From cb3e92e75b1492bc1434431e975d1acf145c84fc Mon Sep 17 00:00:00 2001 From: mick grierson Date: Sun, 26 Jul 2015 18:19:24 +0100 Subject: This branch is crazy leave it alone. --- main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index ac4c7e4..e14a984 100755 --- a/main.cpp +++ b/main.cpp @@ -50,7 +50,7 @@ void play(double *output) {//this is where the magic happens. Very slow magic. bassout=filter2.lores(envelope.adsr(bass.saw(currentPitch*0.5)+sound.pulse(currentPitch*0.5,mod.phasor(1)),1,0.9995, 0.25, 0.9995, 1, trigger),9250,2);//new, simple ADSR. leadout=filter.lores(leadenvelope.ar(lead2.saw(leadPitch*4)+lead.pulse(leadPitch+(leadmod.sinebuf(1.9)*1.5), 0.6), 0.00005, 0.999975, 50000, trigger2),5900,10);//leadline - delayout=(leadout+(delay.dl(leadout, 14000, 0.8)*0.5))/2;//add some delay + delayout=(leadout+(delay.dl(leadout, 14000, 0.93)*0.5))/2;//add some delay if(trigger!=0)trigger=0;//set the trigger to off if you want it to trigger immediately next time. -- cgit v1.3 From 68ee8eba9c3834604d220f4bf56e7e9d506a77a7 Mon Sep 17 00:00:00 2001 From: mick grierson Date: Sun, 26 Jul 2015 23:57:38 +0100 Subject: Some initial changes that are long overdue part 1 --- libs/fft.cpp | 584 +++++++++++++++++++++ libs/fft.h | 79 +++ libs/maxiAtoms.cpp | 219 ++++++++ libs/maxiAtoms.h | 91 ++++ libs/maxiBark.cpp | 10 + libs/maxiBark.h | 133 +++++ libs/maxiFFT.cpp | 290 ++++++++++ libs/maxiFFT.h | 128 +++++ libs/maxiGrains.cpp | 6 + libs/maxiGrains.h | 467 ++++++++++++++++ libs/maxiMFCC.cpp | 79 +++ libs/maxiMFCC.h | 205 ++++++++ libs/maxim.h | 108 ++++ libs/sineTable.h | 15 + main.cpp | 69 +-- maximilian.cpp | 218 ++++++-- maximilian.h | 20 +- maximilianTest_10.8.xcodeproj/project.pbxproj | 26 +- .../UserInterfaceState.xcuserstate | Bin 36468 -> 57969 bytes maximilian_examples/14.monosynth.cpp | 72 +-- maximilian_examples/17.Compressor.cpp | 37 +- maximilian_examples/20.additive.cpp | 26 - stb_vorbis.c | 8 +- 23 files changed, 2693 insertions(+), 197 deletions(-) create mode 100644 libs/fft.cpp create mode 100644 libs/fft.h create mode 100644 libs/maxiAtoms.cpp create mode 100644 libs/maxiAtoms.h create mode 100644 libs/maxiBark.cpp create mode 100644 libs/maxiBark.h create mode 100644 libs/maxiFFT.cpp create mode 100644 libs/maxiFFT.h create mode 100644 libs/maxiGrains.cpp create mode 100644 libs/maxiGrains.h create mode 100644 libs/maxiMFCC.cpp create mode 100644 libs/maxiMFCC.h create mode 100644 libs/maxim.h create mode 100644 libs/sineTable.h delete mode 100644 maximilian_examples/20.additive.cpp (limited to 'main.cpp') diff --git a/libs/fft.cpp b/libs/fft.cpp new file mode 100644 index 0000000..85a7aa9 --- /dev/null +++ b/libs/fft.cpp @@ -0,0 +1,584 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ +/* + + fft.cpp + + Based on K+R Numerical recipes in C and some other stuff hacked about. + + */ + +#include "fft.h" +#include +#include +#include +#include + +int **gFFTBitTable = NULL; +const int MaxFastBits = 16; + +int IsPowerOfTwo(int x) +{ + if (x < 2) + return false; + + if (x & (x - 1)) + return false; + + return true; +} + +int NumberOfBitsNeeded(int PowerOfTwo) +{ + int i; + + if (PowerOfTwo < 2) { + fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); + exit(1); + } + + for (i = 0;; i++) + if (PowerOfTwo & (1 << i)) + return i; +} + +int ReverseBits(int index, int NumBits) +{ + int i, rev; + + for (i = rev = 0; i < NumBits; i++) { + rev = (rev << 1) | (index & 1); + index >>= 1; + } + + return rev; +} + +void InitFFT() +{ + // gFFTBitTable = new int *[MaxFastBits]; + //use malloc for 16 byte alignment + gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); + + int len = 2; + for (int b = 1; b <= MaxFastBits; b++) { + + // gFFTBitTable[b - 1] = new int[len]; + gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); + + for (int i = 0; i < len; i++) + gFFTBitTable[b - 1][i] = ReverseBits(i, b); + + len <<= 1; + } +} + +inline int FastReverseBits(int i, int NumBits) +{ + if (NumBits <= MaxFastBits) + return gFFTBitTable[NumBits - 1][i]; + else + return ReverseBits(i, NumBits); +} + +/* + * Complex Fast Fourier Transform + */ + +void FFT(int NumSamples, + bool InverseTransform, + float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) +{ + int NumBits; /* Number of bits needed to store indices */ + int i, j, k, n; + int BlockSize, BlockEnd; + + double angle_numerator = 2.0 * M_PI; + float tr, ti; /* temp real, temp imaginary */ + + if (!IsPowerOfTwo(NumSamples)) { + fprintf(stderr, "%d is not a power of two\n", NumSamples); + exit(1); + } + + if (!gFFTBitTable) + InitFFT(); + + if (InverseTransform) + angle_numerator = -angle_numerator; + + NumBits = NumberOfBitsNeeded(NumSamples); + + /* + ** Do simultaneous data copy and bit-reversal ordering into outputs... + */ + + for (i = 0; i < NumSamples; i++) { + j = FastReverseBits(i, NumBits); + RealOut[j] = RealIn[i]; + ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; + } + + /* + ** Do the FFT itself... + */ + + BlockEnd = 1; + for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { + + double delta_angle = angle_numerator / (double) BlockSize; + + float sm2 = sin(-2 * delta_angle); + float sm1 = sin(-delta_angle); + float cm2 = cos(-2 * delta_angle); + float cm1 = cos(-delta_angle); + float w = 2 * cm1; + float ar0, ar1, ar2, ai0, ai1, ai2; + + for (i = 0; i < NumSamples; i += BlockSize) { + ar2 = cm2; + ar1 = cm1; + + ai2 = sm2; + ai1 = sm1; + + for (j = i, n = 0; n < BlockEnd; j++, n++) { + ar0 = w * ar1 - ar2; + ar2 = ar1; + ar1 = ar0; + + ai0 = w * ai1 - ai2; + ai2 = ai1; + ai1 = ai0; + + k = j + BlockEnd; + tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; + ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; + + RealOut[k] = RealOut[j] - tr; + ImagOut[k] = ImagOut[j] - ti; + + RealOut[j] += tr; + ImagOut[j] += ti; + } + } + + BlockEnd = BlockSize; + } + + /* + ** Need to normalize if inverse transform... + */ + + if (InverseTransform) { + float denom = (float) NumSamples; + + for (i = 0; i < NumSamples; i++) { + RealOut[i] /= denom; + ImagOut[i] /= denom; + } + } +} + +/* + * Real Fast Fourier Transform + * + * This function was based on the code in Numerical Recipes in C. + * In Num. Rec., the inner loop is based on a single 1-based array + * of interleaved real and imaginary numbers. Because we have two + * separate zero-based arrays, our indices are quite different. + * Here is the correspondence between Num. Rec. indices and our indices: + * + * i1 <-> real[i] + * i2 <-> imag[i] + * i3 <-> real[n/2-i] + * i4 <-> imag[n/2-i] + */ + +void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) +{ + int Half = NumSamples / 2; + int i; + + float theta = M_PI / Half; + + float *tmpReal = (float*) malloc(Half * sizeof(float)); + float *tmpImag = (float*) malloc(Half * sizeof(float)); + + for (i = 0; i < Half; i++) { + tmpReal[i] = RealIn[2 * i]; + tmpImag[i] = RealIn[2 * i + 1]; + } + + FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); + + float wtemp = float (sin(0.5 * theta)); + + float wpr = -2.0 * wtemp * wtemp; + float wpi = float (sin(theta)); + float wr = 1.0 + wpr; + float wi = wpi; + + int i3; + + float h1r, h1i, h2r, h2i; + + for (i = 1; i < Half / 2; i++) { + + i3 = Half - i; + + h1r = 0.5 * (RealOut[i] + RealOut[i3]); + h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); + h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); + h2i = -0.5 * (RealOut[i] - RealOut[i3]); + + RealOut[i] = h1r + wr * h2r - wi * h2i; + ImagOut[i] = h1i + wr * h2i + wi * h2r; + RealOut[i3] = h1r - wr * h2r + wi * h2i; + ImagOut[i3] = -h1i + wr * h2i + wi * h2r; + + wr = (wtemp = wr) * wpr - wi * wpi + wr; + wi = wi * wpr + wtemp * wpi + wi; + } + + RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; + ImagOut[0] = h1r - ImagOut[0]; + + free(tmpReal); + free(tmpImag); +} + +/* + * PowerSpectrum + * + * This function computes the same as RealFFT, above, but + * adds the squares of the real and imaginary part of each + * coefficient, extracting the power and throwing away the + * phase. + * + * For speed, it does not call RealFFT, but duplicates some + * of its code. + */ + +void PowerSpectrum(int NumSamples, float *In, float *Out) +{ + int Half = NumSamples / 2; + int i; + + float theta = M_PI / Half; + + float *tmpReal = new float[Half]; + float *tmpImag = new float[Half]; + float *RealOut = new float[Half]; + float *ImagOut = new float[Half]; + + for (i = 0; i < Half; i++) { + tmpReal[i] = In[2 * i]; + tmpImag[i] = In[2 * i + 1]; + } + + FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); + + float wtemp = float (sin(0.5 * theta)); + + float wpr = -2.0 * wtemp * wtemp; + float wpi = float (sin(theta)); + float wr = 1.0 + wpr; + float wi = wpi; + + int i3; + + float h1r, h1i, h2r, h2i, rt, it; + //float total=0; + + for (i = 1; i < Half / 2; i++) { + + i3 = Half - i; + + h1r = 0.5 * (RealOut[i] + RealOut[i3]); + h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); + h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); + h2i = -0.5 * (RealOut[i] - RealOut[i3]); + + rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); + it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); + + Out[i] = rt * rt + it * it; + + rt = h1r - wr * h2r + wi * h2i; + it = -h1i + wr * h2i + wi * h2r; + + Out[i3] = rt * rt + it * it; + + wr = (wtemp = wr) * wpr - wi * wpi + wr; + wi = wi * wpr + wtemp * wpi + wi; + } + //printf("total = %f\n",total); + rt = (h1r = RealOut[0]) + ImagOut[0]; + it = h1r - ImagOut[0]; + Out[0] = rt * rt + it * it; + + rt = RealOut[Half / 2]; + it = ImagOut[Half / 2]; + Out[Half / 2] = rt * rt + it * it; + + delete[]tmpReal; + delete[]tmpImag; + delete[]RealOut; + delete[]ImagOut; +} + +void WindowFunc(int whichFunction, int NumSamples, float *in) +{ + int i; + + if (whichFunction == 1) { + // Bartlett (triangular) window + for (i = 0; i < NumSamples / 2; i++) { + in[i] *= (i / (float) (NumSamples / 2)); + in[i + (NumSamples / 2)] *= + (1.0 - (i / (float) (NumSamples / 2))); + } + } + + if (whichFunction == 2) { + // Hamming + for (i = 0; i < NumSamples; i++) + in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); + } + + if (whichFunction == 3) { + // Hanning + for (i = 0; i < NumSamples; i++) + in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); + } +} + +void fft::genWindow(int whichFunction, int NumSamples, float *window) +{ + int i; + + if (whichFunction == 1) { + // Bartlett (triangular) window + for (i = 0; i < NumSamples / 2; i++) { + window[i] = (i / (float) (NumSamples / 2)); + window[i + (NumSamples / 2)] = + (1.0 - (i / (float) (NumSamples / 2))); + } + } + + if (whichFunction == 2) { + // Hamming + for (i = 0; i < NumSamples; i++) + window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); + } + + if (whichFunction == 3) { + // Hanning + for (i = 0; i < NumSamples; i++) + window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); + } +} + +/* constructor */ +fft::fft(int fftSize) { + n = fftSize; + half = fftSize / 2; + //use malloc for 16 byte alignment + in_real = (float *) malloc(n * sizeof(float)); + in_img = (float *) malloc(n * sizeof(float)); + out_real = (float *) malloc(n * sizeof(float)); + out_img = (float *) malloc(n * sizeof(float)); + +#ifdef __APPLE_CC__ + log2n = log2(n); + A.realp = (float *) malloc(half * sizeof(float)); + A.imagp = (float *) malloc(half * sizeof(float)); + setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); + if (setupReal == NULL) { + printf("\nFFT_Setup failed to allocate enough memory for" + "the real FFT.\n"); + } + polar = (float *) malloc(n * sizeof(float)); +#endif +} + +/* destructor */ +fft::~fft() { + delete[] in_real, out_real, in_img, out_img; +#ifdef __APPLE_CC__ + vDSP_destroy_fftsetup(setupReal); + delete[] A.realp; + delete[] A.imagp; + delete[] polar; +#endif + +} + +/* Calculate the power spectrum */ +void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { + int i; + + //windowing + for (i = 0; i < n; i++) { + in_real[i] = data[start + i] * window[i]; + } + + + RealFFT(n, in_real, out_real, out_img); + + for (i = 0; i < half; i++) { + /* compute power */ + float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; + /* compute magnitude and phase */ + magnitude[i] = sqrt(power); + phase[i] = atan2(out_img[i],out_real[i]); + + // if (magnitude[i] < 0.000001){ // less than 0.1 nV + // magnitude[i] = 0; // out of range + // } else { + // magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale + // } + } + +} + +void fft::convToDB(float *in, float *out) { + for (int i = 0; i < half; i++) { + if (in[i] < 0.000001){ // less than 0.1 nV + out[i] = 0; // out of range + } else { + out[i] = 20.0*log10(in[i] + 1); // get to to db scale + } + } +} + + +#ifdef __APPLE_CC__ + +/* Calculate the power spectrum */ +void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { + + uint32_t i; + + //multiply by window + vDSP_vmul(data, 1, window, 1, in_real, 1, n); + + //convert to split complex format - evens and odds + vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); + + + //calc fft + vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); + + //scale by 2 (see vDSP docs) + static float scale=0.5 ; + vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); + vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); + + //back to split complex format + vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); + + //convert to polar + vDSP_polar(out_real, 2, polar, 2, half); + + for (i = 0; i < half; i++) { + magnitude[i]=polar[2*i]; + phase[i]=polar[2*i + 1]; + } + + + +} + +void fft::convToDB_vdsp(float *in, float *out) { + float ref = 1.0; + vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); + //get rid of any -infs + float vmin=0.0; + float vmax=9999999.0; + vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); +} + +#endif + +void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { + int i; + + /* get real and imag part */ + for (i = 0; i < half; i++) { + // float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; + // in_real[i] = mag *cos(phase[i]); + // in_img[i] = mag *sin(phase[i]); + in_real[i] = magnitude[i] *cos(phase[i]); + in_img[i] = magnitude[i] *sin(phase[i]); + } + + /* zero negative frequencies */ + memset(in_real+half, half, 0.0); + memset(in_img+half, half, 0.0); + + FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform + + for (i = 0; i < n; i++) { + finalOut[start + i] += out_real[i] * window[i] + ; + } + +} + + +#ifdef __APPLE_CC__ +void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { + uint32_t i; + + for (i = 0; i < half; i++) { + // polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; + polar[2*i] = magnitude[i]; + polar[2*i + 1] = phase[i]; + } + + vDSP_rect(polar, 2, in_real, 2, half); + + vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); + vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); + vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); + + float scale = 1./n; + vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); + + //multiply by window + vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); + +} + +#endif diff --git a/libs/fft.h b/libs/fft.h new file mode 100644 index 0000000..7f0e688 --- /dev/null +++ b/libs/fft.h @@ -0,0 +1,79 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _FFT +#define _FFT + +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif + +#ifdef __APPLE_CC__ +#include +#endif + + + +class fft { + +public: + + fft(int fftSize); + ~fft(); + + int n; //fftSize + int half; //halfFFTSize + + float *in_real, *out_real, *in_img, *out_img; + +#ifdef __APPLE_CC__ + int log2n; //log2(n); + FFTSetup setupReal; + COMPLEX_SPLIT A; + float *polar; + void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); + void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); + void convToDB_vdsp(float *in, float *out); +#endif + + /* Calculate the power spectrum */ + void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); + /* ... the inverse */ + void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); + void convToDB(float *in, float *out); + + static void genWindow(int whichFunction, int NumSamples, float *window); + +}; + + +#endif diff --git a/libs/maxiAtoms.cpp b/libs/maxiAtoms.cpp new file mode 100644 index 0000000..14f5ea8 --- /dev/null +++ b/libs/maxiAtoms.cpp @@ -0,0 +1,219 @@ +/* + * gabor.cpp + * mp + * + * Created by Chris on 01/11/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#include "maxiAtoms.h" +#include +#include +#include "sineTable.h" +#ifdef __APPLE_CC__ +#include +#warning ofxMaxim: Please link against the accelerate framework. +#endif + +//#include "tinyxml.h" + +float sineBuffer2[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 +}; + + +maxiGrainWindowCache maxiCollider::envCache = maxiGrainWindowCache(); + +inline void maxiCollider::createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned length, + float startPhase, const float kurtotis, const float amp) { + atom.resize(length); + flArr sine; + sine.resize(length); + +// float gausDivisor = (-2.0 * kurtotis * kurtotis); +// float phase =-1.0; + + double *env = maxiCollider::envCache.getWindow(length); +#ifdef __APPLE_CC__ + vDSP_vdpsp(env, 1, &atom[0], 1, length); +#else + for(unsigned i=0; i < length; i++) { + atom[i] = env[i]; + } +#endif + +//#ifdef __APPLE_CC__ +// vDSP_vramp(&phase, &inc, &atom[0], 1, length); +// vDSP_vsq(&atom[0], 1, &atom[0], 1, length); +// vDSP_vsdiv(&atom[0], 1, &gausDivisor, &atom[0], 1, length); +// for(uint i=0; i < length; i++) atom[i] = exp(atom[i]); +//#else +// for(uint i=0; i < length; i++) { +// //gaussian envelope +// atom[i] = exp((phase* phase) / gausDivisor); +// phase += inc; +// } +//#endif + + float cycleLen = sampleRate / freq; + float maxPhase = length / cycleLen; + float inc = 1.0 / length; + + +#ifdef __APPLE_CC__ + flArr interpConstants; + interpConstants.resize(length); + float phase = 0.0; + vDSP_vramp(&phase, &inc, &interpConstants[0], 1, length); + vDSP_vsmsa(&interpConstants[0], 1, &maxPhase, &startPhase, &interpConstants[0], 1, length); + float waveTableLength = 512; + vDSP_vsmul(&interpConstants[0], 1, &waveTableLength, &interpConstants[0], 1, length); + for(uint i=0; i < length; i++) { + interpConstants[i] = fmod(interpConstants[i], 512.0f); + } + vDSP_vlint(sineBuffer2, &interpConstants[0], 1, &sine[0], 1, length, 514); + vDSP_vmul(&atom[0], 1, &sine[0], 1, &atom[0], 1, length); + vDSP_vsmul(&atom[0], 1, &, &atom[0], 1, length); +#else + maxPhase *= TWOPI; + for(unsigned int i=0; i < length; i++) { + //multiply by sinewave + float x = inc * i; + sine[i] = sin((x * maxPhase) + startPhase); + } + for(unsigned int i=0; i < length; i++) { + atom[i] *= sine[i]; + atom[i] *= amp; + } +#endif +} + + + +maxiAccelerator::maxiAccelerator() { + sampleIdx = 0; +} + +void maxiAccelerator::addAtom(flArr &atom, unsigned int offset) { + queuedAtom quAtom; + quAtom.atom = atom; + quAtom.startTime = sampleIdx + offset; + quAtom.pos = 0; + atomQueue.push_back(quAtom); +} + +void maxiAccelerator::fillNextBuffer(float *buffer, unsigned int bufferLength) { + queuedAtomList::iterator it = atomQueue.begin(); + while(it != atomQueue.end()) { + int atomStart = (*it).startTime + (*it).pos; + //include in this frame? + if (atomStart >= sampleIdx && atomStart < sampleIdx + bufferLength) { + //copy into buffer + int renderLength = min((int)bufferLength,(int)( (*it).atom.size() - (*it).pos)); + for(int i=0; i < renderLength; i++) { + buffer[i] += (*it).atom[i + (*it).pos]; + } + (*it).pos += renderLength; + } + if ((*it).pos == (*it).atom.size()) { + it = atomQueue.erase(it); + }else { + it++; + } + + } + sampleIdx += bufferLength; +} + +//bool maxiAtomBook::loadMPTKXmlBook(string filename, maxiAtomBook &book) { +// bool ok; +// ifstream f; +// f.open(filename.c_str()); +// if (f.fail()) { +// cout << "I couldn't open " << filename << endl; +// ok = false; +// }else { +// cout << "Reading " << filename << endl; +// const int lineBufferSize = 1024; +// char lineBuffer[lineBufferSize]; +// string line(""); +// //get dictionary definition xml +// while("" != line) { +// f.getline(lineBuffer, lineBufferSize); +// line = lineBuffer; +// } +// //this should be "txt" +// f.getline(lineBuffer, lineBufferSize); +// //get rest of data into one string +// string xmlData; +// while(!f.eof()) { +// f.getline(lineBuffer, lineBufferSize); +// xmlData.append(lineBuffer); +// } +// TiXmlDocument doc; +// doc.Parse(xmlData.c_str()); +// cout << "Parsed xml, processing atoms...\n"; +// TiXmlHandle docHandle = TiXmlHandle(&doc); +// +// TiXmlElement *root = docHandle.FirstChildElement("book").ToElement(); +// TiXmlAttribute *nAtomsAtt = root->FirstAttribute(); +// cout << nAtomsAtt->Name() << ", " << nAtomsAtt->Value() << endl; +// int nAtoms = atoi(nAtomsAtt->Value()); +// TiXmlAttribute *numSamplesAtt = nAtomsAtt->Next()->Next(); +// cout << numSamplesAtt->Name() << ", " << numSamplesAtt->Value() << endl; +// book.numSamples = atoi(numSamplesAtt->Value()); +// TiXmlAttribute *sampleRateAtt = numSamplesAtt->Next(); +// cout << sampleRateAtt->Name() << ", " << sampleRateAtt->Value() << endl; +// book.sampleRate = atoi(sampleRateAtt->Value()); +// +// for(int atomIdx=0; atomIdx < nAtoms; atomIdx++) { +// maxiGaborAtom *newAtom = new maxiGaborAtom(); +// newAtom->atomType = GABOR; +// TiXmlElement *atom = docHandle.FirstChildElement("book").ChildElement("atom", atomIdx).ToElement(); +// TiXmlElement *node = atom->FirstChildElement()->NextSibling()->ToElement(); +// newAtom->position = atoi(node->FirstChildElement("p")->FirstChild()->ToText()->Value()); +// newAtom->length = atoi(node->FirstChildElement("l")->FirstChild()->ToText()->Value()); +// node = node->NextSibling()->ToElement(); +// newAtom->amp = atof(node->FirstChild()->ToText()->Value()); +// node = node->NextSibling()->NextSibling()->ToElement(); +// newAtom->frequency = atof(node->FirstChild()->ToText()->Value()); +// node = node->NextSibling()->NextSibling()->ToElement(); +// newAtom->phase = atof(node->FirstChild()->ToText()->Value()); +// //cout << "Atom: pos: " << newAtom->position << ", length: " << newAtom->length << ", amp: " << newAtom->amp << ", freq: " << newAtom->frequency << ", phase: " << newAtom->phase << endl; +// book.atoms.push_back(newAtom); +// } +// +// } +// return ok; +//} + +maxiAtomBook::~maxiAtomBook() { + for(int i=0; i < atoms.size(); i++) delete atoms[i]; +} + +maxiAtomBookPlayer::maxiAtomBookPlayer() { + atomIdx = 0; +} + +void maxiAtomBookPlayer::play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize) { + //positions + long idx = atomStream.getSampleIdx(); + int loopedSamplePos = idx % book.numSamples; + + //reset loop? + if (loopedSamplePos < bufferSize) + atomIdx = 0; + + if (atomIdx < book.atoms.size()) { + maxiGaborAtom *atom = (maxiGaborAtom*) book.atoms[atomIdx]; + while(atom->position < (idx + bufferSize) % book.numSamples) { + flArr atomData; + maxiCollider::createGabor(atomData, maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 40.0); + atomStream.addAtom(atomData, loopedSamplePos - atom->position); + atomIdx++; + if (book.atoms.size() == atomIdx) + break; + atom = (maxiGaborAtom*) book.atoms[atomIdx]; + } + } +} diff --git a/libs/maxiAtoms.h b/libs/maxiAtoms.h new file mode 100644 index 0000000..1782d55 --- /dev/null +++ b/libs/maxiAtoms.h @@ -0,0 +1,91 @@ +/* + * gabor.h + * mp + * + * Created by Chris on 01/11/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ + + +#include +#include "maximilian.h" +#include +#include +#include "maxiGrains.h" + + +using namespace std; + +typedef vector flArr; + +enum maxiAtomTypes { + GABOR +}; + +struct maxiAtom { + maxiAtomTypes atomType; + float length; + float position; + float amp; + static bool atomSortPositionAsc(maxiAtom* a, maxiAtom* b) {return a->position < b->position;} +}; + +struct maxiGaborAtom : maxiAtom { + float frequency; + float phase; +}; + +//create atoms +class maxiCollider { +public: + static inline void createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned int length, + float phase, const float kurtotis, const float amp); + static maxiGrainWindowCache envCache; +}; + + +//queue atoms into an audio stream +class maxiAccelerator { +public: + maxiAccelerator(); + void addAtom(flArr &atom, unsigned int offset=0); + void fillNextBuffer(float *buffer, unsigned int bufferLength); + inline long getSampleIdx(){return sampleIdx;} +private: + long sampleIdx; + struct queuedAtom { + flArr atom; + long startTime; + unsigned int pos; + }; + typedef list queuedAtomList; + queuedAtomList atomQueue; +}; + +/*load a book in MPTK XML format + http://mptk.irisa.fr/ + + how to create a book: + mpd -n 1000 -R 10 -d ./dic_gabor_two_scales.xml glockenspiel.wav book.xml +*/ +class maxiAtomBook { +public: + ~maxiAtomBook(); + typedef vector maxiAtomBookData; + unsigned int numSamples; + unsigned int sampleRate; + maxiAtomBookData atoms; + //commented out for now, need to resolve tinyxml linker issues - we need tinyxml in the distrib, but it clashes if you also import ofxXmlSettings +// static bool loadMPTKXmlBook(string filename, maxiAtomBook &book); + +}; + +class maxiAtomBookPlayer { +public: + maxiAtomBookPlayer(); + void play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize); +private: + unsigned int atomIdx; +}; + diff --git a/libs/maxiBark.cpp b/libs/maxiBark.cpp new file mode 100644 index 0000000..634a779 --- /dev/null +++ b/libs/maxiBark.cpp @@ -0,0 +1,10 @@ +/* + * maxiBark.cpp + * Bark scale loudness + * + * Created by Jakub on 01/12/2014. + * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#include "maxiBark.h" diff --git a/libs/maxiBark.h b/libs/maxiBark.h new file mode 100644 index 0000000..dbb4a86 --- /dev/null +++ b/libs/maxiBark.h @@ -0,0 +1,133 @@ +/* + * maxiBark.cpp + * Bark scale loudness + * + * Created by Jakub on 01/12/2014. + * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#pragma once +#pragma pack(16) + +#include "maxiFFT.h" +#include +#include +//#include +#include +#ifdef __APPLE_CC__ +#include +#endif + +using namespace std; + +//convert to Bark scale (Zwicker, 1961) +inline double hzToBark(double hz) { + return 13.0*atan(hz/1315.8) + 3.5*atan(pow((hz/7518.0),2)); +} + +inline double binToHz(unsigned int bin, unsigned int sR, unsigned int bS) { + return bin*sR/bS; +} + +template + +class maxiBarkScaleAnalyser { +public: + int NUM_BARK_BANDS; + + void setup(unsigned int sR, unsigned int bS) { + this->sampleRate = sR; + this->bufferSize = bS; + specSize = bS/2; + NUM_BARK_BANDS = 24; + for (int i=0; i currentBandEnd) { + bbLimits[currentBand] = i; + currentBand++; + currentBandEnd = currentBand*barkScale[specSize-1]/NUM_BARK_BANDS; + } + } + + bbLimits[NUM_BARK_BANDS] = specSize-1; + }; + + double* specificLoudness(float* normalisedSpectrum) { + for (int i = 0; i < NUM_BARK_BANDS; i++){ + double sum = 0; + for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { + + sum += normalisedSpectrum[j]; + } + specific[i] = pow(sum,0.23); + } + + return specific; + }; + + double* relativeLoudness(float* normalisedSpectrum) { + for (int i = 0; i < NUM_BARK_BANDS; i++){ + double sum = 0; + for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { + + sum += normalisedSpectrum[j]; + } + specific[i] = pow(sum,0.23); + } + + double max = 0; + for (int i = 0; i < NUM_BARK_BANDS; i++){ + if (specific[i] > max) max = specific[i]; + } + + for (int i = 0; i < NUM_BARK_BANDS; i++){ + relative[i] = specific[i]/max; + } + + return relative; + }; + + double* totalLoudness(float* normalisedSpectrum) { + for (int i = 0; i < NUM_BARK_BANDS; i++){ + double sum = 0; + for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { + + sum += normalisedSpectrum[j]; + } + specific[i] = pow(sum,0.23); + } + + total[0] = 0; + + for (int i = 0; i < 24; i++){ + total[0] += specific[i]; + } + + return total; + }; + +private: + int bbLimits[24]; + unsigned int sampleRate, bufferSize, specSize; + double barkScale[2048]; + double specific[24]; + double relative[24]; + double total[1]; + +}; + +typedef maxiBarkScaleAnalyser maxiBark; + + + + + + diff --git a/libs/maxiFFT.cpp b/libs/maxiFFT.cpp new file mode 100644 index 0000000..c648992 --- /dev/null +++ b/libs/maxiFFT.cpp @@ -0,0 +1,290 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "maxiFFT.h" +#include "maximilian.h" +#include +#include "math.h" + +using namespace std; + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//F F T +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { + _fft = new fft(_fftSize); + fftSize = _fftSize; + windowSize = _windowSize; + bins = fftSize / 2; + hopSize = _hopSize; + buffer = (float *) malloc(fftSize * sizeof(float)); + magnitudes = (float *) malloc(bins * sizeof(float)); + magnitudesDB = (float *) malloc(bins * sizeof(float)); + phases = (float *) malloc(bins * sizeof(float)); + avgPower = new float; + memset(buffer, 0, fftSize * sizeof(float)); + memset(magnitudes, 0, bins * sizeof(float)); + memset(magnitudesDB, 0, bins * sizeof(float)); + memset(phases, 0, bins * sizeof(float)); + *avgPower = 0; + pos =windowSize - hopSize; + newFFT = 0; + window = (float*) malloc(fftSize * sizeof(float)); + memset(window, 0, fftSize * sizeof(float)); + fft::genWindow(3, windowSize, window); +} + +bool maxiFFT::process(float value) { + //add value to buffer at current pos + buffer[pos++] = value; + //if buffer full, run fft + newFFT = pos == windowSize; + if (newFFT) { +#if defined(__APPLE_CC__) && !defined(_NO_VDSP) + _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); +#else + _fft->powerSpectrum(0, buffer, window, magnitudes, phases); +#endif + //shift buffer back by one hop size + memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); + //set the new data to zero (is this necessary?, it will get overwritten) + memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); + //reset pos to start of hop + pos= windowSize - hopSize; + } + return newFFT; +} + +float* maxiFFT::magsToDB() { +#if defined(__APPLE_CC__) && !defined(_NO_VDSP) + _fft->convToDB_vdsp(magnitudes, magnitudesDB); +#else + _fft->convToDB(magnitudes, magnitudesDB); +#endif + return magnitudesDB; +} + +float maxiFFT::spectralFlatness() { + float geometricMean=0, arithmaticMean=0; + for(int i=0; i < bins; i++) { + if (magnitudes[i] != 0) + geometricMean += logf(magnitudes[i]); + arithmaticMean += magnitudes[i]; + } + geometricMean = expf(geometricMean / (float)bins); + arithmaticMean /= (float)bins; + return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; +} + +float maxiFFT::spectralCentroid() { + float x=0, y=0; + for(int i=0; i < bins; i++) { + x += fabs(magnitudes[i]) * i; + y += fabs(magnitudes[i]); + } + return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; +} + + + +maxiFFT::~maxiFFT() { + delete _fft; + if (buffer) + delete[] buffer,magnitudes,phases,window, avgPower, magnitudesDB; +} + + + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//I N V E R S E F F T +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { + _fft = new fft(_fftSize); + fftSize = _fftSize; + windowSize = _windowSize; + bins = fftSize / 2; + hopSize = _hopSize; + buffer = (float *) malloc(fftSize * sizeof(float)); + ifftOut = (float *) malloc(fftSize * sizeof(float)); + memset(buffer, 0, windowSize * sizeof(float)); + pos =0; + window = (float*) malloc(fftSize * sizeof(float)); + memset(window, 0, fftSize * sizeof(float)); + fft::genWindow(3, windowSize, window); +} + +float maxiIFFT::process(float *magnitudes, float *phases) { + if (0==pos) { + //do ifft + memset(ifftOut, 0, fftSize * sizeof(float)); +#if defined(__APPLE_CC__) && !defined(_NO_VDSP) + _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); +#else + _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); +#endif + //add to output + //shift back by one hop + memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); + //clear the end chunk + memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); + //merge new output + for(int i=0; i < fftSize; i++) { + buffer[i] += ifftOut[i]; + } + } + + nextValue = buffer[pos]; + //limit the values, this alg seems to spike occasionally (and break the audio drivers) + if (nextValue > 0.99999f) nextValue = 0.99999f; + if (nextValue < -0.99999f) nextValue = -0.99999f; + if (hopSize == ++pos ) { + pos=0; + } + + return nextValue; +} + +maxiIFFT::~maxiIFFT() { + delete _fft; + delete[] ifftOut, buffer, window; +}; + + + + + + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//O C T A V E A N A L Y S E R +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + +void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ + + samplingRate = samplingRate; + nSpectrum = nBandsInTheFFT; + spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); + nAverages = nBandsInTheFFT; + // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc + if (nAveragesPerOctave==0) // um, wtf? + nAveragesPerOctave = 1; +// nAveragesPerOctave = nAveragesPerOctave; + averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); + // this isn't currently configurable (used once here then no effect), but here's some reasoning: + // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 + // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 + // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 + // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) + // but don't go much smaller unless you have a huge fft window size (see below for more why) + // keep in mind, if you change it, that the number of actual bands may change +/-1, and + // for some values, the last averaging band may not be very useful (may extend above nyquist) + firstOctaveFrequency = 55.0f; + // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. + // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. + // with more spectrum bins, you can better map into the averaging bins (especially at low + // frequencies) or use more averaging bins per octave. with an fft window size of 2048, + // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave + // analysis. if you don't have enough spectrum bins to map adequately into averaging bins + // at the requested number per octave then you'll end up with "empty" averaging bins, where + // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, + // either increase fft buffer size, or decrease number of averages per octave, etc) + spe2avg = new int[nSpectrum]; + int avgidx = 0; + float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin + // we're looking for the "top" of the first spectrum bin, and i'm just sort of + // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) + // ... either way it's probably close enough for these purposes + float spectrumFreq = spectrumFrequencySpan; + for (int speidx=0; speidx < nSpectrum; speidx++) { + while (spectrumFreq > averageFreq) { + avgidx++; + averageFreq *= averageFrequencyIncrement; + } + spe2avg[speidx] = avgidx; + spectrumFreq += spectrumFrequencySpan; + } + nAverages = avgidx; + averages = new float[nAverages]; + peaks = new float[nAverages]; + peakHoldTimes = new int[nAverages]; + peakHoldTime = 0; // arbitrary + peakDecayRate = 0.9f; // arbitrary + linearEQIntercept = 1.0f; // unity -- no eq by default + linearEQSlope = 0.0f; // unity -- no eq by default +} + +void maxiFFTOctaveAnalyzer::calculate(float * fftData){ + + int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average + float sum = 0.0f; // running total of spectrum data + int count = 0; // count of spectrums accumulated (for averaging) + for (int speidx=0; speidx < nSpectrum; speidx++) { + count++; + sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); + int avgidx = spe2avg[speidx]; + if (avgidx != last_avgidx) { + + for (int j = last_avgidx; j < avgidx; j++){ + averages[j] = sum / (float)(count); + } + count = 0; + sum = 0.0f; + } + last_avgidx = avgidx; + } + // the last average was probably not calculated... + if ((count > 0) && (last_avgidx < nAverages)){ + averages[last_avgidx] = sum / (float)(count); + } + + // update the peaks separately + for (int i=0; i < nAverages; i++) { + if (averages[i] >= peaks[i]) { + // save new peak level, also reset the hold timer + peaks[i] = averages[i]; + peakHoldTimes[i] = peakHoldTime; + } else { + // current average does not exceed peak, so hold or decay the peak + if (peakHoldTimes[i] > 0) { + peakHoldTimes[i]--; + } else { + peaks[i] *= peakDecayRate; + } + } + } +} diff --git a/libs/maxiFFT.h b/libs/maxiFFT.h new file mode 100644 index 0000000..d2694f4 --- /dev/null +++ b/libs/maxiFFT.h @@ -0,0 +1,128 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _MAXI_FFT +#define _MAXI_FFT + +//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions + + +#include "fft.h" +#include "stddef.h" + +class maxiFFT { + +public: + maxiFFT(){ + _fft = NULL; + buffer = magnitudes = phases = window = avgPower = NULL; + }; + ~maxiFFT(); + void setup(int fftSize, int windowSize, int hopSize); + bool process(float value); + float* magsToDB(); + float *magnitudes, *phases, *magnitudesDB; + float *avgPower; + int windowSize; + int hopSize; + int bins; + + //features + float spectralFlatness(); + float spectralCentroid(); + +private: + float *buffer, *window; + int pos; + float nextValue; + int fftSize; + fft *_fft; + bool newFFT; + +}; + +class maxiIFFT { + +public: + maxiIFFT(){ + _fft=0; + }; + ~maxiIFFT(); + void setup(int fftSize, int windowSize, int hopSize); + float process(float *magnitudes, float *phases); + +private: + float *ifftOut, *buffer, *window; + int windowSize; + int bins; + int hopSize; + int pos; + float nextValue; + int fftSize; + fft *_fft; +}; + + +class maxiFFTOctaveAnalyzer { + /*based on code by David Bollinger, http://www.davebollinger.com/ + */ +public: + + float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) + int nSpectrum; // number of spectrum bins in the fft + int nAverages; // number of averaging bins here + int nAveragesPerOctave; // number of averages per octave as requested by user + float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz + float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz + float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies + float * averages; // the actual averages + float * peaks; // peaks of the averages, aka "maxAverages" in other implementations + int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 + int peakHoldTime; // how long do we hold peaks? (in fft frames) + float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all + int * spe2avg; // the mapping between spectrum[] indices and averages[] indices + // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale + // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear + // equalizer instead: + float linearEQSlope; // the rate of linear eq + float linearEQIntercept; // the base linear scaling used at the first averaging bin + // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) + // so.. note that clever use of it can also provide a "gain" control of sorts + // (fe: set intercept to 2f and slope to 0f to double gain) + + void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); + + void calculate(float * fftData); + +}; + +#endif \ No newline at end of file diff --git a/libs/maxiGrains.cpp b/libs/maxiGrains.cpp new file mode 100644 index 0000000..951f3b5 --- /dev/null +++ b/libs/maxiGrains.cpp @@ -0,0 +1,6 @@ +#include "maxiGrains.h" + + + + + diff --git a/libs/maxiGrains.h b/libs/maxiGrains.h new file mode 100644 index 0000000..a6b8c52 --- /dev/null +++ b/libs/maxiGrains.h @@ -0,0 +1,467 @@ + + +#ifndef _MAXI_GRAINS_H +#define _MAXI_GRAINS_H +#include "maximilian.h" + +#if defined(__APPLE_CC__) +#include "accelerate/accelerate.h" +//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. +//#define MAXIGRAINFAST +#endif + +#include + +typedef unsigned long ulong; + +//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows + +struct hannWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); + } +}; + +//this window can produce clicks +struct hammingWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); + } +}; + + +struct cosineWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return sin((PI * windowPos) / (windowLength - 1)); + } +}; + +struct rectWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 1; + } +}; + +struct triangleWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); + } +}; + +struct triangleNZWinFunctor { + //non zero end points + inline double operator()(ulong windowLength, ulong windowPos) { + return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); + } +}; + +struct blackmanHarrisWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.35875 - + (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + + (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + + (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); + } +}; + +struct blackmanNutallWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.3635819 - + (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + + (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + + (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); + } +}; + +struct gaussianWinFunctor { + double gausDivisor; + gaussianWinFunctor() { + init(0.3); + } + gaussianWinFunctor(double kurtosis) { + init(kurtosis); + } + void init(double kurtosis) { + gausDivisor = (-2.0 * kurtosis * kurtosis); + } + inline double operator()(ulong windowLength, ulong windowPos) { + double phase = ((windowPos / (double) windowLength) - 0.5) * 2.0; + return exp((phase * phase) / gausDivisor); + } +}; + + +template +class maxiGrainWindowCache { +public: + unsigned int cacheSize; + + maxiGrainWindowCache() { + cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains + cache = (double**)malloc(cacheSize * sizeof(double*)); + for(int i=0; i < cacheSize; i++) { + cache[i] = NULL; + } + } + + ~maxiGrainWindowCache() { + for(int i=0; i < cacheSize; i++) { + if(NULL != cache[i]) { + free(cache[i]); + } + } + free(cache); + } + + double* getWindow(const unsigned int length) { + if (NULL == cache[length]) { + cache[length] = (double*)malloc(length * sizeof(double)); + for(int i=0; i < length; i++) { + cache[length][i] = F()(length, i); + } + } + return cache[length]; + } + +private: + double** cache; + +}; + +class maxiGrainBase { +public: + virtual double play() {} + virtual ~maxiGrainBase() {} + bool finished; +}; + +template +class maxiGrain : public maxiGrainBase { +public: + maxiSample *sample; + double pos; + double dur; + long sampleStartPos; + long sampleIdx; + long sampleDur; + long sampleEndPos; + double freq; + double speed; + double inc; + double frequency; + double* window; + short* buffer; +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + double* grainSamples; +#endif + /* + position between 0.0 and 1.0 + duration in seconds + */ + maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) + { + buffer = sample->temp; + sampleStartPos = sample->length * pos; + sampleDur = dur * (double)sample->mySampleRate; + sampleDurMinusOne = sampleDur - 1; + sampleIdx = 0; + finished = 0; + freq = 1.0 / dur; + sampleEndPos = min(sample->length, sampleStartPos + sampleDur); + frequency = freq * speed; + if (frequency > 0) { + pos = sampleStartPos; + }else{ + pos = sampleEndPos; + } + if (frequency != 0) { + inc = sampleDur/(maxiSettings::sampleRate/frequency); + }else + inc = 0; + window = windowCache->getWindow(sampleDur); + +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + //premake the grain using fast vector functions, and quadratic interpolation + double *sourceData = (double*)malloc(sampleDur * sizeof(double)); + short* buffer = (short *)sample->temp; + //convert sample to double data + vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); + //todo: wraping code + + grainSamples = (double*)malloc(sampleDur * sizeof(double)); + //make list of interpolation indexes + double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); + double interpPos = sampleStartPos; + for(int i=0; i < sampleDur; i++) { + interpIndexes[i] = interpPos - sampleStartPos; + interpPos += fabs(inc); + } + vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); + if (frequency < 0) { + vDSP_vrvrsD(grainSamples,1, sampleDur); + } + static double divFactor = 32767.0; + vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); + vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); + delete sourceData, interpIndexes; +#endif + } + + ~maxiGrain() { +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + delete[] grainSamples; +#endif + } + + inline double play() { + double output = 0.0; + if (!finished) { +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + output = grainSamples[sampleIdx]; +#else + envValue = window[sampleIdx]; + double remainder; + pos += inc; + if (pos >= sample->length) + pos -= sample->length; + else if (pos < 0) + pos += sample->length; + + long posl = floor(pos); + remainder = pos - posl; + long a = posl; + long b = posl+1; + if (b >= sample->length) { + b = 0; + } + output = (double) ((1-remainder) * buffer[a] + + remainder * buffer[b])/32767.0;//linear interpolation + output *= envValue; +#endif + } + sampleIdx++; + if (sampleIdx == sampleDur) finished = true; + return output; + } + +protected: + maxiGrain(); + double envValue; + ulong sampleDurMinusOne; +}; + + +typedef list grainList; + +class maxiGrainPlayer { +public: + grainList grains; + maxiSample *sample; + + maxiGrainPlayer(maxiSample *sample) : sample(sample) { + } + + void addGrain(maxiGrainBase *g) { + grains.push_back(g); + } + + inline double play() { + double total = 0.0; + grainList::iterator it = grains.begin(); + while(it != grains.end()) { + total += (*it)->play(); + if ((*it)->finished) { + delete(*it); + it = grains.erase(it); + }else{ + it++; + } + } + return total; + } +}; + +template +class maxiTimestretch { +protected: + double position; +public: + maxiSample *sample; + maxiGrainPlayer *grainPlayer; + maxiGrainWindowCache windowCache; + double randomOffset; + double looper; + + + + maxiTimestretch(maxiSample *sample) : sample(sample) { + position=0; + looper = 0; + grainPlayer = new maxiGrainPlayer(sample); + randomOffset=0; + } + + ~maxiTimestretch() { + delete grainPlayer; + } + + double getNormalisedPosition() { + return position / (double) sample->length; + } + + double getPosition() { + return position; + } + + void setPosition(double pos) { + position = pos * sample->length; + position = maxiMap::clamp(position, 0, sample->length-1); + } + + + //play at a speed + inline double play(double speed, double grainLength, int overlaps, double posMod=0.0) { + position = position + speed; + looper++; + if (position > sample->length) position-= sample->length; + if (position < 0) position += sample->length; + double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; + if (looper > cycleLength + randomOffset) { + looper -= (cycleLength + randomOffset); + speed = (speed > 0 ? 1 : -1); + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); + grainPlayer->addGrain(g); + randomOffset = rand() % 10; + } + return grainPlayer->play(); + } + + + //provide your own position iteration + inline double play2(double pos, double grainLength, int overlaps) { + looper++; + pos *= sample->length; + if (0 == floor(fmod(looper, grainLength * maxiSettings::sampleRate / overlaps))) { + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); + grainPlayer->addGrain(g); + } + return grainPlayer->play(); + } +}; + +//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position +//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. +//with both high speed values and negative speed values there are some terrific artefacts! + +template +class maxiPitchShift { +public: + double position; + long cycles; + maxiSample *sample; + maxiGrainPlayer *grainPlayer; + maxiGrainWindowCache windowCache; + double randomOffset; + + maxiPitchShift(maxiSample *sample) : sample(sample) { + position=0; + cycles=0; + grainPlayer = new maxiGrainPlayer(sample); + randomOffset=0; + } + + ~maxiPitchShift() { + delete grainPlayer; + } + + double play(double speed, double grainLength, int overlaps, double posMod=0.0) { + position = position + 1; + cycles++; + if (position > sample->length) position=0; + if (position < 0) position = sample->length; + double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; + double cycleMod = fmod(cycles, cycleLength + randomOffset); + if (0 == floor(cycleMod)) { + // cout << cycleMod << endl; + //speed = (speed > 0 ? 1 : -1); + speed = speed - ((cycleMod / cycleLength) * 0.1); + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); + grainPlayer->addGrain(g); + // cout << grainPlayer->grains.size() << endl; + // randomOffset = rand() % 10; + // randomOffset = rand() % 10; + } + return grainPlayer->play(); + } + +}; + +//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. +//the rest is the same. + +template +class maxiPitchStretch { +public: + double position; + maxiSample *sample; + maxiGrainPlayer *grainPlayer; + maxiGrainWindowCache windowCache; + double randomOffset; + long loopStart, loopEnd, loopLength; + double looper; + + maxiPitchStretch(maxiSample *sample) : sample(sample) { + grainPlayer = new maxiGrainPlayer(sample); + randomOffset=0; + loopStart = 0.0; + loopEnd = sample->length; + loopLength =sample->length; + position=0; + looper = 0; + } + + double getNormalisedPosition() { + return position / (double) sample->length; + } + + double getPosition() { + return position; + } + + void setPosition(double pos) { + position = pos * sample->length; + position = maxiMap::clamp(position, 0, sample->length-1); + } + + void setLoopStart(double val) { + loopStart = val * sample->length; + loopLength = loopEnd - loopStart; + } + + void setLoopEnd(double val) { + loopEnd = val * sample->length; + loopLength = loopEnd - loopStart; + } + + ~maxiPitchStretch() { + delete grainPlayer; + } + + inline double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { + position = position + (1 * rate); + looper++; + if (position >= loopEnd) position-= loopLength; + if (position < loopStart) position += loopLength; + double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; + if (looper > cycleLength + randomOffset) { + looper -= (cycleLength + randomOffset); + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); + grainPlayer->addGrain(g); + randomOffset = rand() % 10; + } + return grainPlayer->play(); + } + +}; + +#endif \ No newline at end of file diff --git a/libs/maxiMFCC.cpp b/libs/maxiMFCC.cpp new file mode 100644 index 0000000..f180fb5 --- /dev/null +++ b/libs/maxiMFCC.cpp @@ -0,0 +1,79 @@ +/* + * maxiMFCC.cpp + * mfccs + * + * Created by Chris on 08/03/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#include "maxiMFCC.h" + + +#ifdef __APPLE_CC__ +template <> +void maxiMFCCAnalyser::dct(double *mfccs) { + vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); + double n = (double) numCoeffs; + vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); +} + +template <> +void maxiMFCCAnalyser::dct(float *mfccs) { + vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); + float n = (float) numCoeffs; + vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); +} +#endif + +template <> +void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { +#ifdef __APPLE_CC__ + //conv to double + vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); + // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); + vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); +#endif + melFilterAndLogSq_Part2(powerSpectrum); +} + + +template <> +void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { +#ifdef __APPLE_CC__ + vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); +#endif + melFilterAndLogSq_Part2(powerSpectrum); +} + +template +void maxiMFCCAnalyser::melFilterAndLogSq_Part2(float *powerSpectrum) { +#ifdef __APPLE_CC__ +#else + for (unsigned int filter = 0;filter < numFilters;filter++) { + melBands[filter] = 0.0; + for (unsigned int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; + } +} + + + + + + + + + + + + diff --git a/libs/maxiMFCC.h b/libs/maxiMFCC.h new file mode 100644 index 0000000..19dd72e --- /dev/null +++ b/libs/maxiMFCC.h @@ -0,0 +1,205 @@ +/* + * maxiMFCC.h + * mfccs + * + * Created by Chris on 08/03/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + + Based on Matthew Yee-King's MFCCMYK java class + */ + +#pragma once +#pragma pack(16) + +#include "maxiFFT.h" +#include +#include +#include +#ifdef __APPLE_CC__ +#include +#endif + +using namespace std; + + +// implements this formula: +// mel = 2595 log10(Hz/700 + 1) +inline double hzToMel(double hz){ + return 2595.0 * (log10(hz/700.0 + 1.0)); +} + +// implements this formula +// Hz = 700 (10^(mel/2595) - 1) +inline double melToHz(double mel){ + return 700.0 * (pow(10, mel/2595.0) - 1.0); +} + +template +class maxiMFCCAnalyser { +public: + T *melBands; + maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; + ~maxiMFCCAnalyser() { + if (melFilters) { + delete[] melFilters; + delete[] melBands; + delete[] dctMatrix; +#ifdef __APPLE_CC__ + delete doubleSpec; +#endif + } + } + + void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) + { + this->numFilters = numFilters; + this->numCoeffs = numCoeffs; + this->minFreq = minFreq; + this->maxFreq = maxFreq; + this->sampleRate = sampleRate; + this->numBins = numBins; + melFilters = NULL; + melBands = (T*) malloc(sizeof(T) * numFilters); +#ifdef __APPLE_CC__ + doubleSpec = (T*)malloc(sizeof(T) * numBins); +#endif + //create new matrix + dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); + calcMelFilterBank(sampleRate, numBins); + createDCTCoeffs(); + } + void mfcc(float* powerSpectrum, T *mfccs) { + melFilterAndLogSquare(powerSpectrum); + dct(mfccs); + } + +private: + unsigned int numFilters, numCoeffs; + double minFreq, maxFreq; + unsigned int sampleRate; + T *melFilters; + unsigned int numBins; + T *dctMatrix; +#ifdef __APPLE_CC__ + T *doubleSpec; +#endif + +#ifdef __APPLE_CC__ + void dct(T *mfccs); //define later +#else + void dct(T *mfccs) { + for(int i=0; i < numCoeffs; i++) { + mfccs[i] = 0.0; + } + for(int i=0; i < numCoeffs; i++ ) { + for(int j=0; j < numFilters; j++) { + int idx = i + (j * numCoeffs); + mfccs[i] += (dctMatrix[idx] * melBands[j]); + } + } + for(int i=0; i < numCoeffs; i++) { + mfccs[i] /= numCoeffs; + } + } +#endif + + void melFilterAndLogSquare(float* powerSpectrum); + void melFilterAndLogSq_Part2(float *powerSpectrum); + + + void calcMelFilterBank(double sampleRate, int numBins) { + + double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; + int numValidBins; + + // ignore bins over nyquist + numValidBins = numBins; + + nyquist = sampleRate/2; + if (maxFreq > nyquist) { + maxFreq = nyquist; + } + + maxMel = hzToMel(maxFreq); + minMel = hzToMel(minFreq); + + dMel = (maxMel - minMel) / (numFilters + 2 - 1); + + T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); + + // first generate an array of start and end freqs for each triangle + mel = minMel; + for (int i=0;i nextF || binFreq < prevF) { + // outside this filter + melFilters[idx] = 0; + //cout << "MFCCMYK: filter at " < maxiMFCC; +//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/libs/maxim.h b/libs/maxim.h new file mode 100644 index 0000000..3b0ee06 --- /dev/null +++ b/libs/maxim.h @@ -0,0 +1,108 @@ +/* + * maximilian + * platform independent synthesis library + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _MAXIM_H +#define _MAXIM_H + +//#include "maximilian.h" +#include "maxiFFT.h" +#include "maxiGrains.h" +#include "maxiMFCC.h" +#include "maxiBark.h" +#include "maxiAtoms.h" + + + +//typedef maxiSignal vector; +// +//class maxiBase { +// virtual maxiSignal play() = {}; +//}; +// +//class ofMaxiSine : public maxiBase { +// maxiOsc osc; +// double freq; +// +// void update(double freq) { +// freq = freq; +// } +// void play() { +// osc.sine(freq); +// } +//} +// +// +//class maxiNoise : public maxiBase { +// maxiBase* update() { +// //do something? +// }; +// +// double play() { +// return rand() / (float)RAND_MAX; +// } +//}; +// +//class maxiAnotherUGen : public maxiBase { +// maxiBase* update(double param1, bool param2); +//}; +// +//class maxiYetAnotherUGen : public maxiBase { +// maxiBase* update(int something, float somethingElse); +//}; +// +//void maxiProcess(maxiSignal &signal, maxiBase *ugen) { +// double val = ugen->play(); +// for(int i=0; i < signal.size(); i++) { +// signal[i] = val; +// } +//} +// +//void maxiBlock(maxiSignal &signal, maxiBase *ugen) { +// for (int i=0; i < 64; i++) { +// maxiProcess(signal, ugen); +// } +//} +// +//typedef maxiUGens vector +// +//maxiNoise ugen1; +//maxiAnotherUGen ugen2; +//maxiUGens ugen1 = createUGens(maxiNoise, 2); +// +//maxiSignal sig(2); +//maxiProcess(sig, ugen1.update()); +//maxiProcess(sig, ugen2.update(8.2, false)); +// +//ugen.update(2,3)->play(); + + +#endif diff --git a/libs/sineTable.h b/libs/sineTable.h new file mode 100644 index 0000000..de9626e --- /dev/null +++ b/libs/sineTable.h @@ -0,0 +1,15 @@ +/* + * sineTable.h + * atomSynthesis + * + * Created by Chris on 10/11/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ +#pragma once + +namespace waveTable { + +double sine65536[65538] = {0.0,9.5873799096e-05,0.000191747597311,0.000287621393763,0.000383495187571,0.000479368977855,0.000575242763732,0.000671116544322,0.000766990318743,0.000862864086114,0.000958737845553,0.00105461159618,0.00115048533711,0.00124635906747,0.00134223278637,0.00143810649294,0.00153398018628,0.00162985386553,0.0017257275298,0.0018216011782,0.00191747480986,0.00201334842389,0.00210922201942,0.00220509559556,0.00230096915143,0.00239684268615,0.00249271619884,0.00258858968861,0.0026844631546,0.0027803365959,0.00287621001166,0.00297208340097,0.00306795676297,0.00316383009676,0.00325970340148,0.00335557667623,0.00345144992014,0.00354732313232,0.0036431963119,0.00373906945799,0.00383494256971,0.00393081564618,0.00402668868652,0.00412256168984,0.00421843465528,0.00431430758194,0.00441018046894,0.0045060533154,0.00460192612045,0.00469779888319,0.00479367160276,0.00488954427826,0.00498541690882,0.00508128949356,0.00517716203158,0.00527303452202,0.005368906964,0.00546477935662,0.00556065169901,0.00565652399029,0.00575239622957,0.00584826841598,0.00594414054864,0.00604001262666,0.00613588464915,0.00623175661525,0.00632762852407,0.00642350037473,0.00651937216634,0.00661524389803,0.00671111556891,0.0068069871781,0.00690285872473,0.00699873020791,0.00709460162675,0.00719047298039,0.00728634426793,0.00738221548849,0.0074780866412,0.00757395772518,0.00766982873953,0.00776569968339,0.00786157055586,0.00795744135607,0.00805331208314,0.00814918273619,0.00824505331433,0.00834092381668,0.00843679424237,0.00853266459051,0.00862853486021,0.00872440505061,0.00882027516081,0.00891614518993,0.00901201513711,0.00910788500144,0.00920375478206,0.00929962447808,0.00939549408862,0.00949136361279,0.00958723304973,0.00968310239854,0.00977897165835,0.00987484082827,0.00997070990742,0.0100665788949,0.0101624477899,0.0102583165915,0.0103541852987,0.0104500539108,0.0105459224269,0.010641790846,0.0107376591673,0.0108335273899,0.0109293955129,0.0110252635354,0.0111211314566,0.0112169992756,0.0113128669915,0.0114087346034,0.0115046021104,0.0116004695117,0.0116963368064,0.0117922039935,0.0118880710723,0.0119839380417,0.0120798049011,0.0121756716493,0.0122715382857,0.0123674048093,0.0124632712192,0.0125591375145,0.0126550036944,0.012750869758,0.0128467357044,0.0129426015327,0.013038467242,0.0131343328315,0.0132301983002,0.0133260636473,0.013421928872,0.0135177939733,0.0136136589503,0.0137095238022,0.0138053885281,0.013901253127,0.0139971175982,0.0140929819408,0.0141888461538,0.0142847102364,0.0143805741876,0.0144764380067,0.0145723016928,0.0146681652449,0.0147640286621,0.0148598919437,0.0149557550886,0.0150516180961,0.0151474809653,0.0152433436952,0.015339206285,0.0154350687338,0.0155309310407,0.0156267932049,0.0157226552254,0.0158185171014,0.015914378832,0.0160102404164,0.0161061018535,0.0162019631427,0.0162978242829,0.0163936852733,0.016489546113,0.0165854068011,0.0166812673368,0.0167771277191,0.0168729879473,0.0169688480203,0.0170647079374,0.0171605676976,0.0172564273001,0.017352286744,0.0174481460284,0.0175440051524,0.0176398641151,0.0177357229157,0.0178315815532,0.0179274400269,0.0180232983358,0.018119156479,0.0182150144556,0.0183108722649,0.0184067299058,0.0185025873775,0.0185984446792,0.0186943018099,0.0187901587688,0.0188860155549,0.0189818721675,0.0190777286056,0.0191735848683,0.0192694409548,0.0193652968642,0.0194611525955,0.019557008148,0.0196528635207,0.0197487187128,0.0198445737234,0.0199404285515,0.0200362831964,0.0201321376571,0.0202279919327,0.0203238460224,0.0204196999253,0.0205155536405,0.0206114071671,0.0207072605043,0.0208031136511,0.0208989666067,0.0209948193702,0.0210906719408,0.0211865243174,0.0212823764994,0.0213782284857,0.0214740802755,0.0215699318679,0.021665783262,0.021761634457,0.021857485452,0.0219533362461,0.0220491868384,0.022145037228,0.022240887414,0.0223367373956,0.0224325871719,0.0225284367421,0.0226242861051,0.0227201352602,0.0228159842064,0.0229118329429,0.0230076814688,0.0231035297833,0.0231993778853,0.0232952257742,0.0233910734489,0.0234869209086,0.0235827681524,0.0236786151794,0.0237744619888,0.0238703085797,0.0239661549511,0.0240620011023,0.0241578470323,0.0242536927402,0.0243495382252,0.0244453834864,0.0245412285229,0.0246370733338,0.0247329179183,0.0248287622754,0.0249246064043,0.0250204503041,0.0251162939739,0.0252121374128,0.02530798062,0.0254038235946,0.0254996663357,0.0255955088423,0.0256913511138,0.025787193149,0.0258830349473,0.0259788765076,0.0260747178291,0.026170558911,0.0262663997523,0.0263622403521,0.0264580807097,0.026553920824,0.0266497606943,0.0267456003196,0.0268414396991,0.0269372788319,0.027033117717,0.0271289563537,0.027224794741,0.0273206328781,0.027416470764,0.0275123083979,0.027608145779,0.0277039829062,0.0277998197789,0.027895656396,0.0279914927567,0.02808732886,0.0281831647053,0.0282790002914,0.0283748356177,0.0284706706831,0.0285665054868,0.028662340028,0.0287581743056,0.028854008319,0.0289498420671,0.0290456755491,0.0291415087642,0.0292373417114,0.0293331743898,0.0294290067986,0.0295248389369,0.0296206708039,0.0297165023985,0.02981233372,0.0299081647675,0.0300039955401,0.0300998260369,0.030195656257,0.0302914861995,0.0303873158637,0.0304831452485,0.0305789743531,0.0306748031766,0.0307706317182,0.030866459977,0.030962287952,0.0310581156424,0.0311539430474,0.031249770166,0.0313455969973,0.0314414235406,0.0315372497948,0.0316330757591,0.0317289014327,0.0318247268146,0.031920551904,0.0320163767,0.0321122012018,0.0322080254083,0.0323038493188,0.0323996729324,0.0324954962481,0.0325913192652,0.0326871419827,0.0327829643997,0.0328787865154,0.0329746083289,0.0330704298393,0.0331662510457,0.0332620719473,0.0333578925431,0.0334537128323,0.033549532814,0.0336453524873,0.0337411718514,0.0338369909053,0.0339328096482,0.0340286280792,0.0341244461974,0.034220264002,0.034316081492,0.0344118986665,0.0345077155248,0.0346035320659,0.0346993482889,0.034795164193,0.0348909797772,0.0349867950407,0.0350826099826,0.0351784246021,0.0352742388982,0.0353700528701,0.0354658665169,0.0355616798376,0.0356574928315,0.0357533054976,0.0358491178351,0.0359449298431,0.0360407415207,0.036136552867,0.0362323638812,0.0363281745623,0.0364239849094,0.0365197949218,0.0366156045985,0.0367114139387,0.0368072229414,0.0369030316057,0.0369988399309,0.037094647916,0.0371904555601,0.0372862628624,0.0373820698219,0.0374778764378,0.0375736827093,0.0376694886353,0.0377652942152,0.0378610994479,0.0379569043325,0.0380527088683,0.0381485130544,0.0382443168897,0.0383401203736,0.038435923505,0.0385317262831,0.038627528707,0.0387233307759,0.0388191324889,0.038914933845,0.0390107348435,0.0391065354833,0.0392023357637,0.0392981356838,0.0393939352426,0.0394897344394,0.0395855332731,0.039681331743,0.0397771298482,0.0398729275877,0.0399687249608,0.0400645219664,0.0401603186038,0.040256114872,0.0403519107703,0.0404477062976,0.0405435014531,0.0406392962359,0.0407350906452,0.0408308846801,0.0409266783397,0.0410224716231,0.0411182645294,0.0412140570577,0.0413098492073,0.0414056409771,0.0415014323663,0.0415972233741,0.0416930139995,0.0417888042416,0.0418845940997,0.0419803835727,0.0420761726599,0.0421719613603,0.0422677496731,0.0423635375974,0.0424593251323,0.0425551122769,0.0426508990304,0.0427466853918,0.0428424713602,0.0429382569349,0.043034042115,0.0431298268994,0.0432256112874,0.0433213952781,0.0434171788706,0.043512962064,0.0436087448575,0.0437045272501,0.0438003092409,0.0438960908292,0.043991872014,0.0440876527945,0.0441834331696,0.0442792131387,0.0443749927008,0.0444707718549,0.0445665506003,0.0446623289361,0.0447581068613,0.0448538843752,0.0449496614767,0.0450454381651,0.0451412144394,0.0452369902988,0.0453327657424,0.0454285407693,0.0455243153786,0.0456200895695,0.045715863341,0.0458116366924,0.0459074096226,0.0460031821309,0.0460989542163,0.046194725878,0.0462904971151,0.0463862679267,0.0464820383119,0.0465778082699,0.0466735777997,0.0467693469005,0.0468651155715,0.0469608838116,0.0470566516201,0.0471524189961,0.0472481859386,0.0473439524469,0.0474397185199,0.047535484157,0.047631249357,0.0477270141193,0.0478227784429,0.0479185423269,0.0480143057704,0.0481100687726,0.0482058313326,0.0483015934495,0.0483973551224,0.0484931163504,0.0485888771327,0.0486846374684,0.0487803973566,0.0488761567964,0.048971915787,0.0490676743274,0.0491634324168,0.0492591900543,0.049354947239,0.0494507039701,0.0495464602466,0.0496422160677,0.0497379714325,0.0498337263401,0.0499294807897,0.0500252347803,0.0501209883111,0.0502167413812,0.0503124939897,0.0504082461357,0.0505039978184,0.0505997490369,0.0506954997903,0.0507912500777,0.0508869998982,0.050982749251,0.0510784981352,0.0511742465499,0.0512699944941,0.0513657419672,0.051461488968,0.0515572354959,0.0516529815499,0.051748727129,0.0518444722325,0.0519402168595,0.052035961009,0.0521317046803,0.0522274478723,0.0523231905843,0.0524189328154,0.0525146745646,0.0526104158311,0.0527061566141,0.0528018969125,0.0528976367257,0.0529933760526,0.0530891148924,0.0531848532442,0.0532805911071,0.0533763284804,0.0534720653629,0.053567801754,0.0536635376527,0.0537592730582,0.0538550079695,0.0539507423857,0.0540464763061,0.0541422097297,0.0542379426556,0.054333675083,0.0544294070109,0.0545251384386,0.054620869365,0.0547165997894,0.0548123297109,0.0549080591285,0.0550037880415,0.0550995164488,0.0551952443497,0.0552909717432,0.0553866986286,0.0554824250048,0.055578150871,0.0556738762264,0.05576960107,0.055865325401,0.0559610492185,0.0560567725216,0.0561524953095,0.0562482175812,0.0563439393359,0.0564396605727,0.0565353812907,0.0566311014891,0.0567268211669,0.0568225403233,0.0569182589574,0.0570139770683,0.0571096946552,0.0572054117171,0.0573011282532,0.0573968442626,0.0574925597444,0.0575882746977,0.0576839891217,0.0577797030155,0.0578754163782,0.0579711292089,0.0580668415068,0.0581625532709,0.0582582645004,0.0583539751944,0.0584496853521,0.0585453949724,0.0586411040547,0.0587368125979,0.0588325206012,0.0589282280638,0.0590239349847,0.059119641363,0.059215347198,0.0593110524886,0.0594067572341,0.0595024614335,0.059598165086,0.0596938681907,0.0597895707466,0.059885272753,0.059980974209,0.0600766751136,0.060172375466,0.0602680752653,0.0603637745107,0.0604594732012,0.0605551713359,0.0606508689141,0.0607465659348,0.0608422623971,0.0609379583001,0.061033653643,0.0611293484249,0.061225042645,0.0613207363022,0.0614164293958,0.0615121219249,0.0616078138886,0.061703505286,0.0617991961162,0.0618948863784,0.0619905760716,0.0620862651951,0.0621819537478,0.062277641729,0.0623733291378,0.0624690159732,0.0625647022345,0.0626603879206,0.0627560730308,0.0628517575642,0.0629474415198,0.0630431248968,0.0631388076944,0.0632344899116,0.0633301715475,0.0634258526014,0.0635215330722,0.0636172129592,0.0637128922614,0.063808570978,0.063904249108,0.0639999266507,0.0640956036051,0.0641912799704,0.0642869557456,0.0643826309299,0.0644783055224,0.0645739795222,0.0646696529285,0.0647653257403,0.0648609979569,0.0649566695772,0.0650523406005,0.0651480110259,0.0652436808524,0.0653393500792,0.0654350187054,0.0655306867302,0.0656263541526,0.0657220209718,0.0658176871869,0.065913352797,0.0660090178013,0.0661046821988,0.0662003459886,0.06629600917,0.066391671742,0.0664873337038,0.0665829950544,0.066678655793,0.0667743159187,0.0668699754306,0.0669656343279,0.0670612926096,0.067156950275,0.067252607323,0.0673482637529,0.0674439195637,0.0675395747545,0.0676352293246,0.067730883273,0.0678265365988,0.0679221893012,0.0680178413792,0.0681134928321,0.0682091436588,0.0683047938586,0.0684004434305,0.0684960923738,0.0685917406874,0.0686873883705,0.0687830354223,0.0688786818418,0.0689743276283,0.0690699727807,0.0691656172982,0.06926126118,0.0693569044252,0.0694525470328,0.0695481890021,0.0696438303321,0.0697394710219,0.0698351110707,0.0699307504776,0.0700263892417,0.0701220273621,0.070217664838,0.0703133016685,0.0704089378526,0.0705045733896,0.0706002082785,0.0706958425185,0.0707914761086,0.0708871090481,0.070982741336,0.0710783729714,0.0711740039534,0.0712696342813,0.0713652639541,0.0714608929708,0.0715565213308,0.071652149033,0.0717477760766,0.0718434024607,0.0719390281844,0.0720346532469,0.0721302776472,0.0722259013846,0.0723215244581,0.0724171468668,0.0725127686098,0.0726083896864,0.0727040100955,0.0727996298364,0.072895248908,0.0729908673097,0.0730864850405,0.0731821020994,0.0732777184857,0.0733733341984,0.0734689492367,0.0735645635997,0.0736601772865,0.0737557902962,0.073851402628,0.0739470142809,0.0740426252541,0.0741382355468,0.074233845158,0.0743294540868,0.0744250623325,0.074520669894,0.0746162767706,0.0747118829613,0.0748074884652,0.0749030932816,0.0749986974094,0.0750943008479,0.0751899035962,0.0752855056533,0.0753811070184,0.0754767076906,0.075572307669,0.0756679069528,0.0757635055411,0.075859103433,0.0759547006275,0.076050297124,0.0761458929214,0.0762414880189,0.0763370824155,0.0764326761105,0.076528269103,0.076623861392,0.0767194529767,0.0768150438563,0.0769106340297,0.0770062234962,0.0771018122549,0.0771974003049,0.0772929876453,0.0773885742753,0.0774841601939,0.0775797454003,0.0776753298935,0.0777709136729,0.0778664967373,0.077962079086,0.0780576607182,0.0781532416328,0.0782488218291,0.0783444013061,0.078439980063,0.0785355580988,0.0786311354128,0.0787267120041,0.0788222878717,0.0789178630148,0.0790134374325,0.0791090111239,0.0792045840882,0.0793001563244,0.0793957278317,0.0794912986092,0.0795868686561,0.0796824379714,0.0797780065543,0.0798735744039,0.0799691415193,0.0800647078997,0.0801602735441,0.0802558384517,0.0803514026216,0.080446966053,0.0805425287448,0.0806380906964,0.0807336519067,0.080829212375,0.0809247721003,0.0810203310817,0.0811158893185,0.0812114468096,0.0813070035542,0.0814025595515,0.0814981148006,0.0815936693005,0.0816892230505,0.0817847760496,0.0818803282969,0.0819758797916,0.0820714305328,0.0821669805197,0.0822625297512,0.0823580782266,0.0824536259451,0.0825491729056,0.0826447191073,0.0827402645494,0.0828358092309,0.0829313531511,0.0830268963089,0.0831224387036,0.0832179803343,0.0833135212,0.0834090612999,0.0835046006332,0.0836001391988,0.0836956769961,0.083791214024,0.0838867502818,0.0839822857685,0.0840778204832,0.0841733544251,0.0842688875933,0.0843644199869,0.0844599516051,0.0845554824469,0.0846510125116,0.0847465417981,0.0848420703056,0.0849375980333,0.0850331249803,0.0851286511456,0.0852241765285,0.085319701128,0.0854152249433,0.0855107479735,0.0856062702176,0.0857017916749,0.0857973123444,0.0858928322253,0.0859883513167,0.0860838696177,0.0861793871275,0.0862749038451,0.0863704197697,0.0864659349003,0.0865614492363,0.0866569627765,0.0867524755202,0.0868479874665,0.0869434986145,0.0870390089634,0.0871345185122,0.0872300272601,0.0873255352062,0.0874210423496,0.0875165486895,0.0876120542249,0.087707558955,0.0878030628789,0.0878985659958,0.0879940683047,0.0880895698048,0.0881850704952,0.088280570375,0.0883760694433,0.0884715676993,0.0885670651421,0.0886625617709,0.0887580575846,0.0888535525825,0.0889490467637,0.0890445401273,0.0891400326724,0.0892355243981,0.0893310153037,0.0894265053881,0.0895219946505,0.08961748309,0.0897129707058,0.089808457497,0.0899039434627,0.089999428602,0.090094912914,0.0901903963979,0.0902858790529,0.0903813608779,0.0904768418721,0.0905723220347,0.0906678013648,0.0907632798615,0.0908587575239,0.0909542343511,0.0910497103424,0.0911451854967,0.0912406598132,0.0913361332911,0.0914316059294,0.0915270777273,0.0916225486839,0.0917180187983,0.0918134880697,0.0919089564971,0.0920044240798,0.0920998908167,0.0921953567071,0.0922908217501,0.0923862859447,0.0924817492901,0.0925772117855,0.0926726734299,0.0927681342225,0.0928635941624,0.0929590532487,0.0930545114805,0.093149968857,0.0932454253773,0.0933408810405,0.0934363358457,0.0935317897921,0.0936272428788,0.0937226951048,0.0938181464694,0.0939135969716,0.0940090466106,0.0941044953855,0.0941999432954,0.0942953903394,0.0943908365167,0.0944862818264,0.0945817262675,0.0946771698393,0.0947726125408,0.0948680543712,0.0949634953296,0.0950589354152,0.0951543746269,0.095249812964,0.0953452504256,0.0954406870108,0.0955361227188,0.0956315575485,0.0957269914993,0.0958224245702,0.0959178567602,0.0960132880687,0.0961087184946,0.096204148037,0.0962995766952,0.0963950044683,0.0964904313553,0.0965858573553,0.0966812824676,0.0967767066912,0.0968721300252,0.0969675524688,0.0970629740212,0.0971583946813,0.0972538144484,0.0973492333215,0.0974446512998,0.0975400683825,0.0976354845685,0.0977308998571,0.0978263142474,0.0979217277385,0.0980171403296,0.0981125520196,0.0982079628079,0.0983033726934,0.0983987816754,0.0984941897529,0.098589596925,0.098685003191,0.0987804085498,0.0988758130007,0.0989712165427,0.099066619175,0.0991620208967,0.099257421707,0.0993528216049,0.0994482205895,0.0995436186601,0.0996390158156,0.0997344120553,0.0998298073783,0.0999252017837,0.100020595271,0.100115987838,0.100211379485,0.100306770211,0.100402160016,0.100497548897,0.100592936854,0.100688323887,0.100783709995,0.100879095176,0.100974479429,0.101069862755,0.101165245151,0.101260626618,0.101356007154,0.101451386758,0.10154676543,0.101642143168,0.101737519973,0.101832895841,0.101928270774,0.10202364477,0.102119017829,0.102214389948,0.102309761128,0.102405131368,0.102500500666,0.102595869022,0.102691236436,0.102786602905,0.102881968429,0.102977333008,0.10307269664,0.103168059325,0.103263421062,0.103358781849,0.103454141686,0.103549500573,0.103644858507,0.103740215489,0.103835571517,0.103930926591,0.10402628071,0.104121633872,0.104216986077,0.104312337325,0.104407687613,0.104503036942,0.10459838531,0.104693732717,0.104789079162,0.104884424643,0.10497976916,0.105075112713,0.105170455299,0.105265796919,0.105361137571,0.105456477255,0.105551815969,0.105647153713,0.105742490487,0.105837826288,0.105933161116,0.106028494971,0.106123827851,0.106219159755,0.106314490683,0.106409820634,0.106505149607,0.106600477601,0.106695804615,0.106791130648,0.1068864557,0.106981779769,0.107077102855,0.107172424957,0.107267746073,0.107363066204,0.107458385348,0.107553703504,0.107649020671,0.107744336849,0.107839652036,0.107934966233,0.108030279437,0.108125591648,0.108220902865,0.108316213088,0.108411522315,0.108506830545,0.108602137778,0.108697444013,0.108792749249,0.108888053485,0.108983356719,0.109078658952,0.109173960183,0.10926926041,0.109364559632,0.10945985785,0.109555155061,0.109650451265,0.109745746461,0.109841040649,0.109936333827,0.110031625994,0.11012691715,0.110222207294,0.110317496424,0.110412784541,0.110508071643,0.110603357729,0.110698642798,0.11079392685,0.110889209883,0.110984491897,0.111079772891,0.111175052864,0.111270331815,0.111365609743,0.111460886648,0.111556162528,0.111651437383,0.111746711211,0.111841984012,0.111937255786,0.11203252653,0.112127796244,0.112223064928,0.112318332581,0.112413599201,0.112508864787,0.11260412934,0.112699392857,0.112794655339,0.112889916784,0.112985177191,0.113080436559,0.113175694889,0.113270952178,0.113366208425,0.113461463631,0.113556717794,0.113651970913,0.113747222987,0.113842474016,0.113937723998,0.114032972933,0.11412822082,0.114223467658,0.114318713446,0.114413958183,0.114509201869,0.114604444502,0.114699686081,0.114794926607,0.114890166077,0.114985404491,0.115080641848,0.115175878147,0.115271113388,0.115366347569,0.115461580689,0.115556812749,0.115652043746,0.11574727368,0.11584250255,0.115937730356,0.116032957095,0.116128182769,0.116223407374,0.116318630912,0.11641385338,0.116509074778,0.116604295106,0.116699514361,0.116794732544,0.116889949653,0.116985165688,0.117080380648,0.117175594531,0.117270807338,0.117366019066,0.117461229715,0.117556439285,0.117651647775,0.117746855183,0.117842061508,0.117937266751,0.118032470909,0.118127673983,0.11822287597,0.118318076871,0.118413276685,0.11850847541,0.118603673045,0.118698869591,0.118794065045,0.118889259408,0.118984452678,0.119079644854,0.119174835935,0.119270025921,0.119365214811,0.119460402604,0.119555589298,0.119650774894,0.119745959389,0.119841142785,0.119936325078,0.120031506269,0.120126686357,0.120221865341,0.120317043219,0.120412219992,0.120507395658,0.120602570216,0.120697743666,0.120792916006,0.120888087236,0.120983257354,0.121078426361,0.121173594255,0.121268761035,0.1213639267,0.12145909125,0.121554254683,0.121649416999,0.121744578197,0.121839738276,0.121934897235,0.122030055073,0.122125211789,0.122220367383,0.122315521853,0.122410675199,0.12250582742,0.122600978515,0.122696128483,0.122791277323,0.122886425035,0.122981571617,0.123076717068,0.123171861388,0.123267004576,0.123362146631,0.123457287552,0.123552427339,0.123647565989,0.123742703503,0.12383783988,0.123932975119,0.124028109218,0.124123242177,0.124218373995,0.124313504672,0.124408634205,0.124503762596,0.124598889842,0.124694015942,0.124789140897,0.124884264704,0.124979387363,0.125074508874,0.125169629235,0.125264748446,0.125359866505,0.125454983412,0.125550099165,0.125645213765,0.12574032721,0.125835439498,0.125930550631,0.126025660606,0.126120769422,0.126215877079,0.126310983576,0.126406088912,0.126501193086,0.126596296097,0.126691397945,0.126786498628,0.126881598145,0.126976696497,0.127071793681,0.127166889697,0.127261984545,0.127357078222,0.127452170729,0.127547262065,0.127642352228,0.127737441218,0.127832529033,0.127927615674,0.128022701139,0.128117785427,0.128212868537,0.128307950469,0.128403031222,0.128498110794,0.128593189185,0.128688266394,0.12878334242,0.128878417263,0.128973490921,0.129068563393,0.129163634679,0.129258704778,0.129353773688,0.12944884141,0.129543907942,0.129638973283,0.129734037432,0.129829100389,0.129924162153,0.130019222722,0.130114282096,0.130209340275,0.130304397256,0.13039945304,0.130494507625,0.13058956101,0.130684613196,0.13077966418,0.130874713962,0.130969762541,0.131064809916,0.131159856086,0.131254901051,0.131349944809,0.13144498736,0.131540028703,0.131635068837,0.13173010776,0.131825145473,0.131920181974,0.132015217263,0.132110251338,0.132205284199,0.132300315844,0.132395346274,0.132490375487,0.132585403481,0.132680430257,0.132775455814,0.13287048015,0.132965503265,0.133060525157,0.133155545827,0.133250565272,0.133345583493,0.133440600488,0.133535616256,0.133630630797,0.13372564411,0.133820656194,0.133915667047,0.13401067667,0.134105685061,0.134200692219,0.134295698143,0.134390702834,0.134485706288,0.134580708507,0.134675709489,0.134770709233,0.134865707738,0.134960705003,0.135055701028,0.135150695811,0.135245689352,0.13534068165,0.135435672704,0.135530662513,0.135625651076,0.135720638393,0.135815624462,0.135910609283,0.136005592854,0.136100575176,0.136195556246,0.136290536064,0.13638551463,0.136480491942,0.136575468,0.136670442802,0.136765416348,0.136860388637,0.136955359668,0.13705032944,0.137145297952,0.137240265204,0.137335231194,0.137430195921,0.137525159386,0.137620121586,0.137715082522,0.137810042192,0.137905000595,0.13799995773,0.138094913597,0.138189868194,0.138284821522,0.138379773578,0.138474724362,0.138569673873,0.138664622111,0.138759569074,0.138854514762,0.138949459173,0.139044402308,0.139139344164,0.139234284741,0.139329224038,0.139424162055,0.13951909879,0.139614034243,0.139708968412,0.139803901298,0.139898832898,0.139993763212,0.14008869224,0.140183619979,0.140278546431,0.140373471592,0.140468395464,0.140563318044,0.140658239333,0.140753159328,0.14084807803,0.140942995437,0.141037911549,0.141132826364,0.141227739882,0.141322652102,0.141417563022,0.141512472643,0.141607380963,0.141702287982,0.141797193698,0.14189209811,0.141987001219,0.142081903022,0.142176803519,0.14227170271,0.142366600593,0.142461497167,0.142556392431,0.142651286386,0.142746179029,0.14284107036,0.142935960378,0.143030849082,0.143125736471,0.143220622545,0.143315507303,0.143410390743,0.143505272865,0.143600153667,0.14369503315,0.143789911312,0.143884788153,0.143979663671,0.144074537865,0.144169410735,0.14426428228,0.144359152499,0.144454021391,0.144548888955,0.144643755191,0.144738620097,0.144833483672,0.144928345916,0.145023206829,0.145118066408,0.145212924653,0.145307781563,0.145402637138,0.145497491376,0.145592344277,0.14568719584,0.145782046064,0.145876894947,0.14597174249,0.146066588691,0.146161433549,0.146256277064,0.146351119234,0.14644596006,0.146540799539,0.146635637671,0.146730474455,0.146825309891,0.146920143977,0.147014976713,0.147109808097,0.147204638129,0.147299466808,0.147394294133,0.147489120103,0.147583944718,0.147678767976,0.147773589876,0.147868410418,0.147963229601,0.148058047424,0.148152863887,0.148247678987,0.148342492725,0.148437305099,0.148532116108,0.148626925753,0.148721734031,0.148816540942,0.148911346486,0.14900615066,0.149100953465,0.1491957549,0.149290554963,0.149385353654,0.149480150972,0.149574946915,0.149669741484,0.149764534677,0.149859326494,0.149954116933,0.150048905994,0.150143693675,0.150238479977,0.150333264897,0.150428048436,0.150522830592,0.150617611364,0.150712390752,0.150807168755,0.150901945371,0.1509967206,0.151091494442,0.151186266894,0.151281037957,0.15137580763,0.151470575911,0.151565342799,0.151660108295,0.151754872397,0.151849635103,0.151944396414,0.152039156328,0.152133914845,0.152228671963,0.152323427682,0.152418182001,0.152512934919,0.152607686435,0.152702436549,0.152797185258,0.152891932564,0.152986678464,0.153081422957,0.153176166044,0.153270907723,0.153365647992,0.153460386852,0.153555124302,0.15364986034,0.153744594966,0.153839328178,0.153934059977,0.154028790361,0.154123519328,0.154218246879,0.154312973013,0.154407697728,0.154502421024,0.1545971429,0.154691863355,0.154786582387,0.154881299997,0.154976016184,0.155070730946,0.155165444282,0.155260156193,0.155354866676,0.155449575731,0.155544283357,0.155638989554,0.15573369432,0.155828397654,0.155923099556,0.156017800025,0.15611249906,0.15620719666,0.156301892824,0.156396587552,0.156491280842,0.156585972693,0.156680663105,0.156775352077,0.156870039608,0.156964725697,0.157059410343,0.157154093546,0.157248775304,0.157343455616,0.157438134483,0.157532811902,0.157627487873,0.157722162395,0.157816835468,0.15791150709,0.15800617726,0.158100845978,0.158195513243,0.158290179054,0.15838484341,0.15847950631,0.158574167753,0.158668827739,0.158763486266,0.158858143334,0.158952798942,0.159047453088,0.159142105773,0.159236756995,0.159331406753,0.159426055047,0.159520701875,0.159615347237,0.159709991132,0.159804633559,0.159899274517,0.159993914005,0.160088552023,0.160183188569,0.160277823642,0.160372457243,0.160467089369,0.160561720021,0.160656349196,0.160750976895,0.160845603116,0.160940227859,0.161034851122,0.161129472906,0.161224093208,0.161318712028,0.161413329366,0.161507945219,0.161602559588,0.161697172472,0.16179178387,0.16188639378,0.161981002202,0.162075609136,0.16217021458,0.162264818533,0.162359420994,0.162454021963,0.162548621439,0.162643219421,0.162737815908,0.162832410899,0.162927004393,0.16302159639,0.163116186888,0.163210775887,0.163305363385,0.163399949383,0.163494533879,0.163589116871,0.163683698361,0.163778278345,0.163872856825,0.163967433797,0.164062009263,0.164156583221,0.16425115567,0.164345726609,0.164440296037,0.164534863954,0.164629430359,0.16472399525,0.164818558628,0.16491312049,0.165007680836,0.165102239666,0.165196796978,0.165291352772,0.165385907046,0.1654804598,0.165575011034,0.165669560745,0.165764108933,0.165858655598,0.165953200738,0.166047744353,0.166142286441,0.166236827003,0.166331366036,0.16642590354,0.166520439515,0.166614973959,0.166709506872,0.166804038252,0.166898568099,0.166993096412,0.16708762319,0.167182148432,0.167276672137,0.167371194305,0.167465714935,0.167560234025,0.167654751575,0.167749267584,0.167843782051,0.167938294975,0.168032806355,0.168127316191,0.168221824482,0.168316331226,0.168410836423,0.168505340073,0.168599842173,0.168694342724,0.168788841724,0.168883339172,0.168977835068,0.169072329411,0.1691668222,0.169261313434,0.169355803112,0.169450291234,0.169544777798,0.169639262803,0.16973374625,0.169828228136,0.169922708461,0.170017187224,0.170111664424,0.170206140061,0.170300614133,0.17039508664,0.170489557581,0.170584026954,0.17067849476,0.170772960997,0.170867425664,0.17096188876,0.171056350285,0.171150810238,0.171245268618,0.171339725423,0.171434180654,0.171528634308,0.171623086386,0.171717536887,0.171811985809,0.171906433152,0.172000878915,0.172095323097,0.172189765697,0.172284206714,0.172378646148,0.172473083997,0.172567520261,0.172661954938,0.172756388029,0.172850819531,0.172945249445,0.173039677769,0.173134104503,0.173228529645,0.173322953195,0.173417375152,0.173511795514,0.173606214282,0.173700631454,0.17379504703,0.173889461008,0.173983873387,0.174078284168,0.174172693348,0.174267100928,0.174361506905,0.17445591128,0.174550314051,0.174644715218,0.17473911478,0.174833512735,0.174927909083,0.175022303824,0.175116696956,0.175211088478,0.175305478389,0.175399866689,0.175494253377,0.175588638452,0.175683021913,0.175777403759,0.175871783989,0.175966162603,0.176060539599,0.176154914977,0.176249288736,0.176343660875,0.176438031393,0.176532400289,0.176626767562,0.176721133212,0.176815497238,0.176909859638,0.177004220412,0.177098579559,0.177192937079,0.177287292969,0.17738164723,0.177475999861,0.17757035086,0.177664700227,0.177759047961,0.177853394061,0.177947738526,0.178042081356,0.178136422549,0.178230762105,0.178325100022,0.178419436301,0.178513770939,0.178608103936,0.178702435292,0.178796765005,0.178891093075,0.1789854195,0.179079744281,0.179174067415,0.179268388902,0.179362708741,0.179457026932,0.179551343473,0.179645658364,0.179739971603,0.179834283191,0.179928593125,0.180022901406,0.180117208031,0.180211513002,0.180305816315,0.180400117972,0.18049441797,0.180588716309,0.180683012988,0.180777308007,0.180871601363,0.180965893058,0.181060183088,0.181154471455,0.181248758156,0.181343043192,0.18143732656,0.181531608261,0.181625888293,0.181720166656,0.181814443348,0.18190871837,0.182002991719,0.182097263395,0.182191533397,0.182285801725,0.182380068377,0.182474333353,0.182568596652,0.182662858272,0.182757118214,0.182851376475,0.182945633056,0.183039887955,0.183134141172,0.183228392705,0.183322642555,0.183416890719,0.183511137197,0.183605381988,0.183699625092,0.183793866507,0.183888106233,0.183982344269,0.184076580613,0.184170815266,0.184265048226,0.184359279491,0.184453509063,0.184547736939,0.184641963118,0.1847361876,0.184830410385,0.18492463147,0.185018850856,0.185113068541,0.185207284524,0.185301498805,0.185395711383,0.185489922257,0.185584131425,0.185678338888,0.185772544644,0.185866748693,0.185960951033,0.186055151663,0.186149350584,0.186243547794,0.186337743291,0.186431937076,0.186526129147,0.186620319504,0.186714508145,0.18680869507,0.186902880278,0.186997063768,0.18709124554,0.187185425591,0.187279603922,0.187373780531,0.187467955419,0.187562128583,0.187656300023,0.187750469738,0.187844637727,0.18793880399,0.188032968525,0.188127131332,0.188221292409,0.188315451757,0.188409609373,0.188503765258,0.18859791941,0.188692071829,0.188786222513,0.188880371462,0.188974518674,0.18906866415,0.189162807888,0.189256949887,0.189351090146,0.189445228665,0.189539365443,0.189633500478,0.18972763377,0.189821765319,0.189915895122,0.19001002318,0.190104149492,0.190198274056,0.190292396871,0.190386517938,0.190480637254,0.19057475482,0.190668870634,0.190762984696,0.190857097004,0.190951207557,0.191045316356,0.191139423398,0.191233528684,0.191327632212,0.191421733981,0.19151583399,0.19160993224,0.191704028728,0.191798123453,0.191892216416,0.191986307615,0.19208039705,0.192174484719,0.192268570621,0.192362654756,0.192456737123,0.192550817721,0.192644896549,0.192738973607,0.192833048892,0.192927122405,0.193021194145,0.193115264111,0.193209332302,0.193303398716,0.193397463354,0.193491526214,0.193585587296,0.193679646598,0.19377370412,0.193867759861,0.19396181382,0.194055865996,0.194149916388,0.194243964996,0.194338011818,0.194432056854,0.194526100103,0.194620141563,0.194714181235,0.194808219117,0.194902255209,0.194996289509,0.195090322016,0.19518435273,0.195278381651,0.195372408776,0.195466434105,0.195560457638,0.195654479373,0.19574849931,0.195842517448,0.195936533785,0.196030548321,0.196124561056,0.196218571988,0.196312581116,0.19640658844,0.196500593958,0.19659459767,0.196688599575,0.196782599672,0.196876597961,0.19697059444,0.197064589108,0.197158581965,0.197252573009,0.197346562241,0.197440549659,0.197534535261,0.197628519048,0.197722501019,0.197816481172,0.197910459507,0.198004436022,0.198098410718,0.198192383593,0.198286354646,0.198380323876,0.198474291283,0.198568256866,0.198662220623,0.198756182554,0.198850142659,0.198944100935,0.199038057383,0.199132012002,0.19922596479,0.199319915747,0.199413864871,0.199507812163,0.199601757621,0.199695701244,0.199789643032,0.199883582983,0.199977521097,0.200071457373,0.20016539181,0.200259324407,0.200353255163,0.200447184078,0.20054111115,0.200635036378,0.200728959763,0.200822881302,0.200916800996,0.201010718843,0.201104634842,0.201198548993,0.201292461294,0.201386371745,0.201480280345,0.201574187093,0.201668091988,0.20176199503,0.201855896217,0.201949795548,0.202043693023,0.202137588641,0.202231482401,0.202325374303,0.202419264344,0.202513152525,0.202607038844,0.202700923302,0.202794805895,0.202888686625,0.20298256549,0.203076442489,0.203170317622,0.203264190887,0.203358062284,0.203451931811,0.203545799469,0.203639665255,0.20373352917,0.203827391212,0.20392125138,0.204015109674,0.204108966093,0.204202820635,0.204296673301,0.204390524089,0.204484372998,0.204578220027,0.204672065176,0.204765908444,0.20485974983,0.204953589332,0.205047426951,0.205141262685,0.205235096533,0.205328928495,0.20542275857,0.205516586756,0.205610413053,0.20570423746,0.205798059977,0.205891880602,0.205985699334,0.206079516173,0.206173331118,0.206267144167,0.206360955321,0.206454764578,0.206548571937,0.206642377398,0.206736180959,0.20682998262,0.20692378238,0.207017580237,0.207111376192,0.207205170243,0.20729896239,0.207392752631,0.207486540966,0.207580327394,0.207674111913,0.207767894524,0.207861675225,0.207955454015,0.208049230894,0.208143005861,0.208236778914,0.208330550053,0.208424319278,0.208518086586,0.208611851978,0.208705615453,0.208799377009,0.208893136645,0.208986894362,0.209080650158,0.209174404032,0.209268155983,0.20936190601,0.209455654114,0.209549400292,0.209643144543,0.209736886868,0.209830627265,0.209924365734,0.210018102272,0.21011183688,0.210205569557,0.210299300302,0.210393029114,0.210486755992,0.210580480935,0.210674203942,0.210767925013,0.210861644147,0.210955361343,0.211049076599,0.211142789916,0.211236501291,0.211330210725,0.211423918217,0.211517623765,0.211611327369,0.211705029028,0.211798728741,0.211892426507,0.211986122326,0.212079816196,0.212173508116,0.212267198087,0.212360886106,0.212454572173,0.212548256288,0.212641938448,0.212735618654,0.212829296905,0.2129229732,0.213016647537,0.213110319916,0.213203990337,0.213297658797,0.213391325297,0.213484989836,0.213578652412,0.213672313026,0.213765971675,0.213859628359,0.213953283078,0.214046935829,0.214140586614,0.21423423543,0.214327882277,0.214421527154,0.21451517006,0.214608810994,0.214702449955,0.214796086943,0.214889721957,0.214983354995,0.215076986058,0.215170615143,0.215264242251,0.21535786738,0.215451490529,0.215545111698,0.215638730886,0.215732348092,0.215825963314,0.215919576553,0.216013187808,0.216106797076,0.216200404358,0.216294009653,0.21638761296,0.216481214278,0.216574813606,0.216668410944,0.216762006289,0.216855599643,0.216949191003,0.217042780369,0.217136367739,0.217229953114,0.217323536493,0.217417117873,0.217510697256,0.217604274638,0.217697850021,0.217791423403,0.217884994783,0.21797856416,0.218072131533,0.218165696902,0.218259260266,0.218352821623,0.218446380974,0.218539938316,0.21863349365,0.218727046974,0.218820598288,0.21891414759,0.21900769488,0.219101240157,0.21919478342,0.219288324668,0.219381863901,0.219475401117,0.219568936315,0.219662469496,0.219756000657,0.219849529799,0.219943056919,0.220036582018,0.220130105095,0.220223626148,0.220317145177,0.22041066218,0.220504177158,0.220597690109,0.220691201032,0.220784709927,0.220878216792,0.220971721627,0.221065224431,0.221158725203,0.221252223942,0.221345720647,0.221439215318,0.221532707953,0.221626198552,0.221719687114,0.221813173638,0.221906658123,0.222000140568,0.222093620973,0.222187099337,0.222280575658,0.222374049935,0.222467522169,0.222560992358,0.222654460502,0.222747926598,0.222841390647,0.222934852648,0.2230283126,0.223121770502,0.223215226353,0.223308680152,0.223402131898,0.223495581591,0.22358902923,0.223682474813,0.223775918341,0.223869359811,0.223962799224,0.224056236578,0.224149671873,0.224243105107,0.22433653628,0.224429965392,0.22452339244,0.224616817424,0.224710240344,0.224803661198,0.224897079986,0.224990496707,0.22508391136,0.225177323944,0.225270734458,0.225364142901,0.225457549273,0.225550953572,0.225644355799,0.225737755951,0.225831154028,0.22592455003,0.226017943954,0.226111335802,0.226204725571,0.22629811326,0.22639149887,0.226484882399,0.226578263846,0.22667164321,0.226765020491,0.226858395687,0.226951768798,0.227045139823,0.227138508761,0.227231875611,0.227325240373,0.227418603045,0.227511963627,0.227605322117,0.227698678516,0.227792032821,0.227885385033,0.22797873515,0.228072083171,0.228165429096,0.228258772924,0.228352114653,0.228445454284,0.228538791815,0.228632127245,0.228725460574,0.2288187918,0.228912120923,0.229005447942,0.229098772856,0.229192095664,0.229285416365,0.229378734959,0.229472051444,0.229565365821,0.229658678087,0.229751988242,0.229845296285,0.229938602216,0.230031906033,0.230125207735,0.230218507323,0.230311804794,0.230405100148,0.230498393385,0.230591684502,0.230684973501,0.230778260378,0.230871545135,0.230964827769,0.231058108281,0.231151386668,0.231244662931,0.231337937069,0.231431209079,0.231524478963,0.231617746719,0.231711012345,0.231804275842,0.231897537208,0.231990796442,0.232084053545,0.232177308513,0.232270561348,0.232363812048,0.232457060612,0.232550307039,0.232643551328,0.23273679348,0.232830033492,0.232923271363,0.233016507094,0.233109740683,0.233202972129,0.233296201432,0.233389428591,0.233482653604,0.233575876471,0.233669097191,0.233762315763,0.233855532186,0.23394874646,0.234041958584,0.234135168556,0.234228376376,0.234321582043,0.234414785556,0.234507986915,0.234601186118,0.234694383165,0.234787578054,0.234880770785,0.234973961358,0.23506714977,0.235160336022,0.235253520112,0.23534670204,0.235439881805,0.235533059405,0.23562623484,0.23571940811,0.235812579213,0.235905748149,0.235998914916,0.236092079513,0.236185241941,0.236278402198,0.236371560283,0.236464716195,0.236557869934,0.236651021498,0.236744170887,0.2368373181,0.236930463136,0.237023605994,0.237116746674,0.237209885174,0.237303021494,0.237396155632,0.237489287588,0.237582417362,0.237675544951,0.237768670356,0.237861793575,0.237954914608,0.238048033454,0.238141150112,0.23823426458,0.238327376859,0.238420486948,0.238513594844,0.238606700549,0.23869980406,0.238792905377,0.238886004499,0.238979101425,0.239072196155,0.239165288687,0.239258379021,0.239351467156,0.239444553091,0.239537636824,0.239630718356,0.239723797685,0.239816874811,0.239909949733,0.240003022449,0.240096092959,0.240189161262,0.240282227358,0.240375291244,0.240468352922,0.240561412389,0.240654469645,0.240747524689,0.24084057752,0.240933628137,0.241026676539,0.241119722726,0.241212766697,0.241305808451,0.241398847986,0.241491885303,0.2415849204,0.241677953276,0.241770983931,0.241864012364,0.241957038573,0.242050062558,0.242143084319,0.242236103854,0.242329121162,0.242422136243,0.242515149095,0.242608159718,0.242701168112,0.242794174274,0.242887178205,0.242980179903,0.243073179368,0.243166176599,0.243259171594,0.243352164353,0.243445154876,0.243538143161,0.243631129207,0.243724113014,0.24381709458,0.243910073906,0.24400305099,0.24409602583,0.244188998427,0.24428196878,0.244374936887,0.244467902748,0.244560866362,0.244653827727,0.244746786844,0.244839743712,0.244932698329,0.245025650694,0.245118600807,0.245211548668,0.245304494274,0.245397437625,0.245490378721,0.245583317561,0.245676254142,0.245769188466,0.245862120531,0.245955050336,0.24604797788,0.246140903162,0.246233826182,0.246326746939,0.246419665431,0.246512581659,0.24660549562,0.246698407315,0.246791316742,0.246884223901,0.24697712879,0.247070031409,0.247162931758,0.247255829834,0.247348725638,0.247441619168,0.247534510423,0.247627399404,0.247720286108,0.247813170535,0.247906052685,0.247998932555,0.248091810146,0.248184685457,0.248277558487,0.248370429234,0.248463297698,0.248556163879,0.248649027775,0.248741889385,0.248834748709,0.248927605746,0.249020460494,0.249113312954,0.249206163124,0.249299011003,0.249391856591,0.249484699886,0.249577540889,0.249670379597,0.24976321601,0.249856050127,0.249948881948,0.250041711471,0.250134538696,0.250227363622,0.250320186248,0.250413006573,0.250505824596,0.250598640317,0.250691453734,0.250784264847,0.250877073654,0.250969880156,0.251062684351,0.251155486238,0.251248285816,0.251341083085,0.251433878044,0.251526670692,0.251619461028,0.25171224905,0.25180503476,0.251897818154,0.251990599233,0.252083377996,0.252176154442,0.25226892857,0.25236170038,0.252454469869,0.252547237038,0.252640001886,0.252732764411,0.252825524613,0.252918282492,0.253011038046,0.253103791274,0.253196542175,0.25328929075,0.253382036996,0.253474780913,0.2535675225,0.253660261756,0.253752998681,0.253845733273,0.253938465532,0.254031195457,0.254123923047,0.254216648301,0.254309371219,0.254402091799,0.25449481004,0.254587525942,0.254680239504,0.254772950725,0.254865659605,0.254958366141,0.255051070334,0.255143772183,0.255236471686,0.255329168844,0.255421863654,0.255514556117,0.255607246231,0.255699933995,0.25579261941,0.255885302473,0.255977983184,0.256070661542,0.256163337546,0.256256011196,0.25634868249,0.256441351428,0.256534018009,0.256626682232,0.256719344096,0.2568120036,0.256904660743,0.256997315526,0.257089967946,0.257182618003,0.257275265696,0.257367911024,0.257460553986,0.257553194582,0.257645832811,0.257738468671,0.257831102162,0.257923733283,0.258016362034,0.258108988413,0.258201612419,0.258294234052,0.258386853311,0.258479470195,0.258572084703,0.258664696834,0.258757306588,0.258849913963,0.258942518959,0.259035121575,0.25912772181,0.259220319663,0.259312915133,0.25940550822,0.259498098922,0.259590687239,0.25968327317,0.259775856714,0.25986843787,0.259961016637,0.260053593015,0.260146167003,0.2602387386,0.260331307804,0.260423874615,0.260516439033,0.260609001056,0.260701560684,0.260794117915,0.260886672749,0.260979225186,0.261071775223,0.26116432286,0.261256868097,0.261349410933,0.261441951366,0.261534489397,0.261627025023,0.261719558244,0.26181208906,0.261904617469,0.261997143471,0.262089667065,0.262182188249,0.262274707024,0.262367223388,0.26245973734,0.26255224888,0.262644758006,0.262737264719,0.262829769016,0.262922270897,0.263014770362,0.263107267409,0.263199762037,0.263292254247,0.263384744036,0.263477231404,0.263569716351,0.263662198875,0.263754678975,0.263847156651,0.263939631901,0.264032104726,0.264124575124,0.264217043093,0.264309508635,0.264401971746,0.264494432428,0.264586890678,0.264679346496,0.264771799882,0.264864250833,0.26495669935,0.265049145432,0.265141589077,0.265234030286,0.265326469056,0.265418905387,0.265511339279,0.26560377073,0.26569619974,0.265788626308,0.265881050432,0.265973472113,0.266065891349,0.266158308139,0.266250722483,0.266343134379,0.266435543828,0.266527950827,0.266620355376,0.266712757475,0.266805157122,0.266897554317,0.266989949058,0.267082341345,0.267174731178,0.267267118554,0.267359503474,0.267451885937,0.267544265941,0.267636643486,0.26772901857,0.267821391194,0.267913761356,0.268006129056,0.268098494292,0.268190857063,0.26828321737,0.268375575211,0.268467930584,0.26856028349,0.268652633928,0.268744981896,0.268837327394,0.26892967042,0.269022010975,0.269114349057,0.269206684665,0.269299017799,0.269391348458,0.26948367664,0.269576002346,0.269668325573,0.269760646322,0.269852964591,0.269945280379,0.270037593687,0.270129904512,0.270222212854,0.270314518713,0.270406822087,0.270499122975,0.270591421377,0.270683717291,0.270776010718,0.270868301656,0.270960590104,0.271052876061,0.271145159527,0.2712374405,0.271329718981,0.271421994967,0.271514268459,0.271606539455,0.271698807954,0.271791073956,0.271883337459,0.271975598464,0.272067856969,0.272160112972,0.272252366475,0.272344617474,0.272436865971,0.272529111963,0.27262135545,0.272713596431,0.272805834906,0.272898070873,0.272990304331,0.273082535281,0.27317476372,0.273266989648,0.273359213064,0.273451433968,0.273543652358,0.273635868234,0.273728081595,0.27382029244,0.273912500767,0.274004706577,0.274096909869,0.274189110641,0.274281308892,0.274373504623,0.274465697831,0.274557888517,0.274650076679,0.274742262317,0.274834445429,0.274926626015,0.275018804074,0.275110979605,0.275203152607,0.275295323079,0.275387491021,0.275479656432,0.275571819311,0.275663979657,0.275756137468,0.275848292746,0.275940445487,0.276032595692,0.27612474336,0.27621688849,0.276309031081,0.276401171132,0.276493308643,0.276585443612,0.276677576039,0.276769705923,0.276861833262,0.276953958057,0.277046080306,0.277138200009,0.277230317164,0.277322431771,0.277414543828,0.277506653336,0.277598760293,0.277690864699,0.277782966552,0.277875065852,0.277967162597,0.278059256787,0.278151348422,0.2782434375,0.27833552402,0.278427607982,0.278519689385,0.278611768228,0.278703844509,0.278795918229,0.278887989387,0.27898005798,0.27907212401,0.279164187474,0.279256248372,0.279348306704,0.279440362467,0.279532415663,0.279624466288,0.279716514344,0.279808559828,0.279900602741,0.27999264308,0.280084680846,0.280176716038,0.280268748654,0.280360778694,0.280452806157,0.280544831042,0.280636853349,0.280728873076,0.280820890222,0.280912904788,0.281004916771,0.281096926171,0.281188932988,0.281280937219,0.281372938866,0.281464937926,0.281556934399,0.281648928284,0.28174091958,0.281832908286,0.281924894402,0.282016877926,0.282108858858,0.282200837197,0.282292812942,0.282384786093,0.282476756647,0.282568724606,0.282660689967,0.282752652729,0.282844612893,0.282936570457,0.28302852542,0.283120477782,0.283212427541,0.283304374697,0.283396319249,0.283488261197,0.283580200538,0.283672137273,0.2837640714,0.283856002919,0.283947931829,0.284039858129,0.284131781818,0.284223702895,0.28431562136,0.284407537211,0.284499450449,0.284591361071,0.284683269077,0.284775174466,0.284867077238,0.284958977392,0.285050874926,0.28514276984,0.285234662133,0.285326551805,0.285418438853,0.285510323278,0.285602205079,0.285694084255,0.285785960804,0.285877834727,0.285969706022,0.286061574688,0.286153440725,0.286245304132,0.286337164908,0.286429023051,0.286520878562,0.286612731439,0.286704581682,0.286796429289,0.286888274261,0.286980116595,0.287071956291,0.287163793349,0.287255627767,0.287347459545,0.287439288681,0.287531115176,0.287622939027,0.287714760235,0.287806578798,0.287898394715,0.287990207987,0.288082018611,0.288173826587,0.288265631915,0.288357434592,0.288449234619,0.288541031995,0.288632826719,0.288724618789,0.288816408206,0.288908194968,0.288999979074,0.289091760524,0.289183539317,0.289275315451,0.289367088927,0.289458859743,0.289550627898,0.289642393391,0.289734156223,0.289825916391,0.289917673895,0.290009428734,0.290101180908,0.290192930415,0.290284677254,0.290376421426,0.290468162928,0.290559901761,0.290651637922,0.290743371412,0.29083510223,0.290926830374,0.291018555844,0.291110278639,0.291201998759,0.291293716201,0.291385430966,0.291477143053,0.291568852461,0.291660559188,0.291752263235,0.2918439646,0.291935663282,0.292027359281,0.292119052596,0.292210743226,0.292302431169,0.292394116426,0.292485798996,0.292577478876,0.292669156068,0.292760830569,0.29285250238,0.292944171498,0.293035837924,0.293127501656,0.293219162694,0.293310821037,0.293402476684,0.293494129634,0.293585779886,0.293677427439,0.293769072293,0.293860714447,0.2939523539,0.29404399065,0.294135624698,0.294227256043,0.294318884683,0.294410510617,0.294502133846,0.294593754367,0.294685372181,0.294776987285,0.294868599681,0.294960209366,0.295051816339,0.295143420601,0.29523502215,0.295326620985,0.295418217106,0.295509810511,0.295601401199,0.295692989171,0.295784574425,0.29587615696,0.295967736775,0.29605931387,0.296150888244,0.296242459895,0.296334028823,0.296425595028,0.296517158508,0.296608719262,0.29670027729,0.296791832591,0.296883385164,0.296974935008,0.297066482122,0.297158026505,0.297249568157,0.297341107077,0.297432643264,0.297524176717,0.297615707435,0.297707235418,0.297798760664,0.297890283172,0.297981802943,0.298073319974,0.298164834266,0.298256345817,0.298347854627,0.298439360694,0.298530864018,0.298622364598,0.298713862433,0.298805357523,0.298896849865,0.298988339461,0.299079826308,0.299171310406,0.299262791754,0.299354270352,0.299445746198,0.299537219291,0.299628689631,0.299720157217,0.299811622048,0.299903084124,0.299994543442,0.300086000003,0.300177453806,0.30026890485,0.300360353133,0.300451798656,0.300543241417,0.300634681416,0.300726118651,0.300817553122,0.300908984828,0.301000413768,0.301091839941,0.301183263347,0.301274683984,0.301366101852,0.30145751695,0.301548929277,0.301640338833,0.301731745615,0.301823149625,0.301914550859,0.302005949319,0.302097345003,0.30218873791,0.302280128039,0.30237151539,0.302462899962,0.302554281753,0.302645660763,0.302737036992,0.302828410438,0.3029197811,0.303011148978,0.30310251407,0.303193876377,0.303285235897,0.303376592629,0.303467946572,0.303559297726,0.30365064609,0.303741991662,0.303833334443,0.303924674431,0.304016011625,0.304107346025,0.30419867763,0.304290006438,0.30438133245,0.304472655663,0.304563976079,0.304655293694,0.304746608509,0.304837920523,0.304929229735,0.305020536145,0.30511183975,0.305203140551,0.305294438547,0.305385733736,0.305477026119,0.305568315693,0.305659602459,0.305750886415,0.305842167561,0.305933445896,0.306024721418,0.306115994128,0.306207264024,0.306298531105,0.306389795371,0.30648105682,0.306572315453,0.306663571267,0.306754824263,0.306846074439,0.306937321795,0.307028566329,0.307119808042,0.307211046931,0.307302282996,0.307393516237,0.307484746652,0.307575974241,0.307667199003,0.307758420937,0.307849640042,0.307940856317,0.308032069761,0.308123280375,0.308214488156,0.308305693104,0.308396895218,0.308488094498,0.308579290942,0.308670484549,0.308761675319,0.308852863252,0.308944048345,0.309035230598,0.309126410011,0.309217586583,0.309308760312,0.309399931198,0.309491099241,0.309582264438,0.30967342679,0.309764586295,0.309855742954,0.309946896764,0.310038047725,0.310129195836,0.310220341096,0.310311483506,0.310402623062,0.310493759766,0.310584893616,0.31067602461,0.31076715275,0.310858278032,0.310949400458,0.311040520025,0.311131636733,0.311222750581,0.311313861569,0.311404969695,0.311496074958,0.311587177359,0.311678276895,0.311769373567,0.311860467372,0.311951558312,0.312042646384,0.312133731587,0.312224813922,0.312315893386,0.31240696998,0.312498043703,0.312589114553,0.312680182529,0.312771247632,0.31286230986,0.312953369212,0.313044425687,0.313135479285,0.313226530004,0.313317577845,0.313408622805,0.313499664885,0.313590704083,0.313681740399,0.313772773831,0.31386380438,0.313954832043,0.31404585682,0.314136878711,0.314227897714,0.314318913829,0.314409927055,0.314500937391,0.314591944836,0.31468294939,0.314773951051,0.314864949818,0.314955945692,0.31504693867,0.315137928753,0.315228915938,0.315319900227,0.315410881617,0.315501860108,0.315592835698,0.315683808388,0.315774778176,0.315865745062,0.315956709045,0.316047670123,0.316138628296,0.316229583563,0.316320535923,0.316411485376,0.316502431921,0.316593375556,0.316684316281,0.316775254096,0.316866188998,0.316957120989,0.317048050065,0.317138976228,0.317229899475,0.317320819806,0.317411737221,0.317502651718,0.317593563297,0.317684471956,0.317775377696,0.317866280514,0.317957180411,0.318048077385,0.318138971436,0.318229862562,0.318320750763,0.318411636039,0.318502518387,0.318593397808,0.318684274301,0.318775147864,0.318866018497,0.318956886199,0.31904775097,0.319138612808,0.319229471712,0.319320327682,0.319411180717,0.319502030816,0.319592877978,0.319683722203,0.319774563489,0.319865401836,0.319956237242,0.320047069708,0.320137899232,0.320228725813,0.320319549451,0.320410370144,0.320501187893,0.320592002695,0.320682814551,0.320773623458,0.320864429418,0.320955232428,0.321046032488,0.321136829597,0.321227623754,0.321318414958,0.321409203209,0.321499988506,0.321590770847,0.321681550233,0.321772326662,0.321863100133,0.321953870645,0.322044638198,0.322135402791,0.322226164423,0.322316923094,0.322407678801,0.322498431545,0.322589181325,0.322679928139,0.322770671988,0.322861412869,0.322952150783,0.323042885729,0.323133617705,0.323224346711,0.323315072746,0.323405795809,0.3234965159,0.323587233016,0.323677947159,0.323768658326,0.323859366518,0.323950071732,0.324040773969,0.324131473228,0.324222169507,0.324312862805,0.324403553123,0.324494240459,0.324584924813,0.324675606182,0.324766284568,0.324856959968,0.324947632382,0.32503830181,0.325128968249,0.3252196317,0.325310292162,0.325400949634,0.325491604115,0.325582255603,0.325672904099,0.325763549602,0.32585419211,0.325944831623,0.32603546814,0.326126101661,0.326216732183,0.326307359707,0.326397984232,0.326488605756,0.32657922428,0.326669839801,0.32676045232,0.326851061836,0.326941668347,0.327032271853,0.327122872352,0.327213469845,0.327304064331,0.327394655808,0.327485244275,0.327575829733,0.327666412179,0.327756991613,0.327847568035,0.327938141443,0.328028711837,0.328119279216,0.328209843579,0.328300404925,0.328390963253,0.328481518563,0.328572070854,0.328662620124,0.328753166373,0.328843709601,0.328934249806,0.329024786987,0.329115321144,0.329205852276,0.329296380382,0.329386905461,0.329477427512,0.329567946535,0.329658462529,0.329748975492,0.329839485424,0.329929992325,0.330020496193,0.330110997028,0.330201494828,0.330291989593,0.330382481322,0.330472970014,0.330563455669,0.330653938285,0.330744417862,0.330834894399,0.330925367895,0.331015838349,0.33110630576,0.331196770128,0.331287231451,0.33137768973,0.331468144962,0.331558597148,0.331649046286,0.331739492376,0.331829935416,0.331920375407,0.332010812346,0.332101246234,0.332191677069,0.33228210485,0.332372529578,0.33246295125,0.332553369866,0.332643785426,0.332734197927,0.332824607371,0.332915013755,0.333005417079,0.333095817343,0.333186214544,0.333276608683,0.333366999759,0.33345738777,0.333547772716,0.333638154596,0.33372853341,0.333818909156,0.333909281834,0.333999651442,0.33409001798,0.334180381448,0.334270741844,0.334361099167,0.334451453417,0.334541804592,0.334632152693,0.334722497718,0.334812839666,0.334903178536,0.334993514328,0.335083847041,0.335174176674,0.335264503226,0.335354826697,0.335445147085,0.335535464389,0.335625778609,0.335716089745,0.335806397794,0.335896702757,0.335987004633,0.33607730342,0.336167599118,0.336257891726,0.336348181243,0.336438467668,0.336528751001,0.336619031241,0.336709308387,0.336799582437,0.336889853392,0.33698012125,0.337070386011,0.337160647674,0.337250906237,0.337341161701,0.337431414063,0.337521663324,0.337611909483,0.337702152538,0.33779239249,0.337882629336,0.337972863077,0.338063093711,0.338153321238,0.338243545656,0.338333766966,0.338423985165,0.338514200254,0.338604412231,0.338694621096,0.338784826848,0.338875029485,0.338965229008,0.339055425415,0.339145618705,0.339235808879,0.339325995934,0.33941617987,0.339506360686,0.339596538381,0.339686712955,0.339776884407,0.339867052735,0.33995721794,0.340047380019,0.340137538974,0.340227694801,0.340317847501,0.340407997074,0.340498143517,0.34058828683,0.340678427013,0.340768564064,0.340858697983,0.340948828769,0.341038956421,0.341129080939,0.34121920232,0.341309320566,0.341399435674,0.341489547644,0.341579656475,0.341669762166,0.341759864717,0.341849964126,0.341940060393,0.342030153518,0.342120243498,0.342210330333,0.342300414024,0.342390494567,0.342480571964,0.342570646212,0.342660717312,0.342750785262,0.342840850062,0.34293091171,0.343020970206,0.343111025549,0.343201077738,0.343291126773,0.343381172652,0.343471215375,0.343561254941,0.343651291349,0.343741324598,0.343831354687,0.343921381616,0.344011405384,0.34410142599,0.344191443433,0.344281457712,0.344371468826,0.344461476776,0.344551481559,0.344641483174,0.344731481622,0.344821476902,0.344911469012,0.345001457951,0.345091443719,0.345181426316,0.345271405739,0.345361381989,0.345451355064,0.345541324964,0.345631291688,0.345721255235,0.345811215604,0.345901172794,0.345991126805,0.346081077636,0.346171025285,0.346260969753,0.346350911038,0.346440849139,0.346530784056,0.346620715788,0.346710644334,0.346800569692,0.346890491863,0.346980410846,0.347070326639,0.347160239242,0.347250148654,0.347340054874,0.347429957901,0.347519857735,0.347609754375,0.347699647819,0.347789538067,0.347879425119,0.347969308973,0.348059189629,0.348149067085,0.348238941341,0.348328812396,0.348418680249,0.3485085449,0.348598406348,0.348688264591,0.348778119629,0.348867971461,0.348957820087,0.349047665505,0.349137507714,0.349227346714,0.349317182505,0.349407015084,0.349496844452,0.349586670607,0.349676493549,0.349766313277,0.34985612979,0.349945943087,0.350035753168,0.350125560031,0.350215363675,0.350305164101,0.350394961307,0.350484755292,0.350574546055,0.350664333596,0.350754117913,0.350843899007,0.350933676876,0.351023451519,0.351113222935,0.351202991125,0.351292756086,0.351382517818,0.35147227632,0.351562031591,0.351651783631,0.351741532439,0.351831278013,0.351921020354,0.35201075946,0.35210049533,0.352190227964,0.35227995736,0.352369683519,0.352459406438,0.352549126118,0.352638842557,0.352728555755,0.352818265711,0.352907972424,0.352997675892,0.353087376116,0.353177073095,0.353266766827,0.353356457312,0.353446144549,0.353535828538,0.353625509277,0.353715186765,0.353804861002,0.353894531987,0.353984199719,0.354073864197,0.35416352542,0.354253183389,0.354342838101,0.354432489556,0.354522137753,0.354611782691,0.35470142437,0.354791062789,0.354880697946,0.354970329842,0.355059958474,0.355149583843,0.355239205948,0.355328824787,0.35541844036,0.355508052666,0.355597661705,0.355687267475,0.355776869975,0.355866469205,0.355956065165,0.356045657852,0.356135247267,0.356224833408,0.356314416274,0.356403995866,0.356493572182,0.35658314522,0.356672714982,0.356762281464,0.356851844668,0.356941404591,0.357030961233,0.357120514594,0.357210064672,0.357299611467,0.357389154977,0.357478695203,0.357568232142,0.357657765795,0.35774729616,0.357836823237,0.357926347025,0.358015867523,0.35810538473,0.358194898645,0.358284409268,0.358373916598,0.358463420634,0.358552921374,0.358642418819,0.358731912968,0.358821403819,0.358910891371,0.359000375625,0.359089856579,0.359179334232,0.359268808584,0.359358279633,0.35944774738,0.359537211822,0.359626672959,0.359716130791,0.359805585317,0.359895036535,0.359984484445,0.360073929046,0.360163370338,0.360252808319,0.360342242988,0.360431674346,0.36052110239,0.360610527121,0.360699948537,0.360789366637,0.360878781421,0.360968192888,0.361057601037,0.361147005867,0.361236407378,0.361325805568,0.361415200438,0.361504591985,0.361593980209,0.361683365109,0.361772746685,0.361862124936,0.36195149986,0.362040871458,0.362130239727,0.362219604668,0.36230896628,0.362398324561,0.362487679511,0.36257703113,0.362666379415,0.362755724367,0.362845065985,0.362934404268,0.363023739214,0.363113070824,0.363202399096,0.363291724029,0.363381045623,0.363470363877,0.36355967879,0.363648990362,0.363738298591,0.363827603476,0.363916905017,0.364006203213,0.364095498064,0.364184789567,0.364274077723,0.364363362531,0.364452643989,0.364541922098,0.364631196856,0.364720468262,0.364809736316,0.364899001016,0.364988262363,0.365077520354,0.36516677499,0.365256026269,0.365345274191,0.365434518755,0.36552375996,0.365612997805,0.365702232289,0.365791463412,0.365880691173,0.36596991557,0.366059136604,0.366148354272,0.366237568576,0.366326779513,0.366415987082,0.366505191284,0.366594392117,0.36668358958,0.366772783673,0.366861974394,0.366951161743,0.36704034572,0.367129526322,0.36721870355,0.367307877403,0.367397047879,0.367486214979,0.3675753787,0.367664539043,0.367753696007,0.36784284959,0.367931999792,0.368021146612,0.368110290049,0.368199430102,0.368288566771,0.368377700055,0.368466829953,0.368555956464,0.368645079588,0.368734199323,0.368823315668,0.368912428624,0.369001538188,0.369090644361,0.369179747141,0.369268846527,0.36935794252,0.369447035117,0.369536124318,0.369625210123,0.36971429253,0.369803371539,0.369892447149,0.369981519359,0.370070588168,0.370159653575,0.37024871558,0.370337774182,0.370426829379,0.370515881172,0.370604929559,0.37069397454,0.370783016113,0.370872054278,0.370961089034,0.37105012038,0.371139148316,0.37122817284,0.371317193952,0.371406211651,0.371495225936,0.371584236806,0.371673244261,0.371762248299,0.37185124892,0.371940246124,0.372029239908,0.372118230273,0.372207217218,0.372296200741,0.372385180842,0.37247415752,0.372563130775,0.372652100605,0.37274106701,0.372830029988,0.37291898954,0.373007945663,0.373096898359,0.373185847624,0.37327479346,0.373363735864,0.373452674837,0.373541610377,0.373630542483,0.373719471155,0.373808396392,0.373897318193,0.373986236557,0.374075151483,0.374164062971,0.37425297102,0.374341875629,0.374430776797,0.374519674523,0.374608568807,0.374697459647,0.374786347044,0.374875230995,0.374964111501,0.37505298856,0.375141862171,0.375230732334,0.375319599049,0.375408462313,0.375497322127,0.375586178489,0.375675031399,0.375763880856,0.375852726859,0.375941569407,0.3760304085,0.376119244136,0.376208076315,0.376296905036,0.376385730298,0.3764745521,0.376563370442,0.376652185323,0.376740996741,0.376829804697,0.376918609189,0.377007410216,0.377096207778,0.377185001874,0.377273792503,0.377362579664,0.377451363356,0.377540143579,0.377628920332,0.377717693613,0.377806463423,0.37789522976,0.377983992623,0.378072752012,0.378161507926,0.378250260364,0.378339009325,0.378427754809,0.378516496814,0.37860523534,0.378693970385,0.37878270195,0.378871430034,0.378960154634,0.379048875752,0.379137593385,0.379226307533,0.379315018196,0.379403725372,0.37949242906,0.37958112926,0.379669825972,0.379758519193,0.379847208924,0.379935895163,0.38002457791,0.380113257164,0.380201932924,0.38029060519,0.380379273959,0.380467939233,0.380556601009,0.380645259287,0.380733914067,0.380822565346,0.380911213126,0.380999857404,0.38108849818,0.381177135453,0.381265769222,0.381354399487,0.381443026247,0.3815316495,0.381620269247,0.381708885485,0.381797498215,0.381886107436,0.381974713147,0.382063315346,0.382151914034,0.382240509209,0.38232910087,0.382417689017,0.382506273649,0.382594854766,0.382683432365,0.382772006447,0.382860577011,0.382949144055,0.383037707579,0.383126267583,0.383214824065,0.383303377024,0.383391926461,0.383480472373,0.38356901476,0.383657553622,0.383746088957,0.383834620765,0.383923149045,0.384011673796,0.384100195017,0.384188712707,0.384277226867,0.384365737494,0.384454244587,0.384542748148,0.384631248173,0.384719744663,0.384808237617,0.384896727034,0.384985212912,0.385073695252,0.385162174053,0.385250649313,0.385339121032,0.38542758921,0.385516053844,0.385604514935,0.385692972481,0.385781426482,0.385869876938,0.385958323846,0.386046767207,0.386135207019,0.386223643282,0.386312075995,0.386400505157,0.386488930767,0.386577352825,0.386665771329,0.38675418628,0.386842597675,0.386931005514,0.387019409797,0.387107810523,0.38719620769,0.387284601299,0.387372991347,0.387461377835,0.387549760761,0.387638140125,0.387726515926,0.387814888164,0.387903256836,0.387991621943,0.388079983483,0.388168341457,0.388256695862,0.388345046699,0.388433393966,0.388521737663,0.388610077788,0.388698414342,0.388786747322,0.388875076729,0.388963402562,0.389051724819,0.3891400435,0.389228358604,0.389316670131,0.389404978079,0.389493282448,0.389581583236,0.389669880444,0.38975817407,0.389846464113,0.389934750573,0.390023033449,0.39011131274,0.390199588444,0.390287860563,0.390376129094,0.390464394036,0.39055265539,0.390640913153,0.390729167326,0.390817417908,0.390905664897,0.390993908293,0.391082148095,0.391170384302,0.391258616914,0.391346845929,0.391435071348,0.391523293168,0.391611511389,0.391699726011,0.391787937033,0.391876144453,0.391964348271,0.392052548486,0.392140745098,0.392228938105,0.392317127507,0.392405313303,0.392493495492,0.392581674073,0.392669849046,0.392758020409,0.392846188162,0.392934352304,0.393022512835,0.393110669753,0.393198823057,0.393286972747,0.393375118823,0.393463261282,0.393551400125,0.39363953535,0.393727666957,0.393815794945,0.393903919314,0.393992040061,0.394080157187,0.394168270691,0.394256380571,0.394344486828,0.39443258946,0.394520688466,0.394608783847,0.394696875599,0.394784963724,0.394873048221,0.394961129087,0.395049206323,0.395137279928,0.395225349901,0.395313416241,0.395401478948,0.39548953802,0.395577593457,0.395665645257,0.395753693421,0.395841737947,0.395929778835,0.396017816083,0.396105849692,0.396193879659,0.396281905985,0.396369928668,0.396457947707,0.396545963103,0.396633974854,0.396721982958,0.396809987417,0.396897988228,0.39698598539,0.397073978904,0.397161968768,0.397249954981,0.397337937543,0.397425916452,0.397513891709,0.397601863311,0.397689831259,0.397777795552,0.397865756188,0.397953713167,0.398041666488,0.39812961615,0.398217562153,0.398305504496,0.398393443177,0.398481378197,0.398569309554,0.398657237247,0.398745161276,0.398833081639,0.398920998337,0.399008911368,0.399096820731,0.399184726426,0.399272628452,0.399360526807,0.399448421492,0.399536312505,0.399624199846,0.399712083513,0.399799963506,0.399887839825,0.399975712468,0.400063581434,0.400151446723,0.400239308334,0.400327166266,0.400415020518,0.40050287109,0.40059071798,0.400678561188,0.400766400714,0.400854236555,0.400942068712,0.401029897184,0.401117721969,0.401205543067,0.401293360478,0.4013811742,0.401468984233,0.401556790575,0.401644593226,0.401732392186,0.401820187453,0.401907979026,0.401995766905,0.40208355109,0.402171331578,0.402259108369,0.402346881464,0.402434650859,0.402522416556,0.402610178553,0.402697936849,0.402785691444,0.402873442336,0.402961189525,0.40304893301,0.403136672791,0.403224408866,0.403312141235,0.403399869896,0.403487594849,0.403575316094,0.403663033629,0.403750747454,0.403838457568,0.403926163969,0.404013866658,0.404101565633,0.404189260894,0.404276952439,0.404364640269,0.404452324382,0.404540004777,0.404627681453,0.40471535441,0.404803023648,0.404890689164,0.404978350959,0.405066009031,0.40515366338,0.405241314005,0.405328960905,0.405416604079,0.405504243527,0.405591879248,0.40567951124,0.405767139503,0.405854764037,0.40594238484,0.406030001912,0.406117615252,0.406205224859,0.406292830732,0.40638043287,0.406468031273,0.40655562594,0.40664321687,0.406730804063,0.406818387516,0.40690596723,0.406993543204,0.407081115438,0.407168683929,0.407256248677,0.407343809683,0.407431366944,0.40751892046,0.40760647023,0.407694016253,0.407781558529,0.407869097057,0.407956631836,0.408044162865,0.408131690143,0.40821921367,0.408306733445,0.408394249466,0.408481761734,0.408569270247,0.408656775004,0.408744276005,0.40883177325,0.408919266736,0.409006756463,0.409094242431,0.409181724639,0.409269203086,0.40935667777,0.409444148692,0.409531615851,0.409619079245,0.409706538874,0.409793994737,0.409881446833,0.409968895162,0.410056339722,0.410143780514,0.410231217535,0.410318650785,0.410406080264,0.410493505971,0.410580927905,0.410668346064,0.410755760449,0.410843171058,0.410930577891,0.411017980946,0.411105380224,0.411192775723,0.411280167442,0.411367555381,0.411454939538,0.411542319914,0.411629696507,0.411717069316,0.41180443834,0.41189180358,0.411979165034,0.4120665227,0.412153876579,0.41224122667,0.412328572971,0.412415915483,0.412503254203,0.412590589132,0.412677920268,0.412765247612,0.412852571161,0.412939890915,0.413027206874,0.413114519036,0.413201827401,0.413289131968,0.413376432736,0.413463729704,0.413551022872,0.413638312238,0.413725597803,0.413812879565,0.413900157523,0.413987431676,0.414074702024,0.414161968566,0.414249231301,0.414336490229,0.414423745348,0.414510996658,0.414598244157,0.414685487846,0.414772727723,0.414859963788,0.414947196039,0.415034424476,0.415121649098,0.415208869905,0.415296086895,0.415383300068,0.415470509422,0.415557714958,0.415644916674,0.415732114569,0.415819308643,0.415906498895,0.415993685324,0.41608086793,0.41616804671,0.416255221666,0.416342392795,0.416429560098,0.416516723572,0.416603883218,0.416691039035,0.416778191022,0.416865339178,0.416952483502,0.417039623993,0.417126760651,0.417213893475,0.417301022464,0.417388147618,0.417475268935,0.417562386414,0.417649500055,0.417736609858,0.41782371582,0.417910817942,0.417997916223,0.418085010662,0.418172101257,0.418259188009,0.418346270916,0.418433349978,0.418520425194,0.418607496563,0.418694564084,0.418781627757,0.41886868758,0.418955743553,0.419042795675,0.419129843945,0.419216888363,0.419303928928,0.419390965638,0.419477998493,0.419565027493,0.419652052636,0.419739073922,0.419826091349,0.419913104918,0.420000114627,0.420087120475,0.420174122462,0.420261120587,0.420348114849,0.420435105247,0.42052209178,0.420609074448,0.42069605325,0.420783028186,0.420869999253,0.420956966452,0.421043929781,0.42113088924,0.421217844829,0.421304796545,0.42139174439,0.42147868836,0.421565628457,0.421652564679,0.421739497024,0.421826425494,0.421913350086,0.4220002708,0.422087187635,0.42217410059,0.422261009665,0.422347914858,0.422434816169,0.422521713598,0.422608607142,0.422695496802,0.422782382577,0.422869264466,0.422956142467,0.423043016581,0.423129886807,0.423216753143,0.423303615589,0.423390474144,0.423477328807,0.423564179578,0.423651026456,0.423737869439,0.423824708528,0.42391154372,0.423998375017,0.424085202416,0.424172025917,0.424258845519,0.424345661221,0.424432473023,0.424519280923,0.424606084922,0.424692885017,0.424779681209,0.424866473496,0.424953261879,0.425040046355,0.425126826924,0.425213603585,0.425300376338,0.425387145182,0.425473910116,0.425560671138,0.42564742825,0.425734181448,0.425820930734,0.425907676105,0.425994417562,0.426081155102,0.426167888727,0.426254618434,0.426341344223,0.426428066093,0.426514784044,0.426601498074,0.426688208183,0.42677491437,0.426861616634,0.426948314975,0.427035009391,0.427121699882,0.427208386447,0.427295069085,0.427381747795,0.427468422577,0.42755509343,0.427641760353,0.427728423345,0.427815082406,0.427901737534,0.427988388729,0.42807503599,0.428161679316,0.428248318707,0.428334954161,0.428421585678,0.428508213257,0.428594836897,0.428681456598,0.428768072359,0.428854684178,0.428941292055,0.42902789599,0.429114495981,0.429201092028,0.42928768413,0.429374272285,0.429460856494,0.429547436756,0.429634013069,0.429720585433,0.429807153847,0.429893718311,0.429980278823,0.430066835383,0.430153387989,0.430239936642,0.43032648134,0.430413022083,0.430499558869,0.430586091698,0.43067262057,0.430759145483,0.430845666436,0.430932183429,0.431018696461,0.431105205531,0.431191710639,0.431278211783,0.431364708963,0.431451202178,0.431537691427,0.43162417671,0.431710658025,0.431797135372,0.43188360875,0.431970078158,0.432056543596,0.432143005062,0.432229462556,0.432315916077,0.432402365625,0.432488811198,0.432575252795,0.432661690416,0.432748124061,0.432834553727,0.432920979416,0.433007401124,0.433093818853,0.433180232601,0.433266642367,0.433353048151,0.433439449951,0.433525847767,0.433612241599,0.433698631444,0.433785017304,0.433871399176,0.43395777706,0.434044150955,0.43413052086,0.434216886775,0.434303248699,0.434389606631,0.43447596057,0.434562310515,0.434648656466,0.434734998422,0.434821336381,0.434907670344,0.43499400031,0.435080326277,0.435166648245,0.435252966213,0.43533928018,0.435425590145,0.435511896108,0.435598198069,0.435684496025,0.435770789976,0.435857079922,0.435943365862,0.436029647794,0.436115925719,0.436202199635,0.436288469542,0.436374735438,0.436460997323,0.436547255196,0.436633509057,0.436719758904,0.436806004737,0.436892246555,0.436978484357,0.437064718143,0.437150947911,0.437237173661,0.437323395392,0.437409613103,0.437495826794,0.437582036463,0.43766824211,0.437754443734,0.437840641334,0.43792683491,0.438013024461,0.438099209985,0.438185391483,0.438271568952,0.438357742394,0.438443911806,0.438530077188,0.438616238539,0.438702395858,0.438788549145,0.438874698398,0.438960843618,0.439046984803,0.439133121952,0.439219255065,0.43930538414,0.439391509178,0.439477630176,0.439563747135,0.439649860054,0.439735968932,0.439822073767,0.43990817456,0.43999427131,0.440080364015,0.440166452675,0.440252537288,0.440338617856,0.440424694375,0.440510766847,0.440596835269,0.440682899642,0.440768959964,0.440855016234,0.440941068452,0.441027116617,0.441113160729,0.441199200785,0.441285236787,0.441371268732,0.44145729662,0.44154332045,0.441629340222,0.441715355934,0.441801367586,0.441887375178,0.441973378707,0.442059378174,0.442145373578,0.442231364918,0.442317352192,0.442403335401,0.442489314544,0.442575289619,0.442661260626,0.442747227565,0.442833190433,0.442919149232,0.443005103959,0.443091054614,0.443177001196,0.443262943705,0.443348882139,0.443434816498,0.443520746781,0.443606672988,0.443692595117,0.443778513167,0.443864427139,0.44395033703,0.444036242841,0.44412214457,0.444208042218,0.444293935782,0.444379825262,0.444465710657,0.444551591967,0.444637469191,0.444723342328,0.444809211377,0.444895076338,0.444980937209,0.44506679399,0.44515264668,0.445238495278,0.445324339783,0.445410180196,0.445496016514,0.445581848737,0.445667676865,0.445753500896,0.44583932083,0.445925136666,0.446010948403,0.44609675604,0.446182559577,0.446268359013,0.446354154346,0.446439945577,0.446525732705,0.446611515728,0.446697294645,0.446783069457,0.446868840162,0.44695460676,0.447040369249,0.447126127629,0.4472118819,0.447297632059,0.447383378108,0.447469120043,0.447554857866,0.447640591575,0.44772632117,0.447812046649,0.447897768012,0.447983485257,0.448069198386,0.448154907395,0.448240612285,0.448326313055,0.448412009704,0.448497702232,0.448583390637,0.448669074918,0.448754755076,0.448840431109,0.448926103016,0.449011770796,0.44909743445,0.449183093975,0.449268749372,0.449354400639,0.449440047776,0.449525690781,0.449611329655,0.449696964395,0.449782595003,0.449868221476,0.449953843814,0.450039462016,0.450125076081,0.450210686009,0.450296291799,0.450381893449,0.45046749096,0.45055308433,0.450638673559,0.450724258646,0.45080983959,0.45089541639,0.450980989045,0.451066557555,0.451152121919,0.451237682136,0.451323238206,0.451408790127,0.451494337898,0.45157988152,0.451665420991,0.45175095631,0.451836487477,0.451922014491,0.45200753735,0.452093056055,0.452178570605,0.452264080998,0.452349587234,0.452435089312,0.452520587231,0.452606080991,0.452691570591,0.452777056029,0.452862537306,0.45294801442,0.453033487371,0.453118956157,0.453204420779,0.453289881235,0.453375337524,0.453460789646,0.4535462376,0.453631681385,0.453717121,0.453802556445,0.453887987718,0.45397341482,0.454058837749,0.454144256504,0.454229671084,0.45431508149,0.454400487719,0.454485889772,0.454571287647,0.454656681344,0.454742070862,0.4548274562,0.454912837357,0.454998214333,0.455083587126,0.455168955737,0.455254320163,0.455339680406,0.455425036462,0.455510388333,0.455595736016,0.455681079512,0.455766418819,0.455851753937,0.455937084865,0.456022411602,0.456107734148,0.456193052501,0.45627836666,0.456363676626,0.456448982397,0.456534283972,0.456619581351,0.456704874533,0.456790163517,0.456875448302,0.456960728888,0.457046005273,0.457131277457,0.45721654544,0.457301809219,0.457387068796,0.457472324168,0.457557575335,0.457642822297,0.457728065051,0.457813303599,0.457898537938,0.457983768069,0.45806899399,0.4581542157,0.458239433199,0.458324646486,0.45840985556,0.458495060421,0.458580261067,0.458665457498,0.458750649713,0.458835837712,0.458921021492,0.459006201055,0.459091376398,0.459176547522,0.459261714425,0.459346877106,0.459432035566,0.459517189802,0.459602339814,0.459687485602,0.459772627165,0.459857764501,0.459942897611,0.460028026493,0.460113151146,0.46019827157,0.460283387764,0.460368499727,0.460453607459,0.460538710958,0.460623810224,0.460708905256,0.460793996054,0.460879082616,0.460964164941,0.46104924303,0.46113431688,0.461219386492,0.461304451865,0.461389512997,0.461474569888,0.461559622538,0.461644670945,0.461729715108,0.461814755028,0.461899790702,0.461984822131,0.462069849314,0.462154872249,0.462239890936,0.462324905375,0.462409915563,0.462494921502,0.462579923189,0.462664920624,0.462749913807,0.462834902736,0.462919887411,0.463004867831,0.463089843995,0.463174815902,0.463259783552,0.463344746944,0.463429706076,0.463514660949,0.463599611562,0.463684557913,0.463769500002,0.463854437828,0.463939371391,0.464024300689,0.464109225722,0.464194146489,0.464279062989,0.464363975222,0.464448883186,0.464533786881,0.464618686306,0.464703581461,0.464788472344,0.464873358955,0.464958241293,0.465043119357,0.465127993146,0.46521286266,0.465297727898,0.46538258886,0.465467445543,0.465552297948,0.465637146073,0.465721989919,0.465806829484,0.465891664767,0.465976495768,0.466061322486,0.466146144919,0.466230963068,0.466315776932,0.466400586509,0.466485391799,0.466570192802,0.466654989516,0.46673978194,0.466824570074,0.466909353917,0.466994133469,0.467078908728,0.467163679694,0.467248446365,0.467333208742,0.467417966823,0.467502720608,0.467587470095,0.467672215285,0.467756956176,0.467841692767,0.467926425058,0.468011153048,0.468095876736,0.468180596122,0.468265311204,0.468350021982,0.468434728455,0.468519430622,0.468604128483,0.468688822036,0.468773511281,0.468858196217,0.468942876844,0.46902755316,0.469112225165,0.469196892859,0.469281556239,0.469366215306,0.469450870058,0.469535520496,0.469620166617,0.469704808422,0.46978944591,0.469874079079,0.469958707929,0.47004333246,0.47012795267,0.470212568558,0.470297180125,0.470381787369,0.470466390289,0.470550988884,0.470635583155,0.470720173099,0.470804758717,0.470889340007,0.470973916969,0.471058489601,0.471143057904,0.471227621877,0.471312181517,0.471396736826,0.471481287802,0.471565834443,0.471650376751,0.471734914723,0.471819448359,0.471903977658,0.471988502619,0.472073023242,0.472157539526,0.47224205147,0.472326559073,0.472411062335,0.472495561254,0.47258005583,0.472664546063,0.47274903195,0.472833513493,0.472917990689,0.473002463538,0.473086932039,0.473171396192,0.473255855996,0.47334031145,0.473424762552,0.473509209303,0.473593651702,0.473678089748,0.473762523439,0.473846952776,0.473931377757,0.474015798383,0.474100214651,0.474184626561,0.474269034112,0.474353437305,0.474437836137,0.474522230608,0.474606620717,0.474691006464,0.474775387848,0.474859764868,0.474944137522,0.475028505812,0.475112869735,0.47519722929,0.475281584478,0.475365935297,0.475450281747,0.475534623827,0.475618961535,0.475703294872,0.475787623836,0.475871948427,0.475956268643,0.476040584485,0.476124895951,0.476209203041,0.476293505753,0.476377804088,0.476462098044,0.47654638762,0.476630672816,0.47671495363,0.476799230063,0.476883502114,0.47696776978,0.477052033063,0.477136291961,0.477220546473,0.477304796598,0.477389042337,0.477473283687,0.477557520648,0.47764175322,0.477725981401,0.477810205191,0.477894424589,0.477978639595,0.478062850207,0.478147056425,0.478231258248,0.478315455675,0.478399648705,0.478483837338,0.478568021573,0.478652201409,0.478736376845,0.478820547881,0.478904714516,0.478988876749,0.479073034579,0.479157188005,0.479241337027,0.479325481644,0.479409621856,0.47949375766,0.479577889057,0.479662016046,0.479746138626,0.479830256797,0.479914370556,0.479998479905,0.480082584841,0.480166685365,0.480250781475,0.480334873171,0.480418960451,0.480503043316,0.480587121764,0.480671195795,0.480755265407,0.4808393306,0.480923391374,0.481007447727,0.481091499659,0.481175547168,0.481259590255,0.481343628918,0.481427663157,0.48151169297,0.481595718358,0.481679739319,0.481763755852,0.481847767957,0.481931775633,0.482015778879,0.482099777695,0.482183772079,0.482267762031,0.482351747551,0.482435728636,0.482519705287,0.482603677503,0.482687645283,0.482771608626,0.482855567532,0.482939521999,0.483023472027,0.483107417616,0.483191358763,0.48327529547,0.483359227734,0.483443155555,0.483527078933,0.483610997866,0.483694912354,0.483778822396,0.483862727991,0.483946629138,0.484030525837,0.484114418087,0.484198305888,0.484282189237,0.484366068135,0.484449942581,0.484533812574,0.484617678113,0.484701539198,0.484785395827,0.484869248001,0.484953095717,0.485036938976,0.485120777777,0.485204612119,0.485288442,0.485372267421,0.485456088381,0.485539904878,0.485623716912,0.485707524483,0.485791327589,0.48587512623,0.485958920404,0.486042710112,0.486126495353,0.486210276124,0.486294052427,0.48637782426,0.486461591622,0.486545354513,0.486629112932,0.486712866877,0.486796616349,0.486880361346,0.486964101868,0.487047837914,0.487131569483,0.487215296574,0.487299019187,0.487382737321,0.487466450975,0.487550160148,0.48763386484,0.48771756505,0.487801260776,0.487884952019,0.487968638778,0.488052321051,0.488135998838,0.488219672138,0.48830334095,0.488387005274,0.488470665109,0.488554320454,0.488637971309,0.488721617671,0.488805259542,0.48888889692,0.488972529804,0.489056158193,0.489139782087,0.489223401485,0.489307016386,0.48939062679,0.489474232695,0.489557834101,0.489641431007,0.489725023413,0.489808611317,0.489892194719,0.489975773617,0.490059348012,0.490142917903,0.490226483288,0.490310044167,0.49039360054,0.490477152405,0.490560699761,0.490644242608,0.490727780946,0.490811314773,0.490894844088,0.490978368891,0.491061889181,0.491145404957,0.491228916219,0.491312422966,0.491395925197,0.49147942291,0.491562916107,0.491646404784,0.491729888943,0.491813368582,0.4918968437,0.491980314297,0.492063780372,0.492147241923,0.492230698951,0.492314151455,0.492397599433,0.492481042886,0.492564481811,0.492647916209,0.492731346079,0.492814771419,0.49289819223,0.49298160851,0.493065020259,0.493148427475,0.493231830159,0.493315228309,0.493398621924,0.493482011004,0.493565395549,0.493648775556,0.493732151026,0.493815521958,0.493898888351,0.493982250204,0.494065607516,0.494148960287,0.494232308516,0.494315652202,0.494398991344,0.494482325942,0.494565655995,0.494648981502,0.494732302462,0.494815618875,0.494898930739,0.494982238054,0.49506554082,0.495148839035,0.495232132699,0.495315421811,0.49539870637,0.495481986375,0.495565261826,0.495648532722,0.495731799061,0.495815060845,0.495898318071,0.495981570738,0.496064818847,0.496148062396,0.496231301384,0.496314535811,0.496397765677,0.496480990979,0.496564211718,0.496647427893,0.496730639502,0.496813846546,0.496897049023,0.496980246932,0.497063440274,0.497146629046,0.497229813249,0.497312992882,0.497396167943,0.497479338433,0.497562504349,0.497645665692,0.497728822461,0.497811974655,0.497895122273,0.497978265315,0.498061403779,0.498144537665,0.498227666973,0.498310791701,0.498393911848,0.498477027414,0.498560138399,0.4986432448,0.498726346619,0.498809443853,0.498892536502,0.498975624565,0.499058708042,0.499141786932,0.499224861234,0.499307930946,0.49939099607,0.499474056603,0.499557112545,0.499640163895,0.499723210653,0.499806252817,0.499889290387,0.499972323363,0.500055351742,0.500138375526,0.500221394712,0.5003044093,0.50038741929,0.50047042468,0.500553425469,0.500636421658,0.500719413245,0.50080240023,0.500885382611,0.500968360389,0.501051333561,0.501134302128,0.501217266089,0.501300225442,0.501383180188,0.501466130325,0.501549075853,0.50163201677,0.501714953077,0.501797884772,0.501880811855,0.501963734324,0.50204665218,0.50212956542,0.502212474046,0.502295378055,0.502378277447,0.502461172221,0.502544062377,0.502626947914,0.50270982883,0.502792705126,0.5028755768,0.502958443852,0.503041306281,0.503124164086,0.503207017266,0.503289865821,0.50337270975,0.503455549051,0.503538383726,0.503621213772,0.503704039188,0.503786859975,0.503869676131,0.503952487655,0.504035294548,0.504118096807,0.504200894433,0.504283687424,0.50436647578,0.504449259499,0.504532038582,0.504614813028,0.504697582835,0.504780348003,0.504863108531,0.504945864419,0.505028615665,0.505111362269,0.505194104231,0.505276841548,0.505359574222,0.50544230225,0.505525025632,0.505607744367,0.505690458455,0.505773167895,0.505855872686,0.505938572827,0.506021268318,0.506103959158,0.506186645345,0.50626932688,0.506352003761,0.506434675988,0.50651734356,0.506600006476,0.506682664736,0.506765318338,0.506847967282,0.506930611567,0.507013251193,0.507095886158,0.507178516462,0.507261142105,0.507343763084,0.507426379401,0.507508991053,0.50759159804,0.507674200362,0.507756798017,0.507839391005,0.507921979325,0.508004562976,0.508087141958,0.50816971627,0.50825228591,0.508334850879,0.508417411175,0.508499966799,0.508582517748,0.508665064022,0.508747605621,0.508830142543,0.508912674789,0.508995202356,0.509077725245,0.509160243455,0.509242756984,0.509325265833,0.50940777,0.509490269485,0.509572764287,0.509655254404,0.509737739837,0.509820220585,0.509902696647,0.509985168021,0.510067634708,0.510150096707,0.510232554016,0.510315006635,0.510397454564,0.510479897801,0.510562336346,0.510644770198,0.510727199357,0.51080962382,0.510892043589,0.510974458661,0.511056869037,0.511139274715,0.511221675695,0.511304071976,0.511386463557,0.511468850438,0.511551232617,0.511633610094,0.511715982869,0.511798350939,0.511880714306,0.511963072967,0.512045426923,0.512127776172,0.512210120713,0.512292460546,0.512374795671,0.512457126086,0.51253945179,0.512621772783,0.512704089065,0.512786400634,0.512868707489,0.51295100963,0.513033307056,0.513115599767,0.513197887761,0.513280171038,0.513362449596,0.513444723437,0.513526992557,0.513609256958,0.513691516637,0.513773771595,0.51385602183,0.513938267342,0.51402050813,0.514102744193,0.514184975531,0.514267202142,0.514349424027,0.514431641183,0.514513853611,0.51459606131,0.514678264279,0.514760462517,0.514842656023,0.514924844797,0.515007028838,0.515089208145,0.515171382717,0.515253552554,0.515335717655,0.515417878019,0.515500033646,0.515582184534,0.515664330683,0.515746472092,0.515828608761,0.515910740688,0.515992867873,0.516074990315,0.516157108014,0.516239220968,0.516321329177,0.51640343264,0.516485531356,0.516567625325,0.516649714546,0.516731799018,0.51681387874,0.516895953711,0.516978023932,0.5170600894,0.517142150116,0.517224206079,0.517306257287,0.51738830374,0.517470345437,0.517552382378,0.517634414562,0.517716441988,0.517798464655,0.517880482562,0.51796249571,0.518044504096,0.518126507721,0.518208506583,0.518290500681,0.518372490016,0.518454474586,0.518536454391,0.518618429429,0.5187003997,0.518782365203,0.518864325938,0.518946281904,0.519028233099,0.519110179524,0.519192121177,0.519274058058,0.519355990166,0.5194379175,0.519519840059,0.519601757843,0.519683670851,0.519765579082,0.519847482536,0.519929381211,0.520011275108,0.520093164224,0.52017504856,0.520256928114,0.520338802887,0.520420672876,0.520502538082,0.520584398504,0.52066625414,0.520748104991,0.520829951055,0.520911792332,0.52099362882,0.52107546052,0.52115728743,0.52123910955,0.521320926879,0.521402739415,0.521484547159,0.52156635011,0.521648148267,0.521729941629,0.521811730195,0.521893513965,0.521975292937,0.522057067112,0.522138836488,0.522220601065,0.522302360841,0.522384115817,0.522465865991,0.522547611363,0.522629351931,0.522711087696,0.522792818656,0.52287454481,0.522956266159,0.5230379827,0.523119694434,0.523201401359,0.523283103476,0.523364800782,0.523446493278,0.523528180962,0.523609863834,0.523691541893,0.523773215139,0.52385488357,0.523936547186,0.524018205986,0.52409985997,0.524181509136,0.524263153484,0.524344793013,0.524426427722,0.524508057611,0.524589682678,0.524671302924,0.524752918347,0.524834528947,0.524916134723,0.524997735673,0.525079331798,0.525160923097,0.525242509568,0.525324091212,0.525405668026,0.525487240012,0.525568807167,0.525650369491,0.525731926984,0.525813479644,0.525895027471,0.525976570464,0.526058108623,0.526139641946,0.526221170433,0.526302694083,0.526384212895,0.526465726869,0.526547236004,0.526628740298,0.526710239753,0.526791734365,0.526873224136,0.526954709064,0.527036189148,0.527117664387,0.527199134782,0.52728060033,0.527362061032,0.527443516887,0.527524967893,0.527606414051,0.527687855359,0.527769291816,0.527850723423,0.527932150177,0.528013572079,0.528094989127,0.528176401321,0.528257808661,0.528339211145,0.528420608772,0.528502001542,0.528583389455,0.528664772508,0.528746150703,0.528827524037,0.52890889251,0.528990256122,0.529071614872,0.529152968758,0.52923431778,0.529315661938,0.52939700123,0.529478335657,0.529559665216,0.529640989908,0.529722309732,0.529803624686,0.529884934771,0.529966239985,0.530047540328,0.530128835798,0.530210126396,0.53029141212,0.53037269297,0.530453968945,0.530535240044,0.530616506266,0.530697767612,0.530779024079,0.530860275667,0.530941522376,0.531022764204,0.531104001151,0.531185233217,0.5312664604,0.5313476827,0.531428900115,0.531510112646,0.531591320292,0.531672523051,0.531753720923,0.531834913907,0.531916102003,0.531997285209,0.532078463526,0.532159636952,0.532240805486,0.532321969128,0.532403127877,0.532484281733,0.532565430693,0.532646574759,0.532727713929,0.532808848202,0.532889977577,0.532971102054,0.533052221633,0.533133336311,0.533214446089,0.533295550966,0.533376650941,0.533457746014,0.533538836183,0.533619921447,0.533701001807,0.533782077261,0.533863147809,0.53394421345,0.534025274182,0.534106330006,0.534187380921,0.534268426926,0.534349468019,0.534430504201,0.534511535471,0.534592561827,0.53467358327,0.534754599798,0.534835611411,0.534916618107,0.534997619887,0.535078616749,0.535159608693,0.535240595718,0.535321577823,0.535402555007,0.53548352727,0.535564494611,0.53564545703,0.535726414524,0.535807367095,0.53588831474,0.53596925746,0.536050195253,0.536131128119,0.536212056057,0.536292979066,0.536373897146,0.536454810295,0.536535718513,0.5366166218,0.536697520154,0.536778413575,0.536859302062,0.536940185615,0.537021064232,0.537101937913,0.537182806656,0.537263670463,0.53734452933,0.537425383259,0.537506232248,0.537587076296,0.537667915402,0.537748749567,0.537829578789,0.537910403067,0.5379912224,0.538072036789,0.538152846232,0.538233650728,0.538314450277,0.538395244877,0.538476034529,0.538556819232,0.538637598984,0.538718373785,0.538799143634,0.538879908531,0.538960668474,0.539041423464,0.539122173499,0.539202918578,0.539283658701,0.539364393867,0.539445124075,0.539525849325,0.539606569616,0.539687284946,0.539767995316,0.539848700725,0.539929401171,0.540010096655,0.540090787174,0.54017147273,0.54025215332,0.540332828945,0.540413499602,0.540494165293,0.540574826015,0.540655481768,0.540736132552,0.540816778366,0.540897419208,0.540978055079,0.541058685977,0.541139311902,0.541219932853,0.541300548828,0.541381159829,0.541461765853,0.5415423669,0.54162296297,0.541703554061,0.541784140172,0.541864721304,0.541945297455,0.542025868625,0.542106434812,0.542186996017,0.542267552238,0.542348103474,0.542428649726,0.542509190991,0.54258972727,0.542670258561,0.542750784865,0.542831306179,0.542911822504,0.542992333838,0.543072840182,0.543153341534,0.543233837893,0.543314329258,0.54339481563,0.543475297007,0.543555773389,0.543636244774,0.543716711162,0.543797172553,0.543877628945,0.543958080338,0.544038526731,0.544118968123,0.544199404514,0.544279835903,0.544360262288,0.544440683671,0.544521100048,0.544601511421,0.544681917788,0.544762319148,0.544842715501,0.544923106845,0.545003493181,0.545083874508,0.545164250824,0.545244622129,0.545324988422,0.545405349703,0.54548570597,0.545566057224,0.545646403463,0.545726744686,0.545807080893,0.545887412083,0.545967738256,0.54604805941,0.546128375545,0.54620868666,0.546288992754,0.546369293827,0.546449589878,0.546529880906,0.546610166911,0.546690447891,0.546770723846,0.546850994775,0.546931260678,0.547011521554,0.547091777401,0.54717202822,0.547252274009,0.547332514768,0.547412750496,0.547492981193,0.547573206857,0.547653427487,0.547733643084,0.547813853646,0.547894059173,0.547974259664,0.548054455118,0.548134645534,0.548214830912,0.54829501125,0.548375186549,0.548455356808,0.548535522025,0.5486156822,0.548695837333,0.548775987421,0.548856132466,0.548936272466,0.54901640742,0.549096537327,0.549176662188,0.549256782,0.549336896764,0.549417006478,0.549497111143,0.549577210756,0.549657305318,0.549737394827,0.549817479284,0.549897558687,0.549977633035,0.550057702327,0.550137766564,0.550217825744,0.550297879867,0.550377928931,0.550457972937,0.550538011882,0.550618045768,0.550698074592,0.550778098354,0.550858117053,0.55093813069,0.551018139262,0.551098142769,0.551178141211,0.551258134586,0.551338122894,0.551418106135,0.551498084307,0.55157805741,0.551658025443,0.551737988405,0.551817946295,0.551897899114,0.551977846859,0.552057789531,0.552137727129,0.552217659651,0.552297587097,0.552377509467,0.55245742676,0.552537338974,0.55261724611,0.552697148166,0.552777045142,0.552856937036,0.552936823849,0.55301670558,0.553096582227,0.553176453791,0.55325632027,0.553336181663,0.55341603797,0.55349588919,0.553575735323,0.553655576367,0.553735412323,0.553815243188,0.553895068963,0.553974889647,0.554054705238,0.554134515737,0.554214321142,0.554294121454,0.55437391667,0.55445370679,0.554533491814,0.554613271741,0.55469304657,0.554772816301,0.554852580932,0.554932340463,0.555012094893,0.555091844222,0.555171588448,0.555251327571,0.555331061591,0.555410790506,0.555490514316,0.55557023302,0.555649946617,0.555729655107,0.555809358488,0.555889056761,0.555968749924,0.556048437977,0.556128120919,0.556207798749,0.556287471466,0.55636713907,0.55644680156,0.556526458936,0.556606111196,0.556685758339,0.556765400366,0.556845037275,0.556924669066,0.557004295737,0.557083917289,0.55716353372,0.55724314503,0.557322751218,0.557402352283,0.557481948224,0.557561539041,0.557641124733,0.5577207053,0.55780028074,0.557879851053,0.557959416237,0.558038976294,0.558118531221,0.558198081017,0.558277625683,0.558357165218,0.55843669962,0.558516228889,0.558595753024,0.558675272025,0.55875478589,0.55883429462,0.558913798213,0.558993296668,0.559072789986,0.559152278164,0.559231761203,0.559311239102,0.559390711859,0.559470179475,0.559549641948,0.559629099278,0.559708551464,0.559787998505,0.559867440401,0.55994687715,0.560026308753,0.560105735208,0.560185156514,0.560264572672,0.56034398368,0.560423389537,0.560502790242,0.560582185796,0.560661576197,0.560740961445,0.560820341538,0.560899716477,0.560979086259,0.561058450886,0.561137810355,0.561217164666,0.561296513819,0.561375857813,0.561455196646,0.561534530319,0.56161385883,0.561693182179,0.561772500365,0.561851813387,0.561931121245,0.562010423937,0.562089721464,0.562169013824,0.562248301017,0.562327583042,0.562406859898,0.562486131584,0.562565398101,0.562644659446,0.562723915619,0.56280316662,0.562882412448,0.562961653102,0.563040888582,0.563120118886,0.563199344014,0.563278563965,0.563357778739,0.563436988334,0.56351619275,0.563595391987,0.563674586043,0.563753774918,0.563832958611,0.563912137122,0.563991310449,0.564070478592,0.56414964155,0.564228799323,0.564307951909,0.564387099309,0.564466241521,0.564545378544,0.564624510378,0.564703637022,0.564782758476,0.564861874738,0.564940985808,0.565020091685,0.565099192369,0.565178287858,0.565257378153,0.565336463251,0.565415543154,0.565494617859,0.565573687366,0.565652751674,0.565731810784,0.565810864693,0.565889913401,0.565968956908,0.566047995212,0.566127028314,0.566206056212,0.566285078905,0.566364096393,0.566443108675,0.566522115751,0.566601117619,0.56668011428,0.566759105731,0.566838091973,0.566917073004,0.566996048825,0.567075019434,0.567153984831,0.567232945014,0.567311899983,0.567390849738,0.567469794278,0.567548733601,0.567627667708,0.567706596597,0.567785520268,0.56786443872,0.567943351952,0.568022259964,0.568101162755,0.568180060324,0.56825895267,0.568337839793,0.568416721692,0.568495598366,0.568574469815,0.568653336037,0.568732197033,0.568811052801,0.56888990334,0.568968748651,0.569047588731,0.569126423581,0.5692052532,0.569284077586,0.56936289674,0.569441710661,0.569520519347,0.569599322798,0.569678121014,0.569756913993,0.569835701736,0.56991448424,0.569993261506,0.570072033533,0.570150800319,0.570229561865,0.57030831817,0.570387069232,0.570465815052,0.570544555628,0.57062329096,0.570702021046,0.570780745887,0.570859465481,0.570938179828,0.571016888928,0.571095592778,0.571174291379,0.57125298473,0.57133167283,0.571410355679,0.571489033275,0.571567705618,0.571646372708,0.571725034543,0.571803691123,0.571882342447,0.571960988515,0.572039629325,0.572118264877,0.57219689517,0.572275520204,0.572354139977,0.57243275449,0.572511363741,0.572589967729,0.572668566454,0.572747159916,0.572825748113,0.572904331045,0.57298290871,0.573061481109,0.57314004824,0.573218610104,0.573297166698,0.573375718023,0.573454264077,0.57353280486,0.573611340372,0.573689870611,0.573768395577,0.573846915269,0.573925429686,0.574003938827,0.574082442693,0.574160941282,0.574239434593,0.574317922626,0.57439640538,0.574474882854,0.574553355048,0.57463182196,0.574710283591,0.574788739939,0.574867191004,0.574945636784,0.57502407728,0.575102512491,0.575180942415,0.575259367052,0.575337786402,0.575416200463,0.575494609235,0.575573012717,0.575651410909,0.575729803809,0.575808191418,0.575886573734,0.575964950756,0.576043322484,0.576121688917,0.576200050055,0.576278405897,0.576356756441,0.576435101688,0.576513441636,0.576591776285,0.576670105634,0.576748429682,0.57682674843,0.576905061875,0.576983370017,0.577061672856,0.57713997039,0.57721826262,0.577296549544,0.577374831161,0.577453107472,0.577531378474,0.577609644168,0.577687904553,0.577766159628,0.577844409392,0.577922653845,0.578000892985,0.578079126813,0.578157355327,0.578235578527,0.578313796412,0.578392008981,0.578470216233,0.578548418169,0.578626614786,0.578704806085,0.578782992065,0.578861172724,0.578939348063,0.57901751808,0.579095682775,0.579173842148,0.579251996196,0.57933014492,0.579408288319,0.579486426393,0.579564559139,0.579642686559,0.579720808651,0.579798925413,0.579877036847,0.57995514295,0.580033243723,0.580111339164,0.580189429273,0.580267514049,0.580345593491,0.580423667598,0.580501736371,0.580579799808,0.580657857908,0.580735910671,0.580813958096,0.580892000182,0.580970036929,0.581048068335,0.581126094401,0.581204115125,0.581282130507,0.581360140546,0.581438145241,0.581516144591,0.581594138597,0.581672127256,0.581750110569,0.581828088535,0.581906061153,0.581984028421,0.582061990341,0.58213994691,0.582217898128,0.582295843995,0.582373784509,0.58245171967,0.582529649478,0.582607573931,0.582685493029,0.582763406771,0.582841315156,0.582919218184,0.582997115853,0.583075008164,0.583152895116,0.583230776707,0.583308652938,0.583386523806,0.583464389313,0.583542249456,0.583620104236,0.583697953651,0.5837757977,0.583853636384,0.583931469701,0.584009297651,0.584087120233,0.584164937446,0.584242749289,0.584320555762,0.584398356864,0.584476152595,0.584553942953,0.584631727938,0.584709507549,0.584787281786,0.584865050648,0.584942814133,0.585020572242,0.585098324973,0.585176072327,0.585253814301,0.585331550896,0.585409282111,0.585487007945,0.585564728397,0.585642443467,0.585720153154,0.585797857456,0.585875556375,0.585953249908,0.586030938055,0.586108620815,0.586186298189,0.586263970174,0.58634163677,0.586419297976,0.586496953793,0.586574604218,0.586652249252,0.586729888893,0.586807523142,0.586885151996,0.586962775456,0.587040393521,0.58711800619,0.587195613462,0.587273215337,0.587350811813,0.587428402891,0.587505988569,0.587583568848,0.587661143725,0.5877387132,0.587816277273,0.587893835943,0.58797138921,0.588048937072,0.588126479528,0.588204016579,0.588281548223,0.588359074459,0.588436595288,0.588514110708,0.588591620718,0.588669125318,0.588746624507,0.588824118285,0.58890160665,0.588979089602,0.58905656714,0.589134039264,0.589211505973,0.589288967265,0.589366423141,0.5894438736,0.589521318641,0.589598758263,0.589676192466,0.589753621248,0.589831044609,0.589908462549,0.589985875067,0.590063282161,0.590140683832,0.590218080079,0.5902954709,0.590372856295,0.590450236264,0.590527610805,0.590604979919,0.590682343604,0.590759701859,0.590837054684,0.590914402078,0.590991744041,0.591069080572,0.591146411669,0.591223737333,0.591301057562,0.591378372357,0.591455681715,0.591532985637,0.591610284122,0.591687577169,0.591764864777,0.591842146946,0.591919423674,0.591996694962,0.592073960808,0.592151221212,0.592228476174,0.592305725691,0.592382969764,0.592460208393,0.592537441575,0.592614669311,0.5926918916,0.59276910844,0.592846319833,0.592923525776,0.593000726268,0.593077921311,0.593155110901,0.59323229504,0.593309473725,0.593386646958,0.593463814735,0.593540977058,0.593618133925,0.593695285336,0.59377243129,0.593849571785,0.593926706823,0.594003836401,0.594080960519,0.594158079176,0.594235192372,0.594312300106,0.594389402377,0.594466499185,0.594543590528,0.594620676407,0.594697756819,0.594774831766,0.594851901245,0.594928965257,0.5950060238,0.595083076875,0.595160124479,0.595237166612,0.595314203275,0.595391234465,0.595468260183,0.595545280427,0.595622295197,0.595699304492,0.595776308312,0.595853306656,0.595930299522,0.596007286911,0.596084268822,0.596161245253,0.596238216205,0.596315181676,0.596392141666,0.596469096174,0.596546045199,0.596622988741,0.596699926799,0.596776859373,0.59685378646,0.596930708062,0.597007624177,0.597084534804,0.597161439943,0.597238339593,0.597315233754,0.597392122424,0.597469005603,0.59754588329,0.597622755484,0.597699622186,0.597776483393,0.597853339106,0.597930189323,0.598007034045,0.598083873269,0.598160706996,0.598237535225,0.598314357955,0.598391175186,0.598467986916,0.598544793146,0.598621593873,0.598698389098,0.59877517882,0.598851963039,0.598928741752,0.599005514961,0.599082282664,0.59915904486,0.599235801548,0.599312552729,0.599389298401,0.599466038563,0.599542773215,0.599619502356,0.599696225986,0.599772944104,0.599849656708,0.599926363799,0.600003065375,0.600079761437,0.600156451982,0.600233137011,0.600309816523,0.600386490517,0.600463158992,0.600539821948,0.600616479384,0.600693131299,0.600769777693,0.600846418564,0.600923053913,0.600999683738,0.601076308039,0.601152926815,0.601229540065,0.601306147789,0.601382749986,0.601459346655,0.601535937795,0.601612523407,0.601689103488,0.601765678039,0.601842247059,0.601918810546,0.601995368501,0.602071920922,0.60214846781,0.602225009162,0.602301544979,0.60237807526,0.602454600004,0.60253111921,0.602607632878,0.602684141007,0.602760643596,0.602837140644,0.602913632152,0.602990118117,0.60306659854,0.60314307342,0.603219542756,0.603296006547,0.603372464793,0.603448917493,0.603525364646,0.603601806251,0.603678242308,0.603754672817,0.603831097776,0.603907517184,0.603983931042,0.604060339348,0.604136742101,0.604213139302,0.604289530948,0.60436591704,0.604442297577,0.604518672558,0.604595041983,0.60467140585,0.604747764159,0.604824116909,0.6049004641,0.604976805731,0.605053141801,0.605129472309,0.605205797255,0.605282116639,0.605358430459,0.605434738714,0.605511041404,0.605587338529,0.605663630087,0.605739916078,0.605816196502,0.605892471356,0.605968740642,0.606045004357,0.606121262502,0.606197515076,0.606273762077,0.606350003506,0.606426239361,0.606502469643,0.606578694349,0.60665491348,0.606731127035,0.606807335012,0.606883537412,0.606959734234,0.607035925476,0.607112111139,0.607188291222,0.607264465723,0.607340634643,0.607416797979,0.607492955733,0.607569107903,0.607645254488,0.607721395488,0.607797530901,0.607873660728,0.607949784968,0.608025903619,0.608102016682,0.608178124155,0.608254226037,0.608330322329,0.608406413029,0.608482498137,0.608558577652,0.608634651573,0.608710719899,0.608786782631,0.608862839766,0.608938891305,0.609014937247,0.609090977591,0.609167012336,0.609243041482,0.609319065028,0.609395082973,0.609471095317,0.609547102059,0.609623103198,0.609699098733,0.609775088664,0.60985107299,0.60992705171,0.610003024825,0.610078992332,0.610154954231,0.610230910522,0.610306861204,0.610382806276,0.610458745738,0.610534679588,0.610610607827,0.610686530453,0.610762447465,0.610838358864,0.610914264648,0.610990164816,0.611066059369,0.611141948304,0.611217831622,0.611293709322,0.611369581403,0.611445447865,0.611521308706,0.611597163926,0.611673013525,0.611748857501,0.611824695854,0.611900528584,0.611976355689,0.612052177169,0.612127993022,0.61220380325,0.61227960785,0.612355406822,0.612431200166,0.61250698788,0.612582769964,0.612658546417,0.61273431724,0.612810082429,0.612885841986,0.61296159591,0.613037344199,0.613113086854,0.613188823873,0.613264555255,0.613340281001,0.613416001109,0.613491715578,0.613567424408,0.613643127599,0.613718825149,0.613794517058,0.613870203325,0.61394588395,0.614021558931,0.614097228268,0.614172891961,0.614248550008,0.61432420241,0.614399849164,0.614475490271,0.61455112573,0.61462675554,0.614702379701,0.614777998211,0.614853611071,0.614929218279,0.615004819834,0.615080415737,0.615156005986,0.615231590581,0.61530716952,0.615382742804,0.615458310431,0.615533872401,0.615609428713,0.615684979367,0.615760524361,0.615836063696,0.61591159737,0.615987125382,0.616062647733,0.616138164421,0.616213675445,0.616289180805,0.616364680501,0.616440174531,0.616515662895,0.616591145592,0.616666622621,0.616742093982,0.616817559674,0.616893019697,0.616968474049,0.61704392273,0.617119365739,0.617194803076,0.61727023474,0.61734566073,0.617421081045,0.617496495686,0.61757190465,0.617647307938,0.617722705548,0.617798097481,0.617873483735,0.617948864309,0.618024239204,0.618099608417,0.61817497195,0.6182503298,0.618325681967,0.618401028451,0.61847636925,0.618551704365,0.618627033794,0.618702357537,0.618777675593,0.618852987961,0.618928294641,0.619003595631,0.619078890932,0.619154180543,0.619229464462,0.61930474269,0.619380015225,0.619455282067,0.619530543215,0.619605798668,0.619681048426,0.619756292488,0.619831530854,0.619906763522,0.619981990492,0.620057211763,0.620132427335,0.620207637207,0.620282841378,0.620358039847,0.620433232614,0.620508419679,0.620583601039,0.620658776696,0.620733946647,0.620809110893,0.620884269433,0.620959422265,0.62103456939,0.621109710806,0.621184846514,0.621259976511,0.621335100798,0.621410219374,0.621485332238,0.621560439389,0.621635540827,0.621710636551,0.621785726561,0.621860810855,0.621935889433,0.622010962295,0.622086029439,0.622161090865,0.622236146572,0.62231119656,0.622386240827,0.622461279374,0.622536312199,0.622611339302,0.622686360683,0.622761376339,0.622836386271,0.622911390479,0.62298638896,0.623061381715,0.623136368744,0.623211350044,0.623286325616,0.623361295459,0.623436259572,0.623511217955,0.623586170606,0.623661117526,0.623736058713,0.623810994166,0.623885923886,0.623960847871,0.624035766121,0.624110678635,0.624185585412,0.624260486452,0.624335381754,0.624410271317,0.62448515514,0.624560033224,0.624634905566,0.624709772168,0.624784633026,0.624859488142,0.624934337515,0.625009181143,0.625084019026,0.625158851164,0.625233677555,0.625308498199,0.625383313096,0.625458122244,0.625532925643,0.625607723292,0.625682515191,0.625757301339,0.625832081735,0.625906856378,0.625981625268,0.626056388404,0.626131145786,0.626205897412,0.626280643283,0.626355383397,0.626430117753,0.626504846352,0.626579569192,0.626654286272,0.626728997592,0.626803703152,0.62687840295,0.626953096986,0.627027785259,0.627102467769,0.627177144515,0.627251815495,0.62732648071,0.627401140159,0.627475793841,0.627550441755,0.627625083901,0.627699720278,0.627774350885,0.627848975722,0.627923594788,0.627998208082,0.628072815604,0.628147417352,0.628222013327,0.628296603527,0.628371187953,0.628445766602,0.628520339475,0.62859490657,0.628669467888,0.628744023427,0.628818573186,0.628893117166,0.628967655365,0.629042187783,0.629116714419,0.629191235272,0.629265750341,0.629340259627,0.629414763128,0.629489260843,0.629563752772,0.629638238915,0.62971271927,0.629787193837,0.629861662614,0.629936125603,0.630010582801,0.630085034208,0.630159479824,0.630233919647,0.630308353677,0.630382781914,0.630457204356,0.630531621003,0.630606031855,0.63068043691,0.630754836168,0.630829229628,0.63090361729,0.630977999153,0.631052375216,0.631126745478,0.63120110994,0.631275468599,0.631349821456,0.631424168509,0.631498509759,0.631572845204,0.631647174844,0.631721498678,0.631795816705,0.631870128925,0.631944435337,0.63201873594,0.632093030734,0.632167319717,0.63224160289,0.632315880252,0.632390151801,0.632464417538,0.632538677461,0.63261293157,0.632687179864,0.632761422343,0.632835659005,0.632909889851,0.632984114878,0.633058334088,0.633132547479,0.63320675505,0.633280956801,0.633355152731,0.633429342839,0.633503527125,0.633577705588,0.633651878227,0.633726045041,0.633800206031,0.633874361195,0.633948510532,0.634022654043,0.634096791725,0.634170923579,0.634245049604,0.634319169799,0.634393284164,0.634467392697,0.634541495398,0.634615592267,0.634689683303,0.634763768504,0.634837847872,0.634911921403,0.634985989099,0.635060050958,0.63513410698,0.635208157164,0.635282201509,0.635356240015,0.63543027268,0.635504299505,0.635578320489,0.63565233563,0.635726344929,0.635800348384,0.635874345995,0.635948337761,0.636022323682,0.636096303756,0.636170277984,0.636244246364,0.636318208896,0.636392165579,0.636466116412,0.636540061395,0.636614000527,0.636687933808,0.636761861236,0.636835782812,0.636909698533,0.636983608401,0.637057512413,0.637131410569,0.63720530287,0.637279189313,0.637353069898,0.637426944625,0.637500813493,0.637574676501,0.637648533649,0.637722384936,0.63779623036,0.637870069923,0.637943903622,0.638017731457,0.638091553428,0.638165369533,0.638239179773,0.638312984146,0.638386782652,0.63846057529,0.638534362059,0.63860814296,0.63868191799,0.638755687149,0.638829450437,0.638903207854,0.638976959397,0.639050705068,0.639124444864,0.639198178785,0.639271906831,0.639345629002,0.639419345295,0.639493055711,0.639566760249,0.639640458908,0.639714151688,0.639787838587,0.639861519606,0.639935194743,0.640008863998,0.640082527371,0.64015618486,0.640229836464,0.640303482184,0.640377122018,0.640450755966,0.640524384028,0.640598006201,0.640671622487,0.640745232883,0.64081883739,0.640892436007,0.640966028732,0.641039615566,0.641113196508,0.641186771557,0.641260340712,0.641333903973,0.641407461338,0.641481012809,0.641554558382,0.641628098059,0.641701631838,0.641775159719,0.6418486817,0.641922197782,0.641995707963,0.642069212244,0.642142710622,0.642216203098,0.642289689671,0.642363170341,0.642436645105,0.642510113965,0.642583576919,0.642657033966,0.642730485106,0.642803930339,0.642877369662,0.642950803077,0.643024230582,0.643097652176,0.643171067859,0.64324447763,0.643317881489,0.643391279434,0.643464671465,0.643538057582,0.643611437784,0.643684812069,0.643758180438,0.64383154289,0.643904899424,0.643978250039,0.644051594734,0.64412493351,0.644198266365,0.644271593299,0.644344914311,0.6444182294,0.644491538566,0.644564841807,0.644638139125,0.644711430516,0.644784715982,0.644857995521,0.644931269132,0.645004536816,0.64507779857,0.645151054395,0.645224304291,0.645297548255,0.645370786288,0.645444018389,0.645517244557,0.645590464792,0.645663679092,0.645736887458,0.645810089888,0.645883286382,0.645956476939,0.646029661559,0.646102840241,0.646176012983,0.646249179787,0.64632234065,0.646395495572,0.646468644552,0.646541787591,0.646614924687,0.646688055839,0.646761181046,0.646834300309,0.646907413627,0.646980520998,0.647053622422,0.647126717899,0.647199807427,0.647272891007,0.647345968637,0.647419040316,0.647492106045,0.647565165822,0.647638219647,0.647711267519,0.647784309437,0.647857345401,0.64793037541,0.648003399463,0.64807641756,0.6481494297,0.648222435882,0.648295436107,0.648368430372,0.648441418677,0.648514401022,0.648587377406,0.648660347829,0.648733312289,0.648806270786,0.648879223319,0.648952169888,0.649025110492,0.64909804513,0.649170973802,0.649243896507,0.649316813244,0.649389724013,0.649462628813,0.649535527643,0.649608420502,0.649681307391,0.649754188307,0.649827063252,0.649899932223,0.649972795221,0.650045652244,0.650118503292,0.650191348364,0.65026418746,0.650337020579,0.65040984772,0.650482668883,0.650555484067,0.65062829327,0.650701096494,0.650773893736,0.650846684996,0.650919470274,0.650992249569,0.65106502288,0.651137790207,0.651210551549,0.651283306905,0.651356056274,0.651428799656,0.65150153705,0.651574268456,0.651646993873,0.6517197133,0.651792426737,0.651865134182,0.651937835636,0.652010531097,0.652083220565,0.652155904039,0.652228581519,0.652301253003,0.652373918492,0.652446577984,0.65251923148,0.652591878977,0.652664520476,0.652737155975,0.652809785475,0.652882408975,0.652955026473,0.653027637969,0.653100243463,0.653172842954,0.653245436441,0.653318023923,0.6533906054,0.653463180872,0.653535750337,0.653608313795,0.653680871244,0.653753422686,0.653825968118,0.653898507541,0.653971040953,0.654043568353,0.654116089742,0.654188605119,0.654261114482,0.654333617832,0.654406115167,0.654478606487,0.654551091791,0.654623571078,0.654696044349,0.654768511601,0.654840972835,0.65491342805,0.654985877245,0.65505832042,0.655130757573,0.655203188705,0.655275613814,0.6553480329,0.655420445962,0.655492853,0.655565254012,0.655637648999,0.655710037959,0.655782420892,0.655854797797,0.655927168674,0.655999533522,0.65607189234,0.656144245127,0.656216591883,0.656288932608,0.6563612673,0.656433595958,0.656505918583,0.656578235174,0.656650545729,0.656722850249,0.656795148732,0.656867441178,0.656939727587,0.657012007956,0.657084282287,0.657156550578,0.657228812829,0.657301069038,0.657373319206,0.657445563331,0.657517801413,0.657590033451,0.657662259445,0.657734479394,0.657806693297,0.657878901154,0.657951102963,0.658023298725,0.658095488439,0.658167672103,0.658239849717,0.658312021282,0.658384186795,0.658456346256,0.658528499665,0.658600647021,0.658672788323,0.658744923571,0.658817052764,0.658889175901,0.658961292982,0.659033404006,0.659105508972,0.659177607879,0.659249700728,0.659321787517,0.659393868246,0.659465942913,0.659538011519,0.659610074063,0.659682130544,0.659754180961,0.659826225313,0.659898263601,0.659970295823,0.660042321979,0.660114342067,0.660186356089,0.660258364041,0.660330365925,0.66040236174,0.660474351484,0.660546335157,0.660618312758,0.660690284287,0.660762249744,0.660834209126,0.660906162435,0.660978109668,0.661050050826,0.661121985908,0.661193914913,0.66126583784,0.661337754689,0.661409665459,0.66148157015,0.66155346876,0.66162536129,0.661697247738,0.661769128104,0.661841002387,0.661912870587,0.661984732702,0.662056588733,0.662128438678,0.662200282537,0.662272120309,0.662343951994,0.66241577759,0.662487597098,0.662559410516,0.662631217845,0.662703019082,0.662774814228,0.662846603282,0.662918386243,0.662990163111,0.663061933885,0.663133698564,0.663205457148,0.663277209635,0.663348956026,0.66342069632,0.663492430515,0.663564158612,0.66363588061,0.663707596507,0.663779306304,0.663851009999,0.663922707593,0.663994399084,0.664066084472,0.664137763755,0.664209436934,0.664281104008,0.664352764976,0.664424419837,0.664496068591,0.664567711237,0.664639347775,0.664710978203,0.664782602522,0.66485422073,0.664925832826,0.664997438811,0.665069038684,0.665140632443,0.665212220088,0.665283801619,0.665355377035,0.665426946335,0.665498509518,0.665570066585,0.665641617533,0.665713162363,0.665784701074,0.665856233666,0.665927760136,0.665999280486,0.666070794714,0.66614230282,0.666213804803,0.666285300662,0.666356790396,0.666428274006,0.66649975149,0.666571222847,0.666642688078,0.666714147181,0.666785600156,0.666857047002,0.666928487718,0.666999922304,0.667071350759,0.667142773082,0.667214189273,0.667285599331,0.667357003256,0.667428401047,0.667499792702,0.667571178223,0.667642557607,0.667713930854,0.667785297963,0.667856658935,0.667928013768,0.667999362461,0.668070705014,0.668142041427,0.668213371698,0.668284695826,0.668356013813,0.668427325655,0.668498631354,0.668569930908,0.668641224317,0.66871251158,0.668783792696,0.668855067665,0.668926336485,0.668997599157,0.66906885568,0.669140106053,0.669211350276,0.669282588347,0.669353820266,0.669425046032,0.669496265646,0.669567479105,0.66963868641,0.66970988756,0.669781082554,0.669852271392,0.669923454072,0.669994630595,0.670065800959,0.670136965164,0.670208123209,0.670279275094,0.670350420818,0.67042156038,0.67049269378,0.670563821017,0.67063494209,0.670706056998,0.670777165742,0.67084826832,0.670919364732,0.670990454977,0.671061539054,0.671132616963,0.671203688703,0.671274754274,0.671345813674,0.671416866903,0.671487913961,0.671558954847,0.67162998956,0.671701018099,0.671772040465,0.671843056655,0.67191406667,0.671985070509,0.672056068172,0.672127059656,0.672198044963,0.672269024091,0.67233999704,0.672410963809,0.672481924397,0.672552878804,0.672623827029,0.672694769071,0.67276570493,0.672836634605,0.672907558095,0.6729784754,0.67304938652,0.673120291453,0.673191190198,0.673262082756,0.673332969125,0.673403849306,0.673474723296,0.673545591096,0.673616452705,0.673687308122,0.673758157347,0.673829000379,0.673899837217,0.673970667861,0.674041492309,0.674112310562,0.674183122619,0.674253928479,0.674324728141,0.674395521605,0.67446630887,0.674537089936,0.674607864801,0.674678633466,0.674749395929,0.674820152189,0.674890902247,0.674961646102,0.675032383752,0.675103115198,0.675173840439,0.675244559473,0.6753152723,0.675385978921,0.675456679333,0.675527373536,0.675598061531,0.675668743315,0.675739418889,0.675810088251,0.675880751402,0.67595140834,0.676022059064,0.676092703575,0.676163341872,0.676233973953,0.676304599819,0.676375219468,0.6764458329,0.676516440114,0.67658704111,0.676657635886,0.676728224443,0.67679880678,0.676869382896,0.67693995279,0.677010516462,0.677081073911,0.677151625136,0.677222170137,0.677292708913,0.677363241464,0.677433767789,0.677504287886,0.677574801756,0.677645309398,0.677715810812,0.677786305996,0.677856794949,0.677927277673,0.677997754164,0.678068224424,0.678138688451,0.678209146245,0.678279597805,0.67835004313,0.67842048222,0.678490915074,0.678561341691,0.678631762072,0.678702176214,0.678772584118,0.678842985783,0.678913381208,0.678983770393,0.679054153337,0.679124530038,0.679194900498,0.679265264714,0.679335622687,0.679405974416,0.679476319899,0.679546659137,0.679616992129,0.679687318874,0.679757639371,0.67982795362,0.679898261621,0.679968563371,0.680038858872,0.680109148122,0.68017943112,0.680249707867,0.680319978361,0.680390242601,0.680460500587,0.680530752319,0.680600997795,0.680671237016,0.68074146998,0.680811696686,0.680881917135,0.680952131326,0.681022339257,0.681092540928,0.681162736339,0.681232925489,0.681303108377,0.681373285002,0.681443455365,0.681513619464,0.681583777298,0.681653928868,0.681724074172,0.681794213209,0.68186434598,0.681934472483,0.682004592718,0.682074706685,0.682144814381,0.682214915808,0.682285010964,0.682355099848,0.682425182461,0.6824952588,0.682565328866,0.682635392659,0.682705450176,0.682775501419,0.682845546385,0.682915585075,0.682985617488,0.683055643623,0.683125663479,0.683195677056,0.683265684353,0.68333568537,0.683405680106,0.68347566856,0.683545650732,0.683615626621,0.683685596226,0.683755559547,0.683825516583,0.683895467333,0.683965411797,0.684035349975,0.684105281864,0.684175207466,0.684245126779,0.684315039802,0.684384946535,0.684454846978,0.684524741129,0.684594628988,0.684664510555,0.684734385828,0.684804254808,0.684874117492,0.684943973882,0.685013823976,0.685083667773,0.685153505273,0.685223336475,0.685293161379,0.685362979984,0.685432792289,0.685502598293,0.685572397997,0.685642191399,0.685711978499,0.685781759296,0.685851533789,0.685921301978,0.685991063863,0.686060819441,0.686130568714,0.68620031168,0.686270048339,0.686339778689,0.686409502731,0.686479220463,0.686548931886,0.686618636998,0.686688335798,0.686758028287,0.686827714463,0.686897394326,0.686967067875,0.68703673511,0.68710639603,0.687176050634,0.687245698921,0.687315340892,0.687384976545,0.687454605879,0.687524228895,0.687593845591,0.687663455967,0.687733060022,0.687802657755,0.687872249167,0.687941834255,0.68801141302,0.688080985462,0.688150551578,0.688220111369,0.688289664834,0.688359211973,0.688428752784,0.688498287267,0.688567815422,0.688637337248,0.688706852744,0.688776361909,0.688845864744,0.688915361246,0.688984851417,0.689054335254,0.689123812757,0.689193283927,0.689262748761,0.68933220726,0.689401659423,0.689471105249,0.689540544737,0.689609977887,0.689679404699,0.689748825171,0.689818239303,0.689887647095,0.689957048545,0.690026443653,0.690095832419,0.690165214841,0.69023459092,0.690303960654,0.690373324043,0.690442681086,0.690512031783,0.690581376132,0.690650714135,0.690720045788,0.690789371093,0.690858690048,0.690928002653,0.690997308908,0.69106660881,0.691135902361,0.691205189558,0.691274470403,0.691343744893,0.691413013029,0.691482274809,0.691551530233,0.691620779301,0.691690022012,0.691759258364,0.691828488358,0.691897711993,0.691966929269,0.692036140183,0.692105344737,0.692174542929,0.692243734759,0.692312920226,0.692382099329,0.692451272068,0.692520438442,0.692589598451,0.692658752093,0.692727899369,0.692797040277,0.692866174817,0.692935302989,0.693004424791,0.693073540224,0.693142649285,0.693211751976,0.693280848295,0.693349938241,0.693419021814,0.693488099013,0.693557169838,0.693626234288,0.693695292362,0.69376434406,0.693833389381,0.693902428324,0.69397146089,0.694040487076,0.694109506883,0.69417852031,0.694247527356,0.69431652802,0.694385522303,0.694454510203,0.69452349172,0.694592466853,0.694661435601,0.694730397964,0.694799353942,0.694868303532,0.694937246736,0.695006183552,0.69507511398,0.695144038019,0.695212955668,0.695281866927,0.695350771795,0.695419670271,0.695488562356,0.695557448047,0.695626327345,0.695695200249,0.695764066759,0.695832926873,0.695901780591,0.695970627913,0.696039468837,0.696108303363,0.696177131491,0.69624595322,0.69631476855,0.696383577478,0.696452380006,0.696521176132,0.696589965856,0.696658749177,0.696727526095,0.696796296608,0.696865060716,0.696933818419,0.697002569716,0.697071314607,0.69714005309,0.697208785165,0.697277510831,0.697346230088,0.697414942935,0.697483649372,0.697552349398,0.697621043012,0.697689730213,0.697758411002,0.697827085377,0.697895753337,0.697964414883,0.698033070013,0.698101718727,0.698170361024,0.698238996904,0.698307626366,0.698376249409,0.698444866033,0.698513476236,0.69858208002,0.698650677381,0.698719268322,0.698787852839,0.698856430934,0.698925002604,0.698993567851,0.699062126672,0.699130679068,0.699199225037,0.69926776458,0.699336297695,0.699404824382,0.69947334464,0.699541858469,0.699610365868,0.699678866836,0.699747361373,0.699815849477,0.69988433115,0.699952806389,0.700021275194,0.700089737565,0.700158193501,0.700226643001,0.700295086064,0.700363522691,0.70043195288,0.700500376631,0.700568793943,0.700637204816,0.700705609248,0.70077400724,0.700842398791,0.700910783899,0.700979162565,0.701047534787,0.701115900566,0.7011842599,0.701252612789,0.701320959232,0.701389299229,0.701457632779,0.701525959881,0.701594280535,0.70166259474,0.701730902496,0.701799203801,0.701867498656,0.701935787059,0.70200406901,0.702072344508,0.702140613553,0.702208876144,0.702277132281,0.702345381962,0.702413625188,0.702481861957,0.702550092269,0.702618316124,0.70268653352,0.702754744457,0.702822948935,0.702891146952,0.702959338509,0.703027523604,0.703095702237,0.703163874407,0.703232040114,0.703300199358,0.703368352136,0.703436498449,0.703504638297,0.703572771678,0.703640898592,0.703709019038,0.703777133016,0.703845240524,0.703913341564,0.703981436133,0.704049524231,0.704117605858,0.704185681012,0.704253749694,0.704321811903,0.704389867637,0.704457916897,0.704525959682,0.704593995991,0.704662025823,0.704730049179,0.704798066056,0.704866076456,0.704934080376,0.705002077817,0.705070068777,0.705138053257,0.705206031255,0.705274002771,0.705341967804,0.705409926354,0.70547787842,0.705545824001,0.705613763097,0.705681695708,0.705749621831,0.705817541468,0.705885454617,0.705953361278,0.706021261449,0.706089155131,0.706157042323,0.706224923024,0.706292797234,0.706360664951,0.706428526176,0.706496380907,0.706564229145,0.706632070888,0.706699906135,0.706767734887,0.706835557142,0.706903372901,0.706971182161,0.707038984923,0.707106781187,0.70717457095,0.707242354214,0.707310130976,0.707377901238,0.707445664997,0.707513422253,0.707581173006,0.707648917256,0.707716655,0.70778438624,0.707852110974,0.707919829201,0.707987540921,0.708055246134,0.708122944838,0.708190637033,0.708258322719,0.708326001895,0.70839367456,0.708461340713,0.708529000354,0.708596653483,0.708664300099,0.7087319402,0.708799573788,0.70886720086,0.708934821416,0.709002435456,0.709070042978,0.709137643984,0.709205238471,0.709272826439,0.709340407888,0.709407982816,0.709475551224,0.70954311311,0.709610668475,0.709678217317,0.709745759636,0.70981329543,0.709880824701,0.709948347446,0.710015863666,0.710083373359,0.710150876526,0.710218373164,0.710285863275,0.710353346857,0.71042082391,0.710488294432,0.710555758424,0.710623215884,0.710690666813,0.710758111209,0.710825549072,0.710892980401,0.710960405196,0.711027823456,0.71109523518,0.711162640368,0.711230039019,0.711297431133,0.711364816708,0.711432195745,0.711499568243,0.7115669342,0.711634293617,0.711701646493,0.711768992827,0.711836332619,0.711903665867,0.711970992572,0.712038312733,0.712105626348,0.712172933418,0.712240233942,0.71230752792,0.71237481535,0.712442096231,0.712509370565,0.712576638349,0.712643899583,0.712711154267,0.712778402399,0.71284564398,0.712912879009,0.712980107484,0.713047329406,0.713114544774,0.713181753587,0.713248955845,0.713316151547,0.713383340692,0.71345052328,0.713517699309,0.713584868781,0.713652031693,0.713719188046,0.713786337838,0.713853481069,0.713920617738,0.713987747846,0.71405487139,0.714121988372,0.714189098789,0.714256202641,0.714323299928,0.714390390649,0.714457474804,0.714524552392,0.714591623411,0.714658687863,0.714725745745,0.714792797058,0.714859841801,0.714926879972,0.714993911573,0.715060936601,0.715127955056,0.715194966939,0.715261972247,0.715328970981,0.715395963139,0.715462948722,0.715529927729,0.715596900158,0.71566386601,0.715730825284,0.715797777979,0.715864724094,0.715931663629,0.715998596584,0.716065522957,0.716132442748,0.716199355957,0.716266262583,0.716333162625,0.716400056082,0.716466942955,0.716533823242,0.716600696943,0.716667564056,0.716734424583,0.716801278521,0.716868125871,0.716934966631,0.717001800802,0.717068628381,0.71713544937,0.717202263767,0.717269071572,0.717335872784,0.717402667402,0.717469455425,0.717536236854,0.717603011688,0.717669779926,0.717736541566,0.71780329661,0.717870045056,0.717936786903,0.718003522151,0.718070250799,0.718136972847,0.718203688294,0.71827039714,0.718337099383,0.718403795023,0.718470484061,0.718537166494,0.718603842322,0.718670511545,0.718737174162,0.718803830173,0.718870479577,0.718937122373,0.71900375856,0.719070388139,0.719137011108,0.719203627467,0.719270237216,0.719336840353,0.719403436878,0.71947002679,0.719536610089,0.719603186774,0.719669756845,0.719736320301,0.719802877141,0.719869427365,0.719935970972,0.720002507961,0.720069038333,0.720135562085,0.720202079219,0.720268589732,0.720335093625,0.720401590897,0.720468081546,0.720534565574,0.720601042978,0.720667513759,0.720733977916,0.720800435448,0.720866886354,0.720933330634,0.720999768288,0.721066199315,0.721132623713,0.721199041483,0.721265452624,0.721331857135,0.721398255016,0.721464646266,0.721531030884,0.72159740887,0.721663780224,0.721730144944,0.72179650303,0.721862854481,0.721929199298,0.721995537478,0.722061869022,0.722128193929,0.722194512199,0.72226082383,0.722327128822,0.722393427175,0.722459718887,0.722526003959,0.72259228239,0.722658554179,0.722724819325,0.722791077828,0.722857329687,0.722923574902,0.722989813472,0.723056045397,0.723122270675,0.723188489307,0.723254701291,0.723320906627,0.723387105314,0.723453297353,0.723519482741,0.723585661479,0.723651833566,0.723717999001,0.723784157784,0.723850309915,0.723916455391,0.723982594214,0.724048726382,0.724114851895,0.724180970751,0.724247082951,0.724313188495,0.72437928738,0.724445379607,0.724511465175,0.724577544084,0.724643616332,0.724709681919,0.724775740846,0.72484179311,0.724907838712,0.72497387765,0.725039909925,0.725105935535,0.72517195448,0.72523796676,0.725303972373,0.72536997132,0.725435963599,0.72550194921,0.725567928152,0.725633900425,0.725699866028,0.725765824961,0.725831777223,0.725897722813,0.72596366173,0.726029593975,0.726095519546,0.726161438444,0.726227350666,0.726293256213,0.726359155084,0.726425047279,0.726490932796,0.726556811636,0.726622683798,0.72668854928,0.726754408083,0.726820260206,0.726886105648,0.726951944408,0.727017776487,0.727083601883,0.727149420595,0.727215232624,0.727281037969,0.727346836628,0.727412628602,0.72747841389,0.727544192491,0.727609964404,0.72767572963,0.727741488167,0.727807240014,0.727872985172,0.727938723639,0.728004455415,0.7280701805,0.728135898892,0.728201610591,0.728267315597,0.728333013909,0.728398705526,0.728464390448,0.728530068674,0.728595740204,0.728661405036,0.728727063171,0.728792714607,0.728858359345,0.728923997383,0.728989628721,0.729055253358,0.729120871293,0.729186482527,0.729252087059,0.729317684887,0.729383276012,0.729448860432,0.729514438147,0.729580009157,0.72964557346,0.729711131057,0.729776681947,0.729842226128,0.729907763601,0.729973294365,0.730038818419,0.730104335763,0.730169846395,0.730235350317,0.730300847526,0.730366338022,0.730431821805,0.730497298874,0.730562769228,0.730628232867,0.73069368979,0.730759139997,0.730824583487,0.73089002026,0.730955450314,0.731020873649,0.731086290265,0.731151700162,0.731217103337,0.731282499791,0.731347889524,0.731413272534,0.731478648821,0.731544018385,0.731609381224,0.731674737338,0.731740086728,0.731805429391,0.731870765327,0.731936094537,0.732001417018,0.732066732771,0.732132041795,0.73219734409,0.732262639654,0.732327928488,0.73239321059,0.73245848596,0.732523754598,0.732589016502,0.732654271672,0.732719520109,0.73278476181,0.732849996775,0.732915225005,0.732980446497,0.733045661252,0.733110869269,0.733176070548,0.733241265087,0.733306452887,0.733371633946,0.733436808264,0.733501975841,0.733567136675,0.733632290766,0.733697438115,0.733762578719,0.733827712578,0.733892839693,0.733957960061,0.734023073684,0.734088180559,0.734153280687,0.734218374066,0.734283460697,0.734348540578,0.73441361371,0.73447868009,0.73454373972,0.734608792598,0.734673838723,0.734738878096,0.734803910715,0.73486893658,0.73493395569,0.734998968044,0.735063973643,0.735128972485,0.73519396457,0.735258949898,0.735323928467,0.735388900277,0.735453865327,0.735518823618,0.735583775147,0.735648719916,0.735713657922,0.735778589166,0.735843513646,0.735908431363,0.735973342316,0.736038246504,0.736103143926,0.736168034582,0.736232918472,0.736297795594,0.736362665948,0.736427529534,0.736492386351,0.736557236398,0.736622079675,0.736686916181,0.736751745915,0.736816568877,0.736881385067,0.736946194484,0.737010997126,0.737075792994,0.737140582087,0.737205364405,0.737270139946,0.73733490871,0.737399670697,0.737464425906,0.737529174337,0.737593915988,0.737658650859,0.73772337895,0.73778810026,0.737852814788,0.737917522535,0.737982223498,0.738046917678,0.738111605074,0.738176285686,0.738240959512,0.738305626552,0.738370286807,0.738434940274,0.738499586954,0.738564226845,0.738628859948,0.738693486262,0.738758105785,0.738822718519,0.738887324461,0.738951923611,0.739016515969,0.739081101534,0.739145680306,0.739210252284,0.739274817467,0.739339375854,0.739403927446,0.739468472242,0.73953301024,0.739597541441,0.739662065843,0.739726583447,0.739791094251,0.739855598256,0.73992009546,0.739984585862,0.740049069463,0.740113546261,0.740178016257,0.740242479449,0.740306935836,0.740371385419,0.740435828197,0.740500264169,0.740564693334,0.740629115692,0.740693531242,0.740757939984,0.740822341918,0.740886737041,0.740951125355,0.741015506858,0.74107988155,0.74114424943,0.741208610497,0.741272964751,0.741337312192,0.741401652819,0.741465986631,0.741530313627,0.741594633807,0.741658947171,0.741723253718,0.741787553447,0.741851846357,0.741916132449,0.741980411721,0.742044684173,0.742108949804,0.742173208614,0.742237460602,0.742301705767,0.74236594411,0.742430175629,0.742494400323,0.742558618193,0.742622829237,0.742687033455,0.742751230847,0.742815421411,0.742879605148,0.742943782056,0.743007952135,0.743072115385,0.743136271804,0.743200421393,0.74326456415,0.743328700076,0.743392829169,0.743456951429,0.743521066855,0.743585175447,0.743649277203,0.743713372125,0.74377746021,0.743841541459,0.743905615871,0.743969683445,0.74403374418,0.744097798076,0.744161845133,0.74422588535,0.744289918725,0.74435394526,0.744417964952,0.744481977802,0.744545983809,0.744609982972,0.744673975291,0.744737960765,0.744801939394,0.744865911176,0.744929876112,0.744993834201,0.745057785441,0.745121729834,0.745185667377,0.745249598071,0.745313521914,0.745377438907,0.745441349049,0.745505252338,0.745569148775,0.745633038359,0.745696921089,0.745760796965,0.745824665986,0.745888528152,0.745952383461,0.746016231914,0.74608007351,0.746143908248,0.746207736127,0.746271557148,0.746335371309,0.74639917861,0.74646297905,0.746526772628,0.746590559345,0.746654339199,0.746718112191,0.746781878318,0.746845637581,0.74690938998,0.746973135513,0.74703687418,0.74710060598,0.747164330913,0.747228048979,0.747291760176,0.747355464504,0.747419161963,0.747482852551,0.747546536269,0.747610213115,0.74767388309,0.747737546192,0.747801202421,0.747864851777,0.747928494258,0.747992129864,0.748055758595,0.74811938045,0.748182995429,0.74824660353,0.748310204754,0.748373799099,0.748437386566,0.748500967153,0.74856454086,0.748628107686,0.748691667631,0.748755220695,0.748818766875,0.748882306173,0.748945838588,0.749009364118,0.749072882763,0.749136394523,0.749199899398,0.749263397385,0.749326888486,0.749390372699,0.749453850024,0.74951732046,0.749580784006,0.749644240663,0.749707690429,0.749771133304,0.749834569287,0.749897998378,0.749961420576,0.75002483588,0.750088244291,0.750151645806,0.750215040427,0.750278428151,0.75034180898,0.750405182911,0.750468549945,0.75053191008,0.750595263317,0.750658609655,0.750721949092,0.750785281629,0.750848607265,0.750911926,0.750975237832,0.751038542762,0.751101840788,0.75116513191,0.751228416127,0.75129169344,0.751354963846,0.751418227347,0.75148148394,0.751544733626,0.751607976404,0.751671212274,0.751734441234,0.751797663284,0.751860878424,0.751924086654,0.751987287971,0.752050482377,0.75211366987,0.752176850449,0.752240024115,0.752303190866,0.752366350702,0.752429503623,0.752492649627,0.752555788715,0.752618920886,0.752682046138,0.752745164472,0.752808275887,0.752871380382,0.752934477957,0.752997568612,0.753060652344,0.753123729155,0.753186799044,0.753249862009,0.75331291805,0.753375967167,0.75343900936,0.753502044627,0.753565072968,0.753628094382,0.753691108869,0.753754116428,0.753817117059,0.753880110761,0.753943097533,0.754006077376,0.754069050288,0.754132016268,0.754194975317,0.754257927433,0.754320872617,0.754383810866,0.754446742182,0.754509666563,0.754572584008,0.754635494518,0.754698398092,0.754761294728,0.754824184426,0.754887067187,0.754949943009,0.755012811891,0.755075673834,0.755138528836,0.755201376897,0.755264218016,0.755327052193,0.755389879427,0.755452699718,0.755515513065,0.755578319467,0.755641118924,0.755703911436,0.755766697001,0.75582947562,0.755892247291,0.755955012014,0.756017769788,0.756080520614,0.756143264489,0.756206001414,0.756268731389,0.756331454412,0.756394170483,0.756456879601,0.756519581766,0.756582276977,0.756644965234,0.756707646536,0.756770320883,0.756832988273,0.756895648707,0.756958302184,0.757020948703,0.757083588263,0.757146220865,0.757208846506,0.757271465188,0.75733407691,0.757396681669,0.757459279468,0.757521870303,0.757584454176,0.757647031085,0.75770960103,0.757772164011,0.757834720026,0.757897269075,0.757959811158,0.758022346273,0.758084874422,0.758147395602,0.758209909813,0.758272417055,0.758334917327,0.758397410629,0.75845989696,0.758522376319,0.758584848705,0.75864731412,0.75870977256,0.758772224027,0.75883466852,0.758897106037,0.758959536579,0.759021960145,0.759084376733,0.759146786345,0.759209188978,0.759271584633,0.759333973309,0.759396355006,0.759458729722,0.759521097457,0.759583458211,0.759645811984,0.759708158773,0.75977049858,0.759832831403,0.759895157241,0.759957476095,0.760019787964,0.760082092846,0.760144390742,0.760206681651,0.760268965573,0.760331242506,0.76039351245,0.760455775405,0.76051803137,0.760580280344,0.760642522328,0.760704757319,0.760766985319,0.760829206325,0.760891420339,0.760953627358,0.761015827383,0.761078020412,0.761140206446,0.761202385484,0.761264557525,0.761326722569,0.761388880615,0.761451031662,0.76151317571,0.761575312758,0.761637442806,0.761699565854,0.761761681899,0.761823790943,0.761885892985,0.761947988023,0.762010076058,0.762072157089,0.762134231114,0.762196298135,0.762258358149,0.762320411157,0.762382457158,0.762444496151,0.762506528136,0.762568553112,0.762630571078,0.762692582035,0.762754585981,0.762816582917,0.76287857284,0.762940555752,0.76300253165,0.763064500535,0.763126462407,0.763188417263,0.763250365105,0.763312305931,0.763374239741,0.763436166534,0.76349808631,0.763559999068,0.763621904807,0.763683803528,0.763745695228,0.763807579909,0.763869457569,0.763931328207,0.763993191824,0.764055048418,0.764116897989,0.764178740536,0.764240576059,0.764302404558,0.764364226031,0.764426040479,0.7644878479,0.764549648293,0.76461144166,0.764673227998,0.764735007308,0.764796779588,0.764858544838,0.764920303058,0.764982054247,0.765043798405,0.76510553553,0.765167265622,0.765228988682,0.765290704707,0.765352413699,0.765414115655,0.765475810575,0.76553749846,0.765599179308,0.765660853119,0.765722519892,0.765784179626,0.765845832322,0.765907477978,0.765969116594,0.76603074817,0.766092372704,0.766153990196,0.766215600647,0.766277204054,0.766338800418,0.766400389738,0.766461972013,0.766523547243,0.766585115427,0.766646676565,0.766708230657,0.7667697777,0.766831317696,0.766892850643,0.766954376542,0.76701589539,0.767077407188,0.767138911936,0.767200409632,0.767261900276,0.767323383868,0.767384860406,0.767446329891,0.767507792322,0.767569247698,0.767630696018,0.767692137283,0.767753571491,0.767814998642,0.767876418736,0.767937831772,0.767999237748,0.768060636666,0.768122028523,0.768183413321,0.768244791057,0.768306161731,0.768367525344,0.768428881894,0.768490231381,0.768551573804,0.768612909162,0.768674237456,0.768735558684,0.768796872846,0.768858179941,0.76891947997,0.76898077293,0.769042058822,0.769103337646,0.769164609399,0.769225874083,0.769287131697,0.769348382239,0.76940962571,0.769470862108,0.769532091433,0.769593313685,0.769654528864,0.769715736967,0.769776937996,0.769838131949,0.769899318826,0.769960498626,0.770021671348,0.770082836993,0.77014399556,0.770205147047,0.770266291455,0.770327428783,0.77038855903,0.770449682196,0.77051079828,0.770571907281,0.7706330092,0.770694104035,0.770755191786,0.770816272453,0.770877346034,0.77093841253,0.770999471939,0.771060524262,0.771121569497,0.771182607644,0.771243638702,0.771304662672,0.771365679552,0.771426689341,0.77148769204,0.771548687647,0.771609676163,0.771670657586,0.771731631916,0.771792599152,0.771853559294,0.771914512342,0.771975458294,0.77203639715,0.77209732891,0.772158253573,0.772219171139,0.772280081606,0.772340984975,0.772401881245,0.772462770415,0.772523652484,0.772584527453,0.77264539532,0.772706256086,0.772767109748,0.772827956308,0.772888795764,0.772949628116,0.773010453363,0.773071271504,0.77313208254,0.773192886469,0.773253683291,0.773314473006,0.773375255613,0.77343603111,0.773496799499,0.773557560778,0.773618314946,0.773679062003,0.773739801949,0.773800534783,0.773861260504,0.773921979112,0.773982690607,0.774043394987,0.774104092252,0.774164782402,0.774225465436,0.774286141353,0.774346810154,0.774407471836,0.774468126401,0.774528773846,0.774589414173,0.774650047379,0.774710673466,0.774771292431,0.774831904274,0.774892508996,0.774953106595,0.775013697071,0.775074280423,0.77513485665,0.775195425753,0.77525598773,0.775316542582,0.775377090306,0.775437630904,0.775498164374,0.775558690716,0.775619209929,0.775679722013,0.775740226967,0.77580072479,0.775861215483,0.775921699043,0.775982175472,0.776042644768,0.776103106931,0.77616356196,0.776224009855,0.776284450615,0.776344884239,0.776405310728,0.77646573008,0.776526142295,0.776586547372,0.776646945311,0.776707336111,0.776767719772,0.776828096293,0.776888465673,0.776948827913,0.777009183011,0.777069530967,0.77712987178,0.77719020545,0.777250531976,0.777310851358,0.777371163595,0.777431468687,0.777491766632,0.777552057431,0.777612341083,0.777672617588,0.777732886944,0.777793149151,0.777853404209,0.777913652118,0.777973892876,0.778034126482,0.778094352938,0.778154572241,0.778214784392,0.778274989389,0.778335187233,0.778395377922,0.778455561457,0.778515737836,0.778575907059,0.778636069126,0.778696224036,0.778756371788,0.778816512381,0.778876645817,0.778936772093,0.778996891209,0.779057003164,0.779117107959,0.779177205593,0.779237296064,0.779297379373,0.779357455518,0.7794175245,0.779477586318,0.779537640971,0.779597688458,0.77965772878,0.779717761935,0.779777787923,0.779837806744,0.779897818396,0.77995782288,0.780017820195,0.78007781034,0.780137793314,0.780197769118,0.78025773775,0.780317699211,0.780377653499,0.780437600613,0.780497540555,0.780557473322,0.780617398914,0.780677317331,0.780737228572,0.780797132637,0.780857029525,0.780916919235,0.780976801768,0.781036677122,0.781096545296,0.781156406291,0.781216260106,0.78127610674,0.781335946193,0.781395778464,0.781455603552,0.781515421458,0.78157523218,0.781635035718,0.781694832071,0.781754621239,0.781814403222,0.781874178018,0.781933945627,0.781993706049,0.782053459283,0.782113205328,0.782172944185,0.782232675852,0.782292400329,0.782352117615,0.78241182771,0.782471530613,0.782531226324,0.782590914842,0.782650596167,0.782710270297,0.782769937233,0.782829596975,0.78288924952,0.782948894869,0.783008533022,0.783068163977,0.783127787735,0.783187404294,0.783247013655,0.783306615816,0.783366210777,0.783425798537,0.783485379096,0.783544952454,0.78360451861,0.783664077562,0.783723629312,0.783783173858,0.783842711199,0.783902241336,0.783961764266,0.784021279991,0.78408078851,0.784140289821,0.784199783925,0.78425927082,0.784318750507,0.784378222984,0.784437688252,0.784497146309,0.784556597156,0.78461604079,0.784675477213,0.784734906423,0.78479432842,0.784853743204,0.784913150773,0.784972551128,0.785031944267,0.78509133019,0.785150708897,0.785210080387,0.78526944466,0.785328801714,0.78538815155,0.785447494167,0.785506829564,0.785566157741,0.785625478697,0.785684792432,0.785744098945,0.785803398236,0.785862690303,0.785921975148,0.785981252768,0.786040523163,0.786099786334,0.786159042279,0.786218290997,0.786277532489,0.786336766754,0.786395993791,0.786455213599,0.786514426179,0.786573631529,0.786632829648,0.786692020538,0.786751204196,0.786810380623,0.786869549817,0.786928711779,0.786987866507,0.787047014002,0.787106154262,0.787165287288,0.787224413078,0.787283531631,0.787342642949,0.787401747029,0.787460843872,0.787519933476,0.787579015842,0.787638090968,0.787697158855,0.787756219501,0.787815272907,0.787874319071,0.787933357993,0.787992389673,0.788051414109,0.788110431302,0.788169441251,0.788228443955,0.788287439414,0.788346427627,0.788405408593,0.788464382313,0.788523348786,0.78858230801,0.788641259986,0.788700204714,0.788759142191,0.788818072418,0.788876995395,0.788935911121,0.788994819595,0.789053720816,0.789112614785,0.7891715015,0.789230380962,0.789289253169,0.789348118121,0.789406975818,0.789465826258,0.789524669442,0.789583505369,0.789642334038,0.789701155449,0.789759969601,0.789818776494,0.789877576127,0.789936368499,0.789995153611,0.790053931461,0.790112702049,0.790171465375,0.790230221437,0.790288970236,0.790347711771,0.790406446041,0.790465173046,0.790523892785,0.790582605257,0.790641310463,0.790700008402,0.790758699072,0.790817382474,0.790876058607,0.790934727471,0.790993389064,0.791052043386,0.791110690438,0.791169330218,0.791227962725,0.79128658796,0.791345205921,0.791403816609,0.791462420022,0.79152101616,0.791579605023,0.791638186609,0.791696760919,0.791755327952,0.791813887707,0.791872440184,0.791930985383,0.791989523302,0.792048053941,0.7921065773,0.792165093378,0.792223602175,0.79228210369,0.792340597922,0.792399084871,0.792457564537,0.792516036918,0.792574502015,0.792632959827,0.792691410353,0.792749853593,0.792808289546,0.792866718212,0.79292513959,0.792983553679,0.793041960479,0.79310035999,0.793158752211,0.793217137142,0.793275514781,0.793333885129,0.793392248185,0.793450603948,0.793508952417,0.793567293593,0.793625627475,0.793683954062,0.793742273353,0.793800585349,0.793858890048,0.79391718745,0.793975477554,0.794033760361,0.794092035869,0.794150304078,0.794208564987,0.794266818596,0.794325064904,0.794383303911,0.794441535616,0.794499760019,0.794557977119,0.794616186915,0.794674389408,0.794732584596,0.794790772479,0.794848953057,0.794907126328,0.794965292293,0.795023450951,0.795081602301,0.795139746343,0.795197883076,0.7952560125,0.795314134613,0.795372249417,0.79543035691,0.795488457091,0.79554654996,0.795604635517,0.795662713761,0.795720784691,0.795778848307,0.795836904609,0.795894953595,0.795952995266,0.79601102962,0.796069056658,0.796127076378,0.796185088781,0.796243093865,0.79630109163,0.796359082076,0.796417065202,0.796475041008,0.796533009492,0.796590970655,0.796648924495,0.796706871013,0.796764810208,0.79682274208,0.796880666627,0.796938583849,0.796996493746,0.797054396317,0.797112291562,0.79717017948,0.79722806007,0.797285933333,0.797343799267,0.797401657872,0.797459509147,0.797517353093,0.797575189708,0.797633018991,0.797690840943,0.797748655563,0.79780646285,0.797864262804,0.797922055424,0.79797984071,0.798037618661,0.798095389276,0.798153152556,0.798210908499,0.798268657105,0.798326398373,0.798384132304,0.798441858896,0.798499578149,0.798557290062,0.798614994635,0.798672691867,0.798730381758,0.798788064308,0.798845739515,0.798903407379,0.7989610679,0.799018721077,0.799076366909,0.799134005397,0.799191636539,0.799249260335,0.799306876785,0.799364485888,0.799422087643,0.79947968205,0.799537269108,0.799594848817,0.799652421176,0.799709986186,0.799767543844,0.799825094151,0.799882637106,0.799940172709,0.799997700959,0.800055221856,0.800112735399,0.800170241587,0.80022774042,0.800285231898,0.80034271602,0.800400192785,0.800457662193,0.800515124243,0.800572578935,0.800630026269,0.800687466243,0.800744898857,0.800802324112,0.800859742005,0.800917152537,0.800974555708,0.801031951515,0.80108933996,0.801146721042,0.80120409476,0.801261461113,0.801318820101,0.801376171723,0.80143351598,0.801490852869,0.801548182392,0.801605504547,0.801662819334,0.801720126752,0.801777426801,0.80183471948,0.801892004789,0.801949282727,0.802006553293,0.802063816488,0.802121072311,0.80217832076,0.802235561836,0.802292795538,0.802350021866,0.802407240818,0.802464452395,0.802521656596,0.80257885342,0.802636042867,0.802693224937,0.802750399628,0.802807566941,0.802864726874,0.802921879428,0.802979024601,0.803036162393,0.803093292804,0.803150415834,0.803207531481,0.803264639745,0.803321740625,0.803378834122,0.803435920234,0.803492998961,0.803550070303,0.803607134258,0.803664190827,0.803721240009,0.803778281803,0.803835316209,0.803892343226,0.803949362854,0.804006375093,0.804063379941,0.804120377398,0.804177367464,0.804234350139,0.80429132542,0.804348293309,0.804405253805,0.804462206907,0.804519152614,0.804576090926,0.804633021843,0.804689945364,0.804746861488,0.804803770215,0.804860671545,0.804917565476,0.804974452009,0.805031331143,0.805088202877,0.805145067211,0.805201924144,0.805258773676,0.805315615806,0.805372450534,0.805429277859,0.80548609778,0.805542910298,0.805599715412,0.80565651312,0.805713303423,0.805770086321,0.805826861811,0.805883629895,0.805940390571,0.805997143839,0.806053889699,0.80611062815,0.806167359191,0.806224082821,0.806280799042,0.806337507851,0.806394209248,0.806450903233,0.806507589806,0.806564268965,0.80662094071,0.806677605041,0.806734261958,0.806790911459,0.806847553544,0.806904188213,0.806960815464,0.807017435299,0.807074047716,0.807130652714,0.807187250293,0.807243840452,0.807300423192,0.807356998511,0.807413566409,0.807470126886,0.80752667994,0.807583225572,0.80763976378,0.807696294565,0.807752817926,0.807809333862,0.807865842373,0.807922343458,0.807978837117,0.80803532335,0.808091802154,0.808148273531,0.80820473748,0.808261194,0.808317643091,0.808374084751,0.808430518982,0.808486945781,0.808543365149,0.808599777085,0.808656181588,0.808712578659,0.808768968296,0.808825350499,0.808881725267,0.8089380926,0.808994452498,0.80905080496,0.809107149985,0.809163487572,0.809219817723,0.809276140435,0.809332455708,0.809388763542,0.809445063937,0.809501356891,0.809557642404,0.809613920476,0.809670191106,0.809726454294,0.80978271004,0.809838958341,0.809895199199,0.809951432613,0.810007658582,0.810063877105,0.810120088182,0.810176291813,0.810232487997,0.810288676733,0.810344858022,0.810401031862,0.810457198253,0.810513357194,0.810569508685,0.810625652726,0.810681789315,0.810737918453,0.810794040139,0.810850154372,0.810906261152,0.810962360479,0.811018452351,0.811074536768,0.811130613731,0.811186683237,0.811242745287,0.811298799881,0.811354847017,0.811410886695,0.811466918916,0.811522943677,0.811578960979,0.811634970821,0.811690973202,0.811746968123,0.811802955583,0.81185893558,0.811914908115,0.811970873187,0.812026830796,0.81208278094,0.81213872362,0.812194658836,0.812250586585,0.812306506869,0.812362419686,0.812418325036,0.812474222918,0.812530113333,0.812585996278,0.812641871755,0.812697739762,0.812753600299,0.812809453365,0.81286529896,0.812921137083,0.812976967734,0.813032790913,0.813088606618,0.813144414849,0.813200215606,0.813256008889,0.813311794696,0.813367573027,0.813423343883,0.813479107261,0.813534863162,0.813590611585,0.81364635253,0.813702085995,0.813757811982,0.813813530489,0.813869241515,0.81392494506,0.813980641124,0.814036329706,0.814092010805,0.814147684422,0.814203350555,0.814259009204,0.814314660369,0.814370304048,0.814425940242,0.81448156895,0.814537190172,0.814592803906,0.814648410153,0.814704008912,0.814759600182,0.814815183964,0.814870760255,0.814926329057,0.814981890367,0.815037444187,0.815092990515,0.815148529351,0.815204060694,0.815259584544,0.8153151009,0.815370609762,0.81542611113,0.815481605002,0.815537091378,0.815592570259,0.815648041642,0.815703505528,0.815758961917,0.815814410807,0.815869852198,0.81592528609,0.815980712482,0.816036131374,0.816091542765,0.816146946655,0.816202343043,0.816257731928,0.816313113311,0.81636848719,0.816423853566,0.816479212437,0.816534563803,0.816589907664,0.816645244018,0.816700572867,0.816755894208,0.816811208042,0.816866514368,0.816921813186,0.816977104494,0.817032388294,0.817087664583,0.817142933361,0.817198194629,0.817253448385,0.817308694629,0.817363933361,0.817419164579,0.817474388284,0.817529604475,0.817584813152,0.817640014313,0.817695207959,0.817750394088,0.817805572701,0.817860743797,0.817915907376,0.817971063436,0.818026211978,0.818081353,0.818136486503,0.818191612486,0.818246730948,0.818301841889,0.818356945309,0.818412041206,0.81846712958,0.818522210432,0.818577283759,0.818632349563,0.818687407842,0.818742458595,0.818797501823,0.818852537525,0.8189075657,0.818962586347,0.819017599467,0.819072605059,0.819127603122,0.819182593656,0.81923757666,0.819292552134,0.819347520077,0.819402480489,0.819457433369,0.819512378716,0.819567316531,0.819622246813,0.819677169561,0.819732084774,0.819786992453,0.819841892596,0.819896785204,0.819951670275,0.82000654781,0.820061417807,0.820116280266,0.820171135187,0.820225982569,0.820280822412,0.820335654715,0.820390479478,0.8204452967,0.82050010638,0.820554908519,0.820609703115,0.820664490168,0.820719269678,0.820774041644,0.820828806066,0.820883562943,0.820938312274,0.82099305406,0.821047788299,0.821102514991,0.821157234136,0.821211945733,0.821266649781,0.821321346281,0.821376035231,0.821430716632,0.821485390482,0.821540056781,0.821594715528,0.821649366724,0.821704010367,0.821758646457,0.821813274994,0.821867895977,0.821922509406,0.821977115279,0.822031713597,0.82208630436,0.822140887565,0.822195463214,0.822250031306,0.822304591839,0.822359144814,0.82241369023,0.822468228087,0.822522758383,0.822577281119,0.822631796295,0.822686303908,0.82274080396,0.822795296449,0.822849781376,0.822904258739,0.822958728538,0.823013190772,0.823067645442,0.823122092546,0.823176532084,0.823230964056,0.82328538846,0.823339805298,0.823394214567,0.823448616268,0.8235030104,0.823557396962,0.823611775954,0.823666147376,0.823720511227,0.823774867507,0.823829216215,0.82388355735,0.823937890912,0.8239922169,0.824046535315,0.824100846156,0.824155149421,0.824209445111,0.824263733225,0.824318013762,0.824372286723,0.824426552106,0.824480809911,0.824535060137,0.824589302785,0.824643537853,0.824697765342,0.824751985249,0.824806197576,0.824860402322,0.824914599485,0.824968789066,0.825022971065,0.825077145479,0.82513131231,0.825185471556,0.825239623218,0.825293767294,0.825347903784,0.825402032688,0.825456154004,0.825510267734,0.825564373875,0.825618472428,0.825672563392,0.825726646767,0.825780722552,0.825834790746,0.82588885135,0.825942904362,0.825996949782,0.82605098761,0.826105017845,0.826159040486,0.826213055534,0.826267062987,0.826321062846,0.826375055109,0.826429039776,0.826483016847,0.826536986321,0.826590948197,0.826644902476,0.826698849157,0.826752788238,0.826806719721,0.826860643603,0.826914559885,0.826968468567,0.827022369647,0.827076263125,0.827130149001,0.827184027274,0.827237897943,0.827291761009,0.827345616471,0.827399464328,0.82745330458,0.827507137226,0.827560962265,0.827614779698,0.827668589524,0.827722391741,0.827776186351,0.827829973352,0.827883752743,0.827937524525,0.827991288697,0.828045045258,0.828098794207,0.828152535545,0.828206269271,0.828259995384,0.828313713884,0.828367424771,0.828421128043,0.8284748237,0.828528511742,0.828582192169,0.828635864979,0.828689530173,0.82874318775,0.828796837709,0.82885048005,0.828904114772,0.828957741875,0.829011361359,0.829064973222,0.829118577465,0.829172174087,0.829225763087,0.829279344465,0.829332918221,0.829386484353,0.829440042862,0.829493593747,0.829547137008,0.829600672643,0.829654200653,0.829707721037,0.829761233795,0.829814738925,0.829868236428,0.829921726303,0.829975208549,0.830028683167,0.830082150155,0.830135609513,0.830189061241,0.830242505338,0.830295941803,0.830349370637,0.830402791838,0.830456205406,0.830509611341,0.830563009642,0.830616400309,0.830669783341,0.830723158737,0.830776526498,0.830829886622,0.83088323911,0.83093658396,0.830989921172,0.831043250746,0.831096572682,0.831149886978,0.831203193634,0.83125649265,0.831309784026,0.83136306776,0.831416343852,0.831469612303,0.83152287311,0.831576126274,0.831629371795,0.831682609672,0.831735839904,0.83178906249,0.831842277432,0.831895484727,0.831948684375,0.832001876376,0.83205506073,0.832108237436,0.832161406493,0.832214567901,0.832267721659,0.832320867768,0.832374006226,0.832427137033,0.832480260188,0.832533375692,0.832586483543,0.832639583741,0.832692676286,0.832745761176,0.832798838413,0.832851907994,0.83290496992,0.83295802419,0.833011070804,0.833064109761,0.83311714106,0.833170164702,0.833223180685,0.83327618901,0.833329189675,0.833382182681,0.833435168026,0.83348814571,0.833541115733,0.833594078095,0.833647032794,0.833699979831,0.833752919204,0.833805850914,0.833858774959,0.83391169134,0.833964600056,0.834017501106,0.83407039449,0.834123280207,0.834176158258,0.83422902864,0.834281891355,0.834334746401,0.834387593778,0.834440433486,0.834493265524,0.834546089891,0.834598906587,0.834651715612,0.834704516965,0.834757310645,0.834810096652,0.834862874986,0.834915645647,0.834968408632,0.835021163943,0.835073911579,0.835126651539,0.835179383822,0.835232108429,0.835284825358,0.83533753461,0.835390236183,0.835442930078,0.835495616294,0.835548294829,0.835600965685,0.83565362886,0.835706284354,0.835758932166,0.835811572296,0.835864204743,0.835916829508,0.835969446589,0.836022055985,0.836074657698,0.836127251725,0.836179838066,0.836232416722,0.836284987691,0.836337550974,0.836390106568,0.836442654475,0.836495194694,0.836547727224,0.836600252064,0.836652769214,0.836705278674,0.836757780444,0.836810274522,0.836862760908,0.836915239602,0.836967710603,0.837020173911,0.837072629525,0.837125077445,0.837177517671,0.837229950201,0.837282375035,0.837334792174,0.837387201616,0.83743960336,0.837491997408,0.837544383757,0.837596762407,0.837649133359,0.837701496611,0.837753852163,0.837806200015,0.837858540166,0.837910872615,0.837963197363,0.838015514408,0.83806782375,0.838120125389,0.838172419324,0.838224705555,0.838276984081,0.838329254902,0.838381518017,0.838433773425,0.838486021127,0.838538261122,0.838590493409,0.838642717989,0.838694934859,0.83874714402,0.838799345472,0.838851539214,0.838903725245,0.838955903565,0.839008074174,0.83906023707,0.839112392254,0.839164539726,0.839216679484,0.839268811527,0.839320935857,0.839373052472,0.839425161371,0.839477262555,0.839529356022,0.839581441772,0.839633519805,0.839685590121,0.839737652718,0.839789707597,0.839841754756,0.839893794196,0.839945825916,0.839997849915,0.840049866193,0.840101874749,0.840153875583,0.840205868695,0.840257854084,0.84030983175,0.840361801691,0.840413763908,0.8404657184,0.840517665167,0.840569604208,0.840621535522,0.84067345911,0.84072537497,0.840777283103,0.840829183508,0.840881076183,0.84093296113,0.840984838347,0.841036707833,0.841088569589,0.841140423614,0.841192269908,0.841244108469,0.841295939298,0.841347762394,0.841399577756,0.841451385384,0.841503185278,0.841554977437,0.84160676186,0.841658538548,0.841710307499,0.841762068714,0.841813822191,0.841865567931,0.841917305932,0.841969036194,0.842020758718,0.842072473501,0.842124180545,0.842175879848,0.842227571409,0.842279255229,0.842330931308,0.842382599643,0.842434260236,0.842485913085,0.84253755819,0.842589195551,0.842640825167,0.842692447037,0.842744061162,0.84279566754,0.842847266172,0.842898857056,0.842950440192,0.84300201558,0.84305358322,0.84310514311,0.843156695251,0.843208239642,0.843259776282,0.843311305171,0.843362826308,0.843414339694,0.843465845327,0.843517343207,0.843568833333,0.843620315706,0.843671790324,0.843723257188,0.843774716296,0.843826167648,0.843877611244,0.843929047084,0.843980475166,0.84403189549,0.844083308056,0.844134712864,0.844186109912,0.844237499201,0.84428888073,0.844340254499,0.844391620506,0.844442978752,0.844494329236,0.844545671957,0.844597006916,0.844648334111,0.844699653543,0.84475096521,0.844802269113,0.84485356525,0.844904853621,0.844956134226,0.845007407065,0.845058672137,0.845109929441,0.845161178976,0.845212420744,0.845263654742,0.845314880971,0.84536609943,0.845417310118,0.845468513036,0.845519708182,0.845570895556,0.845622075158,0.845673246987,0.845724411043,0.845775567326,0.845826715834,0.845877856567,0.845928989525,0.845980114708,0.846031232115,0.846082341745,0.846133443598,0.846184537674,0.846235623971,0.846286702491,0.846337773231,0.846388836192,0.846439891373,0.846490938774,0.846541978394,0.846593010233,0.84664403429,0.846695050565,0.846746059058,0.846797059767,0.846848052693,0.846899037834,0.846950015192,0.847000984764,0.84705194655,0.847102900551,0.847153846766,0.847204785193,0.847255715833,0.847306638686,0.84735755375,0.847408461025,0.847459360512,0.847510252208,0.847561136115,0.847612012231,0.847662880555,0.847713741089,0.84776459383,0.847815438779,0.847866275935,0.847917105297,0.847967926866,0.84801874064,0.848069546619,0.848120344803,0.848171135192,0.848221917784,0.848272692579,0.848323459578,0.848374218779,0.848424970181,0.848475713785,0.848526449591,0.848577177596,0.848627897802,0.848678610207,0.848729314812,0.848780011615,0.848830700616,0.848881381815,0.848932055212,0.848982720805,0.849033378594,0.84908402858,0.84913467076,0.849185305136,0.849235931706,0.84928655047,0.849337161428,0.849387764579,0.849438359922,0.849488947457,0.849539527185,0.849590099103,0.849640663212,0.849691219512,0.849741768001,0.849792308679,0.849842841547,0.849893366603,0.849943883847,0.849994393278,0.850044894897,0.850095388702,0.850145874693,0.850196352869,0.850246823231,0.850297285778,0.850347740509,0.850398187424,0.850448626522,0.850499057802,0.850549481266,0.850599896911,0.850650304737,0.850700704745,0.850751096933,0.850801481302,0.850851857849,0.850902226576,0.850952587482,0.851002940566,0.851053285828,0.851103623267,0.851153952883,0.851204274675,0.851254588643,0.851304894787,0.851355193105,0.851405483598,0.851455766266,0.851506041106,0.85155630812,0.851606567307,0.851656818666,0.851707062196,0.851757297898,0.851807525771,0.851857745814,0.851907958027,0.851958162409,0.85200835896,0.85205854768,0.852108728568,0.852158901624,0.852209066847,0.852259224236,0.852309373792,0.852359515513,0.8524096494,0.852459775451,0.852509893667,0.852560004047,0.85261010659,0.852660201296,0.852710288165,0.852760367196,0.852810438388,0.852860501742,0.852910557256,0.85296060493,0.853010644765,0.853060676758,0.853110700911,0.853160717221,0.85321072569,0.853260726316,0.8533107191,0.853360704039,0.853410681135,0.853460650387,0.853510611793,0.853560565355,0.85361051107,0.85366044894,0.853710378962,0.853760301138,0.853810215466,0.853860121946,0.853910020578,0.85395991136,0.854009794293,0.854059669377,0.85410953661,0.854159395992,0.854209247523,0.854259091202,0.854308927029,0.854358755003,0.854408575125,0.854458387392,0.854508191806,0.854557988365,0.85460777707,0.854657557919,0.854707330912,0.854757096049,0.854806853329,0.854856602752,0.854906344317,0.854956078025,0.855005803873,0.855055521863,0.855105231993,0.855154934263,0.855204628673,0.855254315222,0.855303993909,0.855353664735,0.855403327699,0.8554529828,0.855502630037,0.855552269412,0.855601900922,0.855651524567,0.855701140348,0.855750748263,0.855800348313,0.855849940496,0.855899524812,0.855949101261,0.855998669842,0.856048230555,0.8560977834,0.856147328375,0.856196865481,0.856246394717,0.856295916083,0.856345429577,0.8563949352,0.856444432952,0.856493922831,0.856543404838,0.856592878971,0.856642345231,0.856691803616,0.856741254128,0.856790696764,0.856840131525,0.856889558409,0.856938977418,0.85698838855,0.857037791804,0.857087187181,0.857136574679,0.857185954299,0.85723532604,0.857284689901,0.857334045883,0.857383393984,0.857432734204,0.857482066543,0.857531390999,0.857580707574,0.857630016266,0.857679317075,0.85772861,0.857777895041,0.857827172198,0.85787644147,0.857925702856,0.857974956357,0.858024201971,0.858073439698,0.858122669538,0.858171891491,0.858221105555,0.858270311731,0.858319510017,0.858368700414,0.858417882922,0.858467057538,0.858516224264,0.858565383099,0.858614534042,0.858663677093,0.858712812251,0.858761939516,0.858811058887,0.858860170365,0.858909273948,0.858958369636,0.859007457429,0.859056537325,0.859105609326,0.85915467343,0.859203729637,0.859252777946,0.859301818357,0.85935085087,0.859399875483,0.859448892197,0.859497901012,0.859546901926,0.859595894939,0.859644880051,0.859693857261,0.859742826569,0.859791787975,0.859840741477,0.859889687077,0.859938624772,0.859987554563,0.860036476449,0.860085390429,0.860134296504,0.860183194673,0.860232084935,0.860280967291,0.860329841738,0.860378708278,0.860427566909,0.860476417632,0.860525260445,0.860574095348,0.860622922341,0.860671741424,0.860720552595,0.860769355855,0.860818151202,0.860866938638,0.86091571816,0.860964489769,0.861013253464,0.861062009245,0.861110757112,0.861159497063,0.861208229099,0.861256953218,0.861305669421,0.861354377707,0.861403078076,0.861451770527,0.861500455059,0.861549131673,0.861597800368,0.861646461143,0.861695113998,0.861743758933,0.861792395946,0.861841025038,0.861889646209,0.861938259456,0.861986864782,0.862035462184,0.862084051662,0.862132633216,0.862181206846,0.862229772551,0.86227833033,0.862326880184,0.862375422111,0.862423956111,0.862472482184,0.86252100033,0.862569510547,0.862618012836,0.862666507196,0.862714993626,0.862763472126,0.862811942697,0.862860405336,0.862908860044,0.862957306821,0.863005745665,0.863054176577,0.863102599555,0.863151014601,0.863199421712,0.863247820889,0.863296212131,0.863344595439,0.86339297081,0.863441338245,0.863489697744,0.863538049305,0.86358639293,0.863634728616,0.863683056364,0.863731376173,0.863779688043,0.863827991973,0.863876287963,0.863924576013,0.863972856122,0.864021128289,0.864069392514,0.864117648797,0.864165897137,0.864214137534,0.864262369987,0.864310594496,0.864358811061,0.86440701968,0.864455220354,0.864503413082,0.864551597864,0.864599774699,0.864647943587,0.864696104527,0.864744257519,0.864792402563,0.864840539658,0.864888668803,0.864936789998,0.864984903243,0.865033008537,0.86508110588,0.865129195272,0.865177276711,0.865225350198,0.865273415731,0.865321473312,0.865369522938,0.865417564611,0.865465598328,0.865513624091,0.865561641897,0.865609651748,0.865657653642,0.865705647579,0.865753633559,0.865801611581,0.865849581645,0.86589754375,0.865945497896,0.865993444082,0.866041382309,0.866089312575,0.86613723488,0.866185149223,0.866233055605,0.866280954025,0.866328844481,0.866376726975,0.866424601505,0.866472468072,0.866520326674,0.866568177311,0.866616019982,0.866663854688,0.866711681428,0.866759500201,0.866807311007,0.866855113845,0.866902908716,0.866950695618,0.866998474552,0.867046245516,0.86709400851,0.867141763534,0.867189510588,0.867237249671,0.867284980782,0.867332703921,0.867380419088,0.867428126282,0.867475825503,0.867523516751,0.867571200024,0.867618875323,0.867666542646,0.867714201995,0.867761853367,0.867809496763,0.867857132183,0.867904759625,0.86795237909,0.867999990577,0.868047594085,0.868095189614,0.868142777164,0.868190356734,0.868237928324,0.868285491934,0.868333047562,0.868380595209,0.868428134873,0.868475666556,0.868523190255,0.868570705971,0.868618213704,0.868665713452,0.868713205216,0.868760688995,0.868808164788,0.868855632595,0.868903092416,0.868950544251,0.868997988098,0.869045423957,0.869092851828,0.869140271711,0.869187683605,0.86923508751,0.869282483424,0.869329871349,0.869377251282,0.869424623225,0.869471987176,0.869519343135,0.869566691101,0.869614031075,0.869661363056,0.869708687042,0.869756003035,0.869803311033,0.869850611035,0.869897903043,0.869945187054,0.869992463069,0.870039731088,0.870086991109,0.870134243132,0.870181487157,0.870228723184,0.870275951212,0.870323171241,0.870370383269,0.870417587298,0.870464783325,0.870511971352,0.870559151377,0.8706063234,0.870653487421,0.870700643438,0.870747791453,0.870794931464,0.87084206347,0.870889187472,0.870936303469,0.87098341146,0.871030511446,0.871077603425,0.871124687398,0.871171763363,0.871218831321,0.87126589127,0.871312943212,0.871359987144,0.871407023067,0.87145405098,0.871501070883,0.871548082775,0.871595086656,0.871642082526,0.871689070383,0.871736050229,0.871783022061,0.87182998588,0.871876941686,0.871923889477,0.871970829254,0.872017761016,0.872064684763,0.872111600493,0.872158508208,0.872205407906,0.872252299586,0.872299183249,0.872346058894,0.872392926521,0.872439786129,0.872486637717,0.872533481286,0.872580316835,0.872627144363,0.87267396387,0.872720775356,0.87276757882,0.872814374261,0.87286116168,0.872907941076,0.872954712448,0.873001475796,0.87304823112,0.873094978418,0.873141717692,0.873188448939,0.873235172161,0.873281887356,0.873328594524,0.873375293664,0.873421984777,0.873468667861,0.873515342917,0.873562009943,0.87360866894,0.873655319907,0.873701962843,0.873748597749,0.873795224623,0.873841843465,0.873888454276,0.873935057053,0.873981651798,0.874028238509,0.874074817186,0.874121387829,0.874167950438,0.874214505011,0.874261051548,0.87430759005,0.874354120515,0.874400642943,0.874447157334,0.874493663687,0.874540162002,0.874586652278,0.874633134516,0.874679608713,0.874726074872,0.874772532989,0.874818983066,0.874865425102,0.874911859097,0.874958285049,0.875004702959,0.875051112826,0.87509751465,0.87514390843,0.875190294165,0.875236671857,0.875283041503,0.875329403104,0.875375756659,0.875422102168,0.87546843963,0.875514769045,0.875561090413,0.875607403732,0.875653709003,0.875700006226,0.875746295399,0.875792576522,0.875838849595,0.875885114618,0.87593137159,0.87597762051,0.876023861379,0.876070094195,0.876116318959,0.87616253567,0.876208744327,0.87625494493,0.876301137479,0.876347321973,0.876393498412,0.876439666796,0.876485827123,0.876531979394,0.876578123608,0.876624259764,0.876670387863,0.876716507904,0.876762619886,0.876808723809,0.876854819673,0.876900907477,0.87694698722,0.876993058903,0.877039122525,0.877085178085,0.877131225583,0.877177265019,0.877223296392,0.877269319701,0.877315334947,0.877361342129,0.877407341246,0.877453332299,0.877499315286,0.877545290207,0.877591257062,0.877637215851,0.877683166572,0.877729109226,0.877775043812,0.87782097033,0.877866888779,0.877912799159,0.877958701469,0.878004595709,0.878050481879,0.878096359978,0.878142230005,0.878188091961,0.878233945845,0.878279791657,0.878325629395,0.87837145906,0.878417280651,0.878463094168,0.87850889961,0.878554696977,0.878600486269,0.878646267485,0.878692040625,0.878737805687,0.878783562673,0.878829311581,0.878875052411,0.878920785162,0.878966509835,0.879012226429,0.879057934942,0.879103635376,0.879149327729,0.879195012001,0.879240688192,0.879286356301,0.879332016328,0.879377668272,0.879423312133,0.879468947911,0.879514575604,0.879560195214,0.879605806739,0.879651410178,0.879697005532,0.8797425928,0.879788171982,0.879833743076,0.879879306084,0.879924861004,0.879970407836,0.880015946579,0.880061477233,0.880106999798,0.880152514274,0.880198020659,0.880243518953,0.880289009157,0.880334491269,0.880379965289,0.880425431217,0.880470889052,0.880516338794,0.880561780443,0.880607213998,0.880652639458,0.880698056824,0.880743466094,0.880788867269,0.880834260348,0.88087964533,0.880925022216,0.880970391004,0.881015751694,0.881061104287,0.881106448781,0.881151785176,0.881197113471,0.881242433667,0.881287745763,0.881333049758,0.881378345652,0.881423633444,0.881468913135,0.881514184723,0.881559448209,0.881604703592,0.881649950871,0.881695190046,0.881740421117,0.881785644083,0.881830858944,0.881876065699,0.881921264348,0.881966454891,0.882011637327,0.882056811656,0.882101977877,0.88214713599,0.882192285994,0.88223742789,0.882282561676,0.882327687352,0.882372804919,0.882417914374,0.882463015719,0.882508108952,0.882553194074,0.882598271083,0.88264333998,0.882688400763,0.882733453433,0.882778497989,0.882823534431,0.882868562758,0.88291358297,0.882958595066,0.883003599047,0.883048594911,0.883093582658,0.883138562288,0.883183533801,0.883228497195,0.883273452471,0.883318399628,0.883363338666,0.883408269584,0.883453192382,0.883498107059,0.883543013616,0.883587912051,0.883632802365,0.883677684556,0.883722558625,0.883767424571,0.883812282393,0.883857132091,0.883901973666,0.883946807116,0.88399163244,0.884036449639,0.884081258713,0.88412605966,0.88417085248,0.884215637173,0.884260413739,0.884305182177,0.884349942486,0.884394694667,0.884439438718,0.88448417464,0.884528902432,0.884573622094,0.884618333624,0.884663037024,0.884707732292,0.884752419428,0.884797098431,0.884841769301,0.884886432039,0.884931086642,0.884975733112,0.885020371447,0.885065001647,0.885109623711,0.88515423764,0.885198843433,0.885243441089,0.885288030609,0.885332611991,0.885377185235,0.885421750341,0.885466307308,0.885510856136,0.885555396825,0.885599929374,0.885644453783,0.885688970051,0.885733478178,0.885777978164,0.885822470007,0.885866953709,0.885911429268,0.885955896683,0.886000355955,0.886044807084,0.886089250067,0.886133684907,0.8861781116,0.886222530149,0.886266940551,0.886311342807,0.886355736917,0.886400122879,0.886444500693,0.88648887036,0.886533231878,0.886577585247,0.886621930467,0.886666267537,0.886710596458,0.886754917228,0.886799229847,0.886843534314,0.88688783063,0.886932118794,0.886976398806,0.887020670664,0.88706493437,0.887109189921,0.887153437319,0.887197676562,0.88724190765,0.887286130582,0.887330345359,0.88737455198,0.887418750444,0.887462940752,0.887507122901,0.887551296894,0.887595462728,0.887639620403,0.887683769919,0.887727911276,0.887772044473,0.88781616951,0.887860286387,0.887904395102,0.887948495656,0.887992588048,0.888036672278,0.888080748345,0.888124816249,0.88816887599,0.888212927566,0.888256970979,0.888301006227,0.88834503331,0.888389052227,0.888433062978,0.888477065564,0.888521059982,0.888565046233,0.888609024317,0.888652994233,0.888696955981,0.88874090956,0.88878485497,0.88882879221,0.88887272128,0.88891664218,0.88896055491,0.889004459468,0.889048355855,0.889092244069,0.889136124112,0.889179995981,0.889223859678,0.889267715201,0.88931156255,0.889355401724,0.889399232724,0.889443055549,0.889486870198,0.889530676671,0.889574474968,0.889618265088,0.889662047031,0.889705820796,0.889749586383,0.889793343792,0.889837093022,0.889880834073,0.889924566944,0.889968291635,0.890012008146,0.890055716476,0.890099416625,0.890143108592,0.890186792378,0.890230467981,0.890274135401,0.890317794637,0.890361445691,0.89040508856,0.890448723245,0.890492349745,0.89053596806,0.890579578189,0.890623180132,0.890666773889,0.890710359459,0.890753936841,0.890797506036,0.890841067043,0.890884619862,0.890928164492,0.890971700932,0.891015229183,0.891058749244,0.891102261115,0.891145764795,0.891189260283,0.89123274758,0.891276226685,0.891319697597,0.891363160317,0.891406614843,0.891450061176,0.891493499315,0.891536929259,0.891580351009,0.891623764563,0.891667169922,0.891710567084,0.891753956051,0.89179733682,0.891840709392,0.891884073767,0.891927429944,0.891970777922,0.892014117701,0.892057449282,0.892100772662,0.892144087843,0.892187394823,0.892230693602,0.892273984181,0.892317266557,0.892360540732,0.892403806704,0.892447064474,0.89249031404,0.892533555403,0.892576788562,0.892620013516,0.892663230265,0.89270643881,0.892749639149,0.892792831282,0.892836015208,0.892879190928,0.892922358441,0.892965517746,0.893008668843,0.893051811732,0.893094946412,0.893138072883,0.893181191144,0.893224301196,0.893267403037,0.893310496667,0.893353582086,0.893396659294,0.89343972829,0.893482789074,0.893525841644,0.893568886002,0.893611922146,0.893654950077,0.893697969793,0.893740981294,0.893783984581,0.893826979651,0.893869966506,0.893912945145,0.893955915567,0.893998877772,0.89404183176,0.89408477753,0.894127715081,0.894170644414,0.894213565528,0.894256478422,0.894299383097,0.894342279551,0.894385167785,0.894428047798,0.894470919589,0.894513783159,0.894556638506,0.894599485631,0.894642324533,0.894685155212,0.894727977667,0.894770791897,0.894813597903,0.894856395685,0.89489918524,0.894941966571,0.894984739675,0.895027504552,0.895070261203,0.895113009626,0.895155749822,0.895198481789,0.895241205528,0.895283921039,0.89532662832,0.895369327371,0.895412018192,0.895454700783,0.895497375143,0.895540041272,0.895582699169,0.895625348834,0.895667990267,0.895710623467,0.895753248434,0.895795865167,0.895838473666,0.895881073931,0.895923665961,0.895966249756,0.896008825316,0.896051392639,0.896093951727,0.896136502577,0.896179045191,0.896221579567,0.896264105705,0.896306623604,0.896349133266,0.896391634688,0.89643412787,0.896476612813,0.896519089516,0.896561557978,0.896604018199,0.896646470179,0.896688913917,0.896731349412,0.896773776665,0.896816195676,0.896858606442,0.896901008965,0.896943403244,0.896985789279,0.897028167068,0.897070536613,0.897112897911,0.897155250964,0.89719759577,0.897239932329,0.897282260641,0.897324580705,0.897366892522,0.89740919609,0.897451491409,0.897493778479,0.897536057299,0.89757832787,0.89762059019,0.897662844259,0.897705090077,0.897747327644,0.897789556959,0.897831778021,0.897873990831,0.897916195388,0.897958391691,0.898000579741,0.898042759536,0.898084931077,0.898127094362,0.898169249393,0.898211396167,0.898253534685,0.898295664947,0.898337786952,0.898379900699,0.898422006189,0.898464103421,0.898506192394,0.898548273108,0.898590345563,0.898632409759,0.898674465694,0.898716513369,0.898758552783,0.898800583936,0.898842606827,0.898884621457,0.898926627824,0.898968625928,0.899010615769,0.899052597347,0.89909457066,0.89913653571,0.899178492495,0.899220441014,0.899262381269,0.899304313257,0.899346236979,0.899388152435,0.899430059624,0.899471958545,0.899513849198,0.899555731584,0.899597605701,0.899639471549,0.899681329127,0.899723178436,0.899765019475,0.899806852244,0.899848676742,0.899890492968,0.899932300923,0.899974100606,0.900015892016,0.900057675154,0.900099450019,0.90014121661,0.900182974927,0.90022472497,0.900266466738,0.900308200231,0.900349925449,0.900391642391,0.900433351056,0.900475051445,0.900516743558,0.900558427392,0.900600102949,0.900641770228,0.900683429229,0.90072507995,0.900766722392,0.900808356555,0.900849982438,0.90089160004,0.900933209361,0.900974810401,0.90101640316,0.901057987636,0.901099563831,0.901141131742,0.901182691371,0.901224242716,0.901265785777,0.901307320554,0.901348847046,0.901390365253,0.901431875175,0.901473376811,0.901514870161,0.901556355225,0.901597832001,0.90163930049,0.901680760692,0.901722212606,0.901763656231,0.901805091567,0.901846518614,0.901887937371,0.901929347839,0.901970750016,0.902012143902,0.902053529498,0.902094906802,0.902136275814,0.902177636533,0.902218988961,0.902260333095,0.902301668935,0.902342996482,0.902384315735,0.902425626694,0.902466929357,0.902508223725,0.902549509798,0.902590787574,0.902632057054,0.902673318237,0.902714571123,0.902755815712,0.902797052002,0.902838279995,0.902879499688,0.902920711082,0.902961914177,0.903003108973,0.903044295468,0.903085473662,0.903126643555,0.903167805147,0.903208958438,0.903250103426,0.903291240112,0.903332368495,0.903373488574,0.90341460035,0.903455703822,0.90349679899,0.903537885853,0.903578964411,0.903620034663,0.903661096609,0.903702150249,0.903743195583,0.903784232609,0.903825261328,0.90386628174,0.903907293843,0.903948297638,0.903989293123,0.9040302803,0.904071259167,0.904112229724,0.90415319197,0.904194145906,0.90423509153,0.904276028843,0.904316957844,0.904357878533,0.904398790909,0.904439694972,0.904480590721,0.904521478157,0.904562357279,0.904603228086,0.904644090578,0.904684944755,0.904725790616,0.904766628162,0.90480745739,0.904848278302,0.904889090897,0.904929895174,0.904970691134,0.905011478775,0.905052258097,0.9050930291,0.905133791784,0.905174546148,0.905215292192,0.905256029916,0.905296759318,0.905337480399,0.905378193159,0.905418897596,0.905459593711,0.905500281504,0.905540960973,0.905581632118,0.90562229494,0.905662949437,0.90570359561,0.905744233458,0.90578486298,0.905825484176,0.905866097047,0.90590670159,0.905947297807,0.905987885697,0.906028465259,0.906069036493,0.906109599398,0.906150153975,0.906190700223,0.906231238141,0.906271767729,0.906312288987,0.906352801915,0.906393306511,0.906433802776,0.906474290709,0.90651477031,0.906555241579,0.906595704515,0.906636159117,0.906676605386,0.906717043321,0.906757472922,0.906797894188,0.906838307119,0.906878711714,0.906919107974,0.906959495897,0.906999875484,0.907040246734,0.907080609646,0.907120964221,0.907161310458,0.907201648356,0.907241977915,0.907282299136,0.907322612016,0.907362916557,0.907403212758,0.907443500618,0.907483780137,0.907524051314,0.90756431415,0.907604568643,0.907644814795,0.907685052603,0.907725282068,0.907765503189,0.907805715966,0.907845920399,0.907886116488,0.907926304231,0.907966483629,0.90800665468,0.908046817386,0.908086971745,0.908127117757,0.908167255422,0.908207384739,0.908247505709,0.908287618329,0.908327722601,0.908367818524,0.908407906097,0.908447985321,0.908488056194,0.908528118716,0.908568172888,0.908608218708,0.908648256176,0.908688285293,0.908728306056,0.908768318467,0.908808322525,0.908848318229,0.90888830558,0.908928284576,0.908968255217,0.909008217503,0.909048171434,0.909088117009,0.909128054228,0.909167983091,0.909207903596,0.909247815744,0.909287719535,0.909327614968,0.909367502042,0.909407380758,0.909447251114,0.909487113112,0.909526966749,0.909566812026,0.909606648943,0.909646477498,0.909686297693,0.909726109525,0.909765912996,0.909805708105,0.90984549485,0.909885273233,0.909925043252,0.909964804907,0.910004558198,0.910044303125,0.910084039686,0.910123767883,0.910163487713,0.910203199178,0.910242902276,0.910282597007,0.910322283372,0.910361961368,0.910401630997,0.910441292258,0.91048094515,0.910520589673,0.910560225827,0.910599853612,0.910639473026,0.91067908407,0.910718686743,0.910758281044,0.910797866975,0.910837444533,0.91087701372,0.910916574533,0.910956126974,0.910995671042,0.911035206735,0.911074734055,0.911114253001,0.911153763571,0.911193265767,0.911232759586,0.911272245031,0.911311722098,0.91135119079,0.911390651104,0.911430103041,0.911469546601,0.911508981782,0.911548408585,0.911587827009,0.911627237054,0.91166663872,0.911706032005,0.911745416911,0.911784793436,0.91182416158,0.911863521343,0.911902872724,0.911942215723,0.91198155034,0.912020876574,0.912060194424,0.912099503892,0.912138804975,0.912178097675,0.91221738199,0.91225665792,0.912295925464,0.912335184623,0.912374435396,0.912413677783,0.912452911783,0.912492137396,0.912531354622,0.912570563459,0.912609763909,0.91264895597,0.912688139642,0.912727314925,0.912766481818,0.912805640322,0.912844790435,0.912883932157,0.912923065488,0.912962190428,0.913001306977,0.913040415133,0.913079514896,0.913118606267,0.913157689245,0.913196763829,0.913235830019,0.913274887815,0.913313937216,0.913352978222,0.913392010833,0.913431035049,0.913470050868,0.91350905829,0.913548057316,0.913587047945,0.913626030177,0.91366500401,0.913703969445,0.913742926482,0.91378187512,0.913820815358,0.913859747197,0.913898670636,0.913937585674,0.913976492312,0.914015390549,0.914054280384,0.914093161817,0.914132034849,0.914170899478,0.914209755704,0.914248603526,0.914287442945,0.914326273961,0.914365096571,0.914403910778,0.914442716579,0.914481513975,0.914520302965,0.914559083549,0.914597855727,0.914636619498,0.914675374862,0.914714121818,0.914752860366,0.914791590506,0.914830312238,0.914869025561,0.914907730474,0.914946426978,0.914985115072,0.915023794755,0.915062466028,0.915101128889,0.91513978334,0.915178429378,0.915217067005,0.915255696218,0.915294317019,0.915332929407,0.915371533382,0.915410128942,0.915448716088,0.91548729482,0.915525865136,0.915564427038,0.915602980523,0.915641525593,0.915680062246,0.915718590483,0.915757110302,0.915795621704,0.915834124688,0.915872619254,0.915911105402,0.91594958313,0.91598805244,0.916026513329,0.916064965799,0.916103409849,0.916141845478,0.916180272686,0.916218691473,0.916257101838,0.916295503781,0.916333897301,0.916372282399,0.916410659074,0.916449027325,0.916487387153,0.916525738556,0.916564081535,0.916602416089,0.916640742218,0.916679059921,0.916717369198,0.916755670049,0.916793962474,0.916832246471,0.916870522041,0.916908789184,0.916947047898,0.916985298184,0.917023540041,0.91706177347,0.917099998468,0.917138215037,0.917176423176,0.917214622885,0.917252814162,0.917290997008,0.917329171423,0.917367337406,0.917405494957,0.917443644075,0.91748178476,0.917519917012,0.91755804083,0.917596156214,0.917634263164,0.917672361679,0.917710451759,0.917748533404,0.917786606613,0.917824671385,0.917862727722,0.917900775621,0.917938815084,0.917976846109,0.918014868696,0.918052882845,0.918090888555,0.918128885827,0.918166874659,0.918204855051,0.918242827004,0.918280790517,0.918318745588,0.918356692219,0.918394630408,0.918432560156,0.918470481462,0.918508394325,0.918546298746,0.918584194723,0.918622082257,0.918659961348,0.918697831994,0.918735694196,0.918773547952,0.918811393264,0.91884923013,0.918887058551,0.918924878525,0.918962690052,0.919000493133,0.919038287766,0.919076073952,0.91911385169,0.91915162098,0.919189381821,0.919227134212,0.919264878155,0.919302613648,0.919340340691,0.919378059283,0.919415769425,0.919453471116,0.919491164355,0.919528849142,0.919566525478,0.919604193361,0.919641852791,0.919679503768,0.919717146291,0.919754780361,0.919792405976,0.919830023137,0.919867631843,0.919905232094,0.919942823889,0.919980407229,0.920017982112,0.920055548538,0.920093106508,0.92013065602,0.920168197074,0.920205729671,0.920243253809,0.920280769489,0.920318276709,0.92035577547,0.920393265772,0.920430747613,0.920468220994,0.920505685914,0.920543142373,0.920580590371,0.920618029907,0.920655460981,0.920692883592,0.920730297741,0.920767703426,0.920805100648,0.920842489406,0.9208798697,0.920917241529,0.920954604894,0.920991959793,0.921029306227,0.921066644194,0.921103973696,0.921141294731,0.921178607299,0.921215911399,0.921253207033,0.921290494198,0.921327772894,0.921365043123,0.921402304882,0.921439558172,0.921476802992,0.921514039342,0.921551267222,0.921588486631,0.921625697569,0.921662900036,0.921700094031,0.921737279554,0.921774456604,0.921811625182,0.921848785286,0.921885936918,0.921923080075,0.921960214758,0.921997340967,0.922034458701,0.92207156796,0.922108668743,0.922145761051,0.922182844882,0.922219920237,0.922256987115,0.922294045516,0.922331095439,0.922368136885,0.922405169852,0.922442194341,0.922479210351,0.922516217881,0.922553216932,0.922590207503,0.922627189594,0.922664163205,0.922701128334,0.922738084982,0.922775033148,0.922811972833,0.922848904035,0.922885826755,0.922922740991,0.922959646745,0.922996544014,0.9230334328,0.923070313101,0.923107184918,0.92314404825,0.923180903096,0.923217749457,0.923254587331,0.92329141672,0.923328237621,0.923365050036,0.923401853963,0.923438649402,0.923475436354,0.923512214817,0.923548984791,0.923585746276,0.923622499272,0.923659243778,0.923695979794,0.92373270732,0.923769426355,0.923806136898,0.923842838951,0.923879532511,0.92391621758,0.923952894156,0.923989562239,0.924026221829,0.924062872926,0.924099515529,0.924136149637,0.924172775252,0.924209392371,0.924246000996,0.924282601125,0.924319192758,0.924355775895,0.924392350535,0.924428916679,0.924465474325,0.924502023474,0.924538564125,0.924575096279,0.924611619933,0.924648135089,0.924684641745,0.924721139902,0.92475762956,0.924794110717,0.924830583373,0.924867047529,0.924903503183,0.924939950336,0.924976388987,0.925012819136,0.925049240783,0.925085653926,0.925122058567,0.925158454703,0.925194842336,0.925231221465,0.92526759209,0.925303954209,0.925340307823,0.925376652932,0.925412989535,0.925449317631,0.925485637221,0.925521948305,0.925558250881,0.925594544949,0.92563083051,0.925667107562,0.925703376106,0.925739636141,0.925775887667,0.925812130683,0.92584836519,0.925884591186,0.925920808672,0.925957017647,0.92599321811,0.926029410062,0.926065593503,0.926101768431,0.926137934846,0.926174092749,0.926210242138,0.926246383014,0.926282515376,0.926318639224,0.926354754558,0.926390861376,0.926426959679,0.926463049467,0.926499130739,0.926535203495,0.926571267734,0.926607323457,0.926643370662,0.92667940935,0.92671543952,0.926751461171,0.926787474305,0.926823478919,0.926859475014,0.92689546259,0.926931441646,0.926967412182,0.927003374197,0.927039327691,0.927075272665,0.927111209117,0.927147137047,0.927183056455,0.92721896734,0.927254869703,0.927290763542,0.927326648858,0.92736252565,0.927398393919,0.927434253662,0.927470104881,0.927505947575,0.927541781743,0.927577607386,0.927613424502,0.927649233093,0.927685033156,0.927720824692,0.927756607701,0.927792382182,0.927828148135,0.92786390556,0.927899654456,0.927935394823,0.92797112666,0.928006849968,0.928042564746,0.928078270993,0.92811396871,0.928149657895,0.92818533855,0.928221010672,0.928256674263,0.928292329321,0.928327975847,0.928363613839,0.928399243299,0.928434864224,0.928470476616,0.928506080473,0.928541675796,0.928577262584,0.928612840836,0.928648410553,0.928683971734,0.928719524379,0.928755068487,0.928790604058,0.928826131092,0.928861649588,0.928897159547,0.928932660967,0.928968153849,0.929003638192,0.929039113995,0.929074581259,0.929110039984,0.929145490168,0.929180931811,0.929216364914,0.929251789475,0.929287205496,0.929322612974,0.92935801191,0.929393402304,0.929428784155,0.929464157462,0.929499522227,0.929534878447,0.929570226124,0.929605565256,0.929640895843,0.929676217885,0.929711531382,0.929746836334,0.929782132739,0.929817420598,0.92985269991,0.929887970675,0.929923232893,0.929958486563,0.929993731685,0.930028968259,0.930064196284,0.93009941576,0.930134626687,0.930169829065,0.930205022892,0.930240208169,0.930275384896,0.930310553072,0.930345712696,0.93038086377,0.930416006291,0.93045114026,0.930486265676,0.93052138254,0.93055649085,0.930591590607,0.930626681811,0.93066176446,0.930696838554,0.930731904094,0.930766961079,0.930802009508,0.930837049382,0.9308720807,0.930907103461,0.930942117665,0.930977123313,0.931012120403,0.931047108936,0.93108208891,0.931117060326,0.931152023184,0.931186977483,0.931221923222,0.931256860402,0.931291789022,0.931326709081,0.93136162058,0.931396523518,0.931431417895,0.931466303711,0.931501180965,0.931536049656,0.931570909785,0.931605761351,0.931640604354,0.931675438794,0.93171026467,0.931745081982,0.931779890729,0.931814690912,0.931849482529,0.931884265582,0.931919040068,0.931953805989,0.931988563343,0.932023312131,0.932058052351,0.932092784005,0.932127507091,0.932162221609,0.932196927558,0.932231624939,0.932266313752,0.932300993995,0.932335665668,0.932370328772,0.932404983305,0.932439629268,0.932474266661,0.932508895482,0.932543515732,0.93257812741,0.932612730516,0.932647325049,0.93268191101,0.932716488398,0.932751057213,0.932785617454,0.932820169121,0.932854712213,0.932889246731,0.932923772674,0.932958290042,0.932992798835,0.933027299051,0.933061790692,0.933096273755,0.933130748242,0.933165214152,0.933199671485,0.933234120239,0.933268560416,0.933302992014,0.933337415033,0.933371829474,0.933406235335,0.933440632616,0.933475021317,0.933509401438,0.933543772979,0.933578135938,0.933612490317,0.933646836113,0.933681173328,0.933715501961,0.933749822011,0.933784133478,0.933818436362,0.933852730663,0.93388701638,0.933921293513,0.933955562061,0.933989822025,0.934024073403,0.934058316197,0.934092550404,0.934126776026,0.934160993061,0.93419520151,0.934229401372,0.934263592646,0.934297775334,0.934331949433,0.934366114944,0.934400271866,0.9344344202,0.934468559945,0.9345026911,0.934536813665,0.93457092764,0.934605033025,0.93463912982,0.934673218023,0.934707297635,0.934741368655,0.934775431084,0.93480948492,0.934843530163,0.934877566814,0.934911594872,0.934945614336,0.934979625206,0.935013627482,0.935047621163,0.93508160625,0.935115582742,0.935149550638,0.935183509939,0.935217460644,0.935251402752,0.935285336264,0.935319261179,0.935353177496,0.935387085216,0.935420984338,0.935454874862,0.935488756787,0.935522630114,0.935556494841,0.93559035097,0.935624198498,0.935658037426,0.935691867754,0.935725689481,0.935759502607,0.935793307132,0.935827103055,0.935860890377,0.935894669096,0.935928439213,0.935962200726,0.935995953637,0.936029697944,0.936063433647,0.936097160746,0.936130879241,0.936164589131,0.936198290416,0.936231983096,0.93626566717,0.936299342638,0.9363330095,0.936366667756,0.936400317404,0.936433958445,0.936467590879,0.936501214705,0.936534829923,0.936568436532,0.936602034533,0.936635623924,0.936669204707,0.936702776879,0.936736340442,0.936769895394,0.936803441736,0.936836979467,0.936870508586,0.936904029095,0.936937540991,0.936971044275,0.937004538947,0.937038025006,0.937071502452,0.937104971284,0.937138431503,0.937171883108,0.937205326099,0.937238760475,0.937272186236,0.937305603382,0.937339011913,0.937372411827,0.937405803126,0.937439185808,0.937472559873,0.937505925321,0.937539282152,0.937572630366,0.937605969961,0.937639300938,0.937672623297,0.937705937036,0.937739242156,0.937772538657,0.937805826538,0.937839105799,0.93787237644,0.93790563846,0.937938891859,0.937972136636,0.938005372792,0.938038600326,0.938071819238,0.938105029527,0.938138231193,0.938171424236,0.938204608655,0.938237784451,0.938270951623,0.93830411017,0.938337260093,0.938370401391,0.938403534063,0.93843665811,0.938469773531,0.938502880325,0.938535978494,0.938569068035,0.938602148949,0.938635221236,0.938668284895,0.938701339926,0.938734386328,0.938767424102,0.938800453247,0.938833473763,0.938866485649,0.938899488906,0.938932483532,0.938965469528,0.938998446893,0.939031415627,0.939064375729,0.9390973272,0.939130270039,0.939163204246,0.93919612982,0.939229046761,0.939261955069,0.939294854743,0.939327745784,0.93936062819,0.939393501962,0.9394263671,0.939459223602,0.939492071469,0.939524910701,0.939557741296,0.939590563256,0.939623376579,0.939656181265,0.939688977314,0.939721764725,0.939754543499,0.939787313635,0.939820075132,0.939852827991,0.939885572211,0.939918307792,0.939951034733,0.939983753034,0.940016462695,0.940049163716,0.940081856096,0.940114539835,0.940147214933,0.940179881389,0.940212539203,0.940245188375,0.940277828904,0.94031046079,0.940343084034,0.940375698634,0.94040830459,0.940440901902,0.94047349057,0.940506070593,0.940538641972,0.940571204705,0.940603758792,0.940636304234,0.940668841029,0.940701369179,0.940733888681,0.940766399536,0.940798901744,0.940831395305,0.940863880217,0.940896356482,0.940928824098,0.940961283065,0.940993733382,0.941026175051,0.94105860807,0.941091032438,0.941123448157,0.941155855225,0.941188253642,0.941220643407,0.941253024521,0.941285396984,0.941317760794,0.941350115952,0.941382462457,0.94141480031,0.941447129509,0.941479450054,0.941511761946,0.941544065183,0.941576359766,0.941608645694,0.941640922967,0.941673191585,0.941705451547,0.941737702853,0.941769945503,0.941802179496,0.941834404832,0.941866621512,0.941898829534,0.941931028898,0.941963219604,0.941995401652,0.942027575041,0.942059739771,0.942091895842,0.942124043254,0.942156182005,0.942188312097,0.942220433528,0.942252546299,0.942284650408,0.942316745857,0.942348832643,0.942380910768,0.942412980231,0.942445041031,0.942477093168,0.942509136643,0.942541171454,0.942573197601,0.942605215085,0.942637223904,0.942669224059,0.942701215549,0.942733198374,0.942765172533,0.942797138027,0.942829094855,0.942861043016,0.942892982511,0.942924913339,0.9429568355,0.942988748994,0.943020653819,0.943052549977,0.943084437466,0.943116316287,0.943148186438,0.943180047921,0.943211900734,0.943243744877,0.94327558035,0.943307407153,0.943339225285,0.943371034746,0.943402835536,0.943434627654,0.943466411101,0.943498185875,0.943529951977,0.943561709406,0.943593458162,0.943625198245,0.943656929654,0.943688652389,0.94372036645,0.943752071837,0.943783768549,0.943815456586,0.943847135947,0.943878806633,0.943910468643,0.943942121976,0.943973766634,0.944005402614,0.944037029917,0.944068648543,0.944100258491,0.944131859761,0.944163452353,0.944195036267,0.944226611501,0.944258178057,0.944289735933,0.944321285129,0.944352825646,0.944384357482,0.944415880637,0.944447395112,0.944478900905,0.944510398017,0.944541886447,0.944573366196,0.944604837261,0.944636299645,0.944667753345,0.944699198362,0.944730634696,0.944762062346,0.944793481312,0.944824891594,0.944856293191,0.944887686103,0.94491907033,0.944950445871,0.944981812727,0.945013170896,0.945044520379,0.945075861176,0.945107193285,0.945138516708,0.945169831442,0.945201137489,0.945232434848,0.945263723519,0.945295003501,0.945326274794,0.945357537398,0.945388791312,0.945420036536,0.945451273071,0.945482500914,0.945513720068,0.94554493053,0.945576132301,0.945607325381,0.945638509768,0.945669685464,0.945700852467,0.945732010777,0.945763160395,0.945794301319,0.94582543355,0.945856557087,0.94588767193,0.945918778078,0.945949875532,0.945980964291,0.946012044354,0.946043115722,0.946074178394,0.94610523237,0.94613627765,0.946167314233,0.946198342119,0.946229361308,0.946260371799,0.946291373592,0.946322366688,0.946353351084,0.946384326783,0.946415293782,0.946446252082,0.946477201682,0.946508142583,0.946539074784,0.946569998284,0.946600913083,0.946631819182,0.946662716579,0.946693605275,0.946724485269,0.946755356561,0.94678621915,0.946817073037,0.946847918221,0.946878754702,0.946909582479,0.946940401552,0.946971211922,0.947002013587,0.947032806547,0.947063590803,0.947094366353,0.947125133198,0.947155891336,0.947186640769,0.947217381496,0.947248113516,0.947278836829,0.947309551435,0.947340257333,0.947370954524,0.947401643006,0.947432322781,0.947462993846,0.947493656203,0.947524309851,0.947554954789,0.947585591018,0.947616218536,0.947646837344,0.947677447442,0.947708048829,0.947738641505,0.947769225469,0.947799800721,0.947830367262,0.94786092509,0.947891474206,0.947922014609,0.947952546299,0.947983069276,0.948013583539,0.948044089088,0.948074585922,0.948105074043,0.948135553448,0.948166024138,0.948196486113,0.948226939373,0.948257383916,0.948287819744,0.948318246855,0.948348665249,0.948379074926,0.948409475886,0.948439868128,0.948470251652,0.948500626459,0.948530992547,0.948561349916,0.948591698566,0.948622038497,0.948652369708,0.9486826922,0.948713005971,0.948743311023,0.948773607353,0.948803894963,0.948834173851,0.948864444018,0.948894705463,0.948924958186,0.948955202187,0.948985437465,0.949015664021,0.949045881853,0.949076090961,0.949106291347,0.949136483008,0.949166665944,0.949196840157,0.949227005644,0.949257162406,0.949287310444,0.949317449755,0.94934758034,0.9493777022,0.949407815332,0.949437919738,0.949468015417,0.949498102369,0.949528180593,0.949558250089,0.949588310857,0.949618362897,0.949648406208,0.94967844079,0.949708466643,0.949738483766,0.94976849216,0.949798491823,0.949828482756,0.949858464959,0.94988843843,0.94991840317,0.949948359179,0.949978306457,0.950008245002,0.950038174815,0.950068095895,0.950098008243,0.950127911857,0.950157806738,0.950187692886,0.950217570299,0.950247438979,0.950277298924,0.950307150134,0.950336992609,0.950366826349,0.950396651353,0.950426467621,0.950456275154,0.950486073949,0.950515864009,0.950545645331,0.950575417916,0.950605181764,0.950634936874,0.950664683245,0.950694420879,0.950724149774,0.95075386993,0.950783581347,0.950813284024,0.950842977962,0.95087266316,0.950902339618,0.950932007335,0.950961666312,0.950991316547,0.951020958041,0.951050590794,0.951080214804,0.951109830073,0.951139436599,0.951169034383,0.951198623423,0.95122820372,0.951257775274,0.951287338084,0.95131689215,0.951346437472,0.951375974049,0.951405501882,0.951435020969,0.951464531311,0.951494032907,0.951523525757,0.951553009861,0.951582485219,0.95161195183,0.951641409694,0.95167085881,0.951700299179,0.9517297308,0.951759153673,0.951788567798,0.951817973174,0.951847369801,0.951876757679,0.951906136808,0.951935507187,0.951964868816,0.951994221694,0.952023565822,0.9520529012,0.952082227826,0.952111545701,0.952140854824,0.952170155195,0.952199446814,0.952228729681,0.952258003795,0.952287269157,0.952316525765,0.952345773619,0.95237501272,0.952404243066,0.952433464659,0.952462677497,0.95249188158,0.952521076908,0.95255026348,0.952579441297,0.952608610358,0.952637770663,0.952666922211,0.952696065003,0.952725199038,0.952754324315,0.952783440835,0.952812548597,0.952841647601,0.952870737847,0.952899819334,0.952928892063,0.952957956032,0.952987011242,0.953016057692,0.953045095382,0.953074124312,0.953103144482,0.953132155891,0.953161158539,0.953190152425,0.95321913755,0.953248113914,0.953277081515,0.953306040354,0.953334990431,0.953363931744,0.953392864295,0.953421788082,0.953450703105,0.953479609365,0.95350850686,0.953537395591,0.953566275557,0.953595146758,0.953624009194,0.953652862865,0.953681707769,0.953710543908,0.95373937128,0.953768189886,0.953796999725,0.953825800797,0.953854593101,0.953883376638,0.953912151407,0.953940917408,0.95396967464,0.953998423104,0.954027162799,0.954055893724,0.95408461588,0.954113329267,0.954142033883,0.954170729729,0.954199416804,0.954228095109,0.954256764643,0.954285425405,0.954314077396,0.954342720615,0.954371355061,0.954399980736,0.954428597638,0.954457205767,0.954485805122,0.954514395704,0.954542977513,0.954571550548,0.954600114808,0.954628670294,0.954657217005,0.954685754941,0.954714284102,0.954742804488,0.954771316097,0.954799818931,0.954828312988,0.954856798269,0.954885274772,0.954913742499,0.954942201448,0.95497065162,0.954999093014,0.95502752563,0.955055949467,0.955084364526,0.955112770805,0.955141168306,0.955169557027,0.955197936968,0.955226308129,0.955254670511,0.955283024111,0.955311368931,0.95533970497,0.955368032227,0.955396350703,0.955424660398,0.95545296131,0.95548125344,0.955509536787,0.955537811351,0.955566077133,0.955594334131,0.955622582345,0.955650821776,0.955679052422,0.955707274284,0.955735487361,0.955763691654,0.955791887161,0.955820073883,0.955848251819,0.955876420969,0.955904581333,0.95593273291,0.955960875701,0.955989009705,0.956017134921,0.95604525135,0.956073358991,0.956101457844,0.956129547909,0.956157629186,0.956185701673,0.956213765372,0.956241820281,0.956269866401,0.95629790373,0.95632593227,0.95635395202,0.956381962978,0.956409965146,0.956437958523,0.956465943109,0.956493918902,0.956521885904,0.956549844114,0.956577793531,0.956605734156,0.956633665988,0.956661589027,0.956689503272,0.956717408723,0.956745305381,0.956773193244,0.956801072313,0.956828942588,0.956856804067,0.956884656751,0.956912500639,0.956940335732,0.956968162029,0.95699597953,0.957023788234,0.957051588141,0.957079379251,0.957107161564,0.95713493508,0.957162699798,0.957190455717,0.957218202839,0.957245941162,0.957273670686,0.957301391411,0.957329103336,0.957356806463,0.957384500789,0.957412186315,0.957439863041,0.957467530967,0.957495190091,0.957522840414,0.957550481937,0.957578114657,0.957605738576,0.957633353692,0.957660960006,0.957688557518,0.957716146227,0.957743726132,0.957771297234,0.957798859533,0.957826413028,0.957853957718,0.957881493604,0.957909020686,0.957936538962,0.957964048434,0.9579915491,0.95801904096,0.958046524015,0.958073998263,0.958101463705,0.95812892034,0.958156368169,0.95818380719,0.958211237404,0.95823865881,0.958266071408,0.958293475198,0.95832087018,0.958348256352,0.958375633716,0.958403002271,0.958430362017,0.958457712952,0.958485055078,0.958512388394,0.958539712899,0.958567028593,0.958594335476,0.958621633549,0.95864892281,0.958676203259,0.958703474896,0.958730737721,0.958757991733,0.958785236933,0.95881247332,0.958839700894,0.958866919654,0.958894129601,0.958921330733,0.958948523052,0.958975706556,0.959002881245,0.959030047119,0.959057204178,0.959084352422,0.95911149185,0.959138622462,0.959165744258,0.959192857237,0.9592199614,0.959247056745,0.959274143274,0.959301220985,0.959328289878,0.959355349954,0.959382401211,0.95940944365,0.95943647727,0.959463502071,0.959490518053,0.959517525216,0.959544523559,0.959571513082,0.959598493785,0.959625465667,0.959652428729,0.95967938297,0.959706328389,0.959733264988,0.959760192764,0.959787111719,0.959814021851,0.959840923161,0.959867815649,0.959894699313,0.959921574155,0.959948440173,0.959975297367,0.960002145738,0.960028985284,0.960055816006,0.960082637903,0.960109450976,0.960136255223,0.960163050645,0.960189837241,0.960216615012,0.960243383956,0.960270144074,0.960296895366,0.96032363783,0.960350371468,0.960377096278,0.960403812261,0.960430519416,0.960457217742,0.960483907241,0.96051058791,0.960537259752,0.960563922763,0.960590576946,0.960617222299,0.960643858823,0.960670486516,0.960697105379,0.960723715411,0.960750316613,0.960776908984,0.960803492523,0.960830067231,0.960856633108,0.960883190152,0.960909738364,0.960936277743,0.96096280829,0.960989330004,0.961015842885,0.961042346932,0.961068842146,0.961095328525,0.96112180607,0.961148274781,0.961174734658,0.961201185699,0.961227627905,0.961254061276,0.961280485811,0.961306901511,0.961333308374,0.961359706401,0.961386095591,0.961412475944,0.96143884746,0.961465210139,0.961491563981,0.961517908984,0.961544245149,0.961570572477,0.961596890965,0.961623200615,0.961649501426,0.961675793397,0.961702076529,0.961728350821,0.961754616274,0.961780872885,0.961807120657,0.961833359588,0.961859589677,0.961885810926,0.961912023333,0.961938226899,0.961964421622,0.961990607503,0.962016784542,0.962042952739,0.962069112092,0.962095262602,0.962121404269,0.962147537092,0.962173661072,0.962199776207,0.962225882498,0.962251979944,0.962278068546,0.962304148302,0.962330219214,0.962356281279,0.962382334499,0.962408378873,0.962434414401,0.962460441082,0.962486458917,0.962512467904,0.962538468044,0.962564459337,0.962590441782,0.96261641538,0.962642380129,0.962668336029,0.962694283081,0.962720221284,0.962746150638,0.962772071143,0.962797982798,0.962823885603,0.962849779559,0.962875664663,0.962901540918,0.962927408321,0.962953266874,0.962979116575,0.963004957425,0.963030789423,0.963056612569,0.963082426863,0.963108232304,0.963134028893,0.963159816628,0.963185595511,0.96321136554,0.963237126716,0.963262879038,0.963288622505,0.963314357118,0.963340082877,0.963365799781,0.96339150783,0.963417207023,0.963442897361,0.963468578844,0.96349425147,0.96351991524,0.963545570153,0.96357121621,0.96359685341,0.963622481753,0.963648101238,0.963673711866,0.963699313636,0.963724906547,0.963750490601,0.963776065795,0.963801632131,0.963827189608,0.963852738226,0.963878277984,0.963903808882,0.96392933092,0.963954844098,0.963980348416,0.964005843873,0.964031330469,0.964056808204,0.964082277077,0.964107737089,0.964133188239,0.964158630526,0.964184063952,0.964209488515,0.964234904215,0.964260311052,0.964285709025,0.964311098136,0.964336478382,0.964361849765,0.964387212283,0.964412565937,0.964437910726,0.96446324665,0.964488573709,0.964513891903,0.964539201231,0.964564501694,0.96458979329,0.96461507602,0.964640349883,0.96466561488,0.964690871009,0.964716118272,0.964741356667,0.964766586194,0.964791806853,0.964817018645,0.964842221567,0.964867415622,0.964892600807,0.964917777123,0.96494294457,0.964968103147,0.964993252855,0.965018393692,0.96504352566,0.965068648757,0.965093762983,0.965118868338,0.965143964822,0.965169052435,0.965194131176,0.965219201045,0.965244262042,0.965269314167,0.965294357419,0.965319391798,0.965344417305,0.965369433938,0.965394441698,0.965419440584,0.965444430596,0.965469411734,0.965494383997,0.965519347386,0.9655443019,0.965569247539,0.965594184303,0.965619112191,0.965644031204,0.96566894134,0.9656938426,0.965718734984,0.965743618491,0.965768493121,0.965793358874,0.96581821575,0.965843063748,0.965867902868,0.96589273311,0.965917554474,0.965942366959,0.965967170566,0.965991965294,0.966016751142,0.966041528111,0.966066296201,0.96609105541,0.96611580574,0.966140547189,0.966165279758,0.966190003445,0.966214718252,0.966239424178,0.966264121222,0.966288809384,0.966313488665,0.966338159063,0.966362820579,0.966387473212,0.966412116963,0.96643675183,0.966461377814,0.966485994915,0.966510603132,0.966535202465,0.966559792914,0.966584374478,0.966608947158,0.966633510953,0.966658065863,0.966682611887,0.966707149026,0.966731677279,0.966756196647,0.966780707128,0.966805208722,0.96682970143,0.966854185251,0.966878660185,0.966903126232,0.966927583391,0.966952031662,0.966976471045,0.96700090154,0.967025323146,0.967049735864,0.967074139693,0.967098534633,0.967122920683,0.967147297844,0.967171666115,0.967196025496,0.967220375986,0.967244717586,0.967269050296,0.967293374114,0.967317689042,0.967341995078,0.967366292222,0.967390580475,0.967414859835,0.967439130304,0.96746339188,0.967487644563,0.967511888353,0.96753612325,0.967560349253,0.967584566363,0.967608774579,0.967632973902,0.967657164329,0.967681345863,0.967705518501,0.967729682245,0.967753837093,0.967777983047,0.967802120104,0.967826248266,0.967850367531,0.967874477901,0.967898579374,0.96792267195,0.967946755629,0.967970830411,0.967994896296,0.968018953283,0.968043001372,0.968067040563,0.968091070856,0.968115092251,0.968139104746,0.968163108343,0.968187103041,0.968211088839,0.968235065738,0.968259033737,0.968282992836,0.968306943034,0.968330884332,0.96835481673,0.968378740226,0.968402654822,0.968426560516,0.968450457308,0.968474345199,0.968498224188,0.968522094274,0.968545955458,0.96856980774,0.968593651118,0.968617485594,0.968641311166,0.968665127834,0.968688935599,0.96871273446,0.968736524416,0.968760305469,0.968784077616,0.968807840859,0.968831595196,0.968855340629,0.968879077155,0.968902804776,0.968926523492,0.9689502333,0.968973934203,0.968997626199,0.969021309288,0.96904498347,0.969068648745,0.969092305113,0.969115952572,0.969139591124,0.969163220768,0.969186841503,0.96921045333,0.969234056248,0.969257650257,0.969281235357,0.969304811547,0.969328378828,0.969351937199,0.969375486659,0.96939902721,0.96942255885,0.969446081579,0.969469595397,0.969493100305,0.9695165963,0.969540083385,0.969563561557,0.969587030817,0.969610491166,0.969633942601,0.969657385124,0.969680818734,0.969704243431,0.969727659215,0.969751066085,0.969774464042,0.969797853084,0.969821233213,0.969844604427,0.969867966726,0.969891320111,0.96991466458,0.969938000134,0.969961326773,0.969984644496,0.970007953303,0.970031253195,0.970054544169,0.970077826228,0.970101099369,0.970124363594,0.970147618901,0.970170865291,0.970194102763,0.970217331318,0.970240550955,0.970263761673,0.970286963473,0.970310156354,0.970333340316,0.970356515359,0.970379681483,0.970402838688,0.970425986972,0.970449126337,0.970472256781,0.970495378306,0.970518490909,0.970541594592,0.970564689354,0.970587775194,0.970610852113,0.970633920111,0.970656979186,0.97068002934,0.970703070571,0.97072610288,0.970749126266,0.970772140729,0.970795146269,0.970818142886,0.970841130579,0.970864109348,0.970887079193,0.970910040115,0.970932992111,0.970955935184,0.970978869331,0.971001794553,0.97102471085,0.971047618222,0.971070516668,0.971093406188,0.971116286782,0.97113915845,0.971162021191,0.971184875005,0.971207719893,0.971230555853,0.971253382887,0.971276200992,0.97129901017,0.97132181042,0.971344601741,0.971367384135,0.971390157599,0.971412922135,0.971435677742,0.97145842442,0.971481162168,0.971503890986,0.971526610875,0.971549321833,0.971572023862,0.97159471696,0.971617401127,0.971640076363,0.971662742668,0.971685400042,0.971708048484,0.971730687995,0.971753318574,0.97177594022,0.971798552934,0.971821156716,0.971843751564,0.97186633748,0.971888914463,0.971911482512,0.971934041628,0.97195659181,0.971979133057,0.972001665371,0.97202418875,0.972046703195,0.972069208704,0.972091705279,0.972114192918,0.972136671622,0.97215914139,0.972181602223,0.972204054119,0.972226497079,0.972248931102,0.972271356189,0.972293772339,0.972316179552,0.972338577827,0.972360967165,0.972383347565,0.972405719027,0.972428081552,0.972450435137,0.972472779784,0.972495115493,0.972517442262,0.972539760093,0.972562068983,0.972584368935,0.972606659946,0.972628942018,0.972651215149,0.97267347934,0.97269573459,0.9727179809,0.972740218268,0.972762446696,0.972784666182,0.972806876726,0.972829078328,0.972851270989,0.972873454707,0.972895629482,0.972917795315,0.972939952206,0.972962100153,0.972984239157,0.973006369217,0.973028490334,0.973050602507,0.973072705735,0.97309480002,0.97311688536,0.973138961755,0.973161029206,0.973183087711,0.973205137271,0.973227177886,0.973249209555,0.973271232278,0.973293246055,0.973315250885,0.973337246769,0.973359233707,0.973381211697,0.973403180741,0.973425140837,0.973447091985,0.973469034186,0.973490967439,0.973512891744,0.9735348071,0.973556713508,0.973578610967,0.973600499478,0.973622379039,0.973644249651,0.973666111313,0.973687964026,0.973709807788,0.973731642601,0.973753468463,0.973775285375,0.973797093336,0.973818892346,0.973840682405,0.973862463512,0.973884235668,0.973905998872,0.973927753125,0.973949498425,0.973971234773,0.973992962168,0.974014680611,0.9740363901,0.974058090637,0.97407978222,0.97410146485,0.974123138525,0.974144803247,0.974166459015,0.974188105829,0.974209743688,0.974231372592,0.974252992541,0.974274603536,0.974296205575,0.974317798658,0.974339382786,0.974360957957,0.974382524173,0.974404081432,0.974425629735,0.974447169081,0.97446869947,0.974490220902,0.974511733377,0.974533236894,0.974554731454,0.974576217056,0.974597693699,0.974619161384,0.974640620111,0.974662069879,0.974683510689,0.974704942539,0.974726365429,0.974747779361,0.974769184333,0.974790580344,0.974811967396,0.974833345488,0.974854714619,0.974876074789,0.974897425999,0.974918768247,0.974940101534,0.97496142586,0.974982741224,0.975004047627,0.975025345067,0.975046633545,0.975067913061,0.975089183614,0.975110445204,0.975131697831,0.975152941495,0.975174176196,0.975195401933,0.975216618706,0.975237826516,0.975259025361,0.975280215241,0.975301396158,0.975322568109,0.975343731095,0.975364885117,0.975386030173,0.975407166263,0.975428293388,0.975449411546,0.975470520739,0.975491620965,0.975512712225,0.975533794518,0.975554867844,0.975575932204,0.975596987595,0.97561803402,0.975639071476,0.975660099965,0.975681119486,0.975702130039,0.975723131623,0.975744124238,0.975765107885,0.975786082562,0.975807048271,0.975828005009,0.975848952779,0.975869891578,0.975890821408,0.975911742267,0.975932654156,0.975953557075,0.975974451022,0.975995335999,0.976016212005,0.976037079039,0.976057937102,0.976078786193,0.976099626312,0.976120457459,0.976141279634,0.976162092836,0.976182897066,0.976203692322,0.976224478606,0.976245255916,0.976266024253,0.976286783617,0.976307534006,0.976328275422,0.976349007863,0.97636973133,0.976390445822,0.97641115134,0.976431847883,0.97645253545,0.976473214042,0.976493883659,0.9765145443,0.976535195965,0.976555838653,0.976576472366,0.976597097102,0.976617712862,0.976638319644,0.97665891745,0.976679506278,0.976700086129,0.976720657002,0.976741218897,0.976761771815,0.976782315754,0.976802850715,0.976823376697,0.976843893701,0.976864401725,0.976884900771,0.976905390837,0.976925871924,0.976946344031,0.976966807158,0.976987261305,0.977007706471,0.977028142658,0.977048569863,0.977068988088,0.977089397332,0.977109797595,0.977130188876,0.977150571176,0.977170944494,0.97719130883,0.977211664184,0.977232010555,0.977252347944,0.977272676351,0.977292995774,0.977313306214,0.977333607671,0.977353900145,0.977374183635,0.977394458142,0.977414723664,0.977434980202,0.977455227756,0.977475466325,0.977495695909,0.977515916509,0.977536128123,0.977556330752,0.977576524396,0.977596709053,0.977616884725,0.977637051411,0.977657209111,0.977677357825,0.977697497551,0.977717628291,0.977737750044,0.97775786281,0.977777966588,0.977798061379,0.977818147183,0.977838223998,0.977858291825,0.977878350664,0.977898400515,0.977918441377,0.97793847325,0.977958496134,0.977978510029,0.977998514935,0.978018510851,0.978038497777,0.978058475713,0.978078444659,0.978098404615,0.978118355581,0.978138297556,0.97815823054,0.978178154533,0.978198069534,0.978217975545,0.978237872564,0.978257760591,0.978277639626,0.978297509669,0.97831737072,0.978337222778,0.978357065843,0.978376899916,0.978396724996,0.978416541082,0.978436348175,0.978456146275,0.978475935381,0.978495715492,0.97851548661,0.978535248733,0.978555001862,0.978574745997,0.978594481136,0.97861420728,0.978633924429,0.978653632583,0.978673331741,0.978693021904,0.97871270307,0.978732375241,0.978752038415,0.978771692592,0.978791337773,0.978810973957,0.978830601144,0.978850219334,0.978869828527,0.978889428721,0.978909019919,0.978928602118,0.978948175319,0.978967739522,0.978987294726,0.979006840932,0.979026378139,0.979045906347,0.979065425556,0.979084935765,0.979104436975,0.979123929185,0.979143412395,0.979162886606,0.979182351816,0.979201808025,0.979221255234,0.979240693442,0.979260122649,0.979279542855,0.97929895406,0.979318356263,0.979337749464,0.979357133664,0.979376508861,0.979395875057,0.97941523225,0.97943458044,0.979453919628,0.979473249812,0.979492570994,0.979511883172,0.979531186347,0.979550480518,0.979569765685,0.979589041849,0.979608309008,0.979627567163,0.979646816313,0.979666056459,0.979685287599,0.979704509735,0.979723722866,0.979742926991,0.97976212211,0.979781308224,0.979800485331,0.979819653433,0.979838812528,0.979857962617,0.9798771037,0.979896235775,0.979915358843,0.979934472905,0.979953577958,0.979972674005,0.979991761043,0.980010839074,0.980029908097,0.980048968112,0.980068019118,0.980087061115,0.980106094104,0.980125118084,0.980144133055,0.980163139016,0.980182135968,0.980201123911,0.980220102843,0.980239072766,0.980258033678,0.98027698558,0.980295928472,0.980314862353,0.980333787223,0.980352703082,0.98037160993,0.980390507767,0.980409396592,0.980428276405,0.980447147207,0.980466008996,0.980484861773,0.980503705538,0.98052254029,0.98054136603,0.980560182756,0.98057899047,0.98059778917,0.980616578857,0.98063535953,0.980654131189,0.980672893834,0.980691647465,0.980710392082,0.980729127685,0.980747854272,0.980766571845,0.980785280403,0.980803979946,0.980822670473,0.980841351985,0.980860024482,0.980878687962,0.980897342426,0.980915987874,0.980934624306,0.980953251721,0.98097187012,0.980990479502,0.981009079866,0.981027671213,0.981046253543,0.981064826856,0.98108339115,0.981101946427,0.981120492686,0.981139029926,0.981157558148,0.981176077352,0.981194587536,0.981213088702,0.981231580849,0.981250063976,0.981268538084,0.981287003172,0.981305459241,0.981323906289,0.981342344318,0.981360773326,0.981379193314,0.981397604281,0.981416006227,0.981434399152,0.981452783057,0.98147115794,0.981489523801,0.981507880641,0.981526228459,0.981544567255,0.981562897028,0.98158121778,0.981599529509,0.981617832215,0.981636125899,0.98165441056,0.981672686197,0.981690952811,0.981709210402,0.981727458969,0.981745698512,0.981763929031,0.981782150526,0.981800362996,0.981818566443,0.981836760864,0.981854946261,0.981873122632,0.981891289979,0.9819094483,0.981927597595,0.981945737865,0.98196386911,0.981981991328,0.98200010452,0.982018208685,0.982036303824,0.982054389937,0.982072467022,0.982090535081,0.982108594113,0.982126644117,0.982144685093,0.982162717042,0.982180739963,0.982198753856,0.982216758721,0.982234754558,0.982252741366,0.982270719146,0.982288687896,0.982306647618,0.982324598311,0.982342539974,0.982360472608,0.982378396212,0.982396310786,0.98241421633,0.982432112845,0.982450000328,0.982467878782,0.982485748205,0.982503608597,0.982521459958,0.982539302287,0.982557135586,0.982574959853,0.982592775089,0.982610581292,0.982628378464,0.982646166604,0.982663945711,0.982681715786,0.982699476829,0.982717228838,0.982734971815,0.982752705758,0.982770430669,0.982788146546,0.982805853389,0.982823551199,0.982841239974,0.982858919716,0.982876590423,0.982894252096,0.982911904735,0.982929548339,0.982947182908,0.982964808441,0.98298242494,0.983000032403,0.983017630831,0.983035220223,0.983052800579,0.983070371899,0.983087934184,0.983105487431,0.983123031642,0.983140566817,0.983158092955,0.983175610055,0.983193118119,0.983210617145,0.983228107134,0.983245588085,0.983263059999,0.983280522874,0.983297976712,0.983315421511,0.983332857272,0.983350283994,0.983367701677,0.983385110322,0.983402509927,0.983419900493,0.98343728202,0.983454654507,0.983472017955,0.983489372362,0.98350671773,0.983524054058,0.983541381345,0.983558699591,0.983576008797,0.983593308962,0.983610600087,0.98362788217,0.983645155211,0.983662419212,0.98367967417,0.983696920087,0.983714156962,0.983731384795,0.983748603586,0.983765813334,0.98378301404,0.983800205703,0.983817388323,0.9838345619,0.983851726434,0.983868881924,0.983886028371,0.983903165774,0.983920294134,0.983937413449,0.983954523721,0.983971624948,0.98398871713,0.984005800268,0.984022874361,0.98403993941,0.984056995413,0.984074042371,0.984091080283,0.98410810915,0.984125128972,0.984142139747,0.984159141476,0.98417613416,0.984193117797,0.984210092387,0.984227057931,0.984244014428,0.984260961878,0.98427790028,0.984294829636,0.984311749944,0.984328661205,0.984345563418,0.984362456583,0.984379340699,0.984396215768,0.984413081789,0.98442993876,0.984446786684,0.984463625558,0.984480455383,0.984497276159,0.984514087886,0.984530890564,0.984547684192,0.98456446877,0.984581244298,0.984598010776,0.984614768204,0.984631516582,0.984648255909,0.984664986185,0.984681707411,0.984698419586,0.984715122709,0.984731816781,0.984748501802,0.984765177771,0.984781844688,0.984798502554,0.984815151367,0.984831791128,0.984848421837,0.984865043494,0.984881656097,0.984898259648,0.984914854146,0.984931439591,0.984948015982,0.98496458332,0.984981141605,0.984997690835,0.985014231012,0.985030762135,0.985047284204,0.985063797218,0.985080301178,0.985096796083,0.985113281933,0.985129758728,0.985146226469,0.985162685154,0.985179134783,0.985195575357,0.985212006876,0.985228429338,0.985244842745,0.985261247095,0.985277642389,0.985294028626,0.985310405807,0.985326773932,0.985343132999,0.985359483009,0.985375823962,0.985392155858,0.985408478696,0.985424792476,0.985441097199,0.985457392864,0.98547367947,0.985489957018,0.985506225508,0.98552248494,0.985538735312,0.985554976626,0.985571208881,0.985587432076,0.985603646213,0.985619851289,0.985636047307,0.985652234264,0.985668412162,0.985684580999,0.985700740776,0.985716891493,0.98573303315,0.985749165746,0.985765289281,0.985781403755,0.985797509168,0.985813605519,0.98582969281,0.985845771038,0.985861840206,0.985877900311,0.985893951354,0.985909993335,0.985926026254,0.985942050111,0.985958064905,0.985974070636,0.985990067304,0.98600605491,0.986022033452,0.986038002931,0.986053963346,0.986069914698,0.986085856986,0.98610179021,0.986117714371,0.986133629467,0.986149535498,0.986165432465,0.986181320368,0.986197199206,0.986213068979,0.986228929686,0.986244781329,0.986260623906,0.986276457418,0.986292281864,0.986308097245,0.986323903559,0.986339700807,0.986355488989,0.986371268105,0.986387038154,0.986402799137,0.986418551053,0.986434293902,0.986450027683,0.986465752398,0.986481468045,0.986497174625,0.986512872136,0.986528560581,0.986544239957,0.986559910265,0.986575571505,0.986591223676,0.986606866779,0.986622500813,0.986638125778,0.986653741675,0.986669348502,0.98668494626,0.986700534949,0.986716114568,0.986731685117,0.986747246597,0.986762799007,0.986778342346,0.986793876615,0.986809401814,0.986824917943,0.986840425,0.986855922987,0.986871411903,0.986886891748,0.986902362521,0.986917824223,0.986933276854,0.986948720413,0.9869641549,0.986979580315,0.986994996658,0.987010403928,0.987025802127,0.987041191253,0.987056571306,0.987071942286,0.987087304193,0.987102657028,0.987118000789,0.987133335477,0.987148661091,0.987163977631,0.987179285098,0.987194583491,0.987209872809,0.987225153054,0.987240424224,0.987255686319,0.98727093934,0.987286183287,0.987301418158,0.987316643954,0.987331860675,0.987347068321,0.987362266891,0.987377456385,0.987392636804,0.987407808147,0.987422970414,0.987438123605,0.987453267719,0.987468402757,0.987483528718,0.987498645603,0.98751375341,0.987528852141,0.987543941794,0.987559022371,0.987574093869,0.987589156291,0.987604209634,0.9876192539,0.987634289087,0.987649315197,0.987664332228,0.987679340181,0.987694339055,0.987709328851,0.987724309568,0.987739281206,0.987754243765,0.987769197244,0.987784141645,0.987799076965,0.987814003206,0.987828920368,0.987843828449,0.987858727451,0.987873617372,0.987888498213,0.987903369973,0.987918232653,0.987933086252,0.98794793077,0.987962766207,0.987977592563,0.987992409838,0.988007218031,0.988022017143,0.988036807173,0.988051588122,0.988066359988,0.988081122772,0.988095876474,0.988110621094,0.988125356631,0.988140083086,0.988154800457,0.988169508746,0.988184207952,0.988198898075,0.988213579114,0.98822825107,0.988242913942,0.988257567731,0.988272212435,0.988286848056,0.988301474593,0.988316092045,0.988330700413,0.988345299697,0.988359889895,0.988374471009,0.988389043038,0.988403605982,0.988418159841,0.988432704615,0.988447240303,0.988461766905,0.988476284422,0.988490792853,0.988505292198,0.988519782456,0.988534263629,0.988548735715,0.988563198714,0.988577652627,0.988592097453,0.988606533192,0.988620959844,0.988635377409,0.988649785887,0.988664185277,0.98867857558,0.988692956794,0.988707328921,0.98872169196,0.988736045911,0.988750390774,0.988764726548,0.988779053234,0.988793370831,0.988807679339,0.988821978758,0.988836269089,0.98885055033,0.988864822482,0.988879085544,0.988893339517,0.9889075844,0.988921820194,0.988936046897,0.98895026451,0.988964473033,0.988978672466,0.988992862808,0.98900704406,0.989021216221,0.989035379291,0.98904953327,0.989063678158,0.989077813955,0.98909194066,0.989106058273,0.989120166796,0.989134266226,0.989148356564,0.989162437811,0.989176509965,0.989190573027,0.989204626996,0.989218671873,0.989232707657,0.989246734349,0.989260751947,0.989274760452,0.989288759865,0.989302750183,0.989316731409,0.989330703541,0.989344666579,0.989358620523,0.989372565373,0.989386501129,0.989400427791,0.989414345359,0.989428253832,0.989442153211,0.989456043494,0.989469924683,0.989483796777,0.989497659776,0.989511513679,0.989525358487,0.9895391942,0.989553020817,0.989566838338,0.989580646764,0.989594446093,0.989608236326,0.989622017463,0.989635789504,0.989649552448,0.989663306295,0.989677051046,0.989690786699,0.989704513256,0.989718230716,0.989731939078,0.989745638343,0.98975932851,0.98977300958,0.989786681552,0.989800344426,0.989813998202,0.989827642879,0.989841278459,0.98985490494,0.989868522322,0.989882130606,0.989895729791,0.989909319878,0.989922900865,0.989936472753,0.989950035542,0.989963589231,0.989977133821,0.989990669311,0.990004195701,0.990017712992,0.990031221182,0.990044720272,0.990058210262,0.990071691152,0.990085162941,0.990098625629,0.990112079217,0.990125523704,0.990138959089,0.990152385374,0.990165802557,0.990179210639,0.99019260962,0.990205999498,0.990219380275,0.99023275195,0.990246114523,0.990259467994,0.990272812363,0.99028614763,0.990299473793,0.990312790855,0.990326098813,0.990339397669,0.990352687421,0.990365968071,0.990379239617,0.99039250206,0.9904057554,0.990418999635,0.990432234768,0.990445460796,0.99045867772,0.99047188554,0.990485084256,0.990498273868,0.990511454375,0.990524625778,0.990537788076,0.990550941269,0.990564085358,0.990577220341,0.990590346219,0.990603462992,0.990616570659,0.990629669221,0.990642758677,0.990655839027,0.990668910272,0.99068197241,0.990695025443,0.990708069369,0.990721104188,0.990734129902,0.990747146508,0.990760154008,0.990773152401,0.990786141687,0.990799121866,0.990812092938,0.990825054902,0.990838007759,0.990850951508,0.99086388615,0.990876811684,0.99088972811,0.990902635428,0.990915533638,0.990928422739,0.990941302732,0.990954173617,0.990967035392,0.99097988806,0.990992731618,0.991005566067,0.991018391407,0.991031207638,0.99104401476,0.991056812772,0.991069601674,0.991082381467,0.99109515215,0.991107913723,0.991120666186,0.991133409539,0.991146143782,0.991158868914,0.991171584936,0.991184291847,0.991196989647,0.991209678336,0.991222357915,0.991235028382,0.991247689738,0.991260341983,0.991272985116,0.991285619138,0.991298244048,0.991310859846,0.991323466532,0.991336064107,0.991348652569,0.991361231919,0.991373802156,0.991386363281,0.991398915294,0.991411458193,0.99142399198,0.991436516654,0.991449032215,0.991461538662,0.991474035997,0.991486524218,0.991499003325,0.991511473319,0.991523934199,0.991536385965,0.991548828617,0.991561262155,0.991573686579,0.991586101888,0.991598508083,0.991610905163,0.991623293129,0.99163567198,0.991648041716,0.991660402337,0.991672753843,0.991685096234,0.991697429509,0.991709753669,0.991722068713,0.991734374642,0.991746671455,0.991758959152,0.991771237732,0.991783507197,0.991795767545,0.991808018777,0.991820260893,0.991832493892,0.991844717774,0.991856932539,0.991869138188,0.991881334719,0.991893522134,0.991905700431,0.99191786961,0.991930029672,0.991942180617,0.991954322444,0.991966455153,0.991978578744,0.991990693216,0.992002798571,0.992014894808,0.992026981926,0.992039059925,0.992051128806,0.992063188569,0.992075239212,0.992087280737,0.992099313142,0.992111336428,0.992123350596,0.992135355643,0.992147351571,0.99215933838,0.992171316069,0.992183284638,0.992195244087,0.992207194416,0.992219135625,0.992231067713,0.992242990681,0.992254904529,0.992266809256,0.992278704863,0.992290591348,0.992302468713,0.992314336957,0.992326196079,0.99233804608,0.99234988696,0.992361718719,0.992373541356,0.992385354871,0.992397159264,0.992408954536,0.992420740685,0.992432517713,0.992444285618,0.992456044401,0.992467794061,0.992479534599,0.992491266014,0.992502988306,0.992514701476,0.992526405522,0.992538100446,0.992549786246,0.992561462923,0.992573130476,0.992584788906,0.992596438213,0.992608078395,0.992619709454,0.992631331389,0.9926429442,0.992654547887,0.992666142449,0.992677727887,0.9926893042,0.992700871389,0.992712429454,0.992723978393,0.992735518208,0.992747048897,0.992758570462,0.992770082901,0.992781586215,0.992793080403,0.992804565466,0.992816041403,0.992827508215,0.9928389659,0.99285041446,0.992861853893,0.992873284201,0.992884705382,0.992896117437,0.992907520365,0.992918914167,0.992930298842,0.99294167439,0.992953040811,0.992964398105,0.992975746273,0.992987085312,0.992998415225,0.99300973601,0.993021047668,0.993032350198,0.9930436436,0.993054927875,0.993066203021,0.993077469039,0.99308872593,0.993099973692,0.993111212325,0.99312244183,0.993133662207,0.993144873455,0.993156075574,0.993167268564,0.993178452426,0.993189627158,0.993200792761,0.993211949235,0.993223096579,0.993234234794,0.993245363879,0.993256483835,0.993267594661,0.993278696356,0.993289788922,0.993300872358,0.993311946664,0.993323011839,0.993334067884,0.993345114798,0.993356152582,0.993367181235,0.993378200757,0.993389211148,0.993400212408,0.993411204537,0.993422187535,0.993433161402,0.993444126137,0.993455081741,0.993466028213,0.993476965553,0.993487893761,0.993498812838,0.993509722782,0.993520623595,0.993531515275,0.993542397822,0.993553271238,0.993564135521,0.993574990671,0.993585836688,0.993596673573,0.993607501325,0.993618319943,0.993629129429,0.993639929781,0.993650721,0.993661503086,0.993672276038,0.993683039856,0.993693794541,0.993704540092,0.993715276509,0.993726003792,0.993736721941,0.993747430955,0.993758130836,0.993768821582,0.993779503193,0.99379017567,0.993800839012,0.993811493219,0.993822138292,0.993832774229,0.993843401031,0.993854018698,0.99386462723,0.993875226626,0.993885816887,0.993896398013,0.993906970002,0.993917532856,0.993928086574,0.993938631156,0.993949166602,0.993959692912,0.993970210085,0.993980718123,0.993991217023,0.994001706787,0.994012187415,0.994022658906,0.99403312126,0.994043574477,0.994054018557,0.994064453499,0.994074879305,0.994085295973,0.994095703504,0.994106101897,0.994116491153,0.994126871271,0.994137242251,0.994147604093,0.994157956798,0.994168300364,0.994178634792,0.994188960082,0.994199276233,0.994209583246,0.994219881121,0.994230169856,0.994240449453,0.994250719911,0.99426098123,0.994271233411,0.994281476452,0.994291710353,0.994301935116,0.994312150739,0.994322357223,0.994332554567,0.994342742771,0.994352921835,0.99436309176,0.994373252545,0.994383404189,0.994393546694,0.994403680058,0.994413804281,0.994423919365,0.994434025308,0.99444412211,0.994454209771,0.994464288292,0.994474357672,0.994484417911,0.994494469008,0.994504510965,0.99451454378,0.994524567454,0.994534581987,0.994544587377,0.994554583627,0.994564570734,0.9945745487,0.994584517524,0.994594477206,0.994604427745,0.994614369143,0.994624301398,0.994634224511,0.994644138481,0.994654043309,0.994663938994,0.994673825536,0.994683702936,0.994693571193,0.994703430306,0.994713280277,0.994723121104,0.994732952788,0.994742775329,0.994752588726,0.99476239298,0.99477218809,0.994781974057,0.994791750879,0.994801518558,0.994811277092,0.994821026483,0.994830766729,0.994840497831,0.994850219789,0.994859932602,0.994869636271,0.994879330795,0.994889016174,0.994898692409,0.994908359498,0.994918017443,0.994927666243,0.994937305897,0.994946936406,0.99495655777,0.994966169989,0.994975773061,0.994985366989,0.99499495177,0.995004527406,0.995014093896,0.99502365124,0.995033199438,0.99504273849,0.995052268396,0.995061789155,0.995071300768,0.995080803234,0.995090296554,0.995099780727,0.995109255754,0.995118721633,0.995128178366,0.995137625952,0.99514706439,0.995156493682,0.995165913826,0.995175324823,0.995184726672,0.995194119374,0.995203502928,0.995212877335,0.995222242594,0.995231598705,0.995240945667,0.995250283482,0.995259612149,0.995268931668,0.995278242038,0.99528754326,0.995296835333,0.995306118258,0.995315392034,0.995324656662,0.99533391214,0.99534315847,0.995352395651,0.995361623683,0.995370842565,0.995380052299,0.995389252883,0.995398444317,0.995407626603,0.995416799738,0.995425963724,0.99543511856,0.995444264247,0.995453400783,0.995462528169,0.995471646406,0.995480755492,0.995489855428,0.995498946213,0.995508027849,0.995517100333,0.995526163668,0.995535217851,0.995544262884,0.995553298766,0.995562325497,0.995571343077,0.995580351506,0.995589350783,0.99559834091,0.995607321885,0.995616293709,0.995625256381,0.995634209902,0.995643154271,0.995652089488,0.995661015554,0.995669932467,0.995678840229,0.995687738838,0.995696628296,0.995705508601,0.995714379754,0.995723241754,0.995732094602,0.995740938298,0.99574977284,0.99575859823,0.995767414468,0.995776221552,0.995785019483,0.995793808262,0.995802587887,0.995811358359,0.995820119678,0.995828871843,0.995837614855,0.995846348714,0.995855073419,0.99586378897,0.995872495367,0.995881192611,0.9958898807,0.995898559636,0.995907229417,0.995915890045,0.995924541518,0.995933183837,0.995941817001,0.995950441011,0.995959055866,0.995967661567,0.995976258113,0.995984845504,0.99599342374,0.996001992822,0.996010552748,0.996019103519,0.996027645135,0.996036177596,0.996044700901,0.996053215051,0.996061720046,0.996070215884,0.996078702568,0.996087180095,0.996095648467,0.996104107682,0.996112557742,0.996120998646,0.996129430393,0.996137852985,0.99614626642,0.996154670699,0.996163065821,0.996171451787,0.996179828596,0.996188196248,0.996196554744,0.996204904083,0.996213244265,0.99622157529,0.996229897158,0.996238209869,0.996246513422,0.996254807819,0.996263093058,0.996271369139,0.996279636063,0.99628789383,0.996296142438,0.99630438189,0.996312612183,0.996320833318,0.996329045295,0.996337248115,0.996345441776,0.996353626279,0.996361801624,0.99636996781,0.996378124838,0.996386272708,0.996394411419,0.996402540971,0.996410661364,0.996418772599,0.996426874675,0.996434967592,0.99644305135,0.996451125949,0.996459191389,0.996467247669,0.99647529479,0.996483332752,0.996491361554,0.996499381197,0.99650739168,0.996515393004,0.996523385167,0.996531368171,0.996539342015,0.996547306699,0.996555262223,0.996563208587,0.996571145791,0.996579073834,0.996586992717,0.99659490244,0.996602803002,0.996610694403,0.996618576644,0.996626449724,0.996634313644,0.996642168402,0.996650014,0.996657850437,0.996665677712,0.996673495827,0.99668130478,0.996689104572,0.996696895203,0.996704676672,0.99671244898,0.996720212126,0.996727966111,0.996735710933,0.996743446594,0.996751173094,0.996758890431,0.996766598606,0.996774297619,0.99678198747,0.996789668159,0.996797339686,0.99680500205,0.996812655252,0.996820299291,0.996827934168,0.996835559882,0.996843176434,0.996850783822,0.996858382048,0.996865971111,0.996873551011,0.996881121748,0.996888683322,0.996896235732,0.99690377898,0.996911313064,0.996918837984,0.996926353741,0.996933860335,0.996941357765,0.996948846031,0.996956325134,0.996963795073,0.996971255848,0.996978707459,0.996986149906,0.996993583189,0.997001007307,0.997008422262,0.997015828052,0.997023224678,0.997030612139,0.997037990436,0.997045359569,0.997052719536,0.997060070339,0.997067411978,0.997074744451,0.99708206776,0.997089381903,0.997096686882,0.997103982696,0.997111269344,0.997118546827,0.997125815145,0.997133074297,0.997140324284,0.997147565106,0.997154796762,0.997162019252,0.997169232576,0.997176436735,0.997183631728,0.997190817555,0.997197994217,0.997205161712,0.997212320041,0.997219469204,0.9972266092,0.99723374003,0.997240861694,0.997247974192,0.997255077523,0.997262171688,0.997269256685,0.997276332517,0.997283399181,0.997290456679,0.997297505009,0.997304544173,0.99731157417,0.997318595,0.997325606662,0.997332609158,0.997339602486,0.997346586647,0.99735356164,0.997360527466,0.997367484124,0.997374431615,0.997381369938,0.997388299094,0.997395219081,0.997402129901,0.997409031553,0.997415924037,0.997422807353,0.997429681501,0.997436546481,0.997443402292,0.997450248935,0.99745708641,0.997463914716,0.997470733854,0.997477543824,0.997484344624,0.997491136257,0.99749791872,0.997504692015,0.99751145614,0.997518211097,0.997524956885,0.997531693504,0.997538420954,0.997545139234,0.997551848346,0.997558548288,0.99756523906,0.997571920664,0.997578593098,0.997585256362,0.997591910457,0.997598555382,0.997605191137,0.997611817723,0.997618435139,0.997625043384,0.99763164246,0.997638232366,0.997644813102,0.997651384668,0.997657947063,0.997664500289,0.997671044343,0.997677579228,0.997684104942,0.997690621486,0.997697128859,0.997703627061,0.997710116093,0.997716595954,0.997723066644,0.997729528164,0.997735980512,0.997742423689,0.997748857696,0.997755282531,0.997761698195,0.997768104688,0.99777450201,0.997780890161,0.99778726914,0.997793638947,0.997799999583,0.997806351048,0.99781269334,0.997819026462,0.997825350411,0.997831665189,0.997837970795,0.997844267228,0.99785055449,0.99785683258,0.997863101498,0.997869361244,0.997875611817,0.997881853218,0.997888085447,0.997894308504,0.997900522388,0.997906727099,0.997912922638,0.997919109005,0.997925286199,0.99793145422,0.997937613068,0.997943762743,0.997949903246,0.997956034576,0.997962156732,0.997968269716,0.997974373526,0.997980468164,0.997986553628,0.997992629919,0.997998697036,0.99800475498,0.998010803751,0.998016843348,0.998022873771,0.998028895021,0.998034907098,0.99804091,0.998046903729,0.998052888284,0.998058863665,0.998064829872,0.998070786905,0.998076734765,0.99808267345,0.99808860296,0.998094523297,0.998100434459,0.998106336447,0.998112229261,0.9981181129,0.998123987365,0.998129852655,0.998135708771,0.998141555712,0.998147393478,0.998153222069,0.998159041486,0.998164851728,0.998170652795,0.998176444686,0.998182227403,0.998188000945,0.998193765312,0.998199520503,0.99820526652,0.99821100336,0.998216731026,0.998222449516,0.998228158831,0.99823385897,0.998239549934,0.998245231722,0.998250904335,0.998256567771,0.998262222032,0.998267867118,0.998273503027,0.99827912976,0.998284747318,0.998290355699,0.998295954905,0.998301544934,0.998307125787,0.998312697464,0.998318259964,0.998323813289,0.998329357436,0.998334892408,0.998340418203,0.998345934821,0.998351442263,0.998356940528,0.998362429617,0.998367909529,0.998373380264,0.998378841822,0.998384294203,0.998389737407,0.998395171435,0.998400596285,0.998406011958,0.998411418454,0.998416815773,0.998422203915,0.998427582879,0.998432952667,0.998438313276,0.998443664708,0.998449006963,0.998454340041,0.99845966394,0.998464978662,0.998470284207,0.998475580573,0.998480867762,0.998486145773,0.998491414606,0.998496674262,0.998501924739,0.998507166038,0.99851239816,0.998517621103,0.998522834868,0.998528039454,0.998533234863,0.998538421093,0.998543598145,0.998548766018,0.998553924713,0.99855907423,0.998564214568,0.998569345727,0.998574467708,0.99857958051,0.998584684133,0.998589778578,0.998594863843,0.99859993993,0.998605006838,0.998610064567,0.998615113117,0.998620152488,0.99862518268,0.998630203693,0.998635215526,0.99864021818,0.998645211655,0.998650195951,0.998655171067,0.998660137004,0.998665093761,0.998670041339,0.998674979737,0.998679908956,0.998684828995,0.998689739854,0.998694641534,0.998699534034,0.998704417353,0.998709291494,0.998714156454,0.998719012234,0.998723858834,0.998728696254,0.998733524494,0.998738343554,0.998743153434,0.998747954133,0.998752745652,0.998757527991,0.99876230115,0.998767065128,0.998771819925,0.998776565542,0.998781301979,0.998786029235,0.99879074731,0.998795456205,0.998800155919,0.998804846452,0.998809527805,0.998814199976,0.998818862967,0.998823516777,0.998828161406,0.998832796854,0.99883742312,0.998842040206,0.99884664811,0.998851246834,0.998855836376,0.998860416737,0.998864987916,0.998869549914,0.998874102731,0.998878646366,0.99888318082,0.998887706093,0.998892222183,0.998896729092,0.99890122682,0.998905715366,0.99891019473,0.998914664912,0.998919125913,0.998923577731,0.998928020368,0.998932453823,0.998936878096,0.998941293187,0.998945699096,0.998950095822,0.998954483367,0.998958861729,0.99896323091,0.998967590908,0.998971941723,0.998976283356,0.998980615807,0.998984939076,0.998989253162,0.998993558066,0.998997853787,0.999002140325,0.999006417681,0.999010685854,0.999014944845,0.999019194652,0.999023435277,0.99902766672,0.999031888979,0.999036102055,0.999040305949,0.999044500659,0.999048686187,0.999052862532,0.999057029693,0.999061187671,0.999065336466,0.999069476078,0.999073606507,0.999077727753,0.999081839815,0.999085942694,0.999090036389,0.999094120901,0.99909819623,0.999102262375,0.999106319336,0.999110367114,0.999114405709,0.999118435119,0.999122455346,0.99912646639,0.999130468249,0.999134460925,0.999138444417,0.999142418725,0.999146383849,0.999150339789,0.999154286545,0.999158224118,0.999162152506,0.99916607171,0.99916998173,0.999173882566,0.999177774217,0.999181656685,0.999185529968,0.999189394067,0.999193248981,0.999197094711,0.999200931257,0.999204758618,0.999208576795,0.999212385787,0.999216185595,0.999219976218,0.999223757657,0.999227529911,0.99923129298,0.999235046865,0.999238791564,0.999242527079,0.999246253409,0.999249970555,0.999253678515,0.999257377291,0.999261066881,0.999264747287,0.999268418507,0.999272080543,0.999275733393,0.999279377058,0.999283011538,0.999286636833,0.999290252943,0.999293859867,0.999297457606,0.99930104616,0.999304625528,0.999308195711,0.999311756709,0.999315308521,0.999318851147,0.999322384588,0.999325908844,0.999329423914,0.999332929798,0.999336426497,0.99933991401,0.999343392337,0.999346861478,0.999350321434,0.999353772204,0.999357213788,0.999360646186,0.999364069399,0.999367483425,0.999370888265,0.99937428392,0.999377670388,0.99938104767,0.999384415766,0.999387774676,0.9993911244,0.999394464938,0.99939779629,0.999401118455,0.999404431434,0.999407735226,0.999411029833,0.999414315253,0.999417591486,0.999420858533,0.999424116394,0.999427365068,0.999430604555,0.999433834857,0.999437055971,0.999440267899,0.99944347064,0.999446664195,0.999449848562,0.999453023744,0.999456189738,0.999459346546,0.999462494166,0.9994656326,0.999468761847,0.999471881907,0.999474992781,0.999478094467,0.999481186966,0.999484270278,0.999487344404,0.999490409342,0.999493465093,0.999496511657,0.999499549033,0.999502577223,0.999505596225,0.99950860604,0.999511606668,0.999514598109,0.999517580362,0.999520553428,0.999523517306,0.999526471997,0.999529417501,0.999532353817,0.999535280946,0.999538198887,0.999541107641,0.999544007207,0.999546897585,0.999549778776,0.999552650779,0.999555513595,0.999558367223,0.999561211663,0.999564046915,0.99956687298,0.999569689857,0.999572497546,0.999575296047,0.99957808536,0.999580865485,0.999583636423,0.999586398172,0.999589150734,0.999591894107,0.999594628292,0.99959735329,0.999600069099,0.99960277572,0.999605473153,0.999608161398,0.999610840455,0.999613510323,0.999616171003,0.999618822495,0.999621464799,0.999624097914,0.999626721841,0.99962933658,0.99963194213,0.999634538492,0.999637125666,0.999639703651,0.999642272447,0.999644832055,0.999647382475,0.999649923706,0.999652455748,0.999654978602,0.999657492267,0.999659996744,0.999662492032,0.999664978131,0.999667455042,0.999669922763,0.999672381297,0.999674830641,0.999677270796,0.999679701763,0.999682123541,0.99968453613,0.99968693953,0.999689333741,0.999691718763,0.999694094597,0.999696461241,0.999698818696,0.999701166963,0.99970350604,0.999705835928,0.999708156627,0.999710468137,0.999712770458,0.99971506359,0.999717347532,0.999719622286,0.99972188785,0.999724144225,0.999726391411,0.999728629407,0.999730858214,0.999733077832,0.999735288261,0.9997374895,0.999739681549,0.99974186441,0.999744038081,0.999746202562,0.999748357855,0.999750503957,0.99975264087,0.999754768594,0.999756887128,0.999758996472,0.999761096627,0.999763187593,0.999765269369,0.999767341955,0.999769405351,0.999771459558,0.999773504575,0.999775540403,0.99977756704,0.999779584488,0.999781592747,0.999783591815,0.999785581694,0.999787562382,0.999789533881,0.999791496191,0.99979344931,0.999795393239,0.999797327979,0.999799253528,0.999801169888,0.999803077058,0.999804975037,0.999806863827,0.999808743427,0.999810613836,0.999812475056,0.999814327085,0.999816169925,0.999818003574,0.999819828034,0.999821643303,0.999823449382,0.99982524627,0.999827033969,0.999828812478,0.999830581796,0.999832341924,0.999834092862,0.999835834609,0.999837567166,0.999839290533,0.99984100471,0.999842709696,0.999844405492,0.999846092098,0.999847769513,0.999849437738,0.999851096772,0.999852746616,0.99985438727,0.999856018733,0.999857641006,0.999859254088,0.99986085798,0.999862452681,0.999864038192,0.999865614512,0.999867181641,0.999868739581,0.999870288329,0.999871827887,0.999873358254,0.999874879431,0.999876391417,0.999877894212,0.999879387817,0.999880872231,0.999882347454,0.999883813487,0.999885270329,0.99988671798,0.99988815644,0.99988958571,0.999891005789,0.999892416677,0.999893818374,0.999895210881,0.999896594197,0.999897968321,0.999899333256,0.999900688999,0.999902035551,0.999903372912,0.999904701083,0.999906020062,0.999907329851,0.999908630449,0.999909921856,0.999911204071,0.999912477096,0.99991374093,0.999914995573,0.999916241025,0.999917477286,0.999918704356,0.999919922235,0.999921130922,0.999922330419,0.999923520725,0.999924701839,0.999925873763,0.999927036495,0.999928190036,0.999929334386,0.999930469545,0.999931595513,0.99993271229,0.999933819875,0.99993491827,0.999936007473,0.999937087485,0.999938158305,0.999939219935,0.999940272373,0.99994131562,0.999942349676,0.999943374541,0.999944390214,0.999945396696,0.999946393987,0.999947382086,0.999948360994,0.999949330711,0.999950291236,0.999951242571,0.999952184714,0.999953117665,0.999954041425,0.999954955994,0.999955861371,0.999956757557,0.999957644552,0.999958522355,0.999959390967,0.999960250387,0.999961100616,0.999961941654,0.9999627735,0.999963596155,0.999964409618,0.99996521389,0.99996600897,0.999966794859,0.999967571556,0.999968339062,0.999969097377,0.9999698465,0.999970586431,0.999971317171,0.999972038719,0.999972751076,0.999973454241,0.999974148215,0.999974832997,0.999975508588,0.999976174987,0.999976832194,0.99997748021,0.999978119035,0.999978748667,0.999979369109,0.999979980358,0.999980582416,0.999981175283,0.999981758957,0.999982333441,0.999982898732,0.999983454832,0.99998400174,0.999984539457,0.999985067982,0.999985587315,0.999986097457,0.999986598407,0.999987090165,0.999987572732,0.999988046107,0.99998851029,0.999988965282,0.999989411082,0.99998984769,0.999990275107,0.999990693332,0.999991102365,0.999991502206,0.999991892856,0.999992274314,0.999992646581,0.999993009655,0.999993363538,0.99999370823,0.999994043729,0.999994370037,0.999994687153,0.999994995077,0.99999529381,0.99999558335,0.999995863699,0.999996134857,0.999996396822,0.999996649596,0.999996893178,0.999997127568,0.999997352767,0.999997568774,0.999997775589,0.999997973212,0.999998161643,0.999998340883,0.999998510931,0.999998671787,0.999998823452,0.999998965924,0.999999099205,0.999999223294,0.999999338192,0.999999443897,0.999999540411,0.999999627733,0.999999705863,0.999999774801,0.999999834548,0.999999885103,0.999999926466,0.999999958637,0.999999981616,0.999999995404,1.0,0.999999995404,0.999999981616,0.999999958637,0.999999926466,0.999999885103,0.999999834548,0.999999774801,0.999999705863,0.999999627733,0.999999540411,0.999999443897,0.999999338192,0.999999223294,0.999999099205,0.999998965924,0.999998823452,0.999998671787,0.999998510931,0.999998340883,0.999998161643,0.999997973212,0.999997775589,0.999997568774,0.999997352767,0.999997127568,0.999996893178,0.999996649596,0.999996396822,0.999996134857,0.999995863699,0.99999558335,0.99999529381,0.999994995077,0.999994687153,0.999994370037,0.999994043729,0.99999370823,0.999993363538,0.999993009655,0.999992646581,0.999992274314,0.999991892856,0.999991502206,0.999991102365,0.999990693332,0.999990275107,0.99998984769,0.999989411082,0.999988965282,0.99998851029,0.999988046107,0.999987572732,0.999987090165,0.999986598407,0.999986097457,0.999985587315,0.999985067982,0.999984539457,0.99998400174,0.999983454832,0.999982898732,0.999982333441,0.999981758957,0.999981175283,0.999980582416,0.999979980358,0.999979369109,0.999978748667,0.999978119035,0.99997748021,0.999976832194,0.999976174987,0.999975508588,0.999974832997,0.999974148215,0.999973454241,0.999972751076,0.999972038719,0.999971317171,0.999970586431,0.9999698465,0.999969097377,0.999968339062,0.999967571556,0.999966794859,0.99996600897,0.99996521389,0.999964409618,0.999963596155,0.9999627735,0.999961941654,0.999961100616,0.999960250387,0.999959390967,0.999958522355,0.999957644552,0.999956757557,0.999955861371,0.999954955994,0.999954041425,0.999953117665,0.999952184714,0.999951242571,0.999950291236,0.999949330711,0.999948360994,0.999947382086,0.999946393987,0.999945396696,0.999944390214,0.999943374541,0.999942349676,0.99994131562,0.999940272373,0.999939219935,0.999938158305,0.999937087485,0.999936007473,0.99993491827,0.999933819875,0.99993271229,0.999931595513,0.999930469545,0.999929334386,0.999928190036,0.999927036495,0.999925873763,0.999924701839,0.999923520725,0.999922330419,0.999921130922,0.999919922235,0.999918704356,0.999917477286,0.999916241025,0.999914995573,0.99991374093,0.999912477096,0.999911204071,0.999909921856,0.999908630449,0.999907329851,0.999906020062,0.999904701083,0.999903372912,0.999902035551,0.999900688999,0.999899333256,0.999897968321,0.999896594197,0.999895210881,0.999893818374,0.999892416677,0.999891005789,0.99988958571,0.99988815644,0.99988671798,0.999885270329,0.999883813487,0.999882347454,0.999880872231,0.999879387817,0.999877894212,0.999876391417,0.999874879431,0.999873358254,0.999871827887,0.999870288329,0.999868739581,0.999867181641,0.999865614512,0.999864038192,0.999862452681,0.99986085798,0.999859254088,0.999857641006,0.999856018733,0.99985438727,0.999852746616,0.999851096772,0.999849437738,0.999847769513,0.999846092098,0.999844405492,0.999842709696,0.99984100471,0.999839290533,0.999837567166,0.999835834609,0.999834092862,0.999832341924,0.999830581796,0.999828812478,0.999827033969,0.99982524627,0.999823449382,0.999821643303,0.999819828034,0.999818003574,0.999816169925,0.999814327085,0.999812475056,0.999810613836,0.999808743427,0.999806863827,0.999804975037,0.999803077058,0.999801169888,0.999799253528,0.999797327979,0.999795393239,0.99979344931,0.999791496191,0.999789533881,0.999787562382,0.999785581694,0.999783591815,0.999781592747,0.999779584488,0.99977756704,0.999775540403,0.999773504575,0.999771459558,0.999769405351,0.999767341955,0.999765269369,0.999763187593,0.999761096627,0.999758996472,0.999756887128,0.999754768594,0.99975264087,0.999750503957,0.999748357855,0.999746202562,0.999744038081,0.99974186441,0.999739681549,0.9997374895,0.999735288261,0.999733077832,0.999730858214,0.999728629407,0.999726391411,0.999724144225,0.99972188785,0.999719622286,0.999717347532,0.99971506359,0.999712770458,0.999710468137,0.999708156627,0.999705835928,0.99970350604,0.999701166963,0.999698818696,0.999696461241,0.999694094597,0.999691718763,0.999689333741,0.99968693953,0.99968453613,0.999682123541,0.999679701763,0.999677270796,0.999674830641,0.999672381297,0.999669922763,0.999667455042,0.999664978131,0.999662492032,0.999659996744,0.999657492267,0.999654978602,0.999652455748,0.999649923706,0.999647382475,0.999644832055,0.999642272447,0.999639703651,0.999637125666,0.999634538492,0.99963194213,0.99962933658,0.999626721841,0.999624097914,0.999621464799,0.999618822495,0.999616171003,0.999613510323,0.999610840455,0.999608161398,0.999605473153,0.99960277572,0.999600069099,0.99959735329,0.999594628292,0.999591894107,0.999589150734,0.999586398172,0.999583636423,0.999580865485,0.99957808536,0.999575296047,0.999572497546,0.999569689857,0.99956687298,0.999564046915,0.999561211663,0.999558367223,0.999555513595,0.999552650779,0.999549778776,0.999546897585,0.999544007207,0.999541107641,0.999538198887,0.999535280946,0.999532353817,0.999529417501,0.999526471997,0.999523517306,0.999520553428,0.999517580362,0.999514598109,0.999511606668,0.99950860604,0.999505596225,0.999502577223,0.999499549033,0.999496511657,0.999493465093,0.999490409342,0.999487344404,0.999484270278,0.999481186966,0.999478094467,0.999474992781,0.999471881907,0.999468761847,0.9994656326,0.999462494166,0.999459346546,0.999456189738,0.999453023744,0.999449848562,0.999446664195,0.99944347064,0.999440267899,0.999437055971,0.999433834857,0.999430604555,0.999427365068,0.999424116394,0.999420858533,0.999417591486,0.999414315253,0.999411029833,0.999407735226,0.999404431434,0.999401118455,0.99939779629,0.999394464938,0.9993911244,0.999387774676,0.999384415766,0.99938104767,0.999377670388,0.99937428392,0.999370888265,0.999367483425,0.999364069399,0.999360646186,0.999357213788,0.999353772204,0.999350321434,0.999346861478,0.999343392337,0.99933991401,0.999336426497,0.999332929798,0.999329423914,0.999325908844,0.999322384588,0.999318851147,0.999315308521,0.999311756709,0.999308195711,0.999304625528,0.99930104616,0.999297457606,0.999293859867,0.999290252943,0.999286636833,0.999283011538,0.999279377058,0.999275733393,0.999272080543,0.999268418507,0.999264747287,0.999261066881,0.999257377291,0.999253678515,0.999249970555,0.999246253409,0.999242527079,0.999238791564,0.999235046865,0.99923129298,0.999227529911,0.999223757657,0.999219976218,0.999216185595,0.999212385787,0.999208576795,0.999204758618,0.999200931257,0.999197094711,0.999193248981,0.999189394067,0.999185529968,0.999181656685,0.999177774217,0.999173882566,0.99916998173,0.99916607171,0.999162152506,0.999158224118,0.999154286545,0.999150339789,0.999146383849,0.999142418725,0.999138444417,0.999134460925,0.999130468249,0.99912646639,0.999122455346,0.999118435119,0.999114405709,0.999110367114,0.999106319336,0.999102262375,0.99909819623,0.999094120901,0.999090036389,0.999085942694,0.999081839815,0.999077727753,0.999073606507,0.999069476078,0.999065336466,0.999061187671,0.999057029693,0.999052862532,0.999048686187,0.999044500659,0.999040305949,0.999036102055,0.999031888979,0.99902766672,0.999023435277,0.999019194652,0.999014944845,0.999010685854,0.999006417681,0.999002140325,0.998997853787,0.998993558066,0.998989253162,0.998984939076,0.998980615807,0.998976283356,0.998971941723,0.998967590908,0.99896323091,0.998958861729,0.998954483367,0.998950095822,0.998945699096,0.998941293187,0.998936878096,0.998932453823,0.998928020368,0.998923577731,0.998919125913,0.998914664912,0.99891019473,0.998905715366,0.99890122682,0.998896729092,0.998892222183,0.998887706093,0.99888318082,0.998878646366,0.998874102731,0.998869549914,0.998864987916,0.998860416737,0.998855836376,0.998851246834,0.99884664811,0.998842040206,0.99883742312,0.998832796854,0.998828161406,0.998823516777,0.998818862967,0.998814199976,0.998809527805,0.998804846452,0.998800155919,0.998795456205,0.99879074731,0.998786029235,0.998781301979,0.998776565542,0.998771819925,0.998767065128,0.99876230115,0.998757527991,0.998752745652,0.998747954133,0.998743153434,0.998738343554,0.998733524494,0.998728696254,0.998723858834,0.998719012234,0.998714156454,0.998709291494,0.998704417353,0.998699534034,0.998694641534,0.998689739854,0.998684828995,0.998679908956,0.998674979737,0.998670041339,0.998665093761,0.998660137004,0.998655171067,0.998650195951,0.998645211655,0.99864021818,0.998635215526,0.998630203693,0.99862518268,0.998620152488,0.998615113117,0.998610064567,0.998605006838,0.99859993993,0.998594863843,0.998589778578,0.998584684133,0.99857958051,0.998574467708,0.998569345727,0.998564214568,0.99855907423,0.998553924713,0.998548766018,0.998543598145,0.998538421093,0.998533234863,0.998528039454,0.998522834868,0.998517621103,0.99851239816,0.998507166038,0.998501924739,0.998496674262,0.998491414606,0.998486145773,0.998480867762,0.998475580573,0.998470284207,0.998464978662,0.99845966394,0.998454340041,0.998449006963,0.998443664708,0.998438313276,0.998432952667,0.998427582879,0.998422203915,0.998416815773,0.998411418454,0.998406011958,0.998400596285,0.998395171435,0.998389737407,0.998384294203,0.998378841822,0.998373380264,0.998367909529,0.998362429617,0.998356940528,0.998351442263,0.998345934821,0.998340418203,0.998334892408,0.998329357436,0.998323813289,0.998318259964,0.998312697464,0.998307125787,0.998301544934,0.998295954905,0.998290355699,0.998284747318,0.99827912976,0.998273503027,0.998267867118,0.998262222032,0.998256567771,0.998250904335,0.998245231722,0.998239549934,0.99823385897,0.998228158831,0.998222449516,0.998216731026,0.99821100336,0.99820526652,0.998199520503,0.998193765312,0.998188000945,0.998182227403,0.998176444686,0.998170652795,0.998164851728,0.998159041486,0.998153222069,0.998147393478,0.998141555712,0.998135708771,0.998129852655,0.998123987365,0.9981181129,0.998112229261,0.998106336447,0.998100434459,0.998094523297,0.99808860296,0.99808267345,0.998076734765,0.998070786905,0.998064829872,0.998058863665,0.998052888284,0.998046903729,0.99804091,0.998034907098,0.998028895021,0.998022873771,0.998016843348,0.998010803751,0.99800475498,0.997998697036,0.997992629919,0.997986553628,0.997980468164,0.997974373526,0.997968269716,0.997962156732,0.997956034576,0.997949903246,0.997943762743,0.997937613068,0.99793145422,0.997925286199,0.997919109005,0.997912922638,0.997906727099,0.997900522388,0.997894308504,0.997888085447,0.997881853218,0.997875611817,0.997869361244,0.997863101498,0.99785683258,0.99785055449,0.997844267228,0.997837970795,0.997831665189,0.997825350411,0.997819026462,0.99781269334,0.997806351048,0.997799999583,0.997793638947,0.99778726914,0.997780890161,0.99777450201,0.997768104688,0.997761698195,0.997755282531,0.997748857696,0.997742423689,0.997735980512,0.997729528164,0.997723066644,0.997716595954,0.997710116093,0.997703627061,0.997697128859,0.997690621486,0.997684104942,0.997677579228,0.997671044343,0.997664500289,0.997657947063,0.997651384668,0.997644813102,0.997638232366,0.99763164246,0.997625043384,0.997618435139,0.997611817723,0.997605191137,0.997598555382,0.997591910457,0.997585256362,0.997578593098,0.997571920664,0.99756523906,0.997558548288,0.997551848346,0.997545139234,0.997538420954,0.997531693504,0.997524956885,0.997518211097,0.99751145614,0.997504692015,0.99749791872,0.997491136257,0.997484344624,0.997477543824,0.997470733854,0.997463914716,0.99745708641,0.997450248935,0.997443402292,0.997436546481,0.997429681501,0.997422807353,0.997415924037,0.997409031553,0.997402129901,0.997395219081,0.997388299094,0.997381369938,0.997374431615,0.997367484124,0.997360527466,0.99735356164,0.997346586647,0.997339602486,0.997332609158,0.997325606662,0.997318595,0.99731157417,0.997304544173,0.997297505009,0.997290456679,0.997283399181,0.997276332517,0.997269256685,0.997262171688,0.997255077523,0.997247974192,0.997240861694,0.99723374003,0.9972266092,0.997219469204,0.997212320041,0.997205161712,0.997197994217,0.997190817555,0.997183631728,0.997176436735,0.997169232576,0.997162019252,0.997154796762,0.997147565106,0.997140324284,0.997133074297,0.997125815145,0.997118546827,0.997111269344,0.997103982696,0.997096686882,0.997089381903,0.99708206776,0.997074744451,0.997067411978,0.997060070339,0.997052719536,0.997045359569,0.997037990436,0.997030612139,0.997023224678,0.997015828052,0.997008422262,0.997001007307,0.996993583189,0.996986149906,0.996978707459,0.996971255848,0.996963795073,0.996956325134,0.996948846031,0.996941357765,0.996933860335,0.996926353741,0.996918837984,0.996911313064,0.99690377898,0.996896235732,0.996888683322,0.996881121748,0.996873551011,0.996865971111,0.996858382048,0.996850783822,0.996843176434,0.996835559882,0.996827934168,0.996820299291,0.996812655252,0.99680500205,0.996797339686,0.996789668159,0.99678198747,0.996774297619,0.996766598606,0.996758890431,0.996751173094,0.996743446594,0.996735710933,0.996727966111,0.996720212126,0.99671244898,0.996704676672,0.996696895203,0.996689104572,0.99668130478,0.996673495827,0.996665677712,0.996657850437,0.996650014,0.996642168402,0.996634313644,0.996626449724,0.996618576644,0.996610694403,0.996602803002,0.99659490244,0.996586992717,0.996579073834,0.996571145791,0.996563208587,0.996555262223,0.996547306699,0.996539342015,0.996531368171,0.996523385167,0.996515393004,0.99650739168,0.996499381197,0.996491361554,0.996483332752,0.99647529479,0.996467247669,0.996459191389,0.996451125949,0.99644305135,0.996434967592,0.996426874675,0.996418772599,0.996410661364,0.996402540971,0.996394411419,0.996386272708,0.996378124838,0.99636996781,0.996361801624,0.996353626279,0.996345441776,0.996337248115,0.996329045295,0.996320833318,0.996312612183,0.99630438189,0.996296142438,0.99628789383,0.996279636063,0.996271369139,0.996263093058,0.996254807819,0.996246513422,0.996238209869,0.996229897158,0.99622157529,0.996213244265,0.996204904083,0.996196554744,0.996188196248,0.996179828596,0.996171451787,0.996163065821,0.996154670699,0.99614626642,0.996137852985,0.996129430393,0.996120998646,0.996112557742,0.996104107682,0.996095648467,0.996087180095,0.996078702568,0.996070215884,0.996061720046,0.996053215051,0.996044700901,0.996036177596,0.996027645135,0.996019103519,0.996010552748,0.996001992822,0.99599342374,0.995984845504,0.995976258113,0.995967661567,0.995959055866,0.995950441011,0.995941817001,0.995933183837,0.995924541518,0.995915890045,0.995907229417,0.995898559636,0.9958898807,0.995881192611,0.995872495367,0.99586378897,0.995855073419,0.995846348714,0.995837614855,0.995828871843,0.995820119678,0.995811358359,0.995802587887,0.995793808262,0.995785019483,0.995776221552,0.995767414468,0.99575859823,0.99574977284,0.995740938298,0.995732094602,0.995723241754,0.995714379754,0.995705508601,0.995696628296,0.995687738838,0.995678840229,0.995669932467,0.995661015554,0.995652089488,0.995643154271,0.995634209902,0.995625256381,0.995616293709,0.995607321885,0.99559834091,0.995589350783,0.995580351506,0.995571343077,0.995562325497,0.995553298766,0.995544262884,0.995535217851,0.995526163668,0.995517100333,0.995508027849,0.995498946213,0.995489855428,0.995480755492,0.995471646406,0.995462528169,0.995453400783,0.995444264247,0.99543511856,0.995425963724,0.995416799738,0.995407626603,0.995398444317,0.995389252883,0.995380052299,0.995370842565,0.995361623683,0.995352395651,0.99534315847,0.99533391214,0.995324656662,0.995315392034,0.995306118258,0.995296835333,0.99528754326,0.995278242038,0.995268931668,0.995259612149,0.995250283482,0.995240945667,0.995231598705,0.995222242594,0.995212877335,0.995203502928,0.995194119374,0.995184726672,0.995175324823,0.995165913826,0.995156493682,0.99514706439,0.995137625952,0.995128178366,0.995118721633,0.995109255754,0.995099780727,0.995090296554,0.995080803234,0.995071300768,0.995061789155,0.995052268396,0.99504273849,0.995033199438,0.99502365124,0.995014093896,0.995004527406,0.99499495177,0.994985366989,0.994975773061,0.994966169989,0.99495655777,0.994946936406,0.994937305897,0.994927666243,0.994918017443,0.994908359498,0.994898692409,0.994889016174,0.994879330795,0.994869636271,0.994859932602,0.994850219789,0.994840497831,0.994830766729,0.994821026483,0.994811277092,0.994801518558,0.994791750879,0.994781974057,0.99477218809,0.99476239298,0.994752588726,0.994742775329,0.994732952788,0.994723121104,0.994713280277,0.994703430306,0.994693571193,0.994683702936,0.994673825536,0.994663938994,0.994654043309,0.994644138481,0.994634224511,0.994624301398,0.994614369143,0.994604427745,0.994594477206,0.994584517524,0.9945745487,0.994564570734,0.994554583627,0.994544587377,0.994534581987,0.994524567454,0.99451454378,0.994504510965,0.994494469008,0.994484417911,0.994474357672,0.994464288292,0.994454209771,0.99444412211,0.994434025308,0.994423919365,0.994413804281,0.994403680058,0.994393546694,0.994383404189,0.994373252545,0.99436309176,0.994352921835,0.994342742771,0.994332554567,0.994322357223,0.994312150739,0.994301935116,0.994291710353,0.994281476452,0.994271233411,0.99426098123,0.994250719911,0.994240449453,0.994230169856,0.994219881121,0.994209583246,0.994199276233,0.994188960082,0.994178634792,0.994168300364,0.994157956798,0.994147604093,0.994137242251,0.994126871271,0.994116491153,0.994106101897,0.994095703504,0.994085295973,0.994074879305,0.994064453499,0.994054018557,0.994043574477,0.99403312126,0.994022658906,0.994012187415,0.994001706787,0.993991217023,0.993980718123,0.993970210085,0.993959692912,0.993949166602,0.993938631156,0.993928086574,0.993917532856,0.993906970002,0.993896398013,0.993885816887,0.993875226626,0.99386462723,0.993854018698,0.993843401031,0.993832774229,0.993822138292,0.993811493219,0.993800839012,0.99379017567,0.993779503193,0.993768821582,0.993758130836,0.993747430955,0.993736721941,0.993726003792,0.993715276509,0.993704540092,0.993693794541,0.993683039856,0.993672276038,0.993661503086,0.993650721,0.993639929781,0.993629129429,0.993618319943,0.993607501325,0.993596673573,0.993585836688,0.993574990671,0.993564135521,0.993553271238,0.993542397822,0.993531515275,0.993520623595,0.993509722782,0.993498812838,0.993487893761,0.993476965553,0.993466028213,0.993455081741,0.993444126137,0.993433161402,0.993422187535,0.993411204537,0.993400212408,0.993389211148,0.993378200757,0.993367181235,0.993356152582,0.993345114798,0.993334067884,0.993323011839,0.993311946664,0.993300872358,0.993289788922,0.993278696356,0.993267594661,0.993256483835,0.993245363879,0.993234234794,0.993223096579,0.993211949235,0.993200792761,0.993189627158,0.993178452426,0.993167268564,0.993156075574,0.993144873455,0.993133662207,0.99312244183,0.993111212325,0.993099973692,0.99308872593,0.993077469039,0.993066203021,0.993054927875,0.9930436436,0.993032350198,0.993021047668,0.99300973601,0.992998415225,0.992987085312,0.992975746273,0.992964398105,0.992953040811,0.99294167439,0.992930298842,0.992918914167,0.992907520365,0.992896117437,0.992884705382,0.992873284201,0.992861853893,0.99285041446,0.9928389659,0.992827508215,0.992816041403,0.992804565466,0.992793080403,0.992781586215,0.992770082901,0.992758570462,0.992747048897,0.992735518208,0.992723978393,0.992712429454,0.992700871389,0.9926893042,0.992677727887,0.992666142449,0.992654547887,0.9926429442,0.992631331389,0.992619709454,0.992608078395,0.992596438213,0.992584788906,0.992573130476,0.992561462923,0.992549786246,0.992538100446,0.992526405522,0.992514701476,0.992502988306,0.992491266014,0.992479534599,0.992467794061,0.992456044401,0.992444285618,0.992432517713,0.992420740685,0.992408954536,0.992397159264,0.992385354871,0.992373541356,0.992361718719,0.99234988696,0.99233804608,0.992326196079,0.992314336957,0.992302468713,0.992290591348,0.992278704863,0.992266809256,0.992254904529,0.992242990681,0.992231067713,0.992219135625,0.992207194416,0.992195244087,0.992183284638,0.992171316069,0.99215933838,0.992147351571,0.992135355643,0.992123350596,0.992111336428,0.992099313142,0.992087280737,0.992075239212,0.992063188569,0.992051128806,0.992039059925,0.992026981926,0.992014894808,0.992002798571,0.991990693216,0.991978578744,0.991966455153,0.991954322444,0.991942180617,0.991930029672,0.99191786961,0.991905700431,0.991893522134,0.991881334719,0.991869138188,0.991856932539,0.991844717774,0.991832493892,0.991820260893,0.991808018777,0.991795767545,0.991783507197,0.991771237732,0.991758959152,0.991746671455,0.991734374642,0.991722068713,0.991709753669,0.991697429509,0.991685096234,0.991672753843,0.991660402337,0.991648041716,0.99163567198,0.991623293129,0.991610905163,0.991598508083,0.991586101888,0.991573686579,0.991561262155,0.991548828617,0.991536385965,0.991523934199,0.991511473319,0.991499003325,0.991486524218,0.991474035997,0.991461538662,0.991449032215,0.991436516654,0.99142399198,0.991411458193,0.991398915294,0.991386363281,0.991373802156,0.991361231919,0.991348652569,0.991336064107,0.991323466532,0.991310859846,0.991298244048,0.991285619138,0.991272985116,0.991260341983,0.991247689738,0.991235028382,0.991222357915,0.991209678336,0.991196989647,0.991184291847,0.991171584936,0.991158868914,0.991146143782,0.991133409539,0.991120666186,0.991107913723,0.99109515215,0.991082381467,0.991069601674,0.991056812772,0.99104401476,0.991031207638,0.991018391407,0.991005566067,0.990992731618,0.99097988806,0.990967035392,0.990954173617,0.990941302732,0.990928422739,0.990915533638,0.990902635428,0.99088972811,0.990876811684,0.99086388615,0.990850951508,0.990838007759,0.990825054902,0.990812092938,0.990799121866,0.990786141687,0.990773152401,0.990760154008,0.990747146508,0.990734129902,0.990721104188,0.990708069369,0.990695025443,0.99068197241,0.990668910272,0.990655839027,0.990642758677,0.990629669221,0.990616570659,0.990603462992,0.990590346219,0.990577220341,0.990564085358,0.990550941269,0.990537788076,0.990524625778,0.990511454375,0.990498273868,0.990485084256,0.99047188554,0.99045867772,0.990445460796,0.990432234768,0.990418999635,0.9904057554,0.99039250206,0.990379239617,0.990365968071,0.990352687421,0.990339397669,0.990326098813,0.990312790855,0.990299473793,0.99028614763,0.990272812363,0.990259467994,0.990246114523,0.99023275195,0.990219380275,0.990205999498,0.99019260962,0.990179210639,0.990165802557,0.990152385374,0.990138959089,0.990125523704,0.990112079217,0.990098625629,0.990085162941,0.990071691152,0.990058210262,0.990044720272,0.990031221182,0.990017712992,0.990004195701,0.989990669311,0.989977133821,0.989963589231,0.989950035542,0.989936472753,0.989922900865,0.989909319878,0.989895729791,0.989882130606,0.989868522322,0.98985490494,0.989841278459,0.989827642879,0.989813998202,0.989800344426,0.989786681552,0.98977300958,0.98975932851,0.989745638343,0.989731939078,0.989718230716,0.989704513256,0.989690786699,0.989677051046,0.989663306295,0.989649552448,0.989635789504,0.989622017463,0.989608236326,0.989594446093,0.989580646764,0.989566838338,0.989553020817,0.9895391942,0.989525358487,0.989511513679,0.989497659776,0.989483796777,0.989469924683,0.989456043494,0.989442153211,0.989428253832,0.989414345359,0.989400427791,0.989386501129,0.989372565373,0.989358620523,0.989344666579,0.989330703541,0.989316731409,0.989302750183,0.989288759865,0.989274760452,0.989260751947,0.989246734349,0.989232707657,0.989218671873,0.989204626996,0.989190573027,0.989176509965,0.989162437811,0.989148356564,0.989134266226,0.989120166796,0.989106058273,0.98909194066,0.989077813955,0.989063678158,0.98904953327,0.989035379291,0.989021216221,0.98900704406,0.988992862808,0.988978672466,0.988964473033,0.98895026451,0.988936046897,0.988921820194,0.9889075844,0.988893339517,0.988879085544,0.988864822482,0.98885055033,0.988836269089,0.988821978758,0.988807679339,0.988793370831,0.988779053234,0.988764726548,0.988750390774,0.988736045911,0.98872169196,0.988707328921,0.988692956794,0.98867857558,0.988664185277,0.988649785887,0.988635377409,0.988620959844,0.988606533192,0.988592097453,0.988577652627,0.988563198714,0.988548735715,0.988534263629,0.988519782456,0.988505292198,0.988490792853,0.988476284422,0.988461766905,0.988447240303,0.988432704615,0.988418159841,0.988403605982,0.988389043038,0.988374471009,0.988359889895,0.988345299697,0.988330700413,0.988316092045,0.988301474593,0.988286848056,0.988272212435,0.988257567731,0.988242913942,0.98822825107,0.988213579114,0.988198898075,0.988184207952,0.988169508746,0.988154800457,0.988140083086,0.988125356631,0.988110621094,0.988095876474,0.988081122772,0.988066359988,0.988051588122,0.988036807173,0.988022017143,0.988007218031,0.987992409838,0.987977592563,0.987962766207,0.98794793077,0.987933086252,0.987918232653,0.987903369973,0.987888498213,0.987873617372,0.987858727451,0.987843828449,0.987828920368,0.987814003206,0.987799076965,0.987784141645,0.987769197244,0.987754243765,0.987739281206,0.987724309568,0.987709328851,0.987694339055,0.987679340181,0.987664332228,0.987649315197,0.987634289087,0.9876192539,0.987604209634,0.987589156291,0.987574093869,0.987559022371,0.987543941794,0.987528852141,0.98751375341,0.987498645603,0.987483528718,0.987468402757,0.987453267719,0.987438123605,0.987422970414,0.987407808147,0.987392636804,0.987377456385,0.987362266891,0.987347068321,0.987331860675,0.987316643954,0.987301418158,0.987286183287,0.98727093934,0.987255686319,0.987240424224,0.987225153054,0.987209872809,0.987194583491,0.987179285098,0.987163977631,0.987148661091,0.987133335477,0.987118000789,0.987102657028,0.987087304193,0.987071942286,0.987056571306,0.987041191253,0.987025802127,0.987010403928,0.986994996658,0.986979580315,0.9869641549,0.986948720413,0.986933276854,0.986917824223,0.986902362521,0.986886891748,0.986871411903,0.986855922987,0.986840425,0.986824917943,0.986809401814,0.986793876615,0.986778342346,0.986762799007,0.986747246597,0.986731685117,0.986716114568,0.986700534949,0.98668494626,0.986669348502,0.986653741675,0.986638125778,0.986622500813,0.986606866779,0.986591223676,0.986575571505,0.986559910265,0.986544239957,0.986528560581,0.986512872136,0.986497174625,0.986481468045,0.986465752398,0.986450027683,0.986434293902,0.986418551053,0.986402799137,0.986387038154,0.986371268105,0.986355488989,0.986339700807,0.986323903559,0.986308097245,0.986292281864,0.986276457418,0.986260623906,0.986244781329,0.986228929686,0.986213068979,0.986197199206,0.986181320368,0.986165432465,0.986149535498,0.986133629467,0.986117714371,0.98610179021,0.986085856986,0.986069914698,0.986053963346,0.986038002931,0.986022033452,0.98600605491,0.985990067304,0.985974070636,0.985958064905,0.985942050111,0.985926026254,0.985909993335,0.985893951354,0.985877900311,0.985861840206,0.985845771038,0.98582969281,0.985813605519,0.985797509168,0.985781403755,0.985765289281,0.985749165746,0.98573303315,0.985716891493,0.985700740776,0.985684580999,0.985668412162,0.985652234264,0.985636047307,0.985619851289,0.985603646213,0.985587432076,0.985571208881,0.985554976626,0.985538735312,0.98552248494,0.985506225508,0.985489957018,0.98547367947,0.985457392864,0.985441097199,0.985424792476,0.985408478696,0.985392155858,0.985375823962,0.985359483009,0.985343132999,0.985326773932,0.985310405807,0.985294028626,0.985277642389,0.985261247095,0.985244842745,0.985228429338,0.985212006876,0.985195575357,0.985179134783,0.985162685154,0.985146226469,0.985129758728,0.985113281933,0.985096796083,0.985080301178,0.985063797218,0.985047284204,0.985030762135,0.985014231012,0.984997690835,0.984981141605,0.98496458332,0.984948015982,0.984931439591,0.984914854146,0.984898259648,0.984881656097,0.984865043494,0.984848421837,0.984831791128,0.984815151367,0.984798502554,0.984781844688,0.984765177771,0.984748501802,0.984731816781,0.984715122709,0.984698419586,0.984681707411,0.984664986185,0.984648255909,0.984631516582,0.984614768204,0.984598010776,0.984581244298,0.98456446877,0.984547684192,0.984530890564,0.984514087886,0.984497276159,0.984480455383,0.984463625558,0.984446786684,0.98442993876,0.984413081789,0.984396215768,0.984379340699,0.984362456583,0.984345563418,0.984328661205,0.984311749944,0.984294829636,0.98427790028,0.984260961878,0.984244014428,0.984227057931,0.984210092387,0.984193117797,0.98417613416,0.984159141476,0.984142139747,0.984125128972,0.98410810915,0.984091080283,0.984074042371,0.984056995413,0.98403993941,0.984022874361,0.984005800268,0.98398871713,0.983971624948,0.983954523721,0.983937413449,0.983920294134,0.983903165774,0.983886028371,0.983868881924,0.983851726434,0.9838345619,0.983817388323,0.983800205703,0.98378301404,0.983765813334,0.983748603586,0.983731384795,0.983714156962,0.983696920087,0.98367967417,0.983662419212,0.983645155211,0.98362788217,0.983610600087,0.983593308962,0.983576008797,0.983558699591,0.983541381345,0.983524054058,0.98350671773,0.983489372362,0.983472017955,0.983454654507,0.98343728202,0.983419900493,0.983402509927,0.983385110322,0.983367701677,0.983350283994,0.983332857272,0.983315421511,0.983297976712,0.983280522874,0.983263059999,0.983245588085,0.983228107134,0.983210617145,0.983193118119,0.983175610055,0.983158092955,0.983140566817,0.983123031642,0.983105487431,0.983087934184,0.983070371899,0.983052800579,0.983035220223,0.983017630831,0.983000032403,0.98298242494,0.982964808441,0.982947182908,0.982929548339,0.982911904735,0.982894252096,0.982876590423,0.982858919716,0.982841239974,0.982823551199,0.982805853389,0.982788146546,0.982770430669,0.982752705758,0.982734971815,0.982717228838,0.982699476829,0.982681715786,0.982663945711,0.982646166604,0.982628378464,0.982610581292,0.982592775089,0.982574959853,0.982557135586,0.982539302287,0.982521459958,0.982503608597,0.982485748205,0.982467878782,0.982450000328,0.982432112845,0.98241421633,0.982396310786,0.982378396212,0.982360472608,0.982342539974,0.982324598311,0.982306647618,0.982288687896,0.982270719146,0.982252741366,0.982234754558,0.982216758721,0.982198753856,0.982180739963,0.982162717042,0.982144685093,0.982126644117,0.982108594113,0.982090535081,0.982072467022,0.982054389937,0.982036303824,0.982018208685,0.98200010452,0.981981991328,0.98196386911,0.981945737865,0.981927597595,0.9819094483,0.981891289979,0.981873122632,0.981854946261,0.981836760864,0.981818566443,0.981800362996,0.981782150526,0.981763929031,0.981745698512,0.981727458969,0.981709210402,0.981690952811,0.981672686197,0.98165441056,0.981636125899,0.981617832215,0.981599529509,0.98158121778,0.981562897028,0.981544567255,0.981526228459,0.981507880641,0.981489523801,0.98147115794,0.981452783057,0.981434399152,0.981416006227,0.981397604281,0.981379193314,0.981360773326,0.981342344318,0.981323906289,0.981305459241,0.981287003172,0.981268538084,0.981250063976,0.981231580849,0.981213088702,0.981194587536,0.981176077352,0.981157558148,0.981139029926,0.981120492686,0.981101946427,0.98108339115,0.981064826856,0.981046253543,0.981027671213,0.981009079866,0.980990479502,0.98097187012,0.980953251721,0.980934624306,0.980915987874,0.980897342426,0.980878687962,0.980860024482,0.980841351985,0.980822670473,0.980803979946,0.980785280403,0.980766571845,0.980747854272,0.980729127685,0.980710392082,0.980691647465,0.980672893834,0.980654131189,0.98063535953,0.980616578857,0.98059778917,0.98057899047,0.980560182756,0.98054136603,0.98052254029,0.980503705538,0.980484861773,0.980466008996,0.980447147207,0.980428276405,0.980409396592,0.980390507767,0.98037160993,0.980352703082,0.980333787223,0.980314862353,0.980295928472,0.98027698558,0.980258033678,0.980239072766,0.980220102843,0.980201123911,0.980182135968,0.980163139016,0.980144133055,0.980125118084,0.980106094104,0.980087061115,0.980068019118,0.980048968112,0.980029908097,0.980010839074,0.979991761043,0.979972674005,0.979953577958,0.979934472905,0.979915358843,0.979896235775,0.9798771037,0.979857962617,0.979838812528,0.979819653433,0.979800485331,0.979781308224,0.97976212211,0.979742926991,0.979723722866,0.979704509735,0.979685287599,0.979666056459,0.979646816313,0.979627567163,0.979608309008,0.979589041849,0.979569765685,0.979550480518,0.979531186347,0.979511883172,0.979492570994,0.979473249812,0.979453919628,0.97943458044,0.97941523225,0.979395875057,0.979376508861,0.979357133664,0.979337749464,0.979318356263,0.97929895406,0.979279542855,0.979260122649,0.979240693442,0.979221255234,0.979201808025,0.979182351816,0.979162886606,0.979143412395,0.979123929185,0.979104436975,0.979084935765,0.979065425556,0.979045906347,0.979026378139,0.979006840932,0.978987294726,0.978967739522,0.978948175319,0.978928602118,0.978909019919,0.978889428721,0.978869828527,0.978850219334,0.978830601144,0.978810973957,0.978791337773,0.978771692592,0.978752038415,0.978732375241,0.97871270307,0.978693021904,0.978673331741,0.978653632583,0.978633924429,0.97861420728,0.978594481136,0.978574745997,0.978555001862,0.978535248733,0.97851548661,0.978495715492,0.978475935381,0.978456146275,0.978436348175,0.978416541082,0.978396724996,0.978376899916,0.978357065843,0.978337222778,0.97831737072,0.978297509669,0.978277639626,0.978257760591,0.978237872564,0.978217975545,0.978198069534,0.978178154533,0.97815823054,0.978138297556,0.978118355581,0.978098404615,0.978078444659,0.978058475713,0.978038497777,0.978018510851,0.977998514935,0.977978510029,0.977958496134,0.97793847325,0.977918441377,0.977898400515,0.977878350664,0.977858291825,0.977838223998,0.977818147183,0.977798061379,0.977777966588,0.97775786281,0.977737750044,0.977717628291,0.977697497551,0.977677357825,0.977657209111,0.977637051411,0.977616884725,0.977596709053,0.977576524396,0.977556330752,0.977536128123,0.977515916509,0.977495695909,0.977475466325,0.977455227756,0.977434980202,0.977414723664,0.977394458142,0.977374183635,0.977353900145,0.977333607671,0.977313306214,0.977292995774,0.977272676351,0.977252347944,0.977232010555,0.977211664184,0.97719130883,0.977170944494,0.977150571176,0.977130188876,0.977109797595,0.977089397332,0.977068988088,0.977048569863,0.977028142658,0.977007706471,0.976987261305,0.976966807158,0.976946344031,0.976925871924,0.976905390837,0.976884900771,0.976864401725,0.976843893701,0.976823376697,0.976802850715,0.976782315754,0.976761771815,0.976741218897,0.976720657002,0.976700086129,0.976679506278,0.97665891745,0.976638319644,0.976617712862,0.976597097102,0.976576472366,0.976555838653,0.976535195965,0.9765145443,0.976493883659,0.976473214042,0.97645253545,0.976431847883,0.97641115134,0.976390445822,0.97636973133,0.976349007863,0.976328275422,0.976307534006,0.976286783617,0.976266024253,0.976245255916,0.976224478606,0.976203692322,0.976182897066,0.976162092836,0.976141279634,0.976120457459,0.976099626312,0.976078786193,0.976057937102,0.976037079039,0.976016212005,0.975995335999,0.975974451022,0.975953557075,0.975932654156,0.975911742267,0.975890821408,0.975869891578,0.975848952779,0.975828005009,0.975807048271,0.975786082562,0.975765107885,0.975744124238,0.975723131623,0.975702130039,0.975681119486,0.975660099965,0.975639071476,0.97561803402,0.975596987595,0.975575932204,0.975554867844,0.975533794518,0.975512712225,0.975491620965,0.975470520739,0.975449411546,0.975428293388,0.975407166263,0.975386030173,0.975364885117,0.975343731095,0.975322568109,0.975301396158,0.975280215241,0.975259025361,0.975237826516,0.975216618706,0.975195401933,0.975174176196,0.975152941495,0.975131697831,0.975110445204,0.975089183614,0.975067913061,0.975046633545,0.975025345067,0.975004047627,0.974982741224,0.97496142586,0.974940101534,0.974918768247,0.974897425999,0.974876074789,0.974854714619,0.974833345488,0.974811967396,0.974790580344,0.974769184333,0.974747779361,0.974726365429,0.974704942539,0.974683510689,0.974662069879,0.974640620111,0.974619161384,0.974597693699,0.974576217056,0.974554731454,0.974533236894,0.974511733377,0.974490220902,0.97446869947,0.974447169081,0.974425629735,0.974404081432,0.974382524173,0.974360957957,0.974339382786,0.974317798658,0.974296205575,0.974274603536,0.974252992541,0.974231372592,0.974209743688,0.974188105829,0.974166459015,0.974144803247,0.974123138525,0.97410146485,0.97407978222,0.974058090637,0.9740363901,0.974014680611,0.973992962168,0.973971234773,0.973949498425,0.973927753125,0.973905998872,0.973884235668,0.973862463512,0.973840682405,0.973818892346,0.973797093336,0.973775285375,0.973753468463,0.973731642601,0.973709807788,0.973687964026,0.973666111313,0.973644249651,0.973622379039,0.973600499478,0.973578610967,0.973556713508,0.9735348071,0.973512891744,0.973490967439,0.973469034186,0.973447091985,0.973425140837,0.973403180741,0.973381211697,0.973359233707,0.973337246769,0.973315250885,0.973293246055,0.973271232278,0.973249209555,0.973227177886,0.973205137271,0.973183087711,0.973161029206,0.973138961755,0.97311688536,0.97309480002,0.973072705735,0.973050602507,0.973028490334,0.973006369217,0.972984239157,0.972962100153,0.972939952206,0.972917795315,0.972895629482,0.972873454707,0.972851270989,0.972829078328,0.972806876726,0.972784666182,0.972762446696,0.972740218268,0.9727179809,0.97269573459,0.97267347934,0.972651215149,0.972628942018,0.972606659946,0.972584368935,0.972562068983,0.972539760093,0.972517442262,0.972495115493,0.972472779784,0.972450435137,0.972428081552,0.972405719027,0.972383347565,0.972360967165,0.972338577827,0.972316179552,0.972293772339,0.972271356189,0.972248931102,0.972226497079,0.972204054119,0.972181602223,0.97215914139,0.972136671622,0.972114192918,0.972091705279,0.972069208704,0.972046703195,0.97202418875,0.972001665371,0.971979133057,0.97195659181,0.971934041628,0.971911482512,0.971888914463,0.97186633748,0.971843751564,0.971821156716,0.971798552934,0.97177594022,0.971753318574,0.971730687995,0.971708048484,0.971685400042,0.971662742668,0.971640076363,0.971617401127,0.97159471696,0.971572023862,0.971549321833,0.971526610875,0.971503890986,0.971481162168,0.97145842442,0.971435677742,0.971412922135,0.971390157599,0.971367384135,0.971344601741,0.97132181042,0.97129901017,0.971276200992,0.971253382887,0.971230555853,0.971207719893,0.971184875005,0.971162021191,0.97113915845,0.971116286782,0.971093406188,0.971070516668,0.971047618222,0.97102471085,0.971001794553,0.970978869331,0.970955935184,0.970932992111,0.970910040115,0.970887079193,0.970864109348,0.970841130579,0.970818142886,0.970795146269,0.970772140729,0.970749126266,0.97072610288,0.970703070571,0.97068002934,0.970656979186,0.970633920111,0.970610852113,0.970587775194,0.970564689354,0.970541594592,0.970518490909,0.970495378306,0.970472256781,0.970449126337,0.970425986972,0.970402838688,0.970379681483,0.970356515359,0.970333340316,0.970310156354,0.970286963473,0.970263761673,0.970240550955,0.970217331318,0.970194102763,0.970170865291,0.970147618901,0.970124363594,0.970101099369,0.970077826228,0.970054544169,0.970031253195,0.970007953303,0.969984644496,0.969961326773,0.969938000134,0.96991466458,0.969891320111,0.969867966726,0.969844604427,0.969821233213,0.969797853084,0.969774464042,0.969751066085,0.969727659215,0.969704243431,0.969680818734,0.969657385124,0.969633942601,0.969610491166,0.969587030817,0.969563561557,0.969540083385,0.9695165963,0.969493100305,0.969469595397,0.969446081579,0.96942255885,0.96939902721,0.969375486659,0.969351937199,0.969328378828,0.969304811547,0.969281235357,0.969257650257,0.969234056248,0.96921045333,0.969186841503,0.969163220768,0.969139591124,0.969115952572,0.969092305113,0.969068648745,0.96904498347,0.969021309288,0.968997626199,0.968973934203,0.9689502333,0.968926523492,0.968902804776,0.968879077155,0.968855340629,0.968831595196,0.968807840859,0.968784077616,0.968760305469,0.968736524416,0.96871273446,0.968688935599,0.968665127834,0.968641311166,0.968617485594,0.968593651118,0.96856980774,0.968545955458,0.968522094274,0.968498224188,0.968474345199,0.968450457308,0.968426560516,0.968402654822,0.968378740226,0.96835481673,0.968330884332,0.968306943034,0.968282992836,0.968259033737,0.968235065738,0.968211088839,0.968187103041,0.968163108343,0.968139104746,0.968115092251,0.968091070856,0.968067040563,0.968043001372,0.968018953283,0.967994896296,0.967970830411,0.967946755629,0.96792267195,0.967898579374,0.967874477901,0.967850367531,0.967826248266,0.967802120104,0.967777983047,0.967753837093,0.967729682245,0.967705518501,0.967681345863,0.967657164329,0.967632973902,0.967608774579,0.967584566363,0.967560349253,0.96753612325,0.967511888353,0.967487644563,0.96746339188,0.967439130304,0.967414859835,0.967390580475,0.967366292222,0.967341995078,0.967317689042,0.967293374114,0.967269050296,0.967244717586,0.967220375986,0.967196025496,0.967171666115,0.967147297844,0.967122920683,0.967098534633,0.967074139693,0.967049735864,0.967025323146,0.96700090154,0.966976471045,0.966952031662,0.966927583391,0.966903126232,0.966878660185,0.966854185251,0.96682970143,0.966805208722,0.966780707128,0.966756196647,0.966731677279,0.966707149026,0.966682611887,0.966658065863,0.966633510953,0.966608947158,0.966584374478,0.966559792914,0.966535202465,0.966510603132,0.966485994915,0.966461377814,0.96643675183,0.966412116963,0.966387473212,0.966362820579,0.966338159063,0.966313488665,0.966288809384,0.966264121222,0.966239424178,0.966214718252,0.966190003445,0.966165279758,0.966140547189,0.96611580574,0.96609105541,0.966066296201,0.966041528111,0.966016751142,0.965991965294,0.965967170566,0.965942366959,0.965917554474,0.96589273311,0.965867902868,0.965843063748,0.96581821575,0.965793358874,0.965768493121,0.965743618491,0.965718734984,0.9656938426,0.96566894134,0.965644031204,0.965619112191,0.965594184303,0.965569247539,0.9655443019,0.965519347386,0.965494383997,0.965469411734,0.965444430596,0.965419440584,0.965394441698,0.965369433938,0.965344417305,0.965319391798,0.965294357419,0.965269314167,0.965244262042,0.965219201045,0.965194131176,0.965169052435,0.965143964822,0.965118868338,0.965093762983,0.965068648757,0.96504352566,0.965018393692,0.964993252855,0.964968103147,0.96494294457,0.964917777123,0.964892600807,0.964867415622,0.964842221567,0.964817018645,0.964791806853,0.964766586194,0.964741356667,0.964716118272,0.964690871009,0.96466561488,0.964640349883,0.96461507602,0.96458979329,0.964564501694,0.964539201231,0.964513891903,0.964488573709,0.96446324665,0.964437910726,0.964412565937,0.964387212283,0.964361849765,0.964336478382,0.964311098136,0.964285709025,0.964260311052,0.964234904215,0.964209488515,0.964184063952,0.964158630526,0.964133188239,0.964107737089,0.964082277077,0.964056808204,0.964031330469,0.964005843873,0.963980348416,0.963954844098,0.96392933092,0.963903808882,0.963878277984,0.963852738226,0.963827189608,0.963801632131,0.963776065795,0.963750490601,0.963724906547,0.963699313636,0.963673711866,0.963648101238,0.963622481753,0.96359685341,0.96357121621,0.963545570153,0.96351991524,0.96349425147,0.963468578844,0.963442897361,0.963417207023,0.96339150783,0.963365799781,0.963340082877,0.963314357118,0.963288622505,0.963262879038,0.963237126716,0.96321136554,0.963185595511,0.963159816628,0.963134028893,0.963108232304,0.963082426863,0.963056612569,0.963030789423,0.963004957425,0.962979116575,0.962953266874,0.962927408321,0.962901540918,0.962875664663,0.962849779559,0.962823885603,0.962797982798,0.962772071143,0.962746150638,0.962720221284,0.962694283081,0.962668336029,0.962642380129,0.96261641538,0.962590441782,0.962564459337,0.962538468044,0.962512467904,0.962486458917,0.962460441082,0.962434414401,0.962408378873,0.962382334499,0.962356281279,0.962330219214,0.962304148302,0.962278068546,0.962251979944,0.962225882498,0.962199776207,0.962173661072,0.962147537092,0.962121404269,0.962095262602,0.962069112092,0.962042952739,0.962016784542,0.961990607503,0.961964421622,0.961938226899,0.961912023333,0.961885810926,0.961859589677,0.961833359588,0.961807120657,0.961780872885,0.961754616274,0.961728350821,0.961702076529,0.961675793397,0.961649501426,0.961623200615,0.961596890965,0.961570572477,0.961544245149,0.961517908984,0.961491563981,0.961465210139,0.96143884746,0.961412475944,0.961386095591,0.961359706401,0.961333308374,0.961306901511,0.961280485811,0.961254061276,0.961227627905,0.961201185699,0.961174734658,0.961148274781,0.96112180607,0.961095328525,0.961068842146,0.961042346932,0.961015842885,0.960989330004,0.96096280829,0.960936277743,0.960909738364,0.960883190152,0.960856633108,0.960830067231,0.960803492523,0.960776908984,0.960750316613,0.960723715411,0.960697105379,0.960670486516,0.960643858823,0.960617222299,0.960590576946,0.960563922763,0.960537259752,0.96051058791,0.960483907241,0.960457217742,0.960430519416,0.960403812261,0.960377096278,0.960350371468,0.96032363783,0.960296895366,0.960270144074,0.960243383956,0.960216615012,0.960189837241,0.960163050645,0.960136255223,0.960109450976,0.960082637903,0.960055816006,0.960028985284,0.960002145738,0.959975297367,0.959948440173,0.959921574155,0.959894699313,0.959867815649,0.959840923161,0.959814021851,0.959787111719,0.959760192764,0.959733264988,0.959706328389,0.95967938297,0.959652428729,0.959625465667,0.959598493785,0.959571513082,0.959544523559,0.959517525216,0.959490518053,0.959463502071,0.95943647727,0.95940944365,0.959382401211,0.959355349954,0.959328289878,0.959301220985,0.959274143274,0.959247056745,0.9592199614,0.959192857237,0.959165744258,0.959138622462,0.95911149185,0.959084352422,0.959057204178,0.959030047119,0.959002881245,0.958975706556,0.958948523052,0.958921330733,0.958894129601,0.958866919654,0.958839700894,0.95881247332,0.958785236933,0.958757991733,0.958730737721,0.958703474896,0.958676203259,0.95864892281,0.958621633549,0.958594335476,0.958567028593,0.958539712899,0.958512388394,0.958485055078,0.958457712952,0.958430362017,0.958403002271,0.958375633716,0.958348256352,0.95832087018,0.958293475198,0.958266071408,0.95823865881,0.958211237404,0.95818380719,0.958156368169,0.95812892034,0.958101463705,0.958073998263,0.958046524015,0.95801904096,0.9579915491,0.957964048434,0.957936538962,0.957909020686,0.957881493604,0.957853957718,0.957826413028,0.957798859533,0.957771297234,0.957743726132,0.957716146227,0.957688557518,0.957660960006,0.957633353692,0.957605738576,0.957578114657,0.957550481937,0.957522840414,0.957495190091,0.957467530967,0.957439863041,0.957412186315,0.957384500789,0.957356806463,0.957329103336,0.957301391411,0.957273670686,0.957245941162,0.957218202839,0.957190455717,0.957162699798,0.95713493508,0.957107161564,0.957079379251,0.957051588141,0.957023788234,0.95699597953,0.956968162029,0.956940335732,0.956912500639,0.956884656751,0.956856804067,0.956828942588,0.956801072313,0.956773193244,0.956745305381,0.956717408723,0.956689503272,0.956661589027,0.956633665988,0.956605734156,0.956577793531,0.956549844114,0.956521885904,0.956493918902,0.956465943109,0.956437958523,0.956409965146,0.956381962978,0.95635395202,0.95632593227,0.95629790373,0.956269866401,0.956241820281,0.956213765372,0.956185701673,0.956157629186,0.956129547909,0.956101457844,0.956073358991,0.95604525135,0.956017134921,0.955989009705,0.955960875701,0.95593273291,0.955904581333,0.955876420969,0.955848251819,0.955820073883,0.955791887161,0.955763691654,0.955735487361,0.955707274284,0.955679052422,0.955650821776,0.955622582345,0.955594334131,0.955566077133,0.955537811351,0.955509536787,0.95548125344,0.95545296131,0.955424660398,0.955396350703,0.955368032227,0.95533970497,0.955311368931,0.955283024111,0.955254670511,0.955226308129,0.955197936968,0.955169557027,0.955141168306,0.955112770805,0.955084364526,0.955055949467,0.95502752563,0.954999093014,0.95497065162,0.954942201448,0.954913742499,0.954885274772,0.954856798269,0.954828312988,0.954799818931,0.954771316097,0.954742804488,0.954714284102,0.954685754941,0.954657217005,0.954628670294,0.954600114808,0.954571550548,0.954542977513,0.954514395704,0.954485805122,0.954457205767,0.954428597638,0.954399980736,0.954371355061,0.954342720615,0.954314077396,0.954285425405,0.954256764643,0.954228095109,0.954199416804,0.954170729729,0.954142033883,0.954113329267,0.95408461588,0.954055893724,0.954027162799,0.953998423104,0.95396967464,0.953940917408,0.953912151407,0.953883376638,0.953854593101,0.953825800797,0.953796999725,0.953768189886,0.95373937128,0.953710543908,0.953681707769,0.953652862865,0.953624009194,0.953595146758,0.953566275557,0.953537395591,0.95350850686,0.953479609365,0.953450703105,0.953421788082,0.953392864295,0.953363931744,0.953334990431,0.953306040354,0.953277081515,0.953248113914,0.95321913755,0.953190152425,0.953161158539,0.953132155891,0.953103144482,0.953074124312,0.953045095382,0.953016057692,0.952987011242,0.952957956032,0.952928892063,0.952899819334,0.952870737847,0.952841647601,0.952812548597,0.952783440835,0.952754324315,0.952725199038,0.952696065003,0.952666922211,0.952637770663,0.952608610358,0.952579441297,0.95255026348,0.952521076908,0.95249188158,0.952462677497,0.952433464659,0.952404243066,0.95237501272,0.952345773619,0.952316525765,0.952287269157,0.952258003795,0.952228729681,0.952199446814,0.952170155195,0.952140854824,0.952111545701,0.952082227826,0.9520529012,0.952023565822,0.951994221694,0.951964868816,0.951935507187,0.951906136808,0.951876757679,0.951847369801,0.951817973174,0.951788567798,0.951759153673,0.9517297308,0.951700299179,0.95167085881,0.951641409694,0.95161195183,0.951582485219,0.951553009861,0.951523525757,0.951494032907,0.951464531311,0.951435020969,0.951405501882,0.951375974049,0.951346437472,0.95131689215,0.951287338084,0.951257775274,0.95122820372,0.951198623423,0.951169034383,0.951139436599,0.951109830073,0.951080214804,0.951050590794,0.951020958041,0.950991316547,0.950961666312,0.950932007335,0.950902339618,0.95087266316,0.950842977962,0.950813284024,0.950783581347,0.95075386993,0.950724149774,0.950694420879,0.950664683245,0.950634936874,0.950605181764,0.950575417916,0.950545645331,0.950515864009,0.950486073949,0.950456275154,0.950426467621,0.950396651353,0.950366826349,0.950336992609,0.950307150134,0.950277298924,0.950247438979,0.950217570299,0.950187692886,0.950157806738,0.950127911857,0.950098008243,0.950068095895,0.950038174815,0.950008245002,0.949978306457,0.949948359179,0.94991840317,0.94988843843,0.949858464959,0.949828482756,0.949798491823,0.94976849216,0.949738483766,0.949708466643,0.94967844079,0.949648406208,0.949618362897,0.949588310857,0.949558250089,0.949528180593,0.949498102369,0.949468015417,0.949437919738,0.949407815332,0.9493777022,0.94934758034,0.949317449755,0.949287310444,0.949257162406,0.949227005644,0.949196840157,0.949166665944,0.949136483008,0.949106291347,0.949076090961,0.949045881853,0.949015664021,0.948985437465,0.948955202187,0.948924958186,0.948894705463,0.948864444018,0.948834173851,0.948803894963,0.948773607353,0.948743311023,0.948713005971,0.9486826922,0.948652369708,0.948622038497,0.948591698566,0.948561349916,0.948530992547,0.948500626459,0.948470251652,0.948439868128,0.948409475886,0.948379074926,0.948348665249,0.948318246855,0.948287819744,0.948257383916,0.948226939373,0.948196486113,0.948166024138,0.948135553448,0.948105074043,0.948074585922,0.948044089088,0.948013583539,0.947983069276,0.947952546299,0.947922014609,0.947891474206,0.94786092509,0.947830367262,0.947799800721,0.947769225469,0.947738641505,0.947708048829,0.947677447442,0.947646837344,0.947616218536,0.947585591018,0.947554954789,0.947524309851,0.947493656203,0.947462993846,0.947432322781,0.947401643006,0.947370954524,0.947340257333,0.947309551435,0.947278836829,0.947248113516,0.947217381496,0.947186640769,0.947155891336,0.947125133198,0.947094366353,0.947063590803,0.947032806547,0.947002013587,0.946971211922,0.946940401552,0.946909582479,0.946878754702,0.946847918221,0.946817073037,0.94678621915,0.946755356561,0.946724485269,0.946693605275,0.946662716579,0.946631819182,0.946600913083,0.946569998284,0.946539074784,0.946508142583,0.946477201682,0.946446252082,0.946415293782,0.946384326783,0.946353351084,0.946322366688,0.946291373592,0.946260371799,0.946229361308,0.946198342119,0.946167314233,0.94613627765,0.94610523237,0.946074178394,0.946043115722,0.946012044354,0.945980964291,0.945949875532,0.945918778078,0.94588767193,0.945856557087,0.94582543355,0.945794301319,0.945763160395,0.945732010777,0.945700852467,0.945669685464,0.945638509768,0.945607325381,0.945576132301,0.94554493053,0.945513720068,0.945482500914,0.945451273071,0.945420036536,0.945388791312,0.945357537398,0.945326274794,0.945295003501,0.945263723519,0.945232434848,0.945201137489,0.945169831442,0.945138516708,0.945107193285,0.945075861176,0.945044520379,0.945013170896,0.944981812727,0.944950445871,0.94491907033,0.944887686103,0.944856293191,0.944824891594,0.944793481312,0.944762062346,0.944730634696,0.944699198362,0.944667753345,0.944636299645,0.944604837261,0.944573366196,0.944541886447,0.944510398017,0.944478900905,0.944447395112,0.944415880637,0.944384357482,0.944352825646,0.944321285129,0.944289735933,0.944258178057,0.944226611501,0.944195036267,0.944163452353,0.944131859761,0.944100258491,0.944068648543,0.944037029917,0.944005402614,0.943973766634,0.943942121976,0.943910468643,0.943878806633,0.943847135947,0.943815456586,0.943783768549,0.943752071837,0.94372036645,0.943688652389,0.943656929654,0.943625198245,0.943593458162,0.943561709406,0.943529951977,0.943498185875,0.943466411101,0.943434627654,0.943402835536,0.943371034746,0.943339225285,0.943307407153,0.94327558035,0.943243744877,0.943211900734,0.943180047921,0.943148186438,0.943116316287,0.943084437466,0.943052549977,0.943020653819,0.942988748994,0.9429568355,0.942924913339,0.942892982511,0.942861043016,0.942829094855,0.942797138027,0.942765172533,0.942733198374,0.942701215549,0.942669224059,0.942637223904,0.942605215085,0.942573197601,0.942541171454,0.942509136643,0.942477093168,0.942445041031,0.942412980231,0.942380910768,0.942348832643,0.942316745857,0.942284650408,0.942252546299,0.942220433528,0.942188312097,0.942156182005,0.942124043254,0.942091895842,0.942059739771,0.942027575041,0.941995401652,0.941963219604,0.941931028898,0.941898829534,0.941866621512,0.941834404832,0.941802179496,0.941769945503,0.941737702853,0.941705451547,0.941673191585,0.941640922967,0.941608645694,0.941576359766,0.941544065183,0.941511761946,0.941479450054,0.941447129509,0.94141480031,0.941382462457,0.941350115952,0.941317760794,0.941285396984,0.941253024521,0.941220643407,0.941188253642,0.941155855225,0.941123448157,0.941091032438,0.94105860807,0.941026175051,0.940993733382,0.940961283065,0.940928824098,0.940896356482,0.940863880217,0.940831395305,0.940798901744,0.940766399536,0.940733888681,0.940701369179,0.940668841029,0.940636304234,0.940603758792,0.940571204705,0.940538641972,0.940506070593,0.94047349057,0.940440901902,0.94040830459,0.940375698634,0.940343084034,0.94031046079,0.940277828904,0.940245188375,0.940212539203,0.940179881389,0.940147214933,0.940114539835,0.940081856096,0.940049163716,0.940016462695,0.939983753034,0.939951034733,0.939918307792,0.939885572211,0.939852827991,0.939820075132,0.939787313635,0.939754543499,0.939721764725,0.939688977314,0.939656181265,0.939623376579,0.939590563256,0.939557741296,0.939524910701,0.939492071469,0.939459223602,0.9394263671,0.939393501962,0.93936062819,0.939327745784,0.939294854743,0.939261955069,0.939229046761,0.93919612982,0.939163204246,0.939130270039,0.9390973272,0.939064375729,0.939031415627,0.938998446893,0.938965469528,0.938932483532,0.938899488906,0.938866485649,0.938833473763,0.938800453247,0.938767424102,0.938734386328,0.938701339926,0.938668284895,0.938635221236,0.938602148949,0.938569068035,0.938535978494,0.938502880325,0.938469773531,0.93843665811,0.938403534063,0.938370401391,0.938337260093,0.93830411017,0.938270951623,0.938237784451,0.938204608655,0.938171424236,0.938138231193,0.938105029527,0.938071819238,0.938038600326,0.938005372792,0.937972136636,0.937938891859,0.93790563846,0.93787237644,0.937839105799,0.937805826538,0.937772538657,0.937739242156,0.937705937036,0.937672623297,0.937639300938,0.937605969961,0.937572630366,0.937539282152,0.937505925321,0.937472559873,0.937439185808,0.937405803126,0.937372411827,0.937339011913,0.937305603382,0.937272186236,0.937238760475,0.937205326099,0.937171883108,0.937138431503,0.937104971284,0.937071502452,0.937038025006,0.937004538947,0.936971044275,0.936937540991,0.936904029095,0.936870508586,0.936836979467,0.936803441736,0.936769895394,0.936736340442,0.936702776879,0.936669204707,0.936635623924,0.936602034533,0.936568436532,0.936534829923,0.936501214705,0.936467590879,0.936433958445,0.936400317404,0.936366667756,0.9363330095,0.936299342638,0.93626566717,0.936231983096,0.936198290416,0.936164589131,0.936130879241,0.936097160746,0.936063433647,0.936029697944,0.935995953637,0.935962200726,0.935928439213,0.935894669096,0.935860890377,0.935827103055,0.935793307132,0.935759502607,0.935725689481,0.935691867754,0.935658037426,0.935624198498,0.93559035097,0.935556494841,0.935522630114,0.935488756787,0.935454874862,0.935420984338,0.935387085216,0.935353177496,0.935319261179,0.935285336264,0.935251402752,0.935217460644,0.935183509939,0.935149550638,0.935115582742,0.93508160625,0.935047621163,0.935013627482,0.934979625206,0.934945614336,0.934911594872,0.934877566814,0.934843530163,0.93480948492,0.934775431084,0.934741368655,0.934707297635,0.934673218023,0.93463912982,0.934605033025,0.93457092764,0.934536813665,0.9345026911,0.934468559945,0.9344344202,0.934400271866,0.934366114944,0.934331949433,0.934297775334,0.934263592646,0.934229401372,0.93419520151,0.934160993061,0.934126776026,0.934092550404,0.934058316197,0.934024073403,0.933989822025,0.933955562061,0.933921293513,0.93388701638,0.933852730663,0.933818436362,0.933784133478,0.933749822011,0.933715501961,0.933681173328,0.933646836113,0.933612490317,0.933578135938,0.933543772979,0.933509401438,0.933475021317,0.933440632616,0.933406235335,0.933371829474,0.933337415033,0.933302992014,0.933268560416,0.933234120239,0.933199671485,0.933165214152,0.933130748242,0.933096273755,0.933061790692,0.933027299051,0.932992798835,0.932958290042,0.932923772674,0.932889246731,0.932854712213,0.932820169121,0.932785617454,0.932751057213,0.932716488398,0.93268191101,0.932647325049,0.932612730516,0.93257812741,0.932543515732,0.932508895482,0.932474266661,0.932439629268,0.932404983305,0.932370328772,0.932335665668,0.932300993995,0.932266313752,0.932231624939,0.932196927558,0.932162221609,0.932127507091,0.932092784005,0.932058052351,0.932023312131,0.931988563343,0.931953805989,0.931919040068,0.931884265582,0.931849482529,0.931814690912,0.931779890729,0.931745081982,0.93171026467,0.931675438794,0.931640604354,0.931605761351,0.931570909785,0.931536049656,0.931501180965,0.931466303711,0.931431417895,0.931396523518,0.93136162058,0.931326709081,0.931291789022,0.931256860402,0.931221923222,0.931186977483,0.931152023184,0.931117060326,0.93108208891,0.931047108936,0.931012120403,0.930977123313,0.930942117665,0.930907103461,0.9308720807,0.930837049382,0.930802009508,0.930766961079,0.930731904094,0.930696838554,0.93066176446,0.930626681811,0.930591590607,0.93055649085,0.93052138254,0.930486265676,0.93045114026,0.930416006291,0.93038086377,0.930345712696,0.930310553072,0.930275384896,0.930240208169,0.930205022892,0.930169829065,0.930134626687,0.93009941576,0.930064196284,0.930028968259,0.929993731685,0.929958486563,0.929923232893,0.929887970675,0.92985269991,0.929817420598,0.929782132739,0.929746836334,0.929711531382,0.929676217885,0.929640895843,0.929605565256,0.929570226124,0.929534878447,0.929499522227,0.929464157462,0.929428784155,0.929393402304,0.92935801191,0.929322612974,0.929287205496,0.929251789475,0.929216364914,0.929180931811,0.929145490168,0.929110039984,0.929074581259,0.929039113995,0.929003638192,0.928968153849,0.928932660967,0.928897159547,0.928861649588,0.928826131092,0.928790604058,0.928755068487,0.928719524379,0.928683971734,0.928648410553,0.928612840836,0.928577262584,0.928541675796,0.928506080473,0.928470476616,0.928434864224,0.928399243299,0.928363613839,0.928327975847,0.928292329321,0.928256674263,0.928221010672,0.92818533855,0.928149657895,0.92811396871,0.928078270993,0.928042564746,0.928006849968,0.92797112666,0.927935394823,0.927899654456,0.92786390556,0.927828148135,0.927792382182,0.927756607701,0.927720824692,0.927685033156,0.927649233093,0.927613424502,0.927577607386,0.927541781743,0.927505947575,0.927470104881,0.927434253662,0.927398393919,0.92736252565,0.927326648858,0.927290763542,0.927254869703,0.92721896734,0.927183056455,0.927147137047,0.927111209117,0.927075272665,0.927039327691,0.927003374197,0.926967412182,0.926931441646,0.92689546259,0.926859475014,0.926823478919,0.926787474305,0.926751461171,0.92671543952,0.92667940935,0.926643370662,0.926607323457,0.926571267734,0.926535203495,0.926499130739,0.926463049467,0.926426959679,0.926390861376,0.926354754558,0.926318639224,0.926282515376,0.926246383014,0.926210242138,0.926174092749,0.926137934846,0.926101768431,0.926065593503,0.926029410062,0.92599321811,0.925957017647,0.925920808672,0.925884591186,0.92584836519,0.925812130683,0.925775887667,0.925739636141,0.925703376106,0.925667107562,0.92563083051,0.925594544949,0.925558250881,0.925521948305,0.925485637221,0.925449317631,0.925412989535,0.925376652932,0.925340307823,0.925303954209,0.92526759209,0.925231221465,0.925194842336,0.925158454703,0.925122058567,0.925085653926,0.925049240783,0.925012819136,0.924976388987,0.924939950336,0.924903503183,0.924867047529,0.924830583373,0.924794110717,0.92475762956,0.924721139902,0.924684641745,0.924648135089,0.924611619933,0.924575096279,0.924538564125,0.924502023474,0.924465474325,0.924428916679,0.924392350535,0.924355775895,0.924319192758,0.924282601125,0.924246000996,0.924209392371,0.924172775252,0.924136149637,0.924099515529,0.924062872926,0.924026221829,0.923989562239,0.923952894156,0.92391621758,0.923879532511,0.923842838951,0.923806136898,0.923769426355,0.92373270732,0.923695979794,0.923659243778,0.923622499272,0.923585746276,0.923548984791,0.923512214817,0.923475436354,0.923438649402,0.923401853963,0.923365050036,0.923328237621,0.92329141672,0.923254587331,0.923217749457,0.923180903096,0.92314404825,0.923107184918,0.923070313101,0.9230334328,0.922996544014,0.922959646745,0.922922740991,0.922885826755,0.922848904035,0.922811972833,0.922775033148,0.922738084982,0.922701128334,0.922664163205,0.922627189594,0.922590207503,0.922553216932,0.922516217881,0.922479210351,0.922442194341,0.922405169852,0.922368136885,0.922331095439,0.922294045516,0.922256987115,0.922219920237,0.922182844882,0.922145761051,0.922108668743,0.92207156796,0.922034458701,0.921997340967,0.921960214758,0.921923080075,0.921885936918,0.921848785286,0.921811625182,0.921774456604,0.921737279554,0.921700094031,0.921662900036,0.921625697569,0.921588486631,0.921551267222,0.921514039342,0.921476802992,0.921439558172,0.921402304882,0.921365043123,0.921327772894,0.921290494198,0.921253207033,0.921215911399,0.921178607299,0.921141294731,0.921103973696,0.921066644194,0.921029306227,0.920991959793,0.920954604894,0.920917241529,0.9208798697,0.920842489406,0.920805100648,0.920767703426,0.920730297741,0.920692883592,0.920655460981,0.920618029907,0.920580590371,0.920543142373,0.920505685914,0.920468220994,0.920430747613,0.920393265772,0.92035577547,0.920318276709,0.920280769489,0.920243253809,0.920205729671,0.920168197074,0.92013065602,0.920093106508,0.920055548538,0.920017982112,0.919980407229,0.919942823889,0.919905232094,0.919867631843,0.919830023137,0.919792405976,0.919754780361,0.919717146291,0.919679503768,0.919641852791,0.919604193361,0.919566525478,0.919528849142,0.919491164355,0.919453471116,0.919415769425,0.919378059283,0.919340340691,0.919302613648,0.919264878155,0.919227134212,0.919189381821,0.91915162098,0.91911385169,0.919076073952,0.919038287766,0.919000493133,0.918962690052,0.918924878525,0.918887058551,0.91884923013,0.918811393264,0.918773547952,0.918735694196,0.918697831994,0.918659961348,0.918622082257,0.918584194723,0.918546298746,0.918508394325,0.918470481462,0.918432560156,0.918394630408,0.918356692219,0.918318745588,0.918280790517,0.918242827004,0.918204855051,0.918166874659,0.918128885827,0.918090888555,0.918052882845,0.918014868696,0.917976846109,0.917938815084,0.917900775621,0.917862727722,0.917824671385,0.917786606613,0.917748533404,0.917710451759,0.917672361679,0.917634263164,0.917596156214,0.91755804083,0.917519917012,0.91748178476,0.917443644075,0.917405494957,0.917367337406,0.917329171423,0.917290997008,0.917252814162,0.917214622885,0.917176423176,0.917138215037,0.917099998468,0.91706177347,0.917023540041,0.916985298184,0.916947047898,0.916908789184,0.916870522041,0.916832246471,0.916793962474,0.916755670049,0.916717369198,0.916679059921,0.916640742218,0.916602416089,0.916564081535,0.916525738556,0.916487387153,0.916449027325,0.916410659074,0.916372282399,0.916333897301,0.916295503781,0.916257101838,0.916218691473,0.916180272686,0.916141845478,0.916103409849,0.916064965799,0.916026513329,0.91598805244,0.91594958313,0.915911105402,0.915872619254,0.915834124688,0.915795621704,0.915757110302,0.915718590483,0.915680062246,0.915641525593,0.915602980523,0.915564427038,0.915525865136,0.91548729482,0.915448716088,0.915410128942,0.915371533382,0.915332929407,0.915294317019,0.915255696218,0.915217067005,0.915178429378,0.91513978334,0.915101128889,0.915062466028,0.915023794755,0.914985115072,0.914946426978,0.914907730474,0.914869025561,0.914830312238,0.914791590506,0.914752860366,0.914714121818,0.914675374862,0.914636619498,0.914597855727,0.914559083549,0.914520302965,0.914481513975,0.914442716579,0.914403910778,0.914365096571,0.914326273961,0.914287442945,0.914248603526,0.914209755704,0.914170899478,0.914132034849,0.914093161817,0.914054280384,0.914015390549,0.913976492312,0.913937585674,0.913898670636,0.913859747197,0.913820815358,0.91378187512,0.913742926482,0.913703969445,0.91366500401,0.913626030177,0.913587047945,0.913548057316,0.91350905829,0.913470050868,0.913431035049,0.913392010833,0.913352978222,0.913313937216,0.913274887815,0.913235830019,0.913196763829,0.913157689245,0.913118606267,0.913079514896,0.913040415133,0.913001306977,0.912962190428,0.912923065488,0.912883932157,0.912844790435,0.912805640322,0.912766481818,0.912727314925,0.912688139642,0.91264895597,0.912609763909,0.912570563459,0.912531354622,0.912492137396,0.912452911783,0.912413677783,0.912374435396,0.912335184623,0.912295925464,0.91225665792,0.91221738199,0.912178097675,0.912138804975,0.912099503892,0.912060194424,0.912020876574,0.91198155034,0.911942215723,0.911902872724,0.911863521343,0.91182416158,0.911784793436,0.911745416911,0.911706032005,0.91166663872,0.911627237054,0.911587827009,0.911548408585,0.911508981782,0.911469546601,0.911430103041,0.911390651104,0.91135119079,0.911311722098,0.911272245031,0.911232759586,0.911193265767,0.911153763571,0.911114253001,0.911074734055,0.911035206735,0.910995671042,0.910956126974,0.910916574533,0.91087701372,0.910837444533,0.910797866975,0.910758281044,0.910718686743,0.91067908407,0.910639473026,0.910599853612,0.910560225827,0.910520589673,0.91048094515,0.910441292258,0.910401630997,0.910361961368,0.910322283372,0.910282597007,0.910242902276,0.910203199178,0.910163487713,0.910123767883,0.910084039686,0.910044303125,0.910004558198,0.909964804907,0.909925043252,0.909885273233,0.90984549485,0.909805708105,0.909765912996,0.909726109525,0.909686297693,0.909646477498,0.909606648943,0.909566812026,0.909526966749,0.909487113112,0.909447251114,0.909407380758,0.909367502042,0.909327614968,0.909287719535,0.909247815744,0.909207903596,0.909167983091,0.909128054228,0.909088117009,0.909048171434,0.909008217503,0.908968255217,0.908928284576,0.90888830558,0.908848318229,0.908808322525,0.908768318467,0.908728306056,0.908688285293,0.908648256176,0.908608218708,0.908568172888,0.908528118716,0.908488056194,0.908447985321,0.908407906097,0.908367818524,0.908327722601,0.908287618329,0.908247505709,0.908207384739,0.908167255422,0.908127117757,0.908086971745,0.908046817386,0.90800665468,0.907966483629,0.907926304231,0.907886116488,0.907845920399,0.907805715966,0.907765503189,0.907725282068,0.907685052603,0.907644814795,0.907604568643,0.90756431415,0.907524051314,0.907483780137,0.907443500618,0.907403212758,0.907362916557,0.907322612016,0.907282299136,0.907241977915,0.907201648356,0.907161310458,0.907120964221,0.907080609646,0.907040246734,0.906999875484,0.906959495897,0.906919107974,0.906878711714,0.906838307119,0.906797894188,0.906757472922,0.906717043321,0.906676605386,0.906636159117,0.906595704515,0.906555241579,0.90651477031,0.906474290709,0.906433802776,0.906393306511,0.906352801915,0.906312288987,0.906271767729,0.906231238141,0.906190700223,0.906150153975,0.906109599398,0.906069036493,0.906028465259,0.905987885697,0.905947297807,0.90590670159,0.905866097047,0.905825484176,0.90578486298,0.905744233458,0.90570359561,0.905662949437,0.90562229494,0.905581632118,0.905540960973,0.905500281504,0.905459593711,0.905418897596,0.905378193159,0.905337480399,0.905296759318,0.905256029916,0.905215292192,0.905174546148,0.905133791784,0.9050930291,0.905052258097,0.905011478775,0.904970691134,0.904929895174,0.904889090897,0.904848278302,0.90480745739,0.904766628162,0.904725790616,0.904684944755,0.904644090578,0.904603228086,0.904562357279,0.904521478157,0.904480590721,0.904439694972,0.904398790909,0.904357878533,0.904316957844,0.904276028843,0.90423509153,0.904194145906,0.90415319197,0.904112229724,0.904071259167,0.9040302803,0.903989293123,0.903948297638,0.903907293843,0.90386628174,0.903825261328,0.903784232609,0.903743195583,0.903702150249,0.903661096609,0.903620034663,0.903578964411,0.903537885853,0.90349679899,0.903455703822,0.90341460035,0.903373488574,0.903332368495,0.903291240112,0.903250103426,0.903208958438,0.903167805147,0.903126643555,0.903085473662,0.903044295468,0.903003108973,0.902961914177,0.902920711082,0.902879499688,0.902838279995,0.902797052002,0.902755815712,0.902714571123,0.902673318237,0.902632057054,0.902590787574,0.902549509798,0.902508223725,0.902466929357,0.902425626694,0.902384315735,0.902342996482,0.902301668935,0.902260333095,0.902218988961,0.902177636533,0.902136275814,0.902094906802,0.902053529498,0.902012143902,0.901970750016,0.901929347839,0.901887937371,0.901846518614,0.901805091567,0.901763656231,0.901722212606,0.901680760692,0.90163930049,0.901597832001,0.901556355225,0.901514870161,0.901473376811,0.901431875175,0.901390365253,0.901348847046,0.901307320554,0.901265785777,0.901224242716,0.901182691371,0.901141131742,0.901099563831,0.901057987636,0.90101640316,0.900974810401,0.900933209361,0.90089160004,0.900849982438,0.900808356555,0.900766722392,0.90072507995,0.900683429229,0.900641770228,0.900600102949,0.900558427392,0.900516743558,0.900475051445,0.900433351056,0.900391642391,0.900349925449,0.900308200231,0.900266466738,0.90022472497,0.900182974927,0.90014121661,0.900099450019,0.900057675154,0.900015892016,0.899974100606,0.899932300923,0.899890492968,0.899848676742,0.899806852244,0.899765019475,0.899723178436,0.899681329127,0.899639471549,0.899597605701,0.899555731584,0.899513849198,0.899471958545,0.899430059624,0.899388152435,0.899346236979,0.899304313257,0.899262381269,0.899220441014,0.899178492495,0.89913653571,0.89909457066,0.899052597347,0.899010615769,0.898968625928,0.898926627824,0.898884621457,0.898842606827,0.898800583936,0.898758552783,0.898716513369,0.898674465694,0.898632409759,0.898590345563,0.898548273108,0.898506192394,0.898464103421,0.898422006189,0.898379900699,0.898337786952,0.898295664947,0.898253534685,0.898211396167,0.898169249393,0.898127094362,0.898084931077,0.898042759536,0.898000579741,0.897958391691,0.897916195388,0.897873990831,0.897831778021,0.897789556959,0.897747327644,0.897705090077,0.897662844259,0.89762059019,0.89757832787,0.897536057299,0.897493778479,0.897451491409,0.89740919609,0.897366892522,0.897324580705,0.897282260641,0.897239932329,0.89719759577,0.897155250964,0.897112897911,0.897070536613,0.897028167068,0.896985789279,0.896943403244,0.896901008965,0.896858606442,0.896816195676,0.896773776665,0.896731349412,0.896688913917,0.896646470179,0.896604018199,0.896561557978,0.896519089516,0.896476612813,0.89643412787,0.896391634688,0.896349133266,0.896306623604,0.896264105705,0.896221579567,0.896179045191,0.896136502577,0.896093951727,0.896051392639,0.896008825316,0.895966249756,0.895923665961,0.895881073931,0.895838473666,0.895795865167,0.895753248434,0.895710623467,0.895667990267,0.895625348834,0.895582699169,0.895540041272,0.895497375143,0.895454700783,0.895412018192,0.895369327371,0.89532662832,0.895283921039,0.895241205528,0.895198481789,0.895155749822,0.895113009626,0.895070261203,0.895027504552,0.894984739675,0.894941966571,0.89489918524,0.894856395685,0.894813597903,0.894770791897,0.894727977667,0.894685155212,0.894642324533,0.894599485631,0.894556638506,0.894513783159,0.894470919589,0.894428047798,0.894385167785,0.894342279551,0.894299383097,0.894256478422,0.894213565528,0.894170644414,0.894127715081,0.89408477753,0.89404183176,0.893998877772,0.893955915567,0.893912945145,0.893869966506,0.893826979651,0.893783984581,0.893740981294,0.893697969793,0.893654950077,0.893611922146,0.893568886002,0.893525841644,0.893482789074,0.89343972829,0.893396659294,0.893353582086,0.893310496667,0.893267403037,0.893224301196,0.893181191144,0.893138072883,0.893094946412,0.893051811732,0.893008668843,0.892965517746,0.892922358441,0.892879190928,0.892836015208,0.892792831282,0.892749639149,0.89270643881,0.892663230265,0.892620013516,0.892576788562,0.892533555403,0.89249031404,0.892447064474,0.892403806704,0.892360540732,0.892317266557,0.892273984181,0.892230693602,0.892187394823,0.892144087843,0.892100772662,0.892057449282,0.892014117701,0.891970777922,0.891927429944,0.891884073767,0.891840709392,0.89179733682,0.891753956051,0.891710567084,0.891667169922,0.891623764563,0.891580351009,0.891536929259,0.891493499315,0.891450061176,0.891406614843,0.891363160317,0.891319697597,0.891276226685,0.89123274758,0.891189260283,0.891145764795,0.891102261115,0.891058749244,0.891015229183,0.890971700932,0.890928164492,0.890884619862,0.890841067043,0.890797506036,0.890753936841,0.890710359459,0.890666773889,0.890623180132,0.890579578189,0.89053596806,0.890492349745,0.890448723245,0.89040508856,0.890361445691,0.890317794637,0.890274135401,0.890230467981,0.890186792378,0.890143108592,0.890099416625,0.890055716476,0.890012008146,0.889968291635,0.889924566944,0.889880834073,0.889837093022,0.889793343792,0.889749586383,0.889705820796,0.889662047031,0.889618265088,0.889574474968,0.889530676671,0.889486870198,0.889443055549,0.889399232724,0.889355401724,0.88931156255,0.889267715201,0.889223859678,0.889179995981,0.889136124112,0.889092244069,0.889048355855,0.889004459468,0.88896055491,0.88891664218,0.88887272128,0.88882879221,0.88878485497,0.88874090956,0.888696955981,0.888652994233,0.888609024317,0.888565046233,0.888521059982,0.888477065564,0.888433062978,0.888389052227,0.88834503331,0.888301006227,0.888256970979,0.888212927566,0.88816887599,0.888124816249,0.888080748345,0.888036672278,0.887992588048,0.887948495656,0.887904395102,0.887860286387,0.88781616951,0.887772044473,0.887727911276,0.887683769919,0.887639620403,0.887595462728,0.887551296894,0.887507122901,0.887462940752,0.887418750444,0.88737455198,0.887330345359,0.887286130582,0.88724190765,0.887197676562,0.887153437319,0.887109189921,0.88706493437,0.887020670664,0.886976398806,0.886932118794,0.88688783063,0.886843534314,0.886799229847,0.886754917228,0.886710596458,0.886666267537,0.886621930467,0.886577585247,0.886533231878,0.88648887036,0.886444500693,0.886400122879,0.886355736917,0.886311342807,0.886266940551,0.886222530149,0.8861781116,0.886133684907,0.886089250067,0.886044807084,0.886000355955,0.885955896683,0.885911429268,0.885866953709,0.885822470007,0.885777978164,0.885733478178,0.885688970051,0.885644453783,0.885599929374,0.885555396825,0.885510856136,0.885466307308,0.885421750341,0.885377185235,0.885332611991,0.885288030609,0.885243441089,0.885198843433,0.88515423764,0.885109623711,0.885065001647,0.885020371447,0.884975733112,0.884931086642,0.884886432039,0.884841769301,0.884797098431,0.884752419428,0.884707732292,0.884663037024,0.884618333624,0.884573622094,0.884528902432,0.88448417464,0.884439438718,0.884394694667,0.884349942486,0.884305182177,0.884260413739,0.884215637173,0.88417085248,0.88412605966,0.884081258713,0.884036449639,0.88399163244,0.883946807116,0.883901973666,0.883857132091,0.883812282393,0.883767424571,0.883722558625,0.883677684556,0.883632802365,0.883587912051,0.883543013616,0.883498107059,0.883453192382,0.883408269584,0.883363338666,0.883318399628,0.883273452471,0.883228497195,0.883183533801,0.883138562288,0.883093582658,0.883048594911,0.883003599047,0.882958595066,0.88291358297,0.882868562758,0.882823534431,0.882778497989,0.882733453433,0.882688400763,0.88264333998,0.882598271083,0.882553194074,0.882508108952,0.882463015719,0.882417914374,0.882372804919,0.882327687352,0.882282561676,0.88223742789,0.882192285994,0.88214713599,0.882101977877,0.882056811656,0.882011637327,0.881966454891,0.881921264348,0.881876065699,0.881830858944,0.881785644083,0.881740421117,0.881695190046,0.881649950871,0.881604703592,0.881559448209,0.881514184723,0.881468913135,0.881423633444,0.881378345652,0.881333049758,0.881287745763,0.881242433667,0.881197113471,0.881151785176,0.881106448781,0.881061104287,0.881015751694,0.880970391004,0.880925022216,0.88087964533,0.880834260348,0.880788867269,0.880743466094,0.880698056824,0.880652639458,0.880607213998,0.880561780443,0.880516338794,0.880470889052,0.880425431217,0.880379965289,0.880334491269,0.880289009157,0.880243518953,0.880198020659,0.880152514274,0.880106999798,0.880061477233,0.880015946579,0.879970407836,0.879924861004,0.879879306084,0.879833743076,0.879788171982,0.8797425928,0.879697005532,0.879651410178,0.879605806739,0.879560195214,0.879514575604,0.879468947911,0.879423312133,0.879377668272,0.879332016328,0.879286356301,0.879240688192,0.879195012001,0.879149327729,0.879103635376,0.879057934942,0.879012226429,0.878966509835,0.878920785162,0.878875052411,0.878829311581,0.878783562673,0.878737805687,0.878692040625,0.878646267485,0.878600486269,0.878554696977,0.87850889961,0.878463094168,0.878417280651,0.87837145906,0.878325629395,0.878279791657,0.878233945845,0.878188091961,0.878142230005,0.878096359978,0.878050481879,0.878004595709,0.877958701469,0.877912799159,0.877866888779,0.87782097033,0.877775043812,0.877729109226,0.877683166572,0.877637215851,0.877591257062,0.877545290207,0.877499315286,0.877453332299,0.877407341246,0.877361342129,0.877315334947,0.877269319701,0.877223296392,0.877177265019,0.877131225583,0.877085178085,0.877039122525,0.876993058903,0.87694698722,0.876900907477,0.876854819673,0.876808723809,0.876762619886,0.876716507904,0.876670387863,0.876624259764,0.876578123608,0.876531979394,0.876485827123,0.876439666796,0.876393498412,0.876347321973,0.876301137479,0.87625494493,0.876208744327,0.87616253567,0.876116318959,0.876070094195,0.876023861379,0.87597762051,0.87593137159,0.875885114618,0.875838849595,0.875792576522,0.875746295399,0.875700006226,0.875653709003,0.875607403732,0.875561090413,0.875514769045,0.87546843963,0.875422102168,0.875375756659,0.875329403104,0.875283041503,0.875236671857,0.875190294165,0.87514390843,0.87509751465,0.875051112826,0.875004702959,0.874958285049,0.874911859097,0.874865425102,0.874818983066,0.874772532989,0.874726074872,0.874679608713,0.874633134516,0.874586652278,0.874540162002,0.874493663687,0.874447157334,0.874400642943,0.874354120515,0.87430759005,0.874261051548,0.874214505011,0.874167950438,0.874121387829,0.874074817186,0.874028238509,0.873981651798,0.873935057053,0.873888454276,0.873841843465,0.873795224623,0.873748597749,0.873701962843,0.873655319907,0.87360866894,0.873562009943,0.873515342917,0.873468667861,0.873421984777,0.873375293664,0.873328594524,0.873281887356,0.873235172161,0.873188448939,0.873141717692,0.873094978418,0.87304823112,0.873001475796,0.872954712448,0.872907941076,0.87286116168,0.872814374261,0.87276757882,0.872720775356,0.87267396387,0.872627144363,0.872580316835,0.872533481286,0.872486637717,0.872439786129,0.872392926521,0.872346058894,0.872299183249,0.872252299586,0.872205407906,0.872158508208,0.872111600493,0.872064684763,0.872017761016,0.871970829254,0.871923889477,0.871876941686,0.87182998588,0.871783022061,0.871736050229,0.871689070383,0.871642082526,0.871595086656,0.871548082775,0.871501070883,0.87145405098,0.871407023067,0.871359987144,0.871312943212,0.87126589127,0.871218831321,0.871171763363,0.871124687398,0.871077603425,0.871030511446,0.87098341146,0.870936303469,0.870889187472,0.87084206347,0.870794931464,0.870747791453,0.870700643438,0.870653487421,0.8706063234,0.870559151377,0.870511971352,0.870464783325,0.870417587298,0.870370383269,0.870323171241,0.870275951212,0.870228723184,0.870181487157,0.870134243132,0.870086991109,0.870039731088,0.869992463069,0.869945187054,0.869897903043,0.869850611035,0.869803311033,0.869756003035,0.869708687042,0.869661363056,0.869614031075,0.869566691101,0.869519343135,0.869471987176,0.869424623225,0.869377251282,0.869329871349,0.869282483424,0.86923508751,0.869187683605,0.869140271711,0.869092851828,0.869045423957,0.868997988098,0.868950544251,0.868903092416,0.868855632595,0.868808164788,0.868760688995,0.868713205216,0.868665713452,0.868618213704,0.868570705971,0.868523190255,0.868475666556,0.868428134873,0.868380595209,0.868333047562,0.868285491934,0.868237928324,0.868190356734,0.868142777164,0.868095189614,0.868047594085,0.867999990577,0.86795237909,0.867904759625,0.867857132183,0.867809496763,0.867761853367,0.867714201995,0.867666542646,0.867618875323,0.867571200024,0.867523516751,0.867475825503,0.867428126282,0.867380419088,0.867332703921,0.867284980782,0.867237249671,0.867189510588,0.867141763534,0.86709400851,0.867046245516,0.866998474552,0.866950695618,0.866902908716,0.866855113845,0.866807311007,0.866759500201,0.866711681428,0.866663854688,0.866616019982,0.866568177311,0.866520326674,0.866472468072,0.866424601505,0.866376726975,0.866328844481,0.866280954025,0.866233055605,0.866185149223,0.86613723488,0.866089312575,0.866041382309,0.865993444082,0.865945497896,0.86589754375,0.865849581645,0.865801611581,0.865753633559,0.865705647579,0.865657653642,0.865609651748,0.865561641897,0.865513624091,0.865465598328,0.865417564611,0.865369522938,0.865321473312,0.865273415731,0.865225350198,0.865177276711,0.865129195272,0.86508110588,0.865033008537,0.864984903243,0.864936789998,0.864888668803,0.864840539658,0.864792402563,0.864744257519,0.864696104527,0.864647943587,0.864599774699,0.864551597864,0.864503413082,0.864455220354,0.86440701968,0.864358811061,0.864310594496,0.864262369987,0.864214137534,0.864165897137,0.864117648797,0.864069392514,0.864021128289,0.863972856122,0.863924576013,0.863876287963,0.863827991973,0.863779688043,0.863731376173,0.863683056364,0.863634728616,0.86358639293,0.863538049305,0.863489697744,0.863441338245,0.86339297081,0.863344595439,0.863296212131,0.863247820889,0.863199421712,0.863151014601,0.863102599555,0.863054176577,0.863005745665,0.862957306821,0.862908860044,0.862860405336,0.862811942697,0.862763472126,0.862714993626,0.862666507196,0.862618012836,0.862569510547,0.86252100033,0.862472482184,0.862423956111,0.862375422111,0.862326880184,0.86227833033,0.862229772551,0.862181206846,0.862132633216,0.862084051662,0.862035462184,0.861986864782,0.861938259456,0.861889646209,0.861841025038,0.861792395946,0.861743758933,0.861695113998,0.861646461143,0.861597800368,0.861549131673,0.861500455059,0.861451770527,0.861403078076,0.861354377707,0.861305669421,0.861256953218,0.861208229099,0.861159497063,0.861110757112,0.861062009245,0.861013253464,0.860964489769,0.86091571816,0.860866938638,0.860818151202,0.860769355855,0.860720552595,0.860671741424,0.860622922341,0.860574095348,0.860525260445,0.860476417632,0.860427566909,0.860378708278,0.860329841738,0.860280967291,0.860232084935,0.860183194673,0.860134296504,0.860085390429,0.860036476449,0.859987554563,0.859938624772,0.859889687077,0.859840741477,0.859791787975,0.859742826569,0.859693857261,0.859644880051,0.859595894939,0.859546901926,0.859497901012,0.859448892197,0.859399875483,0.85935085087,0.859301818357,0.859252777946,0.859203729637,0.85915467343,0.859105609326,0.859056537325,0.859007457429,0.858958369636,0.858909273948,0.858860170365,0.858811058887,0.858761939516,0.858712812251,0.858663677093,0.858614534042,0.858565383099,0.858516224264,0.858467057538,0.858417882922,0.858368700414,0.858319510017,0.858270311731,0.858221105555,0.858171891491,0.858122669538,0.858073439698,0.858024201971,0.857974956357,0.857925702856,0.85787644147,0.857827172198,0.857777895041,0.85772861,0.857679317075,0.857630016266,0.857580707574,0.857531390999,0.857482066543,0.857432734204,0.857383393984,0.857334045883,0.857284689901,0.85723532604,0.857185954299,0.857136574679,0.857087187181,0.857037791804,0.85698838855,0.856938977418,0.856889558409,0.856840131525,0.856790696764,0.856741254128,0.856691803616,0.856642345231,0.856592878971,0.856543404838,0.856493922831,0.856444432952,0.8563949352,0.856345429577,0.856295916083,0.856246394717,0.856196865481,0.856147328375,0.8560977834,0.856048230555,0.855998669842,0.855949101261,0.855899524812,0.855849940496,0.855800348313,0.855750748263,0.855701140348,0.855651524567,0.855601900922,0.855552269412,0.855502630037,0.8554529828,0.855403327699,0.855353664735,0.855303993909,0.855254315222,0.855204628673,0.855154934263,0.855105231993,0.855055521863,0.855005803873,0.854956078025,0.854906344317,0.854856602752,0.854806853329,0.854757096049,0.854707330912,0.854657557919,0.85460777707,0.854557988365,0.854508191806,0.854458387392,0.854408575125,0.854358755003,0.854308927029,0.854259091202,0.854209247523,0.854159395992,0.85410953661,0.854059669377,0.854009794293,0.85395991136,0.853910020578,0.853860121946,0.853810215466,0.853760301138,0.853710378962,0.85366044894,0.85361051107,0.853560565355,0.853510611793,0.853460650387,0.853410681135,0.853360704039,0.8533107191,0.853260726316,0.85321072569,0.853160717221,0.853110700911,0.853060676758,0.853010644765,0.85296060493,0.852910557256,0.852860501742,0.852810438388,0.852760367196,0.852710288165,0.852660201296,0.85261010659,0.852560004047,0.852509893667,0.852459775451,0.8524096494,0.852359515513,0.852309373792,0.852259224236,0.852209066847,0.852158901624,0.852108728568,0.85205854768,0.85200835896,0.851958162409,0.851907958027,0.851857745814,0.851807525771,0.851757297898,0.851707062196,0.851656818666,0.851606567307,0.85155630812,0.851506041106,0.851455766266,0.851405483598,0.851355193105,0.851304894787,0.851254588643,0.851204274675,0.851153952883,0.851103623267,0.851053285828,0.851002940566,0.850952587482,0.850902226576,0.850851857849,0.850801481302,0.850751096933,0.850700704745,0.850650304737,0.850599896911,0.850549481266,0.850499057802,0.850448626522,0.850398187424,0.850347740509,0.850297285778,0.850246823231,0.850196352869,0.850145874693,0.850095388702,0.850044894897,0.849994393278,0.849943883847,0.849893366603,0.849842841547,0.849792308679,0.849741768001,0.849691219512,0.849640663212,0.849590099103,0.849539527185,0.849488947457,0.849438359922,0.849387764579,0.849337161428,0.84928655047,0.849235931706,0.849185305136,0.84913467076,0.84908402858,0.849033378594,0.848982720805,0.848932055212,0.848881381815,0.848830700616,0.848780011615,0.848729314812,0.848678610207,0.848627897802,0.848577177596,0.848526449591,0.848475713785,0.848424970181,0.848374218779,0.848323459578,0.848272692579,0.848221917784,0.848171135192,0.848120344803,0.848069546619,0.84801874064,0.847967926866,0.847917105297,0.847866275935,0.847815438779,0.84776459383,0.847713741089,0.847662880555,0.847612012231,0.847561136115,0.847510252208,0.847459360512,0.847408461025,0.84735755375,0.847306638686,0.847255715833,0.847204785193,0.847153846766,0.847102900551,0.84705194655,0.847000984764,0.846950015192,0.846899037834,0.846848052693,0.846797059767,0.846746059058,0.846695050565,0.84664403429,0.846593010233,0.846541978394,0.846490938774,0.846439891373,0.846388836192,0.846337773231,0.846286702491,0.846235623971,0.846184537674,0.846133443598,0.846082341745,0.846031232115,0.845980114708,0.845928989525,0.845877856567,0.845826715834,0.845775567326,0.845724411043,0.845673246987,0.845622075158,0.845570895556,0.845519708182,0.845468513036,0.845417310118,0.84536609943,0.845314880971,0.845263654742,0.845212420744,0.845161178976,0.845109929441,0.845058672137,0.845007407065,0.844956134226,0.844904853621,0.84485356525,0.844802269113,0.84475096521,0.844699653543,0.844648334111,0.844597006916,0.844545671957,0.844494329236,0.844442978752,0.844391620506,0.844340254499,0.84428888073,0.844237499201,0.844186109912,0.844134712864,0.844083308056,0.84403189549,0.843980475166,0.843929047084,0.843877611244,0.843826167648,0.843774716296,0.843723257188,0.843671790324,0.843620315706,0.843568833333,0.843517343207,0.843465845327,0.843414339694,0.843362826308,0.843311305171,0.843259776282,0.843208239642,0.843156695251,0.84310514311,0.84305358322,0.84300201558,0.842950440192,0.842898857056,0.842847266172,0.84279566754,0.842744061162,0.842692447037,0.842640825167,0.842589195551,0.84253755819,0.842485913085,0.842434260236,0.842382599643,0.842330931308,0.842279255229,0.842227571409,0.842175879848,0.842124180545,0.842072473501,0.842020758718,0.841969036194,0.841917305932,0.841865567931,0.841813822191,0.841762068714,0.841710307499,0.841658538548,0.84160676186,0.841554977437,0.841503185278,0.841451385384,0.841399577756,0.841347762394,0.841295939298,0.841244108469,0.841192269908,0.841140423614,0.841088569589,0.841036707833,0.840984838347,0.84093296113,0.840881076183,0.840829183508,0.840777283103,0.84072537497,0.84067345911,0.840621535522,0.840569604208,0.840517665167,0.8404657184,0.840413763908,0.840361801691,0.84030983175,0.840257854084,0.840205868695,0.840153875583,0.840101874749,0.840049866193,0.839997849915,0.839945825916,0.839893794196,0.839841754756,0.839789707597,0.839737652718,0.839685590121,0.839633519805,0.839581441772,0.839529356022,0.839477262555,0.839425161371,0.839373052472,0.839320935857,0.839268811527,0.839216679484,0.839164539726,0.839112392254,0.83906023707,0.839008074174,0.838955903565,0.838903725245,0.838851539214,0.838799345472,0.83874714402,0.838694934859,0.838642717989,0.838590493409,0.838538261122,0.838486021127,0.838433773425,0.838381518017,0.838329254902,0.838276984081,0.838224705555,0.838172419324,0.838120125389,0.83806782375,0.838015514408,0.837963197363,0.837910872615,0.837858540166,0.837806200015,0.837753852163,0.837701496611,0.837649133359,0.837596762407,0.837544383757,0.837491997408,0.83743960336,0.837387201616,0.837334792174,0.837282375035,0.837229950201,0.837177517671,0.837125077445,0.837072629525,0.837020173911,0.836967710603,0.836915239602,0.836862760908,0.836810274522,0.836757780444,0.836705278674,0.836652769214,0.836600252064,0.836547727224,0.836495194694,0.836442654475,0.836390106568,0.836337550974,0.836284987691,0.836232416722,0.836179838066,0.836127251725,0.836074657698,0.836022055985,0.835969446589,0.835916829508,0.835864204743,0.835811572296,0.835758932166,0.835706284354,0.83565362886,0.835600965685,0.835548294829,0.835495616294,0.835442930078,0.835390236183,0.83533753461,0.835284825358,0.835232108429,0.835179383822,0.835126651539,0.835073911579,0.835021163943,0.834968408632,0.834915645647,0.834862874986,0.834810096652,0.834757310645,0.834704516965,0.834651715612,0.834598906587,0.834546089891,0.834493265524,0.834440433486,0.834387593778,0.834334746401,0.834281891355,0.83422902864,0.834176158258,0.834123280207,0.83407039449,0.834017501106,0.833964600056,0.83391169134,0.833858774959,0.833805850914,0.833752919204,0.833699979831,0.833647032794,0.833594078095,0.833541115733,0.83348814571,0.833435168026,0.833382182681,0.833329189675,0.83327618901,0.833223180685,0.833170164702,0.83311714106,0.833064109761,0.833011070804,0.83295802419,0.83290496992,0.832851907994,0.832798838413,0.832745761176,0.832692676286,0.832639583741,0.832586483543,0.832533375692,0.832480260188,0.832427137033,0.832374006226,0.832320867768,0.832267721659,0.832214567901,0.832161406493,0.832108237436,0.83205506073,0.832001876376,0.831948684375,0.831895484727,0.831842277432,0.83178906249,0.831735839904,0.831682609672,0.831629371795,0.831576126274,0.83152287311,0.831469612303,0.831416343852,0.83136306776,0.831309784026,0.83125649265,0.831203193634,0.831149886978,0.831096572682,0.831043250746,0.830989921172,0.83093658396,0.83088323911,0.830829886622,0.830776526498,0.830723158737,0.830669783341,0.830616400309,0.830563009642,0.830509611341,0.830456205406,0.830402791838,0.830349370637,0.830295941803,0.830242505338,0.830189061241,0.830135609513,0.830082150155,0.830028683167,0.829975208549,0.829921726303,0.829868236428,0.829814738925,0.829761233795,0.829707721037,0.829654200653,0.829600672643,0.829547137008,0.829493593747,0.829440042862,0.829386484353,0.829332918221,0.829279344465,0.829225763087,0.829172174087,0.829118577465,0.829064973222,0.829011361359,0.828957741875,0.828904114772,0.82885048005,0.828796837709,0.82874318775,0.828689530173,0.828635864979,0.828582192169,0.828528511742,0.8284748237,0.828421128043,0.828367424771,0.828313713884,0.828259995384,0.828206269271,0.828152535545,0.828098794207,0.828045045258,0.827991288697,0.827937524525,0.827883752743,0.827829973352,0.827776186351,0.827722391741,0.827668589524,0.827614779698,0.827560962265,0.827507137226,0.82745330458,0.827399464328,0.827345616471,0.827291761009,0.827237897943,0.827184027274,0.827130149001,0.827076263125,0.827022369647,0.826968468567,0.826914559885,0.826860643603,0.826806719721,0.826752788238,0.826698849157,0.826644902476,0.826590948197,0.826536986321,0.826483016847,0.826429039776,0.826375055109,0.826321062846,0.826267062987,0.826213055534,0.826159040486,0.826105017845,0.82605098761,0.825996949782,0.825942904362,0.82588885135,0.825834790746,0.825780722552,0.825726646767,0.825672563392,0.825618472428,0.825564373875,0.825510267734,0.825456154004,0.825402032688,0.825347903784,0.825293767294,0.825239623218,0.825185471556,0.82513131231,0.825077145479,0.825022971065,0.824968789066,0.824914599485,0.824860402322,0.824806197576,0.824751985249,0.824697765342,0.824643537853,0.824589302785,0.824535060137,0.824480809911,0.824426552106,0.824372286723,0.824318013762,0.824263733225,0.824209445111,0.824155149421,0.824100846156,0.824046535315,0.8239922169,0.823937890912,0.82388355735,0.823829216215,0.823774867507,0.823720511227,0.823666147376,0.823611775954,0.823557396962,0.8235030104,0.823448616268,0.823394214567,0.823339805298,0.82328538846,0.823230964056,0.823176532084,0.823122092546,0.823067645442,0.823013190772,0.822958728538,0.822904258739,0.822849781376,0.822795296449,0.82274080396,0.822686303908,0.822631796295,0.822577281119,0.822522758383,0.822468228087,0.82241369023,0.822359144814,0.822304591839,0.822250031306,0.822195463214,0.822140887565,0.82208630436,0.822031713597,0.821977115279,0.821922509406,0.821867895977,0.821813274994,0.821758646457,0.821704010367,0.821649366724,0.821594715528,0.821540056781,0.821485390482,0.821430716632,0.821376035231,0.821321346281,0.821266649781,0.821211945733,0.821157234136,0.821102514991,0.821047788299,0.82099305406,0.820938312274,0.820883562943,0.820828806066,0.820774041644,0.820719269678,0.820664490168,0.820609703115,0.820554908519,0.82050010638,0.8204452967,0.820390479478,0.820335654715,0.820280822412,0.820225982569,0.820171135187,0.820116280266,0.820061417807,0.82000654781,0.819951670275,0.819896785204,0.819841892596,0.819786992453,0.819732084774,0.819677169561,0.819622246813,0.819567316531,0.819512378716,0.819457433369,0.819402480489,0.819347520077,0.819292552134,0.81923757666,0.819182593656,0.819127603122,0.819072605059,0.819017599467,0.818962586347,0.8189075657,0.818852537525,0.818797501823,0.818742458595,0.818687407842,0.818632349563,0.818577283759,0.818522210432,0.81846712958,0.818412041206,0.818356945309,0.818301841889,0.818246730948,0.818191612486,0.818136486503,0.818081353,0.818026211978,0.817971063436,0.817915907376,0.817860743797,0.817805572701,0.817750394088,0.817695207959,0.817640014313,0.817584813152,0.817529604475,0.817474388284,0.817419164579,0.817363933361,0.817308694629,0.817253448385,0.817198194629,0.817142933361,0.817087664583,0.817032388294,0.816977104494,0.816921813186,0.816866514368,0.816811208042,0.816755894208,0.816700572867,0.816645244018,0.816589907664,0.816534563803,0.816479212437,0.816423853566,0.81636848719,0.816313113311,0.816257731928,0.816202343043,0.816146946655,0.816091542765,0.816036131374,0.815980712482,0.81592528609,0.815869852198,0.815814410807,0.815758961917,0.815703505528,0.815648041642,0.815592570259,0.815537091378,0.815481605002,0.81542611113,0.815370609762,0.8153151009,0.815259584544,0.815204060694,0.815148529351,0.815092990515,0.815037444187,0.814981890367,0.814926329057,0.814870760255,0.814815183964,0.814759600182,0.814704008912,0.814648410153,0.814592803906,0.814537190172,0.81448156895,0.814425940242,0.814370304048,0.814314660369,0.814259009204,0.814203350555,0.814147684422,0.814092010805,0.814036329706,0.813980641124,0.81392494506,0.813869241515,0.813813530489,0.813757811982,0.813702085995,0.81364635253,0.813590611585,0.813534863162,0.813479107261,0.813423343883,0.813367573027,0.813311794696,0.813256008889,0.813200215606,0.813144414849,0.813088606618,0.813032790913,0.812976967734,0.812921137083,0.81286529896,0.812809453365,0.812753600299,0.812697739762,0.812641871755,0.812585996278,0.812530113333,0.812474222918,0.812418325036,0.812362419686,0.812306506869,0.812250586585,0.812194658836,0.81213872362,0.81208278094,0.812026830796,0.811970873187,0.811914908115,0.81185893558,0.811802955583,0.811746968123,0.811690973202,0.811634970821,0.811578960979,0.811522943677,0.811466918916,0.811410886695,0.811354847017,0.811298799881,0.811242745287,0.811186683237,0.811130613731,0.811074536768,0.811018452351,0.810962360479,0.810906261152,0.810850154372,0.810794040139,0.810737918453,0.810681789315,0.810625652726,0.810569508685,0.810513357194,0.810457198253,0.810401031862,0.810344858022,0.810288676733,0.810232487997,0.810176291813,0.810120088182,0.810063877105,0.810007658582,0.809951432613,0.809895199199,0.809838958341,0.80978271004,0.809726454294,0.809670191106,0.809613920476,0.809557642404,0.809501356891,0.809445063937,0.809388763542,0.809332455708,0.809276140435,0.809219817723,0.809163487572,0.809107149985,0.80905080496,0.808994452498,0.8089380926,0.808881725267,0.808825350499,0.808768968296,0.808712578659,0.808656181588,0.808599777085,0.808543365149,0.808486945781,0.808430518982,0.808374084751,0.808317643091,0.808261194,0.80820473748,0.808148273531,0.808091802154,0.80803532335,0.807978837117,0.807922343458,0.807865842373,0.807809333862,0.807752817926,0.807696294565,0.80763976378,0.807583225572,0.80752667994,0.807470126886,0.807413566409,0.807356998511,0.807300423192,0.807243840452,0.807187250293,0.807130652714,0.807074047716,0.807017435299,0.806960815464,0.806904188213,0.806847553544,0.806790911459,0.806734261958,0.806677605041,0.80662094071,0.806564268965,0.806507589806,0.806450903233,0.806394209248,0.806337507851,0.806280799042,0.806224082821,0.806167359191,0.80611062815,0.806053889699,0.805997143839,0.805940390571,0.805883629895,0.805826861811,0.805770086321,0.805713303423,0.80565651312,0.805599715412,0.805542910298,0.80548609778,0.805429277859,0.805372450534,0.805315615806,0.805258773676,0.805201924144,0.805145067211,0.805088202877,0.805031331143,0.804974452009,0.804917565476,0.804860671545,0.804803770215,0.804746861488,0.804689945364,0.804633021843,0.804576090926,0.804519152614,0.804462206907,0.804405253805,0.804348293309,0.80429132542,0.804234350139,0.804177367464,0.804120377398,0.804063379941,0.804006375093,0.803949362854,0.803892343226,0.803835316209,0.803778281803,0.803721240009,0.803664190827,0.803607134258,0.803550070303,0.803492998961,0.803435920234,0.803378834122,0.803321740625,0.803264639745,0.803207531481,0.803150415834,0.803093292804,0.803036162393,0.802979024601,0.802921879428,0.802864726874,0.802807566941,0.802750399628,0.802693224937,0.802636042867,0.80257885342,0.802521656596,0.802464452395,0.802407240818,0.802350021866,0.802292795538,0.802235561836,0.80217832076,0.802121072311,0.802063816488,0.802006553293,0.801949282727,0.801892004789,0.80183471948,0.801777426801,0.801720126752,0.801662819334,0.801605504547,0.801548182392,0.801490852869,0.80143351598,0.801376171723,0.801318820101,0.801261461113,0.80120409476,0.801146721042,0.80108933996,0.801031951515,0.800974555708,0.800917152537,0.800859742005,0.800802324112,0.800744898857,0.800687466243,0.800630026269,0.800572578935,0.800515124243,0.800457662193,0.800400192785,0.80034271602,0.800285231898,0.80022774042,0.800170241587,0.800112735399,0.800055221856,0.799997700959,0.799940172709,0.799882637106,0.799825094151,0.799767543844,0.799709986186,0.799652421176,0.799594848817,0.799537269108,0.79947968205,0.799422087643,0.799364485888,0.799306876785,0.799249260335,0.799191636539,0.799134005397,0.799076366909,0.799018721077,0.7989610679,0.798903407379,0.798845739515,0.798788064308,0.798730381758,0.798672691867,0.798614994635,0.798557290062,0.798499578149,0.798441858896,0.798384132304,0.798326398373,0.798268657105,0.798210908499,0.798153152556,0.798095389276,0.798037618661,0.79797984071,0.797922055424,0.797864262804,0.79780646285,0.797748655563,0.797690840943,0.797633018991,0.797575189708,0.797517353093,0.797459509147,0.797401657872,0.797343799267,0.797285933333,0.79722806007,0.79717017948,0.797112291562,0.797054396317,0.796996493746,0.796938583849,0.796880666627,0.79682274208,0.796764810208,0.796706871013,0.796648924495,0.796590970655,0.796533009492,0.796475041008,0.796417065202,0.796359082076,0.79630109163,0.796243093865,0.796185088781,0.796127076378,0.796069056658,0.79601102962,0.795952995266,0.795894953595,0.795836904609,0.795778848307,0.795720784691,0.795662713761,0.795604635517,0.79554654996,0.795488457091,0.79543035691,0.795372249417,0.795314134613,0.7952560125,0.795197883076,0.795139746343,0.795081602301,0.795023450951,0.794965292293,0.794907126328,0.794848953057,0.794790772479,0.794732584596,0.794674389408,0.794616186915,0.794557977119,0.794499760019,0.794441535616,0.794383303911,0.794325064904,0.794266818596,0.794208564987,0.794150304078,0.794092035869,0.794033760361,0.793975477554,0.79391718745,0.793858890048,0.793800585349,0.793742273353,0.793683954062,0.793625627475,0.793567293593,0.793508952417,0.793450603948,0.793392248185,0.793333885129,0.793275514781,0.793217137142,0.793158752211,0.79310035999,0.793041960479,0.792983553679,0.79292513959,0.792866718212,0.792808289546,0.792749853593,0.792691410353,0.792632959827,0.792574502015,0.792516036918,0.792457564537,0.792399084871,0.792340597922,0.79228210369,0.792223602175,0.792165093378,0.7921065773,0.792048053941,0.791989523302,0.791930985383,0.791872440184,0.791813887707,0.791755327952,0.791696760919,0.791638186609,0.791579605023,0.79152101616,0.791462420022,0.791403816609,0.791345205921,0.79128658796,0.791227962725,0.791169330218,0.791110690438,0.791052043386,0.790993389064,0.790934727471,0.790876058607,0.790817382474,0.790758699072,0.790700008402,0.790641310463,0.790582605257,0.790523892785,0.790465173046,0.790406446041,0.790347711771,0.790288970236,0.790230221437,0.790171465375,0.790112702049,0.790053931461,0.789995153611,0.789936368499,0.789877576127,0.789818776494,0.789759969601,0.789701155449,0.789642334038,0.789583505369,0.789524669442,0.789465826258,0.789406975818,0.789348118121,0.789289253169,0.789230380962,0.7891715015,0.789112614785,0.789053720816,0.788994819595,0.788935911121,0.788876995395,0.788818072418,0.788759142191,0.788700204714,0.788641259986,0.78858230801,0.788523348786,0.788464382313,0.788405408593,0.788346427627,0.788287439414,0.788228443955,0.788169441251,0.788110431302,0.788051414109,0.787992389673,0.787933357993,0.787874319071,0.787815272907,0.787756219501,0.787697158855,0.787638090968,0.787579015842,0.787519933476,0.787460843872,0.787401747029,0.787342642949,0.787283531631,0.787224413078,0.787165287288,0.787106154262,0.787047014002,0.786987866507,0.786928711779,0.786869549817,0.786810380623,0.786751204196,0.786692020538,0.786632829648,0.786573631529,0.786514426179,0.786455213599,0.786395993791,0.786336766754,0.786277532489,0.786218290997,0.786159042279,0.786099786334,0.786040523163,0.785981252768,0.785921975148,0.785862690303,0.785803398236,0.785744098945,0.785684792432,0.785625478697,0.785566157741,0.785506829564,0.785447494167,0.78538815155,0.785328801714,0.78526944466,0.785210080387,0.785150708897,0.78509133019,0.785031944267,0.784972551128,0.784913150773,0.784853743204,0.78479432842,0.784734906423,0.784675477213,0.78461604079,0.784556597156,0.784497146309,0.784437688252,0.784378222984,0.784318750507,0.78425927082,0.784199783925,0.784140289821,0.78408078851,0.784021279991,0.783961764266,0.783902241336,0.783842711199,0.783783173858,0.783723629312,0.783664077562,0.78360451861,0.783544952454,0.783485379096,0.783425798537,0.783366210777,0.783306615816,0.783247013655,0.783187404294,0.783127787735,0.783068163977,0.783008533022,0.782948894869,0.78288924952,0.782829596975,0.782769937233,0.782710270297,0.782650596167,0.782590914842,0.782531226324,0.782471530613,0.78241182771,0.782352117615,0.782292400329,0.782232675852,0.782172944185,0.782113205328,0.782053459283,0.781993706049,0.781933945627,0.781874178018,0.781814403222,0.781754621239,0.781694832071,0.781635035718,0.78157523218,0.781515421458,0.781455603552,0.781395778464,0.781335946193,0.78127610674,0.781216260106,0.781156406291,0.781096545296,0.781036677122,0.780976801768,0.780916919235,0.780857029525,0.780797132637,0.780737228572,0.780677317331,0.780617398914,0.780557473322,0.780497540555,0.780437600613,0.780377653499,0.780317699211,0.78025773775,0.780197769118,0.780137793314,0.78007781034,0.780017820195,0.77995782288,0.779897818396,0.779837806744,0.779777787923,0.779717761935,0.77965772878,0.779597688458,0.779537640971,0.779477586318,0.7794175245,0.779357455518,0.779297379373,0.779237296064,0.779177205593,0.779117107959,0.779057003164,0.778996891209,0.778936772093,0.778876645817,0.778816512381,0.778756371788,0.778696224036,0.778636069126,0.778575907059,0.778515737836,0.778455561457,0.778395377922,0.778335187233,0.778274989389,0.778214784392,0.778154572241,0.778094352938,0.778034126482,0.777973892876,0.777913652118,0.777853404209,0.777793149151,0.777732886944,0.777672617588,0.777612341083,0.777552057431,0.777491766632,0.777431468687,0.777371163595,0.777310851358,0.777250531976,0.77719020545,0.77712987178,0.777069530967,0.777009183011,0.776948827913,0.776888465673,0.776828096293,0.776767719772,0.776707336111,0.776646945311,0.776586547372,0.776526142295,0.77646573008,0.776405310728,0.776344884239,0.776284450615,0.776224009855,0.77616356196,0.776103106931,0.776042644768,0.775982175472,0.775921699043,0.775861215483,0.77580072479,0.775740226967,0.775679722013,0.775619209929,0.775558690716,0.775498164374,0.775437630904,0.775377090306,0.775316542582,0.77525598773,0.775195425753,0.77513485665,0.775074280423,0.775013697071,0.774953106595,0.774892508996,0.774831904274,0.774771292431,0.774710673466,0.774650047379,0.774589414173,0.774528773846,0.774468126401,0.774407471836,0.774346810154,0.774286141353,0.774225465436,0.774164782402,0.774104092252,0.774043394987,0.773982690607,0.773921979112,0.773861260504,0.773800534783,0.773739801949,0.773679062003,0.773618314946,0.773557560778,0.773496799499,0.77343603111,0.773375255613,0.773314473006,0.773253683291,0.773192886469,0.77313208254,0.773071271504,0.773010453363,0.772949628116,0.772888795764,0.772827956308,0.772767109748,0.772706256086,0.77264539532,0.772584527453,0.772523652484,0.772462770415,0.772401881245,0.772340984975,0.772280081606,0.772219171139,0.772158253573,0.77209732891,0.77203639715,0.771975458294,0.771914512342,0.771853559294,0.771792599152,0.771731631916,0.771670657586,0.771609676163,0.771548687647,0.77148769204,0.771426689341,0.771365679552,0.771304662672,0.771243638702,0.771182607644,0.771121569497,0.771060524262,0.770999471939,0.77093841253,0.770877346034,0.770816272453,0.770755191786,0.770694104035,0.7706330092,0.770571907281,0.77051079828,0.770449682196,0.77038855903,0.770327428783,0.770266291455,0.770205147047,0.77014399556,0.770082836993,0.770021671348,0.769960498626,0.769899318826,0.769838131949,0.769776937996,0.769715736967,0.769654528864,0.769593313685,0.769532091433,0.769470862108,0.76940962571,0.769348382239,0.769287131697,0.769225874083,0.769164609399,0.769103337646,0.769042058822,0.76898077293,0.76891947997,0.768858179941,0.768796872846,0.768735558684,0.768674237456,0.768612909162,0.768551573804,0.768490231381,0.768428881894,0.768367525344,0.768306161731,0.768244791057,0.768183413321,0.768122028523,0.768060636666,0.767999237748,0.767937831772,0.767876418736,0.767814998642,0.767753571491,0.767692137283,0.767630696018,0.767569247698,0.767507792322,0.767446329891,0.767384860406,0.767323383868,0.767261900276,0.767200409632,0.767138911936,0.767077407188,0.76701589539,0.766954376542,0.766892850643,0.766831317696,0.7667697777,0.766708230657,0.766646676565,0.766585115427,0.766523547243,0.766461972013,0.766400389738,0.766338800418,0.766277204054,0.766215600647,0.766153990196,0.766092372704,0.76603074817,0.765969116594,0.765907477978,0.765845832322,0.765784179626,0.765722519892,0.765660853119,0.765599179308,0.76553749846,0.765475810575,0.765414115655,0.765352413699,0.765290704707,0.765228988682,0.765167265622,0.76510553553,0.765043798405,0.764982054247,0.764920303058,0.764858544838,0.764796779588,0.764735007308,0.764673227998,0.76461144166,0.764549648293,0.7644878479,0.764426040479,0.764364226031,0.764302404558,0.764240576059,0.764178740536,0.764116897989,0.764055048418,0.763993191824,0.763931328207,0.763869457569,0.763807579909,0.763745695228,0.763683803528,0.763621904807,0.763559999068,0.76349808631,0.763436166534,0.763374239741,0.763312305931,0.763250365105,0.763188417263,0.763126462407,0.763064500535,0.76300253165,0.762940555752,0.76287857284,0.762816582917,0.762754585981,0.762692582035,0.762630571078,0.762568553112,0.762506528136,0.762444496151,0.762382457158,0.762320411157,0.762258358149,0.762196298135,0.762134231114,0.762072157089,0.762010076058,0.761947988023,0.761885892985,0.761823790943,0.761761681899,0.761699565854,0.761637442806,0.761575312758,0.76151317571,0.761451031662,0.761388880615,0.761326722569,0.761264557525,0.761202385484,0.761140206446,0.761078020412,0.761015827383,0.760953627358,0.760891420339,0.760829206325,0.760766985319,0.760704757319,0.760642522328,0.760580280344,0.76051803137,0.760455775405,0.76039351245,0.760331242506,0.760268965573,0.760206681651,0.760144390742,0.760082092846,0.760019787964,0.759957476095,0.759895157241,0.759832831403,0.75977049858,0.759708158773,0.759645811984,0.759583458211,0.759521097457,0.759458729722,0.759396355006,0.759333973309,0.759271584633,0.759209188978,0.759146786345,0.759084376733,0.759021960145,0.758959536579,0.758897106037,0.75883466852,0.758772224027,0.75870977256,0.75864731412,0.758584848705,0.758522376319,0.75845989696,0.758397410629,0.758334917327,0.758272417055,0.758209909813,0.758147395602,0.758084874422,0.758022346273,0.757959811158,0.757897269075,0.757834720026,0.757772164011,0.75770960103,0.757647031085,0.757584454176,0.757521870303,0.757459279468,0.757396681669,0.75733407691,0.757271465188,0.757208846506,0.757146220865,0.757083588263,0.757020948703,0.756958302184,0.756895648707,0.756832988273,0.756770320883,0.756707646536,0.756644965234,0.756582276977,0.756519581766,0.756456879601,0.756394170483,0.756331454412,0.756268731389,0.756206001414,0.756143264489,0.756080520614,0.756017769788,0.755955012014,0.755892247291,0.75582947562,0.755766697001,0.755703911436,0.755641118924,0.755578319467,0.755515513065,0.755452699718,0.755389879427,0.755327052193,0.755264218016,0.755201376897,0.755138528836,0.755075673834,0.755012811891,0.754949943009,0.754887067187,0.754824184426,0.754761294728,0.754698398092,0.754635494518,0.754572584008,0.754509666563,0.754446742182,0.754383810866,0.754320872617,0.754257927433,0.754194975317,0.754132016268,0.754069050288,0.754006077376,0.753943097533,0.753880110761,0.753817117059,0.753754116428,0.753691108869,0.753628094382,0.753565072968,0.753502044627,0.75343900936,0.753375967167,0.75331291805,0.753249862009,0.753186799044,0.753123729155,0.753060652344,0.752997568612,0.752934477957,0.752871380382,0.752808275887,0.752745164472,0.752682046138,0.752618920886,0.752555788715,0.752492649627,0.752429503623,0.752366350702,0.752303190866,0.752240024115,0.752176850449,0.75211366987,0.752050482377,0.751987287971,0.751924086654,0.751860878424,0.751797663284,0.751734441234,0.751671212274,0.751607976404,0.751544733626,0.75148148394,0.751418227347,0.751354963846,0.75129169344,0.751228416127,0.75116513191,0.751101840788,0.751038542762,0.750975237832,0.750911926,0.750848607265,0.750785281629,0.750721949092,0.750658609655,0.750595263317,0.75053191008,0.750468549945,0.750405182911,0.75034180898,0.750278428151,0.750215040427,0.750151645806,0.750088244291,0.75002483588,0.749961420576,0.749897998378,0.749834569287,0.749771133304,0.749707690429,0.749644240663,0.749580784006,0.74951732046,0.749453850024,0.749390372699,0.749326888486,0.749263397385,0.749199899398,0.749136394523,0.749072882763,0.749009364118,0.748945838588,0.748882306173,0.748818766875,0.748755220695,0.748691667631,0.748628107686,0.74856454086,0.748500967153,0.748437386566,0.748373799099,0.748310204754,0.74824660353,0.748182995429,0.74811938045,0.748055758595,0.747992129864,0.747928494258,0.747864851777,0.747801202421,0.747737546192,0.74767388309,0.747610213115,0.747546536269,0.747482852551,0.747419161963,0.747355464504,0.747291760176,0.747228048979,0.747164330913,0.74710060598,0.74703687418,0.746973135513,0.74690938998,0.746845637581,0.746781878318,0.746718112191,0.746654339199,0.746590559345,0.746526772628,0.74646297905,0.74639917861,0.746335371309,0.746271557148,0.746207736127,0.746143908248,0.74608007351,0.746016231914,0.745952383461,0.745888528152,0.745824665986,0.745760796965,0.745696921089,0.745633038359,0.745569148775,0.745505252338,0.745441349049,0.745377438907,0.745313521914,0.745249598071,0.745185667377,0.745121729834,0.745057785441,0.744993834201,0.744929876112,0.744865911176,0.744801939394,0.744737960765,0.744673975291,0.744609982972,0.744545983809,0.744481977802,0.744417964952,0.74435394526,0.744289918725,0.74422588535,0.744161845133,0.744097798076,0.74403374418,0.743969683445,0.743905615871,0.743841541459,0.74377746021,0.743713372125,0.743649277203,0.743585175447,0.743521066855,0.743456951429,0.743392829169,0.743328700076,0.74326456415,0.743200421393,0.743136271804,0.743072115385,0.743007952135,0.742943782056,0.742879605148,0.742815421411,0.742751230847,0.742687033455,0.742622829237,0.742558618193,0.742494400323,0.742430175629,0.74236594411,0.742301705767,0.742237460602,0.742173208614,0.742108949804,0.742044684173,0.741980411721,0.741916132449,0.741851846357,0.741787553447,0.741723253718,0.741658947171,0.741594633807,0.741530313627,0.741465986631,0.741401652819,0.741337312192,0.741272964751,0.741208610497,0.74114424943,0.74107988155,0.741015506858,0.740951125355,0.740886737041,0.740822341918,0.740757939984,0.740693531242,0.740629115692,0.740564693334,0.740500264169,0.740435828197,0.740371385419,0.740306935836,0.740242479449,0.740178016257,0.740113546261,0.740049069463,0.739984585862,0.73992009546,0.739855598256,0.739791094251,0.739726583447,0.739662065843,0.739597541441,0.73953301024,0.739468472242,0.739403927446,0.739339375854,0.739274817467,0.739210252284,0.739145680306,0.739081101534,0.739016515969,0.738951923611,0.738887324461,0.738822718519,0.738758105785,0.738693486262,0.738628859948,0.738564226845,0.738499586954,0.738434940274,0.738370286807,0.738305626552,0.738240959512,0.738176285686,0.738111605074,0.738046917678,0.737982223498,0.737917522535,0.737852814788,0.73778810026,0.73772337895,0.737658650859,0.737593915988,0.737529174337,0.737464425906,0.737399670697,0.73733490871,0.737270139946,0.737205364405,0.737140582087,0.737075792994,0.737010997126,0.736946194484,0.736881385067,0.736816568877,0.736751745915,0.736686916181,0.736622079675,0.736557236398,0.736492386351,0.736427529534,0.736362665948,0.736297795594,0.736232918472,0.736168034582,0.736103143926,0.736038246504,0.735973342316,0.735908431363,0.735843513646,0.735778589166,0.735713657922,0.735648719916,0.735583775147,0.735518823618,0.735453865327,0.735388900277,0.735323928467,0.735258949898,0.73519396457,0.735128972485,0.735063973643,0.734998968044,0.73493395569,0.73486893658,0.734803910715,0.734738878096,0.734673838723,0.734608792598,0.73454373972,0.73447868009,0.73441361371,0.734348540578,0.734283460697,0.734218374066,0.734153280687,0.734088180559,0.734023073684,0.733957960061,0.733892839693,0.733827712578,0.733762578719,0.733697438115,0.733632290766,0.733567136675,0.733501975841,0.733436808264,0.733371633946,0.733306452887,0.733241265087,0.733176070548,0.733110869269,0.733045661252,0.732980446497,0.732915225005,0.732849996775,0.73278476181,0.732719520109,0.732654271672,0.732589016502,0.732523754598,0.73245848596,0.73239321059,0.732327928488,0.732262639654,0.73219734409,0.732132041795,0.732066732771,0.732001417018,0.731936094537,0.731870765327,0.731805429391,0.731740086728,0.731674737338,0.731609381224,0.731544018385,0.731478648821,0.731413272534,0.731347889524,0.731282499791,0.731217103337,0.731151700162,0.731086290265,0.731020873649,0.730955450314,0.73089002026,0.730824583487,0.730759139997,0.73069368979,0.730628232867,0.730562769228,0.730497298874,0.730431821805,0.730366338022,0.730300847526,0.730235350317,0.730169846395,0.730104335763,0.730038818419,0.729973294365,0.729907763601,0.729842226128,0.729776681947,0.729711131057,0.72964557346,0.729580009157,0.729514438147,0.729448860432,0.729383276012,0.729317684887,0.729252087059,0.729186482527,0.729120871293,0.729055253358,0.728989628721,0.728923997383,0.728858359345,0.728792714607,0.728727063171,0.728661405036,0.728595740204,0.728530068674,0.728464390448,0.728398705526,0.728333013909,0.728267315597,0.728201610591,0.728135898892,0.7280701805,0.728004455415,0.727938723639,0.727872985172,0.727807240014,0.727741488167,0.72767572963,0.727609964404,0.727544192491,0.72747841389,0.727412628602,0.727346836628,0.727281037969,0.727215232624,0.727149420595,0.727083601883,0.727017776487,0.726951944408,0.726886105648,0.726820260206,0.726754408083,0.72668854928,0.726622683798,0.726556811636,0.726490932796,0.726425047279,0.726359155084,0.726293256213,0.726227350666,0.726161438444,0.726095519546,0.726029593975,0.72596366173,0.725897722813,0.725831777223,0.725765824961,0.725699866028,0.725633900425,0.725567928152,0.72550194921,0.725435963599,0.72536997132,0.725303972373,0.72523796676,0.72517195448,0.725105935535,0.725039909925,0.72497387765,0.724907838712,0.72484179311,0.724775740846,0.724709681919,0.724643616332,0.724577544084,0.724511465175,0.724445379607,0.72437928738,0.724313188495,0.724247082951,0.724180970751,0.724114851895,0.724048726382,0.723982594214,0.723916455391,0.723850309915,0.723784157784,0.723717999001,0.723651833566,0.723585661479,0.723519482741,0.723453297353,0.723387105314,0.723320906627,0.723254701291,0.723188489307,0.723122270675,0.723056045397,0.722989813472,0.722923574902,0.722857329687,0.722791077828,0.722724819325,0.722658554179,0.72259228239,0.722526003959,0.722459718887,0.722393427175,0.722327128822,0.72226082383,0.722194512199,0.722128193929,0.722061869022,0.721995537478,0.721929199298,0.721862854481,0.72179650303,0.721730144944,0.721663780224,0.72159740887,0.721531030884,0.721464646266,0.721398255016,0.721331857135,0.721265452624,0.721199041483,0.721132623713,0.721066199315,0.720999768288,0.720933330634,0.720866886354,0.720800435448,0.720733977916,0.720667513759,0.720601042978,0.720534565574,0.720468081546,0.720401590897,0.720335093625,0.720268589732,0.720202079219,0.720135562085,0.720069038333,0.720002507961,0.719935970972,0.719869427365,0.719802877141,0.719736320301,0.719669756845,0.719603186774,0.719536610089,0.71947002679,0.719403436878,0.719336840353,0.719270237216,0.719203627467,0.719137011108,0.719070388139,0.71900375856,0.718937122373,0.718870479577,0.718803830173,0.718737174162,0.718670511545,0.718603842322,0.718537166494,0.718470484061,0.718403795023,0.718337099383,0.71827039714,0.718203688294,0.718136972847,0.718070250799,0.718003522151,0.717936786903,0.717870045056,0.71780329661,0.717736541566,0.717669779926,0.717603011688,0.717536236854,0.717469455425,0.717402667402,0.717335872784,0.717269071572,0.717202263767,0.71713544937,0.717068628381,0.717001800802,0.716934966631,0.716868125871,0.716801278521,0.716734424583,0.716667564056,0.716600696943,0.716533823242,0.716466942955,0.716400056082,0.716333162625,0.716266262583,0.716199355957,0.716132442748,0.716065522957,0.715998596584,0.715931663629,0.715864724094,0.715797777979,0.715730825284,0.71566386601,0.715596900158,0.715529927729,0.715462948722,0.715395963139,0.715328970981,0.715261972247,0.715194966939,0.715127955056,0.715060936601,0.714993911573,0.714926879972,0.714859841801,0.714792797058,0.714725745745,0.714658687863,0.714591623411,0.714524552392,0.714457474804,0.714390390649,0.714323299928,0.714256202641,0.714189098789,0.714121988372,0.71405487139,0.713987747846,0.713920617738,0.713853481069,0.713786337838,0.713719188046,0.713652031693,0.713584868781,0.713517699309,0.71345052328,0.713383340692,0.713316151547,0.713248955845,0.713181753587,0.713114544774,0.713047329406,0.712980107484,0.712912879009,0.71284564398,0.712778402399,0.712711154267,0.712643899583,0.712576638349,0.712509370565,0.712442096231,0.71237481535,0.71230752792,0.712240233942,0.712172933418,0.712105626348,0.712038312733,0.711970992572,0.711903665867,0.711836332619,0.711768992827,0.711701646493,0.711634293617,0.7115669342,0.711499568243,0.711432195745,0.711364816708,0.711297431133,0.711230039019,0.711162640368,0.71109523518,0.711027823456,0.710960405196,0.710892980401,0.710825549072,0.710758111209,0.710690666813,0.710623215884,0.710555758424,0.710488294432,0.71042082391,0.710353346857,0.710285863275,0.710218373164,0.710150876526,0.710083373359,0.710015863666,0.709948347446,0.709880824701,0.70981329543,0.709745759636,0.709678217317,0.709610668475,0.70954311311,0.709475551224,0.709407982816,0.709340407888,0.709272826439,0.709205238471,0.709137643984,0.709070042978,0.709002435456,0.708934821416,0.70886720086,0.708799573788,0.7087319402,0.708664300099,0.708596653483,0.708529000354,0.708461340713,0.70839367456,0.708326001895,0.708258322719,0.708190637033,0.708122944838,0.708055246134,0.707987540921,0.707919829201,0.707852110974,0.70778438624,0.707716655,0.707648917256,0.707581173006,0.707513422253,0.707445664997,0.707377901238,0.707310130976,0.707242354214,0.70717457095,0.707106781187,0.707038984923,0.706971182161,0.706903372901,0.706835557142,0.706767734887,0.706699906135,0.706632070888,0.706564229145,0.706496380907,0.706428526176,0.706360664951,0.706292797234,0.706224923024,0.706157042323,0.706089155131,0.706021261449,0.705953361278,0.705885454617,0.705817541468,0.705749621831,0.705681695708,0.705613763097,0.705545824001,0.70547787842,0.705409926354,0.705341967804,0.705274002771,0.705206031255,0.705138053257,0.705070068777,0.705002077817,0.704934080376,0.704866076456,0.704798066056,0.704730049179,0.704662025823,0.704593995991,0.704525959682,0.704457916897,0.704389867637,0.704321811903,0.704253749694,0.704185681012,0.704117605858,0.704049524231,0.703981436133,0.703913341564,0.703845240524,0.703777133016,0.703709019038,0.703640898592,0.703572771678,0.703504638297,0.703436498449,0.703368352136,0.703300199358,0.703232040114,0.703163874407,0.703095702237,0.703027523604,0.702959338509,0.702891146952,0.702822948935,0.702754744457,0.70268653352,0.702618316124,0.702550092269,0.702481861957,0.702413625188,0.702345381962,0.702277132281,0.702208876144,0.702140613553,0.702072344508,0.70200406901,0.701935787059,0.701867498656,0.701799203801,0.701730902496,0.70166259474,0.701594280535,0.701525959881,0.701457632779,0.701389299229,0.701320959232,0.701252612789,0.7011842599,0.701115900566,0.701047534787,0.700979162565,0.700910783899,0.700842398791,0.70077400724,0.700705609248,0.700637204816,0.700568793943,0.700500376631,0.70043195288,0.700363522691,0.700295086064,0.700226643001,0.700158193501,0.700089737565,0.700021275194,0.699952806389,0.69988433115,0.699815849477,0.699747361373,0.699678866836,0.699610365868,0.699541858469,0.69947334464,0.699404824382,0.699336297695,0.69926776458,0.699199225037,0.699130679068,0.699062126672,0.698993567851,0.698925002604,0.698856430934,0.698787852839,0.698719268322,0.698650677381,0.69858208002,0.698513476236,0.698444866033,0.698376249409,0.698307626366,0.698238996904,0.698170361024,0.698101718727,0.698033070013,0.697964414883,0.697895753337,0.697827085377,0.697758411002,0.697689730213,0.697621043012,0.697552349398,0.697483649372,0.697414942935,0.697346230088,0.697277510831,0.697208785165,0.69714005309,0.697071314607,0.697002569716,0.696933818419,0.696865060716,0.696796296608,0.696727526095,0.696658749177,0.696589965856,0.696521176132,0.696452380006,0.696383577478,0.69631476855,0.69624595322,0.696177131491,0.696108303363,0.696039468837,0.695970627913,0.695901780591,0.695832926873,0.695764066759,0.695695200249,0.695626327345,0.695557448047,0.695488562356,0.695419670271,0.695350771795,0.695281866927,0.695212955668,0.695144038019,0.69507511398,0.695006183552,0.694937246736,0.694868303532,0.694799353942,0.694730397964,0.694661435601,0.694592466853,0.69452349172,0.694454510203,0.694385522303,0.69431652802,0.694247527356,0.69417852031,0.694109506883,0.694040487076,0.69397146089,0.693902428324,0.693833389381,0.69376434406,0.693695292362,0.693626234288,0.693557169838,0.693488099013,0.693419021814,0.693349938241,0.693280848295,0.693211751976,0.693142649285,0.693073540224,0.693004424791,0.692935302989,0.692866174817,0.692797040277,0.692727899369,0.692658752093,0.692589598451,0.692520438442,0.692451272068,0.692382099329,0.692312920226,0.692243734759,0.692174542929,0.692105344737,0.692036140183,0.691966929269,0.691897711993,0.691828488358,0.691759258364,0.691690022012,0.691620779301,0.691551530233,0.691482274809,0.691413013029,0.691343744893,0.691274470403,0.691205189558,0.691135902361,0.69106660881,0.690997308908,0.690928002653,0.690858690048,0.690789371093,0.690720045788,0.690650714135,0.690581376132,0.690512031783,0.690442681086,0.690373324043,0.690303960654,0.69023459092,0.690165214841,0.690095832419,0.690026443653,0.689957048545,0.689887647095,0.689818239303,0.689748825171,0.689679404699,0.689609977887,0.689540544737,0.689471105249,0.689401659423,0.68933220726,0.689262748761,0.689193283927,0.689123812757,0.689054335254,0.688984851417,0.688915361246,0.688845864744,0.688776361909,0.688706852744,0.688637337248,0.688567815422,0.688498287267,0.688428752784,0.688359211973,0.688289664834,0.688220111369,0.688150551578,0.688080985462,0.68801141302,0.687941834255,0.687872249167,0.687802657755,0.687733060022,0.687663455967,0.687593845591,0.687524228895,0.687454605879,0.687384976545,0.687315340892,0.687245698921,0.687176050634,0.68710639603,0.68703673511,0.686967067875,0.686897394326,0.686827714463,0.686758028287,0.686688335798,0.686618636998,0.686548931886,0.686479220463,0.686409502731,0.686339778689,0.686270048339,0.68620031168,0.686130568714,0.686060819441,0.685991063863,0.685921301978,0.685851533789,0.685781759296,0.685711978499,0.685642191399,0.685572397997,0.685502598293,0.685432792289,0.685362979984,0.685293161379,0.685223336475,0.685153505273,0.685083667773,0.685013823976,0.684943973882,0.684874117492,0.684804254808,0.684734385828,0.684664510555,0.684594628988,0.684524741129,0.684454846978,0.684384946535,0.684315039802,0.684245126779,0.684175207466,0.684105281864,0.684035349975,0.683965411797,0.683895467333,0.683825516583,0.683755559547,0.683685596226,0.683615626621,0.683545650732,0.68347566856,0.683405680106,0.68333568537,0.683265684353,0.683195677056,0.683125663479,0.683055643623,0.682985617488,0.682915585075,0.682845546385,0.682775501419,0.682705450176,0.682635392659,0.682565328866,0.6824952588,0.682425182461,0.682355099848,0.682285010964,0.682214915808,0.682144814381,0.682074706685,0.682004592718,0.681934472483,0.68186434598,0.681794213209,0.681724074172,0.681653928868,0.681583777298,0.681513619464,0.681443455365,0.681373285002,0.681303108377,0.681232925489,0.681162736339,0.681092540928,0.681022339257,0.680952131326,0.680881917135,0.680811696686,0.68074146998,0.680671237016,0.680600997795,0.680530752319,0.680460500587,0.680390242601,0.680319978361,0.680249707867,0.68017943112,0.680109148122,0.680038858872,0.679968563371,0.679898261621,0.67982795362,0.679757639371,0.679687318874,0.679616992129,0.679546659137,0.679476319899,0.679405974416,0.679335622687,0.679265264714,0.679194900498,0.679124530038,0.679054153337,0.678983770393,0.678913381208,0.678842985783,0.678772584118,0.678702176214,0.678631762072,0.678561341691,0.678490915074,0.67842048222,0.67835004313,0.678279597805,0.678209146245,0.678138688451,0.678068224424,0.677997754164,0.677927277673,0.677856794949,0.677786305996,0.677715810812,0.677645309398,0.677574801756,0.677504287886,0.677433767789,0.677363241464,0.677292708913,0.677222170137,0.677151625136,0.677081073911,0.677010516462,0.67693995279,0.676869382896,0.67679880678,0.676728224443,0.676657635886,0.67658704111,0.676516440114,0.6764458329,0.676375219468,0.676304599819,0.676233973953,0.676163341872,0.676092703575,0.676022059064,0.67595140834,0.675880751402,0.675810088251,0.675739418889,0.675668743315,0.675598061531,0.675527373536,0.675456679333,0.675385978921,0.6753152723,0.675244559473,0.675173840439,0.675103115198,0.675032383752,0.674961646102,0.674890902247,0.674820152189,0.674749395929,0.674678633466,0.674607864801,0.674537089936,0.67446630887,0.674395521605,0.674324728141,0.674253928479,0.674183122619,0.674112310562,0.674041492309,0.673970667861,0.673899837217,0.673829000379,0.673758157347,0.673687308122,0.673616452705,0.673545591096,0.673474723296,0.673403849306,0.673332969125,0.673262082756,0.673191190198,0.673120291453,0.67304938652,0.6729784754,0.672907558095,0.672836634605,0.67276570493,0.672694769071,0.672623827029,0.672552878804,0.672481924397,0.672410963809,0.67233999704,0.672269024091,0.672198044963,0.672127059656,0.672056068172,0.671985070509,0.67191406667,0.671843056655,0.671772040465,0.671701018099,0.67162998956,0.671558954847,0.671487913961,0.671416866903,0.671345813674,0.671274754274,0.671203688703,0.671132616963,0.671061539054,0.670990454977,0.670919364732,0.67084826832,0.670777165742,0.670706056998,0.67063494209,0.670563821017,0.67049269378,0.67042156038,0.670350420818,0.670279275094,0.670208123209,0.670136965164,0.670065800959,0.669994630595,0.669923454072,0.669852271392,0.669781082554,0.66970988756,0.66963868641,0.669567479105,0.669496265646,0.669425046032,0.669353820266,0.669282588347,0.669211350276,0.669140106053,0.66906885568,0.668997599157,0.668926336485,0.668855067665,0.668783792696,0.66871251158,0.668641224317,0.668569930908,0.668498631354,0.668427325655,0.668356013813,0.668284695826,0.668213371698,0.668142041427,0.668070705014,0.667999362461,0.667928013768,0.667856658935,0.667785297963,0.667713930854,0.667642557607,0.667571178223,0.667499792702,0.667428401047,0.667357003256,0.667285599331,0.667214189273,0.667142773082,0.667071350759,0.666999922304,0.666928487718,0.666857047002,0.666785600156,0.666714147181,0.666642688078,0.666571222847,0.66649975149,0.666428274006,0.666356790396,0.666285300662,0.666213804803,0.66614230282,0.666070794714,0.665999280486,0.665927760136,0.665856233666,0.665784701074,0.665713162363,0.665641617533,0.665570066585,0.665498509518,0.665426946335,0.665355377035,0.665283801619,0.665212220088,0.665140632443,0.665069038684,0.664997438811,0.664925832826,0.66485422073,0.664782602522,0.664710978203,0.664639347775,0.664567711237,0.664496068591,0.664424419837,0.664352764976,0.664281104008,0.664209436934,0.664137763755,0.664066084472,0.663994399084,0.663922707593,0.663851009999,0.663779306304,0.663707596507,0.66363588061,0.663564158612,0.663492430515,0.66342069632,0.663348956026,0.663277209635,0.663205457148,0.663133698564,0.663061933885,0.662990163111,0.662918386243,0.662846603282,0.662774814228,0.662703019082,0.662631217845,0.662559410516,0.662487597098,0.66241577759,0.662343951994,0.662272120309,0.662200282537,0.662128438678,0.662056588733,0.661984732702,0.661912870587,0.661841002387,0.661769128104,0.661697247738,0.66162536129,0.66155346876,0.66148157015,0.661409665459,0.661337754689,0.66126583784,0.661193914913,0.661121985908,0.661050050826,0.660978109668,0.660906162435,0.660834209126,0.660762249744,0.660690284287,0.660618312758,0.660546335157,0.660474351484,0.66040236174,0.660330365925,0.660258364041,0.660186356089,0.660114342067,0.660042321979,0.659970295823,0.659898263601,0.659826225313,0.659754180961,0.659682130544,0.659610074063,0.659538011519,0.659465942913,0.659393868246,0.659321787517,0.659249700728,0.659177607879,0.659105508972,0.659033404006,0.658961292982,0.658889175901,0.658817052764,0.658744923571,0.658672788323,0.658600647021,0.658528499665,0.658456346256,0.658384186795,0.658312021282,0.658239849717,0.658167672103,0.658095488439,0.658023298725,0.657951102963,0.657878901154,0.657806693297,0.657734479394,0.657662259445,0.657590033451,0.657517801413,0.657445563331,0.657373319206,0.657301069038,0.657228812829,0.657156550578,0.657084282287,0.657012007956,0.656939727587,0.656867441178,0.656795148732,0.656722850249,0.656650545729,0.656578235174,0.656505918583,0.656433595958,0.6563612673,0.656288932608,0.656216591883,0.656144245127,0.65607189234,0.655999533522,0.655927168674,0.655854797797,0.655782420892,0.655710037959,0.655637648999,0.655565254012,0.655492853,0.655420445962,0.6553480329,0.655275613814,0.655203188705,0.655130757573,0.65505832042,0.654985877245,0.65491342805,0.654840972835,0.654768511601,0.654696044349,0.654623571078,0.654551091791,0.654478606487,0.654406115167,0.654333617832,0.654261114482,0.654188605119,0.654116089742,0.654043568353,0.653971040953,0.653898507541,0.653825968118,0.653753422686,0.653680871244,0.653608313795,0.653535750337,0.653463180872,0.6533906054,0.653318023923,0.653245436441,0.653172842954,0.653100243463,0.653027637969,0.652955026473,0.652882408975,0.652809785475,0.652737155975,0.652664520476,0.652591878977,0.65251923148,0.652446577984,0.652373918492,0.652301253003,0.652228581519,0.652155904039,0.652083220565,0.652010531097,0.651937835636,0.651865134182,0.651792426737,0.6517197133,0.651646993873,0.651574268456,0.65150153705,0.651428799656,0.651356056274,0.651283306905,0.651210551549,0.651137790207,0.65106502288,0.650992249569,0.650919470274,0.650846684996,0.650773893736,0.650701096494,0.65062829327,0.650555484067,0.650482668883,0.65040984772,0.650337020579,0.65026418746,0.650191348364,0.650118503292,0.650045652244,0.649972795221,0.649899932223,0.649827063252,0.649754188307,0.649681307391,0.649608420502,0.649535527643,0.649462628813,0.649389724013,0.649316813244,0.649243896507,0.649170973802,0.64909804513,0.649025110492,0.648952169888,0.648879223319,0.648806270786,0.648733312289,0.648660347829,0.648587377406,0.648514401022,0.648441418677,0.648368430372,0.648295436107,0.648222435882,0.6481494297,0.64807641756,0.648003399463,0.64793037541,0.647857345401,0.647784309437,0.647711267519,0.647638219647,0.647565165822,0.647492106045,0.647419040316,0.647345968637,0.647272891007,0.647199807427,0.647126717899,0.647053622422,0.646980520998,0.646907413627,0.646834300309,0.646761181046,0.646688055839,0.646614924687,0.646541787591,0.646468644552,0.646395495572,0.64632234065,0.646249179787,0.646176012983,0.646102840241,0.646029661559,0.645956476939,0.645883286382,0.645810089888,0.645736887458,0.645663679092,0.645590464792,0.645517244557,0.645444018389,0.645370786288,0.645297548255,0.645224304291,0.645151054395,0.64507779857,0.645004536816,0.644931269132,0.644857995521,0.644784715982,0.644711430516,0.644638139125,0.644564841807,0.644491538566,0.6444182294,0.644344914311,0.644271593299,0.644198266365,0.64412493351,0.644051594734,0.643978250039,0.643904899424,0.64383154289,0.643758180438,0.643684812069,0.643611437784,0.643538057582,0.643464671465,0.643391279434,0.643317881489,0.64324447763,0.643171067859,0.643097652176,0.643024230582,0.642950803077,0.642877369662,0.642803930339,0.642730485106,0.642657033966,0.642583576919,0.642510113965,0.642436645105,0.642363170341,0.642289689671,0.642216203098,0.642142710622,0.642069212244,0.641995707963,0.641922197782,0.6418486817,0.641775159719,0.641701631838,0.641628098059,0.641554558382,0.641481012809,0.641407461338,0.641333903973,0.641260340712,0.641186771557,0.641113196508,0.641039615566,0.640966028732,0.640892436007,0.64081883739,0.640745232883,0.640671622487,0.640598006201,0.640524384028,0.640450755966,0.640377122018,0.640303482184,0.640229836464,0.64015618486,0.640082527371,0.640008863998,0.639935194743,0.639861519606,0.639787838587,0.639714151688,0.639640458908,0.639566760249,0.639493055711,0.639419345295,0.639345629002,0.639271906831,0.639198178785,0.639124444864,0.639050705068,0.638976959397,0.638903207854,0.638829450437,0.638755687149,0.63868191799,0.63860814296,0.638534362059,0.63846057529,0.638386782652,0.638312984146,0.638239179773,0.638165369533,0.638091553428,0.638017731457,0.637943903622,0.637870069923,0.63779623036,0.637722384936,0.637648533649,0.637574676501,0.637500813493,0.637426944625,0.637353069898,0.637279189313,0.63720530287,0.637131410569,0.637057512413,0.636983608401,0.636909698533,0.636835782812,0.636761861236,0.636687933808,0.636614000527,0.636540061395,0.636466116412,0.636392165579,0.636318208896,0.636244246364,0.636170277984,0.636096303756,0.636022323682,0.635948337761,0.635874345995,0.635800348384,0.635726344929,0.63565233563,0.635578320489,0.635504299505,0.63543027268,0.635356240015,0.635282201509,0.635208157164,0.63513410698,0.635060050958,0.634985989099,0.634911921403,0.634837847872,0.634763768504,0.634689683303,0.634615592267,0.634541495398,0.634467392697,0.634393284164,0.634319169799,0.634245049604,0.634170923579,0.634096791725,0.634022654043,0.633948510532,0.633874361195,0.633800206031,0.633726045041,0.633651878227,0.633577705588,0.633503527125,0.633429342839,0.633355152731,0.633280956801,0.63320675505,0.633132547479,0.633058334088,0.632984114878,0.632909889851,0.632835659005,0.632761422343,0.632687179864,0.63261293157,0.632538677461,0.632464417538,0.632390151801,0.632315880252,0.63224160289,0.632167319717,0.632093030734,0.63201873594,0.631944435337,0.631870128925,0.631795816705,0.631721498678,0.631647174844,0.631572845204,0.631498509759,0.631424168509,0.631349821456,0.631275468599,0.63120110994,0.631126745478,0.631052375216,0.630977999153,0.63090361729,0.630829229628,0.630754836168,0.63068043691,0.630606031855,0.630531621003,0.630457204356,0.630382781914,0.630308353677,0.630233919647,0.630159479824,0.630085034208,0.630010582801,0.629936125603,0.629861662614,0.629787193837,0.62971271927,0.629638238915,0.629563752772,0.629489260843,0.629414763128,0.629340259627,0.629265750341,0.629191235272,0.629116714419,0.629042187783,0.628967655365,0.628893117166,0.628818573186,0.628744023427,0.628669467888,0.62859490657,0.628520339475,0.628445766602,0.628371187953,0.628296603527,0.628222013327,0.628147417352,0.628072815604,0.627998208082,0.627923594788,0.627848975722,0.627774350885,0.627699720278,0.627625083901,0.627550441755,0.627475793841,0.627401140159,0.62732648071,0.627251815495,0.627177144515,0.627102467769,0.627027785259,0.626953096986,0.62687840295,0.626803703152,0.626728997592,0.626654286272,0.626579569192,0.626504846352,0.626430117753,0.626355383397,0.626280643283,0.626205897412,0.626131145786,0.626056388404,0.625981625268,0.625906856378,0.625832081735,0.625757301339,0.625682515191,0.625607723292,0.625532925643,0.625458122244,0.625383313096,0.625308498199,0.625233677555,0.625158851164,0.625084019026,0.625009181143,0.624934337515,0.624859488142,0.624784633026,0.624709772168,0.624634905566,0.624560033224,0.62448515514,0.624410271317,0.624335381754,0.624260486452,0.624185585412,0.624110678635,0.624035766121,0.623960847871,0.623885923886,0.623810994166,0.623736058713,0.623661117526,0.623586170606,0.623511217955,0.623436259572,0.623361295459,0.623286325616,0.623211350044,0.623136368744,0.623061381715,0.62298638896,0.622911390479,0.622836386271,0.622761376339,0.622686360683,0.622611339302,0.622536312199,0.622461279374,0.622386240827,0.62231119656,0.622236146572,0.622161090865,0.622086029439,0.622010962295,0.621935889433,0.621860810855,0.621785726561,0.621710636551,0.621635540827,0.621560439389,0.621485332238,0.621410219374,0.621335100798,0.621259976511,0.621184846514,0.621109710806,0.62103456939,0.620959422265,0.620884269433,0.620809110893,0.620733946647,0.620658776696,0.620583601039,0.620508419679,0.620433232614,0.620358039847,0.620282841378,0.620207637207,0.620132427335,0.620057211763,0.619981990492,0.619906763522,0.619831530854,0.619756292488,0.619681048426,0.619605798668,0.619530543215,0.619455282067,0.619380015225,0.61930474269,0.619229464462,0.619154180543,0.619078890932,0.619003595631,0.618928294641,0.618852987961,0.618777675593,0.618702357537,0.618627033794,0.618551704365,0.61847636925,0.618401028451,0.618325681967,0.6182503298,0.61817497195,0.618099608417,0.618024239204,0.617948864309,0.617873483735,0.617798097481,0.617722705548,0.617647307938,0.61757190465,0.617496495686,0.617421081045,0.61734566073,0.61727023474,0.617194803076,0.617119365739,0.61704392273,0.616968474049,0.616893019697,0.616817559674,0.616742093982,0.616666622621,0.616591145592,0.616515662895,0.616440174531,0.616364680501,0.616289180805,0.616213675445,0.616138164421,0.616062647733,0.615987125382,0.61591159737,0.615836063696,0.615760524361,0.615684979367,0.615609428713,0.615533872401,0.615458310431,0.615382742804,0.61530716952,0.615231590581,0.615156005986,0.615080415737,0.615004819834,0.614929218279,0.614853611071,0.614777998211,0.614702379701,0.61462675554,0.61455112573,0.614475490271,0.614399849164,0.61432420241,0.614248550008,0.614172891961,0.614097228268,0.614021558931,0.61394588395,0.613870203325,0.613794517058,0.613718825149,0.613643127599,0.613567424408,0.613491715578,0.613416001109,0.613340281001,0.613264555255,0.613188823873,0.613113086854,0.613037344199,0.61296159591,0.612885841986,0.612810082429,0.61273431724,0.612658546417,0.612582769964,0.61250698788,0.612431200166,0.612355406822,0.61227960785,0.61220380325,0.612127993022,0.612052177169,0.611976355689,0.611900528584,0.611824695854,0.611748857501,0.611673013525,0.611597163926,0.611521308706,0.611445447865,0.611369581403,0.611293709322,0.611217831622,0.611141948304,0.611066059369,0.610990164816,0.610914264648,0.610838358864,0.610762447465,0.610686530453,0.610610607827,0.610534679588,0.610458745738,0.610382806276,0.610306861204,0.610230910522,0.610154954231,0.610078992332,0.610003024825,0.60992705171,0.60985107299,0.609775088664,0.609699098733,0.609623103198,0.609547102059,0.609471095317,0.609395082973,0.609319065028,0.609243041482,0.609167012336,0.609090977591,0.609014937247,0.608938891305,0.608862839766,0.608786782631,0.608710719899,0.608634651573,0.608558577652,0.608482498137,0.608406413029,0.608330322329,0.608254226037,0.608178124155,0.608102016682,0.608025903619,0.607949784968,0.607873660728,0.607797530901,0.607721395488,0.607645254488,0.607569107903,0.607492955733,0.607416797979,0.607340634643,0.607264465723,0.607188291222,0.607112111139,0.607035925476,0.606959734234,0.606883537412,0.606807335012,0.606731127035,0.60665491348,0.606578694349,0.606502469643,0.606426239361,0.606350003506,0.606273762077,0.606197515076,0.606121262502,0.606045004357,0.605968740642,0.605892471356,0.605816196502,0.605739916078,0.605663630087,0.605587338529,0.605511041404,0.605434738714,0.605358430459,0.605282116639,0.605205797255,0.605129472309,0.605053141801,0.604976805731,0.6049004641,0.604824116909,0.604747764159,0.60467140585,0.604595041983,0.604518672558,0.604442297577,0.60436591704,0.604289530948,0.604213139302,0.604136742101,0.604060339348,0.603983931042,0.603907517184,0.603831097776,0.603754672817,0.603678242308,0.603601806251,0.603525364646,0.603448917493,0.603372464793,0.603296006547,0.603219542756,0.60314307342,0.60306659854,0.602990118117,0.602913632152,0.602837140644,0.602760643596,0.602684141007,0.602607632878,0.60253111921,0.602454600004,0.60237807526,0.602301544979,0.602225009162,0.60214846781,0.602071920922,0.601995368501,0.601918810546,0.601842247059,0.601765678039,0.601689103488,0.601612523407,0.601535937795,0.601459346655,0.601382749986,0.601306147789,0.601229540065,0.601152926815,0.601076308039,0.600999683738,0.600923053913,0.600846418564,0.600769777693,0.600693131299,0.600616479384,0.600539821948,0.600463158992,0.600386490517,0.600309816523,0.600233137011,0.600156451982,0.600079761437,0.600003065375,0.599926363799,0.599849656708,0.599772944104,0.599696225986,0.599619502356,0.599542773215,0.599466038563,0.599389298401,0.599312552729,0.599235801548,0.59915904486,0.599082282664,0.599005514961,0.598928741752,0.598851963039,0.59877517882,0.598698389098,0.598621593873,0.598544793146,0.598467986916,0.598391175186,0.598314357955,0.598237535225,0.598160706996,0.598083873269,0.598007034045,0.597930189323,0.597853339106,0.597776483393,0.597699622186,0.597622755484,0.59754588329,0.597469005603,0.597392122424,0.597315233754,0.597238339593,0.597161439943,0.597084534804,0.597007624177,0.596930708062,0.59685378646,0.596776859373,0.596699926799,0.596622988741,0.596546045199,0.596469096174,0.596392141666,0.596315181676,0.596238216205,0.596161245253,0.596084268822,0.596007286911,0.595930299522,0.595853306656,0.595776308312,0.595699304492,0.595622295197,0.595545280427,0.595468260183,0.595391234465,0.595314203275,0.595237166612,0.595160124479,0.595083076875,0.5950060238,0.594928965257,0.594851901245,0.594774831766,0.594697756819,0.594620676407,0.594543590528,0.594466499185,0.594389402377,0.594312300106,0.594235192372,0.594158079176,0.594080960519,0.594003836401,0.593926706823,0.593849571785,0.59377243129,0.593695285336,0.593618133925,0.593540977058,0.593463814735,0.593386646958,0.593309473725,0.59323229504,0.593155110901,0.593077921311,0.593000726268,0.592923525776,0.592846319833,0.59276910844,0.5926918916,0.592614669311,0.592537441575,0.592460208393,0.592382969764,0.592305725691,0.592228476174,0.592151221212,0.592073960808,0.591996694962,0.591919423674,0.591842146946,0.591764864777,0.591687577169,0.591610284122,0.591532985637,0.591455681715,0.591378372357,0.591301057562,0.591223737333,0.591146411669,0.591069080572,0.590991744041,0.590914402078,0.590837054684,0.590759701859,0.590682343604,0.590604979919,0.590527610805,0.590450236264,0.590372856295,0.5902954709,0.590218080079,0.590140683832,0.590063282161,0.589985875067,0.589908462549,0.589831044609,0.589753621248,0.589676192466,0.589598758263,0.589521318641,0.5894438736,0.589366423141,0.589288967265,0.589211505973,0.589134039264,0.58905656714,0.588979089602,0.58890160665,0.588824118285,0.588746624507,0.588669125318,0.588591620718,0.588514110708,0.588436595288,0.588359074459,0.588281548223,0.588204016579,0.588126479528,0.588048937072,0.58797138921,0.587893835943,0.587816277273,0.5877387132,0.587661143725,0.587583568848,0.587505988569,0.587428402891,0.587350811813,0.587273215337,0.587195613462,0.58711800619,0.587040393521,0.586962775456,0.586885151996,0.586807523142,0.586729888893,0.586652249252,0.586574604218,0.586496953793,0.586419297976,0.58634163677,0.586263970174,0.586186298189,0.586108620815,0.586030938055,0.585953249908,0.585875556375,0.585797857456,0.585720153154,0.585642443467,0.585564728397,0.585487007945,0.585409282111,0.585331550896,0.585253814301,0.585176072327,0.585098324973,0.585020572242,0.584942814133,0.584865050648,0.584787281786,0.584709507549,0.584631727938,0.584553942953,0.584476152595,0.584398356864,0.584320555762,0.584242749289,0.584164937446,0.584087120233,0.584009297651,0.583931469701,0.583853636384,0.5837757977,0.583697953651,0.583620104236,0.583542249456,0.583464389313,0.583386523806,0.583308652938,0.583230776707,0.583152895116,0.583075008164,0.582997115853,0.582919218184,0.582841315156,0.582763406771,0.582685493029,0.582607573931,0.582529649478,0.58245171967,0.582373784509,0.582295843995,0.582217898128,0.58213994691,0.582061990341,0.581984028421,0.581906061153,0.581828088535,0.581750110569,0.581672127256,0.581594138597,0.581516144591,0.581438145241,0.581360140546,0.581282130507,0.581204115125,0.581126094401,0.581048068335,0.580970036929,0.580892000182,0.580813958096,0.580735910671,0.580657857908,0.580579799808,0.580501736371,0.580423667598,0.580345593491,0.580267514049,0.580189429273,0.580111339164,0.580033243723,0.57995514295,0.579877036847,0.579798925413,0.579720808651,0.579642686559,0.579564559139,0.579486426393,0.579408288319,0.57933014492,0.579251996196,0.579173842148,0.579095682775,0.57901751808,0.578939348063,0.578861172724,0.578782992065,0.578704806085,0.578626614786,0.578548418169,0.578470216233,0.578392008981,0.578313796412,0.578235578527,0.578157355327,0.578079126813,0.578000892985,0.577922653845,0.577844409392,0.577766159628,0.577687904553,0.577609644168,0.577531378474,0.577453107472,0.577374831161,0.577296549544,0.57721826262,0.57713997039,0.577061672856,0.576983370017,0.576905061875,0.57682674843,0.576748429682,0.576670105634,0.576591776285,0.576513441636,0.576435101688,0.576356756441,0.576278405897,0.576200050055,0.576121688917,0.576043322484,0.575964950756,0.575886573734,0.575808191418,0.575729803809,0.575651410909,0.575573012717,0.575494609235,0.575416200463,0.575337786402,0.575259367052,0.575180942415,0.575102512491,0.57502407728,0.574945636784,0.574867191004,0.574788739939,0.574710283591,0.57463182196,0.574553355048,0.574474882854,0.57439640538,0.574317922626,0.574239434593,0.574160941282,0.574082442693,0.574003938827,0.573925429686,0.573846915269,0.573768395577,0.573689870611,0.573611340372,0.57353280486,0.573454264077,0.573375718023,0.573297166698,0.573218610104,0.57314004824,0.573061481109,0.57298290871,0.572904331045,0.572825748113,0.572747159916,0.572668566454,0.572589967729,0.572511363741,0.57243275449,0.572354139977,0.572275520204,0.57219689517,0.572118264877,0.572039629325,0.571960988515,0.571882342447,0.571803691123,0.571725034543,0.571646372708,0.571567705618,0.571489033275,0.571410355679,0.57133167283,0.57125298473,0.571174291379,0.571095592778,0.571016888928,0.570938179828,0.570859465481,0.570780745887,0.570702021046,0.57062329096,0.570544555628,0.570465815052,0.570387069232,0.57030831817,0.570229561865,0.570150800319,0.570072033533,0.569993261506,0.56991448424,0.569835701736,0.569756913993,0.569678121014,0.569599322798,0.569520519347,0.569441710661,0.56936289674,0.569284077586,0.5692052532,0.569126423581,0.569047588731,0.568968748651,0.56888990334,0.568811052801,0.568732197033,0.568653336037,0.568574469815,0.568495598366,0.568416721692,0.568337839793,0.56825895267,0.568180060324,0.568101162755,0.568022259964,0.567943351952,0.56786443872,0.567785520268,0.567706596597,0.567627667708,0.567548733601,0.567469794278,0.567390849738,0.567311899983,0.567232945014,0.567153984831,0.567075019434,0.566996048825,0.566917073004,0.566838091973,0.566759105731,0.56668011428,0.566601117619,0.566522115751,0.566443108675,0.566364096393,0.566285078905,0.566206056212,0.566127028314,0.566047995212,0.565968956908,0.565889913401,0.565810864693,0.565731810784,0.565652751674,0.565573687366,0.565494617859,0.565415543154,0.565336463251,0.565257378153,0.565178287858,0.565099192369,0.565020091685,0.564940985808,0.564861874738,0.564782758476,0.564703637022,0.564624510378,0.564545378544,0.564466241521,0.564387099309,0.564307951909,0.564228799323,0.56414964155,0.564070478592,0.563991310449,0.563912137122,0.563832958611,0.563753774918,0.563674586043,0.563595391987,0.56351619275,0.563436988334,0.563357778739,0.563278563965,0.563199344014,0.563120118886,0.563040888582,0.562961653102,0.562882412448,0.56280316662,0.562723915619,0.562644659446,0.562565398101,0.562486131584,0.562406859898,0.562327583042,0.562248301017,0.562169013824,0.562089721464,0.562010423937,0.561931121245,0.561851813387,0.561772500365,0.561693182179,0.56161385883,0.561534530319,0.561455196646,0.561375857813,0.561296513819,0.561217164666,0.561137810355,0.561058450886,0.560979086259,0.560899716477,0.560820341538,0.560740961445,0.560661576197,0.560582185796,0.560502790242,0.560423389537,0.56034398368,0.560264572672,0.560185156514,0.560105735208,0.560026308753,0.55994687715,0.559867440401,0.559787998505,0.559708551464,0.559629099278,0.559549641948,0.559470179475,0.559390711859,0.559311239102,0.559231761203,0.559152278164,0.559072789986,0.558993296668,0.558913798213,0.55883429462,0.55875478589,0.558675272025,0.558595753024,0.558516228889,0.55843669962,0.558357165218,0.558277625683,0.558198081017,0.558118531221,0.558038976294,0.557959416237,0.557879851053,0.55780028074,0.5577207053,0.557641124733,0.557561539041,0.557481948224,0.557402352283,0.557322751218,0.55724314503,0.55716353372,0.557083917289,0.557004295737,0.556924669066,0.556845037275,0.556765400366,0.556685758339,0.556606111196,0.556526458936,0.55644680156,0.55636713907,0.556287471466,0.556207798749,0.556128120919,0.556048437977,0.555968749924,0.555889056761,0.555809358488,0.555729655107,0.555649946617,0.55557023302,0.555490514316,0.555410790506,0.555331061591,0.555251327571,0.555171588448,0.555091844222,0.555012094893,0.554932340463,0.554852580932,0.554772816301,0.55469304657,0.554613271741,0.554533491814,0.55445370679,0.55437391667,0.554294121454,0.554214321142,0.554134515737,0.554054705238,0.553974889647,0.553895068963,0.553815243188,0.553735412323,0.553655576367,0.553575735323,0.55349588919,0.55341603797,0.553336181663,0.55325632027,0.553176453791,0.553096582227,0.55301670558,0.552936823849,0.552856937036,0.552777045142,0.552697148166,0.55261724611,0.552537338974,0.55245742676,0.552377509467,0.552297587097,0.552217659651,0.552137727129,0.552057789531,0.551977846859,0.551897899114,0.551817946295,0.551737988405,0.551658025443,0.55157805741,0.551498084307,0.551418106135,0.551338122894,0.551258134586,0.551178141211,0.551098142769,0.551018139262,0.55093813069,0.550858117053,0.550778098354,0.550698074592,0.550618045768,0.550538011882,0.550457972937,0.550377928931,0.550297879867,0.550217825744,0.550137766564,0.550057702327,0.549977633035,0.549897558687,0.549817479284,0.549737394827,0.549657305318,0.549577210756,0.549497111143,0.549417006478,0.549336896764,0.549256782,0.549176662188,0.549096537327,0.54901640742,0.548936272466,0.548856132466,0.548775987421,0.548695837333,0.5486156822,0.548535522025,0.548455356808,0.548375186549,0.54829501125,0.548214830912,0.548134645534,0.548054455118,0.547974259664,0.547894059173,0.547813853646,0.547733643084,0.547653427487,0.547573206857,0.547492981193,0.547412750496,0.547332514768,0.547252274009,0.54717202822,0.547091777401,0.547011521554,0.546931260678,0.546850994775,0.546770723846,0.546690447891,0.546610166911,0.546529880906,0.546449589878,0.546369293827,0.546288992754,0.54620868666,0.546128375545,0.54604805941,0.545967738256,0.545887412083,0.545807080893,0.545726744686,0.545646403463,0.545566057224,0.54548570597,0.545405349703,0.545324988422,0.545244622129,0.545164250824,0.545083874508,0.545003493181,0.544923106845,0.544842715501,0.544762319148,0.544681917788,0.544601511421,0.544521100048,0.544440683671,0.544360262288,0.544279835903,0.544199404514,0.544118968123,0.544038526731,0.543958080338,0.543877628945,0.543797172553,0.543716711162,0.543636244774,0.543555773389,0.543475297007,0.54339481563,0.543314329258,0.543233837893,0.543153341534,0.543072840182,0.542992333838,0.542911822504,0.542831306179,0.542750784865,0.542670258561,0.54258972727,0.542509190991,0.542428649726,0.542348103474,0.542267552238,0.542186996017,0.542106434812,0.542025868625,0.541945297455,0.541864721304,0.541784140172,0.541703554061,0.54162296297,0.5415423669,0.541461765853,0.541381159829,0.541300548828,0.541219932853,0.541139311902,0.541058685977,0.540978055079,0.540897419208,0.540816778366,0.540736132552,0.540655481768,0.540574826015,0.540494165293,0.540413499602,0.540332828945,0.54025215332,0.54017147273,0.540090787174,0.540010096655,0.539929401171,0.539848700725,0.539767995316,0.539687284946,0.539606569616,0.539525849325,0.539445124075,0.539364393867,0.539283658701,0.539202918578,0.539122173499,0.539041423464,0.538960668474,0.538879908531,0.538799143634,0.538718373785,0.538637598984,0.538556819232,0.538476034529,0.538395244877,0.538314450277,0.538233650728,0.538152846232,0.538072036789,0.5379912224,0.537910403067,0.537829578789,0.537748749567,0.537667915402,0.537587076296,0.537506232248,0.537425383259,0.53734452933,0.537263670463,0.537182806656,0.537101937913,0.537021064232,0.536940185615,0.536859302062,0.536778413575,0.536697520154,0.5366166218,0.536535718513,0.536454810295,0.536373897146,0.536292979066,0.536212056057,0.536131128119,0.536050195253,0.53596925746,0.53588831474,0.535807367095,0.535726414524,0.53564545703,0.535564494611,0.53548352727,0.535402555007,0.535321577823,0.535240595718,0.535159608693,0.535078616749,0.534997619887,0.534916618107,0.534835611411,0.534754599798,0.53467358327,0.534592561827,0.534511535471,0.534430504201,0.534349468019,0.534268426926,0.534187380921,0.534106330006,0.534025274182,0.53394421345,0.533863147809,0.533782077261,0.533701001807,0.533619921447,0.533538836183,0.533457746014,0.533376650941,0.533295550966,0.533214446089,0.533133336311,0.533052221633,0.532971102054,0.532889977577,0.532808848202,0.532727713929,0.532646574759,0.532565430693,0.532484281733,0.532403127877,0.532321969128,0.532240805486,0.532159636952,0.532078463526,0.531997285209,0.531916102003,0.531834913907,0.531753720923,0.531672523051,0.531591320292,0.531510112646,0.531428900115,0.5313476827,0.5312664604,0.531185233217,0.531104001151,0.531022764204,0.530941522376,0.530860275667,0.530779024079,0.530697767612,0.530616506266,0.530535240044,0.530453968945,0.53037269297,0.53029141212,0.530210126396,0.530128835798,0.530047540328,0.529966239985,0.529884934771,0.529803624686,0.529722309732,0.529640989908,0.529559665216,0.529478335657,0.52939700123,0.529315661938,0.52923431778,0.529152968758,0.529071614872,0.528990256122,0.52890889251,0.528827524037,0.528746150703,0.528664772508,0.528583389455,0.528502001542,0.528420608772,0.528339211145,0.528257808661,0.528176401321,0.528094989127,0.528013572079,0.527932150177,0.527850723423,0.527769291816,0.527687855359,0.527606414051,0.527524967893,0.527443516887,0.527362061032,0.52728060033,0.527199134782,0.527117664387,0.527036189148,0.526954709064,0.526873224136,0.526791734365,0.526710239753,0.526628740298,0.526547236004,0.526465726869,0.526384212895,0.526302694083,0.526221170433,0.526139641946,0.526058108623,0.525976570464,0.525895027471,0.525813479644,0.525731926984,0.525650369491,0.525568807167,0.525487240012,0.525405668026,0.525324091212,0.525242509568,0.525160923097,0.525079331798,0.524997735673,0.524916134723,0.524834528947,0.524752918347,0.524671302924,0.524589682678,0.524508057611,0.524426427722,0.524344793013,0.524263153484,0.524181509136,0.52409985997,0.524018205986,0.523936547186,0.52385488357,0.523773215139,0.523691541893,0.523609863834,0.523528180962,0.523446493278,0.523364800782,0.523283103476,0.523201401359,0.523119694434,0.5230379827,0.522956266159,0.52287454481,0.522792818656,0.522711087696,0.522629351931,0.522547611363,0.522465865991,0.522384115817,0.522302360841,0.522220601065,0.522138836488,0.522057067112,0.521975292937,0.521893513965,0.521811730195,0.521729941629,0.521648148267,0.52156635011,0.521484547159,0.521402739415,0.521320926879,0.52123910955,0.52115728743,0.52107546052,0.52099362882,0.520911792332,0.520829951055,0.520748104991,0.52066625414,0.520584398504,0.520502538082,0.520420672876,0.520338802887,0.520256928114,0.52017504856,0.520093164224,0.520011275108,0.519929381211,0.519847482536,0.519765579082,0.519683670851,0.519601757843,0.519519840059,0.5194379175,0.519355990166,0.519274058058,0.519192121177,0.519110179524,0.519028233099,0.518946281904,0.518864325938,0.518782365203,0.5187003997,0.518618429429,0.518536454391,0.518454474586,0.518372490016,0.518290500681,0.518208506583,0.518126507721,0.518044504096,0.51796249571,0.517880482562,0.517798464655,0.517716441988,0.517634414562,0.517552382378,0.517470345437,0.51738830374,0.517306257287,0.517224206079,0.517142150116,0.5170600894,0.516978023932,0.516895953711,0.51681387874,0.516731799018,0.516649714546,0.516567625325,0.516485531356,0.51640343264,0.516321329177,0.516239220968,0.516157108014,0.516074990315,0.515992867873,0.515910740688,0.515828608761,0.515746472092,0.515664330683,0.515582184534,0.515500033646,0.515417878019,0.515335717655,0.515253552554,0.515171382717,0.515089208145,0.515007028838,0.514924844797,0.514842656023,0.514760462517,0.514678264279,0.51459606131,0.514513853611,0.514431641183,0.514349424027,0.514267202142,0.514184975531,0.514102744193,0.51402050813,0.513938267342,0.51385602183,0.513773771595,0.513691516637,0.513609256958,0.513526992557,0.513444723437,0.513362449596,0.513280171038,0.513197887761,0.513115599767,0.513033307056,0.51295100963,0.512868707489,0.512786400634,0.512704089065,0.512621772783,0.51253945179,0.512457126086,0.512374795671,0.512292460546,0.512210120713,0.512127776172,0.512045426923,0.511963072967,0.511880714306,0.511798350939,0.511715982869,0.511633610094,0.511551232617,0.511468850438,0.511386463557,0.511304071976,0.511221675695,0.511139274715,0.511056869037,0.510974458661,0.510892043589,0.51080962382,0.510727199357,0.510644770198,0.510562336346,0.510479897801,0.510397454564,0.510315006635,0.510232554016,0.510150096707,0.510067634708,0.509985168021,0.509902696647,0.509820220585,0.509737739837,0.509655254404,0.509572764287,0.509490269485,0.50940777,0.509325265833,0.509242756984,0.509160243455,0.509077725245,0.508995202356,0.508912674789,0.508830142543,0.508747605621,0.508665064022,0.508582517748,0.508499966799,0.508417411175,0.508334850879,0.50825228591,0.50816971627,0.508087141958,0.508004562976,0.507921979325,0.507839391005,0.507756798017,0.507674200362,0.50759159804,0.507508991053,0.507426379401,0.507343763084,0.507261142105,0.507178516462,0.507095886158,0.507013251193,0.506930611567,0.506847967282,0.506765318338,0.506682664736,0.506600006476,0.50651734356,0.506434675988,0.506352003761,0.50626932688,0.506186645345,0.506103959158,0.506021268318,0.505938572827,0.505855872686,0.505773167895,0.505690458455,0.505607744367,0.505525025632,0.50544230225,0.505359574222,0.505276841548,0.505194104231,0.505111362269,0.505028615665,0.504945864419,0.504863108531,0.504780348003,0.504697582835,0.504614813028,0.504532038582,0.504449259499,0.50436647578,0.504283687424,0.504200894433,0.504118096807,0.504035294548,0.503952487655,0.503869676131,0.503786859975,0.503704039188,0.503621213772,0.503538383726,0.503455549051,0.50337270975,0.503289865821,0.503207017266,0.503124164086,0.503041306281,0.502958443852,0.5028755768,0.502792705126,0.50270982883,0.502626947914,0.502544062377,0.502461172221,0.502378277447,0.502295378055,0.502212474046,0.50212956542,0.50204665218,0.501963734324,0.501880811855,0.501797884772,0.501714953077,0.50163201677,0.501549075853,0.501466130325,0.501383180188,0.501300225442,0.501217266089,0.501134302128,0.501051333561,0.500968360389,0.500885382611,0.50080240023,0.500719413245,0.500636421658,0.500553425469,0.50047042468,0.50038741929,0.5003044093,0.500221394712,0.500138375526,0.500055351742,0.499972323363,0.499889290387,0.499806252817,0.499723210653,0.499640163895,0.499557112545,0.499474056603,0.49939099607,0.499307930946,0.499224861234,0.499141786932,0.499058708042,0.498975624565,0.498892536502,0.498809443853,0.498726346619,0.4986432448,0.498560138399,0.498477027414,0.498393911848,0.498310791701,0.498227666973,0.498144537665,0.498061403779,0.497978265315,0.497895122273,0.497811974655,0.497728822461,0.497645665692,0.497562504349,0.497479338433,0.497396167943,0.497312992882,0.497229813249,0.497146629046,0.497063440274,0.496980246932,0.496897049023,0.496813846546,0.496730639502,0.496647427893,0.496564211718,0.496480990979,0.496397765677,0.496314535811,0.496231301384,0.496148062396,0.496064818847,0.495981570738,0.495898318071,0.495815060845,0.495731799061,0.495648532722,0.495565261826,0.495481986375,0.49539870637,0.495315421811,0.495232132699,0.495148839035,0.49506554082,0.494982238054,0.494898930739,0.494815618875,0.494732302462,0.494648981502,0.494565655995,0.494482325942,0.494398991344,0.494315652202,0.494232308516,0.494148960287,0.494065607516,0.493982250204,0.493898888351,0.493815521958,0.493732151026,0.493648775556,0.493565395549,0.493482011004,0.493398621924,0.493315228309,0.493231830159,0.493148427475,0.493065020259,0.49298160851,0.49289819223,0.492814771419,0.492731346079,0.492647916209,0.492564481811,0.492481042886,0.492397599433,0.492314151455,0.492230698951,0.492147241923,0.492063780372,0.491980314297,0.4918968437,0.491813368582,0.491729888943,0.491646404784,0.491562916107,0.49147942291,0.491395925197,0.491312422966,0.491228916219,0.491145404957,0.491061889181,0.490978368891,0.490894844088,0.490811314773,0.490727780946,0.490644242608,0.490560699761,0.490477152405,0.49039360054,0.490310044167,0.490226483288,0.490142917903,0.490059348012,0.489975773617,0.489892194719,0.489808611317,0.489725023413,0.489641431007,0.489557834101,0.489474232695,0.48939062679,0.489307016386,0.489223401485,0.489139782087,0.489056158193,0.488972529804,0.48888889692,0.488805259542,0.488721617671,0.488637971309,0.488554320454,0.488470665109,0.488387005274,0.48830334095,0.488219672138,0.488135998838,0.488052321051,0.487968638778,0.487884952019,0.487801260776,0.48771756505,0.48763386484,0.487550160148,0.487466450975,0.487382737321,0.487299019187,0.487215296574,0.487131569483,0.487047837914,0.486964101868,0.486880361346,0.486796616349,0.486712866877,0.486629112932,0.486545354513,0.486461591622,0.48637782426,0.486294052427,0.486210276124,0.486126495353,0.486042710112,0.485958920404,0.48587512623,0.485791327589,0.485707524483,0.485623716912,0.485539904878,0.485456088381,0.485372267421,0.485288442,0.485204612119,0.485120777777,0.485036938976,0.484953095717,0.484869248001,0.484785395827,0.484701539198,0.484617678113,0.484533812574,0.484449942581,0.484366068135,0.484282189237,0.484198305888,0.484114418087,0.484030525837,0.483946629138,0.483862727991,0.483778822396,0.483694912354,0.483610997866,0.483527078933,0.483443155555,0.483359227734,0.48327529547,0.483191358763,0.483107417616,0.483023472027,0.482939521999,0.482855567532,0.482771608626,0.482687645283,0.482603677503,0.482519705287,0.482435728636,0.482351747551,0.482267762031,0.482183772079,0.482099777695,0.482015778879,0.481931775633,0.481847767957,0.481763755852,0.481679739319,0.481595718358,0.48151169297,0.481427663157,0.481343628918,0.481259590255,0.481175547168,0.481091499659,0.481007447727,0.480923391374,0.4808393306,0.480755265407,0.480671195795,0.480587121764,0.480503043316,0.480418960451,0.480334873171,0.480250781475,0.480166685365,0.480082584841,0.479998479905,0.479914370556,0.479830256797,0.479746138626,0.479662016046,0.479577889057,0.47949375766,0.479409621856,0.479325481644,0.479241337027,0.479157188005,0.479073034579,0.478988876749,0.478904714516,0.478820547881,0.478736376845,0.478652201409,0.478568021573,0.478483837338,0.478399648705,0.478315455675,0.478231258248,0.478147056425,0.478062850207,0.477978639595,0.477894424589,0.477810205191,0.477725981401,0.47764175322,0.477557520648,0.477473283687,0.477389042337,0.477304796598,0.477220546473,0.477136291961,0.477052033063,0.47696776978,0.476883502114,0.476799230063,0.47671495363,0.476630672816,0.47654638762,0.476462098044,0.476377804088,0.476293505753,0.476209203041,0.476124895951,0.476040584485,0.475956268643,0.475871948427,0.475787623836,0.475703294872,0.475618961535,0.475534623827,0.475450281747,0.475365935297,0.475281584478,0.47519722929,0.475112869735,0.475028505812,0.474944137522,0.474859764868,0.474775387848,0.474691006464,0.474606620717,0.474522230608,0.474437836137,0.474353437305,0.474269034112,0.474184626561,0.474100214651,0.474015798383,0.473931377757,0.473846952776,0.473762523439,0.473678089748,0.473593651702,0.473509209303,0.473424762552,0.47334031145,0.473255855996,0.473171396192,0.473086932039,0.473002463538,0.472917990689,0.472833513493,0.47274903195,0.472664546063,0.47258005583,0.472495561254,0.472411062335,0.472326559073,0.47224205147,0.472157539526,0.472073023242,0.471988502619,0.471903977658,0.471819448359,0.471734914723,0.471650376751,0.471565834443,0.471481287802,0.471396736826,0.471312181517,0.471227621877,0.471143057904,0.471058489601,0.470973916969,0.470889340007,0.470804758717,0.470720173099,0.470635583155,0.470550988884,0.470466390289,0.470381787369,0.470297180125,0.470212568558,0.47012795267,0.47004333246,0.469958707929,0.469874079079,0.46978944591,0.469704808422,0.469620166617,0.469535520496,0.469450870058,0.469366215306,0.469281556239,0.469196892859,0.469112225165,0.46902755316,0.468942876844,0.468858196217,0.468773511281,0.468688822036,0.468604128483,0.468519430622,0.468434728455,0.468350021982,0.468265311204,0.468180596122,0.468095876736,0.468011153048,0.467926425058,0.467841692767,0.467756956176,0.467672215285,0.467587470095,0.467502720608,0.467417966823,0.467333208742,0.467248446365,0.467163679694,0.467078908728,0.466994133469,0.466909353917,0.466824570074,0.46673978194,0.466654989516,0.466570192802,0.466485391799,0.466400586509,0.466315776932,0.466230963068,0.466146144919,0.466061322486,0.465976495768,0.465891664767,0.465806829484,0.465721989919,0.465637146073,0.465552297948,0.465467445543,0.46538258886,0.465297727898,0.46521286266,0.465127993146,0.465043119357,0.464958241293,0.464873358955,0.464788472344,0.464703581461,0.464618686306,0.464533786881,0.464448883186,0.464363975222,0.464279062989,0.464194146489,0.464109225722,0.464024300689,0.463939371391,0.463854437828,0.463769500002,0.463684557913,0.463599611562,0.463514660949,0.463429706076,0.463344746944,0.463259783552,0.463174815902,0.463089843995,0.463004867831,0.462919887411,0.462834902736,0.462749913807,0.462664920624,0.462579923189,0.462494921502,0.462409915563,0.462324905375,0.462239890936,0.462154872249,0.462069849314,0.461984822131,0.461899790702,0.461814755028,0.461729715108,0.461644670945,0.461559622538,0.461474569888,0.461389512997,0.461304451865,0.461219386492,0.46113431688,0.46104924303,0.460964164941,0.460879082616,0.460793996054,0.460708905256,0.460623810224,0.460538710958,0.460453607459,0.460368499727,0.460283387764,0.46019827157,0.460113151146,0.460028026493,0.459942897611,0.459857764501,0.459772627165,0.459687485602,0.459602339814,0.459517189802,0.459432035566,0.459346877106,0.459261714425,0.459176547522,0.459091376398,0.459006201055,0.458921021492,0.458835837712,0.458750649713,0.458665457498,0.458580261067,0.458495060421,0.45840985556,0.458324646486,0.458239433199,0.4581542157,0.45806899399,0.457983768069,0.457898537938,0.457813303599,0.457728065051,0.457642822297,0.457557575335,0.457472324168,0.457387068796,0.457301809219,0.45721654544,0.457131277457,0.457046005273,0.456960728888,0.456875448302,0.456790163517,0.456704874533,0.456619581351,0.456534283972,0.456448982397,0.456363676626,0.45627836666,0.456193052501,0.456107734148,0.456022411602,0.455937084865,0.455851753937,0.455766418819,0.455681079512,0.455595736016,0.455510388333,0.455425036462,0.455339680406,0.455254320163,0.455168955737,0.455083587126,0.454998214333,0.454912837357,0.4548274562,0.454742070862,0.454656681344,0.454571287647,0.454485889772,0.454400487719,0.45431508149,0.454229671084,0.454144256504,0.454058837749,0.45397341482,0.453887987718,0.453802556445,0.453717121,0.453631681385,0.4535462376,0.453460789646,0.453375337524,0.453289881235,0.453204420779,0.453118956157,0.453033487371,0.45294801442,0.452862537306,0.452777056029,0.452691570591,0.452606080991,0.452520587231,0.452435089312,0.452349587234,0.452264080998,0.452178570605,0.452093056055,0.45200753735,0.451922014491,0.451836487477,0.45175095631,0.451665420991,0.45157988152,0.451494337898,0.451408790127,0.451323238206,0.451237682136,0.451152121919,0.451066557555,0.450980989045,0.45089541639,0.45080983959,0.450724258646,0.450638673559,0.45055308433,0.45046749096,0.450381893449,0.450296291799,0.450210686009,0.450125076081,0.450039462016,0.449953843814,0.449868221476,0.449782595003,0.449696964395,0.449611329655,0.449525690781,0.449440047776,0.449354400639,0.449268749372,0.449183093975,0.44909743445,0.449011770796,0.448926103016,0.448840431109,0.448754755076,0.448669074918,0.448583390637,0.448497702232,0.448412009704,0.448326313055,0.448240612285,0.448154907395,0.448069198386,0.447983485257,0.447897768012,0.447812046649,0.44772632117,0.447640591575,0.447554857866,0.447469120043,0.447383378108,0.447297632059,0.4472118819,0.447126127629,0.447040369249,0.44695460676,0.446868840162,0.446783069457,0.446697294645,0.446611515728,0.446525732705,0.446439945577,0.446354154346,0.446268359013,0.446182559577,0.44609675604,0.446010948403,0.445925136666,0.44583932083,0.445753500896,0.445667676865,0.445581848737,0.445496016514,0.445410180196,0.445324339783,0.445238495278,0.44515264668,0.44506679399,0.444980937209,0.444895076338,0.444809211377,0.444723342328,0.444637469191,0.444551591967,0.444465710657,0.444379825262,0.444293935782,0.444208042218,0.44412214457,0.444036242841,0.44395033703,0.443864427139,0.443778513167,0.443692595117,0.443606672988,0.443520746781,0.443434816498,0.443348882139,0.443262943705,0.443177001196,0.443091054614,0.443005103959,0.442919149232,0.442833190433,0.442747227565,0.442661260626,0.442575289619,0.442489314544,0.442403335401,0.442317352192,0.442231364918,0.442145373578,0.442059378174,0.441973378707,0.441887375178,0.441801367586,0.441715355934,0.441629340222,0.44154332045,0.44145729662,0.441371268732,0.441285236787,0.441199200785,0.441113160729,0.441027116617,0.440941068452,0.440855016234,0.440768959964,0.440682899642,0.440596835269,0.440510766847,0.440424694375,0.440338617856,0.440252537288,0.440166452675,0.440080364015,0.43999427131,0.43990817456,0.439822073767,0.439735968932,0.439649860054,0.439563747135,0.439477630176,0.439391509178,0.43930538414,0.439219255065,0.439133121952,0.439046984803,0.438960843618,0.438874698398,0.438788549145,0.438702395858,0.438616238539,0.438530077188,0.438443911806,0.438357742394,0.438271568952,0.438185391483,0.438099209985,0.438013024461,0.43792683491,0.437840641334,0.437754443734,0.43766824211,0.437582036463,0.437495826794,0.437409613103,0.437323395392,0.437237173661,0.437150947911,0.437064718143,0.436978484357,0.436892246555,0.436806004737,0.436719758904,0.436633509057,0.436547255196,0.436460997323,0.436374735438,0.436288469542,0.436202199635,0.436115925719,0.436029647794,0.435943365862,0.435857079922,0.435770789976,0.435684496025,0.435598198069,0.435511896108,0.435425590145,0.43533928018,0.435252966213,0.435166648245,0.435080326277,0.43499400031,0.434907670344,0.434821336381,0.434734998422,0.434648656466,0.434562310515,0.43447596057,0.434389606631,0.434303248699,0.434216886775,0.43413052086,0.434044150955,0.43395777706,0.433871399176,0.433785017304,0.433698631444,0.433612241599,0.433525847767,0.433439449951,0.433353048151,0.433266642367,0.433180232601,0.433093818853,0.433007401124,0.432920979416,0.432834553727,0.432748124061,0.432661690416,0.432575252795,0.432488811198,0.432402365625,0.432315916077,0.432229462556,0.432143005062,0.432056543596,0.431970078158,0.43188360875,0.431797135372,0.431710658025,0.43162417671,0.431537691427,0.431451202178,0.431364708963,0.431278211783,0.431191710639,0.431105205531,0.431018696461,0.430932183429,0.430845666436,0.430759145483,0.43067262057,0.430586091698,0.430499558869,0.430413022083,0.43032648134,0.430239936642,0.430153387989,0.430066835383,0.429980278823,0.429893718311,0.429807153847,0.429720585433,0.429634013069,0.429547436756,0.429460856494,0.429374272285,0.42928768413,0.429201092028,0.429114495981,0.42902789599,0.428941292055,0.428854684178,0.428768072359,0.428681456598,0.428594836897,0.428508213257,0.428421585678,0.428334954161,0.428248318707,0.428161679316,0.42807503599,0.427988388729,0.427901737534,0.427815082406,0.427728423345,0.427641760353,0.42755509343,0.427468422577,0.427381747795,0.427295069085,0.427208386447,0.427121699882,0.427035009391,0.426948314975,0.426861616634,0.42677491437,0.426688208183,0.426601498074,0.426514784044,0.426428066093,0.426341344223,0.426254618434,0.426167888727,0.426081155102,0.425994417562,0.425907676105,0.425820930734,0.425734181448,0.42564742825,0.425560671138,0.425473910116,0.425387145182,0.425300376338,0.425213603585,0.425126826924,0.425040046355,0.424953261879,0.424866473496,0.424779681209,0.424692885017,0.424606084922,0.424519280923,0.424432473023,0.424345661221,0.424258845519,0.424172025917,0.424085202416,0.423998375017,0.42391154372,0.423824708528,0.423737869439,0.423651026456,0.423564179578,0.423477328807,0.423390474144,0.423303615589,0.423216753143,0.423129886807,0.423043016581,0.422956142467,0.422869264466,0.422782382577,0.422695496802,0.422608607142,0.422521713598,0.422434816169,0.422347914858,0.422261009665,0.42217410059,0.422087187635,0.4220002708,0.421913350086,0.421826425494,0.421739497024,0.421652564679,0.421565628457,0.42147868836,0.42139174439,0.421304796545,0.421217844829,0.42113088924,0.421043929781,0.420956966452,0.420869999253,0.420783028186,0.42069605325,0.420609074448,0.42052209178,0.420435105247,0.420348114849,0.420261120587,0.420174122462,0.420087120475,0.420000114627,0.419913104918,0.419826091349,0.419739073922,0.419652052636,0.419565027493,0.419477998493,0.419390965638,0.419303928928,0.419216888363,0.419129843945,0.419042795675,0.418955743553,0.41886868758,0.418781627757,0.418694564084,0.418607496563,0.418520425194,0.418433349978,0.418346270916,0.418259188009,0.418172101257,0.418085010662,0.417997916223,0.417910817942,0.41782371582,0.417736609858,0.417649500055,0.417562386414,0.417475268935,0.417388147618,0.417301022464,0.417213893475,0.417126760651,0.417039623993,0.416952483502,0.416865339178,0.416778191022,0.416691039035,0.416603883218,0.416516723572,0.416429560098,0.416342392795,0.416255221666,0.41616804671,0.41608086793,0.415993685324,0.415906498895,0.415819308643,0.415732114569,0.415644916674,0.415557714958,0.415470509422,0.415383300068,0.415296086895,0.415208869905,0.415121649098,0.415034424476,0.414947196039,0.414859963788,0.414772727723,0.414685487846,0.414598244157,0.414510996658,0.414423745348,0.414336490229,0.414249231301,0.414161968566,0.414074702024,0.413987431676,0.413900157523,0.413812879565,0.413725597803,0.413638312238,0.413551022872,0.413463729704,0.413376432736,0.413289131968,0.413201827401,0.413114519036,0.413027206874,0.412939890915,0.412852571161,0.412765247612,0.412677920268,0.412590589132,0.412503254203,0.412415915483,0.412328572971,0.41224122667,0.412153876579,0.4120665227,0.411979165034,0.41189180358,0.41180443834,0.411717069316,0.411629696507,0.411542319914,0.411454939538,0.411367555381,0.411280167442,0.411192775723,0.411105380224,0.411017980946,0.410930577891,0.410843171058,0.410755760449,0.410668346064,0.410580927905,0.410493505971,0.410406080264,0.410318650785,0.410231217535,0.410143780514,0.410056339722,0.409968895162,0.409881446833,0.409793994737,0.409706538874,0.409619079245,0.409531615851,0.409444148692,0.40935667777,0.409269203086,0.409181724639,0.409094242431,0.409006756463,0.408919266736,0.40883177325,0.408744276005,0.408656775004,0.408569270247,0.408481761734,0.408394249466,0.408306733445,0.40821921367,0.408131690143,0.408044162865,0.407956631836,0.407869097057,0.407781558529,0.407694016253,0.40760647023,0.40751892046,0.407431366944,0.407343809683,0.407256248677,0.407168683929,0.407081115438,0.406993543204,0.40690596723,0.406818387516,0.406730804063,0.40664321687,0.40655562594,0.406468031273,0.40638043287,0.406292830732,0.406205224859,0.406117615252,0.406030001912,0.40594238484,0.405854764037,0.405767139503,0.40567951124,0.405591879248,0.405504243527,0.405416604079,0.405328960905,0.405241314005,0.40515366338,0.405066009031,0.404978350959,0.404890689164,0.404803023648,0.40471535441,0.404627681453,0.404540004777,0.404452324382,0.404364640269,0.404276952439,0.404189260894,0.404101565633,0.404013866658,0.403926163969,0.403838457568,0.403750747454,0.403663033629,0.403575316094,0.403487594849,0.403399869896,0.403312141235,0.403224408866,0.403136672791,0.40304893301,0.402961189525,0.402873442336,0.402785691444,0.402697936849,0.402610178553,0.402522416556,0.402434650859,0.402346881464,0.402259108369,0.402171331578,0.40208355109,0.401995766905,0.401907979026,0.401820187453,0.401732392186,0.401644593226,0.401556790575,0.401468984233,0.4013811742,0.401293360478,0.401205543067,0.401117721969,0.401029897184,0.400942068712,0.400854236555,0.400766400714,0.400678561188,0.40059071798,0.40050287109,0.400415020518,0.400327166266,0.400239308334,0.400151446723,0.400063581434,0.399975712468,0.399887839825,0.399799963506,0.399712083513,0.399624199846,0.399536312505,0.399448421492,0.399360526807,0.399272628452,0.399184726426,0.399096820731,0.399008911368,0.398920998337,0.398833081639,0.398745161276,0.398657237247,0.398569309554,0.398481378197,0.398393443177,0.398305504496,0.398217562153,0.39812961615,0.398041666488,0.397953713167,0.397865756188,0.397777795552,0.397689831259,0.397601863311,0.397513891709,0.397425916452,0.397337937543,0.397249954981,0.397161968768,0.397073978904,0.39698598539,0.396897988228,0.396809987417,0.396721982958,0.396633974854,0.396545963103,0.396457947707,0.396369928668,0.396281905985,0.396193879659,0.396105849692,0.396017816083,0.395929778835,0.395841737947,0.395753693421,0.395665645257,0.395577593457,0.39548953802,0.395401478948,0.395313416241,0.395225349901,0.395137279928,0.395049206323,0.394961129087,0.394873048221,0.394784963724,0.394696875599,0.394608783847,0.394520688466,0.39443258946,0.394344486828,0.394256380571,0.394168270691,0.394080157187,0.393992040061,0.393903919314,0.393815794945,0.393727666957,0.39363953535,0.393551400125,0.393463261282,0.393375118823,0.393286972747,0.393198823057,0.393110669753,0.393022512835,0.392934352304,0.392846188162,0.392758020409,0.392669849046,0.392581674073,0.392493495492,0.392405313303,0.392317127507,0.392228938105,0.392140745098,0.392052548486,0.391964348271,0.391876144453,0.391787937033,0.391699726011,0.391611511389,0.391523293168,0.391435071348,0.391346845929,0.391258616914,0.391170384302,0.391082148095,0.390993908293,0.390905664897,0.390817417908,0.390729167326,0.390640913153,0.39055265539,0.390464394036,0.390376129094,0.390287860563,0.390199588444,0.39011131274,0.390023033449,0.389934750573,0.389846464113,0.38975817407,0.389669880444,0.389581583236,0.389493282448,0.389404978079,0.389316670131,0.389228358604,0.3891400435,0.389051724819,0.388963402562,0.388875076729,0.388786747322,0.388698414342,0.388610077788,0.388521737663,0.388433393966,0.388345046699,0.388256695862,0.388168341457,0.388079983483,0.387991621943,0.387903256836,0.387814888164,0.387726515926,0.387638140125,0.387549760761,0.387461377835,0.387372991347,0.387284601299,0.38719620769,0.387107810523,0.387019409797,0.386931005514,0.386842597675,0.38675418628,0.386665771329,0.386577352825,0.386488930767,0.386400505157,0.386312075995,0.386223643282,0.386135207019,0.386046767207,0.385958323846,0.385869876938,0.385781426482,0.385692972481,0.385604514935,0.385516053844,0.38542758921,0.385339121032,0.385250649313,0.385162174053,0.385073695252,0.384985212912,0.384896727034,0.384808237617,0.384719744663,0.384631248173,0.384542748148,0.384454244587,0.384365737494,0.384277226867,0.384188712707,0.384100195017,0.384011673796,0.383923149045,0.383834620765,0.383746088957,0.383657553622,0.38356901476,0.383480472373,0.383391926461,0.383303377024,0.383214824065,0.383126267583,0.383037707579,0.382949144055,0.382860577011,0.382772006447,0.382683432365,0.382594854766,0.382506273649,0.382417689017,0.38232910087,0.382240509209,0.382151914034,0.382063315346,0.381974713147,0.381886107436,0.381797498215,0.381708885485,0.381620269247,0.3815316495,0.381443026247,0.381354399487,0.381265769222,0.381177135453,0.38108849818,0.380999857404,0.380911213126,0.380822565346,0.380733914067,0.380645259287,0.380556601009,0.380467939233,0.380379273959,0.38029060519,0.380201932924,0.380113257164,0.38002457791,0.379935895163,0.379847208924,0.379758519193,0.379669825972,0.37958112926,0.37949242906,0.379403725372,0.379315018196,0.379226307533,0.379137593385,0.379048875752,0.378960154634,0.378871430034,0.37878270195,0.378693970385,0.37860523534,0.378516496814,0.378427754809,0.378339009325,0.378250260364,0.378161507926,0.378072752012,0.377983992623,0.37789522976,0.377806463423,0.377717693613,0.377628920332,0.377540143579,0.377451363356,0.377362579664,0.377273792503,0.377185001874,0.377096207778,0.377007410216,0.376918609189,0.376829804697,0.376740996741,0.376652185323,0.376563370442,0.3764745521,0.376385730298,0.376296905036,0.376208076315,0.376119244136,0.3760304085,0.375941569407,0.375852726859,0.375763880856,0.375675031399,0.375586178489,0.375497322127,0.375408462313,0.375319599049,0.375230732334,0.375141862171,0.37505298856,0.374964111501,0.374875230995,0.374786347044,0.374697459647,0.374608568807,0.374519674523,0.374430776797,0.374341875629,0.37425297102,0.374164062971,0.374075151483,0.373986236557,0.373897318193,0.373808396392,0.373719471155,0.373630542483,0.373541610377,0.373452674837,0.373363735864,0.37327479346,0.373185847624,0.373096898359,0.373007945663,0.37291898954,0.372830029988,0.37274106701,0.372652100605,0.372563130775,0.37247415752,0.372385180842,0.372296200741,0.372207217218,0.372118230273,0.372029239908,0.371940246124,0.37185124892,0.371762248299,0.371673244261,0.371584236806,0.371495225936,0.371406211651,0.371317193952,0.37122817284,0.371139148316,0.37105012038,0.370961089034,0.370872054278,0.370783016113,0.37069397454,0.370604929559,0.370515881172,0.370426829379,0.370337774182,0.37024871558,0.370159653575,0.370070588168,0.369981519359,0.369892447149,0.369803371539,0.36971429253,0.369625210123,0.369536124318,0.369447035117,0.36935794252,0.369268846527,0.369179747141,0.369090644361,0.369001538188,0.368912428624,0.368823315668,0.368734199323,0.368645079588,0.368555956464,0.368466829953,0.368377700055,0.368288566771,0.368199430102,0.368110290049,0.368021146612,0.367931999792,0.36784284959,0.367753696007,0.367664539043,0.3675753787,0.367486214979,0.367397047879,0.367307877403,0.36721870355,0.367129526322,0.36704034572,0.366951161743,0.366861974394,0.366772783673,0.36668358958,0.366594392117,0.366505191284,0.366415987082,0.366326779513,0.366237568576,0.366148354272,0.366059136604,0.36596991557,0.365880691173,0.365791463412,0.365702232289,0.365612997805,0.36552375996,0.365434518755,0.365345274191,0.365256026269,0.36516677499,0.365077520354,0.364988262363,0.364899001016,0.364809736316,0.364720468262,0.364631196856,0.364541922098,0.364452643989,0.364363362531,0.364274077723,0.364184789567,0.364095498064,0.364006203213,0.363916905017,0.363827603476,0.363738298591,0.363648990362,0.36355967879,0.363470363877,0.363381045623,0.363291724029,0.363202399096,0.363113070824,0.363023739214,0.362934404268,0.362845065985,0.362755724367,0.362666379415,0.36257703113,0.362487679511,0.362398324561,0.36230896628,0.362219604668,0.362130239727,0.362040871458,0.36195149986,0.361862124936,0.361772746685,0.361683365109,0.361593980209,0.361504591985,0.361415200438,0.361325805568,0.361236407378,0.361147005867,0.361057601037,0.360968192888,0.360878781421,0.360789366637,0.360699948537,0.360610527121,0.36052110239,0.360431674346,0.360342242988,0.360252808319,0.360163370338,0.360073929046,0.359984484445,0.359895036535,0.359805585317,0.359716130791,0.359626672959,0.359537211822,0.35944774738,0.359358279633,0.359268808584,0.359179334232,0.359089856579,0.359000375625,0.358910891371,0.358821403819,0.358731912968,0.358642418819,0.358552921374,0.358463420634,0.358373916598,0.358284409268,0.358194898645,0.35810538473,0.358015867523,0.357926347025,0.357836823237,0.35774729616,0.357657765795,0.357568232142,0.357478695203,0.357389154977,0.357299611467,0.357210064672,0.357120514594,0.357030961233,0.356941404591,0.356851844668,0.356762281464,0.356672714982,0.35658314522,0.356493572182,0.356403995866,0.356314416274,0.356224833408,0.356135247267,0.356045657852,0.355956065165,0.355866469205,0.355776869975,0.355687267475,0.355597661705,0.355508052666,0.35541844036,0.355328824787,0.355239205948,0.355149583843,0.355059958474,0.354970329842,0.354880697946,0.354791062789,0.35470142437,0.354611782691,0.354522137753,0.354432489556,0.354342838101,0.354253183389,0.35416352542,0.354073864197,0.353984199719,0.353894531987,0.353804861002,0.353715186765,0.353625509277,0.353535828538,0.353446144549,0.353356457312,0.353266766827,0.353177073095,0.353087376116,0.352997675892,0.352907972424,0.352818265711,0.352728555755,0.352638842557,0.352549126118,0.352459406438,0.352369683519,0.35227995736,0.352190227964,0.35210049533,0.35201075946,0.351921020354,0.351831278013,0.351741532439,0.351651783631,0.351562031591,0.35147227632,0.351382517818,0.351292756086,0.351202991125,0.351113222935,0.351023451519,0.350933676876,0.350843899007,0.350754117913,0.350664333596,0.350574546055,0.350484755292,0.350394961307,0.350305164101,0.350215363675,0.350125560031,0.350035753168,0.349945943087,0.34985612979,0.349766313277,0.349676493549,0.349586670607,0.349496844452,0.349407015084,0.349317182505,0.349227346714,0.349137507714,0.349047665505,0.348957820087,0.348867971461,0.348778119629,0.348688264591,0.348598406348,0.3485085449,0.348418680249,0.348328812396,0.348238941341,0.348149067085,0.348059189629,0.347969308973,0.347879425119,0.347789538067,0.347699647819,0.347609754375,0.347519857735,0.347429957901,0.347340054874,0.347250148654,0.347160239242,0.347070326639,0.346980410846,0.346890491863,0.346800569692,0.346710644334,0.346620715788,0.346530784056,0.346440849139,0.346350911038,0.346260969753,0.346171025285,0.346081077636,0.345991126805,0.345901172794,0.345811215604,0.345721255235,0.345631291688,0.345541324964,0.345451355064,0.345361381989,0.345271405739,0.345181426316,0.345091443719,0.345001457951,0.344911469012,0.344821476902,0.344731481622,0.344641483174,0.344551481559,0.344461476776,0.344371468826,0.344281457712,0.344191443433,0.34410142599,0.344011405384,0.343921381616,0.343831354687,0.343741324598,0.343651291349,0.343561254941,0.343471215375,0.343381172652,0.343291126773,0.343201077738,0.343111025549,0.343020970206,0.34293091171,0.342840850062,0.342750785262,0.342660717312,0.342570646212,0.342480571964,0.342390494567,0.342300414024,0.342210330333,0.342120243498,0.342030153518,0.341940060393,0.341849964126,0.341759864717,0.341669762166,0.341579656475,0.341489547644,0.341399435674,0.341309320566,0.34121920232,0.341129080939,0.341038956421,0.340948828769,0.340858697983,0.340768564064,0.340678427013,0.34058828683,0.340498143517,0.340407997074,0.340317847501,0.340227694801,0.340137538974,0.340047380019,0.33995721794,0.339867052735,0.339776884407,0.339686712955,0.339596538381,0.339506360686,0.33941617987,0.339325995934,0.339235808879,0.339145618705,0.339055425415,0.338965229008,0.338875029485,0.338784826848,0.338694621096,0.338604412231,0.338514200254,0.338423985165,0.338333766966,0.338243545656,0.338153321238,0.338063093711,0.337972863077,0.337882629336,0.33779239249,0.337702152538,0.337611909483,0.337521663324,0.337431414063,0.337341161701,0.337250906237,0.337160647674,0.337070386011,0.33698012125,0.336889853392,0.336799582437,0.336709308387,0.336619031241,0.336528751001,0.336438467668,0.336348181243,0.336257891726,0.336167599118,0.33607730342,0.335987004633,0.335896702757,0.335806397794,0.335716089745,0.335625778609,0.335535464389,0.335445147085,0.335354826697,0.335264503226,0.335174176674,0.335083847041,0.334993514328,0.334903178536,0.334812839666,0.334722497718,0.334632152693,0.334541804592,0.334451453417,0.334361099167,0.334270741844,0.334180381448,0.33409001798,0.333999651442,0.333909281834,0.333818909156,0.33372853341,0.333638154596,0.333547772716,0.33345738777,0.333366999759,0.333276608683,0.333186214544,0.333095817343,0.333005417079,0.332915013755,0.332824607371,0.332734197927,0.332643785426,0.332553369866,0.33246295125,0.332372529578,0.33228210485,0.332191677069,0.332101246234,0.332010812346,0.331920375407,0.331829935416,0.331739492376,0.331649046286,0.331558597148,0.331468144962,0.33137768973,0.331287231451,0.331196770128,0.33110630576,0.331015838349,0.330925367895,0.330834894399,0.330744417862,0.330653938285,0.330563455669,0.330472970014,0.330382481322,0.330291989593,0.330201494828,0.330110997028,0.330020496193,0.329929992325,0.329839485424,0.329748975492,0.329658462529,0.329567946535,0.329477427512,0.329386905461,0.329296380382,0.329205852276,0.329115321144,0.329024786987,0.328934249806,0.328843709601,0.328753166373,0.328662620124,0.328572070854,0.328481518563,0.328390963253,0.328300404925,0.328209843579,0.328119279216,0.328028711837,0.327938141443,0.327847568035,0.327756991613,0.327666412179,0.327575829733,0.327485244275,0.327394655808,0.327304064331,0.327213469845,0.327122872352,0.327032271853,0.326941668347,0.326851061836,0.32676045232,0.326669839801,0.32657922428,0.326488605756,0.326397984232,0.326307359707,0.326216732183,0.326126101661,0.32603546814,0.325944831623,0.32585419211,0.325763549602,0.325672904099,0.325582255603,0.325491604115,0.325400949634,0.325310292162,0.3252196317,0.325128968249,0.32503830181,0.324947632382,0.324856959968,0.324766284568,0.324675606182,0.324584924813,0.324494240459,0.324403553123,0.324312862805,0.324222169507,0.324131473228,0.324040773969,0.323950071732,0.323859366518,0.323768658326,0.323677947159,0.323587233016,0.3234965159,0.323405795809,0.323315072746,0.323224346711,0.323133617705,0.323042885729,0.322952150783,0.322861412869,0.322770671988,0.322679928139,0.322589181325,0.322498431545,0.322407678801,0.322316923094,0.322226164423,0.322135402791,0.322044638198,0.321953870645,0.321863100133,0.321772326662,0.321681550233,0.321590770847,0.321499988506,0.321409203209,0.321318414958,0.321227623754,0.321136829597,0.321046032488,0.320955232428,0.320864429418,0.320773623458,0.320682814551,0.320592002695,0.320501187893,0.320410370144,0.320319549451,0.320228725813,0.320137899232,0.320047069708,0.319956237242,0.319865401836,0.319774563489,0.319683722203,0.319592877978,0.319502030816,0.319411180717,0.319320327682,0.319229471712,0.319138612808,0.31904775097,0.318956886199,0.318866018497,0.318775147864,0.318684274301,0.318593397808,0.318502518387,0.318411636039,0.318320750763,0.318229862562,0.318138971436,0.318048077385,0.317957180411,0.317866280514,0.317775377696,0.317684471956,0.317593563297,0.317502651718,0.317411737221,0.317320819806,0.317229899475,0.317138976228,0.317048050065,0.316957120989,0.316866188998,0.316775254096,0.316684316281,0.316593375556,0.316502431921,0.316411485376,0.316320535923,0.316229583563,0.316138628296,0.316047670123,0.315956709045,0.315865745062,0.315774778176,0.315683808388,0.315592835698,0.315501860108,0.315410881617,0.315319900227,0.315228915938,0.315137928753,0.31504693867,0.314955945692,0.314864949818,0.314773951051,0.31468294939,0.314591944836,0.314500937391,0.314409927055,0.314318913829,0.314227897714,0.314136878711,0.31404585682,0.313954832043,0.31386380438,0.313772773831,0.313681740399,0.313590704083,0.313499664885,0.313408622805,0.313317577845,0.313226530004,0.313135479285,0.313044425687,0.312953369212,0.31286230986,0.312771247632,0.312680182529,0.312589114553,0.312498043703,0.31240696998,0.312315893386,0.312224813922,0.312133731587,0.312042646384,0.311951558312,0.311860467372,0.311769373567,0.311678276895,0.311587177359,0.311496074958,0.311404969695,0.311313861569,0.311222750581,0.311131636733,0.311040520025,0.310949400458,0.310858278032,0.31076715275,0.31067602461,0.310584893616,0.310493759766,0.310402623062,0.310311483506,0.310220341096,0.310129195836,0.310038047725,0.309946896764,0.309855742954,0.309764586295,0.30967342679,0.309582264438,0.309491099241,0.309399931198,0.309308760312,0.309217586583,0.309126410011,0.309035230598,0.308944048345,0.308852863252,0.308761675319,0.308670484549,0.308579290942,0.308488094498,0.308396895218,0.308305693104,0.308214488156,0.308123280375,0.308032069761,0.307940856317,0.307849640042,0.307758420937,0.307667199003,0.307575974241,0.307484746652,0.307393516237,0.307302282996,0.307211046931,0.307119808042,0.307028566329,0.306937321795,0.306846074439,0.306754824263,0.306663571267,0.306572315453,0.30648105682,0.306389795371,0.306298531105,0.306207264024,0.306115994128,0.306024721418,0.305933445896,0.305842167561,0.305750886415,0.305659602459,0.305568315693,0.305477026119,0.305385733736,0.305294438547,0.305203140551,0.30511183975,0.305020536145,0.304929229735,0.304837920523,0.304746608509,0.304655293694,0.304563976079,0.304472655663,0.30438133245,0.304290006438,0.30419867763,0.304107346025,0.304016011625,0.303924674431,0.303833334443,0.303741991662,0.30365064609,0.303559297726,0.303467946572,0.303376592629,0.303285235897,0.303193876377,0.30310251407,0.303011148978,0.3029197811,0.302828410438,0.302737036992,0.302645660763,0.302554281753,0.302462899962,0.30237151539,0.302280128039,0.30218873791,0.302097345003,0.302005949319,0.301914550859,0.301823149625,0.301731745615,0.301640338833,0.301548929277,0.30145751695,0.301366101852,0.301274683984,0.301183263347,0.301091839941,0.301000413768,0.300908984828,0.300817553122,0.300726118651,0.300634681416,0.300543241417,0.300451798656,0.300360353133,0.30026890485,0.300177453806,0.300086000003,0.299994543442,0.299903084124,0.299811622048,0.299720157217,0.299628689631,0.299537219291,0.299445746198,0.299354270352,0.299262791754,0.299171310406,0.299079826308,0.298988339461,0.298896849865,0.298805357523,0.298713862433,0.298622364598,0.298530864018,0.298439360694,0.298347854627,0.298256345817,0.298164834266,0.298073319974,0.297981802943,0.297890283172,0.297798760664,0.297707235418,0.297615707435,0.297524176717,0.297432643264,0.297341107077,0.297249568157,0.297158026505,0.297066482122,0.296974935008,0.296883385164,0.296791832591,0.29670027729,0.296608719262,0.296517158508,0.296425595028,0.296334028823,0.296242459895,0.296150888244,0.29605931387,0.295967736775,0.29587615696,0.295784574425,0.295692989171,0.295601401199,0.295509810511,0.295418217106,0.295326620985,0.29523502215,0.295143420601,0.295051816339,0.294960209366,0.294868599681,0.294776987285,0.294685372181,0.294593754367,0.294502133846,0.294410510617,0.294318884683,0.294227256043,0.294135624698,0.29404399065,0.2939523539,0.293860714447,0.293769072293,0.293677427439,0.293585779886,0.293494129634,0.293402476684,0.293310821037,0.293219162694,0.293127501656,0.293035837924,0.292944171498,0.29285250238,0.292760830569,0.292669156068,0.292577478876,0.292485798996,0.292394116426,0.292302431169,0.292210743226,0.292119052596,0.292027359281,0.291935663282,0.2918439646,0.291752263235,0.291660559188,0.291568852461,0.291477143053,0.291385430966,0.291293716201,0.291201998759,0.291110278639,0.291018555844,0.290926830374,0.29083510223,0.290743371412,0.290651637922,0.290559901761,0.290468162928,0.290376421426,0.290284677254,0.290192930415,0.290101180908,0.290009428734,0.289917673895,0.289825916391,0.289734156223,0.289642393391,0.289550627898,0.289458859743,0.289367088927,0.289275315451,0.289183539317,0.289091760524,0.288999979074,0.288908194968,0.288816408206,0.288724618789,0.288632826719,0.288541031995,0.288449234619,0.288357434592,0.288265631915,0.288173826587,0.288082018611,0.287990207987,0.287898394715,0.287806578798,0.287714760235,0.287622939027,0.287531115176,0.287439288681,0.287347459545,0.287255627767,0.287163793349,0.287071956291,0.286980116595,0.286888274261,0.286796429289,0.286704581682,0.286612731439,0.286520878562,0.286429023051,0.286337164908,0.286245304132,0.286153440725,0.286061574688,0.285969706022,0.285877834727,0.285785960804,0.285694084255,0.285602205079,0.285510323278,0.285418438853,0.285326551805,0.285234662133,0.28514276984,0.285050874926,0.284958977392,0.284867077238,0.284775174466,0.284683269077,0.284591361071,0.284499450449,0.284407537211,0.28431562136,0.284223702895,0.284131781818,0.284039858129,0.283947931829,0.283856002919,0.2837640714,0.283672137273,0.283580200538,0.283488261197,0.283396319249,0.283304374697,0.283212427541,0.283120477782,0.28302852542,0.282936570457,0.282844612893,0.282752652729,0.282660689967,0.282568724606,0.282476756647,0.282384786093,0.282292812942,0.282200837197,0.282108858858,0.282016877926,0.281924894402,0.281832908286,0.28174091958,0.281648928284,0.281556934399,0.281464937926,0.281372938866,0.281280937219,0.281188932988,0.281096926171,0.281004916771,0.280912904788,0.280820890222,0.280728873076,0.280636853349,0.280544831042,0.280452806157,0.280360778694,0.280268748654,0.280176716038,0.280084680846,0.27999264308,0.279900602741,0.279808559828,0.279716514344,0.279624466288,0.279532415663,0.279440362467,0.279348306704,0.279256248372,0.279164187474,0.27907212401,0.27898005798,0.278887989387,0.278795918229,0.278703844509,0.278611768228,0.278519689385,0.278427607982,0.27833552402,0.2782434375,0.278151348422,0.278059256787,0.277967162597,0.277875065852,0.277782966552,0.277690864699,0.277598760293,0.277506653336,0.277414543828,0.277322431771,0.277230317164,0.277138200009,0.277046080306,0.276953958057,0.276861833262,0.276769705923,0.276677576039,0.276585443612,0.276493308643,0.276401171132,0.276309031081,0.27621688849,0.27612474336,0.276032595692,0.275940445487,0.275848292746,0.275756137468,0.275663979657,0.275571819311,0.275479656432,0.275387491021,0.275295323079,0.275203152607,0.275110979605,0.275018804074,0.274926626015,0.274834445429,0.274742262317,0.274650076679,0.274557888517,0.274465697831,0.274373504623,0.274281308892,0.274189110641,0.274096909869,0.274004706577,0.273912500767,0.27382029244,0.273728081595,0.273635868234,0.273543652358,0.273451433968,0.273359213064,0.273266989648,0.27317476372,0.273082535281,0.272990304331,0.272898070873,0.272805834906,0.272713596431,0.27262135545,0.272529111963,0.272436865971,0.272344617474,0.272252366475,0.272160112972,0.272067856969,0.271975598464,0.271883337459,0.271791073956,0.271698807954,0.271606539455,0.271514268459,0.271421994967,0.271329718981,0.2712374405,0.271145159527,0.271052876061,0.270960590104,0.270868301656,0.270776010718,0.270683717291,0.270591421377,0.270499122975,0.270406822087,0.270314518713,0.270222212854,0.270129904512,0.270037593687,0.269945280379,0.269852964591,0.269760646322,0.269668325573,0.269576002346,0.26948367664,0.269391348458,0.269299017799,0.269206684665,0.269114349057,0.269022010975,0.26892967042,0.268837327394,0.268744981896,0.268652633928,0.26856028349,0.268467930584,0.268375575211,0.26828321737,0.268190857063,0.268098494292,0.268006129056,0.267913761356,0.267821391194,0.26772901857,0.267636643486,0.267544265941,0.267451885937,0.267359503474,0.267267118554,0.267174731178,0.267082341345,0.266989949058,0.266897554317,0.266805157122,0.266712757475,0.266620355376,0.266527950827,0.266435543828,0.266343134379,0.266250722483,0.266158308139,0.266065891349,0.265973472113,0.265881050432,0.265788626308,0.26569619974,0.26560377073,0.265511339279,0.265418905387,0.265326469056,0.265234030286,0.265141589077,0.265049145432,0.26495669935,0.264864250833,0.264771799882,0.264679346496,0.264586890678,0.264494432428,0.264401971746,0.264309508635,0.264217043093,0.264124575124,0.264032104726,0.263939631901,0.263847156651,0.263754678975,0.263662198875,0.263569716351,0.263477231404,0.263384744036,0.263292254247,0.263199762037,0.263107267409,0.263014770362,0.262922270897,0.262829769016,0.262737264719,0.262644758006,0.26255224888,0.26245973734,0.262367223388,0.262274707024,0.262182188249,0.262089667065,0.261997143471,0.261904617469,0.26181208906,0.261719558244,0.261627025023,0.261534489397,0.261441951366,0.261349410933,0.261256868097,0.26116432286,0.261071775223,0.260979225186,0.260886672749,0.260794117915,0.260701560684,0.260609001056,0.260516439033,0.260423874615,0.260331307804,0.2602387386,0.260146167003,0.260053593015,0.259961016637,0.25986843787,0.259775856714,0.25968327317,0.259590687239,0.259498098922,0.25940550822,0.259312915133,0.259220319663,0.25912772181,0.259035121575,0.258942518959,0.258849913963,0.258757306588,0.258664696834,0.258572084703,0.258479470195,0.258386853311,0.258294234052,0.258201612419,0.258108988413,0.258016362034,0.257923733283,0.257831102162,0.257738468671,0.257645832811,0.257553194582,0.257460553986,0.257367911024,0.257275265696,0.257182618003,0.257089967946,0.256997315526,0.256904660743,0.2568120036,0.256719344096,0.256626682232,0.256534018009,0.256441351428,0.25634868249,0.256256011196,0.256163337546,0.256070661542,0.255977983184,0.255885302473,0.25579261941,0.255699933995,0.255607246231,0.255514556117,0.255421863654,0.255329168844,0.255236471686,0.255143772183,0.255051070334,0.254958366141,0.254865659605,0.254772950725,0.254680239504,0.254587525942,0.25449481004,0.254402091799,0.254309371219,0.254216648301,0.254123923047,0.254031195457,0.253938465532,0.253845733273,0.253752998681,0.253660261756,0.2535675225,0.253474780913,0.253382036996,0.25328929075,0.253196542175,0.253103791274,0.253011038046,0.252918282492,0.252825524613,0.252732764411,0.252640001886,0.252547237038,0.252454469869,0.25236170038,0.25226892857,0.252176154442,0.252083377996,0.251990599233,0.251897818154,0.25180503476,0.25171224905,0.251619461028,0.251526670692,0.251433878044,0.251341083085,0.251248285816,0.251155486238,0.251062684351,0.250969880156,0.250877073654,0.250784264847,0.250691453734,0.250598640317,0.250505824596,0.250413006573,0.250320186248,0.250227363622,0.250134538696,0.250041711471,0.249948881948,0.249856050127,0.24976321601,0.249670379597,0.249577540889,0.249484699886,0.249391856591,0.249299011003,0.249206163124,0.249113312954,0.249020460494,0.248927605746,0.248834748709,0.248741889385,0.248649027775,0.248556163879,0.248463297698,0.248370429234,0.248277558487,0.248184685457,0.248091810146,0.247998932555,0.247906052685,0.247813170535,0.247720286108,0.247627399404,0.247534510423,0.247441619168,0.247348725638,0.247255829834,0.247162931758,0.247070031409,0.24697712879,0.246884223901,0.246791316742,0.246698407315,0.24660549562,0.246512581659,0.246419665431,0.246326746939,0.246233826182,0.246140903162,0.24604797788,0.245955050336,0.245862120531,0.245769188466,0.245676254142,0.245583317561,0.245490378721,0.245397437625,0.245304494274,0.245211548668,0.245118600807,0.245025650694,0.244932698329,0.244839743712,0.244746786844,0.244653827727,0.244560866362,0.244467902748,0.244374936887,0.24428196878,0.244188998427,0.24409602583,0.24400305099,0.243910073906,0.24381709458,0.243724113014,0.243631129207,0.243538143161,0.243445154876,0.243352164353,0.243259171594,0.243166176599,0.243073179368,0.242980179903,0.242887178205,0.242794174274,0.242701168112,0.242608159718,0.242515149095,0.242422136243,0.242329121162,0.242236103854,0.242143084319,0.242050062558,0.241957038573,0.241864012364,0.241770983931,0.241677953276,0.2415849204,0.241491885303,0.241398847986,0.241305808451,0.241212766697,0.241119722726,0.241026676539,0.240933628137,0.24084057752,0.240747524689,0.240654469645,0.240561412389,0.240468352922,0.240375291244,0.240282227358,0.240189161262,0.240096092959,0.240003022449,0.239909949733,0.239816874811,0.239723797685,0.239630718356,0.239537636824,0.239444553091,0.239351467156,0.239258379021,0.239165288687,0.239072196155,0.238979101425,0.238886004499,0.238792905377,0.23869980406,0.238606700549,0.238513594844,0.238420486948,0.238327376859,0.23823426458,0.238141150112,0.238048033454,0.237954914608,0.237861793575,0.237768670356,0.237675544951,0.237582417362,0.237489287588,0.237396155632,0.237303021494,0.237209885174,0.237116746674,0.237023605994,0.236930463136,0.2368373181,0.236744170887,0.236651021498,0.236557869934,0.236464716195,0.236371560283,0.236278402198,0.236185241941,0.236092079513,0.235998914916,0.235905748149,0.235812579213,0.23571940811,0.23562623484,0.235533059405,0.235439881805,0.23534670204,0.235253520112,0.235160336022,0.23506714977,0.234973961358,0.234880770785,0.234787578054,0.234694383165,0.234601186118,0.234507986915,0.234414785556,0.234321582043,0.234228376376,0.234135168556,0.234041958584,0.23394874646,0.233855532186,0.233762315763,0.233669097191,0.233575876471,0.233482653604,0.233389428591,0.233296201432,0.233202972129,0.233109740683,0.233016507094,0.232923271363,0.232830033492,0.23273679348,0.232643551328,0.232550307039,0.232457060612,0.232363812048,0.232270561348,0.232177308513,0.232084053545,0.231990796442,0.231897537208,0.231804275842,0.231711012345,0.231617746719,0.231524478963,0.231431209079,0.231337937069,0.231244662931,0.231151386668,0.231058108281,0.230964827769,0.230871545135,0.230778260378,0.230684973501,0.230591684502,0.230498393385,0.230405100148,0.230311804794,0.230218507323,0.230125207735,0.230031906033,0.229938602216,0.229845296285,0.229751988242,0.229658678087,0.229565365821,0.229472051444,0.229378734959,0.229285416365,0.229192095664,0.229098772856,0.229005447942,0.228912120923,0.2288187918,0.228725460574,0.228632127245,0.228538791815,0.228445454284,0.228352114653,0.228258772924,0.228165429096,0.228072083171,0.22797873515,0.227885385033,0.227792032821,0.227698678516,0.227605322117,0.227511963627,0.227418603045,0.227325240373,0.227231875611,0.227138508761,0.227045139823,0.226951768798,0.226858395687,0.226765020491,0.22667164321,0.226578263846,0.226484882399,0.22639149887,0.22629811326,0.226204725571,0.226111335802,0.226017943954,0.22592455003,0.225831154028,0.225737755951,0.225644355799,0.225550953572,0.225457549273,0.225364142901,0.225270734458,0.225177323944,0.22508391136,0.224990496707,0.224897079986,0.224803661198,0.224710240344,0.224616817424,0.22452339244,0.224429965392,0.22433653628,0.224243105107,0.224149671873,0.224056236578,0.223962799224,0.223869359811,0.223775918341,0.223682474813,0.22358902923,0.223495581591,0.223402131898,0.223308680152,0.223215226353,0.223121770502,0.2230283126,0.222934852648,0.222841390647,0.222747926598,0.222654460502,0.222560992358,0.222467522169,0.222374049935,0.222280575658,0.222187099337,0.222093620973,0.222000140568,0.221906658123,0.221813173638,0.221719687114,0.221626198552,0.221532707953,0.221439215318,0.221345720647,0.221252223942,0.221158725203,0.221065224431,0.220971721627,0.220878216792,0.220784709927,0.220691201032,0.220597690109,0.220504177158,0.22041066218,0.220317145177,0.220223626148,0.220130105095,0.220036582018,0.219943056919,0.219849529799,0.219756000657,0.219662469496,0.219568936315,0.219475401117,0.219381863901,0.219288324668,0.21919478342,0.219101240157,0.21900769488,0.21891414759,0.218820598288,0.218727046974,0.21863349365,0.218539938316,0.218446380974,0.218352821623,0.218259260266,0.218165696902,0.218072131533,0.21797856416,0.217884994783,0.217791423403,0.217697850021,0.217604274638,0.217510697256,0.217417117873,0.217323536493,0.217229953114,0.217136367739,0.217042780369,0.216949191003,0.216855599643,0.216762006289,0.216668410944,0.216574813606,0.216481214278,0.21638761296,0.216294009653,0.216200404358,0.216106797076,0.216013187808,0.215919576553,0.215825963314,0.215732348092,0.215638730886,0.215545111698,0.215451490529,0.21535786738,0.215264242251,0.215170615143,0.215076986058,0.214983354995,0.214889721957,0.214796086943,0.214702449955,0.214608810994,0.21451517006,0.214421527154,0.214327882277,0.21423423543,0.214140586614,0.214046935829,0.213953283078,0.213859628359,0.213765971675,0.213672313026,0.213578652412,0.213484989836,0.213391325297,0.213297658797,0.213203990337,0.213110319916,0.213016647537,0.2129229732,0.212829296905,0.212735618654,0.212641938448,0.212548256288,0.212454572173,0.212360886106,0.212267198087,0.212173508116,0.212079816196,0.211986122326,0.211892426507,0.211798728741,0.211705029028,0.211611327369,0.211517623765,0.211423918217,0.211330210725,0.211236501291,0.211142789916,0.211049076599,0.210955361343,0.210861644147,0.210767925013,0.210674203942,0.210580480935,0.210486755992,0.210393029114,0.210299300302,0.210205569557,0.21011183688,0.210018102272,0.209924365734,0.209830627265,0.209736886868,0.209643144543,0.209549400292,0.209455654114,0.20936190601,0.209268155983,0.209174404032,0.209080650158,0.208986894362,0.208893136645,0.208799377009,0.208705615453,0.208611851978,0.208518086586,0.208424319278,0.208330550053,0.208236778914,0.208143005861,0.208049230894,0.207955454015,0.207861675225,0.207767894524,0.207674111913,0.207580327394,0.207486540966,0.207392752631,0.20729896239,0.207205170243,0.207111376192,0.207017580237,0.20692378238,0.20682998262,0.206736180959,0.206642377398,0.206548571937,0.206454764578,0.206360955321,0.206267144167,0.206173331118,0.206079516173,0.205985699334,0.205891880602,0.205798059977,0.20570423746,0.205610413053,0.205516586756,0.20542275857,0.205328928495,0.205235096533,0.205141262685,0.205047426951,0.204953589332,0.20485974983,0.204765908444,0.204672065176,0.204578220027,0.204484372998,0.204390524089,0.204296673301,0.204202820635,0.204108966093,0.204015109674,0.20392125138,0.203827391212,0.20373352917,0.203639665255,0.203545799469,0.203451931811,0.203358062284,0.203264190887,0.203170317622,0.203076442489,0.20298256549,0.202888686625,0.202794805895,0.202700923302,0.202607038844,0.202513152525,0.202419264344,0.202325374303,0.202231482401,0.202137588641,0.202043693023,0.201949795548,0.201855896217,0.20176199503,0.201668091988,0.201574187093,0.201480280345,0.201386371745,0.201292461294,0.201198548993,0.201104634842,0.201010718843,0.200916800996,0.200822881302,0.200728959763,0.200635036378,0.20054111115,0.200447184078,0.200353255163,0.200259324407,0.20016539181,0.200071457373,0.199977521097,0.199883582983,0.199789643032,0.199695701244,0.199601757621,0.199507812163,0.199413864871,0.199319915747,0.19922596479,0.199132012002,0.199038057383,0.198944100935,0.198850142659,0.198756182554,0.198662220623,0.198568256866,0.198474291283,0.198380323876,0.198286354646,0.198192383593,0.198098410718,0.198004436022,0.197910459507,0.197816481172,0.197722501019,0.197628519048,0.197534535261,0.197440549659,0.197346562241,0.197252573009,0.197158581965,0.197064589108,0.19697059444,0.196876597961,0.196782599672,0.196688599575,0.19659459767,0.196500593958,0.19640658844,0.196312581116,0.196218571988,0.196124561056,0.196030548321,0.195936533785,0.195842517448,0.19574849931,0.195654479373,0.195560457638,0.195466434105,0.195372408776,0.195278381651,0.19518435273,0.195090322016,0.194996289509,0.194902255209,0.194808219117,0.194714181235,0.194620141563,0.194526100103,0.194432056854,0.194338011818,0.194243964996,0.194149916388,0.194055865996,0.19396181382,0.193867759861,0.19377370412,0.193679646598,0.193585587296,0.193491526214,0.193397463354,0.193303398716,0.193209332302,0.193115264111,0.193021194145,0.192927122405,0.192833048892,0.192738973607,0.192644896549,0.192550817721,0.192456737123,0.192362654756,0.192268570621,0.192174484719,0.19208039705,0.191986307615,0.191892216416,0.191798123453,0.191704028728,0.19160993224,0.19151583399,0.191421733981,0.191327632212,0.191233528684,0.191139423398,0.191045316356,0.190951207557,0.190857097004,0.190762984696,0.190668870634,0.19057475482,0.190480637254,0.190386517938,0.190292396871,0.190198274056,0.190104149492,0.19001002318,0.189915895122,0.189821765319,0.18972763377,0.189633500478,0.189539365443,0.189445228665,0.189351090146,0.189256949887,0.189162807888,0.18906866415,0.188974518674,0.188880371462,0.188786222513,0.188692071829,0.18859791941,0.188503765258,0.188409609373,0.188315451757,0.188221292409,0.188127131332,0.188032968525,0.18793880399,0.187844637727,0.187750469738,0.187656300023,0.187562128583,0.187467955419,0.187373780531,0.187279603922,0.187185425591,0.18709124554,0.186997063768,0.186902880278,0.18680869507,0.186714508145,0.186620319504,0.186526129147,0.186431937076,0.186337743291,0.186243547794,0.186149350584,0.186055151663,0.185960951033,0.185866748693,0.185772544644,0.185678338888,0.185584131425,0.185489922257,0.185395711383,0.185301498805,0.185207284524,0.185113068541,0.185018850856,0.18492463147,0.184830410385,0.1847361876,0.184641963118,0.184547736939,0.184453509063,0.184359279491,0.184265048226,0.184170815266,0.184076580613,0.183982344269,0.183888106233,0.183793866507,0.183699625092,0.183605381988,0.183511137197,0.183416890719,0.183322642555,0.183228392705,0.183134141172,0.183039887955,0.182945633056,0.182851376475,0.182757118214,0.182662858272,0.182568596652,0.182474333353,0.182380068377,0.182285801725,0.182191533397,0.182097263395,0.182002991719,0.18190871837,0.181814443348,0.181720166656,0.181625888293,0.181531608261,0.18143732656,0.181343043192,0.181248758156,0.181154471455,0.181060183088,0.180965893058,0.180871601363,0.180777308007,0.180683012988,0.180588716309,0.18049441797,0.180400117972,0.180305816315,0.180211513002,0.180117208031,0.180022901406,0.179928593125,0.179834283191,0.179739971603,0.179645658364,0.179551343473,0.179457026932,0.179362708741,0.179268388902,0.179174067415,0.179079744281,0.1789854195,0.178891093075,0.178796765005,0.178702435292,0.178608103936,0.178513770939,0.178419436301,0.178325100022,0.178230762105,0.178136422549,0.178042081356,0.177947738526,0.177853394061,0.177759047961,0.177664700227,0.17757035086,0.177475999861,0.17738164723,0.177287292969,0.177192937079,0.177098579559,0.177004220412,0.176909859638,0.176815497238,0.176721133212,0.176626767562,0.176532400289,0.176438031393,0.176343660875,0.176249288736,0.176154914977,0.176060539599,0.175966162603,0.175871783989,0.175777403759,0.175683021913,0.175588638452,0.175494253377,0.175399866689,0.175305478389,0.175211088478,0.175116696956,0.175022303824,0.174927909083,0.174833512735,0.17473911478,0.174644715218,0.174550314051,0.17445591128,0.174361506905,0.174267100928,0.174172693348,0.174078284168,0.173983873387,0.173889461008,0.17379504703,0.173700631454,0.173606214282,0.173511795514,0.173417375152,0.173322953195,0.173228529645,0.173134104503,0.173039677769,0.172945249445,0.172850819531,0.172756388029,0.172661954938,0.172567520261,0.172473083997,0.172378646148,0.172284206714,0.172189765697,0.172095323097,0.172000878915,0.171906433152,0.171811985809,0.171717536887,0.171623086386,0.171528634308,0.171434180654,0.171339725423,0.171245268618,0.171150810238,0.171056350285,0.17096188876,0.170867425664,0.170772960997,0.17067849476,0.170584026954,0.170489557581,0.17039508664,0.170300614133,0.170206140061,0.170111664424,0.170017187224,0.169922708461,0.169828228136,0.16973374625,0.169639262803,0.169544777798,0.169450291234,0.169355803112,0.169261313434,0.1691668222,0.169072329411,0.168977835068,0.168883339172,0.168788841724,0.168694342724,0.168599842173,0.168505340073,0.168410836423,0.168316331226,0.168221824482,0.168127316191,0.168032806355,0.167938294975,0.167843782051,0.167749267584,0.167654751575,0.167560234025,0.167465714935,0.167371194305,0.167276672137,0.167182148432,0.16708762319,0.166993096412,0.166898568099,0.166804038252,0.166709506872,0.166614973959,0.166520439515,0.16642590354,0.166331366036,0.166236827003,0.166142286441,0.166047744353,0.165953200738,0.165858655598,0.165764108933,0.165669560745,0.165575011034,0.1654804598,0.165385907046,0.165291352772,0.165196796978,0.165102239666,0.165007680836,0.16491312049,0.164818558628,0.16472399525,0.164629430359,0.164534863954,0.164440296037,0.164345726609,0.16425115567,0.164156583221,0.164062009263,0.163967433797,0.163872856825,0.163778278345,0.163683698361,0.163589116871,0.163494533879,0.163399949383,0.163305363385,0.163210775887,0.163116186888,0.16302159639,0.162927004393,0.162832410899,0.162737815908,0.162643219421,0.162548621439,0.162454021963,0.162359420994,0.162264818533,0.16217021458,0.162075609136,0.161981002202,0.16188639378,0.16179178387,0.161697172472,0.161602559588,0.161507945219,0.161413329366,0.161318712028,0.161224093208,0.161129472906,0.161034851122,0.160940227859,0.160845603116,0.160750976895,0.160656349196,0.160561720021,0.160467089369,0.160372457243,0.160277823642,0.160183188569,0.160088552023,0.159993914005,0.159899274517,0.159804633559,0.159709991132,0.159615347237,0.159520701875,0.159426055047,0.159331406753,0.159236756995,0.159142105773,0.159047453088,0.158952798942,0.158858143334,0.158763486266,0.158668827739,0.158574167753,0.15847950631,0.15838484341,0.158290179054,0.158195513243,0.158100845978,0.15800617726,0.15791150709,0.157816835468,0.157722162395,0.157627487873,0.157532811902,0.157438134483,0.157343455616,0.157248775304,0.157154093546,0.157059410343,0.156964725697,0.156870039608,0.156775352077,0.156680663105,0.156585972693,0.156491280842,0.156396587552,0.156301892824,0.15620719666,0.15611249906,0.156017800025,0.155923099556,0.155828397654,0.15573369432,0.155638989554,0.155544283357,0.155449575731,0.155354866676,0.155260156193,0.155165444282,0.155070730946,0.154976016184,0.154881299997,0.154786582387,0.154691863355,0.1545971429,0.154502421024,0.154407697728,0.154312973013,0.154218246879,0.154123519328,0.154028790361,0.153934059977,0.153839328178,0.153744594966,0.15364986034,0.153555124302,0.153460386852,0.153365647992,0.153270907723,0.153176166044,0.153081422957,0.152986678464,0.152891932564,0.152797185258,0.152702436549,0.152607686435,0.152512934919,0.152418182001,0.152323427682,0.152228671963,0.152133914845,0.152039156328,0.151944396414,0.151849635103,0.151754872397,0.151660108295,0.151565342799,0.151470575911,0.15137580763,0.151281037957,0.151186266894,0.151091494442,0.1509967206,0.150901945371,0.150807168755,0.150712390752,0.150617611364,0.150522830592,0.150428048436,0.150333264897,0.150238479977,0.150143693675,0.150048905994,0.149954116933,0.149859326494,0.149764534677,0.149669741484,0.149574946915,0.149480150972,0.149385353654,0.149290554963,0.1491957549,0.149100953465,0.14900615066,0.148911346486,0.148816540942,0.148721734031,0.148626925753,0.148532116108,0.148437305099,0.148342492725,0.148247678987,0.148152863887,0.148058047424,0.147963229601,0.147868410418,0.147773589876,0.147678767976,0.147583944718,0.147489120103,0.147394294133,0.147299466808,0.147204638129,0.147109808097,0.147014976713,0.146920143977,0.146825309891,0.146730474455,0.146635637671,0.146540799539,0.14644596006,0.146351119234,0.146256277064,0.146161433549,0.146066588691,0.14597174249,0.145876894947,0.145782046064,0.14568719584,0.145592344277,0.145497491376,0.145402637138,0.145307781563,0.145212924653,0.145118066408,0.145023206829,0.144928345916,0.144833483672,0.144738620097,0.144643755191,0.144548888955,0.144454021391,0.144359152499,0.14426428228,0.144169410735,0.144074537865,0.143979663671,0.143884788153,0.143789911312,0.14369503315,0.143600153667,0.143505272865,0.143410390743,0.143315507303,0.143220622545,0.143125736471,0.143030849082,0.142935960378,0.14284107036,0.142746179029,0.142651286386,0.142556392431,0.142461497167,0.142366600593,0.14227170271,0.142176803519,0.142081903022,0.141987001219,0.14189209811,0.141797193698,0.141702287982,0.141607380963,0.141512472643,0.141417563022,0.141322652102,0.141227739882,0.141132826364,0.141037911549,0.140942995437,0.14084807803,0.140753159328,0.140658239333,0.140563318044,0.140468395464,0.140373471592,0.140278546431,0.140183619979,0.14008869224,0.139993763212,0.139898832898,0.139803901298,0.139708968412,0.139614034243,0.13951909879,0.139424162055,0.139329224038,0.139234284741,0.139139344164,0.139044402308,0.138949459173,0.138854514762,0.138759569074,0.138664622111,0.138569673873,0.138474724362,0.138379773578,0.138284821522,0.138189868194,0.138094913597,0.13799995773,0.137905000595,0.137810042192,0.137715082522,0.137620121586,0.137525159386,0.137430195921,0.137335231194,0.137240265204,0.137145297952,0.13705032944,0.136955359668,0.136860388637,0.136765416348,0.136670442802,0.136575468,0.136480491942,0.13638551463,0.136290536064,0.136195556246,0.136100575176,0.136005592854,0.135910609283,0.135815624462,0.135720638393,0.135625651076,0.135530662513,0.135435672704,0.13534068165,0.135245689352,0.135150695811,0.135055701028,0.134960705003,0.134865707738,0.134770709233,0.134675709489,0.134580708507,0.134485706288,0.134390702834,0.134295698143,0.134200692219,0.134105685061,0.13401067667,0.133915667047,0.133820656194,0.13372564411,0.133630630797,0.133535616256,0.133440600488,0.133345583493,0.133250565272,0.133155545827,0.133060525157,0.132965503265,0.13287048015,0.132775455814,0.132680430257,0.132585403481,0.132490375487,0.132395346274,0.132300315844,0.132205284199,0.132110251338,0.132015217263,0.131920181974,0.131825145473,0.13173010776,0.131635068837,0.131540028703,0.13144498736,0.131349944809,0.131254901051,0.131159856086,0.131064809916,0.130969762541,0.130874713962,0.13077966418,0.130684613196,0.13058956101,0.130494507625,0.13039945304,0.130304397256,0.130209340275,0.130114282096,0.130019222722,0.129924162153,0.129829100389,0.129734037432,0.129638973283,0.129543907942,0.12944884141,0.129353773688,0.129258704778,0.129163634679,0.129068563393,0.128973490921,0.128878417263,0.12878334242,0.128688266394,0.128593189185,0.128498110794,0.128403031222,0.128307950469,0.128212868537,0.128117785427,0.128022701139,0.127927615674,0.127832529033,0.127737441218,0.127642352228,0.127547262065,0.127452170729,0.127357078222,0.127261984545,0.127166889697,0.127071793681,0.126976696497,0.126881598145,0.126786498628,0.126691397945,0.126596296097,0.126501193086,0.126406088912,0.126310983576,0.126215877079,0.126120769422,0.126025660606,0.125930550631,0.125835439498,0.12574032721,0.125645213765,0.125550099165,0.125454983412,0.125359866505,0.125264748446,0.125169629235,0.125074508874,0.124979387363,0.124884264704,0.124789140897,0.124694015942,0.124598889842,0.124503762596,0.124408634205,0.124313504672,0.124218373995,0.124123242177,0.124028109218,0.123932975119,0.12383783988,0.123742703503,0.123647565989,0.123552427339,0.123457287552,0.123362146631,0.123267004576,0.123171861388,0.123076717068,0.122981571617,0.122886425035,0.122791277323,0.122696128483,0.122600978515,0.12250582742,0.122410675199,0.122315521853,0.122220367383,0.122125211789,0.122030055073,0.121934897235,0.121839738276,0.121744578197,0.121649416999,0.121554254683,0.12145909125,0.1213639267,0.121268761035,0.121173594255,0.121078426361,0.120983257354,0.120888087236,0.120792916006,0.120697743666,0.120602570216,0.120507395658,0.120412219992,0.120317043219,0.120221865341,0.120126686357,0.120031506269,0.119936325078,0.119841142785,0.119745959389,0.119650774894,0.119555589298,0.119460402604,0.119365214811,0.119270025921,0.119174835935,0.119079644854,0.118984452678,0.118889259408,0.118794065045,0.118698869591,0.118603673045,0.11850847541,0.118413276685,0.118318076871,0.11822287597,0.118127673983,0.118032470909,0.117937266751,0.117842061508,0.117746855183,0.117651647775,0.117556439285,0.117461229715,0.117366019066,0.117270807338,0.117175594531,0.117080380648,0.116985165688,0.116889949653,0.116794732544,0.116699514361,0.116604295106,0.116509074778,0.11641385338,0.116318630912,0.116223407374,0.116128182769,0.116032957095,0.115937730356,0.11584250255,0.11574727368,0.115652043746,0.115556812749,0.115461580689,0.115366347569,0.115271113388,0.115175878147,0.115080641848,0.114985404491,0.114890166077,0.114794926607,0.114699686081,0.114604444502,0.114509201869,0.114413958183,0.114318713446,0.114223467658,0.11412822082,0.114032972933,0.113937723998,0.113842474016,0.113747222987,0.113651970913,0.113556717794,0.113461463631,0.113366208425,0.113270952178,0.113175694889,0.113080436559,0.112985177191,0.112889916784,0.112794655339,0.112699392857,0.11260412934,0.112508864787,0.112413599201,0.112318332581,0.112223064928,0.112127796244,0.11203252653,0.111937255786,0.111841984012,0.111746711211,0.111651437383,0.111556162528,0.111460886648,0.111365609743,0.111270331815,0.111175052864,0.111079772891,0.110984491897,0.110889209883,0.11079392685,0.110698642798,0.110603357729,0.110508071643,0.110412784541,0.110317496424,0.110222207294,0.11012691715,0.110031625994,0.109936333827,0.109841040649,0.109745746461,0.109650451265,0.109555155061,0.10945985785,0.109364559632,0.10926926041,0.109173960183,0.109078658952,0.108983356719,0.108888053485,0.108792749249,0.108697444013,0.108602137778,0.108506830545,0.108411522315,0.108316213088,0.108220902865,0.108125591648,0.108030279437,0.107934966233,0.107839652036,0.107744336849,0.107649020671,0.107553703504,0.107458385348,0.107363066204,0.107267746073,0.107172424957,0.107077102855,0.106981779769,0.1068864557,0.106791130648,0.106695804615,0.106600477601,0.106505149607,0.106409820634,0.106314490683,0.106219159755,0.106123827851,0.106028494971,0.105933161116,0.105837826288,0.105742490487,0.105647153713,0.105551815969,0.105456477255,0.105361137571,0.105265796919,0.105170455299,0.105075112713,0.10497976916,0.104884424643,0.104789079162,0.104693732717,0.10459838531,0.104503036942,0.104407687613,0.104312337325,0.104216986077,0.104121633872,0.10402628071,0.103930926591,0.103835571517,0.103740215489,0.103644858507,0.103549500573,0.103454141686,0.103358781849,0.103263421062,0.103168059325,0.10307269664,0.102977333008,0.102881968429,0.102786602905,0.102691236436,0.102595869022,0.102500500666,0.102405131368,0.102309761128,0.102214389948,0.102119017829,0.10202364477,0.101928270774,0.101832895841,0.101737519973,0.101642143168,0.10154676543,0.101451386758,0.101356007154,0.101260626618,0.101165245151,0.101069862755,0.100974479429,0.100879095176,0.100783709995,0.100688323887,0.100592936854,0.100497548897,0.100402160016,0.100306770211,0.100211379485,0.100115987838,0.100020595271,0.0999252017837,0.0998298073783,0.0997344120553,0.0996390158156,0.0995436186601,0.0994482205895,0.0993528216049,0.099257421707,0.0991620208967,0.099066619175,0.0989712165427,0.0988758130007,0.0987804085498,0.098685003191,0.098589596925,0.0984941897529,0.0983987816754,0.0983033726934,0.0982079628079,0.0981125520196,0.0980171403296,0.0979217277385,0.0978263142474,0.0977308998571,0.0976354845685,0.0975400683825,0.0974446512998,0.0973492333215,0.0972538144484,0.0971583946813,0.0970629740212,0.0969675524688,0.0968721300252,0.0967767066912,0.0966812824676,0.0965858573553,0.0964904313553,0.0963950044683,0.0962995766952,0.096204148037,0.0961087184946,0.0960132880687,0.0959178567602,0.0958224245702,0.0957269914993,0.0956315575485,0.0955361227188,0.0954406870108,0.0953452504256,0.095249812964,0.0951543746269,0.0950589354152,0.0949634953296,0.0948680543712,0.0947726125408,0.0946771698393,0.0945817262675,0.0944862818264,0.0943908365167,0.0942953903394,0.0941999432954,0.0941044953855,0.0940090466106,0.0939135969716,0.0938181464694,0.0937226951048,0.0936272428788,0.0935317897921,0.0934363358457,0.0933408810405,0.0932454253773,0.093149968857,0.0930545114805,0.0929590532487,0.0928635941624,0.0927681342225,0.0926726734299,0.0925772117855,0.0924817492901,0.0923862859447,0.0922908217501,0.0921953567071,0.0920998908167,0.0920044240798,0.0919089564971,0.0918134880697,0.0917180187983,0.0916225486839,0.0915270777273,0.0914316059294,0.0913361332911,0.0912406598132,0.0911451854967,0.0910497103424,0.0909542343511,0.0908587575239,0.0907632798615,0.0906678013648,0.0905723220347,0.0904768418721,0.0903813608779,0.0902858790529,0.0901903963979,0.090094912914,0.089999428602,0.0899039434627,0.089808457497,0.0897129707058,0.08961748309,0.0895219946505,0.0894265053881,0.0893310153037,0.0892355243981,0.0891400326724,0.0890445401273,0.0889490467637,0.0888535525825,0.0887580575846,0.0886625617709,0.0885670651421,0.0884715676993,0.0883760694433,0.088280570375,0.0881850704952,0.0880895698048,0.0879940683047,0.0878985659958,0.0878030628789,0.087707558955,0.0876120542249,0.0875165486895,0.0874210423496,0.0873255352062,0.0872300272601,0.0871345185122,0.0870390089634,0.0869434986145,0.0868479874665,0.0867524755202,0.0866569627765,0.0865614492363,0.0864659349003,0.0863704197697,0.0862749038451,0.0861793871275,0.0860838696177,0.0859883513167,0.0858928322253,0.0857973123444,0.0857017916749,0.0856062702176,0.0855107479735,0.0854152249433,0.085319701128,0.0852241765285,0.0851286511456,0.0850331249803,0.0849375980333,0.0848420703056,0.0847465417981,0.0846510125116,0.0845554824469,0.0844599516051,0.0843644199869,0.0842688875933,0.0841733544251,0.0840778204832,0.0839822857685,0.0838867502818,0.083791214024,0.0836956769961,0.0836001391988,0.0835046006332,0.0834090612999,0.0833135212,0.0832179803343,0.0831224387036,0.0830268963089,0.0829313531511,0.0828358092309,0.0827402645494,0.0826447191073,0.0825491729056,0.0824536259451,0.0823580782266,0.0822625297512,0.0821669805197,0.0820714305328,0.0819758797916,0.0818803282969,0.0817847760496,0.0816892230505,0.0815936693005,0.0814981148006,0.0814025595515,0.0813070035542,0.0812114468096,0.0811158893185,0.0810203310817,0.0809247721003,0.080829212375,0.0807336519067,0.0806380906964,0.0805425287448,0.080446966053,0.0803514026216,0.0802558384517,0.0801602735441,0.0800647078997,0.0799691415193,0.0798735744039,0.0797780065543,0.0796824379714,0.0795868686561,0.0794912986092,0.0793957278317,0.0793001563244,0.0792045840882,0.0791090111239,0.0790134374325,0.0789178630148,0.0788222878717,0.0787267120041,0.0786311354128,0.0785355580988,0.078439980063,0.0783444013061,0.0782488218291,0.0781532416328,0.0780576607182,0.077962079086,0.0778664967373,0.0777709136729,0.0776753298935,0.0775797454003,0.0774841601939,0.0773885742753,0.0772929876453,0.0771974003049,0.0771018122549,0.0770062234962,0.0769106340297,0.0768150438563,0.0767194529767,0.076623861392,0.076528269103,0.0764326761105,0.0763370824155,0.0762414880189,0.0761458929214,0.076050297124,0.0759547006275,0.075859103433,0.0757635055411,0.0756679069528,0.075572307669,0.0754767076906,0.0753811070184,0.0752855056533,0.0751899035962,0.0750943008479,0.0749986974094,0.0749030932816,0.0748074884652,0.0747118829613,0.0746162767706,0.074520669894,0.0744250623325,0.0743294540868,0.074233845158,0.0741382355468,0.0740426252541,0.0739470142809,0.073851402628,0.0737557902962,0.0736601772865,0.0735645635997,0.0734689492367,0.0733733341984,0.0732777184857,0.0731821020994,0.0730864850405,0.0729908673097,0.072895248908,0.0727996298364,0.0727040100955,0.0726083896864,0.0725127686098,0.0724171468668,0.0723215244581,0.0722259013846,0.0721302776472,0.0720346532469,0.0719390281844,0.0718434024607,0.0717477760766,0.071652149033,0.0715565213308,0.0714608929708,0.0713652639541,0.0712696342813,0.0711740039534,0.0710783729714,0.070982741336,0.0708871090481,0.0707914761086,0.0706958425185,0.0706002082785,0.0705045733896,0.0704089378526,0.0703133016685,0.070217664838,0.0701220273621,0.0700263892417,0.0699307504776,0.0698351110707,0.0697394710219,0.0696438303321,0.0695481890021,0.0694525470328,0.0693569044252,0.06926126118,0.0691656172982,0.0690699727807,0.0689743276283,0.0688786818418,0.0687830354223,0.0686873883705,0.0685917406874,0.0684960923738,0.0684004434305,0.0683047938586,0.0682091436588,0.0681134928321,0.0680178413792,0.0679221893012,0.0678265365988,0.067730883273,0.0676352293246,0.0675395747545,0.0674439195637,0.0673482637529,0.067252607323,0.067156950275,0.0670612926096,0.0669656343279,0.0668699754306,0.0667743159187,0.066678655793,0.0665829950544,0.0664873337038,0.066391671742,0.06629600917,0.0662003459886,0.0661046821988,0.0660090178013,0.065913352797,0.0658176871869,0.0657220209718,0.0656263541526,0.0655306867302,0.0654350187054,0.0653393500792,0.0652436808524,0.0651480110259,0.0650523406005,0.0649566695772,0.0648609979569,0.0647653257403,0.0646696529285,0.0645739795222,0.0644783055224,0.0643826309299,0.0642869557456,0.0641912799704,0.0640956036051,0.0639999266507,0.063904249108,0.063808570978,0.0637128922614,0.0636172129592,0.0635215330722,0.0634258526014,0.0633301715475,0.0632344899116,0.0631388076944,0.0630431248968,0.0629474415198,0.0628517575642,0.0627560730308,0.0626603879206,0.0625647022345,0.0624690159732,0.0623733291378,0.062277641729,0.0621819537478,0.0620862651951,0.0619905760716,0.0618948863784,0.0617991961162,0.061703505286,0.0616078138886,0.0615121219249,0.0614164293958,0.0613207363022,0.061225042645,0.0611293484249,0.061033653643,0.0609379583001,0.0608422623971,0.0607465659348,0.0606508689141,0.0605551713359,0.0604594732012,0.0603637745107,0.0602680752653,0.060172375466,0.0600766751136,0.059980974209,0.059885272753,0.0597895707466,0.0596938681907,0.059598165086,0.0595024614335,0.0594067572341,0.0593110524886,0.059215347198,0.059119641363,0.0590239349847,0.0589282280638,0.0588325206012,0.0587368125979,0.0586411040547,0.0585453949724,0.0584496853521,0.0583539751944,0.0582582645004,0.0581625532709,0.0580668415068,0.0579711292089,0.0578754163782,0.0577797030155,0.0576839891217,0.0575882746977,0.0574925597444,0.0573968442626,0.0573011282532,0.0572054117171,0.0571096946552,0.0570139770683,0.0569182589574,0.0568225403233,0.0567268211669,0.0566311014891,0.0565353812907,0.0564396605727,0.0563439393359,0.0562482175812,0.0561524953095,0.0560567725216,0.0559610492185,0.055865325401,0.05576960107,0.0556738762264,0.055578150871,0.0554824250048,0.0553866986286,0.0552909717432,0.0551952443497,0.0550995164488,0.0550037880415,0.0549080591285,0.0548123297109,0.0547165997894,0.054620869365,0.0545251384386,0.0544294070109,0.054333675083,0.0542379426556,0.0541422097297,0.0540464763061,0.0539507423857,0.0538550079695,0.0537592730582,0.0536635376527,0.053567801754,0.0534720653629,0.0533763284804,0.0532805911071,0.0531848532442,0.0530891148924,0.0529933760526,0.0528976367257,0.0528018969125,0.0527061566141,0.0526104158311,0.0525146745646,0.0524189328154,0.0523231905843,0.0522274478723,0.0521317046803,0.052035961009,0.0519402168595,0.0518444722325,0.051748727129,0.0516529815499,0.0515572354959,0.051461488968,0.0513657419672,0.0512699944941,0.0511742465499,0.0510784981352,0.050982749251,0.0508869998982,0.0507912500777,0.0506954997903,0.0505997490369,0.0505039978184,0.0504082461357,0.0503124939897,0.0502167413812,0.0501209883111,0.0500252347803,0.0499294807897,0.0498337263401,0.0497379714325,0.0496422160677,0.0495464602466,0.0494507039701,0.049354947239,0.0492591900543,0.0491634324168,0.0490676743274,0.048971915787,0.0488761567964,0.0487803973566,0.0486846374684,0.0485888771327,0.0484931163504,0.0483973551224,0.0483015934495,0.0482058313326,0.0481100687726,0.0480143057704,0.0479185423269,0.0478227784429,0.0477270141193,0.047631249357,0.047535484157,0.0474397185199,0.0473439524469,0.0472481859386,0.0471524189961,0.0470566516201,0.0469608838116,0.0468651155715,0.0467693469005,0.0466735777997,0.0465778082699,0.0464820383119,0.0463862679267,0.0462904971151,0.046194725878,0.0460989542163,0.0460031821309,0.0459074096226,0.0458116366924,0.045715863341,0.0456200895695,0.0455243153786,0.0454285407693,0.0453327657424,0.0452369902988,0.0451412144394,0.0450454381651,0.0449496614767,0.0448538843752,0.0447581068613,0.0446623289361,0.0445665506003,0.0444707718549,0.0443749927008,0.0442792131387,0.0441834331696,0.0440876527945,0.043991872014,0.0438960908292,0.0438003092409,0.0437045272501,0.0436087448575,0.043512962064,0.0434171788706,0.0433213952781,0.0432256112874,0.0431298268994,0.043034042115,0.0429382569349,0.0428424713602,0.0427466853918,0.0426508990304,0.0425551122769,0.0424593251323,0.0423635375974,0.0422677496731,0.0421719613603,0.0420761726599,0.0419803835727,0.0418845940997,0.0417888042416,0.0416930139995,0.0415972233741,0.0415014323663,0.0414056409771,0.0413098492073,0.0412140570577,0.0411182645294,0.0410224716231,0.0409266783397,0.0408308846801,0.0407350906452,0.0406392962359,0.0405435014531,0.0404477062976,0.0403519107703,0.040256114872,0.0401603186038,0.0400645219664,0.0399687249608,0.0398729275877,0.0397771298482,0.039681331743,0.0395855332731,0.0394897344394,0.0393939352426,0.0392981356838,0.0392023357637,0.0391065354833,0.0390107348435,0.038914933845,0.0388191324889,0.0387233307759,0.038627528707,0.0385317262831,0.038435923505,0.0383401203736,0.0382443168897,0.0381485130544,0.0380527088683,0.0379569043325,0.0378610994479,0.0377652942152,0.0376694886353,0.0375736827093,0.0374778764378,0.0373820698219,0.0372862628624,0.0371904555601,0.037094647916,0.0369988399309,0.0369030316057,0.0368072229414,0.0367114139387,0.0366156045985,0.0365197949218,0.0364239849094,0.0363281745623,0.0362323638812,0.036136552867,0.0360407415207,0.0359449298431,0.0358491178351,0.0357533054976,0.0356574928315,0.0355616798376,0.0354658665169,0.0353700528701,0.0352742388982,0.0351784246021,0.0350826099826,0.0349867950407,0.0348909797772,0.034795164193,0.0346993482889,0.0346035320659,0.0345077155248,0.0344118986665,0.034316081492,0.034220264002,0.0341244461974,0.0340286280792,0.0339328096482,0.0338369909053,0.0337411718514,0.0336453524873,0.033549532814,0.0334537128323,0.0333578925431,0.0332620719473,0.0331662510457,0.0330704298393,0.0329746083289,0.0328787865154,0.0327829643997,0.0326871419827,0.0325913192652,0.0324954962481,0.0323996729324,0.0323038493188,0.0322080254083,0.0321122012018,0.0320163767,0.031920551904,0.0318247268146,0.0317289014327,0.0316330757591,0.0315372497948,0.0314414235406,0.0313455969973,0.031249770166,0.0311539430474,0.0310581156424,0.030962287952,0.030866459977,0.0307706317182,0.0306748031766,0.0305789743531,0.0304831452485,0.0303873158637,0.0302914861995,0.030195656257,0.0300998260369,0.0300039955401,0.0299081647675,0.02981233372,0.0297165023985,0.0296206708039,0.0295248389369,0.0294290067986,0.0293331743898,0.0292373417114,0.0291415087642,0.0290456755491,0.0289498420671,0.028854008319,0.0287581743056,0.028662340028,0.0285665054868,0.0284706706831,0.0283748356177,0.0282790002914,0.0281831647053,0.02808732886,0.0279914927567,0.027895656396,0.0277998197789,0.0277039829062,0.027608145779,0.0275123083979,0.027416470764,0.0273206328781,0.027224794741,0.0271289563537,0.027033117717,0.0269372788319,0.0268414396991,0.0267456003196,0.0266497606943,0.026553920824,0.0264580807097,0.0263622403521,0.0262663997523,0.026170558911,0.0260747178291,0.0259788765076,0.0258830349473,0.025787193149,0.0256913511138,0.0255955088423,0.0254996663357,0.0254038235946,0.02530798062,0.0252121374128,0.0251162939739,0.0250204503041,0.0249246064043,0.0248287622754,0.0247329179183,0.0246370733338,0.0245412285229,0.0244453834864,0.0243495382252,0.0242536927402,0.0241578470323,0.0240620011023,0.0239661549511,0.0238703085797,0.0237744619888,0.0236786151794,0.0235827681524,0.0234869209086,0.0233910734489,0.0232952257742,0.0231993778853,0.0231035297833,0.0230076814688,0.0229118329429,0.0228159842064,0.0227201352602,0.0226242861051,0.0225284367421,0.0224325871719,0.0223367373956,0.022240887414,0.022145037228,0.0220491868384,0.0219533362461,0.021857485452,0.021761634457,0.021665783262,0.0215699318679,0.0214740802755,0.0213782284857,0.0212823764994,0.0211865243174,0.0210906719408,0.0209948193702,0.0208989666067,0.0208031136511,0.0207072605043,0.0206114071671,0.0205155536405,0.0204196999253,0.0203238460224,0.0202279919327,0.0201321376571,0.0200362831964,0.0199404285515,0.0198445737234,0.0197487187128,0.0196528635207,0.019557008148,0.0194611525955,0.0193652968642,0.0192694409548,0.0191735848683,0.0190777286056,0.0189818721675,0.0188860155549,0.0187901587688,0.0186943018099,0.0185984446792,0.0185025873775,0.0184067299058,0.0183108722649,0.0182150144556,0.018119156479,0.0180232983358,0.0179274400269,0.0178315815532,0.0177357229157,0.0176398641151,0.0175440051524,0.0174481460284,0.017352286744,0.0172564273001,0.0171605676976,0.0170647079374,0.0169688480203,0.0168729879473,0.0167771277191,0.0166812673368,0.0165854068011,0.016489546113,0.0163936852733,0.0162978242829,0.0162019631427,0.0161061018535,0.0160102404164,0.015914378832,0.0158185171014,0.0157226552254,0.0156267932049,0.0155309310407,0.0154350687338,0.015339206285,0.0152433436952,0.0151474809653,0.0150516180961,0.0149557550886,0.0148598919437,0.0147640286621,0.0146681652449,0.0145723016928,0.0144764380067,0.0143805741876,0.0142847102364,0.0141888461538,0.0140929819408,0.0139971175982,0.013901253127,0.0138053885281,0.0137095238022,0.0136136589503,0.0135177939733,0.013421928872,0.0133260636473,0.0132301983002,0.0131343328315,0.013038467242,0.0129426015327,0.0128467357044,0.012750869758,0.0126550036944,0.0125591375145,0.0124632712192,0.0123674048093,0.0122715382857,0.0121756716493,0.0120798049011,0.0119839380417,0.0118880710723,0.0117922039935,0.0116963368064,0.0116004695117,0.0115046021104,0.0114087346034,0.0113128669915,0.0112169992756,0.0111211314566,0.0110252635354,0.0109293955129,0.0108335273899,0.0107376591673,0.010641790846,0.0105459224269,0.0104500539108,0.0103541852987,0.0102583165915,0.0101624477899,0.0100665788949,0.00997070990742,0.00987484082827,0.00977897165835,0.00968310239854,0.00958723304973,0.00949136361279,0.00939549408862,0.00929962447808,0.00920375478206,0.00910788500144,0.00901201513711,0.00891614518993,0.00882027516081,0.00872440505061,0.00862853486021,0.00853266459051,0.00843679424237,0.00834092381668,0.00824505331433,0.00814918273619,0.00805331208315,0.00795744135607,0.00786157055586,0.00776569968339,0.00766982873953,0.00757395772518,0.0074780866412,0.00738221548849,0.00728634426793,0.00719047298039,0.00709460162675,0.00699873020791,0.00690285872473,0.0068069871781,0.00671111556891,0.00661524389803,0.00651937216634,0.00642350037473,0.00632762852407,0.00623175661525,0.00613588464915,0.00604001262666,0.00594414054864,0.00584826841598,0.00575239622957,0.00565652399029,0.00556065169901,0.00546477935662,0.005368906964,0.00527303452202,0.00517716203158,0.00508128949356,0.00498541690882,0.00488954427826,0.00479367160276,0.00469779888319,0.00460192612045,0.0045060533154,0.00441018046894,0.00431430758194,0.00421843465528,0.00412256168984,0.00402668868652,0.00393081564618,0.00383494256971,0.00373906945799,0.0036431963119,0.00354732313232,0.00345144992014,0.00335557667623,0.00325970340148,0.00316383009676,0.00306795676297,0.00297208340097,0.00287621001166,0.0027803365959,0.0026844631546,0.00258858968861,0.00249271619884,0.00239684268615,0.00230096915143,0.00220509559556,0.00210922201942,0.00201334842389,0.00191747480986,0.0018216011782,0.0017257275298,0.00162985386553,0.00153398018629,0.00143810649294,0.00134223278637,0.00124635906747,0.00115048533711,0.00105461159618,0.000958737845554,0.000862864086114,0.000766990318743,0.000671116544322,0.000575242763732,0.000479368977855,0.000383495187571,0.000287621393763,0.000191747597311,9.58737990959e-05,1.22464679915e-16,-9.58737990957e-05,-0.000191747597311,-0.000287621393763,-0.000383495187571,-0.000479368977855,-0.000575242763732,-0.000671116544321,-0.000766990318743,-0.000862864086113,-0.000958737845553,-0.00105461159618,-0.00115048533711,-0.00124635906747,-0.00134223278637,-0.00143810649294,-0.00153398018628,-0.00162985386553,-0.00172572752979,-0.0018216011782,-0.00191747480986,-0.00201334842389,-0.00210922201942,-0.00220509559555,-0.00230096915143,-0.00239684268615,-0.00249271619884,-0.00258858968861,-0.0026844631546,-0.0027803365959,-0.00287621001166,-0.00297208340097,-0.00306795676297,-0.00316383009676,-0.00325970340148,-0.00335557667623,-0.00345144992014,-0.00354732313232,-0.0036431963119,-0.00373906945799,-0.00383494256971,-0.00393081564618,-0.00402668868652,-0.00412256168984,-0.00421843465528,-0.00431430758194,-0.00441018046894,-0.0045060533154,-0.00460192612045,-0.00469779888319,-0.00479367160276,-0.00488954427826,-0.00498541690882,-0.00508128949356,-0.00517716203158,-0.00527303452202,-0.005368906964,-0.00546477935662,-0.00556065169901,-0.00565652399029,-0.00575239622957,-0.00584826841598,-0.00594414054864,-0.00604001262666,-0.00613588464915,-0.00623175661525,-0.00632762852407,-0.00642350037473,-0.00651937216634,-0.00661524389803,-0.00671111556891,-0.0068069871781,-0.00690285872473,-0.00699873020791,-0.00709460162675,-0.00719047298039,-0.00728634426793,-0.00738221548849,-0.0074780866412,-0.00757395772518,-0.00766982873953,-0.00776569968339,-0.00786157055586,-0.00795744135607,-0.00805331208315,-0.00814918273619,-0.00824505331433,-0.00834092381668,-0.00843679424237,-0.00853266459051,-0.00862853486021,-0.00872440505061,-0.00882027516081,-0.00891614518993,-0.00901201513711,-0.00910788500144,-0.00920375478206,-0.00929962447808,-0.00939549408862,-0.00949136361279,-0.00958723304973,-0.00968310239854,-0.00977897165835,-0.00987484082827,-0.00997070990742,-0.0100665788949,-0.0101624477899,-0.0102583165915,-0.0103541852987,-0.0104500539108,-0.0105459224269,-0.010641790846,-0.0107376591673,-0.0108335273899,-0.0109293955129,-0.0110252635354,-0.0111211314566,-0.0112169992756,-0.0113128669915,-0.0114087346034,-0.0115046021104,-0.0116004695117,-0.0116963368064,-0.0117922039935,-0.0118880710723,-0.0119839380417,-0.0120798049011,-0.0121756716493,-0.0122715382857,-0.0123674048093,-0.0124632712192,-0.0125591375145,-0.0126550036944,-0.012750869758,-0.0128467357044,-0.0129426015327,-0.013038467242,-0.0131343328315,-0.0132301983002,-0.0133260636473,-0.013421928872,-0.0135177939733,-0.0136136589503,-0.0137095238022,-0.0138053885281,-0.013901253127,-0.0139971175982,-0.0140929819408,-0.0141888461538,-0.0142847102364,-0.0143805741876,-0.0144764380067,-0.0145723016928,-0.0146681652449,-0.0147640286621,-0.0148598919437,-0.0149557550886,-0.0150516180961,-0.0151474809653,-0.0152433436952,-0.015339206285,-0.0154350687338,-0.0155309310407,-0.0156267932049,-0.0157226552254,-0.0158185171014,-0.015914378832,-0.0160102404164,-0.0161061018535,-0.0162019631427,-0.0162978242829,-0.0163936852733,-0.016489546113,-0.0165854068011,-0.0166812673368,-0.0167771277191,-0.0168729879473,-0.0169688480203,-0.0170647079374,-0.0171605676976,-0.0172564273001,-0.017352286744,-0.0174481460284,-0.0175440051524,-0.0176398641151,-0.0177357229157,-0.0178315815532,-0.0179274400269,-0.0180232983358,-0.018119156479,-0.0182150144556,-0.0183108722649,-0.0184067299058,-0.0185025873775,-0.0185984446792,-0.0186943018099,-0.0187901587688,-0.0188860155549,-0.0189818721675,-0.0190777286056,-0.0191735848683,-0.0192694409548,-0.0193652968642,-0.0194611525955,-0.019557008148,-0.0196528635207,-0.0197487187128,-0.0198445737234,-0.0199404285515,-0.0200362831964,-0.0201321376571,-0.0202279919327,-0.0203238460224,-0.0204196999253,-0.0205155536405,-0.0206114071671,-0.0207072605043,-0.0208031136511,-0.0208989666067,-0.0209948193702,-0.0210906719408,-0.0211865243174,-0.0212823764994,-0.0213782284857,-0.0214740802755,-0.0215699318679,-0.021665783262,-0.021761634457,-0.021857485452,-0.0219533362461,-0.0220491868384,-0.022145037228,-0.022240887414,-0.0223367373956,-0.0224325871719,-0.0225284367421,-0.0226242861051,-0.0227201352602,-0.0228159842064,-0.0229118329429,-0.0230076814688,-0.0231035297833,-0.0231993778853,-0.0232952257742,-0.0233910734489,-0.0234869209086,-0.0235827681524,-0.0236786151794,-0.0237744619888,-0.0238703085797,-0.0239661549511,-0.0240620011023,-0.0241578470323,-0.0242536927402,-0.0243495382252,-0.0244453834864,-0.0245412285229,-0.0246370733338,-0.0247329179183,-0.0248287622754,-0.0249246064043,-0.0250204503041,-0.0251162939739,-0.0252121374128,-0.02530798062,-0.0254038235946,-0.0254996663357,-0.0255955088423,-0.0256913511138,-0.025787193149,-0.0258830349473,-0.0259788765076,-0.0260747178291,-0.026170558911,-0.0262663997523,-0.0263622403521,-0.0264580807097,-0.026553920824,-0.0266497606943,-0.0267456003196,-0.0268414396991,-0.0269372788319,-0.027033117717,-0.0271289563537,-0.027224794741,-0.0273206328781,-0.027416470764,-0.0275123083979,-0.027608145779,-0.0277039829062,-0.0277998197789,-0.027895656396,-0.0279914927567,-0.02808732886,-0.0281831647053,-0.0282790002914,-0.0283748356177,-0.0284706706831,-0.0285665054868,-0.028662340028,-0.0287581743056,-0.028854008319,-0.0289498420671,-0.0290456755491,-0.0291415087642,-0.0292373417114,-0.0293331743898,-0.0294290067986,-0.0295248389369,-0.0296206708039,-0.0297165023985,-0.02981233372,-0.0299081647675,-0.0300039955401,-0.0300998260369,-0.030195656257,-0.0302914861995,-0.0303873158637,-0.0304831452485,-0.0305789743531,-0.0306748031766,-0.0307706317182,-0.030866459977,-0.030962287952,-0.0310581156424,-0.0311539430474,-0.031249770166,-0.0313455969973,-0.0314414235406,-0.0315372497948,-0.0316330757591,-0.0317289014327,-0.0318247268146,-0.031920551904,-0.0320163767,-0.0321122012018,-0.0322080254083,-0.0323038493188,-0.0323996729324,-0.0324954962481,-0.0325913192652,-0.0326871419827,-0.0327829643997,-0.0328787865154,-0.0329746083289,-0.0330704298393,-0.0331662510457,-0.0332620719473,-0.0333578925431,-0.0334537128323,-0.033549532814,-0.0336453524873,-0.0337411718514,-0.0338369909053,-0.0339328096482,-0.0340286280792,-0.0341244461974,-0.034220264002,-0.034316081492,-0.0344118986665,-0.0345077155248,-0.0346035320659,-0.0346993482889,-0.034795164193,-0.0348909797772,-0.0349867950407,-0.0350826099826,-0.0351784246021,-0.0352742388982,-0.0353700528701,-0.0354658665169,-0.0355616798376,-0.0356574928315,-0.0357533054976,-0.0358491178351,-0.0359449298431,-0.0360407415207,-0.036136552867,-0.0362323638812,-0.0363281745623,-0.0364239849094,-0.0365197949218,-0.0366156045985,-0.0367114139387,-0.0368072229414,-0.0369030316057,-0.0369988399309,-0.037094647916,-0.0371904555601,-0.0372862628624,-0.0373820698219,-0.0374778764378,-0.0375736827093,-0.0376694886353,-0.0377652942152,-0.0378610994479,-0.0379569043325,-0.0380527088683,-0.0381485130544,-0.0382443168897,-0.0383401203736,-0.038435923505,-0.0385317262831,-0.038627528707,-0.0387233307759,-0.0388191324889,-0.038914933845,-0.0390107348435,-0.0391065354833,-0.0392023357637,-0.0392981356838,-0.0393939352426,-0.0394897344394,-0.0395855332731,-0.039681331743,-0.0397771298482,-0.0398729275877,-0.0399687249608,-0.0400645219664,-0.0401603186038,-0.040256114872,-0.0403519107703,-0.0404477062976,-0.0405435014531,-0.0406392962359,-0.0407350906452,-0.0408308846801,-0.0409266783397,-0.0410224716231,-0.0411182645294,-0.0412140570577,-0.0413098492073,-0.0414056409771,-0.0415014323663,-0.0415972233741,-0.0416930139995,-0.0417888042416,-0.0418845940997,-0.0419803835727,-0.0420761726599,-0.0421719613603,-0.0422677496731,-0.0423635375974,-0.0424593251323,-0.0425551122769,-0.0426508990304,-0.0427466853918,-0.0428424713602,-0.0429382569349,-0.043034042115,-0.0431298268994,-0.0432256112874,-0.0433213952781,-0.0434171788706,-0.043512962064,-0.0436087448575,-0.0437045272501,-0.0438003092409,-0.0438960908292,-0.043991872014,-0.0440876527945,-0.0441834331696,-0.0442792131387,-0.0443749927008,-0.0444707718549,-0.0445665506003,-0.0446623289361,-0.0447581068613,-0.0448538843752,-0.0449496614767,-0.0450454381651,-0.0451412144394,-0.0452369902988,-0.0453327657424,-0.0454285407693,-0.0455243153786,-0.0456200895695,-0.045715863341,-0.0458116366924,-0.0459074096226,-0.0460031821309,-0.0460989542163,-0.046194725878,-0.0462904971151,-0.0463862679267,-0.0464820383119,-0.0465778082699,-0.0466735777997,-0.0467693469005,-0.0468651155715,-0.0469608838116,-0.0470566516201,-0.0471524189961,-0.0472481859386,-0.0473439524469,-0.0474397185199,-0.047535484157,-0.047631249357,-0.0477270141193,-0.0478227784429,-0.0479185423269,-0.0480143057704,-0.0481100687726,-0.0482058313326,-0.0483015934495,-0.0483973551224,-0.0484931163504,-0.0485888771327,-0.0486846374684,-0.0487803973566,-0.0488761567964,-0.048971915787,-0.0490676743274,-0.0491634324168,-0.0492591900543,-0.049354947239,-0.0494507039701,-0.0495464602466,-0.0496422160677,-0.0497379714325,-0.0498337263401,-0.0499294807897,-0.0500252347803,-0.0501209883111,-0.0502167413812,-0.0503124939897,-0.0504082461357,-0.0505039978184,-0.0505997490369,-0.0506954997903,-0.0507912500777,-0.0508869998982,-0.050982749251,-0.0510784981352,-0.0511742465499,-0.0512699944941,-0.0513657419672,-0.051461488968,-0.0515572354959,-0.0516529815499,-0.051748727129,-0.0518444722325,-0.0519402168595,-0.052035961009,-0.0521317046803,-0.0522274478723,-0.0523231905843,-0.0524189328154,-0.0525146745646,-0.0526104158311,-0.0527061566141,-0.0528018969125,-0.0528976367257,-0.0529933760526,-0.0530891148924,-0.0531848532442,-0.0532805911071,-0.0533763284804,-0.0534720653629,-0.053567801754,-0.0536635376527,-0.0537592730582,-0.0538550079695,-0.0539507423857,-0.0540464763061,-0.0541422097297,-0.0542379426556,-0.054333675083,-0.0544294070109,-0.0545251384386,-0.054620869365,-0.0547165997894,-0.0548123297109,-0.0549080591285,-0.0550037880415,-0.0550995164488,-0.0551952443497,-0.0552909717432,-0.0553866986286,-0.0554824250048,-0.055578150871,-0.0556738762264,-0.05576960107,-0.055865325401,-0.0559610492185,-0.0560567725216,-0.0561524953095,-0.0562482175812,-0.0563439393359,-0.0564396605727,-0.0565353812907,-0.0566311014891,-0.0567268211669,-0.0568225403233,-0.0569182589574,-0.0570139770683,-0.0571096946552,-0.0572054117171,-0.0573011282532,-0.0573968442626,-0.0574925597444,-0.0575882746977,-0.0576839891217,-0.0577797030155,-0.0578754163782,-0.0579711292089,-0.0580668415068,-0.0581625532709,-0.0582582645004,-0.0583539751944,-0.0584496853521,-0.0585453949724,-0.0586411040547,-0.0587368125979,-0.0588325206012,-0.0589282280638,-0.0590239349847,-0.059119641363,-0.059215347198,-0.0593110524886,-0.0594067572341,-0.0595024614335,-0.059598165086,-0.0596938681907,-0.0597895707466,-0.059885272753,-0.059980974209,-0.0600766751136,-0.060172375466,-0.0602680752653,-0.0603637745107,-0.0604594732012,-0.0605551713359,-0.0606508689141,-0.0607465659348,-0.0608422623971,-0.0609379583001,-0.061033653643,-0.0611293484249,-0.061225042645,-0.0613207363022,-0.0614164293958,-0.0615121219249,-0.0616078138886,-0.061703505286,-0.0617991961162,-0.0618948863784,-0.0619905760716,-0.0620862651951,-0.0621819537478,-0.062277641729,-0.0623733291378,-0.0624690159732,-0.0625647022345,-0.0626603879206,-0.0627560730308,-0.0628517575642,-0.0629474415198,-0.0630431248968,-0.0631388076944,-0.0632344899116,-0.0633301715475,-0.0634258526014,-0.0635215330722,-0.0636172129592,-0.0637128922614,-0.063808570978,-0.063904249108,-0.0639999266507,-0.0640956036051,-0.0641912799704,-0.0642869557456,-0.0643826309299,-0.0644783055224,-0.0645739795222,-0.0646696529285,-0.0647653257403,-0.0648609979569,-0.0649566695772,-0.0650523406005,-0.0651480110259,-0.0652436808524,-0.0653393500792,-0.0654350187054,-0.0655306867302,-0.0656263541526,-0.0657220209718,-0.0658176871869,-0.065913352797,-0.0660090178013,-0.0661046821988,-0.0662003459886,-0.06629600917,-0.066391671742,-0.0664873337038,-0.0665829950544,-0.066678655793,-0.0667743159187,-0.0668699754306,-0.0669656343279,-0.0670612926096,-0.067156950275,-0.067252607323,-0.0673482637529,-0.0674439195637,-0.0675395747545,-0.0676352293246,-0.067730883273,-0.0678265365988,-0.0679221893012,-0.0680178413792,-0.0681134928321,-0.0682091436588,-0.0683047938586,-0.0684004434305,-0.0684960923738,-0.0685917406874,-0.0686873883705,-0.0687830354223,-0.0688786818418,-0.0689743276283,-0.0690699727807,-0.0691656172982,-0.06926126118,-0.0693569044252,-0.0694525470328,-0.0695481890021,-0.0696438303321,-0.0697394710219,-0.0698351110707,-0.0699307504776,-0.0700263892417,-0.0701220273621,-0.070217664838,-0.0703133016685,-0.0704089378526,-0.0705045733896,-0.0706002082785,-0.0706958425185,-0.0707914761086,-0.0708871090481,-0.070982741336,-0.0710783729714,-0.0711740039534,-0.0712696342813,-0.0713652639541,-0.0714608929708,-0.0715565213308,-0.071652149033,-0.0717477760766,-0.0718434024607,-0.0719390281844,-0.0720346532469,-0.0721302776472,-0.0722259013846,-0.0723215244581,-0.0724171468668,-0.0725127686098,-0.0726083896864,-0.0727040100955,-0.0727996298364,-0.072895248908,-0.0729908673097,-0.0730864850405,-0.0731821020994,-0.0732777184857,-0.0733733341984,-0.0734689492367,-0.0735645635997,-0.0736601772865,-0.0737557902962,-0.073851402628,-0.0739470142809,-0.0740426252541,-0.0741382355468,-0.074233845158,-0.0743294540868,-0.0744250623325,-0.074520669894,-0.0746162767706,-0.0747118829613,-0.0748074884652,-0.0749030932816,-0.0749986974094,-0.0750943008479,-0.0751899035962,-0.0752855056533,-0.0753811070184,-0.0754767076906,-0.075572307669,-0.0756679069528,-0.0757635055411,-0.075859103433,-0.0759547006275,-0.076050297124,-0.0761458929214,-0.0762414880189,-0.0763370824155,-0.0764326761105,-0.076528269103,-0.076623861392,-0.0767194529767,-0.0768150438563,-0.0769106340297,-0.0770062234962,-0.0771018122549,-0.0771974003049,-0.0772929876453,-0.0773885742753,-0.0774841601939,-0.0775797454003,-0.0776753298935,-0.0777709136729,-0.0778664967373,-0.077962079086,-0.0780576607182,-0.0781532416328,-0.0782488218291,-0.0783444013061,-0.078439980063,-0.0785355580988,-0.0786311354128,-0.0787267120041,-0.0788222878717,-0.0789178630148,-0.0790134374325,-0.0791090111239,-0.0792045840882,-0.0793001563244,-0.0793957278317,-0.0794912986092,-0.0795868686561,-0.0796824379714,-0.0797780065543,-0.0798735744039,-0.0799691415193,-0.0800647078997,-0.0801602735441,-0.0802558384517,-0.0803514026216,-0.0804469660529,-0.0805425287448,-0.0806380906964,-0.0807336519067,-0.080829212375,-0.0809247721003,-0.0810203310817,-0.0811158893185,-0.0812114468096,-0.0813070035542,-0.0814025595515,-0.0814981148006,-0.0815936693005,-0.0816892230505,-0.0817847760496,-0.0818803282969,-0.0819758797916,-0.0820714305328,-0.0821669805197,-0.0822625297512,-0.0823580782266,-0.0824536259451,-0.0825491729056,-0.0826447191073,-0.0827402645494,-0.0828358092309,-0.0829313531511,-0.0830268963089,-0.0831224387036,-0.0832179803343,-0.0833135212,-0.0834090612999,-0.0835046006332,-0.0836001391988,-0.0836956769961,-0.083791214024,-0.0838867502818,-0.0839822857685,-0.0840778204832,-0.0841733544251,-0.0842688875933,-0.0843644199869,-0.0844599516051,-0.0845554824469,-0.0846510125116,-0.0847465417981,-0.0848420703056,-0.0849375980333,-0.0850331249803,-0.0851286511456,-0.0852241765285,-0.085319701128,-0.0854152249433,-0.0855107479735,-0.0856062702176,-0.0857017916749,-0.0857973123444,-0.0858928322253,-0.0859883513167,-0.0860838696177,-0.0861793871275,-0.0862749038451,-0.0863704197697,-0.0864659349003,-0.0865614492363,-0.0866569627765,-0.0867524755202,-0.0868479874665,-0.0869434986145,-0.0870390089634,-0.0871345185122,-0.0872300272601,-0.0873255352062,-0.0874210423496,-0.0875165486895,-0.0876120542249,-0.087707558955,-0.0878030628789,-0.0878985659958,-0.0879940683047,-0.0880895698048,-0.0881850704952,-0.088280570375,-0.0883760694433,-0.0884715676993,-0.0885670651421,-0.0886625617709,-0.0887580575846,-0.0888535525825,-0.0889490467637,-0.0890445401273,-0.0891400326724,-0.0892355243981,-0.0893310153037,-0.0894265053881,-0.0895219946505,-0.08961748309,-0.0897129707058,-0.089808457497,-0.0899039434627,-0.089999428602,-0.090094912914,-0.0901903963979,-0.0902858790529,-0.0903813608779,-0.0904768418721,-0.0905723220347,-0.0906678013648,-0.0907632798615,-0.0908587575239,-0.0909542343511,-0.0910497103424,-0.0911451854967,-0.0912406598132,-0.0913361332911,-0.0914316059294,-0.0915270777273,-0.0916225486839,-0.0917180187983,-0.0918134880697,-0.0919089564971,-0.0920044240798,-0.0920998908167,-0.0921953567071,-0.0922908217501,-0.0923862859447,-0.0924817492901,-0.0925772117855,-0.0926726734299,-0.0927681342225,-0.0928635941624,-0.0929590532487,-0.0930545114805,-0.093149968857,-0.0932454253773,-0.0933408810405,-0.0934363358457,-0.0935317897921,-0.0936272428788,-0.0937226951048,-0.0938181464694,-0.0939135969716,-0.0940090466106,-0.0941044953855,-0.0941999432954,-0.0942953903394,-0.0943908365167,-0.0944862818264,-0.0945817262675,-0.0946771698393,-0.0947726125408,-0.0948680543712,-0.0949634953296,-0.0950589354152,-0.0951543746269,-0.095249812964,-0.0953452504256,-0.0954406870108,-0.0955361227188,-0.0956315575485,-0.0957269914993,-0.0958224245702,-0.0959178567602,-0.0960132880687,-0.0961087184946,-0.096204148037,-0.0962995766952,-0.0963950044683,-0.0964904313553,-0.0965858573553,-0.0966812824676,-0.0967767066912,-0.0968721300252,-0.0969675524688,-0.0970629740212,-0.0971583946813,-0.0972538144484,-0.0973492333215,-0.0974446512998,-0.0975400683825,-0.0976354845685,-0.0977308998571,-0.0978263142474,-0.0979217277385,-0.0980171403296,-0.0981125520196,-0.0982079628079,-0.0983033726934,-0.0983987816754,-0.0984941897529,-0.098589596925,-0.098685003191,-0.0987804085498,-0.0988758130007,-0.0989712165427,-0.099066619175,-0.0991620208967,-0.099257421707,-0.0993528216049,-0.0994482205895,-0.0995436186601,-0.0996390158156,-0.0997344120553,-0.0998298073783,-0.0999252017837,-0.100020595271,-0.100115987838,-0.100211379485,-0.100306770211,-0.100402160016,-0.100497548897,-0.100592936854,-0.100688323887,-0.100783709995,-0.100879095176,-0.100974479429,-0.101069862755,-0.101165245151,-0.101260626618,-0.101356007154,-0.101451386758,-0.10154676543,-0.101642143168,-0.101737519973,-0.101832895841,-0.101928270774,-0.10202364477,-0.102119017829,-0.102214389948,-0.102309761128,-0.102405131368,-0.102500500666,-0.102595869022,-0.102691236436,-0.102786602905,-0.102881968429,-0.102977333008,-0.10307269664,-0.103168059325,-0.103263421062,-0.103358781849,-0.103454141686,-0.103549500573,-0.103644858507,-0.103740215489,-0.103835571517,-0.103930926591,-0.10402628071,-0.104121633872,-0.104216986077,-0.104312337325,-0.104407687613,-0.104503036942,-0.10459838531,-0.104693732717,-0.104789079162,-0.104884424643,-0.10497976916,-0.105075112713,-0.105170455299,-0.105265796919,-0.105361137571,-0.105456477255,-0.105551815969,-0.105647153713,-0.105742490487,-0.105837826288,-0.105933161116,-0.106028494971,-0.106123827851,-0.106219159755,-0.106314490683,-0.106409820634,-0.106505149607,-0.106600477601,-0.106695804615,-0.106791130648,-0.1068864557,-0.106981779769,-0.107077102855,-0.107172424957,-0.107267746073,-0.107363066204,-0.107458385348,-0.107553703504,-0.107649020671,-0.107744336849,-0.107839652036,-0.107934966233,-0.108030279437,-0.108125591648,-0.108220902865,-0.108316213088,-0.108411522315,-0.108506830545,-0.108602137778,-0.108697444013,-0.108792749249,-0.108888053485,-0.108983356719,-0.109078658952,-0.109173960183,-0.10926926041,-0.109364559632,-0.10945985785,-0.109555155061,-0.109650451265,-0.109745746461,-0.109841040649,-0.109936333827,-0.110031625994,-0.11012691715,-0.110222207294,-0.110317496424,-0.110412784541,-0.110508071643,-0.110603357729,-0.110698642798,-0.11079392685,-0.110889209883,-0.110984491897,-0.111079772891,-0.111175052864,-0.111270331815,-0.111365609743,-0.111460886648,-0.111556162528,-0.111651437383,-0.111746711211,-0.111841984012,-0.111937255786,-0.11203252653,-0.112127796244,-0.112223064928,-0.112318332581,-0.112413599201,-0.112508864787,-0.11260412934,-0.112699392857,-0.112794655339,-0.112889916784,-0.112985177191,-0.113080436559,-0.113175694889,-0.113270952178,-0.113366208425,-0.113461463631,-0.113556717794,-0.113651970913,-0.113747222987,-0.113842474016,-0.113937723998,-0.114032972933,-0.11412822082,-0.114223467658,-0.114318713446,-0.114413958183,-0.114509201869,-0.114604444502,-0.114699686081,-0.114794926607,-0.114890166077,-0.114985404491,-0.115080641848,-0.115175878147,-0.115271113388,-0.115366347569,-0.115461580689,-0.115556812749,-0.115652043746,-0.11574727368,-0.11584250255,-0.115937730356,-0.116032957095,-0.116128182769,-0.116223407374,-0.116318630912,-0.11641385338,-0.116509074778,-0.116604295106,-0.116699514361,-0.116794732544,-0.116889949653,-0.116985165688,-0.117080380648,-0.117175594531,-0.117270807338,-0.117366019066,-0.117461229715,-0.117556439285,-0.117651647775,-0.117746855183,-0.117842061508,-0.117937266751,-0.118032470909,-0.118127673983,-0.11822287597,-0.118318076871,-0.118413276685,-0.11850847541,-0.118603673045,-0.118698869591,-0.118794065045,-0.118889259408,-0.118984452678,-0.119079644854,-0.119174835935,-0.119270025921,-0.119365214811,-0.119460402604,-0.119555589298,-0.119650774894,-0.119745959389,-0.119841142785,-0.119936325078,-0.120031506269,-0.120126686357,-0.120221865341,-0.120317043219,-0.120412219992,-0.120507395658,-0.120602570216,-0.120697743666,-0.120792916006,-0.120888087236,-0.120983257354,-0.121078426361,-0.121173594255,-0.121268761035,-0.1213639267,-0.12145909125,-0.121554254683,-0.121649416999,-0.121744578197,-0.121839738276,-0.121934897235,-0.122030055073,-0.122125211789,-0.122220367383,-0.122315521853,-0.122410675199,-0.12250582742,-0.122600978515,-0.122696128483,-0.122791277323,-0.122886425035,-0.122981571617,-0.123076717068,-0.123171861388,-0.123267004576,-0.123362146631,-0.123457287552,-0.123552427339,-0.123647565989,-0.123742703503,-0.12383783988,-0.123932975119,-0.124028109218,-0.124123242177,-0.124218373995,-0.124313504672,-0.124408634205,-0.124503762596,-0.124598889842,-0.124694015942,-0.124789140897,-0.124884264704,-0.124979387363,-0.125074508874,-0.125169629235,-0.125264748446,-0.125359866505,-0.125454983412,-0.125550099165,-0.125645213765,-0.12574032721,-0.125835439498,-0.125930550631,-0.126025660606,-0.126120769422,-0.126215877079,-0.126310983576,-0.126406088912,-0.126501193086,-0.126596296097,-0.126691397945,-0.126786498628,-0.126881598145,-0.126976696497,-0.127071793681,-0.127166889697,-0.127261984545,-0.127357078222,-0.127452170729,-0.127547262065,-0.127642352228,-0.127737441218,-0.127832529033,-0.127927615674,-0.128022701139,-0.128117785427,-0.128212868537,-0.128307950469,-0.128403031222,-0.128498110794,-0.128593189185,-0.128688266394,-0.12878334242,-0.128878417263,-0.128973490921,-0.129068563393,-0.129163634679,-0.129258704778,-0.129353773688,-0.12944884141,-0.129543907942,-0.129638973283,-0.129734037432,-0.129829100389,-0.129924162153,-0.130019222722,-0.130114282096,-0.130209340275,-0.130304397256,-0.13039945304,-0.130494507625,-0.13058956101,-0.130684613196,-0.13077966418,-0.130874713962,-0.130969762541,-0.131064809916,-0.131159856086,-0.131254901051,-0.131349944809,-0.13144498736,-0.131540028703,-0.131635068837,-0.13173010776,-0.131825145473,-0.131920181974,-0.132015217263,-0.132110251338,-0.132205284199,-0.132300315844,-0.132395346274,-0.132490375487,-0.132585403481,-0.132680430257,-0.132775455814,-0.13287048015,-0.132965503265,-0.133060525157,-0.133155545827,-0.133250565272,-0.133345583493,-0.133440600488,-0.133535616256,-0.133630630797,-0.13372564411,-0.133820656194,-0.133915667047,-0.13401067667,-0.134105685061,-0.134200692219,-0.134295698143,-0.134390702834,-0.134485706288,-0.134580708507,-0.134675709489,-0.134770709233,-0.134865707738,-0.134960705003,-0.135055701028,-0.135150695811,-0.135245689352,-0.13534068165,-0.135435672704,-0.135530662513,-0.135625651076,-0.135720638393,-0.135815624462,-0.135910609283,-0.136005592854,-0.136100575176,-0.136195556246,-0.136290536064,-0.13638551463,-0.136480491942,-0.136575468,-0.136670442802,-0.136765416348,-0.136860388637,-0.136955359668,-0.13705032944,-0.137145297952,-0.137240265204,-0.137335231194,-0.137430195921,-0.137525159386,-0.137620121586,-0.137715082522,-0.137810042192,-0.137905000595,-0.13799995773,-0.138094913597,-0.138189868194,-0.138284821522,-0.138379773578,-0.138474724362,-0.138569673873,-0.138664622111,-0.138759569074,-0.138854514762,-0.138949459173,-0.139044402308,-0.139139344164,-0.139234284741,-0.139329224038,-0.139424162055,-0.13951909879,-0.139614034243,-0.139708968412,-0.139803901298,-0.139898832898,-0.139993763212,-0.14008869224,-0.140183619979,-0.140278546431,-0.140373471592,-0.140468395464,-0.140563318044,-0.140658239333,-0.140753159328,-0.14084807803,-0.140942995437,-0.141037911549,-0.141132826364,-0.141227739882,-0.141322652102,-0.141417563022,-0.141512472643,-0.141607380963,-0.141702287982,-0.141797193698,-0.14189209811,-0.141987001219,-0.142081903022,-0.142176803519,-0.14227170271,-0.142366600593,-0.142461497167,-0.142556392431,-0.142651286386,-0.142746179029,-0.14284107036,-0.142935960378,-0.143030849082,-0.143125736471,-0.143220622545,-0.143315507303,-0.143410390743,-0.143505272865,-0.143600153667,-0.14369503315,-0.143789911312,-0.143884788153,-0.143979663671,-0.144074537865,-0.144169410735,-0.14426428228,-0.144359152499,-0.144454021391,-0.144548888955,-0.144643755191,-0.144738620097,-0.144833483672,-0.144928345916,-0.145023206829,-0.145118066408,-0.145212924653,-0.145307781563,-0.145402637138,-0.145497491376,-0.145592344277,-0.14568719584,-0.145782046064,-0.145876894947,-0.14597174249,-0.146066588691,-0.146161433549,-0.146256277064,-0.146351119234,-0.14644596006,-0.146540799539,-0.146635637671,-0.146730474455,-0.146825309891,-0.146920143977,-0.147014976713,-0.147109808097,-0.147204638129,-0.147299466808,-0.147394294133,-0.147489120103,-0.147583944718,-0.147678767976,-0.147773589876,-0.147868410418,-0.147963229601,-0.148058047424,-0.148152863887,-0.148247678987,-0.148342492725,-0.148437305099,-0.148532116108,-0.148626925753,-0.148721734031,-0.148816540942,-0.148911346486,-0.14900615066,-0.149100953465,-0.1491957549,-0.149290554963,-0.149385353654,-0.149480150972,-0.149574946915,-0.149669741484,-0.149764534677,-0.149859326494,-0.149954116933,-0.150048905994,-0.150143693675,-0.150238479977,-0.150333264897,-0.150428048436,-0.150522830592,-0.150617611364,-0.150712390752,-0.150807168755,-0.150901945371,-0.1509967206,-0.151091494442,-0.151186266894,-0.151281037957,-0.15137580763,-0.151470575911,-0.151565342799,-0.151660108295,-0.151754872397,-0.151849635103,-0.151944396414,-0.152039156328,-0.152133914845,-0.152228671963,-0.152323427682,-0.152418182001,-0.152512934919,-0.152607686435,-0.152702436549,-0.152797185258,-0.152891932564,-0.152986678464,-0.153081422957,-0.153176166044,-0.153270907723,-0.153365647992,-0.153460386852,-0.153555124302,-0.15364986034,-0.153744594966,-0.153839328178,-0.153934059977,-0.154028790361,-0.154123519328,-0.154218246879,-0.154312973013,-0.154407697728,-0.154502421024,-0.1545971429,-0.154691863355,-0.154786582387,-0.154881299997,-0.154976016184,-0.155070730946,-0.155165444282,-0.155260156193,-0.155354866676,-0.155449575731,-0.155544283357,-0.155638989554,-0.15573369432,-0.155828397654,-0.155923099556,-0.156017800025,-0.15611249906,-0.15620719666,-0.156301892824,-0.156396587552,-0.156491280842,-0.156585972693,-0.156680663105,-0.156775352077,-0.156870039608,-0.156964725697,-0.157059410343,-0.157154093546,-0.157248775304,-0.157343455616,-0.157438134483,-0.157532811902,-0.157627487873,-0.157722162395,-0.157816835468,-0.15791150709,-0.15800617726,-0.158100845978,-0.158195513243,-0.158290179054,-0.15838484341,-0.15847950631,-0.158574167753,-0.158668827739,-0.158763486266,-0.158858143334,-0.158952798942,-0.159047453088,-0.159142105773,-0.159236756995,-0.159331406753,-0.159426055047,-0.159520701875,-0.159615347237,-0.159709991132,-0.159804633559,-0.159899274517,-0.159993914005,-0.160088552023,-0.160183188569,-0.160277823642,-0.160372457243,-0.160467089369,-0.160561720021,-0.160656349196,-0.160750976895,-0.160845603116,-0.160940227859,-0.161034851122,-0.161129472906,-0.161224093208,-0.161318712028,-0.161413329366,-0.161507945219,-0.161602559588,-0.161697172472,-0.16179178387,-0.16188639378,-0.161981002202,-0.162075609136,-0.16217021458,-0.162264818533,-0.162359420994,-0.162454021963,-0.162548621439,-0.162643219421,-0.162737815908,-0.162832410899,-0.162927004393,-0.16302159639,-0.163116186888,-0.163210775887,-0.163305363385,-0.163399949383,-0.163494533879,-0.163589116871,-0.163683698361,-0.163778278345,-0.163872856825,-0.163967433797,-0.164062009263,-0.164156583221,-0.16425115567,-0.164345726609,-0.164440296037,-0.164534863954,-0.164629430359,-0.16472399525,-0.164818558628,-0.16491312049,-0.165007680836,-0.165102239666,-0.165196796978,-0.165291352772,-0.165385907046,-0.1654804598,-0.165575011034,-0.165669560745,-0.165764108933,-0.165858655598,-0.165953200738,-0.166047744353,-0.166142286441,-0.166236827003,-0.166331366036,-0.16642590354,-0.166520439515,-0.166614973959,-0.166709506872,-0.166804038252,-0.166898568099,-0.166993096412,-0.16708762319,-0.167182148432,-0.167276672137,-0.167371194305,-0.167465714935,-0.167560234025,-0.167654751575,-0.167749267584,-0.167843782051,-0.167938294975,-0.168032806355,-0.168127316191,-0.168221824482,-0.168316331226,-0.168410836423,-0.168505340073,-0.168599842173,-0.168694342724,-0.168788841724,-0.168883339172,-0.168977835068,-0.169072329411,-0.1691668222,-0.169261313434,-0.169355803112,-0.169450291234,-0.169544777798,-0.169639262803,-0.16973374625,-0.169828228136,-0.169922708461,-0.170017187224,-0.170111664424,-0.170206140061,-0.170300614133,-0.17039508664,-0.170489557581,-0.170584026954,-0.17067849476,-0.170772960997,-0.170867425664,-0.17096188876,-0.171056350285,-0.171150810238,-0.171245268618,-0.171339725423,-0.171434180654,-0.171528634308,-0.171623086386,-0.171717536887,-0.171811985809,-0.171906433152,-0.172000878915,-0.172095323097,-0.172189765697,-0.172284206714,-0.172378646148,-0.172473083997,-0.172567520261,-0.172661954938,-0.172756388029,-0.172850819531,-0.172945249445,-0.173039677769,-0.173134104503,-0.173228529645,-0.173322953195,-0.173417375152,-0.173511795514,-0.173606214282,-0.173700631454,-0.17379504703,-0.173889461008,-0.173983873387,-0.174078284168,-0.174172693348,-0.174267100928,-0.174361506905,-0.17445591128,-0.174550314051,-0.174644715218,-0.17473911478,-0.174833512735,-0.174927909083,-0.175022303824,-0.175116696956,-0.175211088478,-0.175305478389,-0.175399866689,-0.175494253377,-0.175588638452,-0.175683021913,-0.175777403759,-0.175871783989,-0.175966162603,-0.176060539599,-0.176154914977,-0.176249288736,-0.176343660875,-0.176438031393,-0.176532400289,-0.176626767562,-0.176721133212,-0.176815497238,-0.176909859638,-0.177004220412,-0.177098579559,-0.177192937079,-0.177287292969,-0.17738164723,-0.177475999861,-0.17757035086,-0.177664700227,-0.177759047961,-0.177853394061,-0.177947738526,-0.178042081356,-0.178136422549,-0.178230762105,-0.178325100022,-0.178419436301,-0.178513770939,-0.178608103936,-0.178702435292,-0.178796765005,-0.178891093075,-0.1789854195,-0.179079744281,-0.179174067415,-0.179268388902,-0.179362708741,-0.179457026932,-0.179551343473,-0.179645658364,-0.179739971603,-0.179834283191,-0.179928593125,-0.180022901406,-0.180117208031,-0.180211513002,-0.180305816315,-0.180400117972,-0.18049441797,-0.180588716309,-0.180683012988,-0.180777308007,-0.180871601363,-0.180965893058,-0.181060183088,-0.181154471455,-0.181248758156,-0.181343043192,-0.18143732656,-0.181531608261,-0.181625888293,-0.181720166656,-0.181814443348,-0.18190871837,-0.182002991719,-0.182097263395,-0.182191533397,-0.182285801725,-0.182380068377,-0.182474333353,-0.182568596652,-0.182662858272,-0.182757118214,-0.182851376475,-0.182945633056,-0.183039887955,-0.183134141172,-0.183228392705,-0.183322642555,-0.183416890719,-0.183511137197,-0.183605381988,-0.183699625092,-0.183793866507,-0.183888106233,-0.183982344269,-0.184076580613,-0.184170815266,-0.184265048226,-0.184359279491,-0.184453509063,-0.184547736939,-0.184641963118,-0.1847361876,-0.184830410385,-0.18492463147,-0.185018850856,-0.185113068541,-0.185207284524,-0.185301498805,-0.185395711383,-0.185489922257,-0.185584131425,-0.185678338888,-0.185772544644,-0.185866748693,-0.185960951033,-0.186055151663,-0.186149350584,-0.186243547794,-0.186337743291,-0.186431937076,-0.186526129147,-0.186620319504,-0.186714508145,-0.18680869507,-0.186902880278,-0.186997063768,-0.18709124554,-0.187185425591,-0.187279603922,-0.187373780531,-0.187467955419,-0.187562128583,-0.187656300023,-0.187750469738,-0.187844637727,-0.18793880399,-0.188032968525,-0.188127131332,-0.188221292409,-0.188315451757,-0.188409609373,-0.188503765258,-0.18859791941,-0.188692071829,-0.188786222513,-0.188880371462,-0.188974518674,-0.18906866415,-0.189162807888,-0.189256949887,-0.189351090146,-0.189445228665,-0.189539365443,-0.189633500478,-0.18972763377,-0.189821765319,-0.189915895122,-0.19001002318,-0.190104149492,-0.190198274056,-0.190292396871,-0.190386517938,-0.190480637254,-0.19057475482,-0.190668870634,-0.190762984696,-0.190857097004,-0.190951207557,-0.191045316356,-0.191139423398,-0.191233528684,-0.191327632212,-0.191421733981,-0.19151583399,-0.19160993224,-0.191704028728,-0.191798123453,-0.191892216416,-0.191986307615,-0.19208039705,-0.192174484719,-0.192268570621,-0.192362654756,-0.192456737123,-0.192550817721,-0.192644896549,-0.192738973607,-0.192833048892,-0.192927122405,-0.193021194145,-0.193115264111,-0.193209332302,-0.193303398716,-0.193397463354,-0.193491526214,-0.193585587296,-0.193679646598,-0.19377370412,-0.193867759861,-0.19396181382,-0.194055865996,-0.194149916388,-0.194243964996,-0.194338011818,-0.194432056854,-0.194526100103,-0.194620141563,-0.194714181235,-0.194808219117,-0.194902255209,-0.194996289509,-0.195090322016,-0.19518435273,-0.195278381651,-0.195372408776,-0.195466434105,-0.195560457638,-0.195654479373,-0.19574849931,-0.195842517448,-0.195936533785,-0.196030548321,-0.196124561056,-0.196218571988,-0.196312581116,-0.19640658844,-0.196500593958,-0.19659459767,-0.196688599575,-0.196782599672,-0.196876597961,-0.19697059444,-0.197064589108,-0.197158581965,-0.197252573009,-0.197346562241,-0.197440549659,-0.197534535261,-0.197628519048,-0.197722501019,-0.197816481172,-0.197910459507,-0.198004436022,-0.198098410718,-0.198192383593,-0.198286354646,-0.198380323876,-0.198474291283,-0.198568256866,-0.198662220623,-0.198756182554,-0.198850142659,-0.198944100935,-0.199038057383,-0.199132012002,-0.19922596479,-0.199319915747,-0.199413864871,-0.199507812163,-0.199601757621,-0.199695701244,-0.199789643032,-0.199883582983,-0.199977521097,-0.200071457373,-0.20016539181,-0.200259324407,-0.200353255163,-0.200447184078,-0.20054111115,-0.200635036378,-0.200728959763,-0.200822881302,-0.200916800996,-0.201010718843,-0.201104634842,-0.201198548993,-0.201292461294,-0.201386371745,-0.201480280345,-0.201574187093,-0.201668091988,-0.20176199503,-0.201855896217,-0.201949795548,-0.202043693023,-0.202137588641,-0.202231482401,-0.202325374303,-0.202419264344,-0.202513152525,-0.202607038844,-0.202700923302,-0.202794805895,-0.202888686625,-0.20298256549,-0.203076442489,-0.203170317622,-0.203264190887,-0.203358062284,-0.203451931811,-0.203545799469,-0.203639665255,-0.20373352917,-0.203827391212,-0.20392125138,-0.204015109674,-0.204108966093,-0.204202820635,-0.204296673301,-0.204390524089,-0.204484372998,-0.204578220027,-0.204672065176,-0.204765908444,-0.20485974983,-0.204953589332,-0.205047426951,-0.205141262685,-0.205235096533,-0.205328928495,-0.20542275857,-0.205516586756,-0.205610413053,-0.20570423746,-0.205798059977,-0.205891880602,-0.205985699334,-0.206079516173,-0.206173331118,-0.206267144167,-0.206360955321,-0.206454764578,-0.206548571937,-0.206642377398,-0.206736180959,-0.20682998262,-0.20692378238,-0.207017580237,-0.207111376192,-0.207205170243,-0.20729896239,-0.207392752631,-0.207486540966,-0.207580327394,-0.207674111913,-0.207767894524,-0.207861675225,-0.207955454015,-0.208049230894,-0.208143005861,-0.208236778914,-0.208330550053,-0.208424319278,-0.208518086586,-0.208611851978,-0.208705615453,-0.208799377009,-0.208893136645,-0.208986894362,-0.209080650158,-0.209174404032,-0.209268155983,-0.20936190601,-0.209455654114,-0.209549400292,-0.209643144543,-0.209736886868,-0.209830627265,-0.209924365734,-0.210018102272,-0.21011183688,-0.210205569557,-0.210299300302,-0.210393029114,-0.210486755992,-0.210580480935,-0.210674203942,-0.210767925013,-0.210861644147,-0.210955361343,-0.211049076599,-0.211142789916,-0.211236501291,-0.211330210725,-0.211423918217,-0.211517623765,-0.211611327369,-0.211705029028,-0.211798728741,-0.211892426507,-0.211986122326,-0.212079816196,-0.212173508116,-0.212267198087,-0.212360886106,-0.212454572173,-0.212548256288,-0.212641938448,-0.212735618654,-0.212829296905,-0.2129229732,-0.213016647537,-0.213110319916,-0.213203990337,-0.213297658797,-0.213391325297,-0.213484989836,-0.213578652412,-0.213672313026,-0.213765971675,-0.213859628359,-0.213953283078,-0.214046935829,-0.214140586614,-0.21423423543,-0.214327882277,-0.214421527154,-0.21451517006,-0.214608810994,-0.214702449955,-0.214796086943,-0.214889721957,-0.214983354995,-0.215076986058,-0.215170615143,-0.215264242251,-0.21535786738,-0.215451490529,-0.215545111698,-0.215638730886,-0.215732348092,-0.215825963314,-0.215919576553,-0.216013187808,-0.216106797076,-0.216200404358,-0.216294009653,-0.21638761296,-0.216481214278,-0.216574813606,-0.216668410944,-0.216762006289,-0.216855599643,-0.216949191003,-0.217042780369,-0.217136367739,-0.217229953114,-0.217323536493,-0.217417117873,-0.217510697256,-0.217604274638,-0.217697850021,-0.217791423403,-0.217884994783,-0.21797856416,-0.218072131533,-0.218165696902,-0.218259260266,-0.218352821623,-0.218446380974,-0.218539938316,-0.21863349365,-0.218727046974,-0.218820598288,-0.21891414759,-0.21900769488,-0.219101240157,-0.21919478342,-0.219288324668,-0.219381863901,-0.219475401117,-0.219568936315,-0.219662469496,-0.219756000657,-0.219849529799,-0.219943056919,-0.220036582018,-0.220130105095,-0.220223626148,-0.220317145177,-0.22041066218,-0.220504177158,-0.220597690109,-0.220691201032,-0.220784709927,-0.220878216792,-0.220971721627,-0.221065224431,-0.221158725203,-0.221252223942,-0.221345720647,-0.221439215318,-0.221532707953,-0.221626198552,-0.221719687114,-0.221813173638,-0.221906658123,-0.222000140568,-0.222093620973,-0.222187099337,-0.222280575658,-0.222374049935,-0.222467522169,-0.222560992358,-0.222654460502,-0.222747926598,-0.222841390647,-0.222934852648,-0.2230283126,-0.223121770502,-0.223215226353,-0.223308680152,-0.223402131898,-0.223495581591,-0.22358902923,-0.223682474813,-0.223775918341,-0.223869359811,-0.223962799224,-0.224056236578,-0.224149671873,-0.224243105107,-0.22433653628,-0.224429965392,-0.22452339244,-0.224616817424,-0.224710240344,-0.224803661198,-0.224897079986,-0.224990496707,-0.22508391136,-0.225177323944,-0.225270734458,-0.225364142901,-0.225457549273,-0.225550953572,-0.225644355799,-0.225737755951,-0.225831154028,-0.22592455003,-0.226017943954,-0.226111335802,-0.226204725571,-0.22629811326,-0.22639149887,-0.226484882399,-0.226578263846,-0.22667164321,-0.226765020491,-0.226858395687,-0.226951768798,-0.227045139823,-0.227138508761,-0.227231875611,-0.227325240373,-0.227418603045,-0.227511963627,-0.227605322117,-0.227698678516,-0.227792032821,-0.227885385033,-0.22797873515,-0.228072083171,-0.228165429096,-0.228258772924,-0.228352114653,-0.228445454284,-0.228538791815,-0.228632127245,-0.228725460574,-0.2288187918,-0.228912120923,-0.229005447942,-0.229098772856,-0.229192095664,-0.229285416365,-0.229378734959,-0.229472051444,-0.229565365821,-0.229658678087,-0.229751988242,-0.229845296285,-0.229938602216,-0.230031906033,-0.230125207735,-0.230218507323,-0.230311804794,-0.230405100148,-0.230498393385,-0.230591684502,-0.230684973501,-0.230778260378,-0.230871545135,-0.230964827769,-0.231058108281,-0.231151386668,-0.231244662931,-0.231337937069,-0.231431209079,-0.231524478963,-0.231617746719,-0.231711012345,-0.231804275842,-0.231897537208,-0.231990796442,-0.232084053545,-0.232177308513,-0.232270561348,-0.232363812048,-0.232457060612,-0.232550307039,-0.232643551328,-0.23273679348,-0.232830033492,-0.232923271363,-0.233016507094,-0.233109740683,-0.233202972129,-0.233296201432,-0.233389428591,-0.233482653604,-0.233575876471,-0.233669097191,-0.233762315763,-0.233855532186,-0.23394874646,-0.234041958584,-0.234135168556,-0.234228376376,-0.234321582043,-0.234414785556,-0.234507986915,-0.234601186118,-0.234694383165,-0.234787578054,-0.234880770785,-0.234973961358,-0.23506714977,-0.235160336022,-0.235253520112,-0.23534670204,-0.235439881805,-0.235533059405,-0.23562623484,-0.23571940811,-0.235812579213,-0.235905748149,-0.235998914916,-0.236092079513,-0.236185241941,-0.236278402198,-0.236371560283,-0.236464716195,-0.236557869934,-0.236651021498,-0.236744170887,-0.2368373181,-0.236930463136,-0.237023605994,-0.237116746674,-0.237209885174,-0.237303021494,-0.237396155632,-0.237489287588,-0.237582417362,-0.237675544951,-0.237768670356,-0.237861793575,-0.237954914608,-0.238048033454,-0.238141150112,-0.23823426458,-0.238327376859,-0.238420486948,-0.238513594844,-0.238606700549,-0.23869980406,-0.238792905377,-0.238886004499,-0.238979101425,-0.239072196155,-0.239165288687,-0.239258379021,-0.239351467156,-0.239444553091,-0.239537636824,-0.239630718356,-0.239723797685,-0.239816874811,-0.239909949733,-0.240003022449,-0.240096092959,-0.240189161262,-0.240282227358,-0.240375291244,-0.240468352922,-0.240561412389,-0.240654469645,-0.240747524689,-0.24084057752,-0.240933628137,-0.241026676539,-0.241119722726,-0.241212766697,-0.241305808451,-0.241398847986,-0.241491885303,-0.2415849204,-0.241677953276,-0.241770983931,-0.241864012364,-0.241957038573,-0.242050062558,-0.242143084319,-0.242236103854,-0.242329121162,-0.242422136243,-0.242515149095,-0.242608159718,-0.242701168112,-0.242794174274,-0.242887178205,-0.242980179903,-0.243073179368,-0.243166176599,-0.243259171594,-0.243352164353,-0.243445154876,-0.243538143161,-0.243631129207,-0.243724113014,-0.24381709458,-0.243910073906,-0.24400305099,-0.24409602583,-0.244188998427,-0.24428196878,-0.244374936887,-0.244467902748,-0.244560866362,-0.244653827727,-0.244746786844,-0.244839743712,-0.244932698329,-0.245025650694,-0.245118600807,-0.245211548668,-0.245304494274,-0.245397437625,-0.245490378721,-0.245583317561,-0.245676254142,-0.245769188466,-0.245862120531,-0.245955050336,-0.24604797788,-0.246140903162,-0.246233826182,-0.246326746939,-0.246419665431,-0.246512581659,-0.24660549562,-0.246698407315,-0.246791316742,-0.246884223901,-0.24697712879,-0.247070031409,-0.247162931758,-0.247255829834,-0.247348725638,-0.247441619168,-0.247534510423,-0.247627399404,-0.247720286108,-0.247813170535,-0.247906052685,-0.247998932555,-0.248091810146,-0.248184685457,-0.248277558487,-0.248370429234,-0.248463297698,-0.248556163879,-0.248649027775,-0.248741889385,-0.248834748709,-0.248927605746,-0.249020460494,-0.249113312954,-0.249206163124,-0.249299011003,-0.249391856591,-0.249484699886,-0.249577540889,-0.249670379597,-0.24976321601,-0.249856050127,-0.249948881948,-0.250041711471,-0.250134538696,-0.250227363622,-0.250320186248,-0.250413006573,-0.250505824596,-0.250598640317,-0.250691453734,-0.250784264847,-0.250877073654,-0.250969880156,-0.251062684351,-0.251155486238,-0.251248285816,-0.251341083085,-0.251433878044,-0.251526670692,-0.251619461028,-0.25171224905,-0.25180503476,-0.251897818154,-0.251990599233,-0.252083377996,-0.252176154442,-0.25226892857,-0.25236170038,-0.252454469869,-0.252547237038,-0.252640001886,-0.252732764411,-0.252825524613,-0.252918282492,-0.253011038046,-0.253103791274,-0.253196542175,-0.25328929075,-0.253382036996,-0.253474780913,-0.2535675225,-0.253660261756,-0.253752998681,-0.253845733273,-0.253938465532,-0.254031195457,-0.254123923047,-0.254216648301,-0.254309371219,-0.254402091799,-0.25449481004,-0.254587525942,-0.254680239504,-0.254772950725,-0.254865659605,-0.254958366141,-0.255051070334,-0.255143772183,-0.255236471686,-0.255329168844,-0.255421863654,-0.255514556117,-0.255607246231,-0.255699933995,-0.25579261941,-0.255885302473,-0.255977983184,-0.256070661542,-0.256163337546,-0.256256011196,-0.25634868249,-0.256441351428,-0.256534018009,-0.256626682232,-0.256719344096,-0.2568120036,-0.256904660743,-0.256997315526,-0.257089967946,-0.257182618003,-0.257275265696,-0.257367911024,-0.257460553986,-0.257553194582,-0.257645832811,-0.257738468671,-0.257831102162,-0.257923733283,-0.258016362034,-0.258108988413,-0.258201612419,-0.258294234052,-0.258386853311,-0.258479470195,-0.258572084703,-0.258664696834,-0.258757306588,-0.258849913963,-0.258942518959,-0.259035121575,-0.25912772181,-0.259220319663,-0.259312915133,-0.25940550822,-0.259498098922,-0.259590687239,-0.25968327317,-0.259775856714,-0.25986843787,-0.259961016637,-0.260053593015,-0.260146167003,-0.2602387386,-0.260331307804,-0.260423874615,-0.260516439033,-0.260609001056,-0.260701560684,-0.260794117915,-0.260886672749,-0.260979225186,-0.261071775223,-0.26116432286,-0.261256868097,-0.261349410933,-0.261441951366,-0.261534489397,-0.261627025023,-0.261719558244,-0.26181208906,-0.261904617469,-0.261997143471,-0.262089667065,-0.262182188249,-0.262274707024,-0.262367223388,-0.26245973734,-0.26255224888,-0.262644758006,-0.262737264719,-0.262829769016,-0.262922270897,-0.263014770362,-0.263107267409,-0.263199762037,-0.263292254247,-0.263384744036,-0.263477231404,-0.263569716351,-0.263662198875,-0.263754678975,-0.263847156651,-0.263939631901,-0.264032104726,-0.264124575124,-0.264217043093,-0.264309508635,-0.264401971746,-0.264494432428,-0.264586890678,-0.264679346496,-0.264771799882,-0.264864250833,-0.26495669935,-0.265049145432,-0.265141589077,-0.265234030286,-0.265326469056,-0.265418905387,-0.265511339279,-0.26560377073,-0.26569619974,-0.265788626308,-0.265881050432,-0.265973472113,-0.266065891349,-0.266158308139,-0.266250722483,-0.266343134379,-0.266435543828,-0.266527950827,-0.266620355376,-0.266712757475,-0.266805157122,-0.266897554317,-0.266989949058,-0.267082341345,-0.267174731178,-0.267267118554,-0.267359503474,-0.267451885937,-0.267544265941,-0.267636643486,-0.26772901857,-0.267821391194,-0.267913761356,-0.268006129056,-0.268098494292,-0.268190857063,-0.26828321737,-0.268375575211,-0.268467930584,-0.26856028349,-0.268652633928,-0.268744981896,-0.268837327394,-0.26892967042,-0.269022010975,-0.269114349057,-0.269206684665,-0.269299017799,-0.269391348458,-0.26948367664,-0.269576002346,-0.269668325573,-0.269760646322,-0.269852964591,-0.269945280379,-0.270037593687,-0.270129904512,-0.270222212854,-0.270314518713,-0.270406822087,-0.270499122975,-0.270591421377,-0.270683717291,-0.270776010718,-0.270868301656,-0.270960590104,-0.271052876061,-0.271145159527,-0.2712374405,-0.271329718981,-0.271421994967,-0.271514268459,-0.271606539455,-0.271698807954,-0.271791073956,-0.271883337459,-0.271975598464,-0.272067856969,-0.272160112972,-0.272252366475,-0.272344617474,-0.272436865971,-0.272529111963,-0.27262135545,-0.272713596431,-0.272805834906,-0.272898070873,-0.272990304331,-0.273082535281,-0.27317476372,-0.273266989648,-0.273359213064,-0.273451433968,-0.273543652358,-0.273635868234,-0.273728081595,-0.27382029244,-0.273912500767,-0.274004706577,-0.274096909869,-0.274189110641,-0.274281308892,-0.274373504623,-0.274465697831,-0.274557888517,-0.274650076679,-0.274742262317,-0.274834445429,-0.274926626015,-0.275018804074,-0.275110979605,-0.275203152607,-0.275295323079,-0.275387491021,-0.275479656432,-0.275571819311,-0.275663979657,-0.275756137468,-0.275848292746,-0.275940445487,-0.276032595692,-0.27612474336,-0.27621688849,-0.276309031081,-0.276401171132,-0.276493308643,-0.276585443612,-0.276677576039,-0.276769705923,-0.276861833262,-0.276953958057,-0.277046080306,-0.277138200009,-0.277230317164,-0.277322431771,-0.277414543828,-0.277506653336,-0.277598760293,-0.277690864699,-0.277782966552,-0.277875065852,-0.277967162597,-0.278059256787,-0.278151348422,-0.2782434375,-0.27833552402,-0.278427607982,-0.278519689385,-0.278611768228,-0.278703844509,-0.278795918229,-0.278887989387,-0.27898005798,-0.27907212401,-0.279164187474,-0.279256248372,-0.279348306704,-0.279440362467,-0.279532415663,-0.279624466288,-0.279716514344,-0.279808559828,-0.279900602741,-0.27999264308,-0.280084680846,-0.280176716038,-0.280268748654,-0.280360778694,-0.280452806157,-0.280544831042,-0.280636853349,-0.280728873076,-0.280820890222,-0.280912904788,-0.281004916771,-0.281096926171,-0.281188932988,-0.281280937219,-0.281372938866,-0.281464937926,-0.281556934399,-0.281648928284,-0.28174091958,-0.281832908286,-0.281924894402,-0.282016877926,-0.282108858858,-0.282200837197,-0.282292812942,-0.282384786093,-0.282476756647,-0.282568724606,-0.282660689967,-0.282752652729,-0.282844612893,-0.282936570457,-0.28302852542,-0.283120477782,-0.283212427541,-0.283304374697,-0.283396319249,-0.283488261197,-0.283580200538,-0.283672137273,-0.2837640714,-0.283856002919,-0.283947931829,-0.284039858129,-0.284131781818,-0.284223702895,-0.28431562136,-0.284407537211,-0.284499450449,-0.284591361071,-0.284683269077,-0.284775174466,-0.284867077238,-0.284958977392,-0.285050874926,-0.28514276984,-0.285234662133,-0.285326551805,-0.285418438853,-0.285510323278,-0.285602205079,-0.285694084255,-0.285785960804,-0.285877834727,-0.285969706022,-0.286061574688,-0.286153440725,-0.286245304132,-0.286337164908,-0.286429023051,-0.286520878562,-0.286612731439,-0.286704581682,-0.286796429289,-0.286888274261,-0.286980116595,-0.287071956291,-0.287163793349,-0.287255627767,-0.287347459545,-0.287439288681,-0.287531115176,-0.287622939027,-0.287714760235,-0.287806578798,-0.287898394715,-0.287990207987,-0.288082018611,-0.288173826587,-0.288265631915,-0.288357434592,-0.288449234619,-0.288541031995,-0.288632826719,-0.288724618789,-0.288816408206,-0.288908194968,-0.288999979074,-0.289091760524,-0.289183539317,-0.289275315451,-0.289367088927,-0.289458859743,-0.289550627898,-0.289642393391,-0.289734156223,-0.289825916391,-0.289917673895,-0.290009428734,-0.290101180908,-0.290192930415,-0.290284677254,-0.290376421426,-0.290468162928,-0.290559901761,-0.290651637922,-0.290743371412,-0.29083510223,-0.290926830374,-0.291018555844,-0.291110278639,-0.291201998759,-0.291293716201,-0.291385430966,-0.291477143053,-0.291568852461,-0.291660559188,-0.291752263235,-0.2918439646,-0.291935663282,-0.292027359281,-0.292119052596,-0.292210743226,-0.292302431169,-0.292394116426,-0.292485798996,-0.292577478876,-0.292669156068,-0.292760830569,-0.29285250238,-0.292944171498,-0.293035837924,-0.293127501656,-0.293219162694,-0.293310821037,-0.293402476684,-0.293494129634,-0.293585779886,-0.293677427439,-0.293769072293,-0.293860714447,-0.2939523539,-0.29404399065,-0.294135624698,-0.294227256043,-0.294318884683,-0.294410510617,-0.294502133846,-0.294593754367,-0.294685372181,-0.294776987285,-0.294868599681,-0.294960209366,-0.295051816339,-0.295143420601,-0.29523502215,-0.295326620985,-0.295418217106,-0.295509810511,-0.295601401199,-0.295692989171,-0.295784574425,-0.29587615696,-0.295967736775,-0.29605931387,-0.296150888244,-0.296242459895,-0.296334028823,-0.296425595028,-0.296517158508,-0.296608719262,-0.29670027729,-0.296791832591,-0.296883385164,-0.296974935008,-0.297066482122,-0.297158026505,-0.297249568157,-0.297341107077,-0.297432643264,-0.297524176717,-0.297615707435,-0.297707235418,-0.297798760664,-0.297890283172,-0.297981802943,-0.298073319974,-0.298164834266,-0.298256345817,-0.298347854627,-0.298439360694,-0.298530864018,-0.298622364598,-0.298713862433,-0.298805357523,-0.298896849865,-0.298988339461,-0.299079826308,-0.299171310406,-0.299262791754,-0.299354270352,-0.299445746198,-0.299537219291,-0.299628689631,-0.299720157217,-0.299811622048,-0.299903084124,-0.299994543442,-0.300086000003,-0.300177453806,-0.30026890485,-0.300360353133,-0.300451798656,-0.300543241417,-0.300634681416,-0.300726118651,-0.300817553122,-0.300908984828,-0.301000413768,-0.301091839941,-0.301183263347,-0.301274683984,-0.301366101852,-0.30145751695,-0.301548929277,-0.301640338833,-0.301731745615,-0.301823149625,-0.301914550859,-0.302005949319,-0.302097345003,-0.30218873791,-0.302280128039,-0.30237151539,-0.302462899962,-0.302554281753,-0.302645660763,-0.302737036992,-0.302828410438,-0.3029197811,-0.303011148978,-0.30310251407,-0.303193876377,-0.303285235897,-0.303376592629,-0.303467946572,-0.303559297726,-0.30365064609,-0.303741991662,-0.303833334443,-0.303924674431,-0.304016011625,-0.304107346025,-0.30419867763,-0.304290006438,-0.30438133245,-0.304472655663,-0.304563976079,-0.304655293694,-0.304746608509,-0.304837920523,-0.304929229735,-0.305020536145,-0.30511183975,-0.305203140551,-0.305294438547,-0.305385733736,-0.305477026119,-0.305568315693,-0.305659602459,-0.305750886415,-0.305842167561,-0.305933445896,-0.306024721418,-0.306115994128,-0.306207264024,-0.306298531105,-0.306389795371,-0.30648105682,-0.306572315453,-0.306663571267,-0.306754824263,-0.306846074439,-0.306937321795,-0.307028566329,-0.307119808042,-0.307211046931,-0.307302282996,-0.307393516237,-0.307484746652,-0.307575974241,-0.307667199003,-0.307758420937,-0.307849640042,-0.307940856317,-0.308032069761,-0.308123280375,-0.308214488156,-0.308305693104,-0.308396895218,-0.308488094498,-0.308579290942,-0.308670484549,-0.308761675319,-0.308852863252,-0.308944048345,-0.309035230598,-0.309126410011,-0.309217586583,-0.309308760312,-0.309399931198,-0.309491099241,-0.309582264438,-0.30967342679,-0.309764586295,-0.309855742954,-0.309946896764,-0.310038047725,-0.310129195836,-0.310220341096,-0.310311483506,-0.310402623062,-0.310493759766,-0.310584893616,-0.31067602461,-0.31076715275,-0.310858278032,-0.310949400458,-0.311040520025,-0.311131636733,-0.311222750581,-0.311313861569,-0.311404969695,-0.311496074958,-0.311587177359,-0.311678276895,-0.311769373567,-0.311860467372,-0.311951558312,-0.312042646384,-0.312133731587,-0.312224813922,-0.312315893386,-0.31240696998,-0.312498043703,-0.312589114553,-0.312680182529,-0.312771247632,-0.31286230986,-0.312953369212,-0.313044425687,-0.313135479285,-0.313226530004,-0.313317577845,-0.313408622805,-0.313499664885,-0.313590704083,-0.313681740399,-0.313772773831,-0.31386380438,-0.313954832043,-0.31404585682,-0.314136878711,-0.314227897714,-0.314318913829,-0.314409927055,-0.314500937391,-0.314591944836,-0.31468294939,-0.314773951051,-0.314864949818,-0.314955945692,-0.31504693867,-0.315137928753,-0.315228915938,-0.315319900227,-0.315410881617,-0.315501860108,-0.315592835698,-0.315683808388,-0.315774778176,-0.315865745062,-0.315956709045,-0.316047670123,-0.316138628296,-0.316229583563,-0.316320535923,-0.316411485376,-0.316502431921,-0.316593375556,-0.316684316281,-0.316775254096,-0.316866188998,-0.316957120989,-0.317048050065,-0.317138976228,-0.317229899475,-0.317320819806,-0.317411737221,-0.317502651718,-0.317593563297,-0.317684471956,-0.317775377696,-0.317866280514,-0.317957180411,-0.318048077385,-0.318138971436,-0.318229862562,-0.318320750763,-0.318411636039,-0.318502518387,-0.318593397808,-0.318684274301,-0.318775147864,-0.318866018497,-0.318956886199,-0.31904775097,-0.319138612808,-0.319229471712,-0.319320327682,-0.319411180717,-0.319502030816,-0.319592877978,-0.319683722203,-0.319774563489,-0.319865401836,-0.319956237242,-0.320047069708,-0.320137899232,-0.320228725813,-0.320319549451,-0.320410370144,-0.320501187893,-0.320592002695,-0.320682814551,-0.320773623458,-0.320864429418,-0.320955232428,-0.321046032488,-0.321136829597,-0.321227623754,-0.321318414958,-0.321409203209,-0.321499988506,-0.321590770847,-0.321681550233,-0.321772326662,-0.321863100133,-0.321953870645,-0.322044638198,-0.322135402791,-0.322226164423,-0.322316923094,-0.322407678801,-0.322498431545,-0.322589181325,-0.322679928139,-0.322770671988,-0.322861412869,-0.322952150783,-0.323042885729,-0.323133617705,-0.323224346711,-0.323315072746,-0.323405795809,-0.3234965159,-0.323587233016,-0.323677947159,-0.323768658326,-0.323859366518,-0.323950071732,-0.324040773969,-0.324131473228,-0.324222169507,-0.324312862805,-0.324403553123,-0.324494240459,-0.324584924813,-0.324675606182,-0.324766284568,-0.324856959968,-0.324947632382,-0.32503830181,-0.325128968249,-0.3252196317,-0.325310292162,-0.325400949634,-0.325491604115,-0.325582255603,-0.325672904099,-0.325763549602,-0.32585419211,-0.325944831623,-0.32603546814,-0.326126101661,-0.326216732183,-0.326307359707,-0.326397984232,-0.326488605756,-0.32657922428,-0.326669839801,-0.32676045232,-0.326851061836,-0.326941668347,-0.327032271853,-0.327122872352,-0.327213469845,-0.327304064331,-0.327394655808,-0.327485244275,-0.327575829733,-0.327666412179,-0.327756991613,-0.327847568035,-0.327938141443,-0.328028711837,-0.328119279216,-0.328209843579,-0.328300404925,-0.328390963253,-0.328481518563,-0.328572070854,-0.328662620124,-0.328753166373,-0.328843709601,-0.328934249806,-0.329024786987,-0.329115321144,-0.329205852276,-0.329296380382,-0.329386905461,-0.329477427512,-0.329567946535,-0.329658462529,-0.329748975492,-0.329839485424,-0.329929992325,-0.330020496193,-0.330110997028,-0.330201494828,-0.330291989593,-0.330382481322,-0.330472970014,-0.330563455669,-0.330653938285,-0.330744417862,-0.330834894399,-0.330925367895,-0.331015838349,-0.33110630576,-0.331196770128,-0.331287231451,-0.33137768973,-0.331468144962,-0.331558597148,-0.331649046286,-0.331739492376,-0.331829935416,-0.331920375407,-0.332010812346,-0.332101246234,-0.332191677069,-0.33228210485,-0.332372529578,-0.33246295125,-0.332553369866,-0.332643785426,-0.332734197927,-0.332824607371,-0.332915013755,-0.333005417079,-0.333095817343,-0.333186214544,-0.333276608683,-0.333366999759,-0.33345738777,-0.333547772716,-0.333638154596,-0.33372853341,-0.333818909156,-0.333909281834,-0.333999651442,-0.33409001798,-0.334180381448,-0.334270741844,-0.334361099167,-0.334451453417,-0.334541804592,-0.334632152693,-0.334722497718,-0.334812839666,-0.334903178536,-0.334993514328,-0.335083847041,-0.335174176674,-0.335264503226,-0.335354826697,-0.335445147085,-0.335535464389,-0.335625778609,-0.335716089745,-0.335806397794,-0.335896702757,-0.335987004633,-0.33607730342,-0.336167599118,-0.336257891726,-0.336348181243,-0.336438467668,-0.336528751001,-0.336619031241,-0.336709308387,-0.336799582437,-0.336889853392,-0.33698012125,-0.337070386011,-0.337160647674,-0.337250906237,-0.337341161701,-0.337431414063,-0.337521663324,-0.337611909483,-0.337702152538,-0.33779239249,-0.337882629336,-0.337972863077,-0.338063093711,-0.338153321238,-0.338243545656,-0.338333766966,-0.338423985165,-0.338514200254,-0.338604412231,-0.338694621096,-0.338784826848,-0.338875029485,-0.338965229008,-0.339055425415,-0.339145618705,-0.339235808879,-0.339325995934,-0.33941617987,-0.339506360686,-0.339596538381,-0.339686712955,-0.339776884407,-0.339867052735,-0.33995721794,-0.340047380019,-0.340137538974,-0.340227694801,-0.340317847501,-0.340407997074,-0.340498143517,-0.34058828683,-0.340678427013,-0.340768564064,-0.340858697983,-0.340948828769,-0.341038956421,-0.341129080939,-0.34121920232,-0.341309320566,-0.341399435674,-0.341489547644,-0.341579656475,-0.341669762166,-0.341759864717,-0.341849964126,-0.341940060393,-0.342030153518,-0.342120243498,-0.342210330333,-0.342300414024,-0.342390494567,-0.342480571964,-0.342570646212,-0.342660717312,-0.342750785262,-0.342840850062,-0.34293091171,-0.343020970206,-0.343111025549,-0.343201077738,-0.343291126773,-0.343381172652,-0.343471215375,-0.343561254941,-0.343651291349,-0.343741324598,-0.343831354687,-0.343921381616,-0.344011405384,-0.34410142599,-0.344191443433,-0.344281457712,-0.344371468826,-0.344461476776,-0.344551481559,-0.344641483174,-0.344731481622,-0.344821476902,-0.344911469012,-0.345001457951,-0.345091443719,-0.345181426316,-0.345271405739,-0.345361381989,-0.345451355064,-0.345541324964,-0.345631291688,-0.345721255235,-0.345811215604,-0.345901172794,-0.345991126805,-0.346081077636,-0.346171025285,-0.346260969753,-0.346350911038,-0.346440849139,-0.346530784056,-0.346620715788,-0.346710644334,-0.346800569692,-0.346890491863,-0.346980410846,-0.347070326639,-0.347160239242,-0.347250148654,-0.347340054874,-0.347429957901,-0.347519857735,-0.347609754375,-0.347699647819,-0.347789538067,-0.347879425119,-0.347969308973,-0.348059189629,-0.348149067085,-0.348238941341,-0.348328812396,-0.348418680249,-0.3485085449,-0.348598406348,-0.348688264591,-0.348778119629,-0.348867971461,-0.348957820087,-0.349047665505,-0.349137507714,-0.349227346714,-0.349317182505,-0.349407015084,-0.349496844452,-0.349586670607,-0.349676493549,-0.349766313277,-0.34985612979,-0.349945943087,-0.350035753168,-0.350125560031,-0.350215363675,-0.350305164101,-0.350394961307,-0.350484755292,-0.350574546055,-0.350664333596,-0.350754117913,-0.350843899007,-0.350933676876,-0.351023451519,-0.351113222935,-0.351202991125,-0.351292756086,-0.351382517818,-0.35147227632,-0.351562031591,-0.351651783631,-0.351741532439,-0.351831278013,-0.351921020354,-0.35201075946,-0.35210049533,-0.352190227964,-0.35227995736,-0.352369683519,-0.352459406438,-0.352549126118,-0.352638842557,-0.352728555755,-0.352818265711,-0.352907972424,-0.352997675892,-0.353087376116,-0.353177073095,-0.353266766827,-0.353356457312,-0.353446144549,-0.353535828538,-0.353625509277,-0.353715186765,-0.353804861002,-0.353894531987,-0.353984199719,-0.354073864197,-0.35416352542,-0.354253183389,-0.354342838101,-0.354432489556,-0.354522137753,-0.354611782691,-0.35470142437,-0.354791062789,-0.354880697946,-0.354970329842,-0.355059958474,-0.355149583843,-0.355239205948,-0.355328824787,-0.35541844036,-0.355508052666,-0.355597661705,-0.355687267475,-0.355776869975,-0.355866469205,-0.355956065165,-0.356045657852,-0.356135247267,-0.356224833408,-0.356314416274,-0.356403995866,-0.356493572182,-0.35658314522,-0.356672714982,-0.356762281464,-0.356851844668,-0.356941404591,-0.357030961233,-0.357120514594,-0.357210064672,-0.357299611467,-0.357389154977,-0.357478695203,-0.357568232142,-0.357657765795,-0.35774729616,-0.357836823237,-0.357926347025,-0.358015867523,-0.35810538473,-0.358194898645,-0.358284409268,-0.358373916598,-0.358463420634,-0.358552921374,-0.358642418819,-0.358731912968,-0.358821403819,-0.358910891371,-0.359000375625,-0.359089856579,-0.359179334232,-0.359268808584,-0.359358279633,-0.35944774738,-0.359537211822,-0.359626672959,-0.359716130791,-0.359805585317,-0.359895036535,-0.359984484445,-0.360073929046,-0.360163370338,-0.360252808319,-0.360342242988,-0.360431674346,-0.36052110239,-0.360610527121,-0.360699948537,-0.360789366637,-0.360878781421,-0.360968192888,-0.361057601037,-0.361147005867,-0.361236407378,-0.361325805568,-0.361415200438,-0.361504591985,-0.361593980209,-0.361683365109,-0.361772746685,-0.361862124936,-0.36195149986,-0.362040871458,-0.362130239727,-0.362219604668,-0.36230896628,-0.362398324561,-0.362487679511,-0.36257703113,-0.362666379415,-0.362755724367,-0.362845065985,-0.362934404268,-0.363023739214,-0.363113070824,-0.363202399096,-0.363291724029,-0.363381045623,-0.363470363877,-0.36355967879,-0.363648990362,-0.363738298591,-0.363827603476,-0.363916905017,-0.364006203213,-0.364095498064,-0.364184789567,-0.364274077723,-0.364363362531,-0.364452643989,-0.364541922098,-0.364631196856,-0.364720468262,-0.364809736316,-0.364899001016,-0.364988262363,-0.365077520354,-0.36516677499,-0.365256026269,-0.365345274191,-0.365434518755,-0.36552375996,-0.365612997805,-0.365702232289,-0.365791463412,-0.365880691173,-0.36596991557,-0.366059136604,-0.366148354272,-0.366237568576,-0.366326779513,-0.366415987082,-0.366505191284,-0.366594392117,-0.36668358958,-0.366772783673,-0.366861974394,-0.366951161743,-0.36704034572,-0.367129526322,-0.36721870355,-0.367307877403,-0.367397047879,-0.367486214979,-0.3675753787,-0.367664539043,-0.367753696007,-0.36784284959,-0.367931999792,-0.368021146612,-0.368110290049,-0.368199430102,-0.368288566771,-0.368377700055,-0.368466829953,-0.368555956464,-0.368645079588,-0.368734199323,-0.368823315668,-0.368912428624,-0.369001538188,-0.369090644361,-0.369179747141,-0.369268846527,-0.36935794252,-0.369447035117,-0.369536124318,-0.369625210123,-0.36971429253,-0.369803371539,-0.369892447149,-0.369981519359,-0.370070588168,-0.370159653575,-0.37024871558,-0.370337774182,-0.370426829379,-0.370515881172,-0.370604929559,-0.37069397454,-0.370783016113,-0.370872054278,-0.370961089034,-0.37105012038,-0.371139148316,-0.37122817284,-0.371317193952,-0.371406211651,-0.371495225936,-0.371584236806,-0.371673244261,-0.371762248299,-0.37185124892,-0.371940246124,-0.372029239908,-0.372118230273,-0.372207217218,-0.372296200741,-0.372385180842,-0.37247415752,-0.372563130775,-0.372652100605,-0.37274106701,-0.372830029988,-0.37291898954,-0.373007945663,-0.373096898359,-0.373185847624,-0.37327479346,-0.373363735864,-0.373452674837,-0.373541610377,-0.373630542483,-0.373719471155,-0.373808396392,-0.373897318193,-0.373986236557,-0.374075151483,-0.374164062971,-0.37425297102,-0.374341875629,-0.374430776797,-0.374519674523,-0.374608568807,-0.374697459647,-0.374786347044,-0.374875230995,-0.374964111501,-0.37505298856,-0.375141862171,-0.375230732334,-0.375319599049,-0.375408462313,-0.375497322127,-0.375586178489,-0.375675031399,-0.375763880856,-0.375852726859,-0.375941569407,-0.3760304085,-0.376119244136,-0.376208076315,-0.376296905036,-0.376385730298,-0.3764745521,-0.376563370442,-0.376652185323,-0.376740996741,-0.376829804697,-0.376918609189,-0.377007410216,-0.377096207778,-0.377185001874,-0.377273792503,-0.377362579664,-0.377451363356,-0.377540143579,-0.377628920332,-0.377717693613,-0.377806463423,-0.37789522976,-0.377983992623,-0.378072752012,-0.378161507926,-0.378250260364,-0.378339009325,-0.378427754809,-0.378516496814,-0.37860523534,-0.378693970385,-0.37878270195,-0.378871430034,-0.378960154634,-0.379048875752,-0.379137593385,-0.379226307533,-0.379315018196,-0.379403725372,-0.37949242906,-0.37958112926,-0.379669825972,-0.379758519193,-0.379847208924,-0.379935895163,-0.38002457791,-0.380113257164,-0.380201932924,-0.38029060519,-0.380379273959,-0.380467939233,-0.380556601009,-0.380645259287,-0.380733914067,-0.380822565346,-0.380911213126,-0.380999857404,-0.38108849818,-0.381177135453,-0.381265769222,-0.381354399487,-0.381443026247,-0.3815316495,-0.381620269247,-0.381708885485,-0.381797498215,-0.381886107436,-0.381974713147,-0.382063315346,-0.382151914034,-0.382240509209,-0.38232910087,-0.382417689017,-0.382506273649,-0.382594854766,-0.382683432365,-0.382772006447,-0.382860577011,-0.382949144055,-0.383037707579,-0.383126267583,-0.383214824065,-0.383303377024,-0.383391926461,-0.383480472373,-0.38356901476,-0.383657553622,-0.383746088957,-0.383834620765,-0.383923149045,-0.384011673796,-0.384100195017,-0.384188712707,-0.384277226867,-0.384365737494,-0.384454244587,-0.384542748148,-0.384631248173,-0.384719744663,-0.384808237617,-0.384896727034,-0.384985212912,-0.385073695252,-0.385162174053,-0.385250649313,-0.385339121032,-0.38542758921,-0.385516053844,-0.385604514935,-0.385692972481,-0.385781426482,-0.385869876938,-0.385958323846,-0.386046767207,-0.386135207019,-0.386223643282,-0.386312075995,-0.386400505157,-0.386488930767,-0.386577352825,-0.386665771329,-0.38675418628,-0.386842597675,-0.386931005514,-0.387019409797,-0.387107810523,-0.38719620769,-0.387284601299,-0.387372991347,-0.387461377835,-0.387549760761,-0.387638140125,-0.387726515926,-0.387814888164,-0.387903256836,-0.387991621943,-0.388079983483,-0.388168341457,-0.388256695862,-0.388345046699,-0.388433393966,-0.388521737663,-0.388610077788,-0.388698414342,-0.388786747322,-0.388875076729,-0.388963402562,-0.389051724819,-0.3891400435,-0.389228358604,-0.389316670131,-0.389404978079,-0.389493282448,-0.389581583236,-0.389669880444,-0.38975817407,-0.389846464113,-0.389934750573,-0.390023033449,-0.39011131274,-0.390199588444,-0.390287860563,-0.390376129094,-0.390464394036,-0.39055265539,-0.390640913153,-0.390729167326,-0.390817417908,-0.390905664897,-0.390993908293,-0.391082148095,-0.391170384302,-0.391258616914,-0.391346845929,-0.391435071348,-0.391523293168,-0.391611511389,-0.391699726011,-0.391787937033,-0.391876144453,-0.391964348271,-0.392052548486,-0.392140745098,-0.392228938105,-0.392317127507,-0.392405313303,-0.392493495492,-0.392581674073,-0.392669849046,-0.392758020409,-0.392846188162,-0.392934352304,-0.393022512835,-0.393110669753,-0.393198823057,-0.393286972747,-0.393375118823,-0.393463261282,-0.393551400125,-0.39363953535,-0.393727666957,-0.393815794945,-0.393903919314,-0.393992040061,-0.394080157187,-0.394168270691,-0.394256380571,-0.394344486828,-0.39443258946,-0.394520688466,-0.394608783847,-0.394696875599,-0.394784963724,-0.394873048221,-0.394961129087,-0.395049206323,-0.395137279928,-0.395225349901,-0.395313416241,-0.395401478948,-0.39548953802,-0.395577593457,-0.395665645257,-0.395753693421,-0.395841737947,-0.395929778835,-0.396017816083,-0.396105849692,-0.396193879659,-0.396281905985,-0.396369928668,-0.396457947707,-0.396545963103,-0.396633974854,-0.396721982958,-0.396809987417,-0.396897988228,-0.39698598539,-0.397073978904,-0.397161968768,-0.397249954981,-0.397337937543,-0.397425916452,-0.397513891709,-0.397601863311,-0.397689831259,-0.397777795552,-0.397865756188,-0.397953713167,-0.398041666488,-0.39812961615,-0.398217562153,-0.398305504496,-0.398393443177,-0.398481378197,-0.398569309554,-0.398657237247,-0.398745161276,-0.398833081639,-0.398920998337,-0.399008911368,-0.399096820731,-0.399184726426,-0.399272628452,-0.399360526807,-0.399448421492,-0.399536312505,-0.399624199846,-0.399712083513,-0.399799963506,-0.399887839825,-0.399975712468,-0.400063581434,-0.400151446723,-0.400239308334,-0.400327166266,-0.400415020518,-0.40050287109,-0.40059071798,-0.400678561188,-0.400766400714,-0.400854236555,-0.400942068712,-0.401029897184,-0.401117721969,-0.401205543067,-0.401293360478,-0.4013811742,-0.401468984233,-0.401556790575,-0.401644593226,-0.401732392186,-0.401820187453,-0.401907979026,-0.401995766905,-0.40208355109,-0.402171331578,-0.402259108369,-0.402346881464,-0.402434650859,-0.402522416556,-0.402610178553,-0.402697936849,-0.402785691444,-0.402873442336,-0.402961189525,-0.40304893301,-0.403136672791,-0.403224408866,-0.403312141235,-0.403399869896,-0.403487594849,-0.403575316094,-0.403663033629,-0.403750747454,-0.403838457568,-0.403926163969,-0.404013866658,-0.404101565633,-0.404189260894,-0.404276952439,-0.404364640269,-0.404452324382,-0.404540004777,-0.404627681453,-0.40471535441,-0.404803023648,-0.404890689164,-0.404978350959,-0.405066009031,-0.40515366338,-0.405241314005,-0.405328960905,-0.405416604079,-0.405504243527,-0.405591879248,-0.40567951124,-0.405767139503,-0.405854764037,-0.40594238484,-0.406030001912,-0.406117615252,-0.406205224859,-0.406292830732,-0.40638043287,-0.406468031273,-0.40655562594,-0.40664321687,-0.406730804063,-0.406818387516,-0.40690596723,-0.406993543204,-0.407081115438,-0.407168683929,-0.407256248677,-0.407343809683,-0.407431366944,-0.40751892046,-0.40760647023,-0.407694016253,-0.407781558529,-0.407869097057,-0.407956631836,-0.408044162865,-0.408131690143,-0.40821921367,-0.408306733445,-0.408394249466,-0.408481761734,-0.408569270247,-0.408656775004,-0.408744276005,-0.40883177325,-0.408919266736,-0.409006756463,-0.409094242431,-0.409181724639,-0.409269203086,-0.40935667777,-0.409444148692,-0.409531615851,-0.409619079245,-0.409706538874,-0.409793994737,-0.409881446833,-0.409968895162,-0.410056339722,-0.410143780514,-0.410231217535,-0.410318650785,-0.410406080264,-0.410493505971,-0.410580927905,-0.410668346064,-0.410755760449,-0.410843171058,-0.410930577891,-0.411017980946,-0.411105380224,-0.411192775723,-0.411280167442,-0.411367555381,-0.411454939538,-0.411542319914,-0.411629696507,-0.411717069316,-0.41180443834,-0.41189180358,-0.411979165034,-0.4120665227,-0.412153876579,-0.41224122667,-0.412328572971,-0.412415915483,-0.412503254203,-0.412590589132,-0.412677920268,-0.412765247612,-0.412852571161,-0.412939890915,-0.413027206874,-0.413114519036,-0.413201827401,-0.413289131968,-0.413376432736,-0.413463729704,-0.413551022872,-0.413638312238,-0.413725597803,-0.413812879565,-0.413900157523,-0.413987431676,-0.414074702024,-0.414161968566,-0.414249231301,-0.414336490229,-0.414423745348,-0.414510996658,-0.414598244157,-0.414685487846,-0.414772727723,-0.414859963788,-0.414947196039,-0.415034424476,-0.415121649098,-0.415208869905,-0.415296086895,-0.415383300068,-0.415470509422,-0.415557714958,-0.415644916674,-0.415732114569,-0.415819308643,-0.415906498895,-0.415993685324,-0.41608086793,-0.41616804671,-0.416255221666,-0.416342392795,-0.416429560098,-0.416516723572,-0.416603883218,-0.416691039035,-0.416778191022,-0.416865339178,-0.416952483502,-0.417039623993,-0.417126760651,-0.417213893475,-0.417301022464,-0.417388147618,-0.417475268935,-0.417562386414,-0.417649500055,-0.417736609858,-0.41782371582,-0.417910817942,-0.417997916223,-0.418085010662,-0.418172101257,-0.418259188009,-0.418346270916,-0.418433349978,-0.418520425194,-0.418607496563,-0.418694564084,-0.418781627757,-0.41886868758,-0.418955743553,-0.419042795675,-0.419129843945,-0.419216888363,-0.419303928928,-0.419390965638,-0.419477998493,-0.419565027493,-0.419652052636,-0.419739073922,-0.419826091349,-0.419913104918,-0.420000114627,-0.420087120475,-0.420174122462,-0.420261120587,-0.420348114849,-0.420435105247,-0.42052209178,-0.420609074448,-0.42069605325,-0.420783028186,-0.420869999253,-0.420956966452,-0.421043929781,-0.42113088924,-0.421217844829,-0.421304796545,-0.42139174439,-0.42147868836,-0.421565628457,-0.421652564679,-0.421739497024,-0.421826425494,-0.421913350086,-0.4220002708,-0.422087187635,-0.42217410059,-0.422261009665,-0.422347914858,-0.422434816169,-0.422521713598,-0.422608607142,-0.422695496802,-0.422782382577,-0.422869264466,-0.422956142467,-0.423043016581,-0.423129886807,-0.423216753143,-0.423303615589,-0.423390474144,-0.423477328807,-0.423564179578,-0.423651026456,-0.423737869439,-0.423824708528,-0.42391154372,-0.423998375017,-0.424085202416,-0.424172025917,-0.424258845519,-0.424345661221,-0.424432473023,-0.424519280923,-0.424606084922,-0.424692885017,-0.424779681209,-0.424866473496,-0.424953261879,-0.425040046355,-0.425126826924,-0.425213603585,-0.425300376338,-0.425387145182,-0.425473910116,-0.425560671138,-0.42564742825,-0.425734181448,-0.425820930734,-0.425907676105,-0.425994417562,-0.426081155102,-0.426167888727,-0.426254618434,-0.426341344223,-0.426428066093,-0.426514784044,-0.426601498074,-0.426688208183,-0.42677491437,-0.426861616634,-0.426948314975,-0.427035009391,-0.427121699882,-0.427208386447,-0.427295069085,-0.427381747795,-0.427468422577,-0.42755509343,-0.427641760353,-0.427728423345,-0.427815082406,-0.427901737534,-0.427988388729,-0.42807503599,-0.428161679316,-0.428248318707,-0.428334954161,-0.428421585678,-0.428508213257,-0.428594836897,-0.428681456598,-0.428768072359,-0.428854684178,-0.428941292055,-0.42902789599,-0.429114495981,-0.429201092028,-0.42928768413,-0.429374272285,-0.429460856494,-0.429547436756,-0.429634013069,-0.429720585433,-0.429807153847,-0.429893718311,-0.429980278823,-0.430066835383,-0.430153387989,-0.430239936642,-0.43032648134,-0.430413022083,-0.430499558869,-0.430586091698,-0.43067262057,-0.430759145483,-0.430845666436,-0.430932183429,-0.431018696461,-0.431105205531,-0.431191710639,-0.431278211783,-0.431364708963,-0.431451202178,-0.431537691427,-0.43162417671,-0.431710658025,-0.431797135372,-0.43188360875,-0.431970078158,-0.432056543596,-0.432143005062,-0.432229462556,-0.432315916077,-0.432402365625,-0.432488811198,-0.432575252795,-0.432661690416,-0.432748124061,-0.432834553727,-0.432920979416,-0.433007401124,-0.433093818853,-0.433180232601,-0.433266642367,-0.433353048151,-0.433439449951,-0.433525847767,-0.433612241599,-0.433698631444,-0.433785017304,-0.433871399176,-0.43395777706,-0.434044150955,-0.43413052086,-0.434216886775,-0.434303248699,-0.434389606631,-0.43447596057,-0.434562310515,-0.434648656466,-0.434734998422,-0.434821336381,-0.434907670344,-0.43499400031,-0.435080326277,-0.435166648245,-0.435252966213,-0.43533928018,-0.435425590145,-0.435511896108,-0.435598198069,-0.435684496025,-0.435770789976,-0.435857079922,-0.435943365862,-0.436029647794,-0.436115925719,-0.436202199635,-0.436288469542,-0.436374735438,-0.436460997323,-0.436547255196,-0.436633509057,-0.436719758904,-0.436806004737,-0.436892246555,-0.436978484357,-0.437064718143,-0.437150947911,-0.437237173661,-0.437323395392,-0.437409613103,-0.437495826794,-0.437582036463,-0.43766824211,-0.437754443734,-0.437840641334,-0.43792683491,-0.438013024461,-0.438099209985,-0.438185391483,-0.438271568952,-0.438357742394,-0.438443911806,-0.438530077188,-0.438616238539,-0.438702395858,-0.438788549145,-0.438874698398,-0.438960843618,-0.439046984803,-0.439133121952,-0.439219255065,-0.43930538414,-0.439391509178,-0.439477630176,-0.439563747135,-0.439649860054,-0.439735968932,-0.439822073767,-0.43990817456,-0.43999427131,-0.440080364015,-0.440166452675,-0.440252537288,-0.440338617856,-0.440424694375,-0.440510766847,-0.440596835269,-0.440682899642,-0.440768959964,-0.440855016234,-0.440941068452,-0.441027116617,-0.441113160729,-0.441199200785,-0.441285236787,-0.441371268732,-0.44145729662,-0.44154332045,-0.441629340222,-0.441715355934,-0.441801367586,-0.441887375178,-0.441973378707,-0.442059378174,-0.442145373578,-0.442231364918,-0.442317352192,-0.442403335401,-0.442489314544,-0.442575289619,-0.442661260626,-0.442747227565,-0.442833190433,-0.442919149232,-0.443005103959,-0.443091054614,-0.443177001196,-0.443262943705,-0.443348882139,-0.443434816498,-0.443520746781,-0.443606672988,-0.443692595117,-0.443778513167,-0.443864427139,-0.44395033703,-0.444036242841,-0.44412214457,-0.444208042218,-0.444293935782,-0.444379825262,-0.444465710657,-0.444551591967,-0.444637469191,-0.444723342328,-0.444809211377,-0.444895076338,-0.444980937209,-0.44506679399,-0.44515264668,-0.445238495278,-0.445324339783,-0.445410180196,-0.445496016514,-0.445581848737,-0.445667676865,-0.445753500896,-0.44583932083,-0.445925136666,-0.446010948403,-0.44609675604,-0.446182559577,-0.446268359013,-0.446354154346,-0.446439945577,-0.446525732705,-0.446611515728,-0.446697294645,-0.446783069457,-0.446868840162,-0.44695460676,-0.447040369249,-0.447126127629,-0.4472118819,-0.447297632059,-0.447383378108,-0.447469120043,-0.447554857866,-0.447640591575,-0.44772632117,-0.447812046649,-0.447897768012,-0.447983485257,-0.448069198386,-0.448154907395,-0.448240612285,-0.448326313055,-0.448412009704,-0.448497702232,-0.448583390637,-0.448669074918,-0.448754755076,-0.448840431109,-0.448926103016,-0.449011770796,-0.44909743445,-0.449183093975,-0.449268749372,-0.449354400639,-0.449440047776,-0.449525690781,-0.449611329655,-0.449696964395,-0.449782595003,-0.449868221476,-0.449953843814,-0.450039462016,-0.450125076081,-0.450210686009,-0.450296291799,-0.450381893449,-0.45046749096,-0.45055308433,-0.450638673559,-0.450724258646,-0.45080983959,-0.45089541639,-0.450980989045,-0.451066557555,-0.451152121919,-0.451237682136,-0.451323238206,-0.451408790127,-0.451494337898,-0.45157988152,-0.451665420991,-0.45175095631,-0.451836487477,-0.451922014491,-0.45200753735,-0.452093056055,-0.452178570605,-0.452264080998,-0.452349587234,-0.452435089312,-0.452520587231,-0.452606080991,-0.452691570591,-0.452777056029,-0.452862537306,-0.45294801442,-0.453033487371,-0.453118956157,-0.453204420779,-0.453289881235,-0.453375337524,-0.453460789646,-0.4535462376,-0.453631681385,-0.453717121,-0.453802556445,-0.453887987718,-0.45397341482,-0.454058837749,-0.454144256504,-0.454229671084,-0.45431508149,-0.454400487719,-0.454485889772,-0.454571287647,-0.454656681344,-0.454742070862,-0.4548274562,-0.454912837357,-0.454998214333,-0.455083587126,-0.455168955737,-0.455254320163,-0.455339680406,-0.455425036462,-0.455510388333,-0.455595736016,-0.455681079512,-0.455766418819,-0.455851753937,-0.455937084865,-0.456022411602,-0.456107734148,-0.456193052501,-0.45627836666,-0.456363676626,-0.456448982397,-0.456534283972,-0.456619581351,-0.456704874533,-0.456790163517,-0.456875448302,-0.456960728888,-0.457046005273,-0.457131277457,-0.45721654544,-0.457301809219,-0.457387068796,-0.457472324168,-0.457557575335,-0.457642822297,-0.457728065051,-0.457813303599,-0.457898537938,-0.457983768069,-0.45806899399,-0.4581542157,-0.458239433199,-0.458324646486,-0.45840985556,-0.458495060421,-0.458580261067,-0.458665457498,-0.458750649713,-0.458835837712,-0.458921021492,-0.459006201055,-0.459091376398,-0.459176547522,-0.459261714425,-0.459346877106,-0.459432035566,-0.459517189802,-0.459602339814,-0.459687485602,-0.459772627165,-0.459857764501,-0.459942897611,-0.460028026493,-0.460113151146,-0.46019827157,-0.460283387764,-0.460368499727,-0.460453607459,-0.460538710958,-0.460623810224,-0.460708905256,-0.460793996054,-0.460879082616,-0.460964164941,-0.46104924303,-0.46113431688,-0.461219386492,-0.461304451865,-0.461389512997,-0.461474569888,-0.461559622538,-0.461644670945,-0.461729715108,-0.461814755028,-0.461899790702,-0.461984822131,-0.462069849314,-0.462154872249,-0.462239890936,-0.462324905375,-0.462409915563,-0.462494921502,-0.462579923189,-0.462664920624,-0.462749913807,-0.462834902736,-0.462919887411,-0.463004867831,-0.463089843995,-0.463174815902,-0.463259783552,-0.463344746944,-0.463429706076,-0.463514660949,-0.463599611562,-0.463684557913,-0.463769500002,-0.463854437828,-0.463939371391,-0.464024300689,-0.464109225722,-0.464194146489,-0.464279062989,-0.464363975222,-0.464448883186,-0.464533786881,-0.464618686306,-0.464703581461,-0.464788472344,-0.464873358955,-0.464958241293,-0.465043119357,-0.465127993146,-0.46521286266,-0.465297727898,-0.46538258886,-0.465467445543,-0.465552297948,-0.465637146073,-0.465721989919,-0.465806829484,-0.465891664767,-0.465976495768,-0.466061322486,-0.466146144919,-0.466230963068,-0.466315776932,-0.466400586509,-0.466485391799,-0.466570192802,-0.466654989516,-0.46673978194,-0.466824570074,-0.466909353917,-0.466994133469,-0.467078908728,-0.467163679694,-0.467248446365,-0.467333208742,-0.467417966823,-0.467502720608,-0.467587470095,-0.467672215285,-0.467756956176,-0.467841692767,-0.467926425058,-0.468011153048,-0.468095876736,-0.468180596122,-0.468265311204,-0.468350021982,-0.468434728455,-0.468519430622,-0.468604128483,-0.468688822036,-0.468773511281,-0.468858196217,-0.468942876844,-0.46902755316,-0.469112225165,-0.469196892859,-0.469281556239,-0.469366215306,-0.469450870058,-0.469535520496,-0.469620166617,-0.469704808422,-0.46978944591,-0.469874079079,-0.469958707929,-0.47004333246,-0.47012795267,-0.470212568558,-0.470297180125,-0.470381787369,-0.470466390289,-0.470550988884,-0.470635583155,-0.470720173099,-0.470804758717,-0.470889340007,-0.470973916969,-0.471058489601,-0.471143057904,-0.471227621877,-0.471312181517,-0.471396736826,-0.471481287802,-0.471565834443,-0.471650376751,-0.471734914723,-0.471819448359,-0.471903977658,-0.471988502619,-0.472073023242,-0.472157539526,-0.47224205147,-0.472326559073,-0.472411062335,-0.472495561254,-0.47258005583,-0.472664546063,-0.47274903195,-0.472833513493,-0.472917990689,-0.473002463538,-0.473086932039,-0.473171396192,-0.473255855996,-0.47334031145,-0.473424762552,-0.473509209303,-0.473593651702,-0.473678089748,-0.473762523439,-0.473846952776,-0.473931377757,-0.474015798383,-0.474100214651,-0.474184626561,-0.474269034112,-0.474353437305,-0.474437836137,-0.474522230608,-0.474606620717,-0.474691006464,-0.474775387848,-0.474859764868,-0.474944137522,-0.475028505812,-0.475112869735,-0.47519722929,-0.475281584478,-0.475365935297,-0.475450281747,-0.475534623827,-0.475618961535,-0.475703294872,-0.475787623836,-0.475871948427,-0.475956268643,-0.476040584485,-0.476124895951,-0.476209203041,-0.476293505753,-0.476377804088,-0.476462098044,-0.47654638762,-0.476630672816,-0.47671495363,-0.476799230063,-0.476883502114,-0.47696776978,-0.477052033063,-0.477136291961,-0.477220546473,-0.477304796598,-0.477389042337,-0.477473283687,-0.477557520648,-0.47764175322,-0.477725981401,-0.477810205191,-0.477894424589,-0.477978639595,-0.478062850207,-0.478147056425,-0.478231258248,-0.478315455675,-0.478399648705,-0.478483837338,-0.478568021573,-0.478652201409,-0.478736376845,-0.478820547881,-0.478904714516,-0.478988876749,-0.479073034579,-0.479157188005,-0.479241337027,-0.479325481644,-0.479409621856,-0.47949375766,-0.479577889057,-0.479662016046,-0.479746138626,-0.479830256797,-0.479914370556,-0.479998479905,-0.480082584841,-0.480166685365,-0.480250781475,-0.480334873171,-0.480418960451,-0.480503043316,-0.480587121764,-0.480671195795,-0.480755265407,-0.4808393306,-0.480923391374,-0.481007447727,-0.481091499659,-0.481175547168,-0.481259590255,-0.481343628918,-0.481427663157,-0.48151169297,-0.481595718358,-0.481679739319,-0.481763755852,-0.481847767957,-0.481931775633,-0.482015778879,-0.482099777695,-0.482183772079,-0.482267762031,-0.482351747551,-0.482435728636,-0.482519705287,-0.482603677503,-0.482687645283,-0.482771608626,-0.482855567532,-0.482939521999,-0.483023472027,-0.483107417616,-0.483191358763,-0.48327529547,-0.483359227734,-0.483443155555,-0.483527078933,-0.483610997866,-0.483694912354,-0.483778822396,-0.483862727991,-0.483946629138,-0.484030525837,-0.484114418087,-0.484198305888,-0.484282189237,-0.484366068135,-0.484449942581,-0.484533812574,-0.484617678113,-0.484701539198,-0.484785395827,-0.484869248001,-0.484953095717,-0.485036938976,-0.485120777777,-0.485204612119,-0.485288442,-0.485372267421,-0.485456088381,-0.485539904878,-0.485623716912,-0.485707524483,-0.485791327589,-0.48587512623,-0.485958920404,-0.486042710112,-0.486126495353,-0.486210276124,-0.486294052427,-0.48637782426,-0.486461591622,-0.486545354513,-0.486629112932,-0.486712866877,-0.486796616349,-0.486880361346,-0.486964101868,-0.487047837914,-0.487131569483,-0.487215296574,-0.487299019187,-0.487382737321,-0.487466450975,-0.487550160148,-0.48763386484,-0.48771756505,-0.487801260776,-0.487884952019,-0.487968638778,-0.488052321051,-0.488135998838,-0.488219672138,-0.48830334095,-0.488387005274,-0.488470665109,-0.488554320454,-0.488637971309,-0.488721617671,-0.488805259542,-0.48888889692,-0.488972529804,-0.489056158193,-0.489139782087,-0.489223401485,-0.489307016386,-0.48939062679,-0.489474232695,-0.489557834101,-0.489641431007,-0.489725023413,-0.489808611317,-0.489892194719,-0.489975773617,-0.490059348012,-0.490142917903,-0.490226483288,-0.490310044167,-0.49039360054,-0.490477152405,-0.490560699761,-0.490644242608,-0.490727780946,-0.490811314773,-0.490894844088,-0.490978368891,-0.491061889181,-0.491145404957,-0.491228916219,-0.491312422966,-0.491395925197,-0.49147942291,-0.491562916107,-0.491646404784,-0.491729888943,-0.491813368582,-0.4918968437,-0.491980314297,-0.492063780372,-0.492147241923,-0.492230698951,-0.492314151455,-0.492397599433,-0.492481042886,-0.492564481811,-0.492647916209,-0.492731346079,-0.492814771419,-0.49289819223,-0.49298160851,-0.493065020259,-0.493148427475,-0.493231830159,-0.493315228309,-0.493398621924,-0.493482011004,-0.493565395549,-0.493648775556,-0.493732151026,-0.493815521958,-0.493898888351,-0.493982250204,-0.494065607516,-0.494148960287,-0.494232308516,-0.494315652202,-0.494398991344,-0.494482325942,-0.494565655995,-0.494648981502,-0.494732302462,-0.494815618875,-0.494898930739,-0.494982238054,-0.49506554082,-0.495148839035,-0.495232132699,-0.495315421811,-0.49539870637,-0.495481986375,-0.495565261826,-0.495648532722,-0.495731799061,-0.495815060845,-0.495898318071,-0.495981570738,-0.496064818847,-0.496148062396,-0.496231301384,-0.496314535811,-0.496397765677,-0.496480990979,-0.496564211718,-0.496647427893,-0.496730639502,-0.496813846546,-0.496897049023,-0.496980246932,-0.497063440274,-0.497146629046,-0.497229813249,-0.497312992882,-0.497396167943,-0.497479338433,-0.497562504349,-0.497645665692,-0.497728822461,-0.497811974655,-0.497895122273,-0.497978265315,-0.498061403779,-0.498144537665,-0.498227666973,-0.498310791701,-0.498393911848,-0.498477027414,-0.498560138399,-0.4986432448,-0.498726346619,-0.498809443853,-0.498892536502,-0.498975624565,-0.499058708042,-0.499141786932,-0.499224861234,-0.499307930946,-0.49939099607,-0.499474056603,-0.499557112545,-0.499640163895,-0.499723210653,-0.499806252817,-0.499889290387,-0.499972323363,-0.500055351742,-0.500138375526,-0.500221394712,-0.5003044093,-0.50038741929,-0.50047042468,-0.500553425469,-0.500636421658,-0.500719413245,-0.50080240023,-0.500885382611,-0.500968360389,-0.501051333561,-0.501134302128,-0.501217266089,-0.501300225442,-0.501383180188,-0.501466130325,-0.501549075853,-0.50163201677,-0.501714953077,-0.501797884772,-0.501880811855,-0.501963734324,-0.50204665218,-0.50212956542,-0.502212474046,-0.502295378055,-0.502378277447,-0.502461172221,-0.502544062377,-0.502626947914,-0.50270982883,-0.502792705126,-0.5028755768,-0.502958443852,-0.503041306281,-0.503124164086,-0.503207017266,-0.503289865821,-0.50337270975,-0.503455549051,-0.503538383726,-0.503621213772,-0.503704039188,-0.503786859975,-0.503869676131,-0.503952487655,-0.504035294548,-0.504118096807,-0.504200894433,-0.504283687424,-0.50436647578,-0.504449259499,-0.504532038582,-0.504614813028,-0.504697582835,-0.504780348003,-0.504863108531,-0.504945864419,-0.505028615665,-0.505111362269,-0.505194104231,-0.505276841548,-0.505359574222,-0.50544230225,-0.505525025632,-0.505607744367,-0.505690458455,-0.505773167895,-0.505855872686,-0.505938572827,-0.506021268318,-0.506103959158,-0.506186645345,-0.50626932688,-0.506352003761,-0.506434675988,-0.50651734356,-0.506600006476,-0.506682664736,-0.506765318338,-0.506847967282,-0.506930611567,-0.507013251193,-0.507095886158,-0.507178516462,-0.507261142105,-0.507343763084,-0.507426379401,-0.507508991053,-0.50759159804,-0.507674200362,-0.507756798017,-0.507839391005,-0.507921979325,-0.508004562976,-0.508087141958,-0.50816971627,-0.50825228591,-0.508334850879,-0.508417411175,-0.508499966799,-0.508582517748,-0.508665064022,-0.508747605621,-0.508830142543,-0.508912674789,-0.508995202356,-0.509077725245,-0.509160243455,-0.509242756984,-0.509325265833,-0.50940777,-0.509490269485,-0.509572764287,-0.509655254404,-0.509737739837,-0.509820220585,-0.509902696647,-0.509985168021,-0.510067634708,-0.510150096707,-0.510232554016,-0.510315006635,-0.510397454564,-0.510479897801,-0.510562336346,-0.510644770198,-0.510727199357,-0.51080962382,-0.510892043589,-0.510974458661,-0.511056869037,-0.511139274715,-0.511221675695,-0.511304071976,-0.511386463557,-0.511468850438,-0.511551232617,-0.511633610094,-0.511715982869,-0.511798350939,-0.511880714306,-0.511963072967,-0.512045426923,-0.512127776172,-0.512210120713,-0.512292460546,-0.512374795671,-0.512457126086,-0.51253945179,-0.512621772783,-0.512704089065,-0.512786400634,-0.512868707489,-0.51295100963,-0.513033307056,-0.513115599767,-0.513197887761,-0.513280171038,-0.513362449596,-0.513444723437,-0.513526992557,-0.513609256958,-0.513691516637,-0.513773771595,-0.51385602183,-0.513938267342,-0.51402050813,-0.514102744193,-0.514184975531,-0.514267202142,-0.514349424027,-0.514431641183,-0.514513853611,-0.51459606131,-0.514678264279,-0.514760462517,-0.514842656023,-0.514924844797,-0.515007028838,-0.515089208145,-0.515171382717,-0.515253552554,-0.515335717655,-0.515417878019,-0.515500033646,-0.515582184534,-0.515664330683,-0.515746472092,-0.515828608761,-0.515910740688,-0.515992867873,-0.516074990315,-0.516157108014,-0.516239220968,-0.516321329177,-0.51640343264,-0.516485531356,-0.516567625325,-0.516649714546,-0.516731799018,-0.51681387874,-0.516895953711,-0.516978023932,-0.5170600894,-0.517142150116,-0.517224206079,-0.517306257287,-0.51738830374,-0.517470345437,-0.517552382378,-0.517634414562,-0.517716441988,-0.517798464655,-0.517880482562,-0.51796249571,-0.518044504096,-0.518126507721,-0.518208506583,-0.518290500681,-0.518372490016,-0.518454474586,-0.518536454391,-0.518618429429,-0.5187003997,-0.518782365203,-0.518864325938,-0.518946281904,-0.519028233099,-0.519110179524,-0.519192121177,-0.519274058058,-0.519355990166,-0.5194379175,-0.519519840059,-0.519601757843,-0.519683670851,-0.519765579082,-0.519847482536,-0.519929381211,-0.520011275108,-0.520093164224,-0.52017504856,-0.520256928114,-0.520338802887,-0.520420672876,-0.520502538082,-0.520584398504,-0.52066625414,-0.520748104991,-0.520829951055,-0.520911792332,-0.52099362882,-0.52107546052,-0.52115728743,-0.52123910955,-0.521320926879,-0.521402739415,-0.521484547159,-0.52156635011,-0.521648148267,-0.521729941629,-0.521811730195,-0.521893513965,-0.521975292937,-0.522057067112,-0.522138836488,-0.522220601065,-0.522302360841,-0.522384115817,-0.522465865991,-0.522547611363,-0.522629351931,-0.522711087696,-0.522792818656,-0.52287454481,-0.522956266159,-0.5230379827,-0.523119694434,-0.523201401359,-0.523283103476,-0.523364800782,-0.523446493278,-0.523528180962,-0.523609863834,-0.523691541893,-0.523773215139,-0.52385488357,-0.523936547186,-0.524018205986,-0.52409985997,-0.524181509136,-0.524263153484,-0.524344793013,-0.524426427722,-0.524508057611,-0.524589682678,-0.524671302924,-0.524752918347,-0.524834528947,-0.524916134723,-0.524997735673,-0.525079331798,-0.525160923097,-0.525242509568,-0.525324091212,-0.525405668026,-0.525487240012,-0.525568807167,-0.525650369491,-0.525731926984,-0.525813479644,-0.525895027471,-0.525976570464,-0.526058108623,-0.526139641946,-0.526221170433,-0.526302694083,-0.526384212895,-0.526465726869,-0.526547236004,-0.526628740298,-0.526710239753,-0.526791734365,-0.526873224136,-0.526954709064,-0.527036189148,-0.527117664387,-0.527199134782,-0.52728060033,-0.527362061032,-0.527443516887,-0.527524967893,-0.527606414051,-0.527687855359,-0.527769291816,-0.527850723423,-0.527932150177,-0.528013572079,-0.528094989127,-0.528176401321,-0.528257808661,-0.528339211145,-0.528420608772,-0.528502001542,-0.528583389455,-0.528664772508,-0.528746150703,-0.528827524037,-0.52890889251,-0.528990256122,-0.529071614872,-0.529152968758,-0.52923431778,-0.529315661938,-0.52939700123,-0.529478335657,-0.529559665216,-0.529640989908,-0.529722309732,-0.529803624686,-0.529884934771,-0.529966239985,-0.530047540328,-0.530128835798,-0.530210126396,-0.53029141212,-0.53037269297,-0.530453968945,-0.530535240044,-0.530616506266,-0.530697767612,-0.530779024079,-0.530860275667,-0.530941522376,-0.531022764204,-0.531104001151,-0.531185233217,-0.5312664604,-0.5313476827,-0.531428900115,-0.531510112646,-0.531591320292,-0.531672523051,-0.531753720923,-0.531834913907,-0.531916102003,-0.531997285209,-0.532078463526,-0.532159636952,-0.532240805486,-0.532321969128,-0.532403127877,-0.532484281733,-0.532565430693,-0.532646574759,-0.532727713929,-0.532808848202,-0.532889977577,-0.532971102054,-0.533052221633,-0.533133336311,-0.533214446089,-0.533295550966,-0.533376650941,-0.533457746014,-0.533538836183,-0.533619921447,-0.533701001807,-0.533782077261,-0.533863147809,-0.53394421345,-0.534025274182,-0.534106330006,-0.534187380921,-0.534268426926,-0.534349468019,-0.534430504201,-0.534511535471,-0.534592561827,-0.53467358327,-0.534754599798,-0.534835611411,-0.534916618107,-0.534997619887,-0.535078616749,-0.535159608693,-0.535240595718,-0.535321577823,-0.535402555007,-0.53548352727,-0.535564494611,-0.53564545703,-0.535726414524,-0.535807367095,-0.53588831474,-0.53596925746,-0.536050195253,-0.536131128119,-0.536212056057,-0.536292979066,-0.536373897146,-0.536454810295,-0.536535718513,-0.5366166218,-0.536697520154,-0.536778413575,-0.536859302062,-0.536940185615,-0.537021064232,-0.537101937913,-0.537182806656,-0.537263670463,-0.53734452933,-0.537425383259,-0.537506232248,-0.537587076296,-0.537667915402,-0.537748749567,-0.537829578789,-0.537910403067,-0.5379912224,-0.538072036789,-0.538152846232,-0.538233650728,-0.538314450277,-0.538395244877,-0.538476034529,-0.538556819232,-0.538637598984,-0.538718373785,-0.538799143634,-0.538879908531,-0.538960668474,-0.539041423464,-0.539122173499,-0.539202918578,-0.539283658701,-0.539364393867,-0.539445124075,-0.539525849325,-0.539606569616,-0.539687284946,-0.539767995316,-0.539848700725,-0.539929401171,-0.540010096655,-0.540090787174,-0.54017147273,-0.54025215332,-0.540332828945,-0.540413499602,-0.540494165293,-0.540574826015,-0.540655481768,-0.540736132552,-0.540816778366,-0.540897419208,-0.540978055079,-0.541058685977,-0.541139311902,-0.541219932853,-0.541300548828,-0.541381159829,-0.541461765853,-0.5415423669,-0.54162296297,-0.541703554061,-0.541784140172,-0.541864721304,-0.541945297455,-0.542025868625,-0.542106434812,-0.542186996017,-0.542267552238,-0.542348103474,-0.542428649726,-0.542509190991,-0.54258972727,-0.542670258561,-0.542750784865,-0.542831306179,-0.542911822504,-0.542992333838,-0.543072840182,-0.543153341534,-0.543233837893,-0.543314329258,-0.54339481563,-0.543475297007,-0.543555773389,-0.543636244774,-0.543716711162,-0.543797172553,-0.543877628945,-0.543958080338,-0.544038526731,-0.544118968123,-0.544199404514,-0.544279835903,-0.544360262288,-0.544440683671,-0.544521100048,-0.544601511421,-0.544681917788,-0.544762319148,-0.544842715501,-0.544923106845,-0.545003493181,-0.545083874508,-0.545164250824,-0.545244622129,-0.545324988422,-0.545405349703,-0.54548570597,-0.545566057224,-0.545646403463,-0.545726744686,-0.545807080893,-0.545887412083,-0.545967738256,-0.54604805941,-0.546128375545,-0.54620868666,-0.546288992754,-0.546369293827,-0.546449589878,-0.546529880906,-0.546610166911,-0.546690447891,-0.546770723846,-0.546850994775,-0.546931260678,-0.547011521554,-0.547091777401,-0.54717202822,-0.547252274009,-0.547332514768,-0.547412750496,-0.547492981193,-0.547573206857,-0.547653427487,-0.547733643084,-0.547813853646,-0.547894059173,-0.547974259664,-0.548054455118,-0.548134645534,-0.548214830912,-0.54829501125,-0.548375186549,-0.548455356808,-0.548535522025,-0.5486156822,-0.548695837333,-0.548775987421,-0.548856132466,-0.548936272466,-0.54901640742,-0.549096537327,-0.549176662188,-0.549256782,-0.549336896764,-0.549417006478,-0.549497111143,-0.549577210756,-0.549657305318,-0.549737394827,-0.549817479284,-0.549897558687,-0.549977633035,-0.550057702327,-0.550137766564,-0.550217825744,-0.550297879867,-0.550377928931,-0.550457972937,-0.550538011882,-0.550618045768,-0.550698074592,-0.550778098354,-0.550858117053,-0.55093813069,-0.551018139262,-0.551098142769,-0.551178141211,-0.551258134586,-0.551338122894,-0.551418106135,-0.551498084307,-0.55157805741,-0.551658025443,-0.551737988405,-0.551817946295,-0.551897899114,-0.551977846859,-0.552057789531,-0.552137727129,-0.552217659651,-0.552297587097,-0.552377509467,-0.55245742676,-0.552537338974,-0.55261724611,-0.552697148166,-0.552777045142,-0.552856937036,-0.552936823849,-0.55301670558,-0.553096582227,-0.553176453791,-0.55325632027,-0.553336181663,-0.55341603797,-0.55349588919,-0.553575735323,-0.553655576367,-0.553735412323,-0.553815243188,-0.553895068963,-0.553974889647,-0.554054705238,-0.554134515737,-0.554214321142,-0.554294121454,-0.55437391667,-0.55445370679,-0.554533491814,-0.554613271741,-0.55469304657,-0.554772816301,-0.554852580932,-0.554932340463,-0.555012094893,-0.555091844222,-0.555171588448,-0.555251327571,-0.555331061591,-0.555410790506,-0.555490514316,-0.55557023302,-0.555649946617,-0.555729655107,-0.555809358488,-0.555889056761,-0.555968749924,-0.556048437977,-0.556128120919,-0.556207798749,-0.556287471466,-0.55636713907,-0.55644680156,-0.556526458936,-0.556606111196,-0.556685758339,-0.556765400366,-0.556845037275,-0.556924669066,-0.557004295737,-0.557083917289,-0.55716353372,-0.55724314503,-0.557322751218,-0.557402352283,-0.557481948224,-0.557561539041,-0.557641124733,-0.5577207053,-0.55780028074,-0.557879851053,-0.557959416237,-0.558038976294,-0.558118531221,-0.558198081017,-0.558277625683,-0.558357165218,-0.55843669962,-0.558516228889,-0.558595753024,-0.558675272025,-0.55875478589,-0.55883429462,-0.558913798213,-0.558993296668,-0.559072789986,-0.559152278164,-0.559231761203,-0.559311239102,-0.559390711859,-0.559470179475,-0.559549641948,-0.559629099278,-0.559708551464,-0.559787998505,-0.559867440401,-0.55994687715,-0.560026308753,-0.560105735208,-0.560185156514,-0.560264572672,-0.56034398368,-0.560423389537,-0.560502790242,-0.560582185796,-0.560661576197,-0.560740961445,-0.560820341538,-0.560899716477,-0.560979086259,-0.561058450886,-0.561137810355,-0.561217164666,-0.561296513819,-0.561375857813,-0.561455196646,-0.561534530319,-0.56161385883,-0.561693182179,-0.561772500365,-0.561851813387,-0.561931121245,-0.562010423937,-0.562089721464,-0.562169013824,-0.562248301017,-0.562327583042,-0.562406859898,-0.562486131584,-0.562565398101,-0.562644659446,-0.562723915619,-0.56280316662,-0.562882412448,-0.562961653102,-0.563040888582,-0.563120118886,-0.563199344014,-0.563278563965,-0.563357778739,-0.563436988334,-0.56351619275,-0.563595391987,-0.563674586043,-0.563753774918,-0.563832958611,-0.563912137122,-0.563991310449,-0.564070478592,-0.56414964155,-0.564228799323,-0.564307951909,-0.564387099309,-0.564466241521,-0.564545378544,-0.564624510378,-0.564703637022,-0.564782758476,-0.564861874738,-0.564940985808,-0.565020091685,-0.565099192369,-0.565178287858,-0.565257378153,-0.565336463251,-0.565415543154,-0.565494617859,-0.565573687366,-0.565652751674,-0.565731810784,-0.565810864693,-0.565889913401,-0.565968956908,-0.566047995212,-0.566127028314,-0.566206056212,-0.566285078905,-0.566364096393,-0.566443108675,-0.566522115751,-0.566601117619,-0.56668011428,-0.566759105731,-0.566838091973,-0.566917073004,-0.566996048825,-0.567075019434,-0.567153984831,-0.567232945014,-0.567311899983,-0.567390849738,-0.567469794278,-0.567548733601,-0.567627667708,-0.567706596597,-0.567785520268,-0.56786443872,-0.567943351952,-0.568022259964,-0.568101162755,-0.568180060324,-0.56825895267,-0.568337839793,-0.568416721692,-0.568495598366,-0.568574469815,-0.568653336037,-0.568732197033,-0.568811052801,-0.56888990334,-0.568968748651,-0.569047588731,-0.569126423581,-0.5692052532,-0.569284077586,-0.56936289674,-0.569441710661,-0.569520519347,-0.569599322798,-0.569678121014,-0.569756913993,-0.569835701736,-0.56991448424,-0.569993261506,-0.570072033533,-0.570150800319,-0.570229561865,-0.57030831817,-0.570387069232,-0.570465815052,-0.570544555628,-0.57062329096,-0.570702021046,-0.570780745887,-0.570859465481,-0.570938179828,-0.571016888928,-0.571095592778,-0.571174291379,-0.57125298473,-0.57133167283,-0.571410355679,-0.571489033275,-0.571567705618,-0.571646372708,-0.571725034543,-0.571803691123,-0.571882342447,-0.571960988515,-0.572039629325,-0.572118264877,-0.57219689517,-0.572275520204,-0.572354139977,-0.57243275449,-0.572511363741,-0.572589967729,-0.572668566454,-0.572747159916,-0.572825748113,-0.572904331045,-0.57298290871,-0.573061481109,-0.57314004824,-0.573218610104,-0.573297166698,-0.573375718023,-0.573454264077,-0.57353280486,-0.573611340372,-0.573689870611,-0.573768395577,-0.573846915269,-0.573925429686,-0.574003938827,-0.574082442693,-0.574160941282,-0.574239434593,-0.574317922626,-0.57439640538,-0.574474882854,-0.574553355048,-0.57463182196,-0.574710283591,-0.574788739939,-0.574867191004,-0.574945636784,-0.57502407728,-0.575102512491,-0.575180942415,-0.575259367052,-0.575337786402,-0.575416200463,-0.575494609235,-0.575573012717,-0.575651410909,-0.575729803809,-0.575808191418,-0.575886573734,-0.575964950756,-0.576043322484,-0.576121688917,-0.576200050055,-0.576278405897,-0.576356756441,-0.576435101688,-0.576513441636,-0.576591776285,-0.576670105634,-0.576748429682,-0.57682674843,-0.576905061875,-0.576983370017,-0.577061672856,-0.57713997039,-0.57721826262,-0.577296549544,-0.577374831161,-0.577453107472,-0.577531378474,-0.577609644168,-0.577687904553,-0.577766159628,-0.577844409392,-0.577922653845,-0.578000892985,-0.578079126813,-0.578157355327,-0.578235578527,-0.578313796412,-0.578392008981,-0.578470216233,-0.578548418169,-0.578626614786,-0.578704806085,-0.578782992065,-0.578861172724,-0.578939348063,-0.57901751808,-0.579095682775,-0.579173842148,-0.579251996196,-0.57933014492,-0.579408288319,-0.579486426393,-0.579564559139,-0.579642686559,-0.579720808651,-0.579798925413,-0.579877036847,-0.57995514295,-0.580033243723,-0.580111339164,-0.580189429273,-0.580267514049,-0.580345593491,-0.580423667598,-0.580501736371,-0.580579799808,-0.580657857908,-0.580735910671,-0.580813958096,-0.580892000182,-0.580970036929,-0.581048068335,-0.581126094401,-0.581204115125,-0.581282130507,-0.581360140546,-0.581438145241,-0.581516144591,-0.581594138597,-0.581672127256,-0.581750110569,-0.581828088535,-0.581906061153,-0.581984028421,-0.582061990341,-0.58213994691,-0.582217898128,-0.582295843995,-0.582373784509,-0.58245171967,-0.582529649478,-0.582607573931,-0.582685493029,-0.582763406771,-0.582841315156,-0.582919218184,-0.582997115853,-0.583075008164,-0.583152895116,-0.583230776707,-0.583308652938,-0.583386523806,-0.583464389313,-0.583542249456,-0.583620104236,-0.583697953651,-0.5837757977,-0.583853636384,-0.583931469701,-0.584009297651,-0.584087120233,-0.584164937446,-0.584242749289,-0.584320555762,-0.584398356864,-0.584476152595,-0.584553942953,-0.584631727938,-0.584709507549,-0.584787281786,-0.584865050648,-0.584942814133,-0.585020572242,-0.585098324973,-0.585176072327,-0.585253814301,-0.585331550896,-0.585409282111,-0.585487007945,-0.585564728397,-0.585642443467,-0.585720153154,-0.585797857456,-0.585875556375,-0.585953249908,-0.586030938055,-0.586108620815,-0.586186298189,-0.586263970174,-0.58634163677,-0.586419297976,-0.586496953793,-0.586574604218,-0.586652249252,-0.586729888893,-0.586807523142,-0.586885151996,-0.586962775456,-0.587040393521,-0.58711800619,-0.587195613462,-0.587273215337,-0.587350811813,-0.587428402891,-0.587505988569,-0.587583568848,-0.587661143725,-0.5877387132,-0.587816277273,-0.587893835943,-0.58797138921,-0.588048937072,-0.588126479528,-0.588204016579,-0.588281548223,-0.588359074459,-0.588436595288,-0.588514110708,-0.588591620718,-0.588669125318,-0.588746624507,-0.588824118285,-0.58890160665,-0.588979089602,-0.58905656714,-0.589134039264,-0.589211505973,-0.589288967265,-0.589366423141,-0.5894438736,-0.589521318641,-0.589598758263,-0.589676192466,-0.589753621248,-0.589831044609,-0.589908462549,-0.589985875067,-0.590063282161,-0.590140683832,-0.590218080079,-0.5902954709,-0.590372856295,-0.590450236264,-0.590527610805,-0.590604979919,-0.590682343604,-0.590759701859,-0.590837054684,-0.590914402078,-0.590991744041,-0.591069080572,-0.591146411669,-0.591223737333,-0.591301057562,-0.591378372357,-0.591455681715,-0.591532985637,-0.591610284122,-0.591687577169,-0.591764864777,-0.591842146946,-0.591919423674,-0.591996694962,-0.592073960808,-0.592151221212,-0.592228476174,-0.592305725691,-0.592382969764,-0.592460208393,-0.592537441575,-0.592614669311,-0.5926918916,-0.59276910844,-0.592846319833,-0.592923525776,-0.593000726268,-0.593077921311,-0.593155110901,-0.59323229504,-0.593309473725,-0.593386646958,-0.593463814735,-0.593540977058,-0.593618133925,-0.593695285336,-0.59377243129,-0.593849571785,-0.593926706823,-0.594003836401,-0.594080960519,-0.594158079176,-0.594235192372,-0.594312300106,-0.594389402377,-0.594466499185,-0.594543590528,-0.594620676407,-0.594697756819,-0.594774831766,-0.594851901245,-0.594928965257,-0.5950060238,-0.595083076875,-0.595160124479,-0.595237166612,-0.595314203275,-0.595391234465,-0.595468260183,-0.595545280427,-0.595622295197,-0.595699304492,-0.595776308312,-0.595853306656,-0.595930299522,-0.596007286911,-0.596084268822,-0.596161245253,-0.596238216205,-0.596315181676,-0.596392141666,-0.596469096174,-0.596546045199,-0.596622988741,-0.596699926799,-0.596776859373,-0.59685378646,-0.596930708062,-0.597007624177,-0.597084534804,-0.597161439943,-0.597238339593,-0.597315233754,-0.597392122424,-0.597469005603,-0.59754588329,-0.597622755484,-0.597699622186,-0.597776483393,-0.597853339106,-0.597930189323,-0.598007034045,-0.598083873269,-0.598160706996,-0.598237535225,-0.598314357955,-0.598391175186,-0.598467986916,-0.598544793146,-0.598621593873,-0.598698389098,-0.59877517882,-0.598851963039,-0.598928741752,-0.599005514961,-0.599082282664,-0.59915904486,-0.599235801548,-0.599312552729,-0.599389298401,-0.599466038563,-0.599542773215,-0.599619502356,-0.599696225986,-0.599772944104,-0.599849656708,-0.599926363799,-0.600003065375,-0.600079761437,-0.600156451982,-0.600233137011,-0.600309816523,-0.600386490517,-0.600463158992,-0.600539821948,-0.600616479384,-0.600693131299,-0.600769777693,-0.600846418564,-0.600923053913,-0.600999683738,-0.601076308039,-0.601152926815,-0.601229540065,-0.601306147789,-0.601382749986,-0.601459346655,-0.601535937795,-0.601612523407,-0.601689103488,-0.601765678039,-0.601842247059,-0.601918810546,-0.601995368501,-0.602071920922,-0.60214846781,-0.602225009162,-0.602301544979,-0.60237807526,-0.602454600004,-0.60253111921,-0.602607632878,-0.602684141007,-0.602760643596,-0.602837140644,-0.602913632152,-0.602990118117,-0.60306659854,-0.60314307342,-0.603219542756,-0.603296006547,-0.603372464793,-0.603448917493,-0.603525364646,-0.603601806251,-0.603678242308,-0.603754672817,-0.603831097776,-0.603907517184,-0.603983931042,-0.604060339348,-0.604136742101,-0.604213139302,-0.604289530948,-0.60436591704,-0.604442297577,-0.604518672558,-0.604595041983,-0.60467140585,-0.604747764159,-0.604824116909,-0.6049004641,-0.604976805731,-0.605053141801,-0.605129472309,-0.605205797255,-0.605282116639,-0.605358430459,-0.605434738714,-0.605511041404,-0.605587338529,-0.605663630087,-0.605739916078,-0.605816196502,-0.605892471356,-0.605968740642,-0.606045004357,-0.606121262502,-0.606197515076,-0.606273762077,-0.606350003506,-0.606426239361,-0.606502469643,-0.606578694349,-0.60665491348,-0.606731127035,-0.606807335012,-0.606883537412,-0.606959734234,-0.607035925476,-0.607112111139,-0.607188291222,-0.607264465723,-0.607340634643,-0.607416797979,-0.607492955733,-0.607569107903,-0.607645254488,-0.607721395488,-0.607797530901,-0.607873660728,-0.607949784968,-0.608025903619,-0.608102016682,-0.608178124155,-0.608254226037,-0.608330322329,-0.608406413029,-0.608482498137,-0.608558577652,-0.608634651573,-0.608710719899,-0.608786782631,-0.608862839766,-0.608938891305,-0.609014937247,-0.609090977591,-0.609167012336,-0.609243041482,-0.609319065028,-0.609395082973,-0.609471095317,-0.609547102059,-0.609623103198,-0.609699098733,-0.609775088664,-0.60985107299,-0.60992705171,-0.610003024825,-0.610078992332,-0.610154954231,-0.610230910522,-0.610306861204,-0.610382806276,-0.610458745738,-0.610534679588,-0.610610607827,-0.610686530453,-0.610762447465,-0.610838358864,-0.610914264648,-0.610990164816,-0.611066059369,-0.611141948304,-0.611217831622,-0.611293709322,-0.611369581403,-0.611445447865,-0.611521308706,-0.611597163926,-0.611673013525,-0.611748857501,-0.611824695854,-0.611900528584,-0.611976355689,-0.612052177169,-0.612127993022,-0.61220380325,-0.61227960785,-0.612355406822,-0.612431200166,-0.61250698788,-0.612582769964,-0.612658546417,-0.61273431724,-0.612810082429,-0.612885841986,-0.61296159591,-0.613037344199,-0.613113086854,-0.613188823873,-0.613264555255,-0.613340281001,-0.613416001109,-0.613491715578,-0.613567424408,-0.613643127599,-0.613718825149,-0.613794517058,-0.613870203325,-0.61394588395,-0.614021558931,-0.614097228268,-0.614172891961,-0.614248550008,-0.61432420241,-0.614399849164,-0.614475490271,-0.61455112573,-0.61462675554,-0.614702379701,-0.614777998211,-0.614853611071,-0.614929218279,-0.615004819834,-0.615080415737,-0.615156005986,-0.615231590581,-0.61530716952,-0.615382742804,-0.615458310431,-0.615533872401,-0.615609428713,-0.615684979367,-0.615760524361,-0.615836063696,-0.61591159737,-0.615987125382,-0.616062647733,-0.616138164421,-0.616213675445,-0.616289180805,-0.616364680501,-0.616440174531,-0.616515662895,-0.616591145592,-0.616666622621,-0.616742093982,-0.616817559674,-0.616893019697,-0.616968474049,-0.61704392273,-0.617119365739,-0.617194803076,-0.61727023474,-0.61734566073,-0.617421081045,-0.617496495686,-0.61757190465,-0.617647307938,-0.617722705548,-0.617798097481,-0.617873483735,-0.617948864309,-0.618024239204,-0.618099608417,-0.61817497195,-0.6182503298,-0.618325681967,-0.618401028451,-0.61847636925,-0.618551704365,-0.618627033794,-0.618702357537,-0.618777675593,-0.618852987961,-0.618928294641,-0.619003595631,-0.619078890932,-0.619154180543,-0.619229464462,-0.61930474269,-0.619380015225,-0.619455282067,-0.619530543215,-0.619605798668,-0.619681048426,-0.619756292488,-0.619831530854,-0.619906763522,-0.619981990492,-0.620057211763,-0.620132427335,-0.620207637207,-0.620282841378,-0.620358039847,-0.620433232614,-0.620508419679,-0.620583601039,-0.620658776696,-0.620733946647,-0.620809110893,-0.620884269433,-0.620959422265,-0.62103456939,-0.621109710806,-0.621184846514,-0.621259976511,-0.621335100798,-0.621410219374,-0.621485332238,-0.621560439389,-0.621635540827,-0.621710636551,-0.621785726561,-0.621860810855,-0.621935889433,-0.622010962295,-0.622086029439,-0.622161090865,-0.622236146572,-0.62231119656,-0.622386240827,-0.622461279374,-0.622536312199,-0.622611339302,-0.622686360683,-0.622761376339,-0.622836386271,-0.622911390479,-0.62298638896,-0.623061381715,-0.623136368744,-0.623211350044,-0.623286325616,-0.623361295459,-0.623436259572,-0.623511217955,-0.623586170606,-0.623661117526,-0.623736058713,-0.623810994166,-0.623885923886,-0.623960847871,-0.624035766121,-0.624110678635,-0.624185585412,-0.624260486452,-0.624335381754,-0.624410271317,-0.62448515514,-0.624560033224,-0.624634905566,-0.624709772168,-0.624784633026,-0.624859488142,-0.624934337515,-0.625009181143,-0.625084019026,-0.625158851164,-0.625233677555,-0.625308498199,-0.625383313096,-0.625458122244,-0.625532925643,-0.625607723292,-0.625682515191,-0.625757301339,-0.625832081735,-0.625906856378,-0.625981625268,-0.626056388404,-0.626131145786,-0.626205897412,-0.626280643283,-0.626355383397,-0.626430117753,-0.626504846352,-0.626579569192,-0.626654286272,-0.626728997592,-0.626803703152,-0.62687840295,-0.626953096986,-0.627027785259,-0.627102467769,-0.627177144515,-0.627251815495,-0.62732648071,-0.627401140159,-0.627475793841,-0.627550441755,-0.627625083901,-0.627699720278,-0.627774350885,-0.627848975722,-0.627923594788,-0.627998208082,-0.628072815604,-0.628147417352,-0.628222013327,-0.628296603527,-0.628371187953,-0.628445766602,-0.628520339475,-0.62859490657,-0.628669467888,-0.628744023427,-0.628818573186,-0.628893117166,-0.628967655365,-0.629042187783,-0.629116714419,-0.629191235272,-0.629265750341,-0.629340259627,-0.629414763128,-0.629489260843,-0.629563752772,-0.629638238915,-0.62971271927,-0.629787193837,-0.629861662614,-0.629936125603,-0.630010582801,-0.630085034208,-0.630159479824,-0.630233919647,-0.630308353677,-0.630382781914,-0.630457204356,-0.630531621003,-0.630606031855,-0.63068043691,-0.630754836168,-0.630829229628,-0.63090361729,-0.630977999153,-0.631052375216,-0.631126745478,-0.63120110994,-0.631275468599,-0.631349821456,-0.631424168509,-0.631498509759,-0.631572845204,-0.631647174844,-0.631721498678,-0.631795816705,-0.631870128925,-0.631944435337,-0.63201873594,-0.632093030734,-0.632167319717,-0.63224160289,-0.632315880252,-0.632390151801,-0.632464417538,-0.632538677461,-0.63261293157,-0.632687179864,-0.632761422343,-0.632835659005,-0.632909889851,-0.632984114878,-0.633058334088,-0.633132547479,-0.63320675505,-0.633280956801,-0.633355152731,-0.633429342839,-0.633503527125,-0.633577705588,-0.633651878227,-0.633726045041,-0.633800206031,-0.633874361195,-0.633948510532,-0.634022654043,-0.634096791725,-0.634170923579,-0.634245049604,-0.634319169799,-0.634393284164,-0.634467392697,-0.634541495398,-0.634615592267,-0.634689683303,-0.634763768504,-0.634837847872,-0.634911921403,-0.634985989099,-0.635060050958,-0.63513410698,-0.635208157164,-0.635282201509,-0.635356240015,-0.63543027268,-0.635504299505,-0.635578320489,-0.63565233563,-0.635726344929,-0.635800348384,-0.635874345995,-0.635948337761,-0.636022323682,-0.636096303756,-0.636170277984,-0.636244246364,-0.636318208896,-0.636392165579,-0.636466116412,-0.636540061395,-0.636614000527,-0.636687933808,-0.636761861236,-0.636835782812,-0.636909698533,-0.636983608401,-0.637057512413,-0.637131410569,-0.63720530287,-0.637279189313,-0.637353069898,-0.637426944625,-0.637500813493,-0.637574676501,-0.637648533649,-0.637722384936,-0.63779623036,-0.637870069923,-0.637943903622,-0.638017731457,-0.638091553428,-0.638165369533,-0.638239179773,-0.638312984146,-0.638386782652,-0.63846057529,-0.638534362059,-0.63860814296,-0.63868191799,-0.638755687149,-0.638829450437,-0.638903207854,-0.638976959397,-0.639050705068,-0.639124444864,-0.639198178785,-0.639271906831,-0.639345629002,-0.639419345295,-0.639493055711,-0.639566760249,-0.639640458908,-0.639714151688,-0.639787838587,-0.639861519606,-0.639935194743,-0.640008863998,-0.640082527371,-0.64015618486,-0.640229836464,-0.640303482184,-0.640377122018,-0.640450755966,-0.640524384028,-0.640598006201,-0.640671622487,-0.640745232883,-0.64081883739,-0.640892436007,-0.640966028732,-0.641039615566,-0.641113196508,-0.641186771557,-0.641260340712,-0.641333903973,-0.641407461338,-0.641481012809,-0.641554558382,-0.641628098059,-0.641701631838,-0.641775159719,-0.6418486817,-0.641922197782,-0.641995707963,-0.642069212244,-0.642142710622,-0.642216203098,-0.642289689671,-0.642363170341,-0.642436645105,-0.642510113965,-0.642583576919,-0.642657033966,-0.642730485106,-0.642803930339,-0.642877369662,-0.642950803077,-0.643024230582,-0.643097652176,-0.643171067859,-0.64324447763,-0.643317881489,-0.643391279434,-0.643464671465,-0.643538057582,-0.643611437784,-0.643684812069,-0.643758180438,-0.64383154289,-0.643904899424,-0.643978250039,-0.644051594734,-0.64412493351,-0.644198266365,-0.644271593299,-0.644344914311,-0.6444182294,-0.644491538566,-0.644564841807,-0.644638139125,-0.644711430516,-0.644784715982,-0.644857995521,-0.644931269132,-0.645004536816,-0.64507779857,-0.645151054395,-0.645224304291,-0.645297548255,-0.645370786288,-0.645444018389,-0.645517244557,-0.645590464792,-0.645663679092,-0.645736887458,-0.645810089888,-0.645883286382,-0.645956476939,-0.646029661559,-0.646102840241,-0.646176012983,-0.646249179787,-0.64632234065,-0.646395495572,-0.646468644552,-0.646541787591,-0.646614924687,-0.646688055839,-0.646761181046,-0.646834300309,-0.646907413627,-0.646980520998,-0.647053622422,-0.647126717899,-0.647199807427,-0.647272891007,-0.647345968637,-0.647419040316,-0.647492106045,-0.647565165822,-0.647638219647,-0.647711267519,-0.647784309437,-0.647857345401,-0.64793037541,-0.648003399463,-0.64807641756,-0.6481494297,-0.648222435882,-0.648295436107,-0.648368430372,-0.648441418677,-0.648514401022,-0.648587377406,-0.648660347829,-0.648733312289,-0.648806270786,-0.648879223319,-0.648952169888,-0.649025110492,-0.64909804513,-0.649170973802,-0.649243896507,-0.649316813244,-0.649389724013,-0.649462628813,-0.649535527643,-0.649608420502,-0.649681307391,-0.649754188307,-0.649827063252,-0.649899932223,-0.649972795221,-0.650045652244,-0.650118503292,-0.650191348364,-0.65026418746,-0.650337020579,-0.65040984772,-0.650482668883,-0.650555484067,-0.65062829327,-0.650701096494,-0.650773893736,-0.650846684996,-0.650919470274,-0.650992249569,-0.65106502288,-0.651137790207,-0.651210551549,-0.651283306905,-0.651356056274,-0.651428799656,-0.65150153705,-0.651574268456,-0.651646993873,-0.6517197133,-0.651792426737,-0.651865134182,-0.651937835636,-0.652010531097,-0.652083220565,-0.652155904039,-0.652228581519,-0.652301253003,-0.652373918492,-0.652446577984,-0.65251923148,-0.652591878977,-0.652664520476,-0.652737155975,-0.652809785475,-0.652882408975,-0.652955026473,-0.653027637969,-0.653100243463,-0.653172842954,-0.653245436441,-0.653318023923,-0.6533906054,-0.653463180872,-0.653535750337,-0.653608313795,-0.653680871244,-0.653753422686,-0.653825968118,-0.653898507541,-0.653971040953,-0.654043568353,-0.654116089742,-0.654188605119,-0.654261114482,-0.654333617832,-0.654406115167,-0.654478606487,-0.654551091791,-0.654623571078,-0.654696044349,-0.654768511601,-0.654840972835,-0.65491342805,-0.654985877245,-0.65505832042,-0.655130757573,-0.655203188705,-0.655275613814,-0.6553480329,-0.655420445962,-0.655492853,-0.655565254012,-0.655637648999,-0.655710037959,-0.655782420892,-0.655854797797,-0.655927168674,-0.655999533522,-0.65607189234,-0.656144245127,-0.656216591883,-0.656288932608,-0.6563612673,-0.656433595958,-0.656505918583,-0.656578235174,-0.656650545729,-0.656722850249,-0.656795148732,-0.656867441178,-0.656939727587,-0.657012007956,-0.657084282287,-0.657156550578,-0.657228812829,-0.657301069038,-0.657373319206,-0.657445563331,-0.657517801413,-0.657590033451,-0.657662259445,-0.657734479394,-0.657806693297,-0.657878901154,-0.657951102963,-0.658023298725,-0.658095488439,-0.658167672103,-0.658239849717,-0.658312021282,-0.658384186795,-0.658456346256,-0.658528499665,-0.658600647021,-0.658672788323,-0.658744923571,-0.658817052764,-0.658889175901,-0.658961292982,-0.659033404006,-0.659105508972,-0.659177607879,-0.659249700728,-0.659321787517,-0.659393868246,-0.659465942913,-0.659538011519,-0.659610074063,-0.659682130544,-0.659754180961,-0.659826225313,-0.659898263601,-0.659970295823,-0.660042321979,-0.660114342067,-0.660186356089,-0.660258364041,-0.660330365925,-0.66040236174,-0.660474351484,-0.660546335157,-0.660618312758,-0.660690284287,-0.660762249744,-0.660834209126,-0.660906162435,-0.660978109668,-0.661050050826,-0.661121985908,-0.661193914913,-0.66126583784,-0.661337754689,-0.661409665459,-0.66148157015,-0.66155346876,-0.66162536129,-0.661697247738,-0.661769128104,-0.661841002387,-0.661912870587,-0.661984732702,-0.662056588733,-0.662128438678,-0.662200282537,-0.662272120309,-0.662343951994,-0.66241577759,-0.662487597098,-0.662559410516,-0.662631217845,-0.662703019082,-0.662774814228,-0.662846603282,-0.662918386243,-0.662990163111,-0.663061933885,-0.663133698564,-0.663205457148,-0.663277209635,-0.663348956026,-0.66342069632,-0.663492430515,-0.663564158612,-0.66363588061,-0.663707596507,-0.663779306304,-0.663851009999,-0.663922707593,-0.663994399084,-0.664066084472,-0.664137763755,-0.664209436934,-0.664281104008,-0.664352764976,-0.664424419837,-0.664496068591,-0.664567711237,-0.664639347775,-0.664710978203,-0.664782602522,-0.66485422073,-0.664925832826,-0.664997438811,-0.665069038684,-0.665140632443,-0.665212220088,-0.665283801619,-0.665355377035,-0.665426946335,-0.665498509518,-0.665570066585,-0.665641617533,-0.665713162363,-0.665784701074,-0.665856233666,-0.665927760136,-0.665999280486,-0.666070794714,-0.66614230282,-0.666213804803,-0.666285300662,-0.666356790396,-0.666428274006,-0.66649975149,-0.666571222847,-0.666642688078,-0.666714147181,-0.666785600156,-0.666857047002,-0.666928487718,-0.666999922304,-0.667071350759,-0.667142773082,-0.667214189273,-0.667285599331,-0.667357003256,-0.667428401047,-0.667499792702,-0.667571178223,-0.667642557607,-0.667713930854,-0.667785297963,-0.667856658935,-0.667928013768,-0.667999362461,-0.668070705014,-0.668142041427,-0.668213371698,-0.668284695826,-0.668356013813,-0.668427325655,-0.668498631354,-0.668569930908,-0.668641224317,-0.66871251158,-0.668783792696,-0.668855067665,-0.668926336485,-0.668997599157,-0.66906885568,-0.669140106053,-0.669211350276,-0.669282588347,-0.669353820266,-0.669425046032,-0.669496265646,-0.669567479105,-0.66963868641,-0.66970988756,-0.669781082554,-0.669852271392,-0.669923454072,-0.669994630595,-0.670065800959,-0.670136965164,-0.670208123209,-0.670279275094,-0.670350420818,-0.67042156038,-0.67049269378,-0.670563821017,-0.67063494209,-0.670706056998,-0.670777165742,-0.67084826832,-0.670919364732,-0.670990454977,-0.671061539054,-0.671132616963,-0.671203688703,-0.671274754274,-0.671345813674,-0.671416866903,-0.671487913961,-0.671558954847,-0.67162998956,-0.671701018099,-0.671772040465,-0.671843056655,-0.67191406667,-0.671985070509,-0.672056068172,-0.672127059656,-0.672198044963,-0.672269024091,-0.67233999704,-0.672410963809,-0.672481924397,-0.672552878804,-0.672623827029,-0.672694769071,-0.67276570493,-0.672836634605,-0.672907558095,-0.6729784754,-0.67304938652,-0.673120291453,-0.673191190198,-0.673262082756,-0.673332969125,-0.673403849306,-0.673474723296,-0.673545591096,-0.673616452705,-0.673687308122,-0.673758157347,-0.673829000379,-0.673899837217,-0.673970667861,-0.674041492309,-0.674112310562,-0.674183122619,-0.674253928479,-0.674324728141,-0.674395521605,-0.67446630887,-0.674537089936,-0.674607864801,-0.674678633466,-0.674749395929,-0.674820152189,-0.674890902247,-0.674961646102,-0.675032383752,-0.675103115198,-0.675173840439,-0.675244559473,-0.6753152723,-0.675385978921,-0.675456679333,-0.675527373536,-0.675598061531,-0.675668743315,-0.675739418889,-0.675810088251,-0.675880751402,-0.67595140834,-0.676022059064,-0.676092703575,-0.676163341872,-0.676233973953,-0.676304599819,-0.676375219468,-0.6764458329,-0.676516440114,-0.67658704111,-0.676657635886,-0.676728224443,-0.67679880678,-0.676869382896,-0.67693995279,-0.677010516462,-0.677081073911,-0.677151625136,-0.677222170137,-0.677292708913,-0.677363241464,-0.677433767789,-0.677504287886,-0.677574801756,-0.677645309398,-0.677715810812,-0.677786305996,-0.677856794949,-0.677927277673,-0.677997754164,-0.678068224424,-0.678138688451,-0.678209146245,-0.678279597805,-0.67835004313,-0.67842048222,-0.678490915074,-0.678561341691,-0.678631762072,-0.678702176214,-0.678772584118,-0.678842985783,-0.678913381208,-0.678983770393,-0.679054153337,-0.679124530038,-0.679194900498,-0.679265264714,-0.679335622687,-0.679405974416,-0.679476319899,-0.679546659137,-0.679616992129,-0.679687318874,-0.679757639371,-0.67982795362,-0.679898261621,-0.679968563371,-0.680038858872,-0.680109148122,-0.68017943112,-0.680249707867,-0.680319978361,-0.680390242601,-0.680460500587,-0.680530752319,-0.680600997795,-0.680671237016,-0.68074146998,-0.680811696686,-0.680881917135,-0.680952131326,-0.681022339257,-0.681092540928,-0.681162736339,-0.681232925489,-0.681303108377,-0.681373285002,-0.681443455365,-0.681513619464,-0.681583777298,-0.681653928868,-0.681724074172,-0.681794213209,-0.68186434598,-0.681934472483,-0.682004592718,-0.682074706685,-0.682144814381,-0.682214915808,-0.682285010964,-0.682355099848,-0.682425182461,-0.6824952588,-0.682565328866,-0.682635392659,-0.682705450176,-0.682775501419,-0.682845546385,-0.682915585075,-0.682985617488,-0.683055643623,-0.683125663479,-0.683195677056,-0.683265684353,-0.68333568537,-0.683405680106,-0.68347566856,-0.683545650732,-0.683615626621,-0.683685596226,-0.683755559547,-0.683825516583,-0.683895467333,-0.683965411797,-0.684035349975,-0.684105281864,-0.684175207466,-0.684245126779,-0.684315039802,-0.684384946535,-0.684454846978,-0.684524741129,-0.684594628988,-0.684664510555,-0.684734385828,-0.684804254808,-0.684874117492,-0.684943973882,-0.685013823976,-0.685083667773,-0.685153505273,-0.685223336475,-0.685293161379,-0.685362979984,-0.685432792289,-0.685502598293,-0.685572397997,-0.685642191399,-0.685711978499,-0.685781759296,-0.685851533789,-0.685921301978,-0.685991063863,-0.686060819441,-0.686130568714,-0.68620031168,-0.686270048339,-0.686339778689,-0.686409502731,-0.686479220463,-0.686548931886,-0.686618636998,-0.686688335798,-0.686758028287,-0.686827714463,-0.686897394326,-0.686967067875,-0.68703673511,-0.68710639603,-0.687176050634,-0.687245698921,-0.687315340892,-0.687384976545,-0.687454605879,-0.687524228895,-0.687593845591,-0.687663455967,-0.687733060022,-0.687802657755,-0.687872249167,-0.687941834255,-0.68801141302,-0.688080985462,-0.688150551578,-0.688220111369,-0.688289664834,-0.688359211973,-0.688428752784,-0.688498287267,-0.688567815422,-0.688637337248,-0.688706852744,-0.688776361909,-0.688845864744,-0.688915361246,-0.688984851417,-0.689054335254,-0.689123812757,-0.689193283927,-0.689262748761,-0.68933220726,-0.689401659423,-0.689471105249,-0.689540544737,-0.689609977887,-0.689679404699,-0.689748825171,-0.689818239303,-0.689887647095,-0.689957048545,-0.690026443653,-0.690095832419,-0.690165214841,-0.69023459092,-0.690303960654,-0.690373324043,-0.690442681086,-0.690512031783,-0.690581376132,-0.690650714135,-0.690720045788,-0.690789371093,-0.690858690048,-0.690928002653,-0.690997308908,-0.69106660881,-0.691135902361,-0.691205189558,-0.691274470403,-0.691343744893,-0.691413013029,-0.691482274809,-0.691551530233,-0.691620779301,-0.691690022012,-0.691759258364,-0.691828488358,-0.691897711993,-0.691966929269,-0.692036140183,-0.692105344737,-0.692174542929,-0.692243734759,-0.692312920226,-0.692382099329,-0.692451272068,-0.692520438442,-0.692589598451,-0.692658752093,-0.692727899369,-0.692797040277,-0.692866174817,-0.692935302989,-0.693004424791,-0.693073540224,-0.693142649285,-0.693211751976,-0.693280848295,-0.693349938241,-0.693419021814,-0.693488099013,-0.693557169838,-0.693626234288,-0.693695292362,-0.69376434406,-0.693833389381,-0.693902428324,-0.69397146089,-0.694040487076,-0.694109506883,-0.69417852031,-0.694247527356,-0.69431652802,-0.694385522303,-0.694454510203,-0.69452349172,-0.694592466853,-0.694661435601,-0.694730397964,-0.694799353942,-0.694868303532,-0.694937246736,-0.695006183552,-0.69507511398,-0.695144038019,-0.695212955668,-0.695281866927,-0.695350771795,-0.695419670271,-0.695488562356,-0.695557448047,-0.695626327345,-0.695695200249,-0.695764066759,-0.695832926873,-0.695901780591,-0.695970627913,-0.696039468837,-0.696108303363,-0.696177131491,-0.69624595322,-0.69631476855,-0.696383577478,-0.696452380006,-0.696521176132,-0.696589965856,-0.696658749177,-0.696727526095,-0.696796296608,-0.696865060716,-0.696933818419,-0.697002569716,-0.697071314607,-0.69714005309,-0.697208785165,-0.697277510831,-0.697346230088,-0.697414942935,-0.697483649372,-0.697552349398,-0.697621043012,-0.697689730213,-0.697758411002,-0.697827085377,-0.697895753337,-0.697964414883,-0.698033070013,-0.698101718727,-0.698170361024,-0.698238996904,-0.698307626366,-0.698376249409,-0.698444866033,-0.698513476236,-0.69858208002,-0.698650677381,-0.698719268322,-0.698787852839,-0.698856430934,-0.698925002604,-0.698993567851,-0.699062126672,-0.699130679068,-0.699199225037,-0.69926776458,-0.699336297695,-0.699404824382,-0.69947334464,-0.699541858469,-0.699610365868,-0.699678866836,-0.699747361373,-0.699815849477,-0.69988433115,-0.699952806389,-0.700021275194,-0.700089737565,-0.700158193501,-0.700226643001,-0.700295086064,-0.700363522691,-0.70043195288,-0.700500376631,-0.700568793943,-0.700637204816,-0.700705609248,-0.70077400724,-0.700842398791,-0.700910783899,-0.700979162565,-0.701047534787,-0.701115900566,-0.7011842599,-0.701252612789,-0.701320959232,-0.701389299229,-0.701457632779,-0.701525959881,-0.701594280535,-0.70166259474,-0.701730902496,-0.701799203801,-0.701867498656,-0.701935787059,-0.70200406901,-0.702072344508,-0.702140613553,-0.702208876144,-0.702277132281,-0.702345381962,-0.702413625188,-0.702481861957,-0.702550092269,-0.702618316124,-0.70268653352,-0.702754744457,-0.702822948935,-0.702891146952,-0.702959338509,-0.703027523604,-0.703095702237,-0.703163874407,-0.703232040114,-0.703300199358,-0.703368352136,-0.703436498449,-0.703504638297,-0.703572771678,-0.703640898592,-0.703709019038,-0.703777133016,-0.703845240524,-0.703913341564,-0.703981436133,-0.704049524231,-0.704117605858,-0.704185681012,-0.704253749694,-0.704321811903,-0.704389867637,-0.704457916897,-0.704525959682,-0.704593995991,-0.704662025823,-0.704730049179,-0.704798066056,-0.704866076456,-0.704934080376,-0.705002077817,-0.705070068777,-0.705138053257,-0.705206031255,-0.705274002771,-0.705341967804,-0.705409926354,-0.70547787842,-0.705545824001,-0.705613763097,-0.705681695708,-0.705749621831,-0.705817541468,-0.705885454617,-0.705953361278,-0.706021261449,-0.706089155131,-0.706157042323,-0.706224923024,-0.706292797234,-0.706360664951,-0.706428526176,-0.706496380907,-0.706564229145,-0.706632070888,-0.706699906135,-0.706767734887,-0.706835557142,-0.706903372901,-0.706971182161,-0.707038984923,-0.707106781187,-0.70717457095,-0.707242354214,-0.707310130976,-0.707377901238,-0.707445664997,-0.707513422253,-0.707581173006,-0.707648917256,-0.707716655,-0.70778438624,-0.707852110974,-0.707919829201,-0.707987540921,-0.708055246134,-0.708122944838,-0.708190637033,-0.708258322719,-0.708326001895,-0.70839367456,-0.708461340713,-0.708529000354,-0.708596653483,-0.708664300099,-0.7087319402,-0.708799573788,-0.70886720086,-0.708934821416,-0.709002435456,-0.709070042978,-0.709137643984,-0.709205238471,-0.709272826439,-0.709340407888,-0.709407982816,-0.709475551224,-0.70954311311,-0.709610668475,-0.709678217317,-0.709745759636,-0.70981329543,-0.709880824701,-0.709948347446,-0.710015863666,-0.710083373359,-0.710150876526,-0.710218373164,-0.710285863275,-0.710353346857,-0.71042082391,-0.710488294432,-0.710555758424,-0.710623215884,-0.710690666813,-0.710758111209,-0.710825549072,-0.710892980401,-0.710960405196,-0.711027823456,-0.71109523518,-0.711162640368,-0.711230039019,-0.711297431133,-0.711364816708,-0.711432195745,-0.711499568243,-0.7115669342,-0.711634293617,-0.711701646493,-0.711768992827,-0.711836332619,-0.711903665867,-0.711970992572,-0.712038312733,-0.712105626348,-0.712172933418,-0.712240233942,-0.71230752792,-0.71237481535,-0.712442096231,-0.712509370565,-0.712576638349,-0.712643899583,-0.712711154267,-0.712778402399,-0.71284564398,-0.712912879009,-0.712980107484,-0.713047329406,-0.713114544774,-0.713181753587,-0.713248955845,-0.713316151547,-0.713383340692,-0.71345052328,-0.713517699309,-0.713584868781,-0.713652031693,-0.713719188046,-0.713786337838,-0.713853481069,-0.713920617738,-0.713987747846,-0.71405487139,-0.714121988372,-0.714189098789,-0.714256202641,-0.714323299928,-0.714390390649,-0.714457474804,-0.714524552392,-0.714591623411,-0.714658687863,-0.714725745745,-0.714792797058,-0.714859841801,-0.714926879972,-0.714993911573,-0.715060936601,-0.715127955056,-0.715194966939,-0.715261972247,-0.715328970981,-0.715395963139,-0.715462948722,-0.715529927729,-0.715596900158,-0.71566386601,-0.715730825284,-0.715797777979,-0.715864724094,-0.715931663629,-0.715998596584,-0.716065522957,-0.716132442748,-0.716199355957,-0.716266262583,-0.716333162625,-0.716400056082,-0.716466942955,-0.716533823242,-0.716600696943,-0.716667564056,-0.716734424583,-0.716801278521,-0.716868125871,-0.716934966631,-0.717001800802,-0.717068628381,-0.71713544937,-0.717202263767,-0.717269071572,-0.717335872784,-0.717402667402,-0.717469455425,-0.717536236854,-0.717603011688,-0.717669779926,-0.717736541566,-0.71780329661,-0.717870045056,-0.717936786903,-0.718003522151,-0.718070250799,-0.718136972847,-0.718203688294,-0.71827039714,-0.718337099383,-0.718403795023,-0.718470484061,-0.718537166494,-0.718603842322,-0.718670511545,-0.718737174162,-0.718803830173,-0.718870479577,-0.718937122373,-0.71900375856,-0.719070388139,-0.719137011108,-0.719203627467,-0.719270237216,-0.719336840353,-0.719403436878,-0.71947002679,-0.719536610089,-0.719603186774,-0.719669756845,-0.719736320301,-0.719802877141,-0.719869427365,-0.719935970972,-0.720002507961,-0.720069038333,-0.720135562085,-0.720202079219,-0.720268589732,-0.720335093625,-0.720401590897,-0.720468081546,-0.720534565574,-0.720601042978,-0.720667513759,-0.720733977916,-0.720800435448,-0.720866886354,-0.720933330634,-0.720999768288,-0.721066199315,-0.721132623713,-0.721199041483,-0.721265452624,-0.721331857135,-0.721398255016,-0.721464646266,-0.721531030884,-0.72159740887,-0.721663780224,-0.721730144944,-0.72179650303,-0.721862854481,-0.721929199298,-0.721995537478,-0.722061869022,-0.722128193929,-0.722194512199,-0.72226082383,-0.722327128822,-0.722393427175,-0.722459718887,-0.722526003959,-0.72259228239,-0.722658554179,-0.722724819325,-0.722791077828,-0.722857329687,-0.722923574902,-0.722989813472,-0.723056045397,-0.723122270675,-0.723188489307,-0.723254701291,-0.723320906627,-0.723387105314,-0.723453297353,-0.723519482741,-0.723585661479,-0.723651833566,-0.723717999001,-0.723784157784,-0.723850309915,-0.723916455391,-0.723982594214,-0.724048726382,-0.724114851895,-0.724180970751,-0.724247082951,-0.724313188495,-0.72437928738,-0.724445379607,-0.724511465175,-0.724577544084,-0.724643616332,-0.724709681919,-0.724775740846,-0.72484179311,-0.724907838712,-0.72497387765,-0.725039909925,-0.725105935535,-0.72517195448,-0.72523796676,-0.725303972373,-0.72536997132,-0.725435963599,-0.72550194921,-0.725567928152,-0.725633900425,-0.725699866028,-0.725765824961,-0.725831777223,-0.725897722813,-0.72596366173,-0.726029593975,-0.726095519546,-0.726161438444,-0.726227350666,-0.726293256213,-0.726359155084,-0.726425047279,-0.726490932796,-0.726556811636,-0.726622683798,-0.72668854928,-0.726754408083,-0.726820260206,-0.726886105648,-0.726951944408,-0.727017776487,-0.727083601883,-0.727149420595,-0.727215232624,-0.727281037969,-0.727346836628,-0.727412628602,-0.72747841389,-0.727544192491,-0.727609964404,-0.72767572963,-0.727741488167,-0.727807240014,-0.727872985172,-0.727938723639,-0.728004455415,-0.7280701805,-0.728135898892,-0.728201610591,-0.728267315597,-0.728333013909,-0.728398705526,-0.728464390448,-0.728530068674,-0.728595740204,-0.728661405036,-0.728727063171,-0.728792714607,-0.728858359345,-0.728923997383,-0.728989628721,-0.729055253358,-0.729120871293,-0.729186482527,-0.729252087059,-0.729317684887,-0.729383276012,-0.729448860432,-0.729514438147,-0.729580009157,-0.72964557346,-0.729711131057,-0.729776681947,-0.729842226128,-0.729907763601,-0.729973294365,-0.730038818419,-0.730104335763,-0.730169846395,-0.730235350317,-0.730300847526,-0.730366338022,-0.730431821805,-0.730497298874,-0.730562769228,-0.730628232867,-0.73069368979,-0.730759139997,-0.730824583487,-0.73089002026,-0.730955450314,-0.731020873649,-0.731086290265,-0.731151700162,-0.731217103337,-0.731282499791,-0.731347889524,-0.731413272534,-0.731478648821,-0.731544018385,-0.731609381224,-0.731674737338,-0.731740086728,-0.731805429391,-0.731870765327,-0.731936094537,-0.732001417018,-0.732066732771,-0.732132041795,-0.73219734409,-0.732262639654,-0.732327928488,-0.73239321059,-0.73245848596,-0.732523754598,-0.732589016502,-0.732654271672,-0.732719520109,-0.73278476181,-0.732849996775,-0.732915225005,-0.732980446497,-0.733045661252,-0.733110869269,-0.733176070548,-0.733241265087,-0.733306452887,-0.733371633946,-0.733436808264,-0.733501975841,-0.733567136675,-0.733632290766,-0.733697438115,-0.733762578719,-0.733827712578,-0.733892839693,-0.733957960061,-0.734023073684,-0.734088180559,-0.734153280687,-0.734218374066,-0.734283460697,-0.734348540578,-0.73441361371,-0.73447868009,-0.73454373972,-0.734608792598,-0.734673838723,-0.734738878096,-0.734803910715,-0.73486893658,-0.73493395569,-0.734998968044,-0.735063973643,-0.735128972485,-0.73519396457,-0.735258949898,-0.735323928467,-0.735388900277,-0.735453865327,-0.735518823618,-0.735583775147,-0.735648719916,-0.735713657922,-0.735778589166,-0.735843513646,-0.735908431363,-0.735973342316,-0.736038246504,-0.736103143926,-0.736168034582,-0.736232918472,-0.736297795594,-0.736362665948,-0.736427529534,-0.736492386351,-0.736557236398,-0.736622079675,-0.736686916181,-0.736751745915,-0.736816568877,-0.736881385067,-0.736946194484,-0.737010997126,-0.737075792994,-0.737140582087,-0.737205364405,-0.737270139946,-0.73733490871,-0.737399670697,-0.737464425906,-0.737529174337,-0.737593915988,-0.737658650859,-0.73772337895,-0.73778810026,-0.737852814788,-0.737917522535,-0.737982223498,-0.738046917678,-0.738111605074,-0.738176285686,-0.738240959512,-0.738305626552,-0.738370286807,-0.738434940274,-0.738499586954,-0.738564226845,-0.738628859948,-0.738693486262,-0.738758105785,-0.738822718519,-0.738887324461,-0.738951923611,-0.739016515969,-0.739081101534,-0.739145680306,-0.739210252284,-0.739274817467,-0.739339375854,-0.739403927446,-0.739468472242,-0.73953301024,-0.739597541441,-0.739662065843,-0.739726583447,-0.739791094251,-0.739855598256,-0.73992009546,-0.739984585862,-0.740049069463,-0.740113546261,-0.740178016257,-0.740242479449,-0.740306935836,-0.740371385419,-0.740435828197,-0.740500264169,-0.740564693334,-0.740629115692,-0.740693531242,-0.740757939984,-0.740822341918,-0.740886737041,-0.740951125355,-0.741015506858,-0.74107988155,-0.74114424943,-0.741208610497,-0.741272964751,-0.741337312192,-0.741401652819,-0.741465986631,-0.741530313627,-0.741594633807,-0.741658947171,-0.741723253718,-0.741787553447,-0.741851846357,-0.741916132449,-0.741980411721,-0.742044684173,-0.742108949804,-0.742173208614,-0.742237460602,-0.742301705767,-0.74236594411,-0.742430175629,-0.742494400323,-0.742558618193,-0.742622829237,-0.742687033455,-0.742751230847,-0.742815421411,-0.742879605148,-0.742943782056,-0.743007952135,-0.743072115385,-0.743136271804,-0.743200421393,-0.74326456415,-0.743328700076,-0.743392829169,-0.743456951429,-0.743521066855,-0.743585175447,-0.743649277203,-0.743713372125,-0.74377746021,-0.743841541459,-0.743905615871,-0.743969683445,-0.74403374418,-0.744097798076,-0.744161845133,-0.74422588535,-0.744289918725,-0.74435394526,-0.744417964952,-0.744481977802,-0.744545983809,-0.744609982972,-0.744673975291,-0.744737960765,-0.744801939394,-0.744865911176,-0.744929876112,-0.744993834201,-0.745057785441,-0.745121729834,-0.745185667377,-0.745249598071,-0.745313521914,-0.745377438907,-0.745441349049,-0.745505252338,-0.745569148775,-0.745633038359,-0.745696921089,-0.745760796965,-0.745824665986,-0.745888528152,-0.745952383461,-0.746016231914,-0.74608007351,-0.746143908248,-0.746207736127,-0.746271557148,-0.746335371309,-0.74639917861,-0.74646297905,-0.746526772628,-0.746590559345,-0.746654339199,-0.746718112191,-0.746781878318,-0.746845637581,-0.74690938998,-0.746973135513,-0.74703687418,-0.74710060598,-0.747164330913,-0.747228048979,-0.747291760176,-0.747355464504,-0.747419161963,-0.747482852551,-0.747546536269,-0.747610213115,-0.74767388309,-0.747737546192,-0.747801202421,-0.747864851777,-0.747928494258,-0.747992129864,-0.748055758595,-0.74811938045,-0.748182995429,-0.74824660353,-0.748310204754,-0.748373799099,-0.748437386566,-0.748500967153,-0.74856454086,-0.748628107686,-0.748691667631,-0.748755220695,-0.748818766875,-0.748882306173,-0.748945838588,-0.749009364118,-0.749072882763,-0.749136394523,-0.749199899398,-0.749263397385,-0.749326888486,-0.749390372699,-0.749453850024,-0.74951732046,-0.749580784006,-0.749644240663,-0.749707690429,-0.749771133304,-0.749834569287,-0.749897998378,-0.749961420576,-0.75002483588,-0.750088244291,-0.750151645806,-0.750215040427,-0.750278428151,-0.75034180898,-0.750405182911,-0.750468549945,-0.75053191008,-0.750595263317,-0.750658609655,-0.750721949092,-0.750785281629,-0.750848607265,-0.750911926,-0.750975237832,-0.751038542762,-0.751101840788,-0.75116513191,-0.751228416127,-0.75129169344,-0.751354963846,-0.751418227347,-0.75148148394,-0.751544733626,-0.751607976404,-0.751671212274,-0.751734441234,-0.751797663284,-0.751860878424,-0.751924086654,-0.751987287971,-0.752050482377,-0.75211366987,-0.752176850449,-0.752240024115,-0.752303190866,-0.752366350702,-0.752429503623,-0.752492649627,-0.752555788715,-0.752618920886,-0.752682046138,-0.752745164472,-0.752808275887,-0.752871380382,-0.752934477957,-0.752997568612,-0.753060652344,-0.753123729155,-0.753186799044,-0.753249862009,-0.75331291805,-0.753375967167,-0.75343900936,-0.753502044627,-0.753565072968,-0.753628094382,-0.753691108869,-0.753754116428,-0.753817117059,-0.753880110761,-0.753943097533,-0.754006077376,-0.754069050288,-0.754132016268,-0.754194975317,-0.754257927433,-0.754320872617,-0.754383810866,-0.754446742182,-0.754509666563,-0.754572584008,-0.754635494518,-0.754698398092,-0.754761294728,-0.754824184426,-0.754887067187,-0.754949943009,-0.755012811891,-0.755075673834,-0.755138528836,-0.755201376897,-0.755264218016,-0.755327052193,-0.755389879427,-0.755452699718,-0.755515513065,-0.755578319467,-0.755641118924,-0.755703911436,-0.755766697001,-0.75582947562,-0.755892247291,-0.755955012014,-0.756017769788,-0.756080520614,-0.756143264489,-0.756206001414,-0.756268731389,-0.756331454412,-0.756394170483,-0.756456879601,-0.756519581766,-0.756582276977,-0.756644965234,-0.756707646536,-0.756770320883,-0.756832988273,-0.756895648707,-0.756958302184,-0.757020948703,-0.757083588263,-0.757146220865,-0.757208846506,-0.757271465188,-0.75733407691,-0.757396681669,-0.757459279468,-0.757521870303,-0.757584454176,-0.757647031085,-0.75770960103,-0.757772164011,-0.757834720026,-0.757897269075,-0.757959811158,-0.758022346273,-0.758084874422,-0.758147395602,-0.758209909813,-0.758272417055,-0.758334917327,-0.758397410629,-0.75845989696,-0.758522376319,-0.758584848705,-0.75864731412,-0.75870977256,-0.758772224027,-0.75883466852,-0.758897106037,-0.758959536579,-0.759021960145,-0.759084376733,-0.759146786345,-0.759209188978,-0.759271584633,-0.759333973309,-0.759396355006,-0.759458729722,-0.759521097457,-0.759583458211,-0.759645811984,-0.759708158773,-0.75977049858,-0.759832831403,-0.759895157241,-0.759957476095,-0.760019787964,-0.760082092846,-0.760144390742,-0.760206681651,-0.760268965573,-0.760331242506,-0.76039351245,-0.760455775405,-0.76051803137,-0.760580280344,-0.760642522328,-0.760704757319,-0.760766985319,-0.760829206325,-0.760891420339,-0.760953627358,-0.761015827383,-0.761078020412,-0.761140206446,-0.761202385484,-0.761264557525,-0.761326722569,-0.761388880615,-0.761451031662,-0.76151317571,-0.761575312758,-0.761637442806,-0.761699565854,-0.761761681899,-0.761823790943,-0.761885892985,-0.761947988023,-0.762010076058,-0.762072157089,-0.762134231114,-0.762196298135,-0.762258358149,-0.762320411157,-0.762382457158,-0.762444496151,-0.762506528136,-0.762568553112,-0.762630571078,-0.762692582035,-0.762754585981,-0.762816582917,-0.76287857284,-0.762940555752,-0.76300253165,-0.763064500535,-0.763126462407,-0.763188417263,-0.763250365105,-0.763312305931,-0.763374239741,-0.763436166534,-0.76349808631,-0.763559999068,-0.763621904807,-0.763683803528,-0.763745695228,-0.763807579909,-0.763869457569,-0.763931328207,-0.763993191824,-0.764055048418,-0.764116897989,-0.764178740536,-0.764240576059,-0.764302404558,-0.764364226031,-0.764426040479,-0.7644878479,-0.764549648293,-0.76461144166,-0.764673227998,-0.764735007308,-0.764796779588,-0.764858544838,-0.764920303058,-0.764982054247,-0.765043798405,-0.76510553553,-0.765167265622,-0.765228988682,-0.765290704707,-0.765352413699,-0.765414115655,-0.765475810575,-0.76553749846,-0.765599179308,-0.765660853119,-0.765722519892,-0.765784179626,-0.765845832322,-0.765907477978,-0.765969116594,-0.76603074817,-0.766092372704,-0.766153990196,-0.766215600647,-0.766277204054,-0.766338800418,-0.766400389738,-0.766461972013,-0.766523547243,-0.766585115427,-0.766646676565,-0.766708230657,-0.7667697777,-0.766831317696,-0.766892850643,-0.766954376542,-0.76701589539,-0.767077407188,-0.767138911936,-0.767200409632,-0.767261900276,-0.767323383868,-0.767384860406,-0.767446329891,-0.767507792322,-0.767569247698,-0.767630696018,-0.767692137283,-0.767753571491,-0.767814998642,-0.767876418736,-0.767937831772,-0.767999237748,-0.768060636666,-0.768122028523,-0.768183413321,-0.768244791057,-0.768306161731,-0.768367525344,-0.768428881894,-0.768490231381,-0.768551573804,-0.768612909162,-0.768674237456,-0.768735558684,-0.768796872846,-0.768858179941,-0.76891947997,-0.76898077293,-0.769042058822,-0.769103337646,-0.769164609399,-0.769225874083,-0.769287131697,-0.769348382239,-0.76940962571,-0.769470862108,-0.769532091433,-0.769593313685,-0.769654528864,-0.769715736967,-0.769776937996,-0.769838131949,-0.769899318826,-0.769960498626,-0.770021671348,-0.770082836993,-0.77014399556,-0.770205147047,-0.770266291455,-0.770327428783,-0.77038855903,-0.770449682196,-0.77051079828,-0.770571907281,-0.7706330092,-0.770694104035,-0.770755191786,-0.770816272453,-0.770877346034,-0.77093841253,-0.770999471939,-0.771060524262,-0.771121569497,-0.771182607644,-0.771243638702,-0.771304662672,-0.771365679552,-0.771426689341,-0.77148769204,-0.771548687647,-0.771609676163,-0.771670657586,-0.771731631916,-0.771792599152,-0.771853559294,-0.771914512342,-0.771975458294,-0.77203639715,-0.77209732891,-0.772158253573,-0.772219171139,-0.772280081606,-0.772340984975,-0.772401881245,-0.772462770415,-0.772523652484,-0.772584527453,-0.77264539532,-0.772706256086,-0.772767109748,-0.772827956308,-0.772888795764,-0.772949628116,-0.773010453363,-0.773071271504,-0.77313208254,-0.773192886469,-0.773253683291,-0.773314473006,-0.773375255613,-0.77343603111,-0.773496799499,-0.773557560778,-0.773618314946,-0.773679062003,-0.773739801949,-0.773800534783,-0.773861260504,-0.773921979112,-0.773982690607,-0.774043394987,-0.774104092252,-0.774164782402,-0.774225465436,-0.774286141353,-0.774346810154,-0.774407471836,-0.774468126401,-0.774528773846,-0.774589414173,-0.774650047379,-0.774710673466,-0.774771292431,-0.774831904274,-0.774892508996,-0.774953106595,-0.775013697071,-0.775074280423,-0.77513485665,-0.775195425753,-0.77525598773,-0.775316542582,-0.775377090306,-0.775437630904,-0.775498164374,-0.775558690716,-0.775619209929,-0.775679722013,-0.775740226967,-0.77580072479,-0.775861215483,-0.775921699043,-0.775982175472,-0.776042644768,-0.776103106931,-0.77616356196,-0.776224009855,-0.776284450615,-0.776344884239,-0.776405310728,-0.77646573008,-0.776526142295,-0.776586547372,-0.776646945311,-0.776707336111,-0.776767719772,-0.776828096293,-0.776888465673,-0.776948827913,-0.777009183011,-0.777069530967,-0.77712987178,-0.77719020545,-0.777250531976,-0.777310851358,-0.777371163595,-0.777431468687,-0.777491766632,-0.777552057431,-0.777612341083,-0.777672617588,-0.777732886944,-0.777793149151,-0.777853404209,-0.777913652118,-0.777973892876,-0.778034126482,-0.778094352938,-0.778154572241,-0.778214784392,-0.778274989389,-0.778335187233,-0.778395377922,-0.778455561457,-0.778515737836,-0.778575907059,-0.778636069126,-0.778696224036,-0.778756371788,-0.778816512381,-0.778876645817,-0.778936772093,-0.778996891209,-0.779057003164,-0.779117107959,-0.779177205593,-0.779237296064,-0.779297379373,-0.779357455518,-0.7794175245,-0.779477586318,-0.779537640971,-0.779597688458,-0.77965772878,-0.779717761935,-0.779777787923,-0.779837806744,-0.779897818396,-0.77995782288,-0.780017820195,-0.78007781034,-0.780137793314,-0.780197769118,-0.78025773775,-0.780317699211,-0.780377653499,-0.780437600613,-0.780497540555,-0.780557473322,-0.780617398914,-0.780677317331,-0.780737228572,-0.780797132637,-0.780857029525,-0.780916919235,-0.780976801768,-0.781036677122,-0.781096545296,-0.781156406291,-0.781216260106,-0.78127610674,-0.781335946193,-0.781395778464,-0.781455603552,-0.781515421458,-0.78157523218,-0.781635035718,-0.781694832071,-0.781754621239,-0.781814403222,-0.781874178018,-0.781933945627,-0.781993706049,-0.782053459283,-0.782113205328,-0.782172944185,-0.782232675852,-0.782292400329,-0.782352117615,-0.78241182771,-0.782471530613,-0.782531226324,-0.782590914842,-0.782650596167,-0.782710270297,-0.782769937233,-0.782829596975,-0.78288924952,-0.782948894869,-0.783008533022,-0.783068163977,-0.783127787735,-0.783187404294,-0.783247013655,-0.783306615816,-0.783366210777,-0.783425798537,-0.783485379096,-0.783544952454,-0.78360451861,-0.783664077562,-0.783723629312,-0.783783173858,-0.783842711199,-0.783902241336,-0.783961764266,-0.784021279991,-0.78408078851,-0.784140289821,-0.784199783925,-0.78425927082,-0.784318750507,-0.784378222984,-0.784437688252,-0.784497146309,-0.784556597156,-0.78461604079,-0.784675477213,-0.784734906423,-0.78479432842,-0.784853743204,-0.784913150773,-0.784972551128,-0.785031944267,-0.78509133019,-0.785150708897,-0.785210080387,-0.78526944466,-0.785328801714,-0.78538815155,-0.785447494167,-0.785506829564,-0.785566157741,-0.785625478697,-0.785684792432,-0.785744098945,-0.785803398236,-0.785862690303,-0.785921975148,-0.785981252768,-0.786040523163,-0.786099786334,-0.786159042279,-0.786218290997,-0.786277532489,-0.786336766754,-0.786395993791,-0.786455213599,-0.786514426179,-0.786573631529,-0.786632829648,-0.786692020538,-0.786751204196,-0.786810380623,-0.786869549817,-0.786928711779,-0.786987866507,-0.787047014002,-0.787106154262,-0.787165287288,-0.787224413078,-0.787283531631,-0.787342642949,-0.787401747029,-0.787460843872,-0.787519933476,-0.787579015842,-0.787638090968,-0.787697158855,-0.787756219501,-0.787815272907,-0.787874319071,-0.787933357993,-0.787992389673,-0.788051414109,-0.788110431302,-0.788169441251,-0.788228443955,-0.788287439414,-0.788346427627,-0.788405408593,-0.788464382313,-0.788523348786,-0.78858230801,-0.788641259986,-0.788700204714,-0.788759142191,-0.788818072418,-0.788876995395,-0.788935911121,-0.788994819595,-0.789053720816,-0.789112614785,-0.7891715015,-0.789230380962,-0.789289253169,-0.789348118121,-0.789406975818,-0.789465826258,-0.789524669442,-0.789583505369,-0.789642334038,-0.789701155449,-0.789759969601,-0.789818776494,-0.789877576127,-0.789936368499,-0.789995153611,-0.790053931461,-0.790112702049,-0.790171465375,-0.790230221437,-0.790288970236,-0.790347711771,-0.790406446041,-0.790465173046,-0.790523892785,-0.790582605257,-0.790641310463,-0.790700008402,-0.790758699072,-0.790817382474,-0.790876058607,-0.790934727471,-0.790993389064,-0.791052043386,-0.791110690438,-0.791169330218,-0.791227962725,-0.79128658796,-0.791345205921,-0.791403816609,-0.791462420022,-0.79152101616,-0.791579605023,-0.791638186609,-0.791696760919,-0.791755327952,-0.791813887707,-0.791872440184,-0.791930985383,-0.791989523302,-0.792048053941,-0.7921065773,-0.792165093378,-0.792223602175,-0.79228210369,-0.792340597922,-0.792399084871,-0.792457564537,-0.792516036918,-0.792574502015,-0.792632959827,-0.792691410353,-0.792749853593,-0.792808289546,-0.792866718212,-0.79292513959,-0.792983553679,-0.793041960479,-0.79310035999,-0.793158752211,-0.793217137142,-0.793275514781,-0.793333885129,-0.793392248185,-0.793450603948,-0.793508952417,-0.793567293593,-0.793625627475,-0.793683954062,-0.793742273353,-0.793800585349,-0.793858890048,-0.79391718745,-0.793975477554,-0.794033760361,-0.794092035869,-0.794150304078,-0.794208564987,-0.794266818596,-0.794325064904,-0.794383303911,-0.794441535616,-0.794499760019,-0.794557977119,-0.794616186915,-0.794674389408,-0.794732584596,-0.794790772479,-0.794848953057,-0.794907126328,-0.794965292293,-0.795023450951,-0.795081602301,-0.795139746343,-0.795197883076,-0.7952560125,-0.795314134613,-0.795372249417,-0.79543035691,-0.795488457091,-0.79554654996,-0.795604635517,-0.795662713761,-0.795720784691,-0.795778848307,-0.795836904609,-0.795894953595,-0.795952995266,-0.79601102962,-0.796069056658,-0.796127076378,-0.796185088781,-0.796243093865,-0.79630109163,-0.796359082076,-0.796417065202,-0.796475041008,-0.796533009492,-0.796590970655,-0.796648924495,-0.796706871013,-0.796764810208,-0.79682274208,-0.796880666627,-0.796938583849,-0.796996493746,-0.797054396317,-0.797112291562,-0.79717017948,-0.79722806007,-0.797285933333,-0.797343799267,-0.797401657872,-0.797459509147,-0.797517353093,-0.797575189708,-0.797633018991,-0.797690840943,-0.797748655563,-0.79780646285,-0.797864262804,-0.797922055424,-0.79797984071,-0.798037618661,-0.798095389276,-0.798153152556,-0.798210908499,-0.798268657105,-0.798326398373,-0.798384132304,-0.798441858896,-0.798499578149,-0.798557290062,-0.798614994635,-0.798672691867,-0.798730381758,-0.798788064308,-0.798845739515,-0.798903407379,-0.7989610679,-0.799018721077,-0.799076366909,-0.799134005397,-0.799191636539,-0.799249260335,-0.799306876785,-0.799364485888,-0.799422087643,-0.79947968205,-0.799537269108,-0.799594848817,-0.799652421176,-0.799709986186,-0.799767543844,-0.799825094151,-0.799882637106,-0.799940172709,-0.799997700959,-0.800055221856,-0.800112735399,-0.800170241587,-0.80022774042,-0.800285231898,-0.80034271602,-0.800400192785,-0.800457662193,-0.800515124243,-0.800572578935,-0.800630026269,-0.800687466243,-0.800744898857,-0.800802324112,-0.800859742005,-0.800917152537,-0.800974555708,-0.801031951515,-0.80108933996,-0.801146721042,-0.80120409476,-0.801261461113,-0.801318820101,-0.801376171723,-0.80143351598,-0.801490852869,-0.801548182392,-0.801605504547,-0.801662819334,-0.801720126752,-0.801777426801,-0.80183471948,-0.801892004789,-0.801949282727,-0.802006553293,-0.802063816488,-0.802121072311,-0.80217832076,-0.802235561836,-0.802292795538,-0.802350021866,-0.802407240818,-0.802464452395,-0.802521656596,-0.80257885342,-0.802636042867,-0.802693224937,-0.802750399628,-0.802807566941,-0.802864726874,-0.802921879428,-0.802979024601,-0.803036162393,-0.803093292804,-0.803150415834,-0.803207531481,-0.803264639745,-0.803321740625,-0.803378834122,-0.803435920234,-0.803492998961,-0.803550070303,-0.803607134258,-0.803664190827,-0.803721240009,-0.803778281803,-0.803835316209,-0.803892343226,-0.803949362854,-0.804006375093,-0.804063379941,-0.804120377398,-0.804177367464,-0.804234350139,-0.80429132542,-0.804348293309,-0.804405253805,-0.804462206907,-0.804519152614,-0.804576090926,-0.804633021843,-0.804689945364,-0.804746861488,-0.804803770215,-0.804860671545,-0.804917565476,-0.804974452009,-0.805031331143,-0.805088202877,-0.805145067211,-0.805201924144,-0.805258773676,-0.805315615806,-0.805372450534,-0.805429277859,-0.80548609778,-0.805542910298,-0.805599715412,-0.80565651312,-0.805713303423,-0.805770086321,-0.805826861811,-0.805883629895,-0.805940390571,-0.805997143839,-0.806053889699,-0.80611062815,-0.806167359191,-0.806224082821,-0.806280799042,-0.806337507851,-0.806394209248,-0.806450903233,-0.806507589806,-0.806564268965,-0.80662094071,-0.806677605041,-0.806734261958,-0.806790911459,-0.806847553544,-0.806904188213,-0.806960815464,-0.807017435299,-0.807074047716,-0.807130652714,-0.807187250293,-0.807243840452,-0.807300423192,-0.807356998511,-0.807413566409,-0.807470126886,-0.80752667994,-0.807583225572,-0.80763976378,-0.807696294565,-0.807752817926,-0.807809333862,-0.807865842373,-0.807922343458,-0.807978837117,-0.80803532335,-0.808091802154,-0.808148273531,-0.80820473748,-0.808261194,-0.808317643091,-0.808374084751,-0.808430518982,-0.808486945781,-0.808543365149,-0.808599777085,-0.808656181588,-0.808712578659,-0.808768968296,-0.808825350499,-0.808881725267,-0.8089380926,-0.808994452498,-0.80905080496,-0.809107149985,-0.809163487572,-0.809219817723,-0.809276140435,-0.809332455708,-0.809388763542,-0.809445063937,-0.809501356891,-0.809557642404,-0.809613920476,-0.809670191106,-0.809726454294,-0.80978271004,-0.809838958341,-0.809895199199,-0.809951432613,-0.810007658582,-0.810063877105,-0.810120088182,-0.810176291813,-0.810232487997,-0.810288676733,-0.810344858022,-0.810401031862,-0.810457198253,-0.810513357194,-0.810569508685,-0.810625652726,-0.810681789315,-0.810737918453,-0.810794040139,-0.810850154372,-0.810906261152,-0.810962360479,-0.811018452351,-0.811074536768,-0.811130613731,-0.811186683237,-0.811242745287,-0.811298799881,-0.811354847017,-0.811410886695,-0.811466918916,-0.811522943677,-0.811578960979,-0.811634970821,-0.811690973202,-0.811746968123,-0.811802955583,-0.81185893558,-0.811914908115,-0.811970873187,-0.812026830796,-0.81208278094,-0.81213872362,-0.812194658836,-0.812250586585,-0.812306506869,-0.812362419686,-0.812418325036,-0.812474222918,-0.812530113333,-0.812585996278,-0.812641871755,-0.812697739762,-0.812753600299,-0.812809453365,-0.81286529896,-0.812921137083,-0.812976967734,-0.813032790913,-0.813088606618,-0.813144414849,-0.813200215606,-0.813256008889,-0.813311794696,-0.813367573027,-0.813423343883,-0.813479107261,-0.813534863162,-0.813590611585,-0.81364635253,-0.813702085995,-0.813757811982,-0.813813530489,-0.813869241515,-0.81392494506,-0.813980641124,-0.814036329706,-0.814092010805,-0.814147684422,-0.814203350555,-0.814259009204,-0.814314660369,-0.814370304048,-0.814425940242,-0.81448156895,-0.814537190172,-0.814592803906,-0.814648410153,-0.814704008912,-0.814759600182,-0.814815183964,-0.814870760255,-0.814926329057,-0.814981890367,-0.815037444187,-0.815092990515,-0.815148529351,-0.815204060694,-0.815259584544,-0.8153151009,-0.815370609762,-0.81542611113,-0.815481605002,-0.815537091378,-0.815592570259,-0.815648041642,-0.815703505528,-0.815758961917,-0.815814410807,-0.815869852198,-0.81592528609,-0.815980712482,-0.816036131374,-0.816091542765,-0.816146946655,-0.816202343043,-0.816257731928,-0.816313113311,-0.81636848719,-0.816423853566,-0.816479212437,-0.816534563803,-0.816589907664,-0.816645244018,-0.816700572867,-0.816755894208,-0.816811208042,-0.816866514368,-0.816921813186,-0.816977104494,-0.817032388294,-0.817087664583,-0.817142933361,-0.817198194629,-0.817253448385,-0.817308694629,-0.817363933361,-0.817419164579,-0.817474388284,-0.817529604475,-0.817584813152,-0.817640014313,-0.817695207959,-0.817750394088,-0.817805572701,-0.817860743797,-0.817915907376,-0.817971063436,-0.818026211978,-0.818081353,-0.818136486503,-0.818191612486,-0.818246730948,-0.818301841889,-0.818356945309,-0.818412041206,-0.81846712958,-0.818522210432,-0.818577283759,-0.818632349563,-0.818687407842,-0.818742458595,-0.818797501823,-0.818852537525,-0.8189075657,-0.818962586347,-0.819017599467,-0.819072605059,-0.819127603122,-0.819182593656,-0.81923757666,-0.819292552134,-0.819347520077,-0.819402480489,-0.819457433369,-0.819512378716,-0.819567316531,-0.819622246813,-0.819677169561,-0.819732084774,-0.819786992453,-0.819841892596,-0.819896785204,-0.819951670275,-0.82000654781,-0.820061417807,-0.820116280266,-0.820171135187,-0.820225982569,-0.820280822412,-0.820335654715,-0.820390479478,-0.8204452967,-0.82050010638,-0.820554908519,-0.820609703115,-0.820664490168,-0.820719269678,-0.820774041644,-0.820828806066,-0.820883562943,-0.820938312274,-0.82099305406,-0.821047788299,-0.821102514991,-0.821157234136,-0.821211945733,-0.821266649781,-0.821321346281,-0.821376035231,-0.821430716632,-0.821485390482,-0.821540056781,-0.821594715528,-0.821649366724,-0.821704010367,-0.821758646457,-0.821813274994,-0.821867895977,-0.821922509406,-0.821977115279,-0.822031713597,-0.82208630436,-0.822140887565,-0.822195463214,-0.822250031306,-0.822304591839,-0.822359144814,-0.82241369023,-0.822468228087,-0.822522758383,-0.822577281119,-0.822631796295,-0.822686303908,-0.82274080396,-0.822795296449,-0.822849781376,-0.822904258739,-0.822958728538,-0.823013190772,-0.823067645442,-0.823122092546,-0.823176532084,-0.823230964056,-0.82328538846,-0.823339805298,-0.823394214567,-0.823448616268,-0.8235030104,-0.823557396962,-0.823611775954,-0.823666147376,-0.823720511227,-0.823774867507,-0.823829216215,-0.82388355735,-0.823937890912,-0.8239922169,-0.824046535315,-0.824100846156,-0.824155149421,-0.824209445111,-0.824263733225,-0.824318013762,-0.824372286723,-0.824426552106,-0.824480809911,-0.824535060137,-0.824589302785,-0.824643537853,-0.824697765342,-0.824751985249,-0.824806197576,-0.824860402322,-0.824914599485,-0.824968789066,-0.825022971065,-0.825077145479,-0.82513131231,-0.825185471556,-0.825239623218,-0.825293767294,-0.825347903784,-0.825402032688,-0.825456154004,-0.825510267734,-0.825564373875,-0.825618472428,-0.825672563392,-0.825726646767,-0.825780722552,-0.825834790746,-0.82588885135,-0.825942904362,-0.825996949782,-0.82605098761,-0.826105017845,-0.826159040486,-0.826213055534,-0.826267062987,-0.826321062846,-0.826375055109,-0.826429039776,-0.826483016847,-0.826536986321,-0.826590948197,-0.826644902476,-0.826698849157,-0.826752788238,-0.826806719721,-0.826860643603,-0.826914559885,-0.826968468567,-0.827022369647,-0.827076263125,-0.827130149001,-0.827184027274,-0.827237897943,-0.827291761009,-0.827345616471,-0.827399464328,-0.82745330458,-0.827507137226,-0.827560962265,-0.827614779698,-0.827668589524,-0.827722391741,-0.827776186351,-0.827829973352,-0.827883752743,-0.827937524525,-0.827991288697,-0.828045045258,-0.828098794207,-0.828152535545,-0.828206269271,-0.828259995384,-0.828313713884,-0.828367424771,-0.828421128043,-0.8284748237,-0.828528511742,-0.828582192169,-0.828635864979,-0.828689530173,-0.82874318775,-0.828796837709,-0.82885048005,-0.828904114772,-0.828957741875,-0.829011361359,-0.829064973222,-0.829118577465,-0.829172174087,-0.829225763087,-0.829279344465,-0.829332918221,-0.829386484353,-0.829440042862,-0.829493593747,-0.829547137008,-0.829600672643,-0.829654200653,-0.829707721037,-0.829761233795,-0.829814738925,-0.829868236428,-0.829921726303,-0.829975208549,-0.830028683167,-0.830082150155,-0.830135609513,-0.830189061241,-0.830242505338,-0.830295941803,-0.830349370637,-0.830402791838,-0.830456205406,-0.830509611341,-0.830563009642,-0.830616400309,-0.830669783341,-0.830723158737,-0.830776526498,-0.830829886622,-0.83088323911,-0.83093658396,-0.830989921172,-0.831043250746,-0.831096572682,-0.831149886978,-0.831203193634,-0.83125649265,-0.831309784026,-0.83136306776,-0.831416343852,-0.831469612303,-0.83152287311,-0.831576126274,-0.831629371795,-0.831682609672,-0.831735839904,-0.83178906249,-0.831842277432,-0.831895484727,-0.831948684375,-0.832001876376,-0.83205506073,-0.832108237436,-0.832161406493,-0.832214567901,-0.832267721659,-0.832320867768,-0.832374006226,-0.832427137033,-0.832480260188,-0.832533375692,-0.832586483543,-0.832639583741,-0.832692676286,-0.832745761176,-0.832798838413,-0.832851907994,-0.83290496992,-0.83295802419,-0.833011070804,-0.833064109761,-0.83311714106,-0.833170164702,-0.833223180685,-0.83327618901,-0.833329189675,-0.833382182681,-0.833435168026,-0.83348814571,-0.833541115733,-0.833594078095,-0.833647032794,-0.833699979831,-0.833752919204,-0.833805850914,-0.833858774959,-0.83391169134,-0.833964600056,-0.834017501106,-0.83407039449,-0.834123280207,-0.834176158258,-0.83422902864,-0.834281891355,-0.834334746401,-0.834387593778,-0.834440433486,-0.834493265524,-0.834546089891,-0.834598906587,-0.834651715612,-0.834704516965,-0.834757310645,-0.834810096652,-0.834862874986,-0.834915645647,-0.834968408632,-0.835021163943,-0.835073911579,-0.835126651539,-0.835179383822,-0.835232108429,-0.835284825358,-0.83533753461,-0.835390236183,-0.835442930078,-0.835495616294,-0.835548294829,-0.835600965685,-0.83565362886,-0.835706284354,-0.835758932166,-0.835811572296,-0.835864204743,-0.835916829508,-0.835969446589,-0.836022055985,-0.836074657698,-0.836127251725,-0.836179838066,-0.836232416722,-0.836284987691,-0.836337550974,-0.836390106568,-0.836442654475,-0.836495194694,-0.836547727224,-0.836600252064,-0.836652769214,-0.836705278674,-0.836757780444,-0.836810274522,-0.836862760908,-0.836915239602,-0.836967710603,-0.837020173911,-0.837072629525,-0.837125077445,-0.837177517671,-0.837229950201,-0.837282375035,-0.837334792174,-0.837387201616,-0.83743960336,-0.837491997408,-0.837544383757,-0.837596762407,-0.837649133359,-0.837701496611,-0.837753852163,-0.837806200015,-0.837858540166,-0.837910872615,-0.837963197363,-0.838015514408,-0.83806782375,-0.838120125389,-0.838172419324,-0.838224705555,-0.838276984081,-0.838329254902,-0.838381518017,-0.838433773425,-0.838486021127,-0.838538261122,-0.838590493409,-0.838642717989,-0.838694934859,-0.83874714402,-0.838799345472,-0.838851539214,-0.838903725245,-0.838955903565,-0.839008074174,-0.83906023707,-0.839112392254,-0.839164539726,-0.839216679484,-0.839268811527,-0.839320935857,-0.839373052472,-0.839425161371,-0.839477262555,-0.839529356022,-0.839581441772,-0.839633519805,-0.839685590121,-0.839737652718,-0.839789707597,-0.839841754756,-0.839893794196,-0.839945825916,-0.839997849915,-0.840049866193,-0.840101874749,-0.840153875583,-0.840205868695,-0.840257854084,-0.84030983175,-0.840361801691,-0.840413763908,-0.8404657184,-0.840517665167,-0.840569604208,-0.840621535522,-0.84067345911,-0.84072537497,-0.840777283103,-0.840829183508,-0.840881076183,-0.84093296113,-0.840984838347,-0.841036707833,-0.841088569589,-0.841140423614,-0.841192269908,-0.841244108469,-0.841295939298,-0.841347762394,-0.841399577756,-0.841451385384,-0.841503185278,-0.841554977437,-0.84160676186,-0.841658538548,-0.841710307499,-0.841762068714,-0.841813822191,-0.841865567931,-0.841917305932,-0.841969036194,-0.842020758718,-0.842072473501,-0.842124180545,-0.842175879848,-0.842227571409,-0.842279255229,-0.842330931308,-0.842382599643,-0.842434260236,-0.842485913085,-0.84253755819,-0.842589195551,-0.842640825167,-0.842692447037,-0.842744061162,-0.84279566754,-0.842847266172,-0.842898857056,-0.842950440192,-0.84300201558,-0.84305358322,-0.84310514311,-0.843156695251,-0.843208239642,-0.843259776282,-0.843311305171,-0.843362826308,-0.843414339694,-0.843465845327,-0.843517343207,-0.843568833333,-0.843620315706,-0.843671790324,-0.843723257188,-0.843774716296,-0.843826167648,-0.843877611244,-0.843929047084,-0.843980475166,-0.84403189549,-0.844083308056,-0.844134712864,-0.844186109912,-0.844237499201,-0.84428888073,-0.844340254499,-0.844391620506,-0.844442978752,-0.844494329236,-0.844545671957,-0.844597006916,-0.844648334111,-0.844699653543,-0.84475096521,-0.844802269113,-0.84485356525,-0.844904853621,-0.844956134226,-0.845007407065,-0.845058672137,-0.845109929441,-0.845161178976,-0.845212420744,-0.845263654742,-0.845314880971,-0.84536609943,-0.845417310118,-0.845468513036,-0.845519708182,-0.845570895556,-0.845622075158,-0.845673246987,-0.845724411043,-0.845775567326,-0.845826715834,-0.845877856567,-0.845928989525,-0.845980114708,-0.846031232115,-0.846082341745,-0.846133443598,-0.846184537674,-0.846235623971,-0.846286702491,-0.846337773231,-0.846388836192,-0.846439891373,-0.846490938774,-0.846541978394,-0.846593010233,-0.84664403429,-0.846695050565,-0.846746059058,-0.846797059767,-0.846848052693,-0.846899037834,-0.846950015192,-0.847000984764,-0.84705194655,-0.847102900551,-0.847153846766,-0.847204785193,-0.847255715833,-0.847306638686,-0.84735755375,-0.847408461025,-0.847459360512,-0.847510252208,-0.847561136115,-0.847612012231,-0.847662880555,-0.847713741089,-0.84776459383,-0.847815438779,-0.847866275935,-0.847917105297,-0.847967926866,-0.84801874064,-0.848069546619,-0.848120344803,-0.848171135192,-0.848221917784,-0.848272692579,-0.848323459578,-0.848374218779,-0.848424970181,-0.848475713785,-0.848526449591,-0.848577177596,-0.848627897802,-0.848678610207,-0.848729314812,-0.848780011615,-0.848830700616,-0.848881381815,-0.848932055212,-0.848982720805,-0.849033378594,-0.84908402858,-0.84913467076,-0.849185305136,-0.849235931706,-0.84928655047,-0.849337161428,-0.849387764579,-0.849438359922,-0.849488947457,-0.849539527185,-0.849590099103,-0.849640663212,-0.849691219512,-0.849741768001,-0.849792308679,-0.849842841547,-0.849893366603,-0.849943883847,-0.849994393278,-0.850044894897,-0.850095388702,-0.850145874693,-0.850196352869,-0.850246823231,-0.850297285778,-0.850347740509,-0.850398187424,-0.850448626522,-0.850499057802,-0.850549481266,-0.850599896911,-0.850650304737,-0.850700704745,-0.850751096933,-0.850801481302,-0.850851857849,-0.850902226576,-0.850952587482,-0.851002940566,-0.851053285828,-0.851103623267,-0.851153952883,-0.851204274675,-0.851254588643,-0.851304894787,-0.851355193105,-0.851405483598,-0.851455766266,-0.851506041106,-0.85155630812,-0.851606567307,-0.851656818666,-0.851707062196,-0.851757297898,-0.851807525771,-0.851857745814,-0.851907958027,-0.851958162409,-0.85200835896,-0.85205854768,-0.852108728568,-0.852158901624,-0.852209066847,-0.852259224236,-0.852309373792,-0.852359515513,-0.8524096494,-0.852459775451,-0.852509893667,-0.852560004047,-0.85261010659,-0.852660201296,-0.852710288165,-0.852760367196,-0.852810438388,-0.852860501742,-0.852910557256,-0.85296060493,-0.853010644765,-0.853060676758,-0.853110700911,-0.853160717221,-0.85321072569,-0.853260726316,-0.8533107191,-0.853360704039,-0.853410681135,-0.853460650387,-0.853510611793,-0.853560565355,-0.85361051107,-0.85366044894,-0.853710378962,-0.853760301138,-0.853810215466,-0.853860121946,-0.853910020578,-0.85395991136,-0.854009794293,-0.854059669377,-0.85410953661,-0.854159395992,-0.854209247523,-0.854259091202,-0.854308927029,-0.854358755003,-0.854408575125,-0.854458387392,-0.854508191806,-0.854557988365,-0.85460777707,-0.854657557919,-0.854707330912,-0.854757096049,-0.854806853329,-0.854856602752,-0.854906344317,-0.854956078025,-0.855005803873,-0.855055521863,-0.855105231993,-0.855154934263,-0.855204628673,-0.855254315222,-0.855303993909,-0.855353664735,-0.855403327699,-0.8554529828,-0.855502630037,-0.855552269412,-0.855601900922,-0.855651524567,-0.855701140348,-0.855750748263,-0.855800348313,-0.855849940496,-0.855899524812,-0.855949101261,-0.855998669842,-0.856048230555,-0.8560977834,-0.856147328375,-0.856196865481,-0.856246394717,-0.856295916083,-0.856345429577,-0.8563949352,-0.856444432952,-0.856493922831,-0.856543404838,-0.856592878971,-0.856642345231,-0.856691803616,-0.856741254128,-0.856790696764,-0.856840131525,-0.856889558409,-0.856938977418,-0.85698838855,-0.857037791804,-0.857087187181,-0.857136574679,-0.857185954299,-0.85723532604,-0.857284689901,-0.857334045883,-0.857383393984,-0.857432734204,-0.857482066543,-0.857531390999,-0.857580707574,-0.857630016266,-0.857679317075,-0.85772861,-0.857777895041,-0.857827172198,-0.85787644147,-0.857925702856,-0.857974956357,-0.858024201971,-0.858073439698,-0.858122669538,-0.858171891491,-0.858221105555,-0.858270311731,-0.858319510017,-0.858368700414,-0.858417882922,-0.858467057538,-0.858516224264,-0.858565383099,-0.858614534042,-0.858663677093,-0.858712812251,-0.858761939516,-0.858811058887,-0.858860170365,-0.858909273948,-0.858958369636,-0.859007457429,-0.859056537325,-0.859105609326,-0.85915467343,-0.859203729637,-0.859252777946,-0.859301818357,-0.85935085087,-0.859399875483,-0.859448892197,-0.859497901012,-0.859546901926,-0.859595894939,-0.859644880051,-0.859693857261,-0.859742826569,-0.859791787975,-0.859840741477,-0.859889687077,-0.859938624772,-0.859987554563,-0.860036476449,-0.860085390429,-0.860134296504,-0.860183194673,-0.860232084935,-0.860280967291,-0.860329841738,-0.860378708278,-0.860427566909,-0.860476417632,-0.860525260445,-0.860574095348,-0.860622922341,-0.860671741424,-0.860720552595,-0.860769355855,-0.860818151202,-0.860866938638,-0.86091571816,-0.860964489769,-0.861013253464,-0.861062009245,-0.861110757112,-0.861159497063,-0.861208229099,-0.861256953218,-0.861305669421,-0.861354377707,-0.861403078076,-0.861451770527,-0.861500455059,-0.861549131673,-0.861597800368,-0.861646461143,-0.861695113998,-0.861743758933,-0.861792395946,-0.861841025038,-0.861889646209,-0.861938259456,-0.861986864782,-0.862035462184,-0.862084051662,-0.862132633216,-0.862181206846,-0.862229772551,-0.86227833033,-0.862326880184,-0.862375422111,-0.862423956111,-0.862472482184,-0.86252100033,-0.862569510547,-0.862618012836,-0.862666507196,-0.862714993626,-0.862763472126,-0.862811942697,-0.862860405336,-0.862908860044,-0.862957306821,-0.863005745665,-0.863054176577,-0.863102599555,-0.863151014601,-0.863199421712,-0.863247820889,-0.863296212131,-0.863344595439,-0.86339297081,-0.863441338245,-0.863489697744,-0.863538049305,-0.86358639293,-0.863634728616,-0.863683056364,-0.863731376173,-0.863779688043,-0.863827991973,-0.863876287963,-0.863924576013,-0.863972856122,-0.864021128289,-0.864069392514,-0.864117648797,-0.864165897137,-0.864214137534,-0.864262369987,-0.864310594496,-0.864358811061,-0.86440701968,-0.864455220354,-0.864503413082,-0.864551597864,-0.864599774699,-0.864647943587,-0.864696104527,-0.864744257519,-0.864792402563,-0.864840539658,-0.864888668803,-0.864936789998,-0.864984903243,-0.865033008537,-0.86508110588,-0.865129195272,-0.865177276711,-0.865225350198,-0.865273415731,-0.865321473312,-0.865369522938,-0.865417564611,-0.865465598328,-0.865513624091,-0.865561641897,-0.865609651748,-0.865657653642,-0.865705647579,-0.865753633559,-0.865801611581,-0.865849581645,-0.86589754375,-0.865945497896,-0.865993444082,-0.866041382309,-0.866089312575,-0.86613723488,-0.866185149223,-0.866233055605,-0.866280954025,-0.866328844481,-0.866376726975,-0.866424601505,-0.866472468072,-0.866520326674,-0.866568177311,-0.866616019982,-0.866663854688,-0.866711681428,-0.866759500201,-0.866807311007,-0.866855113845,-0.866902908716,-0.866950695618,-0.866998474552,-0.867046245516,-0.86709400851,-0.867141763534,-0.867189510588,-0.867237249671,-0.867284980782,-0.867332703921,-0.867380419088,-0.867428126282,-0.867475825503,-0.867523516751,-0.867571200024,-0.867618875323,-0.867666542646,-0.867714201995,-0.867761853367,-0.867809496763,-0.867857132183,-0.867904759625,-0.86795237909,-0.867999990577,-0.868047594085,-0.868095189614,-0.868142777164,-0.868190356734,-0.868237928324,-0.868285491934,-0.868333047562,-0.868380595209,-0.868428134873,-0.868475666556,-0.868523190255,-0.868570705971,-0.868618213704,-0.868665713452,-0.868713205216,-0.868760688995,-0.868808164788,-0.868855632595,-0.868903092416,-0.868950544251,-0.868997988098,-0.869045423957,-0.869092851828,-0.869140271711,-0.869187683605,-0.86923508751,-0.869282483424,-0.869329871349,-0.869377251282,-0.869424623225,-0.869471987176,-0.869519343135,-0.869566691101,-0.869614031075,-0.869661363056,-0.869708687042,-0.869756003035,-0.869803311033,-0.869850611035,-0.869897903043,-0.869945187054,-0.869992463069,-0.870039731088,-0.870086991109,-0.870134243132,-0.870181487157,-0.870228723184,-0.870275951212,-0.870323171241,-0.870370383269,-0.870417587298,-0.870464783325,-0.870511971352,-0.870559151377,-0.8706063234,-0.870653487421,-0.870700643438,-0.870747791453,-0.870794931464,-0.87084206347,-0.870889187472,-0.870936303469,-0.87098341146,-0.871030511446,-0.871077603425,-0.871124687398,-0.871171763363,-0.871218831321,-0.87126589127,-0.871312943212,-0.871359987144,-0.871407023067,-0.87145405098,-0.871501070883,-0.871548082775,-0.871595086656,-0.871642082526,-0.871689070383,-0.871736050229,-0.871783022061,-0.87182998588,-0.871876941686,-0.871923889477,-0.871970829254,-0.872017761016,-0.872064684763,-0.872111600493,-0.872158508208,-0.872205407906,-0.872252299586,-0.872299183249,-0.872346058894,-0.872392926521,-0.872439786129,-0.872486637717,-0.872533481286,-0.872580316835,-0.872627144363,-0.87267396387,-0.872720775356,-0.87276757882,-0.872814374261,-0.87286116168,-0.872907941076,-0.872954712448,-0.873001475796,-0.87304823112,-0.873094978418,-0.873141717692,-0.873188448939,-0.873235172161,-0.873281887356,-0.873328594524,-0.873375293664,-0.873421984777,-0.873468667861,-0.873515342917,-0.873562009943,-0.87360866894,-0.873655319907,-0.873701962843,-0.873748597749,-0.873795224623,-0.873841843465,-0.873888454276,-0.873935057053,-0.873981651798,-0.874028238509,-0.874074817186,-0.874121387829,-0.874167950438,-0.874214505011,-0.874261051548,-0.87430759005,-0.874354120515,-0.874400642943,-0.874447157334,-0.874493663687,-0.874540162002,-0.874586652278,-0.874633134516,-0.874679608713,-0.874726074872,-0.874772532989,-0.874818983066,-0.874865425102,-0.874911859097,-0.874958285049,-0.875004702959,-0.875051112826,-0.87509751465,-0.87514390843,-0.875190294165,-0.875236671857,-0.875283041503,-0.875329403104,-0.875375756659,-0.875422102168,-0.87546843963,-0.875514769045,-0.875561090413,-0.875607403732,-0.875653709003,-0.875700006226,-0.875746295399,-0.875792576522,-0.875838849595,-0.875885114618,-0.87593137159,-0.87597762051,-0.876023861379,-0.876070094195,-0.876116318959,-0.87616253567,-0.876208744327,-0.87625494493,-0.876301137479,-0.876347321973,-0.876393498412,-0.876439666796,-0.876485827123,-0.876531979394,-0.876578123608,-0.876624259764,-0.876670387863,-0.876716507904,-0.876762619886,-0.876808723809,-0.876854819673,-0.876900907477,-0.87694698722,-0.876993058903,-0.877039122525,-0.877085178085,-0.877131225583,-0.877177265019,-0.877223296392,-0.877269319701,-0.877315334947,-0.877361342129,-0.877407341246,-0.877453332299,-0.877499315286,-0.877545290207,-0.877591257062,-0.877637215851,-0.877683166572,-0.877729109226,-0.877775043812,-0.87782097033,-0.877866888779,-0.877912799159,-0.877958701469,-0.878004595709,-0.878050481879,-0.878096359978,-0.878142230005,-0.878188091961,-0.878233945845,-0.878279791657,-0.878325629395,-0.87837145906,-0.878417280651,-0.878463094168,-0.87850889961,-0.878554696977,-0.878600486269,-0.878646267485,-0.878692040625,-0.878737805687,-0.878783562673,-0.878829311581,-0.878875052411,-0.878920785162,-0.878966509835,-0.879012226429,-0.879057934942,-0.879103635376,-0.879149327729,-0.879195012001,-0.879240688192,-0.879286356301,-0.879332016328,-0.879377668272,-0.879423312133,-0.879468947911,-0.879514575604,-0.879560195214,-0.879605806739,-0.879651410178,-0.879697005532,-0.8797425928,-0.879788171982,-0.879833743076,-0.879879306084,-0.879924861004,-0.879970407836,-0.880015946579,-0.880061477233,-0.880106999798,-0.880152514274,-0.880198020659,-0.880243518953,-0.880289009157,-0.880334491269,-0.880379965289,-0.880425431217,-0.880470889052,-0.880516338794,-0.880561780443,-0.880607213998,-0.880652639458,-0.880698056824,-0.880743466094,-0.880788867269,-0.880834260348,-0.88087964533,-0.880925022216,-0.880970391004,-0.881015751694,-0.881061104287,-0.881106448781,-0.881151785176,-0.881197113471,-0.881242433667,-0.881287745763,-0.881333049758,-0.881378345652,-0.881423633444,-0.881468913135,-0.881514184723,-0.881559448209,-0.881604703592,-0.881649950871,-0.881695190046,-0.881740421117,-0.881785644083,-0.881830858944,-0.881876065699,-0.881921264348,-0.881966454891,-0.882011637327,-0.882056811656,-0.882101977877,-0.88214713599,-0.882192285994,-0.88223742789,-0.882282561676,-0.882327687352,-0.882372804919,-0.882417914374,-0.882463015719,-0.882508108952,-0.882553194074,-0.882598271083,-0.88264333998,-0.882688400763,-0.882733453433,-0.882778497989,-0.882823534431,-0.882868562758,-0.88291358297,-0.882958595066,-0.883003599047,-0.883048594911,-0.883093582658,-0.883138562288,-0.883183533801,-0.883228497195,-0.883273452471,-0.883318399628,-0.883363338666,-0.883408269584,-0.883453192382,-0.883498107059,-0.883543013616,-0.883587912051,-0.883632802365,-0.883677684556,-0.883722558625,-0.883767424571,-0.883812282393,-0.883857132091,-0.883901973666,-0.883946807116,-0.88399163244,-0.884036449639,-0.884081258713,-0.88412605966,-0.88417085248,-0.884215637173,-0.884260413739,-0.884305182177,-0.884349942486,-0.884394694667,-0.884439438718,-0.88448417464,-0.884528902432,-0.884573622094,-0.884618333624,-0.884663037024,-0.884707732292,-0.884752419428,-0.884797098431,-0.884841769301,-0.884886432039,-0.884931086642,-0.884975733112,-0.885020371447,-0.885065001647,-0.885109623711,-0.88515423764,-0.885198843433,-0.885243441089,-0.885288030609,-0.885332611991,-0.885377185235,-0.885421750341,-0.885466307308,-0.885510856136,-0.885555396825,-0.885599929374,-0.885644453783,-0.885688970051,-0.885733478178,-0.885777978164,-0.885822470007,-0.885866953709,-0.885911429268,-0.885955896683,-0.886000355955,-0.886044807084,-0.886089250067,-0.886133684907,-0.8861781116,-0.886222530149,-0.886266940551,-0.886311342807,-0.886355736917,-0.886400122879,-0.886444500693,-0.88648887036,-0.886533231878,-0.886577585247,-0.886621930467,-0.886666267537,-0.886710596458,-0.886754917228,-0.886799229847,-0.886843534314,-0.88688783063,-0.886932118794,-0.886976398806,-0.887020670664,-0.88706493437,-0.887109189921,-0.887153437319,-0.887197676562,-0.88724190765,-0.887286130582,-0.887330345359,-0.88737455198,-0.887418750444,-0.887462940752,-0.887507122901,-0.887551296894,-0.887595462728,-0.887639620403,-0.887683769919,-0.887727911276,-0.887772044473,-0.88781616951,-0.887860286387,-0.887904395102,-0.887948495656,-0.887992588048,-0.888036672278,-0.888080748345,-0.888124816249,-0.88816887599,-0.888212927566,-0.888256970979,-0.888301006227,-0.88834503331,-0.888389052227,-0.888433062978,-0.888477065564,-0.888521059982,-0.888565046233,-0.888609024317,-0.888652994233,-0.888696955981,-0.88874090956,-0.88878485497,-0.88882879221,-0.88887272128,-0.88891664218,-0.88896055491,-0.889004459468,-0.889048355855,-0.889092244069,-0.889136124112,-0.889179995981,-0.889223859678,-0.889267715201,-0.88931156255,-0.889355401724,-0.889399232724,-0.889443055549,-0.889486870198,-0.889530676671,-0.889574474968,-0.889618265088,-0.889662047031,-0.889705820796,-0.889749586383,-0.889793343792,-0.889837093022,-0.889880834073,-0.889924566944,-0.889968291635,-0.890012008146,-0.890055716476,-0.890099416625,-0.890143108592,-0.890186792378,-0.890230467981,-0.890274135401,-0.890317794637,-0.890361445691,-0.89040508856,-0.890448723245,-0.890492349745,-0.89053596806,-0.890579578189,-0.890623180132,-0.890666773889,-0.890710359459,-0.890753936841,-0.890797506036,-0.890841067043,-0.890884619862,-0.890928164492,-0.890971700932,-0.891015229183,-0.891058749244,-0.891102261115,-0.891145764795,-0.891189260283,-0.89123274758,-0.891276226685,-0.891319697597,-0.891363160317,-0.891406614843,-0.891450061176,-0.891493499315,-0.891536929259,-0.891580351009,-0.891623764563,-0.891667169922,-0.891710567084,-0.891753956051,-0.89179733682,-0.891840709392,-0.891884073767,-0.891927429944,-0.891970777922,-0.892014117701,-0.892057449282,-0.892100772662,-0.892144087843,-0.892187394823,-0.892230693602,-0.892273984181,-0.892317266557,-0.892360540732,-0.892403806704,-0.892447064474,-0.89249031404,-0.892533555403,-0.892576788562,-0.892620013516,-0.892663230265,-0.89270643881,-0.892749639149,-0.892792831282,-0.892836015208,-0.892879190928,-0.892922358441,-0.892965517746,-0.893008668843,-0.893051811732,-0.893094946412,-0.893138072883,-0.893181191144,-0.893224301196,-0.893267403037,-0.893310496667,-0.893353582086,-0.893396659294,-0.89343972829,-0.893482789074,-0.893525841644,-0.893568886002,-0.893611922146,-0.893654950077,-0.893697969793,-0.893740981294,-0.893783984581,-0.893826979651,-0.893869966506,-0.893912945145,-0.893955915567,-0.893998877772,-0.89404183176,-0.89408477753,-0.894127715081,-0.894170644414,-0.894213565528,-0.894256478422,-0.894299383097,-0.894342279551,-0.894385167785,-0.894428047798,-0.894470919589,-0.894513783159,-0.894556638506,-0.894599485631,-0.894642324533,-0.894685155212,-0.894727977667,-0.894770791897,-0.894813597903,-0.894856395685,-0.89489918524,-0.894941966571,-0.894984739675,-0.895027504552,-0.895070261203,-0.895113009626,-0.895155749822,-0.895198481789,-0.895241205528,-0.895283921039,-0.89532662832,-0.895369327371,-0.895412018192,-0.895454700783,-0.895497375143,-0.895540041272,-0.895582699169,-0.895625348834,-0.895667990267,-0.895710623467,-0.895753248434,-0.895795865167,-0.895838473666,-0.895881073931,-0.895923665961,-0.895966249756,-0.896008825316,-0.896051392639,-0.896093951727,-0.896136502577,-0.896179045191,-0.896221579567,-0.896264105705,-0.896306623604,-0.896349133266,-0.896391634688,-0.89643412787,-0.896476612813,-0.896519089516,-0.896561557978,-0.896604018199,-0.896646470179,-0.896688913917,-0.896731349412,-0.896773776665,-0.896816195676,-0.896858606442,-0.896901008965,-0.896943403244,-0.896985789279,-0.897028167068,-0.897070536613,-0.897112897911,-0.897155250964,-0.89719759577,-0.897239932329,-0.897282260641,-0.897324580705,-0.897366892522,-0.89740919609,-0.897451491409,-0.897493778479,-0.897536057299,-0.89757832787,-0.89762059019,-0.897662844259,-0.897705090077,-0.897747327644,-0.897789556959,-0.897831778021,-0.897873990831,-0.897916195388,-0.897958391691,-0.898000579741,-0.898042759536,-0.898084931077,-0.898127094362,-0.898169249393,-0.898211396167,-0.898253534685,-0.898295664947,-0.898337786952,-0.898379900699,-0.898422006189,-0.898464103421,-0.898506192394,-0.898548273108,-0.898590345563,-0.898632409759,-0.898674465694,-0.898716513369,-0.898758552783,-0.898800583936,-0.898842606827,-0.898884621457,-0.898926627824,-0.898968625928,-0.899010615769,-0.899052597347,-0.89909457066,-0.89913653571,-0.899178492495,-0.899220441014,-0.899262381269,-0.899304313257,-0.899346236979,-0.899388152435,-0.899430059624,-0.899471958545,-0.899513849198,-0.899555731584,-0.899597605701,-0.899639471549,-0.899681329127,-0.899723178436,-0.899765019475,-0.899806852244,-0.899848676742,-0.899890492968,-0.899932300923,-0.899974100606,-0.900015892016,-0.900057675154,-0.900099450019,-0.90014121661,-0.900182974927,-0.90022472497,-0.900266466738,-0.900308200231,-0.900349925449,-0.900391642391,-0.900433351056,-0.900475051445,-0.900516743558,-0.900558427392,-0.900600102949,-0.900641770228,-0.900683429229,-0.90072507995,-0.900766722392,-0.900808356555,-0.900849982438,-0.90089160004,-0.900933209361,-0.900974810401,-0.90101640316,-0.901057987636,-0.901099563831,-0.901141131742,-0.901182691371,-0.901224242716,-0.901265785777,-0.901307320554,-0.901348847046,-0.901390365253,-0.901431875175,-0.901473376811,-0.901514870161,-0.901556355225,-0.901597832001,-0.90163930049,-0.901680760692,-0.901722212606,-0.901763656231,-0.901805091567,-0.901846518614,-0.901887937371,-0.901929347839,-0.901970750016,-0.902012143902,-0.902053529498,-0.902094906802,-0.902136275814,-0.902177636533,-0.902218988961,-0.902260333095,-0.902301668935,-0.902342996482,-0.902384315735,-0.902425626694,-0.902466929357,-0.902508223725,-0.902549509798,-0.902590787574,-0.902632057054,-0.902673318237,-0.902714571123,-0.902755815712,-0.902797052002,-0.902838279995,-0.902879499688,-0.902920711082,-0.902961914177,-0.903003108973,-0.903044295468,-0.903085473662,-0.903126643555,-0.903167805147,-0.903208958438,-0.903250103426,-0.903291240112,-0.903332368495,-0.903373488574,-0.90341460035,-0.903455703822,-0.90349679899,-0.903537885853,-0.903578964411,-0.903620034663,-0.903661096609,-0.903702150249,-0.903743195583,-0.903784232609,-0.903825261328,-0.90386628174,-0.903907293843,-0.903948297638,-0.903989293123,-0.9040302803,-0.904071259167,-0.904112229724,-0.90415319197,-0.904194145906,-0.90423509153,-0.904276028843,-0.904316957844,-0.904357878533,-0.904398790909,-0.904439694972,-0.904480590721,-0.904521478157,-0.904562357279,-0.904603228086,-0.904644090578,-0.904684944755,-0.904725790616,-0.904766628162,-0.90480745739,-0.904848278302,-0.904889090897,-0.904929895174,-0.904970691134,-0.905011478775,-0.905052258097,-0.9050930291,-0.905133791784,-0.905174546148,-0.905215292192,-0.905256029916,-0.905296759318,-0.905337480399,-0.905378193159,-0.905418897596,-0.905459593711,-0.905500281504,-0.905540960973,-0.905581632118,-0.90562229494,-0.905662949437,-0.90570359561,-0.905744233458,-0.90578486298,-0.905825484176,-0.905866097047,-0.90590670159,-0.905947297807,-0.905987885697,-0.906028465259,-0.906069036493,-0.906109599398,-0.906150153975,-0.906190700223,-0.906231238141,-0.906271767729,-0.906312288987,-0.906352801915,-0.906393306511,-0.906433802776,-0.906474290709,-0.90651477031,-0.906555241579,-0.906595704515,-0.906636159117,-0.906676605386,-0.906717043321,-0.906757472922,-0.906797894188,-0.906838307119,-0.906878711714,-0.906919107974,-0.906959495897,-0.906999875484,-0.907040246734,-0.907080609646,-0.907120964221,-0.907161310458,-0.907201648356,-0.907241977915,-0.907282299136,-0.907322612016,-0.907362916557,-0.907403212758,-0.907443500618,-0.907483780137,-0.907524051314,-0.90756431415,-0.907604568643,-0.907644814795,-0.907685052603,-0.907725282068,-0.907765503189,-0.907805715966,-0.907845920399,-0.907886116488,-0.907926304231,-0.907966483629,-0.90800665468,-0.908046817386,-0.908086971745,-0.908127117757,-0.908167255422,-0.908207384739,-0.908247505709,-0.908287618329,-0.908327722601,-0.908367818524,-0.908407906097,-0.908447985321,-0.908488056194,-0.908528118716,-0.908568172888,-0.908608218708,-0.908648256176,-0.908688285293,-0.908728306056,-0.908768318467,-0.908808322525,-0.908848318229,-0.90888830558,-0.908928284576,-0.908968255217,-0.909008217503,-0.909048171434,-0.909088117009,-0.909128054228,-0.909167983091,-0.909207903596,-0.909247815744,-0.909287719535,-0.909327614968,-0.909367502042,-0.909407380758,-0.909447251114,-0.909487113112,-0.909526966749,-0.909566812026,-0.909606648943,-0.909646477498,-0.909686297693,-0.909726109525,-0.909765912996,-0.909805708105,-0.90984549485,-0.909885273233,-0.909925043252,-0.909964804907,-0.910004558198,-0.910044303125,-0.910084039686,-0.910123767883,-0.910163487713,-0.910203199178,-0.910242902276,-0.910282597007,-0.910322283372,-0.910361961368,-0.910401630997,-0.910441292258,-0.91048094515,-0.910520589673,-0.910560225827,-0.910599853612,-0.910639473026,-0.91067908407,-0.910718686743,-0.910758281044,-0.910797866975,-0.910837444533,-0.91087701372,-0.910916574533,-0.910956126974,-0.910995671042,-0.911035206735,-0.911074734055,-0.911114253001,-0.911153763571,-0.911193265767,-0.911232759586,-0.911272245031,-0.911311722098,-0.91135119079,-0.911390651104,-0.911430103041,-0.911469546601,-0.911508981782,-0.911548408585,-0.911587827009,-0.911627237054,-0.91166663872,-0.911706032005,-0.911745416911,-0.911784793436,-0.91182416158,-0.911863521343,-0.911902872724,-0.911942215723,-0.91198155034,-0.912020876574,-0.912060194424,-0.912099503892,-0.912138804975,-0.912178097675,-0.91221738199,-0.91225665792,-0.912295925464,-0.912335184623,-0.912374435396,-0.912413677783,-0.912452911783,-0.912492137396,-0.912531354622,-0.912570563459,-0.912609763909,-0.91264895597,-0.912688139642,-0.912727314925,-0.912766481818,-0.912805640322,-0.912844790435,-0.912883932157,-0.912923065488,-0.912962190428,-0.913001306977,-0.913040415133,-0.913079514896,-0.913118606267,-0.913157689245,-0.913196763829,-0.913235830019,-0.913274887815,-0.913313937216,-0.913352978222,-0.913392010833,-0.913431035049,-0.913470050868,-0.91350905829,-0.913548057316,-0.913587047945,-0.913626030177,-0.91366500401,-0.913703969445,-0.913742926482,-0.91378187512,-0.913820815358,-0.913859747197,-0.913898670636,-0.913937585674,-0.913976492312,-0.914015390549,-0.914054280384,-0.914093161817,-0.914132034849,-0.914170899478,-0.914209755704,-0.914248603526,-0.914287442945,-0.914326273961,-0.914365096571,-0.914403910778,-0.914442716579,-0.914481513975,-0.914520302965,-0.914559083549,-0.914597855727,-0.914636619498,-0.914675374862,-0.914714121818,-0.914752860366,-0.914791590506,-0.914830312238,-0.914869025561,-0.914907730474,-0.914946426978,-0.914985115072,-0.915023794755,-0.915062466028,-0.915101128889,-0.91513978334,-0.915178429378,-0.915217067005,-0.915255696218,-0.915294317019,-0.915332929407,-0.915371533382,-0.915410128942,-0.915448716088,-0.91548729482,-0.915525865136,-0.915564427038,-0.915602980523,-0.915641525593,-0.915680062246,-0.915718590483,-0.915757110302,-0.915795621704,-0.915834124688,-0.915872619254,-0.915911105402,-0.91594958313,-0.91598805244,-0.916026513329,-0.916064965799,-0.916103409849,-0.916141845478,-0.916180272686,-0.916218691473,-0.916257101838,-0.916295503781,-0.916333897301,-0.916372282399,-0.916410659074,-0.916449027325,-0.916487387153,-0.916525738556,-0.916564081535,-0.916602416089,-0.916640742218,-0.916679059921,-0.916717369198,-0.916755670049,-0.916793962474,-0.916832246471,-0.916870522041,-0.916908789184,-0.916947047898,-0.916985298184,-0.917023540041,-0.91706177347,-0.917099998468,-0.917138215037,-0.917176423176,-0.917214622885,-0.917252814162,-0.917290997008,-0.917329171423,-0.917367337406,-0.917405494957,-0.917443644075,-0.91748178476,-0.917519917012,-0.91755804083,-0.917596156214,-0.917634263164,-0.917672361679,-0.917710451759,-0.917748533404,-0.917786606613,-0.917824671385,-0.917862727722,-0.917900775621,-0.917938815084,-0.917976846109,-0.918014868696,-0.918052882845,-0.918090888555,-0.918128885827,-0.918166874659,-0.918204855051,-0.918242827004,-0.918280790517,-0.918318745588,-0.918356692219,-0.918394630408,-0.918432560156,-0.918470481462,-0.918508394325,-0.918546298746,-0.918584194723,-0.918622082257,-0.918659961348,-0.918697831994,-0.918735694196,-0.918773547952,-0.918811393264,-0.91884923013,-0.918887058551,-0.918924878525,-0.918962690052,-0.919000493133,-0.919038287766,-0.919076073952,-0.91911385169,-0.91915162098,-0.919189381821,-0.919227134212,-0.919264878155,-0.919302613648,-0.919340340691,-0.919378059283,-0.919415769425,-0.919453471116,-0.919491164355,-0.919528849142,-0.919566525478,-0.919604193361,-0.919641852791,-0.919679503768,-0.919717146291,-0.919754780361,-0.919792405976,-0.919830023137,-0.919867631843,-0.919905232094,-0.919942823889,-0.919980407229,-0.920017982112,-0.920055548538,-0.920093106508,-0.92013065602,-0.920168197074,-0.920205729671,-0.920243253809,-0.920280769489,-0.920318276709,-0.92035577547,-0.920393265772,-0.920430747613,-0.920468220994,-0.920505685914,-0.920543142373,-0.920580590371,-0.920618029907,-0.920655460981,-0.920692883592,-0.920730297741,-0.920767703426,-0.920805100648,-0.920842489406,-0.9208798697,-0.920917241529,-0.920954604894,-0.920991959793,-0.921029306227,-0.921066644194,-0.921103973696,-0.921141294731,-0.921178607299,-0.921215911399,-0.921253207033,-0.921290494198,-0.921327772894,-0.921365043123,-0.921402304882,-0.921439558172,-0.921476802992,-0.921514039342,-0.921551267222,-0.921588486631,-0.921625697569,-0.921662900036,-0.921700094031,-0.921737279554,-0.921774456604,-0.921811625182,-0.921848785286,-0.921885936918,-0.921923080075,-0.921960214758,-0.921997340967,-0.922034458701,-0.92207156796,-0.922108668743,-0.922145761051,-0.922182844882,-0.922219920237,-0.922256987115,-0.922294045516,-0.922331095439,-0.922368136885,-0.922405169852,-0.922442194341,-0.922479210351,-0.922516217881,-0.922553216932,-0.922590207503,-0.922627189594,-0.922664163205,-0.922701128334,-0.922738084982,-0.922775033148,-0.922811972833,-0.922848904035,-0.922885826755,-0.922922740991,-0.922959646745,-0.922996544014,-0.9230334328,-0.923070313101,-0.923107184918,-0.92314404825,-0.923180903096,-0.923217749457,-0.923254587331,-0.92329141672,-0.923328237621,-0.923365050036,-0.923401853963,-0.923438649402,-0.923475436354,-0.923512214817,-0.923548984791,-0.923585746276,-0.923622499272,-0.923659243778,-0.923695979794,-0.92373270732,-0.923769426355,-0.923806136898,-0.923842838951,-0.923879532511,-0.92391621758,-0.923952894156,-0.923989562239,-0.924026221829,-0.924062872926,-0.924099515529,-0.924136149637,-0.924172775252,-0.924209392371,-0.924246000996,-0.924282601125,-0.924319192758,-0.924355775895,-0.924392350535,-0.924428916679,-0.924465474325,-0.924502023474,-0.924538564125,-0.924575096279,-0.924611619933,-0.924648135089,-0.924684641745,-0.924721139902,-0.92475762956,-0.924794110717,-0.924830583373,-0.924867047529,-0.924903503183,-0.924939950336,-0.924976388987,-0.925012819136,-0.925049240783,-0.925085653926,-0.925122058567,-0.925158454703,-0.925194842336,-0.925231221465,-0.92526759209,-0.925303954209,-0.925340307823,-0.925376652932,-0.925412989535,-0.925449317631,-0.925485637221,-0.925521948305,-0.925558250881,-0.925594544949,-0.92563083051,-0.925667107562,-0.925703376106,-0.925739636141,-0.925775887667,-0.925812130683,-0.92584836519,-0.925884591186,-0.925920808672,-0.925957017647,-0.92599321811,-0.926029410062,-0.926065593503,-0.926101768431,-0.926137934846,-0.926174092749,-0.926210242138,-0.926246383014,-0.926282515376,-0.926318639224,-0.926354754558,-0.926390861376,-0.926426959679,-0.926463049467,-0.926499130739,-0.926535203495,-0.926571267734,-0.926607323457,-0.926643370662,-0.92667940935,-0.92671543952,-0.926751461171,-0.926787474305,-0.926823478919,-0.926859475014,-0.92689546259,-0.926931441646,-0.926967412182,-0.927003374197,-0.927039327691,-0.927075272665,-0.927111209117,-0.927147137047,-0.927183056455,-0.92721896734,-0.927254869703,-0.927290763542,-0.927326648858,-0.92736252565,-0.927398393919,-0.927434253662,-0.927470104881,-0.927505947575,-0.927541781743,-0.927577607386,-0.927613424502,-0.927649233093,-0.927685033156,-0.927720824692,-0.927756607701,-0.927792382182,-0.927828148135,-0.92786390556,-0.927899654456,-0.927935394823,-0.92797112666,-0.928006849968,-0.928042564746,-0.928078270993,-0.92811396871,-0.928149657895,-0.92818533855,-0.928221010672,-0.928256674263,-0.928292329321,-0.928327975847,-0.928363613839,-0.928399243299,-0.928434864224,-0.928470476616,-0.928506080473,-0.928541675796,-0.928577262584,-0.928612840836,-0.928648410553,-0.928683971734,-0.928719524379,-0.928755068487,-0.928790604058,-0.928826131092,-0.928861649588,-0.928897159547,-0.928932660967,-0.928968153849,-0.929003638192,-0.929039113995,-0.929074581259,-0.929110039984,-0.929145490168,-0.929180931811,-0.929216364914,-0.929251789475,-0.929287205496,-0.929322612974,-0.92935801191,-0.929393402304,-0.929428784155,-0.929464157462,-0.929499522227,-0.929534878447,-0.929570226124,-0.929605565256,-0.929640895843,-0.929676217885,-0.929711531382,-0.929746836334,-0.929782132739,-0.929817420598,-0.92985269991,-0.929887970675,-0.929923232893,-0.929958486563,-0.929993731685,-0.930028968259,-0.930064196284,-0.93009941576,-0.930134626687,-0.930169829065,-0.930205022892,-0.930240208169,-0.930275384896,-0.930310553072,-0.930345712696,-0.93038086377,-0.930416006291,-0.93045114026,-0.930486265676,-0.93052138254,-0.93055649085,-0.930591590607,-0.930626681811,-0.93066176446,-0.930696838554,-0.930731904094,-0.930766961079,-0.930802009508,-0.930837049382,-0.9308720807,-0.930907103461,-0.930942117665,-0.930977123313,-0.931012120403,-0.931047108936,-0.93108208891,-0.931117060326,-0.931152023184,-0.931186977483,-0.931221923222,-0.931256860402,-0.931291789022,-0.931326709081,-0.93136162058,-0.931396523518,-0.931431417895,-0.931466303711,-0.931501180965,-0.931536049656,-0.931570909785,-0.931605761351,-0.931640604354,-0.931675438794,-0.93171026467,-0.931745081982,-0.931779890729,-0.931814690912,-0.931849482529,-0.931884265582,-0.931919040068,-0.931953805989,-0.931988563343,-0.932023312131,-0.932058052351,-0.932092784005,-0.932127507091,-0.932162221609,-0.932196927558,-0.932231624939,-0.932266313752,-0.932300993995,-0.932335665668,-0.932370328772,-0.932404983305,-0.932439629268,-0.932474266661,-0.932508895482,-0.932543515732,-0.93257812741,-0.932612730516,-0.932647325049,-0.93268191101,-0.932716488398,-0.932751057213,-0.932785617454,-0.932820169121,-0.932854712213,-0.932889246731,-0.932923772674,-0.932958290042,-0.932992798835,-0.933027299051,-0.933061790692,-0.933096273755,-0.933130748242,-0.933165214152,-0.933199671485,-0.933234120239,-0.933268560416,-0.933302992014,-0.933337415033,-0.933371829474,-0.933406235335,-0.933440632616,-0.933475021317,-0.933509401438,-0.933543772979,-0.933578135938,-0.933612490317,-0.933646836113,-0.933681173328,-0.933715501961,-0.933749822011,-0.933784133478,-0.933818436362,-0.933852730663,-0.93388701638,-0.933921293513,-0.933955562061,-0.933989822025,-0.934024073403,-0.934058316197,-0.934092550404,-0.934126776026,-0.934160993061,-0.93419520151,-0.934229401372,-0.934263592646,-0.934297775334,-0.934331949433,-0.934366114944,-0.934400271866,-0.9344344202,-0.934468559945,-0.9345026911,-0.934536813665,-0.93457092764,-0.934605033025,-0.93463912982,-0.934673218023,-0.934707297635,-0.934741368655,-0.934775431084,-0.93480948492,-0.934843530163,-0.934877566814,-0.934911594872,-0.934945614336,-0.934979625206,-0.935013627482,-0.935047621163,-0.93508160625,-0.935115582742,-0.935149550638,-0.935183509939,-0.935217460644,-0.935251402752,-0.935285336264,-0.935319261179,-0.935353177496,-0.935387085216,-0.935420984338,-0.935454874862,-0.935488756787,-0.935522630114,-0.935556494841,-0.93559035097,-0.935624198498,-0.935658037426,-0.935691867754,-0.935725689481,-0.935759502607,-0.935793307132,-0.935827103055,-0.935860890377,-0.935894669096,-0.935928439213,-0.935962200726,-0.935995953637,-0.936029697944,-0.936063433647,-0.936097160746,-0.936130879241,-0.936164589131,-0.936198290416,-0.936231983096,-0.93626566717,-0.936299342638,-0.9363330095,-0.936366667756,-0.936400317404,-0.936433958445,-0.936467590879,-0.936501214705,-0.936534829923,-0.936568436532,-0.936602034533,-0.936635623924,-0.936669204707,-0.936702776879,-0.936736340442,-0.936769895394,-0.936803441736,-0.936836979467,-0.936870508586,-0.936904029095,-0.936937540991,-0.936971044275,-0.937004538947,-0.937038025006,-0.937071502452,-0.937104971284,-0.937138431503,-0.937171883108,-0.937205326099,-0.937238760475,-0.937272186236,-0.937305603382,-0.937339011913,-0.937372411827,-0.937405803126,-0.937439185808,-0.937472559873,-0.937505925321,-0.937539282152,-0.937572630366,-0.937605969961,-0.937639300938,-0.937672623297,-0.937705937036,-0.937739242156,-0.937772538657,-0.937805826538,-0.937839105799,-0.93787237644,-0.93790563846,-0.937938891859,-0.937972136636,-0.938005372792,-0.938038600326,-0.938071819238,-0.938105029527,-0.938138231193,-0.938171424236,-0.938204608655,-0.938237784451,-0.938270951623,-0.93830411017,-0.938337260093,-0.938370401391,-0.938403534063,-0.93843665811,-0.938469773531,-0.938502880325,-0.938535978494,-0.938569068035,-0.938602148949,-0.938635221236,-0.938668284895,-0.938701339926,-0.938734386328,-0.938767424102,-0.938800453247,-0.938833473763,-0.938866485649,-0.938899488906,-0.938932483532,-0.938965469528,-0.938998446893,-0.939031415627,-0.939064375729,-0.9390973272,-0.939130270039,-0.939163204246,-0.93919612982,-0.939229046761,-0.939261955069,-0.939294854743,-0.939327745784,-0.93936062819,-0.939393501962,-0.9394263671,-0.939459223602,-0.939492071469,-0.939524910701,-0.939557741296,-0.939590563256,-0.939623376579,-0.939656181265,-0.939688977314,-0.939721764725,-0.939754543499,-0.939787313635,-0.939820075132,-0.939852827991,-0.939885572211,-0.939918307792,-0.939951034733,-0.939983753034,-0.940016462695,-0.940049163716,-0.940081856096,-0.940114539835,-0.940147214933,-0.940179881389,-0.940212539203,-0.940245188375,-0.940277828904,-0.94031046079,-0.940343084034,-0.940375698634,-0.94040830459,-0.940440901902,-0.94047349057,-0.940506070593,-0.940538641972,-0.940571204705,-0.940603758792,-0.940636304234,-0.940668841029,-0.940701369179,-0.940733888681,-0.940766399536,-0.940798901744,-0.940831395305,-0.940863880217,-0.940896356482,-0.940928824098,-0.940961283065,-0.940993733382,-0.941026175051,-0.94105860807,-0.941091032438,-0.941123448157,-0.941155855225,-0.941188253642,-0.941220643407,-0.941253024521,-0.941285396984,-0.941317760794,-0.941350115952,-0.941382462457,-0.94141480031,-0.941447129509,-0.941479450054,-0.941511761946,-0.941544065183,-0.941576359766,-0.941608645694,-0.941640922967,-0.941673191585,-0.941705451547,-0.941737702853,-0.941769945503,-0.941802179496,-0.941834404832,-0.941866621512,-0.941898829534,-0.941931028898,-0.941963219604,-0.941995401652,-0.942027575041,-0.942059739771,-0.942091895842,-0.942124043254,-0.942156182005,-0.942188312097,-0.942220433528,-0.942252546299,-0.942284650408,-0.942316745857,-0.942348832643,-0.942380910768,-0.942412980231,-0.942445041031,-0.942477093168,-0.942509136643,-0.942541171454,-0.942573197601,-0.942605215085,-0.942637223904,-0.942669224059,-0.942701215549,-0.942733198374,-0.942765172533,-0.942797138027,-0.942829094855,-0.942861043016,-0.942892982511,-0.942924913339,-0.9429568355,-0.942988748994,-0.943020653819,-0.943052549977,-0.943084437466,-0.943116316287,-0.943148186438,-0.943180047921,-0.943211900734,-0.943243744877,-0.94327558035,-0.943307407153,-0.943339225285,-0.943371034746,-0.943402835536,-0.943434627654,-0.943466411101,-0.943498185875,-0.943529951977,-0.943561709406,-0.943593458162,-0.943625198245,-0.943656929654,-0.943688652389,-0.94372036645,-0.943752071837,-0.943783768549,-0.943815456586,-0.943847135947,-0.943878806633,-0.943910468643,-0.943942121976,-0.943973766634,-0.944005402614,-0.944037029917,-0.944068648543,-0.944100258491,-0.944131859761,-0.944163452353,-0.944195036267,-0.944226611501,-0.944258178057,-0.944289735933,-0.944321285129,-0.944352825646,-0.944384357482,-0.944415880637,-0.944447395112,-0.944478900905,-0.944510398017,-0.944541886447,-0.944573366196,-0.944604837261,-0.944636299645,-0.944667753345,-0.944699198362,-0.944730634696,-0.944762062346,-0.944793481312,-0.944824891594,-0.944856293191,-0.944887686103,-0.94491907033,-0.944950445871,-0.944981812727,-0.945013170896,-0.945044520379,-0.945075861176,-0.945107193285,-0.945138516708,-0.945169831442,-0.945201137489,-0.945232434848,-0.945263723519,-0.945295003501,-0.945326274794,-0.945357537398,-0.945388791312,-0.945420036536,-0.945451273071,-0.945482500914,-0.945513720068,-0.94554493053,-0.945576132301,-0.945607325381,-0.945638509768,-0.945669685464,-0.945700852467,-0.945732010777,-0.945763160395,-0.945794301319,-0.94582543355,-0.945856557087,-0.94588767193,-0.945918778078,-0.945949875532,-0.945980964291,-0.946012044354,-0.946043115722,-0.946074178394,-0.94610523237,-0.94613627765,-0.946167314233,-0.946198342119,-0.946229361308,-0.946260371799,-0.946291373592,-0.946322366688,-0.946353351084,-0.946384326783,-0.946415293782,-0.946446252082,-0.946477201682,-0.946508142583,-0.946539074784,-0.946569998284,-0.946600913083,-0.946631819182,-0.946662716579,-0.946693605275,-0.946724485269,-0.946755356561,-0.94678621915,-0.946817073037,-0.946847918221,-0.946878754702,-0.946909582479,-0.946940401552,-0.946971211922,-0.947002013587,-0.947032806547,-0.947063590803,-0.947094366353,-0.947125133198,-0.947155891336,-0.947186640769,-0.947217381496,-0.947248113516,-0.947278836829,-0.947309551435,-0.947340257333,-0.947370954524,-0.947401643006,-0.947432322781,-0.947462993846,-0.947493656203,-0.947524309851,-0.947554954789,-0.947585591018,-0.947616218536,-0.947646837344,-0.947677447442,-0.947708048829,-0.947738641505,-0.947769225469,-0.947799800721,-0.947830367262,-0.94786092509,-0.947891474206,-0.947922014609,-0.947952546299,-0.947983069276,-0.948013583539,-0.948044089088,-0.948074585922,-0.948105074043,-0.948135553448,-0.948166024138,-0.948196486113,-0.948226939373,-0.948257383916,-0.948287819744,-0.948318246855,-0.948348665249,-0.948379074926,-0.948409475886,-0.948439868128,-0.948470251652,-0.948500626459,-0.948530992547,-0.948561349916,-0.948591698566,-0.948622038497,-0.948652369708,-0.9486826922,-0.948713005971,-0.948743311023,-0.948773607353,-0.948803894963,-0.948834173851,-0.948864444018,-0.948894705463,-0.948924958186,-0.948955202187,-0.948985437465,-0.949015664021,-0.949045881853,-0.949076090961,-0.949106291347,-0.949136483008,-0.949166665944,-0.949196840157,-0.949227005644,-0.949257162406,-0.949287310444,-0.949317449755,-0.94934758034,-0.9493777022,-0.949407815332,-0.949437919738,-0.949468015417,-0.949498102369,-0.949528180593,-0.949558250089,-0.949588310857,-0.949618362897,-0.949648406208,-0.94967844079,-0.949708466643,-0.949738483766,-0.94976849216,-0.949798491823,-0.949828482756,-0.949858464959,-0.94988843843,-0.94991840317,-0.949948359179,-0.949978306457,-0.950008245002,-0.950038174815,-0.950068095895,-0.950098008243,-0.950127911857,-0.950157806738,-0.950187692886,-0.950217570299,-0.950247438979,-0.950277298924,-0.950307150134,-0.950336992609,-0.950366826349,-0.950396651353,-0.950426467621,-0.950456275154,-0.950486073949,-0.950515864009,-0.950545645331,-0.950575417916,-0.950605181764,-0.950634936874,-0.950664683245,-0.950694420879,-0.950724149774,-0.95075386993,-0.950783581347,-0.950813284024,-0.950842977962,-0.95087266316,-0.950902339618,-0.950932007335,-0.950961666312,-0.950991316547,-0.951020958041,-0.951050590794,-0.951080214804,-0.951109830073,-0.951139436599,-0.951169034383,-0.951198623423,-0.95122820372,-0.951257775274,-0.951287338084,-0.95131689215,-0.951346437472,-0.951375974049,-0.951405501882,-0.951435020969,-0.951464531311,-0.951494032907,-0.951523525757,-0.951553009861,-0.951582485219,-0.95161195183,-0.951641409694,-0.95167085881,-0.951700299179,-0.9517297308,-0.951759153673,-0.951788567798,-0.951817973174,-0.951847369801,-0.951876757679,-0.951906136808,-0.951935507187,-0.951964868816,-0.951994221694,-0.952023565822,-0.9520529012,-0.952082227826,-0.952111545701,-0.952140854824,-0.952170155195,-0.952199446814,-0.952228729681,-0.952258003795,-0.952287269157,-0.952316525765,-0.952345773619,-0.95237501272,-0.952404243066,-0.952433464659,-0.952462677497,-0.95249188158,-0.952521076908,-0.95255026348,-0.952579441297,-0.952608610358,-0.952637770663,-0.952666922211,-0.952696065003,-0.952725199038,-0.952754324315,-0.952783440835,-0.952812548597,-0.952841647601,-0.952870737847,-0.952899819334,-0.952928892063,-0.952957956032,-0.952987011242,-0.953016057692,-0.953045095382,-0.953074124312,-0.953103144482,-0.953132155891,-0.953161158539,-0.953190152425,-0.95321913755,-0.953248113914,-0.953277081515,-0.953306040354,-0.953334990431,-0.953363931744,-0.953392864295,-0.953421788082,-0.953450703105,-0.953479609365,-0.95350850686,-0.953537395591,-0.953566275557,-0.953595146758,-0.953624009194,-0.953652862865,-0.953681707769,-0.953710543908,-0.95373937128,-0.953768189886,-0.953796999725,-0.953825800797,-0.953854593101,-0.953883376638,-0.953912151407,-0.953940917408,-0.95396967464,-0.953998423104,-0.954027162799,-0.954055893724,-0.95408461588,-0.954113329267,-0.954142033883,-0.954170729729,-0.954199416804,-0.954228095109,-0.954256764643,-0.954285425405,-0.954314077396,-0.954342720615,-0.954371355061,-0.954399980736,-0.954428597638,-0.954457205767,-0.954485805122,-0.954514395704,-0.954542977513,-0.954571550548,-0.954600114808,-0.954628670294,-0.954657217005,-0.954685754941,-0.954714284102,-0.954742804488,-0.954771316097,-0.954799818931,-0.954828312988,-0.954856798269,-0.954885274772,-0.954913742499,-0.954942201448,-0.95497065162,-0.954999093014,-0.95502752563,-0.955055949467,-0.955084364526,-0.955112770805,-0.955141168306,-0.955169557027,-0.955197936968,-0.955226308129,-0.955254670511,-0.955283024111,-0.955311368931,-0.95533970497,-0.955368032227,-0.955396350703,-0.955424660398,-0.95545296131,-0.95548125344,-0.955509536787,-0.955537811351,-0.955566077133,-0.955594334131,-0.955622582345,-0.955650821776,-0.955679052422,-0.955707274284,-0.955735487361,-0.955763691654,-0.955791887161,-0.955820073883,-0.955848251819,-0.955876420969,-0.955904581333,-0.95593273291,-0.955960875701,-0.955989009705,-0.956017134921,-0.95604525135,-0.956073358991,-0.956101457844,-0.956129547909,-0.956157629186,-0.956185701673,-0.956213765372,-0.956241820281,-0.956269866401,-0.95629790373,-0.95632593227,-0.95635395202,-0.956381962978,-0.956409965146,-0.956437958523,-0.956465943109,-0.956493918902,-0.956521885904,-0.956549844114,-0.956577793531,-0.956605734156,-0.956633665988,-0.956661589027,-0.956689503272,-0.956717408723,-0.956745305381,-0.956773193244,-0.956801072313,-0.956828942588,-0.956856804067,-0.956884656751,-0.956912500639,-0.956940335732,-0.956968162029,-0.95699597953,-0.957023788234,-0.957051588141,-0.957079379251,-0.957107161564,-0.95713493508,-0.957162699798,-0.957190455717,-0.957218202839,-0.957245941162,-0.957273670686,-0.957301391411,-0.957329103336,-0.957356806463,-0.957384500789,-0.957412186315,-0.957439863041,-0.957467530967,-0.957495190091,-0.957522840414,-0.957550481937,-0.957578114657,-0.957605738576,-0.957633353692,-0.957660960006,-0.957688557518,-0.957716146227,-0.957743726132,-0.957771297234,-0.957798859533,-0.957826413028,-0.957853957718,-0.957881493604,-0.957909020686,-0.957936538962,-0.957964048434,-0.9579915491,-0.95801904096,-0.958046524015,-0.958073998263,-0.958101463705,-0.95812892034,-0.958156368169,-0.95818380719,-0.958211237404,-0.95823865881,-0.958266071408,-0.958293475198,-0.95832087018,-0.958348256352,-0.958375633716,-0.958403002271,-0.958430362017,-0.958457712952,-0.958485055078,-0.958512388394,-0.958539712899,-0.958567028593,-0.958594335476,-0.958621633549,-0.95864892281,-0.958676203259,-0.958703474896,-0.958730737721,-0.958757991733,-0.958785236933,-0.95881247332,-0.958839700894,-0.958866919654,-0.958894129601,-0.958921330733,-0.958948523052,-0.958975706556,-0.959002881245,-0.959030047119,-0.959057204178,-0.959084352422,-0.95911149185,-0.959138622462,-0.959165744258,-0.959192857237,-0.9592199614,-0.959247056745,-0.959274143274,-0.959301220985,-0.959328289878,-0.959355349954,-0.959382401211,-0.95940944365,-0.95943647727,-0.959463502071,-0.959490518053,-0.959517525216,-0.959544523559,-0.959571513082,-0.959598493785,-0.959625465667,-0.959652428729,-0.95967938297,-0.959706328389,-0.959733264988,-0.959760192764,-0.959787111719,-0.959814021851,-0.959840923161,-0.959867815649,-0.959894699313,-0.959921574155,-0.959948440173,-0.959975297367,-0.960002145738,-0.960028985284,-0.960055816006,-0.960082637903,-0.960109450976,-0.960136255223,-0.960163050645,-0.960189837241,-0.960216615012,-0.960243383956,-0.960270144074,-0.960296895366,-0.96032363783,-0.960350371468,-0.960377096278,-0.960403812261,-0.960430519416,-0.960457217742,-0.960483907241,-0.96051058791,-0.960537259752,-0.960563922763,-0.960590576946,-0.960617222299,-0.960643858823,-0.960670486516,-0.960697105379,-0.960723715411,-0.960750316613,-0.960776908984,-0.960803492523,-0.960830067231,-0.960856633108,-0.960883190152,-0.960909738364,-0.960936277743,-0.96096280829,-0.960989330004,-0.961015842885,-0.961042346932,-0.961068842146,-0.961095328525,-0.96112180607,-0.961148274781,-0.961174734658,-0.961201185699,-0.961227627905,-0.961254061276,-0.961280485811,-0.961306901511,-0.961333308374,-0.961359706401,-0.961386095591,-0.961412475944,-0.96143884746,-0.961465210139,-0.961491563981,-0.961517908984,-0.961544245149,-0.961570572477,-0.961596890965,-0.961623200615,-0.961649501426,-0.961675793397,-0.961702076529,-0.961728350821,-0.961754616274,-0.961780872885,-0.961807120657,-0.961833359588,-0.961859589677,-0.961885810926,-0.961912023333,-0.961938226899,-0.961964421622,-0.961990607503,-0.962016784542,-0.962042952739,-0.962069112092,-0.962095262602,-0.962121404269,-0.962147537092,-0.962173661072,-0.962199776207,-0.962225882498,-0.962251979944,-0.962278068546,-0.962304148302,-0.962330219214,-0.962356281279,-0.962382334499,-0.962408378873,-0.962434414401,-0.962460441082,-0.962486458917,-0.962512467904,-0.962538468044,-0.962564459337,-0.962590441782,-0.96261641538,-0.962642380129,-0.962668336029,-0.962694283081,-0.962720221284,-0.962746150638,-0.962772071143,-0.962797982798,-0.962823885603,-0.962849779559,-0.962875664663,-0.962901540918,-0.962927408321,-0.962953266874,-0.962979116575,-0.963004957425,-0.963030789423,-0.963056612569,-0.963082426863,-0.963108232304,-0.963134028893,-0.963159816628,-0.963185595511,-0.96321136554,-0.963237126716,-0.963262879038,-0.963288622505,-0.963314357118,-0.963340082877,-0.963365799781,-0.96339150783,-0.963417207023,-0.963442897361,-0.963468578844,-0.96349425147,-0.96351991524,-0.963545570153,-0.96357121621,-0.96359685341,-0.963622481753,-0.963648101238,-0.963673711866,-0.963699313636,-0.963724906547,-0.963750490601,-0.963776065795,-0.963801632131,-0.963827189608,-0.963852738226,-0.963878277984,-0.963903808882,-0.96392933092,-0.963954844098,-0.963980348416,-0.964005843873,-0.964031330469,-0.964056808204,-0.964082277077,-0.964107737089,-0.964133188239,-0.964158630526,-0.964184063952,-0.964209488515,-0.964234904215,-0.964260311052,-0.964285709025,-0.964311098136,-0.964336478382,-0.964361849765,-0.964387212283,-0.964412565937,-0.964437910726,-0.96446324665,-0.964488573709,-0.964513891903,-0.964539201231,-0.964564501694,-0.96458979329,-0.96461507602,-0.964640349883,-0.96466561488,-0.964690871009,-0.964716118272,-0.964741356667,-0.964766586194,-0.964791806853,-0.964817018645,-0.964842221567,-0.964867415622,-0.964892600807,-0.964917777123,-0.96494294457,-0.964968103147,-0.964993252855,-0.965018393692,-0.96504352566,-0.965068648757,-0.965093762983,-0.965118868338,-0.965143964822,-0.965169052435,-0.965194131176,-0.965219201045,-0.965244262042,-0.965269314167,-0.965294357419,-0.965319391798,-0.965344417305,-0.965369433938,-0.965394441698,-0.965419440584,-0.965444430596,-0.965469411734,-0.965494383997,-0.965519347386,-0.9655443019,-0.965569247539,-0.965594184303,-0.965619112191,-0.965644031204,-0.96566894134,-0.9656938426,-0.965718734984,-0.965743618491,-0.965768493121,-0.965793358874,-0.96581821575,-0.965843063748,-0.965867902868,-0.96589273311,-0.965917554474,-0.965942366959,-0.965967170566,-0.965991965294,-0.966016751142,-0.966041528111,-0.966066296201,-0.96609105541,-0.96611580574,-0.966140547189,-0.966165279758,-0.966190003445,-0.966214718252,-0.966239424178,-0.966264121222,-0.966288809384,-0.966313488665,-0.966338159063,-0.966362820579,-0.966387473212,-0.966412116963,-0.96643675183,-0.966461377814,-0.966485994915,-0.966510603132,-0.966535202465,-0.966559792914,-0.966584374478,-0.966608947158,-0.966633510953,-0.966658065863,-0.966682611887,-0.966707149026,-0.966731677279,-0.966756196647,-0.966780707128,-0.966805208722,-0.96682970143,-0.966854185251,-0.966878660185,-0.966903126232,-0.966927583391,-0.966952031662,-0.966976471045,-0.96700090154,-0.967025323146,-0.967049735864,-0.967074139693,-0.967098534633,-0.967122920683,-0.967147297844,-0.967171666115,-0.967196025496,-0.967220375986,-0.967244717586,-0.967269050296,-0.967293374114,-0.967317689042,-0.967341995078,-0.967366292222,-0.967390580475,-0.967414859835,-0.967439130304,-0.96746339188,-0.967487644563,-0.967511888353,-0.96753612325,-0.967560349253,-0.967584566363,-0.967608774579,-0.967632973902,-0.967657164329,-0.967681345863,-0.967705518501,-0.967729682245,-0.967753837093,-0.967777983047,-0.967802120104,-0.967826248266,-0.967850367531,-0.967874477901,-0.967898579374,-0.96792267195,-0.967946755629,-0.967970830411,-0.967994896296,-0.968018953283,-0.968043001372,-0.968067040563,-0.968091070856,-0.968115092251,-0.968139104746,-0.968163108343,-0.968187103041,-0.968211088839,-0.968235065738,-0.968259033737,-0.968282992836,-0.968306943034,-0.968330884332,-0.96835481673,-0.968378740226,-0.968402654822,-0.968426560516,-0.968450457308,-0.968474345199,-0.968498224188,-0.968522094274,-0.968545955458,-0.96856980774,-0.968593651118,-0.968617485594,-0.968641311166,-0.968665127834,-0.968688935599,-0.96871273446,-0.968736524416,-0.968760305469,-0.968784077616,-0.968807840859,-0.968831595196,-0.968855340629,-0.968879077155,-0.968902804776,-0.968926523492,-0.9689502333,-0.968973934203,-0.968997626199,-0.969021309288,-0.96904498347,-0.969068648745,-0.969092305113,-0.969115952572,-0.969139591124,-0.969163220768,-0.969186841503,-0.96921045333,-0.969234056248,-0.969257650257,-0.969281235357,-0.969304811547,-0.969328378828,-0.969351937199,-0.969375486659,-0.96939902721,-0.96942255885,-0.969446081579,-0.969469595397,-0.969493100305,-0.9695165963,-0.969540083385,-0.969563561557,-0.969587030817,-0.969610491166,-0.969633942601,-0.969657385124,-0.969680818734,-0.969704243431,-0.969727659215,-0.969751066085,-0.969774464042,-0.969797853084,-0.969821233213,-0.969844604427,-0.969867966726,-0.969891320111,-0.96991466458,-0.969938000134,-0.969961326773,-0.969984644496,-0.970007953303,-0.970031253195,-0.970054544169,-0.970077826228,-0.970101099369,-0.970124363594,-0.970147618901,-0.970170865291,-0.970194102763,-0.970217331318,-0.970240550955,-0.970263761673,-0.970286963473,-0.970310156354,-0.970333340316,-0.970356515359,-0.970379681483,-0.970402838688,-0.970425986972,-0.970449126337,-0.970472256781,-0.970495378306,-0.970518490909,-0.970541594592,-0.970564689354,-0.970587775194,-0.970610852113,-0.970633920111,-0.970656979186,-0.97068002934,-0.970703070571,-0.97072610288,-0.970749126266,-0.970772140729,-0.970795146269,-0.970818142886,-0.970841130579,-0.970864109348,-0.970887079193,-0.970910040115,-0.970932992111,-0.970955935184,-0.970978869331,-0.971001794553,-0.97102471085,-0.971047618222,-0.971070516668,-0.971093406188,-0.971116286782,-0.97113915845,-0.971162021191,-0.971184875005,-0.971207719893,-0.971230555853,-0.971253382887,-0.971276200992,-0.97129901017,-0.97132181042,-0.971344601741,-0.971367384135,-0.971390157599,-0.971412922135,-0.971435677742,-0.97145842442,-0.971481162168,-0.971503890986,-0.971526610875,-0.971549321833,-0.971572023862,-0.97159471696,-0.971617401127,-0.971640076363,-0.971662742668,-0.971685400042,-0.971708048484,-0.971730687995,-0.971753318574,-0.97177594022,-0.971798552934,-0.971821156716,-0.971843751564,-0.97186633748,-0.971888914463,-0.971911482512,-0.971934041628,-0.97195659181,-0.971979133057,-0.972001665371,-0.97202418875,-0.972046703195,-0.972069208704,-0.972091705279,-0.972114192918,-0.972136671622,-0.97215914139,-0.972181602223,-0.972204054119,-0.972226497079,-0.972248931102,-0.972271356189,-0.972293772339,-0.972316179552,-0.972338577827,-0.972360967165,-0.972383347565,-0.972405719027,-0.972428081552,-0.972450435137,-0.972472779784,-0.972495115493,-0.972517442262,-0.972539760093,-0.972562068983,-0.972584368935,-0.972606659946,-0.972628942018,-0.972651215149,-0.97267347934,-0.97269573459,-0.9727179809,-0.972740218268,-0.972762446696,-0.972784666182,-0.972806876726,-0.972829078328,-0.972851270989,-0.972873454707,-0.972895629482,-0.972917795315,-0.972939952206,-0.972962100153,-0.972984239157,-0.973006369217,-0.973028490334,-0.973050602507,-0.973072705735,-0.97309480002,-0.97311688536,-0.973138961755,-0.973161029206,-0.973183087711,-0.973205137271,-0.973227177886,-0.973249209555,-0.973271232278,-0.973293246055,-0.973315250885,-0.973337246769,-0.973359233707,-0.973381211697,-0.973403180741,-0.973425140837,-0.973447091985,-0.973469034186,-0.973490967439,-0.973512891744,-0.9735348071,-0.973556713508,-0.973578610967,-0.973600499478,-0.973622379039,-0.973644249651,-0.973666111313,-0.973687964026,-0.973709807788,-0.973731642601,-0.973753468463,-0.973775285375,-0.973797093336,-0.973818892346,-0.973840682405,-0.973862463512,-0.973884235668,-0.973905998872,-0.973927753125,-0.973949498425,-0.973971234773,-0.973992962168,-0.974014680611,-0.9740363901,-0.974058090637,-0.97407978222,-0.97410146485,-0.974123138525,-0.974144803247,-0.974166459015,-0.974188105829,-0.974209743688,-0.974231372592,-0.974252992541,-0.974274603536,-0.974296205575,-0.974317798658,-0.974339382786,-0.974360957957,-0.974382524173,-0.974404081432,-0.974425629735,-0.974447169081,-0.97446869947,-0.974490220902,-0.974511733377,-0.974533236894,-0.974554731454,-0.974576217056,-0.974597693699,-0.974619161384,-0.974640620111,-0.974662069879,-0.974683510689,-0.974704942539,-0.974726365429,-0.974747779361,-0.974769184333,-0.974790580344,-0.974811967396,-0.974833345488,-0.974854714619,-0.974876074789,-0.974897425999,-0.974918768247,-0.974940101534,-0.97496142586,-0.974982741224,-0.975004047627,-0.975025345067,-0.975046633545,-0.975067913061,-0.975089183614,-0.975110445204,-0.975131697831,-0.975152941495,-0.975174176196,-0.975195401933,-0.975216618706,-0.975237826516,-0.975259025361,-0.975280215241,-0.975301396158,-0.975322568109,-0.975343731095,-0.975364885117,-0.975386030173,-0.975407166263,-0.975428293388,-0.975449411546,-0.975470520739,-0.975491620965,-0.975512712225,-0.975533794518,-0.975554867844,-0.975575932204,-0.975596987595,-0.97561803402,-0.975639071476,-0.975660099965,-0.975681119486,-0.975702130039,-0.975723131623,-0.975744124238,-0.975765107885,-0.975786082562,-0.975807048271,-0.975828005009,-0.975848952779,-0.975869891578,-0.975890821408,-0.975911742267,-0.975932654156,-0.975953557075,-0.975974451022,-0.975995335999,-0.976016212005,-0.976037079039,-0.976057937102,-0.976078786193,-0.976099626312,-0.976120457459,-0.976141279634,-0.976162092836,-0.976182897066,-0.976203692322,-0.976224478606,-0.976245255916,-0.976266024253,-0.976286783617,-0.976307534006,-0.976328275422,-0.976349007863,-0.97636973133,-0.976390445822,-0.97641115134,-0.976431847883,-0.97645253545,-0.976473214042,-0.976493883659,-0.9765145443,-0.976535195965,-0.976555838653,-0.976576472366,-0.976597097102,-0.976617712862,-0.976638319644,-0.97665891745,-0.976679506278,-0.976700086129,-0.976720657002,-0.976741218897,-0.976761771815,-0.976782315754,-0.976802850715,-0.976823376697,-0.976843893701,-0.976864401725,-0.976884900771,-0.976905390837,-0.976925871924,-0.976946344031,-0.976966807158,-0.976987261305,-0.977007706471,-0.977028142658,-0.977048569863,-0.977068988088,-0.977089397332,-0.977109797595,-0.977130188876,-0.977150571176,-0.977170944494,-0.97719130883,-0.977211664184,-0.977232010555,-0.977252347944,-0.977272676351,-0.977292995774,-0.977313306214,-0.977333607671,-0.977353900145,-0.977374183635,-0.977394458142,-0.977414723664,-0.977434980202,-0.977455227756,-0.977475466325,-0.977495695909,-0.977515916509,-0.977536128123,-0.977556330752,-0.977576524396,-0.977596709053,-0.977616884725,-0.977637051411,-0.977657209111,-0.977677357825,-0.977697497551,-0.977717628291,-0.977737750044,-0.97775786281,-0.977777966588,-0.977798061379,-0.977818147183,-0.977838223998,-0.977858291825,-0.977878350664,-0.977898400515,-0.977918441377,-0.97793847325,-0.977958496134,-0.977978510029,-0.977998514935,-0.978018510851,-0.978038497777,-0.978058475713,-0.978078444659,-0.978098404615,-0.978118355581,-0.978138297556,-0.97815823054,-0.978178154533,-0.978198069534,-0.978217975545,-0.978237872564,-0.978257760591,-0.978277639626,-0.978297509669,-0.97831737072,-0.978337222778,-0.978357065843,-0.978376899916,-0.978396724996,-0.978416541082,-0.978436348175,-0.978456146275,-0.978475935381,-0.978495715492,-0.97851548661,-0.978535248733,-0.978555001862,-0.978574745997,-0.978594481136,-0.97861420728,-0.978633924429,-0.978653632583,-0.978673331741,-0.978693021904,-0.97871270307,-0.978732375241,-0.978752038415,-0.978771692592,-0.978791337773,-0.978810973957,-0.978830601144,-0.978850219334,-0.978869828527,-0.978889428721,-0.978909019919,-0.978928602118,-0.978948175319,-0.978967739522,-0.978987294726,-0.979006840932,-0.979026378139,-0.979045906347,-0.979065425556,-0.979084935765,-0.979104436975,-0.979123929185,-0.979143412395,-0.979162886606,-0.979182351816,-0.979201808025,-0.979221255234,-0.979240693442,-0.979260122649,-0.979279542855,-0.97929895406,-0.979318356263,-0.979337749464,-0.979357133664,-0.979376508861,-0.979395875057,-0.97941523225,-0.97943458044,-0.979453919628,-0.979473249812,-0.979492570994,-0.979511883172,-0.979531186347,-0.979550480518,-0.979569765685,-0.979589041849,-0.979608309008,-0.979627567163,-0.979646816313,-0.979666056459,-0.979685287599,-0.979704509735,-0.979723722866,-0.979742926991,-0.97976212211,-0.979781308224,-0.979800485331,-0.979819653433,-0.979838812528,-0.979857962617,-0.9798771037,-0.979896235775,-0.979915358843,-0.979934472905,-0.979953577958,-0.979972674005,-0.979991761043,-0.980010839074,-0.980029908097,-0.980048968112,-0.980068019118,-0.980087061115,-0.980106094104,-0.980125118084,-0.980144133055,-0.980163139016,-0.980182135968,-0.980201123911,-0.980220102843,-0.980239072766,-0.980258033678,-0.98027698558,-0.980295928472,-0.980314862353,-0.980333787223,-0.980352703082,-0.98037160993,-0.980390507767,-0.980409396592,-0.980428276405,-0.980447147207,-0.980466008996,-0.980484861773,-0.980503705538,-0.98052254029,-0.98054136603,-0.980560182756,-0.98057899047,-0.98059778917,-0.980616578857,-0.98063535953,-0.980654131189,-0.980672893834,-0.980691647465,-0.980710392082,-0.980729127685,-0.980747854272,-0.980766571845,-0.980785280403,-0.980803979946,-0.980822670473,-0.980841351985,-0.980860024482,-0.980878687962,-0.980897342426,-0.980915987874,-0.980934624306,-0.980953251721,-0.98097187012,-0.980990479502,-0.981009079866,-0.981027671213,-0.981046253543,-0.981064826856,-0.98108339115,-0.981101946427,-0.981120492686,-0.981139029926,-0.981157558148,-0.981176077352,-0.981194587536,-0.981213088702,-0.981231580849,-0.981250063976,-0.981268538084,-0.981287003172,-0.981305459241,-0.981323906289,-0.981342344318,-0.981360773326,-0.981379193314,-0.981397604281,-0.981416006227,-0.981434399152,-0.981452783057,-0.98147115794,-0.981489523801,-0.981507880641,-0.981526228459,-0.981544567255,-0.981562897028,-0.98158121778,-0.981599529509,-0.981617832215,-0.981636125899,-0.98165441056,-0.981672686197,-0.981690952811,-0.981709210402,-0.981727458969,-0.981745698512,-0.981763929031,-0.981782150526,-0.981800362996,-0.981818566443,-0.981836760864,-0.981854946261,-0.981873122632,-0.981891289979,-0.9819094483,-0.981927597595,-0.981945737865,-0.98196386911,-0.981981991328,-0.98200010452,-0.982018208685,-0.982036303824,-0.982054389937,-0.982072467022,-0.982090535081,-0.982108594113,-0.982126644117,-0.982144685093,-0.982162717042,-0.982180739963,-0.982198753856,-0.982216758721,-0.982234754558,-0.982252741366,-0.982270719146,-0.982288687896,-0.982306647618,-0.982324598311,-0.982342539974,-0.982360472608,-0.982378396212,-0.982396310786,-0.98241421633,-0.982432112845,-0.982450000328,-0.982467878782,-0.982485748205,-0.982503608597,-0.982521459958,-0.982539302287,-0.982557135586,-0.982574959853,-0.982592775089,-0.982610581292,-0.982628378464,-0.982646166604,-0.982663945711,-0.982681715786,-0.982699476829,-0.982717228838,-0.982734971815,-0.982752705758,-0.982770430669,-0.982788146546,-0.982805853389,-0.982823551199,-0.982841239974,-0.982858919716,-0.982876590423,-0.982894252096,-0.982911904735,-0.982929548339,-0.982947182908,-0.982964808441,-0.98298242494,-0.983000032403,-0.983017630831,-0.983035220223,-0.983052800579,-0.983070371899,-0.983087934184,-0.983105487431,-0.983123031642,-0.983140566817,-0.983158092955,-0.983175610055,-0.983193118119,-0.983210617145,-0.983228107134,-0.983245588085,-0.983263059999,-0.983280522874,-0.983297976712,-0.983315421511,-0.983332857272,-0.983350283994,-0.983367701677,-0.983385110322,-0.983402509927,-0.983419900493,-0.98343728202,-0.983454654507,-0.983472017955,-0.983489372362,-0.98350671773,-0.983524054058,-0.983541381345,-0.983558699591,-0.983576008797,-0.983593308962,-0.983610600087,-0.98362788217,-0.983645155211,-0.983662419212,-0.98367967417,-0.983696920087,-0.983714156962,-0.983731384795,-0.983748603586,-0.983765813334,-0.98378301404,-0.983800205703,-0.983817388323,-0.9838345619,-0.983851726434,-0.983868881924,-0.983886028371,-0.983903165774,-0.983920294134,-0.983937413449,-0.983954523721,-0.983971624948,-0.98398871713,-0.984005800268,-0.984022874361,-0.98403993941,-0.984056995413,-0.984074042371,-0.984091080283,-0.98410810915,-0.984125128972,-0.984142139747,-0.984159141476,-0.98417613416,-0.984193117797,-0.984210092387,-0.984227057931,-0.984244014428,-0.984260961878,-0.98427790028,-0.984294829636,-0.984311749944,-0.984328661205,-0.984345563418,-0.984362456583,-0.984379340699,-0.984396215768,-0.984413081789,-0.98442993876,-0.984446786684,-0.984463625558,-0.984480455383,-0.984497276159,-0.984514087886,-0.984530890564,-0.984547684192,-0.98456446877,-0.984581244298,-0.984598010776,-0.984614768204,-0.984631516582,-0.984648255909,-0.984664986185,-0.984681707411,-0.984698419586,-0.984715122709,-0.984731816781,-0.984748501802,-0.984765177771,-0.984781844688,-0.984798502554,-0.984815151367,-0.984831791128,-0.984848421837,-0.984865043494,-0.984881656097,-0.984898259648,-0.984914854146,-0.984931439591,-0.984948015982,-0.98496458332,-0.984981141605,-0.984997690835,-0.985014231012,-0.985030762135,-0.985047284204,-0.985063797218,-0.985080301178,-0.985096796083,-0.985113281933,-0.985129758728,-0.985146226469,-0.985162685154,-0.985179134783,-0.985195575357,-0.985212006876,-0.985228429338,-0.985244842745,-0.985261247095,-0.985277642389,-0.985294028626,-0.985310405807,-0.985326773932,-0.985343132999,-0.985359483009,-0.985375823962,-0.985392155858,-0.985408478696,-0.985424792476,-0.985441097199,-0.985457392864,-0.98547367947,-0.985489957018,-0.985506225508,-0.98552248494,-0.985538735312,-0.985554976626,-0.985571208881,-0.985587432076,-0.985603646213,-0.985619851289,-0.985636047307,-0.985652234264,-0.985668412162,-0.985684580999,-0.985700740776,-0.985716891493,-0.98573303315,-0.985749165746,-0.985765289281,-0.985781403755,-0.985797509168,-0.985813605519,-0.98582969281,-0.985845771038,-0.985861840206,-0.985877900311,-0.985893951354,-0.985909993335,-0.985926026254,-0.985942050111,-0.985958064905,-0.985974070636,-0.985990067304,-0.98600605491,-0.986022033452,-0.986038002931,-0.986053963346,-0.986069914698,-0.986085856986,-0.98610179021,-0.986117714371,-0.986133629467,-0.986149535498,-0.986165432465,-0.986181320368,-0.986197199206,-0.986213068979,-0.986228929686,-0.986244781329,-0.986260623906,-0.986276457418,-0.986292281864,-0.986308097245,-0.986323903559,-0.986339700807,-0.986355488989,-0.986371268105,-0.986387038154,-0.986402799137,-0.986418551053,-0.986434293902,-0.986450027683,-0.986465752398,-0.986481468045,-0.986497174625,-0.986512872136,-0.986528560581,-0.986544239957,-0.986559910265,-0.986575571505,-0.986591223676,-0.986606866779,-0.986622500813,-0.986638125778,-0.986653741675,-0.986669348502,-0.98668494626,-0.986700534949,-0.986716114568,-0.986731685117,-0.986747246597,-0.986762799007,-0.986778342346,-0.986793876615,-0.986809401814,-0.986824917943,-0.986840425,-0.986855922987,-0.986871411903,-0.986886891748,-0.986902362521,-0.986917824223,-0.986933276854,-0.986948720413,-0.9869641549,-0.986979580315,-0.986994996658,-0.987010403928,-0.987025802127,-0.987041191253,-0.987056571306,-0.987071942286,-0.987087304193,-0.987102657028,-0.987118000789,-0.987133335477,-0.987148661091,-0.987163977631,-0.987179285098,-0.987194583491,-0.987209872809,-0.987225153054,-0.987240424224,-0.987255686319,-0.98727093934,-0.987286183287,-0.987301418158,-0.987316643954,-0.987331860675,-0.987347068321,-0.987362266891,-0.987377456385,-0.987392636804,-0.987407808147,-0.987422970414,-0.987438123605,-0.987453267719,-0.987468402757,-0.987483528718,-0.987498645603,-0.98751375341,-0.987528852141,-0.987543941794,-0.987559022371,-0.987574093869,-0.987589156291,-0.987604209634,-0.9876192539,-0.987634289087,-0.987649315197,-0.987664332228,-0.987679340181,-0.987694339055,-0.987709328851,-0.987724309568,-0.987739281206,-0.987754243765,-0.987769197244,-0.987784141645,-0.987799076965,-0.987814003206,-0.987828920368,-0.987843828449,-0.987858727451,-0.987873617372,-0.987888498213,-0.987903369973,-0.987918232653,-0.987933086252,-0.98794793077,-0.987962766207,-0.987977592563,-0.987992409838,-0.988007218031,-0.988022017143,-0.988036807173,-0.988051588122,-0.988066359988,-0.988081122772,-0.988095876474,-0.988110621094,-0.988125356631,-0.988140083086,-0.988154800457,-0.988169508746,-0.988184207952,-0.988198898075,-0.988213579114,-0.98822825107,-0.988242913942,-0.988257567731,-0.988272212435,-0.988286848056,-0.988301474593,-0.988316092045,-0.988330700413,-0.988345299697,-0.988359889895,-0.988374471009,-0.988389043038,-0.988403605982,-0.988418159841,-0.988432704615,-0.988447240303,-0.988461766905,-0.988476284422,-0.988490792853,-0.988505292198,-0.988519782456,-0.988534263629,-0.988548735715,-0.988563198714,-0.988577652627,-0.988592097453,-0.988606533192,-0.988620959844,-0.988635377409,-0.988649785887,-0.988664185277,-0.98867857558,-0.988692956794,-0.988707328921,-0.98872169196,-0.988736045911,-0.988750390774,-0.988764726548,-0.988779053234,-0.988793370831,-0.988807679339,-0.988821978758,-0.988836269089,-0.98885055033,-0.988864822482,-0.988879085544,-0.988893339517,-0.9889075844,-0.988921820194,-0.988936046897,-0.98895026451,-0.988964473033,-0.988978672466,-0.988992862808,-0.98900704406,-0.989021216221,-0.989035379291,-0.98904953327,-0.989063678158,-0.989077813955,-0.98909194066,-0.989106058273,-0.989120166796,-0.989134266226,-0.989148356564,-0.989162437811,-0.989176509965,-0.989190573027,-0.989204626996,-0.989218671873,-0.989232707657,-0.989246734349,-0.989260751947,-0.989274760452,-0.989288759865,-0.989302750183,-0.989316731409,-0.989330703541,-0.989344666579,-0.989358620523,-0.989372565373,-0.989386501129,-0.989400427791,-0.989414345359,-0.989428253832,-0.989442153211,-0.989456043494,-0.989469924683,-0.989483796777,-0.989497659776,-0.989511513679,-0.989525358487,-0.9895391942,-0.989553020817,-0.989566838338,-0.989580646764,-0.989594446093,-0.989608236326,-0.989622017463,-0.989635789504,-0.989649552448,-0.989663306295,-0.989677051046,-0.989690786699,-0.989704513256,-0.989718230716,-0.989731939078,-0.989745638343,-0.98975932851,-0.98977300958,-0.989786681552,-0.989800344426,-0.989813998202,-0.989827642879,-0.989841278459,-0.98985490494,-0.989868522322,-0.989882130606,-0.989895729791,-0.989909319878,-0.989922900865,-0.989936472753,-0.989950035542,-0.989963589231,-0.989977133821,-0.989990669311,-0.990004195701,-0.990017712992,-0.990031221182,-0.990044720272,-0.990058210262,-0.990071691152,-0.990085162941,-0.990098625629,-0.990112079217,-0.990125523704,-0.990138959089,-0.990152385374,-0.990165802557,-0.990179210639,-0.99019260962,-0.990205999498,-0.990219380275,-0.99023275195,-0.990246114523,-0.990259467994,-0.990272812363,-0.99028614763,-0.990299473793,-0.990312790855,-0.990326098813,-0.990339397669,-0.990352687421,-0.990365968071,-0.990379239617,-0.99039250206,-0.9904057554,-0.990418999635,-0.990432234768,-0.990445460796,-0.99045867772,-0.99047188554,-0.990485084256,-0.990498273868,-0.990511454375,-0.990524625778,-0.990537788076,-0.990550941269,-0.990564085358,-0.990577220341,-0.990590346219,-0.990603462992,-0.990616570659,-0.990629669221,-0.990642758677,-0.990655839027,-0.990668910272,-0.99068197241,-0.990695025443,-0.990708069369,-0.990721104188,-0.990734129902,-0.990747146508,-0.990760154008,-0.990773152401,-0.990786141687,-0.990799121866,-0.990812092938,-0.990825054902,-0.990838007759,-0.990850951508,-0.99086388615,-0.990876811684,-0.99088972811,-0.990902635428,-0.990915533638,-0.990928422739,-0.990941302732,-0.990954173617,-0.990967035392,-0.99097988806,-0.990992731618,-0.991005566067,-0.991018391407,-0.991031207638,-0.99104401476,-0.991056812772,-0.991069601674,-0.991082381467,-0.99109515215,-0.991107913723,-0.991120666186,-0.991133409539,-0.991146143782,-0.991158868914,-0.991171584936,-0.991184291847,-0.991196989647,-0.991209678336,-0.991222357915,-0.991235028382,-0.991247689738,-0.991260341983,-0.991272985116,-0.991285619138,-0.991298244048,-0.991310859846,-0.991323466532,-0.991336064107,-0.991348652569,-0.991361231919,-0.991373802156,-0.991386363281,-0.991398915294,-0.991411458193,-0.99142399198,-0.991436516654,-0.991449032215,-0.991461538662,-0.991474035997,-0.991486524218,-0.991499003325,-0.991511473319,-0.991523934199,-0.991536385965,-0.991548828617,-0.991561262155,-0.991573686579,-0.991586101888,-0.991598508083,-0.991610905163,-0.991623293129,-0.99163567198,-0.991648041716,-0.991660402337,-0.991672753843,-0.991685096234,-0.991697429509,-0.991709753669,-0.991722068713,-0.991734374642,-0.991746671455,-0.991758959152,-0.991771237732,-0.991783507197,-0.991795767545,-0.991808018777,-0.991820260893,-0.991832493892,-0.991844717774,-0.991856932539,-0.991869138188,-0.991881334719,-0.991893522134,-0.991905700431,-0.99191786961,-0.991930029672,-0.991942180617,-0.991954322444,-0.991966455153,-0.991978578744,-0.991990693216,-0.992002798571,-0.992014894808,-0.992026981926,-0.992039059925,-0.992051128806,-0.992063188569,-0.992075239212,-0.992087280737,-0.992099313142,-0.992111336428,-0.992123350596,-0.992135355643,-0.992147351571,-0.99215933838,-0.992171316069,-0.992183284638,-0.992195244087,-0.992207194416,-0.992219135625,-0.992231067713,-0.992242990681,-0.992254904529,-0.992266809256,-0.992278704863,-0.992290591348,-0.992302468713,-0.992314336957,-0.992326196079,-0.99233804608,-0.99234988696,-0.992361718719,-0.992373541356,-0.992385354871,-0.992397159264,-0.992408954536,-0.992420740685,-0.992432517713,-0.992444285618,-0.992456044401,-0.992467794061,-0.992479534599,-0.992491266014,-0.992502988306,-0.992514701476,-0.992526405522,-0.992538100446,-0.992549786246,-0.992561462923,-0.992573130476,-0.992584788906,-0.992596438213,-0.992608078395,-0.992619709454,-0.992631331389,-0.9926429442,-0.992654547887,-0.992666142449,-0.992677727887,-0.9926893042,-0.992700871389,-0.992712429454,-0.992723978393,-0.992735518208,-0.992747048897,-0.992758570462,-0.992770082901,-0.992781586215,-0.992793080403,-0.992804565466,-0.992816041403,-0.992827508215,-0.9928389659,-0.99285041446,-0.992861853893,-0.992873284201,-0.992884705382,-0.992896117437,-0.992907520365,-0.992918914167,-0.992930298842,-0.99294167439,-0.992953040811,-0.992964398105,-0.992975746273,-0.992987085312,-0.992998415225,-0.99300973601,-0.993021047668,-0.993032350198,-0.9930436436,-0.993054927875,-0.993066203021,-0.993077469039,-0.99308872593,-0.993099973692,-0.993111212325,-0.99312244183,-0.993133662207,-0.993144873455,-0.993156075574,-0.993167268564,-0.993178452426,-0.993189627158,-0.993200792761,-0.993211949235,-0.993223096579,-0.993234234794,-0.993245363879,-0.993256483835,-0.993267594661,-0.993278696356,-0.993289788922,-0.993300872358,-0.993311946664,-0.993323011839,-0.993334067884,-0.993345114798,-0.993356152582,-0.993367181235,-0.993378200757,-0.993389211148,-0.993400212408,-0.993411204537,-0.993422187535,-0.993433161402,-0.993444126137,-0.993455081741,-0.993466028213,-0.993476965553,-0.993487893761,-0.993498812838,-0.993509722782,-0.993520623595,-0.993531515275,-0.993542397822,-0.993553271238,-0.993564135521,-0.993574990671,-0.993585836688,-0.993596673573,-0.993607501325,-0.993618319943,-0.993629129429,-0.993639929781,-0.993650721,-0.993661503086,-0.993672276038,-0.993683039856,-0.993693794541,-0.993704540092,-0.993715276509,-0.993726003792,-0.993736721941,-0.993747430955,-0.993758130836,-0.993768821582,-0.993779503193,-0.99379017567,-0.993800839012,-0.993811493219,-0.993822138292,-0.993832774229,-0.993843401031,-0.993854018698,-0.99386462723,-0.993875226626,-0.993885816887,-0.993896398013,-0.993906970002,-0.993917532856,-0.993928086574,-0.993938631156,-0.993949166602,-0.993959692912,-0.993970210085,-0.993980718123,-0.993991217023,-0.994001706787,-0.994012187415,-0.994022658906,-0.99403312126,-0.994043574477,-0.994054018557,-0.994064453499,-0.994074879305,-0.994085295973,-0.994095703504,-0.994106101897,-0.994116491153,-0.994126871271,-0.994137242251,-0.994147604093,-0.994157956798,-0.994168300364,-0.994178634792,-0.994188960082,-0.994199276233,-0.994209583246,-0.994219881121,-0.994230169856,-0.994240449453,-0.994250719911,-0.99426098123,-0.994271233411,-0.994281476452,-0.994291710353,-0.994301935116,-0.994312150739,-0.994322357223,-0.994332554567,-0.994342742771,-0.994352921835,-0.99436309176,-0.994373252545,-0.994383404189,-0.994393546694,-0.994403680058,-0.994413804281,-0.994423919365,-0.994434025308,-0.99444412211,-0.994454209771,-0.994464288292,-0.994474357672,-0.994484417911,-0.994494469008,-0.994504510965,-0.99451454378,-0.994524567454,-0.994534581987,-0.994544587377,-0.994554583627,-0.994564570734,-0.9945745487,-0.994584517524,-0.994594477206,-0.994604427745,-0.994614369143,-0.994624301398,-0.994634224511,-0.994644138481,-0.994654043309,-0.994663938994,-0.994673825536,-0.994683702936,-0.994693571193,-0.994703430306,-0.994713280277,-0.994723121104,-0.994732952788,-0.994742775329,-0.994752588726,-0.99476239298,-0.99477218809,-0.994781974057,-0.994791750879,-0.994801518558,-0.994811277092,-0.994821026483,-0.994830766729,-0.994840497831,-0.994850219789,-0.994859932602,-0.994869636271,-0.994879330795,-0.994889016174,-0.994898692409,-0.994908359498,-0.994918017443,-0.994927666243,-0.994937305897,-0.994946936406,-0.99495655777,-0.994966169989,-0.994975773061,-0.994985366989,-0.99499495177,-0.995004527406,-0.995014093896,-0.99502365124,-0.995033199438,-0.99504273849,-0.995052268396,-0.995061789155,-0.995071300768,-0.995080803234,-0.995090296554,-0.995099780727,-0.995109255754,-0.995118721633,-0.995128178366,-0.995137625952,-0.99514706439,-0.995156493682,-0.995165913826,-0.995175324823,-0.995184726672,-0.995194119374,-0.995203502928,-0.995212877335,-0.995222242594,-0.995231598705,-0.995240945667,-0.995250283482,-0.995259612149,-0.995268931668,-0.995278242038,-0.99528754326,-0.995296835333,-0.995306118258,-0.995315392034,-0.995324656662,-0.99533391214,-0.99534315847,-0.995352395651,-0.995361623683,-0.995370842565,-0.995380052299,-0.995389252883,-0.995398444317,-0.995407626603,-0.995416799738,-0.995425963724,-0.99543511856,-0.995444264247,-0.995453400783,-0.995462528169,-0.995471646406,-0.995480755492,-0.995489855428,-0.995498946213,-0.995508027849,-0.995517100333,-0.995526163668,-0.995535217851,-0.995544262884,-0.995553298766,-0.995562325497,-0.995571343077,-0.995580351506,-0.995589350783,-0.99559834091,-0.995607321885,-0.995616293709,-0.995625256381,-0.995634209902,-0.995643154271,-0.995652089488,-0.995661015554,-0.995669932467,-0.995678840229,-0.995687738838,-0.995696628296,-0.995705508601,-0.995714379754,-0.995723241754,-0.995732094602,-0.995740938298,-0.99574977284,-0.99575859823,-0.995767414468,-0.995776221552,-0.995785019483,-0.995793808262,-0.995802587887,-0.995811358359,-0.995820119678,-0.995828871843,-0.995837614855,-0.995846348714,-0.995855073419,-0.99586378897,-0.995872495367,-0.995881192611,-0.9958898807,-0.995898559636,-0.995907229417,-0.995915890045,-0.995924541518,-0.995933183837,-0.995941817001,-0.995950441011,-0.995959055866,-0.995967661567,-0.995976258113,-0.995984845504,-0.99599342374,-0.996001992822,-0.996010552748,-0.996019103519,-0.996027645135,-0.996036177596,-0.996044700901,-0.996053215051,-0.996061720046,-0.996070215884,-0.996078702568,-0.996087180095,-0.996095648467,-0.996104107682,-0.996112557742,-0.996120998646,-0.996129430393,-0.996137852985,-0.99614626642,-0.996154670699,-0.996163065821,-0.996171451787,-0.996179828596,-0.996188196248,-0.996196554744,-0.996204904083,-0.996213244265,-0.99622157529,-0.996229897158,-0.996238209869,-0.996246513422,-0.996254807819,-0.996263093058,-0.996271369139,-0.996279636063,-0.99628789383,-0.996296142438,-0.99630438189,-0.996312612183,-0.996320833318,-0.996329045295,-0.996337248115,-0.996345441776,-0.996353626279,-0.996361801624,-0.99636996781,-0.996378124838,-0.996386272708,-0.996394411419,-0.996402540971,-0.996410661364,-0.996418772599,-0.996426874675,-0.996434967592,-0.99644305135,-0.996451125949,-0.996459191389,-0.996467247669,-0.99647529479,-0.996483332752,-0.996491361554,-0.996499381197,-0.99650739168,-0.996515393004,-0.996523385167,-0.996531368171,-0.996539342015,-0.996547306699,-0.996555262223,-0.996563208587,-0.996571145791,-0.996579073834,-0.996586992717,-0.99659490244,-0.996602803002,-0.996610694403,-0.996618576644,-0.996626449724,-0.996634313644,-0.996642168402,-0.996650014,-0.996657850437,-0.996665677712,-0.996673495827,-0.99668130478,-0.996689104572,-0.996696895203,-0.996704676672,-0.99671244898,-0.996720212126,-0.996727966111,-0.996735710933,-0.996743446594,-0.996751173094,-0.996758890431,-0.996766598606,-0.996774297619,-0.99678198747,-0.996789668159,-0.996797339686,-0.99680500205,-0.996812655252,-0.996820299291,-0.996827934168,-0.996835559882,-0.996843176434,-0.996850783822,-0.996858382048,-0.996865971111,-0.996873551011,-0.996881121748,-0.996888683322,-0.996896235732,-0.99690377898,-0.996911313064,-0.996918837984,-0.996926353741,-0.996933860335,-0.996941357765,-0.996948846031,-0.996956325134,-0.996963795073,-0.996971255848,-0.996978707459,-0.996986149906,-0.996993583189,-0.997001007307,-0.997008422262,-0.997015828052,-0.997023224678,-0.997030612139,-0.997037990436,-0.997045359569,-0.997052719536,-0.997060070339,-0.997067411978,-0.997074744451,-0.99708206776,-0.997089381903,-0.997096686882,-0.997103982696,-0.997111269344,-0.997118546827,-0.997125815145,-0.997133074297,-0.997140324284,-0.997147565106,-0.997154796762,-0.997162019252,-0.997169232576,-0.997176436735,-0.997183631728,-0.997190817555,-0.997197994217,-0.997205161712,-0.997212320041,-0.997219469204,-0.9972266092,-0.99723374003,-0.997240861694,-0.997247974192,-0.997255077523,-0.997262171688,-0.997269256685,-0.997276332517,-0.997283399181,-0.997290456679,-0.997297505009,-0.997304544173,-0.99731157417,-0.997318595,-0.997325606662,-0.997332609158,-0.997339602486,-0.997346586647,-0.99735356164,-0.997360527466,-0.997367484124,-0.997374431615,-0.997381369938,-0.997388299094,-0.997395219081,-0.997402129901,-0.997409031553,-0.997415924037,-0.997422807353,-0.997429681501,-0.997436546481,-0.997443402292,-0.997450248935,-0.99745708641,-0.997463914716,-0.997470733854,-0.997477543824,-0.997484344624,-0.997491136257,-0.99749791872,-0.997504692015,-0.99751145614,-0.997518211097,-0.997524956885,-0.997531693504,-0.997538420954,-0.997545139234,-0.997551848346,-0.997558548288,-0.99756523906,-0.997571920664,-0.997578593098,-0.997585256362,-0.997591910457,-0.997598555382,-0.997605191137,-0.997611817723,-0.997618435139,-0.997625043384,-0.99763164246,-0.997638232366,-0.997644813102,-0.997651384668,-0.997657947063,-0.997664500289,-0.997671044343,-0.997677579228,-0.997684104942,-0.997690621486,-0.997697128859,-0.997703627061,-0.997710116093,-0.997716595954,-0.997723066644,-0.997729528164,-0.997735980512,-0.997742423689,-0.997748857696,-0.997755282531,-0.997761698195,-0.997768104688,-0.99777450201,-0.997780890161,-0.99778726914,-0.997793638947,-0.997799999583,-0.997806351048,-0.99781269334,-0.997819026462,-0.997825350411,-0.997831665189,-0.997837970795,-0.997844267228,-0.99785055449,-0.99785683258,-0.997863101498,-0.997869361244,-0.997875611817,-0.997881853218,-0.997888085447,-0.997894308504,-0.997900522388,-0.997906727099,-0.997912922638,-0.997919109005,-0.997925286199,-0.99793145422,-0.997937613068,-0.997943762743,-0.997949903246,-0.997956034576,-0.997962156732,-0.997968269716,-0.997974373526,-0.997980468164,-0.997986553628,-0.997992629919,-0.997998697036,-0.99800475498,-0.998010803751,-0.998016843348,-0.998022873771,-0.998028895021,-0.998034907098,-0.99804091,-0.998046903729,-0.998052888284,-0.998058863665,-0.998064829872,-0.998070786905,-0.998076734765,-0.99808267345,-0.99808860296,-0.998094523297,-0.998100434459,-0.998106336447,-0.998112229261,-0.9981181129,-0.998123987365,-0.998129852655,-0.998135708771,-0.998141555712,-0.998147393478,-0.998153222069,-0.998159041486,-0.998164851728,-0.998170652795,-0.998176444686,-0.998182227403,-0.998188000945,-0.998193765312,-0.998199520503,-0.99820526652,-0.99821100336,-0.998216731026,-0.998222449516,-0.998228158831,-0.99823385897,-0.998239549934,-0.998245231722,-0.998250904335,-0.998256567771,-0.998262222032,-0.998267867118,-0.998273503027,-0.99827912976,-0.998284747318,-0.998290355699,-0.998295954905,-0.998301544934,-0.998307125787,-0.998312697464,-0.998318259964,-0.998323813289,-0.998329357436,-0.998334892408,-0.998340418203,-0.998345934821,-0.998351442263,-0.998356940528,-0.998362429617,-0.998367909529,-0.998373380264,-0.998378841822,-0.998384294203,-0.998389737407,-0.998395171435,-0.998400596285,-0.998406011958,-0.998411418454,-0.998416815773,-0.998422203915,-0.998427582879,-0.998432952667,-0.998438313276,-0.998443664708,-0.998449006963,-0.998454340041,-0.99845966394,-0.998464978662,-0.998470284207,-0.998475580573,-0.998480867762,-0.998486145773,-0.998491414606,-0.998496674262,-0.998501924739,-0.998507166038,-0.99851239816,-0.998517621103,-0.998522834868,-0.998528039454,-0.998533234863,-0.998538421093,-0.998543598145,-0.998548766018,-0.998553924713,-0.99855907423,-0.998564214568,-0.998569345727,-0.998574467708,-0.99857958051,-0.998584684133,-0.998589778578,-0.998594863843,-0.99859993993,-0.998605006838,-0.998610064567,-0.998615113117,-0.998620152488,-0.99862518268,-0.998630203693,-0.998635215526,-0.99864021818,-0.998645211655,-0.998650195951,-0.998655171067,-0.998660137004,-0.998665093761,-0.998670041339,-0.998674979737,-0.998679908956,-0.998684828995,-0.998689739854,-0.998694641534,-0.998699534034,-0.998704417353,-0.998709291494,-0.998714156454,-0.998719012234,-0.998723858834,-0.998728696254,-0.998733524494,-0.998738343554,-0.998743153434,-0.998747954133,-0.998752745652,-0.998757527991,-0.99876230115,-0.998767065128,-0.998771819925,-0.998776565542,-0.998781301979,-0.998786029235,-0.99879074731,-0.998795456205,-0.998800155919,-0.998804846452,-0.998809527805,-0.998814199976,-0.998818862967,-0.998823516777,-0.998828161406,-0.998832796854,-0.99883742312,-0.998842040206,-0.99884664811,-0.998851246834,-0.998855836376,-0.998860416737,-0.998864987916,-0.998869549914,-0.998874102731,-0.998878646366,-0.99888318082,-0.998887706093,-0.998892222183,-0.998896729092,-0.99890122682,-0.998905715366,-0.99891019473,-0.998914664912,-0.998919125913,-0.998923577731,-0.998928020368,-0.998932453823,-0.998936878096,-0.998941293187,-0.998945699096,-0.998950095822,-0.998954483367,-0.998958861729,-0.99896323091,-0.998967590908,-0.998971941723,-0.998976283356,-0.998980615807,-0.998984939076,-0.998989253162,-0.998993558066,-0.998997853787,-0.999002140325,-0.999006417681,-0.999010685854,-0.999014944845,-0.999019194652,-0.999023435277,-0.99902766672,-0.999031888979,-0.999036102055,-0.999040305949,-0.999044500659,-0.999048686187,-0.999052862532,-0.999057029693,-0.999061187671,-0.999065336466,-0.999069476078,-0.999073606507,-0.999077727753,-0.999081839815,-0.999085942694,-0.999090036389,-0.999094120901,-0.99909819623,-0.999102262375,-0.999106319336,-0.999110367114,-0.999114405709,-0.999118435119,-0.999122455346,-0.99912646639,-0.999130468249,-0.999134460925,-0.999138444417,-0.999142418725,-0.999146383849,-0.999150339789,-0.999154286545,-0.999158224118,-0.999162152506,-0.99916607171,-0.99916998173,-0.999173882566,-0.999177774217,-0.999181656685,-0.999185529968,-0.999189394067,-0.999193248981,-0.999197094711,-0.999200931257,-0.999204758618,-0.999208576795,-0.999212385787,-0.999216185595,-0.999219976218,-0.999223757657,-0.999227529911,-0.99923129298,-0.999235046865,-0.999238791564,-0.999242527079,-0.999246253409,-0.999249970555,-0.999253678515,-0.999257377291,-0.999261066881,-0.999264747287,-0.999268418507,-0.999272080543,-0.999275733393,-0.999279377058,-0.999283011538,-0.999286636833,-0.999290252943,-0.999293859867,-0.999297457606,-0.99930104616,-0.999304625528,-0.999308195711,-0.999311756709,-0.999315308521,-0.999318851147,-0.999322384588,-0.999325908844,-0.999329423914,-0.999332929798,-0.999336426497,-0.99933991401,-0.999343392337,-0.999346861478,-0.999350321434,-0.999353772204,-0.999357213788,-0.999360646186,-0.999364069399,-0.999367483425,-0.999370888265,-0.99937428392,-0.999377670388,-0.99938104767,-0.999384415766,-0.999387774676,-0.9993911244,-0.999394464938,-0.99939779629,-0.999401118455,-0.999404431434,-0.999407735226,-0.999411029833,-0.999414315253,-0.999417591486,-0.999420858533,-0.999424116394,-0.999427365068,-0.999430604555,-0.999433834857,-0.999437055971,-0.999440267899,-0.99944347064,-0.999446664195,-0.999449848562,-0.999453023744,-0.999456189738,-0.999459346546,-0.999462494166,-0.9994656326,-0.999468761847,-0.999471881907,-0.999474992781,-0.999478094467,-0.999481186966,-0.999484270278,-0.999487344404,-0.999490409342,-0.999493465093,-0.999496511657,-0.999499549033,-0.999502577223,-0.999505596225,-0.99950860604,-0.999511606668,-0.999514598109,-0.999517580362,-0.999520553428,-0.999523517306,-0.999526471997,-0.999529417501,-0.999532353817,-0.999535280946,-0.999538198887,-0.999541107641,-0.999544007207,-0.999546897585,-0.999549778776,-0.999552650779,-0.999555513595,-0.999558367223,-0.999561211663,-0.999564046915,-0.99956687298,-0.999569689857,-0.999572497546,-0.999575296047,-0.99957808536,-0.999580865485,-0.999583636423,-0.999586398172,-0.999589150734,-0.999591894107,-0.999594628292,-0.99959735329,-0.999600069099,-0.99960277572,-0.999605473153,-0.999608161398,-0.999610840455,-0.999613510323,-0.999616171003,-0.999618822495,-0.999621464799,-0.999624097914,-0.999626721841,-0.99962933658,-0.99963194213,-0.999634538492,-0.999637125666,-0.999639703651,-0.999642272447,-0.999644832055,-0.999647382475,-0.999649923706,-0.999652455748,-0.999654978602,-0.999657492267,-0.999659996744,-0.999662492032,-0.999664978131,-0.999667455042,-0.999669922763,-0.999672381297,-0.999674830641,-0.999677270796,-0.999679701763,-0.999682123541,-0.99968453613,-0.99968693953,-0.999689333741,-0.999691718763,-0.999694094597,-0.999696461241,-0.999698818696,-0.999701166963,-0.99970350604,-0.999705835928,-0.999708156627,-0.999710468137,-0.999712770458,-0.99971506359,-0.999717347532,-0.999719622286,-0.99972188785,-0.999724144225,-0.999726391411,-0.999728629407,-0.999730858214,-0.999733077832,-0.999735288261,-0.9997374895,-0.999739681549,-0.99974186441,-0.999744038081,-0.999746202562,-0.999748357855,-0.999750503957,-0.99975264087,-0.999754768594,-0.999756887128,-0.999758996472,-0.999761096627,-0.999763187593,-0.999765269369,-0.999767341955,-0.999769405351,-0.999771459558,-0.999773504575,-0.999775540403,-0.99977756704,-0.999779584488,-0.999781592747,-0.999783591815,-0.999785581694,-0.999787562382,-0.999789533881,-0.999791496191,-0.99979344931,-0.999795393239,-0.999797327979,-0.999799253528,-0.999801169888,-0.999803077058,-0.999804975037,-0.999806863827,-0.999808743427,-0.999810613836,-0.999812475056,-0.999814327085,-0.999816169925,-0.999818003574,-0.999819828034,-0.999821643303,-0.999823449382,-0.99982524627,-0.999827033969,-0.999828812478,-0.999830581796,-0.999832341924,-0.999834092862,-0.999835834609,-0.999837567166,-0.999839290533,-0.99984100471,-0.999842709696,-0.999844405492,-0.999846092098,-0.999847769513,-0.999849437738,-0.999851096772,-0.999852746616,-0.99985438727,-0.999856018733,-0.999857641006,-0.999859254088,-0.99986085798,-0.999862452681,-0.999864038192,-0.999865614512,-0.999867181641,-0.999868739581,-0.999870288329,-0.999871827887,-0.999873358254,-0.999874879431,-0.999876391417,-0.999877894212,-0.999879387817,-0.999880872231,-0.999882347454,-0.999883813487,-0.999885270329,-0.99988671798,-0.99988815644,-0.99988958571,-0.999891005789,-0.999892416677,-0.999893818374,-0.999895210881,-0.999896594197,-0.999897968321,-0.999899333256,-0.999900688999,-0.999902035551,-0.999903372912,-0.999904701083,-0.999906020062,-0.999907329851,-0.999908630449,-0.999909921856,-0.999911204071,-0.999912477096,-0.99991374093,-0.999914995573,-0.999916241025,-0.999917477286,-0.999918704356,-0.999919922235,-0.999921130922,-0.999922330419,-0.999923520725,-0.999924701839,-0.999925873763,-0.999927036495,-0.999928190036,-0.999929334386,-0.999930469545,-0.999931595513,-0.99993271229,-0.999933819875,-0.99993491827,-0.999936007473,-0.999937087485,-0.999938158305,-0.999939219935,-0.999940272373,-0.99994131562,-0.999942349676,-0.999943374541,-0.999944390214,-0.999945396696,-0.999946393987,-0.999947382086,-0.999948360994,-0.999949330711,-0.999950291236,-0.999951242571,-0.999952184714,-0.999953117665,-0.999954041425,-0.999954955994,-0.999955861371,-0.999956757557,-0.999957644552,-0.999958522355,-0.999959390967,-0.999960250387,-0.999961100616,-0.999961941654,-0.9999627735,-0.999963596155,-0.999964409618,-0.99996521389,-0.99996600897,-0.999966794859,-0.999967571556,-0.999968339062,-0.999969097377,-0.9999698465,-0.999970586431,-0.999971317171,-0.999972038719,-0.999972751076,-0.999973454241,-0.999974148215,-0.999974832997,-0.999975508588,-0.999976174987,-0.999976832194,-0.99997748021,-0.999978119035,-0.999978748667,-0.999979369109,-0.999979980358,-0.999980582416,-0.999981175283,-0.999981758957,-0.999982333441,-0.999982898732,-0.999983454832,-0.99998400174,-0.999984539457,-0.999985067982,-0.999985587315,-0.999986097457,-0.999986598407,-0.999987090165,-0.999987572732,-0.999988046107,-0.99998851029,-0.999988965282,-0.999989411082,-0.99998984769,-0.999990275107,-0.999990693332,-0.999991102365,-0.999991502206,-0.999991892856,-0.999992274314,-0.999992646581,-0.999993009655,-0.999993363538,-0.99999370823,-0.999994043729,-0.999994370037,-0.999994687153,-0.999994995077,-0.99999529381,-0.99999558335,-0.999995863699,-0.999996134857,-0.999996396822,-0.999996649596,-0.999996893178,-0.999997127568,-0.999997352767,-0.999997568774,-0.999997775589,-0.999997973212,-0.999998161643,-0.999998340883,-0.999998510931,-0.999998671787,-0.999998823452,-0.999998965924,-0.999999099205,-0.999999223294,-0.999999338192,-0.999999443897,-0.999999540411,-0.999999627733,-0.999999705863,-0.999999774801,-0.999999834548,-0.999999885103,-0.999999926466,-0.999999958637,-0.999999981616,-0.999999995404,-1.0,-0.999999995404,-0.999999981616,-0.999999958637,-0.999999926466,-0.999999885103,-0.999999834548,-0.999999774801,-0.999999705863,-0.999999627733,-0.999999540411,-0.999999443897,-0.999999338192,-0.999999223294,-0.999999099205,-0.999998965924,-0.999998823452,-0.999998671787,-0.999998510931,-0.999998340883,-0.999998161643,-0.999997973212,-0.999997775589,-0.999997568774,-0.999997352767,-0.999997127568,-0.999996893178,-0.999996649596,-0.999996396822,-0.999996134857,-0.999995863699,-0.99999558335,-0.99999529381,-0.999994995077,-0.999994687153,-0.999994370037,-0.999994043729,-0.99999370823,-0.999993363538,-0.999993009655,-0.999992646581,-0.999992274314,-0.999991892856,-0.999991502206,-0.999991102365,-0.999990693332,-0.999990275107,-0.99998984769,-0.999989411082,-0.999988965282,-0.99998851029,-0.999988046107,-0.999987572732,-0.999987090165,-0.999986598407,-0.999986097457,-0.999985587315,-0.999985067982,-0.999984539457,-0.99998400174,-0.999983454832,-0.999982898732,-0.999982333441,-0.999981758957,-0.999981175283,-0.999980582416,-0.999979980358,-0.999979369109,-0.999978748667,-0.999978119035,-0.99997748021,-0.999976832194,-0.999976174987,-0.999975508588,-0.999974832997,-0.999974148215,-0.999973454241,-0.999972751076,-0.999972038719,-0.999971317171,-0.999970586431,-0.9999698465,-0.999969097377,-0.999968339062,-0.999967571556,-0.999966794859,-0.99996600897,-0.99996521389,-0.999964409618,-0.999963596155,-0.9999627735,-0.999961941654,-0.999961100616,-0.999960250387,-0.999959390967,-0.999958522355,-0.999957644552,-0.999956757557,-0.999955861371,-0.999954955994,-0.999954041425,-0.999953117665,-0.999952184714,-0.999951242571,-0.999950291236,-0.999949330711,-0.999948360994,-0.999947382086,-0.999946393987,-0.999945396696,-0.999944390214,-0.999943374541,-0.999942349676,-0.99994131562,-0.999940272373,-0.999939219935,-0.999938158305,-0.999937087485,-0.999936007473,-0.99993491827,-0.999933819875,-0.99993271229,-0.999931595513,-0.999930469545,-0.999929334386,-0.999928190036,-0.999927036495,-0.999925873763,-0.999924701839,-0.999923520725,-0.999922330419,-0.999921130922,-0.999919922235,-0.999918704356,-0.999917477286,-0.999916241025,-0.999914995573,-0.99991374093,-0.999912477096,-0.999911204071,-0.999909921856,-0.999908630449,-0.999907329851,-0.999906020062,-0.999904701083,-0.999903372912,-0.999902035551,-0.999900688999,-0.999899333256,-0.999897968321,-0.999896594197,-0.999895210881,-0.999893818374,-0.999892416677,-0.999891005789,-0.99988958571,-0.99988815644,-0.99988671798,-0.999885270329,-0.999883813487,-0.999882347454,-0.999880872231,-0.999879387817,-0.999877894212,-0.999876391417,-0.999874879431,-0.999873358254,-0.999871827887,-0.999870288329,-0.999868739581,-0.999867181641,-0.999865614512,-0.999864038192,-0.999862452681,-0.99986085798,-0.999859254088,-0.999857641006,-0.999856018733,-0.99985438727,-0.999852746616,-0.999851096772,-0.999849437738,-0.999847769513,-0.999846092098,-0.999844405492,-0.999842709696,-0.99984100471,-0.999839290533,-0.999837567166,-0.999835834609,-0.999834092862,-0.999832341924,-0.999830581796,-0.999828812478,-0.999827033969,-0.99982524627,-0.999823449382,-0.999821643303,-0.999819828034,-0.999818003574,-0.999816169925,-0.999814327085,-0.999812475056,-0.999810613836,-0.999808743427,-0.999806863827,-0.999804975037,-0.999803077058,-0.999801169888,-0.999799253528,-0.999797327979,-0.999795393239,-0.99979344931,-0.999791496191,-0.999789533881,-0.999787562382,-0.999785581694,-0.999783591815,-0.999781592747,-0.999779584488,-0.99977756704,-0.999775540403,-0.999773504575,-0.999771459558,-0.999769405351,-0.999767341955,-0.999765269369,-0.999763187593,-0.999761096627,-0.999758996472,-0.999756887128,-0.999754768594,-0.99975264087,-0.999750503957,-0.999748357855,-0.999746202562,-0.999744038081,-0.99974186441,-0.999739681549,-0.9997374895,-0.999735288261,-0.999733077832,-0.999730858214,-0.999728629407,-0.999726391411,-0.999724144225,-0.99972188785,-0.999719622286,-0.999717347532,-0.99971506359,-0.999712770458,-0.999710468137,-0.999708156627,-0.999705835928,-0.99970350604,-0.999701166963,-0.999698818696,-0.999696461241,-0.999694094597,-0.999691718763,-0.999689333741,-0.99968693953,-0.99968453613,-0.999682123541,-0.999679701763,-0.999677270796,-0.999674830641,-0.999672381297,-0.999669922763,-0.999667455042,-0.999664978131,-0.999662492032,-0.999659996744,-0.999657492267,-0.999654978602,-0.999652455748,-0.999649923706,-0.999647382475,-0.999644832055,-0.999642272447,-0.999639703651,-0.999637125666,-0.999634538492,-0.99963194213,-0.99962933658,-0.999626721841,-0.999624097914,-0.999621464799,-0.999618822495,-0.999616171003,-0.999613510323,-0.999610840455,-0.999608161398,-0.999605473153,-0.99960277572,-0.999600069099,-0.99959735329,-0.999594628292,-0.999591894107,-0.999589150734,-0.999586398172,-0.999583636423,-0.999580865485,-0.99957808536,-0.999575296047,-0.999572497546,-0.999569689857,-0.99956687298,-0.999564046915,-0.999561211663,-0.999558367223,-0.999555513595,-0.999552650779,-0.999549778776,-0.999546897585,-0.999544007207,-0.999541107641,-0.999538198887,-0.999535280946,-0.999532353817,-0.999529417501,-0.999526471997,-0.999523517306,-0.999520553428,-0.999517580362,-0.999514598109,-0.999511606668,-0.99950860604,-0.999505596225,-0.999502577223,-0.999499549033,-0.999496511657,-0.999493465093,-0.999490409342,-0.999487344404,-0.999484270278,-0.999481186966,-0.999478094467,-0.999474992781,-0.999471881907,-0.999468761847,-0.9994656326,-0.999462494166,-0.999459346546,-0.999456189738,-0.999453023744,-0.999449848562,-0.999446664195,-0.99944347064,-0.999440267899,-0.999437055971,-0.999433834857,-0.999430604555,-0.999427365068,-0.999424116394,-0.999420858533,-0.999417591486,-0.999414315253,-0.999411029833,-0.999407735226,-0.999404431434,-0.999401118455,-0.99939779629,-0.999394464938,-0.9993911244,-0.999387774676,-0.999384415766,-0.99938104767,-0.999377670388,-0.99937428392,-0.999370888265,-0.999367483425,-0.999364069399,-0.999360646186,-0.999357213788,-0.999353772204,-0.999350321434,-0.999346861478,-0.999343392337,-0.99933991401,-0.999336426497,-0.999332929798,-0.999329423914,-0.999325908844,-0.999322384588,-0.999318851147,-0.999315308521,-0.999311756709,-0.999308195711,-0.999304625528,-0.99930104616,-0.999297457606,-0.999293859867,-0.999290252943,-0.999286636833,-0.999283011538,-0.999279377058,-0.999275733393,-0.999272080543,-0.999268418507,-0.999264747287,-0.999261066881,-0.999257377291,-0.999253678515,-0.999249970555,-0.999246253409,-0.999242527079,-0.999238791564,-0.999235046865,-0.99923129298,-0.999227529911,-0.999223757657,-0.999219976218,-0.999216185595,-0.999212385787,-0.999208576795,-0.999204758618,-0.999200931257,-0.999197094711,-0.999193248981,-0.999189394067,-0.999185529968,-0.999181656685,-0.999177774217,-0.999173882566,-0.99916998173,-0.99916607171,-0.999162152506,-0.999158224118,-0.999154286545,-0.999150339789,-0.999146383849,-0.999142418725,-0.999138444417,-0.999134460925,-0.999130468249,-0.99912646639,-0.999122455346,-0.999118435119,-0.999114405709,-0.999110367114,-0.999106319336,-0.999102262375,-0.99909819623,-0.999094120901,-0.999090036389,-0.999085942694,-0.999081839815,-0.999077727753,-0.999073606507,-0.999069476078,-0.999065336466,-0.999061187671,-0.999057029693,-0.999052862532,-0.999048686187,-0.999044500659,-0.999040305949,-0.999036102055,-0.999031888979,-0.99902766672,-0.999023435277,-0.999019194652,-0.999014944845,-0.999010685854,-0.999006417681,-0.999002140325,-0.998997853787,-0.998993558066,-0.998989253162,-0.998984939076,-0.998980615807,-0.998976283356,-0.998971941723,-0.998967590908,-0.99896323091,-0.998958861729,-0.998954483367,-0.998950095822,-0.998945699096,-0.998941293187,-0.998936878096,-0.998932453823,-0.998928020368,-0.998923577731,-0.998919125913,-0.998914664912,-0.99891019473,-0.998905715366,-0.99890122682,-0.998896729092,-0.998892222183,-0.998887706093,-0.99888318082,-0.998878646366,-0.998874102731,-0.998869549914,-0.998864987916,-0.998860416737,-0.998855836376,-0.998851246834,-0.99884664811,-0.998842040206,-0.99883742312,-0.998832796854,-0.998828161406,-0.998823516777,-0.998818862967,-0.998814199976,-0.998809527805,-0.998804846452,-0.998800155919,-0.998795456205,-0.99879074731,-0.998786029235,-0.998781301979,-0.998776565542,-0.998771819925,-0.998767065128,-0.99876230115,-0.998757527991,-0.998752745652,-0.998747954133,-0.998743153434,-0.998738343554,-0.998733524494,-0.998728696254,-0.998723858834,-0.998719012234,-0.998714156454,-0.998709291494,-0.998704417353,-0.998699534034,-0.998694641534,-0.998689739854,-0.998684828995,-0.998679908956,-0.998674979737,-0.998670041339,-0.998665093761,-0.998660137004,-0.998655171067,-0.998650195951,-0.998645211655,-0.99864021818,-0.998635215526,-0.998630203693,-0.99862518268,-0.998620152488,-0.998615113117,-0.998610064567,-0.998605006838,-0.99859993993,-0.998594863843,-0.998589778578,-0.998584684133,-0.99857958051,-0.998574467708,-0.998569345727,-0.998564214568,-0.99855907423,-0.998553924713,-0.998548766018,-0.998543598145,-0.998538421093,-0.998533234863,-0.998528039454,-0.998522834868,-0.998517621103,-0.99851239816,-0.998507166038,-0.998501924739,-0.998496674262,-0.998491414606,-0.998486145773,-0.998480867762,-0.998475580573,-0.998470284207,-0.998464978662,-0.99845966394,-0.998454340041,-0.998449006963,-0.998443664708,-0.998438313276,-0.998432952667,-0.998427582879,-0.998422203915,-0.998416815773,-0.998411418454,-0.998406011958,-0.998400596285,-0.998395171435,-0.998389737407,-0.998384294203,-0.998378841822,-0.998373380264,-0.998367909529,-0.998362429617,-0.998356940528,-0.998351442263,-0.998345934821,-0.998340418203,-0.998334892408,-0.998329357436,-0.998323813289,-0.998318259964,-0.998312697464,-0.998307125787,-0.998301544934,-0.998295954905,-0.998290355699,-0.998284747318,-0.99827912976,-0.998273503027,-0.998267867118,-0.998262222032,-0.998256567771,-0.998250904335,-0.998245231722,-0.998239549934,-0.99823385897,-0.998228158831,-0.998222449516,-0.998216731026,-0.99821100336,-0.99820526652,-0.998199520503,-0.998193765312,-0.998188000945,-0.998182227403,-0.998176444686,-0.998170652795,-0.998164851728,-0.998159041486,-0.998153222069,-0.998147393478,-0.998141555712,-0.998135708771,-0.998129852655,-0.998123987365,-0.9981181129,-0.998112229261,-0.998106336447,-0.998100434459,-0.998094523297,-0.99808860296,-0.99808267345,-0.998076734765,-0.998070786905,-0.998064829872,-0.998058863665,-0.998052888284,-0.998046903729,-0.99804091,-0.998034907098,-0.998028895021,-0.998022873771,-0.998016843348,-0.998010803751,-0.99800475498,-0.997998697036,-0.997992629919,-0.997986553628,-0.997980468164,-0.997974373526,-0.997968269716,-0.997962156732,-0.997956034576,-0.997949903246,-0.997943762743,-0.997937613068,-0.99793145422,-0.997925286199,-0.997919109005,-0.997912922638,-0.997906727099,-0.997900522388,-0.997894308504,-0.997888085447,-0.997881853218,-0.997875611817,-0.997869361244,-0.997863101498,-0.99785683258,-0.99785055449,-0.997844267228,-0.997837970795,-0.997831665189,-0.997825350411,-0.997819026462,-0.99781269334,-0.997806351048,-0.997799999583,-0.997793638947,-0.99778726914,-0.997780890161,-0.99777450201,-0.997768104688,-0.997761698195,-0.997755282531,-0.997748857696,-0.997742423689,-0.997735980512,-0.997729528164,-0.997723066644,-0.997716595954,-0.997710116093,-0.997703627061,-0.997697128859,-0.997690621486,-0.997684104942,-0.997677579228,-0.997671044343,-0.997664500289,-0.997657947063,-0.997651384668,-0.997644813102,-0.997638232366,-0.99763164246,-0.997625043384,-0.997618435139,-0.997611817723,-0.997605191137,-0.997598555382,-0.997591910457,-0.997585256362,-0.997578593098,-0.997571920664,-0.99756523906,-0.997558548288,-0.997551848346,-0.997545139234,-0.997538420954,-0.997531693504,-0.997524956885,-0.997518211097,-0.99751145614,-0.997504692015,-0.99749791872,-0.997491136257,-0.997484344624,-0.997477543824,-0.997470733854,-0.997463914716,-0.99745708641,-0.997450248935,-0.997443402292,-0.997436546481,-0.997429681501,-0.997422807353,-0.997415924037,-0.997409031553,-0.997402129901,-0.997395219081,-0.997388299094,-0.997381369938,-0.997374431615,-0.997367484124,-0.997360527466,-0.99735356164,-0.997346586647,-0.997339602486,-0.997332609158,-0.997325606662,-0.997318595,-0.99731157417,-0.997304544173,-0.997297505009,-0.997290456679,-0.997283399181,-0.997276332517,-0.997269256685,-0.997262171688,-0.997255077523,-0.997247974192,-0.997240861694,-0.99723374003,-0.9972266092,-0.997219469204,-0.997212320041,-0.997205161712,-0.997197994217,-0.997190817555,-0.997183631728,-0.997176436735,-0.997169232576,-0.997162019252,-0.997154796762,-0.997147565106,-0.997140324284,-0.997133074297,-0.997125815145,-0.997118546827,-0.997111269344,-0.997103982696,-0.997096686882,-0.997089381903,-0.99708206776,-0.997074744451,-0.997067411978,-0.997060070339,-0.997052719536,-0.997045359569,-0.997037990436,-0.997030612139,-0.997023224678,-0.997015828052,-0.997008422262,-0.997001007307,-0.996993583189,-0.996986149906,-0.996978707459,-0.996971255848,-0.996963795073,-0.996956325134,-0.996948846031,-0.996941357765,-0.996933860335,-0.996926353741,-0.996918837984,-0.996911313064,-0.99690377898,-0.996896235732,-0.996888683322,-0.996881121748,-0.996873551011,-0.996865971111,-0.996858382048,-0.996850783822,-0.996843176434,-0.996835559882,-0.996827934168,-0.996820299291,-0.996812655252,-0.99680500205,-0.996797339686,-0.996789668159,-0.99678198747,-0.996774297619,-0.996766598606,-0.996758890431,-0.996751173094,-0.996743446594,-0.996735710933,-0.996727966111,-0.996720212126,-0.99671244898,-0.996704676672,-0.996696895203,-0.996689104572,-0.99668130478,-0.996673495827,-0.996665677712,-0.996657850437,-0.996650014,-0.996642168402,-0.996634313644,-0.996626449724,-0.996618576644,-0.996610694403,-0.996602803002,-0.99659490244,-0.996586992717,-0.996579073834,-0.996571145791,-0.996563208587,-0.996555262223,-0.996547306699,-0.996539342015,-0.996531368171,-0.996523385167,-0.996515393004,-0.99650739168,-0.996499381197,-0.996491361554,-0.996483332752,-0.99647529479,-0.996467247669,-0.996459191389,-0.996451125949,-0.99644305135,-0.996434967592,-0.996426874675,-0.996418772599,-0.996410661364,-0.996402540971,-0.996394411419,-0.996386272708,-0.996378124838,-0.99636996781,-0.996361801624,-0.996353626279,-0.996345441776,-0.996337248115,-0.996329045295,-0.996320833318,-0.996312612183,-0.99630438189,-0.996296142438,-0.99628789383,-0.996279636063,-0.996271369139,-0.996263093058,-0.996254807819,-0.996246513422,-0.996238209869,-0.996229897158,-0.99622157529,-0.996213244265,-0.996204904083,-0.996196554744,-0.996188196248,-0.996179828596,-0.996171451787,-0.996163065821,-0.996154670699,-0.99614626642,-0.996137852985,-0.996129430393,-0.996120998646,-0.996112557742,-0.996104107682,-0.996095648467,-0.996087180095,-0.996078702568,-0.996070215884,-0.996061720046,-0.996053215051,-0.996044700901,-0.996036177596,-0.996027645135,-0.996019103519,-0.996010552748,-0.996001992822,-0.99599342374,-0.995984845504,-0.995976258113,-0.995967661567,-0.995959055866,-0.995950441011,-0.995941817001,-0.995933183837,-0.995924541518,-0.995915890045,-0.995907229417,-0.995898559636,-0.9958898807,-0.995881192611,-0.995872495367,-0.99586378897,-0.995855073419,-0.995846348714,-0.995837614855,-0.995828871843,-0.995820119678,-0.995811358359,-0.995802587887,-0.995793808262,-0.995785019483,-0.995776221552,-0.995767414468,-0.99575859823,-0.99574977284,-0.995740938298,-0.995732094602,-0.995723241754,-0.995714379754,-0.995705508601,-0.995696628296,-0.995687738838,-0.995678840229,-0.995669932467,-0.995661015554,-0.995652089488,-0.995643154271,-0.995634209902,-0.995625256381,-0.995616293709,-0.995607321885,-0.99559834091,-0.995589350783,-0.995580351506,-0.995571343077,-0.995562325497,-0.995553298766,-0.995544262884,-0.995535217851,-0.995526163668,-0.995517100333,-0.995508027849,-0.995498946213,-0.995489855428,-0.995480755492,-0.995471646406,-0.995462528169,-0.995453400783,-0.995444264247,-0.99543511856,-0.995425963724,-0.995416799738,-0.995407626603,-0.995398444317,-0.995389252883,-0.995380052299,-0.995370842565,-0.995361623683,-0.995352395651,-0.99534315847,-0.99533391214,-0.995324656662,-0.995315392034,-0.995306118258,-0.995296835333,-0.99528754326,-0.995278242038,-0.995268931668,-0.995259612149,-0.995250283482,-0.995240945667,-0.995231598705,-0.995222242594,-0.995212877335,-0.995203502928,-0.995194119374,-0.995184726672,-0.995175324823,-0.995165913826,-0.995156493682,-0.99514706439,-0.995137625952,-0.995128178366,-0.995118721633,-0.995109255754,-0.995099780727,-0.995090296554,-0.995080803234,-0.995071300768,-0.995061789155,-0.995052268396,-0.99504273849,-0.995033199438,-0.99502365124,-0.995014093896,-0.995004527406,-0.99499495177,-0.994985366989,-0.994975773061,-0.994966169989,-0.99495655777,-0.994946936406,-0.994937305897,-0.994927666243,-0.994918017443,-0.994908359498,-0.994898692409,-0.994889016174,-0.994879330795,-0.994869636271,-0.994859932602,-0.994850219789,-0.994840497831,-0.994830766729,-0.994821026483,-0.994811277092,-0.994801518558,-0.994791750879,-0.994781974057,-0.99477218809,-0.99476239298,-0.994752588726,-0.994742775329,-0.994732952788,-0.994723121104,-0.994713280277,-0.994703430306,-0.994693571193,-0.994683702936,-0.994673825536,-0.994663938994,-0.994654043309,-0.994644138481,-0.994634224511,-0.994624301398,-0.994614369143,-0.994604427745,-0.994594477206,-0.994584517524,-0.9945745487,-0.994564570734,-0.994554583627,-0.994544587377,-0.994534581987,-0.994524567454,-0.99451454378,-0.994504510965,-0.994494469008,-0.994484417911,-0.994474357672,-0.994464288292,-0.994454209771,-0.99444412211,-0.994434025308,-0.994423919365,-0.994413804281,-0.994403680058,-0.994393546694,-0.994383404189,-0.994373252545,-0.99436309176,-0.994352921835,-0.994342742771,-0.994332554567,-0.994322357223,-0.994312150739,-0.994301935116,-0.994291710353,-0.994281476452,-0.994271233411,-0.99426098123,-0.994250719911,-0.994240449453,-0.994230169856,-0.994219881121,-0.994209583246,-0.994199276233,-0.994188960082,-0.994178634792,-0.994168300364,-0.994157956798,-0.994147604093,-0.994137242251,-0.994126871271,-0.994116491153,-0.994106101897,-0.994095703504,-0.994085295973,-0.994074879305,-0.994064453499,-0.994054018557,-0.994043574477,-0.99403312126,-0.994022658906,-0.994012187415,-0.994001706787,-0.993991217023,-0.993980718123,-0.993970210085,-0.993959692912,-0.993949166602,-0.993938631156,-0.993928086574,-0.993917532856,-0.993906970002,-0.993896398013,-0.993885816887,-0.993875226626,-0.99386462723,-0.993854018698,-0.993843401031,-0.993832774229,-0.993822138292,-0.993811493219,-0.993800839012,-0.99379017567,-0.993779503193,-0.993768821582,-0.993758130836,-0.993747430955,-0.993736721941,-0.993726003792,-0.993715276509,-0.993704540092,-0.993693794541,-0.993683039856,-0.993672276038,-0.993661503086,-0.993650721,-0.993639929781,-0.993629129429,-0.993618319943,-0.993607501325,-0.993596673573,-0.993585836688,-0.993574990671,-0.993564135521,-0.993553271238,-0.993542397822,-0.993531515275,-0.993520623595,-0.993509722782,-0.993498812838,-0.993487893761,-0.993476965553,-0.993466028213,-0.993455081741,-0.993444126137,-0.993433161402,-0.993422187535,-0.993411204537,-0.993400212408,-0.993389211148,-0.993378200757,-0.993367181235,-0.993356152582,-0.993345114798,-0.993334067884,-0.993323011839,-0.993311946664,-0.993300872358,-0.993289788922,-0.993278696356,-0.993267594661,-0.993256483835,-0.993245363879,-0.993234234794,-0.993223096579,-0.993211949235,-0.993200792761,-0.993189627158,-0.993178452426,-0.993167268564,-0.993156075574,-0.993144873455,-0.993133662207,-0.99312244183,-0.993111212325,-0.993099973692,-0.99308872593,-0.993077469039,-0.993066203021,-0.993054927875,-0.9930436436,-0.993032350198,-0.993021047668,-0.99300973601,-0.992998415225,-0.992987085312,-0.992975746273,-0.992964398105,-0.992953040811,-0.99294167439,-0.992930298842,-0.992918914167,-0.992907520365,-0.992896117437,-0.992884705382,-0.992873284201,-0.992861853893,-0.99285041446,-0.9928389659,-0.992827508215,-0.992816041403,-0.992804565466,-0.992793080403,-0.992781586215,-0.992770082901,-0.992758570462,-0.992747048897,-0.992735518208,-0.992723978393,-0.992712429454,-0.992700871389,-0.9926893042,-0.992677727887,-0.992666142449,-0.992654547887,-0.9926429442,-0.992631331389,-0.992619709454,-0.992608078395,-0.992596438213,-0.992584788906,-0.992573130476,-0.992561462923,-0.992549786246,-0.992538100446,-0.992526405522,-0.992514701476,-0.992502988306,-0.992491266014,-0.992479534599,-0.992467794061,-0.992456044401,-0.992444285618,-0.992432517713,-0.992420740685,-0.992408954536,-0.992397159264,-0.992385354871,-0.992373541356,-0.992361718719,-0.99234988696,-0.99233804608,-0.992326196079,-0.992314336957,-0.992302468713,-0.992290591348,-0.992278704863,-0.992266809256,-0.992254904529,-0.992242990681,-0.992231067713,-0.992219135625,-0.992207194416,-0.992195244087,-0.992183284638,-0.992171316069,-0.99215933838,-0.992147351571,-0.992135355643,-0.992123350596,-0.992111336428,-0.992099313142,-0.992087280737,-0.992075239212,-0.992063188569,-0.992051128806,-0.992039059925,-0.992026981926,-0.992014894808,-0.992002798571,-0.991990693216,-0.991978578744,-0.991966455153,-0.991954322444,-0.991942180617,-0.991930029672,-0.99191786961,-0.991905700431,-0.991893522134,-0.991881334719,-0.991869138188,-0.991856932539,-0.991844717774,-0.991832493892,-0.991820260893,-0.991808018777,-0.991795767545,-0.991783507197,-0.991771237732,-0.991758959152,-0.991746671455,-0.991734374642,-0.991722068713,-0.991709753669,-0.991697429509,-0.991685096234,-0.991672753843,-0.991660402337,-0.991648041716,-0.99163567198,-0.991623293129,-0.991610905163,-0.991598508083,-0.991586101888,-0.991573686579,-0.991561262155,-0.991548828617,-0.991536385965,-0.991523934199,-0.991511473319,-0.991499003325,-0.991486524218,-0.991474035997,-0.991461538662,-0.991449032215,-0.991436516654,-0.99142399198,-0.991411458193,-0.991398915294,-0.991386363281,-0.991373802156,-0.991361231919,-0.991348652569,-0.991336064107,-0.991323466532,-0.991310859846,-0.991298244048,-0.991285619138,-0.991272985116,-0.991260341983,-0.991247689738,-0.991235028382,-0.991222357915,-0.991209678336,-0.991196989647,-0.991184291847,-0.991171584936,-0.991158868914,-0.991146143782,-0.991133409539,-0.991120666186,-0.991107913723,-0.99109515215,-0.991082381467,-0.991069601674,-0.991056812772,-0.99104401476,-0.991031207638,-0.991018391407,-0.991005566067,-0.990992731618,-0.99097988806,-0.990967035392,-0.990954173617,-0.990941302732,-0.990928422739,-0.990915533638,-0.990902635428,-0.99088972811,-0.990876811684,-0.99086388615,-0.990850951508,-0.990838007759,-0.990825054902,-0.990812092938,-0.990799121866,-0.990786141687,-0.990773152401,-0.990760154008,-0.990747146508,-0.990734129902,-0.990721104188,-0.990708069369,-0.990695025443,-0.99068197241,-0.990668910272,-0.990655839027,-0.990642758677,-0.990629669221,-0.990616570659,-0.990603462992,-0.990590346219,-0.990577220341,-0.990564085358,-0.990550941269,-0.990537788076,-0.990524625778,-0.990511454375,-0.990498273868,-0.990485084256,-0.99047188554,-0.99045867772,-0.990445460796,-0.990432234768,-0.990418999635,-0.9904057554,-0.99039250206,-0.990379239617,-0.990365968071,-0.990352687421,-0.990339397669,-0.990326098813,-0.990312790855,-0.990299473793,-0.99028614763,-0.990272812363,-0.990259467994,-0.990246114523,-0.99023275195,-0.990219380275,-0.990205999498,-0.99019260962,-0.990179210639,-0.990165802557,-0.990152385374,-0.990138959089,-0.990125523704,-0.990112079217,-0.990098625629,-0.990085162941,-0.990071691152,-0.990058210262,-0.990044720272,-0.990031221182,-0.990017712992,-0.990004195701,-0.989990669311,-0.989977133821,-0.989963589231,-0.989950035542,-0.989936472753,-0.989922900865,-0.989909319878,-0.989895729791,-0.989882130606,-0.989868522322,-0.98985490494,-0.989841278459,-0.989827642879,-0.989813998202,-0.989800344426,-0.989786681552,-0.98977300958,-0.98975932851,-0.989745638343,-0.989731939078,-0.989718230716,-0.989704513256,-0.989690786699,-0.989677051046,-0.989663306295,-0.989649552448,-0.989635789504,-0.989622017463,-0.989608236326,-0.989594446093,-0.989580646764,-0.989566838338,-0.989553020817,-0.9895391942,-0.989525358487,-0.989511513679,-0.989497659776,-0.989483796777,-0.989469924683,-0.989456043494,-0.989442153211,-0.989428253832,-0.989414345359,-0.989400427791,-0.989386501129,-0.989372565373,-0.989358620523,-0.989344666579,-0.989330703541,-0.989316731409,-0.989302750183,-0.989288759865,-0.989274760452,-0.989260751947,-0.989246734349,-0.989232707657,-0.989218671873,-0.989204626996,-0.989190573027,-0.989176509965,-0.989162437811,-0.989148356564,-0.989134266226,-0.989120166796,-0.989106058273,-0.98909194066,-0.989077813955,-0.989063678158,-0.98904953327,-0.989035379291,-0.989021216221,-0.98900704406,-0.988992862808,-0.988978672466,-0.988964473033,-0.98895026451,-0.988936046897,-0.988921820194,-0.9889075844,-0.988893339517,-0.988879085544,-0.988864822482,-0.98885055033,-0.988836269089,-0.988821978758,-0.988807679339,-0.988793370831,-0.988779053234,-0.988764726548,-0.988750390774,-0.988736045911,-0.98872169196,-0.988707328921,-0.988692956794,-0.98867857558,-0.988664185277,-0.988649785887,-0.988635377409,-0.988620959844,-0.988606533192,-0.988592097453,-0.988577652627,-0.988563198714,-0.988548735715,-0.988534263629,-0.988519782456,-0.988505292198,-0.988490792853,-0.988476284422,-0.988461766905,-0.988447240303,-0.988432704615,-0.988418159841,-0.988403605982,-0.988389043038,-0.988374471009,-0.988359889895,-0.988345299697,-0.988330700413,-0.988316092045,-0.988301474593,-0.988286848056,-0.988272212435,-0.988257567731,-0.988242913942,-0.98822825107,-0.988213579114,-0.988198898075,-0.988184207952,-0.988169508746,-0.988154800457,-0.988140083086,-0.988125356631,-0.988110621094,-0.988095876474,-0.988081122772,-0.988066359988,-0.988051588122,-0.988036807173,-0.988022017143,-0.988007218031,-0.987992409838,-0.987977592563,-0.987962766207,-0.98794793077,-0.987933086252,-0.987918232653,-0.987903369973,-0.987888498213,-0.987873617372,-0.987858727451,-0.987843828449,-0.987828920368,-0.987814003206,-0.987799076965,-0.987784141645,-0.987769197244,-0.987754243765,-0.987739281206,-0.987724309568,-0.987709328851,-0.987694339055,-0.987679340181,-0.987664332228,-0.987649315197,-0.987634289087,-0.9876192539,-0.987604209634,-0.987589156291,-0.987574093869,-0.987559022371,-0.987543941794,-0.987528852141,-0.98751375341,-0.987498645603,-0.987483528718,-0.987468402757,-0.987453267719,-0.987438123605,-0.987422970414,-0.987407808147,-0.987392636804,-0.987377456385,-0.987362266891,-0.987347068321,-0.987331860675,-0.987316643954,-0.987301418158,-0.987286183287,-0.98727093934,-0.987255686319,-0.987240424224,-0.987225153054,-0.987209872809,-0.987194583491,-0.987179285098,-0.987163977631,-0.987148661091,-0.987133335477,-0.987118000789,-0.987102657028,-0.987087304193,-0.987071942286,-0.987056571306,-0.987041191253,-0.987025802127,-0.987010403928,-0.986994996658,-0.986979580315,-0.9869641549,-0.986948720413,-0.986933276854,-0.986917824223,-0.986902362521,-0.986886891748,-0.986871411903,-0.986855922987,-0.986840425,-0.986824917943,-0.986809401814,-0.986793876615,-0.986778342346,-0.986762799007,-0.986747246597,-0.986731685117,-0.986716114568,-0.986700534949,-0.98668494626,-0.986669348502,-0.986653741675,-0.986638125778,-0.986622500813,-0.986606866779,-0.986591223676,-0.986575571505,-0.986559910265,-0.986544239957,-0.986528560581,-0.986512872136,-0.986497174625,-0.986481468045,-0.986465752398,-0.986450027683,-0.986434293902,-0.986418551053,-0.986402799137,-0.986387038154,-0.986371268105,-0.986355488989,-0.986339700807,-0.986323903559,-0.986308097245,-0.986292281864,-0.986276457418,-0.986260623906,-0.986244781329,-0.986228929686,-0.986213068979,-0.986197199206,-0.986181320368,-0.986165432465,-0.986149535498,-0.986133629467,-0.986117714371,-0.98610179021,-0.986085856986,-0.986069914698,-0.986053963346,-0.986038002931,-0.986022033452,-0.98600605491,-0.985990067304,-0.985974070636,-0.985958064905,-0.985942050111,-0.985926026254,-0.985909993335,-0.985893951354,-0.985877900311,-0.985861840206,-0.985845771038,-0.98582969281,-0.985813605519,-0.985797509168,-0.985781403755,-0.985765289281,-0.985749165746,-0.98573303315,-0.985716891493,-0.985700740776,-0.985684580999,-0.985668412162,-0.985652234264,-0.985636047307,-0.985619851289,-0.985603646213,-0.985587432076,-0.985571208881,-0.985554976626,-0.985538735312,-0.98552248494,-0.985506225508,-0.985489957018,-0.98547367947,-0.985457392864,-0.985441097199,-0.985424792476,-0.985408478696,-0.985392155858,-0.985375823962,-0.985359483009,-0.985343132999,-0.985326773932,-0.985310405807,-0.985294028626,-0.985277642389,-0.985261247095,-0.985244842745,-0.985228429338,-0.985212006876,-0.985195575357,-0.985179134783,-0.985162685154,-0.985146226469,-0.985129758728,-0.985113281933,-0.985096796083,-0.985080301178,-0.985063797218,-0.985047284204,-0.985030762135,-0.985014231012,-0.984997690835,-0.984981141605,-0.98496458332,-0.984948015982,-0.984931439591,-0.984914854146,-0.984898259648,-0.984881656097,-0.984865043494,-0.984848421837,-0.984831791128,-0.984815151367,-0.984798502554,-0.984781844688,-0.984765177771,-0.984748501802,-0.984731816781,-0.984715122709,-0.984698419586,-0.984681707411,-0.984664986185,-0.984648255909,-0.984631516582,-0.984614768204,-0.984598010776,-0.984581244298,-0.98456446877,-0.984547684192,-0.984530890564,-0.984514087886,-0.984497276159,-0.984480455383,-0.984463625558,-0.984446786684,-0.98442993876,-0.984413081789,-0.984396215768,-0.984379340699,-0.984362456583,-0.984345563418,-0.984328661205,-0.984311749944,-0.984294829636,-0.98427790028,-0.984260961878,-0.984244014428,-0.984227057931,-0.984210092387,-0.984193117797,-0.98417613416,-0.984159141476,-0.984142139747,-0.984125128972,-0.98410810915,-0.984091080283,-0.984074042371,-0.984056995413,-0.98403993941,-0.984022874361,-0.984005800268,-0.98398871713,-0.983971624948,-0.983954523721,-0.983937413449,-0.983920294134,-0.983903165774,-0.983886028371,-0.983868881924,-0.983851726434,-0.9838345619,-0.983817388323,-0.983800205703,-0.98378301404,-0.983765813334,-0.983748603586,-0.983731384795,-0.983714156962,-0.983696920087,-0.98367967417,-0.983662419212,-0.983645155211,-0.98362788217,-0.983610600087,-0.983593308962,-0.983576008797,-0.983558699591,-0.983541381345,-0.983524054058,-0.98350671773,-0.983489372362,-0.983472017955,-0.983454654507,-0.98343728202,-0.983419900493,-0.983402509927,-0.983385110322,-0.983367701677,-0.983350283994,-0.983332857272,-0.983315421511,-0.983297976712,-0.983280522874,-0.983263059999,-0.983245588085,-0.983228107134,-0.983210617145,-0.983193118119,-0.983175610055,-0.983158092955,-0.983140566817,-0.983123031642,-0.983105487431,-0.983087934184,-0.983070371899,-0.983052800579,-0.983035220223,-0.983017630831,-0.983000032403,-0.98298242494,-0.982964808441,-0.982947182908,-0.982929548339,-0.982911904735,-0.982894252096,-0.982876590423,-0.982858919716,-0.982841239974,-0.982823551199,-0.982805853389,-0.982788146546,-0.982770430669,-0.982752705758,-0.982734971815,-0.982717228838,-0.982699476829,-0.982681715786,-0.982663945711,-0.982646166604,-0.982628378464,-0.982610581292,-0.982592775089,-0.982574959853,-0.982557135586,-0.982539302287,-0.982521459958,-0.982503608597,-0.982485748205,-0.982467878782,-0.982450000328,-0.982432112845,-0.98241421633,-0.982396310786,-0.982378396212,-0.982360472608,-0.982342539974,-0.982324598311,-0.982306647618,-0.982288687896,-0.982270719146,-0.982252741366,-0.982234754558,-0.982216758721,-0.982198753856,-0.982180739963,-0.982162717042,-0.982144685093,-0.982126644117,-0.982108594113,-0.982090535081,-0.982072467022,-0.982054389937,-0.982036303824,-0.982018208685,-0.98200010452,-0.981981991328,-0.98196386911,-0.981945737865,-0.981927597595,-0.9819094483,-0.981891289979,-0.981873122632,-0.981854946261,-0.981836760864,-0.981818566443,-0.981800362996,-0.981782150526,-0.981763929031,-0.981745698512,-0.981727458969,-0.981709210402,-0.981690952811,-0.981672686197,-0.98165441056,-0.981636125899,-0.981617832215,-0.981599529509,-0.98158121778,-0.981562897028,-0.981544567255,-0.981526228459,-0.981507880641,-0.981489523801,-0.98147115794,-0.981452783057,-0.981434399152,-0.981416006227,-0.981397604281,-0.981379193314,-0.981360773326,-0.981342344318,-0.981323906289,-0.981305459241,-0.981287003172,-0.981268538084,-0.981250063976,-0.981231580849,-0.981213088702,-0.981194587536,-0.981176077352,-0.981157558148,-0.981139029926,-0.981120492686,-0.981101946427,-0.98108339115,-0.981064826856,-0.981046253543,-0.981027671213,-0.981009079866,-0.980990479502,-0.98097187012,-0.980953251721,-0.980934624306,-0.980915987874,-0.980897342426,-0.980878687962,-0.980860024482,-0.980841351985,-0.980822670473,-0.980803979946,-0.980785280403,-0.980766571845,-0.980747854272,-0.980729127685,-0.980710392082,-0.980691647465,-0.980672893834,-0.980654131189,-0.98063535953,-0.980616578857,-0.98059778917,-0.98057899047,-0.980560182756,-0.98054136603,-0.98052254029,-0.980503705538,-0.980484861773,-0.980466008996,-0.980447147207,-0.980428276405,-0.980409396592,-0.980390507767,-0.98037160993,-0.980352703082,-0.980333787223,-0.980314862353,-0.980295928472,-0.98027698558,-0.980258033678,-0.980239072766,-0.980220102843,-0.980201123911,-0.980182135968,-0.980163139016,-0.980144133055,-0.980125118084,-0.980106094104,-0.980087061115,-0.980068019118,-0.980048968112,-0.980029908097,-0.980010839074,-0.979991761043,-0.979972674005,-0.979953577958,-0.979934472905,-0.979915358843,-0.979896235775,-0.9798771037,-0.979857962617,-0.979838812528,-0.979819653433,-0.979800485331,-0.979781308224,-0.97976212211,-0.979742926991,-0.979723722866,-0.979704509735,-0.979685287599,-0.979666056459,-0.979646816313,-0.979627567163,-0.979608309008,-0.979589041849,-0.979569765685,-0.979550480518,-0.979531186347,-0.979511883172,-0.979492570994,-0.979473249812,-0.979453919628,-0.97943458044,-0.97941523225,-0.979395875057,-0.979376508861,-0.979357133664,-0.979337749464,-0.979318356263,-0.97929895406,-0.979279542855,-0.979260122649,-0.979240693442,-0.979221255234,-0.979201808025,-0.979182351816,-0.979162886606,-0.979143412395,-0.979123929185,-0.979104436975,-0.979084935765,-0.979065425556,-0.979045906347,-0.979026378139,-0.979006840932,-0.978987294726,-0.978967739522,-0.978948175319,-0.978928602118,-0.978909019919,-0.978889428721,-0.978869828527,-0.978850219334,-0.978830601144,-0.978810973957,-0.978791337773,-0.978771692592,-0.978752038415,-0.978732375241,-0.97871270307,-0.978693021904,-0.978673331741,-0.978653632583,-0.978633924429,-0.97861420728,-0.978594481136,-0.978574745997,-0.978555001862,-0.978535248733,-0.97851548661,-0.978495715492,-0.978475935381,-0.978456146275,-0.978436348175,-0.978416541082,-0.978396724996,-0.978376899916,-0.978357065843,-0.978337222778,-0.97831737072,-0.978297509669,-0.978277639626,-0.978257760591,-0.978237872564,-0.978217975545,-0.978198069534,-0.978178154533,-0.97815823054,-0.978138297556,-0.978118355581,-0.978098404615,-0.978078444659,-0.978058475713,-0.978038497777,-0.978018510851,-0.977998514935,-0.977978510029,-0.977958496134,-0.97793847325,-0.977918441377,-0.977898400515,-0.977878350664,-0.977858291825,-0.977838223998,-0.977818147183,-0.977798061379,-0.977777966588,-0.97775786281,-0.977737750044,-0.977717628291,-0.977697497551,-0.977677357825,-0.977657209111,-0.977637051411,-0.977616884725,-0.977596709053,-0.977576524396,-0.977556330752,-0.977536128123,-0.977515916509,-0.977495695909,-0.977475466325,-0.977455227756,-0.977434980202,-0.977414723664,-0.977394458142,-0.977374183635,-0.977353900145,-0.977333607671,-0.977313306214,-0.977292995774,-0.977272676351,-0.977252347944,-0.977232010555,-0.977211664184,-0.97719130883,-0.977170944494,-0.977150571176,-0.977130188876,-0.977109797595,-0.977089397332,-0.977068988088,-0.977048569863,-0.977028142658,-0.977007706471,-0.976987261305,-0.976966807158,-0.976946344031,-0.976925871924,-0.976905390837,-0.976884900771,-0.976864401725,-0.976843893701,-0.976823376697,-0.976802850715,-0.976782315754,-0.976761771815,-0.976741218897,-0.976720657002,-0.976700086129,-0.976679506278,-0.97665891745,-0.976638319644,-0.976617712862,-0.976597097102,-0.976576472366,-0.976555838653,-0.976535195965,-0.9765145443,-0.976493883659,-0.976473214042,-0.97645253545,-0.976431847883,-0.97641115134,-0.976390445822,-0.97636973133,-0.976349007863,-0.976328275422,-0.976307534006,-0.976286783617,-0.976266024253,-0.976245255916,-0.976224478606,-0.976203692322,-0.976182897066,-0.976162092836,-0.976141279634,-0.976120457459,-0.976099626312,-0.976078786193,-0.976057937102,-0.976037079039,-0.976016212005,-0.975995335999,-0.975974451022,-0.975953557075,-0.975932654156,-0.975911742267,-0.975890821408,-0.975869891578,-0.975848952779,-0.975828005009,-0.975807048271,-0.975786082562,-0.975765107885,-0.975744124238,-0.975723131623,-0.975702130039,-0.975681119486,-0.975660099965,-0.975639071476,-0.97561803402,-0.975596987595,-0.975575932204,-0.975554867844,-0.975533794518,-0.975512712225,-0.975491620965,-0.975470520739,-0.975449411546,-0.975428293388,-0.975407166263,-0.975386030173,-0.975364885117,-0.975343731095,-0.975322568109,-0.975301396158,-0.975280215241,-0.975259025361,-0.975237826516,-0.975216618706,-0.975195401933,-0.975174176196,-0.975152941495,-0.975131697831,-0.975110445204,-0.975089183614,-0.975067913061,-0.975046633545,-0.975025345067,-0.975004047627,-0.974982741224,-0.97496142586,-0.974940101534,-0.974918768247,-0.974897425999,-0.974876074789,-0.974854714619,-0.974833345488,-0.974811967396,-0.974790580344,-0.974769184333,-0.974747779361,-0.974726365429,-0.974704942539,-0.974683510689,-0.974662069879,-0.974640620111,-0.974619161384,-0.974597693699,-0.974576217056,-0.974554731454,-0.974533236894,-0.974511733377,-0.974490220902,-0.97446869947,-0.974447169081,-0.974425629735,-0.974404081432,-0.974382524173,-0.974360957957,-0.974339382786,-0.974317798658,-0.974296205575,-0.974274603536,-0.974252992541,-0.974231372592,-0.974209743688,-0.974188105829,-0.974166459015,-0.974144803247,-0.974123138525,-0.97410146485,-0.97407978222,-0.974058090637,-0.9740363901,-0.974014680611,-0.973992962168,-0.973971234773,-0.973949498425,-0.973927753125,-0.973905998872,-0.973884235668,-0.973862463512,-0.973840682405,-0.973818892346,-0.973797093336,-0.973775285375,-0.973753468463,-0.973731642601,-0.973709807788,-0.973687964026,-0.973666111313,-0.973644249651,-0.973622379039,-0.973600499478,-0.973578610967,-0.973556713508,-0.9735348071,-0.973512891744,-0.973490967439,-0.973469034186,-0.973447091985,-0.973425140837,-0.973403180741,-0.973381211697,-0.973359233707,-0.973337246769,-0.973315250885,-0.973293246055,-0.973271232278,-0.973249209555,-0.973227177886,-0.973205137271,-0.973183087711,-0.973161029206,-0.973138961755,-0.97311688536,-0.97309480002,-0.973072705735,-0.973050602507,-0.973028490334,-0.973006369217,-0.972984239157,-0.972962100153,-0.972939952206,-0.972917795315,-0.972895629482,-0.972873454707,-0.972851270989,-0.972829078328,-0.972806876726,-0.972784666182,-0.972762446696,-0.972740218268,-0.9727179809,-0.97269573459,-0.97267347934,-0.972651215149,-0.972628942018,-0.972606659946,-0.972584368935,-0.972562068983,-0.972539760093,-0.972517442262,-0.972495115493,-0.972472779784,-0.972450435137,-0.972428081552,-0.972405719027,-0.972383347565,-0.972360967165,-0.972338577827,-0.972316179552,-0.972293772339,-0.972271356189,-0.972248931102,-0.972226497079,-0.972204054119,-0.972181602223,-0.97215914139,-0.972136671622,-0.972114192918,-0.972091705279,-0.972069208704,-0.972046703195,-0.97202418875,-0.972001665371,-0.971979133057,-0.97195659181,-0.971934041628,-0.971911482512,-0.971888914463,-0.97186633748,-0.971843751564,-0.971821156716,-0.971798552934,-0.97177594022,-0.971753318574,-0.971730687995,-0.971708048484,-0.971685400042,-0.971662742668,-0.971640076363,-0.971617401127,-0.97159471696,-0.971572023862,-0.971549321833,-0.971526610875,-0.971503890986,-0.971481162168,-0.97145842442,-0.971435677742,-0.971412922135,-0.971390157599,-0.971367384135,-0.971344601741,-0.97132181042,-0.97129901017,-0.971276200992,-0.971253382887,-0.971230555853,-0.971207719893,-0.971184875005,-0.971162021191,-0.97113915845,-0.971116286782,-0.971093406188,-0.971070516668,-0.971047618222,-0.97102471085,-0.971001794553,-0.970978869331,-0.970955935184,-0.970932992111,-0.970910040115,-0.970887079193,-0.970864109348,-0.970841130579,-0.970818142886,-0.970795146269,-0.970772140729,-0.970749126266,-0.97072610288,-0.970703070571,-0.97068002934,-0.970656979186,-0.970633920111,-0.970610852113,-0.970587775194,-0.970564689354,-0.970541594592,-0.970518490909,-0.970495378306,-0.970472256781,-0.970449126337,-0.970425986972,-0.970402838688,-0.970379681483,-0.970356515359,-0.970333340316,-0.970310156354,-0.970286963473,-0.970263761673,-0.970240550955,-0.970217331318,-0.970194102763,-0.970170865291,-0.970147618901,-0.970124363594,-0.970101099369,-0.970077826228,-0.970054544169,-0.970031253195,-0.970007953303,-0.969984644496,-0.969961326773,-0.969938000134,-0.96991466458,-0.969891320111,-0.969867966726,-0.969844604427,-0.969821233213,-0.969797853084,-0.969774464042,-0.969751066085,-0.969727659215,-0.969704243431,-0.969680818734,-0.969657385124,-0.969633942601,-0.969610491166,-0.969587030817,-0.969563561557,-0.969540083385,-0.9695165963,-0.969493100305,-0.969469595397,-0.969446081579,-0.96942255885,-0.96939902721,-0.969375486659,-0.969351937199,-0.969328378828,-0.969304811547,-0.969281235357,-0.969257650257,-0.969234056248,-0.96921045333,-0.969186841503,-0.969163220768,-0.969139591124,-0.969115952572,-0.969092305113,-0.969068648745,-0.96904498347,-0.969021309288,-0.968997626199,-0.968973934203,-0.9689502333,-0.968926523492,-0.968902804776,-0.968879077155,-0.968855340629,-0.968831595196,-0.968807840859,-0.968784077616,-0.968760305469,-0.968736524416,-0.96871273446,-0.968688935599,-0.968665127834,-0.968641311166,-0.968617485594,-0.968593651118,-0.96856980774,-0.968545955458,-0.968522094274,-0.968498224188,-0.968474345199,-0.968450457308,-0.968426560516,-0.968402654822,-0.968378740226,-0.96835481673,-0.968330884332,-0.968306943034,-0.968282992836,-0.968259033737,-0.968235065738,-0.968211088839,-0.968187103041,-0.968163108343,-0.968139104746,-0.968115092251,-0.968091070856,-0.968067040563,-0.968043001372,-0.968018953283,-0.967994896296,-0.967970830411,-0.967946755629,-0.96792267195,-0.967898579374,-0.967874477901,-0.967850367531,-0.967826248266,-0.967802120104,-0.967777983047,-0.967753837093,-0.967729682245,-0.967705518501,-0.967681345863,-0.967657164329,-0.967632973902,-0.967608774579,-0.967584566363,-0.967560349253,-0.96753612325,-0.967511888353,-0.967487644563,-0.96746339188,-0.967439130304,-0.967414859835,-0.967390580475,-0.967366292222,-0.967341995078,-0.967317689042,-0.967293374114,-0.967269050296,-0.967244717586,-0.967220375986,-0.967196025496,-0.967171666115,-0.967147297844,-0.967122920683,-0.967098534633,-0.967074139693,-0.967049735864,-0.967025323146,-0.96700090154,-0.966976471045,-0.966952031662,-0.966927583391,-0.966903126232,-0.966878660185,-0.966854185251,-0.96682970143,-0.966805208722,-0.966780707128,-0.966756196647,-0.966731677279,-0.966707149026,-0.966682611887,-0.966658065863,-0.966633510953,-0.966608947158,-0.966584374478,-0.966559792914,-0.966535202465,-0.966510603132,-0.966485994915,-0.966461377814,-0.96643675183,-0.966412116963,-0.966387473212,-0.966362820579,-0.966338159063,-0.966313488665,-0.966288809384,-0.966264121222,-0.966239424178,-0.966214718252,-0.966190003445,-0.966165279758,-0.966140547189,-0.96611580574,-0.96609105541,-0.966066296201,-0.966041528111,-0.966016751142,-0.965991965294,-0.965967170566,-0.965942366959,-0.965917554474,-0.96589273311,-0.965867902868,-0.965843063748,-0.96581821575,-0.965793358874,-0.965768493121,-0.965743618491,-0.965718734984,-0.9656938426,-0.96566894134,-0.965644031204,-0.965619112191,-0.965594184303,-0.965569247539,-0.9655443019,-0.965519347386,-0.965494383997,-0.965469411734,-0.965444430596,-0.965419440584,-0.965394441698,-0.965369433938,-0.965344417305,-0.965319391798,-0.965294357419,-0.965269314167,-0.965244262042,-0.965219201045,-0.965194131176,-0.965169052435,-0.965143964822,-0.965118868338,-0.965093762983,-0.965068648757,-0.96504352566,-0.965018393692,-0.964993252855,-0.964968103147,-0.96494294457,-0.964917777123,-0.964892600807,-0.964867415622,-0.964842221567,-0.964817018645,-0.964791806853,-0.964766586194,-0.964741356667,-0.964716118272,-0.964690871009,-0.96466561488,-0.964640349883,-0.96461507602,-0.96458979329,-0.964564501694,-0.964539201231,-0.964513891903,-0.964488573709,-0.96446324665,-0.964437910726,-0.964412565937,-0.964387212283,-0.964361849765,-0.964336478382,-0.964311098136,-0.964285709025,-0.964260311052,-0.964234904215,-0.964209488515,-0.964184063952,-0.964158630526,-0.964133188239,-0.964107737089,-0.964082277077,-0.964056808204,-0.964031330469,-0.964005843873,-0.963980348416,-0.963954844098,-0.96392933092,-0.963903808882,-0.963878277984,-0.963852738226,-0.963827189608,-0.963801632131,-0.963776065795,-0.963750490601,-0.963724906547,-0.963699313636,-0.963673711866,-0.963648101238,-0.963622481753,-0.96359685341,-0.96357121621,-0.963545570153,-0.96351991524,-0.96349425147,-0.963468578844,-0.963442897361,-0.963417207023,-0.96339150783,-0.963365799781,-0.963340082877,-0.963314357118,-0.963288622505,-0.963262879038,-0.963237126716,-0.96321136554,-0.963185595511,-0.963159816628,-0.963134028893,-0.963108232304,-0.963082426863,-0.963056612569,-0.963030789423,-0.963004957425,-0.962979116575,-0.962953266874,-0.962927408321,-0.962901540918,-0.962875664663,-0.962849779559,-0.962823885603,-0.962797982798,-0.962772071143,-0.962746150638,-0.962720221284,-0.962694283081,-0.962668336029,-0.962642380129,-0.96261641538,-0.962590441782,-0.962564459337,-0.962538468044,-0.962512467904,-0.962486458917,-0.962460441082,-0.962434414401,-0.962408378873,-0.962382334499,-0.962356281279,-0.962330219214,-0.962304148302,-0.962278068546,-0.962251979944,-0.962225882498,-0.962199776207,-0.962173661072,-0.962147537092,-0.962121404269,-0.962095262602,-0.962069112092,-0.962042952739,-0.962016784542,-0.961990607503,-0.961964421622,-0.961938226899,-0.961912023333,-0.961885810926,-0.961859589677,-0.961833359588,-0.961807120657,-0.961780872885,-0.961754616274,-0.961728350821,-0.961702076529,-0.961675793397,-0.961649501426,-0.961623200615,-0.961596890965,-0.961570572477,-0.96154424515,-0.961517908984,-0.961491563981,-0.961465210139,-0.96143884746,-0.961412475944,-0.961386095591,-0.961359706401,-0.961333308374,-0.961306901511,-0.961280485811,-0.961254061276,-0.961227627905,-0.961201185699,-0.961174734658,-0.961148274781,-0.96112180607,-0.961095328525,-0.961068842146,-0.961042346932,-0.961015842885,-0.960989330004,-0.96096280829,-0.960936277743,-0.960909738364,-0.960883190152,-0.960856633108,-0.960830067231,-0.960803492523,-0.960776908984,-0.960750316613,-0.960723715411,-0.960697105379,-0.960670486516,-0.960643858823,-0.960617222299,-0.960590576946,-0.960563922763,-0.960537259752,-0.96051058791,-0.960483907241,-0.960457217742,-0.960430519416,-0.960403812261,-0.960377096278,-0.960350371468,-0.96032363783,-0.960296895366,-0.960270144074,-0.960243383956,-0.960216615012,-0.960189837241,-0.960163050645,-0.960136255223,-0.960109450976,-0.960082637903,-0.960055816006,-0.960028985284,-0.960002145738,-0.959975297367,-0.959948440173,-0.959921574155,-0.959894699313,-0.959867815649,-0.959840923161,-0.959814021851,-0.959787111719,-0.959760192764,-0.959733264988,-0.959706328389,-0.95967938297,-0.959652428729,-0.959625465667,-0.959598493785,-0.959571513082,-0.959544523559,-0.959517525216,-0.959490518053,-0.959463502071,-0.95943647727,-0.95940944365,-0.959382401211,-0.959355349954,-0.959328289878,-0.959301220985,-0.959274143274,-0.959247056745,-0.9592199614,-0.959192857237,-0.959165744258,-0.959138622462,-0.95911149185,-0.959084352422,-0.959057204178,-0.959030047119,-0.959002881245,-0.958975706556,-0.958948523052,-0.958921330733,-0.958894129601,-0.958866919654,-0.958839700894,-0.95881247332,-0.958785236933,-0.958757991733,-0.958730737721,-0.958703474896,-0.958676203259,-0.95864892281,-0.958621633549,-0.958594335476,-0.958567028593,-0.958539712899,-0.958512388394,-0.958485055078,-0.958457712952,-0.958430362017,-0.958403002271,-0.958375633716,-0.958348256352,-0.95832087018,-0.958293475198,-0.958266071408,-0.95823865881,-0.958211237404,-0.95818380719,-0.958156368169,-0.95812892034,-0.958101463705,-0.958073998263,-0.958046524015,-0.95801904096,-0.9579915491,-0.957964048434,-0.957936538962,-0.957909020686,-0.957881493604,-0.957853957718,-0.957826413028,-0.957798859533,-0.957771297234,-0.957743726132,-0.957716146227,-0.957688557518,-0.957660960006,-0.957633353692,-0.957605738576,-0.957578114657,-0.957550481937,-0.957522840414,-0.957495190091,-0.957467530967,-0.957439863041,-0.957412186315,-0.957384500789,-0.957356806463,-0.957329103336,-0.957301391411,-0.957273670686,-0.957245941162,-0.957218202839,-0.957190455717,-0.957162699798,-0.95713493508,-0.957107161564,-0.957079379251,-0.957051588141,-0.957023788234,-0.95699597953,-0.956968162029,-0.956940335732,-0.956912500639,-0.956884656751,-0.956856804067,-0.956828942588,-0.956801072313,-0.956773193244,-0.956745305381,-0.956717408723,-0.956689503272,-0.956661589027,-0.956633665988,-0.956605734156,-0.956577793531,-0.956549844114,-0.956521885904,-0.956493918902,-0.956465943109,-0.956437958523,-0.956409965146,-0.956381962978,-0.95635395202,-0.95632593227,-0.95629790373,-0.956269866401,-0.956241820281,-0.956213765372,-0.956185701673,-0.956157629186,-0.956129547909,-0.956101457844,-0.956073358991,-0.95604525135,-0.956017134921,-0.955989009705,-0.955960875701,-0.95593273291,-0.955904581333,-0.955876420969,-0.955848251819,-0.955820073883,-0.955791887161,-0.955763691654,-0.955735487361,-0.955707274284,-0.955679052422,-0.955650821776,-0.955622582345,-0.955594334131,-0.955566077133,-0.955537811351,-0.955509536787,-0.95548125344,-0.95545296131,-0.955424660398,-0.955396350703,-0.955368032227,-0.95533970497,-0.955311368931,-0.955283024111,-0.955254670511,-0.955226308129,-0.955197936968,-0.955169557027,-0.955141168306,-0.955112770805,-0.955084364526,-0.955055949467,-0.95502752563,-0.954999093014,-0.95497065162,-0.954942201448,-0.954913742499,-0.954885274772,-0.954856798269,-0.954828312988,-0.954799818931,-0.954771316097,-0.954742804488,-0.954714284102,-0.954685754941,-0.954657217005,-0.954628670294,-0.954600114808,-0.954571550548,-0.954542977513,-0.954514395704,-0.954485805122,-0.954457205767,-0.954428597638,-0.954399980736,-0.954371355061,-0.954342720615,-0.954314077396,-0.954285425405,-0.954256764643,-0.954228095109,-0.954199416804,-0.954170729729,-0.954142033883,-0.954113329267,-0.95408461588,-0.954055893724,-0.954027162799,-0.953998423104,-0.95396967464,-0.953940917408,-0.953912151407,-0.953883376638,-0.953854593101,-0.953825800797,-0.953796999725,-0.953768189886,-0.95373937128,-0.953710543908,-0.953681707769,-0.953652862865,-0.953624009194,-0.953595146758,-0.953566275557,-0.953537395591,-0.95350850686,-0.953479609365,-0.953450703105,-0.953421788082,-0.953392864295,-0.953363931744,-0.953334990431,-0.953306040354,-0.953277081515,-0.953248113914,-0.95321913755,-0.953190152425,-0.953161158539,-0.953132155891,-0.953103144482,-0.953074124312,-0.953045095382,-0.953016057692,-0.952987011242,-0.952957956032,-0.952928892063,-0.952899819334,-0.952870737847,-0.952841647601,-0.952812548597,-0.952783440835,-0.952754324315,-0.952725199038,-0.952696065003,-0.952666922211,-0.952637770663,-0.952608610358,-0.952579441297,-0.95255026348,-0.952521076908,-0.95249188158,-0.952462677497,-0.952433464659,-0.952404243066,-0.95237501272,-0.952345773619,-0.952316525765,-0.952287269157,-0.952258003795,-0.952228729681,-0.952199446814,-0.952170155195,-0.952140854824,-0.952111545701,-0.952082227826,-0.9520529012,-0.952023565822,-0.951994221694,-0.951964868816,-0.951935507187,-0.951906136808,-0.951876757679,-0.951847369801,-0.951817973174,-0.951788567798,-0.951759153673,-0.9517297308,-0.951700299179,-0.95167085881,-0.951641409694,-0.95161195183,-0.951582485219,-0.951553009861,-0.951523525757,-0.951494032907,-0.951464531311,-0.951435020969,-0.951405501882,-0.951375974049,-0.951346437472,-0.95131689215,-0.951287338084,-0.951257775274,-0.95122820372,-0.951198623423,-0.951169034383,-0.951139436599,-0.951109830073,-0.951080214804,-0.951050590794,-0.951020958041,-0.950991316547,-0.950961666312,-0.950932007335,-0.950902339618,-0.95087266316,-0.950842977962,-0.950813284024,-0.950783581347,-0.95075386993,-0.950724149774,-0.950694420879,-0.950664683245,-0.950634936874,-0.950605181764,-0.950575417916,-0.950545645331,-0.950515864009,-0.950486073949,-0.950456275154,-0.950426467621,-0.950396651353,-0.950366826349,-0.950336992609,-0.950307150134,-0.950277298924,-0.950247438979,-0.950217570299,-0.950187692886,-0.950157806738,-0.950127911857,-0.950098008243,-0.950068095895,-0.950038174815,-0.950008245002,-0.949978306457,-0.949948359179,-0.94991840317,-0.94988843843,-0.949858464959,-0.949828482756,-0.949798491823,-0.94976849216,-0.949738483766,-0.949708466643,-0.94967844079,-0.949648406208,-0.949618362897,-0.949588310857,-0.949558250089,-0.949528180593,-0.949498102369,-0.949468015417,-0.949437919738,-0.949407815332,-0.9493777022,-0.94934758034,-0.949317449755,-0.949287310444,-0.949257162406,-0.949227005644,-0.949196840157,-0.949166665944,-0.949136483008,-0.949106291347,-0.949076090961,-0.949045881853,-0.949015664021,-0.948985437465,-0.948955202187,-0.948924958186,-0.948894705463,-0.948864444018,-0.948834173851,-0.948803894963,-0.948773607353,-0.948743311023,-0.948713005971,-0.9486826922,-0.948652369708,-0.948622038497,-0.948591698566,-0.948561349916,-0.948530992547,-0.948500626459,-0.948470251652,-0.948439868128,-0.948409475886,-0.948379074926,-0.948348665249,-0.948318246855,-0.948287819744,-0.948257383916,-0.948226939373,-0.948196486113,-0.948166024138,-0.948135553448,-0.948105074043,-0.948074585922,-0.948044089088,-0.948013583539,-0.947983069276,-0.947952546299,-0.947922014609,-0.947891474206,-0.94786092509,-0.947830367262,-0.947799800721,-0.947769225469,-0.947738641505,-0.947708048829,-0.947677447442,-0.947646837344,-0.947616218536,-0.947585591018,-0.947554954789,-0.947524309851,-0.947493656203,-0.947462993846,-0.947432322781,-0.947401643006,-0.947370954524,-0.947340257333,-0.947309551435,-0.947278836829,-0.947248113516,-0.947217381496,-0.947186640769,-0.947155891336,-0.947125133198,-0.947094366353,-0.947063590803,-0.947032806547,-0.947002013587,-0.946971211922,-0.946940401552,-0.946909582479,-0.946878754702,-0.946847918221,-0.946817073037,-0.94678621915,-0.946755356561,-0.946724485269,-0.946693605275,-0.946662716579,-0.946631819182,-0.946600913083,-0.946569998284,-0.946539074784,-0.946508142583,-0.946477201682,-0.946446252082,-0.946415293782,-0.946384326783,-0.946353351084,-0.946322366688,-0.946291373592,-0.946260371799,-0.946229361308,-0.946198342119,-0.946167314233,-0.94613627765,-0.94610523237,-0.946074178394,-0.946043115722,-0.946012044354,-0.945980964291,-0.945949875532,-0.945918778078,-0.94588767193,-0.945856557087,-0.94582543355,-0.945794301319,-0.945763160395,-0.945732010777,-0.945700852467,-0.945669685464,-0.945638509768,-0.945607325381,-0.945576132301,-0.94554493053,-0.945513720068,-0.945482500914,-0.945451273071,-0.945420036536,-0.945388791312,-0.945357537398,-0.945326274794,-0.945295003501,-0.945263723519,-0.945232434848,-0.945201137489,-0.945169831442,-0.945138516708,-0.945107193285,-0.945075861176,-0.945044520379,-0.945013170896,-0.944981812727,-0.944950445871,-0.94491907033,-0.944887686103,-0.944856293191,-0.944824891594,-0.944793481312,-0.944762062346,-0.944730634696,-0.944699198362,-0.944667753345,-0.944636299645,-0.944604837261,-0.944573366196,-0.944541886447,-0.944510398017,-0.944478900905,-0.944447395112,-0.944415880637,-0.944384357482,-0.944352825646,-0.944321285129,-0.944289735933,-0.944258178057,-0.944226611501,-0.944195036267,-0.944163452353,-0.944131859761,-0.944100258491,-0.944068648543,-0.944037029917,-0.944005402614,-0.943973766634,-0.943942121976,-0.943910468643,-0.943878806633,-0.943847135947,-0.943815456586,-0.943783768549,-0.943752071837,-0.94372036645,-0.943688652389,-0.943656929654,-0.943625198245,-0.943593458162,-0.943561709406,-0.943529951977,-0.943498185875,-0.943466411101,-0.943434627654,-0.943402835536,-0.943371034746,-0.943339225285,-0.943307407153,-0.94327558035,-0.943243744877,-0.943211900734,-0.943180047921,-0.943148186438,-0.943116316287,-0.943084437466,-0.943052549977,-0.943020653819,-0.942988748994,-0.9429568355,-0.942924913339,-0.942892982511,-0.942861043016,-0.942829094855,-0.942797138027,-0.942765172533,-0.942733198374,-0.942701215549,-0.942669224059,-0.942637223904,-0.942605215085,-0.942573197601,-0.942541171454,-0.942509136643,-0.942477093168,-0.942445041031,-0.942412980231,-0.942380910768,-0.942348832643,-0.942316745857,-0.942284650408,-0.942252546299,-0.942220433528,-0.942188312097,-0.942156182005,-0.942124043254,-0.942091895842,-0.942059739771,-0.942027575041,-0.941995401652,-0.941963219604,-0.941931028898,-0.941898829534,-0.941866621512,-0.941834404832,-0.941802179496,-0.941769945503,-0.941737702853,-0.941705451547,-0.941673191585,-0.941640922967,-0.941608645694,-0.941576359766,-0.941544065183,-0.941511761946,-0.941479450054,-0.941447129509,-0.94141480031,-0.941382462457,-0.941350115952,-0.941317760794,-0.941285396984,-0.941253024521,-0.941220643407,-0.941188253642,-0.941155855225,-0.941123448157,-0.941091032438,-0.94105860807,-0.941026175051,-0.940993733382,-0.940961283065,-0.940928824098,-0.940896356482,-0.940863880217,-0.940831395305,-0.940798901744,-0.940766399536,-0.940733888681,-0.940701369179,-0.940668841029,-0.940636304234,-0.940603758792,-0.940571204705,-0.940538641972,-0.940506070593,-0.94047349057,-0.940440901902,-0.94040830459,-0.940375698634,-0.940343084034,-0.94031046079,-0.940277828904,-0.940245188375,-0.940212539203,-0.940179881389,-0.940147214933,-0.940114539835,-0.940081856096,-0.940049163716,-0.940016462695,-0.939983753034,-0.939951034733,-0.939918307792,-0.939885572211,-0.939852827991,-0.939820075132,-0.939787313635,-0.939754543499,-0.939721764725,-0.939688977314,-0.939656181265,-0.939623376579,-0.939590563256,-0.939557741296,-0.939524910701,-0.939492071469,-0.939459223602,-0.9394263671,-0.939393501962,-0.93936062819,-0.939327745784,-0.939294854743,-0.939261955069,-0.939229046761,-0.93919612982,-0.939163204246,-0.939130270039,-0.9390973272,-0.939064375729,-0.939031415627,-0.938998446893,-0.938965469528,-0.938932483532,-0.938899488906,-0.938866485649,-0.938833473763,-0.938800453247,-0.938767424102,-0.938734386328,-0.938701339926,-0.938668284895,-0.938635221236,-0.938602148949,-0.938569068035,-0.938535978494,-0.938502880325,-0.938469773531,-0.93843665811,-0.938403534063,-0.938370401391,-0.938337260093,-0.93830411017,-0.938270951623,-0.938237784451,-0.938204608655,-0.938171424236,-0.938138231193,-0.938105029527,-0.938071819238,-0.938038600326,-0.938005372792,-0.937972136636,-0.937938891859,-0.93790563846,-0.93787237644,-0.937839105799,-0.937805826538,-0.937772538657,-0.937739242156,-0.937705937036,-0.937672623297,-0.937639300938,-0.937605969961,-0.937572630366,-0.937539282152,-0.937505925321,-0.937472559873,-0.937439185808,-0.937405803126,-0.937372411827,-0.937339011913,-0.937305603382,-0.937272186236,-0.937238760475,-0.937205326099,-0.937171883108,-0.937138431503,-0.937104971284,-0.937071502452,-0.937038025006,-0.937004538947,-0.936971044275,-0.936937540991,-0.936904029095,-0.936870508586,-0.936836979467,-0.936803441736,-0.936769895394,-0.936736340442,-0.936702776879,-0.936669204707,-0.936635623924,-0.936602034533,-0.936568436532,-0.936534829923,-0.936501214705,-0.936467590879,-0.936433958445,-0.936400317404,-0.936366667756,-0.9363330095,-0.936299342638,-0.93626566717,-0.936231983096,-0.936198290416,-0.936164589131,-0.936130879241,-0.936097160746,-0.936063433647,-0.936029697944,-0.935995953637,-0.935962200726,-0.935928439213,-0.935894669096,-0.935860890377,-0.935827103055,-0.935793307132,-0.935759502607,-0.935725689481,-0.935691867754,-0.935658037426,-0.935624198498,-0.93559035097,-0.935556494841,-0.935522630114,-0.935488756787,-0.935454874862,-0.935420984338,-0.935387085216,-0.935353177496,-0.935319261179,-0.935285336264,-0.935251402752,-0.935217460644,-0.935183509939,-0.935149550638,-0.935115582742,-0.93508160625,-0.935047621163,-0.935013627482,-0.934979625206,-0.934945614336,-0.934911594872,-0.934877566814,-0.934843530163,-0.93480948492,-0.934775431084,-0.934741368655,-0.934707297635,-0.934673218023,-0.93463912982,-0.934605033025,-0.93457092764,-0.934536813665,-0.9345026911,-0.934468559945,-0.9344344202,-0.934400271866,-0.934366114944,-0.934331949433,-0.934297775334,-0.934263592646,-0.934229401372,-0.93419520151,-0.934160993061,-0.934126776026,-0.934092550404,-0.934058316197,-0.934024073403,-0.933989822025,-0.933955562061,-0.933921293513,-0.93388701638,-0.933852730663,-0.933818436362,-0.933784133478,-0.933749822011,-0.933715501961,-0.933681173328,-0.933646836113,-0.933612490317,-0.933578135938,-0.933543772979,-0.933509401438,-0.933475021317,-0.933440632616,-0.933406235335,-0.933371829474,-0.933337415033,-0.933302992014,-0.933268560416,-0.933234120239,-0.933199671485,-0.933165214152,-0.933130748242,-0.933096273755,-0.933061790692,-0.933027299051,-0.932992798835,-0.932958290042,-0.932923772674,-0.932889246731,-0.932854712213,-0.932820169121,-0.932785617454,-0.932751057213,-0.932716488398,-0.93268191101,-0.932647325049,-0.932612730516,-0.93257812741,-0.932543515732,-0.932508895482,-0.932474266661,-0.932439629268,-0.932404983305,-0.932370328772,-0.932335665668,-0.932300993995,-0.932266313752,-0.932231624939,-0.932196927558,-0.932162221609,-0.932127507091,-0.932092784005,-0.932058052351,-0.932023312131,-0.931988563343,-0.931953805989,-0.931919040068,-0.931884265582,-0.931849482529,-0.931814690912,-0.931779890729,-0.931745081982,-0.93171026467,-0.931675438794,-0.931640604354,-0.931605761351,-0.931570909785,-0.931536049656,-0.931501180965,-0.931466303711,-0.931431417895,-0.931396523518,-0.93136162058,-0.931326709081,-0.931291789022,-0.931256860402,-0.931221923222,-0.931186977483,-0.931152023184,-0.931117060326,-0.93108208891,-0.931047108936,-0.931012120403,-0.930977123313,-0.930942117665,-0.930907103461,-0.9308720807,-0.930837049382,-0.930802009508,-0.930766961079,-0.930731904094,-0.930696838554,-0.93066176446,-0.930626681811,-0.930591590607,-0.93055649085,-0.93052138254,-0.930486265676,-0.93045114026,-0.930416006291,-0.93038086377,-0.930345712696,-0.930310553072,-0.930275384896,-0.930240208169,-0.930205022892,-0.930169829065,-0.930134626687,-0.93009941576,-0.930064196284,-0.930028968259,-0.929993731685,-0.929958486563,-0.929923232893,-0.929887970675,-0.92985269991,-0.929817420598,-0.929782132739,-0.929746836334,-0.929711531382,-0.929676217885,-0.929640895843,-0.929605565256,-0.929570226124,-0.929534878447,-0.929499522227,-0.929464157462,-0.929428784155,-0.929393402304,-0.92935801191,-0.929322612974,-0.929287205496,-0.929251789475,-0.929216364914,-0.929180931811,-0.929145490168,-0.929110039984,-0.929074581259,-0.929039113995,-0.929003638192,-0.928968153849,-0.928932660967,-0.928897159547,-0.928861649588,-0.928826131092,-0.928790604058,-0.928755068487,-0.928719524379,-0.928683971734,-0.928648410553,-0.928612840836,-0.928577262584,-0.928541675796,-0.928506080473,-0.928470476616,-0.928434864224,-0.928399243299,-0.928363613839,-0.928327975847,-0.928292329321,-0.928256674263,-0.928221010672,-0.92818533855,-0.928149657895,-0.92811396871,-0.928078270993,-0.928042564746,-0.928006849968,-0.92797112666,-0.927935394823,-0.927899654456,-0.92786390556,-0.927828148135,-0.927792382182,-0.927756607701,-0.927720824692,-0.927685033156,-0.927649233093,-0.927613424502,-0.927577607386,-0.927541781743,-0.927505947575,-0.927470104881,-0.927434253662,-0.927398393919,-0.92736252565,-0.927326648858,-0.927290763542,-0.927254869703,-0.92721896734,-0.927183056455,-0.927147137047,-0.927111209117,-0.927075272665,-0.927039327691,-0.927003374197,-0.926967412182,-0.926931441646,-0.92689546259,-0.926859475014,-0.926823478919,-0.926787474305,-0.926751461171,-0.92671543952,-0.92667940935,-0.926643370662,-0.926607323457,-0.926571267734,-0.926535203495,-0.926499130739,-0.926463049467,-0.926426959679,-0.926390861376,-0.926354754558,-0.926318639224,-0.926282515376,-0.926246383014,-0.926210242138,-0.926174092749,-0.926137934846,-0.926101768431,-0.926065593503,-0.926029410062,-0.92599321811,-0.925957017647,-0.925920808672,-0.925884591186,-0.92584836519,-0.925812130683,-0.925775887667,-0.925739636141,-0.925703376106,-0.925667107562,-0.92563083051,-0.925594544949,-0.925558250881,-0.925521948305,-0.925485637221,-0.925449317631,-0.925412989535,-0.925376652932,-0.925340307823,-0.925303954209,-0.92526759209,-0.925231221465,-0.925194842336,-0.925158454703,-0.925122058567,-0.925085653926,-0.925049240783,-0.925012819136,-0.924976388987,-0.924939950336,-0.924903503183,-0.924867047529,-0.924830583373,-0.924794110717,-0.92475762956,-0.924721139902,-0.924684641745,-0.924648135089,-0.924611619933,-0.924575096279,-0.924538564125,-0.924502023474,-0.924465474325,-0.924428916679,-0.924392350535,-0.924355775895,-0.924319192758,-0.924282601125,-0.924246000996,-0.924209392371,-0.924172775252,-0.924136149637,-0.924099515529,-0.924062872926,-0.924026221829,-0.923989562239,-0.923952894156,-0.92391621758,-0.923879532511,-0.923842838951,-0.923806136898,-0.923769426355,-0.92373270732,-0.923695979794,-0.923659243778,-0.923622499272,-0.923585746276,-0.923548984791,-0.923512214817,-0.923475436354,-0.923438649402,-0.923401853963,-0.923365050036,-0.923328237621,-0.92329141672,-0.923254587331,-0.923217749457,-0.923180903096,-0.92314404825,-0.923107184918,-0.923070313101,-0.9230334328,-0.922996544014,-0.922959646745,-0.922922740991,-0.922885826755,-0.922848904035,-0.922811972833,-0.922775033148,-0.922738084982,-0.922701128334,-0.922664163205,-0.922627189594,-0.922590207503,-0.922553216932,-0.922516217881,-0.922479210351,-0.922442194341,-0.922405169852,-0.922368136885,-0.922331095439,-0.922294045516,-0.922256987115,-0.922219920237,-0.922182844882,-0.922145761051,-0.922108668743,-0.92207156796,-0.922034458701,-0.921997340967,-0.921960214758,-0.921923080075,-0.921885936918,-0.921848785286,-0.921811625182,-0.921774456604,-0.921737279554,-0.921700094031,-0.921662900036,-0.921625697569,-0.921588486631,-0.921551267222,-0.921514039342,-0.921476802992,-0.921439558172,-0.921402304882,-0.921365043123,-0.921327772894,-0.921290494198,-0.921253207033,-0.921215911399,-0.921178607299,-0.921141294731,-0.921103973696,-0.921066644194,-0.921029306227,-0.920991959793,-0.920954604894,-0.920917241529,-0.9208798697,-0.920842489406,-0.920805100648,-0.920767703426,-0.920730297741,-0.920692883592,-0.920655460981,-0.920618029907,-0.920580590371,-0.920543142373,-0.920505685914,-0.920468220994,-0.920430747613,-0.920393265772,-0.92035577547,-0.920318276709,-0.920280769489,-0.920243253809,-0.920205729671,-0.920168197074,-0.92013065602,-0.920093106508,-0.920055548538,-0.920017982112,-0.919980407229,-0.919942823889,-0.919905232094,-0.919867631843,-0.919830023137,-0.919792405976,-0.919754780361,-0.919717146291,-0.919679503768,-0.919641852791,-0.919604193361,-0.919566525478,-0.919528849142,-0.919491164355,-0.919453471116,-0.919415769425,-0.919378059283,-0.919340340691,-0.919302613648,-0.919264878155,-0.919227134212,-0.919189381821,-0.91915162098,-0.91911385169,-0.919076073952,-0.919038287766,-0.919000493133,-0.918962690052,-0.918924878525,-0.918887058551,-0.91884923013,-0.918811393264,-0.918773547952,-0.918735694196,-0.918697831994,-0.918659961348,-0.918622082257,-0.918584194723,-0.918546298746,-0.918508394325,-0.918470481462,-0.918432560156,-0.918394630408,-0.918356692219,-0.918318745588,-0.918280790517,-0.918242827004,-0.918204855051,-0.918166874659,-0.918128885827,-0.918090888555,-0.918052882845,-0.918014868696,-0.917976846109,-0.917938815084,-0.917900775621,-0.917862727722,-0.917824671385,-0.917786606613,-0.917748533404,-0.917710451759,-0.917672361679,-0.917634263164,-0.917596156214,-0.91755804083,-0.917519917012,-0.91748178476,-0.917443644075,-0.917405494957,-0.917367337406,-0.917329171423,-0.917290997008,-0.917252814162,-0.917214622885,-0.917176423176,-0.917138215037,-0.917099998468,-0.91706177347,-0.917023540041,-0.916985298184,-0.916947047898,-0.916908789184,-0.916870522041,-0.916832246471,-0.916793962474,-0.916755670049,-0.916717369198,-0.916679059921,-0.916640742218,-0.916602416089,-0.916564081535,-0.916525738556,-0.916487387153,-0.916449027325,-0.916410659074,-0.916372282399,-0.916333897301,-0.916295503781,-0.916257101838,-0.916218691473,-0.916180272686,-0.916141845478,-0.916103409849,-0.916064965799,-0.916026513329,-0.91598805244,-0.91594958313,-0.915911105402,-0.915872619254,-0.915834124688,-0.915795621704,-0.915757110302,-0.915718590483,-0.915680062246,-0.915641525593,-0.915602980523,-0.915564427038,-0.915525865136,-0.91548729482,-0.915448716088,-0.915410128942,-0.915371533382,-0.915332929407,-0.915294317019,-0.915255696218,-0.915217067005,-0.915178429378,-0.91513978334,-0.915101128889,-0.915062466028,-0.915023794755,-0.914985115072,-0.914946426978,-0.914907730474,-0.914869025561,-0.914830312238,-0.914791590506,-0.914752860366,-0.914714121818,-0.914675374862,-0.914636619498,-0.914597855727,-0.914559083549,-0.914520302965,-0.914481513975,-0.914442716579,-0.914403910778,-0.914365096571,-0.914326273961,-0.914287442945,-0.914248603526,-0.914209755704,-0.914170899478,-0.914132034849,-0.914093161817,-0.914054280384,-0.914015390549,-0.913976492312,-0.913937585674,-0.913898670636,-0.913859747197,-0.913820815358,-0.91378187512,-0.913742926482,-0.913703969445,-0.91366500401,-0.913626030177,-0.913587047945,-0.913548057316,-0.91350905829,-0.913470050868,-0.913431035049,-0.913392010833,-0.913352978222,-0.913313937216,-0.913274887815,-0.913235830019,-0.913196763829,-0.913157689245,-0.913118606267,-0.913079514896,-0.913040415133,-0.913001306977,-0.912962190428,-0.912923065488,-0.912883932157,-0.912844790435,-0.912805640322,-0.912766481818,-0.912727314925,-0.912688139642,-0.91264895597,-0.912609763909,-0.912570563459,-0.912531354622,-0.912492137396,-0.912452911783,-0.912413677783,-0.912374435396,-0.912335184623,-0.912295925464,-0.91225665792,-0.91221738199,-0.912178097675,-0.912138804975,-0.912099503892,-0.912060194424,-0.912020876574,-0.91198155034,-0.911942215723,-0.911902872724,-0.911863521343,-0.91182416158,-0.911784793436,-0.911745416911,-0.911706032005,-0.91166663872,-0.911627237054,-0.911587827009,-0.911548408585,-0.911508981782,-0.911469546601,-0.911430103041,-0.911390651104,-0.91135119079,-0.911311722098,-0.911272245031,-0.911232759586,-0.911193265767,-0.911153763571,-0.911114253001,-0.911074734055,-0.911035206735,-0.910995671042,-0.910956126974,-0.910916574533,-0.91087701372,-0.910837444533,-0.910797866975,-0.910758281044,-0.910718686743,-0.91067908407,-0.910639473026,-0.910599853612,-0.910560225827,-0.910520589673,-0.91048094515,-0.910441292258,-0.910401630997,-0.910361961368,-0.910322283372,-0.910282597007,-0.910242902276,-0.910203199178,-0.910163487713,-0.910123767883,-0.910084039686,-0.910044303125,-0.910004558198,-0.909964804907,-0.909925043252,-0.909885273233,-0.90984549485,-0.909805708105,-0.909765912996,-0.909726109525,-0.909686297693,-0.909646477498,-0.909606648943,-0.909566812026,-0.909526966749,-0.909487113112,-0.909447251114,-0.909407380758,-0.909367502042,-0.909327614968,-0.909287719535,-0.909247815744,-0.909207903596,-0.909167983091,-0.909128054228,-0.909088117009,-0.909048171434,-0.909008217503,-0.908968255217,-0.908928284576,-0.90888830558,-0.908848318229,-0.908808322525,-0.908768318467,-0.908728306056,-0.908688285293,-0.908648256176,-0.908608218708,-0.908568172888,-0.908528118716,-0.908488056194,-0.908447985321,-0.908407906097,-0.908367818524,-0.908327722601,-0.908287618329,-0.908247505709,-0.908207384739,-0.908167255422,-0.908127117757,-0.908086971745,-0.908046817386,-0.90800665468,-0.907966483629,-0.907926304231,-0.907886116488,-0.907845920399,-0.907805715966,-0.907765503189,-0.907725282068,-0.907685052603,-0.907644814795,-0.907604568643,-0.90756431415,-0.907524051314,-0.907483780137,-0.907443500618,-0.907403212758,-0.907362916557,-0.907322612016,-0.907282299136,-0.907241977915,-0.907201648356,-0.907161310458,-0.907120964221,-0.907080609646,-0.907040246734,-0.906999875484,-0.906959495897,-0.906919107974,-0.906878711714,-0.906838307119,-0.906797894188,-0.906757472922,-0.906717043321,-0.906676605386,-0.906636159117,-0.906595704515,-0.906555241579,-0.90651477031,-0.906474290709,-0.906433802776,-0.906393306511,-0.906352801915,-0.906312288987,-0.906271767729,-0.906231238141,-0.906190700223,-0.906150153975,-0.906109599398,-0.906069036493,-0.906028465259,-0.905987885697,-0.905947297807,-0.90590670159,-0.905866097047,-0.905825484176,-0.90578486298,-0.905744233458,-0.90570359561,-0.905662949437,-0.90562229494,-0.905581632118,-0.905540960973,-0.905500281504,-0.905459593711,-0.905418897596,-0.905378193159,-0.905337480399,-0.905296759318,-0.905256029916,-0.905215292192,-0.905174546148,-0.905133791784,-0.9050930291,-0.905052258097,-0.905011478775,-0.904970691134,-0.904929895174,-0.904889090897,-0.904848278302,-0.90480745739,-0.904766628162,-0.904725790616,-0.904684944755,-0.904644090578,-0.904603228086,-0.904562357279,-0.904521478157,-0.904480590721,-0.904439694972,-0.904398790909,-0.904357878533,-0.904316957844,-0.904276028843,-0.90423509153,-0.904194145906,-0.90415319197,-0.904112229724,-0.904071259167,-0.9040302803,-0.903989293123,-0.903948297638,-0.903907293843,-0.90386628174,-0.903825261328,-0.903784232609,-0.903743195583,-0.903702150249,-0.903661096609,-0.903620034663,-0.903578964411,-0.903537885853,-0.90349679899,-0.903455703822,-0.90341460035,-0.903373488574,-0.903332368495,-0.903291240112,-0.903250103426,-0.903208958438,-0.903167805147,-0.903126643555,-0.903085473662,-0.903044295468,-0.903003108973,-0.902961914177,-0.902920711082,-0.902879499688,-0.902838279995,-0.902797052002,-0.902755815712,-0.902714571123,-0.902673318237,-0.902632057054,-0.902590787574,-0.902549509798,-0.902508223725,-0.902466929357,-0.902425626694,-0.902384315735,-0.902342996482,-0.902301668935,-0.902260333095,-0.902218988961,-0.902177636533,-0.902136275814,-0.902094906802,-0.902053529498,-0.902012143902,-0.901970750016,-0.901929347839,-0.901887937371,-0.901846518614,-0.901805091567,-0.901763656231,-0.901722212606,-0.901680760692,-0.90163930049,-0.901597832001,-0.901556355225,-0.901514870161,-0.901473376811,-0.901431875175,-0.901390365253,-0.901348847046,-0.901307320554,-0.901265785777,-0.901224242716,-0.901182691371,-0.901141131742,-0.901099563831,-0.901057987636,-0.90101640316,-0.900974810401,-0.900933209361,-0.90089160004,-0.900849982438,-0.900808356555,-0.900766722392,-0.90072507995,-0.900683429229,-0.900641770228,-0.900600102949,-0.900558427392,-0.900516743558,-0.900475051445,-0.900433351056,-0.900391642391,-0.900349925449,-0.900308200231,-0.900266466738,-0.90022472497,-0.900182974927,-0.90014121661,-0.900099450019,-0.900057675154,-0.900015892016,-0.899974100606,-0.899932300923,-0.899890492968,-0.899848676742,-0.899806852244,-0.899765019475,-0.899723178436,-0.899681329127,-0.899639471549,-0.899597605701,-0.899555731584,-0.899513849198,-0.899471958545,-0.899430059624,-0.899388152435,-0.899346236979,-0.899304313257,-0.899262381269,-0.899220441014,-0.899178492495,-0.89913653571,-0.89909457066,-0.899052597347,-0.899010615769,-0.898968625928,-0.898926627824,-0.898884621457,-0.898842606827,-0.898800583936,-0.898758552783,-0.898716513369,-0.898674465694,-0.898632409759,-0.898590345563,-0.898548273108,-0.898506192394,-0.898464103421,-0.898422006189,-0.898379900699,-0.898337786952,-0.898295664947,-0.898253534685,-0.898211396167,-0.898169249393,-0.898127094362,-0.898084931077,-0.898042759536,-0.898000579741,-0.897958391691,-0.897916195388,-0.897873990831,-0.897831778021,-0.897789556959,-0.897747327644,-0.897705090077,-0.897662844259,-0.89762059019,-0.89757832787,-0.897536057299,-0.897493778479,-0.897451491409,-0.89740919609,-0.897366892522,-0.897324580705,-0.897282260641,-0.897239932329,-0.89719759577,-0.897155250964,-0.897112897911,-0.897070536613,-0.897028167068,-0.896985789279,-0.896943403244,-0.896901008965,-0.896858606442,-0.896816195676,-0.896773776665,-0.896731349412,-0.896688913917,-0.896646470179,-0.896604018199,-0.896561557978,-0.896519089516,-0.896476612813,-0.89643412787,-0.896391634688,-0.896349133266,-0.896306623604,-0.896264105705,-0.896221579567,-0.896179045191,-0.896136502577,-0.896093951727,-0.896051392639,-0.896008825316,-0.895966249756,-0.895923665961,-0.895881073931,-0.895838473666,-0.895795865167,-0.895753248434,-0.895710623467,-0.895667990267,-0.895625348834,-0.895582699169,-0.895540041272,-0.895497375143,-0.895454700783,-0.895412018192,-0.895369327371,-0.89532662832,-0.895283921039,-0.895241205528,-0.895198481789,-0.895155749822,-0.895113009626,-0.895070261203,-0.895027504552,-0.894984739675,-0.894941966571,-0.89489918524,-0.894856395685,-0.894813597903,-0.894770791897,-0.894727977667,-0.894685155212,-0.894642324533,-0.894599485631,-0.894556638506,-0.894513783159,-0.894470919589,-0.894428047798,-0.894385167785,-0.894342279551,-0.894299383097,-0.894256478422,-0.894213565528,-0.894170644414,-0.894127715081,-0.89408477753,-0.89404183176,-0.893998877772,-0.893955915567,-0.893912945145,-0.893869966506,-0.893826979651,-0.893783984581,-0.893740981294,-0.893697969793,-0.893654950077,-0.893611922146,-0.893568886002,-0.893525841644,-0.893482789074,-0.89343972829,-0.893396659294,-0.893353582086,-0.893310496667,-0.893267403037,-0.893224301196,-0.893181191144,-0.893138072883,-0.893094946412,-0.893051811732,-0.893008668843,-0.892965517746,-0.892922358441,-0.892879190928,-0.892836015208,-0.892792831282,-0.892749639149,-0.89270643881,-0.892663230265,-0.892620013516,-0.892576788562,-0.892533555403,-0.89249031404,-0.892447064474,-0.892403806704,-0.892360540732,-0.892317266557,-0.892273984181,-0.892230693602,-0.892187394823,-0.892144087843,-0.892100772662,-0.892057449282,-0.892014117701,-0.891970777922,-0.891927429944,-0.891884073767,-0.891840709392,-0.89179733682,-0.891753956051,-0.891710567084,-0.891667169922,-0.891623764563,-0.891580351009,-0.891536929259,-0.891493499315,-0.891450061176,-0.891406614843,-0.891363160317,-0.891319697597,-0.891276226685,-0.89123274758,-0.891189260283,-0.891145764795,-0.891102261115,-0.891058749244,-0.891015229183,-0.890971700932,-0.890928164492,-0.890884619862,-0.890841067043,-0.890797506036,-0.890753936841,-0.890710359459,-0.890666773889,-0.890623180132,-0.890579578189,-0.89053596806,-0.890492349745,-0.890448723245,-0.89040508856,-0.890361445691,-0.890317794637,-0.890274135401,-0.890230467981,-0.890186792378,-0.890143108592,-0.890099416625,-0.890055716476,-0.890012008146,-0.889968291635,-0.889924566944,-0.889880834073,-0.889837093022,-0.889793343792,-0.889749586383,-0.889705820796,-0.889662047031,-0.889618265088,-0.889574474968,-0.889530676671,-0.889486870198,-0.889443055549,-0.889399232724,-0.889355401724,-0.88931156255,-0.889267715201,-0.889223859678,-0.889179995981,-0.889136124112,-0.889092244069,-0.889048355855,-0.889004459468,-0.88896055491,-0.88891664218,-0.88887272128,-0.88882879221,-0.88878485497,-0.88874090956,-0.888696955981,-0.888652994233,-0.888609024317,-0.888565046233,-0.888521059982,-0.888477065564,-0.888433062978,-0.888389052227,-0.88834503331,-0.888301006227,-0.888256970979,-0.888212927566,-0.88816887599,-0.888124816249,-0.888080748345,-0.888036672278,-0.887992588048,-0.887948495656,-0.887904395102,-0.887860286387,-0.88781616951,-0.887772044473,-0.887727911276,-0.887683769919,-0.887639620403,-0.887595462728,-0.887551296894,-0.887507122901,-0.887462940752,-0.887418750444,-0.88737455198,-0.887330345359,-0.887286130582,-0.88724190765,-0.887197676562,-0.887153437319,-0.887109189921,-0.88706493437,-0.887020670664,-0.886976398806,-0.886932118794,-0.88688783063,-0.886843534314,-0.886799229847,-0.886754917228,-0.886710596458,-0.886666267537,-0.886621930467,-0.886577585247,-0.886533231878,-0.88648887036,-0.886444500693,-0.886400122879,-0.886355736917,-0.886311342807,-0.886266940551,-0.886222530149,-0.8861781116,-0.886133684907,-0.886089250067,-0.886044807084,-0.886000355955,-0.885955896683,-0.885911429268,-0.885866953709,-0.885822470007,-0.885777978164,-0.885733478178,-0.885688970051,-0.885644453783,-0.885599929374,-0.885555396825,-0.885510856136,-0.885466307308,-0.885421750341,-0.885377185235,-0.885332611991,-0.885288030609,-0.885243441089,-0.885198843433,-0.88515423764,-0.885109623711,-0.885065001647,-0.885020371447,-0.884975733112,-0.884931086642,-0.884886432039,-0.884841769301,-0.884797098431,-0.884752419428,-0.884707732292,-0.884663037024,-0.884618333624,-0.884573622094,-0.884528902432,-0.88448417464,-0.884439438718,-0.884394694667,-0.884349942486,-0.884305182177,-0.884260413739,-0.884215637173,-0.88417085248,-0.88412605966,-0.884081258713,-0.884036449639,-0.88399163244,-0.883946807116,-0.883901973666,-0.883857132091,-0.883812282393,-0.883767424571,-0.883722558625,-0.883677684556,-0.883632802365,-0.883587912051,-0.883543013616,-0.883498107059,-0.883453192382,-0.883408269584,-0.883363338666,-0.883318399628,-0.883273452471,-0.883228497195,-0.883183533801,-0.883138562288,-0.883093582658,-0.883048594911,-0.883003599047,-0.882958595066,-0.88291358297,-0.882868562758,-0.882823534431,-0.882778497989,-0.882733453433,-0.882688400763,-0.88264333998,-0.882598271083,-0.882553194074,-0.882508108952,-0.882463015719,-0.882417914374,-0.882372804919,-0.882327687352,-0.882282561676,-0.88223742789,-0.882192285994,-0.88214713599,-0.882101977877,-0.882056811656,-0.882011637327,-0.881966454891,-0.881921264348,-0.881876065699,-0.881830858944,-0.881785644083,-0.881740421117,-0.881695190046,-0.881649950871,-0.881604703592,-0.881559448209,-0.881514184723,-0.881468913135,-0.881423633444,-0.881378345652,-0.881333049758,-0.881287745763,-0.881242433667,-0.881197113471,-0.881151785176,-0.881106448781,-0.881061104287,-0.881015751694,-0.880970391004,-0.880925022216,-0.88087964533,-0.880834260348,-0.880788867269,-0.880743466094,-0.880698056824,-0.880652639458,-0.880607213998,-0.880561780443,-0.880516338794,-0.880470889052,-0.880425431217,-0.880379965289,-0.880334491269,-0.880289009157,-0.880243518953,-0.880198020659,-0.880152514274,-0.880106999798,-0.880061477233,-0.880015946579,-0.879970407836,-0.879924861004,-0.879879306084,-0.879833743076,-0.879788171982,-0.8797425928,-0.879697005532,-0.879651410178,-0.879605806739,-0.879560195214,-0.879514575604,-0.879468947911,-0.879423312133,-0.879377668272,-0.879332016328,-0.879286356301,-0.879240688192,-0.879195012001,-0.879149327729,-0.879103635376,-0.879057934942,-0.879012226429,-0.878966509835,-0.878920785162,-0.878875052411,-0.878829311581,-0.878783562673,-0.878737805687,-0.878692040625,-0.878646267485,-0.878600486269,-0.878554696977,-0.87850889961,-0.878463094168,-0.878417280651,-0.87837145906,-0.878325629395,-0.878279791657,-0.878233945845,-0.878188091961,-0.878142230005,-0.878096359978,-0.878050481879,-0.878004595709,-0.877958701469,-0.877912799159,-0.877866888779,-0.87782097033,-0.877775043812,-0.877729109226,-0.877683166572,-0.877637215851,-0.877591257062,-0.877545290207,-0.877499315286,-0.877453332299,-0.877407341246,-0.877361342129,-0.877315334947,-0.877269319701,-0.877223296392,-0.877177265019,-0.877131225583,-0.877085178085,-0.877039122525,-0.876993058903,-0.87694698722,-0.876900907477,-0.876854819673,-0.876808723809,-0.876762619886,-0.876716507904,-0.876670387863,-0.876624259764,-0.876578123608,-0.876531979394,-0.876485827123,-0.876439666796,-0.876393498412,-0.876347321973,-0.876301137479,-0.87625494493,-0.876208744327,-0.87616253567,-0.876116318959,-0.876070094195,-0.876023861379,-0.87597762051,-0.87593137159,-0.875885114618,-0.875838849595,-0.875792576522,-0.875746295399,-0.875700006226,-0.875653709003,-0.875607403732,-0.875561090413,-0.875514769045,-0.87546843963,-0.875422102168,-0.875375756659,-0.875329403104,-0.875283041503,-0.875236671857,-0.875190294165,-0.87514390843,-0.87509751465,-0.875051112826,-0.875004702959,-0.874958285049,-0.874911859097,-0.874865425102,-0.874818983066,-0.874772532989,-0.874726074872,-0.874679608713,-0.874633134516,-0.874586652278,-0.874540162002,-0.874493663687,-0.874447157334,-0.874400642943,-0.874354120515,-0.87430759005,-0.874261051548,-0.874214505011,-0.874167950438,-0.874121387829,-0.874074817186,-0.874028238509,-0.873981651798,-0.873935057053,-0.873888454276,-0.873841843465,-0.873795224623,-0.873748597749,-0.873701962843,-0.873655319907,-0.87360866894,-0.873562009943,-0.873515342917,-0.873468667861,-0.873421984777,-0.873375293664,-0.873328594524,-0.873281887356,-0.873235172161,-0.873188448939,-0.873141717692,-0.873094978418,-0.87304823112,-0.873001475796,-0.872954712448,-0.872907941076,-0.87286116168,-0.872814374261,-0.87276757882,-0.872720775356,-0.87267396387,-0.872627144363,-0.872580316835,-0.872533481286,-0.872486637717,-0.872439786129,-0.872392926521,-0.872346058894,-0.872299183249,-0.872252299586,-0.872205407906,-0.872158508208,-0.872111600493,-0.872064684763,-0.872017761016,-0.871970829254,-0.871923889477,-0.871876941686,-0.87182998588,-0.871783022061,-0.871736050229,-0.871689070383,-0.871642082526,-0.871595086656,-0.871548082775,-0.871501070883,-0.87145405098,-0.871407023067,-0.871359987144,-0.871312943212,-0.87126589127,-0.871218831321,-0.871171763363,-0.871124687398,-0.871077603425,-0.871030511446,-0.87098341146,-0.870936303469,-0.870889187472,-0.87084206347,-0.870794931464,-0.870747791453,-0.870700643438,-0.870653487421,-0.8706063234,-0.870559151377,-0.870511971352,-0.870464783325,-0.870417587298,-0.870370383269,-0.870323171241,-0.870275951212,-0.870228723184,-0.870181487157,-0.870134243132,-0.870086991109,-0.870039731088,-0.869992463069,-0.869945187054,-0.869897903043,-0.869850611035,-0.869803311033,-0.869756003035,-0.869708687042,-0.869661363056,-0.869614031075,-0.869566691101,-0.869519343135,-0.869471987176,-0.869424623225,-0.869377251282,-0.869329871349,-0.869282483424,-0.86923508751,-0.869187683605,-0.869140271711,-0.869092851828,-0.869045423957,-0.868997988098,-0.868950544251,-0.868903092416,-0.868855632595,-0.868808164788,-0.868760688995,-0.868713205216,-0.868665713452,-0.868618213704,-0.868570705971,-0.868523190255,-0.868475666556,-0.868428134873,-0.868380595209,-0.868333047562,-0.868285491934,-0.868237928324,-0.868190356734,-0.868142777164,-0.868095189614,-0.868047594085,-0.867999990577,-0.86795237909,-0.867904759625,-0.867857132183,-0.867809496763,-0.867761853367,-0.867714201995,-0.867666542646,-0.867618875323,-0.867571200024,-0.867523516751,-0.867475825503,-0.867428126282,-0.867380419088,-0.867332703921,-0.867284980782,-0.867237249671,-0.867189510588,-0.867141763534,-0.86709400851,-0.867046245516,-0.866998474552,-0.866950695618,-0.866902908716,-0.866855113845,-0.866807311007,-0.866759500201,-0.866711681428,-0.866663854688,-0.866616019982,-0.866568177311,-0.866520326674,-0.866472468072,-0.866424601505,-0.866376726975,-0.866328844481,-0.866280954025,-0.866233055605,-0.866185149223,-0.86613723488,-0.866089312575,-0.866041382309,-0.865993444082,-0.865945497896,-0.86589754375,-0.865849581645,-0.865801611581,-0.865753633559,-0.865705647579,-0.865657653642,-0.865609651748,-0.865561641897,-0.865513624091,-0.865465598328,-0.865417564611,-0.865369522938,-0.865321473312,-0.865273415731,-0.865225350198,-0.865177276711,-0.865129195272,-0.86508110588,-0.865033008537,-0.864984903243,-0.864936789998,-0.864888668803,-0.864840539658,-0.864792402563,-0.864744257519,-0.864696104527,-0.864647943587,-0.864599774699,-0.864551597864,-0.864503413082,-0.864455220354,-0.86440701968,-0.864358811061,-0.864310594496,-0.864262369987,-0.864214137534,-0.864165897137,-0.864117648797,-0.864069392514,-0.864021128289,-0.863972856122,-0.863924576013,-0.863876287963,-0.863827991973,-0.863779688043,-0.863731376173,-0.863683056364,-0.863634728616,-0.86358639293,-0.863538049305,-0.863489697744,-0.863441338245,-0.86339297081,-0.863344595439,-0.863296212131,-0.863247820889,-0.863199421712,-0.863151014601,-0.863102599555,-0.863054176577,-0.863005745665,-0.862957306821,-0.862908860044,-0.862860405336,-0.862811942697,-0.862763472126,-0.862714993626,-0.862666507196,-0.862618012836,-0.862569510547,-0.86252100033,-0.862472482184,-0.862423956111,-0.862375422111,-0.862326880184,-0.86227833033,-0.862229772551,-0.862181206846,-0.862132633216,-0.862084051662,-0.862035462184,-0.861986864782,-0.861938259456,-0.861889646209,-0.861841025038,-0.861792395946,-0.861743758933,-0.861695113998,-0.861646461143,-0.861597800368,-0.861549131673,-0.861500455059,-0.861451770527,-0.861403078076,-0.861354377707,-0.861305669421,-0.861256953218,-0.861208229099,-0.861159497063,-0.861110757112,-0.861062009245,-0.861013253464,-0.860964489769,-0.86091571816,-0.860866938638,-0.860818151202,-0.860769355855,-0.860720552595,-0.860671741424,-0.860622922341,-0.860574095348,-0.860525260445,-0.860476417632,-0.860427566909,-0.860378708278,-0.860329841738,-0.860280967291,-0.860232084935,-0.860183194673,-0.860134296504,-0.860085390429,-0.860036476449,-0.859987554563,-0.859938624772,-0.859889687077,-0.859840741477,-0.859791787975,-0.859742826569,-0.859693857261,-0.859644880051,-0.859595894939,-0.859546901926,-0.859497901012,-0.859448892197,-0.859399875483,-0.85935085087,-0.859301818357,-0.859252777946,-0.859203729637,-0.85915467343,-0.859105609326,-0.859056537325,-0.859007457429,-0.858958369636,-0.858909273948,-0.858860170365,-0.858811058887,-0.858761939516,-0.858712812251,-0.858663677093,-0.858614534042,-0.858565383099,-0.858516224264,-0.858467057538,-0.858417882922,-0.858368700414,-0.858319510017,-0.858270311731,-0.858221105555,-0.858171891491,-0.858122669538,-0.858073439698,-0.858024201971,-0.857974956357,-0.857925702856,-0.85787644147,-0.857827172198,-0.857777895041,-0.85772861,-0.857679317075,-0.857630016266,-0.857580707574,-0.857531390999,-0.857482066543,-0.857432734204,-0.857383393984,-0.857334045883,-0.857284689901,-0.85723532604,-0.857185954299,-0.857136574679,-0.857087187181,-0.857037791804,-0.85698838855,-0.856938977418,-0.856889558409,-0.856840131525,-0.856790696764,-0.856741254128,-0.856691803616,-0.856642345231,-0.856592878971,-0.856543404838,-0.856493922831,-0.856444432952,-0.8563949352,-0.856345429577,-0.856295916083,-0.856246394717,-0.856196865481,-0.856147328375,-0.8560977834,-0.856048230555,-0.855998669842,-0.855949101261,-0.855899524812,-0.855849940496,-0.855800348313,-0.855750748263,-0.855701140348,-0.855651524567,-0.855601900922,-0.855552269412,-0.855502630037,-0.8554529828,-0.855403327699,-0.855353664735,-0.855303993909,-0.855254315222,-0.855204628673,-0.855154934263,-0.855105231993,-0.855055521863,-0.855005803873,-0.854956078025,-0.854906344317,-0.854856602752,-0.854806853329,-0.854757096049,-0.854707330912,-0.854657557919,-0.85460777707,-0.854557988365,-0.854508191806,-0.854458387392,-0.854408575125,-0.854358755003,-0.854308927029,-0.854259091202,-0.854209247523,-0.854159395992,-0.85410953661,-0.854059669377,-0.854009794293,-0.85395991136,-0.853910020578,-0.853860121946,-0.853810215466,-0.853760301138,-0.853710378962,-0.85366044894,-0.85361051107,-0.853560565355,-0.853510611793,-0.853460650387,-0.853410681135,-0.853360704039,-0.8533107191,-0.853260726316,-0.85321072569,-0.853160717221,-0.853110700911,-0.853060676758,-0.853010644765,-0.85296060493,-0.852910557256,-0.852860501742,-0.852810438388,-0.852760367196,-0.852710288165,-0.852660201296,-0.85261010659,-0.852560004047,-0.852509893667,-0.852459775451,-0.8524096494,-0.852359515513,-0.852309373792,-0.852259224236,-0.852209066847,-0.852158901624,-0.852108728568,-0.85205854768,-0.85200835896,-0.851958162409,-0.851907958027,-0.851857745814,-0.851807525771,-0.851757297898,-0.851707062196,-0.851656818666,-0.851606567307,-0.85155630812,-0.851506041106,-0.851455766266,-0.851405483598,-0.851355193105,-0.851304894787,-0.851254588643,-0.851204274675,-0.851153952883,-0.851103623267,-0.851053285828,-0.851002940566,-0.850952587482,-0.850902226576,-0.850851857849,-0.850801481302,-0.850751096933,-0.850700704745,-0.850650304737,-0.850599896911,-0.850549481266,-0.850499057802,-0.850448626522,-0.850398187424,-0.850347740509,-0.850297285778,-0.850246823231,-0.850196352869,-0.850145874693,-0.850095388702,-0.850044894897,-0.849994393278,-0.849943883847,-0.849893366603,-0.849842841547,-0.849792308679,-0.849741768001,-0.849691219512,-0.849640663212,-0.849590099103,-0.849539527185,-0.849488947457,-0.849438359922,-0.849387764579,-0.849337161428,-0.84928655047,-0.849235931706,-0.849185305136,-0.84913467076,-0.84908402858,-0.849033378594,-0.848982720805,-0.848932055212,-0.848881381815,-0.848830700616,-0.848780011615,-0.848729314812,-0.848678610207,-0.848627897802,-0.848577177596,-0.848526449591,-0.848475713785,-0.848424970181,-0.848374218779,-0.848323459578,-0.848272692579,-0.848221917784,-0.848171135192,-0.848120344803,-0.848069546619,-0.84801874064,-0.847967926866,-0.847917105297,-0.847866275935,-0.847815438779,-0.84776459383,-0.847713741089,-0.847662880555,-0.847612012231,-0.847561136115,-0.847510252208,-0.847459360512,-0.847408461025,-0.84735755375,-0.847306638686,-0.847255715833,-0.847204785193,-0.847153846766,-0.847102900551,-0.84705194655,-0.847000984764,-0.846950015192,-0.846899037834,-0.846848052693,-0.846797059767,-0.846746059058,-0.846695050565,-0.84664403429,-0.846593010233,-0.846541978394,-0.846490938774,-0.846439891373,-0.846388836192,-0.846337773231,-0.846286702491,-0.846235623971,-0.846184537674,-0.846133443598,-0.846082341745,-0.846031232115,-0.845980114708,-0.845928989525,-0.845877856567,-0.845826715834,-0.845775567326,-0.845724411043,-0.845673246987,-0.845622075158,-0.845570895556,-0.845519708182,-0.845468513036,-0.845417310118,-0.84536609943,-0.845314880971,-0.845263654742,-0.845212420744,-0.845161178976,-0.845109929441,-0.845058672137,-0.845007407065,-0.844956134226,-0.844904853621,-0.84485356525,-0.844802269113,-0.84475096521,-0.844699653543,-0.844648334111,-0.844597006916,-0.844545671957,-0.844494329236,-0.844442978752,-0.844391620506,-0.844340254499,-0.84428888073,-0.844237499201,-0.844186109912,-0.844134712864,-0.844083308056,-0.84403189549,-0.843980475166,-0.843929047084,-0.843877611244,-0.843826167648,-0.843774716296,-0.843723257188,-0.843671790324,-0.843620315706,-0.843568833333,-0.843517343207,-0.843465845327,-0.843414339694,-0.843362826308,-0.843311305171,-0.843259776282,-0.843208239642,-0.843156695251,-0.84310514311,-0.84305358322,-0.84300201558,-0.842950440192,-0.842898857056,-0.842847266172,-0.84279566754,-0.842744061162,-0.842692447037,-0.842640825167,-0.842589195551,-0.84253755819,-0.842485913085,-0.842434260236,-0.842382599643,-0.842330931308,-0.842279255229,-0.842227571409,-0.842175879848,-0.842124180545,-0.842072473501,-0.842020758718,-0.841969036194,-0.841917305932,-0.841865567931,-0.841813822191,-0.841762068714,-0.841710307499,-0.841658538548,-0.84160676186,-0.841554977437,-0.841503185278,-0.841451385384,-0.841399577756,-0.841347762394,-0.841295939298,-0.841244108469,-0.841192269908,-0.841140423614,-0.841088569589,-0.841036707833,-0.840984838347,-0.84093296113,-0.840881076183,-0.840829183508,-0.840777283103,-0.84072537497,-0.84067345911,-0.840621535522,-0.840569604208,-0.840517665167,-0.8404657184,-0.840413763908,-0.840361801691,-0.84030983175,-0.840257854084,-0.840205868695,-0.840153875583,-0.840101874749,-0.840049866193,-0.839997849915,-0.839945825916,-0.839893794196,-0.839841754756,-0.839789707597,-0.839737652718,-0.839685590121,-0.839633519805,-0.839581441772,-0.839529356022,-0.839477262555,-0.839425161371,-0.839373052472,-0.839320935857,-0.839268811527,-0.839216679484,-0.839164539726,-0.839112392254,-0.83906023707,-0.839008074174,-0.838955903565,-0.838903725245,-0.838851539214,-0.838799345472,-0.83874714402,-0.838694934859,-0.838642717989,-0.838590493409,-0.838538261122,-0.838486021127,-0.838433773425,-0.838381518017,-0.838329254902,-0.838276984081,-0.838224705555,-0.838172419324,-0.838120125389,-0.83806782375,-0.838015514408,-0.837963197363,-0.837910872615,-0.837858540166,-0.837806200015,-0.837753852163,-0.837701496611,-0.837649133359,-0.837596762407,-0.837544383757,-0.837491997408,-0.83743960336,-0.837387201616,-0.837334792174,-0.837282375035,-0.837229950201,-0.837177517671,-0.837125077445,-0.837072629525,-0.837020173911,-0.836967710603,-0.836915239602,-0.836862760908,-0.836810274522,-0.836757780444,-0.836705278674,-0.836652769214,-0.836600252064,-0.836547727224,-0.836495194694,-0.836442654475,-0.836390106568,-0.836337550974,-0.836284987691,-0.836232416722,-0.836179838066,-0.836127251725,-0.836074657698,-0.836022055985,-0.835969446589,-0.835916829508,-0.835864204743,-0.835811572296,-0.835758932166,-0.835706284354,-0.83565362886,-0.835600965685,-0.835548294829,-0.835495616294,-0.835442930078,-0.835390236183,-0.83533753461,-0.835284825358,-0.835232108429,-0.835179383822,-0.835126651539,-0.835073911579,-0.835021163943,-0.834968408632,-0.834915645647,-0.834862874986,-0.834810096652,-0.834757310645,-0.834704516965,-0.834651715612,-0.834598906587,-0.834546089891,-0.834493265524,-0.834440433486,-0.834387593778,-0.834334746401,-0.834281891355,-0.83422902864,-0.834176158258,-0.834123280207,-0.83407039449,-0.834017501106,-0.833964600056,-0.83391169134,-0.833858774959,-0.833805850914,-0.833752919204,-0.833699979831,-0.833647032794,-0.833594078095,-0.833541115733,-0.83348814571,-0.833435168026,-0.833382182681,-0.833329189675,-0.83327618901,-0.833223180685,-0.833170164702,-0.83311714106,-0.833064109761,-0.833011070804,-0.83295802419,-0.83290496992,-0.832851907994,-0.832798838413,-0.832745761176,-0.832692676286,-0.832639583741,-0.832586483543,-0.832533375692,-0.832480260188,-0.832427137033,-0.832374006226,-0.832320867768,-0.832267721659,-0.832214567901,-0.832161406493,-0.832108237436,-0.83205506073,-0.832001876376,-0.831948684375,-0.831895484727,-0.831842277432,-0.83178906249,-0.831735839904,-0.831682609672,-0.831629371795,-0.831576126274,-0.83152287311,-0.831469612303,-0.831416343852,-0.83136306776,-0.831309784026,-0.83125649265,-0.831203193634,-0.831149886978,-0.831096572682,-0.831043250746,-0.830989921172,-0.83093658396,-0.83088323911,-0.830829886622,-0.830776526498,-0.830723158737,-0.830669783341,-0.830616400309,-0.830563009642,-0.830509611341,-0.830456205406,-0.830402791838,-0.830349370637,-0.830295941803,-0.830242505338,-0.830189061241,-0.830135609513,-0.830082150155,-0.830028683167,-0.829975208549,-0.829921726303,-0.829868236428,-0.829814738925,-0.829761233795,-0.829707721037,-0.829654200653,-0.829600672643,-0.829547137008,-0.829493593747,-0.829440042862,-0.829386484353,-0.829332918221,-0.829279344465,-0.829225763087,-0.829172174087,-0.829118577465,-0.829064973222,-0.829011361359,-0.828957741875,-0.828904114772,-0.82885048005,-0.828796837709,-0.82874318775,-0.828689530173,-0.828635864979,-0.828582192169,-0.828528511742,-0.8284748237,-0.828421128043,-0.828367424771,-0.828313713884,-0.828259995384,-0.828206269271,-0.828152535545,-0.828098794207,-0.828045045258,-0.827991288697,-0.827937524525,-0.827883752743,-0.827829973352,-0.827776186351,-0.827722391741,-0.827668589524,-0.827614779698,-0.827560962265,-0.827507137226,-0.82745330458,-0.827399464328,-0.827345616471,-0.827291761009,-0.827237897943,-0.827184027274,-0.827130149001,-0.827076263125,-0.827022369647,-0.826968468567,-0.826914559885,-0.826860643603,-0.826806719721,-0.826752788238,-0.826698849157,-0.826644902476,-0.826590948197,-0.826536986321,-0.826483016847,-0.826429039776,-0.826375055109,-0.826321062846,-0.826267062987,-0.826213055534,-0.826159040486,-0.826105017845,-0.82605098761,-0.825996949782,-0.825942904362,-0.82588885135,-0.825834790746,-0.825780722552,-0.825726646767,-0.825672563392,-0.825618472428,-0.825564373875,-0.825510267734,-0.825456154004,-0.825402032688,-0.825347903784,-0.825293767294,-0.825239623218,-0.825185471556,-0.82513131231,-0.825077145479,-0.825022971065,-0.824968789066,-0.824914599485,-0.824860402322,-0.824806197576,-0.824751985249,-0.824697765342,-0.824643537853,-0.824589302785,-0.824535060137,-0.824480809911,-0.824426552106,-0.824372286723,-0.824318013762,-0.824263733225,-0.824209445111,-0.824155149421,-0.824100846156,-0.824046535315,-0.8239922169,-0.823937890912,-0.82388355735,-0.823829216215,-0.823774867507,-0.823720511227,-0.823666147376,-0.823611775954,-0.823557396962,-0.8235030104,-0.823448616268,-0.823394214567,-0.823339805298,-0.82328538846,-0.823230964056,-0.823176532084,-0.823122092546,-0.823067645442,-0.823013190772,-0.822958728538,-0.822904258739,-0.822849781376,-0.822795296449,-0.82274080396,-0.822686303908,-0.822631796295,-0.822577281119,-0.822522758383,-0.822468228087,-0.82241369023,-0.822359144814,-0.822304591839,-0.822250031306,-0.822195463214,-0.822140887565,-0.82208630436,-0.822031713597,-0.821977115279,-0.821922509406,-0.821867895977,-0.821813274994,-0.821758646457,-0.821704010367,-0.821649366724,-0.821594715528,-0.821540056781,-0.821485390482,-0.821430716632,-0.821376035231,-0.821321346281,-0.821266649781,-0.821211945733,-0.821157234136,-0.821102514991,-0.821047788299,-0.82099305406,-0.820938312274,-0.820883562943,-0.820828806066,-0.820774041644,-0.820719269678,-0.820664490168,-0.820609703115,-0.820554908519,-0.82050010638,-0.8204452967,-0.820390479478,-0.820335654715,-0.820280822412,-0.820225982569,-0.820171135187,-0.820116280266,-0.820061417807,-0.82000654781,-0.819951670275,-0.819896785204,-0.819841892596,-0.819786992453,-0.819732084774,-0.819677169561,-0.819622246813,-0.819567316531,-0.819512378716,-0.819457433369,-0.819402480489,-0.819347520077,-0.819292552134,-0.81923757666,-0.819182593656,-0.819127603122,-0.819072605059,-0.819017599467,-0.818962586347,-0.8189075657,-0.818852537525,-0.818797501823,-0.818742458595,-0.818687407842,-0.818632349563,-0.818577283759,-0.818522210432,-0.81846712958,-0.818412041206,-0.818356945309,-0.818301841889,-0.818246730948,-0.818191612486,-0.818136486503,-0.818081353,-0.818026211978,-0.817971063436,-0.817915907376,-0.817860743797,-0.817805572701,-0.817750394088,-0.817695207959,-0.817640014313,-0.817584813152,-0.817529604475,-0.817474388284,-0.817419164579,-0.817363933361,-0.817308694629,-0.817253448385,-0.817198194629,-0.817142933361,-0.817087664583,-0.817032388294,-0.816977104494,-0.816921813186,-0.816866514368,-0.816811208042,-0.816755894208,-0.816700572867,-0.816645244018,-0.816589907664,-0.816534563803,-0.816479212437,-0.816423853566,-0.81636848719,-0.816313113311,-0.816257731928,-0.816202343043,-0.816146946655,-0.816091542765,-0.816036131374,-0.815980712482,-0.81592528609,-0.815869852198,-0.815814410807,-0.815758961917,-0.815703505528,-0.815648041642,-0.815592570259,-0.815537091378,-0.815481605002,-0.81542611113,-0.815370609762,-0.8153151009,-0.815259584544,-0.815204060694,-0.815148529351,-0.815092990515,-0.815037444187,-0.814981890367,-0.814926329057,-0.814870760255,-0.814815183964,-0.814759600182,-0.814704008912,-0.814648410153,-0.814592803906,-0.814537190172,-0.81448156895,-0.814425940242,-0.814370304048,-0.814314660369,-0.814259009204,-0.814203350555,-0.814147684422,-0.814092010805,-0.814036329706,-0.813980641124,-0.81392494506,-0.813869241515,-0.813813530489,-0.813757811982,-0.813702085995,-0.81364635253,-0.813590611585,-0.813534863162,-0.813479107261,-0.813423343883,-0.813367573027,-0.813311794696,-0.813256008889,-0.813200215606,-0.813144414849,-0.813088606618,-0.813032790913,-0.812976967734,-0.812921137083,-0.81286529896,-0.812809453365,-0.812753600299,-0.812697739762,-0.812641871755,-0.812585996278,-0.812530113333,-0.812474222918,-0.812418325036,-0.812362419686,-0.812306506869,-0.812250586585,-0.812194658836,-0.81213872362,-0.81208278094,-0.812026830796,-0.811970873187,-0.811914908115,-0.81185893558,-0.811802955583,-0.811746968123,-0.811690973202,-0.811634970821,-0.811578960979,-0.811522943677,-0.811466918916,-0.811410886695,-0.811354847017,-0.811298799881,-0.811242745287,-0.811186683237,-0.811130613731,-0.811074536768,-0.811018452351,-0.810962360479,-0.810906261152,-0.810850154372,-0.810794040139,-0.810737918453,-0.810681789315,-0.810625652726,-0.810569508685,-0.810513357194,-0.810457198253,-0.810401031862,-0.810344858022,-0.810288676733,-0.810232487997,-0.810176291813,-0.810120088182,-0.810063877105,-0.810007658582,-0.809951432613,-0.809895199199,-0.809838958341,-0.80978271004,-0.809726454294,-0.809670191106,-0.809613920476,-0.809557642404,-0.809501356891,-0.809445063937,-0.809388763542,-0.809332455708,-0.809276140435,-0.809219817723,-0.809163487572,-0.809107149985,-0.80905080496,-0.808994452498,-0.8089380926,-0.808881725267,-0.808825350499,-0.808768968296,-0.808712578659,-0.808656181588,-0.808599777085,-0.808543365149,-0.808486945781,-0.808430518982,-0.808374084751,-0.808317643091,-0.808261194,-0.80820473748,-0.808148273531,-0.808091802154,-0.80803532335,-0.807978837117,-0.807922343458,-0.807865842373,-0.807809333862,-0.807752817926,-0.807696294565,-0.80763976378,-0.807583225572,-0.80752667994,-0.807470126886,-0.807413566409,-0.807356998511,-0.807300423192,-0.807243840452,-0.807187250293,-0.807130652714,-0.807074047716,-0.807017435299,-0.806960815464,-0.806904188213,-0.806847553544,-0.806790911459,-0.806734261958,-0.806677605041,-0.80662094071,-0.806564268965,-0.806507589806,-0.806450903233,-0.806394209248,-0.806337507851,-0.806280799042,-0.806224082821,-0.806167359191,-0.80611062815,-0.806053889699,-0.805997143839,-0.805940390571,-0.805883629895,-0.805826861811,-0.805770086321,-0.805713303423,-0.80565651312,-0.805599715412,-0.805542910298,-0.80548609778,-0.805429277859,-0.805372450534,-0.805315615806,-0.805258773676,-0.805201924144,-0.805145067211,-0.805088202877,-0.805031331143,-0.804974452009,-0.804917565476,-0.804860671545,-0.804803770215,-0.804746861488,-0.804689945364,-0.804633021843,-0.804576090926,-0.804519152614,-0.804462206907,-0.804405253805,-0.804348293309,-0.80429132542,-0.804234350139,-0.804177367464,-0.804120377398,-0.804063379941,-0.804006375093,-0.803949362854,-0.803892343226,-0.803835316209,-0.803778281803,-0.803721240009,-0.803664190827,-0.803607134258,-0.803550070303,-0.803492998961,-0.803435920234,-0.803378834122,-0.803321740625,-0.803264639745,-0.803207531481,-0.803150415834,-0.803093292804,-0.803036162393,-0.802979024601,-0.802921879428,-0.802864726874,-0.802807566941,-0.802750399628,-0.802693224937,-0.802636042867,-0.80257885342,-0.802521656596,-0.802464452395,-0.802407240818,-0.802350021866,-0.802292795538,-0.802235561836,-0.80217832076,-0.802121072311,-0.802063816488,-0.802006553293,-0.801949282727,-0.801892004789,-0.80183471948,-0.801777426801,-0.801720126752,-0.801662819334,-0.801605504547,-0.801548182392,-0.801490852869,-0.80143351598,-0.801376171723,-0.801318820101,-0.801261461113,-0.80120409476,-0.801146721042,-0.80108933996,-0.801031951515,-0.800974555708,-0.800917152537,-0.800859742005,-0.800802324112,-0.800744898857,-0.800687466243,-0.800630026269,-0.800572578935,-0.800515124243,-0.800457662193,-0.800400192785,-0.80034271602,-0.800285231898,-0.80022774042,-0.800170241587,-0.800112735399,-0.800055221856,-0.799997700959,-0.799940172709,-0.799882637106,-0.799825094151,-0.799767543844,-0.799709986186,-0.799652421176,-0.799594848817,-0.799537269108,-0.79947968205,-0.799422087643,-0.799364485888,-0.799306876785,-0.799249260335,-0.799191636539,-0.799134005397,-0.799076366909,-0.799018721077,-0.7989610679,-0.798903407379,-0.798845739515,-0.798788064308,-0.798730381758,-0.798672691867,-0.798614994635,-0.798557290062,-0.798499578149,-0.798441858896,-0.798384132304,-0.798326398373,-0.798268657105,-0.798210908499,-0.798153152556,-0.798095389276,-0.798037618661,-0.79797984071,-0.797922055424,-0.797864262804,-0.79780646285,-0.797748655563,-0.797690840943,-0.797633018991,-0.797575189708,-0.797517353093,-0.797459509147,-0.797401657872,-0.797343799267,-0.797285933333,-0.79722806007,-0.79717017948,-0.797112291562,-0.797054396317,-0.796996493746,-0.796938583849,-0.796880666627,-0.79682274208,-0.796764810208,-0.796706871013,-0.796648924495,-0.796590970655,-0.796533009492,-0.796475041008,-0.796417065202,-0.796359082076,-0.79630109163,-0.796243093865,-0.796185088781,-0.796127076378,-0.796069056658,-0.79601102962,-0.795952995266,-0.795894953595,-0.795836904609,-0.795778848307,-0.795720784691,-0.795662713761,-0.795604635517,-0.79554654996,-0.795488457091,-0.79543035691,-0.795372249417,-0.795314134613,-0.7952560125,-0.795197883076,-0.795139746343,-0.795081602301,-0.795023450951,-0.794965292293,-0.794907126328,-0.794848953057,-0.794790772479,-0.794732584596,-0.794674389408,-0.794616186915,-0.794557977119,-0.794499760019,-0.794441535616,-0.794383303911,-0.794325064904,-0.794266818596,-0.794208564987,-0.794150304078,-0.794092035869,-0.794033760361,-0.793975477554,-0.79391718745,-0.793858890048,-0.793800585349,-0.793742273353,-0.793683954062,-0.793625627475,-0.793567293593,-0.793508952417,-0.793450603948,-0.793392248185,-0.793333885129,-0.793275514781,-0.793217137142,-0.793158752211,-0.79310035999,-0.793041960479,-0.792983553679,-0.79292513959,-0.792866718212,-0.792808289546,-0.792749853593,-0.792691410353,-0.792632959827,-0.792574502015,-0.792516036918,-0.792457564537,-0.792399084871,-0.792340597922,-0.79228210369,-0.792223602175,-0.792165093378,-0.7921065773,-0.792048053941,-0.791989523302,-0.791930985383,-0.791872440184,-0.791813887707,-0.791755327952,-0.791696760919,-0.791638186609,-0.791579605023,-0.79152101616,-0.791462420022,-0.791403816609,-0.791345205921,-0.79128658796,-0.791227962725,-0.791169330218,-0.791110690438,-0.791052043386,-0.790993389064,-0.790934727471,-0.790876058607,-0.790817382474,-0.790758699072,-0.790700008402,-0.790641310463,-0.790582605257,-0.790523892785,-0.790465173046,-0.790406446041,-0.790347711771,-0.790288970236,-0.790230221437,-0.790171465375,-0.790112702049,-0.790053931461,-0.789995153611,-0.789936368499,-0.789877576127,-0.789818776494,-0.789759969601,-0.789701155449,-0.789642334038,-0.789583505369,-0.789524669442,-0.789465826258,-0.789406975818,-0.789348118121,-0.789289253169,-0.789230380962,-0.7891715015,-0.789112614785,-0.789053720816,-0.788994819595,-0.788935911121,-0.788876995395,-0.788818072418,-0.788759142191,-0.788700204714,-0.788641259986,-0.78858230801,-0.788523348786,-0.788464382313,-0.788405408593,-0.788346427627,-0.788287439414,-0.788228443955,-0.788169441251,-0.788110431302,-0.788051414109,-0.787992389673,-0.787933357993,-0.787874319071,-0.787815272907,-0.787756219501,-0.787697158855,-0.787638090968,-0.787579015842,-0.787519933476,-0.787460843872,-0.787401747029,-0.787342642949,-0.787283531631,-0.787224413078,-0.787165287288,-0.787106154262,-0.787047014002,-0.786987866507,-0.786928711779,-0.786869549817,-0.786810380623,-0.786751204196,-0.786692020538,-0.786632829648,-0.786573631529,-0.786514426179,-0.786455213599,-0.786395993791,-0.786336766754,-0.786277532489,-0.786218290997,-0.786159042279,-0.786099786334,-0.786040523163,-0.785981252768,-0.785921975148,-0.785862690303,-0.785803398236,-0.785744098945,-0.785684792432,-0.785625478697,-0.785566157741,-0.785506829564,-0.785447494167,-0.78538815155,-0.785328801714,-0.78526944466,-0.785210080387,-0.785150708897,-0.78509133019,-0.785031944267,-0.784972551128,-0.784913150773,-0.784853743204,-0.78479432842,-0.784734906423,-0.784675477213,-0.78461604079,-0.784556597156,-0.784497146309,-0.784437688252,-0.784378222984,-0.784318750507,-0.78425927082,-0.784199783925,-0.784140289821,-0.78408078851,-0.784021279991,-0.783961764266,-0.783902241336,-0.783842711199,-0.783783173858,-0.783723629312,-0.783664077562,-0.78360451861,-0.783544952454,-0.783485379096,-0.783425798537,-0.783366210777,-0.783306615816,-0.783247013655,-0.783187404294,-0.783127787735,-0.783068163977,-0.783008533022,-0.782948894869,-0.78288924952,-0.782829596975,-0.782769937233,-0.782710270297,-0.782650596167,-0.782590914842,-0.782531226324,-0.782471530613,-0.78241182771,-0.782352117615,-0.782292400329,-0.782232675852,-0.782172944185,-0.782113205328,-0.782053459283,-0.781993706049,-0.781933945627,-0.781874178018,-0.781814403222,-0.781754621239,-0.781694832071,-0.781635035718,-0.78157523218,-0.781515421458,-0.781455603552,-0.781395778464,-0.781335946193,-0.78127610674,-0.781216260106,-0.781156406291,-0.781096545296,-0.781036677122,-0.780976801768,-0.780916919235,-0.780857029525,-0.780797132637,-0.780737228572,-0.780677317331,-0.780617398914,-0.780557473322,-0.780497540555,-0.780437600613,-0.780377653499,-0.780317699211,-0.78025773775,-0.780197769118,-0.780137793314,-0.78007781034,-0.780017820195,-0.77995782288,-0.779897818396,-0.779837806744,-0.779777787923,-0.779717761935,-0.77965772878,-0.779597688458,-0.779537640971,-0.779477586318,-0.7794175245,-0.779357455518,-0.779297379373,-0.779237296064,-0.779177205593,-0.779117107959,-0.779057003164,-0.778996891209,-0.778936772093,-0.778876645817,-0.778816512381,-0.778756371788,-0.778696224036,-0.778636069126,-0.778575907059,-0.778515737836,-0.778455561457,-0.778395377922,-0.778335187233,-0.778274989389,-0.778214784392,-0.778154572241,-0.778094352938,-0.778034126482,-0.777973892876,-0.777913652118,-0.777853404209,-0.777793149151,-0.777732886944,-0.777672617588,-0.777612341083,-0.777552057431,-0.777491766632,-0.777431468687,-0.777371163595,-0.777310851358,-0.777250531976,-0.77719020545,-0.77712987178,-0.777069530967,-0.777009183011,-0.776948827913,-0.776888465673,-0.776828096293,-0.776767719772,-0.776707336111,-0.776646945311,-0.776586547372,-0.776526142295,-0.77646573008,-0.776405310728,-0.776344884239,-0.776284450615,-0.776224009855,-0.77616356196,-0.776103106931,-0.776042644768,-0.775982175472,-0.775921699043,-0.775861215483,-0.77580072479,-0.775740226967,-0.775679722013,-0.775619209929,-0.775558690716,-0.775498164374,-0.775437630904,-0.775377090306,-0.775316542582,-0.77525598773,-0.775195425753,-0.77513485665,-0.775074280423,-0.775013697071,-0.774953106595,-0.774892508996,-0.774831904274,-0.774771292431,-0.774710673466,-0.774650047379,-0.774589414173,-0.774528773846,-0.774468126401,-0.774407471836,-0.774346810154,-0.774286141353,-0.774225465436,-0.774164782402,-0.774104092252,-0.774043394987,-0.773982690607,-0.773921979112,-0.773861260504,-0.773800534783,-0.773739801949,-0.773679062003,-0.773618314946,-0.773557560778,-0.773496799499,-0.77343603111,-0.773375255613,-0.773314473006,-0.773253683291,-0.773192886469,-0.77313208254,-0.773071271504,-0.773010453363,-0.772949628116,-0.772888795764,-0.772827956308,-0.772767109748,-0.772706256086,-0.77264539532,-0.772584527453,-0.772523652484,-0.772462770415,-0.772401881245,-0.772340984975,-0.772280081606,-0.772219171139,-0.772158253573,-0.77209732891,-0.77203639715,-0.771975458294,-0.771914512342,-0.771853559294,-0.771792599152,-0.771731631916,-0.771670657586,-0.771609676163,-0.771548687647,-0.77148769204,-0.771426689341,-0.771365679552,-0.771304662672,-0.771243638702,-0.771182607644,-0.771121569497,-0.771060524262,-0.770999471939,-0.77093841253,-0.770877346034,-0.770816272453,-0.770755191786,-0.770694104035,-0.7706330092,-0.770571907281,-0.77051079828,-0.770449682196,-0.77038855903,-0.770327428783,-0.770266291455,-0.770205147047,-0.77014399556,-0.770082836993,-0.770021671348,-0.769960498626,-0.769899318826,-0.769838131949,-0.769776937996,-0.769715736967,-0.769654528864,-0.769593313685,-0.769532091433,-0.769470862108,-0.76940962571,-0.769348382239,-0.769287131697,-0.769225874083,-0.769164609399,-0.769103337646,-0.769042058822,-0.76898077293,-0.76891947997,-0.768858179941,-0.768796872846,-0.768735558684,-0.768674237456,-0.768612909162,-0.768551573804,-0.768490231381,-0.768428881894,-0.768367525344,-0.768306161731,-0.768244791057,-0.768183413321,-0.768122028523,-0.768060636666,-0.767999237748,-0.767937831772,-0.767876418736,-0.767814998642,-0.767753571491,-0.767692137283,-0.767630696018,-0.767569247698,-0.767507792322,-0.767446329891,-0.767384860406,-0.767323383868,-0.767261900276,-0.767200409632,-0.767138911936,-0.767077407188,-0.76701589539,-0.766954376542,-0.766892850643,-0.766831317696,-0.7667697777,-0.766708230657,-0.766646676565,-0.766585115427,-0.766523547243,-0.766461972013,-0.766400389738,-0.766338800418,-0.766277204054,-0.766215600647,-0.766153990196,-0.766092372704,-0.76603074817,-0.765969116594,-0.765907477978,-0.765845832322,-0.765784179626,-0.765722519892,-0.765660853119,-0.765599179308,-0.76553749846,-0.765475810575,-0.765414115655,-0.765352413699,-0.765290704707,-0.765228988682,-0.765167265622,-0.76510553553,-0.765043798405,-0.764982054247,-0.764920303058,-0.764858544838,-0.764796779588,-0.764735007308,-0.764673227998,-0.76461144166,-0.764549648293,-0.7644878479,-0.764426040479,-0.764364226031,-0.764302404558,-0.764240576059,-0.764178740536,-0.764116897989,-0.764055048418,-0.763993191824,-0.763931328207,-0.763869457569,-0.763807579909,-0.763745695228,-0.763683803528,-0.763621904807,-0.763559999068,-0.76349808631,-0.763436166534,-0.763374239741,-0.763312305931,-0.763250365105,-0.763188417263,-0.763126462407,-0.763064500535,-0.76300253165,-0.762940555752,-0.76287857284,-0.762816582917,-0.762754585981,-0.762692582035,-0.762630571078,-0.762568553112,-0.762506528136,-0.762444496151,-0.762382457158,-0.762320411157,-0.762258358149,-0.762196298135,-0.762134231114,-0.762072157089,-0.762010076058,-0.761947988023,-0.761885892985,-0.761823790943,-0.761761681899,-0.761699565854,-0.761637442806,-0.761575312758,-0.76151317571,-0.761451031662,-0.761388880615,-0.761326722569,-0.761264557525,-0.761202385484,-0.761140206446,-0.761078020412,-0.761015827383,-0.760953627358,-0.760891420339,-0.760829206325,-0.760766985319,-0.760704757319,-0.760642522328,-0.760580280344,-0.76051803137,-0.760455775405,-0.76039351245,-0.760331242506,-0.760268965573,-0.760206681651,-0.760144390742,-0.760082092846,-0.760019787964,-0.759957476095,-0.759895157241,-0.759832831403,-0.75977049858,-0.759708158773,-0.759645811984,-0.759583458211,-0.759521097457,-0.759458729722,-0.759396355006,-0.759333973309,-0.759271584633,-0.759209188978,-0.759146786345,-0.759084376733,-0.759021960145,-0.758959536579,-0.758897106037,-0.75883466852,-0.758772224027,-0.75870977256,-0.75864731412,-0.758584848705,-0.758522376319,-0.75845989696,-0.758397410629,-0.758334917327,-0.758272417055,-0.758209909813,-0.758147395602,-0.758084874422,-0.758022346273,-0.757959811158,-0.757897269075,-0.757834720026,-0.757772164011,-0.75770960103,-0.757647031085,-0.757584454176,-0.757521870303,-0.757459279468,-0.757396681669,-0.75733407691,-0.757271465188,-0.757208846506,-0.757146220865,-0.757083588263,-0.757020948703,-0.756958302184,-0.756895648707,-0.756832988273,-0.756770320883,-0.756707646536,-0.756644965234,-0.756582276977,-0.756519581766,-0.756456879601,-0.756394170483,-0.756331454412,-0.756268731389,-0.756206001414,-0.756143264489,-0.756080520614,-0.756017769788,-0.755955012014,-0.755892247291,-0.75582947562,-0.755766697001,-0.755703911436,-0.755641118924,-0.755578319467,-0.755515513065,-0.755452699718,-0.755389879427,-0.755327052193,-0.755264218016,-0.755201376897,-0.755138528836,-0.755075673834,-0.755012811891,-0.754949943009,-0.754887067187,-0.754824184426,-0.754761294728,-0.754698398092,-0.754635494518,-0.754572584008,-0.754509666563,-0.754446742182,-0.754383810866,-0.754320872617,-0.754257927433,-0.754194975317,-0.754132016268,-0.754069050288,-0.754006077376,-0.753943097533,-0.753880110761,-0.753817117059,-0.753754116428,-0.753691108869,-0.753628094382,-0.753565072968,-0.753502044627,-0.75343900936,-0.753375967167,-0.75331291805,-0.753249862009,-0.753186799044,-0.753123729155,-0.753060652344,-0.752997568612,-0.752934477957,-0.752871380382,-0.752808275887,-0.752745164472,-0.752682046138,-0.752618920886,-0.752555788715,-0.752492649627,-0.752429503623,-0.752366350702,-0.752303190866,-0.752240024115,-0.752176850449,-0.75211366987,-0.752050482377,-0.751987287971,-0.751924086654,-0.751860878424,-0.751797663284,-0.751734441234,-0.751671212274,-0.751607976404,-0.751544733626,-0.75148148394,-0.751418227347,-0.751354963846,-0.75129169344,-0.751228416127,-0.75116513191,-0.751101840788,-0.751038542762,-0.750975237832,-0.750911926,-0.750848607265,-0.750785281629,-0.750721949092,-0.750658609655,-0.750595263317,-0.75053191008,-0.750468549945,-0.750405182911,-0.75034180898,-0.750278428151,-0.750215040427,-0.750151645806,-0.750088244291,-0.75002483588,-0.749961420576,-0.749897998378,-0.749834569287,-0.749771133304,-0.749707690429,-0.749644240663,-0.749580784006,-0.74951732046,-0.749453850024,-0.749390372699,-0.749326888486,-0.749263397385,-0.749199899398,-0.749136394523,-0.749072882763,-0.749009364118,-0.748945838588,-0.748882306173,-0.748818766875,-0.748755220695,-0.748691667631,-0.748628107686,-0.74856454086,-0.748500967153,-0.748437386566,-0.748373799099,-0.748310204754,-0.74824660353,-0.748182995429,-0.74811938045,-0.748055758595,-0.747992129864,-0.747928494258,-0.747864851777,-0.747801202421,-0.747737546192,-0.74767388309,-0.747610213115,-0.747546536269,-0.747482852551,-0.747419161963,-0.747355464504,-0.747291760176,-0.747228048979,-0.747164330913,-0.74710060598,-0.74703687418,-0.746973135513,-0.74690938998,-0.746845637581,-0.746781878318,-0.746718112191,-0.746654339199,-0.746590559345,-0.746526772628,-0.74646297905,-0.74639917861,-0.746335371309,-0.746271557148,-0.746207736127,-0.746143908248,-0.74608007351,-0.746016231914,-0.745952383461,-0.745888528152,-0.745824665986,-0.745760796965,-0.745696921089,-0.745633038359,-0.745569148775,-0.745505252338,-0.745441349049,-0.745377438907,-0.745313521914,-0.745249598071,-0.745185667377,-0.745121729834,-0.745057785441,-0.744993834201,-0.744929876112,-0.744865911176,-0.744801939394,-0.744737960765,-0.744673975291,-0.744609982972,-0.744545983809,-0.744481977802,-0.744417964952,-0.74435394526,-0.744289918725,-0.74422588535,-0.744161845133,-0.744097798076,-0.74403374418,-0.743969683445,-0.743905615871,-0.743841541459,-0.74377746021,-0.743713372125,-0.743649277203,-0.743585175447,-0.743521066855,-0.743456951429,-0.743392829169,-0.743328700076,-0.74326456415,-0.743200421393,-0.743136271804,-0.743072115385,-0.743007952135,-0.742943782056,-0.742879605148,-0.742815421411,-0.742751230847,-0.742687033455,-0.742622829237,-0.742558618193,-0.742494400323,-0.742430175629,-0.74236594411,-0.742301705767,-0.742237460602,-0.742173208614,-0.742108949804,-0.742044684173,-0.741980411721,-0.741916132449,-0.741851846357,-0.741787553447,-0.741723253718,-0.741658947171,-0.741594633807,-0.741530313627,-0.741465986631,-0.741401652819,-0.741337312192,-0.741272964751,-0.741208610497,-0.74114424943,-0.74107988155,-0.741015506858,-0.740951125355,-0.740886737041,-0.740822341918,-0.740757939984,-0.740693531242,-0.740629115692,-0.740564693334,-0.740500264169,-0.740435828197,-0.740371385419,-0.740306935836,-0.740242479449,-0.740178016257,-0.740113546261,-0.740049069463,-0.739984585862,-0.73992009546,-0.739855598256,-0.739791094251,-0.739726583447,-0.739662065843,-0.739597541441,-0.73953301024,-0.739468472242,-0.739403927446,-0.739339375854,-0.739274817467,-0.739210252284,-0.739145680306,-0.739081101534,-0.739016515969,-0.738951923611,-0.738887324461,-0.738822718519,-0.738758105785,-0.738693486262,-0.738628859948,-0.738564226845,-0.738499586954,-0.738434940274,-0.738370286807,-0.738305626552,-0.738240959512,-0.738176285686,-0.738111605074,-0.738046917678,-0.737982223498,-0.737917522535,-0.737852814788,-0.73778810026,-0.73772337895,-0.737658650859,-0.737593915988,-0.737529174337,-0.737464425906,-0.737399670697,-0.73733490871,-0.737270139946,-0.737205364405,-0.737140582087,-0.737075792994,-0.737010997126,-0.736946194484,-0.736881385067,-0.736816568877,-0.736751745915,-0.736686916181,-0.736622079675,-0.736557236398,-0.736492386351,-0.736427529534,-0.736362665948,-0.736297795594,-0.736232918472,-0.736168034582,-0.736103143926,-0.736038246504,-0.735973342316,-0.735908431363,-0.735843513646,-0.735778589166,-0.735713657922,-0.735648719916,-0.735583775147,-0.735518823618,-0.735453865327,-0.735388900277,-0.735323928467,-0.735258949898,-0.73519396457,-0.735128972485,-0.735063973643,-0.734998968044,-0.73493395569,-0.73486893658,-0.734803910715,-0.734738878096,-0.734673838723,-0.734608792598,-0.73454373972,-0.73447868009,-0.73441361371,-0.734348540578,-0.734283460697,-0.734218374066,-0.734153280687,-0.734088180559,-0.734023073684,-0.733957960061,-0.733892839693,-0.733827712578,-0.733762578719,-0.733697438115,-0.733632290766,-0.733567136675,-0.733501975841,-0.733436808264,-0.733371633946,-0.733306452887,-0.733241265087,-0.733176070548,-0.733110869269,-0.733045661252,-0.732980446497,-0.732915225005,-0.732849996775,-0.73278476181,-0.732719520109,-0.732654271672,-0.732589016502,-0.732523754598,-0.73245848596,-0.73239321059,-0.732327928488,-0.732262639654,-0.73219734409,-0.732132041795,-0.732066732771,-0.732001417018,-0.731936094537,-0.731870765327,-0.731805429391,-0.731740086728,-0.731674737338,-0.731609381224,-0.731544018385,-0.731478648821,-0.731413272534,-0.731347889524,-0.731282499791,-0.731217103337,-0.731151700162,-0.731086290265,-0.731020873649,-0.730955450314,-0.73089002026,-0.730824583487,-0.730759139997,-0.73069368979,-0.730628232867,-0.730562769228,-0.730497298874,-0.730431821805,-0.730366338022,-0.730300847526,-0.730235350317,-0.730169846395,-0.730104335763,-0.730038818419,-0.729973294365,-0.729907763601,-0.729842226128,-0.729776681947,-0.729711131057,-0.72964557346,-0.729580009157,-0.729514438147,-0.729448860432,-0.729383276012,-0.729317684887,-0.729252087059,-0.729186482527,-0.729120871293,-0.729055253358,-0.728989628721,-0.728923997383,-0.728858359345,-0.728792714607,-0.728727063171,-0.728661405036,-0.728595740204,-0.728530068674,-0.728464390448,-0.728398705526,-0.728333013909,-0.728267315597,-0.728201610591,-0.728135898892,-0.7280701805,-0.728004455415,-0.727938723639,-0.727872985172,-0.727807240014,-0.727741488167,-0.72767572963,-0.727609964404,-0.727544192491,-0.72747841389,-0.727412628602,-0.727346836628,-0.727281037969,-0.727215232624,-0.727149420595,-0.727083601883,-0.727017776487,-0.726951944408,-0.726886105648,-0.726820260206,-0.726754408083,-0.72668854928,-0.726622683798,-0.726556811636,-0.726490932796,-0.726425047279,-0.726359155084,-0.726293256213,-0.726227350666,-0.726161438444,-0.726095519546,-0.726029593975,-0.72596366173,-0.725897722813,-0.725831777223,-0.725765824961,-0.725699866028,-0.725633900425,-0.725567928152,-0.72550194921,-0.725435963599,-0.72536997132,-0.725303972373,-0.72523796676,-0.72517195448,-0.725105935535,-0.725039909925,-0.72497387765,-0.724907838712,-0.72484179311,-0.724775740846,-0.724709681919,-0.724643616332,-0.724577544084,-0.724511465175,-0.724445379607,-0.72437928738,-0.724313188495,-0.724247082951,-0.724180970751,-0.724114851895,-0.724048726382,-0.723982594214,-0.723916455391,-0.723850309915,-0.723784157784,-0.723717999001,-0.723651833566,-0.723585661479,-0.723519482741,-0.723453297353,-0.723387105314,-0.723320906627,-0.723254701291,-0.723188489307,-0.723122270675,-0.723056045397,-0.722989813472,-0.722923574902,-0.722857329687,-0.722791077828,-0.722724819325,-0.722658554179,-0.72259228239,-0.722526003959,-0.722459718887,-0.722393427175,-0.722327128822,-0.72226082383,-0.722194512199,-0.722128193929,-0.722061869022,-0.721995537478,-0.721929199298,-0.721862854481,-0.72179650303,-0.721730144944,-0.721663780224,-0.72159740887,-0.721531030884,-0.721464646266,-0.721398255016,-0.721331857135,-0.721265452624,-0.721199041483,-0.721132623713,-0.721066199315,-0.720999768288,-0.720933330634,-0.720866886354,-0.720800435448,-0.720733977916,-0.720667513759,-0.720601042978,-0.720534565574,-0.720468081546,-0.720401590897,-0.720335093625,-0.720268589732,-0.720202079219,-0.720135562085,-0.720069038333,-0.720002507961,-0.719935970972,-0.719869427365,-0.719802877141,-0.719736320301,-0.719669756845,-0.719603186774,-0.719536610089,-0.71947002679,-0.719403436878,-0.719336840353,-0.719270237216,-0.719203627467,-0.719137011108,-0.719070388139,-0.71900375856,-0.718937122373,-0.718870479577,-0.718803830173,-0.718737174162,-0.718670511545,-0.718603842322,-0.718537166494,-0.718470484061,-0.718403795023,-0.718337099383,-0.71827039714,-0.718203688294,-0.718136972847,-0.718070250799,-0.718003522151,-0.717936786903,-0.717870045056,-0.71780329661,-0.717736541566,-0.717669779926,-0.717603011688,-0.717536236854,-0.717469455425,-0.717402667402,-0.717335872784,-0.717269071572,-0.717202263767,-0.71713544937,-0.717068628381,-0.717001800802,-0.716934966631,-0.716868125871,-0.716801278521,-0.716734424583,-0.716667564056,-0.716600696943,-0.716533823242,-0.716466942955,-0.716400056082,-0.716333162625,-0.716266262583,-0.716199355957,-0.716132442748,-0.716065522957,-0.715998596584,-0.715931663629,-0.715864724094,-0.715797777979,-0.715730825284,-0.71566386601,-0.715596900158,-0.715529927729,-0.715462948722,-0.715395963139,-0.715328970981,-0.715261972247,-0.715194966939,-0.715127955056,-0.715060936601,-0.714993911573,-0.714926879972,-0.714859841801,-0.714792797058,-0.714725745745,-0.714658687863,-0.714591623411,-0.714524552392,-0.714457474804,-0.714390390649,-0.714323299928,-0.714256202641,-0.714189098789,-0.714121988372,-0.71405487139,-0.713987747846,-0.713920617738,-0.713853481069,-0.713786337838,-0.713719188046,-0.713652031693,-0.713584868781,-0.713517699309,-0.71345052328,-0.713383340692,-0.713316151547,-0.713248955845,-0.713181753587,-0.713114544774,-0.713047329406,-0.712980107484,-0.712912879009,-0.71284564398,-0.712778402399,-0.712711154267,-0.712643899583,-0.712576638349,-0.712509370565,-0.712442096231,-0.71237481535,-0.71230752792,-0.712240233942,-0.712172933418,-0.712105626348,-0.712038312733,-0.711970992572,-0.711903665867,-0.711836332619,-0.711768992827,-0.711701646493,-0.711634293617,-0.7115669342,-0.711499568243,-0.711432195745,-0.711364816708,-0.711297431133,-0.711230039019,-0.711162640368,-0.71109523518,-0.711027823456,-0.710960405196,-0.710892980401,-0.710825549072,-0.710758111209,-0.710690666813,-0.710623215884,-0.710555758424,-0.710488294432,-0.71042082391,-0.710353346857,-0.710285863275,-0.710218373164,-0.710150876526,-0.710083373359,-0.710015863666,-0.709948347446,-0.709880824701,-0.70981329543,-0.709745759636,-0.709678217317,-0.709610668475,-0.70954311311,-0.709475551224,-0.709407982816,-0.709340407888,-0.709272826439,-0.709205238471,-0.709137643984,-0.709070042978,-0.709002435456,-0.708934821416,-0.70886720086,-0.708799573788,-0.7087319402,-0.708664300099,-0.708596653483,-0.708529000354,-0.708461340713,-0.70839367456,-0.708326001895,-0.708258322719,-0.708190637033,-0.708122944838,-0.708055246134,-0.707987540921,-0.707919829201,-0.707852110974,-0.70778438624,-0.707716655,-0.707648917256,-0.707581173006,-0.707513422253,-0.707445664997,-0.707377901238,-0.707310130976,-0.707242354214,-0.70717457095,-0.707106781187,-0.707038984923,-0.706971182161,-0.706903372901,-0.706835557142,-0.706767734887,-0.706699906135,-0.706632070888,-0.706564229145,-0.706496380907,-0.706428526176,-0.706360664951,-0.706292797234,-0.706224923024,-0.706157042323,-0.706089155131,-0.706021261449,-0.705953361278,-0.705885454617,-0.705817541468,-0.705749621831,-0.705681695708,-0.705613763097,-0.705545824001,-0.70547787842,-0.705409926354,-0.705341967804,-0.705274002771,-0.705206031255,-0.705138053257,-0.705070068777,-0.705002077817,-0.704934080376,-0.704866076456,-0.704798066056,-0.704730049179,-0.704662025823,-0.704593995991,-0.704525959682,-0.704457916897,-0.704389867637,-0.704321811903,-0.704253749694,-0.704185681012,-0.704117605858,-0.704049524231,-0.703981436133,-0.703913341564,-0.703845240524,-0.703777133016,-0.703709019038,-0.703640898592,-0.703572771678,-0.703504638297,-0.703436498449,-0.703368352136,-0.703300199358,-0.703232040114,-0.703163874407,-0.703095702237,-0.703027523604,-0.702959338509,-0.702891146952,-0.702822948935,-0.702754744457,-0.70268653352,-0.702618316124,-0.702550092269,-0.702481861957,-0.702413625188,-0.702345381962,-0.702277132281,-0.702208876144,-0.702140613553,-0.702072344508,-0.70200406901,-0.701935787059,-0.701867498656,-0.701799203801,-0.701730902496,-0.70166259474,-0.701594280535,-0.701525959881,-0.701457632779,-0.701389299229,-0.701320959232,-0.701252612789,-0.7011842599,-0.701115900566,-0.701047534787,-0.700979162565,-0.700910783899,-0.700842398791,-0.70077400724,-0.700705609248,-0.700637204816,-0.700568793943,-0.700500376631,-0.70043195288,-0.700363522691,-0.700295086064,-0.700226643001,-0.700158193501,-0.700089737565,-0.700021275194,-0.699952806389,-0.69988433115,-0.699815849477,-0.699747361373,-0.699678866836,-0.699610365868,-0.699541858469,-0.69947334464,-0.699404824382,-0.699336297695,-0.69926776458,-0.699199225037,-0.699130679068,-0.699062126672,-0.698993567851,-0.698925002604,-0.698856430934,-0.698787852839,-0.698719268322,-0.698650677381,-0.69858208002,-0.698513476236,-0.698444866033,-0.698376249409,-0.698307626366,-0.698238996904,-0.698170361024,-0.698101718727,-0.698033070013,-0.697964414883,-0.697895753337,-0.697827085377,-0.697758411002,-0.697689730213,-0.697621043012,-0.697552349398,-0.697483649372,-0.697414942935,-0.697346230088,-0.697277510831,-0.697208785165,-0.69714005309,-0.697071314607,-0.697002569716,-0.696933818419,-0.696865060716,-0.696796296608,-0.696727526095,-0.696658749177,-0.696589965856,-0.696521176132,-0.696452380006,-0.696383577478,-0.69631476855,-0.69624595322,-0.696177131491,-0.696108303363,-0.696039468837,-0.695970627913,-0.695901780591,-0.695832926873,-0.695764066759,-0.695695200249,-0.695626327345,-0.695557448047,-0.695488562356,-0.695419670271,-0.695350771795,-0.695281866927,-0.695212955668,-0.695144038019,-0.69507511398,-0.695006183552,-0.694937246736,-0.694868303532,-0.694799353942,-0.694730397964,-0.694661435601,-0.694592466853,-0.69452349172,-0.694454510203,-0.694385522303,-0.69431652802,-0.694247527356,-0.69417852031,-0.694109506883,-0.694040487076,-0.69397146089,-0.693902428324,-0.693833389381,-0.69376434406,-0.693695292362,-0.693626234288,-0.693557169838,-0.693488099013,-0.693419021814,-0.693349938241,-0.693280848295,-0.693211751976,-0.693142649285,-0.693073540224,-0.693004424791,-0.692935302989,-0.692866174817,-0.692797040277,-0.692727899369,-0.692658752093,-0.692589598451,-0.692520438442,-0.692451272068,-0.692382099329,-0.692312920226,-0.692243734759,-0.692174542929,-0.692105344737,-0.692036140183,-0.691966929269,-0.691897711993,-0.691828488358,-0.691759258364,-0.691690022012,-0.691620779301,-0.691551530233,-0.691482274809,-0.691413013029,-0.691343744893,-0.691274470403,-0.691205189558,-0.691135902361,-0.69106660881,-0.690997308908,-0.690928002653,-0.690858690048,-0.690789371093,-0.690720045788,-0.690650714135,-0.690581376132,-0.690512031783,-0.690442681086,-0.690373324043,-0.690303960654,-0.69023459092,-0.690165214841,-0.690095832419,-0.690026443653,-0.689957048545,-0.689887647095,-0.689818239303,-0.689748825171,-0.689679404699,-0.689609977887,-0.689540544737,-0.689471105249,-0.689401659423,-0.68933220726,-0.689262748761,-0.689193283927,-0.689123812757,-0.689054335254,-0.688984851417,-0.688915361246,-0.688845864744,-0.688776361909,-0.688706852744,-0.688637337248,-0.688567815422,-0.688498287267,-0.688428752784,-0.688359211973,-0.688289664834,-0.688220111369,-0.688150551578,-0.688080985462,-0.68801141302,-0.687941834255,-0.687872249167,-0.687802657755,-0.687733060022,-0.687663455967,-0.687593845591,-0.687524228895,-0.687454605879,-0.687384976545,-0.687315340892,-0.687245698921,-0.687176050634,-0.68710639603,-0.68703673511,-0.686967067875,-0.686897394326,-0.686827714463,-0.686758028287,-0.686688335798,-0.686618636998,-0.686548931886,-0.686479220463,-0.686409502731,-0.686339778689,-0.686270048339,-0.68620031168,-0.686130568714,-0.686060819441,-0.685991063863,-0.685921301978,-0.685851533789,-0.685781759296,-0.685711978499,-0.685642191399,-0.685572397997,-0.685502598293,-0.685432792289,-0.685362979984,-0.685293161379,-0.685223336475,-0.685153505273,-0.685083667773,-0.685013823976,-0.684943973882,-0.684874117492,-0.684804254808,-0.684734385828,-0.684664510555,-0.684594628988,-0.684524741129,-0.684454846978,-0.684384946535,-0.684315039802,-0.684245126779,-0.684175207466,-0.684105281864,-0.684035349975,-0.683965411797,-0.683895467333,-0.683825516583,-0.683755559547,-0.683685596226,-0.683615626621,-0.683545650732,-0.68347566856,-0.683405680106,-0.68333568537,-0.683265684353,-0.683195677056,-0.683125663479,-0.683055643623,-0.682985617488,-0.682915585075,-0.682845546385,-0.682775501419,-0.682705450176,-0.682635392659,-0.682565328866,-0.6824952588,-0.682425182461,-0.682355099848,-0.682285010964,-0.682214915808,-0.682144814381,-0.682074706685,-0.682004592718,-0.681934472483,-0.68186434598,-0.681794213209,-0.681724074172,-0.681653928868,-0.681583777298,-0.681513619464,-0.681443455365,-0.681373285002,-0.681303108377,-0.681232925489,-0.681162736339,-0.681092540928,-0.681022339257,-0.680952131326,-0.680881917135,-0.680811696686,-0.68074146998,-0.680671237016,-0.680600997795,-0.680530752319,-0.680460500587,-0.680390242601,-0.680319978361,-0.680249707867,-0.68017943112,-0.680109148122,-0.680038858872,-0.679968563371,-0.679898261621,-0.67982795362,-0.679757639371,-0.679687318874,-0.679616992129,-0.679546659137,-0.679476319899,-0.679405974416,-0.679335622687,-0.679265264714,-0.679194900498,-0.679124530038,-0.679054153337,-0.678983770393,-0.678913381208,-0.678842985783,-0.678772584118,-0.678702176214,-0.678631762072,-0.678561341691,-0.678490915074,-0.67842048222,-0.67835004313,-0.678279597805,-0.678209146245,-0.678138688451,-0.678068224424,-0.677997754164,-0.677927277673,-0.677856794949,-0.677786305996,-0.677715810812,-0.677645309398,-0.677574801756,-0.677504287886,-0.677433767789,-0.677363241464,-0.677292708913,-0.677222170137,-0.677151625136,-0.677081073911,-0.677010516462,-0.67693995279,-0.676869382896,-0.67679880678,-0.676728224443,-0.676657635886,-0.67658704111,-0.676516440114,-0.6764458329,-0.676375219468,-0.676304599819,-0.676233973953,-0.676163341872,-0.676092703575,-0.676022059064,-0.67595140834,-0.675880751402,-0.675810088251,-0.675739418889,-0.675668743315,-0.675598061531,-0.675527373536,-0.675456679333,-0.675385978921,-0.6753152723,-0.675244559473,-0.675173840439,-0.675103115198,-0.675032383752,-0.674961646102,-0.674890902247,-0.674820152189,-0.674749395929,-0.674678633466,-0.674607864801,-0.674537089936,-0.67446630887,-0.674395521605,-0.674324728141,-0.674253928479,-0.674183122619,-0.674112310562,-0.674041492309,-0.673970667861,-0.673899837217,-0.673829000379,-0.673758157347,-0.673687308122,-0.673616452705,-0.673545591096,-0.673474723296,-0.673403849306,-0.673332969125,-0.673262082756,-0.673191190198,-0.673120291453,-0.67304938652,-0.6729784754,-0.672907558095,-0.672836634605,-0.67276570493,-0.672694769071,-0.672623827029,-0.672552878804,-0.672481924397,-0.672410963809,-0.67233999704,-0.672269024091,-0.672198044963,-0.672127059656,-0.672056068172,-0.671985070509,-0.67191406667,-0.671843056655,-0.671772040465,-0.671701018099,-0.67162998956,-0.671558954847,-0.671487913961,-0.671416866903,-0.671345813674,-0.671274754274,-0.671203688703,-0.671132616963,-0.671061539054,-0.670990454977,-0.670919364732,-0.67084826832,-0.670777165742,-0.670706056998,-0.67063494209,-0.670563821017,-0.67049269378,-0.67042156038,-0.670350420818,-0.670279275094,-0.670208123209,-0.670136965164,-0.670065800959,-0.669994630595,-0.669923454072,-0.669852271392,-0.669781082554,-0.66970988756,-0.66963868641,-0.669567479105,-0.669496265646,-0.669425046032,-0.669353820266,-0.669282588347,-0.669211350276,-0.669140106053,-0.66906885568,-0.668997599157,-0.668926336485,-0.668855067665,-0.668783792696,-0.66871251158,-0.668641224317,-0.668569930908,-0.668498631354,-0.668427325655,-0.668356013813,-0.668284695826,-0.668213371698,-0.668142041427,-0.668070705014,-0.667999362461,-0.667928013768,-0.667856658935,-0.667785297963,-0.667713930854,-0.667642557607,-0.667571178223,-0.667499792702,-0.667428401047,-0.667357003256,-0.667285599331,-0.667214189273,-0.667142773082,-0.667071350759,-0.666999922304,-0.666928487718,-0.666857047002,-0.666785600156,-0.666714147181,-0.666642688078,-0.666571222847,-0.66649975149,-0.666428274006,-0.666356790396,-0.666285300662,-0.666213804803,-0.66614230282,-0.666070794714,-0.665999280486,-0.665927760136,-0.665856233666,-0.665784701074,-0.665713162363,-0.665641617533,-0.665570066585,-0.665498509518,-0.665426946335,-0.665355377035,-0.665283801619,-0.665212220088,-0.665140632443,-0.665069038684,-0.664997438811,-0.664925832826,-0.66485422073,-0.664782602522,-0.664710978203,-0.664639347775,-0.664567711237,-0.664496068591,-0.664424419837,-0.664352764976,-0.664281104008,-0.664209436934,-0.664137763755,-0.664066084472,-0.663994399084,-0.663922707593,-0.663851009999,-0.663779306304,-0.663707596507,-0.66363588061,-0.663564158612,-0.663492430515,-0.66342069632,-0.663348956026,-0.663277209635,-0.663205457148,-0.663133698564,-0.663061933885,-0.662990163111,-0.662918386243,-0.662846603282,-0.662774814228,-0.662703019082,-0.662631217845,-0.662559410516,-0.662487597098,-0.66241577759,-0.662343951994,-0.662272120309,-0.662200282537,-0.662128438678,-0.662056588733,-0.661984732702,-0.661912870587,-0.661841002387,-0.661769128104,-0.661697247738,-0.66162536129,-0.66155346876,-0.66148157015,-0.661409665459,-0.661337754689,-0.66126583784,-0.661193914913,-0.661121985908,-0.661050050826,-0.660978109668,-0.660906162435,-0.660834209126,-0.660762249744,-0.660690284287,-0.660618312758,-0.660546335157,-0.660474351484,-0.66040236174,-0.660330365925,-0.660258364041,-0.660186356089,-0.660114342067,-0.660042321979,-0.659970295823,-0.659898263601,-0.659826225313,-0.659754180961,-0.659682130544,-0.659610074063,-0.659538011519,-0.659465942913,-0.659393868246,-0.659321787517,-0.659249700728,-0.659177607879,-0.659105508972,-0.659033404006,-0.658961292982,-0.658889175901,-0.658817052764,-0.658744923571,-0.658672788323,-0.658600647021,-0.658528499665,-0.658456346256,-0.658384186795,-0.658312021282,-0.658239849717,-0.658167672103,-0.658095488439,-0.658023298725,-0.657951102963,-0.657878901154,-0.657806693297,-0.657734479394,-0.657662259445,-0.657590033451,-0.657517801413,-0.657445563331,-0.657373319206,-0.657301069038,-0.657228812829,-0.657156550578,-0.657084282287,-0.657012007956,-0.656939727587,-0.656867441178,-0.656795148732,-0.656722850249,-0.656650545729,-0.656578235174,-0.656505918583,-0.656433595958,-0.6563612673,-0.656288932608,-0.656216591883,-0.656144245127,-0.65607189234,-0.655999533522,-0.655927168674,-0.655854797797,-0.655782420892,-0.655710037959,-0.655637648999,-0.655565254012,-0.655492853,-0.655420445962,-0.6553480329,-0.655275613814,-0.655203188705,-0.655130757573,-0.65505832042,-0.654985877245,-0.65491342805,-0.654840972835,-0.654768511601,-0.654696044349,-0.654623571078,-0.654551091791,-0.654478606487,-0.654406115167,-0.654333617832,-0.654261114482,-0.654188605119,-0.654116089742,-0.654043568353,-0.653971040953,-0.653898507541,-0.653825968118,-0.653753422686,-0.653680871244,-0.653608313795,-0.653535750337,-0.653463180872,-0.6533906054,-0.653318023923,-0.653245436441,-0.653172842954,-0.653100243463,-0.653027637969,-0.652955026473,-0.652882408975,-0.652809785475,-0.652737155975,-0.652664520476,-0.652591878977,-0.65251923148,-0.652446577984,-0.652373918492,-0.652301253003,-0.652228581519,-0.652155904039,-0.652083220565,-0.652010531097,-0.651937835636,-0.651865134182,-0.651792426737,-0.6517197133,-0.651646993873,-0.651574268456,-0.65150153705,-0.651428799656,-0.651356056274,-0.651283306905,-0.651210551549,-0.651137790207,-0.65106502288,-0.650992249569,-0.650919470274,-0.650846684996,-0.650773893736,-0.650701096494,-0.65062829327,-0.650555484067,-0.650482668883,-0.65040984772,-0.650337020579,-0.65026418746,-0.650191348364,-0.650118503292,-0.650045652244,-0.649972795221,-0.649899932223,-0.649827063252,-0.649754188307,-0.649681307391,-0.649608420502,-0.649535527643,-0.649462628813,-0.649389724013,-0.649316813244,-0.649243896507,-0.649170973802,-0.64909804513,-0.649025110492,-0.648952169888,-0.648879223319,-0.648806270786,-0.648733312289,-0.648660347829,-0.648587377406,-0.648514401022,-0.648441418677,-0.648368430372,-0.648295436107,-0.648222435882,-0.6481494297,-0.64807641756,-0.648003399463,-0.64793037541,-0.647857345401,-0.647784309437,-0.647711267519,-0.647638219647,-0.647565165822,-0.647492106045,-0.647419040316,-0.647345968637,-0.647272891007,-0.647199807427,-0.647126717899,-0.647053622422,-0.646980520998,-0.646907413627,-0.646834300309,-0.646761181046,-0.646688055839,-0.646614924687,-0.646541787591,-0.646468644552,-0.646395495572,-0.64632234065,-0.646249179787,-0.646176012983,-0.646102840241,-0.646029661559,-0.645956476939,-0.645883286382,-0.645810089888,-0.645736887458,-0.645663679092,-0.645590464792,-0.645517244557,-0.645444018389,-0.645370786288,-0.645297548255,-0.645224304291,-0.645151054395,-0.64507779857,-0.645004536816,-0.644931269132,-0.644857995521,-0.644784715982,-0.644711430516,-0.644638139125,-0.644564841807,-0.644491538566,-0.6444182294,-0.644344914311,-0.644271593299,-0.644198266365,-0.64412493351,-0.644051594734,-0.643978250039,-0.643904899424,-0.64383154289,-0.643758180438,-0.643684812069,-0.643611437784,-0.643538057582,-0.643464671465,-0.643391279434,-0.643317881489,-0.64324447763,-0.643171067859,-0.643097652176,-0.643024230582,-0.642950803077,-0.642877369662,-0.642803930339,-0.642730485106,-0.642657033966,-0.642583576919,-0.642510113965,-0.642436645105,-0.642363170341,-0.642289689671,-0.642216203098,-0.642142710622,-0.642069212244,-0.641995707963,-0.641922197782,-0.6418486817,-0.641775159719,-0.641701631838,-0.641628098059,-0.641554558382,-0.641481012809,-0.641407461338,-0.641333903973,-0.641260340712,-0.641186771557,-0.641113196508,-0.641039615566,-0.640966028732,-0.640892436007,-0.64081883739,-0.640745232883,-0.640671622487,-0.640598006201,-0.640524384028,-0.640450755966,-0.640377122018,-0.640303482184,-0.640229836464,-0.64015618486,-0.640082527371,-0.640008863998,-0.639935194743,-0.639861519606,-0.639787838587,-0.639714151688,-0.639640458908,-0.639566760249,-0.639493055711,-0.639419345295,-0.639345629002,-0.639271906831,-0.639198178785,-0.639124444864,-0.639050705068,-0.638976959397,-0.638903207854,-0.638829450437,-0.638755687149,-0.63868191799,-0.63860814296,-0.638534362059,-0.63846057529,-0.638386782652,-0.638312984146,-0.638239179773,-0.638165369533,-0.638091553428,-0.638017731457,-0.637943903622,-0.637870069923,-0.63779623036,-0.637722384936,-0.637648533649,-0.637574676501,-0.637500813493,-0.637426944625,-0.637353069898,-0.637279189313,-0.63720530287,-0.637131410569,-0.637057512413,-0.636983608401,-0.636909698533,-0.636835782812,-0.636761861236,-0.636687933808,-0.636614000527,-0.636540061395,-0.636466116412,-0.636392165579,-0.636318208896,-0.636244246364,-0.636170277984,-0.636096303756,-0.636022323682,-0.635948337761,-0.635874345995,-0.635800348384,-0.635726344929,-0.63565233563,-0.635578320489,-0.635504299505,-0.63543027268,-0.635356240015,-0.635282201509,-0.635208157164,-0.63513410698,-0.635060050958,-0.634985989099,-0.634911921403,-0.634837847872,-0.634763768504,-0.634689683303,-0.634615592267,-0.634541495398,-0.634467392697,-0.634393284164,-0.634319169799,-0.634245049604,-0.634170923579,-0.634096791725,-0.634022654043,-0.633948510532,-0.633874361195,-0.633800206031,-0.633726045041,-0.633651878227,-0.633577705588,-0.633503527125,-0.633429342839,-0.633355152731,-0.633280956801,-0.63320675505,-0.633132547479,-0.633058334088,-0.632984114878,-0.632909889851,-0.632835659005,-0.632761422343,-0.632687179864,-0.63261293157,-0.632538677461,-0.632464417538,-0.632390151801,-0.632315880252,-0.63224160289,-0.632167319717,-0.632093030734,-0.63201873594,-0.631944435337,-0.631870128925,-0.631795816705,-0.631721498678,-0.631647174844,-0.631572845204,-0.631498509759,-0.631424168509,-0.631349821456,-0.631275468599,-0.63120110994,-0.631126745478,-0.631052375216,-0.630977999153,-0.63090361729,-0.630829229628,-0.630754836168,-0.63068043691,-0.630606031855,-0.630531621003,-0.630457204356,-0.630382781914,-0.630308353677,-0.630233919647,-0.630159479824,-0.630085034208,-0.630010582801,-0.629936125603,-0.629861662614,-0.629787193837,-0.62971271927,-0.629638238915,-0.629563752772,-0.629489260843,-0.629414763128,-0.629340259627,-0.629265750341,-0.629191235272,-0.629116714419,-0.629042187783,-0.628967655365,-0.628893117166,-0.628818573186,-0.628744023427,-0.628669467888,-0.62859490657,-0.628520339475,-0.628445766602,-0.628371187953,-0.628296603527,-0.628222013327,-0.628147417352,-0.628072815604,-0.627998208082,-0.627923594788,-0.627848975722,-0.627774350885,-0.627699720278,-0.627625083901,-0.627550441755,-0.627475793841,-0.627401140159,-0.62732648071,-0.627251815495,-0.627177144515,-0.627102467769,-0.627027785259,-0.626953096986,-0.62687840295,-0.626803703152,-0.626728997592,-0.626654286272,-0.626579569192,-0.626504846352,-0.626430117753,-0.626355383397,-0.626280643283,-0.626205897412,-0.626131145786,-0.626056388404,-0.625981625268,-0.625906856378,-0.625832081735,-0.625757301339,-0.625682515191,-0.625607723292,-0.625532925643,-0.625458122244,-0.625383313096,-0.625308498199,-0.625233677555,-0.625158851164,-0.625084019026,-0.625009181143,-0.624934337515,-0.624859488142,-0.624784633026,-0.624709772168,-0.624634905566,-0.624560033224,-0.62448515514,-0.624410271317,-0.624335381754,-0.624260486452,-0.624185585412,-0.624110678635,-0.624035766121,-0.623960847871,-0.623885923886,-0.623810994166,-0.623736058713,-0.623661117526,-0.623586170606,-0.623511217955,-0.623436259572,-0.623361295459,-0.623286325616,-0.623211350044,-0.623136368744,-0.623061381715,-0.62298638896,-0.622911390479,-0.622836386271,-0.622761376339,-0.622686360683,-0.622611339302,-0.622536312199,-0.622461279374,-0.622386240827,-0.62231119656,-0.622236146572,-0.622161090865,-0.622086029439,-0.622010962295,-0.621935889433,-0.621860810855,-0.621785726561,-0.621710636551,-0.621635540827,-0.621560439389,-0.621485332238,-0.621410219374,-0.621335100798,-0.621259976511,-0.621184846514,-0.621109710806,-0.62103456939,-0.620959422265,-0.620884269433,-0.620809110893,-0.620733946647,-0.620658776696,-0.620583601039,-0.620508419679,-0.620433232614,-0.620358039847,-0.620282841378,-0.620207637207,-0.620132427335,-0.620057211763,-0.619981990492,-0.619906763522,-0.619831530854,-0.619756292488,-0.619681048426,-0.619605798668,-0.619530543215,-0.619455282067,-0.619380015225,-0.61930474269,-0.619229464462,-0.619154180543,-0.619078890932,-0.619003595631,-0.618928294641,-0.618852987961,-0.618777675593,-0.618702357537,-0.618627033794,-0.618551704365,-0.61847636925,-0.618401028451,-0.618325681967,-0.6182503298,-0.61817497195,-0.618099608417,-0.618024239204,-0.617948864309,-0.617873483735,-0.617798097481,-0.617722705548,-0.617647307938,-0.61757190465,-0.617496495686,-0.617421081045,-0.61734566073,-0.61727023474,-0.617194803076,-0.617119365739,-0.61704392273,-0.616968474049,-0.616893019697,-0.616817559674,-0.616742093982,-0.616666622621,-0.616591145592,-0.616515662895,-0.616440174531,-0.616364680501,-0.616289180805,-0.616213675445,-0.616138164421,-0.616062647733,-0.615987125382,-0.61591159737,-0.615836063696,-0.615760524361,-0.615684979367,-0.615609428713,-0.615533872401,-0.615458310431,-0.615382742804,-0.61530716952,-0.615231590581,-0.615156005986,-0.615080415737,-0.615004819834,-0.614929218279,-0.614853611071,-0.614777998211,-0.614702379701,-0.61462675554,-0.61455112573,-0.614475490271,-0.614399849164,-0.61432420241,-0.614248550008,-0.614172891961,-0.614097228268,-0.614021558931,-0.61394588395,-0.613870203325,-0.613794517058,-0.613718825149,-0.613643127599,-0.613567424408,-0.613491715578,-0.613416001109,-0.613340281001,-0.613264555255,-0.613188823873,-0.613113086854,-0.613037344199,-0.61296159591,-0.612885841986,-0.612810082429,-0.61273431724,-0.612658546417,-0.612582769964,-0.61250698788,-0.612431200166,-0.612355406822,-0.61227960785,-0.61220380325,-0.612127993022,-0.612052177169,-0.611976355689,-0.611900528584,-0.611824695854,-0.611748857501,-0.611673013525,-0.611597163926,-0.611521308706,-0.611445447865,-0.611369581403,-0.611293709322,-0.611217831622,-0.611141948304,-0.611066059369,-0.610990164816,-0.610914264648,-0.610838358864,-0.610762447465,-0.610686530453,-0.610610607827,-0.610534679588,-0.610458745738,-0.610382806276,-0.610306861204,-0.610230910522,-0.610154954231,-0.610078992332,-0.610003024825,-0.60992705171,-0.60985107299,-0.609775088664,-0.609699098733,-0.609623103198,-0.609547102059,-0.609471095317,-0.609395082973,-0.609319065028,-0.609243041482,-0.609167012336,-0.609090977591,-0.609014937247,-0.608938891305,-0.608862839766,-0.608786782631,-0.608710719899,-0.608634651573,-0.608558577652,-0.608482498137,-0.608406413029,-0.608330322329,-0.608254226037,-0.608178124155,-0.608102016682,-0.608025903619,-0.607949784968,-0.607873660728,-0.607797530901,-0.607721395488,-0.607645254488,-0.607569107903,-0.607492955733,-0.607416797979,-0.607340634643,-0.607264465723,-0.607188291222,-0.607112111139,-0.607035925477,-0.606959734234,-0.606883537412,-0.606807335012,-0.606731127035,-0.60665491348,-0.606578694349,-0.606502469643,-0.606426239361,-0.606350003506,-0.606273762077,-0.606197515076,-0.606121262502,-0.606045004357,-0.605968740642,-0.605892471356,-0.605816196502,-0.605739916078,-0.605663630087,-0.605587338529,-0.605511041404,-0.605434738714,-0.605358430459,-0.605282116639,-0.605205797255,-0.605129472309,-0.605053141801,-0.604976805731,-0.6049004641,-0.604824116909,-0.604747764159,-0.60467140585,-0.604595041983,-0.604518672558,-0.604442297577,-0.60436591704,-0.604289530948,-0.604213139302,-0.604136742101,-0.604060339348,-0.603983931042,-0.603907517184,-0.603831097776,-0.603754672817,-0.603678242308,-0.603601806251,-0.603525364646,-0.603448917493,-0.603372464793,-0.603296006547,-0.603219542756,-0.60314307342,-0.60306659854,-0.602990118117,-0.602913632152,-0.602837140644,-0.602760643596,-0.602684141007,-0.602607632878,-0.60253111921,-0.602454600004,-0.60237807526,-0.602301544979,-0.602225009162,-0.60214846781,-0.602071920922,-0.601995368501,-0.601918810546,-0.601842247059,-0.601765678039,-0.601689103488,-0.601612523407,-0.601535937795,-0.601459346655,-0.601382749986,-0.601306147789,-0.601229540065,-0.601152926815,-0.601076308039,-0.600999683738,-0.600923053913,-0.600846418564,-0.600769777693,-0.600693131299,-0.600616479384,-0.600539821948,-0.600463158992,-0.600386490517,-0.600309816523,-0.600233137011,-0.600156451982,-0.600079761437,-0.600003065375,-0.599926363799,-0.599849656708,-0.599772944104,-0.599696225986,-0.599619502356,-0.599542773215,-0.599466038563,-0.599389298401,-0.599312552729,-0.599235801548,-0.59915904486,-0.599082282664,-0.599005514961,-0.598928741752,-0.598851963039,-0.59877517882,-0.598698389098,-0.598621593873,-0.598544793146,-0.598467986916,-0.598391175186,-0.598314357955,-0.598237535225,-0.598160706996,-0.598083873269,-0.598007034045,-0.597930189323,-0.597853339106,-0.597776483393,-0.597699622186,-0.597622755484,-0.59754588329,-0.597469005603,-0.597392122424,-0.597315233754,-0.597238339593,-0.597161439943,-0.597084534804,-0.597007624177,-0.596930708062,-0.59685378646,-0.596776859373,-0.596699926799,-0.596622988741,-0.596546045199,-0.596469096174,-0.596392141666,-0.596315181676,-0.596238216205,-0.596161245253,-0.596084268822,-0.596007286911,-0.595930299522,-0.595853306656,-0.595776308312,-0.595699304492,-0.595622295197,-0.595545280427,-0.595468260183,-0.595391234465,-0.595314203275,-0.595237166612,-0.595160124479,-0.595083076875,-0.5950060238,-0.594928965257,-0.594851901245,-0.594774831766,-0.594697756819,-0.594620676407,-0.594543590528,-0.594466499185,-0.594389402377,-0.594312300106,-0.594235192372,-0.594158079176,-0.594080960519,-0.594003836401,-0.593926706823,-0.593849571785,-0.59377243129,-0.593695285336,-0.593618133925,-0.593540977058,-0.593463814735,-0.593386646958,-0.593309473725,-0.59323229504,-0.593155110901,-0.593077921311,-0.593000726268,-0.592923525776,-0.592846319833,-0.59276910844,-0.5926918916,-0.592614669311,-0.592537441575,-0.592460208393,-0.592382969764,-0.592305725691,-0.592228476174,-0.592151221212,-0.592073960808,-0.591996694962,-0.591919423674,-0.591842146946,-0.591764864777,-0.591687577169,-0.591610284122,-0.591532985637,-0.591455681715,-0.591378372357,-0.591301057562,-0.591223737333,-0.591146411669,-0.591069080572,-0.590991744041,-0.590914402078,-0.590837054684,-0.590759701859,-0.590682343604,-0.590604979919,-0.590527610805,-0.590450236264,-0.590372856295,-0.5902954709,-0.590218080079,-0.590140683832,-0.590063282161,-0.589985875067,-0.589908462549,-0.589831044609,-0.589753621248,-0.589676192466,-0.589598758263,-0.589521318641,-0.5894438736,-0.589366423141,-0.589288967265,-0.589211505973,-0.589134039264,-0.58905656714,-0.588979089602,-0.58890160665,-0.588824118285,-0.588746624507,-0.588669125318,-0.588591620718,-0.588514110708,-0.588436595288,-0.588359074459,-0.588281548223,-0.588204016579,-0.588126479528,-0.588048937072,-0.58797138921,-0.587893835943,-0.587816277273,-0.5877387132,-0.587661143725,-0.587583568848,-0.587505988569,-0.587428402891,-0.587350811813,-0.587273215337,-0.587195613462,-0.58711800619,-0.587040393521,-0.586962775456,-0.586885151996,-0.586807523142,-0.586729888893,-0.586652249252,-0.586574604218,-0.586496953793,-0.586419297976,-0.58634163677,-0.586263970174,-0.586186298189,-0.586108620815,-0.586030938055,-0.585953249908,-0.585875556375,-0.585797857456,-0.585720153154,-0.585642443467,-0.585564728397,-0.585487007945,-0.585409282111,-0.585331550896,-0.585253814301,-0.585176072327,-0.585098324973,-0.585020572242,-0.584942814133,-0.584865050648,-0.584787281786,-0.584709507549,-0.584631727938,-0.584553942953,-0.584476152595,-0.584398356864,-0.584320555762,-0.584242749289,-0.584164937446,-0.584087120233,-0.584009297651,-0.583931469701,-0.583853636384,-0.5837757977,-0.583697953651,-0.583620104236,-0.583542249456,-0.583464389313,-0.583386523806,-0.583308652938,-0.583230776707,-0.583152895116,-0.583075008164,-0.582997115853,-0.582919218184,-0.582841315156,-0.582763406771,-0.582685493029,-0.582607573931,-0.582529649478,-0.58245171967,-0.582373784509,-0.582295843995,-0.582217898128,-0.58213994691,-0.582061990341,-0.581984028421,-0.581906061153,-0.581828088535,-0.581750110569,-0.581672127256,-0.581594138597,-0.581516144591,-0.581438145241,-0.581360140546,-0.581282130507,-0.581204115125,-0.581126094401,-0.581048068335,-0.580970036929,-0.580892000182,-0.580813958096,-0.580735910671,-0.580657857908,-0.580579799808,-0.580501736371,-0.580423667598,-0.580345593491,-0.580267514049,-0.580189429273,-0.580111339164,-0.580033243723,-0.57995514295,-0.579877036847,-0.579798925413,-0.579720808651,-0.579642686559,-0.579564559139,-0.579486426393,-0.579408288319,-0.57933014492,-0.579251996196,-0.579173842148,-0.579095682775,-0.57901751808,-0.578939348063,-0.578861172724,-0.578782992065,-0.578704806085,-0.578626614786,-0.578548418169,-0.578470216233,-0.578392008981,-0.578313796412,-0.578235578527,-0.578157355327,-0.578079126813,-0.578000892985,-0.577922653845,-0.577844409392,-0.577766159628,-0.577687904553,-0.577609644168,-0.577531378474,-0.577453107472,-0.577374831161,-0.577296549544,-0.57721826262,-0.57713997039,-0.577061672856,-0.576983370017,-0.576905061875,-0.57682674843,-0.576748429682,-0.576670105634,-0.576591776285,-0.576513441636,-0.576435101688,-0.576356756441,-0.576278405897,-0.576200050055,-0.576121688917,-0.576043322484,-0.575964950756,-0.575886573734,-0.575808191418,-0.575729803809,-0.575651410909,-0.575573012717,-0.575494609235,-0.575416200463,-0.575337786402,-0.575259367052,-0.575180942415,-0.575102512491,-0.57502407728,-0.574945636784,-0.574867191004,-0.574788739939,-0.574710283591,-0.57463182196,-0.574553355048,-0.574474882854,-0.57439640538,-0.574317922626,-0.574239434593,-0.574160941282,-0.574082442693,-0.574003938827,-0.573925429686,-0.573846915269,-0.573768395577,-0.573689870611,-0.573611340372,-0.57353280486,-0.573454264077,-0.573375718023,-0.573297166698,-0.573218610104,-0.57314004824,-0.573061481109,-0.57298290871,-0.572904331045,-0.572825748113,-0.572747159916,-0.572668566454,-0.572589967729,-0.572511363741,-0.57243275449,-0.572354139977,-0.572275520204,-0.57219689517,-0.572118264877,-0.572039629325,-0.571960988515,-0.571882342447,-0.571803691123,-0.571725034543,-0.571646372708,-0.571567705618,-0.571489033275,-0.571410355679,-0.57133167283,-0.57125298473,-0.571174291379,-0.571095592778,-0.571016888928,-0.570938179828,-0.570859465481,-0.570780745887,-0.570702021046,-0.57062329096,-0.570544555628,-0.570465815052,-0.570387069232,-0.57030831817,-0.570229561865,-0.570150800319,-0.570072033533,-0.569993261506,-0.56991448424,-0.569835701736,-0.569756913993,-0.569678121014,-0.569599322798,-0.569520519347,-0.569441710661,-0.56936289674,-0.569284077586,-0.5692052532,-0.569126423581,-0.569047588731,-0.568968748651,-0.56888990334,-0.568811052801,-0.568732197033,-0.568653336037,-0.568574469815,-0.568495598366,-0.568416721692,-0.568337839793,-0.56825895267,-0.568180060324,-0.568101162755,-0.568022259964,-0.567943351952,-0.56786443872,-0.567785520268,-0.567706596597,-0.567627667708,-0.567548733601,-0.567469794278,-0.567390849738,-0.567311899983,-0.567232945014,-0.567153984831,-0.567075019434,-0.566996048825,-0.566917073004,-0.566838091973,-0.566759105731,-0.56668011428,-0.566601117619,-0.566522115751,-0.566443108675,-0.566364096393,-0.566285078905,-0.566206056212,-0.566127028314,-0.566047995212,-0.565968956908,-0.565889913401,-0.565810864693,-0.565731810784,-0.565652751674,-0.565573687366,-0.565494617859,-0.565415543154,-0.565336463251,-0.565257378153,-0.565178287858,-0.565099192369,-0.565020091685,-0.564940985808,-0.564861874738,-0.564782758476,-0.564703637022,-0.564624510378,-0.564545378544,-0.564466241521,-0.564387099309,-0.564307951909,-0.564228799323,-0.56414964155,-0.564070478592,-0.563991310449,-0.563912137122,-0.563832958611,-0.563753774918,-0.563674586043,-0.563595391987,-0.56351619275,-0.563436988334,-0.563357778739,-0.563278563965,-0.563199344014,-0.563120118886,-0.563040888582,-0.562961653102,-0.562882412448,-0.56280316662,-0.562723915619,-0.562644659446,-0.562565398101,-0.562486131584,-0.562406859898,-0.562327583042,-0.562248301017,-0.562169013824,-0.562089721464,-0.562010423937,-0.561931121245,-0.561851813387,-0.561772500365,-0.561693182179,-0.56161385883,-0.561534530319,-0.561455196646,-0.561375857813,-0.561296513819,-0.561217164666,-0.561137810355,-0.561058450886,-0.560979086259,-0.560899716477,-0.560820341538,-0.560740961445,-0.560661576197,-0.560582185796,-0.560502790242,-0.560423389537,-0.56034398368,-0.560264572672,-0.560185156514,-0.560105735208,-0.560026308753,-0.55994687715,-0.559867440401,-0.559787998505,-0.559708551464,-0.559629099278,-0.559549641948,-0.559470179475,-0.559390711859,-0.559311239102,-0.559231761203,-0.559152278164,-0.559072789986,-0.558993296668,-0.558913798213,-0.55883429462,-0.55875478589,-0.558675272025,-0.558595753024,-0.558516228889,-0.55843669962,-0.558357165218,-0.558277625683,-0.558198081017,-0.558118531221,-0.558038976294,-0.557959416237,-0.557879851053,-0.55780028074,-0.5577207053,-0.557641124733,-0.557561539041,-0.557481948224,-0.557402352283,-0.557322751218,-0.55724314503,-0.55716353372,-0.557083917289,-0.557004295737,-0.556924669066,-0.556845037275,-0.556765400366,-0.556685758339,-0.556606111196,-0.556526458936,-0.55644680156,-0.55636713907,-0.556287471466,-0.556207798749,-0.556128120919,-0.556048437977,-0.555968749924,-0.555889056761,-0.555809358488,-0.555729655107,-0.555649946617,-0.55557023302,-0.555490514316,-0.555410790506,-0.555331061591,-0.555251327571,-0.555171588448,-0.555091844222,-0.555012094893,-0.554932340463,-0.554852580932,-0.554772816301,-0.55469304657,-0.554613271741,-0.554533491814,-0.55445370679,-0.55437391667,-0.554294121454,-0.554214321142,-0.554134515737,-0.554054705238,-0.553974889647,-0.553895068963,-0.553815243188,-0.553735412323,-0.553655576367,-0.553575735323,-0.55349588919,-0.55341603797,-0.553336181663,-0.55325632027,-0.553176453791,-0.553096582227,-0.55301670558,-0.552936823849,-0.552856937036,-0.552777045142,-0.552697148166,-0.55261724611,-0.552537338974,-0.55245742676,-0.552377509467,-0.552297587097,-0.552217659651,-0.552137727129,-0.552057789531,-0.551977846859,-0.551897899114,-0.551817946295,-0.551737988405,-0.551658025443,-0.55157805741,-0.551498084307,-0.551418106135,-0.551338122894,-0.551258134586,-0.551178141211,-0.551098142769,-0.551018139262,-0.55093813069,-0.550858117053,-0.550778098354,-0.550698074592,-0.550618045768,-0.550538011882,-0.550457972937,-0.550377928931,-0.550297879867,-0.550217825744,-0.550137766564,-0.550057702327,-0.549977633035,-0.549897558687,-0.549817479284,-0.549737394827,-0.549657305318,-0.549577210756,-0.549497111143,-0.549417006478,-0.549336896764,-0.549256782,-0.549176662188,-0.549096537327,-0.54901640742,-0.548936272466,-0.548856132466,-0.548775987421,-0.548695837333,-0.5486156822,-0.548535522025,-0.548455356808,-0.548375186549,-0.54829501125,-0.548214830912,-0.548134645534,-0.548054455118,-0.547974259664,-0.547894059173,-0.547813853646,-0.547733643084,-0.547653427487,-0.547573206857,-0.547492981193,-0.547412750496,-0.547332514768,-0.547252274009,-0.54717202822,-0.547091777401,-0.547011521554,-0.546931260678,-0.546850994775,-0.546770723846,-0.546690447891,-0.546610166911,-0.546529880906,-0.546449589878,-0.546369293827,-0.546288992754,-0.54620868666,-0.546128375545,-0.54604805941,-0.545967738256,-0.545887412083,-0.545807080893,-0.545726744686,-0.545646403463,-0.545566057224,-0.54548570597,-0.545405349703,-0.545324988422,-0.545244622129,-0.545164250824,-0.545083874508,-0.545003493181,-0.544923106845,-0.544842715501,-0.544762319148,-0.544681917788,-0.544601511421,-0.544521100048,-0.544440683671,-0.544360262288,-0.544279835903,-0.544199404514,-0.544118968123,-0.544038526731,-0.543958080338,-0.543877628945,-0.543797172553,-0.543716711162,-0.543636244774,-0.543555773389,-0.543475297007,-0.54339481563,-0.543314329258,-0.543233837893,-0.543153341534,-0.543072840182,-0.542992333838,-0.542911822504,-0.542831306179,-0.542750784865,-0.542670258561,-0.54258972727,-0.542509190991,-0.542428649726,-0.542348103474,-0.542267552238,-0.542186996017,-0.542106434812,-0.542025868625,-0.541945297455,-0.541864721304,-0.541784140172,-0.541703554061,-0.54162296297,-0.5415423669,-0.541461765853,-0.541381159829,-0.541300548828,-0.541219932853,-0.541139311902,-0.541058685977,-0.540978055079,-0.540897419208,-0.540816778366,-0.540736132552,-0.540655481768,-0.540574826015,-0.540494165293,-0.540413499602,-0.540332828945,-0.54025215332,-0.54017147273,-0.540090787174,-0.540010096655,-0.539929401171,-0.539848700725,-0.539767995316,-0.539687284946,-0.539606569616,-0.539525849325,-0.539445124075,-0.539364393867,-0.539283658701,-0.539202918578,-0.539122173499,-0.539041423464,-0.538960668474,-0.538879908531,-0.538799143634,-0.538718373785,-0.538637598984,-0.538556819232,-0.538476034529,-0.538395244877,-0.538314450277,-0.538233650728,-0.538152846232,-0.538072036789,-0.5379912224,-0.537910403067,-0.537829578789,-0.537748749567,-0.537667915402,-0.537587076296,-0.537506232248,-0.537425383259,-0.53734452933,-0.537263670463,-0.537182806656,-0.537101937913,-0.537021064232,-0.536940185615,-0.536859302062,-0.536778413575,-0.536697520154,-0.5366166218,-0.536535718513,-0.536454810295,-0.536373897146,-0.536292979066,-0.536212056057,-0.536131128119,-0.536050195253,-0.53596925746,-0.53588831474,-0.535807367095,-0.535726414524,-0.53564545703,-0.535564494611,-0.53548352727,-0.535402555007,-0.535321577823,-0.535240595718,-0.535159608693,-0.535078616749,-0.534997619887,-0.534916618107,-0.534835611411,-0.534754599798,-0.53467358327,-0.534592561827,-0.534511535471,-0.534430504201,-0.534349468019,-0.534268426926,-0.534187380921,-0.534106330006,-0.534025274182,-0.53394421345,-0.533863147809,-0.533782077261,-0.533701001807,-0.533619921447,-0.533538836183,-0.533457746014,-0.533376650941,-0.533295550966,-0.533214446089,-0.533133336311,-0.533052221633,-0.532971102054,-0.532889977577,-0.532808848202,-0.532727713929,-0.532646574759,-0.532565430693,-0.532484281733,-0.532403127877,-0.532321969128,-0.532240805486,-0.532159636952,-0.532078463526,-0.531997285209,-0.531916102003,-0.531834913907,-0.531753720923,-0.531672523051,-0.531591320292,-0.531510112646,-0.531428900115,-0.5313476827,-0.5312664604,-0.531185233217,-0.531104001151,-0.531022764204,-0.530941522376,-0.530860275667,-0.530779024079,-0.530697767612,-0.530616506266,-0.530535240044,-0.530453968945,-0.53037269297,-0.53029141212,-0.530210126396,-0.530128835798,-0.530047540328,-0.529966239985,-0.529884934771,-0.529803624686,-0.529722309732,-0.529640989908,-0.529559665216,-0.529478335657,-0.52939700123,-0.529315661938,-0.52923431778,-0.529152968758,-0.529071614872,-0.528990256122,-0.52890889251,-0.528827524037,-0.528746150703,-0.528664772508,-0.528583389455,-0.528502001542,-0.528420608772,-0.528339211145,-0.528257808661,-0.528176401321,-0.528094989127,-0.528013572079,-0.527932150177,-0.527850723423,-0.527769291816,-0.527687855359,-0.527606414051,-0.527524967893,-0.527443516887,-0.527362061032,-0.52728060033,-0.527199134782,-0.527117664387,-0.527036189148,-0.526954709064,-0.526873224136,-0.526791734365,-0.526710239753,-0.526628740298,-0.526547236004,-0.526465726869,-0.526384212895,-0.526302694083,-0.526221170433,-0.526139641946,-0.526058108623,-0.525976570464,-0.525895027471,-0.525813479644,-0.525731926984,-0.525650369491,-0.525568807167,-0.525487240012,-0.525405668026,-0.525324091212,-0.525242509568,-0.525160923097,-0.525079331798,-0.524997735673,-0.524916134723,-0.524834528947,-0.524752918347,-0.524671302924,-0.524589682678,-0.524508057611,-0.524426427722,-0.524344793013,-0.524263153484,-0.524181509136,-0.52409985997,-0.524018205986,-0.523936547186,-0.52385488357,-0.523773215139,-0.523691541893,-0.523609863834,-0.523528180962,-0.523446493278,-0.523364800782,-0.523283103476,-0.523201401359,-0.523119694434,-0.5230379827,-0.522956266159,-0.52287454481,-0.522792818656,-0.522711087696,-0.522629351931,-0.522547611363,-0.522465865991,-0.522384115817,-0.522302360841,-0.522220601065,-0.522138836488,-0.522057067112,-0.521975292937,-0.521893513965,-0.521811730195,-0.521729941629,-0.521648148267,-0.52156635011,-0.521484547159,-0.521402739415,-0.521320926879,-0.52123910955,-0.52115728743,-0.52107546052,-0.52099362882,-0.520911792332,-0.520829951055,-0.520748104991,-0.52066625414,-0.520584398504,-0.520502538082,-0.520420672876,-0.520338802887,-0.520256928114,-0.52017504856,-0.520093164224,-0.520011275108,-0.519929381211,-0.519847482536,-0.519765579082,-0.519683670851,-0.519601757843,-0.519519840059,-0.5194379175,-0.519355990166,-0.519274058058,-0.519192121177,-0.519110179524,-0.519028233099,-0.518946281904,-0.518864325938,-0.518782365203,-0.5187003997,-0.518618429429,-0.518536454391,-0.518454474586,-0.518372490016,-0.518290500681,-0.518208506583,-0.518126507721,-0.518044504096,-0.51796249571,-0.517880482562,-0.517798464655,-0.517716441988,-0.517634414562,-0.517552382378,-0.517470345437,-0.51738830374,-0.517306257287,-0.517224206079,-0.517142150116,-0.5170600894,-0.516978023932,-0.516895953711,-0.51681387874,-0.516731799018,-0.516649714546,-0.516567625325,-0.516485531356,-0.51640343264,-0.516321329177,-0.516239220968,-0.516157108014,-0.516074990315,-0.515992867873,-0.515910740688,-0.515828608761,-0.515746472092,-0.515664330683,-0.515582184534,-0.515500033646,-0.515417878019,-0.515335717655,-0.515253552554,-0.515171382717,-0.515089208145,-0.515007028838,-0.514924844797,-0.514842656023,-0.514760462517,-0.514678264279,-0.51459606131,-0.514513853611,-0.514431641183,-0.514349424027,-0.514267202142,-0.514184975531,-0.514102744193,-0.51402050813,-0.513938267342,-0.51385602183,-0.513773771595,-0.513691516637,-0.513609256958,-0.513526992557,-0.513444723437,-0.513362449596,-0.513280171038,-0.513197887761,-0.513115599767,-0.513033307056,-0.51295100963,-0.512868707489,-0.512786400634,-0.512704089065,-0.512621772783,-0.51253945179,-0.512457126086,-0.512374795671,-0.512292460546,-0.512210120713,-0.512127776172,-0.512045426923,-0.511963072967,-0.511880714306,-0.511798350939,-0.511715982869,-0.511633610094,-0.511551232617,-0.511468850438,-0.511386463557,-0.511304071976,-0.511221675695,-0.511139274715,-0.511056869037,-0.510974458661,-0.510892043589,-0.51080962382,-0.510727199357,-0.510644770198,-0.510562336346,-0.510479897801,-0.510397454564,-0.510315006635,-0.510232554016,-0.510150096707,-0.510067634708,-0.509985168021,-0.509902696647,-0.509820220585,-0.509737739837,-0.509655254404,-0.509572764287,-0.509490269485,-0.50940777,-0.509325265833,-0.509242756984,-0.509160243455,-0.509077725245,-0.508995202356,-0.508912674789,-0.508830142543,-0.508747605621,-0.508665064022,-0.508582517748,-0.508499966799,-0.508417411175,-0.508334850879,-0.50825228591,-0.50816971627,-0.508087141958,-0.508004562976,-0.507921979325,-0.507839391005,-0.507756798017,-0.507674200362,-0.50759159804,-0.507508991053,-0.507426379401,-0.507343763084,-0.507261142105,-0.507178516462,-0.507095886158,-0.507013251193,-0.506930611567,-0.506847967282,-0.506765318338,-0.506682664736,-0.506600006476,-0.50651734356,-0.506434675988,-0.506352003761,-0.50626932688,-0.506186645345,-0.506103959158,-0.506021268318,-0.505938572827,-0.505855872686,-0.505773167895,-0.505690458455,-0.505607744367,-0.505525025632,-0.50544230225,-0.505359574222,-0.505276841548,-0.505194104231,-0.505111362269,-0.505028615665,-0.504945864419,-0.504863108531,-0.504780348003,-0.504697582835,-0.504614813028,-0.504532038582,-0.504449259499,-0.50436647578,-0.504283687424,-0.504200894433,-0.504118096807,-0.504035294548,-0.503952487655,-0.503869676131,-0.503786859975,-0.503704039188,-0.503621213772,-0.503538383726,-0.503455549051,-0.50337270975,-0.503289865821,-0.503207017266,-0.503124164086,-0.503041306281,-0.502958443852,-0.5028755768,-0.502792705126,-0.50270982883,-0.502626947914,-0.502544062377,-0.502461172221,-0.502378277447,-0.502295378055,-0.502212474046,-0.50212956542,-0.50204665218,-0.501963734324,-0.501880811855,-0.501797884772,-0.501714953077,-0.50163201677,-0.501549075853,-0.501466130325,-0.501383180188,-0.501300225442,-0.501217266089,-0.501134302128,-0.501051333561,-0.500968360389,-0.500885382611,-0.50080240023,-0.500719413245,-0.500636421658,-0.500553425469,-0.50047042468,-0.50038741929,-0.5003044093,-0.500221394712,-0.500138375526,-0.500055351742,-0.499972323363,-0.499889290387,-0.499806252817,-0.499723210653,-0.499640163895,-0.499557112545,-0.499474056603,-0.49939099607,-0.499307930946,-0.499224861234,-0.499141786932,-0.499058708042,-0.498975624565,-0.498892536502,-0.498809443853,-0.498726346619,-0.4986432448,-0.498560138399,-0.498477027414,-0.498393911848,-0.498310791701,-0.498227666973,-0.498144537665,-0.498061403779,-0.497978265315,-0.497895122273,-0.497811974655,-0.497728822461,-0.497645665692,-0.497562504349,-0.497479338433,-0.497396167943,-0.497312992882,-0.497229813249,-0.497146629046,-0.497063440274,-0.496980246932,-0.496897049023,-0.496813846546,-0.496730639502,-0.496647427893,-0.496564211718,-0.496480990979,-0.496397765677,-0.496314535811,-0.496231301384,-0.496148062396,-0.496064818847,-0.495981570738,-0.495898318071,-0.495815060845,-0.495731799061,-0.495648532722,-0.495565261826,-0.495481986375,-0.49539870637,-0.495315421811,-0.495232132699,-0.495148839035,-0.49506554082,-0.494982238054,-0.494898930739,-0.494815618875,-0.494732302462,-0.494648981502,-0.494565655995,-0.494482325942,-0.494398991344,-0.494315652202,-0.494232308516,-0.494148960287,-0.494065607516,-0.493982250204,-0.493898888351,-0.493815521958,-0.493732151026,-0.493648775556,-0.493565395549,-0.493482011004,-0.493398621924,-0.493315228309,-0.493231830159,-0.493148427475,-0.493065020259,-0.49298160851,-0.49289819223,-0.492814771419,-0.492731346079,-0.492647916209,-0.492564481811,-0.492481042886,-0.492397599433,-0.492314151455,-0.492230698951,-0.492147241923,-0.492063780372,-0.491980314297,-0.4918968437,-0.491813368582,-0.491729888943,-0.491646404784,-0.491562916107,-0.49147942291,-0.491395925197,-0.491312422966,-0.491228916219,-0.491145404957,-0.491061889181,-0.490978368891,-0.490894844088,-0.490811314773,-0.490727780946,-0.490644242608,-0.490560699761,-0.490477152405,-0.49039360054,-0.490310044167,-0.490226483288,-0.490142917903,-0.490059348012,-0.489975773617,-0.489892194719,-0.489808611317,-0.489725023413,-0.489641431007,-0.489557834101,-0.489474232695,-0.48939062679,-0.489307016386,-0.489223401485,-0.489139782087,-0.489056158193,-0.488972529804,-0.48888889692,-0.488805259542,-0.488721617671,-0.488637971309,-0.488554320454,-0.488470665109,-0.488387005274,-0.48830334095,-0.488219672138,-0.488135998838,-0.488052321051,-0.487968638778,-0.487884952019,-0.487801260776,-0.48771756505,-0.48763386484,-0.487550160148,-0.487466450975,-0.487382737321,-0.487299019187,-0.487215296574,-0.487131569483,-0.487047837914,-0.486964101868,-0.486880361346,-0.486796616349,-0.486712866877,-0.486629112932,-0.486545354513,-0.486461591622,-0.48637782426,-0.486294052427,-0.486210276124,-0.486126495353,-0.486042710112,-0.485958920404,-0.48587512623,-0.485791327589,-0.485707524483,-0.485623716912,-0.485539904878,-0.485456088381,-0.485372267421,-0.485288442,-0.485204612119,-0.485120777777,-0.485036938976,-0.484953095717,-0.484869248001,-0.484785395827,-0.484701539198,-0.484617678113,-0.484533812574,-0.484449942581,-0.484366068135,-0.484282189237,-0.484198305888,-0.484114418087,-0.484030525837,-0.483946629138,-0.483862727991,-0.483778822396,-0.483694912354,-0.483610997866,-0.483527078933,-0.483443155555,-0.483359227734,-0.48327529547,-0.483191358763,-0.483107417616,-0.483023472027,-0.482939521999,-0.482855567532,-0.482771608626,-0.482687645283,-0.482603677503,-0.482519705287,-0.482435728636,-0.482351747551,-0.482267762031,-0.482183772079,-0.482099777695,-0.482015778879,-0.481931775633,-0.481847767957,-0.481763755852,-0.481679739319,-0.481595718358,-0.48151169297,-0.481427663157,-0.481343628918,-0.481259590255,-0.481175547168,-0.481091499659,-0.481007447727,-0.480923391374,-0.4808393306,-0.480755265407,-0.480671195795,-0.480587121764,-0.480503043316,-0.480418960451,-0.480334873171,-0.480250781475,-0.480166685365,-0.480082584841,-0.479998479905,-0.479914370556,-0.479830256797,-0.479746138626,-0.479662016046,-0.479577889057,-0.47949375766,-0.479409621856,-0.479325481644,-0.479241337027,-0.479157188005,-0.479073034579,-0.478988876749,-0.478904714516,-0.478820547881,-0.478736376845,-0.478652201409,-0.478568021573,-0.478483837338,-0.478399648705,-0.478315455675,-0.478231258248,-0.478147056425,-0.478062850207,-0.477978639595,-0.477894424589,-0.477810205191,-0.477725981401,-0.47764175322,-0.477557520648,-0.477473283687,-0.477389042337,-0.477304796598,-0.477220546473,-0.477136291961,-0.477052033063,-0.47696776978,-0.476883502114,-0.476799230063,-0.47671495363,-0.476630672816,-0.47654638762,-0.476462098044,-0.476377804088,-0.476293505753,-0.476209203041,-0.476124895951,-0.476040584485,-0.475956268643,-0.475871948427,-0.475787623836,-0.475703294872,-0.475618961535,-0.475534623827,-0.475450281747,-0.475365935297,-0.475281584478,-0.47519722929,-0.475112869735,-0.475028505812,-0.474944137522,-0.474859764868,-0.474775387848,-0.474691006464,-0.474606620717,-0.474522230608,-0.474437836137,-0.474353437305,-0.474269034112,-0.474184626561,-0.474100214651,-0.474015798383,-0.473931377757,-0.473846952776,-0.473762523439,-0.473678089748,-0.473593651702,-0.473509209303,-0.473424762552,-0.47334031145,-0.473255855996,-0.473171396192,-0.473086932039,-0.473002463538,-0.472917990689,-0.472833513493,-0.47274903195,-0.472664546063,-0.47258005583,-0.472495561254,-0.472411062335,-0.472326559073,-0.47224205147,-0.472157539526,-0.472073023242,-0.471988502619,-0.471903977658,-0.471819448359,-0.471734914723,-0.471650376751,-0.471565834443,-0.471481287802,-0.471396736826,-0.471312181517,-0.471227621877,-0.471143057904,-0.471058489601,-0.470973916969,-0.470889340007,-0.470804758717,-0.470720173099,-0.470635583155,-0.470550988884,-0.470466390289,-0.470381787369,-0.470297180125,-0.470212568558,-0.47012795267,-0.47004333246,-0.469958707929,-0.469874079079,-0.46978944591,-0.469704808422,-0.469620166617,-0.469535520496,-0.469450870058,-0.469366215306,-0.469281556239,-0.469196892859,-0.469112225165,-0.46902755316,-0.468942876844,-0.468858196217,-0.468773511281,-0.468688822036,-0.468604128483,-0.468519430622,-0.468434728455,-0.468350021982,-0.468265311204,-0.468180596122,-0.468095876736,-0.468011153048,-0.467926425058,-0.467841692767,-0.467756956176,-0.467672215285,-0.467587470095,-0.467502720608,-0.467417966823,-0.467333208742,-0.467248446365,-0.467163679694,-0.467078908728,-0.466994133469,-0.466909353917,-0.466824570074,-0.46673978194,-0.466654989516,-0.466570192802,-0.466485391799,-0.466400586509,-0.466315776932,-0.466230963068,-0.466146144919,-0.466061322486,-0.465976495768,-0.465891664767,-0.465806829484,-0.465721989919,-0.465637146073,-0.465552297948,-0.465467445543,-0.46538258886,-0.465297727898,-0.46521286266,-0.465127993146,-0.465043119357,-0.464958241293,-0.464873358955,-0.464788472344,-0.464703581461,-0.464618686306,-0.464533786881,-0.464448883186,-0.464363975222,-0.464279062989,-0.464194146489,-0.464109225722,-0.464024300689,-0.463939371391,-0.463854437828,-0.463769500002,-0.463684557913,-0.463599611562,-0.463514660949,-0.463429706076,-0.463344746944,-0.463259783552,-0.463174815902,-0.463089843995,-0.463004867831,-0.462919887411,-0.462834902736,-0.462749913807,-0.462664920624,-0.462579923189,-0.462494921502,-0.462409915563,-0.462324905375,-0.462239890936,-0.462154872249,-0.462069849314,-0.461984822131,-0.461899790702,-0.461814755028,-0.461729715108,-0.461644670945,-0.461559622538,-0.461474569888,-0.461389512997,-0.461304451865,-0.461219386492,-0.46113431688,-0.46104924303,-0.460964164941,-0.460879082616,-0.460793996054,-0.460708905256,-0.460623810224,-0.460538710958,-0.460453607459,-0.460368499727,-0.460283387764,-0.46019827157,-0.460113151146,-0.460028026493,-0.459942897611,-0.459857764501,-0.459772627165,-0.459687485602,-0.459602339814,-0.459517189802,-0.459432035566,-0.459346877106,-0.459261714425,-0.459176547522,-0.459091376398,-0.459006201055,-0.458921021492,-0.458835837712,-0.458750649713,-0.458665457498,-0.458580261067,-0.458495060421,-0.45840985556,-0.458324646486,-0.458239433199,-0.4581542157,-0.45806899399,-0.457983768069,-0.457898537938,-0.457813303599,-0.457728065051,-0.457642822297,-0.457557575335,-0.457472324168,-0.457387068796,-0.457301809219,-0.45721654544,-0.457131277457,-0.457046005273,-0.456960728888,-0.456875448302,-0.456790163517,-0.456704874533,-0.456619581351,-0.456534283972,-0.456448982397,-0.456363676626,-0.45627836666,-0.456193052501,-0.456107734148,-0.456022411602,-0.455937084865,-0.455851753937,-0.455766418819,-0.455681079512,-0.455595736016,-0.455510388333,-0.455425036462,-0.455339680406,-0.455254320163,-0.455168955737,-0.455083587126,-0.454998214333,-0.454912837357,-0.4548274562,-0.454742070862,-0.454656681344,-0.454571287647,-0.454485889772,-0.454400487719,-0.45431508149,-0.454229671084,-0.454144256504,-0.454058837749,-0.45397341482,-0.453887987718,-0.453802556445,-0.453717121,-0.453631681385,-0.4535462376,-0.453460789646,-0.453375337524,-0.453289881235,-0.453204420779,-0.453118956157,-0.453033487371,-0.45294801442,-0.452862537306,-0.452777056029,-0.452691570591,-0.452606080991,-0.452520587231,-0.452435089312,-0.452349587234,-0.452264080998,-0.452178570605,-0.452093056055,-0.45200753735,-0.451922014491,-0.451836487477,-0.45175095631,-0.451665420991,-0.45157988152,-0.451494337898,-0.451408790127,-0.451323238206,-0.451237682136,-0.451152121919,-0.451066557555,-0.450980989045,-0.45089541639,-0.45080983959,-0.450724258646,-0.450638673559,-0.45055308433,-0.45046749096,-0.450381893449,-0.450296291799,-0.450210686009,-0.450125076081,-0.450039462016,-0.449953843814,-0.449868221476,-0.449782595003,-0.449696964395,-0.449611329655,-0.449525690781,-0.449440047776,-0.449354400639,-0.449268749372,-0.449183093975,-0.44909743445,-0.449011770796,-0.448926103016,-0.448840431109,-0.448754755076,-0.448669074918,-0.448583390637,-0.448497702232,-0.448412009704,-0.448326313055,-0.448240612285,-0.448154907395,-0.448069198386,-0.447983485257,-0.447897768012,-0.447812046649,-0.44772632117,-0.447640591575,-0.447554857866,-0.447469120043,-0.447383378108,-0.447297632059,-0.4472118819,-0.447126127629,-0.447040369249,-0.44695460676,-0.446868840162,-0.446783069457,-0.446697294645,-0.446611515728,-0.446525732705,-0.446439945577,-0.446354154346,-0.446268359013,-0.446182559577,-0.44609675604,-0.446010948403,-0.445925136666,-0.44583932083,-0.445753500896,-0.445667676865,-0.445581848737,-0.445496016514,-0.445410180196,-0.445324339783,-0.445238495278,-0.44515264668,-0.44506679399,-0.444980937209,-0.444895076338,-0.444809211377,-0.444723342328,-0.444637469191,-0.444551591967,-0.444465710657,-0.444379825262,-0.444293935782,-0.444208042218,-0.44412214457,-0.444036242841,-0.44395033703,-0.443864427139,-0.443778513167,-0.443692595117,-0.443606672988,-0.443520746781,-0.443434816498,-0.443348882139,-0.443262943705,-0.443177001196,-0.443091054614,-0.443005103959,-0.442919149232,-0.442833190433,-0.442747227565,-0.442661260626,-0.442575289619,-0.442489314544,-0.442403335401,-0.442317352192,-0.442231364918,-0.442145373578,-0.442059378174,-0.441973378707,-0.441887375178,-0.441801367586,-0.441715355934,-0.441629340222,-0.44154332045,-0.44145729662,-0.441371268732,-0.441285236787,-0.441199200785,-0.441113160729,-0.441027116617,-0.440941068452,-0.440855016234,-0.440768959964,-0.440682899642,-0.440596835269,-0.440510766847,-0.440424694375,-0.440338617856,-0.440252537288,-0.440166452675,-0.440080364015,-0.43999427131,-0.43990817456,-0.439822073767,-0.439735968932,-0.439649860054,-0.439563747135,-0.439477630176,-0.439391509178,-0.43930538414,-0.439219255065,-0.439133121952,-0.439046984803,-0.438960843618,-0.438874698398,-0.438788549145,-0.438702395858,-0.438616238539,-0.438530077188,-0.438443911806,-0.438357742394,-0.438271568952,-0.438185391483,-0.438099209985,-0.438013024461,-0.43792683491,-0.437840641334,-0.437754443734,-0.43766824211,-0.437582036463,-0.437495826794,-0.437409613103,-0.437323395392,-0.437237173661,-0.437150947911,-0.437064718143,-0.436978484357,-0.436892246555,-0.436806004737,-0.436719758904,-0.436633509057,-0.436547255196,-0.436460997323,-0.436374735438,-0.436288469542,-0.436202199635,-0.436115925719,-0.436029647794,-0.435943365862,-0.435857079922,-0.435770789976,-0.435684496025,-0.435598198069,-0.435511896108,-0.435425590145,-0.43533928018,-0.435252966213,-0.435166648245,-0.435080326277,-0.43499400031,-0.434907670344,-0.434821336381,-0.434734998422,-0.434648656466,-0.434562310515,-0.43447596057,-0.434389606631,-0.434303248699,-0.434216886775,-0.43413052086,-0.434044150955,-0.43395777706,-0.433871399176,-0.433785017304,-0.433698631444,-0.433612241599,-0.433525847767,-0.433439449951,-0.433353048151,-0.433266642367,-0.433180232601,-0.433093818853,-0.433007401124,-0.432920979416,-0.432834553727,-0.432748124061,-0.432661690416,-0.432575252795,-0.432488811198,-0.432402365625,-0.432315916077,-0.432229462556,-0.432143005062,-0.432056543596,-0.431970078158,-0.43188360875,-0.431797135372,-0.431710658025,-0.43162417671,-0.431537691427,-0.431451202178,-0.431364708963,-0.431278211783,-0.431191710639,-0.431105205531,-0.431018696461,-0.430932183429,-0.430845666436,-0.430759145483,-0.43067262057,-0.430586091698,-0.430499558869,-0.430413022083,-0.43032648134,-0.430239936642,-0.430153387989,-0.430066835383,-0.429980278823,-0.429893718311,-0.429807153847,-0.429720585433,-0.429634013069,-0.429547436756,-0.429460856494,-0.429374272285,-0.42928768413,-0.429201092028,-0.429114495981,-0.42902789599,-0.428941292055,-0.428854684178,-0.428768072359,-0.428681456598,-0.428594836897,-0.428508213257,-0.428421585678,-0.428334954161,-0.428248318707,-0.428161679316,-0.42807503599,-0.427988388729,-0.427901737534,-0.427815082406,-0.427728423345,-0.427641760353,-0.42755509343,-0.427468422577,-0.427381747795,-0.427295069085,-0.427208386447,-0.427121699882,-0.427035009391,-0.426948314975,-0.426861616634,-0.42677491437,-0.426688208183,-0.426601498074,-0.426514784044,-0.426428066093,-0.426341344223,-0.426254618434,-0.426167888727,-0.426081155102,-0.425994417562,-0.425907676105,-0.425820930734,-0.425734181448,-0.42564742825,-0.425560671138,-0.425473910116,-0.425387145182,-0.425300376338,-0.425213603585,-0.425126826924,-0.425040046355,-0.424953261879,-0.424866473496,-0.424779681209,-0.424692885017,-0.424606084922,-0.424519280923,-0.424432473023,-0.424345661221,-0.424258845519,-0.424172025917,-0.424085202416,-0.423998375017,-0.42391154372,-0.423824708528,-0.423737869439,-0.423651026456,-0.423564179578,-0.423477328807,-0.423390474144,-0.423303615589,-0.423216753143,-0.423129886807,-0.423043016581,-0.422956142467,-0.422869264466,-0.422782382577,-0.422695496802,-0.422608607142,-0.422521713598,-0.422434816169,-0.422347914858,-0.422261009665,-0.42217410059,-0.422087187635,-0.4220002708,-0.421913350086,-0.421826425494,-0.421739497024,-0.421652564679,-0.421565628457,-0.42147868836,-0.42139174439,-0.421304796545,-0.421217844829,-0.42113088924,-0.421043929781,-0.420956966452,-0.420869999253,-0.420783028186,-0.42069605325,-0.420609074448,-0.42052209178,-0.420435105247,-0.420348114849,-0.420261120587,-0.420174122462,-0.420087120475,-0.420000114627,-0.419913104918,-0.419826091349,-0.419739073922,-0.419652052636,-0.419565027493,-0.419477998493,-0.419390965638,-0.419303928928,-0.419216888363,-0.419129843945,-0.419042795675,-0.418955743553,-0.41886868758,-0.418781627757,-0.418694564084,-0.418607496563,-0.418520425194,-0.418433349978,-0.418346270916,-0.418259188009,-0.418172101257,-0.418085010662,-0.417997916223,-0.417910817942,-0.41782371582,-0.417736609858,-0.417649500055,-0.417562386414,-0.417475268935,-0.417388147618,-0.417301022464,-0.417213893475,-0.417126760651,-0.417039623993,-0.416952483502,-0.416865339178,-0.416778191022,-0.416691039035,-0.416603883218,-0.416516723572,-0.416429560098,-0.416342392795,-0.416255221666,-0.41616804671,-0.41608086793,-0.415993685324,-0.415906498895,-0.415819308643,-0.415732114569,-0.415644916674,-0.415557714958,-0.415470509422,-0.415383300068,-0.415296086895,-0.415208869905,-0.415121649098,-0.415034424476,-0.414947196039,-0.414859963788,-0.414772727723,-0.414685487846,-0.414598244157,-0.414510996658,-0.414423745348,-0.414336490229,-0.414249231301,-0.414161968566,-0.414074702024,-0.413987431676,-0.413900157523,-0.413812879565,-0.413725597803,-0.413638312238,-0.413551022872,-0.413463729704,-0.413376432736,-0.413289131968,-0.413201827401,-0.413114519036,-0.413027206874,-0.412939890915,-0.412852571161,-0.412765247612,-0.412677920268,-0.412590589132,-0.412503254203,-0.412415915483,-0.412328572971,-0.41224122667,-0.412153876579,-0.4120665227,-0.411979165034,-0.41189180358,-0.41180443834,-0.411717069316,-0.411629696507,-0.411542319914,-0.411454939538,-0.411367555381,-0.411280167442,-0.411192775723,-0.411105380224,-0.411017980946,-0.410930577891,-0.410843171058,-0.410755760449,-0.410668346064,-0.410580927905,-0.410493505971,-0.410406080264,-0.410318650785,-0.410231217535,-0.410143780514,-0.410056339722,-0.409968895162,-0.409881446833,-0.409793994737,-0.409706538874,-0.409619079245,-0.409531615851,-0.409444148692,-0.40935667777,-0.409269203086,-0.409181724639,-0.409094242431,-0.409006756463,-0.408919266736,-0.40883177325,-0.408744276005,-0.408656775004,-0.408569270247,-0.408481761734,-0.408394249466,-0.408306733445,-0.40821921367,-0.408131690143,-0.408044162865,-0.407956631836,-0.407869097057,-0.407781558529,-0.407694016253,-0.40760647023,-0.40751892046,-0.407431366944,-0.407343809683,-0.407256248677,-0.407168683929,-0.407081115438,-0.406993543204,-0.40690596723,-0.406818387516,-0.406730804063,-0.40664321687,-0.40655562594,-0.406468031273,-0.40638043287,-0.406292830732,-0.406205224859,-0.406117615252,-0.406030001912,-0.40594238484,-0.405854764037,-0.405767139503,-0.40567951124,-0.405591879248,-0.405504243527,-0.405416604079,-0.405328960905,-0.405241314005,-0.40515366338,-0.405066009031,-0.404978350959,-0.404890689164,-0.404803023648,-0.40471535441,-0.404627681453,-0.404540004777,-0.404452324382,-0.404364640269,-0.404276952439,-0.404189260894,-0.404101565633,-0.404013866658,-0.403926163969,-0.403838457568,-0.403750747454,-0.403663033629,-0.403575316094,-0.403487594849,-0.403399869896,-0.403312141235,-0.403224408866,-0.403136672791,-0.40304893301,-0.402961189525,-0.402873442336,-0.402785691444,-0.402697936849,-0.402610178553,-0.402522416556,-0.402434650859,-0.402346881464,-0.402259108369,-0.402171331578,-0.40208355109,-0.401995766905,-0.401907979026,-0.401820187453,-0.401732392186,-0.401644593226,-0.401556790575,-0.401468984233,-0.4013811742,-0.401293360478,-0.401205543067,-0.401117721969,-0.401029897184,-0.400942068712,-0.400854236555,-0.400766400714,-0.400678561188,-0.40059071798,-0.40050287109,-0.400415020518,-0.400327166266,-0.400239308334,-0.400151446723,-0.400063581434,-0.399975712468,-0.399887839825,-0.399799963506,-0.399712083513,-0.399624199846,-0.399536312505,-0.399448421492,-0.399360526807,-0.399272628452,-0.399184726426,-0.399096820731,-0.399008911368,-0.398920998337,-0.398833081639,-0.398745161276,-0.398657237247,-0.398569309554,-0.398481378197,-0.398393443177,-0.398305504496,-0.398217562153,-0.39812961615,-0.398041666488,-0.397953713167,-0.397865756188,-0.397777795552,-0.397689831259,-0.397601863311,-0.397513891709,-0.397425916452,-0.397337937543,-0.397249954981,-0.397161968768,-0.397073978904,-0.39698598539,-0.396897988228,-0.396809987417,-0.396721982958,-0.396633974854,-0.396545963103,-0.396457947707,-0.396369928668,-0.396281905985,-0.396193879659,-0.396105849692,-0.396017816083,-0.395929778835,-0.395841737947,-0.395753693421,-0.395665645257,-0.395577593457,-0.39548953802,-0.395401478948,-0.395313416241,-0.395225349901,-0.395137279928,-0.395049206323,-0.394961129087,-0.394873048221,-0.394784963724,-0.394696875599,-0.394608783847,-0.394520688466,-0.39443258946,-0.394344486828,-0.394256380571,-0.394168270691,-0.394080157187,-0.393992040061,-0.393903919314,-0.393815794945,-0.393727666957,-0.39363953535,-0.393551400125,-0.393463261282,-0.393375118823,-0.393286972747,-0.393198823057,-0.393110669753,-0.393022512835,-0.392934352304,-0.392846188162,-0.392758020409,-0.392669849046,-0.392581674073,-0.392493495492,-0.392405313303,-0.392317127507,-0.392228938105,-0.392140745098,-0.392052548486,-0.391964348271,-0.391876144453,-0.391787937033,-0.391699726011,-0.391611511389,-0.391523293168,-0.391435071348,-0.391346845929,-0.391258616914,-0.391170384302,-0.391082148095,-0.390993908293,-0.390905664897,-0.390817417908,-0.390729167326,-0.390640913153,-0.39055265539,-0.390464394036,-0.390376129094,-0.390287860563,-0.390199588444,-0.39011131274,-0.390023033449,-0.389934750573,-0.389846464113,-0.38975817407,-0.389669880444,-0.389581583236,-0.389493282448,-0.389404978079,-0.389316670131,-0.389228358604,-0.3891400435,-0.389051724819,-0.388963402562,-0.388875076729,-0.388786747322,-0.388698414342,-0.388610077788,-0.388521737663,-0.388433393966,-0.388345046699,-0.388256695862,-0.388168341457,-0.388079983483,-0.387991621943,-0.387903256836,-0.387814888164,-0.387726515926,-0.387638140125,-0.387549760761,-0.387461377835,-0.387372991347,-0.387284601299,-0.38719620769,-0.387107810523,-0.387019409797,-0.386931005514,-0.386842597675,-0.38675418628,-0.386665771329,-0.386577352825,-0.386488930767,-0.386400505157,-0.386312075995,-0.386223643282,-0.386135207019,-0.386046767207,-0.385958323846,-0.385869876938,-0.385781426482,-0.385692972481,-0.385604514935,-0.385516053844,-0.38542758921,-0.385339121032,-0.385250649313,-0.385162174053,-0.385073695252,-0.384985212912,-0.384896727034,-0.384808237617,-0.384719744663,-0.384631248173,-0.384542748148,-0.384454244587,-0.384365737494,-0.384277226867,-0.384188712707,-0.384100195017,-0.384011673796,-0.383923149045,-0.383834620765,-0.383746088957,-0.383657553622,-0.38356901476,-0.383480472373,-0.383391926461,-0.383303377024,-0.383214824065,-0.383126267583,-0.383037707579,-0.382949144055,-0.382860577011,-0.382772006447,-0.382683432365,-0.382594854766,-0.382506273649,-0.382417689017,-0.38232910087,-0.382240509209,-0.382151914034,-0.382063315346,-0.381974713147,-0.381886107436,-0.381797498215,-0.381708885485,-0.381620269247,-0.3815316495,-0.381443026247,-0.381354399487,-0.381265769222,-0.381177135453,-0.38108849818,-0.380999857404,-0.380911213126,-0.380822565346,-0.380733914067,-0.380645259287,-0.380556601009,-0.380467939233,-0.380379273959,-0.38029060519,-0.380201932924,-0.380113257164,-0.38002457791,-0.379935895163,-0.379847208924,-0.379758519193,-0.379669825972,-0.37958112926,-0.37949242906,-0.379403725372,-0.379315018196,-0.379226307533,-0.379137593385,-0.379048875752,-0.378960154634,-0.378871430034,-0.37878270195,-0.378693970385,-0.37860523534,-0.378516496814,-0.378427754809,-0.378339009325,-0.378250260364,-0.378161507926,-0.378072752012,-0.377983992623,-0.37789522976,-0.377806463423,-0.377717693613,-0.377628920332,-0.377540143579,-0.377451363356,-0.377362579664,-0.377273792503,-0.377185001874,-0.377096207778,-0.377007410216,-0.376918609189,-0.376829804697,-0.376740996741,-0.376652185323,-0.376563370442,-0.3764745521,-0.376385730298,-0.376296905036,-0.376208076315,-0.376119244136,-0.3760304085,-0.375941569407,-0.375852726859,-0.375763880856,-0.375675031399,-0.375586178489,-0.375497322127,-0.375408462313,-0.375319599049,-0.375230732334,-0.375141862171,-0.37505298856,-0.374964111501,-0.374875230995,-0.374786347044,-0.374697459647,-0.374608568807,-0.374519674523,-0.374430776797,-0.374341875629,-0.37425297102,-0.374164062971,-0.374075151483,-0.373986236557,-0.373897318193,-0.373808396392,-0.373719471155,-0.373630542483,-0.373541610377,-0.373452674837,-0.373363735864,-0.37327479346,-0.373185847624,-0.373096898359,-0.373007945663,-0.37291898954,-0.372830029988,-0.37274106701,-0.372652100605,-0.372563130775,-0.37247415752,-0.372385180842,-0.372296200741,-0.372207217218,-0.372118230273,-0.372029239908,-0.371940246124,-0.37185124892,-0.371762248299,-0.371673244261,-0.371584236806,-0.371495225936,-0.371406211651,-0.371317193952,-0.37122817284,-0.371139148316,-0.37105012038,-0.370961089034,-0.370872054278,-0.370783016113,-0.37069397454,-0.370604929559,-0.370515881172,-0.370426829379,-0.370337774182,-0.37024871558,-0.370159653575,-0.370070588168,-0.369981519359,-0.369892447149,-0.369803371539,-0.36971429253,-0.369625210123,-0.369536124318,-0.369447035117,-0.36935794252,-0.369268846527,-0.369179747141,-0.369090644361,-0.369001538188,-0.368912428624,-0.368823315668,-0.368734199323,-0.368645079588,-0.368555956464,-0.368466829953,-0.368377700055,-0.368288566771,-0.368199430102,-0.368110290049,-0.368021146612,-0.367931999792,-0.36784284959,-0.367753696007,-0.367664539043,-0.3675753787,-0.367486214979,-0.367397047879,-0.367307877403,-0.36721870355,-0.367129526322,-0.36704034572,-0.366951161743,-0.366861974394,-0.366772783673,-0.36668358958,-0.366594392117,-0.366505191284,-0.366415987082,-0.366326779513,-0.366237568576,-0.366148354272,-0.366059136604,-0.36596991557,-0.365880691173,-0.365791463412,-0.365702232289,-0.365612997805,-0.36552375996,-0.365434518755,-0.365345274191,-0.365256026269,-0.36516677499,-0.365077520354,-0.364988262363,-0.364899001016,-0.364809736316,-0.364720468262,-0.364631196856,-0.364541922098,-0.364452643989,-0.364363362531,-0.364274077723,-0.364184789567,-0.364095498064,-0.364006203213,-0.363916905017,-0.363827603476,-0.363738298591,-0.363648990362,-0.36355967879,-0.363470363877,-0.363381045623,-0.363291724029,-0.363202399096,-0.363113070824,-0.363023739214,-0.362934404268,-0.362845065985,-0.362755724367,-0.362666379415,-0.36257703113,-0.362487679511,-0.362398324561,-0.36230896628,-0.362219604668,-0.362130239727,-0.362040871458,-0.36195149986,-0.361862124936,-0.361772746685,-0.361683365109,-0.361593980209,-0.361504591985,-0.361415200438,-0.361325805568,-0.361236407378,-0.361147005867,-0.361057601037,-0.360968192888,-0.360878781421,-0.360789366637,-0.360699948537,-0.360610527121,-0.36052110239,-0.360431674346,-0.360342242988,-0.360252808319,-0.360163370338,-0.360073929046,-0.359984484445,-0.359895036535,-0.359805585317,-0.359716130791,-0.359626672959,-0.359537211822,-0.35944774738,-0.359358279633,-0.359268808584,-0.359179334232,-0.359089856579,-0.359000375625,-0.358910891371,-0.358821403819,-0.358731912968,-0.358642418819,-0.358552921374,-0.358463420634,-0.358373916598,-0.358284409268,-0.358194898645,-0.35810538473,-0.358015867523,-0.357926347025,-0.357836823237,-0.35774729616,-0.357657765795,-0.357568232142,-0.357478695203,-0.357389154977,-0.357299611467,-0.357210064672,-0.357120514594,-0.357030961233,-0.356941404591,-0.356851844668,-0.356762281464,-0.356672714982,-0.35658314522,-0.356493572182,-0.356403995866,-0.356314416274,-0.356224833408,-0.356135247267,-0.356045657852,-0.355956065165,-0.355866469205,-0.355776869975,-0.355687267475,-0.355597661705,-0.355508052666,-0.35541844036,-0.355328824787,-0.355239205948,-0.355149583843,-0.355059958474,-0.354970329842,-0.354880697946,-0.354791062789,-0.35470142437,-0.354611782691,-0.354522137753,-0.354432489556,-0.354342838101,-0.354253183389,-0.35416352542,-0.354073864197,-0.353984199719,-0.353894531987,-0.353804861002,-0.353715186765,-0.353625509277,-0.353535828538,-0.353446144549,-0.353356457312,-0.353266766827,-0.353177073095,-0.353087376116,-0.352997675892,-0.352907972424,-0.352818265711,-0.352728555755,-0.352638842557,-0.352549126118,-0.352459406438,-0.352369683519,-0.35227995736,-0.352190227964,-0.35210049533,-0.35201075946,-0.351921020354,-0.351831278013,-0.351741532439,-0.351651783631,-0.351562031591,-0.35147227632,-0.351382517818,-0.351292756086,-0.351202991125,-0.351113222935,-0.351023451519,-0.350933676876,-0.350843899007,-0.350754117913,-0.350664333596,-0.350574546055,-0.350484755292,-0.350394961307,-0.350305164101,-0.350215363675,-0.350125560031,-0.350035753168,-0.349945943087,-0.34985612979,-0.349766313277,-0.349676493549,-0.349586670607,-0.349496844452,-0.349407015084,-0.349317182505,-0.349227346714,-0.349137507714,-0.349047665505,-0.348957820087,-0.348867971461,-0.348778119629,-0.348688264591,-0.348598406348,-0.3485085449,-0.348418680249,-0.348328812396,-0.348238941341,-0.348149067085,-0.348059189629,-0.347969308973,-0.347879425119,-0.347789538067,-0.347699647819,-0.347609754375,-0.347519857735,-0.347429957901,-0.347340054874,-0.347250148654,-0.347160239242,-0.347070326639,-0.346980410846,-0.346890491863,-0.346800569692,-0.346710644334,-0.346620715788,-0.346530784056,-0.346440849139,-0.346350911038,-0.346260969753,-0.346171025285,-0.346081077636,-0.345991126805,-0.345901172794,-0.345811215604,-0.345721255235,-0.345631291688,-0.345541324964,-0.345451355064,-0.345361381989,-0.345271405739,-0.345181426316,-0.345091443719,-0.345001457951,-0.344911469012,-0.344821476902,-0.344731481622,-0.344641483174,-0.344551481559,-0.344461476776,-0.344371468826,-0.344281457712,-0.344191443433,-0.34410142599,-0.344011405384,-0.343921381616,-0.343831354687,-0.343741324598,-0.343651291349,-0.343561254941,-0.343471215375,-0.343381172652,-0.343291126773,-0.343201077738,-0.343111025549,-0.343020970206,-0.34293091171,-0.342840850062,-0.342750785262,-0.342660717312,-0.342570646212,-0.342480571964,-0.342390494567,-0.342300414024,-0.342210330333,-0.342120243498,-0.342030153518,-0.341940060393,-0.341849964126,-0.341759864717,-0.341669762166,-0.341579656475,-0.341489547644,-0.341399435674,-0.341309320566,-0.34121920232,-0.341129080939,-0.341038956421,-0.340948828769,-0.340858697983,-0.340768564064,-0.340678427013,-0.34058828683,-0.340498143517,-0.340407997074,-0.340317847501,-0.340227694801,-0.340137538974,-0.340047380019,-0.33995721794,-0.339867052735,-0.339776884407,-0.339686712955,-0.339596538381,-0.339506360686,-0.33941617987,-0.339325995934,-0.339235808879,-0.339145618705,-0.339055425415,-0.338965229008,-0.338875029485,-0.338784826848,-0.338694621096,-0.338604412231,-0.338514200254,-0.338423985165,-0.338333766966,-0.338243545656,-0.338153321238,-0.338063093711,-0.337972863077,-0.337882629336,-0.33779239249,-0.337702152538,-0.337611909483,-0.337521663324,-0.337431414063,-0.337341161701,-0.337250906237,-0.337160647674,-0.337070386011,-0.33698012125,-0.336889853392,-0.336799582437,-0.336709308387,-0.336619031241,-0.336528751001,-0.336438467668,-0.336348181243,-0.336257891726,-0.336167599118,-0.33607730342,-0.335987004633,-0.335896702757,-0.335806397794,-0.335716089745,-0.335625778609,-0.335535464389,-0.335445147085,-0.335354826697,-0.335264503226,-0.335174176674,-0.335083847041,-0.334993514328,-0.334903178536,-0.334812839666,-0.334722497718,-0.334632152693,-0.334541804592,-0.334451453417,-0.334361099167,-0.334270741844,-0.334180381448,-0.33409001798,-0.333999651442,-0.333909281834,-0.333818909156,-0.33372853341,-0.333638154596,-0.333547772716,-0.33345738777,-0.333366999759,-0.333276608683,-0.333186214544,-0.333095817343,-0.333005417079,-0.332915013755,-0.332824607371,-0.332734197927,-0.332643785426,-0.332553369866,-0.33246295125,-0.332372529578,-0.33228210485,-0.332191677069,-0.332101246234,-0.332010812346,-0.331920375407,-0.331829935416,-0.331739492376,-0.331649046286,-0.331558597148,-0.331468144962,-0.33137768973,-0.331287231451,-0.331196770128,-0.33110630576,-0.331015838349,-0.330925367895,-0.330834894399,-0.330744417862,-0.330653938285,-0.330563455669,-0.330472970014,-0.330382481322,-0.330291989593,-0.330201494828,-0.330110997028,-0.330020496193,-0.329929992325,-0.329839485424,-0.329748975492,-0.329658462529,-0.329567946535,-0.329477427512,-0.329386905461,-0.329296380382,-0.329205852276,-0.329115321144,-0.329024786987,-0.328934249806,-0.328843709601,-0.328753166373,-0.328662620124,-0.328572070854,-0.328481518563,-0.328390963253,-0.328300404925,-0.328209843579,-0.328119279216,-0.328028711837,-0.327938141443,-0.327847568035,-0.327756991613,-0.327666412179,-0.327575829733,-0.327485244275,-0.327394655808,-0.327304064331,-0.327213469845,-0.327122872352,-0.327032271853,-0.326941668347,-0.326851061836,-0.32676045232,-0.326669839801,-0.32657922428,-0.326488605756,-0.326397984232,-0.326307359707,-0.326216732183,-0.326126101661,-0.32603546814,-0.325944831623,-0.32585419211,-0.325763549602,-0.325672904099,-0.325582255603,-0.325491604115,-0.325400949634,-0.325310292162,-0.3252196317,-0.325128968249,-0.32503830181,-0.324947632382,-0.324856959968,-0.324766284568,-0.324675606182,-0.324584924813,-0.324494240459,-0.324403553123,-0.324312862805,-0.324222169507,-0.324131473228,-0.324040773969,-0.323950071732,-0.323859366518,-0.323768658326,-0.323677947159,-0.323587233016,-0.3234965159,-0.323405795809,-0.323315072746,-0.323224346711,-0.323133617705,-0.323042885729,-0.322952150783,-0.322861412869,-0.322770671988,-0.322679928139,-0.322589181325,-0.322498431545,-0.322407678801,-0.322316923094,-0.322226164423,-0.322135402791,-0.322044638198,-0.321953870645,-0.321863100133,-0.321772326662,-0.321681550233,-0.321590770847,-0.321499988506,-0.321409203209,-0.321318414958,-0.321227623754,-0.321136829597,-0.321046032488,-0.320955232428,-0.320864429418,-0.320773623458,-0.320682814551,-0.320592002695,-0.320501187893,-0.320410370144,-0.320319549451,-0.320228725813,-0.320137899232,-0.320047069708,-0.319956237242,-0.319865401836,-0.319774563489,-0.319683722203,-0.319592877978,-0.319502030816,-0.319411180717,-0.319320327682,-0.319229471712,-0.319138612808,-0.31904775097,-0.318956886199,-0.318866018497,-0.318775147864,-0.318684274301,-0.318593397808,-0.318502518387,-0.318411636039,-0.318320750763,-0.318229862562,-0.318138971436,-0.318048077385,-0.317957180411,-0.317866280514,-0.317775377696,-0.317684471956,-0.317593563297,-0.317502651718,-0.317411737221,-0.317320819806,-0.317229899475,-0.317138976228,-0.317048050065,-0.316957120989,-0.316866188998,-0.316775254096,-0.316684316281,-0.316593375556,-0.316502431921,-0.316411485376,-0.316320535923,-0.316229583563,-0.316138628296,-0.316047670123,-0.315956709045,-0.315865745062,-0.315774778176,-0.315683808388,-0.315592835698,-0.315501860108,-0.315410881617,-0.315319900227,-0.315228915938,-0.315137928753,-0.31504693867,-0.314955945692,-0.314864949818,-0.314773951051,-0.31468294939,-0.314591944836,-0.314500937391,-0.314409927055,-0.314318913829,-0.314227897714,-0.314136878711,-0.31404585682,-0.313954832043,-0.31386380438,-0.313772773831,-0.313681740399,-0.313590704083,-0.313499664885,-0.313408622805,-0.313317577845,-0.313226530004,-0.313135479285,-0.313044425687,-0.312953369212,-0.31286230986,-0.312771247632,-0.312680182529,-0.312589114553,-0.312498043703,-0.31240696998,-0.312315893386,-0.312224813922,-0.312133731587,-0.312042646384,-0.311951558312,-0.311860467372,-0.311769373567,-0.311678276895,-0.311587177359,-0.311496074958,-0.311404969695,-0.311313861569,-0.311222750581,-0.311131636733,-0.311040520025,-0.310949400458,-0.310858278032,-0.31076715275,-0.31067602461,-0.310584893616,-0.310493759766,-0.310402623062,-0.310311483506,-0.310220341096,-0.310129195836,-0.310038047725,-0.309946896764,-0.309855742954,-0.309764586295,-0.30967342679,-0.309582264438,-0.309491099241,-0.309399931198,-0.309308760312,-0.309217586583,-0.309126410011,-0.309035230598,-0.308944048345,-0.308852863252,-0.308761675319,-0.308670484549,-0.308579290942,-0.308488094498,-0.308396895218,-0.308305693104,-0.308214488156,-0.308123280375,-0.308032069761,-0.307940856317,-0.307849640042,-0.307758420937,-0.307667199003,-0.307575974241,-0.307484746652,-0.307393516237,-0.307302282996,-0.307211046931,-0.307119808042,-0.307028566329,-0.306937321795,-0.306846074439,-0.306754824263,-0.306663571267,-0.306572315453,-0.30648105682,-0.306389795371,-0.306298531105,-0.306207264024,-0.306115994128,-0.306024721418,-0.305933445896,-0.305842167561,-0.305750886415,-0.305659602459,-0.305568315693,-0.305477026119,-0.305385733736,-0.305294438547,-0.305203140551,-0.30511183975,-0.305020536145,-0.304929229735,-0.304837920523,-0.304746608509,-0.304655293694,-0.304563976079,-0.304472655663,-0.30438133245,-0.304290006438,-0.30419867763,-0.304107346025,-0.304016011625,-0.303924674431,-0.303833334443,-0.303741991662,-0.30365064609,-0.303559297726,-0.303467946572,-0.303376592629,-0.303285235897,-0.303193876377,-0.30310251407,-0.303011148978,-0.3029197811,-0.302828410438,-0.302737036992,-0.302645660763,-0.302554281753,-0.302462899962,-0.30237151539,-0.302280128039,-0.30218873791,-0.302097345003,-0.302005949319,-0.301914550859,-0.301823149625,-0.301731745615,-0.301640338833,-0.301548929277,-0.30145751695,-0.301366101852,-0.301274683984,-0.301183263347,-0.301091839941,-0.301000413768,-0.300908984828,-0.300817553122,-0.300726118651,-0.300634681416,-0.300543241417,-0.300451798656,-0.300360353133,-0.30026890485,-0.300177453806,-0.300086000003,-0.299994543442,-0.299903084124,-0.299811622048,-0.299720157217,-0.299628689631,-0.299537219291,-0.299445746198,-0.299354270352,-0.299262791754,-0.299171310406,-0.299079826308,-0.298988339461,-0.298896849865,-0.298805357523,-0.298713862433,-0.298622364598,-0.298530864018,-0.298439360694,-0.298347854627,-0.298256345817,-0.298164834266,-0.298073319974,-0.297981802943,-0.297890283172,-0.297798760664,-0.297707235418,-0.297615707435,-0.297524176717,-0.297432643264,-0.297341107077,-0.297249568157,-0.297158026505,-0.297066482122,-0.296974935008,-0.296883385164,-0.296791832591,-0.29670027729,-0.296608719262,-0.296517158508,-0.296425595028,-0.296334028823,-0.296242459895,-0.296150888244,-0.29605931387,-0.295967736775,-0.29587615696,-0.295784574425,-0.295692989171,-0.295601401199,-0.295509810511,-0.295418217106,-0.295326620985,-0.29523502215,-0.295143420601,-0.295051816339,-0.294960209366,-0.294868599681,-0.294776987285,-0.294685372181,-0.294593754367,-0.294502133846,-0.294410510617,-0.294318884683,-0.294227256043,-0.294135624698,-0.29404399065,-0.2939523539,-0.293860714447,-0.293769072293,-0.293677427439,-0.293585779886,-0.293494129634,-0.293402476684,-0.293310821037,-0.293219162694,-0.293127501656,-0.293035837924,-0.292944171498,-0.29285250238,-0.292760830569,-0.292669156068,-0.292577478876,-0.292485798996,-0.292394116426,-0.292302431169,-0.292210743226,-0.292119052596,-0.292027359281,-0.291935663282,-0.2918439646,-0.291752263235,-0.291660559188,-0.291568852461,-0.291477143053,-0.291385430966,-0.291293716201,-0.291201998759,-0.291110278639,-0.291018555844,-0.290926830374,-0.29083510223,-0.290743371412,-0.290651637922,-0.290559901761,-0.290468162928,-0.290376421426,-0.290284677254,-0.290192930415,-0.290101180908,-0.290009428734,-0.289917673895,-0.289825916391,-0.289734156223,-0.289642393391,-0.289550627898,-0.289458859743,-0.289367088927,-0.289275315451,-0.289183539317,-0.289091760524,-0.288999979074,-0.288908194968,-0.288816408206,-0.288724618789,-0.288632826719,-0.288541031995,-0.288449234619,-0.288357434592,-0.288265631915,-0.288173826587,-0.288082018611,-0.287990207987,-0.287898394715,-0.287806578798,-0.287714760235,-0.287622939027,-0.287531115176,-0.287439288681,-0.287347459545,-0.287255627767,-0.287163793349,-0.287071956291,-0.286980116595,-0.286888274261,-0.286796429289,-0.286704581682,-0.286612731439,-0.286520878562,-0.286429023051,-0.286337164908,-0.286245304132,-0.286153440725,-0.286061574688,-0.285969706022,-0.285877834727,-0.285785960804,-0.285694084255,-0.285602205079,-0.285510323278,-0.285418438853,-0.285326551805,-0.285234662133,-0.28514276984,-0.285050874926,-0.284958977392,-0.284867077238,-0.284775174466,-0.284683269077,-0.284591361071,-0.284499450449,-0.284407537211,-0.28431562136,-0.284223702895,-0.284131781818,-0.284039858129,-0.283947931829,-0.283856002919,-0.2837640714,-0.283672137273,-0.283580200538,-0.283488261197,-0.283396319249,-0.283304374697,-0.283212427541,-0.283120477782,-0.28302852542,-0.282936570457,-0.282844612893,-0.282752652729,-0.282660689967,-0.282568724606,-0.282476756647,-0.282384786093,-0.282292812942,-0.282200837197,-0.282108858858,-0.282016877926,-0.281924894402,-0.281832908286,-0.28174091958,-0.281648928284,-0.281556934399,-0.281464937926,-0.281372938866,-0.281280937219,-0.281188932988,-0.281096926171,-0.281004916771,-0.280912904788,-0.280820890222,-0.280728873076,-0.280636853349,-0.280544831042,-0.280452806157,-0.280360778694,-0.280268748654,-0.280176716038,-0.280084680846,-0.27999264308,-0.279900602741,-0.279808559828,-0.279716514344,-0.279624466288,-0.279532415663,-0.279440362467,-0.279348306704,-0.279256248372,-0.279164187474,-0.27907212401,-0.27898005798,-0.278887989387,-0.278795918229,-0.278703844509,-0.278611768228,-0.278519689385,-0.278427607982,-0.27833552402,-0.2782434375,-0.278151348422,-0.278059256787,-0.277967162597,-0.277875065852,-0.277782966552,-0.277690864699,-0.277598760293,-0.277506653336,-0.277414543828,-0.277322431771,-0.277230317164,-0.277138200009,-0.277046080306,-0.276953958057,-0.276861833262,-0.276769705923,-0.276677576039,-0.276585443612,-0.276493308643,-0.276401171132,-0.276309031081,-0.27621688849,-0.27612474336,-0.276032595692,-0.275940445487,-0.275848292746,-0.275756137468,-0.275663979657,-0.275571819311,-0.275479656432,-0.275387491021,-0.275295323079,-0.275203152607,-0.275110979605,-0.275018804074,-0.274926626015,-0.274834445429,-0.274742262317,-0.274650076679,-0.274557888517,-0.274465697831,-0.274373504623,-0.274281308892,-0.274189110641,-0.274096909869,-0.274004706577,-0.273912500767,-0.27382029244,-0.273728081595,-0.273635868234,-0.273543652358,-0.273451433968,-0.273359213064,-0.273266989648,-0.27317476372,-0.273082535281,-0.272990304331,-0.272898070873,-0.272805834906,-0.272713596431,-0.27262135545,-0.272529111963,-0.272436865971,-0.272344617474,-0.272252366475,-0.272160112972,-0.272067856969,-0.271975598464,-0.271883337459,-0.271791073956,-0.271698807954,-0.271606539455,-0.271514268459,-0.271421994967,-0.271329718981,-0.2712374405,-0.271145159527,-0.271052876061,-0.270960590104,-0.270868301656,-0.270776010718,-0.270683717291,-0.270591421377,-0.270499122975,-0.270406822087,-0.270314518713,-0.270222212854,-0.270129904512,-0.270037593687,-0.269945280379,-0.269852964591,-0.269760646322,-0.269668325573,-0.269576002346,-0.26948367664,-0.269391348458,-0.269299017799,-0.269206684665,-0.269114349057,-0.269022010975,-0.26892967042,-0.268837327394,-0.268744981896,-0.268652633928,-0.26856028349,-0.268467930584,-0.268375575211,-0.26828321737,-0.268190857063,-0.268098494292,-0.268006129056,-0.267913761356,-0.267821391194,-0.26772901857,-0.267636643486,-0.267544265941,-0.267451885937,-0.267359503474,-0.267267118554,-0.267174731178,-0.267082341345,-0.266989949058,-0.266897554317,-0.266805157122,-0.266712757475,-0.266620355376,-0.266527950827,-0.266435543828,-0.266343134379,-0.266250722483,-0.266158308139,-0.266065891349,-0.265973472113,-0.265881050432,-0.265788626308,-0.26569619974,-0.26560377073,-0.265511339279,-0.265418905387,-0.265326469056,-0.265234030286,-0.265141589077,-0.265049145432,-0.26495669935,-0.264864250833,-0.264771799882,-0.264679346496,-0.264586890678,-0.264494432428,-0.264401971746,-0.264309508635,-0.264217043093,-0.264124575124,-0.264032104726,-0.263939631901,-0.263847156651,-0.263754678975,-0.263662198875,-0.263569716351,-0.263477231404,-0.263384744036,-0.263292254247,-0.263199762037,-0.263107267409,-0.263014770362,-0.262922270897,-0.262829769016,-0.262737264719,-0.262644758006,-0.26255224888,-0.26245973734,-0.262367223388,-0.262274707024,-0.262182188249,-0.262089667065,-0.261997143471,-0.261904617469,-0.26181208906,-0.261719558244,-0.261627025023,-0.261534489397,-0.261441951366,-0.261349410933,-0.261256868097,-0.26116432286,-0.261071775223,-0.260979225186,-0.260886672749,-0.260794117915,-0.260701560684,-0.260609001056,-0.260516439033,-0.260423874615,-0.260331307804,-0.2602387386,-0.260146167003,-0.260053593015,-0.259961016637,-0.25986843787,-0.259775856714,-0.25968327317,-0.259590687239,-0.259498098922,-0.25940550822,-0.259312915133,-0.259220319663,-0.25912772181,-0.259035121575,-0.258942518959,-0.258849913963,-0.258757306588,-0.258664696834,-0.258572084703,-0.258479470195,-0.258386853311,-0.258294234052,-0.258201612419,-0.258108988413,-0.258016362034,-0.257923733283,-0.257831102162,-0.257738468671,-0.257645832811,-0.257553194582,-0.257460553986,-0.257367911024,-0.257275265696,-0.257182618003,-0.257089967946,-0.256997315526,-0.256904660743,-0.2568120036,-0.256719344096,-0.256626682232,-0.256534018009,-0.256441351428,-0.25634868249,-0.256256011196,-0.256163337546,-0.256070661542,-0.255977983184,-0.255885302473,-0.25579261941,-0.255699933995,-0.255607246231,-0.255514556117,-0.255421863654,-0.255329168844,-0.255236471686,-0.255143772183,-0.255051070334,-0.254958366141,-0.254865659605,-0.254772950725,-0.254680239504,-0.254587525942,-0.25449481004,-0.254402091799,-0.254309371219,-0.254216648301,-0.254123923047,-0.254031195457,-0.253938465532,-0.253845733273,-0.253752998681,-0.253660261756,-0.2535675225,-0.253474780913,-0.253382036996,-0.25328929075,-0.253196542175,-0.253103791274,-0.253011038046,-0.252918282492,-0.252825524613,-0.252732764411,-0.252640001886,-0.252547237038,-0.252454469869,-0.25236170038,-0.25226892857,-0.252176154442,-0.252083377996,-0.251990599233,-0.251897818154,-0.25180503476,-0.25171224905,-0.251619461028,-0.251526670692,-0.251433878044,-0.251341083085,-0.251248285816,-0.251155486238,-0.251062684351,-0.250969880156,-0.250877073654,-0.250784264847,-0.250691453734,-0.250598640317,-0.250505824596,-0.250413006573,-0.250320186248,-0.250227363622,-0.250134538696,-0.250041711471,-0.249948881948,-0.249856050127,-0.24976321601,-0.249670379597,-0.249577540889,-0.249484699886,-0.249391856591,-0.249299011003,-0.249206163124,-0.249113312954,-0.249020460494,-0.248927605746,-0.248834748709,-0.248741889385,-0.248649027775,-0.248556163879,-0.248463297698,-0.248370429234,-0.248277558487,-0.248184685457,-0.248091810146,-0.247998932555,-0.247906052685,-0.247813170535,-0.247720286108,-0.247627399404,-0.247534510423,-0.247441619168,-0.247348725638,-0.247255829834,-0.247162931758,-0.247070031409,-0.24697712879,-0.246884223901,-0.246791316742,-0.246698407315,-0.24660549562,-0.246512581659,-0.246419665431,-0.246326746939,-0.246233826182,-0.246140903162,-0.24604797788,-0.245955050336,-0.245862120531,-0.245769188466,-0.245676254142,-0.245583317561,-0.245490378721,-0.245397437625,-0.245304494274,-0.245211548668,-0.245118600807,-0.245025650694,-0.244932698329,-0.244839743712,-0.244746786844,-0.244653827727,-0.244560866362,-0.244467902748,-0.244374936887,-0.24428196878,-0.244188998427,-0.24409602583,-0.24400305099,-0.243910073906,-0.24381709458,-0.243724113014,-0.243631129207,-0.243538143161,-0.243445154876,-0.243352164353,-0.243259171594,-0.243166176599,-0.243073179368,-0.242980179903,-0.242887178205,-0.242794174274,-0.242701168112,-0.242608159718,-0.242515149095,-0.242422136243,-0.242329121162,-0.242236103854,-0.242143084319,-0.242050062558,-0.241957038573,-0.241864012364,-0.241770983931,-0.241677953276,-0.2415849204,-0.241491885303,-0.241398847986,-0.241305808451,-0.241212766697,-0.241119722726,-0.241026676539,-0.240933628137,-0.24084057752,-0.240747524689,-0.240654469645,-0.240561412389,-0.240468352922,-0.240375291244,-0.240282227358,-0.240189161262,-0.240096092959,-0.240003022449,-0.239909949733,-0.239816874811,-0.239723797685,-0.239630718356,-0.239537636824,-0.239444553091,-0.239351467156,-0.239258379021,-0.239165288687,-0.239072196155,-0.238979101425,-0.238886004499,-0.238792905377,-0.23869980406,-0.238606700549,-0.238513594844,-0.238420486948,-0.238327376859,-0.23823426458,-0.238141150112,-0.238048033454,-0.237954914608,-0.237861793575,-0.237768670356,-0.237675544951,-0.237582417362,-0.237489287588,-0.237396155632,-0.237303021494,-0.237209885174,-0.237116746674,-0.237023605994,-0.236930463136,-0.2368373181,-0.236744170887,-0.236651021498,-0.236557869934,-0.236464716195,-0.236371560283,-0.236278402198,-0.236185241941,-0.236092079513,-0.235998914916,-0.235905748149,-0.235812579213,-0.23571940811,-0.23562623484,-0.235533059405,-0.235439881805,-0.23534670204,-0.235253520112,-0.235160336022,-0.23506714977,-0.234973961358,-0.234880770785,-0.234787578054,-0.234694383165,-0.234601186118,-0.234507986915,-0.234414785556,-0.234321582043,-0.234228376376,-0.234135168556,-0.234041958584,-0.23394874646,-0.233855532186,-0.233762315763,-0.233669097191,-0.233575876471,-0.233482653604,-0.233389428591,-0.233296201432,-0.233202972129,-0.233109740683,-0.233016507094,-0.232923271363,-0.232830033492,-0.23273679348,-0.232643551328,-0.232550307039,-0.232457060612,-0.232363812048,-0.232270561348,-0.232177308513,-0.232084053545,-0.231990796442,-0.231897537208,-0.231804275842,-0.231711012345,-0.231617746719,-0.231524478963,-0.231431209079,-0.231337937069,-0.231244662931,-0.231151386668,-0.231058108281,-0.230964827769,-0.230871545135,-0.230778260378,-0.230684973501,-0.230591684502,-0.230498393385,-0.230405100148,-0.230311804794,-0.230218507323,-0.230125207735,-0.230031906033,-0.229938602216,-0.229845296285,-0.229751988242,-0.229658678087,-0.229565365821,-0.229472051444,-0.229378734959,-0.229285416365,-0.229192095664,-0.229098772856,-0.229005447942,-0.228912120923,-0.2288187918,-0.228725460574,-0.228632127245,-0.228538791815,-0.228445454284,-0.228352114653,-0.228258772924,-0.228165429096,-0.228072083171,-0.22797873515,-0.227885385033,-0.227792032821,-0.227698678516,-0.227605322117,-0.227511963627,-0.227418603045,-0.227325240373,-0.227231875611,-0.227138508761,-0.227045139823,-0.226951768798,-0.226858395687,-0.226765020491,-0.22667164321,-0.226578263846,-0.226484882399,-0.22639149887,-0.22629811326,-0.226204725571,-0.226111335802,-0.226017943954,-0.22592455003,-0.225831154028,-0.225737755951,-0.225644355799,-0.225550953572,-0.225457549273,-0.225364142901,-0.225270734458,-0.225177323944,-0.22508391136,-0.224990496707,-0.224897079986,-0.224803661198,-0.224710240344,-0.224616817424,-0.22452339244,-0.224429965392,-0.22433653628,-0.224243105107,-0.224149671873,-0.224056236578,-0.223962799224,-0.223869359811,-0.223775918341,-0.223682474813,-0.22358902923,-0.223495581591,-0.223402131898,-0.223308680152,-0.223215226353,-0.223121770502,-0.2230283126,-0.222934852648,-0.222841390647,-0.222747926598,-0.222654460502,-0.222560992358,-0.222467522169,-0.222374049935,-0.222280575658,-0.222187099337,-0.222093620973,-0.222000140568,-0.221906658123,-0.221813173638,-0.221719687114,-0.221626198552,-0.221532707953,-0.221439215318,-0.221345720647,-0.221252223942,-0.221158725203,-0.221065224431,-0.220971721627,-0.220878216792,-0.220784709927,-0.220691201032,-0.220597690109,-0.220504177158,-0.22041066218,-0.220317145177,-0.220223626148,-0.220130105095,-0.220036582018,-0.219943056919,-0.219849529799,-0.219756000657,-0.219662469496,-0.219568936315,-0.219475401117,-0.219381863901,-0.219288324668,-0.21919478342,-0.219101240157,-0.21900769488,-0.21891414759,-0.218820598288,-0.218727046974,-0.21863349365,-0.218539938316,-0.218446380974,-0.218352821623,-0.218259260266,-0.218165696902,-0.218072131533,-0.21797856416,-0.217884994783,-0.217791423403,-0.217697850021,-0.217604274638,-0.217510697256,-0.217417117873,-0.217323536493,-0.217229953114,-0.217136367739,-0.217042780369,-0.216949191003,-0.216855599643,-0.216762006289,-0.216668410944,-0.216574813606,-0.216481214278,-0.21638761296,-0.216294009653,-0.216200404358,-0.216106797076,-0.216013187808,-0.215919576553,-0.215825963314,-0.215732348092,-0.215638730886,-0.215545111698,-0.215451490529,-0.21535786738,-0.215264242251,-0.215170615143,-0.215076986058,-0.214983354995,-0.214889721957,-0.214796086943,-0.214702449955,-0.214608810994,-0.21451517006,-0.214421527154,-0.214327882277,-0.21423423543,-0.214140586614,-0.214046935829,-0.213953283078,-0.213859628359,-0.213765971675,-0.213672313026,-0.213578652412,-0.213484989836,-0.213391325297,-0.213297658797,-0.213203990337,-0.213110319916,-0.213016647537,-0.2129229732,-0.212829296905,-0.212735618654,-0.212641938448,-0.212548256288,-0.212454572173,-0.212360886106,-0.212267198087,-0.212173508116,-0.212079816196,-0.211986122326,-0.211892426507,-0.211798728741,-0.211705029028,-0.211611327369,-0.211517623765,-0.211423918217,-0.211330210725,-0.211236501291,-0.211142789916,-0.211049076599,-0.210955361343,-0.210861644147,-0.210767925013,-0.210674203942,-0.210580480935,-0.210486755992,-0.210393029114,-0.210299300302,-0.210205569557,-0.21011183688,-0.210018102272,-0.209924365734,-0.209830627265,-0.209736886868,-0.209643144543,-0.209549400292,-0.209455654114,-0.20936190601,-0.209268155983,-0.209174404032,-0.209080650158,-0.208986894362,-0.208893136645,-0.208799377009,-0.208705615453,-0.208611851978,-0.208518086586,-0.208424319278,-0.208330550053,-0.208236778914,-0.208143005861,-0.208049230894,-0.207955454015,-0.207861675225,-0.207767894524,-0.207674111913,-0.207580327394,-0.207486540966,-0.207392752631,-0.20729896239,-0.207205170243,-0.207111376192,-0.207017580237,-0.20692378238,-0.20682998262,-0.206736180959,-0.206642377398,-0.206548571937,-0.206454764578,-0.206360955321,-0.206267144167,-0.206173331118,-0.206079516173,-0.205985699334,-0.205891880602,-0.205798059977,-0.20570423746,-0.205610413053,-0.205516586756,-0.20542275857,-0.205328928495,-0.205235096533,-0.205141262685,-0.205047426951,-0.204953589332,-0.20485974983,-0.204765908444,-0.204672065176,-0.204578220027,-0.204484372998,-0.204390524089,-0.204296673301,-0.204202820635,-0.204108966093,-0.204015109674,-0.20392125138,-0.203827391212,-0.20373352917,-0.203639665255,-0.203545799469,-0.203451931811,-0.203358062284,-0.203264190887,-0.203170317622,-0.203076442489,-0.20298256549,-0.202888686625,-0.202794805895,-0.202700923302,-0.202607038844,-0.202513152525,-0.202419264344,-0.202325374303,-0.202231482401,-0.202137588641,-0.202043693023,-0.201949795548,-0.201855896217,-0.20176199503,-0.201668091988,-0.201574187093,-0.201480280345,-0.201386371745,-0.201292461294,-0.201198548993,-0.201104634842,-0.201010718843,-0.200916800996,-0.200822881302,-0.200728959763,-0.200635036378,-0.20054111115,-0.200447184078,-0.200353255163,-0.200259324407,-0.20016539181,-0.200071457373,-0.199977521097,-0.199883582983,-0.199789643032,-0.199695701244,-0.199601757621,-0.199507812163,-0.199413864871,-0.199319915747,-0.19922596479,-0.199132012002,-0.199038057383,-0.198944100935,-0.198850142659,-0.198756182554,-0.198662220623,-0.198568256866,-0.198474291283,-0.198380323876,-0.198286354646,-0.198192383593,-0.198098410718,-0.198004436022,-0.197910459507,-0.197816481172,-0.197722501019,-0.197628519048,-0.197534535261,-0.197440549659,-0.197346562241,-0.197252573009,-0.197158581965,-0.197064589108,-0.19697059444,-0.196876597961,-0.196782599672,-0.196688599575,-0.19659459767,-0.196500593958,-0.19640658844,-0.196312581116,-0.196218571988,-0.196124561056,-0.196030548321,-0.195936533785,-0.195842517448,-0.19574849931,-0.195654479373,-0.195560457638,-0.195466434105,-0.195372408776,-0.195278381651,-0.19518435273,-0.195090322016,-0.194996289509,-0.194902255209,-0.194808219117,-0.194714181235,-0.194620141563,-0.194526100103,-0.194432056854,-0.194338011818,-0.194243964996,-0.194149916388,-0.194055865996,-0.19396181382,-0.193867759861,-0.19377370412,-0.193679646598,-0.193585587296,-0.193491526214,-0.193397463354,-0.193303398716,-0.193209332302,-0.193115264111,-0.193021194145,-0.192927122405,-0.192833048892,-0.192738973607,-0.192644896549,-0.192550817721,-0.192456737123,-0.192362654756,-0.192268570621,-0.192174484719,-0.19208039705,-0.191986307615,-0.191892216416,-0.191798123453,-0.191704028728,-0.19160993224,-0.19151583399,-0.191421733981,-0.191327632212,-0.191233528684,-0.191139423398,-0.191045316356,-0.190951207557,-0.190857097004,-0.190762984696,-0.190668870634,-0.19057475482,-0.190480637254,-0.190386517938,-0.190292396871,-0.190198274056,-0.190104149492,-0.19001002318,-0.189915895122,-0.189821765319,-0.18972763377,-0.189633500478,-0.189539365443,-0.189445228665,-0.189351090146,-0.189256949887,-0.189162807888,-0.18906866415,-0.188974518674,-0.188880371462,-0.188786222513,-0.188692071829,-0.18859791941,-0.188503765258,-0.188409609373,-0.188315451757,-0.188221292409,-0.188127131332,-0.188032968525,-0.18793880399,-0.187844637727,-0.187750469738,-0.187656300023,-0.187562128583,-0.187467955419,-0.187373780531,-0.187279603922,-0.187185425591,-0.18709124554,-0.186997063768,-0.186902880278,-0.18680869507,-0.186714508145,-0.186620319504,-0.186526129147,-0.186431937076,-0.186337743291,-0.186243547794,-0.186149350584,-0.186055151663,-0.185960951033,-0.185866748693,-0.185772544644,-0.185678338888,-0.185584131425,-0.185489922257,-0.185395711383,-0.185301498805,-0.185207284524,-0.185113068541,-0.185018850856,-0.18492463147,-0.184830410385,-0.1847361876,-0.184641963118,-0.184547736939,-0.184453509063,-0.184359279491,-0.184265048226,-0.184170815266,-0.184076580613,-0.183982344269,-0.183888106233,-0.183793866507,-0.183699625092,-0.183605381988,-0.183511137197,-0.183416890719,-0.183322642555,-0.183228392705,-0.183134141172,-0.183039887955,-0.182945633056,-0.182851376475,-0.182757118214,-0.182662858272,-0.182568596652,-0.182474333353,-0.182380068377,-0.182285801725,-0.182191533397,-0.182097263395,-0.182002991719,-0.18190871837,-0.181814443348,-0.181720166656,-0.181625888293,-0.181531608261,-0.18143732656,-0.181343043192,-0.181248758156,-0.181154471455,-0.181060183088,-0.180965893058,-0.180871601363,-0.180777308007,-0.180683012988,-0.180588716309,-0.18049441797,-0.180400117972,-0.180305816315,-0.180211513002,-0.180117208031,-0.180022901406,-0.179928593125,-0.179834283191,-0.179739971603,-0.179645658364,-0.179551343473,-0.179457026932,-0.179362708741,-0.179268388902,-0.179174067415,-0.179079744281,-0.1789854195,-0.178891093075,-0.178796765005,-0.178702435292,-0.178608103936,-0.178513770939,-0.178419436301,-0.178325100022,-0.178230762105,-0.178136422549,-0.178042081356,-0.177947738526,-0.177853394061,-0.177759047961,-0.177664700227,-0.17757035086,-0.177475999861,-0.17738164723,-0.177287292969,-0.177192937079,-0.177098579559,-0.177004220412,-0.176909859638,-0.176815497238,-0.176721133212,-0.176626767562,-0.176532400289,-0.176438031393,-0.176343660875,-0.176249288736,-0.176154914977,-0.176060539599,-0.175966162603,-0.175871783989,-0.175777403759,-0.175683021913,-0.175588638452,-0.175494253377,-0.175399866689,-0.175305478389,-0.175211088478,-0.175116696956,-0.175022303824,-0.174927909083,-0.174833512735,-0.17473911478,-0.174644715218,-0.174550314051,-0.17445591128,-0.174361506905,-0.174267100928,-0.174172693348,-0.174078284168,-0.173983873387,-0.173889461008,-0.17379504703,-0.173700631454,-0.173606214282,-0.173511795514,-0.173417375152,-0.173322953195,-0.173228529645,-0.173134104503,-0.173039677769,-0.172945249445,-0.172850819531,-0.172756388029,-0.172661954938,-0.172567520261,-0.172473083997,-0.172378646148,-0.172284206714,-0.172189765697,-0.172095323097,-0.172000878915,-0.171906433152,-0.171811985809,-0.171717536887,-0.171623086386,-0.171528634308,-0.171434180654,-0.171339725423,-0.171245268618,-0.171150810238,-0.171056350285,-0.17096188876,-0.170867425664,-0.170772960997,-0.17067849476,-0.170584026954,-0.170489557581,-0.17039508664,-0.170300614133,-0.170206140061,-0.170111664424,-0.170017187224,-0.169922708461,-0.169828228136,-0.16973374625,-0.169639262803,-0.169544777798,-0.169450291234,-0.169355803112,-0.169261313434,-0.1691668222,-0.169072329411,-0.168977835068,-0.168883339172,-0.168788841724,-0.168694342724,-0.168599842173,-0.168505340073,-0.168410836423,-0.168316331226,-0.168221824482,-0.168127316191,-0.168032806355,-0.167938294975,-0.167843782051,-0.167749267584,-0.167654751575,-0.167560234025,-0.167465714935,-0.167371194305,-0.167276672137,-0.167182148432,-0.16708762319,-0.166993096412,-0.166898568099,-0.166804038252,-0.166709506872,-0.166614973959,-0.166520439515,-0.16642590354,-0.166331366036,-0.166236827003,-0.166142286441,-0.166047744353,-0.165953200738,-0.165858655598,-0.165764108933,-0.165669560745,-0.165575011034,-0.1654804598,-0.165385907046,-0.165291352772,-0.165196796978,-0.165102239666,-0.165007680836,-0.16491312049,-0.164818558628,-0.16472399525,-0.164629430359,-0.164534863954,-0.164440296037,-0.164345726609,-0.16425115567,-0.164156583221,-0.164062009263,-0.163967433797,-0.163872856825,-0.163778278345,-0.163683698361,-0.163589116871,-0.163494533879,-0.163399949383,-0.163305363385,-0.163210775887,-0.163116186888,-0.16302159639,-0.162927004393,-0.162832410899,-0.162737815908,-0.162643219421,-0.162548621439,-0.162454021963,-0.162359420994,-0.162264818533,-0.16217021458,-0.162075609136,-0.161981002202,-0.16188639378,-0.16179178387,-0.161697172472,-0.161602559588,-0.161507945219,-0.161413329366,-0.161318712028,-0.161224093208,-0.161129472906,-0.161034851122,-0.160940227859,-0.160845603116,-0.160750976895,-0.160656349196,-0.160561720021,-0.160467089369,-0.160372457243,-0.160277823642,-0.160183188569,-0.160088552023,-0.159993914005,-0.159899274517,-0.159804633559,-0.159709991132,-0.159615347237,-0.159520701875,-0.159426055047,-0.159331406753,-0.159236756995,-0.159142105773,-0.159047453088,-0.158952798942,-0.158858143334,-0.158763486266,-0.158668827739,-0.158574167753,-0.15847950631,-0.15838484341,-0.158290179054,-0.158195513243,-0.158100845978,-0.15800617726,-0.15791150709,-0.157816835468,-0.157722162395,-0.157627487873,-0.157532811902,-0.157438134483,-0.157343455616,-0.157248775304,-0.157154093546,-0.157059410343,-0.156964725697,-0.156870039608,-0.156775352077,-0.156680663105,-0.156585972693,-0.156491280842,-0.156396587552,-0.156301892824,-0.15620719666,-0.15611249906,-0.156017800025,-0.155923099556,-0.155828397654,-0.15573369432,-0.155638989554,-0.155544283357,-0.155449575731,-0.155354866676,-0.155260156193,-0.155165444282,-0.155070730946,-0.154976016184,-0.154881299997,-0.154786582387,-0.154691863355,-0.1545971429,-0.154502421024,-0.154407697728,-0.154312973013,-0.154218246879,-0.154123519328,-0.154028790361,-0.153934059977,-0.153839328178,-0.153744594966,-0.15364986034,-0.153555124302,-0.153460386852,-0.153365647992,-0.153270907723,-0.153176166044,-0.153081422957,-0.152986678464,-0.152891932564,-0.152797185258,-0.152702436549,-0.152607686435,-0.152512934919,-0.152418182001,-0.152323427682,-0.152228671963,-0.152133914845,-0.152039156328,-0.151944396414,-0.151849635103,-0.151754872397,-0.151660108295,-0.151565342799,-0.151470575911,-0.15137580763,-0.151281037957,-0.151186266894,-0.151091494442,-0.1509967206,-0.150901945371,-0.150807168755,-0.150712390752,-0.150617611364,-0.150522830592,-0.150428048436,-0.150333264897,-0.150238479977,-0.150143693675,-0.150048905994,-0.149954116933,-0.149859326494,-0.149764534677,-0.149669741484,-0.149574946915,-0.149480150972,-0.149385353654,-0.149290554963,-0.1491957549,-0.149100953465,-0.14900615066,-0.148911346486,-0.148816540942,-0.148721734031,-0.148626925753,-0.148532116108,-0.148437305099,-0.148342492725,-0.148247678987,-0.148152863887,-0.148058047424,-0.147963229601,-0.147868410418,-0.147773589876,-0.147678767976,-0.147583944718,-0.147489120103,-0.147394294133,-0.147299466808,-0.147204638129,-0.147109808097,-0.147014976713,-0.146920143977,-0.146825309891,-0.146730474455,-0.146635637671,-0.146540799539,-0.14644596006,-0.146351119234,-0.146256277064,-0.146161433549,-0.146066588691,-0.14597174249,-0.145876894947,-0.145782046064,-0.14568719584,-0.145592344277,-0.145497491376,-0.145402637138,-0.145307781563,-0.145212924653,-0.145118066408,-0.145023206829,-0.144928345916,-0.144833483672,-0.144738620097,-0.144643755191,-0.144548888955,-0.144454021391,-0.144359152499,-0.14426428228,-0.144169410735,-0.144074537865,-0.143979663671,-0.143884788153,-0.143789911312,-0.14369503315,-0.143600153667,-0.143505272865,-0.143410390743,-0.143315507303,-0.143220622545,-0.143125736471,-0.143030849082,-0.142935960378,-0.14284107036,-0.142746179029,-0.142651286386,-0.142556392431,-0.142461497167,-0.142366600593,-0.14227170271,-0.142176803519,-0.142081903022,-0.141987001219,-0.14189209811,-0.141797193698,-0.141702287982,-0.141607380963,-0.141512472643,-0.141417563022,-0.141322652102,-0.141227739882,-0.141132826364,-0.141037911549,-0.140942995437,-0.14084807803,-0.140753159328,-0.140658239333,-0.140563318044,-0.140468395464,-0.140373471592,-0.140278546431,-0.140183619979,-0.14008869224,-0.139993763212,-0.139898832898,-0.139803901298,-0.139708968412,-0.139614034243,-0.13951909879,-0.139424162055,-0.139329224038,-0.139234284741,-0.139139344164,-0.139044402308,-0.138949459173,-0.138854514762,-0.138759569074,-0.138664622111,-0.138569673873,-0.138474724362,-0.138379773578,-0.138284821522,-0.138189868194,-0.138094913597,-0.13799995773,-0.137905000595,-0.137810042192,-0.137715082522,-0.137620121586,-0.137525159386,-0.137430195921,-0.137335231194,-0.137240265204,-0.137145297952,-0.13705032944,-0.136955359668,-0.136860388637,-0.136765416348,-0.136670442802,-0.136575468,-0.136480491942,-0.13638551463,-0.136290536064,-0.136195556246,-0.136100575176,-0.136005592854,-0.135910609283,-0.135815624462,-0.135720638393,-0.135625651076,-0.135530662513,-0.135435672704,-0.13534068165,-0.135245689352,-0.135150695811,-0.135055701028,-0.134960705003,-0.134865707738,-0.134770709233,-0.134675709489,-0.134580708507,-0.134485706288,-0.134390702834,-0.134295698143,-0.134200692219,-0.134105685061,-0.13401067667,-0.133915667047,-0.133820656194,-0.13372564411,-0.133630630797,-0.133535616256,-0.133440600488,-0.133345583493,-0.133250565272,-0.133155545827,-0.133060525157,-0.132965503265,-0.13287048015,-0.132775455814,-0.132680430257,-0.132585403481,-0.132490375487,-0.132395346274,-0.132300315844,-0.132205284199,-0.132110251338,-0.132015217263,-0.131920181974,-0.131825145473,-0.13173010776,-0.131635068837,-0.131540028703,-0.13144498736,-0.131349944809,-0.131254901051,-0.131159856086,-0.131064809916,-0.130969762541,-0.130874713962,-0.13077966418,-0.130684613196,-0.13058956101,-0.130494507625,-0.13039945304,-0.130304397256,-0.130209340275,-0.130114282096,-0.130019222722,-0.129924162153,-0.129829100389,-0.129734037432,-0.129638973283,-0.129543907942,-0.12944884141,-0.129353773688,-0.129258704778,-0.129163634679,-0.129068563393,-0.128973490921,-0.128878417263,-0.12878334242,-0.128688266394,-0.128593189185,-0.128498110794,-0.128403031222,-0.128307950469,-0.128212868537,-0.128117785427,-0.128022701139,-0.127927615674,-0.127832529033,-0.127737441218,-0.127642352228,-0.127547262065,-0.127452170729,-0.127357078222,-0.127261984545,-0.127166889697,-0.127071793681,-0.126976696497,-0.126881598145,-0.126786498628,-0.126691397945,-0.126596296097,-0.126501193086,-0.126406088912,-0.126310983576,-0.126215877079,-0.126120769422,-0.126025660606,-0.125930550631,-0.125835439498,-0.12574032721,-0.125645213765,-0.125550099165,-0.125454983412,-0.125359866505,-0.125264748446,-0.125169629235,-0.125074508874,-0.124979387363,-0.124884264704,-0.124789140897,-0.124694015942,-0.124598889842,-0.124503762596,-0.124408634205,-0.124313504672,-0.124218373995,-0.124123242177,-0.124028109218,-0.123932975119,-0.12383783988,-0.123742703503,-0.123647565989,-0.123552427339,-0.123457287552,-0.123362146631,-0.123267004576,-0.123171861388,-0.123076717068,-0.122981571617,-0.122886425035,-0.122791277323,-0.122696128483,-0.122600978515,-0.12250582742,-0.122410675199,-0.122315521853,-0.122220367383,-0.122125211789,-0.122030055073,-0.121934897235,-0.121839738276,-0.121744578197,-0.121649416999,-0.121554254683,-0.12145909125,-0.1213639267,-0.121268761035,-0.121173594255,-0.121078426361,-0.120983257354,-0.120888087236,-0.120792916006,-0.120697743666,-0.120602570216,-0.120507395658,-0.120412219992,-0.120317043219,-0.120221865341,-0.120126686357,-0.120031506269,-0.119936325078,-0.119841142785,-0.119745959389,-0.119650774894,-0.119555589298,-0.119460402604,-0.119365214811,-0.119270025921,-0.119174835935,-0.119079644854,-0.118984452678,-0.118889259408,-0.118794065045,-0.118698869591,-0.118603673045,-0.11850847541,-0.118413276685,-0.118318076871,-0.11822287597,-0.118127673983,-0.118032470909,-0.117937266751,-0.117842061508,-0.117746855183,-0.117651647775,-0.117556439285,-0.117461229715,-0.117366019066,-0.117270807338,-0.117175594531,-0.117080380648,-0.116985165688,-0.116889949653,-0.116794732544,-0.116699514361,-0.116604295106,-0.116509074778,-0.11641385338,-0.116318630912,-0.116223407374,-0.116128182769,-0.116032957095,-0.115937730356,-0.11584250255,-0.11574727368,-0.115652043746,-0.115556812749,-0.115461580689,-0.115366347569,-0.115271113388,-0.115175878147,-0.115080641848,-0.114985404491,-0.114890166077,-0.114794926607,-0.114699686081,-0.114604444502,-0.114509201869,-0.114413958183,-0.114318713446,-0.114223467658,-0.11412822082,-0.114032972933,-0.113937723998,-0.113842474016,-0.113747222987,-0.113651970913,-0.113556717794,-0.113461463631,-0.113366208425,-0.113270952178,-0.113175694889,-0.113080436559,-0.112985177191,-0.112889916784,-0.112794655339,-0.112699392857,-0.11260412934,-0.112508864787,-0.112413599201,-0.112318332581,-0.112223064928,-0.112127796244,-0.11203252653,-0.111937255786,-0.111841984012,-0.111746711211,-0.111651437383,-0.111556162528,-0.111460886648,-0.111365609743,-0.111270331815,-0.111175052864,-0.111079772891,-0.110984491897,-0.110889209883,-0.11079392685,-0.110698642798,-0.110603357729,-0.110508071643,-0.110412784541,-0.110317496424,-0.110222207294,-0.11012691715,-0.110031625994,-0.109936333827,-0.109841040649,-0.109745746461,-0.109650451265,-0.109555155061,-0.10945985785,-0.109364559632,-0.10926926041,-0.109173960183,-0.109078658952,-0.108983356719,-0.108888053485,-0.108792749249,-0.108697444013,-0.108602137778,-0.108506830545,-0.108411522315,-0.108316213088,-0.108220902865,-0.108125591648,-0.108030279437,-0.107934966233,-0.107839652036,-0.107744336849,-0.107649020671,-0.107553703504,-0.107458385348,-0.107363066204,-0.107267746073,-0.107172424957,-0.107077102855,-0.106981779769,-0.1068864557,-0.106791130648,-0.106695804615,-0.106600477601,-0.106505149607,-0.106409820634,-0.106314490683,-0.106219159755,-0.106123827851,-0.106028494971,-0.105933161116,-0.105837826288,-0.105742490487,-0.105647153713,-0.105551815969,-0.105456477255,-0.105361137571,-0.105265796919,-0.105170455299,-0.105075112713,-0.10497976916,-0.104884424643,-0.104789079162,-0.104693732717,-0.10459838531,-0.104503036942,-0.104407687613,-0.104312337325,-0.104216986077,-0.104121633872,-0.10402628071,-0.103930926591,-0.103835571517,-0.103740215489,-0.103644858507,-0.103549500573,-0.103454141686,-0.103358781849,-0.103263421062,-0.103168059325,-0.10307269664,-0.102977333008,-0.102881968429,-0.102786602905,-0.102691236436,-0.102595869022,-0.102500500666,-0.102405131368,-0.102309761128,-0.102214389948,-0.102119017829,-0.10202364477,-0.101928270774,-0.101832895841,-0.101737519973,-0.101642143168,-0.10154676543,-0.101451386758,-0.101356007154,-0.101260626618,-0.101165245151,-0.101069862755,-0.100974479429,-0.100879095176,-0.100783709995,-0.100688323887,-0.100592936854,-0.100497548897,-0.100402160016,-0.100306770211,-0.100211379485,-0.100115987838,-0.100020595271,-0.0999252017837,-0.0998298073783,-0.0997344120553,-0.0996390158156,-0.0995436186601,-0.0994482205895,-0.0993528216049,-0.099257421707,-0.0991620208967,-0.099066619175,-0.0989712165427,-0.0988758130007,-0.0987804085498,-0.098685003191,-0.098589596925,-0.0984941897529,-0.0983987816754,-0.0983033726934,-0.0982079628079,-0.0981125520196,-0.0980171403296,-0.0979217277385,-0.0978263142474,-0.0977308998571,-0.0976354845685,-0.0975400683825,-0.0974446512998,-0.0973492333215,-0.0972538144484,-0.0971583946813,-0.0970629740212,-0.0969675524688,-0.0968721300252,-0.0967767066912,-0.0966812824676,-0.0965858573553,-0.0964904313553,-0.0963950044683,-0.0962995766952,-0.096204148037,-0.0961087184946,-0.0960132880687,-0.0959178567602,-0.0958224245702,-0.0957269914993,-0.0956315575485,-0.0955361227188,-0.0954406870108,-0.0953452504256,-0.095249812964,-0.0951543746269,-0.0950589354152,-0.0949634953296,-0.0948680543712,-0.0947726125408,-0.0946771698393,-0.0945817262675,-0.0944862818264,-0.0943908365167,-0.0942953903394,-0.0941999432954,-0.0941044953855,-0.0940090466106,-0.0939135969716,-0.0938181464694,-0.0937226951048,-0.0936272428788,-0.0935317897921,-0.0934363358457,-0.0933408810405,-0.0932454253773,-0.093149968857,-0.0930545114805,-0.0929590532487,-0.0928635941624,-0.0927681342225,-0.0926726734299,-0.0925772117855,-0.0924817492901,-0.0923862859447,-0.0922908217501,-0.0921953567071,-0.0920998908167,-0.0920044240798,-0.0919089564971,-0.0918134880697,-0.0917180187983,-0.0916225486839,-0.0915270777273,-0.0914316059294,-0.0913361332911,-0.0912406598132,-0.0911451854967,-0.0910497103424,-0.0909542343511,-0.0908587575239,-0.0907632798615,-0.0906678013648,-0.0905723220347,-0.0904768418721,-0.0903813608779,-0.0902858790529,-0.0901903963979,-0.090094912914,-0.089999428602,-0.0899039434627,-0.089808457497,-0.0897129707058,-0.08961748309,-0.0895219946505,-0.0894265053881,-0.0893310153037,-0.0892355243981,-0.0891400326724,-0.0890445401273,-0.0889490467637,-0.0888535525825,-0.0887580575846,-0.0886625617709,-0.0885670651421,-0.0884715676993,-0.0883760694433,-0.088280570375,-0.0881850704952,-0.0880895698048,-0.0879940683047,-0.0878985659958,-0.0878030628789,-0.087707558955,-0.0876120542249,-0.0875165486895,-0.0874210423496,-0.0873255352062,-0.0872300272601,-0.0871345185122,-0.0870390089634,-0.0869434986145,-0.0868479874665,-0.0867524755202,-0.0866569627765,-0.0865614492363,-0.0864659349003,-0.0863704197697,-0.0862749038451,-0.0861793871275,-0.0860838696177,-0.0859883513167,-0.0858928322253,-0.0857973123444,-0.0857017916749,-0.0856062702176,-0.0855107479735,-0.0854152249433,-0.085319701128,-0.0852241765285,-0.0851286511456,-0.0850331249803,-0.0849375980333,-0.0848420703056,-0.0847465417981,-0.0846510125116,-0.0845554824469,-0.0844599516051,-0.0843644199869,-0.0842688875933,-0.0841733544251,-0.0840778204832,-0.0839822857685,-0.0838867502818,-0.083791214024,-0.0836956769961,-0.0836001391988,-0.0835046006332,-0.0834090612999,-0.0833135212,-0.0832179803343,-0.0831224387036,-0.0830268963089,-0.0829313531511,-0.0828358092309,-0.0827402645494,-0.0826447191073,-0.0825491729056,-0.0824536259451,-0.0823580782266,-0.0822625297512,-0.0821669805197,-0.0820714305328,-0.0819758797916,-0.0818803282969,-0.0817847760496,-0.0816892230505,-0.0815936693005,-0.0814981148006,-0.0814025595515,-0.0813070035542,-0.0812114468096,-0.0811158893185,-0.0810203310817,-0.0809247721003,-0.080829212375,-0.0807336519067,-0.0806380906964,-0.0805425287448,-0.080446966053,-0.0803514026216,-0.0802558384517,-0.0801602735441,-0.0800647078997,-0.0799691415193,-0.0798735744039,-0.0797780065543,-0.0796824379714,-0.0795868686561,-0.0794912986092,-0.0793957278317,-0.0793001563244,-0.0792045840882,-0.0791090111239,-0.0790134374325,-0.0789178630148,-0.0788222878717,-0.0787267120041,-0.0786311354129,-0.0785355580988,-0.078439980063,-0.0783444013061,-0.0782488218291,-0.0781532416328,-0.0780576607182,-0.077962079086,-0.0778664967373,-0.0777709136729,-0.0776753298935,-0.0775797454003,-0.0774841601939,-0.0773885742753,-0.0772929876453,-0.0771974003049,-0.0771018122549,-0.0770062234962,-0.0769106340297,-0.0768150438563,-0.0767194529767,-0.076623861392,-0.076528269103,-0.0764326761105,-0.0763370824155,-0.0762414880189,-0.0761458929214,-0.076050297124,-0.0759547006275,-0.075859103433,-0.0757635055411,-0.0756679069528,-0.075572307669,-0.0754767076906,-0.0753811070184,-0.0752855056533,-0.0751899035962,-0.0750943008479,-0.0749986974094,-0.0749030932816,-0.0748074884652,-0.0747118829613,-0.0746162767706,-0.074520669894,-0.0744250623325,-0.0743294540868,-0.074233845158,-0.0741382355468,-0.0740426252541,-0.0739470142809,-0.073851402628,-0.0737557902962,-0.0736601772865,-0.0735645635997,-0.0734689492367,-0.0733733341984,-0.0732777184857,-0.0731821020994,-0.0730864850405,-0.0729908673097,-0.072895248908,-0.0727996298364,-0.0727040100955,-0.0726083896864,-0.0725127686098,-0.0724171468668,-0.0723215244581,-0.0722259013846,-0.0721302776472,-0.0720346532469,-0.0719390281844,-0.0718434024607,-0.0717477760766,-0.071652149033,-0.0715565213308,-0.0714608929708,-0.0713652639541,-0.0712696342813,-0.0711740039534,-0.0710783729714,-0.070982741336,-0.0708871090481,-0.0707914761086,-0.0706958425185,-0.0706002082785,-0.0705045733896,-0.0704089378526,-0.0703133016685,-0.070217664838,-0.0701220273621,-0.0700263892417,-0.0699307504776,-0.0698351110707,-0.0697394710219,-0.0696438303321,-0.0695481890021,-0.0694525470328,-0.0693569044252,-0.06926126118,-0.0691656172982,-0.0690699727807,-0.0689743276283,-0.0688786818418,-0.0687830354223,-0.0686873883705,-0.0685917406874,-0.0684960923738,-0.0684004434305,-0.0683047938586,-0.0682091436588,-0.0681134928321,-0.0680178413792,-0.0679221893012,-0.0678265365988,-0.067730883273,-0.0676352293246,-0.0675395747545,-0.0674439195637,-0.0673482637529,-0.067252607323,-0.067156950275,-0.0670612926096,-0.0669656343279,-0.0668699754306,-0.0667743159187,-0.066678655793,-0.0665829950544,-0.0664873337038,-0.066391671742,-0.06629600917,-0.0662003459886,-0.0661046821988,-0.0660090178013,-0.065913352797,-0.0658176871869,-0.0657220209718,-0.0656263541526,-0.0655306867302,-0.0654350187054,-0.0653393500792,-0.0652436808524,-0.0651480110259,-0.0650523406005,-0.0649566695772,-0.0648609979569,-0.0647653257403,-0.0646696529285,-0.0645739795222,-0.0644783055224,-0.0643826309299,-0.0642869557456,-0.0641912799704,-0.0640956036051,-0.0639999266507,-0.063904249108,-0.063808570978,-0.0637128922614,-0.0636172129592,-0.0635215330722,-0.0634258526014,-0.0633301715475,-0.0632344899116,-0.0631388076944,-0.0630431248968,-0.0629474415198,-0.0628517575642,-0.0627560730308,-0.0626603879206,-0.0625647022345,-0.0624690159732,-0.0623733291378,-0.062277641729,-0.0621819537478,-0.0620862651951,-0.0619905760716,-0.0618948863784,-0.0617991961162,-0.061703505286,-0.0616078138886,-0.0615121219249,-0.0614164293958,-0.0613207363022,-0.061225042645,-0.0611293484249,-0.061033653643,-0.0609379583001,-0.0608422623971,-0.0607465659348,-0.0606508689141,-0.0605551713359,-0.0604594732012,-0.0603637745107,-0.0602680752653,-0.060172375466,-0.0600766751136,-0.059980974209,-0.059885272753,-0.0597895707466,-0.0596938681907,-0.059598165086,-0.0595024614335,-0.0594067572341,-0.0593110524886,-0.059215347198,-0.059119641363,-0.0590239349847,-0.0589282280638,-0.0588325206012,-0.0587368125979,-0.0586411040547,-0.0585453949724,-0.0584496853521,-0.0583539751944,-0.0582582645004,-0.0581625532709,-0.0580668415068,-0.0579711292089,-0.0578754163782,-0.0577797030155,-0.0576839891217,-0.0575882746977,-0.0574925597444,-0.0573968442626,-0.0573011282532,-0.0572054117171,-0.0571096946552,-0.0570139770683,-0.0569182589574,-0.0568225403233,-0.0567268211669,-0.0566311014891,-0.0565353812907,-0.0564396605727,-0.0563439393359,-0.0562482175812,-0.0561524953095,-0.0560567725216,-0.0559610492185,-0.055865325401,-0.05576960107,-0.0556738762264,-0.055578150871,-0.0554824250048,-0.0553866986286,-0.0552909717432,-0.0551952443497,-0.0550995164488,-0.0550037880415,-0.0549080591285,-0.0548123297109,-0.0547165997894,-0.054620869365,-0.0545251384386,-0.0544294070109,-0.054333675083,-0.0542379426556,-0.0541422097297,-0.0540464763061,-0.0539507423857,-0.0538550079695,-0.0537592730582,-0.0536635376527,-0.053567801754,-0.0534720653629,-0.0533763284804,-0.0532805911071,-0.0531848532442,-0.0530891148924,-0.0529933760526,-0.0528976367257,-0.0528018969125,-0.0527061566141,-0.0526104158311,-0.0525146745646,-0.0524189328154,-0.0523231905843,-0.0522274478723,-0.0521317046803,-0.052035961009,-0.0519402168595,-0.0518444722325,-0.051748727129,-0.0516529815499,-0.0515572354959,-0.051461488968,-0.0513657419672,-0.0512699944941,-0.0511742465499,-0.0510784981352,-0.050982749251,-0.0508869998982,-0.0507912500777,-0.0506954997903,-0.0505997490369,-0.0505039978184,-0.0504082461357,-0.0503124939897,-0.0502167413812,-0.0501209883111,-0.0500252347803,-0.0499294807897,-0.0498337263401,-0.0497379714325,-0.0496422160677,-0.0495464602466,-0.0494507039701,-0.049354947239,-0.0492591900543,-0.0491634324168,-0.0490676743274,-0.048971915787,-0.0488761567964,-0.0487803973566,-0.0486846374684,-0.0485888771327,-0.0484931163504,-0.0483973551224,-0.0483015934495,-0.0482058313326,-0.0481100687726,-0.0480143057704,-0.0479185423269,-0.0478227784429,-0.0477270141193,-0.047631249357,-0.047535484157,-0.0474397185199,-0.0473439524469,-0.0472481859386,-0.0471524189961,-0.0470566516201,-0.0469608838116,-0.0468651155715,-0.0467693469005,-0.0466735777997,-0.0465778082699,-0.0464820383119,-0.0463862679267,-0.0462904971151,-0.046194725878,-0.0460989542163,-0.0460031821309,-0.0459074096226,-0.0458116366924,-0.045715863341,-0.0456200895695,-0.0455243153786,-0.0454285407693,-0.0453327657424,-0.0452369902988,-0.0451412144394,-0.0450454381651,-0.0449496614767,-0.0448538843752,-0.0447581068613,-0.0446623289361,-0.0445665506003,-0.0444707718549,-0.0443749927008,-0.0442792131387,-0.0441834331696,-0.0440876527945,-0.043991872014,-0.0438960908292,-0.0438003092409,-0.0437045272501,-0.0436087448575,-0.043512962064,-0.0434171788706,-0.0433213952781,-0.0432256112874,-0.0431298268994,-0.043034042115,-0.0429382569349,-0.0428424713602,-0.0427466853918,-0.0426508990304,-0.0425551122769,-0.0424593251323,-0.0423635375974,-0.0422677496731,-0.0421719613603,-0.0420761726599,-0.0419803835727,-0.0418845940997,-0.0417888042416,-0.0416930139995,-0.0415972233741,-0.0415014323663,-0.0414056409771,-0.0413098492073,-0.0412140570577,-0.0411182645294,-0.0410224716231,-0.0409266783397,-0.0408308846801,-0.0407350906452,-0.0406392962359,-0.0405435014531,-0.0404477062976,-0.0403519107703,-0.040256114872,-0.0401603186038,-0.0400645219664,-0.0399687249608,-0.0398729275877,-0.0397771298482,-0.039681331743,-0.0395855332731,-0.0394897344394,-0.0393939352426,-0.0392981356838,-0.0392023357637,-0.0391065354833,-0.0390107348435,-0.038914933845,-0.0388191324889,-0.0387233307759,-0.038627528707,-0.0385317262831,-0.038435923505,-0.0383401203736,-0.0382443168897,-0.0381485130544,-0.0380527088683,-0.0379569043325,-0.0378610994479,-0.0377652942152,-0.0376694886353,-0.0375736827093,-0.0374778764378,-0.0373820698219,-0.0372862628624,-0.0371904555601,-0.037094647916,-0.0369988399309,-0.0369030316057,-0.0368072229414,-0.0367114139387,-0.0366156045985,-0.0365197949218,-0.0364239849094,-0.0363281745623,-0.0362323638812,-0.036136552867,-0.0360407415207,-0.0359449298431,-0.0358491178351,-0.0357533054976,-0.0356574928315,-0.0355616798376,-0.0354658665169,-0.0353700528701,-0.0352742388982,-0.0351784246021,-0.0350826099826,-0.0349867950407,-0.0348909797772,-0.034795164193,-0.0346993482889,-0.0346035320659,-0.0345077155248,-0.0344118986665,-0.034316081492,-0.034220264002,-0.0341244461974,-0.0340286280792,-0.0339328096482,-0.0338369909053,-0.0337411718514,-0.0336453524873,-0.033549532814,-0.0334537128323,-0.0333578925431,-0.0332620719473,-0.0331662510457,-0.0330704298393,-0.0329746083289,-0.0328787865154,-0.0327829643997,-0.0326871419827,-0.0325913192652,-0.0324954962481,-0.0323996729324,-0.0323038493188,-0.0322080254083,-0.0321122012018,-0.0320163767,-0.031920551904,-0.0318247268146,-0.0317289014327,-0.0316330757591,-0.0315372497948,-0.0314414235406,-0.0313455969973,-0.031249770166,-0.0311539430474,-0.0310581156424,-0.030962287952,-0.030866459977,-0.0307706317182,-0.0306748031766,-0.0305789743531,-0.0304831452485,-0.0303873158637,-0.0302914861995,-0.030195656257,-0.0300998260369,-0.0300039955401,-0.0299081647675,-0.02981233372,-0.0297165023985,-0.0296206708039,-0.0295248389369,-0.0294290067986,-0.0293331743898,-0.0292373417114,-0.0291415087642,-0.0290456755491,-0.0289498420671,-0.028854008319,-0.0287581743056,-0.028662340028,-0.0285665054868,-0.0284706706831,-0.0283748356177,-0.0282790002914,-0.0281831647053,-0.02808732886,-0.0279914927567,-0.027895656396,-0.0277998197789,-0.0277039829062,-0.027608145779,-0.0275123083979,-0.027416470764,-0.0273206328781,-0.027224794741,-0.0271289563537,-0.027033117717,-0.0269372788319,-0.0268414396991,-0.0267456003196,-0.0266497606943,-0.026553920824,-0.0264580807097,-0.0263622403521,-0.0262663997523,-0.026170558911,-0.0260747178291,-0.0259788765076,-0.0258830349473,-0.025787193149,-0.0256913511138,-0.0255955088423,-0.0254996663357,-0.0254038235946,-0.02530798062,-0.0252121374128,-0.0251162939739,-0.0250204503041,-0.0249246064043,-0.0248287622754,-0.0247329179183,-0.0246370733338,-0.0245412285229,-0.0244453834864,-0.0243495382252,-0.0242536927402,-0.0241578470323,-0.0240620011023,-0.0239661549511,-0.0238703085797,-0.0237744619888,-0.0236786151794,-0.0235827681524,-0.0234869209086,-0.0233910734489,-0.0232952257742,-0.0231993778853,-0.0231035297833,-0.0230076814688,-0.0229118329429,-0.0228159842064,-0.0227201352602,-0.0226242861051,-0.0225284367421,-0.0224325871719,-0.0223367373956,-0.022240887414,-0.022145037228,-0.0220491868384,-0.0219533362461,-0.021857485452,-0.021761634457,-0.021665783262,-0.0215699318679,-0.0214740802755,-0.0213782284857,-0.0212823764994,-0.0211865243174,-0.0210906719408,-0.0209948193702,-0.0208989666067,-0.0208031136511,-0.0207072605043,-0.0206114071671,-0.0205155536405,-0.0204196999253,-0.0203238460224,-0.0202279919327,-0.0201321376571,-0.0200362831964,-0.0199404285515,-0.0198445737234,-0.0197487187128,-0.0196528635207,-0.019557008148,-0.0194611525955,-0.0193652968642,-0.0192694409548,-0.0191735848683,-0.0190777286056,-0.0189818721675,-0.0188860155549,-0.0187901587688,-0.0186943018099,-0.0185984446792,-0.0185025873775,-0.0184067299058,-0.0183108722649,-0.0182150144556,-0.018119156479,-0.0180232983358,-0.0179274400269,-0.0178315815532,-0.0177357229157,-0.0176398641151,-0.0175440051524,-0.0174481460284,-0.017352286744,-0.0172564273001,-0.0171605676976,-0.0170647079374,-0.0169688480203,-0.0168729879473,-0.0167771277191,-0.0166812673368,-0.0165854068011,-0.016489546113,-0.0163936852733,-0.0162978242829,-0.0162019631427,-0.0161061018535,-0.0160102404164,-0.015914378832,-0.0158185171014,-0.0157226552254,-0.0156267932049,-0.0155309310407,-0.0154350687338,-0.015339206285,-0.0152433436952,-0.0151474809653,-0.0150516180961,-0.0149557550886,-0.0148598919437,-0.0147640286621,-0.0146681652449,-0.0145723016928,-0.0144764380067,-0.0143805741876,-0.0142847102364,-0.0141888461538,-0.0140929819408,-0.0139971175982,-0.013901253127,-0.0138053885281,-0.0137095238022,-0.0136136589503,-0.0135177939733,-0.013421928872,-0.0133260636473,-0.0132301983002,-0.0131343328315,-0.013038467242,-0.0129426015327,-0.0128467357044,-0.012750869758,-0.0126550036944,-0.0125591375145,-0.0124632712192,-0.0123674048093,-0.0122715382857,-0.0121756716493,-0.0120798049011,-0.0119839380417,-0.0118880710723,-0.0117922039935,-0.0116963368064,-0.0116004695117,-0.0115046021104,-0.0114087346034,-0.0113128669915,-0.0112169992756,-0.0111211314566,-0.0110252635354,-0.0109293955129,-0.0108335273899,-0.0107376591673,-0.010641790846,-0.0105459224269,-0.0104500539108,-0.0103541852987,-0.0102583165915,-0.0101624477899,-0.0100665788949,-0.00997070990742,-0.00987484082827,-0.00977897165835,-0.00968310239854,-0.00958723304973,-0.00949136361279,-0.00939549408862,-0.00929962447808,-0.00920375478206,-0.00910788500144,-0.00901201513711,-0.00891614518993,-0.00882027516081,-0.00872440505061,-0.00862853486021,-0.00853266459051,-0.00843679424237,-0.00834092381668,-0.00824505331433,-0.00814918273619,-0.00805331208315,-0.00795744135608,-0.00786157055586,-0.00776569968339,-0.00766982873953,-0.00757395772518,-0.0074780866412,-0.00738221548849,-0.00728634426793,-0.00719047298039,-0.00709460162675,-0.00699873020791,-0.00690285872473,-0.0068069871781,-0.00671111556891,-0.00661524389803,-0.00651937216634,-0.00642350037473,-0.00632762852407,-0.00623175661525,-0.00613588464915,-0.00604001262666,-0.00594414054864,-0.00584826841598,-0.00575239622957,-0.00565652399029,-0.00556065169901,-0.00546477935662,-0.005368906964,-0.00527303452202,-0.00517716203158,-0.00508128949356,-0.00498541690882,-0.00488954427826,-0.00479367160276,-0.0046977988832,-0.00460192612045,-0.0045060533154,-0.00441018046894,-0.00431430758194,-0.00421843465528,-0.00412256168984,-0.00402668868652,-0.00393081564618,-0.00383494256971,-0.00373906945799,-0.0036431963119,-0.00354732313232,-0.00345144992014,-0.00335557667623,-0.00325970340148,-0.00316383009676,-0.00306795676297,-0.00297208340097,-0.00287621001166,-0.0027803365959,-0.0026844631546,-0.00258858968861,-0.00249271619884,-0.00239684268615,-0.00230096915143,-0.00220509559556,-0.00210922201942,-0.00201334842389,-0.00191747480986,-0.0018216011782,-0.0017257275298,-0.00162985386553,-0.00153398018629,-0.00143810649294,-0.00134223278637,-0.00124635906747,-0.00115048533711,-0.00105461159618,-0.000958737845554,-0.000862864086114,-0.000766990318743,-0.000671116544322,-0.000575242763732,-0.000479368977855,-0.000383495187572,-0.000287621393764,-0.000191747597311,-9.58737990961e-05,0.0,9.5873799096e-05}; + +}; \ No newline at end of file diff --git a/main.cpp b/main.cpp index e14a984..119fddf 100755 --- a/main.cpp +++ b/main.cpp @@ -1,61 +1,32 @@ #include "maximilian.h" -//Bizarelly, this sounds a little bit like Kraftwerk's 'Metropolis', although it isn't. Funny that. - -maxiOsc sound,bass,timer,mod,lead,lead2,leadmod;//here are the synth bits -maxiEnv envelope, leadenvelope;//some envelopes -maxiFilter filter, filter2;//some filters -maxiDelayline delay;//a delay -convert mtof;//a method for converting midi notes to frequency -double bassout,leadout, delayout;//some variables to hold the data and pass it around -int trigger, trigger2, newnote;//some control variables -int currentCount,lastCount,playHead=0, currentChord=0;//some other control variables -int pitch[8]={57,57,59,60};//the bassline for the arpeggio -int chord[8]={0,0,7,2,5,5,0,0};//the root chords for the arpeggio -float currentPitch,leadPitch;//the final pitch variables - -//here's the lead line trigger array, followed by the pitches -int leadLineTrigger[256]={1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; -int leadLinePitch[15]={69,67,65,64,67,66,64,62,65,64,62,57,55,60,57}; - - +maxiSample beats; //We give our sample a name. It's called beats this time. We could have loads of them, but they have to have different names. +maxiDyn compressor; //this is a compressor +double out; void setup() {//some inits -} - -void play(double *output) {//this is where the magic happens. Very slow magic. + beats.load("/Users/michaelgrierson/Documents/workspace/Maximilian/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/beat2.wav");//load in your samples. Provide the full path to a wav file. + printf("Summary:\n%s", beats.getSummary());//get info on samples if you like. - currentCount=(int)timer.phasor(9);//this sets up a metronome that ticks every so often + compressor.setAttack(300); + compressor.setRelease(300); + compressor.setThreshold(0.25); + compressor.setRatio(5); - if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound - trigger=1;//play the arpeggiator line - trigger2=leadLineTrigger[playHead%256];//play the lead line - if (trigger2==1) {//if we are going to play a note - leadPitch=mtof.mtof(leadLinePitch[newnote]);//get the next pitch val - newnote++;//and iterate - if (newnote>14) { - newnote=0;//make sure we don't go over the edge of the array - } - } - currentPitch=mtof.mtof(pitch[(playHead%4)]+chord[currentChord%8]);//write the frequency val into currentPitch - playHead++;//iterate the playhead - if (playHead%32==0) {//wrap every 4 bars - currentChord++;//change the chord - } - //cout << "tick\n";//the clock ticks - lastCount=0;//set lastCount to 0 - } + //you can set these any time you like. - bassout=filter2.lores(envelope.adsr(bass.saw(currentPitch*0.5)+sound.pulse(currentPitch*0.5,mod.phasor(1)),1,0.9995, 0.25, 0.9995, 1, trigger),9250,2);//new, simple ADSR. - leadout=filter.lores(leadenvelope.ar(lead2.saw(leadPitch*4)+lead.pulse(leadPitch+(leadmod.sinebuf(1.9)*1.5), 0.6), 0.00005, 0.999975, 50000, trigger2),5900,10);//leadline - - delayout=(leadout+(delay.dl(leadout, 14000, 0.93)*0.5))/2;//add some delay +} + +void play(double *output) {//this is where the magic happens. Very slow magic. - if(trigger!=0)trigger=0;//set the trigger to off if you want it to trigger immediately next time. + //here, we're just compressing the file in real-time + //arguments are input,ratio,threshold,attack,release + out=compressor.compress(beats.play()); - output[0]=(bassout+delayout)/2;//sum output - output[1]=(bassout+delayout)/2; + output[0]=out; + output[1]=out; -} \ No newline at end of file +} + diff --git a/maximilian.cpp b/maximilian.cpp index 6ca26bd..7749c7b 100644 --- a/maximilian.cpp +++ b/maximilian.cpp @@ -39,7 +39,7 @@ * Uncomment the following to include Sean Barrett's Ogg Vorbis decoder. * If you're on windows, make sure to add the files std_vorbis.c and std_vorbis.h to your project*/ -//#define VORBIS +#define VORBIS #ifdef VORBIS extern "C" { @@ -1157,6 +1157,37 @@ double maxiDyn::compressor(double input, double ratio, double threshold, double return output*(1+log(ratio)); } +double maxiDyn::compress(double input) { + + if (fabs(input)>threshold && attackphase!=1){ + holdcount=0; + releasephase=0; + attackphase=1; + if(currentRatio==0) currentRatio=ratio; + } + + if (attackphase==1 && currentRatio=ratio-1) { + attackphase=0; + releasephase=1; + } + + if (releasephase==1 && currentRatio>0.) { + currentRatio*=release; + } + + if (input>0.) { + output = input/(1.+currentRatio); + } else { + output = input/(1.+currentRatio); + } + + return output*(1+log(ratio)); +} + /* Lots of people struggle with the envelope generators so here's a new easy one. It takes mental numbers for attack and release tho. Basically, they're exponentials. @@ -1205,56 +1236,145 @@ double maxiEnv::ar(double input, double attack, double release, long holdtime, i /* adsr. It's not bad, very simple to use*/ double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; + + if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ + holdcount=0; + decayphase=0; + sustainphase=0; + releasephase=0; + attackphase=1; + } + + if (attackphase==1) { + releasephase=0; + amplitude+=(1*attack); + output=input*amplitude; + + if (amplitude>=1) { + amplitude=1; + attackphase=0; + decayphase=1; + } + } + + + if (decayphase==1) { + output=input*(amplitude*=decay); + if (amplitude<=sustain) { + decayphase=0; + holdphase=1; + } + } + + if (holdcount=holdtime && trigger==1) { + output=input*amplitude; + } + + if (holdcount>=holdtime && trigger!=1) { + holdphase=0; + releasephase=1; + } + + if (releasephase==1 && amplitude>0.) { + output=input*(amplitude*=release); + + } + + return output; +} + +double maxiEnv::adsr(double input, int trigger) { + + if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ + holdcount=0; + decayphase=0; + sustainphase=0; + releasephase=0; + attackphase=1; + } + + if (attackphase==1) { + releasephase=0; + amplitude+=(1*attack); + output=input*amplitude; + + if (amplitude>=1) { + amplitude=1; + attackphase=0; + decayphase=1; + } + } + + + if (decayphase==1) { + output=input*(amplitude*=decay); + if (amplitude<=sustain) { + decayphase=0; + holdphase=1; + } + } + + if (holdcount=holdtime && trigger==1) { + output=input*amplitude; + } + + if (holdcount>=holdtime && trigger!=1) { + holdphase=0; + releasephase=1; + } + + if (releasephase==1 && amplitude>0.) { + output=input*(amplitude*=release); + + } + + return output; +} + + +void maxiEnv::setAttack(double attackMS) { + attack = 1-pow( 0.01, 1.0 / ( attackMS * maxiSettings::sampleRate * 0.001 ) ); +} + +void maxiEnv::setRelease(double releaseMS) { + release = pow( 0.01, 1.0 / ( releaseMS * maxiSettings::sampleRate * 0.001 ) ); } +void maxiEnv::setSustain(double sustainL) { + sustain = sustainL; +} + +void maxiEnv::setDecay(double decayMS) { + decay = pow( 0.01, 1.0 / ( decayMS * maxiSettings::sampleRate * 0.001 ) ); +} + +void maxiDyn::setAttack(double attackMS) { + attack = pow( 0.01, 1.0 / ( attackMS * maxiSettings::sampleRate * 0.001 ) ); +} + +void maxiDyn::setRelease(double releaseMS) { + release = pow( 0.01, 1.0 / ( releaseMS * maxiSettings::sampleRate * 0.001 ) ); +} + +void maxiDyn::setThreshold(double thresholdI) { + threshold = thresholdI; +} + +void maxiDyn::setRatio(double ratioF) { + ratio = ratioF; +} + + double convert::mtof(int midinote) { return mtofarray[midinote]; diff --git a/maximilian.h b/maximilian.h index 0cac59d..688cd3a 100755 --- a/maximilian.h +++ b/maximilian.h @@ -358,9 +358,12 @@ class maxiDyn { public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; +// double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); +// double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); + double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); + double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); + double compress(double input); + double input; double ratio; double currentRatio; double threshold; @@ -368,6 +371,10 @@ public: double attack; double release; double amplitude; + void setAttack(double attackMS); + void setRelease(double releaseMS); + void setThreshold(double thresholdI); + void setRatio(double ratioF); long holdtime; long holdcount; int attackphase,holdphase,releasephase; @@ -379,6 +386,7 @@ class maxiEnv { public: double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); + double adsr(double input,int trigger); double input; double output; double attack; @@ -386,8 +394,12 @@ public: double sustain; double release; double amplitude; + void setAttack(double attackMS); + void setRelease(double releaseMS); + void setDecay(double decayMS); + void setSustain(double sustainL); int trigger; - long holdtime; + long holdtime=1; long holdcount; int attackphase,decayphase,sustainphase,holdphase,releasephase; }; diff --git a/maximilianTest_10.8.xcodeproj/project.pbxproj b/maximilianTest_10.8.xcodeproj/project.pbxproj index 3912f60..465ebfc 100755 --- a/maximilianTest_10.8.xcodeproj/project.pbxproj +++ b/maximilianTest_10.8.xcodeproj/project.pbxproj @@ -7,14 +7,14 @@ objects = { /* Begin PBXBuildFile section */ - 00B5A18610F54EF50011B459 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00B5A18510F54EF50011B459 /* maximilian.cpp */; }; 00FD794410CF325D00EA9294 /* RtAudio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00FD794110CF325D00EA9294 /* RtAudio.cpp */; }; 833289281403E9C4003DF5D6 /* player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 833289271403E9C4003DF5D6 /* player.cpp */; }; 83C24ED817F9DC6D005843DB /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83C24ED717F9DC6D005843DB /* CoreAudio.framework */; }; 83C24EDC17F9DDDD005843DB /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83C24EDB17F9DDDD005843DB /* CoreServices.framework */; }; 83C24EDE17F9DDE3005843DB /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83C24EDD17F9DDE3005843DB /* AudioToolbox.framework */; }; 83C24EE017F9DDEB005843DB /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83C24EDF17F9DDEB005843DB /* AudioUnit.framework */; }; - 8D7601A5152BDB5200EAE4B0 /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 8D7601A3152BDB5200EAE4B0 /* stb_vorbis.c */; }; + 8A34BD591B65677F0026EA0C /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A34BD571B65677F0026EA0C /* maximilian.cpp */; }; + 8A34BD5C1B6567E60026EA0C /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 8A34BD5A1B6567E60026EA0C /* stb_vorbis.c */; }; 8DD76F650486A84900D96B5E /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* main.cpp */; settings = {ATTRIBUTES = (); }; }; 8DD76F6A0486A84900D96B5E /* rtaudiotest.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* rtaudiotest.1 */; }; /* End PBXBuildFile section */ @@ -33,8 +33,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 00B5A18510F54EF50011B459 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 00F9DBCA10EA67AF000FD39D /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; 00FD794110CF325D00EA9294 /* RtAudio.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RtAudio.cpp; sourceTree = ""; }; 00FD794210CF325D00EA9294 /* RtAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RtAudio.h; sourceTree = ""; }; 00FD794310CF325D00EA9294 /* RtError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RtError.h; sourceTree = ""; }; @@ -47,8 +45,11 @@ 83C24EDB17F9DDDD005843DB /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/CoreServices.framework; sourceTree = DEVELOPER_DIR; }; 83C24EDD17F9DDE3005843DB /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; }; 83C24EDF17F9DDEB005843DB /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AudioUnit.framework; sourceTree = DEVELOPER_DIR; }; - 8D7601A3152BDB5200EAE4B0 /* stb_vorbis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stb_vorbis.c; sourceTree = ""; }; - 8D7601A4152BDB5200EAE4B0 /* stb_vorbis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_vorbis.h; sourceTree = ""; }; + 8A34BD531B6566730026EA0C /* libs */ = {isa = PBXFileReference; lastKnownFileType = folder; path = libs; sourceTree = ""; }; + 8A34BD571B65677F0026EA0C /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; + 8A34BD581B65677F0026EA0C /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; + 8A34BD5A1B6567E60026EA0C /* stb_vorbis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stb_vorbis.c; sourceTree = ""; }; + 8A34BD5B1B6567E60026EA0C /* stb_vorbis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_vorbis.h; sourceTree = ""; }; 8DD76F6C0486A84900D96B5E /* rtaudiotest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = rtaudiotest; sourceTree = BUILT_PRODUCTS_DIR; }; C6859E8B029090EE04C91782 /* rtaudiotest.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = rtaudiotest.1; sourceTree = ""; }; /* End PBXFileReference section */ @@ -87,12 +88,13 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - 8D7601A3152BDB5200EAE4B0 /* stb_vorbis.c */, - 8D7601A4152BDB5200EAE4B0 /* stb_vorbis.h */, + 8A34BD5A1B6567E60026EA0C /* stb_vorbis.c */, + 8A34BD5B1B6567E60026EA0C /* stb_vorbis.h */, + 8A34BD571B65677F0026EA0C /* maximilian.cpp */, + 8A34BD581B65677F0026EA0C /* maximilian.h */, + 8A34BD531B6566730026EA0C /* libs */, 833289261403E9C4003DF5D6 /* player.h */, 833289271403E9C4003DF5D6 /* player.cpp */, - 00B5A18510F54EF50011B459 /* maximilian.cpp */, - 00F9DBCA10EA67AF000FD39D /* maximilian.h */, 08FB7796FE84155DC02AAC07 /* main.cpp */, ); name = Source; @@ -177,11 +179,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 8A34BD5C1B6567E60026EA0C /* stb_vorbis.c in Sources */, 8DD76F650486A84900D96B5E /* main.cpp in Sources */, 00FD794410CF325D00EA9294 /* RtAudio.cpp in Sources */, - 00B5A18610F54EF50011B459 /* maximilian.cpp in Sources */, 833289281403E9C4003DF5D6 /* player.cpp in Sources */, - 8D7601A5152BDB5200EAE4B0 /* stb_vorbis.c in Sources */, + 8A34BD591B65677F0026EA0C /* maximilian.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate index 1018fbc..ac7d988 100644 Binary files a/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate and b/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/maximilian_examples/14.monosynth.cpp b/maximilian_examples/14.monosynth.cpp index 5dd4e7e..897c41a 100755 --- a/maximilian_examples/14.monosynth.cpp +++ b/maximilian_examples/14.monosynth.cpp @@ -5,11 +5,7 @@ //These are the synthesiser bits maxiOsc VCO1,VCO2,LFO1,LFO2; maxiFilter VCF; -maxiEnvelope ADSR; - -//These are the control values for the envelope - -double adsrEnv[8]={1,5,0.125,250,0.125,125,0,500}; +maxiEnv ADSR; //This is a bunch of control signals so that we can hear something @@ -22,38 +18,42 @@ double VCO1out,VCO2out,LFO1out,LFO2out,VCFout,ADSRout; void setup() {//some inits - - + + ADSR.setAttack(1000); + ADSR.setDecay(1); + ADSR.setSustain(1); + ADSR.setRelease(1000); } void play(double *output) { - - //so this first bit is just a basic metronome so we can hear what we're doing. - - currentCount=(int)timer.phasor(0.5);//this sets up a metronome that ticks every 2 seconds - - if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound - - ADSR.trigger(0, adsrEnv[0]);//trigger the envelope from the start - - cout << "tick\n";//the clock ticks - - lastCount=0;//set lastCount to 0 - } - - //and this is where we build the synth - - - ADSRout=ADSR.line(8,adsrEnv);//our ADSR env has 8 value/time pairs. - - LFO1out=LFO1.sinebuf(0.2);//this lfo is a sinewave at 0.2 hz - - VCO1out=VCO1.pulse(55,0.6);//here's VCO1. it's a pulse wave at 55 hz, with a pulse width of 0.6 - VCO2out=VCO2.pulse(110+LFO1out,0.2);//here's VCO2. it's a pulse wave at 110hz with LFO modulation on the frequency, and width of 0.2 - - - VCFout=VCF.lores((VCO1out+VCO2out)*0.5, 250+(ADSRout*15000), 10);//now we stick the VCO's into the VCF, using the ADSR as the filter cutoff - - *output=VCFout*ADSRout;//finally we add the ADSR as an amplitude modulator - + + //so this first bit is just a basic metronome so we can hear what we're doing. + + currentCount=(int)timer.phasor(0.5);//this sets up a metronome that ticks every 2 seconds + + + if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound + ADSR.trigger=1; + + cout << "tick\n";//the clock ticks + + lastCount=0;//set lastCount to 0 + } + + //and this is where we build the synth + + ADSRout=ADSR.adsr(1.0,ADSR.trigger);//our ADSR env has 8 value/time pairs. + + LFO1out=LFO1.sinebuf(0.2);//this lfo is a sinewave at 0.2 hz + + VCO1out=VCO1.pulse(55,0.6);//here's VCO1. it's a pulse wave at 55 hz, with a pulse width of 0.6 + VCO2out=VCO2.pulse(110+LFO1out,0.2);//here's VCO2. it's a pulse wave at 110hz with LFO modulation on the frequency, and width of 0.2 + + + VCFout=VCF.lores((VCO1out+VCO2out)*0.5, ADSRout*10000, 10);//now we stick the VCO's into the VCF, using the ADSR as the filter cutoff + + double finalSound=VCFout*ADSRout;//finally we add the ADSR as an amplitude modulator + ADSR.trigger=0; + output[0]=finalSound; + output[1]=finalSound; } diff --git a/maximilian_examples/17.Compressor.cpp b/maximilian_examples/17.Compressor.cpp index c6b7897..c9bf221 100644 --- a/maximilian_examples/17.Compressor.cpp +++ b/maximilian_examples/17.Compressor.cpp @@ -5,25 +5,28 @@ maxiDyn compressor; //this is a compressor double out; void setup() {//some inits - - beats.load("/Users/yourusername/somewhere/schub.wav");//load in your samples. Provide the full path to a wav file. - printf("Summary:\n%s", beats.getSummary());//get info on samples if you like. - + + beats.load("/Users/michaelgrierson/Documents/workspace/Maximilian/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/beat2.wav");//load in your samples. Provide the full path to a wav file. + printf("Summary:\n%s", beats.getSummary());//get info on samples if you like. + + compressor.setAttack(100); + compressor.setRelease(300); + compressor.setThreshold(0.25); + compressor.setRatio(5); + + //you can set these any time you like. + } void play(double *output) {//this is where the magic happens. Very slow magic. - - - //here, we're just compressing the file in real-time - //arguments are input,ratio,threshold,attack,release - out=compressor.compressor(beats.play(),5,0.25,0.0001,0.9999); - - output[0]=out; - output[1]=out; - - // *output=beats.play(0.69);//play the file with a speed setting. 1. is normal speed. - // *output=beats.play(0.5,0,44100);//linear interpolationplay with a frequency input, start point and end point. Useful for syncing. - // *output=beats.play4(0.5,0,44100);//cubic interpolation play with a frequency input, start point and end point. Useful for syncing. - + + + //here, we're just compressing the file in real-time + //arguments are input,ratio,threshold,attack,release + out=compressor.compress(beats.play()); + + output[0]=out; + output[1]=out; + } diff --git a/maximilian_examples/20.additive.cpp b/maximilian_examples/20.additive.cpp deleted file mode 100644 index 753434d..0000000 --- a/maximilian_examples/20.additive.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include "maximilian.h" - -maxiOsc sineBank[10];//let's create an oscillator and give it a name. - -void setup() {//some inits - //nothing to go here this time -} - - - -void play(double *output) {//this is where the magic happens. Very slow magic. - - double wave=0; - double f0 = 100; - for(int i=0; i < 10; i++) { - double thisSine = wave + sineBank[i].sinewave(f0 + (i * f0)); - double multiplier = 1.0 / (i+1.0); - thisSine = thisSine * multiplier; - wave = wave + thisSine; - } - wave *= 0.1; - *output = wave;//simple as that! - - -} - diff --git a/stb_vorbis.c b/stb_vorbis.c index 822253d..d98b4a8 100644 --- a/stb_vorbis.c +++ b/stb_vorbis.c @@ -895,12 +895,12 @@ static void neighbors(uint16 *x, int n, int *plow, int *phigh) typedef struct { uint16 x,y; -} Point; +} VorbisPoint; int point_compare(const void *p, const void *q) { - Point *a = (Point *) p; - Point *b = (Point *) q; + VorbisPoint *a = (VorbisPoint *) p; + VorbisPoint *b = (VorbisPoint *) q; return a->x < b->x ? -1 : a->x > b->x; } @@ -3543,7 +3543,7 @@ static int start_decoder(vorb *f) g->book_list[j] = get_bits(f,8); return error(f, VORBIS_feature_not_supported); } else { - Point p[31*8+2]; + VorbisPoint p[31*8+2]; Floor1 *g = &f->floor_config[i].floor1; int max_class = -1; g->partitions = get_bits(f, 5); -- cgit v1.3 From 1100fc8c462d9a17731340596e7d9c07adb3fe54 Mon Sep 17 00:00:00 2001 From: mick grierson Date: Mon, 27 Jul 2015 01:07:41 +0100 Subject: More major repair work. New OS X 10.10 SDK example project. New project structure. New Tutorials / Examples. --- main.cpp | 115 +- maximilianTest_10.8.xcodeproj/project.pbxproj | 114 +- .../UserInterfaceState.xcuserstate | Bin 57969 -> 60940 bytes maximilian_examples/15.polysynth.cpp | 109 +- .../OSX/OF0.8.4MaximExtractorExample/Makefile | 13 - .../project.pbxproj | 901 -- .../project.xcworkspace/contents.xcworkspacedata | 7 - .../UserInterfaceState.xcuserstate | Bin 11294 -> 0 bytes .../UserInterfaceState.xcuserstate | Bin 16451 -> 0 bytes .../UserInterfaceState.xcuserstate | Bin 11905 -> 0 bytes .../xcschemes/MaximExtractorExample Debug.xcscheme | 86 - .../MaximExtractorExample Release.xcscheme | 86 - .../xcschemes/xcschememanagement.plist | 27 - .../xcschemes/xcschememanagement.plist | 14 - .../xcschemes/xcschememanagement.plist | 14 - .../OF0.8.4MaximExtractorExample/Project.xcconfig | 17 - .../OSX/OF0.8.4MaximExtractorExample/addons.make | 3 - .../Contents/Frameworks/GLUT.framework/GLUT | Bin 603504 -> 0 bytes .../Frameworks/GLUT.framework/Headers/copy.h | 18 - .../Frameworks/GLUT.framework/Headers/extrude.h | 96 - .../Frameworks/GLUT.framework/Headers/glsmap.h | 137 - .../Frameworks/GLUT.framework/Headers/glsmapint.h | 102 - .../Frameworks/GLUT.framework/Headers/glut.h | 648 -- .../Frameworks/GLUT.framework/Headers/glutbitmap.h | 30 - .../Frameworks/GLUT.framework/Headers/glutf90.h | 90 - .../Frameworks/GLUT.framework/Headers/glutstroke.h | 42 - .../Frameworks/GLUT.framework/Headers/gutil.h | 89 - .../Frameworks/GLUT.framework/Headers/intersect.h | 391 - .../Frameworks/GLUT.framework/Headers/port.h | 298 - .../Frameworks/GLUT.framework/Headers/rot.h | 98 - .../Frameworks/GLUT.framework/Headers/segment.h | 98 - .../Frameworks/GLUT.framework/Headers/tube.h | 203 - .../Frameworks/GLUT.framework/Headers/tube_gc.h | 78 - .../Frameworks/GLUT.framework/Headers/vvector.h | 1339 --- .../GLUT.framework/Resources/Caution.tiff | Bin 18804 -> 0 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 - .../Resources/English.lproj/GLUT.nib/info.nib | 25 - .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 3908 -> 0 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 - .../English.lproj/GLUTClipboard.nib/info.nib | 12 - .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 1652 -> 0 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 - .../English.lproj/GLUTPreferences.nib/info.nib | 16 - .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 17418 -> 0 bytes .../Resources/English.lproj/GLUTUI.strings | Bin 3594 -> 0 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 268 -> 0 bytes .../Frameworks/GLUT.framework/Resources/Info.plist | 24 - .../GLUT.framework/Resources/blankCursor.tiff | Bin 260 -> 0 bytes .../GLUT.framework/Resources/bottomCursor.tiff | Bin 374 -> 0 bytes .../GLUT.framework/Resources/bottomleftCursor.tiff | Bin 386 -> 0 bytes .../Resources/bottomrightCursor.tiff | Bin 386 -> 0 bytes .../GLUT.framework/Resources/crossCursor.tiff | Bin 380 -> 0 bytes .../GLUT.framework/Resources/cycleCursor.tiff | Bin 410 -> 0 bytes .../GLUT.framework/Resources/destroyCursor.tiff | Bin 414 -> 0 bytes .../GLUT.framework/Resources/fingerCursor.tiff | Bin 674 -> 0 bytes .../GLUT.framework/Resources/helpCursor.tiff | Bin 322 -> 0 bytes .../GLUT.framework/Resources/leftCursor.tiff | Bin 384 -> 0 bytes .../GLUT.framework/Resources/leftRightCursor.tiff | Bin 400 -> 0 bytes .../GLUT.framework/Resources/rightArrowCursor.tiff | Bin 344 -> 0 bytes .../GLUT.framework/Resources/rightCursor.tiff | Bin 384 -> 0 bytes .../GLUT.framework/Resources/sprayCursor.tiff | Bin 404 -> 0 bytes .../GLUT.framework/Resources/topCursor.tiff | Bin 374 -> 0 bytes .../GLUT.framework/Resources/topleftCursor.tiff | Bin 386 -> 0 bytes .../GLUT.framework/Resources/toprightCursor.tiff | Bin 392 -> 0 bytes .../GLUT.framework/Resources/upDownCursor.tiff | Bin 388 -> 0 bytes .../GLUT.framework/Resources/waitCursor.tiff | Bin 818 -> 0 bytes .../Frameworks/GLUT.framework/Versions/A/GLUT | Bin 603504 -> 0 bytes .../GLUT.framework/Versions/A/Headers/copy.h | 18 - .../GLUT.framework/Versions/A/Headers/extrude.h | 96 - .../GLUT.framework/Versions/A/Headers/glsmap.h | 137 - .../GLUT.framework/Versions/A/Headers/glsmapint.h | 102 - .../GLUT.framework/Versions/A/Headers/glut.h | 648 -- .../GLUT.framework/Versions/A/Headers/glutbitmap.h | 30 - .../GLUT.framework/Versions/A/Headers/glutf90.h | 90 - .../GLUT.framework/Versions/A/Headers/glutstroke.h | 42 - .../GLUT.framework/Versions/A/Headers/gutil.h | 89 - .../GLUT.framework/Versions/A/Headers/intersect.h | 391 - .../GLUT.framework/Versions/A/Headers/port.h | 298 - .../GLUT.framework/Versions/A/Headers/rot.h | 98 - .../GLUT.framework/Versions/A/Headers/segment.h | 98 - .../GLUT.framework/Versions/A/Headers/tube.h | 203 - .../GLUT.framework/Versions/A/Headers/tube_gc.h | 78 - .../GLUT.framework/Versions/A/Headers/vvector.h | 1339 --- .../Versions/A/Resources/Caution.tiff | Bin 18804 -> 0 bytes .../A/Resources/English.lproj/GLUT.nib/classes.nib | 55 - .../A/Resources/English.lproj/GLUT.nib/info.nib | 25 - .../A/Resources/English.lproj/GLUT.nib/objects.nib | Bin 3908 -> 0 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 - .../English.lproj/GLUTClipboard.nib/info.nib | 12 - .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 1652 -> 0 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 - .../English.lproj/GLUTPreferences.nib/info.nib | 16 - .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 17418 -> 0 bytes .../A/Resources/English.lproj/GLUTUI.strings | Bin 3594 -> 0 bytes .../A/Resources/English.lproj/InfoPlist.strings | Bin 268 -> 0 bytes .../GLUT.framework/Versions/A/Resources/Info.plist | 24 - .../Versions/A/Resources/blankCursor.tiff | Bin 260 -> 0 bytes .../Versions/A/Resources/bottomCursor.tiff | Bin 374 -> 0 bytes .../Versions/A/Resources/bottomleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/bottomrightCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/crossCursor.tiff | Bin 380 -> 0 bytes .../Versions/A/Resources/cycleCursor.tiff | Bin 410 -> 0 bytes .../Versions/A/Resources/destroyCursor.tiff | Bin 414 -> 0 bytes .../Versions/A/Resources/fingerCursor.tiff | Bin 674 -> 0 bytes .../Versions/A/Resources/helpCursor.tiff | Bin 322 -> 0 bytes .../Versions/A/Resources/leftCursor.tiff | Bin 384 -> 0 bytes .../Versions/A/Resources/leftRightCursor.tiff | Bin 400 -> 0 bytes .../Versions/A/Resources/rightArrowCursor.tiff | Bin 344 -> 0 bytes .../Versions/A/Resources/rightCursor.tiff | Bin 384 -> 0 bytes .../Versions/A/Resources/sprayCursor.tiff | Bin 404 -> 0 bytes .../Versions/A/Resources/topCursor.tiff | Bin 374 -> 0 bytes .../Versions/A/Resources/topleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/toprightCursor.tiff | Bin 392 -> 0 bytes .../Versions/A/Resources/upDownCursor.tiff | Bin 388 -> 0 bytes .../Versions/A/Resources/waitCursor.tiff | Bin 818 -> 0 bytes .../GLUT.framework/Versions/Current/GLUT | Bin 603504 -> 0 bytes .../GLUT.framework/Versions/Current/Headers/copy.h | 18 - .../Versions/Current/Headers/extrude.h | 96 - .../Versions/Current/Headers/glsmap.h | 137 - .../Versions/Current/Headers/glsmapint.h | 102 - .../GLUT.framework/Versions/Current/Headers/glut.h | 648 -- .../Versions/Current/Headers/glutbitmap.h | 30 - .../Versions/Current/Headers/glutf90.h | 90 - .../Versions/Current/Headers/glutstroke.h | 42 - .../Versions/Current/Headers/gutil.h | 89 - .../Versions/Current/Headers/intersect.h | 391 - .../GLUT.framework/Versions/Current/Headers/port.h | 298 - .../GLUT.framework/Versions/Current/Headers/rot.h | 98 - .../Versions/Current/Headers/segment.h | 98 - .../GLUT.framework/Versions/Current/Headers/tube.h | 203 - .../Versions/Current/Headers/tube_gc.h | 78 - .../Versions/Current/Headers/vvector.h | 1339 --- .../Versions/Current/Resources/Caution.tiff | Bin 18804 -> 0 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 - .../Resources/English.lproj/GLUT.nib/info.nib | 25 - .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 3908 -> 0 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 - .../English.lproj/GLUTClipboard.nib/info.nib | 12 - .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 1652 -> 0 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 - .../English.lproj/GLUTPreferences.nib/info.nib | 16 - .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 17418 -> 0 bytes .../Current/Resources/English.lproj/GLUTUI.strings | Bin 3594 -> 0 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 268 -> 0 bytes .../Versions/Current/Resources/Info.plist | 24 - .../Versions/Current/Resources/blankCursor.tiff | Bin 260 -> 0 bytes .../Versions/Current/Resources/bottomCursor.tiff | Bin 374 -> 0 bytes .../Current/Resources/bottomleftCursor.tiff | Bin 386 -> 0 bytes .../Current/Resources/bottomrightCursor.tiff | Bin 386 -> 0 bytes .../Versions/Current/Resources/crossCursor.tiff | Bin 380 -> 0 bytes .../Versions/Current/Resources/cycleCursor.tiff | Bin 410 -> 0 bytes .../Versions/Current/Resources/destroyCursor.tiff | Bin 414 -> 0 bytes .../Versions/Current/Resources/fingerCursor.tiff | Bin 674 -> 0 bytes .../Versions/Current/Resources/helpCursor.tiff | Bin 322 -> 0 bytes .../Versions/Current/Resources/leftCursor.tiff | Bin 384 -> 0 bytes .../Current/Resources/leftRightCursor.tiff | Bin 400 -> 0 bytes .../Current/Resources/rightArrowCursor.tiff | Bin 344 -> 0 bytes .../Versions/Current/Resources/rightCursor.tiff | Bin 384 -> 0 bytes .../Versions/Current/Resources/sprayCursor.tiff | Bin 404 -> 0 bytes .../Versions/Current/Resources/topCursor.tiff | Bin 374 -> 0 bytes .../Versions/Current/Resources/topleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/Current/Resources/toprightCursor.tiff | Bin 392 -> 0 bytes .../Versions/Current/Resources/upDownCursor.tiff | Bin 388 -> 0 bytes .../Versions/Current/Resources/waitCursor.tiff | Bin 818 -> 0 bytes .../Contents/Info.plist | 38 - .../Contents/MacOS/MaximExtractorExampleDebug | Bin 11027956 -> 0 bytes .../Contents/MacOS/libfmodex.dylib | Bin 1956044 -> 0 bytes .../Contents/PkgInfo | 1 - .../Contents/Resources/icon-debug.icns | Bin 762563 -> 0 bytes .../OF0.8.4MaximExtractorExample/bin/data/.gitkeep | 0 .../bin/data/Arial.ttf | Bin 773236 -> 0 bytes .../bin/data/settings.xml | 10 - .../OSX/OF0.8.4MaximExtractorExample/config.make | 142 - .../ofxMaxim/install.xml | 37 - .../ofxMaxim/libs/fft.cpp | 584 -- .../ofxMaxim/libs/fft.h | 79 - .../ofxMaxim/libs/maxiAtoms.cpp | 219 - .../ofxMaxim/libs/maxiAtoms.h | 91 - .../ofxMaxim/libs/maxiBark.cpp | 10 - .../ofxMaxim/libs/maxiBark.h | 133 - .../ofxMaxim/libs/maxiFFT.cpp | 290 - .../ofxMaxim/libs/maxiFFT.h | 128 - .../ofxMaxim/libs/maxiGrains.cpp | 6 - .../ofxMaxim/libs/maxiGrains.h | 467 - .../ofxMaxim/libs/maxiMFCC.cpp | 79 - .../ofxMaxim/libs/maxiMFCC.h | 205 - .../ofxMaxim/libs/maximilian.cpp | 1342 --- .../ofxMaxim/libs/maximilian.h | 623 -- .../ofxMaxim/libs/sineTable.h | 15 - .../ofxMaxim/libs/stb_vorbis.c | 5042 ----------- .../ofxMaxim/libs/stb_vorbis.h | 338 - .../ofxMaxim/src/ofxMaxim.h | 119 - .../openFrameworks-Info.plist | 22 - .../OSX/OF0.8.4MaximExtractorExample/src/main.cpp | 16 - .../OF0.8.4MaximExtractorExample/src/testApp.cpp | 398 - .../OSX/OF0.8.4MaximExtractorExample/src/testApp.h | 93 - .../OSX/ofMaximExample007OSX_Granular/.sln | 28 - .../OSX/ofMaximExample007OSX_Granular/.vcproj | 209 - .../OSX/ofMaximExample007OSX_Granular/.vcproj.user | 25 - .../ofMaximExample007OSX_Granular/Project.xcconfig | 9 - .../data/24620__anamorphosis__GMB_Kantilan_1.wav | Bin 441868 -> 0 bytes ...04_electrified_analog_kit_variation_16_mono.wav | Bin 1273454 -> 0 bytes .../bin/data/26393__brfindla__Calango1berimbau.wav | Bin 1548688 -> 0 bytes ..._abstract_electrofunkbreakbeats_124bpm_mono.wav | Bin 682882 -> 0 bytes .../68373__juskiddink__Cello_open_string_bowed.wav | Bin 1771694 -> 0 bytes ...15__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav | Bin 1657058 -> 0 bytes .../bin/data/beat2.wav | Bin 211140 -> 0 bytes .../emptyExample.xcodeproj/project.pbxproj | 607 -- .../project.xcworkspace/contents.xcworkspacedata | 7 - .../UserInterfaceState.xcuserstate | Bin 36268 -> 0 bytes .../xcschemes/emptyExample.xcscheme | 85 - .../xcschemes/xcschememanagement.plist | 22 - .../openFrameworks-Info.plist | 20 - .../OSX/ofMaximExample007OSX_Granular/src/main.cpp | 16 - .../ofMaximExample007OSX_Granular/src/testApp.cpp | 213 - .../ofMaximExample007OSX_Granular/src/testApp.h | 57 - .../ofxMaximExample_0.8.4_OSX_Granular/Makefile | 13 - .../Project.xcconfig | 17 - .../data/24620__anamorphosis__GMB_Kantilan_1.wav | Bin 441868 -> 0 bytes ...04_electrified_analog_kit_variation_16_mono.wav | Bin 1273454 -> 0 bytes .../bin/data/26393__brfindla__Calango1berimbau.wav | Bin 1548688 -> 0 bytes ..._abstract_electrofunkbreakbeats_124bpm_mono.wav | Bin 682882 -> 0 bytes .../68373__juskiddink__Cello_open_string_bowed.wav | Bin 1771694 -> 0 bytes ...15__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav | Bin 1657058 -> 0 bytes .../bin/data/beat2.wav | Bin 211140 -> 0 bytes .../Contents/Frameworks/GLUT.framework/GLUT | Bin 603504 -> 0 bytes .../Frameworks/GLUT.framework/Headers/copy.h | 18 - .../Frameworks/GLUT.framework/Headers/extrude.h | 96 - .../Frameworks/GLUT.framework/Headers/glsmap.h | 137 - .../Frameworks/GLUT.framework/Headers/glsmapint.h | 102 - .../Frameworks/GLUT.framework/Headers/glut.h | 648 -- .../Frameworks/GLUT.framework/Headers/glutbitmap.h | 30 - .../Frameworks/GLUT.framework/Headers/glutf90.h | 90 - .../Frameworks/GLUT.framework/Headers/glutstroke.h | 42 - .../Frameworks/GLUT.framework/Headers/gutil.h | 89 - .../Frameworks/GLUT.framework/Headers/intersect.h | 391 - .../Frameworks/GLUT.framework/Headers/port.h | 298 - .../Frameworks/GLUT.framework/Headers/rot.h | 98 - .../Frameworks/GLUT.framework/Headers/segment.h | 98 - .../Frameworks/GLUT.framework/Headers/tube.h | 203 - .../Frameworks/GLUT.framework/Headers/tube_gc.h | 78 - .../Frameworks/GLUT.framework/Headers/vvector.h | 1339 --- .../GLUT.framework/Resources/Caution.tiff | Bin 18804 -> 0 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 - .../Resources/English.lproj/GLUT.nib/info.nib | 25 - .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 3908 -> 0 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 - .../English.lproj/GLUTClipboard.nib/info.nib | 12 - .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 1652 -> 0 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 - .../English.lproj/GLUTPreferences.nib/info.nib | 16 - .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 17418 -> 0 bytes .../Resources/English.lproj/GLUTUI.strings | Bin 3594 -> 0 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 268 -> 0 bytes .../Frameworks/GLUT.framework/Resources/Info.plist | 24 - .../GLUT.framework/Resources/blankCursor.tiff | Bin 260 -> 0 bytes .../GLUT.framework/Resources/bottomCursor.tiff | Bin 374 -> 0 bytes .../GLUT.framework/Resources/bottomleftCursor.tiff | Bin 386 -> 0 bytes .../Resources/bottomrightCursor.tiff | Bin 386 -> 0 bytes .../GLUT.framework/Resources/crossCursor.tiff | Bin 380 -> 0 bytes .../GLUT.framework/Resources/cycleCursor.tiff | Bin 410 -> 0 bytes .../GLUT.framework/Resources/destroyCursor.tiff | Bin 414 -> 0 bytes .../GLUT.framework/Resources/fingerCursor.tiff | Bin 674 -> 0 bytes .../GLUT.framework/Resources/helpCursor.tiff | Bin 322 -> 0 bytes .../GLUT.framework/Resources/leftCursor.tiff | Bin 384 -> 0 bytes .../GLUT.framework/Resources/leftRightCursor.tiff | Bin 400 -> 0 bytes .../GLUT.framework/Resources/rightArrowCursor.tiff | Bin 344 -> 0 bytes .../GLUT.framework/Resources/rightCursor.tiff | Bin 384 -> 0 bytes .../GLUT.framework/Resources/sprayCursor.tiff | Bin 404 -> 0 bytes .../GLUT.framework/Resources/topCursor.tiff | Bin 374 -> 0 bytes .../GLUT.framework/Resources/topleftCursor.tiff | Bin 386 -> 0 bytes .../GLUT.framework/Resources/toprightCursor.tiff | Bin 392 -> 0 bytes .../GLUT.framework/Resources/upDownCursor.tiff | Bin 388 -> 0 bytes .../GLUT.framework/Resources/waitCursor.tiff | Bin 818 -> 0 bytes .../Frameworks/GLUT.framework/Versions/A/GLUT | Bin 603504 -> 0 bytes .../GLUT.framework/Versions/A/Headers/copy.h | 18 - .../GLUT.framework/Versions/A/Headers/extrude.h | 96 - .../GLUT.framework/Versions/A/Headers/glsmap.h | 137 - .../GLUT.framework/Versions/A/Headers/glsmapint.h | 102 - .../GLUT.framework/Versions/A/Headers/glut.h | 648 -- .../GLUT.framework/Versions/A/Headers/glutbitmap.h | 30 - .../GLUT.framework/Versions/A/Headers/glutf90.h | 90 - .../GLUT.framework/Versions/A/Headers/glutstroke.h | 42 - .../GLUT.framework/Versions/A/Headers/gutil.h | 89 - .../GLUT.framework/Versions/A/Headers/intersect.h | 391 - .../GLUT.framework/Versions/A/Headers/port.h | 298 - .../GLUT.framework/Versions/A/Headers/rot.h | 98 - .../GLUT.framework/Versions/A/Headers/segment.h | 98 - .../GLUT.framework/Versions/A/Headers/tube.h | 203 - .../GLUT.framework/Versions/A/Headers/tube_gc.h | 78 - .../GLUT.framework/Versions/A/Headers/vvector.h | 1339 --- .../Versions/A/Resources/Caution.tiff | Bin 18804 -> 0 bytes .../A/Resources/English.lproj/GLUT.nib/classes.nib | 55 - .../A/Resources/English.lproj/GLUT.nib/info.nib | 25 - .../A/Resources/English.lproj/GLUT.nib/objects.nib | Bin 3908 -> 0 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 - .../English.lproj/GLUTClipboard.nib/info.nib | 12 - .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 1652 -> 0 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 - .../English.lproj/GLUTPreferences.nib/info.nib | 16 - .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 17418 -> 0 bytes .../A/Resources/English.lproj/GLUTUI.strings | Bin 3594 -> 0 bytes .../A/Resources/English.lproj/InfoPlist.strings | Bin 268 -> 0 bytes .../GLUT.framework/Versions/A/Resources/Info.plist | 24 - .../Versions/A/Resources/blankCursor.tiff | Bin 260 -> 0 bytes .../Versions/A/Resources/bottomCursor.tiff | Bin 374 -> 0 bytes .../Versions/A/Resources/bottomleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/bottomrightCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/crossCursor.tiff | Bin 380 -> 0 bytes .../Versions/A/Resources/cycleCursor.tiff | Bin 410 -> 0 bytes .../Versions/A/Resources/destroyCursor.tiff | Bin 414 -> 0 bytes .../Versions/A/Resources/fingerCursor.tiff | Bin 674 -> 0 bytes .../Versions/A/Resources/helpCursor.tiff | Bin 322 -> 0 bytes .../Versions/A/Resources/leftCursor.tiff | Bin 384 -> 0 bytes .../Versions/A/Resources/leftRightCursor.tiff | Bin 400 -> 0 bytes .../Versions/A/Resources/rightArrowCursor.tiff | Bin 344 -> 0 bytes .../Versions/A/Resources/rightCursor.tiff | Bin 384 -> 0 bytes .../Versions/A/Resources/sprayCursor.tiff | Bin 404 -> 0 bytes .../Versions/A/Resources/topCursor.tiff | Bin 374 -> 0 bytes .../Versions/A/Resources/topleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/toprightCursor.tiff | Bin 392 -> 0 bytes .../Versions/A/Resources/upDownCursor.tiff | Bin 388 -> 0 bytes .../Versions/A/Resources/waitCursor.tiff | Bin 818 -> 0 bytes .../GLUT.framework/Versions/Current/GLUT | Bin 603504 -> 0 bytes .../GLUT.framework/Versions/Current/Headers/copy.h | 18 - .../Versions/Current/Headers/extrude.h | 96 - .../Versions/Current/Headers/glsmap.h | 137 - .../Versions/Current/Headers/glsmapint.h | 102 - .../GLUT.framework/Versions/Current/Headers/glut.h | 648 -- .../Versions/Current/Headers/glutbitmap.h | 30 - .../Versions/Current/Headers/glutf90.h | 90 - .../Versions/Current/Headers/glutstroke.h | 42 - .../Versions/Current/Headers/gutil.h | 89 - .../Versions/Current/Headers/intersect.h | 391 - .../GLUT.framework/Versions/Current/Headers/port.h | 298 - .../GLUT.framework/Versions/Current/Headers/rot.h | 98 - .../Versions/Current/Headers/segment.h | 98 - .../GLUT.framework/Versions/Current/Headers/tube.h | 203 - .../Versions/Current/Headers/tube_gc.h | 78 - .../Versions/Current/Headers/vvector.h | 1339 --- .../Versions/Current/Resources/Caution.tiff | Bin 18804 -> 0 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 - .../Resources/English.lproj/GLUT.nib/info.nib | 25 - .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 3908 -> 0 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 - .../English.lproj/GLUTClipboard.nib/info.nib | 12 - .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 1652 -> 0 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 - .../English.lproj/GLUTPreferences.nib/info.nib | 16 - .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 17418 -> 0 bytes .../Current/Resources/English.lproj/GLUTUI.strings | Bin 3594 -> 0 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 268 -> 0 bytes .../Versions/Current/Resources/Info.plist | 24 - .../Versions/Current/Resources/blankCursor.tiff | Bin 260 -> 0 bytes .../Versions/Current/Resources/bottomCursor.tiff | Bin 374 -> 0 bytes .../Current/Resources/bottomleftCursor.tiff | Bin 386 -> 0 bytes .../Current/Resources/bottomrightCursor.tiff | Bin 386 -> 0 bytes .../Versions/Current/Resources/crossCursor.tiff | Bin 380 -> 0 bytes .../Versions/Current/Resources/cycleCursor.tiff | Bin 410 -> 0 bytes .../Versions/Current/Resources/destroyCursor.tiff | Bin 414 -> 0 bytes .../Versions/Current/Resources/fingerCursor.tiff | Bin 674 -> 0 bytes .../Versions/Current/Resources/helpCursor.tiff | Bin 322 -> 0 bytes .../Versions/Current/Resources/leftCursor.tiff | Bin 384 -> 0 bytes .../Current/Resources/leftRightCursor.tiff | Bin 400 -> 0 bytes .../Current/Resources/rightArrowCursor.tiff | Bin 344 -> 0 bytes .../Versions/Current/Resources/rightCursor.tiff | Bin 384 -> 0 bytes .../Versions/Current/Resources/sprayCursor.tiff | Bin 404 -> 0 bytes .../Versions/Current/Resources/topCursor.tiff | Bin 374 -> 0 bytes .../Versions/Current/Resources/topleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/Current/Resources/toprightCursor.tiff | Bin 392 -> 0 bytes .../Versions/Current/Resources/upDownCursor.tiff | Bin 388 -> 0 bytes .../Versions/Current/Resources/waitCursor.tiff | Bin 818 -> 0 bytes .../bin/emptyExampleDebug.app/Contents/Info.plist | 38 - .../Contents/MacOS/emptyExampleDebug | Bin 8442984 -> 0 bytes .../Contents/MacOS/libfmodex.dylib | Bin 1956044 -> 0 bytes .../bin/emptyExampleDebug.app/Contents/PkgInfo | 1 - .../Contents/Resources/icon-debug.icns | Bin 762563 -> 0 bytes .../ofxMaximExample_0.8.4_OSX_Granular/config.make | 142 - .../maximGranular.xcodeproj/project.pbxproj | 820 -- .../project.xcworkspace/contents.xcworkspacedata | 7 - .../xcshareddata/maximGranular.xccheckout | 41 - .../UserInterfaceState.xcuserstate | Bin 27231 -> 0 bytes .../UserInterfaceState.xcuserstate | Bin 13364 -> 0 bytes .../xcschemes/emptyExample Debug.xcscheme | 86 - .../xcschemes/emptyExample Release.xcscheme | 86 - .../xcschemes/emptyExample.xcscheme | 88 - .../xcschemes/xcschememanagement.plist | 32 - .../xcschemes/emptyExample.xcscheme | 86 - .../xcschemes/xcschememanagement.plist | 32 - .../ofxMaxim/install.xml | 35 - .../ofxMaxim/libs/fft.cpp | 584 -- .../ofxMaxim/libs/fft.h | 79 - .../ofxMaxim/libs/maxiAtoms.cpp | 219 - .../ofxMaxim/libs/maxiAtoms.h | 91 - .../ofxMaxim/libs/maxiFFT.cpp | 290 - .../ofxMaxim/libs/maxiFFT.h | 128 - .../ofxMaxim/libs/maxiGrains.cpp | 6 - .../ofxMaxim/libs/maxiGrains.h | 467 - .../ofxMaxim/libs/maxiMFCC.cpp | 79 - .../ofxMaxim/libs/maxiMFCC.h | 205 - .../ofxMaxim/libs/maximilian.cpp | 1342 --- .../ofxMaxim/libs/maximilian.h | 623 -- .../ofxMaxim/libs/sineTable.h | 15 - .../ofxMaxim/libs/stb_vorbis.c | 5042 ----------- .../ofxMaxim/libs/stb_vorbis.h | 338 - .../ofxMaxim/src/ofxMaxim.h | 118 - .../ofxOsc/libs/oscpack/src/ip/IpEndpointName.cpp | 81 - .../ofxOsc/libs/oscpack/src/ip/IpEndpointName.h | 76 - .../ofxOsc/libs/oscpack/src/ip/NetworkingUtils.h | 49 - .../ofxOsc/libs/oscpack/src/ip/PacketListener.h | 43 - .../ofxOsc/libs/oscpack/src/ip/TimerListener.h | 40 - .../ofxOsc/libs/oscpack/src/ip/UdpSocket.h | 158 - .../libs/oscpack/src/ip/posix/NetworkingUtils.cpp | 59 - .../ofxOsc/libs/oscpack/src/ip/posix/UdpSocket.cpp | 575 -- .../oscpack/src/ip/win32/NetworkingUtilsWin.cpp | 90 - .../libs/oscpack/src/ip/win32/UdpSocketWin.cpp | 544 -- .../src/osc/MessageMappingOscPacketListener.h | 73 - .../ofxOsc/libs/oscpack/src/osc/OscException.h | 54 - .../libs/oscpack/src/osc/OscHostEndianness.h | 77 - .../oscpack/src/osc/OscOutboundPacketStream.cpp | 639 -- .../libs/oscpack/src/osc/OscOutboundPacketStream.h | 142 - .../libs/oscpack/src/osc/OscPacketListener.h | 72 - .../oscpack/src/osc/OscPrintReceivedElements.cpp | 244 - .../oscpack/src/osc/OscPrintReceivedElements.h | 49 - .../libs/oscpack/src/osc/OscReceivedElements.cpp | 722 -- .../libs/oscpack/src/osc/OscReceivedElements.h | 488 -- .../ofxOsc/libs/oscpack/src/osc/OscTypes.cpp | 40 - .../ofxOsc/libs/oscpack/src/osc/OscTypes.h | 184 - .../ofxOsc/src/ofxOsc.h | 34 - .../ofxOsc/src/ofxOscArg.h | 168 - .../ofxOsc/src/ofxOscBundle.cpp | 64 - .../ofxOsc/src/ofxOscBundle.h | 62 - .../ofxOsc/src/ofxOscMessage.cpp | 257 - .../ofxOsc/src/ofxOscMessage.h | 95 - .../ofxOsc/src/ofxOscParameterSync.cpp | 39 - .../ofxOsc/src/ofxOscParameterSync.h | 30 - .../ofxOsc/src/ofxOscReceiver.cpp | 284 - .../ofxOsc/src/ofxOscReceiver.h | 106 - .../ofxOsc/src/ofxOscSender.cpp | 192 - .../ofxOsc/src/ofxOscSender.h | 77 - .../openFrameworks-Info.plist | 22 - .../src/main.cpp | 8 - .../src/ofApp.cpp | 266 - .../ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.h | 77 - .../ofMaxim_example/bin/data/beat2.wav | Bin 211140 -> 0 bytes .../emptyExample.xcodeproj/project.pbxproj | 881 -- .../ofMaxim_example/openFrameworks-Info.plist | 20 - .../ofMaxim_example/src/main.cpp | 16 - .../ofMaxim_example/src/testApp.cpp | 131 - .../ofMaxim_example/src/testApp.h | 41 - .../ofMaximilian_fft.xcodeproj/project.pbxproj | 885 -- .../project.xcworkspace/contents.xcworkspacedata | 7 - .../UserInterfaceState.xcuserstate | Bin 9446 -> 0 bytes .../xcschemes/maximilian_fft.xcscheme | 84 - .../xcschemes/xcschememanagement.plist | 22 - .../ofMaxim_example_fft/openFrameworks-Info.plist | 20 - .../ofMaxim_example_fft/src/main.cpp | 16 - .../ofMaxim_example_fft/src/testApp.cpp | 192 - .../ofMaxim_example_fft/src/testApp.h | 62 - .../data/24620__anamorphosis__GMB_Kantilan_1.wav | Bin 441868 -> 0 bytes ...04_electrified_analog_kit_variation_16_mono.wav | Bin 1273454 -> 0 bytes .../bin/data/26393__brfindla__Calango1berimbau.wav | Bin 1548688 -> 0 bytes ..._abstract_electrofunkbreakbeats_124bpm_mono.wav | Bin 682882 -> 0 bytes .../68373__juskiddink__Cello_open_string_bowed.wav | Bin 1771694 -> 0 bytes ...15__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav | Bin 1657058 -> 0 bytes .../project.pbxproj | 901 -- .../openFrameworks-Info.plist | 20 - .../ofMaxim_example_granular/src/main.cpp | 16 - .../ofMaxim_example_granular/src/testApp.cpp | 208 - .../ofMaxim_example_granular/src/testApp.h | 57 - .../ofxMaxim_example_mfccs/bin/data/additive2.wav | Bin 4752432 -> 0 bytes .../ofxMaxim_example_mfccs/bin/data/additive22.wav | Bin 4752428 -> 0 bytes .../ofxMaxim_example_mfccs/bin/data/beat2.wav | Bin 211140 -> 0 bytes .../bin/data/filterSweep.wav | Bin 3021872 -> 0 bytes .../bin/data/filterSweep2.wav | Bin 2475470 -> 0 bytes .../ofxMaxim_example_mfccs/bin/data/pinknoise.wav | Bin 943152 -> 0 bytes .../ofxMaxim_example_mfccs/bin/data/pinknoise2.wav | Bin 943148 -> 0 bytes .../ofxMaxim_example_mfccs/bin/data/scmfccs.rtf | 114 - .../bin/data/sinetest_stepping.wav | Bin 2355248 -> 0 bytes .../bin/data/sinetest_stepping2.wav | Bin 2355244 -> 0 bytes .../ofxMaxim_example_mfccs/bin/data/whitenoise.wav | Bin 716848 -> 0 bytes .../bin/data/whitenoise2.wav | Bin 716844 -> 0 bytes .../mfccs.xcodeproj/project.pbxproj | 891 -- .../openFrameworks-Info.plist | 20 - .../ofxMaxim_example_mfccs/src/main.cpp | 16 - .../ofxMaxim_example_mfccs/src/testApp.cpp | 227 - .../ofxMaxim_example_mfccs/src/testApp.h | 68 - .../maxiAtomSynthesis/.gitignore | 2 - .../maxiAtomSynthesis/Project.xcconfig | 9 - .../atomSynthesis.xcodeproj/project.pbxproj | 844 -- .../maxiAtomSynthesis/bin/.gitignore | 1 - .../maxiAtomSynthesis/bin/data/.gitignore | 2 - .../maxiAtomSynthesis/bin/data/book100.xml | 916 -- .../maxiAtomSynthesis/bin/data/book1000.xml | 9016 -------------------- .../maxiAtomSynthesis/bin/data/sine440.wav | Bin 88244 -> 0 bytes .../maxiAtomSynthesis/openFrameworks-Info.plist | 20 - .../maxiAtomSynthesis/src/main.cpp | 16 - .../maxiAtomSynthesis/src/mp.cpp | 108 - .../maxiAtomSynthesis/src/mp.h | 37 - .../maxiAtomSynthesis/src/pyOSCDebug.cpp | 45 - .../maxiAtomSynthesis/src/pyOSCDebug.h | 24 - .../ofMaximExample007OSX/.sln | 28 - .../ofMaximExample007OSX/.vcproj | 209 - .../ofMaximExample007OSX/.vcproj.user | 25 - .../ofMaximExample007OSX/Project.xcconfig | 9 - .../ofMaximExample007OSX/bin/data/beat2.wav | Bin 211140 -> 0 bytes .../Contents/Frameworks/GLUT.framework/GLUT | 1 - .../Contents/Frameworks/GLUT.framework/Headers | 1 - .../Contents/Frameworks/GLUT.framework/Resources | 1 - .../Frameworks/GLUT.framework/Versions/A/GLUT | Bin 600728 -> 0 bytes .../GLUT.framework/Versions/A/Headers/copy.h | 18 - .../GLUT.framework/Versions/A/Headers/extrude.h | 96 - .../GLUT.framework/Versions/A/Headers/glsmap.h | 137 - .../GLUT.framework/Versions/A/Headers/glsmapint.h | 102 - .../GLUT.framework/Versions/A/Headers/glut.h | 648 -- .../GLUT.framework/Versions/A/Headers/glutbitmap.h | 30 - .../GLUT.framework/Versions/A/Headers/glutf90.h | 90 - .../GLUT.framework/Versions/A/Headers/glutstroke.h | 42 - .../GLUT.framework/Versions/A/Headers/gutil.h | 89 - .../GLUT.framework/Versions/A/Headers/intersect.h | 391 - .../GLUT.framework/Versions/A/Headers/port.h | 298 - .../GLUT.framework/Versions/A/Headers/rot.h | 98 - .../GLUT.framework/Versions/A/Headers/segment.h | 98 - .../GLUT.framework/Versions/A/Headers/tube.h | 203 - .../GLUT.framework/Versions/A/Headers/tube_gc.h | 78 - .../GLUT.framework/Versions/A/Headers/vvector.h | 1339 --- .../Versions/A/Resources/Caution.tiff | Bin 18804 -> 0 bytes .../A/Resources/English.lproj/GLUT.nib/classes.nib | 55 - .../A/Resources/English.lproj/GLUT.nib/info.nib | 25 - .../A/Resources/English.lproj/GLUT.nib/objects.nib | Bin 3908 -> 0 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 - .../English.lproj/GLUTClipboard.nib/info.nib | 12 - .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 1652 -> 0 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 - .../English.lproj/GLUTPreferences.nib/info.nib | 16 - .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 17418 -> 0 bytes .../A/Resources/English.lproj/GLUTUI.strings | Bin 3594 -> 0 bytes .../A/Resources/English.lproj/InfoPlist.strings | Bin 268 -> 0 bytes .../GLUT.framework/Versions/A/Resources/Info.plist | 24 - .../Versions/A/Resources/blankCursor.tiff | Bin 260 -> 0 bytes .../Versions/A/Resources/bottomCursor.tiff | Bin 374 -> 0 bytes .../Versions/A/Resources/bottomleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/bottomrightCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/crossCursor.tiff | Bin 380 -> 0 bytes .../Versions/A/Resources/cycleCursor.tiff | Bin 410 -> 0 bytes .../Versions/A/Resources/destroyCursor.tiff | Bin 414 -> 0 bytes .../Versions/A/Resources/fingerCursor.tiff | Bin 674 -> 0 bytes .../Versions/A/Resources/helpCursor.tiff | Bin 322 -> 0 bytes .../Versions/A/Resources/leftCursor.tiff | Bin 384 -> 0 bytes .../Versions/A/Resources/leftRightCursor.tiff | Bin 400 -> 0 bytes .../Versions/A/Resources/rightArrowCursor.tiff | Bin 344 -> 0 bytes .../Versions/A/Resources/rightCursor.tiff | Bin 384 -> 0 bytes .../Versions/A/Resources/sprayCursor.tiff | Bin 404 -> 0 bytes .../Versions/A/Resources/topCursor.tiff | Bin 374 -> 0 bytes .../Versions/A/Resources/topleftCursor.tiff | Bin 386 -> 0 bytes .../Versions/A/Resources/toprightCursor.tiff | Bin 392 -> 0 bytes .../Versions/A/Resources/upDownCursor.tiff | Bin 388 -> 0 bytes .../Versions/A/Resources/waitCursor.tiff | Bin 818 -> 0 bytes .../Frameworks/GLUT.framework/Versions/Current | 1 - .../bin/emptyExampleDebug.app/Contents/Info.plist | 36 - .../Contents/MacOS/emptyExampleDebug | Bin 3752896 -> 0 bytes .../Contents/MacOS/libfmodex.dylib | Bin 1956044 -> 0 bytes .../bin/emptyExampleDebug.app/Contents/PkgInfo | 1 - .../emptyExample.xcodeproj/project.pbxproj | 602 -- .../ofMaximExample007OSX/ofxMaxim/install.xml | 35 - .../ofMaximExample007OSX/ofxMaxim/libs/fft.cpp | 608 -- .../ofMaximExample007OSX/ofxMaxim/libs/fft.h | 80 - .../ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.cpp | 290 - .../ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.h | 128 - .../ofxMaxim/libs/maxiGrains.cpp | 6 - .../ofxMaxim/libs/maxiGrains.h | 443 - .../ofxMaxim/libs/maxiMFCC.cpp | 78 - .../ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.h | 204 - .../ofxMaxim/libs/maximilian.cpp | 1028 --- .../ofxMaxim/libs/maximilian.h | 366 - .../ofMaximExample007OSX/ofxMaxim/src/ofxMaxim.h | 55 - .../ofMaximExample007OSX/openFrameworks-Info.plist | 20 - .../ofMaximExample007OSX/src/main.cpp | 16 - .../ofMaximExample007OSX/src/testApp.cpp | 160 - .../ofMaximExample007OSX/src/testApp.h | 40 - .../ofxMaximiPhone0062Example/bin/data/Default.png | Bin 5518 -> 0 bytes .../ofxMaximiPhone0062Example/bin/data/Icon.png | Bin 1040 -> 0 bytes .../ofxMaximiPhone0062Example/bin/data/beat2.wav | Bin 211140 -> 0 bytes .../bin/data/remoteatmos.wav | Bin 2798636 -> 0 bytes .../iPhoneEmptyExample.xcodeproj/project.pbxproj | 909 -- .../ofxMaximiPhone0062Example/iPhone_Prefix.pch | 8 - .../ofxMaximiPhone0062Example/ofxMaxim/install.xml | 35 - .../ofxMaxim/libs/fft.cpp | 608 -- .../ofxMaximiPhone0062Example/ofxMaxim/libs/fft.h | 80 - .../ofxMaxim/libs/maxiFFT.cpp | 290 - .../ofxMaxim/libs/maxiFFT.h | 128 - .../ofxMaxim/libs/maxiGrains.cpp | 6 - .../ofxMaxim/libs/maxiGrains.h | 443 - .../ofxMaxim/libs/maxiMFCC.cpp | 78 - .../ofxMaxim/libs/maxiMFCC.h | 204 - .../ofxMaxim/libs/maximilian.cpp | 1028 --- .../ofxMaxim/libs/maximilian.h | 366 - .../ofxMaxim/src/ofxMaxim.h | 55 - .../ofxMaximiPhone0062Example/ofxiphone-Info.plist | 36 - .../iOS/ofxMaximiPhone0062Example/src/main.mm | 8 - .../iOS/ofxMaximiPhone0062Example/src/testApp.h | 42 - .../iOS/ofxMaximiPhone0062Example/src/testApp.mm | 116 - .../iOS/ofxMaximiPhone007Example/Project.xcconfig | 14 - .../ofxMaximiPhone007Example/bin/data/Default.png | Bin 5518 -> 0 bytes .../iOS/ofxMaximiPhone007Example/bin/data/Icon.png | Bin 1040 -> 0 bytes .../ofxMaximiPhone007Example/bin/data/beat2.wav | Bin 211140 -> 0 bytes .../bin/data/remoteatmos.wav | Bin 2798636 -> 0 bytes .../emptyExample.xcodeproj/project.pbxproj | 485 -- .../project.xcworkspace/contents.xcworkspacedata | 7 - .../UserInterfaceState.xcuserstate | Bin 44431 -> 0 bytes .../xcschemes/emptyExample.xcscheme | 84 - .../xcschemes/xcschememanagement.plist | 22 - .../iOS/ofxMaximiPhone007Example/iPhone_Prefix.pch | 8 - .../ofxMaximiPhone007Example/ofxiphone-Info.plist | 36 - .../iOS/ofxMaximiPhone007Example/src/main.mm | 8 - .../iOS/ofxMaximiPhone007Example/src/testApp.h | 43 - .../iOS/ofxMaximiPhone007Example/src/testApp.mm | 121 - .../ofMaximExampleVS2010/audioOutputExample.sdf | Bin 5787648 -> 0 bytes .../ofMaximExampleVS2010/audioOutputExample.sln | 25 - .../ofMaximExampleVS2010/audioOutputExample.suo | Bin 15360 -> 0 bytes .../audioOutputExample.vcxproj | 136 - .../audioOutputExample.vcxproj.user | 11 - .../windows/ofMaximExampleVS2010/bin/Assimp32.dll | Bin 4627456 -> 0 bytes .../windows/ofMaximExampleVS2010/bin/FreeImage.dll | Bin 2404352 -> 0 bytes .../ofMaximExampleVS2010/bin/FreeType-6.dll | Bin 364726 -> 0 bytes .../windows/ofMaximExampleVS2010/bin/Zlib.dll | Bin 69632 -> 0 bytes .../bin/audioOutputExample_debug.exe | Bin 3599360 -> 0 bytes .../bin/audioOutputExample_debug.exp | Bin 45965 -> 0 bytes .../bin/audioOutputExample_debug.ilk | 0 .../bin/audioOutputExample_debug.lib | Bin 82114 -> 0 bytes .../bin/audioOutputExample_debug_debugInfo.pdb | Bin 19205120 -> 0 bytes .../windows/ofMaximExampleVS2010/bin/fmodex.dll | Bin 289280 -> 0 bytes .../windows/ofMaximExampleVS2010/bin/fmodexL.dll | Bin 330752 -> 0 bytes .../windows/ofMaximExampleVS2010/bin/glut32.dll | Bin 237568 -> 0 bytes .../windows/ofMaximExampleVS2010/src/main.cpp | 16 - .../ofMaximExampleVS2010/src/maximilian.cpp | 1026 --- .../windows/ofMaximExampleVS2010/src/maximilian.h | 357 - .../windows/ofMaximExampleVS2010/src/testApp.cpp | 156 - .../windows/ofMaximExampleVS2010/src/testApp.h | 42 - .../bin/FreeImage.dll | Bin 2404352 -> 0 bytes .../bin/FreeType-6.dll | Bin 364726 -> 0 bytes .../ofMaximWindowsVS2008_emptyExample/bin/Zlib.dll | Bin 69632 -> 0 bytes .../bin/data/Low.wav | Bin 508660 -> 0 bytes .../bin/data/beat2.wav | Bin 211140 -> 0 bytes .../bin/emptyExample_debug.ilk | Bin 4640468 -> 0 bytes .../bin/fmodex.dll | Bin 289280 -> 0 bytes .../bin/fmodexL.dll | Bin 330752 -> 0 bytes .../bin/glut32.dll | Bin 237568 -> 0 bytes .../emptyExample.ncb | Bin 13945856 -> 0 bytes .../emptyExample.sln | 28 - .../emptyExample.suo | Bin 27648 -> 0 bytes .../emptyExample.vcproj | 217 - ...ample.vcproj.GOLDSMIT-282193.Administrator.user | 65 - .../emptyExample.vcproj.user | 25 - .../ofMaximWindowsVS2008_emptyExample/src/main.cpp | 16 - .../src/maximilian.cpp | 709 -- .../src/maximilian.h | 321 - .../src/testApp.cpp | 162 - .../src/testApp.h | 47 - .../ofxMaximExampleVS2010-OF0072/emptyExample.sdf | Bin 66736128 -> 0 bytes .../ofxMaximExampleVS2010-OF0072/emptyExample.sln | 25 - .../ofxMaximExampleVS2010-OF0072/emptyExample.suo | Bin 22528 -> 0 bytes .../emptyExample.vcxproj | 130 - .../emptyExample.vcxproj.filters | 66 - .../emptyExample.vcxproj.user | 11 - .../ofxMaximExampleVS2010-OF0072/src/main.cpp | 10 - .../src/ofxMaxim/install.xml | 35 - .../src/ofxMaxim/libs/fft.cpp | 608 -- .../src/ofxMaxim/libs/fft.h | 79 - .../src/ofxMaxim/libs/maxiAtoms.cpp | 219 - .../src/ofxMaxim/libs/maxiAtoms.h | 91 - .../src/ofxMaxim/libs/maxiFFT.cpp | 290 - .../src/ofxMaxim/libs/maxiFFT.h | 128 - .../src/ofxMaxim/libs/maxiGrains.cpp | 6 - .../src/ofxMaxim/libs/maxiGrains.h | 467 - .../src/ofxMaxim/libs/maxiMFCC.cpp | 79 - .../src/ofxMaxim/libs/maxiMFCC.h | 204 - .../src/ofxMaxim/libs/maximilian.cpp | 1100 --- .../src/ofxMaxim/libs/maximilian.h | 528 -- .../src/ofxMaxim/libs/sineTable.h | 15 - .../src/ofxMaxim/libs/stb_vorbis.c | 5042 ----------- .../src/ofxMaxim/libs/stb_vorbis.h | 338 - .../src/ofxMaxim/src/ofxMaxim.h | 118 - .../ofxMaximExampleVS2010-OF0072/src/testApp.cpp | 78 - .../ofxMaximExampleVS2010-OF0072/src/testApp.h | 29 - ofxMaxim/ofxMaxim/install.xml | 37 - ofxMaxim/ofxMaxim/libs/fft.cpp | 584 -- ofxMaxim/ofxMaxim/libs/fft.h | 79 - ofxMaxim/ofxMaxim/libs/maxiAtoms.cpp | 219 - ofxMaxim/ofxMaxim/libs/maxiAtoms.h | 91 - ofxMaxim/ofxMaxim/libs/maxiBark.cpp | 10 - ofxMaxim/ofxMaxim/libs/maxiBark.h | 133 - ofxMaxim/ofxMaxim/libs/maxiFFT.cpp | 290 - ofxMaxim/ofxMaxim/libs/maxiFFT.h | 128 - ofxMaxim/ofxMaxim/libs/maxiGrains.cpp | 6 - ofxMaxim/ofxMaxim/libs/maxiGrains.h | 467 - ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp | 79 - ofxMaxim/ofxMaxim/libs/maxiMFCC.h | 205 - ofxMaxim/ofxMaxim/libs/maximilian.cpp | 1342 --- ofxMaxim/ofxMaxim/libs/maximilian.h | 623 -- ofxMaxim/ofxMaxim/libs/sineTable.h | 15 - ofxMaxim/ofxMaxim/libs/stb_vorbis.c | 5042 ----------- ofxMaxim/ofxMaxim/libs/stb_vorbis.h | 338 - ofxMaxim/ofxMaxim/src/ofxMaxim.h | 119 - 704 files changed, 238 insertions(+), 106904 deletions(-) delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/Makefile delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rebecca.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rollingsound.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Debug.xcscheme delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Release.xcscheme delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rebecca.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rollingsound.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/Project.xcconfig delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/addons.make delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Caution.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Caution.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Caution.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Info.plist delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/MaximExtractorExampleDebug delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/libfmodex.dylib delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/PkgInfo delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Resources/icon-debug.icns delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/.gitkeep delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/Arial.ttf delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/settings.xml delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/config.make delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/install.xml delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.cpp delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.cpp delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.cpp delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.cpp delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.cpp delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.cpp delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.cpp delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/sineTable.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.c delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.h delete mode 100755 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/src/ofxMaxim.h delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.cpp delete mode 100644 ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.h delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.sln delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj.user delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/Project.xcconfig delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/beat2.wav delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mickgrierson.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.cpp delete mode 100644 ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Makefile delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Project.xcconfig delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/beat2.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Caution.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Caution.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Caution.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Info.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/PkgInfo delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/config.make delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.pbxproj delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcshareddata/maximGranular.xccheckout delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/install.xml delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/sineTable.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.c delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/src/ofxMaxim.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/NetworkingUtils.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/PacketListener.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/TimerListener.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/UdpSocket.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/NetworkingUtils.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/UdpSocket.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/NetworkingUtilsWin.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/UdpSocketWin.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/MessageMappingOscPacketListener.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscException.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscHostEndianness.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPacketListener.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOsc.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscArg.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscSender.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscSender.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/openFrameworks-Info.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/main.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/bin/data/beat2.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/emptyExample.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/maximilian_fft.xcscheme delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/26393__brfindla__Calango1berimbau.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/ofMaximilian_granular.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive2.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive22.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/beat2.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep2.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise2.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/scmfccs.rtf delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping2.wav delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise2.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/mfccs.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/.gitignore delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/Project.xcconfig delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/atomSynthesis.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/.gitignore delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/.gitignore delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book100.xml delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book1000.xml delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/sine440.wav delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.sln delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj.user delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/Project.xcconfig delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/data/beat2.wav delete mode 120000 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT delete mode 120000 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers delete mode 120000 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Caution.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff delete mode 120000 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Info.plist delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/PkgInfo delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/emptyExample.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/install.xml delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.cpp delete mode 100755 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/src/ofxMaxim.h delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/openFrameworks-Info.plist delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/main.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.cpp delete mode 100644 ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.h delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Default.png delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Icon.png delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/beat2.wav delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/remoteatmos.wav delete mode 100755 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhoneEmptyExample.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhone_Prefix.pch delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/install.xml delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.cpp delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.h delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.cpp delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.h delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.cpp delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.h delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.cpp delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.h delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.cpp delete mode 100755 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.h delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/src/ofxMaxim.h delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxiphone-Info.plist delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/main.mm delete mode 100755 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.h delete mode 100755 ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.mm delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/Project.xcconfig delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Default.png delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Icon.png delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/beat2.wav delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/remoteatmos.wav delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.pbxproj delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/iPhone_Prefix.pch delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/ofxiphone-Info.plist delete mode 100644 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/main.mm delete mode 100755 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.h delete mode 100755 ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.mm delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sdf delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sln delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.suo delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj.user delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Assimp32.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeImage.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeType-6.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Zlib.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exe delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exp delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.ilk delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.lib delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug_debugInfo.pdb delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodex.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodexL.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/glut32.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/src/main.cpp delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.cpp delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.h delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.cpp delete mode 100755 ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.h delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeImage.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeType-6.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/Zlib.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/Low.wav delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/beat2.wav delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/emptyExample_debug.ilk delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodex.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodexL.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/glut32.dll delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.ncb delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.sln delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.suo delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.GOLDSMIT-282193.Administrator.user delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.user delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/main.cpp delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.cpp delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.h delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.cpp delete mode 100755 ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sdf delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sln delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.suo delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.filters delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.user delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/main.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/install.xml delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/sineTable.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.c delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/src/ofxMaxim.h delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.cpp delete mode 100644 ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.h delete mode 100644 ofxMaxim/ofxMaxim/install.xml delete mode 100644 ofxMaxim/ofxMaxim/libs/fft.cpp delete mode 100644 ofxMaxim/ofxMaxim/libs/fft.h delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiAtoms.cpp delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiAtoms.h delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiBark.cpp delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiBark.h delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiFFT.cpp delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiFFT.h delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiGrains.cpp delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiGrains.h delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp delete mode 100644 ofxMaxim/ofxMaxim/libs/maxiMFCC.h delete mode 100644 ofxMaxim/ofxMaxim/libs/maximilian.cpp delete mode 100755 ofxMaxim/ofxMaxim/libs/maximilian.h delete mode 100644 ofxMaxim/ofxMaxim/libs/sineTable.h delete mode 100644 ofxMaxim/ofxMaxim/libs/stb_vorbis.c delete mode 100644 ofxMaxim/ofxMaxim/libs/stb_vorbis.h delete mode 100644 ofxMaxim/ofxMaxim/src/ofxMaxim.h (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 119fddf..07795df 100755 --- a/main.cpp +++ b/main.cpp @@ -1,32 +1,113 @@ #include "maximilian.h" +#include "libs/maxim.h" + +//This shows how to use maximilian to build a polyphonic synth. + +//These are the synthesiser bits +maxiOsc VCO1[6],VCO2[6],LFO1[6],LFO2[6]; +maxiFilter VCF[6]; +maxiEnv ADSR[6]; + +//This is a bunch of control signals so that we can hear something + +maxiOsc timer;//this is the metronome +int currentCount,lastCount,voice=0;//these values are used to check if we have a new beat this sample + +//and these are some variables we can use to pass stuff around + +double VCO1out[6],VCO2out[6],LFO1out[6],LFO2out[6],VCFout[6],ADSRout[6],mix,pitch[6]; + +maxiFFTOctaveAnalyzer octo; +int nAverages; +float *ifftOutput; +int ifftSize; + +maxiIFFT ifft; +maxiFFT mfft; +int fftSize; +int bins, dataSize; -maxiSample beats; //We give our sample a name. It's called beats this time. We could have loads of them, but they have to have different names. -maxiDyn compressor; //this is a compressor -double out; void setup() {//some inits - beats.load("/Users/michaelgrierson/Documents/workspace/Maximilian/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/beat2.wav");//load in your samples. Provide the full path to a wav file. - printf("Summary:\n%s", beats.getSummary());//get info on samples if you like. + fftSize = 1024; + mfft.setup(fftSize, 1024, 256); + ifft.setup(fftSize, 1024, 256); - compressor.setAttack(300); - compressor.setRelease(300); - compressor.setThreshold(0.25); - compressor.setRatio(5); + + nAverages = 12; + octo.setup(44100, fftSize/2, nAverages); - //you can set these any time you like. + for (int i=0;i<6;i++) { + ADSR[i].setAttack(0); + ADSR[i].setDecay(200); + ADSR[i].setSustain(0.2); + ADSR[i].setRelease(2000); + + } } -void play(double *output) {//this is where the magic happens. Very slow magic. +void play(double *output) { + + mix=0;//we're adding up the samples each update and it makes sense to clear them each time first. + + //so this first bit is just a basic metronome so we can hear what we're doing. + + currentCount=(int)timer.phasor(8);//this sets up a metronome that ticks 8 times a second + if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound + + if (voice==6) { + voice=0; + } + + ADSR[voice].trigger=1;//trigger the envelope from the start + pitch[voice]=voice+1; + voice++; + + lastCount=0; + cout << mfft.spectralFlatness() << ", " << mfft.spectralCentroid() << endl; + + for (int i=0; i - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index ce7a4f4..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rebecca.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rebecca.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 6f45273..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rebecca.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rollingsound.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rollingsound.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index ae97817..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/project.xcworkspace/xcuserdata/rollingsound.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Debug.xcscheme b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Debug.xcscheme deleted file mode 100644 index 37167b1..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Debug.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Release.xcscheme b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Release.xcscheme deleted file mode 100644 index 0366a2b..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcshareddata/xcschemes/MaximExtractorExample Release.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index bc214d5..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - SchemeUserState - - MaximExtractorExample Debug.xcscheme_^#shared#^_ - - orderHint - 0 - - MaximExtractorExample Release.xcscheme_^#shared#^_ - - orderHint - 1 - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rebecca.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rebecca.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 13dfb6e..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rebecca.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rollingsound.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rollingsound.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 13dfb6e..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/MaximExtractorExample.xcodeproj/xcuserdata/rollingsound.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/Project.xcconfig b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/Project.xcconfig deleted file mode 100644 index c90f7b1..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/Project.xcconfig +++ /dev/null @@ -1,17 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - -//ICONS - NEW IN 0072 -ICON_NAME_DEBUG = icon-debug.icns -ICON_NAME_RELEASE = icon.icns -ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ - -//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: -//ICON_FILE_PATH = bin/data/ - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/addons.make b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/addons.make deleted file mode 100644 index fba3198..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/addons.make +++ /dev/null @@ -1,3 +0,0 @@ -ofxGui -ofxOsc -ofxMaxim diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT deleted file mode 100644 index babc6b1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h deleted file mode 100644 index a5116e2..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h +++ /dev/null @@ -1,18 +0,0 @@ - -/* - * - * Written By Linas Vepstas November 1991 - */ - - -#define COPY_THREE_WORDS(A,B) { \ - struct three_words { int a, b, c, }; \ - *(struct three_words *) (A) = *(struct three_words *) (B); \ -} - -#define COPY_FOUR_WORDS(A,B) { \ - struct four_words { int a, b, c, d, }; \ - *(struct four_words *) (A) = *(struct four_words *) (B); \ -} - -/* ============================================================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h deleted file mode 100644 index 658699e..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h +++ /dev/null @@ -1,96 +0,0 @@ - -/* - * extrude.h - * - * FUNCTION: - * prototypes for privately used subroutines for the tubing library - * - * HISTORY: - * Linas Vepstas 1991 - */ - -#include "port.h" /* for gleDouble */ - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ============================================================ */ -/* - * Provides choice of calling subroutine, vs. invoking macro. - * Basically, inlines the source, or not. - * Trades performance for executable size. - */ - -#define INLINE_INTERSECT -#ifdef INLINE_INTERSECT -#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } -#else -#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) -#endif /* INLINE_INTERSECT */ - -/* ============================================================ */ -/* The folowing defines give a kludgy way of accessing the qmesh primitive */ - -/* -#define bgntmesh _emu_qmesh_bgnqmesh -#define endtmesh _emu_qmesh_endqmesh -#define c3f _emu_qmesh_c3f -#define n3f _emu_qmesh_n3f -#define v3f _emu_qmesh_v3f -*/ - -/* ============================================================ */ - -extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3]); /* polyline */ - - -extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble zval, /* where to draw cap */ - int frontwards); /* front or back cap */ - -extern void draw_round_style_cap_callback (int iloop, - double cap[][3], - float face_color[3], - gleDouble cut_vector[3], - gleDouble bisect_vector[3], - double norms[][3], - int frontwards); - -extern void draw_angle_style_front_cap (int ncp, - gleDouble bi[3], - gleDouble point_array[][3]); - -extern void extrusion_raw_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_angle_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h deleted file mode 100644 index baf54a7..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef __glsmap_h__ -#define __glsmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) - -/* Try hard to avoid including to avoid name space pollution, - but Win32's needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK - /* XXX This is from Win32's */ -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif /* _WIN32 */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SMAP_CLEAR_SMAP_TEXTURE = 0x1, - SMAP_GENERATE_VIEW_MIPMAPS = 0x2, - SMAP_GENERATE_SMAP_MIPMAPS = 0x4, - SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ -} SphereMapFlags; - -/* Cube view enumerants. */ -enum { - SMAP_FRONT = 0, - SMAP_TOP = 1, - SMAP_BOTTOM = 2, - SMAP_LEFT = 3, - SMAP_RIGHT = 4, - SMAP_BACK = 5 -}; - -typedef struct _SphereMap SphereMap; - -extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); -extern void smapDestroySphereMap(SphereMap *smap); - -extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); - -extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); -extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); - -extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); -extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); - -extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); -extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); - -extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); -extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); -extern void smapSetUpVector(SphereMap *smap, GLfloat *up); -extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); -extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); -extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); -extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); -extern void smapGetUpVector(SphereMap *smap, GLfloat *up); -extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); -extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); - -extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); -extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); - -extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); -extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); -extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); -extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); - -extern void smapSetContextData(SphereMap *smap, void *context); -extern void smapGetContextData(SphereMap *smap, void **context); - -extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); -extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); -extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); -extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); - -extern void smapGenViewTex(SphereMap *smap, int view); -extern void smapGenViewTexs(SphereMap *smap); -extern void smapGenSphereMapFromViewTexs(SphereMap *smap); -extern void smapGenSphereMap(SphereMap *smap); -extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); - -extern int smapRvecToSt(float rvec[3], float st[2]); -extern void smapStToRvec(float *st, float *rvec); - -#ifdef __cplusplus -} - -#endif -#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h deleted file mode 100644 index 3620e7d..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef __glsmapint_h__ -#define __glsmapint_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glsmap.h" - -enum { X = 0, Y = 1, Z = 2 }; - -#define INITFACE(mesh) \ - int steps = mesh->steps; \ - int sqsteps = mesh->steps * mesh->steps - -#define FACE(side,y,x) \ - mesh->face[(side)*sqsteps + (y)*steps + (x)] - -#define FACExy(side,i,j) \ - (&FACE(side,i,j).x) - -#define FACEst(side,i,j) \ - (&FACE(side,i,j).s) - -#define INITBACK(mesh) \ - int allrings = mesh->rings + mesh->edgeExtend; \ - int ringedspokes = allrings * mesh->steps - -#define BACK(edge,ring,spoke) \ - mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] - -#define BACKxy(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).x) - -#define BACKst(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).s) - -typedef struct _STXY { - GLfloat s, t; - GLfloat x, y; -} STXY; - -typedef struct _SphereMapMesh { - - int refcnt; - - int steps; - int rings; - int edgeExtend; - - STXY *face; - STXY *back; - -} SphereMapMesh; - -struct _SphereMap { - - /* Shared sphere map mesh vertex data. */ - SphereMapMesh *mesh; - - /* Texture object ids. */ - GLuint smapTexObj; - GLuint viewTexObjs[6]; - GLuint viewTexObj; - - /* Flags */ - SphereMapFlags flags; - - /* Texture dimensions must be a power of two. */ - int viewTexDim; /* view texture dimension */ - int smapTexDim; /* sphere map texture dimension */ - - /* Viewport origins for view and sphere map rendering. */ - int viewOrigin[2]; - int smapOrigin[2]; - - /* Viewing vectors. */ - GLfloat eye[3]; - GLfloat up[3]; - GLfloat obj[3]; - - /* Projection parameters. */ - GLfloat viewNear; - GLfloat viewFar; - - /* Rendering callbacks. */ - void (*positionLights)(int view, void *context); - void (*drawView)(int view, void *context); - - /* Application specified callback data. */ - void *context; - -}; - -/* Library internal routines. */ -extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); -extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); -extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); - -#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h deleted file mode 100644 index cbc6ebe..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h +++ /dev/null @@ -1,648 +0,0 @@ -#ifndef __glut_h__ -#define __glut_h__ - -/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ - -/* This program is freely distributable without licensing fees and is - provided without guarantee or warrantee expressed or implied. This - program is -not- in the public domain. */ -//#define GLUT_OF_007_HACK - -#if defined(_WIN32) - -/* GLUT 3.7 now tries to avoid including - to avoid name space pollution, but Win32's - needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# define GLUT_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif - /* XXX This is from Win32's */ -# ifndef CALLBACK -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define GLUT_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ -#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif - -#if defined(__APPLE__) || defined(MACOSX) -#include -#include -#include -#else -#include -#include -#endif - -/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ -#if !defined(_WIN32) -#define APIENTRY -#define GLUT_APIENTRY_DEFINED -#define CALLBACK -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLUT API revision history: - - GLUT_API_VERSION is updated to reflect incompatible GLUT - API changes (interface changes, semantic changes, deletions, - or additions). - - GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 - - GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, - extension. Supports new input devices like tablet, dial and button - box, and Spaceball. Easy to query OpenGL extensions. - - GLUT_API_VERSION=3 glutMenuStatus added. - - GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, - glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic - video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, - glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, - glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). - - GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) -**/ -#ifndef GLUT_API_VERSION /* allow this to be overriden */ -#define GLUT_API_VERSION 5 -#endif - -/** - GLUT implementation revision history: - - GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT - API revisions and implementation revisions (ie, bug fixes). - - GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of - GLUT Xlib-based implementation. 11/29/94 - - GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of - GLUT Xlib-based implementation providing GLUT version 2 - interfaces. - - GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 - - GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 - - GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 - - GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 - - GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner - and video resize. 1/3/97 - - GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. - - GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. - - GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. - - GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. - - GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. - - GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa -**/ -#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_XLIB_IMPLEMENTATION 15 -#endif - -/** - MacOS X GLUT implementation revision history: - - GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X - specific GLUT API revisions and implementation revisions - (ie, bug fixes). - - GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. - - GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. - -**/ -#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_MACOSX_IMPLEMENTATION 2 -#endif - -/* Display mode bit masks. */ -#define GLUT_RGB 0 -#define GLUT_RGBA GLUT_RGB -#define GLUT_INDEX 1 -#define GLUT_SINGLE 0 -#define GLUT_DOUBLE 2 -#define GLUT_ACCUM 4 -#define GLUT_ALPHA 8 -#define GLUT_DEPTH 16 -#define GLUT_STENCIL 32 -#if (GLUT_API_VERSION >= 2) -#define GLUT_MULTISAMPLE 128 -#define GLUT_STEREO 256 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_LUMINANCE 512 -#endif -#define GLUT_NO_RECOVERY 1024 - -/* Mouse buttons. */ -#define GLUT_LEFT_BUTTON 0 -#define GLUT_MIDDLE_BUTTON 1 -#define GLUT_RIGHT_BUTTON 2 - -/* Mouse button state. */ -#define GLUT_DOWN 0 -#define GLUT_UP 1 - -#if (GLUT_API_VERSION >= 2) -/* function keys */ -#define GLUT_KEY_F1 1 -#define GLUT_KEY_F2 2 -#define GLUT_KEY_F3 3 -#define GLUT_KEY_F4 4 -#define GLUT_KEY_F5 5 -#define GLUT_KEY_F6 6 -#define GLUT_KEY_F7 7 -#define GLUT_KEY_F8 8 -#define GLUT_KEY_F9 9 -#define GLUT_KEY_F10 10 -#define GLUT_KEY_F11 11 -#define GLUT_KEY_F12 12 -/* directional keys */ -#define GLUT_KEY_LEFT 100 -#define GLUT_KEY_UP 101 -#define GLUT_KEY_RIGHT 102 -#define GLUT_KEY_DOWN 103 -#define GLUT_KEY_PAGE_UP 104 -#define GLUT_KEY_PAGE_DOWN 105 -#define GLUT_KEY_HOME 106 -#define GLUT_KEY_END 107 -#define GLUT_KEY_INSERT 108 -#endif - -/* Entry/exit state. */ -#define GLUT_LEFT 0 -#define GLUT_ENTERED 1 - -/* Menu usage state. */ -#define GLUT_MENU_NOT_IN_USE 0 -#define GLUT_MENU_IN_USE 1 - -/* Visibility state. */ -#define GLUT_NOT_VISIBLE 0 -#define GLUT_VISIBLE 1 - -/* Window status state. */ -#define GLUT_HIDDEN 0 -#define GLUT_FULLY_RETAINED 1 -#define GLUT_PARTIALLY_RETAINED 2 -#define GLUT_FULLY_COVERED 3 - -/* Color index component selection values. */ -#define GLUT_RED 0 -#define GLUT_GREEN 1 -#define GLUT_BLUE 2 - -/* Layers for use. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -#if defined(_WIN32) -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN ((void*)0) -#define GLUT_STROKE_MONO_ROMAN ((void*)1) - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 ((void*)2) -#define GLUT_BITMAP_8_BY_13 ((void*)3) -#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) -#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 ((void*)6) -#define GLUT_BITMAP_HELVETICA_12 ((void*)7) -#define GLUT_BITMAP_HELVETICA_18 ((void*)8) -#endif -#else -/* Stroke font opaque addresses (use constants instead in source code). */ -extern void *glutStrokeRoman; -extern void *glutStrokeMonoRoman; - -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN (&glutStrokeRoman) -#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) - -/* Bitmap font opaque addresses (use constants instead in source code). */ -extern void *glutBitmap9By15; -extern void *glutBitmap8By13; -extern void *glutBitmapTimesRoman10; -extern void *glutBitmapTimesRoman24; -extern void *glutBitmapHelvetica10; -extern void *glutBitmapHelvetica12; -extern void *glutBitmapHelvetica18; - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) -#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) -#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) -#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) -#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) -#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) -#endif -#endif - -/* glutGet parameters. */ -#define GLUT_WINDOW_X 100 -#define GLUT_WINDOW_Y 101 -#define GLUT_WINDOW_WIDTH 102 -#define GLUT_WINDOW_HEIGHT 103 -#define GLUT_WINDOW_BUFFER_SIZE 104 -#define GLUT_WINDOW_STENCIL_SIZE 105 -#define GLUT_WINDOW_DEPTH_SIZE 106 -#define GLUT_WINDOW_RED_SIZE 107 -#define GLUT_WINDOW_GREEN_SIZE 108 -#define GLUT_WINDOW_BLUE_SIZE 109 -#define GLUT_WINDOW_ALPHA_SIZE 110 -#define GLUT_WINDOW_ACCUM_RED_SIZE 111 -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 -#define GLUT_WINDOW_DOUBLEBUFFER 115 -#define GLUT_WINDOW_RGBA 116 -#define GLUT_WINDOW_PARENT 117 -#define GLUT_WINDOW_NUM_CHILDREN 118 -#define GLUT_WINDOW_COLORMAP_SIZE 119 -#if (GLUT_API_VERSION >= 2) -#define GLUT_WINDOW_NUM_SAMPLES 120 -#define GLUT_WINDOW_STEREO 121 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_WINDOW_CURSOR 122 -#endif -#define GLUT_SCREEN_WIDTH 200 -#define GLUT_SCREEN_HEIGHT 201 -#define GLUT_SCREEN_WIDTH_MM 202 -#define GLUT_SCREEN_HEIGHT_MM 203 -#define GLUT_MENU_NUM_ITEMS 300 -#define GLUT_DISPLAY_MODE_POSSIBLE 400 -#define GLUT_INIT_WINDOW_X 500 -#define GLUT_INIT_WINDOW_Y 501 -#define GLUT_INIT_WINDOW_WIDTH 502 -#define GLUT_INIT_WINDOW_HEIGHT 503 -#define GLUT_INIT_DISPLAY_MODE 504 -#if (GLUT_API_VERSION >= 2) -#define GLUT_ELAPSED_TIME 700 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_WINDOW_FORMAT_ID 123 -#endif - -#if (GLUT_API_VERSION >= 2) -/* glutDeviceGet parameters. */ -#define GLUT_HAS_KEYBOARD 600 -#define GLUT_HAS_MOUSE 601 -#define GLUT_HAS_SPACEBALL 602 -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 -#define GLUT_HAS_TABLET 604 -#define GLUT_NUM_MOUSE_BUTTONS 605 -#define GLUT_NUM_SPACEBALL_BUTTONS 606 -#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 -#define GLUT_NUM_DIALS 608 -#define GLUT_NUM_TABLET_BUTTONS 609 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 -#define GLUT_DEVICE_KEY_REPEAT 611 -#define GLUT_HAS_JOYSTICK 612 -#define GLUT_OWNS_JOYSTICK 613 -#define GLUT_JOYSTICK_BUTTONS 614 -#define GLUT_JOYSTICK_AXES 615 -#define GLUT_JOYSTICK_POLL_RATE 616 -#endif - -#if (GLUT_API_VERSION >= 3) -/* glutLayerGet parameters. */ -#define GLUT_OVERLAY_POSSIBLE 800 -#define GLUT_LAYER_IN_USE 801 -#define GLUT_HAS_OVERLAY 802 -#define GLUT_TRANSPARENT_INDEX 803 -#define GLUT_NORMAL_DAMAGED 804 -#define GLUT_OVERLAY_DAMAGED 805 - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* glutVideoResizeGet parameters. */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 900 -#define GLUT_VIDEO_RESIZE_IN_USE 901 -#define GLUT_VIDEO_RESIZE_X_DELTA 902 -#define GLUT_VIDEO_RESIZE_Y_DELTA 903 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 -#define GLUT_VIDEO_RESIZE_X 906 -#define GLUT_VIDEO_RESIZE_Y 907 -#define GLUT_VIDEO_RESIZE_WIDTH 908 -#define GLUT_VIDEO_RESIZE_HEIGHT 909 -#endif - -/* glutUseLayer parameters. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -/* glutGetModifiers return mask. */ -#define GLUT_ACTIVE_SHIFT 1 -#define GLUT_ACTIVE_CTRL 2 -#define GLUT_ACTIVE_ALT 4 - -/* glutSetCursor parameters. */ -/* Basic arrows. */ -#define GLUT_CURSOR_RIGHT_ARROW 0 -#define GLUT_CURSOR_LEFT_ARROW 1 -/* Symbolic cursor shapes. */ -#define GLUT_CURSOR_INFO 2 -#define GLUT_CURSOR_DESTROY 3 -#define GLUT_CURSOR_HELP 4 -#define GLUT_CURSOR_CYCLE 5 -#define GLUT_CURSOR_SPRAY 6 -#define GLUT_CURSOR_WAIT 7 -#define GLUT_CURSOR_TEXT 8 -#define GLUT_CURSOR_CROSSHAIR 9 -/* Directional cursors. */ -#define GLUT_CURSOR_UP_DOWN 10 -#define GLUT_CURSOR_LEFT_RIGHT 11 -/* Sizing cursors. */ -#define GLUT_CURSOR_TOP_SIDE 12 -#define GLUT_CURSOR_BOTTOM_SIDE 13 -#define GLUT_CURSOR_LEFT_SIDE 14 -#define GLUT_CURSOR_RIGHT_SIDE 15 -#define GLUT_CURSOR_TOP_LEFT_CORNER 16 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 -/* Inherit from parent window. */ -#define GLUT_CURSOR_INHERIT 100 -/* Blank cursor. */ -#define GLUT_CURSOR_NONE 101 -/* Fullscreen crosshair (if available). */ -#define GLUT_CURSOR_FULL_CROSSHAIR 102 -#endif - -/* GLUT initialization sub-API. */ -extern void APIENTRY glutInit(int *argcp, char **argv); -extern void APIENTRY glutInitDisplayMode(unsigned int mode); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutInitDisplayString(const char *string); -#endif -extern void APIENTRY glutInitWindowPosition(int x, int y); -extern void APIENTRY glutInitWindowSize(int width, int height); -extern void APIENTRY glutMainLoop(void); - -/* GLUT window sub-API. */ -extern int APIENTRY glutCreateWindow(const char *title); -extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); -extern void APIENTRY glutDestroyWindow(int win); -extern void APIENTRY glutPostRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowRedisplay(int win); -#endif -extern void APIENTRY glutSwapBuffers(void); -extern int APIENTRY glutGetWindow(void); -extern void APIENTRY glutSetWindow(int win); -extern void APIENTRY glutSetWindowTitle(const char *title); -extern void APIENTRY glutSetIconTitle(const char *title); -extern void APIENTRY glutPositionWindow(int x, int y); -extern void APIENTRY glutReshapeWindow(int width, int height); -extern void APIENTRY glutPopWindow(void); -extern void APIENTRY glutPushWindow(void); -extern void APIENTRY glutIconifyWindow(void); -extern void APIENTRY glutShowWindow(void); -extern void APIENTRY glutHideWindow(void); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutFullScreen(void); -extern void APIENTRY glutSetCursor(int cursor); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWarpPointer(int x, int y); -#if (GLUT_MACOSX_IMPLEMENTATION >= 1) -/* surface texturing API Mac OS X specific -* Note: -* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object -*/ -#ifdef MAC_OS_X_VERSION_10_5 -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -#else -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); -#endif -#endif -#if (GLUT_MACOSX_IMPLEMENTATION >= 2) -/* Mac OS X specific API */ -extern void APIENTRY glutWMCloseFunc(void (*func)(void)); -extern void APIENTRY glutCheckLoop(void); -#endif -#endif - -/* GLUT overlay sub-API. */ -extern void APIENTRY glutEstablishOverlay(void); -extern void APIENTRY glutRemoveOverlay(void); -extern void APIENTRY glutUseLayer(GLenum layer); -extern void APIENTRY glutPostOverlayRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowOverlayRedisplay(int win); -#endif -extern void APIENTRY glutShowOverlay(void); -extern void APIENTRY glutHideOverlay(void); -#endif - -/* GLUT menu sub-API. */ -extern int APIENTRY glutCreateMenu(void (*)(int)); -extern void APIENTRY glutDestroyMenu(int menu); -extern int APIENTRY glutGetMenu(void); -extern void APIENTRY glutSetMenu(int menu); -extern void APIENTRY glutAddMenuEntry(const char *label, int value); -extern void APIENTRY glutAddSubMenu(const char *label, int submenu); -extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); -extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); -extern void APIENTRY glutRemoveMenuItem(int item); -extern void APIENTRY glutAttachMenu(int button); -extern void APIENTRY glutDetachMenu(int button); - -/* GLUT window callback sub-API. */ -extern void APIENTRY glutDisplayFunc(void (*func)(void)); -extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); -extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); -extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutEntryFunc(void (*func)(int state)); -extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); -extern void APIENTRY glutIdleFunc(void (*func)(void)); -extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); -extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); -#if (GLUT_API_VERSION >= 2) -extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); -extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); -extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); -extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); -extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); -//#ifdef GLUT_OF_007_HACK -extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); -//#endif -#endif -#endif -#endif - -/* GLUT color index sub-API. */ -extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); -extern GLfloat APIENTRY glutGetColor(int ndx, int component); -extern void APIENTRY glutCopyColormap(int win); - -/* GLUT state retrieval sub-API. */ -extern int APIENTRY glutGet(GLenum type); -extern int APIENTRY glutDeviceGet(GLenum type); -#if (GLUT_API_VERSION >= 2) -/* GLUT extension support sub-API */ -extern int APIENTRY glutExtensionSupported(const char *name); -#endif -#if (GLUT_API_VERSION >= 3) -extern int APIENTRY glutGetModifiers(void); -extern int APIENTRY glutLayerGet(GLenum type); -#endif -#if (GLUT_API_VERSION >= 5) -extern void * APIENTRY glutGetProcAddress(const char *procName); -#endif - -/* GLUT font sub-API */ -extern void APIENTRY glutBitmapCharacter(void *font, int character); -extern int APIENTRY glutBitmapWidth(void *font, int character); -extern void APIENTRY glutStrokeCharacter(void *font, int character); -extern int APIENTRY glutStrokeWidth(void *font, int character); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); -extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); -#endif - -/* GLUT pre-built models sub-API */ -extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutWireCube(GLdouble size); -extern void APIENTRY glutSolidCube(GLdouble size); -extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutWireDodecahedron(void); -extern void APIENTRY glutSolidDodecahedron(void); -extern void APIENTRY glutWireTeapot(GLdouble size); -extern void APIENTRY glutSolidTeapot(GLdouble size); -extern void APIENTRY glutWireOctahedron(void); -extern void APIENTRY glutSolidOctahedron(void); -extern void APIENTRY glutWireTetrahedron(void); -extern void APIENTRY glutSolidTetrahedron(void); -extern void APIENTRY glutWireIcosahedron(void); -extern void APIENTRY glutSolidIcosahedron(void); - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* GLUT video resize sub-API. */ -extern int APIENTRY glutVideoResizeGet(GLenum param); -extern void APIENTRY glutSetupVideoResizing(void); -extern void APIENTRY glutStopVideoResizing(void); -extern void APIENTRY glutVideoResize(int x, int y, int width, int height); -extern void APIENTRY glutVideoPan(int x, int y, int width, int height); - -/* GLUT debugging sub-API. */ -extern void APIENTRY glutReportErrors(void); -#endif - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -/* GLUT device control sub-API. */ -/* glutSetKeyRepeat modes. */ -#define GLUT_KEY_REPEAT_OFF 0 -#define GLUT_KEY_REPEAT_ON 1 -#define GLUT_KEY_REPEAT_DEFAULT 2 - -/* Joystick button masks. */ -#define GLUT_JOYSTICK_BUTTON_A 1 -#define GLUT_JOYSTICK_BUTTON_B 2 -#define GLUT_JOYSTICK_BUTTON_C 4 -#define GLUT_JOYSTICK_BUTTON_D 8 - -extern void APIENTRY glutIgnoreKeyRepeat(int ignore); -extern void APIENTRY glutSetKeyRepeat(int repeatMode); -extern void APIENTRY glutForceJoystickFunc(void); - -/* GLUT game mode sub-API. */ -/* glutGameModeGet. */ -#define GLUT_GAME_MODE_ACTIVE 0 -#define GLUT_GAME_MODE_POSSIBLE 1 -#define GLUT_GAME_MODE_WIDTH 2 -#define GLUT_GAME_MODE_HEIGHT 3 -#define GLUT_GAME_MODE_PIXEL_DEPTH 4 -#define GLUT_GAME_MODE_REFRESH_RATE 5 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 - -extern void APIENTRY glutGameModeString(const char *string); -extern int APIENTRY glutEnterGameMode(void); -extern void APIENTRY glutLeaveGameMode(void); -extern int APIENTRY glutGameModeGet(GLenum mode); -#endif - -#ifdef __cplusplus -} - -#endif - -#ifdef GLUT_APIENTRY_DEFINED -# undef GLUT_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef GLUT_WINGDIAPI_DEFINED -# undef GLUT_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - -#endif /* __glut_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h deleted file mode 100644 index e29a016..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __glutbitmap_h__ -#define __glutbitmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glut.h" - -typedef struct { - const GLsizei width; - const GLsizei height; - const GLfloat xorig; - const GLfloat yorig; - const GLfloat advance; - const GLubyte *bitmap; -} BitmapCharRec, *BitmapCharPtr; - -typedef struct { - const char *name; - const int num_chars; - const int first; - const BitmapCharRec * const *ch; -} BitmapFontRec, *BitmapFontPtr; - -typedef void *GLUTbitmapFont; - -#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h deleted file mode 100644 index f8a170b..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef __glutf90_h__ -#define __glutf90_h__ - -/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -/* This header provides the binding interface for William Mitchell's - f90gl Fortran 90 GLUT binding. Other GLUT language bindings - can and should use this interace. */ - -/* I appreciate the guidance from William Mitchell - (mitchell@cam.nist.gov) in developing this friend interface - for use by the f90gl package. See ../../README.fortran */ - -#include - -#ifndef GLUTCALLBACK - #define GLUTCALLBACK -#endif -#ifndef APIENTRY - #define APIENTRY -#endif - -/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ -/* NOTE These values are part of a binary interface for the f90gl Fortran - 90 binding and so must NOT changes (additions are allowed). */ - -/* GLUTwindow callbacks. */ -#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ -#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ -#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ -#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ -#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ -#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ -#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ -#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ -#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ -#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ -#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ -#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ -#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ -#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ -#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ -#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ -#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ -#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ -#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ -#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ -#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ -/* Non-GLUTwindow callbacks. */ -#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ -#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ -#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ - -/* GLUT Fortran callback function types. */ -typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); -typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); -typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); -/* NOTE the pressed key is int, not unsigned char for Fortran! */ -typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); -typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); -typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); -typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); - -typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); -typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); -typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ -typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTidleFCB) (void); - -/* Functions that set and return Fortran callback functions. */ -extern void* APIENTRY __glutGetFCB(int which); -extern void APIENTRY __glutSetFCB(int which, void *func); - -#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h deleted file mode 100644 index cbc9e15..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __glutstroke_h__ -#define __glutstroke_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ -#endif - -typedef struct { - float x; - float y; -} CoordRec, *CoordPtr; - -typedef struct { - int num_coords; - const CoordRec *coord; -} StrokeRec, *StrokePtr; - -typedef struct { - int num_strokes; - const StrokeRec *stroke; - float center; - float right; -} StrokeCharRec, *StrokeCharPtr; - -typedef struct { - const char *name; - int num_chars; - const StrokeCharRec *ch; - float top; - float bottom; -} StrokeFontRec, *StrokeFontPtr; - -typedef void *GLUTstrokeFont; - -#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h deleted file mode 100644 index f7ffcf3..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h +++ /dev/null @@ -1,89 +0,0 @@ - -/* - * gutil.h - * - * FUNCTION: - * Provide utilities that allow rotation to occur - * around any axis. - * - * HISTORY: - * created by Linas Vepstas 1990 - * added single & double precision, June 1991, Linas Vepstas - */ - -#ifndef __GUTIL_H__ -#define __GUTIL_H__ - -#ifdef __GUTIL_DOUBLE -#define gutDouble double -#else -#define gutDouble float -#endif - - -#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (); -extern void rot_about_axis_f (); -extern void rot_omega_f (); -extern void urot_axis_f (); -extern void urot_about_axis_f (); -extern void urot_omega_f (); - -/* double-precision versions */ -extern void rot_axis_d (); -extern void rot_about_axis_d (); -extern void rot_omega_d (); -extern void urot_axis_d (); -extern void urot_about_axis_d (); -extern void urot_omega_d (); - -/* viewpoint functions */ -extern void uview_direction_d (); -extern void uview_direction_f (); -extern void uviewpoint_d (); -extern void uviewpoint_f (); - -#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (float omega, float axis[3]); -extern void rot_about_axis_f (float angle, float axis[3]); -extern void rot_omega_f (float axis[3]); -extern void urot_axis_f (float m[4][4], float omega, float axis[3]); -extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); -extern void urot_omega_f (float m[4][4], float axis[3]); - -/* double-precision versions */ -extern void rot_axis_d (double omega, double axis[3]); -extern void rot_about_axis_d (double angle, double axis[3]); -extern void rot_omega_d (double axis[3]); -extern void urot_axis_d (double m[4][4], double omega, double axis[3]); -extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); -extern void urot_omega_d (double m[4][4], double axis[3]); - -/* viewpoint functions */ -extern void uview_direction_d (double m[4][4], /* returned */ - double v21[3], /* input */ - double up[3]); /* input */ - -extern void uview_direction_f (float m[4][4], /* returned */ - float v21[3], /* input */ - float up[3]); /* input */ - -extern void uviewpoint_d (double m[4][4], /* returned */ - double v1[3], /* input */ - double v2[3], /* input */ - double up[3]); /* input */ - -extern void uviewpoint_f (float m[4][4], /* returned */ - float v1[3], /* input */ - float v2[3], /* input */ - float up[3]); /* input */ - -#endif /* _NO_PROTO */ - -#endif /* _GUTIL_H__ */ - -/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h deleted file mode 100644 index f5ff7a5..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * FUNCTION: - * This file contains a number of utilities useful to 3D graphics in - * general, and to the generation of tubing and extrusions in particular - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Updated to correctly handle degenerate cases, Linas, February 1993 - */ - -#include -#include "port.h" -#include "vvector.h" - -#define BACKWARDS_INTERSECT (2) - -/* ========================================================== */ -/* - * the Degenerate_Tolerance token represents the greatest amount by - * which different scales in a graphics environment can differ before - * they should be considered "degenerate". That is, when one vector is - * a million times longer than another, changces are that the second will - * be less than a pixel int, and therefore was probably meant to be - * degenerate (by the CAD package, etc.) But what should this tolerance - * be? At least 1 in onethousand (since screen sizes are 1K pixels), but - * les than 1 in 4 million (since this is the limit of single-precision - * floating point accuracy). Of course, if double precision were used, - * then the tolerance could be increased. - * - * Potentially, this naive assumption could cause problems if the CAD - * package attempts to zoom in on small details, and turns out, certain - * points should not hvae been degenerate. The problem presented here - * is that the tolerance could run out before single-precision ran - * out, and so the CAD packages would perceive this as a "bug". - * One alternative is to fiddle around & try to tighten the tolerance. - * However, the right alternative is to code the graphics pipeline in - * double-precision (and tighten the tolerance). - * - * By the way, note that Degernate Tolerance is a "dimensionless" - * quantitiy -- it has no units -- it does not measure feet, inches, - * millimeters or pixels. It is used only in the computations of ratios - * and relative lengths. - */ - -/* - * Right now, the tolerance is set to 2 parts in a million, which - * corresponds to a 19-bit distinction of mantissas. Note that - * single-precsion numbers have 24 bit mantissas. - */ - -#define DEGENERATE_TOLERANCE (0.000002) - -/* ========================================================== */ -/* - * The macro and subroutine INTERSECT are designed to compute the - * intersection of a line (defined by the points v1 and v2) and a plane - * (defined as plane which is normal to the vector n, and contains the - * point p). Both return the point sect, which is the point of - * interesection. - * - * This MACRO attemps to be fairly robust by checking for a divide by - * zero. - */ - -/* ========================================================== */ -/* - * HACK ALERT - * The intersection parameter t has the nice property that if t>1, - * then the intersection is "in front of" p1, and if t<0, then the - * intersection is "behind" p2. Unfortunately, as the intersecting plane - * and the line become parallel, t wraps through infinity -- i.e. t can - * become so large that t becomes "greater than infinity" and comes back - * as a negative number (i.e. winding number hopped by one unit). We - * have no way of detecting this situation without adding gazzillions - * of lines of code of topological algebra to detect the winding number; - * and this would be incredibly difficult, and ruin performance. - * - * Thus, we've installed a cheap hack for use by the "cut style" drawing - * routines. If t proves to be a large negative number (more negative - * than -5), then we assume that t was positive and wound through - * infinity. This makes most cuts look good, without introducing bogus - * cuts at infinity. - */ -/* ========================================================== */ - -#define INTERSECT(sect,p,n,v1,v2) \ -{ \ - gleDouble deno, numer, t, omt; \ - \ - deno = (v1[0] - v2[0]) * n[0]; \ - deno += (v1[1] - v2[1]) * n[1]; \ - deno += (v1[2] - v2[2]) * n[2]; \ - \ - if (deno == 0.0) { \ - VEC_COPY (n, v1); \ - /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ - } else { \ - \ - numer = (p[0] - v2[0]) * n[0]; \ - numer += (p[1] - v2[1]) * n[1]; \ - numer += (p[2] - v2[2]) * n[2]; \ - \ - t = numer / deno; \ - omt = 1.0 - t; \ - \ - sect[0] = t * v1[0] + omt * v2[0]; \ - sect[1] = t * v1[1] + omt * v2[1]; \ - sect[2] = t * v1[2] + omt * v2[2]; \ - } \ -} - -/* ========================================================== */ -/* - * The macro and subroutine BISECTING_PLANE compute a normal vector that - * describes the bisecting plane between three points (v1, v2 and v3). - * This bisecting plane has the following properties: - * 1) it contains the point v2 - * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it - * makes with v32 == v3 - v2 - * 3) it is perpendicular to the plane defined by v1, v2, v3. - * - * Having input v1, v2, and v3, it returns a unit vector n. - * - * In some cases, the user may specify degenerate points, and still - * expect "reasonable" or "obvious" behaviour. The "expected" - * behaviour for these degenerate cases is: - * - * 1) if v1 == v2 == v3, then return n=0 - * 2) if v1 == v2, then return v32 (normalized). - * 3) if v2 == v3, then return v21 (normalized). - * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). - * - * Mathematically, these special cases "make sense" -- we just have to - * code around potential divide-by-zero's in the code below. - */ - -/* ========================================================== */ - -#define BISECTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as bisector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ - (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ -/* - * The block of code below is ifdef'd out, and is here for reference - * purposes only. It performs the "mathematically right thing" for - * computing a bisecting plane, but is, unfortunately, subject ot noise - * in the presence of near degenerate points. Since computer graphics, - * due to sloppy coding, laziness, or correctness, is filled with - * degenerate points, we can't really use this version. The code above - * is far more appropriate for graphics. - */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define BISECTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 == 0.0) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - } \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - if (len32 == 0.0) { \ - /* return a normalized copy of v21 as bisector */ \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot == 1.0) || (vdot == -1.0)) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} -#endif - -/* ========================================================== */ -/* - * This macro computes the plane perpendicular to the the plane - * defined by three points, and whose normal vector is givven as the - * difference between the two vectors ... - * - * (See way below for the "math" model if you want to understand this. - * The comments about relative errors above apply here.) - */ - -#define CUTTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double lendiff; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as cut-vector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as cut vector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_LENGTH (lendiff, n); \ - \ - /* if the perp vector is very small, then the two \ - * vectors are darn near collinear, and the cut \ - * vector is probably poorly defined. */ \ - if (lendiff < DEGENERATE_TOLERANCE) { \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - lendiff = 1.0 / lendiff; \ - VEC_SCALE (n, lendiff, n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define CUTTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_NORMALIZE (v21); \ - VEC_NORMALIZE (v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_NORMALIZE (n); \ -} -#endif - - -/* ============================================================ */ -/* This macro is used in several places to cycle through a series of - * points to find the next non-degenerate point in a series */ - -#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ -{ \ - gleDouble slen; \ - gleDouble summa[3]; \ - \ - do { \ - /* get distance to next point */ \ - VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (len, diff); \ - VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (slen, summa); \ - slen *= DEGENERATE_TOLERANCE; \ - inext ++; \ - } while ((len <= slen) && (inext < npoints-1)); \ -} - -/* ========================================================== */ - -extern int bisecting_plane (gleDouble n[3], /* returned */ - gleDouble v1[3], /* input */ - gleDouble v2[3], /* input */ - gleDouble v3[3]); /* input */ - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h deleted file mode 100644 index 2827bbf..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * port.h - * - * FUNCTION: - * This file contains defines for porting the tubing toolkit from GL to - * OpenGL to some callback scheme. - * - * HISTORY: - * Created by Linas Vepstas -- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - */ - -#ifndef __GLE_PORT_H__ -#define __GLE_PORT_H__ - - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ====================================================== */ -/* Some compilers can't handle multiply-subscripted array's */ - -#ifdef FUNKY_C -typedef gleDouble gleVector; -#define AVAL(arr,n,i,j) arr(6*n+3*i+j) -#define VVAL(arr,n,i) arr(3*n+i) - -#else /* FUNKY_C */ -typedef double gleVector[3]; -typedef double glePoint[2]; -#define AVAL(arr,n,i,j) arr[n][i][j] -#define VVAL(arr,n,i) arr[n][i]; - -#endif /* FUNKY_C */ - -/* ====================================================== */ -/* These are used to convey info about topography to the - * texture mapping routines */ - -#define FRONT 1 -#define BACK 2 -#define FRONT_CAP 3 -#define BACK_CAP 4 -#define FILLET 5 - -/* ====================================================== */ - -#define __GLE_DOUBLE - -/* ====================================================== */ - -#ifdef __GLE_DOUBLE -#ifndef gleDouble - #define gleDouble double -#endif -#define urot_axis(a,b,c) urot_axis_d(a,b,c) -#define uview_direction(a,b,c) uview_direction_d(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_D(m) -#define LOADMATRIX(m) LOADMATRIX_D(m) -#define V3F(x,j,id) V3F_D(x,j,id) -#define N3F(x) N3F_D(x) -#define T2F(x,y) T2F_D(x,y) -#else -#define gleDouble float -#define urot_axis(a,b,c) urot_axis_f(a,b,c) -#define uview_direction(a,b,c) uview_direction_f(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_F(m) -#define LOADMATRIX(m) LOADMATRIX_F(m) -#define V3F(x,j,id) V3F_F(x,j,id) -#define N3F(x) N3F_F(x) -#define T2F(x,y) T2F_F(x,y) -#endif - -/* ====================================================== */ - -#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) -#undef GL_32 -#undef OPENGL_10 - -#define BGNTMESH(i,len) printf ("bgntmesh() \n"); -#define ENDTMESH() printf ("endtmesh() \n"); -#define BGNPOLYGON() printf ("bgnpolygon() \n"); -#define ENDPOLYGON() printf ("endpolygon() \n"); -#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); - -#define POPMATRIX() printf ("popmatrix () \n"); -#define PUSHMATRIX() printf ("pushmatrix() \n"); -#define MULTMATRIX_F(x) MULTMATRIX_D(x) -#define LOADMATRIX_F(x) LOADMATRIX_D(x) - - -#define LOADMATRIX_D(x) { \ - int i, j; \ - printf ("loadmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - printf ("multmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define __IS_LIGHTING_ON (1) - -#endif - -/* ====================================================== */ - -#ifdef GL_32 - -#include - -#define BGNTMESH(i,len) bgntmesh() -#define ENDTMESH() endtmesh() -#define BGNPOLYGON() bgnpolygon() -#define ENDPOLYGON() endpolygon() -#define V3F_F(x,j,id) v3f(x) -#define V3F_D(x,j,id) v3d(x) -#define N3F_F(x) n3f(x) -#define T2F_F(x,y) -#define T2F_D(x,y) -#define C3F(x) c3f(x) - -#define POPMATRIX() popmatrix () -#define PUSHMATRIX() pushmatrix() -#define MULTMATRIX_F(x) multmatrix (x) -#define LOADMATRIX_F(x) loadmatrix (x) - -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = (float) x[0]; \ - nnn[1] = (float) x[1]; \ - nnn[2] = (float) x[2]; \ - n3f (nnn); \ -} - -#define LOADMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - loadmatrix(mmm); \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - multmatrix(mmm); \ -} - -/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ -#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) - -#endif /* GL_32 */ - -/* ====================================================== */ -#ifdef OPENGL_10 - -#if defined(_WIN32) -#include -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#endif -#include -#include - -/* -#define N3F_F(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -*/ - -#define C3F(x) glColor3fv(x) -#define T2F_F(x,y) glTexCoord2f(x,y) -#define T2F_D(x,y) glTexCoord2d(x,y) - -#define POPMATRIX() glPopMatrix() -#define PUSHMATRIX() glPushMatrix() - -#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) -#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) - -#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) -#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) - -#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) - -/* ====================================================== */ -#ifdef AUTO_TEXTURE - -#define BGNTMESH(i,len) { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ - glBegin (GL_TRIANGLE_STRIP); \ -} - -#define BGNPOLYGON() { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ - glBegin (GL_POLYGON); \ -} - -#define N3F_F(x) { \ - if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ - glNormal3fv(x); \ -} - -#define N3F_D(x) { \ - if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ - glNormal3dv(x); \ -} - -#define V3F_F(x,j,id) { \ - if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ - glVertex3fv(x); \ -} - -#define V3F_D(x,j,id) { \ - if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ - glVertex3dv(x); \ -} - -#define ENDTMESH() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -#define ENDPOLYGON() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -/* ====================================================== */ -#else /* AUTO_TEXTURE */ - -#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); -#define BGNPOLYGON() glBegin (GL_POLYGON); - -#define N3F_F(x) glNormal3fv(x) -#define N3F_D(x) glNormal3dv(x) -#define V3F_F(x,j,id) glVertex3fv(x); -#define V3F_D(x,j,id) glVertex3dv(x); - -#define ENDTMESH() glEnd () -#define ENDPOLYGON() glEnd() - -#endif /* AUTO_TEXTURE */ - -#endif /* OPENGL_10 */ - -/* ====================================================== */ - - -#endif /* __GLE_PORT_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h deleted file mode 100644 index 91083e9..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * rot.h - * - * FUNCTION: - * rotation matrix utilities - * - * HISTORY: - * Linas Vepstas Aug 1990 - */ - -/* ========================================================== */ -/* - * The MACROS below generate and return more traditional rotation - * matrices -- matrices for rotations about principal axes. - */ -/* ========================================================== */ - -#define ROTX_CS(m,cosine,sine) \ -{ \ - /* rotation about the x-axis */ \ - \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = (cosine); \ - m[1][2] = (sine); \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = -(sine); \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTY_CS(m,cosine,sine) \ -{ \ - /* rotation about the y-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = 0.0; \ - m[0][2] = -(sine); \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = (sine); \ - m[2][1] = 0.0; \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTZ_CS(m,cosine,sine) \ -{ \ - /* rotation about the z-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = (sine); \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = -(sine); \ - m[1][1] = (cosine); \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h deleted file mode 100644 index 8d1cf04..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * MODULE: segment.h - * - * FUNCTION: - * Contains function prototypes for segment drawing subroutines. - * These are used only internally, and are not to be exported to - * the user. - * - * HISTORY: - * Create by Linas Vepstas - * Added tube.h include to define gleDouble, tad February 2002 - */ - -/* ============================================================ */ - -#include "tube.h" - -extern void draw_segment_plain (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - int inext, double len); - -extern void draw_segment_color (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_edge_n (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_edge_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -/* ============================================================ */ - -extern void draw_binorm_segment_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_binorm_segment_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ - gleDouble bi[3], /* biscetor */ - gleDouble point_array[][3]); /* polyline */ - -/* -------------------------- end of file -------------------------------- */ - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h deleted file mode 100644 index c303e19..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * tube.h - * - * FUNCTION: - * Tubing and Extrusion header file. - * This file provides protypes and defines for the extrusion - * and tubing primitives. - * - * HISTORY: - * Linas Vepstas 1990, 1991 - */ - -#ifndef __TUBE_H__ -#define __TUBE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLE API revision history: - - GLE_API_VERSION is updated to reflect GLE API changes (interface - changes, semantic changes, deletions, or additions). - - GLE_API_VERSION=228 GLUT 3.7 release of GLE. -**/ -#ifndef GLE_API_VERSION /* allow this to be overriden */ -#define GLE_API_VERSION 228 -#endif - -/* some types */ -#ifndef gleDouble - #define gleDouble double -#endif -typedef gleDouble gleAffine[2][3]; - -/* ====================================================== */ - -/* defines for tubing join styles */ -#define TUBE_JN_RAW 0x1 -#define TUBE_JN_ANGLE 0x2 -#define TUBE_JN_CUT 0x3 -#define TUBE_JN_ROUND 0x4 -#define TUBE_JN_MASK 0xf /* mask bits */ -#define TUBE_JN_CAP 0x10 - -/* determine how normal vectors are to be handled */ -#define TUBE_NORM_FACET 0x100 -#define TUBE_NORM_EDGE 0x200 -#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ -#define TUBE_NORM_MASK 0xf00 /* mask bits */ - -/* closed or open countours */ -#define TUBE_CONTOUR_CLOSED 0x1000 - -#define GLE_TEXTURE_ENABLE 0x10000 -#define GLE_TEXTURE_STYLE_MASK 0xff -#define GLE_TEXTURE_VERTEX_FLAT 1 -#define GLE_TEXTURE_NORMAL_FLAT 2 -#define GLE_TEXTURE_VERTEX_CYL 3 -#define GLE_TEXTURE_NORMAL_CYL 4 -#define GLE_TEXTURE_VERTEX_SPH 5 -#define GLE_TEXTURE_NORMAL_SPH 6 -#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 -#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 -#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 -#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 -#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 -#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 - -#ifdef GL_32 -/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ -#define TUBE_LIGHTING_ON 0x80000000 - -#define gleExtrusion extrusion -#define gleSetJoinStyle setjoinstyle -#define gleGetJoinStyle getjoinstyle -#define glePolyCone polycone -#define glePolyCylinder polycylinder -#define gleSuperExtrusion super_extrusion -#define gleTwistExtrusion twist_extrusion -#define gleSpiral spiral -#define gleLathe lathe -#define gleHelicoid helicoid -#define gleToroid toroid -#define gleScrew screw - -#endif /* GL_32 */ - -extern int gleGetJoinStyle (void); -extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ -extern int gleGetNumSlices(void); -extern void gleSetNumSlices(int slices); - -/* draw polyclinder, specified as a polyline */ -extern void glePolyCylinder (int npoints, /* num points in polyline */ - gleDouble point_array[][3], /* polyline vertces */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius); /* radius of polycylinder */ - -/* draw polycone, specified as a polyline with radii */ -extern void glePolyCone (int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius_array[]); /* cone radii at polyline verts */ - -/* extrude arbitrary 2D contour along arbitrary 3D path */ -extern void gleExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3]); /* colors at polyline verts */ - -/* extrude 2D contour, specifying local rotations (twists) */ -extern void gleTwistExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble twist_array[]); /* countour twists (in degrees) */ - -/* extrude 2D contour, specifying local affine tranformations */ -extern void gleSuperExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* spiral moves contour along helical path by parallel transport */ -extern void gleSpiral (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* lathe moves contour along helical path by helically shearing 3D space */ -extern void gleLathe (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to spiral, except contour is a circle */ -extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to lathe, except contour is a circle */ -extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* draws a screw shape */ -extern void gleScrew (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startz, /* start of segment */ - gleDouble endz, /* end of segment */ - gleDouble twist); /* number of rotations */ - -extern void gleTextureMode (int mode); - -#ifdef __cplusplus -} - -#endif -#endif /* __TUBE_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h deleted file mode 100644 index ccd2853..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* - * tube_gc.h - * - * FUNCTION: - * This file allows for easy changes to changes in the way the extrusion - * library handles state info (i.e. context). - * - * HISTORY: - * Linas Vepstas --- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - * Added tube.h include to define gleDouble, tad February 2002 - */ - -#include "tube.h" -#include "port.h" /* for gleVector */ - -typedef float gleColor[3]; -typedef double gleTwoVec[2]; - -typedef struct { - - /* public methods */ - void (*bgn_gen_texture) (int, double); - void (*n3f_gen_texture) (float *); - void (*n3d_gen_texture) (double *); - void (*v3f_gen_texture) (float *, int, int); - void (*v3d_gen_texture) (double *, int, int); - void (*end_gen_texture) (void); - - /* protected members -- "general knowledge" stuff */ - int join_style; - - /* arguments passed into extrusion code */ - int ncp; /* number of contour points */ - gleTwoVec *contour; /* 2D contour */ - gleTwoVec *cont_normal; /* 2D contour normals */ - gleDouble *up; /* up vector */ - int npoints; /* number of points in polyline */ - gleVector *point_array; /* path */ - gleColor *color_array; /* path colors */ - gleAffine *xform_array; /* contour xforms */ - - /* private members, used by texturing code */ - int num_vert; - int segment_number; - double segment_length; - double accum_seg_len; - double prev_x; - double prev_y; - - void (*save_bgn_gen_texture) (int, double); - void (*save_n3f_gen_texture) (float *); - void (*save_n3d_gen_texture) (double *); - void (*save_v3f_gen_texture) (float *, int, int); - void (*save_v3d_gen_texture) (double *, int, int); - void (*save_end_gen_texture) (void); - -} gleGC; - -extern gleGC *_gle_gc; -extern gleGC * gleCreateGC (void); - -#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } -#define extrusion_join_style (_gle_gc->join_style) - -#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) -#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) -#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) -#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) - -#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) -#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) -#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) -#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) -#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) - -/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h deleted file mode 100644 index b58dcd6..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h +++ /dev/null @@ -1,1339 +0,0 @@ - -/* - * vvector.h - * - * FUNCTION: - * This file contains a number of utilities useful for handling - * 3D vectors - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Added 2D code, March 1993 - * Added Outer products, C++ proofed, Linas Vepstas October 1993 - */ - -#ifndef __GUTIL_VECTOR_H__ -#define __GUTIL_VECTOR_H__ - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - - -#include -#include "port.h" - -/* ========================================================== */ -/* Zero out a 2D vector */ - -#define VEC_ZERO_2(a) \ -{ \ - (a)[0] = (a)[1] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 3D vector */ - -#define VEC_ZERO(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 4D vector */ - -#define VEC_ZERO_4(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ -} - -/* ========================================================== */ -/* Vector copy */ - -#define VEC_COPY_2(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ -} - -/* ========================================================== */ -/* Copy 3D vector */ - -#define VEC_COPY(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ -} - -/* ========================================================== */ -/* Copy 4D vector */ - -#define VEC_COPY_4(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ - (b)[3] = (a)[3]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ - (v21)[3] = (v2)[3] - (v1)[3]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ - (v21)[3] = (v2)[3] + (v1)[3]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_2(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_4(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ - (c)[3] = (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_2(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_4(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ - (c)[3] += (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_2(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_4(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ -} - -/* ========================================================== */ -/* vector impact parameter (squared) */ - -#define VEC_IMPACT_SQ(bsq,direction,position) \ -{ \ - gleDouble vlen, llel; \ - VEC_DOT_PRODUCT (vlen, position, position); \ - VEC_DOT_PRODUCT (llel, direction, position); \ - bsq = vlen - llel*llel; \ -} - -/* ========================================================== */ -/* vector impact parameter */ - -#define VEC_IMPACT(bsq,direction,position) \ -{ \ - VEC_IMPACT_SQ(bsq,direction,position); \ - bsq = sqrt (bsq); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_2(vlen,a) \ -{ \ - vlen = a[0]*a[0] + a[1]*a[1]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_4(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen += (a)[3] * (a)[3]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* distance between two points */ - -#define VEC_DISTANCE(vlen,va,vb) \ -{ \ - gleDouble tmp[4]; \ - VEC_DIFF (tmp, vb, va); \ - VEC_LENGTH (vlen, tmp); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_CONJUGATE_LENGTH(vlen,a) \ -{ \ - vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_NORMALIZE(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = 1.0 / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_RENORMALIZE(a,newlen) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = newlen / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* 3D Vector cross product yeilding vector */ - -#define VEC_CROSS_PRODUCT(c,a,b) \ -{ \ - c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ - c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ - c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ -} - -/* ========================================================== */ -/* Vector perp -- assumes that n is of unit length - * accepts vector v, subtracts out any component parallel to n */ - -#define VEC_PERP(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (v)[0] - (vdot) * (n)[0]; \ - vp[1] = (v)[1] - (vdot) * (n)[1]; \ - vp[2] = (v)[2] - (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector parallel -- assumes that n is of unit length - * accepts vector v, subtracts out any component perpendicular to n */ - -#define VEC_PARALLEL(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (vdot) * (n)[0]; \ - vp[1] = (vdot) * (n)[1]; \ - vp[2] = (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector reflection -- assumes n is of unit length */ -/* Takes vector v, reflects it against reflector n, and returns vr */ - -#define VEC_REFLECT(vr,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ - vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ - vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector blending */ -/* Takes two vectors a, b, blends them together */ - -#define VEC_BLEND(vr,sa,a,sb,b) \ -{ \ - \ - vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ - vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ - vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_2(a) \ -{ \ - double vlen; \ - VEC_LENGTH_2 (vlen, a); \ - printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen, (a)); \ - printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_4(a) \ -{ \ - double vlen; \ - VEC_LENGTH_4 (vlen, (a)); \ - printf (" a is %f %f %f %f length of a is %f \n", \ - (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_4X4(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_3X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<3; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_2X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<2; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_3X3(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_4X4(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - b[0][3] = a[0][3]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - b[1][3] = a[1][3]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[2][3]; \ - \ - b[3][0] = a[3][0]; \ - b[3][1] = a[3][1]; \ - b[3][2] = a[3][2]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - b[0][3] = a[3][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - b[1][3] = a[3][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[3][2]; \ - \ - b[3][0] = a[0][3]; \ - b[3][1] = a[1][3]; \ - b[3][2] = a[2][3]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - b[0][3] = (s) * a[0][3]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - b[1][3] = (s) * a[1][3]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ - b[2][3] = (s) * a[2][3]; \ - \ - b[3][0] = s * a[3][0]; \ - b[3][1] = s * a[3][1]; \ - b[3][2] = s * a[3][2]; \ - b[3][3] = s * a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - b[0][3] += (s) * a[0][3]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - b[1][3] += (s) * a[1][3]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ - b[2][3] += (s) * a[2][3]; \ - \ - b[3][0] += (s) * a[3][0]; \ - b[3][1] += (s) * a[3][1]; \ - b[3][2] += (s) * a[3][2]; \ - b[3][3] += (s) * a[3][3]; \ -} - -/* +========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_2X2(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_3X3(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_4X4(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ - c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ - c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ - c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ - \ - c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ - c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ - c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ - c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_3X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_4X4(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ - p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ -} - -/* ========================================================== */ -/* vector transpose times matrix */ -/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ - -#define VEC_DOT_MAT_3X3(p,v,m) \ -{ \ - p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ - p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ - p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ -} - -/* ========================================================== */ -/* affine matrix times vector */ -/* The matrix is assumed to be an affine matrix, with last two - * entries representing a translation */ - -#define MAT_DOT_VEC_2X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ -} - -/* ========================================================== */ -/* inverse transpose of matrix times vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * - * DANGER !!! Do Not use this on normal vectors!!! - * It will leave normals the wrong length !!! - * See macro below for use on normals. - */ - -#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - gleDouble det; \ - \ - det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - /* if matrix not singular, and not orthonormal, then renormalize */ \ - if ((det!=1.0) && (det != 0.0)) { \ - det = 1.0 / det; \ - p[0] *= det; \ - p[1] *= det; \ - } \ -} - -/* ========================================================== */ -/* transform normal vector by inverse transpose of matrix - * and then renormalize the vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * Vector p is then normalized. - */ - - -#define NORM_XFORM_2X2(p,m,v) \ -{ \ - double mlen; \ - \ - /* do nothing if off-diagonals are zero and diagonals are \ - * equal */ \ - if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - mlen = p[0]*p[0] + p[1]*p[1]; \ - mlen = 1.0 / sqrt (mlen); \ - p[0] *= mlen; \ - p[1] *= mlen; \ - } else { \ - VEC_COPY_2 (p, v); \ - } \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - m[0][3] = v[0] * t[3]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - m[1][3] = v[1] * t[3]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ - m[2][3] = v[2] * t[3]; \ - \ - m[3][0] = v[3] * t[0]; \ - m[3][1] = v[3] * t[1]; \ - m[3][2] = v[3] * t[2]; \ - m[3][3] = v[3] * t[3]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - m[0][3] += v[0] * t[3]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - m[1][3] += v[1] * t[3]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ - m[2][3] += v[2] * t[3]; \ - \ - m[3][0] += v[3] * t[0]; \ - m[3][1] += v[3] * t[1]; \ - m[3][2] += v[3] * t[2]; \ - m[3][3] += v[3] * t[3]; \ -} - -/* +========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_2X2(d,m) \ -{ \ - d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ -} - -/* ========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_3X3(d,m) \ -{ \ - d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ - d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ - d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ -} - -/* ========================================================== */ -/* i,j,th cofactor of a 4x4 matrix - * - */ - -#define COFACTOR_4X4_IJ(fac,m,i,j) \ -{ \ - int ii[4], jj[4], k; \ - \ - /* compute which row, columnt to skip */ \ - for (k=0; k - - - - IBDocumentLocation - 4 104 410 240 0 0 1152 848 - IBEditorPositions - - 29 - 19 615 246 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBGroupedObjects - - IBLastGroupID - 1 - IBOpenObjects - - 29 - - IBSystem Version - 6I32 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib deleted file mode 100644 index 8a7140e..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib deleted file mode 100644 index 7e85eb1..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib +++ /dev/null @@ -1,13 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {toggleWindow = id; }; - CLASS = GLUTClipboardController; - LANGUAGE = ObjC; - OUTLETS = {_infoText = id; _scrollView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib deleted file mode 100644 index 867735d..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib +++ /dev/null @@ -1,12 +0,0 @@ - - - - - IBDocumentLocation - 63 221 356 240 0 0 1600 1178 - IBFramework Version - 263.2 - IBSystem Version - 5S41 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib deleted file mode 100644 index 29125d4..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib deleted file mode 100644 index c675963..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib +++ /dev/null @@ -1,73 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = {save = id; saveAs = id; }; - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - cancel = id; - joyAssign = id; - joyDevice = id; - joyElement = id; - joyInvert = id; - launchDebugMode = id; - launchGamemodeCaptureSingle = id; - launchIconic = id; - launchUseCurrWD = id; - launchUseExtDesktop = id; - launchUseMacOSCoords = id; - mouseEanbleEmulation = id; - mouseMiddleMenu = id; - mouseRightMenu = id; - ok = id; - spaceAssign = id; - spaceDevice = id; - spaceElement = id; - spaceInvert = id; - }; - CLASS = GLUTPreferencesController; - LANGUAGE = ObjC; - OUTLETS = { - joyAssign = NSButton; - joyAssignNote = NSTextField; - joyAssignWarningIcon = NSImageView; - joyDeviceMenu = NSPopUpButton; - joyElement = NSTextField; - joyInputMenu = NSPopUpButton; - joyInverted = NSButton; - launchDebugMode = NSButton; - launchFadeTime = NSTextField; - launchGamemodeCaptureSingle = NSButton; - launchIconic = NSButton; - launchInitHeight = NSTextField; - launchInitWidth = NSTextField; - launchInitX = NSTextField; - launchInitY = NSTextField; - launchMenuIdle = NSTextField; - launchSyncToVBL = NSButton; - launchUseCurrWD = NSButton; - launchUseExtendedDesktop = NSButton; - launchUseMacOSXCoords = NSButton; - mouseAssignWarningIcon = NSImageView; - mouseAssignWarningText = NSTextField; - mouseDetected = NSTextField; - mouseEmulation = NSButton; - mouseMiddleConfigMenu = NSPopUpButton; - mouseRightConfigMenu = NSPopUpButton; - prefsTabView = NSTabView; - spaceAssign = NSButton; - spaceAssignNote = NSTextField; - spaceAssignWarningIcon = NSImageView; - spaceDeviceMenu = NSPopUpButton; - spaceElement = NSTextField; - spaceInputMenu = NSPopUpButton; - spaceInverted = NSButton; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib deleted file mode 100644 index 216c8dc..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBDocumentLocation - 16 329 410 240 0 0 1920 1178 - IBFramework Version - 439.0 - IBOpenObjects - - 205 - - IBSystem Version - 8G32 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib deleted file mode 100644 index 7598f2c..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings deleted file mode 100644 index 6db3c5c..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index 6f78b89..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist deleted file mode 100644 index e8fc9d6..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - GLUT - CFBundleGetInfoString - 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved - CFBundleIdentifier - com.apple.glut - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.4.0 - CFBundleSignature - ???? - CFBundleVersion - GLUT-3.4.0 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff deleted file mode 100644 index a2b0cf1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff deleted file mode 100644 index c3f4795..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff deleted file mode 100644 index 274529f..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff deleted file mode 100644 index dec4252..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff deleted file mode 100644 index 8536c0e..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff deleted file mode 100644 index 34b52f6..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff deleted file mode 100644 index 9e3a1cb..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff deleted file mode 100644 index 0087c66..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff deleted file mode 100644 index fc4a88a..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff deleted file mode 100644 index 852b69b..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff deleted file mode 100644 index 37fe393..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff deleted file mode 100644 index d852616..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff deleted file mode 100644 index 9781f22..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff deleted file mode 100644 index 9bec966..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff deleted file mode 100644 index e4df0de..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff deleted file mode 100644 index 43cf97f..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff deleted file mode 100644 index 429b01b..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff deleted file mode 100644 index 1605063..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff deleted file mode 100644 index 81ba1aa..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT deleted file mode 100644 index babc6b1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h deleted file mode 100644 index a5116e2..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h +++ /dev/null @@ -1,18 +0,0 @@ - -/* - * - * Written By Linas Vepstas November 1991 - */ - - -#define COPY_THREE_WORDS(A,B) { \ - struct three_words { int a, b, c, }; \ - *(struct three_words *) (A) = *(struct three_words *) (B); \ -} - -#define COPY_FOUR_WORDS(A,B) { \ - struct four_words { int a, b, c, d, }; \ - *(struct four_words *) (A) = *(struct four_words *) (B); \ -} - -/* ============================================================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h deleted file mode 100644 index 658699e..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h +++ /dev/null @@ -1,96 +0,0 @@ - -/* - * extrude.h - * - * FUNCTION: - * prototypes for privately used subroutines for the tubing library - * - * HISTORY: - * Linas Vepstas 1991 - */ - -#include "port.h" /* for gleDouble */ - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ============================================================ */ -/* - * Provides choice of calling subroutine, vs. invoking macro. - * Basically, inlines the source, or not. - * Trades performance for executable size. - */ - -#define INLINE_INTERSECT -#ifdef INLINE_INTERSECT -#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } -#else -#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) -#endif /* INLINE_INTERSECT */ - -/* ============================================================ */ -/* The folowing defines give a kludgy way of accessing the qmesh primitive */ - -/* -#define bgntmesh _emu_qmesh_bgnqmesh -#define endtmesh _emu_qmesh_endqmesh -#define c3f _emu_qmesh_c3f -#define n3f _emu_qmesh_n3f -#define v3f _emu_qmesh_v3f -*/ - -/* ============================================================ */ - -extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3]); /* polyline */ - - -extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble zval, /* where to draw cap */ - int frontwards); /* front or back cap */ - -extern void draw_round_style_cap_callback (int iloop, - double cap[][3], - float face_color[3], - gleDouble cut_vector[3], - gleDouble bisect_vector[3], - double norms[][3], - int frontwards); - -extern void draw_angle_style_front_cap (int ncp, - gleDouble bi[3], - gleDouble point_array[][3]); - -extern void extrusion_raw_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_angle_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h deleted file mode 100644 index baf54a7..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef __glsmap_h__ -#define __glsmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) - -/* Try hard to avoid including to avoid name space pollution, - but Win32's needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK - /* XXX This is from Win32's */ -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif /* _WIN32 */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SMAP_CLEAR_SMAP_TEXTURE = 0x1, - SMAP_GENERATE_VIEW_MIPMAPS = 0x2, - SMAP_GENERATE_SMAP_MIPMAPS = 0x4, - SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ -} SphereMapFlags; - -/* Cube view enumerants. */ -enum { - SMAP_FRONT = 0, - SMAP_TOP = 1, - SMAP_BOTTOM = 2, - SMAP_LEFT = 3, - SMAP_RIGHT = 4, - SMAP_BACK = 5 -}; - -typedef struct _SphereMap SphereMap; - -extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); -extern void smapDestroySphereMap(SphereMap *smap); - -extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); - -extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); -extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); - -extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); -extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); - -extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); -extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); - -extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); -extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); -extern void smapSetUpVector(SphereMap *smap, GLfloat *up); -extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); -extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); -extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); -extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); -extern void smapGetUpVector(SphereMap *smap, GLfloat *up); -extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); -extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); - -extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); -extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); - -extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); -extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); -extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); -extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); - -extern void smapSetContextData(SphereMap *smap, void *context); -extern void smapGetContextData(SphereMap *smap, void **context); - -extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); -extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); -extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); -extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); - -extern void smapGenViewTex(SphereMap *smap, int view); -extern void smapGenViewTexs(SphereMap *smap); -extern void smapGenSphereMapFromViewTexs(SphereMap *smap); -extern void smapGenSphereMap(SphereMap *smap); -extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); - -extern int smapRvecToSt(float rvec[3], float st[2]); -extern void smapStToRvec(float *st, float *rvec); - -#ifdef __cplusplus -} - -#endif -#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h deleted file mode 100644 index 3620e7d..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef __glsmapint_h__ -#define __glsmapint_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glsmap.h" - -enum { X = 0, Y = 1, Z = 2 }; - -#define INITFACE(mesh) \ - int steps = mesh->steps; \ - int sqsteps = mesh->steps * mesh->steps - -#define FACE(side,y,x) \ - mesh->face[(side)*sqsteps + (y)*steps + (x)] - -#define FACExy(side,i,j) \ - (&FACE(side,i,j).x) - -#define FACEst(side,i,j) \ - (&FACE(side,i,j).s) - -#define INITBACK(mesh) \ - int allrings = mesh->rings + mesh->edgeExtend; \ - int ringedspokes = allrings * mesh->steps - -#define BACK(edge,ring,spoke) \ - mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] - -#define BACKxy(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).x) - -#define BACKst(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).s) - -typedef struct _STXY { - GLfloat s, t; - GLfloat x, y; -} STXY; - -typedef struct _SphereMapMesh { - - int refcnt; - - int steps; - int rings; - int edgeExtend; - - STXY *face; - STXY *back; - -} SphereMapMesh; - -struct _SphereMap { - - /* Shared sphere map mesh vertex data. */ - SphereMapMesh *mesh; - - /* Texture object ids. */ - GLuint smapTexObj; - GLuint viewTexObjs[6]; - GLuint viewTexObj; - - /* Flags */ - SphereMapFlags flags; - - /* Texture dimensions must be a power of two. */ - int viewTexDim; /* view texture dimension */ - int smapTexDim; /* sphere map texture dimension */ - - /* Viewport origins for view and sphere map rendering. */ - int viewOrigin[2]; - int smapOrigin[2]; - - /* Viewing vectors. */ - GLfloat eye[3]; - GLfloat up[3]; - GLfloat obj[3]; - - /* Projection parameters. */ - GLfloat viewNear; - GLfloat viewFar; - - /* Rendering callbacks. */ - void (*positionLights)(int view, void *context); - void (*drawView)(int view, void *context); - - /* Application specified callback data. */ - void *context; - -}; - -/* Library internal routines. */ -extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); -extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); -extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); - -#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h deleted file mode 100644 index cbc6ebe..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h +++ /dev/null @@ -1,648 +0,0 @@ -#ifndef __glut_h__ -#define __glut_h__ - -/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ - -/* This program is freely distributable without licensing fees and is - provided without guarantee or warrantee expressed or implied. This - program is -not- in the public domain. */ -//#define GLUT_OF_007_HACK - -#if defined(_WIN32) - -/* GLUT 3.7 now tries to avoid including - to avoid name space pollution, but Win32's - needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# define GLUT_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif - /* XXX This is from Win32's */ -# ifndef CALLBACK -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define GLUT_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ -#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif - -#if defined(__APPLE__) || defined(MACOSX) -#include -#include -#include -#else -#include -#include -#endif - -/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ -#if !defined(_WIN32) -#define APIENTRY -#define GLUT_APIENTRY_DEFINED -#define CALLBACK -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLUT API revision history: - - GLUT_API_VERSION is updated to reflect incompatible GLUT - API changes (interface changes, semantic changes, deletions, - or additions). - - GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 - - GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, - extension. Supports new input devices like tablet, dial and button - box, and Spaceball. Easy to query OpenGL extensions. - - GLUT_API_VERSION=3 glutMenuStatus added. - - GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, - glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic - video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, - glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, - glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). - - GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) -**/ -#ifndef GLUT_API_VERSION /* allow this to be overriden */ -#define GLUT_API_VERSION 5 -#endif - -/** - GLUT implementation revision history: - - GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT - API revisions and implementation revisions (ie, bug fixes). - - GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of - GLUT Xlib-based implementation. 11/29/94 - - GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of - GLUT Xlib-based implementation providing GLUT version 2 - interfaces. - - GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 - - GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 - - GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 - - GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 - - GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner - and video resize. 1/3/97 - - GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. - - GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. - - GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. - - GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. - - GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. - - GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa -**/ -#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_XLIB_IMPLEMENTATION 15 -#endif - -/** - MacOS X GLUT implementation revision history: - - GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X - specific GLUT API revisions and implementation revisions - (ie, bug fixes). - - GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. - - GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. - -**/ -#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_MACOSX_IMPLEMENTATION 2 -#endif - -/* Display mode bit masks. */ -#define GLUT_RGB 0 -#define GLUT_RGBA GLUT_RGB -#define GLUT_INDEX 1 -#define GLUT_SINGLE 0 -#define GLUT_DOUBLE 2 -#define GLUT_ACCUM 4 -#define GLUT_ALPHA 8 -#define GLUT_DEPTH 16 -#define GLUT_STENCIL 32 -#if (GLUT_API_VERSION >= 2) -#define GLUT_MULTISAMPLE 128 -#define GLUT_STEREO 256 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_LUMINANCE 512 -#endif -#define GLUT_NO_RECOVERY 1024 - -/* Mouse buttons. */ -#define GLUT_LEFT_BUTTON 0 -#define GLUT_MIDDLE_BUTTON 1 -#define GLUT_RIGHT_BUTTON 2 - -/* Mouse button state. */ -#define GLUT_DOWN 0 -#define GLUT_UP 1 - -#if (GLUT_API_VERSION >= 2) -/* function keys */ -#define GLUT_KEY_F1 1 -#define GLUT_KEY_F2 2 -#define GLUT_KEY_F3 3 -#define GLUT_KEY_F4 4 -#define GLUT_KEY_F5 5 -#define GLUT_KEY_F6 6 -#define GLUT_KEY_F7 7 -#define GLUT_KEY_F8 8 -#define GLUT_KEY_F9 9 -#define GLUT_KEY_F10 10 -#define GLUT_KEY_F11 11 -#define GLUT_KEY_F12 12 -/* directional keys */ -#define GLUT_KEY_LEFT 100 -#define GLUT_KEY_UP 101 -#define GLUT_KEY_RIGHT 102 -#define GLUT_KEY_DOWN 103 -#define GLUT_KEY_PAGE_UP 104 -#define GLUT_KEY_PAGE_DOWN 105 -#define GLUT_KEY_HOME 106 -#define GLUT_KEY_END 107 -#define GLUT_KEY_INSERT 108 -#endif - -/* Entry/exit state. */ -#define GLUT_LEFT 0 -#define GLUT_ENTERED 1 - -/* Menu usage state. */ -#define GLUT_MENU_NOT_IN_USE 0 -#define GLUT_MENU_IN_USE 1 - -/* Visibility state. */ -#define GLUT_NOT_VISIBLE 0 -#define GLUT_VISIBLE 1 - -/* Window status state. */ -#define GLUT_HIDDEN 0 -#define GLUT_FULLY_RETAINED 1 -#define GLUT_PARTIALLY_RETAINED 2 -#define GLUT_FULLY_COVERED 3 - -/* Color index component selection values. */ -#define GLUT_RED 0 -#define GLUT_GREEN 1 -#define GLUT_BLUE 2 - -/* Layers for use. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -#if defined(_WIN32) -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN ((void*)0) -#define GLUT_STROKE_MONO_ROMAN ((void*)1) - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 ((void*)2) -#define GLUT_BITMAP_8_BY_13 ((void*)3) -#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) -#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 ((void*)6) -#define GLUT_BITMAP_HELVETICA_12 ((void*)7) -#define GLUT_BITMAP_HELVETICA_18 ((void*)8) -#endif -#else -/* Stroke font opaque addresses (use constants instead in source code). */ -extern void *glutStrokeRoman; -extern void *glutStrokeMonoRoman; - -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN (&glutStrokeRoman) -#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) - -/* Bitmap font opaque addresses (use constants instead in source code). */ -extern void *glutBitmap9By15; -extern void *glutBitmap8By13; -extern void *glutBitmapTimesRoman10; -extern void *glutBitmapTimesRoman24; -extern void *glutBitmapHelvetica10; -extern void *glutBitmapHelvetica12; -extern void *glutBitmapHelvetica18; - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) -#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) -#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) -#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) -#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) -#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) -#endif -#endif - -/* glutGet parameters. */ -#define GLUT_WINDOW_X 100 -#define GLUT_WINDOW_Y 101 -#define GLUT_WINDOW_WIDTH 102 -#define GLUT_WINDOW_HEIGHT 103 -#define GLUT_WINDOW_BUFFER_SIZE 104 -#define GLUT_WINDOW_STENCIL_SIZE 105 -#define GLUT_WINDOW_DEPTH_SIZE 106 -#define GLUT_WINDOW_RED_SIZE 107 -#define GLUT_WINDOW_GREEN_SIZE 108 -#define GLUT_WINDOW_BLUE_SIZE 109 -#define GLUT_WINDOW_ALPHA_SIZE 110 -#define GLUT_WINDOW_ACCUM_RED_SIZE 111 -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 -#define GLUT_WINDOW_DOUBLEBUFFER 115 -#define GLUT_WINDOW_RGBA 116 -#define GLUT_WINDOW_PARENT 117 -#define GLUT_WINDOW_NUM_CHILDREN 118 -#define GLUT_WINDOW_COLORMAP_SIZE 119 -#if (GLUT_API_VERSION >= 2) -#define GLUT_WINDOW_NUM_SAMPLES 120 -#define GLUT_WINDOW_STEREO 121 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_WINDOW_CURSOR 122 -#endif -#define GLUT_SCREEN_WIDTH 200 -#define GLUT_SCREEN_HEIGHT 201 -#define GLUT_SCREEN_WIDTH_MM 202 -#define GLUT_SCREEN_HEIGHT_MM 203 -#define GLUT_MENU_NUM_ITEMS 300 -#define GLUT_DISPLAY_MODE_POSSIBLE 400 -#define GLUT_INIT_WINDOW_X 500 -#define GLUT_INIT_WINDOW_Y 501 -#define GLUT_INIT_WINDOW_WIDTH 502 -#define GLUT_INIT_WINDOW_HEIGHT 503 -#define GLUT_INIT_DISPLAY_MODE 504 -#if (GLUT_API_VERSION >= 2) -#define GLUT_ELAPSED_TIME 700 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_WINDOW_FORMAT_ID 123 -#endif - -#if (GLUT_API_VERSION >= 2) -/* glutDeviceGet parameters. */ -#define GLUT_HAS_KEYBOARD 600 -#define GLUT_HAS_MOUSE 601 -#define GLUT_HAS_SPACEBALL 602 -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 -#define GLUT_HAS_TABLET 604 -#define GLUT_NUM_MOUSE_BUTTONS 605 -#define GLUT_NUM_SPACEBALL_BUTTONS 606 -#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 -#define GLUT_NUM_DIALS 608 -#define GLUT_NUM_TABLET_BUTTONS 609 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 -#define GLUT_DEVICE_KEY_REPEAT 611 -#define GLUT_HAS_JOYSTICK 612 -#define GLUT_OWNS_JOYSTICK 613 -#define GLUT_JOYSTICK_BUTTONS 614 -#define GLUT_JOYSTICK_AXES 615 -#define GLUT_JOYSTICK_POLL_RATE 616 -#endif - -#if (GLUT_API_VERSION >= 3) -/* glutLayerGet parameters. */ -#define GLUT_OVERLAY_POSSIBLE 800 -#define GLUT_LAYER_IN_USE 801 -#define GLUT_HAS_OVERLAY 802 -#define GLUT_TRANSPARENT_INDEX 803 -#define GLUT_NORMAL_DAMAGED 804 -#define GLUT_OVERLAY_DAMAGED 805 - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* glutVideoResizeGet parameters. */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 900 -#define GLUT_VIDEO_RESIZE_IN_USE 901 -#define GLUT_VIDEO_RESIZE_X_DELTA 902 -#define GLUT_VIDEO_RESIZE_Y_DELTA 903 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 -#define GLUT_VIDEO_RESIZE_X 906 -#define GLUT_VIDEO_RESIZE_Y 907 -#define GLUT_VIDEO_RESIZE_WIDTH 908 -#define GLUT_VIDEO_RESIZE_HEIGHT 909 -#endif - -/* glutUseLayer parameters. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -/* glutGetModifiers return mask. */ -#define GLUT_ACTIVE_SHIFT 1 -#define GLUT_ACTIVE_CTRL 2 -#define GLUT_ACTIVE_ALT 4 - -/* glutSetCursor parameters. */ -/* Basic arrows. */ -#define GLUT_CURSOR_RIGHT_ARROW 0 -#define GLUT_CURSOR_LEFT_ARROW 1 -/* Symbolic cursor shapes. */ -#define GLUT_CURSOR_INFO 2 -#define GLUT_CURSOR_DESTROY 3 -#define GLUT_CURSOR_HELP 4 -#define GLUT_CURSOR_CYCLE 5 -#define GLUT_CURSOR_SPRAY 6 -#define GLUT_CURSOR_WAIT 7 -#define GLUT_CURSOR_TEXT 8 -#define GLUT_CURSOR_CROSSHAIR 9 -/* Directional cursors. */ -#define GLUT_CURSOR_UP_DOWN 10 -#define GLUT_CURSOR_LEFT_RIGHT 11 -/* Sizing cursors. */ -#define GLUT_CURSOR_TOP_SIDE 12 -#define GLUT_CURSOR_BOTTOM_SIDE 13 -#define GLUT_CURSOR_LEFT_SIDE 14 -#define GLUT_CURSOR_RIGHT_SIDE 15 -#define GLUT_CURSOR_TOP_LEFT_CORNER 16 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 -/* Inherit from parent window. */ -#define GLUT_CURSOR_INHERIT 100 -/* Blank cursor. */ -#define GLUT_CURSOR_NONE 101 -/* Fullscreen crosshair (if available). */ -#define GLUT_CURSOR_FULL_CROSSHAIR 102 -#endif - -/* GLUT initialization sub-API. */ -extern void APIENTRY glutInit(int *argcp, char **argv); -extern void APIENTRY glutInitDisplayMode(unsigned int mode); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutInitDisplayString(const char *string); -#endif -extern void APIENTRY glutInitWindowPosition(int x, int y); -extern void APIENTRY glutInitWindowSize(int width, int height); -extern void APIENTRY glutMainLoop(void); - -/* GLUT window sub-API. */ -extern int APIENTRY glutCreateWindow(const char *title); -extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); -extern void APIENTRY glutDestroyWindow(int win); -extern void APIENTRY glutPostRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowRedisplay(int win); -#endif -extern void APIENTRY glutSwapBuffers(void); -extern int APIENTRY glutGetWindow(void); -extern void APIENTRY glutSetWindow(int win); -extern void APIENTRY glutSetWindowTitle(const char *title); -extern void APIENTRY glutSetIconTitle(const char *title); -extern void APIENTRY glutPositionWindow(int x, int y); -extern void APIENTRY glutReshapeWindow(int width, int height); -extern void APIENTRY glutPopWindow(void); -extern void APIENTRY glutPushWindow(void); -extern void APIENTRY glutIconifyWindow(void); -extern void APIENTRY glutShowWindow(void); -extern void APIENTRY glutHideWindow(void); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutFullScreen(void); -extern void APIENTRY glutSetCursor(int cursor); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWarpPointer(int x, int y); -#if (GLUT_MACOSX_IMPLEMENTATION >= 1) -/* surface texturing API Mac OS X specific -* Note: -* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object -*/ -#ifdef MAC_OS_X_VERSION_10_5 -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -#else -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); -#endif -#endif -#if (GLUT_MACOSX_IMPLEMENTATION >= 2) -/* Mac OS X specific API */ -extern void APIENTRY glutWMCloseFunc(void (*func)(void)); -extern void APIENTRY glutCheckLoop(void); -#endif -#endif - -/* GLUT overlay sub-API. */ -extern void APIENTRY glutEstablishOverlay(void); -extern void APIENTRY glutRemoveOverlay(void); -extern void APIENTRY glutUseLayer(GLenum layer); -extern void APIENTRY glutPostOverlayRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowOverlayRedisplay(int win); -#endif -extern void APIENTRY glutShowOverlay(void); -extern void APIENTRY glutHideOverlay(void); -#endif - -/* GLUT menu sub-API. */ -extern int APIENTRY glutCreateMenu(void (*)(int)); -extern void APIENTRY glutDestroyMenu(int menu); -extern int APIENTRY glutGetMenu(void); -extern void APIENTRY glutSetMenu(int menu); -extern void APIENTRY glutAddMenuEntry(const char *label, int value); -extern void APIENTRY glutAddSubMenu(const char *label, int submenu); -extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); -extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); -extern void APIENTRY glutRemoveMenuItem(int item); -extern void APIENTRY glutAttachMenu(int button); -extern void APIENTRY glutDetachMenu(int button); - -/* GLUT window callback sub-API. */ -extern void APIENTRY glutDisplayFunc(void (*func)(void)); -extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); -extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); -extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutEntryFunc(void (*func)(int state)); -extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); -extern void APIENTRY glutIdleFunc(void (*func)(void)); -extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); -extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); -#if (GLUT_API_VERSION >= 2) -extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); -extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); -extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); -extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); -extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); -//#ifdef GLUT_OF_007_HACK -extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); -//#endif -#endif -#endif -#endif - -/* GLUT color index sub-API. */ -extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); -extern GLfloat APIENTRY glutGetColor(int ndx, int component); -extern void APIENTRY glutCopyColormap(int win); - -/* GLUT state retrieval sub-API. */ -extern int APIENTRY glutGet(GLenum type); -extern int APIENTRY glutDeviceGet(GLenum type); -#if (GLUT_API_VERSION >= 2) -/* GLUT extension support sub-API */ -extern int APIENTRY glutExtensionSupported(const char *name); -#endif -#if (GLUT_API_VERSION >= 3) -extern int APIENTRY glutGetModifiers(void); -extern int APIENTRY glutLayerGet(GLenum type); -#endif -#if (GLUT_API_VERSION >= 5) -extern void * APIENTRY glutGetProcAddress(const char *procName); -#endif - -/* GLUT font sub-API */ -extern void APIENTRY glutBitmapCharacter(void *font, int character); -extern int APIENTRY glutBitmapWidth(void *font, int character); -extern void APIENTRY glutStrokeCharacter(void *font, int character); -extern int APIENTRY glutStrokeWidth(void *font, int character); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); -extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); -#endif - -/* GLUT pre-built models sub-API */ -extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutWireCube(GLdouble size); -extern void APIENTRY glutSolidCube(GLdouble size); -extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutWireDodecahedron(void); -extern void APIENTRY glutSolidDodecahedron(void); -extern void APIENTRY glutWireTeapot(GLdouble size); -extern void APIENTRY glutSolidTeapot(GLdouble size); -extern void APIENTRY glutWireOctahedron(void); -extern void APIENTRY glutSolidOctahedron(void); -extern void APIENTRY glutWireTetrahedron(void); -extern void APIENTRY glutSolidTetrahedron(void); -extern void APIENTRY glutWireIcosahedron(void); -extern void APIENTRY glutSolidIcosahedron(void); - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* GLUT video resize sub-API. */ -extern int APIENTRY glutVideoResizeGet(GLenum param); -extern void APIENTRY glutSetupVideoResizing(void); -extern void APIENTRY glutStopVideoResizing(void); -extern void APIENTRY glutVideoResize(int x, int y, int width, int height); -extern void APIENTRY glutVideoPan(int x, int y, int width, int height); - -/* GLUT debugging sub-API. */ -extern void APIENTRY glutReportErrors(void); -#endif - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -/* GLUT device control sub-API. */ -/* glutSetKeyRepeat modes. */ -#define GLUT_KEY_REPEAT_OFF 0 -#define GLUT_KEY_REPEAT_ON 1 -#define GLUT_KEY_REPEAT_DEFAULT 2 - -/* Joystick button masks. */ -#define GLUT_JOYSTICK_BUTTON_A 1 -#define GLUT_JOYSTICK_BUTTON_B 2 -#define GLUT_JOYSTICK_BUTTON_C 4 -#define GLUT_JOYSTICK_BUTTON_D 8 - -extern void APIENTRY glutIgnoreKeyRepeat(int ignore); -extern void APIENTRY glutSetKeyRepeat(int repeatMode); -extern void APIENTRY glutForceJoystickFunc(void); - -/* GLUT game mode sub-API. */ -/* glutGameModeGet. */ -#define GLUT_GAME_MODE_ACTIVE 0 -#define GLUT_GAME_MODE_POSSIBLE 1 -#define GLUT_GAME_MODE_WIDTH 2 -#define GLUT_GAME_MODE_HEIGHT 3 -#define GLUT_GAME_MODE_PIXEL_DEPTH 4 -#define GLUT_GAME_MODE_REFRESH_RATE 5 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 - -extern void APIENTRY glutGameModeString(const char *string); -extern int APIENTRY glutEnterGameMode(void); -extern void APIENTRY glutLeaveGameMode(void); -extern int APIENTRY glutGameModeGet(GLenum mode); -#endif - -#ifdef __cplusplus -} - -#endif - -#ifdef GLUT_APIENTRY_DEFINED -# undef GLUT_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef GLUT_WINGDIAPI_DEFINED -# undef GLUT_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - -#endif /* __glut_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h deleted file mode 100644 index e29a016..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __glutbitmap_h__ -#define __glutbitmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glut.h" - -typedef struct { - const GLsizei width; - const GLsizei height; - const GLfloat xorig; - const GLfloat yorig; - const GLfloat advance; - const GLubyte *bitmap; -} BitmapCharRec, *BitmapCharPtr; - -typedef struct { - const char *name; - const int num_chars; - const int first; - const BitmapCharRec * const *ch; -} BitmapFontRec, *BitmapFontPtr; - -typedef void *GLUTbitmapFont; - -#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h deleted file mode 100644 index f8a170b..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef __glutf90_h__ -#define __glutf90_h__ - -/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -/* This header provides the binding interface for William Mitchell's - f90gl Fortran 90 GLUT binding. Other GLUT language bindings - can and should use this interace. */ - -/* I appreciate the guidance from William Mitchell - (mitchell@cam.nist.gov) in developing this friend interface - for use by the f90gl package. See ../../README.fortran */ - -#include - -#ifndef GLUTCALLBACK - #define GLUTCALLBACK -#endif -#ifndef APIENTRY - #define APIENTRY -#endif - -/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ -/* NOTE These values are part of a binary interface for the f90gl Fortran - 90 binding and so must NOT changes (additions are allowed). */ - -/* GLUTwindow callbacks. */ -#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ -#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ -#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ -#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ -#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ -#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ -#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ -#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ -#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ -#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ -#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ -#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ -#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ -#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ -#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ -#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ -#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ -#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ -#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ -#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ -#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ -/* Non-GLUTwindow callbacks. */ -#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ -#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ -#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ - -/* GLUT Fortran callback function types. */ -typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); -typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); -typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); -/* NOTE the pressed key is int, not unsigned char for Fortran! */ -typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); -typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); -typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); -typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); - -typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); -typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); -typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ -typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTidleFCB) (void); - -/* Functions that set and return Fortran callback functions. */ -extern void* APIENTRY __glutGetFCB(int which); -extern void APIENTRY __glutSetFCB(int which, void *func); - -#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h deleted file mode 100644 index cbc9e15..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __glutstroke_h__ -#define __glutstroke_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ -#endif - -typedef struct { - float x; - float y; -} CoordRec, *CoordPtr; - -typedef struct { - int num_coords; - const CoordRec *coord; -} StrokeRec, *StrokePtr; - -typedef struct { - int num_strokes; - const StrokeRec *stroke; - float center; - float right; -} StrokeCharRec, *StrokeCharPtr; - -typedef struct { - const char *name; - int num_chars; - const StrokeCharRec *ch; - float top; - float bottom; -} StrokeFontRec, *StrokeFontPtr; - -typedef void *GLUTstrokeFont; - -#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h deleted file mode 100644 index f7ffcf3..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h +++ /dev/null @@ -1,89 +0,0 @@ - -/* - * gutil.h - * - * FUNCTION: - * Provide utilities that allow rotation to occur - * around any axis. - * - * HISTORY: - * created by Linas Vepstas 1990 - * added single & double precision, June 1991, Linas Vepstas - */ - -#ifndef __GUTIL_H__ -#define __GUTIL_H__ - -#ifdef __GUTIL_DOUBLE -#define gutDouble double -#else -#define gutDouble float -#endif - - -#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (); -extern void rot_about_axis_f (); -extern void rot_omega_f (); -extern void urot_axis_f (); -extern void urot_about_axis_f (); -extern void urot_omega_f (); - -/* double-precision versions */ -extern void rot_axis_d (); -extern void rot_about_axis_d (); -extern void rot_omega_d (); -extern void urot_axis_d (); -extern void urot_about_axis_d (); -extern void urot_omega_d (); - -/* viewpoint functions */ -extern void uview_direction_d (); -extern void uview_direction_f (); -extern void uviewpoint_d (); -extern void uviewpoint_f (); - -#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (float omega, float axis[3]); -extern void rot_about_axis_f (float angle, float axis[3]); -extern void rot_omega_f (float axis[3]); -extern void urot_axis_f (float m[4][4], float omega, float axis[3]); -extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); -extern void urot_omega_f (float m[4][4], float axis[3]); - -/* double-precision versions */ -extern void rot_axis_d (double omega, double axis[3]); -extern void rot_about_axis_d (double angle, double axis[3]); -extern void rot_omega_d (double axis[3]); -extern void urot_axis_d (double m[4][4], double omega, double axis[3]); -extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); -extern void urot_omega_d (double m[4][4], double axis[3]); - -/* viewpoint functions */ -extern void uview_direction_d (double m[4][4], /* returned */ - double v21[3], /* input */ - double up[3]); /* input */ - -extern void uview_direction_f (float m[4][4], /* returned */ - float v21[3], /* input */ - float up[3]); /* input */ - -extern void uviewpoint_d (double m[4][4], /* returned */ - double v1[3], /* input */ - double v2[3], /* input */ - double up[3]); /* input */ - -extern void uviewpoint_f (float m[4][4], /* returned */ - float v1[3], /* input */ - float v2[3], /* input */ - float up[3]); /* input */ - -#endif /* _NO_PROTO */ - -#endif /* _GUTIL_H__ */ - -/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h deleted file mode 100644 index f5ff7a5..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * FUNCTION: - * This file contains a number of utilities useful to 3D graphics in - * general, and to the generation of tubing and extrusions in particular - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Updated to correctly handle degenerate cases, Linas, February 1993 - */ - -#include -#include "port.h" -#include "vvector.h" - -#define BACKWARDS_INTERSECT (2) - -/* ========================================================== */ -/* - * the Degenerate_Tolerance token represents the greatest amount by - * which different scales in a graphics environment can differ before - * they should be considered "degenerate". That is, when one vector is - * a million times longer than another, changces are that the second will - * be less than a pixel int, and therefore was probably meant to be - * degenerate (by the CAD package, etc.) But what should this tolerance - * be? At least 1 in onethousand (since screen sizes are 1K pixels), but - * les than 1 in 4 million (since this is the limit of single-precision - * floating point accuracy). Of course, if double precision were used, - * then the tolerance could be increased. - * - * Potentially, this naive assumption could cause problems if the CAD - * package attempts to zoom in on small details, and turns out, certain - * points should not hvae been degenerate. The problem presented here - * is that the tolerance could run out before single-precision ran - * out, and so the CAD packages would perceive this as a "bug". - * One alternative is to fiddle around & try to tighten the tolerance. - * However, the right alternative is to code the graphics pipeline in - * double-precision (and tighten the tolerance). - * - * By the way, note that Degernate Tolerance is a "dimensionless" - * quantitiy -- it has no units -- it does not measure feet, inches, - * millimeters or pixels. It is used only in the computations of ratios - * and relative lengths. - */ - -/* - * Right now, the tolerance is set to 2 parts in a million, which - * corresponds to a 19-bit distinction of mantissas. Note that - * single-precsion numbers have 24 bit mantissas. - */ - -#define DEGENERATE_TOLERANCE (0.000002) - -/* ========================================================== */ -/* - * The macro and subroutine INTERSECT are designed to compute the - * intersection of a line (defined by the points v1 and v2) and a plane - * (defined as plane which is normal to the vector n, and contains the - * point p). Both return the point sect, which is the point of - * interesection. - * - * This MACRO attemps to be fairly robust by checking for a divide by - * zero. - */ - -/* ========================================================== */ -/* - * HACK ALERT - * The intersection parameter t has the nice property that if t>1, - * then the intersection is "in front of" p1, and if t<0, then the - * intersection is "behind" p2. Unfortunately, as the intersecting plane - * and the line become parallel, t wraps through infinity -- i.e. t can - * become so large that t becomes "greater than infinity" and comes back - * as a negative number (i.e. winding number hopped by one unit). We - * have no way of detecting this situation without adding gazzillions - * of lines of code of topological algebra to detect the winding number; - * and this would be incredibly difficult, and ruin performance. - * - * Thus, we've installed a cheap hack for use by the "cut style" drawing - * routines. If t proves to be a large negative number (more negative - * than -5), then we assume that t was positive and wound through - * infinity. This makes most cuts look good, without introducing bogus - * cuts at infinity. - */ -/* ========================================================== */ - -#define INTERSECT(sect,p,n,v1,v2) \ -{ \ - gleDouble deno, numer, t, omt; \ - \ - deno = (v1[0] - v2[0]) * n[0]; \ - deno += (v1[1] - v2[1]) * n[1]; \ - deno += (v1[2] - v2[2]) * n[2]; \ - \ - if (deno == 0.0) { \ - VEC_COPY (n, v1); \ - /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ - } else { \ - \ - numer = (p[0] - v2[0]) * n[0]; \ - numer += (p[1] - v2[1]) * n[1]; \ - numer += (p[2] - v2[2]) * n[2]; \ - \ - t = numer / deno; \ - omt = 1.0 - t; \ - \ - sect[0] = t * v1[0] + omt * v2[0]; \ - sect[1] = t * v1[1] + omt * v2[1]; \ - sect[2] = t * v1[2] + omt * v2[2]; \ - } \ -} - -/* ========================================================== */ -/* - * The macro and subroutine BISECTING_PLANE compute a normal vector that - * describes the bisecting plane between three points (v1, v2 and v3). - * This bisecting plane has the following properties: - * 1) it contains the point v2 - * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it - * makes with v32 == v3 - v2 - * 3) it is perpendicular to the plane defined by v1, v2, v3. - * - * Having input v1, v2, and v3, it returns a unit vector n. - * - * In some cases, the user may specify degenerate points, and still - * expect "reasonable" or "obvious" behaviour. The "expected" - * behaviour for these degenerate cases is: - * - * 1) if v1 == v2 == v3, then return n=0 - * 2) if v1 == v2, then return v32 (normalized). - * 3) if v2 == v3, then return v21 (normalized). - * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). - * - * Mathematically, these special cases "make sense" -- we just have to - * code around potential divide-by-zero's in the code below. - */ - -/* ========================================================== */ - -#define BISECTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as bisector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ - (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ -/* - * The block of code below is ifdef'd out, and is here for reference - * purposes only. It performs the "mathematically right thing" for - * computing a bisecting plane, but is, unfortunately, subject ot noise - * in the presence of near degenerate points. Since computer graphics, - * due to sloppy coding, laziness, or correctness, is filled with - * degenerate points, we can't really use this version. The code above - * is far more appropriate for graphics. - */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define BISECTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 == 0.0) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - } \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - if (len32 == 0.0) { \ - /* return a normalized copy of v21 as bisector */ \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot == 1.0) || (vdot == -1.0)) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} -#endif - -/* ========================================================== */ -/* - * This macro computes the plane perpendicular to the the plane - * defined by three points, and whose normal vector is givven as the - * difference between the two vectors ... - * - * (See way below for the "math" model if you want to understand this. - * The comments about relative errors above apply here.) - */ - -#define CUTTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double lendiff; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as cut-vector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as cut vector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_LENGTH (lendiff, n); \ - \ - /* if the perp vector is very small, then the two \ - * vectors are darn near collinear, and the cut \ - * vector is probably poorly defined. */ \ - if (lendiff < DEGENERATE_TOLERANCE) { \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - lendiff = 1.0 / lendiff; \ - VEC_SCALE (n, lendiff, n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define CUTTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_NORMALIZE (v21); \ - VEC_NORMALIZE (v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_NORMALIZE (n); \ -} -#endif - - -/* ============================================================ */ -/* This macro is used in several places to cycle through a series of - * points to find the next non-degenerate point in a series */ - -#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ -{ \ - gleDouble slen; \ - gleDouble summa[3]; \ - \ - do { \ - /* get distance to next point */ \ - VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (len, diff); \ - VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (slen, summa); \ - slen *= DEGENERATE_TOLERANCE; \ - inext ++; \ - } while ((len <= slen) && (inext < npoints-1)); \ -} - -/* ========================================================== */ - -extern int bisecting_plane (gleDouble n[3], /* returned */ - gleDouble v1[3], /* input */ - gleDouble v2[3], /* input */ - gleDouble v3[3]); /* input */ - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h deleted file mode 100644 index 2827bbf..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * port.h - * - * FUNCTION: - * This file contains defines for porting the tubing toolkit from GL to - * OpenGL to some callback scheme. - * - * HISTORY: - * Created by Linas Vepstas -- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - */ - -#ifndef __GLE_PORT_H__ -#define __GLE_PORT_H__ - - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ====================================================== */ -/* Some compilers can't handle multiply-subscripted array's */ - -#ifdef FUNKY_C -typedef gleDouble gleVector; -#define AVAL(arr,n,i,j) arr(6*n+3*i+j) -#define VVAL(arr,n,i) arr(3*n+i) - -#else /* FUNKY_C */ -typedef double gleVector[3]; -typedef double glePoint[2]; -#define AVAL(arr,n,i,j) arr[n][i][j] -#define VVAL(arr,n,i) arr[n][i]; - -#endif /* FUNKY_C */ - -/* ====================================================== */ -/* These are used to convey info about topography to the - * texture mapping routines */ - -#define FRONT 1 -#define BACK 2 -#define FRONT_CAP 3 -#define BACK_CAP 4 -#define FILLET 5 - -/* ====================================================== */ - -#define __GLE_DOUBLE - -/* ====================================================== */ - -#ifdef __GLE_DOUBLE -#ifndef gleDouble - #define gleDouble double -#endif -#define urot_axis(a,b,c) urot_axis_d(a,b,c) -#define uview_direction(a,b,c) uview_direction_d(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_D(m) -#define LOADMATRIX(m) LOADMATRIX_D(m) -#define V3F(x,j,id) V3F_D(x,j,id) -#define N3F(x) N3F_D(x) -#define T2F(x,y) T2F_D(x,y) -#else -#define gleDouble float -#define urot_axis(a,b,c) urot_axis_f(a,b,c) -#define uview_direction(a,b,c) uview_direction_f(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_F(m) -#define LOADMATRIX(m) LOADMATRIX_F(m) -#define V3F(x,j,id) V3F_F(x,j,id) -#define N3F(x) N3F_F(x) -#define T2F(x,y) T2F_F(x,y) -#endif - -/* ====================================================== */ - -#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) -#undef GL_32 -#undef OPENGL_10 - -#define BGNTMESH(i,len) printf ("bgntmesh() \n"); -#define ENDTMESH() printf ("endtmesh() \n"); -#define BGNPOLYGON() printf ("bgnpolygon() \n"); -#define ENDPOLYGON() printf ("endpolygon() \n"); -#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); - -#define POPMATRIX() printf ("popmatrix () \n"); -#define PUSHMATRIX() printf ("pushmatrix() \n"); -#define MULTMATRIX_F(x) MULTMATRIX_D(x) -#define LOADMATRIX_F(x) LOADMATRIX_D(x) - - -#define LOADMATRIX_D(x) { \ - int i, j; \ - printf ("loadmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - printf ("multmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define __IS_LIGHTING_ON (1) - -#endif - -/* ====================================================== */ - -#ifdef GL_32 - -#include - -#define BGNTMESH(i,len) bgntmesh() -#define ENDTMESH() endtmesh() -#define BGNPOLYGON() bgnpolygon() -#define ENDPOLYGON() endpolygon() -#define V3F_F(x,j,id) v3f(x) -#define V3F_D(x,j,id) v3d(x) -#define N3F_F(x) n3f(x) -#define T2F_F(x,y) -#define T2F_D(x,y) -#define C3F(x) c3f(x) - -#define POPMATRIX() popmatrix () -#define PUSHMATRIX() pushmatrix() -#define MULTMATRIX_F(x) multmatrix (x) -#define LOADMATRIX_F(x) loadmatrix (x) - -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = (float) x[0]; \ - nnn[1] = (float) x[1]; \ - nnn[2] = (float) x[2]; \ - n3f (nnn); \ -} - -#define LOADMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - loadmatrix(mmm); \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - multmatrix(mmm); \ -} - -/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ -#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) - -#endif /* GL_32 */ - -/* ====================================================== */ -#ifdef OPENGL_10 - -#if defined(_WIN32) -#include -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#endif -#include -#include - -/* -#define N3F_F(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -*/ - -#define C3F(x) glColor3fv(x) -#define T2F_F(x,y) glTexCoord2f(x,y) -#define T2F_D(x,y) glTexCoord2d(x,y) - -#define POPMATRIX() glPopMatrix() -#define PUSHMATRIX() glPushMatrix() - -#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) -#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) - -#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) -#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) - -#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) - -/* ====================================================== */ -#ifdef AUTO_TEXTURE - -#define BGNTMESH(i,len) { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ - glBegin (GL_TRIANGLE_STRIP); \ -} - -#define BGNPOLYGON() { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ - glBegin (GL_POLYGON); \ -} - -#define N3F_F(x) { \ - if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ - glNormal3fv(x); \ -} - -#define N3F_D(x) { \ - if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ - glNormal3dv(x); \ -} - -#define V3F_F(x,j,id) { \ - if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ - glVertex3fv(x); \ -} - -#define V3F_D(x,j,id) { \ - if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ - glVertex3dv(x); \ -} - -#define ENDTMESH() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -#define ENDPOLYGON() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -/* ====================================================== */ -#else /* AUTO_TEXTURE */ - -#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); -#define BGNPOLYGON() glBegin (GL_POLYGON); - -#define N3F_F(x) glNormal3fv(x) -#define N3F_D(x) glNormal3dv(x) -#define V3F_F(x,j,id) glVertex3fv(x); -#define V3F_D(x,j,id) glVertex3dv(x); - -#define ENDTMESH() glEnd () -#define ENDPOLYGON() glEnd() - -#endif /* AUTO_TEXTURE */ - -#endif /* OPENGL_10 */ - -/* ====================================================== */ - - -#endif /* __GLE_PORT_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h deleted file mode 100644 index 91083e9..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * rot.h - * - * FUNCTION: - * rotation matrix utilities - * - * HISTORY: - * Linas Vepstas Aug 1990 - */ - -/* ========================================================== */ -/* - * The MACROS below generate and return more traditional rotation - * matrices -- matrices for rotations about principal axes. - */ -/* ========================================================== */ - -#define ROTX_CS(m,cosine,sine) \ -{ \ - /* rotation about the x-axis */ \ - \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = (cosine); \ - m[1][2] = (sine); \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = -(sine); \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTY_CS(m,cosine,sine) \ -{ \ - /* rotation about the y-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = 0.0; \ - m[0][2] = -(sine); \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = (sine); \ - m[2][1] = 0.0; \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTZ_CS(m,cosine,sine) \ -{ \ - /* rotation about the z-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = (sine); \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = -(sine); \ - m[1][1] = (cosine); \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h deleted file mode 100644 index 8d1cf04..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * MODULE: segment.h - * - * FUNCTION: - * Contains function prototypes for segment drawing subroutines. - * These are used only internally, and are not to be exported to - * the user. - * - * HISTORY: - * Create by Linas Vepstas - * Added tube.h include to define gleDouble, tad February 2002 - */ - -/* ============================================================ */ - -#include "tube.h" - -extern void draw_segment_plain (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - int inext, double len); - -extern void draw_segment_color (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_edge_n (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_edge_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -/* ============================================================ */ - -extern void draw_binorm_segment_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_binorm_segment_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ - gleDouble bi[3], /* biscetor */ - gleDouble point_array[][3]); /* polyline */ - -/* -------------------------- end of file -------------------------------- */ - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h deleted file mode 100644 index c303e19..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * tube.h - * - * FUNCTION: - * Tubing and Extrusion header file. - * This file provides protypes and defines for the extrusion - * and tubing primitives. - * - * HISTORY: - * Linas Vepstas 1990, 1991 - */ - -#ifndef __TUBE_H__ -#define __TUBE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLE API revision history: - - GLE_API_VERSION is updated to reflect GLE API changes (interface - changes, semantic changes, deletions, or additions). - - GLE_API_VERSION=228 GLUT 3.7 release of GLE. -**/ -#ifndef GLE_API_VERSION /* allow this to be overriden */ -#define GLE_API_VERSION 228 -#endif - -/* some types */ -#ifndef gleDouble - #define gleDouble double -#endif -typedef gleDouble gleAffine[2][3]; - -/* ====================================================== */ - -/* defines for tubing join styles */ -#define TUBE_JN_RAW 0x1 -#define TUBE_JN_ANGLE 0x2 -#define TUBE_JN_CUT 0x3 -#define TUBE_JN_ROUND 0x4 -#define TUBE_JN_MASK 0xf /* mask bits */ -#define TUBE_JN_CAP 0x10 - -/* determine how normal vectors are to be handled */ -#define TUBE_NORM_FACET 0x100 -#define TUBE_NORM_EDGE 0x200 -#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ -#define TUBE_NORM_MASK 0xf00 /* mask bits */ - -/* closed or open countours */ -#define TUBE_CONTOUR_CLOSED 0x1000 - -#define GLE_TEXTURE_ENABLE 0x10000 -#define GLE_TEXTURE_STYLE_MASK 0xff -#define GLE_TEXTURE_VERTEX_FLAT 1 -#define GLE_TEXTURE_NORMAL_FLAT 2 -#define GLE_TEXTURE_VERTEX_CYL 3 -#define GLE_TEXTURE_NORMAL_CYL 4 -#define GLE_TEXTURE_VERTEX_SPH 5 -#define GLE_TEXTURE_NORMAL_SPH 6 -#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 -#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 -#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 -#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 -#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 -#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 - -#ifdef GL_32 -/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ -#define TUBE_LIGHTING_ON 0x80000000 - -#define gleExtrusion extrusion -#define gleSetJoinStyle setjoinstyle -#define gleGetJoinStyle getjoinstyle -#define glePolyCone polycone -#define glePolyCylinder polycylinder -#define gleSuperExtrusion super_extrusion -#define gleTwistExtrusion twist_extrusion -#define gleSpiral spiral -#define gleLathe lathe -#define gleHelicoid helicoid -#define gleToroid toroid -#define gleScrew screw - -#endif /* GL_32 */ - -extern int gleGetJoinStyle (void); -extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ -extern int gleGetNumSlices(void); -extern void gleSetNumSlices(int slices); - -/* draw polyclinder, specified as a polyline */ -extern void glePolyCylinder (int npoints, /* num points in polyline */ - gleDouble point_array[][3], /* polyline vertces */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius); /* radius of polycylinder */ - -/* draw polycone, specified as a polyline with radii */ -extern void glePolyCone (int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius_array[]); /* cone radii at polyline verts */ - -/* extrude arbitrary 2D contour along arbitrary 3D path */ -extern void gleExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3]); /* colors at polyline verts */ - -/* extrude 2D contour, specifying local rotations (twists) */ -extern void gleTwistExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble twist_array[]); /* countour twists (in degrees) */ - -/* extrude 2D contour, specifying local affine tranformations */ -extern void gleSuperExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* spiral moves contour along helical path by parallel transport */ -extern void gleSpiral (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* lathe moves contour along helical path by helically shearing 3D space */ -extern void gleLathe (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to spiral, except contour is a circle */ -extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to lathe, except contour is a circle */ -extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* draws a screw shape */ -extern void gleScrew (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startz, /* start of segment */ - gleDouble endz, /* end of segment */ - gleDouble twist); /* number of rotations */ - -extern void gleTextureMode (int mode); - -#ifdef __cplusplus -} - -#endif -#endif /* __TUBE_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h deleted file mode 100644 index ccd2853..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* - * tube_gc.h - * - * FUNCTION: - * This file allows for easy changes to changes in the way the extrusion - * library handles state info (i.e. context). - * - * HISTORY: - * Linas Vepstas --- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - * Added tube.h include to define gleDouble, tad February 2002 - */ - -#include "tube.h" -#include "port.h" /* for gleVector */ - -typedef float gleColor[3]; -typedef double gleTwoVec[2]; - -typedef struct { - - /* public methods */ - void (*bgn_gen_texture) (int, double); - void (*n3f_gen_texture) (float *); - void (*n3d_gen_texture) (double *); - void (*v3f_gen_texture) (float *, int, int); - void (*v3d_gen_texture) (double *, int, int); - void (*end_gen_texture) (void); - - /* protected members -- "general knowledge" stuff */ - int join_style; - - /* arguments passed into extrusion code */ - int ncp; /* number of contour points */ - gleTwoVec *contour; /* 2D contour */ - gleTwoVec *cont_normal; /* 2D contour normals */ - gleDouble *up; /* up vector */ - int npoints; /* number of points in polyline */ - gleVector *point_array; /* path */ - gleColor *color_array; /* path colors */ - gleAffine *xform_array; /* contour xforms */ - - /* private members, used by texturing code */ - int num_vert; - int segment_number; - double segment_length; - double accum_seg_len; - double prev_x; - double prev_y; - - void (*save_bgn_gen_texture) (int, double); - void (*save_n3f_gen_texture) (float *); - void (*save_n3d_gen_texture) (double *); - void (*save_v3f_gen_texture) (float *, int, int); - void (*save_v3d_gen_texture) (double *, int, int); - void (*save_end_gen_texture) (void); - -} gleGC; - -extern gleGC *_gle_gc; -extern gleGC * gleCreateGC (void); - -#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } -#define extrusion_join_style (_gle_gc->join_style) - -#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) -#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) -#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) -#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) - -#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) -#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) -#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) -#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) -#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) - -/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h deleted file mode 100644 index b58dcd6..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h +++ /dev/null @@ -1,1339 +0,0 @@ - -/* - * vvector.h - * - * FUNCTION: - * This file contains a number of utilities useful for handling - * 3D vectors - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Added 2D code, March 1993 - * Added Outer products, C++ proofed, Linas Vepstas October 1993 - */ - -#ifndef __GUTIL_VECTOR_H__ -#define __GUTIL_VECTOR_H__ - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - - -#include -#include "port.h" - -/* ========================================================== */ -/* Zero out a 2D vector */ - -#define VEC_ZERO_2(a) \ -{ \ - (a)[0] = (a)[1] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 3D vector */ - -#define VEC_ZERO(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 4D vector */ - -#define VEC_ZERO_4(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ -} - -/* ========================================================== */ -/* Vector copy */ - -#define VEC_COPY_2(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ -} - -/* ========================================================== */ -/* Copy 3D vector */ - -#define VEC_COPY(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ -} - -/* ========================================================== */ -/* Copy 4D vector */ - -#define VEC_COPY_4(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ - (b)[3] = (a)[3]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ - (v21)[3] = (v2)[3] - (v1)[3]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ - (v21)[3] = (v2)[3] + (v1)[3]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_2(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_4(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ - (c)[3] = (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_2(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_4(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ - (c)[3] += (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_2(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_4(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ -} - -/* ========================================================== */ -/* vector impact parameter (squared) */ - -#define VEC_IMPACT_SQ(bsq,direction,position) \ -{ \ - gleDouble vlen, llel; \ - VEC_DOT_PRODUCT (vlen, position, position); \ - VEC_DOT_PRODUCT (llel, direction, position); \ - bsq = vlen - llel*llel; \ -} - -/* ========================================================== */ -/* vector impact parameter */ - -#define VEC_IMPACT(bsq,direction,position) \ -{ \ - VEC_IMPACT_SQ(bsq,direction,position); \ - bsq = sqrt (bsq); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_2(vlen,a) \ -{ \ - vlen = a[0]*a[0] + a[1]*a[1]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_4(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen += (a)[3] * (a)[3]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* distance between two points */ - -#define VEC_DISTANCE(vlen,va,vb) \ -{ \ - gleDouble tmp[4]; \ - VEC_DIFF (tmp, vb, va); \ - VEC_LENGTH (vlen, tmp); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_CONJUGATE_LENGTH(vlen,a) \ -{ \ - vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_NORMALIZE(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = 1.0 / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_RENORMALIZE(a,newlen) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = newlen / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* 3D Vector cross product yeilding vector */ - -#define VEC_CROSS_PRODUCT(c,a,b) \ -{ \ - c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ - c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ - c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ -} - -/* ========================================================== */ -/* Vector perp -- assumes that n is of unit length - * accepts vector v, subtracts out any component parallel to n */ - -#define VEC_PERP(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (v)[0] - (vdot) * (n)[0]; \ - vp[1] = (v)[1] - (vdot) * (n)[1]; \ - vp[2] = (v)[2] - (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector parallel -- assumes that n is of unit length - * accepts vector v, subtracts out any component perpendicular to n */ - -#define VEC_PARALLEL(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (vdot) * (n)[0]; \ - vp[1] = (vdot) * (n)[1]; \ - vp[2] = (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector reflection -- assumes n is of unit length */ -/* Takes vector v, reflects it against reflector n, and returns vr */ - -#define VEC_REFLECT(vr,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ - vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ - vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector blending */ -/* Takes two vectors a, b, blends them together */ - -#define VEC_BLEND(vr,sa,a,sb,b) \ -{ \ - \ - vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ - vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ - vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_2(a) \ -{ \ - double vlen; \ - VEC_LENGTH_2 (vlen, a); \ - printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen, (a)); \ - printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_4(a) \ -{ \ - double vlen; \ - VEC_LENGTH_4 (vlen, (a)); \ - printf (" a is %f %f %f %f length of a is %f \n", \ - (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_4X4(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_3X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<3; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_2X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<2; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_3X3(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_4X4(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - b[0][3] = a[0][3]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - b[1][3] = a[1][3]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[2][3]; \ - \ - b[3][0] = a[3][0]; \ - b[3][1] = a[3][1]; \ - b[3][2] = a[3][2]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - b[0][3] = a[3][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - b[1][3] = a[3][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[3][2]; \ - \ - b[3][0] = a[0][3]; \ - b[3][1] = a[1][3]; \ - b[3][2] = a[2][3]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - b[0][3] = (s) * a[0][3]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - b[1][3] = (s) * a[1][3]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ - b[2][3] = (s) * a[2][3]; \ - \ - b[3][0] = s * a[3][0]; \ - b[3][1] = s * a[3][1]; \ - b[3][2] = s * a[3][2]; \ - b[3][3] = s * a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - b[0][3] += (s) * a[0][3]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - b[1][3] += (s) * a[1][3]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ - b[2][3] += (s) * a[2][3]; \ - \ - b[3][0] += (s) * a[3][0]; \ - b[3][1] += (s) * a[3][1]; \ - b[3][2] += (s) * a[3][2]; \ - b[3][3] += (s) * a[3][3]; \ -} - -/* +========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_2X2(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_3X3(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_4X4(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ - c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ - c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ - c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ - \ - c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ - c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ - c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ - c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_3X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_4X4(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ - p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ -} - -/* ========================================================== */ -/* vector transpose times matrix */ -/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ - -#define VEC_DOT_MAT_3X3(p,v,m) \ -{ \ - p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ - p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ - p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ -} - -/* ========================================================== */ -/* affine matrix times vector */ -/* The matrix is assumed to be an affine matrix, with last two - * entries representing a translation */ - -#define MAT_DOT_VEC_2X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ -} - -/* ========================================================== */ -/* inverse transpose of matrix times vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * - * DANGER !!! Do Not use this on normal vectors!!! - * It will leave normals the wrong length !!! - * See macro below for use on normals. - */ - -#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - gleDouble det; \ - \ - det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - /* if matrix not singular, and not orthonormal, then renormalize */ \ - if ((det!=1.0) && (det != 0.0)) { \ - det = 1.0 / det; \ - p[0] *= det; \ - p[1] *= det; \ - } \ -} - -/* ========================================================== */ -/* transform normal vector by inverse transpose of matrix - * and then renormalize the vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * Vector p is then normalized. - */ - - -#define NORM_XFORM_2X2(p,m,v) \ -{ \ - double mlen; \ - \ - /* do nothing if off-diagonals are zero and diagonals are \ - * equal */ \ - if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - mlen = p[0]*p[0] + p[1]*p[1]; \ - mlen = 1.0 / sqrt (mlen); \ - p[0] *= mlen; \ - p[1] *= mlen; \ - } else { \ - VEC_COPY_2 (p, v); \ - } \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - m[0][3] = v[0] * t[3]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - m[1][3] = v[1] * t[3]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ - m[2][3] = v[2] * t[3]; \ - \ - m[3][0] = v[3] * t[0]; \ - m[3][1] = v[3] * t[1]; \ - m[3][2] = v[3] * t[2]; \ - m[3][3] = v[3] * t[3]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - m[0][3] += v[0] * t[3]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - m[1][3] += v[1] * t[3]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ - m[2][3] += v[2] * t[3]; \ - \ - m[3][0] += v[3] * t[0]; \ - m[3][1] += v[3] * t[1]; \ - m[3][2] += v[3] * t[2]; \ - m[3][3] += v[3] * t[3]; \ -} - -/* +========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_2X2(d,m) \ -{ \ - d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ -} - -/* ========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_3X3(d,m) \ -{ \ - d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ - d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ - d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ -} - -/* ========================================================== */ -/* i,j,th cofactor of a 4x4 matrix - * - */ - -#define COFACTOR_4X4_IJ(fac,m,i,j) \ -{ \ - int ii[4], jj[4], k; \ - \ - /* compute which row, columnt to skip */ \ - for (k=0; k - - - - IBDocumentLocation - 4 104 410 240 0 0 1152 848 - IBEditorPositions - - 29 - 19 615 246 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBGroupedObjects - - IBLastGroupID - 1 - IBOpenObjects - - 29 - - IBSystem Version - 6I32 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib deleted file mode 100644 index 8a7140e..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib deleted file mode 100644 index 7e85eb1..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib +++ /dev/null @@ -1,13 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {toggleWindow = id; }; - CLASS = GLUTClipboardController; - LANGUAGE = ObjC; - OUTLETS = {_infoText = id; _scrollView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib deleted file mode 100644 index 867735d..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib +++ /dev/null @@ -1,12 +0,0 @@ - - - - - IBDocumentLocation - 63 221 356 240 0 0 1600 1178 - IBFramework Version - 263.2 - IBSystem Version - 5S41 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib deleted file mode 100644 index 29125d4..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib deleted file mode 100644 index c675963..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib +++ /dev/null @@ -1,73 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = {save = id; saveAs = id; }; - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - cancel = id; - joyAssign = id; - joyDevice = id; - joyElement = id; - joyInvert = id; - launchDebugMode = id; - launchGamemodeCaptureSingle = id; - launchIconic = id; - launchUseCurrWD = id; - launchUseExtDesktop = id; - launchUseMacOSCoords = id; - mouseEanbleEmulation = id; - mouseMiddleMenu = id; - mouseRightMenu = id; - ok = id; - spaceAssign = id; - spaceDevice = id; - spaceElement = id; - spaceInvert = id; - }; - CLASS = GLUTPreferencesController; - LANGUAGE = ObjC; - OUTLETS = { - joyAssign = NSButton; - joyAssignNote = NSTextField; - joyAssignWarningIcon = NSImageView; - joyDeviceMenu = NSPopUpButton; - joyElement = NSTextField; - joyInputMenu = NSPopUpButton; - joyInverted = NSButton; - launchDebugMode = NSButton; - launchFadeTime = NSTextField; - launchGamemodeCaptureSingle = NSButton; - launchIconic = NSButton; - launchInitHeight = NSTextField; - launchInitWidth = NSTextField; - launchInitX = NSTextField; - launchInitY = NSTextField; - launchMenuIdle = NSTextField; - launchSyncToVBL = NSButton; - launchUseCurrWD = NSButton; - launchUseExtendedDesktop = NSButton; - launchUseMacOSXCoords = NSButton; - mouseAssignWarningIcon = NSImageView; - mouseAssignWarningText = NSTextField; - mouseDetected = NSTextField; - mouseEmulation = NSButton; - mouseMiddleConfigMenu = NSPopUpButton; - mouseRightConfigMenu = NSPopUpButton; - prefsTabView = NSTabView; - spaceAssign = NSButton; - spaceAssignNote = NSTextField; - spaceAssignWarningIcon = NSImageView; - spaceDeviceMenu = NSPopUpButton; - spaceElement = NSTextField; - spaceInputMenu = NSPopUpButton; - spaceInverted = NSButton; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib deleted file mode 100644 index 216c8dc..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBDocumentLocation - 16 329 410 240 0 0 1920 1178 - IBFramework Version - 439.0 - IBOpenObjects - - 205 - - IBSystem Version - 8G32 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib deleted file mode 100644 index 7598f2c..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings deleted file mode 100644 index 6db3c5c..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index 6f78b89..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index e8fc9d6..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - GLUT - CFBundleGetInfoString - 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved - CFBundleIdentifier - com.apple.glut - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.4.0 - CFBundleSignature - ???? - CFBundleVersion - GLUT-3.4.0 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff deleted file mode 100644 index a2b0cf1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff deleted file mode 100644 index c3f4795..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff deleted file mode 100644 index 274529f..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff deleted file mode 100644 index dec4252..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff deleted file mode 100644 index 8536c0e..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff deleted file mode 100644 index 34b52f6..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff deleted file mode 100644 index 9e3a1cb..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff deleted file mode 100644 index 0087c66..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff deleted file mode 100644 index fc4a88a..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff deleted file mode 100644 index 852b69b..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff deleted file mode 100644 index 37fe393..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff deleted file mode 100644 index d852616..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff deleted file mode 100644 index 9781f22..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff deleted file mode 100644 index 9bec966..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff deleted file mode 100644 index e4df0de..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff deleted file mode 100644 index 43cf97f..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff deleted file mode 100644 index 429b01b..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff deleted file mode 100644 index 1605063..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff deleted file mode 100644 index 81ba1aa..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT deleted file mode 100644 index babc6b1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h deleted file mode 100644 index a5116e2..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h +++ /dev/null @@ -1,18 +0,0 @@ - -/* - * - * Written By Linas Vepstas November 1991 - */ - - -#define COPY_THREE_WORDS(A,B) { \ - struct three_words { int a, b, c, }; \ - *(struct three_words *) (A) = *(struct three_words *) (B); \ -} - -#define COPY_FOUR_WORDS(A,B) { \ - struct four_words { int a, b, c, d, }; \ - *(struct four_words *) (A) = *(struct four_words *) (B); \ -} - -/* ============================================================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h deleted file mode 100644 index 658699e..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h +++ /dev/null @@ -1,96 +0,0 @@ - -/* - * extrude.h - * - * FUNCTION: - * prototypes for privately used subroutines for the tubing library - * - * HISTORY: - * Linas Vepstas 1991 - */ - -#include "port.h" /* for gleDouble */ - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ============================================================ */ -/* - * Provides choice of calling subroutine, vs. invoking macro. - * Basically, inlines the source, or not. - * Trades performance for executable size. - */ - -#define INLINE_INTERSECT -#ifdef INLINE_INTERSECT -#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } -#else -#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) -#endif /* INLINE_INTERSECT */ - -/* ============================================================ */ -/* The folowing defines give a kludgy way of accessing the qmesh primitive */ - -/* -#define bgntmesh _emu_qmesh_bgnqmesh -#define endtmesh _emu_qmesh_endqmesh -#define c3f _emu_qmesh_c3f -#define n3f _emu_qmesh_n3f -#define v3f _emu_qmesh_v3f -*/ - -/* ============================================================ */ - -extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3]); /* polyline */ - - -extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble zval, /* where to draw cap */ - int frontwards); /* front or back cap */ - -extern void draw_round_style_cap_callback (int iloop, - double cap[][3], - float face_color[3], - gleDouble cut_vector[3], - gleDouble bisect_vector[3], - double norms[][3], - int frontwards); - -extern void draw_angle_style_front_cap (int ncp, - gleDouble bi[3], - gleDouble point_array[][3]); - -extern void extrusion_raw_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_angle_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h deleted file mode 100644 index baf54a7..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef __glsmap_h__ -#define __glsmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) - -/* Try hard to avoid including to avoid name space pollution, - but Win32's needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK - /* XXX This is from Win32's */ -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif /* _WIN32 */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SMAP_CLEAR_SMAP_TEXTURE = 0x1, - SMAP_GENERATE_VIEW_MIPMAPS = 0x2, - SMAP_GENERATE_SMAP_MIPMAPS = 0x4, - SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ -} SphereMapFlags; - -/* Cube view enumerants. */ -enum { - SMAP_FRONT = 0, - SMAP_TOP = 1, - SMAP_BOTTOM = 2, - SMAP_LEFT = 3, - SMAP_RIGHT = 4, - SMAP_BACK = 5 -}; - -typedef struct _SphereMap SphereMap; - -extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); -extern void smapDestroySphereMap(SphereMap *smap); - -extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); - -extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); -extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); - -extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); -extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); - -extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); -extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); - -extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); -extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); -extern void smapSetUpVector(SphereMap *smap, GLfloat *up); -extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); -extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); -extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); -extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); -extern void smapGetUpVector(SphereMap *smap, GLfloat *up); -extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); -extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); - -extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); -extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); - -extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); -extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); -extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); -extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); - -extern void smapSetContextData(SphereMap *smap, void *context); -extern void smapGetContextData(SphereMap *smap, void **context); - -extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); -extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); -extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); -extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); - -extern void smapGenViewTex(SphereMap *smap, int view); -extern void smapGenViewTexs(SphereMap *smap); -extern void smapGenSphereMapFromViewTexs(SphereMap *smap); -extern void smapGenSphereMap(SphereMap *smap); -extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); - -extern int smapRvecToSt(float rvec[3], float st[2]); -extern void smapStToRvec(float *st, float *rvec); - -#ifdef __cplusplus -} - -#endif -#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h deleted file mode 100644 index 3620e7d..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef __glsmapint_h__ -#define __glsmapint_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glsmap.h" - -enum { X = 0, Y = 1, Z = 2 }; - -#define INITFACE(mesh) \ - int steps = mesh->steps; \ - int sqsteps = mesh->steps * mesh->steps - -#define FACE(side,y,x) \ - mesh->face[(side)*sqsteps + (y)*steps + (x)] - -#define FACExy(side,i,j) \ - (&FACE(side,i,j).x) - -#define FACEst(side,i,j) \ - (&FACE(side,i,j).s) - -#define INITBACK(mesh) \ - int allrings = mesh->rings + mesh->edgeExtend; \ - int ringedspokes = allrings * mesh->steps - -#define BACK(edge,ring,spoke) \ - mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] - -#define BACKxy(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).x) - -#define BACKst(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).s) - -typedef struct _STXY { - GLfloat s, t; - GLfloat x, y; -} STXY; - -typedef struct _SphereMapMesh { - - int refcnt; - - int steps; - int rings; - int edgeExtend; - - STXY *face; - STXY *back; - -} SphereMapMesh; - -struct _SphereMap { - - /* Shared sphere map mesh vertex data. */ - SphereMapMesh *mesh; - - /* Texture object ids. */ - GLuint smapTexObj; - GLuint viewTexObjs[6]; - GLuint viewTexObj; - - /* Flags */ - SphereMapFlags flags; - - /* Texture dimensions must be a power of two. */ - int viewTexDim; /* view texture dimension */ - int smapTexDim; /* sphere map texture dimension */ - - /* Viewport origins for view and sphere map rendering. */ - int viewOrigin[2]; - int smapOrigin[2]; - - /* Viewing vectors. */ - GLfloat eye[3]; - GLfloat up[3]; - GLfloat obj[3]; - - /* Projection parameters. */ - GLfloat viewNear; - GLfloat viewFar; - - /* Rendering callbacks. */ - void (*positionLights)(int view, void *context); - void (*drawView)(int view, void *context); - - /* Application specified callback data. */ - void *context; - -}; - -/* Library internal routines. */ -extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); -extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); -extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); - -#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h deleted file mode 100644 index cbc6ebe..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h +++ /dev/null @@ -1,648 +0,0 @@ -#ifndef __glut_h__ -#define __glut_h__ - -/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ - -/* This program is freely distributable without licensing fees and is - provided without guarantee or warrantee expressed or implied. This - program is -not- in the public domain. */ -//#define GLUT_OF_007_HACK - -#if defined(_WIN32) - -/* GLUT 3.7 now tries to avoid including - to avoid name space pollution, but Win32's - needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# define GLUT_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif - /* XXX This is from Win32's */ -# ifndef CALLBACK -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define GLUT_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ -#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif - -#if defined(__APPLE__) || defined(MACOSX) -#include -#include -#include -#else -#include -#include -#endif - -/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ -#if !defined(_WIN32) -#define APIENTRY -#define GLUT_APIENTRY_DEFINED -#define CALLBACK -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLUT API revision history: - - GLUT_API_VERSION is updated to reflect incompatible GLUT - API changes (interface changes, semantic changes, deletions, - or additions). - - GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 - - GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, - extension. Supports new input devices like tablet, dial and button - box, and Spaceball. Easy to query OpenGL extensions. - - GLUT_API_VERSION=3 glutMenuStatus added. - - GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, - glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic - video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, - glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, - glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). - - GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) -**/ -#ifndef GLUT_API_VERSION /* allow this to be overriden */ -#define GLUT_API_VERSION 5 -#endif - -/** - GLUT implementation revision history: - - GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT - API revisions and implementation revisions (ie, bug fixes). - - GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of - GLUT Xlib-based implementation. 11/29/94 - - GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of - GLUT Xlib-based implementation providing GLUT version 2 - interfaces. - - GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 - - GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 - - GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 - - GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 - - GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner - and video resize. 1/3/97 - - GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. - - GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. - - GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. - - GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. - - GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. - - GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa -**/ -#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_XLIB_IMPLEMENTATION 15 -#endif - -/** - MacOS X GLUT implementation revision history: - - GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X - specific GLUT API revisions and implementation revisions - (ie, bug fixes). - - GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. - - GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. - -**/ -#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_MACOSX_IMPLEMENTATION 2 -#endif - -/* Display mode bit masks. */ -#define GLUT_RGB 0 -#define GLUT_RGBA GLUT_RGB -#define GLUT_INDEX 1 -#define GLUT_SINGLE 0 -#define GLUT_DOUBLE 2 -#define GLUT_ACCUM 4 -#define GLUT_ALPHA 8 -#define GLUT_DEPTH 16 -#define GLUT_STENCIL 32 -#if (GLUT_API_VERSION >= 2) -#define GLUT_MULTISAMPLE 128 -#define GLUT_STEREO 256 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_LUMINANCE 512 -#endif -#define GLUT_NO_RECOVERY 1024 - -/* Mouse buttons. */ -#define GLUT_LEFT_BUTTON 0 -#define GLUT_MIDDLE_BUTTON 1 -#define GLUT_RIGHT_BUTTON 2 - -/* Mouse button state. */ -#define GLUT_DOWN 0 -#define GLUT_UP 1 - -#if (GLUT_API_VERSION >= 2) -/* function keys */ -#define GLUT_KEY_F1 1 -#define GLUT_KEY_F2 2 -#define GLUT_KEY_F3 3 -#define GLUT_KEY_F4 4 -#define GLUT_KEY_F5 5 -#define GLUT_KEY_F6 6 -#define GLUT_KEY_F7 7 -#define GLUT_KEY_F8 8 -#define GLUT_KEY_F9 9 -#define GLUT_KEY_F10 10 -#define GLUT_KEY_F11 11 -#define GLUT_KEY_F12 12 -/* directional keys */ -#define GLUT_KEY_LEFT 100 -#define GLUT_KEY_UP 101 -#define GLUT_KEY_RIGHT 102 -#define GLUT_KEY_DOWN 103 -#define GLUT_KEY_PAGE_UP 104 -#define GLUT_KEY_PAGE_DOWN 105 -#define GLUT_KEY_HOME 106 -#define GLUT_KEY_END 107 -#define GLUT_KEY_INSERT 108 -#endif - -/* Entry/exit state. */ -#define GLUT_LEFT 0 -#define GLUT_ENTERED 1 - -/* Menu usage state. */ -#define GLUT_MENU_NOT_IN_USE 0 -#define GLUT_MENU_IN_USE 1 - -/* Visibility state. */ -#define GLUT_NOT_VISIBLE 0 -#define GLUT_VISIBLE 1 - -/* Window status state. */ -#define GLUT_HIDDEN 0 -#define GLUT_FULLY_RETAINED 1 -#define GLUT_PARTIALLY_RETAINED 2 -#define GLUT_FULLY_COVERED 3 - -/* Color index component selection values. */ -#define GLUT_RED 0 -#define GLUT_GREEN 1 -#define GLUT_BLUE 2 - -/* Layers for use. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -#if defined(_WIN32) -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN ((void*)0) -#define GLUT_STROKE_MONO_ROMAN ((void*)1) - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 ((void*)2) -#define GLUT_BITMAP_8_BY_13 ((void*)3) -#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) -#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 ((void*)6) -#define GLUT_BITMAP_HELVETICA_12 ((void*)7) -#define GLUT_BITMAP_HELVETICA_18 ((void*)8) -#endif -#else -/* Stroke font opaque addresses (use constants instead in source code). */ -extern void *glutStrokeRoman; -extern void *glutStrokeMonoRoman; - -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN (&glutStrokeRoman) -#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) - -/* Bitmap font opaque addresses (use constants instead in source code). */ -extern void *glutBitmap9By15; -extern void *glutBitmap8By13; -extern void *glutBitmapTimesRoman10; -extern void *glutBitmapTimesRoman24; -extern void *glutBitmapHelvetica10; -extern void *glutBitmapHelvetica12; -extern void *glutBitmapHelvetica18; - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) -#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) -#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) -#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) -#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) -#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) -#endif -#endif - -/* glutGet parameters. */ -#define GLUT_WINDOW_X 100 -#define GLUT_WINDOW_Y 101 -#define GLUT_WINDOW_WIDTH 102 -#define GLUT_WINDOW_HEIGHT 103 -#define GLUT_WINDOW_BUFFER_SIZE 104 -#define GLUT_WINDOW_STENCIL_SIZE 105 -#define GLUT_WINDOW_DEPTH_SIZE 106 -#define GLUT_WINDOW_RED_SIZE 107 -#define GLUT_WINDOW_GREEN_SIZE 108 -#define GLUT_WINDOW_BLUE_SIZE 109 -#define GLUT_WINDOW_ALPHA_SIZE 110 -#define GLUT_WINDOW_ACCUM_RED_SIZE 111 -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 -#define GLUT_WINDOW_DOUBLEBUFFER 115 -#define GLUT_WINDOW_RGBA 116 -#define GLUT_WINDOW_PARENT 117 -#define GLUT_WINDOW_NUM_CHILDREN 118 -#define GLUT_WINDOW_COLORMAP_SIZE 119 -#if (GLUT_API_VERSION >= 2) -#define GLUT_WINDOW_NUM_SAMPLES 120 -#define GLUT_WINDOW_STEREO 121 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_WINDOW_CURSOR 122 -#endif -#define GLUT_SCREEN_WIDTH 200 -#define GLUT_SCREEN_HEIGHT 201 -#define GLUT_SCREEN_WIDTH_MM 202 -#define GLUT_SCREEN_HEIGHT_MM 203 -#define GLUT_MENU_NUM_ITEMS 300 -#define GLUT_DISPLAY_MODE_POSSIBLE 400 -#define GLUT_INIT_WINDOW_X 500 -#define GLUT_INIT_WINDOW_Y 501 -#define GLUT_INIT_WINDOW_WIDTH 502 -#define GLUT_INIT_WINDOW_HEIGHT 503 -#define GLUT_INIT_DISPLAY_MODE 504 -#if (GLUT_API_VERSION >= 2) -#define GLUT_ELAPSED_TIME 700 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_WINDOW_FORMAT_ID 123 -#endif - -#if (GLUT_API_VERSION >= 2) -/* glutDeviceGet parameters. */ -#define GLUT_HAS_KEYBOARD 600 -#define GLUT_HAS_MOUSE 601 -#define GLUT_HAS_SPACEBALL 602 -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 -#define GLUT_HAS_TABLET 604 -#define GLUT_NUM_MOUSE_BUTTONS 605 -#define GLUT_NUM_SPACEBALL_BUTTONS 606 -#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 -#define GLUT_NUM_DIALS 608 -#define GLUT_NUM_TABLET_BUTTONS 609 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 -#define GLUT_DEVICE_KEY_REPEAT 611 -#define GLUT_HAS_JOYSTICK 612 -#define GLUT_OWNS_JOYSTICK 613 -#define GLUT_JOYSTICK_BUTTONS 614 -#define GLUT_JOYSTICK_AXES 615 -#define GLUT_JOYSTICK_POLL_RATE 616 -#endif - -#if (GLUT_API_VERSION >= 3) -/* glutLayerGet parameters. */ -#define GLUT_OVERLAY_POSSIBLE 800 -#define GLUT_LAYER_IN_USE 801 -#define GLUT_HAS_OVERLAY 802 -#define GLUT_TRANSPARENT_INDEX 803 -#define GLUT_NORMAL_DAMAGED 804 -#define GLUT_OVERLAY_DAMAGED 805 - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* glutVideoResizeGet parameters. */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 900 -#define GLUT_VIDEO_RESIZE_IN_USE 901 -#define GLUT_VIDEO_RESIZE_X_DELTA 902 -#define GLUT_VIDEO_RESIZE_Y_DELTA 903 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 -#define GLUT_VIDEO_RESIZE_X 906 -#define GLUT_VIDEO_RESIZE_Y 907 -#define GLUT_VIDEO_RESIZE_WIDTH 908 -#define GLUT_VIDEO_RESIZE_HEIGHT 909 -#endif - -/* glutUseLayer parameters. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -/* glutGetModifiers return mask. */ -#define GLUT_ACTIVE_SHIFT 1 -#define GLUT_ACTIVE_CTRL 2 -#define GLUT_ACTIVE_ALT 4 - -/* glutSetCursor parameters. */ -/* Basic arrows. */ -#define GLUT_CURSOR_RIGHT_ARROW 0 -#define GLUT_CURSOR_LEFT_ARROW 1 -/* Symbolic cursor shapes. */ -#define GLUT_CURSOR_INFO 2 -#define GLUT_CURSOR_DESTROY 3 -#define GLUT_CURSOR_HELP 4 -#define GLUT_CURSOR_CYCLE 5 -#define GLUT_CURSOR_SPRAY 6 -#define GLUT_CURSOR_WAIT 7 -#define GLUT_CURSOR_TEXT 8 -#define GLUT_CURSOR_CROSSHAIR 9 -/* Directional cursors. */ -#define GLUT_CURSOR_UP_DOWN 10 -#define GLUT_CURSOR_LEFT_RIGHT 11 -/* Sizing cursors. */ -#define GLUT_CURSOR_TOP_SIDE 12 -#define GLUT_CURSOR_BOTTOM_SIDE 13 -#define GLUT_CURSOR_LEFT_SIDE 14 -#define GLUT_CURSOR_RIGHT_SIDE 15 -#define GLUT_CURSOR_TOP_LEFT_CORNER 16 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 -/* Inherit from parent window. */ -#define GLUT_CURSOR_INHERIT 100 -/* Blank cursor. */ -#define GLUT_CURSOR_NONE 101 -/* Fullscreen crosshair (if available). */ -#define GLUT_CURSOR_FULL_CROSSHAIR 102 -#endif - -/* GLUT initialization sub-API. */ -extern void APIENTRY glutInit(int *argcp, char **argv); -extern void APIENTRY glutInitDisplayMode(unsigned int mode); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutInitDisplayString(const char *string); -#endif -extern void APIENTRY glutInitWindowPosition(int x, int y); -extern void APIENTRY glutInitWindowSize(int width, int height); -extern void APIENTRY glutMainLoop(void); - -/* GLUT window sub-API. */ -extern int APIENTRY glutCreateWindow(const char *title); -extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); -extern void APIENTRY glutDestroyWindow(int win); -extern void APIENTRY glutPostRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowRedisplay(int win); -#endif -extern void APIENTRY glutSwapBuffers(void); -extern int APIENTRY glutGetWindow(void); -extern void APIENTRY glutSetWindow(int win); -extern void APIENTRY glutSetWindowTitle(const char *title); -extern void APIENTRY glutSetIconTitle(const char *title); -extern void APIENTRY glutPositionWindow(int x, int y); -extern void APIENTRY glutReshapeWindow(int width, int height); -extern void APIENTRY glutPopWindow(void); -extern void APIENTRY glutPushWindow(void); -extern void APIENTRY glutIconifyWindow(void); -extern void APIENTRY glutShowWindow(void); -extern void APIENTRY glutHideWindow(void); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutFullScreen(void); -extern void APIENTRY glutSetCursor(int cursor); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWarpPointer(int x, int y); -#if (GLUT_MACOSX_IMPLEMENTATION >= 1) -/* surface texturing API Mac OS X specific -* Note: -* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object -*/ -#ifdef MAC_OS_X_VERSION_10_5 -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -#else -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); -#endif -#endif -#if (GLUT_MACOSX_IMPLEMENTATION >= 2) -/* Mac OS X specific API */ -extern void APIENTRY glutWMCloseFunc(void (*func)(void)); -extern void APIENTRY glutCheckLoop(void); -#endif -#endif - -/* GLUT overlay sub-API. */ -extern void APIENTRY glutEstablishOverlay(void); -extern void APIENTRY glutRemoveOverlay(void); -extern void APIENTRY glutUseLayer(GLenum layer); -extern void APIENTRY glutPostOverlayRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowOverlayRedisplay(int win); -#endif -extern void APIENTRY glutShowOverlay(void); -extern void APIENTRY glutHideOverlay(void); -#endif - -/* GLUT menu sub-API. */ -extern int APIENTRY glutCreateMenu(void (*)(int)); -extern void APIENTRY glutDestroyMenu(int menu); -extern int APIENTRY glutGetMenu(void); -extern void APIENTRY glutSetMenu(int menu); -extern void APIENTRY glutAddMenuEntry(const char *label, int value); -extern void APIENTRY glutAddSubMenu(const char *label, int submenu); -extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); -extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); -extern void APIENTRY glutRemoveMenuItem(int item); -extern void APIENTRY glutAttachMenu(int button); -extern void APIENTRY glutDetachMenu(int button); - -/* GLUT window callback sub-API. */ -extern void APIENTRY glutDisplayFunc(void (*func)(void)); -extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); -extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); -extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutEntryFunc(void (*func)(int state)); -extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); -extern void APIENTRY glutIdleFunc(void (*func)(void)); -extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); -extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); -#if (GLUT_API_VERSION >= 2) -extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); -extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); -extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); -extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); -extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); -//#ifdef GLUT_OF_007_HACK -extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); -//#endif -#endif -#endif -#endif - -/* GLUT color index sub-API. */ -extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); -extern GLfloat APIENTRY glutGetColor(int ndx, int component); -extern void APIENTRY glutCopyColormap(int win); - -/* GLUT state retrieval sub-API. */ -extern int APIENTRY glutGet(GLenum type); -extern int APIENTRY glutDeviceGet(GLenum type); -#if (GLUT_API_VERSION >= 2) -/* GLUT extension support sub-API */ -extern int APIENTRY glutExtensionSupported(const char *name); -#endif -#if (GLUT_API_VERSION >= 3) -extern int APIENTRY glutGetModifiers(void); -extern int APIENTRY glutLayerGet(GLenum type); -#endif -#if (GLUT_API_VERSION >= 5) -extern void * APIENTRY glutGetProcAddress(const char *procName); -#endif - -/* GLUT font sub-API */ -extern void APIENTRY glutBitmapCharacter(void *font, int character); -extern int APIENTRY glutBitmapWidth(void *font, int character); -extern void APIENTRY glutStrokeCharacter(void *font, int character); -extern int APIENTRY glutStrokeWidth(void *font, int character); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); -extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); -#endif - -/* GLUT pre-built models sub-API */ -extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutWireCube(GLdouble size); -extern void APIENTRY glutSolidCube(GLdouble size); -extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutWireDodecahedron(void); -extern void APIENTRY glutSolidDodecahedron(void); -extern void APIENTRY glutWireTeapot(GLdouble size); -extern void APIENTRY glutSolidTeapot(GLdouble size); -extern void APIENTRY glutWireOctahedron(void); -extern void APIENTRY glutSolidOctahedron(void); -extern void APIENTRY glutWireTetrahedron(void); -extern void APIENTRY glutSolidTetrahedron(void); -extern void APIENTRY glutWireIcosahedron(void); -extern void APIENTRY glutSolidIcosahedron(void); - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* GLUT video resize sub-API. */ -extern int APIENTRY glutVideoResizeGet(GLenum param); -extern void APIENTRY glutSetupVideoResizing(void); -extern void APIENTRY glutStopVideoResizing(void); -extern void APIENTRY glutVideoResize(int x, int y, int width, int height); -extern void APIENTRY glutVideoPan(int x, int y, int width, int height); - -/* GLUT debugging sub-API. */ -extern void APIENTRY glutReportErrors(void); -#endif - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -/* GLUT device control sub-API. */ -/* glutSetKeyRepeat modes. */ -#define GLUT_KEY_REPEAT_OFF 0 -#define GLUT_KEY_REPEAT_ON 1 -#define GLUT_KEY_REPEAT_DEFAULT 2 - -/* Joystick button masks. */ -#define GLUT_JOYSTICK_BUTTON_A 1 -#define GLUT_JOYSTICK_BUTTON_B 2 -#define GLUT_JOYSTICK_BUTTON_C 4 -#define GLUT_JOYSTICK_BUTTON_D 8 - -extern void APIENTRY glutIgnoreKeyRepeat(int ignore); -extern void APIENTRY glutSetKeyRepeat(int repeatMode); -extern void APIENTRY glutForceJoystickFunc(void); - -/* GLUT game mode sub-API. */ -/* glutGameModeGet. */ -#define GLUT_GAME_MODE_ACTIVE 0 -#define GLUT_GAME_MODE_POSSIBLE 1 -#define GLUT_GAME_MODE_WIDTH 2 -#define GLUT_GAME_MODE_HEIGHT 3 -#define GLUT_GAME_MODE_PIXEL_DEPTH 4 -#define GLUT_GAME_MODE_REFRESH_RATE 5 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 - -extern void APIENTRY glutGameModeString(const char *string); -extern int APIENTRY glutEnterGameMode(void); -extern void APIENTRY glutLeaveGameMode(void); -extern int APIENTRY glutGameModeGet(GLenum mode); -#endif - -#ifdef __cplusplus -} - -#endif - -#ifdef GLUT_APIENTRY_DEFINED -# undef GLUT_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef GLUT_WINGDIAPI_DEFINED -# undef GLUT_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - -#endif /* __glut_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h deleted file mode 100644 index e29a016..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __glutbitmap_h__ -#define __glutbitmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glut.h" - -typedef struct { - const GLsizei width; - const GLsizei height; - const GLfloat xorig; - const GLfloat yorig; - const GLfloat advance; - const GLubyte *bitmap; -} BitmapCharRec, *BitmapCharPtr; - -typedef struct { - const char *name; - const int num_chars; - const int first; - const BitmapCharRec * const *ch; -} BitmapFontRec, *BitmapFontPtr; - -typedef void *GLUTbitmapFont; - -#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h deleted file mode 100644 index f8a170b..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef __glutf90_h__ -#define __glutf90_h__ - -/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -/* This header provides the binding interface for William Mitchell's - f90gl Fortran 90 GLUT binding. Other GLUT language bindings - can and should use this interace. */ - -/* I appreciate the guidance from William Mitchell - (mitchell@cam.nist.gov) in developing this friend interface - for use by the f90gl package. See ../../README.fortran */ - -#include - -#ifndef GLUTCALLBACK - #define GLUTCALLBACK -#endif -#ifndef APIENTRY - #define APIENTRY -#endif - -/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ -/* NOTE These values are part of a binary interface for the f90gl Fortran - 90 binding and so must NOT changes (additions are allowed). */ - -/* GLUTwindow callbacks. */ -#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ -#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ -#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ -#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ -#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ -#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ -#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ -#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ -#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ -#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ -#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ -#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ -#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ -#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ -#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ -#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ -#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ -#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ -#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ -#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ -#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ -/* Non-GLUTwindow callbacks. */ -#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ -#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ -#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ - -/* GLUT Fortran callback function types. */ -typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); -typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); -typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); -/* NOTE the pressed key is int, not unsigned char for Fortran! */ -typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); -typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); -typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); -typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); - -typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); -typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); -typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ -typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTidleFCB) (void); - -/* Functions that set and return Fortran callback functions. */ -extern void* APIENTRY __glutGetFCB(int which); -extern void APIENTRY __glutSetFCB(int which, void *func); - -#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h deleted file mode 100644 index cbc9e15..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __glutstroke_h__ -#define __glutstroke_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ -#endif - -typedef struct { - float x; - float y; -} CoordRec, *CoordPtr; - -typedef struct { - int num_coords; - const CoordRec *coord; -} StrokeRec, *StrokePtr; - -typedef struct { - int num_strokes; - const StrokeRec *stroke; - float center; - float right; -} StrokeCharRec, *StrokeCharPtr; - -typedef struct { - const char *name; - int num_chars; - const StrokeCharRec *ch; - float top; - float bottom; -} StrokeFontRec, *StrokeFontPtr; - -typedef void *GLUTstrokeFont; - -#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h deleted file mode 100644 index f7ffcf3..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h +++ /dev/null @@ -1,89 +0,0 @@ - -/* - * gutil.h - * - * FUNCTION: - * Provide utilities that allow rotation to occur - * around any axis. - * - * HISTORY: - * created by Linas Vepstas 1990 - * added single & double precision, June 1991, Linas Vepstas - */ - -#ifndef __GUTIL_H__ -#define __GUTIL_H__ - -#ifdef __GUTIL_DOUBLE -#define gutDouble double -#else -#define gutDouble float -#endif - - -#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (); -extern void rot_about_axis_f (); -extern void rot_omega_f (); -extern void urot_axis_f (); -extern void urot_about_axis_f (); -extern void urot_omega_f (); - -/* double-precision versions */ -extern void rot_axis_d (); -extern void rot_about_axis_d (); -extern void rot_omega_d (); -extern void urot_axis_d (); -extern void urot_about_axis_d (); -extern void urot_omega_d (); - -/* viewpoint functions */ -extern void uview_direction_d (); -extern void uview_direction_f (); -extern void uviewpoint_d (); -extern void uviewpoint_f (); - -#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (float omega, float axis[3]); -extern void rot_about_axis_f (float angle, float axis[3]); -extern void rot_omega_f (float axis[3]); -extern void urot_axis_f (float m[4][4], float omega, float axis[3]); -extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); -extern void urot_omega_f (float m[4][4], float axis[3]); - -/* double-precision versions */ -extern void rot_axis_d (double omega, double axis[3]); -extern void rot_about_axis_d (double angle, double axis[3]); -extern void rot_omega_d (double axis[3]); -extern void urot_axis_d (double m[4][4], double omega, double axis[3]); -extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); -extern void urot_omega_d (double m[4][4], double axis[3]); - -/* viewpoint functions */ -extern void uview_direction_d (double m[4][4], /* returned */ - double v21[3], /* input */ - double up[3]); /* input */ - -extern void uview_direction_f (float m[4][4], /* returned */ - float v21[3], /* input */ - float up[3]); /* input */ - -extern void uviewpoint_d (double m[4][4], /* returned */ - double v1[3], /* input */ - double v2[3], /* input */ - double up[3]); /* input */ - -extern void uviewpoint_f (float m[4][4], /* returned */ - float v1[3], /* input */ - float v2[3], /* input */ - float up[3]); /* input */ - -#endif /* _NO_PROTO */ - -#endif /* _GUTIL_H__ */ - -/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h deleted file mode 100644 index f5ff7a5..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * FUNCTION: - * This file contains a number of utilities useful to 3D graphics in - * general, and to the generation of tubing and extrusions in particular - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Updated to correctly handle degenerate cases, Linas, February 1993 - */ - -#include -#include "port.h" -#include "vvector.h" - -#define BACKWARDS_INTERSECT (2) - -/* ========================================================== */ -/* - * the Degenerate_Tolerance token represents the greatest amount by - * which different scales in a graphics environment can differ before - * they should be considered "degenerate". That is, when one vector is - * a million times longer than another, changces are that the second will - * be less than a pixel int, and therefore was probably meant to be - * degenerate (by the CAD package, etc.) But what should this tolerance - * be? At least 1 in onethousand (since screen sizes are 1K pixels), but - * les than 1 in 4 million (since this is the limit of single-precision - * floating point accuracy). Of course, if double precision were used, - * then the tolerance could be increased. - * - * Potentially, this naive assumption could cause problems if the CAD - * package attempts to zoom in on small details, and turns out, certain - * points should not hvae been degenerate. The problem presented here - * is that the tolerance could run out before single-precision ran - * out, and so the CAD packages would perceive this as a "bug". - * One alternative is to fiddle around & try to tighten the tolerance. - * However, the right alternative is to code the graphics pipeline in - * double-precision (and tighten the tolerance). - * - * By the way, note that Degernate Tolerance is a "dimensionless" - * quantitiy -- it has no units -- it does not measure feet, inches, - * millimeters or pixels. It is used only in the computations of ratios - * and relative lengths. - */ - -/* - * Right now, the tolerance is set to 2 parts in a million, which - * corresponds to a 19-bit distinction of mantissas. Note that - * single-precsion numbers have 24 bit mantissas. - */ - -#define DEGENERATE_TOLERANCE (0.000002) - -/* ========================================================== */ -/* - * The macro and subroutine INTERSECT are designed to compute the - * intersection of a line (defined by the points v1 and v2) and a plane - * (defined as plane which is normal to the vector n, and contains the - * point p). Both return the point sect, which is the point of - * interesection. - * - * This MACRO attemps to be fairly robust by checking for a divide by - * zero. - */ - -/* ========================================================== */ -/* - * HACK ALERT - * The intersection parameter t has the nice property that if t>1, - * then the intersection is "in front of" p1, and if t<0, then the - * intersection is "behind" p2. Unfortunately, as the intersecting plane - * and the line become parallel, t wraps through infinity -- i.e. t can - * become so large that t becomes "greater than infinity" and comes back - * as a negative number (i.e. winding number hopped by one unit). We - * have no way of detecting this situation without adding gazzillions - * of lines of code of topological algebra to detect the winding number; - * and this would be incredibly difficult, and ruin performance. - * - * Thus, we've installed a cheap hack for use by the "cut style" drawing - * routines. If t proves to be a large negative number (more negative - * than -5), then we assume that t was positive and wound through - * infinity. This makes most cuts look good, without introducing bogus - * cuts at infinity. - */ -/* ========================================================== */ - -#define INTERSECT(sect,p,n,v1,v2) \ -{ \ - gleDouble deno, numer, t, omt; \ - \ - deno = (v1[0] - v2[0]) * n[0]; \ - deno += (v1[1] - v2[1]) * n[1]; \ - deno += (v1[2] - v2[2]) * n[2]; \ - \ - if (deno == 0.0) { \ - VEC_COPY (n, v1); \ - /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ - } else { \ - \ - numer = (p[0] - v2[0]) * n[0]; \ - numer += (p[1] - v2[1]) * n[1]; \ - numer += (p[2] - v2[2]) * n[2]; \ - \ - t = numer / deno; \ - omt = 1.0 - t; \ - \ - sect[0] = t * v1[0] + omt * v2[0]; \ - sect[1] = t * v1[1] + omt * v2[1]; \ - sect[2] = t * v1[2] + omt * v2[2]; \ - } \ -} - -/* ========================================================== */ -/* - * The macro and subroutine BISECTING_PLANE compute a normal vector that - * describes the bisecting plane between three points (v1, v2 and v3). - * This bisecting plane has the following properties: - * 1) it contains the point v2 - * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it - * makes with v32 == v3 - v2 - * 3) it is perpendicular to the plane defined by v1, v2, v3. - * - * Having input v1, v2, and v3, it returns a unit vector n. - * - * In some cases, the user may specify degenerate points, and still - * expect "reasonable" or "obvious" behaviour. The "expected" - * behaviour for these degenerate cases is: - * - * 1) if v1 == v2 == v3, then return n=0 - * 2) if v1 == v2, then return v32 (normalized). - * 3) if v2 == v3, then return v21 (normalized). - * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). - * - * Mathematically, these special cases "make sense" -- we just have to - * code around potential divide-by-zero's in the code below. - */ - -/* ========================================================== */ - -#define BISECTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as bisector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ - (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ -/* - * The block of code below is ifdef'd out, and is here for reference - * purposes only. It performs the "mathematically right thing" for - * computing a bisecting plane, but is, unfortunately, subject ot noise - * in the presence of near degenerate points. Since computer graphics, - * due to sloppy coding, laziness, or correctness, is filled with - * degenerate points, we can't really use this version. The code above - * is far more appropriate for graphics. - */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define BISECTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 == 0.0) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - } \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - if (len32 == 0.0) { \ - /* return a normalized copy of v21 as bisector */ \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot == 1.0) || (vdot == -1.0)) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} -#endif - -/* ========================================================== */ -/* - * This macro computes the plane perpendicular to the the plane - * defined by three points, and whose normal vector is givven as the - * difference between the two vectors ... - * - * (See way below for the "math" model if you want to understand this. - * The comments about relative errors above apply here.) - */ - -#define CUTTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double lendiff; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as cut-vector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as cut vector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_LENGTH (lendiff, n); \ - \ - /* if the perp vector is very small, then the two \ - * vectors are darn near collinear, and the cut \ - * vector is probably poorly defined. */ \ - if (lendiff < DEGENERATE_TOLERANCE) { \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - lendiff = 1.0 / lendiff; \ - VEC_SCALE (n, lendiff, n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define CUTTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_NORMALIZE (v21); \ - VEC_NORMALIZE (v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_NORMALIZE (n); \ -} -#endif - - -/* ============================================================ */ -/* This macro is used in several places to cycle through a series of - * points to find the next non-degenerate point in a series */ - -#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ -{ \ - gleDouble slen; \ - gleDouble summa[3]; \ - \ - do { \ - /* get distance to next point */ \ - VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (len, diff); \ - VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (slen, summa); \ - slen *= DEGENERATE_TOLERANCE; \ - inext ++; \ - } while ((len <= slen) && (inext < npoints-1)); \ -} - -/* ========================================================== */ - -extern int bisecting_plane (gleDouble n[3], /* returned */ - gleDouble v1[3], /* input */ - gleDouble v2[3], /* input */ - gleDouble v3[3]); /* input */ - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h deleted file mode 100644 index 2827bbf..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * port.h - * - * FUNCTION: - * This file contains defines for porting the tubing toolkit from GL to - * OpenGL to some callback scheme. - * - * HISTORY: - * Created by Linas Vepstas -- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - */ - -#ifndef __GLE_PORT_H__ -#define __GLE_PORT_H__ - - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ====================================================== */ -/* Some compilers can't handle multiply-subscripted array's */ - -#ifdef FUNKY_C -typedef gleDouble gleVector; -#define AVAL(arr,n,i,j) arr(6*n+3*i+j) -#define VVAL(arr,n,i) arr(3*n+i) - -#else /* FUNKY_C */ -typedef double gleVector[3]; -typedef double glePoint[2]; -#define AVAL(arr,n,i,j) arr[n][i][j] -#define VVAL(arr,n,i) arr[n][i]; - -#endif /* FUNKY_C */ - -/* ====================================================== */ -/* These are used to convey info about topography to the - * texture mapping routines */ - -#define FRONT 1 -#define BACK 2 -#define FRONT_CAP 3 -#define BACK_CAP 4 -#define FILLET 5 - -/* ====================================================== */ - -#define __GLE_DOUBLE - -/* ====================================================== */ - -#ifdef __GLE_DOUBLE -#ifndef gleDouble - #define gleDouble double -#endif -#define urot_axis(a,b,c) urot_axis_d(a,b,c) -#define uview_direction(a,b,c) uview_direction_d(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_D(m) -#define LOADMATRIX(m) LOADMATRIX_D(m) -#define V3F(x,j,id) V3F_D(x,j,id) -#define N3F(x) N3F_D(x) -#define T2F(x,y) T2F_D(x,y) -#else -#define gleDouble float -#define urot_axis(a,b,c) urot_axis_f(a,b,c) -#define uview_direction(a,b,c) uview_direction_f(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_F(m) -#define LOADMATRIX(m) LOADMATRIX_F(m) -#define V3F(x,j,id) V3F_F(x,j,id) -#define N3F(x) N3F_F(x) -#define T2F(x,y) T2F_F(x,y) -#endif - -/* ====================================================== */ - -#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) -#undef GL_32 -#undef OPENGL_10 - -#define BGNTMESH(i,len) printf ("bgntmesh() \n"); -#define ENDTMESH() printf ("endtmesh() \n"); -#define BGNPOLYGON() printf ("bgnpolygon() \n"); -#define ENDPOLYGON() printf ("endpolygon() \n"); -#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); - -#define POPMATRIX() printf ("popmatrix () \n"); -#define PUSHMATRIX() printf ("pushmatrix() \n"); -#define MULTMATRIX_F(x) MULTMATRIX_D(x) -#define LOADMATRIX_F(x) LOADMATRIX_D(x) - - -#define LOADMATRIX_D(x) { \ - int i, j; \ - printf ("loadmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - printf ("multmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define __IS_LIGHTING_ON (1) - -#endif - -/* ====================================================== */ - -#ifdef GL_32 - -#include - -#define BGNTMESH(i,len) bgntmesh() -#define ENDTMESH() endtmesh() -#define BGNPOLYGON() bgnpolygon() -#define ENDPOLYGON() endpolygon() -#define V3F_F(x,j,id) v3f(x) -#define V3F_D(x,j,id) v3d(x) -#define N3F_F(x) n3f(x) -#define T2F_F(x,y) -#define T2F_D(x,y) -#define C3F(x) c3f(x) - -#define POPMATRIX() popmatrix () -#define PUSHMATRIX() pushmatrix() -#define MULTMATRIX_F(x) multmatrix (x) -#define LOADMATRIX_F(x) loadmatrix (x) - -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = (float) x[0]; \ - nnn[1] = (float) x[1]; \ - nnn[2] = (float) x[2]; \ - n3f (nnn); \ -} - -#define LOADMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - loadmatrix(mmm); \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - multmatrix(mmm); \ -} - -/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ -#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) - -#endif /* GL_32 */ - -/* ====================================================== */ -#ifdef OPENGL_10 - -#if defined(_WIN32) -#include -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#endif -#include -#include - -/* -#define N3F_F(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -*/ - -#define C3F(x) glColor3fv(x) -#define T2F_F(x,y) glTexCoord2f(x,y) -#define T2F_D(x,y) glTexCoord2d(x,y) - -#define POPMATRIX() glPopMatrix() -#define PUSHMATRIX() glPushMatrix() - -#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) -#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) - -#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) -#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) - -#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) - -/* ====================================================== */ -#ifdef AUTO_TEXTURE - -#define BGNTMESH(i,len) { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ - glBegin (GL_TRIANGLE_STRIP); \ -} - -#define BGNPOLYGON() { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ - glBegin (GL_POLYGON); \ -} - -#define N3F_F(x) { \ - if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ - glNormal3fv(x); \ -} - -#define N3F_D(x) { \ - if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ - glNormal3dv(x); \ -} - -#define V3F_F(x,j,id) { \ - if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ - glVertex3fv(x); \ -} - -#define V3F_D(x,j,id) { \ - if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ - glVertex3dv(x); \ -} - -#define ENDTMESH() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -#define ENDPOLYGON() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -/* ====================================================== */ -#else /* AUTO_TEXTURE */ - -#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); -#define BGNPOLYGON() glBegin (GL_POLYGON); - -#define N3F_F(x) glNormal3fv(x) -#define N3F_D(x) glNormal3dv(x) -#define V3F_F(x,j,id) glVertex3fv(x); -#define V3F_D(x,j,id) glVertex3dv(x); - -#define ENDTMESH() glEnd () -#define ENDPOLYGON() glEnd() - -#endif /* AUTO_TEXTURE */ - -#endif /* OPENGL_10 */ - -/* ====================================================== */ - - -#endif /* __GLE_PORT_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h deleted file mode 100644 index 91083e9..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * rot.h - * - * FUNCTION: - * rotation matrix utilities - * - * HISTORY: - * Linas Vepstas Aug 1990 - */ - -/* ========================================================== */ -/* - * The MACROS below generate and return more traditional rotation - * matrices -- matrices for rotations about principal axes. - */ -/* ========================================================== */ - -#define ROTX_CS(m,cosine,sine) \ -{ \ - /* rotation about the x-axis */ \ - \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = (cosine); \ - m[1][2] = (sine); \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = -(sine); \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTY_CS(m,cosine,sine) \ -{ \ - /* rotation about the y-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = 0.0; \ - m[0][2] = -(sine); \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = (sine); \ - m[2][1] = 0.0; \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTZ_CS(m,cosine,sine) \ -{ \ - /* rotation about the z-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = (sine); \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = -(sine); \ - m[1][1] = (cosine); \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h deleted file mode 100644 index 8d1cf04..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * MODULE: segment.h - * - * FUNCTION: - * Contains function prototypes for segment drawing subroutines. - * These are used only internally, and are not to be exported to - * the user. - * - * HISTORY: - * Create by Linas Vepstas - * Added tube.h include to define gleDouble, tad February 2002 - */ - -/* ============================================================ */ - -#include "tube.h" - -extern void draw_segment_plain (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - int inext, double len); - -extern void draw_segment_color (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_edge_n (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_edge_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -/* ============================================================ */ - -extern void draw_binorm_segment_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_binorm_segment_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ - gleDouble bi[3], /* biscetor */ - gleDouble point_array[][3]); /* polyline */ - -/* -------------------------- end of file -------------------------------- */ - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h deleted file mode 100644 index c303e19..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * tube.h - * - * FUNCTION: - * Tubing and Extrusion header file. - * This file provides protypes and defines for the extrusion - * and tubing primitives. - * - * HISTORY: - * Linas Vepstas 1990, 1991 - */ - -#ifndef __TUBE_H__ -#define __TUBE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLE API revision history: - - GLE_API_VERSION is updated to reflect GLE API changes (interface - changes, semantic changes, deletions, or additions). - - GLE_API_VERSION=228 GLUT 3.7 release of GLE. -**/ -#ifndef GLE_API_VERSION /* allow this to be overriden */ -#define GLE_API_VERSION 228 -#endif - -/* some types */ -#ifndef gleDouble - #define gleDouble double -#endif -typedef gleDouble gleAffine[2][3]; - -/* ====================================================== */ - -/* defines for tubing join styles */ -#define TUBE_JN_RAW 0x1 -#define TUBE_JN_ANGLE 0x2 -#define TUBE_JN_CUT 0x3 -#define TUBE_JN_ROUND 0x4 -#define TUBE_JN_MASK 0xf /* mask bits */ -#define TUBE_JN_CAP 0x10 - -/* determine how normal vectors are to be handled */ -#define TUBE_NORM_FACET 0x100 -#define TUBE_NORM_EDGE 0x200 -#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ -#define TUBE_NORM_MASK 0xf00 /* mask bits */ - -/* closed or open countours */ -#define TUBE_CONTOUR_CLOSED 0x1000 - -#define GLE_TEXTURE_ENABLE 0x10000 -#define GLE_TEXTURE_STYLE_MASK 0xff -#define GLE_TEXTURE_VERTEX_FLAT 1 -#define GLE_TEXTURE_NORMAL_FLAT 2 -#define GLE_TEXTURE_VERTEX_CYL 3 -#define GLE_TEXTURE_NORMAL_CYL 4 -#define GLE_TEXTURE_VERTEX_SPH 5 -#define GLE_TEXTURE_NORMAL_SPH 6 -#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 -#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 -#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 -#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 -#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 -#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 - -#ifdef GL_32 -/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ -#define TUBE_LIGHTING_ON 0x80000000 - -#define gleExtrusion extrusion -#define gleSetJoinStyle setjoinstyle -#define gleGetJoinStyle getjoinstyle -#define glePolyCone polycone -#define glePolyCylinder polycylinder -#define gleSuperExtrusion super_extrusion -#define gleTwistExtrusion twist_extrusion -#define gleSpiral spiral -#define gleLathe lathe -#define gleHelicoid helicoid -#define gleToroid toroid -#define gleScrew screw - -#endif /* GL_32 */ - -extern int gleGetJoinStyle (void); -extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ -extern int gleGetNumSlices(void); -extern void gleSetNumSlices(int slices); - -/* draw polyclinder, specified as a polyline */ -extern void glePolyCylinder (int npoints, /* num points in polyline */ - gleDouble point_array[][3], /* polyline vertces */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius); /* radius of polycylinder */ - -/* draw polycone, specified as a polyline with radii */ -extern void glePolyCone (int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius_array[]); /* cone radii at polyline verts */ - -/* extrude arbitrary 2D contour along arbitrary 3D path */ -extern void gleExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3]); /* colors at polyline verts */ - -/* extrude 2D contour, specifying local rotations (twists) */ -extern void gleTwistExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble twist_array[]); /* countour twists (in degrees) */ - -/* extrude 2D contour, specifying local affine tranformations */ -extern void gleSuperExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* spiral moves contour along helical path by parallel transport */ -extern void gleSpiral (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* lathe moves contour along helical path by helically shearing 3D space */ -extern void gleLathe (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to spiral, except contour is a circle */ -extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to lathe, except contour is a circle */ -extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* draws a screw shape */ -extern void gleScrew (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startz, /* start of segment */ - gleDouble endz, /* end of segment */ - gleDouble twist); /* number of rotations */ - -extern void gleTextureMode (int mode); - -#ifdef __cplusplus -} - -#endif -#endif /* __TUBE_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h deleted file mode 100644 index ccd2853..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* - * tube_gc.h - * - * FUNCTION: - * This file allows for easy changes to changes in the way the extrusion - * library handles state info (i.e. context). - * - * HISTORY: - * Linas Vepstas --- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - * Added tube.h include to define gleDouble, tad February 2002 - */ - -#include "tube.h" -#include "port.h" /* for gleVector */ - -typedef float gleColor[3]; -typedef double gleTwoVec[2]; - -typedef struct { - - /* public methods */ - void (*bgn_gen_texture) (int, double); - void (*n3f_gen_texture) (float *); - void (*n3d_gen_texture) (double *); - void (*v3f_gen_texture) (float *, int, int); - void (*v3d_gen_texture) (double *, int, int); - void (*end_gen_texture) (void); - - /* protected members -- "general knowledge" stuff */ - int join_style; - - /* arguments passed into extrusion code */ - int ncp; /* number of contour points */ - gleTwoVec *contour; /* 2D contour */ - gleTwoVec *cont_normal; /* 2D contour normals */ - gleDouble *up; /* up vector */ - int npoints; /* number of points in polyline */ - gleVector *point_array; /* path */ - gleColor *color_array; /* path colors */ - gleAffine *xform_array; /* contour xforms */ - - /* private members, used by texturing code */ - int num_vert; - int segment_number; - double segment_length; - double accum_seg_len; - double prev_x; - double prev_y; - - void (*save_bgn_gen_texture) (int, double); - void (*save_n3f_gen_texture) (float *); - void (*save_n3d_gen_texture) (double *); - void (*save_v3f_gen_texture) (float *, int, int); - void (*save_v3d_gen_texture) (double *, int, int); - void (*save_end_gen_texture) (void); - -} gleGC; - -extern gleGC *_gle_gc; -extern gleGC * gleCreateGC (void); - -#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } -#define extrusion_join_style (_gle_gc->join_style) - -#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) -#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) -#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) -#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) - -#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) -#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) -#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) -#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) -#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) - -/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h deleted file mode 100644 index b58dcd6..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h +++ /dev/null @@ -1,1339 +0,0 @@ - -/* - * vvector.h - * - * FUNCTION: - * This file contains a number of utilities useful for handling - * 3D vectors - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Added 2D code, March 1993 - * Added Outer products, C++ proofed, Linas Vepstas October 1993 - */ - -#ifndef __GUTIL_VECTOR_H__ -#define __GUTIL_VECTOR_H__ - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - - -#include -#include "port.h" - -/* ========================================================== */ -/* Zero out a 2D vector */ - -#define VEC_ZERO_2(a) \ -{ \ - (a)[0] = (a)[1] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 3D vector */ - -#define VEC_ZERO(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 4D vector */ - -#define VEC_ZERO_4(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ -} - -/* ========================================================== */ -/* Vector copy */ - -#define VEC_COPY_2(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ -} - -/* ========================================================== */ -/* Copy 3D vector */ - -#define VEC_COPY(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ -} - -/* ========================================================== */ -/* Copy 4D vector */ - -#define VEC_COPY_4(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ - (b)[3] = (a)[3]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ - (v21)[3] = (v2)[3] - (v1)[3]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ - (v21)[3] = (v2)[3] + (v1)[3]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_2(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_4(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ - (c)[3] = (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_2(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_4(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ - (c)[3] += (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_2(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_4(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ -} - -/* ========================================================== */ -/* vector impact parameter (squared) */ - -#define VEC_IMPACT_SQ(bsq,direction,position) \ -{ \ - gleDouble vlen, llel; \ - VEC_DOT_PRODUCT (vlen, position, position); \ - VEC_DOT_PRODUCT (llel, direction, position); \ - bsq = vlen - llel*llel; \ -} - -/* ========================================================== */ -/* vector impact parameter */ - -#define VEC_IMPACT(bsq,direction,position) \ -{ \ - VEC_IMPACT_SQ(bsq,direction,position); \ - bsq = sqrt (bsq); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_2(vlen,a) \ -{ \ - vlen = a[0]*a[0] + a[1]*a[1]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_4(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen += (a)[3] * (a)[3]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* distance between two points */ - -#define VEC_DISTANCE(vlen,va,vb) \ -{ \ - gleDouble tmp[4]; \ - VEC_DIFF (tmp, vb, va); \ - VEC_LENGTH (vlen, tmp); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_CONJUGATE_LENGTH(vlen,a) \ -{ \ - vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_NORMALIZE(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = 1.0 / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_RENORMALIZE(a,newlen) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = newlen / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* 3D Vector cross product yeilding vector */ - -#define VEC_CROSS_PRODUCT(c,a,b) \ -{ \ - c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ - c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ - c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ -} - -/* ========================================================== */ -/* Vector perp -- assumes that n is of unit length - * accepts vector v, subtracts out any component parallel to n */ - -#define VEC_PERP(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (v)[0] - (vdot) * (n)[0]; \ - vp[1] = (v)[1] - (vdot) * (n)[1]; \ - vp[2] = (v)[2] - (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector parallel -- assumes that n is of unit length - * accepts vector v, subtracts out any component perpendicular to n */ - -#define VEC_PARALLEL(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (vdot) * (n)[0]; \ - vp[1] = (vdot) * (n)[1]; \ - vp[2] = (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector reflection -- assumes n is of unit length */ -/* Takes vector v, reflects it against reflector n, and returns vr */ - -#define VEC_REFLECT(vr,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ - vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ - vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector blending */ -/* Takes two vectors a, b, blends them together */ - -#define VEC_BLEND(vr,sa,a,sb,b) \ -{ \ - \ - vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ - vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ - vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_2(a) \ -{ \ - double vlen; \ - VEC_LENGTH_2 (vlen, a); \ - printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen, (a)); \ - printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_4(a) \ -{ \ - double vlen; \ - VEC_LENGTH_4 (vlen, (a)); \ - printf (" a is %f %f %f %f length of a is %f \n", \ - (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_4X4(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_3X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<3; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_2X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<2; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_3X3(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_4X4(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - b[0][3] = a[0][3]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - b[1][3] = a[1][3]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[2][3]; \ - \ - b[3][0] = a[3][0]; \ - b[3][1] = a[3][1]; \ - b[3][2] = a[3][2]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - b[0][3] = a[3][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - b[1][3] = a[3][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[3][2]; \ - \ - b[3][0] = a[0][3]; \ - b[3][1] = a[1][3]; \ - b[3][2] = a[2][3]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - b[0][3] = (s) * a[0][3]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - b[1][3] = (s) * a[1][3]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ - b[2][3] = (s) * a[2][3]; \ - \ - b[3][0] = s * a[3][0]; \ - b[3][1] = s * a[3][1]; \ - b[3][2] = s * a[3][2]; \ - b[3][3] = s * a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - b[0][3] += (s) * a[0][3]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - b[1][3] += (s) * a[1][3]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ - b[2][3] += (s) * a[2][3]; \ - \ - b[3][0] += (s) * a[3][0]; \ - b[3][1] += (s) * a[3][1]; \ - b[3][2] += (s) * a[3][2]; \ - b[3][3] += (s) * a[3][3]; \ -} - -/* +========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_2X2(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_3X3(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_4X4(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ - c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ - c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ - c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ - \ - c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ - c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ - c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ - c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_3X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_4X4(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ - p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ -} - -/* ========================================================== */ -/* vector transpose times matrix */ -/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ - -#define VEC_DOT_MAT_3X3(p,v,m) \ -{ \ - p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ - p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ - p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ -} - -/* ========================================================== */ -/* affine matrix times vector */ -/* The matrix is assumed to be an affine matrix, with last two - * entries representing a translation */ - -#define MAT_DOT_VEC_2X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ -} - -/* ========================================================== */ -/* inverse transpose of matrix times vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * - * DANGER !!! Do Not use this on normal vectors!!! - * It will leave normals the wrong length !!! - * See macro below for use on normals. - */ - -#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - gleDouble det; \ - \ - det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - /* if matrix not singular, and not orthonormal, then renormalize */ \ - if ((det!=1.0) && (det != 0.0)) { \ - det = 1.0 / det; \ - p[0] *= det; \ - p[1] *= det; \ - } \ -} - -/* ========================================================== */ -/* transform normal vector by inverse transpose of matrix - * and then renormalize the vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * Vector p is then normalized. - */ - - -#define NORM_XFORM_2X2(p,m,v) \ -{ \ - double mlen; \ - \ - /* do nothing if off-diagonals are zero and diagonals are \ - * equal */ \ - if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - mlen = p[0]*p[0] + p[1]*p[1]; \ - mlen = 1.0 / sqrt (mlen); \ - p[0] *= mlen; \ - p[1] *= mlen; \ - } else { \ - VEC_COPY_2 (p, v); \ - } \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - m[0][3] = v[0] * t[3]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - m[1][3] = v[1] * t[3]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ - m[2][3] = v[2] * t[3]; \ - \ - m[3][0] = v[3] * t[0]; \ - m[3][1] = v[3] * t[1]; \ - m[3][2] = v[3] * t[2]; \ - m[3][3] = v[3] * t[3]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - m[0][3] += v[0] * t[3]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - m[1][3] += v[1] * t[3]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ - m[2][3] += v[2] * t[3]; \ - \ - m[3][0] += v[3] * t[0]; \ - m[3][1] += v[3] * t[1]; \ - m[3][2] += v[3] * t[2]; \ - m[3][3] += v[3] * t[3]; \ -} - -/* +========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_2X2(d,m) \ -{ \ - d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ -} - -/* ========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_3X3(d,m) \ -{ \ - d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ - d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ - d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ -} - -/* ========================================================== */ -/* i,j,th cofactor of a 4x4 matrix - * - */ - -#define COFACTOR_4X4_IJ(fac,m,i,j) \ -{ \ - int ii[4], jj[4], k; \ - \ - /* compute which row, columnt to skip */ \ - for (k=0; k - - - - IBDocumentLocation - 4 104 410 240 0 0 1152 848 - IBEditorPositions - - 29 - 19 615 246 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBGroupedObjects - - IBLastGroupID - 1 - IBOpenObjects - - 29 - - IBSystem Version - 6I32 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib deleted file mode 100644 index 8a7140e..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib deleted file mode 100644 index 7e85eb1..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib +++ /dev/null @@ -1,13 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {toggleWindow = id; }; - CLASS = GLUTClipboardController; - LANGUAGE = ObjC; - OUTLETS = {_infoText = id; _scrollView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib deleted file mode 100644 index 867735d..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib +++ /dev/null @@ -1,12 +0,0 @@ - - - - - IBDocumentLocation - 63 221 356 240 0 0 1600 1178 - IBFramework Version - 263.2 - IBSystem Version - 5S41 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib deleted file mode 100644 index 29125d4..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib deleted file mode 100644 index c675963..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib +++ /dev/null @@ -1,73 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = {save = id; saveAs = id; }; - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - cancel = id; - joyAssign = id; - joyDevice = id; - joyElement = id; - joyInvert = id; - launchDebugMode = id; - launchGamemodeCaptureSingle = id; - launchIconic = id; - launchUseCurrWD = id; - launchUseExtDesktop = id; - launchUseMacOSCoords = id; - mouseEanbleEmulation = id; - mouseMiddleMenu = id; - mouseRightMenu = id; - ok = id; - spaceAssign = id; - spaceDevice = id; - spaceElement = id; - spaceInvert = id; - }; - CLASS = GLUTPreferencesController; - LANGUAGE = ObjC; - OUTLETS = { - joyAssign = NSButton; - joyAssignNote = NSTextField; - joyAssignWarningIcon = NSImageView; - joyDeviceMenu = NSPopUpButton; - joyElement = NSTextField; - joyInputMenu = NSPopUpButton; - joyInverted = NSButton; - launchDebugMode = NSButton; - launchFadeTime = NSTextField; - launchGamemodeCaptureSingle = NSButton; - launchIconic = NSButton; - launchInitHeight = NSTextField; - launchInitWidth = NSTextField; - launchInitX = NSTextField; - launchInitY = NSTextField; - launchMenuIdle = NSTextField; - launchSyncToVBL = NSButton; - launchUseCurrWD = NSButton; - launchUseExtendedDesktop = NSButton; - launchUseMacOSXCoords = NSButton; - mouseAssignWarningIcon = NSImageView; - mouseAssignWarningText = NSTextField; - mouseDetected = NSTextField; - mouseEmulation = NSButton; - mouseMiddleConfigMenu = NSPopUpButton; - mouseRightConfigMenu = NSPopUpButton; - prefsTabView = NSTabView; - spaceAssign = NSButton; - spaceAssignNote = NSTextField; - spaceAssignWarningIcon = NSImageView; - spaceDeviceMenu = NSPopUpButton; - spaceElement = NSTextField; - spaceInputMenu = NSPopUpButton; - spaceInverted = NSButton; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib deleted file mode 100644 index 216c8dc..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBDocumentLocation - 16 329 410 240 0 0 1920 1178 - IBFramework Version - 439.0 - IBOpenObjects - - 205 - - IBSystem Version - 8G32 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib deleted file mode 100644 index 7598f2c..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings deleted file mode 100644 index 6db3c5c..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index 6f78b89..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist deleted file mode 100644 index e8fc9d6..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - GLUT - CFBundleGetInfoString - 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved - CFBundleIdentifier - com.apple.glut - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.4.0 - CFBundleSignature - ???? - CFBundleVersion - GLUT-3.4.0 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff deleted file mode 100644 index a2b0cf1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff deleted file mode 100644 index c3f4795..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff deleted file mode 100644 index 274529f..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff deleted file mode 100644 index dec4252..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff deleted file mode 100644 index 8536c0e..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff deleted file mode 100644 index 34b52f6..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff deleted file mode 100644 index 9e3a1cb..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff deleted file mode 100644 index 0087c66..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff deleted file mode 100644 index fc4a88a..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff deleted file mode 100644 index 852b69b..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff deleted file mode 100644 index 37fe393..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff deleted file mode 100644 index d852616..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff deleted file mode 100644 index 9781f22..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff deleted file mode 100644 index 9bec966..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff deleted file mode 100644 index e4df0de..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff deleted file mode 100644 index 43cf97f..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff deleted file mode 100644 index 429b01b..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff deleted file mode 100644 index 1605063..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff deleted file mode 100644 index 81ba1aa..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Info.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Info.plist deleted file mode 100644 index 0d16dfe..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - BuildMachineOSBuild - 14D2134 - CFBundleDevelopmentRegion - English - CFBundleExecutable - MaximExtractorExampleDebug - CFBundleIconFile - icon-debug.icns - CFBundleIdentifier - cc.openFrameworks.ofapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 6D2105 - DTPlatformVersion - GM - DTSDKBuild - 14D125 - DTSDKName - macosx10.10 - DTXcode - 0632 - DTXcodeBuild - 6D2105 - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/MaximExtractorExampleDebug b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/MaximExtractorExampleDebug deleted file mode 100755 index 79491ec..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/MaximExtractorExampleDebug and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/libfmodex.dylib b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/libfmodex.dylib deleted file mode 100644 index bea90a1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/MacOS/libfmodex.dylib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/PkgInfo b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/PkgInfo deleted file mode 100644 index bd04210..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Resources/icon-debug.icns b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Resources/icon-debug.icns deleted file mode 100644 index 9b2d976..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/MaximExtractorExampleDebug.app/Contents/Resources/icon-debug.icns and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/.gitkeep b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/Arial.ttf b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/Arial.ttf deleted file mode 100644 index ab68fb1..0000000 Binary files a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/Arial.ttf and /dev/null differ diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/settings.xml b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/settings.xml deleted file mode 100644 index 4735189..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/bin/data/settings.xml +++ /dev/null @@ -1,10 +0,0 @@ - - 1 - 1 - 1 - 1 - 1 - 1 - -1 - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/config.make b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/config.make deleted file mode 100644 index df10f64..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/config.make +++ /dev/null @@ -1,142 +0,0 @@ -################################################################################ -# CONFIGURE PROJECT MAKEFILE (optional) -# This file is where we make project specific configurations. -################################################################################ - -################################################################################ -# OF ROOT -# The location of your root openFrameworks installation -# (default) OF_ROOT = ../../.. -################################################################################ -# OF_ROOT = ../../.. - -################################################################################ -# PROJECT ROOT -# The location of the project - a starting place for searching for files -# (default) PROJECT_ROOT = . (this directory) -# -################################################################################ -# PROJECT_ROOT = . - -################################################################################ -# PROJECT SPECIFIC CHECKS -# This is a project defined section to create internal makefile flags to -# conditionally enable or disable the addition of various features within -# this makefile. For instance, if you want to make changes based on whether -# GTK is installed, one might test that here and create a variable to check. -################################################################################ -# None - -################################################################################ -# PROJECT EXTERNAL SOURCE PATHS -# These are fully qualified paths that are not within the PROJECT_ROOT folder. -# Like source folders in the PROJECT_ROOT, these paths are subject to -# exlclusion via the PROJECT_EXLCUSIONS list. -# -# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_EXTERNAL_SOURCE_PATHS = - -################################################################################ -# PROJECT EXCLUSIONS -# These makefiles assume that all folders in your current project directory -# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations -# to look for source code. The any folders or files that match any of the -# items in the PROJECT_EXCLUSIONS list below will be ignored. -# -# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete -# string unless teh user adds a wildcard (%) operator to match subdirectories. -# GNU make only allows one wildcard for matching. The second wildcard (%) is -# treated literally. -# -# (default) PROJECT_EXCLUSIONS = (blank) -# -# Will automatically exclude the following: -# -# $(PROJECT_ROOT)/bin% -# $(PROJECT_ROOT)/obj% -# $(PROJECT_ROOT)/%.xcodeproj -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_EXCLUSIONS = - -################################################################################ -# PROJECT LINKER FLAGS -# These flags will be sent to the linker when compiling the executable. -# -# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ - -# Currently, shared libraries that are needed are copied to the -# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to -# add a runtime path to search for those shared libraries, since they aren't -# incorporated directly into the final executable application binary. -# TODO: should this be a default setting? -# PROJECT_LDFLAGS=-Wl,-rpath=./libs - -################################################################################ -# PROJECT DEFINES -# Create a space-delimited list of DEFINES. The list will be converted into -# CFLAGS with the "-D" flag later in the makefile. -# -# (default) PROJECT_DEFINES = (blank) -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_DEFINES = - -################################################################################ -# PROJECT CFLAGS -# This is a list of fully qualified CFLAGS required when compiling for this -# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS -# defined in your platform specific core configuration files. These flags are -# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. -# -# (default) PROJECT_CFLAGS = (blank) -# -# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in -# your platform specific configuration file will be applied by default and -# further flags here may not be needed. -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_CFLAGS = - -################################################################################ -# PROJECT OPTIMIZATION CFLAGS -# These are lists of CFLAGS that are target-specific. While any flags could -# be conditionally added, they are usually limited to optimization flags. -# These flags are added BEFORE the PROJECT_CFLAGS. -# -# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. -# -# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) -# -# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. -# -# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) -# -# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the -# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration -# file will be applied by default and further optimization flags here may not -# be needed. -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = -# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = - -################################################################################ -# PROJECT COMPILERS -# Custom compilers can be set for CC and CXX -# (default) PROJECT_CXX = (blank) -# (default) PROJECT_CC = (blank) -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_CXX = -# PROJECT_CC = diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/install.xml b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/install.xml deleted file mode 100755 index e42de73..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/install.xml +++ /dev/null @@ -1,37 +0,0 @@ - - 0.1 - Goldsmiths Creative Computing - http://www.maximilian.strangeloop.co.uk/ - - - - - - - - - - - - ../../../addons/ofxMaxim/src/ofxMaxim.h - - - - ../../../addons/ofxMaxim/libs/fft.h - ../../../addons/ofxMaxim/libs/fft.cpp - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.h - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.cpp - ../../../addons/ofxMaxim/libs/maxiBark.cpp - ../../../addons/ofxMaxim/libs/maxiBark.h - ../../../addons/ofxMaxim/libs/maximilian.h - ../../../addons/ofxMaxim/libs/maximilian.cpp - - - - - - ../../../addons/ofxMaxim/src - ../../../addons/ofxMaxim/libs - - - \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.cpp deleted file mode 100755 index 85a7aa9..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.cpp +++ /dev/null @@ -1,584 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ -/* - - fft.cpp - - Based on K+R Numerical recipes in C and some other stuff hacked about. - - */ - -#include "fft.h" -#include -#include -#include -#include - -int **gFFTBitTable = NULL; -const int MaxFastBits = 16; - -int IsPowerOfTwo(int x) -{ - if (x < 2) - return false; - - if (x & (x - 1)) - return false; - - return true; -} - -int NumberOfBitsNeeded(int PowerOfTwo) -{ - int i; - - if (PowerOfTwo < 2) { - fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); - exit(1); - } - - for (i = 0;; i++) - if (PowerOfTwo & (1 << i)) - return i; -} - -int ReverseBits(int index, int NumBits) -{ - int i, rev; - - for (i = rev = 0; i < NumBits; i++) { - rev = (rev << 1) | (index & 1); - index >>= 1; - } - - return rev; -} - -void InitFFT() -{ - // gFFTBitTable = new int *[MaxFastBits]; - //use malloc for 16 byte alignment - gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); - - int len = 2; - for (int b = 1; b <= MaxFastBits; b++) { - - // gFFTBitTable[b - 1] = new int[len]; - gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); - - for (int i = 0; i < len; i++) - gFFTBitTable[b - 1][i] = ReverseBits(i, b); - - len <<= 1; - } -} - -inline int FastReverseBits(int i, int NumBits) -{ - if (NumBits <= MaxFastBits) - return gFFTBitTable[NumBits - 1][i]; - else - return ReverseBits(i, NumBits); -} - -/* - * Complex Fast Fourier Transform - */ - -void FFT(int NumSamples, - bool InverseTransform, - float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) -{ - int NumBits; /* Number of bits needed to store indices */ - int i, j, k, n; - int BlockSize, BlockEnd; - - double angle_numerator = 2.0 * M_PI; - float tr, ti; /* temp real, temp imaginary */ - - if (!IsPowerOfTwo(NumSamples)) { - fprintf(stderr, "%d is not a power of two\n", NumSamples); - exit(1); - } - - if (!gFFTBitTable) - InitFFT(); - - if (InverseTransform) - angle_numerator = -angle_numerator; - - NumBits = NumberOfBitsNeeded(NumSamples); - - /* - ** Do simultaneous data copy and bit-reversal ordering into outputs... - */ - - for (i = 0; i < NumSamples; i++) { - j = FastReverseBits(i, NumBits); - RealOut[j] = RealIn[i]; - ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; - } - - /* - ** Do the FFT itself... - */ - - BlockEnd = 1; - for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { - - double delta_angle = angle_numerator / (double) BlockSize; - - float sm2 = sin(-2 * delta_angle); - float sm1 = sin(-delta_angle); - float cm2 = cos(-2 * delta_angle); - float cm1 = cos(-delta_angle); - float w = 2 * cm1; - float ar0, ar1, ar2, ai0, ai1, ai2; - - for (i = 0; i < NumSamples; i += BlockSize) { - ar2 = cm2; - ar1 = cm1; - - ai2 = sm2; - ai1 = sm1; - - for (j = i, n = 0; n < BlockEnd; j++, n++) { - ar0 = w * ar1 - ar2; - ar2 = ar1; - ar1 = ar0; - - ai0 = w * ai1 - ai2; - ai2 = ai1; - ai1 = ai0; - - k = j + BlockEnd; - tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; - ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; - - RealOut[k] = RealOut[j] - tr; - ImagOut[k] = ImagOut[j] - ti; - - RealOut[j] += tr; - ImagOut[j] += ti; - } - } - - BlockEnd = BlockSize; - } - - /* - ** Need to normalize if inverse transform... - */ - - if (InverseTransform) { - float denom = (float) NumSamples; - - for (i = 0; i < NumSamples; i++) { - RealOut[i] /= denom; - ImagOut[i] /= denom; - } - } -} - -/* - * Real Fast Fourier Transform - * - * This function was based on the code in Numerical Recipes in C. - * In Num. Rec., the inner loop is based on a single 1-based array - * of interleaved real and imaginary numbers. Because we have two - * separate zero-based arrays, our indices are quite different. - * Here is the correspondence between Num. Rec. indices and our indices: - * - * i1 <-> real[i] - * i2 <-> imag[i] - * i3 <-> real[n/2-i] - * i4 <-> imag[n/2-i] - */ - -void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = (float*) malloc(Half * sizeof(float)); - float *tmpImag = (float*) malloc(Half * sizeof(float)); - - for (i = 0; i < Half; i++) { - tmpReal[i] = RealIn[2 * i]; - tmpImag[i] = RealIn[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - RealOut[i] = h1r + wr * h2r - wi * h2i; - ImagOut[i] = h1i + wr * h2i + wi * h2r; - RealOut[i3] = h1r - wr * h2r + wi * h2i; - ImagOut[i3] = -h1i + wr * h2i + wi * h2r; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - - RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; - ImagOut[0] = h1r - ImagOut[0]; - - free(tmpReal); - free(tmpImag); -} - -/* - * PowerSpectrum - * - * This function computes the same as RealFFT, above, but - * adds the squares of the real and imaginary part of each - * coefficient, extracting the power and throwing away the - * phase. - * - * For speed, it does not call RealFFT, but duplicates some - * of its code. - */ - -void PowerSpectrum(int NumSamples, float *In, float *Out) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = new float[Half]; - float *tmpImag = new float[Half]; - float *RealOut = new float[Half]; - float *ImagOut = new float[Half]; - - for (i = 0; i < Half; i++) { - tmpReal[i] = In[2 * i]; - tmpImag[i] = In[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i, rt, it; - //float total=0; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); - it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); - - Out[i] = rt * rt + it * it; - - rt = h1r - wr * h2r + wi * h2i; - it = -h1i + wr * h2i + wi * h2r; - - Out[i3] = rt * rt + it * it; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - //printf("total = %f\n",total); - rt = (h1r = RealOut[0]) + ImagOut[0]; - it = h1r - ImagOut[0]; - Out[0] = rt * rt + it * it; - - rt = RealOut[Half / 2]; - it = ImagOut[Half / 2]; - Out[Half / 2] = rt * rt + it * it; - - delete[]tmpReal; - delete[]tmpImag; - delete[]RealOut; - delete[]ImagOut; -} - -void WindowFunc(int whichFunction, int NumSamples, float *in) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - in[i] *= (i / (float) (NumSamples / 2)); - in[i + (NumSamples / 2)] *= - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -void fft::genWindow(int whichFunction, int NumSamples, float *window) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - window[i] = (i / (float) (NumSamples / 2)); - window[i + (NumSamples / 2)] = - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -/* constructor */ -fft::fft(int fftSize) { - n = fftSize; - half = fftSize / 2; - //use malloc for 16 byte alignment - in_real = (float *) malloc(n * sizeof(float)); - in_img = (float *) malloc(n * sizeof(float)); - out_real = (float *) malloc(n * sizeof(float)); - out_img = (float *) malloc(n * sizeof(float)); - -#ifdef __APPLE_CC__ - log2n = log2(n); - A.realp = (float *) malloc(half * sizeof(float)); - A.imagp = (float *) malloc(half * sizeof(float)); - setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); - if (setupReal == NULL) { - printf("\nFFT_Setup failed to allocate enough memory for" - "the real FFT.\n"); - } - polar = (float *) malloc(n * sizeof(float)); -#endif -} - -/* destructor */ -fft::~fft() { - delete[] in_real, out_real, in_img, out_img; -#ifdef __APPLE_CC__ - vDSP_destroy_fftsetup(setupReal); - delete[] A.realp; - delete[] A.imagp; - delete[] polar; -#endif - -} - -/* Calculate the power spectrum */ -void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { - int i; - - //windowing - for (i = 0; i < n; i++) { - in_real[i] = data[start + i] * window[i]; - } - - - RealFFT(n, in_real, out_real, out_img); - - for (i = 0; i < half; i++) { - /* compute power */ - float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; - /* compute magnitude and phase */ - magnitude[i] = sqrt(power); - phase[i] = atan2(out_img[i],out_real[i]); - - // if (magnitude[i] < 0.000001){ // less than 0.1 nV - // magnitude[i] = 0; // out of range - // } else { - // magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale - // } - } - -} - -void fft::convToDB(float *in, float *out) { - for (int i = 0; i < half; i++) { - if (in[i] < 0.000001){ // less than 0.1 nV - out[i] = 0; // out of range - } else { - out[i] = 20.0*log10(in[i] + 1); // get to to db scale - } - } -} - - -#ifdef __APPLE_CC__ - -/* Calculate the power spectrum */ -void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { - - uint32_t i; - - //multiply by window - vDSP_vmul(data, 1, window, 1, in_real, 1, n); - - //convert to split complex format - evens and odds - vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); - - - //calc fft - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); - - //scale by 2 (see vDSP docs) - static float scale=0.5 ; - vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); - vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); - - //back to split complex format - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - //convert to polar - vDSP_polar(out_real, 2, polar, 2, half); - - for (i = 0; i < half; i++) { - magnitude[i]=polar[2*i]; - phase[i]=polar[2*i + 1]; - } - - - -} - -void fft::convToDB_vdsp(float *in, float *out) { - float ref = 1.0; - vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); - //get rid of any -infs - float vmin=0.0; - float vmax=9999999.0; - vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); -} - -#endif - -void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { - int i; - - /* get real and imag part */ - for (i = 0; i < half; i++) { - // float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; - // in_real[i] = mag *cos(phase[i]); - // in_img[i] = mag *sin(phase[i]); - in_real[i] = magnitude[i] *cos(phase[i]); - in_img[i] = magnitude[i] *sin(phase[i]); - } - - /* zero negative frequencies */ - memset(in_real+half, half, 0.0); - memset(in_img+half, half, 0.0); - - FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform - - for (i = 0; i < n; i++) { - finalOut[start + i] += out_real[i] * window[i] - ; - } - -} - - -#ifdef __APPLE_CC__ -void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { - uint32_t i; - - for (i = 0; i < half; i++) { - // polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; - polar[2*i] = magnitude[i]; - polar[2*i + 1] = phase[i]; - } - - vDSP_rect(polar, 2, in_real, 2, half); - - vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - float scale = 1./n; - vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); - - //multiply by window - vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); - -} - -#endif diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.h deleted file mode 100755 index 7f0e688..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/fft.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _FFT -#define _FFT - -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifdef __APPLE_CC__ -#include -#endif - - - -class fft { - -public: - - fft(int fftSize); - ~fft(); - - int n; //fftSize - int half; //halfFFTSize - - float *in_real, *out_real, *in_img, *out_img; - -#ifdef __APPLE_CC__ - int log2n; //log2(n); - FFTSetup setupReal; - COMPLEX_SPLIT A; - float *polar; - void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); - void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB_vdsp(float *in, float *out); -#endif - - /* Calculate the power spectrum */ - void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); - /* ... the inverse */ - void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB(float *in, float *out); - - static void genWindow(int whichFunction, int NumSamples, float *window); - -}; - - -#endif diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.cpp deleted file mode 100755 index 14f5ea8..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/* - * gabor.cpp - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiAtoms.h" -#include -#include -#include "sineTable.h" -#ifdef __APPLE_CC__ -#include -#warning ofxMaxim: Please link against the accelerate framework. -#endif - -//#include "tinyxml.h" - -float sineBuffer2[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - - -maxiGrainWindowCache maxiCollider::envCache = maxiGrainWindowCache(); - -inline void maxiCollider::createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned length, - float startPhase, const float kurtotis, const float amp) { - atom.resize(length); - flArr sine; - sine.resize(length); - -// float gausDivisor = (-2.0 * kurtotis * kurtotis); -// float phase =-1.0; - - double *env = maxiCollider::envCache.getWindow(length); -#ifdef __APPLE_CC__ - vDSP_vdpsp(env, 1, &atom[0], 1, length); -#else - for(unsigned i=0; i < length; i++) { - atom[i] = env[i]; - } -#endif - -//#ifdef __APPLE_CC__ -// vDSP_vramp(&phase, &inc, &atom[0], 1, length); -// vDSP_vsq(&atom[0], 1, &atom[0], 1, length); -// vDSP_vsdiv(&atom[0], 1, &gausDivisor, &atom[0], 1, length); -// for(uint i=0; i < length; i++) atom[i] = exp(atom[i]); -//#else -// for(uint i=0; i < length; i++) { -// //gaussian envelope -// atom[i] = exp((phase* phase) / gausDivisor); -// phase += inc; -// } -//#endif - - float cycleLen = sampleRate / freq; - float maxPhase = length / cycleLen; - float inc = 1.0 / length; - - -#ifdef __APPLE_CC__ - flArr interpConstants; - interpConstants.resize(length); - float phase = 0.0; - vDSP_vramp(&phase, &inc, &interpConstants[0], 1, length); - vDSP_vsmsa(&interpConstants[0], 1, &maxPhase, &startPhase, &interpConstants[0], 1, length); - float waveTableLength = 512; - vDSP_vsmul(&interpConstants[0], 1, &waveTableLength, &interpConstants[0], 1, length); - for(uint i=0; i < length; i++) { - interpConstants[i] = fmod(interpConstants[i], 512.0f); - } - vDSP_vlint(sineBuffer2, &interpConstants[0], 1, &sine[0], 1, length, 514); - vDSP_vmul(&atom[0], 1, &sine[0], 1, &atom[0], 1, length); - vDSP_vsmul(&atom[0], 1, &, &atom[0], 1, length); -#else - maxPhase *= TWOPI; - for(unsigned int i=0; i < length; i++) { - //multiply by sinewave - float x = inc * i; - sine[i] = sin((x * maxPhase) + startPhase); - } - for(unsigned int i=0; i < length; i++) { - atom[i] *= sine[i]; - atom[i] *= amp; - } -#endif -} - - - -maxiAccelerator::maxiAccelerator() { - sampleIdx = 0; -} - -void maxiAccelerator::addAtom(flArr &atom, unsigned int offset) { - queuedAtom quAtom; - quAtom.atom = atom; - quAtom.startTime = sampleIdx + offset; - quAtom.pos = 0; - atomQueue.push_back(quAtom); -} - -void maxiAccelerator::fillNextBuffer(float *buffer, unsigned int bufferLength) { - queuedAtomList::iterator it = atomQueue.begin(); - while(it != atomQueue.end()) { - int atomStart = (*it).startTime + (*it).pos; - //include in this frame? - if (atomStart >= sampleIdx && atomStart < sampleIdx + bufferLength) { - //copy into buffer - int renderLength = min((int)bufferLength,(int)( (*it).atom.size() - (*it).pos)); - for(int i=0; i < renderLength; i++) { - buffer[i] += (*it).atom[i + (*it).pos]; - } - (*it).pos += renderLength; - } - if ((*it).pos == (*it).atom.size()) { - it = atomQueue.erase(it); - }else { - it++; - } - - } - sampleIdx += bufferLength; -} - -//bool maxiAtomBook::loadMPTKXmlBook(string filename, maxiAtomBook &book) { -// bool ok; -// ifstream f; -// f.open(filename.c_str()); -// if (f.fail()) { -// cout << "I couldn't open " << filename << endl; -// ok = false; -// }else { -// cout << "Reading " << filename << endl; -// const int lineBufferSize = 1024; -// char lineBuffer[lineBufferSize]; -// string line(""); -// //get dictionary definition xml -// while("" != line) { -// f.getline(lineBuffer, lineBufferSize); -// line = lineBuffer; -// } -// //this should be "txt" -// f.getline(lineBuffer, lineBufferSize); -// //get rest of data into one string -// string xmlData; -// while(!f.eof()) { -// f.getline(lineBuffer, lineBufferSize); -// xmlData.append(lineBuffer); -// } -// TiXmlDocument doc; -// doc.Parse(xmlData.c_str()); -// cout << "Parsed xml, processing atoms...\n"; -// TiXmlHandle docHandle = TiXmlHandle(&doc); -// -// TiXmlElement *root = docHandle.FirstChildElement("book").ToElement(); -// TiXmlAttribute *nAtomsAtt = root->FirstAttribute(); -// cout << nAtomsAtt->Name() << ", " << nAtomsAtt->Value() << endl; -// int nAtoms = atoi(nAtomsAtt->Value()); -// TiXmlAttribute *numSamplesAtt = nAtomsAtt->Next()->Next(); -// cout << numSamplesAtt->Name() << ", " << numSamplesAtt->Value() << endl; -// book.numSamples = atoi(numSamplesAtt->Value()); -// TiXmlAttribute *sampleRateAtt = numSamplesAtt->Next(); -// cout << sampleRateAtt->Name() << ", " << sampleRateAtt->Value() << endl; -// book.sampleRate = atoi(sampleRateAtt->Value()); -// -// for(int atomIdx=0; atomIdx < nAtoms; atomIdx++) { -// maxiGaborAtom *newAtom = new maxiGaborAtom(); -// newAtom->atomType = GABOR; -// TiXmlElement *atom = docHandle.FirstChildElement("book").ChildElement("atom", atomIdx).ToElement(); -// TiXmlElement *node = atom->FirstChildElement()->NextSibling()->ToElement(); -// newAtom->position = atoi(node->FirstChildElement("p")->FirstChild()->ToText()->Value()); -// newAtom->length = atoi(node->FirstChildElement("l")->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->ToElement(); -// newAtom->amp = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->frequency = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->phase = atof(node->FirstChild()->ToText()->Value()); -// //cout << "Atom: pos: " << newAtom->position << ", length: " << newAtom->length << ", amp: " << newAtom->amp << ", freq: " << newAtom->frequency << ", phase: " << newAtom->phase << endl; -// book.atoms.push_back(newAtom); -// } -// -// } -// return ok; -//} - -maxiAtomBook::~maxiAtomBook() { - for(int i=0; i < atoms.size(); i++) delete atoms[i]; -} - -maxiAtomBookPlayer::maxiAtomBookPlayer() { - atomIdx = 0; -} - -void maxiAtomBookPlayer::play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize) { - //positions - long idx = atomStream.getSampleIdx(); - int loopedSamplePos = idx % book.numSamples; - - //reset loop? - if (loopedSamplePos < bufferSize) - atomIdx = 0; - - if (atomIdx < book.atoms.size()) { - maxiGaborAtom *atom = (maxiGaborAtom*) book.atoms[atomIdx]; - while(atom->position < (idx + bufferSize) % book.numSamples) { - flArr atomData; - maxiCollider::createGabor(atomData, maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 40.0); - atomStream.addAtom(atomData, loopedSamplePos - atom->position); - atomIdx++; - if (book.atoms.size() == atomIdx) - break; - atom = (maxiGaborAtom*) book.atoms[atomIdx]; - } - } -} diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.h deleted file mode 100755 index 1782d55..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiAtoms.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * gabor.h - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - - -#include -#include "maximilian.h" -#include -#include -#include "maxiGrains.h" - - -using namespace std; - -typedef vector flArr; - -enum maxiAtomTypes { - GABOR -}; - -struct maxiAtom { - maxiAtomTypes atomType; - float length; - float position; - float amp; - static bool atomSortPositionAsc(maxiAtom* a, maxiAtom* b) {return a->position < b->position;} -}; - -struct maxiGaborAtom : maxiAtom { - float frequency; - float phase; -}; - -//create atoms -class maxiCollider { -public: - static inline void createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned int length, - float phase, const float kurtotis, const float amp); - static maxiGrainWindowCache envCache; -}; - - -//queue atoms into an audio stream -class maxiAccelerator { -public: - maxiAccelerator(); - void addAtom(flArr &atom, unsigned int offset=0); - void fillNextBuffer(float *buffer, unsigned int bufferLength); - inline long getSampleIdx(){return sampleIdx;} -private: - long sampleIdx; - struct queuedAtom { - flArr atom; - long startTime; - unsigned int pos; - }; - typedef list queuedAtomList; - queuedAtomList atomQueue; -}; - -/*load a book in MPTK XML format - http://mptk.irisa.fr/ - - how to create a book: - mpd -n 1000 -R 10 -d ./dic_gabor_two_scales.xml glockenspiel.wav book.xml -*/ -class maxiAtomBook { -public: - ~maxiAtomBook(); - typedef vector maxiAtomBookData; - unsigned int numSamples; - unsigned int sampleRate; - maxiAtomBookData atoms; - //commented out for now, need to resolve tinyxml linker issues - we need tinyxml in the distrib, but it clashes if you also import ofxXmlSettings -// static bool loadMPTKXmlBook(string filename, maxiAtomBook &book); - -}; - -class maxiAtomBookPlayer { -public: - maxiAtomBookPlayer(); - void play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize); -private: - unsigned int atomIdx; -}; - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.cpp deleted file mode 100755 index 634a779..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.cpp +++ /dev/null @@ -1,10 +0,0 @@ -/* - * maxiBark.cpp - * Bark scale loudness - * - * Created by Jakub on 01/12/2014. - * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiBark.h" diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.h deleted file mode 100755 index dbb4a86..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiBark.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * maxiBark.cpp - * Bark scale loudness - * - * Created by Jakub on 01/12/2014. - * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -//#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - -//convert to Bark scale (Zwicker, 1961) -inline double hzToBark(double hz) { - return 13.0*atan(hz/1315.8) + 3.5*atan(pow((hz/7518.0),2)); -} - -inline double binToHz(unsigned int bin, unsigned int sR, unsigned int bS) { - return bin*sR/bS; -} - -template - -class maxiBarkScaleAnalyser { -public: - int NUM_BARK_BANDS; - - void setup(unsigned int sR, unsigned int bS) { - this->sampleRate = sR; - this->bufferSize = bS; - specSize = bS/2; - NUM_BARK_BANDS = 24; - for (int i=0; i currentBandEnd) { - bbLimits[currentBand] = i; - currentBand++; - currentBandEnd = currentBand*barkScale[specSize-1]/NUM_BARK_BANDS; - } - } - - bbLimits[NUM_BARK_BANDS] = specSize-1; - }; - - double* specificLoudness(float* normalisedSpectrum) { - for (int i = 0; i < NUM_BARK_BANDS; i++){ - double sum = 0; - for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { - - sum += normalisedSpectrum[j]; - } - specific[i] = pow(sum,0.23); - } - - return specific; - }; - - double* relativeLoudness(float* normalisedSpectrum) { - for (int i = 0; i < NUM_BARK_BANDS; i++){ - double sum = 0; - for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { - - sum += normalisedSpectrum[j]; - } - specific[i] = pow(sum,0.23); - } - - double max = 0; - for (int i = 0; i < NUM_BARK_BANDS; i++){ - if (specific[i] > max) max = specific[i]; - } - - for (int i = 0; i < NUM_BARK_BANDS; i++){ - relative[i] = specific[i]/max; - } - - return relative; - }; - - double* totalLoudness(float* normalisedSpectrum) { - for (int i = 0; i < NUM_BARK_BANDS; i++){ - double sum = 0; - for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { - - sum += normalisedSpectrum[j]; - } - specific[i] = pow(sum,0.23); - } - - total[0] = 0; - - for (int i = 0; i < 24; i++){ - total[0] += specific[i]; - } - - return total; - }; - -private: - int bbLimits[24]; - unsigned int sampleRate, bufferSize, specSize; - double barkScale[2048]; - double specific[24]; - double relative[24]; - double total[1]; - -}; - -typedef maxiBarkScaleAnalyser maxiBark; - - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.cpp deleted file mode 100755 index c648992..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maxiFFT.h" -#include "maximilian.h" -#include -#include "math.h" - -using namespace std; - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - magnitudes = (float *) malloc(bins * sizeof(float)); - magnitudesDB = (float *) malloc(bins * sizeof(float)); - phases = (float *) malloc(bins * sizeof(float)); - avgPower = new float; - memset(buffer, 0, fftSize * sizeof(float)); - memset(magnitudes, 0, bins * sizeof(float)); - memset(magnitudesDB, 0, bins * sizeof(float)); - memset(phases, 0, bins * sizeof(float)); - *avgPower = 0; - pos =windowSize - hopSize; - newFFT = 0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -bool maxiFFT::process(float value) { - //add value to buffer at current pos - buffer[pos++] = value; - //if buffer full, run fft - newFFT = pos == windowSize; - if (newFFT) { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); -#else - _fft->powerSpectrum(0, buffer, window, magnitudes, phases); -#endif - //shift buffer back by one hop size - memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); - //set the new data to zero (is this necessary?, it will get overwritten) - memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); - //reset pos to start of hop - pos= windowSize - hopSize; - } - return newFFT; -} - -float* maxiFFT::magsToDB() { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->convToDB_vdsp(magnitudes, magnitudesDB); -#else - _fft->convToDB(magnitudes, magnitudesDB); -#endif - return magnitudesDB; -} - -float maxiFFT::spectralFlatness() { - float geometricMean=0, arithmaticMean=0; - for(int i=0; i < bins; i++) { - if (magnitudes[i] != 0) - geometricMean += logf(magnitudes[i]); - arithmaticMean += magnitudes[i]; - } - geometricMean = expf(geometricMean / (float)bins); - arithmaticMean /= (float)bins; - return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; -} - -float maxiFFT::spectralCentroid() { - float x=0, y=0; - for(int i=0; i < bins; i++) { - x += fabs(magnitudes[i]) * i; - y += fabs(magnitudes[i]); - } - return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; -} - - - -maxiFFT::~maxiFFT() { - delete _fft; - if (buffer) - delete[] buffer,magnitudes,phases,window, avgPower, magnitudesDB; -} - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//I N V E R S E F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - ifftOut = (float *) malloc(fftSize * sizeof(float)); - memset(buffer, 0, windowSize * sizeof(float)); - pos =0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -float maxiIFFT::process(float *magnitudes, float *phases) { - if (0==pos) { - //do ifft - memset(ifftOut, 0, fftSize * sizeof(float)); -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); -#else - _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); -#endif - //add to output - //shift back by one hop - memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); - //clear the end chunk - memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); - //merge new output - for(int i=0; i < fftSize; i++) { - buffer[i] += ifftOut[i]; - } - } - - nextValue = buffer[pos]; - //limit the values, this alg seems to spike occasionally (and break the audio drivers) - if (nextValue > 0.99999f) nextValue = 0.99999f; - if (nextValue < -0.99999f) nextValue = -0.99999f; - if (hopSize == ++pos ) { - pos=0; - } - - return nextValue; -} - -maxiIFFT::~maxiIFFT() { - delete _fft; - delete[] ifftOut, buffer, window; -}; - - - - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//O C T A V E A N A L Y S E R -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - -void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ - - samplingRate = samplingRate; - nSpectrum = nBandsInTheFFT; - spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); - nAverages = nBandsInTheFFT; - // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc - if (nAveragesPerOctave==0) // um, wtf? - nAveragesPerOctave = 1; -// nAveragesPerOctave = nAveragesPerOctave; - averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); - // this isn't currently configurable (used once here then no effect), but here's some reasoning: - // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 - // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 - // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 - // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) - // but don't go much smaller unless you have a huge fft window size (see below for more why) - // keep in mind, if you change it, that the number of actual bands may change +/-1, and - // for some values, the last averaging band may not be very useful (may extend above nyquist) - firstOctaveFrequency = 55.0f; - // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. - // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. - // with more spectrum bins, you can better map into the averaging bins (especially at low - // frequencies) or use more averaging bins per octave. with an fft window size of 2048, - // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave - // analysis. if you don't have enough spectrum bins to map adequately into averaging bins - // at the requested number per octave then you'll end up with "empty" averaging bins, where - // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, - // either increase fft buffer size, or decrease number of averages per octave, etc) - spe2avg = new int[nSpectrum]; - int avgidx = 0; - float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin - // we're looking for the "top" of the first spectrum bin, and i'm just sort of - // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) - // ... either way it's probably close enough for these purposes - float spectrumFreq = spectrumFrequencySpan; - for (int speidx=0; speidx < nSpectrum; speidx++) { - while (spectrumFreq > averageFreq) { - avgidx++; - averageFreq *= averageFrequencyIncrement; - } - spe2avg[speidx] = avgidx; - spectrumFreq += spectrumFrequencySpan; - } - nAverages = avgidx; - averages = new float[nAverages]; - peaks = new float[nAverages]; - peakHoldTimes = new int[nAverages]; - peakHoldTime = 0; // arbitrary - peakDecayRate = 0.9f; // arbitrary - linearEQIntercept = 1.0f; // unity -- no eq by default - linearEQSlope = 0.0f; // unity -- no eq by default -} - -void maxiFFTOctaveAnalyzer::calculate(float * fftData){ - - int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average - float sum = 0.0f; // running total of spectrum data - int count = 0; // count of spectrums accumulated (for averaging) - for (int speidx=0; speidx < nSpectrum; speidx++) { - count++; - sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); - int avgidx = spe2avg[speidx]; - if (avgidx != last_avgidx) { - - for (int j = last_avgidx; j < avgidx; j++){ - averages[j] = sum / (float)(count); - } - count = 0; - sum = 0.0f; - } - last_avgidx = avgidx; - } - // the last average was probably not calculated... - if ((count > 0) && (last_avgidx < nAverages)){ - averages[last_avgidx] = sum / (float)(count); - } - - // update the peaks separately - for (int i=0; i < nAverages; i++) { - if (averages[i] >= peaks[i]) { - // save new peak level, also reset the hold timer - peaks[i] = averages[i]; - peakHoldTimes[i] = peakHoldTime; - } else { - // current average does not exceed peak, so hold or decay the peak - if (peakHoldTimes[i] > 0) { - peakHoldTimes[i]--; - } else { - peaks[i] *= peakDecayRate; - } - } - } -} diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.h deleted file mode 100755 index d2694f4..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiFFT.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _MAXI_FFT -#define _MAXI_FFT - -//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions - - -#include "fft.h" -#include "stddef.h" - -class maxiFFT { - -public: - maxiFFT(){ - _fft = NULL; - buffer = magnitudes = phases = window = avgPower = NULL; - }; - ~maxiFFT(); - void setup(int fftSize, int windowSize, int hopSize); - bool process(float value); - float* magsToDB(); - float *magnitudes, *phases, *magnitudesDB; - float *avgPower; - int windowSize; - int hopSize; - int bins; - - //features - float spectralFlatness(); - float spectralCentroid(); - -private: - float *buffer, *window; - int pos; - float nextValue; - int fftSize; - fft *_fft; - bool newFFT; - -}; - -class maxiIFFT { - -public: - maxiIFFT(){ - _fft=0; - }; - ~maxiIFFT(); - void setup(int fftSize, int windowSize, int hopSize); - float process(float *magnitudes, float *phases); - -private: - float *ifftOut, *buffer, *window; - int windowSize; - int bins; - int hopSize; - int pos; - float nextValue; - int fftSize; - fft *_fft; -}; - - -class maxiFFTOctaveAnalyzer { - /*based on code by David Bollinger, http://www.davebollinger.com/ - */ -public: - - float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) - int nSpectrum; // number of spectrum bins in the fft - int nAverages; // number of averaging bins here - int nAveragesPerOctave; // number of averages per octave as requested by user - float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz - float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz - float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies - float * averages; // the actual averages - float * peaks; // peaks of the averages, aka "maxAverages" in other implementations - int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 - int peakHoldTime; // how long do we hold peaks? (in fft frames) - float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all - int * spe2avg; // the mapping between spectrum[] indices and averages[] indices - // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale - // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear - // equalizer instead: - float linearEQSlope; // the rate of linear eq - float linearEQIntercept; // the base linear scaling used at the first averaging bin - // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) - // so.. note that clever use of it can also provide a "gain" control of sorts - // (fe: set intercept to 2f and slope to 0f to double gain) - - void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); - - void calculate(float * fftData); - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.cpp deleted file mode 100755 index 951f3b5..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "maxiGrains.h" - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.h deleted file mode 100755 index fb3e102..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiGrains.h +++ /dev/null @@ -1,467 +0,0 @@ - - -#ifndef _MAXI_GRAINS_H -#define _MAXI_GRAINS_H -#include "maximilian.h" - -#if defined(__APPLE_CC__) -#include "accelerate/accelerate.h" -//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. -//#define MAXIGRAINFAST -#endif - -#include - -typedef unsigned long ulong; - -//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows - -struct hannWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - -//this window can produce clicks -struct hammingWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - - -struct cosineWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return sin((PI * windowPos) / (windowLength - 1)); - } -}; - -struct rectWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 1; - } -}; - -struct triangleWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct triangleNZWinFunctor { - //non zero end points - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct blackmanHarrisWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.35875 - - (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct blackmanNutallWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.3635819 - - (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct gaussianWinFunctor { - double gausDivisor; - gaussianWinFunctor() { - init(0.3); - } - gaussianWinFunctor(double kurtosis) { - init(kurtosis); - } - void init(double kurtosis) { - gausDivisor = (-2.0 * kurtosis * kurtosis); - } - inline double operator()(ulong windowLength, ulong windowPos) { - double phase = ((windowPos / (double) windowLength) - 0.5) * 2.0; - return exp((phase * phase) / gausDivisor); - } -}; - - -template -class maxiGrainWindowCache { -public: - unsigned int cacheSize; - - maxiGrainWindowCache() { - cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains - cache = (double**)malloc(cacheSize * sizeof(double*)); - for(int i=0; i < cacheSize; i++) { - cache[i] = NULL; - } - } - - ~maxiGrainWindowCache() { - for(int i=0; i < cacheSize; i++) { - if(NULL != cache[i]) { - free(cache[i]); - } - } - free(cache); - } - - double* getWindow(const unsigned int length) { - if (NULL == cache[length]) { - cache[length] = (double*)malloc(length * sizeof(double)); - for(int i=0; i < length; i++) { - cache[length][i] = F()(length, i); - } - } - return cache[length]; - } - -private: - double** cache; - -}; - -class maxiGrainBase { -public: - virtual double play() {} - virtual ~maxiGrainBase() {} - bool finished; -}; - -template -class maxiGrain : public maxiGrainBase { -public: - maxiSample *sample; - double pos; - double dur; - long sampleStartPos; - long sampleIdx; - long sampleDur; - long sampleEndPos; - double freq; - double speed; - double inc; - double frequency; - double* window; - short* buffer; -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - double* grainSamples; -#endif - /* - position between 0.0 and 1.0 - duration in seconds - */ - maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) - { - buffer = sample->temp; - sampleStartPos = sample->length * pos; - sampleDur = dur * (double)sample->mySampleRate; - sampleDurMinusOne = sampleDur - 1; - sampleIdx = 0; - finished = 0; - freq = 1.0 / dur; - sampleEndPos = min(sample->length, sampleStartPos + sampleDur); - frequency = freq * speed; - if (frequency > 0) { - pos = sampleStartPos; - }else{ - pos = sampleEndPos; - } - if (frequency != 0) { - inc = sampleDur/(maxiSettings::sampleRate/frequency); - }else - inc = 0; - window = windowCache->getWindow(sampleDur); - -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - //premake the grain using fast vector functions, and quadratic interpolation - double *sourceData = (double*)malloc(sampleDur * sizeof(double)); - short* buffer = (short *)sample->temp; - //convert sample to double data - vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); - //todo: wraping code - - grainSamples = (double*)malloc(sampleDur * sizeof(double)); - //make list of interpolation indexes - double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); - double interpPos = sampleStartPos; - for(int i=0; i < sampleDur; i++) { - interpIndexes[i] = interpPos - sampleStartPos; - interpPos += fabs(inc); - } - vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); - if (frequency < 0) { - vDSP_vrvrsD(grainSamples,1, sampleDur); - } - static double divFactor = 32767.0; - vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); - vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); - delete sourceData, interpIndexes; -#endif - } - - ~maxiGrain() { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - delete[] grainSamples; -#endif - } - - inline double play() { - double output = 0.0; - if (!finished) { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - output = grainSamples[sampleIdx]; -#else - envValue = window[sampleIdx]; - double remainder; - pos += inc; - if (pos >= sample->length) - pos -= sample->length; - else if (pos < 0) - pos += sample->length; - - long posl = floor(pos); - remainder = pos - posl; - long a = posl; - long b = posl+1; - if (b >= sample->length) { - b = 0; - } - output = (double) ((1-remainder) * buffer[a] + - remainder * buffer[b])/32767.0;//linear interpolation - output *= envValue; -#endif - } - sampleIdx++; - if (sampleIdx == sampleDur) finished = true; - return output; - } - -protected: - maxiGrain(); - double envValue; - ulong sampleDurMinusOne; -}; - - -typedef list grainList; - -class maxiGrainPlayer { -public: - grainList grains; - maxiSample *sample; - - maxiGrainPlayer(maxiSample *sample) : sample(sample) { - } - - void addGrain(maxiGrainBase *g) { - grains.push_back(g); - } - - inline double play() { - double total = 0.0; - grainList::iterator it = grains.begin(); - while(it != grains.end()) { - total += (*it)->play(); - if ((*it)->finished) { - delete(*it); - it = grains.erase(it); - }else{ - it++; - } - } - return total; - } -}; - -template -class maxiTimestretch { -protected: - double position; -public: - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - double looper; - - - - maxiTimestretch(maxiSample *sample) : sample(sample) { - position=0; - looper = 0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiTimestretch() { - delete grainPlayer; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - - //play at a speed - inline double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + speed; - looper++; - if (position > sample->length) position-= sample->length; - if (position < 0) position += sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - speed = (speed > 0 ? 1 : -1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - - //provide your own position iteration - inline double play2(double pos, double grainLength, int overlaps) { - looper++; - pos *= sample->length; - if (0 == floor(fmod(looper, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position -//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. -//with both high speed values and negative speed values there are some terrific artefacts! - -template -class maxiPitchShift { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchShift(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchShift() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + 1; - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. -//the rest is the same. - -template -class maxiPitchStretch { -public: - double position; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - long loopStart, loopEnd, loopLength; - double looper; - - maxiPitchStretch(maxiSample *sample) : sample(sample) { - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - loopStart = 0.0; - loopEnd = sample->length; - loopLength =sample->length; - position=0; - looper = 0; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - void setLoopStart(double val) { - loopStart = val * sample->length; - loopLength = loopEnd - loopStart; - } - - void setLoopEnd(double val) { - loopEnd = val * sample->length; - loopLength = loopEnd - loopStart; - } - - ~maxiPitchStretch() { - delete grainPlayer; - } - - inline double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * rate); - looper++; - if (position >= loopEnd) position-= loopLength; - if (position < loopStart) position += loopLength; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.cpp deleted file mode 100755 index f180fb5..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maxiMFCC.cpp - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiMFCC.h" - - -#ifdef __APPLE_CC__ -template <> -void maxiMFCCAnalyser::dct(double *mfccs) { - vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - double n = (double) numCoeffs; - vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::dct(float *mfccs) { - vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - float n = (float) numCoeffs; - vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); -} -#endif - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - //conv to double - vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); - // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); - vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - -template -void maxiMFCCAnalyser::melFilterAndLogSq_Part2(float *powerSpectrum) { -#ifdef __APPLE_CC__ -#else - for (unsigned int filter = 0;filter < numFilters;filter++) { - melBands[filter] = 0.0; - for (unsigned int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; - } -} - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.h deleted file mode 100755 index 19dd72e..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maxiMFCC.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - * maxiMFCC.h - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - - Based on Matthew Yee-King's MFCCMYK java class - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - - -// implements this formula: -// mel = 2595 log10(Hz/700 + 1) -inline double hzToMel(double hz){ - return 2595.0 * (log10(hz/700.0 + 1.0)); -} - -// implements this formula -// Hz = 700 (10^(mel/2595) - 1) -inline double melToHz(double mel){ - return 700.0 * (pow(10, mel/2595.0) - 1.0); -} - -template -class maxiMFCCAnalyser { -public: - T *melBands; - maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; - ~maxiMFCCAnalyser() { - if (melFilters) { - delete[] melFilters; - delete[] melBands; - delete[] dctMatrix; -#ifdef __APPLE_CC__ - delete doubleSpec; -#endif - } - } - - void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) - { - this->numFilters = numFilters; - this->numCoeffs = numCoeffs; - this->minFreq = minFreq; - this->maxFreq = maxFreq; - this->sampleRate = sampleRate; - this->numBins = numBins; - melFilters = NULL; - melBands = (T*) malloc(sizeof(T) * numFilters); -#ifdef __APPLE_CC__ - doubleSpec = (T*)malloc(sizeof(T) * numBins); -#endif - //create new matrix - dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); - calcMelFilterBank(sampleRate, numBins); - createDCTCoeffs(); - } - void mfcc(float* powerSpectrum, T *mfccs) { - melFilterAndLogSquare(powerSpectrum); - dct(mfccs); - } - -private: - unsigned int numFilters, numCoeffs; - double minFreq, maxFreq; - unsigned int sampleRate; - T *melFilters; - unsigned int numBins; - T *dctMatrix; -#ifdef __APPLE_CC__ - T *doubleSpec; -#endif - -#ifdef __APPLE_CC__ - void dct(T *mfccs); //define later -#else - void dct(T *mfccs) { - for(int i=0; i < numCoeffs; i++) { - mfccs[i] = 0.0; - } - for(int i=0; i < numCoeffs; i++ ) { - for(int j=0; j < numFilters; j++) { - int idx = i + (j * numCoeffs); - mfccs[i] += (dctMatrix[idx] * melBands[j]); - } - } - for(int i=0; i < numCoeffs; i++) { - mfccs[i] /= numCoeffs; - } - } -#endif - - void melFilterAndLogSquare(float* powerSpectrum); - void melFilterAndLogSq_Part2(float *powerSpectrum); - - - void calcMelFilterBank(double sampleRate, int numBins) { - - double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; - int numValidBins; - - // ignore bins over nyquist - numValidBins = numBins; - - nyquist = sampleRate/2; - if (maxFreq > nyquist) { - maxFreq = nyquist; - } - - maxMel = hzToMel(maxFreq); - minMel = hzToMel(minFreq); - - dMel = (maxMel - minMel) / (numFilters + 2 - 1); - - T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); - - // first generate an array of start and end freqs for each triangle - mel = minMel; - for (int i=0;i nextF || binFreq < prevF) { - // outside this filter - melFilters[idx] = 0; - //cout << "MFCCMYK: filter at " < maxiMFCC; -//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.cpp deleted file mode 100755 index 18b2af2..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.cpp +++ /dev/null @@ -1,1342 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - -/* Maximilian can be configured to load ogg vorbis format files using the -* loadOgg() method. -* Uncomment the following to include Sean Barrett's Ogg Vorbis decoder. -* If you're on windows, make sure to add the files std_vorbis.c and std_vorbis.h to your project*/ - -//#define VORBIS - -#ifdef VORBIS -extern "C" { - #include "stb_vorbis.h" -} -#endif - -//This used to be important for dealing with multichannel playback -float chandiv= 1; - -int maxiSettings::sampleRate = 44100; -int maxiSettings::channels = 2; -int maxiSettings::bufferSize = 1024; - - -//this is a 514-point sinewave table that has many uses. -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -// This is a transition table that helps with bandlimited oscs. -double transition[1001]={-0.500003,-0.500003,-0.500023,-0.500063,-0.500121,-0.500179,-0.500259, - -0.50036,-0.500476,-0.500591,-0.500732,-0.500893,-0.501066,-0.501239, - -0.50144,-0.501661,-0.501891,-0.502123,-0.502382,-0.502662,-0.502949, - -0.50324,-0.503555,-0.503895,-0.504238,-0.504587,-0.504958,-0.505356, - -0.505754,-0.506162,-0.506589,-0.507042,-0.507495,-0.50796,-0.508444, - -0.508951,-0.509458,-0.509979,-0.510518,-0.511079,-0.511638,-0.512213, - -0.512808,-0.51342,-0.51403,-0.514659,-0.515307,-0.51597,-0.51663,-0.517312, - -0.518012,-0.518724,-0.519433,-0.520166,-0.520916,-0.521675,-0.522432, - -0.523214,-0.524013,-0.524819,-0.525624,-0.526451,-0.527298,-0.528147, - -0.528999,-0.52987,-0.530762,-0.531654,-0.532551,-0.533464,-0.534399, - -0.535332,-0.536271,-0.537226,-0.538202,-0.539172,-0.540152,-0.541148, - -0.542161,-0.543168,-0.544187,-0.54522,-0.546269,-0.54731,-0.548365, - -0.549434,-0.550516,-0.55159,-0.552679,-0.553781,-0.554893,-0.555997, - -0.557118,-0.558252,-0.559391,-0.560524,-0.561674,-0.562836,-0.564001, - -0.565161,-0.566336,-0.567524,-0.568712,-0.569896,-0.571095,-0.572306, - -0.573514,-0.574721,-0.575939,-0.577171,-0.578396,-0.579622,-0.580858, - -0.582108,-0.583348,-0.58459,-0.585842,-0.587106,-0.588358,-0.589614, - -0.590879,-0.592154,-0.593415,-0.594682,-0.595957,-0.59724,-0.598507, - -0.599782,-0.601064,-0.602351,-0.603623,-0.604902,-0.606189,-0.607476, - -0.60875,-0.610032,-0.611319,-0.612605,-0.613877,-0.615157,-0.616443, - -0.617723,-0.618992,-0.620268,-0.621548,-0.62282,-0.624083,-0.62535, - -0.626622,-0.627882,-0.629135,-0.630391,-0.631652,-0.632898,-0.634138, - -0.63538,-0.636626,-0.637854,-0.639078,-0.640304,-0.641531,-0.642739, - -0.643943,-0.645149,-0.646355,-0.647538,-0.64872,-0.649903,-0.651084, - -0.652241,-0.653397,-0.654553,-0.655705,-0.656834,-0.657961,-0.659087, - -0.660206,-0.661304,-0.662399,-0.663492,-0.664575,-0.665639,-0.666699, - -0.667756,-0.6688,-0.669827,-0.670849,-0.671866,-0.672868,-0.673854, - -0.674835,-0.675811,-0.676767,-0.677709,-0.678646,-0.679576,-0.680484, - -0.68138,-0.682269,-0.683151,-0.684008,-0.684854,-0.685693,-0.686524, - -0.687327,-0.688119,-0.688905,-0.689682,-0.690428,-0.691164,-0.691893, - -0.692613,-0.6933,-0.693978,-0.694647,-0.695305,-0.695932,-0.696549, - -0.697156,-0.697748,-0.698313,-0.698865,-0.699407,-0.699932,-0.700431, - -0.700917,-0.701391,-0.701845,-0.702276,-0.702693,-0.703097,-0.703478, - -0.703837,-0.704183,-0.704514,-0.704819,-0.705105,-0.705378,-0.705633, - -0.70586,-0.706069,-0.706265,-0.706444,-0.706591,-0.706721,-0.706837, - -0.706938,-0.707003,-0.707051,-0.707086,-0.707106,-0.707086,-0.707051, - -0.707001,-0.706935,-0.706832,-0.706711,-0.706576,-0.706421,-0.706233, - -0.706025,-0.705802,-0.705557,-0.705282,-0.704984,-0.704671,-0.704334, - -0.703969,-0.703582,-0.703176,-0.702746,-0.702288,-0.70181,-0.701312, - -0.700785,-0.700234,-0.699664,-0.69907,-0.698447,-0.6978,-0.697135, - -0.696446,-0.695725,-0.694981,-0.694219,-0.693435,-0.692613,-0.691771, - -0.690911,-0.69003,-0.689108,-0.688166,-0.687206,-0.686227,-0.685204, - -0.684162,-0.683101,-0.682019,-0.680898,-0.679755,-0.678592,-0.677407, - -0.676187,-0.674941,-0.673676,-0.672386,-0.671066,-0.669718,-0.66835, - -0.666955,-0.665532,-0.664083,-0.662611,-0.661112,-0.659585,-0.658035, - -0.656459,-0.654854,-0.653223,-0.651572,-0.649892,-0.648181,-0.646446, - -0.644691,-0.642909,-0.641093,-0.639253,-0.637393,-0.63551,-0.633588, - -0.631644,-0.62968,-0.627695,-0.625668,-0.623621,-0.621553,-0.619464, - -0.617334,-0.615183,-0.613011,-0.610817,-0.608587,-0.606333,-0.604058, - -0.60176,-0.599429,-0.597072,-0.594695,-0.592293,-0.589862,-0.587404, - -0.584925,-0.58242,-0.579888,-0.577331,-0.574751,-0.572145,-0.569512, - -0.566858,-0.564178,-0.561471,-0.558739,-0.555988,-0.553209,-0.550402, - -0.547572,-0.544723,-0.54185,-0.538944,-0.536018,-0.533072,-0.530105, - -0.527103,-0.524081,-0.52104,-0.51798,-0.514883,-0.511767,-0.508633, - -0.505479,-0.502291,-0.499083,-0.495857,-0.492611,-0.489335,-0.486037, - -0.48272,-0.479384,-0.476021,-0.472634,-0.46923,-0.465805,-0.462356, - -0.458884,-0.455394,-0.451882,-0.448348,-0.444795,-0.44122,-0.437624, - -0.434008,-0.430374,-0.426718,-0.423041,-0.419344,-0.415631,-0.411897, - -0.40814,-0.404365,-0.400575,-0.396766,-0.392933,-0.389082,-0.385217, - -0.381336,-0.377428,-0.373505,-0.369568,-0.365616,-0.361638,-0.357645, - -0.353638,-0.349617,-0.345572,-0.341512,-0.337438,-0.33335,-0.329242, - -0.325118,-0.32098,-0.316829,-0.31266,-0.308474,-0.304276,-0.300063, - -0.295836,-0.291593,-0.287337,-0.283067,-0.278783,-0.274487,-0.270176, - -0.265852,-0.261515,-0.257168,-0.252806,-0.248431,-0.244045,-0.239649, - -0.23524,-0.230817,-0.226385,-0.221943,-0.21749,-0.213024,-0.208548, - -0.204064,-0.199571,-0.195064,-0.190549,-0.186026,-0.181495,-0.176952, - -0.1724,-0.167842,-0.163277,-0.1587,-0.154117,-0.149527,-0.14493,-0.140325, - -0.135712,-0.131094,-0.12647,-0.121839,-0.117201,-0.112559,-0.10791, - -0.103257,-0.0985979,-0.0939343,-0.0892662,-0.0845935,-0.079917,-0.0752362, - -0.0705516,-0.0658635,-0.0611729,-0.0564786,-0.0517814,-0.0470818,-0.0423802, - -0.0376765,-0.0329703,-0.0282629,-0.0235542,-0.0188445,-0.0141335,-0.00942183, - -0.00470983,2.41979e-06,0.00471481,0.00942681,0.0141384,0.0188494,0.023559, - 0.028268,0.0329754,0.0376813,0.0423851,0.0470868,0.0517863,0.0564836, - 0.0611777,0.0658683,0.0705566,0.0752412,0.0799218,0.0845982,0.0892712, - 0.0939393,0.0986028,0.103262,0.107915,0.112563,0.117206,0.121844,0.126475, - 0.131099,0.135717,0.14033,0.144935,0.149531,0.154122,0.158705,0.163281, - 0.167847,0.172405,0.176956,0.1815,0.18603,0.190553,0.195069,0.199576, - 0.204068,0.208552,0.213028,0.217495,0.221947,0.226389,0.230822,0.235245, - 0.239653,0.244049,0.248436,0.252811,0.257173,0.26152,0.265857,0.270181, - 0.274491,0.278788,0.283071,0.287341,0.291597,0.29584,0.300068,0.30428, - 0.308478,0.312664,0.316833,0.320984,0.325122,0.329246,0.333354,0.337442, - 0.341516,0.345576,0.34962,0.353642,0.357649,0.361642,0.36562,0.369572, - 0.373509,0.377432,0.38134,0.385221,0.389086,0.392936,0.39677,0.400579, - 0.404369,0.408143,0.4119,0.415634,0.419347,0.423044,0.426721,0.430377, - 0.434011,0.437627,0.441223,0.444798,0.448351,0.451885,0.455397,0.458887, - 0.462359,0.465807,0.469232,0.472637,0.476024,0.479386,0.482723,0.486039, - 0.489338,0.492613,0.49586,0.499086,0.502294,0.505481,0.508635,0.511769, - 0.514885,0.517982,0.521042,0.524083,0.527105,0.530107,0.533074,0.53602, - 0.538946,0.541851,0.544725,0.547574,0.550404,0.553211,0.555989,0.55874, - 0.561472,0.564179,0.566859,0.569514,0.572146,0.574753,0.577332,0.579889, - 0.582421,0.584926,0.587405,0.589863,0.592294,0.594696,0.597073,0.59943, - 0.60176,0.604059,0.606333,0.608588,0.610818,0.613012,0.615183,0.617335, - 0.619464,0.621553,0.623621,0.625669,0.627696,0.629681,0.631645,0.633588, - 0.63551,0.637393,0.639253,0.641093,0.642909,0.644691,0.646446,0.648181, - 0.649892,0.651572,0.653223,0.654854,0.656459,0.658035,0.659585,0.661112, - 0.662611,0.664083,0.665532,0.666955,0.66835,0.669718,0.671066,0.672386, - 0.673676,0.674941,0.676187,0.677407,0.678592,0.679755,0.680898,0.682019, - 0.683101,0.684162,0.685204,0.686227,0.687206,0.688166,0.689108,0.69003, - 0.690911,0.691771,0.692613,0.693435,0.694219,0.694981,0.695725,0.696447, - 0.697135,0.6978,0.698447,0.69907,0.699664,0.700234,0.700786,0.701312, - 0.70181,0.702288,0.702746,0.703177,0.703582,0.703969,0.704334,0.704671, - 0.704984,0.705282,0.705557,0.705802,0.706025,0.706233,0.706422,0.706576, - 0.706712,0.706832,0.706936,0.707002,0.707051,0.707086,0.707106,0.707086, - 0.707051,0.707003,0.706939,0.706838,0.706721,0.706592,0.706445,0.706265, - 0.70607,0.705861,0.705634,0.705378,0.705105,0.70482,0.704515,0.704184, - 0.703837,0.703478,0.703097,0.702694,0.702276,0.701846,0.701392,0.700917, - 0.700432,0.699932,0.699408,0.698866,0.698314,0.697749,0.697156,0.696549, - 0.695933,0.695305,0.694648,0.693979,0.693301,0.692613,0.691894,0.691165, - 0.690428,0.689683,0.688905,0.68812,0.687327,0.686525,0.685693,0.684854, - 0.684009,0.683152,0.68227,0.68138,0.680485,0.679577,0.678647,0.67771, - 0.676768,0.675811,0.674836,0.673855,0.672869,0.671867,0.670849,0.669827, - 0.668801,0.667757,0.6667,0.66564,0.664576,0.663493,0.6624,0.661305, - 0.660207,0.659088,0.657962,0.656834,0.655705,0.654553,0.653398,0.652241, - 0.651085,0.649903,0.648721,0.647539,0.646356,0.645149,0.643944,0.642739, - 0.641532,0.640304,0.639079,0.637855,0.636626,0.635381,0.634139,0.632899, - 0.631652,0.630392,0.629136,0.627883,0.626622,0.62535,0.624083,0.62282, - 0.621548,0.620268,0.618993,0.617724,0.616443,0.615158,0.613878,0.612605, - 0.61132,0.610032,0.608751,0.607477,0.606189,0.604903,0.603623,0.602351, - 0.601065,0.599782,0.598508,0.59724,0.595957,0.594682,0.593415,0.592154, - 0.59088,0.589615,0.588359,0.587106,0.585843,0.584591,0.583349,0.582108, - 0.580859,0.579623,0.578397,0.577172,0.575939,0.574721,0.573515,0.572307, - 0.571095,0.569897,0.568713,0.567525,0.566337,0.565161,0.564002,0.562837, - 0.561674,0.560525,0.559392,0.558252,0.557119,0.555998,0.554893,0.553782, - 0.552679,0.55159,0.550516,0.549434,0.548365,0.54731,0.546269,0.54522, - 0.544187,0.543168,0.542161,0.541148,0.540153,0.539173,0.538202,0.537226, - 0.536271,0.535332,0.5344,0.533464,0.532551,0.531654,0.530762,0.52987, - 0.528999,0.528147,0.527298,0.526451,0.525624,0.524819,0.524014,0.523214, - 0.522432,0.521675,0.520916,0.520166,0.519433,0.518724,0.518012,0.517312, - 0.51663,0.51597,0.515307,0.51466,0.51403,0.51342,0.512808,0.512213, - 0.511638,0.511079,0.510518,0.509979,0.509458,0.508951,0.508444,0.50796, - 0.507495,0.507042,0.506589,0.506162,0.505754,0.505356,0.504958,0.504587, - 0.504237,0.503895,0.503555,0.50324,0.502949,0.502662,0.502382,0.502123, - 0.501891,0.501661,0.50144,0.501239,0.501066,0.500893,0.500732,0.500591, - 0.500476,0.50036,0.500259,0.500179,0.500121,0.500063,0.500023,0.500003,0.500003}; - -//This is a lookup table for converting midi to frequency -double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - //When you create an oscillator, the constructor sets the phase of the oscillator to 0. - phase = 0.0; -} - -double maxiOsc::noise() { - //White Noise - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -void maxiOsc::phaseReset(double phaseIn) { - //This allows you to set the phase of the oscillator to anything you like. - phase=phaseIn; - -} - -double maxiOsc::sinewave(double frequency) { - //This is a sinewave oscillator - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - //This is a sinewave oscillator that uses 4 point interpolation on a 514 point buffer - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { //specify the frequency of the oscillator in Hz / cps etc. - //This is a sinewave oscillator that uses linear interpolation on a 514 point buffer - double remainder; - phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - //This is a cosine oscillator - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - //This produces a floating point linear ramp between 0 and 1 at the desired frequency - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - //This is a square wave - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - //This is a pulse generator that creates a signal between -1 and 1. - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - //This is a phasor that takes a value for the start and end of the ramp. - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - //Sawtooth generator. This is like a phasor but goes between -1 and 1 - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency) { - //This is a triangle wave. - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phase <= 0.5 ) { - output =(phase - 0.25) * 4; - } else { - output =((1.0-phase) - 0.25) * 4; - } - return(output); - -} - -double maxiOsc::sawn(double frequency) { - //Bandlimited sawtooth generator. Woohoo. - if ( phase >= 0.5 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - double temp=(8820.22/frequency)*phase; - if (temp<-0.5) { - temp=-0.5; - } - if (temp>0.5) { - temp=0.5; - } - temp*=1000.0f; - temp+=500.0f; - double remainder = temp - floor(temp); - output = (double) ((1.0f-remainder) * transition[(long)temp] + remainder * transition[1+(long)temp]) - phase; - return(output); - -} - - -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - //This is a basic multi-segment ramp generator that you can use for more or less anything. - //However, it's not that intuitive. - if (isPlaying==1) {//only make a sound once you've been triggered - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - - } - else { - output=0; - - } - return(output); -} - -//and this -void maxiEnvelope::trigger(int index, double amp) { - isPlaying=1;//ok the envelope is being used now. - valindex=index; - amplitude=amp; - -} - -//Delay with feedback -maxiDelayline::maxiDelayline() { - memset( memory, 0, 88200*sizeof (double) ); - phase=0; -} - - -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) { - phase = 0; - } - output=memory[phase]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - output=memory[position]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - return(output); - -} - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//working hires filter -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1.0-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1.0-x)*y); - four[1]=input*sqrt((1.0-x)*(1.0-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1.0-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); - eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); - eight[2]=input*(sqrt(x*y)*1.0-z); - eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); - eight[4]=input*(sqrt((1.0-x)*y)*z); - eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1.0-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName, int channel) { - myPath = fileName; - readChannel=channel; - return read(); -} - -bool maxiSample::loadOgg(string fileName, int channel) { -#ifdef VORBIS - bool result; - readChannel=channel; - int channelx; - free(temp); - myDataSize = stb_vorbis_decode_filename(const_cast(fileName.c_str()), &channelx, &temp); - result = myDataSize > 0; - printf("\nchannels = %d\nlength = %d",channelx,myDataSize); - printf("\n"); - myChannels=(short)channelx; - length=myDataSize; - mySampleRate=44100; - - if (myChannels>1) { - int position=0; - int channel=readChannel; - for (int i=channel;i1) { - int position=0; - int channel=readChannel*2; - for (int i=channel;i= length) position=0; - output = (double) temp[(long)position]/32767.0; - return output; -} - -//start end and points are between 0 and 1 -double maxiSample::playLoop(double start, double end) { - position++; - if (position < length * start) position = length * start; - if ((long) position >= length * end) position = length * start; - output = (double) temp[(long)position]/32767.0; - return output; -} - -double maxiSample::playOnce() { - position++; - if ((long) position(newPos, 0.0, 1.0) * length; -} - -double maxiSample::playUntil(double end) { - position++; - if ((long) position=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + remainder * temp[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - return play(frequency, start, end, position); -} - -double maxiSample::play(double frequency, double start, double end, double &pos) { - double remainder; - if (end>=length) end=length-1; - long a,b; - - if (frequency >0.) { - if (pos= end ) pos = start; - pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = pos - floor(pos); - long posl = floor(pos); - if (posl+1=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + - remainder * temp[b])/32767;//linear interpolation - - } - - return(output); -} - - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=temp[(int)(floor(position))-1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (positionstart && position < end-1) { - a=temp[(long) position+1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (position>start) { - c=temp[(long) position-1]; - - } else { - c=temp[0]; - - } - if (position>start+1) { - d=temp[(long) position-2]; - - } else { - d=temp[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv)/(maxiSettings::sampleRate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - -void maxiSample::setLength(unsigned long numSamples) { - temp = (short*) realloc(temp, sizeof(short) * numSamples); -// short *newData = (short*) malloc(sizeof(short) * numSamples); -// if (NULL!=temp) { -// unsigned long copyLength = min((unsigned long)length, numSamples); -// memcpy(newData, temp, sizeof(short) * copyLength); -// free(temp); -// } -// temp = newData; - myDataSize = numSamples * 2; - length=numSamples; - position=0; - recordPosition=0; -} - -void maxiSample::clear() { - memset(temp, 0, myDataSize); -} - -void maxiSample::reset() { - position=0; -} - - -void maxiSample::normalise(float maxLevel) { - short maxValue = 0; - for(int i=0; i < length; i++) { - if (abs(temp[i]) > maxValue) { - maxValue = abs(temp[i]); - } - } - float scale = 32767.0 * maxLevel / (float) maxValue; - for(int i=0; i < length; i++) { - temp[i] = round(scale * (float) temp[i]); - } -} - -void maxiSample::autoTrim(float alpha, float threshold, bool trimStart, bool trimEnd) { - - int startMarker=0; - if(trimStart) { - maxiLagExp startLag(alpha, 0); - while(startMarker < length) { - startLag.addSample(abs(temp[startMarker])); - if (startLag.value() > threshold) { - break; - } - startMarker++; - } - } - - int endMarker = length-1; - if(trimEnd) { - maxiLagExp endLag(alpha, 0); - while(endMarker > 0) { - endLag.addSample(abs(temp[endMarker])); - if (endLag.value() > threshold) { - break; - } - endMarker--; - } - } - - cout << "Autotrim: start: " << startMarker << ", end: " << endMarker << endl; - - int newLength = endMarker - startMarker; - if (newLength > 0) { - short *newData = (short*) malloc(sizeof(short) * newLength); - for(int i=0; i < newLength; i++) { - newData[i] = temp[i+startMarker]; - } - free(temp); - temp = newData; - myDataSize = newLength * 2; - length=newLength; - position=0; - recordPosition=0; - //envelope the start - int fadeSize=min((long)100, length); - for(int i=0; i < fadeSize; i++) { - float factor = i / (float) fadeSize; - temp[i] = round(temp[i] * factor); - temp[length - 1 - i] = round(temp[length - 1 - i] * factor); - } - } -} - - - - - - - - - -/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for - incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. - Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ - -double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(amplitude==0) amplitude=0.01; - } - - if (attackphase==1 && amplitude<1) { - amplitude*=(1+attack); - output=input*amplitude; - } - - if (amplitude>=1) { - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - - -double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(currentRatio==0) currentRatio=ratio; - } - - if (attackphase==1 && currentRatio=ratio-1) { - attackphase=0; - releasephase=1; - } - - if (releasephase==1 && currentRatio>0.) { - currentRatio*=release; - } - - if (input>0.) { - output = input/(1.+currentRatio); - } else { - output = input/(1.+currentRatio); - } - - return output*(1+log(ratio)); -} - - -/* Lots of people struggle with the envelope generators so here's a new easy one. - It takes mental numbers for attack and release tho. Basically, they're exponentials. - I'll map them out later so that it's a bit more intuitive */ -double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -/* and here's a new adsr. It's not bad, very simple to use*/ - -double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -double convert::mtof(int midinote) { - - return mtofarray[midinote]; -} - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.h deleted file mode 100755 index 03dfea5..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/maximilian.h +++ /dev/null @@ -1,623 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/* - Feature request: - maxiNANINFAlarm - maxiLimiter - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - - -#include -#include -#include -#include -#include "math.h" - -using namespace std; -#ifndef PI -#define PI 3.1415926535897932384626433832795 -#endif -#define TWOPI 6.283185307179586476925286766559 - -class maxiSettings { -public: - static int sampleRate; - static int channels; - static int bufferSize; - static void setup(int initSampleRate, int initChannels, int initBufferSize) { - maxiSettings::sampleRate = initSampleRate; - maxiSettings::channels = initChannels; - maxiSettings::bufferSize = initBufferSize; - } -}; - - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency); - double square(double frequency); - double pulse(double frequency, double duty); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - void phaseReset(double phaseIn); - double sawn(double frequency); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - int isPlaying; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - maxiDelayline(); - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient - -public: - maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - -//lagging with an exponential moving average -//a lower alpha value gives a slower lag -template -class maxiLagExp { -public: - T alpha, alphaReciprocal; - T val; - - maxiLagExp() { - init(0.5, 0.0); - }; - - maxiLagExp(T initAlpha, T initVal) { - init(initAlpha, initVal); - } - - void init(T initAlpha, T initVal) { - alpha = initAlpha; - alphaReciprocal = 1.0 - alpha; - val = initVal; - } - - inline void addSample(T newVal) { - val = (alpha * newVal) + (alphaReciprocal * val); - } - - inline T value() { - return val; - } -}; - - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - int readChannel; - short myFormat; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - double speed; - double output; - maxiLagExp loopRecordLag; - -public: - double position, recordPosition; - int myDataSize; - short myChannels; - int mySampleRate; - long length; - void getLength(); - void setLength(unsigned long numSamples); - - -// char* myData; - short* temp; - - // get/set for the Path property - - ~maxiSample() - { -// if (myData) free(myData); - if (temp) free(temp); - } - - maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {}; - - maxiSample& operator=(const maxiSample &source) { - if (this == &source) - return *this; - position=0; - recordPosition = 0; - myChannels = source.myChannels; - mySampleRate = maxiSettings::sampleRate; - free(temp); - myDataSize = source.myDataSize; - temp = (short*) malloc(myDataSize * sizeof(char)); - memcpy(temp, source.temp, myDataSize * sizeof(char)); - length = source.length; - return *this; - } - - bool load(string fileName, int channel=0); - - bool loadOgg(string filename,int channel=0); - - void trigger(); - - // read a wav file into this class - bool read(); - - //read an ogg file into this class using stb_vorbis - bool readOgg(); - - void loopRecord(double newSample, const bool recordEnabled, const double recordMix, double start = 0.0, double end = 1.0) { - loopRecordLag.addSample(recordEnabled); - if (recordPosition < start * length) recordPosition = start * length; - if(recordEnabled) { - double currentSample = temp[(unsigned long)recordPosition] / 32767.0; - newSample = (recordMix * currentSample) + ((1.0 - recordMix) * newSample); - newSample *= loopRecordLag.value(); - temp[(unsigned long)recordPosition] = newSample * 32767; - } - ++recordPosition; - if (recordPosition >= end * length) - recordPosition= start * length; - } - - void clear(); - - void reset(); - - double play(); - - double playLoop(double start, double end); // start and end are between 0.0 and 1.0 - - double playOnce(); - - double playOnce(double speed); - - void setPosition(double newPos); // between 0.0 and 1.0 - - double playUntil(double end); - - double play(double speed); - - double play(double frequency, double start, double end, double &pos); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - bool save() { - return save(myPath); - } - - bool save(string filename) - { - fstream myFile (filename.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write ((char*) temp, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - return summary; - } - - void normalise(float maxLevel = 0.99); //0 < maxLevel < 1.0 - void autoTrim(float alpha = 0.3, float threshold = 6000, bool trimStart = true, bool trimEnd = true); //alpha of lag filter (lower == slower reaction), threshold to mark start and end, < 32767 -}; - - -class maxiMap { -public: - static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { - val = max(min(val, inMax), inMin); - return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; - } - - static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; - } - - static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; - } - - //changed to templated function, e.g. maxiMap::maxiClamp(v, l, h); - template - static T inline clamp(T v, const T low, const T high) { - if (v > high) - v = high; - else if (v < low) { - v = low; - } - return v; - } - -}; - -class maxiDyn { - - -public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; - double ratio; - double currentRatio; - double threshold; - double output; - double attack; - double release; - double amplitude; - long holdtime; - long holdcount; - int attackphase,holdphase,releasephase; -}; - -class maxiEnv { - - -public: - double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); - double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); - double input; - double output; - double attack; - double decay; - double sustain; - double release; - double amplitude; - int trigger; - long holdtime; - long holdcount; - int attackphase,decayphase,sustainphase,holdphase,releasephase; -}; - -class convert { -public: - double mtof(int midinote); -}; - - - -class maxiDistortion { -public: - /*atan distortion, see http://www.musicdsp.org/showArchiveComment.php?ArchiveID=104*/ - /*shape from 1 (soft clipping) to infinity (hard clipping)*/ - double atanDist(const double in, const double shape); - double fastAtanDist(const double in, const double shape); - double fastatan( double x ); -}; - -inline double maxiDistortion::fastatan(double x) -{ - return (x / (1.0 + 0.28 * (x * x))); -} - -inline double maxiDistortion::atanDist(const double in, const double shape) { - double out; - out = (1.0 / atan(shape)) * atan(in * shape); - return out; -} - -inline double maxiDistortion::fastAtanDist(const double in, const double shape) { - double out; - out = (1.0 / fastatan(shape)) * fastatan(in * shape); - return out; -} - - -class maxiFlanger { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl; - maxiOsc lfo; - -}; - -inline double maxiFlanger::flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //todo: needs fixing - double output; - double lfoVal = lfo.triangle(speed); - output = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - double normalise = (1 - fabs(output)); - output *= normalise; - return (output + input) / 2.0; -} - -class maxiChorus { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl, dl2; - maxiOsc lfo; - maxiFilter lopass; - -}; - -inline double maxiChorus::chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //this needs fixing - double output1, output2; - double lfoVal = lfo.noise(); - lfoVal = lopass.lores(lfoVal, speed, 1.0) * 2.0; - output1 = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - output2 = dl2.dl(input, (delay + (lfoVal * depth * delay * 1.02) + 1) * 0.98, feedback * 0.99) ; - output1 *= (1.0 - fabs(output1)); - output2 *= (1.0 - fabs(output2)); - return (output1 + output2 + input) / 3.0; -} - -template -class maxiEnvelopeFollowerType { -public: - maxiEnvelopeFollowerType() { - setAttack(100); - setRelease(100); - env = 0; - } - void setAttack(T attackMS) { - attack = pow( 0.01, 1.0 / (attackMS * maxiSettings::sampleRate * 0.001 ) ); - } - void setRelease(T releaseMS) { - release = pow( 0.01, 1.0 / (releaseMS * maxiSettings::sampleRate * 0.001 ) ); - } - inline T play(T input) { - input = fabs(input); - if (input>env) - env = attack * (env - input) + input; - else - env = release * (env - input) + input; - return env; - } - void reset() {env=0;} - inline T getEnv(){return env;} - inline void setEnv(T val){env = val;} -private: - T attack, release, env; -}; - -typedef maxiEnvelopeFollowerType maxiEnvelopeFollower; -typedef maxiEnvelopeFollowerType maxiEnvelopeFollowerF; - -//from https://ccrma.stanford.edu/~jos/filters/DC_Blocker_Software_Implementations.html -class maxiDCBlocker { -public: - double xm1, ym1; - maxiDCBlocker() : xm1(0), ym1(0) {} - inline double play(double input, double R) { - ym1 = input - xm1 + R * ym1; - xm1 = input; - return ym1; - } -}; - -/* - State Variable Filter - - algorithm from http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised.pdf - usage: - either set the parameters separately as required (to save CPU) - - filter.setCutoff(param1); - filter.setResonance(param2); - - w = filter.play(w, 0.0, 1.0, 0.0, 0.0); - - or set everything together at once - - w = filter.setCutoff(param1).setResonance(param2).play(w, 0.0, 1.0, 0.0, 0.0); - - */ -class maxiSVF { -public: - maxiSVF() : v0z(0), v1(0), v2(0) { setParams(1000, 1);} - - //20 < cutoff < 20000 - inline maxiSVF& setCutoff(double cutoff) { - setParams(cutoff, res); - return *this; - } - - //from 0 upwards, starts to ring from 2-3ish, cracks a bit around 10 - inline maxiSVF& setResonance(double q) { - setParams(freq, q); - return *this; - } - - //run the filter, and get a mixture of lowpass, bandpass, highpass and notch outputs - inline double play(double w, double lpmix, double bpmix, double hpmix, double notchmix) { - double low, band, high, notch; - double v1z = v1; - double v2z = v2; - double v3 = w + v0z - 2.0 * v2z; - v1 += g1*v3-g2*v1z; - v2 += g3*v3+g4*v1z; - v0z = w; - low = v2; - band = v1; - high = w-k*v1-v2; - notch = w-k*v1; - return (low * lpmix) + (band * bpmix) + (high * hpmix) + (notch * notchmix); - } - -private: - inline void setParams(double _freq, double _res) { - freq = _freq; - res = _res; - g = tan(PI * freq / maxiSettings::sampleRate); - damping = res == 0 ? 0 : 1.0 / res; - k = damping; - ginv = g / (1.0 + g * (g + k)); - g1 = ginv; - g2 = 2.0 * (g + k) * ginv; - g3 = g * ginv; - g4 = 2.0 * ginv; - } - - double v0z, v1, v2, g, damping, k, ginv, g1, g2, g3 ,g4; - double freq, res; - -}; - - -#endif diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/sineTable.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/sineTable.h deleted file mode 100755 index de9626e..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/sineTable.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * sineTable.h - * atomSynthesis - * - * Created by Chris on 10/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ -#pragma once - -namespace waveTable { - -double sine65536[65538] = {0.0,9.5873799096e-05,0.000191747597311,0.000287621393763,0.000383495187571,0.000479368977855,0.000575242763732,0.000671116544322,0.000766990318743,0.000862864086114,0.000958737845553,0.00105461159618,0.00115048533711,0.00124635906747,0.00134223278637,0.00143810649294,0.00153398018628,0.00162985386553,0.0017257275298,0.0018216011782,0.00191747480986,0.00201334842389,0.00210922201942,0.00220509559556,0.00230096915143,0.00239684268615,0.00249271619884,0.00258858968861,0.0026844631546,0.0027803365959,0.00287621001166,0.00297208340097,0.00306795676297,0.00316383009676,0.00325970340148,0.00335557667623,0.00345144992014,0.00354732313232,0.0036431963119,0.00373906945799,0.00383494256971,0.00393081564618,0.00402668868652,0.00412256168984,0.00421843465528,0.00431430758194,0.00441018046894,0.0045060533154,0.00460192612045,0.00469779888319,0.00479367160276,0.00488954427826,0.00498541690882,0.00508128949356,0.00517716203158,0.00527303452202,0.005368906964,0.00546477935662,0.00556065169901,0.00565652399029,0.00575239622957,0.00584826841598,0.00594414054864,0.00604001262666,0.00613588464915,0.00623175661525,0.00632762852407,0.00642350037473,0.00651937216634,0.00661524389803,0.00671111556891,0.0068069871781,0.00690285872473,0.00699873020791,0.00709460162675,0.00719047298039,0.00728634426793,0.00738221548849,0.0074780866412,0.00757395772518,0.00766982873953,0.00776569968339,0.00786157055586,0.00795744135607,0.00805331208314,0.00814918273619,0.00824505331433,0.00834092381668,0.00843679424237,0.00853266459051,0.00862853486021,0.00872440505061,0.00882027516081,0.00891614518993,0.00901201513711,0.00910788500144,0.00920375478206,0.00929962447808,0.00939549408862,0.00949136361279,0.00958723304973,0.00968310239854,0.00977897165835,0.00987484082827,0.00997070990742,0.0100665788949,0.0101624477899,0.0102583165915,0.0103541852987,0.0104500539108,0.0105459224269,0.010641790846,0.0107376591673,0.0108335273899,0.0109293955129,0.0110252635354,0.0111211314566,0.0112169992756,0.0113128669915,0.0114087346034,0.0115046021104,0.0116004695117,0.0116963368064,0.0117922039935,0.0118880710723,0.0119839380417,0.0120798049011,0.0121756716493,0.0122715382857,0.0123674048093,0.0124632712192,0.0125591375145,0.0126550036944,0.012750869758,0.0128467357044,0.0129426015327,0.013038467242,0.0131343328315,0.0132301983002,0.0133260636473,0.013421928872,0.0135177939733,0.0136136589503,0.0137095238022,0.0138053885281,0.013901253127,0.0139971175982,0.0140929819408,0.0141888461538,0.0142847102364,0.0143805741876,0.0144764380067,0.0145723016928,0.0146681652449,0.0147640286621,0.0148598919437,0.0149557550886,0.0150516180961,0.0151474809653,0.0152433436952,0.015339206285,0.0154350687338,0.0155309310407,0.0156267932049,0.0157226552254,0.0158185171014,0.015914378832,0.0160102404164,0.0161061018535,0.0162019631427,0.0162978242829,0.0163936852733,0.016489546113,0.0165854068011,0.0166812673368,0.0167771277191,0.0168729879473,0.0169688480203,0.0170647079374,0.0171605676976,0.0172564273001,0.017352286744,0.0174481460284,0.0175440051524,0.0176398641151,0.0177357229157,0.0178315815532,0.0179274400269,0.0180232983358,0.018119156479,0.0182150144556,0.0183108722649,0.0184067299058,0.0185025873775,0.0185984446792,0.0186943018099,0.0187901587688,0.0188860155549,0.0189818721675,0.0190777286056,0.0191735848683,0.0192694409548,0.0193652968642,0.0194611525955,0.019557008148,0.0196528635207,0.0197487187128,0.0198445737234,0.0199404285515,0.0200362831964,0.0201321376571,0.0202279919327,0.0203238460224,0.0204196999253,0.0205155536405,0.0206114071671,0.0207072605043,0.0208031136511,0.0208989666067,0.0209948193702,0.0210906719408,0.0211865243174,0.0212823764994,0.0213782284857,0.0214740802755,0.0215699318679,0.021665783262,0.021761634457,0.021857485452,0.0219533362461,0.0220491868384,0.022145037228,0.022240887414,0.0223367373956,0.0224325871719,0.0225284367421,0.0226242861051,0.0227201352602,0.0228159842064,0.0229118329429,0.0230076814688,0.0231035297833,0.0231993778853,0.0232952257742,0.0233910734489,0.0234869209086,0.0235827681524,0.0236786151794,0.0237744619888,0.0238703085797,0.0239661549511,0.0240620011023,0.0241578470323,0.0242536927402,0.0243495382252,0.0244453834864,0.0245412285229,0.0246370733338,0.0247329179183,0.0248287622754,0.0249246064043,0.0250204503041,0.0251162939739,0.0252121374128,0.02530798062,0.0254038235946,0.0254996663357,0.0255955088423,0.0256913511138,0.025787193149,0.0258830349473,0.0259788765076,0.0260747178291,0.026170558911,0.0262663997523,0.0263622403521,0.0264580807097,0.026553920824,0.0266497606943,0.0267456003196,0.0268414396991,0.0269372788319,0.027033117717,0.0271289563537,0.027224794741,0.0273206328781,0.027416470764,0.0275123083979,0.027608145779,0.0277039829062,0.0277998197789,0.027895656396,0.0279914927567,0.02808732886,0.0281831647053,0.0282790002914,0.0283748356177,0.0284706706831,0.0285665054868,0.028662340028,0.0287581743056,0.028854008319,0.0289498420671,0.0290456755491,0.0291415087642,0.0292373417114,0.0293331743898,0.0294290067986,0.0295248389369,0.0296206708039,0.0297165023985,0.02981233372,0.0299081647675,0.0300039955401,0.0300998260369,0.030195656257,0.0302914861995,0.0303873158637,0.0304831452485,0.0305789743531,0.0306748031766,0.0307706317182,0.030866459977,0.030962287952,0.0310581156424,0.0311539430474,0.031249770166,0.0313455969973,0.0314414235406,0.0315372497948,0.0316330757591,0.0317289014327,0.0318247268146,0.031920551904,0.0320163767,0.0321122012018,0.0322080254083,0.0323038493188,0.0323996729324,0.0324954962481,0.0325913192652,0.0326871419827,0.0327829643997,0.0328787865154,0.0329746083289,0.0330704298393,0.0331662510457,0.0332620719473,0.0333578925431,0.0334537128323,0.033549532814,0.0336453524873,0.0337411718514,0.0338369909053,0.0339328096482,0.0340286280792,0.0341244461974,0.034220264002,0.034316081492,0.0344118986665,0.0345077155248,0.0346035320659,0.0346993482889,0.034795164193,0.0348909797772,0.0349867950407,0.0350826099826,0.0351784246021,0.0352742388982,0.0353700528701,0.0354658665169,0.0355616798376,0.0356574928315,0.0357533054976,0.0358491178351,0.0359449298431,0.0360407415207,0.036136552867,0.0362323638812,0.0363281745623,0.0364239849094,0.0365197949218,0.0366156045985,0.0367114139387,0.0368072229414,0.0369030316057,0.0369988399309,0.037094647916,0.0371904555601,0.0372862628624,0.0373820698219,0.0374778764378,0.0375736827093,0.0376694886353,0.0377652942152,0.0378610994479,0.0379569043325,0.0380527088683,0.0381485130544,0.0382443168897,0.0383401203736,0.038435923505,0.0385317262831,0.038627528707,0.0387233307759,0.0388191324889,0.038914933845,0.0390107348435,0.0391065354833,0.0392023357637,0.0392981356838,0.0393939352426,0.0394897344394,0.0395855332731,0.039681331743,0.0397771298482,0.0398729275877,0.0399687249608,0.0400645219664,0.0401603186038,0.040256114872,0.0403519107703,0.0404477062976,0.0405435014531,0.0406392962359,0.0407350906452,0.0408308846801,0.0409266783397,0.0410224716231,0.0411182645294,0.0412140570577,0.0413098492073,0.0414056409771,0.0415014323663,0.0415972233741,0.0416930139995,0.0417888042416,0.0418845940997,0.0419803835727,0.0420761726599,0.0421719613603,0.0422677496731,0.0423635375974,0.0424593251323,0.0425551122769,0.0426508990304,0.0427466853918,0.0428424713602,0.0429382569349,0.043034042115,0.0431298268994,0.0432256112874,0.0433213952781,0.0434171788706,0.043512962064,0.0436087448575,0.0437045272501,0.0438003092409,0.0438960908292,0.043991872014,0.0440876527945,0.0441834331696,0.0442792131387,0.0443749927008,0.0444707718549,0.0445665506003,0.0446623289361,0.0447581068613,0.0448538843752,0.0449496614767,0.0450454381651,0.0451412144394,0.0452369902988,0.0453327657424,0.0454285407693,0.0455243153786,0.0456200895695,0.045715863341,0.0458116366924,0.0459074096226,0.0460031821309,0.0460989542163,0.046194725878,0.0462904971151,0.0463862679267,0.0464820383119,0.0465778082699,0.0466735777997,0.0467693469005,0.0468651155715,0.0469608838116,0.0470566516201,0.0471524189961,0.0472481859386,0.0473439524469,0.0474397185199,0.047535484157,0.047631249357,0.0477270141193,0.0478227784429,0.0479185423269,0.0480143057704,0.0481100687726,0.0482058313326,0.0483015934495,0.0483973551224,0.0484931163504,0.0485888771327,0.0486846374684,0.0487803973566,0.0488761567964,0.048971915787,0.0490676743274,0.0491634324168,0.0492591900543,0.049354947239,0.0494507039701,0.0495464602466,0.0496422160677,0.0497379714325,0.0498337263401,0.0499294807897,0.0500252347803,0.0501209883111,0.0502167413812,0.0503124939897,0.0504082461357,0.0505039978184,0.0505997490369,0.0506954997903,0.0507912500777,0.0508869998982,0.050982749251,0.0510784981352,0.0511742465499,0.0512699944941,0.0513657419672,0.051461488968,0.0515572354959,0.0516529815499,0.051748727129,0.0518444722325,0.0519402168595,0.052035961009,0.0521317046803,0.0522274478723,0.0523231905843,0.0524189328154,0.0525146745646,0.0526104158311,0.0527061566141,0.0528018969125,0.0528976367257,0.0529933760526,0.0530891148924,0.0531848532442,0.0532805911071,0.0533763284804,0.0534720653629,0.053567801754,0.0536635376527,0.0537592730582,0.0538550079695,0.0539507423857,0.0540464763061,0.0541422097297,0.0542379426556,0.054333675083,0.0544294070109,0.0545251384386,0.054620869365,0.0547165997894,0.0548123297109,0.0549080591285,0.0550037880415,0.0550995164488,0.0551952443497,0.0552909717432,0.0553866986286,0.0554824250048,0.055578150871,0.0556738762264,0.05576960107,0.055865325401,0.0559610492185,0.0560567725216,0.0561524953095,0.0562482175812,0.0563439393359,0.0564396605727,0.0565353812907,0.0566311014891,0.0567268211669,0.0568225403233,0.0569182589574,0.0570139770683,0.0571096946552,0.0572054117171,0.0573011282532,0.0573968442626,0.0574925597444,0.0575882746977,0.0576839891217,0.0577797030155,0.0578754163782,0.0579711292089,0.0580668415068,0.0581625532709,0.0582582645004,0.0583539751944,0.0584496853521,0.0585453949724,0.0586411040547,0.0587368125979,0.0588325206012,0.0589282280638,0.0590239349847,0.059119641363,0.059215347198,0.0593110524886,0.0594067572341,0.0595024614335,0.059598165086,0.0596938681907,0.0597895707466,0.059885272753,0.059980974209,0.0600766751136,0.060172375466,0.0602680752653,0.0603637745107,0.0604594732012,0.0605551713359,0.0606508689141,0.0607465659348,0.0608422623971,0.0609379583001,0.061033653643,0.0611293484249,0.061225042645,0.0613207363022,0.0614164293958,0.0615121219249,0.0616078138886,0.061703505286,0.0617991961162,0.0618948863784,0.0619905760716,0.0620862651951,0.0621819537478,0.062277641729,0.0623733291378,0.0624690159732,0.0625647022345,0.0626603879206,0.0627560730308,0.0628517575642,0.0629474415198,0.0630431248968,0.0631388076944,0.0632344899116,0.0633301715475,0.0634258526014,0.0635215330722,0.0636172129592,0.0637128922614,0.063808570978,0.063904249108,0.0639999266507,0.0640956036051,0.0641912799704,0.0642869557456,0.0643826309299,0.0644783055224,0.0645739795222,0.0646696529285,0.0647653257403,0.0648609979569,0.0649566695772,0.0650523406005,0.0651480110259,0.0652436808524,0.0653393500792,0.0654350187054,0.0655306867302,0.0656263541526,0.0657220209718,0.0658176871869,0.065913352797,0.0660090178013,0.0661046821988,0.0662003459886,0.06629600917,0.066391671742,0.0664873337038,0.0665829950544,0.066678655793,0.0667743159187,0.0668699754306,0.0669656343279,0.0670612926096,0.067156950275,0.067252607323,0.0673482637529,0.0674439195637,0.0675395747545,0.0676352293246,0.067730883273,0.0678265365988,0.0679221893012,0.0680178413792,0.0681134928321,0.0682091436588,0.0683047938586,0.0684004434305,0.0684960923738,0.0685917406874,0.0686873883705,0.0687830354223,0.0688786818418,0.0689743276283,0.0690699727807,0.0691656172982,0.06926126118,0.0693569044252,0.0694525470328,0.0695481890021,0.0696438303321,0.0697394710219,0.0698351110707,0.0699307504776,0.0700263892417,0.0701220273621,0.070217664838,0.0703133016685,0.0704089378526,0.0705045733896,0.0706002082785,0.0706958425185,0.0707914761086,0.0708871090481,0.070982741336,0.0710783729714,0.0711740039534,0.0712696342813,0.0713652639541,0.0714608929708,0.0715565213308,0.071652149033,0.0717477760766,0.0718434024607,0.0719390281844,0.0720346532469,0.0721302776472,0.0722259013846,0.0723215244581,0.0724171468668,0.0725127686098,0.0726083896864,0.0727040100955,0.0727996298364,0.072895248908,0.0729908673097,0.0730864850405,0.0731821020994,0.0732777184857,0.0733733341984,0.0734689492367,0.0735645635997,0.0736601772865,0.0737557902962,0.073851402628,0.0739470142809,0.0740426252541,0.0741382355468,0.074233845158,0.0743294540868,0.0744250623325,0.074520669894,0.0746162767706,0.0747118829613,0.0748074884652,0.0749030932816,0.0749986974094,0.0750943008479,0.0751899035962,0.0752855056533,0.0753811070184,0.0754767076906,0.075572307669,0.0756679069528,0.0757635055411,0.075859103433,0.0759547006275,0.076050297124,0.0761458929214,0.0762414880189,0.0763370824155,0.0764326761105,0.076528269103,0.076623861392,0.0767194529767,0.0768150438563,0.0769106340297,0.0770062234962,0.0771018122549,0.0771974003049,0.0772929876453,0.0773885742753,0.0774841601939,0.0775797454003,0.0776753298935,0.0777709136729,0.0778664967373,0.077962079086,0.0780576607182,0.0781532416328,0.0782488218291,0.0783444013061,0.078439980063,0.0785355580988,0.0786311354128,0.0787267120041,0.0788222878717,0.0789178630148,0.0790134374325,0.0791090111239,0.0792045840882,0.0793001563244,0.0793957278317,0.0794912986092,0.0795868686561,0.0796824379714,0.0797780065543,0.0798735744039,0.0799691415193,0.0800647078997,0.0801602735441,0.0802558384517,0.0803514026216,0.080446966053,0.0805425287448,0.0806380906964,0.0807336519067,0.080829212375,0.0809247721003,0.0810203310817,0.0811158893185,0.0812114468096,0.0813070035542,0.0814025595515,0.0814981148006,0.0815936693005,0.0816892230505,0.0817847760496,0.0818803282969,0.0819758797916,0.0820714305328,0.0821669805197,0.0822625297512,0.0823580782266,0.0824536259451,0.0825491729056,0.0826447191073,0.0827402645494,0.0828358092309,0.0829313531511,0.0830268963089,0.0831224387036,0.0832179803343,0.0833135212,0.0834090612999,0.0835046006332,0.0836001391988,0.0836956769961,0.083791214024,0.0838867502818,0.0839822857685,0.0840778204832,0.0841733544251,0.0842688875933,0.0843644199869,0.0844599516051,0.0845554824469,0.0846510125116,0.0847465417981,0.0848420703056,0.0849375980333,0.0850331249803,0.0851286511456,0.0852241765285,0.085319701128,0.0854152249433,0.0855107479735,0.0856062702176,0.0857017916749,0.0857973123444,0.0858928322253,0.0859883513167,0.0860838696177,0.0861793871275,0.0862749038451,0.0863704197697,0.0864659349003,0.0865614492363,0.0866569627765,0.0867524755202,0.0868479874665,0.0869434986145,0.0870390089634,0.0871345185122,0.0872300272601,0.0873255352062,0.0874210423496,0.0875165486895,0.0876120542249,0.087707558955,0.0878030628789,0.0878985659958,0.0879940683047,0.0880895698048,0.0881850704952,0.088280570375,0.0883760694433,0.0884715676993,0.0885670651421,0.0886625617709,0.0887580575846,0.0888535525825,0.0889490467637,0.0890445401273,0.0891400326724,0.0892355243981,0.0893310153037,0.0894265053881,0.0895219946505,0.08961748309,0.0897129707058,0.089808457497,0.0899039434627,0.089999428602,0.090094912914,0.0901903963979,0.0902858790529,0.0903813608779,0.0904768418721,0.0905723220347,0.0906678013648,0.0907632798615,0.0908587575239,0.0909542343511,0.0910497103424,0.0911451854967,0.0912406598132,0.0913361332911,0.0914316059294,0.0915270777273,0.0916225486839,0.0917180187983,0.0918134880697,0.0919089564971,0.0920044240798,0.0920998908167,0.0921953567071,0.0922908217501,0.0923862859447,0.0924817492901,0.0925772117855,0.0926726734299,0.0927681342225,0.0928635941624,0.0929590532487,0.0930545114805,0.093149968857,0.0932454253773,0.0933408810405,0.0934363358457,0.0935317897921,0.0936272428788,0.0937226951048,0.0938181464694,0.0939135969716,0.0940090466106,0.0941044953855,0.0941999432954,0.0942953903394,0.0943908365167,0.0944862818264,0.0945817262675,0.0946771698393,0.0947726125408,0.0948680543712,0.0949634953296,0.0950589354152,0.0951543746269,0.095249812964,0.0953452504256,0.0954406870108,0.0955361227188,0.0956315575485,0.0957269914993,0.0958224245702,0.0959178567602,0.0960132880687,0.0961087184946,0.096204148037,0.0962995766952,0.0963950044683,0.0964904313553,0.0965858573553,0.0966812824676,0.0967767066912,0.0968721300252,0.0969675524688,0.0970629740212,0.0971583946813,0.0972538144484,0.0973492333215,0.0974446512998,0.0975400683825,0.0976354845685,0.0977308998571,0.0978263142474,0.0979217277385,0.0980171403296,0.0981125520196,0.0982079628079,0.0983033726934,0.0983987816754,0.0984941897529,0.098589596925,0.098685003191,0.0987804085498,0.0988758130007,0.0989712165427,0.099066619175,0.0991620208967,0.099257421707,0.0993528216049,0.0994482205895,0.0995436186601,0.0996390158156,0.0997344120553,0.0998298073783,0.0999252017837,0.100020595271,0.100115987838,0.100211379485,0.100306770211,0.100402160016,0.100497548897,0.100592936854,0.100688323887,0.100783709995,0.100879095176,0.100974479429,0.101069862755,0.101165245151,0.101260626618,0.101356007154,0.101451386758,0.10154676543,0.101642143168,0.101737519973,0.101832895841,0.101928270774,0.10202364477,0.102119017829,0.102214389948,0.102309761128,0.102405131368,0.102500500666,0.102595869022,0.102691236436,0.102786602905,0.102881968429,0.102977333008,0.10307269664,0.103168059325,0.103263421062,0.103358781849,0.103454141686,0.103549500573,0.103644858507,0.103740215489,0.103835571517,0.103930926591,0.10402628071,0.104121633872,0.104216986077,0.104312337325,0.104407687613,0.104503036942,0.10459838531,0.104693732717,0.104789079162,0.104884424643,0.10497976916,0.105075112713,0.105170455299,0.105265796919,0.105361137571,0.105456477255,0.105551815969,0.105647153713,0.105742490487,0.105837826288,0.105933161116,0.106028494971,0.106123827851,0.106219159755,0.106314490683,0.106409820634,0.106505149607,0.106600477601,0.106695804615,0.106791130648,0.1068864557,0.106981779769,0.107077102855,0.107172424957,0.107267746073,0.107363066204,0.107458385348,0.107553703504,0.107649020671,0.107744336849,0.107839652036,0.107934966233,0.108030279437,0.108125591648,0.108220902865,0.108316213088,0.108411522315,0.108506830545,0.108602137778,0.108697444013,0.108792749249,0.108888053485,0.108983356719,0.109078658952,0.109173960183,0.10926926041,0.109364559632,0.10945985785,0.109555155061,0.109650451265,0.109745746461,0.109841040649,0.109936333827,0.110031625994,0.11012691715,0.110222207294,0.110317496424,0.110412784541,0.110508071643,0.110603357729,0.110698642798,0.11079392685,0.110889209883,0.110984491897,0.111079772891,0.111175052864,0.111270331815,0.111365609743,0.111460886648,0.111556162528,0.111651437383,0.111746711211,0.111841984012,0.111937255786,0.11203252653,0.112127796244,0.112223064928,0.112318332581,0.112413599201,0.112508864787,0.11260412934,0.112699392857,0.112794655339,0.112889916784,0.112985177191,0.113080436559,0.113175694889,0.113270952178,0.113366208425,0.113461463631,0.113556717794,0.113651970913,0.113747222987,0.113842474016,0.113937723998,0.114032972933,0.11412822082,0.114223467658,0.114318713446,0.114413958183,0.114509201869,0.114604444502,0.114699686081,0.114794926607,0.114890166077,0.114985404491,0.115080641848,0.115175878147,0.115271113388,0.115366347569,0.115461580689,0.115556812749,0.115652043746,0.11574727368,0.11584250255,0.115937730356,0.116032957095,0.116128182769,0.116223407374,0.116318630912,0.11641385338,0.116509074778,0.116604295106,0.116699514361,0.116794732544,0.116889949653,0.116985165688,0.117080380648,0.117175594531,0.117270807338,0.117366019066,0.117461229715,0.117556439285,0.117651647775,0.117746855183,0.117842061508,0.117937266751,0.118032470909,0.118127673983,0.11822287597,0.118318076871,0.118413276685,0.11850847541,0.118603673045,0.118698869591,0.118794065045,0.118889259408,0.118984452678,0.119079644854,0.119174835935,0.119270025921,0.119365214811,0.119460402604,0.119555589298,0.119650774894,0.119745959389,0.119841142785,0.119936325078,0.120031506269,0.120126686357,0.120221865341,0.120317043219,0.120412219992,0.120507395658,0.120602570216,0.120697743666,0.120792916006,0.120888087236,0.120983257354,0.121078426361,0.121173594255,0.121268761035,0.1213639267,0.12145909125,0.121554254683,0.121649416999,0.121744578197,0.121839738276,0.121934897235,0.122030055073,0.122125211789,0.122220367383,0.122315521853,0.122410675199,0.12250582742,0.122600978515,0.122696128483,0.122791277323,0.122886425035,0.122981571617,0.123076717068,0.123171861388,0.123267004576,0.123362146631,0.123457287552,0.123552427339,0.123647565989,0.123742703503,0.12383783988,0.123932975119,0.124028109218,0.124123242177,0.124218373995,0.124313504672,0.124408634205,0.124503762596,0.124598889842,0.124694015942,0.124789140897,0.124884264704,0.124979387363,0.125074508874,0.125169629235,0.125264748446,0.125359866505,0.125454983412,0.125550099165,0.125645213765,0.12574032721,0.125835439498,0.125930550631,0.126025660606,0.126120769422,0.126215877079,0.126310983576,0.126406088912,0.126501193086,0.126596296097,0.126691397945,0.126786498628,0.126881598145,0.126976696497,0.127071793681,0.127166889697,0.127261984545,0.127357078222,0.127452170729,0.127547262065,0.127642352228,0.127737441218,0.127832529033,0.127927615674,0.128022701139,0.128117785427,0.128212868537,0.128307950469,0.128403031222,0.128498110794,0.128593189185,0.128688266394,0.12878334242,0.128878417263,0.128973490921,0.129068563393,0.129163634679,0.129258704778,0.129353773688,0.12944884141,0.129543907942,0.129638973283,0.129734037432,0.129829100389,0.129924162153,0.130019222722,0.130114282096,0.130209340275,0.130304397256,0.13039945304,0.130494507625,0.13058956101,0.130684613196,0.13077966418,0.130874713962,0.130969762541,0.131064809916,0.131159856086,0.131254901051,0.131349944809,0.13144498736,0.131540028703,0.131635068837,0.13173010776,0.131825145473,0.131920181974,0.132015217263,0.132110251338,0.132205284199,0.132300315844,0.132395346274,0.132490375487,0.132585403481,0.132680430257,0.132775455814,0.13287048015,0.132965503265,0.133060525157,0.133155545827,0.133250565272,0.133345583493,0.133440600488,0.133535616256,0.133630630797,0.13372564411,0.133820656194,0.133915667047,0.13401067667,0.134105685061,0.134200692219,0.134295698143,0.134390702834,0.134485706288,0.134580708507,0.134675709489,0.134770709233,0.134865707738,0.134960705003,0.135055701028,0.135150695811,0.135245689352,0.13534068165,0.135435672704,0.135530662513,0.135625651076,0.135720638393,0.135815624462,0.135910609283,0.136005592854,0.136100575176,0.136195556246,0.136290536064,0.13638551463,0.136480491942,0.136575468,0.136670442802,0.136765416348,0.136860388637,0.136955359668,0.13705032944,0.137145297952,0.137240265204,0.137335231194,0.137430195921,0.137525159386,0.137620121586,0.137715082522,0.137810042192,0.137905000595,0.13799995773,0.138094913597,0.138189868194,0.138284821522,0.138379773578,0.138474724362,0.138569673873,0.138664622111,0.138759569074,0.138854514762,0.138949459173,0.139044402308,0.139139344164,0.139234284741,0.139329224038,0.139424162055,0.13951909879,0.139614034243,0.139708968412,0.139803901298,0.139898832898,0.139993763212,0.14008869224,0.140183619979,0.140278546431,0.140373471592,0.140468395464,0.140563318044,0.140658239333,0.140753159328,0.14084807803,0.140942995437,0.141037911549,0.141132826364,0.141227739882,0.141322652102,0.141417563022,0.141512472643,0.141607380963,0.141702287982,0.141797193698,0.14189209811,0.141987001219,0.142081903022,0.142176803519,0.14227170271,0.142366600593,0.142461497167,0.142556392431,0.142651286386,0.142746179029,0.14284107036,0.142935960378,0.143030849082,0.143125736471,0.143220622545,0.143315507303,0.143410390743,0.143505272865,0.143600153667,0.14369503315,0.143789911312,0.143884788153,0.143979663671,0.144074537865,0.144169410735,0.14426428228,0.144359152499,0.144454021391,0.144548888955,0.144643755191,0.144738620097,0.144833483672,0.144928345916,0.145023206829,0.145118066408,0.145212924653,0.145307781563,0.145402637138,0.145497491376,0.145592344277,0.14568719584,0.145782046064,0.145876894947,0.14597174249,0.146066588691,0.146161433549,0.146256277064,0.146351119234,0.14644596006,0.146540799539,0.146635637671,0.146730474455,0.146825309891,0.146920143977,0.147014976713,0.147109808097,0.147204638129,0.147299466808,0.147394294133,0.147489120103,0.147583944718,0.147678767976,0.147773589876,0.147868410418,0.147963229601,0.148058047424,0.148152863887,0.148247678987,0.148342492725,0.148437305099,0.148532116108,0.148626925753,0.148721734031,0.148816540942,0.148911346486,0.14900615066,0.149100953465,0.1491957549,0.149290554963,0.149385353654,0.149480150972,0.149574946915,0.149669741484,0.149764534677,0.149859326494,0.149954116933,0.150048905994,0.150143693675,0.150238479977,0.150333264897,0.150428048436,0.150522830592,0.150617611364,0.150712390752,0.150807168755,0.150901945371,0.1509967206,0.151091494442,0.151186266894,0.151281037957,0.15137580763,0.151470575911,0.151565342799,0.151660108295,0.151754872397,0.151849635103,0.151944396414,0.152039156328,0.152133914845,0.152228671963,0.152323427682,0.152418182001,0.152512934919,0.152607686435,0.152702436549,0.152797185258,0.152891932564,0.152986678464,0.153081422957,0.153176166044,0.153270907723,0.153365647992,0.153460386852,0.153555124302,0.15364986034,0.153744594966,0.153839328178,0.153934059977,0.154028790361,0.154123519328,0.154218246879,0.154312973013,0.154407697728,0.154502421024,0.1545971429,0.154691863355,0.154786582387,0.154881299997,0.154976016184,0.155070730946,0.155165444282,0.155260156193,0.155354866676,0.155449575731,0.155544283357,0.155638989554,0.15573369432,0.155828397654,0.155923099556,0.156017800025,0.15611249906,0.15620719666,0.156301892824,0.156396587552,0.156491280842,0.156585972693,0.156680663105,0.156775352077,0.156870039608,0.156964725697,0.157059410343,0.157154093546,0.157248775304,0.157343455616,0.157438134483,0.157532811902,0.157627487873,0.157722162395,0.157816835468,0.15791150709,0.15800617726,0.158100845978,0.158195513243,0.158290179054,0.15838484341,0.15847950631,0.158574167753,0.158668827739,0.158763486266,0.158858143334,0.158952798942,0.159047453088,0.159142105773,0.159236756995,0.159331406753,0.159426055047,0.159520701875,0.159615347237,0.159709991132,0.159804633559,0.159899274517,0.159993914005,0.160088552023,0.160183188569,0.160277823642,0.160372457243,0.160467089369,0.160561720021,0.160656349196,0.160750976895,0.160845603116,0.160940227859,0.161034851122,0.161129472906,0.161224093208,0.161318712028,0.161413329366,0.161507945219,0.161602559588,0.161697172472,0.16179178387,0.16188639378,0.161981002202,0.162075609136,0.16217021458,0.162264818533,0.162359420994,0.162454021963,0.162548621439,0.162643219421,0.162737815908,0.162832410899,0.162927004393,0.16302159639,0.163116186888,0.163210775887,0.163305363385,0.163399949383,0.163494533879,0.163589116871,0.163683698361,0.163778278345,0.163872856825,0.163967433797,0.164062009263,0.164156583221,0.16425115567,0.164345726609,0.164440296037,0.164534863954,0.164629430359,0.16472399525,0.164818558628,0.16491312049,0.165007680836,0.165102239666,0.165196796978,0.165291352772,0.165385907046,0.1654804598,0.165575011034,0.165669560745,0.165764108933,0.165858655598,0.165953200738,0.166047744353,0.166142286441,0.166236827003,0.166331366036,0.16642590354,0.166520439515,0.166614973959,0.166709506872,0.166804038252,0.166898568099,0.166993096412,0.16708762319,0.167182148432,0.167276672137,0.167371194305,0.167465714935,0.167560234025,0.167654751575,0.167749267584,0.167843782051,0.167938294975,0.168032806355,0.168127316191,0.168221824482,0.168316331226,0.168410836423,0.168505340073,0.168599842173,0.168694342724,0.168788841724,0.168883339172,0.168977835068,0.169072329411,0.1691668222,0.169261313434,0.169355803112,0.169450291234,0.169544777798,0.169639262803,0.16973374625,0.169828228136,0.169922708461,0.170017187224,0.170111664424,0.170206140061,0.170300614133,0.17039508664,0.170489557581,0.170584026954,0.17067849476,0.170772960997,0.170867425664,0.17096188876,0.171056350285,0.171150810238,0.171245268618,0.171339725423,0.171434180654,0.171528634308,0.171623086386,0.171717536887,0.171811985809,0.171906433152,0.172000878915,0.172095323097,0.172189765697,0.172284206714,0.172378646148,0.172473083997,0.172567520261,0.172661954938,0.172756388029,0.172850819531,0.172945249445,0.173039677769,0.173134104503,0.173228529645,0.173322953195,0.173417375152,0.173511795514,0.173606214282,0.173700631454,0.17379504703,0.173889461008,0.173983873387,0.174078284168,0.174172693348,0.174267100928,0.174361506905,0.17445591128,0.174550314051,0.174644715218,0.17473911478,0.174833512735,0.174927909083,0.175022303824,0.175116696956,0.175211088478,0.175305478389,0.175399866689,0.175494253377,0.175588638452,0.175683021913,0.175777403759,0.175871783989,0.175966162603,0.176060539599,0.176154914977,0.176249288736,0.176343660875,0.176438031393,0.176532400289,0.176626767562,0.176721133212,0.176815497238,0.176909859638,0.177004220412,0.177098579559,0.177192937079,0.177287292969,0.17738164723,0.177475999861,0.17757035086,0.177664700227,0.177759047961,0.177853394061,0.177947738526,0.178042081356,0.178136422549,0.178230762105,0.178325100022,0.178419436301,0.178513770939,0.178608103936,0.178702435292,0.178796765005,0.178891093075,0.1789854195,0.179079744281,0.179174067415,0.179268388902,0.179362708741,0.179457026932,0.179551343473,0.179645658364,0.179739971603,0.179834283191,0.179928593125,0.180022901406,0.180117208031,0.180211513002,0.180305816315,0.180400117972,0.18049441797,0.180588716309,0.180683012988,0.180777308007,0.180871601363,0.180965893058,0.181060183088,0.181154471455,0.181248758156,0.181343043192,0.18143732656,0.181531608261,0.181625888293,0.181720166656,0.181814443348,0.18190871837,0.182002991719,0.182097263395,0.182191533397,0.182285801725,0.182380068377,0.182474333353,0.182568596652,0.182662858272,0.182757118214,0.182851376475,0.182945633056,0.183039887955,0.183134141172,0.183228392705,0.183322642555,0.183416890719,0.183511137197,0.183605381988,0.183699625092,0.183793866507,0.183888106233,0.183982344269,0.184076580613,0.184170815266,0.184265048226,0.184359279491,0.184453509063,0.184547736939,0.184641963118,0.1847361876,0.184830410385,0.18492463147,0.185018850856,0.185113068541,0.185207284524,0.185301498805,0.185395711383,0.185489922257,0.185584131425,0.185678338888,0.185772544644,0.185866748693,0.185960951033,0.186055151663,0.186149350584,0.186243547794,0.186337743291,0.186431937076,0.186526129147,0.186620319504,0.186714508145,0.18680869507,0.186902880278,0.186997063768,0.18709124554,0.187185425591,0.187279603922,0.187373780531,0.187467955419,0.187562128583,0.187656300023,0.187750469738,0.187844637727,0.18793880399,0.188032968525,0.188127131332,0.188221292409,0.188315451757,0.188409609373,0.188503765258,0.18859791941,0.188692071829,0.188786222513,0.188880371462,0.188974518674,0.18906866415,0.189162807888,0.189256949887,0.189351090146,0.189445228665,0.189539365443,0.189633500478,0.18972763377,0.189821765319,0.189915895122,0.19001002318,0.190104149492,0.190198274056,0.190292396871,0.190386517938,0.190480637254,0.19057475482,0.190668870634,0.190762984696,0.190857097004,0.190951207557,0.191045316356,0.191139423398,0.191233528684,0.191327632212,0.191421733981,0.19151583399,0.19160993224,0.191704028728,0.191798123453,0.191892216416,0.191986307615,0.19208039705,0.192174484719,0.192268570621,0.192362654756,0.192456737123,0.192550817721,0.192644896549,0.192738973607,0.192833048892,0.192927122405,0.193021194145,0.193115264111,0.193209332302,0.193303398716,0.193397463354,0.193491526214,0.193585587296,0.193679646598,0.19377370412,0.193867759861,0.19396181382,0.194055865996,0.194149916388,0.194243964996,0.194338011818,0.194432056854,0.194526100103,0.194620141563,0.194714181235,0.194808219117,0.194902255209,0.194996289509,0.195090322016,0.19518435273,0.195278381651,0.195372408776,0.195466434105,0.195560457638,0.195654479373,0.19574849931,0.195842517448,0.195936533785,0.196030548321,0.196124561056,0.196218571988,0.196312581116,0.19640658844,0.196500593958,0.19659459767,0.196688599575,0.196782599672,0.196876597961,0.19697059444,0.197064589108,0.197158581965,0.197252573009,0.197346562241,0.197440549659,0.197534535261,0.197628519048,0.197722501019,0.197816481172,0.197910459507,0.198004436022,0.198098410718,0.198192383593,0.198286354646,0.198380323876,0.198474291283,0.198568256866,0.198662220623,0.198756182554,0.198850142659,0.198944100935,0.199038057383,0.199132012002,0.19922596479,0.199319915747,0.199413864871,0.199507812163,0.199601757621,0.199695701244,0.199789643032,0.199883582983,0.199977521097,0.200071457373,0.20016539181,0.200259324407,0.200353255163,0.200447184078,0.20054111115,0.200635036378,0.200728959763,0.200822881302,0.200916800996,0.201010718843,0.201104634842,0.201198548993,0.201292461294,0.201386371745,0.201480280345,0.201574187093,0.201668091988,0.20176199503,0.201855896217,0.201949795548,0.202043693023,0.202137588641,0.202231482401,0.202325374303,0.202419264344,0.202513152525,0.202607038844,0.202700923302,0.202794805895,0.202888686625,0.20298256549,0.203076442489,0.203170317622,0.203264190887,0.203358062284,0.203451931811,0.203545799469,0.203639665255,0.20373352917,0.203827391212,0.20392125138,0.204015109674,0.204108966093,0.204202820635,0.204296673301,0.204390524089,0.204484372998,0.204578220027,0.204672065176,0.204765908444,0.20485974983,0.204953589332,0.205047426951,0.205141262685,0.205235096533,0.205328928495,0.20542275857,0.205516586756,0.205610413053,0.20570423746,0.205798059977,0.205891880602,0.205985699334,0.206079516173,0.206173331118,0.206267144167,0.206360955321,0.206454764578,0.206548571937,0.206642377398,0.206736180959,0.20682998262,0.20692378238,0.207017580237,0.207111376192,0.207205170243,0.20729896239,0.207392752631,0.207486540966,0.207580327394,0.207674111913,0.207767894524,0.207861675225,0.207955454015,0.208049230894,0.208143005861,0.208236778914,0.208330550053,0.208424319278,0.208518086586,0.208611851978,0.208705615453,0.208799377009,0.208893136645,0.208986894362,0.209080650158,0.209174404032,0.209268155983,0.20936190601,0.209455654114,0.209549400292,0.209643144543,0.209736886868,0.209830627265,0.209924365734,0.210018102272,0.21011183688,0.210205569557,0.210299300302,0.210393029114,0.210486755992,0.210580480935,0.210674203942,0.210767925013,0.210861644147,0.210955361343,0.211049076599,0.211142789916,0.211236501291,0.211330210725,0.211423918217,0.211517623765,0.211611327369,0.211705029028,0.211798728741,0.211892426507,0.211986122326,0.212079816196,0.212173508116,0.212267198087,0.212360886106,0.212454572173,0.212548256288,0.212641938448,0.212735618654,0.212829296905,0.2129229732,0.213016647537,0.213110319916,0.213203990337,0.213297658797,0.213391325297,0.213484989836,0.213578652412,0.213672313026,0.213765971675,0.213859628359,0.213953283078,0.214046935829,0.214140586614,0.21423423543,0.214327882277,0.214421527154,0.21451517006,0.214608810994,0.214702449955,0.214796086943,0.214889721957,0.214983354995,0.215076986058,0.215170615143,0.215264242251,0.21535786738,0.215451490529,0.215545111698,0.215638730886,0.215732348092,0.215825963314,0.215919576553,0.216013187808,0.216106797076,0.216200404358,0.216294009653,0.21638761296,0.216481214278,0.216574813606,0.216668410944,0.216762006289,0.216855599643,0.216949191003,0.217042780369,0.217136367739,0.217229953114,0.217323536493,0.217417117873,0.217510697256,0.217604274638,0.217697850021,0.217791423403,0.217884994783,0.21797856416,0.218072131533,0.218165696902,0.218259260266,0.218352821623,0.218446380974,0.218539938316,0.21863349365,0.218727046974,0.218820598288,0.21891414759,0.21900769488,0.219101240157,0.21919478342,0.219288324668,0.219381863901,0.219475401117,0.219568936315,0.219662469496,0.219756000657,0.219849529799,0.219943056919,0.220036582018,0.220130105095,0.220223626148,0.220317145177,0.22041066218,0.220504177158,0.220597690109,0.220691201032,0.220784709927,0.220878216792,0.220971721627,0.221065224431,0.221158725203,0.221252223942,0.221345720647,0.221439215318,0.221532707953,0.221626198552,0.221719687114,0.221813173638,0.221906658123,0.222000140568,0.222093620973,0.222187099337,0.222280575658,0.222374049935,0.222467522169,0.222560992358,0.222654460502,0.222747926598,0.222841390647,0.222934852648,0.2230283126,0.223121770502,0.223215226353,0.223308680152,0.223402131898,0.223495581591,0.22358902923,0.223682474813,0.223775918341,0.223869359811,0.223962799224,0.224056236578,0.224149671873,0.224243105107,0.22433653628,0.224429965392,0.22452339244,0.224616817424,0.224710240344,0.224803661198,0.224897079986,0.224990496707,0.22508391136,0.225177323944,0.225270734458,0.225364142901,0.225457549273,0.225550953572,0.225644355799,0.225737755951,0.225831154028,0.22592455003,0.226017943954,0.226111335802,0.226204725571,0.22629811326,0.22639149887,0.226484882399,0.226578263846,0.22667164321,0.226765020491,0.226858395687,0.226951768798,0.227045139823,0.227138508761,0.227231875611,0.227325240373,0.227418603045,0.227511963627,0.227605322117,0.227698678516,0.227792032821,0.227885385033,0.22797873515,0.228072083171,0.228165429096,0.228258772924,0.228352114653,0.228445454284,0.228538791815,0.228632127245,0.228725460574,0.2288187918,0.228912120923,0.229005447942,0.229098772856,0.229192095664,0.229285416365,0.229378734959,0.229472051444,0.229565365821,0.229658678087,0.229751988242,0.229845296285,0.229938602216,0.230031906033,0.230125207735,0.230218507323,0.230311804794,0.230405100148,0.230498393385,0.230591684502,0.230684973501,0.230778260378,0.230871545135,0.230964827769,0.231058108281,0.231151386668,0.231244662931,0.231337937069,0.231431209079,0.231524478963,0.231617746719,0.231711012345,0.231804275842,0.231897537208,0.231990796442,0.232084053545,0.232177308513,0.232270561348,0.232363812048,0.232457060612,0.232550307039,0.232643551328,0.23273679348,0.232830033492,0.232923271363,0.233016507094,0.233109740683,0.233202972129,0.233296201432,0.233389428591,0.233482653604,0.233575876471,0.233669097191,0.233762315763,0.233855532186,0.23394874646,0.234041958584,0.234135168556,0.234228376376,0.234321582043,0.234414785556,0.234507986915,0.234601186118,0.234694383165,0.234787578054,0.234880770785,0.234973961358,0.23506714977,0.235160336022,0.235253520112,0.23534670204,0.235439881805,0.235533059405,0.23562623484,0.23571940811,0.235812579213,0.235905748149,0.235998914916,0.236092079513,0.236185241941,0.236278402198,0.236371560283,0.236464716195,0.236557869934,0.236651021498,0.236744170887,0.2368373181,0.236930463136,0.237023605994,0.237116746674,0.237209885174,0.237303021494,0.237396155632,0.237489287588,0.237582417362,0.237675544951,0.237768670356,0.237861793575,0.237954914608,0.238048033454,0.238141150112,0.23823426458,0.238327376859,0.238420486948,0.238513594844,0.238606700549,0.23869980406,0.238792905377,0.238886004499,0.238979101425,0.239072196155,0.239165288687,0.239258379021,0.239351467156,0.239444553091,0.239537636824,0.239630718356,0.239723797685,0.239816874811,0.239909949733,0.240003022449,0.240096092959,0.240189161262,0.240282227358,0.240375291244,0.240468352922,0.240561412389,0.240654469645,0.240747524689,0.24084057752,0.240933628137,0.241026676539,0.241119722726,0.241212766697,0.241305808451,0.241398847986,0.241491885303,0.2415849204,0.241677953276,0.241770983931,0.241864012364,0.241957038573,0.242050062558,0.242143084319,0.242236103854,0.242329121162,0.242422136243,0.242515149095,0.242608159718,0.242701168112,0.242794174274,0.242887178205,0.242980179903,0.243073179368,0.243166176599,0.243259171594,0.243352164353,0.243445154876,0.243538143161,0.243631129207,0.243724113014,0.24381709458,0.243910073906,0.24400305099,0.24409602583,0.244188998427,0.24428196878,0.244374936887,0.244467902748,0.244560866362,0.244653827727,0.244746786844,0.244839743712,0.244932698329,0.245025650694,0.245118600807,0.245211548668,0.245304494274,0.245397437625,0.245490378721,0.245583317561,0.245676254142,0.245769188466,0.245862120531,0.245955050336,0.24604797788,0.246140903162,0.246233826182,0.246326746939,0.246419665431,0.246512581659,0.24660549562,0.246698407315,0.246791316742,0.246884223901,0.24697712879,0.247070031409,0.247162931758,0.247255829834,0.247348725638,0.247441619168,0.247534510423,0.247627399404,0.247720286108,0.247813170535,0.247906052685,0.247998932555,0.248091810146,0.248184685457,0.248277558487,0.248370429234,0.248463297698,0.248556163879,0.248649027775,0.248741889385,0.248834748709,0.248927605746,0.249020460494,0.249113312954,0.249206163124,0.249299011003,0.249391856591,0.249484699886,0.249577540889,0.249670379597,0.24976321601,0.249856050127,0.249948881948,0.250041711471,0.250134538696,0.250227363622,0.250320186248,0.250413006573,0.250505824596,0.250598640317,0.250691453734,0.250784264847,0.250877073654,0.250969880156,0.251062684351,0.251155486238,0.251248285816,0.251341083085,0.251433878044,0.251526670692,0.251619461028,0.25171224905,0.25180503476,0.251897818154,0.251990599233,0.252083377996,0.252176154442,0.25226892857,0.25236170038,0.252454469869,0.252547237038,0.252640001886,0.252732764411,0.252825524613,0.252918282492,0.253011038046,0.253103791274,0.253196542175,0.25328929075,0.253382036996,0.253474780913,0.2535675225,0.253660261756,0.253752998681,0.253845733273,0.253938465532,0.254031195457,0.254123923047,0.254216648301,0.254309371219,0.254402091799,0.25449481004,0.254587525942,0.254680239504,0.254772950725,0.254865659605,0.254958366141,0.255051070334,0.255143772183,0.255236471686,0.255329168844,0.255421863654,0.255514556117,0.255607246231,0.255699933995,0.25579261941,0.255885302473,0.255977983184,0.256070661542,0.256163337546,0.256256011196,0.25634868249,0.256441351428,0.256534018009,0.256626682232,0.256719344096,0.2568120036,0.256904660743,0.256997315526,0.257089967946,0.257182618003,0.257275265696,0.257367911024,0.257460553986,0.257553194582,0.257645832811,0.257738468671,0.257831102162,0.257923733283,0.258016362034,0.258108988413,0.258201612419,0.258294234052,0.258386853311,0.258479470195,0.258572084703,0.258664696834,0.258757306588,0.258849913963,0.258942518959,0.259035121575,0.25912772181,0.259220319663,0.259312915133,0.25940550822,0.259498098922,0.259590687239,0.25968327317,0.259775856714,0.25986843787,0.259961016637,0.260053593015,0.260146167003,0.2602387386,0.260331307804,0.260423874615,0.260516439033,0.260609001056,0.260701560684,0.260794117915,0.260886672749,0.260979225186,0.261071775223,0.26116432286,0.261256868097,0.261349410933,0.261441951366,0.261534489397,0.261627025023,0.261719558244,0.26181208906,0.261904617469,0.261997143471,0.262089667065,0.262182188249,0.262274707024,0.262367223388,0.26245973734,0.26255224888,0.262644758006,0.262737264719,0.262829769016,0.262922270897,0.263014770362,0.263107267409,0.263199762037,0.263292254247,0.263384744036,0.263477231404,0.263569716351,0.263662198875,0.263754678975,0.263847156651,0.263939631901,0.264032104726,0.264124575124,0.264217043093,0.264309508635,0.264401971746,0.264494432428,0.264586890678,0.264679346496,0.264771799882,0.264864250833,0.26495669935,0.265049145432,0.265141589077,0.265234030286,0.265326469056,0.265418905387,0.265511339279,0.26560377073,0.26569619974,0.265788626308,0.265881050432,0.265973472113,0.266065891349,0.266158308139,0.266250722483,0.266343134379,0.266435543828,0.266527950827,0.266620355376,0.266712757475,0.266805157122,0.266897554317,0.266989949058,0.267082341345,0.267174731178,0.267267118554,0.267359503474,0.267451885937,0.267544265941,0.267636643486,0.26772901857,0.267821391194,0.267913761356,0.268006129056,0.268098494292,0.268190857063,0.26828321737,0.268375575211,0.268467930584,0.26856028349,0.268652633928,0.268744981896,0.268837327394,0.26892967042,0.269022010975,0.269114349057,0.269206684665,0.269299017799,0.269391348458,0.26948367664,0.269576002346,0.269668325573,0.269760646322,0.269852964591,0.269945280379,0.270037593687,0.270129904512,0.270222212854,0.270314518713,0.270406822087,0.270499122975,0.270591421377,0.270683717291,0.270776010718,0.270868301656,0.270960590104,0.271052876061,0.271145159527,0.2712374405,0.271329718981,0.271421994967,0.271514268459,0.271606539455,0.271698807954,0.271791073956,0.271883337459,0.271975598464,0.272067856969,0.272160112972,0.272252366475,0.272344617474,0.272436865971,0.272529111963,0.27262135545,0.272713596431,0.272805834906,0.272898070873,0.272990304331,0.273082535281,0.27317476372,0.273266989648,0.273359213064,0.273451433968,0.273543652358,0.273635868234,0.273728081595,0.27382029244,0.273912500767,0.274004706577,0.274096909869,0.274189110641,0.274281308892,0.274373504623,0.274465697831,0.274557888517,0.274650076679,0.274742262317,0.274834445429,0.274926626015,0.275018804074,0.275110979605,0.275203152607,0.275295323079,0.275387491021,0.275479656432,0.275571819311,0.275663979657,0.275756137468,0.275848292746,0.275940445487,0.276032595692,0.27612474336,0.27621688849,0.276309031081,0.276401171132,0.276493308643,0.276585443612,0.276677576039,0.276769705923,0.276861833262,0.276953958057,0.277046080306,0.277138200009,0.277230317164,0.277322431771,0.277414543828,0.277506653336,0.277598760293,0.277690864699,0.277782966552,0.277875065852,0.277967162597,0.278059256787,0.278151348422,0.2782434375,0.27833552402,0.278427607982,0.278519689385,0.278611768228,0.278703844509,0.278795918229,0.278887989387,0.27898005798,0.27907212401,0.279164187474,0.279256248372,0.279348306704,0.279440362467,0.279532415663,0.279624466288,0.279716514344,0.279808559828,0.279900602741,0.27999264308,0.280084680846,0.280176716038,0.280268748654,0.280360778694,0.280452806157,0.280544831042,0.280636853349,0.280728873076,0.280820890222,0.280912904788,0.281004916771,0.281096926171,0.281188932988,0.281280937219,0.281372938866,0.281464937926,0.281556934399,0.281648928284,0.28174091958,0.281832908286,0.281924894402,0.282016877926,0.282108858858,0.282200837197,0.282292812942,0.282384786093,0.282476756647,0.282568724606,0.282660689967,0.282752652729,0.282844612893,0.282936570457,0.28302852542,0.283120477782,0.283212427541,0.283304374697,0.283396319249,0.283488261197,0.283580200538,0.283672137273,0.2837640714,0.283856002919,0.283947931829,0.284039858129,0.284131781818,0.284223702895,0.28431562136,0.284407537211,0.284499450449,0.284591361071,0.284683269077,0.284775174466,0.284867077238,0.284958977392,0.285050874926,0.28514276984,0.285234662133,0.285326551805,0.285418438853,0.285510323278,0.285602205079,0.285694084255,0.285785960804,0.285877834727,0.285969706022,0.286061574688,0.286153440725,0.286245304132,0.286337164908,0.286429023051,0.286520878562,0.286612731439,0.286704581682,0.286796429289,0.286888274261,0.286980116595,0.287071956291,0.287163793349,0.287255627767,0.287347459545,0.287439288681,0.287531115176,0.287622939027,0.287714760235,0.287806578798,0.287898394715,0.287990207987,0.288082018611,0.288173826587,0.288265631915,0.288357434592,0.288449234619,0.288541031995,0.288632826719,0.288724618789,0.288816408206,0.288908194968,0.288999979074,0.289091760524,0.289183539317,0.289275315451,0.289367088927,0.289458859743,0.289550627898,0.289642393391,0.289734156223,0.289825916391,0.289917673895,0.290009428734,0.290101180908,0.290192930415,0.290284677254,0.290376421426,0.290468162928,0.290559901761,0.290651637922,0.290743371412,0.29083510223,0.290926830374,0.291018555844,0.291110278639,0.291201998759,0.291293716201,0.291385430966,0.291477143053,0.291568852461,0.291660559188,0.291752263235,0.2918439646,0.291935663282,0.292027359281,0.292119052596,0.292210743226,0.292302431169,0.292394116426,0.292485798996,0.292577478876,0.292669156068,0.292760830569,0.29285250238,0.292944171498,0.293035837924,0.293127501656,0.293219162694,0.293310821037,0.293402476684,0.293494129634,0.293585779886,0.293677427439,0.293769072293,0.293860714447,0.2939523539,0.29404399065,0.294135624698,0.294227256043,0.294318884683,0.294410510617,0.294502133846,0.294593754367,0.294685372181,0.294776987285,0.294868599681,0.294960209366,0.295051816339,0.295143420601,0.29523502215,0.295326620985,0.295418217106,0.295509810511,0.295601401199,0.295692989171,0.295784574425,0.29587615696,0.295967736775,0.29605931387,0.296150888244,0.296242459895,0.296334028823,0.296425595028,0.296517158508,0.296608719262,0.29670027729,0.296791832591,0.296883385164,0.296974935008,0.297066482122,0.297158026505,0.297249568157,0.297341107077,0.297432643264,0.297524176717,0.297615707435,0.297707235418,0.297798760664,0.297890283172,0.297981802943,0.298073319974,0.298164834266,0.298256345817,0.298347854627,0.298439360694,0.298530864018,0.298622364598,0.298713862433,0.298805357523,0.298896849865,0.298988339461,0.299079826308,0.299171310406,0.299262791754,0.299354270352,0.299445746198,0.299537219291,0.299628689631,0.299720157217,0.299811622048,0.299903084124,0.299994543442,0.300086000003,0.300177453806,0.30026890485,0.300360353133,0.300451798656,0.300543241417,0.300634681416,0.300726118651,0.300817553122,0.300908984828,0.301000413768,0.301091839941,0.301183263347,0.301274683984,0.301366101852,0.30145751695,0.301548929277,0.301640338833,0.301731745615,0.301823149625,0.301914550859,0.302005949319,0.302097345003,0.30218873791,0.302280128039,0.30237151539,0.302462899962,0.302554281753,0.302645660763,0.302737036992,0.302828410438,0.3029197811,0.303011148978,0.30310251407,0.303193876377,0.303285235897,0.303376592629,0.303467946572,0.303559297726,0.30365064609,0.303741991662,0.303833334443,0.303924674431,0.304016011625,0.304107346025,0.30419867763,0.304290006438,0.30438133245,0.304472655663,0.304563976079,0.304655293694,0.304746608509,0.304837920523,0.304929229735,0.305020536145,0.30511183975,0.305203140551,0.305294438547,0.305385733736,0.305477026119,0.305568315693,0.305659602459,0.305750886415,0.305842167561,0.305933445896,0.306024721418,0.306115994128,0.306207264024,0.306298531105,0.306389795371,0.30648105682,0.306572315453,0.306663571267,0.306754824263,0.306846074439,0.306937321795,0.307028566329,0.307119808042,0.307211046931,0.307302282996,0.307393516237,0.307484746652,0.307575974241,0.307667199003,0.307758420937,0.307849640042,0.307940856317,0.308032069761,0.308123280375,0.308214488156,0.308305693104,0.308396895218,0.308488094498,0.308579290942,0.308670484549,0.308761675319,0.308852863252,0.308944048345,0.309035230598,0.309126410011,0.309217586583,0.309308760312,0.309399931198,0.309491099241,0.309582264438,0.30967342679,0.309764586295,0.309855742954,0.309946896764,0.310038047725,0.310129195836,0.310220341096,0.310311483506,0.310402623062,0.310493759766,0.310584893616,0.31067602461,0.31076715275,0.310858278032,0.310949400458,0.311040520025,0.311131636733,0.311222750581,0.311313861569,0.311404969695,0.311496074958,0.311587177359,0.311678276895,0.311769373567,0.311860467372,0.311951558312,0.312042646384,0.312133731587,0.312224813922,0.312315893386,0.31240696998,0.312498043703,0.312589114553,0.312680182529,0.312771247632,0.31286230986,0.312953369212,0.313044425687,0.313135479285,0.313226530004,0.313317577845,0.313408622805,0.313499664885,0.313590704083,0.313681740399,0.313772773831,0.31386380438,0.313954832043,0.31404585682,0.314136878711,0.314227897714,0.314318913829,0.314409927055,0.314500937391,0.314591944836,0.31468294939,0.314773951051,0.314864949818,0.314955945692,0.31504693867,0.315137928753,0.315228915938,0.315319900227,0.315410881617,0.315501860108,0.315592835698,0.315683808388,0.315774778176,0.315865745062,0.315956709045,0.316047670123,0.316138628296,0.316229583563,0.316320535923,0.316411485376,0.316502431921,0.316593375556,0.316684316281,0.316775254096,0.316866188998,0.316957120989,0.317048050065,0.317138976228,0.317229899475,0.317320819806,0.317411737221,0.317502651718,0.317593563297,0.317684471956,0.317775377696,0.317866280514,0.317957180411,0.318048077385,0.318138971436,0.318229862562,0.318320750763,0.318411636039,0.318502518387,0.318593397808,0.318684274301,0.318775147864,0.318866018497,0.318956886199,0.31904775097,0.319138612808,0.319229471712,0.319320327682,0.319411180717,0.319502030816,0.319592877978,0.319683722203,0.319774563489,0.319865401836,0.319956237242,0.320047069708,0.320137899232,0.320228725813,0.320319549451,0.320410370144,0.320501187893,0.320592002695,0.320682814551,0.320773623458,0.320864429418,0.320955232428,0.321046032488,0.321136829597,0.321227623754,0.321318414958,0.321409203209,0.321499988506,0.321590770847,0.321681550233,0.321772326662,0.321863100133,0.321953870645,0.322044638198,0.322135402791,0.322226164423,0.322316923094,0.322407678801,0.322498431545,0.322589181325,0.322679928139,0.322770671988,0.322861412869,0.322952150783,0.323042885729,0.323133617705,0.323224346711,0.323315072746,0.323405795809,0.3234965159,0.323587233016,0.323677947159,0.323768658326,0.323859366518,0.323950071732,0.324040773969,0.324131473228,0.324222169507,0.324312862805,0.324403553123,0.324494240459,0.324584924813,0.324675606182,0.324766284568,0.324856959968,0.324947632382,0.32503830181,0.325128968249,0.3252196317,0.325310292162,0.325400949634,0.325491604115,0.325582255603,0.325672904099,0.325763549602,0.32585419211,0.325944831623,0.32603546814,0.326126101661,0.326216732183,0.326307359707,0.326397984232,0.326488605756,0.32657922428,0.326669839801,0.32676045232,0.326851061836,0.326941668347,0.327032271853,0.327122872352,0.327213469845,0.327304064331,0.327394655808,0.327485244275,0.327575829733,0.327666412179,0.327756991613,0.327847568035,0.327938141443,0.328028711837,0.328119279216,0.328209843579,0.328300404925,0.328390963253,0.328481518563,0.328572070854,0.328662620124,0.328753166373,0.328843709601,0.328934249806,0.329024786987,0.329115321144,0.329205852276,0.329296380382,0.329386905461,0.329477427512,0.329567946535,0.329658462529,0.329748975492,0.329839485424,0.329929992325,0.330020496193,0.330110997028,0.330201494828,0.330291989593,0.330382481322,0.330472970014,0.330563455669,0.330653938285,0.330744417862,0.330834894399,0.330925367895,0.331015838349,0.33110630576,0.331196770128,0.331287231451,0.33137768973,0.331468144962,0.331558597148,0.331649046286,0.331739492376,0.331829935416,0.331920375407,0.332010812346,0.332101246234,0.332191677069,0.33228210485,0.332372529578,0.33246295125,0.332553369866,0.332643785426,0.332734197927,0.332824607371,0.332915013755,0.333005417079,0.333095817343,0.333186214544,0.333276608683,0.333366999759,0.33345738777,0.333547772716,0.333638154596,0.33372853341,0.333818909156,0.333909281834,0.333999651442,0.33409001798,0.334180381448,0.334270741844,0.334361099167,0.334451453417,0.334541804592,0.334632152693,0.334722497718,0.334812839666,0.334903178536,0.334993514328,0.335083847041,0.335174176674,0.335264503226,0.335354826697,0.335445147085,0.335535464389,0.335625778609,0.335716089745,0.335806397794,0.335896702757,0.335987004633,0.33607730342,0.336167599118,0.336257891726,0.336348181243,0.336438467668,0.336528751001,0.336619031241,0.336709308387,0.336799582437,0.336889853392,0.33698012125,0.337070386011,0.337160647674,0.337250906237,0.337341161701,0.337431414063,0.337521663324,0.337611909483,0.337702152538,0.33779239249,0.337882629336,0.337972863077,0.338063093711,0.338153321238,0.338243545656,0.338333766966,0.338423985165,0.338514200254,0.338604412231,0.338694621096,0.338784826848,0.338875029485,0.338965229008,0.339055425415,0.339145618705,0.339235808879,0.339325995934,0.33941617987,0.339506360686,0.339596538381,0.339686712955,0.339776884407,0.339867052735,0.33995721794,0.340047380019,0.340137538974,0.340227694801,0.340317847501,0.340407997074,0.340498143517,0.34058828683,0.340678427013,0.340768564064,0.340858697983,0.340948828769,0.341038956421,0.341129080939,0.34121920232,0.341309320566,0.341399435674,0.341489547644,0.341579656475,0.341669762166,0.341759864717,0.341849964126,0.341940060393,0.342030153518,0.342120243498,0.342210330333,0.342300414024,0.342390494567,0.342480571964,0.342570646212,0.342660717312,0.342750785262,0.342840850062,0.34293091171,0.343020970206,0.343111025549,0.343201077738,0.343291126773,0.343381172652,0.343471215375,0.343561254941,0.343651291349,0.343741324598,0.343831354687,0.343921381616,0.344011405384,0.34410142599,0.344191443433,0.344281457712,0.344371468826,0.344461476776,0.344551481559,0.344641483174,0.344731481622,0.344821476902,0.344911469012,0.345001457951,0.345091443719,0.345181426316,0.345271405739,0.345361381989,0.345451355064,0.345541324964,0.345631291688,0.345721255235,0.345811215604,0.345901172794,0.345991126805,0.346081077636,0.346171025285,0.346260969753,0.346350911038,0.346440849139,0.346530784056,0.346620715788,0.346710644334,0.346800569692,0.346890491863,0.346980410846,0.347070326639,0.347160239242,0.347250148654,0.347340054874,0.347429957901,0.347519857735,0.347609754375,0.347699647819,0.347789538067,0.347879425119,0.347969308973,0.348059189629,0.348149067085,0.348238941341,0.348328812396,0.348418680249,0.3485085449,0.348598406348,0.348688264591,0.348778119629,0.348867971461,0.348957820087,0.349047665505,0.349137507714,0.349227346714,0.349317182505,0.349407015084,0.349496844452,0.349586670607,0.349676493549,0.349766313277,0.34985612979,0.349945943087,0.350035753168,0.350125560031,0.350215363675,0.350305164101,0.350394961307,0.350484755292,0.350574546055,0.350664333596,0.350754117913,0.350843899007,0.350933676876,0.351023451519,0.351113222935,0.351202991125,0.351292756086,0.351382517818,0.35147227632,0.351562031591,0.351651783631,0.351741532439,0.351831278013,0.351921020354,0.35201075946,0.35210049533,0.352190227964,0.35227995736,0.352369683519,0.352459406438,0.352549126118,0.352638842557,0.352728555755,0.352818265711,0.352907972424,0.352997675892,0.353087376116,0.353177073095,0.353266766827,0.353356457312,0.353446144549,0.353535828538,0.353625509277,0.353715186765,0.353804861002,0.353894531987,0.353984199719,0.354073864197,0.35416352542,0.354253183389,0.354342838101,0.354432489556,0.354522137753,0.354611782691,0.35470142437,0.354791062789,0.354880697946,0.354970329842,0.355059958474,0.355149583843,0.355239205948,0.355328824787,0.35541844036,0.355508052666,0.355597661705,0.355687267475,0.355776869975,0.355866469205,0.355956065165,0.356045657852,0.356135247267,0.356224833408,0.356314416274,0.356403995866,0.356493572182,0.35658314522,0.356672714982,0.356762281464,0.356851844668,0.356941404591,0.357030961233,0.357120514594,0.357210064672,0.357299611467,0.357389154977,0.357478695203,0.357568232142,0.357657765795,0.35774729616,0.357836823237,0.357926347025,0.358015867523,0.35810538473,0.358194898645,0.358284409268,0.358373916598,0.358463420634,0.358552921374,0.358642418819,0.358731912968,0.358821403819,0.358910891371,0.359000375625,0.359089856579,0.359179334232,0.359268808584,0.359358279633,0.35944774738,0.359537211822,0.359626672959,0.359716130791,0.359805585317,0.359895036535,0.359984484445,0.360073929046,0.360163370338,0.360252808319,0.360342242988,0.360431674346,0.36052110239,0.360610527121,0.360699948537,0.360789366637,0.360878781421,0.360968192888,0.361057601037,0.361147005867,0.361236407378,0.361325805568,0.361415200438,0.361504591985,0.361593980209,0.361683365109,0.361772746685,0.361862124936,0.36195149986,0.362040871458,0.362130239727,0.362219604668,0.36230896628,0.362398324561,0.362487679511,0.36257703113,0.362666379415,0.362755724367,0.362845065985,0.362934404268,0.363023739214,0.363113070824,0.363202399096,0.363291724029,0.363381045623,0.363470363877,0.36355967879,0.363648990362,0.363738298591,0.363827603476,0.363916905017,0.364006203213,0.364095498064,0.364184789567,0.364274077723,0.364363362531,0.364452643989,0.364541922098,0.364631196856,0.364720468262,0.364809736316,0.364899001016,0.364988262363,0.365077520354,0.36516677499,0.365256026269,0.365345274191,0.365434518755,0.36552375996,0.365612997805,0.365702232289,0.365791463412,0.365880691173,0.36596991557,0.366059136604,0.366148354272,0.366237568576,0.366326779513,0.366415987082,0.366505191284,0.366594392117,0.36668358958,0.366772783673,0.366861974394,0.366951161743,0.36704034572,0.367129526322,0.36721870355,0.367307877403,0.367397047879,0.367486214979,0.3675753787,0.367664539043,0.367753696007,0.36784284959,0.367931999792,0.368021146612,0.368110290049,0.368199430102,0.368288566771,0.368377700055,0.368466829953,0.368555956464,0.368645079588,0.368734199323,0.368823315668,0.368912428624,0.369001538188,0.369090644361,0.369179747141,0.369268846527,0.36935794252,0.369447035117,0.369536124318,0.369625210123,0.36971429253,0.369803371539,0.369892447149,0.369981519359,0.370070588168,0.370159653575,0.37024871558,0.370337774182,0.370426829379,0.370515881172,0.370604929559,0.37069397454,0.370783016113,0.370872054278,0.370961089034,0.37105012038,0.371139148316,0.37122817284,0.371317193952,0.371406211651,0.371495225936,0.371584236806,0.371673244261,0.371762248299,0.37185124892,0.371940246124,0.372029239908,0.372118230273,0.372207217218,0.372296200741,0.372385180842,0.37247415752,0.372563130775,0.372652100605,0.37274106701,0.372830029988,0.37291898954,0.373007945663,0.373096898359,0.373185847624,0.37327479346,0.373363735864,0.373452674837,0.373541610377,0.373630542483,0.373719471155,0.373808396392,0.373897318193,0.373986236557,0.374075151483,0.374164062971,0.37425297102,0.374341875629,0.374430776797,0.374519674523,0.374608568807,0.374697459647,0.374786347044,0.374875230995,0.374964111501,0.37505298856,0.375141862171,0.375230732334,0.375319599049,0.375408462313,0.375497322127,0.375586178489,0.375675031399,0.375763880856,0.375852726859,0.375941569407,0.3760304085,0.376119244136,0.376208076315,0.376296905036,0.376385730298,0.3764745521,0.376563370442,0.376652185323,0.376740996741,0.376829804697,0.376918609189,0.377007410216,0.377096207778,0.377185001874,0.377273792503,0.377362579664,0.377451363356,0.377540143579,0.377628920332,0.377717693613,0.377806463423,0.37789522976,0.377983992623,0.378072752012,0.378161507926,0.378250260364,0.378339009325,0.378427754809,0.378516496814,0.37860523534,0.378693970385,0.37878270195,0.378871430034,0.378960154634,0.379048875752,0.379137593385,0.379226307533,0.379315018196,0.379403725372,0.37949242906,0.37958112926,0.379669825972,0.379758519193,0.379847208924,0.379935895163,0.38002457791,0.380113257164,0.380201932924,0.38029060519,0.380379273959,0.380467939233,0.380556601009,0.380645259287,0.380733914067,0.380822565346,0.380911213126,0.380999857404,0.38108849818,0.381177135453,0.381265769222,0.381354399487,0.381443026247,0.3815316495,0.381620269247,0.381708885485,0.381797498215,0.381886107436,0.381974713147,0.382063315346,0.382151914034,0.382240509209,0.38232910087,0.382417689017,0.382506273649,0.382594854766,0.382683432365,0.382772006447,0.382860577011,0.382949144055,0.383037707579,0.383126267583,0.383214824065,0.383303377024,0.383391926461,0.383480472373,0.38356901476,0.383657553622,0.383746088957,0.383834620765,0.383923149045,0.384011673796,0.384100195017,0.384188712707,0.384277226867,0.384365737494,0.384454244587,0.384542748148,0.384631248173,0.384719744663,0.384808237617,0.384896727034,0.384985212912,0.385073695252,0.385162174053,0.385250649313,0.385339121032,0.38542758921,0.385516053844,0.385604514935,0.385692972481,0.385781426482,0.385869876938,0.385958323846,0.386046767207,0.386135207019,0.386223643282,0.386312075995,0.386400505157,0.386488930767,0.386577352825,0.386665771329,0.38675418628,0.386842597675,0.386931005514,0.387019409797,0.387107810523,0.38719620769,0.387284601299,0.387372991347,0.387461377835,0.387549760761,0.387638140125,0.387726515926,0.387814888164,0.387903256836,0.387991621943,0.388079983483,0.388168341457,0.388256695862,0.388345046699,0.388433393966,0.388521737663,0.388610077788,0.388698414342,0.388786747322,0.388875076729,0.388963402562,0.389051724819,0.3891400435,0.389228358604,0.389316670131,0.389404978079,0.389493282448,0.389581583236,0.389669880444,0.38975817407,0.389846464113,0.389934750573,0.390023033449,0.39011131274,0.390199588444,0.390287860563,0.390376129094,0.390464394036,0.39055265539,0.390640913153,0.390729167326,0.390817417908,0.390905664897,0.390993908293,0.391082148095,0.391170384302,0.391258616914,0.391346845929,0.391435071348,0.391523293168,0.391611511389,0.391699726011,0.391787937033,0.391876144453,0.391964348271,0.392052548486,0.392140745098,0.392228938105,0.392317127507,0.392405313303,0.392493495492,0.392581674073,0.392669849046,0.392758020409,0.392846188162,0.392934352304,0.393022512835,0.393110669753,0.393198823057,0.393286972747,0.393375118823,0.393463261282,0.393551400125,0.39363953535,0.393727666957,0.393815794945,0.393903919314,0.393992040061,0.394080157187,0.394168270691,0.394256380571,0.394344486828,0.39443258946,0.394520688466,0.394608783847,0.394696875599,0.394784963724,0.394873048221,0.394961129087,0.395049206323,0.395137279928,0.395225349901,0.395313416241,0.395401478948,0.39548953802,0.395577593457,0.395665645257,0.395753693421,0.395841737947,0.395929778835,0.396017816083,0.396105849692,0.396193879659,0.396281905985,0.396369928668,0.396457947707,0.396545963103,0.396633974854,0.396721982958,0.396809987417,0.396897988228,0.39698598539,0.397073978904,0.397161968768,0.397249954981,0.397337937543,0.397425916452,0.397513891709,0.397601863311,0.397689831259,0.397777795552,0.397865756188,0.397953713167,0.398041666488,0.39812961615,0.398217562153,0.398305504496,0.398393443177,0.398481378197,0.398569309554,0.398657237247,0.398745161276,0.398833081639,0.398920998337,0.399008911368,0.399096820731,0.399184726426,0.399272628452,0.399360526807,0.399448421492,0.399536312505,0.399624199846,0.399712083513,0.399799963506,0.399887839825,0.399975712468,0.400063581434,0.400151446723,0.400239308334,0.400327166266,0.400415020518,0.40050287109,0.40059071798,0.400678561188,0.400766400714,0.400854236555,0.400942068712,0.401029897184,0.401117721969,0.401205543067,0.401293360478,0.4013811742,0.401468984233,0.401556790575,0.401644593226,0.401732392186,0.401820187453,0.401907979026,0.401995766905,0.40208355109,0.402171331578,0.402259108369,0.402346881464,0.402434650859,0.402522416556,0.402610178553,0.402697936849,0.402785691444,0.402873442336,0.402961189525,0.40304893301,0.403136672791,0.403224408866,0.403312141235,0.403399869896,0.403487594849,0.403575316094,0.403663033629,0.403750747454,0.403838457568,0.403926163969,0.404013866658,0.404101565633,0.404189260894,0.404276952439,0.404364640269,0.404452324382,0.404540004777,0.404627681453,0.40471535441,0.404803023648,0.404890689164,0.404978350959,0.405066009031,0.40515366338,0.405241314005,0.405328960905,0.405416604079,0.405504243527,0.405591879248,0.40567951124,0.405767139503,0.405854764037,0.40594238484,0.406030001912,0.406117615252,0.406205224859,0.406292830732,0.40638043287,0.406468031273,0.40655562594,0.40664321687,0.406730804063,0.406818387516,0.40690596723,0.406993543204,0.407081115438,0.407168683929,0.407256248677,0.407343809683,0.407431366944,0.40751892046,0.40760647023,0.407694016253,0.407781558529,0.407869097057,0.407956631836,0.408044162865,0.408131690143,0.40821921367,0.408306733445,0.408394249466,0.408481761734,0.408569270247,0.408656775004,0.408744276005,0.40883177325,0.408919266736,0.409006756463,0.409094242431,0.409181724639,0.409269203086,0.40935667777,0.409444148692,0.409531615851,0.409619079245,0.409706538874,0.409793994737,0.409881446833,0.409968895162,0.410056339722,0.410143780514,0.410231217535,0.410318650785,0.410406080264,0.410493505971,0.410580927905,0.410668346064,0.410755760449,0.410843171058,0.410930577891,0.411017980946,0.411105380224,0.411192775723,0.411280167442,0.411367555381,0.411454939538,0.411542319914,0.411629696507,0.411717069316,0.41180443834,0.41189180358,0.411979165034,0.4120665227,0.412153876579,0.41224122667,0.412328572971,0.412415915483,0.412503254203,0.412590589132,0.412677920268,0.412765247612,0.412852571161,0.412939890915,0.413027206874,0.413114519036,0.413201827401,0.413289131968,0.413376432736,0.413463729704,0.413551022872,0.413638312238,0.413725597803,0.413812879565,0.413900157523,0.413987431676,0.414074702024,0.414161968566,0.414249231301,0.414336490229,0.414423745348,0.414510996658,0.414598244157,0.414685487846,0.414772727723,0.414859963788,0.414947196039,0.415034424476,0.415121649098,0.415208869905,0.415296086895,0.415383300068,0.415470509422,0.415557714958,0.415644916674,0.415732114569,0.415819308643,0.415906498895,0.415993685324,0.41608086793,0.41616804671,0.416255221666,0.416342392795,0.416429560098,0.416516723572,0.416603883218,0.416691039035,0.416778191022,0.416865339178,0.416952483502,0.417039623993,0.417126760651,0.417213893475,0.417301022464,0.417388147618,0.417475268935,0.417562386414,0.417649500055,0.417736609858,0.41782371582,0.417910817942,0.417997916223,0.418085010662,0.418172101257,0.418259188009,0.418346270916,0.418433349978,0.418520425194,0.418607496563,0.418694564084,0.418781627757,0.41886868758,0.418955743553,0.419042795675,0.419129843945,0.419216888363,0.419303928928,0.419390965638,0.419477998493,0.419565027493,0.419652052636,0.419739073922,0.419826091349,0.419913104918,0.420000114627,0.420087120475,0.420174122462,0.420261120587,0.420348114849,0.420435105247,0.42052209178,0.420609074448,0.42069605325,0.420783028186,0.420869999253,0.420956966452,0.421043929781,0.42113088924,0.421217844829,0.421304796545,0.42139174439,0.42147868836,0.421565628457,0.421652564679,0.421739497024,0.421826425494,0.421913350086,0.4220002708,0.422087187635,0.42217410059,0.422261009665,0.422347914858,0.422434816169,0.422521713598,0.422608607142,0.422695496802,0.422782382577,0.422869264466,0.422956142467,0.423043016581,0.423129886807,0.423216753143,0.423303615589,0.423390474144,0.423477328807,0.423564179578,0.423651026456,0.423737869439,0.423824708528,0.42391154372,0.423998375017,0.424085202416,0.424172025917,0.424258845519,0.424345661221,0.424432473023,0.424519280923,0.424606084922,0.424692885017,0.424779681209,0.424866473496,0.424953261879,0.425040046355,0.425126826924,0.425213603585,0.425300376338,0.425387145182,0.425473910116,0.425560671138,0.42564742825,0.425734181448,0.425820930734,0.425907676105,0.425994417562,0.426081155102,0.426167888727,0.426254618434,0.426341344223,0.426428066093,0.426514784044,0.426601498074,0.426688208183,0.42677491437,0.426861616634,0.426948314975,0.427035009391,0.427121699882,0.427208386447,0.427295069085,0.427381747795,0.427468422577,0.42755509343,0.427641760353,0.427728423345,0.427815082406,0.427901737534,0.427988388729,0.42807503599,0.428161679316,0.428248318707,0.428334954161,0.428421585678,0.428508213257,0.428594836897,0.428681456598,0.428768072359,0.428854684178,0.428941292055,0.42902789599,0.429114495981,0.429201092028,0.42928768413,0.429374272285,0.429460856494,0.429547436756,0.429634013069,0.429720585433,0.429807153847,0.429893718311,0.429980278823,0.430066835383,0.430153387989,0.430239936642,0.43032648134,0.430413022083,0.430499558869,0.430586091698,0.43067262057,0.430759145483,0.430845666436,0.430932183429,0.431018696461,0.431105205531,0.431191710639,0.431278211783,0.431364708963,0.431451202178,0.431537691427,0.43162417671,0.431710658025,0.431797135372,0.43188360875,0.431970078158,0.432056543596,0.432143005062,0.432229462556,0.432315916077,0.432402365625,0.432488811198,0.432575252795,0.432661690416,0.432748124061,0.432834553727,0.432920979416,0.433007401124,0.433093818853,0.433180232601,0.433266642367,0.433353048151,0.433439449951,0.433525847767,0.433612241599,0.433698631444,0.433785017304,0.433871399176,0.43395777706,0.434044150955,0.43413052086,0.434216886775,0.434303248699,0.434389606631,0.43447596057,0.434562310515,0.434648656466,0.434734998422,0.434821336381,0.434907670344,0.43499400031,0.435080326277,0.435166648245,0.435252966213,0.43533928018,0.435425590145,0.435511896108,0.435598198069,0.435684496025,0.435770789976,0.435857079922,0.435943365862,0.436029647794,0.436115925719,0.436202199635,0.436288469542,0.436374735438,0.436460997323,0.436547255196,0.436633509057,0.436719758904,0.436806004737,0.436892246555,0.436978484357,0.437064718143,0.437150947911,0.437237173661,0.437323395392,0.437409613103,0.437495826794,0.437582036463,0.43766824211,0.437754443734,0.437840641334,0.43792683491,0.438013024461,0.438099209985,0.438185391483,0.438271568952,0.438357742394,0.438443911806,0.438530077188,0.438616238539,0.438702395858,0.438788549145,0.438874698398,0.438960843618,0.439046984803,0.439133121952,0.439219255065,0.43930538414,0.439391509178,0.439477630176,0.439563747135,0.439649860054,0.439735968932,0.439822073767,0.43990817456,0.43999427131,0.440080364015,0.440166452675,0.440252537288,0.440338617856,0.440424694375,0.440510766847,0.440596835269,0.440682899642,0.440768959964,0.440855016234,0.440941068452,0.441027116617,0.441113160729,0.441199200785,0.441285236787,0.441371268732,0.44145729662,0.44154332045,0.441629340222,0.441715355934,0.441801367586,0.441887375178,0.441973378707,0.442059378174,0.442145373578,0.442231364918,0.442317352192,0.442403335401,0.442489314544,0.442575289619,0.442661260626,0.442747227565,0.442833190433,0.442919149232,0.443005103959,0.443091054614,0.443177001196,0.443262943705,0.443348882139,0.443434816498,0.443520746781,0.443606672988,0.443692595117,0.443778513167,0.443864427139,0.44395033703,0.444036242841,0.44412214457,0.444208042218,0.444293935782,0.444379825262,0.444465710657,0.444551591967,0.444637469191,0.444723342328,0.444809211377,0.444895076338,0.444980937209,0.44506679399,0.44515264668,0.445238495278,0.445324339783,0.445410180196,0.445496016514,0.445581848737,0.445667676865,0.445753500896,0.44583932083,0.445925136666,0.446010948403,0.44609675604,0.446182559577,0.446268359013,0.446354154346,0.446439945577,0.446525732705,0.446611515728,0.446697294645,0.446783069457,0.446868840162,0.44695460676,0.447040369249,0.447126127629,0.4472118819,0.447297632059,0.447383378108,0.447469120043,0.447554857866,0.447640591575,0.44772632117,0.447812046649,0.447897768012,0.447983485257,0.448069198386,0.448154907395,0.448240612285,0.448326313055,0.448412009704,0.448497702232,0.448583390637,0.448669074918,0.448754755076,0.448840431109,0.448926103016,0.449011770796,0.44909743445,0.449183093975,0.449268749372,0.449354400639,0.449440047776,0.449525690781,0.449611329655,0.449696964395,0.449782595003,0.449868221476,0.449953843814,0.450039462016,0.450125076081,0.450210686009,0.450296291799,0.450381893449,0.45046749096,0.45055308433,0.450638673559,0.450724258646,0.45080983959,0.45089541639,0.450980989045,0.451066557555,0.451152121919,0.451237682136,0.451323238206,0.451408790127,0.451494337898,0.45157988152,0.451665420991,0.45175095631,0.451836487477,0.451922014491,0.45200753735,0.452093056055,0.452178570605,0.452264080998,0.452349587234,0.452435089312,0.452520587231,0.452606080991,0.452691570591,0.452777056029,0.452862537306,0.45294801442,0.453033487371,0.453118956157,0.453204420779,0.453289881235,0.453375337524,0.453460789646,0.4535462376,0.453631681385,0.453717121,0.453802556445,0.453887987718,0.45397341482,0.454058837749,0.454144256504,0.454229671084,0.45431508149,0.454400487719,0.454485889772,0.454571287647,0.454656681344,0.454742070862,0.4548274562,0.454912837357,0.454998214333,0.455083587126,0.455168955737,0.455254320163,0.455339680406,0.455425036462,0.455510388333,0.455595736016,0.455681079512,0.455766418819,0.455851753937,0.455937084865,0.456022411602,0.456107734148,0.456193052501,0.45627836666,0.456363676626,0.456448982397,0.456534283972,0.456619581351,0.456704874533,0.456790163517,0.456875448302,0.456960728888,0.457046005273,0.457131277457,0.45721654544,0.457301809219,0.457387068796,0.457472324168,0.457557575335,0.457642822297,0.457728065051,0.457813303599,0.457898537938,0.457983768069,0.45806899399,0.4581542157,0.458239433199,0.458324646486,0.45840985556,0.458495060421,0.458580261067,0.458665457498,0.458750649713,0.458835837712,0.458921021492,0.459006201055,0.459091376398,0.459176547522,0.459261714425,0.459346877106,0.459432035566,0.459517189802,0.459602339814,0.459687485602,0.459772627165,0.459857764501,0.459942897611,0.460028026493,0.460113151146,0.46019827157,0.460283387764,0.460368499727,0.460453607459,0.460538710958,0.460623810224,0.460708905256,0.460793996054,0.460879082616,0.460964164941,0.46104924303,0.46113431688,0.461219386492,0.461304451865,0.461389512997,0.461474569888,0.461559622538,0.461644670945,0.461729715108,0.461814755028,0.461899790702,0.461984822131,0.462069849314,0.462154872249,0.462239890936,0.462324905375,0.462409915563,0.462494921502,0.462579923189,0.462664920624,0.462749913807,0.462834902736,0.462919887411,0.463004867831,0.463089843995,0.463174815902,0.463259783552,0.463344746944,0.463429706076,0.463514660949,0.463599611562,0.463684557913,0.463769500002,0.463854437828,0.463939371391,0.464024300689,0.464109225722,0.464194146489,0.464279062989,0.464363975222,0.464448883186,0.464533786881,0.464618686306,0.464703581461,0.464788472344,0.464873358955,0.464958241293,0.465043119357,0.465127993146,0.46521286266,0.465297727898,0.46538258886,0.465467445543,0.465552297948,0.465637146073,0.465721989919,0.465806829484,0.465891664767,0.465976495768,0.466061322486,0.466146144919,0.466230963068,0.466315776932,0.466400586509,0.466485391799,0.466570192802,0.466654989516,0.46673978194,0.466824570074,0.466909353917,0.466994133469,0.467078908728,0.467163679694,0.467248446365,0.467333208742,0.467417966823,0.467502720608,0.467587470095,0.467672215285,0.467756956176,0.467841692767,0.467926425058,0.468011153048,0.468095876736,0.468180596122,0.468265311204,0.468350021982,0.468434728455,0.468519430622,0.468604128483,0.468688822036,0.468773511281,0.468858196217,0.468942876844,0.46902755316,0.469112225165,0.469196892859,0.469281556239,0.469366215306,0.469450870058,0.469535520496,0.469620166617,0.469704808422,0.46978944591,0.469874079079,0.469958707929,0.47004333246,0.47012795267,0.470212568558,0.470297180125,0.470381787369,0.470466390289,0.470550988884,0.470635583155,0.470720173099,0.470804758717,0.470889340007,0.470973916969,0.471058489601,0.471143057904,0.471227621877,0.471312181517,0.471396736826,0.471481287802,0.471565834443,0.471650376751,0.471734914723,0.471819448359,0.471903977658,0.471988502619,0.472073023242,0.472157539526,0.47224205147,0.472326559073,0.472411062335,0.472495561254,0.47258005583,0.472664546063,0.47274903195,0.472833513493,0.472917990689,0.473002463538,0.473086932039,0.473171396192,0.473255855996,0.47334031145,0.473424762552,0.473509209303,0.473593651702,0.473678089748,0.473762523439,0.473846952776,0.473931377757,0.474015798383,0.474100214651,0.474184626561,0.474269034112,0.474353437305,0.474437836137,0.474522230608,0.474606620717,0.474691006464,0.474775387848,0.474859764868,0.474944137522,0.475028505812,0.475112869735,0.47519722929,0.475281584478,0.475365935297,0.475450281747,0.475534623827,0.475618961535,0.475703294872,0.475787623836,0.475871948427,0.475956268643,0.476040584485,0.476124895951,0.476209203041,0.476293505753,0.476377804088,0.476462098044,0.47654638762,0.476630672816,0.47671495363,0.476799230063,0.476883502114,0.47696776978,0.477052033063,0.477136291961,0.477220546473,0.477304796598,0.477389042337,0.477473283687,0.477557520648,0.47764175322,0.477725981401,0.477810205191,0.477894424589,0.477978639595,0.478062850207,0.478147056425,0.478231258248,0.478315455675,0.478399648705,0.478483837338,0.478568021573,0.478652201409,0.478736376845,0.478820547881,0.478904714516,0.478988876749,0.479073034579,0.479157188005,0.479241337027,0.479325481644,0.479409621856,0.47949375766,0.479577889057,0.479662016046,0.479746138626,0.479830256797,0.479914370556,0.479998479905,0.480082584841,0.480166685365,0.480250781475,0.480334873171,0.480418960451,0.480503043316,0.480587121764,0.480671195795,0.480755265407,0.4808393306,0.480923391374,0.481007447727,0.481091499659,0.481175547168,0.481259590255,0.481343628918,0.481427663157,0.48151169297,0.481595718358,0.481679739319,0.481763755852,0.481847767957,0.481931775633,0.482015778879,0.482099777695,0.482183772079,0.482267762031,0.482351747551,0.482435728636,0.482519705287,0.482603677503,0.482687645283,0.482771608626,0.482855567532,0.482939521999,0.483023472027,0.483107417616,0.483191358763,0.48327529547,0.483359227734,0.483443155555,0.483527078933,0.483610997866,0.483694912354,0.483778822396,0.483862727991,0.483946629138,0.484030525837,0.484114418087,0.484198305888,0.484282189237,0.484366068135,0.484449942581,0.484533812574,0.484617678113,0.484701539198,0.484785395827,0.484869248001,0.484953095717,0.485036938976,0.485120777777,0.485204612119,0.485288442,0.485372267421,0.485456088381,0.485539904878,0.485623716912,0.485707524483,0.485791327589,0.48587512623,0.485958920404,0.486042710112,0.486126495353,0.486210276124,0.486294052427,0.48637782426,0.486461591622,0.486545354513,0.486629112932,0.486712866877,0.486796616349,0.486880361346,0.486964101868,0.487047837914,0.487131569483,0.487215296574,0.487299019187,0.487382737321,0.487466450975,0.487550160148,0.48763386484,0.48771756505,0.487801260776,0.487884952019,0.487968638778,0.488052321051,0.488135998838,0.488219672138,0.48830334095,0.488387005274,0.488470665109,0.488554320454,0.488637971309,0.488721617671,0.488805259542,0.48888889692,0.488972529804,0.489056158193,0.489139782087,0.489223401485,0.489307016386,0.48939062679,0.489474232695,0.489557834101,0.489641431007,0.489725023413,0.489808611317,0.489892194719,0.489975773617,0.490059348012,0.490142917903,0.490226483288,0.490310044167,0.49039360054,0.490477152405,0.490560699761,0.490644242608,0.490727780946,0.490811314773,0.490894844088,0.490978368891,0.491061889181,0.491145404957,0.491228916219,0.491312422966,0.491395925197,0.49147942291,0.491562916107,0.491646404784,0.491729888943,0.491813368582,0.4918968437,0.491980314297,0.492063780372,0.492147241923,0.492230698951,0.492314151455,0.492397599433,0.492481042886,0.492564481811,0.492647916209,0.492731346079,0.492814771419,0.49289819223,0.49298160851,0.493065020259,0.493148427475,0.493231830159,0.493315228309,0.493398621924,0.493482011004,0.493565395549,0.493648775556,0.493732151026,0.493815521958,0.493898888351,0.493982250204,0.494065607516,0.494148960287,0.494232308516,0.494315652202,0.494398991344,0.494482325942,0.494565655995,0.494648981502,0.494732302462,0.494815618875,0.494898930739,0.494982238054,0.49506554082,0.495148839035,0.495232132699,0.495315421811,0.49539870637,0.495481986375,0.495565261826,0.495648532722,0.495731799061,0.495815060845,0.495898318071,0.495981570738,0.496064818847,0.496148062396,0.496231301384,0.496314535811,0.496397765677,0.496480990979,0.496564211718,0.496647427893,0.496730639502,0.496813846546,0.496897049023,0.496980246932,0.497063440274,0.497146629046,0.497229813249,0.497312992882,0.497396167943,0.497479338433,0.497562504349,0.497645665692,0.497728822461,0.497811974655,0.497895122273,0.497978265315,0.498061403779,0.498144537665,0.498227666973,0.498310791701,0.498393911848,0.498477027414,0.498560138399,0.4986432448,0.498726346619,0.498809443853,0.498892536502,0.498975624565,0.499058708042,0.499141786932,0.499224861234,0.499307930946,0.49939099607,0.499474056603,0.499557112545,0.499640163895,0.499723210653,0.499806252817,0.499889290387,0.499972323363,0.500055351742,0.500138375526,0.500221394712,0.5003044093,0.50038741929,0.50047042468,0.500553425469,0.500636421658,0.500719413245,0.50080240023,0.500885382611,0.500968360389,0.501051333561,0.501134302128,0.501217266089,0.501300225442,0.501383180188,0.501466130325,0.501549075853,0.50163201677,0.501714953077,0.501797884772,0.501880811855,0.501963734324,0.50204665218,0.50212956542,0.502212474046,0.502295378055,0.502378277447,0.502461172221,0.502544062377,0.502626947914,0.50270982883,0.502792705126,0.5028755768,0.502958443852,0.503041306281,0.503124164086,0.503207017266,0.503289865821,0.50337270975,0.503455549051,0.503538383726,0.503621213772,0.503704039188,0.503786859975,0.503869676131,0.503952487655,0.504035294548,0.504118096807,0.504200894433,0.504283687424,0.50436647578,0.504449259499,0.504532038582,0.504614813028,0.504697582835,0.504780348003,0.504863108531,0.504945864419,0.505028615665,0.505111362269,0.505194104231,0.505276841548,0.505359574222,0.50544230225,0.505525025632,0.505607744367,0.505690458455,0.505773167895,0.505855872686,0.505938572827,0.506021268318,0.506103959158,0.506186645345,0.50626932688,0.506352003761,0.506434675988,0.50651734356,0.506600006476,0.506682664736,0.506765318338,0.506847967282,0.506930611567,0.507013251193,0.507095886158,0.507178516462,0.507261142105,0.507343763084,0.507426379401,0.507508991053,0.50759159804,0.507674200362,0.507756798017,0.507839391005,0.507921979325,0.508004562976,0.508087141958,0.50816971627,0.50825228591,0.508334850879,0.508417411175,0.508499966799,0.508582517748,0.508665064022,0.508747605621,0.508830142543,0.508912674789,0.508995202356,0.509077725245,0.509160243455,0.509242756984,0.509325265833,0.50940777,0.509490269485,0.509572764287,0.509655254404,0.509737739837,0.509820220585,0.509902696647,0.509985168021,0.510067634708,0.510150096707,0.510232554016,0.510315006635,0.510397454564,0.510479897801,0.510562336346,0.510644770198,0.510727199357,0.51080962382,0.510892043589,0.510974458661,0.511056869037,0.511139274715,0.511221675695,0.511304071976,0.511386463557,0.511468850438,0.511551232617,0.511633610094,0.511715982869,0.511798350939,0.511880714306,0.511963072967,0.512045426923,0.512127776172,0.512210120713,0.512292460546,0.512374795671,0.512457126086,0.51253945179,0.512621772783,0.512704089065,0.512786400634,0.512868707489,0.51295100963,0.513033307056,0.513115599767,0.513197887761,0.513280171038,0.513362449596,0.513444723437,0.513526992557,0.513609256958,0.513691516637,0.513773771595,0.51385602183,0.513938267342,0.51402050813,0.514102744193,0.514184975531,0.514267202142,0.514349424027,0.514431641183,0.514513853611,0.51459606131,0.514678264279,0.514760462517,0.514842656023,0.514924844797,0.515007028838,0.515089208145,0.515171382717,0.515253552554,0.515335717655,0.515417878019,0.515500033646,0.515582184534,0.515664330683,0.515746472092,0.515828608761,0.515910740688,0.515992867873,0.516074990315,0.516157108014,0.516239220968,0.516321329177,0.51640343264,0.516485531356,0.516567625325,0.516649714546,0.516731799018,0.51681387874,0.516895953711,0.516978023932,0.5170600894,0.517142150116,0.517224206079,0.517306257287,0.51738830374,0.517470345437,0.517552382378,0.517634414562,0.517716441988,0.517798464655,0.517880482562,0.51796249571,0.518044504096,0.518126507721,0.518208506583,0.518290500681,0.518372490016,0.518454474586,0.518536454391,0.518618429429,0.5187003997,0.518782365203,0.518864325938,0.518946281904,0.519028233099,0.519110179524,0.519192121177,0.519274058058,0.519355990166,0.5194379175,0.519519840059,0.519601757843,0.519683670851,0.519765579082,0.519847482536,0.519929381211,0.520011275108,0.520093164224,0.52017504856,0.520256928114,0.520338802887,0.520420672876,0.520502538082,0.520584398504,0.52066625414,0.520748104991,0.520829951055,0.520911792332,0.52099362882,0.52107546052,0.52115728743,0.52123910955,0.521320926879,0.521402739415,0.521484547159,0.52156635011,0.521648148267,0.521729941629,0.521811730195,0.521893513965,0.521975292937,0.522057067112,0.522138836488,0.522220601065,0.522302360841,0.522384115817,0.522465865991,0.522547611363,0.522629351931,0.522711087696,0.522792818656,0.52287454481,0.522956266159,0.5230379827,0.523119694434,0.523201401359,0.523283103476,0.523364800782,0.523446493278,0.523528180962,0.523609863834,0.523691541893,0.523773215139,0.52385488357,0.523936547186,0.524018205986,0.52409985997,0.524181509136,0.524263153484,0.524344793013,0.524426427722,0.524508057611,0.524589682678,0.524671302924,0.524752918347,0.524834528947,0.524916134723,0.524997735673,0.525079331798,0.525160923097,0.525242509568,0.525324091212,0.525405668026,0.525487240012,0.525568807167,0.525650369491,0.525731926984,0.525813479644,0.525895027471,0.525976570464,0.526058108623,0.526139641946,0.526221170433,0.526302694083,0.526384212895,0.526465726869,0.526547236004,0.526628740298,0.526710239753,0.526791734365,0.526873224136,0.526954709064,0.527036189148,0.527117664387,0.527199134782,0.52728060033,0.527362061032,0.527443516887,0.527524967893,0.527606414051,0.527687855359,0.527769291816,0.527850723423,0.527932150177,0.528013572079,0.528094989127,0.528176401321,0.528257808661,0.528339211145,0.528420608772,0.528502001542,0.528583389455,0.528664772508,0.528746150703,0.528827524037,0.52890889251,0.528990256122,0.529071614872,0.529152968758,0.52923431778,0.529315661938,0.52939700123,0.529478335657,0.529559665216,0.529640989908,0.529722309732,0.529803624686,0.529884934771,0.529966239985,0.530047540328,0.530128835798,0.530210126396,0.53029141212,0.53037269297,0.530453968945,0.530535240044,0.530616506266,0.530697767612,0.530779024079,0.530860275667,0.530941522376,0.531022764204,0.531104001151,0.531185233217,0.5312664604,0.5313476827,0.531428900115,0.531510112646,0.531591320292,0.531672523051,0.531753720923,0.531834913907,0.531916102003,0.531997285209,0.532078463526,0.532159636952,0.532240805486,0.532321969128,0.532403127877,0.532484281733,0.532565430693,0.532646574759,0.532727713929,0.532808848202,0.532889977577,0.532971102054,0.533052221633,0.533133336311,0.533214446089,0.533295550966,0.533376650941,0.533457746014,0.533538836183,0.533619921447,0.533701001807,0.533782077261,0.533863147809,0.53394421345,0.534025274182,0.534106330006,0.534187380921,0.534268426926,0.534349468019,0.534430504201,0.534511535471,0.534592561827,0.53467358327,0.534754599798,0.534835611411,0.534916618107,0.534997619887,0.535078616749,0.535159608693,0.535240595718,0.535321577823,0.535402555007,0.53548352727,0.535564494611,0.53564545703,0.535726414524,0.535807367095,0.53588831474,0.53596925746,0.536050195253,0.536131128119,0.536212056057,0.536292979066,0.536373897146,0.536454810295,0.536535718513,0.5366166218,0.536697520154,0.536778413575,0.536859302062,0.536940185615,0.537021064232,0.537101937913,0.537182806656,0.537263670463,0.53734452933,0.537425383259,0.537506232248,0.537587076296,0.537667915402,0.537748749567,0.537829578789,0.537910403067,0.5379912224,0.538072036789,0.538152846232,0.538233650728,0.538314450277,0.538395244877,0.538476034529,0.538556819232,0.538637598984,0.538718373785,0.538799143634,0.538879908531,0.538960668474,0.539041423464,0.539122173499,0.539202918578,0.539283658701,0.539364393867,0.539445124075,0.539525849325,0.539606569616,0.539687284946,0.539767995316,0.539848700725,0.539929401171,0.540010096655,0.540090787174,0.54017147273,0.54025215332,0.540332828945,0.540413499602,0.540494165293,0.540574826015,0.540655481768,0.540736132552,0.540816778366,0.540897419208,0.540978055079,0.541058685977,0.541139311902,0.541219932853,0.541300548828,0.541381159829,0.541461765853,0.5415423669,0.54162296297,0.541703554061,0.541784140172,0.541864721304,0.541945297455,0.542025868625,0.542106434812,0.542186996017,0.542267552238,0.542348103474,0.542428649726,0.542509190991,0.54258972727,0.542670258561,0.542750784865,0.542831306179,0.542911822504,0.542992333838,0.543072840182,0.543153341534,0.543233837893,0.543314329258,0.54339481563,0.543475297007,0.543555773389,0.543636244774,0.543716711162,0.543797172553,0.543877628945,0.543958080338,0.544038526731,0.544118968123,0.544199404514,0.544279835903,0.544360262288,0.544440683671,0.544521100048,0.544601511421,0.544681917788,0.544762319148,0.544842715501,0.544923106845,0.545003493181,0.545083874508,0.545164250824,0.545244622129,0.545324988422,0.545405349703,0.54548570597,0.545566057224,0.545646403463,0.545726744686,0.545807080893,0.545887412083,0.545967738256,0.54604805941,0.546128375545,0.54620868666,0.546288992754,0.546369293827,0.546449589878,0.546529880906,0.546610166911,0.546690447891,0.546770723846,0.546850994775,0.546931260678,0.547011521554,0.547091777401,0.54717202822,0.547252274009,0.547332514768,0.547412750496,0.547492981193,0.547573206857,0.547653427487,0.547733643084,0.547813853646,0.547894059173,0.547974259664,0.548054455118,0.548134645534,0.548214830912,0.54829501125,0.548375186549,0.548455356808,0.548535522025,0.5486156822,0.548695837333,0.548775987421,0.548856132466,0.548936272466,0.54901640742,0.549096537327,0.549176662188,0.549256782,0.549336896764,0.549417006478,0.549497111143,0.549577210756,0.549657305318,0.549737394827,0.549817479284,0.549897558687,0.549977633035,0.550057702327,0.550137766564,0.550217825744,0.550297879867,0.550377928931,0.550457972937,0.550538011882,0.550618045768,0.550698074592,0.550778098354,0.550858117053,0.55093813069,0.551018139262,0.551098142769,0.551178141211,0.551258134586,0.551338122894,0.551418106135,0.551498084307,0.55157805741,0.551658025443,0.551737988405,0.551817946295,0.551897899114,0.551977846859,0.552057789531,0.552137727129,0.552217659651,0.552297587097,0.552377509467,0.55245742676,0.552537338974,0.55261724611,0.552697148166,0.552777045142,0.552856937036,0.552936823849,0.55301670558,0.553096582227,0.553176453791,0.55325632027,0.553336181663,0.55341603797,0.55349588919,0.553575735323,0.553655576367,0.553735412323,0.553815243188,0.553895068963,0.553974889647,0.554054705238,0.554134515737,0.554214321142,0.554294121454,0.55437391667,0.55445370679,0.554533491814,0.554613271741,0.55469304657,0.554772816301,0.554852580932,0.554932340463,0.555012094893,0.555091844222,0.555171588448,0.555251327571,0.555331061591,0.555410790506,0.555490514316,0.55557023302,0.555649946617,0.555729655107,0.555809358488,0.555889056761,0.555968749924,0.556048437977,0.556128120919,0.556207798749,0.556287471466,0.55636713907,0.55644680156,0.556526458936,0.556606111196,0.556685758339,0.556765400366,0.556845037275,0.556924669066,0.557004295737,0.557083917289,0.55716353372,0.55724314503,0.557322751218,0.557402352283,0.557481948224,0.557561539041,0.557641124733,0.5577207053,0.55780028074,0.557879851053,0.557959416237,0.558038976294,0.558118531221,0.558198081017,0.558277625683,0.558357165218,0.55843669962,0.558516228889,0.558595753024,0.558675272025,0.55875478589,0.55883429462,0.558913798213,0.558993296668,0.559072789986,0.559152278164,0.559231761203,0.559311239102,0.559390711859,0.559470179475,0.559549641948,0.559629099278,0.559708551464,0.559787998505,0.559867440401,0.55994687715,0.560026308753,0.560105735208,0.560185156514,0.560264572672,0.56034398368,0.560423389537,0.560502790242,0.560582185796,0.560661576197,0.560740961445,0.560820341538,0.560899716477,0.560979086259,0.561058450886,0.561137810355,0.561217164666,0.561296513819,0.561375857813,0.561455196646,0.561534530319,0.56161385883,0.561693182179,0.561772500365,0.561851813387,0.561931121245,0.562010423937,0.562089721464,0.562169013824,0.562248301017,0.562327583042,0.562406859898,0.562486131584,0.562565398101,0.562644659446,0.562723915619,0.56280316662,0.562882412448,0.562961653102,0.563040888582,0.563120118886,0.563199344014,0.563278563965,0.563357778739,0.563436988334,0.56351619275,0.563595391987,0.563674586043,0.563753774918,0.563832958611,0.563912137122,0.563991310449,0.564070478592,0.56414964155,0.564228799323,0.564307951909,0.564387099309,0.564466241521,0.564545378544,0.564624510378,0.564703637022,0.564782758476,0.564861874738,0.564940985808,0.565020091685,0.565099192369,0.565178287858,0.565257378153,0.565336463251,0.565415543154,0.565494617859,0.565573687366,0.565652751674,0.565731810784,0.565810864693,0.565889913401,0.565968956908,0.566047995212,0.566127028314,0.566206056212,0.566285078905,0.566364096393,0.566443108675,0.566522115751,0.566601117619,0.56668011428,0.566759105731,0.566838091973,0.566917073004,0.566996048825,0.567075019434,0.567153984831,0.567232945014,0.567311899983,0.567390849738,0.567469794278,0.567548733601,0.567627667708,0.567706596597,0.567785520268,0.56786443872,0.567943351952,0.568022259964,0.568101162755,0.568180060324,0.56825895267,0.568337839793,0.568416721692,0.568495598366,0.568574469815,0.568653336037,0.568732197033,0.568811052801,0.56888990334,0.568968748651,0.569047588731,0.569126423581,0.5692052532,0.569284077586,0.56936289674,0.569441710661,0.569520519347,0.569599322798,0.569678121014,0.569756913993,0.569835701736,0.56991448424,0.569993261506,0.570072033533,0.570150800319,0.570229561865,0.57030831817,0.570387069232,0.570465815052,0.570544555628,0.57062329096,0.570702021046,0.570780745887,0.570859465481,0.570938179828,0.571016888928,0.571095592778,0.571174291379,0.57125298473,0.57133167283,0.571410355679,0.571489033275,0.571567705618,0.571646372708,0.571725034543,0.571803691123,0.571882342447,0.571960988515,0.572039629325,0.572118264877,0.57219689517,0.572275520204,0.572354139977,0.57243275449,0.572511363741,0.572589967729,0.572668566454,0.572747159916,0.572825748113,0.572904331045,0.57298290871,0.573061481109,0.57314004824,0.573218610104,0.573297166698,0.573375718023,0.573454264077,0.57353280486,0.573611340372,0.573689870611,0.573768395577,0.573846915269,0.573925429686,0.574003938827,0.574082442693,0.574160941282,0.574239434593,0.574317922626,0.57439640538,0.574474882854,0.574553355048,0.57463182196,0.574710283591,0.574788739939,0.574867191004,0.574945636784,0.57502407728,0.575102512491,0.575180942415,0.575259367052,0.575337786402,0.575416200463,0.575494609235,0.575573012717,0.575651410909,0.575729803809,0.575808191418,0.575886573734,0.575964950756,0.576043322484,0.576121688917,0.576200050055,0.576278405897,0.576356756441,0.576435101688,0.576513441636,0.576591776285,0.576670105634,0.576748429682,0.57682674843,0.576905061875,0.576983370017,0.577061672856,0.57713997039,0.57721826262,0.577296549544,0.577374831161,0.577453107472,0.577531378474,0.577609644168,0.577687904553,0.577766159628,0.577844409392,0.577922653845,0.578000892985,0.578079126813,0.578157355327,0.578235578527,0.578313796412,0.578392008981,0.578470216233,0.578548418169,0.578626614786,0.578704806085,0.578782992065,0.578861172724,0.578939348063,0.57901751808,0.579095682775,0.579173842148,0.579251996196,0.57933014492,0.579408288319,0.579486426393,0.579564559139,0.579642686559,0.579720808651,0.579798925413,0.579877036847,0.57995514295,0.580033243723,0.580111339164,0.580189429273,0.580267514049,0.580345593491,0.580423667598,0.580501736371,0.580579799808,0.580657857908,0.580735910671,0.580813958096,0.580892000182,0.580970036929,0.581048068335,0.581126094401,0.581204115125,0.581282130507,0.581360140546,0.581438145241,0.581516144591,0.581594138597,0.581672127256,0.581750110569,0.581828088535,0.581906061153,0.581984028421,0.582061990341,0.58213994691,0.582217898128,0.582295843995,0.582373784509,0.58245171967,0.582529649478,0.582607573931,0.582685493029,0.582763406771,0.582841315156,0.582919218184,0.582997115853,0.583075008164,0.583152895116,0.583230776707,0.583308652938,0.583386523806,0.583464389313,0.583542249456,0.583620104236,0.583697953651,0.5837757977,0.583853636384,0.583931469701,0.584009297651,0.584087120233,0.584164937446,0.584242749289,0.584320555762,0.584398356864,0.584476152595,0.584553942953,0.584631727938,0.584709507549,0.584787281786,0.584865050648,0.584942814133,0.585020572242,0.585098324973,0.585176072327,0.585253814301,0.585331550896,0.585409282111,0.585487007945,0.585564728397,0.585642443467,0.585720153154,0.585797857456,0.585875556375,0.585953249908,0.586030938055,0.586108620815,0.586186298189,0.586263970174,0.58634163677,0.586419297976,0.586496953793,0.586574604218,0.586652249252,0.586729888893,0.586807523142,0.586885151996,0.586962775456,0.587040393521,0.58711800619,0.587195613462,0.587273215337,0.587350811813,0.587428402891,0.587505988569,0.587583568848,0.587661143725,0.5877387132,0.587816277273,0.587893835943,0.58797138921,0.588048937072,0.588126479528,0.588204016579,0.588281548223,0.588359074459,0.588436595288,0.588514110708,0.588591620718,0.588669125318,0.588746624507,0.588824118285,0.58890160665,0.588979089602,0.58905656714,0.589134039264,0.589211505973,0.589288967265,0.589366423141,0.5894438736,0.589521318641,0.589598758263,0.589676192466,0.589753621248,0.589831044609,0.589908462549,0.589985875067,0.590063282161,0.590140683832,0.590218080079,0.5902954709,0.590372856295,0.590450236264,0.590527610805,0.590604979919,0.590682343604,0.590759701859,0.590837054684,0.590914402078,0.590991744041,0.591069080572,0.591146411669,0.591223737333,0.591301057562,0.591378372357,0.591455681715,0.591532985637,0.591610284122,0.591687577169,0.591764864777,0.591842146946,0.591919423674,0.591996694962,0.592073960808,0.592151221212,0.592228476174,0.592305725691,0.592382969764,0.592460208393,0.592537441575,0.592614669311,0.5926918916,0.59276910844,0.592846319833,0.592923525776,0.593000726268,0.593077921311,0.593155110901,0.59323229504,0.593309473725,0.593386646958,0.593463814735,0.593540977058,0.593618133925,0.593695285336,0.59377243129,0.593849571785,0.593926706823,0.594003836401,0.594080960519,0.594158079176,0.594235192372,0.594312300106,0.594389402377,0.594466499185,0.594543590528,0.594620676407,0.594697756819,0.594774831766,0.594851901245,0.594928965257,0.5950060238,0.595083076875,0.595160124479,0.595237166612,0.595314203275,0.595391234465,0.595468260183,0.595545280427,0.595622295197,0.595699304492,0.595776308312,0.595853306656,0.595930299522,0.596007286911,0.596084268822,0.596161245253,0.596238216205,0.596315181676,0.596392141666,0.596469096174,0.596546045199,0.596622988741,0.596699926799,0.596776859373,0.59685378646,0.596930708062,0.597007624177,0.597084534804,0.597161439943,0.597238339593,0.597315233754,0.597392122424,0.597469005603,0.59754588329,0.597622755484,0.597699622186,0.597776483393,0.597853339106,0.597930189323,0.598007034045,0.598083873269,0.598160706996,0.598237535225,0.598314357955,0.598391175186,0.598467986916,0.598544793146,0.598621593873,0.598698389098,0.59877517882,0.598851963039,0.598928741752,0.599005514961,0.599082282664,0.59915904486,0.599235801548,0.599312552729,0.599389298401,0.599466038563,0.599542773215,0.599619502356,0.599696225986,0.599772944104,0.599849656708,0.599926363799,0.600003065375,0.600079761437,0.600156451982,0.600233137011,0.600309816523,0.600386490517,0.600463158992,0.600539821948,0.600616479384,0.600693131299,0.600769777693,0.600846418564,0.600923053913,0.600999683738,0.601076308039,0.601152926815,0.601229540065,0.601306147789,0.601382749986,0.601459346655,0.601535937795,0.601612523407,0.601689103488,0.601765678039,0.601842247059,0.601918810546,0.601995368501,0.602071920922,0.60214846781,0.602225009162,0.602301544979,0.60237807526,0.602454600004,0.60253111921,0.602607632878,0.602684141007,0.602760643596,0.602837140644,0.602913632152,0.602990118117,0.60306659854,0.60314307342,0.603219542756,0.603296006547,0.603372464793,0.603448917493,0.603525364646,0.603601806251,0.603678242308,0.603754672817,0.603831097776,0.603907517184,0.603983931042,0.604060339348,0.604136742101,0.604213139302,0.604289530948,0.60436591704,0.604442297577,0.604518672558,0.604595041983,0.60467140585,0.604747764159,0.604824116909,0.6049004641,0.604976805731,0.605053141801,0.605129472309,0.605205797255,0.605282116639,0.605358430459,0.605434738714,0.605511041404,0.605587338529,0.605663630087,0.605739916078,0.605816196502,0.605892471356,0.605968740642,0.606045004357,0.606121262502,0.606197515076,0.606273762077,0.606350003506,0.606426239361,0.606502469643,0.606578694349,0.60665491348,0.606731127035,0.606807335012,0.606883537412,0.606959734234,0.607035925476,0.607112111139,0.607188291222,0.607264465723,0.607340634643,0.607416797979,0.607492955733,0.607569107903,0.607645254488,0.607721395488,0.607797530901,0.607873660728,0.607949784968,0.608025903619,0.608102016682,0.608178124155,0.608254226037,0.608330322329,0.608406413029,0.608482498137,0.608558577652,0.608634651573,0.608710719899,0.608786782631,0.608862839766,0.608938891305,0.609014937247,0.609090977591,0.609167012336,0.609243041482,0.609319065028,0.609395082973,0.609471095317,0.609547102059,0.609623103198,0.609699098733,0.609775088664,0.60985107299,0.60992705171,0.610003024825,0.610078992332,0.610154954231,0.610230910522,0.610306861204,0.610382806276,0.610458745738,0.610534679588,0.610610607827,0.610686530453,0.610762447465,0.610838358864,0.610914264648,0.610990164816,0.611066059369,0.611141948304,0.611217831622,0.611293709322,0.611369581403,0.611445447865,0.611521308706,0.611597163926,0.611673013525,0.611748857501,0.611824695854,0.611900528584,0.611976355689,0.612052177169,0.612127993022,0.61220380325,0.61227960785,0.612355406822,0.612431200166,0.61250698788,0.612582769964,0.612658546417,0.61273431724,0.612810082429,0.612885841986,0.61296159591,0.613037344199,0.613113086854,0.613188823873,0.613264555255,0.613340281001,0.613416001109,0.613491715578,0.613567424408,0.613643127599,0.613718825149,0.613794517058,0.613870203325,0.61394588395,0.614021558931,0.614097228268,0.614172891961,0.614248550008,0.61432420241,0.614399849164,0.614475490271,0.61455112573,0.61462675554,0.614702379701,0.614777998211,0.614853611071,0.614929218279,0.615004819834,0.615080415737,0.615156005986,0.615231590581,0.61530716952,0.615382742804,0.615458310431,0.615533872401,0.615609428713,0.615684979367,0.615760524361,0.615836063696,0.61591159737,0.615987125382,0.616062647733,0.616138164421,0.616213675445,0.616289180805,0.616364680501,0.616440174531,0.616515662895,0.616591145592,0.616666622621,0.616742093982,0.616817559674,0.616893019697,0.616968474049,0.61704392273,0.617119365739,0.617194803076,0.61727023474,0.61734566073,0.617421081045,0.617496495686,0.61757190465,0.617647307938,0.617722705548,0.617798097481,0.617873483735,0.617948864309,0.618024239204,0.618099608417,0.61817497195,0.6182503298,0.618325681967,0.618401028451,0.61847636925,0.618551704365,0.618627033794,0.618702357537,0.618777675593,0.618852987961,0.618928294641,0.619003595631,0.619078890932,0.619154180543,0.619229464462,0.61930474269,0.619380015225,0.619455282067,0.619530543215,0.619605798668,0.619681048426,0.619756292488,0.619831530854,0.619906763522,0.619981990492,0.620057211763,0.620132427335,0.620207637207,0.620282841378,0.620358039847,0.620433232614,0.620508419679,0.620583601039,0.620658776696,0.620733946647,0.620809110893,0.620884269433,0.620959422265,0.62103456939,0.621109710806,0.621184846514,0.621259976511,0.621335100798,0.621410219374,0.621485332238,0.621560439389,0.621635540827,0.621710636551,0.621785726561,0.621860810855,0.621935889433,0.622010962295,0.622086029439,0.622161090865,0.622236146572,0.62231119656,0.622386240827,0.622461279374,0.622536312199,0.622611339302,0.622686360683,0.622761376339,0.622836386271,0.622911390479,0.62298638896,0.623061381715,0.623136368744,0.623211350044,0.623286325616,0.623361295459,0.623436259572,0.623511217955,0.623586170606,0.623661117526,0.623736058713,0.623810994166,0.623885923886,0.623960847871,0.624035766121,0.624110678635,0.624185585412,0.624260486452,0.624335381754,0.624410271317,0.62448515514,0.624560033224,0.624634905566,0.624709772168,0.624784633026,0.624859488142,0.624934337515,0.625009181143,0.625084019026,0.625158851164,0.625233677555,0.625308498199,0.625383313096,0.625458122244,0.625532925643,0.625607723292,0.625682515191,0.625757301339,0.625832081735,0.625906856378,0.625981625268,0.626056388404,0.626131145786,0.626205897412,0.626280643283,0.626355383397,0.626430117753,0.626504846352,0.626579569192,0.626654286272,0.626728997592,0.626803703152,0.62687840295,0.626953096986,0.627027785259,0.627102467769,0.627177144515,0.627251815495,0.62732648071,0.627401140159,0.627475793841,0.627550441755,0.627625083901,0.627699720278,0.627774350885,0.627848975722,0.627923594788,0.627998208082,0.628072815604,0.628147417352,0.628222013327,0.628296603527,0.628371187953,0.628445766602,0.628520339475,0.62859490657,0.628669467888,0.628744023427,0.628818573186,0.628893117166,0.628967655365,0.629042187783,0.629116714419,0.629191235272,0.629265750341,0.629340259627,0.629414763128,0.629489260843,0.629563752772,0.629638238915,0.62971271927,0.629787193837,0.629861662614,0.629936125603,0.630010582801,0.630085034208,0.630159479824,0.630233919647,0.630308353677,0.630382781914,0.630457204356,0.630531621003,0.630606031855,0.63068043691,0.630754836168,0.630829229628,0.63090361729,0.630977999153,0.631052375216,0.631126745478,0.63120110994,0.631275468599,0.631349821456,0.631424168509,0.631498509759,0.631572845204,0.631647174844,0.631721498678,0.631795816705,0.631870128925,0.631944435337,0.63201873594,0.632093030734,0.632167319717,0.63224160289,0.632315880252,0.632390151801,0.632464417538,0.632538677461,0.63261293157,0.632687179864,0.632761422343,0.632835659005,0.632909889851,0.632984114878,0.633058334088,0.633132547479,0.63320675505,0.633280956801,0.633355152731,0.633429342839,0.633503527125,0.633577705588,0.633651878227,0.633726045041,0.633800206031,0.633874361195,0.633948510532,0.634022654043,0.634096791725,0.634170923579,0.634245049604,0.634319169799,0.634393284164,0.634467392697,0.634541495398,0.634615592267,0.634689683303,0.634763768504,0.634837847872,0.634911921403,0.634985989099,0.635060050958,0.63513410698,0.635208157164,0.635282201509,0.635356240015,0.63543027268,0.635504299505,0.635578320489,0.63565233563,0.635726344929,0.635800348384,0.635874345995,0.635948337761,0.636022323682,0.636096303756,0.636170277984,0.636244246364,0.636318208896,0.636392165579,0.636466116412,0.636540061395,0.636614000527,0.636687933808,0.636761861236,0.636835782812,0.636909698533,0.636983608401,0.637057512413,0.637131410569,0.63720530287,0.637279189313,0.637353069898,0.637426944625,0.637500813493,0.637574676501,0.637648533649,0.637722384936,0.63779623036,0.637870069923,0.637943903622,0.638017731457,0.638091553428,0.638165369533,0.638239179773,0.638312984146,0.638386782652,0.63846057529,0.638534362059,0.63860814296,0.63868191799,0.638755687149,0.638829450437,0.638903207854,0.638976959397,0.639050705068,0.639124444864,0.639198178785,0.639271906831,0.639345629002,0.639419345295,0.639493055711,0.639566760249,0.639640458908,0.639714151688,0.639787838587,0.639861519606,0.639935194743,0.640008863998,0.640082527371,0.64015618486,0.640229836464,0.640303482184,0.640377122018,0.640450755966,0.640524384028,0.640598006201,0.640671622487,0.640745232883,0.64081883739,0.640892436007,0.640966028732,0.641039615566,0.641113196508,0.641186771557,0.641260340712,0.641333903973,0.641407461338,0.641481012809,0.641554558382,0.641628098059,0.641701631838,0.641775159719,0.6418486817,0.641922197782,0.641995707963,0.642069212244,0.642142710622,0.642216203098,0.642289689671,0.642363170341,0.642436645105,0.642510113965,0.642583576919,0.642657033966,0.642730485106,0.642803930339,0.642877369662,0.642950803077,0.643024230582,0.643097652176,0.643171067859,0.64324447763,0.643317881489,0.643391279434,0.643464671465,0.643538057582,0.643611437784,0.643684812069,0.643758180438,0.64383154289,0.643904899424,0.643978250039,0.644051594734,0.64412493351,0.644198266365,0.644271593299,0.644344914311,0.6444182294,0.644491538566,0.644564841807,0.644638139125,0.644711430516,0.644784715982,0.644857995521,0.644931269132,0.645004536816,0.64507779857,0.645151054395,0.645224304291,0.645297548255,0.645370786288,0.645444018389,0.645517244557,0.645590464792,0.645663679092,0.645736887458,0.645810089888,0.645883286382,0.645956476939,0.646029661559,0.646102840241,0.646176012983,0.646249179787,0.64632234065,0.646395495572,0.646468644552,0.646541787591,0.646614924687,0.646688055839,0.646761181046,0.646834300309,0.646907413627,0.646980520998,0.647053622422,0.647126717899,0.647199807427,0.647272891007,0.647345968637,0.647419040316,0.647492106045,0.647565165822,0.647638219647,0.647711267519,0.647784309437,0.647857345401,0.64793037541,0.648003399463,0.64807641756,0.6481494297,0.648222435882,0.648295436107,0.648368430372,0.648441418677,0.648514401022,0.648587377406,0.648660347829,0.648733312289,0.648806270786,0.648879223319,0.648952169888,0.649025110492,0.64909804513,0.649170973802,0.649243896507,0.649316813244,0.649389724013,0.649462628813,0.649535527643,0.649608420502,0.649681307391,0.649754188307,0.649827063252,0.649899932223,0.649972795221,0.650045652244,0.650118503292,0.650191348364,0.65026418746,0.650337020579,0.65040984772,0.650482668883,0.650555484067,0.65062829327,0.650701096494,0.650773893736,0.650846684996,0.650919470274,0.650992249569,0.65106502288,0.651137790207,0.651210551549,0.651283306905,0.651356056274,0.651428799656,0.65150153705,0.651574268456,0.651646993873,0.6517197133,0.651792426737,0.651865134182,0.651937835636,0.652010531097,0.652083220565,0.652155904039,0.652228581519,0.652301253003,0.652373918492,0.652446577984,0.65251923148,0.652591878977,0.652664520476,0.652737155975,0.652809785475,0.652882408975,0.652955026473,0.653027637969,0.653100243463,0.653172842954,0.653245436441,0.653318023923,0.6533906054,0.653463180872,0.653535750337,0.653608313795,0.653680871244,0.653753422686,0.653825968118,0.653898507541,0.653971040953,0.654043568353,0.654116089742,0.654188605119,0.654261114482,0.654333617832,0.654406115167,0.654478606487,0.654551091791,0.654623571078,0.654696044349,0.654768511601,0.654840972835,0.65491342805,0.654985877245,0.65505832042,0.655130757573,0.655203188705,0.655275613814,0.6553480329,0.655420445962,0.655492853,0.655565254012,0.655637648999,0.655710037959,0.655782420892,0.655854797797,0.655927168674,0.655999533522,0.65607189234,0.656144245127,0.656216591883,0.656288932608,0.6563612673,0.656433595958,0.656505918583,0.656578235174,0.656650545729,0.656722850249,0.656795148732,0.656867441178,0.656939727587,0.657012007956,0.657084282287,0.657156550578,0.657228812829,0.657301069038,0.657373319206,0.657445563331,0.657517801413,0.657590033451,0.657662259445,0.657734479394,0.657806693297,0.657878901154,0.657951102963,0.658023298725,0.658095488439,0.658167672103,0.658239849717,0.658312021282,0.658384186795,0.658456346256,0.658528499665,0.658600647021,0.658672788323,0.658744923571,0.658817052764,0.658889175901,0.658961292982,0.659033404006,0.659105508972,0.659177607879,0.659249700728,0.659321787517,0.659393868246,0.659465942913,0.659538011519,0.659610074063,0.659682130544,0.659754180961,0.659826225313,0.659898263601,0.659970295823,0.660042321979,0.660114342067,0.660186356089,0.660258364041,0.660330365925,0.66040236174,0.660474351484,0.660546335157,0.660618312758,0.660690284287,0.660762249744,0.660834209126,0.660906162435,0.660978109668,0.661050050826,0.661121985908,0.661193914913,0.66126583784,0.661337754689,0.661409665459,0.66148157015,0.66155346876,0.66162536129,0.661697247738,0.661769128104,0.661841002387,0.661912870587,0.661984732702,0.662056588733,0.662128438678,0.662200282537,0.662272120309,0.662343951994,0.66241577759,0.662487597098,0.662559410516,0.662631217845,0.662703019082,0.662774814228,0.662846603282,0.662918386243,0.662990163111,0.663061933885,0.663133698564,0.663205457148,0.663277209635,0.663348956026,0.66342069632,0.663492430515,0.663564158612,0.66363588061,0.663707596507,0.663779306304,0.663851009999,0.663922707593,0.663994399084,0.664066084472,0.664137763755,0.664209436934,0.664281104008,0.664352764976,0.664424419837,0.664496068591,0.664567711237,0.664639347775,0.664710978203,0.664782602522,0.66485422073,0.664925832826,0.664997438811,0.665069038684,0.665140632443,0.665212220088,0.665283801619,0.665355377035,0.665426946335,0.665498509518,0.665570066585,0.665641617533,0.665713162363,0.665784701074,0.665856233666,0.665927760136,0.665999280486,0.666070794714,0.66614230282,0.666213804803,0.666285300662,0.666356790396,0.666428274006,0.66649975149,0.666571222847,0.666642688078,0.666714147181,0.666785600156,0.666857047002,0.666928487718,0.666999922304,0.667071350759,0.667142773082,0.667214189273,0.667285599331,0.667357003256,0.667428401047,0.667499792702,0.667571178223,0.667642557607,0.667713930854,0.667785297963,0.667856658935,0.667928013768,0.667999362461,0.668070705014,0.668142041427,0.668213371698,0.668284695826,0.668356013813,0.668427325655,0.668498631354,0.668569930908,0.668641224317,0.66871251158,0.668783792696,0.668855067665,0.668926336485,0.668997599157,0.66906885568,0.669140106053,0.669211350276,0.669282588347,0.669353820266,0.669425046032,0.669496265646,0.669567479105,0.66963868641,0.66970988756,0.669781082554,0.669852271392,0.669923454072,0.669994630595,0.670065800959,0.670136965164,0.670208123209,0.670279275094,0.670350420818,0.67042156038,0.67049269378,0.670563821017,0.67063494209,0.670706056998,0.670777165742,0.67084826832,0.670919364732,0.670990454977,0.671061539054,0.671132616963,0.671203688703,0.671274754274,0.671345813674,0.671416866903,0.671487913961,0.671558954847,0.67162998956,0.671701018099,0.671772040465,0.671843056655,0.67191406667,0.671985070509,0.672056068172,0.672127059656,0.672198044963,0.672269024091,0.67233999704,0.672410963809,0.672481924397,0.672552878804,0.672623827029,0.672694769071,0.67276570493,0.672836634605,0.672907558095,0.6729784754,0.67304938652,0.673120291453,0.673191190198,0.673262082756,0.673332969125,0.673403849306,0.673474723296,0.673545591096,0.673616452705,0.673687308122,0.673758157347,0.673829000379,0.673899837217,0.673970667861,0.674041492309,0.674112310562,0.674183122619,0.674253928479,0.674324728141,0.674395521605,0.67446630887,0.674537089936,0.674607864801,0.674678633466,0.674749395929,0.674820152189,0.674890902247,0.674961646102,0.675032383752,0.675103115198,0.675173840439,0.675244559473,0.6753152723,0.675385978921,0.675456679333,0.675527373536,0.675598061531,0.675668743315,0.675739418889,0.675810088251,0.675880751402,0.67595140834,0.676022059064,0.676092703575,0.676163341872,0.676233973953,0.676304599819,0.676375219468,0.6764458329,0.676516440114,0.67658704111,0.676657635886,0.676728224443,0.67679880678,0.676869382896,0.67693995279,0.677010516462,0.677081073911,0.677151625136,0.677222170137,0.677292708913,0.677363241464,0.677433767789,0.677504287886,0.677574801756,0.677645309398,0.677715810812,0.677786305996,0.677856794949,0.677927277673,0.677997754164,0.678068224424,0.678138688451,0.678209146245,0.678279597805,0.67835004313,0.67842048222,0.678490915074,0.678561341691,0.678631762072,0.678702176214,0.678772584118,0.678842985783,0.678913381208,0.678983770393,0.679054153337,0.679124530038,0.679194900498,0.679265264714,0.679335622687,0.679405974416,0.679476319899,0.679546659137,0.679616992129,0.679687318874,0.679757639371,0.67982795362,0.679898261621,0.679968563371,0.680038858872,0.680109148122,0.68017943112,0.680249707867,0.680319978361,0.680390242601,0.680460500587,0.680530752319,0.680600997795,0.680671237016,0.68074146998,0.680811696686,0.680881917135,0.680952131326,0.681022339257,0.681092540928,0.681162736339,0.681232925489,0.681303108377,0.681373285002,0.681443455365,0.681513619464,0.681583777298,0.681653928868,0.681724074172,0.681794213209,0.68186434598,0.681934472483,0.682004592718,0.682074706685,0.682144814381,0.682214915808,0.682285010964,0.682355099848,0.682425182461,0.6824952588,0.682565328866,0.682635392659,0.682705450176,0.682775501419,0.682845546385,0.682915585075,0.682985617488,0.683055643623,0.683125663479,0.683195677056,0.683265684353,0.68333568537,0.683405680106,0.68347566856,0.683545650732,0.683615626621,0.683685596226,0.683755559547,0.683825516583,0.683895467333,0.683965411797,0.684035349975,0.684105281864,0.684175207466,0.684245126779,0.684315039802,0.684384946535,0.684454846978,0.684524741129,0.684594628988,0.684664510555,0.684734385828,0.684804254808,0.684874117492,0.684943973882,0.685013823976,0.685083667773,0.685153505273,0.685223336475,0.685293161379,0.685362979984,0.685432792289,0.685502598293,0.685572397997,0.685642191399,0.685711978499,0.685781759296,0.685851533789,0.685921301978,0.685991063863,0.686060819441,0.686130568714,0.68620031168,0.686270048339,0.686339778689,0.686409502731,0.686479220463,0.686548931886,0.686618636998,0.686688335798,0.686758028287,0.686827714463,0.686897394326,0.686967067875,0.68703673511,0.68710639603,0.687176050634,0.687245698921,0.687315340892,0.687384976545,0.687454605879,0.687524228895,0.687593845591,0.687663455967,0.687733060022,0.687802657755,0.687872249167,0.687941834255,0.68801141302,0.688080985462,0.688150551578,0.688220111369,0.688289664834,0.688359211973,0.688428752784,0.688498287267,0.688567815422,0.688637337248,0.688706852744,0.688776361909,0.688845864744,0.688915361246,0.688984851417,0.689054335254,0.689123812757,0.689193283927,0.689262748761,0.68933220726,0.689401659423,0.689471105249,0.689540544737,0.689609977887,0.689679404699,0.689748825171,0.689818239303,0.689887647095,0.689957048545,0.690026443653,0.690095832419,0.690165214841,0.69023459092,0.690303960654,0.690373324043,0.690442681086,0.690512031783,0.690581376132,0.690650714135,0.690720045788,0.690789371093,0.690858690048,0.690928002653,0.690997308908,0.69106660881,0.691135902361,0.691205189558,0.691274470403,0.691343744893,0.691413013029,0.691482274809,0.691551530233,0.691620779301,0.691690022012,0.691759258364,0.691828488358,0.691897711993,0.691966929269,0.692036140183,0.692105344737,0.692174542929,0.692243734759,0.692312920226,0.692382099329,0.692451272068,0.692520438442,0.692589598451,0.692658752093,0.692727899369,0.692797040277,0.692866174817,0.692935302989,0.693004424791,0.693073540224,0.693142649285,0.693211751976,0.693280848295,0.693349938241,0.693419021814,0.693488099013,0.693557169838,0.693626234288,0.693695292362,0.69376434406,0.693833389381,0.693902428324,0.69397146089,0.694040487076,0.694109506883,0.69417852031,0.694247527356,0.69431652802,0.694385522303,0.694454510203,0.69452349172,0.694592466853,0.694661435601,0.694730397964,0.694799353942,0.694868303532,0.694937246736,0.695006183552,0.69507511398,0.695144038019,0.695212955668,0.695281866927,0.695350771795,0.695419670271,0.695488562356,0.695557448047,0.695626327345,0.695695200249,0.695764066759,0.695832926873,0.695901780591,0.695970627913,0.696039468837,0.696108303363,0.696177131491,0.69624595322,0.69631476855,0.696383577478,0.696452380006,0.696521176132,0.696589965856,0.696658749177,0.696727526095,0.696796296608,0.696865060716,0.696933818419,0.697002569716,0.697071314607,0.69714005309,0.697208785165,0.697277510831,0.697346230088,0.697414942935,0.697483649372,0.697552349398,0.697621043012,0.697689730213,0.697758411002,0.697827085377,0.697895753337,0.697964414883,0.698033070013,0.698101718727,0.698170361024,0.698238996904,0.698307626366,0.698376249409,0.698444866033,0.698513476236,0.69858208002,0.698650677381,0.698719268322,0.698787852839,0.698856430934,0.698925002604,0.698993567851,0.699062126672,0.699130679068,0.699199225037,0.69926776458,0.699336297695,0.699404824382,0.69947334464,0.699541858469,0.699610365868,0.699678866836,0.699747361373,0.699815849477,0.69988433115,0.699952806389,0.700021275194,0.700089737565,0.700158193501,0.700226643001,0.700295086064,0.700363522691,0.70043195288,0.700500376631,0.700568793943,0.700637204816,0.700705609248,0.70077400724,0.700842398791,0.700910783899,0.700979162565,0.701047534787,0.701115900566,0.7011842599,0.701252612789,0.701320959232,0.701389299229,0.701457632779,0.701525959881,0.701594280535,0.70166259474,0.701730902496,0.701799203801,0.701867498656,0.701935787059,0.70200406901,0.702072344508,0.702140613553,0.702208876144,0.702277132281,0.702345381962,0.702413625188,0.702481861957,0.702550092269,0.702618316124,0.70268653352,0.702754744457,0.702822948935,0.702891146952,0.702959338509,0.703027523604,0.703095702237,0.703163874407,0.703232040114,0.703300199358,0.703368352136,0.703436498449,0.703504638297,0.703572771678,0.703640898592,0.703709019038,0.703777133016,0.703845240524,0.703913341564,0.703981436133,0.704049524231,0.704117605858,0.704185681012,0.704253749694,0.704321811903,0.704389867637,0.704457916897,0.704525959682,0.704593995991,0.704662025823,0.704730049179,0.704798066056,0.704866076456,0.704934080376,0.705002077817,0.705070068777,0.705138053257,0.705206031255,0.705274002771,0.705341967804,0.705409926354,0.70547787842,0.705545824001,0.705613763097,0.705681695708,0.705749621831,0.705817541468,0.705885454617,0.705953361278,0.706021261449,0.706089155131,0.706157042323,0.706224923024,0.706292797234,0.706360664951,0.706428526176,0.706496380907,0.706564229145,0.706632070888,0.706699906135,0.706767734887,0.706835557142,0.706903372901,0.706971182161,0.707038984923,0.707106781187,0.70717457095,0.707242354214,0.707310130976,0.707377901238,0.707445664997,0.707513422253,0.707581173006,0.707648917256,0.707716655,0.70778438624,0.707852110974,0.707919829201,0.707987540921,0.708055246134,0.708122944838,0.708190637033,0.708258322719,0.708326001895,0.70839367456,0.708461340713,0.708529000354,0.708596653483,0.708664300099,0.7087319402,0.708799573788,0.70886720086,0.708934821416,0.709002435456,0.709070042978,0.709137643984,0.709205238471,0.709272826439,0.709340407888,0.709407982816,0.709475551224,0.70954311311,0.709610668475,0.709678217317,0.709745759636,0.70981329543,0.709880824701,0.709948347446,0.710015863666,0.710083373359,0.710150876526,0.710218373164,0.710285863275,0.710353346857,0.71042082391,0.710488294432,0.710555758424,0.710623215884,0.710690666813,0.710758111209,0.710825549072,0.710892980401,0.710960405196,0.711027823456,0.71109523518,0.711162640368,0.711230039019,0.711297431133,0.711364816708,0.711432195745,0.711499568243,0.7115669342,0.711634293617,0.711701646493,0.711768992827,0.711836332619,0.711903665867,0.711970992572,0.712038312733,0.712105626348,0.712172933418,0.712240233942,0.71230752792,0.71237481535,0.712442096231,0.712509370565,0.712576638349,0.712643899583,0.712711154267,0.712778402399,0.71284564398,0.712912879009,0.712980107484,0.713047329406,0.713114544774,0.713181753587,0.713248955845,0.713316151547,0.713383340692,0.71345052328,0.713517699309,0.713584868781,0.713652031693,0.713719188046,0.713786337838,0.713853481069,0.713920617738,0.713987747846,0.71405487139,0.714121988372,0.714189098789,0.714256202641,0.714323299928,0.714390390649,0.714457474804,0.714524552392,0.714591623411,0.714658687863,0.714725745745,0.714792797058,0.714859841801,0.714926879972,0.714993911573,0.715060936601,0.715127955056,0.715194966939,0.715261972247,0.715328970981,0.715395963139,0.715462948722,0.715529927729,0.715596900158,0.71566386601,0.715730825284,0.715797777979,0.715864724094,0.715931663629,0.715998596584,0.716065522957,0.716132442748,0.716199355957,0.716266262583,0.716333162625,0.716400056082,0.716466942955,0.716533823242,0.716600696943,0.716667564056,0.716734424583,0.716801278521,0.716868125871,0.716934966631,0.717001800802,0.717068628381,0.71713544937,0.717202263767,0.717269071572,0.717335872784,0.717402667402,0.717469455425,0.717536236854,0.717603011688,0.717669779926,0.717736541566,0.71780329661,0.717870045056,0.717936786903,0.718003522151,0.718070250799,0.718136972847,0.718203688294,0.71827039714,0.718337099383,0.718403795023,0.718470484061,0.718537166494,0.718603842322,0.718670511545,0.718737174162,0.718803830173,0.718870479577,0.718937122373,0.71900375856,0.719070388139,0.719137011108,0.719203627467,0.719270237216,0.719336840353,0.719403436878,0.71947002679,0.719536610089,0.719603186774,0.719669756845,0.719736320301,0.719802877141,0.719869427365,0.719935970972,0.720002507961,0.720069038333,0.720135562085,0.720202079219,0.720268589732,0.720335093625,0.720401590897,0.720468081546,0.720534565574,0.720601042978,0.720667513759,0.720733977916,0.720800435448,0.720866886354,0.720933330634,0.720999768288,0.721066199315,0.721132623713,0.721199041483,0.721265452624,0.721331857135,0.721398255016,0.721464646266,0.721531030884,0.72159740887,0.721663780224,0.721730144944,0.72179650303,0.721862854481,0.721929199298,0.721995537478,0.722061869022,0.722128193929,0.722194512199,0.72226082383,0.722327128822,0.722393427175,0.722459718887,0.722526003959,0.72259228239,0.722658554179,0.722724819325,0.722791077828,0.722857329687,0.722923574902,0.722989813472,0.723056045397,0.723122270675,0.723188489307,0.723254701291,0.723320906627,0.723387105314,0.723453297353,0.723519482741,0.723585661479,0.723651833566,0.723717999001,0.723784157784,0.723850309915,0.723916455391,0.723982594214,0.724048726382,0.724114851895,0.724180970751,0.724247082951,0.724313188495,0.72437928738,0.724445379607,0.724511465175,0.724577544084,0.724643616332,0.724709681919,0.724775740846,0.72484179311,0.724907838712,0.72497387765,0.725039909925,0.725105935535,0.72517195448,0.72523796676,0.725303972373,0.72536997132,0.725435963599,0.72550194921,0.725567928152,0.725633900425,0.725699866028,0.725765824961,0.725831777223,0.725897722813,0.72596366173,0.726029593975,0.726095519546,0.726161438444,0.726227350666,0.726293256213,0.726359155084,0.726425047279,0.726490932796,0.726556811636,0.726622683798,0.72668854928,0.726754408083,0.726820260206,0.726886105648,0.726951944408,0.727017776487,0.727083601883,0.727149420595,0.727215232624,0.727281037969,0.727346836628,0.727412628602,0.72747841389,0.727544192491,0.727609964404,0.72767572963,0.727741488167,0.727807240014,0.727872985172,0.727938723639,0.728004455415,0.7280701805,0.728135898892,0.728201610591,0.728267315597,0.728333013909,0.728398705526,0.728464390448,0.728530068674,0.728595740204,0.728661405036,0.728727063171,0.728792714607,0.728858359345,0.728923997383,0.728989628721,0.729055253358,0.729120871293,0.729186482527,0.729252087059,0.729317684887,0.729383276012,0.729448860432,0.729514438147,0.729580009157,0.72964557346,0.729711131057,0.729776681947,0.729842226128,0.729907763601,0.729973294365,0.730038818419,0.730104335763,0.730169846395,0.730235350317,0.730300847526,0.730366338022,0.730431821805,0.730497298874,0.730562769228,0.730628232867,0.73069368979,0.730759139997,0.730824583487,0.73089002026,0.730955450314,0.731020873649,0.731086290265,0.731151700162,0.731217103337,0.731282499791,0.731347889524,0.731413272534,0.731478648821,0.731544018385,0.731609381224,0.731674737338,0.731740086728,0.731805429391,0.731870765327,0.731936094537,0.732001417018,0.732066732771,0.732132041795,0.73219734409,0.732262639654,0.732327928488,0.73239321059,0.73245848596,0.732523754598,0.732589016502,0.732654271672,0.732719520109,0.73278476181,0.732849996775,0.732915225005,0.732980446497,0.733045661252,0.733110869269,0.733176070548,0.733241265087,0.733306452887,0.733371633946,0.733436808264,0.733501975841,0.733567136675,0.733632290766,0.733697438115,0.733762578719,0.733827712578,0.733892839693,0.733957960061,0.734023073684,0.734088180559,0.734153280687,0.734218374066,0.734283460697,0.734348540578,0.73441361371,0.73447868009,0.73454373972,0.734608792598,0.734673838723,0.734738878096,0.734803910715,0.73486893658,0.73493395569,0.734998968044,0.735063973643,0.735128972485,0.73519396457,0.735258949898,0.735323928467,0.735388900277,0.735453865327,0.735518823618,0.735583775147,0.735648719916,0.735713657922,0.735778589166,0.735843513646,0.735908431363,0.735973342316,0.736038246504,0.736103143926,0.736168034582,0.736232918472,0.736297795594,0.736362665948,0.736427529534,0.736492386351,0.736557236398,0.736622079675,0.736686916181,0.736751745915,0.736816568877,0.736881385067,0.736946194484,0.737010997126,0.737075792994,0.737140582087,0.737205364405,0.737270139946,0.73733490871,0.737399670697,0.737464425906,0.737529174337,0.737593915988,0.737658650859,0.73772337895,0.73778810026,0.737852814788,0.737917522535,0.737982223498,0.738046917678,0.738111605074,0.738176285686,0.738240959512,0.738305626552,0.738370286807,0.738434940274,0.738499586954,0.738564226845,0.738628859948,0.738693486262,0.738758105785,0.738822718519,0.738887324461,0.738951923611,0.739016515969,0.739081101534,0.739145680306,0.739210252284,0.739274817467,0.739339375854,0.739403927446,0.739468472242,0.73953301024,0.739597541441,0.739662065843,0.739726583447,0.739791094251,0.739855598256,0.73992009546,0.739984585862,0.740049069463,0.740113546261,0.740178016257,0.740242479449,0.740306935836,0.740371385419,0.740435828197,0.740500264169,0.740564693334,0.740629115692,0.740693531242,0.740757939984,0.740822341918,0.740886737041,0.740951125355,0.741015506858,0.74107988155,0.74114424943,0.741208610497,0.741272964751,0.741337312192,0.741401652819,0.741465986631,0.741530313627,0.741594633807,0.741658947171,0.741723253718,0.741787553447,0.741851846357,0.741916132449,0.741980411721,0.742044684173,0.742108949804,0.742173208614,0.742237460602,0.742301705767,0.74236594411,0.742430175629,0.742494400323,0.742558618193,0.742622829237,0.742687033455,0.742751230847,0.742815421411,0.742879605148,0.742943782056,0.743007952135,0.743072115385,0.743136271804,0.743200421393,0.74326456415,0.743328700076,0.743392829169,0.743456951429,0.743521066855,0.743585175447,0.743649277203,0.743713372125,0.74377746021,0.743841541459,0.743905615871,0.743969683445,0.74403374418,0.744097798076,0.744161845133,0.74422588535,0.744289918725,0.74435394526,0.744417964952,0.744481977802,0.744545983809,0.744609982972,0.744673975291,0.744737960765,0.744801939394,0.744865911176,0.744929876112,0.744993834201,0.745057785441,0.745121729834,0.745185667377,0.745249598071,0.745313521914,0.745377438907,0.745441349049,0.745505252338,0.745569148775,0.745633038359,0.745696921089,0.745760796965,0.745824665986,0.745888528152,0.745952383461,0.746016231914,0.74608007351,0.746143908248,0.746207736127,0.746271557148,0.746335371309,0.74639917861,0.74646297905,0.746526772628,0.746590559345,0.746654339199,0.746718112191,0.746781878318,0.746845637581,0.74690938998,0.746973135513,0.74703687418,0.74710060598,0.747164330913,0.747228048979,0.747291760176,0.747355464504,0.747419161963,0.747482852551,0.747546536269,0.747610213115,0.74767388309,0.747737546192,0.747801202421,0.747864851777,0.747928494258,0.747992129864,0.748055758595,0.74811938045,0.748182995429,0.74824660353,0.748310204754,0.748373799099,0.748437386566,0.748500967153,0.74856454086,0.748628107686,0.748691667631,0.748755220695,0.748818766875,0.748882306173,0.748945838588,0.749009364118,0.749072882763,0.749136394523,0.749199899398,0.749263397385,0.749326888486,0.749390372699,0.749453850024,0.74951732046,0.749580784006,0.749644240663,0.749707690429,0.749771133304,0.749834569287,0.749897998378,0.749961420576,0.75002483588,0.750088244291,0.750151645806,0.750215040427,0.750278428151,0.75034180898,0.750405182911,0.750468549945,0.75053191008,0.750595263317,0.750658609655,0.750721949092,0.750785281629,0.750848607265,0.750911926,0.750975237832,0.751038542762,0.751101840788,0.75116513191,0.751228416127,0.75129169344,0.751354963846,0.751418227347,0.75148148394,0.751544733626,0.751607976404,0.751671212274,0.751734441234,0.751797663284,0.751860878424,0.751924086654,0.751987287971,0.752050482377,0.75211366987,0.752176850449,0.752240024115,0.752303190866,0.752366350702,0.752429503623,0.752492649627,0.752555788715,0.752618920886,0.752682046138,0.752745164472,0.752808275887,0.752871380382,0.752934477957,0.752997568612,0.753060652344,0.753123729155,0.753186799044,0.753249862009,0.75331291805,0.753375967167,0.75343900936,0.753502044627,0.753565072968,0.753628094382,0.753691108869,0.753754116428,0.753817117059,0.753880110761,0.753943097533,0.754006077376,0.754069050288,0.754132016268,0.754194975317,0.754257927433,0.754320872617,0.754383810866,0.754446742182,0.754509666563,0.754572584008,0.754635494518,0.754698398092,0.754761294728,0.754824184426,0.754887067187,0.754949943009,0.755012811891,0.755075673834,0.755138528836,0.755201376897,0.755264218016,0.755327052193,0.755389879427,0.755452699718,0.755515513065,0.755578319467,0.755641118924,0.755703911436,0.755766697001,0.75582947562,0.755892247291,0.755955012014,0.756017769788,0.756080520614,0.756143264489,0.756206001414,0.756268731389,0.756331454412,0.756394170483,0.756456879601,0.756519581766,0.756582276977,0.756644965234,0.756707646536,0.756770320883,0.756832988273,0.756895648707,0.756958302184,0.757020948703,0.757083588263,0.757146220865,0.757208846506,0.757271465188,0.75733407691,0.757396681669,0.757459279468,0.757521870303,0.757584454176,0.757647031085,0.75770960103,0.757772164011,0.757834720026,0.757897269075,0.757959811158,0.758022346273,0.758084874422,0.758147395602,0.758209909813,0.758272417055,0.758334917327,0.758397410629,0.75845989696,0.758522376319,0.758584848705,0.75864731412,0.75870977256,0.758772224027,0.75883466852,0.758897106037,0.758959536579,0.759021960145,0.759084376733,0.759146786345,0.759209188978,0.759271584633,0.759333973309,0.759396355006,0.759458729722,0.759521097457,0.759583458211,0.759645811984,0.759708158773,0.75977049858,0.759832831403,0.759895157241,0.759957476095,0.760019787964,0.760082092846,0.760144390742,0.760206681651,0.760268965573,0.760331242506,0.76039351245,0.760455775405,0.76051803137,0.760580280344,0.760642522328,0.760704757319,0.760766985319,0.760829206325,0.760891420339,0.760953627358,0.761015827383,0.761078020412,0.761140206446,0.761202385484,0.761264557525,0.761326722569,0.761388880615,0.761451031662,0.76151317571,0.761575312758,0.761637442806,0.761699565854,0.761761681899,0.761823790943,0.761885892985,0.761947988023,0.762010076058,0.762072157089,0.762134231114,0.762196298135,0.762258358149,0.762320411157,0.762382457158,0.762444496151,0.762506528136,0.762568553112,0.762630571078,0.762692582035,0.762754585981,0.762816582917,0.76287857284,0.762940555752,0.76300253165,0.763064500535,0.763126462407,0.763188417263,0.763250365105,0.763312305931,0.763374239741,0.763436166534,0.76349808631,0.763559999068,0.763621904807,0.763683803528,0.763745695228,0.763807579909,0.763869457569,0.763931328207,0.763993191824,0.764055048418,0.764116897989,0.764178740536,0.764240576059,0.764302404558,0.764364226031,0.764426040479,0.7644878479,0.764549648293,0.76461144166,0.764673227998,0.764735007308,0.764796779588,0.764858544838,0.764920303058,0.764982054247,0.765043798405,0.76510553553,0.765167265622,0.765228988682,0.765290704707,0.765352413699,0.765414115655,0.765475810575,0.76553749846,0.765599179308,0.765660853119,0.765722519892,0.765784179626,0.765845832322,0.765907477978,0.765969116594,0.76603074817,0.766092372704,0.766153990196,0.766215600647,0.766277204054,0.766338800418,0.766400389738,0.766461972013,0.766523547243,0.766585115427,0.766646676565,0.766708230657,0.7667697777,0.766831317696,0.766892850643,0.766954376542,0.76701589539,0.767077407188,0.767138911936,0.767200409632,0.767261900276,0.767323383868,0.767384860406,0.767446329891,0.767507792322,0.767569247698,0.767630696018,0.767692137283,0.767753571491,0.767814998642,0.767876418736,0.767937831772,0.767999237748,0.768060636666,0.768122028523,0.768183413321,0.768244791057,0.768306161731,0.768367525344,0.768428881894,0.768490231381,0.768551573804,0.768612909162,0.768674237456,0.768735558684,0.768796872846,0.768858179941,0.76891947997,0.76898077293,0.769042058822,0.769103337646,0.769164609399,0.769225874083,0.769287131697,0.769348382239,0.76940962571,0.769470862108,0.769532091433,0.769593313685,0.769654528864,0.769715736967,0.769776937996,0.769838131949,0.769899318826,0.769960498626,0.770021671348,0.770082836993,0.77014399556,0.770205147047,0.770266291455,0.770327428783,0.77038855903,0.770449682196,0.77051079828,0.770571907281,0.7706330092,0.770694104035,0.770755191786,0.770816272453,0.770877346034,0.77093841253,0.770999471939,0.771060524262,0.771121569497,0.771182607644,0.771243638702,0.771304662672,0.771365679552,0.771426689341,0.77148769204,0.771548687647,0.771609676163,0.771670657586,0.771731631916,0.771792599152,0.771853559294,0.771914512342,0.771975458294,0.77203639715,0.77209732891,0.772158253573,0.772219171139,0.772280081606,0.772340984975,0.772401881245,0.772462770415,0.772523652484,0.772584527453,0.77264539532,0.772706256086,0.772767109748,0.772827956308,0.772888795764,0.772949628116,0.773010453363,0.773071271504,0.77313208254,0.773192886469,0.773253683291,0.773314473006,0.773375255613,0.77343603111,0.773496799499,0.773557560778,0.773618314946,0.773679062003,0.773739801949,0.773800534783,0.773861260504,0.773921979112,0.773982690607,0.774043394987,0.774104092252,0.774164782402,0.774225465436,0.774286141353,0.774346810154,0.774407471836,0.774468126401,0.774528773846,0.774589414173,0.774650047379,0.774710673466,0.774771292431,0.774831904274,0.774892508996,0.774953106595,0.775013697071,0.775074280423,0.77513485665,0.775195425753,0.77525598773,0.775316542582,0.775377090306,0.775437630904,0.775498164374,0.775558690716,0.775619209929,0.775679722013,0.775740226967,0.77580072479,0.775861215483,0.775921699043,0.775982175472,0.776042644768,0.776103106931,0.77616356196,0.776224009855,0.776284450615,0.776344884239,0.776405310728,0.77646573008,0.776526142295,0.776586547372,0.776646945311,0.776707336111,0.776767719772,0.776828096293,0.776888465673,0.776948827913,0.777009183011,0.777069530967,0.77712987178,0.77719020545,0.777250531976,0.777310851358,0.777371163595,0.777431468687,0.777491766632,0.777552057431,0.777612341083,0.777672617588,0.777732886944,0.777793149151,0.777853404209,0.777913652118,0.777973892876,0.778034126482,0.778094352938,0.778154572241,0.778214784392,0.778274989389,0.778335187233,0.778395377922,0.778455561457,0.778515737836,0.778575907059,0.778636069126,0.778696224036,0.778756371788,0.778816512381,0.778876645817,0.778936772093,0.778996891209,0.779057003164,0.779117107959,0.779177205593,0.779237296064,0.779297379373,0.779357455518,0.7794175245,0.779477586318,0.779537640971,0.779597688458,0.77965772878,0.779717761935,0.779777787923,0.779837806744,0.779897818396,0.77995782288,0.780017820195,0.78007781034,0.780137793314,0.780197769118,0.78025773775,0.780317699211,0.780377653499,0.780437600613,0.780497540555,0.780557473322,0.780617398914,0.780677317331,0.780737228572,0.780797132637,0.780857029525,0.780916919235,0.780976801768,0.781036677122,0.781096545296,0.781156406291,0.781216260106,0.78127610674,0.781335946193,0.781395778464,0.781455603552,0.781515421458,0.78157523218,0.781635035718,0.781694832071,0.781754621239,0.781814403222,0.781874178018,0.781933945627,0.781993706049,0.782053459283,0.782113205328,0.782172944185,0.782232675852,0.782292400329,0.782352117615,0.78241182771,0.782471530613,0.782531226324,0.782590914842,0.782650596167,0.782710270297,0.782769937233,0.782829596975,0.78288924952,0.782948894869,0.783008533022,0.783068163977,0.783127787735,0.783187404294,0.783247013655,0.783306615816,0.783366210777,0.783425798537,0.783485379096,0.783544952454,0.78360451861,0.783664077562,0.783723629312,0.783783173858,0.783842711199,0.783902241336,0.783961764266,0.784021279991,0.78408078851,0.784140289821,0.784199783925,0.78425927082,0.784318750507,0.784378222984,0.784437688252,0.784497146309,0.784556597156,0.78461604079,0.784675477213,0.784734906423,0.78479432842,0.784853743204,0.784913150773,0.784972551128,0.785031944267,0.78509133019,0.785150708897,0.785210080387,0.78526944466,0.785328801714,0.78538815155,0.785447494167,0.785506829564,0.785566157741,0.785625478697,0.785684792432,0.785744098945,0.785803398236,0.785862690303,0.785921975148,0.785981252768,0.786040523163,0.786099786334,0.786159042279,0.786218290997,0.786277532489,0.786336766754,0.786395993791,0.786455213599,0.786514426179,0.786573631529,0.786632829648,0.786692020538,0.786751204196,0.786810380623,0.786869549817,0.786928711779,0.786987866507,0.787047014002,0.787106154262,0.787165287288,0.787224413078,0.787283531631,0.787342642949,0.787401747029,0.787460843872,0.787519933476,0.787579015842,0.787638090968,0.787697158855,0.787756219501,0.787815272907,0.787874319071,0.787933357993,0.787992389673,0.788051414109,0.788110431302,0.788169441251,0.788228443955,0.788287439414,0.788346427627,0.788405408593,0.788464382313,0.788523348786,0.78858230801,0.788641259986,0.788700204714,0.788759142191,0.788818072418,0.788876995395,0.788935911121,0.788994819595,0.789053720816,0.789112614785,0.7891715015,0.789230380962,0.789289253169,0.789348118121,0.789406975818,0.789465826258,0.789524669442,0.789583505369,0.789642334038,0.789701155449,0.789759969601,0.789818776494,0.789877576127,0.789936368499,0.789995153611,0.790053931461,0.790112702049,0.790171465375,0.790230221437,0.790288970236,0.790347711771,0.790406446041,0.790465173046,0.790523892785,0.790582605257,0.790641310463,0.790700008402,0.790758699072,0.790817382474,0.790876058607,0.790934727471,0.790993389064,0.791052043386,0.791110690438,0.791169330218,0.791227962725,0.79128658796,0.791345205921,0.791403816609,0.791462420022,0.79152101616,0.791579605023,0.791638186609,0.791696760919,0.791755327952,0.791813887707,0.791872440184,0.791930985383,0.791989523302,0.792048053941,0.7921065773,0.792165093378,0.792223602175,0.79228210369,0.792340597922,0.792399084871,0.792457564537,0.792516036918,0.792574502015,0.792632959827,0.792691410353,0.792749853593,0.792808289546,0.792866718212,0.79292513959,0.792983553679,0.793041960479,0.79310035999,0.793158752211,0.793217137142,0.793275514781,0.793333885129,0.793392248185,0.793450603948,0.793508952417,0.793567293593,0.793625627475,0.793683954062,0.793742273353,0.793800585349,0.793858890048,0.79391718745,0.793975477554,0.794033760361,0.794092035869,0.794150304078,0.794208564987,0.794266818596,0.794325064904,0.794383303911,0.794441535616,0.794499760019,0.794557977119,0.794616186915,0.794674389408,0.794732584596,0.794790772479,0.794848953057,0.794907126328,0.794965292293,0.795023450951,0.795081602301,0.795139746343,0.795197883076,0.7952560125,0.795314134613,0.795372249417,0.79543035691,0.795488457091,0.79554654996,0.795604635517,0.795662713761,0.795720784691,0.795778848307,0.795836904609,0.795894953595,0.795952995266,0.79601102962,0.796069056658,0.796127076378,0.796185088781,0.796243093865,0.79630109163,0.796359082076,0.796417065202,0.796475041008,0.796533009492,0.796590970655,0.796648924495,0.796706871013,0.796764810208,0.79682274208,0.796880666627,0.796938583849,0.796996493746,0.797054396317,0.797112291562,0.79717017948,0.79722806007,0.797285933333,0.797343799267,0.797401657872,0.797459509147,0.797517353093,0.797575189708,0.797633018991,0.797690840943,0.797748655563,0.79780646285,0.797864262804,0.797922055424,0.79797984071,0.798037618661,0.798095389276,0.798153152556,0.798210908499,0.798268657105,0.798326398373,0.798384132304,0.798441858896,0.798499578149,0.798557290062,0.798614994635,0.798672691867,0.798730381758,0.798788064308,0.798845739515,0.798903407379,0.7989610679,0.799018721077,0.799076366909,0.799134005397,0.799191636539,0.799249260335,0.799306876785,0.799364485888,0.799422087643,0.79947968205,0.799537269108,0.799594848817,0.799652421176,0.799709986186,0.799767543844,0.799825094151,0.799882637106,0.799940172709,0.799997700959,0.800055221856,0.800112735399,0.800170241587,0.80022774042,0.800285231898,0.80034271602,0.800400192785,0.800457662193,0.800515124243,0.800572578935,0.800630026269,0.800687466243,0.800744898857,0.800802324112,0.800859742005,0.800917152537,0.800974555708,0.801031951515,0.80108933996,0.801146721042,0.80120409476,0.801261461113,0.801318820101,0.801376171723,0.80143351598,0.801490852869,0.801548182392,0.801605504547,0.801662819334,0.801720126752,0.801777426801,0.80183471948,0.801892004789,0.801949282727,0.802006553293,0.802063816488,0.802121072311,0.80217832076,0.802235561836,0.802292795538,0.802350021866,0.802407240818,0.802464452395,0.802521656596,0.80257885342,0.802636042867,0.802693224937,0.802750399628,0.802807566941,0.802864726874,0.802921879428,0.802979024601,0.803036162393,0.803093292804,0.803150415834,0.803207531481,0.803264639745,0.803321740625,0.803378834122,0.803435920234,0.803492998961,0.803550070303,0.803607134258,0.803664190827,0.803721240009,0.803778281803,0.803835316209,0.803892343226,0.803949362854,0.804006375093,0.804063379941,0.804120377398,0.804177367464,0.804234350139,0.80429132542,0.804348293309,0.804405253805,0.804462206907,0.804519152614,0.804576090926,0.804633021843,0.804689945364,0.804746861488,0.804803770215,0.804860671545,0.804917565476,0.804974452009,0.805031331143,0.805088202877,0.805145067211,0.805201924144,0.805258773676,0.805315615806,0.805372450534,0.805429277859,0.80548609778,0.805542910298,0.805599715412,0.80565651312,0.805713303423,0.805770086321,0.805826861811,0.805883629895,0.805940390571,0.805997143839,0.806053889699,0.80611062815,0.806167359191,0.806224082821,0.806280799042,0.806337507851,0.806394209248,0.806450903233,0.806507589806,0.806564268965,0.80662094071,0.806677605041,0.806734261958,0.806790911459,0.806847553544,0.806904188213,0.806960815464,0.807017435299,0.807074047716,0.807130652714,0.807187250293,0.807243840452,0.807300423192,0.807356998511,0.807413566409,0.807470126886,0.80752667994,0.807583225572,0.80763976378,0.807696294565,0.807752817926,0.807809333862,0.807865842373,0.807922343458,0.807978837117,0.80803532335,0.808091802154,0.808148273531,0.80820473748,0.808261194,0.808317643091,0.808374084751,0.808430518982,0.808486945781,0.808543365149,0.808599777085,0.808656181588,0.808712578659,0.808768968296,0.808825350499,0.808881725267,0.8089380926,0.808994452498,0.80905080496,0.809107149985,0.809163487572,0.809219817723,0.809276140435,0.809332455708,0.809388763542,0.809445063937,0.809501356891,0.809557642404,0.809613920476,0.809670191106,0.809726454294,0.80978271004,0.809838958341,0.809895199199,0.809951432613,0.810007658582,0.810063877105,0.810120088182,0.810176291813,0.810232487997,0.810288676733,0.810344858022,0.810401031862,0.810457198253,0.810513357194,0.810569508685,0.810625652726,0.810681789315,0.810737918453,0.810794040139,0.810850154372,0.810906261152,0.810962360479,0.811018452351,0.811074536768,0.811130613731,0.811186683237,0.811242745287,0.811298799881,0.811354847017,0.811410886695,0.811466918916,0.811522943677,0.811578960979,0.811634970821,0.811690973202,0.811746968123,0.811802955583,0.81185893558,0.811914908115,0.811970873187,0.812026830796,0.81208278094,0.81213872362,0.812194658836,0.812250586585,0.812306506869,0.812362419686,0.812418325036,0.812474222918,0.812530113333,0.812585996278,0.812641871755,0.812697739762,0.812753600299,0.812809453365,0.81286529896,0.812921137083,0.812976967734,0.813032790913,0.813088606618,0.813144414849,0.813200215606,0.813256008889,0.813311794696,0.813367573027,0.813423343883,0.813479107261,0.813534863162,0.813590611585,0.81364635253,0.813702085995,0.813757811982,0.813813530489,0.813869241515,0.81392494506,0.813980641124,0.814036329706,0.814092010805,0.814147684422,0.814203350555,0.814259009204,0.814314660369,0.814370304048,0.814425940242,0.81448156895,0.814537190172,0.814592803906,0.814648410153,0.814704008912,0.814759600182,0.814815183964,0.814870760255,0.814926329057,0.814981890367,0.815037444187,0.815092990515,0.815148529351,0.815204060694,0.815259584544,0.8153151009,0.815370609762,0.81542611113,0.815481605002,0.815537091378,0.815592570259,0.815648041642,0.815703505528,0.815758961917,0.815814410807,0.815869852198,0.81592528609,0.815980712482,0.816036131374,0.816091542765,0.816146946655,0.816202343043,0.816257731928,0.816313113311,0.81636848719,0.816423853566,0.816479212437,0.816534563803,0.816589907664,0.816645244018,0.816700572867,0.816755894208,0.816811208042,0.816866514368,0.816921813186,0.816977104494,0.817032388294,0.817087664583,0.817142933361,0.817198194629,0.817253448385,0.817308694629,0.817363933361,0.817419164579,0.817474388284,0.817529604475,0.817584813152,0.817640014313,0.817695207959,0.817750394088,0.817805572701,0.817860743797,0.817915907376,0.817971063436,0.818026211978,0.818081353,0.818136486503,0.818191612486,0.818246730948,0.818301841889,0.818356945309,0.818412041206,0.81846712958,0.818522210432,0.818577283759,0.818632349563,0.818687407842,0.818742458595,0.818797501823,0.818852537525,0.8189075657,0.818962586347,0.819017599467,0.819072605059,0.819127603122,0.819182593656,0.81923757666,0.819292552134,0.819347520077,0.819402480489,0.819457433369,0.819512378716,0.819567316531,0.819622246813,0.819677169561,0.819732084774,0.819786992453,0.819841892596,0.819896785204,0.819951670275,0.82000654781,0.820061417807,0.820116280266,0.820171135187,0.820225982569,0.820280822412,0.820335654715,0.820390479478,0.8204452967,0.82050010638,0.820554908519,0.820609703115,0.820664490168,0.820719269678,0.820774041644,0.820828806066,0.820883562943,0.820938312274,0.82099305406,0.821047788299,0.821102514991,0.821157234136,0.821211945733,0.821266649781,0.821321346281,0.821376035231,0.821430716632,0.821485390482,0.821540056781,0.821594715528,0.821649366724,0.821704010367,0.821758646457,0.821813274994,0.821867895977,0.821922509406,0.821977115279,0.822031713597,0.82208630436,0.822140887565,0.822195463214,0.822250031306,0.822304591839,0.822359144814,0.82241369023,0.822468228087,0.822522758383,0.822577281119,0.822631796295,0.822686303908,0.82274080396,0.822795296449,0.822849781376,0.822904258739,0.822958728538,0.823013190772,0.823067645442,0.823122092546,0.823176532084,0.823230964056,0.82328538846,0.823339805298,0.823394214567,0.823448616268,0.8235030104,0.823557396962,0.823611775954,0.823666147376,0.823720511227,0.823774867507,0.823829216215,0.82388355735,0.823937890912,0.8239922169,0.824046535315,0.824100846156,0.824155149421,0.824209445111,0.824263733225,0.824318013762,0.824372286723,0.824426552106,0.824480809911,0.824535060137,0.824589302785,0.824643537853,0.824697765342,0.824751985249,0.824806197576,0.824860402322,0.824914599485,0.824968789066,0.825022971065,0.825077145479,0.82513131231,0.825185471556,0.825239623218,0.825293767294,0.825347903784,0.825402032688,0.825456154004,0.825510267734,0.825564373875,0.825618472428,0.825672563392,0.825726646767,0.825780722552,0.825834790746,0.82588885135,0.825942904362,0.825996949782,0.82605098761,0.826105017845,0.826159040486,0.826213055534,0.826267062987,0.826321062846,0.826375055109,0.826429039776,0.826483016847,0.826536986321,0.826590948197,0.826644902476,0.826698849157,0.826752788238,0.826806719721,0.826860643603,0.826914559885,0.826968468567,0.827022369647,0.827076263125,0.827130149001,0.827184027274,0.827237897943,0.827291761009,0.827345616471,0.827399464328,0.82745330458,0.827507137226,0.827560962265,0.827614779698,0.827668589524,0.827722391741,0.827776186351,0.827829973352,0.827883752743,0.827937524525,0.827991288697,0.828045045258,0.828098794207,0.828152535545,0.828206269271,0.828259995384,0.828313713884,0.828367424771,0.828421128043,0.8284748237,0.828528511742,0.828582192169,0.828635864979,0.828689530173,0.82874318775,0.828796837709,0.82885048005,0.828904114772,0.828957741875,0.829011361359,0.829064973222,0.829118577465,0.829172174087,0.829225763087,0.829279344465,0.829332918221,0.829386484353,0.829440042862,0.829493593747,0.829547137008,0.829600672643,0.829654200653,0.829707721037,0.829761233795,0.829814738925,0.829868236428,0.829921726303,0.829975208549,0.830028683167,0.830082150155,0.830135609513,0.830189061241,0.830242505338,0.830295941803,0.830349370637,0.830402791838,0.830456205406,0.830509611341,0.830563009642,0.830616400309,0.830669783341,0.830723158737,0.830776526498,0.830829886622,0.83088323911,0.83093658396,0.830989921172,0.831043250746,0.831096572682,0.831149886978,0.831203193634,0.83125649265,0.831309784026,0.83136306776,0.831416343852,0.831469612303,0.83152287311,0.831576126274,0.831629371795,0.831682609672,0.831735839904,0.83178906249,0.831842277432,0.831895484727,0.831948684375,0.832001876376,0.83205506073,0.832108237436,0.832161406493,0.832214567901,0.832267721659,0.832320867768,0.832374006226,0.832427137033,0.832480260188,0.832533375692,0.832586483543,0.832639583741,0.832692676286,0.832745761176,0.832798838413,0.832851907994,0.83290496992,0.83295802419,0.833011070804,0.833064109761,0.83311714106,0.833170164702,0.833223180685,0.83327618901,0.833329189675,0.833382182681,0.833435168026,0.83348814571,0.833541115733,0.833594078095,0.833647032794,0.833699979831,0.833752919204,0.833805850914,0.833858774959,0.83391169134,0.833964600056,0.834017501106,0.83407039449,0.834123280207,0.834176158258,0.83422902864,0.834281891355,0.834334746401,0.834387593778,0.834440433486,0.834493265524,0.834546089891,0.834598906587,0.834651715612,0.834704516965,0.834757310645,0.834810096652,0.834862874986,0.834915645647,0.834968408632,0.835021163943,0.835073911579,0.835126651539,0.835179383822,0.835232108429,0.835284825358,0.83533753461,0.835390236183,0.835442930078,0.835495616294,0.835548294829,0.835600965685,0.83565362886,0.835706284354,0.835758932166,0.835811572296,0.835864204743,0.835916829508,0.835969446589,0.836022055985,0.836074657698,0.836127251725,0.836179838066,0.836232416722,0.836284987691,0.836337550974,0.836390106568,0.836442654475,0.836495194694,0.836547727224,0.836600252064,0.836652769214,0.836705278674,0.836757780444,0.836810274522,0.836862760908,0.836915239602,0.836967710603,0.837020173911,0.837072629525,0.837125077445,0.837177517671,0.837229950201,0.837282375035,0.837334792174,0.837387201616,0.83743960336,0.837491997408,0.837544383757,0.837596762407,0.837649133359,0.837701496611,0.837753852163,0.837806200015,0.837858540166,0.837910872615,0.837963197363,0.838015514408,0.83806782375,0.838120125389,0.838172419324,0.838224705555,0.838276984081,0.838329254902,0.838381518017,0.838433773425,0.838486021127,0.838538261122,0.838590493409,0.838642717989,0.838694934859,0.83874714402,0.838799345472,0.838851539214,0.838903725245,0.838955903565,0.839008074174,0.83906023707,0.839112392254,0.839164539726,0.839216679484,0.839268811527,0.839320935857,0.839373052472,0.839425161371,0.839477262555,0.839529356022,0.839581441772,0.839633519805,0.839685590121,0.839737652718,0.839789707597,0.839841754756,0.839893794196,0.839945825916,0.839997849915,0.840049866193,0.840101874749,0.840153875583,0.840205868695,0.840257854084,0.84030983175,0.840361801691,0.840413763908,0.8404657184,0.840517665167,0.840569604208,0.840621535522,0.84067345911,0.84072537497,0.840777283103,0.840829183508,0.840881076183,0.84093296113,0.840984838347,0.841036707833,0.841088569589,0.841140423614,0.841192269908,0.841244108469,0.841295939298,0.841347762394,0.841399577756,0.841451385384,0.841503185278,0.841554977437,0.84160676186,0.841658538548,0.841710307499,0.841762068714,0.841813822191,0.841865567931,0.841917305932,0.841969036194,0.842020758718,0.842072473501,0.842124180545,0.842175879848,0.842227571409,0.842279255229,0.842330931308,0.842382599643,0.842434260236,0.842485913085,0.84253755819,0.842589195551,0.842640825167,0.842692447037,0.842744061162,0.84279566754,0.842847266172,0.842898857056,0.842950440192,0.84300201558,0.84305358322,0.84310514311,0.843156695251,0.843208239642,0.843259776282,0.843311305171,0.843362826308,0.843414339694,0.843465845327,0.843517343207,0.843568833333,0.843620315706,0.843671790324,0.843723257188,0.843774716296,0.843826167648,0.843877611244,0.843929047084,0.843980475166,0.84403189549,0.844083308056,0.844134712864,0.844186109912,0.844237499201,0.84428888073,0.844340254499,0.844391620506,0.844442978752,0.844494329236,0.844545671957,0.844597006916,0.844648334111,0.844699653543,0.84475096521,0.844802269113,0.84485356525,0.844904853621,0.844956134226,0.845007407065,0.845058672137,0.845109929441,0.845161178976,0.845212420744,0.845263654742,0.845314880971,0.84536609943,0.845417310118,0.845468513036,0.845519708182,0.845570895556,0.845622075158,0.845673246987,0.845724411043,0.845775567326,0.845826715834,0.845877856567,0.845928989525,0.845980114708,0.846031232115,0.846082341745,0.846133443598,0.846184537674,0.846235623971,0.846286702491,0.846337773231,0.846388836192,0.846439891373,0.846490938774,0.846541978394,0.846593010233,0.84664403429,0.846695050565,0.846746059058,0.846797059767,0.846848052693,0.846899037834,0.846950015192,0.847000984764,0.84705194655,0.847102900551,0.847153846766,0.847204785193,0.847255715833,0.847306638686,0.84735755375,0.847408461025,0.847459360512,0.847510252208,0.847561136115,0.847612012231,0.847662880555,0.847713741089,0.84776459383,0.847815438779,0.847866275935,0.847917105297,0.847967926866,0.84801874064,0.848069546619,0.848120344803,0.848171135192,0.848221917784,0.848272692579,0.848323459578,0.848374218779,0.848424970181,0.848475713785,0.848526449591,0.848577177596,0.848627897802,0.848678610207,0.848729314812,0.848780011615,0.848830700616,0.848881381815,0.848932055212,0.848982720805,0.849033378594,0.84908402858,0.84913467076,0.849185305136,0.849235931706,0.84928655047,0.849337161428,0.849387764579,0.849438359922,0.849488947457,0.849539527185,0.849590099103,0.849640663212,0.849691219512,0.849741768001,0.849792308679,0.849842841547,0.849893366603,0.849943883847,0.849994393278,0.850044894897,0.850095388702,0.850145874693,0.850196352869,0.850246823231,0.850297285778,0.850347740509,0.850398187424,0.850448626522,0.850499057802,0.850549481266,0.850599896911,0.850650304737,0.850700704745,0.850751096933,0.850801481302,0.850851857849,0.850902226576,0.850952587482,0.851002940566,0.851053285828,0.851103623267,0.851153952883,0.851204274675,0.851254588643,0.851304894787,0.851355193105,0.851405483598,0.851455766266,0.851506041106,0.85155630812,0.851606567307,0.851656818666,0.851707062196,0.851757297898,0.851807525771,0.851857745814,0.851907958027,0.851958162409,0.85200835896,0.85205854768,0.852108728568,0.852158901624,0.852209066847,0.852259224236,0.852309373792,0.852359515513,0.8524096494,0.852459775451,0.852509893667,0.852560004047,0.85261010659,0.852660201296,0.852710288165,0.852760367196,0.852810438388,0.852860501742,0.852910557256,0.85296060493,0.853010644765,0.853060676758,0.853110700911,0.853160717221,0.85321072569,0.853260726316,0.8533107191,0.853360704039,0.853410681135,0.853460650387,0.853510611793,0.853560565355,0.85361051107,0.85366044894,0.853710378962,0.853760301138,0.853810215466,0.853860121946,0.853910020578,0.85395991136,0.854009794293,0.854059669377,0.85410953661,0.854159395992,0.854209247523,0.854259091202,0.854308927029,0.854358755003,0.854408575125,0.854458387392,0.854508191806,0.854557988365,0.85460777707,0.854657557919,0.854707330912,0.854757096049,0.854806853329,0.854856602752,0.854906344317,0.854956078025,0.855005803873,0.855055521863,0.855105231993,0.855154934263,0.855204628673,0.855254315222,0.855303993909,0.855353664735,0.855403327699,0.8554529828,0.855502630037,0.855552269412,0.855601900922,0.855651524567,0.855701140348,0.855750748263,0.855800348313,0.855849940496,0.855899524812,0.855949101261,0.855998669842,0.856048230555,0.8560977834,0.856147328375,0.856196865481,0.856246394717,0.856295916083,0.856345429577,0.8563949352,0.856444432952,0.856493922831,0.856543404838,0.856592878971,0.856642345231,0.856691803616,0.856741254128,0.856790696764,0.856840131525,0.856889558409,0.856938977418,0.85698838855,0.857037791804,0.857087187181,0.857136574679,0.857185954299,0.85723532604,0.857284689901,0.857334045883,0.857383393984,0.857432734204,0.857482066543,0.857531390999,0.857580707574,0.857630016266,0.857679317075,0.85772861,0.857777895041,0.857827172198,0.85787644147,0.857925702856,0.857974956357,0.858024201971,0.858073439698,0.858122669538,0.858171891491,0.858221105555,0.858270311731,0.858319510017,0.858368700414,0.858417882922,0.858467057538,0.858516224264,0.858565383099,0.858614534042,0.858663677093,0.858712812251,0.858761939516,0.858811058887,0.858860170365,0.858909273948,0.858958369636,0.859007457429,0.859056537325,0.859105609326,0.85915467343,0.859203729637,0.859252777946,0.859301818357,0.85935085087,0.859399875483,0.859448892197,0.859497901012,0.859546901926,0.859595894939,0.859644880051,0.859693857261,0.859742826569,0.859791787975,0.859840741477,0.859889687077,0.859938624772,0.859987554563,0.860036476449,0.860085390429,0.860134296504,0.860183194673,0.860232084935,0.860280967291,0.860329841738,0.860378708278,0.860427566909,0.860476417632,0.860525260445,0.860574095348,0.860622922341,0.860671741424,0.860720552595,0.860769355855,0.860818151202,0.860866938638,0.86091571816,0.860964489769,0.861013253464,0.861062009245,0.861110757112,0.861159497063,0.861208229099,0.861256953218,0.861305669421,0.861354377707,0.861403078076,0.861451770527,0.861500455059,0.861549131673,0.861597800368,0.861646461143,0.861695113998,0.861743758933,0.861792395946,0.861841025038,0.861889646209,0.861938259456,0.861986864782,0.862035462184,0.862084051662,0.862132633216,0.862181206846,0.862229772551,0.86227833033,0.862326880184,0.862375422111,0.862423956111,0.862472482184,0.86252100033,0.862569510547,0.862618012836,0.862666507196,0.862714993626,0.862763472126,0.862811942697,0.862860405336,0.862908860044,0.862957306821,0.863005745665,0.863054176577,0.863102599555,0.863151014601,0.863199421712,0.863247820889,0.863296212131,0.863344595439,0.86339297081,0.863441338245,0.863489697744,0.863538049305,0.86358639293,0.863634728616,0.863683056364,0.863731376173,0.863779688043,0.863827991973,0.863876287963,0.863924576013,0.863972856122,0.864021128289,0.864069392514,0.864117648797,0.864165897137,0.864214137534,0.864262369987,0.864310594496,0.864358811061,0.86440701968,0.864455220354,0.864503413082,0.864551597864,0.864599774699,0.864647943587,0.864696104527,0.864744257519,0.864792402563,0.864840539658,0.864888668803,0.864936789998,0.864984903243,0.865033008537,0.86508110588,0.865129195272,0.865177276711,0.865225350198,0.865273415731,0.865321473312,0.865369522938,0.865417564611,0.865465598328,0.865513624091,0.865561641897,0.865609651748,0.865657653642,0.865705647579,0.865753633559,0.865801611581,0.865849581645,0.86589754375,0.865945497896,0.865993444082,0.866041382309,0.866089312575,0.86613723488,0.866185149223,0.866233055605,0.866280954025,0.866328844481,0.866376726975,0.866424601505,0.866472468072,0.866520326674,0.866568177311,0.866616019982,0.866663854688,0.866711681428,0.866759500201,0.866807311007,0.866855113845,0.866902908716,0.866950695618,0.866998474552,0.867046245516,0.86709400851,0.867141763534,0.867189510588,0.867237249671,0.867284980782,0.867332703921,0.867380419088,0.867428126282,0.867475825503,0.867523516751,0.867571200024,0.867618875323,0.867666542646,0.867714201995,0.867761853367,0.867809496763,0.867857132183,0.867904759625,0.86795237909,0.867999990577,0.868047594085,0.868095189614,0.868142777164,0.868190356734,0.868237928324,0.868285491934,0.868333047562,0.868380595209,0.868428134873,0.868475666556,0.868523190255,0.868570705971,0.868618213704,0.868665713452,0.868713205216,0.868760688995,0.868808164788,0.868855632595,0.868903092416,0.868950544251,0.868997988098,0.869045423957,0.869092851828,0.869140271711,0.869187683605,0.86923508751,0.869282483424,0.869329871349,0.869377251282,0.869424623225,0.869471987176,0.869519343135,0.869566691101,0.869614031075,0.869661363056,0.869708687042,0.869756003035,0.869803311033,0.869850611035,0.869897903043,0.869945187054,0.869992463069,0.870039731088,0.870086991109,0.870134243132,0.870181487157,0.870228723184,0.870275951212,0.870323171241,0.870370383269,0.870417587298,0.870464783325,0.870511971352,0.870559151377,0.8706063234,0.870653487421,0.870700643438,0.870747791453,0.870794931464,0.87084206347,0.870889187472,0.870936303469,0.87098341146,0.871030511446,0.871077603425,0.871124687398,0.871171763363,0.871218831321,0.87126589127,0.871312943212,0.871359987144,0.871407023067,0.87145405098,0.871501070883,0.871548082775,0.871595086656,0.871642082526,0.871689070383,0.871736050229,0.871783022061,0.87182998588,0.871876941686,0.871923889477,0.871970829254,0.872017761016,0.872064684763,0.872111600493,0.872158508208,0.872205407906,0.872252299586,0.872299183249,0.872346058894,0.872392926521,0.872439786129,0.872486637717,0.872533481286,0.872580316835,0.872627144363,0.87267396387,0.872720775356,0.87276757882,0.872814374261,0.87286116168,0.872907941076,0.872954712448,0.873001475796,0.87304823112,0.873094978418,0.873141717692,0.873188448939,0.873235172161,0.873281887356,0.873328594524,0.873375293664,0.873421984777,0.873468667861,0.873515342917,0.873562009943,0.87360866894,0.873655319907,0.873701962843,0.873748597749,0.873795224623,0.873841843465,0.873888454276,0.873935057053,0.873981651798,0.874028238509,0.874074817186,0.874121387829,0.874167950438,0.874214505011,0.874261051548,0.87430759005,0.874354120515,0.874400642943,0.874447157334,0.874493663687,0.874540162002,0.874586652278,0.874633134516,0.874679608713,0.874726074872,0.874772532989,0.874818983066,0.874865425102,0.874911859097,0.874958285049,0.875004702959,0.875051112826,0.87509751465,0.87514390843,0.875190294165,0.875236671857,0.875283041503,0.875329403104,0.875375756659,0.875422102168,0.87546843963,0.875514769045,0.875561090413,0.875607403732,0.875653709003,0.875700006226,0.875746295399,0.875792576522,0.875838849595,0.875885114618,0.87593137159,0.87597762051,0.876023861379,0.876070094195,0.876116318959,0.87616253567,0.876208744327,0.87625494493,0.876301137479,0.876347321973,0.876393498412,0.876439666796,0.876485827123,0.876531979394,0.876578123608,0.876624259764,0.876670387863,0.876716507904,0.876762619886,0.876808723809,0.876854819673,0.876900907477,0.87694698722,0.876993058903,0.877039122525,0.877085178085,0.877131225583,0.877177265019,0.877223296392,0.877269319701,0.877315334947,0.877361342129,0.877407341246,0.877453332299,0.877499315286,0.877545290207,0.877591257062,0.877637215851,0.877683166572,0.877729109226,0.877775043812,0.87782097033,0.877866888779,0.877912799159,0.877958701469,0.878004595709,0.878050481879,0.878096359978,0.878142230005,0.878188091961,0.878233945845,0.878279791657,0.878325629395,0.87837145906,0.878417280651,0.878463094168,0.87850889961,0.878554696977,0.878600486269,0.878646267485,0.878692040625,0.878737805687,0.878783562673,0.878829311581,0.878875052411,0.878920785162,0.878966509835,0.879012226429,0.879057934942,0.879103635376,0.879149327729,0.879195012001,0.879240688192,0.879286356301,0.879332016328,0.879377668272,0.879423312133,0.879468947911,0.879514575604,0.879560195214,0.879605806739,0.879651410178,0.879697005532,0.8797425928,0.879788171982,0.879833743076,0.879879306084,0.879924861004,0.879970407836,0.880015946579,0.880061477233,0.880106999798,0.880152514274,0.880198020659,0.880243518953,0.880289009157,0.880334491269,0.880379965289,0.880425431217,0.880470889052,0.880516338794,0.880561780443,0.880607213998,0.880652639458,0.880698056824,0.880743466094,0.880788867269,0.880834260348,0.88087964533,0.880925022216,0.880970391004,0.881015751694,0.881061104287,0.881106448781,0.881151785176,0.881197113471,0.881242433667,0.881287745763,0.881333049758,0.881378345652,0.881423633444,0.881468913135,0.881514184723,0.881559448209,0.881604703592,0.881649950871,0.881695190046,0.881740421117,0.881785644083,0.881830858944,0.881876065699,0.881921264348,0.881966454891,0.882011637327,0.882056811656,0.882101977877,0.88214713599,0.882192285994,0.88223742789,0.882282561676,0.882327687352,0.882372804919,0.882417914374,0.882463015719,0.882508108952,0.882553194074,0.882598271083,0.88264333998,0.882688400763,0.882733453433,0.882778497989,0.882823534431,0.882868562758,0.88291358297,0.882958595066,0.883003599047,0.883048594911,0.883093582658,0.883138562288,0.883183533801,0.883228497195,0.883273452471,0.883318399628,0.883363338666,0.883408269584,0.883453192382,0.883498107059,0.883543013616,0.883587912051,0.883632802365,0.883677684556,0.883722558625,0.883767424571,0.883812282393,0.883857132091,0.883901973666,0.883946807116,0.88399163244,0.884036449639,0.884081258713,0.88412605966,0.88417085248,0.884215637173,0.884260413739,0.884305182177,0.884349942486,0.884394694667,0.884439438718,0.88448417464,0.884528902432,0.884573622094,0.884618333624,0.884663037024,0.884707732292,0.884752419428,0.884797098431,0.884841769301,0.884886432039,0.884931086642,0.884975733112,0.885020371447,0.885065001647,0.885109623711,0.88515423764,0.885198843433,0.885243441089,0.885288030609,0.885332611991,0.885377185235,0.885421750341,0.885466307308,0.885510856136,0.885555396825,0.885599929374,0.885644453783,0.885688970051,0.885733478178,0.885777978164,0.885822470007,0.885866953709,0.885911429268,0.885955896683,0.886000355955,0.886044807084,0.886089250067,0.886133684907,0.8861781116,0.886222530149,0.886266940551,0.886311342807,0.886355736917,0.886400122879,0.886444500693,0.88648887036,0.886533231878,0.886577585247,0.886621930467,0.886666267537,0.886710596458,0.886754917228,0.886799229847,0.886843534314,0.88688783063,0.886932118794,0.886976398806,0.887020670664,0.88706493437,0.887109189921,0.887153437319,0.887197676562,0.88724190765,0.887286130582,0.887330345359,0.88737455198,0.887418750444,0.887462940752,0.887507122901,0.887551296894,0.887595462728,0.887639620403,0.887683769919,0.887727911276,0.887772044473,0.88781616951,0.887860286387,0.887904395102,0.887948495656,0.887992588048,0.888036672278,0.888080748345,0.888124816249,0.88816887599,0.888212927566,0.888256970979,0.888301006227,0.88834503331,0.888389052227,0.888433062978,0.888477065564,0.888521059982,0.888565046233,0.888609024317,0.888652994233,0.888696955981,0.88874090956,0.88878485497,0.88882879221,0.88887272128,0.88891664218,0.88896055491,0.889004459468,0.889048355855,0.889092244069,0.889136124112,0.889179995981,0.889223859678,0.889267715201,0.88931156255,0.889355401724,0.889399232724,0.889443055549,0.889486870198,0.889530676671,0.889574474968,0.889618265088,0.889662047031,0.889705820796,0.889749586383,0.889793343792,0.889837093022,0.889880834073,0.889924566944,0.889968291635,0.890012008146,0.890055716476,0.890099416625,0.890143108592,0.890186792378,0.890230467981,0.890274135401,0.890317794637,0.890361445691,0.89040508856,0.890448723245,0.890492349745,0.89053596806,0.890579578189,0.890623180132,0.890666773889,0.890710359459,0.890753936841,0.890797506036,0.890841067043,0.890884619862,0.890928164492,0.890971700932,0.891015229183,0.891058749244,0.891102261115,0.891145764795,0.891189260283,0.89123274758,0.891276226685,0.891319697597,0.891363160317,0.891406614843,0.891450061176,0.891493499315,0.891536929259,0.891580351009,0.891623764563,0.891667169922,0.891710567084,0.891753956051,0.89179733682,0.891840709392,0.891884073767,0.891927429944,0.891970777922,0.892014117701,0.892057449282,0.892100772662,0.892144087843,0.892187394823,0.892230693602,0.892273984181,0.892317266557,0.892360540732,0.892403806704,0.892447064474,0.89249031404,0.892533555403,0.892576788562,0.892620013516,0.892663230265,0.89270643881,0.892749639149,0.892792831282,0.892836015208,0.892879190928,0.892922358441,0.892965517746,0.893008668843,0.893051811732,0.893094946412,0.893138072883,0.893181191144,0.893224301196,0.893267403037,0.893310496667,0.893353582086,0.893396659294,0.89343972829,0.893482789074,0.893525841644,0.893568886002,0.893611922146,0.893654950077,0.893697969793,0.893740981294,0.893783984581,0.893826979651,0.893869966506,0.893912945145,0.893955915567,0.893998877772,0.89404183176,0.89408477753,0.894127715081,0.894170644414,0.894213565528,0.894256478422,0.894299383097,0.894342279551,0.894385167785,0.894428047798,0.894470919589,0.894513783159,0.894556638506,0.894599485631,0.894642324533,0.894685155212,0.894727977667,0.894770791897,0.894813597903,0.894856395685,0.89489918524,0.894941966571,0.894984739675,0.895027504552,0.895070261203,0.895113009626,0.895155749822,0.895198481789,0.895241205528,0.895283921039,0.89532662832,0.895369327371,0.895412018192,0.895454700783,0.895497375143,0.895540041272,0.895582699169,0.895625348834,0.895667990267,0.895710623467,0.895753248434,0.895795865167,0.895838473666,0.895881073931,0.895923665961,0.895966249756,0.896008825316,0.896051392639,0.896093951727,0.896136502577,0.896179045191,0.896221579567,0.896264105705,0.896306623604,0.896349133266,0.896391634688,0.89643412787,0.896476612813,0.896519089516,0.896561557978,0.896604018199,0.896646470179,0.896688913917,0.896731349412,0.896773776665,0.896816195676,0.896858606442,0.896901008965,0.896943403244,0.896985789279,0.897028167068,0.897070536613,0.897112897911,0.897155250964,0.89719759577,0.897239932329,0.897282260641,0.897324580705,0.897366892522,0.89740919609,0.897451491409,0.897493778479,0.897536057299,0.89757832787,0.89762059019,0.897662844259,0.897705090077,0.897747327644,0.897789556959,0.897831778021,0.897873990831,0.897916195388,0.897958391691,0.898000579741,0.898042759536,0.898084931077,0.898127094362,0.898169249393,0.898211396167,0.898253534685,0.898295664947,0.898337786952,0.898379900699,0.898422006189,0.898464103421,0.898506192394,0.898548273108,0.898590345563,0.898632409759,0.898674465694,0.898716513369,0.898758552783,0.898800583936,0.898842606827,0.898884621457,0.898926627824,0.898968625928,0.899010615769,0.899052597347,0.89909457066,0.89913653571,0.899178492495,0.899220441014,0.899262381269,0.899304313257,0.899346236979,0.899388152435,0.899430059624,0.899471958545,0.899513849198,0.899555731584,0.899597605701,0.899639471549,0.899681329127,0.899723178436,0.899765019475,0.899806852244,0.899848676742,0.899890492968,0.899932300923,0.899974100606,0.900015892016,0.900057675154,0.900099450019,0.90014121661,0.900182974927,0.90022472497,0.900266466738,0.900308200231,0.900349925449,0.900391642391,0.900433351056,0.900475051445,0.900516743558,0.900558427392,0.900600102949,0.900641770228,0.900683429229,0.90072507995,0.900766722392,0.900808356555,0.900849982438,0.90089160004,0.900933209361,0.900974810401,0.90101640316,0.901057987636,0.901099563831,0.901141131742,0.901182691371,0.901224242716,0.901265785777,0.901307320554,0.901348847046,0.901390365253,0.901431875175,0.901473376811,0.901514870161,0.901556355225,0.901597832001,0.90163930049,0.901680760692,0.901722212606,0.901763656231,0.901805091567,0.901846518614,0.901887937371,0.901929347839,0.901970750016,0.902012143902,0.902053529498,0.902094906802,0.902136275814,0.902177636533,0.902218988961,0.902260333095,0.902301668935,0.902342996482,0.902384315735,0.902425626694,0.902466929357,0.902508223725,0.902549509798,0.902590787574,0.902632057054,0.902673318237,0.902714571123,0.902755815712,0.902797052002,0.902838279995,0.902879499688,0.902920711082,0.902961914177,0.903003108973,0.903044295468,0.903085473662,0.903126643555,0.903167805147,0.903208958438,0.903250103426,0.903291240112,0.903332368495,0.903373488574,0.90341460035,0.903455703822,0.90349679899,0.903537885853,0.903578964411,0.903620034663,0.903661096609,0.903702150249,0.903743195583,0.903784232609,0.903825261328,0.90386628174,0.903907293843,0.903948297638,0.903989293123,0.9040302803,0.904071259167,0.904112229724,0.90415319197,0.904194145906,0.90423509153,0.904276028843,0.904316957844,0.904357878533,0.904398790909,0.904439694972,0.904480590721,0.904521478157,0.904562357279,0.904603228086,0.904644090578,0.904684944755,0.904725790616,0.904766628162,0.90480745739,0.904848278302,0.904889090897,0.904929895174,0.904970691134,0.905011478775,0.905052258097,0.9050930291,0.905133791784,0.905174546148,0.905215292192,0.905256029916,0.905296759318,0.905337480399,0.905378193159,0.905418897596,0.905459593711,0.905500281504,0.905540960973,0.905581632118,0.90562229494,0.905662949437,0.90570359561,0.905744233458,0.90578486298,0.905825484176,0.905866097047,0.90590670159,0.905947297807,0.905987885697,0.906028465259,0.906069036493,0.906109599398,0.906150153975,0.906190700223,0.906231238141,0.906271767729,0.906312288987,0.906352801915,0.906393306511,0.906433802776,0.906474290709,0.90651477031,0.906555241579,0.906595704515,0.906636159117,0.906676605386,0.906717043321,0.906757472922,0.906797894188,0.906838307119,0.906878711714,0.906919107974,0.906959495897,0.906999875484,0.907040246734,0.907080609646,0.907120964221,0.907161310458,0.907201648356,0.907241977915,0.907282299136,0.907322612016,0.907362916557,0.907403212758,0.907443500618,0.907483780137,0.907524051314,0.90756431415,0.907604568643,0.907644814795,0.907685052603,0.907725282068,0.907765503189,0.907805715966,0.907845920399,0.907886116488,0.907926304231,0.907966483629,0.90800665468,0.908046817386,0.908086971745,0.908127117757,0.908167255422,0.908207384739,0.908247505709,0.908287618329,0.908327722601,0.908367818524,0.908407906097,0.908447985321,0.908488056194,0.908528118716,0.908568172888,0.908608218708,0.908648256176,0.908688285293,0.908728306056,0.908768318467,0.908808322525,0.908848318229,0.90888830558,0.908928284576,0.908968255217,0.909008217503,0.909048171434,0.909088117009,0.909128054228,0.909167983091,0.909207903596,0.909247815744,0.909287719535,0.909327614968,0.909367502042,0.909407380758,0.909447251114,0.909487113112,0.909526966749,0.909566812026,0.909606648943,0.909646477498,0.909686297693,0.909726109525,0.909765912996,0.909805708105,0.90984549485,0.909885273233,0.909925043252,0.909964804907,0.910004558198,0.910044303125,0.910084039686,0.910123767883,0.910163487713,0.910203199178,0.910242902276,0.910282597007,0.910322283372,0.910361961368,0.910401630997,0.910441292258,0.91048094515,0.910520589673,0.910560225827,0.910599853612,0.910639473026,0.91067908407,0.910718686743,0.910758281044,0.910797866975,0.910837444533,0.91087701372,0.910916574533,0.910956126974,0.910995671042,0.911035206735,0.911074734055,0.911114253001,0.911153763571,0.911193265767,0.911232759586,0.911272245031,0.911311722098,0.91135119079,0.911390651104,0.911430103041,0.911469546601,0.911508981782,0.911548408585,0.911587827009,0.911627237054,0.91166663872,0.911706032005,0.911745416911,0.911784793436,0.91182416158,0.911863521343,0.911902872724,0.911942215723,0.91198155034,0.912020876574,0.912060194424,0.912099503892,0.912138804975,0.912178097675,0.91221738199,0.91225665792,0.912295925464,0.912335184623,0.912374435396,0.912413677783,0.912452911783,0.912492137396,0.912531354622,0.912570563459,0.912609763909,0.91264895597,0.912688139642,0.912727314925,0.912766481818,0.912805640322,0.912844790435,0.912883932157,0.912923065488,0.912962190428,0.913001306977,0.913040415133,0.913079514896,0.913118606267,0.913157689245,0.913196763829,0.913235830019,0.913274887815,0.913313937216,0.913352978222,0.913392010833,0.913431035049,0.913470050868,0.91350905829,0.913548057316,0.913587047945,0.913626030177,0.91366500401,0.913703969445,0.913742926482,0.91378187512,0.913820815358,0.913859747197,0.913898670636,0.913937585674,0.913976492312,0.914015390549,0.914054280384,0.914093161817,0.914132034849,0.914170899478,0.914209755704,0.914248603526,0.914287442945,0.914326273961,0.914365096571,0.914403910778,0.914442716579,0.914481513975,0.914520302965,0.914559083549,0.914597855727,0.914636619498,0.914675374862,0.914714121818,0.914752860366,0.914791590506,0.914830312238,0.914869025561,0.914907730474,0.914946426978,0.914985115072,0.915023794755,0.915062466028,0.915101128889,0.91513978334,0.915178429378,0.915217067005,0.915255696218,0.915294317019,0.915332929407,0.915371533382,0.915410128942,0.915448716088,0.91548729482,0.915525865136,0.915564427038,0.915602980523,0.915641525593,0.915680062246,0.915718590483,0.915757110302,0.915795621704,0.915834124688,0.915872619254,0.915911105402,0.91594958313,0.91598805244,0.916026513329,0.916064965799,0.916103409849,0.916141845478,0.916180272686,0.916218691473,0.916257101838,0.916295503781,0.916333897301,0.916372282399,0.916410659074,0.916449027325,0.916487387153,0.916525738556,0.916564081535,0.916602416089,0.916640742218,0.916679059921,0.916717369198,0.916755670049,0.916793962474,0.916832246471,0.916870522041,0.916908789184,0.916947047898,0.916985298184,0.917023540041,0.91706177347,0.917099998468,0.917138215037,0.917176423176,0.917214622885,0.917252814162,0.917290997008,0.917329171423,0.917367337406,0.917405494957,0.917443644075,0.91748178476,0.917519917012,0.91755804083,0.917596156214,0.917634263164,0.917672361679,0.917710451759,0.917748533404,0.917786606613,0.917824671385,0.917862727722,0.917900775621,0.917938815084,0.917976846109,0.918014868696,0.918052882845,0.918090888555,0.918128885827,0.918166874659,0.918204855051,0.918242827004,0.918280790517,0.918318745588,0.918356692219,0.918394630408,0.918432560156,0.918470481462,0.918508394325,0.918546298746,0.918584194723,0.918622082257,0.918659961348,0.918697831994,0.918735694196,0.918773547952,0.918811393264,0.91884923013,0.918887058551,0.918924878525,0.918962690052,0.919000493133,0.919038287766,0.919076073952,0.91911385169,0.91915162098,0.919189381821,0.919227134212,0.919264878155,0.919302613648,0.919340340691,0.919378059283,0.919415769425,0.919453471116,0.919491164355,0.919528849142,0.919566525478,0.919604193361,0.919641852791,0.919679503768,0.919717146291,0.919754780361,0.919792405976,0.919830023137,0.919867631843,0.919905232094,0.919942823889,0.919980407229,0.920017982112,0.920055548538,0.920093106508,0.92013065602,0.920168197074,0.920205729671,0.920243253809,0.920280769489,0.920318276709,0.92035577547,0.920393265772,0.920430747613,0.920468220994,0.920505685914,0.920543142373,0.920580590371,0.920618029907,0.920655460981,0.920692883592,0.920730297741,0.920767703426,0.920805100648,0.920842489406,0.9208798697,0.920917241529,0.920954604894,0.920991959793,0.921029306227,0.921066644194,0.921103973696,0.921141294731,0.921178607299,0.921215911399,0.921253207033,0.921290494198,0.921327772894,0.921365043123,0.921402304882,0.921439558172,0.921476802992,0.921514039342,0.921551267222,0.921588486631,0.921625697569,0.921662900036,0.921700094031,0.921737279554,0.921774456604,0.921811625182,0.921848785286,0.921885936918,0.921923080075,0.921960214758,0.921997340967,0.922034458701,0.92207156796,0.922108668743,0.922145761051,0.922182844882,0.922219920237,0.922256987115,0.922294045516,0.922331095439,0.922368136885,0.922405169852,0.922442194341,0.922479210351,0.922516217881,0.922553216932,0.922590207503,0.922627189594,0.922664163205,0.922701128334,0.922738084982,0.922775033148,0.922811972833,0.922848904035,0.922885826755,0.922922740991,0.922959646745,0.922996544014,0.9230334328,0.923070313101,0.923107184918,0.92314404825,0.923180903096,0.923217749457,0.923254587331,0.92329141672,0.923328237621,0.923365050036,0.923401853963,0.923438649402,0.923475436354,0.923512214817,0.923548984791,0.923585746276,0.923622499272,0.923659243778,0.923695979794,0.92373270732,0.923769426355,0.923806136898,0.923842838951,0.923879532511,0.92391621758,0.923952894156,0.923989562239,0.924026221829,0.924062872926,0.924099515529,0.924136149637,0.924172775252,0.924209392371,0.924246000996,0.924282601125,0.924319192758,0.924355775895,0.924392350535,0.924428916679,0.924465474325,0.924502023474,0.924538564125,0.924575096279,0.924611619933,0.924648135089,0.924684641745,0.924721139902,0.92475762956,0.924794110717,0.924830583373,0.924867047529,0.924903503183,0.924939950336,0.924976388987,0.925012819136,0.925049240783,0.925085653926,0.925122058567,0.925158454703,0.925194842336,0.925231221465,0.92526759209,0.925303954209,0.925340307823,0.925376652932,0.925412989535,0.925449317631,0.925485637221,0.925521948305,0.925558250881,0.925594544949,0.92563083051,0.925667107562,0.925703376106,0.925739636141,0.925775887667,0.925812130683,0.92584836519,0.925884591186,0.925920808672,0.925957017647,0.92599321811,0.926029410062,0.926065593503,0.926101768431,0.926137934846,0.926174092749,0.926210242138,0.926246383014,0.926282515376,0.926318639224,0.926354754558,0.926390861376,0.926426959679,0.926463049467,0.926499130739,0.926535203495,0.926571267734,0.926607323457,0.926643370662,0.92667940935,0.92671543952,0.926751461171,0.926787474305,0.926823478919,0.926859475014,0.92689546259,0.926931441646,0.926967412182,0.927003374197,0.927039327691,0.927075272665,0.927111209117,0.927147137047,0.927183056455,0.92721896734,0.927254869703,0.927290763542,0.927326648858,0.92736252565,0.927398393919,0.927434253662,0.927470104881,0.927505947575,0.927541781743,0.927577607386,0.927613424502,0.927649233093,0.927685033156,0.927720824692,0.927756607701,0.927792382182,0.927828148135,0.92786390556,0.927899654456,0.927935394823,0.92797112666,0.928006849968,0.928042564746,0.928078270993,0.92811396871,0.928149657895,0.92818533855,0.928221010672,0.928256674263,0.928292329321,0.928327975847,0.928363613839,0.928399243299,0.928434864224,0.928470476616,0.928506080473,0.928541675796,0.928577262584,0.928612840836,0.928648410553,0.928683971734,0.928719524379,0.928755068487,0.928790604058,0.928826131092,0.928861649588,0.928897159547,0.928932660967,0.928968153849,0.929003638192,0.929039113995,0.929074581259,0.929110039984,0.929145490168,0.929180931811,0.929216364914,0.929251789475,0.929287205496,0.929322612974,0.92935801191,0.929393402304,0.929428784155,0.929464157462,0.929499522227,0.929534878447,0.929570226124,0.929605565256,0.929640895843,0.929676217885,0.929711531382,0.929746836334,0.929782132739,0.929817420598,0.92985269991,0.929887970675,0.929923232893,0.929958486563,0.929993731685,0.930028968259,0.930064196284,0.93009941576,0.930134626687,0.930169829065,0.930205022892,0.930240208169,0.930275384896,0.930310553072,0.930345712696,0.93038086377,0.930416006291,0.93045114026,0.930486265676,0.93052138254,0.93055649085,0.930591590607,0.930626681811,0.93066176446,0.930696838554,0.930731904094,0.930766961079,0.930802009508,0.930837049382,0.9308720807,0.930907103461,0.930942117665,0.930977123313,0.931012120403,0.931047108936,0.93108208891,0.931117060326,0.931152023184,0.931186977483,0.931221923222,0.931256860402,0.931291789022,0.931326709081,0.93136162058,0.931396523518,0.931431417895,0.931466303711,0.931501180965,0.931536049656,0.931570909785,0.931605761351,0.931640604354,0.931675438794,0.93171026467,0.931745081982,0.931779890729,0.931814690912,0.931849482529,0.931884265582,0.931919040068,0.931953805989,0.931988563343,0.932023312131,0.932058052351,0.932092784005,0.932127507091,0.932162221609,0.932196927558,0.932231624939,0.932266313752,0.932300993995,0.932335665668,0.932370328772,0.932404983305,0.932439629268,0.932474266661,0.932508895482,0.932543515732,0.93257812741,0.932612730516,0.932647325049,0.93268191101,0.932716488398,0.932751057213,0.932785617454,0.932820169121,0.932854712213,0.932889246731,0.932923772674,0.932958290042,0.932992798835,0.933027299051,0.933061790692,0.933096273755,0.933130748242,0.933165214152,0.933199671485,0.933234120239,0.933268560416,0.933302992014,0.933337415033,0.933371829474,0.933406235335,0.933440632616,0.933475021317,0.933509401438,0.933543772979,0.933578135938,0.933612490317,0.933646836113,0.933681173328,0.933715501961,0.933749822011,0.933784133478,0.933818436362,0.933852730663,0.93388701638,0.933921293513,0.933955562061,0.933989822025,0.934024073403,0.934058316197,0.934092550404,0.934126776026,0.934160993061,0.93419520151,0.934229401372,0.934263592646,0.934297775334,0.934331949433,0.934366114944,0.934400271866,0.9344344202,0.934468559945,0.9345026911,0.934536813665,0.93457092764,0.934605033025,0.93463912982,0.934673218023,0.934707297635,0.934741368655,0.934775431084,0.93480948492,0.934843530163,0.934877566814,0.934911594872,0.934945614336,0.934979625206,0.935013627482,0.935047621163,0.93508160625,0.935115582742,0.935149550638,0.935183509939,0.935217460644,0.935251402752,0.935285336264,0.935319261179,0.935353177496,0.935387085216,0.935420984338,0.935454874862,0.935488756787,0.935522630114,0.935556494841,0.93559035097,0.935624198498,0.935658037426,0.935691867754,0.935725689481,0.935759502607,0.935793307132,0.935827103055,0.935860890377,0.935894669096,0.935928439213,0.935962200726,0.935995953637,0.936029697944,0.936063433647,0.936097160746,0.936130879241,0.936164589131,0.936198290416,0.936231983096,0.93626566717,0.936299342638,0.9363330095,0.936366667756,0.936400317404,0.936433958445,0.936467590879,0.936501214705,0.936534829923,0.936568436532,0.936602034533,0.936635623924,0.936669204707,0.936702776879,0.936736340442,0.936769895394,0.936803441736,0.936836979467,0.936870508586,0.936904029095,0.936937540991,0.936971044275,0.937004538947,0.937038025006,0.937071502452,0.937104971284,0.937138431503,0.937171883108,0.937205326099,0.937238760475,0.937272186236,0.937305603382,0.937339011913,0.937372411827,0.937405803126,0.937439185808,0.937472559873,0.937505925321,0.937539282152,0.937572630366,0.937605969961,0.937639300938,0.937672623297,0.937705937036,0.937739242156,0.937772538657,0.937805826538,0.937839105799,0.93787237644,0.93790563846,0.937938891859,0.937972136636,0.938005372792,0.938038600326,0.938071819238,0.938105029527,0.938138231193,0.938171424236,0.938204608655,0.938237784451,0.938270951623,0.93830411017,0.938337260093,0.938370401391,0.938403534063,0.93843665811,0.938469773531,0.938502880325,0.938535978494,0.938569068035,0.938602148949,0.938635221236,0.938668284895,0.938701339926,0.938734386328,0.938767424102,0.938800453247,0.938833473763,0.938866485649,0.938899488906,0.938932483532,0.938965469528,0.938998446893,0.939031415627,0.939064375729,0.9390973272,0.939130270039,0.939163204246,0.93919612982,0.939229046761,0.939261955069,0.939294854743,0.939327745784,0.93936062819,0.939393501962,0.9394263671,0.939459223602,0.939492071469,0.939524910701,0.939557741296,0.939590563256,0.939623376579,0.939656181265,0.939688977314,0.939721764725,0.939754543499,0.939787313635,0.939820075132,0.939852827991,0.939885572211,0.939918307792,0.939951034733,0.939983753034,0.940016462695,0.940049163716,0.940081856096,0.940114539835,0.940147214933,0.940179881389,0.940212539203,0.940245188375,0.940277828904,0.94031046079,0.940343084034,0.940375698634,0.94040830459,0.940440901902,0.94047349057,0.940506070593,0.940538641972,0.940571204705,0.940603758792,0.940636304234,0.940668841029,0.940701369179,0.940733888681,0.940766399536,0.940798901744,0.940831395305,0.940863880217,0.940896356482,0.940928824098,0.940961283065,0.940993733382,0.941026175051,0.94105860807,0.941091032438,0.941123448157,0.941155855225,0.941188253642,0.941220643407,0.941253024521,0.941285396984,0.941317760794,0.941350115952,0.941382462457,0.94141480031,0.941447129509,0.941479450054,0.941511761946,0.941544065183,0.941576359766,0.941608645694,0.941640922967,0.941673191585,0.941705451547,0.941737702853,0.941769945503,0.941802179496,0.941834404832,0.941866621512,0.941898829534,0.941931028898,0.941963219604,0.941995401652,0.942027575041,0.942059739771,0.942091895842,0.942124043254,0.942156182005,0.942188312097,0.942220433528,0.942252546299,0.942284650408,0.942316745857,0.942348832643,0.942380910768,0.942412980231,0.942445041031,0.942477093168,0.942509136643,0.942541171454,0.942573197601,0.942605215085,0.942637223904,0.942669224059,0.942701215549,0.942733198374,0.942765172533,0.942797138027,0.942829094855,0.942861043016,0.942892982511,0.942924913339,0.9429568355,0.942988748994,0.943020653819,0.943052549977,0.943084437466,0.943116316287,0.943148186438,0.943180047921,0.943211900734,0.943243744877,0.94327558035,0.943307407153,0.943339225285,0.943371034746,0.943402835536,0.943434627654,0.943466411101,0.943498185875,0.943529951977,0.943561709406,0.943593458162,0.943625198245,0.943656929654,0.943688652389,0.94372036645,0.943752071837,0.943783768549,0.943815456586,0.943847135947,0.943878806633,0.943910468643,0.943942121976,0.943973766634,0.944005402614,0.944037029917,0.944068648543,0.944100258491,0.944131859761,0.944163452353,0.944195036267,0.944226611501,0.944258178057,0.944289735933,0.944321285129,0.944352825646,0.944384357482,0.944415880637,0.944447395112,0.944478900905,0.944510398017,0.944541886447,0.944573366196,0.944604837261,0.944636299645,0.944667753345,0.944699198362,0.944730634696,0.944762062346,0.944793481312,0.944824891594,0.944856293191,0.944887686103,0.94491907033,0.944950445871,0.944981812727,0.945013170896,0.945044520379,0.945075861176,0.945107193285,0.945138516708,0.945169831442,0.945201137489,0.945232434848,0.945263723519,0.945295003501,0.945326274794,0.945357537398,0.945388791312,0.945420036536,0.945451273071,0.945482500914,0.945513720068,0.94554493053,0.945576132301,0.945607325381,0.945638509768,0.945669685464,0.945700852467,0.945732010777,0.945763160395,0.945794301319,0.94582543355,0.945856557087,0.94588767193,0.945918778078,0.945949875532,0.945980964291,0.946012044354,0.946043115722,0.946074178394,0.94610523237,0.94613627765,0.946167314233,0.946198342119,0.946229361308,0.946260371799,0.946291373592,0.946322366688,0.946353351084,0.946384326783,0.946415293782,0.946446252082,0.946477201682,0.946508142583,0.946539074784,0.946569998284,0.946600913083,0.946631819182,0.946662716579,0.946693605275,0.946724485269,0.946755356561,0.94678621915,0.946817073037,0.946847918221,0.946878754702,0.946909582479,0.946940401552,0.946971211922,0.947002013587,0.947032806547,0.947063590803,0.947094366353,0.947125133198,0.947155891336,0.947186640769,0.947217381496,0.947248113516,0.947278836829,0.947309551435,0.947340257333,0.947370954524,0.947401643006,0.947432322781,0.947462993846,0.947493656203,0.947524309851,0.947554954789,0.947585591018,0.947616218536,0.947646837344,0.947677447442,0.947708048829,0.947738641505,0.947769225469,0.947799800721,0.947830367262,0.94786092509,0.947891474206,0.947922014609,0.947952546299,0.947983069276,0.948013583539,0.948044089088,0.948074585922,0.948105074043,0.948135553448,0.948166024138,0.948196486113,0.948226939373,0.948257383916,0.948287819744,0.948318246855,0.948348665249,0.948379074926,0.948409475886,0.948439868128,0.948470251652,0.948500626459,0.948530992547,0.948561349916,0.948591698566,0.948622038497,0.948652369708,0.9486826922,0.948713005971,0.948743311023,0.948773607353,0.948803894963,0.948834173851,0.948864444018,0.948894705463,0.948924958186,0.948955202187,0.948985437465,0.949015664021,0.949045881853,0.949076090961,0.949106291347,0.949136483008,0.949166665944,0.949196840157,0.949227005644,0.949257162406,0.949287310444,0.949317449755,0.94934758034,0.9493777022,0.949407815332,0.949437919738,0.949468015417,0.949498102369,0.949528180593,0.949558250089,0.949588310857,0.949618362897,0.949648406208,0.94967844079,0.949708466643,0.949738483766,0.94976849216,0.949798491823,0.949828482756,0.949858464959,0.94988843843,0.94991840317,0.949948359179,0.949978306457,0.950008245002,0.950038174815,0.950068095895,0.950098008243,0.950127911857,0.950157806738,0.950187692886,0.950217570299,0.950247438979,0.950277298924,0.950307150134,0.950336992609,0.950366826349,0.950396651353,0.950426467621,0.950456275154,0.950486073949,0.950515864009,0.950545645331,0.950575417916,0.950605181764,0.950634936874,0.950664683245,0.950694420879,0.950724149774,0.95075386993,0.950783581347,0.950813284024,0.950842977962,0.95087266316,0.950902339618,0.950932007335,0.950961666312,0.950991316547,0.951020958041,0.951050590794,0.951080214804,0.951109830073,0.951139436599,0.951169034383,0.951198623423,0.95122820372,0.951257775274,0.951287338084,0.95131689215,0.951346437472,0.951375974049,0.951405501882,0.951435020969,0.951464531311,0.951494032907,0.951523525757,0.951553009861,0.951582485219,0.95161195183,0.951641409694,0.95167085881,0.951700299179,0.9517297308,0.951759153673,0.951788567798,0.951817973174,0.951847369801,0.951876757679,0.951906136808,0.951935507187,0.951964868816,0.951994221694,0.952023565822,0.9520529012,0.952082227826,0.952111545701,0.952140854824,0.952170155195,0.952199446814,0.952228729681,0.952258003795,0.952287269157,0.952316525765,0.952345773619,0.95237501272,0.952404243066,0.952433464659,0.952462677497,0.95249188158,0.952521076908,0.95255026348,0.952579441297,0.952608610358,0.952637770663,0.952666922211,0.952696065003,0.952725199038,0.952754324315,0.952783440835,0.952812548597,0.952841647601,0.952870737847,0.952899819334,0.952928892063,0.952957956032,0.952987011242,0.953016057692,0.953045095382,0.953074124312,0.953103144482,0.953132155891,0.953161158539,0.953190152425,0.95321913755,0.953248113914,0.953277081515,0.953306040354,0.953334990431,0.953363931744,0.953392864295,0.953421788082,0.953450703105,0.953479609365,0.95350850686,0.953537395591,0.953566275557,0.953595146758,0.953624009194,0.953652862865,0.953681707769,0.953710543908,0.95373937128,0.953768189886,0.953796999725,0.953825800797,0.953854593101,0.953883376638,0.953912151407,0.953940917408,0.95396967464,0.953998423104,0.954027162799,0.954055893724,0.95408461588,0.954113329267,0.954142033883,0.954170729729,0.954199416804,0.954228095109,0.954256764643,0.954285425405,0.954314077396,0.954342720615,0.954371355061,0.954399980736,0.954428597638,0.954457205767,0.954485805122,0.954514395704,0.954542977513,0.954571550548,0.954600114808,0.954628670294,0.954657217005,0.954685754941,0.954714284102,0.954742804488,0.954771316097,0.954799818931,0.954828312988,0.954856798269,0.954885274772,0.954913742499,0.954942201448,0.95497065162,0.954999093014,0.95502752563,0.955055949467,0.955084364526,0.955112770805,0.955141168306,0.955169557027,0.955197936968,0.955226308129,0.955254670511,0.955283024111,0.955311368931,0.95533970497,0.955368032227,0.955396350703,0.955424660398,0.95545296131,0.95548125344,0.955509536787,0.955537811351,0.955566077133,0.955594334131,0.955622582345,0.955650821776,0.955679052422,0.955707274284,0.955735487361,0.955763691654,0.955791887161,0.955820073883,0.955848251819,0.955876420969,0.955904581333,0.95593273291,0.955960875701,0.955989009705,0.956017134921,0.95604525135,0.956073358991,0.956101457844,0.956129547909,0.956157629186,0.956185701673,0.956213765372,0.956241820281,0.956269866401,0.95629790373,0.95632593227,0.95635395202,0.956381962978,0.956409965146,0.956437958523,0.956465943109,0.956493918902,0.956521885904,0.956549844114,0.956577793531,0.956605734156,0.956633665988,0.956661589027,0.956689503272,0.956717408723,0.956745305381,0.956773193244,0.956801072313,0.956828942588,0.956856804067,0.956884656751,0.956912500639,0.956940335732,0.956968162029,0.95699597953,0.957023788234,0.957051588141,0.957079379251,0.957107161564,0.95713493508,0.957162699798,0.957190455717,0.957218202839,0.957245941162,0.957273670686,0.957301391411,0.957329103336,0.957356806463,0.957384500789,0.957412186315,0.957439863041,0.957467530967,0.957495190091,0.957522840414,0.957550481937,0.957578114657,0.957605738576,0.957633353692,0.957660960006,0.957688557518,0.957716146227,0.957743726132,0.957771297234,0.957798859533,0.957826413028,0.957853957718,0.957881493604,0.957909020686,0.957936538962,0.957964048434,0.9579915491,0.95801904096,0.958046524015,0.958073998263,0.958101463705,0.95812892034,0.958156368169,0.95818380719,0.958211237404,0.95823865881,0.958266071408,0.958293475198,0.95832087018,0.958348256352,0.958375633716,0.958403002271,0.958430362017,0.958457712952,0.958485055078,0.958512388394,0.958539712899,0.958567028593,0.958594335476,0.958621633549,0.95864892281,0.958676203259,0.958703474896,0.958730737721,0.958757991733,0.958785236933,0.95881247332,0.958839700894,0.958866919654,0.958894129601,0.958921330733,0.958948523052,0.958975706556,0.959002881245,0.959030047119,0.959057204178,0.959084352422,0.95911149185,0.959138622462,0.959165744258,0.959192857237,0.9592199614,0.959247056745,0.959274143274,0.959301220985,0.959328289878,0.959355349954,0.959382401211,0.95940944365,0.95943647727,0.959463502071,0.959490518053,0.959517525216,0.959544523559,0.959571513082,0.959598493785,0.959625465667,0.959652428729,0.95967938297,0.959706328389,0.959733264988,0.959760192764,0.959787111719,0.959814021851,0.959840923161,0.959867815649,0.959894699313,0.959921574155,0.959948440173,0.959975297367,0.960002145738,0.960028985284,0.960055816006,0.960082637903,0.960109450976,0.960136255223,0.960163050645,0.960189837241,0.960216615012,0.960243383956,0.960270144074,0.960296895366,0.96032363783,0.960350371468,0.960377096278,0.960403812261,0.960430519416,0.960457217742,0.960483907241,0.96051058791,0.960537259752,0.960563922763,0.960590576946,0.960617222299,0.960643858823,0.960670486516,0.960697105379,0.960723715411,0.960750316613,0.960776908984,0.960803492523,0.960830067231,0.960856633108,0.960883190152,0.960909738364,0.960936277743,0.96096280829,0.960989330004,0.961015842885,0.961042346932,0.961068842146,0.961095328525,0.96112180607,0.961148274781,0.961174734658,0.961201185699,0.961227627905,0.961254061276,0.961280485811,0.961306901511,0.961333308374,0.961359706401,0.961386095591,0.961412475944,0.96143884746,0.961465210139,0.961491563981,0.961517908984,0.961544245149,0.961570572477,0.961596890965,0.961623200615,0.961649501426,0.961675793397,0.961702076529,0.961728350821,0.961754616274,0.961780872885,0.961807120657,0.961833359588,0.961859589677,0.961885810926,0.961912023333,0.961938226899,0.961964421622,0.961990607503,0.962016784542,0.962042952739,0.962069112092,0.962095262602,0.962121404269,0.962147537092,0.962173661072,0.962199776207,0.962225882498,0.962251979944,0.962278068546,0.962304148302,0.962330219214,0.962356281279,0.962382334499,0.962408378873,0.962434414401,0.962460441082,0.962486458917,0.962512467904,0.962538468044,0.962564459337,0.962590441782,0.96261641538,0.962642380129,0.962668336029,0.962694283081,0.962720221284,0.962746150638,0.962772071143,0.962797982798,0.962823885603,0.962849779559,0.962875664663,0.962901540918,0.962927408321,0.962953266874,0.962979116575,0.963004957425,0.963030789423,0.963056612569,0.963082426863,0.963108232304,0.963134028893,0.963159816628,0.963185595511,0.96321136554,0.963237126716,0.963262879038,0.963288622505,0.963314357118,0.963340082877,0.963365799781,0.96339150783,0.963417207023,0.963442897361,0.963468578844,0.96349425147,0.96351991524,0.963545570153,0.96357121621,0.96359685341,0.963622481753,0.963648101238,0.963673711866,0.963699313636,0.963724906547,0.963750490601,0.963776065795,0.963801632131,0.963827189608,0.963852738226,0.963878277984,0.963903808882,0.96392933092,0.963954844098,0.963980348416,0.964005843873,0.964031330469,0.964056808204,0.964082277077,0.964107737089,0.964133188239,0.964158630526,0.964184063952,0.964209488515,0.964234904215,0.964260311052,0.964285709025,0.964311098136,0.964336478382,0.964361849765,0.964387212283,0.964412565937,0.964437910726,0.96446324665,0.964488573709,0.964513891903,0.964539201231,0.964564501694,0.96458979329,0.96461507602,0.964640349883,0.96466561488,0.964690871009,0.964716118272,0.964741356667,0.964766586194,0.964791806853,0.964817018645,0.964842221567,0.964867415622,0.964892600807,0.964917777123,0.96494294457,0.964968103147,0.964993252855,0.965018393692,0.96504352566,0.965068648757,0.965093762983,0.965118868338,0.965143964822,0.965169052435,0.965194131176,0.965219201045,0.965244262042,0.965269314167,0.965294357419,0.965319391798,0.965344417305,0.965369433938,0.965394441698,0.965419440584,0.965444430596,0.965469411734,0.965494383997,0.965519347386,0.9655443019,0.965569247539,0.965594184303,0.965619112191,0.965644031204,0.96566894134,0.9656938426,0.965718734984,0.965743618491,0.965768493121,0.965793358874,0.96581821575,0.965843063748,0.965867902868,0.96589273311,0.965917554474,0.965942366959,0.965967170566,0.965991965294,0.966016751142,0.966041528111,0.966066296201,0.96609105541,0.96611580574,0.966140547189,0.966165279758,0.966190003445,0.966214718252,0.966239424178,0.966264121222,0.966288809384,0.966313488665,0.966338159063,0.966362820579,0.966387473212,0.966412116963,0.96643675183,0.966461377814,0.966485994915,0.966510603132,0.966535202465,0.966559792914,0.966584374478,0.966608947158,0.966633510953,0.966658065863,0.966682611887,0.966707149026,0.966731677279,0.966756196647,0.966780707128,0.966805208722,0.96682970143,0.966854185251,0.966878660185,0.966903126232,0.966927583391,0.966952031662,0.966976471045,0.96700090154,0.967025323146,0.967049735864,0.967074139693,0.967098534633,0.967122920683,0.967147297844,0.967171666115,0.967196025496,0.967220375986,0.967244717586,0.967269050296,0.967293374114,0.967317689042,0.967341995078,0.967366292222,0.967390580475,0.967414859835,0.967439130304,0.96746339188,0.967487644563,0.967511888353,0.96753612325,0.967560349253,0.967584566363,0.967608774579,0.967632973902,0.967657164329,0.967681345863,0.967705518501,0.967729682245,0.967753837093,0.967777983047,0.967802120104,0.967826248266,0.967850367531,0.967874477901,0.967898579374,0.96792267195,0.967946755629,0.967970830411,0.967994896296,0.968018953283,0.968043001372,0.968067040563,0.968091070856,0.968115092251,0.968139104746,0.968163108343,0.968187103041,0.968211088839,0.968235065738,0.968259033737,0.968282992836,0.968306943034,0.968330884332,0.96835481673,0.968378740226,0.968402654822,0.968426560516,0.968450457308,0.968474345199,0.968498224188,0.968522094274,0.968545955458,0.96856980774,0.968593651118,0.968617485594,0.968641311166,0.968665127834,0.968688935599,0.96871273446,0.968736524416,0.968760305469,0.968784077616,0.968807840859,0.968831595196,0.968855340629,0.968879077155,0.968902804776,0.968926523492,0.9689502333,0.968973934203,0.968997626199,0.969021309288,0.96904498347,0.969068648745,0.969092305113,0.969115952572,0.969139591124,0.969163220768,0.969186841503,0.96921045333,0.969234056248,0.969257650257,0.969281235357,0.969304811547,0.969328378828,0.969351937199,0.969375486659,0.96939902721,0.96942255885,0.969446081579,0.969469595397,0.969493100305,0.9695165963,0.969540083385,0.969563561557,0.969587030817,0.969610491166,0.969633942601,0.969657385124,0.969680818734,0.969704243431,0.969727659215,0.969751066085,0.969774464042,0.969797853084,0.969821233213,0.969844604427,0.969867966726,0.969891320111,0.96991466458,0.969938000134,0.969961326773,0.969984644496,0.970007953303,0.970031253195,0.970054544169,0.970077826228,0.970101099369,0.970124363594,0.970147618901,0.970170865291,0.970194102763,0.970217331318,0.970240550955,0.970263761673,0.970286963473,0.970310156354,0.970333340316,0.970356515359,0.970379681483,0.970402838688,0.970425986972,0.970449126337,0.970472256781,0.970495378306,0.970518490909,0.970541594592,0.970564689354,0.970587775194,0.970610852113,0.970633920111,0.970656979186,0.97068002934,0.970703070571,0.97072610288,0.970749126266,0.970772140729,0.970795146269,0.970818142886,0.970841130579,0.970864109348,0.970887079193,0.970910040115,0.970932992111,0.970955935184,0.970978869331,0.971001794553,0.97102471085,0.971047618222,0.971070516668,0.971093406188,0.971116286782,0.97113915845,0.971162021191,0.971184875005,0.971207719893,0.971230555853,0.971253382887,0.971276200992,0.97129901017,0.97132181042,0.971344601741,0.971367384135,0.971390157599,0.971412922135,0.971435677742,0.97145842442,0.971481162168,0.971503890986,0.971526610875,0.971549321833,0.971572023862,0.97159471696,0.971617401127,0.971640076363,0.971662742668,0.971685400042,0.971708048484,0.971730687995,0.971753318574,0.97177594022,0.971798552934,0.971821156716,0.971843751564,0.97186633748,0.971888914463,0.971911482512,0.971934041628,0.97195659181,0.971979133057,0.972001665371,0.97202418875,0.972046703195,0.972069208704,0.972091705279,0.972114192918,0.972136671622,0.97215914139,0.972181602223,0.972204054119,0.972226497079,0.972248931102,0.972271356189,0.972293772339,0.972316179552,0.972338577827,0.972360967165,0.972383347565,0.972405719027,0.972428081552,0.972450435137,0.972472779784,0.972495115493,0.972517442262,0.972539760093,0.972562068983,0.972584368935,0.972606659946,0.972628942018,0.972651215149,0.97267347934,0.97269573459,0.9727179809,0.972740218268,0.972762446696,0.972784666182,0.972806876726,0.972829078328,0.972851270989,0.972873454707,0.972895629482,0.972917795315,0.972939952206,0.972962100153,0.972984239157,0.973006369217,0.973028490334,0.973050602507,0.973072705735,0.97309480002,0.97311688536,0.973138961755,0.973161029206,0.973183087711,0.973205137271,0.973227177886,0.973249209555,0.973271232278,0.973293246055,0.973315250885,0.973337246769,0.973359233707,0.973381211697,0.973403180741,0.973425140837,0.973447091985,0.973469034186,0.973490967439,0.973512891744,0.9735348071,0.973556713508,0.973578610967,0.973600499478,0.973622379039,0.973644249651,0.973666111313,0.973687964026,0.973709807788,0.973731642601,0.973753468463,0.973775285375,0.973797093336,0.973818892346,0.973840682405,0.973862463512,0.973884235668,0.973905998872,0.973927753125,0.973949498425,0.973971234773,0.973992962168,0.974014680611,0.9740363901,0.974058090637,0.97407978222,0.97410146485,0.974123138525,0.974144803247,0.974166459015,0.974188105829,0.974209743688,0.974231372592,0.974252992541,0.974274603536,0.974296205575,0.974317798658,0.974339382786,0.974360957957,0.974382524173,0.974404081432,0.974425629735,0.974447169081,0.97446869947,0.974490220902,0.974511733377,0.974533236894,0.974554731454,0.974576217056,0.974597693699,0.974619161384,0.974640620111,0.974662069879,0.974683510689,0.974704942539,0.974726365429,0.974747779361,0.974769184333,0.974790580344,0.974811967396,0.974833345488,0.974854714619,0.974876074789,0.974897425999,0.974918768247,0.974940101534,0.97496142586,0.974982741224,0.975004047627,0.975025345067,0.975046633545,0.975067913061,0.975089183614,0.975110445204,0.975131697831,0.975152941495,0.975174176196,0.975195401933,0.975216618706,0.975237826516,0.975259025361,0.975280215241,0.975301396158,0.975322568109,0.975343731095,0.975364885117,0.975386030173,0.975407166263,0.975428293388,0.975449411546,0.975470520739,0.975491620965,0.975512712225,0.975533794518,0.975554867844,0.975575932204,0.975596987595,0.97561803402,0.975639071476,0.975660099965,0.975681119486,0.975702130039,0.975723131623,0.975744124238,0.975765107885,0.975786082562,0.975807048271,0.975828005009,0.975848952779,0.975869891578,0.975890821408,0.975911742267,0.975932654156,0.975953557075,0.975974451022,0.975995335999,0.976016212005,0.976037079039,0.976057937102,0.976078786193,0.976099626312,0.976120457459,0.976141279634,0.976162092836,0.976182897066,0.976203692322,0.976224478606,0.976245255916,0.976266024253,0.976286783617,0.976307534006,0.976328275422,0.976349007863,0.97636973133,0.976390445822,0.97641115134,0.976431847883,0.97645253545,0.976473214042,0.976493883659,0.9765145443,0.976535195965,0.976555838653,0.976576472366,0.976597097102,0.976617712862,0.976638319644,0.97665891745,0.976679506278,0.976700086129,0.976720657002,0.976741218897,0.976761771815,0.976782315754,0.976802850715,0.976823376697,0.976843893701,0.976864401725,0.976884900771,0.976905390837,0.976925871924,0.976946344031,0.976966807158,0.976987261305,0.977007706471,0.977028142658,0.977048569863,0.977068988088,0.977089397332,0.977109797595,0.977130188876,0.977150571176,0.977170944494,0.97719130883,0.977211664184,0.977232010555,0.977252347944,0.977272676351,0.977292995774,0.977313306214,0.977333607671,0.977353900145,0.977374183635,0.977394458142,0.977414723664,0.977434980202,0.977455227756,0.977475466325,0.977495695909,0.977515916509,0.977536128123,0.977556330752,0.977576524396,0.977596709053,0.977616884725,0.977637051411,0.977657209111,0.977677357825,0.977697497551,0.977717628291,0.977737750044,0.97775786281,0.977777966588,0.977798061379,0.977818147183,0.977838223998,0.977858291825,0.977878350664,0.977898400515,0.977918441377,0.97793847325,0.977958496134,0.977978510029,0.977998514935,0.978018510851,0.978038497777,0.978058475713,0.978078444659,0.978098404615,0.978118355581,0.978138297556,0.97815823054,0.978178154533,0.978198069534,0.978217975545,0.978237872564,0.978257760591,0.978277639626,0.978297509669,0.97831737072,0.978337222778,0.978357065843,0.978376899916,0.978396724996,0.978416541082,0.978436348175,0.978456146275,0.978475935381,0.978495715492,0.97851548661,0.978535248733,0.978555001862,0.978574745997,0.978594481136,0.97861420728,0.978633924429,0.978653632583,0.978673331741,0.978693021904,0.97871270307,0.978732375241,0.978752038415,0.978771692592,0.978791337773,0.978810973957,0.978830601144,0.978850219334,0.978869828527,0.978889428721,0.978909019919,0.978928602118,0.978948175319,0.978967739522,0.978987294726,0.979006840932,0.979026378139,0.979045906347,0.979065425556,0.979084935765,0.979104436975,0.979123929185,0.979143412395,0.979162886606,0.979182351816,0.979201808025,0.979221255234,0.979240693442,0.979260122649,0.979279542855,0.97929895406,0.979318356263,0.979337749464,0.979357133664,0.979376508861,0.979395875057,0.97941523225,0.97943458044,0.979453919628,0.979473249812,0.979492570994,0.979511883172,0.979531186347,0.979550480518,0.979569765685,0.979589041849,0.979608309008,0.979627567163,0.979646816313,0.979666056459,0.979685287599,0.979704509735,0.979723722866,0.979742926991,0.97976212211,0.979781308224,0.979800485331,0.979819653433,0.979838812528,0.979857962617,0.9798771037,0.979896235775,0.979915358843,0.979934472905,0.979953577958,0.979972674005,0.979991761043,0.980010839074,0.980029908097,0.980048968112,0.980068019118,0.980087061115,0.980106094104,0.980125118084,0.980144133055,0.980163139016,0.980182135968,0.980201123911,0.980220102843,0.980239072766,0.980258033678,0.98027698558,0.980295928472,0.980314862353,0.980333787223,0.980352703082,0.98037160993,0.980390507767,0.980409396592,0.980428276405,0.980447147207,0.980466008996,0.980484861773,0.980503705538,0.98052254029,0.98054136603,0.980560182756,0.98057899047,0.98059778917,0.980616578857,0.98063535953,0.980654131189,0.980672893834,0.980691647465,0.980710392082,0.980729127685,0.980747854272,0.980766571845,0.980785280403,0.980803979946,0.980822670473,0.980841351985,0.980860024482,0.980878687962,0.980897342426,0.980915987874,0.980934624306,0.980953251721,0.98097187012,0.980990479502,0.981009079866,0.981027671213,0.981046253543,0.981064826856,0.98108339115,0.981101946427,0.981120492686,0.981139029926,0.981157558148,0.981176077352,0.981194587536,0.981213088702,0.981231580849,0.981250063976,0.981268538084,0.981287003172,0.981305459241,0.981323906289,0.981342344318,0.981360773326,0.981379193314,0.981397604281,0.981416006227,0.981434399152,0.981452783057,0.98147115794,0.981489523801,0.981507880641,0.981526228459,0.981544567255,0.981562897028,0.98158121778,0.981599529509,0.981617832215,0.981636125899,0.98165441056,0.981672686197,0.981690952811,0.981709210402,0.981727458969,0.981745698512,0.981763929031,0.981782150526,0.981800362996,0.981818566443,0.981836760864,0.981854946261,0.981873122632,0.981891289979,0.9819094483,0.981927597595,0.981945737865,0.98196386911,0.981981991328,0.98200010452,0.982018208685,0.982036303824,0.982054389937,0.982072467022,0.982090535081,0.982108594113,0.982126644117,0.982144685093,0.982162717042,0.982180739963,0.982198753856,0.982216758721,0.982234754558,0.982252741366,0.982270719146,0.982288687896,0.982306647618,0.982324598311,0.982342539974,0.982360472608,0.982378396212,0.982396310786,0.98241421633,0.982432112845,0.982450000328,0.982467878782,0.982485748205,0.982503608597,0.982521459958,0.982539302287,0.982557135586,0.982574959853,0.982592775089,0.982610581292,0.982628378464,0.982646166604,0.982663945711,0.982681715786,0.982699476829,0.982717228838,0.982734971815,0.982752705758,0.982770430669,0.982788146546,0.982805853389,0.982823551199,0.982841239974,0.982858919716,0.982876590423,0.982894252096,0.982911904735,0.982929548339,0.982947182908,0.982964808441,0.98298242494,0.983000032403,0.983017630831,0.983035220223,0.983052800579,0.983070371899,0.983087934184,0.983105487431,0.983123031642,0.983140566817,0.983158092955,0.983175610055,0.983193118119,0.983210617145,0.983228107134,0.983245588085,0.983263059999,0.983280522874,0.983297976712,0.983315421511,0.983332857272,0.983350283994,0.983367701677,0.983385110322,0.983402509927,0.983419900493,0.98343728202,0.983454654507,0.983472017955,0.983489372362,0.98350671773,0.983524054058,0.983541381345,0.983558699591,0.983576008797,0.983593308962,0.983610600087,0.98362788217,0.983645155211,0.983662419212,0.98367967417,0.983696920087,0.983714156962,0.983731384795,0.983748603586,0.983765813334,0.98378301404,0.983800205703,0.983817388323,0.9838345619,0.983851726434,0.983868881924,0.983886028371,0.983903165774,0.983920294134,0.983937413449,0.983954523721,0.983971624948,0.98398871713,0.984005800268,0.984022874361,0.98403993941,0.984056995413,0.984074042371,0.984091080283,0.98410810915,0.984125128972,0.984142139747,0.984159141476,0.98417613416,0.984193117797,0.984210092387,0.984227057931,0.984244014428,0.984260961878,0.98427790028,0.984294829636,0.984311749944,0.984328661205,0.984345563418,0.984362456583,0.984379340699,0.984396215768,0.984413081789,0.98442993876,0.984446786684,0.984463625558,0.984480455383,0.984497276159,0.984514087886,0.984530890564,0.984547684192,0.98456446877,0.984581244298,0.984598010776,0.984614768204,0.984631516582,0.984648255909,0.984664986185,0.984681707411,0.984698419586,0.984715122709,0.984731816781,0.984748501802,0.984765177771,0.984781844688,0.984798502554,0.984815151367,0.984831791128,0.984848421837,0.984865043494,0.984881656097,0.984898259648,0.984914854146,0.984931439591,0.984948015982,0.98496458332,0.984981141605,0.984997690835,0.985014231012,0.985030762135,0.985047284204,0.985063797218,0.985080301178,0.985096796083,0.985113281933,0.985129758728,0.985146226469,0.985162685154,0.985179134783,0.985195575357,0.985212006876,0.985228429338,0.985244842745,0.985261247095,0.985277642389,0.985294028626,0.985310405807,0.985326773932,0.985343132999,0.985359483009,0.985375823962,0.985392155858,0.985408478696,0.985424792476,0.985441097199,0.985457392864,0.98547367947,0.985489957018,0.985506225508,0.98552248494,0.985538735312,0.985554976626,0.985571208881,0.985587432076,0.985603646213,0.985619851289,0.985636047307,0.985652234264,0.985668412162,0.985684580999,0.985700740776,0.985716891493,0.98573303315,0.985749165746,0.985765289281,0.985781403755,0.985797509168,0.985813605519,0.98582969281,0.985845771038,0.985861840206,0.985877900311,0.985893951354,0.985909993335,0.985926026254,0.985942050111,0.985958064905,0.985974070636,0.985990067304,0.98600605491,0.986022033452,0.986038002931,0.986053963346,0.986069914698,0.986085856986,0.98610179021,0.986117714371,0.986133629467,0.986149535498,0.986165432465,0.986181320368,0.986197199206,0.986213068979,0.986228929686,0.986244781329,0.986260623906,0.986276457418,0.986292281864,0.986308097245,0.986323903559,0.986339700807,0.986355488989,0.986371268105,0.986387038154,0.986402799137,0.986418551053,0.986434293902,0.986450027683,0.986465752398,0.986481468045,0.986497174625,0.986512872136,0.986528560581,0.986544239957,0.986559910265,0.986575571505,0.986591223676,0.986606866779,0.986622500813,0.986638125778,0.986653741675,0.986669348502,0.98668494626,0.986700534949,0.986716114568,0.986731685117,0.986747246597,0.986762799007,0.986778342346,0.986793876615,0.986809401814,0.986824917943,0.986840425,0.986855922987,0.986871411903,0.986886891748,0.986902362521,0.986917824223,0.986933276854,0.986948720413,0.9869641549,0.986979580315,0.986994996658,0.987010403928,0.987025802127,0.987041191253,0.987056571306,0.987071942286,0.987087304193,0.987102657028,0.987118000789,0.987133335477,0.987148661091,0.987163977631,0.987179285098,0.987194583491,0.987209872809,0.987225153054,0.987240424224,0.987255686319,0.98727093934,0.987286183287,0.987301418158,0.987316643954,0.987331860675,0.987347068321,0.987362266891,0.987377456385,0.987392636804,0.987407808147,0.987422970414,0.987438123605,0.987453267719,0.987468402757,0.987483528718,0.987498645603,0.98751375341,0.987528852141,0.987543941794,0.987559022371,0.987574093869,0.987589156291,0.987604209634,0.9876192539,0.987634289087,0.987649315197,0.987664332228,0.987679340181,0.987694339055,0.987709328851,0.987724309568,0.987739281206,0.987754243765,0.987769197244,0.987784141645,0.987799076965,0.987814003206,0.987828920368,0.987843828449,0.987858727451,0.987873617372,0.987888498213,0.987903369973,0.987918232653,0.987933086252,0.98794793077,0.987962766207,0.987977592563,0.987992409838,0.988007218031,0.988022017143,0.988036807173,0.988051588122,0.988066359988,0.988081122772,0.988095876474,0.988110621094,0.988125356631,0.988140083086,0.988154800457,0.988169508746,0.988184207952,0.988198898075,0.988213579114,0.98822825107,0.988242913942,0.988257567731,0.988272212435,0.988286848056,0.988301474593,0.988316092045,0.988330700413,0.988345299697,0.988359889895,0.988374471009,0.988389043038,0.988403605982,0.988418159841,0.988432704615,0.988447240303,0.988461766905,0.988476284422,0.988490792853,0.988505292198,0.988519782456,0.988534263629,0.988548735715,0.988563198714,0.988577652627,0.988592097453,0.988606533192,0.988620959844,0.988635377409,0.988649785887,0.988664185277,0.98867857558,0.988692956794,0.988707328921,0.98872169196,0.988736045911,0.988750390774,0.988764726548,0.988779053234,0.988793370831,0.988807679339,0.988821978758,0.988836269089,0.98885055033,0.988864822482,0.988879085544,0.988893339517,0.9889075844,0.988921820194,0.988936046897,0.98895026451,0.988964473033,0.988978672466,0.988992862808,0.98900704406,0.989021216221,0.989035379291,0.98904953327,0.989063678158,0.989077813955,0.98909194066,0.989106058273,0.989120166796,0.989134266226,0.989148356564,0.989162437811,0.989176509965,0.989190573027,0.989204626996,0.989218671873,0.989232707657,0.989246734349,0.989260751947,0.989274760452,0.989288759865,0.989302750183,0.989316731409,0.989330703541,0.989344666579,0.989358620523,0.989372565373,0.989386501129,0.989400427791,0.989414345359,0.989428253832,0.989442153211,0.989456043494,0.989469924683,0.989483796777,0.989497659776,0.989511513679,0.989525358487,0.9895391942,0.989553020817,0.989566838338,0.989580646764,0.989594446093,0.989608236326,0.989622017463,0.989635789504,0.989649552448,0.989663306295,0.989677051046,0.989690786699,0.989704513256,0.989718230716,0.989731939078,0.989745638343,0.98975932851,0.98977300958,0.989786681552,0.989800344426,0.989813998202,0.989827642879,0.989841278459,0.98985490494,0.989868522322,0.989882130606,0.989895729791,0.989909319878,0.989922900865,0.989936472753,0.989950035542,0.989963589231,0.989977133821,0.989990669311,0.990004195701,0.990017712992,0.990031221182,0.990044720272,0.990058210262,0.990071691152,0.990085162941,0.990098625629,0.990112079217,0.990125523704,0.990138959089,0.990152385374,0.990165802557,0.990179210639,0.99019260962,0.990205999498,0.990219380275,0.99023275195,0.990246114523,0.990259467994,0.990272812363,0.99028614763,0.990299473793,0.990312790855,0.990326098813,0.990339397669,0.990352687421,0.990365968071,0.990379239617,0.99039250206,0.9904057554,0.990418999635,0.990432234768,0.990445460796,0.99045867772,0.99047188554,0.990485084256,0.990498273868,0.990511454375,0.990524625778,0.990537788076,0.990550941269,0.990564085358,0.990577220341,0.990590346219,0.990603462992,0.990616570659,0.990629669221,0.990642758677,0.990655839027,0.990668910272,0.99068197241,0.990695025443,0.990708069369,0.990721104188,0.990734129902,0.990747146508,0.990760154008,0.990773152401,0.990786141687,0.990799121866,0.990812092938,0.990825054902,0.990838007759,0.990850951508,0.99086388615,0.990876811684,0.99088972811,0.990902635428,0.990915533638,0.990928422739,0.990941302732,0.990954173617,0.990967035392,0.99097988806,0.990992731618,0.991005566067,0.991018391407,0.991031207638,0.99104401476,0.991056812772,0.991069601674,0.991082381467,0.99109515215,0.991107913723,0.991120666186,0.991133409539,0.991146143782,0.991158868914,0.991171584936,0.991184291847,0.991196989647,0.991209678336,0.991222357915,0.991235028382,0.991247689738,0.991260341983,0.991272985116,0.991285619138,0.991298244048,0.991310859846,0.991323466532,0.991336064107,0.991348652569,0.991361231919,0.991373802156,0.991386363281,0.991398915294,0.991411458193,0.99142399198,0.991436516654,0.991449032215,0.991461538662,0.991474035997,0.991486524218,0.991499003325,0.991511473319,0.991523934199,0.991536385965,0.991548828617,0.991561262155,0.991573686579,0.991586101888,0.991598508083,0.991610905163,0.991623293129,0.99163567198,0.991648041716,0.991660402337,0.991672753843,0.991685096234,0.991697429509,0.991709753669,0.991722068713,0.991734374642,0.991746671455,0.991758959152,0.991771237732,0.991783507197,0.991795767545,0.991808018777,0.991820260893,0.991832493892,0.991844717774,0.991856932539,0.991869138188,0.991881334719,0.991893522134,0.991905700431,0.99191786961,0.991930029672,0.991942180617,0.991954322444,0.991966455153,0.991978578744,0.991990693216,0.992002798571,0.992014894808,0.992026981926,0.992039059925,0.992051128806,0.992063188569,0.992075239212,0.992087280737,0.992099313142,0.992111336428,0.992123350596,0.992135355643,0.992147351571,0.99215933838,0.992171316069,0.992183284638,0.992195244087,0.992207194416,0.992219135625,0.992231067713,0.992242990681,0.992254904529,0.992266809256,0.992278704863,0.992290591348,0.992302468713,0.992314336957,0.992326196079,0.99233804608,0.99234988696,0.992361718719,0.992373541356,0.992385354871,0.992397159264,0.992408954536,0.992420740685,0.992432517713,0.992444285618,0.992456044401,0.992467794061,0.992479534599,0.992491266014,0.992502988306,0.992514701476,0.992526405522,0.992538100446,0.992549786246,0.992561462923,0.992573130476,0.992584788906,0.992596438213,0.992608078395,0.992619709454,0.992631331389,0.9926429442,0.992654547887,0.992666142449,0.992677727887,0.9926893042,0.992700871389,0.992712429454,0.992723978393,0.992735518208,0.992747048897,0.992758570462,0.992770082901,0.992781586215,0.992793080403,0.992804565466,0.992816041403,0.992827508215,0.9928389659,0.99285041446,0.992861853893,0.992873284201,0.992884705382,0.992896117437,0.992907520365,0.992918914167,0.992930298842,0.99294167439,0.992953040811,0.992964398105,0.992975746273,0.992987085312,0.992998415225,0.99300973601,0.993021047668,0.993032350198,0.9930436436,0.993054927875,0.993066203021,0.993077469039,0.99308872593,0.993099973692,0.993111212325,0.99312244183,0.993133662207,0.993144873455,0.993156075574,0.993167268564,0.993178452426,0.993189627158,0.993200792761,0.993211949235,0.993223096579,0.993234234794,0.993245363879,0.993256483835,0.993267594661,0.993278696356,0.993289788922,0.993300872358,0.993311946664,0.993323011839,0.993334067884,0.993345114798,0.993356152582,0.993367181235,0.993378200757,0.993389211148,0.993400212408,0.993411204537,0.993422187535,0.993433161402,0.993444126137,0.993455081741,0.993466028213,0.993476965553,0.993487893761,0.993498812838,0.993509722782,0.993520623595,0.993531515275,0.993542397822,0.993553271238,0.993564135521,0.993574990671,0.993585836688,0.993596673573,0.993607501325,0.993618319943,0.993629129429,0.993639929781,0.993650721,0.993661503086,0.993672276038,0.993683039856,0.993693794541,0.993704540092,0.993715276509,0.993726003792,0.993736721941,0.993747430955,0.993758130836,0.993768821582,0.993779503193,0.99379017567,0.993800839012,0.993811493219,0.993822138292,0.993832774229,0.993843401031,0.993854018698,0.99386462723,0.993875226626,0.993885816887,0.993896398013,0.993906970002,0.993917532856,0.993928086574,0.993938631156,0.993949166602,0.993959692912,0.993970210085,0.993980718123,0.993991217023,0.994001706787,0.994012187415,0.994022658906,0.99403312126,0.994043574477,0.994054018557,0.994064453499,0.994074879305,0.994085295973,0.994095703504,0.994106101897,0.994116491153,0.994126871271,0.994137242251,0.994147604093,0.994157956798,0.994168300364,0.994178634792,0.994188960082,0.994199276233,0.994209583246,0.994219881121,0.994230169856,0.994240449453,0.994250719911,0.99426098123,0.994271233411,0.994281476452,0.994291710353,0.994301935116,0.994312150739,0.994322357223,0.994332554567,0.994342742771,0.994352921835,0.99436309176,0.994373252545,0.994383404189,0.994393546694,0.994403680058,0.994413804281,0.994423919365,0.994434025308,0.99444412211,0.994454209771,0.994464288292,0.994474357672,0.994484417911,0.994494469008,0.994504510965,0.99451454378,0.994524567454,0.994534581987,0.994544587377,0.994554583627,0.994564570734,0.9945745487,0.994584517524,0.994594477206,0.994604427745,0.994614369143,0.994624301398,0.994634224511,0.994644138481,0.994654043309,0.994663938994,0.994673825536,0.994683702936,0.994693571193,0.994703430306,0.994713280277,0.994723121104,0.994732952788,0.994742775329,0.994752588726,0.99476239298,0.99477218809,0.994781974057,0.994791750879,0.994801518558,0.994811277092,0.994821026483,0.994830766729,0.994840497831,0.994850219789,0.994859932602,0.994869636271,0.994879330795,0.994889016174,0.994898692409,0.994908359498,0.994918017443,0.994927666243,0.994937305897,0.994946936406,0.99495655777,0.994966169989,0.994975773061,0.994985366989,0.99499495177,0.995004527406,0.995014093896,0.99502365124,0.995033199438,0.99504273849,0.995052268396,0.995061789155,0.995071300768,0.995080803234,0.995090296554,0.995099780727,0.995109255754,0.995118721633,0.995128178366,0.995137625952,0.99514706439,0.995156493682,0.995165913826,0.995175324823,0.995184726672,0.995194119374,0.995203502928,0.995212877335,0.995222242594,0.995231598705,0.995240945667,0.995250283482,0.995259612149,0.995268931668,0.995278242038,0.99528754326,0.995296835333,0.995306118258,0.995315392034,0.995324656662,0.99533391214,0.99534315847,0.995352395651,0.995361623683,0.995370842565,0.995380052299,0.995389252883,0.995398444317,0.995407626603,0.995416799738,0.995425963724,0.99543511856,0.995444264247,0.995453400783,0.995462528169,0.995471646406,0.995480755492,0.995489855428,0.995498946213,0.995508027849,0.995517100333,0.995526163668,0.995535217851,0.995544262884,0.995553298766,0.995562325497,0.995571343077,0.995580351506,0.995589350783,0.99559834091,0.995607321885,0.995616293709,0.995625256381,0.995634209902,0.995643154271,0.995652089488,0.995661015554,0.995669932467,0.995678840229,0.995687738838,0.995696628296,0.995705508601,0.995714379754,0.995723241754,0.995732094602,0.995740938298,0.99574977284,0.99575859823,0.995767414468,0.995776221552,0.995785019483,0.995793808262,0.995802587887,0.995811358359,0.995820119678,0.995828871843,0.995837614855,0.995846348714,0.995855073419,0.99586378897,0.995872495367,0.995881192611,0.9958898807,0.995898559636,0.995907229417,0.995915890045,0.995924541518,0.995933183837,0.995941817001,0.995950441011,0.995959055866,0.995967661567,0.995976258113,0.995984845504,0.99599342374,0.996001992822,0.996010552748,0.996019103519,0.996027645135,0.996036177596,0.996044700901,0.996053215051,0.996061720046,0.996070215884,0.996078702568,0.996087180095,0.996095648467,0.996104107682,0.996112557742,0.996120998646,0.996129430393,0.996137852985,0.99614626642,0.996154670699,0.996163065821,0.996171451787,0.996179828596,0.996188196248,0.996196554744,0.996204904083,0.996213244265,0.99622157529,0.996229897158,0.996238209869,0.996246513422,0.996254807819,0.996263093058,0.996271369139,0.996279636063,0.99628789383,0.996296142438,0.99630438189,0.996312612183,0.996320833318,0.996329045295,0.996337248115,0.996345441776,0.996353626279,0.996361801624,0.99636996781,0.996378124838,0.996386272708,0.996394411419,0.996402540971,0.996410661364,0.996418772599,0.996426874675,0.996434967592,0.99644305135,0.996451125949,0.996459191389,0.996467247669,0.99647529479,0.996483332752,0.996491361554,0.996499381197,0.99650739168,0.996515393004,0.996523385167,0.996531368171,0.996539342015,0.996547306699,0.996555262223,0.996563208587,0.996571145791,0.996579073834,0.996586992717,0.99659490244,0.996602803002,0.996610694403,0.996618576644,0.996626449724,0.996634313644,0.996642168402,0.996650014,0.996657850437,0.996665677712,0.996673495827,0.99668130478,0.996689104572,0.996696895203,0.996704676672,0.99671244898,0.996720212126,0.996727966111,0.996735710933,0.996743446594,0.996751173094,0.996758890431,0.996766598606,0.996774297619,0.99678198747,0.996789668159,0.996797339686,0.99680500205,0.996812655252,0.996820299291,0.996827934168,0.996835559882,0.996843176434,0.996850783822,0.996858382048,0.996865971111,0.996873551011,0.996881121748,0.996888683322,0.996896235732,0.99690377898,0.996911313064,0.996918837984,0.996926353741,0.996933860335,0.996941357765,0.996948846031,0.996956325134,0.996963795073,0.996971255848,0.996978707459,0.996986149906,0.996993583189,0.997001007307,0.997008422262,0.997015828052,0.997023224678,0.997030612139,0.997037990436,0.997045359569,0.997052719536,0.997060070339,0.997067411978,0.997074744451,0.99708206776,0.997089381903,0.997096686882,0.997103982696,0.997111269344,0.997118546827,0.997125815145,0.997133074297,0.997140324284,0.997147565106,0.997154796762,0.997162019252,0.997169232576,0.997176436735,0.997183631728,0.997190817555,0.997197994217,0.997205161712,0.997212320041,0.997219469204,0.9972266092,0.99723374003,0.997240861694,0.997247974192,0.997255077523,0.997262171688,0.997269256685,0.997276332517,0.997283399181,0.997290456679,0.997297505009,0.997304544173,0.99731157417,0.997318595,0.997325606662,0.997332609158,0.997339602486,0.997346586647,0.99735356164,0.997360527466,0.997367484124,0.997374431615,0.997381369938,0.997388299094,0.997395219081,0.997402129901,0.997409031553,0.997415924037,0.997422807353,0.997429681501,0.997436546481,0.997443402292,0.997450248935,0.99745708641,0.997463914716,0.997470733854,0.997477543824,0.997484344624,0.997491136257,0.99749791872,0.997504692015,0.99751145614,0.997518211097,0.997524956885,0.997531693504,0.997538420954,0.997545139234,0.997551848346,0.997558548288,0.99756523906,0.997571920664,0.997578593098,0.997585256362,0.997591910457,0.997598555382,0.997605191137,0.997611817723,0.997618435139,0.997625043384,0.99763164246,0.997638232366,0.997644813102,0.997651384668,0.997657947063,0.997664500289,0.997671044343,0.997677579228,0.997684104942,0.997690621486,0.997697128859,0.997703627061,0.997710116093,0.997716595954,0.997723066644,0.997729528164,0.997735980512,0.997742423689,0.997748857696,0.997755282531,0.997761698195,0.997768104688,0.99777450201,0.997780890161,0.99778726914,0.997793638947,0.997799999583,0.997806351048,0.99781269334,0.997819026462,0.997825350411,0.997831665189,0.997837970795,0.997844267228,0.99785055449,0.99785683258,0.997863101498,0.997869361244,0.997875611817,0.997881853218,0.997888085447,0.997894308504,0.997900522388,0.997906727099,0.997912922638,0.997919109005,0.997925286199,0.99793145422,0.997937613068,0.997943762743,0.997949903246,0.997956034576,0.997962156732,0.997968269716,0.997974373526,0.997980468164,0.997986553628,0.997992629919,0.997998697036,0.99800475498,0.998010803751,0.998016843348,0.998022873771,0.998028895021,0.998034907098,0.99804091,0.998046903729,0.998052888284,0.998058863665,0.998064829872,0.998070786905,0.998076734765,0.99808267345,0.99808860296,0.998094523297,0.998100434459,0.998106336447,0.998112229261,0.9981181129,0.998123987365,0.998129852655,0.998135708771,0.998141555712,0.998147393478,0.998153222069,0.998159041486,0.998164851728,0.998170652795,0.998176444686,0.998182227403,0.998188000945,0.998193765312,0.998199520503,0.99820526652,0.99821100336,0.998216731026,0.998222449516,0.998228158831,0.99823385897,0.998239549934,0.998245231722,0.998250904335,0.998256567771,0.998262222032,0.998267867118,0.998273503027,0.99827912976,0.998284747318,0.998290355699,0.998295954905,0.998301544934,0.998307125787,0.998312697464,0.998318259964,0.998323813289,0.998329357436,0.998334892408,0.998340418203,0.998345934821,0.998351442263,0.998356940528,0.998362429617,0.998367909529,0.998373380264,0.998378841822,0.998384294203,0.998389737407,0.998395171435,0.998400596285,0.998406011958,0.998411418454,0.998416815773,0.998422203915,0.998427582879,0.998432952667,0.998438313276,0.998443664708,0.998449006963,0.998454340041,0.99845966394,0.998464978662,0.998470284207,0.998475580573,0.998480867762,0.998486145773,0.998491414606,0.998496674262,0.998501924739,0.998507166038,0.99851239816,0.998517621103,0.998522834868,0.998528039454,0.998533234863,0.998538421093,0.998543598145,0.998548766018,0.998553924713,0.99855907423,0.998564214568,0.998569345727,0.998574467708,0.99857958051,0.998584684133,0.998589778578,0.998594863843,0.99859993993,0.998605006838,0.998610064567,0.998615113117,0.998620152488,0.99862518268,0.998630203693,0.998635215526,0.99864021818,0.998645211655,0.998650195951,0.998655171067,0.998660137004,0.998665093761,0.998670041339,0.998674979737,0.998679908956,0.998684828995,0.998689739854,0.998694641534,0.998699534034,0.998704417353,0.998709291494,0.998714156454,0.998719012234,0.998723858834,0.998728696254,0.998733524494,0.998738343554,0.998743153434,0.998747954133,0.998752745652,0.998757527991,0.99876230115,0.998767065128,0.998771819925,0.998776565542,0.998781301979,0.998786029235,0.99879074731,0.998795456205,0.998800155919,0.998804846452,0.998809527805,0.998814199976,0.998818862967,0.998823516777,0.998828161406,0.998832796854,0.99883742312,0.998842040206,0.99884664811,0.998851246834,0.998855836376,0.998860416737,0.998864987916,0.998869549914,0.998874102731,0.998878646366,0.99888318082,0.998887706093,0.998892222183,0.998896729092,0.99890122682,0.998905715366,0.99891019473,0.998914664912,0.998919125913,0.998923577731,0.998928020368,0.998932453823,0.998936878096,0.998941293187,0.998945699096,0.998950095822,0.998954483367,0.998958861729,0.99896323091,0.998967590908,0.998971941723,0.998976283356,0.998980615807,0.998984939076,0.998989253162,0.998993558066,0.998997853787,0.999002140325,0.999006417681,0.999010685854,0.999014944845,0.999019194652,0.999023435277,0.99902766672,0.999031888979,0.999036102055,0.999040305949,0.999044500659,0.999048686187,0.999052862532,0.999057029693,0.999061187671,0.999065336466,0.999069476078,0.999073606507,0.999077727753,0.999081839815,0.999085942694,0.999090036389,0.999094120901,0.99909819623,0.999102262375,0.999106319336,0.999110367114,0.999114405709,0.999118435119,0.999122455346,0.99912646639,0.999130468249,0.999134460925,0.999138444417,0.999142418725,0.999146383849,0.999150339789,0.999154286545,0.999158224118,0.999162152506,0.99916607171,0.99916998173,0.999173882566,0.999177774217,0.999181656685,0.999185529968,0.999189394067,0.999193248981,0.999197094711,0.999200931257,0.999204758618,0.999208576795,0.999212385787,0.999216185595,0.999219976218,0.999223757657,0.999227529911,0.99923129298,0.999235046865,0.999238791564,0.999242527079,0.999246253409,0.999249970555,0.999253678515,0.999257377291,0.999261066881,0.999264747287,0.999268418507,0.999272080543,0.999275733393,0.999279377058,0.999283011538,0.999286636833,0.999290252943,0.999293859867,0.999297457606,0.99930104616,0.999304625528,0.999308195711,0.999311756709,0.999315308521,0.999318851147,0.999322384588,0.999325908844,0.999329423914,0.999332929798,0.999336426497,0.99933991401,0.999343392337,0.999346861478,0.999350321434,0.999353772204,0.999357213788,0.999360646186,0.999364069399,0.999367483425,0.999370888265,0.99937428392,0.999377670388,0.99938104767,0.999384415766,0.999387774676,0.9993911244,0.999394464938,0.99939779629,0.999401118455,0.999404431434,0.999407735226,0.999411029833,0.999414315253,0.999417591486,0.999420858533,0.999424116394,0.999427365068,0.999430604555,0.999433834857,0.999437055971,0.999440267899,0.99944347064,0.999446664195,0.999449848562,0.999453023744,0.999456189738,0.999459346546,0.999462494166,0.9994656326,0.999468761847,0.999471881907,0.999474992781,0.999478094467,0.999481186966,0.999484270278,0.999487344404,0.999490409342,0.999493465093,0.999496511657,0.999499549033,0.999502577223,0.999505596225,0.99950860604,0.999511606668,0.999514598109,0.999517580362,0.999520553428,0.999523517306,0.999526471997,0.999529417501,0.999532353817,0.999535280946,0.999538198887,0.999541107641,0.999544007207,0.999546897585,0.999549778776,0.999552650779,0.999555513595,0.999558367223,0.999561211663,0.999564046915,0.99956687298,0.999569689857,0.999572497546,0.999575296047,0.99957808536,0.999580865485,0.999583636423,0.999586398172,0.999589150734,0.999591894107,0.999594628292,0.99959735329,0.999600069099,0.99960277572,0.999605473153,0.999608161398,0.999610840455,0.999613510323,0.999616171003,0.999618822495,0.999621464799,0.999624097914,0.999626721841,0.99962933658,0.99963194213,0.999634538492,0.999637125666,0.999639703651,0.999642272447,0.999644832055,0.999647382475,0.999649923706,0.999652455748,0.999654978602,0.999657492267,0.999659996744,0.999662492032,0.999664978131,0.999667455042,0.999669922763,0.999672381297,0.999674830641,0.999677270796,0.999679701763,0.999682123541,0.99968453613,0.99968693953,0.999689333741,0.999691718763,0.999694094597,0.999696461241,0.999698818696,0.999701166963,0.99970350604,0.999705835928,0.999708156627,0.999710468137,0.999712770458,0.99971506359,0.999717347532,0.999719622286,0.99972188785,0.999724144225,0.999726391411,0.999728629407,0.999730858214,0.999733077832,0.999735288261,0.9997374895,0.999739681549,0.99974186441,0.999744038081,0.999746202562,0.999748357855,0.999750503957,0.99975264087,0.999754768594,0.999756887128,0.999758996472,0.999761096627,0.999763187593,0.999765269369,0.999767341955,0.999769405351,0.999771459558,0.999773504575,0.999775540403,0.99977756704,0.999779584488,0.999781592747,0.999783591815,0.999785581694,0.999787562382,0.999789533881,0.999791496191,0.99979344931,0.999795393239,0.999797327979,0.999799253528,0.999801169888,0.999803077058,0.999804975037,0.999806863827,0.999808743427,0.999810613836,0.999812475056,0.999814327085,0.999816169925,0.999818003574,0.999819828034,0.999821643303,0.999823449382,0.99982524627,0.999827033969,0.999828812478,0.999830581796,0.999832341924,0.999834092862,0.999835834609,0.999837567166,0.999839290533,0.99984100471,0.999842709696,0.999844405492,0.999846092098,0.999847769513,0.999849437738,0.999851096772,0.999852746616,0.99985438727,0.999856018733,0.999857641006,0.999859254088,0.99986085798,0.999862452681,0.999864038192,0.999865614512,0.999867181641,0.999868739581,0.999870288329,0.999871827887,0.999873358254,0.999874879431,0.999876391417,0.999877894212,0.999879387817,0.999880872231,0.999882347454,0.999883813487,0.999885270329,0.99988671798,0.99988815644,0.99988958571,0.999891005789,0.999892416677,0.999893818374,0.999895210881,0.999896594197,0.999897968321,0.999899333256,0.999900688999,0.999902035551,0.999903372912,0.999904701083,0.999906020062,0.999907329851,0.999908630449,0.999909921856,0.999911204071,0.999912477096,0.99991374093,0.999914995573,0.999916241025,0.999917477286,0.999918704356,0.999919922235,0.999921130922,0.999922330419,0.999923520725,0.999924701839,0.999925873763,0.999927036495,0.999928190036,0.999929334386,0.999930469545,0.999931595513,0.99993271229,0.999933819875,0.99993491827,0.999936007473,0.999937087485,0.999938158305,0.999939219935,0.999940272373,0.99994131562,0.999942349676,0.999943374541,0.999944390214,0.999945396696,0.999946393987,0.999947382086,0.999948360994,0.999949330711,0.999950291236,0.999951242571,0.999952184714,0.999953117665,0.999954041425,0.999954955994,0.999955861371,0.999956757557,0.999957644552,0.999958522355,0.999959390967,0.999960250387,0.999961100616,0.999961941654,0.9999627735,0.999963596155,0.999964409618,0.99996521389,0.99996600897,0.999966794859,0.999967571556,0.999968339062,0.999969097377,0.9999698465,0.999970586431,0.999971317171,0.999972038719,0.999972751076,0.999973454241,0.999974148215,0.999974832997,0.999975508588,0.999976174987,0.999976832194,0.99997748021,0.999978119035,0.999978748667,0.999979369109,0.999979980358,0.999980582416,0.999981175283,0.999981758957,0.999982333441,0.999982898732,0.999983454832,0.99998400174,0.999984539457,0.999985067982,0.999985587315,0.999986097457,0.999986598407,0.999987090165,0.999987572732,0.999988046107,0.99998851029,0.999988965282,0.999989411082,0.99998984769,0.999990275107,0.999990693332,0.999991102365,0.999991502206,0.999991892856,0.999992274314,0.999992646581,0.999993009655,0.999993363538,0.99999370823,0.999994043729,0.999994370037,0.999994687153,0.999994995077,0.99999529381,0.99999558335,0.999995863699,0.999996134857,0.999996396822,0.999996649596,0.999996893178,0.999997127568,0.999997352767,0.999997568774,0.999997775589,0.999997973212,0.999998161643,0.999998340883,0.999998510931,0.999998671787,0.999998823452,0.999998965924,0.999999099205,0.999999223294,0.999999338192,0.999999443897,0.999999540411,0.999999627733,0.999999705863,0.999999774801,0.999999834548,0.999999885103,0.999999926466,0.999999958637,0.999999981616,0.999999995404,1.0,0.999999995404,0.999999981616,0.999999958637,0.999999926466,0.999999885103,0.999999834548,0.999999774801,0.999999705863,0.999999627733,0.999999540411,0.999999443897,0.999999338192,0.999999223294,0.999999099205,0.999998965924,0.999998823452,0.999998671787,0.999998510931,0.999998340883,0.999998161643,0.999997973212,0.999997775589,0.999997568774,0.999997352767,0.999997127568,0.999996893178,0.999996649596,0.999996396822,0.999996134857,0.999995863699,0.99999558335,0.99999529381,0.999994995077,0.999994687153,0.999994370037,0.999994043729,0.99999370823,0.999993363538,0.999993009655,0.999992646581,0.999992274314,0.999991892856,0.999991502206,0.999991102365,0.999990693332,0.999990275107,0.99998984769,0.999989411082,0.999988965282,0.99998851029,0.999988046107,0.999987572732,0.999987090165,0.999986598407,0.999986097457,0.999985587315,0.999985067982,0.999984539457,0.99998400174,0.999983454832,0.999982898732,0.999982333441,0.999981758957,0.999981175283,0.999980582416,0.999979980358,0.999979369109,0.999978748667,0.999978119035,0.99997748021,0.999976832194,0.999976174987,0.999975508588,0.999974832997,0.999974148215,0.999973454241,0.999972751076,0.999972038719,0.999971317171,0.999970586431,0.9999698465,0.999969097377,0.999968339062,0.999967571556,0.999966794859,0.99996600897,0.99996521389,0.999964409618,0.999963596155,0.9999627735,0.999961941654,0.999961100616,0.999960250387,0.999959390967,0.999958522355,0.999957644552,0.999956757557,0.999955861371,0.999954955994,0.999954041425,0.999953117665,0.999952184714,0.999951242571,0.999950291236,0.999949330711,0.999948360994,0.999947382086,0.999946393987,0.999945396696,0.999944390214,0.999943374541,0.999942349676,0.99994131562,0.999940272373,0.999939219935,0.999938158305,0.999937087485,0.999936007473,0.99993491827,0.999933819875,0.99993271229,0.999931595513,0.999930469545,0.999929334386,0.999928190036,0.999927036495,0.999925873763,0.999924701839,0.999923520725,0.999922330419,0.999921130922,0.999919922235,0.999918704356,0.999917477286,0.999916241025,0.999914995573,0.99991374093,0.999912477096,0.999911204071,0.999909921856,0.999908630449,0.999907329851,0.999906020062,0.999904701083,0.999903372912,0.999902035551,0.999900688999,0.999899333256,0.999897968321,0.999896594197,0.999895210881,0.999893818374,0.999892416677,0.999891005789,0.99988958571,0.99988815644,0.99988671798,0.999885270329,0.999883813487,0.999882347454,0.999880872231,0.999879387817,0.999877894212,0.999876391417,0.999874879431,0.999873358254,0.999871827887,0.999870288329,0.999868739581,0.999867181641,0.999865614512,0.999864038192,0.999862452681,0.99986085798,0.999859254088,0.999857641006,0.999856018733,0.99985438727,0.999852746616,0.999851096772,0.999849437738,0.999847769513,0.999846092098,0.999844405492,0.999842709696,0.99984100471,0.999839290533,0.999837567166,0.999835834609,0.999834092862,0.999832341924,0.999830581796,0.999828812478,0.999827033969,0.99982524627,0.999823449382,0.999821643303,0.999819828034,0.999818003574,0.999816169925,0.999814327085,0.999812475056,0.999810613836,0.999808743427,0.999806863827,0.999804975037,0.999803077058,0.999801169888,0.999799253528,0.999797327979,0.999795393239,0.99979344931,0.999791496191,0.999789533881,0.999787562382,0.999785581694,0.999783591815,0.999781592747,0.999779584488,0.99977756704,0.999775540403,0.999773504575,0.999771459558,0.999769405351,0.999767341955,0.999765269369,0.999763187593,0.999761096627,0.999758996472,0.999756887128,0.999754768594,0.99975264087,0.999750503957,0.999748357855,0.999746202562,0.999744038081,0.99974186441,0.999739681549,0.9997374895,0.999735288261,0.999733077832,0.999730858214,0.999728629407,0.999726391411,0.999724144225,0.99972188785,0.999719622286,0.999717347532,0.99971506359,0.999712770458,0.999710468137,0.999708156627,0.999705835928,0.99970350604,0.999701166963,0.999698818696,0.999696461241,0.999694094597,0.999691718763,0.999689333741,0.99968693953,0.99968453613,0.999682123541,0.999679701763,0.999677270796,0.999674830641,0.999672381297,0.999669922763,0.999667455042,0.999664978131,0.999662492032,0.999659996744,0.999657492267,0.999654978602,0.999652455748,0.999649923706,0.999647382475,0.999644832055,0.999642272447,0.999639703651,0.999637125666,0.999634538492,0.99963194213,0.99962933658,0.999626721841,0.999624097914,0.999621464799,0.999618822495,0.999616171003,0.999613510323,0.999610840455,0.999608161398,0.999605473153,0.99960277572,0.999600069099,0.99959735329,0.999594628292,0.999591894107,0.999589150734,0.999586398172,0.999583636423,0.999580865485,0.99957808536,0.999575296047,0.999572497546,0.999569689857,0.99956687298,0.999564046915,0.999561211663,0.999558367223,0.999555513595,0.999552650779,0.999549778776,0.999546897585,0.999544007207,0.999541107641,0.999538198887,0.999535280946,0.999532353817,0.999529417501,0.999526471997,0.999523517306,0.999520553428,0.999517580362,0.999514598109,0.999511606668,0.99950860604,0.999505596225,0.999502577223,0.999499549033,0.999496511657,0.999493465093,0.999490409342,0.999487344404,0.999484270278,0.999481186966,0.999478094467,0.999474992781,0.999471881907,0.999468761847,0.9994656326,0.999462494166,0.999459346546,0.999456189738,0.999453023744,0.999449848562,0.999446664195,0.99944347064,0.999440267899,0.999437055971,0.999433834857,0.999430604555,0.999427365068,0.999424116394,0.999420858533,0.999417591486,0.999414315253,0.999411029833,0.999407735226,0.999404431434,0.999401118455,0.99939779629,0.999394464938,0.9993911244,0.999387774676,0.999384415766,0.99938104767,0.999377670388,0.99937428392,0.999370888265,0.999367483425,0.999364069399,0.999360646186,0.999357213788,0.999353772204,0.999350321434,0.999346861478,0.999343392337,0.99933991401,0.999336426497,0.999332929798,0.999329423914,0.999325908844,0.999322384588,0.999318851147,0.999315308521,0.999311756709,0.999308195711,0.999304625528,0.99930104616,0.999297457606,0.999293859867,0.999290252943,0.999286636833,0.999283011538,0.999279377058,0.999275733393,0.999272080543,0.999268418507,0.999264747287,0.999261066881,0.999257377291,0.999253678515,0.999249970555,0.999246253409,0.999242527079,0.999238791564,0.999235046865,0.99923129298,0.999227529911,0.999223757657,0.999219976218,0.999216185595,0.999212385787,0.999208576795,0.999204758618,0.999200931257,0.999197094711,0.999193248981,0.999189394067,0.999185529968,0.999181656685,0.999177774217,0.999173882566,0.99916998173,0.99916607171,0.999162152506,0.999158224118,0.999154286545,0.999150339789,0.999146383849,0.999142418725,0.999138444417,0.999134460925,0.999130468249,0.99912646639,0.999122455346,0.999118435119,0.999114405709,0.999110367114,0.999106319336,0.999102262375,0.99909819623,0.999094120901,0.999090036389,0.999085942694,0.999081839815,0.999077727753,0.999073606507,0.999069476078,0.999065336466,0.999061187671,0.999057029693,0.999052862532,0.999048686187,0.999044500659,0.999040305949,0.999036102055,0.999031888979,0.99902766672,0.999023435277,0.999019194652,0.999014944845,0.999010685854,0.999006417681,0.999002140325,0.998997853787,0.998993558066,0.998989253162,0.998984939076,0.998980615807,0.998976283356,0.998971941723,0.998967590908,0.99896323091,0.998958861729,0.998954483367,0.998950095822,0.998945699096,0.998941293187,0.998936878096,0.998932453823,0.998928020368,0.998923577731,0.998919125913,0.998914664912,0.99891019473,0.998905715366,0.99890122682,0.998896729092,0.998892222183,0.998887706093,0.99888318082,0.998878646366,0.998874102731,0.998869549914,0.998864987916,0.998860416737,0.998855836376,0.998851246834,0.99884664811,0.998842040206,0.99883742312,0.998832796854,0.998828161406,0.998823516777,0.998818862967,0.998814199976,0.998809527805,0.998804846452,0.998800155919,0.998795456205,0.99879074731,0.998786029235,0.998781301979,0.998776565542,0.998771819925,0.998767065128,0.99876230115,0.998757527991,0.998752745652,0.998747954133,0.998743153434,0.998738343554,0.998733524494,0.998728696254,0.998723858834,0.998719012234,0.998714156454,0.998709291494,0.998704417353,0.998699534034,0.998694641534,0.998689739854,0.998684828995,0.998679908956,0.998674979737,0.998670041339,0.998665093761,0.998660137004,0.998655171067,0.998650195951,0.998645211655,0.99864021818,0.998635215526,0.998630203693,0.99862518268,0.998620152488,0.998615113117,0.998610064567,0.998605006838,0.99859993993,0.998594863843,0.998589778578,0.998584684133,0.99857958051,0.998574467708,0.998569345727,0.998564214568,0.99855907423,0.998553924713,0.998548766018,0.998543598145,0.998538421093,0.998533234863,0.998528039454,0.998522834868,0.998517621103,0.99851239816,0.998507166038,0.998501924739,0.998496674262,0.998491414606,0.998486145773,0.998480867762,0.998475580573,0.998470284207,0.998464978662,0.99845966394,0.998454340041,0.998449006963,0.998443664708,0.998438313276,0.998432952667,0.998427582879,0.998422203915,0.998416815773,0.998411418454,0.998406011958,0.998400596285,0.998395171435,0.998389737407,0.998384294203,0.998378841822,0.998373380264,0.998367909529,0.998362429617,0.998356940528,0.998351442263,0.998345934821,0.998340418203,0.998334892408,0.998329357436,0.998323813289,0.998318259964,0.998312697464,0.998307125787,0.998301544934,0.998295954905,0.998290355699,0.998284747318,0.99827912976,0.998273503027,0.998267867118,0.998262222032,0.998256567771,0.998250904335,0.998245231722,0.998239549934,0.99823385897,0.998228158831,0.998222449516,0.998216731026,0.99821100336,0.99820526652,0.998199520503,0.998193765312,0.998188000945,0.998182227403,0.998176444686,0.998170652795,0.998164851728,0.998159041486,0.998153222069,0.998147393478,0.998141555712,0.998135708771,0.998129852655,0.998123987365,0.9981181129,0.998112229261,0.998106336447,0.998100434459,0.998094523297,0.99808860296,0.99808267345,0.998076734765,0.998070786905,0.998064829872,0.998058863665,0.998052888284,0.998046903729,0.99804091,0.998034907098,0.998028895021,0.998022873771,0.998016843348,0.998010803751,0.99800475498,0.997998697036,0.997992629919,0.997986553628,0.997980468164,0.997974373526,0.997968269716,0.997962156732,0.997956034576,0.997949903246,0.997943762743,0.997937613068,0.99793145422,0.997925286199,0.997919109005,0.997912922638,0.997906727099,0.997900522388,0.997894308504,0.997888085447,0.997881853218,0.997875611817,0.997869361244,0.997863101498,0.99785683258,0.99785055449,0.997844267228,0.997837970795,0.997831665189,0.997825350411,0.997819026462,0.99781269334,0.997806351048,0.997799999583,0.997793638947,0.99778726914,0.997780890161,0.99777450201,0.997768104688,0.997761698195,0.997755282531,0.997748857696,0.997742423689,0.997735980512,0.997729528164,0.997723066644,0.997716595954,0.997710116093,0.997703627061,0.997697128859,0.997690621486,0.997684104942,0.997677579228,0.997671044343,0.997664500289,0.997657947063,0.997651384668,0.997644813102,0.997638232366,0.99763164246,0.997625043384,0.997618435139,0.997611817723,0.997605191137,0.997598555382,0.997591910457,0.997585256362,0.997578593098,0.997571920664,0.99756523906,0.997558548288,0.997551848346,0.997545139234,0.997538420954,0.997531693504,0.997524956885,0.997518211097,0.99751145614,0.997504692015,0.99749791872,0.997491136257,0.997484344624,0.997477543824,0.997470733854,0.997463914716,0.99745708641,0.997450248935,0.997443402292,0.997436546481,0.997429681501,0.997422807353,0.997415924037,0.997409031553,0.997402129901,0.997395219081,0.997388299094,0.997381369938,0.997374431615,0.997367484124,0.997360527466,0.99735356164,0.997346586647,0.997339602486,0.997332609158,0.997325606662,0.997318595,0.99731157417,0.997304544173,0.997297505009,0.997290456679,0.997283399181,0.997276332517,0.997269256685,0.997262171688,0.997255077523,0.997247974192,0.997240861694,0.99723374003,0.9972266092,0.997219469204,0.997212320041,0.997205161712,0.997197994217,0.997190817555,0.997183631728,0.997176436735,0.997169232576,0.997162019252,0.997154796762,0.997147565106,0.997140324284,0.997133074297,0.997125815145,0.997118546827,0.997111269344,0.997103982696,0.997096686882,0.997089381903,0.99708206776,0.997074744451,0.997067411978,0.997060070339,0.997052719536,0.997045359569,0.997037990436,0.997030612139,0.997023224678,0.997015828052,0.997008422262,0.997001007307,0.996993583189,0.996986149906,0.996978707459,0.996971255848,0.996963795073,0.996956325134,0.996948846031,0.996941357765,0.996933860335,0.996926353741,0.996918837984,0.996911313064,0.99690377898,0.996896235732,0.996888683322,0.996881121748,0.996873551011,0.996865971111,0.996858382048,0.996850783822,0.996843176434,0.996835559882,0.996827934168,0.996820299291,0.996812655252,0.99680500205,0.996797339686,0.996789668159,0.99678198747,0.996774297619,0.996766598606,0.996758890431,0.996751173094,0.996743446594,0.996735710933,0.996727966111,0.996720212126,0.99671244898,0.996704676672,0.996696895203,0.996689104572,0.99668130478,0.996673495827,0.996665677712,0.996657850437,0.996650014,0.996642168402,0.996634313644,0.996626449724,0.996618576644,0.996610694403,0.996602803002,0.99659490244,0.996586992717,0.996579073834,0.996571145791,0.996563208587,0.996555262223,0.996547306699,0.996539342015,0.996531368171,0.996523385167,0.996515393004,0.99650739168,0.996499381197,0.996491361554,0.996483332752,0.99647529479,0.996467247669,0.996459191389,0.996451125949,0.99644305135,0.996434967592,0.996426874675,0.996418772599,0.996410661364,0.996402540971,0.996394411419,0.996386272708,0.996378124838,0.99636996781,0.996361801624,0.996353626279,0.996345441776,0.996337248115,0.996329045295,0.996320833318,0.996312612183,0.99630438189,0.996296142438,0.99628789383,0.996279636063,0.996271369139,0.996263093058,0.996254807819,0.996246513422,0.996238209869,0.996229897158,0.99622157529,0.996213244265,0.996204904083,0.996196554744,0.996188196248,0.996179828596,0.996171451787,0.996163065821,0.996154670699,0.99614626642,0.996137852985,0.996129430393,0.996120998646,0.996112557742,0.996104107682,0.996095648467,0.996087180095,0.996078702568,0.996070215884,0.996061720046,0.996053215051,0.996044700901,0.996036177596,0.996027645135,0.996019103519,0.996010552748,0.996001992822,0.99599342374,0.995984845504,0.995976258113,0.995967661567,0.995959055866,0.995950441011,0.995941817001,0.995933183837,0.995924541518,0.995915890045,0.995907229417,0.995898559636,0.9958898807,0.995881192611,0.995872495367,0.99586378897,0.995855073419,0.995846348714,0.995837614855,0.995828871843,0.995820119678,0.995811358359,0.995802587887,0.995793808262,0.995785019483,0.995776221552,0.995767414468,0.99575859823,0.99574977284,0.995740938298,0.995732094602,0.995723241754,0.995714379754,0.995705508601,0.995696628296,0.995687738838,0.995678840229,0.995669932467,0.995661015554,0.995652089488,0.995643154271,0.995634209902,0.995625256381,0.995616293709,0.995607321885,0.99559834091,0.995589350783,0.995580351506,0.995571343077,0.995562325497,0.995553298766,0.995544262884,0.995535217851,0.995526163668,0.995517100333,0.995508027849,0.995498946213,0.995489855428,0.995480755492,0.995471646406,0.995462528169,0.995453400783,0.995444264247,0.99543511856,0.995425963724,0.995416799738,0.995407626603,0.995398444317,0.995389252883,0.995380052299,0.995370842565,0.995361623683,0.995352395651,0.99534315847,0.99533391214,0.995324656662,0.995315392034,0.995306118258,0.995296835333,0.99528754326,0.995278242038,0.995268931668,0.995259612149,0.995250283482,0.995240945667,0.995231598705,0.995222242594,0.995212877335,0.995203502928,0.995194119374,0.995184726672,0.995175324823,0.995165913826,0.995156493682,0.99514706439,0.995137625952,0.995128178366,0.995118721633,0.995109255754,0.995099780727,0.995090296554,0.995080803234,0.995071300768,0.995061789155,0.995052268396,0.99504273849,0.995033199438,0.99502365124,0.995014093896,0.995004527406,0.99499495177,0.994985366989,0.994975773061,0.994966169989,0.99495655777,0.994946936406,0.994937305897,0.994927666243,0.994918017443,0.994908359498,0.994898692409,0.994889016174,0.994879330795,0.994869636271,0.994859932602,0.994850219789,0.994840497831,0.994830766729,0.994821026483,0.994811277092,0.994801518558,0.994791750879,0.994781974057,0.99477218809,0.99476239298,0.994752588726,0.994742775329,0.994732952788,0.994723121104,0.994713280277,0.994703430306,0.994693571193,0.994683702936,0.994673825536,0.994663938994,0.994654043309,0.994644138481,0.994634224511,0.994624301398,0.994614369143,0.994604427745,0.994594477206,0.994584517524,0.9945745487,0.994564570734,0.994554583627,0.994544587377,0.994534581987,0.994524567454,0.99451454378,0.994504510965,0.994494469008,0.994484417911,0.994474357672,0.994464288292,0.994454209771,0.99444412211,0.994434025308,0.994423919365,0.994413804281,0.994403680058,0.994393546694,0.994383404189,0.994373252545,0.99436309176,0.994352921835,0.994342742771,0.994332554567,0.994322357223,0.994312150739,0.994301935116,0.994291710353,0.994281476452,0.994271233411,0.99426098123,0.994250719911,0.994240449453,0.994230169856,0.994219881121,0.994209583246,0.994199276233,0.994188960082,0.994178634792,0.994168300364,0.994157956798,0.994147604093,0.994137242251,0.994126871271,0.994116491153,0.994106101897,0.994095703504,0.994085295973,0.994074879305,0.994064453499,0.994054018557,0.994043574477,0.99403312126,0.994022658906,0.994012187415,0.994001706787,0.993991217023,0.993980718123,0.993970210085,0.993959692912,0.993949166602,0.993938631156,0.993928086574,0.993917532856,0.993906970002,0.993896398013,0.993885816887,0.993875226626,0.99386462723,0.993854018698,0.993843401031,0.993832774229,0.993822138292,0.993811493219,0.993800839012,0.99379017567,0.993779503193,0.993768821582,0.993758130836,0.993747430955,0.993736721941,0.993726003792,0.993715276509,0.993704540092,0.993693794541,0.993683039856,0.993672276038,0.993661503086,0.993650721,0.993639929781,0.993629129429,0.993618319943,0.993607501325,0.993596673573,0.993585836688,0.993574990671,0.993564135521,0.993553271238,0.993542397822,0.993531515275,0.993520623595,0.993509722782,0.993498812838,0.993487893761,0.993476965553,0.993466028213,0.993455081741,0.993444126137,0.993433161402,0.993422187535,0.993411204537,0.993400212408,0.993389211148,0.993378200757,0.993367181235,0.993356152582,0.993345114798,0.993334067884,0.993323011839,0.993311946664,0.993300872358,0.993289788922,0.993278696356,0.993267594661,0.993256483835,0.993245363879,0.993234234794,0.993223096579,0.993211949235,0.993200792761,0.993189627158,0.993178452426,0.993167268564,0.993156075574,0.993144873455,0.993133662207,0.99312244183,0.993111212325,0.993099973692,0.99308872593,0.993077469039,0.993066203021,0.993054927875,0.9930436436,0.993032350198,0.993021047668,0.99300973601,0.992998415225,0.992987085312,0.992975746273,0.992964398105,0.992953040811,0.99294167439,0.992930298842,0.992918914167,0.992907520365,0.992896117437,0.992884705382,0.992873284201,0.992861853893,0.99285041446,0.9928389659,0.992827508215,0.992816041403,0.992804565466,0.992793080403,0.992781586215,0.992770082901,0.992758570462,0.992747048897,0.992735518208,0.992723978393,0.992712429454,0.992700871389,0.9926893042,0.992677727887,0.992666142449,0.992654547887,0.9926429442,0.992631331389,0.992619709454,0.992608078395,0.992596438213,0.992584788906,0.992573130476,0.992561462923,0.992549786246,0.992538100446,0.992526405522,0.992514701476,0.992502988306,0.992491266014,0.992479534599,0.992467794061,0.992456044401,0.992444285618,0.992432517713,0.992420740685,0.992408954536,0.992397159264,0.992385354871,0.992373541356,0.992361718719,0.99234988696,0.99233804608,0.992326196079,0.992314336957,0.992302468713,0.992290591348,0.992278704863,0.992266809256,0.992254904529,0.992242990681,0.992231067713,0.992219135625,0.992207194416,0.992195244087,0.992183284638,0.992171316069,0.99215933838,0.992147351571,0.992135355643,0.992123350596,0.992111336428,0.992099313142,0.992087280737,0.992075239212,0.992063188569,0.992051128806,0.992039059925,0.992026981926,0.992014894808,0.992002798571,0.991990693216,0.991978578744,0.991966455153,0.991954322444,0.991942180617,0.991930029672,0.99191786961,0.991905700431,0.991893522134,0.991881334719,0.991869138188,0.991856932539,0.991844717774,0.991832493892,0.991820260893,0.991808018777,0.991795767545,0.991783507197,0.991771237732,0.991758959152,0.991746671455,0.991734374642,0.991722068713,0.991709753669,0.991697429509,0.991685096234,0.991672753843,0.991660402337,0.991648041716,0.99163567198,0.991623293129,0.991610905163,0.991598508083,0.991586101888,0.991573686579,0.991561262155,0.991548828617,0.991536385965,0.991523934199,0.991511473319,0.991499003325,0.991486524218,0.991474035997,0.991461538662,0.991449032215,0.991436516654,0.99142399198,0.991411458193,0.991398915294,0.991386363281,0.991373802156,0.991361231919,0.991348652569,0.991336064107,0.991323466532,0.991310859846,0.991298244048,0.991285619138,0.991272985116,0.991260341983,0.991247689738,0.991235028382,0.991222357915,0.991209678336,0.991196989647,0.991184291847,0.991171584936,0.991158868914,0.991146143782,0.991133409539,0.991120666186,0.991107913723,0.99109515215,0.991082381467,0.991069601674,0.991056812772,0.99104401476,0.991031207638,0.991018391407,0.991005566067,0.990992731618,0.99097988806,0.990967035392,0.990954173617,0.990941302732,0.990928422739,0.990915533638,0.990902635428,0.99088972811,0.990876811684,0.99086388615,0.990850951508,0.990838007759,0.990825054902,0.990812092938,0.990799121866,0.990786141687,0.990773152401,0.990760154008,0.990747146508,0.990734129902,0.990721104188,0.990708069369,0.990695025443,0.99068197241,0.990668910272,0.990655839027,0.990642758677,0.990629669221,0.990616570659,0.990603462992,0.990590346219,0.990577220341,0.990564085358,0.990550941269,0.990537788076,0.990524625778,0.990511454375,0.990498273868,0.990485084256,0.99047188554,0.99045867772,0.990445460796,0.990432234768,0.990418999635,0.9904057554,0.99039250206,0.990379239617,0.990365968071,0.990352687421,0.990339397669,0.990326098813,0.990312790855,0.990299473793,0.99028614763,0.990272812363,0.990259467994,0.990246114523,0.99023275195,0.990219380275,0.990205999498,0.99019260962,0.990179210639,0.990165802557,0.990152385374,0.990138959089,0.990125523704,0.990112079217,0.990098625629,0.990085162941,0.990071691152,0.990058210262,0.990044720272,0.990031221182,0.990017712992,0.990004195701,0.989990669311,0.989977133821,0.989963589231,0.989950035542,0.989936472753,0.989922900865,0.989909319878,0.989895729791,0.989882130606,0.989868522322,0.98985490494,0.989841278459,0.989827642879,0.989813998202,0.989800344426,0.989786681552,0.98977300958,0.98975932851,0.989745638343,0.989731939078,0.989718230716,0.989704513256,0.989690786699,0.989677051046,0.989663306295,0.989649552448,0.989635789504,0.989622017463,0.989608236326,0.989594446093,0.989580646764,0.989566838338,0.989553020817,0.9895391942,0.989525358487,0.989511513679,0.989497659776,0.989483796777,0.989469924683,0.989456043494,0.989442153211,0.989428253832,0.989414345359,0.989400427791,0.989386501129,0.989372565373,0.989358620523,0.989344666579,0.989330703541,0.989316731409,0.989302750183,0.989288759865,0.989274760452,0.989260751947,0.989246734349,0.989232707657,0.989218671873,0.989204626996,0.989190573027,0.989176509965,0.989162437811,0.989148356564,0.989134266226,0.989120166796,0.989106058273,0.98909194066,0.989077813955,0.989063678158,0.98904953327,0.989035379291,0.989021216221,0.98900704406,0.988992862808,0.988978672466,0.988964473033,0.98895026451,0.988936046897,0.988921820194,0.9889075844,0.988893339517,0.988879085544,0.988864822482,0.98885055033,0.988836269089,0.988821978758,0.988807679339,0.988793370831,0.988779053234,0.988764726548,0.988750390774,0.988736045911,0.98872169196,0.988707328921,0.988692956794,0.98867857558,0.988664185277,0.988649785887,0.988635377409,0.988620959844,0.988606533192,0.988592097453,0.988577652627,0.988563198714,0.988548735715,0.988534263629,0.988519782456,0.988505292198,0.988490792853,0.988476284422,0.988461766905,0.988447240303,0.988432704615,0.988418159841,0.988403605982,0.988389043038,0.988374471009,0.988359889895,0.988345299697,0.988330700413,0.988316092045,0.988301474593,0.988286848056,0.988272212435,0.988257567731,0.988242913942,0.98822825107,0.988213579114,0.988198898075,0.988184207952,0.988169508746,0.988154800457,0.988140083086,0.988125356631,0.988110621094,0.988095876474,0.988081122772,0.988066359988,0.988051588122,0.988036807173,0.988022017143,0.988007218031,0.987992409838,0.987977592563,0.987962766207,0.98794793077,0.987933086252,0.987918232653,0.987903369973,0.987888498213,0.987873617372,0.987858727451,0.987843828449,0.987828920368,0.987814003206,0.987799076965,0.987784141645,0.987769197244,0.987754243765,0.987739281206,0.987724309568,0.987709328851,0.987694339055,0.987679340181,0.987664332228,0.987649315197,0.987634289087,0.9876192539,0.987604209634,0.987589156291,0.987574093869,0.987559022371,0.987543941794,0.987528852141,0.98751375341,0.987498645603,0.987483528718,0.987468402757,0.987453267719,0.987438123605,0.987422970414,0.987407808147,0.987392636804,0.987377456385,0.987362266891,0.987347068321,0.987331860675,0.987316643954,0.987301418158,0.987286183287,0.98727093934,0.987255686319,0.987240424224,0.987225153054,0.987209872809,0.987194583491,0.987179285098,0.987163977631,0.987148661091,0.987133335477,0.987118000789,0.987102657028,0.987087304193,0.987071942286,0.987056571306,0.987041191253,0.987025802127,0.987010403928,0.986994996658,0.986979580315,0.9869641549,0.986948720413,0.986933276854,0.986917824223,0.986902362521,0.986886891748,0.986871411903,0.986855922987,0.986840425,0.986824917943,0.986809401814,0.986793876615,0.986778342346,0.986762799007,0.986747246597,0.986731685117,0.986716114568,0.986700534949,0.98668494626,0.986669348502,0.986653741675,0.986638125778,0.986622500813,0.986606866779,0.986591223676,0.986575571505,0.986559910265,0.986544239957,0.986528560581,0.986512872136,0.986497174625,0.986481468045,0.986465752398,0.986450027683,0.986434293902,0.986418551053,0.986402799137,0.986387038154,0.986371268105,0.986355488989,0.986339700807,0.986323903559,0.986308097245,0.986292281864,0.986276457418,0.986260623906,0.986244781329,0.986228929686,0.986213068979,0.986197199206,0.986181320368,0.986165432465,0.986149535498,0.986133629467,0.986117714371,0.98610179021,0.986085856986,0.986069914698,0.986053963346,0.986038002931,0.986022033452,0.98600605491,0.985990067304,0.985974070636,0.985958064905,0.985942050111,0.985926026254,0.985909993335,0.985893951354,0.985877900311,0.985861840206,0.985845771038,0.98582969281,0.985813605519,0.985797509168,0.985781403755,0.985765289281,0.985749165746,0.98573303315,0.985716891493,0.985700740776,0.985684580999,0.985668412162,0.985652234264,0.985636047307,0.985619851289,0.985603646213,0.985587432076,0.985571208881,0.985554976626,0.985538735312,0.98552248494,0.985506225508,0.985489957018,0.98547367947,0.985457392864,0.985441097199,0.985424792476,0.985408478696,0.985392155858,0.985375823962,0.985359483009,0.985343132999,0.985326773932,0.985310405807,0.985294028626,0.985277642389,0.985261247095,0.985244842745,0.985228429338,0.985212006876,0.985195575357,0.985179134783,0.985162685154,0.985146226469,0.985129758728,0.985113281933,0.985096796083,0.985080301178,0.985063797218,0.985047284204,0.985030762135,0.985014231012,0.984997690835,0.984981141605,0.98496458332,0.984948015982,0.984931439591,0.984914854146,0.984898259648,0.984881656097,0.984865043494,0.984848421837,0.984831791128,0.984815151367,0.984798502554,0.984781844688,0.984765177771,0.984748501802,0.984731816781,0.984715122709,0.984698419586,0.984681707411,0.984664986185,0.984648255909,0.984631516582,0.984614768204,0.984598010776,0.984581244298,0.98456446877,0.984547684192,0.984530890564,0.984514087886,0.984497276159,0.984480455383,0.984463625558,0.984446786684,0.98442993876,0.984413081789,0.984396215768,0.984379340699,0.984362456583,0.984345563418,0.984328661205,0.984311749944,0.984294829636,0.98427790028,0.984260961878,0.984244014428,0.984227057931,0.984210092387,0.984193117797,0.98417613416,0.984159141476,0.984142139747,0.984125128972,0.98410810915,0.984091080283,0.984074042371,0.984056995413,0.98403993941,0.984022874361,0.984005800268,0.98398871713,0.983971624948,0.983954523721,0.983937413449,0.983920294134,0.983903165774,0.983886028371,0.983868881924,0.983851726434,0.9838345619,0.983817388323,0.983800205703,0.98378301404,0.983765813334,0.983748603586,0.983731384795,0.983714156962,0.983696920087,0.98367967417,0.983662419212,0.983645155211,0.98362788217,0.983610600087,0.983593308962,0.983576008797,0.983558699591,0.983541381345,0.983524054058,0.98350671773,0.983489372362,0.983472017955,0.983454654507,0.98343728202,0.983419900493,0.983402509927,0.983385110322,0.983367701677,0.983350283994,0.983332857272,0.983315421511,0.983297976712,0.983280522874,0.983263059999,0.983245588085,0.983228107134,0.983210617145,0.983193118119,0.983175610055,0.983158092955,0.983140566817,0.983123031642,0.983105487431,0.983087934184,0.983070371899,0.983052800579,0.983035220223,0.983017630831,0.983000032403,0.98298242494,0.982964808441,0.982947182908,0.982929548339,0.982911904735,0.982894252096,0.982876590423,0.982858919716,0.982841239974,0.982823551199,0.982805853389,0.982788146546,0.982770430669,0.982752705758,0.982734971815,0.982717228838,0.982699476829,0.982681715786,0.982663945711,0.982646166604,0.982628378464,0.982610581292,0.982592775089,0.982574959853,0.982557135586,0.982539302287,0.982521459958,0.982503608597,0.982485748205,0.982467878782,0.982450000328,0.982432112845,0.98241421633,0.982396310786,0.982378396212,0.982360472608,0.982342539974,0.982324598311,0.982306647618,0.982288687896,0.982270719146,0.982252741366,0.982234754558,0.982216758721,0.982198753856,0.982180739963,0.982162717042,0.982144685093,0.982126644117,0.982108594113,0.982090535081,0.982072467022,0.982054389937,0.982036303824,0.982018208685,0.98200010452,0.981981991328,0.98196386911,0.981945737865,0.981927597595,0.9819094483,0.981891289979,0.981873122632,0.981854946261,0.981836760864,0.981818566443,0.981800362996,0.981782150526,0.981763929031,0.981745698512,0.981727458969,0.981709210402,0.981690952811,0.981672686197,0.98165441056,0.981636125899,0.981617832215,0.981599529509,0.98158121778,0.981562897028,0.981544567255,0.981526228459,0.981507880641,0.981489523801,0.98147115794,0.981452783057,0.981434399152,0.981416006227,0.981397604281,0.981379193314,0.981360773326,0.981342344318,0.981323906289,0.981305459241,0.981287003172,0.981268538084,0.981250063976,0.981231580849,0.981213088702,0.981194587536,0.981176077352,0.981157558148,0.981139029926,0.981120492686,0.981101946427,0.98108339115,0.981064826856,0.981046253543,0.981027671213,0.981009079866,0.980990479502,0.98097187012,0.980953251721,0.980934624306,0.980915987874,0.980897342426,0.980878687962,0.980860024482,0.980841351985,0.980822670473,0.980803979946,0.980785280403,0.980766571845,0.980747854272,0.980729127685,0.980710392082,0.980691647465,0.980672893834,0.980654131189,0.98063535953,0.980616578857,0.98059778917,0.98057899047,0.980560182756,0.98054136603,0.98052254029,0.980503705538,0.980484861773,0.980466008996,0.980447147207,0.980428276405,0.980409396592,0.980390507767,0.98037160993,0.980352703082,0.980333787223,0.980314862353,0.980295928472,0.98027698558,0.980258033678,0.980239072766,0.980220102843,0.980201123911,0.980182135968,0.980163139016,0.980144133055,0.980125118084,0.980106094104,0.980087061115,0.980068019118,0.980048968112,0.980029908097,0.980010839074,0.979991761043,0.979972674005,0.979953577958,0.979934472905,0.979915358843,0.979896235775,0.9798771037,0.979857962617,0.979838812528,0.979819653433,0.979800485331,0.979781308224,0.97976212211,0.979742926991,0.979723722866,0.979704509735,0.979685287599,0.979666056459,0.979646816313,0.979627567163,0.979608309008,0.979589041849,0.979569765685,0.979550480518,0.979531186347,0.979511883172,0.979492570994,0.979473249812,0.979453919628,0.97943458044,0.97941523225,0.979395875057,0.979376508861,0.979357133664,0.979337749464,0.979318356263,0.97929895406,0.979279542855,0.979260122649,0.979240693442,0.979221255234,0.979201808025,0.979182351816,0.979162886606,0.979143412395,0.979123929185,0.979104436975,0.979084935765,0.979065425556,0.979045906347,0.979026378139,0.979006840932,0.978987294726,0.978967739522,0.978948175319,0.978928602118,0.978909019919,0.978889428721,0.978869828527,0.978850219334,0.978830601144,0.978810973957,0.978791337773,0.978771692592,0.978752038415,0.978732375241,0.97871270307,0.978693021904,0.978673331741,0.978653632583,0.978633924429,0.97861420728,0.978594481136,0.978574745997,0.978555001862,0.978535248733,0.97851548661,0.978495715492,0.978475935381,0.978456146275,0.978436348175,0.978416541082,0.978396724996,0.978376899916,0.978357065843,0.978337222778,0.97831737072,0.978297509669,0.978277639626,0.978257760591,0.978237872564,0.978217975545,0.978198069534,0.978178154533,0.97815823054,0.978138297556,0.978118355581,0.978098404615,0.978078444659,0.978058475713,0.978038497777,0.978018510851,0.977998514935,0.977978510029,0.977958496134,0.97793847325,0.977918441377,0.977898400515,0.977878350664,0.977858291825,0.977838223998,0.977818147183,0.977798061379,0.977777966588,0.97775786281,0.977737750044,0.977717628291,0.977697497551,0.977677357825,0.977657209111,0.977637051411,0.977616884725,0.977596709053,0.977576524396,0.977556330752,0.977536128123,0.977515916509,0.977495695909,0.977475466325,0.977455227756,0.977434980202,0.977414723664,0.977394458142,0.977374183635,0.977353900145,0.977333607671,0.977313306214,0.977292995774,0.977272676351,0.977252347944,0.977232010555,0.977211664184,0.97719130883,0.977170944494,0.977150571176,0.977130188876,0.977109797595,0.977089397332,0.977068988088,0.977048569863,0.977028142658,0.977007706471,0.976987261305,0.976966807158,0.976946344031,0.976925871924,0.976905390837,0.976884900771,0.976864401725,0.976843893701,0.976823376697,0.976802850715,0.976782315754,0.976761771815,0.976741218897,0.976720657002,0.976700086129,0.976679506278,0.97665891745,0.976638319644,0.976617712862,0.976597097102,0.976576472366,0.976555838653,0.976535195965,0.9765145443,0.976493883659,0.976473214042,0.97645253545,0.976431847883,0.97641115134,0.976390445822,0.97636973133,0.976349007863,0.976328275422,0.976307534006,0.976286783617,0.976266024253,0.976245255916,0.976224478606,0.976203692322,0.976182897066,0.976162092836,0.976141279634,0.976120457459,0.976099626312,0.976078786193,0.976057937102,0.976037079039,0.976016212005,0.975995335999,0.975974451022,0.975953557075,0.975932654156,0.975911742267,0.975890821408,0.975869891578,0.975848952779,0.975828005009,0.975807048271,0.975786082562,0.975765107885,0.975744124238,0.975723131623,0.975702130039,0.975681119486,0.975660099965,0.975639071476,0.97561803402,0.975596987595,0.975575932204,0.975554867844,0.975533794518,0.975512712225,0.975491620965,0.975470520739,0.975449411546,0.975428293388,0.975407166263,0.975386030173,0.975364885117,0.975343731095,0.975322568109,0.975301396158,0.975280215241,0.975259025361,0.975237826516,0.975216618706,0.975195401933,0.975174176196,0.975152941495,0.975131697831,0.975110445204,0.975089183614,0.975067913061,0.975046633545,0.975025345067,0.975004047627,0.974982741224,0.97496142586,0.974940101534,0.974918768247,0.974897425999,0.974876074789,0.974854714619,0.974833345488,0.974811967396,0.974790580344,0.974769184333,0.974747779361,0.974726365429,0.974704942539,0.974683510689,0.974662069879,0.974640620111,0.974619161384,0.974597693699,0.974576217056,0.974554731454,0.974533236894,0.974511733377,0.974490220902,0.97446869947,0.974447169081,0.974425629735,0.974404081432,0.974382524173,0.974360957957,0.974339382786,0.974317798658,0.974296205575,0.974274603536,0.974252992541,0.974231372592,0.974209743688,0.974188105829,0.974166459015,0.974144803247,0.974123138525,0.97410146485,0.97407978222,0.974058090637,0.9740363901,0.974014680611,0.973992962168,0.973971234773,0.973949498425,0.973927753125,0.973905998872,0.973884235668,0.973862463512,0.973840682405,0.973818892346,0.973797093336,0.973775285375,0.973753468463,0.973731642601,0.973709807788,0.973687964026,0.973666111313,0.973644249651,0.973622379039,0.973600499478,0.973578610967,0.973556713508,0.9735348071,0.973512891744,0.973490967439,0.973469034186,0.973447091985,0.973425140837,0.973403180741,0.973381211697,0.973359233707,0.973337246769,0.973315250885,0.973293246055,0.973271232278,0.973249209555,0.973227177886,0.973205137271,0.973183087711,0.973161029206,0.973138961755,0.97311688536,0.97309480002,0.973072705735,0.973050602507,0.973028490334,0.973006369217,0.972984239157,0.972962100153,0.972939952206,0.972917795315,0.972895629482,0.972873454707,0.972851270989,0.972829078328,0.972806876726,0.972784666182,0.972762446696,0.972740218268,0.9727179809,0.97269573459,0.97267347934,0.972651215149,0.972628942018,0.972606659946,0.972584368935,0.972562068983,0.972539760093,0.972517442262,0.972495115493,0.972472779784,0.972450435137,0.972428081552,0.972405719027,0.972383347565,0.972360967165,0.972338577827,0.972316179552,0.972293772339,0.972271356189,0.972248931102,0.972226497079,0.972204054119,0.972181602223,0.97215914139,0.972136671622,0.972114192918,0.972091705279,0.972069208704,0.972046703195,0.97202418875,0.972001665371,0.971979133057,0.97195659181,0.971934041628,0.971911482512,0.971888914463,0.97186633748,0.971843751564,0.971821156716,0.971798552934,0.97177594022,0.971753318574,0.971730687995,0.971708048484,0.971685400042,0.971662742668,0.971640076363,0.971617401127,0.97159471696,0.971572023862,0.971549321833,0.971526610875,0.971503890986,0.971481162168,0.97145842442,0.971435677742,0.971412922135,0.971390157599,0.971367384135,0.971344601741,0.97132181042,0.97129901017,0.971276200992,0.971253382887,0.971230555853,0.971207719893,0.971184875005,0.971162021191,0.97113915845,0.971116286782,0.971093406188,0.971070516668,0.971047618222,0.97102471085,0.971001794553,0.970978869331,0.970955935184,0.970932992111,0.970910040115,0.970887079193,0.970864109348,0.970841130579,0.970818142886,0.970795146269,0.970772140729,0.970749126266,0.97072610288,0.970703070571,0.97068002934,0.970656979186,0.970633920111,0.970610852113,0.970587775194,0.970564689354,0.970541594592,0.970518490909,0.970495378306,0.970472256781,0.970449126337,0.970425986972,0.970402838688,0.970379681483,0.970356515359,0.970333340316,0.970310156354,0.970286963473,0.970263761673,0.970240550955,0.970217331318,0.970194102763,0.970170865291,0.970147618901,0.970124363594,0.970101099369,0.970077826228,0.970054544169,0.970031253195,0.970007953303,0.969984644496,0.969961326773,0.969938000134,0.96991466458,0.969891320111,0.969867966726,0.969844604427,0.969821233213,0.969797853084,0.969774464042,0.969751066085,0.969727659215,0.969704243431,0.969680818734,0.969657385124,0.969633942601,0.969610491166,0.969587030817,0.969563561557,0.969540083385,0.9695165963,0.969493100305,0.969469595397,0.969446081579,0.96942255885,0.96939902721,0.969375486659,0.969351937199,0.969328378828,0.969304811547,0.969281235357,0.969257650257,0.969234056248,0.96921045333,0.969186841503,0.969163220768,0.969139591124,0.969115952572,0.969092305113,0.969068648745,0.96904498347,0.969021309288,0.968997626199,0.968973934203,0.9689502333,0.968926523492,0.968902804776,0.968879077155,0.968855340629,0.968831595196,0.968807840859,0.968784077616,0.968760305469,0.968736524416,0.96871273446,0.968688935599,0.968665127834,0.968641311166,0.968617485594,0.968593651118,0.96856980774,0.968545955458,0.968522094274,0.968498224188,0.968474345199,0.968450457308,0.968426560516,0.968402654822,0.968378740226,0.96835481673,0.968330884332,0.968306943034,0.968282992836,0.968259033737,0.968235065738,0.968211088839,0.968187103041,0.968163108343,0.968139104746,0.968115092251,0.968091070856,0.968067040563,0.968043001372,0.968018953283,0.967994896296,0.967970830411,0.967946755629,0.96792267195,0.967898579374,0.967874477901,0.967850367531,0.967826248266,0.967802120104,0.967777983047,0.967753837093,0.967729682245,0.967705518501,0.967681345863,0.967657164329,0.967632973902,0.967608774579,0.967584566363,0.967560349253,0.96753612325,0.967511888353,0.967487644563,0.96746339188,0.967439130304,0.967414859835,0.967390580475,0.967366292222,0.967341995078,0.967317689042,0.967293374114,0.967269050296,0.967244717586,0.967220375986,0.967196025496,0.967171666115,0.967147297844,0.967122920683,0.967098534633,0.967074139693,0.967049735864,0.967025323146,0.96700090154,0.966976471045,0.966952031662,0.966927583391,0.966903126232,0.966878660185,0.966854185251,0.96682970143,0.966805208722,0.966780707128,0.966756196647,0.966731677279,0.966707149026,0.966682611887,0.966658065863,0.966633510953,0.966608947158,0.966584374478,0.966559792914,0.966535202465,0.966510603132,0.966485994915,0.966461377814,0.96643675183,0.966412116963,0.966387473212,0.966362820579,0.966338159063,0.966313488665,0.966288809384,0.966264121222,0.966239424178,0.966214718252,0.966190003445,0.966165279758,0.966140547189,0.96611580574,0.96609105541,0.966066296201,0.966041528111,0.966016751142,0.965991965294,0.965967170566,0.965942366959,0.965917554474,0.96589273311,0.965867902868,0.965843063748,0.96581821575,0.965793358874,0.965768493121,0.965743618491,0.965718734984,0.9656938426,0.96566894134,0.965644031204,0.965619112191,0.965594184303,0.965569247539,0.9655443019,0.965519347386,0.965494383997,0.965469411734,0.965444430596,0.965419440584,0.965394441698,0.965369433938,0.965344417305,0.965319391798,0.965294357419,0.965269314167,0.965244262042,0.965219201045,0.965194131176,0.965169052435,0.965143964822,0.965118868338,0.965093762983,0.965068648757,0.96504352566,0.965018393692,0.964993252855,0.964968103147,0.96494294457,0.964917777123,0.964892600807,0.964867415622,0.964842221567,0.964817018645,0.964791806853,0.964766586194,0.964741356667,0.964716118272,0.964690871009,0.96466561488,0.964640349883,0.96461507602,0.96458979329,0.964564501694,0.964539201231,0.964513891903,0.964488573709,0.96446324665,0.964437910726,0.964412565937,0.964387212283,0.964361849765,0.964336478382,0.964311098136,0.964285709025,0.964260311052,0.964234904215,0.964209488515,0.964184063952,0.964158630526,0.964133188239,0.964107737089,0.964082277077,0.964056808204,0.964031330469,0.964005843873,0.963980348416,0.963954844098,0.96392933092,0.963903808882,0.963878277984,0.963852738226,0.963827189608,0.963801632131,0.963776065795,0.963750490601,0.963724906547,0.963699313636,0.963673711866,0.963648101238,0.963622481753,0.96359685341,0.96357121621,0.963545570153,0.96351991524,0.96349425147,0.963468578844,0.963442897361,0.963417207023,0.96339150783,0.963365799781,0.963340082877,0.963314357118,0.963288622505,0.963262879038,0.963237126716,0.96321136554,0.963185595511,0.963159816628,0.963134028893,0.963108232304,0.963082426863,0.963056612569,0.963030789423,0.963004957425,0.962979116575,0.962953266874,0.962927408321,0.962901540918,0.962875664663,0.962849779559,0.962823885603,0.962797982798,0.962772071143,0.962746150638,0.962720221284,0.962694283081,0.962668336029,0.962642380129,0.96261641538,0.962590441782,0.962564459337,0.962538468044,0.962512467904,0.962486458917,0.962460441082,0.962434414401,0.962408378873,0.962382334499,0.962356281279,0.962330219214,0.962304148302,0.962278068546,0.962251979944,0.962225882498,0.962199776207,0.962173661072,0.962147537092,0.962121404269,0.962095262602,0.962069112092,0.962042952739,0.962016784542,0.961990607503,0.961964421622,0.961938226899,0.961912023333,0.961885810926,0.961859589677,0.961833359588,0.961807120657,0.961780872885,0.961754616274,0.961728350821,0.961702076529,0.961675793397,0.961649501426,0.961623200615,0.961596890965,0.961570572477,0.961544245149,0.961517908984,0.961491563981,0.961465210139,0.96143884746,0.961412475944,0.961386095591,0.961359706401,0.961333308374,0.961306901511,0.961280485811,0.961254061276,0.961227627905,0.961201185699,0.961174734658,0.961148274781,0.96112180607,0.961095328525,0.961068842146,0.961042346932,0.961015842885,0.960989330004,0.96096280829,0.960936277743,0.960909738364,0.960883190152,0.960856633108,0.960830067231,0.960803492523,0.960776908984,0.960750316613,0.960723715411,0.960697105379,0.960670486516,0.960643858823,0.960617222299,0.960590576946,0.960563922763,0.960537259752,0.96051058791,0.960483907241,0.960457217742,0.960430519416,0.960403812261,0.960377096278,0.960350371468,0.96032363783,0.960296895366,0.960270144074,0.960243383956,0.960216615012,0.960189837241,0.960163050645,0.960136255223,0.960109450976,0.960082637903,0.960055816006,0.960028985284,0.960002145738,0.959975297367,0.959948440173,0.959921574155,0.959894699313,0.959867815649,0.959840923161,0.959814021851,0.959787111719,0.959760192764,0.959733264988,0.959706328389,0.95967938297,0.959652428729,0.959625465667,0.959598493785,0.959571513082,0.959544523559,0.959517525216,0.959490518053,0.959463502071,0.95943647727,0.95940944365,0.959382401211,0.959355349954,0.959328289878,0.959301220985,0.959274143274,0.959247056745,0.9592199614,0.959192857237,0.959165744258,0.959138622462,0.95911149185,0.959084352422,0.959057204178,0.959030047119,0.959002881245,0.958975706556,0.958948523052,0.958921330733,0.958894129601,0.958866919654,0.958839700894,0.95881247332,0.958785236933,0.958757991733,0.958730737721,0.958703474896,0.958676203259,0.95864892281,0.958621633549,0.958594335476,0.958567028593,0.958539712899,0.958512388394,0.958485055078,0.958457712952,0.958430362017,0.958403002271,0.958375633716,0.958348256352,0.95832087018,0.958293475198,0.958266071408,0.95823865881,0.958211237404,0.95818380719,0.958156368169,0.95812892034,0.958101463705,0.958073998263,0.958046524015,0.95801904096,0.9579915491,0.957964048434,0.957936538962,0.957909020686,0.957881493604,0.957853957718,0.957826413028,0.957798859533,0.957771297234,0.957743726132,0.957716146227,0.957688557518,0.957660960006,0.957633353692,0.957605738576,0.957578114657,0.957550481937,0.957522840414,0.957495190091,0.957467530967,0.957439863041,0.957412186315,0.957384500789,0.957356806463,0.957329103336,0.957301391411,0.957273670686,0.957245941162,0.957218202839,0.957190455717,0.957162699798,0.95713493508,0.957107161564,0.957079379251,0.957051588141,0.957023788234,0.95699597953,0.956968162029,0.956940335732,0.956912500639,0.956884656751,0.956856804067,0.956828942588,0.956801072313,0.956773193244,0.956745305381,0.956717408723,0.956689503272,0.956661589027,0.956633665988,0.956605734156,0.956577793531,0.956549844114,0.956521885904,0.956493918902,0.956465943109,0.956437958523,0.956409965146,0.956381962978,0.95635395202,0.95632593227,0.95629790373,0.956269866401,0.956241820281,0.956213765372,0.956185701673,0.956157629186,0.956129547909,0.956101457844,0.956073358991,0.95604525135,0.956017134921,0.955989009705,0.955960875701,0.95593273291,0.955904581333,0.955876420969,0.955848251819,0.955820073883,0.955791887161,0.955763691654,0.955735487361,0.955707274284,0.955679052422,0.955650821776,0.955622582345,0.955594334131,0.955566077133,0.955537811351,0.955509536787,0.95548125344,0.95545296131,0.955424660398,0.955396350703,0.955368032227,0.95533970497,0.955311368931,0.955283024111,0.955254670511,0.955226308129,0.955197936968,0.955169557027,0.955141168306,0.955112770805,0.955084364526,0.955055949467,0.95502752563,0.954999093014,0.95497065162,0.954942201448,0.954913742499,0.954885274772,0.954856798269,0.954828312988,0.954799818931,0.954771316097,0.954742804488,0.954714284102,0.954685754941,0.954657217005,0.954628670294,0.954600114808,0.954571550548,0.954542977513,0.954514395704,0.954485805122,0.954457205767,0.954428597638,0.954399980736,0.954371355061,0.954342720615,0.954314077396,0.954285425405,0.954256764643,0.954228095109,0.954199416804,0.954170729729,0.954142033883,0.954113329267,0.95408461588,0.954055893724,0.954027162799,0.953998423104,0.95396967464,0.953940917408,0.953912151407,0.953883376638,0.953854593101,0.953825800797,0.953796999725,0.953768189886,0.95373937128,0.953710543908,0.953681707769,0.953652862865,0.953624009194,0.953595146758,0.953566275557,0.953537395591,0.95350850686,0.953479609365,0.953450703105,0.953421788082,0.953392864295,0.953363931744,0.953334990431,0.953306040354,0.953277081515,0.953248113914,0.95321913755,0.953190152425,0.953161158539,0.953132155891,0.953103144482,0.953074124312,0.953045095382,0.953016057692,0.952987011242,0.952957956032,0.952928892063,0.952899819334,0.952870737847,0.952841647601,0.952812548597,0.952783440835,0.952754324315,0.952725199038,0.952696065003,0.952666922211,0.952637770663,0.952608610358,0.952579441297,0.95255026348,0.952521076908,0.95249188158,0.952462677497,0.952433464659,0.952404243066,0.95237501272,0.952345773619,0.952316525765,0.952287269157,0.952258003795,0.952228729681,0.952199446814,0.952170155195,0.952140854824,0.952111545701,0.952082227826,0.9520529012,0.952023565822,0.951994221694,0.951964868816,0.951935507187,0.951906136808,0.951876757679,0.951847369801,0.951817973174,0.951788567798,0.951759153673,0.9517297308,0.951700299179,0.95167085881,0.951641409694,0.95161195183,0.951582485219,0.951553009861,0.951523525757,0.951494032907,0.951464531311,0.951435020969,0.951405501882,0.951375974049,0.951346437472,0.95131689215,0.951287338084,0.951257775274,0.95122820372,0.951198623423,0.951169034383,0.951139436599,0.951109830073,0.951080214804,0.951050590794,0.951020958041,0.950991316547,0.950961666312,0.950932007335,0.950902339618,0.95087266316,0.950842977962,0.950813284024,0.950783581347,0.95075386993,0.950724149774,0.950694420879,0.950664683245,0.950634936874,0.950605181764,0.950575417916,0.950545645331,0.950515864009,0.950486073949,0.950456275154,0.950426467621,0.950396651353,0.950366826349,0.950336992609,0.950307150134,0.950277298924,0.950247438979,0.950217570299,0.950187692886,0.950157806738,0.950127911857,0.950098008243,0.950068095895,0.950038174815,0.950008245002,0.949978306457,0.949948359179,0.94991840317,0.94988843843,0.949858464959,0.949828482756,0.949798491823,0.94976849216,0.949738483766,0.949708466643,0.94967844079,0.949648406208,0.949618362897,0.949588310857,0.949558250089,0.949528180593,0.949498102369,0.949468015417,0.949437919738,0.949407815332,0.9493777022,0.94934758034,0.949317449755,0.949287310444,0.949257162406,0.949227005644,0.949196840157,0.949166665944,0.949136483008,0.949106291347,0.949076090961,0.949045881853,0.949015664021,0.948985437465,0.948955202187,0.948924958186,0.948894705463,0.948864444018,0.948834173851,0.948803894963,0.948773607353,0.948743311023,0.948713005971,0.9486826922,0.948652369708,0.948622038497,0.948591698566,0.948561349916,0.948530992547,0.948500626459,0.948470251652,0.948439868128,0.948409475886,0.948379074926,0.948348665249,0.948318246855,0.948287819744,0.948257383916,0.948226939373,0.948196486113,0.948166024138,0.948135553448,0.948105074043,0.948074585922,0.948044089088,0.948013583539,0.947983069276,0.947952546299,0.947922014609,0.947891474206,0.94786092509,0.947830367262,0.947799800721,0.947769225469,0.947738641505,0.947708048829,0.947677447442,0.947646837344,0.947616218536,0.947585591018,0.947554954789,0.947524309851,0.947493656203,0.947462993846,0.947432322781,0.947401643006,0.947370954524,0.947340257333,0.947309551435,0.947278836829,0.947248113516,0.947217381496,0.947186640769,0.947155891336,0.947125133198,0.947094366353,0.947063590803,0.947032806547,0.947002013587,0.946971211922,0.946940401552,0.946909582479,0.946878754702,0.946847918221,0.946817073037,0.94678621915,0.946755356561,0.946724485269,0.946693605275,0.946662716579,0.946631819182,0.946600913083,0.946569998284,0.946539074784,0.946508142583,0.946477201682,0.946446252082,0.946415293782,0.946384326783,0.946353351084,0.946322366688,0.946291373592,0.946260371799,0.946229361308,0.946198342119,0.946167314233,0.94613627765,0.94610523237,0.946074178394,0.946043115722,0.946012044354,0.945980964291,0.945949875532,0.945918778078,0.94588767193,0.945856557087,0.94582543355,0.945794301319,0.945763160395,0.945732010777,0.945700852467,0.945669685464,0.945638509768,0.945607325381,0.945576132301,0.94554493053,0.945513720068,0.945482500914,0.945451273071,0.945420036536,0.945388791312,0.945357537398,0.945326274794,0.945295003501,0.945263723519,0.945232434848,0.945201137489,0.945169831442,0.945138516708,0.945107193285,0.945075861176,0.945044520379,0.945013170896,0.944981812727,0.944950445871,0.94491907033,0.944887686103,0.944856293191,0.944824891594,0.944793481312,0.944762062346,0.944730634696,0.944699198362,0.944667753345,0.944636299645,0.944604837261,0.944573366196,0.944541886447,0.944510398017,0.944478900905,0.944447395112,0.944415880637,0.944384357482,0.944352825646,0.944321285129,0.944289735933,0.944258178057,0.944226611501,0.944195036267,0.944163452353,0.944131859761,0.944100258491,0.944068648543,0.944037029917,0.944005402614,0.943973766634,0.943942121976,0.943910468643,0.943878806633,0.943847135947,0.943815456586,0.943783768549,0.943752071837,0.94372036645,0.943688652389,0.943656929654,0.943625198245,0.943593458162,0.943561709406,0.943529951977,0.943498185875,0.943466411101,0.943434627654,0.943402835536,0.943371034746,0.943339225285,0.943307407153,0.94327558035,0.943243744877,0.943211900734,0.943180047921,0.943148186438,0.943116316287,0.943084437466,0.943052549977,0.943020653819,0.942988748994,0.9429568355,0.942924913339,0.942892982511,0.942861043016,0.942829094855,0.942797138027,0.942765172533,0.942733198374,0.942701215549,0.942669224059,0.942637223904,0.942605215085,0.942573197601,0.942541171454,0.942509136643,0.942477093168,0.942445041031,0.942412980231,0.942380910768,0.942348832643,0.942316745857,0.942284650408,0.942252546299,0.942220433528,0.942188312097,0.942156182005,0.942124043254,0.942091895842,0.942059739771,0.942027575041,0.941995401652,0.941963219604,0.941931028898,0.941898829534,0.941866621512,0.941834404832,0.941802179496,0.941769945503,0.941737702853,0.941705451547,0.941673191585,0.941640922967,0.941608645694,0.941576359766,0.941544065183,0.941511761946,0.941479450054,0.941447129509,0.94141480031,0.941382462457,0.941350115952,0.941317760794,0.941285396984,0.941253024521,0.941220643407,0.941188253642,0.941155855225,0.941123448157,0.941091032438,0.94105860807,0.941026175051,0.940993733382,0.940961283065,0.940928824098,0.940896356482,0.940863880217,0.940831395305,0.940798901744,0.940766399536,0.940733888681,0.940701369179,0.940668841029,0.940636304234,0.940603758792,0.940571204705,0.940538641972,0.940506070593,0.94047349057,0.940440901902,0.94040830459,0.940375698634,0.940343084034,0.94031046079,0.940277828904,0.940245188375,0.940212539203,0.940179881389,0.940147214933,0.940114539835,0.940081856096,0.940049163716,0.940016462695,0.939983753034,0.939951034733,0.939918307792,0.939885572211,0.939852827991,0.939820075132,0.939787313635,0.939754543499,0.939721764725,0.939688977314,0.939656181265,0.939623376579,0.939590563256,0.939557741296,0.939524910701,0.939492071469,0.939459223602,0.9394263671,0.939393501962,0.93936062819,0.939327745784,0.939294854743,0.939261955069,0.939229046761,0.93919612982,0.939163204246,0.939130270039,0.9390973272,0.939064375729,0.939031415627,0.938998446893,0.938965469528,0.938932483532,0.938899488906,0.938866485649,0.938833473763,0.938800453247,0.938767424102,0.938734386328,0.938701339926,0.938668284895,0.938635221236,0.938602148949,0.938569068035,0.938535978494,0.938502880325,0.938469773531,0.93843665811,0.938403534063,0.938370401391,0.938337260093,0.93830411017,0.938270951623,0.938237784451,0.938204608655,0.938171424236,0.938138231193,0.938105029527,0.938071819238,0.938038600326,0.938005372792,0.937972136636,0.937938891859,0.93790563846,0.93787237644,0.937839105799,0.937805826538,0.937772538657,0.937739242156,0.937705937036,0.937672623297,0.937639300938,0.937605969961,0.937572630366,0.937539282152,0.937505925321,0.937472559873,0.937439185808,0.937405803126,0.937372411827,0.937339011913,0.937305603382,0.937272186236,0.937238760475,0.937205326099,0.937171883108,0.937138431503,0.937104971284,0.937071502452,0.937038025006,0.937004538947,0.936971044275,0.936937540991,0.936904029095,0.936870508586,0.936836979467,0.936803441736,0.936769895394,0.936736340442,0.936702776879,0.936669204707,0.936635623924,0.936602034533,0.936568436532,0.936534829923,0.936501214705,0.936467590879,0.936433958445,0.936400317404,0.936366667756,0.9363330095,0.936299342638,0.93626566717,0.936231983096,0.936198290416,0.936164589131,0.936130879241,0.936097160746,0.936063433647,0.936029697944,0.935995953637,0.935962200726,0.935928439213,0.935894669096,0.935860890377,0.935827103055,0.935793307132,0.935759502607,0.935725689481,0.935691867754,0.935658037426,0.935624198498,0.93559035097,0.935556494841,0.935522630114,0.935488756787,0.935454874862,0.935420984338,0.935387085216,0.935353177496,0.935319261179,0.935285336264,0.935251402752,0.935217460644,0.935183509939,0.935149550638,0.935115582742,0.93508160625,0.935047621163,0.935013627482,0.934979625206,0.934945614336,0.934911594872,0.934877566814,0.934843530163,0.93480948492,0.934775431084,0.934741368655,0.934707297635,0.934673218023,0.93463912982,0.934605033025,0.93457092764,0.934536813665,0.9345026911,0.934468559945,0.9344344202,0.934400271866,0.934366114944,0.934331949433,0.934297775334,0.934263592646,0.934229401372,0.93419520151,0.934160993061,0.934126776026,0.934092550404,0.934058316197,0.934024073403,0.933989822025,0.933955562061,0.933921293513,0.93388701638,0.933852730663,0.933818436362,0.933784133478,0.933749822011,0.933715501961,0.933681173328,0.933646836113,0.933612490317,0.933578135938,0.933543772979,0.933509401438,0.933475021317,0.933440632616,0.933406235335,0.933371829474,0.933337415033,0.933302992014,0.933268560416,0.933234120239,0.933199671485,0.933165214152,0.933130748242,0.933096273755,0.933061790692,0.933027299051,0.932992798835,0.932958290042,0.932923772674,0.932889246731,0.932854712213,0.932820169121,0.932785617454,0.932751057213,0.932716488398,0.93268191101,0.932647325049,0.932612730516,0.93257812741,0.932543515732,0.932508895482,0.932474266661,0.932439629268,0.932404983305,0.932370328772,0.932335665668,0.932300993995,0.932266313752,0.932231624939,0.932196927558,0.932162221609,0.932127507091,0.932092784005,0.932058052351,0.932023312131,0.931988563343,0.931953805989,0.931919040068,0.931884265582,0.931849482529,0.931814690912,0.931779890729,0.931745081982,0.93171026467,0.931675438794,0.931640604354,0.931605761351,0.931570909785,0.931536049656,0.931501180965,0.931466303711,0.931431417895,0.931396523518,0.93136162058,0.931326709081,0.931291789022,0.931256860402,0.931221923222,0.931186977483,0.931152023184,0.931117060326,0.93108208891,0.931047108936,0.931012120403,0.930977123313,0.930942117665,0.930907103461,0.9308720807,0.930837049382,0.930802009508,0.930766961079,0.930731904094,0.930696838554,0.93066176446,0.930626681811,0.930591590607,0.93055649085,0.93052138254,0.930486265676,0.93045114026,0.930416006291,0.93038086377,0.930345712696,0.930310553072,0.930275384896,0.930240208169,0.930205022892,0.930169829065,0.930134626687,0.93009941576,0.930064196284,0.930028968259,0.929993731685,0.929958486563,0.929923232893,0.929887970675,0.92985269991,0.929817420598,0.929782132739,0.929746836334,0.929711531382,0.929676217885,0.929640895843,0.929605565256,0.929570226124,0.929534878447,0.929499522227,0.929464157462,0.929428784155,0.929393402304,0.92935801191,0.929322612974,0.929287205496,0.929251789475,0.929216364914,0.929180931811,0.929145490168,0.929110039984,0.929074581259,0.929039113995,0.929003638192,0.928968153849,0.928932660967,0.928897159547,0.928861649588,0.928826131092,0.928790604058,0.928755068487,0.928719524379,0.928683971734,0.928648410553,0.928612840836,0.928577262584,0.928541675796,0.928506080473,0.928470476616,0.928434864224,0.928399243299,0.928363613839,0.928327975847,0.928292329321,0.928256674263,0.928221010672,0.92818533855,0.928149657895,0.92811396871,0.928078270993,0.928042564746,0.928006849968,0.92797112666,0.927935394823,0.927899654456,0.92786390556,0.927828148135,0.927792382182,0.927756607701,0.927720824692,0.927685033156,0.927649233093,0.927613424502,0.927577607386,0.927541781743,0.927505947575,0.927470104881,0.927434253662,0.927398393919,0.92736252565,0.927326648858,0.927290763542,0.927254869703,0.92721896734,0.927183056455,0.927147137047,0.927111209117,0.927075272665,0.927039327691,0.927003374197,0.926967412182,0.926931441646,0.92689546259,0.926859475014,0.926823478919,0.926787474305,0.926751461171,0.92671543952,0.92667940935,0.926643370662,0.926607323457,0.926571267734,0.926535203495,0.926499130739,0.926463049467,0.926426959679,0.926390861376,0.926354754558,0.926318639224,0.926282515376,0.926246383014,0.926210242138,0.926174092749,0.926137934846,0.926101768431,0.926065593503,0.926029410062,0.92599321811,0.925957017647,0.925920808672,0.925884591186,0.92584836519,0.925812130683,0.925775887667,0.925739636141,0.925703376106,0.925667107562,0.92563083051,0.925594544949,0.925558250881,0.925521948305,0.925485637221,0.925449317631,0.925412989535,0.925376652932,0.925340307823,0.925303954209,0.92526759209,0.925231221465,0.925194842336,0.925158454703,0.925122058567,0.925085653926,0.925049240783,0.925012819136,0.924976388987,0.924939950336,0.924903503183,0.924867047529,0.924830583373,0.924794110717,0.92475762956,0.924721139902,0.924684641745,0.924648135089,0.924611619933,0.924575096279,0.924538564125,0.924502023474,0.924465474325,0.924428916679,0.924392350535,0.924355775895,0.924319192758,0.924282601125,0.924246000996,0.924209392371,0.924172775252,0.924136149637,0.924099515529,0.924062872926,0.924026221829,0.923989562239,0.923952894156,0.92391621758,0.923879532511,0.923842838951,0.923806136898,0.923769426355,0.92373270732,0.923695979794,0.923659243778,0.923622499272,0.923585746276,0.923548984791,0.923512214817,0.923475436354,0.923438649402,0.923401853963,0.923365050036,0.923328237621,0.92329141672,0.923254587331,0.923217749457,0.923180903096,0.92314404825,0.923107184918,0.923070313101,0.9230334328,0.922996544014,0.922959646745,0.922922740991,0.922885826755,0.922848904035,0.922811972833,0.922775033148,0.922738084982,0.922701128334,0.922664163205,0.922627189594,0.922590207503,0.922553216932,0.922516217881,0.922479210351,0.922442194341,0.922405169852,0.922368136885,0.922331095439,0.922294045516,0.922256987115,0.922219920237,0.922182844882,0.922145761051,0.922108668743,0.92207156796,0.922034458701,0.921997340967,0.921960214758,0.921923080075,0.921885936918,0.921848785286,0.921811625182,0.921774456604,0.921737279554,0.921700094031,0.921662900036,0.921625697569,0.921588486631,0.921551267222,0.921514039342,0.921476802992,0.921439558172,0.921402304882,0.921365043123,0.921327772894,0.921290494198,0.921253207033,0.921215911399,0.921178607299,0.921141294731,0.921103973696,0.921066644194,0.921029306227,0.920991959793,0.920954604894,0.920917241529,0.9208798697,0.920842489406,0.920805100648,0.920767703426,0.920730297741,0.920692883592,0.920655460981,0.920618029907,0.920580590371,0.920543142373,0.920505685914,0.920468220994,0.920430747613,0.920393265772,0.92035577547,0.920318276709,0.920280769489,0.920243253809,0.920205729671,0.920168197074,0.92013065602,0.920093106508,0.920055548538,0.920017982112,0.919980407229,0.919942823889,0.919905232094,0.919867631843,0.919830023137,0.919792405976,0.919754780361,0.919717146291,0.919679503768,0.919641852791,0.919604193361,0.919566525478,0.919528849142,0.919491164355,0.919453471116,0.919415769425,0.919378059283,0.919340340691,0.919302613648,0.919264878155,0.919227134212,0.919189381821,0.91915162098,0.91911385169,0.919076073952,0.919038287766,0.919000493133,0.918962690052,0.918924878525,0.918887058551,0.91884923013,0.918811393264,0.918773547952,0.918735694196,0.918697831994,0.918659961348,0.918622082257,0.918584194723,0.918546298746,0.918508394325,0.918470481462,0.918432560156,0.918394630408,0.918356692219,0.918318745588,0.918280790517,0.918242827004,0.918204855051,0.918166874659,0.918128885827,0.918090888555,0.918052882845,0.918014868696,0.917976846109,0.917938815084,0.917900775621,0.917862727722,0.917824671385,0.917786606613,0.917748533404,0.917710451759,0.917672361679,0.917634263164,0.917596156214,0.91755804083,0.917519917012,0.91748178476,0.917443644075,0.917405494957,0.917367337406,0.917329171423,0.917290997008,0.917252814162,0.917214622885,0.917176423176,0.917138215037,0.917099998468,0.91706177347,0.917023540041,0.916985298184,0.916947047898,0.916908789184,0.916870522041,0.916832246471,0.916793962474,0.916755670049,0.916717369198,0.916679059921,0.916640742218,0.916602416089,0.916564081535,0.916525738556,0.916487387153,0.916449027325,0.916410659074,0.916372282399,0.916333897301,0.916295503781,0.916257101838,0.916218691473,0.916180272686,0.916141845478,0.916103409849,0.916064965799,0.916026513329,0.91598805244,0.91594958313,0.915911105402,0.915872619254,0.915834124688,0.915795621704,0.915757110302,0.915718590483,0.915680062246,0.915641525593,0.915602980523,0.915564427038,0.915525865136,0.91548729482,0.915448716088,0.915410128942,0.915371533382,0.915332929407,0.915294317019,0.915255696218,0.915217067005,0.915178429378,0.91513978334,0.915101128889,0.915062466028,0.915023794755,0.914985115072,0.914946426978,0.914907730474,0.914869025561,0.914830312238,0.914791590506,0.914752860366,0.914714121818,0.914675374862,0.914636619498,0.914597855727,0.914559083549,0.914520302965,0.914481513975,0.914442716579,0.914403910778,0.914365096571,0.914326273961,0.914287442945,0.914248603526,0.914209755704,0.914170899478,0.914132034849,0.914093161817,0.914054280384,0.914015390549,0.913976492312,0.913937585674,0.913898670636,0.913859747197,0.913820815358,0.91378187512,0.913742926482,0.913703969445,0.91366500401,0.913626030177,0.913587047945,0.913548057316,0.91350905829,0.913470050868,0.913431035049,0.913392010833,0.913352978222,0.913313937216,0.913274887815,0.913235830019,0.913196763829,0.913157689245,0.913118606267,0.913079514896,0.913040415133,0.913001306977,0.912962190428,0.912923065488,0.912883932157,0.912844790435,0.912805640322,0.912766481818,0.912727314925,0.912688139642,0.91264895597,0.912609763909,0.912570563459,0.912531354622,0.912492137396,0.912452911783,0.912413677783,0.912374435396,0.912335184623,0.912295925464,0.91225665792,0.91221738199,0.912178097675,0.912138804975,0.912099503892,0.912060194424,0.912020876574,0.91198155034,0.911942215723,0.911902872724,0.911863521343,0.91182416158,0.911784793436,0.911745416911,0.911706032005,0.91166663872,0.911627237054,0.911587827009,0.911548408585,0.911508981782,0.911469546601,0.911430103041,0.911390651104,0.91135119079,0.911311722098,0.911272245031,0.911232759586,0.911193265767,0.911153763571,0.911114253001,0.911074734055,0.911035206735,0.910995671042,0.910956126974,0.910916574533,0.91087701372,0.910837444533,0.910797866975,0.910758281044,0.910718686743,0.91067908407,0.910639473026,0.910599853612,0.910560225827,0.910520589673,0.91048094515,0.910441292258,0.910401630997,0.910361961368,0.910322283372,0.910282597007,0.910242902276,0.910203199178,0.910163487713,0.910123767883,0.910084039686,0.910044303125,0.910004558198,0.909964804907,0.909925043252,0.909885273233,0.90984549485,0.909805708105,0.909765912996,0.909726109525,0.909686297693,0.909646477498,0.909606648943,0.909566812026,0.909526966749,0.909487113112,0.909447251114,0.909407380758,0.909367502042,0.909327614968,0.909287719535,0.909247815744,0.909207903596,0.909167983091,0.909128054228,0.909088117009,0.909048171434,0.909008217503,0.908968255217,0.908928284576,0.90888830558,0.908848318229,0.908808322525,0.908768318467,0.908728306056,0.908688285293,0.908648256176,0.908608218708,0.908568172888,0.908528118716,0.908488056194,0.908447985321,0.908407906097,0.908367818524,0.908327722601,0.908287618329,0.908247505709,0.908207384739,0.908167255422,0.908127117757,0.908086971745,0.908046817386,0.90800665468,0.907966483629,0.907926304231,0.907886116488,0.907845920399,0.907805715966,0.907765503189,0.907725282068,0.907685052603,0.907644814795,0.907604568643,0.90756431415,0.907524051314,0.907483780137,0.907443500618,0.907403212758,0.907362916557,0.907322612016,0.907282299136,0.907241977915,0.907201648356,0.907161310458,0.907120964221,0.907080609646,0.907040246734,0.906999875484,0.906959495897,0.906919107974,0.906878711714,0.906838307119,0.906797894188,0.906757472922,0.906717043321,0.906676605386,0.906636159117,0.906595704515,0.906555241579,0.90651477031,0.906474290709,0.906433802776,0.906393306511,0.906352801915,0.906312288987,0.906271767729,0.906231238141,0.906190700223,0.906150153975,0.906109599398,0.906069036493,0.906028465259,0.905987885697,0.905947297807,0.90590670159,0.905866097047,0.905825484176,0.90578486298,0.905744233458,0.90570359561,0.905662949437,0.90562229494,0.905581632118,0.905540960973,0.905500281504,0.905459593711,0.905418897596,0.905378193159,0.905337480399,0.905296759318,0.905256029916,0.905215292192,0.905174546148,0.905133791784,0.9050930291,0.905052258097,0.905011478775,0.904970691134,0.904929895174,0.904889090897,0.904848278302,0.90480745739,0.904766628162,0.904725790616,0.904684944755,0.904644090578,0.904603228086,0.904562357279,0.904521478157,0.904480590721,0.904439694972,0.904398790909,0.904357878533,0.904316957844,0.904276028843,0.90423509153,0.904194145906,0.90415319197,0.904112229724,0.904071259167,0.9040302803,0.903989293123,0.903948297638,0.903907293843,0.90386628174,0.903825261328,0.903784232609,0.903743195583,0.903702150249,0.903661096609,0.903620034663,0.903578964411,0.903537885853,0.90349679899,0.903455703822,0.90341460035,0.903373488574,0.903332368495,0.903291240112,0.903250103426,0.903208958438,0.903167805147,0.903126643555,0.903085473662,0.903044295468,0.903003108973,0.902961914177,0.902920711082,0.902879499688,0.902838279995,0.902797052002,0.902755815712,0.902714571123,0.902673318237,0.902632057054,0.902590787574,0.902549509798,0.902508223725,0.902466929357,0.902425626694,0.902384315735,0.902342996482,0.902301668935,0.902260333095,0.902218988961,0.902177636533,0.902136275814,0.902094906802,0.902053529498,0.902012143902,0.901970750016,0.901929347839,0.901887937371,0.901846518614,0.901805091567,0.901763656231,0.901722212606,0.901680760692,0.90163930049,0.901597832001,0.901556355225,0.901514870161,0.901473376811,0.901431875175,0.901390365253,0.901348847046,0.901307320554,0.901265785777,0.901224242716,0.901182691371,0.901141131742,0.901099563831,0.901057987636,0.90101640316,0.900974810401,0.900933209361,0.90089160004,0.900849982438,0.900808356555,0.900766722392,0.90072507995,0.900683429229,0.900641770228,0.900600102949,0.900558427392,0.900516743558,0.900475051445,0.900433351056,0.900391642391,0.900349925449,0.900308200231,0.900266466738,0.90022472497,0.900182974927,0.90014121661,0.900099450019,0.900057675154,0.900015892016,0.899974100606,0.899932300923,0.899890492968,0.899848676742,0.899806852244,0.899765019475,0.899723178436,0.899681329127,0.899639471549,0.899597605701,0.899555731584,0.899513849198,0.899471958545,0.899430059624,0.899388152435,0.899346236979,0.899304313257,0.899262381269,0.899220441014,0.899178492495,0.89913653571,0.89909457066,0.899052597347,0.899010615769,0.898968625928,0.898926627824,0.898884621457,0.898842606827,0.898800583936,0.898758552783,0.898716513369,0.898674465694,0.898632409759,0.898590345563,0.898548273108,0.898506192394,0.898464103421,0.898422006189,0.898379900699,0.898337786952,0.898295664947,0.898253534685,0.898211396167,0.898169249393,0.898127094362,0.898084931077,0.898042759536,0.898000579741,0.897958391691,0.897916195388,0.897873990831,0.897831778021,0.897789556959,0.897747327644,0.897705090077,0.897662844259,0.89762059019,0.89757832787,0.897536057299,0.897493778479,0.897451491409,0.89740919609,0.897366892522,0.897324580705,0.897282260641,0.897239932329,0.89719759577,0.897155250964,0.897112897911,0.897070536613,0.897028167068,0.896985789279,0.896943403244,0.896901008965,0.896858606442,0.896816195676,0.896773776665,0.896731349412,0.896688913917,0.896646470179,0.896604018199,0.896561557978,0.896519089516,0.896476612813,0.89643412787,0.896391634688,0.896349133266,0.896306623604,0.896264105705,0.896221579567,0.896179045191,0.896136502577,0.896093951727,0.896051392639,0.896008825316,0.895966249756,0.895923665961,0.895881073931,0.895838473666,0.895795865167,0.895753248434,0.895710623467,0.895667990267,0.895625348834,0.895582699169,0.895540041272,0.895497375143,0.895454700783,0.895412018192,0.895369327371,0.89532662832,0.895283921039,0.895241205528,0.895198481789,0.895155749822,0.895113009626,0.895070261203,0.895027504552,0.894984739675,0.894941966571,0.89489918524,0.894856395685,0.894813597903,0.894770791897,0.894727977667,0.894685155212,0.894642324533,0.894599485631,0.894556638506,0.894513783159,0.894470919589,0.894428047798,0.894385167785,0.894342279551,0.894299383097,0.894256478422,0.894213565528,0.894170644414,0.894127715081,0.89408477753,0.89404183176,0.893998877772,0.893955915567,0.893912945145,0.893869966506,0.893826979651,0.893783984581,0.893740981294,0.893697969793,0.893654950077,0.893611922146,0.893568886002,0.893525841644,0.893482789074,0.89343972829,0.893396659294,0.893353582086,0.893310496667,0.893267403037,0.893224301196,0.893181191144,0.893138072883,0.893094946412,0.893051811732,0.893008668843,0.892965517746,0.892922358441,0.892879190928,0.892836015208,0.892792831282,0.892749639149,0.89270643881,0.892663230265,0.892620013516,0.892576788562,0.892533555403,0.89249031404,0.892447064474,0.892403806704,0.892360540732,0.892317266557,0.892273984181,0.892230693602,0.892187394823,0.892144087843,0.892100772662,0.892057449282,0.892014117701,0.891970777922,0.891927429944,0.891884073767,0.891840709392,0.89179733682,0.891753956051,0.891710567084,0.891667169922,0.891623764563,0.891580351009,0.891536929259,0.891493499315,0.891450061176,0.891406614843,0.891363160317,0.891319697597,0.891276226685,0.89123274758,0.891189260283,0.891145764795,0.891102261115,0.891058749244,0.891015229183,0.890971700932,0.890928164492,0.890884619862,0.890841067043,0.890797506036,0.890753936841,0.890710359459,0.890666773889,0.890623180132,0.890579578189,0.89053596806,0.890492349745,0.890448723245,0.89040508856,0.890361445691,0.890317794637,0.890274135401,0.890230467981,0.890186792378,0.890143108592,0.890099416625,0.890055716476,0.890012008146,0.889968291635,0.889924566944,0.889880834073,0.889837093022,0.889793343792,0.889749586383,0.889705820796,0.889662047031,0.889618265088,0.889574474968,0.889530676671,0.889486870198,0.889443055549,0.889399232724,0.889355401724,0.88931156255,0.889267715201,0.889223859678,0.889179995981,0.889136124112,0.889092244069,0.889048355855,0.889004459468,0.88896055491,0.88891664218,0.88887272128,0.88882879221,0.88878485497,0.88874090956,0.888696955981,0.888652994233,0.888609024317,0.888565046233,0.888521059982,0.888477065564,0.888433062978,0.888389052227,0.88834503331,0.888301006227,0.888256970979,0.888212927566,0.88816887599,0.888124816249,0.888080748345,0.888036672278,0.887992588048,0.887948495656,0.887904395102,0.887860286387,0.88781616951,0.887772044473,0.887727911276,0.887683769919,0.887639620403,0.887595462728,0.887551296894,0.887507122901,0.887462940752,0.887418750444,0.88737455198,0.887330345359,0.887286130582,0.88724190765,0.887197676562,0.887153437319,0.887109189921,0.88706493437,0.887020670664,0.886976398806,0.886932118794,0.88688783063,0.886843534314,0.886799229847,0.886754917228,0.886710596458,0.886666267537,0.886621930467,0.886577585247,0.886533231878,0.88648887036,0.886444500693,0.886400122879,0.886355736917,0.886311342807,0.886266940551,0.886222530149,0.8861781116,0.886133684907,0.886089250067,0.886044807084,0.886000355955,0.885955896683,0.885911429268,0.885866953709,0.885822470007,0.885777978164,0.885733478178,0.885688970051,0.885644453783,0.885599929374,0.885555396825,0.885510856136,0.885466307308,0.885421750341,0.885377185235,0.885332611991,0.885288030609,0.885243441089,0.885198843433,0.88515423764,0.885109623711,0.885065001647,0.885020371447,0.884975733112,0.884931086642,0.884886432039,0.884841769301,0.884797098431,0.884752419428,0.884707732292,0.884663037024,0.884618333624,0.884573622094,0.884528902432,0.88448417464,0.884439438718,0.884394694667,0.884349942486,0.884305182177,0.884260413739,0.884215637173,0.88417085248,0.88412605966,0.884081258713,0.884036449639,0.88399163244,0.883946807116,0.883901973666,0.883857132091,0.883812282393,0.883767424571,0.883722558625,0.883677684556,0.883632802365,0.883587912051,0.883543013616,0.883498107059,0.883453192382,0.883408269584,0.883363338666,0.883318399628,0.883273452471,0.883228497195,0.883183533801,0.883138562288,0.883093582658,0.883048594911,0.883003599047,0.882958595066,0.88291358297,0.882868562758,0.882823534431,0.882778497989,0.882733453433,0.882688400763,0.88264333998,0.882598271083,0.882553194074,0.882508108952,0.882463015719,0.882417914374,0.882372804919,0.882327687352,0.882282561676,0.88223742789,0.882192285994,0.88214713599,0.882101977877,0.882056811656,0.882011637327,0.881966454891,0.881921264348,0.881876065699,0.881830858944,0.881785644083,0.881740421117,0.881695190046,0.881649950871,0.881604703592,0.881559448209,0.881514184723,0.881468913135,0.881423633444,0.881378345652,0.881333049758,0.881287745763,0.881242433667,0.881197113471,0.881151785176,0.881106448781,0.881061104287,0.881015751694,0.880970391004,0.880925022216,0.88087964533,0.880834260348,0.880788867269,0.880743466094,0.880698056824,0.880652639458,0.880607213998,0.880561780443,0.880516338794,0.880470889052,0.880425431217,0.880379965289,0.880334491269,0.880289009157,0.880243518953,0.880198020659,0.880152514274,0.880106999798,0.880061477233,0.880015946579,0.879970407836,0.879924861004,0.879879306084,0.879833743076,0.879788171982,0.8797425928,0.879697005532,0.879651410178,0.879605806739,0.879560195214,0.879514575604,0.879468947911,0.879423312133,0.879377668272,0.879332016328,0.879286356301,0.879240688192,0.879195012001,0.879149327729,0.879103635376,0.879057934942,0.879012226429,0.878966509835,0.878920785162,0.878875052411,0.878829311581,0.878783562673,0.878737805687,0.878692040625,0.878646267485,0.878600486269,0.878554696977,0.87850889961,0.878463094168,0.878417280651,0.87837145906,0.878325629395,0.878279791657,0.878233945845,0.878188091961,0.878142230005,0.878096359978,0.878050481879,0.878004595709,0.877958701469,0.877912799159,0.877866888779,0.87782097033,0.877775043812,0.877729109226,0.877683166572,0.877637215851,0.877591257062,0.877545290207,0.877499315286,0.877453332299,0.877407341246,0.877361342129,0.877315334947,0.877269319701,0.877223296392,0.877177265019,0.877131225583,0.877085178085,0.877039122525,0.876993058903,0.87694698722,0.876900907477,0.876854819673,0.876808723809,0.876762619886,0.876716507904,0.876670387863,0.876624259764,0.876578123608,0.876531979394,0.876485827123,0.876439666796,0.876393498412,0.876347321973,0.876301137479,0.87625494493,0.876208744327,0.87616253567,0.876116318959,0.876070094195,0.876023861379,0.87597762051,0.87593137159,0.875885114618,0.875838849595,0.875792576522,0.875746295399,0.875700006226,0.875653709003,0.875607403732,0.875561090413,0.875514769045,0.87546843963,0.875422102168,0.875375756659,0.875329403104,0.875283041503,0.875236671857,0.875190294165,0.87514390843,0.87509751465,0.875051112826,0.875004702959,0.874958285049,0.874911859097,0.874865425102,0.874818983066,0.874772532989,0.874726074872,0.874679608713,0.874633134516,0.874586652278,0.874540162002,0.874493663687,0.874447157334,0.874400642943,0.874354120515,0.87430759005,0.874261051548,0.874214505011,0.874167950438,0.874121387829,0.874074817186,0.874028238509,0.873981651798,0.873935057053,0.873888454276,0.873841843465,0.873795224623,0.873748597749,0.873701962843,0.873655319907,0.87360866894,0.873562009943,0.873515342917,0.873468667861,0.873421984777,0.873375293664,0.873328594524,0.873281887356,0.873235172161,0.873188448939,0.873141717692,0.873094978418,0.87304823112,0.873001475796,0.872954712448,0.872907941076,0.87286116168,0.872814374261,0.87276757882,0.872720775356,0.87267396387,0.872627144363,0.872580316835,0.872533481286,0.872486637717,0.872439786129,0.872392926521,0.872346058894,0.872299183249,0.872252299586,0.872205407906,0.872158508208,0.872111600493,0.872064684763,0.872017761016,0.871970829254,0.871923889477,0.871876941686,0.87182998588,0.871783022061,0.871736050229,0.871689070383,0.871642082526,0.871595086656,0.871548082775,0.871501070883,0.87145405098,0.871407023067,0.871359987144,0.871312943212,0.87126589127,0.871218831321,0.871171763363,0.871124687398,0.871077603425,0.871030511446,0.87098341146,0.870936303469,0.870889187472,0.87084206347,0.870794931464,0.870747791453,0.870700643438,0.870653487421,0.8706063234,0.870559151377,0.870511971352,0.870464783325,0.870417587298,0.870370383269,0.870323171241,0.870275951212,0.870228723184,0.870181487157,0.870134243132,0.870086991109,0.870039731088,0.869992463069,0.869945187054,0.869897903043,0.869850611035,0.869803311033,0.869756003035,0.869708687042,0.869661363056,0.869614031075,0.869566691101,0.869519343135,0.869471987176,0.869424623225,0.869377251282,0.869329871349,0.869282483424,0.86923508751,0.869187683605,0.869140271711,0.869092851828,0.869045423957,0.868997988098,0.868950544251,0.868903092416,0.868855632595,0.868808164788,0.868760688995,0.868713205216,0.868665713452,0.868618213704,0.868570705971,0.868523190255,0.868475666556,0.868428134873,0.868380595209,0.868333047562,0.868285491934,0.868237928324,0.868190356734,0.868142777164,0.868095189614,0.868047594085,0.867999990577,0.86795237909,0.867904759625,0.867857132183,0.867809496763,0.867761853367,0.867714201995,0.867666542646,0.867618875323,0.867571200024,0.867523516751,0.867475825503,0.867428126282,0.867380419088,0.867332703921,0.867284980782,0.867237249671,0.867189510588,0.867141763534,0.86709400851,0.867046245516,0.866998474552,0.866950695618,0.866902908716,0.866855113845,0.866807311007,0.866759500201,0.866711681428,0.866663854688,0.866616019982,0.866568177311,0.866520326674,0.866472468072,0.866424601505,0.866376726975,0.866328844481,0.866280954025,0.866233055605,0.866185149223,0.86613723488,0.866089312575,0.866041382309,0.865993444082,0.865945497896,0.86589754375,0.865849581645,0.865801611581,0.865753633559,0.865705647579,0.865657653642,0.865609651748,0.865561641897,0.865513624091,0.865465598328,0.865417564611,0.865369522938,0.865321473312,0.865273415731,0.865225350198,0.865177276711,0.865129195272,0.86508110588,0.865033008537,0.864984903243,0.864936789998,0.864888668803,0.864840539658,0.864792402563,0.864744257519,0.864696104527,0.864647943587,0.864599774699,0.864551597864,0.864503413082,0.864455220354,0.86440701968,0.864358811061,0.864310594496,0.864262369987,0.864214137534,0.864165897137,0.864117648797,0.864069392514,0.864021128289,0.863972856122,0.863924576013,0.863876287963,0.863827991973,0.863779688043,0.863731376173,0.863683056364,0.863634728616,0.86358639293,0.863538049305,0.863489697744,0.863441338245,0.86339297081,0.863344595439,0.863296212131,0.863247820889,0.863199421712,0.863151014601,0.863102599555,0.863054176577,0.863005745665,0.862957306821,0.862908860044,0.862860405336,0.862811942697,0.862763472126,0.862714993626,0.862666507196,0.862618012836,0.862569510547,0.86252100033,0.862472482184,0.862423956111,0.862375422111,0.862326880184,0.86227833033,0.862229772551,0.862181206846,0.862132633216,0.862084051662,0.862035462184,0.861986864782,0.861938259456,0.861889646209,0.861841025038,0.861792395946,0.861743758933,0.861695113998,0.861646461143,0.861597800368,0.861549131673,0.861500455059,0.861451770527,0.861403078076,0.861354377707,0.861305669421,0.861256953218,0.861208229099,0.861159497063,0.861110757112,0.861062009245,0.861013253464,0.860964489769,0.86091571816,0.860866938638,0.860818151202,0.860769355855,0.860720552595,0.860671741424,0.860622922341,0.860574095348,0.860525260445,0.860476417632,0.860427566909,0.860378708278,0.860329841738,0.860280967291,0.860232084935,0.860183194673,0.860134296504,0.860085390429,0.860036476449,0.859987554563,0.859938624772,0.859889687077,0.859840741477,0.859791787975,0.859742826569,0.859693857261,0.859644880051,0.859595894939,0.859546901926,0.859497901012,0.859448892197,0.859399875483,0.85935085087,0.859301818357,0.859252777946,0.859203729637,0.85915467343,0.859105609326,0.859056537325,0.859007457429,0.858958369636,0.858909273948,0.858860170365,0.858811058887,0.858761939516,0.858712812251,0.858663677093,0.858614534042,0.858565383099,0.858516224264,0.858467057538,0.858417882922,0.858368700414,0.858319510017,0.858270311731,0.858221105555,0.858171891491,0.858122669538,0.858073439698,0.858024201971,0.857974956357,0.857925702856,0.85787644147,0.857827172198,0.857777895041,0.85772861,0.857679317075,0.857630016266,0.857580707574,0.857531390999,0.857482066543,0.857432734204,0.857383393984,0.857334045883,0.857284689901,0.85723532604,0.857185954299,0.857136574679,0.857087187181,0.857037791804,0.85698838855,0.856938977418,0.856889558409,0.856840131525,0.856790696764,0.856741254128,0.856691803616,0.856642345231,0.856592878971,0.856543404838,0.856493922831,0.856444432952,0.8563949352,0.856345429577,0.856295916083,0.856246394717,0.856196865481,0.856147328375,0.8560977834,0.856048230555,0.855998669842,0.855949101261,0.855899524812,0.855849940496,0.855800348313,0.855750748263,0.855701140348,0.855651524567,0.855601900922,0.855552269412,0.855502630037,0.8554529828,0.855403327699,0.855353664735,0.855303993909,0.855254315222,0.855204628673,0.855154934263,0.855105231993,0.855055521863,0.855005803873,0.854956078025,0.854906344317,0.854856602752,0.854806853329,0.854757096049,0.854707330912,0.854657557919,0.85460777707,0.854557988365,0.854508191806,0.854458387392,0.854408575125,0.854358755003,0.854308927029,0.854259091202,0.854209247523,0.854159395992,0.85410953661,0.854059669377,0.854009794293,0.85395991136,0.853910020578,0.853860121946,0.853810215466,0.853760301138,0.853710378962,0.85366044894,0.85361051107,0.853560565355,0.853510611793,0.853460650387,0.853410681135,0.853360704039,0.8533107191,0.853260726316,0.85321072569,0.853160717221,0.853110700911,0.853060676758,0.853010644765,0.85296060493,0.852910557256,0.852860501742,0.852810438388,0.852760367196,0.852710288165,0.852660201296,0.85261010659,0.852560004047,0.852509893667,0.852459775451,0.8524096494,0.852359515513,0.852309373792,0.852259224236,0.852209066847,0.852158901624,0.852108728568,0.85205854768,0.85200835896,0.851958162409,0.851907958027,0.851857745814,0.851807525771,0.851757297898,0.851707062196,0.851656818666,0.851606567307,0.85155630812,0.851506041106,0.851455766266,0.851405483598,0.851355193105,0.851304894787,0.851254588643,0.851204274675,0.851153952883,0.851103623267,0.851053285828,0.851002940566,0.850952587482,0.850902226576,0.850851857849,0.850801481302,0.850751096933,0.850700704745,0.850650304737,0.850599896911,0.850549481266,0.850499057802,0.850448626522,0.850398187424,0.850347740509,0.850297285778,0.850246823231,0.850196352869,0.850145874693,0.850095388702,0.850044894897,0.849994393278,0.849943883847,0.849893366603,0.849842841547,0.849792308679,0.849741768001,0.849691219512,0.849640663212,0.849590099103,0.849539527185,0.849488947457,0.849438359922,0.849387764579,0.849337161428,0.84928655047,0.849235931706,0.849185305136,0.84913467076,0.84908402858,0.849033378594,0.848982720805,0.848932055212,0.848881381815,0.848830700616,0.848780011615,0.848729314812,0.848678610207,0.848627897802,0.848577177596,0.848526449591,0.848475713785,0.848424970181,0.848374218779,0.848323459578,0.848272692579,0.848221917784,0.848171135192,0.848120344803,0.848069546619,0.84801874064,0.847967926866,0.847917105297,0.847866275935,0.847815438779,0.84776459383,0.847713741089,0.847662880555,0.847612012231,0.847561136115,0.847510252208,0.847459360512,0.847408461025,0.84735755375,0.847306638686,0.847255715833,0.847204785193,0.847153846766,0.847102900551,0.84705194655,0.847000984764,0.846950015192,0.846899037834,0.846848052693,0.846797059767,0.846746059058,0.846695050565,0.84664403429,0.846593010233,0.846541978394,0.846490938774,0.846439891373,0.846388836192,0.846337773231,0.846286702491,0.846235623971,0.846184537674,0.846133443598,0.846082341745,0.846031232115,0.845980114708,0.845928989525,0.845877856567,0.845826715834,0.845775567326,0.845724411043,0.845673246987,0.845622075158,0.845570895556,0.845519708182,0.845468513036,0.845417310118,0.84536609943,0.845314880971,0.845263654742,0.845212420744,0.845161178976,0.845109929441,0.845058672137,0.845007407065,0.844956134226,0.844904853621,0.84485356525,0.844802269113,0.84475096521,0.844699653543,0.844648334111,0.844597006916,0.844545671957,0.844494329236,0.844442978752,0.844391620506,0.844340254499,0.84428888073,0.844237499201,0.844186109912,0.844134712864,0.844083308056,0.84403189549,0.843980475166,0.843929047084,0.843877611244,0.843826167648,0.843774716296,0.843723257188,0.843671790324,0.843620315706,0.843568833333,0.843517343207,0.843465845327,0.843414339694,0.843362826308,0.843311305171,0.843259776282,0.843208239642,0.843156695251,0.84310514311,0.84305358322,0.84300201558,0.842950440192,0.842898857056,0.842847266172,0.84279566754,0.842744061162,0.842692447037,0.842640825167,0.842589195551,0.84253755819,0.842485913085,0.842434260236,0.842382599643,0.842330931308,0.842279255229,0.842227571409,0.842175879848,0.842124180545,0.842072473501,0.842020758718,0.841969036194,0.841917305932,0.841865567931,0.841813822191,0.841762068714,0.841710307499,0.841658538548,0.84160676186,0.841554977437,0.841503185278,0.841451385384,0.841399577756,0.841347762394,0.841295939298,0.841244108469,0.841192269908,0.841140423614,0.841088569589,0.841036707833,0.840984838347,0.84093296113,0.840881076183,0.840829183508,0.840777283103,0.84072537497,0.84067345911,0.840621535522,0.840569604208,0.840517665167,0.8404657184,0.840413763908,0.840361801691,0.84030983175,0.840257854084,0.840205868695,0.840153875583,0.840101874749,0.840049866193,0.839997849915,0.839945825916,0.839893794196,0.839841754756,0.839789707597,0.839737652718,0.839685590121,0.839633519805,0.839581441772,0.839529356022,0.839477262555,0.839425161371,0.839373052472,0.839320935857,0.839268811527,0.839216679484,0.839164539726,0.839112392254,0.83906023707,0.839008074174,0.838955903565,0.838903725245,0.838851539214,0.838799345472,0.83874714402,0.838694934859,0.838642717989,0.838590493409,0.838538261122,0.838486021127,0.838433773425,0.838381518017,0.838329254902,0.838276984081,0.838224705555,0.838172419324,0.838120125389,0.83806782375,0.838015514408,0.837963197363,0.837910872615,0.837858540166,0.837806200015,0.837753852163,0.837701496611,0.837649133359,0.837596762407,0.837544383757,0.837491997408,0.83743960336,0.837387201616,0.837334792174,0.837282375035,0.837229950201,0.837177517671,0.837125077445,0.837072629525,0.837020173911,0.836967710603,0.836915239602,0.836862760908,0.836810274522,0.836757780444,0.836705278674,0.836652769214,0.836600252064,0.836547727224,0.836495194694,0.836442654475,0.836390106568,0.836337550974,0.836284987691,0.836232416722,0.836179838066,0.836127251725,0.836074657698,0.836022055985,0.835969446589,0.835916829508,0.835864204743,0.835811572296,0.835758932166,0.835706284354,0.83565362886,0.835600965685,0.835548294829,0.835495616294,0.835442930078,0.835390236183,0.83533753461,0.835284825358,0.835232108429,0.835179383822,0.835126651539,0.835073911579,0.835021163943,0.834968408632,0.834915645647,0.834862874986,0.834810096652,0.834757310645,0.834704516965,0.834651715612,0.834598906587,0.834546089891,0.834493265524,0.834440433486,0.834387593778,0.834334746401,0.834281891355,0.83422902864,0.834176158258,0.834123280207,0.83407039449,0.834017501106,0.833964600056,0.83391169134,0.833858774959,0.833805850914,0.833752919204,0.833699979831,0.833647032794,0.833594078095,0.833541115733,0.83348814571,0.833435168026,0.833382182681,0.833329189675,0.83327618901,0.833223180685,0.833170164702,0.83311714106,0.833064109761,0.833011070804,0.83295802419,0.83290496992,0.832851907994,0.832798838413,0.832745761176,0.832692676286,0.832639583741,0.832586483543,0.832533375692,0.832480260188,0.832427137033,0.832374006226,0.832320867768,0.832267721659,0.832214567901,0.832161406493,0.832108237436,0.83205506073,0.832001876376,0.831948684375,0.831895484727,0.831842277432,0.83178906249,0.831735839904,0.831682609672,0.831629371795,0.831576126274,0.83152287311,0.831469612303,0.831416343852,0.83136306776,0.831309784026,0.83125649265,0.831203193634,0.831149886978,0.831096572682,0.831043250746,0.830989921172,0.83093658396,0.83088323911,0.830829886622,0.830776526498,0.830723158737,0.830669783341,0.830616400309,0.830563009642,0.830509611341,0.830456205406,0.830402791838,0.830349370637,0.830295941803,0.830242505338,0.830189061241,0.830135609513,0.830082150155,0.830028683167,0.829975208549,0.829921726303,0.829868236428,0.829814738925,0.829761233795,0.829707721037,0.829654200653,0.829600672643,0.829547137008,0.829493593747,0.829440042862,0.829386484353,0.829332918221,0.829279344465,0.829225763087,0.829172174087,0.829118577465,0.829064973222,0.829011361359,0.828957741875,0.828904114772,0.82885048005,0.828796837709,0.82874318775,0.828689530173,0.828635864979,0.828582192169,0.828528511742,0.8284748237,0.828421128043,0.828367424771,0.828313713884,0.828259995384,0.828206269271,0.828152535545,0.828098794207,0.828045045258,0.827991288697,0.827937524525,0.827883752743,0.827829973352,0.827776186351,0.827722391741,0.827668589524,0.827614779698,0.827560962265,0.827507137226,0.82745330458,0.827399464328,0.827345616471,0.827291761009,0.827237897943,0.827184027274,0.827130149001,0.827076263125,0.827022369647,0.826968468567,0.826914559885,0.826860643603,0.826806719721,0.826752788238,0.826698849157,0.826644902476,0.826590948197,0.826536986321,0.826483016847,0.826429039776,0.826375055109,0.826321062846,0.826267062987,0.826213055534,0.826159040486,0.826105017845,0.82605098761,0.825996949782,0.825942904362,0.82588885135,0.825834790746,0.825780722552,0.825726646767,0.825672563392,0.825618472428,0.825564373875,0.825510267734,0.825456154004,0.825402032688,0.825347903784,0.825293767294,0.825239623218,0.825185471556,0.82513131231,0.825077145479,0.825022971065,0.824968789066,0.824914599485,0.824860402322,0.824806197576,0.824751985249,0.824697765342,0.824643537853,0.824589302785,0.824535060137,0.824480809911,0.824426552106,0.824372286723,0.824318013762,0.824263733225,0.824209445111,0.824155149421,0.824100846156,0.824046535315,0.8239922169,0.823937890912,0.82388355735,0.823829216215,0.823774867507,0.823720511227,0.823666147376,0.823611775954,0.823557396962,0.8235030104,0.823448616268,0.823394214567,0.823339805298,0.82328538846,0.823230964056,0.823176532084,0.823122092546,0.823067645442,0.823013190772,0.822958728538,0.822904258739,0.822849781376,0.822795296449,0.82274080396,0.822686303908,0.822631796295,0.822577281119,0.822522758383,0.822468228087,0.82241369023,0.822359144814,0.822304591839,0.822250031306,0.822195463214,0.822140887565,0.82208630436,0.822031713597,0.821977115279,0.821922509406,0.821867895977,0.821813274994,0.821758646457,0.821704010367,0.821649366724,0.821594715528,0.821540056781,0.821485390482,0.821430716632,0.821376035231,0.821321346281,0.821266649781,0.821211945733,0.821157234136,0.821102514991,0.821047788299,0.82099305406,0.820938312274,0.820883562943,0.820828806066,0.820774041644,0.820719269678,0.820664490168,0.820609703115,0.820554908519,0.82050010638,0.8204452967,0.820390479478,0.820335654715,0.820280822412,0.820225982569,0.820171135187,0.820116280266,0.820061417807,0.82000654781,0.819951670275,0.819896785204,0.819841892596,0.819786992453,0.819732084774,0.819677169561,0.819622246813,0.819567316531,0.819512378716,0.819457433369,0.819402480489,0.819347520077,0.819292552134,0.81923757666,0.819182593656,0.819127603122,0.819072605059,0.819017599467,0.818962586347,0.8189075657,0.818852537525,0.818797501823,0.818742458595,0.818687407842,0.818632349563,0.818577283759,0.818522210432,0.81846712958,0.818412041206,0.818356945309,0.818301841889,0.818246730948,0.818191612486,0.818136486503,0.818081353,0.818026211978,0.817971063436,0.817915907376,0.817860743797,0.817805572701,0.817750394088,0.817695207959,0.817640014313,0.817584813152,0.817529604475,0.817474388284,0.817419164579,0.817363933361,0.817308694629,0.817253448385,0.817198194629,0.817142933361,0.817087664583,0.817032388294,0.816977104494,0.816921813186,0.816866514368,0.816811208042,0.816755894208,0.816700572867,0.816645244018,0.816589907664,0.816534563803,0.816479212437,0.816423853566,0.81636848719,0.816313113311,0.816257731928,0.816202343043,0.816146946655,0.816091542765,0.816036131374,0.815980712482,0.81592528609,0.815869852198,0.815814410807,0.815758961917,0.815703505528,0.815648041642,0.815592570259,0.815537091378,0.815481605002,0.81542611113,0.815370609762,0.8153151009,0.815259584544,0.815204060694,0.815148529351,0.815092990515,0.815037444187,0.814981890367,0.814926329057,0.814870760255,0.814815183964,0.814759600182,0.814704008912,0.814648410153,0.814592803906,0.814537190172,0.81448156895,0.814425940242,0.814370304048,0.814314660369,0.814259009204,0.814203350555,0.814147684422,0.814092010805,0.814036329706,0.813980641124,0.81392494506,0.813869241515,0.813813530489,0.813757811982,0.813702085995,0.81364635253,0.813590611585,0.813534863162,0.813479107261,0.813423343883,0.813367573027,0.813311794696,0.813256008889,0.813200215606,0.813144414849,0.813088606618,0.813032790913,0.812976967734,0.812921137083,0.81286529896,0.812809453365,0.812753600299,0.812697739762,0.812641871755,0.812585996278,0.812530113333,0.812474222918,0.812418325036,0.812362419686,0.812306506869,0.812250586585,0.812194658836,0.81213872362,0.81208278094,0.812026830796,0.811970873187,0.811914908115,0.81185893558,0.811802955583,0.811746968123,0.811690973202,0.811634970821,0.811578960979,0.811522943677,0.811466918916,0.811410886695,0.811354847017,0.811298799881,0.811242745287,0.811186683237,0.811130613731,0.811074536768,0.811018452351,0.810962360479,0.810906261152,0.810850154372,0.810794040139,0.810737918453,0.810681789315,0.810625652726,0.810569508685,0.810513357194,0.810457198253,0.810401031862,0.810344858022,0.810288676733,0.810232487997,0.810176291813,0.810120088182,0.810063877105,0.810007658582,0.809951432613,0.809895199199,0.809838958341,0.80978271004,0.809726454294,0.809670191106,0.809613920476,0.809557642404,0.809501356891,0.809445063937,0.809388763542,0.809332455708,0.809276140435,0.809219817723,0.809163487572,0.809107149985,0.80905080496,0.808994452498,0.8089380926,0.808881725267,0.808825350499,0.808768968296,0.808712578659,0.808656181588,0.808599777085,0.808543365149,0.808486945781,0.808430518982,0.808374084751,0.808317643091,0.808261194,0.80820473748,0.808148273531,0.808091802154,0.80803532335,0.807978837117,0.807922343458,0.807865842373,0.807809333862,0.807752817926,0.807696294565,0.80763976378,0.807583225572,0.80752667994,0.807470126886,0.807413566409,0.807356998511,0.807300423192,0.807243840452,0.807187250293,0.807130652714,0.807074047716,0.807017435299,0.806960815464,0.806904188213,0.806847553544,0.806790911459,0.806734261958,0.806677605041,0.80662094071,0.806564268965,0.806507589806,0.806450903233,0.806394209248,0.806337507851,0.806280799042,0.806224082821,0.806167359191,0.80611062815,0.806053889699,0.805997143839,0.805940390571,0.805883629895,0.805826861811,0.805770086321,0.805713303423,0.80565651312,0.805599715412,0.805542910298,0.80548609778,0.805429277859,0.805372450534,0.805315615806,0.805258773676,0.805201924144,0.805145067211,0.805088202877,0.805031331143,0.804974452009,0.804917565476,0.804860671545,0.804803770215,0.804746861488,0.804689945364,0.804633021843,0.804576090926,0.804519152614,0.804462206907,0.804405253805,0.804348293309,0.80429132542,0.804234350139,0.804177367464,0.804120377398,0.804063379941,0.804006375093,0.803949362854,0.803892343226,0.803835316209,0.803778281803,0.803721240009,0.803664190827,0.803607134258,0.803550070303,0.803492998961,0.803435920234,0.803378834122,0.803321740625,0.803264639745,0.803207531481,0.803150415834,0.803093292804,0.803036162393,0.802979024601,0.802921879428,0.802864726874,0.802807566941,0.802750399628,0.802693224937,0.802636042867,0.80257885342,0.802521656596,0.802464452395,0.802407240818,0.802350021866,0.802292795538,0.802235561836,0.80217832076,0.802121072311,0.802063816488,0.802006553293,0.801949282727,0.801892004789,0.80183471948,0.801777426801,0.801720126752,0.801662819334,0.801605504547,0.801548182392,0.801490852869,0.80143351598,0.801376171723,0.801318820101,0.801261461113,0.80120409476,0.801146721042,0.80108933996,0.801031951515,0.800974555708,0.800917152537,0.800859742005,0.800802324112,0.800744898857,0.800687466243,0.800630026269,0.800572578935,0.800515124243,0.800457662193,0.800400192785,0.80034271602,0.800285231898,0.80022774042,0.800170241587,0.800112735399,0.800055221856,0.799997700959,0.799940172709,0.799882637106,0.799825094151,0.799767543844,0.799709986186,0.799652421176,0.799594848817,0.799537269108,0.79947968205,0.799422087643,0.799364485888,0.799306876785,0.799249260335,0.799191636539,0.799134005397,0.799076366909,0.799018721077,0.7989610679,0.798903407379,0.798845739515,0.798788064308,0.798730381758,0.798672691867,0.798614994635,0.798557290062,0.798499578149,0.798441858896,0.798384132304,0.798326398373,0.798268657105,0.798210908499,0.798153152556,0.798095389276,0.798037618661,0.79797984071,0.797922055424,0.797864262804,0.79780646285,0.797748655563,0.797690840943,0.797633018991,0.797575189708,0.797517353093,0.797459509147,0.797401657872,0.797343799267,0.797285933333,0.79722806007,0.79717017948,0.797112291562,0.797054396317,0.796996493746,0.796938583849,0.796880666627,0.79682274208,0.796764810208,0.796706871013,0.796648924495,0.796590970655,0.796533009492,0.796475041008,0.796417065202,0.796359082076,0.79630109163,0.796243093865,0.796185088781,0.796127076378,0.796069056658,0.79601102962,0.795952995266,0.795894953595,0.795836904609,0.795778848307,0.795720784691,0.795662713761,0.795604635517,0.79554654996,0.795488457091,0.79543035691,0.795372249417,0.795314134613,0.7952560125,0.795197883076,0.795139746343,0.795081602301,0.795023450951,0.794965292293,0.794907126328,0.794848953057,0.794790772479,0.794732584596,0.794674389408,0.794616186915,0.794557977119,0.794499760019,0.794441535616,0.794383303911,0.794325064904,0.794266818596,0.794208564987,0.794150304078,0.794092035869,0.794033760361,0.793975477554,0.79391718745,0.793858890048,0.793800585349,0.793742273353,0.793683954062,0.793625627475,0.793567293593,0.793508952417,0.793450603948,0.793392248185,0.793333885129,0.793275514781,0.793217137142,0.793158752211,0.79310035999,0.793041960479,0.792983553679,0.79292513959,0.792866718212,0.792808289546,0.792749853593,0.792691410353,0.792632959827,0.792574502015,0.792516036918,0.792457564537,0.792399084871,0.792340597922,0.79228210369,0.792223602175,0.792165093378,0.7921065773,0.792048053941,0.791989523302,0.791930985383,0.791872440184,0.791813887707,0.791755327952,0.791696760919,0.791638186609,0.791579605023,0.79152101616,0.791462420022,0.791403816609,0.791345205921,0.79128658796,0.791227962725,0.791169330218,0.791110690438,0.791052043386,0.790993389064,0.790934727471,0.790876058607,0.790817382474,0.790758699072,0.790700008402,0.790641310463,0.790582605257,0.790523892785,0.790465173046,0.790406446041,0.790347711771,0.790288970236,0.790230221437,0.790171465375,0.790112702049,0.790053931461,0.789995153611,0.789936368499,0.789877576127,0.789818776494,0.789759969601,0.789701155449,0.789642334038,0.789583505369,0.789524669442,0.789465826258,0.789406975818,0.789348118121,0.789289253169,0.789230380962,0.7891715015,0.789112614785,0.789053720816,0.788994819595,0.788935911121,0.788876995395,0.788818072418,0.788759142191,0.788700204714,0.788641259986,0.78858230801,0.788523348786,0.788464382313,0.788405408593,0.788346427627,0.788287439414,0.788228443955,0.788169441251,0.788110431302,0.788051414109,0.787992389673,0.787933357993,0.787874319071,0.787815272907,0.787756219501,0.787697158855,0.787638090968,0.787579015842,0.787519933476,0.787460843872,0.787401747029,0.787342642949,0.787283531631,0.787224413078,0.787165287288,0.787106154262,0.787047014002,0.786987866507,0.786928711779,0.786869549817,0.786810380623,0.786751204196,0.786692020538,0.786632829648,0.786573631529,0.786514426179,0.786455213599,0.786395993791,0.786336766754,0.786277532489,0.786218290997,0.786159042279,0.786099786334,0.786040523163,0.785981252768,0.785921975148,0.785862690303,0.785803398236,0.785744098945,0.785684792432,0.785625478697,0.785566157741,0.785506829564,0.785447494167,0.78538815155,0.785328801714,0.78526944466,0.785210080387,0.785150708897,0.78509133019,0.785031944267,0.784972551128,0.784913150773,0.784853743204,0.78479432842,0.784734906423,0.784675477213,0.78461604079,0.784556597156,0.784497146309,0.784437688252,0.784378222984,0.784318750507,0.78425927082,0.784199783925,0.784140289821,0.78408078851,0.784021279991,0.783961764266,0.783902241336,0.783842711199,0.783783173858,0.783723629312,0.783664077562,0.78360451861,0.783544952454,0.783485379096,0.783425798537,0.783366210777,0.783306615816,0.783247013655,0.783187404294,0.783127787735,0.783068163977,0.783008533022,0.782948894869,0.78288924952,0.782829596975,0.782769937233,0.782710270297,0.782650596167,0.782590914842,0.782531226324,0.782471530613,0.78241182771,0.782352117615,0.782292400329,0.782232675852,0.782172944185,0.782113205328,0.782053459283,0.781993706049,0.781933945627,0.781874178018,0.781814403222,0.781754621239,0.781694832071,0.781635035718,0.78157523218,0.781515421458,0.781455603552,0.781395778464,0.781335946193,0.78127610674,0.781216260106,0.781156406291,0.781096545296,0.781036677122,0.780976801768,0.780916919235,0.780857029525,0.780797132637,0.780737228572,0.780677317331,0.780617398914,0.780557473322,0.780497540555,0.780437600613,0.780377653499,0.780317699211,0.78025773775,0.780197769118,0.780137793314,0.78007781034,0.780017820195,0.77995782288,0.779897818396,0.779837806744,0.779777787923,0.779717761935,0.77965772878,0.779597688458,0.779537640971,0.779477586318,0.7794175245,0.779357455518,0.779297379373,0.779237296064,0.779177205593,0.779117107959,0.779057003164,0.778996891209,0.778936772093,0.778876645817,0.778816512381,0.778756371788,0.778696224036,0.778636069126,0.778575907059,0.778515737836,0.778455561457,0.778395377922,0.778335187233,0.778274989389,0.778214784392,0.778154572241,0.778094352938,0.778034126482,0.777973892876,0.777913652118,0.777853404209,0.777793149151,0.777732886944,0.777672617588,0.777612341083,0.777552057431,0.777491766632,0.777431468687,0.777371163595,0.777310851358,0.777250531976,0.77719020545,0.77712987178,0.777069530967,0.777009183011,0.776948827913,0.776888465673,0.776828096293,0.776767719772,0.776707336111,0.776646945311,0.776586547372,0.776526142295,0.77646573008,0.776405310728,0.776344884239,0.776284450615,0.776224009855,0.77616356196,0.776103106931,0.776042644768,0.775982175472,0.775921699043,0.775861215483,0.77580072479,0.775740226967,0.775679722013,0.775619209929,0.775558690716,0.775498164374,0.775437630904,0.775377090306,0.775316542582,0.77525598773,0.775195425753,0.77513485665,0.775074280423,0.775013697071,0.774953106595,0.774892508996,0.774831904274,0.774771292431,0.774710673466,0.774650047379,0.774589414173,0.774528773846,0.774468126401,0.774407471836,0.774346810154,0.774286141353,0.774225465436,0.774164782402,0.774104092252,0.774043394987,0.773982690607,0.773921979112,0.773861260504,0.773800534783,0.773739801949,0.773679062003,0.773618314946,0.773557560778,0.773496799499,0.77343603111,0.773375255613,0.773314473006,0.773253683291,0.773192886469,0.77313208254,0.773071271504,0.773010453363,0.772949628116,0.772888795764,0.772827956308,0.772767109748,0.772706256086,0.77264539532,0.772584527453,0.772523652484,0.772462770415,0.772401881245,0.772340984975,0.772280081606,0.772219171139,0.772158253573,0.77209732891,0.77203639715,0.771975458294,0.771914512342,0.771853559294,0.771792599152,0.771731631916,0.771670657586,0.771609676163,0.771548687647,0.77148769204,0.771426689341,0.771365679552,0.771304662672,0.771243638702,0.771182607644,0.771121569497,0.771060524262,0.770999471939,0.77093841253,0.770877346034,0.770816272453,0.770755191786,0.770694104035,0.7706330092,0.770571907281,0.77051079828,0.770449682196,0.77038855903,0.770327428783,0.770266291455,0.770205147047,0.77014399556,0.770082836993,0.770021671348,0.769960498626,0.769899318826,0.769838131949,0.769776937996,0.769715736967,0.769654528864,0.769593313685,0.769532091433,0.769470862108,0.76940962571,0.769348382239,0.769287131697,0.769225874083,0.769164609399,0.769103337646,0.769042058822,0.76898077293,0.76891947997,0.768858179941,0.768796872846,0.768735558684,0.768674237456,0.768612909162,0.768551573804,0.768490231381,0.768428881894,0.768367525344,0.768306161731,0.768244791057,0.768183413321,0.768122028523,0.768060636666,0.767999237748,0.767937831772,0.767876418736,0.767814998642,0.767753571491,0.767692137283,0.767630696018,0.767569247698,0.767507792322,0.767446329891,0.767384860406,0.767323383868,0.767261900276,0.767200409632,0.767138911936,0.767077407188,0.76701589539,0.766954376542,0.766892850643,0.766831317696,0.7667697777,0.766708230657,0.766646676565,0.766585115427,0.766523547243,0.766461972013,0.766400389738,0.766338800418,0.766277204054,0.766215600647,0.766153990196,0.766092372704,0.76603074817,0.765969116594,0.765907477978,0.765845832322,0.765784179626,0.765722519892,0.765660853119,0.765599179308,0.76553749846,0.765475810575,0.765414115655,0.765352413699,0.765290704707,0.765228988682,0.765167265622,0.76510553553,0.765043798405,0.764982054247,0.764920303058,0.764858544838,0.764796779588,0.764735007308,0.764673227998,0.76461144166,0.764549648293,0.7644878479,0.764426040479,0.764364226031,0.764302404558,0.764240576059,0.764178740536,0.764116897989,0.764055048418,0.763993191824,0.763931328207,0.763869457569,0.763807579909,0.763745695228,0.763683803528,0.763621904807,0.763559999068,0.76349808631,0.763436166534,0.763374239741,0.763312305931,0.763250365105,0.763188417263,0.763126462407,0.763064500535,0.76300253165,0.762940555752,0.76287857284,0.762816582917,0.762754585981,0.762692582035,0.762630571078,0.762568553112,0.762506528136,0.762444496151,0.762382457158,0.762320411157,0.762258358149,0.762196298135,0.762134231114,0.762072157089,0.762010076058,0.761947988023,0.761885892985,0.761823790943,0.761761681899,0.761699565854,0.761637442806,0.761575312758,0.76151317571,0.761451031662,0.761388880615,0.761326722569,0.761264557525,0.761202385484,0.761140206446,0.761078020412,0.761015827383,0.760953627358,0.760891420339,0.760829206325,0.760766985319,0.760704757319,0.760642522328,0.760580280344,0.76051803137,0.760455775405,0.76039351245,0.760331242506,0.760268965573,0.760206681651,0.760144390742,0.760082092846,0.760019787964,0.759957476095,0.759895157241,0.759832831403,0.75977049858,0.759708158773,0.759645811984,0.759583458211,0.759521097457,0.759458729722,0.759396355006,0.759333973309,0.759271584633,0.759209188978,0.759146786345,0.759084376733,0.759021960145,0.758959536579,0.758897106037,0.75883466852,0.758772224027,0.75870977256,0.75864731412,0.758584848705,0.758522376319,0.75845989696,0.758397410629,0.758334917327,0.758272417055,0.758209909813,0.758147395602,0.758084874422,0.758022346273,0.757959811158,0.757897269075,0.757834720026,0.757772164011,0.75770960103,0.757647031085,0.757584454176,0.757521870303,0.757459279468,0.757396681669,0.75733407691,0.757271465188,0.757208846506,0.757146220865,0.757083588263,0.757020948703,0.756958302184,0.756895648707,0.756832988273,0.756770320883,0.756707646536,0.756644965234,0.756582276977,0.756519581766,0.756456879601,0.756394170483,0.756331454412,0.756268731389,0.756206001414,0.756143264489,0.756080520614,0.756017769788,0.755955012014,0.755892247291,0.75582947562,0.755766697001,0.755703911436,0.755641118924,0.755578319467,0.755515513065,0.755452699718,0.755389879427,0.755327052193,0.755264218016,0.755201376897,0.755138528836,0.755075673834,0.755012811891,0.754949943009,0.754887067187,0.754824184426,0.754761294728,0.754698398092,0.754635494518,0.754572584008,0.754509666563,0.754446742182,0.754383810866,0.754320872617,0.754257927433,0.754194975317,0.754132016268,0.754069050288,0.754006077376,0.753943097533,0.753880110761,0.753817117059,0.753754116428,0.753691108869,0.753628094382,0.753565072968,0.753502044627,0.75343900936,0.753375967167,0.75331291805,0.753249862009,0.753186799044,0.753123729155,0.753060652344,0.752997568612,0.752934477957,0.752871380382,0.752808275887,0.752745164472,0.752682046138,0.752618920886,0.752555788715,0.752492649627,0.752429503623,0.752366350702,0.752303190866,0.752240024115,0.752176850449,0.75211366987,0.752050482377,0.751987287971,0.751924086654,0.751860878424,0.751797663284,0.751734441234,0.751671212274,0.751607976404,0.751544733626,0.75148148394,0.751418227347,0.751354963846,0.75129169344,0.751228416127,0.75116513191,0.751101840788,0.751038542762,0.750975237832,0.750911926,0.750848607265,0.750785281629,0.750721949092,0.750658609655,0.750595263317,0.75053191008,0.750468549945,0.750405182911,0.75034180898,0.750278428151,0.750215040427,0.750151645806,0.750088244291,0.75002483588,0.749961420576,0.749897998378,0.749834569287,0.749771133304,0.749707690429,0.749644240663,0.749580784006,0.74951732046,0.749453850024,0.749390372699,0.749326888486,0.749263397385,0.749199899398,0.749136394523,0.749072882763,0.749009364118,0.748945838588,0.748882306173,0.748818766875,0.748755220695,0.748691667631,0.748628107686,0.74856454086,0.748500967153,0.748437386566,0.748373799099,0.748310204754,0.74824660353,0.748182995429,0.74811938045,0.748055758595,0.747992129864,0.747928494258,0.747864851777,0.747801202421,0.747737546192,0.74767388309,0.747610213115,0.747546536269,0.747482852551,0.747419161963,0.747355464504,0.747291760176,0.747228048979,0.747164330913,0.74710060598,0.74703687418,0.746973135513,0.74690938998,0.746845637581,0.746781878318,0.746718112191,0.746654339199,0.746590559345,0.746526772628,0.74646297905,0.74639917861,0.746335371309,0.746271557148,0.746207736127,0.746143908248,0.74608007351,0.746016231914,0.745952383461,0.745888528152,0.745824665986,0.745760796965,0.745696921089,0.745633038359,0.745569148775,0.745505252338,0.745441349049,0.745377438907,0.745313521914,0.745249598071,0.745185667377,0.745121729834,0.745057785441,0.744993834201,0.744929876112,0.744865911176,0.744801939394,0.744737960765,0.744673975291,0.744609982972,0.744545983809,0.744481977802,0.744417964952,0.74435394526,0.744289918725,0.74422588535,0.744161845133,0.744097798076,0.74403374418,0.743969683445,0.743905615871,0.743841541459,0.74377746021,0.743713372125,0.743649277203,0.743585175447,0.743521066855,0.743456951429,0.743392829169,0.743328700076,0.74326456415,0.743200421393,0.743136271804,0.743072115385,0.743007952135,0.742943782056,0.742879605148,0.742815421411,0.742751230847,0.742687033455,0.742622829237,0.742558618193,0.742494400323,0.742430175629,0.74236594411,0.742301705767,0.742237460602,0.742173208614,0.742108949804,0.742044684173,0.741980411721,0.741916132449,0.741851846357,0.741787553447,0.741723253718,0.741658947171,0.741594633807,0.741530313627,0.741465986631,0.741401652819,0.741337312192,0.741272964751,0.741208610497,0.74114424943,0.74107988155,0.741015506858,0.740951125355,0.740886737041,0.740822341918,0.740757939984,0.740693531242,0.740629115692,0.740564693334,0.740500264169,0.740435828197,0.740371385419,0.740306935836,0.740242479449,0.740178016257,0.740113546261,0.740049069463,0.739984585862,0.73992009546,0.739855598256,0.739791094251,0.739726583447,0.739662065843,0.739597541441,0.73953301024,0.739468472242,0.739403927446,0.739339375854,0.739274817467,0.739210252284,0.739145680306,0.739081101534,0.739016515969,0.738951923611,0.738887324461,0.738822718519,0.738758105785,0.738693486262,0.738628859948,0.738564226845,0.738499586954,0.738434940274,0.738370286807,0.738305626552,0.738240959512,0.738176285686,0.738111605074,0.738046917678,0.737982223498,0.737917522535,0.737852814788,0.73778810026,0.73772337895,0.737658650859,0.737593915988,0.737529174337,0.737464425906,0.737399670697,0.73733490871,0.737270139946,0.737205364405,0.737140582087,0.737075792994,0.737010997126,0.736946194484,0.736881385067,0.736816568877,0.736751745915,0.736686916181,0.736622079675,0.736557236398,0.736492386351,0.736427529534,0.736362665948,0.736297795594,0.736232918472,0.736168034582,0.736103143926,0.736038246504,0.735973342316,0.735908431363,0.735843513646,0.735778589166,0.735713657922,0.735648719916,0.735583775147,0.735518823618,0.735453865327,0.735388900277,0.735323928467,0.735258949898,0.73519396457,0.735128972485,0.735063973643,0.734998968044,0.73493395569,0.73486893658,0.734803910715,0.734738878096,0.734673838723,0.734608792598,0.73454373972,0.73447868009,0.73441361371,0.734348540578,0.734283460697,0.734218374066,0.734153280687,0.734088180559,0.734023073684,0.733957960061,0.733892839693,0.733827712578,0.733762578719,0.733697438115,0.733632290766,0.733567136675,0.733501975841,0.733436808264,0.733371633946,0.733306452887,0.733241265087,0.733176070548,0.733110869269,0.733045661252,0.732980446497,0.732915225005,0.732849996775,0.73278476181,0.732719520109,0.732654271672,0.732589016502,0.732523754598,0.73245848596,0.73239321059,0.732327928488,0.732262639654,0.73219734409,0.732132041795,0.732066732771,0.732001417018,0.731936094537,0.731870765327,0.731805429391,0.731740086728,0.731674737338,0.731609381224,0.731544018385,0.731478648821,0.731413272534,0.731347889524,0.731282499791,0.731217103337,0.731151700162,0.731086290265,0.731020873649,0.730955450314,0.73089002026,0.730824583487,0.730759139997,0.73069368979,0.730628232867,0.730562769228,0.730497298874,0.730431821805,0.730366338022,0.730300847526,0.730235350317,0.730169846395,0.730104335763,0.730038818419,0.729973294365,0.729907763601,0.729842226128,0.729776681947,0.729711131057,0.72964557346,0.729580009157,0.729514438147,0.729448860432,0.729383276012,0.729317684887,0.729252087059,0.729186482527,0.729120871293,0.729055253358,0.728989628721,0.728923997383,0.728858359345,0.728792714607,0.728727063171,0.728661405036,0.728595740204,0.728530068674,0.728464390448,0.728398705526,0.728333013909,0.728267315597,0.728201610591,0.728135898892,0.7280701805,0.728004455415,0.727938723639,0.727872985172,0.727807240014,0.727741488167,0.72767572963,0.727609964404,0.727544192491,0.72747841389,0.727412628602,0.727346836628,0.727281037969,0.727215232624,0.727149420595,0.727083601883,0.727017776487,0.726951944408,0.726886105648,0.726820260206,0.726754408083,0.72668854928,0.726622683798,0.726556811636,0.726490932796,0.726425047279,0.726359155084,0.726293256213,0.726227350666,0.726161438444,0.726095519546,0.726029593975,0.72596366173,0.725897722813,0.725831777223,0.725765824961,0.725699866028,0.725633900425,0.725567928152,0.72550194921,0.725435963599,0.72536997132,0.725303972373,0.72523796676,0.72517195448,0.725105935535,0.725039909925,0.72497387765,0.724907838712,0.72484179311,0.724775740846,0.724709681919,0.724643616332,0.724577544084,0.724511465175,0.724445379607,0.72437928738,0.724313188495,0.724247082951,0.724180970751,0.724114851895,0.724048726382,0.723982594214,0.723916455391,0.723850309915,0.723784157784,0.723717999001,0.723651833566,0.723585661479,0.723519482741,0.723453297353,0.723387105314,0.723320906627,0.723254701291,0.723188489307,0.723122270675,0.723056045397,0.722989813472,0.722923574902,0.722857329687,0.722791077828,0.722724819325,0.722658554179,0.72259228239,0.722526003959,0.722459718887,0.722393427175,0.722327128822,0.72226082383,0.722194512199,0.722128193929,0.722061869022,0.721995537478,0.721929199298,0.721862854481,0.72179650303,0.721730144944,0.721663780224,0.72159740887,0.721531030884,0.721464646266,0.721398255016,0.721331857135,0.721265452624,0.721199041483,0.721132623713,0.721066199315,0.720999768288,0.720933330634,0.720866886354,0.720800435448,0.720733977916,0.720667513759,0.720601042978,0.720534565574,0.720468081546,0.720401590897,0.720335093625,0.720268589732,0.720202079219,0.720135562085,0.720069038333,0.720002507961,0.719935970972,0.719869427365,0.719802877141,0.719736320301,0.719669756845,0.719603186774,0.719536610089,0.71947002679,0.719403436878,0.719336840353,0.719270237216,0.719203627467,0.719137011108,0.719070388139,0.71900375856,0.718937122373,0.718870479577,0.718803830173,0.718737174162,0.718670511545,0.718603842322,0.718537166494,0.718470484061,0.718403795023,0.718337099383,0.71827039714,0.718203688294,0.718136972847,0.718070250799,0.718003522151,0.717936786903,0.717870045056,0.71780329661,0.717736541566,0.717669779926,0.717603011688,0.717536236854,0.717469455425,0.717402667402,0.717335872784,0.717269071572,0.717202263767,0.71713544937,0.717068628381,0.717001800802,0.716934966631,0.716868125871,0.716801278521,0.716734424583,0.716667564056,0.716600696943,0.716533823242,0.716466942955,0.716400056082,0.716333162625,0.716266262583,0.716199355957,0.716132442748,0.716065522957,0.715998596584,0.715931663629,0.715864724094,0.715797777979,0.715730825284,0.71566386601,0.715596900158,0.715529927729,0.715462948722,0.715395963139,0.715328970981,0.715261972247,0.715194966939,0.715127955056,0.715060936601,0.714993911573,0.714926879972,0.714859841801,0.714792797058,0.714725745745,0.714658687863,0.714591623411,0.714524552392,0.714457474804,0.714390390649,0.714323299928,0.714256202641,0.714189098789,0.714121988372,0.71405487139,0.713987747846,0.713920617738,0.713853481069,0.713786337838,0.713719188046,0.713652031693,0.713584868781,0.713517699309,0.71345052328,0.713383340692,0.713316151547,0.713248955845,0.713181753587,0.713114544774,0.713047329406,0.712980107484,0.712912879009,0.71284564398,0.712778402399,0.712711154267,0.712643899583,0.712576638349,0.712509370565,0.712442096231,0.71237481535,0.71230752792,0.712240233942,0.712172933418,0.712105626348,0.712038312733,0.711970992572,0.711903665867,0.711836332619,0.711768992827,0.711701646493,0.711634293617,0.7115669342,0.711499568243,0.711432195745,0.711364816708,0.711297431133,0.711230039019,0.711162640368,0.71109523518,0.711027823456,0.710960405196,0.710892980401,0.710825549072,0.710758111209,0.710690666813,0.710623215884,0.710555758424,0.710488294432,0.71042082391,0.710353346857,0.710285863275,0.710218373164,0.710150876526,0.710083373359,0.710015863666,0.709948347446,0.709880824701,0.70981329543,0.709745759636,0.709678217317,0.709610668475,0.70954311311,0.709475551224,0.709407982816,0.709340407888,0.709272826439,0.709205238471,0.709137643984,0.709070042978,0.709002435456,0.708934821416,0.70886720086,0.708799573788,0.7087319402,0.708664300099,0.708596653483,0.708529000354,0.708461340713,0.70839367456,0.708326001895,0.708258322719,0.708190637033,0.708122944838,0.708055246134,0.707987540921,0.707919829201,0.707852110974,0.70778438624,0.707716655,0.707648917256,0.707581173006,0.707513422253,0.707445664997,0.707377901238,0.707310130976,0.707242354214,0.70717457095,0.707106781187,0.707038984923,0.706971182161,0.706903372901,0.706835557142,0.706767734887,0.706699906135,0.706632070888,0.706564229145,0.706496380907,0.706428526176,0.706360664951,0.706292797234,0.706224923024,0.706157042323,0.706089155131,0.706021261449,0.705953361278,0.705885454617,0.705817541468,0.705749621831,0.705681695708,0.705613763097,0.705545824001,0.70547787842,0.705409926354,0.705341967804,0.705274002771,0.705206031255,0.705138053257,0.705070068777,0.705002077817,0.704934080376,0.704866076456,0.704798066056,0.704730049179,0.704662025823,0.704593995991,0.704525959682,0.704457916897,0.704389867637,0.704321811903,0.704253749694,0.704185681012,0.704117605858,0.704049524231,0.703981436133,0.703913341564,0.703845240524,0.703777133016,0.703709019038,0.703640898592,0.703572771678,0.703504638297,0.703436498449,0.703368352136,0.703300199358,0.703232040114,0.703163874407,0.703095702237,0.703027523604,0.702959338509,0.702891146952,0.702822948935,0.702754744457,0.70268653352,0.702618316124,0.702550092269,0.702481861957,0.702413625188,0.702345381962,0.702277132281,0.702208876144,0.702140613553,0.702072344508,0.70200406901,0.701935787059,0.701867498656,0.701799203801,0.701730902496,0.70166259474,0.701594280535,0.701525959881,0.701457632779,0.701389299229,0.701320959232,0.701252612789,0.7011842599,0.701115900566,0.701047534787,0.700979162565,0.700910783899,0.700842398791,0.70077400724,0.700705609248,0.700637204816,0.700568793943,0.700500376631,0.70043195288,0.700363522691,0.700295086064,0.700226643001,0.700158193501,0.700089737565,0.700021275194,0.699952806389,0.69988433115,0.699815849477,0.699747361373,0.699678866836,0.699610365868,0.699541858469,0.69947334464,0.699404824382,0.699336297695,0.69926776458,0.699199225037,0.699130679068,0.699062126672,0.698993567851,0.698925002604,0.698856430934,0.698787852839,0.698719268322,0.698650677381,0.69858208002,0.698513476236,0.698444866033,0.698376249409,0.698307626366,0.698238996904,0.698170361024,0.698101718727,0.698033070013,0.697964414883,0.697895753337,0.697827085377,0.697758411002,0.697689730213,0.697621043012,0.697552349398,0.697483649372,0.697414942935,0.697346230088,0.697277510831,0.697208785165,0.69714005309,0.697071314607,0.697002569716,0.696933818419,0.696865060716,0.696796296608,0.696727526095,0.696658749177,0.696589965856,0.696521176132,0.696452380006,0.696383577478,0.69631476855,0.69624595322,0.696177131491,0.696108303363,0.696039468837,0.695970627913,0.695901780591,0.695832926873,0.695764066759,0.695695200249,0.695626327345,0.695557448047,0.695488562356,0.695419670271,0.695350771795,0.695281866927,0.695212955668,0.695144038019,0.69507511398,0.695006183552,0.694937246736,0.694868303532,0.694799353942,0.694730397964,0.694661435601,0.694592466853,0.69452349172,0.694454510203,0.694385522303,0.69431652802,0.694247527356,0.69417852031,0.694109506883,0.694040487076,0.69397146089,0.693902428324,0.693833389381,0.69376434406,0.693695292362,0.693626234288,0.693557169838,0.693488099013,0.693419021814,0.693349938241,0.693280848295,0.693211751976,0.693142649285,0.693073540224,0.693004424791,0.692935302989,0.692866174817,0.692797040277,0.692727899369,0.692658752093,0.692589598451,0.692520438442,0.692451272068,0.692382099329,0.692312920226,0.692243734759,0.692174542929,0.692105344737,0.692036140183,0.691966929269,0.691897711993,0.691828488358,0.691759258364,0.691690022012,0.691620779301,0.691551530233,0.691482274809,0.691413013029,0.691343744893,0.691274470403,0.691205189558,0.691135902361,0.69106660881,0.690997308908,0.690928002653,0.690858690048,0.690789371093,0.690720045788,0.690650714135,0.690581376132,0.690512031783,0.690442681086,0.690373324043,0.690303960654,0.69023459092,0.690165214841,0.690095832419,0.690026443653,0.689957048545,0.689887647095,0.689818239303,0.689748825171,0.689679404699,0.689609977887,0.689540544737,0.689471105249,0.689401659423,0.68933220726,0.689262748761,0.689193283927,0.689123812757,0.689054335254,0.688984851417,0.688915361246,0.688845864744,0.688776361909,0.688706852744,0.688637337248,0.688567815422,0.688498287267,0.688428752784,0.688359211973,0.688289664834,0.688220111369,0.688150551578,0.688080985462,0.68801141302,0.687941834255,0.687872249167,0.687802657755,0.687733060022,0.687663455967,0.687593845591,0.687524228895,0.687454605879,0.687384976545,0.687315340892,0.687245698921,0.687176050634,0.68710639603,0.68703673511,0.686967067875,0.686897394326,0.686827714463,0.686758028287,0.686688335798,0.686618636998,0.686548931886,0.686479220463,0.686409502731,0.686339778689,0.686270048339,0.68620031168,0.686130568714,0.686060819441,0.685991063863,0.685921301978,0.685851533789,0.685781759296,0.685711978499,0.685642191399,0.685572397997,0.685502598293,0.685432792289,0.685362979984,0.685293161379,0.685223336475,0.685153505273,0.685083667773,0.685013823976,0.684943973882,0.684874117492,0.684804254808,0.684734385828,0.684664510555,0.684594628988,0.684524741129,0.684454846978,0.684384946535,0.684315039802,0.684245126779,0.684175207466,0.684105281864,0.684035349975,0.683965411797,0.683895467333,0.683825516583,0.683755559547,0.683685596226,0.683615626621,0.683545650732,0.68347566856,0.683405680106,0.68333568537,0.683265684353,0.683195677056,0.683125663479,0.683055643623,0.682985617488,0.682915585075,0.682845546385,0.682775501419,0.682705450176,0.682635392659,0.682565328866,0.6824952588,0.682425182461,0.682355099848,0.682285010964,0.682214915808,0.682144814381,0.682074706685,0.682004592718,0.681934472483,0.68186434598,0.681794213209,0.681724074172,0.681653928868,0.681583777298,0.681513619464,0.681443455365,0.681373285002,0.681303108377,0.681232925489,0.681162736339,0.681092540928,0.681022339257,0.680952131326,0.680881917135,0.680811696686,0.68074146998,0.680671237016,0.680600997795,0.680530752319,0.680460500587,0.680390242601,0.680319978361,0.680249707867,0.68017943112,0.680109148122,0.680038858872,0.679968563371,0.679898261621,0.67982795362,0.679757639371,0.679687318874,0.679616992129,0.679546659137,0.679476319899,0.679405974416,0.679335622687,0.679265264714,0.679194900498,0.679124530038,0.679054153337,0.678983770393,0.678913381208,0.678842985783,0.678772584118,0.678702176214,0.678631762072,0.678561341691,0.678490915074,0.67842048222,0.67835004313,0.678279597805,0.678209146245,0.678138688451,0.678068224424,0.677997754164,0.677927277673,0.677856794949,0.677786305996,0.677715810812,0.677645309398,0.677574801756,0.677504287886,0.677433767789,0.677363241464,0.677292708913,0.677222170137,0.677151625136,0.677081073911,0.677010516462,0.67693995279,0.676869382896,0.67679880678,0.676728224443,0.676657635886,0.67658704111,0.676516440114,0.6764458329,0.676375219468,0.676304599819,0.676233973953,0.676163341872,0.676092703575,0.676022059064,0.67595140834,0.675880751402,0.675810088251,0.675739418889,0.675668743315,0.675598061531,0.675527373536,0.675456679333,0.675385978921,0.6753152723,0.675244559473,0.675173840439,0.675103115198,0.675032383752,0.674961646102,0.674890902247,0.674820152189,0.674749395929,0.674678633466,0.674607864801,0.674537089936,0.67446630887,0.674395521605,0.674324728141,0.674253928479,0.674183122619,0.674112310562,0.674041492309,0.673970667861,0.673899837217,0.673829000379,0.673758157347,0.673687308122,0.673616452705,0.673545591096,0.673474723296,0.673403849306,0.673332969125,0.673262082756,0.673191190198,0.673120291453,0.67304938652,0.6729784754,0.672907558095,0.672836634605,0.67276570493,0.672694769071,0.672623827029,0.672552878804,0.672481924397,0.672410963809,0.67233999704,0.672269024091,0.672198044963,0.672127059656,0.672056068172,0.671985070509,0.67191406667,0.671843056655,0.671772040465,0.671701018099,0.67162998956,0.671558954847,0.671487913961,0.671416866903,0.671345813674,0.671274754274,0.671203688703,0.671132616963,0.671061539054,0.670990454977,0.670919364732,0.67084826832,0.670777165742,0.670706056998,0.67063494209,0.670563821017,0.67049269378,0.67042156038,0.670350420818,0.670279275094,0.670208123209,0.670136965164,0.670065800959,0.669994630595,0.669923454072,0.669852271392,0.669781082554,0.66970988756,0.66963868641,0.669567479105,0.669496265646,0.669425046032,0.669353820266,0.669282588347,0.669211350276,0.669140106053,0.66906885568,0.668997599157,0.668926336485,0.668855067665,0.668783792696,0.66871251158,0.668641224317,0.668569930908,0.668498631354,0.668427325655,0.668356013813,0.668284695826,0.668213371698,0.668142041427,0.668070705014,0.667999362461,0.667928013768,0.667856658935,0.667785297963,0.667713930854,0.667642557607,0.667571178223,0.667499792702,0.667428401047,0.667357003256,0.667285599331,0.667214189273,0.667142773082,0.667071350759,0.666999922304,0.666928487718,0.666857047002,0.666785600156,0.666714147181,0.666642688078,0.666571222847,0.66649975149,0.666428274006,0.666356790396,0.666285300662,0.666213804803,0.66614230282,0.666070794714,0.665999280486,0.665927760136,0.665856233666,0.665784701074,0.665713162363,0.665641617533,0.665570066585,0.665498509518,0.665426946335,0.665355377035,0.665283801619,0.665212220088,0.665140632443,0.665069038684,0.664997438811,0.664925832826,0.66485422073,0.664782602522,0.664710978203,0.664639347775,0.664567711237,0.664496068591,0.664424419837,0.664352764976,0.664281104008,0.664209436934,0.664137763755,0.664066084472,0.663994399084,0.663922707593,0.663851009999,0.663779306304,0.663707596507,0.66363588061,0.663564158612,0.663492430515,0.66342069632,0.663348956026,0.663277209635,0.663205457148,0.663133698564,0.663061933885,0.662990163111,0.662918386243,0.662846603282,0.662774814228,0.662703019082,0.662631217845,0.662559410516,0.662487597098,0.66241577759,0.662343951994,0.662272120309,0.662200282537,0.662128438678,0.662056588733,0.661984732702,0.661912870587,0.661841002387,0.661769128104,0.661697247738,0.66162536129,0.66155346876,0.66148157015,0.661409665459,0.661337754689,0.66126583784,0.661193914913,0.661121985908,0.661050050826,0.660978109668,0.660906162435,0.660834209126,0.660762249744,0.660690284287,0.660618312758,0.660546335157,0.660474351484,0.66040236174,0.660330365925,0.660258364041,0.660186356089,0.660114342067,0.660042321979,0.659970295823,0.659898263601,0.659826225313,0.659754180961,0.659682130544,0.659610074063,0.659538011519,0.659465942913,0.659393868246,0.659321787517,0.659249700728,0.659177607879,0.659105508972,0.659033404006,0.658961292982,0.658889175901,0.658817052764,0.658744923571,0.658672788323,0.658600647021,0.658528499665,0.658456346256,0.658384186795,0.658312021282,0.658239849717,0.658167672103,0.658095488439,0.658023298725,0.657951102963,0.657878901154,0.657806693297,0.657734479394,0.657662259445,0.657590033451,0.657517801413,0.657445563331,0.657373319206,0.657301069038,0.657228812829,0.657156550578,0.657084282287,0.657012007956,0.656939727587,0.656867441178,0.656795148732,0.656722850249,0.656650545729,0.656578235174,0.656505918583,0.656433595958,0.6563612673,0.656288932608,0.656216591883,0.656144245127,0.65607189234,0.655999533522,0.655927168674,0.655854797797,0.655782420892,0.655710037959,0.655637648999,0.655565254012,0.655492853,0.655420445962,0.6553480329,0.655275613814,0.655203188705,0.655130757573,0.65505832042,0.654985877245,0.65491342805,0.654840972835,0.654768511601,0.654696044349,0.654623571078,0.654551091791,0.654478606487,0.654406115167,0.654333617832,0.654261114482,0.654188605119,0.654116089742,0.654043568353,0.653971040953,0.653898507541,0.653825968118,0.653753422686,0.653680871244,0.653608313795,0.653535750337,0.653463180872,0.6533906054,0.653318023923,0.653245436441,0.653172842954,0.653100243463,0.653027637969,0.652955026473,0.652882408975,0.652809785475,0.652737155975,0.652664520476,0.652591878977,0.65251923148,0.652446577984,0.652373918492,0.652301253003,0.652228581519,0.652155904039,0.652083220565,0.652010531097,0.651937835636,0.651865134182,0.651792426737,0.6517197133,0.651646993873,0.651574268456,0.65150153705,0.651428799656,0.651356056274,0.651283306905,0.651210551549,0.651137790207,0.65106502288,0.650992249569,0.650919470274,0.650846684996,0.650773893736,0.650701096494,0.65062829327,0.650555484067,0.650482668883,0.65040984772,0.650337020579,0.65026418746,0.650191348364,0.650118503292,0.650045652244,0.649972795221,0.649899932223,0.649827063252,0.649754188307,0.649681307391,0.649608420502,0.649535527643,0.649462628813,0.649389724013,0.649316813244,0.649243896507,0.649170973802,0.64909804513,0.649025110492,0.648952169888,0.648879223319,0.648806270786,0.648733312289,0.648660347829,0.648587377406,0.648514401022,0.648441418677,0.648368430372,0.648295436107,0.648222435882,0.6481494297,0.64807641756,0.648003399463,0.64793037541,0.647857345401,0.647784309437,0.647711267519,0.647638219647,0.647565165822,0.647492106045,0.647419040316,0.647345968637,0.647272891007,0.647199807427,0.647126717899,0.647053622422,0.646980520998,0.646907413627,0.646834300309,0.646761181046,0.646688055839,0.646614924687,0.646541787591,0.646468644552,0.646395495572,0.64632234065,0.646249179787,0.646176012983,0.646102840241,0.646029661559,0.645956476939,0.645883286382,0.645810089888,0.645736887458,0.645663679092,0.645590464792,0.645517244557,0.645444018389,0.645370786288,0.645297548255,0.645224304291,0.645151054395,0.64507779857,0.645004536816,0.644931269132,0.644857995521,0.644784715982,0.644711430516,0.644638139125,0.644564841807,0.644491538566,0.6444182294,0.644344914311,0.644271593299,0.644198266365,0.64412493351,0.644051594734,0.643978250039,0.643904899424,0.64383154289,0.643758180438,0.643684812069,0.643611437784,0.643538057582,0.643464671465,0.643391279434,0.643317881489,0.64324447763,0.643171067859,0.643097652176,0.643024230582,0.642950803077,0.642877369662,0.642803930339,0.642730485106,0.642657033966,0.642583576919,0.642510113965,0.642436645105,0.642363170341,0.642289689671,0.642216203098,0.642142710622,0.642069212244,0.641995707963,0.641922197782,0.6418486817,0.641775159719,0.641701631838,0.641628098059,0.641554558382,0.641481012809,0.641407461338,0.641333903973,0.641260340712,0.641186771557,0.641113196508,0.641039615566,0.640966028732,0.640892436007,0.64081883739,0.640745232883,0.640671622487,0.640598006201,0.640524384028,0.640450755966,0.640377122018,0.640303482184,0.640229836464,0.64015618486,0.640082527371,0.640008863998,0.639935194743,0.639861519606,0.639787838587,0.639714151688,0.639640458908,0.639566760249,0.639493055711,0.639419345295,0.639345629002,0.639271906831,0.639198178785,0.639124444864,0.639050705068,0.638976959397,0.638903207854,0.638829450437,0.638755687149,0.63868191799,0.63860814296,0.638534362059,0.63846057529,0.638386782652,0.638312984146,0.638239179773,0.638165369533,0.638091553428,0.638017731457,0.637943903622,0.637870069923,0.63779623036,0.637722384936,0.637648533649,0.637574676501,0.637500813493,0.637426944625,0.637353069898,0.637279189313,0.63720530287,0.637131410569,0.637057512413,0.636983608401,0.636909698533,0.636835782812,0.636761861236,0.636687933808,0.636614000527,0.636540061395,0.636466116412,0.636392165579,0.636318208896,0.636244246364,0.636170277984,0.636096303756,0.636022323682,0.635948337761,0.635874345995,0.635800348384,0.635726344929,0.63565233563,0.635578320489,0.635504299505,0.63543027268,0.635356240015,0.635282201509,0.635208157164,0.63513410698,0.635060050958,0.634985989099,0.634911921403,0.634837847872,0.634763768504,0.634689683303,0.634615592267,0.634541495398,0.634467392697,0.634393284164,0.634319169799,0.634245049604,0.634170923579,0.634096791725,0.634022654043,0.633948510532,0.633874361195,0.633800206031,0.633726045041,0.633651878227,0.633577705588,0.633503527125,0.633429342839,0.633355152731,0.633280956801,0.63320675505,0.633132547479,0.633058334088,0.632984114878,0.632909889851,0.632835659005,0.632761422343,0.632687179864,0.63261293157,0.632538677461,0.632464417538,0.632390151801,0.632315880252,0.63224160289,0.632167319717,0.632093030734,0.63201873594,0.631944435337,0.631870128925,0.631795816705,0.631721498678,0.631647174844,0.631572845204,0.631498509759,0.631424168509,0.631349821456,0.631275468599,0.63120110994,0.631126745478,0.631052375216,0.630977999153,0.63090361729,0.630829229628,0.630754836168,0.63068043691,0.630606031855,0.630531621003,0.630457204356,0.630382781914,0.630308353677,0.630233919647,0.630159479824,0.630085034208,0.630010582801,0.629936125603,0.629861662614,0.629787193837,0.62971271927,0.629638238915,0.629563752772,0.629489260843,0.629414763128,0.629340259627,0.629265750341,0.629191235272,0.629116714419,0.629042187783,0.628967655365,0.628893117166,0.628818573186,0.628744023427,0.628669467888,0.62859490657,0.628520339475,0.628445766602,0.628371187953,0.628296603527,0.628222013327,0.628147417352,0.628072815604,0.627998208082,0.627923594788,0.627848975722,0.627774350885,0.627699720278,0.627625083901,0.627550441755,0.627475793841,0.627401140159,0.62732648071,0.627251815495,0.627177144515,0.627102467769,0.627027785259,0.626953096986,0.62687840295,0.626803703152,0.626728997592,0.626654286272,0.626579569192,0.626504846352,0.626430117753,0.626355383397,0.626280643283,0.626205897412,0.626131145786,0.626056388404,0.625981625268,0.625906856378,0.625832081735,0.625757301339,0.625682515191,0.625607723292,0.625532925643,0.625458122244,0.625383313096,0.625308498199,0.625233677555,0.625158851164,0.625084019026,0.625009181143,0.624934337515,0.624859488142,0.624784633026,0.624709772168,0.624634905566,0.624560033224,0.62448515514,0.624410271317,0.624335381754,0.624260486452,0.624185585412,0.624110678635,0.624035766121,0.623960847871,0.623885923886,0.623810994166,0.623736058713,0.623661117526,0.623586170606,0.623511217955,0.623436259572,0.623361295459,0.623286325616,0.623211350044,0.623136368744,0.623061381715,0.62298638896,0.622911390479,0.622836386271,0.622761376339,0.622686360683,0.622611339302,0.622536312199,0.622461279374,0.622386240827,0.62231119656,0.622236146572,0.622161090865,0.622086029439,0.622010962295,0.621935889433,0.621860810855,0.621785726561,0.621710636551,0.621635540827,0.621560439389,0.621485332238,0.621410219374,0.621335100798,0.621259976511,0.621184846514,0.621109710806,0.62103456939,0.620959422265,0.620884269433,0.620809110893,0.620733946647,0.620658776696,0.620583601039,0.620508419679,0.620433232614,0.620358039847,0.620282841378,0.620207637207,0.620132427335,0.620057211763,0.619981990492,0.619906763522,0.619831530854,0.619756292488,0.619681048426,0.619605798668,0.619530543215,0.619455282067,0.619380015225,0.61930474269,0.619229464462,0.619154180543,0.619078890932,0.619003595631,0.618928294641,0.618852987961,0.618777675593,0.618702357537,0.618627033794,0.618551704365,0.61847636925,0.618401028451,0.618325681967,0.6182503298,0.61817497195,0.618099608417,0.618024239204,0.617948864309,0.617873483735,0.617798097481,0.617722705548,0.617647307938,0.61757190465,0.617496495686,0.617421081045,0.61734566073,0.61727023474,0.617194803076,0.617119365739,0.61704392273,0.616968474049,0.616893019697,0.616817559674,0.616742093982,0.616666622621,0.616591145592,0.616515662895,0.616440174531,0.616364680501,0.616289180805,0.616213675445,0.616138164421,0.616062647733,0.615987125382,0.61591159737,0.615836063696,0.615760524361,0.615684979367,0.615609428713,0.615533872401,0.615458310431,0.615382742804,0.61530716952,0.615231590581,0.615156005986,0.615080415737,0.615004819834,0.614929218279,0.614853611071,0.614777998211,0.614702379701,0.61462675554,0.61455112573,0.614475490271,0.614399849164,0.61432420241,0.614248550008,0.614172891961,0.614097228268,0.614021558931,0.61394588395,0.613870203325,0.613794517058,0.613718825149,0.613643127599,0.613567424408,0.613491715578,0.613416001109,0.613340281001,0.613264555255,0.613188823873,0.613113086854,0.613037344199,0.61296159591,0.612885841986,0.612810082429,0.61273431724,0.612658546417,0.612582769964,0.61250698788,0.612431200166,0.612355406822,0.61227960785,0.61220380325,0.612127993022,0.612052177169,0.611976355689,0.611900528584,0.611824695854,0.611748857501,0.611673013525,0.611597163926,0.611521308706,0.611445447865,0.611369581403,0.611293709322,0.611217831622,0.611141948304,0.611066059369,0.610990164816,0.610914264648,0.610838358864,0.610762447465,0.610686530453,0.610610607827,0.610534679588,0.610458745738,0.610382806276,0.610306861204,0.610230910522,0.610154954231,0.610078992332,0.610003024825,0.60992705171,0.60985107299,0.609775088664,0.609699098733,0.609623103198,0.609547102059,0.609471095317,0.609395082973,0.609319065028,0.609243041482,0.609167012336,0.609090977591,0.609014937247,0.608938891305,0.608862839766,0.608786782631,0.608710719899,0.608634651573,0.608558577652,0.608482498137,0.608406413029,0.608330322329,0.608254226037,0.608178124155,0.608102016682,0.608025903619,0.607949784968,0.607873660728,0.607797530901,0.607721395488,0.607645254488,0.607569107903,0.607492955733,0.607416797979,0.607340634643,0.607264465723,0.607188291222,0.607112111139,0.607035925476,0.606959734234,0.606883537412,0.606807335012,0.606731127035,0.60665491348,0.606578694349,0.606502469643,0.606426239361,0.606350003506,0.606273762077,0.606197515076,0.606121262502,0.606045004357,0.605968740642,0.605892471356,0.605816196502,0.605739916078,0.605663630087,0.605587338529,0.605511041404,0.605434738714,0.605358430459,0.605282116639,0.605205797255,0.605129472309,0.605053141801,0.604976805731,0.6049004641,0.604824116909,0.604747764159,0.60467140585,0.604595041983,0.604518672558,0.604442297577,0.60436591704,0.604289530948,0.604213139302,0.604136742101,0.604060339348,0.603983931042,0.603907517184,0.603831097776,0.603754672817,0.603678242308,0.603601806251,0.603525364646,0.603448917493,0.603372464793,0.603296006547,0.603219542756,0.60314307342,0.60306659854,0.602990118117,0.602913632152,0.602837140644,0.602760643596,0.602684141007,0.602607632878,0.60253111921,0.602454600004,0.60237807526,0.602301544979,0.602225009162,0.60214846781,0.602071920922,0.601995368501,0.601918810546,0.601842247059,0.601765678039,0.601689103488,0.601612523407,0.601535937795,0.601459346655,0.601382749986,0.601306147789,0.601229540065,0.601152926815,0.601076308039,0.600999683738,0.600923053913,0.600846418564,0.600769777693,0.600693131299,0.600616479384,0.600539821948,0.600463158992,0.600386490517,0.600309816523,0.600233137011,0.600156451982,0.600079761437,0.600003065375,0.599926363799,0.599849656708,0.599772944104,0.599696225986,0.599619502356,0.599542773215,0.599466038563,0.599389298401,0.599312552729,0.599235801548,0.59915904486,0.599082282664,0.599005514961,0.598928741752,0.598851963039,0.59877517882,0.598698389098,0.598621593873,0.598544793146,0.598467986916,0.598391175186,0.598314357955,0.598237535225,0.598160706996,0.598083873269,0.598007034045,0.597930189323,0.597853339106,0.597776483393,0.597699622186,0.597622755484,0.59754588329,0.597469005603,0.597392122424,0.597315233754,0.597238339593,0.597161439943,0.597084534804,0.597007624177,0.596930708062,0.59685378646,0.596776859373,0.596699926799,0.596622988741,0.596546045199,0.596469096174,0.596392141666,0.596315181676,0.596238216205,0.596161245253,0.596084268822,0.596007286911,0.595930299522,0.595853306656,0.595776308312,0.595699304492,0.595622295197,0.595545280427,0.595468260183,0.595391234465,0.595314203275,0.595237166612,0.595160124479,0.595083076875,0.5950060238,0.594928965257,0.594851901245,0.594774831766,0.594697756819,0.594620676407,0.594543590528,0.594466499185,0.594389402377,0.594312300106,0.594235192372,0.594158079176,0.594080960519,0.594003836401,0.593926706823,0.593849571785,0.59377243129,0.593695285336,0.593618133925,0.593540977058,0.593463814735,0.593386646958,0.593309473725,0.59323229504,0.593155110901,0.593077921311,0.593000726268,0.592923525776,0.592846319833,0.59276910844,0.5926918916,0.592614669311,0.592537441575,0.592460208393,0.592382969764,0.592305725691,0.592228476174,0.592151221212,0.592073960808,0.591996694962,0.591919423674,0.591842146946,0.591764864777,0.591687577169,0.591610284122,0.591532985637,0.591455681715,0.591378372357,0.591301057562,0.591223737333,0.591146411669,0.591069080572,0.590991744041,0.590914402078,0.590837054684,0.590759701859,0.590682343604,0.590604979919,0.590527610805,0.590450236264,0.590372856295,0.5902954709,0.590218080079,0.590140683832,0.590063282161,0.589985875067,0.589908462549,0.589831044609,0.589753621248,0.589676192466,0.589598758263,0.589521318641,0.5894438736,0.589366423141,0.589288967265,0.589211505973,0.589134039264,0.58905656714,0.588979089602,0.58890160665,0.588824118285,0.588746624507,0.588669125318,0.588591620718,0.588514110708,0.588436595288,0.588359074459,0.588281548223,0.588204016579,0.588126479528,0.588048937072,0.58797138921,0.587893835943,0.587816277273,0.5877387132,0.587661143725,0.587583568848,0.587505988569,0.587428402891,0.587350811813,0.587273215337,0.587195613462,0.58711800619,0.587040393521,0.586962775456,0.586885151996,0.586807523142,0.586729888893,0.586652249252,0.586574604218,0.586496953793,0.586419297976,0.58634163677,0.586263970174,0.586186298189,0.586108620815,0.586030938055,0.585953249908,0.585875556375,0.585797857456,0.585720153154,0.585642443467,0.585564728397,0.585487007945,0.585409282111,0.585331550896,0.585253814301,0.585176072327,0.585098324973,0.585020572242,0.584942814133,0.584865050648,0.584787281786,0.584709507549,0.584631727938,0.584553942953,0.584476152595,0.584398356864,0.584320555762,0.584242749289,0.584164937446,0.584087120233,0.584009297651,0.583931469701,0.583853636384,0.5837757977,0.583697953651,0.583620104236,0.583542249456,0.583464389313,0.583386523806,0.583308652938,0.583230776707,0.583152895116,0.583075008164,0.582997115853,0.582919218184,0.582841315156,0.582763406771,0.582685493029,0.582607573931,0.582529649478,0.58245171967,0.582373784509,0.582295843995,0.582217898128,0.58213994691,0.582061990341,0.581984028421,0.581906061153,0.581828088535,0.581750110569,0.581672127256,0.581594138597,0.581516144591,0.581438145241,0.581360140546,0.581282130507,0.581204115125,0.581126094401,0.581048068335,0.580970036929,0.580892000182,0.580813958096,0.580735910671,0.580657857908,0.580579799808,0.580501736371,0.580423667598,0.580345593491,0.580267514049,0.580189429273,0.580111339164,0.580033243723,0.57995514295,0.579877036847,0.579798925413,0.579720808651,0.579642686559,0.579564559139,0.579486426393,0.579408288319,0.57933014492,0.579251996196,0.579173842148,0.579095682775,0.57901751808,0.578939348063,0.578861172724,0.578782992065,0.578704806085,0.578626614786,0.578548418169,0.578470216233,0.578392008981,0.578313796412,0.578235578527,0.578157355327,0.578079126813,0.578000892985,0.577922653845,0.577844409392,0.577766159628,0.577687904553,0.577609644168,0.577531378474,0.577453107472,0.577374831161,0.577296549544,0.57721826262,0.57713997039,0.577061672856,0.576983370017,0.576905061875,0.57682674843,0.576748429682,0.576670105634,0.576591776285,0.576513441636,0.576435101688,0.576356756441,0.576278405897,0.576200050055,0.576121688917,0.576043322484,0.575964950756,0.575886573734,0.575808191418,0.575729803809,0.575651410909,0.575573012717,0.575494609235,0.575416200463,0.575337786402,0.575259367052,0.575180942415,0.575102512491,0.57502407728,0.574945636784,0.574867191004,0.574788739939,0.574710283591,0.57463182196,0.574553355048,0.574474882854,0.57439640538,0.574317922626,0.574239434593,0.574160941282,0.574082442693,0.574003938827,0.573925429686,0.573846915269,0.573768395577,0.573689870611,0.573611340372,0.57353280486,0.573454264077,0.573375718023,0.573297166698,0.573218610104,0.57314004824,0.573061481109,0.57298290871,0.572904331045,0.572825748113,0.572747159916,0.572668566454,0.572589967729,0.572511363741,0.57243275449,0.572354139977,0.572275520204,0.57219689517,0.572118264877,0.572039629325,0.571960988515,0.571882342447,0.571803691123,0.571725034543,0.571646372708,0.571567705618,0.571489033275,0.571410355679,0.57133167283,0.57125298473,0.571174291379,0.571095592778,0.571016888928,0.570938179828,0.570859465481,0.570780745887,0.570702021046,0.57062329096,0.570544555628,0.570465815052,0.570387069232,0.57030831817,0.570229561865,0.570150800319,0.570072033533,0.569993261506,0.56991448424,0.569835701736,0.569756913993,0.569678121014,0.569599322798,0.569520519347,0.569441710661,0.56936289674,0.569284077586,0.5692052532,0.569126423581,0.569047588731,0.568968748651,0.56888990334,0.568811052801,0.568732197033,0.568653336037,0.568574469815,0.568495598366,0.568416721692,0.568337839793,0.56825895267,0.568180060324,0.568101162755,0.568022259964,0.567943351952,0.56786443872,0.567785520268,0.567706596597,0.567627667708,0.567548733601,0.567469794278,0.567390849738,0.567311899983,0.567232945014,0.567153984831,0.567075019434,0.566996048825,0.566917073004,0.566838091973,0.566759105731,0.56668011428,0.566601117619,0.566522115751,0.566443108675,0.566364096393,0.566285078905,0.566206056212,0.566127028314,0.566047995212,0.565968956908,0.565889913401,0.565810864693,0.565731810784,0.565652751674,0.565573687366,0.565494617859,0.565415543154,0.565336463251,0.565257378153,0.565178287858,0.565099192369,0.565020091685,0.564940985808,0.564861874738,0.564782758476,0.564703637022,0.564624510378,0.564545378544,0.564466241521,0.564387099309,0.564307951909,0.564228799323,0.56414964155,0.564070478592,0.563991310449,0.563912137122,0.563832958611,0.563753774918,0.563674586043,0.563595391987,0.56351619275,0.563436988334,0.563357778739,0.563278563965,0.563199344014,0.563120118886,0.563040888582,0.562961653102,0.562882412448,0.56280316662,0.562723915619,0.562644659446,0.562565398101,0.562486131584,0.562406859898,0.562327583042,0.562248301017,0.562169013824,0.562089721464,0.562010423937,0.561931121245,0.561851813387,0.561772500365,0.561693182179,0.56161385883,0.561534530319,0.561455196646,0.561375857813,0.561296513819,0.561217164666,0.561137810355,0.561058450886,0.560979086259,0.560899716477,0.560820341538,0.560740961445,0.560661576197,0.560582185796,0.560502790242,0.560423389537,0.56034398368,0.560264572672,0.560185156514,0.560105735208,0.560026308753,0.55994687715,0.559867440401,0.559787998505,0.559708551464,0.559629099278,0.559549641948,0.559470179475,0.559390711859,0.559311239102,0.559231761203,0.559152278164,0.559072789986,0.558993296668,0.558913798213,0.55883429462,0.55875478589,0.558675272025,0.558595753024,0.558516228889,0.55843669962,0.558357165218,0.558277625683,0.558198081017,0.558118531221,0.558038976294,0.557959416237,0.557879851053,0.55780028074,0.5577207053,0.557641124733,0.557561539041,0.557481948224,0.557402352283,0.557322751218,0.55724314503,0.55716353372,0.557083917289,0.557004295737,0.556924669066,0.556845037275,0.556765400366,0.556685758339,0.556606111196,0.556526458936,0.55644680156,0.55636713907,0.556287471466,0.556207798749,0.556128120919,0.556048437977,0.555968749924,0.555889056761,0.555809358488,0.555729655107,0.555649946617,0.55557023302,0.555490514316,0.555410790506,0.555331061591,0.555251327571,0.555171588448,0.555091844222,0.555012094893,0.554932340463,0.554852580932,0.554772816301,0.55469304657,0.554613271741,0.554533491814,0.55445370679,0.55437391667,0.554294121454,0.554214321142,0.554134515737,0.554054705238,0.553974889647,0.553895068963,0.553815243188,0.553735412323,0.553655576367,0.553575735323,0.55349588919,0.55341603797,0.553336181663,0.55325632027,0.553176453791,0.553096582227,0.55301670558,0.552936823849,0.552856937036,0.552777045142,0.552697148166,0.55261724611,0.552537338974,0.55245742676,0.552377509467,0.552297587097,0.552217659651,0.552137727129,0.552057789531,0.551977846859,0.551897899114,0.551817946295,0.551737988405,0.551658025443,0.55157805741,0.551498084307,0.551418106135,0.551338122894,0.551258134586,0.551178141211,0.551098142769,0.551018139262,0.55093813069,0.550858117053,0.550778098354,0.550698074592,0.550618045768,0.550538011882,0.550457972937,0.550377928931,0.550297879867,0.550217825744,0.550137766564,0.550057702327,0.549977633035,0.549897558687,0.549817479284,0.549737394827,0.549657305318,0.549577210756,0.549497111143,0.549417006478,0.549336896764,0.549256782,0.549176662188,0.549096537327,0.54901640742,0.548936272466,0.548856132466,0.548775987421,0.548695837333,0.5486156822,0.548535522025,0.548455356808,0.548375186549,0.54829501125,0.548214830912,0.548134645534,0.548054455118,0.547974259664,0.547894059173,0.547813853646,0.547733643084,0.547653427487,0.547573206857,0.547492981193,0.547412750496,0.547332514768,0.547252274009,0.54717202822,0.547091777401,0.547011521554,0.546931260678,0.546850994775,0.546770723846,0.546690447891,0.546610166911,0.546529880906,0.546449589878,0.546369293827,0.546288992754,0.54620868666,0.546128375545,0.54604805941,0.545967738256,0.545887412083,0.545807080893,0.545726744686,0.545646403463,0.545566057224,0.54548570597,0.545405349703,0.545324988422,0.545244622129,0.545164250824,0.545083874508,0.545003493181,0.544923106845,0.544842715501,0.544762319148,0.544681917788,0.544601511421,0.544521100048,0.544440683671,0.544360262288,0.544279835903,0.544199404514,0.544118968123,0.544038526731,0.543958080338,0.543877628945,0.543797172553,0.543716711162,0.543636244774,0.543555773389,0.543475297007,0.54339481563,0.543314329258,0.543233837893,0.543153341534,0.543072840182,0.542992333838,0.542911822504,0.542831306179,0.542750784865,0.542670258561,0.54258972727,0.542509190991,0.542428649726,0.542348103474,0.542267552238,0.542186996017,0.542106434812,0.542025868625,0.541945297455,0.541864721304,0.541784140172,0.541703554061,0.54162296297,0.5415423669,0.541461765853,0.541381159829,0.541300548828,0.541219932853,0.541139311902,0.541058685977,0.540978055079,0.540897419208,0.540816778366,0.540736132552,0.540655481768,0.540574826015,0.540494165293,0.540413499602,0.540332828945,0.54025215332,0.54017147273,0.540090787174,0.540010096655,0.539929401171,0.539848700725,0.539767995316,0.539687284946,0.539606569616,0.539525849325,0.539445124075,0.539364393867,0.539283658701,0.539202918578,0.539122173499,0.539041423464,0.538960668474,0.538879908531,0.538799143634,0.538718373785,0.538637598984,0.538556819232,0.538476034529,0.538395244877,0.538314450277,0.538233650728,0.538152846232,0.538072036789,0.5379912224,0.537910403067,0.537829578789,0.537748749567,0.537667915402,0.537587076296,0.537506232248,0.537425383259,0.53734452933,0.537263670463,0.537182806656,0.537101937913,0.537021064232,0.536940185615,0.536859302062,0.536778413575,0.536697520154,0.5366166218,0.536535718513,0.536454810295,0.536373897146,0.536292979066,0.536212056057,0.536131128119,0.536050195253,0.53596925746,0.53588831474,0.535807367095,0.535726414524,0.53564545703,0.535564494611,0.53548352727,0.535402555007,0.535321577823,0.535240595718,0.535159608693,0.535078616749,0.534997619887,0.534916618107,0.534835611411,0.534754599798,0.53467358327,0.534592561827,0.534511535471,0.534430504201,0.534349468019,0.534268426926,0.534187380921,0.534106330006,0.534025274182,0.53394421345,0.533863147809,0.533782077261,0.533701001807,0.533619921447,0.533538836183,0.533457746014,0.533376650941,0.533295550966,0.533214446089,0.533133336311,0.533052221633,0.532971102054,0.532889977577,0.532808848202,0.532727713929,0.532646574759,0.532565430693,0.532484281733,0.532403127877,0.532321969128,0.532240805486,0.532159636952,0.532078463526,0.531997285209,0.531916102003,0.531834913907,0.531753720923,0.531672523051,0.531591320292,0.531510112646,0.531428900115,0.5313476827,0.5312664604,0.531185233217,0.531104001151,0.531022764204,0.530941522376,0.530860275667,0.530779024079,0.530697767612,0.530616506266,0.530535240044,0.530453968945,0.53037269297,0.53029141212,0.530210126396,0.530128835798,0.530047540328,0.529966239985,0.529884934771,0.529803624686,0.529722309732,0.529640989908,0.529559665216,0.529478335657,0.52939700123,0.529315661938,0.52923431778,0.529152968758,0.529071614872,0.528990256122,0.52890889251,0.528827524037,0.528746150703,0.528664772508,0.528583389455,0.528502001542,0.528420608772,0.528339211145,0.528257808661,0.528176401321,0.528094989127,0.528013572079,0.527932150177,0.527850723423,0.527769291816,0.527687855359,0.527606414051,0.527524967893,0.527443516887,0.527362061032,0.52728060033,0.527199134782,0.527117664387,0.527036189148,0.526954709064,0.526873224136,0.526791734365,0.526710239753,0.526628740298,0.526547236004,0.526465726869,0.526384212895,0.526302694083,0.526221170433,0.526139641946,0.526058108623,0.525976570464,0.525895027471,0.525813479644,0.525731926984,0.525650369491,0.525568807167,0.525487240012,0.525405668026,0.525324091212,0.525242509568,0.525160923097,0.525079331798,0.524997735673,0.524916134723,0.524834528947,0.524752918347,0.524671302924,0.524589682678,0.524508057611,0.524426427722,0.524344793013,0.524263153484,0.524181509136,0.52409985997,0.524018205986,0.523936547186,0.52385488357,0.523773215139,0.523691541893,0.523609863834,0.523528180962,0.523446493278,0.523364800782,0.523283103476,0.523201401359,0.523119694434,0.5230379827,0.522956266159,0.52287454481,0.522792818656,0.522711087696,0.522629351931,0.522547611363,0.522465865991,0.522384115817,0.522302360841,0.522220601065,0.522138836488,0.522057067112,0.521975292937,0.521893513965,0.521811730195,0.521729941629,0.521648148267,0.52156635011,0.521484547159,0.521402739415,0.521320926879,0.52123910955,0.52115728743,0.52107546052,0.52099362882,0.520911792332,0.520829951055,0.520748104991,0.52066625414,0.520584398504,0.520502538082,0.520420672876,0.520338802887,0.520256928114,0.52017504856,0.520093164224,0.520011275108,0.519929381211,0.519847482536,0.519765579082,0.519683670851,0.519601757843,0.519519840059,0.5194379175,0.519355990166,0.519274058058,0.519192121177,0.519110179524,0.519028233099,0.518946281904,0.518864325938,0.518782365203,0.5187003997,0.518618429429,0.518536454391,0.518454474586,0.518372490016,0.518290500681,0.518208506583,0.518126507721,0.518044504096,0.51796249571,0.517880482562,0.517798464655,0.517716441988,0.517634414562,0.517552382378,0.517470345437,0.51738830374,0.517306257287,0.517224206079,0.517142150116,0.5170600894,0.516978023932,0.516895953711,0.51681387874,0.516731799018,0.516649714546,0.516567625325,0.516485531356,0.51640343264,0.516321329177,0.516239220968,0.516157108014,0.516074990315,0.515992867873,0.515910740688,0.515828608761,0.515746472092,0.515664330683,0.515582184534,0.515500033646,0.515417878019,0.515335717655,0.515253552554,0.515171382717,0.515089208145,0.515007028838,0.514924844797,0.514842656023,0.514760462517,0.514678264279,0.51459606131,0.514513853611,0.514431641183,0.514349424027,0.514267202142,0.514184975531,0.514102744193,0.51402050813,0.513938267342,0.51385602183,0.513773771595,0.513691516637,0.513609256958,0.513526992557,0.513444723437,0.513362449596,0.513280171038,0.513197887761,0.513115599767,0.513033307056,0.51295100963,0.512868707489,0.512786400634,0.512704089065,0.512621772783,0.51253945179,0.512457126086,0.512374795671,0.512292460546,0.512210120713,0.512127776172,0.512045426923,0.511963072967,0.511880714306,0.511798350939,0.511715982869,0.511633610094,0.511551232617,0.511468850438,0.511386463557,0.511304071976,0.511221675695,0.511139274715,0.511056869037,0.510974458661,0.510892043589,0.51080962382,0.510727199357,0.510644770198,0.510562336346,0.510479897801,0.510397454564,0.510315006635,0.510232554016,0.510150096707,0.510067634708,0.509985168021,0.509902696647,0.509820220585,0.509737739837,0.509655254404,0.509572764287,0.509490269485,0.50940777,0.509325265833,0.509242756984,0.509160243455,0.509077725245,0.508995202356,0.508912674789,0.508830142543,0.508747605621,0.508665064022,0.508582517748,0.508499966799,0.508417411175,0.508334850879,0.50825228591,0.50816971627,0.508087141958,0.508004562976,0.507921979325,0.507839391005,0.507756798017,0.507674200362,0.50759159804,0.507508991053,0.507426379401,0.507343763084,0.507261142105,0.507178516462,0.507095886158,0.507013251193,0.506930611567,0.506847967282,0.506765318338,0.506682664736,0.506600006476,0.50651734356,0.506434675988,0.506352003761,0.50626932688,0.506186645345,0.506103959158,0.506021268318,0.505938572827,0.505855872686,0.505773167895,0.505690458455,0.505607744367,0.505525025632,0.50544230225,0.505359574222,0.505276841548,0.505194104231,0.505111362269,0.505028615665,0.504945864419,0.504863108531,0.504780348003,0.504697582835,0.504614813028,0.504532038582,0.504449259499,0.50436647578,0.504283687424,0.504200894433,0.504118096807,0.504035294548,0.503952487655,0.503869676131,0.503786859975,0.503704039188,0.503621213772,0.503538383726,0.503455549051,0.50337270975,0.503289865821,0.503207017266,0.503124164086,0.503041306281,0.502958443852,0.5028755768,0.502792705126,0.50270982883,0.502626947914,0.502544062377,0.502461172221,0.502378277447,0.502295378055,0.502212474046,0.50212956542,0.50204665218,0.501963734324,0.501880811855,0.501797884772,0.501714953077,0.50163201677,0.501549075853,0.501466130325,0.501383180188,0.501300225442,0.501217266089,0.501134302128,0.501051333561,0.500968360389,0.500885382611,0.50080240023,0.500719413245,0.500636421658,0.500553425469,0.50047042468,0.50038741929,0.5003044093,0.500221394712,0.500138375526,0.500055351742,0.499972323363,0.499889290387,0.499806252817,0.499723210653,0.499640163895,0.499557112545,0.499474056603,0.49939099607,0.499307930946,0.499224861234,0.499141786932,0.499058708042,0.498975624565,0.498892536502,0.498809443853,0.498726346619,0.4986432448,0.498560138399,0.498477027414,0.498393911848,0.498310791701,0.498227666973,0.498144537665,0.498061403779,0.497978265315,0.497895122273,0.497811974655,0.497728822461,0.497645665692,0.497562504349,0.497479338433,0.497396167943,0.497312992882,0.497229813249,0.497146629046,0.497063440274,0.496980246932,0.496897049023,0.496813846546,0.496730639502,0.496647427893,0.496564211718,0.496480990979,0.496397765677,0.496314535811,0.496231301384,0.496148062396,0.496064818847,0.495981570738,0.495898318071,0.495815060845,0.495731799061,0.495648532722,0.495565261826,0.495481986375,0.49539870637,0.495315421811,0.495232132699,0.495148839035,0.49506554082,0.494982238054,0.494898930739,0.494815618875,0.494732302462,0.494648981502,0.494565655995,0.494482325942,0.494398991344,0.494315652202,0.494232308516,0.494148960287,0.494065607516,0.493982250204,0.493898888351,0.493815521958,0.493732151026,0.493648775556,0.493565395549,0.493482011004,0.493398621924,0.493315228309,0.493231830159,0.493148427475,0.493065020259,0.49298160851,0.49289819223,0.492814771419,0.492731346079,0.492647916209,0.492564481811,0.492481042886,0.492397599433,0.492314151455,0.492230698951,0.492147241923,0.492063780372,0.491980314297,0.4918968437,0.491813368582,0.491729888943,0.491646404784,0.491562916107,0.49147942291,0.491395925197,0.491312422966,0.491228916219,0.491145404957,0.491061889181,0.490978368891,0.490894844088,0.490811314773,0.490727780946,0.490644242608,0.490560699761,0.490477152405,0.49039360054,0.490310044167,0.490226483288,0.490142917903,0.490059348012,0.489975773617,0.489892194719,0.489808611317,0.489725023413,0.489641431007,0.489557834101,0.489474232695,0.48939062679,0.489307016386,0.489223401485,0.489139782087,0.489056158193,0.488972529804,0.48888889692,0.488805259542,0.488721617671,0.488637971309,0.488554320454,0.488470665109,0.488387005274,0.48830334095,0.488219672138,0.488135998838,0.488052321051,0.487968638778,0.487884952019,0.487801260776,0.48771756505,0.48763386484,0.487550160148,0.487466450975,0.487382737321,0.487299019187,0.487215296574,0.487131569483,0.487047837914,0.486964101868,0.486880361346,0.486796616349,0.486712866877,0.486629112932,0.486545354513,0.486461591622,0.48637782426,0.486294052427,0.486210276124,0.486126495353,0.486042710112,0.485958920404,0.48587512623,0.485791327589,0.485707524483,0.485623716912,0.485539904878,0.485456088381,0.485372267421,0.485288442,0.485204612119,0.485120777777,0.485036938976,0.484953095717,0.484869248001,0.484785395827,0.484701539198,0.484617678113,0.484533812574,0.484449942581,0.484366068135,0.484282189237,0.484198305888,0.484114418087,0.484030525837,0.483946629138,0.483862727991,0.483778822396,0.483694912354,0.483610997866,0.483527078933,0.483443155555,0.483359227734,0.48327529547,0.483191358763,0.483107417616,0.483023472027,0.482939521999,0.482855567532,0.482771608626,0.482687645283,0.482603677503,0.482519705287,0.482435728636,0.482351747551,0.482267762031,0.482183772079,0.482099777695,0.482015778879,0.481931775633,0.481847767957,0.481763755852,0.481679739319,0.481595718358,0.48151169297,0.481427663157,0.481343628918,0.481259590255,0.481175547168,0.481091499659,0.481007447727,0.480923391374,0.4808393306,0.480755265407,0.480671195795,0.480587121764,0.480503043316,0.480418960451,0.480334873171,0.480250781475,0.480166685365,0.480082584841,0.479998479905,0.479914370556,0.479830256797,0.479746138626,0.479662016046,0.479577889057,0.47949375766,0.479409621856,0.479325481644,0.479241337027,0.479157188005,0.479073034579,0.478988876749,0.478904714516,0.478820547881,0.478736376845,0.478652201409,0.478568021573,0.478483837338,0.478399648705,0.478315455675,0.478231258248,0.478147056425,0.478062850207,0.477978639595,0.477894424589,0.477810205191,0.477725981401,0.47764175322,0.477557520648,0.477473283687,0.477389042337,0.477304796598,0.477220546473,0.477136291961,0.477052033063,0.47696776978,0.476883502114,0.476799230063,0.47671495363,0.476630672816,0.47654638762,0.476462098044,0.476377804088,0.476293505753,0.476209203041,0.476124895951,0.476040584485,0.475956268643,0.475871948427,0.475787623836,0.475703294872,0.475618961535,0.475534623827,0.475450281747,0.475365935297,0.475281584478,0.47519722929,0.475112869735,0.475028505812,0.474944137522,0.474859764868,0.474775387848,0.474691006464,0.474606620717,0.474522230608,0.474437836137,0.474353437305,0.474269034112,0.474184626561,0.474100214651,0.474015798383,0.473931377757,0.473846952776,0.473762523439,0.473678089748,0.473593651702,0.473509209303,0.473424762552,0.47334031145,0.473255855996,0.473171396192,0.473086932039,0.473002463538,0.472917990689,0.472833513493,0.47274903195,0.472664546063,0.47258005583,0.472495561254,0.472411062335,0.472326559073,0.47224205147,0.472157539526,0.472073023242,0.471988502619,0.471903977658,0.471819448359,0.471734914723,0.471650376751,0.471565834443,0.471481287802,0.471396736826,0.471312181517,0.471227621877,0.471143057904,0.471058489601,0.470973916969,0.470889340007,0.470804758717,0.470720173099,0.470635583155,0.470550988884,0.470466390289,0.470381787369,0.470297180125,0.470212568558,0.47012795267,0.47004333246,0.469958707929,0.469874079079,0.46978944591,0.469704808422,0.469620166617,0.469535520496,0.469450870058,0.469366215306,0.469281556239,0.469196892859,0.469112225165,0.46902755316,0.468942876844,0.468858196217,0.468773511281,0.468688822036,0.468604128483,0.468519430622,0.468434728455,0.468350021982,0.468265311204,0.468180596122,0.468095876736,0.468011153048,0.467926425058,0.467841692767,0.467756956176,0.467672215285,0.467587470095,0.467502720608,0.467417966823,0.467333208742,0.467248446365,0.467163679694,0.467078908728,0.466994133469,0.466909353917,0.466824570074,0.46673978194,0.466654989516,0.466570192802,0.466485391799,0.466400586509,0.466315776932,0.466230963068,0.466146144919,0.466061322486,0.465976495768,0.465891664767,0.465806829484,0.465721989919,0.465637146073,0.465552297948,0.465467445543,0.46538258886,0.465297727898,0.46521286266,0.465127993146,0.465043119357,0.464958241293,0.464873358955,0.464788472344,0.464703581461,0.464618686306,0.464533786881,0.464448883186,0.464363975222,0.464279062989,0.464194146489,0.464109225722,0.464024300689,0.463939371391,0.463854437828,0.463769500002,0.463684557913,0.463599611562,0.463514660949,0.463429706076,0.463344746944,0.463259783552,0.463174815902,0.463089843995,0.463004867831,0.462919887411,0.462834902736,0.462749913807,0.462664920624,0.462579923189,0.462494921502,0.462409915563,0.462324905375,0.462239890936,0.462154872249,0.462069849314,0.461984822131,0.461899790702,0.461814755028,0.461729715108,0.461644670945,0.461559622538,0.461474569888,0.461389512997,0.461304451865,0.461219386492,0.46113431688,0.46104924303,0.460964164941,0.460879082616,0.460793996054,0.460708905256,0.460623810224,0.460538710958,0.460453607459,0.460368499727,0.460283387764,0.46019827157,0.460113151146,0.460028026493,0.459942897611,0.459857764501,0.459772627165,0.459687485602,0.459602339814,0.459517189802,0.459432035566,0.459346877106,0.459261714425,0.459176547522,0.459091376398,0.459006201055,0.458921021492,0.458835837712,0.458750649713,0.458665457498,0.458580261067,0.458495060421,0.45840985556,0.458324646486,0.458239433199,0.4581542157,0.45806899399,0.457983768069,0.457898537938,0.457813303599,0.457728065051,0.457642822297,0.457557575335,0.457472324168,0.457387068796,0.457301809219,0.45721654544,0.457131277457,0.457046005273,0.456960728888,0.456875448302,0.456790163517,0.456704874533,0.456619581351,0.456534283972,0.456448982397,0.456363676626,0.45627836666,0.456193052501,0.456107734148,0.456022411602,0.455937084865,0.455851753937,0.455766418819,0.455681079512,0.455595736016,0.455510388333,0.455425036462,0.455339680406,0.455254320163,0.455168955737,0.455083587126,0.454998214333,0.454912837357,0.4548274562,0.454742070862,0.454656681344,0.454571287647,0.454485889772,0.454400487719,0.45431508149,0.454229671084,0.454144256504,0.454058837749,0.45397341482,0.453887987718,0.453802556445,0.453717121,0.453631681385,0.4535462376,0.453460789646,0.453375337524,0.453289881235,0.453204420779,0.453118956157,0.453033487371,0.45294801442,0.452862537306,0.452777056029,0.452691570591,0.452606080991,0.452520587231,0.452435089312,0.452349587234,0.452264080998,0.452178570605,0.452093056055,0.45200753735,0.451922014491,0.451836487477,0.45175095631,0.451665420991,0.45157988152,0.451494337898,0.451408790127,0.451323238206,0.451237682136,0.451152121919,0.451066557555,0.450980989045,0.45089541639,0.45080983959,0.450724258646,0.450638673559,0.45055308433,0.45046749096,0.450381893449,0.450296291799,0.450210686009,0.450125076081,0.450039462016,0.449953843814,0.449868221476,0.449782595003,0.449696964395,0.449611329655,0.449525690781,0.449440047776,0.449354400639,0.449268749372,0.449183093975,0.44909743445,0.449011770796,0.448926103016,0.448840431109,0.448754755076,0.448669074918,0.448583390637,0.448497702232,0.448412009704,0.448326313055,0.448240612285,0.448154907395,0.448069198386,0.447983485257,0.447897768012,0.447812046649,0.44772632117,0.447640591575,0.447554857866,0.447469120043,0.447383378108,0.447297632059,0.4472118819,0.447126127629,0.447040369249,0.44695460676,0.446868840162,0.446783069457,0.446697294645,0.446611515728,0.446525732705,0.446439945577,0.446354154346,0.446268359013,0.446182559577,0.44609675604,0.446010948403,0.445925136666,0.44583932083,0.445753500896,0.445667676865,0.445581848737,0.445496016514,0.445410180196,0.445324339783,0.445238495278,0.44515264668,0.44506679399,0.444980937209,0.444895076338,0.444809211377,0.444723342328,0.444637469191,0.444551591967,0.444465710657,0.444379825262,0.444293935782,0.444208042218,0.44412214457,0.444036242841,0.44395033703,0.443864427139,0.443778513167,0.443692595117,0.443606672988,0.443520746781,0.443434816498,0.443348882139,0.443262943705,0.443177001196,0.443091054614,0.443005103959,0.442919149232,0.442833190433,0.442747227565,0.442661260626,0.442575289619,0.442489314544,0.442403335401,0.442317352192,0.442231364918,0.442145373578,0.442059378174,0.441973378707,0.441887375178,0.441801367586,0.441715355934,0.441629340222,0.44154332045,0.44145729662,0.441371268732,0.441285236787,0.441199200785,0.441113160729,0.441027116617,0.440941068452,0.440855016234,0.440768959964,0.440682899642,0.440596835269,0.440510766847,0.440424694375,0.440338617856,0.440252537288,0.440166452675,0.440080364015,0.43999427131,0.43990817456,0.439822073767,0.439735968932,0.439649860054,0.439563747135,0.439477630176,0.439391509178,0.43930538414,0.439219255065,0.439133121952,0.439046984803,0.438960843618,0.438874698398,0.438788549145,0.438702395858,0.438616238539,0.438530077188,0.438443911806,0.438357742394,0.438271568952,0.438185391483,0.438099209985,0.438013024461,0.43792683491,0.437840641334,0.437754443734,0.43766824211,0.437582036463,0.437495826794,0.437409613103,0.437323395392,0.437237173661,0.437150947911,0.437064718143,0.436978484357,0.436892246555,0.436806004737,0.436719758904,0.436633509057,0.436547255196,0.436460997323,0.436374735438,0.436288469542,0.436202199635,0.436115925719,0.436029647794,0.435943365862,0.435857079922,0.435770789976,0.435684496025,0.435598198069,0.435511896108,0.435425590145,0.43533928018,0.435252966213,0.435166648245,0.435080326277,0.43499400031,0.434907670344,0.434821336381,0.434734998422,0.434648656466,0.434562310515,0.43447596057,0.434389606631,0.434303248699,0.434216886775,0.43413052086,0.434044150955,0.43395777706,0.433871399176,0.433785017304,0.433698631444,0.433612241599,0.433525847767,0.433439449951,0.433353048151,0.433266642367,0.433180232601,0.433093818853,0.433007401124,0.432920979416,0.432834553727,0.432748124061,0.432661690416,0.432575252795,0.432488811198,0.432402365625,0.432315916077,0.432229462556,0.432143005062,0.432056543596,0.431970078158,0.43188360875,0.431797135372,0.431710658025,0.43162417671,0.431537691427,0.431451202178,0.431364708963,0.431278211783,0.431191710639,0.431105205531,0.431018696461,0.430932183429,0.430845666436,0.430759145483,0.43067262057,0.430586091698,0.430499558869,0.430413022083,0.43032648134,0.430239936642,0.430153387989,0.430066835383,0.429980278823,0.429893718311,0.429807153847,0.429720585433,0.429634013069,0.429547436756,0.429460856494,0.429374272285,0.42928768413,0.429201092028,0.429114495981,0.42902789599,0.428941292055,0.428854684178,0.428768072359,0.428681456598,0.428594836897,0.428508213257,0.428421585678,0.428334954161,0.428248318707,0.428161679316,0.42807503599,0.427988388729,0.427901737534,0.427815082406,0.427728423345,0.427641760353,0.42755509343,0.427468422577,0.427381747795,0.427295069085,0.427208386447,0.427121699882,0.427035009391,0.426948314975,0.426861616634,0.42677491437,0.426688208183,0.426601498074,0.426514784044,0.426428066093,0.426341344223,0.426254618434,0.426167888727,0.426081155102,0.425994417562,0.425907676105,0.425820930734,0.425734181448,0.42564742825,0.425560671138,0.425473910116,0.425387145182,0.425300376338,0.425213603585,0.425126826924,0.425040046355,0.424953261879,0.424866473496,0.424779681209,0.424692885017,0.424606084922,0.424519280923,0.424432473023,0.424345661221,0.424258845519,0.424172025917,0.424085202416,0.423998375017,0.42391154372,0.423824708528,0.423737869439,0.423651026456,0.423564179578,0.423477328807,0.423390474144,0.423303615589,0.423216753143,0.423129886807,0.423043016581,0.422956142467,0.422869264466,0.422782382577,0.422695496802,0.422608607142,0.422521713598,0.422434816169,0.422347914858,0.422261009665,0.42217410059,0.422087187635,0.4220002708,0.421913350086,0.421826425494,0.421739497024,0.421652564679,0.421565628457,0.42147868836,0.42139174439,0.421304796545,0.421217844829,0.42113088924,0.421043929781,0.420956966452,0.420869999253,0.420783028186,0.42069605325,0.420609074448,0.42052209178,0.420435105247,0.420348114849,0.420261120587,0.420174122462,0.420087120475,0.420000114627,0.419913104918,0.419826091349,0.419739073922,0.419652052636,0.419565027493,0.419477998493,0.419390965638,0.419303928928,0.419216888363,0.419129843945,0.419042795675,0.418955743553,0.41886868758,0.418781627757,0.418694564084,0.418607496563,0.418520425194,0.418433349978,0.418346270916,0.418259188009,0.418172101257,0.418085010662,0.417997916223,0.417910817942,0.41782371582,0.417736609858,0.417649500055,0.417562386414,0.417475268935,0.417388147618,0.417301022464,0.417213893475,0.417126760651,0.417039623993,0.416952483502,0.416865339178,0.416778191022,0.416691039035,0.416603883218,0.416516723572,0.416429560098,0.416342392795,0.416255221666,0.41616804671,0.41608086793,0.415993685324,0.415906498895,0.415819308643,0.415732114569,0.415644916674,0.415557714958,0.415470509422,0.415383300068,0.415296086895,0.415208869905,0.415121649098,0.415034424476,0.414947196039,0.414859963788,0.414772727723,0.414685487846,0.414598244157,0.414510996658,0.414423745348,0.414336490229,0.414249231301,0.414161968566,0.414074702024,0.413987431676,0.413900157523,0.413812879565,0.413725597803,0.413638312238,0.413551022872,0.413463729704,0.413376432736,0.413289131968,0.413201827401,0.413114519036,0.413027206874,0.412939890915,0.412852571161,0.412765247612,0.412677920268,0.412590589132,0.412503254203,0.412415915483,0.412328572971,0.41224122667,0.412153876579,0.4120665227,0.411979165034,0.41189180358,0.41180443834,0.411717069316,0.411629696507,0.411542319914,0.411454939538,0.411367555381,0.411280167442,0.411192775723,0.411105380224,0.411017980946,0.410930577891,0.410843171058,0.410755760449,0.410668346064,0.410580927905,0.410493505971,0.410406080264,0.410318650785,0.410231217535,0.410143780514,0.410056339722,0.409968895162,0.409881446833,0.409793994737,0.409706538874,0.409619079245,0.409531615851,0.409444148692,0.40935667777,0.409269203086,0.409181724639,0.409094242431,0.409006756463,0.408919266736,0.40883177325,0.408744276005,0.408656775004,0.408569270247,0.408481761734,0.408394249466,0.408306733445,0.40821921367,0.408131690143,0.408044162865,0.407956631836,0.407869097057,0.407781558529,0.407694016253,0.40760647023,0.40751892046,0.407431366944,0.407343809683,0.407256248677,0.407168683929,0.407081115438,0.406993543204,0.40690596723,0.406818387516,0.406730804063,0.40664321687,0.40655562594,0.406468031273,0.40638043287,0.406292830732,0.406205224859,0.406117615252,0.406030001912,0.40594238484,0.405854764037,0.405767139503,0.40567951124,0.405591879248,0.405504243527,0.405416604079,0.405328960905,0.405241314005,0.40515366338,0.405066009031,0.404978350959,0.404890689164,0.404803023648,0.40471535441,0.404627681453,0.404540004777,0.404452324382,0.404364640269,0.404276952439,0.404189260894,0.404101565633,0.404013866658,0.403926163969,0.403838457568,0.403750747454,0.403663033629,0.403575316094,0.403487594849,0.403399869896,0.403312141235,0.403224408866,0.403136672791,0.40304893301,0.402961189525,0.402873442336,0.402785691444,0.402697936849,0.402610178553,0.402522416556,0.402434650859,0.402346881464,0.402259108369,0.402171331578,0.40208355109,0.401995766905,0.401907979026,0.401820187453,0.401732392186,0.401644593226,0.401556790575,0.401468984233,0.4013811742,0.401293360478,0.401205543067,0.401117721969,0.401029897184,0.400942068712,0.400854236555,0.400766400714,0.400678561188,0.40059071798,0.40050287109,0.400415020518,0.400327166266,0.400239308334,0.400151446723,0.400063581434,0.399975712468,0.399887839825,0.399799963506,0.399712083513,0.399624199846,0.399536312505,0.399448421492,0.399360526807,0.399272628452,0.399184726426,0.399096820731,0.399008911368,0.398920998337,0.398833081639,0.398745161276,0.398657237247,0.398569309554,0.398481378197,0.398393443177,0.398305504496,0.398217562153,0.39812961615,0.398041666488,0.397953713167,0.397865756188,0.397777795552,0.397689831259,0.397601863311,0.397513891709,0.397425916452,0.397337937543,0.397249954981,0.397161968768,0.397073978904,0.39698598539,0.396897988228,0.396809987417,0.396721982958,0.396633974854,0.396545963103,0.396457947707,0.396369928668,0.396281905985,0.396193879659,0.396105849692,0.396017816083,0.395929778835,0.395841737947,0.395753693421,0.395665645257,0.395577593457,0.39548953802,0.395401478948,0.395313416241,0.395225349901,0.395137279928,0.395049206323,0.394961129087,0.394873048221,0.394784963724,0.394696875599,0.394608783847,0.394520688466,0.39443258946,0.394344486828,0.394256380571,0.394168270691,0.394080157187,0.393992040061,0.393903919314,0.393815794945,0.393727666957,0.39363953535,0.393551400125,0.393463261282,0.393375118823,0.393286972747,0.393198823057,0.393110669753,0.393022512835,0.392934352304,0.392846188162,0.392758020409,0.392669849046,0.392581674073,0.392493495492,0.392405313303,0.392317127507,0.392228938105,0.392140745098,0.392052548486,0.391964348271,0.391876144453,0.391787937033,0.391699726011,0.391611511389,0.391523293168,0.391435071348,0.391346845929,0.391258616914,0.391170384302,0.391082148095,0.390993908293,0.390905664897,0.390817417908,0.390729167326,0.390640913153,0.39055265539,0.390464394036,0.390376129094,0.390287860563,0.390199588444,0.39011131274,0.390023033449,0.389934750573,0.389846464113,0.38975817407,0.389669880444,0.389581583236,0.389493282448,0.389404978079,0.389316670131,0.389228358604,0.3891400435,0.389051724819,0.388963402562,0.388875076729,0.388786747322,0.388698414342,0.388610077788,0.388521737663,0.388433393966,0.388345046699,0.388256695862,0.388168341457,0.388079983483,0.387991621943,0.387903256836,0.387814888164,0.387726515926,0.387638140125,0.387549760761,0.387461377835,0.387372991347,0.387284601299,0.38719620769,0.387107810523,0.387019409797,0.386931005514,0.386842597675,0.38675418628,0.386665771329,0.386577352825,0.386488930767,0.386400505157,0.386312075995,0.386223643282,0.386135207019,0.386046767207,0.385958323846,0.385869876938,0.385781426482,0.385692972481,0.385604514935,0.385516053844,0.38542758921,0.385339121032,0.385250649313,0.385162174053,0.385073695252,0.384985212912,0.384896727034,0.384808237617,0.384719744663,0.384631248173,0.384542748148,0.384454244587,0.384365737494,0.384277226867,0.384188712707,0.384100195017,0.384011673796,0.383923149045,0.383834620765,0.383746088957,0.383657553622,0.38356901476,0.383480472373,0.383391926461,0.383303377024,0.383214824065,0.383126267583,0.383037707579,0.382949144055,0.382860577011,0.382772006447,0.382683432365,0.382594854766,0.382506273649,0.382417689017,0.38232910087,0.382240509209,0.382151914034,0.382063315346,0.381974713147,0.381886107436,0.381797498215,0.381708885485,0.381620269247,0.3815316495,0.381443026247,0.381354399487,0.381265769222,0.381177135453,0.38108849818,0.380999857404,0.380911213126,0.380822565346,0.380733914067,0.380645259287,0.380556601009,0.380467939233,0.380379273959,0.38029060519,0.380201932924,0.380113257164,0.38002457791,0.379935895163,0.379847208924,0.379758519193,0.379669825972,0.37958112926,0.37949242906,0.379403725372,0.379315018196,0.379226307533,0.379137593385,0.379048875752,0.378960154634,0.378871430034,0.37878270195,0.378693970385,0.37860523534,0.378516496814,0.378427754809,0.378339009325,0.378250260364,0.378161507926,0.378072752012,0.377983992623,0.37789522976,0.377806463423,0.377717693613,0.377628920332,0.377540143579,0.377451363356,0.377362579664,0.377273792503,0.377185001874,0.377096207778,0.377007410216,0.376918609189,0.376829804697,0.376740996741,0.376652185323,0.376563370442,0.3764745521,0.376385730298,0.376296905036,0.376208076315,0.376119244136,0.3760304085,0.375941569407,0.375852726859,0.375763880856,0.375675031399,0.375586178489,0.375497322127,0.375408462313,0.375319599049,0.375230732334,0.375141862171,0.37505298856,0.374964111501,0.374875230995,0.374786347044,0.374697459647,0.374608568807,0.374519674523,0.374430776797,0.374341875629,0.37425297102,0.374164062971,0.374075151483,0.373986236557,0.373897318193,0.373808396392,0.373719471155,0.373630542483,0.373541610377,0.373452674837,0.373363735864,0.37327479346,0.373185847624,0.373096898359,0.373007945663,0.37291898954,0.372830029988,0.37274106701,0.372652100605,0.372563130775,0.37247415752,0.372385180842,0.372296200741,0.372207217218,0.372118230273,0.372029239908,0.371940246124,0.37185124892,0.371762248299,0.371673244261,0.371584236806,0.371495225936,0.371406211651,0.371317193952,0.37122817284,0.371139148316,0.37105012038,0.370961089034,0.370872054278,0.370783016113,0.37069397454,0.370604929559,0.370515881172,0.370426829379,0.370337774182,0.37024871558,0.370159653575,0.370070588168,0.369981519359,0.369892447149,0.369803371539,0.36971429253,0.369625210123,0.369536124318,0.369447035117,0.36935794252,0.369268846527,0.369179747141,0.369090644361,0.369001538188,0.368912428624,0.368823315668,0.368734199323,0.368645079588,0.368555956464,0.368466829953,0.368377700055,0.368288566771,0.368199430102,0.368110290049,0.368021146612,0.367931999792,0.36784284959,0.367753696007,0.367664539043,0.3675753787,0.367486214979,0.367397047879,0.367307877403,0.36721870355,0.367129526322,0.36704034572,0.366951161743,0.366861974394,0.366772783673,0.36668358958,0.366594392117,0.366505191284,0.366415987082,0.366326779513,0.366237568576,0.366148354272,0.366059136604,0.36596991557,0.365880691173,0.365791463412,0.365702232289,0.365612997805,0.36552375996,0.365434518755,0.365345274191,0.365256026269,0.36516677499,0.365077520354,0.364988262363,0.364899001016,0.364809736316,0.364720468262,0.364631196856,0.364541922098,0.364452643989,0.364363362531,0.364274077723,0.364184789567,0.364095498064,0.364006203213,0.363916905017,0.363827603476,0.363738298591,0.363648990362,0.36355967879,0.363470363877,0.363381045623,0.363291724029,0.363202399096,0.363113070824,0.363023739214,0.362934404268,0.362845065985,0.362755724367,0.362666379415,0.36257703113,0.362487679511,0.362398324561,0.36230896628,0.362219604668,0.362130239727,0.362040871458,0.36195149986,0.361862124936,0.361772746685,0.361683365109,0.361593980209,0.361504591985,0.361415200438,0.361325805568,0.361236407378,0.361147005867,0.361057601037,0.360968192888,0.360878781421,0.360789366637,0.360699948537,0.360610527121,0.36052110239,0.360431674346,0.360342242988,0.360252808319,0.360163370338,0.360073929046,0.359984484445,0.359895036535,0.359805585317,0.359716130791,0.359626672959,0.359537211822,0.35944774738,0.359358279633,0.359268808584,0.359179334232,0.359089856579,0.359000375625,0.358910891371,0.358821403819,0.358731912968,0.358642418819,0.358552921374,0.358463420634,0.358373916598,0.358284409268,0.358194898645,0.35810538473,0.358015867523,0.357926347025,0.357836823237,0.35774729616,0.357657765795,0.357568232142,0.357478695203,0.357389154977,0.357299611467,0.357210064672,0.357120514594,0.357030961233,0.356941404591,0.356851844668,0.356762281464,0.356672714982,0.35658314522,0.356493572182,0.356403995866,0.356314416274,0.356224833408,0.356135247267,0.356045657852,0.355956065165,0.355866469205,0.355776869975,0.355687267475,0.355597661705,0.355508052666,0.35541844036,0.355328824787,0.355239205948,0.355149583843,0.355059958474,0.354970329842,0.354880697946,0.354791062789,0.35470142437,0.354611782691,0.354522137753,0.354432489556,0.354342838101,0.354253183389,0.35416352542,0.354073864197,0.353984199719,0.353894531987,0.353804861002,0.353715186765,0.353625509277,0.353535828538,0.353446144549,0.353356457312,0.353266766827,0.353177073095,0.353087376116,0.352997675892,0.352907972424,0.352818265711,0.352728555755,0.352638842557,0.352549126118,0.352459406438,0.352369683519,0.35227995736,0.352190227964,0.35210049533,0.35201075946,0.351921020354,0.351831278013,0.351741532439,0.351651783631,0.351562031591,0.35147227632,0.351382517818,0.351292756086,0.351202991125,0.351113222935,0.351023451519,0.350933676876,0.350843899007,0.350754117913,0.350664333596,0.350574546055,0.350484755292,0.350394961307,0.350305164101,0.350215363675,0.350125560031,0.350035753168,0.349945943087,0.34985612979,0.349766313277,0.349676493549,0.349586670607,0.349496844452,0.349407015084,0.349317182505,0.349227346714,0.349137507714,0.349047665505,0.348957820087,0.348867971461,0.348778119629,0.348688264591,0.348598406348,0.3485085449,0.348418680249,0.348328812396,0.348238941341,0.348149067085,0.348059189629,0.347969308973,0.347879425119,0.347789538067,0.347699647819,0.347609754375,0.347519857735,0.347429957901,0.347340054874,0.347250148654,0.347160239242,0.347070326639,0.346980410846,0.346890491863,0.346800569692,0.346710644334,0.346620715788,0.346530784056,0.346440849139,0.346350911038,0.346260969753,0.346171025285,0.346081077636,0.345991126805,0.345901172794,0.345811215604,0.345721255235,0.345631291688,0.345541324964,0.345451355064,0.345361381989,0.345271405739,0.345181426316,0.345091443719,0.345001457951,0.344911469012,0.344821476902,0.344731481622,0.344641483174,0.344551481559,0.344461476776,0.344371468826,0.344281457712,0.344191443433,0.34410142599,0.344011405384,0.343921381616,0.343831354687,0.343741324598,0.343651291349,0.343561254941,0.343471215375,0.343381172652,0.343291126773,0.343201077738,0.343111025549,0.343020970206,0.34293091171,0.342840850062,0.342750785262,0.342660717312,0.342570646212,0.342480571964,0.342390494567,0.342300414024,0.342210330333,0.342120243498,0.342030153518,0.341940060393,0.341849964126,0.341759864717,0.341669762166,0.341579656475,0.341489547644,0.341399435674,0.341309320566,0.34121920232,0.341129080939,0.341038956421,0.340948828769,0.340858697983,0.340768564064,0.340678427013,0.34058828683,0.340498143517,0.340407997074,0.340317847501,0.340227694801,0.340137538974,0.340047380019,0.33995721794,0.339867052735,0.339776884407,0.339686712955,0.339596538381,0.339506360686,0.33941617987,0.339325995934,0.339235808879,0.339145618705,0.339055425415,0.338965229008,0.338875029485,0.338784826848,0.338694621096,0.338604412231,0.338514200254,0.338423985165,0.338333766966,0.338243545656,0.338153321238,0.338063093711,0.337972863077,0.337882629336,0.33779239249,0.337702152538,0.337611909483,0.337521663324,0.337431414063,0.337341161701,0.337250906237,0.337160647674,0.337070386011,0.33698012125,0.336889853392,0.336799582437,0.336709308387,0.336619031241,0.336528751001,0.336438467668,0.336348181243,0.336257891726,0.336167599118,0.33607730342,0.335987004633,0.335896702757,0.335806397794,0.335716089745,0.335625778609,0.335535464389,0.335445147085,0.335354826697,0.335264503226,0.335174176674,0.335083847041,0.334993514328,0.334903178536,0.334812839666,0.334722497718,0.334632152693,0.334541804592,0.334451453417,0.334361099167,0.334270741844,0.334180381448,0.33409001798,0.333999651442,0.333909281834,0.333818909156,0.33372853341,0.333638154596,0.333547772716,0.33345738777,0.333366999759,0.333276608683,0.333186214544,0.333095817343,0.333005417079,0.332915013755,0.332824607371,0.332734197927,0.332643785426,0.332553369866,0.33246295125,0.332372529578,0.33228210485,0.332191677069,0.332101246234,0.332010812346,0.331920375407,0.331829935416,0.331739492376,0.331649046286,0.331558597148,0.331468144962,0.33137768973,0.331287231451,0.331196770128,0.33110630576,0.331015838349,0.330925367895,0.330834894399,0.330744417862,0.330653938285,0.330563455669,0.330472970014,0.330382481322,0.330291989593,0.330201494828,0.330110997028,0.330020496193,0.329929992325,0.329839485424,0.329748975492,0.329658462529,0.329567946535,0.329477427512,0.329386905461,0.329296380382,0.329205852276,0.329115321144,0.329024786987,0.328934249806,0.328843709601,0.328753166373,0.328662620124,0.328572070854,0.328481518563,0.328390963253,0.328300404925,0.328209843579,0.328119279216,0.328028711837,0.327938141443,0.327847568035,0.327756991613,0.327666412179,0.327575829733,0.327485244275,0.327394655808,0.327304064331,0.327213469845,0.327122872352,0.327032271853,0.326941668347,0.326851061836,0.32676045232,0.326669839801,0.32657922428,0.326488605756,0.326397984232,0.326307359707,0.326216732183,0.326126101661,0.32603546814,0.325944831623,0.32585419211,0.325763549602,0.325672904099,0.325582255603,0.325491604115,0.325400949634,0.325310292162,0.3252196317,0.325128968249,0.32503830181,0.324947632382,0.324856959968,0.324766284568,0.324675606182,0.324584924813,0.324494240459,0.324403553123,0.324312862805,0.324222169507,0.324131473228,0.324040773969,0.323950071732,0.323859366518,0.323768658326,0.323677947159,0.323587233016,0.3234965159,0.323405795809,0.323315072746,0.323224346711,0.323133617705,0.323042885729,0.322952150783,0.322861412869,0.322770671988,0.322679928139,0.322589181325,0.322498431545,0.322407678801,0.322316923094,0.322226164423,0.322135402791,0.322044638198,0.321953870645,0.321863100133,0.321772326662,0.321681550233,0.321590770847,0.321499988506,0.321409203209,0.321318414958,0.321227623754,0.321136829597,0.321046032488,0.320955232428,0.320864429418,0.320773623458,0.320682814551,0.320592002695,0.320501187893,0.320410370144,0.320319549451,0.320228725813,0.320137899232,0.320047069708,0.319956237242,0.319865401836,0.319774563489,0.319683722203,0.319592877978,0.319502030816,0.319411180717,0.319320327682,0.319229471712,0.319138612808,0.31904775097,0.318956886199,0.318866018497,0.318775147864,0.318684274301,0.318593397808,0.318502518387,0.318411636039,0.318320750763,0.318229862562,0.318138971436,0.318048077385,0.317957180411,0.317866280514,0.317775377696,0.317684471956,0.317593563297,0.317502651718,0.317411737221,0.317320819806,0.317229899475,0.317138976228,0.317048050065,0.316957120989,0.316866188998,0.316775254096,0.316684316281,0.316593375556,0.316502431921,0.316411485376,0.316320535923,0.316229583563,0.316138628296,0.316047670123,0.315956709045,0.315865745062,0.315774778176,0.315683808388,0.315592835698,0.315501860108,0.315410881617,0.315319900227,0.315228915938,0.315137928753,0.31504693867,0.314955945692,0.314864949818,0.314773951051,0.31468294939,0.314591944836,0.314500937391,0.314409927055,0.314318913829,0.314227897714,0.314136878711,0.31404585682,0.313954832043,0.31386380438,0.313772773831,0.313681740399,0.313590704083,0.313499664885,0.313408622805,0.313317577845,0.313226530004,0.313135479285,0.313044425687,0.312953369212,0.31286230986,0.312771247632,0.312680182529,0.312589114553,0.312498043703,0.31240696998,0.312315893386,0.312224813922,0.312133731587,0.312042646384,0.311951558312,0.311860467372,0.311769373567,0.311678276895,0.311587177359,0.311496074958,0.311404969695,0.311313861569,0.311222750581,0.311131636733,0.311040520025,0.310949400458,0.310858278032,0.31076715275,0.31067602461,0.310584893616,0.310493759766,0.310402623062,0.310311483506,0.310220341096,0.310129195836,0.310038047725,0.309946896764,0.309855742954,0.309764586295,0.30967342679,0.309582264438,0.309491099241,0.309399931198,0.309308760312,0.309217586583,0.309126410011,0.309035230598,0.308944048345,0.308852863252,0.308761675319,0.308670484549,0.308579290942,0.308488094498,0.308396895218,0.308305693104,0.308214488156,0.308123280375,0.308032069761,0.307940856317,0.307849640042,0.307758420937,0.307667199003,0.307575974241,0.307484746652,0.307393516237,0.307302282996,0.307211046931,0.307119808042,0.307028566329,0.306937321795,0.306846074439,0.306754824263,0.306663571267,0.306572315453,0.30648105682,0.306389795371,0.306298531105,0.306207264024,0.306115994128,0.306024721418,0.305933445896,0.305842167561,0.305750886415,0.305659602459,0.305568315693,0.305477026119,0.305385733736,0.305294438547,0.305203140551,0.30511183975,0.305020536145,0.304929229735,0.304837920523,0.304746608509,0.304655293694,0.304563976079,0.304472655663,0.30438133245,0.304290006438,0.30419867763,0.304107346025,0.304016011625,0.303924674431,0.303833334443,0.303741991662,0.30365064609,0.303559297726,0.303467946572,0.303376592629,0.303285235897,0.303193876377,0.30310251407,0.303011148978,0.3029197811,0.302828410438,0.302737036992,0.302645660763,0.302554281753,0.302462899962,0.30237151539,0.302280128039,0.30218873791,0.302097345003,0.302005949319,0.301914550859,0.301823149625,0.301731745615,0.301640338833,0.301548929277,0.30145751695,0.301366101852,0.301274683984,0.301183263347,0.301091839941,0.301000413768,0.300908984828,0.300817553122,0.300726118651,0.300634681416,0.300543241417,0.300451798656,0.300360353133,0.30026890485,0.300177453806,0.300086000003,0.299994543442,0.299903084124,0.299811622048,0.299720157217,0.299628689631,0.299537219291,0.299445746198,0.299354270352,0.299262791754,0.299171310406,0.299079826308,0.298988339461,0.298896849865,0.298805357523,0.298713862433,0.298622364598,0.298530864018,0.298439360694,0.298347854627,0.298256345817,0.298164834266,0.298073319974,0.297981802943,0.297890283172,0.297798760664,0.297707235418,0.297615707435,0.297524176717,0.297432643264,0.297341107077,0.297249568157,0.297158026505,0.297066482122,0.296974935008,0.296883385164,0.296791832591,0.29670027729,0.296608719262,0.296517158508,0.296425595028,0.296334028823,0.296242459895,0.296150888244,0.29605931387,0.295967736775,0.29587615696,0.295784574425,0.295692989171,0.295601401199,0.295509810511,0.295418217106,0.295326620985,0.29523502215,0.295143420601,0.295051816339,0.294960209366,0.294868599681,0.294776987285,0.294685372181,0.294593754367,0.294502133846,0.294410510617,0.294318884683,0.294227256043,0.294135624698,0.29404399065,0.2939523539,0.293860714447,0.293769072293,0.293677427439,0.293585779886,0.293494129634,0.293402476684,0.293310821037,0.293219162694,0.293127501656,0.293035837924,0.292944171498,0.29285250238,0.292760830569,0.292669156068,0.292577478876,0.292485798996,0.292394116426,0.292302431169,0.292210743226,0.292119052596,0.292027359281,0.291935663282,0.2918439646,0.291752263235,0.291660559188,0.291568852461,0.291477143053,0.291385430966,0.291293716201,0.291201998759,0.291110278639,0.291018555844,0.290926830374,0.29083510223,0.290743371412,0.290651637922,0.290559901761,0.290468162928,0.290376421426,0.290284677254,0.290192930415,0.290101180908,0.290009428734,0.289917673895,0.289825916391,0.289734156223,0.289642393391,0.289550627898,0.289458859743,0.289367088927,0.289275315451,0.289183539317,0.289091760524,0.288999979074,0.288908194968,0.288816408206,0.288724618789,0.288632826719,0.288541031995,0.288449234619,0.288357434592,0.288265631915,0.288173826587,0.288082018611,0.287990207987,0.287898394715,0.287806578798,0.287714760235,0.287622939027,0.287531115176,0.287439288681,0.287347459545,0.287255627767,0.287163793349,0.287071956291,0.286980116595,0.286888274261,0.286796429289,0.286704581682,0.286612731439,0.286520878562,0.286429023051,0.286337164908,0.286245304132,0.286153440725,0.286061574688,0.285969706022,0.285877834727,0.285785960804,0.285694084255,0.285602205079,0.285510323278,0.285418438853,0.285326551805,0.285234662133,0.28514276984,0.285050874926,0.284958977392,0.284867077238,0.284775174466,0.284683269077,0.284591361071,0.284499450449,0.284407537211,0.28431562136,0.284223702895,0.284131781818,0.284039858129,0.283947931829,0.283856002919,0.2837640714,0.283672137273,0.283580200538,0.283488261197,0.283396319249,0.283304374697,0.283212427541,0.283120477782,0.28302852542,0.282936570457,0.282844612893,0.282752652729,0.282660689967,0.282568724606,0.282476756647,0.282384786093,0.282292812942,0.282200837197,0.282108858858,0.282016877926,0.281924894402,0.281832908286,0.28174091958,0.281648928284,0.281556934399,0.281464937926,0.281372938866,0.281280937219,0.281188932988,0.281096926171,0.281004916771,0.280912904788,0.280820890222,0.280728873076,0.280636853349,0.280544831042,0.280452806157,0.280360778694,0.280268748654,0.280176716038,0.280084680846,0.27999264308,0.279900602741,0.279808559828,0.279716514344,0.279624466288,0.279532415663,0.279440362467,0.279348306704,0.279256248372,0.279164187474,0.27907212401,0.27898005798,0.278887989387,0.278795918229,0.278703844509,0.278611768228,0.278519689385,0.278427607982,0.27833552402,0.2782434375,0.278151348422,0.278059256787,0.277967162597,0.277875065852,0.277782966552,0.277690864699,0.277598760293,0.277506653336,0.277414543828,0.277322431771,0.277230317164,0.277138200009,0.277046080306,0.276953958057,0.276861833262,0.276769705923,0.276677576039,0.276585443612,0.276493308643,0.276401171132,0.276309031081,0.27621688849,0.27612474336,0.276032595692,0.275940445487,0.275848292746,0.275756137468,0.275663979657,0.275571819311,0.275479656432,0.275387491021,0.275295323079,0.275203152607,0.275110979605,0.275018804074,0.274926626015,0.274834445429,0.274742262317,0.274650076679,0.274557888517,0.274465697831,0.274373504623,0.274281308892,0.274189110641,0.274096909869,0.274004706577,0.273912500767,0.27382029244,0.273728081595,0.273635868234,0.273543652358,0.273451433968,0.273359213064,0.273266989648,0.27317476372,0.273082535281,0.272990304331,0.272898070873,0.272805834906,0.272713596431,0.27262135545,0.272529111963,0.272436865971,0.272344617474,0.272252366475,0.272160112972,0.272067856969,0.271975598464,0.271883337459,0.271791073956,0.271698807954,0.271606539455,0.271514268459,0.271421994967,0.271329718981,0.2712374405,0.271145159527,0.271052876061,0.270960590104,0.270868301656,0.270776010718,0.270683717291,0.270591421377,0.270499122975,0.270406822087,0.270314518713,0.270222212854,0.270129904512,0.270037593687,0.269945280379,0.269852964591,0.269760646322,0.269668325573,0.269576002346,0.26948367664,0.269391348458,0.269299017799,0.269206684665,0.269114349057,0.269022010975,0.26892967042,0.268837327394,0.268744981896,0.268652633928,0.26856028349,0.268467930584,0.268375575211,0.26828321737,0.268190857063,0.268098494292,0.268006129056,0.267913761356,0.267821391194,0.26772901857,0.267636643486,0.267544265941,0.267451885937,0.267359503474,0.267267118554,0.267174731178,0.267082341345,0.266989949058,0.266897554317,0.266805157122,0.266712757475,0.266620355376,0.266527950827,0.266435543828,0.266343134379,0.266250722483,0.266158308139,0.266065891349,0.265973472113,0.265881050432,0.265788626308,0.26569619974,0.26560377073,0.265511339279,0.265418905387,0.265326469056,0.265234030286,0.265141589077,0.265049145432,0.26495669935,0.264864250833,0.264771799882,0.264679346496,0.264586890678,0.264494432428,0.264401971746,0.264309508635,0.264217043093,0.264124575124,0.264032104726,0.263939631901,0.263847156651,0.263754678975,0.263662198875,0.263569716351,0.263477231404,0.263384744036,0.263292254247,0.263199762037,0.263107267409,0.263014770362,0.262922270897,0.262829769016,0.262737264719,0.262644758006,0.26255224888,0.26245973734,0.262367223388,0.262274707024,0.262182188249,0.262089667065,0.261997143471,0.261904617469,0.26181208906,0.261719558244,0.261627025023,0.261534489397,0.261441951366,0.261349410933,0.261256868097,0.26116432286,0.261071775223,0.260979225186,0.260886672749,0.260794117915,0.260701560684,0.260609001056,0.260516439033,0.260423874615,0.260331307804,0.2602387386,0.260146167003,0.260053593015,0.259961016637,0.25986843787,0.259775856714,0.25968327317,0.259590687239,0.259498098922,0.25940550822,0.259312915133,0.259220319663,0.25912772181,0.259035121575,0.258942518959,0.258849913963,0.258757306588,0.258664696834,0.258572084703,0.258479470195,0.258386853311,0.258294234052,0.258201612419,0.258108988413,0.258016362034,0.257923733283,0.257831102162,0.257738468671,0.257645832811,0.257553194582,0.257460553986,0.257367911024,0.257275265696,0.257182618003,0.257089967946,0.256997315526,0.256904660743,0.2568120036,0.256719344096,0.256626682232,0.256534018009,0.256441351428,0.25634868249,0.256256011196,0.256163337546,0.256070661542,0.255977983184,0.255885302473,0.25579261941,0.255699933995,0.255607246231,0.255514556117,0.255421863654,0.255329168844,0.255236471686,0.255143772183,0.255051070334,0.254958366141,0.254865659605,0.254772950725,0.254680239504,0.254587525942,0.25449481004,0.254402091799,0.254309371219,0.254216648301,0.254123923047,0.254031195457,0.253938465532,0.253845733273,0.253752998681,0.253660261756,0.2535675225,0.253474780913,0.253382036996,0.25328929075,0.253196542175,0.253103791274,0.253011038046,0.252918282492,0.252825524613,0.252732764411,0.252640001886,0.252547237038,0.252454469869,0.25236170038,0.25226892857,0.252176154442,0.252083377996,0.251990599233,0.251897818154,0.25180503476,0.25171224905,0.251619461028,0.251526670692,0.251433878044,0.251341083085,0.251248285816,0.251155486238,0.251062684351,0.250969880156,0.250877073654,0.250784264847,0.250691453734,0.250598640317,0.250505824596,0.250413006573,0.250320186248,0.250227363622,0.250134538696,0.250041711471,0.249948881948,0.249856050127,0.24976321601,0.249670379597,0.249577540889,0.249484699886,0.249391856591,0.249299011003,0.249206163124,0.249113312954,0.249020460494,0.248927605746,0.248834748709,0.248741889385,0.248649027775,0.248556163879,0.248463297698,0.248370429234,0.248277558487,0.248184685457,0.248091810146,0.247998932555,0.247906052685,0.247813170535,0.247720286108,0.247627399404,0.247534510423,0.247441619168,0.247348725638,0.247255829834,0.247162931758,0.247070031409,0.24697712879,0.246884223901,0.246791316742,0.246698407315,0.24660549562,0.246512581659,0.246419665431,0.246326746939,0.246233826182,0.246140903162,0.24604797788,0.245955050336,0.245862120531,0.245769188466,0.245676254142,0.245583317561,0.245490378721,0.245397437625,0.245304494274,0.245211548668,0.245118600807,0.245025650694,0.244932698329,0.244839743712,0.244746786844,0.244653827727,0.244560866362,0.244467902748,0.244374936887,0.24428196878,0.244188998427,0.24409602583,0.24400305099,0.243910073906,0.24381709458,0.243724113014,0.243631129207,0.243538143161,0.243445154876,0.243352164353,0.243259171594,0.243166176599,0.243073179368,0.242980179903,0.242887178205,0.242794174274,0.242701168112,0.242608159718,0.242515149095,0.242422136243,0.242329121162,0.242236103854,0.242143084319,0.242050062558,0.241957038573,0.241864012364,0.241770983931,0.241677953276,0.2415849204,0.241491885303,0.241398847986,0.241305808451,0.241212766697,0.241119722726,0.241026676539,0.240933628137,0.24084057752,0.240747524689,0.240654469645,0.240561412389,0.240468352922,0.240375291244,0.240282227358,0.240189161262,0.240096092959,0.240003022449,0.239909949733,0.239816874811,0.239723797685,0.239630718356,0.239537636824,0.239444553091,0.239351467156,0.239258379021,0.239165288687,0.239072196155,0.238979101425,0.238886004499,0.238792905377,0.23869980406,0.238606700549,0.238513594844,0.238420486948,0.238327376859,0.23823426458,0.238141150112,0.238048033454,0.237954914608,0.237861793575,0.237768670356,0.237675544951,0.237582417362,0.237489287588,0.237396155632,0.237303021494,0.237209885174,0.237116746674,0.237023605994,0.236930463136,0.2368373181,0.236744170887,0.236651021498,0.236557869934,0.236464716195,0.236371560283,0.236278402198,0.236185241941,0.236092079513,0.235998914916,0.235905748149,0.235812579213,0.23571940811,0.23562623484,0.235533059405,0.235439881805,0.23534670204,0.235253520112,0.235160336022,0.23506714977,0.234973961358,0.234880770785,0.234787578054,0.234694383165,0.234601186118,0.234507986915,0.234414785556,0.234321582043,0.234228376376,0.234135168556,0.234041958584,0.23394874646,0.233855532186,0.233762315763,0.233669097191,0.233575876471,0.233482653604,0.233389428591,0.233296201432,0.233202972129,0.233109740683,0.233016507094,0.232923271363,0.232830033492,0.23273679348,0.232643551328,0.232550307039,0.232457060612,0.232363812048,0.232270561348,0.232177308513,0.232084053545,0.231990796442,0.231897537208,0.231804275842,0.231711012345,0.231617746719,0.231524478963,0.231431209079,0.231337937069,0.231244662931,0.231151386668,0.231058108281,0.230964827769,0.230871545135,0.230778260378,0.230684973501,0.230591684502,0.230498393385,0.230405100148,0.230311804794,0.230218507323,0.230125207735,0.230031906033,0.229938602216,0.229845296285,0.229751988242,0.229658678087,0.229565365821,0.229472051444,0.229378734959,0.229285416365,0.229192095664,0.229098772856,0.229005447942,0.228912120923,0.2288187918,0.228725460574,0.228632127245,0.228538791815,0.228445454284,0.228352114653,0.228258772924,0.228165429096,0.228072083171,0.22797873515,0.227885385033,0.227792032821,0.227698678516,0.227605322117,0.227511963627,0.227418603045,0.227325240373,0.227231875611,0.227138508761,0.227045139823,0.226951768798,0.226858395687,0.226765020491,0.22667164321,0.226578263846,0.226484882399,0.22639149887,0.22629811326,0.226204725571,0.226111335802,0.226017943954,0.22592455003,0.225831154028,0.225737755951,0.225644355799,0.225550953572,0.225457549273,0.225364142901,0.225270734458,0.225177323944,0.22508391136,0.224990496707,0.224897079986,0.224803661198,0.224710240344,0.224616817424,0.22452339244,0.224429965392,0.22433653628,0.224243105107,0.224149671873,0.224056236578,0.223962799224,0.223869359811,0.223775918341,0.223682474813,0.22358902923,0.223495581591,0.223402131898,0.223308680152,0.223215226353,0.223121770502,0.2230283126,0.222934852648,0.222841390647,0.222747926598,0.222654460502,0.222560992358,0.222467522169,0.222374049935,0.222280575658,0.222187099337,0.222093620973,0.222000140568,0.221906658123,0.221813173638,0.221719687114,0.221626198552,0.221532707953,0.221439215318,0.221345720647,0.221252223942,0.221158725203,0.221065224431,0.220971721627,0.220878216792,0.220784709927,0.220691201032,0.220597690109,0.220504177158,0.22041066218,0.220317145177,0.220223626148,0.220130105095,0.220036582018,0.219943056919,0.219849529799,0.219756000657,0.219662469496,0.219568936315,0.219475401117,0.219381863901,0.219288324668,0.21919478342,0.219101240157,0.21900769488,0.21891414759,0.218820598288,0.218727046974,0.21863349365,0.218539938316,0.218446380974,0.218352821623,0.218259260266,0.218165696902,0.218072131533,0.21797856416,0.217884994783,0.217791423403,0.217697850021,0.217604274638,0.217510697256,0.217417117873,0.217323536493,0.217229953114,0.217136367739,0.217042780369,0.216949191003,0.216855599643,0.216762006289,0.216668410944,0.216574813606,0.216481214278,0.21638761296,0.216294009653,0.216200404358,0.216106797076,0.216013187808,0.215919576553,0.215825963314,0.215732348092,0.215638730886,0.215545111698,0.215451490529,0.21535786738,0.215264242251,0.215170615143,0.215076986058,0.214983354995,0.214889721957,0.214796086943,0.214702449955,0.214608810994,0.21451517006,0.214421527154,0.214327882277,0.21423423543,0.214140586614,0.214046935829,0.213953283078,0.213859628359,0.213765971675,0.213672313026,0.213578652412,0.213484989836,0.213391325297,0.213297658797,0.213203990337,0.213110319916,0.213016647537,0.2129229732,0.212829296905,0.212735618654,0.212641938448,0.212548256288,0.212454572173,0.212360886106,0.212267198087,0.212173508116,0.212079816196,0.211986122326,0.211892426507,0.211798728741,0.211705029028,0.211611327369,0.211517623765,0.211423918217,0.211330210725,0.211236501291,0.211142789916,0.211049076599,0.210955361343,0.210861644147,0.210767925013,0.210674203942,0.210580480935,0.210486755992,0.210393029114,0.210299300302,0.210205569557,0.21011183688,0.210018102272,0.209924365734,0.209830627265,0.209736886868,0.209643144543,0.209549400292,0.209455654114,0.20936190601,0.209268155983,0.209174404032,0.209080650158,0.208986894362,0.208893136645,0.208799377009,0.208705615453,0.208611851978,0.208518086586,0.208424319278,0.208330550053,0.208236778914,0.208143005861,0.208049230894,0.207955454015,0.207861675225,0.207767894524,0.207674111913,0.207580327394,0.207486540966,0.207392752631,0.20729896239,0.207205170243,0.207111376192,0.207017580237,0.20692378238,0.20682998262,0.206736180959,0.206642377398,0.206548571937,0.206454764578,0.206360955321,0.206267144167,0.206173331118,0.206079516173,0.205985699334,0.205891880602,0.205798059977,0.20570423746,0.205610413053,0.205516586756,0.20542275857,0.205328928495,0.205235096533,0.205141262685,0.205047426951,0.204953589332,0.20485974983,0.204765908444,0.204672065176,0.204578220027,0.204484372998,0.204390524089,0.204296673301,0.204202820635,0.204108966093,0.204015109674,0.20392125138,0.203827391212,0.20373352917,0.203639665255,0.203545799469,0.203451931811,0.203358062284,0.203264190887,0.203170317622,0.203076442489,0.20298256549,0.202888686625,0.202794805895,0.202700923302,0.202607038844,0.202513152525,0.202419264344,0.202325374303,0.202231482401,0.202137588641,0.202043693023,0.201949795548,0.201855896217,0.20176199503,0.201668091988,0.201574187093,0.201480280345,0.201386371745,0.201292461294,0.201198548993,0.201104634842,0.201010718843,0.200916800996,0.200822881302,0.200728959763,0.200635036378,0.20054111115,0.200447184078,0.200353255163,0.200259324407,0.20016539181,0.200071457373,0.199977521097,0.199883582983,0.199789643032,0.199695701244,0.199601757621,0.199507812163,0.199413864871,0.199319915747,0.19922596479,0.199132012002,0.199038057383,0.198944100935,0.198850142659,0.198756182554,0.198662220623,0.198568256866,0.198474291283,0.198380323876,0.198286354646,0.198192383593,0.198098410718,0.198004436022,0.197910459507,0.197816481172,0.197722501019,0.197628519048,0.197534535261,0.197440549659,0.197346562241,0.197252573009,0.197158581965,0.197064589108,0.19697059444,0.196876597961,0.196782599672,0.196688599575,0.19659459767,0.196500593958,0.19640658844,0.196312581116,0.196218571988,0.196124561056,0.196030548321,0.195936533785,0.195842517448,0.19574849931,0.195654479373,0.195560457638,0.195466434105,0.195372408776,0.195278381651,0.19518435273,0.195090322016,0.194996289509,0.194902255209,0.194808219117,0.194714181235,0.194620141563,0.194526100103,0.194432056854,0.194338011818,0.194243964996,0.194149916388,0.194055865996,0.19396181382,0.193867759861,0.19377370412,0.193679646598,0.193585587296,0.193491526214,0.193397463354,0.193303398716,0.193209332302,0.193115264111,0.193021194145,0.192927122405,0.192833048892,0.192738973607,0.192644896549,0.192550817721,0.192456737123,0.192362654756,0.192268570621,0.192174484719,0.19208039705,0.191986307615,0.191892216416,0.191798123453,0.191704028728,0.19160993224,0.19151583399,0.191421733981,0.191327632212,0.191233528684,0.191139423398,0.191045316356,0.190951207557,0.190857097004,0.190762984696,0.190668870634,0.19057475482,0.190480637254,0.190386517938,0.190292396871,0.190198274056,0.190104149492,0.19001002318,0.189915895122,0.189821765319,0.18972763377,0.189633500478,0.189539365443,0.189445228665,0.189351090146,0.189256949887,0.189162807888,0.18906866415,0.188974518674,0.188880371462,0.188786222513,0.188692071829,0.18859791941,0.188503765258,0.188409609373,0.188315451757,0.188221292409,0.188127131332,0.188032968525,0.18793880399,0.187844637727,0.187750469738,0.187656300023,0.187562128583,0.187467955419,0.187373780531,0.187279603922,0.187185425591,0.18709124554,0.186997063768,0.186902880278,0.18680869507,0.186714508145,0.186620319504,0.186526129147,0.186431937076,0.186337743291,0.186243547794,0.186149350584,0.186055151663,0.185960951033,0.185866748693,0.185772544644,0.185678338888,0.185584131425,0.185489922257,0.185395711383,0.185301498805,0.185207284524,0.185113068541,0.185018850856,0.18492463147,0.184830410385,0.1847361876,0.184641963118,0.184547736939,0.184453509063,0.184359279491,0.184265048226,0.184170815266,0.184076580613,0.183982344269,0.183888106233,0.183793866507,0.183699625092,0.183605381988,0.183511137197,0.183416890719,0.183322642555,0.183228392705,0.183134141172,0.183039887955,0.182945633056,0.182851376475,0.182757118214,0.182662858272,0.182568596652,0.182474333353,0.182380068377,0.182285801725,0.182191533397,0.182097263395,0.182002991719,0.18190871837,0.181814443348,0.181720166656,0.181625888293,0.181531608261,0.18143732656,0.181343043192,0.181248758156,0.181154471455,0.181060183088,0.180965893058,0.180871601363,0.180777308007,0.180683012988,0.180588716309,0.18049441797,0.180400117972,0.180305816315,0.180211513002,0.180117208031,0.180022901406,0.179928593125,0.179834283191,0.179739971603,0.179645658364,0.179551343473,0.179457026932,0.179362708741,0.179268388902,0.179174067415,0.179079744281,0.1789854195,0.178891093075,0.178796765005,0.178702435292,0.178608103936,0.178513770939,0.178419436301,0.178325100022,0.178230762105,0.178136422549,0.178042081356,0.177947738526,0.177853394061,0.177759047961,0.177664700227,0.17757035086,0.177475999861,0.17738164723,0.177287292969,0.177192937079,0.177098579559,0.177004220412,0.176909859638,0.176815497238,0.176721133212,0.176626767562,0.176532400289,0.176438031393,0.176343660875,0.176249288736,0.176154914977,0.176060539599,0.175966162603,0.175871783989,0.175777403759,0.175683021913,0.175588638452,0.175494253377,0.175399866689,0.175305478389,0.175211088478,0.175116696956,0.175022303824,0.174927909083,0.174833512735,0.17473911478,0.174644715218,0.174550314051,0.17445591128,0.174361506905,0.174267100928,0.174172693348,0.174078284168,0.173983873387,0.173889461008,0.17379504703,0.173700631454,0.173606214282,0.173511795514,0.173417375152,0.173322953195,0.173228529645,0.173134104503,0.173039677769,0.172945249445,0.172850819531,0.172756388029,0.172661954938,0.172567520261,0.172473083997,0.172378646148,0.172284206714,0.172189765697,0.172095323097,0.172000878915,0.171906433152,0.171811985809,0.171717536887,0.171623086386,0.171528634308,0.171434180654,0.171339725423,0.171245268618,0.171150810238,0.171056350285,0.17096188876,0.170867425664,0.170772960997,0.17067849476,0.170584026954,0.170489557581,0.17039508664,0.170300614133,0.170206140061,0.170111664424,0.170017187224,0.169922708461,0.169828228136,0.16973374625,0.169639262803,0.169544777798,0.169450291234,0.169355803112,0.169261313434,0.1691668222,0.169072329411,0.168977835068,0.168883339172,0.168788841724,0.168694342724,0.168599842173,0.168505340073,0.168410836423,0.168316331226,0.168221824482,0.168127316191,0.168032806355,0.167938294975,0.167843782051,0.167749267584,0.167654751575,0.167560234025,0.167465714935,0.167371194305,0.167276672137,0.167182148432,0.16708762319,0.166993096412,0.166898568099,0.166804038252,0.166709506872,0.166614973959,0.166520439515,0.16642590354,0.166331366036,0.166236827003,0.166142286441,0.166047744353,0.165953200738,0.165858655598,0.165764108933,0.165669560745,0.165575011034,0.1654804598,0.165385907046,0.165291352772,0.165196796978,0.165102239666,0.165007680836,0.16491312049,0.164818558628,0.16472399525,0.164629430359,0.164534863954,0.164440296037,0.164345726609,0.16425115567,0.164156583221,0.164062009263,0.163967433797,0.163872856825,0.163778278345,0.163683698361,0.163589116871,0.163494533879,0.163399949383,0.163305363385,0.163210775887,0.163116186888,0.16302159639,0.162927004393,0.162832410899,0.162737815908,0.162643219421,0.162548621439,0.162454021963,0.162359420994,0.162264818533,0.16217021458,0.162075609136,0.161981002202,0.16188639378,0.16179178387,0.161697172472,0.161602559588,0.161507945219,0.161413329366,0.161318712028,0.161224093208,0.161129472906,0.161034851122,0.160940227859,0.160845603116,0.160750976895,0.160656349196,0.160561720021,0.160467089369,0.160372457243,0.160277823642,0.160183188569,0.160088552023,0.159993914005,0.159899274517,0.159804633559,0.159709991132,0.159615347237,0.159520701875,0.159426055047,0.159331406753,0.159236756995,0.159142105773,0.159047453088,0.158952798942,0.158858143334,0.158763486266,0.158668827739,0.158574167753,0.15847950631,0.15838484341,0.158290179054,0.158195513243,0.158100845978,0.15800617726,0.15791150709,0.157816835468,0.157722162395,0.157627487873,0.157532811902,0.157438134483,0.157343455616,0.157248775304,0.157154093546,0.157059410343,0.156964725697,0.156870039608,0.156775352077,0.156680663105,0.156585972693,0.156491280842,0.156396587552,0.156301892824,0.15620719666,0.15611249906,0.156017800025,0.155923099556,0.155828397654,0.15573369432,0.155638989554,0.155544283357,0.155449575731,0.155354866676,0.155260156193,0.155165444282,0.155070730946,0.154976016184,0.154881299997,0.154786582387,0.154691863355,0.1545971429,0.154502421024,0.154407697728,0.154312973013,0.154218246879,0.154123519328,0.154028790361,0.153934059977,0.153839328178,0.153744594966,0.15364986034,0.153555124302,0.153460386852,0.153365647992,0.153270907723,0.153176166044,0.153081422957,0.152986678464,0.152891932564,0.152797185258,0.152702436549,0.152607686435,0.152512934919,0.152418182001,0.152323427682,0.152228671963,0.152133914845,0.152039156328,0.151944396414,0.151849635103,0.151754872397,0.151660108295,0.151565342799,0.151470575911,0.15137580763,0.151281037957,0.151186266894,0.151091494442,0.1509967206,0.150901945371,0.150807168755,0.150712390752,0.150617611364,0.150522830592,0.150428048436,0.150333264897,0.150238479977,0.150143693675,0.150048905994,0.149954116933,0.149859326494,0.149764534677,0.149669741484,0.149574946915,0.149480150972,0.149385353654,0.149290554963,0.1491957549,0.149100953465,0.14900615066,0.148911346486,0.148816540942,0.148721734031,0.148626925753,0.148532116108,0.148437305099,0.148342492725,0.148247678987,0.148152863887,0.148058047424,0.147963229601,0.147868410418,0.147773589876,0.147678767976,0.147583944718,0.147489120103,0.147394294133,0.147299466808,0.147204638129,0.147109808097,0.147014976713,0.146920143977,0.146825309891,0.146730474455,0.146635637671,0.146540799539,0.14644596006,0.146351119234,0.146256277064,0.146161433549,0.146066588691,0.14597174249,0.145876894947,0.145782046064,0.14568719584,0.145592344277,0.145497491376,0.145402637138,0.145307781563,0.145212924653,0.145118066408,0.145023206829,0.144928345916,0.144833483672,0.144738620097,0.144643755191,0.144548888955,0.144454021391,0.144359152499,0.14426428228,0.144169410735,0.144074537865,0.143979663671,0.143884788153,0.143789911312,0.14369503315,0.143600153667,0.143505272865,0.143410390743,0.143315507303,0.143220622545,0.143125736471,0.143030849082,0.142935960378,0.14284107036,0.142746179029,0.142651286386,0.142556392431,0.142461497167,0.142366600593,0.14227170271,0.142176803519,0.142081903022,0.141987001219,0.14189209811,0.141797193698,0.141702287982,0.141607380963,0.141512472643,0.141417563022,0.141322652102,0.141227739882,0.141132826364,0.141037911549,0.140942995437,0.14084807803,0.140753159328,0.140658239333,0.140563318044,0.140468395464,0.140373471592,0.140278546431,0.140183619979,0.14008869224,0.139993763212,0.139898832898,0.139803901298,0.139708968412,0.139614034243,0.13951909879,0.139424162055,0.139329224038,0.139234284741,0.139139344164,0.139044402308,0.138949459173,0.138854514762,0.138759569074,0.138664622111,0.138569673873,0.138474724362,0.138379773578,0.138284821522,0.138189868194,0.138094913597,0.13799995773,0.137905000595,0.137810042192,0.137715082522,0.137620121586,0.137525159386,0.137430195921,0.137335231194,0.137240265204,0.137145297952,0.13705032944,0.136955359668,0.136860388637,0.136765416348,0.136670442802,0.136575468,0.136480491942,0.13638551463,0.136290536064,0.136195556246,0.136100575176,0.136005592854,0.135910609283,0.135815624462,0.135720638393,0.135625651076,0.135530662513,0.135435672704,0.13534068165,0.135245689352,0.135150695811,0.135055701028,0.134960705003,0.134865707738,0.134770709233,0.134675709489,0.134580708507,0.134485706288,0.134390702834,0.134295698143,0.134200692219,0.134105685061,0.13401067667,0.133915667047,0.133820656194,0.13372564411,0.133630630797,0.133535616256,0.133440600488,0.133345583493,0.133250565272,0.133155545827,0.133060525157,0.132965503265,0.13287048015,0.132775455814,0.132680430257,0.132585403481,0.132490375487,0.132395346274,0.132300315844,0.132205284199,0.132110251338,0.132015217263,0.131920181974,0.131825145473,0.13173010776,0.131635068837,0.131540028703,0.13144498736,0.131349944809,0.131254901051,0.131159856086,0.131064809916,0.130969762541,0.130874713962,0.13077966418,0.130684613196,0.13058956101,0.130494507625,0.13039945304,0.130304397256,0.130209340275,0.130114282096,0.130019222722,0.129924162153,0.129829100389,0.129734037432,0.129638973283,0.129543907942,0.12944884141,0.129353773688,0.129258704778,0.129163634679,0.129068563393,0.128973490921,0.128878417263,0.12878334242,0.128688266394,0.128593189185,0.128498110794,0.128403031222,0.128307950469,0.128212868537,0.128117785427,0.128022701139,0.127927615674,0.127832529033,0.127737441218,0.127642352228,0.127547262065,0.127452170729,0.127357078222,0.127261984545,0.127166889697,0.127071793681,0.126976696497,0.126881598145,0.126786498628,0.126691397945,0.126596296097,0.126501193086,0.126406088912,0.126310983576,0.126215877079,0.126120769422,0.126025660606,0.125930550631,0.125835439498,0.12574032721,0.125645213765,0.125550099165,0.125454983412,0.125359866505,0.125264748446,0.125169629235,0.125074508874,0.124979387363,0.124884264704,0.124789140897,0.124694015942,0.124598889842,0.124503762596,0.124408634205,0.124313504672,0.124218373995,0.124123242177,0.124028109218,0.123932975119,0.12383783988,0.123742703503,0.123647565989,0.123552427339,0.123457287552,0.123362146631,0.123267004576,0.123171861388,0.123076717068,0.122981571617,0.122886425035,0.122791277323,0.122696128483,0.122600978515,0.12250582742,0.122410675199,0.122315521853,0.122220367383,0.122125211789,0.122030055073,0.121934897235,0.121839738276,0.121744578197,0.121649416999,0.121554254683,0.12145909125,0.1213639267,0.121268761035,0.121173594255,0.121078426361,0.120983257354,0.120888087236,0.120792916006,0.120697743666,0.120602570216,0.120507395658,0.120412219992,0.120317043219,0.120221865341,0.120126686357,0.120031506269,0.119936325078,0.119841142785,0.119745959389,0.119650774894,0.119555589298,0.119460402604,0.119365214811,0.119270025921,0.119174835935,0.119079644854,0.118984452678,0.118889259408,0.118794065045,0.118698869591,0.118603673045,0.11850847541,0.118413276685,0.118318076871,0.11822287597,0.118127673983,0.118032470909,0.117937266751,0.117842061508,0.117746855183,0.117651647775,0.117556439285,0.117461229715,0.117366019066,0.117270807338,0.117175594531,0.117080380648,0.116985165688,0.116889949653,0.116794732544,0.116699514361,0.116604295106,0.116509074778,0.11641385338,0.116318630912,0.116223407374,0.116128182769,0.116032957095,0.115937730356,0.11584250255,0.11574727368,0.115652043746,0.115556812749,0.115461580689,0.115366347569,0.115271113388,0.115175878147,0.115080641848,0.114985404491,0.114890166077,0.114794926607,0.114699686081,0.114604444502,0.114509201869,0.114413958183,0.114318713446,0.114223467658,0.11412822082,0.114032972933,0.113937723998,0.113842474016,0.113747222987,0.113651970913,0.113556717794,0.113461463631,0.113366208425,0.113270952178,0.113175694889,0.113080436559,0.112985177191,0.112889916784,0.112794655339,0.112699392857,0.11260412934,0.112508864787,0.112413599201,0.112318332581,0.112223064928,0.112127796244,0.11203252653,0.111937255786,0.111841984012,0.111746711211,0.111651437383,0.111556162528,0.111460886648,0.111365609743,0.111270331815,0.111175052864,0.111079772891,0.110984491897,0.110889209883,0.11079392685,0.110698642798,0.110603357729,0.110508071643,0.110412784541,0.110317496424,0.110222207294,0.11012691715,0.110031625994,0.109936333827,0.109841040649,0.109745746461,0.109650451265,0.109555155061,0.10945985785,0.109364559632,0.10926926041,0.109173960183,0.109078658952,0.108983356719,0.108888053485,0.108792749249,0.108697444013,0.108602137778,0.108506830545,0.108411522315,0.108316213088,0.108220902865,0.108125591648,0.108030279437,0.107934966233,0.107839652036,0.107744336849,0.107649020671,0.107553703504,0.107458385348,0.107363066204,0.107267746073,0.107172424957,0.107077102855,0.106981779769,0.1068864557,0.106791130648,0.106695804615,0.106600477601,0.106505149607,0.106409820634,0.106314490683,0.106219159755,0.106123827851,0.106028494971,0.105933161116,0.105837826288,0.105742490487,0.105647153713,0.105551815969,0.105456477255,0.105361137571,0.105265796919,0.105170455299,0.105075112713,0.10497976916,0.104884424643,0.104789079162,0.104693732717,0.10459838531,0.104503036942,0.104407687613,0.104312337325,0.104216986077,0.104121633872,0.10402628071,0.103930926591,0.103835571517,0.103740215489,0.103644858507,0.103549500573,0.103454141686,0.103358781849,0.103263421062,0.103168059325,0.10307269664,0.102977333008,0.102881968429,0.102786602905,0.102691236436,0.102595869022,0.102500500666,0.102405131368,0.102309761128,0.102214389948,0.102119017829,0.10202364477,0.101928270774,0.101832895841,0.101737519973,0.101642143168,0.10154676543,0.101451386758,0.101356007154,0.101260626618,0.101165245151,0.101069862755,0.100974479429,0.100879095176,0.100783709995,0.100688323887,0.100592936854,0.100497548897,0.100402160016,0.100306770211,0.100211379485,0.100115987838,0.100020595271,0.0999252017837,0.0998298073783,0.0997344120553,0.0996390158156,0.0995436186601,0.0994482205895,0.0993528216049,0.099257421707,0.0991620208967,0.099066619175,0.0989712165427,0.0988758130007,0.0987804085498,0.098685003191,0.098589596925,0.0984941897529,0.0983987816754,0.0983033726934,0.0982079628079,0.0981125520196,0.0980171403296,0.0979217277385,0.0978263142474,0.0977308998571,0.0976354845685,0.0975400683825,0.0974446512998,0.0973492333215,0.0972538144484,0.0971583946813,0.0970629740212,0.0969675524688,0.0968721300252,0.0967767066912,0.0966812824676,0.0965858573553,0.0964904313553,0.0963950044683,0.0962995766952,0.096204148037,0.0961087184946,0.0960132880687,0.0959178567602,0.0958224245702,0.0957269914993,0.0956315575485,0.0955361227188,0.0954406870108,0.0953452504256,0.095249812964,0.0951543746269,0.0950589354152,0.0949634953296,0.0948680543712,0.0947726125408,0.0946771698393,0.0945817262675,0.0944862818264,0.0943908365167,0.0942953903394,0.0941999432954,0.0941044953855,0.0940090466106,0.0939135969716,0.0938181464694,0.0937226951048,0.0936272428788,0.0935317897921,0.0934363358457,0.0933408810405,0.0932454253773,0.093149968857,0.0930545114805,0.0929590532487,0.0928635941624,0.0927681342225,0.0926726734299,0.0925772117855,0.0924817492901,0.0923862859447,0.0922908217501,0.0921953567071,0.0920998908167,0.0920044240798,0.0919089564971,0.0918134880697,0.0917180187983,0.0916225486839,0.0915270777273,0.0914316059294,0.0913361332911,0.0912406598132,0.0911451854967,0.0910497103424,0.0909542343511,0.0908587575239,0.0907632798615,0.0906678013648,0.0905723220347,0.0904768418721,0.0903813608779,0.0902858790529,0.0901903963979,0.090094912914,0.089999428602,0.0899039434627,0.089808457497,0.0897129707058,0.08961748309,0.0895219946505,0.0894265053881,0.0893310153037,0.0892355243981,0.0891400326724,0.0890445401273,0.0889490467637,0.0888535525825,0.0887580575846,0.0886625617709,0.0885670651421,0.0884715676993,0.0883760694433,0.088280570375,0.0881850704952,0.0880895698048,0.0879940683047,0.0878985659958,0.0878030628789,0.087707558955,0.0876120542249,0.0875165486895,0.0874210423496,0.0873255352062,0.0872300272601,0.0871345185122,0.0870390089634,0.0869434986145,0.0868479874665,0.0867524755202,0.0866569627765,0.0865614492363,0.0864659349003,0.0863704197697,0.0862749038451,0.0861793871275,0.0860838696177,0.0859883513167,0.0858928322253,0.0857973123444,0.0857017916749,0.0856062702176,0.0855107479735,0.0854152249433,0.085319701128,0.0852241765285,0.0851286511456,0.0850331249803,0.0849375980333,0.0848420703056,0.0847465417981,0.0846510125116,0.0845554824469,0.0844599516051,0.0843644199869,0.0842688875933,0.0841733544251,0.0840778204832,0.0839822857685,0.0838867502818,0.083791214024,0.0836956769961,0.0836001391988,0.0835046006332,0.0834090612999,0.0833135212,0.0832179803343,0.0831224387036,0.0830268963089,0.0829313531511,0.0828358092309,0.0827402645494,0.0826447191073,0.0825491729056,0.0824536259451,0.0823580782266,0.0822625297512,0.0821669805197,0.0820714305328,0.0819758797916,0.0818803282969,0.0817847760496,0.0816892230505,0.0815936693005,0.0814981148006,0.0814025595515,0.0813070035542,0.0812114468096,0.0811158893185,0.0810203310817,0.0809247721003,0.080829212375,0.0807336519067,0.0806380906964,0.0805425287448,0.080446966053,0.0803514026216,0.0802558384517,0.0801602735441,0.0800647078997,0.0799691415193,0.0798735744039,0.0797780065543,0.0796824379714,0.0795868686561,0.0794912986092,0.0793957278317,0.0793001563244,0.0792045840882,0.0791090111239,0.0790134374325,0.0789178630148,0.0788222878717,0.0787267120041,0.0786311354128,0.0785355580988,0.078439980063,0.0783444013061,0.0782488218291,0.0781532416328,0.0780576607182,0.077962079086,0.0778664967373,0.0777709136729,0.0776753298935,0.0775797454003,0.0774841601939,0.0773885742753,0.0772929876453,0.0771974003049,0.0771018122549,0.0770062234962,0.0769106340297,0.0768150438563,0.0767194529767,0.076623861392,0.076528269103,0.0764326761105,0.0763370824155,0.0762414880189,0.0761458929214,0.076050297124,0.0759547006275,0.075859103433,0.0757635055411,0.0756679069528,0.075572307669,0.0754767076906,0.0753811070184,0.0752855056533,0.0751899035962,0.0750943008479,0.0749986974094,0.0749030932816,0.0748074884652,0.0747118829613,0.0746162767706,0.074520669894,0.0744250623325,0.0743294540868,0.074233845158,0.0741382355468,0.0740426252541,0.0739470142809,0.073851402628,0.0737557902962,0.0736601772865,0.0735645635997,0.0734689492367,0.0733733341984,0.0732777184857,0.0731821020994,0.0730864850405,0.0729908673097,0.072895248908,0.0727996298364,0.0727040100955,0.0726083896864,0.0725127686098,0.0724171468668,0.0723215244581,0.0722259013846,0.0721302776472,0.0720346532469,0.0719390281844,0.0718434024607,0.0717477760766,0.071652149033,0.0715565213308,0.0714608929708,0.0713652639541,0.0712696342813,0.0711740039534,0.0710783729714,0.070982741336,0.0708871090481,0.0707914761086,0.0706958425185,0.0706002082785,0.0705045733896,0.0704089378526,0.0703133016685,0.070217664838,0.0701220273621,0.0700263892417,0.0699307504776,0.0698351110707,0.0697394710219,0.0696438303321,0.0695481890021,0.0694525470328,0.0693569044252,0.06926126118,0.0691656172982,0.0690699727807,0.0689743276283,0.0688786818418,0.0687830354223,0.0686873883705,0.0685917406874,0.0684960923738,0.0684004434305,0.0683047938586,0.0682091436588,0.0681134928321,0.0680178413792,0.0679221893012,0.0678265365988,0.067730883273,0.0676352293246,0.0675395747545,0.0674439195637,0.0673482637529,0.067252607323,0.067156950275,0.0670612926096,0.0669656343279,0.0668699754306,0.0667743159187,0.066678655793,0.0665829950544,0.0664873337038,0.066391671742,0.06629600917,0.0662003459886,0.0661046821988,0.0660090178013,0.065913352797,0.0658176871869,0.0657220209718,0.0656263541526,0.0655306867302,0.0654350187054,0.0653393500792,0.0652436808524,0.0651480110259,0.0650523406005,0.0649566695772,0.0648609979569,0.0647653257403,0.0646696529285,0.0645739795222,0.0644783055224,0.0643826309299,0.0642869557456,0.0641912799704,0.0640956036051,0.0639999266507,0.063904249108,0.063808570978,0.0637128922614,0.0636172129592,0.0635215330722,0.0634258526014,0.0633301715475,0.0632344899116,0.0631388076944,0.0630431248968,0.0629474415198,0.0628517575642,0.0627560730308,0.0626603879206,0.0625647022345,0.0624690159732,0.0623733291378,0.062277641729,0.0621819537478,0.0620862651951,0.0619905760716,0.0618948863784,0.0617991961162,0.061703505286,0.0616078138886,0.0615121219249,0.0614164293958,0.0613207363022,0.061225042645,0.0611293484249,0.061033653643,0.0609379583001,0.0608422623971,0.0607465659348,0.0606508689141,0.0605551713359,0.0604594732012,0.0603637745107,0.0602680752653,0.060172375466,0.0600766751136,0.059980974209,0.059885272753,0.0597895707466,0.0596938681907,0.059598165086,0.0595024614335,0.0594067572341,0.0593110524886,0.059215347198,0.059119641363,0.0590239349847,0.0589282280638,0.0588325206012,0.0587368125979,0.0586411040547,0.0585453949724,0.0584496853521,0.0583539751944,0.0582582645004,0.0581625532709,0.0580668415068,0.0579711292089,0.0578754163782,0.0577797030155,0.0576839891217,0.0575882746977,0.0574925597444,0.0573968442626,0.0573011282532,0.0572054117171,0.0571096946552,0.0570139770683,0.0569182589574,0.0568225403233,0.0567268211669,0.0566311014891,0.0565353812907,0.0564396605727,0.0563439393359,0.0562482175812,0.0561524953095,0.0560567725216,0.0559610492185,0.055865325401,0.05576960107,0.0556738762264,0.055578150871,0.0554824250048,0.0553866986286,0.0552909717432,0.0551952443497,0.0550995164488,0.0550037880415,0.0549080591285,0.0548123297109,0.0547165997894,0.054620869365,0.0545251384386,0.0544294070109,0.054333675083,0.0542379426556,0.0541422097297,0.0540464763061,0.0539507423857,0.0538550079695,0.0537592730582,0.0536635376527,0.053567801754,0.0534720653629,0.0533763284804,0.0532805911071,0.0531848532442,0.0530891148924,0.0529933760526,0.0528976367257,0.0528018969125,0.0527061566141,0.0526104158311,0.0525146745646,0.0524189328154,0.0523231905843,0.0522274478723,0.0521317046803,0.052035961009,0.0519402168595,0.0518444722325,0.051748727129,0.0516529815499,0.0515572354959,0.051461488968,0.0513657419672,0.0512699944941,0.0511742465499,0.0510784981352,0.050982749251,0.0508869998982,0.0507912500777,0.0506954997903,0.0505997490369,0.0505039978184,0.0504082461357,0.0503124939897,0.0502167413812,0.0501209883111,0.0500252347803,0.0499294807897,0.0498337263401,0.0497379714325,0.0496422160677,0.0495464602466,0.0494507039701,0.049354947239,0.0492591900543,0.0491634324168,0.0490676743274,0.048971915787,0.0488761567964,0.0487803973566,0.0486846374684,0.0485888771327,0.0484931163504,0.0483973551224,0.0483015934495,0.0482058313326,0.0481100687726,0.0480143057704,0.0479185423269,0.0478227784429,0.0477270141193,0.047631249357,0.047535484157,0.0474397185199,0.0473439524469,0.0472481859386,0.0471524189961,0.0470566516201,0.0469608838116,0.0468651155715,0.0467693469005,0.0466735777997,0.0465778082699,0.0464820383119,0.0463862679267,0.0462904971151,0.046194725878,0.0460989542163,0.0460031821309,0.0459074096226,0.0458116366924,0.045715863341,0.0456200895695,0.0455243153786,0.0454285407693,0.0453327657424,0.0452369902988,0.0451412144394,0.0450454381651,0.0449496614767,0.0448538843752,0.0447581068613,0.0446623289361,0.0445665506003,0.0444707718549,0.0443749927008,0.0442792131387,0.0441834331696,0.0440876527945,0.043991872014,0.0438960908292,0.0438003092409,0.0437045272501,0.0436087448575,0.043512962064,0.0434171788706,0.0433213952781,0.0432256112874,0.0431298268994,0.043034042115,0.0429382569349,0.0428424713602,0.0427466853918,0.0426508990304,0.0425551122769,0.0424593251323,0.0423635375974,0.0422677496731,0.0421719613603,0.0420761726599,0.0419803835727,0.0418845940997,0.0417888042416,0.0416930139995,0.0415972233741,0.0415014323663,0.0414056409771,0.0413098492073,0.0412140570577,0.0411182645294,0.0410224716231,0.0409266783397,0.0408308846801,0.0407350906452,0.0406392962359,0.0405435014531,0.0404477062976,0.0403519107703,0.040256114872,0.0401603186038,0.0400645219664,0.0399687249608,0.0398729275877,0.0397771298482,0.039681331743,0.0395855332731,0.0394897344394,0.0393939352426,0.0392981356838,0.0392023357637,0.0391065354833,0.0390107348435,0.038914933845,0.0388191324889,0.0387233307759,0.038627528707,0.0385317262831,0.038435923505,0.0383401203736,0.0382443168897,0.0381485130544,0.0380527088683,0.0379569043325,0.0378610994479,0.0377652942152,0.0376694886353,0.0375736827093,0.0374778764378,0.0373820698219,0.0372862628624,0.0371904555601,0.037094647916,0.0369988399309,0.0369030316057,0.0368072229414,0.0367114139387,0.0366156045985,0.0365197949218,0.0364239849094,0.0363281745623,0.0362323638812,0.036136552867,0.0360407415207,0.0359449298431,0.0358491178351,0.0357533054976,0.0356574928315,0.0355616798376,0.0354658665169,0.0353700528701,0.0352742388982,0.0351784246021,0.0350826099826,0.0349867950407,0.0348909797772,0.034795164193,0.0346993482889,0.0346035320659,0.0345077155248,0.0344118986665,0.034316081492,0.034220264002,0.0341244461974,0.0340286280792,0.0339328096482,0.0338369909053,0.0337411718514,0.0336453524873,0.033549532814,0.0334537128323,0.0333578925431,0.0332620719473,0.0331662510457,0.0330704298393,0.0329746083289,0.0328787865154,0.0327829643997,0.0326871419827,0.0325913192652,0.0324954962481,0.0323996729324,0.0323038493188,0.0322080254083,0.0321122012018,0.0320163767,0.031920551904,0.0318247268146,0.0317289014327,0.0316330757591,0.0315372497948,0.0314414235406,0.0313455969973,0.031249770166,0.0311539430474,0.0310581156424,0.030962287952,0.030866459977,0.0307706317182,0.0306748031766,0.0305789743531,0.0304831452485,0.0303873158637,0.0302914861995,0.030195656257,0.0300998260369,0.0300039955401,0.0299081647675,0.02981233372,0.0297165023985,0.0296206708039,0.0295248389369,0.0294290067986,0.0293331743898,0.0292373417114,0.0291415087642,0.0290456755491,0.0289498420671,0.028854008319,0.0287581743056,0.028662340028,0.0285665054868,0.0284706706831,0.0283748356177,0.0282790002914,0.0281831647053,0.02808732886,0.0279914927567,0.027895656396,0.0277998197789,0.0277039829062,0.027608145779,0.0275123083979,0.027416470764,0.0273206328781,0.027224794741,0.0271289563537,0.027033117717,0.0269372788319,0.0268414396991,0.0267456003196,0.0266497606943,0.026553920824,0.0264580807097,0.0263622403521,0.0262663997523,0.026170558911,0.0260747178291,0.0259788765076,0.0258830349473,0.025787193149,0.0256913511138,0.0255955088423,0.0254996663357,0.0254038235946,0.02530798062,0.0252121374128,0.0251162939739,0.0250204503041,0.0249246064043,0.0248287622754,0.0247329179183,0.0246370733338,0.0245412285229,0.0244453834864,0.0243495382252,0.0242536927402,0.0241578470323,0.0240620011023,0.0239661549511,0.0238703085797,0.0237744619888,0.0236786151794,0.0235827681524,0.0234869209086,0.0233910734489,0.0232952257742,0.0231993778853,0.0231035297833,0.0230076814688,0.0229118329429,0.0228159842064,0.0227201352602,0.0226242861051,0.0225284367421,0.0224325871719,0.0223367373956,0.022240887414,0.022145037228,0.0220491868384,0.0219533362461,0.021857485452,0.021761634457,0.021665783262,0.0215699318679,0.0214740802755,0.0213782284857,0.0212823764994,0.0211865243174,0.0210906719408,0.0209948193702,0.0208989666067,0.0208031136511,0.0207072605043,0.0206114071671,0.0205155536405,0.0204196999253,0.0203238460224,0.0202279919327,0.0201321376571,0.0200362831964,0.0199404285515,0.0198445737234,0.0197487187128,0.0196528635207,0.019557008148,0.0194611525955,0.0193652968642,0.0192694409548,0.0191735848683,0.0190777286056,0.0189818721675,0.0188860155549,0.0187901587688,0.0186943018099,0.0185984446792,0.0185025873775,0.0184067299058,0.0183108722649,0.0182150144556,0.018119156479,0.0180232983358,0.0179274400269,0.0178315815532,0.0177357229157,0.0176398641151,0.0175440051524,0.0174481460284,0.017352286744,0.0172564273001,0.0171605676976,0.0170647079374,0.0169688480203,0.0168729879473,0.0167771277191,0.0166812673368,0.0165854068011,0.016489546113,0.0163936852733,0.0162978242829,0.0162019631427,0.0161061018535,0.0160102404164,0.015914378832,0.0158185171014,0.0157226552254,0.0156267932049,0.0155309310407,0.0154350687338,0.015339206285,0.0152433436952,0.0151474809653,0.0150516180961,0.0149557550886,0.0148598919437,0.0147640286621,0.0146681652449,0.0145723016928,0.0144764380067,0.0143805741876,0.0142847102364,0.0141888461538,0.0140929819408,0.0139971175982,0.013901253127,0.0138053885281,0.0137095238022,0.0136136589503,0.0135177939733,0.013421928872,0.0133260636473,0.0132301983002,0.0131343328315,0.013038467242,0.0129426015327,0.0128467357044,0.012750869758,0.0126550036944,0.0125591375145,0.0124632712192,0.0123674048093,0.0122715382857,0.0121756716493,0.0120798049011,0.0119839380417,0.0118880710723,0.0117922039935,0.0116963368064,0.0116004695117,0.0115046021104,0.0114087346034,0.0113128669915,0.0112169992756,0.0111211314566,0.0110252635354,0.0109293955129,0.0108335273899,0.0107376591673,0.010641790846,0.0105459224269,0.0104500539108,0.0103541852987,0.0102583165915,0.0101624477899,0.0100665788949,0.00997070990742,0.00987484082827,0.00977897165835,0.00968310239854,0.00958723304973,0.00949136361279,0.00939549408862,0.00929962447808,0.00920375478206,0.00910788500144,0.00901201513711,0.00891614518993,0.00882027516081,0.00872440505061,0.00862853486021,0.00853266459051,0.00843679424237,0.00834092381668,0.00824505331433,0.00814918273619,0.00805331208315,0.00795744135607,0.00786157055586,0.00776569968339,0.00766982873953,0.00757395772518,0.0074780866412,0.00738221548849,0.00728634426793,0.00719047298039,0.00709460162675,0.00699873020791,0.00690285872473,0.0068069871781,0.00671111556891,0.00661524389803,0.00651937216634,0.00642350037473,0.00632762852407,0.00623175661525,0.00613588464915,0.00604001262666,0.00594414054864,0.00584826841598,0.00575239622957,0.00565652399029,0.00556065169901,0.00546477935662,0.005368906964,0.00527303452202,0.00517716203158,0.00508128949356,0.00498541690882,0.00488954427826,0.00479367160276,0.00469779888319,0.00460192612045,0.0045060533154,0.00441018046894,0.00431430758194,0.00421843465528,0.00412256168984,0.00402668868652,0.00393081564618,0.00383494256971,0.00373906945799,0.0036431963119,0.00354732313232,0.00345144992014,0.00335557667623,0.00325970340148,0.00316383009676,0.00306795676297,0.00297208340097,0.00287621001166,0.0027803365959,0.0026844631546,0.00258858968861,0.00249271619884,0.00239684268615,0.00230096915143,0.00220509559556,0.00210922201942,0.00201334842389,0.00191747480986,0.0018216011782,0.0017257275298,0.00162985386553,0.00153398018629,0.00143810649294,0.00134223278637,0.00124635906747,0.00115048533711,0.00105461159618,0.000958737845554,0.000862864086114,0.000766990318743,0.000671116544322,0.000575242763732,0.000479368977855,0.000383495187571,0.000287621393763,0.000191747597311,9.58737990959e-05,1.22464679915e-16,-9.58737990957e-05,-0.000191747597311,-0.000287621393763,-0.000383495187571,-0.000479368977855,-0.000575242763732,-0.000671116544321,-0.000766990318743,-0.000862864086113,-0.000958737845553,-0.00105461159618,-0.00115048533711,-0.00124635906747,-0.00134223278637,-0.00143810649294,-0.00153398018628,-0.00162985386553,-0.00172572752979,-0.0018216011782,-0.00191747480986,-0.00201334842389,-0.00210922201942,-0.00220509559555,-0.00230096915143,-0.00239684268615,-0.00249271619884,-0.00258858968861,-0.0026844631546,-0.0027803365959,-0.00287621001166,-0.00297208340097,-0.00306795676297,-0.00316383009676,-0.00325970340148,-0.00335557667623,-0.00345144992014,-0.00354732313232,-0.0036431963119,-0.00373906945799,-0.00383494256971,-0.00393081564618,-0.00402668868652,-0.00412256168984,-0.00421843465528,-0.00431430758194,-0.00441018046894,-0.0045060533154,-0.00460192612045,-0.00469779888319,-0.00479367160276,-0.00488954427826,-0.00498541690882,-0.00508128949356,-0.00517716203158,-0.00527303452202,-0.005368906964,-0.00546477935662,-0.00556065169901,-0.00565652399029,-0.00575239622957,-0.00584826841598,-0.00594414054864,-0.00604001262666,-0.00613588464915,-0.00623175661525,-0.00632762852407,-0.00642350037473,-0.00651937216634,-0.00661524389803,-0.00671111556891,-0.0068069871781,-0.00690285872473,-0.00699873020791,-0.00709460162675,-0.00719047298039,-0.00728634426793,-0.00738221548849,-0.0074780866412,-0.00757395772518,-0.00766982873953,-0.00776569968339,-0.00786157055586,-0.00795744135607,-0.00805331208315,-0.00814918273619,-0.00824505331433,-0.00834092381668,-0.00843679424237,-0.00853266459051,-0.00862853486021,-0.00872440505061,-0.00882027516081,-0.00891614518993,-0.00901201513711,-0.00910788500144,-0.00920375478206,-0.00929962447808,-0.00939549408862,-0.00949136361279,-0.00958723304973,-0.00968310239854,-0.00977897165835,-0.00987484082827,-0.00997070990742,-0.0100665788949,-0.0101624477899,-0.0102583165915,-0.0103541852987,-0.0104500539108,-0.0105459224269,-0.010641790846,-0.0107376591673,-0.0108335273899,-0.0109293955129,-0.0110252635354,-0.0111211314566,-0.0112169992756,-0.0113128669915,-0.0114087346034,-0.0115046021104,-0.0116004695117,-0.0116963368064,-0.0117922039935,-0.0118880710723,-0.0119839380417,-0.0120798049011,-0.0121756716493,-0.0122715382857,-0.0123674048093,-0.0124632712192,-0.0125591375145,-0.0126550036944,-0.012750869758,-0.0128467357044,-0.0129426015327,-0.013038467242,-0.0131343328315,-0.0132301983002,-0.0133260636473,-0.013421928872,-0.0135177939733,-0.0136136589503,-0.0137095238022,-0.0138053885281,-0.013901253127,-0.0139971175982,-0.0140929819408,-0.0141888461538,-0.0142847102364,-0.0143805741876,-0.0144764380067,-0.0145723016928,-0.0146681652449,-0.0147640286621,-0.0148598919437,-0.0149557550886,-0.0150516180961,-0.0151474809653,-0.0152433436952,-0.015339206285,-0.0154350687338,-0.0155309310407,-0.0156267932049,-0.0157226552254,-0.0158185171014,-0.015914378832,-0.0160102404164,-0.0161061018535,-0.0162019631427,-0.0162978242829,-0.0163936852733,-0.016489546113,-0.0165854068011,-0.0166812673368,-0.0167771277191,-0.0168729879473,-0.0169688480203,-0.0170647079374,-0.0171605676976,-0.0172564273001,-0.017352286744,-0.0174481460284,-0.0175440051524,-0.0176398641151,-0.0177357229157,-0.0178315815532,-0.0179274400269,-0.0180232983358,-0.018119156479,-0.0182150144556,-0.0183108722649,-0.0184067299058,-0.0185025873775,-0.0185984446792,-0.0186943018099,-0.0187901587688,-0.0188860155549,-0.0189818721675,-0.0190777286056,-0.0191735848683,-0.0192694409548,-0.0193652968642,-0.0194611525955,-0.019557008148,-0.0196528635207,-0.0197487187128,-0.0198445737234,-0.0199404285515,-0.0200362831964,-0.0201321376571,-0.0202279919327,-0.0203238460224,-0.0204196999253,-0.0205155536405,-0.0206114071671,-0.0207072605043,-0.0208031136511,-0.0208989666067,-0.0209948193702,-0.0210906719408,-0.0211865243174,-0.0212823764994,-0.0213782284857,-0.0214740802755,-0.0215699318679,-0.021665783262,-0.021761634457,-0.021857485452,-0.0219533362461,-0.0220491868384,-0.022145037228,-0.022240887414,-0.0223367373956,-0.0224325871719,-0.0225284367421,-0.0226242861051,-0.0227201352602,-0.0228159842064,-0.0229118329429,-0.0230076814688,-0.0231035297833,-0.0231993778853,-0.0232952257742,-0.0233910734489,-0.0234869209086,-0.0235827681524,-0.0236786151794,-0.0237744619888,-0.0238703085797,-0.0239661549511,-0.0240620011023,-0.0241578470323,-0.0242536927402,-0.0243495382252,-0.0244453834864,-0.0245412285229,-0.0246370733338,-0.0247329179183,-0.0248287622754,-0.0249246064043,-0.0250204503041,-0.0251162939739,-0.0252121374128,-0.02530798062,-0.0254038235946,-0.0254996663357,-0.0255955088423,-0.0256913511138,-0.025787193149,-0.0258830349473,-0.0259788765076,-0.0260747178291,-0.026170558911,-0.0262663997523,-0.0263622403521,-0.0264580807097,-0.026553920824,-0.0266497606943,-0.0267456003196,-0.0268414396991,-0.0269372788319,-0.027033117717,-0.0271289563537,-0.027224794741,-0.0273206328781,-0.027416470764,-0.0275123083979,-0.027608145779,-0.0277039829062,-0.0277998197789,-0.027895656396,-0.0279914927567,-0.02808732886,-0.0281831647053,-0.0282790002914,-0.0283748356177,-0.0284706706831,-0.0285665054868,-0.028662340028,-0.0287581743056,-0.028854008319,-0.0289498420671,-0.0290456755491,-0.0291415087642,-0.0292373417114,-0.0293331743898,-0.0294290067986,-0.0295248389369,-0.0296206708039,-0.0297165023985,-0.02981233372,-0.0299081647675,-0.0300039955401,-0.0300998260369,-0.030195656257,-0.0302914861995,-0.0303873158637,-0.0304831452485,-0.0305789743531,-0.0306748031766,-0.0307706317182,-0.030866459977,-0.030962287952,-0.0310581156424,-0.0311539430474,-0.031249770166,-0.0313455969973,-0.0314414235406,-0.0315372497948,-0.0316330757591,-0.0317289014327,-0.0318247268146,-0.031920551904,-0.0320163767,-0.0321122012018,-0.0322080254083,-0.0323038493188,-0.0323996729324,-0.0324954962481,-0.0325913192652,-0.0326871419827,-0.0327829643997,-0.0328787865154,-0.0329746083289,-0.0330704298393,-0.0331662510457,-0.0332620719473,-0.0333578925431,-0.0334537128323,-0.033549532814,-0.0336453524873,-0.0337411718514,-0.0338369909053,-0.0339328096482,-0.0340286280792,-0.0341244461974,-0.034220264002,-0.034316081492,-0.0344118986665,-0.0345077155248,-0.0346035320659,-0.0346993482889,-0.034795164193,-0.0348909797772,-0.0349867950407,-0.0350826099826,-0.0351784246021,-0.0352742388982,-0.0353700528701,-0.0354658665169,-0.0355616798376,-0.0356574928315,-0.0357533054976,-0.0358491178351,-0.0359449298431,-0.0360407415207,-0.036136552867,-0.0362323638812,-0.0363281745623,-0.0364239849094,-0.0365197949218,-0.0366156045985,-0.0367114139387,-0.0368072229414,-0.0369030316057,-0.0369988399309,-0.037094647916,-0.0371904555601,-0.0372862628624,-0.0373820698219,-0.0374778764378,-0.0375736827093,-0.0376694886353,-0.0377652942152,-0.0378610994479,-0.0379569043325,-0.0380527088683,-0.0381485130544,-0.0382443168897,-0.0383401203736,-0.038435923505,-0.0385317262831,-0.038627528707,-0.0387233307759,-0.0388191324889,-0.038914933845,-0.0390107348435,-0.0391065354833,-0.0392023357637,-0.0392981356838,-0.0393939352426,-0.0394897344394,-0.0395855332731,-0.039681331743,-0.0397771298482,-0.0398729275877,-0.0399687249608,-0.0400645219664,-0.0401603186038,-0.040256114872,-0.0403519107703,-0.0404477062976,-0.0405435014531,-0.0406392962359,-0.0407350906452,-0.0408308846801,-0.0409266783397,-0.0410224716231,-0.0411182645294,-0.0412140570577,-0.0413098492073,-0.0414056409771,-0.0415014323663,-0.0415972233741,-0.0416930139995,-0.0417888042416,-0.0418845940997,-0.0419803835727,-0.0420761726599,-0.0421719613603,-0.0422677496731,-0.0423635375974,-0.0424593251323,-0.0425551122769,-0.0426508990304,-0.0427466853918,-0.0428424713602,-0.0429382569349,-0.043034042115,-0.0431298268994,-0.0432256112874,-0.0433213952781,-0.0434171788706,-0.043512962064,-0.0436087448575,-0.0437045272501,-0.0438003092409,-0.0438960908292,-0.043991872014,-0.0440876527945,-0.0441834331696,-0.0442792131387,-0.0443749927008,-0.0444707718549,-0.0445665506003,-0.0446623289361,-0.0447581068613,-0.0448538843752,-0.0449496614767,-0.0450454381651,-0.0451412144394,-0.0452369902988,-0.0453327657424,-0.0454285407693,-0.0455243153786,-0.0456200895695,-0.045715863341,-0.0458116366924,-0.0459074096226,-0.0460031821309,-0.0460989542163,-0.046194725878,-0.0462904971151,-0.0463862679267,-0.0464820383119,-0.0465778082699,-0.0466735777997,-0.0467693469005,-0.0468651155715,-0.0469608838116,-0.0470566516201,-0.0471524189961,-0.0472481859386,-0.0473439524469,-0.0474397185199,-0.047535484157,-0.047631249357,-0.0477270141193,-0.0478227784429,-0.0479185423269,-0.0480143057704,-0.0481100687726,-0.0482058313326,-0.0483015934495,-0.0483973551224,-0.0484931163504,-0.0485888771327,-0.0486846374684,-0.0487803973566,-0.0488761567964,-0.048971915787,-0.0490676743274,-0.0491634324168,-0.0492591900543,-0.049354947239,-0.0494507039701,-0.0495464602466,-0.0496422160677,-0.0497379714325,-0.0498337263401,-0.0499294807897,-0.0500252347803,-0.0501209883111,-0.0502167413812,-0.0503124939897,-0.0504082461357,-0.0505039978184,-0.0505997490369,-0.0506954997903,-0.0507912500777,-0.0508869998982,-0.050982749251,-0.0510784981352,-0.0511742465499,-0.0512699944941,-0.0513657419672,-0.051461488968,-0.0515572354959,-0.0516529815499,-0.051748727129,-0.0518444722325,-0.0519402168595,-0.052035961009,-0.0521317046803,-0.0522274478723,-0.0523231905843,-0.0524189328154,-0.0525146745646,-0.0526104158311,-0.0527061566141,-0.0528018969125,-0.0528976367257,-0.0529933760526,-0.0530891148924,-0.0531848532442,-0.0532805911071,-0.0533763284804,-0.0534720653629,-0.053567801754,-0.0536635376527,-0.0537592730582,-0.0538550079695,-0.0539507423857,-0.0540464763061,-0.0541422097297,-0.0542379426556,-0.054333675083,-0.0544294070109,-0.0545251384386,-0.054620869365,-0.0547165997894,-0.0548123297109,-0.0549080591285,-0.0550037880415,-0.0550995164488,-0.0551952443497,-0.0552909717432,-0.0553866986286,-0.0554824250048,-0.055578150871,-0.0556738762264,-0.05576960107,-0.055865325401,-0.0559610492185,-0.0560567725216,-0.0561524953095,-0.0562482175812,-0.0563439393359,-0.0564396605727,-0.0565353812907,-0.0566311014891,-0.0567268211669,-0.0568225403233,-0.0569182589574,-0.0570139770683,-0.0571096946552,-0.0572054117171,-0.0573011282532,-0.0573968442626,-0.0574925597444,-0.0575882746977,-0.0576839891217,-0.0577797030155,-0.0578754163782,-0.0579711292089,-0.0580668415068,-0.0581625532709,-0.0582582645004,-0.0583539751944,-0.0584496853521,-0.0585453949724,-0.0586411040547,-0.0587368125979,-0.0588325206012,-0.0589282280638,-0.0590239349847,-0.059119641363,-0.059215347198,-0.0593110524886,-0.0594067572341,-0.0595024614335,-0.059598165086,-0.0596938681907,-0.0597895707466,-0.059885272753,-0.059980974209,-0.0600766751136,-0.060172375466,-0.0602680752653,-0.0603637745107,-0.0604594732012,-0.0605551713359,-0.0606508689141,-0.0607465659348,-0.0608422623971,-0.0609379583001,-0.061033653643,-0.0611293484249,-0.061225042645,-0.0613207363022,-0.0614164293958,-0.0615121219249,-0.0616078138886,-0.061703505286,-0.0617991961162,-0.0618948863784,-0.0619905760716,-0.0620862651951,-0.0621819537478,-0.062277641729,-0.0623733291378,-0.0624690159732,-0.0625647022345,-0.0626603879206,-0.0627560730308,-0.0628517575642,-0.0629474415198,-0.0630431248968,-0.0631388076944,-0.0632344899116,-0.0633301715475,-0.0634258526014,-0.0635215330722,-0.0636172129592,-0.0637128922614,-0.063808570978,-0.063904249108,-0.0639999266507,-0.0640956036051,-0.0641912799704,-0.0642869557456,-0.0643826309299,-0.0644783055224,-0.0645739795222,-0.0646696529285,-0.0647653257403,-0.0648609979569,-0.0649566695772,-0.0650523406005,-0.0651480110259,-0.0652436808524,-0.0653393500792,-0.0654350187054,-0.0655306867302,-0.0656263541526,-0.0657220209718,-0.0658176871869,-0.065913352797,-0.0660090178013,-0.0661046821988,-0.0662003459886,-0.06629600917,-0.066391671742,-0.0664873337038,-0.0665829950544,-0.066678655793,-0.0667743159187,-0.0668699754306,-0.0669656343279,-0.0670612926096,-0.067156950275,-0.067252607323,-0.0673482637529,-0.0674439195637,-0.0675395747545,-0.0676352293246,-0.067730883273,-0.0678265365988,-0.0679221893012,-0.0680178413792,-0.0681134928321,-0.0682091436588,-0.0683047938586,-0.0684004434305,-0.0684960923738,-0.0685917406874,-0.0686873883705,-0.0687830354223,-0.0688786818418,-0.0689743276283,-0.0690699727807,-0.0691656172982,-0.06926126118,-0.0693569044252,-0.0694525470328,-0.0695481890021,-0.0696438303321,-0.0697394710219,-0.0698351110707,-0.0699307504776,-0.0700263892417,-0.0701220273621,-0.070217664838,-0.0703133016685,-0.0704089378526,-0.0705045733896,-0.0706002082785,-0.0706958425185,-0.0707914761086,-0.0708871090481,-0.070982741336,-0.0710783729714,-0.0711740039534,-0.0712696342813,-0.0713652639541,-0.0714608929708,-0.0715565213308,-0.071652149033,-0.0717477760766,-0.0718434024607,-0.0719390281844,-0.0720346532469,-0.0721302776472,-0.0722259013846,-0.0723215244581,-0.0724171468668,-0.0725127686098,-0.0726083896864,-0.0727040100955,-0.0727996298364,-0.072895248908,-0.0729908673097,-0.0730864850405,-0.0731821020994,-0.0732777184857,-0.0733733341984,-0.0734689492367,-0.0735645635997,-0.0736601772865,-0.0737557902962,-0.073851402628,-0.0739470142809,-0.0740426252541,-0.0741382355468,-0.074233845158,-0.0743294540868,-0.0744250623325,-0.074520669894,-0.0746162767706,-0.0747118829613,-0.0748074884652,-0.0749030932816,-0.0749986974094,-0.0750943008479,-0.0751899035962,-0.0752855056533,-0.0753811070184,-0.0754767076906,-0.075572307669,-0.0756679069528,-0.0757635055411,-0.075859103433,-0.0759547006275,-0.076050297124,-0.0761458929214,-0.0762414880189,-0.0763370824155,-0.0764326761105,-0.076528269103,-0.076623861392,-0.0767194529767,-0.0768150438563,-0.0769106340297,-0.0770062234962,-0.0771018122549,-0.0771974003049,-0.0772929876453,-0.0773885742753,-0.0774841601939,-0.0775797454003,-0.0776753298935,-0.0777709136729,-0.0778664967373,-0.077962079086,-0.0780576607182,-0.0781532416328,-0.0782488218291,-0.0783444013061,-0.078439980063,-0.0785355580988,-0.0786311354128,-0.0787267120041,-0.0788222878717,-0.0789178630148,-0.0790134374325,-0.0791090111239,-0.0792045840882,-0.0793001563244,-0.0793957278317,-0.0794912986092,-0.0795868686561,-0.0796824379714,-0.0797780065543,-0.0798735744039,-0.0799691415193,-0.0800647078997,-0.0801602735441,-0.0802558384517,-0.0803514026216,-0.0804469660529,-0.0805425287448,-0.0806380906964,-0.0807336519067,-0.080829212375,-0.0809247721003,-0.0810203310817,-0.0811158893185,-0.0812114468096,-0.0813070035542,-0.0814025595515,-0.0814981148006,-0.0815936693005,-0.0816892230505,-0.0817847760496,-0.0818803282969,-0.0819758797916,-0.0820714305328,-0.0821669805197,-0.0822625297512,-0.0823580782266,-0.0824536259451,-0.0825491729056,-0.0826447191073,-0.0827402645494,-0.0828358092309,-0.0829313531511,-0.0830268963089,-0.0831224387036,-0.0832179803343,-0.0833135212,-0.0834090612999,-0.0835046006332,-0.0836001391988,-0.0836956769961,-0.083791214024,-0.0838867502818,-0.0839822857685,-0.0840778204832,-0.0841733544251,-0.0842688875933,-0.0843644199869,-0.0844599516051,-0.0845554824469,-0.0846510125116,-0.0847465417981,-0.0848420703056,-0.0849375980333,-0.0850331249803,-0.0851286511456,-0.0852241765285,-0.085319701128,-0.0854152249433,-0.0855107479735,-0.0856062702176,-0.0857017916749,-0.0857973123444,-0.0858928322253,-0.0859883513167,-0.0860838696177,-0.0861793871275,-0.0862749038451,-0.0863704197697,-0.0864659349003,-0.0865614492363,-0.0866569627765,-0.0867524755202,-0.0868479874665,-0.0869434986145,-0.0870390089634,-0.0871345185122,-0.0872300272601,-0.0873255352062,-0.0874210423496,-0.0875165486895,-0.0876120542249,-0.087707558955,-0.0878030628789,-0.0878985659958,-0.0879940683047,-0.0880895698048,-0.0881850704952,-0.088280570375,-0.0883760694433,-0.0884715676993,-0.0885670651421,-0.0886625617709,-0.0887580575846,-0.0888535525825,-0.0889490467637,-0.0890445401273,-0.0891400326724,-0.0892355243981,-0.0893310153037,-0.0894265053881,-0.0895219946505,-0.08961748309,-0.0897129707058,-0.089808457497,-0.0899039434627,-0.089999428602,-0.090094912914,-0.0901903963979,-0.0902858790529,-0.0903813608779,-0.0904768418721,-0.0905723220347,-0.0906678013648,-0.0907632798615,-0.0908587575239,-0.0909542343511,-0.0910497103424,-0.0911451854967,-0.0912406598132,-0.0913361332911,-0.0914316059294,-0.0915270777273,-0.0916225486839,-0.0917180187983,-0.0918134880697,-0.0919089564971,-0.0920044240798,-0.0920998908167,-0.0921953567071,-0.0922908217501,-0.0923862859447,-0.0924817492901,-0.0925772117855,-0.0926726734299,-0.0927681342225,-0.0928635941624,-0.0929590532487,-0.0930545114805,-0.093149968857,-0.0932454253773,-0.0933408810405,-0.0934363358457,-0.0935317897921,-0.0936272428788,-0.0937226951048,-0.0938181464694,-0.0939135969716,-0.0940090466106,-0.0941044953855,-0.0941999432954,-0.0942953903394,-0.0943908365167,-0.0944862818264,-0.0945817262675,-0.0946771698393,-0.0947726125408,-0.0948680543712,-0.0949634953296,-0.0950589354152,-0.0951543746269,-0.095249812964,-0.0953452504256,-0.0954406870108,-0.0955361227188,-0.0956315575485,-0.0957269914993,-0.0958224245702,-0.0959178567602,-0.0960132880687,-0.0961087184946,-0.096204148037,-0.0962995766952,-0.0963950044683,-0.0964904313553,-0.0965858573553,-0.0966812824676,-0.0967767066912,-0.0968721300252,-0.0969675524688,-0.0970629740212,-0.0971583946813,-0.0972538144484,-0.0973492333215,-0.0974446512998,-0.0975400683825,-0.0976354845685,-0.0977308998571,-0.0978263142474,-0.0979217277385,-0.0980171403296,-0.0981125520196,-0.0982079628079,-0.0983033726934,-0.0983987816754,-0.0984941897529,-0.098589596925,-0.098685003191,-0.0987804085498,-0.0988758130007,-0.0989712165427,-0.099066619175,-0.0991620208967,-0.099257421707,-0.0993528216049,-0.0994482205895,-0.0995436186601,-0.0996390158156,-0.0997344120553,-0.0998298073783,-0.0999252017837,-0.100020595271,-0.100115987838,-0.100211379485,-0.100306770211,-0.100402160016,-0.100497548897,-0.100592936854,-0.100688323887,-0.100783709995,-0.100879095176,-0.100974479429,-0.101069862755,-0.101165245151,-0.101260626618,-0.101356007154,-0.101451386758,-0.10154676543,-0.101642143168,-0.101737519973,-0.101832895841,-0.101928270774,-0.10202364477,-0.102119017829,-0.102214389948,-0.102309761128,-0.102405131368,-0.102500500666,-0.102595869022,-0.102691236436,-0.102786602905,-0.102881968429,-0.102977333008,-0.10307269664,-0.103168059325,-0.103263421062,-0.103358781849,-0.103454141686,-0.103549500573,-0.103644858507,-0.103740215489,-0.103835571517,-0.103930926591,-0.10402628071,-0.104121633872,-0.104216986077,-0.104312337325,-0.104407687613,-0.104503036942,-0.10459838531,-0.104693732717,-0.104789079162,-0.104884424643,-0.10497976916,-0.105075112713,-0.105170455299,-0.105265796919,-0.105361137571,-0.105456477255,-0.105551815969,-0.105647153713,-0.105742490487,-0.105837826288,-0.105933161116,-0.106028494971,-0.106123827851,-0.106219159755,-0.106314490683,-0.106409820634,-0.106505149607,-0.106600477601,-0.106695804615,-0.106791130648,-0.1068864557,-0.106981779769,-0.107077102855,-0.107172424957,-0.107267746073,-0.107363066204,-0.107458385348,-0.107553703504,-0.107649020671,-0.107744336849,-0.107839652036,-0.107934966233,-0.108030279437,-0.108125591648,-0.108220902865,-0.108316213088,-0.108411522315,-0.108506830545,-0.108602137778,-0.108697444013,-0.108792749249,-0.108888053485,-0.108983356719,-0.109078658952,-0.109173960183,-0.10926926041,-0.109364559632,-0.10945985785,-0.109555155061,-0.109650451265,-0.109745746461,-0.109841040649,-0.109936333827,-0.110031625994,-0.11012691715,-0.110222207294,-0.110317496424,-0.110412784541,-0.110508071643,-0.110603357729,-0.110698642798,-0.11079392685,-0.110889209883,-0.110984491897,-0.111079772891,-0.111175052864,-0.111270331815,-0.111365609743,-0.111460886648,-0.111556162528,-0.111651437383,-0.111746711211,-0.111841984012,-0.111937255786,-0.11203252653,-0.112127796244,-0.112223064928,-0.112318332581,-0.112413599201,-0.112508864787,-0.11260412934,-0.112699392857,-0.112794655339,-0.112889916784,-0.112985177191,-0.113080436559,-0.113175694889,-0.113270952178,-0.113366208425,-0.113461463631,-0.113556717794,-0.113651970913,-0.113747222987,-0.113842474016,-0.113937723998,-0.114032972933,-0.11412822082,-0.114223467658,-0.114318713446,-0.114413958183,-0.114509201869,-0.114604444502,-0.114699686081,-0.114794926607,-0.114890166077,-0.114985404491,-0.115080641848,-0.115175878147,-0.115271113388,-0.115366347569,-0.115461580689,-0.115556812749,-0.115652043746,-0.11574727368,-0.11584250255,-0.115937730356,-0.116032957095,-0.116128182769,-0.116223407374,-0.116318630912,-0.11641385338,-0.116509074778,-0.116604295106,-0.116699514361,-0.116794732544,-0.116889949653,-0.116985165688,-0.117080380648,-0.117175594531,-0.117270807338,-0.117366019066,-0.117461229715,-0.117556439285,-0.117651647775,-0.117746855183,-0.117842061508,-0.117937266751,-0.118032470909,-0.118127673983,-0.11822287597,-0.118318076871,-0.118413276685,-0.11850847541,-0.118603673045,-0.118698869591,-0.118794065045,-0.118889259408,-0.118984452678,-0.119079644854,-0.119174835935,-0.119270025921,-0.119365214811,-0.119460402604,-0.119555589298,-0.119650774894,-0.119745959389,-0.119841142785,-0.119936325078,-0.120031506269,-0.120126686357,-0.120221865341,-0.120317043219,-0.120412219992,-0.120507395658,-0.120602570216,-0.120697743666,-0.120792916006,-0.120888087236,-0.120983257354,-0.121078426361,-0.121173594255,-0.121268761035,-0.1213639267,-0.12145909125,-0.121554254683,-0.121649416999,-0.121744578197,-0.121839738276,-0.121934897235,-0.122030055073,-0.122125211789,-0.122220367383,-0.122315521853,-0.122410675199,-0.12250582742,-0.122600978515,-0.122696128483,-0.122791277323,-0.122886425035,-0.122981571617,-0.123076717068,-0.123171861388,-0.123267004576,-0.123362146631,-0.123457287552,-0.123552427339,-0.123647565989,-0.123742703503,-0.12383783988,-0.123932975119,-0.124028109218,-0.124123242177,-0.124218373995,-0.124313504672,-0.124408634205,-0.124503762596,-0.124598889842,-0.124694015942,-0.124789140897,-0.124884264704,-0.124979387363,-0.125074508874,-0.125169629235,-0.125264748446,-0.125359866505,-0.125454983412,-0.125550099165,-0.125645213765,-0.12574032721,-0.125835439498,-0.125930550631,-0.126025660606,-0.126120769422,-0.126215877079,-0.126310983576,-0.126406088912,-0.126501193086,-0.126596296097,-0.126691397945,-0.126786498628,-0.126881598145,-0.126976696497,-0.127071793681,-0.127166889697,-0.127261984545,-0.127357078222,-0.127452170729,-0.127547262065,-0.127642352228,-0.127737441218,-0.127832529033,-0.127927615674,-0.128022701139,-0.128117785427,-0.128212868537,-0.128307950469,-0.128403031222,-0.128498110794,-0.128593189185,-0.128688266394,-0.12878334242,-0.128878417263,-0.128973490921,-0.129068563393,-0.129163634679,-0.129258704778,-0.129353773688,-0.12944884141,-0.129543907942,-0.129638973283,-0.129734037432,-0.129829100389,-0.129924162153,-0.130019222722,-0.130114282096,-0.130209340275,-0.130304397256,-0.13039945304,-0.130494507625,-0.13058956101,-0.130684613196,-0.13077966418,-0.130874713962,-0.130969762541,-0.131064809916,-0.131159856086,-0.131254901051,-0.131349944809,-0.13144498736,-0.131540028703,-0.131635068837,-0.13173010776,-0.131825145473,-0.131920181974,-0.132015217263,-0.132110251338,-0.132205284199,-0.132300315844,-0.132395346274,-0.132490375487,-0.132585403481,-0.132680430257,-0.132775455814,-0.13287048015,-0.132965503265,-0.133060525157,-0.133155545827,-0.133250565272,-0.133345583493,-0.133440600488,-0.133535616256,-0.133630630797,-0.13372564411,-0.133820656194,-0.133915667047,-0.13401067667,-0.134105685061,-0.134200692219,-0.134295698143,-0.134390702834,-0.134485706288,-0.134580708507,-0.134675709489,-0.134770709233,-0.134865707738,-0.134960705003,-0.135055701028,-0.135150695811,-0.135245689352,-0.13534068165,-0.135435672704,-0.135530662513,-0.135625651076,-0.135720638393,-0.135815624462,-0.135910609283,-0.136005592854,-0.136100575176,-0.136195556246,-0.136290536064,-0.13638551463,-0.136480491942,-0.136575468,-0.136670442802,-0.136765416348,-0.136860388637,-0.136955359668,-0.13705032944,-0.137145297952,-0.137240265204,-0.137335231194,-0.137430195921,-0.137525159386,-0.137620121586,-0.137715082522,-0.137810042192,-0.137905000595,-0.13799995773,-0.138094913597,-0.138189868194,-0.138284821522,-0.138379773578,-0.138474724362,-0.138569673873,-0.138664622111,-0.138759569074,-0.138854514762,-0.138949459173,-0.139044402308,-0.139139344164,-0.139234284741,-0.139329224038,-0.139424162055,-0.13951909879,-0.139614034243,-0.139708968412,-0.139803901298,-0.139898832898,-0.139993763212,-0.14008869224,-0.140183619979,-0.140278546431,-0.140373471592,-0.140468395464,-0.140563318044,-0.140658239333,-0.140753159328,-0.14084807803,-0.140942995437,-0.141037911549,-0.141132826364,-0.141227739882,-0.141322652102,-0.141417563022,-0.141512472643,-0.141607380963,-0.141702287982,-0.141797193698,-0.14189209811,-0.141987001219,-0.142081903022,-0.142176803519,-0.14227170271,-0.142366600593,-0.142461497167,-0.142556392431,-0.142651286386,-0.142746179029,-0.14284107036,-0.142935960378,-0.143030849082,-0.143125736471,-0.143220622545,-0.143315507303,-0.143410390743,-0.143505272865,-0.143600153667,-0.14369503315,-0.143789911312,-0.143884788153,-0.143979663671,-0.144074537865,-0.144169410735,-0.14426428228,-0.144359152499,-0.144454021391,-0.144548888955,-0.144643755191,-0.144738620097,-0.144833483672,-0.144928345916,-0.145023206829,-0.145118066408,-0.145212924653,-0.145307781563,-0.145402637138,-0.145497491376,-0.145592344277,-0.14568719584,-0.145782046064,-0.145876894947,-0.14597174249,-0.146066588691,-0.146161433549,-0.146256277064,-0.146351119234,-0.14644596006,-0.146540799539,-0.146635637671,-0.146730474455,-0.146825309891,-0.146920143977,-0.147014976713,-0.147109808097,-0.147204638129,-0.147299466808,-0.147394294133,-0.147489120103,-0.147583944718,-0.147678767976,-0.147773589876,-0.147868410418,-0.147963229601,-0.148058047424,-0.148152863887,-0.148247678987,-0.148342492725,-0.148437305099,-0.148532116108,-0.148626925753,-0.148721734031,-0.148816540942,-0.148911346486,-0.14900615066,-0.149100953465,-0.1491957549,-0.149290554963,-0.149385353654,-0.149480150972,-0.149574946915,-0.149669741484,-0.149764534677,-0.149859326494,-0.149954116933,-0.150048905994,-0.150143693675,-0.150238479977,-0.150333264897,-0.150428048436,-0.150522830592,-0.150617611364,-0.150712390752,-0.150807168755,-0.150901945371,-0.1509967206,-0.151091494442,-0.151186266894,-0.151281037957,-0.15137580763,-0.151470575911,-0.151565342799,-0.151660108295,-0.151754872397,-0.151849635103,-0.151944396414,-0.152039156328,-0.152133914845,-0.152228671963,-0.152323427682,-0.152418182001,-0.152512934919,-0.152607686435,-0.152702436549,-0.152797185258,-0.152891932564,-0.152986678464,-0.153081422957,-0.153176166044,-0.153270907723,-0.153365647992,-0.153460386852,-0.153555124302,-0.15364986034,-0.153744594966,-0.153839328178,-0.153934059977,-0.154028790361,-0.154123519328,-0.154218246879,-0.154312973013,-0.154407697728,-0.154502421024,-0.1545971429,-0.154691863355,-0.154786582387,-0.154881299997,-0.154976016184,-0.155070730946,-0.155165444282,-0.155260156193,-0.155354866676,-0.155449575731,-0.155544283357,-0.155638989554,-0.15573369432,-0.155828397654,-0.155923099556,-0.156017800025,-0.15611249906,-0.15620719666,-0.156301892824,-0.156396587552,-0.156491280842,-0.156585972693,-0.156680663105,-0.156775352077,-0.156870039608,-0.156964725697,-0.157059410343,-0.157154093546,-0.157248775304,-0.157343455616,-0.157438134483,-0.157532811902,-0.157627487873,-0.157722162395,-0.157816835468,-0.15791150709,-0.15800617726,-0.158100845978,-0.158195513243,-0.158290179054,-0.15838484341,-0.15847950631,-0.158574167753,-0.158668827739,-0.158763486266,-0.158858143334,-0.158952798942,-0.159047453088,-0.159142105773,-0.159236756995,-0.159331406753,-0.159426055047,-0.159520701875,-0.159615347237,-0.159709991132,-0.159804633559,-0.159899274517,-0.159993914005,-0.160088552023,-0.160183188569,-0.160277823642,-0.160372457243,-0.160467089369,-0.160561720021,-0.160656349196,-0.160750976895,-0.160845603116,-0.160940227859,-0.161034851122,-0.161129472906,-0.161224093208,-0.161318712028,-0.161413329366,-0.161507945219,-0.161602559588,-0.161697172472,-0.16179178387,-0.16188639378,-0.161981002202,-0.162075609136,-0.16217021458,-0.162264818533,-0.162359420994,-0.162454021963,-0.162548621439,-0.162643219421,-0.162737815908,-0.162832410899,-0.162927004393,-0.16302159639,-0.163116186888,-0.163210775887,-0.163305363385,-0.163399949383,-0.163494533879,-0.163589116871,-0.163683698361,-0.163778278345,-0.163872856825,-0.163967433797,-0.164062009263,-0.164156583221,-0.16425115567,-0.164345726609,-0.164440296037,-0.164534863954,-0.164629430359,-0.16472399525,-0.164818558628,-0.16491312049,-0.165007680836,-0.165102239666,-0.165196796978,-0.165291352772,-0.165385907046,-0.1654804598,-0.165575011034,-0.165669560745,-0.165764108933,-0.165858655598,-0.165953200738,-0.166047744353,-0.166142286441,-0.166236827003,-0.166331366036,-0.16642590354,-0.166520439515,-0.166614973959,-0.166709506872,-0.166804038252,-0.166898568099,-0.166993096412,-0.16708762319,-0.167182148432,-0.167276672137,-0.167371194305,-0.167465714935,-0.167560234025,-0.167654751575,-0.167749267584,-0.167843782051,-0.167938294975,-0.168032806355,-0.168127316191,-0.168221824482,-0.168316331226,-0.168410836423,-0.168505340073,-0.168599842173,-0.168694342724,-0.168788841724,-0.168883339172,-0.168977835068,-0.169072329411,-0.1691668222,-0.169261313434,-0.169355803112,-0.169450291234,-0.169544777798,-0.169639262803,-0.16973374625,-0.169828228136,-0.169922708461,-0.170017187224,-0.170111664424,-0.170206140061,-0.170300614133,-0.17039508664,-0.170489557581,-0.170584026954,-0.17067849476,-0.170772960997,-0.170867425664,-0.17096188876,-0.171056350285,-0.171150810238,-0.171245268618,-0.171339725423,-0.171434180654,-0.171528634308,-0.171623086386,-0.171717536887,-0.171811985809,-0.171906433152,-0.172000878915,-0.172095323097,-0.172189765697,-0.172284206714,-0.172378646148,-0.172473083997,-0.172567520261,-0.172661954938,-0.172756388029,-0.172850819531,-0.172945249445,-0.173039677769,-0.173134104503,-0.173228529645,-0.173322953195,-0.173417375152,-0.173511795514,-0.173606214282,-0.173700631454,-0.17379504703,-0.173889461008,-0.173983873387,-0.174078284168,-0.174172693348,-0.174267100928,-0.174361506905,-0.17445591128,-0.174550314051,-0.174644715218,-0.17473911478,-0.174833512735,-0.174927909083,-0.175022303824,-0.175116696956,-0.175211088478,-0.175305478389,-0.175399866689,-0.175494253377,-0.175588638452,-0.175683021913,-0.175777403759,-0.175871783989,-0.175966162603,-0.176060539599,-0.176154914977,-0.176249288736,-0.176343660875,-0.176438031393,-0.176532400289,-0.176626767562,-0.176721133212,-0.176815497238,-0.176909859638,-0.177004220412,-0.177098579559,-0.177192937079,-0.177287292969,-0.17738164723,-0.177475999861,-0.17757035086,-0.177664700227,-0.177759047961,-0.177853394061,-0.177947738526,-0.178042081356,-0.178136422549,-0.178230762105,-0.178325100022,-0.178419436301,-0.178513770939,-0.178608103936,-0.178702435292,-0.178796765005,-0.178891093075,-0.1789854195,-0.179079744281,-0.179174067415,-0.179268388902,-0.179362708741,-0.179457026932,-0.179551343473,-0.179645658364,-0.179739971603,-0.179834283191,-0.179928593125,-0.180022901406,-0.180117208031,-0.180211513002,-0.180305816315,-0.180400117972,-0.18049441797,-0.180588716309,-0.180683012988,-0.180777308007,-0.180871601363,-0.180965893058,-0.181060183088,-0.181154471455,-0.181248758156,-0.181343043192,-0.18143732656,-0.181531608261,-0.181625888293,-0.181720166656,-0.181814443348,-0.18190871837,-0.182002991719,-0.182097263395,-0.182191533397,-0.182285801725,-0.182380068377,-0.182474333353,-0.182568596652,-0.182662858272,-0.182757118214,-0.182851376475,-0.182945633056,-0.183039887955,-0.183134141172,-0.183228392705,-0.183322642555,-0.183416890719,-0.183511137197,-0.183605381988,-0.183699625092,-0.183793866507,-0.183888106233,-0.183982344269,-0.184076580613,-0.184170815266,-0.184265048226,-0.184359279491,-0.184453509063,-0.184547736939,-0.184641963118,-0.1847361876,-0.184830410385,-0.18492463147,-0.185018850856,-0.185113068541,-0.185207284524,-0.185301498805,-0.185395711383,-0.185489922257,-0.185584131425,-0.185678338888,-0.185772544644,-0.185866748693,-0.185960951033,-0.186055151663,-0.186149350584,-0.186243547794,-0.186337743291,-0.186431937076,-0.186526129147,-0.186620319504,-0.186714508145,-0.18680869507,-0.186902880278,-0.186997063768,-0.18709124554,-0.187185425591,-0.187279603922,-0.187373780531,-0.187467955419,-0.187562128583,-0.187656300023,-0.187750469738,-0.187844637727,-0.18793880399,-0.188032968525,-0.188127131332,-0.188221292409,-0.188315451757,-0.188409609373,-0.188503765258,-0.18859791941,-0.188692071829,-0.188786222513,-0.188880371462,-0.188974518674,-0.18906866415,-0.189162807888,-0.189256949887,-0.189351090146,-0.189445228665,-0.189539365443,-0.189633500478,-0.18972763377,-0.189821765319,-0.189915895122,-0.19001002318,-0.190104149492,-0.190198274056,-0.190292396871,-0.190386517938,-0.190480637254,-0.19057475482,-0.190668870634,-0.190762984696,-0.190857097004,-0.190951207557,-0.191045316356,-0.191139423398,-0.191233528684,-0.191327632212,-0.191421733981,-0.19151583399,-0.19160993224,-0.191704028728,-0.191798123453,-0.191892216416,-0.191986307615,-0.19208039705,-0.192174484719,-0.192268570621,-0.192362654756,-0.192456737123,-0.192550817721,-0.192644896549,-0.192738973607,-0.192833048892,-0.192927122405,-0.193021194145,-0.193115264111,-0.193209332302,-0.193303398716,-0.193397463354,-0.193491526214,-0.193585587296,-0.193679646598,-0.19377370412,-0.193867759861,-0.19396181382,-0.194055865996,-0.194149916388,-0.194243964996,-0.194338011818,-0.194432056854,-0.194526100103,-0.194620141563,-0.194714181235,-0.194808219117,-0.194902255209,-0.194996289509,-0.195090322016,-0.19518435273,-0.195278381651,-0.195372408776,-0.195466434105,-0.195560457638,-0.195654479373,-0.19574849931,-0.195842517448,-0.195936533785,-0.196030548321,-0.196124561056,-0.196218571988,-0.196312581116,-0.19640658844,-0.196500593958,-0.19659459767,-0.196688599575,-0.196782599672,-0.196876597961,-0.19697059444,-0.197064589108,-0.197158581965,-0.197252573009,-0.197346562241,-0.197440549659,-0.197534535261,-0.197628519048,-0.197722501019,-0.197816481172,-0.197910459507,-0.198004436022,-0.198098410718,-0.198192383593,-0.198286354646,-0.198380323876,-0.198474291283,-0.198568256866,-0.198662220623,-0.198756182554,-0.198850142659,-0.198944100935,-0.199038057383,-0.199132012002,-0.19922596479,-0.199319915747,-0.199413864871,-0.199507812163,-0.199601757621,-0.199695701244,-0.199789643032,-0.199883582983,-0.199977521097,-0.200071457373,-0.20016539181,-0.200259324407,-0.200353255163,-0.200447184078,-0.20054111115,-0.200635036378,-0.200728959763,-0.200822881302,-0.200916800996,-0.201010718843,-0.201104634842,-0.201198548993,-0.201292461294,-0.201386371745,-0.201480280345,-0.201574187093,-0.201668091988,-0.20176199503,-0.201855896217,-0.201949795548,-0.202043693023,-0.202137588641,-0.202231482401,-0.202325374303,-0.202419264344,-0.202513152525,-0.202607038844,-0.202700923302,-0.202794805895,-0.202888686625,-0.20298256549,-0.203076442489,-0.203170317622,-0.203264190887,-0.203358062284,-0.203451931811,-0.203545799469,-0.203639665255,-0.20373352917,-0.203827391212,-0.20392125138,-0.204015109674,-0.204108966093,-0.204202820635,-0.204296673301,-0.204390524089,-0.204484372998,-0.204578220027,-0.204672065176,-0.204765908444,-0.20485974983,-0.204953589332,-0.205047426951,-0.205141262685,-0.205235096533,-0.205328928495,-0.20542275857,-0.205516586756,-0.205610413053,-0.20570423746,-0.205798059977,-0.205891880602,-0.205985699334,-0.206079516173,-0.206173331118,-0.206267144167,-0.206360955321,-0.206454764578,-0.206548571937,-0.206642377398,-0.206736180959,-0.20682998262,-0.20692378238,-0.207017580237,-0.207111376192,-0.207205170243,-0.20729896239,-0.207392752631,-0.207486540966,-0.207580327394,-0.207674111913,-0.207767894524,-0.207861675225,-0.207955454015,-0.208049230894,-0.208143005861,-0.208236778914,-0.208330550053,-0.208424319278,-0.208518086586,-0.208611851978,-0.208705615453,-0.208799377009,-0.208893136645,-0.208986894362,-0.209080650158,-0.209174404032,-0.209268155983,-0.20936190601,-0.209455654114,-0.209549400292,-0.209643144543,-0.209736886868,-0.209830627265,-0.209924365734,-0.210018102272,-0.21011183688,-0.210205569557,-0.210299300302,-0.210393029114,-0.210486755992,-0.210580480935,-0.210674203942,-0.210767925013,-0.210861644147,-0.210955361343,-0.211049076599,-0.211142789916,-0.211236501291,-0.211330210725,-0.211423918217,-0.211517623765,-0.211611327369,-0.211705029028,-0.211798728741,-0.211892426507,-0.211986122326,-0.212079816196,-0.212173508116,-0.212267198087,-0.212360886106,-0.212454572173,-0.212548256288,-0.212641938448,-0.212735618654,-0.212829296905,-0.2129229732,-0.213016647537,-0.213110319916,-0.213203990337,-0.213297658797,-0.213391325297,-0.213484989836,-0.213578652412,-0.213672313026,-0.213765971675,-0.213859628359,-0.213953283078,-0.214046935829,-0.214140586614,-0.21423423543,-0.214327882277,-0.214421527154,-0.21451517006,-0.214608810994,-0.214702449955,-0.214796086943,-0.214889721957,-0.214983354995,-0.215076986058,-0.215170615143,-0.215264242251,-0.21535786738,-0.215451490529,-0.215545111698,-0.215638730886,-0.215732348092,-0.215825963314,-0.215919576553,-0.216013187808,-0.216106797076,-0.216200404358,-0.216294009653,-0.21638761296,-0.216481214278,-0.216574813606,-0.216668410944,-0.216762006289,-0.216855599643,-0.216949191003,-0.217042780369,-0.217136367739,-0.217229953114,-0.217323536493,-0.217417117873,-0.217510697256,-0.217604274638,-0.217697850021,-0.217791423403,-0.217884994783,-0.21797856416,-0.218072131533,-0.218165696902,-0.218259260266,-0.218352821623,-0.218446380974,-0.218539938316,-0.21863349365,-0.218727046974,-0.218820598288,-0.21891414759,-0.21900769488,-0.219101240157,-0.21919478342,-0.219288324668,-0.219381863901,-0.219475401117,-0.219568936315,-0.219662469496,-0.219756000657,-0.219849529799,-0.219943056919,-0.220036582018,-0.220130105095,-0.220223626148,-0.220317145177,-0.22041066218,-0.220504177158,-0.220597690109,-0.220691201032,-0.220784709927,-0.220878216792,-0.220971721627,-0.221065224431,-0.221158725203,-0.221252223942,-0.221345720647,-0.221439215318,-0.221532707953,-0.221626198552,-0.221719687114,-0.221813173638,-0.221906658123,-0.222000140568,-0.222093620973,-0.222187099337,-0.222280575658,-0.222374049935,-0.222467522169,-0.222560992358,-0.222654460502,-0.222747926598,-0.222841390647,-0.222934852648,-0.2230283126,-0.223121770502,-0.223215226353,-0.223308680152,-0.223402131898,-0.223495581591,-0.22358902923,-0.223682474813,-0.223775918341,-0.223869359811,-0.223962799224,-0.224056236578,-0.224149671873,-0.224243105107,-0.22433653628,-0.224429965392,-0.22452339244,-0.224616817424,-0.224710240344,-0.224803661198,-0.224897079986,-0.224990496707,-0.22508391136,-0.225177323944,-0.225270734458,-0.225364142901,-0.225457549273,-0.225550953572,-0.225644355799,-0.225737755951,-0.225831154028,-0.22592455003,-0.226017943954,-0.226111335802,-0.226204725571,-0.22629811326,-0.22639149887,-0.226484882399,-0.226578263846,-0.22667164321,-0.226765020491,-0.226858395687,-0.226951768798,-0.227045139823,-0.227138508761,-0.227231875611,-0.227325240373,-0.227418603045,-0.227511963627,-0.227605322117,-0.227698678516,-0.227792032821,-0.227885385033,-0.22797873515,-0.228072083171,-0.228165429096,-0.228258772924,-0.228352114653,-0.228445454284,-0.228538791815,-0.228632127245,-0.228725460574,-0.2288187918,-0.228912120923,-0.229005447942,-0.229098772856,-0.229192095664,-0.229285416365,-0.229378734959,-0.229472051444,-0.229565365821,-0.229658678087,-0.229751988242,-0.229845296285,-0.229938602216,-0.230031906033,-0.230125207735,-0.230218507323,-0.230311804794,-0.230405100148,-0.230498393385,-0.230591684502,-0.230684973501,-0.230778260378,-0.230871545135,-0.230964827769,-0.231058108281,-0.231151386668,-0.231244662931,-0.231337937069,-0.231431209079,-0.231524478963,-0.231617746719,-0.231711012345,-0.231804275842,-0.231897537208,-0.231990796442,-0.232084053545,-0.232177308513,-0.232270561348,-0.232363812048,-0.232457060612,-0.232550307039,-0.232643551328,-0.23273679348,-0.232830033492,-0.232923271363,-0.233016507094,-0.233109740683,-0.233202972129,-0.233296201432,-0.233389428591,-0.233482653604,-0.233575876471,-0.233669097191,-0.233762315763,-0.233855532186,-0.23394874646,-0.234041958584,-0.234135168556,-0.234228376376,-0.234321582043,-0.234414785556,-0.234507986915,-0.234601186118,-0.234694383165,-0.234787578054,-0.234880770785,-0.234973961358,-0.23506714977,-0.235160336022,-0.235253520112,-0.23534670204,-0.235439881805,-0.235533059405,-0.23562623484,-0.23571940811,-0.235812579213,-0.235905748149,-0.235998914916,-0.236092079513,-0.236185241941,-0.236278402198,-0.236371560283,-0.236464716195,-0.236557869934,-0.236651021498,-0.236744170887,-0.2368373181,-0.236930463136,-0.237023605994,-0.237116746674,-0.237209885174,-0.237303021494,-0.237396155632,-0.237489287588,-0.237582417362,-0.237675544951,-0.237768670356,-0.237861793575,-0.237954914608,-0.238048033454,-0.238141150112,-0.23823426458,-0.238327376859,-0.238420486948,-0.238513594844,-0.238606700549,-0.23869980406,-0.238792905377,-0.238886004499,-0.238979101425,-0.239072196155,-0.239165288687,-0.239258379021,-0.239351467156,-0.239444553091,-0.239537636824,-0.239630718356,-0.239723797685,-0.239816874811,-0.239909949733,-0.240003022449,-0.240096092959,-0.240189161262,-0.240282227358,-0.240375291244,-0.240468352922,-0.240561412389,-0.240654469645,-0.240747524689,-0.24084057752,-0.240933628137,-0.241026676539,-0.241119722726,-0.241212766697,-0.241305808451,-0.241398847986,-0.241491885303,-0.2415849204,-0.241677953276,-0.241770983931,-0.241864012364,-0.241957038573,-0.242050062558,-0.242143084319,-0.242236103854,-0.242329121162,-0.242422136243,-0.242515149095,-0.242608159718,-0.242701168112,-0.242794174274,-0.242887178205,-0.242980179903,-0.243073179368,-0.243166176599,-0.243259171594,-0.243352164353,-0.243445154876,-0.243538143161,-0.243631129207,-0.243724113014,-0.24381709458,-0.243910073906,-0.24400305099,-0.24409602583,-0.244188998427,-0.24428196878,-0.244374936887,-0.244467902748,-0.244560866362,-0.244653827727,-0.244746786844,-0.244839743712,-0.244932698329,-0.245025650694,-0.245118600807,-0.245211548668,-0.245304494274,-0.245397437625,-0.245490378721,-0.245583317561,-0.245676254142,-0.245769188466,-0.245862120531,-0.245955050336,-0.24604797788,-0.246140903162,-0.246233826182,-0.246326746939,-0.246419665431,-0.246512581659,-0.24660549562,-0.246698407315,-0.246791316742,-0.246884223901,-0.24697712879,-0.247070031409,-0.247162931758,-0.247255829834,-0.247348725638,-0.247441619168,-0.247534510423,-0.247627399404,-0.247720286108,-0.247813170535,-0.247906052685,-0.247998932555,-0.248091810146,-0.248184685457,-0.248277558487,-0.248370429234,-0.248463297698,-0.248556163879,-0.248649027775,-0.248741889385,-0.248834748709,-0.248927605746,-0.249020460494,-0.249113312954,-0.249206163124,-0.249299011003,-0.249391856591,-0.249484699886,-0.249577540889,-0.249670379597,-0.24976321601,-0.249856050127,-0.249948881948,-0.250041711471,-0.250134538696,-0.250227363622,-0.250320186248,-0.250413006573,-0.250505824596,-0.250598640317,-0.250691453734,-0.250784264847,-0.250877073654,-0.250969880156,-0.251062684351,-0.251155486238,-0.251248285816,-0.251341083085,-0.251433878044,-0.251526670692,-0.251619461028,-0.25171224905,-0.25180503476,-0.251897818154,-0.251990599233,-0.252083377996,-0.252176154442,-0.25226892857,-0.25236170038,-0.252454469869,-0.252547237038,-0.252640001886,-0.252732764411,-0.252825524613,-0.252918282492,-0.253011038046,-0.253103791274,-0.253196542175,-0.25328929075,-0.253382036996,-0.253474780913,-0.2535675225,-0.253660261756,-0.253752998681,-0.253845733273,-0.253938465532,-0.254031195457,-0.254123923047,-0.254216648301,-0.254309371219,-0.254402091799,-0.25449481004,-0.254587525942,-0.254680239504,-0.254772950725,-0.254865659605,-0.254958366141,-0.255051070334,-0.255143772183,-0.255236471686,-0.255329168844,-0.255421863654,-0.255514556117,-0.255607246231,-0.255699933995,-0.25579261941,-0.255885302473,-0.255977983184,-0.256070661542,-0.256163337546,-0.256256011196,-0.25634868249,-0.256441351428,-0.256534018009,-0.256626682232,-0.256719344096,-0.2568120036,-0.256904660743,-0.256997315526,-0.257089967946,-0.257182618003,-0.257275265696,-0.257367911024,-0.257460553986,-0.257553194582,-0.257645832811,-0.257738468671,-0.257831102162,-0.257923733283,-0.258016362034,-0.258108988413,-0.258201612419,-0.258294234052,-0.258386853311,-0.258479470195,-0.258572084703,-0.258664696834,-0.258757306588,-0.258849913963,-0.258942518959,-0.259035121575,-0.25912772181,-0.259220319663,-0.259312915133,-0.25940550822,-0.259498098922,-0.259590687239,-0.25968327317,-0.259775856714,-0.25986843787,-0.259961016637,-0.260053593015,-0.260146167003,-0.2602387386,-0.260331307804,-0.260423874615,-0.260516439033,-0.260609001056,-0.260701560684,-0.260794117915,-0.260886672749,-0.260979225186,-0.261071775223,-0.26116432286,-0.261256868097,-0.261349410933,-0.261441951366,-0.261534489397,-0.261627025023,-0.261719558244,-0.26181208906,-0.261904617469,-0.261997143471,-0.262089667065,-0.262182188249,-0.262274707024,-0.262367223388,-0.26245973734,-0.26255224888,-0.262644758006,-0.262737264719,-0.262829769016,-0.262922270897,-0.263014770362,-0.263107267409,-0.263199762037,-0.263292254247,-0.263384744036,-0.263477231404,-0.263569716351,-0.263662198875,-0.263754678975,-0.263847156651,-0.263939631901,-0.264032104726,-0.264124575124,-0.264217043093,-0.264309508635,-0.264401971746,-0.264494432428,-0.264586890678,-0.264679346496,-0.264771799882,-0.264864250833,-0.26495669935,-0.265049145432,-0.265141589077,-0.265234030286,-0.265326469056,-0.265418905387,-0.265511339279,-0.26560377073,-0.26569619974,-0.265788626308,-0.265881050432,-0.265973472113,-0.266065891349,-0.266158308139,-0.266250722483,-0.266343134379,-0.266435543828,-0.266527950827,-0.266620355376,-0.266712757475,-0.266805157122,-0.266897554317,-0.266989949058,-0.267082341345,-0.267174731178,-0.267267118554,-0.267359503474,-0.267451885937,-0.267544265941,-0.267636643486,-0.26772901857,-0.267821391194,-0.267913761356,-0.268006129056,-0.268098494292,-0.268190857063,-0.26828321737,-0.268375575211,-0.268467930584,-0.26856028349,-0.268652633928,-0.268744981896,-0.268837327394,-0.26892967042,-0.269022010975,-0.269114349057,-0.269206684665,-0.269299017799,-0.269391348458,-0.26948367664,-0.269576002346,-0.269668325573,-0.269760646322,-0.269852964591,-0.269945280379,-0.270037593687,-0.270129904512,-0.270222212854,-0.270314518713,-0.270406822087,-0.270499122975,-0.270591421377,-0.270683717291,-0.270776010718,-0.270868301656,-0.270960590104,-0.271052876061,-0.271145159527,-0.2712374405,-0.271329718981,-0.271421994967,-0.271514268459,-0.271606539455,-0.271698807954,-0.271791073956,-0.271883337459,-0.271975598464,-0.272067856969,-0.272160112972,-0.272252366475,-0.272344617474,-0.272436865971,-0.272529111963,-0.27262135545,-0.272713596431,-0.272805834906,-0.272898070873,-0.272990304331,-0.273082535281,-0.27317476372,-0.273266989648,-0.273359213064,-0.273451433968,-0.273543652358,-0.273635868234,-0.273728081595,-0.27382029244,-0.273912500767,-0.274004706577,-0.274096909869,-0.274189110641,-0.274281308892,-0.274373504623,-0.274465697831,-0.274557888517,-0.274650076679,-0.274742262317,-0.274834445429,-0.274926626015,-0.275018804074,-0.275110979605,-0.275203152607,-0.275295323079,-0.275387491021,-0.275479656432,-0.275571819311,-0.275663979657,-0.275756137468,-0.275848292746,-0.275940445487,-0.276032595692,-0.27612474336,-0.27621688849,-0.276309031081,-0.276401171132,-0.276493308643,-0.276585443612,-0.276677576039,-0.276769705923,-0.276861833262,-0.276953958057,-0.277046080306,-0.277138200009,-0.277230317164,-0.277322431771,-0.277414543828,-0.277506653336,-0.277598760293,-0.277690864699,-0.277782966552,-0.277875065852,-0.277967162597,-0.278059256787,-0.278151348422,-0.2782434375,-0.27833552402,-0.278427607982,-0.278519689385,-0.278611768228,-0.278703844509,-0.278795918229,-0.278887989387,-0.27898005798,-0.27907212401,-0.279164187474,-0.279256248372,-0.279348306704,-0.279440362467,-0.279532415663,-0.279624466288,-0.279716514344,-0.279808559828,-0.279900602741,-0.27999264308,-0.280084680846,-0.280176716038,-0.280268748654,-0.280360778694,-0.280452806157,-0.280544831042,-0.280636853349,-0.280728873076,-0.280820890222,-0.280912904788,-0.281004916771,-0.281096926171,-0.281188932988,-0.281280937219,-0.281372938866,-0.281464937926,-0.281556934399,-0.281648928284,-0.28174091958,-0.281832908286,-0.281924894402,-0.282016877926,-0.282108858858,-0.282200837197,-0.282292812942,-0.282384786093,-0.282476756647,-0.282568724606,-0.282660689967,-0.282752652729,-0.282844612893,-0.282936570457,-0.28302852542,-0.283120477782,-0.283212427541,-0.283304374697,-0.283396319249,-0.283488261197,-0.283580200538,-0.283672137273,-0.2837640714,-0.283856002919,-0.283947931829,-0.284039858129,-0.284131781818,-0.284223702895,-0.28431562136,-0.284407537211,-0.284499450449,-0.284591361071,-0.284683269077,-0.284775174466,-0.284867077238,-0.284958977392,-0.285050874926,-0.28514276984,-0.285234662133,-0.285326551805,-0.285418438853,-0.285510323278,-0.285602205079,-0.285694084255,-0.285785960804,-0.285877834727,-0.285969706022,-0.286061574688,-0.286153440725,-0.286245304132,-0.286337164908,-0.286429023051,-0.286520878562,-0.286612731439,-0.286704581682,-0.286796429289,-0.286888274261,-0.286980116595,-0.287071956291,-0.287163793349,-0.287255627767,-0.287347459545,-0.287439288681,-0.287531115176,-0.287622939027,-0.287714760235,-0.287806578798,-0.287898394715,-0.287990207987,-0.288082018611,-0.288173826587,-0.288265631915,-0.288357434592,-0.288449234619,-0.288541031995,-0.288632826719,-0.288724618789,-0.288816408206,-0.288908194968,-0.288999979074,-0.289091760524,-0.289183539317,-0.289275315451,-0.289367088927,-0.289458859743,-0.289550627898,-0.289642393391,-0.289734156223,-0.289825916391,-0.289917673895,-0.290009428734,-0.290101180908,-0.290192930415,-0.290284677254,-0.290376421426,-0.290468162928,-0.290559901761,-0.290651637922,-0.290743371412,-0.29083510223,-0.290926830374,-0.291018555844,-0.291110278639,-0.291201998759,-0.291293716201,-0.291385430966,-0.291477143053,-0.291568852461,-0.291660559188,-0.291752263235,-0.2918439646,-0.291935663282,-0.292027359281,-0.292119052596,-0.292210743226,-0.292302431169,-0.292394116426,-0.292485798996,-0.292577478876,-0.292669156068,-0.292760830569,-0.29285250238,-0.292944171498,-0.293035837924,-0.293127501656,-0.293219162694,-0.293310821037,-0.293402476684,-0.293494129634,-0.293585779886,-0.293677427439,-0.293769072293,-0.293860714447,-0.2939523539,-0.29404399065,-0.294135624698,-0.294227256043,-0.294318884683,-0.294410510617,-0.294502133846,-0.294593754367,-0.294685372181,-0.294776987285,-0.294868599681,-0.294960209366,-0.295051816339,-0.295143420601,-0.29523502215,-0.295326620985,-0.295418217106,-0.295509810511,-0.295601401199,-0.295692989171,-0.295784574425,-0.29587615696,-0.295967736775,-0.29605931387,-0.296150888244,-0.296242459895,-0.296334028823,-0.296425595028,-0.296517158508,-0.296608719262,-0.29670027729,-0.296791832591,-0.296883385164,-0.296974935008,-0.297066482122,-0.297158026505,-0.297249568157,-0.297341107077,-0.297432643264,-0.297524176717,-0.297615707435,-0.297707235418,-0.297798760664,-0.297890283172,-0.297981802943,-0.298073319974,-0.298164834266,-0.298256345817,-0.298347854627,-0.298439360694,-0.298530864018,-0.298622364598,-0.298713862433,-0.298805357523,-0.298896849865,-0.298988339461,-0.299079826308,-0.299171310406,-0.299262791754,-0.299354270352,-0.299445746198,-0.299537219291,-0.299628689631,-0.299720157217,-0.299811622048,-0.299903084124,-0.299994543442,-0.300086000003,-0.300177453806,-0.30026890485,-0.300360353133,-0.300451798656,-0.300543241417,-0.300634681416,-0.300726118651,-0.300817553122,-0.300908984828,-0.301000413768,-0.301091839941,-0.301183263347,-0.301274683984,-0.301366101852,-0.30145751695,-0.301548929277,-0.301640338833,-0.301731745615,-0.301823149625,-0.301914550859,-0.302005949319,-0.302097345003,-0.30218873791,-0.302280128039,-0.30237151539,-0.302462899962,-0.302554281753,-0.302645660763,-0.302737036992,-0.302828410438,-0.3029197811,-0.303011148978,-0.30310251407,-0.303193876377,-0.303285235897,-0.303376592629,-0.303467946572,-0.303559297726,-0.30365064609,-0.303741991662,-0.303833334443,-0.303924674431,-0.304016011625,-0.304107346025,-0.30419867763,-0.304290006438,-0.30438133245,-0.304472655663,-0.304563976079,-0.304655293694,-0.304746608509,-0.304837920523,-0.304929229735,-0.305020536145,-0.30511183975,-0.305203140551,-0.305294438547,-0.305385733736,-0.305477026119,-0.305568315693,-0.305659602459,-0.305750886415,-0.305842167561,-0.305933445896,-0.306024721418,-0.306115994128,-0.306207264024,-0.306298531105,-0.306389795371,-0.30648105682,-0.306572315453,-0.306663571267,-0.306754824263,-0.306846074439,-0.306937321795,-0.307028566329,-0.307119808042,-0.307211046931,-0.307302282996,-0.307393516237,-0.307484746652,-0.307575974241,-0.307667199003,-0.307758420937,-0.307849640042,-0.307940856317,-0.308032069761,-0.308123280375,-0.308214488156,-0.308305693104,-0.308396895218,-0.308488094498,-0.308579290942,-0.308670484549,-0.308761675319,-0.308852863252,-0.308944048345,-0.309035230598,-0.309126410011,-0.309217586583,-0.309308760312,-0.309399931198,-0.309491099241,-0.309582264438,-0.30967342679,-0.309764586295,-0.309855742954,-0.309946896764,-0.310038047725,-0.310129195836,-0.310220341096,-0.310311483506,-0.310402623062,-0.310493759766,-0.310584893616,-0.31067602461,-0.31076715275,-0.310858278032,-0.310949400458,-0.311040520025,-0.311131636733,-0.311222750581,-0.311313861569,-0.311404969695,-0.311496074958,-0.311587177359,-0.311678276895,-0.311769373567,-0.311860467372,-0.311951558312,-0.312042646384,-0.312133731587,-0.312224813922,-0.312315893386,-0.31240696998,-0.312498043703,-0.312589114553,-0.312680182529,-0.312771247632,-0.31286230986,-0.312953369212,-0.313044425687,-0.313135479285,-0.313226530004,-0.313317577845,-0.313408622805,-0.313499664885,-0.313590704083,-0.313681740399,-0.313772773831,-0.31386380438,-0.313954832043,-0.31404585682,-0.314136878711,-0.314227897714,-0.314318913829,-0.314409927055,-0.314500937391,-0.314591944836,-0.31468294939,-0.314773951051,-0.314864949818,-0.314955945692,-0.31504693867,-0.315137928753,-0.315228915938,-0.315319900227,-0.315410881617,-0.315501860108,-0.315592835698,-0.315683808388,-0.315774778176,-0.315865745062,-0.315956709045,-0.316047670123,-0.316138628296,-0.316229583563,-0.316320535923,-0.316411485376,-0.316502431921,-0.316593375556,-0.316684316281,-0.316775254096,-0.316866188998,-0.316957120989,-0.317048050065,-0.317138976228,-0.317229899475,-0.317320819806,-0.317411737221,-0.317502651718,-0.317593563297,-0.317684471956,-0.317775377696,-0.317866280514,-0.317957180411,-0.318048077385,-0.318138971436,-0.318229862562,-0.318320750763,-0.318411636039,-0.318502518387,-0.318593397808,-0.318684274301,-0.318775147864,-0.318866018497,-0.318956886199,-0.31904775097,-0.319138612808,-0.319229471712,-0.319320327682,-0.319411180717,-0.319502030816,-0.319592877978,-0.319683722203,-0.319774563489,-0.319865401836,-0.319956237242,-0.320047069708,-0.320137899232,-0.320228725813,-0.320319549451,-0.320410370144,-0.320501187893,-0.320592002695,-0.320682814551,-0.320773623458,-0.320864429418,-0.320955232428,-0.321046032488,-0.321136829597,-0.321227623754,-0.321318414958,-0.321409203209,-0.321499988506,-0.321590770847,-0.321681550233,-0.321772326662,-0.321863100133,-0.321953870645,-0.322044638198,-0.322135402791,-0.322226164423,-0.322316923094,-0.322407678801,-0.322498431545,-0.322589181325,-0.322679928139,-0.322770671988,-0.322861412869,-0.322952150783,-0.323042885729,-0.323133617705,-0.323224346711,-0.323315072746,-0.323405795809,-0.3234965159,-0.323587233016,-0.323677947159,-0.323768658326,-0.323859366518,-0.323950071732,-0.324040773969,-0.324131473228,-0.324222169507,-0.324312862805,-0.324403553123,-0.324494240459,-0.324584924813,-0.324675606182,-0.324766284568,-0.324856959968,-0.324947632382,-0.32503830181,-0.325128968249,-0.3252196317,-0.325310292162,-0.325400949634,-0.325491604115,-0.325582255603,-0.325672904099,-0.325763549602,-0.32585419211,-0.325944831623,-0.32603546814,-0.326126101661,-0.326216732183,-0.326307359707,-0.326397984232,-0.326488605756,-0.32657922428,-0.326669839801,-0.32676045232,-0.326851061836,-0.326941668347,-0.327032271853,-0.327122872352,-0.327213469845,-0.327304064331,-0.327394655808,-0.327485244275,-0.327575829733,-0.327666412179,-0.327756991613,-0.327847568035,-0.327938141443,-0.328028711837,-0.328119279216,-0.328209843579,-0.328300404925,-0.328390963253,-0.328481518563,-0.328572070854,-0.328662620124,-0.328753166373,-0.328843709601,-0.328934249806,-0.329024786987,-0.329115321144,-0.329205852276,-0.329296380382,-0.329386905461,-0.329477427512,-0.329567946535,-0.329658462529,-0.329748975492,-0.329839485424,-0.329929992325,-0.330020496193,-0.330110997028,-0.330201494828,-0.330291989593,-0.330382481322,-0.330472970014,-0.330563455669,-0.330653938285,-0.330744417862,-0.330834894399,-0.330925367895,-0.331015838349,-0.33110630576,-0.331196770128,-0.331287231451,-0.33137768973,-0.331468144962,-0.331558597148,-0.331649046286,-0.331739492376,-0.331829935416,-0.331920375407,-0.332010812346,-0.332101246234,-0.332191677069,-0.33228210485,-0.332372529578,-0.33246295125,-0.332553369866,-0.332643785426,-0.332734197927,-0.332824607371,-0.332915013755,-0.333005417079,-0.333095817343,-0.333186214544,-0.333276608683,-0.333366999759,-0.33345738777,-0.333547772716,-0.333638154596,-0.33372853341,-0.333818909156,-0.333909281834,-0.333999651442,-0.33409001798,-0.334180381448,-0.334270741844,-0.334361099167,-0.334451453417,-0.334541804592,-0.334632152693,-0.334722497718,-0.334812839666,-0.334903178536,-0.334993514328,-0.335083847041,-0.335174176674,-0.335264503226,-0.335354826697,-0.335445147085,-0.335535464389,-0.335625778609,-0.335716089745,-0.335806397794,-0.335896702757,-0.335987004633,-0.33607730342,-0.336167599118,-0.336257891726,-0.336348181243,-0.336438467668,-0.336528751001,-0.336619031241,-0.336709308387,-0.336799582437,-0.336889853392,-0.33698012125,-0.337070386011,-0.337160647674,-0.337250906237,-0.337341161701,-0.337431414063,-0.337521663324,-0.337611909483,-0.337702152538,-0.33779239249,-0.337882629336,-0.337972863077,-0.338063093711,-0.338153321238,-0.338243545656,-0.338333766966,-0.338423985165,-0.338514200254,-0.338604412231,-0.338694621096,-0.338784826848,-0.338875029485,-0.338965229008,-0.339055425415,-0.339145618705,-0.339235808879,-0.339325995934,-0.33941617987,-0.339506360686,-0.339596538381,-0.339686712955,-0.339776884407,-0.339867052735,-0.33995721794,-0.340047380019,-0.340137538974,-0.340227694801,-0.340317847501,-0.340407997074,-0.340498143517,-0.34058828683,-0.340678427013,-0.340768564064,-0.340858697983,-0.340948828769,-0.341038956421,-0.341129080939,-0.34121920232,-0.341309320566,-0.341399435674,-0.341489547644,-0.341579656475,-0.341669762166,-0.341759864717,-0.341849964126,-0.341940060393,-0.342030153518,-0.342120243498,-0.342210330333,-0.342300414024,-0.342390494567,-0.342480571964,-0.342570646212,-0.342660717312,-0.342750785262,-0.342840850062,-0.34293091171,-0.343020970206,-0.343111025549,-0.343201077738,-0.343291126773,-0.343381172652,-0.343471215375,-0.343561254941,-0.343651291349,-0.343741324598,-0.343831354687,-0.343921381616,-0.344011405384,-0.34410142599,-0.344191443433,-0.344281457712,-0.344371468826,-0.344461476776,-0.344551481559,-0.344641483174,-0.344731481622,-0.344821476902,-0.344911469012,-0.345001457951,-0.345091443719,-0.345181426316,-0.345271405739,-0.345361381989,-0.345451355064,-0.345541324964,-0.345631291688,-0.345721255235,-0.345811215604,-0.345901172794,-0.345991126805,-0.346081077636,-0.346171025285,-0.346260969753,-0.346350911038,-0.346440849139,-0.346530784056,-0.346620715788,-0.346710644334,-0.346800569692,-0.346890491863,-0.346980410846,-0.347070326639,-0.347160239242,-0.347250148654,-0.347340054874,-0.347429957901,-0.347519857735,-0.347609754375,-0.347699647819,-0.347789538067,-0.347879425119,-0.347969308973,-0.348059189629,-0.348149067085,-0.348238941341,-0.348328812396,-0.348418680249,-0.3485085449,-0.348598406348,-0.348688264591,-0.348778119629,-0.348867971461,-0.348957820087,-0.349047665505,-0.349137507714,-0.349227346714,-0.349317182505,-0.349407015084,-0.349496844452,-0.349586670607,-0.349676493549,-0.349766313277,-0.34985612979,-0.349945943087,-0.350035753168,-0.350125560031,-0.350215363675,-0.350305164101,-0.350394961307,-0.350484755292,-0.350574546055,-0.350664333596,-0.350754117913,-0.350843899007,-0.350933676876,-0.351023451519,-0.351113222935,-0.351202991125,-0.351292756086,-0.351382517818,-0.35147227632,-0.351562031591,-0.351651783631,-0.351741532439,-0.351831278013,-0.351921020354,-0.35201075946,-0.35210049533,-0.352190227964,-0.35227995736,-0.352369683519,-0.352459406438,-0.352549126118,-0.352638842557,-0.352728555755,-0.352818265711,-0.352907972424,-0.352997675892,-0.353087376116,-0.353177073095,-0.353266766827,-0.353356457312,-0.353446144549,-0.353535828538,-0.353625509277,-0.353715186765,-0.353804861002,-0.353894531987,-0.353984199719,-0.354073864197,-0.35416352542,-0.354253183389,-0.354342838101,-0.354432489556,-0.354522137753,-0.354611782691,-0.35470142437,-0.354791062789,-0.354880697946,-0.354970329842,-0.355059958474,-0.355149583843,-0.355239205948,-0.355328824787,-0.35541844036,-0.355508052666,-0.355597661705,-0.355687267475,-0.355776869975,-0.355866469205,-0.355956065165,-0.356045657852,-0.356135247267,-0.356224833408,-0.356314416274,-0.356403995866,-0.356493572182,-0.35658314522,-0.356672714982,-0.356762281464,-0.356851844668,-0.356941404591,-0.357030961233,-0.357120514594,-0.357210064672,-0.357299611467,-0.357389154977,-0.357478695203,-0.357568232142,-0.357657765795,-0.35774729616,-0.357836823237,-0.357926347025,-0.358015867523,-0.35810538473,-0.358194898645,-0.358284409268,-0.358373916598,-0.358463420634,-0.358552921374,-0.358642418819,-0.358731912968,-0.358821403819,-0.358910891371,-0.359000375625,-0.359089856579,-0.359179334232,-0.359268808584,-0.359358279633,-0.35944774738,-0.359537211822,-0.359626672959,-0.359716130791,-0.359805585317,-0.359895036535,-0.359984484445,-0.360073929046,-0.360163370338,-0.360252808319,-0.360342242988,-0.360431674346,-0.36052110239,-0.360610527121,-0.360699948537,-0.360789366637,-0.360878781421,-0.360968192888,-0.361057601037,-0.361147005867,-0.361236407378,-0.361325805568,-0.361415200438,-0.361504591985,-0.361593980209,-0.361683365109,-0.361772746685,-0.361862124936,-0.36195149986,-0.362040871458,-0.362130239727,-0.362219604668,-0.36230896628,-0.362398324561,-0.362487679511,-0.36257703113,-0.362666379415,-0.362755724367,-0.362845065985,-0.362934404268,-0.363023739214,-0.363113070824,-0.363202399096,-0.363291724029,-0.363381045623,-0.363470363877,-0.36355967879,-0.363648990362,-0.363738298591,-0.363827603476,-0.363916905017,-0.364006203213,-0.364095498064,-0.364184789567,-0.364274077723,-0.364363362531,-0.364452643989,-0.364541922098,-0.364631196856,-0.364720468262,-0.364809736316,-0.364899001016,-0.364988262363,-0.365077520354,-0.36516677499,-0.365256026269,-0.365345274191,-0.365434518755,-0.36552375996,-0.365612997805,-0.365702232289,-0.365791463412,-0.365880691173,-0.36596991557,-0.366059136604,-0.366148354272,-0.366237568576,-0.366326779513,-0.366415987082,-0.366505191284,-0.366594392117,-0.36668358958,-0.366772783673,-0.366861974394,-0.366951161743,-0.36704034572,-0.367129526322,-0.36721870355,-0.367307877403,-0.367397047879,-0.367486214979,-0.3675753787,-0.367664539043,-0.367753696007,-0.36784284959,-0.367931999792,-0.368021146612,-0.368110290049,-0.368199430102,-0.368288566771,-0.368377700055,-0.368466829953,-0.368555956464,-0.368645079588,-0.368734199323,-0.368823315668,-0.368912428624,-0.369001538188,-0.369090644361,-0.369179747141,-0.369268846527,-0.36935794252,-0.369447035117,-0.369536124318,-0.369625210123,-0.36971429253,-0.369803371539,-0.369892447149,-0.369981519359,-0.370070588168,-0.370159653575,-0.37024871558,-0.370337774182,-0.370426829379,-0.370515881172,-0.370604929559,-0.37069397454,-0.370783016113,-0.370872054278,-0.370961089034,-0.37105012038,-0.371139148316,-0.37122817284,-0.371317193952,-0.371406211651,-0.371495225936,-0.371584236806,-0.371673244261,-0.371762248299,-0.37185124892,-0.371940246124,-0.372029239908,-0.372118230273,-0.372207217218,-0.372296200741,-0.372385180842,-0.37247415752,-0.372563130775,-0.372652100605,-0.37274106701,-0.372830029988,-0.37291898954,-0.373007945663,-0.373096898359,-0.373185847624,-0.37327479346,-0.373363735864,-0.373452674837,-0.373541610377,-0.373630542483,-0.373719471155,-0.373808396392,-0.373897318193,-0.373986236557,-0.374075151483,-0.374164062971,-0.37425297102,-0.374341875629,-0.374430776797,-0.374519674523,-0.374608568807,-0.374697459647,-0.374786347044,-0.374875230995,-0.374964111501,-0.37505298856,-0.375141862171,-0.375230732334,-0.375319599049,-0.375408462313,-0.375497322127,-0.375586178489,-0.375675031399,-0.375763880856,-0.375852726859,-0.375941569407,-0.3760304085,-0.376119244136,-0.376208076315,-0.376296905036,-0.376385730298,-0.3764745521,-0.376563370442,-0.376652185323,-0.376740996741,-0.376829804697,-0.376918609189,-0.377007410216,-0.377096207778,-0.377185001874,-0.377273792503,-0.377362579664,-0.377451363356,-0.377540143579,-0.377628920332,-0.377717693613,-0.377806463423,-0.37789522976,-0.377983992623,-0.378072752012,-0.378161507926,-0.378250260364,-0.378339009325,-0.378427754809,-0.378516496814,-0.37860523534,-0.378693970385,-0.37878270195,-0.378871430034,-0.378960154634,-0.379048875752,-0.379137593385,-0.379226307533,-0.379315018196,-0.379403725372,-0.37949242906,-0.37958112926,-0.379669825972,-0.379758519193,-0.379847208924,-0.379935895163,-0.38002457791,-0.380113257164,-0.380201932924,-0.38029060519,-0.380379273959,-0.380467939233,-0.380556601009,-0.380645259287,-0.380733914067,-0.380822565346,-0.380911213126,-0.380999857404,-0.38108849818,-0.381177135453,-0.381265769222,-0.381354399487,-0.381443026247,-0.3815316495,-0.381620269247,-0.381708885485,-0.381797498215,-0.381886107436,-0.381974713147,-0.382063315346,-0.382151914034,-0.382240509209,-0.38232910087,-0.382417689017,-0.382506273649,-0.382594854766,-0.382683432365,-0.382772006447,-0.382860577011,-0.382949144055,-0.383037707579,-0.383126267583,-0.383214824065,-0.383303377024,-0.383391926461,-0.383480472373,-0.38356901476,-0.383657553622,-0.383746088957,-0.383834620765,-0.383923149045,-0.384011673796,-0.384100195017,-0.384188712707,-0.384277226867,-0.384365737494,-0.384454244587,-0.384542748148,-0.384631248173,-0.384719744663,-0.384808237617,-0.384896727034,-0.384985212912,-0.385073695252,-0.385162174053,-0.385250649313,-0.385339121032,-0.38542758921,-0.385516053844,-0.385604514935,-0.385692972481,-0.385781426482,-0.385869876938,-0.385958323846,-0.386046767207,-0.386135207019,-0.386223643282,-0.386312075995,-0.386400505157,-0.386488930767,-0.386577352825,-0.386665771329,-0.38675418628,-0.386842597675,-0.386931005514,-0.387019409797,-0.387107810523,-0.38719620769,-0.387284601299,-0.387372991347,-0.387461377835,-0.387549760761,-0.387638140125,-0.387726515926,-0.387814888164,-0.387903256836,-0.387991621943,-0.388079983483,-0.388168341457,-0.388256695862,-0.388345046699,-0.388433393966,-0.388521737663,-0.388610077788,-0.388698414342,-0.388786747322,-0.388875076729,-0.388963402562,-0.389051724819,-0.3891400435,-0.389228358604,-0.389316670131,-0.389404978079,-0.389493282448,-0.389581583236,-0.389669880444,-0.38975817407,-0.389846464113,-0.389934750573,-0.390023033449,-0.39011131274,-0.390199588444,-0.390287860563,-0.390376129094,-0.390464394036,-0.39055265539,-0.390640913153,-0.390729167326,-0.390817417908,-0.390905664897,-0.390993908293,-0.391082148095,-0.391170384302,-0.391258616914,-0.391346845929,-0.391435071348,-0.391523293168,-0.391611511389,-0.391699726011,-0.391787937033,-0.391876144453,-0.391964348271,-0.392052548486,-0.392140745098,-0.392228938105,-0.392317127507,-0.392405313303,-0.392493495492,-0.392581674073,-0.392669849046,-0.392758020409,-0.392846188162,-0.392934352304,-0.393022512835,-0.393110669753,-0.393198823057,-0.393286972747,-0.393375118823,-0.393463261282,-0.393551400125,-0.39363953535,-0.393727666957,-0.393815794945,-0.393903919314,-0.393992040061,-0.394080157187,-0.394168270691,-0.394256380571,-0.394344486828,-0.39443258946,-0.394520688466,-0.394608783847,-0.394696875599,-0.394784963724,-0.394873048221,-0.394961129087,-0.395049206323,-0.395137279928,-0.395225349901,-0.395313416241,-0.395401478948,-0.39548953802,-0.395577593457,-0.395665645257,-0.395753693421,-0.395841737947,-0.395929778835,-0.396017816083,-0.396105849692,-0.396193879659,-0.396281905985,-0.396369928668,-0.396457947707,-0.396545963103,-0.396633974854,-0.396721982958,-0.396809987417,-0.396897988228,-0.39698598539,-0.397073978904,-0.397161968768,-0.397249954981,-0.397337937543,-0.397425916452,-0.397513891709,-0.397601863311,-0.397689831259,-0.397777795552,-0.397865756188,-0.397953713167,-0.398041666488,-0.39812961615,-0.398217562153,-0.398305504496,-0.398393443177,-0.398481378197,-0.398569309554,-0.398657237247,-0.398745161276,-0.398833081639,-0.398920998337,-0.399008911368,-0.399096820731,-0.399184726426,-0.399272628452,-0.399360526807,-0.399448421492,-0.399536312505,-0.399624199846,-0.399712083513,-0.399799963506,-0.399887839825,-0.399975712468,-0.400063581434,-0.400151446723,-0.400239308334,-0.400327166266,-0.400415020518,-0.40050287109,-0.40059071798,-0.400678561188,-0.400766400714,-0.400854236555,-0.400942068712,-0.401029897184,-0.401117721969,-0.401205543067,-0.401293360478,-0.4013811742,-0.401468984233,-0.401556790575,-0.401644593226,-0.401732392186,-0.401820187453,-0.401907979026,-0.401995766905,-0.40208355109,-0.402171331578,-0.402259108369,-0.402346881464,-0.402434650859,-0.402522416556,-0.402610178553,-0.402697936849,-0.402785691444,-0.402873442336,-0.402961189525,-0.40304893301,-0.403136672791,-0.403224408866,-0.403312141235,-0.403399869896,-0.403487594849,-0.403575316094,-0.403663033629,-0.403750747454,-0.403838457568,-0.403926163969,-0.404013866658,-0.404101565633,-0.404189260894,-0.404276952439,-0.404364640269,-0.404452324382,-0.404540004777,-0.404627681453,-0.40471535441,-0.404803023648,-0.404890689164,-0.404978350959,-0.405066009031,-0.40515366338,-0.405241314005,-0.405328960905,-0.405416604079,-0.405504243527,-0.405591879248,-0.40567951124,-0.405767139503,-0.405854764037,-0.40594238484,-0.406030001912,-0.406117615252,-0.406205224859,-0.406292830732,-0.40638043287,-0.406468031273,-0.40655562594,-0.40664321687,-0.406730804063,-0.406818387516,-0.40690596723,-0.406993543204,-0.407081115438,-0.407168683929,-0.407256248677,-0.407343809683,-0.407431366944,-0.40751892046,-0.40760647023,-0.407694016253,-0.407781558529,-0.407869097057,-0.407956631836,-0.408044162865,-0.408131690143,-0.40821921367,-0.408306733445,-0.408394249466,-0.408481761734,-0.408569270247,-0.408656775004,-0.408744276005,-0.40883177325,-0.408919266736,-0.409006756463,-0.409094242431,-0.409181724639,-0.409269203086,-0.40935667777,-0.409444148692,-0.409531615851,-0.409619079245,-0.409706538874,-0.409793994737,-0.409881446833,-0.409968895162,-0.410056339722,-0.410143780514,-0.410231217535,-0.410318650785,-0.410406080264,-0.410493505971,-0.410580927905,-0.410668346064,-0.410755760449,-0.410843171058,-0.410930577891,-0.411017980946,-0.411105380224,-0.411192775723,-0.411280167442,-0.411367555381,-0.411454939538,-0.411542319914,-0.411629696507,-0.411717069316,-0.41180443834,-0.41189180358,-0.411979165034,-0.4120665227,-0.412153876579,-0.41224122667,-0.412328572971,-0.412415915483,-0.412503254203,-0.412590589132,-0.412677920268,-0.412765247612,-0.412852571161,-0.412939890915,-0.413027206874,-0.413114519036,-0.413201827401,-0.413289131968,-0.413376432736,-0.413463729704,-0.413551022872,-0.413638312238,-0.413725597803,-0.413812879565,-0.413900157523,-0.413987431676,-0.414074702024,-0.414161968566,-0.414249231301,-0.414336490229,-0.414423745348,-0.414510996658,-0.414598244157,-0.414685487846,-0.414772727723,-0.414859963788,-0.414947196039,-0.415034424476,-0.415121649098,-0.415208869905,-0.415296086895,-0.415383300068,-0.415470509422,-0.415557714958,-0.415644916674,-0.415732114569,-0.415819308643,-0.415906498895,-0.415993685324,-0.41608086793,-0.41616804671,-0.416255221666,-0.416342392795,-0.416429560098,-0.416516723572,-0.416603883218,-0.416691039035,-0.416778191022,-0.416865339178,-0.416952483502,-0.417039623993,-0.417126760651,-0.417213893475,-0.417301022464,-0.417388147618,-0.417475268935,-0.417562386414,-0.417649500055,-0.417736609858,-0.41782371582,-0.417910817942,-0.417997916223,-0.418085010662,-0.418172101257,-0.418259188009,-0.418346270916,-0.418433349978,-0.418520425194,-0.418607496563,-0.418694564084,-0.418781627757,-0.41886868758,-0.418955743553,-0.419042795675,-0.419129843945,-0.419216888363,-0.419303928928,-0.419390965638,-0.419477998493,-0.419565027493,-0.419652052636,-0.419739073922,-0.419826091349,-0.419913104918,-0.420000114627,-0.420087120475,-0.420174122462,-0.420261120587,-0.420348114849,-0.420435105247,-0.42052209178,-0.420609074448,-0.42069605325,-0.420783028186,-0.420869999253,-0.420956966452,-0.421043929781,-0.42113088924,-0.421217844829,-0.421304796545,-0.42139174439,-0.42147868836,-0.421565628457,-0.421652564679,-0.421739497024,-0.421826425494,-0.421913350086,-0.4220002708,-0.422087187635,-0.42217410059,-0.422261009665,-0.422347914858,-0.422434816169,-0.422521713598,-0.422608607142,-0.422695496802,-0.422782382577,-0.422869264466,-0.422956142467,-0.423043016581,-0.423129886807,-0.423216753143,-0.423303615589,-0.423390474144,-0.423477328807,-0.423564179578,-0.423651026456,-0.423737869439,-0.423824708528,-0.42391154372,-0.423998375017,-0.424085202416,-0.424172025917,-0.424258845519,-0.424345661221,-0.424432473023,-0.424519280923,-0.424606084922,-0.424692885017,-0.424779681209,-0.424866473496,-0.424953261879,-0.425040046355,-0.425126826924,-0.425213603585,-0.425300376338,-0.425387145182,-0.425473910116,-0.425560671138,-0.42564742825,-0.425734181448,-0.425820930734,-0.425907676105,-0.425994417562,-0.426081155102,-0.426167888727,-0.426254618434,-0.426341344223,-0.426428066093,-0.426514784044,-0.426601498074,-0.426688208183,-0.42677491437,-0.426861616634,-0.426948314975,-0.427035009391,-0.427121699882,-0.427208386447,-0.427295069085,-0.427381747795,-0.427468422577,-0.42755509343,-0.427641760353,-0.427728423345,-0.427815082406,-0.427901737534,-0.427988388729,-0.42807503599,-0.428161679316,-0.428248318707,-0.428334954161,-0.428421585678,-0.428508213257,-0.428594836897,-0.428681456598,-0.428768072359,-0.428854684178,-0.428941292055,-0.42902789599,-0.429114495981,-0.429201092028,-0.42928768413,-0.429374272285,-0.429460856494,-0.429547436756,-0.429634013069,-0.429720585433,-0.429807153847,-0.429893718311,-0.429980278823,-0.430066835383,-0.430153387989,-0.430239936642,-0.43032648134,-0.430413022083,-0.430499558869,-0.430586091698,-0.43067262057,-0.430759145483,-0.430845666436,-0.430932183429,-0.431018696461,-0.431105205531,-0.431191710639,-0.431278211783,-0.431364708963,-0.431451202178,-0.431537691427,-0.43162417671,-0.431710658025,-0.431797135372,-0.43188360875,-0.431970078158,-0.432056543596,-0.432143005062,-0.432229462556,-0.432315916077,-0.432402365625,-0.432488811198,-0.432575252795,-0.432661690416,-0.432748124061,-0.432834553727,-0.432920979416,-0.433007401124,-0.433093818853,-0.433180232601,-0.433266642367,-0.433353048151,-0.433439449951,-0.433525847767,-0.433612241599,-0.433698631444,-0.433785017304,-0.433871399176,-0.43395777706,-0.434044150955,-0.43413052086,-0.434216886775,-0.434303248699,-0.434389606631,-0.43447596057,-0.434562310515,-0.434648656466,-0.434734998422,-0.434821336381,-0.434907670344,-0.43499400031,-0.435080326277,-0.435166648245,-0.435252966213,-0.43533928018,-0.435425590145,-0.435511896108,-0.435598198069,-0.435684496025,-0.435770789976,-0.435857079922,-0.435943365862,-0.436029647794,-0.436115925719,-0.436202199635,-0.436288469542,-0.436374735438,-0.436460997323,-0.436547255196,-0.436633509057,-0.436719758904,-0.436806004737,-0.436892246555,-0.436978484357,-0.437064718143,-0.437150947911,-0.437237173661,-0.437323395392,-0.437409613103,-0.437495826794,-0.437582036463,-0.43766824211,-0.437754443734,-0.437840641334,-0.43792683491,-0.438013024461,-0.438099209985,-0.438185391483,-0.438271568952,-0.438357742394,-0.438443911806,-0.438530077188,-0.438616238539,-0.438702395858,-0.438788549145,-0.438874698398,-0.438960843618,-0.439046984803,-0.439133121952,-0.439219255065,-0.43930538414,-0.439391509178,-0.439477630176,-0.439563747135,-0.439649860054,-0.439735968932,-0.439822073767,-0.43990817456,-0.43999427131,-0.440080364015,-0.440166452675,-0.440252537288,-0.440338617856,-0.440424694375,-0.440510766847,-0.440596835269,-0.440682899642,-0.440768959964,-0.440855016234,-0.440941068452,-0.441027116617,-0.441113160729,-0.441199200785,-0.441285236787,-0.441371268732,-0.44145729662,-0.44154332045,-0.441629340222,-0.441715355934,-0.441801367586,-0.441887375178,-0.441973378707,-0.442059378174,-0.442145373578,-0.442231364918,-0.442317352192,-0.442403335401,-0.442489314544,-0.442575289619,-0.442661260626,-0.442747227565,-0.442833190433,-0.442919149232,-0.443005103959,-0.443091054614,-0.443177001196,-0.443262943705,-0.443348882139,-0.443434816498,-0.443520746781,-0.443606672988,-0.443692595117,-0.443778513167,-0.443864427139,-0.44395033703,-0.444036242841,-0.44412214457,-0.444208042218,-0.444293935782,-0.444379825262,-0.444465710657,-0.444551591967,-0.444637469191,-0.444723342328,-0.444809211377,-0.444895076338,-0.444980937209,-0.44506679399,-0.44515264668,-0.445238495278,-0.445324339783,-0.445410180196,-0.445496016514,-0.445581848737,-0.445667676865,-0.445753500896,-0.44583932083,-0.445925136666,-0.446010948403,-0.44609675604,-0.446182559577,-0.446268359013,-0.446354154346,-0.446439945577,-0.446525732705,-0.446611515728,-0.446697294645,-0.446783069457,-0.446868840162,-0.44695460676,-0.447040369249,-0.447126127629,-0.4472118819,-0.447297632059,-0.447383378108,-0.447469120043,-0.447554857866,-0.447640591575,-0.44772632117,-0.447812046649,-0.447897768012,-0.447983485257,-0.448069198386,-0.448154907395,-0.448240612285,-0.448326313055,-0.448412009704,-0.448497702232,-0.448583390637,-0.448669074918,-0.448754755076,-0.448840431109,-0.448926103016,-0.449011770796,-0.44909743445,-0.449183093975,-0.449268749372,-0.449354400639,-0.449440047776,-0.449525690781,-0.449611329655,-0.449696964395,-0.449782595003,-0.449868221476,-0.449953843814,-0.450039462016,-0.450125076081,-0.450210686009,-0.450296291799,-0.450381893449,-0.45046749096,-0.45055308433,-0.450638673559,-0.450724258646,-0.45080983959,-0.45089541639,-0.450980989045,-0.451066557555,-0.451152121919,-0.451237682136,-0.451323238206,-0.451408790127,-0.451494337898,-0.45157988152,-0.451665420991,-0.45175095631,-0.451836487477,-0.451922014491,-0.45200753735,-0.452093056055,-0.452178570605,-0.452264080998,-0.452349587234,-0.452435089312,-0.452520587231,-0.452606080991,-0.452691570591,-0.452777056029,-0.452862537306,-0.45294801442,-0.453033487371,-0.453118956157,-0.453204420779,-0.453289881235,-0.453375337524,-0.453460789646,-0.4535462376,-0.453631681385,-0.453717121,-0.453802556445,-0.453887987718,-0.45397341482,-0.454058837749,-0.454144256504,-0.454229671084,-0.45431508149,-0.454400487719,-0.454485889772,-0.454571287647,-0.454656681344,-0.454742070862,-0.4548274562,-0.454912837357,-0.454998214333,-0.455083587126,-0.455168955737,-0.455254320163,-0.455339680406,-0.455425036462,-0.455510388333,-0.455595736016,-0.455681079512,-0.455766418819,-0.455851753937,-0.455937084865,-0.456022411602,-0.456107734148,-0.456193052501,-0.45627836666,-0.456363676626,-0.456448982397,-0.456534283972,-0.456619581351,-0.456704874533,-0.456790163517,-0.456875448302,-0.456960728888,-0.457046005273,-0.457131277457,-0.45721654544,-0.457301809219,-0.457387068796,-0.457472324168,-0.457557575335,-0.457642822297,-0.457728065051,-0.457813303599,-0.457898537938,-0.457983768069,-0.45806899399,-0.4581542157,-0.458239433199,-0.458324646486,-0.45840985556,-0.458495060421,-0.458580261067,-0.458665457498,-0.458750649713,-0.458835837712,-0.458921021492,-0.459006201055,-0.459091376398,-0.459176547522,-0.459261714425,-0.459346877106,-0.459432035566,-0.459517189802,-0.459602339814,-0.459687485602,-0.459772627165,-0.459857764501,-0.459942897611,-0.460028026493,-0.460113151146,-0.46019827157,-0.460283387764,-0.460368499727,-0.460453607459,-0.460538710958,-0.460623810224,-0.460708905256,-0.460793996054,-0.460879082616,-0.460964164941,-0.46104924303,-0.46113431688,-0.461219386492,-0.461304451865,-0.461389512997,-0.461474569888,-0.461559622538,-0.461644670945,-0.461729715108,-0.461814755028,-0.461899790702,-0.461984822131,-0.462069849314,-0.462154872249,-0.462239890936,-0.462324905375,-0.462409915563,-0.462494921502,-0.462579923189,-0.462664920624,-0.462749913807,-0.462834902736,-0.462919887411,-0.463004867831,-0.463089843995,-0.463174815902,-0.463259783552,-0.463344746944,-0.463429706076,-0.463514660949,-0.463599611562,-0.463684557913,-0.463769500002,-0.463854437828,-0.463939371391,-0.464024300689,-0.464109225722,-0.464194146489,-0.464279062989,-0.464363975222,-0.464448883186,-0.464533786881,-0.464618686306,-0.464703581461,-0.464788472344,-0.464873358955,-0.464958241293,-0.465043119357,-0.465127993146,-0.46521286266,-0.465297727898,-0.46538258886,-0.465467445543,-0.465552297948,-0.465637146073,-0.465721989919,-0.465806829484,-0.465891664767,-0.465976495768,-0.466061322486,-0.466146144919,-0.466230963068,-0.466315776932,-0.466400586509,-0.466485391799,-0.466570192802,-0.466654989516,-0.46673978194,-0.466824570074,-0.466909353917,-0.466994133469,-0.467078908728,-0.467163679694,-0.467248446365,-0.467333208742,-0.467417966823,-0.467502720608,-0.467587470095,-0.467672215285,-0.467756956176,-0.467841692767,-0.467926425058,-0.468011153048,-0.468095876736,-0.468180596122,-0.468265311204,-0.468350021982,-0.468434728455,-0.468519430622,-0.468604128483,-0.468688822036,-0.468773511281,-0.468858196217,-0.468942876844,-0.46902755316,-0.469112225165,-0.469196892859,-0.469281556239,-0.469366215306,-0.469450870058,-0.469535520496,-0.469620166617,-0.469704808422,-0.46978944591,-0.469874079079,-0.469958707929,-0.47004333246,-0.47012795267,-0.470212568558,-0.470297180125,-0.470381787369,-0.470466390289,-0.470550988884,-0.470635583155,-0.470720173099,-0.470804758717,-0.470889340007,-0.470973916969,-0.471058489601,-0.471143057904,-0.471227621877,-0.471312181517,-0.471396736826,-0.471481287802,-0.471565834443,-0.471650376751,-0.471734914723,-0.471819448359,-0.471903977658,-0.471988502619,-0.472073023242,-0.472157539526,-0.47224205147,-0.472326559073,-0.472411062335,-0.472495561254,-0.47258005583,-0.472664546063,-0.47274903195,-0.472833513493,-0.472917990689,-0.473002463538,-0.473086932039,-0.473171396192,-0.473255855996,-0.47334031145,-0.473424762552,-0.473509209303,-0.473593651702,-0.473678089748,-0.473762523439,-0.473846952776,-0.473931377757,-0.474015798383,-0.474100214651,-0.474184626561,-0.474269034112,-0.474353437305,-0.474437836137,-0.474522230608,-0.474606620717,-0.474691006464,-0.474775387848,-0.474859764868,-0.474944137522,-0.475028505812,-0.475112869735,-0.47519722929,-0.475281584478,-0.475365935297,-0.475450281747,-0.475534623827,-0.475618961535,-0.475703294872,-0.475787623836,-0.475871948427,-0.475956268643,-0.476040584485,-0.476124895951,-0.476209203041,-0.476293505753,-0.476377804088,-0.476462098044,-0.47654638762,-0.476630672816,-0.47671495363,-0.476799230063,-0.476883502114,-0.47696776978,-0.477052033063,-0.477136291961,-0.477220546473,-0.477304796598,-0.477389042337,-0.477473283687,-0.477557520648,-0.47764175322,-0.477725981401,-0.477810205191,-0.477894424589,-0.477978639595,-0.478062850207,-0.478147056425,-0.478231258248,-0.478315455675,-0.478399648705,-0.478483837338,-0.478568021573,-0.478652201409,-0.478736376845,-0.478820547881,-0.478904714516,-0.478988876749,-0.479073034579,-0.479157188005,-0.479241337027,-0.479325481644,-0.479409621856,-0.47949375766,-0.479577889057,-0.479662016046,-0.479746138626,-0.479830256797,-0.479914370556,-0.479998479905,-0.480082584841,-0.480166685365,-0.480250781475,-0.480334873171,-0.480418960451,-0.480503043316,-0.480587121764,-0.480671195795,-0.480755265407,-0.4808393306,-0.480923391374,-0.481007447727,-0.481091499659,-0.481175547168,-0.481259590255,-0.481343628918,-0.481427663157,-0.48151169297,-0.481595718358,-0.481679739319,-0.481763755852,-0.481847767957,-0.481931775633,-0.482015778879,-0.482099777695,-0.482183772079,-0.482267762031,-0.482351747551,-0.482435728636,-0.482519705287,-0.482603677503,-0.482687645283,-0.482771608626,-0.482855567532,-0.482939521999,-0.483023472027,-0.483107417616,-0.483191358763,-0.48327529547,-0.483359227734,-0.483443155555,-0.483527078933,-0.483610997866,-0.483694912354,-0.483778822396,-0.483862727991,-0.483946629138,-0.484030525837,-0.484114418087,-0.484198305888,-0.484282189237,-0.484366068135,-0.484449942581,-0.484533812574,-0.484617678113,-0.484701539198,-0.484785395827,-0.484869248001,-0.484953095717,-0.485036938976,-0.485120777777,-0.485204612119,-0.485288442,-0.485372267421,-0.485456088381,-0.485539904878,-0.485623716912,-0.485707524483,-0.485791327589,-0.48587512623,-0.485958920404,-0.486042710112,-0.486126495353,-0.486210276124,-0.486294052427,-0.48637782426,-0.486461591622,-0.486545354513,-0.486629112932,-0.486712866877,-0.486796616349,-0.486880361346,-0.486964101868,-0.487047837914,-0.487131569483,-0.487215296574,-0.487299019187,-0.487382737321,-0.487466450975,-0.487550160148,-0.48763386484,-0.48771756505,-0.487801260776,-0.487884952019,-0.487968638778,-0.488052321051,-0.488135998838,-0.488219672138,-0.48830334095,-0.488387005274,-0.488470665109,-0.488554320454,-0.488637971309,-0.488721617671,-0.488805259542,-0.48888889692,-0.488972529804,-0.489056158193,-0.489139782087,-0.489223401485,-0.489307016386,-0.48939062679,-0.489474232695,-0.489557834101,-0.489641431007,-0.489725023413,-0.489808611317,-0.489892194719,-0.489975773617,-0.490059348012,-0.490142917903,-0.490226483288,-0.490310044167,-0.49039360054,-0.490477152405,-0.490560699761,-0.490644242608,-0.490727780946,-0.490811314773,-0.490894844088,-0.490978368891,-0.491061889181,-0.491145404957,-0.491228916219,-0.491312422966,-0.491395925197,-0.49147942291,-0.491562916107,-0.491646404784,-0.491729888943,-0.491813368582,-0.4918968437,-0.491980314297,-0.492063780372,-0.492147241923,-0.492230698951,-0.492314151455,-0.492397599433,-0.492481042886,-0.492564481811,-0.492647916209,-0.492731346079,-0.492814771419,-0.49289819223,-0.49298160851,-0.493065020259,-0.493148427475,-0.493231830159,-0.493315228309,-0.493398621924,-0.493482011004,-0.493565395549,-0.493648775556,-0.493732151026,-0.493815521958,-0.493898888351,-0.493982250204,-0.494065607516,-0.494148960287,-0.494232308516,-0.494315652202,-0.494398991344,-0.494482325942,-0.494565655995,-0.494648981502,-0.494732302462,-0.494815618875,-0.494898930739,-0.494982238054,-0.49506554082,-0.495148839035,-0.495232132699,-0.495315421811,-0.49539870637,-0.495481986375,-0.495565261826,-0.495648532722,-0.495731799061,-0.495815060845,-0.495898318071,-0.495981570738,-0.496064818847,-0.496148062396,-0.496231301384,-0.496314535811,-0.496397765677,-0.496480990979,-0.496564211718,-0.496647427893,-0.496730639502,-0.496813846546,-0.496897049023,-0.496980246932,-0.497063440274,-0.497146629046,-0.497229813249,-0.497312992882,-0.497396167943,-0.497479338433,-0.497562504349,-0.497645665692,-0.497728822461,-0.497811974655,-0.497895122273,-0.497978265315,-0.498061403779,-0.498144537665,-0.498227666973,-0.498310791701,-0.498393911848,-0.498477027414,-0.498560138399,-0.4986432448,-0.498726346619,-0.498809443853,-0.498892536502,-0.498975624565,-0.499058708042,-0.499141786932,-0.499224861234,-0.499307930946,-0.49939099607,-0.499474056603,-0.499557112545,-0.499640163895,-0.499723210653,-0.499806252817,-0.499889290387,-0.499972323363,-0.500055351742,-0.500138375526,-0.500221394712,-0.5003044093,-0.50038741929,-0.50047042468,-0.500553425469,-0.500636421658,-0.500719413245,-0.50080240023,-0.500885382611,-0.500968360389,-0.501051333561,-0.501134302128,-0.501217266089,-0.501300225442,-0.501383180188,-0.501466130325,-0.501549075853,-0.50163201677,-0.501714953077,-0.501797884772,-0.501880811855,-0.501963734324,-0.50204665218,-0.50212956542,-0.502212474046,-0.502295378055,-0.502378277447,-0.502461172221,-0.502544062377,-0.502626947914,-0.50270982883,-0.502792705126,-0.5028755768,-0.502958443852,-0.503041306281,-0.503124164086,-0.503207017266,-0.503289865821,-0.50337270975,-0.503455549051,-0.503538383726,-0.503621213772,-0.503704039188,-0.503786859975,-0.503869676131,-0.503952487655,-0.504035294548,-0.504118096807,-0.504200894433,-0.504283687424,-0.50436647578,-0.504449259499,-0.504532038582,-0.504614813028,-0.504697582835,-0.504780348003,-0.504863108531,-0.504945864419,-0.505028615665,-0.505111362269,-0.505194104231,-0.505276841548,-0.505359574222,-0.50544230225,-0.505525025632,-0.505607744367,-0.505690458455,-0.505773167895,-0.505855872686,-0.505938572827,-0.506021268318,-0.506103959158,-0.506186645345,-0.50626932688,-0.506352003761,-0.506434675988,-0.50651734356,-0.506600006476,-0.506682664736,-0.506765318338,-0.506847967282,-0.506930611567,-0.507013251193,-0.507095886158,-0.507178516462,-0.507261142105,-0.507343763084,-0.507426379401,-0.507508991053,-0.50759159804,-0.507674200362,-0.507756798017,-0.507839391005,-0.507921979325,-0.508004562976,-0.508087141958,-0.50816971627,-0.50825228591,-0.508334850879,-0.508417411175,-0.508499966799,-0.508582517748,-0.508665064022,-0.508747605621,-0.508830142543,-0.508912674789,-0.508995202356,-0.509077725245,-0.509160243455,-0.509242756984,-0.509325265833,-0.50940777,-0.509490269485,-0.509572764287,-0.509655254404,-0.509737739837,-0.509820220585,-0.509902696647,-0.509985168021,-0.510067634708,-0.510150096707,-0.510232554016,-0.510315006635,-0.510397454564,-0.510479897801,-0.510562336346,-0.510644770198,-0.510727199357,-0.51080962382,-0.510892043589,-0.510974458661,-0.511056869037,-0.511139274715,-0.511221675695,-0.511304071976,-0.511386463557,-0.511468850438,-0.511551232617,-0.511633610094,-0.511715982869,-0.511798350939,-0.511880714306,-0.511963072967,-0.512045426923,-0.512127776172,-0.512210120713,-0.512292460546,-0.512374795671,-0.512457126086,-0.51253945179,-0.512621772783,-0.512704089065,-0.512786400634,-0.512868707489,-0.51295100963,-0.513033307056,-0.513115599767,-0.513197887761,-0.513280171038,-0.513362449596,-0.513444723437,-0.513526992557,-0.513609256958,-0.513691516637,-0.513773771595,-0.51385602183,-0.513938267342,-0.51402050813,-0.514102744193,-0.514184975531,-0.514267202142,-0.514349424027,-0.514431641183,-0.514513853611,-0.51459606131,-0.514678264279,-0.514760462517,-0.514842656023,-0.514924844797,-0.515007028838,-0.515089208145,-0.515171382717,-0.515253552554,-0.515335717655,-0.515417878019,-0.515500033646,-0.515582184534,-0.515664330683,-0.515746472092,-0.515828608761,-0.515910740688,-0.515992867873,-0.516074990315,-0.516157108014,-0.516239220968,-0.516321329177,-0.51640343264,-0.516485531356,-0.516567625325,-0.516649714546,-0.516731799018,-0.51681387874,-0.516895953711,-0.516978023932,-0.5170600894,-0.517142150116,-0.517224206079,-0.517306257287,-0.51738830374,-0.517470345437,-0.517552382378,-0.517634414562,-0.517716441988,-0.517798464655,-0.517880482562,-0.51796249571,-0.518044504096,-0.518126507721,-0.518208506583,-0.518290500681,-0.518372490016,-0.518454474586,-0.518536454391,-0.518618429429,-0.5187003997,-0.518782365203,-0.518864325938,-0.518946281904,-0.519028233099,-0.519110179524,-0.519192121177,-0.519274058058,-0.519355990166,-0.5194379175,-0.519519840059,-0.519601757843,-0.519683670851,-0.519765579082,-0.519847482536,-0.519929381211,-0.520011275108,-0.520093164224,-0.52017504856,-0.520256928114,-0.520338802887,-0.520420672876,-0.520502538082,-0.520584398504,-0.52066625414,-0.520748104991,-0.520829951055,-0.520911792332,-0.52099362882,-0.52107546052,-0.52115728743,-0.52123910955,-0.521320926879,-0.521402739415,-0.521484547159,-0.52156635011,-0.521648148267,-0.521729941629,-0.521811730195,-0.521893513965,-0.521975292937,-0.522057067112,-0.522138836488,-0.522220601065,-0.522302360841,-0.522384115817,-0.522465865991,-0.522547611363,-0.522629351931,-0.522711087696,-0.522792818656,-0.52287454481,-0.522956266159,-0.5230379827,-0.523119694434,-0.523201401359,-0.523283103476,-0.523364800782,-0.523446493278,-0.523528180962,-0.523609863834,-0.523691541893,-0.523773215139,-0.52385488357,-0.523936547186,-0.524018205986,-0.52409985997,-0.524181509136,-0.524263153484,-0.524344793013,-0.524426427722,-0.524508057611,-0.524589682678,-0.524671302924,-0.524752918347,-0.524834528947,-0.524916134723,-0.524997735673,-0.525079331798,-0.525160923097,-0.525242509568,-0.525324091212,-0.525405668026,-0.525487240012,-0.525568807167,-0.525650369491,-0.525731926984,-0.525813479644,-0.525895027471,-0.525976570464,-0.526058108623,-0.526139641946,-0.526221170433,-0.526302694083,-0.526384212895,-0.526465726869,-0.526547236004,-0.526628740298,-0.526710239753,-0.526791734365,-0.526873224136,-0.526954709064,-0.527036189148,-0.527117664387,-0.527199134782,-0.52728060033,-0.527362061032,-0.527443516887,-0.527524967893,-0.527606414051,-0.527687855359,-0.527769291816,-0.527850723423,-0.527932150177,-0.528013572079,-0.528094989127,-0.528176401321,-0.528257808661,-0.528339211145,-0.528420608772,-0.528502001542,-0.528583389455,-0.528664772508,-0.528746150703,-0.528827524037,-0.52890889251,-0.528990256122,-0.529071614872,-0.529152968758,-0.52923431778,-0.529315661938,-0.52939700123,-0.529478335657,-0.529559665216,-0.529640989908,-0.529722309732,-0.529803624686,-0.529884934771,-0.529966239985,-0.530047540328,-0.530128835798,-0.530210126396,-0.53029141212,-0.53037269297,-0.530453968945,-0.530535240044,-0.530616506266,-0.530697767612,-0.530779024079,-0.530860275667,-0.530941522376,-0.531022764204,-0.531104001151,-0.531185233217,-0.5312664604,-0.5313476827,-0.531428900115,-0.531510112646,-0.531591320292,-0.531672523051,-0.531753720923,-0.531834913907,-0.531916102003,-0.531997285209,-0.532078463526,-0.532159636952,-0.532240805486,-0.532321969128,-0.532403127877,-0.532484281733,-0.532565430693,-0.532646574759,-0.532727713929,-0.532808848202,-0.532889977577,-0.532971102054,-0.533052221633,-0.533133336311,-0.533214446089,-0.533295550966,-0.533376650941,-0.533457746014,-0.533538836183,-0.533619921447,-0.533701001807,-0.533782077261,-0.533863147809,-0.53394421345,-0.534025274182,-0.534106330006,-0.534187380921,-0.534268426926,-0.534349468019,-0.534430504201,-0.534511535471,-0.534592561827,-0.53467358327,-0.534754599798,-0.534835611411,-0.534916618107,-0.534997619887,-0.535078616749,-0.535159608693,-0.535240595718,-0.535321577823,-0.535402555007,-0.53548352727,-0.535564494611,-0.53564545703,-0.535726414524,-0.535807367095,-0.53588831474,-0.53596925746,-0.536050195253,-0.536131128119,-0.536212056057,-0.536292979066,-0.536373897146,-0.536454810295,-0.536535718513,-0.5366166218,-0.536697520154,-0.536778413575,-0.536859302062,-0.536940185615,-0.537021064232,-0.537101937913,-0.537182806656,-0.537263670463,-0.53734452933,-0.537425383259,-0.537506232248,-0.537587076296,-0.537667915402,-0.537748749567,-0.537829578789,-0.537910403067,-0.5379912224,-0.538072036789,-0.538152846232,-0.538233650728,-0.538314450277,-0.538395244877,-0.538476034529,-0.538556819232,-0.538637598984,-0.538718373785,-0.538799143634,-0.538879908531,-0.538960668474,-0.539041423464,-0.539122173499,-0.539202918578,-0.539283658701,-0.539364393867,-0.539445124075,-0.539525849325,-0.539606569616,-0.539687284946,-0.539767995316,-0.539848700725,-0.539929401171,-0.540010096655,-0.540090787174,-0.54017147273,-0.54025215332,-0.540332828945,-0.540413499602,-0.540494165293,-0.540574826015,-0.540655481768,-0.540736132552,-0.540816778366,-0.540897419208,-0.540978055079,-0.541058685977,-0.541139311902,-0.541219932853,-0.541300548828,-0.541381159829,-0.541461765853,-0.5415423669,-0.54162296297,-0.541703554061,-0.541784140172,-0.541864721304,-0.541945297455,-0.542025868625,-0.542106434812,-0.542186996017,-0.542267552238,-0.542348103474,-0.542428649726,-0.542509190991,-0.54258972727,-0.542670258561,-0.542750784865,-0.542831306179,-0.542911822504,-0.542992333838,-0.543072840182,-0.543153341534,-0.543233837893,-0.543314329258,-0.54339481563,-0.543475297007,-0.543555773389,-0.543636244774,-0.543716711162,-0.543797172553,-0.543877628945,-0.543958080338,-0.544038526731,-0.544118968123,-0.544199404514,-0.544279835903,-0.544360262288,-0.544440683671,-0.544521100048,-0.544601511421,-0.544681917788,-0.544762319148,-0.544842715501,-0.544923106845,-0.545003493181,-0.545083874508,-0.545164250824,-0.545244622129,-0.545324988422,-0.545405349703,-0.54548570597,-0.545566057224,-0.545646403463,-0.545726744686,-0.545807080893,-0.545887412083,-0.545967738256,-0.54604805941,-0.546128375545,-0.54620868666,-0.546288992754,-0.546369293827,-0.546449589878,-0.546529880906,-0.546610166911,-0.546690447891,-0.546770723846,-0.546850994775,-0.546931260678,-0.547011521554,-0.547091777401,-0.54717202822,-0.547252274009,-0.547332514768,-0.547412750496,-0.547492981193,-0.547573206857,-0.547653427487,-0.547733643084,-0.547813853646,-0.547894059173,-0.547974259664,-0.548054455118,-0.548134645534,-0.548214830912,-0.54829501125,-0.548375186549,-0.548455356808,-0.548535522025,-0.5486156822,-0.548695837333,-0.548775987421,-0.548856132466,-0.548936272466,-0.54901640742,-0.549096537327,-0.549176662188,-0.549256782,-0.549336896764,-0.549417006478,-0.549497111143,-0.549577210756,-0.549657305318,-0.549737394827,-0.549817479284,-0.549897558687,-0.549977633035,-0.550057702327,-0.550137766564,-0.550217825744,-0.550297879867,-0.550377928931,-0.550457972937,-0.550538011882,-0.550618045768,-0.550698074592,-0.550778098354,-0.550858117053,-0.55093813069,-0.551018139262,-0.551098142769,-0.551178141211,-0.551258134586,-0.551338122894,-0.551418106135,-0.551498084307,-0.55157805741,-0.551658025443,-0.551737988405,-0.551817946295,-0.551897899114,-0.551977846859,-0.552057789531,-0.552137727129,-0.552217659651,-0.552297587097,-0.552377509467,-0.55245742676,-0.552537338974,-0.55261724611,-0.552697148166,-0.552777045142,-0.552856937036,-0.552936823849,-0.55301670558,-0.553096582227,-0.553176453791,-0.55325632027,-0.553336181663,-0.55341603797,-0.55349588919,-0.553575735323,-0.553655576367,-0.553735412323,-0.553815243188,-0.553895068963,-0.553974889647,-0.554054705238,-0.554134515737,-0.554214321142,-0.554294121454,-0.55437391667,-0.55445370679,-0.554533491814,-0.554613271741,-0.55469304657,-0.554772816301,-0.554852580932,-0.554932340463,-0.555012094893,-0.555091844222,-0.555171588448,-0.555251327571,-0.555331061591,-0.555410790506,-0.555490514316,-0.55557023302,-0.555649946617,-0.555729655107,-0.555809358488,-0.555889056761,-0.555968749924,-0.556048437977,-0.556128120919,-0.556207798749,-0.556287471466,-0.55636713907,-0.55644680156,-0.556526458936,-0.556606111196,-0.556685758339,-0.556765400366,-0.556845037275,-0.556924669066,-0.557004295737,-0.557083917289,-0.55716353372,-0.55724314503,-0.557322751218,-0.557402352283,-0.557481948224,-0.557561539041,-0.557641124733,-0.5577207053,-0.55780028074,-0.557879851053,-0.557959416237,-0.558038976294,-0.558118531221,-0.558198081017,-0.558277625683,-0.558357165218,-0.55843669962,-0.558516228889,-0.558595753024,-0.558675272025,-0.55875478589,-0.55883429462,-0.558913798213,-0.558993296668,-0.559072789986,-0.559152278164,-0.559231761203,-0.559311239102,-0.559390711859,-0.559470179475,-0.559549641948,-0.559629099278,-0.559708551464,-0.559787998505,-0.559867440401,-0.55994687715,-0.560026308753,-0.560105735208,-0.560185156514,-0.560264572672,-0.56034398368,-0.560423389537,-0.560502790242,-0.560582185796,-0.560661576197,-0.560740961445,-0.560820341538,-0.560899716477,-0.560979086259,-0.561058450886,-0.561137810355,-0.561217164666,-0.561296513819,-0.561375857813,-0.561455196646,-0.561534530319,-0.56161385883,-0.561693182179,-0.561772500365,-0.561851813387,-0.561931121245,-0.562010423937,-0.562089721464,-0.562169013824,-0.562248301017,-0.562327583042,-0.562406859898,-0.562486131584,-0.562565398101,-0.562644659446,-0.562723915619,-0.56280316662,-0.562882412448,-0.562961653102,-0.563040888582,-0.563120118886,-0.563199344014,-0.563278563965,-0.563357778739,-0.563436988334,-0.56351619275,-0.563595391987,-0.563674586043,-0.563753774918,-0.563832958611,-0.563912137122,-0.563991310449,-0.564070478592,-0.56414964155,-0.564228799323,-0.564307951909,-0.564387099309,-0.564466241521,-0.564545378544,-0.564624510378,-0.564703637022,-0.564782758476,-0.564861874738,-0.564940985808,-0.565020091685,-0.565099192369,-0.565178287858,-0.565257378153,-0.565336463251,-0.565415543154,-0.565494617859,-0.565573687366,-0.565652751674,-0.565731810784,-0.565810864693,-0.565889913401,-0.565968956908,-0.566047995212,-0.566127028314,-0.566206056212,-0.566285078905,-0.566364096393,-0.566443108675,-0.566522115751,-0.566601117619,-0.56668011428,-0.566759105731,-0.566838091973,-0.566917073004,-0.566996048825,-0.567075019434,-0.567153984831,-0.567232945014,-0.567311899983,-0.567390849738,-0.567469794278,-0.567548733601,-0.567627667708,-0.567706596597,-0.567785520268,-0.56786443872,-0.567943351952,-0.568022259964,-0.568101162755,-0.568180060324,-0.56825895267,-0.568337839793,-0.568416721692,-0.568495598366,-0.568574469815,-0.568653336037,-0.568732197033,-0.568811052801,-0.56888990334,-0.568968748651,-0.569047588731,-0.569126423581,-0.5692052532,-0.569284077586,-0.56936289674,-0.569441710661,-0.569520519347,-0.569599322798,-0.569678121014,-0.569756913993,-0.569835701736,-0.56991448424,-0.569993261506,-0.570072033533,-0.570150800319,-0.570229561865,-0.57030831817,-0.570387069232,-0.570465815052,-0.570544555628,-0.57062329096,-0.570702021046,-0.570780745887,-0.570859465481,-0.570938179828,-0.571016888928,-0.571095592778,-0.571174291379,-0.57125298473,-0.57133167283,-0.571410355679,-0.571489033275,-0.571567705618,-0.571646372708,-0.571725034543,-0.571803691123,-0.571882342447,-0.571960988515,-0.572039629325,-0.572118264877,-0.57219689517,-0.572275520204,-0.572354139977,-0.57243275449,-0.572511363741,-0.572589967729,-0.572668566454,-0.572747159916,-0.572825748113,-0.572904331045,-0.57298290871,-0.573061481109,-0.57314004824,-0.573218610104,-0.573297166698,-0.573375718023,-0.573454264077,-0.57353280486,-0.573611340372,-0.573689870611,-0.573768395577,-0.573846915269,-0.573925429686,-0.574003938827,-0.574082442693,-0.574160941282,-0.574239434593,-0.574317922626,-0.57439640538,-0.574474882854,-0.574553355048,-0.57463182196,-0.574710283591,-0.574788739939,-0.574867191004,-0.574945636784,-0.57502407728,-0.575102512491,-0.575180942415,-0.575259367052,-0.575337786402,-0.575416200463,-0.575494609235,-0.575573012717,-0.575651410909,-0.575729803809,-0.575808191418,-0.575886573734,-0.575964950756,-0.576043322484,-0.576121688917,-0.576200050055,-0.576278405897,-0.576356756441,-0.576435101688,-0.576513441636,-0.576591776285,-0.576670105634,-0.576748429682,-0.57682674843,-0.576905061875,-0.576983370017,-0.577061672856,-0.57713997039,-0.57721826262,-0.577296549544,-0.577374831161,-0.577453107472,-0.577531378474,-0.577609644168,-0.577687904553,-0.577766159628,-0.577844409392,-0.577922653845,-0.578000892985,-0.578079126813,-0.578157355327,-0.578235578527,-0.578313796412,-0.578392008981,-0.578470216233,-0.578548418169,-0.578626614786,-0.578704806085,-0.578782992065,-0.578861172724,-0.578939348063,-0.57901751808,-0.579095682775,-0.579173842148,-0.579251996196,-0.57933014492,-0.579408288319,-0.579486426393,-0.579564559139,-0.579642686559,-0.579720808651,-0.579798925413,-0.579877036847,-0.57995514295,-0.580033243723,-0.580111339164,-0.580189429273,-0.580267514049,-0.580345593491,-0.580423667598,-0.580501736371,-0.580579799808,-0.580657857908,-0.580735910671,-0.580813958096,-0.580892000182,-0.580970036929,-0.581048068335,-0.581126094401,-0.581204115125,-0.581282130507,-0.581360140546,-0.581438145241,-0.581516144591,-0.581594138597,-0.581672127256,-0.581750110569,-0.581828088535,-0.581906061153,-0.581984028421,-0.582061990341,-0.58213994691,-0.582217898128,-0.582295843995,-0.582373784509,-0.58245171967,-0.582529649478,-0.582607573931,-0.582685493029,-0.582763406771,-0.582841315156,-0.582919218184,-0.582997115853,-0.583075008164,-0.583152895116,-0.583230776707,-0.583308652938,-0.583386523806,-0.583464389313,-0.583542249456,-0.583620104236,-0.583697953651,-0.5837757977,-0.583853636384,-0.583931469701,-0.584009297651,-0.584087120233,-0.584164937446,-0.584242749289,-0.584320555762,-0.584398356864,-0.584476152595,-0.584553942953,-0.584631727938,-0.584709507549,-0.584787281786,-0.584865050648,-0.584942814133,-0.585020572242,-0.585098324973,-0.585176072327,-0.585253814301,-0.585331550896,-0.585409282111,-0.585487007945,-0.585564728397,-0.585642443467,-0.585720153154,-0.585797857456,-0.585875556375,-0.585953249908,-0.586030938055,-0.586108620815,-0.586186298189,-0.586263970174,-0.58634163677,-0.586419297976,-0.586496953793,-0.586574604218,-0.586652249252,-0.586729888893,-0.586807523142,-0.586885151996,-0.586962775456,-0.587040393521,-0.58711800619,-0.587195613462,-0.587273215337,-0.587350811813,-0.587428402891,-0.587505988569,-0.587583568848,-0.587661143725,-0.5877387132,-0.587816277273,-0.587893835943,-0.58797138921,-0.588048937072,-0.588126479528,-0.588204016579,-0.588281548223,-0.588359074459,-0.588436595288,-0.588514110708,-0.588591620718,-0.588669125318,-0.588746624507,-0.588824118285,-0.58890160665,-0.588979089602,-0.58905656714,-0.589134039264,-0.589211505973,-0.589288967265,-0.589366423141,-0.5894438736,-0.589521318641,-0.589598758263,-0.589676192466,-0.589753621248,-0.589831044609,-0.589908462549,-0.589985875067,-0.590063282161,-0.590140683832,-0.590218080079,-0.5902954709,-0.590372856295,-0.590450236264,-0.590527610805,-0.590604979919,-0.590682343604,-0.590759701859,-0.590837054684,-0.590914402078,-0.590991744041,-0.591069080572,-0.591146411669,-0.591223737333,-0.591301057562,-0.591378372357,-0.591455681715,-0.591532985637,-0.591610284122,-0.591687577169,-0.591764864777,-0.591842146946,-0.591919423674,-0.591996694962,-0.592073960808,-0.592151221212,-0.592228476174,-0.592305725691,-0.592382969764,-0.592460208393,-0.592537441575,-0.592614669311,-0.5926918916,-0.59276910844,-0.592846319833,-0.592923525776,-0.593000726268,-0.593077921311,-0.593155110901,-0.59323229504,-0.593309473725,-0.593386646958,-0.593463814735,-0.593540977058,-0.593618133925,-0.593695285336,-0.59377243129,-0.593849571785,-0.593926706823,-0.594003836401,-0.594080960519,-0.594158079176,-0.594235192372,-0.594312300106,-0.594389402377,-0.594466499185,-0.594543590528,-0.594620676407,-0.594697756819,-0.594774831766,-0.594851901245,-0.594928965257,-0.5950060238,-0.595083076875,-0.595160124479,-0.595237166612,-0.595314203275,-0.595391234465,-0.595468260183,-0.595545280427,-0.595622295197,-0.595699304492,-0.595776308312,-0.595853306656,-0.595930299522,-0.596007286911,-0.596084268822,-0.596161245253,-0.596238216205,-0.596315181676,-0.596392141666,-0.596469096174,-0.596546045199,-0.596622988741,-0.596699926799,-0.596776859373,-0.59685378646,-0.596930708062,-0.597007624177,-0.597084534804,-0.597161439943,-0.597238339593,-0.597315233754,-0.597392122424,-0.597469005603,-0.59754588329,-0.597622755484,-0.597699622186,-0.597776483393,-0.597853339106,-0.597930189323,-0.598007034045,-0.598083873269,-0.598160706996,-0.598237535225,-0.598314357955,-0.598391175186,-0.598467986916,-0.598544793146,-0.598621593873,-0.598698389098,-0.59877517882,-0.598851963039,-0.598928741752,-0.599005514961,-0.599082282664,-0.59915904486,-0.599235801548,-0.599312552729,-0.599389298401,-0.599466038563,-0.599542773215,-0.599619502356,-0.599696225986,-0.599772944104,-0.599849656708,-0.599926363799,-0.600003065375,-0.600079761437,-0.600156451982,-0.600233137011,-0.600309816523,-0.600386490517,-0.600463158992,-0.600539821948,-0.600616479384,-0.600693131299,-0.600769777693,-0.600846418564,-0.600923053913,-0.600999683738,-0.601076308039,-0.601152926815,-0.601229540065,-0.601306147789,-0.601382749986,-0.601459346655,-0.601535937795,-0.601612523407,-0.601689103488,-0.601765678039,-0.601842247059,-0.601918810546,-0.601995368501,-0.602071920922,-0.60214846781,-0.602225009162,-0.602301544979,-0.60237807526,-0.602454600004,-0.60253111921,-0.602607632878,-0.602684141007,-0.602760643596,-0.602837140644,-0.602913632152,-0.602990118117,-0.60306659854,-0.60314307342,-0.603219542756,-0.603296006547,-0.603372464793,-0.603448917493,-0.603525364646,-0.603601806251,-0.603678242308,-0.603754672817,-0.603831097776,-0.603907517184,-0.603983931042,-0.604060339348,-0.604136742101,-0.604213139302,-0.604289530948,-0.60436591704,-0.604442297577,-0.604518672558,-0.604595041983,-0.60467140585,-0.604747764159,-0.604824116909,-0.6049004641,-0.604976805731,-0.605053141801,-0.605129472309,-0.605205797255,-0.605282116639,-0.605358430459,-0.605434738714,-0.605511041404,-0.605587338529,-0.605663630087,-0.605739916078,-0.605816196502,-0.605892471356,-0.605968740642,-0.606045004357,-0.606121262502,-0.606197515076,-0.606273762077,-0.606350003506,-0.606426239361,-0.606502469643,-0.606578694349,-0.60665491348,-0.606731127035,-0.606807335012,-0.606883537412,-0.606959734234,-0.607035925476,-0.607112111139,-0.607188291222,-0.607264465723,-0.607340634643,-0.607416797979,-0.607492955733,-0.607569107903,-0.607645254488,-0.607721395488,-0.607797530901,-0.607873660728,-0.607949784968,-0.608025903619,-0.608102016682,-0.608178124155,-0.608254226037,-0.608330322329,-0.608406413029,-0.608482498137,-0.608558577652,-0.608634651573,-0.608710719899,-0.608786782631,-0.608862839766,-0.608938891305,-0.609014937247,-0.609090977591,-0.609167012336,-0.609243041482,-0.609319065028,-0.609395082973,-0.609471095317,-0.609547102059,-0.609623103198,-0.609699098733,-0.609775088664,-0.60985107299,-0.60992705171,-0.610003024825,-0.610078992332,-0.610154954231,-0.610230910522,-0.610306861204,-0.610382806276,-0.610458745738,-0.610534679588,-0.610610607827,-0.610686530453,-0.610762447465,-0.610838358864,-0.610914264648,-0.610990164816,-0.611066059369,-0.611141948304,-0.611217831622,-0.611293709322,-0.611369581403,-0.611445447865,-0.611521308706,-0.611597163926,-0.611673013525,-0.611748857501,-0.611824695854,-0.611900528584,-0.611976355689,-0.612052177169,-0.612127993022,-0.61220380325,-0.61227960785,-0.612355406822,-0.612431200166,-0.61250698788,-0.612582769964,-0.612658546417,-0.61273431724,-0.612810082429,-0.612885841986,-0.61296159591,-0.613037344199,-0.613113086854,-0.613188823873,-0.613264555255,-0.613340281001,-0.613416001109,-0.613491715578,-0.613567424408,-0.613643127599,-0.613718825149,-0.613794517058,-0.613870203325,-0.61394588395,-0.614021558931,-0.614097228268,-0.614172891961,-0.614248550008,-0.61432420241,-0.614399849164,-0.614475490271,-0.61455112573,-0.61462675554,-0.614702379701,-0.614777998211,-0.614853611071,-0.614929218279,-0.615004819834,-0.615080415737,-0.615156005986,-0.615231590581,-0.61530716952,-0.615382742804,-0.615458310431,-0.615533872401,-0.615609428713,-0.615684979367,-0.615760524361,-0.615836063696,-0.61591159737,-0.615987125382,-0.616062647733,-0.616138164421,-0.616213675445,-0.616289180805,-0.616364680501,-0.616440174531,-0.616515662895,-0.616591145592,-0.616666622621,-0.616742093982,-0.616817559674,-0.616893019697,-0.616968474049,-0.61704392273,-0.617119365739,-0.617194803076,-0.61727023474,-0.61734566073,-0.617421081045,-0.617496495686,-0.61757190465,-0.617647307938,-0.617722705548,-0.617798097481,-0.617873483735,-0.617948864309,-0.618024239204,-0.618099608417,-0.61817497195,-0.6182503298,-0.618325681967,-0.618401028451,-0.61847636925,-0.618551704365,-0.618627033794,-0.618702357537,-0.618777675593,-0.618852987961,-0.618928294641,-0.619003595631,-0.619078890932,-0.619154180543,-0.619229464462,-0.61930474269,-0.619380015225,-0.619455282067,-0.619530543215,-0.619605798668,-0.619681048426,-0.619756292488,-0.619831530854,-0.619906763522,-0.619981990492,-0.620057211763,-0.620132427335,-0.620207637207,-0.620282841378,-0.620358039847,-0.620433232614,-0.620508419679,-0.620583601039,-0.620658776696,-0.620733946647,-0.620809110893,-0.620884269433,-0.620959422265,-0.62103456939,-0.621109710806,-0.621184846514,-0.621259976511,-0.621335100798,-0.621410219374,-0.621485332238,-0.621560439389,-0.621635540827,-0.621710636551,-0.621785726561,-0.621860810855,-0.621935889433,-0.622010962295,-0.622086029439,-0.622161090865,-0.622236146572,-0.62231119656,-0.622386240827,-0.622461279374,-0.622536312199,-0.622611339302,-0.622686360683,-0.622761376339,-0.622836386271,-0.622911390479,-0.62298638896,-0.623061381715,-0.623136368744,-0.623211350044,-0.623286325616,-0.623361295459,-0.623436259572,-0.623511217955,-0.623586170606,-0.623661117526,-0.623736058713,-0.623810994166,-0.623885923886,-0.623960847871,-0.624035766121,-0.624110678635,-0.624185585412,-0.624260486452,-0.624335381754,-0.624410271317,-0.62448515514,-0.624560033224,-0.624634905566,-0.624709772168,-0.624784633026,-0.624859488142,-0.624934337515,-0.625009181143,-0.625084019026,-0.625158851164,-0.625233677555,-0.625308498199,-0.625383313096,-0.625458122244,-0.625532925643,-0.625607723292,-0.625682515191,-0.625757301339,-0.625832081735,-0.625906856378,-0.625981625268,-0.626056388404,-0.626131145786,-0.626205897412,-0.626280643283,-0.626355383397,-0.626430117753,-0.626504846352,-0.626579569192,-0.626654286272,-0.626728997592,-0.626803703152,-0.62687840295,-0.626953096986,-0.627027785259,-0.627102467769,-0.627177144515,-0.627251815495,-0.62732648071,-0.627401140159,-0.627475793841,-0.627550441755,-0.627625083901,-0.627699720278,-0.627774350885,-0.627848975722,-0.627923594788,-0.627998208082,-0.628072815604,-0.628147417352,-0.628222013327,-0.628296603527,-0.628371187953,-0.628445766602,-0.628520339475,-0.62859490657,-0.628669467888,-0.628744023427,-0.628818573186,-0.628893117166,-0.628967655365,-0.629042187783,-0.629116714419,-0.629191235272,-0.629265750341,-0.629340259627,-0.629414763128,-0.629489260843,-0.629563752772,-0.629638238915,-0.62971271927,-0.629787193837,-0.629861662614,-0.629936125603,-0.630010582801,-0.630085034208,-0.630159479824,-0.630233919647,-0.630308353677,-0.630382781914,-0.630457204356,-0.630531621003,-0.630606031855,-0.63068043691,-0.630754836168,-0.630829229628,-0.63090361729,-0.630977999153,-0.631052375216,-0.631126745478,-0.63120110994,-0.631275468599,-0.631349821456,-0.631424168509,-0.631498509759,-0.631572845204,-0.631647174844,-0.631721498678,-0.631795816705,-0.631870128925,-0.631944435337,-0.63201873594,-0.632093030734,-0.632167319717,-0.63224160289,-0.632315880252,-0.632390151801,-0.632464417538,-0.632538677461,-0.63261293157,-0.632687179864,-0.632761422343,-0.632835659005,-0.632909889851,-0.632984114878,-0.633058334088,-0.633132547479,-0.63320675505,-0.633280956801,-0.633355152731,-0.633429342839,-0.633503527125,-0.633577705588,-0.633651878227,-0.633726045041,-0.633800206031,-0.633874361195,-0.633948510532,-0.634022654043,-0.634096791725,-0.634170923579,-0.634245049604,-0.634319169799,-0.634393284164,-0.634467392697,-0.634541495398,-0.634615592267,-0.634689683303,-0.634763768504,-0.634837847872,-0.634911921403,-0.634985989099,-0.635060050958,-0.63513410698,-0.635208157164,-0.635282201509,-0.635356240015,-0.63543027268,-0.635504299505,-0.635578320489,-0.63565233563,-0.635726344929,-0.635800348384,-0.635874345995,-0.635948337761,-0.636022323682,-0.636096303756,-0.636170277984,-0.636244246364,-0.636318208896,-0.636392165579,-0.636466116412,-0.636540061395,-0.636614000527,-0.636687933808,-0.636761861236,-0.636835782812,-0.636909698533,-0.636983608401,-0.637057512413,-0.637131410569,-0.63720530287,-0.637279189313,-0.637353069898,-0.637426944625,-0.637500813493,-0.637574676501,-0.637648533649,-0.637722384936,-0.63779623036,-0.637870069923,-0.637943903622,-0.638017731457,-0.638091553428,-0.638165369533,-0.638239179773,-0.638312984146,-0.638386782652,-0.63846057529,-0.638534362059,-0.63860814296,-0.63868191799,-0.638755687149,-0.638829450437,-0.638903207854,-0.638976959397,-0.639050705068,-0.639124444864,-0.639198178785,-0.639271906831,-0.639345629002,-0.639419345295,-0.639493055711,-0.639566760249,-0.639640458908,-0.639714151688,-0.639787838587,-0.639861519606,-0.639935194743,-0.640008863998,-0.640082527371,-0.64015618486,-0.640229836464,-0.640303482184,-0.640377122018,-0.640450755966,-0.640524384028,-0.640598006201,-0.640671622487,-0.640745232883,-0.64081883739,-0.640892436007,-0.640966028732,-0.641039615566,-0.641113196508,-0.641186771557,-0.641260340712,-0.641333903973,-0.641407461338,-0.641481012809,-0.641554558382,-0.641628098059,-0.641701631838,-0.641775159719,-0.6418486817,-0.641922197782,-0.641995707963,-0.642069212244,-0.642142710622,-0.642216203098,-0.642289689671,-0.642363170341,-0.642436645105,-0.642510113965,-0.642583576919,-0.642657033966,-0.642730485106,-0.642803930339,-0.642877369662,-0.642950803077,-0.643024230582,-0.643097652176,-0.643171067859,-0.64324447763,-0.643317881489,-0.643391279434,-0.643464671465,-0.643538057582,-0.643611437784,-0.643684812069,-0.643758180438,-0.64383154289,-0.643904899424,-0.643978250039,-0.644051594734,-0.64412493351,-0.644198266365,-0.644271593299,-0.644344914311,-0.6444182294,-0.644491538566,-0.644564841807,-0.644638139125,-0.644711430516,-0.644784715982,-0.644857995521,-0.644931269132,-0.645004536816,-0.64507779857,-0.645151054395,-0.645224304291,-0.645297548255,-0.645370786288,-0.645444018389,-0.645517244557,-0.645590464792,-0.645663679092,-0.645736887458,-0.645810089888,-0.645883286382,-0.645956476939,-0.646029661559,-0.646102840241,-0.646176012983,-0.646249179787,-0.64632234065,-0.646395495572,-0.646468644552,-0.646541787591,-0.646614924687,-0.646688055839,-0.646761181046,-0.646834300309,-0.646907413627,-0.646980520998,-0.647053622422,-0.647126717899,-0.647199807427,-0.647272891007,-0.647345968637,-0.647419040316,-0.647492106045,-0.647565165822,-0.647638219647,-0.647711267519,-0.647784309437,-0.647857345401,-0.64793037541,-0.648003399463,-0.64807641756,-0.6481494297,-0.648222435882,-0.648295436107,-0.648368430372,-0.648441418677,-0.648514401022,-0.648587377406,-0.648660347829,-0.648733312289,-0.648806270786,-0.648879223319,-0.648952169888,-0.649025110492,-0.64909804513,-0.649170973802,-0.649243896507,-0.649316813244,-0.649389724013,-0.649462628813,-0.649535527643,-0.649608420502,-0.649681307391,-0.649754188307,-0.649827063252,-0.649899932223,-0.649972795221,-0.650045652244,-0.650118503292,-0.650191348364,-0.65026418746,-0.650337020579,-0.65040984772,-0.650482668883,-0.650555484067,-0.65062829327,-0.650701096494,-0.650773893736,-0.650846684996,-0.650919470274,-0.650992249569,-0.65106502288,-0.651137790207,-0.651210551549,-0.651283306905,-0.651356056274,-0.651428799656,-0.65150153705,-0.651574268456,-0.651646993873,-0.6517197133,-0.651792426737,-0.651865134182,-0.651937835636,-0.652010531097,-0.652083220565,-0.652155904039,-0.652228581519,-0.652301253003,-0.652373918492,-0.652446577984,-0.65251923148,-0.652591878977,-0.652664520476,-0.652737155975,-0.652809785475,-0.652882408975,-0.652955026473,-0.653027637969,-0.653100243463,-0.653172842954,-0.653245436441,-0.653318023923,-0.6533906054,-0.653463180872,-0.653535750337,-0.653608313795,-0.653680871244,-0.653753422686,-0.653825968118,-0.653898507541,-0.653971040953,-0.654043568353,-0.654116089742,-0.654188605119,-0.654261114482,-0.654333617832,-0.654406115167,-0.654478606487,-0.654551091791,-0.654623571078,-0.654696044349,-0.654768511601,-0.654840972835,-0.65491342805,-0.654985877245,-0.65505832042,-0.655130757573,-0.655203188705,-0.655275613814,-0.6553480329,-0.655420445962,-0.655492853,-0.655565254012,-0.655637648999,-0.655710037959,-0.655782420892,-0.655854797797,-0.655927168674,-0.655999533522,-0.65607189234,-0.656144245127,-0.656216591883,-0.656288932608,-0.6563612673,-0.656433595958,-0.656505918583,-0.656578235174,-0.656650545729,-0.656722850249,-0.656795148732,-0.656867441178,-0.656939727587,-0.657012007956,-0.657084282287,-0.657156550578,-0.657228812829,-0.657301069038,-0.657373319206,-0.657445563331,-0.657517801413,-0.657590033451,-0.657662259445,-0.657734479394,-0.657806693297,-0.657878901154,-0.657951102963,-0.658023298725,-0.658095488439,-0.658167672103,-0.658239849717,-0.658312021282,-0.658384186795,-0.658456346256,-0.658528499665,-0.658600647021,-0.658672788323,-0.658744923571,-0.658817052764,-0.658889175901,-0.658961292982,-0.659033404006,-0.659105508972,-0.659177607879,-0.659249700728,-0.659321787517,-0.659393868246,-0.659465942913,-0.659538011519,-0.659610074063,-0.659682130544,-0.659754180961,-0.659826225313,-0.659898263601,-0.659970295823,-0.660042321979,-0.660114342067,-0.660186356089,-0.660258364041,-0.660330365925,-0.66040236174,-0.660474351484,-0.660546335157,-0.660618312758,-0.660690284287,-0.660762249744,-0.660834209126,-0.660906162435,-0.660978109668,-0.661050050826,-0.661121985908,-0.661193914913,-0.66126583784,-0.661337754689,-0.661409665459,-0.66148157015,-0.66155346876,-0.66162536129,-0.661697247738,-0.661769128104,-0.661841002387,-0.661912870587,-0.661984732702,-0.662056588733,-0.662128438678,-0.662200282537,-0.662272120309,-0.662343951994,-0.66241577759,-0.662487597098,-0.662559410516,-0.662631217845,-0.662703019082,-0.662774814228,-0.662846603282,-0.662918386243,-0.662990163111,-0.663061933885,-0.663133698564,-0.663205457148,-0.663277209635,-0.663348956026,-0.66342069632,-0.663492430515,-0.663564158612,-0.66363588061,-0.663707596507,-0.663779306304,-0.663851009999,-0.663922707593,-0.663994399084,-0.664066084472,-0.664137763755,-0.664209436934,-0.664281104008,-0.664352764976,-0.664424419837,-0.664496068591,-0.664567711237,-0.664639347775,-0.664710978203,-0.664782602522,-0.66485422073,-0.664925832826,-0.664997438811,-0.665069038684,-0.665140632443,-0.665212220088,-0.665283801619,-0.665355377035,-0.665426946335,-0.665498509518,-0.665570066585,-0.665641617533,-0.665713162363,-0.665784701074,-0.665856233666,-0.665927760136,-0.665999280486,-0.666070794714,-0.66614230282,-0.666213804803,-0.666285300662,-0.666356790396,-0.666428274006,-0.66649975149,-0.666571222847,-0.666642688078,-0.666714147181,-0.666785600156,-0.666857047002,-0.666928487718,-0.666999922304,-0.667071350759,-0.667142773082,-0.667214189273,-0.667285599331,-0.667357003256,-0.667428401047,-0.667499792702,-0.667571178223,-0.667642557607,-0.667713930854,-0.667785297963,-0.667856658935,-0.667928013768,-0.667999362461,-0.668070705014,-0.668142041427,-0.668213371698,-0.668284695826,-0.668356013813,-0.668427325655,-0.668498631354,-0.668569930908,-0.668641224317,-0.66871251158,-0.668783792696,-0.668855067665,-0.668926336485,-0.668997599157,-0.66906885568,-0.669140106053,-0.669211350276,-0.669282588347,-0.669353820266,-0.669425046032,-0.669496265646,-0.669567479105,-0.66963868641,-0.66970988756,-0.669781082554,-0.669852271392,-0.669923454072,-0.669994630595,-0.670065800959,-0.670136965164,-0.670208123209,-0.670279275094,-0.670350420818,-0.67042156038,-0.67049269378,-0.670563821017,-0.67063494209,-0.670706056998,-0.670777165742,-0.67084826832,-0.670919364732,-0.670990454977,-0.671061539054,-0.671132616963,-0.671203688703,-0.671274754274,-0.671345813674,-0.671416866903,-0.671487913961,-0.671558954847,-0.67162998956,-0.671701018099,-0.671772040465,-0.671843056655,-0.67191406667,-0.671985070509,-0.672056068172,-0.672127059656,-0.672198044963,-0.672269024091,-0.67233999704,-0.672410963809,-0.672481924397,-0.672552878804,-0.672623827029,-0.672694769071,-0.67276570493,-0.672836634605,-0.672907558095,-0.6729784754,-0.67304938652,-0.673120291453,-0.673191190198,-0.673262082756,-0.673332969125,-0.673403849306,-0.673474723296,-0.673545591096,-0.673616452705,-0.673687308122,-0.673758157347,-0.673829000379,-0.673899837217,-0.673970667861,-0.674041492309,-0.674112310562,-0.674183122619,-0.674253928479,-0.674324728141,-0.674395521605,-0.67446630887,-0.674537089936,-0.674607864801,-0.674678633466,-0.674749395929,-0.674820152189,-0.674890902247,-0.674961646102,-0.675032383752,-0.675103115198,-0.675173840439,-0.675244559473,-0.6753152723,-0.675385978921,-0.675456679333,-0.675527373536,-0.675598061531,-0.675668743315,-0.675739418889,-0.675810088251,-0.675880751402,-0.67595140834,-0.676022059064,-0.676092703575,-0.676163341872,-0.676233973953,-0.676304599819,-0.676375219468,-0.6764458329,-0.676516440114,-0.67658704111,-0.676657635886,-0.676728224443,-0.67679880678,-0.676869382896,-0.67693995279,-0.677010516462,-0.677081073911,-0.677151625136,-0.677222170137,-0.677292708913,-0.677363241464,-0.677433767789,-0.677504287886,-0.677574801756,-0.677645309398,-0.677715810812,-0.677786305996,-0.677856794949,-0.677927277673,-0.677997754164,-0.678068224424,-0.678138688451,-0.678209146245,-0.678279597805,-0.67835004313,-0.67842048222,-0.678490915074,-0.678561341691,-0.678631762072,-0.678702176214,-0.678772584118,-0.678842985783,-0.678913381208,-0.678983770393,-0.679054153337,-0.679124530038,-0.679194900498,-0.679265264714,-0.679335622687,-0.679405974416,-0.679476319899,-0.679546659137,-0.679616992129,-0.679687318874,-0.679757639371,-0.67982795362,-0.679898261621,-0.679968563371,-0.680038858872,-0.680109148122,-0.68017943112,-0.680249707867,-0.680319978361,-0.680390242601,-0.680460500587,-0.680530752319,-0.680600997795,-0.680671237016,-0.68074146998,-0.680811696686,-0.680881917135,-0.680952131326,-0.681022339257,-0.681092540928,-0.681162736339,-0.681232925489,-0.681303108377,-0.681373285002,-0.681443455365,-0.681513619464,-0.681583777298,-0.681653928868,-0.681724074172,-0.681794213209,-0.68186434598,-0.681934472483,-0.682004592718,-0.682074706685,-0.682144814381,-0.682214915808,-0.682285010964,-0.682355099848,-0.682425182461,-0.6824952588,-0.682565328866,-0.682635392659,-0.682705450176,-0.682775501419,-0.682845546385,-0.682915585075,-0.682985617488,-0.683055643623,-0.683125663479,-0.683195677056,-0.683265684353,-0.68333568537,-0.683405680106,-0.68347566856,-0.683545650732,-0.683615626621,-0.683685596226,-0.683755559547,-0.683825516583,-0.683895467333,-0.683965411797,-0.684035349975,-0.684105281864,-0.684175207466,-0.684245126779,-0.684315039802,-0.684384946535,-0.684454846978,-0.684524741129,-0.684594628988,-0.684664510555,-0.684734385828,-0.684804254808,-0.684874117492,-0.684943973882,-0.685013823976,-0.685083667773,-0.685153505273,-0.685223336475,-0.685293161379,-0.685362979984,-0.685432792289,-0.685502598293,-0.685572397997,-0.685642191399,-0.685711978499,-0.685781759296,-0.685851533789,-0.685921301978,-0.685991063863,-0.686060819441,-0.686130568714,-0.68620031168,-0.686270048339,-0.686339778689,-0.686409502731,-0.686479220463,-0.686548931886,-0.686618636998,-0.686688335798,-0.686758028287,-0.686827714463,-0.686897394326,-0.686967067875,-0.68703673511,-0.68710639603,-0.687176050634,-0.687245698921,-0.687315340892,-0.687384976545,-0.687454605879,-0.687524228895,-0.687593845591,-0.687663455967,-0.687733060022,-0.687802657755,-0.687872249167,-0.687941834255,-0.68801141302,-0.688080985462,-0.688150551578,-0.688220111369,-0.688289664834,-0.688359211973,-0.688428752784,-0.688498287267,-0.688567815422,-0.688637337248,-0.688706852744,-0.688776361909,-0.688845864744,-0.688915361246,-0.688984851417,-0.689054335254,-0.689123812757,-0.689193283927,-0.689262748761,-0.68933220726,-0.689401659423,-0.689471105249,-0.689540544737,-0.689609977887,-0.689679404699,-0.689748825171,-0.689818239303,-0.689887647095,-0.689957048545,-0.690026443653,-0.690095832419,-0.690165214841,-0.69023459092,-0.690303960654,-0.690373324043,-0.690442681086,-0.690512031783,-0.690581376132,-0.690650714135,-0.690720045788,-0.690789371093,-0.690858690048,-0.690928002653,-0.690997308908,-0.69106660881,-0.691135902361,-0.691205189558,-0.691274470403,-0.691343744893,-0.691413013029,-0.691482274809,-0.691551530233,-0.691620779301,-0.691690022012,-0.691759258364,-0.691828488358,-0.691897711993,-0.691966929269,-0.692036140183,-0.692105344737,-0.692174542929,-0.692243734759,-0.692312920226,-0.692382099329,-0.692451272068,-0.692520438442,-0.692589598451,-0.692658752093,-0.692727899369,-0.692797040277,-0.692866174817,-0.692935302989,-0.693004424791,-0.693073540224,-0.693142649285,-0.693211751976,-0.693280848295,-0.693349938241,-0.693419021814,-0.693488099013,-0.693557169838,-0.693626234288,-0.693695292362,-0.69376434406,-0.693833389381,-0.693902428324,-0.69397146089,-0.694040487076,-0.694109506883,-0.69417852031,-0.694247527356,-0.69431652802,-0.694385522303,-0.694454510203,-0.69452349172,-0.694592466853,-0.694661435601,-0.694730397964,-0.694799353942,-0.694868303532,-0.694937246736,-0.695006183552,-0.69507511398,-0.695144038019,-0.695212955668,-0.695281866927,-0.695350771795,-0.695419670271,-0.695488562356,-0.695557448047,-0.695626327345,-0.695695200249,-0.695764066759,-0.695832926873,-0.695901780591,-0.695970627913,-0.696039468837,-0.696108303363,-0.696177131491,-0.69624595322,-0.69631476855,-0.696383577478,-0.696452380006,-0.696521176132,-0.696589965856,-0.696658749177,-0.696727526095,-0.696796296608,-0.696865060716,-0.696933818419,-0.697002569716,-0.697071314607,-0.69714005309,-0.697208785165,-0.697277510831,-0.697346230088,-0.697414942935,-0.697483649372,-0.697552349398,-0.697621043012,-0.697689730213,-0.697758411002,-0.697827085377,-0.697895753337,-0.697964414883,-0.698033070013,-0.698101718727,-0.698170361024,-0.698238996904,-0.698307626366,-0.698376249409,-0.698444866033,-0.698513476236,-0.69858208002,-0.698650677381,-0.698719268322,-0.698787852839,-0.698856430934,-0.698925002604,-0.698993567851,-0.699062126672,-0.699130679068,-0.699199225037,-0.69926776458,-0.699336297695,-0.699404824382,-0.69947334464,-0.699541858469,-0.699610365868,-0.699678866836,-0.699747361373,-0.699815849477,-0.69988433115,-0.699952806389,-0.700021275194,-0.700089737565,-0.700158193501,-0.700226643001,-0.700295086064,-0.700363522691,-0.70043195288,-0.700500376631,-0.700568793943,-0.700637204816,-0.700705609248,-0.70077400724,-0.700842398791,-0.700910783899,-0.700979162565,-0.701047534787,-0.701115900566,-0.7011842599,-0.701252612789,-0.701320959232,-0.701389299229,-0.701457632779,-0.701525959881,-0.701594280535,-0.70166259474,-0.701730902496,-0.701799203801,-0.701867498656,-0.701935787059,-0.70200406901,-0.702072344508,-0.702140613553,-0.702208876144,-0.702277132281,-0.702345381962,-0.702413625188,-0.702481861957,-0.702550092269,-0.702618316124,-0.70268653352,-0.702754744457,-0.702822948935,-0.702891146952,-0.702959338509,-0.703027523604,-0.703095702237,-0.703163874407,-0.703232040114,-0.703300199358,-0.703368352136,-0.703436498449,-0.703504638297,-0.703572771678,-0.703640898592,-0.703709019038,-0.703777133016,-0.703845240524,-0.703913341564,-0.703981436133,-0.704049524231,-0.704117605858,-0.704185681012,-0.704253749694,-0.704321811903,-0.704389867637,-0.704457916897,-0.704525959682,-0.704593995991,-0.704662025823,-0.704730049179,-0.704798066056,-0.704866076456,-0.704934080376,-0.705002077817,-0.705070068777,-0.705138053257,-0.705206031255,-0.705274002771,-0.705341967804,-0.705409926354,-0.70547787842,-0.705545824001,-0.705613763097,-0.705681695708,-0.705749621831,-0.705817541468,-0.705885454617,-0.705953361278,-0.706021261449,-0.706089155131,-0.706157042323,-0.706224923024,-0.706292797234,-0.706360664951,-0.706428526176,-0.706496380907,-0.706564229145,-0.706632070888,-0.706699906135,-0.706767734887,-0.706835557142,-0.706903372901,-0.706971182161,-0.707038984923,-0.707106781187,-0.70717457095,-0.707242354214,-0.707310130976,-0.707377901238,-0.707445664997,-0.707513422253,-0.707581173006,-0.707648917256,-0.707716655,-0.70778438624,-0.707852110974,-0.707919829201,-0.707987540921,-0.708055246134,-0.708122944838,-0.708190637033,-0.708258322719,-0.708326001895,-0.70839367456,-0.708461340713,-0.708529000354,-0.708596653483,-0.708664300099,-0.7087319402,-0.708799573788,-0.70886720086,-0.708934821416,-0.709002435456,-0.709070042978,-0.709137643984,-0.709205238471,-0.709272826439,-0.709340407888,-0.709407982816,-0.709475551224,-0.70954311311,-0.709610668475,-0.709678217317,-0.709745759636,-0.70981329543,-0.709880824701,-0.709948347446,-0.710015863666,-0.710083373359,-0.710150876526,-0.710218373164,-0.710285863275,-0.710353346857,-0.71042082391,-0.710488294432,-0.710555758424,-0.710623215884,-0.710690666813,-0.710758111209,-0.710825549072,-0.710892980401,-0.710960405196,-0.711027823456,-0.71109523518,-0.711162640368,-0.711230039019,-0.711297431133,-0.711364816708,-0.711432195745,-0.711499568243,-0.7115669342,-0.711634293617,-0.711701646493,-0.711768992827,-0.711836332619,-0.711903665867,-0.711970992572,-0.712038312733,-0.712105626348,-0.712172933418,-0.712240233942,-0.71230752792,-0.71237481535,-0.712442096231,-0.712509370565,-0.712576638349,-0.712643899583,-0.712711154267,-0.712778402399,-0.71284564398,-0.712912879009,-0.712980107484,-0.713047329406,-0.713114544774,-0.713181753587,-0.713248955845,-0.713316151547,-0.713383340692,-0.71345052328,-0.713517699309,-0.713584868781,-0.713652031693,-0.713719188046,-0.713786337838,-0.713853481069,-0.713920617738,-0.713987747846,-0.71405487139,-0.714121988372,-0.714189098789,-0.714256202641,-0.714323299928,-0.714390390649,-0.714457474804,-0.714524552392,-0.714591623411,-0.714658687863,-0.714725745745,-0.714792797058,-0.714859841801,-0.714926879972,-0.714993911573,-0.715060936601,-0.715127955056,-0.715194966939,-0.715261972247,-0.715328970981,-0.715395963139,-0.715462948722,-0.715529927729,-0.715596900158,-0.71566386601,-0.715730825284,-0.715797777979,-0.715864724094,-0.715931663629,-0.715998596584,-0.716065522957,-0.716132442748,-0.716199355957,-0.716266262583,-0.716333162625,-0.716400056082,-0.716466942955,-0.716533823242,-0.716600696943,-0.716667564056,-0.716734424583,-0.716801278521,-0.716868125871,-0.716934966631,-0.717001800802,-0.717068628381,-0.71713544937,-0.717202263767,-0.717269071572,-0.717335872784,-0.717402667402,-0.717469455425,-0.717536236854,-0.717603011688,-0.717669779926,-0.717736541566,-0.71780329661,-0.717870045056,-0.717936786903,-0.718003522151,-0.718070250799,-0.718136972847,-0.718203688294,-0.71827039714,-0.718337099383,-0.718403795023,-0.718470484061,-0.718537166494,-0.718603842322,-0.718670511545,-0.718737174162,-0.718803830173,-0.718870479577,-0.718937122373,-0.71900375856,-0.719070388139,-0.719137011108,-0.719203627467,-0.719270237216,-0.719336840353,-0.719403436878,-0.71947002679,-0.719536610089,-0.719603186774,-0.719669756845,-0.719736320301,-0.719802877141,-0.719869427365,-0.719935970972,-0.720002507961,-0.720069038333,-0.720135562085,-0.720202079219,-0.720268589732,-0.720335093625,-0.720401590897,-0.720468081546,-0.720534565574,-0.720601042978,-0.720667513759,-0.720733977916,-0.720800435448,-0.720866886354,-0.720933330634,-0.720999768288,-0.721066199315,-0.721132623713,-0.721199041483,-0.721265452624,-0.721331857135,-0.721398255016,-0.721464646266,-0.721531030884,-0.72159740887,-0.721663780224,-0.721730144944,-0.72179650303,-0.721862854481,-0.721929199298,-0.721995537478,-0.722061869022,-0.722128193929,-0.722194512199,-0.72226082383,-0.722327128822,-0.722393427175,-0.722459718887,-0.722526003959,-0.72259228239,-0.722658554179,-0.722724819325,-0.722791077828,-0.722857329687,-0.722923574902,-0.722989813472,-0.723056045397,-0.723122270675,-0.723188489307,-0.723254701291,-0.723320906627,-0.723387105314,-0.723453297353,-0.723519482741,-0.723585661479,-0.723651833566,-0.723717999001,-0.723784157784,-0.723850309915,-0.723916455391,-0.723982594214,-0.724048726382,-0.724114851895,-0.724180970751,-0.724247082951,-0.724313188495,-0.72437928738,-0.724445379607,-0.724511465175,-0.724577544084,-0.724643616332,-0.724709681919,-0.724775740846,-0.72484179311,-0.724907838712,-0.72497387765,-0.725039909925,-0.725105935535,-0.72517195448,-0.72523796676,-0.725303972373,-0.72536997132,-0.725435963599,-0.72550194921,-0.725567928152,-0.725633900425,-0.725699866028,-0.725765824961,-0.725831777223,-0.725897722813,-0.72596366173,-0.726029593975,-0.726095519546,-0.726161438444,-0.726227350666,-0.726293256213,-0.726359155084,-0.726425047279,-0.726490932796,-0.726556811636,-0.726622683798,-0.72668854928,-0.726754408083,-0.726820260206,-0.726886105648,-0.726951944408,-0.727017776487,-0.727083601883,-0.727149420595,-0.727215232624,-0.727281037969,-0.727346836628,-0.727412628602,-0.72747841389,-0.727544192491,-0.727609964404,-0.72767572963,-0.727741488167,-0.727807240014,-0.727872985172,-0.727938723639,-0.728004455415,-0.7280701805,-0.728135898892,-0.728201610591,-0.728267315597,-0.728333013909,-0.728398705526,-0.728464390448,-0.728530068674,-0.728595740204,-0.728661405036,-0.728727063171,-0.728792714607,-0.728858359345,-0.728923997383,-0.728989628721,-0.729055253358,-0.729120871293,-0.729186482527,-0.729252087059,-0.729317684887,-0.729383276012,-0.729448860432,-0.729514438147,-0.729580009157,-0.72964557346,-0.729711131057,-0.729776681947,-0.729842226128,-0.729907763601,-0.729973294365,-0.730038818419,-0.730104335763,-0.730169846395,-0.730235350317,-0.730300847526,-0.730366338022,-0.730431821805,-0.730497298874,-0.730562769228,-0.730628232867,-0.73069368979,-0.730759139997,-0.730824583487,-0.73089002026,-0.730955450314,-0.731020873649,-0.731086290265,-0.731151700162,-0.731217103337,-0.731282499791,-0.731347889524,-0.731413272534,-0.731478648821,-0.731544018385,-0.731609381224,-0.731674737338,-0.731740086728,-0.731805429391,-0.731870765327,-0.731936094537,-0.732001417018,-0.732066732771,-0.732132041795,-0.73219734409,-0.732262639654,-0.732327928488,-0.73239321059,-0.73245848596,-0.732523754598,-0.732589016502,-0.732654271672,-0.732719520109,-0.73278476181,-0.732849996775,-0.732915225005,-0.732980446497,-0.733045661252,-0.733110869269,-0.733176070548,-0.733241265087,-0.733306452887,-0.733371633946,-0.733436808264,-0.733501975841,-0.733567136675,-0.733632290766,-0.733697438115,-0.733762578719,-0.733827712578,-0.733892839693,-0.733957960061,-0.734023073684,-0.734088180559,-0.734153280687,-0.734218374066,-0.734283460697,-0.734348540578,-0.73441361371,-0.73447868009,-0.73454373972,-0.734608792598,-0.734673838723,-0.734738878096,-0.734803910715,-0.73486893658,-0.73493395569,-0.734998968044,-0.735063973643,-0.735128972485,-0.73519396457,-0.735258949898,-0.735323928467,-0.735388900277,-0.735453865327,-0.735518823618,-0.735583775147,-0.735648719916,-0.735713657922,-0.735778589166,-0.735843513646,-0.735908431363,-0.735973342316,-0.736038246504,-0.736103143926,-0.736168034582,-0.736232918472,-0.736297795594,-0.736362665948,-0.736427529534,-0.736492386351,-0.736557236398,-0.736622079675,-0.736686916181,-0.736751745915,-0.736816568877,-0.736881385067,-0.736946194484,-0.737010997126,-0.737075792994,-0.737140582087,-0.737205364405,-0.737270139946,-0.73733490871,-0.737399670697,-0.737464425906,-0.737529174337,-0.737593915988,-0.737658650859,-0.73772337895,-0.73778810026,-0.737852814788,-0.737917522535,-0.737982223498,-0.738046917678,-0.738111605074,-0.738176285686,-0.738240959512,-0.738305626552,-0.738370286807,-0.738434940274,-0.738499586954,-0.738564226845,-0.738628859948,-0.738693486262,-0.738758105785,-0.738822718519,-0.738887324461,-0.738951923611,-0.739016515969,-0.739081101534,-0.739145680306,-0.739210252284,-0.739274817467,-0.739339375854,-0.739403927446,-0.739468472242,-0.73953301024,-0.739597541441,-0.739662065843,-0.739726583447,-0.739791094251,-0.739855598256,-0.73992009546,-0.739984585862,-0.740049069463,-0.740113546261,-0.740178016257,-0.740242479449,-0.740306935836,-0.740371385419,-0.740435828197,-0.740500264169,-0.740564693334,-0.740629115692,-0.740693531242,-0.740757939984,-0.740822341918,-0.740886737041,-0.740951125355,-0.741015506858,-0.74107988155,-0.74114424943,-0.741208610497,-0.741272964751,-0.741337312192,-0.741401652819,-0.741465986631,-0.741530313627,-0.741594633807,-0.741658947171,-0.741723253718,-0.741787553447,-0.741851846357,-0.741916132449,-0.741980411721,-0.742044684173,-0.742108949804,-0.742173208614,-0.742237460602,-0.742301705767,-0.74236594411,-0.742430175629,-0.742494400323,-0.742558618193,-0.742622829237,-0.742687033455,-0.742751230847,-0.742815421411,-0.742879605148,-0.742943782056,-0.743007952135,-0.743072115385,-0.743136271804,-0.743200421393,-0.74326456415,-0.743328700076,-0.743392829169,-0.743456951429,-0.743521066855,-0.743585175447,-0.743649277203,-0.743713372125,-0.74377746021,-0.743841541459,-0.743905615871,-0.743969683445,-0.74403374418,-0.744097798076,-0.744161845133,-0.74422588535,-0.744289918725,-0.74435394526,-0.744417964952,-0.744481977802,-0.744545983809,-0.744609982972,-0.744673975291,-0.744737960765,-0.744801939394,-0.744865911176,-0.744929876112,-0.744993834201,-0.745057785441,-0.745121729834,-0.745185667377,-0.745249598071,-0.745313521914,-0.745377438907,-0.745441349049,-0.745505252338,-0.745569148775,-0.745633038359,-0.745696921089,-0.745760796965,-0.745824665986,-0.745888528152,-0.745952383461,-0.746016231914,-0.74608007351,-0.746143908248,-0.746207736127,-0.746271557148,-0.746335371309,-0.74639917861,-0.74646297905,-0.746526772628,-0.746590559345,-0.746654339199,-0.746718112191,-0.746781878318,-0.746845637581,-0.74690938998,-0.746973135513,-0.74703687418,-0.74710060598,-0.747164330913,-0.747228048979,-0.747291760176,-0.747355464504,-0.747419161963,-0.747482852551,-0.747546536269,-0.747610213115,-0.74767388309,-0.747737546192,-0.747801202421,-0.747864851777,-0.747928494258,-0.747992129864,-0.748055758595,-0.74811938045,-0.748182995429,-0.74824660353,-0.748310204754,-0.748373799099,-0.748437386566,-0.748500967153,-0.74856454086,-0.748628107686,-0.748691667631,-0.748755220695,-0.748818766875,-0.748882306173,-0.748945838588,-0.749009364118,-0.749072882763,-0.749136394523,-0.749199899398,-0.749263397385,-0.749326888486,-0.749390372699,-0.749453850024,-0.74951732046,-0.749580784006,-0.749644240663,-0.749707690429,-0.749771133304,-0.749834569287,-0.749897998378,-0.749961420576,-0.75002483588,-0.750088244291,-0.750151645806,-0.750215040427,-0.750278428151,-0.75034180898,-0.750405182911,-0.750468549945,-0.75053191008,-0.750595263317,-0.750658609655,-0.750721949092,-0.750785281629,-0.750848607265,-0.750911926,-0.750975237832,-0.751038542762,-0.751101840788,-0.75116513191,-0.751228416127,-0.75129169344,-0.751354963846,-0.751418227347,-0.75148148394,-0.751544733626,-0.751607976404,-0.751671212274,-0.751734441234,-0.751797663284,-0.751860878424,-0.751924086654,-0.751987287971,-0.752050482377,-0.75211366987,-0.752176850449,-0.752240024115,-0.752303190866,-0.752366350702,-0.752429503623,-0.752492649627,-0.752555788715,-0.752618920886,-0.752682046138,-0.752745164472,-0.752808275887,-0.752871380382,-0.752934477957,-0.752997568612,-0.753060652344,-0.753123729155,-0.753186799044,-0.753249862009,-0.75331291805,-0.753375967167,-0.75343900936,-0.753502044627,-0.753565072968,-0.753628094382,-0.753691108869,-0.753754116428,-0.753817117059,-0.753880110761,-0.753943097533,-0.754006077376,-0.754069050288,-0.754132016268,-0.754194975317,-0.754257927433,-0.754320872617,-0.754383810866,-0.754446742182,-0.754509666563,-0.754572584008,-0.754635494518,-0.754698398092,-0.754761294728,-0.754824184426,-0.754887067187,-0.754949943009,-0.755012811891,-0.755075673834,-0.755138528836,-0.755201376897,-0.755264218016,-0.755327052193,-0.755389879427,-0.755452699718,-0.755515513065,-0.755578319467,-0.755641118924,-0.755703911436,-0.755766697001,-0.75582947562,-0.755892247291,-0.755955012014,-0.756017769788,-0.756080520614,-0.756143264489,-0.756206001414,-0.756268731389,-0.756331454412,-0.756394170483,-0.756456879601,-0.756519581766,-0.756582276977,-0.756644965234,-0.756707646536,-0.756770320883,-0.756832988273,-0.756895648707,-0.756958302184,-0.757020948703,-0.757083588263,-0.757146220865,-0.757208846506,-0.757271465188,-0.75733407691,-0.757396681669,-0.757459279468,-0.757521870303,-0.757584454176,-0.757647031085,-0.75770960103,-0.757772164011,-0.757834720026,-0.757897269075,-0.757959811158,-0.758022346273,-0.758084874422,-0.758147395602,-0.758209909813,-0.758272417055,-0.758334917327,-0.758397410629,-0.75845989696,-0.758522376319,-0.758584848705,-0.75864731412,-0.75870977256,-0.758772224027,-0.75883466852,-0.758897106037,-0.758959536579,-0.759021960145,-0.759084376733,-0.759146786345,-0.759209188978,-0.759271584633,-0.759333973309,-0.759396355006,-0.759458729722,-0.759521097457,-0.759583458211,-0.759645811984,-0.759708158773,-0.75977049858,-0.759832831403,-0.759895157241,-0.759957476095,-0.760019787964,-0.760082092846,-0.760144390742,-0.760206681651,-0.760268965573,-0.760331242506,-0.76039351245,-0.760455775405,-0.76051803137,-0.760580280344,-0.760642522328,-0.760704757319,-0.760766985319,-0.760829206325,-0.760891420339,-0.760953627358,-0.761015827383,-0.761078020412,-0.761140206446,-0.761202385484,-0.761264557525,-0.761326722569,-0.761388880615,-0.761451031662,-0.76151317571,-0.761575312758,-0.761637442806,-0.761699565854,-0.761761681899,-0.761823790943,-0.761885892985,-0.761947988023,-0.762010076058,-0.762072157089,-0.762134231114,-0.762196298135,-0.762258358149,-0.762320411157,-0.762382457158,-0.762444496151,-0.762506528136,-0.762568553112,-0.762630571078,-0.762692582035,-0.762754585981,-0.762816582917,-0.76287857284,-0.762940555752,-0.76300253165,-0.763064500535,-0.763126462407,-0.763188417263,-0.763250365105,-0.763312305931,-0.763374239741,-0.763436166534,-0.76349808631,-0.763559999068,-0.763621904807,-0.763683803528,-0.763745695228,-0.763807579909,-0.763869457569,-0.763931328207,-0.763993191824,-0.764055048418,-0.764116897989,-0.764178740536,-0.764240576059,-0.764302404558,-0.764364226031,-0.764426040479,-0.7644878479,-0.764549648293,-0.76461144166,-0.764673227998,-0.764735007308,-0.764796779588,-0.764858544838,-0.764920303058,-0.764982054247,-0.765043798405,-0.76510553553,-0.765167265622,-0.765228988682,-0.765290704707,-0.765352413699,-0.765414115655,-0.765475810575,-0.76553749846,-0.765599179308,-0.765660853119,-0.765722519892,-0.765784179626,-0.765845832322,-0.765907477978,-0.765969116594,-0.76603074817,-0.766092372704,-0.766153990196,-0.766215600647,-0.766277204054,-0.766338800418,-0.766400389738,-0.766461972013,-0.766523547243,-0.766585115427,-0.766646676565,-0.766708230657,-0.7667697777,-0.766831317696,-0.766892850643,-0.766954376542,-0.76701589539,-0.767077407188,-0.767138911936,-0.767200409632,-0.767261900276,-0.767323383868,-0.767384860406,-0.767446329891,-0.767507792322,-0.767569247698,-0.767630696018,-0.767692137283,-0.767753571491,-0.767814998642,-0.767876418736,-0.767937831772,-0.767999237748,-0.768060636666,-0.768122028523,-0.768183413321,-0.768244791057,-0.768306161731,-0.768367525344,-0.768428881894,-0.768490231381,-0.768551573804,-0.768612909162,-0.768674237456,-0.768735558684,-0.768796872846,-0.768858179941,-0.76891947997,-0.76898077293,-0.769042058822,-0.769103337646,-0.769164609399,-0.769225874083,-0.769287131697,-0.769348382239,-0.76940962571,-0.769470862108,-0.769532091433,-0.769593313685,-0.769654528864,-0.769715736967,-0.769776937996,-0.769838131949,-0.769899318826,-0.769960498626,-0.770021671348,-0.770082836993,-0.77014399556,-0.770205147047,-0.770266291455,-0.770327428783,-0.77038855903,-0.770449682196,-0.77051079828,-0.770571907281,-0.7706330092,-0.770694104035,-0.770755191786,-0.770816272453,-0.770877346034,-0.77093841253,-0.770999471939,-0.771060524262,-0.771121569497,-0.771182607644,-0.771243638702,-0.771304662672,-0.771365679552,-0.771426689341,-0.77148769204,-0.771548687647,-0.771609676163,-0.771670657586,-0.771731631916,-0.771792599152,-0.771853559294,-0.771914512342,-0.771975458294,-0.77203639715,-0.77209732891,-0.772158253573,-0.772219171139,-0.772280081606,-0.772340984975,-0.772401881245,-0.772462770415,-0.772523652484,-0.772584527453,-0.77264539532,-0.772706256086,-0.772767109748,-0.772827956308,-0.772888795764,-0.772949628116,-0.773010453363,-0.773071271504,-0.77313208254,-0.773192886469,-0.773253683291,-0.773314473006,-0.773375255613,-0.77343603111,-0.773496799499,-0.773557560778,-0.773618314946,-0.773679062003,-0.773739801949,-0.773800534783,-0.773861260504,-0.773921979112,-0.773982690607,-0.774043394987,-0.774104092252,-0.774164782402,-0.774225465436,-0.774286141353,-0.774346810154,-0.774407471836,-0.774468126401,-0.774528773846,-0.774589414173,-0.774650047379,-0.774710673466,-0.774771292431,-0.774831904274,-0.774892508996,-0.774953106595,-0.775013697071,-0.775074280423,-0.77513485665,-0.775195425753,-0.77525598773,-0.775316542582,-0.775377090306,-0.775437630904,-0.775498164374,-0.775558690716,-0.775619209929,-0.775679722013,-0.775740226967,-0.77580072479,-0.775861215483,-0.775921699043,-0.775982175472,-0.776042644768,-0.776103106931,-0.77616356196,-0.776224009855,-0.776284450615,-0.776344884239,-0.776405310728,-0.77646573008,-0.776526142295,-0.776586547372,-0.776646945311,-0.776707336111,-0.776767719772,-0.776828096293,-0.776888465673,-0.776948827913,-0.777009183011,-0.777069530967,-0.77712987178,-0.77719020545,-0.777250531976,-0.777310851358,-0.777371163595,-0.777431468687,-0.777491766632,-0.777552057431,-0.777612341083,-0.777672617588,-0.777732886944,-0.777793149151,-0.777853404209,-0.777913652118,-0.777973892876,-0.778034126482,-0.778094352938,-0.778154572241,-0.778214784392,-0.778274989389,-0.778335187233,-0.778395377922,-0.778455561457,-0.778515737836,-0.778575907059,-0.778636069126,-0.778696224036,-0.778756371788,-0.778816512381,-0.778876645817,-0.778936772093,-0.778996891209,-0.779057003164,-0.779117107959,-0.779177205593,-0.779237296064,-0.779297379373,-0.779357455518,-0.7794175245,-0.779477586318,-0.779537640971,-0.779597688458,-0.77965772878,-0.779717761935,-0.779777787923,-0.779837806744,-0.779897818396,-0.77995782288,-0.780017820195,-0.78007781034,-0.780137793314,-0.780197769118,-0.78025773775,-0.780317699211,-0.780377653499,-0.780437600613,-0.780497540555,-0.780557473322,-0.780617398914,-0.780677317331,-0.780737228572,-0.780797132637,-0.780857029525,-0.780916919235,-0.780976801768,-0.781036677122,-0.781096545296,-0.781156406291,-0.781216260106,-0.78127610674,-0.781335946193,-0.781395778464,-0.781455603552,-0.781515421458,-0.78157523218,-0.781635035718,-0.781694832071,-0.781754621239,-0.781814403222,-0.781874178018,-0.781933945627,-0.781993706049,-0.782053459283,-0.782113205328,-0.782172944185,-0.782232675852,-0.782292400329,-0.782352117615,-0.78241182771,-0.782471530613,-0.782531226324,-0.782590914842,-0.782650596167,-0.782710270297,-0.782769937233,-0.782829596975,-0.78288924952,-0.782948894869,-0.783008533022,-0.783068163977,-0.783127787735,-0.783187404294,-0.783247013655,-0.783306615816,-0.783366210777,-0.783425798537,-0.783485379096,-0.783544952454,-0.78360451861,-0.783664077562,-0.783723629312,-0.783783173858,-0.783842711199,-0.783902241336,-0.783961764266,-0.784021279991,-0.78408078851,-0.784140289821,-0.784199783925,-0.78425927082,-0.784318750507,-0.784378222984,-0.784437688252,-0.784497146309,-0.784556597156,-0.78461604079,-0.784675477213,-0.784734906423,-0.78479432842,-0.784853743204,-0.784913150773,-0.784972551128,-0.785031944267,-0.78509133019,-0.785150708897,-0.785210080387,-0.78526944466,-0.785328801714,-0.78538815155,-0.785447494167,-0.785506829564,-0.785566157741,-0.785625478697,-0.785684792432,-0.785744098945,-0.785803398236,-0.785862690303,-0.785921975148,-0.785981252768,-0.786040523163,-0.786099786334,-0.786159042279,-0.786218290997,-0.786277532489,-0.786336766754,-0.786395993791,-0.786455213599,-0.786514426179,-0.786573631529,-0.786632829648,-0.786692020538,-0.786751204196,-0.786810380623,-0.786869549817,-0.786928711779,-0.786987866507,-0.787047014002,-0.787106154262,-0.787165287288,-0.787224413078,-0.787283531631,-0.787342642949,-0.787401747029,-0.787460843872,-0.787519933476,-0.787579015842,-0.787638090968,-0.787697158855,-0.787756219501,-0.787815272907,-0.787874319071,-0.787933357993,-0.787992389673,-0.788051414109,-0.788110431302,-0.788169441251,-0.788228443955,-0.788287439414,-0.788346427627,-0.788405408593,-0.788464382313,-0.788523348786,-0.78858230801,-0.788641259986,-0.788700204714,-0.788759142191,-0.788818072418,-0.788876995395,-0.788935911121,-0.788994819595,-0.789053720816,-0.789112614785,-0.7891715015,-0.789230380962,-0.789289253169,-0.789348118121,-0.789406975818,-0.789465826258,-0.789524669442,-0.789583505369,-0.789642334038,-0.789701155449,-0.789759969601,-0.789818776494,-0.789877576127,-0.789936368499,-0.789995153611,-0.790053931461,-0.790112702049,-0.790171465375,-0.790230221437,-0.790288970236,-0.790347711771,-0.790406446041,-0.790465173046,-0.790523892785,-0.790582605257,-0.790641310463,-0.790700008402,-0.790758699072,-0.790817382474,-0.790876058607,-0.790934727471,-0.790993389064,-0.791052043386,-0.791110690438,-0.791169330218,-0.791227962725,-0.79128658796,-0.791345205921,-0.791403816609,-0.791462420022,-0.79152101616,-0.791579605023,-0.791638186609,-0.791696760919,-0.791755327952,-0.791813887707,-0.791872440184,-0.791930985383,-0.791989523302,-0.792048053941,-0.7921065773,-0.792165093378,-0.792223602175,-0.79228210369,-0.792340597922,-0.792399084871,-0.792457564537,-0.792516036918,-0.792574502015,-0.792632959827,-0.792691410353,-0.792749853593,-0.792808289546,-0.792866718212,-0.79292513959,-0.792983553679,-0.793041960479,-0.79310035999,-0.793158752211,-0.793217137142,-0.793275514781,-0.793333885129,-0.793392248185,-0.793450603948,-0.793508952417,-0.793567293593,-0.793625627475,-0.793683954062,-0.793742273353,-0.793800585349,-0.793858890048,-0.79391718745,-0.793975477554,-0.794033760361,-0.794092035869,-0.794150304078,-0.794208564987,-0.794266818596,-0.794325064904,-0.794383303911,-0.794441535616,-0.794499760019,-0.794557977119,-0.794616186915,-0.794674389408,-0.794732584596,-0.794790772479,-0.794848953057,-0.794907126328,-0.794965292293,-0.795023450951,-0.795081602301,-0.795139746343,-0.795197883076,-0.7952560125,-0.795314134613,-0.795372249417,-0.79543035691,-0.795488457091,-0.79554654996,-0.795604635517,-0.795662713761,-0.795720784691,-0.795778848307,-0.795836904609,-0.795894953595,-0.795952995266,-0.79601102962,-0.796069056658,-0.796127076378,-0.796185088781,-0.796243093865,-0.79630109163,-0.796359082076,-0.796417065202,-0.796475041008,-0.796533009492,-0.796590970655,-0.796648924495,-0.796706871013,-0.796764810208,-0.79682274208,-0.796880666627,-0.796938583849,-0.796996493746,-0.797054396317,-0.797112291562,-0.79717017948,-0.79722806007,-0.797285933333,-0.797343799267,-0.797401657872,-0.797459509147,-0.797517353093,-0.797575189708,-0.797633018991,-0.797690840943,-0.797748655563,-0.79780646285,-0.797864262804,-0.797922055424,-0.79797984071,-0.798037618661,-0.798095389276,-0.798153152556,-0.798210908499,-0.798268657105,-0.798326398373,-0.798384132304,-0.798441858896,-0.798499578149,-0.798557290062,-0.798614994635,-0.798672691867,-0.798730381758,-0.798788064308,-0.798845739515,-0.798903407379,-0.7989610679,-0.799018721077,-0.799076366909,-0.799134005397,-0.799191636539,-0.799249260335,-0.799306876785,-0.799364485888,-0.799422087643,-0.79947968205,-0.799537269108,-0.799594848817,-0.799652421176,-0.799709986186,-0.799767543844,-0.799825094151,-0.799882637106,-0.799940172709,-0.799997700959,-0.800055221856,-0.800112735399,-0.800170241587,-0.80022774042,-0.800285231898,-0.80034271602,-0.800400192785,-0.800457662193,-0.800515124243,-0.800572578935,-0.800630026269,-0.800687466243,-0.800744898857,-0.800802324112,-0.800859742005,-0.800917152537,-0.800974555708,-0.801031951515,-0.80108933996,-0.801146721042,-0.80120409476,-0.801261461113,-0.801318820101,-0.801376171723,-0.80143351598,-0.801490852869,-0.801548182392,-0.801605504547,-0.801662819334,-0.801720126752,-0.801777426801,-0.80183471948,-0.801892004789,-0.801949282727,-0.802006553293,-0.802063816488,-0.802121072311,-0.80217832076,-0.802235561836,-0.802292795538,-0.802350021866,-0.802407240818,-0.802464452395,-0.802521656596,-0.80257885342,-0.802636042867,-0.802693224937,-0.802750399628,-0.802807566941,-0.802864726874,-0.802921879428,-0.802979024601,-0.803036162393,-0.803093292804,-0.803150415834,-0.803207531481,-0.803264639745,-0.803321740625,-0.803378834122,-0.803435920234,-0.803492998961,-0.803550070303,-0.803607134258,-0.803664190827,-0.803721240009,-0.803778281803,-0.803835316209,-0.803892343226,-0.803949362854,-0.804006375093,-0.804063379941,-0.804120377398,-0.804177367464,-0.804234350139,-0.80429132542,-0.804348293309,-0.804405253805,-0.804462206907,-0.804519152614,-0.804576090926,-0.804633021843,-0.804689945364,-0.804746861488,-0.804803770215,-0.804860671545,-0.804917565476,-0.804974452009,-0.805031331143,-0.805088202877,-0.805145067211,-0.805201924144,-0.805258773676,-0.805315615806,-0.805372450534,-0.805429277859,-0.80548609778,-0.805542910298,-0.805599715412,-0.80565651312,-0.805713303423,-0.805770086321,-0.805826861811,-0.805883629895,-0.805940390571,-0.805997143839,-0.806053889699,-0.80611062815,-0.806167359191,-0.806224082821,-0.806280799042,-0.806337507851,-0.806394209248,-0.806450903233,-0.806507589806,-0.806564268965,-0.80662094071,-0.806677605041,-0.806734261958,-0.806790911459,-0.806847553544,-0.806904188213,-0.806960815464,-0.807017435299,-0.807074047716,-0.807130652714,-0.807187250293,-0.807243840452,-0.807300423192,-0.807356998511,-0.807413566409,-0.807470126886,-0.80752667994,-0.807583225572,-0.80763976378,-0.807696294565,-0.807752817926,-0.807809333862,-0.807865842373,-0.807922343458,-0.807978837117,-0.80803532335,-0.808091802154,-0.808148273531,-0.80820473748,-0.808261194,-0.808317643091,-0.808374084751,-0.808430518982,-0.808486945781,-0.808543365149,-0.808599777085,-0.808656181588,-0.808712578659,-0.808768968296,-0.808825350499,-0.808881725267,-0.8089380926,-0.808994452498,-0.80905080496,-0.809107149985,-0.809163487572,-0.809219817723,-0.809276140435,-0.809332455708,-0.809388763542,-0.809445063937,-0.809501356891,-0.809557642404,-0.809613920476,-0.809670191106,-0.809726454294,-0.80978271004,-0.809838958341,-0.809895199199,-0.809951432613,-0.810007658582,-0.810063877105,-0.810120088182,-0.810176291813,-0.810232487997,-0.810288676733,-0.810344858022,-0.810401031862,-0.810457198253,-0.810513357194,-0.810569508685,-0.810625652726,-0.810681789315,-0.810737918453,-0.810794040139,-0.810850154372,-0.810906261152,-0.810962360479,-0.811018452351,-0.811074536768,-0.811130613731,-0.811186683237,-0.811242745287,-0.811298799881,-0.811354847017,-0.811410886695,-0.811466918916,-0.811522943677,-0.811578960979,-0.811634970821,-0.811690973202,-0.811746968123,-0.811802955583,-0.81185893558,-0.811914908115,-0.811970873187,-0.812026830796,-0.81208278094,-0.81213872362,-0.812194658836,-0.812250586585,-0.812306506869,-0.812362419686,-0.812418325036,-0.812474222918,-0.812530113333,-0.812585996278,-0.812641871755,-0.812697739762,-0.812753600299,-0.812809453365,-0.81286529896,-0.812921137083,-0.812976967734,-0.813032790913,-0.813088606618,-0.813144414849,-0.813200215606,-0.813256008889,-0.813311794696,-0.813367573027,-0.813423343883,-0.813479107261,-0.813534863162,-0.813590611585,-0.81364635253,-0.813702085995,-0.813757811982,-0.813813530489,-0.813869241515,-0.81392494506,-0.813980641124,-0.814036329706,-0.814092010805,-0.814147684422,-0.814203350555,-0.814259009204,-0.814314660369,-0.814370304048,-0.814425940242,-0.81448156895,-0.814537190172,-0.814592803906,-0.814648410153,-0.814704008912,-0.814759600182,-0.814815183964,-0.814870760255,-0.814926329057,-0.814981890367,-0.815037444187,-0.815092990515,-0.815148529351,-0.815204060694,-0.815259584544,-0.8153151009,-0.815370609762,-0.81542611113,-0.815481605002,-0.815537091378,-0.815592570259,-0.815648041642,-0.815703505528,-0.815758961917,-0.815814410807,-0.815869852198,-0.81592528609,-0.815980712482,-0.816036131374,-0.816091542765,-0.816146946655,-0.816202343043,-0.816257731928,-0.816313113311,-0.81636848719,-0.816423853566,-0.816479212437,-0.816534563803,-0.816589907664,-0.816645244018,-0.816700572867,-0.816755894208,-0.816811208042,-0.816866514368,-0.816921813186,-0.816977104494,-0.817032388294,-0.817087664583,-0.817142933361,-0.817198194629,-0.817253448385,-0.817308694629,-0.817363933361,-0.817419164579,-0.817474388284,-0.817529604475,-0.817584813152,-0.817640014313,-0.817695207959,-0.817750394088,-0.817805572701,-0.817860743797,-0.817915907376,-0.817971063436,-0.818026211978,-0.818081353,-0.818136486503,-0.818191612486,-0.818246730948,-0.818301841889,-0.818356945309,-0.818412041206,-0.81846712958,-0.818522210432,-0.818577283759,-0.818632349563,-0.818687407842,-0.818742458595,-0.818797501823,-0.818852537525,-0.8189075657,-0.818962586347,-0.819017599467,-0.819072605059,-0.819127603122,-0.819182593656,-0.81923757666,-0.819292552134,-0.819347520077,-0.819402480489,-0.819457433369,-0.819512378716,-0.819567316531,-0.819622246813,-0.819677169561,-0.819732084774,-0.819786992453,-0.819841892596,-0.819896785204,-0.819951670275,-0.82000654781,-0.820061417807,-0.820116280266,-0.820171135187,-0.820225982569,-0.820280822412,-0.820335654715,-0.820390479478,-0.8204452967,-0.82050010638,-0.820554908519,-0.820609703115,-0.820664490168,-0.820719269678,-0.820774041644,-0.820828806066,-0.820883562943,-0.820938312274,-0.82099305406,-0.821047788299,-0.821102514991,-0.821157234136,-0.821211945733,-0.821266649781,-0.821321346281,-0.821376035231,-0.821430716632,-0.821485390482,-0.821540056781,-0.821594715528,-0.821649366724,-0.821704010367,-0.821758646457,-0.821813274994,-0.821867895977,-0.821922509406,-0.821977115279,-0.822031713597,-0.82208630436,-0.822140887565,-0.822195463214,-0.822250031306,-0.822304591839,-0.822359144814,-0.82241369023,-0.822468228087,-0.822522758383,-0.822577281119,-0.822631796295,-0.822686303908,-0.82274080396,-0.822795296449,-0.822849781376,-0.822904258739,-0.822958728538,-0.823013190772,-0.823067645442,-0.823122092546,-0.823176532084,-0.823230964056,-0.82328538846,-0.823339805298,-0.823394214567,-0.823448616268,-0.8235030104,-0.823557396962,-0.823611775954,-0.823666147376,-0.823720511227,-0.823774867507,-0.823829216215,-0.82388355735,-0.823937890912,-0.8239922169,-0.824046535315,-0.824100846156,-0.824155149421,-0.824209445111,-0.824263733225,-0.824318013762,-0.824372286723,-0.824426552106,-0.824480809911,-0.824535060137,-0.824589302785,-0.824643537853,-0.824697765342,-0.824751985249,-0.824806197576,-0.824860402322,-0.824914599485,-0.824968789066,-0.825022971065,-0.825077145479,-0.82513131231,-0.825185471556,-0.825239623218,-0.825293767294,-0.825347903784,-0.825402032688,-0.825456154004,-0.825510267734,-0.825564373875,-0.825618472428,-0.825672563392,-0.825726646767,-0.825780722552,-0.825834790746,-0.82588885135,-0.825942904362,-0.825996949782,-0.82605098761,-0.826105017845,-0.826159040486,-0.826213055534,-0.826267062987,-0.826321062846,-0.826375055109,-0.826429039776,-0.826483016847,-0.826536986321,-0.826590948197,-0.826644902476,-0.826698849157,-0.826752788238,-0.826806719721,-0.826860643603,-0.826914559885,-0.826968468567,-0.827022369647,-0.827076263125,-0.827130149001,-0.827184027274,-0.827237897943,-0.827291761009,-0.827345616471,-0.827399464328,-0.82745330458,-0.827507137226,-0.827560962265,-0.827614779698,-0.827668589524,-0.827722391741,-0.827776186351,-0.827829973352,-0.827883752743,-0.827937524525,-0.827991288697,-0.828045045258,-0.828098794207,-0.828152535545,-0.828206269271,-0.828259995384,-0.828313713884,-0.828367424771,-0.828421128043,-0.8284748237,-0.828528511742,-0.828582192169,-0.828635864979,-0.828689530173,-0.82874318775,-0.828796837709,-0.82885048005,-0.828904114772,-0.828957741875,-0.829011361359,-0.829064973222,-0.829118577465,-0.829172174087,-0.829225763087,-0.829279344465,-0.829332918221,-0.829386484353,-0.829440042862,-0.829493593747,-0.829547137008,-0.829600672643,-0.829654200653,-0.829707721037,-0.829761233795,-0.829814738925,-0.829868236428,-0.829921726303,-0.829975208549,-0.830028683167,-0.830082150155,-0.830135609513,-0.830189061241,-0.830242505338,-0.830295941803,-0.830349370637,-0.830402791838,-0.830456205406,-0.830509611341,-0.830563009642,-0.830616400309,-0.830669783341,-0.830723158737,-0.830776526498,-0.830829886622,-0.83088323911,-0.83093658396,-0.830989921172,-0.831043250746,-0.831096572682,-0.831149886978,-0.831203193634,-0.83125649265,-0.831309784026,-0.83136306776,-0.831416343852,-0.831469612303,-0.83152287311,-0.831576126274,-0.831629371795,-0.831682609672,-0.831735839904,-0.83178906249,-0.831842277432,-0.831895484727,-0.831948684375,-0.832001876376,-0.83205506073,-0.832108237436,-0.832161406493,-0.832214567901,-0.832267721659,-0.832320867768,-0.832374006226,-0.832427137033,-0.832480260188,-0.832533375692,-0.832586483543,-0.832639583741,-0.832692676286,-0.832745761176,-0.832798838413,-0.832851907994,-0.83290496992,-0.83295802419,-0.833011070804,-0.833064109761,-0.83311714106,-0.833170164702,-0.833223180685,-0.83327618901,-0.833329189675,-0.833382182681,-0.833435168026,-0.83348814571,-0.833541115733,-0.833594078095,-0.833647032794,-0.833699979831,-0.833752919204,-0.833805850914,-0.833858774959,-0.83391169134,-0.833964600056,-0.834017501106,-0.83407039449,-0.834123280207,-0.834176158258,-0.83422902864,-0.834281891355,-0.834334746401,-0.834387593778,-0.834440433486,-0.834493265524,-0.834546089891,-0.834598906587,-0.834651715612,-0.834704516965,-0.834757310645,-0.834810096652,-0.834862874986,-0.834915645647,-0.834968408632,-0.835021163943,-0.835073911579,-0.835126651539,-0.835179383822,-0.835232108429,-0.835284825358,-0.83533753461,-0.835390236183,-0.835442930078,-0.835495616294,-0.835548294829,-0.835600965685,-0.83565362886,-0.835706284354,-0.835758932166,-0.835811572296,-0.835864204743,-0.835916829508,-0.835969446589,-0.836022055985,-0.836074657698,-0.836127251725,-0.836179838066,-0.836232416722,-0.836284987691,-0.836337550974,-0.836390106568,-0.836442654475,-0.836495194694,-0.836547727224,-0.836600252064,-0.836652769214,-0.836705278674,-0.836757780444,-0.836810274522,-0.836862760908,-0.836915239602,-0.836967710603,-0.837020173911,-0.837072629525,-0.837125077445,-0.837177517671,-0.837229950201,-0.837282375035,-0.837334792174,-0.837387201616,-0.83743960336,-0.837491997408,-0.837544383757,-0.837596762407,-0.837649133359,-0.837701496611,-0.837753852163,-0.837806200015,-0.837858540166,-0.837910872615,-0.837963197363,-0.838015514408,-0.83806782375,-0.838120125389,-0.838172419324,-0.838224705555,-0.838276984081,-0.838329254902,-0.838381518017,-0.838433773425,-0.838486021127,-0.838538261122,-0.838590493409,-0.838642717989,-0.838694934859,-0.83874714402,-0.838799345472,-0.838851539214,-0.838903725245,-0.838955903565,-0.839008074174,-0.83906023707,-0.839112392254,-0.839164539726,-0.839216679484,-0.839268811527,-0.839320935857,-0.839373052472,-0.839425161371,-0.839477262555,-0.839529356022,-0.839581441772,-0.839633519805,-0.839685590121,-0.839737652718,-0.839789707597,-0.839841754756,-0.839893794196,-0.839945825916,-0.839997849915,-0.840049866193,-0.840101874749,-0.840153875583,-0.840205868695,-0.840257854084,-0.84030983175,-0.840361801691,-0.840413763908,-0.8404657184,-0.840517665167,-0.840569604208,-0.840621535522,-0.84067345911,-0.84072537497,-0.840777283103,-0.840829183508,-0.840881076183,-0.84093296113,-0.840984838347,-0.841036707833,-0.841088569589,-0.841140423614,-0.841192269908,-0.841244108469,-0.841295939298,-0.841347762394,-0.841399577756,-0.841451385384,-0.841503185278,-0.841554977437,-0.84160676186,-0.841658538548,-0.841710307499,-0.841762068714,-0.841813822191,-0.841865567931,-0.841917305932,-0.841969036194,-0.842020758718,-0.842072473501,-0.842124180545,-0.842175879848,-0.842227571409,-0.842279255229,-0.842330931308,-0.842382599643,-0.842434260236,-0.842485913085,-0.84253755819,-0.842589195551,-0.842640825167,-0.842692447037,-0.842744061162,-0.84279566754,-0.842847266172,-0.842898857056,-0.842950440192,-0.84300201558,-0.84305358322,-0.84310514311,-0.843156695251,-0.843208239642,-0.843259776282,-0.843311305171,-0.843362826308,-0.843414339694,-0.843465845327,-0.843517343207,-0.843568833333,-0.843620315706,-0.843671790324,-0.843723257188,-0.843774716296,-0.843826167648,-0.843877611244,-0.843929047084,-0.843980475166,-0.84403189549,-0.844083308056,-0.844134712864,-0.844186109912,-0.844237499201,-0.84428888073,-0.844340254499,-0.844391620506,-0.844442978752,-0.844494329236,-0.844545671957,-0.844597006916,-0.844648334111,-0.844699653543,-0.84475096521,-0.844802269113,-0.84485356525,-0.844904853621,-0.844956134226,-0.845007407065,-0.845058672137,-0.845109929441,-0.845161178976,-0.845212420744,-0.845263654742,-0.845314880971,-0.84536609943,-0.845417310118,-0.845468513036,-0.845519708182,-0.845570895556,-0.845622075158,-0.845673246987,-0.845724411043,-0.845775567326,-0.845826715834,-0.845877856567,-0.845928989525,-0.845980114708,-0.846031232115,-0.846082341745,-0.846133443598,-0.846184537674,-0.846235623971,-0.846286702491,-0.846337773231,-0.846388836192,-0.846439891373,-0.846490938774,-0.846541978394,-0.846593010233,-0.84664403429,-0.846695050565,-0.846746059058,-0.846797059767,-0.846848052693,-0.846899037834,-0.846950015192,-0.847000984764,-0.84705194655,-0.847102900551,-0.847153846766,-0.847204785193,-0.847255715833,-0.847306638686,-0.84735755375,-0.847408461025,-0.847459360512,-0.847510252208,-0.847561136115,-0.847612012231,-0.847662880555,-0.847713741089,-0.84776459383,-0.847815438779,-0.847866275935,-0.847917105297,-0.847967926866,-0.84801874064,-0.848069546619,-0.848120344803,-0.848171135192,-0.848221917784,-0.848272692579,-0.848323459578,-0.848374218779,-0.848424970181,-0.848475713785,-0.848526449591,-0.848577177596,-0.848627897802,-0.848678610207,-0.848729314812,-0.848780011615,-0.848830700616,-0.848881381815,-0.848932055212,-0.848982720805,-0.849033378594,-0.84908402858,-0.84913467076,-0.849185305136,-0.849235931706,-0.84928655047,-0.849337161428,-0.849387764579,-0.849438359922,-0.849488947457,-0.849539527185,-0.849590099103,-0.849640663212,-0.849691219512,-0.849741768001,-0.849792308679,-0.849842841547,-0.849893366603,-0.849943883847,-0.849994393278,-0.850044894897,-0.850095388702,-0.850145874693,-0.850196352869,-0.850246823231,-0.850297285778,-0.850347740509,-0.850398187424,-0.850448626522,-0.850499057802,-0.850549481266,-0.850599896911,-0.850650304737,-0.850700704745,-0.850751096933,-0.850801481302,-0.850851857849,-0.850902226576,-0.850952587482,-0.851002940566,-0.851053285828,-0.851103623267,-0.851153952883,-0.851204274675,-0.851254588643,-0.851304894787,-0.851355193105,-0.851405483598,-0.851455766266,-0.851506041106,-0.85155630812,-0.851606567307,-0.851656818666,-0.851707062196,-0.851757297898,-0.851807525771,-0.851857745814,-0.851907958027,-0.851958162409,-0.85200835896,-0.85205854768,-0.852108728568,-0.852158901624,-0.852209066847,-0.852259224236,-0.852309373792,-0.852359515513,-0.8524096494,-0.852459775451,-0.852509893667,-0.852560004047,-0.85261010659,-0.852660201296,-0.852710288165,-0.852760367196,-0.852810438388,-0.852860501742,-0.852910557256,-0.85296060493,-0.853010644765,-0.853060676758,-0.853110700911,-0.853160717221,-0.85321072569,-0.853260726316,-0.8533107191,-0.853360704039,-0.853410681135,-0.853460650387,-0.853510611793,-0.853560565355,-0.85361051107,-0.85366044894,-0.853710378962,-0.853760301138,-0.853810215466,-0.853860121946,-0.853910020578,-0.85395991136,-0.854009794293,-0.854059669377,-0.85410953661,-0.854159395992,-0.854209247523,-0.854259091202,-0.854308927029,-0.854358755003,-0.854408575125,-0.854458387392,-0.854508191806,-0.854557988365,-0.85460777707,-0.854657557919,-0.854707330912,-0.854757096049,-0.854806853329,-0.854856602752,-0.854906344317,-0.854956078025,-0.855005803873,-0.855055521863,-0.855105231993,-0.855154934263,-0.855204628673,-0.855254315222,-0.855303993909,-0.855353664735,-0.855403327699,-0.8554529828,-0.855502630037,-0.855552269412,-0.855601900922,-0.855651524567,-0.855701140348,-0.855750748263,-0.855800348313,-0.855849940496,-0.855899524812,-0.855949101261,-0.855998669842,-0.856048230555,-0.8560977834,-0.856147328375,-0.856196865481,-0.856246394717,-0.856295916083,-0.856345429577,-0.8563949352,-0.856444432952,-0.856493922831,-0.856543404838,-0.856592878971,-0.856642345231,-0.856691803616,-0.856741254128,-0.856790696764,-0.856840131525,-0.856889558409,-0.856938977418,-0.85698838855,-0.857037791804,-0.857087187181,-0.857136574679,-0.857185954299,-0.85723532604,-0.857284689901,-0.857334045883,-0.857383393984,-0.857432734204,-0.857482066543,-0.857531390999,-0.857580707574,-0.857630016266,-0.857679317075,-0.85772861,-0.857777895041,-0.857827172198,-0.85787644147,-0.857925702856,-0.857974956357,-0.858024201971,-0.858073439698,-0.858122669538,-0.858171891491,-0.858221105555,-0.858270311731,-0.858319510017,-0.858368700414,-0.858417882922,-0.858467057538,-0.858516224264,-0.858565383099,-0.858614534042,-0.858663677093,-0.858712812251,-0.858761939516,-0.858811058887,-0.858860170365,-0.858909273948,-0.858958369636,-0.859007457429,-0.859056537325,-0.859105609326,-0.85915467343,-0.859203729637,-0.859252777946,-0.859301818357,-0.85935085087,-0.859399875483,-0.859448892197,-0.859497901012,-0.859546901926,-0.859595894939,-0.859644880051,-0.859693857261,-0.859742826569,-0.859791787975,-0.859840741477,-0.859889687077,-0.859938624772,-0.859987554563,-0.860036476449,-0.860085390429,-0.860134296504,-0.860183194673,-0.860232084935,-0.860280967291,-0.860329841738,-0.860378708278,-0.860427566909,-0.860476417632,-0.860525260445,-0.860574095348,-0.860622922341,-0.860671741424,-0.860720552595,-0.860769355855,-0.860818151202,-0.860866938638,-0.86091571816,-0.860964489769,-0.861013253464,-0.861062009245,-0.861110757112,-0.861159497063,-0.861208229099,-0.861256953218,-0.861305669421,-0.861354377707,-0.861403078076,-0.861451770527,-0.861500455059,-0.861549131673,-0.861597800368,-0.861646461143,-0.861695113998,-0.861743758933,-0.861792395946,-0.861841025038,-0.861889646209,-0.861938259456,-0.861986864782,-0.862035462184,-0.862084051662,-0.862132633216,-0.862181206846,-0.862229772551,-0.86227833033,-0.862326880184,-0.862375422111,-0.862423956111,-0.862472482184,-0.86252100033,-0.862569510547,-0.862618012836,-0.862666507196,-0.862714993626,-0.862763472126,-0.862811942697,-0.862860405336,-0.862908860044,-0.862957306821,-0.863005745665,-0.863054176577,-0.863102599555,-0.863151014601,-0.863199421712,-0.863247820889,-0.863296212131,-0.863344595439,-0.86339297081,-0.863441338245,-0.863489697744,-0.863538049305,-0.86358639293,-0.863634728616,-0.863683056364,-0.863731376173,-0.863779688043,-0.863827991973,-0.863876287963,-0.863924576013,-0.863972856122,-0.864021128289,-0.864069392514,-0.864117648797,-0.864165897137,-0.864214137534,-0.864262369987,-0.864310594496,-0.864358811061,-0.86440701968,-0.864455220354,-0.864503413082,-0.864551597864,-0.864599774699,-0.864647943587,-0.864696104527,-0.864744257519,-0.864792402563,-0.864840539658,-0.864888668803,-0.864936789998,-0.864984903243,-0.865033008537,-0.86508110588,-0.865129195272,-0.865177276711,-0.865225350198,-0.865273415731,-0.865321473312,-0.865369522938,-0.865417564611,-0.865465598328,-0.865513624091,-0.865561641897,-0.865609651748,-0.865657653642,-0.865705647579,-0.865753633559,-0.865801611581,-0.865849581645,-0.86589754375,-0.865945497896,-0.865993444082,-0.866041382309,-0.866089312575,-0.86613723488,-0.866185149223,-0.866233055605,-0.866280954025,-0.866328844481,-0.866376726975,-0.866424601505,-0.866472468072,-0.866520326674,-0.866568177311,-0.866616019982,-0.866663854688,-0.866711681428,-0.866759500201,-0.866807311007,-0.866855113845,-0.866902908716,-0.866950695618,-0.866998474552,-0.867046245516,-0.86709400851,-0.867141763534,-0.867189510588,-0.867237249671,-0.867284980782,-0.867332703921,-0.867380419088,-0.867428126282,-0.867475825503,-0.867523516751,-0.867571200024,-0.867618875323,-0.867666542646,-0.867714201995,-0.867761853367,-0.867809496763,-0.867857132183,-0.867904759625,-0.86795237909,-0.867999990577,-0.868047594085,-0.868095189614,-0.868142777164,-0.868190356734,-0.868237928324,-0.868285491934,-0.868333047562,-0.868380595209,-0.868428134873,-0.868475666556,-0.868523190255,-0.868570705971,-0.868618213704,-0.868665713452,-0.868713205216,-0.868760688995,-0.868808164788,-0.868855632595,-0.868903092416,-0.868950544251,-0.868997988098,-0.869045423957,-0.869092851828,-0.869140271711,-0.869187683605,-0.86923508751,-0.869282483424,-0.869329871349,-0.869377251282,-0.869424623225,-0.869471987176,-0.869519343135,-0.869566691101,-0.869614031075,-0.869661363056,-0.869708687042,-0.869756003035,-0.869803311033,-0.869850611035,-0.869897903043,-0.869945187054,-0.869992463069,-0.870039731088,-0.870086991109,-0.870134243132,-0.870181487157,-0.870228723184,-0.870275951212,-0.870323171241,-0.870370383269,-0.870417587298,-0.870464783325,-0.870511971352,-0.870559151377,-0.8706063234,-0.870653487421,-0.870700643438,-0.870747791453,-0.870794931464,-0.87084206347,-0.870889187472,-0.870936303469,-0.87098341146,-0.871030511446,-0.871077603425,-0.871124687398,-0.871171763363,-0.871218831321,-0.87126589127,-0.871312943212,-0.871359987144,-0.871407023067,-0.87145405098,-0.871501070883,-0.871548082775,-0.871595086656,-0.871642082526,-0.871689070383,-0.871736050229,-0.871783022061,-0.87182998588,-0.871876941686,-0.871923889477,-0.871970829254,-0.872017761016,-0.872064684763,-0.872111600493,-0.872158508208,-0.872205407906,-0.872252299586,-0.872299183249,-0.872346058894,-0.872392926521,-0.872439786129,-0.872486637717,-0.872533481286,-0.872580316835,-0.872627144363,-0.87267396387,-0.872720775356,-0.87276757882,-0.872814374261,-0.87286116168,-0.872907941076,-0.872954712448,-0.873001475796,-0.87304823112,-0.873094978418,-0.873141717692,-0.873188448939,-0.873235172161,-0.873281887356,-0.873328594524,-0.873375293664,-0.873421984777,-0.873468667861,-0.873515342917,-0.873562009943,-0.87360866894,-0.873655319907,-0.873701962843,-0.873748597749,-0.873795224623,-0.873841843465,-0.873888454276,-0.873935057053,-0.873981651798,-0.874028238509,-0.874074817186,-0.874121387829,-0.874167950438,-0.874214505011,-0.874261051548,-0.87430759005,-0.874354120515,-0.874400642943,-0.874447157334,-0.874493663687,-0.874540162002,-0.874586652278,-0.874633134516,-0.874679608713,-0.874726074872,-0.874772532989,-0.874818983066,-0.874865425102,-0.874911859097,-0.874958285049,-0.875004702959,-0.875051112826,-0.87509751465,-0.87514390843,-0.875190294165,-0.875236671857,-0.875283041503,-0.875329403104,-0.875375756659,-0.875422102168,-0.87546843963,-0.875514769045,-0.875561090413,-0.875607403732,-0.875653709003,-0.875700006226,-0.875746295399,-0.875792576522,-0.875838849595,-0.875885114618,-0.87593137159,-0.87597762051,-0.876023861379,-0.876070094195,-0.876116318959,-0.87616253567,-0.876208744327,-0.87625494493,-0.876301137479,-0.876347321973,-0.876393498412,-0.876439666796,-0.876485827123,-0.876531979394,-0.876578123608,-0.876624259764,-0.876670387863,-0.876716507904,-0.876762619886,-0.876808723809,-0.876854819673,-0.876900907477,-0.87694698722,-0.876993058903,-0.877039122525,-0.877085178085,-0.877131225583,-0.877177265019,-0.877223296392,-0.877269319701,-0.877315334947,-0.877361342129,-0.877407341246,-0.877453332299,-0.877499315286,-0.877545290207,-0.877591257062,-0.877637215851,-0.877683166572,-0.877729109226,-0.877775043812,-0.87782097033,-0.877866888779,-0.877912799159,-0.877958701469,-0.878004595709,-0.878050481879,-0.878096359978,-0.878142230005,-0.878188091961,-0.878233945845,-0.878279791657,-0.878325629395,-0.87837145906,-0.878417280651,-0.878463094168,-0.87850889961,-0.878554696977,-0.878600486269,-0.878646267485,-0.878692040625,-0.878737805687,-0.878783562673,-0.878829311581,-0.878875052411,-0.878920785162,-0.878966509835,-0.879012226429,-0.879057934942,-0.879103635376,-0.879149327729,-0.879195012001,-0.879240688192,-0.879286356301,-0.879332016328,-0.879377668272,-0.879423312133,-0.879468947911,-0.879514575604,-0.879560195214,-0.879605806739,-0.879651410178,-0.879697005532,-0.8797425928,-0.879788171982,-0.879833743076,-0.879879306084,-0.879924861004,-0.879970407836,-0.880015946579,-0.880061477233,-0.880106999798,-0.880152514274,-0.880198020659,-0.880243518953,-0.880289009157,-0.880334491269,-0.880379965289,-0.880425431217,-0.880470889052,-0.880516338794,-0.880561780443,-0.880607213998,-0.880652639458,-0.880698056824,-0.880743466094,-0.880788867269,-0.880834260348,-0.88087964533,-0.880925022216,-0.880970391004,-0.881015751694,-0.881061104287,-0.881106448781,-0.881151785176,-0.881197113471,-0.881242433667,-0.881287745763,-0.881333049758,-0.881378345652,-0.881423633444,-0.881468913135,-0.881514184723,-0.881559448209,-0.881604703592,-0.881649950871,-0.881695190046,-0.881740421117,-0.881785644083,-0.881830858944,-0.881876065699,-0.881921264348,-0.881966454891,-0.882011637327,-0.882056811656,-0.882101977877,-0.88214713599,-0.882192285994,-0.88223742789,-0.882282561676,-0.882327687352,-0.882372804919,-0.882417914374,-0.882463015719,-0.882508108952,-0.882553194074,-0.882598271083,-0.88264333998,-0.882688400763,-0.882733453433,-0.882778497989,-0.882823534431,-0.882868562758,-0.88291358297,-0.882958595066,-0.883003599047,-0.883048594911,-0.883093582658,-0.883138562288,-0.883183533801,-0.883228497195,-0.883273452471,-0.883318399628,-0.883363338666,-0.883408269584,-0.883453192382,-0.883498107059,-0.883543013616,-0.883587912051,-0.883632802365,-0.883677684556,-0.883722558625,-0.883767424571,-0.883812282393,-0.883857132091,-0.883901973666,-0.883946807116,-0.88399163244,-0.884036449639,-0.884081258713,-0.88412605966,-0.88417085248,-0.884215637173,-0.884260413739,-0.884305182177,-0.884349942486,-0.884394694667,-0.884439438718,-0.88448417464,-0.884528902432,-0.884573622094,-0.884618333624,-0.884663037024,-0.884707732292,-0.884752419428,-0.884797098431,-0.884841769301,-0.884886432039,-0.884931086642,-0.884975733112,-0.885020371447,-0.885065001647,-0.885109623711,-0.88515423764,-0.885198843433,-0.885243441089,-0.885288030609,-0.885332611991,-0.885377185235,-0.885421750341,-0.885466307308,-0.885510856136,-0.885555396825,-0.885599929374,-0.885644453783,-0.885688970051,-0.885733478178,-0.885777978164,-0.885822470007,-0.885866953709,-0.885911429268,-0.885955896683,-0.886000355955,-0.886044807084,-0.886089250067,-0.886133684907,-0.8861781116,-0.886222530149,-0.886266940551,-0.886311342807,-0.886355736917,-0.886400122879,-0.886444500693,-0.88648887036,-0.886533231878,-0.886577585247,-0.886621930467,-0.886666267537,-0.886710596458,-0.886754917228,-0.886799229847,-0.886843534314,-0.88688783063,-0.886932118794,-0.886976398806,-0.887020670664,-0.88706493437,-0.887109189921,-0.887153437319,-0.887197676562,-0.88724190765,-0.887286130582,-0.887330345359,-0.88737455198,-0.887418750444,-0.887462940752,-0.887507122901,-0.887551296894,-0.887595462728,-0.887639620403,-0.887683769919,-0.887727911276,-0.887772044473,-0.88781616951,-0.887860286387,-0.887904395102,-0.887948495656,-0.887992588048,-0.888036672278,-0.888080748345,-0.888124816249,-0.88816887599,-0.888212927566,-0.888256970979,-0.888301006227,-0.88834503331,-0.888389052227,-0.888433062978,-0.888477065564,-0.888521059982,-0.888565046233,-0.888609024317,-0.888652994233,-0.888696955981,-0.88874090956,-0.88878485497,-0.88882879221,-0.88887272128,-0.88891664218,-0.88896055491,-0.889004459468,-0.889048355855,-0.889092244069,-0.889136124112,-0.889179995981,-0.889223859678,-0.889267715201,-0.88931156255,-0.889355401724,-0.889399232724,-0.889443055549,-0.889486870198,-0.889530676671,-0.889574474968,-0.889618265088,-0.889662047031,-0.889705820796,-0.889749586383,-0.889793343792,-0.889837093022,-0.889880834073,-0.889924566944,-0.889968291635,-0.890012008146,-0.890055716476,-0.890099416625,-0.890143108592,-0.890186792378,-0.890230467981,-0.890274135401,-0.890317794637,-0.890361445691,-0.89040508856,-0.890448723245,-0.890492349745,-0.89053596806,-0.890579578189,-0.890623180132,-0.890666773889,-0.890710359459,-0.890753936841,-0.890797506036,-0.890841067043,-0.890884619862,-0.890928164492,-0.890971700932,-0.891015229183,-0.891058749244,-0.891102261115,-0.891145764795,-0.891189260283,-0.89123274758,-0.891276226685,-0.891319697597,-0.891363160317,-0.891406614843,-0.891450061176,-0.891493499315,-0.891536929259,-0.891580351009,-0.891623764563,-0.891667169922,-0.891710567084,-0.891753956051,-0.89179733682,-0.891840709392,-0.891884073767,-0.891927429944,-0.891970777922,-0.892014117701,-0.892057449282,-0.892100772662,-0.892144087843,-0.892187394823,-0.892230693602,-0.892273984181,-0.892317266557,-0.892360540732,-0.892403806704,-0.892447064474,-0.89249031404,-0.892533555403,-0.892576788562,-0.892620013516,-0.892663230265,-0.89270643881,-0.892749639149,-0.892792831282,-0.892836015208,-0.892879190928,-0.892922358441,-0.892965517746,-0.893008668843,-0.893051811732,-0.893094946412,-0.893138072883,-0.893181191144,-0.893224301196,-0.893267403037,-0.893310496667,-0.893353582086,-0.893396659294,-0.89343972829,-0.893482789074,-0.893525841644,-0.893568886002,-0.893611922146,-0.893654950077,-0.893697969793,-0.893740981294,-0.893783984581,-0.893826979651,-0.893869966506,-0.893912945145,-0.893955915567,-0.893998877772,-0.89404183176,-0.89408477753,-0.894127715081,-0.894170644414,-0.894213565528,-0.894256478422,-0.894299383097,-0.894342279551,-0.894385167785,-0.894428047798,-0.894470919589,-0.894513783159,-0.894556638506,-0.894599485631,-0.894642324533,-0.894685155212,-0.894727977667,-0.894770791897,-0.894813597903,-0.894856395685,-0.89489918524,-0.894941966571,-0.894984739675,-0.895027504552,-0.895070261203,-0.895113009626,-0.895155749822,-0.895198481789,-0.895241205528,-0.895283921039,-0.89532662832,-0.895369327371,-0.895412018192,-0.895454700783,-0.895497375143,-0.895540041272,-0.895582699169,-0.895625348834,-0.895667990267,-0.895710623467,-0.895753248434,-0.895795865167,-0.895838473666,-0.895881073931,-0.895923665961,-0.895966249756,-0.896008825316,-0.896051392639,-0.896093951727,-0.896136502577,-0.896179045191,-0.896221579567,-0.896264105705,-0.896306623604,-0.896349133266,-0.896391634688,-0.89643412787,-0.896476612813,-0.896519089516,-0.896561557978,-0.896604018199,-0.896646470179,-0.896688913917,-0.896731349412,-0.896773776665,-0.896816195676,-0.896858606442,-0.896901008965,-0.896943403244,-0.896985789279,-0.897028167068,-0.897070536613,-0.897112897911,-0.897155250964,-0.89719759577,-0.897239932329,-0.897282260641,-0.897324580705,-0.897366892522,-0.89740919609,-0.897451491409,-0.897493778479,-0.897536057299,-0.89757832787,-0.89762059019,-0.897662844259,-0.897705090077,-0.897747327644,-0.897789556959,-0.897831778021,-0.897873990831,-0.897916195388,-0.897958391691,-0.898000579741,-0.898042759536,-0.898084931077,-0.898127094362,-0.898169249393,-0.898211396167,-0.898253534685,-0.898295664947,-0.898337786952,-0.898379900699,-0.898422006189,-0.898464103421,-0.898506192394,-0.898548273108,-0.898590345563,-0.898632409759,-0.898674465694,-0.898716513369,-0.898758552783,-0.898800583936,-0.898842606827,-0.898884621457,-0.898926627824,-0.898968625928,-0.899010615769,-0.899052597347,-0.89909457066,-0.89913653571,-0.899178492495,-0.899220441014,-0.899262381269,-0.899304313257,-0.899346236979,-0.899388152435,-0.899430059624,-0.899471958545,-0.899513849198,-0.899555731584,-0.899597605701,-0.899639471549,-0.899681329127,-0.899723178436,-0.899765019475,-0.899806852244,-0.899848676742,-0.899890492968,-0.899932300923,-0.899974100606,-0.900015892016,-0.900057675154,-0.900099450019,-0.90014121661,-0.900182974927,-0.90022472497,-0.900266466738,-0.900308200231,-0.900349925449,-0.900391642391,-0.900433351056,-0.900475051445,-0.900516743558,-0.900558427392,-0.900600102949,-0.900641770228,-0.900683429229,-0.90072507995,-0.900766722392,-0.900808356555,-0.900849982438,-0.90089160004,-0.900933209361,-0.900974810401,-0.90101640316,-0.901057987636,-0.901099563831,-0.901141131742,-0.901182691371,-0.901224242716,-0.901265785777,-0.901307320554,-0.901348847046,-0.901390365253,-0.901431875175,-0.901473376811,-0.901514870161,-0.901556355225,-0.901597832001,-0.90163930049,-0.901680760692,-0.901722212606,-0.901763656231,-0.901805091567,-0.901846518614,-0.901887937371,-0.901929347839,-0.901970750016,-0.902012143902,-0.902053529498,-0.902094906802,-0.902136275814,-0.902177636533,-0.902218988961,-0.902260333095,-0.902301668935,-0.902342996482,-0.902384315735,-0.902425626694,-0.902466929357,-0.902508223725,-0.902549509798,-0.902590787574,-0.902632057054,-0.902673318237,-0.902714571123,-0.902755815712,-0.902797052002,-0.902838279995,-0.902879499688,-0.902920711082,-0.902961914177,-0.903003108973,-0.903044295468,-0.903085473662,-0.903126643555,-0.903167805147,-0.903208958438,-0.903250103426,-0.903291240112,-0.903332368495,-0.903373488574,-0.90341460035,-0.903455703822,-0.90349679899,-0.903537885853,-0.903578964411,-0.903620034663,-0.903661096609,-0.903702150249,-0.903743195583,-0.903784232609,-0.903825261328,-0.90386628174,-0.903907293843,-0.903948297638,-0.903989293123,-0.9040302803,-0.904071259167,-0.904112229724,-0.90415319197,-0.904194145906,-0.90423509153,-0.904276028843,-0.904316957844,-0.904357878533,-0.904398790909,-0.904439694972,-0.904480590721,-0.904521478157,-0.904562357279,-0.904603228086,-0.904644090578,-0.904684944755,-0.904725790616,-0.904766628162,-0.90480745739,-0.904848278302,-0.904889090897,-0.904929895174,-0.904970691134,-0.905011478775,-0.905052258097,-0.9050930291,-0.905133791784,-0.905174546148,-0.905215292192,-0.905256029916,-0.905296759318,-0.905337480399,-0.905378193159,-0.905418897596,-0.905459593711,-0.905500281504,-0.905540960973,-0.905581632118,-0.90562229494,-0.905662949437,-0.90570359561,-0.905744233458,-0.90578486298,-0.905825484176,-0.905866097047,-0.90590670159,-0.905947297807,-0.905987885697,-0.906028465259,-0.906069036493,-0.906109599398,-0.906150153975,-0.906190700223,-0.906231238141,-0.906271767729,-0.906312288987,-0.906352801915,-0.906393306511,-0.906433802776,-0.906474290709,-0.90651477031,-0.906555241579,-0.906595704515,-0.906636159117,-0.906676605386,-0.906717043321,-0.906757472922,-0.906797894188,-0.906838307119,-0.906878711714,-0.906919107974,-0.906959495897,-0.906999875484,-0.907040246734,-0.907080609646,-0.907120964221,-0.907161310458,-0.907201648356,-0.907241977915,-0.907282299136,-0.907322612016,-0.907362916557,-0.907403212758,-0.907443500618,-0.907483780137,-0.907524051314,-0.90756431415,-0.907604568643,-0.907644814795,-0.907685052603,-0.907725282068,-0.907765503189,-0.907805715966,-0.907845920399,-0.907886116488,-0.907926304231,-0.907966483629,-0.90800665468,-0.908046817386,-0.908086971745,-0.908127117757,-0.908167255422,-0.908207384739,-0.908247505709,-0.908287618329,-0.908327722601,-0.908367818524,-0.908407906097,-0.908447985321,-0.908488056194,-0.908528118716,-0.908568172888,-0.908608218708,-0.908648256176,-0.908688285293,-0.908728306056,-0.908768318467,-0.908808322525,-0.908848318229,-0.90888830558,-0.908928284576,-0.908968255217,-0.909008217503,-0.909048171434,-0.909088117009,-0.909128054228,-0.909167983091,-0.909207903596,-0.909247815744,-0.909287719535,-0.909327614968,-0.909367502042,-0.909407380758,-0.909447251114,-0.909487113112,-0.909526966749,-0.909566812026,-0.909606648943,-0.909646477498,-0.909686297693,-0.909726109525,-0.909765912996,-0.909805708105,-0.90984549485,-0.909885273233,-0.909925043252,-0.909964804907,-0.910004558198,-0.910044303125,-0.910084039686,-0.910123767883,-0.910163487713,-0.910203199178,-0.910242902276,-0.910282597007,-0.910322283372,-0.910361961368,-0.910401630997,-0.910441292258,-0.91048094515,-0.910520589673,-0.910560225827,-0.910599853612,-0.910639473026,-0.91067908407,-0.910718686743,-0.910758281044,-0.910797866975,-0.910837444533,-0.91087701372,-0.910916574533,-0.910956126974,-0.910995671042,-0.911035206735,-0.911074734055,-0.911114253001,-0.911153763571,-0.911193265767,-0.911232759586,-0.911272245031,-0.911311722098,-0.91135119079,-0.911390651104,-0.911430103041,-0.911469546601,-0.911508981782,-0.911548408585,-0.911587827009,-0.911627237054,-0.91166663872,-0.911706032005,-0.911745416911,-0.911784793436,-0.91182416158,-0.911863521343,-0.911902872724,-0.911942215723,-0.91198155034,-0.912020876574,-0.912060194424,-0.912099503892,-0.912138804975,-0.912178097675,-0.91221738199,-0.91225665792,-0.912295925464,-0.912335184623,-0.912374435396,-0.912413677783,-0.912452911783,-0.912492137396,-0.912531354622,-0.912570563459,-0.912609763909,-0.91264895597,-0.912688139642,-0.912727314925,-0.912766481818,-0.912805640322,-0.912844790435,-0.912883932157,-0.912923065488,-0.912962190428,-0.913001306977,-0.913040415133,-0.913079514896,-0.913118606267,-0.913157689245,-0.913196763829,-0.913235830019,-0.913274887815,-0.913313937216,-0.913352978222,-0.913392010833,-0.913431035049,-0.913470050868,-0.91350905829,-0.913548057316,-0.913587047945,-0.913626030177,-0.91366500401,-0.913703969445,-0.913742926482,-0.91378187512,-0.913820815358,-0.913859747197,-0.913898670636,-0.913937585674,-0.913976492312,-0.914015390549,-0.914054280384,-0.914093161817,-0.914132034849,-0.914170899478,-0.914209755704,-0.914248603526,-0.914287442945,-0.914326273961,-0.914365096571,-0.914403910778,-0.914442716579,-0.914481513975,-0.914520302965,-0.914559083549,-0.914597855727,-0.914636619498,-0.914675374862,-0.914714121818,-0.914752860366,-0.914791590506,-0.914830312238,-0.914869025561,-0.914907730474,-0.914946426978,-0.914985115072,-0.915023794755,-0.915062466028,-0.915101128889,-0.91513978334,-0.915178429378,-0.915217067005,-0.915255696218,-0.915294317019,-0.915332929407,-0.915371533382,-0.915410128942,-0.915448716088,-0.91548729482,-0.915525865136,-0.915564427038,-0.915602980523,-0.915641525593,-0.915680062246,-0.915718590483,-0.915757110302,-0.915795621704,-0.915834124688,-0.915872619254,-0.915911105402,-0.91594958313,-0.91598805244,-0.916026513329,-0.916064965799,-0.916103409849,-0.916141845478,-0.916180272686,-0.916218691473,-0.916257101838,-0.916295503781,-0.916333897301,-0.916372282399,-0.916410659074,-0.916449027325,-0.916487387153,-0.916525738556,-0.916564081535,-0.916602416089,-0.916640742218,-0.916679059921,-0.916717369198,-0.916755670049,-0.916793962474,-0.916832246471,-0.916870522041,-0.916908789184,-0.916947047898,-0.916985298184,-0.917023540041,-0.91706177347,-0.917099998468,-0.917138215037,-0.917176423176,-0.917214622885,-0.917252814162,-0.917290997008,-0.917329171423,-0.917367337406,-0.917405494957,-0.917443644075,-0.91748178476,-0.917519917012,-0.91755804083,-0.917596156214,-0.917634263164,-0.917672361679,-0.917710451759,-0.917748533404,-0.917786606613,-0.917824671385,-0.917862727722,-0.917900775621,-0.917938815084,-0.917976846109,-0.918014868696,-0.918052882845,-0.918090888555,-0.918128885827,-0.918166874659,-0.918204855051,-0.918242827004,-0.918280790517,-0.918318745588,-0.918356692219,-0.918394630408,-0.918432560156,-0.918470481462,-0.918508394325,-0.918546298746,-0.918584194723,-0.918622082257,-0.918659961348,-0.918697831994,-0.918735694196,-0.918773547952,-0.918811393264,-0.91884923013,-0.918887058551,-0.918924878525,-0.918962690052,-0.919000493133,-0.919038287766,-0.919076073952,-0.91911385169,-0.91915162098,-0.919189381821,-0.919227134212,-0.919264878155,-0.919302613648,-0.919340340691,-0.919378059283,-0.919415769425,-0.919453471116,-0.919491164355,-0.919528849142,-0.919566525478,-0.919604193361,-0.919641852791,-0.919679503768,-0.919717146291,-0.919754780361,-0.919792405976,-0.919830023137,-0.919867631843,-0.919905232094,-0.919942823889,-0.919980407229,-0.920017982112,-0.920055548538,-0.920093106508,-0.92013065602,-0.920168197074,-0.920205729671,-0.920243253809,-0.920280769489,-0.920318276709,-0.92035577547,-0.920393265772,-0.920430747613,-0.920468220994,-0.920505685914,-0.920543142373,-0.920580590371,-0.920618029907,-0.920655460981,-0.920692883592,-0.920730297741,-0.920767703426,-0.920805100648,-0.920842489406,-0.9208798697,-0.920917241529,-0.920954604894,-0.920991959793,-0.921029306227,-0.921066644194,-0.921103973696,-0.921141294731,-0.921178607299,-0.921215911399,-0.921253207033,-0.921290494198,-0.921327772894,-0.921365043123,-0.921402304882,-0.921439558172,-0.921476802992,-0.921514039342,-0.921551267222,-0.921588486631,-0.921625697569,-0.921662900036,-0.921700094031,-0.921737279554,-0.921774456604,-0.921811625182,-0.921848785286,-0.921885936918,-0.921923080075,-0.921960214758,-0.921997340967,-0.922034458701,-0.92207156796,-0.922108668743,-0.922145761051,-0.922182844882,-0.922219920237,-0.922256987115,-0.922294045516,-0.922331095439,-0.922368136885,-0.922405169852,-0.922442194341,-0.922479210351,-0.922516217881,-0.922553216932,-0.922590207503,-0.922627189594,-0.922664163205,-0.922701128334,-0.922738084982,-0.922775033148,-0.922811972833,-0.922848904035,-0.922885826755,-0.922922740991,-0.922959646745,-0.922996544014,-0.9230334328,-0.923070313101,-0.923107184918,-0.92314404825,-0.923180903096,-0.923217749457,-0.923254587331,-0.92329141672,-0.923328237621,-0.923365050036,-0.923401853963,-0.923438649402,-0.923475436354,-0.923512214817,-0.923548984791,-0.923585746276,-0.923622499272,-0.923659243778,-0.923695979794,-0.92373270732,-0.923769426355,-0.923806136898,-0.923842838951,-0.923879532511,-0.92391621758,-0.923952894156,-0.923989562239,-0.924026221829,-0.924062872926,-0.924099515529,-0.924136149637,-0.924172775252,-0.924209392371,-0.924246000996,-0.924282601125,-0.924319192758,-0.924355775895,-0.924392350535,-0.924428916679,-0.924465474325,-0.924502023474,-0.924538564125,-0.924575096279,-0.924611619933,-0.924648135089,-0.924684641745,-0.924721139902,-0.92475762956,-0.924794110717,-0.924830583373,-0.924867047529,-0.924903503183,-0.924939950336,-0.924976388987,-0.925012819136,-0.925049240783,-0.925085653926,-0.925122058567,-0.925158454703,-0.925194842336,-0.925231221465,-0.92526759209,-0.925303954209,-0.925340307823,-0.925376652932,-0.925412989535,-0.925449317631,-0.925485637221,-0.925521948305,-0.925558250881,-0.925594544949,-0.92563083051,-0.925667107562,-0.925703376106,-0.925739636141,-0.925775887667,-0.925812130683,-0.92584836519,-0.925884591186,-0.925920808672,-0.925957017647,-0.92599321811,-0.926029410062,-0.926065593503,-0.926101768431,-0.926137934846,-0.926174092749,-0.926210242138,-0.926246383014,-0.926282515376,-0.926318639224,-0.926354754558,-0.926390861376,-0.926426959679,-0.926463049467,-0.926499130739,-0.926535203495,-0.926571267734,-0.926607323457,-0.926643370662,-0.92667940935,-0.92671543952,-0.926751461171,-0.926787474305,-0.926823478919,-0.926859475014,-0.92689546259,-0.926931441646,-0.926967412182,-0.927003374197,-0.927039327691,-0.927075272665,-0.927111209117,-0.927147137047,-0.927183056455,-0.92721896734,-0.927254869703,-0.927290763542,-0.927326648858,-0.92736252565,-0.927398393919,-0.927434253662,-0.927470104881,-0.927505947575,-0.927541781743,-0.927577607386,-0.927613424502,-0.927649233093,-0.927685033156,-0.927720824692,-0.927756607701,-0.927792382182,-0.927828148135,-0.92786390556,-0.927899654456,-0.927935394823,-0.92797112666,-0.928006849968,-0.928042564746,-0.928078270993,-0.92811396871,-0.928149657895,-0.92818533855,-0.928221010672,-0.928256674263,-0.928292329321,-0.928327975847,-0.928363613839,-0.928399243299,-0.928434864224,-0.928470476616,-0.928506080473,-0.928541675796,-0.928577262584,-0.928612840836,-0.928648410553,-0.928683971734,-0.928719524379,-0.928755068487,-0.928790604058,-0.928826131092,-0.928861649588,-0.928897159547,-0.928932660967,-0.928968153849,-0.929003638192,-0.929039113995,-0.929074581259,-0.929110039984,-0.929145490168,-0.929180931811,-0.929216364914,-0.929251789475,-0.929287205496,-0.929322612974,-0.92935801191,-0.929393402304,-0.929428784155,-0.929464157462,-0.929499522227,-0.929534878447,-0.929570226124,-0.929605565256,-0.929640895843,-0.929676217885,-0.929711531382,-0.929746836334,-0.929782132739,-0.929817420598,-0.92985269991,-0.929887970675,-0.929923232893,-0.929958486563,-0.929993731685,-0.930028968259,-0.930064196284,-0.93009941576,-0.930134626687,-0.930169829065,-0.930205022892,-0.930240208169,-0.930275384896,-0.930310553072,-0.930345712696,-0.93038086377,-0.930416006291,-0.93045114026,-0.930486265676,-0.93052138254,-0.93055649085,-0.930591590607,-0.930626681811,-0.93066176446,-0.930696838554,-0.930731904094,-0.930766961079,-0.930802009508,-0.930837049382,-0.9308720807,-0.930907103461,-0.930942117665,-0.930977123313,-0.931012120403,-0.931047108936,-0.93108208891,-0.931117060326,-0.931152023184,-0.931186977483,-0.931221923222,-0.931256860402,-0.931291789022,-0.931326709081,-0.93136162058,-0.931396523518,-0.931431417895,-0.931466303711,-0.931501180965,-0.931536049656,-0.931570909785,-0.931605761351,-0.931640604354,-0.931675438794,-0.93171026467,-0.931745081982,-0.931779890729,-0.931814690912,-0.931849482529,-0.931884265582,-0.931919040068,-0.931953805989,-0.931988563343,-0.932023312131,-0.932058052351,-0.932092784005,-0.932127507091,-0.932162221609,-0.932196927558,-0.932231624939,-0.932266313752,-0.932300993995,-0.932335665668,-0.932370328772,-0.932404983305,-0.932439629268,-0.932474266661,-0.932508895482,-0.932543515732,-0.93257812741,-0.932612730516,-0.932647325049,-0.93268191101,-0.932716488398,-0.932751057213,-0.932785617454,-0.932820169121,-0.932854712213,-0.932889246731,-0.932923772674,-0.932958290042,-0.932992798835,-0.933027299051,-0.933061790692,-0.933096273755,-0.933130748242,-0.933165214152,-0.933199671485,-0.933234120239,-0.933268560416,-0.933302992014,-0.933337415033,-0.933371829474,-0.933406235335,-0.933440632616,-0.933475021317,-0.933509401438,-0.933543772979,-0.933578135938,-0.933612490317,-0.933646836113,-0.933681173328,-0.933715501961,-0.933749822011,-0.933784133478,-0.933818436362,-0.933852730663,-0.93388701638,-0.933921293513,-0.933955562061,-0.933989822025,-0.934024073403,-0.934058316197,-0.934092550404,-0.934126776026,-0.934160993061,-0.93419520151,-0.934229401372,-0.934263592646,-0.934297775334,-0.934331949433,-0.934366114944,-0.934400271866,-0.9344344202,-0.934468559945,-0.9345026911,-0.934536813665,-0.93457092764,-0.934605033025,-0.93463912982,-0.934673218023,-0.934707297635,-0.934741368655,-0.934775431084,-0.93480948492,-0.934843530163,-0.934877566814,-0.934911594872,-0.934945614336,-0.934979625206,-0.935013627482,-0.935047621163,-0.93508160625,-0.935115582742,-0.935149550638,-0.935183509939,-0.935217460644,-0.935251402752,-0.935285336264,-0.935319261179,-0.935353177496,-0.935387085216,-0.935420984338,-0.935454874862,-0.935488756787,-0.935522630114,-0.935556494841,-0.93559035097,-0.935624198498,-0.935658037426,-0.935691867754,-0.935725689481,-0.935759502607,-0.935793307132,-0.935827103055,-0.935860890377,-0.935894669096,-0.935928439213,-0.935962200726,-0.935995953637,-0.936029697944,-0.936063433647,-0.936097160746,-0.936130879241,-0.936164589131,-0.936198290416,-0.936231983096,-0.93626566717,-0.936299342638,-0.9363330095,-0.936366667756,-0.936400317404,-0.936433958445,-0.936467590879,-0.936501214705,-0.936534829923,-0.936568436532,-0.936602034533,-0.936635623924,-0.936669204707,-0.936702776879,-0.936736340442,-0.936769895394,-0.936803441736,-0.936836979467,-0.936870508586,-0.936904029095,-0.936937540991,-0.936971044275,-0.937004538947,-0.937038025006,-0.937071502452,-0.937104971284,-0.937138431503,-0.937171883108,-0.937205326099,-0.937238760475,-0.937272186236,-0.937305603382,-0.937339011913,-0.937372411827,-0.937405803126,-0.937439185808,-0.937472559873,-0.937505925321,-0.937539282152,-0.937572630366,-0.937605969961,-0.937639300938,-0.937672623297,-0.937705937036,-0.937739242156,-0.937772538657,-0.937805826538,-0.937839105799,-0.93787237644,-0.93790563846,-0.937938891859,-0.937972136636,-0.938005372792,-0.938038600326,-0.938071819238,-0.938105029527,-0.938138231193,-0.938171424236,-0.938204608655,-0.938237784451,-0.938270951623,-0.93830411017,-0.938337260093,-0.938370401391,-0.938403534063,-0.93843665811,-0.938469773531,-0.938502880325,-0.938535978494,-0.938569068035,-0.938602148949,-0.938635221236,-0.938668284895,-0.938701339926,-0.938734386328,-0.938767424102,-0.938800453247,-0.938833473763,-0.938866485649,-0.938899488906,-0.938932483532,-0.938965469528,-0.938998446893,-0.939031415627,-0.939064375729,-0.9390973272,-0.939130270039,-0.939163204246,-0.93919612982,-0.939229046761,-0.939261955069,-0.939294854743,-0.939327745784,-0.93936062819,-0.939393501962,-0.9394263671,-0.939459223602,-0.939492071469,-0.939524910701,-0.939557741296,-0.939590563256,-0.939623376579,-0.939656181265,-0.939688977314,-0.939721764725,-0.939754543499,-0.939787313635,-0.939820075132,-0.939852827991,-0.939885572211,-0.939918307792,-0.939951034733,-0.939983753034,-0.940016462695,-0.940049163716,-0.940081856096,-0.940114539835,-0.940147214933,-0.940179881389,-0.940212539203,-0.940245188375,-0.940277828904,-0.94031046079,-0.940343084034,-0.940375698634,-0.94040830459,-0.940440901902,-0.94047349057,-0.940506070593,-0.940538641972,-0.940571204705,-0.940603758792,-0.940636304234,-0.940668841029,-0.940701369179,-0.940733888681,-0.940766399536,-0.940798901744,-0.940831395305,-0.940863880217,-0.940896356482,-0.940928824098,-0.940961283065,-0.940993733382,-0.941026175051,-0.94105860807,-0.941091032438,-0.941123448157,-0.941155855225,-0.941188253642,-0.941220643407,-0.941253024521,-0.941285396984,-0.941317760794,-0.941350115952,-0.941382462457,-0.94141480031,-0.941447129509,-0.941479450054,-0.941511761946,-0.941544065183,-0.941576359766,-0.941608645694,-0.941640922967,-0.941673191585,-0.941705451547,-0.941737702853,-0.941769945503,-0.941802179496,-0.941834404832,-0.941866621512,-0.941898829534,-0.941931028898,-0.941963219604,-0.941995401652,-0.942027575041,-0.942059739771,-0.942091895842,-0.942124043254,-0.942156182005,-0.942188312097,-0.942220433528,-0.942252546299,-0.942284650408,-0.942316745857,-0.942348832643,-0.942380910768,-0.942412980231,-0.942445041031,-0.942477093168,-0.942509136643,-0.942541171454,-0.942573197601,-0.942605215085,-0.942637223904,-0.942669224059,-0.942701215549,-0.942733198374,-0.942765172533,-0.942797138027,-0.942829094855,-0.942861043016,-0.942892982511,-0.942924913339,-0.9429568355,-0.942988748994,-0.943020653819,-0.943052549977,-0.943084437466,-0.943116316287,-0.943148186438,-0.943180047921,-0.943211900734,-0.943243744877,-0.94327558035,-0.943307407153,-0.943339225285,-0.943371034746,-0.943402835536,-0.943434627654,-0.943466411101,-0.943498185875,-0.943529951977,-0.943561709406,-0.943593458162,-0.943625198245,-0.943656929654,-0.943688652389,-0.94372036645,-0.943752071837,-0.943783768549,-0.943815456586,-0.943847135947,-0.943878806633,-0.943910468643,-0.943942121976,-0.943973766634,-0.944005402614,-0.944037029917,-0.944068648543,-0.944100258491,-0.944131859761,-0.944163452353,-0.944195036267,-0.944226611501,-0.944258178057,-0.944289735933,-0.944321285129,-0.944352825646,-0.944384357482,-0.944415880637,-0.944447395112,-0.944478900905,-0.944510398017,-0.944541886447,-0.944573366196,-0.944604837261,-0.944636299645,-0.944667753345,-0.944699198362,-0.944730634696,-0.944762062346,-0.944793481312,-0.944824891594,-0.944856293191,-0.944887686103,-0.94491907033,-0.944950445871,-0.944981812727,-0.945013170896,-0.945044520379,-0.945075861176,-0.945107193285,-0.945138516708,-0.945169831442,-0.945201137489,-0.945232434848,-0.945263723519,-0.945295003501,-0.945326274794,-0.945357537398,-0.945388791312,-0.945420036536,-0.945451273071,-0.945482500914,-0.945513720068,-0.94554493053,-0.945576132301,-0.945607325381,-0.945638509768,-0.945669685464,-0.945700852467,-0.945732010777,-0.945763160395,-0.945794301319,-0.94582543355,-0.945856557087,-0.94588767193,-0.945918778078,-0.945949875532,-0.945980964291,-0.946012044354,-0.946043115722,-0.946074178394,-0.94610523237,-0.94613627765,-0.946167314233,-0.946198342119,-0.946229361308,-0.946260371799,-0.946291373592,-0.946322366688,-0.946353351084,-0.946384326783,-0.946415293782,-0.946446252082,-0.946477201682,-0.946508142583,-0.946539074784,-0.946569998284,-0.946600913083,-0.946631819182,-0.946662716579,-0.946693605275,-0.946724485269,-0.946755356561,-0.94678621915,-0.946817073037,-0.946847918221,-0.946878754702,-0.946909582479,-0.946940401552,-0.946971211922,-0.947002013587,-0.947032806547,-0.947063590803,-0.947094366353,-0.947125133198,-0.947155891336,-0.947186640769,-0.947217381496,-0.947248113516,-0.947278836829,-0.947309551435,-0.947340257333,-0.947370954524,-0.947401643006,-0.947432322781,-0.947462993846,-0.947493656203,-0.947524309851,-0.947554954789,-0.947585591018,-0.947616218536,-0.947646837344,-0.947677447442,-0.947708048829,-0.947738641505,-0.947769225469,-0.947799800721,-0.947830367262,-0.94786092509,-0.947891474206,-0.947922014609,-0.947952546299,-0.947983069276,-0.948013583539,-0.948044089088,-0.948074585922,-0.948105074043,-0.948135553448,-0.948166024138,-0.948196486113,-0.948226939373,-0.948257383916,-0.948287819744,-0.948318246855,-0.948348665249,-0.948379074926,-0.948409475886,-0.948439868128,-0.948470251652,-0.948500626459,-0.948530992547,-0.948561349916,-0.948591698566,-0.948622038497,-0.948652369708,-0.9486826922,-0.948713005971,-0.948743311023,-0.948773607353,-0.948803894963,-0.948834173851,-0.948864444018,-0.948894705463,-0.948924958186,-0.948955202187,-0.948985437465,-0.949015664021,-0.949045881853,-0.949076090961,-0.949106291347,-0.949136483008,-0.949166665944,-0.949196840157,-0.949227005644,-0.949257162406,-0.949287310444,-0.949317449755,-0.94934758034,-0.9493777022,-0.949407815332,-0.949437919738,-0.949468015417,-0.949498102369,-0.949528180593,-0.949558250089,-0.949588310857,-0.949618362897,-0.949648406208,-0.94967844079,-0.949708466643,-0.949738483766,-0.94976849216,-0.949798491823,-0.949828482756,-0.949858464959,-0.94988843843,-0.94991840317,-0.949948359179,-0.949978306457,-0.950008245002,-0.950038174815,-0.950068095895,-0.950098008243,-0.950127911857,-0.950157806738,-0.950187692886,-0.950217570299,-0.950247438979,-0.950277298924,-0.950307150134,-0.950336992609,-0.950366826349,-0.950396651353,-0.950426467621,-0.950456275154,-0.950486073949,-0.950515864009,-0.950545645331,-0.950575417916,-0.950605181764,-0.950634936874,-0.950664683245,-0.950694420879,-0.950724149774,-0.95075386993,-0.950783581347,-0.950813284024,-0.950842977962,-0.95087266316,-0.950902339618,-0.950932007335,-0.950961666312,-0.950991316547,-0.951020958041,-0.951050590794,-0.951080214804,-0.951109830073,-0.951139436599,-0.951169034383,-0.951198623423,-0.95122820372,-0.951257775274,-0.951287338084,-0.95131689215,-0.951346437472,-0.951375974049,-0.951405501882,-0.951435020969,-0.951464531311,-0.951494032907,-0.951523525757,-0.951553009861,-0.951582485219,-0.95161195183,-0.951641409694,-0.95167085881,-0.951700299179,-0.9517297308,-0.951759153673,-0.951788567798,-0.951817973174,-0.951847369801,-0.951876757679,-0.951906136808,-0.951935507187,-0.951964868816,-0.951994221694,-0.952023565822,-0.9520529012,-0.952082227826,-0.952111545701,-0.952140854824,-0.952170155195,-0.952199446814,-0.952228729681,-0.952258003795,-0.952287269157,-0.952316525765,-0.952345773619,-0.95237501272,-0.952404243066,-0.952433464659,-0.952462677497,-0.95249188158,-0.952521076908,-0.95255026348,-0.952579441297,-0.952608610358,-0.952637770663,-0.952666922211,-0.952696065003,-0.952725199038,-0.952754324315,-0.952783440835,-0.952812548597,-0.952841647601,-0.952870737847,-0.952899819334,-0.952928892063,-0.952957956032,-0.952987011242,-0.953016057692,-0.953045095382,-0.953074124312,-0.953103144482,-0.953132155891,-0.953161158539,-0.953190152425,-0.95321913755,-0.953248113914,-0.953277081515,-0.953306040354,-0.953334990431,-0.953363931744,-0.953392864295,-0.953421788082,-0.953450703105,-0.953479609365,-0.95350850686,-0.953537395591,-0.953566275557,-0.953595146758,-0.953624009194,-0.953652862865,-0.953681707769,-0.953710543908,-0.95373937128,-0.953768189886,-0.953796999725,-0.953825800797,-0.953854593101,-0.953883376638,-0.953912151407,-0.953940917408,-0.95396967464,-0.953998423104,-0.954027162799,-0.954055893724,-0.95408461588,-0.954113329267,-0.954142033883,-0.954170729729,-0.954199416804,-0.954228095109,-0.954256764643,-0.954285425405,-0.954314077396,-0.954342720615,-0.954371355061,-0.954399980736,-0.954428597638,-0.954457205767,-0.954485805122,-0.954514395704,-0.954542977513,-0.954571550548,-0.954600114808,-0.954628670294,-0.954657217005,-0.954685754941,-0.954714284102,-0.954742804488,-0.954771316097,-0.954799818931,-0.954828312988,-0.954856798269,-0.954885274772,-0.954913742499,-0.954942201448,-0.95497065162,-0.954999093014,-0.95502752563,-0.955055949467,-0.955084364526,-0.955112770805,-0.955141168306,-0.955169557027,-0.955197936968,-0.955226308129,-0.955254670511,-0.955283024111,-0.955311368931,-0.95533970497,-0.955368032227,-0.955396350703,-0.955424660398,-0.95545296131,-0.95548125344,-0.955509536787,-0.955537811351,-0.955566077133,-0.955594334131,-0.955622582345,-0.955650821776,-0.955679052422,-0.955707274284,-0.955735487361,-0.955763691654,-0.955791887161,-0.955820073883,-0.955848251819,-0.955876420969,-0.955904581333,-0.95593273291,-0.955960875701,-0.955989009705,-0.956017134921,-0.95604525135,-0.956073358991,-0.956101457844,-0.956129547909,-0.956157629186,-0.956185701673,-0.956213765372,-0.956241820281,-0.956269866401,-0.95629790373,-0.95632593227,-0.95635395202,-0.956381962978,-0.956409965146,-0.956437958523,-0.956465943109,-0.956493918902,-0.956521885904,-0.956549844114,-0.956577793531,-0.956605734156,-0.956633665988,-0.956661589027,-0.956689503272,-0.956717408723,-0.956745305381,-0.956773193244,-0.956801072313,-0.956828942588,-0.956856804067,-0.956884656751,-0.956912500639,-0.956940335732,-0.956968162029,-0.95699597953,-0.957023788234,-0.957051588141,-0.957079379251,-0.957107161564,-0.95713493508,-0.957162699798,-0.957190455717,-0.957218202839,-0.957245941162,-0.957273670686,-0.957301391411,-0.957329103336,-0.957356806463,-0.957384500789,-0.957412186315,-0.957439863041,-0.957467530967,-0.957495190091,-0.957522840414,-0.957550481937,-0.957578114657,-0.957605738576,-0.957633353692,-0.957660960006,-0.957688557518,-0.957716146227,-0.957743726132,-0.957771297234,-0.957798859533,-0.957826413028,-0.957853957718,-0.957881493604,-0.957909020686,-0.957936538962,-0.957964048434,-0.9579915491,-0.95801904096,-0.958046524015,-0.958073998263,-0.958101463705,-0.95812892034,-0.958156368169,-0.95818380719,-0.958211237404,-0.95823865881,-0.958266071408,-0.958293475198,-0.95832087018,-0.958348256352,-0.958375633716,-0.958403002271,-0.958430362017,-0.958457712952,-0.958485055078,-0.958512388394,-0.958539712899,-0.958567028593,-0.958594335476,-0.958621633549,-0.95864892281,-0.958676203259,-0.958703474896,-0.958730737721,-0.958757991733,-0.958785236933,-0.95881247332,-0.958839700894,-0.958866919654,-0.958894129601,-0.958921330733,-0.958948523052,-0.958975706556,-0.959002881245,-0.959030047119,-0.959057204178,-0.959084352422,-0.95911149185,-0.959138622462,-0.959165744258,-0.959192857237,-0.9592199614,-0.959247056745,-0.959274143274,-0.959301220985,-0.959328289878,-0.959355349954,-0.959382401211,-0.95940944365,-0.95943647727,-0.959463502071,-0.959490518053,-0.959517525216,-0.959544523559,-0.959571513082,-0.959598493785,-0.959625465667,-0.959652428729,-0.95967938297,-0.959706328389,-0.959733264988,-0.959760192764,-0.959787111719,-0.959814021851,-0.959840923161,-0.959867815649,-0.959894699313,-0.959921574155,-0.959948440173,-0.959975297367,-0.960002145738,-0.960028985284,-0.960055816006,-0.960082637903,-0.960109450976,-0.960136255223,-0.960163050645,-0.960189837241,-0.960216615012,-0.960243383956,-0.960270144074,-0.960296895366,-0.96032363783,-0.960350371468,-0.960377096278,-0.960403812261,-0.960430519416,-0.960457217742,-0.960483907241,-0.96051058791,-0.960537259752,-0.960563922763,-0.960590576946,-0.960617222299,-0.960643858823,-0.960670486516,-0.960697105379,-0.960723715411,-0.960750316613,-0.960776908984,-0.960803492523,-0.960830067231,-0.960856633108,-0.960883190152,-0.960909738364,-0.960936277743,-0.96096280829,-0.960989330004,-0.961015842885,-0.961042346932,-0.961068842146,-0.961095328525,-0.96112180607,-0.961148274781,-0.961174734658,-0.961201185699,-0.961227627905,-0.961254061276,-0.961280485811,-0.961306901511,-0.961333308374,-0.961359706401,-0.961386095591,-0.961412475944,-0.96143884746,-0.961465210139,-0.961491563981,-0.961517908984,-0.961544245149,-0.961570572477,-0.961596890965,-0.961623200615,-0.961649501426,-0.961675793397,-0.961702076529,-0.961728350821,-0.961754616274,-0.961780872885,-0.961807120657,-0.961833359588,-0.961859589677,-0.961885810926,-0.961912023333,-0.961938226899,-0.961964421622,-0.961990607503,-0.962016784542,-0.962042952739,-0.962069112092,-0.962095262602,-0.962121404269,-0.962147537092,-0.962173661072,-0.962199776207,-0.962225882498,-0.962251979944,-0.962278068546,-0.962304148302,-0.962330219214,-0.962356281279,-0.962382334499,-0.962408378873,-0.962434414401,-0.962460441082,-0.962486458917,-0.962512467904,-0.962538468044,-0.962564459337,-0.962590441782,-0.96261641538,-0.962642380129,-0.962668336029,-0.962694283081,-0.962720221284,-0.962746150638,-0.962772071143,-0.962797982798,-0.962823885603,-0.962849779559,-0.962875664663,-0.962901540918,-0.962927408321,-0.962953266874,-0.962979116575,-0.963004957425,-0.963030789423,-0.963056612569,-0.963082426863,-0.963108232304,-0.963134028893,-0.963159816628,-0.963185595511,-0.96321136554,-0.963237126716,-0.963262879038,-0.963288622505,-0.963314357118,-0.963340082877,-0.963365799781,-0.96339150783,-0.963417207023,-0.963442897361,-0.963468578844,-0.96349425147,-0.96351991524,-0.963545570153,-0.96357121621,-0.96359685341,-0.963622481753,-0.963648101238,-0.963673711866,-0.963699313636,-0.963724906547,-0.963750490601,-0.963776065795,-0.963801632131,-0.963827189608,-0.963852738226,-0.963878277984,-0.963903808882,-0.96392933092,-0.963954844098,-0.963980348416,-0.964005843873,-0.964031330469,-0.964056808204,-0.964082277077,-0.964107737089,-0.964133188239,-0.964158630526,-0.964184063952,-0.964209488515,-0.964234904215,-0.964260311052,-0.964285709025,-0.964311098136,-0.964336478382,-0.964361849765,-0.964387212283,-0.964412565937,-0.964437910726,-0.96446324665,-0.964488573709,-0.964513891903,-0.964539201231,-0.964564501694,-0.96458979329,-0.96461507602,-0.964640349883,-0.96466561488,-0.964690871009,-0.964716118272,-0.964741356667,-0.964766586194,-0.964791806853,-0.964817018645,-0.964842221567,-0.964867415622,-0.964892600807,-0.964917777123,-0.96494294457,-0.964968103147,-0.964993252855,-0.965018393692,-0.96504352566,-0.965068648757,-0.965093762983,-0.965118868338,-0.965143964822,-0.965169052435,-0.965194131176,-0.965219201045,-0.965244262042,-0.965269314167,-0.965294357419,-0.965319391798,-0.965344417305,-0.965369433938,-0.965394441698,-0.965419440584,-0.965444430596,-0.965469411734,-0.965494383997,-0.965519347386,-0.9655443019,-0.965569247539,-0.965594184303,-0.965619112191,-0.965644031204,-0.96566894134,-0.9656938426,-0.965718734984,-0.965743618491,-0.965768493121,-0.965793358874,-0.96581821575,-0.965843063748,-0.965867902868,-0.96589273311,-0.965917554474,-0.965942366959,-0.965967170566,-0.965991965294,-0.966016751142,-0.966041528111,-0.966066296201,-0.96609105541,-0.96611580574,-0.966140547189,-0.966165279758,-0.966190003445,-0.966214718252,-0.966239424178,-0.966264121222,-0.966288809384,-0.966313488665,-0.966338159063,-0.966362820579,-0.966387473212,-0.966412116963,-0.96643675183,-0.966461377814,-0.966485994915,-0.966510603132,-0.966535202465,-0.966559792914,-0.966584374478,-0.966608947158,-0.966633510953,-0.966658065863,-0.966682611887,-0.966707149026,-0.966731677279,-0.966756196647,-0.966780707128,-0.966805208722,-0.96682970143,-0.966854185251,-0.966878660185,-0.966903126232,-0.966927583391,-0.966952031662,-0.966976471045,-0.96700090154,-0.967025323146,-0.967049735864,-0.967074139693,-0.967098534633,-0.967122920683,-0.967147297844,-0.967171666115,-0.967196025496,-0.967220375986,-0.967244717586,-0.967269050296,-0.967293374114,-0.967317689042,-0.967341995078,-0.967366292222,-0.967390580475,-0.967414859835,-0.967439130304,-0.96746339188,-0.967487644563,-0.967511888353,-0.96753612325,-0.967560349253,-0.967584566363,-0.967608774579,-0.967632973902,-0.967657164329,-0.967681345863,-0.967705518501,-0.967729682245,-0.967753837093,-0.967777983047,-0.967802120104,-0.967826248266,-0.967850367531,-0.967874477901,-0.967898579374,-0.96792267195,-0.967946755629,-0.967970830411,-0.967994896296,-0.968018953283,-0.968043001372,-0.968067040563,-0.968091070856,-0.968115092251,-0.968139104746,-0.968163108343,-0.968187103041,-0.968211088839,-0.968235065738,-0.968259033737,-0.968282992836,-0.968306943034,-0.968330884332,-0.96835481673,-0.968378740226,-0.968402654822,-0.968426560516,-0.968450457308,-0.968474345199,-0.968498224188,-0.968522094274,-0.968545955458,-0.96856980774,-0.968593651118,-0.968617485594,-0.968641311166,-0.968665127834,-0.968688935599,-0.96871273446,-0.968736524416,-0.968760305469,-0.968784077616,-0.968807840859,-0.968831595196,-0.968855340629,-0.968879077155,-0.968902804776,-0.968926523492,-0.9689502333,-0.968973934203,-0.968997626199,-0.969021309288,-0.96904498347,-0.969068648745,-0.969092305113,-0.969115952572,-0.969139591124,-0.969163220768,-0.969186841503,-0.96921045333,-0.969234056248,-0.969257650257,-0.969281235357,-0.969304811547,-0.969328378828,-0.969351937199,-0.969375486659,-0.96939902721,-0.96942255885,-0.969446081579,-0.969469595397,-0.969493100305,-0.9695165963,-0.969540083385,-0.969563561557,-0.969587030817,-0.969610491166,-0.969633942601,-0.969657385124,-0.969680818734,-0.969704243431,-0.969727659215,-0.969751066085,-0.969774464042,-0.969797853084,-0.969821233213,-0.969844604427,-0.969867966726,-0.969891320111,-0.96991466458,-0.969938000134,-0.969961326773,-0.969984644496,-0.970007953303,-0.970031253195,-0.970054544169,-0.970077826228,-0.970101099369,-0.970124363594,-0.970147618901,-0.970170865291,-0.970194102763,-0.970217331318,-0.970240550955,-0.970263761673,-0.970286963473,-0.970310156354,-0.970333340316,-0.970356515359,-0.970379681483,-0.970402838688,-0.970425986972,-0.970449126337,-0.970472256781,-0.970495378306,-0.970518490909,-0.970541594592,-0.970564689354,-0.970587775194,-0.970610852113,-0.970633920111,-0.970656979186,-0.97068002934,-0.970703070571,-0.97072610288,-0.970749126266,-0.970772140729,-0.970795146269,-0.970818142886,-0.970841130579,-0.970864109348,-0.970887079193,-0.970910040115,-0.970932992111,-0.970955935184,-0.970978869331,-0.971001794553,-0.97102471085,-0.971047618222,-0.971070516668,-0.971093406188,-0.971116286782,-0.97113915845,-0.971162021191,-0.971184875005,-0.971207719893,-0.971230555853,-0.971253382887,-0.971276200992,-0.97129901017,-0.97132181042,-0.971344601741,-0.971367384135,-0.971390157599,-0.971412922135,-0.971435677742,-0.97145842442,-0.971481162168,-0.971503890986,-0.971526610875,-0.971549321833,-0.971572023862,-0.97159471696,-0.971617401127,-0.971640076363,-0.971662742668,-0.971685400042,-0.971708048484,-0.971730687995,-0.971753318574,-0.97177594022,-0.971798552934,-0.971821156716,-0.971843751564,-0.97186633748,-0.971888914463,-0.971911482512,-0.971934041628,-0.97195659181,-0.971979133057,-0.972001665371,-0.97202418875,-0.972046703195,-0.972069208704,-0.972091705279,-0.972114192918,-0.972136671622,-0.97215914139,-0.972181602223,-0.972204054119,-0.972226497079,-0.972248931102,-0.972271356189,-0.972293772339,-0.972316179552,-0.972338577827,-0.972360967165,-0.972383347565,-0.972405719027,-0.972428081552,-0.972450435137,-0.972472779784,-0.972495115493,-0.972517442262,-0.972539760093,-0.972562068983,-0.972584368935,-0.972606659946,-0.972628942018,-0.972651215149,-0.97267347934,-0.97269573459,-0.9727179809,-0.972740218268,-0.972762446696,-0.972784666182,-0.972806876726,-0.972829078328,-0.972851270989,-0.972873454707,-0.972895629482,-0.972917795315,-0.972939952206,-0.972962100153,-0.972984239157,-0.973006369217,-0.973028490334,-0.973050602507,-0.973072705735,-0.97309480002,-0.97311688536,-0.973138961755,-0.973161029206,-0.973183087711,-0.973205137271,-0.973227177886,-0.973249209555,-0.973271232278,-0.973293246055,-0.973315250885,-0.973337246769,-0.973359233707,-0.973381211697,-0.973403180741,-0.973425140837,-0.973447091985,-0.973469034186,-0.973490967439,-0.973512891744,-0.9735348071,-0.973556713508,-0.973578610967,-0.973600499478,-0.973622379039,-0.973644249651,-0.973666111313,-0.973687964026,-0.973709807788,-0.973731642601,-0.973753468463,-0.973775285375,-0.973797093336,-0.973818892346,-0.973840682405,-0.973862463512,-0.973884235668,-0.973905998872,-0.973927753125,-0.973949498425,-0.973971234773,-0.973992962168,-0.974014680611,-0.9740363901,-0.974058090637,-0.97407978222,-0.97410146485,-0.974123138525,-0.974144803247,-0.974166459015,-0.974188105829,-0.974209743688,-0.974231372592,-0.974252992541,-0.974274603536,-0.974296205575,-0.974317798658,-0.974339382786,-0.974360957957,-0.974382524173,-0.974404081432,-0.974425629735,-0.974447169081,-0.97446869947,-0.974490220902,-0.974511733377,-0.974533236894,-0.974554731454,-0.974576217056,-0.974597693699,-0.974619161384,-0.974640620111,-0.974662069879,-0.974683510689,-0.974704942539,-0.974726365429,-0.974747779361,-0.974769184333,-0.974790580344,-0.974811967396,-0.974833345488,-0.974854714619,-0.974876074789,-0.974897425999,-0.974918768247,-0.974940101534,-0.97496142586,-0.974982741224,-0.975004047627,-0.975025345067,-0.975046633545,-0.975067913061,-0.975089183614,-0.975110445204,-0.975131697831,-0.975152941495,-0.975174176196,-0.975195401933,-0.975216618706,-0.975237826516,-0.975259025361,-0.975280215241,-0.975301396158,-0.975322568109,-0.975343731095,-0.975364885117,-0.975386030173,-0.975407166263,-0.975428293388,-0.975449411546,-0.975470520739,-0.975491620965,-0.975512712225,-0.975533794518,-0.975554867844,-0.975575932204,-0.975596987595,-0.97561803402,-0.975639071476,-0.975660099965,-0.975681119486,-0.975702130039,-0.975723131623,-0.975744124238,-0.975765107885,-0.975786082562,-0.975807048271,-0.975828005009,-0.975848952779,-0.975869891578,-0.975890821408,-0.975911742267,-0.975932654156,-0.975953557075,-0.975974451022,-0.975995335999,-0.976016212005,-0.976037079039,-0.976057937102,-0.976078786193,-0.976099626312,-0.976120457459,-0.976141279634,-0.976162092836,-0.976182897066,-0.976203692322,-0.976224478606,-0.976245255916,-0.976266024253,-0.976286783617,-0.976307534006,-0.976328275422,-0.976349007863,-0.97636973133,-0.976390445822,-0.97641115134,-0.976431847883,-0.97645253545,-0.976473214042,-0.976493883659,-0.9765145443,-0.976535195965,-0.976555838653,-0.976576472366,-0.976597097102,-0.976617712862,-0.976638319644,-0.97665891745,-0.976679506278,-0.976700086129,-0.976720657002,-0.976741218897,-0.976761771815,-0.976782315754,-0.976802850715,-0.976823376697,-0.976843893701,-0.976864401725,-0.976884900771,-0.976905390837,-0.976925871924,-0.976946344031,-0.976966807158,-0.976987261305,-0.977007706471,-0.977028142658,-0.977048569863,-0.977068988088,-0.977089397332,-0.977109797595,-0.977130188876,-0.977150571176,-0.977170944494,-0.97719130883,-0.977211664184,-0.977232010555,-0.977252347944,-0.977272676351,-0.977292995774,-0.977313306214,-0.977333607671,-0.977353900145,-0.977374183635,-0.977394458142,-0.977414723664,-0.977434980202,-0.977455227756,-0.977475466325,-0.977495695909,-0.977515916509,-0.977536128123,-0.977556330752,-0.977576524396,-0.977596709053,-0.977616884725,-0.977637051411,-0.977657209111,-0.977677357825,-0.977697497551,-0.977717628291,-0.977737750044,-0.97775786281,-0.977777966588,-0.977798061379,-0.977818147183,-0.977838223998,-0.977858291825,-0.977878350664,-0.977898400515,-0.977918441377,-0.97793847325,-0.977958496134,-0.977978510029,-0.977998514935,-0.978018510851,-0.978038497777,-0.978058475713,-0.978078444659,-0.978098404615,-0.978118355581,-0.978138297556,-0.97815823054,-0.978178154533,-0.978198069534,-0.978217975545,-0.978237872564,-0.978257760591,-0.978277639626,-0.978297509669,-0.97831737072,-0.978337222778,-0.978357065843,-0.978376899916,-0.978396724996,-0.978416541082,-0.978436348175,-0.978456146275,-0.978475935381,-0.978495715492,-0.97851548661,-0.978535248733,-0.978555001862,-0.978574745997,-0.978594481136,-0.97861420728,-0.978633924429,-0.978653632583,-0.978673331741,-0.978693021904,-0.97871270307,-0.978732375241,-0.978752038415,-0.978771692592,-0.978791337773,-0.978810973957,-0.978830601144,-0.978850219334,-0.978869828527,-0.978889428721,-0.978909019919,-0.978928602118,-0.978948175319,-0.978967739522,-0.978987294726,-0.979006840932,-0.979026378139,-0.979045906347,-0.979065425556,-0.979084935765,-0.979104436975,-0.979123929185,-0.979143412395,-0.979162886606,-0.979182351816,-0.979201808025,-0.979221255234,-0.979240693442,-0.979260122649,-0.979279542855,-0.97929895406,-0.979318356263,-0.979337749464,-0.979357133664,-0.979376508861,-0.979395875057,-0.97941523225,-0.97943458044,-0.979453919628,-0.979473249812,-0.979492570994,-0.979511883172,-0.979531186347,-0.979550480518,-0.979569765685,-0.979589041849,-0.979608309008,-0.979627567163,-0.979646816313,-0.979666056459,-0.979685287599,-0.979704509735,-0.979723722866,-0.979742926991,-0.97976212211,-0.979781308224,-0.979800485331,-0.979819653433,-0.979838812528,-0.979857962617,-0.9798771037,-0.979896235775,-0.979915358843,-0.979934472905,-0.979953577958,-0.979972674005,-0.979991761043,-0.980010839074,-0.980029908097,-0.980048968112,-0.980068019118,-0.980087061115,-0.980106094104,-0.980125118084,-0.980144133055,-0.980163139016,-0.980182135968,-0.980201123911,-0.980220102843,-0.980239072766,-0.980258033678,-0.98027698558,-0.980295928472,-0.980314862353,-0.980333787223,-0.980352703082,-0.98037160993,-0.980390507767,-0.980409396592,-0.980428276405,-0.980447147207,-0.980466008996,-0.980484861773,-0.980503705538,-0.98052254029,-0.98054136603,-0.980560182756,-0.98057899047,-0.98059778917,-0.980616578857,-0.98063535953,-0.980654131189,-0.980672893834,-0.980691647465,-0.980710392082,-0.980729127685,-0.980747854272,-0.980766571845,-0.980785280403,-0.980803979946,-0.980822670473,-0.980841351985,-0.980860024482,-0.980878687962,-0.980897342426,-0.980915987874,-0.980934624306,-0.980953251721,-0.98097187012,-0.980990479502,-0.981009079866,-0.981027671213,-0.981046253543,-0.981064826856,-0.98108339115,-0.981101946427,-0.981120492686,-0.981139029926,-0.981157558148,-0.981176077352,-0.981194587536,-0.981213088702,-0.981231580849,-0.981250063976,-0.981268538084,-0.981287003172,-0.981305459241,-0.981323906289,-0.981342344318,-0.981360773326,-0.981379193314,-0.981397604281,-0.981416006227,-0.981434399152,-0.981452783057,-0.98147115794,-0.981489523801,-0.981507880641,-0.981526228459,-0.981544567255,-0.981562897028,-0.98158121778,-0.981599529509,-0.981617832215,-0.981636125899,-0.98165441056,-0.981672686197,-0.981690952811,-0.981709210402,-0.981727458969,-0.981745698512,-0.981763929031,-0.981782150526,-0.981800362996,-0.981818566443,-0.981836760864,-0.981854946261,-0.981873122632,-0.981891289979,-0.9819094483,-0.981927597595,-0.981945737865,-0.98196386911,-0.981981991328,-0.98200010452,-0.982018208685,-0.982036303824,-0.982054389937,-0.982072467022,-0.982090535081,-0.982108594113,-0.982126644117,-0.982144685093,-0.982162717042,-0.982180739963,-0.982198753856,-0.982216758721,-0.982234754558,-0.982252741366,-0.982270719146,-0.982288687896,-0.982306647618,-0.982324598311,-0.982342539974,-0.982360472608,-0.982378396212,-0.982396310786,-0.98241421633,-0.982432112845,-0.982450000328,-0.982467878782,-0.982485748205,-0.982503608597,-0.982521459958,-0.982539302287,-0.982557135586,-0.982574959853,-0.982592775089,-0.982610581292,-0.982628378464,-0.982646166604,-0.982663945711,-0.982681715786,-0.982699476829,-0.982717228838,-0.982734971815,-0.982752705758,-0.982770430669,-0.982788146546,-0.982805853389,-0.982823551199,-0.982841239974,-0.982858919716,-0.982876590423,-0.982894252096,-0.982911904735,-0.982929548339,-0.982947182908,-0.982964808441,-0.98298242494,-0.983000032403,-0.983017630831,-0.983035220223,-0.983052800579,-0.983070371899,-0.983087934184,-0.983105487431,-0.983123031642,-0.983140566817,-0.983158092955,-0.983175610055,-0.983193118119,-0.983210617145,-0.983228107134,-0.983245588085,-0.983263059999,-0.983280522874,-0.983297976712,-0.983315421511,-0.983332857272,-0.983350283994,-0.983367701677,-0.983385110322,-0.983402509927,-0.983419900493,-0.98343728202,-0.983454654507,-0.983472017955,-0.983489372362,-0.98350671773,-0.983524054058,-0.983541381345,-0.983558699591,-0.983576008797,-0.983593308962,-0.983610600087,-0.98362788217,-0.983645155211,-0.983662419212,-0.98367967417,-0.983696920087,-0.983714156962,-0.983731384795,-0.983748603586,-0.983765813334,-0.98378301404,-0.983800205703,-0.983817388323,-0.9838345619,-0.983851726434,-0.983868881924,-0.983886028371,-0.983903165774,-0.983920294134,-0.983937413449,-0.983954523721,-0.983971624948,-0.98398871713,-0.984005800268,-0.984022874361,-0.98403993941,-0.984056995413,-0.984074042371,-0.984091080283,-0.98410810915,-0.984125128972,-0.984142139747,-0.984159141476,-0.98417613416,-0.984193117797,-0.984210092387,-0.984227057931,-0.984244014428,-0.984260961878,-0.98427790028,-0.984294829636,-0.984311749944,-0.984328661205,-0.984345563418,-0.984362456583,-0.984379340699,-0.984396215768,-0.984413081789,-0.98442993876,-0.984446786684,-0.984463625558,-0.984480455383,-0.984497276159,-0.984514087886,-0.984530890564,-0.984547684192,-0.98456446877,-0.984581244298,-0.984598010776,-0.984614768204,-0.984631516582,-0.984648255909,-0.984664986185,-0.984681707411,-0.984698419586,-0.984715122709,-0.984731816781,-0.984748501802,-0.984765177771,-0.984781844688,-0.984798502554,-0.984815151367,-0.984831791128,-0.984848421837,-0.984865043494,-0.984881656097,-0.984898259648,-0.984914854146,-0.984931439591,-0.984948015982,-0.98496458332,-0.984981141605,-0.984997690835,-0.985014231012,-0.985030762135,-0.985047284204,-0.985063797218,-0.985080301178,-0.985096796083,-0.985113281933,-0.985129758728,-0.985146226469,-0.985162685154,-0.985179134783,-0.985195575357,-0.985212006876,-0.985228429338,-0.985244842745,-0.985261247095,-0.985277642389,-0.985294028626,-0.985310405807,-0.985326773932,-0.985343132999,-0.985359483009,-0.985375823962,-0.985392155858,-0.985408478696,-0.985424792476,-0.985441097199,-0.985457392864,-0.98547367947,-0.985489957018,-0.985506225508,-0.98552248494,-0.985538735312,-0.985554976626,-0.985571208881,-0.985587432076,-0.985603646213,-0.985619851289,-0.985636047307,-0.985652234264,-0.985668412162,-0.985684580999,-0.985700740776,-0.985716891493,-0.98573303315,-0.985749165746,-0.985765289281,-0.985781403755,-0.985797509168,-0.985813605519,-0.98582969281,-0.985845771038,-0.985861840206,-0.985877900311,-0.985893951354,-0.985909993335,-0.985926026254,-0.985942050111,-0.985958064905,-0.985974070636,-0.985990067304,-0.98600605491,-0.986022033452,-0.986038002931,-0.986053963346,-0.986069914698,-0.986085856986,-0.98610179021,-0.986117714371,-0.986133629467,-0.986149535498,-0.986165432465,-0.986181320368,-0.986197199206,-0.986213068979,-0.986228929686,-0.986244781329,-0.986260623906,-0.986276457418,-0.986292281864,-0.986308097245,-0.986323903559,-0.986339700807,-0.986355488989,-0.986371268105,-0.986387038154,-0.986402799137,-0.986418551053,-0.986434293902,-0.986450027683,-0.986465752398,-0.986481468045,-0.986497174625,-0.986512872136,-0.986528560581,-0.986544239957,-0.986559910265,-0.986575571505,-0.986591223676,-0.986606866779,-0.986622500813,-0.986638125778,-0.986653741675,-0.986669348502,-0.98668494626,-0.986700534949,-0.986716114568,-0.986731685117,-0.986747246597,-0.986762799007,-0.986778342346,-0.986793876615,-0.986809401814,-0.986824917943,-0.986840425,-0.986855922987,-0.986871411903,-0.986886891748,-0.986902362521,-0.986917824223,-0.986933276854,-0.986948720413,-0.9869641549,-0.986979580315,-0.986994996658,-0.987010403928,-0.987025802127,-0.987041191253,-0.987056571306,-0.987071942286,-0.987087304193,-0.987102657028,-0.987118000789,-0.987133335477,-0.987148661091,-0.987163977631,-0.987179285098,-0.987194583491,-0.987209872809,-0.987225153054,-0.987240424224,-0.987255686319,-0.98727093934,-0.987286183287,-0.987301418158,-0.987316643954,-0.987331860675,-0.987347068321,-0.987362266891,-0.987377456385,-0.987392636804,-0.987407808147,-0.987422970414,-0.987438123605,-0.987453267719,-0.987468402757,-0.987483528718,-0.987498645603,-0.98751375341,-0.987528852141,-0.987543941794,-0.987559022371,-0.987574093869,-0.987589156291,-0.987604209634,-0.9876192539,-0.987634289087,-0.987649315197,-0.987664332228,-0.987679340181,-0.987694339055,-0.987709328851,-0.987724309568,-0.987739281206,-0.987754243765,-0.987769197244,-0.987784141645,-0.987799076965,-0.987814003206,-0.987828920368,-0.987843828449,-0.987858727451,-0.987873617372,-0.987888498213,-0.987903369973,-0.987918232653,-0.987933086252,-0.98794793077,-0.987962766207,-0.987977592563,-0.987992409838,-0.988007218031,-0.988022017143,-0.988036807173,-0.988051588122,-0.988066359988,-0.988081122772,-0.988095876474,-0.988110621094,-0.988125356631,-0.988140083086,-0.988154800457,-0.988169508746,-0.988184207952,-0.988198898075,-0.988213579114,-0.98822825107,-0.988242913942,-0.988257567731,-0.988272212435,-0.988286848056,-0.988301474593,-0.988316092045,-0.988330700413,-0.988345299697,-0.988359889895,-0.988374471009,-0.988389043038,-0.988403605982,-0.988418159841,-0.988432704615,-0.988447240303,-0.988461766905,-0.988476284422,-0.988490792853,-0.988505292198,-0.988519782456,-0.988534263629,-0.988548735715,-0.988563198714,-0.988577652627,-0.988592097453,-0.988606533192,-0.988620959844,-0.988635377409,-0.988649785887,-0.988664185277,-0.98867857558,-0.988692956794,-0.988707328921,-0.98872169196,-0.988736045911,-0.988750390774,-0.988764726548,-0.988779053234,-0.988793370831,-0.988807679339,-0.988821978758,-0.988836269089,-0.98885055033,-0.988864822482,-0.988879085544,-0.988893339517,-0.9889075844,-0.988921820194,-0.988936046897,-0.98895026451,-0.988964473033,-0.988978672466,-0.988992862808,-0.98900704406,-0.989021216221,-0.989035379291,-0.98904953327,-0.989063678158,-0.989077813955,-0.98909194066,-0.989106058273,-0.989120166796,-0.989134266226,-0.989148356564,-0.989162437811,-0.989176509965,-0.989190573027,-0.989204626996,-0.989218671873,-0.989232707657,-0.989246734349,-0.989260751947,-0.989274760452,-0.989288759865,-0.989302750183,-0.989316731409,-0.989330703541,-0.989344666579,-0.989358620523,-0.989372565373,-0.989386501129,-0.989400427791,-0.989414345359,-0.989428253832,-0.989442153211,-0.989456043494,-0.989469924683,-0.989483796777,-0.989497659776,-0.989511513679,-0.989525358487,-0.9895391942,-0.989553020817,-0.989566838338,-0.989580646764,-0.989594446093,-0.989608236326,-0.989622017463,-0.989635789504,-0.989649552448,-0.989663306295,-0.989677051046,-0.989690786699,-0.989704513256,-0.989718230716,-0.989731939078,-0.989745638343,-0.98975932851,-0.98977300958,-0.989786681552,-0.989800344426,-0.989813998202,-0.989827642879,-0.989841278459,-0.98985490494,-0.989868522322,-0.989882130606,-0.989895729791,-0.989909319878,-0.989922900865,-0.989936472753,-0.989950035542,-0.989963589231,-0.989977133821,-0.989990669311,-0.990004195701,-0.990017712992,-0.990031221182,-0.990044720272,-0.990058210262,-0.990071691152,-0.990085162941,-0.990098625629,-0.990112079217,-0.990125523704,-0.990138959089,-0.990152385374,-0.990165802557,-0.990179210639,-0.99019260962,-0.990205999498,-0.990219380275,-0.99023275195,-0.990246114523,-0.990259467994,-0.990272812363,-0.99028614763,-0.990299473793,-0.990312790855,-0.990326098813,-0.990339397669,-0.990352687421,-0.990365968071,-0.990379239617,-0.99039250206,-0.9904057554,-0.990418999635,-0.990432234768,-0.990445460796,-0.99045867772,-0.99047188554,-0.990485084256,-0.990498273868,-0.990511454375,-0.990524625778,-0.990537788076,-0.990550941269,-0.990564085358,-0.990577220341,-0.990590346219,-0.990603462992,-0.990616570659,-0.990629669221,-0.990642758677,-0.990655839027,-0.990668910272,-0.99068197241,-0.990695025443,-0.990708069369,-0.990721104188,-0.990734129902,-0.990747146508,-0.990760154008,-0.990773152401,-0.990786141687,-0.990799121866,-0.990812092938,-0.990825054902,-0.990838007759,-0.990850951508,-0.99086388615,-0.990876811684,-0.99088972811,-0.990902635428,-0.990915533638,-0.990928422739,-0.990941302732,-0.990954173617,-0.990967035392,-0.99097988806,-0.990992731618,-0.991005566067,-0.991018391407,-0.991031207638,-0.99104401476,-0.991056812772,-0.991069601674,-0.991082381467,-0.99109515215,-0.991107913723,-0.991120666186,-0.991133409539,-0.991146143782,-0.991158868914,-0.991171584936,-0.991184291847,-0.991196989647,-0.991209678336,-0.991222357915,-0.991235028382,-0.991247689738,-0.991260341983,-0.991272985116,-0.991285619138,-0.991298244048,-0.991310859846,-0.991323466532,-0.991336064107,-0.991348652569,-0.991361231919,-0.991373802156,-0.991386363281,-0.991398915294,-0.991411458193,-0.99142399198,-0.991436516654,-0.991449032215,-0.991461538662,-0.991474035997,-0.991486524218,-0.991499003325,-0.991511473319,-0.991523934199,-0.991536385965,-0.991548828617,-0.991561262155,-0.991573686579,-0.991586101888,-0.991598508083,-0.991610905163,-0.991623293129,-0.99163567198,-0.991648041716,-0.991660402337,-0.991672753843,-0.991685096234,-0.991697429509,-0.991709753669,-0.991722068713,-0.991734374642,-0.991746671455,-0.991758959152,-0.991771237732,-0.991783507197,-0.991795767545,-0.991808018777,-0.991820260893,-0.991832493892,-0.991844717774,-0.991856932539,-0.991869138188,-0.991881334719,-0.991893522134,-0.991905700431,-0.99191786961,-0.991930029672,-0.991942180617,-0.991954322444,-0.991966455153,-0.991978578744,-0.991990693216,-0.992002798571,-0.992014894808,-0.992026981926,-0.992039059925,-0.992051128806,-0.992063188569,-0.992075239212,-0.992087280737,-0.992099313142,-0.992111336428,-0.992123350596,-0.992135355643,-0.992147351571,-0.99215933838,-0.992171316069,-0.992183284638,-0.992195244087,-0.992207194416,-0.992219135625,-0.992231067713,-0.992242990681,-0.992254904529,-0.992266809256,-0.992278704863,-0.992290591348,-0.992302468713,-0.992314336957,-0.992326196079,-0.99233804608,-0.99234988696,-0.992361718719,-0.992373541356,-0.992385354871,-0.992397159264,-0.992408954536,-0.992420740685,-0.992432517713,-0.992444285618,-0.992456044401,-0.992467794061,-0.992479534599,-0.992491266014,-0.992502988306,-0.992514701476,-0.992526405522,-0.992538100446,-0.992549786246,-0.992561462923,-0.992573130476,-0.992584788906,-0.992596438213,-0.992608078395,-0.992619709454,-0.992631331389,-0.9926429442,-0.992654547887,-0.992666142449,-0.992677727887,-0.9926893042,-0.992700871389,-0.992712429454,-0.992723978393,-0.992735518208,-0.992747048897,-0.992758570462,-0.992770082901,-0.992781586215,-0.992793080403,-0.992804565466,-0.992816041403,-0.992827508215,-0.9928389659,-0.99285041446,-0.992861853893,-0.992873284201,-0.992884705382,-0.992896117437,-0.992907520365,-0.992918914167,-0.992930298842,-0.99294167439,-0.992953040811,-0.992964398105,-0.992975746273,-0.992987085312,-0.992998415225,-0.99300973601,-0.993021047668,-0.993032350198,-0.9930436436,-0.993054927875,-0.993066203021,-0.993077469039,-0.99308872593,-0.993099973692,-0.993111212325,-0.99312244183,-0.993133662207,-0.993144873455,-0.993156075574,-0.993167268564,-0.993178452426,-0.993189627158,-0.993200792761,-0.993211949235,-0.993223096579,-0.993234234794,-0.993245363879,-0.993256483835,-0.993267594661,-0.993278696356,-0.993289788922,-0.993300872358,-0.993311946664,-0.993323011839,-0.993334067884,-0.993345114798,-0.993356152582,-0.993367181235,-0.993378200757,-0.993389211148,-0.993400212408,-0.993411204537,-0.993422187535,-0.993433161402,-0.993444126137,-0.993455081741,-0.993466028213,-0.993476965553,-0.993487893761,-0.993498812838,-0.993509722782,-0.993520623595,-0.993531515275,-0.993542397822,-0.993553271238,-0.993564135521,-0.993574990671,-0.993585836688,-0.993596673573,-0.993607501325,-0.993618319943,-0.993629129429,-0.993639929781,-0.993650721,-0.993661503086,-0.993672276038,-0.993683039856,-0.993693794541,-0.993704540092,-0.993715276509,-0.993726003792,-0.993736721941,-0.993747430955,-0.993758130836,-0.993768821582,-0.993779503193,-0.99379017567,-0.993800839012,-0.993811493219,-0.993822138292,-0.993832774229,-0.993843401031,-0.993854018698,-0.99386462723,-0.993875226626,-0.993885816887,-0.993896398013,-0.993906970002,-0.993917532856,-0.993928086574,-0.993938631156,-0.993949166602,-0.993959692912,-0.993970210085,-0.993980718123,-0.993991217023,-0.994001706787,-0.994012187415,-0.994022658906,-0.99403312126,-0.994043574477,-0.994054018557,-0.994064453499,-0.994074879305,-0.994085295973,-0.994095703504,-0.994106101897,-0.994116491153,-0.994126871271,-0.994137242251,-0.994147604093,-0.994157956798,-0.994168300364,-0.994178634792,-0.994188960082,-0.994199276233,-0.994209583246,-0.994219881121,-0.994230169856,-0.994240449453,-0.994250719911,-0.99426098123,-0.994271233411,-0.994281476452,-0.994291710353,-0.994301935116,-0.994312150739,-0.994322357223,-0.994332554567,-0.994342742771,-0.994352921835,-0.99436309176,-0.994373252545,-0.994383404189,-0.994393546694,-0.994403680058,-0.994413804281,-0.994423919365,-0.994434025308,-0.99444412211,-0.994454209771,-0.994464288292,-0.994474357672,-0.994484417911,-0.994494469008,-0.994504510965,-0.99451454378,-0.994524567454,-0.994534581987,-0.994544587377,-0.994554583627,-0.994564570734,-0.9945745487,-0.994584517524,-0.994594477206,-0.994604427745,-0.994614369143,-0.994624301398,-0.994634224511,-0.994644138481,-0.994654043309,-0.994663938994,-0.994673825536,-0.994683702936,-0.994693571193,-0.994703430306,-0.994713280277,-0.994723121104,-0.994732952788,-0.994742775329,-0.994752588726,-0.99476239298,-0.99477218809,-0.994781974057,-0.994791750879,-0.994801518558,-0.994811277092,-0.994821026483,-0.994830766729,-0.994840497831,-0.994850219789,-0.994859932602,-0.994869636271,-0.994879330795,-0.994889016174,-0.994898692409,-0.994908359498,-0.994918017443,-0.994927666243,-0.994937305897,-0.994946936406,-0.99495655777,-0.994966169989,-0.994975773061,-0.994985366989,-0.99499495177,-0.995004527406,-0.995014093896,-0.99502365124,-0.995033199438,-0.99504273849,-0.995052268396,-0.995061789155,-0.995071300768,-0.995080803234,-0.995090296554,-0.995099780727,-0.995109255754,-0.995118721633,-0.995128178366,-0.995137625952,-0.99514706439,-0.995156493682,-0.995165913826,-0.995175324823,-0.995184726672,-0.995194119374,-0.995203502928,-0.995212877335,-0.995222242594,-0.995231598705,-0.995240945667,-0.995250283482,-0.995259612149,-0.995268931668,-0.995278242038,-0.99528754326,-0.995296835333,-0.995306118258,-0.995315392034,-0.995324656662,-0.99533391214,-0.99534315847,-0.995352395651,-0.995361623683,-0.995370842565,-0.995380052299,-0.995389252883,-0.995398444317,-0.995407626603,-0.995416799738,-0.995425963724,-0.99543511856,-0.995444264247,-0.995453400783,-0.995462528169,-0.995471646406,-0.995480755492,-0.995489855428,-0.995498946213,-0.995508027849,-0.995517100333,-0.995526163668,-0.995535217851,-0.995544262884,-0.995553298766,-0.995562325497,-0.995571343077,-0.995580351506,-0.995589350783,-0.99559834091,-0.995607321885,-0.995616293709,-0.995625256381,-0.995634209902,-0.995643154271,-0.995652089488,-0.995661015554,-0.995669932467,-0.995678840229,-0.995687738838,-0.995696628296,-0.995705508601,-0.995714379754,-0.995723241754,-0.995732094602,-0.995740938298,-0.99574977284,-0.99575859823,-0.995767414468,-0.995776221552,-0.995785019483,-0.995793808262,-0.995802587887,-0.995811358359,-0.995820119678,-0.995828871843,-0.995837614855,-0.995846348714,-0.995855073419,-0.99586378897,-0.995872495367,-0.995881192611,-0.9958898807,-0.995898559636,-0.995907229417,-0.995915890045,-0.995924541518,-0.995933183837,-0.995941817001,-0.995950441011,-0.995959055866,-0.995967661567,-0.995976258113,-0.995984845504,-0.99599342374,-0.996001992822,-0.996010552748,-0.996019103519,-0.996027645135,-0.996036177596,-0.996044700901,-0.996053215051,-0.996061720046,-0.996070215884,-0.996078702568,-0.996087180095,-0.996095648467,-0.996104107682,-0.996112557742,-0.996120998646,-0.996129430393,-0.996137852985,-0.99614626642,-0.996154670699,-0.996163065821,-0.996171451787,-0.996179828596,-0.996188196248,-0.996196554744,-0.996204904083,-0.996213244265,-0.99622157529,-0.996229897158,-0.996238209869,-0.996246513422,-0.996254807819,-0.996263093058,-0.996271369139,-0.996279636063,-0.99628789383,-0.996296142438,-0.99630438189,-0.996312612183,-0.996320833318,-0.996329045295,-0.996337248115,-0.996345441776,-0.996353626279,-0.996361801624,-0.99636996781,-0.996378124838,-0.996386272708,-0.996394411419,-0.996402540971,-0.996410661364,-0.996418772599,-0.996426874675,-0.996434967592,-0.99644305135,-0.996451125949,-0.996459191389,-0.996467247669,-0.99647529479,-0.996483332752,-0.996491361554,-0.996499381197,-0.99650739168,-0.996515393004,-0.996523385167,-0.996531368171,-0.996539342015,-0.996547306699,-0.996555262223,-0.996563208587,-0.996571145791,-0.996579073834,-0.996586992717,-0.99659490244,-0.996602803002,-0.996610694403,-0.996618576644,-0.996626449724,-0.996634313644,-0.996642168402,-0.996650014,-0.996657850437,-0.996665677712,-0.996673495827,-0.99668130478,-0.996689104572,-0.996696895203,-0.996704676672,-0.99671244898,-0.996720212126,-0.996727966111,-0.996735710933,-0.996743446594,-0.996751173094,-0.996758890431,-0.996766598606,-0.996774297619,-0.99678198747,-0.996789668159,-0.996797339686,-0.99680500205,-0.996812655252,-0.996820299291,-0.996827934168,-0.996835559882,-0.996843176434,-0.996850783822,-0.996858382048,-0.996865971111,-0.996873551011,-0.996881121748,-0.996888683322,-0.996896235732,-0.99690377898,-0.996911313064,-0.996918837984,-0.996926353741,-0.996933860335,-0.996941357765,-0.996948846031,-0.996956325134,-0.996963795073,-0.996971255848,-0.996978707459,-0.996986149906,-0.996993583189,-0.997001007307,-0.997008422262,-0.997015828052,-0.997023224678,-0.997030612139,-0.997037990436,-0.997045359569,-0.997052719536,-0.997060070339,-0.997067411978,-0.997074744451,-0.99708206776,-0.997089381903,-0.997096686882,-0.997103982696,-0.997111269344,-0.997118546827,-0.997125815145,-0.997133074297,-0.997140324284,-0.997147565106,-0.997154796762,-0.997162019252,-0.997169232576,-0.997176436735,-0.997183631728,-0.997190817555,-0.997197994217,-0.997205161712,-0.997212320041,-0.997219469204,-0.9972266092,-0.99723374003,-0.997240861694,-0.997247974192,-0.997255077523,-0.997262171688,-0.997269256685,-0.997276332517,-0.997283399181,-0.997290456679,-0.997297505009,-0.997304544173,-0.99731157417,-0.997318595,-0.997325606662,-0.997332609158,-0.997339602486,-0.997346586647,-0.99735356164,-0.997360527466,-0.997367484124,-0.997374431615,-0.997381369938,-0.997388299094,-0.997395219081,-0.997402129901,-0.997409031553,-0.997415924037,-0.997422807353,-0.997429681501,-0.997436546481,-0.997443402292,-0.997450248935,-0.99745708641,-0.997463914716,-0.997470733854,-0.997477543824,-0.997484344624,-0.997491136257,-0.99749791872,-0.997504692015,-0.99751145614,-0.997518211097,-0.997524956885,-0.997531693504,-0.997538420954,-0.997545139234,-0.997551848346,-0.997558548288,-0.99756523906,-0.997571920664,-0.997578593098,-0.997585256362,-0.997591910457,-0.997598555382,-0.997605191137,-0.997611817723,-0.997618435139,-0.997625043384,-0.99763164246,-0.997638232366,-0.997644813102,-0.997651384668,-0.997657947063,-0.997664500289,-0.997671044343,-0.997677579228,-0.997684104942,-0.997690621486,-0.997697128859,-0.997703627061,-0.997710116093,-0.997716595954,-0.997723066644,-0.997729528164,-0.997735980512,-0.997742423689,-0.997748857696,-0.997755282531,-0.997761698195,-0.997768104688,-0.99777450201,-0.997780890161,-0.99778726914,-0.997793638947,-0.997799999583,-0.997806351048,-0.99781269334,-0.997819026462,-0.997825350411,-0.997831665189,-0.997837970795,-0.997844267228,-0.99785055449,-0.99785683258,-0.997863101498,-0.997869361244,-0.997875611817,-0.997881853218,-0.997888085447,-0.997894308504,-0.997900522388,-0.997906727099,-0.997912922638,-0.997919109005,-0.997925286199,-0.99793145422,-0.997937613068,-0.997943762743,-0.997949903246,-0.997956034576,-0.997962156732,-0.997968269716,-0.997974373526,-0.997980468164,-0.997986553628,-0.997992629919,-0.997998697036,-0.99800475498,-0.998010803751,-0.998016843348,-0.998022873771,-0.998028895021,-0.998034907098,-0.99804091,-0.998046903729,-0.998052888284,-0.998058863665,-0.998064829872,-0.998070786905,-0.998076734765,-0.99808267345,-0.99808860296,-0.998094523297,-0.998100434459,-0.998106336447,-0.998112229261,-0.9981181129,-0.998123987365,-0.998129852655,-0.998135708771,-0.998141555712,-0.998147393478,-0.998153222069,-0.998159041486,-0.998164851728,-0.998170652795,-0.998176444686,-0.998182227403,-0.998188000945,-0.998193765312,-0.998199520503,-0.99820526652,-0.99821100336,-0.998216731026,-0.998222449516,-0.998228158831,-0.99823385897,-0.998239549934,-0.998245231722,-0.998250904335,-0.998256567771,-0.998262222032,-0.998267867118,-0.998273503027,-0.99827912976,-0.998284747318,-0.998290355699,-0.998295954905,-0.998301544934,-0.998307125787,-0.998312697464,-0.998318259964,-0.998323813289,-0.998329357436,-0.998334892408,-0.998340418203,-0.998345934821,-0.998351442263,-0.998356940528,-0.998362429617,-0.998367909529,-0.998373380264,-0.998378841822,-0.998384294203,-0.998389737407,-0.998395171435,-0.998400596285,-0.998406011958,-0.998411418454,-0.998416815773,-0.998422203915,-0.998427582879,-0.998432952667,-0.998438313276,-0.998443664708,-0.998449006963,-0.998454340041,-0.99845966394,-0.998464978662,-0.998470284207,-0.998475580573,-0.998480867762,-0.998486145773,-0.998491414606,-0.998496674262,-0.998501924739,-0.998507166038,-0.99851239816,-0.998517621103,-0.998522834868,-0.998528039454,-0.998533234863,-0.998538421093,-0.998543598145,-0.998548766018,-0.998553924713,-0.99855907423,-0.998564214568,-0.998569345727,-0.998574467708,-0.99857958051,-0.998584684133,-0.998589778578,-0.998594863843,-0.99859993993,-0.998605006838,-0.998610064567,-0.998615113117,-0.998620152488,-0.99862518268,-0.998630203693,-0.998635215526,-0.99864021818,-0.998645211655,-0.998650195951,-0.998655171067,-0.998660137004,-0.998665093761,-0.998670041339,-0.998674979737,-0.998679908956,-0.998684828995,-0.998689739854,-0.998694641534,-0.998699534034,-0.998704417353,-0.998709291494,-0.998714156454,-0.998719012234,-0.998723858834,-0.998728696254,-0.998733524494,-0.998738343554,-0.998743153434,-0.998747954133,-0.998752745652,-0.998757527991,-0.99876230115,-0.998767065128,-0.998771819925,-0.998776565542,-0.998781301979,-0.998786029235,-0.99879074731,-0.998795456205,-0.998800155919,-0.998804846452,-0.998809527805,-0.998814199976,-0.998818862967,-0.998823516777,-0.998828161406,-0.998832796854,-0.99883742312,-0.998842040206,-0.99884664811,-0.998851246834,-0.998855836376,-0.998860416737,-0.998864987916,-0.998869549914,-0.998874102731,-0.998878646366,-0.99888318082,-0.998887706093,-0.998892222183,-0.998896729092,-0.99890122682,-0.998905715366,-0.99891019473,-0.998914664912,-0.998919125913,-0.998923577731,-0.998928020368,-0.998932453823,-0.998936878096,-0.998941293187,-0.998945699096,-0.998950095822,-0.998954483367,-0.998958861729,-0.99896323091,-0.998967590908,-0.998971941723,-0.998976283356,-0.998980615807,-0.998984939076,-0.998989253162,-0.998993558066,-0.998997853787,-0.999002140325,-0.999006417681,-0.999010685854,-0.999014944845,-0.999019194652,-0.999023435277,-0.99902766672,-0.999031888979,-0.999036102055,-0.999040305949,-0.999044500659,-0.999048686187,-0.999052862532,-0.999057029693,-0.999061187671,-0.999065336466,-0.999069476078,-0.999073606507,-0.999077727753,-0.999081839815,-0.999085942694,-0.999090036389,-0.999094120901,-0.99909819623,-0.999102262375,-0.999106319336,-0.999110367114,-0.999114405709,-0.999118435119,-0.999122455346,-0.99912646639,-0.999130468249,-0.999134460925,-0.999138444417,-0.999142418725,-0.999146383849,-0.999150339789,-0.999154286545,-0.999158224118,-0.999162152506,-0.99916607171,-0.99916998173,-0.999173882566,-0.999177774217,-0.999181656685,-0.999185529968,-0.999189394067,-0.999193248981,-0.999197094711,-0.999200931257,-0.999204758618,-0.999208576795,-0.999212385787,-0.999216185595,-0.999219976218,-0.999223757657,-0.999227529911,-0.99923129298,-0.999235046865,-0.999238791564,-0.999242527079,-0.999246253409,-0.999249970555,-0.999253678515,-0.999257377291,-0.999261066881,-0.999264747287,-0.999268418507,-0.999272080543,-0.999275733393,-0.999279377058,-0.999283011538,-0.999286636833,-0.999290252943,-0.999293859867,-0.999297457606,-0.99930104616,-0.999304625528,-0.999308195711,-0.999311756709,-0.999315308521,-0.999318851147,-0.999322384588,-0.999325908844,-0.999329423914,-0.999332929798,-0.999336426497,-0.99933991401,-0.999343392337,-0.999346861478,-0.999350321434,-0.999353772204,-0.999357213788,-0.999360646186,-0.999364069399,-0.999367483425,-0.999370888265,-0.99937428392,-0.999377670388,-0.99938104767,-0.999384415766,-0.999387774676,-0.9993911244,-0.999394464938,-0.99939779629,-0.999401118455,-0.999404431434,-0.999407735226,-0.999411029833,-0.999414315253,-0.999417591486,-0.999420858533,-0.999424116394,-0.999427365068,-0.999430604555,-0.999433834857,-0.999437055971,-0.999440267899,-0.99944347064,-0.999446664195,-0.999449848562,-0.999453023744,-0.999456189738,-0.999459346546,-0.999462494166,-0.9994656326,-0.999468761847,-0.999471881907,-0.999474992781,-0.999478094467,-0.999481186966,-0.999484270278,-0.999487344404,-0.999490409342,-0.999493465093,-0.999496511657,-0.999499549033,-0.999502577223,-0.999505596225,-0.99950860604,-0.999511606668,-0.999514598109,-0.999517580362,-0.999520553428,-0.999523517306,-0.999526471997,-0.999529417501,-0.999532353817,-0.999535280946,-0.999538198887,-0.999541107641,-0.999544007207,-0.999546897585,-0.999549778776,-0.999552650779,-0.999555513595,-0.999558367223,-0.999561211663,-0.999564046915,-0.99956687298,-0.999569689857,-0.999572497546,-0.999575296047,-0.99957808536,-0.999580865485,-0.999583636423,-0.999586398172,-0.999589150734,-0.999591894107,-0.999594628292,-0.99959735329,-0.999600069099,-0.99960277572,-0.999605473153,-0.999608161398,-0.999610840455,-0.999613510323,-0.999616171003,-0.999618822495,-0.999621464799,-0.999624097914,-0.999626721841,-0.99962933658,-0.99963194213,-0.999634538492,-0.999637125666,-0.999639703651,-0.999642272447,-0.999644832055,-0.999647382475,-0.999649923706,-0.999652455748,-0.999654978602,-0.999657492267,-0.999659996744,-0.999662492032,-0.999664978131,-0.999667455042,-0.999669922763,-0.999672381297,-0.999674830641,-0.999677270796,-0.999679701763,-0.999682123541,-0.99968453613,-0.99968693953,-0.999689333741,-0.999691718763,-0.999694094597,-0.999696461241,-0.999698818696,-0.999701166963,-0.99970350604,-0.999705835928,-0.999708156627,-0.999710468137,-0.999712770458,-0.99971506359,-0.999717347532,-0.999719622286,-0.99972188785,-0.999724144225,-0.999726391411,-0.999728629407,-0.999730858214,-0.999733077832,-0.999735288261,-0.9997374895,-0.999739681549,-0.99974186441,-0.999744038081,-0.999746202562,-0.999748357855,-0.999750503957,-0.99975264087,-0.999754768594,-0.999756887128,-0.999758996472,-0.999761096627,-0.999763187593,-0.999765269369,-0.999767341955,-0.999769405351,-0.999771459558,-0.999773504575,-0.999775540403,-0.99977756704,-0.999779584488,-0.999781592747,-0.999783591815,-0.999785581694,-0.999787562382,-0.999789533881,-0.999791496191,-0.99979344931,-0.999795393239,-0.999797327979,-0.999799253528,-0.999801169888,-0.999803077058,-0.999804975037,-0.999806863827,-0.999808743427,-0.999810613836,-0.999812475056,-0.999814327085,-0.999816169925,-0.999818003574,-0.999819828034,-0.999821643303,-0.999823449382,-0.99982524627,-0.999827033969,-0.999828812478,-0.999830581796,-0.999832341924,-0.999834092862,-0.999835834609,-0.999837567166,-0.999839290533,-0.99984100471,-0.999842709696,-0.999844405492,-0.999846092098,-0.999847769513,-0.999849437738,-0.999851096772,-0.999852746616,-0.99985438727,-0.999856018733,-0.999857641006,-0.999859254088,-0.99986085798,-0.999862452681,-0.999864038192,-0.999865614512,-0.999867181641,-0.999868739581,-0.999870288329,-0.999871827887,-0.999873358254,-0.999874879431,-0.999876391417,-0.999877894212,-0.999879387817,-0.999880872231,-0.999882347454,-0.999883813487,-0.999885270329,-0.99988671798,-0.99988815644,-0.99988958571,-0.999891005789,-0.999892416677,-0.999893818374,-0.999895210881,-0.999896594197,-0.999897968321,-0.999899333256,-0.999900688999,-0.999902035551,-0.999903372912,-0.999904701083,-0.999906020062,-0.999907329851,-0.999908630449,-0.999909921856,-0.999911204071,-0.999912477096,-0.99991374093,-0.999914995573,-0.999916241025,-0.999917477286,-0.999918704356,-0.999919922235,-0.999921130922,-0.999922330419,-0.999923520725,-0.999924701839,-0.999925873763,-0.999927036495,-0.999928190036,-0.999929334386,-0.999930469545,-0.999931595513,-0.99993271229,-0.999933819875,-0.99993491827,-0.999936007473,-0.999937087485,-0.999938158305,-0.999939219935,-0.999940272373,-0.99994131562,-0.999942349676,-0.999943374541,-0.999944390214,-0.999945396696,-0.999946393987,-0.999947382086,-0.999948360994,-0.999949330711,-0.999950291236,-0.999951242571,-0.999952184714,-0.999953117665,-0.999954041425,-0.999954955994,-0.999955861371,-0.999956757557,-0.999957644552,-0.999958522355,-0.999959390967,-0.999960250387,-0.999961100616,-0.999961941654,-0.9999627735,-0.999963596155,-0.999964409618,-0.99996521389,-0.99996600897,-0.999966794859,-0.999967571556,-0.999968339062,-0.999969097377,-0.9999698465,-0.999970586431,-0.999971317171,-0.999972038719,-0.999972751076,-0.999973454241,-0.999974148215,-0.999974832997,-0.999975508588,-0.999976174987,-0.999976832194,-0.99997748021,-0.999978119035,-0.999978748667,-0.999979369109,-0.999979980358,-0.999980582416,-0.999981175283,-0.999981758957,-0.999982333441,-0.999982898732,-0.999983454832,-0.99998400174,-0.999984539457,-0.999985067982,-0.999985587315,-0.999986097457,-0.999986598407,-0.999987090165,-0.999987572732,-0.999988046107,-0.99998851029,-0.999988965282,-0.999989411082,-0.99998984769,-0.999990275107,-0.999990693332,-0.999991102365,-0.999991502206,-0.999991892856,-0.999992274314,-0.999992646581,-0.999993009655,-0.999993363538,-0.99999370823,-0.999994043729,-0.999994370037,-0.999994687153,-0.999994995077,-0.99999529381,-0.99999558335,-0.999995863699,-0.999996134857,-0.999996396822,-0.999996649596,-0.999996893178,-0.999997127568,-0.999997352767,-0.999997568774,-0.999997775589,-0.999997973212,-0.999998161643,-0.999998340883,-0.999998510931,-0.999998671787,-0.999998823452,-0.999998965924,-0.999999099205,-0.999999223294,-0.999999338192,-0.999999443897,-0.999999540411,-0.999999627733,-0.999999705863,-0.999999774801,-0.999999834548,-0.999999885103,-0.999999926466,-0.999999958637,-0.999999981616,-0.999999995404,-1.0,-0.999999995404,-0.999999981616,-0.999999958637,-0.999999926466,-0.999999885103,-0.999999834548,-0.999999774801,-0.999999705863,-0.999999627733,-0.999999540411,-0.999999443897,-0.999999338192,-0.999999223294,-0.999999099205,-0.999998965924,-0.999998823452,-0.999998671787,-0.999998510931,-0.999998340883,-0.999998161643,-0.999997973212,-0.999997775589,-0.999997568774,-0.999997352767,-0.999997127568,-0.999996893178,-0.999996649596,-0.999996396822,-0.999996134857,-0.999995863699,-0.99999558335,-0.99999529381,-0.999994995077,-0.999994687153,-0.999994370037,-0.999994043729,-0.99999370823,-0.999993363538,-0.999993009655,-0.999992646581,-0.999992274314,-0.999991892856,-0.999991502206,-0.999991102365,-0.999990693332,-0.999990275107,-0.99998984769,-0.999989411082,-0.999988965282,-0.99998851029,-0.999988046107,-0.999987572732,-0.999987090165,-0.999986598407,-0.999986097457,-0.999985587315,-0.999985067982,-0.999984539457,-0.99998400174,-0.999983454832,-0.999982898732,-0.999982333441,-0.999981758957,-0.999981175283,-0.999980582416,-0.999979980358,-0.999979369109,-0.999978748667,-0.999978119035,-0.99997748021,-0.999976832194,-0.999976174987,-0.999975508588,-0.999974832997,-0.999974148215,-0.999973454241,-0.999972751076,-0.999972038719,-0.999971317171,-0.999970586431,-0.9999698465,-0.999969097377,-0.999968339062,-0.999967571556,-0.999966794859,-0.99996600897,-0.99996521389,-0.999964409618,-0.999963596155,-0.9999627735,-0.999961941654,-0.999961100616,-0.999960250387,-0.999959390967,-0.999958522355,-0.999957644552,-0.999956757557,-0.999955861371,-0.999954955994,-0.999954041425,-0.999953117665,-0.999952184714,-0.999951242571,-0.999950291236,-0.999949330711,-0.999948360994,-0.999947382086,-0.999946393987,-0.999945396696,-0.999944390214,-0.999943374541,-0.999942349676,-0.99994131562,-0.999940272373,-0.999939219935,-0.999938158305,-0.999937087485,-0.999936007473,-0.99993491827,-0.999933819875,-0.99993271229,-0.999931595513,-0.999930469545,-0.999929334386,-0.999928190036,-0.999927036495,-0.999925873763,-0.999924701839,-0.999923520725,-0.999922330419,-0.999921130922,-0.999919922235,-0.999918704356,-0.999917477286,-0.999916241025,-0.999914995573,-0.99991374093,-0.999912477096,-0.999911204071,-0.999909921856,-0.999908630449,-0.999907329851,-0.999906020062,-0.999904701083,-0.999903372912,-0.999902035551,-0.999900688999,-0.999899333256,-0.999897968321,-0.999896594197,-0.999895210881,-0.999893818374,-0.999892416677,-0.999891005789,-0.99988958571,-0.99988815644,-0.99988671798,-0.999885270329,-0.999883813487,-0.999882347454,-0.999880872231,-0.999879387817,-0.999877894212,-0.999876391417,-0.999874879431,-0.999873358254,-0.999871827887,-0.999870288329,-0.999868739581,-0.999867181641,-0.999865614512,-0.999864038192,-0.999862452681,-0.99986085798,-0.999859254088,-0.999857641006,-0.999856018733,-0.99985438727,-0.999852746616,-0.999851096772,-0.999849437738,-0.999847769513,-0.999846092098,-0.999844405492,-0.999842709696,-0.99984100471,-0.999839290533,-0.999837567166,-0.999835834609,-0.999834092862,-0.999832341924,-0.999830581796,-0.999828812478,-0.999827033969,-0.99982524627,-0.999823449382,-0.999821643303,-0.999819828034,-0.999818003574,-0.999816169925,-0.999814327085,-0.999812475056,-0.999810613836,-0.999808743427,-0.999806863827,-0.999804975037,-0.999803077058,-0.999801169888,-0.999799253528,-0.999797327979,-0.999795393239,-0.99979344931,-0.999791496191,-0.999789533881,-0.999787562382,-0.999785581694,-0.999783591815,-0.999781592747,-0.999779584488,-0.99977756704,-0.999775540403,-0.999773504575,-0.999771459558,-0.999769405351,-0.999767341955,-0.999765269369,-0.999763187593,-0.999761096627,-0.999758996472,-0.999756887128,-0.999754768594,-0.99975264087,-0.999750503957,-0.999748357855,-0.999746202562,-0.999744038081,-0.99974186441,-0.999739681549,-0.9997374895,-0.999735288261,-0.999733077832,-0.999730858214,-0.999728629407,-0.999726391411,-0.999724144225,-0.99972188785,-0.999719622286,-0.999717347532,-0.99971506359,-0.999712770458,-0.999710468137,-0.999708156627,-0.999705835928,-0.99970350604,-0.999701166963,-0.999698818696,-0.999696461241,-0.999694094597,-0.999691718763,-0.999689333741,-0.99968693953,-0.99968453613,-0.999682123541,-0.999679701763,-0.999677270796,-0.999674830641,-0.999672381297,-0.999669922763,-0.999667455042,-0.999664978131,-0.999662492032,-0.999659996744,-0.999657492267,-0.999654978602,-0.999652455748,-0.999649923706,-0.999647382475,-0.999644832055,-0.999642272447,-0.999639703651,-0.999637125666,-0.999634538492,-0.99963194213,-0.99962933658,-0.999626721841,-0.999624097914,-0.999621464799,-0.999618822495,-0.999616171003,-0.999613510323,-0.999610840455,-0.999608161398,-0.999605473153,-0.99960277572,-0.999600069099,-0.99959735329,-0.999594628292,-0.999591894107,-0.999589150734,-0.999586398172,-0.999583636423,-0.999580865485,-0.99957808536,-0.999575296047,-0.999572497546,-0.999569689857,-0.99956687298,-0.999564046915,-0.999561211663,-0.999558367223,-0.999555513595,-0.999552650779,-0.999549778776,-0.999546897585,-0.999544007207,-0.999541107641,-0.999538198887,-0.999535280946,-0.999532353817,-0.999529417501,-0.999526471997,-0.999523517306,-0.999520553428,-0.999517580362,-0.999514598109,-0.999511606668,-0.99950860604,-0.999505596225,-0.999502577223,-0.999499549033,-0.999496511657,-0.999493465093,-0.999490409342,-0.999487344404,-0.999484270278,-0.999481186966,-0.999478094467,-0.999474992781,-0.999471881907,-0.999468761847,-0.9994656326,-0.999462494166,-0.999459346546,-0.999456189738,-0.999453023744,-0.999449848562,-0.999446664195,-0.99944347064,-0.999440267899,-0.999437055971,-0.999433834857,-0.999430604555,-0.999427365068,-0.999424116394,-0.999420858533,-0.999417591486,-0.999414315253,-0.999411029833,-0.999407735226,-0.999404431434,-0.999401118455,-0.99939779629,-0.999394464938,-0.9993911244,-0.999387774676,-0.999384415766,-0.99938104767,-0.999377670388,-0.99937428392,-0.999370888265,-0.999367483425,-0.999364069399,-0.999360646186,-0.999357213788,-0.999353772204,-0.999350321434,-0.999346861478,-0.999343392337,-0.99933991401,-0.999336426497,-0.999332929798,-0.999329423914,-0.999325908844,-0.999322384588,-0.999318851147,-0.999315308521,-0.999311756709,-0.999308195711,-0.999304625528,-0.99930104616,-0.999297457606,-0.999293859867,-0.999290252943,-0.999286636833,-0.999283011538,-0.999279377058,-0.999275733393,-0.999272080543,-0.999268418507,-0.999264747287,-0.999261066881,-0.999257377291,-0.999253678515,-0.999249970555,-0.999246253409,-0.999242527079,-0.999238791564,-0.999235046865,-0.99923129298,-0.999227529911,-0.999223757657,-0.999219976218,-0.999216185595,-0.999212385787,-0.999208576795,-0.999204758618,-0.999200931257,-0.999197094711,-0.999193248981,-0.999189394067,-0.999185529968,-0.999181656685,-0.999177774217,-0.999173882566,-0.99916998173,-0.99916607171,-0.999162152506,-0.999158224118,-0.999154286545,-0.999150339789,-0.999146383849,-0.999142418725,-0.999138444417,-0.999134460925,-0.999130468249,-0.99912646639,-0.999122455346,-0.999118435119,-0.999114405709,-0.999110367114,-0.999106319336,-0.999102262375,-0.99909819623,-0.999094120901,-0.999090036389,-0.999085942694,-0.999081839815,-0.999077727753,-0.999073606507,-0.999069476078,-0.999065336466,-0.999061187671,-0.999057029693,-0.999052862532,-0.999048686187,-0.999044500659,-0.999040305949,-0.999036102055,-0.999031888979,-0.99902766672,-0.999023435277,-0.999019194652,-0.999014944845,-0.999010685854,-0.999006417681,-0.999002140325,-0.998997853787,-0.998993558066,-0.998989253162,-0.998984939076,-0.998980615807,-0.998976283356,-0.998971941723,-0.998967590908,-0.99896323091,-0.998958861729,-0.998954483367,-0.998950095822,-0.998945699096,-0.998941293187,-0.998936878096,-0.998932453823,-0.998928020368,-0.998923577731,-0.998919125913,-0.998914664912,-0.99891019473,-0.998905715366,-0.99890122682,-0.998896729092,-0.998892222183,-0.998887706093,-0.99888318082,-0.998878646366,-0.998874102731,-0.998869549914,-0.998864987916,-0.998860416737,-0.998855836376,-0.998851246834,-0.99884664811,-0.998842040206,-0.99883742312,-0.998832796854,-0.998828161406,-0.998823516777,-0.998818862967,-0.998814199976,-0.998809527805,-0.998804846452,-0.998800155919,-0.998795456205,-0.99879074731,-0.998786029235,-0.998781301979,-0.998776565542,-0.998771819925,-0.998767065128,-0.99876230115,-0.998757527991,-0.998752745652,-0.998747954133,-0.998743153434,-0.998738343554,-0.998733524494,-0.998728696254,-0.998723858834,-0.998719012234,-0.998714156454,-0.998709291494,-0.998704417353,-0.998699534034,-0.998694641534,-0.998689739854,-0.998684828995,-0.998679908956,-0.998674979737,-0.998670041339,-0.998665093761,-0.998660137004,-0.998655171067,-0.998650195951,-0.998645211655,-0.99864021818,-0.998635215526,-0.998630203693,-0.99862518268,-0.998620152488,-0.998615113117,-0.998610064567,-0.998605006838,-0.99859993993,-0.998594863843,-0.998589778578,-0.998584684133,-0.99857958051,-0.998574467708,-0.998569345727,-0.998564214568,-0.99855907423,-0.998553924713,-0.998548766018,-0.998543598145,-0.998538421093,-0.998533234863,-0.998528039454,-0.998522834868,-0.998517621103,-0.99851239816,-0.998507166038,-0.998501924739,-0.998496674262,-0.998491414606,-0.998486145773,-0.998480867762,-0.998475580573,-0.998470284207,-0.998464978662,-0.99845966394,-0.998454340041,-0.998449006963,-0.998443664708,-0.998438313276,-0.998432952667,-0.998427582879,-0.998422203915,-0.998416815773,-0.998411418454,-0.998406011958,-0.998400596285,-0.998395171435,-0.998389737407,-0.998384294203,-0.998378841822,-0.998373380264,-0.998367909529,-0.998362429617,-0.998356940528,-0.998351442263,-0.998345934821,-0.998340418203,-0.998334892408,-0.998329357436,-0.998323813289,-0.998318259964,-0.998312697464,-0.998307125787,-0.998301544934,-0.998295954905,-0.998290355699,-0.998284747318,-0.99827912976,-0.998273503027,-0.998267867118,-0.998262222032,-0.998256567771,-0.998250904335,-0.998245231722,-0.998239549934,-0.99823385897,-0.998228158831,-0.998222449516,-0.998216731026,-0.99821100336,-0.99820526652,-0.998199520503,-0.998193765312,-0.998188000945,-0.998182227403,-0.998176444686,-0.998170652795,-0.998164851728,-0.998159041486,-0.998153222069,-0.998147393478,-0.998141555712,-0.998135708771,-0.998129852655,-0.998123987365,-0.9981181129,-0.998112229261,-0.998106336447,-0.998100434459,-0.998094523297,-0.99808860296,-0.99808267345,-0.998076734765,-0.998070786905,-0.998064829872,-0.998058863665,-0.998052888284,-0.998046903729,-0.99804091,-0.998034907098,-0.998028895021,-0.998022873771,-0.998016843348,-0.998010803751,-0.99800475498,-0.997998697036,-0.997992629919,-0.997986553628,-0.997980468164,-0.997974373526,-0.997968269716,-0.997962156732,-0.997956034576,-0.997949903246,-0.997943762743,-0.997937613068,-0.99793145422,-0.997925286199,-0.997919109005,-0.997912922638,-0.997906727099,-0.997900522388,-0.997894308504,-0.997888085447,-0.997881853218,-0.997875611817,-0.997869361244,-0.997863101498,-0.99785683258,-0.99785055449,-0.997844267228,-0.997837970795,-0.997831665189,-0.997825350411,-0.997819026462,-0.99781269334,-0.997806351048,-0.997799999583,-0.997793638947,-0.99778726914,-0.997780890161,-0.99777450201,-0.997768104688,-0.997761698195,-0.997755282531,-0.997748857696,-0.997742423689,-0.997735980512,-0.997729528164,-0.997723066644,-0.997716595954,-0.997710116093,-0.997703627061,-0.997697128859,-0.997690621486,-0.997684104942,-0.997677579228,-0.997671044343,-0.997664500289,-0.997657947063,-0.997651384668,-0.997644813102,-0.997638232366,-0.99763164246,-0.997625043384,-0.997618435139,-0.997611817723,-0.997605191137,-0.997598555382,-0.997591910457,-0.997585256362,-0.997578593098,-0.997571920664,-0.99756523906,-0.997558548288,-0.997551848346,-0.997545139234,-0.997538420954,-0.997531693504,-0.997524956885,-0.997518211097,-0.99751145614,-0.997504692015,-0.99749791872,-0.997491136257,-0.997484344624,-0.997477543824,-0.997470733854,-0.997463914716,-0.99745708641,-0.997450248935,-0.997443402292,-0.997436546481,-0.997429681501,-0.997422807353,-0.997415924037,-0.997409031553,-0.997402129901,-0.997395219081,-0.997388299094,-0.997381369938,-0.997374431615,-0.997367484124,-0.997360527466,-0.99735356164,-0.997346586647,-0.997339602486,-0.997332609158,-0.997325606662,-0.997318595,-0.99731157417,-0.997304544173,-0.997297505009,-0.997290456679,-0.997283399181,-0.997276332517,-0.997269256685,-0.997262171688,-0.997255077523,-0.997247974192,-0.997240861694,-0.99723374003,-0.9972266092,-0.997219469204,-0.997212320041,-0.997205161712,-0.997197994217,-0.997190817555,-0.997183631728,-0.997176436735,-0.997169232576,-0.997162019252,-0.997154796762,-0.997147565106,-0.997140324284,-0.997133074297,-0.997125815145,-0.997118546827,-0.997111269344,-0.997103982696,-0.997096686882,-0.997089381903,-0.99708206776,-0.997074744451,-0.997067411978,-0.997060070339,-0.997052719536,-0.997045359569,-0.997037990436,-0.997030612139,-0.997023224678,-0.997015828052,-0.997008422262,-0.997001007307,-0.996993583189,-0.996986149906,-0.996978707459,-0.996971255848,-0.996963795073,-0.996956325134,-0.996948846031,-0.996941357765,-0.996933860335,-0.996926353741,-0.996918837984,-0.996911313064,-0.99690377898,-0.996896235732,-0.996888683322,-0.996881121748,-0.996873551011,-0.996865971111,-0.996858382048,-0.996850783822,-0.996843176434,-0.996835559882,-0.996827934168,-0.996820299291,-0.996812655252,-0.99680500205,-0.996797339686,-0.996789668159,-0.99678198747,-0.996774297619,-0.996766598606,-0.996758890431,-0.996751173094,-0.996743446594,-0.996735710933,-0.996727966111,-0.996720212126,-0.99671244898,-0.996704676672,-0.996696895203,-0.996689104572,-0.99668130478,-0.996673495827,-0.996665677712,-0.996657850437,-0.996650014,-0.996642168402,-0.996634313644,-0.996626449724,-0.996618576644,-0.996610694403,-0.996602803002,-0.99659490244,-0.996586992717,-0.996579073834,-0.996571145791,-0.996563208587,-0.996555262223,-0.996547306699,-0.996539342015,-0.996531368171,-0.996523385167,-0.996515393004,-0.99650739168,-0.996499381197,-0.996491361554,-0.996483332752,-0.99647529479,-0.996467247669,-0.996459191389,-0.996451125949,-0.99644305135,-0.996434967592,-0.996426874675,-0.996418772599,-0.996410661364,-0.996402540971,-0.996394411419,-0.996386272708,-0.996378124838,-0.99636996781,-0.996361801624,-0.996353626279,-0.996345441776,-0.996337248115,-0.996329045295,-0.996320833318,-0.996312612183,-0.99630438189,-0.996296142438,-0.99628789383,-0.996279636063,-0.996271369139,-0.996263093058,-0.996254807819,-0.996246513422,-0.996238209869,-0.996229897158,-0.99622157529,-0.996213244265,-0.996204904083,-0.996196554744,-0.996188196248,-0.996179828596,-0.996171451787,-0.996163065821,-0.996154670699,-0.99614626642,-0.996137852985,-0.996129430393,-0.996120998646,-0.996112557742,-0.996104107682,-0.996095648467,-0.996087180095,-0.996078702568,-0.996070215884,-0.996061720046,-0.996053215051,-0.996044700901,-0.996036177596,-0.996027645135,-0.996019103519,-0.996010552748,-0.996001992822,-0.99599342374,-0.995984845504,-0.995976258113,-0.995967661567,-0.995959055866,-0.995950441011,-0.995941817001,-0.995933183837,-0.995924541518,-0.995915890045,-0.995907229417,-0.995898559636,-0.9958898807,-0.995881192611,-0.995872495367,-0.99586378897,-0.995855073419,-0.995846348714,-0.995837614855,-0.995828871843,-0.995820119678,-0.995811358359,-0.995802587887,-0.995793808262,-0.995785019483,-0.995776221552,-0.995767414468,-0.99575859823,-0.99574977284,-0.995740938298,-0.995732094602,-0.995723241754,-0.995714379754,-0.995705508601,-0.995696628296,-0.995687738838,-0.995678840229,-0.995669932467,-0.995661015554,-0.995652089488,-0.995643154271,-0.995634209902,-0.995625256381,-0.995616293709,-0.995607321885,-0.99559834091,-0.995589350783,-0.995580351506,-0.995571343077,-0.995562325497,-0.995553298766,-0.995544262884,-0.995535217851,-0.995526163668,-0.995517100333,-0.995508027849,-0.995498946213,-0.995489855428,-0.995480755492,-0.995471646406,-0.995462528169,-0.995453400783,-0.995444264247,-0.99543511856,-0.995425963724,-0.995416799738,-0.995407626603,-0.995398444317,-0.995389252883,-0.995380052299,-0.995370842565,-0.995361623683,-0.995352395651,-0.99534315847,-0.99533391214,-0.995324656662,-0.995315392034,-0.995306118258,-0.995296835333,-0.99528754326,-0.995278242038,-0.995268931668,-0.995259612149,-0.995250283482,-0.995240945667,-0.995231598705,-0.995222242594,-0.995212877335,-0.995203502928,-0.995194119374,-0.995184726672,-0.995175324823,-0.995165913826,-0.995156493682,-0.99514706439,-0.995137625952,-0.995128178366,-0.995118721633,-0.995109255754,-0.995099780727,-0.995090296554,-0.995080803234,-0.995071300768,-0.995061789155,-0.995052268396,-0.99504273849,-0.995033199438,-0.99502365124,-0.995014093896,-0.995004527406,-0.99499495177,-0.994985366989,-0.994975773061,-0.994966169989,-0.99495655777,-0.994946936406,-0.994937305897,-0.994927666243,-0.994918017443,-0.994908359498,-0.994898692409,-0.994889016174,-0.994879330795,-0.994869636271,-0.994859932602,-0.994850219789,-0.994840497831,-0.994830766729,-0.994821026483,-0.994811277092,-0.994801518558,-0.994791750879,-0.994781974057,-0.99477218809,-0.99476239298,-0.994752588726,-0.994742775329,-0.994732952788,-0.994723121104,-0.994713280277,-0.994703430306,-0.994693571193,-0.994683702936,-0.994673825536,-0.994663938994,-0.994654043309,-0.994644138481,-0.994634224511,-0.994624301398,-0.994614369143,-0.994604427745,-0.994594477206,-0.994584517524,-0.9945745487,-0.994564570734,-0.994554583627,-0.994544587377,-0.994534581987,-0.994524567454,-0.99451454378,-0.994504510965,-0.994494469008,-0.994484417911,-0.994474357672,-0.994464288292,-0.994454209771,-0.99444412211,-0.994434025308,-0.994423919365,-0.994413804281,-0.994403680058,-0.994393546694,-0.994383404189,-0.994373252545,-0.99436309176,-0.994352921835,-0.994342742771,-0.994332554567,-0.994322357223,-0.994312150739,-0.994301935116,-0.994291710353,-0.994281476452,-0.994271233411,-0.99426098123,-0.994250719911,-0.994240449453,-0.994230169856,-0.994219881121,-0.994209583246,-0.994199276233,-0.994188960082,-0.994178634792,-0.994168300364,-0.994157956798,-0.994147604093,-0.994137242251,-0.994126871271,-0.994116491153,-0.994106101897,-0.994095703504,-0.994085295973,-0.994074879305,-0.994064453499,-0.994054018557,-0.994043574477,-0.99403312126,-0.994022658906,-0.994012187415,-0.994001706787,-0.993991217023,-0.993980718123,-0.993970210085,-0.993959692912,-0.993949166602,-0.993938631156,-0.993928086574,-0.993917532856,-0.993906970002,-0.993896398013,-0.993885816887,-0.993875226626,-0.99386462723,-0.993854018698,-0.993843401031,-0.993832774229,-0.993822138292,-0.993811493219,-0.993800839012,-0.99379017567,-0.993779503193,-0.993768821582,-0.993758130836,-0.993747430955,-0.993736721941,-0.993726003792,-0.993715276509,-0.993704540092,-0.993693794541,-0.993683039856,-0.993672276038,-0.993661503086,-0.993650721,-0.993639929781,-0.993629129429,-0.993618319943,-0.993607501325,-0.993596673573,-0.993585836688,-0.993574990671,-0.993564135521,-0.993553271238,-0.993542397822,-0.993531515275,-0.993520623595,-0.993509722782,-0.993498812838,-0.993487893761,-0.993476965553,-0.993466028213,-0.993455081741,-0.993444126137,-0.993433161402,-0.993422187535,-0.993411204537,-0.993400212408,-0.993389211148,-0.993378200757,-0.993367181235,-0.993356152582,-0.993345114798,-0.993334067884,-0.993323011839,-0.993311946664,-0.993300872358,-0.993289788922,-0.993278696356,-0.993267594661,-0.993256483835,-0.993245363879,-0.993234234794,-0.993223096579,-0.993211949235,-0.993200792761,-0.993189627158,-0.993178452426,-0.993167268564,-0.993156075574,-0.993144873455,-0.993133662207,-0.99312244183,-0.993111212325,-0.993099973692,-0.99308872593,-0.993077469039,-0.993066203021,-0.993054927875,-0.9930436436,-0.993032350198,-0.993021047668,-0.99300973601,-0.992998415225,-0.992987085312,-0.992975746273,-0.992964398105,-0.992953040811,-0.99294167439,-0.992930298842,-0.992918914167,-0.992907520365,-0.992896117437,-0.992884705382,-0.992873284201,-0.992861853893,-0.99285041446,-0.9928389659,-0.992827508215,-0.992816041403,-0.992804565466,-0.992793080403,-0.992781586215,-0.992770082901,-0.992758570462,-0.992747048897,-0.992735518208,-0.992723978393,-0.992712429454,-0.992700871389,-0.9926893042,-0.992677727887,-0.992666142449,-0.992654547887,-0.9926429442,-0.992631331389,-0.992619709454,-0.992608078395,-0.992596438213,-0.992584788906,-0.992573130476,-0.992561462923,-0.992549786246,-0.992538100446,-0.992526405522,-0.992514701476,-0.992502988306,-0.992491266014,-0.992479534599,-0.992467794061,-0.992456044401,-0.992444285618,-0.992432517713,-0.992420740685,-0.992408954536,-0.992397159264,-0.992385354871,-0.992373541356,-0.992361718719,-0.99234988696,-0.99233804608,-0.992326196079,-0.992314336957,-0.992302468713,-0.992290591348,-0.992278704863,-0.992266809256,-0.992254904529,-0.992242990681,-0.992231067713,-0.992219135625,-0.992207194416,-0.992195244087,-0.992183284638,-0.992171316069,-0.99215933838,-0.992147351571,-0.992135355643,-0.992123350596,-0.992111336428,-0.992099313142,-0.992087280737,-0.992075239212,-0.992063188569,-0.992051128806,-0.992039059925,-0.992026981926,-0.992014894808,-0.992002798571,-0.991990693216,-0.991978578744,-0.991966455153,-0.991954322444,-0.991942180617,-0.991930029672,-0.99191786961,-0.991905700431,-0.991893522134,-0.991881334719,-0.991869138188,-0.991856932539,-0.991844717774,-0.991832493892,-0.991820260893,-0.991808018777,-0.991795767545,-0.991783507197,-0.991771237732,-0.991758959152,-0.991746671455,-0.991734374642,-0.991722068713,-0.991709753669,-0.991697429509,-0.991685096234,-0.991672753843,-0.991660402337,-0.991648041716,-0.99163567198,-0.991623293129,-0.991610905163,-0.991598508083,-0.991586101888,-0.991573686579,-0.991561262155,-0.991548828617,-0.991536385965,-0.991523934199,-0.991511473319,-0.991499003325,-0.991486524218,-0.991474035997,-0.991461538662,-0.991449032215,-0.991436516654,-0.99142399198,-0.991411458193,-0.991398915294,-0.991386363281,-0.991373802156,-0.991361231919,-0.991348652569,-0.991336064107,-0.991323466532,-0.991310859846,-0.991298244048,-0.991285619138,-0.991272985116,-0.991260341983,-0.991247689738,-0.991235028382,-0.991222357915,-0.991209678336,-0.991196989647,-0.991184291847,-0.991171584936,-0.991158868914,-0.991146143782,-0.991133409539,-0.991120666186,-0.991107913723,-0.99109515215,-0.991082381467,-0.991069601674,-0.991056812772,-0.99104401476,-0.991031207638,-0.991018391407,-0.991005566067,-0.990992731618,-0.99097988806,-0.990967035392,-0.990954173617,-0.990941302732,-0.990928422739,-0.990915533638,-0.990902635428,-0.99088972811,-0.990876811684,-0.99086388615,-0.990850951508,-0.990838007759,-0.990825054902,-0.990812092938,-0.990799121866,-0.990786141687,-0.990773152401,-0.990760154008,-0.990747146508,-0.990734129902,-0.990721104188,-0.990708069369,-0.990695025443,-0.99068197241,-0.990668910272,-0.990655839027,-0.990642758677,-0.990629669221,-0.990616570659,-0.990603462992,-0.990590346219,-0.990577220341,-0.990564085358,-0.990550941269,-0.990537788076,-0.990524625778,-0.990511454375,-0.990498273868,-0.990485084256,-0.99047188554,-0.99045867772,-0.990445460796,-0.990432234768,-0.990418999635,-0.9904057554,-0.99039250206,-0.990379239617,-0.990365968071,-0.990352687421,-0.990339397669,-0.990326098813,-0.990312790855,-0.990299473793,-0.99028614763,-0.990272812363,-0.990259467994,-0.990246114523,-0.99023275195,-0.990219380275,-0.990205999498,-0.99019260962,-0.990179210639,-0.990165802557,-0.990152385374,-0.990138959089,-0.990125523704,-0.990112079217,-0.990098625629,-0.990085162941,-0.990071691152,-0.990058210262,-0.990044720272,-0.990031221182,-0.990017712992,-0.990004195701,-0.989990669311,-0.989977133821,-0.989963589231,-0.989950035542,-0.989936472753,-0.989922900865,-0.989909319878,-0.989895729791,-0.989882130606,-0.989868522322,-0.98985490494,-0.989841278459,-0.989827642879,-0.989813998202,-0.989800344426,-0.989786681552,-0.98977300958,-0.98975932851,-0.989745638343,-0.989731939078,-0.989718230716,-0.989704513256,-0.989690786699,-0.989677051046,-0.989663306295,-0.989649552448,-0.989635789504,-0.989622017463,-0.989608236326,-0.989594446093,-0.989580646764,-0.989566838338,-0.989553020817,-0.9895391942,-0.989525358487,-0.989511513679,-0.989497659776,-0.989483796777,-0.989469924683,-0.989456043494,-0.989442153211,-0.989428253832,-0.989414345359,-0.989400427791,-0.989386501129,-0.989372565373,-0.989358620523,-0.989344666579,-0.989330703541,-0.989316731409,-0.989302750183,-0.989288759865,-0.989274760452,-0.989260751947,-0.989246734349,-0.989232707657,-0.989218671873,-0.989204626996,-0.989190573027,-0.989176509965,-0.989162437811,-0.989148356564,-0.989134266226,-0.989120166796,-0.989106058273,-0.98909194066,-0.989077813955,-0.989063678158,-0.98904953327,-0.989035379291,-0.989021216221,-0.98900704406,-0.988992862808,-0.988978672466,-0.988964473033,-0.98895026451,-0.988936046897,-0.988921820194,-0.9889075844,-0.988893339517,-0.988879085544,-0.988864822482,-0.98885055033,-0.988836269089,-0.988821978758,-0.988807679339,-0.988793370831,-0.988779053234,-0.988764726548,-0.988750390774,-0.988736045911,-0.98872169196,-0.988707328921,-0.988692956794,-0.98867857558,-0.988664185277,-0.988649785887,-0.988635377409,-0.988620959844,-0.988606533192,-0.988592097453,-0.988577652627,-0.988563198714,-0.988548735715,-0.988534263629,-0.988519782456,-0.988505292198,-0.988490792853,-0.988476284422,-0.988461766905,-0.988447240303,-0.988432704615,-0.988418159841,-0.988403605982,-0.988389043038,-0.988374471009,-0.988359889895,-0.988345299697,-0.988330700413,-0.988316092045,-0.988301474593,-0.988286848056,-0.988272212435,-0.988257567731,-0.988242913942,-0.98822825107,-0.988213579114,-0.988198898075,-0.988184207952,-0.988169508746,-0.988154800457,-0.988140083086,-0.988125356631,-0.988110621094,-0.988095876474,-0.988081122772,-0.988066359988,-0.988051588122,-0.988036807173,-0.988022017143,-0.988007218031,-0.987992409838,-0.987977592563,-0.987962766207,-0.98794793077,-0.987933086252,-0.987918232653,-0.987903369973,-0.987888498213,-0.987873617372,-0.987858727451,-0.987843828449,-0.987828920368,-0.987814003206,-0.987799076965,-0.987784141645,-0.987769197244,-0.987754243765,-0.987739281206,-0.987724309568,-0.987709328851,-0.987694339055,-0.987679340181,-0.987664332228,-0.987649315197,-0.987634289087,-0.9876192539,-0.987604209634,-0.987589156291,-0.987574093869,-0.987559022371,-0.987543941794,-0.987528852141,-0.98751375341,-0.987498645603,-0.987483528718,-0.987468402757,-0.987453267719,-0.987438123605,-0.987422970414,-0.987407808147,-0.987392636804,-0.987377456385,-0.987362266891,-0.987347068321,-0.987331860675,-0.987316643954,-0.987301418158,-0.987286183287,-0.98727093934,-0.987255686319,-0.987240424224,-0.987225153054,-0.987209872809,-0.987194583491,-0.987179285098,-0.987163977631,-0.987148661091,-0.987133335477,-0.987118000789,-0.987102657028,-0.987087304193,-0.987071942286,-0.987056571306,-0.987041191253,-0.987025802127,-0.987010403928,-0.986994996658,-0.986979580315,-0.9869641549,-0.986948720413,-0.986933276854,-0.986917824223,-0.986902362521,-0.986886891748,-0.986871411903,-0.986855922987,-0.986840425,-0.986824917943,-0.986809401814,-0.986793876615,-0.986778342346,-0.986762799007,-0.986747246597,-0.986731685117,-0.986716114568,-0.986700534949,-0.98668494626,-0.986669348502,-0.986653741675,-0.986638125778,-0.986622500813,-0.986606866779,-0.986591223676,-0.986575571505,-0.986559910265,-0.986544239957,-0.986528560581,-0.986512872136,-0.986497174625,-0.986481468045,-0.986465752398,-0.986450027683,-0.986434293902,-0.986418551053,-0.986402799137,-0.986387038154,-0.986371268105,-0.986355488989,-0.986339700807,-0.986323903559,-0.986308097245,-0.986292281864,-0.986276457418,-0.986260623906,-0.986244781329,-0.986228929686,-0.986213068979,-0.986197199206,-0.986181320368,-0.986165432465,-0.986149535498,-0.986133629467,-0.986117714371,-0.98610179021,-0.986085856986,-0.986069914698,-0.986053963346,-0.986038002931,-0.986022033452,-0.98600605491,-0.985990067304,-0.985974070636,-0.985958064905,-0.985942050111,-0.985926026254,-0.985909993335,-0.985893951354,-0.985877900311,-0.985861840206,-0.985845771038,-0.98582969281,-0.985813605519,-0.985797509168,-0.985781403755,-0.985765289281,-0.985749165746,-0.98573303315,-0.985716891493,-0.985700740776,-0.985684580999,-0.985668412162,-0.985652234264,-0.985636047307,-0.985619851289,-0.985603646213,-0.985587432076,-0.985571208881,-0.985554976626,-0.985538735312,-0.98552248494,-0.985506225508,-0.985489957018,-0.98547367947,-0.985457392864,-0.985441097199,-0.985424792476,-0.985408478696,-0.985392155858,-0.985375823962,-0.985359483009,-0.985343132999,-0.985326773932,-0.985310405807,-0.985294028626,-0.985277642389,-0.985261247095,-0.985244842745,-0.985228429338,-0.985212006876,-0.985195575357,-0.985179134783,-0.985162685154,-0.985146226469,-0.985129758728,-0.985113281933,-0.985096796083,-0.985080301178,-0.985063797218,-0.985047284204,-0.985030762135,-0.985014231012,-0.984997690835,-0.984981141605,-0.98496458332,-0.984948015982,-0.984931439591,-0.984914854146,-0.984898259648,-0.984881656097,-0.984865043494,-0.984848421837,-0.984831791128,-0.984815151367,-0.984798502554,-0.984781844688,-0.984765177771,-0.984748501802,-0.984731816781,-0.984715122709,-0.984698419586,-0.984681707411,-0.984664986185,-0.984648255909,-0.984631516582,-0.984614768204,-0.984598010776,-0.984581244298,-0.98456446877,-0.984547684192,-0.984530890564,-0.984514087886,-0.984497276159,-0.984480455383,-0.984463625558,-0.984446786684,-0.98442993876,-0.984413081789,-0.984396215768,-0.984379340699,-0.984362456583,-0.984345563418,-0.984328661205,-0.984311749944,-0.984294829636,-0.98427790028,-0.984260961878,-0.984244014428,-0.984227057931,-0.984210092387,-0.984193117797,-0.98417613416,-0.984159141476,-0.984142139747,-0.984125128972,-0.98410810915,-0.984091080283,-0.984074042371,-0.984056995413,-0.98403993941,-0.984022874361,-0.984005800268,-0.98398871713,-0.983971624948,-0.983954523721,-0.983937413449,-0.983920294134,-0.983903165774,-0.983886028371,-0.983868881924,-0.983851726434,-0.9838345619,-0.983817388323,-0.983800205703,-0.98378301404,-0.983765813334,-0.983748603586,-0.983731384795,-0.983714156962,-0.983696920087,-0.98367967417,-0.983662419212,-0.983645155211,-0.98362788217,-0.983610600087,-0.983593308962,-0.983576008797,-0.983558699591,-0.983541381345,-0.983524054058,-0.98350671773,-0.983489372362,-0.983472017955,-0.983454654507,-0.98343728202,-0.983419900493,-0.983402509927,-0.983385110322,-0.983367701677,-0.983350283994,-0.983332857272,-0.983315421511,-0.983297976712,-0.983280522874,-0.983263059999,-0.983245588085,-0.983228107134,-0.983210617145,-0.983193118119,-0.983175610055,-0.983158092955,-0.983140566817,-0.983123031642,-0.983105487431,-0.983087934184,-0.983070371899,-0.983052800579,-0.983035220223,-0.983017630831,-0.983000032403,-0.98298242494,-0.982964808441,-0.982947182908,-0.982929548339,-0.982911904735,-0.982894252096,-0.982876590423,-0.982858919716,-0.982841239974,-0.982823551199,-0.982805853389,-0.982788146546,-0.982770430669,-0.982752705758,-0.982734971815,-0.982717228838,-0.982699476829,-0.982681715786,-0.982663945711,-0.982646166604,-0.982628378464,-0.982610581292,-0.982592775089,-0.982574959853,-0.982557135586,-0.982539302287,-0.982521459958,-0.982503608597,-0.982485748205,-0.982467878782,-0.982450000328,-0.982432112845,-0.98241421633,-0.982396310786,-0.982378396212,-0.982360472608,-0.982342539974,-0.982324598311,-0.982306647618,-0.982288687896,-0.982270719146,-0.982252741366,-0.982234754558,-0.982216758721,-0.982198753856,-0.982180739963,-0.982162717042,-0.982144685093,-0.982126644117,-0.982108594113,-0.982090535081,-0.982072467022,-0.982054389937,-0.982036303824,-0.982018208685,-0.98200010452,-0.981981991328,-0.98196386911,-0.981945737865,-0.981927597595,-0.9819094483,-0.981891289979,-0.981873122632,-0.981854946261,-0.981836760864,-0.981818566443,-0.981800362996,-0.981782150526,-0.981763929031,-0.981745698512,-0.981727458969,-0.981709210402,-0.981690952811,-0.981672686197,-0.98165441056,-0.981636125899,-0.981617832215,-0.981599529509,-0.98158121778,-0.981562897028,-0.981544567255,-0.981526228459,-0.981507880641,-0.981489523801,-0.98147115794,-0.981452783057,-0.981434399152,-0.981416006227,-0.981397604281,-0.981379193314,-0.981360773326,-0.981342344318,-0.981323906289,-0.981305459241,-0.981287003172,-0.981268538084,-0.981250063976,-0.981231580849,-0.981213088702,-0.981194587536,-0.981176077352,-0.981157558148,-0.981139029926,-0.981120492686,-0.981101946427,-0.98108339115,-0.981064826856,-0.981046253543,-0.981027671213,-0.981009079866,-0.980990479502,-0.98097187012,-0.980953251721,-0.980934624306,-0.980915987874,-0.980897342426,-0.980878687962,-0.980860024482,-0.980841351985,-0.980822670473,-0.980803979946,-0.980785280403,-0.980766571845,-0.980747854272,-0.980729127685,-0.980710392082,-0.980691647465,-0.980672893834,-0.980654131189,-0.98063535953,-0.980616578857,-0.98059778917,-0.98057899047,-0.980560182756,-0.98054136603,-0.98052254029,-0.980503705538,-0.980484861773,-0.980466008996,-0.980447147207,-0.980428276405,-0.980409396592,-0.980390507767,-0.98037160993,-0.980352703082,-0.980333787223,-0.980314862353,-0.980295928472,-0.98027698558,-0.980258033678,-0.980239072766,-0.980220102843,-0.980201123911,-0.980182135968,-0.980163139016,-0.980144133055,-0.980125118084,-0.980106094104,-0.980087061115,-0.980068019118,-0.980048968112,-0.980029908097,-0.980010839074,-0.979991761043,-0.979972674005,-0.979953577958,-0.979934472905,-0.979915358843,-0.979896235775,-0.9798771037,-0.979857962617,-0.979838812528,-0.979819653433,-0.979800485331,-0.979781308224,-0.97976212211,-0.979742926991,-0.979723722866,-0.979704509735,-0.979685287599,-0.979666056459,-0.979646816313,-0.979627567163,-0.979608309008,-0.979589041849,-0.979569765685,-0.979550480518,-0.979531186347,-0.979511883172,-0.979492570994,-0.979473249812,-0.979453919628,-0.97943458044,-0.97941523225,-0.979395875057,-0.979376508861,-0.979357133664,-0.979337749464,-0.979318356263,-0.97929895406,-0.979279542855,-0.979260122649,-0.979240693442,-0.979221255234,-0.979201808025,-0.979182351816,-0.979162886606,-0.979143412395,-0.979123929185,-0.979104436975,-0.979084935765,-0.979065425556,-0.979045906347,-0.979026378139,-0.979006840932,-0.978987294726,-0.978967739522,-0.978948175319,-0.978928602118,-0.978909019919,-0.978889428721,-0.978869828527,-0.978850219334,-0.978830601144,-0.978810973957,-0.978791337773,-0.978771692592,-0.978752038415,-0.978732375241,-0.97871270307,-0.978693021904,-0.978673331741,-0.978653632583,-0.978633924429,-0.97861420728,-0.978594481136,-0.978574745997,-0.978555001862,-0.978535248733,-0.97851548661,-0.978495715492,-0.978475935381,-0.978456146275,-0.978436348175,-0.978416541082,-0.978396724996,-0.978376899916,-0.978357065843,-0.978337222778,-0.97831737072,-0.978297509669,-0.978277639626,-0.978257760591,-0.978237872564,-0.978217975545,-0.978198069534,-0.978178154533,-0.97815823054,-0.978138297556,-0.978118355581,-0.978098404615,-0.978078444659,-0.978058475713,-0.978038497777,-0.978018510851,-0.977998514935,-0.977978510029,-0.977958496134,-0.97793847325,-0.977918441377,-0.977898400515,-0.977878350664,-0.977858291825,-0.977838223998,-0.977818147183,-0.977798061379,-0.977777966588,-0.97775786281,-0.977737750044,-0.977717628291,-0.977697497551,-0.977677357825,-0.977657209111,-0.977637051411,-0.977616884725,-0.977596709053,-0.977576524396,-0.977556330752,-0.977536128123,-0.977515916509,-0.977495695909,-0.977475466325,-0.977455227756,-0.977434980202,-0.977414723664,-0.977394458142,-0.977374183635,-0.977353900145,-0.977333607671,-0.977313306214,-0.977292995774,-0.977272676351,-0.977252347944,-0.977232010555,-0.977211664184,-0.97719130883,-0.977170944494,-0.977150571176,-0.977130188876,-0.977109797595,-0.977089397332,-0.977068988088,-0.977048569863,-0.977028142658,-0.977007706471,-0.976987261305,-0.976966807158,-0.976946344031,-0.976925871924,-0.976905390837,-0.976884900771,-0.976864401725,-0.976843893701,-0.976823376697,-0.976802850715,-0.976782315754,-0.976761771815,-0.976741218897,-0.976720657002,-0.976700086129,-0.976679506278,-0.97665891745,-0.976638319644,-0.976617712862,-0.976597097102,-0.976576472366,-0.976555838653,-0.976535195965,-0.9765145443,-0.976493883659,-0.976473214042,-0.97645253545,-0.976431847883,-0.97641115134,-0.976390445822,-0.97636973133,-0.976349007863,-0.976328275422,-0.976307534006,-0.976286783617,-0.976266024253,-0.976245255916,-0.976224478606,-0.976203692322,-0.976182897066,-0.976162092836,-0.976141279634,-0.976120457459,-0.976099626312,-0.976078786193,-0.976057937102,-0.976037079039,-0.976016212005,-0.975995335999,-0.975974451022,-0.975953557075,-0.975932654156,-0.975911742267,-0.975890821408,-0.975869891578,-0.975848952779,-0.975828005009,-0.975807048271,-0.975786082562,-0.975765107885,-0.975744124238,-0.975723131623,-0.975702130039,-0.975681119486,-0.975660099965,-0.975639071476,-0.97561803402,-0.975596987595,-0.975575932204,-0.975554867844,-0.975533794518,-0.975512712225,-0.975491620965,-0.975470520739,-0.975449411546,-0.975428293388,-0.975407166263,-0.975386030173,-0.975364885117,-0.975343731095,-0.975322568109,-0.975301396158,-0.975280215241,-0.975259025361,-0.975237826516,-0.975216618706,-0.975195401933,-0.975174176196,-0.975152941495,-0.975131697831,-0.975110445204,-0.975089183614,-0.975067913061,-0.975046633545,-0.975025345067,-0.975004047627,-0.974982741224,-0.97496142586,-0.974940101534,-0.974918768247,-0.974897425999,-0.974876074789,-0.974854714619,-0.974833345488,-0.974811967396,-0.974790580344,-0.974769184333,-0.974747779361,-0.974726365429,-0.974704942539,-0.974683510689,-0.974662069879,-0.974640620111,-0.974619161384,-0.974597693699,-0.974576217056,-0.974554731454,-0.974533236894,-0.974511733377,-0.974490220902,-0.97446869947,-0.974447169081,-0.974425629735,-0.974404081432,-0.974382524173,-0.974360957957,-0.974339382786,-0.974317798658,-0.974296205575,-0.974274603536,-0.974252992541,-0.974231372592,-0.974209743688,-0.974188105829,-0.974166459015,-0.974144803247,-0.974123138525,-0.97410146485,-0.97407978222,-0.974058090637,-0.9740363901,-0.974014680611,-0.973992962168,-0.973971234773,-0.973949498425,-0.973927753125,-0.973905998872,-0.973884235668,-0.973862463512,-0.973840682405,-0.973818892346,-0.973797093336,-0.973775285375,-0.973753468463,-0.973731642601,-0.973709807788,-0.973687964026,-0.973666111313,-0.973644249651,-0.973622379039,-0.973600499478,-0.973578610967,-0.973556713508,-0.9735348071,-0.973512891744,-0.973490967439,-0.973469034186,-0.973447091985,-0.973425140837,-0.973403180741,-0.973381211697,-0.973359233707,-0.973337246769,-0.973315250885,-0.973293246055,-0.973271232278,-0.973249209555,-0.973227177886,-0.973205137271,-0.973183087711,-0.973161029206,-0.973138961755,-0.97311688536,-0.97309480002,-0.973072705735,-0.973050602507,-0.973028490334,-0.973006369217,-0.972984239157,-0.972962100153,-0.972939952206,-0.972917795315,-0.972895629482,-0.972873454707,-0.972851270989,-0.972829078328,-0.972806876726,-0.972784666182,-0.972762446696,-0.972740218268,-0.9727179809,-0.97269573459,-0.97267347934,-0.972651215149,-0.972628942018,-0.972606659946,-0.972584368935,-0.972562068983,-0.972539760093,-0.972517442262,-0.972495115493,-0.972472779784,-0.972450435137,-0.972428081552,-0.972405719027,-0.972383347565,-0.972360967165,-0.972338577827,-0.972316179552,-0.972293772339,-0.972271356189,-0.972248931102,-0.972226497079,-0.972204054119,-0.972181602223,-0.97215914139,-0.972136671622,-0.972114192918,-0.972091705279,-0.972069208704,-0.972046703195,-0.97202418875,-0.972001665371,-0.971979133057,-0.97195659181,-0.971934041628,-0.971911482512,-0.971888914463,-0.97186633748,-0.971843751564,-0.971821156716,-0.971798552934,-0.97177594022,-0.971753318574,-0.971730687995,-0.971708048484,-0.971685400042,-0.971662742668,-0.971640076363,-0.971617401127,-0.97159471696,-0.971572023862,-0.971549321833,-0.971526610875,-0.971503890986,-0.971481162168,-0.97145842442,-0.971435677742,-0.971412922135,-0.971390157599,-0.971367384135,-0.971344601741,-0.97132181042,-0.97129901017,-0.971276200992,-0.971253382887,-0.971230555853,-0.971207719893,-0.971184875005,-0.971162021191,-0.97113915845,-0.971116286782,-0.971093406188,-0.971070516668,-0.971047618222,-0.97102471085,-0.971001794553,-0.970978869331,-0.970955935184,-0.970932992111,-0.970910040115,-0.970887079193,-0.970864109348,-0.970841130579,-0.970818142886,-0.970795146269,-0.970772140729,-0.970749126266,-0.97072610288,-0.970703070571,-0.97068002934,-0.970656979186,-0.970633920111,-0.970610852113,-0.970587775194,-0.970564689354,-0.970541594592,-0.970518490909,-0.970495378306,-0.970472256781,-0.970449126337,-0.970425986972,-0.970402838688,-0.970379681483,-0.970356515359,-0.970333340316,-0.970310156354,-0.970286963473,-0.970263761673,-0.970240550955,-0.970217331318,-0.970194102763,-0.970170865291,-0.970147618901,-0.970124363594,-0.970101099369,-0.970077826228,-0.970054544169,-0.970031253195,-0.970007953303,-0.969984644496,-0.969961326773,-0.969938000134,-0.96991466458,-0.969891320111,-0.969867966726,-0.969844604427,-0.969821233213,-0.969797853084,-0.969774464042,-0.969751066085,-0.969727659215,-0.969704243431,-0.969680818734,-0.969657385124,-0.969633942601,-0.969610491166,-0.969587030817,-0.969563561557,-0.969540083385,-0.9695165963,-0.969493100305,-0.969469595397,-0.969446081579,-0.96942255885,-0.96939902721,-0.969375486659,-0.969351937199,-0.969328378828,-0.969304811547,-0.969281235357,-0.969257650257,-0.969234056248,-0.96921045333,-0.969186841503,-0.969163220768,-0.969139591124,-0.969115952572,-0.969092305113,-0.969068648745,-0.96904498347,-0.969021309288,-0.968997626199,-0.968973934203,-0.9689502333,-0.968926523492,-0.968902804776,-0.968879077155,-0.968855340629,-0.968831595196,-0.968807840859,-0.968784077616,-0.968760305469,-0.968736524416,-0.96871273446,-0.968688935599,-0.968665127834,-0.968641311166,-0.968617485594,-0.968593651118,-0.96856980774,-0.968545955458,-0.968522094274,-0.968498224188,-0.968474345199,-0.968450457308,-0.968426560516,-0.968402654822,-0.968378740226,-0.96835481673,-0.968330884332,-0.968306943034,-0.968282992836,-0.968259033737,-0.968235065738,-0.968211088839,-0.968187103041,-0.968163108343,-0.968139104746,-0.968115092251,-0.968091070856,-0.968067040563,-0.968043001372,-0.968018953283,-0.967994896296,-0.967970830411,-0.967946755629,-0.96792267195,-0.967898579374,-0.967874477901,-0.967850367531,-0.967826248266,-0.967802120104,-0.967777983047,-0.967753837093,-0.967729682245,-0.967705518501,-0.967681345863,-0.967657164329,-0.967632973902,-0.967608774579,-0.967584566363,-0.967560349253,-0.96753612325,-0.967511888353,-0.967487644563,-0.96746339188,-0.967439130304,-0.967414859835,-0.967390580475,-0.967366292222,-0.967341995078,-0.967317689042,-0.967293374114,-0.967269050296,-0.967244717586,-0.967220375986,-0.967196025496,-0.967171666115,-0.967147297844,-0.967122920683,-0.967098534633,-0.967074139693,-0.967049735864,-0.967025323146,-0.96700090154,-0.966976471045,-0.966952031662,-0.966927583391,-0.966903126232,-0.966878660185,-0.966854185251,-0.96682970143,-0.966805208722,-0.966780707128,-0.966756196647,-0.966731677279,-0.966707149026,-0.966682611887,-0.966658065863,-0.966633510953,-0.966608947158,-0.966584374478,-0.966559792914,-0.966535202465,-0.966510603132,-0.966485994915,-0.966461377814,-0.96643675183,-0.966412116963,-0.966387473212,-0.966362820579,-0.966338159063,-0.966313488665,-0.966288809384,-0.966264121222,-0.966239424178,-0.966214718252,-0.966190003445,-0.966165279758,-0.966140547189,-0.96611580574,-0.96609105541,-0.966066296201,-0.966041528111,-0.966016751142,-0.965991965294,-0.965967170566,-0.965942366959,-0.965917554474,-0.96589273311,-0.965867902868,-0.965843063748,-0.96581821575,-0.965793358874,-0.965768493121,-0.965743618491,-0.965718734984,-0.9656938426,-0.96566894134,-0.965644031204,-0.965619112191,-0.965594184303,-0.965569247539,-0.9655443019,-0.965519347386,-0.965494383997,-0.965469411734,-0.965444430596,-0.965419440584,-0.965394441698,-0.965369433938,-0.965344417305,-0.965319391798,-0.965294357419,-0.965269314167,-0.965244262042,-0.965219201045,-0.965194131176,-0.965169052435,-0.965143964822,-0.965118868338,-0.965093762983,-0.965068648757,-0.96504352566,-0.965018393692,-0.964993252855,-0.964968103147,-0.96494294457,-0.964917777123,-0.964892600807,-0.964867415622,-0.964842221567,-0.964817018645,-0.964791806853,-0.964766586194,-0.964741356667,-0.964716118272,-0.964690871009,-0.96466561488,-0.964640349883,-0.96461507602,-0.96458979329,-0.964564501694,-0.964539201231,-0.964513891903,-0.964488573709,-0.96446324665,-0.964437910726,-0.964412565937,-0.964387212283,-0.964361849765,-0.964336478382,-0.964311098136,-0.964285709025,-0.964260311052,-0.964234904215,-0.964209488515,-0.964184063952,-0.964158630526,-0.964133188239,-0.964107737089,-0.964082277077,-0.964056808204,-0.964031330469,-0.964005843873,-0.963980348416,-0.963954844098,-0.96392933092,-0.963903808882,-0.963878277984,-0.963852738226,-0.963827189608,-0.963801632131,-0.963776065795,-0.963750490601,-0.963724906547,-0.963699313636,-0.963673711866,-0.963648101238,-0.963622481753,-0.96359685341,-0.96357121621,-0.963545570153,-0.96351991524,-0.96349425147,-0.963468578844,-0.963442897361,-0.963417207023,-0.96339150783,-0.963365799781,-0.963340082877,-0.963314357118,-0.963288622505,-0.963262879038,-0.963237126716,-0.96321136554,-0.963185595511,-0.963159816628,-0.963134028893,-0.963108232304,-0.963082426863,-0.963056612569,-0.963030789423,-0.963004957425,-0.962979116575,-0.962953266874,-0.962927408321,-0.962901540918,-0.962875664663,-0.962849779559,-0.962823885603,-0.962797982798,-0.962772071143,-0.962746150638,-0.962720221284,-0.962694283081,-0.962668336029,-0.962642380129,-0.96261641538,-0.962590441782,-0.962564459337,-0.962538468044,-0.962512467904,-0.962486458917,-0.962460441082,-0.962434414401,-0.962408378873,-0.962382334499,-0.962356281279,-0.962330219214,-0.962304148302,-0.962278068546,-0.962251979944,-0.962225882498,-0.962199776207,-0.962173661072,-0.962147537092,-0.962121404269,-0.962095262602,-0.962069112092,-0.962042952739,-0.962016784542,-0.961990607503,-0.961964421622,-0.961938226899,-0.961912023333,-0.961885810926,-0.961859589677,-0.961833359588,-0.961807120657,-0.961780872885,-0.961754616274,-0.961728350821,-0.961702076529,-0.961675793397,-0.961649501426,-0.961623200615,-0.961596890965,-0.961570572477,-0.96154424515,-0.961517908984,-0.961491563981,-0.961465210139,-0.96143884746,-0.961412475944,-0.961386095591,-0.961359706401,-0.961333308374,-0.961306901511,-0.961280485811,-0.961254061276,-0.961227627905,-0.961201185699,-0.961174734658,-0.961148274781,-0.96112180607,-0.961095328525,-0.961068842146,-0.961042346932,-0.961015842885,-0.960989330004,-0.96096280829,-0.960936277743,-0.960909738364,-0.960883190152,-0.960856633108,-0.960830067231,-0.960803492523,-0.960776908984,-0.960750316613,-0.960723715411,-0.960697105379,-0.960670486516,-0.960643858823,-0.960617222299,-0.960590576946,-0.960563922763,-0.960537259752,-0.96051058791,-0.960483907241,-0.960457217742,-0.960430519416,-0.960403812261,-0.960377096278,-0.960350371468,-0.96032363783,-0.960296895366,-0.960270144074,-0.960243383956,-0.960216615012,-0.960189837241,-0.960163050645,-0.960136255223,-0.960109450976,-0.960082637903,-0.960055816006,-0.960028985284,-0.960002145738,-0.959975297367,-0.959948440173,-0.959921574155,-0.959894699313,-0.959867815649,-0.959840923161,-0.959814021851,-0.959787111719,-0.959760192764,-0.959733264988,-0.959706328389,-0.95967938297,-0.959652428729,-0.959625465667,-0.959598493785,-0.959571513082,-0.959544523559,-0.959517525216,-0.959490518053,-0.959463502071,-0.95943647727,-0.95940944365,-0.959382401211,-0.959355349954,-0.959328289878,-0.959301220985,-0.959274143274,-0.959247056745,-0.9592199614,-0.959192857237,-0.959165744258,-0.959138622462,-0.95911149185,-0.959084352422,-0.959057204178,-0.959030047119,-0.959002881245,-0.958975706556,-0.958948523052,-0.958921330733,-0.958894129601,-0.958866919654,-0.958839700894,-0.95881247332,-0.958785236933,-0.958757991733,-0.958730737721,-0.958703474896,-0.958676203259,-0.95864892281,-0.958621633549,-0.958594335476,-0.958567028593,-0.958539712899,-0.958512388394,-0.958485055078,-0.958457712952,-0.958430362017,-0.958403002271,-0.958375633716,-0.958348256352,-0.95832087018,-0.958293475198,-0.958266071408,-0.95823865881,-0.958211237404,-0.95818380719,-0.958156368169,-0.95812892034,-0.958101463705,-0.958073998263,-0.958046524015,-0.95801904096,-0.9579915491,-0.957964048434,-0.957936538962,-0.957909020686,-0.957881493604,-0.957853957718,-0.957826413028,-0.957798859533,-0.957771297234,-0.957743726132,-0.957716146227,-0.957688557518,-0.957660960006,-0.957633353692,-0.957605738576,-0.957578114657,-0.957550481937,-0.957522840414,-0.957495190091,-0.957467530967,-0.957439863041,-0.957412186315,-0.957384500789,-0.957356806463,-0.957329103336,-0.957301391411,-0.957273670686,-0.957245941162,-0.957218202839,-0.957190455717,-0.957162699798,-0.95713493508,-0.957107161564,-0.957079379251,-0.957051588141,-0.957023788234,-0.95699597953,-0.956968162029,-0.956940335732,-0.956912500639,-0.956884656751,-0.956856804067,-0.956828942588,-0.956801072313,-0.956773193244,-0.956745305381,-0.956717408723,-0.956689503272,-0.956661589027,-0.956633665988,-0.956605734156,-0.956577793531,-0.956549844114,-0.956521885904,-0.956493918902,-0.956465943109,-0.956437958523,-0.956409965146,-0.956381962978,-0.95635395202,-0.95632593227,-0.95629790373,-0.956269866401,-0.956241820281,-0.956213765372,-0.956185701673,-0.956157629186,-0.956129547909,-0.956101457844,-0.956073358991,-0.95604525135,-0.956017134921,-0.955989009705,-0.955960875701,-0.95593273291,-0.955904581333,-0.955876420969,-0.955848251819,-0.955820073883,-0.955791887161,-0.955763691654,-0.955735487361,-0.955707274284,-0.955679052422,-0.955650821776,-0.955622582345,-0.955594334131,-0.955566077133,-0.955537811351,-0.955509536787,-0.95548125344,-0.95545296131,-0.955424660398,-0.955396350703,-0.955368032227,-0.95533970497,-0.955311368931,-0.955283024111,-0.955254670511,-0.955226308129,-0.955197936968,-0.955169557027,-0.955141168306,-0.955112770805,-0.955084364526,-0.955055949467,-0.95502752563,-0.954999093014,-0.95497065162,-0.954942201448,-0.954913742499,-0.954885274772,-0.954856798269,-0.954828312988,-0.954799818931,-0.954771316097,-0.954742804488,-0.954714284102,-0.954685754941,-0.954657217005,-0.954628670294,-0.954600114808,-0.954571550548,-0.954542977513,-0.954514395704,-0.954485805122,-0.954457205767,-0.954428597638,-0.954399980736,-0.954371355061,-0.954342720615,-0.954314077396,-0.954285425405,-0.954256764643,-0.954228095109,-0.954199416804,-0.954170729729,-0.954142033883,-0.954113329267,-0.95408461588,-0.954055893724,-0.954027162799,-0.953998423104,-0.95396967464,-0.953940917408,-0.953912151407,-0.953883376638,-0.953854593101,-0.953825800797,-0.953796999725,-0.953768189886,-0.95373937128,-0.953710543908,-0.953681707769,-0.953652862865,-0.953624009194,-0.953595146758,-0.953566275557,-0.953537395591,-0.95350850686,-0.953479609365,-0.953450703105,-0.953421788082,-0.953392864295,-0.953363931744,-0.953334990431,-0.953306040354,-0.953277081515,-0.953248113914,-0.95321913755,-0.953190152425,-0.953161158539,-0.953132155891,-0.953103144482,-0.953074124312,-0.953045095382,-0.953016057692,-0.952987011242,-0.952957956032,-0.952928892063,-0.952899819334,-0.952870737847,-0.952841647601,-0.952812548597,-0.952783440835,-0.952754324315,-0.952725199038,-0.952696065003,-0.952666922211,-0.952637770663,-0.952608610358,-0.952579441297,-0.95255026348,-0.952521076908,-0.95249188158,-0.952462677497,-0.952433464659,-0.952404243066,-0.95237501272,-0.952345773619,-0.952316525765,-0.952287269157,-0.952258003795,-0.952228729681,-0.952199446814,-0.952170155195,-0.952140854824,-0.952111545701,-0.952082227826,-0.9520529012,-0.952023565822,-0.951994221694,-0.951964868816,-0.951935507187,-0.951906136808,-0.951876757679,-0.951847369801,-0.951817973174,-0.951788567798,-0.951759153673,-0.9517297308,-0.951700299179,-0.95167085881,-0.951641409694,-0.95161195183,-0.951582485219,-0.951553009861,-0.951523525757,-0.951494032907,-0.951464531311,-0.951435020969,-0.951405501882,-0.951375974049,-0.951346437472,-0.95131689215,-0.951287338084,-0.951257775274,-0.95122820372,-0.951198623423,-0.951169034383,-0.951139436599,-0.951109830073,-0.951080214804,-0.951050590794,-0.951020958041,-0.950991316547,-0.950961666312,-0.950932007335,-0.950902339618,-0.95087266316,-0.950842977962,-0.950813284024,-0.950783581347,-0.95075386993,-0.950724149774,-0.950694420879,-0.950664683245,-0.950634936874,-0.950605181764,-0.950575417916,-0.950545645331,-0.950515864009,-0.950486073949,-0.950456275154,-0.950426467621,-0.950396651353,-0.950366826349,-0.950336992609,-0.950307150134,-0.950277298924,-0.950247438979,-0.950217570299,-0.950187692886,-0.950157806738,-0.950127911857,-0.950098008243,-0.950068095895,-0.950038174815,-0.950008245002,-0.949978306457,-0.949948359179,-0.94991840317,-0.94988843843,-0.949858464959,-0.949828482756,-0.949798491823,-0.94976849216,-0.949738483766,-0.949708466643,-0.94967844079,-0.949648406208,-0.949618362897,-0.949588310857,-0.949558250089,-0.949528180593,-0.949498102369,-0.949468015417,-0.949437919738,-0.949407815332,-0.9493777022,-0.94934758034,-0.949317449755,-0.949287310444,-0.949257162406,-0.949227005644,-0.949196840157,-0.949166665944,-0.949136483008,-0.949106291347,-0.949076090961,-0.949045881853,-0.949015664021,-0.948985437465,-0.948955202187,-0.948924958186,-0.948894705463,-0.948864444018,-0.948834173851,-0.948803894963,-0.948773607353,-0.948743311023,-0.948713005971,-0.9486826922,-0.948652369708,-0.948622038497,-0.948591698566,-0.948561349916,-0.948530992547,-0.948500626459,-0.948470251652,-0.948439868128,-0.948409475886,-0.948379074926,-0.948348665249,-0.948318246855,-0.948287819744,-0.948257383916,-0.948226939373,-0.948196486113,-0.948166024138,-0.948135553448,-0.948105074043,-0.948074585922,-0.948044089088,-0.948013583539,-0.947983069276,-0.947952546299,-0.947922014609,-0.947891474206,-0.94786092509,-0.947830367262,-0.947799800721,-0.947769225469,-0.947738641505,-0.947708048829,-0.947677447442,-0.947646837344,-0.947616218536,-0.947585591018,-0.947554954789,-0.947524309851,-0.947493656203,-0.947462993846,-0.947432322781,-0.947401643006,-0.947370954524,-0.947340257333,-0.947309551435,-0.947278836829,-0.947248113516,-0.947217381496,-0.947186640769,-0.947155891336,-0.947125133198,-0.947094366353,-0.947063590803,-0.947032806547,-0.947002013587,-0.946971211922,-0.946940401552,-0.946909582479,-0.946878754702,-0.946847918221,-0.946817073037,-0.94678621915,-0.946755356561,-0.946724485269,-0.946693605275,-0.946662716579,-0.946631819182,-0.946600913083,-0.946569998284,-0.946539074784,-0.946508142583,-0.946477201682,-0.946446252082,-0.946415293782,-0.946384326783,-0.946353351084,-0.946322366688,-0.946291373592,-0.946260371799,-0.946229361308,-0.946198342119,-0.946167314233,-0.94613627765,-0.94610523237,-0.946074178394,-0.946043115722,-0.946012044354,-0.945980964291,-0.945949875532,-0.945918778078,-0.94588767193,-0.945856557087,-0.94582543355,-0.945794301319,-0.945763160395,-0.945732010777,-0.945700852467,-0.945669685464,-0.945638509768,-0.945607325381,-0.945576132301,-0.94554493053,-0.945513720068,-0.945482500914,-0.945451273071,-0.945420036536,-0.945388791312,-0.945357537398,-0.945326274794,-0.945295003501,-0.945263723519,-0.945232434848,-0.945201137489,-0.945169831442,-0.945138516708,-0.945107193285,-0.945075861176,-0.945044520379,-0.945013170896,-0.944981812727,-0.944950445871,-0.94491907033,-0.944887686103,-0.944856293191,-0.944824891594,-0.944793481312,-0.944762062346,-0.944730634696,-0.944699198362,-0.944667753345,-0.944636299645,-0.944604837261,-0.944573366196,-0.944541886447,-0.944510398017,-0.944478900905,-0.944447395112,-0.944415880637,-0.944384357482,-0.944352825646,-0.944321285129,-0.944289735933,-0.944258178057,-0.944226611501,-0.944195036267,-0.944163452353,-0.944131859761,-0.944100258491,-0.944068648543,-0.944037029917,-0.944005402614,-0.943973766634,-0.943942121976,-0.943910468643,-0.943878806633,-0.943847135947,-0.943815456586,-0.943783768549,-0.943752071837,-0.94372036645,-0.943688652389,-0.943656929654,-0.943625198245,-0.943593458162,-0.943561709406,-0.943529951977,-0.943498185875,-0.943466411101,-0.943434627654,-0.943402835536,-0.943371034746,-0.943339225285,-0.943307407153,-0.94327558035,-0.943243744877,-0.943211900734,-0.943180047921,-0.943148186438,-0.943116316287,-0.943084437466,-0.943052549977,-0.943020653819,-0.942988748994,-0.9429568355,-0.942924913339,-0.942892982511,-0.942861043016,-0.942829094855,-0.942797138027,-0.942765172533,-0.942733198374,-0.942701215549,-0.942669224059,-0.942637223904,-0.942605215085,-0.942573197601,-0.942541171454,-0.942509136643,-0.942477093168,-0.942445041031,-0.942412980231,-0.942380910768,-0.942348832643,-0.942316745857,-0.942284650408,-0.942252546299,-0.942220433528,-0.942188312097,-0.942156182005,-0.942124043254,-0.942091895842,-0.942059739771,-0.942027575041,-0.941995401652,-0.941963219604,-0.941931028898,-0.941898829534,-0.941866621512,-0.941834404832,-0.941802179496,-0.941769945503,-0.941737702853,-0.941705451547,-0.941673191585,-0.941640922967,-0.941608645694,-0.941576359766,-0.941544065183,-0.941511761946,-0.941479450054,-0.941447129509,-0.94141480031,-0.941382462457,-0.941350115952,-0.941317760794,-0.941285396984,-0.941253024521,-0.941220643407,-0.941188253642,-0.941155855225,-0.941123448157,-0.941091032438,-0.94105860807,-0.941026175051,-0.940993733382,-0.940961283065,-0.940928824098,-0.940896356482,-0.940863880217,-0.940831395305,-0.940798901744,-0.940766399536,-0.940733888681,-0.940701369179,-0.940668841029,-0.940636304234,-0.940603758792,-0.940571204705,-0.940538641972,-0.940506070593,-0.94047349057,-0.940440901902,-0.94040830459,-0.940375698634,-0.940343084034,-0.94031046079,-0.940277828904,-0.940245188375,-0.940212539203,-0.940179881389,-0.940147214933,-0.940114539835,-0.940081856096,-0.940049163716,-0.940016462695,-0.939983753034,-0.939951034733,-0.939918307792,-0.939885572211,-0.939852827991,-0.939820075132,-0.939787313635,-0.939754543499,-0.939721764725,-0.939688977314,-0.939656181265,-0.939623376579,-0.939590563256,-0.939557741296,-0.939524910701,-0.939492071469,-0.939459223602,-0.9394263671,-0.939393501962,-0.93936062819,-0.939327745784,-0.939294854743,-0.939261955069,-0.939229046761,-0.93919612982,-0.939163204246,-0.939130270039,-0.9390973272,-0.939064375729,-0.939031415627,-0.938998446893,-0.938965469528,-0.938932483532,-0.938899488906,-0.938866485649,-0.938833473763,-0.938800453247,-0.938767424102,-0.938734386328,-0.938701339926,-0.938668284895,-0.938635221236,-0.938602148949,-0.938569068035,-0.938535978494,-0.938502880325,-0.938469773531,-0.93843665811,-0.938403534063,-0.938370401391,-0.938337260093,-0.93830411017,-0.938270951623,-0.938237784451,-0.938204608655,-0.938171424236,-0.938138231193,-0.938105029527,-0.938071819238,-0.938038600326,-0.938005372792,-0.937972136636,-0.937938891859,-0.93790563846,-0.93787237644,-0.937839105799,-0.937805826538,-0.937772538657,-0.937739242156,-0.937705937036,-0.937672623297,-0.937639300938,-0.937605969961,-0.937572630366,-0.937539282152,-0.937505925321,-0.937472559873,-0.937439185808,-0.937405803126,-0.937372411827,-0.937339011913,-0.937305603382,-0.937272186236,-0.937238760475,-0.937205326099,-0.937171883108,-0.937138431503,-0.937104971284,-0.937071502452,-0.937038025006,-0.937004538947,-0.936971044275,-0.936937540991,-0.936904029095,-0.936870508586,-0.936836979467,-0.936803441736,-0.936769895394,-0.936736340442,-0.936702776879,-0.936669204707,-0.936635623924,-0.936602034533,-0.936568436532,-0.936534829923,-0.936501214705,-0.936467590879,-0.936433958445,-0.936400317404,-0.936366667756,-0.9363330095,-0.936299342638,-0.93626566717,-0.936231983096,-0.936198290416,-0.936164589131,-0.936130879241,-0.936097160746,-0.936063433647,-0.936029697944,-0.935995953637,-0.935962200726,-0.935928439213,-0.935894669096,-0.935860890377,-0.935827103055,-0.935793307132,-0.935759502607,-0.935725689481,-0.935691867754,-0.935658037426,-0.935624198498,-0.93559035097,-0.935556494841,-0.935522630114,-0.935488756787,-0.935454874862,-0.935420984338,-0.935387085216,-0.935353177496,-0.935319261179,-0.935285336264,-0.935251402752,-0.935217460644,-0.935183509939,-0.935149550638,-0.935115582742,-0.93508160625,-0.935047621163,-0.935013627482,-0.934979625206,-0.934945614336,-0.934911594872,-0.934877566814,-0.934843530163,-0.93480948492,-0.934775431084,-0.934741368655,-0.934707297635,-0.934673218023,-0.93463912982,-0.934605033025,-0.93457092764,-0.934536813665,-0.9345026911,-0.934468559945,-0.9344344202,-0.934400271866,-0.934366114944,-0.934331949433,-0.934297775334,-0.934263592646,-0.934229401372,-0.93419520151,-0.934160993061,-0.934126776026,-0.934092550404,-0.934058316197,-0.934024073403,-0.933989822025,-0.933955562061,-0.933921293513,-0.93388701638,-0.933852730663,-0.933818436362,-0.933784133478,-0.933749822011,-0.933715501961,-0.933681173328,-0.933646836113,-0.933612490317,-0.933578135938,-0.933543772979,-0.933509401438,-0.933475021317,-0.933440632616,-0.933406235335,-0.933371829474,-0.933337415033,-0.933302992014,-0.933268560416,-0.933234120239,-0.933199671485,-0.933165214152,-0.933130748242,-0.933096273755,-0.933061790692,-0.933027299051,-0.932992798835,-0.932958290042,-0.932923772674,-0.932889246731,-0.932854712213,-0.932820169121,-0.932785617454,-0.932751057213,-0.932716488398,-0.93268191101,-0.932647325049,-0.932612730516,-0.93257812741,-0.932543515732,-0.932508895482,-0.932474266661,-0.932439629268,-0.932404983305,-0.932370328772,-0.932335665668,-0.932300993995,-0.932266313752,-0.932231624939,-0.932196927558,-0.932162221609,-0.932127507091,-0.932092784005,-0.932058052351,-0.932023312131,-0.931988563343,-0.931953805989,-0.931919040068,-0.931884265582,-0.931849482529,-0.931814690912,-0.931779890729,-0.931745081982,-0.93171026467,-0.931675438794,-0.931640604354,-0.931605761351,-0.931570909785,-0.931536049656,-0.931501180965,-0.931466303711,-0.931431417895,-0.931396523518,-0.93136162058,-0.931326709081,-0.931291789022,-0.931256860402,-0.931221923222,-0.931186977483,-0.931152023184,-0.931117060326,-0.93108208891,-0.931047108936,-0.931012120403,-0.930977123313,-0.930942117665,-0.930907103461,-0.9308720807,-0.930837049382,-0.930802009508,-0.930766961079,-0.930731904094,-0.930696838554,-0.93066176446,-0.930626681811,-0.930591590607,-0.93055649085,-0.93052138254,-0.930486265676,-0.93045114026,-0.930416006291,-0.93038086377,-0.930345712696,-0.930310553072,-0.930275384896,-0.930240208169,-0.930205022892,-0.930169829065,-0.930134626687,-0.93009941576,-0.930064196284,-0.930028968259,-0.929993731685,-0.929958486563,-0.929923232893,-0.929887970675,-0.92985269991,-0.929817420598,-0.929782132739,-0.929746836334,-0.929711531382,-0.929676217885,-0.929640895843,-0.929605565256,-0.929570226124,-0.929534878447,-0.929499522227,-0.929464157462,-0.929428784155,-0.929393402304,-0.92935801191,-0.929322612974,-0.929287205496,-0.929251789475,-0.929216364914,-0.929180931811,-0.929145490168,-0.929110039984,-0.929074581259,-0.929039113995,-0.929003638192,-0.928968153849,-0.928932660967,-0.928897159547,-0.928861649588,-0.928826131092,-0.928790604058,-0.928755068487,-0.928719524379,-0.928683971734,-0.928648410553,-0.928612840836,-0.928577262584,-0.928541675796,-0.928506080473,-0.928470476616,-0.928434864224,-0.928399243299,-0.928363613839,-0.928327975847,-0.928292329321,-0.928256674263,-0.928221010672,-0.92818533855,-0.928149657895,-0.92811396871,-0.928078270993,-0.928042564746,-0.928006849968,-0.92797112666,-0.927935394823,-0.927899654456,-0.92786390556,-0.927828148135,-0.927792382182,-0.927756607701,-0.927720824692,-0.927685033156,-0.927649233093,-0.927613424502,-0.927577607386,-0.927541781743,-0.927505947575,-0.927470104881,-0.927434253662,-0.927398393919,-0.92736252565,-0.927326648858,-0.927290763542,-0.927254869703,-0.92721896734,-0.927183056455,-0.927147137047,-0.927111209117,-0.927075272665,-0.927039327691,-0.927003374197,-0.926967412182,-0.926931441646,-0.92689546259,-0.926859475014,-0.926823478919,-0.926787474305,-0.926751461171,-0.92671543952,-0.92667940935,-0.926643370662,-0.926607323457,-0.926571267734,-0.926535203495,-0.926499130739,-0.926463049467,-0.926426959679,-0.926390861376,-0.926354754558,-0.926318639224,-0.926282515376,-0.926246383014,-0.926210242138,-0.926174092749,-0.926137934846,-0.926101768431,-0.926065593503,-0.926029410062,-0.92599321811,-0.925957017647,-0.925920808672,-0.925884591186,-0.92584836519,-0.925812130683,-0.925775887667,-0.925739636141,-0.925703376106,-0.925667107562,-0.92563083051,-0.925594544949,-0.925558250881,-0.925521948305,-0.925485637221,-0.925449317631,-0.925412989535,-0.925376652932,-0.925340307823,-0.925303954209,-0.92526759209,-0.925231221465,-0.925194842336,-0.925158454703,-0.925122058567,-0.925085653926,-0.925049240783,-0.925012819136,-0.924976388987,-0.924939950336,-0.924903503183,-0.924867047529,-0.924830583373,-0.924794110717,-0.92475762956,-0.924721139902,-0.924684641745,-0.924648135089,-0.924611619933,-0.924575096279,-0.924538564125,-0.924502023474,-0.924465474325,-0.924428916679,-0.924392350535,-0.924355775895,-0.924319192758,-0.924282601125,-0.924246000996,-0.924209392371,-0.924172775252,-0.924136149637,-0.924099515529,-0.924062872926,-0.924026221829,-0.923989562239,-0.923952894156,-0.92391621758,-0.923879532511,-0.923842838951,-0.923806136898,-0.923769426355,-0.92373270732,-0.923695979794,-0.923659243778,-0.923622499272,-0.923585746276,-0.923548984791,-0.923512214817,-0.923475436354,-0.923438649402,-0.923401853963,-0.923365050036,-0.923328237621,-0.92329141672,-0.923254587331,-0.923217749457,-0.923180903096,-0.92314404825,-0.923107184918,-0.923070313101,-0.9230334328,-0.922996544014,-0.922959646745,-0.922922740991,-0.922885826755,-0.922848904035,-0.922811972833,-0.922775033148,-0.922738084982,-0.922701128334,-0.922664163205,-0.922627189594,-0.922590207503,-0.922553216932,-0.922516217881,-0.922479210351,-0.922442194341,-0.922405169852,-0.922368136885,-0.922331095439,-0.922294045516,-0.922256987115,-0.922219920237,-0.922182844882,-0.922145761051,-0.922108668743,-0.92207156796,-0.922034458701,-0.921997340967,-0.921960214758,-0.921923080075,-0.921885936918,-0.921848785286,-0.921811625182,-0.921774456604,-0.921737279554,-0.921700094031,-0.921662900036,-0.921625697569,-0.921588486631,-0.921551267222,-0.921514039342,-0.921476802992,-0.921439558172,-0.921402304882,-0.921365043123,-0.921327772894,-0.921290494198,-0.921253207033,-0.921215911399,-0.921178607299,-0.921141294731,-0.921103973696,-0.921066644194,-0.921029306227,-0.920991959793,-0.920954604894,-0.920917241529,-0.9208798697,-0.920842489406,-0.920805100648,-0.920767703426,-0.920730297741,-0.920692883592,-0.920655460981,-0.920618029907,-0.920580590371,-0.920543142373,-0.920505685914,-0.920468220994,-0.920430747613,-0.920393265772,-0.92035577547,-0.920318276709,-0.920280769489,-0.920243253809,-0.920205729671,-0.920168197074,-0.92013065602,-0.920093106508,-0.920055548538,-0.920017982112,-0.919980407229,-0.919942823889,-0.919905232094,-0.919867631843,-0.919830023137,-0.919792405976,-0.919754780361,-0.919717146291,-0.919679503768,-0.919641852791,-0.919604193361,-0.919566525478,-0.919528849142,-0.919491164355,-0.919453471116,-0.919415769425,-0.919378059283,-0.919340340691,-0.919302613648,-0.919264878155,-0.919227134212,-0.919189381821,-0.91915162098,-0.91911385169,-0.919076073952,-0.919038287766,-0.919000493133,-0.918962690052,-0.918924878525,-0.918887058551,-0.91884923013,-0.918811393264,-0.918773547952,-0.918735694196,-0.918697831994,-0.918659961348,-0.918622082257,-0.918584194723,-0.918546298746,-0.918508394325,-0.918470481462,-0.918432560156,-0.918394630408,-0.918356692219,-0.918318745588,-0.918280790517,-0.918242827004,-0.918204855051,-0.918166874659,-0.918128885827,-0.918090888555,-0.918052882845,-0.918014868696,-0.917976846109,-0.917938815084,-0.917900775621,-0.917862727722,-0.917824671385,-0.917786606613,-0.917748533404,-0.917710451759,-0.917672361679,-0.917634263164,-0.917596156214,-0.91755804083,-0.917519917012,-0.91748178476,-0.917443644075,-0.917405494957,-0.917367337406,-0.917329171423,-0.917290997008,-0.917252814162,-0.917214622885,-0.917176423176,-0.917138215037,-0.917099998468,-0.91706177347,-0.917023540041,-0.916985298184,-0.916947047898,-0.916908789184,-0.916870522041,-0.916832246471,-0.916793962474,-0.916755670049,-0.916717369198,-0.916679059921,-0.916640742218,-0.916602416089,-0.916564081535,-0.916525738556,-0.916487387153,-0.916449027325,-0.916410659074,-0.916372282399,-0.916333897301,-0.916295503781,-0.916257101838,-0.916218691473,-0.916180272686,-0.916141845478,-0.916103409849,-0.916064965799,-0.916026513329,-0.91598805244,-0.91594958313,-0.915911105402,-0.915872619254,-0.915834124688,-0.915795621704,-0.915757110302,-0.915718590483,-0.915680062246,-0.915641525593,-0.915602980523,-0.915564427038,-0.915525865136,-0.91548729482,-0.915448716088,-0.915410128942,-0.915371533382,-0.915332929407,-0.915294317019,-0.915255696218,-0.915217067005,-0.915178429378,-0.91513978334,-0.915101128889,-0.915062466028,-0.915023794755,-0.914985115072,-0.914946426978,-0.914907730474,-0.914869025561,-0.914830312238,-0.914791590506,-0.914752860366,-0.914714121818,-0.914675374862,-0.914636619498,-0.914597855727,-0.914559083549,-0.914520302965,-0.914481513975,-0.914442716579,-0.914403910778,-0.914365096571,-0.914326273961,-0.914287442945,-0.914248603526,-0.914209755704,-0.914170899478,-0.914132034849,-0.914093161817,-0.914054280384,-0.914015390549,-0.913976492312,-0.913937585674,-0.913898670636,-0.913859747197,-0.913820815358,-0.91378187512,-0.913742926482,-0.913703969445,-0.91366500401,-0.913626030177,-0.913587047945,-0.913548057316,-0.91350905829,-0.913470050868,-0.913431035049,-0.913392010833,-0.913352978222,-0.913313937216,-0.913274887815,-0.913235830019,-0.913196763829,-0.913157689245,-0.913118606267,-0.913079514896,-0.913040415133,-0.913001306977,-0.912962190428,-0.912923065488,-0.912883932157,-0.912844790435,-0.912805640322,-0.912766481818,-0.912727314925,-0.912688139642,-0.91264895597,-0.912609763909,-0.912570563459,-0.912531354622,-0.912492137396,-0.912452911783,-0.912413677783,-0.912374435396,-0.912335184623,-0.912295925464,-0.91225665792,-0.91221738199,-0.912178097675,-0.912138804975,-0.912099503892,-0.912060194424,-0.912020876574,-0.91198155034,-0.911942215723,-0.911902872724,-0.911863521343,-0.91182416158,-0.911784793436,-0.911745416911,-0.911706032005,-0.91166663872,-0.911627237054,-0.911587827009,-0.911548408585,-0.911508981782,-0.911469546601,-0.911430103041,-0.911390651104,-0.91135119079,-0.911311722098,-0.911272245031,-0.911232759586,-0.911193265767,-0.911153763571,-0.911114253001,-0.911074734055,-0.911035206735,-0.910995671042,-0.910956126974,-0.910916574533,-0.91087701372,-0.910837444533,-0.910797866975,-0.910758281044,-0.910718686743,-0.91067908407,-0.910639473026,-0.910599853612,-0.910560225827,-0.910520589673,-0.91048094515,-0.910441292258,-0.910401630997,-0.910361961368,-0.910322283372,-0.910282597007,-0.910242902276,-0.910203199178,-0.910163487713,-0.910123767883,-0.910084039686,-0.910044303125,-0.910004558198,-0.909964804907,-0.909925043252,-0.909885273233,-0.90984549485,-0.909805708105,-0.909765912996,-0.909726109525,-0.909686297693,-0.909646477498,-0.909606648943,-0.909566812026,-0.909526966749,-0.909487113112,-0.909447251114,-0.909407380758,-0.909367502042,-0.909327614968,-0.909287719535,-0.909247815744,-0.909207903596,-0.909167983091,-0.909128054228,-0.909088117009,-0.909048171434,-0.909008217503,-0.908968255217,-0.908928284576,-0.90888830558,-0.908848318229,-0.908808322525,-0.908768318467,-0.908728306056,-0.908688285293,-0.908648256176,-0.908608218708,-0.908568172888,-0.908528118716,-0.908488056194,-0.908447985321,-0.908407906097,-0.908367818524,-0.908327722601,-0.908287618329,-0.908247505709,-0.908207384739,-0.908167255422,-0.908127117757,-0.908086971745,-0.908046817386,-0.90800665468,-0.907966483629,-0.907926304231,-0.907886116488,-0.907845920399,-0.907805715966,-0.907765503189,-0.907725282068,-0.907685052603,-0.907644814795,-0.907604568643,-0.90756431415,-0.907524051314,-0.907483780137,-0.907443500618,-0.907403212758,-0.907362916557,-0.907322612016,-0.907282299136,-0.907241977915,-0.907201648356,-0.907161310458,-0.907120964221,-0.907080609646,-0.907040246734,-0.906999875484,-0.906959495897,-0.906919107974,-0.906878711714,-0.906838307119,-0.906797894188,-0.906757472922,-0.906717043321,-0.906676605386,-0.906636159117,-0.906595704515,-0.906555241579,-0.90651477031,-0.906474290709,-0.906433802776,-0.906393306511,-0.906352801915,-0.906312288987,-0.906271767729,-0.906231238141,-0.906190700223,-0.906150153975,-0.906109599398,-0.906069036493,-0.906028465259,-0.905987885697,-0.905947297807,-0.90590670159,-0.905866097047,-0.905825484176,-0.90578486298,-0.905744233458,-0.90570359561,-0.905662949437,-0.90562229494,-0.905581632118,-0.905540960973,-0.905500281504,-0.905459593711,-0.905418897596,-0.905378193159,-0.905337480399,-0.905296759318,-0.905256029916,-0.905215292192,-0.905174546148,-0.905133791784,-0.9050930291,-0.905052258097,-0.905011478775,-0.904970691134,-0.904929895174,-0.904889090897,-0.904848278302,-0.90480745739,-0.904766628162,-0.904725790616,-0.904684944755,-0.904644090578,-0.904603228086,-0.904562357279,-0.904521478157,-0.904480590721,-0.904439694972,-0.904398790909,-0.904357878533,-0.904316957844,-0.904276028843,-0.90423509153,-0.904194145906,-0.90415319197,-0.904112229724,-0.904071259167,-0.9040302803,-0.903989293123,-0.903948297638,-0.903907293843,-0.90386628174,-0.903825261328,-0.903784232609,-0.903743195583,-0.903702150249,-0.903661096609,-0.903620034663,-0.903578964411,-0.903537885853,-0.90349679899,-0.903455703822,-0.90341460035,-0.903373488574,-0.903332368495,-0.903291240112,-0.903250103426,-0.903208958438,-0.903167805147,-0.903126643555,-0.903085473662,-0.903044295468,-0.903003108973,-0.902961914177,-0.902920711082,-0.902879499688,-0.902838279995,-0.902797052002,-0.902755815712,-0.902714571123,-0.902673318237,-0.902632057054,-0.902590787574,-0.902549509798,-0.902508223725,-0.902466929357,-0.902425626694,-0.902384315735,-0.902342996482,-0.902301668935,-0.902260333095,-0.902218988961,-0.902177636533,-0.902136275814,-0.902094906802,-0.902053529498,-0.902012143902,-0.901970750016,-0.901929347839,-0.901887937371,-0.901846518614,-0.901805091567,-0.901763656231,-0.901722212606,-0.901680760692,-0.90163930049,-0.901597832001,-0.901556355225,-0.901514870161,-0.901473376811,-0.901431875175,-0.901390365253,-0.901348847046,-0.901307320554,-0.901265785777,-0.901224242716,-0.901182691371,-0.901141131742,-0.901099563831,-0.901057987636,-0.90101640316,-0.900974810401,-0.900933209361,-0.90089160004,-0.900849982438,-0.900808356555,-0.900766722392,-0.90072507995,-0.900683429229,-0.900641770228,-0.900600102949,-0.900558427392,-0.900516743558,-0.900475051445,-0.900433351056,-0.900391642391,-0.900349925449,-0.900308200231,-0.900266466738,-0.90022472497,-0.900182974927,-0.90014121661,-0.900099450019,-0.900057675154,-0.900015892016,-0.899974100606,-0.899932300923,-0.899890492968,-0.899848676742,-0.899806852244,-0.899765019475,-0.899723178436,-0.899681329127,-0.899639471549,-0.899597605701,-0.899555731584,-0.899513849198,-0.899471958545,-0.899430059624,-0.899388152435,-0.899346236979,-0.899304313257,-0.899262381269,-0.899220441014,-0.899178492495,-0.89913653571,-0.89909457066,-0.899052597347,-0.899010615769,-0.898968625928,-0.898926627824,-0.898884621457,-0.898842606827,-0.898800583936,-0.898758552783,-0.898716513369,-0.898674465694,-0.898632409759,-0.898590345563,-0.898548273108,-0.898506192394,-0.898464103421,-0.898422006189,-0.898379900699,-0.898337786952,-0.898295664947,-0.898253534685,-0.898211396167,-0.898169249393,-0.898127094362,-0.898084931077,-0.898042759536,-0.898000579741,-0.897958391691,-0.897916195388,-0.897873990831,-0.897831778021,-0.897789556959,-0.897747327644,-0.897705090077,-0.897662844259,-0.89762059019,-0.89757832787,-0.897536057299,-0.897493778479,-0.897451491409,-0.89740919609,-0.897366892522,-0.897324580705,-0.897282260641,-0.897239932329,-0.89719759577,-0.897155250964,-0.897112897911,-0.897070536613,-0.897028167068,-0.896985789279,-0.896943403244,-0.896901008965,-0.896858606442,-0.896816195676,-0.896773776665,-0.896731349412,-0.896688913917,-0.896646470179,-0.896604018199,-0.896561557978,-0.896519089516,-0.896476612813,-0.89643412787,-0.896391634688,-0.896349133266,-0.896306623604,-0.896264105705,-0.896221579567,-0.896179045191,-0.896136502577,-0.896093951727,-0.896051392639,-0.896008825316,-0.895966249756,-0.895923665961,-0.895881073931,-0.895838473666,-0.895795865167,-0.895753248434,-0.895710623467,-0.895667990267,-0.895625348834,-0.895582699169,-0.895540041272,-0.895497375143,-0.895454700783,-0.895412018192,-0.895369327371,-0.89532662832,-0.895283921039,-0.895241205528,-0.895198481789,-0.895155749822,-0.895113009626,-0.895070261203,-0.895027504552,-0.894984739675,-0.894941966571,-0.89489918524,-0.894856395685,-0.894813597903,-0.894770791897,-0.894727977667,-0.894685155212,-0.894642324533,-0.894599485631,-0.894556638506,-0.894513783159,-0.894470919589,-0.894428047798,-0.894385167785,-0.894342279551,-0.894299383097,-0.894256478422,-0.894213565528,-0.894170644414,-0.894127715081,-0.89408477753,-0.89404183176,-0.893998877772,-0.893955915567,-0.893912945145,-0.893869966506,-0.893826979651,-0.893783984581,-0.893740981294,-0.893697969793,-0.893654950077,-0.893611922146,-0.893568886002,-0.893525841644,-0.893482789074,-0.89343972829,-0.893396659294,-0.893353582086,-0.893310496667,-0.893267403037,-0.893224301196,-0.893181191144,-0.893138072883,-0.893094946412,-0.893051811732,-0.893008668843,-0.892965517746,-0.892922358441,-0.892879190928,-0.892836015208,-0.892792831282,-0.892749639149,-0.89270643881,-0.892663230265,-0.892620013516,-0.892576788562,-0.892533555403,-0.89249031404,-0.892447064474,-0.892403806704,-0.892360540732,-0.892317266557,-0.892273984181,-0.892230693602,-0.892187394823,-0.892144087843,-0.892100772662,-0.892057449282,-0.892014117701,-0.891970777922,-0.891927429944,-0.891884073767,-0.891840709392,-0.89179733682,-0.891753956051,-0.891710567084,-0.891667169922,-0.891623764563,-0.891580351009,-0.891536929259,-0.891493499315,-0.891450061176,-0.891406614843,-0.891363160317,-0.891319697597,-0.891276226685,-0.89123274758,-0.891189260283,-0.891145764795,-0.891102261115,-0.891058749244,-0.891015229183,-0.890971700932,-0.890928164492,-0.890884619862,-0.890841067043,-0.890797506036,-0.890753936841,-0.890710359459,-0.890666773889,-0.890623180132,-0.890579578189,-0.89053596806,-0.890492349745,-0.890448723245,-0.89040508856,-0.890361445691,-0.890317794637,-0.890274135401,-0.890230467981,-0.890186792378,-0.890143108592,-0.890099416625,-0.890055716476,-0.890012008146,-0.889968291635,-0.889924566944,-0.889880834073,-0.889837093022,-0.889793343792,-0.889749586383,-0.889705820796,-0.889662047031,-0.889618265088,-0.889574474968,-0.889530676671,-0.889486870198,-0.889443055549,-0.889399232724,-0.889355401724,-0.88931156255,-0.889267715201,-0.889223859678,-0.889179995981,-0.889136124112,-0.889092244069,-0.889048355855,-0.889004459468,-0.88896055491,-0.88891664218,-0.88887272128,-0.88882879221,-0.88878485497,-0.88874090956,-0.888696955981,-0.888652994233,-0.888609024317,-0.888565046233,-0.888521059982,-0.888477065564,-0.888433062978,-0.888389052227,-0.88834503331,-0.888301006227,-0.888256970979,-0.888212927566,-0.88816887599,-0.888124816249,-0.888080748345,-0.888036672278,-0.887992588048,-0.887948495656,-0.887904395102,-0.887860286387,-0.88781616951,-0.887772044473,-0.887727911276,-0.887683769919,-0.887639620403,-0.887595462728,-0.887551296894,-0.887507122901,-0.887462940752,-0.887418750444,-0.88737455198,-0.887330345359,-0.887286130582,-0.88724190765,-0.887197676562,-0.887153437319,-0.887109189921,-0.88706493437,-0.887020670664,-0.886976398806,-0.886932118794,-0.88688783063,-0.886843534314,-0.886799229847,-0.886754917228,-0.886710596458,-0.886666267537,-0.886621930467,-0.886577585247,-0.886533231878,-0.88648887036,-0.886444500693,-0.886400122879,-0.886355736917,-0.886311342807,-0.886266940551,-0.886222530149,-0.8861781116,-0.886133684907,-0.886089250067,-0.886044807084,-0.886000355955,-0.885955896683,-0.885911429268,-0.885866953709,-0.885822470007,-0.885777978164,-0.885733478178,-0.885688970051,-0.885644453783,-0.885599929374,-0.885555396825,-0.885510856136,-0.885466307308,-0.885421750341,-0.885377185235,-0.885332611991,-0.885288030609,-0.885243441089,-0.885198843433,-0.88515423764,-0.885109623711,-0.885065001647,-0.885020371447,-0.884975733112,-0.884931086642,-0.884886432039,-0.884841769301,-0.884797098431,-0.884752419428,-0.884707732292,-0.884663037024,-0.884618333624,-0.884573622094,-0.884528902432,-0.88448417464,-0.884439438718,-0.884394694667,-0.884349942486,-0.884305182177,-0.884260413739,-0.884215637173,-0.88417085248,-0.88412605966,-0.884081258713,-0.884036449639,-0.88399163244,-0.883946807116,-0.883901973666,-0.883857132091,-0.883812282393,-0.883767424571,-0.883722558625,-0.883677684556,-0.883632802365,-0.883587912051,-0.883543013616,-0.883498107059,-0.883453192382,-0.883408269584,-0.883363338666,-0.883318399628,-0.883273452471,-0.883228497195,-0.883183533801,-0.883138562288,-0.883093582658,-0.883048594911,-0.883003599047,-0.882958595066,-0.88291358297,-0.882868562758,-0.882823534431,-0.882778497989,-0.882733453433,-0.882688400763,-0.88264333998,-0.882598271083,-0.882553194074,-0.882508108952,-0.882463015719,-0.882417914374,-0.882372804919,-0.882327687352,-0.882282561676,-0.88223742789,-0.882192285994,-0.88214713599,-0.882101977877,-0.882056811656,-0.882011637327,-0.881966454891,-0.881921264348,-0.881876065699,-0.881830858944,-0.881785644083,-0.881740421117,-0.881695190046,-0.881649950871,-0.881604703592,-0.881559448209,-0.881514184723,-0.881468913135,-0.881423633444,-0.881378345652,-0.881333049758,-0.881287745763,-0.881242433667,-0.881197113471,-0.881151785176,-0.881106448781,-0.881061104287,-0.881015751694,-0.880970391004,-0.880925022216,-0.88087964533,-0.880834260348,-0.880788867269,-0.880743466094,-0.880698056824,-0.880652639458,-0.880607213998,-0.880561780443,-0.880516338794,-0.880470889052,-0.880425431217,-0.880379965289,-0.880334491269,-0.880289009157,-0.880243518953,-0.880198020659,-0.880152514274,-0.880106999798,-0.880061477233,-0.880015946579,-0.879970407836,-0.879924861004,-0.879879306084,-0.879833743076,-0.879788171982,-0.8797425928,-0.879697005532,-0.879651410178,-0.879605806739,-0.879560195214,-0.879514575604,-0.879468947911,-0.879423312133,-0.879377668272,-0.879332016328,-0.879286356301,-0.879240688192,-0.879195012001,-0.879149327729,-0.879103635376,-0.879057934942,-0.879012226429,-0.878966509835,-0.878920785162,-0.878875052411,-0.878829311581,-0.878783562673,-0.878737805687,-0.878692040625,-0.878646267485,-0.878600486269,-0.878554696977,-0.87850889961,-0.878463094168,-0.878417280651,-0.87837145906,-0.878325629395,-0.878279791657,-0.878233945845,-0.878188091961,-0.878142230005,-0.878096359978,-0.878050481879,-0.878004595709,-0.877958701469,-0.877912799159,-0.877866888779,-0.87782097033,-0.877775043812,-0.877729109226,-0.877683166572,-0.877637215851,-0.877591257062,-0.877545290207,-0.877499315286,-0.877453332299,-0.877407341246,-0.877361342129,-0.877315334947,-0.877269319701,-0.877223296392,-0.877177265019,-0.877131225583,-0.877085178085,-0.877039122525,-0.876993058903,-0.87694698722,-0.876900907477,-0.876854819673,-0.876808723809,-0.876762619886,-0.876716507904,-0.876670387863,-0.876624259764,-0.876578123608,-0.876531979394,-0.876485827123,-0.876439666796,-0.876393498412,-0.876347321973,-0.876301137479,-0.87625494493,-0.876208744327,-0.87616253567,-0.876116318959,-0.876070094195,-0.876023861379,-0.87597762051,-0.87593137159,-0.875885114618,-0.875838849595,-0.875792576522,-0.875746295399,-0.875700006226,-0.875653709003,-0.875607403732,-0.875561090413,-0.875514769045,-0.87546843963,-0.875422102168,-0.875375756659,-0.875329403104,-0.875283041503,-0.875236671857,-0.875190294165,-0.87514390843,-0.87509751465,-0.875051112826,-0.875004702959,-0.874958285049,-0.874911859097,-0.874865425102,-0.874818983066,-0.874772532989,-0.874726074872,-0.874679608713,-0.874633134516,-0.874586652278,-0.874540162002,-0.874493663687,-0.874447157334,-0.874400642943,-0.874354120515,-0.87430759005,-0.874261051548,-0.874214505011,-0.874167950438,-0.874121387829,-0.874074817186,-0.874028238509,-0.873981651798,-0.873935057053,-0.873888454276,-0.873841843465,-0.873795224623,-0.873748597749,-0.873701962843,-0.873655319907,-0.87360866894,-0.873562009943,-0.873515342917,-0.873468667861,-0.873421984777,-0.873375293664,-0.873328594524,-0.873281887356,-0.873235172161,-0.873188448939,-0.873141717692,-0.873094978418,-0.87304823112,-0.873001475796,-0.872954712448,-0.872907941076,-0.87286116168,-0.872814374261,-0.87276757882,-0.872720775356,-0.87267396387,-0.872627144363,-0.872580316835,-0.872533481286,-0.872486637717,-0.872439786129,-0.872392926521,-0.872346058894,-0.872299183249,-0.872252299586,-0.872205407906,-0.872158508208,-0.872111600493,-0.872064684763,-0.872017761016,-0.871970829254,-0.871923889477,-0.871876941686,-0.87182998588,-0.871783022061,-0.871736050229,-0.871689070383,-0.871642082526,-0.871595086656,-0.871548082775,-0.871501070883,-0.87145405098,-0.871407023067,-0.871359987144,-0.871312943212,-0.87126589127,-0.871218831321,-0.871171763363,-0.871124687398,-0.871077603425,-0.871030511446,-0.87098341146,-0.870936303469,-0.870889187472,-0.87084206347,-0.870794931464,-0.870747791453,-0.870700643438,-0.870653487421,-0.8706063234,-0.870559151377,-0.870511971352,-0.870464783325,-0.870417587298,-0.870370383269,-0.870323171241,-0.870275951212,-0.870228723184,-0.870181487157,-0.870134243132,-0.870086991109,-0.870039731088,-0.869992463069,-0.869945187054,-0.869897903043,-0.869850611035,-0.869803311033,-0.869756003035,-0.869708687042,-0.869661363056,-0.869614031075,-0.869566691101,-0.869519343135,-0.869471987176,-0.869424623225,-0.869377251282,-0.869329871349,-0.869282483424,-0.86923508751,-0.869187683605,-0.869140271711,-0.869092851828,-0.869045423957,-0.868997988098,-0.868950544251,-0.868903092416,-0.868855632595,-0.868808164788,-0.868760688995,-0.868713205216,-0.868665713452,-0.868618213704,-0.868570705971,-0.868523190255,-0.868475666556,-0.868428134873,-0.868380595209,-0.868333047562,-0.868285491934,-0.868237928324,-0.868190356734,-0.868142777164,-0.868095189614,-0.868047594085,-0.867999990577,-0.86795237909,-0.867904759625,-0.867857132183,-0.867809496763,-0.867761853367,-0.867714201995,-0.867666542646,-0.867618875323,-0.867571200024,-0.867523516751,-0.867475825503,-0.867428126282,-0.867380419088,-0.867332703921,-0.867284980782,-0.867237249671,-0.867189510588,-0.867141763534,-0.86709400851,-0.867046245516,-0.866998474552,-0.866950695618,-0.866902908716,-0.866855113845,-0.866807311007,-0.866759500201,-0.866711681428,-0.866663854688,-0.866616019982,-0.866568177311,-0.866520326674,-0.866472468072,-0.866424601505,-0.866376726975,-0.866328844481,-0.866280954025,-0.866233055605,-0.866185149223,-0.86613723488,-0.866089312575,-0.866041382309,-0.865993444082,-0.865945497896,-0.86589754375,-0.865849581645,-0.865801611581,-0.865753633559,-0.865705647579,-0.865657653642,-0.865609651748,-0.865561641897,-0.865513624091,-0.865465598328,-0.865417564611,-0.865369522938,-0.865321473312,-0.865273415731,-0.865225350198,-0.865177276711,-0.865129195272,-0.86508110588,-0.865033008537,-0.864984903243,-0.864936789998,-0.864888668803,-0.864840539658,-0.864792402563,-0.864744257519,-0.864696104527,-0.864647943587,-0.864599774699,-0.864551597864,-0.864503413082,-0.864455220354,-0.86440701968,-0.864358811061,-0.864310594496,-0.864262369987,-0.864214137534,-0.864165897137,-0.864117648797,-0.864069392514,-0.864021128289,-0.863972856122,-0.863924576013,-0.863876287963,-0.863827991973,-0.863779688043,-0.863731376173,-0.863683056364,-0.863634728616,-0.86358639293,-0.863538049305,-0.863489697744,-0.863441338245,-0.86339297081,-0.863344595439,-0.863296212131,-0.863247820889,-0.863199421712,-0.863151014601,-0.863102599555,-0.863054176577,-0.863005745665,-0.862957306821,-0.862908860044,-0.862860405336,-0.862811942697,-0.862763472126,-0.862714993626,-0.862666507196,-0.862618012836,-0.862569510547,-0.86252100033,-0.862472482184,-0.862423956111,-0.862375422111,-0.862326880184,-0.86227833033,-0.862229772551,-0.862181206846,-0.862132633216,-0.862084051662,-0.862035462184,-0.861986864782,-0.861938259456,-0.861889646209,-0.861841025038,-0.861792395946,-0.861743758933,-0.861695113998,-0.861646461143,-0.861597800368,-0.861549131673,-0.861500455059,-0.861451770527,-0.861403078076,-0.861354377707,-0.861305669421,-0.861256953218,-0.861208229099,-0.861159497063,-0.861110757112,-0.861062009245,-0.861013253464,-0.860964489769,-0.86091571816,-0.860866938638,-0.860818151202,-0.860769355855,-0.860720552595,-0.860671741424,-0.860622922341,-0.860574095348,-0.860525260445,-0.860476417632,-0.860427566909,-0.860378708278,-0.860329841738,-0.860280967291,-0.860232084935,-0.860183194673,-0.860134296504,-0.860085390429,-0.860036476449,-0.859987554563,-0.859938624772,-0.859889687077,-0.859840741477,-0.859791787975,-0.859742826569,-0.859693857261,-0.859644880051,-0.859595894939,-0.859546901926,-0.859497901012,-0.859448892197,-0.859399875483,-0.85935085087,-0.859301818357,-0.859252777946,-0.859203729637,-0.85915467343,-0.859105609326,-0.859056537325,-0.859007457429,-0.858958369636,-0.858909273948,-0.858860170365,-0.858811058887,-0.858761939516,-0.858712812251,-0.858663677093,-0.858614534042,-0.858565383099,-0.858516224264,-0.858467057538,-0.858417882922,-0.858368700414,-0.858319510017,-0.858270311731,-0.858221105555,-0.858171891491,-0.858122669538,-0.858073439698,-0.858024201971,-0.857974956357,-0.857925702856,-0.85787644147,-0.857827172198,-0.857777895041,-0.85772861,-0.857679317075,-0.857630016266,-0.857580707574,-0.857531390999,-0.857482066543,-0.857432734204,-0.857383393984,-0.857334045883,-0.857284689901,-0.85723532604,-0.857185954299,-0.857136574679,-0.857087187181,-0.857037791804,-0.85698838855,-0.856938977418,-0.856889558409,-0.856840131525,-0.856790696764,-0.856741254128,-0.856691803616,-0.856642345231,-0.856592878971,-0.856543404838,-0.856493922831,-0.856444432952,-0.8563949352,-0.856345429577,-0.856295916083,-0.856246394717,-0.856196865481,-0.856147328375,-0.8560977834,-0.856048230555,-0.855998669842,-0.855949101261,-0.855899524812,-0.855849940496,-0.855800348313,-0.855750748263,-0.855701140348,-0.855651524567,-0.855601900922,-0.855552269412,-0.855502630037,-0.8554529828,-0.855403327699,-0.855353664735,-0.855303993909,-0.855254315222,-0.855204628673,-0.855154934263,-0.855105231993,-0.855055521863,-0.855005803873,-0.854956078025,-0.854906344317,-0.854856602752,-0.854806853329,-0.854757096049,-0.854707330912,-0.854657557919,-0.85460777707,-0.854557988365,-0.854508191806,-0.854458387392,-0.854408575125,-0.854358755003,-0.854308927029,-0.854259091202,-0.854209247523,-0.854159395992,-0.85410953661,-0.854059669377,-0.854009794293,-0.85395991136,-0.853910020578,-0.853860121946,-0.853810215466,-0.853760301138,-0.853710378962,-0.85366044894,-0.85361051107,-0.853560565355,-0.853510611793,-0.853460650387,-0.853410681135,-0.853360704039,-0.8533107191,-0.853260726316,-0.85321072569,-0.853160717221,-0.853110700911,-0.853060676758,-0.853010644765,-0.85296060493,-0.852910557256,-0.852860501742,-0.852810438388,-0.852760367196,-0.852710288165,-0.852660201296,-0.85261010659,-0.852560004047,-0.852509893667,-0.852459775451,-0.8524096494,-0.852359515513,-0.852309373792,-0.852259224236,-0.852209066847,-0.852158901624,-0.852108728568,-0.85205854768,-0.85200835896,-0.851958162409,-0.851907958027,-0.851857745814,-0.851807525771,-0.851757297898,-0.851707062196,-0.851656818666,-0.851606567307,-0.85155630812,-0.851506041106,-0.851455766266,-0.851405483598,-0.851355193105,-0.851304894787,-0.851254588643,-0.851204274675,-0.851153952883,-0.851103623267,-0.851053285828,-0.851002940566,-0.850952587482,-0.850902226576,-0.850851857849,-0.850801481302,-0.850751096933,-0.850700704745,-0.850650304737,-0.850599896911,-0.850549481266,-0.850499057802,-0.850448626522,-0.850398187424,-0.850347740509,-0.850297285778,-0.850246823231,-0.850196352869,-0.850145874693,-0.850095388702,-0.850044894897,-0.849994393278,-0.849943883847,-0.849893366603,-0.849842841547,-0.849792308679,-0.849741768001,-0.849691219512,-0.849640663212,-0.849590099103,-0.849539527185,-0.849488947457,-0.849438359922,-0.849387764579,-0.849337161428,-0.84928655047,-0.849235931706,-0.849185305136,-0.84913467076,-0.84908402858,-0.849033378594,-0.848982720805,-0.848932055212,-0.848881381815,-0.848830700616,-0.848780011615,-0.848729314812,-0.848678610207,-0.848627897802,-0.848577177596,-0.848526449591,-0.848475713785,-0.848424970181,-0.848374218779,-0.848323459578,-0.848272692579,-0.848221917784,-0.848171135192,-0.848120344803,-0.848069546619,-0.84801874064,-0.847967926866,-0.847917105297,-0.847866275935,-0.847815438779,-0.84776459383,-0.847713741089,-0.847662880555,-0.847612012231,-0.847561136115,-0.847510252208,-0.847459360512,-0.847408461025,-0.84735755375,-0.847306638686,-0.847255715833,-0.847204785193,-0.847153846766,-0.847102900551,-0.84705194655,-0.847000984764,-0.846950015192,-0.846899037834,-0.846848052693,-0.846797059767,-0.846746059058,-0.846695050565,-0.84664403429,-0.846593010233,-0.846541978394,-0.846490938774,-0.846439891373,-0.846388836192,-0.846337773231,-0.846286702491,-0.846235623971,-0.846184537674,-0.846133443598,-0.846082341745,-0.846031232115,-0.845980114708,-0.845928989525,-0.845877856567,-0.845826715834,-0.845775567326,-0.845724411043,-0.845673246987,-0.845622075158,-0.845570895556,-0.845519708182,-0.845468513036,-0.845417310118,-0.84536609943,-0.845314880971,-0.845263654742,-0.845212420744,-0.845161178976,-0.845109929441,-0.845058672137,-0.845007407065,-0.844956134226,-0.844904853621,-0.84485356525,-0.844802269113,-0.84475096521,-0.844699653543,-0.844648334111,-0.844597006916,-0.844545671957,-0.844494329236,-0.844442978752,-0.844391620506,-0.844340254499,-0.84428888073,-0.844237499201,-0.844186109912,-0.844134712864,-0.844083308056,-0.84403189549,-0.843980475166,-0.843929047084,-0.843877611244,-0.843826167648,-0.843774716296,-0.843723257188,-0.843671790324,-0.843620315706,-0.843568833333,-0.843517343207,-0.843465845327,-0.843414339694,-0.843362826308,-0.843311305171,-0.843259776282,-0.843208239642,-0.843156695251,-0.84310514311,-0.84305358322,-0.84300201558,-0.842950440192,-0.842898857056,-0.842847266172,-0.84279566754,-0.842744061162,-0.842692447037,-0.842640825167,-0.842589195551,-0.84253755819,-0.842485913085,-0.842434260236,-0.842382599643,-0.842330931308,-0.842279255229,-0.842227571409,-0.842175879848,-0.842124180545,-0.842072473501,-0.842020758718,-0.841969036194,-0.841917305932,-0.841865567931,-0.841813822191,-0.841762068714,-0.841710307499,-0.841658538548,-0.84160676186,-0.841554977437,-0.841503185278,-0.841451385384,-0.841399577756,-0.841347762394,-0.841295939298,-0.841244108469,-0.841192269908,-0.841140423614,-0.841088569589,-0.841036707833,-0.840984838347,-0.84093296113,-0.840881076183,-0.840829183508,-0.840777283103,-0.84072537497,-0.84067345911,-0.840621535522,-0.840569604208,-0.840517665167,-0.8404657184,-0.840413763908,-0.840361801691,-0.84030983175,-0.840257854084,-0.840205868695,-0.840153875583,-0.840101874749,-0.840049866193,-0.839997849915,-0.839945825916,-0.839893794196,-0.839841754756,-0.839789707597,-0.839737652718,-0.839685590121,-0.839633519805,-0.839581441772,-0.839529356022,-0.839477262555,-0.839425161371,-0.839373052472,-0.839320935857,-0.839268811527,-0.839216679484,-0.839164539726,-0.839112392254,-0.83906023707,-0.839008074174,-0.838955903565,-0.838903725245,-0.838851539214,-0.838799345472,-0.83874714402,-0.838694934859,-0.838642717989,-0.838590493409,-0.838538261122,-0.838486021127,-0.838433773425,-0.838381518017,-0.838329254902,-0.838276984081,-0.838224705555,-0.838172419324,-0.838120125389,-0.83806782375,-0.838015514408,-0.837963197363,-0.837910872615,-0.837858540166,-0.837806200015,-0.837753852163,-0.837701496611,-0.837649133359,-0.837596762407,-0.837544383757,-0.837491997408,-0.83743960336,-0.837387201616,-0.837334792174,-0.837282375035,-0.837229950201,-0.837177517671,-0.837125077445,-0.837072629525,-0.837020173911,-0.836967710603,-0.836915239602,-0.836862760908,-0.836810274522,-0.836757780444,-0.836705278674,-0.836652769214,-0.836600252064,-0.836547727224,-0.836495194694,-0.836442654475,-0.836390106568,-0.836337550974,-0.836284987691,-0.836232416722,-0.836179838066,-0.836127251725,-0.836074657698,-0.836022055985,-0.835969446589,-0.835916829508,-0.835864204743,-0.835811572296,-0.835758932166,-0.835706284354,-0.83565362886,-0.835600965685,-0.835548294829,-0.835495616294,-0.835442930078,-0.835390236183,-0.83533753461,-0.835284825358,-0.835232108429,-0.835179383822,-0.835126651539,-0.835073911579,-0.835021163943,-0.834968408632,-0.834915645647,-0.834862874986,-0.834810096652,-0.834757310645,-0.834704516965,-0.834651715612,-0.834598906587,-0.834546089891,-0.834493265524,-0.834440433486,-0.834387593778,-0.834334746401,-0.834281891355,-0.83422902864,-0.834176158258,-0.834123280207,-0.83407039449,-0.834017501106,-0.833964600056,-0.83391169134,-0.833858774959,-0.833805850914,-0.833752919204,-0.833699979831,-0.833647032794,-0.833594078095,-0.833541115733,-0.83348814571,-0.833435168026,-0.833382182681,-0.833329189675,-0.83327618901,-0.833223180685,-0.833170164702,-0.83311714106,-0.833064109761,-0.833011070804,-0.83295802419,-0.83290496992,-0.832851907994,-0.832798838413,-0.832745761176,-0.832692676286,-0.832639583741,-0.832586483543,-0.832533375692,-0.832480260188,-0.832427137033,-0.832374006226,-0.832320867768,-0.832267721659,-0.832214567901,-0.832161406493,-0.832108237436,-0.83205506073,-0.832001876376,-0.831948684375,-0.831895484727,-0.831842277432,-0.83178906249,-0.831735839904,-0.831682609672,-0.831629371795,-0.831576126274,-0.83152287311,-0.831469612303,-0.831416343852,-0.83136306776,-0.831309784026,-0.83125649265,-0.831203193634,-0.831149886978,-0.831096572682,-0.831043250746,-0.830989921172,-0.83093658396,-0.83088323911,-0.830829886622,-0.830776526498,-0.830723158737,-0.830669783341,-0.830616400309,-0.830563009642,-0.830509611341,-0.830456205406,-0.830402791838,-0.830349370637,-0.830295941803,-0.830242505338,-0.830189061241,-0.830135609513,-0.830082150155,-0.830028683167,-0.829975208549,-0.829921726303,-0.829868236428,-0.829814738925,-0.829761233795,-0.829707721037,-0.829654200653,-0.829600672643,-0.829547137008,-0.829493593747,-0.829440042862,-0.829386484353,-0.829332918221,-0.829279344465,-0.829225763087,-0.829172174087,-0.829118577465,-0.829064973222,-0.829011361359,-0.828957741875,-0.828904114772,-0.82885048005,-0.828796837709,-0.82874318775,-0.828689530173,-0.828635864979,-0.828582192169,-0.828528511742,-0.8284748237,-0.828421128043,-0.828367424771,-0.828313713884,-0.828259995384,-0.828206269271,-0.828152535545,-0.828098794207,-0.828045045258,-0.827991288697,-0.827937524525,-0.827883752743,-0.827829973352,-0.827776186351,-0.827722391741,-0.827668589524,-0.827614779698,-0.827560962265,-0.827507137226,-0.82745330458,-0.827399464328,-0.827345616471,-0.827291761009,-0.827237897943,-0.827184027274,-0.827130149001,-0.827076263125,-0.827022369647,-0.826968468567,-0.826914559885,-0.826860643603,-0.826806719721,-0.826752788238,-0.826698849157,-0.826644902476,-0.826590948197,-0.826536986321,-0.826483016847,-0.826429039776,-0.826375055109,-0.826321062846,-0.826267062987,-0.826213055534,-0.826159040486,-0.826105017845,-0.82605098761,-0.825996949782,-0.825942904362,-0.82588885135,-0.825834790746,-0.825780722552,-0.825726646767,-0.825672563392,-0.825618472428,-0.825564373875,-0.825510267734,-0.825456154004,-0.825402032688,-0.825347903784,-0.825293767294,-0.825239623218,-0.825185471556,-0.82513131231,-0.825077145479,-0.825022971065,-0.824968789066,-0.824914599485,-0.824860402322,-0.824806197576,-0.824751985249,-0.824697765342,-0.824643537853,-0.824589302785,-0.824535060137,-0.824480809911,-0.824426552106,-0.824372286723,-0.824318013762,-0.824263733225,-0.824209445111,-0.824155149421,-0.824100846156,-0.824046535315,-0.8239922169,-0.823937890912,-0.82388355735,-0.823829216215,-0.823774867507,-0.823720511227,-0.823666147376,-0.823611775954,-0.823557396962,-0.8235030104,-0.823448616268,-0.823394214567,-0.823339805298,-0.82328538846,-0.823230964056,-0.823176532084,-0.823122092546,-0.823067645442,-0.823013190772,-0.822958728538,-0.822904258739,-0.822849781376,-0.822795296449,-0.82274080396,-0.822686303908,-0.822631796295,-0.822577281119,-0.822522758383,-0.822468228087,-0.82241369023,-0.822359144814,-0.822304591839,-0.822250031306,-0.822195463214,-0.822140887565,-0.82208630436,-0.822031713597,-0.821977115279,-0.821922509406,-0.821867895977,-0.821813274994,-0.821758646457,-0.821704010367,-0.821649366724,-0.821594715528,-0.821540056781,-0.821485390482,-0.821430716632,-0.821376035231,-0.821321346281,-0.821266649781,-0.821211945733,-0.821157234136,-0.821102514991,-0.821047788299,-0.82099305406,-0.820938312274,-0.820883562943,-0.820828806066,-0.820774041644,-0.820719269678,-0.820664490168,-0.820609703115,-0.820554908519,-0.82050010638,-0.8204452967,-0.820390479478,-0.820335654715,-0.820280822412,-0.820225982569,-0.820171135187,-0.820116280266,-0.820061417807,-0.82000654781,-0.819951670275,-0.819896785204,-0.819841892596,-0.819786992453,-0.819732084774,-0.819677169561,-0.819622246813,-0.819567316531,-0.819512378716,-0.819457433369,-0.819402480489,-0.819347520077,-0.819292552134,-0.81923757666,-0.819182593656,-0.819127603122,-0.819072605059,-0.819017599467,-0.818962586347,-0.8189075657,-0.818852537525,-0.818797501823,-0.818742458595,-0.818687407842,-0.818632349563,-0.818577283759,-0.818522210432,-0.81846712958,-0.818412041206,-0.818356945309,-0.818301841889,-0.818246730948,-0.818191612486,-0.818136486503,-0.818081353,-0.818026211978,-0.817971063436,-0.817915907376,-0.817860743797,-0.817805572701,-0.817750394088,-0.817695207959,-0.817640014313,-0.817584813152,-0.817529604475,-0.817474388284,-0.817419164579,-0.817363933361,-0.817308694629,-0.817253448385,-0.817198194629,-0.817142933361,-0.817087664583,-0.817032388294,-0.816977104494,-0.816921813186,-0.816866514368,-0.816811208042,-0.816755894208,-0.816700572867,-0.816645244018,-0.816589907664,-0.816534563803,-0.816479212437,-0.816423853566,-0.81636848719,-0.816313113311,-0.816257731928,-0.816202343043,-0.816146946655,-0.816091542765,-0.816036131374,-0.815980712482,-0.81592528609,-0.815869852198,-0.815814410807,-0.815758961917,-0.815703505528,-0.815648041642,-0.815592570259,-0.815537091378,-0.815481605002,-0.81542611113,-0.815370609762,-0.8153151009,-0.815259584544,-0.815204060694,-0.815148529351,-0.815092990515,-0.815037444187,-0.814981890367,-0.814926329057,-0.814870760255,-0.814815183964,-0.814759600182,-0.814704008912,-0.814648410153,-0.814592803906,-0.814537190172,-0.81448156895,-0.814425940242,-0.814370304048,-0.814314660369,-0.814259009204,-0.814203350555,-0.814147684422,-0.814092010805,-0.814036329706,-0.813980641124,-0.81392494506,-0.813869241515,-0.813813530489,-0.813757811982,-0.813702085995,-0.81364635253,-0.813590611585,-0.813534863162,-0.813479107261,-0.813423343883,-0.813367573027,-0.813311794696,-0.813256008889,-0.813200215606,-0.813144414849,-0.813088606618,-0.813032790913,-0.812976967734,-0.812921137083,-0.81286529896,-0.812809453365,-0.812753600299,-0.812697739762,-0.812641871755,-0.812585996278,-0.812530113333,-0.812474222918,-0.812418325036,-0.812362419686,-0.812306506869,-0.812250586585,-0.812194658836,-0.81213872362,-0.81208278094,-0.812026830796,-0.811970873187,-0.811914908115,-0.81185893558,-0.811802955583,-0.811746968123,-0.811690973202,-0.811634970821,-0.811578960979,-0.811522943677,-0.811466918916,-0.811410886695,-0.811354847017,-0.811298799881,-0.811242745287,-0.811186683237,-0.811130613731,-0.811074536768,-0.811018452351,-0.810962360479,-0.810906261152,-0.810850154372,-0.810794040139,-0.810737918453,-0.810681789315,-0.810625652726,-0.810569508685,-0.810513357194,-0.810457198253,-0.810401031862,-0.810344858022,-0.810288676733,-0.810232487997,-0.810176291813,-0.810120088182,-0.810063877105,-0.810007658582,-0.809951432613,-0.809895199199,-0.809838958341,-0.80978271004,-0.809726454294,-0.809670191106,-0.809613920476,-0.809557642404,-0.809501356891,-0.809445063937,-0.809388763542,-0.809332455708,-0.809276140435,-0.809219817723,-0.809163487572,-0.809107149985,-0.80905080496,-0.808994452498,-0.8089380926,-0.808881725267,-0.808825350499,-0.808768968296,-0.808712578659,-0.808656181588,-0.808599777085,-0.808543365149,-0.808486945781,-0.808430518982,-0.808374084751,-0.808317643091,-0.808261194,-0.80820473748,-0.808148273531,-0.808091802154,-0.80803532335,-0.807978837117,-0.807922343458,-0.807865842373,-0.807809333862,-0.807752817926,-0.807696294565,-0.80763976378,-0.807583225572,-0.80752667994,-0.807470126886,-0.807413566409,-0.807356998511,-0.807300423192,-0.807243840452,-0.807187250293,-0.807130652714,-0.807074047716,-0.807017435299,-0.806960815464,-0.806904188213,-0.806847553544,-0.806790911459,-0.806734261958,-0.806677605041,-0.80662094071,-0.806564268965,-0.806507589806,-0.806450903233,-0.806394209248,-0.806337507851,-0.806280799042,-0.806224082821,-0.806167359191,-0.80611062815,-0.806053889699,-0.805997143839,-0.805940390571,-0.805883629895,-0.805826861811,-0.805770086321,-0.805713303423,-0.80565651312,-0.805599715412,-0.805542910298,-0.80548609778,-0.805429277859,-0.805372450534,-0.805315615806,-0.805258773676,-0.805201924144,-0.805145067211,-0.805088202877,-0.805031331143,-0.804974452009,-0.804917565476,-0.804860671545,-0.804803770215,-0.804746861488,-0.804689945364,-0.804633021843,-0.804576090926,-0.804519152614,-0.804462206907,-0.804405253805,-0.804348293309,-0.80429132542,-0.804234350139,-0.804177367464,-0.804120377398,-0.804063379941,-0.804006375093,-0.803949362854,-0.803892343226,-0.803835316209,-0.803778281803,-0.803721240009,-0.803664190827,-0.803607134258,-0.803550070303,-0.803492998961,-0.803435920234,-0.803378834122,-0.803321740625,-0.803264639745,-0.803207531481,-0.803150415834,-0.803093292804,-0.803036162393,-0.802979024601,-0.802921879428,-0.802864726874,-0.802807566941,-0.802750399628,-0.802693224937,-0.802636042867,-0.80257885342,-0.802521656596,-0.802464452395,-0.802407240818,-0.802350021866,-0.802292795538,-0.802235561836,-0.80217832076,-0.802121072311,-0.802063816488,-0.802006553293,-0.801949282727,-0.801892004789,-0.80183471948,-0.801777426801,-0.801720126752,-0.801662819334,-0.801605504547,-0.801548182392,-0.801490852869,-0.80143351598,-0.801376171723,-0.801318820101,-0.801261461113,-0.80120409476,-0.801146721042,-0.80108933996,-0.801031951515,-0.800974555708,-0.800917152537,-0.800859742005,-0.800802324112,-0.800744898857,-0.800687466243,-0.800630026269,-0.800572578935,-0.800515124243,-0.800457662193,-0.800400192785,-0.80034271602,-0.800285231898,-0.80022774042,-0.800170241587,-0.800112735399,-0.800055221856,-0.799997700959,-0.799940172709,-0.799882637106,-0.799825094151,-0.799767543844,-0.799709986186,-0.799652421176,-0.799594848817,-0.799537269108,-0.79947968205,-0.799422087643,-0.799364485888,-0.799306876785,-0.799249260335,-0.799191636539,-0.799134005397,-0.799076366909,-0.799018721077,-0.7989610679,-0.798903407379,-0.798845739515,-0.798788064308,-0.798730381758,-0.798672691867,-0.798614994635,-0.798557290062,-0.798499578149,-0.798441858896,-0.798384132304,-0.798326398373,-0.798268657105,-0.798210908499,-0.798153152556,-0.798095389276,-0.798037618661,-0.79797984071,-0.797922055424,-0.797864262804,-0.79780646285,-0.797748655563,-0.797690840943,-0.797633018991,-0.797575189708,-0.797517353093,-0.797459509147,-0.797401657872,-0.797343799267,-0.797285933333,-0.79722806007,-0.79717017948,-0.797112291562,-0.797054396317,-0.796996493746,-0.796938583849,-0.796880666627,-0.79682274208,-0.796764810208,-0.796706871013,-0.796648924495,-0.796590970655,-0.796533009492,-0.796475041008,-0.796417065202,-0.796359082076,-0.79630109163,-0.796243093865,-0.796185088781,-0.796127076378,-0.796069056658,-0.79601102962,-0.795952995266,-0.795894953595,-0.795836904609,-0.795778848307,-0.795720784691,-0.795662713761,-0.795604635517,-0.79554654996,-0.795488457091,-0.79543035691,-0.795372249417,-0.795314134613,-0.7952560125,-0.795197883076,-0.795139746343,-0.795081602301,-0.795023450951,-0.794965292293,-0.794907126328,-0.794848953057,-0.794790772479,-0.794732584596,-0.794674389408,-0.794616186915,-0.794557977119,-0.794499760019,-0.794441535616,-0.794383303911,-0.794325064904,-0.794266818596,-0.794208564987,-0.794150304078,-0.794092035869,-0.794033760361,-0.793975477554,-0.79391718745,-0.793858890048,-0.793800585349,-0.793742273353,-0.793683954062,-0.793625627475,-0.793567293593,-0.793508952417,-0.793450603948,-0.793392248185,-0.793333885129,-0.793275514781,-0.793217137142,-0.793158752211,-0.79310035999,-0.793041960479,-0.792983553679,-0.79292513959,-0.792866718212,-0.792808289546,-0.792749853593,-0.792691410353,-0.792632959827,-0.792574502015,-0.792516036918,-0.792457564537,-0.792399084871,-0.792340597922,-0.79228210369,-0.792223602175,-0.792165093378,-0.7921065773,-0.792048053941,-0.791989523302,-0.791930985383,-0.791872440184,-0.791813887707,-0.791755327952,-0.791696760919,-0.791638186609,-0.791579605023,-0.79152101616,-0.791462420022,-0.791403816609,-0.791345205921,-0.79128658796,-0.791227962725,-0.791169330218,-0.791110690438,-0.791052043386,-0.790993389064,-0.790934727471,-0.790876058607,-0.790817382474,-0.790758699072,-0.790700008402,-0.790641310463,-0.790582605257,-0.790523892785,-0.790465173046,-0.790406446041,-0.790347711771,-0.790288970236,-0.790230221437,-0.790171465375,-0.790112702049,-0.790053931461,-0.789995153611,-0.789936368499,-0.789877576127,-0.789818776494,-0.789759969601,-0.789701155449,-0.789642334038,-0.789583505369,-0.789524669442,-0.789465826258,-0.789406975818,-0.789348118121,-0.789289253169,-0.789230380962,-0.7891715015,-0.789112614785,-0.789053720816,-0.788994819595,-0.788935911121,-0.788876995395,-0.788818072418,-0.788759142191,-0.788700204714,-0.788641259986,-0.78858230801,-0.788523348786,-0.788464382313,-0.788405408593,-0.788346427627,-0.788287439414,-0.788228443955,-0.788169441251,-0.788110431302,-0.788051414109,-0.787992389673,-0.787933357993,-0.787874319071,-0.787815272907,-0.787756219501,-0.787697158855,-0.787638090968,-0.787579015842,-0.787519933476,-0.787460843872,-0.787401747029,-0.787342642949,-0.787283531631,-0.787224413078,-0.787165287288,-0.787106154262,-0.787047014002,-0.786987866507,-0.786928711779,-0.786869549817,-0.786810380623,-0.786751204196,-0.786692020538,-0.786632829648,-0.786573631529,-0.786514426179,-0.786455213599,-0.786395993791,-0.786336766754,-0.786277532489,-0.786218290997,-0.786159042279,-0.786099786334,-0.786040523163,-0.785981252768,-0.785921975148,-0.785862690303,-0.785803398236,-0.785744098945,-0.785684792432,-0.785625478697,-0.785566157741,-0.785506829564,-0.785447494167,-0.78538815155,-0.785328801714,-0.78526944466,-0.785210080387,-0.785150708897,-0.78509133019,-0.785031944267,-0.784972551128,-0.784913150773,-0.784853743204,-0.78479432842,-0.784734906423,-0.784675477213,-0.78461604079,-0.784556597156,-0.784497146309,-0.784437688252,-0.784378222984,-0.784318750507,-0.78425927082,-0.784199783925,-0.784140289821,-0.78408078851,-0.784021279991,-0.783961764266,-0.783902241336,-0.783842711199,-0.783783173858,-0.783723629312,-0.783664077562,-0.78360451861,-0.783544952454,-0.783485379096,-0.783425798537,-0.783366210777,-0.783306615816,-0.783247013655,-0.783187404294,-0.783127787735,-0.783068163977,-0.783008533022,-0.782948894869,-0.78288924952,-0.782829596975,-0.782769937233,-0.782710270297,-0.782650596167,-0.782590914842,-0.782531226324,-0.782471530613,-0.78241182771,-0.782352117615,-0.782292400329,-0.782232675852,-0.782172944185,-0.782113205328,-0.782053459283,-0.781993706049,-0.781933945627,-0.781874178018,-0.781814403222,-0.781754621239,-0.781694832071,-0.781635035718,-0.78157523218,-0.781515421458,-0.781455603552,-0.781395778464,-0.781335946193,-0.78127610674,-0.781216260106,-0.781156406291,-0.781096545296,-0.781036677122,-0.780976801768,-0.780916919235,-0.780857029525,-0.780797132637,-0.780737228572,-0.780677317331,-0.780617398914,-0.780557473322,-0.780497540555,-0.780437600613,-0.780377653499,-0.780317699211,-0.78025773775,-0.780197769118,-0.780137793314,-0.78007781034,-0.780017820195,-0.77995782288,-0.779897818396,-0.779837806744,-0.779777787923,-0.779717761935,-0.77965772878,-0.779597688458,-0.779537640971,-0.779477586318,-0.7794175245,-0.779357455518,-0.779297379373,-0.779237296064,-0.779177205593,-0.779117107959,-0.779057003164,-0.778996891209,-0.778936772093,-0.778876645817,-0.778816512381,-0.778756371788,-0.778696224036,-0.778636069126,-0.778575907059,-0.778515737836,-0.778455561457,-0.778395377922,-0.778335187233,-0.778274989389,-0.778214784392,-0.778154572241,-0.778094352938,-0.778034126482,-0.777973892876,-0.777913652118,-0.777853404209,-0.777793149151,-0.777732886944,-0.777672617588,-0.777612341083,-0.777552057431,-0.777491766632,-0.777431468687,-0.777371163595,-0.777310851358,-0.777250531976,-0.77719020545,-0.77712987178,-0.777069530967,-0.777009183011,-0.776948827913,-0.776888465673,-0.776828096293,-0.776767719772,-0.776707336111,-0.776646945311,-0.776586547372,-0.776526142295,-0.77646573008,-0.776405310728,-0.776344884239,-0.776284450615,-0.776224009855,-0.77616356196,-0.776103106931,-0.776042644768,-0.775982175472,-0.775921699043,-0.775861215483,-0.77580072479,-0.775740226967,-0.775679722013,-0.775619209929,-0.775558690716,-0.775498164374,-0.775437630904,-0.775377090306,-0.775316542582,-0.77525598773,-0.775195425753,-0.77513485665,-0.775074280423,-0.775013697071,-0.774953106595,-0.774892508996,-0.774831904274,-0.774771292431,-0.774710673466,-0.774650047379,-0.774589414173,-0.774528773846,-0.774468126401,-0.774407471836,-0.774346810154,-0.774286141353,-0.774225465436,-0.774164782402,-0.774104092252,-0.774043394987,-0.773982690607,-0.773921979112,-0.773861260504,-0.773800534783,-0.773739801949,-0.773679062003,-0.773618314946,-0.773557560778,-0.773496799499,-0.77343603111,-0.773375255613,-0.773314473006,-0.773253683291,-0.773192886469,-0.77313208254,-0.773071271504,-0.773010453363,-0.772949628116,-0.772888795764,-0.772827956308,-0.772767109748,-0.772706256086,-0.77264539532,-0.772584527453,-0.772523652484,-0.772462770415,-0.772401881245,-0.772340984975,-0.772280081606,-0.772219171139,-0.772158253573,-0.77209732891,-0.77203639715,-0.771975458294,-0.771914512342,-0.771853559294,-0.771792599152,-0.771731631916,-0.771670657586,-0.771609676163,-0.771548687647,-0.77148769204,-0.771426689341,-0.771365679552,-0.771304662672,-0.771243638702,-0.771182607644,-0.771121569497,-0.771060524262,-0.770999471939,-0.77093841253,-0.770877346034,-0.770816272453,-0.770755191786,-0.770694104035,-0.7706330092,-0.770571907281,-0.77051079828,-0.770449682196,-0.77038855903,-0.770327428783,-0.770266291455,-0.770205147047,-0.77014399556,-0.770082836993,-0.770021671348,-0.769960498626,-0.769899318826,-0.769838131949,-0.769776937996,-0.769715736967,-0.769654528864,-0.769593313685,-0.769532091433,-0.769470862108,-0.76940962571,-0.769348382239,-0.769287131697,-0.769225874083,-0.769164609399,-0.769103337646,-0.769042058822,-0.76898077293,-0.76891947997,-0.768858179941,-0.768796872846,-0.768735558684,-0.768674237456,-0.768612909162,-0.768551573804,-0.768490231381,-0.768428881894,-0.768367525344,-0.768306161731,-0.768244791057,-0.768183413321,-0.768122028523,-0.768060636666,-0.767999237748,-0.767937831772,-0.767876418736,-0.767814998642,-0.767753571491,-0.767692137283,-0.767630696018,-0.767569247698,-0.767507792322,-0.767446329891,-0.767384860406,-0.767323383868,-0.767261900276,-0.767200409632,-0.767138911936,-0.767077407188,-0.76701589539,-0.766954376542,-0.766892850643,-0.766831317696,-0.7667697777,-0.766708230657,-0.766646676565,-0.766585115427,-0.766523547243,-0.766461972013,-0.766400389738,-0.766338800418,-0.766277204054,-0.766215600647,-0.766153990196,-0.766092372704,-0.76603074817,-0.765969116594,-0.765907477978,-0.765845832322,-0.765784179626,-0.765722519892,-0.765660853119,-0.765599179308,-0.76553749846,-0.765475810575,-0.765414115655,-0.765352413699,-0.765290704707,-0.765228988682,-0.765167265622,-0.76510553553,-0.765043798405,-0.764982054247,-0.764920303058,-0.764858544838,-0.764796779588,-0.764735007308,-0.764673227998,-0.76461144166,-0.764549648293,-0.7644878479,-0.764426040479,-0.764364226031,-0.764302404558,-0.764240576059,-0.764178740536,-0.764116897989,-0.764055048418,-0.763993191824,-0.763931328207,-0.763869457569,-0.763807579909,-0.763745695228,-0.763683803528,-0.763621904807,-0.763559999068,-0.76349808631,-0.763436166534,-0.763374239741,-0.763312305931,-0.763250365105,-0.763188417263,-0.763126462407,-0.763064500535,-0.76300253165,-0.762940555752,-0.76287857284,-0.762816582917,-0.762754585981,-0.762692582035,-0.762630571078,-0.762568553112,-0.762506528136,-0.762444496151,-0.762382457158,-0.762320411157,-0.762258358149,-0.762196298135,-0.762134231114,-0.762072157089,-0.762010076058,-0.761947988023,-0.761885892985,-0.761823790943,-0.761761681899,-0.761699565854,-0.761637442806,-0.761575312758,-0.76151317571,-0.761451031662,-0.761388880615,-0.761326722569,-0.761264557525,-0.761202385484,-0.761140206446,-0.761078020412,-0.761015827383,-0.760953627358,-0.760891420339,-0.760829206325,-0.760766985319,-0.760704757319,-0.760642522328,-0.760580280344,-0.76051803137,-0.760455775405,-0.76039351245,-0.760331242506,-0.760268965573,-0.760206681651,-0.760144390742,-0.760082092846,-0.760019787964,-0.759957476095,-0.759895157241,-0.759832831403,-0.75977049858,-0.759708158773,-0.759645811984,-0.759583458211,-0.759521097457,-0.759458729722,-0.759396355006,-0.759333973309,-0.759271584633,-0.759209188978,-0.759146786345,-0.759084376733,-0.759021960145,-0.758959536579,-0.758897106037,-0.75883466852,-0.758772224027,-0.75870977256,-0.75864731412,-0.758584848705,-0.758522376319,-0.75845989696,-0.758397410629,-0.758334917327,-0.758272417055,-0.758209909813,-0.758147395602,-0.758084874422,-0.758022346273,-0.757959811158,-0.757897269075,-0.757834720026,-0.757772164011,-0.75770960103,-0.757647031085,-0.757584454176,-0.757521870303,-0.757459279468,-0.757396681669,-0.75733407691,-0.757271465188,-0.757208846506,-0.757146220865,-0.757083588263,-0.757020948703,-0.756958302184,-0.756895648707,-0.756832988273,-0.756770320883,-0.756707646536,-0.756644965234,-0.756582276977,-0.756519581766,-0.756456879601,-0.756394170483,-0.756331454412,-0.756268731389,-0.756206001414,-0.756143264489,-0.756080520614,-0.756017769788,-0.755955012014,-0.755892247291,-0.75582947562,-0.755766697001,-0.755703911436,-0.755641118924,-0.755578319467,-0.755515513065,-0.755452699718,-0.755389879427,-0.755327052193,-0.755264218016,-0.755201376897,-0.755138528836,-0.755075673834,-0.755012811891,-0.754949943009,-0.754887067187,-0.754824184426,-0.754761294728,-0.754698398092,-0.754635494518,-0.754572584008,-0.754509666563,-0.754446742182,-0.754383810866,-0.754320872617,-0.754257927433,-0.754194975317,-0.754132016268,-0.754069050288,-0.754006077376,-0.753943097533,-0.753880110761,-0.753817117059,-0.753754116428,-0.753691108869,-0.753628094382,-0.753565072968,-0.753502044627,-0.75343900936,-0.753375967167,-0.75331291805,-0.753249862009,-0.753186799044,-0.753123729155,-0.753060652344,-0.752997568612,-0.752934477957,-0.752871380382,-0.752808275887,-0.752745164472,-0.752682046138,-0.752618920886,-0.752555788715,-0.752492649627,-0.752429503623,-0.752366350702,-0.752303190866,-0.752240024115,-0.752176850449,-0.75211366987,-0.752050482377,-0.751987287971,-0.751924086654,-0.751860878424,-0.751797663284,-0.751734441234,-0.751671212274,-0.751607976404,-0.751544733626,-0.75148148394,-0.751418227347,-0.751354963846,-0.75129169344,-0.751228416127,-0.75116513191,-0.751101840788,-0.751038542762,-0.750975237832,-0.750911926,-0.750848607265,-0.750785281629,-0.750721949092,-0.750658609655,-0.750595263317,-0.75053191008,-0.750468549945,-0.750405182911,-0.75034180898,-0.750278428151,-0.750215040427,-0.750151645806,-0.750088244291,-0.75002483588,-0.749961420576,-0.749897998378,-0.749834569287,-0.749771133304,-0.749707690429,-0.749644240663,-0.749580784006,-0.74951732046,-0.749453850024,-0.749390372699,-0.749326888486,-0.749263397385,-0.749199899398,-0.749136394523,-0.749072882763,-0.749009364118,-0.748945838588,-0.748882306173,-0.748818766875,-0.748755220695,-0.748691667631,-0.748628107686,-0.74856454086,-0.748500967153,-0.748437386566,-0.748373799099,-0.748310204754,-0.74824660353,-0.748182995429,-0.74811938045,-0.748055758595,-0.747992129864,-0.747928494258,-0.747864851777,-0.747801202421,-0.747737546192,-0.74767388309,-0.747610213115,-0.747546536269,-0.747482852551,-0.747419161963,-0.747355464504,-0.747291760176,-0.747228048979,-0.747164330913,-0.74710060598,-0.74703687418,-0.746973135513,-0.74690938998,-0.746845637581,-0.746781878318,-0.746718112191,-0.746654339199,-0.746590559345,-0.746526772628,-0.74646297905,-0.74639917861,-0.746335371309,-0.746271557148,-0.746207736127,-0.746143908248,-0.74608007351,-0.746016231914,-0.745952383461,-0.745888528152,-0.745824665986,-0.745760796965,-0.745696921089,-0.745633038359,-0.745569148775,-0.745505252338,-0.745441349049,-0.745377438907,-0.745313521914,-0.745249598071,-0.745185667377,-0.745121729834,-0.745057785441,-0.744993834201,-0.744929876112,-0.744865911176,-0.744801939394,-0.744737960765,-0.744673975291,-0.744609982972,-0.744545983809,-0.744481977802,-0.744417964952,-0.74435394526,-0.744289918725,-0.74422588535,-0.744161845133,-0.744097798076,-0.74403374418,-0.743969683445,-0.743905615871,-0.743841541459,-0.74377746021,-0.743713372125,-0.743649277203,-0.743585175447,-0.743521066855,-0.743456951429,-0.743392829169,-0.743328700076,-0.74326456415,-0.743200421393,-0.743136271804,-0.743072115385,-0.743007952135,-0.742943782056,-0.742879605148,-0.742815421411,-0.742751230847,-0.742687033455,-0.742622829237,-0.742558618193,-0.742494400323,-0.742430175629,-0.74236594411,-0.742301705767,-0.742237460602,-0.742173208614,-0.742108949804,-0.742044684173,-0.741980411721,-0.741916132449,-0.741851846357,-0.741787553447,-0.741723253718,-0.741658947171,-0.741594633807,-0.741530313627,-0.741465986631,-0.741401652819,-0.741337312192,-0.741272964751,-0.741208610497,-0.74114424943,-0.74107988155,-0.741015506858,-0.740951125355,-0.740886737041,-0.740822341918,-0.740757939984,-0.740693531242,-0.740629115692,-0.740564693334,-0.740500264169,-0.740435828197,-0.740371385419,-0.740306935836,-0.740242479449,-0.740178016257,-0.740113546261,-0.740049069463,-0.739984585862,-0.73992009546,-0.739855598256,-0.739791094251,-0.739726583447,-0.739662065843,-0.739597541441,-0.73953301024,-0.739468472242,-0.739403927446,-0.739339375854,-0.739274817467,-0.739210252284,-0.739145680306,-0.739081101534,-0.739016515969,-0.738951923611,-0.738887324461,-0.738822718519,-0.738758105785,-0.738693486262,-0.738628859948,-0.738564226845,-0.738499586954,-0.738434940274,-0.738370286807,-0.738305626552,-0.738240959512,-0.738176285686,-0.738111605074,-0.738046917678,-0.737982223498,-0.737917522535,-0.737852814788,-0.73778810026,-0.73772337895,-0.737658650859,-0.737593915988,-0.737529174337,-0.737464425906,-0.737399670697,-0.73733490871,-0.737270139946,-0.737205364405,-0.737140582087,-0.737075792994,-0.737010997126,-0.736946194484,-0.736881385067,-0.736816568877,-0.736751745915,-0.736686916181,-0.736622079675,-0.736557236398,-0.736492386351,-0.736427529534,-0.736362665948,-0.736297795594,-0.736232918472,-0.736168034582,-0.736103143926,-0.736038246504,-0.735973342316,-0.735908431363,-0.735843513646,-0.735778589166,-0.735713657922,-0.735648719916,-0.735583775147,-0.735518823618,-0.735453865327,-0.735388900277,-0.735323928467,-0.735258949898,-0.73519396457,-0.735128972485,-0.735063973643,-0.734998968044,-0.73493395569,-0.73486893658,-0.734803910715,-0.734738878096,-0.734673838723,-0.734608792598,-0.73454373972,-0.73447868009,-0.73441361371,-0.734348540578,-0.734283460697,-0.734218374066,-0.734153280687,-0.734088180559,-0.734023073684,-0.733957960061,-0.733892839693,-0.733827712578,-0.733762578719,-0.733697438115,-0.733632290766,-0.733567136675,-0.733501975841,-0.733436808264,-0.733371633946,-0.733306452887,-0.733241265087,-0.733176070548,-0.733110869269,-0.733045661252,-0.732980446497,-0.732915225005,-0.732849996775,-0.73278476181,-0.732719520109,-0.732654271672,-0.732589016502,-0.732523754598,-0.73245848596,-0.73239321059,-0.732327928488,-0.732262639654,-0.73219734409,-0.732132041795,-0.732066732771,-0.732001417018,-0.731936094537,-0.731870765327,-0.731805429391,-0.731740086728,-0.731674737338,-0.731609381224,-0.731544018385,-0.731478648821,-0.731413272534,-0.731347889524,-0.731282499791,-0.731217103337,-0.731151700162,-0.731086290265,-0.731020873649,-0.730955450314,-0.73089002026,-0.730824583487,-0.730759139997,-0.73069368979,-0.730628232867,-0.730562769228,-0.730497298874,-0.730431821805,-0.730366338022,-0.730300847526,-0.730235350317,-0.730169846395,-0.730104335763,-0.730038818419,-0.729973294365,-0.729907763601,-0.729842226128,-0.729776681947,-0.729711131057,-0.72964557346,-0.729580009157,-0.729514438147,-0.729448860432,-0.729383276012,-0.729317684887,-0.729252087059,-0.729186482527,-0.729120871293,-0.729055253358,-0.728989628721,-0.728923997383,-0.728858359345,-0.728792714607,-0.728727063171,-0.728661405036,-0.728595740204,-0.728530068674,-0.728464390448,-0.728398705526,-0.728333013909,-0.728267315597,-0.728201610591,-0.728135898892,-0.7280701805,-0.728004455415,-0.727938723639,-0.727872985172,-0.727807240014,-0.727741488167,-0.72767572963,-0.727609964404,-0.727544192491,-0.72747841389,-0.727412628602,-0.727346836628,-0.727281037969,-0.727215232624,-0.727149420595,-0.727083601883,-0.727017776487,-0.726951944408,-0.726886105648,-0.726820260206,-0.726754408083,-0.72668854928,-0.726622683798,-0.726556811636,-0.726490932796,-0.726425047279,-0.726359155084,-0.726293256213,-0.726227350666,-0.726161438444,-0.726095519546,-0.726029593975,-0.72596366173,-0.725897722813,-0.725831777223,-0.725765824961,-0.725699866028,-0.725633900425,-0.725567928152,-0.72550194921,-0.725435963599,-0.72536997132,-0.725303972373,-0.72523796676,-0.72517195448,-0.725105935535,-0.725039909925,-0.72497387765,-0.724907838712,-0.72484179311,-0.724775740846,-0.724709681919,-0.724643616332,-0.724577544084,-0.724511465175,-0.724445379607,-0.72437928738,-0.724313188495,-0.724247082951,-0.724180970751,-0.724114851895,-0.724048726382,-0.723982594214,-0.723916455391,-0.723850309915,-0.723784157784,-0.723717999001,-0.723651833566,-0.723585661479,-0.723519482741,-0.723453297353,-0.723387105314,-0.723320906627,-0.723254701291,-0.723188489307,-0.723122270675,-0.723056045397,-0.722989813472,-0.722923574902,-0.722857329687,-0.722791077828,-0.722724819325,-0.722658554179,-0.72259228239,-0.722526003959,-0.722459718887,-0.722393427175,-0.722327128822,-0.72226082383,-0.722194512199,-0.722128193929,-0.722061869022,-0.721995537478,-0.721929199298,-0.721862854481,-0.72179650303,-0.721730144944,-0.721663780224,-0.72159740887,-0.721531030884,-0.721464646266,-0.721398255016,-0.721331857135,-0.721265452624,-0.721199041483,-0.721132623713,-0.721066199315,-0.720999768288,-0.720933330634,-0.720866886354,-0.720800435448,-0.720733977916,-0.720667513759,-0.720601042978,-0.720534565574,-0.720468081546,-0.720401590897,-0.720335093625,-0.720268589732,-0.720202079219,-0.720135562085,-0.720069038333,-0.720002507961,-0.719935970972,-0.719869427365,-0.719802877141,-0.719736320301,-0.719669756845,-0.719603186774,-0.719536610089,-0.71947002679,-0.719403436878,-0.719336840353,-0.719270237216,-0.719203627467,-0.719137011108,-0.719070388139,-0.71900375856,-0.718937122373,-0.718870479577,-0.718803830173,-0.718737174162,-0.718670511545,-0.718603842322,-0.718537166494,-0.718470484061,-0.718403795023,-0.718337099383,-0.71827039714,-0.718203688294,-0.718136972847,-0.718070250799,-0.718003522151,-0.717936786903,-0.717870045056,-0.71780329661,-0.717736541566,-0.717669779926,-0.717603011688,-0.717536236854,-0.717469455425,-0.717402667402,-0.717335872784,-0.717269071572,-0.717202263767,-0.71713544937,-0.717068628381,-0.717001800802,-0.716934966631,-0.716868125871,-0.716801278521,-0.716734424583,-0.716667564056,-0.716600696943,-0.716533823242,-0.716466942955,-0.716400056082,-0.716333162625,-0.716266262583,-0.716199355957,-0.716132442748,-0.716065522957,-0.715998596584,-0.715931663629,-0.715864724094,-0.715797777979,-0.715730825284,-0.71566386601,-0.715596900158,-0.715529927729,-0.715462948722,-0.715395963139,-0.715328970981,-0.715261972247,-0.715194966939,-0.715127955056,-0.715060936601,-0.714993911573,-0.714926879972,-0.714859841801,-0.714792797058,-0.714725745745,-0.714658687863,-0.714591623411,-0.714524552392,-0.714457474804,-0.714390390649,-0.714323299928,-0.714256202641,-0.714189098789,-0.714121988372,-0.71405487139,-0.713987747846,-0.713920617738,-0.713853481069,-0.713786337838,-0.713719188046,-0.713652031693,-0.713584868781,-0.713517699309,-0.71345052328,-0.713383340692,-0.713316151547,-0.713248955845,-0.713181753587,-0.713114544774,-0.713047329406,-0.712980107484,-0.712912879009,-0.71284564398,-0.712778402399,-0.712711154267,-0.712643899583,-0.712576638349,-0.712509370565,-0.712442096231,-0.71237481535,-0.71230752792,-0.712240233942,-0.712172933418,-0.712105626348,-0.712038312733,-0.711970992572,-0.711903665867,-0.711836332619,-0.711768992827,-0.711701646493,-0.711634293617,-0.7115669342,-0.711499568243,-0.711432195745,-0.711364816708,-0.711297431133,-0.711230039019,-0.711162640368,-0.71109523518,-0.711027823456,-0.710960405196,-0.710892980401,-0.710825549072,-0.710758111209,-0.710690666813,-0.710623215884,-0.710555758424,-0.710488294432,-0.71042082391,-0.710353346857,-0.710285863275,-0.710218373164,-0.710150876526,-0.710083373359,-0.710015863666,-0.709948347446,-0.709880824701,-0.70981329543,-0.709745759636,-0.709678217317,-0.709610668475,-0.70954311311,-0.709475551224,-0.709407982816,-0.709340407888,-0.709272826439,-0.709205238471,-0.709137643984,-0.709070042978,-0.709002435456,-0.708934821416,-0.70886720086,-0.708799573788,-0.7087319402,-0.708664300099,-0.708596653483,-0.708529000354,-0.708461340713,-0.70839367456,-0.708326001895,-0.708258322719,-0.708190637033,-0.708122944838,-0.708055246134,-0.707987540921,-0.707919829201,-0.707852110974,-0.70778438624,-0.707716655,-0.707648917256,-0.707581173006,-0.707513422253,-0.707445664997,-0.707377901238,-0.707310130976,-0.707242354214,-0.70717457095,-0.707106781187,-0.707038984923,-0.706971182161,-0.706903372901,-0.706835557142,-0.706767734887,-0.706699906135,-0.706632070888,-0.706564229145,-0.706496380907,-0.706428526176,-0.706360664951,-0.706292797234,-0.706224923024,-0.706157042323,-0.706089155131,-0.706021261449,-0.705953361278,-0.705885454617,-0.705817541468,-0.705749621831,-0.705681695708,-0.705613763097,-0.705545824001,-0.70547787842,-0.705409926354,-0.705341967804,-0.705274002771,-0.705206031255,-0.705138053257,-0.705070068777,-0.705002077817,-0.704934080376,-0.704866076456,-0.704798066056,-0.704730049179,-0.704662025823,-0.704593995991,-0.704525959682,-0.704457916897,-0.704389867637,-0.704321811903,-0.704253749694,-0.704185681012,-0.704117605858,-0.704049524231,-0.703981436133,-0.703913341564,-0.703845240524,-0.703777133016,-0.703709019038,-0.703640898592,-0.703572771678,-0.703504638297,-0.703436498449,-0.703368352136,-0.703300199358,-0.703232040114,-0.703163874407,-0.703095702237,-0.703027523604,-0.702959338509,-0.702891146952,-0.702822948935,-0.702754744457,-0.70268653352,-0.702618316124,-0.702550092269,-0.702481861957,-0.702413625188,-0.702345381962,-0.702277132281,-0.702208876144,-0.702140613553,-0.702072344508,-0.70200406901,-0.701935787059,-0.701867498656,-0.701799203801,-0.701730902496,-0.70166259474,-0.701594280535,-0.701525959881,-0.701457632779,-0.701389299229,-0.701320959232,-0.701252612789,-0.7011842599,-0.701115900566,-0.701047534787,-0.700979162565,-0.700910783899,-0.700842398791,-0.70077400724,-0.700705609248,-0.700637204816,-0.700568793943,-0.700500376631,-0.70043195288,-0.700363522691,-0.700295086064,-0.700226643001,-0.700158193501,-0.700089737565,-0.700021275194,-0.699952806389,-0.69988433115,-0.699815849477,-0.699747361373,-0.699678866836,-0.699610365868,-0.699541858469,-0.69947334464,-0.699404824382,-0.699336297695,-0.69926776458,-0.699199225037,-0.699130679068,-0.699062126672,-0.698993567851,-0.698925002604,-0.698856430934,-0.698787852839,-0.698719268322,-0.698650677381,-0.69858208002,-0.698513476236,-0.698444866033,-0.698376249409,-0.698307626366,-0.698238996904,-0.698170361024,-0.698101718727,-0.698033070013,-0.697964414883,-0.697895753337,-0.697827085377,-0.697758411002,-0.697689730213,-0.697621043012,-0.697552349398,-0.697483649372,-0.697414942935,-0.697346230088,-0.697277510831,-0.697208785165,-0.69714005309,-0.697071314607,-0.697002569716,-0.696933818419,-0.696865060716,-0.696796296608,-0.696727526095,-0.696658749177,-0.696589965856,-0.696521176132,-0.696452380006,-0.696383577478,-0.69631476855,-0.69624595322,-0.696177131491,-0.696108303363,-0.696039468837,-0.695970627913,-0.695901780591,-0.695832926873,-0.695764066759,-0.695695200249,-0.695626327345,-0.695557448047,-0.695488562356,-0.695419670271,-0.695350771795,-0.695281866927,-0.695212955668,-0.695144038019,-0.69507511398,-0.695006183552,-0.694937246736,-0.694868303532,-0.694799353942,-0.694730397964,-0.694661435601,-0.694592466853,-0.69452349172,-0.694454510203,-0.694385522303,-0.69431652802,-0.694247527356,-0.69417852031,-0.694109506883,-0.694040487076,-0.69397146089,-0.693902428324,-0.693833389381,-0.69376434406,-0.693695292362,-0.693626234288,-0.693557169838,-0.693488099013,-0.693419021814,-0.693349938241,-0.693280848295,-0.693211751976,-0.693142649285,-0.693073540224,-0.693004424791,-0.692935302989,-0.692866174817,-0.692797040277,-0.692727899369,-0.692658752093,-0.692589598451,-0.692520438442,-0.692451272068,-0.692382099329,-0.692312920226,-0.692243734759,-0.692174542929,-0.692105344737,-0.692036140183,-0.691966929269,-0.691897711993,-0.691828488358,-0.691759258364,-0.691690022012,-0.691620779301,-0.691551530233,-0.691482274809,-0.691413013029,-0.691343744893,-0.691274470403,-0.691205189558,-0.691135902361,-0.69106660881,-0.690997308908,-0.690928002653,-0.690858690048,-0.690789371093,-0.690720045788,-0.690650714135,-0.690581376132,-0.690512031783,-0.690442681086,-0.690373324043,-0.690303960654,-0.69023459092,-0.690165214841,-0.690095832419,-0.690026443653,-0.689957048545,-0.689887647095,-0.689818239303,-0.689748825171,-0.689679404699,-0.689609977887,-0.689540544737,-0.689471105249,-0.689401659423,-0.68933220726,-0.689262748761,-0.689193283927,-0.689123812757,-0.689054335254,-0.688984851417,-0.688915361246,-0.688845864744,-0.688776361909,-0.688706852744,-0.688637337248,-0.688567815422,-0.688498287267,-0.688428752784,-0.688359211973,-0.688289664834,-0.688220111369,-0.688150551578,-0.688080985462,-0.68801141302,-0.687941834255,-0.687872249167,-0.687802657755,-0.687733060022,-0.687663455967,-0.687593845591,-0.687524228895,-0.687454605879,-0.687384976545,-0.687315340892,-0.687245698921,-0.687176050634,-0.68710639603,-0.68703673511,-0.686967067875,-0.686897394326,-0.686827714463,-0.686758028287,-0.686688335798,-0.686618636998,-0.686548931886,-0.686479220463,-0.686409502731,-0.686339778689,-0.686270048339,-0.68620031168,-0.686130568714,-0.686060819441,-0.685991063863,-0.685921301978,-0.685851533789,-0.685781759296,-0.685711978499,-0.685642191399,-0.685572397997,-0.685502598293,-0.685432792289,-0.685362979984,-0.685293161379,-0.685223336475,-0.685153505273,-0.685083667773,-0.685013823976,-0.684943973882,-0.684874117492,-0.684804254808,-0.684734385828,-0.684664510555,-0.684594628988,-0.684524741129,-0.684454846978,-0.684384946535,-0.684315039802,-0.684245126779,-0.684175207466,-0.684105281864,-0.684035349975,-0.683965411797,-0.683895467333,-0.683825516583,-0.683755559547,-0.683685596226,-0.683615626621,-0.683545650732,-0.68347566856,-0.683405680106,-0.68333568537,-0.683265684353,-0.683195677056,-0.683125663479,-0.683055643623,-0.682985617488,-0.682915585075,-0.682845546385,-0.682775501419,-0.682705450176,-0.682635392659,-0.682565328866,-0.6824952588,-0.682425182461,-0.682355099848,-0.682285010964,-0.682214915808,-0.682144814381,-0.682074706685,-0.682004592718,-0.681934472483,-0.68186434598,-0.681794213209,-0.681724074172,-0.681653928868,-0.681583777298,-0.681513619464,-0.681443455365,-0.681373285002,-0.681303108377,-0.681232925489,-0.681162736339,-0.681092540928,-0.681022339257,-0.680952131326,-0.680881917135,-0.680811696686,-0.68074146998,-0.680671237016,-0.680600997795,-0.680530752319,-0.680460500587,-0.680390242601,-0.680319978361,-0.680249707867,-0.68017943112,-0.680109148122,-0.680038858872,-0.679968563371,-0.679898261621,-0.67982795362,-0.679757639371,-0.679687318874,-0.679616992129,-0.679546659137,-0.679476319899,-0.679405974416,-0.679335622687,-0.679265264714,-0.679194900498,-0.679124530038,-0.679054153337,-0.678983770393,-0.678913381208,-0.678842985783,-0.678772584118,-0.678702176214,-0.678631762072,-0.678561341691,-0.678490915074,-0.67842048222,-0.67835004313,-0.678279597805,-0.678209146245,-0.678138688451,-0.678068224424,-0.677997754164,-0.677927277673,-0.677856794949,-0.677786305996,-0.677715810812,-0.677645309398,-0.677574801756,-0.677504287886,-0.677433767789,-0.677363241464,-0.677292708913,-0.677222170137,-0.677151625136,-0.677081073911,-0.677010516462,-0.67693995279,-0.676869382896,-0.67679880678,-0.676728224443,-0.676657635886,-0.67658704111,-0.676516440114,-0.6764458329,-0.676375219468,-0.676304599819,-0.676233973953,-0.676163341872,-0.676092703575,-0.676022059064,-0.67595140834,-0.675880751402,-0.675810088251,-0.675739418889,-0.675668743315,-0.675598061531,-0.675527373536,-0.675456679333,-0.675385978921,-0.6753152723,-0.675244559473,-0.675173840439,-0.675103115198,-0.675032383752,-0.674961646102,-0.674890902247,-0.674820152189,-0.674749395929,-0.674678633466,-0.674607864801,-0.674537089936,-0.67446630887,-0.674395521605,-0.674324728141,-0.674253928479,-0.674183122619,-0.674112310562,-0.674041492309,-0.673970667861,-0.673899837217,-0.673829000379,-0.673758157347,-0.673687308122,-0.673616452705,-0.673545591096,-0.673474723296,-0.673403849306,-0.673332969125,-0.673262082756,-0.673191190198,-0.673120291453,-0.67304938652,-0.6729784754,-0.672907558095,-0.672836634605,-0.67276570493,-0.672694769071,-0.672623827029,-0.672552878804,-0.672481924397,-0.672410963809,-0.67233999704,-0.672269024091,-0.672198044963,-0.672127059656,-0.672056068172,-0.671985070509,-0.67191406667,-0.671843056655,-0.671772040465,-0.671701018099,-0.67162998956,-0.671558954847,-0.671487913961,-0.671416866903,-0.671345813674,-0.671274754274,-0.671203688703,-0.671132616963,-0.671061539054,-0.670990454977,-0.670919364732,-0.67084826832,-0.670777165742,-0.670706056998,-0.67063494209,-0.670563821017,-0.67049269378,-0.67042156038,-0.670350420818,-0.670279275094,-0.670208123209,-0.670136965164,-0.670065800959,-0.669994630595,-0.669923454072,-0.669852271392,-0.669781082554,-0.66970988756,-0.66963868641,-0.669567479105,-0.669496265646,-0.669425046032,-0.669353820266,-0.669282588347,-0.669211350276,-0.669140106053,-0.66906885568,-0.668997599157,-0.668926336485,-0.668855067665,-0.668783792696,-0.66871251158,-0.668641224317,-0.668569930908,-0.668498631354,-0.668427325655,-0.668356013813,-0.668284695826,-0.668213371698,-0.668142041427,-0.668070705014,-0.667999362461,-0.667928013768,-0.667856658935,-0.667785297963,-0.667713930854,-0.667642557607,-0.667571178223,-0.667499792702,-0.667428401047,-0.667357003256,-0.667285599331,-0.667214189273,-0.667142773082,-0.667071350759,-0.666999922304,-0.666928487718,-0.666857047002,-0.666785600156,-0.666714147181,-0.666642688078,-0.666571222847,-0.66649975149,-0.666428274006,-0.666356790396,-0.666285300662,-0.666213804803,-0.66614230282,-0.666070794714,-0.665999280486,-0.665927760136,-0.665856233666,-0.665784701074,-0.665713162363,-0.665641617533,-0.665570066585,-0.665498509518,-0.665426946335,-0.665355377035,-0.665283801619,-0.665212220088,-0.665140632443,-0.665069038684,-0.664997438811,-0.664925832826,-0.66485422073,-0.664782602522,-0.664710978203,-0.664639347775,-0.664567711237,-0.664496068591,-0.664424419837,-0.664352764976,-0.664281104008,-0.664209436934,-0.664137763755,-0.664066084472,-0.663994399084,-0.663922707593,-0.663851009999,-0.663779306304,-0.663707596507,-0.66363588061,-0.663564158612,-0.663492430515,-0.66342069632,-0.663348956026,-0.663277209635,-0.663205457148,-0.663133698564,-0.663061933885,-0.662990163111,-0.662918386243,-0.662846603282,-0.662774814228,-0.662703019082,-0.662631217845,-0.662559410516,-0.662487597098,-0.66241577759,-0.662343951994,-0.662272120309,-0.662200282537,-0.662128438678,-0.662056588733,-0.661984732702,-0.661912870587,-0.661841002387,-0.661769128104,-0.661697247738,-0.66162536129,-0.66155346876,-0.66148157015,-0.661409665459,-0.661337754689,-0.66126583784,-0.661193914913,-0.661121985908,-0.661050050826,-0.660978109668,-0.660906162435,-0.660834209126,-0.660762249744,-0.660690284287,-0.660618312758,-0.660546335157,-0.660474351484,-0.66040236174,-0.660330365925,-0.660258364041,-0.660186356089,-0.660114342067,-0.660042321979,-0.659970295823,-0.659898263601,-0.659826225313,-0.659754180961,-0.659682130544,-0.659610074063,-0.659538011519,-0.659465942913,-0.659393868246,-0.659321787517,-0.659249700728,-0.659177607879,-0.659105508972,-0.659033404006,-0.658961292982,-0.658889175901,-0.658817052764,-0.658744923571,-0.658672788323,-0.658600647021,-0.658528499665,-0.658456346256,-0.658384186795,-0.658312021282,-0.658239849717,-0.658167672103,-0.658095488439,-0.658023298725,-0.657951102963,-0.657878901154,-0.657806693297,-0.657734479394,-0.657662259445,-0.657590033451,-0.657517801413,-0.657445563331,-0.657373319206,-0.657301069038,-0.657228812829,-0.657156550578,-0.657084282287,-0.657012007956,-0.656939727587,-0.656867441178,-0.656795148732,-0.656722850249,-0.656650545729,-0.656578235174,-0.656505918583,-0.656433595958,-0.6563612673,-0.656288932608,-0.656216591883,-0.656144245127,-0.65607189234,-0.655999533522,-0.655927168674,-0.655854797797,-0.655782420892,-0.655710037959,-0.655637648999,-0.655565254012,-0.655492853,-0.655420445962,-0.6553480329,-0.655275613814,-0.655203188705,-0.655130757573,-0.65505832042,-0.654985877245,-0.65491342805,-0.654840972835,-0.654768511601,-0.654696044349,-0.654623571078,-0.654551091791,-0.654478606487,-0.654406115167,-0.654333617832,-0.654261114482,-0.654188605119,-0.654116089742,-0.654043568353,-0.653971040953,-0.653898507541,-0.653825968118,-0.653753422686,-0.653680871244,-0.653608313795,-0.653535750337,-0.653463180872,-0.6533906054,-0.653318023923,-0.653245436441,-0.653172842954,-0.653100243463,-0.653027637969,-0.652955026473,-0.652882408975,-0.652809785475,-0.652737155975,-0.652664520476,-0.652591878977,-0.65251923148,-0.652446577984,-0.652373918492,-0.652301253003,-0.652228581519,-0.652155904039,-0.652083220565,-0.652010531097,-0.651937835636,-0.651865134182,-0.651792426737,-0.6517197133,-0.651646993873,-0.651574268456,-0.65150153705,-0.651428799656,-0.651356056274,-0.651283306905,-0.651210551549,-0.651137790207,-0.65106502288,-0.650992249569,-0.650919470274,-0.650846684996,-0.650773893736,-0.650701096494,-0.65062829327,-0.650555484067,-0.650482668883,-0.65040984772,-0.650337020579,-0.65026418746,-0.650191348364,-0.650118503292,-0.650045652244,-0.649972795221,-0.649899932223,-0.649827063252,-0.649754188307,-0.649681307391,-0.649608420502,-0.649535527643,-0.649462628813,-0.649389724013,-0.649316813244,-0.649243896507,-0.649170973802,-0.64909804513,-0.649025110492,-0.648952169888,-0.648879223319,-0.648806270786,-0.648733312289,-0.648660347829,-0.648587377406,-0.648514401022,-0.648441418677,-0.648368430372,-0.648295436107,-0.648222435882,-0.6481494297,-0.64807641756,-0.648003399463,-0.64793037541,-0.647857345401,-0.647784309437,-0.647711267519,-0.647638219647,-0.647565165822,-0.647492106045,-0.647419040316,-0.647345968637,-0.647272891007,-0.647199807427,-0.647126717899,-0.647053622422,-0.646980520998,-0.646907413627,-0.646834300309,-0.646761181046,-0.646688055839,-0.646614924687,-0.646541787591,-0.646468644552,-0.646395495572,-0.64632234065,-0.646249179787,-0.646176012983,-0.646102840241,-0.646029661559,-0.645956476939,-0.645883286382,-0.645810089888,-0.645736887458,-0.645663679092,-0.645590464792,-0.645517244557,-0.645444018389,-0.645370786288,-0.645297548255,-0.645224304291,-0.645151054395,-0.64507779857,-0.645004536816,-0.644931269132,-0.644857995521,-0.644784715982,-0.644711430516,-0.644638139125,-0.644564841807,-0.644491538566,-0.6444182294,-0.644344914311,-0.644271593299,-0.644198266365,-0.64412493351,-0.644051594734,-0.643978250039,-0.643904899424,-0.64383154289,-0.643758180438,-0.643684812069,-0.643611437784,-0.643538057582,-0.643464671465,-0.643391279434,-0.643317881489,-0.64324447763,-0.643171067859,-0.643097652176,-0.643024230582,-0.642950803077,-0.642877369662,-0.642803930339,-0.642730485106,-0.642657033966,-0.642583576919,-0.642510113965,-0.642436645105,-0.642363170341,-0.642289689671,-0.642216203098,-0.642142710622,-0.642069212244,-0.641995707963,-0.641922197782,-0.6418486817,-0.641775159719,-0.641701631838,-0.641628098059,-0.641554558382,-0.641481012809,-0.641407461338,-0.641333903973,-0.641260340712,-0.641186771557,-0.641113196508,-0.641039615566,-0.640966028732,-0.640892436007,-0.64081883739,-0.640745232883,-0.640671622487,-0.640598006201,-0.640524384028,-0.640450755966,-0.640377122018,-0.640303482184,-0.640229836464,-0.64015618486,-0.640082527371,-0.640008863998,-0.639935194743,-0.639861519606,-0.639787838587,-0.639714151688,-0.639640458908,-0.639566760249,-0.639493055711,-0.639419345295,-0.639345629002,-0.639271906831,-0.639198178785,-0.639124444864,-0.639050705068,-0.638976959397,-0.638903207854,-0.638829450437,-0.638755687149,-0.63868191799,-0.63860814296,-0.638534362059,-0.63846057529,-0.638386782652,-0.638312984146,-0.638239179773,-0.638165369533,-0.638091553428,-0.638017731457,-0.637943903622,-0.637870069923,-0.63779623036,-0.637722384936,-0.637648533649,-0.637574676501,-0.637500813493,-0.637426944625,-0.637353069898,-0.637279189313,-0.63720530287,-0.637131410569,-0.637057512413,-0.636983608401,-0.636909698533,-0.636835782812,-0.636761861236,-0.636687933808,-0.636614000527,-0.636540061395,-0.636466116412,-0.636392165579,-0.636318208896,-0.636244246364,-0.636170277984,-0.636096303756,-0.636022323682,-0.635948337761,-0.635874345995,-0.635800348384,-0.635726344929,-0.63565233563,-0.635578320489,-0.635504299505,-0.63543027268,-0.635356240015,-0.635282201509,-0.635208157164,-0.63513410698,-0.635060050958,-0.634985989099,-0.634911921403,-0.634837847872,-0.634763768504,-0.634689683303,-0.634615592267,-0.634541495398,-0.634467392697,-0.634393284164,-0.634319169799,-0.634245049604,-0.634170923579,-0.634096791725,-0.634022654043,-0.633948510532,-0.633874361195,-0.633800206031,-0.633726045041,-0.633651878227,-0.633577705588,-0.633503527125,-0.633429342839,-0.633355152731,-0.633280956801,-0.63320675505,-0.633132547479,-0.633058334088,-0.632984114878,-0.632909889851,-0.632835659005,-0.632761422343,-0.632687179864,-0.63261293157,-0.632538677461,-0.632464417538,-0.632390151801,-0.632315880252,-0.63224160289,-0.632167319717,-0.632093030734,-0.63201873594,-0.631944435337,-0.631870128925,-0.631795816705,-0.631721498678,-0.631647174844,-0.631572845204,-0.631498509759,-0.631424168509,-0.631349821456,-0.631275468599,-0.63120110994,-0.631126745478,-0.631052375216,-0.630977999153,-0.63090361729,-0.630829229628,-0.630754836168,-0.63068043691,-0.630606031855,-0.630531621003,-0.630457204356,-0.630382781914,-0.630308353677,-0.630233919647,-0.630159479824,-0.630085034208,-0.630010582801,-0.629936125603,-0.629861662614,-0.629787193837,-0.62971271927,-0.629638238915,-0.629563752772,-0.629489260843,-0.629414763128,-0.629340259627,-0.629265750341,-0.629191235272,-0.629116714419,-0.629042187783,-0.628967655365,-0.628893117166,-0.628818573186,-0.628744023427,-0.628669467888,-0.62859490657,-0.628520339475,-0.628445766602,-0.628371187953,-0.628296603527,-0.628222013327,-0.628147417352,-0.628072815604,-0.627998208082,-0.627923594788,-0.627848975722,-0.627774350885,-0.627699720278,-0.627625083901,-0.627550441755,-0.627475793841,-0.627401140159,-0.62732648071,-0.627251815495,-0.627177144515,-0.627102467769,-0.627027785259,-0.626953096986,-0.62687840295,-0.626803703152,-0.626728997592,-0.626654286272,-0.626579569192,-0.626504846352,-0.626430117753,-0.626355383397,-0.626280643283,-0.626205897412,-0.626131145786,-0.626056388404,-0.625981625268,-0.625906856378,-0.625832081735,-0.625757301339,-0.625682515191,-0.625607723292,-0.625532925643,-0.625458122244,-0.625383313096,-0.625308498199,-0.625233677555,-0.625158851164,-0.625084019026,-0.625009181143,-0.624934337515,-0.624859488142,-0.624784633026,-0.624709772168,-0.624634905566,-0.624560033224,-0.62448515514,-0.624410271317,-0.624335381754,-0.624260486452,-0.624185585412,-0.624110678635,-0.624035766121,-0.623960847871,-0.623885923886,-0.623810994166,-0.623736058713,-0.623661117526,-0.623586170606,-0.623511217955,-0.623436259572,-0.623361295459,-0.623286325616,-0.623211350044,-0.623136368744,-0.623061381715,-0.62298638896,-0.622911390479,-0.622836386271,-0.622761376339,-0.622686360683,-0.622611339302,-0.622536312199,-0.622461279374,-0.622386240827,-0.62231119656,-0.622236146572,-0.622161090865,-0.622086029439,-0.622010962295,-0.621935889433,-0.621860810855,-0.621785726561,-0.621710636551,-0.621635540827,-0.621560439389,-0.621485332238,-0.621410219374,-0.621335100798,-0.621259976511,-0.621184846514,-0.621109710806,-0.62103456939,-0.620959422265,-0.620884269433,-0.620809110893,-0.620733946647,-0.620658776696,-0.620583601039,-0.620508419679,-0.620433232614,-0.620358039847,-0.620282841378,-0.620207637207,-0.620132427335,-0.620057211763,-0.619981990492,-0.619906763522,-0.619831530854,-0.619756292488,-0.619681048426,-0.619605798668,-0.619530543215,-0.619455282067,-0.619380015225,-0.61930474269,-0.619229464462,-0.619154180543,-0.619078890932,-0.619003595631,-0.618928294641,-0.618852987961,-0.618777675593,-0.618702357537,-0.618627033794,-0.618551704365,-0.61847636925,-0.618401028451,-0.618325681967,-0.6182503298,-0.61817497195,-0.618099608417,-0.618024239204,-0.617948864309,-0.617873483735,-0.617798097481,-0.617722705548,-0.617647307938,-0.61757190465,-0.617496495686,-0.617421081045,-0.61734566073,-0.61727023474,-0.617194803076,-0.617119365739,-0.61704392273,-0.616968474049,-0.616893019697,-0.616817559674,-0.616742093982,-0.616666622621,-0.616591145592,-0.616515662895,-0.616440174531,-0.616364680501,-0.616289180805,-0.616213675445,-0.616138164421,-0.616062647733,-0.615987125382,-0.61591159737,-0.615836063696,-0.615760524361,-0.615684979367,-0.615609428713,-0.615533872401,-0.615458310431,-0.615382742804,-0.61530716952,-0.615231590581,-0.615156005986,-0.615080415737,-0.615004819834,-0.614929218279,-0.614853611071,-0.614777998211,-0.614702379701,-0.61462675554,-0.61455112573,-0.614475490271,-0.614399849164,-0.61432420241,-0.614248550008,-0.614172891961,-0.614097228268,-0.614021558931,-0.61394588395,-0.613870203325,-0.613794517058,-0.613718825149,-0.613643127599,-0.613567424408,-0.613491715578,-0.613416001109,-0.613340281001,-0.613264555255,-0.613188823873,-0.613113086854,-0.613037344199,-0.61296159591,-0.612885841986,-0.612810082429,-0.61273431724,-0.612658546417,-0.612582769964,-0.61250698788,-0.612431200166,-0.612355406822,-0.61227960785,-0.61220380325,-0.612127993022,-0.612052177169,-0.611976355689,-0.611900528584,-0.611824695854,-0.611748857501,-0.611673013525,-0.611597163926,-0.611521308706,-0.611445447865,-0.611369581403,-0.611293709322,-0.611217831622,-0.611141948304,-0.611066059369,-0.610990164816,-0.610914264648,-0.610838358864,-0.610762447465,-0.610686530453,-0.610610607827,-0.610534679588,-0.610458745738,-0.610382806276,-0.610306861204,-0.610230910522,-0.610154954231,-0.610078992332,-0.610003024825,-0.60992705171,-0.60985107299,-0.609775088664,-0.609699098733,-0.609623103198,-0.609547102059,-0.609471095317,-0.609395082973,-0.609319065028,-0.609243041482,-0.609167012336,-0.609090977591,-0.609014937247,-0.608938891305,-0.608862839766,-0.608786782631,-0.608710719899,-0.608634651573,-0.608558577652,-0.608482498137,-0.608406413029,-0.608330322329,-0.608254226037,-0.608178124155,-0.608102016682,-0.608025903619,-0.607949784968,-0.607873660728,-0.607797530901,-0.607721395488,-0.607645254488,-0.607569107903,-0.607492955733,-0.607416797979,-0.607340634643,-0.607264465723,-0.607188291222,-0.607112111139,-0.607035925477,-0.606959734234,-0.606883537412,-0.606807335012,-0.606731127035,-0.60665491348,-0.606578694349,-0.606502469643,-0.606426239361,-0.606350003506,-0.606273762077,-0.606197515076,-0.606121262502,-0.606045004357,-0.605968740642,-0.605892471356,-0.605816196502,-0.605739916078,-0.605663630087,-0.605587338529,-0.605511041404,-0.605434738714,-0.605358430459,-0.605282116639,-0.605205797255,-0.605129472309,-0.605053141801,-0.604976805731,-0.6049004641,-0.604824116909,-0.604747764159,-0.60467140585,-0.604595041983,-0.604518672558,-0.604442297577,-0.60436591704,-0.604289530948,-0.604213139302,-0.604136742101,-0.604060339348,-0.603983931042,-0.603907517184,-0.603831097776,-0.603754672817,-0.603678242308,-0.603601806251,-0.603525364646,-0.603448917493,-0.603372464793,-0.603296006547,-0.603219542756,-0.60314307342,-0.60306659854,-0.602990118117,-0.602913632152,-0.602837140644,-0.602760643596,-0.602684141007,-0.602607632878,-0.60253111921,-0.602454600004,-0.60237807526,-0.602301544979,-0.602225009162,-0.60214846781,-0.602071920922,-0.601995368501,-0.601918810546,-0.601842247059,-0.601765678039,-0.601689103488,-0.601612523407,-0.601535937795,-0.601459346655,-0.601382749986,-0.601306147789,-0.601229540065,-0.601152926815,-0.601076308039,-0.600999683738,-0.600923053913,-0.600846418564,-0.600769777693,-0.600693131299,-0.600616479384,-0.600539821948,-0.600463158992,-0.600386490517,-0.600309816523,-0.600233137011,-0.600156451982,-0.600079761437,-0.600003065375,-0.599926363799,-0.599849656708,-0.599772944104,-0.599696225986,-0.599619502356,-0.599542773215,-0.599466038563,-0.599389298401,-0.599312552729,-0.599235801548,-0.59915904486,-0.599082282664,-0.599005514961,-0.598928741752,-0.598851963039,-0.59877517882,-0.598698389098,-0.598621593873,-0.598544793146,-0.598467986916,-0.598391175186,-0.598314357955,-0.598237535225,-0.598160706996,-0.598083873269,-0.598007034045,-0.597930189323,-0.597853339106,-0.597776483393,-0.597699622186,-0.597622755484,-0.59754588329,-0.597469005603,-0.597392122424,-0.597315233754,-0.597238339593,-0.597161439943,-0.597084534804,-0.597007624177,-0.596930708062,-0.59685378646,-0.596776859373,-0.596699926799,-0.596622988741,-0.596546045199,-0.596469096174,-0.596392141666,-0.596315181676,-0.596238216205,-0.596161245253,-0.596084268822,-0.596007286911,-0.595930299522,-0.595853306656,-0.595776308312,-0.595699304492,-0.595622295197,-0.595545280427,-0.595468260183,-0.595391234465,-0.595314203275,-0.595237166612,-0.595160124479,-0.595083076875,-0.5950060238,-0.594928965257,-0.594851901245,-0.594774831766,-0.594697756819,-0.594620676407,-0.594543590528,-0.594466499185,-0.594389402377,-0.594312300106,-0.594235192372,-0.594158079176,-0.594080960519,-0.594003836401,-0.593926706823,-0.593849571785,-0.59377243129,-0.593695285336,-0.593618133925,-0.593540977058,-0.593463814735,-0.593386646958,-0.593309473725,-0.59323229504,-0.593155110901,-0.593077921311,-0.593000726268,-0.592923525776,-0.592846319833,-0.59276910844,-0.5926918916,-0.592614669311,-0.592537441575,-0.592460208393,-0.592382969764,-0.592305725691,-0.592228476174,-0.592151221212,-0.592073960808,-0.591996694962,-0.591919423674,-0.591842146946,-0.591764864777,-0.591687577169,-0.591610284122,-0.591532985637,-0.591455681715,-0.591378372357,-0.591301057562,-0.591223737333,-0.591146411669,-0.591069080572,-0.590991744041,-0.590914402078,-0.590837054684,-0.590759701859,-0.590682343604,-0.590604979919,-0.590527610805,-0.590450236264,-0.590372856295,-0.5902954709,-0.590218080079,-0.590140683832,-0.590063282161,-0.589985875067,-0.589908462549,-0.589831044609,-0.589753621248,-0.589676192466,-0.589598758263,-0.589521318641,-0.5894438736,-0.589366423141,-0.589288967265,-0.589211505973,-0.589134039264,-0.58905656714,-0.588979089602,-0.58890160665,-0.588824118285,-0.588746624507,-0.588669125318,-0.588591620718,-0.588514110708,-0.588436595288,-0.588359074459,-0.588281548223,-0.588204016579,-0.588126479528,-0.588048937072,-0.58797138921,-0.587893835943,-0.587816277273,-0.5877387132,-0.587661143725,-0.587583568848,-0.587505988569,-0.587428402891,-0.587350811813,-0.587273215337,-0.587195613462,-0.58711800619,-0.587040393521,-0.586962775456,-0.586885151996,-0.586807523142,-0.586729888893,-0.586652249252,-0.586574604218,-0.586496953793,-0.586419297976,-0.58634163677,-0.586263970174,-0.586186298189,-0.586108620815,-0.586030938055,-0.585953249908,-0.585875556375,-0.585797857456,-0.585720153154,-0.585642443467,-0.585564728397,-0.585487007945,-0.585409282111,-0.585331550896,-0.585253814301,-0.585176072327,-0.585098324973,-0.585020572242,-0.584942814133,-0.584865050648,-0.584787281786,-0.584709507549,-0.584631727938,-0.584553942953,-0.584476152595,-0.584398356864,-0.584320555762,-0.584242749289,-0.584164937446,-0.584087120233,-0.584009297651,-0.583931469701,-0.583853636384,-0.5837757977,-0.583697953651,-0.583620104236,-0.583542249456,-0.583464389313,-0.583386523806,-0.583308652938,-0.583230776707,-0.583152895116,-0.583075008164,-0.582997115853,-0.582919218184,-0.582841315156,-0.582763406771,-0.582685493029,-0.582607573931,-0.582529649478,-0.58245171967,-0.582373784509,-0.582295843995,-0.582217898128,-0.58213994691,-0.582061990341,-0.581984028421,-0.581906061153,-0.581828088535,-0.581750110569,-0.581672127256,-0.581594138597,-0.581516144591,-0.581438145241,-0.581360140546,-0.581282130507,-0.581204115125,-0.581126094401,-0.581048068335,-0.580970036929,-0.580892000182,-0.580813958096,-0.580735910671,-0.580657857908,-0.580579799808,-0.580501736371,-0.580423667598,-0.580345593491,-0.580267514049,-0.580189429273,-0.580111339164,-0.580033243723,-0.57995514295,-0.579877036847,-0.579798925413,-0.579720808651,-0.579642686559,-0.579564559139,-0.579486426393,-0.579408288319,-0.57933014492,-0.579251996196,-0.579173842148,-0.579095682775,-0.57901751808,-0.578939348063,-0.578861172724,-0.578782992065,-0.578704806085,-0.578626614786,-0.578548418169,-0.578470216233,-0.578392008981,-0.578313796412,-0.578235578527,-0.578157355327,-0.578079126813,-0.578000892985,-0.577922653845,-0.577844409392,-0.577766159628,-0.577687904553,-0.577609644168,-0.577531378474,-0.577453107472,-0.577374831161,-0.577296549544,-0.57721826262,-0.57713997039,-0.577061672856,-0.576983370017,-0.576905061875,-0.57682674843,-0.576748429682,-0.576670105634,-0.576591776285,-0.576513441636,-0.576435101688,-0.576356756441,-0.576278405897,-0.576200050055,-0.576121688917,-0.576043322484,-0.575964950756,-0.575886573734,-0.575808191418,-0.575729803809,-0.575651410909,-0.575573012717,-0.575494609235,-0.575416200463,-0.575337786402,-0.575259367052,-0.575180942415,-0.575102512491,-0.57502407728,-0.574945636784,-0.574867191004,-0.574788739939,-0.574710283591,-0.57463182196,-0.574553355048,-0.574474882854,-0.57439640538,-0.574317922626,-0.574239434593,-0.574160941282,-0.574082442693,-0.574003938827,-0.573925429686,-0.573846915269,-0.573768395577,-0.573689870611,-0.573611340372,-0.57353280486,-0.573454264077,-0.573375718023,-0.573297166698,-0.573218610104,-0.57314004824,-0.573061481109,-0.57298290871,-0.572904331045,-0.572825748113,-0.572747159916,-0.572668566454,-0.572589967729,-0.572511363741,-0.57243275449,-0.572354139977,-0.572275520204,-0.57219689517,-0.572118264877,-0.572039629325,-0.571960988515,-0.571882342447,-0.571803691123,-0.571725034543,-0.571646372708,-0.571567705618,-0.571489033275,-0.571410355679,-0.57133167283,-0.57125298473,-0.571174291379,-0.571095592778,-0.571016888928,-0.570938179828,-0.570859465481,-0.570780745887,-0.570702021046,-0.57062329096,-0.570544555628,-0.570465815052,-0.570387069232,-0.57030831817,-0.570229561865,-0.570150800319,-0.570072033533,-0.569993261506,-0.56991448424,-0.569835701736,-0.569756913993,-0.569678121014,-0.569599322798,-0.569520519347,-0.569441710661,-0.56936289674,-0.569284077586,-0.5692052532,-0.569126423581,-0.569047588731,-0.568968748651,-0.56888990334,-0.568811052801,-0.568732197033,-0.568653336037,-0.568574469815,-0.568495598366,-0.568416721692,-0.568337839793,-0.56825895267,-0.568180060324,-0.568101162755,-0.568022259964,-0.567943351952,-0.56786443872,-0.567785520268,-0.567706596597,-0.567627667708,-0.567548733601,-0.567469794278,-0.567390849738,-0.567311899983,-0.567232945014,-0.567153984831,-0.567075019434,-0.566996048825,-0.566917073004,-0.566838091973,-0.566759105731,-0.56668011428,-0.566601117619,-0.566522115751,-0.566443108675,-0.566364096393,-0.566285078905,-0.566206056212,-0.566127028314,-0.566047995212,-0.565968956908,-0.565889913401,-0.565810864693,-0.565731810784,-0.565652751674,-0.565573687366,-0.565494617859,-0.565415543154,-0.565336463251,-0.565257378153,-0.565178287858,-0.565099192369,-0.565020091685,-0.564940985808,-0.564861874738,-0.564782758476,-0.564703637022,-0.564624510378,-0.564545378544,-0.564466241521,-0.564387099309,-0.564307951909,-0.564228799323,-0.56414964155,-0.564070478592,-0.563991310449,-0.563912137122,-0.563832958611,-0.563753774918,-0.563674586043,-0.563595391987,-0.56351619275,-0.563436988334,-0.563357778739,-0.563278563965,-0.563199344014,-0.563120118886,-0.563040888582,-0.562961653102,-0.562882412448,-0.56280316662,-0.562723915619,-0.562644659446,-0.562565398101,-0.562486131584,-0.562406859898,-0.562327583042,-0.562248301017,-0.562169013824,-0.562089721464,-0.562010423937,-0.561931121245,-0.561851813387,-0.561772500365,-0.561693182179,-0.56161385883,-0.561534530319,-0.561455196646,-0.561375857813,-0.561296513819,-0.561217164666,-0.561137810355,-0.561058450886,-0.560979086259,-0.560899716477,-0.560820341538,-0.560740961445,-0.560661576197,-0.560582185796,-0.560502790242,-0.560423389537,-0.56034398368,-0.560264572672,-0.560185156514,-0.560105735208,-0.560026308753,-0.55994687715,-0.559867440401,-0.559787998505,-0.559708551464,-0.559629099278,-0.559549641948,-0.559470179475,-0.559390711859,-0.559311239102,-0.559231761203,-0.559152278164,-0.559072789986,-0.558993296668,-0.558913798213,-0.55883429462,-0.55875478589,-0.558675272025,-0.558595753024,-0.558516228889,-0.55843669962,-0.558357165218,-0.558277625683,-0.558198081017,-0.558118531221,-0.558038976294,-0.557959416237,-0.557879851053,-0.55780028074,-0.5577207053,-0.557641124733,-0.557561539041,-0.557481948224,-0.557402352283,-0.557322751218,-0.55724314503,-0.55716353372,-0.557083917289,-0.557004295737,-0.556924669066,-0.556845037275,-0.556765400366,-0.556685758339,-0.556606111196,-0.556526458936,-0.55644680156,-0.55636713907,-0.556287471466,-0.556207798749,-0.556128120919,-0.556048437977,-0.555968749924,-0.555889056761,-0.555809358488,-0.555729655107,-0.555649946617,-0.55557023302,-0.555490514316,-0.555410790506,-0.555331061591,-0.555251327571,-0.555171588448,-0.555091844222,-0.555012094893,-0.554932340463,-0.554852580932,-0.554772816301,-0.55469304657,-0.554613271741,-0.554533491814,-0.55445370679,-0.55437391667,-0.554294121454,-0.554214321142,-0.554134515737,-0.554054705238,-0.553974889647,-0.553895068963,-0.553815243188,-0.553735412323,-0.553655576367,-0.553575735323,-0.55349588919,-0.55341603797,-0.553336181663,-0.55325632027,-0.553176453791,-0.553096582227,-0.55301670558,-0.552936823849,-0.552856937036,-0.552777045142,-0.552697148166,-0.55261724611,-0.552537338974,-0.55245742676,-0.552377509467,-0.552297587097,-0.552217659651,-0.552137727129,-0.552057789531,-0.551977846859,-0.551897899114,-0.551817946295,-0.551737988405,-0.551658025443,-0.55157805741,-0.551498084307,-0.551418106135,-0.551338122894,-0.551258134586,-0.551178141211,-0.551098142769,-0.551018139262,-0.55093813069,-0.550858117053,-0.550778098354,-0.550698074592,-0.550618045768,-0.550538011882,-0.550457972937,-0.550377928931,-0.550297879867,-0.550217825744,-0.550137766564,-0.550057702327,-0.549977633035,-0.549897558687,-0.549817479284,-0.549737394827,-0.549657305318,-0.549577210756,-0.549497111143,-0.549417006478,-0.549336896764,-0.549256782,-0.549176662188,-0.549096537327,-0.54901640742,-0.548936272466,-0.548856132466,-0.548775987421,-0.548695837333,-0.5486156822,-0.548535522025,-0.548455356808,-0.548375186549,-0.54829501125,-0.548214830912,-0.548134645534,-0.548054455118,-0.547974259664,-0.547894059173,-0.547813853646,-0.547733643084,-0.547653427487,-0.547573206857,-0.547492981193,-0.547412750496,-0.547332514768,-0.547252274009,-0.54717202822,-0.547091777401,-0.547011521554,-0.546931260678,-0.546850994775,-0.546770723846,-0.546690447891,-0.546610166911,-0.546529880906,-0.546449589878,-0.546369293827,-0.546288992754,-0.54620868666,-0.546128375545,-0.54604805941,-0.545967738256,-0.545887412083,-0.545807080893,-0.545726744686,-0.545646403463,-0.545566057224,-0.54548570597,-0.545405349703,-0.545324988422,-0.545244622129,-0.545164250824,-0.545083874508,-0.545003493181,-0.544923106845,-0.544842715501,-0.544762319148,-0.544681917788,-0.544601511421,-0.544521100048,-0.544440683671,-0.544360262288,-0.544279835903,-0.544199404514,-0.544118968123,-0.544038526731,-0.543958080338,-0.543877628945,-0.543797172553,-0.543716711162,-0.543636244774,-0.543555773389,-0.543475297007,-0.54339481563,-0.543314329258,-0.543233837893,-0.543153341534,-0.543072840182,-0.542992333838,-0.542911822504,-0.542831306179,-0.542750784865,-0.542670258561,-0.54258972727,-0.542509190991,-0.542428649726,-0.542348103474,-0.542267552238,-0.542186996017,-0.542106434812,-0.542025868625,-0.541945297455,-0.541864721304,-0.541784140172,-0.541703554061,-0.54162296297,-0.5415423669,-0.541461765853,-0.541381159829,-0.541300548828,-0.541219932853,-0.541139311902,-0.541058685977,-0.540978055079,-0.540897419208,-0.540816778366,-0.540736132552,-0.540655481768,-0.540574826015,-0.540494165293,-0.540413499602,-0.540332828945,-0.54025215332,-0.54017147273,-0.540090787174,-0.540010096655,-0.539929401171,-0.539848700725,-0.539767995316,-0.539687284946,-0.539606569616,-0.539525849325,-0.539445124075,-0.539364393867,-0.539283658701,-0.539202918578,-0.539122173499,-0.539041423464,-0.538960668474,-0.538879908531,-0.538799143634,-0.538718373785,-0.538637598984,-0.538556819232,-0.538476034529,-0.538395244877,-0.538314450277,-0.538233650728,-0.538152846232,-0.538072036789,-0.5379912224,-0.537910403067,-0.537829578789,-0.537748749567,-0.537667915402,-0.537587076296,-0.537506232248,-0.537425383259,-0.53734452933,-0.537263670463,-0.537182806656,-0.537101937913,-0.537021064232,-0.536940185615,-0.536859302062,-0.536778413575,-0.536697520154,-0.5366166218,-0.536535718513,-0.536454810295,-0.536373897146,-0.536292979066,-0.536212056057,-0.536131128119,-0.536050195253,-0.53596925746,-0.53588831474,-0.535807367095,-0.535726414524,-0.53564545703,-0.535564494611,-0.53548352727,-0.535402555007,-0.535321577823,-0.535240595718,-0.535159608693,-0.535078616749,-0.534997619887,-0.534916618107,-0.534835611411,-0.534754599798,-0.53467358327,-0.534592561827,-0.534511535471,-0.534430504201,-0.534349468019,-0.534268426926,-0.534187380921,-0.534106330006,-0.534025274182,-0.53394421345,-0.533863147809,-0.533782077261,-0.533701001807,-0.533619921447,-0.533538836183,-0.533457746014,-0.533376650941,-0.533295550966,-0.533214446089,-0.533133336311,-0.533052221633,-0.532971102054,-0.532889977577,-0.532808848202,-0.532727713929,-0.532646574759,-0.532565430693,-0.532484281733,-0.532403127877,-0.532321969128,-0.532240805486,-0.532159636952,-0.532078463526,-0.531997285209,-0.531916102003,-0.531834913907,-0.531753720923,-0.531672523051,-0.531591320292,-0.531510112646,-0.531428900115,-0.5313476827,-0.5312664604,-0.531185233217,-0.531104001151,-0.531022764204,-0.530941522376,-0.530860275667,-0.530779024079,-0.530697767612,-0.530616506266,-0.530535240044,-0.530453968945,-0.53037269297,-0.53029141212,-0.530210126396,-0.530128835798,-0.530047540328,-0.529966239985,-0.529884934771,-0.529803624686,-0.529722309732,-0.529640989908,-0.529559665216,-0.529478335657,-0.52939700123,-0.529315661938,-0.52923431778,-0.529152968758,-0.529071614872,-0.528990256122,-0.52890889251,-0.528827524037,-0.528746150703,-0.528664772508,-0.528583389455,-0.528502001542,-0.528420608772,-0.528339211145,-0.528257808661,-0.528176401321,-0.528094989127,-0.528013572079,-0.527932150177,-0.527850723423,-0.527769291816,-0.527687855359,-0.527606414051,-0.527524967893,-0.527443516887,-0.527362061032,-0.52728060033,-0.527199134782,-0.527117664387,-0.527036189148,-0.526954709064,-0.526873224136,-0.526791734365,-0.526710239753,-0.526628740298,-0.526547236004,-0.526465726869,-0.526384212895,-0.526302694083,-0.526221170433,-0.526139641946,-0.526058108623,-0.525976570464,-0.525895027471,-0.525813479644,-0.525731926984,-0.525650369491,-0.525568807167,-0.525487240012,-0.525405668026,-0.525324091212,-0.525242509568,-0.525160923097,-0.525079331798,-0.524997735673,-0.524916134723,-0.524834528947,-0.524752918347,-0.524671302924,-0.524589682678,-0.524508057611,-0.524426427722,-0.524344793013,-0.524263153484,-0.524181509136,-0.52409985997,-0.524018205986,-0.523936547186,-0.52385488357,-0.523773215139,-0.523691541893,-0.523609863834,-0.523528180962,-0.523446493278,-0.523364800782,-0.523283103476,-0.523201401359,-0.523119694434,-0.5230379827,-0.522956266159,-0.52287454481,-0.522792818656,-0.522711087696,-0.522629351931,-0.522547611363,-0.522465865991,-0.522384115817,-0.522302360841,-0.522220601065,-0.522138836488,-0.522057067112,-0.521975292937,-0.521893513965,-0.521811730195,-0.521729941629,-0.521648148267,-0.52156635011,-0.521484547159,-0.521402739415,-0.521320926879,-0.52123910955,-0.52115728743,-0.52107546052,-0.52099362882,-0.520911792332,-0.520829951055,-0.520748104991,-0.52066625414,-0.520584398504,-0.520502538082,-0.520420672876,-0.520338802887,-0.520256928114,-0.52017504856,-0.520093164224,-0.520011275108,-0.519929381211,-0.519847482536,-0.519765579082,-0.519683670851,-0.519601757843,-0.519519840059,-0.5194379175,-0.519355990166,-0.519274058058,-0.519192121177,-0.519110179524,-0.519028233099,-0.518946281904,-0.518864325938,-0.518782365203,-0.5187003997,-0.518618429429,-0.518536454391,-0.518454474586,-0.518372490016,-0.518290500681,-0.518208506583,-0.518126507721,-0.518044504096,-0.51796249571,-0.517880482562,-0.517798464655,-0.517716441988,-0.517634414562,-0.517552382378,-0.517470345437,-0.51738830374,-0.517306257287,-0.517224206079,-0.517142150116,-0.5170600894,-0.516978023932,-0.516895953711,-0.51681387874,-0.516731799018,-0.516649714546,-0.516567625325,-0.516485531356,-0.51640343264,-0.516321329177,-0.516239220968,-0.516157108014,-0.516074990315,-0.515992867873,-0.515910740688,-0.515828608761,-0.515746472092,-0.515664330683,-0.515582184534,-0.515500033646,-0.515417878019,-0.515335717655,-0.515253552554,-0.515171382717,-0.515089208145,-0.515007028838,-0.514924844797,-0.514842656023,-0.514760462517,-0.514678264279,-0.51459606131,-0.514513853611,-0.514431641183,-0.514349424027,-0.514267202142,-0.514184975531,-0.514102744193,-0.51402050813,-0.513938267342,-0.51385602183,-0.513773771595,-0.513691516637,-0.513609256958,-0.513526992557,-0.513444723437,-0.513362449596,-0.513280171038,-0.513197887761,-0.513115599767,-0.513033307056,-0.51295100963,-0.512868707489,-0.512786400634,-0.512704089065,-0.512621772783,-0.51253945179,-0.512457126086,-0.512374795671,-0.512292460546,-0.512210120713,-0.512127776172,-0.512045426923,-0.511963072967,-0.511880714306,-0.511798350939,-0.511715982869,-0.511633610094,-0.511551232617,-0.511468850438,-0.511386463557,-0.511304071976,-0.511221675695,-0.511139274715,-0.511056869037,-0.510974458661,-0.510892043589,-0.51080962382,-0.510727199357,-0.510644770198,-0.510562336346,-0.510479897801,-0.510397454564,-0.510315006635,-0.510232554016,-0.510150096707,-0.510067634708,-0.509985168021,-0.509902696647,-0.509820220585,-0.509737739837,-0.509655254404,-0.509572764287,-0.509490269485,-0.50940777,-0.509325265833,-0.509242756984,-0.509160243455,-0.509077725245,-0.508995202356,-0.508912674789,-0.508830142543,-0.508747605621,-0.508665064022,-0.508582517748,-0.508499966799,-0.508417411175,-0.508334850879,-0.50825228591,-0.50816971627,-0.508087141958,-0.508004562976,-0.507921979325,-0.507839391005,-0.507756798017,-0.507674200362,-0.50759159804,-0.507508991053,-0.507426379401,-0.507343763084,-0.507261142105,-0.507178516462,-0.507095886158,-0.507013251193,-0.506930611567,-0.506847967282,-0.506765318338,-0.506682664736,-0.506600006476,-0.50651734356,-0.506434675988,-0.506352003761,-0.50626932688,-0.506186645345,-0.506103959158,-0.506021268318,-0.505938572827,-0.505855872686,-0.505773167895,-0.505690458455,-0.505607744367,-0.505525025632,-0.50544230225,-0.505359574222,-0.505276841548,-0.505194104231,-0.505111362269,-0.505028615665,-0.504945864419,-0.504863108531,-0.504780348003,-0.504697582835,-0.504614813028,-0.504532038582,-0.504449259499,-0.50436647578,-0.504283687424,-0.504200894433,-0.504118096807,-0.504035294548,-0.503952487655,-0.503869676131,-0.503786859975,-0.503704039188,-0.503621213772,-0.503538383726,-0.503455549051,-0.50337270975,-0.503289865821,-0.503207017266,-0.503124164086,-0.503041306281,-0.502958443852,-0.5028755768,-0.502792705126,-0.50270982883,-0.502626947914,-0.502544062377,-0.502461172221,-0.502378277447,-0.502295378055,-0.502212474046,-0.50212956542,-0.50204665218,-0.501963734324,-0.501880811855,-0.501797884772,-0.501714953077,-0.50163201677,-0.501549075853,-0.501466130325,-0.501383180188,-0.501300225442,-0.501217266089,-0.501134302128,-0.501051333561,-0.500968360389,-0.500885382611,-0.50080240023,-0.500719413245,-0.500636421658,-0.500553425469,-0.50047042468,-0.50038741929,-0.5003044093,-0.500221394712,-0.500138375526,-0.500055351742,-0.499972323363,-0.499889290387,-0.499806252817,-0.499723210653,-0.499640163895,-0.499557112545,-0.499474056603,-0.49939099607,-0.499307930946,-0.499224861234,-0.499141786932,-0.499058708042,-0.498975624565,-0.498892536502,-0.498809443853,-0.498726346619,-0.4986432448,-0.498560138399,-0.498477027414,-0.498393911848,-0.498310791701,-0.498227666973,-0.498144537665,-0.498061403779,-0.497978265315,-0.497895122273,-0.497811974655,-0.497728822461,-0.497645665692,-0.497562504349,-0.497479338433,-0.497396167943,-0.497312992882,-0.497229813249,-0.497146629046,-0.497063440274,-0.496980246932,-0.496897049023,-0.496813846546,-0.496730639502,-0.496647427893,-0.496564211718,-0.496480990979,-0.496397765677,-0.496314535811,-0.496231301384,-0.496148062396,-0.496064818847,-0.495981570738,-0.495898318071,-0.495815060845,-0.495731799061,-0.495648532722,-0.495565261826,-0.495481986375,-0.49539870637,-0.495315421811,-0.495232132699,-0.495148839035,-0.49506554082,-0.494982238054,-0.494898930739,-0.494815618875,-0.494732302462,-0.494648981502,-0.494565655995,-0.494482325942,-0.494398991344,-0.494315652202,-0.494232308516,-0.494148960287,-0.494065607516,-0.493982250204,-0.493898888351,-0.493815521958,-0.493732151026,-0.493648775556,-0.493565395549,-0.493482011004,-0.493398621924,-0.493315228309,-0.493231830159,-0.493148427475,-0.493065020259,-0.49298160851,-0.49289819223,-0.492814771419,-0.492731346079,-0.492647916209,-0.492564481811,-0.492481042886,-0.492397599433,-0.492314151455,-0.492230698951,-0.492147241923,-0.492063780372,-0.491980314297,-0.4918968437,-0.491813368582,-0.491729888943,-0.491646404784,-0.491562916107,-0.49147942291,-0.491395925197,-0.491312422966,-0.491228916219,-0.491145404957,-0.491061889181,-0.490978368891,-0.490894844088,-0.490811314773,-0.490727780946,-0.490644242608,-0.490560699761,-0.490477152405,-0.49039360054,-0.490310044167,-0.490226483288,-0.490142917903,-0.490059348012,-0.489975773617,-0.489892194719,-0.489808611317,-0.489725023413,-0.489641431007,-0.489557834101,-0.489474232695,-0.48939062679,-0.489307016386,-0.489223401485,-0.489139782087,-0.489056158193,-0.488972529804,-0.48888889692,-0.488805259542,-0.488721617671,-0.488637971309,-0.488554320454,-0.488470665109,-0.488387005274,-0.48830334095,-0.488219672138,-0.488135998838,-0.488052321051,-0.487968638778,-0.487884952019,-0.487801260776,-0.48771756505,-0.48763386484,-0.487550160148,-0.487466450975,-0.487382737321,-0.487299019187,-0.487215296574,-0.487131569483,-0.487047837914,-0.486964101868,-0.486880361346,-0.486796616349,-0.486712866877,-0.486629112932,-0.486545354513,-0.486461591622,-0.48637782426,-0.486294052427,-0.486210276124,-0.486126495353,-0.486042710112,-0.485958920404,-0.48587512623,-0.485791327589,-0.485707524483,-0.485623716912,-0.485539904878,-0.485456088381,-0.485372267421,-0.485288442,-0.485204612119,-0.485120777777,-0.485036938976,-0.484953095717,-0.484869248001,-0.484785395827,-0.484701539198,-0.484617678113,-0.484533812574,-0.484449942581,-0.484366068135,-0.484282189237,-0.484198305888,-0.484114418087,-0.484030525837,-0.483946629138,-0.483862727991,-0.483778822396,-0.483694912354,-0.483610997866,-0.483527078933,-0.483443155555,-0.483359227734,-0.48327529547,-0.483191358763,-0.483107417616,-0.483023472027,-0.482939521999,-0.482855567532,-0.482771608626,-0.482687645283,-0.482603677503,-0.482519705287,-0.482435728636,-0.482351747551,-0.482267762031,-0.482183772079,-0.482099777695,-0.482015778879,-0.481931775633,-0.481847767957,-0.481763755852,-0.481679739319,-0.481595718358,-0.48151169297,-0.481427663157,-0.481343628918,-0.481259590255,-0.481175547168,-0.481091499659,-0.481007447727,-0.480923391374,-0.4808393306,-0.480755265407,-0.480671195795,-0.480587121764,-0.480503043316,-0.480418960451,-0.480334873171,-0.480250781475,-0.480166685365,-0.480082584841,-0.479998479905,-0.479914370556,-0.479830256797,-0.479746138626,-0.479662016046,-0.479577889057,-0.47949375766,-0.479409621856,-0.479325481644,-0.479241337027,-0.479157188005,-0.479073034579,-0.478988876749,-0.478904714516,-0.478820547881,-0.478736376845,-0.478652201409,-0.478568021573,-0.478483837338,-0.478399648705,-0.478315455675,-0.478231258248,-0.478147056425,-0.478062850207,-0.477978639595,-0.477894424589,-0.477810205191,-0.477725981401,-0.47764175322,-0.477557520648,-0.477473283687,-0.477389042337,-0.477304796598,-0.477220546473,-0.477136291961,-0.477052033063,-0.47696776978,-0.476883502114,-0.476799230063,-0.47671495363,-0.476630672816,-0.47654638762,-0.476462098044,-0.476377804088,-0.476293505753,-0.476209203041,-0.476124895951,-0.476040584485,-0.475956268643,-0.475871948427,-0.475787623836,-0.475703294872,-0.475618961535,-0.475534623827,-0.475450281747,-0.475365935297,-0.475281584478,-0.47519722929,-0.475112869735,-0.475028505812,-0.474944137522,-0.474859764868,-0.474775387848,-0.474691006464,-0.474606620717,-0.474522230608,-0.474437836137,-0.474353437305,-0.474269034112,-0.474184626561,-0.474100214651,-0.474015798383,-0.473931377757,-0.473846952776,-0.473762523439,-0.473678089748,-0.473593651702,-0.473509209303,-0.473424762552,-0.47334031145,-0.473255855996,-0.473171396192,-0.473086932039,-0.473002463538,-0.472917990689,-0.472833513493,-0.47274903195,-0.472664546063,-0.47258005583,-0.472495561254,-0.472411062335,-0.472326559073,-0.47224205147,-0.472157539526,-0.472073023242,-0.471988502619,-0.471903977658,-0.471819448359,-0.471734914723,-0.471650376751,-0.471565834443,-0.471481287802,-0.471396736826,-0.471312181517,-0.471227621877,-0.471143057904,-0.471058489601,-0.470973916969,-0.470889340007,-0.470804758717,-0.470720173099,-0.470635583155,-0.470550988884,-0.470466390289,-0.470381787369,-0.470297180125,-0.470212568558,-0.47012795267,-0.47004333246,-0.469958707929,-0.469874079079,-0.46978944591,-0.469704808422,-0.469620166617,-0.469535520496,-0.469450870058,-0.469366215306,-0.469281556239,-0.469196892859,-0.469112225165,-0.46902755316,-0.468942876844,-0.468858196217,-0.468773511281,-0.468688822036,-0.468604128483,-0.468519430622,-0.468434728455,-0.468350021982,-0.468265311204,-0.468180596122,-0.468095876736,-0.468011153048,-0.467926425058,-0.467841692767,-0.467756956176,-0.467672215285,-0.467587470095,-0.467502720608,-0.467417966823,-0.467333208742,-0.467248446365,-0.467163679694,-0.467078908728,-0.466994133469,-0.466909353917,-0.466824570074,-0.46673978194,-0.466654989516,-0.466570192802,-0.466485391799,-0.466400586509,-0.466315776932,-0.466230963068,-0.466146144919,-0.466061322486,-0.465976495768,-0.465891664767,-0.465806829484,-0.465721989919,-0.465637146073,-0.465552297948,-0.465467445543,-0.46538258886,-0.465297727898,-0.46521286266,-0.465127993146,-0.465043119357,-0.464958241293,-0.464873358955,-0.464788472344,-0.464703581461,-0.464618686306,-0.464533786881,-0.464448883186,-0.464363975222,-0.464279062989,-0.464194146489,-0.464109225722,-0.464024300689,-0.463939371391,-0.463854437828,-0.463769500002,-0.463684557913,-0.463599611562,-0.463514660949,-0.463429706076,-0.463344746944,-0.463259783552,-0.463174815902,-0.463089843995,-0.463004867831,-0.462919887411,-0.462834902736,-0.462749913807,-0.462664920624,-0.462579923189,-0.462494921502,-0.462409915563,-0.462324905375,-0.462239890936,-0.462154872249,-0.462069849314,-0.461984822131,-0.461899790702,-0.461814755028,-0.461729715108,-0.461644670945,-0.461559622538,-0.461474569888,-0.461389512997,-0.461304451865,-0.461219386492,-0.46113431688,-0.46104924303,-0.460964164941,-0.460879082616,-0.460793996054,-0.460708905256,-0.460623810224,-0.460538710958,-0.460453607459,-0.460368499727,-0.460283387764,-0.46019827157,-0.460113151146,-0.460028026493,-0.459942897611,-0.459857764501,-0.459772627165,-0.459687485602,-0.459602339814,-0.459517189802,-0.459432035566,-0.459346877106,-0.459261714425,-0.459176547522,-0.459091376398,-0.459006201055,-0.458921021492,-0.458835837712,-0.458750649713,-0.458665457498,-0.458580261067,-0.458495060421,-0.45840985556,-0.458324646486,-0.458239433199,-0.4581542157,-0.45806899399,-0.457983768069,-0.457898537938,-0.457813303599,-0.457728065051,-0.457642822297,-0.457557575335,-0.457472324168,-0.457387068796,-0.457301809219,-0.45721654544,-0.457131277457,-0.457046005273,-0.456960728888,-0.456875448302,-0.456790163517,-0.456704874533,-0.456619581351,-0.456534283972,-0.456448982397,-0.456363676626,-0.45627836666,-0.456193052501,-0.456107734148,-0.456022411602,-0.455937084865,-0.455851753937,-0.455766418819,-0.455681079512,-0.455595736016,-0.455510388333,-0.455425036462,-0.455339680406,-0.455254320163,-0.455168955737,-0.455083587126,-0.454998214333,-0.454912837357,-0.4548274562,-0.454742070862,-0.454656681344,-0.454571287647,-0.454485889772,-0.454400487719,-0.45431508149,-0.454229671084,-0.454144256504,-0.454058837749,-0.45397341482,-0.453887987718,-0.453802556445,-0.453717121,-0.453631681385,-0.4535462376,-0.453460789646,-0.453375337524,-0.453289881235,-0.453204420779,-0.453118956157,-0.453033487371,-0.45294801442,-0.452862537306,-0.452777056029,-0.452691570591,-0.452606080991,-0.452520587231,-0.452435089312,-0.452349587234,-0.452264080998,-0.452178570605,-0.452093056055,-0.45200753735,-0.451922014491,-0.451836487477,-0.45175095631,-0.451665420991,-0.45157988152,-0.451494337898,-0.451408790127,-0.451323238206,-0.451237682136,-0.451152121919,-0.451066557555,-0.450980989045,-0.45089541639,-0.45080983959,-0.450724258646,-0.450638673559,-0.45055308433,-0.45046749096,-0.450381893449,-0.450296291799,-0.450210686009,-0.450125076081,-0.450039462016,-0.449953843814,-0.449868221476,-0.449782595003,-0.449696964395,-0.449611329655,-0.449525690781,-0.449440047776,-0.449354400639,-0.449268749372,-0.449183093975,-0.44909743445,-0.449011770796,-0.448926103016,-0.448840431109,-0.448754755076,-0.448669074918,-0.448583390637,-0.448497702232,-0.448412009704,-0.448326313055,-0.448240612285,-0.448154907395,-0.448069198386,-0.447983485257,-0.447897768012,-0.447812046649,-0.44772632117,-0.447640591575,-0.447554857866,-0.447469120043,-0.447383378108,-0.447297632059,-0.4472118819,-0.447126127629,-0.447040369249,-0.44695460676,-0.446868840162,-0.446783069457,-0.446697294645,-0.446611515728,-0.446525732705,-0.446439945577,-0.446354154346,-0.446268359013,-0.446182559577,-0.44609675604,-0.446010948403,-0.445925136666,-0.44583932083,-0.445753500896,-0.445667676865,-0.445581848737,-0.445496016514,-0.445410180196,-0.445324339783,-0.445238495278,-0.44515264668,-0.44506679399,-0.444980937209,-0.444895076338,-0.444809211377,-0.444723342328,-0.444637469191,-0.444551591967,-0.444465710657,-0.444379825262,-0.444293935782,-0.444208042218,-0.44412214457,-0.444036242841,-0.44395033703,-0.443864427139,-0.443778513167,-0.443692595117,-0.443606672988,-0.443520746781,-0.443434816498,-0.443348882139,-0.443262943705,-0.443177001196,-0.443091054614,-0.443005103959,-0.442919149232,-0.442833190433,-0.442747227565,-0.442661260626,-0.442575289619,-0.442489314544,-0.442403335401,-0.442317352192,-0.442231364918,-0.442145373578,-0.442059378174,-0.441973378707,-0.441887375178,-0.441801367586,-0.441715355934,-0.441629340222,-0.44154332045,-0.44145729662,-0.441371268732,-0.441285236787,-0.441199200785,-0.441113160729,-0.441027116617,-0.440941068452,-0.440855016234,-0.440768959964,-0.440682899642,-0.440596835269,-0.440510766847,-0.440424694375,-0.440338617856,-0.440252537288,-0.440166452675,-0.440080364015,-0.43999427131,-0.43990817456,-0.439822073767,-0.439735968932,-0.439649860054,-0.439563747135,-0.439477630176,-0.439391509178,-0.43930538414,-0.439219255065,-0.439133121952,-0.439046984803,-0.438960843618,-0.438874698398,-0.438788549145,-0.438702395858,-0.438616238539,-0.438530077188,-0.438443911806,-0.438357742394,-0.438271568952,-0.438185391483,-0.438099209985,-0.438013024461,-0.43792683491,-0.437840641334,-0.437754443734,-0.43766824211,-0.437582036463,-0.437495826794,-0.437409613103,-0.437323395392,-0.437237173661,-0.437150947911,-0.437064718143,-0.436978484357,-0.436892246555,-0.436806004737,-0.436719758904,-0.436633509057,-0.436547255196,-0.436460997323,-0.436374735438,-0.436288469542,-0.436202199635,-0.436115925719,-0.436029647794,-0.435943365862,-0.435857079922,-0.435770789976,-0.435684496025,-0.435598198069,-0.435511896108,-0.435425590145,-0.43533928018,-0.435252966213,-0.435166648245,-0.435080326277,-0.43499400031,-0.434907670344,-0.434821336381,-0.434734998422,-0.434648656466,-0.434562310515,-0.43447596057,-0.434389606631,-0.434303248699,-0.434216886775,-0.43413052086,-0.434044150955,-0.43395777706,-0.433871399176,-0.433785017304,-0.433698631444,-0.433612241599,-0.433525847767,-0.433439449951,-0.433353048151,-0.433266642367,-0.433180232601,-0.433093818853,-0.433007401124,-0.432920979416,-0.432834553727,-0.432748124061,-0.432661690416,-0.432575252795,-0.432488811198,-0.432402365625,-0.432315916077,-0.432229462556,-0.432143005062,-0.432056543596,-0.431970078158,-0.43188360875,-0.431797135372,-0.431710658025,-0.43162417671,-0.431537691427,-0.431451202178,-0.431364708963,-0.431278211783,-0.431191710639,-0.431105205531,-0.431018696461,-0.430932183429,-0.430845666436,-0.430759145483,-0.43067262057,-0.430586091698,-0.430499558869,-0.430413022083,-0.43032648134,-0.430239936642,-0.430153387989,-0.430066835383,-0.429980278823,-0.429893718311,-0.429807153847,-0.429720585433,-0.429634013069,-0.429547436756,-0.429460856494,-0.429374272285,-0.42928768413,-0.429201092028,-0.429114495981,-0.42902789599,-0.428941292055,-0.428854684178,-0.428768072359,-0.428681456598,-0.428594836897,-0.428508213257,-0.428421585678,-0.428334954161,-0.428248318707,-0.428161679316,-0.42807503599,-0.427988388729,-0.427901737534,-0.427815082406,-0.427728423345,-0.427641760353,-0.42755509343,-0.427468422577,-0.427381747795,-0.427295069085,-0.427208386447,-0.427121699882,-0.427035009391,-0.426948314975,-0.426861616634,-0.42677491437,-0.426688208183,-0.426601498074,-0.426514784044,-0.426428066093,-0.426341344223,-0.426254618434,-0.426167888727,-0.426081155102,-0.425994417562,-0.425907676105,-0.425820930734,-0.425734181448,-0.42564742825,-0.425560671138,-0.425473910116,-0.425387145182,-0.425300376338,-0.425213603585,-0.425126826924,-0.425040046355,-0.424953261879,-0.424866473496,-0.424779681209,-0.424692885017,-0.424606084922,-0.424519280923,-0.424432473023,-0.424345661221,-0.424258845519,-0.424172025917,-0.424085202416,-0.423998375017,-0.42391154372,-0.423824708528,-0.423737869439,-0.423651026456,-0.423564179578,-0.423477328807,-0.423390474144,-0.423303615589,-0.423216753143,-0.423129886807,-0.423043016581,-0.422956142467,-0.422869264466,-0.422782382577,-0.422695496802,-0.422608607142,-0.422521713598,-0.422434816169,-0.422347914858,-0.422261009665,-0.42217410059,-0.422087187635,-0.4220002708,-0.421913350086,-0.421826425494,-0.421739497024,-0.421652564679,-0.421565628457,-0.42147868836,-0.42139174439,-0.421304796545,-0.421217844829,-0.42113088924,-0.421043929781,-0.420956966452,-0.420869999253,-0.420783028186,-0.42069605325,-0.420609074448,-0.42052209178,-0.420435105247,-0.420348114849,-0.420261120587,-0.420174122462,-0.420087120475,-0.420000114627,-0.419913104918,-0.419826091349,-0.419739073922,-0.419652052636,-0.419565027493,-0.419477998493,-0.419390965638,-0.419303928928,-0.419216888363,-0.419129843945,-0.419042795675,-0.418955743553,-0.41886868758,-0.418781627757,-0.418694564084,-0.418607496563,-0.418520425194,-0.418433349978,-0.418346270916,-0.418259188009,-0.418172101257,-0.418085010662,-0.417997916223,-0.417910817942,-0.41782371582,-0.417736609858,-0.417649500055,-0.417562386414,-0.417475268935,-0.417388147618,-0.417301022464,-0.417213893475,-0.417126760651,-0.417039623993,-0.416952483502,-0.416865339178,-0.416778191022,-0.416691039035,-0.416603883218,-0.416516723572,-0.416429560098,-0.416342392795,-0.416255221666,-0.41616804671,-0.41608086793,-0.415993685324,-0.415906498895,-0.415819308643,-0.415732114569,-0.415644916674,-0.415557714958,-0.415470509422,-0.415383300068,-0.415296086895,-0.415208869905,-0.415121649098,-0.415034424476,-0.414947196039,-0.414859963788,-0.414772727723,-0.414685487846,-0.414598244157,-0.414510996658,-0.414423745348,-0.414336490229,-0.414249231301,-0.414161968566,-0.414074702024,-0.413987431676,-0.413900157523,-0.413812879565,-0.413725597803,-0.413638312238,-0.413551022872,-0.413463729704,-0.413376432736,-0.413289131968,-0.413201827401,-0.413114519036,-0.413027206874,-0.412939890915,-0.412852571161,-0.412765247612,-0.412677920268,-0.412590589132,-0.412503254203,-0.412415915483,-0.412328572971,-0.41224122667,-0.412153876579,-0.4120665227,-0.411979165034,-0.41189180358,-0.41180443834,-0.411717069316,-0.411629696507,-0.411542319914,-0.411454939538,-0.411367555381,-0.411280167442,-0.411192775723,-0.411105380224,-0.411017980946,-0.410930577891,-0.410843171058,-0.410755760449,-0.410668346064,-0.410580927905,-0.410493505971,-0.410406080264,-0.410318650785,-0.410231217535,-0.410143780514,-0.410056339722,-0.409968895162,-0.409881446833,-0.409793994737,-0.409706538874,-0.409619079245,-0.409531615851,-0.409444148692,-0.40935667777,-0.409269203086,-0.409181724639,-0.409094242431,-0.409006756463,-0.408919266736,-0.40883177325,-0.408744276005,-0.408656775004,-0.408569270247,-0.408481761734,-0.408394249466,-0.408306733445,-0.40821921367,-0.408131690143,-0.408044162865,-0.407956631836,-0.407869097057,-0.407781558529,-0.407694016253,-0.40760647023,-0.40751892046,-0.407431366944,-0.407343809683,-0.407256248677,-0.407168683929,-0.407081115438,-0.406993543204,-0.40690596723,-0.406818387516,-0.406730804063,-0.40664321687,-0.40655562594,-0.406468031273,-0.40638043287,-0.406292830732,-0.406205224859,-0.406117615252,-0.406030001912,-0.40594238484,-0.405854764037,-0.405767139503,-0.40567951124,-0.405591879248,-0.405504243527,-0.405416604079,-0.405328960905,-0.405241314005,-0.40515366338,-0.405066009031,-0.404978350959,-0.404890689164,-0.404803023648,-0.40471535441,-0.404627681453,-0.404540004777,-0.404452324382,-0.404364640269,-0.404276952439,-0.404189260894,-0.404101565633,-0.404013866658,-0.403926163969,-0.403838457568,-0.403750747454,-0.403663033629,-0.403575316094,-0.403487594849,-0.403399869896,-0.403312141235,-0.403224408866,-0.403136672791,-0.40304893301,-0.402961189525,-0.402873442336,-0.402785691444,-0.402697936849,-0.402610178553,-0.402522416556,-0.402434650859,-0.402346881464,-0.402259108369,-0.402171331578,-0.40208355109,-0.401995766905,-0.401907979026,-0.401820187453,-0.401732392186,-0.401644593226,-0.401556790575,-0.401468984233,-0.4013811742,-0.401293360478,-0.401205543067,-0.401117721969,-0.401029897184,-0.400942068712,-0.400854236555,-0.400766400714,-0.400678561188,-0.40059071798,-0.40050287109,-0.400415020518,-0.400327166266,-0.400239308334,-0.400151446723,-0.400063581434,-0.399975712468,-0.399887839825,-0.399799963506,-0.399712083513,-0.399624199846,-0.399536312505,-0.399448421492,-0.399360526807,-0.399272628452,-0.399184726426,-0.399096820731,-0.399008911368,-0.398920998337,-0.398833081639,-0.398745161276,-0.398657237247,-0.398569309554,-0.398481378197,-0.398393443177,-0.398305504496,-0.398217562153,-0.39812961615,-0.398041666488,-0.397953713167,-0.397865756188,-0.397777795552,-0.397689831259,-0.397601863311,-0.397513891709,-0.397425916452,-0.397337937543,-0.397249954981,-0.397161968768,-0.397073978904,-0.39698598539,-0.396897988228,-0.396809987417,-0.396721982958,-0.396633974854,-0.396545963103,-0.396457947707,-0.396369928668,-0.396281905985,-0.396193879659,-0.396105849692,-0.396017816083,-0.395929778835,-0.395841737947,-0.395753693421,-0.395665645257,-0.395577593457,-0.39548953802,-0.395401478948,-0.395313416241,-0.395225349901,-0.395137279928,-0.395049206323,-0.394961129087,-0.394873048221,-0.394784963724,-0.394696875599,-0.394608783847,-0.394520688466,-0.39443258946,-0.394344486828,-0.394256380571,-0.394168270691,-0.394080157187,-0.393992040061,-0.393903919314,-0.393815794945,-0.393727666957,-0.39363953535,-0.393551400125,-0.393463261282,-0.393375118823,-0.393286972747,-0.393198823057,-0.393110669753,-0.393022512835,-0.392934352304,-0.392846188162,-0.392758020409,-0.392669849046,-0.392581674073,-0.392493495492,-0.392405313303,-0.392317127507,-0.392228938105,-0.392140745098,-0.392052548486,-0.391964348271,-0.391876144453,-0.391787937033,-0.391699726011,-0.391611511389,-0.391523293168,-0.391435071348,-0.391346845929,-0.391258616914,-0.391170384302,-0.391082148095,-0.390993908293,-0.390905664897,-0.390817417908,-0.390729167326,-0.390640913153,-0.39055265539,-0.390464394036,-0.390376129094,-0.390287860563,-0.390199588444,-0.39011131274,-0.390023033449,-0.389934750573,-0.389846464113,-0.38975817407,-0.389669880444,-0.389581583236,-0.389493282448,-0.389404978079,-0.389316670131,-0.389228358604,-0.3891400435,-0.389051724819,-0.388963402562,-0.388875076729,-0.388786747322,-0.388698414342,-0.388610077788,-0.388521737663,-0.388433393966,-0.388345046699,-0.388256695862,-0.388168341457,-0.388079983483,-0.387991621943,-0.387903256836,-0.387814888164,-0.387726515926,-0.387638140125,-0.387549760761,-0.387461377835,-0.387372991347,-0.387284601299,-0.38719620769,-0.387107810523,-0.387019409797,-0.386931005514,-0.386842597675,-0.38675418628,-0.386665771329,-0.386577352825,-0.386488930767,-0.386400505157,-0.386312075995,-0.386223643282,-0.386135207019,-0.386046767207,-0.385958323846,-0.385869876938,-0.385781426482,-0.385692972481,-0.385604514935,-0.385516053844,-0.38542758921,-0.385339121032,-0.385250649313,-0.385162174053,-0.385073695252,-0.384985212912,-0.384896727034,-0.384808237617,-0.384719744663,-0.384631248173,-0.384542748148,-0.384454244587,-0.384365737494,-0.384277226867,-0.384188712707,-0.384100195017,-0.384011673796,-0.383923149045,-0.383834620765,-0.383746088957,-0.383657553622,-0.38356901476,-0.383480472373,-0.383391926461,-0.383303377024,-0.383214824065,-0.383126267583,-0.383037707579,-0.382949144055,-0.382860577011,-0.382772006447,-0.382683432365,-0.382594854766,-0.382506273649,-0.382417689017,-0.38232910087,-0.382240509209,-0.382151914034,-0.382063315346,-0.381974713147,-0.381886107436,-0.381797498215,-0.381708885485,-0.381620269247,-0.3815316495,-0.381443026247,-0.381354399487,-0.381265769222,-0.381177135453,-0.38108849818,-0.380999857404,-0.380911213126,-0.380822565346,-0.380733914067,-0.380645259287,-0.380556601009,-0.380467939233,-0.380379273959,-0.38029060519,-0.380201932924,-0.380113257164,-0.38002457791,-0.379935895163,-0.379847208924,-0.379758519193,-0.379669825972,-0.37958112926,-0.37949242906,-0.379403725372,-0.379315018196,-0.379226307533,-0.379137593385,-0.379048875752,-0.378960154634,-0.378871430034,-0.37878270195,-0.378693970385,-0.37860523534,-0.378516496814,-0.378427754809,-0.378339009325,-0.378250260364,-0.378161507926,-0.378072752012,-0.377983992623,-0.37789522976,-0.377806463423,-0.377717693613,-0.377628920332,-0.377540143579,-0.377451363356,-0.377362579664,-0.377273792503,-0.377185001874,-0.377096207778,-0.377007410216,-0.376918609189,-0.376829804697,-0.376740996741,-0.376652185323,-0.376563370442,-0.3764745521,-0.376385730298,-0.376296905036,-0.376208076315,-0.376119244136,-0.3760304085,-0.375941569407,-0.375852726859,-0.375763880856,-0.375675031399,-0.375586178489,-0.375497322127,-0.375408462313,-0.375319599049,-0.375230732334,-0.375141862171,-0.37505298856,-0.374964111501,-0.374875230995,-0.374786347044,-0.374697459647,-0.374608568807,-0.374519674523,-0.374430776797,-0.374341875629,-0.37425297102,-0.374164062971,-0.374075151483,-0.373986236557,-0.373897318193,-0.373808396392,-0.373719471155,-0.373630542483,-0.373541610377,-0.373452674837,-0.373363735864,-0.37327479346,-0.373185847624,-0.373096898359,-0.373007945663,-0.37291898954,-0.372830029988,-0.37274106701,-0.372652100605,-0.372563130775,-0.37247415752,-0.372385180842,-0.372296200741,-0.372207217218,-0.372118230273,-0.372029239908,-0.371940246124,-0.37185124892,-0.371762248299,-0.371673244261,-0.371584236806,-0.371495225936,-0.371406211651,-0.371317193952,-0.37122817284,-0.371139148316,-0.37105012038,-0.370961089034,-0.370872054278,-0.370783016113,-0.37069397454,-0.370604929559,-0.370515881172,-0.370426829379,-0.370337774182,-0.37024871558,-0.370159653575,-0.370070588168,-0.369981519359,-0.369892447149,-0.369803371539,-0.36971429253,-0.369625210123,-0.369536124318,-0.369447035117,-0.36935794252,-0.369268846527,-0.369179747141,-0.369090644361,-0.369001538188,-0.368912428624,-0.368823315668,-0.368734199323,-0.368645079588,-0.368555956464,-0.368466829953,-0.368377700055,-0.368288566771,-0.368199430102,-0.368110290049,-0.368021146612,-0.367931999792,-0.36784284959,-0.367753696007,-0.367664539043,-0.3675753787,-0.367486214979,-0.367397047879,-0.367307877403,-0.36721870355,-0.367129526322,-0.36704034572,-0.366951161743,-0.366861974394,-0.366772783673,-0.36668358958,-0.366594392117,-0.366505191284,-0.366415987082,-0.366326779513,-0.366237568576,-0.366148354272,-0.366059136604,-0.36596991557,-0.365880691173,-0.365791463412,-0.365702232289,-0.365612997805,-0.36552375996,-0.365434518755,-0.365345274191,-0.365256026269,-0.36516677499,-0.365077520354,-0.364988262363,-0.364899001016,-0.364809736316,-0.364720468262,-0.364631196856,-0.364541922098,-0.364452643989,-0.364363362531,-0.364274077723,-0.364184789567,-0.364095498064,-0.364006203213,-0.363916905017,-0.363827603476,-0.363738298591,-0.363648990362,-0.36355967879,-0.363470363877,-0.363381045623,-0.363291724029,-0.363202399096,-0.363113070824,-0.363023739214,-0.362934404268,-0.362845065985,-0.362755724367,-0.362666379415,-0.36257703113,-0.362487679511,-0.362398324561,-0.36230896628,-0.362219604668,-0.362130239727,-0.362040871458,-0.36195149986,-0.361862124936,-0.361772746685,-0.361683365109,-0.361593980209,-0.361504591985,-0.361415200438,-0.361325805568,-0.361236407378,-0.361147005867,-0.361057601037,-0.360968192888,-0.360878781421,-0.360789366637,-0.360699948537,-0.360610527121,-0.36052110239,-0.360431674346,-0.360342242988,-0.360252808319,-0.360163370338,-0.360073929046,-0.359984484445,-0.359895036535,-0.359805585317,-0.359716130791,-0.359626672959,-0.359537211822,-0.35944774738,-0.359358279633,-0.359268808584,-0.359179334232,-0.359089856579,-0.359000375625,-0.358910891371,-0.358821403819,-0.358731912968,-0.358642418819,-0.358552921374,-0.358463420634,-0.358373916598,-0.358284409268,-0.358194898645,-0.35810538473,-0.358015867523,-0.357926347025,-0.357836823237,-0.35774729616,-0.357657765795,-0.357568232142,-0.357478695203,-0.357389154977,-0.357299611467,-0.357210064672,-0.357120514594,-0.357030961233,-0.356941404591,-0.356851844668,-0.356762281464,-0.356672714982,-0.35658314522,-0.356493572182,-0.356403995866,-0.356314416274,-0.356224833408,-0.356135247267,-0.356045657852,-0.355956065165,-0.355866469205,-0.355776869975,-0.355687267475,-0.355597661705,-0.355508052666,-0.35541844036,-0.355328824787,-0.355239205948,-0.355149583843,-0.355059958474,-0.354970329842,-0.354880697946,-0.354791062789,-0.35470142437,-0.354611782691,-0.354522137753,-0.354432489556,-0.354342838101,-0.354253183389,-0.35416352542,-0.354073864197,-0.353984199719,-0.353894531987,-0.353804861002,-0.353715186765,-0.353625509277,-0.353535828538,-0.353446144549,-0.353356457312,-0.353266766827,-0.353177073095,-0.353087376116,-0.352997675892,-0.352907972424,-0.352818265711,-0.352728555755,-0.352638842557,-0.352549126118,-0.352459406438,-0.352369683519,-0.35227995736,-0.352190227964,-0.35210049533,-0.35201075946,-0.351921020354,-0.351831278013,-0.351741532439,-0.351651783631,-0.351562031591,-0.35147227632,-0.351382517818,-0.351292756086,-0.351202991125,-0.351113222935,-0.351023451519,-0.350933676876,-0.350843899007,-0.350754117913,-0.350664333596,-0.350574546055,-0.350484755292,-0.350394961307,-0.350305164101,-0.350215363675,-0.350125560031,-0.350035753168,-0.349945943087,-0.34985612979,-0.349766313277,-0.349676493549,-0.349586670607,-0.349496844452,-0.349407015084,-0.349317182505,-0.349227346714,-0.349137507714,-0.349047665505,-0.348957820087,-0.348867971461,-0.348778119629,-0.348688264591,-0.348598406348,-0.3485085449,-0.348418680249,-0.348328812396,-0.348238941341,-0.348149067085,-0.348059189629,-0.347969308973,-0.347879425119,-0.347789538067,-0.347699647819,-0.347609754375,-0.347519857735,-0.347429957901,-0.347340054874,-0.347250148654,-0.347160239242,-0.347070326639,-0.346980410846,-0.346890491863,-0.346800569692,-0.346710644334,-0.346620715788,-0.346530784056,-0.346440849139,-0.346350911038,-0.346260969753,-0.346171025285,-0.346081077636,-0.345991126805,-0.345901172794,-0.345811215604,-0.345721255235,-0.345631291688,-0.345541324964,-0.345451355064,-0.345361381989,-0.345271405739,-0.345181426316,-0.345091443719,-0.345001457951,-0.344911469012,-0.344821476902,-0.344731481622,-0.344641483174,-0.344551481559,-0.344461476776,-0.344371468826,-0.344281457712,-0.344191443433,-0.34410142599,-0.344011405384,-0.343921381616,-0.343831354687,-0.343741324598,-0.343651291349,-0.343561254941,-0.343471215375,-0.343381172652,-0.343291126773,-0.343201077738,-0.343111025549,-0.343020970206,-0.34293091171,-0.342840850062,-0.342750785262,-0.342660717312,-0.342570646212,-0.342480571964,-0.342390494567,-0.342300414024,-0.342210330333,-0.342120243498,-0.342030153518,-0.341940060393,-0.341849964126,-0.341759864717,-0.341669762166,-0.341579656475,-0.341489547644,-0.341399435674,-0.341309320566,-0.34121920232,-0.341129080939,-0.341038956421,-0.340948828769,-0.340858697983,-0.340768564064,-0.340678427013,-0.34058828683,-0.340498143517,-0.340407997074,-0.340317847501,-0.340227694801,-0.340137538974,-0.340047380019,-0.33995721794,-0.339867052735,-0.339776884407,-0.339686712955,-0.339596538381,-0.339506360686,-0.33941617987,-0.339325995934,-0.339235808879,-0.339145618705,-0.339055425415,-0.338965229008,-0.338875029485,-0.338784826848,-0.338694621096,-0.338604412231,-0.338514200254,-0.338423985165,-0.338333766966,-0.338243545656,-0.338153321238,-0.338063093711,-0.337972863077,-0.337882629336,-0.33779239249,-0.337702152538,-0.337611909483,-0.337521663324,-0.337431414063,-0.337341161701,-0.337250906237,-0.337160647674,-0.337070386011,-0.33698012125,-0.336889853392,-0.336799582437,-0.336709308387,-0.336619031241,-0.336528751001,-0.336438467668,-0.336348181243,-0.336257891726,-0.336167599118,-0.33607730342,-0.335987004633,-0.335896702757,-0.335806397794,-0.335716089745,-0.335625778609,-0.335535464389,-0.335445147085,-0.335354826697,-0.335264503226,-0.335174176674,-0.335083847041,-0.334993514328,-0.334903178536,-0.334812839666,-0.334722497718,-0.334632152693,-0.334541804592,-0.334451453417,-0.334361099167,-0.334270741844,-0.334180381448,-0.33409001798,-0.333999651442,-0.333909281834,-0.333818909156,-0.33372853341,-0.333638154596,-0.333547772716,-0.33345738777,-0.333366999759,-0.333276608683,-0.333186214544,-0.333095817343,-0.333005417079,-0.332915013755,-0.332824607371,-0.332734197927,-0.332643785426,-0.332553369866,-0.33246295125,-0.332372529578,-0.33228210485,-0.332191677069,-0.332101246234,-0.332010812346,-0.331920375407,-0.331829935416,-0.331739492376,-0.331649046286,-0.331558597148,-0.331468144962,-0.33137768973,-0.331287231451,-0.331196770128,-0.33110630576,-0.331015838349,-0.330925367895,-0.330834894399,-0.330744417862,-0.330653938285,-0.330563455669,-0.330472970014,-0.330382481322,-0.330291989593,-0.330201494828,-0.330110997028,-0.330020496193,-0.329929992325,-0.329839485424,-0.329748975492,-0.329658462529,-0.329567946535,-0.329477427512,-0.329386905461,-0.329296380382,-0.329205852276,-0.329115321144,-0.329024786987,-0.328934249806,-0.328843709601,-0.328753166373,-0.328662620124,-0.328572070854,-0.328481518563,-0.328390963253,-0.328300404925,-0.328209843579,-0.328119279216,-0.328028711837,-0.327938141443,-0.327847568035,-0.327756991613,-0.327666412179,-0.327575829733,-0.327485244275,-0.327394655808,-0.327304064331,-0.327213469845,-0.327122872352,-0.327032271853,-0.326941668347,-0.326851061836,-0.32676045232,-0.326669839801,-0.32657922428,-0.326488605756,-0.326397984232,-0.326307359707,-0.326216732183,-0.326126101661,-0.32603546814,-0.325944831623,-0.32585419211,-0.325763549602,-0.325672904099,-0.325582255603,-0.325491604115,-0.325400949634,-0.325310292162,-0.3252196317,-0.325128968249,-0.32503830181,-0.324947632382,-0.324856959968,-0.324766284568,-0.324675606182,-0.324584924813,-0.324494240459,-0.324403553123,-0.324312862805,-0.324222169507,-0.324131473228,-0.324040773969,-0.323950071732,-0.323859366518,-0.323768658326,-0.323677947159,-0.323587233016,-0.3234965159,-0.323405795809,-0.323315072746,-0.323224346711,-0.323133617705,-0.323042885729,-0.322952150783,-0.322861412869,-0.322770671988,-0.322679928139,-0.322589181325,-0.322498431545,-0.322407678801,-0.322316923094,-0.322226164423,-0.322135402791,-0.322044638198,-0.321953870645,-0.321863100133,-0.321772326662,-0.321681550233,-0.321590770847,-0.321499988506,-0.321409203209,-0.321318414958,-0.321227623754,-0.321136829597,-0.321046032488,-0.320955232428,-0.320864429418,-0.320773623458,-0.320682814551,-0.320592002695,-0.320501187893,-0.320410370144,-0.320319549451,-0.320228725813,-0.320137899232,-0.320047069708,-0.319956237242,-0.319865401836,-0.319774563489,-0.319683722203,-0.319592877978,-0.319502030816,-0.319411180717,-0.319320327682,-0.319229471712,-0.319138612808,-0.31904775097,-0.318956886199,-0.318866018497,-0.318775147864,-0.318684274301,-0.318593397808,-0.318502518387,-0.318411636039,-0.318320750763,-0.318229862562,-0.318138971436,-0.318048077385,-0.317957180411,-0.317866280514,-0.317775377696,-0.317684471956,-0.317593563297,-0.317502651718,-0.317411737221,-0.317320819806,-0.317229899475,-0.317138976228,-0.317048050065,-0.316957120989,-0.316866188998,-0.316775254096,-0.316684316281,-0.316593375556,-0.316502431921,-0.316411485376,-0.316320535923,-0.316229583563,-0.316138628296,-0.316047670123,-0.315956709045,-0.315865745062,-0.315774778176,-0.315683808388,-0.315592835698,-0.315501860108,-0.315410881617,-0.315319900227,-0.315228915938,-0.315137928753,-0.31504693867,-0.314955945692,-0.314864949818,-0.314773951051,-0.31468294939,-0.314591944836,-0.314500937391,-0.314409927055,-0.314318913829,-0.314227897714,-0.314136878711,-0.31404585682,-0.313954832043,-0.31386380438,-0.313772773831,-0.313681740399,-0.313590704083,-0.313499664885,-0.313408622805,-0.313317577845,-0.313226530004,-0.313135479285,-0.313044425687,-0.312953369212,-0.31286230986,-0.312771247632,-0.312680182529,-0.312589114553,-0.312498043703,-0.31240696998,-0.312315893386,-0.312224813922,-0.312133731587,-0.312042646384,-0.311951558312,-0.311860467372,-0.311769373567,-0.311678276895,-0.311587177359,-0.311496074958,-0.311404969695,-0.311313861569,-0.311222750581,-0.311131636733,-0.311040520025,-0.310949400458,-0.310858278032,-0.31076715275,-0.31067602461,-0.310584893616,-0.310493759766,-0.310402623062,-0.310311483506,-0.310220341096,-0.310129195836,-0.310038047725,-0.309946896764,-0.309855742954,-0.309764586295,-0.30967342679,-0.309582264438,-0.309491099241,-0.309399931198,-0.309308760312,-0.309217586583,-0.309126410011,-0.309035230598,-0.308944048345,-0.308852863252,-0.308761675319,-0.308670484549,-0.308579290942,-0.308488094498,-0.308396895218,-0.308305693104,-0.308214488156,-0.308123280375,-0.308032069761,-0.307940856317,-0.307849640042,-0.307758420937,-0.307667199003,-0.307575974241,-0.307484746652,-0.307393516237,-0.307302282996,-0.307211046931,-0.307119808042,-0.307028566329,-0.306937321795,-0.306846074439,-0.306754824263,-0.306663571267,-0.306572315453,-0.30648105682,-0.306389795371,-0.306298531105,-0.306207264024,-0.306115994128,-0.306024721418,-0.305933445896,-0.305842167561,-0.305750886415,-0.305659602459,-0.305568315693,-0.305477026119,-0.305385733736,-0.305294438547,-0.305203140551,-0.30511183975,-0.305020536145,-0.304929229735,-0.304837920523,-0.304746608509,-0.304655293694,-0.304563976079,-0.304472655663,-0.30438133245,-0.304290006438,-0.30419867763,-0.304107346025,-0.304016011625,-0.303924674431,-0.303833334443,-0.303741991662,-0.30365064609,-0.303559297726,-0.303467946572,-0.303376592629,-0.303285235897,-0.303193876377,-0.30310251407,-0.303011148978,-0.3029197811,-0.302828410438,-0.302737036992,-0.302645660763,-0.302554281753,-0.302462899962,-0.30237151539,-0.302280128039,-0.30218873791,-0.302097345003,-0.302005949319,-0.301914550859,-0.301823149625,-0.301731745615,-0.301640338833,-0.301548929277,-0.30145751695,-0.301366101852,-0.301274683984,-0.301183263347,-0.301091839941,-0.301000413768,-0.300908984828,-0.300817553122,-0.300726118651,-0.300634681416,-0.300543241417,-0.300451798656,-0.300360353133,-0.30026890485,-0.300177453806,-0.300086000003,-0.299994543442,-0.299903084124,-0.299811622048,-0.299720157217,-0.299628689631,-0.299537219291,-0.299445746198,-0.299354270352,-0.299262791754,-0.299171310406,-0.299079826308,-0.298988339461,-0.298896849865,-0.298805357523,-0.298713862433,-0.298622364598,-0.298530864018,-0.298439360694,-0.298347854627,-0.298256345817,-0.298164834266,-0.298073319974,-0.297981802943,-0.297890283172,-0.297798760664,-0.297707235418,-0.297615707435,-0.297524176717,-0.297432643264,-0.297341107077,-0.297249568157,-0.297158026505,-0.297066482122,-0.296974935008,-0.296883385164,-0.296791832591,-0.29670027729,-0.296608719262,-0.296517158508,-0.296425595028,-0.296334028823,-0.296242459895,-0.296150888244,-0.29605931387,-0.295967736775,-0.29587615696,-0.295784574425,-0.295692989171,-0.295601401199,-0.295509810511,-0.295418217106,-0.295326620985,-0.29523502215,-0.295143420601,-0.295051816339,-0.294960209366,-0.294868599681,-0.294776987285,-0.294685372181,-0.294593754367,-0.294502133846,-0.294410510617,-0.294318884683,-0.294227256043,-0.294135624698,-0.29404399065,-0.2939523539,-0.293860714447,-0.293769072293,-0.293677427439,-0.293585779886,-0.293494129634,-0.293402476684,-0.293310821037,-0.293219162694,-0.293127501656,-0.293035837924,-0.292944171498,-0.29285250238,-0.292760830569,-0.292669156068,-0.292577478876,-0.292485798996,-0.292394116426,-0.292302431169,-0.292210743226,-0.292119052596,-0.292027359281,-0.291935663282,-0.2918439646,-0.291752263235,-0.291660559188,-0.291568852461,-0.291477143053,-0.291385430966,-0.291293716201,-0.291201998759,-0.291110278639,-0.291018555844,-0.290926830374,-0.29083510223,-0.290743371412,-0.290651637922,-0.290559901761,-0.290468162928,-0.290376421426,-0.290284677254,-0.290192930415,-0.290101180908,-0.290009428734,-0.289917673895,-0.289825916391,-0.289734156223,-0.289642393391,-0.289550627898,-0.289458859743,-0.289367088927,-0.289275315451,-0.289183539317,-0.289091760524,-0.288999979074,-0.288908194968,-0.288816408206,-0.288724618789,-0.288632826719,-0.288541031995,-0.288449234619,-0.288357434592,-0.288265631915,-0.288173826587,-0.288082018611,-0.287990207987,-0.287898394715,-0.287806578798,-0.287714760235,-0.287622939027,-0.287531115176,-0.287439288681,-0.287347459545,-0.287255627767,-0.287163793349,-0.287071956291,-0.286980116595,-0.286888274261,-0.286796429289,-0.286704581682,-0.286612731439,-0.286520878562,-0.286429023051,-0.286337164908,-0.286245304132,-0.286153440725,-0.286061574688,-0.285969706022,-0.285877834727,-0.285785960804,-0.285694084255,-0.285602205079,-0.285510323278,-0.285418438853,-0.285326551805,-0.285234662133,-0.28514276984,-0.285050874926,-0.284958977392,-0.284867077238,-0.284775174466,-0.284683269077,-0.284591361071,-0.284499450449,-0.284407537211,-0.28431562136,-0.284223702895,-0.284131781818,-0.284039858129,-0.283947931829,-0.283856002919,-0.2837640714,-0.283672137273,-0.283580200538,-0.283488261197,-0.283396319249,-0.283304374697,-0.283212427541,-0.283120477782,-0.28302852542,-0.282936570457,-0.282844612893,-0.282752652729,-0.282660689967,-0.282568724606,-0.282476756647,-0.282384786093,-0.282292812942,-0.282200837197,-0.282108858858,-0.282016877926,-0.281924894402,-0.281832908286,-0.28174091958,-0.281648928284,-0.281556934399,-0.281464937926,-0.281372938866,-0.281280937219,-0.281188932988,-0.281096926171,-0.281004916771,-0.280912904788,-0.280820890222,-0.280728873076,-0.280636853349,-0.280544831042,-0.280452806157,-0.280360778694,-0.280268748654,-0.280176716038,-0.280084680846,-0.27999264308,-0.279900602741,-0.279808559828,-0.279716514344,-0.279624466288,-0.279532415663,-0.279440362467,-0.279348306704,-0.279256248372,-0.279164187474,-0.27907212401,-0.27898005798,-0.278887989387,-0.278795918229,-0.278703844509,-0.278611768228,-0.278519689385,-0.278427607982,-0.27833552402,-0.2782434375,-0.278151348422,-0.278059256787,-0.277967162597,-0.277875065852,-0.277782966552,-0.277690864699,-0.277598760293,-0.277506653336,-0.277414543828,-0.277322431771,-0.277230317164,-0.277138200009,-0.277046080306,-0.276953958057,-0.276861833262,-0.276769705923,-0.276677576039,-0.276585443612,-0.276493308643,-0.276401171132,-0.276309031081,-0.27621688849,-0.27612474336,-0.276032595692,-0.275940445487,-0.275848292746,-0.275756137468,-0.275663979657,-0.275571819311,-0.275479656432,-0.275387491021,-0.275295323079,-0.275203152607,-0.275110979605,-0.275018804074,-0.274926626015,-0.274834445429,-0.274742262317,-0.274650076679,-0.274557888517,-0.274465697831,-0.274373504623,-0.274281308892,-0.274189110641,-0.274096909869,-0.274004706577,-0.273912500767,-0.27382029244,-0.273728081595,-0.273635868234,-0.273543652358,-0.273451433968,-0.273359213064,-0.273266989648,-0.27317476372,-0.273082535281,-0.272990304331,-0.272898070873,-0.272805834906,-0.272713596431,-0.27262135545,-0.272529111963,-0.272436865971,-0.272344617474,-0.272252366475,-0.272160112972,-0.272067856969,-0.271975598464,-0.271883337459,-0.271791073956,-0.271698807954,-0.271606539455,-0.271514268459,-0.271421994967,-0.271329718981,-0.2712374405,-0.271145159527,-0.271052876061,-0.270960590104,-0.270868301656,-0.270776010718,-0.270683717291,-0.270591421377,-0.270499122975,-0.270406822087,-0.270314518713,-0.270222212854,-0.270129904512,-0.270037593687,-0.269945280379,-0.269852964591,-0.269760646322,-0.269668325573,-0.269576002346,-0.26948367664,-0.269391348458,-0.269299017799,-0.269206684665,-0.269114349057,-0.269022010975,-0.26892967042,-0.268837327394,-0.268744981896,-0.268652633928,-0.26856028349,-0.268467930584,-0.268375575211,-0.26828321737,-0.268190857063,-0.268098494292,-0.268006129056,-0.267913761356,-0.267821391194,-0.26772901857,-0.267636643486,-0.267544265941,-0.267451885937,-0.267359503474,-0.267267118554,-0.267174731178,-0.267082341345,-0.266989949058,-0.266897554317,-0.266805157122,-0.266712757475,-0.266620355376,-0.266527950827,-0.266435543828,-0.266343134379,-0.266250722483,-0.266158308139,-0.266065891349,-0.265973472113,-0.265881050432,-0.265788626308,-0.26569619974,-0.26560377073,-0.265511339279,-0.265418905387,-0.265326469056,-0.265234030286,-0.265141589077,-0.265049145432,-0.26495669935,-0.264864250833,-0.264771799882,-0.264679346496,-0.264586890678,-0.264494432428,-0.264401971746,-0.264309508635,-0.264217043093,-0.264124575124,-0.264032104726,-0.263939631901,-0.263847156651,-0.263754678975,-0.263662198875,-0.263569716351,-0.263477231404,-0.263384744036,-0.263292254247,-0.263199762037,-0.263107267409,-0.263014770362,-0.262922270897,-0.262829769016,-0.262737264719,-0.262644758006,-0.26255224888,-0.26245973734,-0.262367223388,-0.262274707024,-0.262182188249,-0.262089667065,-0.261997143471,-0.261904617469,-0.26181208906,-0.261719558244,-0.261627025023,-0.261534489397,-0.261441951366,-0.261349410933,-0.261256868097,-0.26116432286,-0.261071775223,-0.260979225186,-0.260886672749,-0.260794117915,-0.260701560684,-0.260609001056,-0.260516439033,-0.260423874615,-0.260331307804,-0.2602387386,-0.260146167003,-0.260053593015,-0.259961016637,-0.25986843787,-0.259775856714,-0.25968327317,-0.259590687239,-0.259498098922,-0.25940550822,-0.259312915133,-0.259220319663,-0.25912772181,-0.259035121575,-0.258942518959,-0.258849913963,-0.258757306588,-0.258664696834,-0.258572084703,-0.258479470195,-0.258386853311,-0.258294234052,-0.258201612419,-0.258108988413,-0.258016362034,-0.257923733283,-0.257831102162,-0.257738468671,-0.257645832811,-0.257553194582,-0.257460553986,-0.257367911024,-0.257275265696,-0.257182618003,-0.257089967946,-0.256997315526,-0.256904660743,-0.2568120036,-0.256719344096,-0.256626682232,-0.256534018009,-0.256441351428,-0.25634868249,-0.256256011196,-0.256163337546,-0.256070661542,-0.255977983184,-0.255885302473,-0.25579261941,-0.255699933995,-0.255607246231,-0.255514556117,-0.255421863654,-0.255329168844,-0.255236471686,-0.255143772183,-0.255051070334,-0.254958366141,-0.254865659605,-0.254772950725,-0.254680239504,-0.254587525942,-0.25449481004,-0.254402091799,-0.254309371219,-0.254216648301,-0.254123923047,-0.254031195457,-0.253938465532,-0.253845733273,-0.253752998681,-0.253660261756,-0.2535675225,-0.253474780913,-0.253382036996,-0.25328929075,-0.253196542175,-0.253103791274,-0.253011038046,-0.252918282492,-0.252825524613,-0.252732764411,-0.252640001886,-0.252547237038,-0.252454469869,-0.25236170038,-0.25226892857,-0.252176154442,-0.252083377996,-0.251990599233,-0.251897818154,-0.25180503476,-0.25171224905,-0.251619461028,-0.251526670692,-0.251433878044,-0.251341083085,-0.251248285816,-0.251155486238,-0.251062684351,-0.250969880156,-0.250877073654,-0.250784264847,-0.250691453734,-0.250598640317,-0.250505824596,-0.250413006573,-0.250320186248,-0.250227363622,-0.250134538696,-0.250041711471,-0.249948881948,-0.249856050127,-0.24976321601,-0.249670379597,-0.249577540889,-0.249484699886,-0.249391856591,-0.249299011003,-0.249206163124,-0.249113312954,-0.249020460494,-0.248927605746,-0.248834748709,-0.248741889385,-0.248649027775,-0.248556163879,-0.248463297698,-0.248370429234,-0.248277558487,-0.248184685457,-0.248091810146,-0.247998932555,-0.247906052685,-0.247813170535,-0.247720286108,-0.247627399404,-0.247534510423,-0.247441619168,-0.247348725638,-0.247255829834,-0.247162931758,-0.247070031409,-0.24697712879,-0.246884223901,-0.246791316742,-0.246698407315,-0.24660549562,-0.246512581659,-0.246419665431,-0.246326746939,-0.246233826182,-0.246140903162,-0.24604797788,-0.245955050336,-0.245862120531,-0.245769188466,-0.245676254142,-0.245583317561,-0.245490378721,-0.245397437625,-0.245304494274,-0.245211548668,-0.245118600807,-0.245025650694,-0.244932698329,-0.244839743712,-0.244746786844,-0.244653827727,-0.244560866362,-0.244467902748,-0.244374936887,-0.24428196878,-0.244188998427,-0.24409602583,-0.24400305099,-0.243910073906,-0.24381709458,-0.243724113014,-0.243631129207,-0.243538143161,-0.243445154876,-0.243352164353,-0.243259171594,-0.243166176599,-0.243073179368,-0.242980179903,-0.242887178205,-0.242794174274,-0.242701168112,-0.242608159718,-0.242515149095,-0.242422136243,-0.242329121162,-0.242236103854,-0.242143084319,-0.242050062558,-0.241957038573,-0.241864012364,-0.241770983931,-0.241677953276,-0.2415849204,-0.241491885303,-0.241398847986,-0.241305808451,-0.241212766697,-0.241119722726,-0.241026676539,-0.240933628137,-0.24084057752,-0.240747524689,-0.240654469645,-0.240561412389,-0.240468352922,-0.240375291244,-0.240282227358,-0.240189161262,-0.240096092959,-0.240003022449,-0.239909949733,-0.239816874811,-0.239723797685,-0.239630718356,-0.239537636824,-0.239444553091,-0.239351467156,-0.239258379021,-0.239165288687,-0.239072196155,-0.238979101425,-0.238886004499,-0.238792905377,-0.23869980406,-0.238606700549,-0.238513594844,-0.238420486948,-0.238327376859,-0.23823426458,-0.238141150112,-0.238048033454,-0.237954914608,-0.237861793575,-0.237768670356,-0.237675544951,-0.237582417362,-0.237489287588,-0.237396155632,-0.237303021494,-0.237209885174,-0.237116746674,-0.237023605994,-0.236930463136,-0.2368373181,-0.236744170887,-0.236651021498,-0.236557869934,-0.236464716195,-0.236371560283,-0.236278402198,-0.236185241941,-0.236092079513,-0.235998914916,-0.235905748149,-0.235812579213,-0.23571940811,-0.23562623484,-0.235533059405,-0.235439881805,-0.23534670204,-0.235253520112,-0.235160336022,-0.23506714977,-0.234973961358,-0.234880770785,-0.234787578054,-0.234694383165,-0.234601186118,-0.234507986915,-0.234414785556,-0.234321582043,-0.234228376376,-0.234135168556,-0.234041958584,-0.23394874646,-0.233855532186,-0.233762315763,-0.233669097191,-0.233575876471,-0.233482653604,-0.233389428591,-0.233296201432,-0.233202972129,-0.233109740683,-0.233016507094,-0.232923271363,-0.232830033492,-0.23273679348,-0.232643551328,-0.232550307039,-0.232457060612,-0.232363812048,-0.232270561348,-0.232177308513,-0.232084053545,-0.231990796442,-0.231897537208,-0.231804275842,-0.231711012345,-0.231617746719,-0.231524478963,-0.231431209079,-0.231337937069,-0.231244662931,-0.231151386668,-0.231058108281,-0.230964827769,-0.230871545135,-0.230778260378,-0.230684973501,-0.230591684502,-0.230498393385,-0.230405100148,-0.230311804794,-0.230218507323,-0.230125207735,-0.230031906033,-0.229938602216,-0.229845296285,-0.229751988242,-0.229658678087,-0.229565365821,-0.229472051444,-0.229378734959,-0.229285416365,-0.229192095664,-0.229098772856,-0.229005447942,-0.228912120923,-0.2288187918,-0.228725460574,-0.228632127245,-0.228538791815,-0.228445454284,-0.228352114653,-0.228258772924,-0.228165429096,-0.228072083171,-0.22797873515,-0.227885385033,-0.227792032821,-0.227698678516,-0.227605322117,-0.227511963627,-0.227418603045,-0.227325240373,-0.227231875611,-0.227138508761,-0.227045139823,-0.226951768798,-0.226858395687,-0.226765020491,-0.22667164321,-0.226578263846,-0.226484882399,-0.22639149887,-0.22629811326,-0.226204725571,-0.226111335802,-0.226017943954,-0.22592455003,-0.225831154028,-0.225737755951,-0.225644355799,-0.225550953572,-0.225457549273,-0.225364142901,-0.225270734458,-0.225177323944,-0.22508391136,-0.224990496707,-0.224897079986,-0.224803661198,-0.224710240344,-0.224616817424,-0.22452339244,-0.224429965392,-0.22433653628,-0.224243105107,-0.224149671873,-0.224056236578,-0.223962799224,-0.223869359811,-0.223775918341,-0.223682474813,-0.22358902923,-0.223495581591,-0.223402131898,-0.223308680152,-0.223215226353,-0.223121770502,-0.2230283126,-0.222934852648,-0.222841390647,-0.222747926598,-0.222654460502,-0.222560992358,-0.222467522169,-0.222374049935,-0.222280575658,-0.222187099337,-0.222093620973,-0.222000140568,-0.221906658123,-0.221813173638,-0.221719687114,-0.221626198552,-0.221532707953,-0.221439215318,-0.221345720647,-0.221252223942,-0.221158725203,-0.221065224431,-0.220971721627,-0.220878216792,-0.220784709927,-0.220691201032,-0.220597690109,-0.220504177158,-0.22041066218,-0.220317145177,-0.220223626148,-0.220130105095,-0.220036582018,-0.219943056919,-0.219849529799,-0.219756000657,-0.219662469496,-0.219568936315,-0.219475401117,-0.219381863901,-0.219288324668,-0.21919478342,-0.219101240157,-0.21900769488,-0.21891414759,-0.218820598288,-0.218727046974,-0.21863349365,-0.218539938316,-0.218446380974,-0.218352821623,-0.218259260266,-0.218165696902,-0.218072131533,-0.21797856416,-0.217884994783,-0.217791423403,-0.217697850021,-0.217604274638,-0.217510697256,-0.217417117873,-0.217323536493,-0.217229953114,-0.217136367739,-0.217042780369,-0.216949191003,-0.216855599643,-0.216762006289,-0.216668410944,-0.216574813606,-0.216481214278,-0.21638761296,-0.216294009653,-0.216200404358,-0.216106797076,-0.216013187808,-0.215919576553,-0.215825963314,-0.215732348092,-0.215638730886,-0.215545111698,-0.215451490529,-0.21535786738,-0.215264242251,-0.215170615143,-0.215076986058,-0.214983354995,-0.214889721957,-0.214796086943,-0.214702449955,-0.214608810994,-0.21451517006,-0.214421527154,-0.214327882277,-0.21423423543,-0.214140586614,-0.214046935829,-0.213953283078,-0.213859628359,-0.213765971675,-0.213672313026,-0.213578652412,-0.213484989836,-0.213391325297,-0.213297658797,-0.213203990337,-0.213110319916,-0.213016647537,-0.2129229732,-0.212829296905,-0.212735618654,-0.212641938448,-0.212548256288,-0.212454572173,-0.212360886106,-0.212267198087,-0.212173508116,-0.212079816196,-0.211986122326,-0.211892426507,-0.211798728741,-0.211705029028,-0.211611327369,-0.211517623765,-0.211423918217,-0.211330210725,-0.211236501291,-0.211142789916,-0.211049076599,-0.210955361343,-0.210861644147,-0.210767925013,-0.210674203942,-0.210580480935,-0.210486755992,-0.210393029114,-0.210299300302,-0.210205569557,-0.21011183688,-0.210018102272,-0.209924365734,-0.209830627265,-0.209736886868,-0.209643144543,-0.209549400292,-0.209455654114,-0.20936190601,-0.209268155983,-0.209174404032,-0.209080650158,-0.208986894362,-0.208893136645,-0.208799377009,-0.208705615453,-0.208611851978,-0.208518086586,-0.208424319278,-0.208330550053,-0.208236778914,-0.208143005861,-0.208049230894,-0.207955454015,-0.207861675225,-0.207767894524,-0.207674111913,-0.207580327394,-0.207486540966,-0.207392752631,-0.20729896239,-0.207205170243,-0.207111376192,-0.207017580237,-0.20692378238,-0.20682998262,-0.206736180959,-0.206642377398,-0.206548571937,-0.206454764578,-0.206360955321,-0.206267144167,-0.206173331118,-0.206079516173,-0.205985699334,-0.205891880602,-0.205798059977,-0.20570423746,-0.205610413053,-0.205516586756,-0.20542275857,-0.205328928495,-0.205235096533,-0.205141262685,-0.205047426951,-0.204953589332,-0.20485974983,-0.204765908444,-0.204672065176,-0.204578220027,-0.204484372998,-0.204390524089,-0.204296673301,-0.204202820635,-0.204108966093,-0.204015109674,-0.20392125138,-0.203827391212,-0.20373352917,-0.203639665255,-0.203545799469,-0.203451931811,-0.203358062284,-0.203264190887,-0.203170317622,-0.203076442489,-0.20298256549,-0.202888686625,-0.202794805895,-0.202700923302,-0.202607038844,-0.202513152525,-0.202419264344,-0.202325374303,-0.202231482401,-0.202137588641,-0.202043693023,-0.201949795548,-0.201855896217,-0.20176199503,-0.201668091988,-0.201574187093,-0.201480280345,-0.201386371745,-0.201292461294,-0.201198548993,-0.201104634842,-0.201010718843,-0.200916800996,-0.200822881302,-0.200728959763,-0.200635036378,-0.20054111115,-0.200447184078,-0.200353255163,-0.200259324407,-0.20016539181,-0.200071457373,-0.199977521097,-0.199883582983,-0.199789643032,-0.199695701244,-0.199601757621,-0.199507812163,-0.199413864871,-0.199319915747,-0.19922596479,-0.199132012002,-0.199038057383,-0.198944100935,-0.198850142659,-0.198756182554,-0.198662220623,-0.198568256866,-0.198474291283,-0.198380323876,-0.198286354646,-0.198192383593,-0.198098410718,-0.198004436022,-0.197910459507,-0.197816481172,-0.197722501019,-0.197628519048,-0.197534535261,-0.197440549659,-0.197346562241,-0.197252573009,-0.197158581965,-0.197064589108,-0.19697059444,-0.196876597961,-0.196782599672,-0.196688599575,-0.19659459767,-0.196500593958,-0.19640658844,-0.196312581116,-0.196218571988,-0.196124561056,-0.196030548321,-0.195936533785,-0.195842517448,-0.19574849931,-0.195654479373,-0.195560457638,-0.195466434105,-0.195372408776,-0.195278381651,-0.19518435273,-0.195090322016,-0.194996289509,-0.194902255209,-0.194808219117,-0.194714181235,-0.194620141563,-0.194526100103,-0.194432056854,-0.194338011818,-0.194243964996,-0.194149916388,-0.194055865996,-0.19396181382,-0.193867759861,-0.19377370412,-0.193679646598,-0.193585587296,-0.193491526214,-0.193397463354,-0.193303398716,-0.193209332302,-0.193115264111,-0.193021194145,-0.192927122405,-0.192833048892,-0.192738973607,-0.192644896549,-0.192550817721,-0.192456737123,-0.192362654756,-0.192268570621,-0.192174484719,-0.19208039705,-0.191986307615,-0.191892216416,-0.191798123453,-0.191704028728,-0.19160993224,-0.19151583399,-0.191421733981,-0.191327632212,-0.191233528684,-0.191139423398,-0.191045316356,-0.190951207557,-0.190857097004,-0.190762984696,-0.190668870634,-0.19057475482,-0.190480637254,-0.190386517938,-0.190292396871,-0.190198274056,-0.190104149492,-0.19001002318,-0.189915895122,-0.189821765319,-0.18972763377,-0.189633500478,-0.189539365443,-0.189445228665,-0.189351090146,-0.189256949887,-0.189162807888,-0.18906866415,-0.188974518674,-0.188880371462,-0.188786222513,-0.188692071829,-0.18859791941,-0.188503765258,-0.188409609373,-0.188315451757,-0.188221292409,-0.188127131332,-0.188032968525,-0.18793880399,-0.187844637727,-0.187750469738,-0.187656300023,-0.187562128583,-0.187467955419,-0.187373780531,-0.187279603922,-0.187185425591,-0.18709124554,-0.186997063768,-0.186902880278,-0.18680869507,-0.186714508145,-0.186620319504,-0.186526129147,-0.186431937076,-0.186337743291,-0.186243547794,-0.186149350584,-0.186055151663,-0.185960951033,-0.185866748693,-0.185772544644,-0.185678338888,-0.185584131425,-0.185489922257,-0.185395711383,-0.185301498805,-0.185207284524,-0.185113068541,-0.185018850856,-0.18492463147,-0.184830410385,-0.1847361876,-0.184641963118,-0.184547736939,-0.184453509063,-0.184359279491,-0.184265048226,-0.184170815266,-0.184076580613,-0.183982344269,-0.183888106233,-0.183793866507,-0.183699625092,-0.183605381988,-0.183511137197,-0.183416890719,-0.183322642555,-0.183228392705,-0.183134141172,-0.183039887955,-0.182945633056,-0.182851376475,-0.182757118214,-0.182662858272,-0.182568596652,-0.182474333353,-0.182380068377,-0.182285801725,-0.182191533397,-0.182097263395,-0.182002991719,-0.18190871837,-0.181814443348,-0.181720166656,-0.181625888293,-0.181531608261,-0.18143732656,-0.181343043192,-0.181248758156,-0.181154471455,-0.181060183088,-0.180965893058,-0.180871601363,-0.180777308007,-0.180683012988,-0.180588716309,-0.18049441797,-0.180400117972,-0.180305816315,-0.180211513002,-0.180117208031,-0.180022901406,-0.179928593125,-0.179834283191,-0.179739971603,-0.179645658364,-0.179551343473,-0.179457026932,-0.179362708741,-0.179268388902,-0.179174067415,-0.179079744281,-0.1789854195,-0.178891093075,-0.178796765005,-0.178702435292,-0.178608103936,-0.178513770939,-0.178419436301,-0.178325100022,-0.178230762105,-0.178136422549,-0.178042081356,-0.177947738526,-0.177853394061,-0.177759047961,-0.177664700227,-0.17757035086,-0.177475999861,-0.17738164723,-0.177287292969,-0.177192937079,-0.177098579559,-0.177004220412,-0.176909859638,-0.176815497238,-0.176721133212,-0.176626767562,-0.176532400289,-0.176438031393,-0.176343660875,-0.176249288736,-0.176154914977,-0.176060539599,-0.175966162603,-0.175871783989,-0.175777403759,-0.175683021913,-0.175588638452,-0.175494253377,-0.175399866689,-0.175305478389,-0.175211088478,-0.175116696956,-0.175022303824,-0.174927909083,-0.174833512735,-0.17473911478,-0.174644715218,-0.174550314051,-0.17445591128,-0.174361506905,-0.174267100928,-0.174172693348,-0.174078284168,-0.173983873387,-0.173889461008,-0.17379504703,-0.173700631454,-0.173606214282,-0.173511795514,-0.173417375152,-0.173322953195,-0.173228529645,-0.173134104503,-0.173039677769,-0.172945249445,-0.172850819531,-0.172756388029,-0.172661954938,-0.172567520261,-0.172473083997,-0.172378646148,-0.172284206714,-0.172189765697,-0.172095323097,-0.172000878915,-0.171906433152,-0.171811985809,-0.171717536887,-0.171623086386,-0.171528634308,-0.171434180654,-0.171339725423,-0.171245268618,-0.171150810238,-0.171056350285,-0.17096188876,-0.170867425664,-0.170772960997,-0.17067849476,-0.170584026954,-0.170489557581,-0.17039508664,-0.170300614133,-0.170206140061,-0.170111664424,-0.170017187224,-0.169922708461,-0.169828228136,-0.16973374625,-0.169639262803,-0.169544777798,-0.169450291234,-0.169355803112,-0.169261313434,-0.1691668222,-0.169072329411,-0.168977835068,-0.168883339172,-0.168788841724,-0.168694342724,-0.168599842173,-0.168505340073,-0.168410836423,-0.168316331226,-0.168221824482,-0.168127316191,-0.168032806355,-0.167938294975,-0.167843782051,-0.167749267584,-0.167654751575,-0.167560234025,-0.167465714935,-0.167371194305,-0.167276672137,-0.167182148432,-0.16708762319,-0.166993096412,-0.166898568099,-0.166804038252,-0.166709506872,-0.166614973959,-0.166520439515,-0.16642590354,-0.166331366036,-0.166236827003,-0.166142286441,-0.166047744353,-0.165953200738,-0.165858655598,-0.165764108933,-0.165669560745,-0.165575011034,-0.1654804598,-0.165385907046,-0.165291352772,-0.165196796978,-0.165102239666,-0.165007680836,-0.16491312049,-0.164818558628,-0.16472399525,-0.164629430359,-0.164534863954,-0.164440296037,-0.164345726609,-0.16425115567,-0.164156583221,-0.164062009263,-0.163967433797,-0.163872856825,-0.163778278345,-0.163683698361,-0.163589116871,-0.163494533879,-0.163399949383,-0.163305363385,-0.163210775887,-0.163116186888,-0.16302159639,-0.162927004393,-0.162832410899,-0.162737815908,-0.162643219421,-0.162548621439,-0.162454021963,-0.162359420994,-0.162264818533,-0.16217021458,-0.162075609136,-0.161981002202,-0.16188639378,-0.16179178387,-0.161697172472,-0.161602559588,-0.161507945219,-0.161413329366,-0.161318712028,-0.161224093208,-0.161129472906,-0.161034851122,-0.160940227859,-0.160845603116,-0.160750976895,-0.160656349196,-0.160561720021,-0.160467089369,-0.160372457243,-0.160277823642,-0.160183188569,-0.160088552023,-0.159993914005,-0.159899274517,-0.159804633559,-0.159709991132,-0.159615347237,-0.159520701875,-0.159426055047,-0.159331406753,-0.159236756995,-0.159142105773,-0.159047453088,-0.158952798942,-0.158858143334,-0.158763486266,-0.158668827739,-0.158574167753,-0.15847950631,-0.15838484341,-0.158290179054,-0.158195513243,-0.158100845978,-0.15800617726,-0.15791150709,-0.157816835468,-0.157722162395,-0.157627487873,-0.157532811902,-0.157438134483,-0.157343455616,-0.157248775304,-0.157154093546,-0.157059410343,-0.156964725697,-0.156870039608,-0.156775352077,-0.156680663105,-0.156585972693,-0.156491280842,-0.156396587552,-0.156301892824,-0.15620719666,-0.15611249906,-0.156017800025,-0.155923099556,-0.155828397654,-0.15573369432,-0.155638989554,-0.155544283357,-0.155449575731,-0.155354866676,-0.155260156193,-0.155165444282,-0.155070730946,-0.154976016184,-0.154881299997,-0.154786582387,-0.154691863355,-0.1545971429,-0.154502421024,-0.154407697728,-0.154312973013,-0.154218246879,-0.154123519328,-0.154028790361,-0.153934059977,-0.153839328178,-0.153744594966,-0.15364986034,-0.153555124302,-0.153460386852,-0.153365647992,-0.153270907723,-0.153176166044,-0.153081422957,-0.152986678464,-0.152891932564,-0.152797185258,-0.152702436549,-0.152607686435,-0.152512934919,-0.152418182001,-0.152323427682,-0.152228671963,-0.152133914845,-0.152039156328,-0.151944396414,-0.151849635103,-0.151754872397,-0.151660108295,-0.151565342799,-0.151470575911,-0.15137580763,-0.151281037957,-0.151186266894,-0.151091494442,-0.1509967206,-0.150901945371,-0.150807168755,-0.150712390752,-0.150617611364,-0.150522830592,-0.150428048436,-0.150333264897,-0.150238479977,-0.150143693675,-0.150048905994,-0.149954116933,-0.149859326494,-0.149764534677,-0.149669741484,-0.149574946915,-0.149480150972,-0.149385353654,-0.149290554963,-0.1491957549,-0.149100953465,-0.14900615066,-0.148911346486,-0.148816540942,-0.148721734031,-0.148626925753,-0.148532116108,-0.148437305099,-0.148342492725,-0.148247678987,-0.148152863887,-0.148058047424,-0.147963229601,-0.147868410418,-0.147773589876,-0.147678767976,-0.147583944718,-0.147489120103,-0.147394294133,-0.147299466808,-0.147204638129,-0.147109808097,-0.147014976713,-0.146920143977,-0.146825309891,-0.146730474455,-0.146635637671,-0.146540799539,-0.14644596006,-0.146351119234,-0.146256277064,-0.146161433549,-0.146066588691,-0.14597174249,-0.145876894947,-0.145782046064,-0.14568719584,-0.145592344277,-0.145497491376,-0.145402637138,-0.145307781563,-0.145212924653,-0.145118066408,-0.145023206829,-0.144928345916,-0.144833483672,-0.144738620097,-0.144643755191,-0.144548888955,-0.144454021391,-0.144359152499,-0.14426428228,-0.144169410735,-0.144074537865,-0.143979663671,-0.143884788153,-0.143789911312,-0.14369503315,-0.143600153667,-0.143505272865,-0.143410390743,-0.143315507303,-0.143220622545,-0.143125736471,-0.143030849082,-0.142935960378,-0.14284107036,-0.142746179029,-0.142651286386,-0.142556392431,-0.142461497167,-0.142366600593,-0.14227170271,-0.142176803519,-0.142081903022,-0.141987001219,-0.14189209811,-0.141797193698,-0.141702287982,-0.141607380963,-0.141512472643,-0.141417563022,-0.141322652102,-0.141227739882,-0.141132826364,-0.141037911549,-0.140942995437,-0.14084807803,-0.140753159328,-0.140658239333,-0.140563318044,-0.140468395464,-0.140373471592,-0.140278546431,-0.140183619979,-0.14008869224,-0.139993763212,-0.139898832898,-0.139803901298,-0.139708968412,-0.139614034243,-0.13951909879,-0.139424162055,-0.139329224038,-0.139234284741,-0.139139344164,-0.139044402308,-0.138949459173,-0.138854514762,-0.138759569074,-0.138664622111,-0.138569673873,-0.138474724362,-0.138379773578,-0.138284821522,-0.138189868194,-0.138094913597,-0.13799995773,-0.137905000595,-0.137810042192,-0.137715082522,-0.137620121586,-0.137525159386,-0.137430195921,-0.137335231194,-0.137240265204,-0.137145297952,-0.13705032944,-0.136955359668,-0.136860388637,-0.136765416348,-0.136670442802,-0.136575468,-0.136480491942,-0.13638551463,-0.136290536064,-0.136195556246,-0.136100575176,-0.136005592854,-0.135910609283,-0.135815624462,-0.135720638393,-0.135625651076,-0.135530662513,-0.135435672704,-0.13534068165,-0.135245689352,-0.135150695811,-0.135055701028,-0.134960705003,-0.134865707738,-0.134770709233,-0.134675709489,-0.134580708507,-0.134485706288,-0.134390702834,-0.134295698143,-0.134200692219,-0.134105685061,-0.13401067667,-0.133915667047,-0.133820656194,-0.13372564411,-0.133630630797,-0.133535616256,-0.133440600488,-0.133345583493,-0.133250565272,-0.133155545827,-0.133060525157,-0.132965503265,-0.13287048015,-0.132775455814,-0.132680430257,-0.132585403481,-0.132490375487,-0.132395346274,-0.132300315844,-0.132205284199,-0.132110251338,-0.132015217263,-0.131920181974,-0.131825145473,-0.13173010776,-0.131635068837,-0.131540028703,-0.13144498736,-0.131349944809,-0.131254901051,-0.131159856086,-0.131064809916,-0.130969762541,-0.130874713962,-0.13077966418,-0.130684613196,-0.13058956101,-0.130494507625,-0.13039945304,-0.130304397256,-0.130209340275,-0.130114282096,-0.130019222722,-0.129924162153,-0.129829100389,-0.129734037432,-0.129638973283,-0.129543907942,-0.12944884141,-0.129353773688,-0.129258704778,-0.129163634679,-0.129068563393,-0.128973490921,-0.128878417263,-0.12878334242,-0.128688266394,-0.128593189185,-0.128498110794,-0.128403031222,-0.128307950469,-0.128212868537,-0.128117785427,-0.128022701139,-0.127927615674,-0.127832529033,-0.127737441218,-0.127642352228,-0.127547262065,-0.127452170729,-0.127357078222,-0.127261984545,-0.127166889697,-0.127071793681,-0.126976696497,-0.126881598145,-0.126786498628,-0.126691397945,-0.126596296097,-0.126501193086,-0.126406088912,-0.126310983576,-0.126215877079,-0.126120769422,-0.126025660606,-0.125930550631,-0.125835439498,-0.12574032721,-0.125645213765,-0.125550099165,-0.125454983412,-0.125359866505,-0.125264748446,-0.125169629235,-0.125074508874,-0.124979387363,-0.124884264704,-0.124789140897,-0.124694015942,-0.124598889842,-0.124503762596,-0.124408634205,-0.124313504672,-0.124218373995,-0.124123242177,-0.124028109218,-0.123932975119,-0.12383783988,-0.123742703503,-0.123647565989,-0.123552427339,-0.123457287552,-0.123362146631,-0.123267004576,-0.123171861388,-0.123076717068,-0.122981571617,-0.122886425035,-0.122791277323,-0.122696128483,-0.122600978515,-0.12250582742,-0.122410675199,-0.122315521853,-0.122220367383,-0.122125211789,-0.122030055073,-0.121934897235,-0.121839738276,-0.121744578197,-0.121649416999,-0.121554254683,-0.12145909125,-0.1213639267,-0.121268761035,-0.121173594255,-0.121078426361,-0.120983257354,-0.120888087236,-0.120792916006,-0.120697743666,-0.120602570216,-0.120507395658,-0.120412219992,-0.120317043219,-0.120221865341,-0.120126686357,-0.120031506269,-0.119936325078,-0.119841142785,-0.119745959389,-0.119650774894,-0.119555589298,-0.119460402604,-0.119365214811,-0.119270025921,-0.119174835935,-0.119079644854,-0.118984452678,-0.118889259408,-0.118794065045,-0.118698869591,-0.118603673045,-0.11850847541,-0.118413276685,-0.118318076871,-0.11822287597,-0.118127673983,-0.118032470909,-0.117937266751,-0.117842061508,-0.117746855183,-0.117651647775,-0.117556439285,-0.117461229715,-0.117366019066,-0.117270807338,-0.117175594531,-0.117080380648,-0.116985165688,-0.116889949653,-0.116794732544,-0.116699514361,-0.116604295106,-0.116509074778,-0.11641385338,-0.116318630912,-0.116223407374,-0.116128182769,-0.116032957095,-0.115937730356,-0.11584250255,-0.11574727368,-0.115652043746,-0.115556812749,-0.115461580689,-0.115366347569,-0.115271113388,-0.115175878147,-0.115080641848,-0.114985404491,-0.114890166077,-0.114794926607,-0.114699686081,-0.114604444502,-0.114509201869,-0.114413958183,-0.114318713446,-0.114223467658,-0.11412822082,-0.114032972933,-0.113937723998,-0.113842474016,-0.113747222987,-0.113651970913,-0.113556717794,-0.113461463631,-0.113366208425,-0.113270952178,-0.113175694889,-0.113080436559,-0.112985177191,-0.112889916784,-0.112794655339,-0.112699392857,-0.11260412934,-0.112508864787,-0.112413599201,-0.112318332581,-0.112223064928,-0.112127796244,-0.11203252653,-0.111937255786,-0.111841984012,-0.111746711211,-0.111651437383,-0.111556162528,-0.111460886648,-0.111365609743,-0.111270331815,-0.111175052864,-0.111079772891,-0.110984491897,-0.110889209883,-0.11079392685,-0.110698642798,-0.110603357729,-0.110508071643,-0.110412784541,-0.110317496424,-0.110222207294,-0.11012691715,-0.110031625994,-0.109936333827,-0.109841040649,-0.109745746461,-0.109650451265,-0.109555155061,-0.10945985785,-0.109364559632,-0.10926926041,-0.109173960183,-0.109078658952,-0.108983356719,-0.108888053485,-0.108792749249,-0.108697444013,-0.108602137778,-0.108506830545,-0.108411522315,-0.108316213088,-0.108220902865,-0.108125591648,-0.108030279437,-0.107934966233,-0.107839652036,-0.107744336849,-0.107649020671,-0.107553703504,-0.107458385348,-0.107363066204,-0.107267746073,-0.107172424957,-0.107077102855,-0.106981779769,-0.1068864557,-0.106791130648,-0.106695804615,-0.106600477601,-0.106505149607,-0.106409820634,-0.106314490683,-0.106219159755,-0.106123827851,-0.106028494971,-0.105933161116,-0.105837826288,-0.105742490487,-0.105647153713,-0.105551815969,-0.105456477255,-0.105361137571,-0.105265796919,-0.105170455299,-0.105075112713,-0.10497976916,-0.104884424643,-0.104789079162,-0.104693732717,-0.10459838531,-0.104503036942,-0.104407687613,-0.104312337325,-0.104216986077,-0.104121633872,-0.10402628071,-0.103930926591,-0.103835571517,-0.103740215489,-0.103644858507,-0.103549500573,-0.103454141686,-0.103358781849,-0.103263421062,-0.103168059325,-0.10307269664,-0.102977333008,-0.102881968429,-0.102786602905,-0.102691236436,-0.102595869022,-0.102500500666,-0.102405131368,-0.102309761128,-0.102214389948,-0.102119017829,-0.10202364477,-0.101928270774,-0.101832895841,-0.101737519973,-0.101642143168,-0.10154676543,-0.101451386758,-0.101356007154,-0.101260626618,-0.101165245151,-0.101069862755,-0.100974479429,-0.100879095176,-0.100783709995,-0.100688323887,-0.100592936854,-0.100497548897,-0.100402160016,-0.100306770211,-0.100211379485,-0.100115987838,-0.100020595271,-0.0999252017837,-0.0998298073783,-0.0997344120553,-0.0996390158156,-0.0995436186601,-0.0994482205895,-0.0993528216049,-0.099257421707,-0.0991620208967,-0.099066619175,-0.0989712165427,-0.0988758130007,-0.0987804085498,-0.098685003191,-0.098589596925,-0.0984941897529,-0.0983987816754,-0.0983033726934,-0.0982079628079,-0.0981125520196,-0.0980171403296,-0.0979217277385,-0.0978263142474,-0.0977308998571,-0.0976354845685,-0.0975400683825,-0.0974446512998,-0.0973492333215,-0.0972538144484,-0.0971583946813,-0.0970629740212,-0.0969675524688,-0.0968721300252,-0.0967767066912,-0.0966812824676,-0.0965858573553,-0.0964904313553,-0.0963950044683,-0.0962995766952,-0.096204148037,-0.0961087184946,-0.0960132880687,-0.0959178567602,-0.0958224245702,-0.0957269914993,-0.0956315575485,-0.0955361227188,-0.0954406870108,-0.0953452504256,-0.095249812964,-0.0951543746269,-0.0950589354152,-0.0949634953296,-0.0948680543712,-0.0947726125408,-0.0946771698393,-0.0945817262675,-0.0944862818264,-0.0943908365167,-0.0942953903394,-0.0941999432954,-0.0941044953855,-0.0940090466106,-0.0939135969716,-0.0938181464694,-0.0937226951048,-0.0936272428788,-0.0935317897921,-0.0934363358457,-0.0933408810405,-0.0932454253773,-0.093149968857,-0.0930545114805,-0.0929590532487,-0.0928635941624,-0.0927681342225,-0.0926726734299,-0.0925772117855,-0.0924817492901,-0.0923862859447,-0.0922908217501,-0.0921953567071,-0.0920998908167,-0.0920044240798,-0.0919089564971,-0.0918134880697,-0.0917180187983,-0.0916225486839,-0.0915270777273,-0.0914316059294,-0.0913361332911,-0.0912406598132,-0.0911451854967,-0.0910497103424,-0.0909542343511,-0.0908587575239,-0.0907632798615,-0.0906678013648,-0.0905723220347,-0.0904768418721,-0.0903813608779,-0.0902858790529,-0.0901903963979,-0.090094912914,-0.089999428602,-0.0899039434627,-0.089808457497,-0.0897129707058,-0.08961748309,-0.0895219946505,-0.0894265053881,-0.0893310153037,-0.0892355243981,-0.0891400326724,-0.0890445401273,-0.0889490467637,-0.0888535525825,-0.0887580575846,-0.0886625617709,-0.0885670651421,-0.0884715676993,-0.0883760694433,-0.088280570375,-0.0881850704952,-0.0880895698048,-0.0879940683047,-0.0878985659958,-0.0878030628789,-0.087707558955,-0.0876120542249,-0.0875165486895,-0.0874210423496,-0.0873255352062,-0.0872300272601,-0.0871345185122,-0.0870390089634,-0.0869434986145,-0.0868479874665,-0.0867524755202,-0.0866569627765,-0.0865614492363,-0.0864659349003,-0.0863704197697,-0.0862749038451,-0.0861793871275,-0.0860838696177,-0.0859883513167,-0.0858928322253,-0.0857973123444,-0.0857017916749,-0.0856062702176,-0.0855107479735,-0.0854152249433,-0.085319701128,-0.0852241765285,-0.0851286511456,-0.0850331249803,-0.0849375980333,-0.0848420703056,-0.0847465417981,-0.0846510125116,-0.0845554824469,-0.0844599516051,-0.0843644199869,-0.0842688875933,-0.0841733544251,-0.0840778204832,-0.0839822857685,-0.0838867502818,-0.083791214024,-0.0836956769961,-0.0836001391988,-0.0835046006332,-0.0834090612999,-0.0833135212,-0.0832179803343,-0.0831224387036,-0.0830268963089,-0.0829313531511,-0.0828358092309,-0.0827402645494,-0.0826447191073,-0.0825491729056,-0.0824536259451,-0.0823580782266,-0.0822625297512,-0.0821669805197,-0.0820714305328,-0.0819758797916,-0.0818803282969,-0.0817847760496,-0.0816892230505,-0.0815936693005,-0.0814981148006,-0.0814025595515,-0.0813070035542,-0.0812114468096,-0.0811158893185,-0.0810203310817,-0.0809247721003,-0.080829212375,-0.0807336519067,-0.0806380906964,-0.0805425287448,-0.080446966053,-0.0803514026216,-0.0802558384517,-0.0801602735441,-0.0800647078997,-0.0799691415193,-0.0798735744039,-0.0797780065543,-0.0796824379714,-0.0795868686561,-0.0794912986092,-0.0793957278317,-0.0793001563244,-0.0792045840882,-0.0791090111239,-0.0790134374325,-0.0789178630148,-0.0788222878717,-0.0787267120041,-0.0786311354129,-0.0785355580988,-0.078439980063,-0.0783444013061,-0.0782488218291,-0.0781532416328,-0.0780576607182,-0.077962079086,-0.0778664967373,-0.0777709136729,-0.0776753298935,-0.0775797454003,-0.0774841601939,-0.0773885742753,-0.0772929876453,-0.0771974003049,-0.0771018122549,-0.0770062234962,-0.0769106340297,-0.0768150438563,-0.0767194529767,-0.076623861392,-0.076528269103,-0.0764326761105,-0.0763370824155,-0.0762414880189,-0.0761458929214,-0.076050297124,-0.0759547006275,-0.075859103433,-0.0757635055411,-0.0756679069528,-0.075572307669,-0.0754767076906,-0.0753811070184,-0.0752855056533,-0.0751899035962,-0.0750943008479,-0.0749986974094,-0.0749030932816,-0.0748074884652,-0.0747118829613,-0.0746162767706,-0.074520669894,-0.0744250623325,-0.0743294540868,-0.074233845158,-0.0741382355468,-0.0740426252541,-0.0739470142809,-0.073851402628,-0.0737557902962,-0.0736601772865,-0.0735645635997,-0.0734689492367,-0.0733733341984,-0.0732777184857,-0.0731821020994,-0.0730864850405,-0.0729908673097,-0.072895248908,-0.0727996298364,-0.0727040100955,-0.0726083896864,-0.0725127686098,-0.0724171468668,-0.0723215244581,-0.0722259013846,-0.0721302776472,-0.0720346532469,-0.0719390281844,-0.0718434024607,-0.0717477760766,-0.071652149033,-0.0715565213308,-0.0714608929708,-0.0713652639541,-0.0712696342813,-0.0711740039534,-0.0710783729714,-0.070982741336,-0.0708871090481,-0.0707914761086,-0.0706958425185,-0.0706002082785,-0.0705045733896,-0.0704089378526,-0.0703133016685,-0.070217664838,-0.0701220273621,-0.0700263892417,-0.0699307504776,-0.0698351110707,-0.0697394710219,-0.0696438303321,-0.0695481890021,-0.0694525470328,-0.0693569044252,-0.06926126118,-0.0691656172982,-0.0690699727807,-0.0689743276283,-0.0688786818418,-0.0687830354223,-0.0686873883705,-0.0685917406874,-0.0684960923738,-0.0684004434305,-0.0683047938586,-0.0682091436588,-0.0681134928321,-0.0680178413792,-0.0679221893012,-0.0678265365988,-0.067730883273,-0.0676352293246,-0.0675395747545,-0.0674439195637,-0.0673482637529,-0.067252607323,-0.067156950275,-0.0670612926096,-0.0669656343279,-0.0668699754306,-0.0667743159187,-0.066678655793,-0.0665829950544,-0.0664873337038,-0.066391671742,-0.06629600917,-0.0662003459886,-0.0661046821988,-0.0660090178013,-0.065913352797,-0.0658176871869,-0.0657220209718,-0.0656263541526,-0.0655306867302,-0.0654350187054,-0.0653393500792,-0.0652436808524,-0.0651480110259,-0.0650523406005,-0.0649566695772,-0.0648609979569,-0.0647653257403,-0.0646696529285,-0.0645739795222,-0.0644783055224,-0.0643826309299,-0.0642869557456,-0.0641912799704,-0.0640956036051,-0.0639999266507,-0.063904249108,-0.063808570978,-0.0637128922614,-0.0636172129592,-0.0635215330722,-0.0634258526014,-0.0633301715475,-0.0632344899116,-0.0631388076944,-0.0630431248968,-0.0629474415198,-0.0628517575642,-0.0627560730308,-0.0626603879206,-0.0625647022345,-0.0624690159732,-0.0623733291378,-0.062277641729,-0.0621819537478,-0.0620862651951,-0.0619905760716,-0.0618948863784,-0.0617991961162,-0.061703505286,-0.0616078138886,-0.0615121219249,-0.0614164293958,-0.0613207363022,-0.061225042645,-0.0611293484249,-0.061033653643,-0.0609379583001,-0.0608422623971,-0.0607465659348,-0.0606508689141,-0.0605551713359,-0.0604594732012,-0.0603637745107,-0.0602680752653,-0.060172375466,-0.0600766751136,-0.059980974209,-0.059885272753,-0.0597895707466,-0.0596938681907,-0.059598165086,-0.0595024614335,-0.0594067572341,-0.0593110524886,-0.059215347198,-0.059119641363,-0.0590239349847,-0.0589282280638,-0.0588325206012,-0.0587368125979,-0.0586411040547,-0.0585453949724,-0.0584496853521,-0.0583539751944,-0.0582582645004,-0.0581625532709,-0.0580668415068,-0.0579711292089,-0.0578754163782,-0.0577797030155,-0.0576839891217,-0.0575882746977,-0.0574925597444,-0.0573968442626,-0.0573011282532,-0.0572054117171,-0.0571096946552,-0.0570139770683,-0.0569182589574,-0.0568225403233,-0.0567268211669,-0.0566311014891,-0.0565353812907,-0.0564396605727,-0.0563439393359,-0.0562482175812,-0.0561524953095,-0.0560567725216,-0.0559610492185,-0.055865325401,-0.05576960107,-0.0556738762264,-0.055578150871,-0.0554824250048,-0.0553866986286,-0.0552909717432,-0.0551952443497,-0.0550995164488,-0.0550037880415,-0.0549080591285,-0.0548123297109,-0.0547165997894,-0.054620869365,-0.0545251384386,-0.0544294070109,-0.054333675083,-0.0542379426556,-0.0541422097297,-0.0540464763061,-0.0539507423857,-0.0538550079695,-0.0537592730582,-0.0536635376527,-0.053567801754,-0.0534720653629,-0.0533763284804,-0.0532805911071,-0.0531848532442,-0.0530891148924,-0.0529933760526,-0.0528976367257,-0.0528018969125,-0.0527061566141,-0.0526104158311,-0.0525146745646,-0.0524189328154,-0.0523231905843,-0.0522274478723,-0.0521317046803,-0.052035961009,-0.0519402168595,-0.0518444722325,-0.051748727129,-0.0516529815499,-0.0515572354959,-0.051461488968,-0.0513657419672,-0.0512699944941,-0.0511742465499,-0.0510784981352,-0.050982749251,-0.0508869998982,-0.0507912500777,-0.0506954997903,-0.0505997490369,-0.0505039978184,-0.0504082461357,-0.0503124939897,-0.0502167413812,-0.0501209883111,-0.0500252347803,-0.0499294807897,-0.0498337263401,-0.0497379714325,-0.0496422160677,-0.0495464602466,-0.0494507039701,-0.049354947239,-0.0492591900543,-0.0491634324168,-0.0490676743274,-0.048971915787,-0.0488761567964,-0.0487803973566,-0.0486846374684,-0.0485888771327,-0.0484931163504,-0.0483973551224,-0.0483015934495,-0.0482058313326,-0.0481100687726,-0.0480143057704,-0.0479185423269,-0.0478227784429,-0.0477270141193,-0.047631249357,-0.047535484157,-0.0474397185199,-0.0473439524469,-0.0472481859386,-0.0471524189961,-0.0470566516201,-0.0469608838116,-0.0468651155715,-0.0467693469005,-0.0466735777997,-0.0465778082699,-0.0464820383119,-0.0463862679267,-0.0462904971151,-0.046194725878,-0.0460989542163,-0.0460031821309,-0.0459074096226,-0.0458116366924,-0.045715863341,-0.0456200895695,-0.0455243153786,-0.0454285407693,-0.0453327657424,-0.0452369902988,-0.0451412144394,-0.0450454381651,-0.0449496614767,-0.0448538843752,-0.0447581068613,-0.0446623289361,-0.0445665506003,-0.0444707718549,-0.0443749927008,-0.0442792131387,-0.0441834331696,-0.0440876527945,-0.043991872014,-0.0438960908292,-0.0438003092409,-0.0437045272501,-0.0436087448575,-0.043512962064,-0.0434171788706,-0.0433213952781,-0.0432256112874,-0.0431298268994,-0.043034042115,-0.0429382569349,-0.0428424713602,-0.0427466853918,-0.0426508990304,-0.0425551122769,-0.0424593251323,-0.0423635375974,-0.0422677496731,-0.0421719613603,-0.0420761726599,-0.0419803835727,-0.0418845940997,-0.0417888042416,-0.0416930139995,-0.0415972233741,-0.0415014323663,-0.0414056409771,-0.0413098492073,-0.0412140570577,-0.0411182645294,-0.0410224716231,-0.0409266783397,-0.0408308846801,-0.0407350906452,-0.0406392962359,-0.0405435014531,-0.0404477062976,-0.0403519107703,-0.040256114872,-0.0401603186038,-0.0400645219664,-0.0399687249608,-0.0398729275877,-0.0397771298482,-0.039681331743,-0.0395855332731,-0.0394897344394,-0.0393939352426,-0.0392981356838,-0.0392023357637,-0.0391065354833,-0.0390107348435,-0.038914933845,-0.0388191324889,-0.0387233307759,-0.038627528707,-0.0385317262831,-0.038435923505,-0.0383401203736,-0.0382443168897,-0.0381485130544,-0.0380527088683,-0.0379569043325,-0.0378610994479,-0.0377652942152,-0.0376694886353,-0.0375736827093,-0.0374778764378,-0.0373820698219,-0.0372862628624,-0.0371904555601,-0.037094647916,-0.0369988399309,-0.0369030316057,-0.0368072229414,-0.0367114139387,-0.0366156045985,-0.0365197949218,-0.0364239849094,-0.0363281745623,-0.0362323638812,-0.036136552867,-0.0360407415207,-0.0359449298431,-0.0358491178351,-0.0357533054976,-0.0356574928315,-0.0355616798376,-0.0354658665169,-0.0353700528701,-0.0352742388982,-0.0351784246021,-0.0350826099826,-0.0349867950407,-0.0348909797772,-0.034795164193,-0.0346993482889,-0.0346035320659,-0.0345077155248,-0.0344118986665,-0.034316081492,-0.034220264002,-0.0341244461974,-0.0340286280792,-0.0339328096482,-0.0338369909053,-0.0337411718514,-0.0336453524873,-0.033549532814,-0.0334537128323,-0.0333578925431,-0.0332620719473,-0.0331662510457,-0.0330704298393,-0.0329746083289,-0.0328787865154,-0.0327829643997,-0.0326871419827,-0.0325913192652,-0.0324954962481,-0.0323996729324,-0.0323038493188,-0.0322080254083,-0.0321122012018,-0.0320163767,-0.031920551904,-0.0318247268146,-0.0317289014327,-0.0316330757591,-0.0315372497948,-0.0314414235406,-0.0313455969973,-0.031249770166,-0.0311539430474,-0.0310581156424,-0.030962287952,-0.030866459977,-0.0307706317182,-0.0306748031766,-0.0305789743531,-0.0304831452485,-0.0303873158637,-0.0302914861995,-0.030195656257,-0.0300998260369,-0.0300039955401,-0.0299081647675,-0.02981233372,-0.0297165023985,-0.0296206708039,-0.0295248389369,-0.0294290067986,-0.0293331743898,-0.0292373417114,-0.0291415087642,-0.0290456755491,-0.0289498420671,-0.028854008319,-0.0287581743056,-0.028662340028,-0.0285665054868,-0.0284706706831,-0.0283748356177,-0.0282790002914,-0.0281831647053,-0.02808732886,-0.0279914927567,-0.027895656396,-0.0277998197789,-0.0277039829062,-0.027608145779,-0.0275123083979,-0.027416470764,-0.0273206328781,-0.027224794741,-0.0271289563537,-0.027033117717,-0.0269372788319,-0.0268414396991,-0.0267456003196,-0.0266497606943,-0.026553920824,-0.0264580807097,-0.0263622403521,-0.0262663997523,-0.026170558911,-0.0260747178291,-0.0259788765076,-0.0258830349473,-0.025787193149,-0.0256913511138,-0.0255955088423,-0.0254996663357,-0.0254038235946,-0.02530798062,-0.0252121374128,-0.0251162939739,-0.0250204503041,-0.0249246064043,-0.0248287622754,-0.0247329179183,-0.0246370733338,-0.0245412285229,-0.0244453834864,-0.0243495382252,-0.0242536927402,-0.0241578470323,-0.0240620011023,-0.0239661549511,-0.0238703085797,-0.0237744619888,-0.0236786151794,-0.0235827681524,-0.0234869209086,-0.0233910734489,-0.0232952257742,-0.0231993778853,-0.0231035297833,-0.0230076814688,-0.0229118329429,-0.0228159842064,-0.0227201352602,-0.0226242861051,-0.0225284367421,-0.0224325871719,-0.0223367373956,-0.022240887414,-0.022145037228,-0.0220491868384,-0.0219533362461,-0.021857485452,-0.021761634457,-0.021665783262,-0.0215699318679,-0.0214740802755,-0.0213782284857,-0.0212823764994,-0.0211865243174,-0.0210906719408,-0.0209948193702,-0.0208989666067,-0.0208031136511,-0.0207072605043,-0.0206114071671,-0.0205155536405,-0.0204196999253,-0.0203238460224,-0.0202279919327,-0.0201321376571,-0.0200362831964,-0.0199404285515,-0.0198445737234,-0.0197487187128,-0.0196528635207,-0.019557008148,-0.0194611525955,-0.0193652968642,-0.0192694409548,-0.0191735848683,-0.0190777286056,-0.0189818721675,-0.0188860155549,-0.0187901587688,-0.0186943018099,-0.0185984446792,-0.0185025873775,-0.0184067299058,-0.0183108722649,-0.0182150144556,-0.018119156479,-0.0180232983358,-0.0179274400269,-0.0178315815532,-0.0177357229157,-0.0176398641151,-0.0175440051524,-0.0174481460284,-0.017352286744,-0.0172564273001,-0.0171605676976,-0.0170647079374,-0.0169688480203,-0.0168729879473,-0.0167771277191,-0.0166812673368,-0.0165854068011,-0.016489546113,-0.0163936852733,-0.0162978242829,-0.0162019631427,-0.0161061018535,-0.0160102404164,-0.015914378832,-0.0158185171014,-0.0157226552254,-0.0156267932049,-0.0155309310407,-0.0154350687338,-0.015339206285,-0.0152433436952,-0.0151474809653,-0.0150516180961,-0.0149557550886,-0.0148598919437,-0.0147640286621,-0.0146681652449,-0.0145723016928,-0.0144764380067,-0.0143805741876,-0.0142847102364,-0.0141888461538,-0.0140929819408,-0.0139971175982,-0.013901253127,-0.0138053885281,-0.0137095238022,-0.0136136589503,-0.0135177939733,-0.013421928872,-0.0133260636473,-0.0132301983002,-0.0131343328315,-0.013038467242,-0.0129426015327,-0.0128467357044,-0.012750869758,-0.0126550036944,-0.0125591375145,-0.0124632712192,-0.0123674048093,-0.0122715382857,-0.0121756716493,-0.0120798049011,-0.0119839380417,-0.0118880710723,-0.0117922039935,-0.0116963368064,-0.0116004695117,-0.0115046021104,-0.0114087346034,-0.0113128669915,-0.0112169992756,-0.0111211314566,-0.0110252635354,-0.0109293955129,-0.0108335273899,-0.0107376591673,-0.010641790846,-0.0105459224269,-0.0104500539108,-0.0103541852987,-0.0102583165915,-0.0101624477899,-0.0100665788949,-0.00997070990742,-0.00987484082827,-0.00977897165835,-0.00968310239854,-0.00958723304973,-0.00949136361279,-0.00939549408862,-0.00929962447808,-0.00920375478206,-0.00910788500144,-0.00901201513711,-0.00891614518993,-0.00882027516081,-0.00872440505061,-0.00862853486021,-0.00853266459051,-0.00843679424237,-0.00834092381668,-0.00824505331433,-0.00814918273619,-0.00805331208315,-0.00795744135608,-0.00786157055586,-0.00776569968339,-0.00766982873953,-0.00757395772518,-0.0074780866412,-0.00738221548849,-0.00728634426793,-0.00719047298039,-0.00709460162675,-0.00699873020791,-0.00690285872473,-0.0068069871781,-0.00671111556891,-0.00661524389803,-0.00651937216634,-0.00642350037473,-0.00632762852407,-0.00623175661525,-0.00613588464915,-0.00604001262666,-0.00594414054864,-0.00584826841598,-0.00575239622957,-0.00565652399029,-0.00556065169901,-0.00546477935662,-0.005368906964,-0.00527303452202,-0.00517716203158,-0.00508128949356,-0.00498541690882,-0.00488954427826,-0.00479367160276,-0.0046977988832,-0.00460192612045,-0.0045060533154,-0.00441018046894,-0.00431430758194,-0.00421843465528,-0.00412256168984,-0.00402668868652,-0.00393081564618,-0.00383494256971,-0.00373906945799,-0.0036431963119,-0.00354732313232,-0.00345144992014,-0.00335557667623,-0.00325970340148,-0.00316383009676,-0.00306795676297,-0.00297208340097,-0.00287621001166,-0.0027803365959,-0.0026844631546,-0.00258858968861,-0.00249271619884,-0.00239684268615,-0.00230096915143,-0.00220509559556,-0.00210922201942,-0.00201334842389,-0.00191747480986,-0.0018216011782,-0.0017257275298,-0.00162985386553,-0.00153398018629,-0.00143810649294,-0.00134223278637,-0.00124635906747,-0.00115048533711,-0.00105461159618,-0.000958737845554,-0.000862864086114,-0.000766990318743,-0.000671116544322,-0.000575242763732,-0.000479368977855,-0.000383495187572,-0.000287621393764,-0.000191747597311,-9.58737990961e-05,0.0,9.5873799096e-05}; - -}; \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.c b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.c deleted file mode 100755 index d98b4a8..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.c +++ /dev/null @@ -1,5042 +0,0 @@ -// Ogg Vorbis I audio decoder -- version 0.99996 -// -// Written in April 2007 by Sean Barrett, sponsored by RAD Game Tools. -// -// Placed in the public domain April 2007 by the author: no copyright is -// claimed, and you may use it for any purpose you like. -// -// No warranty for any purpose is expressed or implied by the author (nor -// by RAD Game Tools). Report bugs and send enhancements to the author. -// -// Get the latest version and other information at: -// http://nothings.org/stb_vorbis/ - - -// Todo: -// -// - seeking (note you can seek yourself using the pushdata API) -// -// Limitations: -// -// - floor 0 not supported (used in old ogg vorbis files) -// - lossless sample-truncation at beginning ignored -// - cannot concatenate multiple vorbis streams -// - sample positions are 32-bit, limiting seekable 192Khz -// files to around 6 hours (Ogg supports 64-bit) -// -// All of these limitations may be removed in future versions. - -#include "stb_vorbis.h" - -#ifndef STB_VORBIS_HEADER_ONLY - -// global configuration settings (e.g. set these in the project/makefile), -// or just set them in this file at the top (although ideally the first few -// should be visible when the header file is compiled too, although it's not -// crucial) - -// STB_VORBIS_NO_PUSHDATA_API -// does not compile the code for the various stb_vorbis_*_pushdata() -// functions -// #define STB_VORBIS_NO_PUSHDATA_API - -// STB_VORBIS_NO_PULLDATA_API -// does not compile the code for the non-pushdata APIs -// #define STB_VORBIS_NO_PULLDATA_API - -// STB_VORBIS_NO_STDIO -// does not compile the code for the APIs that use FILE *s internally -// or externally (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_STDIO - -// STB_VORBIS_NO_INTEGER_CONVERSION -// does not compile the code for converting audio sample data from -// float to integer (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_INTEGER_CONVERSION - -// STB_VORBIS_NO_FAST_SCALED_FLOAT -// does not use a fast float-to-int trick to accelerate float-to-int on -// most platforms which requires endianness be defined correctly. -//#define STB_VORBIS_NO_FAST_SCALED_FLOAT - - -// STB_VORBIS_MAX_CHANNELS [number] -// globally define this to the maximum number of channels you need. -// The spec does not put a restriction on channels except that -// the count is stored in a byte, so 255 is the hard limit. -// Reducing this saves about 16 bytes per value, so using 16 saves -// (255-16)*16 or around 4KB. Plus anything other memory usage -// I forgot to account for. Can probably go as low as 8 (7.1 audio), -// 6 (5.1 audio), or 2 (stereo only). -#ifndef STB_VORBIS_MAX_CHANNELS -#define STB_VORBIS_MAX_CHANNELS 16 // enough for anyone? -#endif - -// STB_VORBIS_PUSHDATA_CRC_COUNT [number] -// after a flush_pushdata(), stb_vorbis begins scanning for the -// next valid page, without backtracking. when it finds something -// that looks like a page, it streams through it and verifies its -// CRC32. Should that validation fail, it keeps scanning. But it's -// possible that _while_ streaming through to check the CRC32 of -// one candidate page, it sees another candidate page. This #define -// determines how many "overlapping" candidate pages it can search -// at once. Note that "real" pages are typically ~4KB to ~8KB, whereas -// garbage pages could be as big as 64KB, but probably average ~16KB. -// So don't hose ourselves by scanning an apparent 64KB page and -// missing a ton of real ones in the interim; so minimum of 2 -#ifndef STB_VORBIS_PUSHDATA_CRC_COUNT -#define STB_VORBIS_PUSHDATA_CRC_COUNT 4 -#endif - -// STB_VORBIS_FAST_HUFFMAN_LENGTH [number] -// sets the log size of the huffman-acceleration table. Maximum -// supported value is 24. with larger numbers, more decodings are O(1), -// but the table size is larger so worse cache missing, so you'll have -// to probe (and try multiple ogg vorbis files) to find the sweet spot. -#ifndef STB_VORBIS_FAST_HUFFMAN_LENGTH -#define STB_VORBIS_FAST_HUFFMAN_LENGTH 10 -#endif - -// STB_VORBIS_FAST_BINARY_LENGTH [number] -// sets the log size of the binary-search acceleration table. this -// is used in similar fashion to the fast-huffman size to set initial -// parameters for the binary search - -// STB_VORBIS_FAST_HUFFMAN_INT -// The fast huffman tables are much more efficient if they can be -// stored as 16-bit results instead of 32-bit results. This restricts -// the codebooks to having only 65535 possible outcomes, though. -// (At least, accelerated by the huffman table.) -#ifndef STB_VORBIS_FAST_HUFFMAN_INT -#define STB_VORBIS_FAST_HUFFMAN_SHORT -#endif - -// STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH -// If the 'fast huffman' search doesn't succeed, then stb_vorbis falls -// back on binary searching for the correct one. This requires storing -// extra tables with the huffman codes in sorted order. Defining this -// symbol trades off space for speed by forcing a linear search in the -// non-fast case, except for "sparse" codebooks. -// #define STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - -// STB_VORBIS_DIVIDES_IN_RESIDUE -// stb_vorbis precomputes the result of the scalar residue decoding -// that would otherwise require a divide per chunk. you can trade off -// space for time by defining this symbol. -// #define STB_VORBIS_DIVIDES_IN_RESIDUE - -// STB_VORBIS_DIVIDES_IN_CODEBOOK -// vorbis VQ codebooks can be encoded two ways: with every case explicitly -// stored, or with all elements being chosen from a small range of values, -// and all values possible in all elements. By default, stb_vorbis expands -// this latter kind out to look like the former kind for ease of decoding, -// because otherwise an integer divide-per-vector-element is required to -// unpack the index. If you define STB_VORBIS_DIVIDES_IN_CODEBOOK, you can -// trade off storage for speed. -//#define STB_VORBIS_DIVIDES_IN_CODEBOOK - -// STB_VORBIS_CODEBOOK_SHORTS -// The vorbis file format encodes VQ codebook floats as ax+b where a and -// b are floating point per-codebook constants, and x is a 16-bit int. -// Normally, stb_vorbis decodes them to floats rather than leaving them -// as 16-bit ints and computing ax+b while decoding. This is a speed/space -// tradeoff; you can save space by defining this flag. -#ifndef STB_VORBIS_CODEBOOK_SHORTS -#define STB_VORBIS_CODEBOOK_FLOATS -#endif - -// STB_VORBIS_DIVIDE_TABLE -// this replaces small integer divides in the floor decode loop with -// table lookups. made less than 1% difference, so disabled by default. - -// STB_VORBIS_NO_INLINE_DECODE -// disables the inlining of the scalar codebook fast-huffman decode. -// might save a little codespace; useful for debugging -// #define STB_VORBIS_NO_INLINE_DECODE - -// STB_VORBIS_NO_DEFER_FLOOR -// Normally we only decode the floor without synthesizing the actual -// full curve. We can instead synthesize the curve immediately. This -// requires more memory and is very likely slower, so I don't think -// you'd ever want to do it except for debugging. -// #define STB_VORBIS_NO_DEFER_FLOOR - - - - -////////////////////////////////////////////////////////////////////////////// - -#ifdef STB_VORBIS_NO_PULLDATA_API - #define STB_VORBIS_NO_INTEGER_CONVERSION - #define STB_VORBIS_NO_STDIO -#endif - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) - #define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - - // only need endianness for fast-float-to-int, which we don't - // use for pushdata - - #ifndef STB_VORBIS_BIG_ENDIAN - #define STB_VORBIS_ENDIAN 0 - #else - #define STB_VORBIS_ENDIAN 1 - #endif - -#endif -#endif - - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifndef STB_VORBIS_NO_CRT -#include -#include -#include -#include -#if !(defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)) -#include -#endif -#else -#define NULL 0 -#endif - -#ifndef _MSC_VER - #if __GNUC__ - #define __forceinline inline - #else - #define __forceinline - #endif -#endif - -#if STB_VORBIS_MAX_CHANNELS > 256 -#error "Value of STB_VORBIS_MAX_CHANNELS outside of allowed range" -#endif - -#if STB_VORBIS_FAST_HUFFMAN_LENGTH > 24 -#error "Value of STB_VORBIS_FAST_HUFFMAN_LENGTH outside of allowed range" -#endif - - -#define MAX_BLOCKSIZE_LOG 13 // from specification -#define MAX_BLOCKSIZE (1 << MAX_BLOCKSIZE_LOG) - - -typedef unsigned char uint8; -typedef signed char int8; -typedef unsigned short uint16; -typedef signed short int16; -typedef unsigned int uint32; -typedef signed int int32; - -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif - -#ifdef STB_VORBIS_CODEBOOK_FLOATS -typedef float codetype; -#else -typedef uint16 codetype; -#endif - -// @NOTE -// -// Some arrays below are tagged "//varies", which means it's actually -// a variable-sized piece of data, but rather than malloc I assume it's -// small enough it's better to just allocate it all together with the -// main thing -// -// Most of the variables are specified with the smallest size I could pack -// them into. It might give better performance to make them all full-sized -// integers. It should be safe to freely rearrange the structures or change -// the sizes larger--nothing relies on silently truncating etc., nor the -// order of variables. - -#define FAST_HUFFMAN_TABLE_SIZE (1 << STB_VORBIS_FAST_HUFFMAN_LENGTH) -#define FAST_HUFFMAN_TABLE_MASK (FAST_HUFFMAN_TABLE_SIZE - 1) - -typedef struct -{ - int dimensions, entries; - uint8 *codeword_lengths; - float minimum_value; - float delta_value; - uint8 value_bits; - uint8 lookup_type; - uint8 sequence_p; - uint8 sparse; - uint32 lookup_values; - codetype *multiplicands; - uint32 *codewords; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - int16 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #else - int32 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #endif - uint32 *sorted_codewords; - int *sorted_values; - int sorted_entries; -} Codebook; - -typedef struct -{ - uint8 order; - uint16 rate; - uint16 bark_map_size; - uint8 amplitude_bits; - uint8 amplitude_offset; - uint8 number_of_books; - uint8 book_list[16]; // varies -} Floor0; - -typedef struct -{ - uint8 partitions; - uint8 partition_class_list[32]; // varies - uint8 class_dimensions[16]; // varies - uint8 class_subclasses[16]; // varies - uint8 class_masterbooks[16]; // varies - int16 subclass_books[16][8]; // varies - uint16 Xlist[31*8+2]; // varies - uint8 sorted_order[31*8+2]; - uint8 neighbors[31*8+2][2]; - uint8 floor1_multiplier; - uint8 rangebits; - int values; -} Floor1; - -typedef union -{ - Floor0 floor0; - Floor1 floor1; -} Floor; - -typedef struct -{ - uint32 begin, end; - uint32 part_size; - uint8 classifications; - uint8 classbook; - uint8 **classdata; - int16 (*residue_books)[8]; -} Residue; - -typedef struct -{ - uint8 magnitude; - uint8 angle; - uint8 mux; -} MappingChannel; - -typedef struct -{ - uint16 coupling_steps; - MappingChannel *chan; - uint8 submaps; - uint8 submap_floor[15]; // varies - uint8 submap_residue[15]; // varies -} Mapping; - -typedef struct -{ - uint8 blockflag; - uint8 mapping; - uint16 windowtype; - uint16 transformtype; -} Mode; - -typedef struct -{ - uint32 goal_crc; // expected crc if match - int bytes_left; // bytes left in packet - uint32 crc_so_far; // running crc - int bytes_done; // bytes processed in _current_ chunk - uint32 sample_loc; // granule pos encoded in page -} CRCscan; - -typedef struct -{ - uint32 page_start, page_end; - uint32 after_previous_page_start; - uint32 first_decoded_sample; - uint32 last_decoded_sample; -} ProbedPage; - -struct stb_vorbis -{ - // user-accessible info - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int temp_memory_required; - unsigned int setup_temp_memory_required; - - // input config -#ifndef STB_VORBIS_NO_STDIO - FILE *f; - uint32 f_start; - int close_on_free; -#endif - - uint8 *stream; - uint8 *stream_start; - uint8 *stream_end; - - uint32 stream_len; - - uint8 push_mode; - - uint32 first_audio_page_offset; - - ProbedPage p_first, p_last; - - // memory management - stb_vorbis_alloc alloc; - int setup_offset; - int temp_offset; - - // run-time results - int eof; - enum STBVorbisError error; - - // user-useful data - - // header info - int blocksize[2]; - int blocksize_0, blocksize_1; - int codebook_count; - Codebook *codebooks; - int floor_count; - uint16 floor_types[64]; // varies - Floor *floor_config; - int residue_count; - uint16 residue_types[64]; // varies - Residue *residue_config; - int mapping_count; - Mapping *mapping; - int mode_count; - Mode mode_config[64]; // varies - - uint32 total_samples; - - // decode buffer - float *channel_buffers[STB_VORBIS_MAX_CHANNELS]; - float *outputs [STB_VORBIS_MAX_CHANNELS]; - - float *previous_window[STB_VORBIS_MAX_CHANNELS]; - int previous_length; - - #ifndef STB_VORBIS_NO_DEFER_FLOOR - int16 *finalY[STB_VORBIS_MAX_CHANNELS]; - #else - float *floor_buffers[STB_VORBIS_MAX_CHANNELS]; - #endif - - uint32 current_loc; // sample location of next frame to decode - int current_loc_valid; - - // per-blocksize precomputed data - - // twiddle factors - float *A[2],*B[2],*C[2]; - float *window[2]; - uint16 *bit_reverse[2]; - - // current page/packet/segment streaming info - uint32 serial; // stream serial number for verification - int last_page; - int segment_count; - uint8 segments[255]; - uint8 page_flag; - uint8 bytes_in_seg; - uint8 first_decode; - int next_seg; - int last_seg; // flag that we're on the last segment - int last_seg_which; // what was the segment number of the last seg? - uint32 acc; - int valid_bits; - int packet_bytes; - int end_seg_with_known_loc; - uint32 known_loc_for_packet; - int discard_samples_deferred; - uint32 samples_output; - - // push mode scanning - int page_crc_tests; // only in push_mode: number of tests active; -1 if not searching -#ifndef STB_VORBIS_NO_PUSHDATA_API - CRCscan scan[STB_VORBIS_PUSHDATA_CRC_COUNT]; -#endif - - // sample-access - int channel_buffer_start; - int channel_buffer_end; -}; - -extern int my_prof(int slot); -//#define stb_prof my_prof - -#ifndef stb_prof -#define stb_prof(x) 0 -#endif - -#if defined(STB_VORBIS_NO_PUSHDATA_API) - #define IS_PUSH_MODE(f) FALSE -#elif defined(STB_VORBIS_NO_PULLDATA_API) - #define IS_PUSH_MODE(f) TRUE -#else - #define IS_PUSH_MODE(f) ((f)->push_mode) -#endif - -typedef struct stb_vorbis vorb; - -static int error(vorb *f, enum STBVorbisError e) -{ - f->error = e; - if (!f->eof && e != VORBIS_need_more_data) { - f->error=e; // breakpoint for debugging - } - return 0; -} - - -// these functions are used for allocating temporary memory -// while decoding. if you can afford the stack space, use -// alloca(); otherwise, provide a temp buffer and it will -// allocate out of those. - -#define array_size_required(count,size) (count*(sizeof(void *)+(size))) - -#define temp_alloc(f,size) (f->alloc.alloc_buffer ? setup_temp_malloc(f,size) : alloca(size)) -#ifdef dealloca -#define temp_free(f,p) (f->alloc.alloc_buffer ? 0 : dealloca(size)) -#else -#define temp_free(f,p) 0 -#endif -#define temp_alloc_save(f) ((f)->temp_offset) -#define temp_alloc_restore(f,p) ((f)->temp_offset = (p)) - -#define temp_block_array(f,count,size) make_block_array(temp_alloc(f,array_size_required(count,size)), count, size) - -// given a sufficiently large block of memory, make an array of pointers to subblocks of it -static void *make_block_array(void *mem, int count, int size) -{ - int i; - void ** p = (void **) mem; - char *q = (char *) (p + count); - for (i=0; i < count; ++i) { - p[i] = q; - q += size; - } - return p; -} - -static void *setup_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - f->setup_memory_required += sz; - if (f->alloc.alloc_buffer) { - void *p = (char *) f->alloc.alloc_buffer + f->setup_offset; - if (f->setup_offset + sz > f->temp_offset) return NULL; - f->setup_offset += sz; - return p; - } - return sz ? malloc(sz) : NULL; -} - -static void setup_free(vorb *f, void *p) -{ - if (f->alloc.alloc_buffer) return; // do nothing; setup mem is not a stack - free(p); -} - -static void *setup_temp_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - if (f->alloc.alloc_buffer) { - if (f->temp_offset - sz < f->setup_offset) return NULL; - f->temp_offset -= sz; - return (char *) f->alloc.alloc_buffer + f->temp_offset; - } - return malloc(sz); -} - -static void setup_temp_free(vorb *f, void *p, size_t sz) -{ - if (f->alloc.alloc_buffer) { - f->temp_offset += (sz+3)&~3; - return; - } - free(p); -} - -#define CRC32_POLY 0x04c11db7 // from spec - -static uint32 crc_table[256]; -static void crc32_init(void) -{ - int i,j; - uint32 s; - for(i=0; i < 256; i++) { - for (s=i<<24, j=0; j < 8; ++j) - s = (s << 1) ^ (s >= (1<<31) ? CRC32_POLY : 0); - crc_table[i] = s; - } -} - -static __forceinline uint32 crc32_update(uint32 crc, uint8 byte) -{ - return (crc << 8) ^ crc_table[byte ^ (crc >> 24)]; -} - - -// used in setup, and for huffman that doesn't go fast path -static unsigned int bit_reverse(unsigned int n) -{ - n = ((n & 0xAAAAAAAA) >> 1) | ((n & 0x55555555) << 1); - n = ((n & 0xCCCCCCCC) >> 2) | ((n & 0x33333333) << 2); - n = ((n & 0xF0F0F0F0) >> 4) | ((n & 0x0F0F0F0F) << 4); - n = ((n & 0xFF00FF00) >> 8) | ((n & 0x00FF00FF) << 8); - return (n >> 16) | (n << 16); -} - -static float square(float x) -{ - return x*x; -} - -// this is a weird definition of log2() for which log2(1) = 1, log2(2) = 2, log2(4) = 3 -// as required by the specification. fast(?) implementation from stb.h -// @OPTIMIZE: called multiple times per-packet with "constants"; move to setup -static int ilog(int32 n) -{ - static signed char log2_4[16] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4 }; - - // 2 compares if n < 16, 3 compares otherwise (4 if signed or n > 1<<29) - if (n < (1U << 14)) - if (n < (1U << 4)) return 0 + log2_4[n ]; - else if (n < (1U << 9)) return 5 + log2_4[n >> 5]; - else return 10 + log2_4[n >> 10]; - else if (n < (1U << 24)) - if (n < (1U << 19)) return 15 + log2_4[n >> 15]; - else return 20 + log2_4[n >> 20]; - else if (n < (1U << 29)) return 25 + log2_4[n >> 25]; - else if (n < (1U << 31)) return 30 + log2_4[n >> 30]; - else return 0; // signed n returns 0 -} - -#ifndef M_PI - #define M_PI 3.14159265358979323846264f // from CRC -#endif - -// code length assigned to a value with no huffman encoding -#define NO_CODE 255 - -/////////////////////// LEAF SETUP FUNCTIONS ////////////////////////// -// -// these functions are only called at setup, and only a few times -// per file - -static float float32_unpack(uint32 x) -{ - // from the specification - uint32 mantissa = x & 0x1fffff; - uint32 sign = x & 0x80000000; - uint32 exp = (x & 0x7fe00000) >> 21; - double res = sign ? -(double)mantissa : (double)mantissa; - return (float) ldexp((float)res, exp-788); -} - - -// zlib & jpeg huffman tables assume that the output symbols -// can either be arbitrarily arranged, or have monotonically -// increasing frequencies--they rely on the lengths being sorted; -// this makes for a very simple generation algorithm. -// vorbis allows a huffman table with non-sorted lengths. This -// requires a more sophisticated construction, since symbols in -// order do not map to huffman codes "in order". -static void add_entry(Codebook *c, uint32 huff_code, int symbol, int count, int len, uint32 *values) -{ - if (!c->sparse) { - c->codewords [symbol] = huff_code; - } else { - c->codewords [count] = huff_code; - c->codeword_lengths[count] = len; - values [count] = symbol; - } -} - -static int compute_codewords(Codebook *c, uint8 *len, int n, uint32 *values) -{ - int i,k,m=0; - uint32 available[32]; - - memset(available, 0, sizeof(available)); - // find the first entry - for (k=0; k < n; ++k) if (len[k] < NO_CODE) break; - if (k == n) { assert(c->sorted_entries == 0); return TRUE; } - // add to the list - add_entry(c, 0, k, m++, len[k], values); - // add all available leaves - for (i=1; i <= len[k]; ++i) - available[i] = 1 << (32-i); - // note that the above code treats the first case specially, - // but it's really the same as the following code, so they - // could probably be combined (except the initial code is 0, - // and I use 0 in available[] to mean 'empty') - for (i=k+1; i < n; ++i) { - uint32 res; - int z = len[i], y; - if (z == NO_CODE) continue; - // find lowest available leaf (should always be earliest, - // which is what the specification calls for) - // note that this property, and the fact we can never have - // more than one free leaf at a given level, isn't totally - // trivial to prove, but it seems true and the assert never - // fires, so! - while (z > 0 && !available[z]) --z; - if (z == 0) { assert(0); return FALSE; } - res = available[z]; - available[z] = 0; - add_entry(c, bit_reverse(res), i, m++, len[i], values); - // propogate availability up the tree - if (z != len[i]) { - for (y=len[i]; y > z; --y) { - assert(available[y] == 0); - available[y] = res + (1 << (32-y)); - } - } - } - return TRUE; -} - -// accelerated huffman table allows fast O(1) match of all symbols -// of length <= STB_VORBIS_FAST_HUFFMAN_LENGTH -static void compute_accelerated_huffman(Codebook *c) -{ - int i, len; - for (i=0; i < FAST_HUFFMAN_TABLE_SIZE; ++i) - c->fast_huffman[i] = -1; - - len = c->sparse ? c->sorted_entries : c->entries; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - if (len > 32767) len = 32767; // largest possible value we can encode! - #endif - for (i=0; i < len; ++i) { - if (c->codeword_lengths[i] <= STB_VORBIS_FAST_HUFFMAN_LENGTH) { - uint32 z = c->sparse ? bit_reverse(c->sorted_codewords[i]) : c->codewords[i]; - // set table entries for all bit combinations in the higher bits - while (z < FAST_HUFFMAN_TABLE_SIZE) { - c->fast_huffman[z] = i; - z += 1 << c->codeword_lengths[i]; - } - } - } -} - -static int uint32_compare(const void *p, const void *q) -{ - uint32 x = * (uint32 *) p; - uint32 y = * (uint32 *) q; - return x < y ? -1 : x > y; -} - -static int include_in_sort(Codebook *c, uint8 len) -{ - if (c->sparse) { assert(len != NO_CODE); return TRUE; } - if (len == NO_CODE) return FALSE; - if (len > STB_VORBIS_FAST_HUFFMAN_LENGTH) return TRUE; - return FALSE; -} - -// if the fast table above doesn't work, we want to binary -// search them... need to reverse the bits -static void compute_sorted_huffman(Codebook *c, uint8 *lengths, uint32 *values) -{ - int i, len; - // build a list of all the entries - // OPTIMIZATION: don't include the short ones, since they'll be caught by FAST_HUFFMAN. - // this is kind of a frivolous optimization--I don't see any performance improvement, - // but it's like 4 extra lines of code, so. - if (!c->sparse) { - int k = 0; - for (i=0; i < c->entries; ++i) - if (include_in_sort(c, lengths[i])) - c->sorted_codewords[k++] = bit_reverse(c->codewords[i]); - assert(k == c->sorted_entries); - } else { - for (i=0; i < c->sorted_entries; ++i) - c->sorted_codewords[i] = bit_reverse(c->codewords[i]); - } - - qsort(c->sorted_codewords, c->sorted_entries, sizeof(c->sorted_codewords[0]), uint32_compare); - c->sorted_codewords[c->sorted_entries] = 0xffffffff; - - len = c->sparse ? c->sorted_entries : c->entries; - // now we need to indicate how they correspond; we could either - // #1: sort a different data structure that says who they correspond to - // #2: for each sorted entry, search the original list to find who corresponds - // #3: for each original entry, find the sorted entry - // #1 requires extra storage, #2 is slow, #3 can use binary search! - for (i=0; i < len; ++i) { - int huff_len = c->sparse ? lengths[values[i]] : lengths[i]; - if (include_in_sort(c,huff_len)) { - uint32 code = bit_reverse(c->codewords[i]); - int x=0, n=c->sorted_entries; - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - assert(c->sorted_codewords[x] == code); - if (c->sparse) { - c->sorted_values[x] = values[i]; - c->codeword_lengths[x] = huff_len; - } else { - c->sorted_values[x] = i; - } - } - } -} - -// only run while parsing the header (3 times) -static int vorbis_validate(uint8 *data) -{ - static uint8 vorbis[6] = { 'v', 'o', 'r', 'b', 'i', 's' }; - return memcmp(data, vorbis, 6) == 0; -} - -// called from setup only, once per code book -// (formula implied by specification) -static int lookup1_values(int entries, int dim) -{ - int r = (int) floor(exp((float) log((float) entries) / dim)); - if ((int) floor(pow((float) r+1, dim)) <= entries) // (int) cast for MinGW warning; - ++r; // floor() to avoid _ftol() when non-CRT - assert(pow((float) r+1, dim) > entries); - assert((int) floor(pow((float) r, dim)) <= entries); // (int),floor() as above - return r; -} - -// called twice per file -static void compute_twiddle_factors(int n, float *A, float *B, float *C) -{ - int n4 = n >> 2, n8 = n >> 3; - int k,k2; - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2) * 0.5f; - B[k2+1] = (float) sin((k2+1)*M_PI/n/2) * 0.5f; - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } -} - -static void compute_window(int n, float *window) -{ - int n2 = n >> 1, i; - for (i=0; i < n2; ++i) - window[i] = (float) sin(0.5 * M_PI * square((float) sin((i - 0 + 0.5) / n2 * 0.5 * M_PI))); -} - -static void compute_bitreverse(int n, uint16 *rev) -{ - int ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - int i, n8 = n >> 3; - for (i=0; i < n8; ++i) - rev[i] = (bit_reverse(i) >> (32-ld+3)) << 2; -} - -static int init_blocksize(vorb *f, int b, int n) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3; - f->A[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->B[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->C[b] = (float *) setup_malloc(f, sizeof(float) * n4); - if (!f->A[b] || !f->B[b] || !f->C[b]) return error(f, VORBIS_outofmem); - compute_twiddle_factors(n, f->A[b], f->B[b], f->C[b]); - f->window[b] = (float *) setup_malloc(f, sizeof(float) * n2); - if (!f->window[b]) return error(f, VORBIS_outofmem); - compute_window(n, f->window[b]); - f->bit_reverse[b] = (uint16 *) setup_malloc(f, sizeof(uint16) * n8); - if (!f->bit_reverse[b]) return error(f, VORBIS_outofmem); - compute_bitreverse(n, f->bit_reverse[b]); - return TRUE; -} - -static void neighbors(uint16 *x, int n, int *plow, int *phigh) -{ - int low = -1; - int high = 65536; - int i; - for (i=0; i < n; ++i) { - if (x[i] > low && x[i] < x[n]) { *plow = i; low = x[i]; } - if (x[i] < high && x[i] > x[n]) { *phigh = i; high = x[i]; } - } -} - -// this has been repurposed so y is now the original index instead of y -typedef struct -{ - uint16 x,y; -} VorbisPoint; - -int point_compare(const void *p, const void *q) -{ - VorbisPoint *a = (VorbisPoint *) p; - VorbisPoint *b = (VorbisPoint *) q; - return a->x < b->x ? -1 : a->x > b->x; -} - -// -/////////////////////// END LEAF SETUP FUNCTIONS ////////////////////////// - - -#if defined(STB_VORBIS_NO_STDIO) - #define USE_MEMORY(z) TRUE -#else - #define USE_MEMORY(z) ((z)->stream) -#endif - -static uint8 get8(vorb *z) -{ - if (USE_MEMORY(z)) { - if (z->stream >= z->stream_end) { z->eof = TRUE; return 0; } - return *z->stream++; - } - - #ifndef STB_VORBIS_NO_STDIO - { - int c = fgetc(z->f); - if (c == EOF) { z->eof = TRUE; return 0; } - return c; - } - #endif -} - -static uint32 get32(vorb *f) -{ - uint32 x; - x = get8(f); - x += get8(f) << 8; - x += get8(f) << 16; - x += get8(f) << 24; - return x; -} - -static int getn(vorb *z, uint8 *data, int n) -{ - if (USE_MEMORY(z)) { - if (z->stream+n > z->stream_end) { z->eof = 1; return 0; } - memcpy(data, z->stream, n); - z->stream += n; - return 1; - } - - #ifndef STB_VORBIS_NO_STDIO - if (fread(data, n, 1, z->f) == 1) - return 1; - else { - z->eof = 1; - return 0; - } - #endif -} - -static void skip(vorb *z, int n) -{ - if (USE_MEMORY(z)) { - z->stream += n; - if (z->stream >= z->stream_end) z->eof = 1; - return; - } - #ifndef STB_VORBIS_NO_STDIO - { - long x = ftell(z->f); - fseek(z->f, x+n, SEEK_SET); - } - #endif -} - -static int set_file_offset(stb_vorbis *f, unsigned int loc) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - f->eof = 0; - if (USE_MEMORY(f)) { - if (f->stream_start + loc >= f->stream_end || f->stream_start + loc < f->stream_start) { - f->stream = f->stream_end; - f->eof = 1; - return 0; - } else { - f->stream = f->stream_start + loc; - return 1; - } - } - #ifndef STB_VORBIS_NO_STDIO - if (loc + f->f_start < loc || loc >= 0x80000000) { - loc = 0x7fffffff; - f->eof = 1; - } else { - loc += f->f_start; - } - if (!fseek(f->f, loc, SEEK_SET)) - return 1; - f->eof = 1; - fseek(f->f, f->f_start, SEEK_END); - return 0; - #endif -} - - -static uint8 ogg_page_header[4] = { 0x4f, 0x67, 0x67, 0x53 }; - -static int capture_pattern(vorb *f) -{ - if (0x4f != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x53 != get8(f)) return FALSE; - return TRUE; -} - -#define PAGEFLAG_continued_packet 1 -#define PAGEFLAG_first_page 2 -#define PAGEFLAG_last_page 4 - -static int start_page_no_capturepattern(vorb *f) -{ - uint32 loc0,loc1,n,i; - // stream structure version - if (0 != get8(f)) return error(f, VORBIS_invalid_stream_structure_version); - // header flag - f->page_flag = get8(f); - // absolute granule position - loc0 = get32(f); - loc1 = get32(f); - // @TODO: validate loc0,loc1 as valid positions? - // stream serial number -- vorbis doesn't interleave, so discard - get32(f); - //if (f->serial != get32(f)) return error(f, VORBIS_incorrect_stream_serial_number); - // page sequence number - n = get32(f); - f->last_page = n; - // CRC32 - get32(f); - // page_segments - f->segment_count = get8(f); - if (!getn(f, f->segments, f->segment_count)) - return error(f, VORBIS_unexpected_eof); - // assume we _don't_ know any the sample position of any segments - f->end_seg_with_known_loc = -2; - if (loc0 != ~0 || loc1 != ~0) { - // determine which packet is the last one that will complete - for (i=f->segment_count-1; i >= 0; --i) - if (f->segments[i] < 255) - break; - // 'i' is now the index of the _last_ segment of a packet that ends - if (i >= 0) { - f->end_seg_with_known_loc = i; - f->known_loc_for_packet = loc0; - } - } - if (f->first_decode) { - int i,len; - ProbedPage p; - len = 0; - for (i=0; i < f->segment_count; ++i) - len += f->segments[i]; - len += 27 + f->segment_count; - p.page_start = f->first_audio_page_offset; - p.page_end = p.page_start + len; - p.after_previous_page_start = p.page_start; - p.first_decoded_sample = 0; - p.last_decoded_sample = loc0; - f->p_first = p; - } - f->next_seg = 0; - return TRUE; -} - -static int start_page(vorb *f) -{ - if (!capture_pattern(f)) return error(f, VORBIS_missing_capture_pattern); - return start_page_no_capturepattern(f); -} - -static int start_packet(vorb *f) -{ - while (f->next_seg == -1) { - if (!start_page(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) - return error(f, VORBIS_continued_packet_flag_invalid); - } - f->last_seg = FALSE; - f->valid_bits = 0; - f->packet_bytes = 0; - f->bytes_in_seg = 0; - // f->next_seg is now valid - return TRUE; -} - -static int maybe_start_packet(vorb *f) -{ - if (f->next_seg == -1) { - int x = get8(f); - if (f->eof) return FALSE; // EOF at page boundary is not an error! - if (0x4f != x ) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x53 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (!start_page_no_capturepattern(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) { - // set up enough state that we can read this packet if we want, - // e.g. during recovery - f->last_seg = FALSE; - f->bytes_in_seg = 0; - return error(f, VORBIS_continued_packet_flag_invalid); - } - } - return start_packet(f); -} - -static int next_segment(vorb *f) -{ - int len; - if (f->last_seg) return 0; - if (f->next_seg == -1) { - f->last_seg_which = f->segment_count-1; // in case start_page fails - if (!start_page(f)) { f->last_seg = 1; return 0; } - if (!(f->page_flag & PAGEFLAG_continued_packet)) return error(f, VORBIS_continued_packet_flag_invalid); - } - len = f->segments[f->next_seg++]; - if (len < 255) { - f->last_seg = TRUE; - f->last_seg_which = f->next_seg-1; - } - if (f->next_seg >= f->segment_count) - f->next_seg = -1; - assert(f->bytes_in_seg == 0); - f->bytes_in_seg = len; - return len; -} - -#define EOP (-1) -#define INVALID_BITS (-1) - -static int get8_packet_raw(vorb *f) -{ - if (!f->bytes_in_seg) - if (f->last_seg) return EOP; - else if (!next_segment(f)) return EOP; - assert(f->bytes_in_seg > 0); - --f->bytes_in_seg; - ++f->packet_bytes; - return get8(f); -} - -static int get8_packet(vorb *f) -{ - int x = get8_packet_raw(f); - f->valid_bits = 0; - return x; -} - -static void flush_packet(vorb *f) -{ - while (get8_packet_raw(f) != EOP); -} - -// @OPTIMIZE: this is the secondary bit decoder, so it's probably not as important -// as the huffman decoder? -static uint32 get_bits(vorb *f, int n) -{ - uint32 z; - - if (f->valid_bits < 0) return 0; - if (f->valid_bits < n) { - if (n > 24) { - // the accumulator technique below would not work correctly in this case - z = get_bits(f, 24); - z += get_bits(f, n-24) << 24; - return z; - } - if (f->valid_bits == 0) f->acc = 0; - while (f->valid_bits < n) { - int z = get8_packet_raw(f); - if (z == EOP) { - f->valid_bits = INVALID_BITS; - return 0; - } - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } - } - if (f->valid_bits < 0) return 0; - z = f->acc & ((1 << n)-1); - f->acc >>= n; - f->valid_bits -= n; - return z; -} - -static int32 get_bits_signed(vorb *f, int n) -{ - uint32 z = get_bits(f, n); - if (z & (1 << (n-1))) - z += ~((1 << n) - 1); - return (int32) z; -} - -// @OPTIMIZE: primary accumulator for huffman -// expand the buffer to as many bits as possible without reading off end of packet -// it might be nice to allow f->valid_bits and f->acc to be stored in registers, -// e.g. cache them locally and decode locally -static __forceinline void prep_huffman(vorb *f) -{ - if (f->valid_bits <= 24) { - if (f->valid_bits == 0) f->acc = 0; - do { - int z; - if (f->last_seg && !f->bytes_in_seg) return; - z = get8_packet_raw(f); - if (z == EOP) return; - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } while (f->valid_bits <= 24); - } -} - -enum -{ - VORBIS_packet_id = 1, - VORBIS_packet_comment = 3, - VORBIS_packet_setup = 5, -}; - -static int codebook_decode_scalar_raw(vorb *f, Codebook *c) -{ - int i; - prep_huffman(f); - - assert(c->sorted_codewords || c->codewords); - // cases to use binary search: sorted_codewords && !c->codewords - // sorted_codewords && c->entries > 8 - if (c->entries > 8 ? c->sorted_codewords!=NULL : !c->codewords) { - // binary search - uint32 code = bit_reverse(f->acc); - int x=0, n=c->sorted_entries, len; - - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - // x is now the sorted index - if (!c->sparse) x = c->sorted_values[x]; - // x is now sorted index if sparse, or symbol otherwise - len = c->codeword_lengths[x]; - if (f->valid_bits >= len) { - f->acc >>= len; - f->valid_bits -= len; - return x; - } - - f->valid_bits = 0; - return -1; - } - - // if small, linear search - assert(!c->sparse); - for (i=0; i < c->entries; ++i) { - if (c->codeword_lengths[i] == NO_CODE) continue; - if (c->codewords[i] == (f->acc & ((1 << c->codeword_lengths[i])-1))) { - if (f->valid_bits >= c->codeword_lengths[i]) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - return i; - } - f->valid_bits = 0; - return -1; - } - } - - error(f, VORBIS_invalid_stream); - f->valid_bits = 0; - return -1; -} - -static int codebook_decode_scalar(vorb *f, Codebook *c) -{ - int i; - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) - prep_huffman(f); - // fast huffman table lookup - i = f->acc & FAST_HUFFMAN_TABLE_MASK; - i = c->fast_huffman[i]; - if (i >= 0) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - if (f->valid_bits < 0) { f->valid_bits = 0; return -1; } - return i; - } - return codebook_decode_scalar_raw(f,c); -} - -#ifndef STB_VORBIS_NO_INLINE_DECODE - -#define DECODE_RAW(var, f,c) \ - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) \ - prep_huffman(f); \ - var = f->acc & FAST_HUFFMAN_TABLE_MASK; \ - var = c->fast_huffman[var]; \ - if (var >= 0) { \ - int n = c->codeword_lengths[var]; \ - f->acc >>= n; \ - f->valid_bits -= n; \ - if (f->valid_bits < 0) { f->valid_bits = 0; var = -1; } \ - } else { \ - var = codebook_decode_scalar_raw(f,c); \ - } - -#else - -#define DECODE_RAW(var,f,c) var = codebook_decode_scalar(f,c); - -#endif - -#define DECODE(var,f,c) \ - DECODE_RAW(var,f,c) \ - if (c->sparse) var = c->sorted_values[var]; - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - #define DECODE_VQ(var,f,c) DECODE_RAW(var,f,c) -#else - #define DECODE_VQ(var,f,c) DECODE(var,f,c) -#endif - - - - - - -// CODEBOOK_ELEMENT_FAST is an optimization for the CODEBOOK_FLOATS case -// where we avoid one addition -#ifndef STB_VORBIS_CODEBOOK_FLOATS - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off] * c->delta_value + c->minimum_value) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off] * c->delta_value) - #define CODEBOOK_ELEMENT_BASE(c) (c->minimum_value) -#else - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_BASE(c) (0) -#endif - -static int codebook_decode_start(vorb *f, Codebook *c, int len) -{ - int z = -1; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) - error(f, VORBIS_invalid_stream); - else { - DECODE_VQ(z,f,c); - if (c->sparse) assert(z < c->sorted_entries); - if (z < 0) { // check for EOP - if (!f->bytes_in_seg) - if (f->last_seg) - return z; - error(f, VORBIS_invalid_stream); - } - } - return z; -} - -static int codebook_decode(vorb *f, Codebook *c, float *output, int len) -{ - int i,z = codebook_decode_start(f,c,len); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - float last = CODEBOOK_ELEMENT_BASE(c); - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i] += val; - if (c->sequence_p) last = val + c->minimum_value; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - if (c->sequence_p) { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i] += val; - last = val + c->minimum_value; - } - } else { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - output[i] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - } - } - - return TRUE; -} - -static int codebook_decode_step(vorb *f, Codebook *c, float *output, int len, int step) -{ - int i,z = codebook_decode_start(f,c,len); - float last = CODEBOOK_ELEMENT_BASE(c); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - } - - return TRUE; -} - -static int codebook_decode_deinterleave_repeat(vorb *f, Codebook *c, float **outputs, int ch, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - #ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - assert(!c->sparse || z < c->sorted_entries); - #endif - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*ch + effective > len * ch) { - effective = len*ch - (p_inter*ch - c_inter); - } - - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < effective; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - } else - #endif - { - z *= c->dimensions; - if (c->sequence_p) { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK -static int codebook_decode_deinterleave_repeat_2(vorb *f, Codebook *c, float **outputs, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*2 + effective > len * 2) { - effective = len*2 - (p_inter*2 - c_inter); - } - - { - z *= c->dimensions; - stb_prof(11); - if (c->sequence_p) { - // haven't optimized this case because I don't have any examples - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - i=0; - if (c_inter == 1) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - c_inter = 0; ++p_inter; - ++i; - } - { - float *z0 = outputs[0]; - float *z1 = outputs[1]; - for (; i+1 < effective;) { - z0[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - z1[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i+1) + last; - ++p_inter; - i += 2; - } - } - if (i < effective) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} -#endif - -static int predict_point(int x, int x0, int x1, int y0, int y1) -{ - int dy = y1 - y0; - int adx = x1 - x0; - // @OPTIMIZE: force int division to round in the right direction... is this necessary on x86? - int err = abs(dy) * (x - x0); - int off = err / adx; - return dy < 0 ? y0 - off : y0 + off; -} - -// the following table is block-copied from the specification -static float inverse_db_table[256] = -{ - 1.0649863e-07f, 1.1341951e-07f, 1.2079015e-07f, 1.2863978e-07f, - 1.3699951e-07f, 1.4590251e-07f, 1.5538408e-07f, 1.6548181e-07f, - 1.7623575e-07f, 1.8768855e-07f, 1.9988561e-07f, 2.1287530e-07f, - 2.2670913e-07f, 2.4144197e-07f, 2.5713223e-07f, 2.7384213e-07f, - 2.9163793e-07f, 3.1059021e-07f, 3.3077411e-07f, 3.5226968e-07f, - 3.7516214e-07f, 3.9954229e-07f, 4.2550680e-07f, 4.5315863e-07f, - 4.8260743e-07f, 5.1396998e-07f, 5.4737065e-07f, 5.8294187e-07f, - 6.2082472e-07f, 6.6116941e-07f, 7.0413592e-07f, 7.4989464e-07f, - 7.9862701e-07f, 8.5052630e-07f, 9.0579828e-07f, 9.6466216e-07f, - 1.0273513e-06f, 1.0941144e-06f, 1.1652161e-06f, 1.2409384e-06f, - 1.3215816e-06f, 1.4074654e-06f, 1.4989305e-06f, 1.5963394e-06f, - 1.7000785e-06f, 1.8105592e-06f, 1.9282195e-06f, 2.0535261e-06f, - 2.1869758e-06f, 2.3290978e-06f, 2.4804557e-06f, 2.6416497e-06f, - 2.8133190e-06f, 2.9961443e-06f, 3.1908506e-06f, 3.3982101e-06f, - 3.6190449e-06f, 3.8542308e-06f, 4.1047004e-06f, 4.3714470e-06f, - 4.6555282e-06f, 4.9580707e-06f, 5.2802740e-06f, 5.6234160e-06f, - 5.9888572e-06f, 6.3780469e-06f, 6.7925283e-06f, 7.2339451e-06f, - 7.7040476e-06f, 8.2047000e-06f, 8.7378876e-06f, 9.3057248e-06f, - 9.9104632e-06f, 1.0554501e-05f, 1.1240392e-05f, 1.1970856e-05f, - 1.2748789e-05f, 1.3577278e-05f, 1.4459606e-05f, 1.5399272e-05f, - 1.6400004e-05f, 1.7465768e-05f, 1.8600792e-05f, 1.9809576e-05f, - 2.1096914e-05f, 2.2467911e-05f, 2.3928002e-05f, 2.5482978e-05f, - 2.7139006e-05f, 2.8902651e-05f, 3.0780908e-05f, 3.2781225e-05f, - 3.4911534e-05f, 3.7180282e-05f, 3.9596466e-05f, 4.2169667e-05f, - 4.4910090e-05f, 4.7828601e-05f, 5.0936773e-05f, 5.4246931e-05f, - 5.7772202e-05f, 6.1526565e-05f, 6.5524908e-05f, 6.9783085e-05f, - 7.4317983e-05f, 7.9147585e-05f, 8.4291040e-05f, 8.9768747e-05f, - 9.5602426e-05f, 0.00010181521f, 0.00010843174f, 0.00011547824f, - 0.00012298267f, 0.00013097477f, 0.00013948625f, 0.00014855085f, - 0.00015820453f, 0.00016848555f, 0.00017943469f, 0.00019109536f, - 0.00020351382f, 0.00021673929f, 0.00023082423f, 0.00024582449f, - 0.00026179955f, 0.00027881276f, 0.00029693158f, 0.00031622787f, - 0.00033677814f, 0.00035866388f, 0.00038197188f, 0.00040679456f, - 0.00043323036f, 0.00046138411f, 0.00049136745f, 0.00052329927f, - 0.00055730621f, 0.00059352311f, 0.00063209358f, 0.00067317058f, - 0.00071691700f, 0.00076350630f, 0.00081312324f, 0.00086596457f, - 0.00092223983f, 0.00098217216f, 0.0010459992f, 0.0011139742f, - 0.0011863665f, 0.0012634633f, 0.0013455702f, 0.0014330129f, - 0.0015261382f, 0.0016253153f, 0.0017309374f, 0.0018434235f, - 0.0019632195f, 0.0020908006f, 0.0022266726f, 0.0023713743f, - 0.0025254795f, 0.0026895994f, 0.0028643847f, 0.0030505286f, - 0.0032487691f, 0.0034598925f, 0.0036847358f, 0.0039241906f, - 0.0041792066f, 0.0044507950f, 0.0047400328f, 0.0050480668f, - 0.0053761186f, 0.0057254891f, 0.0060975636f, 0.0064938176f, - 0.0069158225f, 0.0073652516f, 0.0078438871f, 0.0083536271f, - 0.0088964928f, 0.009474637f, 0.010090352f, 0.010746080f, - 0.011444421f, 0.012188144f, 0.012980198f, 0.013823725f, - 0.014722068f, 0.015678791f, 0.016697687f, 0.017782797f, - 0.018938423f, 0.020169149f, 0.021479854f, 0.022875735f, - 0.024362330f, 0.025945531f, 0.027631618f, 0.029427276f, - 0.031339626f, 0.033376252f, 0.035545228f, 0.037855157f, - 0.040315199f, 0.042935108f, 0.045725273f, 0.048696758f, - 0.051861348f, 0.055231591f, 0.058820850f, 0.062643361f, - 0.066714279f, 0.071049749f, 0.075666962f, 0.080584227f, - 0.085821044f, 0.091398179f, 0.097337747f, 0.10366330f, - 0.11039993f, 0.11757434f, 0.12521498f, 0.13335215f, - 0.14201813f, 0.15124727f, 0.16107617f, 0.17154380f, - 0.18269168f, 0.19456402f, 0.20720788f, 0.22067342f, - 0.23501402f, 0.25028656f, 0.26655159f, 0.28387361f, - 0.30232132f, 0.32196786f, 0.34289114f, 0.36517414f, - 0.38890521f, 0.41417847f, 0.44109412f, 0.46975890f, - 0.50028648f, 0.53279791f, 0.56742212f, 0.60429640f, - 0.64356699f, 0.68538959f, 0.72993007f, 0.77736504f, - 0.82788260f, 0.88168307f, 0.9389798f, 1.0f -}; - - -// @OPTIMIZE: if you want to replace this bresenham line-drawing routine, -// note that you must produce bit-identical output to decode correctly; -// this specific sequence of operations is specified in the spec (it's -// drawing integer-quantized frequency-space lines that the encoder -// expects to be exactly the same) -// ... also, isn't the whole point of Bresenham's algorithm to NOT -// have to divide in the setup? sigh. -#ifndef STB_VORBIS_NO_DEFER_FLOOR -#define LINE_OP(a,b) a *= b -#else -#define LINE_OP(a,b) a = b -#endif - -#ifdef STB_VORBIS_DIVIDE_TABLE -#define DIVTAB_NUMER 32 -#define DIVTAB_DENOM 64 -int8 integer_divide_table[DIVTAB_NUMER][DIVTAB_DENOM]; // 2KB -#endif - -static __forceinline void draw_line(float *output, int x0, int y0, int x1, int y1, int n) -{ - int dy = y1 - y0; - int adx = x1 - x0; - int ady = abs(dy); - int base; - int x=x0,y=y0; - int err = 0; - int sy; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (adx < DIVTAB_DENOM && ady < DIVTAB_NUMER) { - if (dy < 0) { - base = -integer_divide_table[ady][adx]; - sy = base-1; - } else { - base = integer_divide_table[ady][adx]; - sy = base+1; - } - } else { - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; - } -#else - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; -#endif - ady -= abs(base) * adx; - if (x1 > n) x1 = n; - LINE_OP(output[x], inverse_db_table[y]); - for (++x; x < x1; ++x) { - err += ady; - if (err >= adx) { - err -= adx; - y += sy; - } else - y += base; - LINE_OP(output[x], inverse_db_table[y]); - } -} - -static int residue_decode(vorb *f, Codebook *book, float *target, int offset, int n, int rtype) -{ - int k; - if (rtype == 0) { - int step = n / book->dimensions; - for (k=0; k < step; ++k) - if (!codebook_decode_step(f, book, target+offset+k, n-offset-k, step)) - return FALSE; - } else { - for (k=0; k < n; ) { - if (!codebook_decode(f, book, target+offset, n-k)) - return FALSE; - k += book->dimensions; - offset += book->dimensions; - } - } - return TRUE; -} - -static void decode_residue(vorb *f, float *residue_buffers[], int ch, int n, int rn, uint8 *do_not_decode) -{ - int i,j,pass; - Residue *r = f->residue_config + rn; - int rtype = f->residue_types[rn]; - int c = r->classbook; - int classwords = f->codebooks[c].dimensions; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - int temp_alloc_point = temp_alloc_save(f); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - uint8 ***part_classdata = (uint8 ***) temp_block_array(f,f->channels, part_read * sizeof(**part_classdata)); - #else - int **classifications = (int **) temp_block_array(f,f->channels, part_read * sizeof(**classifications)); - #endif - - stb_prof(2); - for (i=0; i < ch; ++i) - if (!do_not_decode[i]) - memset(residue_buffers[i], 0, sizeof(float) * n); - - if (rtype == 2 && ch != 1) { - int len = ch * n; - for (j=0; j < ch; ++j) - if (!do_not_decode[j]) - break; - if (j == ch) - goto done; - - stb_prof(3); - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set = 0; - if (ch == 2) { - stb_prof(13); - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = (z & 1), p_inter = z>>1; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - stb_prof(5); - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(20); // accounts for X time - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - #else - // saves 1% - if (!codebook_decode_deinterleave_repeat_2(f, book, residue_buffers, &c_inter, &p_inter, n, r->part_size)) - goto done; - #endif - stb_prof(7); - } else { - z += r->part_size; - c_inter = z & 1; - p_inter = z >> 1; - } - } - stb_prof(8); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else if (ch == 1) { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = 0, p_inter = z; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = 0; - p_inter = z; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = z % ch, p_inter = z/ch; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = z % ch; - p_inter = z / ch; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - } - goto done; - } - stb_prof(9); - - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set=0; - while (pcount < part_read) { - if (pass == 0) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - Codebook *c = f->codebooks+r->classbook; - int temp; - DECODE(temp,f,c); - if (temp == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[j][class_set] = r->classdata[temp]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[j][i+pcount] = temp % r->classifications; - temp /= r->classifications; - } - #endif - } - } - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[j][class_set][i]; - #else - int c = classifications[j][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - float *target = residue_buffers[j]; - int offset = r->begin + pcount * r->part_size; - int n = r->part_size; - Codebook *book = f->codebooks + b; - if (!residue_decode(f, book, target, offset, n, rtype)) - goto done; - } - } - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - done: - stb_prof(0); - temp_alloc_restore(f,temp_alloc_point); -} - - -#if 0 -// slow way for debugging -void inverse_mdct_slow(float *buffer, int n) -{ - int i,j; - int n2 = n >> 1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - // formula from paper: - //acc += n/4.0f * x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - // formula from wikipedia - //acc += 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - // these are equivalent, except the formula from the paper inverts the multiplier! - // however, what actually works is NO MULTIPLIER!?! - //acc += 64 * 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - acc += x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - buffer[i] = acc; - } - free(x); -} -#elif 0 -// same as above, but just barely able to run in real time on modern machines -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - float mcos[16384]; - int i,j; - int n2 = n >> 1, nmask = (n << 2) -1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < 4*n; ++i) - mcos[i] = (float) cos(M_PI / 2 * i / n); - - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - acc += x[j] * mcos[(2 * i + 1 + n2)*(2*j+1) & nmask]; - buffer[i] = acc; - } - free(x); -} -#else -// transform to use a slow dct-iv; this is STILL basically trivial, -// but only requires half as many ops -void dct_iv_slow(float *buffer, int n) -{ - float mcos[16384]; - float x[2048]; - int i,j; - int n2 = n >> 1, nmask = (n << 3) - 1; - memcpy(x, buffer, sizeof(*x) * n); - for (i=0; i < 8*n; ++i) - mcos[i] = (float) cos(M_PI / 4 * i / n); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n; ++j) - acc += x[j] * mcos[((2 * i + 1)*(2*j+1)) & nmask]; - //acc += x[j] * cos(M_PI / n * (i + 0.5) * (j + 0.5)); - buffer[i] = acc; - } - free(x); -} - -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - int i, n4 = n >> 2, n2 = n >> 1, n3_4 = n - n4; - float temp[4096]; - - memcpy(temp, buffer, n2 * sizeof(float)); - dct_iv_slow(temp, n2); // returns -c'-d, a-b' - - for (i=0; i < n4 ; ++i) buffer[i] = temp[i+n4]; // a-b' - for ( ; i < n3_4; ++i) buffer[i] = -temp[n3_4 - i - 1]; // b-a', c+d' - for ( ; i < n ; ++i) buffer[i] = -temp[i - n3_4]; // c'+d -} -#endif - -#ifndef LIBVORBIS_MDCT -#define LIBVORBIS_MDCT 0 -#endif - -#if LIBVORBIS_MDCT -// directly call the vorbis MDCT using an interface documented -// by Jeff Roberts... useful for performance comparison -typedef struct -{ - int n; - int log2n; - - float *trig; - int *bitrev; - - float scale; -} mdct_lookup; - -extern void mdct_init(mdct_lookup *lookup, int n); -extern void mdct_clear(mdct_lookup *l); -extern void mdct_backward(mdct_lookup *init, float *in, float *out); - -mdct_lookup M1,M2; - -void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - mdct_lookup *M; - if (M1.n == n) M = &M1; - else if (M2.n == n) M = &M2; - else if (M1.n == 0) { mdct_init(&M1, n); M = &M1; } - else { - if (M2.n) __asm int 3; - mdct_init(&M2, n); - M = &M2; - } - - mdct_backward(M, buffer, buffer); -} -#endif - - -// the following were split out into separate functions while optimizing; -// they could be pushed back up but eh. __forceinline showed no change; -// they're probably already being inlined. -static void imdct_step3_iter0_loop(int n, float *e, int i_off, int k_off, float *A) -{ - float *ee0 = e + i_off; - float *ee2 = ee0 + k_off; - int i; - - assert((n & 3) == 0); - for (i=(n>>2); i > 0; --i) { - float k00_20, k01_21; - k00_20 = ee0[ 0] - ee2[ 0]; - k01_21 = ee0[-1] - ee2[-1]; - ee0[ 0] += ee2[ 0];//ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] += ee2[-1];//ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-1] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-2] - ee2[-2]; - k01_21 = ee0[-3] - ee2[-3]; - ee0[-2] += ee2[-2];//ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] += ee2[-3];//ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-3] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-4] - ee2[-4]; - k01_21 = ee0[-5] - ee2[-5]; - ee0[-4] += ee2[-4];//ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] += ee2[-5];//ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-5] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-6] - ee2[-6]; - k01_21 = ee0[-7] - ee2[-7]; - ee0[-6] += ee2[-6];//ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] += ee2[-7];//ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-7] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - ee0 -= 8; - ee2 -= 8; - } -} - -static void imdct_step3_inner_r_loop(int lim, float *e, int d0, int k_off, float *A, int k1) -{ - int i; - float k00_20, k01_21; - - float *e0 = e + d0; - float *e2 = e0 + k_off; - - for (i=lim >> 2; i > 0; --i) { - k00_20 = e0[-0] - e2[-0]; - k01_21 = e0[-1] - e2[-1]; - e0[-0] += e2[-0];//e0[-0] = e0[-0] + e2[-0]; - e0[-1] += e2[-1];//e0[-1] = e0[-1] + e2[-1]; - e2[-0] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-1] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-2] - e2[-2]; - k01_21 = e0[-3] - e2[-3]; - e0[-2] += e2[-2];//e0[-2] = e0[-2] + e2[-2]; - e0[-3] += e2[-3];//e0[-3] = e0[-3] + e2[-3]; - e2[-2] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-3] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-4] - e2[-4]; - k01_21 = e0[-5] - e2[-5]; - e0[-4] += e2[-4];//e0[-4] = e0[-4] + e2[-4]; - e0[-5] += e2[-5];//e0[-5] = e0[-5] + e2[-5]; - e2[-4] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-5] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-6] - e2[-6]; - k01_21 = e0[-7] - e2[-7]; - e0[-6] += e2[-6];//e0[-6] = e0[-6] + e2[-6]; - e0[-7] += e2[-7];//e0[-7] = e0[-7] + e2[-7]; - e2[-6] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-7] = (k01_21)*A[0] + (k00_20) * A[1]; - - e0 -= 8; - e2 -= 8; - - A += k1; - } -} - -static void imdct_step3_inner_s_loop(int n, float *e, int i_off, int k_off, float *A, int a_off, int k0) -{ - int i; - float A0 = A[0]; - float A1 = A[0+1]; - float A2 = A[0+a_off]; - float A3 = A[0+a_off+1]; - float A4 = A[0+a_off*2+0]; - float A5 = A[0+a_off*2+1]; - float A6 = A[0+a_off*3+0]; - float A7 = A[0+a_off*3+1]; - - float k00,k11; - - float *ee0 = e +i_off; - float *ee2 = ee0+k_off; - - for (i=n; i > 0; --i) { - k00 = ee0[ 0] - ee2[ 0]; - k11 = ee0[-1] - ee2[-1]; - ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = (k00) * A0 - (k11) * A1; - ee2[-1] = (k11) * A0 + (k00) * A1; - - k00 = ee0[-2] - ee2[-2]; - k11 = ee0[-3] - ee2[-3]; - ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = (k00) * A2 - (k11) * A3; - ee2[-3] = (k11) * A2 + (k00) * A3; - - k00 = ee0[-4] - ee2[-4]; - k11 = ee0[-5] - ee2[-5]; - ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = (k00) * A4 - (k11) * A5; - ee2[-5] = (k11) * A4 + (k00) * A5; - - k00 = ee0[-6] - ee2[-6]; - k11 = ee0[-7] - ee2[-7]; - ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = (k00) * A6 - (k11) * A7; - ee2[-7] = (k11) * A6 + (k00) * A7; - - ee0 -= k0; - ee2 -= k0; - } -} - -static __forceinline void iter_54(float *z) -{ - float k00,k11,k22,k33; - float y0,y1,y2,y3; - - k00 = z[ 0] - z[-4]; - y0 = z[ 0] + z[-4]; - y2 = z[-2] + z[-6]; - k22 = z[-2] - z[-6]; - - z[-0] = y0 + y2; // z0 + z4 + z2 + z6 - z[-2] = y0 - y2; // z0 + z4 - z2 - z6 - - // done with y0,y2 - - k33 = z[-3] - z[-7]; - - z[-4] = k00 + k33; // z0 - z4 + z3 - z7 - z[-6] = k00 - k33; // z0 - z4 - z3 + z7 - - // done with k33 - - k11 = z[-1] - z[-5]; - y1 = z[-1] + z[-5]; - y3 = z[-3] + z[-7]; - - z[-1] = y1 + y3; // z1 + z5 + z3 + z7 - z[-3] = y1 - y3; // z1 + z5 - z3 - z7 - z[-5] = k11 - k22; // z1 - z5 + z2 - z6 - z[-7] = k11 + k22; // z1 - z5 - z2 + z6 -} - -static void imdct_step3_inner_s_loop_ld654(int n, float *e, int i_off, float *A, int base_n) -{ - int k_off = -8; - int a_off = base_n >> 3; - float A2 = A[0+a_off]; - float *z = e + i_off; - float *base = z - 16 * n; - - while (z > base) { - float k00,k11; - - k00 = z[-0] - z[-8]; - k11 = z[-1] - z[-9]; - z[-0] = z[-0] + z[-8]; - z[-1] = z[-1] + z[-9]; - z[-8] = k00; - z[-9] = k11 ; - - k00 = z[ -2] - z[-10]; - k11 = z[ -3] - z[-11]; - z[ -2] = z[ -2] + z[-10]; - z[ -3] = z[ -3] + z[-11]; - z[-10] = (k00+k11) * A2; - z[-11] = (k11-k00) * A2; - - k00 = z[-12] - z[ -4]; // reverse to avoid a unary negation - k11 = z[ -5] - z[-13]; - z[ -4] = z[ -4] + z[-12]; - z[ -5] = z[ -5] + z[-13]; - z[-12] = k11; - z[-13] = k00; - - k00 = z[-14] - z[ -6]; // reverse to avoid a unary negation - k11 = z[ -7] - z[-15]; - z[ -6] = z[ -6] + z[-14]; - z[ -7] = z[ -7] + z[-15]; - z[-14] = (k00+k11) * A2; - z[-15] = (k00-k11) * A2; - - iter_54(z); - iter_54(z-8); - z -= 16; - } -} - -static void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // @OPTIMIZE: reduce register pressure by using fewer variables? - int save_point = temp_alloc_save(f); - float *buf2 = (float *) temp_alloc(f, n2 * sizeof(*buf2)); - float *u=NULL,*v=NULL; - // twiddle factors - float *A = f->A[blocktype]; - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // See notes about bugs in that paper in less-optimal implementation 'inverse_mdct_old' after this function. - - // kernel from paper - - - // merged: - // copy and reflect spectral data - // step 0 - - // note that it turns out that the items added together during - // this step are, in fact, being added to themselves (as reflected - // by step 0). inexplicable inefficiency! this became obvious - // once I combined the passes. - - // so there's a missing 'times 2' here (for adding X to itself). - // this propogates through linearly to the end, where the numbers - // are 1/2 too small, and need to be compensated for. - - { - float *d,*e, *AA, *e_stop; - d = &buf2[n2-2]; - AA = A; - e = &buffer[0]; - e_stop = &buffer[n2]; - while (e != e_stop) { - d[1] = (e[0] * AA[0] - e[2]*AA[1]); - d[0] = (e[0] * AA[1] + e[2]*AA[0]); - d -= 2; - AA += 2; - e += 4; - } - - e = &buffer[n2-3]; - while (d >= buf2) { - d[1] = (-e[2] * AA[0] - -e[0]*AA[1]); - d[0] = (-e[2] * AA[1] + -e[0]*AA[0]); - d -= 2; - AA += 2; - e -= 4; - } - } - - // now we use symbolic names for these, so that we can - // possibly swap their meaning as we change which operations - // are in place - - u = buffer; - v = buf2; - - // step 2 (paper output is w, now u) - // this could be in place, but the data ends up in the wrong - // place... _somebody_'s got to swap it, so this is nominated - { - float *AA = &A[n2-8]; - float *d0,*d1, *e0, *e1; - - e0 = &v[n4]; - e1 = &v[0]; - - d0 = &u[n4]; - d1 = &u[0]; - - while (AA >= A) { - float v40_20, v41_21; - - v41_21 = e0[1] - e1[1]; - v40_20 = e0[0] - e1[0]; - d0[1] = e0[1] + e1[1]; - d0[0] = e0[0] + e1[0]; - d1[1] = v41_21*AA[4] - v40_20*AA[5]; - d1[0] = v40_20*AA[4] + v41_21*AA[5]; - - v41_21 = e0[3] - e1[3]; - v40_20 = e0[2] - e1[2]; - d0[3] = e0[3] + e1[3]; - d0[2] = e0[2] + e1[2]; - d1[3] = v41_21*AA[0] - v40_20*AA[1]; - d1[2] = v40_20*AA[0] + v41_21*AA[1]; - - AA -= 8; - - d0 += 4; - d1 += 4; - e0 += 4; - e1 += 4; - } - } - - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - - // optimized step 3: - - // the original step3 loop can be nested r inside s or s inside r; - // it's written originally as s inside r, but this is dumb when r - // iterates many times, and s few. So I have two copies of it and - // switch between them halfway. - - // this is iteration 0 of step 3 - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*0, -(n >> 3), A); - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*1, -(n >> 3), A); - - // this is iteration 1 of step 3 - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*0, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*1, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*2, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*3, -(n >> 4), A, 16); - - l=2; - for (; l < (ld-3)>>1; ++l) { - int k0 = n >> (l+2), k0_2 = k0>>1; - int lim = 1 << (l+1); - int i; - for (i=0; i < lim; ++i) - imdct_step3_inner_r_loop(n >> (l+4), u, n2-1 - k0*i, -k0_2, A, 1 << (l+3)); - } - - for (; l < ld-6; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3), k0_2 = k0>>1; - int rlim = n >> (l+6), r; - int lim = 1 << (l+1); - int i_off; - float *A0 = A; - i_off = n2-1; - for (r=rlim; r > 0; --r) { - imdct_step3_inner_s_loop(lim, u, i_off, -k0_2, A0, k1, k0); - A0 += k1*4; - i_off -= 8; - } - } - - // iterations with count: - // ld-6,-5,-4 all interleaved together - // the big win comes from getting rid of needless flops - // due to the constants on pass 5 & 4 being all 1 and 0; - // combining them to be simultaneous to improve cache made little difference - imdct_step3_inner_s_loop_ld654(n >> 5, u, n2-1, A, n); - - // output is u - - // step 4, 5, and 6 - // cannot be in-place because of step 5 - { - uint16 *bitrev = f->bit_reverse[blocktype]; - // weirdly, I'd have thought reading sequentially and writing - // erratically would have been better than vice-versa, but in - // fact that's not what my testing showed. (That is, with - // j = bitreverse(i), do you read i and write j, or read j and write i.) - - float *d0 = &v[n4-4]; - float *d1 = &v[n2-4]; - while (d0 >= v) { - int k4; - - k4 = bitrev[0]; - d1[3] = u[k4+0]; - d1[2] = u[k4+1]; - d0[3] = u[k4+2]; - d0[2] = u[k4+3]; - - k4 = bitrev[1]; - d1[1] = u[k4+0]; - d1[0] = u[k4+1]; - d0[1] = u[k4+2]; - d0[0] = u[k4+3]; - - d0 -= 4; - d1 -= 4; - bitrev += 2; - } - } - // (paper output is u, now v) - - - // data must be in buf2 - assert(v == buf2); - - // step 7 (paper output is v, now v) - // this is now in place - { - float *C = f->C[blocktype]; - float *d, *e; - - d = v; - e = v + n2 - 4; - - while (d < e) { - float a02,a11,b0,b1,b2,b3; - - a02 = d[0] - e[2]; - a11 = d[1] + e[3]; - - b0 = C[1]*a02 + C[0]*a11; - b1 = C[1]*a11 - C[0]*a02; - - b2 = d[0] + e[ 2]; - b3 = d[1] - e[ 3]; - - d[0] = b2 + b0; - d[1] = b3 + b1; - e[2] = b2 - b0; - e[3] = b1 - b3; - - a02 = d[2] - e[0]; - a11 = d[3] + e[1]; - - b0 = C[3]*a02 + C[2]*a11; - b1 = C[3]*a11 - C[2]*a02; - - b2 = d[2] + e[ 0]; - b3 = d[3] - e[ 1]; - - d[2] = b2 + b0; - d[3] = b3 + b1; - e[0] = b2 - b0; - e[1] = b1 - b3; - - C += 4; - d += 4; - e -= 4; - } - } - - // data must be in buf2 - - - // step 8+decode (paper output is X, now buffer) - // this generates pairs of data a la 8 and pushes them directly through - // the decode kernel (pushing rather than pulling) to avoid having - // to make another pass later - - // this cannot POSSIBLY be in place, so we refer to the buffers directly - - { - float *d0,*d1,*d2,*d3; - - float *B = f->B[blocktype] + n2 - 8; - float *e = buf2 + n2 - 8; - d0 = &buffer[0]; - d1 = &buffer[n2-4]; - d2 = &buffer[n2]; - d3 = &buffer[n-4]; - while (e >= v) { - float p0,p1,p2,p3; - - p3 = e[6]*B[7] - e[7]*B[6]; - p2 = -e[6]*B[6] - e[7]*B[7]; - - d0[0] = p3; - d1[3] = - p3; - d2[0] = p2; - d3[3] = p2; - - p1 = e[4]*B[5] - e[5]*B[4]; - p0 = -e[4]*B[4] - e[5]*B[5]; - - d0[1] = p1; - d1[2] = - p1; - d2[1] = p0; - d3[2] = p0; - - p3 = e[2]*B[3] - e[3]*B[2]; - p2 = -e[2]*B[2] - e[3]*B[3]; - - d0[2] = p3; - d1[1] = - p3; - d2[2] = p2; - d3[1] = p2; - - p1 = e[0]*B[1] - e[1]*B[0]; - p0 = -e[0]*B[0] - e[1]*B[1]; - - d0[3] = p1; - d1[0] = - p1; - d2[3] = p0; - d3[0] = p0; - - B -= 8; - e -= 8; - d0 += 4; - d2 += 4; - d1 -= 4; - d3 -= 4; - } - } - - temp_alloc_restore(f,save_point); -} - -#if 0 -// this is the original version of the above code, if you want to optimize it from scratch -void inverse_mdct_naive(float *buffer, int n) -{ - float s; - float A[1 << 12], B[1 << 12], C[1 << 11]; - int i,k,k2,k4, n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // how can they claim this only uses N words?! - // oh, because they're only used sparsely, whoops - float u[1 << 13], X[1 << 13], v[1 << 13], w[1 << 13]; - // set up twiddle factors - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2); - B[k2+1] = (float) sin((k2+1)*M_PI/n/2); - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // Note there are bugs in that pseudocode, presumably due to them attempting - // to rename the arrays nicely rather than representing the way their actual - // implementation bounces buffers back and forth. As a result, even in the - // "some formulars corrected" version, a direct implementation fails. These - // are noted below as "paper bug". - - // copy and reflect spectral data - for (k=0; k < n2; ++k) u[k] = buffer[k]; - for ( ; k < n ; ++k) u[k] = -buffer[n - k - 1]; - // kernel from paper - // step 1 - for (k=k2=k4=0; k < n4; k+=1, k2+=2, k4+=4) { - v[n-k4-1] = (u[k4] - u[n-k4-1]) * A[k2] - (u[k4+2] - u[n-k4-3])*A[k2+1]; - v[n-k4-3] = (u[k4] - u[n-k4-1]) * A[k2+1] + (u[k4+2] - u[n-k4-3])*A[k2]; - } - // step 2 - for (k=k4=0; k < n8; k+=1, k4+=4) { - w[n2+3+k4] = v[n2+3+k4] + v[k4+3]; - w[n2+1+k4] = v[n2+1+k4] + v[k4+1]; - w[k4+3] = (v[n2+3+k4] - v[k4+3])*A[n2-4-k4] - (v[n2+1+k4]-v[k4+1])*A[n2-3-k4]; - w[k4+1] = (v[n2+1+k4] - v[k4+1])*A[n2-4-k4] + (v[n2+3+k4]-v[k4+3])*A[n2-3-k4]; - } - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - for (l=0; l < ld-3; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3); - int rlim = n >> (l+4), r4, r; - int s2lim = 1 << (l+2), s2; - for (r=r4=0; r < rlim; r4+=4,++r) { - for (s2=0; s2 < s2lim; s2+=2) { - u[n-1-k0*s2-r4] = w[n-1-k0*s2-r4] + w[n-1-k0*(s2+1)-r4]; - u[n-3-k0*s2-r4] = w[n-3-k0*s2-r4] + w[n-3-k0*(s2+1)-r4]; - u[n-1-k0*(s2+1)-r4] = (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1] - - (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1+1]; - u[n-3-k0*(s2+1)-r4] = (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1] - + (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1+1]; - } - } - if (l+1 < ld-3) { - // paper bug: ping-ponging of u&w here is omitted - memcpy(w, u, sizeof(u)); - } - } - - // step 4 - for (i=0; i < n8; ++i) { - int j = bit_reverse(i) >> (32-ld+3); - assert(j < n8); - if (i == j) { - // paper bug: original code probably swapped in place; if copying, - // need to directly copy in this case - int i8 = i << 3; - v[i8+1] = u[i8+1]; - v[i8+3] = u[i8+3]; - v[i8+5] = u[i8+5]; - v[i8+7] = u[i8+7]; - } else if (i < j) { - int i8 = i << 3, j8 = j << 3; - v[j8+1] = u[i8+1], v[i8+1] = u[j8 + 1]; - v[j8+3] = u[i8+3], v[i8+3] = u[j8 + 3]; - v[j8+5] = u[i8+5], v[i8+5] = u[j8 + 5]; - v[j8+7] = u[i8+7], v[i8+7] = u[j8 + 7]; - } - } - // step 5 - for (k=0; k < n2; ++k) { - w[k] = v[k*2+1]; - } - // step 6 - for (k=k2=k4=0; k < n8; ++k, k2 += 2, k4 += 4) { - u[n-1-k2] = w[k4]; - u[n-2-k2] = w[k4+1]; - u[n3_4 - 1 - k2] = w[k4+2]; - u[n3_4 - 2 - k2] = w[k4+3]; - } - // step 7 - for (k=k2=0; k < n8; ++k, k2 += 2) { - v[n2 + k2 ] = ( u[n2 + k2] + u[n-2-k2] + C[k2+1]*(u[n2+k2]-u[n-2-k2]) + C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n-2 - k2] = ( u[n2 + k2] + u[n-2-k2] - C[k2+1]*(u[n2+k2]-u[n-2-k2]) - C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n2+1+ k2] = ( u[n2+1+k2] - u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - v[n-1 - k2] = (-u[n2+1+k2] + u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - } - // step 8 - for (k=k2=0; k < n4; ++k,k2 += 2) { - X[k] = v[k2+n2]*B[k2 ] + v[k2+1+n2]*B[k2+1]; - X[n2-1-k] = v[k2+n2]*B[k2+1] - v[k2+1+n2]*B[k2 ]; - } - - // decode kernel to output - // determined the following value experimentally - // (by first figuring out what made inverse_mdct_slow work); then matching that here - // (probably vorbis encoder premultiplies by n or n/2, to save it on the decoder?) - s = 0.5; // theoretically would be n4 - - // [[[ note! the s value of 0.5 is compensated for by the B[] in the current code, - // so it needs to use the "old" B values to behave correctly, or else - // set s to 1.0 ]]] - for (i=0; i < n4 ; ++i) buffer[i] = s * X[i+n4]; - for ( ; i < n3_4; ++i) buffer[i] = -s * X[n3_4 - i - 1]; - for ( ; i < n ; ++i) buffer[i] = -s * X[i - n3_4]; -} -#endif - -static float *get_window(vorb *f, int len) -{ - len <<= 1; - if (len == f->blocksize_0) return f->window[0]; - if (len == f->blocksize_1) return f->window[1]; - assert(0); - return NULL; -} - -#ifndef STB_VORBIS_NO_DEFER_FLOOR -typedef int16 YTYPE; -#else -typedef int YTYPE; -#endif -static int do_floor(vorb *f, Mapping *map, int i, int n, float *target, YTYPE *finalY, uint8 *step2_flag) -{ - int n2 = n >> 1; - int s = map->chan[i].mux, floor; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - int j,q; - int lx = 0, ly = finalY[0] * g->floor1_multiplier; - for (q=1; q < g->values; ++q) { - j = g->sorted_order[q]; - #ifndef STB_VORBIS_NO_DEFER_FLOOR - if (finalY[j] >= 0) - #else - if (step2_flag[j]) - #endif - { - int hy = finalY[j] * g->floor1_multiplier; - int hx = g->Xlist[j]; - draw_line(target, lx,ly, hx,hy, n2); - lx = hx, ly = hy; - } - } - if (lx < n2) - // optimization of: draw_line(target, lx,ly, n,ly, n2); - for (j=lx; j < n2; ++j) - LINE_OP(target[j], inverse_db_table[ly]); - } - return TRUE; -} - -static int vorbis_decode_initial(vorb *f, int *p_left_start, int *p_left_end, int *p_right_start, int *p_right_end, int *mode) -{ - Mode *m; - int i, n, prev, next, window_center; - f->channel_buffer_start = f->channel_buffer_end = 0; - - retry: - if (f->eof) return FALSE; - if (!maybe_start_packet(f)) - return FALSE; - // check packet type - if (get_bits(f,1) != 0) { - if (IS_PUSH_MODE(f)) - return error(f,VORBIS_bad_packet_type); - while (EOP != get8_packet(f)); - goto retry; - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - i = get_bits(f, ilog(f->mode_count-1)); - if (i == EOP) return FALSE; - if (i >= f->mode_count) return FALSE; - *mode = i; - m = f->mode_config + i; - if (m->blockflag) { - n = f->blocksize_1; - prev = get_bits(f,1); - next = get_bits(f,1); - } else { - prev = next = 0; - n = f->blocksize_0; - } - -// WINDOWING - - window_center = n >> 1; - if (m->blockflag && !prev) { - *p_left_start = (n - f->blocksize_0) >> 2; - *p_left_end = (n + f->blocksize_0) >> 2; - } else { - *p_left_start = 0; - *p_left_end = window_center; - } - if (m->blockflag && !next) { - *p_right_start = (n*3 - f->blocksize_0) >> 2; - *p_right_end = (n*3 + f->blocksize_0) >> 2; - } else { - *p_right_start = window_center; - *p_right_end = n; - } - return TRUE; -} - -static int vorbis_decode_packet_rest(vorb *f, int *len, Mode *m, int left_start, int left_end, int right_start, int right_end, int *p_left) -{ - Mapping *map; - int i,j,k,n,n2; - int zero_channel[256]; - int really_zero_channel[256]; - int window_center; - -// WINDOWING - - n = f->blocksize[m->blockflag]; - window_center = n >> 1; - - map = &f->mapping[m->mapping]; - -// FLOORS - n2 = n >> 1; - - stb_prof(1); - for (i=0; i < f->channels; ++i) { - int s = map->chan[i].mux, floor; - zero_channel[i] = FALSE; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - if (get_bits(f, 1)) { - short *finalY; - uint8 step2_flag[256]; - static int range_list[4] = { 256, 128, 86, 64 }; - int range = range_list[g->floor1_multiplier-1]; - int offset = 2; - finalY = f->finalY[i]; - finalY[0] = get_bits(f, ilog(range)-1); - finalY[1] = get_bits(f, ilog(range)-1); - for (j=0; j < g->partitions; ++j) { - int pclass = g->partition_class_list[j]; - int cdim = g->class_dimensions[pclass]; - int cbits = g->class_subclasses[pclass]; - int csub = (1 << cbits)-1; - int cval = 0; - if (cbits) { - Codebook *c = f->codebooks + g->class_masterbooks[pclass]; - DECODE(cval,f,c); - } - for (k=0; k < cdim; ++k) { - int book = g->subclass_books[pclass][cval & csub]; - cval = cval >> cbits; - if (book >= 0) { - int temp; - Codebook *c = f->codebooks + book; - DECODE(temp,f,c); - finalY[offset++] = temp; - } else - finalY[offset++] = 0; - } - } - if (f->valid_bits == INVALID_BITS) goto error; // behavior according to spec - step2_flag[0] = step2_flag[1] = 1; - for (j=2; j < g->values; ++j) { - int low, high, pred, highroom, lowroom, room, val; - low = g->neighbors[j][0]; - high = g->neighbors[j][1]; - //neighbors(g->Xlist, j, &low, &high); - pred = predict_point(g->Xlist[j], g->Xlist[low], g->Xlist[high], finalY[low], finalY[high]); - val = finalY[j]; - highroom = range - pred; - lowroom = pred; - if (highroom < lowroom) - room = highroom * 2; - else - room = lowroom * 2; - if (val) { - step2_flag[low] = step2_flag[high] = 1; - step2_flag[j] = 1; - if (val >= room) - if (highroom > lowroom) - finalY[j] = val - lowroom + pred; - else - finalY[j] = pred - val + highroom - 1; - else - if (val & 1) - finalY[j] = pred - ((val+1)>>1); - else - finalY[j] = pred + (val>>1); - } else { - step2_flag[j] = 0; - finalY[j] = pred; - } - } - -#ifdef STB_VORBIS_NO_DEFER_FLOOR - do_floor(f, map, i, n, f->floor_buffers[i], finalY, step2_flag); -#else - // defer final floor computation until _after_ residue - for (j=0; j < g->values; ++j) { - if (!step2_flag[j]) - finalY[j] = -1; - } -#endif - } else { - error: - zero_channel[i] = TRUE; - } - // So we just defer everything else to later - - // at this point we've decoded the floor into buffer - } - } - stb_prof(0); - // at this point we've decoded all floors - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - // re-enable coupled channels if necessary - memcpy(really_zero_channel, zero_channel, sizeof(really_zero_channel[0]) * f->channels); - for (i=0; i < map->coupling_steps; ++i) - if (!zero_channel[map->chan[i].magnitude] || !zero_channel[map->chan[i].angle]) { - zero_channel[map->chan[i].magnitude] = zero_channel[map->chan[i].angle] = FALSE; - } - -// RESIDUE DECODE - for (i=0; i < map->submaps; ++i) { - float *residue_buffers[STB_VORBIS_MAX_CHANNELS]; - int r,t; - uint8 do_not_decode[256]; - int ch = 0; - for (j=0; j < f->channels; ++j) { - if (map->chan[j].mux == i) { - if (zero_channel[j]) { - do_not_decode[ch] = TRUE; - residue_buffers[ch] = NULL; - } else { - do_not_decode[ch] = FALSE; - residue_buffers[ch] = f->channel_buffers[j]; - } - ++ch; - } - } - r = map->submap_residue[i]; - t = f->residue_types[r]; - decode_residue(f, residue_buffers, ch, n2, r, do_not_decode); - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - -// INVERSE COUPLING - stb_prof(14); - for (i = map->coupling_steps-1; i >= 0; --i) { - int n2 = n >> 1; - float *m = f->channel_buffers[map->chan[i].magnitude]; - float *a = f->channel_buffers[map->chan[i].angle ]; - for (j=0; j < n2; ++j) { - float a2,m2; - if (m[j] > 0) - if (a[j] > 0) - m2 = m[j], a2 = m[j] - a[j]; - else - a2 = m[j], m2 = m[j] + a[j]; - else - if (a[j] > 0) - m2 = m[j], a2 = m[j] + a[j]; - else - a2 = m[j], m2 = m[j] - a[j]; - m[j] = m2; - a[j] = a2; - } - } - - // finish decoding the floors -#ifndef STB_VORBIS_NO_DEFER_FLOOR - stb_prof(15); - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - do_floor(f, map, i, n, f->channel_buffers[i], f->finalY[i], NULL); - } - } -#else - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - for (j=0; j < n2; ++j) - f->channel_buffers[i][j] *= f->floor_buffers[i][j]; - } - } -#endif - -// INVERSE MDCT - stb_prof(16); - for (i=0; i < f->channels; ++i) - inverse_mdct(f->channel_buffers[i], n, f, m->blockflag); - stb_prof(0); - - // this shouldn't be necessary, unless we exited on an error - // and want to flush to get to the next packet - flush_packet(f); - - if (f->first_decode) { - // assume we start so first non-discarded sample is sample 0 - // this isn't to spec, but spec would require us to read ahead - // and decode the size of all current frames--could be done, - // but presumably it's not a commonly used feature - f->current_loc = -n2; // start of first frame is positioned for discard - // we might have to discard samples "from" the next frame too, - // if we're lapping a large block then a small at the start? - f->discard_samples_deferred = n - right_end; - f->current_loc_valid = TRUE; - f->first_decode = FALSE; - } else if (f->discard_samples_deferred) { - left_start += f->discard_samples_deferred; - *p_left = left_start; - f->discard_samples_deferred = 0; - } else if (f->previous_length == 0 && f->current_loc_valid) { - // we're recovering from a seek... that means we're going to discard - // the samples from this packet even though we know our position from - // the last page header, so we need to update the position based on - // the discarded samples here - // but wait, the code below is going to add this in itself even - // on a discard, so we don't need to do it here... - } - - // check if we have ogg information about the sample # for this packet - if (f->last_seg_which == f->end_seg_with_known_loc) { - // if we have a valid current loc, and this is final: - if (f->current_loc_valid && (f->page_flag & PAGEFLAG_last_page)) { - uint32 current_end = f->known_loc_for_packet - (n-right_end); - // then let's infer the size of the (probably) short final frame - if (current_end < f->current_loc + right_end) { - if (current_end < f->current_loc) { - // negative truncation, that's impossible! - *len = 0; - } else { - *len = current_end - f->current_loc; - } - *len += left_start; - f->current_loc += *len; - return TRUE; - } - } - // otherwise, just set our sample loc - // guess that the ogg granule pos refers to the _middle_ of the - // last frame? - // set f->current_loc to the position of left_start - f->current_loc = f->known_loc_for_packet - (n2-left_start); - f->current_loc_valid = TRUE; - } - if (f->current_loc_valid) - f->current_loc += (right_start - left_start); - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - *len = right_end; // ignore samples after the window goes to 0 - return TRUE; -} - -static int vorbis_decode_packet(vorb *f, int *len, int *p_left, int *p_right) -{ - int mode, left_end, right_end; - if (!vorbis_decode_initial(f, p_left, &left_end, p_right, &right_end, &mode)) return 0; - return vorbis_decode_packet_rest(f, len, f->mode_config + mode, *p_left, left_end, *p_right, right_end, p_left); -} - -static int vorbis_finish_frame(stb_vorbis *f, int len, int left, int right) -{ - int prev,i,j; - // we use right&left (the start of the right- and left-window sin()-regions) - // to determine how much to return, rather than inferring from the rules - // (same result, clearer code); 'left' indicates where our sin() window - // starts, therefore where the previous window's right edge starts, and - // therefore where to start mixing from the previous buffer. 'right' - // indicates where our sin() ending-window starts, therefore that's where - // we start saving, and where our returned-data ends. - - // mixin from previous window - if (f->previous_length) { - int i,j, n = f->previous_length; - float *w = get_window(f, n); - for (i=0; i < f->channels; ++i) { - for (j=0; j < n; ++j) - f->channel_buffers[i][left+j] = - f->channel_buffers[i][left+j]*w[ j] + - f->previous_window[i][ j]*w[n-1-j]; - } - } - - prev = f->previous_length; - - // last half of this data becomes previous window - f->previous_length = len - right; - - // @OPTIMIZE: could avoid this copy by double-buffering the - // output (flipping previous_window with channel_buffers), but - // then previous_window would have to be 2x as large, and - // channel_buffers couldn't be temp mem (although they're NOT - // currently temp mem, they could be (unless we want to level - // performance by spreading out the computation)) - for (i=0; i < f->channels; ++i) - for (j=0; right+j < len; ++j) - f->previous_window[i][j] = f->channel_buffers[i][right+j]; - - if (!prev) - // there was no previous packet, so this data isn't valid... - // this isn't entirely true, only the would-have-overlapped data - // isn't valid, but this seems to be what the spec requires - return 0; - - // truncate a short frame - if (len < right) right = len; - - f->samples_output += right-left; - - return right - left; -} - -static void vorbis_pump_first_frame(stb_vorbis *f) -{ - int len, right, left; - if (vorbis_decode_packet(f, &len, &left, &right)) - vorbis_finish_frame(f, len, left, right); -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API -static int is_whole_packet_present(stb_vorbis *f, int end_page) -{ - // make sure that we have the packet available before continuing... - // this requires a full ogg parse, but we know we can fetch from f->stream - - // instead of coding this out explicitly, we could save the current read state, - // read the next packet with get8() until end-of-packet, check f->eof, then - // reset the state? but that would be slower, esp. since we'd have over 256 bytes - // of state to restore (primarily the page segment table) - - int s = f->next_seg, first = TRUE; - uint8 *p = f->stream; - - if (s != -1) { // if we're not starting the packet with a 'continue on next page' flag - for (; s < f->segment_count; ++s) { - p += f->segments[s]; - if (f->segments[s] < 255) // stop at first short segment - break; - } - // either this continues, or it ends it... - if (end_page) - if (s < f->segment_count-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - for (; s == -1;) { - uint8 *q; - int n; - - // check that we have the page header ready - if (p + 26 >= f->stream_end) return error(f, VORBIS_need_more_data); - // validate the page - if (memcmp(p, ogg_page_header, 4)) return error(f, VORBIS_invalid_stream); - if (p[4] != 0) return error(f, VORBIS_invalid_stream); - if (first) { // the first segment must NOT have 'continued_packet', later ones MUST - if (f->previous_length) - if ((p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - // if no previous length, we're resynching, so we can come in on a continued-packet, - // which we'll just drop - } else { - if (!(p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - } - n = p[26]; // segment counts - q = p+27; // q points to segment table - p = q + n; // advance past header - // make sure we've read the segment table - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - for (s=0; s < n; ++s) { - p += q[s]; - if (q[s] < 255) - break; - } - if (end_page) - if (s < n-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - return TRUE; -} -#endif // !STB_VORBIS_NO_PUSHDATA_API - -static int start_decoder(vorb *f) -{ - uint8 header[6], x,y; - int len,i,j,k, max_submaps = 0; - int longest_floorlist=0; - - // first page, first packet - - if (!start_page(f)) return FALSE; - // validate page flag - if (!(f->page_flag & PAGEFLAG_first_page)) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_last_page) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_continued_packet) return error(f, VORBIS_invalid_first_page); - // check for expected packet length - if (f->segment_count != 1) return error(f, VORBIS_invalid_first_page); - if (f->segments[0] != 30) return error(f, VORBIS_invalid_first_page); - // read packet - // check packet header - if (get8(f) != VORBIS_packet_id) return error(f, VORBIS_invalid_first_page); - if (!getn(f, header, 6)) return error(f, VORBIS_unexpected_eof); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_first_page); - // vorbis_version - if (get32(f) != 0) return error(f, VORBIS_invalid_first_page); - f->channels = get8(f); if (!f->channels) return error(f, VORBIS_invalid_first_page); - if (f->channels > STB_VORBIS_MAX_CHANNELS) return error(f, VORBIS_too_many_channels); - f->sample_rate = get32(f); if (!f->sample_rate) return error(f, VORBIS_invalid_first_page); - get32(f); // bitrate_maximum - get32(f); // bitrate_nominal - get32(f); // bitrate_minimum - x = get8(f); - { int log0,log1; - log0 = x & 15; - log1 = x >> 4; - f->blocksize_0 = 1 << log0; - f->blocksize_1 = 1 << log1; - if (log0 < 6 || log0 > 13) return error(f, VORBIS_invalid_setup); - if (log1 < 6 || log1 > 13) return error(f, VORBIS_invalid_setup); - if (log0 > log1) return error(f, VORBIS_invalid_setup); - } - - // framing_flag - x = get8(f); - if (!(x & 1)) return error(f, VORBIS_invalid_first_page); - - // second packet! - if (!start_page(f)) return FALSE; - - if (!start_packet(f)) return FALSE; - do { - len = next_segment(f); - skip(f, len); - f->bytes_in_seg = 0; - } while (len); - - // third packet! - if (!start_packet(f)) return FALSE; - - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (IS_PUSH_MODE(f)) { - if (!is_whole_packet_present(f, TRUE)) { - // convert error in ogg header to write type - if (f->error == VORBIS_invalid_stream) - f->error = VORBIS_invalid_setup; - return FALSE; - } - } - #endif - - crc32_init(); // always init it, to avoid multithread race conditions - - if (get8_packet(f) != VORBIS_packet_setup) return error(f, VORBIS_invalid_setup); - for (i=0; i < 6; ++i) header[i] = get8_packet(f); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_setup); - - // codebooks - - f->codebook_count = get_bits(f,8) + 1; - f->codebooks = (Codebook *) setup_malloc(f, sizeof(*f->codebooks) * f->codebook_count); - if (f->codebooks == NULL) return error(f, VORBIS_outofmem); - memset(f->codebooks, 0, sizeof(*f->codebooks) * f->codebook_count); - for (i=0; i < f->codebook_count; ++i) { - uint32 *values; - int ordered, sorted_count; - int total=0; - uint8 *lengths; - Codebook *c = f->codebooks+i; - x = get_bits(f, 8); if (x != 0x42) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x43) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x56) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); - c->dimensions = (get_bits(f, 8)<<8) + x; - x = get_bits(f, 8); - y = get_bits(f, 8); - c->entries = (get_bits(f, 8)<<16) + (y<<8) + x; - ordered = get_bits(f,1); - c->sparse = ordered ? 0 : get_bits(f,1); - - if (c->sparse) - lengths = (uint8 *) setup_temp_malloc(f, c->entries); - else - lengths = c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - - if (!lengths) return error(f, VORBIS_outofmem); - - if (ordered) { - int current_entry = 0; - int current_length = get_bits(f,5) + 1; - while (current_entry < c->entries) { - int limit = c->entries - current_entry; - int n = get_bits(f, ilog(limit)); - if (current_entry + n > (int) c->entries) { return error(f, VORBIS_invalid_setup); } - memset(lengths + current_entry, current_length, n); - current_entry += n; - ++current_length; - } - } else { - for (j=0; j < c->entries; ++j) { - int present = c->sparse ? get_bits(f,1) : 1; - if (present) { - lengths[j] = get_bits(f, 5) + 1; - ++total; - } else { - lengths[j] = NO_CODE; - } - } - } - - if (c->sparse && total >= c->entries >> 2) { - // convert sparse items to non-sparse! - if (c->entries > (int) f->setup_temp_memory_required) - f->setup_temp_memory_required = c->entries; - - c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - memcpy(c->codeword_lengths, lengths, c->entries); - setup_temp_free(f, lengths, c->entries); // note this is only safe if there have been no intervening temp mallocs! - lengths = c->codeword_lengths; - c->sparse = 0; - } - - // compute the size of the sorted tables - if (c->sparse) { - sorted_count = total; - //assert(total != 0); - } else { - sorted_count = 0; - #ifndef STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - for (j=0; j < c->entries; ++j) - if (lengths[j] > STB_VORBIS_FAST_HUFFMAN_LENGTH && lengths[j] != NO_CODE) - ++sorted_count; - #endif - } - - c->sorted_entries = sorted_count; - values = NULL; - - if (!c->sparse) { - c->codewords = (uint32 *) setup_malloc(f, sizeof(c->codewords[0]) * c->entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - } else { - unsigned int size; - if (c->sorted_entries) { - c->codeword_lengths = (uint8 *) setup_malloc(f, c->sorted_entries); - if (!c->codeword_lengths) return error(f, VORBIS_outofmem); - c->codewords = (uint32 *) setup_temp_malloc(f, sizeof(*c->codewords) * c->sorted_entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - values = (uint32 *) setup_temp_malloc(f, sizeof(*values) * c->sorted_entries); - if (!values) return error(f, VORBIS_outofmem); - } - size = c->entries + (sizeof(*c->codewords) + sizeof(*values)) * c->sorted_entries; - if (size > f->setup_temp_memory_required) - f->setup_temp_memory_required = size; - } - - if (!compute_codewords(c, lengths, c->entries, values)) { - if (c->sparse) setup_temp_free(f, values, 0); - return error(f, VORBIS_invalid_setup); - } - - if (c->sorted_entries) { - // allocate an extra slot for sentinels - c->sorted_codewords = (uint32 *) setup_malloc(f, sizeof(*c->sorted_codewords) * (c->sorted_entries+1)); - // allocate an extra slot at the front so that c->sorted_values[-1] is defined - // so that we can catch that case without an extra if - c->sorted_values = ( int *) setup_malloc(f, sizeof(*c->sorted_values ) * (c->sorted_entries+1)); - if (c->sorted_values) { ++c->sorted_values; c->sorted_values[-1] = -1; } - compute_sorted_huffman(c, lengths, values); - } - - if (c->sparse) { - setup_temp_free(f, values, sizeof(*values)*c->sorted_entries); - setup_temp_free(f, c->codewords, sizeof(*c->codewords)*c->sorted_entries); - setup_temp_free(f, lengths, c->entries); - c->codewords = NULL; - } - - compute_accelerated_huffman(c); - - c->lookup_type = get_bits(f, 4); - if (c->lookup_type > 2) return error(f, VORBIS_invalid_setup); - if (c->lookup_type > 0) { - uint16 *mults; - c->minimum_value = float32_unpack(get_bits(f, 32)); - c->delta_value = float32_unpack(get_bits(f, 32)); - c->value_bits = get_bits(f, 4)+1; - c->sequence_p = get_bits(f,1); - if (c->lookup_type == 1) { - c->lookup_values = lookup1_values(c->entries, c->dimensions); - } else { - c->lookup_values = c->entries * c->dimensions; - } - mults = (uint16 *) setup_temp_malloc(f, sizeof(mults[0]) * c->lookup_values); - if (mults == NULL) return error(f, VORBIS_outofmem); - for (j=0; j < (int) c->lookup_values; ++j) { - int q = get_bits(f, c->value_bits); - if (q == EOP) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_invalid_setup); } - mults[j] = q; - } - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int len, sparse = c->sparse; - // pre-expand the lookup1-style multiplicands, to avoid a divide in the inner loop - if (sparse) { - if (c->sorted_entries == 0) goto skip; - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->sorted_entries * c->dimensions); - } else - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->entries * c->dimensions); - if (c->multiplicands == NULL) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_outofmem); } - len = sparse ? c->sorted_entries : c->entries; - for (j=0; j < len; ++j) { - int z = sparse ? c->sorted_values[j] : j, div=1; - for (k=0; k < c->dimensions; ++k) { - int off = (z / div) % c->lookup_values; - c->multiplicands[j*c->dimensions + k] = - #ifndef STB_VORBIS_CODEBOOK_FLOATS - mults[off]; - #else - mults[off]*c->delta_value + c->minimum_value; - // in this case (and this case only) we could pre-expand c->sequence_p, - // and throw away the decode logic for it; have to ALSO do - // it in the case below, but it can only be done if - // STB_VORBIS_CODEBOOK_FLOATS - // !STB_VORBIS_DIVIDES_IN_CODEBOOK - #endif - div *= c->lookup_values; - } - } - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - c->lookup_type = 2; - } - else -#endif - { - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->lookup_values); - #ifndef STB_VORBIS_CODEBOOK_FLOATS - memcpy(c->multiplicands, mults, sizeof(c->multiplicands[0]) * c->lookup_values); - #else - for (j=0; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = mults[j] * c->delta_value + c->minimum_value; - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - #endif - } - skip:; - - #ifdef STB_VORBIS_CODEBOOK_FLOATS - if (c->lookup_type == 2 && c->sequence_p) { - for (j=1; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = c->multiplicands[j-1]; - c->sequence_p = 0; - } - #endif - } - } - - // time domain transfers (notused) - - x = get_bits(f, 6) + 1; - for (i=0; i < x; ++i) { - uint32 z = get_bits(f, 16); - if (z != 0) return error(f, VORBIS_invalid_setup); - } - - // Floors - f->floor_count = get_bits(f, 6)+1; - f->floor_config = (Floor *) setup_malloc(f, f->floor_count * sizeof(*f->floor_config)); - for (i=0; i < f->floor_count; ++i) { - f->floor_types[i] = get_bits(f, 16); - if (f->floor_types[i] > 1) return error(f, VORBIS_invalid_setup); - if (f->floor_types[i] == 0) { - Floor0 *g = &f->floor_config[i].floor0; - g->order = get_bits(f,8); - g->rate = get_bits(f,16); - g->bark_map_size = get_bits(f,16); - g->amplitude_bits = get_bits(f,6); - g->amplitude_offset = get_bits(f,8); - g->number_of_books = get_bits(f,4) + 1; - for (j=0; j < g->number_of_books; ++j) - g->book_list[j] = get_bits(f,8); - return error(f, VORBIS_feature_not_supported); - } else { - VorbisPoint p[31*8+2]; - Floor1 *g = &f->floor_config[i].floor1; - int max_class = -1; - g->partitions = get_bits(f, 5); - for (j=0; j < g->partitions; ++j) { - g->partition_class_list[j] = get_bits(f, 4); - if (g->partition_class_list[j] > max_class) - max_class = g->partition_class_list[j]; - } - for (j=0; j <= max_class; ++j) { - g->class_dimensions[j] = get_bits(f, 3)+1; - g->class_subclasses[j] = get_bits(f, 2); - if (g->class_subclasses[j]) { - g->class_masterbooks[j] = get_bits(f, 8); - if (g->class_masterbooks[j] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - for (k=0; k < 1 << g->class_subclasses[j]; ++k) { - g->subclass_books[j][k] = get_bits(f,8)-1; - if (g->subclass_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - } - g->floor1_multiplier = get_bits(f,2)+1; - g->rangebits = get_bits(f,4); - g->Xlist[0] = 0; - g->Xlist[1] = 1 << g->rangebits; - g->values = 2; - for (j=0; j < g->partitions; ++j) { - int c = g->partition_class_list[j]; - for (k=0; k < g->class_dimensions[c]; ++k) { - g->Xlist[g->values] = get_bits(f, g->rangebits); - ++g->values; - } - } - // precompute the sorting - for (j=0; j < g->values; ++j) { - p[j].x = g->Xlist[j]; - p[j].y = j; - } - qsort(p, g->values, sizeof(p[0]), point_compare); - for (j=0; j < g->values; ++j) - g->sorted_order[j] = (uint8) p[j].y; - // precompute the neighbors - for (j=2; j < g->values; ++j) { - int low,hi; - neighbors(g->Xlist, j, &low,&hi); - g->neighbors[j][0] = low; - g->neighbors[j][1] = hi; - } - - if (g->values > longest_floorlist) - longest_floorlist = g->values; - } - } - - // Residue - f->residue_count = get_bits(f, 6)+1; - f->residue_config = (Residue *) setup_malloc(f, f->residue_count * sizeof(*f->residue_config)); - for (i=0; i < f->residue_count; ++i) { - uint8 residue_cascade[64]; - Residue *r = f->residue_config+i; - f->residue_types[i] = get_bits(f, 16); - if (f->residue_types[i] > 2) return error(f, VORBIS_invalid_setup); - r->begin = get_bits(f, 24); - r->end = get_bits(f, 24); - r->part_size = get_bits(f,24)+1; - r->classifications = get_bits(f,6)+1; - r->classbook = get_bits(f,8); - for (j=0; j < r->classifications; ++j) { - uint8 high_bits=0; - uint8 low_bits=get_bits(f,3); - if (get_bits(f,1)) - high_bits = get_bits(f,5); - residue_cascade[j] = high_bits*8 + low_bits; - } - r->residue_books = (short (*)[8]) setup_malloc(f, sizeof(r->residue_books[0]) * r->classifications); - for (j=0; j < r->classifications; ++j) { - for (k=0; k < 8; ++k) { - if (residue_cascade[j] & (1 << k)) { - r->residue_books[j][k] = get_bits(f, 8); - if (r->residue_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } else { - r->residue_books[j][k] = -1; - } - } - } - // precompute the classifications[] array to avoid inner-loop mod/divide - // call it 'classdata' since we already have r->classifications - r->classdata = (uint8 **) setup_malloc(f, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - if (!r->classdata) return error(f, VORBIS_outofmem); - memset(r->classdata, 0, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - for (j=0; j < f->codebooks[r->classbook].entries; ++j) { - int classwords = f->codebooks[r->classbook].dimensions; - int temp = j; - r->classdata[j] = (uint8 *) setup_malloc(f, sizeof(r->classdata[j][0]) * classwords); - for (k=classwords-1; k >= 0; --k) { - r->classdata[j][k] = temp % r->classifications; - temp /= r->classifications; - } - } - } - - f->mapping_count = get_bits(f,6)+1; - f->mapping = (Mapping *) setup_malloc(f, f->mapping_count * sizeof(*f->mapping)); - for (i=0; i < f->mapping_count; ++i) { - Mapping *m = f->mapping + i; - int mapping_type = get_bits(f,16); - if (mapping_type != 0) return error(f, VORBIS_invalid_setup); - m->chan = (MappingChannel *) setup_malloc(f, f->channels * sizeof(*m->chan)); - if (get_bits(f,1)) - m->submaps = get_bits(f,4); - else - m->submaps = 1; - if (m->submaps > max_submaps) - max_submaps = m->submaps; - if (get_bits(f,1)) { - m->coupling_steps = get_bits(f,8)+1; - for (k=0; k < m->coupling_steps; ++k) { - m->chan[k].magnitude = get_bits(f, ilog(f->channels)-1); - m->chan[k].angle = get_bits(f, ilog(f->channels)-1); - if (m->chan[k].magnitude >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].angle >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].magnitude == m->chan[k].angle) return error(f, VORBIS_invalid_setup); - } - } else - m->coupling_steps = 0; - - // reserved field - if (get_bits(f,2)) return error(f, VORBIS_invalid_setup); - if (m->submaps > 1) { - for (j=0; j < f->channels; ++j) { - m->chan[j].mux = get_bits(f, 4); - if (m->chan[j].mux >= m->submaps) return error(f, VORBIS_invalid_setup); - } - } else - // @SPECIFICATION: this case is missing from the spec - for (j=0; j < f->channels; ++j) - m->chan[j].mux = 0; - - for (j=0; j < m->submaps; ++j) { - get_bits(f,8); // discard - m->submap_floor[j] = get_bits(f,8); - m->submap_residue[j] = get_bits(f,8); - if (m->submap_floor[j] >= f->floor_count) return error(f, VORBIS_invalid_setup); - if (m->submap_residue[j] >= f->residue_count) return error(f, VORBIS_invalid_setup); - } - } - - // Modes - f->mode_count = get_bits(f, 6)+1; - for (i=0; i < f->mode_count; ++i) { - Mode *m = f->mode_config+i; - m->blockflag = get_bits(f,1); - m->windowtype = get_bits(f,16); - m->transformtype = get_bits(f,16); - m->mapping = get_bits(f,8); - if (m->windowtype != 0) return error(f, VORBIS_invalid_setup); - if (m->transformtype != 0) return error(f, VORBIS_invalid_setup); - if (m->mapping >= f->mapping_count) return error(f, VORBIS_invalid_setup); - } - - flush_packet(f); - - f->previous_length = 0; - - for (i=0; i < f->channels; ++i) { - f->channel_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1); - f->previous_window[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - f->finalY[i] = (int16 *) setup_malloc(f, sizeof(int16) * longest_floorlist); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - f->floor_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - #endif - } - - if (!init_blocksize(f, 0, f->blocksize_0)) return FALSE; - if (!init_blocksize(f, 1, f->blocksize_1)) return FALSE; - f->blocksize[0] = f->blocksize_0; - f->blocksize[1] = f->blocksize_1; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (integer_divide_table[1][1]==0) - for (i=0; i < DIVTAB_NUMER; ++i) - for (j=1; j < DIVTAB_DENOM; ++j) - integer_divide_table[i][j] = i / j; -#endif - - // compute how much temporary memory is needed - - // 1. - { - uint32 imdct_mem = (f->blocksize_1 * sizeof(float) >> 1); - uint32 classify_mem; - int i,max_part_read=0; - for (i=0; i < f->residue_count; ++i) { - Residue *r = f->residue_config + i; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - if (part_read > max_part_read) - max_part_read = part_read; - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(uint8 *)); - #else - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(int *)); - #endif - - f->temp_memory_required = classify_mem; - if (imdct_mem > f->temp_memory_required) - f->temp_memory_required = imdct_mem; - } - - f->first_decode = TRUE; - - if (f->alloc.alloc_buffer) { - assert(f->temp_offset == f->alloc.alloc_buffer_length_in_bytes); - // check if there's enough temp memory so we don't error later - if (f->setup_offset + sizeof(*f) + f->temp_memory_required > (unsigned) f->temp_offset) - return error(f, VORBIS_outofmem); - } - - f->first_audio_page_offset = stb_vorbis_get_file_offset(f); - - return TRUE; -} - -static void vorbis_deinit(stb_vorbis *p) -{ - int i,j; - for (i=0; i < p->residue_count; ++i) { - Residue *r = p->residue_config+i; - if (r->classdata) { - for (j=0; j < p->codebooks[r->classbook].entries; ++j) - setup_free(p, r->classdata[j]); - setup_free(p, r->classdata); - } - setup_free(p, r->residue_books); - } - - if (p->codebooks) { - for (i=0; i < p->codebook_count; ++i) { - Codebook *c = p->codebooks + i; - setup_free(p, c->codeword_lengths); - setup_free(p, c->multiplicands); - setup_free(p, c->codewords); - setup_free(p, c->sorted_codewords); - // c->sorted_values[-1] is the first entry in the array - setup_free(p, c->sorted_values ? c->sorted_values-1 : NULL); - } - setup_free(p, p->codebooks); - } - setup_free(p, p->floor_config); - setup_free(p, p->residue_config); - for (i=0; i < p->mapping_count; ++i) - setup_free(p, p->mapping[i].chan); - setup_free(p, p->mapping); - for (i=0; i < p->channels; ++i) { - setup_free(p, p->channel_buffers[i]); - setup_free(p, p->previous_window[i]); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - setup_free(p, p->floor_buffers[i]); - #endif - setup_free(p, p->finalY[i]); - } - for (i=0; i < 2; ++i) { - setup_free(p, p->A[i]); - setup_free(p, p->B[i]); - setup_free(p, p->C[i]); - setup_free(p, p->window[i]); - } - #ifndef STB_VORBIS_NO_STDIO - if (p->close_on_free) fclose(p->f); - #endif -} - -void stb_vorbis_close(stb_vorbis *p) -{ - if (p == NULL) return; - vorbis_deinit(p); - setup_free(p,p); -} - -static void vorbis_init(stb_vorbis *p, stb_vorbis_alloc *z) -{ - memset(p, 0, sizeof(*p)); // NULL out all malloc'd pointers to start - if (z) { - p->alloc = *z; - p->alloc.alloc_buffer_length_in_bytes = (p->alloc.alloc_buffer_length_in_bytes+3) & ~3; - p->temp_offset = p->alloc.alloc_buffer_length_in_bytes; - } - p->eof = 0; - p->error = VORBIS__no_error; - p->stream = NULL; - p->codebooks = NULL; - p->page_crc_tests = -1; - #ifndef STB_VORBIS_NO_STDIO - p->close_on_free = FALSE; - p->f = NULL; - #endif -} - -int stb_vorbis_get_sample_offset(stb_vorbis *f) -{ - if (f->current_loc_valid) - return f->current_loc; - else - return -1; -} - -stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f) -{ - stb_vorbis_info d; - d.channels = f->channels; - d.sample_rate = f->sample_rate; - d.setup_memory_required = f->setup_memory_required; - d.setup_temp_memory_required = f->setup_temp_memory_required; - d.temp_memory_required = f->temp_memory_required; - d.max_frame_size = f->blocksize_1 >> 1; - return d; -} - -int stb_vorbis_get_error(stb_vorbis *f) -{ - int e = f->error; - f->error = VORBIS__no_error; - return e; -} - -static stb_vorbis * vorbis_alloc(stb_vorbis *f) -{ - stb_vorbis *p = (stb_vorbis *) setup_malloc(f, sizeof(*p)); - return p; -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API - -void stb_vorbis_flush_pushdata(stb_vorbis *f) -{ - f->previous_length = 0; - f->page_crc_tests = 0; - f->discard_samples_deferred = 0; - f->current_loc_valid = FALSE; - f->first_decode = FALSE; - f->samples_output = 0; - f->channel_buffer_start = 0; - f->channel_buffer_end = 0; -} - -static int vorbis_search_for_page_pushdata(vorb *f, uint8 *data, int data_len) -{ - int i,n; - for (i=0; i < f->page_crc_tests; ++i) - f->scan[i].bytes_done = 0; - - // if we have room for more scans, search for them first, because - // they may cause us to stop early if their header is incomplete - if (f->page_crc_tests < STB_VORBIS_PUSHDATA_CRC_COUNT) { - if (data_len < 4) return 0; - data_len -= 3; // need to look for 4-byte sequence, so don't miss - // one that straddles a boundary - for (i=0; i < data_len; ++i) { - if (data[i] == 0x4f) { - if (0==memcmp(data+i, ogg_page_header, 4)) { - int j,len; - uint32 crc; - // make sure we have the whole page header - if (i+26 >= data_len || i+27+data[i+26] >= data_len) { - // only read up to this page start, so hopefully we'll - // have the whole page header start next time - data_len = i; - break; - } - // ok, we have it all; compute the length of the page - len = 27 + data[i+26]; - for (j=0; j < data[i+26]; ++j) - len += data[i+27+j]; - // scan everything up to the embedded crc (which we must 0) - crc = 0; - for (j=0; j < 22; ++j) - crc = crc32_update(crc, data[i+j]); - // now process 4 0-bytes - for ( ; j < 26; ++j) - crc = crc32_update(crc, 0); - // len is the total number of bytes we need to scan - n = f->page_crc_tests++; - f->scan[n].bytes_left = len-j; - f->scan[n].crc_so_far = crc; - f->scan[n].goal_crc = data[i+22] + (data[i+23] << 8) + (data[i+24]<<16) + (data[i+25]<<24); - // if the last frame on a page is continued to the next, then - // we can't recover the sample_loc immediately - if (data[i+27+data[i+26]-1] == 255) - f->scan[n].sample_loc = ~0; - else - f->scan[n].sample_loc = data[i+6] + (data[i+7] << 8) + (data[i+ 8]<<16) + (data[i+ 9]<<24); - f->scan[n].bytes_done = i+j; - if (f->page_crc_tests == STB_VORBIS_PUSHDATA_CRC_COUNT) - break; - // keep going if we still have room for more - } - } - } - } - - for (i=0; i < f->page_crc_tests;) { - uint32 crc; - int j; - int n = f->scan[i].bytes_done; - int m = f->scan[i].bytes_left; - if (m > data_len - n) m = data_len - n; - // m is the bytes to scan in the current chunk - crc = f->scan[i].crc_so_far; - for (j=0; j < m; ++j) - crc = crc32_update(crc, data[n+j]); - f->scan[i].bytes_left -= m; - f->scan[i].crc_so_far = crc; - if (f->scan[i].bytes_left == 0) { - // does it match? - if (f->scan[i].crc_so_far == f->scan[i].goal_crc) { - // Houston, we have page - data_len = n+m; // consumption amount is wherever that scan ended - f->page_crc_tests = -1; // drop out of page scan mode - f->previous_length = 0; // decode-but-don't-output one frame - f->next_seg = -1; // start a new page - f->current_loc = f->scan[i].sample_loc; // set the current sample location - // to the amount we'd have decoded had we decoded this page - f->current_loc_valid = f->current_loc != ~0; - return data_len; - } - // delete entry - f->scan[i] = f->scan[--f->page_crc_tests]; - } else { - ++i; - } - } - - return data_len; -} - -// return value: number of bytes we used -int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, // the file we're decoding - uint8 *data, int data_len, // the memory available for decoding - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ) -{ - int i; - int len,right,left; - - if (!IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (f->page_crc_tests >= 0) { - *samples = 0; - return vorbis_search_for_page_pushdata(f, data, data_len); - } - - f->stream = data; - f->stream_end = data + data_len; - f->error = VORBIS__no_error; - - // check that we have the entire packet in memory - if (!is_whole_packet_present(f, FALSE)) { - *samples = 0; - return 0; - } - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - // save the actual error we encountered - enum STBVorbisError error = f->error; - if (error == VORBIS_bad_packet_type) { - // flush and resynch - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - if (error == VORBIS_continued_packet_flag_invalid) { - if (f->previous_length == 0) { - // we may be resynching, in which case it's ok to hit one - // of these; just discard the packet - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - } - // if we get an error while parsing, what to do? - // well, it DEFINITELY won't work to continue from where we are! - stb_vorbis_flush_pushdata(f); - // restore the error that actually made us bail - f->error = error; - *samples = 0; - return 1; - } - - // success! - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - if (channels) *channels = f->channels; - *samples = len; - *output = f->outputs; - return f->stream - data; -} - -stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *data, int data_len, // the memory available for decoding - int *data_used, // only defined if result is not NULL - int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + data_len; - p.push_mode = TRUE; - if (!start_decoder(&p)) { - if (p.eof) - *error = VORBIS_need_more_data; - else - *error = p.error; - return NULL; - } - f = vorbis_alloc(&p); - if (f) { - *f = p; - *data_used = f->stream - data; - *error = 0; - return f; - } else { - vorbis_deinit(&p); - return NULL; - } -} -#endif // STB_VORBIS_NO_PUSHDATA_API - -unsigned int stb_vorbis_get_file_offset(stb_vorbis *f) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - if (USE_MEMORY(f)) return f->stream - f->stream_start; - #ifndef STB_VORBIS_NO_STDIO - return ftell(f->f) - f->f_start; - #endif -} - -#ifndef STB_VORBIS_NO_PULLDATA_API -// -// DATA-PULLING API -// - -static uint32 vorbis_find_page(stb_vorbis *f, uint32 *end, uint32 *last) -{ - for(;;) { - int n; - if (f->eof) return 0; - n = get8(f); - if (n == 0x4f) { // page header - unsigned int retry_loc = stb_vorbis_get_file_offset(f); - int i; - // check if we're off the end of a file_section stream - if (retry_loc - 25 > f->stream_len) - return 0; - // check the rest of the header - for (i=1; i < 4; ++i) - if (get8(f) != ogg_page_header[i]) - break; - if (f->eof) return 0; - if (i == 4) { - uint8 header[27]; - uint32 i, crc, goal, len; - for (i=0; i < 4; ++i) - header[i] = ogg_page_header[i]; - for (; i < 27; ++i) - header[i] = get8(f); - if (f->eof) return 0; - if (header[4] != 0) goto invalid; - goal = header[22] + (header[23] << 8) + (header[24]<<16) + (header[25]<<24); - for (i=22; i < 26; ++i) - header[i] = 0; - crc = 0; - for (i=0; i < 27; ++i) - crc = crc32_update(crc, header[i]); - len = 0; - for (i=0; i < header[26]; ++i) { - int s = get8(f); - crc = crc32_update(crc, s); - len += s; - } - if (len && f->eof) return 0; - for (i=0; i < len; ++i) - crc = crc32_update(crc, get8(f)); - // finished parsing probable page - if (crc == goal) { - // we could now check that it's either got the last - // page flag set, OR it's followed by the capture - // pattern, but I guess TECHNICALLY you could have - // a file with garbage between each ogg page and recover - // from it automatically? So even though that paranoia - // might decrease the chance of an invalid decode by - // another 2^32, not worth it since it would hose those - // invalid-but-useful files? - if (end) - *end = stb_vorbis_get_file_offset(f); - if (last) - if (header[5] & 0x04) - *last = 1; - else - *last = 0; - set_file_offset(f, retry_loc-1); - return 1; - } - } - invalid: - // not a valid page, so rewind and look for next one - set_file_offset(f, retry_loc); - } - } -} - -// seek is implemented with 'interpolation search'--this is like -// binary search, but we use the data values to estimate the likely -// location of the data item (plus a bit of a bias so when the -// estimation is wrong we don't waste overly much time) - -#define SAMPLE_unknown 0xffffffff - - -// ogg vorbis, in its insane infinite wisdom, only provides -// information about the sample at the END of the page. -// therefore we COULD have the data we need in the current -// page, and not know it. we could just use the end location -// as our only knowledge for bounds, seek back, and eventually -// the binary search finds it. or we can try to be smart and -// not waste time trying to locate more pages. we try to be -// smart, since this data is already in memory anyway, so -// doing needless I/O would be crazy! -static int vorbis_analyze_page(stb_vorbis *f, ProbedPage *z) -{ - uint8 header[27], lacing[255]; - uint8 packet_type[255]; - int num_packet, packet_start, previous =0; - int i,len; - uint32 samples; - - // record where the page starts - z->page_start = stb_vorbis_get_file_offset(f); - - // parse the header - getn(f, header, 27); - assert(header[0] == 'O' && header[1] == 'g' && header[2] == 'g' && header[3] == 'S'); - getn(f, lacing, header[26]); - - // determine the length of the payload - len = 0; - for (i=0; i < header[26]; ++i) - len += lacing[i]; - - // this implies where the page ends - z->page_end = z->page_start + 27 + header[26] + len; - - // read the last-decoded sample out of the data - z->last_decoded_sample = header[6] + (header[7] << 8) + (header[8] << 16) + (header[9] << 16); - - if (header[5] & 4) { - // if this is the last page, it's not possible to work - // backwards to figure out the first sample! whoops! fuck. - z->first_decoded_sample = SAMPLE_unknown; - set_file_offset(f, z->page_start); - return 1; - } - - // scan through the frames to determine the sample-count of each one... - // our goal is the sample # of the first fully-decoded sample on the - // page, which is the first decoded sample of the 2nd page - - num_packet=0; - - packet_start = ((header[5] & 1) == 0); - - for (i=0; i < header[26]; ++i) { - if (packet_start) { - uint8 n,b,m; - if (lacing[i] == 0) goto bail; // trying to read from zero-length packet - n = get8(f); - // if bottom bit is non-zero, we've got corruption - if (n & 1) goto bail; - n >>= 1; - b = ilog(f->mode_count-1); - m = n >> b; - n &= (1 << b)-1; - if (n >= f->mode_count) goto bail; - if (num_packet == 0 && f->mode_config[n].blockflag) - previous = (m & 1); - packet_type[num_packet++] = f->mode_config[n].blockflag; - skip(f, lacing[i]-1); - } else - skip(f, lacing[i]); - packet_start = (lacing[i] < 255); - } - - // now that we know the sizes of all the pages, we can start determining - // how much sample data there is. - - samples = 0; - - // for the last packet, we step by its whole length, because the definition - // is that we encoded the end sample loc of the 'last packet completed', - // where 'completed' refers to packets being split, and we are left to guess - // what 'end sample loc' means. we assume it means ignoring the fact that - // the last half of the data is useless without windowing against the next - // packet... (so it's not REALLY complete in that sense) - if (num_packet > 1) - samples += f->blocksize[packet_type[num_packet-1]]; - - for (i=num_packet-2; i >= 1; --i) { - // now, for this packet, how many samples do we have that - // do not overlap the following packet? - if (packet_type[i] == 1) - if (packet_type[i+1] == 1) - samples += f->blocksize_1 >> 1; - else - samples += ((f->blocksize_1 - f->blocksize_0) >> 2) + (f->blocksize_0 >> 1); - else - samples += f->blocksize_0 >> 1; - } - // now, at this point, we've rewound to the very beginning of the - // _second_ packet. if we entirely discard the first packet after - // a seek, this will be exactly the right sample number. HOWEVER! - // we can't as easily compute this number for the LAST page. The - // only way to get the sample offset of the LAST page is to use - // the end loc from the previous page. But what that returns us - // is _exactly_ the place where we get our first non-overlapped - // sample. (I think. Stupid spec for being ambiguous.) So for - // consistency it's better to do that here, too. However, that - // will then require us to NOT discard all of the first frame we - // decode, in some cases, which means an even weirder frame size - // and extra code. what a fucking pain. - - // we're going to discard the first packet if we - // start the seek here, so we don't care about it. (we could actually - // do better; if the first packet is long, and the previous packet - // is short, there's actually data in the first half of the first - // packet that doesn't need discarding... but not worth paying the - // effort of tracking that of that here and in the seeking logic) - // except crap, if we infer it from the _previous_ packet's end - // location, we DO need to use that definition... and we HAVE to - // infer the start loc of the LAST packet from the previous packet's - // end location. fuck you, ogg vorbis. - - z->first_decoded_sample = z->last_decoded_sample - samples; - - // restore file state to where we were - set_file_offset(f, z->page_start); - return 1; - - // restore file state to where we were - bail: - set_file_offset(f, z->page_start); - return 0; -} - -static int vorbis_seek_frame_from_page(stb_vorbis *f, uint32 page_start, uint32 first_sample, uint32 target_sample, int fine) -{ - int left_start, left_end, right_start, right_end, mode,i; - int frame=0; - uint32 frame_start; - int frames_to_skip, data_to_skip; - - // first_sample is the sample # of the first sample that doesn't - // overlap the previous page... note that this requires us to - // _partially_ discard the first packet! bleh. - set_file_offset(f, page_start); - - f->next_seg = -1; // force page resync - - frame_start = first_sample; - // frame start is where the previous packet's last decoded sample - // was, which corresponds to left_end... EXCEPT if the previous - // packet was long and this packet is short? Probably a bug here. - - - // now, we can start decoding frames... we'll only FAKE decode them, - // until we find the frame that contains our sample; then we'll rewind, - // and try again - for (;;) { - int start; - - if (!vorbis_decode_initial(f, &left_start, &left_end, &right_start, &right_end, &mode)) - return error(f, VORBIS_seek_failed); - - if (frame == 0) - start = left_end; - else - start = left_start; - - // the window starts at left_start; the last valid sample we generate - // before the next frame's window start is right_start-1 - if (target_sample < frame_start + right_start-start) - break; - - flush_packet(f); - if (f->eof) - return error(f, VORBIS_seek_failed); - - frame_start += right_start - start; - - ++frame; - } - - // ok, at this point, the sample we want is contained in frame #'frame' - - // to decode frame #'frame' normally, we have to decode the - // previous frame first... but if it's the FIRST frame of the page - // we can't. if it's the first frame, it means it falls in the part - // of the first frame that doesn't overlap either of the other frames. - // so, if we have to handle that case for the first frame, we might - // as well handle it for all of them, so: - if (target_sample > frame_start + (left_end - left_start)) { - // so what we want to do is go ahead and just immediately decode - // this frame, but then make it so the next get_frame_float() uses - // this already-decoded data? or do we want to go ahead and rewind, - // and leave a flag saying to skip the first N data? let's do that - frames_to_skip = frame; // if this is frame #1, skip 1 frame (#0) - data_to_skip = left_end - left_start; - } else { - // otherwise, we want to skip frames 0, 1, 2, ... frame-2 - // (which means frame-2+1 total frames) then decode frame-1, - // then leave frame pending - frames_to_skip = frame - 1; - assert(frames_to_skip >= 0); - data_to_skip = -1; - } - - set_file_offset(f, page_start); - f->next_seg = - 1; // force page resync - - for (i=0; i < frames_to_skip; ++i) { - maybe_start_packet(f); - flush_packet(f); - } - - if (data_to_skip >= 0) { - int i,j,n = f->blocksize_0 >> 1; - f->discard_samples_deferred = data_to_skip; - for (i=0; i < f->channels; ++i) - for (j=0; j < n; ++j) - f->previous_window[i][j] = 0; - f->previous_length = n; - frame_start += data_to_skip; - } else { - f->previous_length = 0; - vorbis_pump_first_frame(f); - } - - // at this point, the NEXT decoded frame will generate the desired sample - if (fine) { - // so if we're doing sample accurate streaming, we want to go ahead and decode it! - if (target_sample != frame_start) { - int n; - stb_vorbis_get_frame_float(f, &n, NULL); - assert(target_sample > frame_start); - assert(f->channel_buffer_start + (int) (target_sample-frame_start) < f->channel_buffer_end); - f->channel_buffer_start += (target_sample - frame_start); - } - } - - return 0; -} - -static int vorbis_seek_base(stb_vorbis *f, unsigned int sample_number, int fine) -{ - ProbedPage p[2],q; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - // do we know the location of the last page? - if (f->p_last.page_start == 0) { - uint32 z = stb_vorbis_stream_length_in_samples(f); - if (z == 0) return error(f, VORBIS_cant_find_last_page); - } - - p[0] = f->p_first; - p[1] = f->p_last; - - if (sample_number >= f->p_last.last_decoded_sample) - sample_number = f->p_last.last_decoded_sample-1; - - if (sample_number < f->p_first.last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[0].page_start, 0, sample_number, fine); - return 0; - } else { - int attempts=0; - while (p[0].page_end < p[1].page_start) { - uint32 probe; - uint32 start_offset, end_offset; - uint32 start_sample, end_sample; - - // copy these into local variables so we can tweak them - // if any are unknown - start_offset = p[0].page_end; - end_offset = p[1].after_previous_page_start; // an address known to seek to page p[1] - start_sample = p[0].last_decoded_sample; - end_sample = p[1].last_decoded_sample; - - // currently there is no such tweaking logic needed/possible? - if (start_sample == SAMPLE_unknown || end_sample == SAMPLE_unknown) - return error(f, VORBIS_seek_failed); - - // now we want to lerp between these for the target samples... - - // step 1: we need to bias towards the page start... - if (start_offset + 4000 < end_offset) - end_offset -= 4000; - - // now compute an interpolated search loc - probe = start_offset + (int) floor((float) (end_offset - start_offset) / (end_sample - start_sample) * (sample_number - start_sample)); - - // next we need to bias towards binary search... - // code is a little wonky to allow for full 32-bit unsigned values - if (attempts >= 4) { - uint32 probe2 = start_offset + ((end_offset - start_offset) >> 1); - if (attempts >= 8) - probe = probe2; - else if (probe < probe2) - probe = probe + ((probe2 - probe) >> 1); - else - probe = probe2 + ((probe - probe2) >> 1); - } - ++attempts; - - set_file_offset(f, probe); - if (!vorbis_find_page(f, NULL, NULL)) return error(f, VORBIS_seek_failed); - if (!vorbis_analyze_page(f, &q)) return error(f, VORBIS_seek_failed); - q.after_previous_page_start = probe; - - // it's possible we've just found the last page again - if (q.page_start == p[1].page_start) { - p[1] = q; - continue; - } - - if (sample_number < q.last_decoded_sample) - p[1] = q; - else - p[0] = q; - } - - if (p[0].last_decoded_sample <= sample_number && sample_number < p[1].last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[1].page_start, p[0].last_decoded_sample, sample_number, fine); - return 0; - } - return error(f, VORBIS_seek_failed); - } -} - -int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, FALSE); -} - -int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, TRUE); -} - -void stb_vorbis_seek_start(stb_vorbis *f) -{ - if (IS_PUSH_MODE(f)) { error(f, VORBIS_invalid_api_mixing); return; } - set_file_offset(f, f->first_audio_page_offset); - f->previous_length = 0; - f->first_decode = TRUE; - f->next_seg = -1; - vorbis_pump_first_frame(f); -} - -unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f) -{ - unsigned int restore_offset, previous_safe; - unsigned int end, last_page_loc; - - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - if (!f->total_samples) { - int last; - uint32 lo,hi; - char header[6]; - - // first, store the current decode position so we can restore it - restore_offset = stb_vorbis_get_file_offset(f); - - // now we want to seek back 64K from the end (the last page must - // be at most a little less than 64K, but let's allow a little slop) - if (f->stream_len >= 65536 && f->stream_len-65536 >= f->first_audio_page_offset) - previous_safe = f->stream_len - 65536; - else - previous_safe = f->first_audio_page_offset; - - set_file_offset(f, previous_safe); - // previous_safe is now our candidate 'earliest known place that seeking - // to will lead to the final page' - - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // if we can't find a page, we're hosed! - f->error = VORBIS_cant_find_last_page; - f->total_samples = 0xffffffff; - goto done; - } - - // check if there are more pages - last_page_loc = stb_vorbis_get_file_offset(f); - - // stop when the last_page flag is set, not when we reach eof; - // this allows us to stop short of a 'file_section' end without - // explicitly checking the length of the section - while (!last) { - set_file_offset(f, end); - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // the last page we found didn't have the 'last page' flag - // set. whoops! - break; - } - previous_safe = last_page_loc+1; - last_page_loc = stb_vorbis_get_file_offset(f); - } - - set_file_offset(f, last_page_loc); - - // parse the header - getn(f, (unsigned char *)header, 6); - // extract the absolute granule position - lo = get32(f); - hi = get32(f); - if (lo == 0xffffffff && hi == 0xffffffff) { - f->error = VORBIS_cant_find_last_page; - f->total_samples = SAMPLE_unknown; - goto done; - } - if (hi) - lo = 0xfffffffe; // saturate - f->total_samples = lo; - - f->p_last.page_start = last_page_loc; - f->p_last.page_end = end; - f->p_last.last_decoded_sample = lo; - f->p_last.first_decoded_sample = SAMPLE_unknown; - f->p_last.after_previous_page_start = previous_safe; - - done: - set_file_offset(f, restore_offset); - } - return f->total_samples == SAMPLE_unknown ? 0 : f->total_samples; -} - -float stb_vorbis_stream_length_in_seconds(stb_vorbis *f) -{ - return stb_vorbis_stream_length_in_samples(f) / (float) f->sample_rate; -} - - - -int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output) -{ - int len, right,left,i; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - f->channel_buffer_start = f->channel_buffer_end = 0; - return 0; - } - - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - f->channel_buffer_start = left; - f->channel_buffer_end = left+len; - - if (channels) *channels = f->channels; - if (output) *output = f->outputs; - return len; -} - -#ifndef STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_file_section(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc, unsigned int length) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.f = file; - p.f_start = ftell(file); - p.stream_len = length; - p.close_on_free = close_on_free; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -stb_vorbis * stb_vorbis_open_file(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc) -{ - unsigned int len, start; - start = ftell(file); - fseek(file, 0, SEEK_END); - len = ftell(file) - start; - fseek(file, start, SEEK_SET); - return stb_vorbis_open_file_section(file, close_on_free, error, alloc, len); -} - -stb_vorbis * stb_vorbis_open_filename(char *filename, int *error, stb_vorbis_alloc *alloc) -{ - FILE *f = fopen(filename, "rb"); - if (f) - return stb_vorbis_open_file(f, TRUE, error, alloc); - if (error) *error = VORBIS_file_open_failure; - return NULL; -} -#endif // STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - if (data == NULL) return NULL; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + len; - p.stream_start = p.stream; - p.stream_len = len; - p.push_mode = FALSE; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#define PLAYBACK_MONO 1 -#define PLAYBACK_LEFT 2 -#define PLAYBACK_RIGHT 4 - -#define L (PLAYBACK_LEFT | PLAYBACK_MONO) -#define C (PLAYBACK_LEFT | PLAYBACK_RIGHT | PLAYBACK_MONO) -#define R (PLAYBACK_RIGHT | PLAYBACK_MONO) - -static int8 channel_position[7][6] = -{ - { 0 }, - { C }, - { L, R }, - { L, C, R }, - { L, R, L, R }, - { L, C, R, L, R }, - { L, C, R, L, R, C }, -}; - - -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - typedef union { - float f; - int i; - } float_conv; - typedef char stb_vorbis_float_size_test[sizeof(float)==4 && sizeof(int) == 4]; - #define FASTDEF(x) float_conv x - // add (1<<23) to convert to int, then divide by 2^SHIFT, then add 0.5/2^SHIFT to round - #define MAGIC(SHIFT) (1.5f * (1 << (23-SHIFT)) + 0.5f/(1 << SHIFT)) - #define ADDEND(SHIFT) (((150-SHIFT) << 23) + (1 << 22)) - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) (temp.f = (x) + MAGIC(s), temp.i - ADDEND(s)) - #define check_endianness() -#else - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) ((int) ((x) * (1 << (s)))) - #define check_endianness() - #define FASTDEF(x) -#endif - -static void copy_samples(short *dest, float *src, int len) -{ - int i; - check_endianness(); - for (i=0; i < len; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp, src[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - dest[i] = v; - } -} - -static void compute_samples(int mask, short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE; - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE) { - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - if (channel_position[num_c][j] & mask) { - for (i=0; i < n; ++i) - buffer[i] += data[j][d_offset+o+i]; - } - } - for (i=0; i < n; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o+i] = v; - } - } -} - -static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; -static void compute_stereo_samples(short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE >> 1; - // o is the offset in the source data - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE >> 1) { - // o2 is the offset in the output data - int o2 = o << 1; - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - int m = channel_position[num_c][j] & (PLAYBACK_LEFT | PLAYBACK_RIGHT); - if (m == (PLAYBACK_LEFT | PLAYBACK_RIGHT)) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_LEFT) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_RIGHT) { - for (i=0; i < n; ++i) { - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } - } - for (i=0; i < (n<<1); ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o2+i] = v; - } - } -} - -static void convert_samples_short(int buf_c, short **buffer, int b_offset, int data_c, float **data, int d_offset, int samples) -{ - int i; - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; - for (i=0; i < buf_c; ++i) - compute_samples(channel_selector[buf_c][i], buffer[i]+b_offset, data_c, data, d_offset, samples); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - for (i=0; i < limit; ++i) - copy_samples(buffer[i]+b_offset, data[i], samples); - for ( ; i < buf_c; ++i) - memset(buffer[i]+b_offset, 0, sizeof(short) * samples); - } -} - -int stb_vorbis_get_frame_short(stb_vorbis *f, int num_c, short **buffer, int num_samples) -{ - float **output; - int len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len > num_samples) len = num_samples; - if (len) - convert_samples_short(num_c, buffer, 0, f->channels, output, 0, len); - return len; -} - -static void convert_channels_short_interleaved(int buf_c, short *buffer, int data_c, float **data, int d_offset, int len) -{ - int i; - check_endianness(); - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - assert(buf_c == 2); - for (i=0; i < buf_c; ++i) - compute_stereo_samples(buffer, data_c, data, d_offset, len); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - int j; - for (j=0; j < len; ++j) { - for (i=0; i < limit; ++i) { - FASTDEF(temp); - float f = data[i][d_offset+j]; - int v = FAST_SCALED_FLOAT_TO_INT(temp, f,15);//data[i][d_offset+j],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - *buffer++ = v; - } - for ( ; i < buf_c; ++i) - *buffer++ = 0; - } - } -} - -int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts) -{ - float **output; - int len; - if (num_c == 1) return stb_vorbis_get_frame_short(f,num_c,&buffer, num_shorts); - len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len) { - if (len*num_c > num_shorts) len = num_shorts / num_c; - convert_channels_short_interleaved(num_c, buffer, f->channels, output, 0, len); - } - return len; -} - -int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts) -{ - float **outputs; - int len = num_shorts / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_channels_short_interleaved(channels, buffer, f->channels, f->channel_buffers, f->channel_buffer_start, k); - buffer += k*channels; - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int len) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_samples_short(channels, buffer, n, f->channels, f->channel_buffers, f->channel_buffer_start, k); - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -#ifndef STB_VORBIS_NO_STDIO -int stb_vorbis_decode_filename(char *filename, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_filename(filename, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif // NO_STDIO - -int stb_vorbis_decode_memory(uint8 *mem, int len, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_memory(mem, len, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif - -int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats) -{ - float **outputs; - int len = num_floats / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int i,j; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - for (j=0; j < k; ++j) { - for (i=0; i < z; ++i) - *buffer++ = f->channel_buffers[i][f->channel_buffer_start+j]; - for ( ; i < channels; ++i) - *buffer++ = 0; - } - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < num_samples) { - int i; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= num_samples) k = num_samples - n; - if (k) { - for (i=0; i < z; ++i) - memcpy(buffer[i]+n, f->channel_buffers+f->channel_buffer_start, sizeof(float)*k); - for ( ; i < channels; ++i) - memset(buffer[i]+n, 0, sizeof(float) * k); - } - n += k; - f->channel_buffer_start += k; - if (n == num_samples) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} -#endif // STB_VORBIS_NO_PULLDATA_API - -#endif // STB_VORBIS_HEADER_ONLY diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.h deleted file mode 100755 index 94fd6fe..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/libs/stb_vorbis.h +++ /dev/null @@ -1,338 +0,0 @@ -// -// stb_vorbis.h -// oggdecode -// -// Created by Michael Grierson on 04/04/2012. -// Copyright (c) 2012 goldsmiths college. All rights reserved. -// - - - -////////////////////////////////////////////////////////////////////////////// -// -// HEADER BEGINS HERE -// - -#ifndef STB_VORBIS_INCLUDE_STB_VORBIS_H -#define STB_VORBIS_INCLUDE_STB_VORBIS_H - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) -#define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - /////////// THREAD SAFETY - - // Individual stb_vorbis* handles are not thread-safe; you cannot decode from - // them from multiple threads at the same time. However, you can have multiple - // stb_vorbis* handles and decode from them independently in multiple thrads. - - - /////////// MEMORY ALLOCATION - - // normally stb_vorbis uses malloc() to allocate memory at startup, - // and alloca() to allocate temporary memory during a frame on the - // stack. (Memory consumption will depend on the amount of setup - // data in the file and how you set the compile flags for speed - // vs. size. In my test files the maximal-size usage is ~150KB.) - // - // You can modify the wrapper functions in the source (setup_malloc, - // setup_temp_malloc, temp_malloc) to change this behavior, or you - // can use a simpler allocation model: you pass in a buffer from - // which stb_vorbis will allocate _all_ its memory (including the - // temp memory). "open" may fail with a VORBIS_outofmem if you - // do not pass in enough data; there is no way to determine how - // much you do need except to succeed (at which point you can - // query get_info to find the exact amount required. yes I know - // this is lame). - // - // If you pass in a non-NULL buffer of the type below, allocation - // will occur from it as described above. Otherwise just pass NULL - // to use malloc()/alloca() - - typedef struct - { - char *alloc_buffer; - int alloc_buffer_length_in_bytes; - } stb_vorbis_alloc; - - - /////////// FUNCTIONS USEABLE WITH ALL INPUT MODES - - typedef struct stb_vorbis stb_vorbis; - - typedef struct - { - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int setup_temp_memory_required; - unsigned int temp_memory_required; - - int max_frame_size; - } stb_vorbis_info; - - // get general information about the file - extern stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f); - - // get the last error detected (clears it, too) - extern int stb_vorbis_get_error(stb_vorbis *f); - - // close an ogg vorbis file and free all memory in use - extern void stb_vorbis_close(stb_vorbis *f); - - // this function returns the offset (in samples) from the beginning of the - // file that will be returned by the next decode, if it is known, or -1 - // otherwise. after a flush_pushdata() call, this may take a while before - // it becomes valid again. - // NOT WORKING YET after a seek with PULLDATA API - extern int stb_vorbis_get_sample_offset(stb_vorbis *f); - - // returns the current seek point within the file, or offset from the beginning - // of the memory buffer. In pushdata mode it returns 0. - extern unsigned int stb_vorbis_get_file_offset(stb_vorbis *f); - - /////////// PUSHDATA API - -#ifndef STB_VORBIS_NO_PUSHDATA_API - - // this API allows you to get blocks of data from any source and hand - // them to stb_vorbis. you have to buffer them; stb_vorbis will tell - // you how much it used, and you have to give it the rest next time; - // and stb_vorbis may not have enough data to work with and you will - // need to give it the same data again PLUS more. Note that the Vorbis - // specification does not bound the size of an individual frame. - - extern stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *datablock, int datablock_length_in_bytes, - int *datablock_memory_consumed_in_bytes, - int *error, - stb_vorbis_alloc *alloc_buffer); - // create a vorbis decoder by passing in the initial data block containing - // the ogg&vorbis headers (you don't need to do parse them, just provide - // the first N bytes of the file--you're told if it's not enough, see below) - // on success, returns an stb_vorbis *, does not set error, returns the amount of - // data parsed/consumed on this call in *datablock_memory_consumed_in_bytes; - // on failure, returns NULL on error and sets *error, does not change *datablock_memory_consumed - // if returns NULL and *error is VORBIS_need_more_data, then the input block was - // incomplete and you need to pass in a larger block from the start of the file - - extern int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, unsigned char *datablock, int datablock_length_in_bytes, - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ); - // decode a frame of audio sample data if possible from the passed-in data block - // - // return value: number of bytes we used from datablock - // possible cases: - // 0 bytes used, 0 samples output (need more data) - // N bytes used, 0 samples output (resynching the stream, keep going) - // N bytes used, M samples output (one frame of data) - // note that after opening a file, you will ALWAYS get one N-bytes,0-sample - // frame, because Vorbis always "discards" the first frame. - // - // Note that on resynch, stb_vorbis will rarely consume all of the buffer, - // instead only datablock_length_in_bytes-3 or less. This is because it wants - // to avoid missing parts of a page header if they cross a datablock boundary, - // without writing state-machiney code to record a partial detection. - // - // The number of channels returned are stored in *channels (which can be - // NULL--it is always the same as the number of channels reported by - // get_info). *output will contain an array of float* buffers, one per - // channel. In other words, (*output)[0][0] contains the first sample from - // the first channel, and (*output)[1][0] contains the first sample from - // the second channel. - - extern void stb_vorbis_flush_pushdata(stb_vorbis *f); - // inform stb_vorbis that your next datablock will not be contiguous with - // previous ones (e.g. you've seeked in the data); future attempts to decode - // frames will cause stb_vorbis to resynchronize (as noted above), and - // once it sees a valid Ogg page (typically 4-8KB, as large as 64KB), it - // will begin decoding the _next_ frame. - // - // if you want to seek using pushdata, you need to seek in your file, then - // call stb_vorbis_flush_pushdata(), then start calling decoding, then once - // decoding is returning you data, call stb_vorbis_get_sample_offset, and - // if you don't like the result, seek your file again and repeat. -#endif - - - ////////// PULLING INPUT API - -#ifndef STB_VORBIS_NO_PULLDATA_API - // This API assumes stb_vorbis is allowed to pull data from a source-- - // either a block of memory containing the _entire_ vorbis stream, or a - // FILE * that you or it create, or possibly some other reading mechanism - // if you go modify the source to replace the FILE * case with some kind - // of callback to your code. (But if you don't support seeking, you may - // just want to go ahead and use pushdata.) - -#if !defined(STB_VORBIS_NO_STDIO) && !defined(STB_VORBIS_NO_INTEGER_CONVERSION) - extern int stb_vorbis_decode_filename(char *filename, int *channels, short **output); -#endif - extern int stb_vorbis_decode_memory(unsigned char *mem, int len, int *channels, short **output); - // decode an entire file and output the data interleaved into a malloc()ed - // buffer stored in *output. The return value is the number of samples - // decoded, or -1 if the file could not be opened or was not an ogg vorbis file. - // When you're done with it, just free() the pointer returned in *output. - - extern stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an ogg vorbis stream in memory (note - // this must be the entire stream!). on failure, returns NULL and sets *error - -#ifndef STB_VORBIS_NO_STDIO - extern stb_vorbis * stb_vorbis_open_filename(char *filename, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from a filename via fopen(). on failure, - // returns NULL and sets *error (possibly to VORBIS_file_open_failure). - - extern stb_vorbis * stb_vorbis_open_file(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell). on failure, returns NULL and sets *error. - // note that stb_vorbis must "own" this stream; if you seek it in between - // calls to stb_vorbis, it will become confused. Morever, if you attempt to - // perform stb_vorbis_seek_*() operations on this file, it will assume it - // owns the _entire_ rest of the file after the start point. Use the next - // function, stb_vorbis_open_file_section(), to limit it. - - extern stb_vorbis * stb_vorbis_open_file_section(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer, unsigned int len); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell); the stream will be of length 'len' bytes. - // on failure, returns NULL and sets *error. note that stb_vorbis must "own" - // this stream; if you seek it in between calls to stb_vorbis, it will become - // confused. -#endif - - extern int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number); - extern int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number); - // NOT WORKING YET - // these functions seek in the Vorbis file to (approximately) 'sample_number'. - // after calling seek_frame(), the next call to get_frame_*() will include - // the specified sample. after calling stb_vorbis_seek(), the next call to - // stb_vorbis_get_samples_* will start with the specified sample. If you - // do not need to seek to EXACTLY the target sample when using get_samples_*, - // you can also use seek_frame(). - - extern void stb_vorbis_seek_start(stb_vorbis *f); - // this function is equivalent to stb_vorbis_seek(f,0), but it - // actually works - - extern unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f); - extern float stb_vorbis_stream_length_in_seconds(stb_vorbis *f); - // these functions return the total length of the vorbis stream - - extern int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output); - // decode the next frame and return the number of samples. the number of - // channels returned are stored in *channels (which can be NULL--it is always - // the same as the number of channels reported by get_info). *output will - // contain an array of float* buffers, one per channel. These outputs will - // be overwritten on the next call to stb_vorbis_get_frame_*. - // - // You generally should not intermix calls to stb_vorbis_get_frame_*() - // and stb_vorbis_get_samples_*(), since the latter calls the former. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts); - extern int stb_vorbis_get_frame_short (stb_vorbis *f, int num_c, short **buffer, int num_samples); -#endif - // decode the next frame and return the number of samples per channel. the - // data is coerced to the number of channels you request according to the - // channel coercion rules (see below). You must pass in the size of your - // buffer(s) so that stb_vorbis will not overwrite the end of the buffer. - // The maximum buffer size needed can be gotten from get_info(); however, - // the Vorbis I specification implies an absolute maximum of 4096 samples - // per channel. Note that for interleaved data, you pass in the number of - // shorts (the size of your array), but the return value is the number of - // samples per channel, not the total number of samples. - - // Channel coercion rules: - // Let M be the number of channels requested, and N the number of channels present, - // and Cn be the nth channel; let stereo L be the sum of all L and center channels, - // and stereo R be the sum of all R and center channels (channel assignment from the - // vorbis spec). - // M N output - // 1 k sum(Ck) for all k - // 2 * stereo L, stereo R - // k l k > l, the first l channels, then 0s - // k l k <= l, the first k channels - // Note that this is not _good_ surround etc. mixing at all! It's just so - // you get something useful. - - extern int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats); - extern int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples); - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. DOES NOT APPLY THE COERCION RULES. - // Returns the number of samples stored per channel; it may be less than requested - // at the end of the file. If there are no more samples in the file, returns 0. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts); - extern int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int num_samples); -#endif - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. Applies the coercion rules above - // to produce 'channels' channels. Returns the number of samples stored per channel; - // it may be less than requested at the end of the file. If there are no more - // samples in the file, returns 0. - -#endif - - //////// ERROR CODES - - enum STBVorbisError - { - VORBIS__no_error, - - VORBIS_need_more_data=1, // not a real error - - VORBIS_invalid_api_mixing, // can't mix API modes - VORBIS_outofmem, // not enough memory - VORBIS_feature_not_supported, // uses floor 0 - VORBIS_too_many_channels, // STB_VORBIS_MAX_CHANNELS is too small - VORBIS_file_open_failure, // fopen() failed - VORBIS_seek_without_length, // can't seek in unknown-length file - - VORBIS_unexpected_eof=10, // file is truncated? - VORBIS_seek_invalid, // seek past EOF - - // decoding errors (corrupt/invalid stream) -- you probably - // don't care about the exact details of these - - // vorbis errors: - VORBIS_invalid_setup=20, - VORBIS_invalid_stream, - - // ogg errors: - VORBIS_missing_capture_pattern=30, - VORBIS_invalid_stream_structure_version, - VORBIS_continued_packet_flag_invalid, - VORBIS_incorrect_stream_serial_number, - VORBIS_invalid_first_page, - VORBIS_bad_packet_type, - VORBIS_cant_find_last_page, - VORBIS_seek_failed, - }; - - -#ifdef __cplusplus -} -#endif - -#endif // STB_VORBIS_INCLUDE_STB_VORBIS_H -// -// HEADER ENDS HERE -// -////////////////////////////////////////////////////////////////////////////// diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/src/ofxMaxim.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/src/ofxMaxim.h deleted file mode 100755 index e902f14..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/ofxMaxim/src/ofxMaxim.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _OFMAXIM_H -#define _OFMAXIM_H - -#include "maximilian.h" -#include "maxiFFT.h" -#include "maxiGrains.h" -#include "maxiMFCC.h" -#include "maxiBark.h" - - -typedef maxiMix ofxMaxiMix; -typedef maxiOsc ofxMaxiOsc; -typedef maxiEnvelope ofxMaxiEnvelope; -typedef maxiDelayline ofxMaxiDelayline; -typedef maxiFilter ofxMaxiFilter; -typedef maxiSample ofxMaxiSample; -typedef maxiFFT ofxMaxiFFT; -typedef maxiIFFT ofxMaxiIFFT; -typedef maxiFFTOctaveAnalyzer ofxMaxiFFTOctaveAnalyzer; -typedef maxiSettings ofxMaxiSettings; -typedef maxiMFCC ofxMaxiMFCC; - - -//typedef maxiSignal vector; -// -//class maxiBase { -// virtual maxiSignal play() = {}; -//}; -// -//class ofMaxiSine : public maxiBase { -// maxiOsc osc; -// double freq; -// -// void update(double freq) { -// freq = freq; -// } -// void play() { -// osc.sine(freq); -// } -//} -// -// -//class maxiNoise : public maxiBase { -// maxiBase* update() { -// //do something? -// }; -// -// double play() { -// return rand() / (float)RAND_MAX; -// } -//}; -// -//class maxiAnotherUGen : public maxiBase { -// maxiBase* update(double param1, bool param2); -//}; -// -//class maxiYetAnotherUGen : public maxiBase { -// maxiBase* update(int something, float somethingElse); -//}; -// -//void maxiProcess(maxiSignal &signal, maxiBase *ugen) { -// double val = ugen->play(); -// for(int i=0; i < signal.size(); i++) { -// signal[i] = val; -// } -//} -// -//void maxiBlock(maxiSignal &signal, maxiBase *ugen) { -// for (int i=0; i < 64; i++) { -// maxiProcess(signal, ugen); -// } -//} -// -//typedef maxiUGens vector -// -//maxiNoise ugen1; -//maxiAnotherUGen ugen2; -//maxiUGens ugen1 = createUGens(maxiNoise, 2); -// -//maxiSignal sig(2); -//maxiProcess(sig, ugen1.update()); -//maxiProcess(sig, ugen2.update(8.2, false)); -// -//ugen.update(2,3)->play(); - - -#endif diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/openFrameworks-Info.plist deleted file mode 100644 index 8d64d2b..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/openFrameworks-Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - cc.openFrameworks.ofapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - CFBundleIconFile - ${ICON} - - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/main.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/main.cpp deleted file mode 100644 index eca7e09..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.cpp b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.cpp deleted file mode 100644 index 6c0ccf4..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.cpp +++ /dev/null @@ -1,398 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" -#include "maximilian.h"/* include the lib */ -#include "time.h" - - - -//------------------------------------------------------------- -testApp::~testApp() { - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - - sender.setup(HOST, PORT); - /* some standard setup stuff*/ - - - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetFrameRate(60); - - /* This is stuff you always need.*/ - - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; /* Buffer Size. you have to fill this buffer with sound*/ - lAudioOut = new float[initialBufferSize];/* outputs */ - rAudioOut = new float[initialBufferSize]; - lAudioIn = new float[initialBufferSize];/* inputs */ - rAudioIn = new float[initialBufferSize]; - - - /* This is a nice safe piece of code */ - memset(lAudioOut, 0, initialBufferSize * sizeof(float)); - memset(rAudioOut, 0, initialBufferSize * sizeof(float)); - - memset(lAudioIn, 0, initialBufferSize * sizeof(float)); - memset(rAudioIn, 0, initialBufferSize * sizeof(float)); - - /* Now you can put anything you would normally put in maximilian's 'setup' method in here. */ - - // samp.load(ofToDataPath("sinetest_stepping2.wav")); - // samp.load(ofToDataPath("whitenoise2.wav")); - // samp.load(ofToDataPath("additive22.wav")); - //samp.load(ofToDataPath("pinknoise2.wav")); - //samp.load(ofToDataPath("filtersweep2.wav")); - //samp.getLength(); - - - fftSize = 1024; - mfft.setup(fftSize, 512, 256); - ifft.setup(fftSize, 512, 256); - - - nAverages = 12; - oct.setup(sampleRate, fftSize/2, nAverages); - - mfccs = (double*) malloc(sizeof(double) * 13); - mfcc.setup(512, 42, 13, 20, 20000, sampleRate); - - ofxMaxiSettings::setup(sampleRate, 2, initialBufferSize); - ofSoundStreamSetup(2,2, this, sampleRate, initialBufferSize, 4);/* Call this last ! */ - - - //GUI STUFF - gui.setup(); // most of the time you don't need a name - - /* mfccToggle.setBackgroundColor(ofColor(191,72,250)); - fftToggle.setBackgroundColor(ofColor(191,72,250)); - chromagramToggle.setBackgroundColor(ofColor(191,72,250)); - peakFrequencyToggle.setBackgroundColor(ofColor(191,72,250)); - centroidToggle.setBackgroundColor(ofColor(191,72,250)); - rmsToggle.setBackgroundColor(ofColor(191,72,250)); */ - - - gui.add(fftToggle.setup("FFT bin magnitudes (pitch/timbre/volume) (512)", true)); - gui.add(mfccToggle.setup("MFCCs (timbre/vocal) (13)", true)); - gui.add(chromagramToggle.setup("Octave analyser (pitch) (12)", true)); - gui.add(peakFrequencyToggle.setup("Peak frequency (pitch) (1)", true)); - gui.add(centroidToggle.setup("Spectral centroid (timbre) (1)", true)); - gui.add(rmsToggle.setup("RMS (volume) (1)", true)); - - //gui.setSize(600, 500); - - bHide = true; - - myfont.loadFont("arial.ttf", 18); - - ofSetVerticalSync(true); - - -} - -//-------------------------------------------------------------- -void testApp::update(){ - - if (fftToggle) { - ofxOscMessage m; - m.setAddress("/fft"); - for (int i = 0; i < fftSize; i++) { - m.addFloatArg(mfft.magnitudes[i]); - - } - sender.sendMessage(m); - } - - if (mfccToggle) { - ofxOscMessage m; - m.setAddress("/mfccs"); - for (int i = 0; i < 13; i++) { - m.addFloatArg(mfccs[i]); - } - sender.sendMessage(m); - } - - if (chromagramToggle) { - ofxOscMessage m; - m.setAddress("/octaveBins"); - for (int i = 0; i < oct.nAverages; i++) { - m.addFloatArg(oct.averages[i]); - } - sender.sendMessage(m); - } - - if (peakFrequencyToggle) { - ofxOscMessage m; - m.setAddress("/peakFrequency"); - m.addFloatArg(peakFreq); - sender.sendMessage(m); - } - - if (centroidToggle) { - ofxOscMessage m; - m.setAddress("/centroid"); - m.addFloatArg(centroid); - sender.sendMessage(m); - } - if (rmsToggle) { - ofxOscMessage m; - m.setAddress("/rms"); - m.addFloatArg(RMS); - sender.sendMessage(m); - } - - - -} - - - -//-------------------------------------------------------------- -void testApp::draw(){ - - float horizWidth = 500.; - float horizOffset = 100; - float fftTop = 250; - float mfccTop = 350; - float chromagramTop = 450; - - ofSetColor(255, 0, 0,255); - - //draw fft output - float xinc = horizWidth / fftSize * 2.0; - for(int i=0; i < fftSize / 2; i++) { - //magnitudesDB took out - float height = mfft.magnitudes[i] * 100; - ofRect(horizOffset + (i*xinc),250 - height,2, height); - } - - // cout << "\nMFCCS: "; - ofSetColor(0, 255, 0,200); - xinc = horizWidth / 13; - for(int i=0; i < 13; i++) { - float height = mfccs[i] * 100.0; - ofRect(horizOffset + (i*xinc),mfccTop - height,40, height); - // cout << mfccs[i] << ","; - } - - - - - //octave analyser - ofSetColor(255, 0, 255,200); - xinc = horizWidth / oct.nAverages; - for(int i=0; i < oct.nAverages; i++) { - float height = oct.averages[i] / 20.0 * 100; - ofRect(horizOffset + (i*xinc),chromagramTop - height,2, height); - } - - ofSetColor(255, 255, 255,255); - - char peakString[255]; // an array of chars - sprintf(peakString, "Peak Frequency: %.2f", peakFreq); - myfont.drawString(peakString, horizOffset, chromagramTop + 50); - - char centroidString[255]; // an array of chars - sprintf(centroidString, "Spectral Centroid: %f", centroid); - myfont.drawString(centroidString, horizOffset, chromagramTop + 100); - - char rmsString[255]; // an array of chars - sprintf(rmsString, "RMS: %.2f", RMS); - myfont.drawString(rmsString, horizOffset, chromagramTop + 150); - - - /* - ofSetColor(255, 0, 255, 200); - //myfont.drawString("Pitch histogram", 50, 650); - xinc = horizWidth / 12.0; - int j = 0; - float pitchHist[12]; - for (int i = 0; i < oct.nAverages; i++) { - pitchHist[j] += oct.averages[i]; - j++; - j = j % 12; - } - for(int i=0; i < 12; i++) { - float height = pitchHist[i] /40. * 100; - ofRect(100 + (i*xinc),chromagramTop - height,50, height); - } - */ - - /* ofSetColor(255, 0, 255,200); - xinc = horizWidth /12; - for(int i=0; i < 12; i++) { - float height = chromagram[i] / 50.0 * 100; - ofRect(100 + (i*xinc),chromagramTop - height,2, height); - } */ - - // chromagram - - //Mel bands - // cout << "\nMel bands: "; - /* ofSetColor(255, 0, 255,100); - xinc = 900.0 / 42.0; - for(int i=0; i < 42; i++) { - // cout << mfcc.melBands[i] << ","; - float height = mfcc.melBands[i] * 5.0; - ofRect(100 + (i*xinc),400 - height,10, height); - } */ - // cout << endl; - - - // cout << "\n-------" << endl; - - // cout << callTime << endl; - - if( bHide ){ - gui.draw(); - } - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ - // static double tm; - - - - for (int i = 0; i < bufferSize; i++){ - // wave = osc.saw(maxiMap::linexp(mouseY + ofGetWindowPositionY(), 0, ofGetScreenHeight(), 200, 8000)); - wave = lAudioIn[i]; - //wave = samp.play(1.); - //get fft - if (mfft.process(wave)) { - // int bins = fftSize / 2.0; - //do some manipulation - // int hpCutoff = floor(((mouseX + ofGetWindowPositionX()) / (float) ofGetScreenWidth()) * fftSize / 2.0); - //highpass - // memset(mfft.magnitudes, 0, sizeof(float) * hpCutoff); - // memset(mfft.phases, 0, sizeof(float) * hpCutoff); - //lowpass - // memset(mfft.magnitudes + hpCutoff, 0, sizeof(float) * (bins - hpCutoff)); - // memset(mfft.phases + hpCutoff, 0, sizeof(float) * (bins - hpCutoff)); - mfft.magsToDB(); - // for(int z=0; z < 512; z++) cout << mfft.magnitudesDB[z] << ","; - // cout << "---------\n"; - oct.calculate(mfft.magnitudesDB); - - - /* for (int j = 0; j < 12; j++) { - chromagram[j] = 0; - } - int j = 0; - for (int i = 0; i < oct.nAverages; i++) { - chromagram[j] += oct.averages[i]; - j++; - j = j % 12; - } */ - - float sum = 0; - float maxFreq = 0; - int maxBin = 0; - - for (int i = 0; i < fftSize/2; i++) { - sum += mfft.magnitudes[i]; - if (mfft.magnitudes[i] > maxFreq) { - maxFreq=mfft.magnitudes[i]; - maxBin = i; - } - } - centroid = sum / (fftSize / 2); - peakFreq = (float)maxBin/fftSize * 44100; - - - mfcc.mfcc(mfft.magnitudes, mfccs); - //cout << mfft.spectralFlatness() << ", " << mfft.spectralCentroid() << endl; - } - //inverse fft - gettimeofday(&callTS,NULL); - // ifftVal = ifft.process(mfft.magnitudes, mfft.phases); - gettimeofday(&callEndTS,NULL); - callTime = (float)(callEndTS.tv_usec - callTS.tv_usec) / 1000000.0; - callTime += (float)(callEndTS.tv_sec - callTS.tv_sec); - //play result - mymix.stereo(wave, outputs, 0.5); - // float mix = ((mouseX + ofGetWindowPositionX()) / (float) ofGetScreenWidth()); - // mymix.stereo((wave * mix) + ((1.0-mix) * ifftVal), outputs, 0.5); - // lAudioOut[i] = output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ -//rAudioOut[i] = output[i*nChannels + 1] = outputs[1]; - lAudioOut[i] = 0; - rAudioOut[i] = 0; - - } - - - -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - - - /* You can just grab this input and stick it in a double, then use it above to create output*/ - - float sum = 0; - for (int i = 0; i < bufferSize; i++){ - - /* you can also grab the data out of the arrays*/ - - lAudioIn[i] = input[i*2]; - rAudioIn[i] = input[i*2+1]; - - sum += input[i*2] * input[i*2]; - - } - RMS = sqrt(sum); - -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - - - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - diff --git a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.h b/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.h deleted file mode 100644 index 689b3f3..0000000 --- a/ofxMaxim/examples/OSX/OF0.8.4MaximExtractorExample/src/testApp.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "ofxMaxim.h" -#include "ofxGui.h" -#include "ofxOsc.h" - -#include - -#include "maxiMFCC.h" -#define HOST "localhost" -#define PORT 12345 - -class testApp : public ofBaseApp{ - -public: - ~testApp();/* deconsructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - float * lAudioOut; /* outputs */ - float * rAudioOut; - - float * lAudioIn; /* inputs */ - float * rAudioIn; - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - //MAXIMILIAN STUFF: - double wave,sample,outputs[2], ifftVal; - maxiMix mymix; - maxiOsc osc; - - ofxMaxiFFTOctaveAnalyzer oct; - int nAverages; - float *ifftOutput; - int ifftSize; - - float peakFreq = 0; - float centroid = 0; - float RMS = 0; - - ofxMaxiIFFT ifft; - ofxMaxiFFT mfft; - int fftSize; - int bins, dataSize; - - float callTime; - timeval callTS, callEndTS; - - maxiMFCC mfcc; - double *mfccs; - - maxiSample samp; - - //GUI STUFF - bool bHide; - - ofxToggle mfccToggle; - ofxToggle fftToggle; - ofxToggle chromagramToggle; - ofxToggle peakFrequencyToggle; - ofxToggle centroidToggle; - ofxToggle rmsToggle; - - - - ofxPanel gui; - - ofTrueTypeFont myfont; - - ofxOscSender sender; - - -}; - -#endif diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.sln b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.sln deleted file mode 100644 index 5a9e6e6..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.sln +++ /dev/null @@ -1,28 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emptyExample", "emptyExample.vcproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" - ProjectSection(ProjectDependencies) = postProject - {5837595D-ACA9-485C-8E76-729040CE4B0B} = {5837595D-ACA9-485C-8E76-729040CE4B0B} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2008\openframeworksLib.vcproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj deleted file mode 100644 index 818dba2..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj.user b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj.user deleted file mode 100644 index 801522b..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/.vcproj.user +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/Project.xcconfig b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/Project.xcconfig deleted file mode 100644 index c10b9e5..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/Project.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav deleted file mode 100644 index 81666d1..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav deleted file mode 100644 index 490d9ea..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav deleted file mode 100644 index a9c93a4..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav deleted file mode 100644 index b23c5f0..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav deleted file mode 100644 index 19064f2..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav deleted file mode 100644 index 98860be..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/beat2.wav b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/beat2.wav deleted file mode 100644 index c71cee6..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.pbxproj deleted file mode 100644 index 6ad20c7..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,607 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 8DEA8F1A1548C682007B5228 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DEA8F191548C682007B5228 /* Accelerate.framework */; }; - 8DF1A08C1404702E00148E3B /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0801404702E00148E3B /* fft.cpp */; }; - 8DF1A08D1404702E00148E3B /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0821404702E00148E3B /* maxiFFT.cpp */; }; - 8DF1A08E1404702E00148E3B /* maxiGrains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0841404702E00148E3B /* maxiGrains.cpp */; }; - 8DF1A08F1404702E00148E3B /* maxiMFCC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0861404702E00148E3B /* maxiMFCC.cpp */; }; - 8DF1A0901404702E00148E3B /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0881404702E00148E3B /* maximilian.cpp */; }; - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 8DEA8F191548C682007B5228 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = ../../../../../../../../System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; - 8DF1A07E1404702E00148E3B /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 8DF1A0801404702E00148E3B /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 8DF1A0811404702E00148E3B /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 8DF1A0821404702E00148E3B /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 8DF1A0831404702E00148E3B /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 8DF1A0841404702E00148E3B /* maxiGrains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiGrains.cpp; sourceTree = ""; }; - 8DF1A0851404702E00148E3B /* maxiGrains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiGrains.h; sourceTree = ""; }; - 8DF1A0861404702E00148E3B /* maxiMFCC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiMFCC.cpp; sourceTree = ""; }; - 8DF1A0871404702E00148E3B /* maxiMFCC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiMFCC.h; sourceTree = ""; }; - 8DF1A0881404702E00148E3B /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 8DF1A0891404702E00148E3B /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 8DF1A08B1404702E00148E3B /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DEA8F1A1548C682007B5228 /* Accelerate.framework in Frameworks */, - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 8DF1A07D1404702E00148E3B /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 8DF1A07E1404702E00148E3B /* install.xml */, - 8DF1A07F1404702E00148E3B /* libs */, - 8DF1A08A1404702E00148E3B /* src */, - ); - name = ofxMaxim; - path = ../../../addons/ofxMaxim; - sourceTree = ""; - }; - 8DF1A07F1404702E00148E3B /* libs */ = { - isa = PBXGroup; - children = ( - 8DF1A0801404702E00148E3B /* fft.cpp */, - 8DF1A0811404702E00148E3B /* fft.h */, - 8DF1A0821404702E00148E3B /* maxiFFT.cpp */, - 8DF1A0831404702E00148E3B /* maxiFFT.h */, - 8DF1A0841404702E00148E3B /* maxiGrains.cpp */, - 8DF1A0851404702E00148E3B /* maxiGrains.h */, - 8DF1A0861404702E00148E3B /* maxiMFCC.cpp */, - 8DF1A0871404702E00148E3B /* maxiMFCC.h */, - 8DF1A0881404702E00148E3B /* maximilian.cpp */, - 8DF1A0891404702E00148E3B /* maximilian.h */, - ); - path = libs; - sourceTree = ""; - }; - 8DF1A08A1404702E00148E3B /* src */ = { - isa = PBXGroup; - children = ( - 8DF1A08B1404702E00148E3B /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - BB4B014C10F69532006C3DED /* addons */ = { - isa = PBXGroup; - children = ( - 8DF1A07D1404702E00148E3B /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - BBAB23C913894ECA00AA2426 /* system frameworks */ = { - isa = PBXGroup; - children = ( - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - ); - name = "system frameworks"; - sourceTree = ""; - }; - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23BE13894E4700AA2426 /* GLUT.framework */, - ); - name = "3rd party frameworks"; - sourceTree = ""; - }; - E4328144138ABC890047C5CB /* Products */ = { - isa = PBXGroup; - children = ( - E4328148138ABC890047C5CB /* openFrameworksDebug.a */, - ); - name = Products; - sourceTree = ""; - }; - E45BE5980E8CC70C009D7055 /* frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, - BBAB23C913894ECA00AA2426 /* system frameworks */, - ); - name = frameworks; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - 8DEA8F191548C682007B5228 /* Accelerate.framework */, - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4EEC9E9138DF44700A80321 /* openFrameworks */, - BB4B014C10F69532006C3DED /* addons */, - E45BE5980E8CC70C009D7055 /* frameworks */, - E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4EEC9E9138DF44700A80321 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* emptyExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, - ); - name = emptyExample; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4328144138ABC890047C5CB /* Products */; - ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* emptyExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworksDebug.a; - remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, - 8DF1A08C1404702E00148E3B /* fft.cpp in Sources */, - 8DF1A08D1404702E00148E3B /* maxiFFT.cpp in Sources */, - 8DF1A08E1404702E00148E3B /* maxiGrains.cpp in Sources */, - 8DF1A08F1404702E00148E3B /* maxiMFCC.cpp in Sources */, - 8DF1A0901404702E00148E3B /* maximilian.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", - ); - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - ); - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index da00dc2..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mickgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mickgrierson.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 29b5c4c..0000000 Binary files a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mickgrierson.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme deleted file mode 100644 index 26d3933..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 61b2ac7..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/emptyExample.xcodeproj/xcuserdata/mickgrierson.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - emptyExample.xcscheme - - orderHint - 0 - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/openFrameworks-Info.plist deleted file mode 100644 index e5db555..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/openFrameworks-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/main.cpp b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/main.cpp deleted file mode 100644 index 6a32c6a..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.cpp b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.cpp deleted file mode 100644 index 0daf76d..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.cpp +++ /dev/null @@ -1,213 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" -#include "maximilian.h"/* include the lib */ -#include "time.h" - - - -//------------------------------------------------------------- -testApp::~testApp() { - delete ts, ts2; -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - - //samples from http://freesound.org - samp.load(ofToDataPath("2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav")); - samp2.load(ofToDataPath("24620__anamorphosis__GMB_Kantilan_1.wav")); - samp3.load(ofToDataPath("26393__brfindla__Calango1berimbau.wav")); - samp4.load(ofToDataPath("68373__juskiddink__Cello_open_string_bowed.wav")); - samp5.load(ofToDataPath("71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav")); -// samp5.load(ofToDataPath("sine1sec.wav")); - - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetFrameRate(60); - - - /* This is stuff you always need.*/ - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; /* Buffer Size. you have to fill this buffer with sound*/ - lAudioOut = new float[initialBufferSize];/* outputs */ - rAudioOut = new float[initialBufferSize]; - lAudioIn = new float[initialBufferSize];/* inputs */ - rAudioIn = new float[initialBufferSize]; - - - /* This is a nice safe piece of code */ - memset(lAudioOut, 0, initialBufferSize * sizeof(float)); - memset(rAudioOut, 0, initialBufferSize * sizeof(float)); - - memset(lAudioIn, 0, initialBufferSize * sizeof(float)); - memset(rAudioIn, 0, initialBufferSize * sizeof(float)); - - - - ts = new maxiPitchStretch(&samp); - ts2 = new maxiPitchStretch(&samp2); - ts3 = new maxiPitchStretch(&samp3); - ts4 = new maxiPitchStretch(&samp4); - ts5 = new maxiPitchStretch(&samp5); - stretches.push_back(ts); - stretches.push_back(ts2); - stretches.push_back(ts3); - stretches.push_back(ts4); - stretches.push_back(ts5); - speed = 1; - rate = 2; - grainLength = 0.05; - current=0; - - fft.setup(1024, 512, 256); - oct.setup(44100, 1024, 10); - - int current = 0; - ofxMaxiSettings::setup(sampleRate, 2, initialBufferSize); - ofSoundStreamSetup(2,0, this, maxiSettings::sampleRate, initialBufferSize, 4);/* Call this last ! */ - - ofSetVerticalSync(true); - ofEnableAlphaBlending(); - ofEnableSmoothing(); -} - -//-------------------------------------------------------------- -void testApp::update(){ -} - -//-------------------------------------------------------------- -void testApp::draw(){ - ofSetColor(160,32,240, 150); - ofDrawBitmapString(":: ofxMaxim Granular Timestretching Example ::", 10,20); - ofDrawBitmapString("Move the mouse left to right to change playback speed and direction.", 10,40); - ofDrawBitmapString("Move the mouse up and down to change the grain length.", 10,60); - ofDrawBitmapString("Click to cycle through samples.", 10,80); - - stringstream s; - s << "Speed: " << speed; - ofDrawBitmapString(s.str(), 10,750); - s.str(""); - s << "Grain length: " << round(grainLength*1000.0) << " ms"; - ofDrawBitmapString(s.str(), 180,750); - - ofNoFill(); -// for(int i=0; i < oct.nAverages; i++) { -// ofSetColor(200 + ((int)(ofGetFrameNum() * 0.8) % 255), -// 100 + ((int)(ofGetFrameNum() * 1.4) % 255), -// ofGetFrameNum() % 255, -// oct.averages[i] / 20.0 * 255.0); -//// ofCircle(ofGetWidth() / 2, ofGetHeight()/2, i * 5); -// glPushMatrix(); -// glTranslatef(ofGetWidth()/2,ofGetHeight()/2, 0); -// glRotatef(0.01 * ofGetFrameNum() * speed * i, 1, 0.1, 0); -//// glutWireSphere(i * 5, 2 + (10 - (fabs(speed) * 10)), 2 + (fabs(speed) * 10)); -// glutWireSphere(i * 5, 10, 10); -// glPopMatrix(); -// } - - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ - for (int i = 0; i < bufferSize; i++){ -// wave = stretches[current]->play(speed, grainLength, 5, 0); - wave = stretches[current]->play(speed*2, rate, 0.1, 4, 0); -// wave = stretches[current]->play2(pos, 0.1, 4); - if (fft.process(wave)) { - oct.calculate(fft.magnitudes); - } - - //play result - mymix.stereo(wave, outputs, 0.5); - lAudioOut[i] = output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - rAudioOut[i] = output[i*nChannels + 1] = outputs[1]; - } -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - /* You can just grab this input and stick it in a double, then use it above to create output*/ - for (int i = 0; i < bufferSize; i++){ - /* you can also grab the data out of the arrays*/ - lAudioIn[i] = input[i*2]; - rAudioIn[i] = input[i*2+1]; - } -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - switch (key) { - case 'a': - case 'A': - current = 0; - break; - case 's': - case 'S': - current = 1; - break; - case 'd': - case 'D': - current = 2; - break; - case 'f': - case 'F': - current = 3; - break; - case 'g': - case 'G': - current = 4; - break; - } - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - speed = ((double ) x / ofGetWidth() * 4.0) - 2.0; - grainLength = ((double) y / ofGetHeight() * 0.1) + 0.001; - pos = ((double) x / ofGetWidth() * 2.0); - - rate = ((double ) y / ofGetHeight() * 4.0) - 2.0; - - -// cout << pos << endl; - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - if (++current > stretches.size()-1) current = 0; - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - diff --git a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.h b/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.h deleted file mode 100644 index cf5509e..0000000 --- a/ofxMaxim/examples/OSX/ofMaximExample007OSX_Granular/src/testApp.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "ofxMaxim.h" -#include "maxiGrains.h" -#include - -typedef hannWinFunctor grainPlayerWin; - -class testApp : public ofBaseApp{ - - public: - ~testApp();/* deconsructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - float * lAudioOut; /* outputs */ - float * rAudioOut; - - float * lAudioIn; /* inputs */ - float * rAudioIn; - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick your maximilian stuff below */ - - double wave,sample,outputs[2]; - maxiSample samp, samp2, samp3, samp4, samp5; - vector*> stretches; - maxiMix mymix; - maxiPitchStretch *ts, *ts2, *ts3, *ts4, *ts5; - double speed, grainLength, rate; - - ofxMaxiFFT fft; - ofxMaxiFFTOctaveAnalyzer oct; - int current; - double pos; - -}; - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Makefile b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Makefile deleted file mode 100755 index 7a7fe8b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# Attempt to load a config.make file. -# If none is found, project defaults in config.project.make will be used. -ifneq ($(wildcard config.make),) - include config.make -endif - -# make sure the the OF_ROOT location is defined -ifndef OF_ROOT - OF_ROOT=../../.. -endif - -# call the project makefile! -include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Project.xcconfig b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Project.xcconfig deleted file mode 100755 index c90f7b1..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/Project.xcconfig +++ /dev/null @@ -1,17 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - -//ICONS - NEW IN 0072 -ICON_NAME_DEBUG = icon-debug.icns -ICON_NAME_RELEASE = icon.icns -ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ - -//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: -//ICON_FILE_PATH = bin/data/ - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav deleted file mode 100755 index 81666d1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav deleted file mode 100755 index 490d9ea..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav deleted file mode 100755 index a9c93a4..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/26393__brfindla__Calango1berimbau.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav deleted file mode 100755 index b23c5f0..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav deleted file mode 100755 index 19064f2..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav deleted file mode 100755 index 98860be..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/beat2.wav b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/beat2.wav deleted file mode 100755 index c71cee6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT deleted file mode 100755 index babc6b1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h deleted file mode 100755 index a5116e2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h +++ /dev/null @@ -1,18 +0,0 @@ - -/* - * - * Written By Linas Vepstas November 1991 - */ - - -#define COPY_THREE_WORDS(A,B) { \ - struct three_words { int a, b, c, }; \ - *(struct three_words *) (A) = *(struct three_words *) (B); \ -} - -#define COPY_FOUR_WORDS(A,B) { \ - struct four_words { int a, b, c, d, }; \ - *(struct four_words *) (A) = *(struct four_words *) (B); \ -} - -/* ============================================================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h deleted file mode 100755 index 658699e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h +++ /dev/null @@ -1,96 +0,0 @@ - -/* - * extrude.h - * - * FUNCTION: - * prototypes for privately used subroutines for the tubing library - * - * HISTORY: - * Linas Vepstas 1991 - */ - -#include "port.h" /* for gleDouble */ - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ============================================================ */ -/* - * Provides choice of calling subroutine, vs. invoking macro. - * Basically, inlines the source, or not. - * Trades performance for executable size. - */ - -#define INLINE_INTERSECT -#ifdef INLINE_INTERSECT -#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } -#else -#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) -#endif /* INLINE_INTERSECT */ - -/* ============================================================ */ -/* The folowing defines give a kludgy way of accessing the qmesh primitive */ - -/* -#define bgntmesh _emu_qmesh_bgnqmesh -#define endtmesh _emu_qmesh_endqmesh -#define c3f _emu_qmesh_c3f -#define n3f _emu_qmesh_n3f -#define v3f _emu_qmesh_v3f -*/ - -/* ============================================================ */ - -extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3]); /* polyline */ - - -extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble zval, /* where to draw cap */ - int frontwards); /* front or back cap */ - -extern void draw_round_style_cap_callback (int iloop, - double cap[][3], - float face_color[3], - gleDouble cut_vector[3], - gleDouble bisect_vector[3], - double norms[][3], - int frontwards); - -extern void draw_angle_style_front_cap (int ncp, - gleDouble bi[3], - gleDouble point_array[][3]); - -extern void extrusion_raw_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_angle_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h deleted file mode 100755 index baf54a7..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef __glsmap_h__ -#define __glsmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) - -/* Try hard to avoid including to avoid name space pollution, - but Win32's needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK - /* XXX This is from Win32's */ -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif /* _WIN32 */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SMAP_CLEAR_SMAP_TEXTURE = 0x1, - SMAP_GENERATE_VIEW_MIPMAPS = 0x2, - SMAP_GENERATE_SMAP_MIPMAPS = 0x4, - SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ -} SphereMapFlags; - -/* Cube view enumerants. */ -enum { - SMAP_FRONT = 0, - SMAP_TOP = 1, - SMAP_BOTTOM = 2, - SMAP_LEFT = 3, - SMAP_RIGHT = 4, - SMAP_BACK = 5 -}; - -typedef struct _SphereMap SphereMap; - -extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); -extern void smapDestroySphereMap(SphereMap *smap); - -extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); - -extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); -extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); - -extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); -extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); - -extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); -extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); - -extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); -extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); -extern void smapSetUpVector(SphereMap *smap, GLfloat *up); -extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); -extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); -extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); -extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); -extern void smapGetUpVector(SphereMap *smap, GLfloat *up); -extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); -extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); - -extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); -extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); - -extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); -extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); -extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); -extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); - -extern void smapSetContextData(SphereMap *smap, void *context); -extern void smapGetContextData(SphereMap *smap, void **context); - -extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); -extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); -extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); -extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); - -extern void smapGenViewTex(SphereMap *smap, int view); -extern void smapGenViewTexs(SphereMap *smap); -extern void smapGenSphereMapFromViewTexs(SphereMap *smap); -extern void smapGenSphereMap(SphereMap *smap); -extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); - -extern int smapRvecToSt(float rvec[3], float st[2]); -extern void smapStToRvec(float *st, float *rvec); - -#ifdef __cplusplus -} - -#endif -#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h deleted file mode 100755 index 3620e7d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef __glsmapint_h__ -#define __glsmapint_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glsmap.h" - -enum { X = 0, Y = 1, Z = 2 }; - -#define INITFACE(mesh) \ - int steps = mesh->steps; \ - int sqsteps = mesh->steps * mesh->steps - -#define FACE(side,y,x) \ - mesh->face[(side)*sqsteps + (y)*steps + (x)] - -#define FACExy(side,i,j) \ - (&FACE(side,i,j).x) - -#define FACEst(side,i,j) \ - (&FACE(side,i,j).s) - -#define INITBACK(mesh) \ - int allrings = mesh->rings + mesh->edgeExtend; \ - int ringedspokes = allrings * mesh->steps - -#define BACK(edge,ring,spoke) \ - mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] - -#define BACKxy(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).x) - -#define BACKst(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).s) - -typedef struct _STXY { - GLfloat s, t; - GLfloat x, y; -} STXY; - -typedef struct _SphereMapMesh { - - int refcnt; - - int steps; - int rings; - int edgeExtend; - - STXY *face; - STXY *back; - -} SphereMapMesh; - -struct _SphereMap { - - /* Shared sphere map mesh vertex data. */ - SphereMapMesh *mesh; - - /* Texture object ids. */ - GLuint smapTexObj; - GLuint viewTexObjs[6]; - GLuint viewTexObj; - - /* Flags */ - SphereMapFlags flags; - - /* Texture dimensions must be a power of two. */ - int viewTexDim; /* view texture dimension */ - int smapTexDim; /* sphere map texture dimension */ - - /* Viewport origins for view and sphere map rendering. */ - int viewOrigin[2]; - int smapOrigin[2]; - - /* Viewing vectors. */ - GLfloat eye[3]; - GLfloat up[3]; - GLfloat obj[3]; - - /* Projection parameters. */ - GLfloat viewNear; - GLfloat viewFar; - - /* Rendering callbacks. */ - void (*positionLights)(int view, void *context); - void (*drawView)(int view, void *context); - - /* Application specified callback data. */ - void *context; - -}; - -/* Library internal routines. */ -extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); -extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); -extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); - -#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h deleted file mode 100755 index cbc6ebe..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h +++ /dev/null @@ -1,648 +0,0 @@ -#ifndef __glut_h__ -#define __glut_h__ - -/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ - -/* This program is freely distributable without licensing fees and is - provided without guarantee or warrantee expressed or implied. This - program is -not- in the public domain. */ -//#define GLUT_OF_007_HACK - -#if defined(_WIN32) - -/* GLUT 3.7 now tries to avoid including - to avoid name space pollution, but Win32's - needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# define GLUT_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif - /* XXX This is from Win32's */ -# ifndef CALLBACK -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define GLUT_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ -#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif - -#if defined(__APPLE__) || defined(MACOSX) -#include -#include -#include -#else -#include -#include -#endif - -/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ -#if !defined(_WIN32) -#define APIENTRY -#define GLUT_APIENTRY_DEFINED -#define CALLBACK -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLUT API revision history: - - GLUT_API_VERSION is updated to reflect incompatible GLUT - API changes (interface changes, semantic changes, deletions, - or additions). - - GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 - - GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, - extension. Supports new input devices like tablet, dial and button - box, and Spaceball. Easy to query OpenGL extensions. - - GLUT_API_VERSION=3 glutMenuStatus added. - - GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, - glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic - video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, - glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, - glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). - - GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) -**/ -#ifndef GLUT_API_VERSION /* allow this to be overriden */ -#define GLUT_API_VERSION 5 -#endif - -/** - GLUT implementation revision history: - - GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT - API revisions and implementation revisions (ie, bug fixes). - - GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of - GLUT Xlib-based implementation. 11/29/94 - - GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of - GLUT Xlib-based implementation providing GLUT version 2 - interfaces. - - GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 - - GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 - - GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 - - GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 - - GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner - and video resize. 1/3/97 - - GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. - - GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. - - GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. - - GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. - - GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. - - GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa -**/ -#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_XLIB_IMPLEMENTATION 15 -#endif - -/** - MacOS X GLUT implementation revision history: - - GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X - specific GLUT API revisions and implementation revisions - (ie, bug fixes). - - GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. - - GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. - -**/ -#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_MACOSX_IMPLEMENTATION 2 -#endif - -/* Display mode bit masks. */ -#define GLUT_RGB 0 -#define GLUT_RGBA GLUT_RGB -#define GLUT_INDEX 1 -#define GLUT_SINGLE 0 -#define GLUT_DOUBLE 2 -#define GLUT_ACCUM 4 -#define GLUT_ALPHA 8 -#define GLUT_DEPTH 16 -#define GLUT_STENCIL 32 -#if (GLUT_API_VERSION >= 2) -#define GLUT_MULTISAMPLE 128 -#define GLUT_STEREO 256 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_LUMINANCE 512 -#endif -#define GLUT_NO_RECOVERY 1024 - -/* Mouse buttons. */ -#define GLUT_LEFT_BUTTON 0 -#define GLUT_MIDDLE_BUTTON 1 -#define GLUT_RIGHT_BUTTON 2 - -/* Mouse button state. */ -#define GLUT_DOWN 0 -#define GLUT_UP 1 - -#if (GLUT_API_VERSION >= 2) -/* function keys */ -#define GLUT_KEY_F1 1 -#define GLUT_KEY_F2 2 -#define GLUT_KEY_F3 3 -#define GLUT_KEY_F4 4 -#define GLUT_KEY_F5 5 -#define GLUT_KEY_F6 6 -#define GLUT_KEY_F7 7 -#define GLUT_KEY_F8 8 -#define GLUT_KEY_F9 9 -#define GLUT_KEY_F10 10 -#define GLUT_KEY_F11 11 -#define GLUT_KEY_F12 12 -/* directional keys */ -#define GLUT_KEY_LEFT 100 -#define GLUT_KEY_UP 101 -#define GLUT_KEY_RIGHT 102 -#define GLUT_KEY_DOWN 103 -#define GLUT_KEY_PAGE_UP 104 -#define GLUT_KEY_PAGE_DOWN 105 -#define GLUT_KEY_HOME 106 -#define GLUT_KEY_END 107 -#define GLUT_KEY_INSERT 108 -#endif - -/* Entry/exit state. */ -#define GLUT_LEFT 0 -#define GLUT_ENTERED 1 - -/* Menu usage state. */ -#define GLUT_MENU_NOT_IN_USE 0 -#define GLUT_MENU_IN_USE 1 - -/* Visibility state. */ -#define GLUT_NOT_VISIBLE 0 -#define GLUT_VISIBLE 1 - -/* Window status state. */ -#define GLUT_HIDDEN 0 -#define GLUT_FULLY_RETAINED 1 -#define GLUT_PARTIALLY_RETAINED 2 -#define GLUT_FULLY_COVERED 3 - -/* Color index component selection values. */ -#define GLUT_RED 0 -#define GLUT_GREEN 1 -#define GLUT_BLUE 2 - -/* Layers for use. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -#if defined(_WIN32) -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN ((void*)0) -#define GLUT_STROKE_MONO_ROMAN ((void*)1) - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 ((void*)2) -#define GLUT_BITMAP_8_BY_13 ((void*)3) -#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) -#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 ((void*)6) -#define GLUT_BITMAP_HELVETICA_12 ((void*)7) -#define GLUT_BITMAP_HELVETICA_18 ((void*)8) -#endif -#else -/* Stroke font opaque addresses (use constants instead in source code). */ -extern void *glutStrokeRoman; -extern void *glutStrokeMonoRoman; - -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN (&glutStrokeRoman) -#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) - -/* Bitmap font opaque addresses (use constants instead in source code). */ -extern void *glutBitmap9By15; -extern void *glutBitmap8By13; -extern void *glutBitmapTimesRoman10; -extern void *glutBitmapTimesRoman24; -extern void *glutBitmapHelvetica10; -extern void *glutBitmapHelvetica12; -extern void *glutBitmapHelvetica18; - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) -#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) -#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) -#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) -#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) -#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) -#endif -#endif - -/* glutGet parameters. */ -#define GLUT_WINDOW_X 100 -#define GLUT_WINDOW_Y 101 -#define GLUT_WINDOW_WIDTH 102 -#define GLUT_WINDOW_HEIGHT 103 -#define GLUT_WINDOW_BUFFER_SIZE 104 -#define GLUT_WINDOW_STENCIL_SIZE 105 -#define GLUT_WINDOW_DEPTH_SIZE 106 -#define GLUT_WINDOW_RED_SIZE 107 -#define GLUT_WINDOW_GREEN_SIZE 108 -#define GLUT_WINDOW_BLUE_SIZE 109 -#define GLUT_WINDOW_ALPHA_SIZE 110 -#define GLUT_WINDOW_ACCUM_RED_SIZE 111 -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 -#define GLUT_WINDOW_DOUBLEBUFFER 115 -#define GLUT_WINDOW_RGBA 116 -#define GLUT_WINDOW_PARENT 117 -#define GLUT_WINDOW_NUM_CHILDREN 118 -#define GLUT_WINDOW_COLORMAP_SIZE 119 -#if (GLUT_API_VERSION >= 2) -#define GLUT_WINDOW_NUM_SAMPLES 120 -#define GLUT_WINDOW_STEREO 121 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_WINDOW_CURSOR 122 -#endif -#define GLUT_SCREEN_WIDTH 200 -#define GLUT_SCREEN_HEIGHT 201 -#define GLUT_SCREEN_WIDTH_MM 202 -#define GLUT_SCREEN_HEIGHT_MM 203 -#define GLUT_MENU_NUM_ITEMS 300 -#define GLUT_DISPLAY_MODE_POSSIBLE 400 -#define GLUT_INIT_WINDOW_X 500 -#define GLUT_INIT_WINDOW_Y 501 -#define GLUT_INIT_WINDOW_WIDTH 502 -#define GLUT_INIT_WINDOW_HEIGHT 503 -#define GLUT_INIT_DISPLAY_MODE 504 -#if (GLUT_API_VERSION >= 2) -#define GLUT_ELAPSED_TIME 700 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_WINDOW_FORMAT_ID 123 -#endif - -#if (GLUT_API_VERSION >= 2) -/* glutDeviceGet parameters. */ -#define GLUT_HAS_KEYBOARD 600 -#define GLUT_HAS_MOUSE 601 -#define GLUT_HAS_SPACEBALL 602 -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 -#define GLUT_HAS_TABLET 604 -#define GLUT_NUM_MOUSE_BUTTONS 605 -#define GLUT_NUM_SPACEBALL_BUTTONS 606 -#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 -#define GLUT_NUM_DIALS 608 -#define GLUT_NUM_TABLET_BUTTONS 609 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 -#define GLUT_DEVICE_KEY_REPEAT 611 -#define GLUT_HAS_JOYSTICK 612 -#define GLUT_OWNS_JOYSTICK 613 -#define GLUT_JOYSTICK_BUTTONS 614 -#define GLUT_JOYSTICK_AXES 615 -#define GLUT_JOYSTICK_POLL_RATE 616 -#endif - -#if (GLUT_API_VERSION >= 3) -/* glutLayerGet parameters. */ -#define GLUT_OVERLAY_POSSIBLE 800 -#define GLUT_LAYER_IN_USE 801 -#define GLUT_HAS_OVERLAY 802 -#define GLUT_TRANSPARENT_INDEX 803 -#define GLUT_NORMAL_DAMAGED 804 -#define GLUT_OVERLAY_DAMAGED 805 - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* glutVideoResizeGet parameters. */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 900 -#define GLUT_VIDEO_RESIZE_IN_USE 901 -#define GLUT_VIDEO_RESIZE_X_DELTA 902 -#define GLUT_VIDEO_RESIZE_Y_DELTA 903 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 -#define GLUT_VIDEO_RESIZE_X 906 -#define GLUT_VIDEO_RESIZE_Y 907 -#define GLUT_VIDEO_RESIZE_WIDTH 908 -#define GLUT_VIDEO_RESIZE_HEIGHT 909 -#endif - -/* glutUseLayer parameters. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -/* glutGetModifiers return mask. */ -#define GLUT_ACTIVE_SHIFT 1 -#define GLUT_ACTIVE_CTRL 2 -#define GLUT_ACTIVE_ALT 4 - -/* glutSetCursor parameters. */ -/* Basic arrows. */ -#define GLUT_CURSOR_RIGHT_ARROW 0 -#define GLUT_CURSOR_LEFT_ARROW 1 -/* Symbolic cursor shapes. */ -#define GLUT_CURSOR_INFO 2 -#define GLUT_CURSOR_DESTROY 3 -#define GLUT_CURSOR_HELP 4 -#define GLUT_CURSOR_CYCLE 5 -#define GLUT_CURSOR_SPRAY 6 -#define GLUT_CURSOR_WAIT 7 -#define GLUT_CURSOR_TEXT 8 -#define GLUT_CURSOR_CROSSHAIR 9 -/* Directional cursors. */ -#define GLUT_CURSOR_UP_DOWN 10 -#define GLUT_CURSOR_LEFT_RIGHT 11 -/* Sizing cursors. */ -#define GLUT_CURSOR_TOP_SIDE 12 -#define GLUT_CURSOR_BOTTOM_SIDE 13 -#define GLUT_CURSOR_LEFT_SIDE 14 -#define GLUT_CURSOR_RIGHT_SIDE 15 -#define GLUT_CURSOR_TOP_LEFT_CORNER 16 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 -/* Inherit from parent window. */ -#define GLUT_CURSOR_INHERIT 100 -/* Blank cursor. */ -#define GLUT_CURSOR_NONE 101 -/* Fullscreen crosshair (if available). */ -#define GLUT_CURSOR_FULL_CROSSHAIR 102 -#endif - -/* GLUT initialization sub-API. */ -extern void APIENTRY glutInit(int *argcp, char **argv); -extern void APIENTRY glutInitDisplayMode(unsigned int mode); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutInitDisplayString(const char *string); -#endif -extern void APIENTRY glutInitWindowPosition(int x, int y); -extern void APIENTRY glutInitWindowSize(int width, int height); -extern void APIENTRY glutMainLoop(void); - -/* GLUT window sub-API. */ -extern int APIENTRY glutCreateWindow(const char *title); -extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); -extern void APIENTRY glutDestroyWindow(int win); -extern void APIENTRY glutPostRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowRedisplay(int win); -#endif -extern void APIENTRY glutSwapBuffers(void); -extern int APIENTRY glutGetWindow(void); -extern void APIENTRY glutSetWindow(int win); -extern void APIENTRY glutSetWindowTitle(const char *title); -extern void APIENTRY glutSetIconTitle(const char *title); -extern void APIENTRY glutPositionWindow(int x, int y); -extern void APIENTRY glutReshapeWindow(int width, int height); -extern void APIENTRY glutPopWindow(void); -extern void APIENTRY glutPushWindow(void); -extern void APIENTRY glutIconifyWindow(void); -extern void APIENTRY glutShowWindow(void); -extern void APIENTRY glutHideWindow(void); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutFullScreen(void); -extern void APIENTRY glutSetCursor(int cursor); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWarpPointer(int x, int y); -#if (GLUT_MACOSX_IMPLEMENTATION >= 1) -/* surface texturing API Mac OS X specific -* Note: -* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object -*/ -#ifdef MAC_OS_X_VERSION_10_5 -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -#else -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); -#endif -#endif -#if (GLUT_MACOSX_IMPLEMENTATION >= 2) -/* Mac OS X specific API */ -extern void APIENTRY glutWMCloseFunc(void (*func)(void)); -extern void APIENTRY glutCheckLoop(void); -#endif -#endif - -/* GLUT overlay sub-API. */ -extern void APIENTRY glutEstablishOverlay(void); -extern void APIENTRY glutRemoveOverlay(void); -extern void APIENTRY glutUseLayer(GLenum layer); -extern void APIENTRY glutPostOverlayRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowOverlayRedisplay(int win); -#endif -extern void APIENTRY glutShowOverlay(void); -extern void APIENTRY glutHideOverlay(void); -#endif - -/* GLUT menu sub-API. */ -extern int APIENTRY glutCreateMenu(void (*)(int)); -extern void APIENTRY glutDestroyMenu(int menu); -extern int APIENTRY glutGetMenu(void); -extern void APIENTRY glutSetMenu(int menu); -extern void APIENTRY glutAddMenuEntry(const char *label, int value); -extern void APIENTRY glutAddSubMenu(const char *label, int submenu); -extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); -extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); -extern void APIENTRY glutRemoveMenuItem(int item); -extern void APIENTRY glutAttachMenu(int button); -extern void APIENTRY glutDetachMenu(int button); - -/* GLUT window callback sub-API. */ -extern void APIENTRY glutDisplayFunc(void (*func)(void)); -extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); -extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); -extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutEntryFunc(void (*func)(int state)); -extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); -extern void APIENTRY glutIdleFunc(void (*func)(void)); -extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); -extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); -#if (GLUT_API_VERSION >= 2) -extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); -extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); -extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); -extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); -extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); -//#ifdef GLUT_OF_007_HACK -extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); -//#endif -#endif -#endif -#endif - -/* GLUT color index sub-API. */ -extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); -extern GLfloat APIENTRY glutGetColor(int ndx, int component); -extern void APIENTRY glutCopyColormap(int win); - -/* GLUT state retrieval sub-API. */ -extern int APIENTRY glutGet(GLenum type); -extern int APIENTRY glutDeviceGet(GLenum type); -#if (GLUT_API_VERSION >= 2) -/* GLUT extension support sub-API */ -extern int APIENTRY glutExtensionSupported(const char *name); -#endif -#if (GLUT_API_VERSION >= 3) -extern int APIENTRY glutGetModifiers(void); -extern int APIENTRY glutLayerGet(GLenum type); -#endif -#if (GLUT_API_VERSION >= 5) -extern void * APIENTRY glutGetProcAddress(const char *procName); -#endif - -/* GLUT font sub-API */ -extern void APIENTRY glutBitmapCharacter(void *font, int character); -extern int APIENTRY glutBitmapWidth(void *font, int character); -extern void APIENTRY glutStrokeCharacter(void *font, int character); -extern int APIENTRY glutStrokeWidth(void *font, int character); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); -extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); -#endif - -/* GLUT pre-built models sub-API */ -extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutWireCube(GLdouble size); -extern void APIENTRY glutSolidCube(GLdouble size); -extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutWireDodecahedron(void); -extern void APIENTRY glutSolidDodecahedron(void); -extern void APIENTRY glutWireTeapot(GLdouble size); -extern void APIENTRY glutSolidTeapot(GLdouble size); -extern void APIENTRY glutWireOctahedron(void); -extern void APIENTRY glutSolidOctahedron(void); -extern void APIENTRY glutWireTetrahedron(void); -extern void APIENTRY glutSolidTetrahedron(void); -extern void APIENTRY glutWireIcosahedron(void); -extern void APIENTRY glutSolidIcosahedron(void); - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* GLUT video resize sub-API. */ -extern int APIENTRY glutVideoResizeGet(GLenum param); -extern void APIENTRY glutSetupVideoResizing(void); -extern void APIENTRY glutStopVideoResizing(void); -extern void APIENTRY glutVideoResize(int x, int y, int width, int height); -extern void APIENTRY glutVideoPan(int x, int y, int width, int height); - -/* GLUT debugging sub-API. */ -extern void APIENTRY glutReportErrors(void); -#endif - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -/* GLUT device control sub-API. */ -/* glutSetKeyRepeat modes. */ -#define GLUT_KEY_REPEAT_OFF 0 -#define GLUT_KEY_REPEAT_ON 1 -#define GLUT_KEY_REPEAT_DEFAULT 2 - -/* Joystick button masks. */ -#define GLUT_JOYSTICK_BUTTON_A 1 -#define GLUT_JOYSTICK_BUTTON_B 2 -#define GLUT_JOYSTICK_BUTTON_C 4 -#define GLUT_JOYSTICK_BUTTON_D 8 - -extern void APIENTRY glutIgnoreKeyRepeat(int ignore); -extern void APIENTRY glutSetKeyRepeat(int repeatMode); -extern void APIENTRY glutForceJoystickFunc(void); - -/* GLUT game mode sub-API. */ -/* glutGameModeGet. */ -#define GLUT_GAME_MODE_ACTIVE 0 -#define GLUT_GAME_MODE_POSSIBLE 1 -#define GLUT_GAME_MODE_WIDTH 2 -#define GLUT_GAME_MODE_HEIGHT 3 -#define GLUT_GAME_MODE_PIXEL_DEPTH 4 -#define GLUT_GAME_MODE_REFRESH_RATE 5 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 - -extern void APIENTRY glutGameModeString(const char *string); -extern int APIENTRY glutEnterGameMode(void); -extern void APIENTRY glutLeaveGameMode(void); -extern int APIENTRY glutGameModeGet(GLenum mode); -#endif - -#ifdef __cplusplus -} - -#endif - -#ifdef GLUT_APIENTRY_DEFINED -# undef GLUT_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef GLUT_WINGDIAPI_DEFINED -# undef GLUT_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - -#endif /* __glut_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h deleted file mode 100755 index e29a016..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __glutbitmap_h__ -#define __glutbitmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glut.h" - -typedef struct { - const GLsizei width; - const GLsizei height; - const GLfloat xorig; - const GLfloat yorig; - const GLfloat advance; - const GLubyte *bitmap; -} BitmapCharRec, *BitmapCharPtr; - -typedef struct { - const char *name; - const int num_chars; - const int first; - const BitmapCharRec * const *ch; -} BitmapFontRec, *BitmapFontPtr; - -typedef void *GLUTbitmapFont; - -#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h deleted file mode 100755 index f8a170b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef __glutf90_h__ -#define __glutf90_h__ - -/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -/* This header provides the binding interface for William Mitchell's - f90gl Fortran 90 GLUT binding. Other GLUT language bindings - can and should use this interace. */ - -/* I appreciate the guidance from William Mitchell - (mitchell@cam.nist.gov) in developing this friend interface - for use by the f90gl package. See ../../README.fortran */ - -#include - -#ifndef GLUTCALLBACK - #define GLUTCALLBACK -#endif -#ifndef APIENTRY - #define APIENTRY -#endif - -/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ -/* NOTE These values are part of a binary interface for the f90gl Fortran - 90 binding and so must NOT changes (additions are allowed). */ - -/* GLUTwindow callbacks. */ -#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ -#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ -#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ -#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ -#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ -#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ -#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ -#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ -#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ -#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ -#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ -#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ -#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ -#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ -#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ -#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ -#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ -#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ -#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ -#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ -#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ -/* Non-GLUTwindow callbacks. */ -#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ -#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ -#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ - -/* GLUT Fortran callback function types. */ -typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); -typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); -typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); -/* NOTE the pressed key is int, not unsigned char for Fortran! */ -typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); -typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); -typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); -typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); - -typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); -typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); -typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ -typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTidleFCB) (void); - -/* Functions that set and return Fortran callback functions. */ -extern void* APIENTRY __glutGetFCB(int which); -extern void APIENTRY __glutSetFCB(int which, void *func); - -#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h deleted file mode 100755 index cbc9e15..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __glutstroke_h__ -#define __glutstroke_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ -#endif - -typedef struct { - float x; - float y; -} CoordRec, *CoordPtr; - -typedef struct { - int num_coords; - const CoordRec *coord; -} StrokeRec, *StrokePtr; - -typedef struct { - int num_strokes; - const StrokeRec *stroke; - float center; - float right; -} StrokeCharRec, *StrokeCharPtr; - -typedef struct { - const char *name; - int num_chars; - const StrokeCharRec *ch; - float top; - float bottom; -} StrokeFontRec, *StrokeFontPtr; - -typedef void *GLUTstrokeFont; - -#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h deleted file mode 100755 index f7ffcf3..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h +++ /dev/null @@ -1,89 +0,0 @@ - -/* - * gutil.h - * - * FUNCTION: - * Provide utilities that allow rotation to occur - * around any axis. - * - * HISTORY: - * created by Linas Vepstas 1990 - * added single & double precision, June 1991, Linas Vepstas - */ - -#ifndef __GUTIL_H__ -#define __GUTIL_H__ - -#ifdef __GUTIL_DOUBLE -#define gutDouble double -#else -#define gutDouble float -#endif - - -#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (); -extern void rot_about_axis_f (); -extern void rot_omega_f (); -extern void urot_axis_f (); -extern void urot_about_axis_f (); -extern void urot_omega_f (); - -/* double-precision versions */ -extern void rot_axis_d (); -extern void rot_about_axis_d (); -extern void rot_omega_d (); -extern void urot_axis_d (); -extern void urot_about_axis_d (); -extern void urot_omega_d (); - -/* viewpoint functions */ -extern void uview_direction_d (); -extern void uview_direction_f (); -extern void uviewpoint_d (); -extern void uviewpoint_f (); - -#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (float omega, float axis[3]); -extern void rot_about_axis_f (float angle, float axis[3]); -extern void rot_omega_f (float axis[3]); -extern void urot_axis_f (float m[4][4], float omega, float axis[3]); -extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); -extern void urot_omega_f (float m[4][4], float axis[3]); - -/* double-precision versions */ -extern void rot_axis_d (double omega, double axis[3]); -extern void rot_about_axis_d (double angle, double axis[3]); -extern void rot_omega_d (double axis[3]); -extern void urot_axis_d (double m[4][4], double omega, double axis[3]); -extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); -extern void urot_omega_d (double m[4][4], double axis[3]); - -/* viewpoint functions */ -extern void uview_direction_d (double m[4][4], /* returned */ - double v21[3], /* input */ - double up[3]); /* input */ - -extern void uview_direction_f (float m[4][4], /* returned */ - float v21[3], /* input */ - float up[3]); /* input */ - -extern void uviewpoint_d (double m[4][4], /* returned */ - double v1[3], /* input */ - double v2[3], /* input */ - double up[3]); /* input */ - -extern void uviewpoint_f (float m[4][4], /* returned */ - float v1[3], /* input */ - float v2[3], /* input */ - float up[3]); /* input */ - -#endif /* _NO_PROTO */ - -#endif /* _GUTIL_H__ */ - -/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h deleted file mode 100755 index f5ff7a5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * FUNCTION: - * This file contains a number of utilities useful to 3D graphics in - * general, and to the generation of tubing and extrusions in particular - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Updated to correctly handle degenerate cases, Linas, February 1993 - */ - -#include -#include "port.h" -#include "vvector.h" - -#define BACKWARDS_INTERSECT (2) - -/* ========================================================== */ -/* - * the Degenerate_Tolerance token represents the greatest amount by - * which different scales in a graphics environment can differ before - * they should be considered "degenerate". That is, when one vector is - * a million times longer than another, changces are that the second will - * be less than a pixel int, and therefore was probably meant to be - * degenerate (by the CAD package, etc.) But what should this tolerance - * be? At least 1 in onethousand (since screen sizes are 1K pixels), but - * les than 1 in 4 million (since this is the limit of single-precision - * floating point accuracy). Of course, if double precision were used, - * then the tolerance could be increased. - * - * Potentially, this naive assumption could cause problems if the CAD - * package attempts to zoom in on small details, and turns out, certain - * points should not hvae been degenerate. The problem presented here - * is that the tolerance could run out before single-precision ran - * out, and so the CAD packages would perceive this as a "bug". - * One alternative is to fiddle around & try to tighten the tolerance. - * However, the right alternative is to code the graphics pipeline in - * double-precision (and tighten the tolerance). - * - * By the way, note that Degernate Tolerance is a "dimensionless" - * quantitiy -- it has no units -- it does not measure feet, inches, - * millimeters or pixels. It is used only in the computations of ratios - * and relative lengths. - */ - -/* - * Right now, the tolerance is set to 2 parts in a million, which - * corresponds to a 19-bit distinction of mantissas. Note that - * single-precsion numbers have 24 bit mantissas. - */ - -#define DEGENERATE_TOLERANCE (0.000002) - -/* ========================================================== */ -/* - * The macro and subroutine INTERSECT are designed to compute the - * intersection of a line (defined by the points v1 and v2) and a plane - * (defined as plane which is normal to the vector n, and contains the - * point p). Both return the point sect, which is the point of - * interesection. - * - * This MACRO attemps to be fairly robust by checking for a divide by - * zero. - */ - -/* ========================================================== */ -/* - * HACK ALERT - * The intersection parameter t has the nice property that if t>1, - * then the intersection is "in front of" p1, and if t<0, then the - * intersection is "behind" p2. Unfortunately, as the intersecting plane - * and the line become parallel, t wraps through infinity -- i.e. t can - * become so large that t becomes "greater than infinity" and comes back - * as a negative number (i.e. winding number hopped by one unit). We - * have no way of detecting this situation without adding gazzillions - * of lines of code of topological algebra to detect the winding number; - * and this would be incredibly difficult, and ruin performance. - * - * Thus, we've installed a cheap hack for use by the "cut style" drawing - * routines. If t proves to be a large negative number (more negative - * than -5), then we assume that t was positive and wound through - * infinity. This makes most cuts look good, without introducing bogus - * cuts at infinity. - */ -/* ========================================================== */ - -#define INTERSECT(sect,p,n,v1,v2) \ -{ \ - gleDouble deno, numer, t, omt; \ - \ - deno = (v1[0] - v2[0]) * n[0]; \ - deno += (v1[1] - v2[1]) * n[1]; \ - deno += (v1[2] - v2[2]) * n[2]; \ - \ - if (deno == 0.0) { \ - VEC_COPY (n, v1); \ - /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ - } else { \ - \ - numer = (p[0] - v2[0]) * n[0]; \ - numer += (p[1] - v2[1]) * n[1]; \ - numer += (p[2] - v2[2]) * n[2]; \ - \ - t = numer / deno; \ - omt = 1.0 - t; \ - \ - sect[0] = t * v1[0] + omt * v2[0]; \ - sect[1] = t * v1[1] + omt * v2[1]; \ - sect[2] = t * v1[2] + omt * v2[2]; \ - } \ -} - -/* ========================================================== */ -/* - * The macro and subroutine BISECTING_PLANE compute a normal vector that - * describes the bisecting plane between three points (v1, v2 and v3). - * This bisecting plane has the following properties: - * 1) it contains the point v2 - * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it - * makes with v32 == v3 - v2 - * 3) it is perpendicular to the plane defined by v1, v2, v3. - * - * Having input v1, v2, and v3, it returns a unit vector n. - * - * In some cases, the user may specify degenerate points, and still - * expect "reasonable" or "obvious" behaviour. The "expected" - * behaviour for these degenerate cases is: - * - * 1) if v1 == v2 == v3, then return n=0 - * 2) if v1 == v2, then return v32 (normalized). - * 3) if v2 == v3, then return v21 (normalized). - * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). - * - * Mathematically, these special cases "make sense" -- we just have to - * code around potential divide-by-zero's in the code below. - */ - -/* ========================================================== */ - -#define BISECTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as bisector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ - (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ -/* - * The block of code below is ifdef'd out, and is here for reference - * purposes only. It performs the "mathematically right thing" for - * computing a bisecting plane, but is, unfortunately, subject ot noise - * in the presence of near degenerate points. Since computer graphics, - * due to sloppy coding, laziness, or correctness, is filled with - * degenerate points, we can't really use this version. The code above - * is far more appropriate for graphics. - */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define BISECTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 == 0.0) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - } \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - if (len32 == 0.0) { \ - /* return a normalized copy of v21 as bisector */ \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot == 1.0) || (vdot == -1.0)) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} -#endif - -/* ========================================================== */ -/* - * This macro computes the plane perpendicular to the the plane - * defined by three points, and whose normal vector is givven as the - * difference between the two vectors ... - * - * (See way below for the "math" model if you want to understand this. - * The comments about relative errors above apply here.) - */ - -#define CUTTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double lendiff; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as cut-vector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as cut vector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_LENGTH (lendiff, n); \ - \ - /* if the perp vector is very small, then the two \ - * vectors are darn near collinear, and the cut \ - * vector is probably poorly defined. */ \ - if (lendiff < DEGENERATE_TOLERANCE) { \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - lendiff = 1.0 / lendiff; \ - VEC_SCALE (n, lendiff, n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define CUTTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_NORMALIZE (v21); \ - VEC_NORMALIZE (v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_NORMALIZE (n); \ -} -#endif - - -/* ============================================================ */ -/* This macro is used in several places to cycle through a series of - * points to find the next non-degenerate point in a series */ - -#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ -{ \ - gleDouble slen; \ - gleDouble summa[3]; \ - \ - do { \ - /* get distance to next point */ \ - VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (len, diff); \ - VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (slen, summa); \ - slen *= DEGENERATE_TOLERANCE; \ - inext ++; \ - } while ((len <= slen) && (inext < npoints-1)); \ -} - -/* ========================================================== */ - -extern int bisecting_plane (gleDouble n[3], /* returned */ - gleDouble v1[3], /* input */ - gleDouble v2[3], /* input */ - gleDouble v3[3]); /* input */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h deleted file mode 100755 index 2827bbf..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * port.h - * - * FUNCTION: - * This file contains defines for porting the tubing toolkit from GL to - * OpenGL to some callback scheme. - * - * HISTORY: - * Created by Linas Vepstas -- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - */ - -#ifndef __GLE_PORT_H__ -#define __GLE_PORT_H__ - - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ====================================================== */ -/* Some compilers can't handle multiply-subscripted array's */ - -#ifdef FUNKY_C -typedef gleDouble gleVector; -#define AVAL(arr,n,i,j) arr(6*n+3*i+j) -#define VVAL(arr,n,i) arr(3*n+i) - -#else /* FUNKY_C */ -typedef double gleVector[3]; -typedef double glePoint[2]; -#define AVAL(arr,n,i,j) arr[n][i][j] -#define VVAL(arr,n,i) arr[n][i]; - -#endif /* FUNKY_C */ - -/* ====================================================== */ -/* These are used to convey info about topography to the - * texture mapping routines */ - -#define FRONT 1 -#define BACK 2 -#define FRONT_CAP 3 -#define BACK_CAP 4 -#define FILLET 5 - -/* ====================================================== */ - -#define __GLE_DOUBLE - -/* ====================================================== */ - -#ifdef __GLE_DOUBLE -#ifndef gleDouble - #define gleDouble double -#endif -#define urot_axis(a,b,c) urot_axis_d(a,b,c) -#define uview_direction(a,b,c) uview_direction_d(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_D(m) -#define LOADMATRIX(m) LOADMATRIX_D(m) -#define V3F(x,j,id) V3F_D(x,j,id) -#define N3F(x) N3F_D(x) -#define T2F(x,y) T2F_D(x,y) -#else -#define gleDouble float -#define urot_axis(a,b,c) urot_axis_f(a,b,c) -#define uview_direction(a,b,c) uview_direction_f(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_F(m) -#define LOADMATRIX(m) LOADMATRIX_F(m) -#define V3F(x,j,id) V3F_F(x,j,id) -#define N3F(x) N3F_F(x) -#define T2F(x,y) T2F_F(x,y) -#endif - -/* ====================================================== */ - -#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) -#undef GL_32 -#undef OPENGL_10 - -#define BGNTMESH(i,len) printf ("bgntmesh() \n"); -#define ENDTMESH() printf ("endtmesh() \n"); -#define BGNPOLYGON() printf ("bgnpolygon() \n"); -#define ENDPOLYGON() printf ("endpolygon() \n"); -#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); - -#define POPMATRIX() printf ("popmatrix () \n"); -#define PUSHMATRIX() printf ("pushmatrix() \n"); -#define MULTMATRIX_F(x) MULTMATRIX_D(x) -#define LOADMATRIX_F(x) LOADMATRIX_D(x) - - -#define LOADMATRIX_D(x) { \ - int i, j; \ - printf ("loadmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - printf ("multmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define __IS_LIGHTING_ON (1) - -#endif - -/* ====================================================== */ - -#ifdef GL_32 - -#include - -#define BGNTMESH(i,len) bgntmesh() -#define ENDTMESH() endtmesh() -#define BGNPOLYGON() bgnpolygon() -#define ENDPOLYGON() endpolygon() -#define V3F_F(x,j,id) v3f(x) -#define V3F_D(x,j,id) v3d(x) -#define N3F_F(x) n3f(x) -#define T2F_F(x,y) -#define T2F_D(x,y) -#define C3F(x) c3f(x) - -#define POPMATRIX() popmatrix () -#define PUSHMATRIX() pushmatrix() -#define MULTMATRIX_F(x) multmatrix (x) -#define LOADMATRIX_F(x) loadmatrix (x) - -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = (float) x[0]; \ - nnn[1] = (float) x[1]; \ - nnn[2] = (float) x[2]; \ - n3f (nnn); \ -} - -#define LOADMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - loadmatrix(mmm); \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - multmatrix(mmm); \ -} - -/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ -#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) - -#endif /* GL_32 */ - -/* ====================================================== */ -#ifdef OPENGL_10 - -#if defined(_WIN32) -#include -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#endif -#include -#include - -/* -#define N3F_F(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -*/ - -#define C3F(x) glColor3fv(x) -#define T2F_F(x,y) glTexCoord2f(x,y) -#define T2F_D(x,y) glTexCoord2d(x,y) - -#define POPMATRIX() glPopMatrix() -#define PUSHMATRIX() glPushMatrix() - -#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) -#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) - -#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) -#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) - -#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) - -/* ====================================================== */ -#ifdef AUTO_TEXTURE - -#define BGNTMESH(i,len) { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ - glBegin (GL_TRIANGLE_STRIP); \ -} - -#define BGNPOLYGON() { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ - glBegin (GL_POLYGON); \ -} - -#define N3F_F(x) { \ - if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ - glNormal3fv(x); \ -} - -#define N3F_D(x) { \ - if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ - glNormal3dv(x); \ -} - -#define V3F_F(x,j,id) { \ - if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ - glVertex3fv(x); \ -} - -#define V3F_D(x,j,id) { \ - if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ - glVertex3dv(x); \ -} - -#define ENDTMESH() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -#define ENDPOLYGON() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -/* ====================================================== */ -#else /* AUTO_TEXTURE */ - -#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); -#define BGNPOLYGON() glBegin (GL_POLYGON); - -#define N3F_F(x) glNormal3fv(x) -#define N3F_D(x) glNormal3dv(x) -#define V3F_F(x,j,id) glVertex3fv(x); -#define V3F_D(x,j,id) glVertex3dv(x); - -#define ENDTMESH() glEnd () -#define ENDPOLYGON() glEnd() - -#endif /* AUTO_TEXTURE */ - -#endif /* OPENGL_10 */ - -/* ====================================================== */ - - -#endif /* __GLE_PORT_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h deleted file mode 100755 index 91083e9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * rot.h - * - * FUNCTION: - * rotation matrix utilities - * - * HISTORY: - * Linas Vepstas Aug 1990 - */ - -/* ========================================================== */ -/* - * The MACROS below generate and return more traditional rotation - * matrices -- matrices for rotations about principal axes. - */ -/* ========================================================== */ - -#define ROTX_CS(m,cosine,sine) \ -{ \ - /* rotation about the x-axis */ \ - \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = (cosine); \ - m[1][2] = (sine); \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = -(sine); \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTY_CS(m,cosine,sine) \ -{ \ - /* rotation about the y-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = 0.0; \ - m[0][2] = -(sine); \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = (sine); \ - m[2][1] = 0.0; \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTZ_CS(m,cosine,sine) \ -{ \ - /* rotation about the z-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = (sine); \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = -(sine); \ - m[1][1] = (cosine); \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h deleted file mode 100755 index 8d1cf04..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * MODULE: segment.h - * - * FUNCTION: - * Contains function prototypes for segment drawing subroutines. - * These are used only internally, and are not to be exported to - * the user. - * - * HISTORY: - * Create by Linas Vepstas - * Added tube.h include to define gleDouble, tad February 2002 - */ - -/* ============================================================ */ - -#include "tube.h" - -extern void draw_segment_plain (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - int inext, double len); - -extern void draw_segment_color (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_edge_n (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_edge_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -/* ============================================================ */ - -extern void draw_binorm_segment_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_binorm_segment_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ - gleDouble bi[3], /* biscetor */ - gleDouble point_array[][3]); /* polyline */ - -/* -------------------------- end of file -------------------------------- */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h deleted file mode 100755 index c303e19..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * tube.h - * - * FUNCTION: - * Tubing and Extrusion header file. - * This file provides protypes and defines for the extrusion - * and tubing primitives. - * - * HISTORY: - * Linas Vepstas 1990, 1991 - */ - -#ifndef __TUBE_H__ -#define __TUBE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLE API revision history: - - GLE_API_VERSION is updated to reflect GLE API changes (interface - changes, semantic changes, deletions, or additions). - - GLE_API_VERSION=228 GLUT 3.7 release of GLE. -**/ -#ifndef GLE_API_VERSION /* allow this to be overriden */ -#define GLE_API_VERSION 228 -#endif - -/* some types */ -#ifndef gleDouble - #define gleDouble double -#endif -typedef gleDouble gleAffine[2][3]; - -/* ====================================================== */ - -/* defines for tubing join styles */ -#define TUBE_JN_RAW 0x1 -#define TUBE_JN_ANGLE 0x2 -#define TUBE_JN_CUT 0x3 -#define TUBE_JN_ROUND 0x4 -#define TUBE_JN_MASK 0xf /* mask bits */ -#define TUBE_JN_CAP 0x10 - -/* determine how normal vectors are to be handled */ -#define TUBE_NORM_FACET 0x100 -#define TUBE_NORM_EDGE 0x200 -#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ -#define TUBE_NORM_MASK 0xf00 /* mask bits */ - -/* closed or open countours */ -#define TUBE_CONTOUR_CLOSED 0x1000 - -#define GLE_TEXTURE_ENABLE 0x10000 -#define GLE_TEXTURE_STYLE_MASK 0xff -#define GLE_TEXTURE_VERTEX_FLAT 1 -#define GLE_TEXTURE_NORMAL_FLAT 2 -#define GLE_TEXTURE_VERTEX_CYL 3 -#define GLE_TEXTURE_NORMAL_CYL 4 -#define GLE_TEXTURE_VERTEX_SPH 5 -#define GLE_TEXTURE_NORMAL_SPH 6 -#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 -#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 -#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 -#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 -#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 -#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 - -#ifdef GL_32 -/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ -#define TUBE_LIGHTING_ON 0x80000000 - -#define gleExtrusion extrusion -#define gleSetJoinStyle setjoinstyle -#define gleGetJoinStyle getjoinstyle -#define glePolyCone polycone -#define glePolyCylinder polycylinder -#define gleSuperExtrusion super_extrusion -#define gleTwistExtrusion twist_extrusion -#define gleSpiral spiral -#define gleLathe lathe -#define gleHelicoid helicoid -#define gleToroid toroid -#define gleScrew screw - -#endif /* GL_32 */ - -extern int gleGetJoinStyle (void); -extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ -extern int gleGetNumSlices(void); -extern void gleSetNumSlices(int slices); - -/* draw polyclinder, specified as a polyline */ -extern void glePolyCylinder (int npoints, /* num points in polyline */ - gleDouble point_array[][3], /* polyline vertces */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius); /* radius of polycylinder */ - -/* draw polycone, specified as a polyline with radii */ -extern void glePolyCone (int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius_array[]); /* cone radii at polyline verts */ - -/* extrude arbitrary 2D contour along arbitrary 3D path */ -extern void gleExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3]); /* colors at polyline verts */ - -/* extrude 2D contour, specifying local rotations (twists) */ -extern void gleTwistExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble twist_array[]); /* countour twists (in degrees) */ - -/* extrude 2D contour, specifying local affine tranformations */ -extern void gleSuperExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* spiral moves contour along helical path by parallel transport */ -extern void gleSpiral (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* lathe moves contour along helical path by helically shearing 3D space */ -extern void gleLathe (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to spiral, except contour is a circle */ -extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to lathe, except contour is a circle */ -extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* draws a screw shape */ -extern void gleScrew (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startz, /* start of segment */ - gleDouble endz, /* end of segment */ - gleDouble twist); /* number of rotations */ - -extern void gleTextureMode (int mode); - -#ifdef __cplusplus -} - -#endif -#endif /* __TUBE_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h deleted file mode 100755 index ccd2853..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* - * tube_gc.h - * - * FUNCTION: - * This file allows for easy changes to changes in the way the extrusion - * library handles state info (i.e. context). - * - * HISTORY: - * Linas Vepstas --- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - * Added tube.h include to define gleDouble, tad February 2002 - */ - -#include "tube.h" -#include "port.h" /* for gleVector */ - -typedef float gleColor[3]; -typedef double gleTwoVec[2]; - -typedef struct { - - /* public methods */ - void (*bgn_gen_texture) (int, double); - void (*n3f_gen_texture) (float *); - void (*n3d_gen_texture) (double *); - void (*v3f_gen_texture) (float *, int, int); - void (*v3d_gen_texture) (double *, int, int); - void (*end_gen_texture) (void); - - /* protected members -- "general knowledge" stuff */ - int join_style; - - /* arguments passed into extrusion code */ - int ncp; /* number of contour points */ - gleTwoVec *contour; /* 2D contour */ - gleTwoVec *cont_normal; /* 2D contour normals */ - gleDouble *up; /* up vector */ - int npoints; /* number of points in polyline */ - gleVector *point_array; /* path */ - gleColor *color_array; /* path colors */ - gleAffine *xform_array; /* contour xforms */ - - /* private members, used by texturing code */ - int num_vert; - int segment_number; - double segment_length; - double accum_seg_len; - double prev_x; - double prev_y; - - void (*save_bgn_gen_texture) (int, double); - void (*save_n3f_gen_texture) (float *); - void (*save_n3d_gen_texture) (double *); - void (*save_v3f_gen_texture) (float *, int, int); - void (*save_v3d_gen_texture) (double *, int, int); - void (*save_end_gen_texture) (void); - -} gleGC; - -extern gleGC *_gle_gc; -extern gleGC * gleCreateGC (void); - -#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } -#define extrusion_join_style (_gle_gc->join_style) - -#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) -#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) -#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) -#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) - -#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) -#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) -#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) -#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) -#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) - -/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h deleted file mode 100755 index b58dcd6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h +++ /dev/null @@ -1,1339 +0,0 @@ - -/* - * vvector.h - * - * FUNCTION: - * This file contains a number of utilities useful for handling - * 3D vectors - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Added 2D code, March 1993 - * Added Outer products, C++ proofed, Linas Vepstas October 1993 - */ - -#ifndef __GUTIL_VECTOR_H__ -#define __GUTIL_VECTOR_H__ - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - - -#include -#include "port.h" - -/* ========================================================== */ -/* Zero out a 2D vector */ - -#define VEC_ZERO_2(a) \ -{ \ - (a)[0] = (a)[1] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 3D vector */ - -#define VEC_ZERO(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 4D vector */ - -#define VEC_ZERO_4(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ -} - -/* ========================================================== */ -/* Vector copy */ - -#define VEC_COPY_2(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ -} - -/* ========================================================== */ -/* Copy 3D vector */ - -#define VEC_COPY(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ -} - -/* ========================================================== */ -/* Copy 4D vector */ - -#define VEC_COPY_4(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ - (b)[3] = (a)[3]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ - (v21)[3] = (v2)[3] - (v1)[3]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ - (v21)[3] = (v2)[3] + (v1)[3]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_2(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_4(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ - (c)[3] = (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_2(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_4(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ - (c)[3] += (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_2(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_4(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ -} - -/* ========================================================== */ -/* vector impact parameter (squared) */ - -#define VEC_IMPACT_SQ(bsq,direction,position) \ -{ \ - gleDouble vlen, llel; \ - VEC_DOT_PRODUCT (vlen, position, position); \ - VEC_DOT_PRODUCT (llel, direction, position); \ - bsq = vlen - llel*llel; \ -} - -/* ========================================================== */ -/* vector impact parameter */ - -#define VEC_IMPACT(bsq,direction,position) \ -{ \ - VEC_IMPACT_SQ(bsq,direction,position); \ - bsq = sqrt (bsq); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_2(vlen,a) \ -{ \ - vlen = a[0]*a[0] + a[1]*a[1]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_4(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen += (a)[3] * (a)[3]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* distance between two points */ - -#define VEC_DISTANCE(vlen,va,vb) \ -{ \ - gleDouble tmp[4]; \ - VEC_DIFF (tmp, vb, va); \ - VEC_LENGTH (vlen, tmp); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_CONJUGATE_LENGTH(vlen,a) \ -{ \ - vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_NORMALIZE(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = 1.0 / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_RENORMALIZE(a,newlen) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = newlen / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* 3D Vector cross product yeilding vector */ - -#define VEC_CROSS_PRODUCT(c,a,b) \ -{ \ - c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ - c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ - c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ -} - -/* ========================================================== */ -/* Vector perp -- assumes that n is of unit length - * accepts vector v, subtracts out any component parallel to n */ - -#define VEC_PERP(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (v)[0] - (vdot) * (n)[0]; \ - vp[1] = (v)[1] - (vdot) * (n)[1]; \ - vp[2] = (v)[2] - (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector parallel -- assumes that n is of unit length - * accepts vector v, subtracts out any component perpendicular to n */ - -#define VEC_PARALLEL(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (vdot) * (n)[0]; \ - vp[1] = (vdot) * (n)[1]; \ - vp[2] = (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector reflection -- assumes n is of unit length */ -/* Takes vector v, reflects it against reflector n, and returns vr */ - -#define VEC_REFLECT(vr,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ - vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ - vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector blending */ -/* Takes two vectors a, b, blends them together */ - -#define VEC_BLEND(vr,sa,a,sb,b) \ -{ \ - \ - vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ - vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ - vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_2(a) \ -{ \ - double vlen; \ - VEC_LENGTH_2 (vlen, a); \ - printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen, (a)); \ - printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_4(a) \ -{ \ - double vlen; \ - VEC_LENGTH_4 (vlen, (a)); \ - printf (" a is %f %f %f %f length of a is %f \n", \ - (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_4X4(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_3X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<3; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_2X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<2; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_3X3(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_4X4(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - b[0][3] = a[0][3]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - b[1][3] = a[1][3]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[2][3]; \ - \ - b[3][0] = a[3][0]; \ - b[3][1] = a[3][1]; \ - b[3][2] = a[3][2]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - b[0][3] = a[3][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - b[1][3] = a[3][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[3][2]; \ - \ - b[3][0] = a[0][3]; \ - b[3][1] = a[1][3]; \ - b[3][2] = a[2][3]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - b[0][3] = (s) * a[0][3]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - b[1][3] = (s) * a[1][3]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ - b[2][3] = (s) * a[2][3]; \ - \ - b[3][0] = s * a[3][0]; \ - b[3][1] = s * a[3][1]; \ - b[3][2] = s * a[3][2]; \ - b[3][3] = s * a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - b[0][3] += (s) * a[0][3]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - b[1][3] += (s) * a[1][3]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ - b[2][3] += (s) * a[2][3]; \ - \ - b[3][0] += (s) * a[3][0]; \ - b[3][1] += (s) * a[3][1]; \ - b[3][2] += (s) * a[3][2]; \ - b[3][3] += (s) * a[3][3]; \ -} - -/* +========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_2X2(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_3X3(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_4X4(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ - c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ - c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ - c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ - \ - c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ - c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ - c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ - c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_3X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_4X4(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ - p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ -} - -/* ========================================================== */ -/* vector transpose times matrix */ -/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ - -#define VEC_DOT_MAT_3X3(p,v,m) \ -{ \ - p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ - p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ - p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ -} - -/* ========================================================== */ -/* affine matrix times vector */ -/* The matrix is assumed to be an affine matrix, with last two - * entries representing a translation */ - -#define MAT_DOT_VEC_2X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ -} - -/* ========================================================== */ -/* inverse transpose of matrix times vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * - * DANGER !!! Do Not use this on normal vectors!!! - * It will leave normals the wrong length !!! - * See macro below for use on normals. - */ - -#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - gleDouble det; \ - \ - det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - /* if matrix not singular, and not orthonormal, then renormalize */ \ - if ((det!=1.0) && (det != 0.0)) { \ - det = 1.0 / det; \ - p[0] *= det; \ - p[1] *= det; \ - } \ -} - -/* ========================================================== */ -/* transform normal vector by inverse transpose of matrix - * and then renormalize the vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * Vector p is then normalized. - */ - - -#define NORM_XFORM_2X2(p,m,v) \ -{ \ - double mlen; \ - \ - /* do nothing if off-diagonals are zero and diagonals are \ - * equal */ \ - if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - mlen = p[0]*p[0] + p[1]*p[1]; \ - mlen = 1.0 / sqrt (mlen); \ - p[0] *= mlen; \ - p[1] *= mlen; \ - } else { \ - VEC_COPY_2 (p, v); \ - } \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - m[0][3] = v[0] * t[3]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - m[1][3] = v[1] * t[3]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ - m[2][3] = v[2] * t[3]; \ - \ - m[3][0] = v[3] * t[0]; \ - m[3][1] = v[3] * t[1]; \ - m[3][2] = v[3] * t[2]; \ - m[3][3] = v[3] * t[3]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - m[0][3] += v[0] * t[3]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - m[1][3] += v[1] * t[3]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ - m[2][3] += v[2] * t[3]; \ - \ - m[3][0] += v[3] * t[0]; \ - m[3][1] += v[3] * t[1]; \ - m[3][2] += v[3] * t[2]; \ - m[3][3] += v[3] * t[3]; \ -} - -/* +========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_2X2(d,m) \ -{ \ - d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ -} - -/* ========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_3X3(d,m) \ -{ \ - d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ - d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ - d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ -} - -/* ========================================================== */ -/* i,j,th cofactor of a 4x4 matrix - * - */ - -#define COFACTOR_4X4_IJ(fac,m,i,j) \ -{ \ - int ii[4], jj[4], k; \ - \ - /* compute which row, columnt to skip */ \ - for (k=0; k - - - - IBDocumentLocation - 4 104 410 240 0 0 1152 848 - IBEditorPositions - - 29 - 19 615 246 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBGroupedObjects - - IBLastGroupID - 1 - IBOpenObjects - - 29 - - IBSystem Version - 6I32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib deleted file mode 100755 index 8a7140e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib deleted file mode 100755 index 7e85eb1..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib +++ /dev/null @@ -1,13 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {toggleWindow = id; }; - CLASS = GLUTClipboardController; - LANGUAGE = ObjC; - OUTLETS = {_infoText = id; _scrollView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib deleted file mode 100755 index 867735d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib +++ /dev/null @@ -1,12 +0,0 @@ - - - - - IBDocumentLocation - 63 221 356 240 0 0 1600 1178 - IBFramework Version - 263.2 - IBSystem Version - 5S41 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib deleted file mode 100755 index 29125d4..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib deleted file mode 100755 index c675963..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib +++ /dev/null @@ -1,73 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = {save = id; saveAs = id; }; - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - cancel = id; - joyAssign = id; - joyDevice = id; - joyElement = id; - joyInvert = id; - launchDebugMode = id; - launchGamemodeCaptureSingle = id; - launchIconic = id; - launchUseCurrWD = id; - launchUseExtDesktop = id; - launchUseMacOSCoords = id; - mouseEanbleEmulation = id; - mouseMiddleMenu = id; - mouseRightMenu = id; - ok = id; - spaceAssign = id; - spaceDevice = id; - spaceElement = id; - spaceInvert = id; - }; - CLASS = GLUTPreferencesController; - LANGUAGE = ObjC; - OUTLETS = { - joyAssign = NSButton; - joyAssignNote = NSTextField; - joyAssignWarningIcon = NSImageView; - joyDeviceMenu = NSPopUpButton; - joyElement = NSTextField; - joyInputMenu = NSPopUpButton; - joyInverted = NSButton; - launchDebugMode = NSButton; - launchFadeTime = NSTextField; - launchGamemodeCaptureSingle = NSButton; - launchIconic = NSButton; - launchInitHeight = NSTextField; - launchInitWidth = NSTextField; - launchInitX = NSTextField; - launchInitY = NSTextField; - launchMenuIdle = NSTextField; - launchSyncToVBL = NSButton; - launchUseCurrWD = NSButton; - launchUseExtendedDesktop = NSButton; - launchUseMacOSXCoords = NSButton; - mouseAssignWarningIcon = NSImageView; - mouseAssignWarningText = NSTextField; - mouseDetected = NSTextField; - mouseEmulation = NSButton; - mouseMiddleConfigMenu = NSPopUpButton; - mouseRightConfigMenu = NSPopUpButton; - prefsTabView = NSTabView; - spaceAssign = NSButton; - spaceAssignNote = NSTextField; - spaceAssignWarningIcon = NSImageView; - spaceDeviceMenu = NSPopUpButton; - spaceElement = NSTextField; - spaceInputMenu = NSPopUpButton; - spaceInverted = NSButton; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib deleted file mode 100755 index 216c8dc..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBDocumentLocation - 16 329 410 240 0 0 1920 1178 - IBFramework Version - 439.0 - IBOpenObjects - - 205 - - IBSystem Version - 8G32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib deleted file mode 100755 index 7598f2c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings deleted file mode 100755 index 6db3c5c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings deleted file mode 100755 index 6f78b89..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist deleted file mode 100755 index e8fc9d6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - GLUT - CFBundleGetInfoString - 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved - CFBundleIdentifier - com.apple.glut - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.4.0 - CFBundleSignature - ???? - CFBundleVersion - GLUT-3.4.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff deleted file mode 100755 index a2b0cf1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff deleted file mode 100755 index c3f4795..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff deleted file mode 100755 index 274529f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff deleted file mode 100755 index dec4252..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff deleted file mode 100755 index 8536c0e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff deleted file mode 100755 index 34b52f6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff deleted file mode 100755 index 9e3a1cb..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff deleted file mode 100755 index 0087c66..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff deleted file mode 100755 index fc4a88a..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff deleted file mode 100755 index 852b69b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff deleted file mode 100755 index 37fe393..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff deleted file mode 100755 index d852616..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff deleted file mode 100755 index 9781f22..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff deleted file mode 100755 index 9bec966..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff deleted file mode 100755 index e4df0de..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff deleted file mode 100755 index 43cf97f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff deleted file mode 100755 index 429b01b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff deleted file mode 100755 index 1605063..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff deleted file mode 100755 index 81ba1aa..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT deleted file mode 100755 index babc6b1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h deleted file mode 100755 index a5116e2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h +++ /dev/null @@ -1,18 +0,0 @@ - -/* - * - * Written By Linas Vepstas November 1991 - */ - - -#define COPY_THREE_WORDS(A,B) { \ - struct three_words { int a, b, c, }; \ - *(struct three_words *) (A) = *(struct three_words *) (B); \ -} - -#define COPY_FOUR_WORDS(A,B) { \ - struct four_words { int a, b, c, d, }; \ - *(struct four_words *) (A) = *(struct four_words *) (B); \ -} - -/* ============================================================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h deleted file mode 100755 index 658699e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h +++ /dev/null @@ -1,96 +0,0 @@ - -/* - * extrude.h - * - * FUNCTION: - * prototypes for privately used subroutines for the tubing library - * - * HISTORY: - * Linas Vepstas 1991 - */ - -#include "port.h" /* for gleDouble */ - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ============================================================ */ -/* - * Provides choice of calling subroutine, vs. invoking macro. - * Basically, inlines the source, or not. - * Trades performance for executable size. - */ - -#define INLINE_INTERSECT -#ifdef INLINE_INTERSECT -#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } -#else -#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) -#endif /* INLINE_INTERSECT */ - -/* ============================================================ */ -/* The folowing defines give a kludgy way of accessing the qmesh primitive */ - -/* -#define bgntmesh _emu_qmesh_bgnqmesh -#define endtmesh _emu_qmesh_endqmesh -#define c3f _emu_qmesh_c3f -#define n3f _emu_qmesh_n3f -#define v3f _emu_qmesh_v3f -*/ - -/* ============================================================ */ - -extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3]); /* polyline */ - - -extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble zval, /* where to draw cap */ - int frontwards); /* front or back cap */ - -extern void draw_round_style_cap_callback (int iloop, - double cap[][3], - float face_color[3], - gleDouble cut_vector[3], - gleDouble bisect_vector[3], - double norms[][3], - int frontwards); - -extern void draw_angle_style_front_cap (int ncp, - gleDouble bi[3], - gleDouble point_array[][3]); - -extern void extrusion_raw_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_angle_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h deleted file mode 100755 index baf54a7..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef __glsmap_h__ -#define __glsmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) - -/* Try hard to avoid including to avoid name space pollution, - but Win32's needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK - /* XXX This is from Win32's */ -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif /* _WIN32 */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SMAP_CLEAR_SMAP_TEXTURE = 0x1, - SMAP_GENERATE_VIEW_MIPMAPS = 0x2, - SMAP_GENERATE_SMAP_MIPMAPS = 0x4, - SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ -} SphereMapFlags; - -/* Cube view enumerants. */ -enum { - SMAP_FRONT = 0, - SMAP_TOP = 1, - SMAP_BOTTOM = 2, - SMAP_LEFT = 3, - SMAP_RIGHT = 4, - SMAP_BACK = 5 -}; - -typedef struct _SphereMap SphereMap; - -extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); -extern void smapDestroySphereMap(SphereMap *smap); - -extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); - -extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); -extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); - -extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); -extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); - -extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); -extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); - -extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); -extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); -extern void smapSetUpVector(SphereMap *smap, GLfloat *up); -extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); -extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); -extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); -extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); -extern void smapGetUpVector(SphereMap *smap, GLfloat *up); -extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); -extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); - -extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); -extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); - -extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); -extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); -extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); -extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); - -extern void smapSetContextData(SphereMap *smap, void *context); -extern void smapGetContextData(SphereMap *smap, void **context); - -extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); -extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); -extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); -extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); - -extern void smapGenViewTex(SphereMap *smap, int view); -extern void smapGenViewTexs(SphereMap *smap); -extern void smapGenSphereMapFromViewTexs(SphereMap *smap); -extern void smapGenSphereMap(SphereMap *smap); -extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); - -extern int smapRvecToSt(float rvec[3], float st[2]); -extern void smapStToRvec(float *st, float *rvec); - -#ifdef __cplusplus -} - -#endif -#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h deleted file mode 100755 index 3620e7d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef __glsmapint_h__ -#define __glsmapint_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glsmap.h" - -enum { X = 0, Y = 1, Z = 2 }; - -#define INITFACE(mesh) \ - int steps = mesh->steps; \ - int sqsteps = mesh->steps * mesh->steps - -#define FACE(side,y,x) \ - mesh->face[(side)*sqsteps + (y)*steps + (x)] - -#define FACExy(side,i,j) \ - (&FACE(side,i,j).x) - -#define FACEst(side,i,j) \ - (&FACE(side,i,j).s) - -#define INITBACK(mesh) \ - int allrings = mesh->rings + mesh->edgeExtend; \ - int ringedspokes = allrings * mesh->steps - -#define BACK(edge,ring,spoke) \ - mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] - -#define BACKxy(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).x) - -#define BACKst(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).s) - -typedef struct _STXY { - GLfloat s, t; - GLfloat x, y; -} STXY; - -typedef struct _SphereMapMesh { - - int refcnt; - - int steps; - int rings; - int edgeExtend; - - STXY *face; - STXY *back; - -} SphereMapMesh; - -struct _SphereMap { - - /* Shared sphere map mesh vertex data. */ - SphereMapMesh *mesh; - - /* Texture object ids. */ - GLuint smapTexObj; - GLuint viewTexObjs[6]; - GLuint viewTexObj; - - /* Flags */ - SphereMapFlags flags; - - /* Texture dimensions must be a power of two. */ - int viewTexDim; /* view texture dimension */ - int smapTexDim; /* sphere map texture dimension */ - - /* Viewport origins for view and sphere map rendering. */ - int viewOrigin[2]; - int smapOrigin[2]; - - /* Viewing vectors. */ - GLfloat eye[3]; - GLfloat up[3]; - GLfloat obj[3]; - - /* Projection parameters. */ - GLfloat viewNear; - GLfloat viewFar; - - /* Rendering callbacks. */ - void (*positionLights)(int view, void *context); - void (*drawView)(int view, void *context); - - /* Application specified callback data. */ - void *context; - -}; - -/* Library internal routines. */ -extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); -extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); -extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); - -#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h deleted file mode 100755 index cbc6ebe..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h +++ /dev/null @@ -1,648 +0,0 @@ -#ifndef __glut_h__ -#define __glut_h__ - -/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ - -/* This program is freely distributable without licensing fees and is - provided without guarantee or warrantee expressed or implied. This - program is -not- in the public domain. */ -//#define GLUT_OF_007_HACK - -#if defined(_WIN32) - -/* GLUT 3.7 now tries to avoid including - to avoid name space pollution, but Win32's - needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# define GLUT_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif - /* XXX This is from Win32's */ -# ifndef CALLBACK -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define GLUT_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ -#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif - -#if defined(__APPLE__) || defined(MACOSX) -#include -#include -#include -#else -#include -#include -#endif - -/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ -#if !defined(_WIN32) -#define APIENTRY -#define GLUT_APIENTRY_DEFINED -#define CALLBACK -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLUT API revision history: - - GLUT_API_VERSION is updated to reflect incompatible GLUT - API changes (interface changes, semantic changes, deletions, - or additions). - - GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 - - GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, - extension. Supports new input devices like tablet, dial and button - box, and Spaceball. Easy to query OpenGL extensions. - - GLUT_API_VERSION=3 glutMenuStatus added. - - GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, - glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic - video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, - glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, - glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). - - GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) -**/ -#ifndef GLUT_API_VERSION /* allow this to be overriden */ -#define GLUT_API_VERSION 5 -#endif - -/** - GLUT implementation revision history: - - GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT - API revisions and implementation revisions (ie, bug fixes). - - GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of - GLUT Xlib-based implementation. 11/29/94 - - GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of - GLUT Xlib-based implementation providing GLUT version 2 - interfaces. - - GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 - - GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 - - GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 - - GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 - - GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner - and video resize. 1/3/97 - - GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. - - GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. - - GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. - - GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. - - GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. - - GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa -**/ -#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_XLIB_IMPLEMENTATION 15 -#endif - -/** - MacOS X GLUT implementation revision history: - - GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X - specific GLUT API revisions and implementation revisions - (ie, bug fixes). - - GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. - - GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. - -**/ -#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_MACOSX_IMPLEMENTATION 2 -#endif - -/* Display mode bit masks. */ -#define GLUT_RGB 0 -#define GLUT_RGBA GLUT_RGB -#define GLUT_INDEX 1 -#define GLUT_SINGLE 0 -#define GLUT_DOUBLE 2 -#define GLUT_ACCUM 4 -#define GLUT_ALPHA 8 -#define GLUT_DEPTH 16 -#define GLUT_STENCIL 32 -#if (GLUT_API_VERSION >= 2) -#define GLUT_MULTISAMPLE 128 -#define GLUT_STEREO 256 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_LUMINANCE 512 -#endif -#define GLUT_NO_RECOVERY 1024 - -/* Mouse buttons. */ -#define GLUT_LEFT_BUTTON 0 -#define GLUT_MIDDLE_BUTTON 1 -#define GLUT_RIGHT_BUTTON 2 - -/* Mouse button state. */ -#define GLUT_DOWN 0 -#define GLUT_UP 1 - -#if (GLUT_API_VERSION >= 2) -/* function keys */ -#define GLUT_KEY_F1 1 -#define GLUT_KEY_F2 2 -#define GLUT_KEY_F3 3 -#define GLUT_KEY_F4 4 -#define GLUT_KEY_F5 5 -#define GLUT_KEY_F6 6 -#define GLUT_KEY_F7 7 -#define GLUT_KEY_F8 8 -#define GLUT_KEY_F9 9 -#define GLUT_KEY_F10 10 -#define GLUT_KEY_F11 11 -#define GLUT_KEY_F12 12 -/* directional keys */ -#define GLUT_KEY_LEFT 100 -#define GLUT_KEY_UP 101 -#define GLUT_KEY_RIGHT 102 -#define GLUT_KEY_DOWN 103 -#define GLUT_KEY_PAGE_UP 104 -#define GLUT_KEY_PAGE_DOWN 105 -#define GLUT_KEY_HOME 106 -#define GLUT_KEY_END 107 -#define GLUT_KEY_INSERT 108 -#endif - -/* Entry/exit state. */ -#define GLUT_LEFT 0 -#define GLUT_ENTERED 1 - -/* Menu usage state. */ -#define GLUT_MENU_NOT_IN_USE 0 -#define GLUT_MENU_IN_USE 1 - -/* Visibility state. */ -#define GLUT_NOT_VISIBLE 0 -#define GLUT_VISIBLE 1 - -/* Window status state. */ -#define GLUT_HIDDEN 0 -#define GLUT_FULLY_RETAINED 1 -#define GLUT_PARTIALLY_RETAINED 2 -#define GLUT_FULLY_COVERED 3 - -/* Color index component selection values. */ -#define GLUT_RED 0 -#define GLUT_GREEN 1 -#define GLUT_BLUE 2 - -/* Layers for use. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -#if defined(_WIN32) -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN ((void*)0) -#define GLUT_STROKE_MONO_ROMAN ((void*)1) - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 ((void*)2) -#define GLUT_BITMAP_8_BY_13 ((void*)3) -#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) -#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 ((void*)6) -#define GLUT_BITMAP_HELVETICA_12 ((void*)7) -#define GLUT_BITMAP_HELVETICA_18 ((void*)8) -#endif -#else -/* Stroke font opaque addresses (use constants instead in source code). */ -extern void *glutStrokeRoman; -extern void *glutStrokeMonoRoman; - -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN (&glutStrokeRoman) -#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) - -/* Bitmap font opaque addresses (use constants instead in source code). */ -extern void *glutBitmap9By15; -extern void *glutBitmap8By13; -extern void *glutBitmapTimesRoman10; -extern void *glutBitmapTimesRoman24; -extern void *glutBitmapHelvetica10; -extern void *glutBitmapHelvetica12; -extern void *glutBitmapHelvetica18; - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) -#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) -#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) -#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) -#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) -#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) -#endif -#endif - -/* glutGet parameters. */ -#define GLUT_WINDOW_X 100 -#define GLUT_WINDOW_Y 101 -#define GLUT_WINDOW_WIDTH 102 -#define GLUT_WINDOW_HEIGHT 103 -#define GLUT_WINDOW_BUFFER_SIZE 104 -#define GLUT_WINDOW_STENCIL_SIZE 105 -#define GLUT_WINDOW_DEPTH_SIZE 106 -#define GLUT_WINDOW_RED_SIZE 107 -#define GLUT_WINDOW_GREEN_SIZE 108 -#define GLUT_WINDOW_BLUE_SIZE 109 -#define GLUT_WINDOW_ALPHA_SIZE 110 -#define GLUT_WINDOW_ACCUM_RED_SIZE 111 -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 -#define GLUT_WINDOW_DOUBLEBUFFER 115 -#define GLUT_WINDOW_RGBA 116 -#define GLUT_WINDOW_PARENT 117 -#define GLUT_WINDOW_NUM_CHILDREN 118 -#define GLUT_WINDOW_COLORMAP_SIZE 119 -#if (GLUT_API_VERSION >= 2) -#define GLUT_WINDOW_NUM_SAMPLES 120 -#define GLUT_WINDOW_STEREO 121 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_WINDOW_CURSOR 122 -#endif -#define GLUT_SCREEN_WIDTH 200 -#define GLUT_SCREEN_HEIGHT 201 -#define GLUT_SCREEN_WIDTH_MM 202 -#define GLUT_SCREEN_HEIGHT_MM 203 -#define GLUT_MENU_NUM_ITEMS 300 -#define GLUT_DISPLAY_MODE_POSSIBLE 400 -#define GLUT_INIT_WINDOW_X 500 -#define GLUT_INIT_WINDOW_Y 501 -#define GLUT_INIT_WINDOW_WIDTH 502 -#define GLUT_INIT_WINDOW_HEIGHT 503 -#define GLUT_INIT_DISPLAY_MODE 504 -#if (GLUT_API_VERSION >= 2) -#define GLUT_ELAPSED_TIME 700 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_WINDOW_FORMAT_ID 123 -#endif - -#if (GLUT_API_VERSION >= 2) -/* glutDeviceGet parameters. */ -#define GLUT_HAS_KEYBOARD 600 -#define GLUT_HAS_MOUSE 601 -#define GLUT_HAS_SPACEBALL 602 -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 -#define GLUT_HAS_TABLET 604 -#define GLUT_NUM_MOUSE_BUTTONS 605 -#define GLUT_NUM_SPACEBALL_BUTTONS 606 -#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 -#define GLUT_NUM_DIALS 608 -#define GLUT_NUM_TABLET_BUTTONS 609 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 -#define GLUT_DEVICE_KEY_REPEAT 611 -#define GLUT_HAS_JOYSTICK 612 -#define GLUT_OWNS_JOYSTICK 613 -#define GLUT_JOYSTICK_BUTTONS 614 -#define GLUT_JOYSTICK_AXES 615 -#define GLUT_JOYSTICK_POLL_RATE 616 -#endif - -#if (GLUT_API_VERSION >= 3) -/* glutLayerGet parameters. */ -#define GLUT_OVERLAY_POSSIBLE 800 -#define GLUT_LAYER_IN_USE 801 -#define GLUT_HAS_OVERLAY 802 -#define GLUT_TRANSPARENT_INDEX 803 -#define GLUT_NORMAL_DAMAGED 804 -#define GLUT_OVERLAY_DAMAGED 805 - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* glutVideoResizeGet parameters. */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 900 -#define GLUT_VIDEO_RESIZE_IN_USE 901 -#define GLUT_VIDEO_RESIZE_X_DELTA 902 -#define GLUT_VIDEO_RESIZE_Y_DELTA 903 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 -#define GLUT_VIDEO_RESIZE_X 906 -#define GLUT_VIDEO_RESIZE_Y 907 -#define GLUT_VIDEO_RESIZE_WIDTH 908 -#define GLUT_VIDEO_RESIZE_HEIGHT 909 -#endif - -/* glutUseLayer parameters. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -/* glutGetModifiers return mask. */ -#define GLUT_ACTIVE_SHIFT 1 -#define GLUT_ACTIVE_CTRL 2 -#define GLUT_ACTIVE_ALT 4 - -/* glutSetCursor parameters. */ -/* Basic arrows. */ -#define GLUT_CURSOR_RIGHT_ARROW 0 -#define GLUT_CURSOR_LEFT_ARROW 1 -/* Symbolic cursor shapes. */ -#define GLUT_CURSOR_INFO 2 -#define GLUT_CURSOR_DESTROY 3 -#define GLUT_CURSOR_HELP 4 -#define GLUT_CURSOR_CYCLE 5 -#define GLUT_CURSOR_SPRAY 6 -#define GLUT_CURSOR_WAIT 7 -#define GLUT_CURSOR_TEXT 8 -#define GLUT_CURSOR_CROSSHAIR 9 -/* Directional cursors. */ -#define GLUT_CURSOR_UP_DOWN 10 -#define GLUT_CURSOR_LEFT_RIGHT 11 -/* Sizing cursors. */ -#define GLUT_CURSOR_TOP_SIDE 12 -#define GLUT_CURSOR_BOTTOM_SIDE 13 -#define GLUT_CURSOR_LEFT_SIDE 14 -#define GLUT_CURSOR_RIGHT_SIDE 15 -#define GLUT_CURSOR_TOP_LEFT_CORNER 16 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 -/* Inherit from parent window. */ -#define GLUT_CURSOR_INHERIT 100 -/* Blank cursor. */ -#define GLUT_CURSOR_NONE 101 -/* Fullscreen crosshair (if available). */ -#define GLUT_CURSOR_FULL_CROSSHAIR 102 -#endif - -/* GLUT initialization sub-API. */ -extern void APIENTRY glutInit(int *argcp, char **argv); -extern void APIENTRY glutInitDisplayMode(unsigned int mode); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutInitDisplayString(const char *string); -#endif -extern void APIENTRY glutInitWindowPosition(int x, int y); -extern void APIENTRY glutInitWindowSize(int width, int height); -extern void APIENTRY glutMainLoop(void); - -/* GLUT window sub-API. */ -extern int APIENTRY glutCreateWindow(const char *title); -extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); -extern void APIENTRY glutDestroyWindow(int win); -extern void APIENTRY glutPostRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowRedisplay(int win); -#endif -extern void APIENTRY glutSwapBuffers(void); -extern int APIENTRY glutGetWindow(void); -extern void APIENTRY glutSetWindow(int win); -extern void APIENTRY glutSetWindowTitle(const char *title); -extern void APIENTRY glutSetIconTitle(const char *title); -extern void APIENTRY glutPositionWindow(int x, int y); -extern void APIENTRY glutReshapeWindow(int width, int height); -extern void APIENTRY glutPopWindow(void); -extern void APIENTRY glutPushWindow(void); -extern void APIENTRY glutIconifyWindow(void); -extern void APIENTRY glutShowWindow(void); -extern void APIENTRY glutHideWindow(void); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutFullScreen(void); -extern void APIENTRY glutSetCursor(int cursor); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWarpPointer(int x, int y); -#if (GLUT_MACOSX_IMPLEMENTATION >= 1) -/* surface texturing API Mac OS X specific -* Note: -* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object -*/ -#ifdef MAC_OS_X_VERSION_10_5 -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -#else -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); -#endif -#endif -#if (GLUT_MACOSX_IMPLEMENTATION >= 2) -/* Mac OS X specific API */ -extern void APIENTRY glutWMCloseFunc(void (*func)(void)); -extern void APIENTRY glutCheckLoop(void); -#endif -#endif - -/* GLUT overlay sub-API. */ -extern void APIENTRY glutEstablishOverlay(void); -extern void APIENTRY glutRemoveOverlay(void); -extern void APIENTRY glutUseLayer(GLenum layer); -extern void APIENTRY glutPostOverlayRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowOverlayRedisplay(int win); -#endif -extern void APIENTRY glutShowOverlay(void); -extern void APIENTRY glutHideOverlay(void); -#endif - -/* GLUT menu sub-API. */ -extern int APIENTRY glutCreateMenu(void (*)(int)); -extern void APIENTRY glutDestroyMenu(int menu); -extern int APIENTRY glutGetMenu(void); -extern void APIENTRY glutSetMenu(int menu); -extern void APIENTRY glutAddMenuEntry(const char *label, int value); -extern void APIENTRY glutAddSubMenu(const char *label, int submenu); -extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); -extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); -extern void APIENTRY glutRemoveMenuItem(int item); -extern void APIENTRY glutAttachMenu(int button); -extern void APIENTRY glutDetachMenu(int button); - -/* GLUT window callback sub-API. */ -extern void APIENTRY glutDisplayFunc(void (*func)(void)); -extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); -extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); -extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutEntryFunc(void (*func)(int state)); -extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); -extern void APIENTRY glutIdleFunc(void (*func)(void)); -extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); -extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); -#if (GLUT_API_VERSION >= 2) -extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); -extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); -extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); -extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); -extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); -//#ifdef GLUT_OF_007_HACK -extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); -//#endif -#endif -#endif -#endif - -/* GLUT color index sub-API. */ -extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); -extern GLfloat APIENTRY glutGetColor(int ndx, int component); -extern void APIENTRY glutCopyColormap(int win); - -/* GLUT state retrieval sub-API. */ -extern int APIENTRY glutGet(GLenum type); -extern int APIENTRY glutDeviceGet(GLenum type); -#if (GLUT_API_VERSION >= 2) -/* GLUT extension support sub-API */ -extern int APIENTRY glutExtensionSupported(const char *name); -#endif -#if (GLUT_API_VERSION >= 3) -extern int APIENTRY glutGetModifiers(void); -extern int APIENTRY glutLayerGet(GLenum type); -#endif -#if (GLUT_API_VERSION >= 5) -extern void * APIENTRY glutGetProcAddress(const char *procName); -#endif - -/* GLUT font sub-API */ -extern void APIENTRY glutBitmapCharacter(void *font, int character); -extern int APIENTRY glutBitmapWidth(void *font, int character); -extern void APIENTRY glutStrokeCharacter(void *font, int character); -extern int APIENTRY glutStrokeWidth(void *font, int character); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); -extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); -#endif - -/* GLUT pre-built models sub-API */ -extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutWireCube(GLdouble size); -extern void APIENTRY glutSolidCube(GLdouble size); -extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutWireDodecahedron(void); -extern void APIENTRY glutSolidDodecahedron(void); -extern void APIENTRY glutWireTeapot(GLdouble size); -extern void APIENTRY glutSolidTeapot(GLdouble size); -extern void APIENTRY glutWireOctahedron(void); -extern void APIENTRY glutSolidOctahedron(void); -extern void APIENTRY glutWireTetrahedron(void); -extern void APIENTRY glutSolidTetrahedron(void); -extern void APIENTRY glutWireIcosahedron(void); -extern void APIENTRY glutSolidIcosahedron(void); - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* GLUT video resize sub-API. */ -extern int APIENTRY glutVideoResizeGet(GLenum param); -extern void APIENTRY glutSetupVideoResizing(void); -extern void APIENTRY glutStopVideoResizing(void); -extern void APIENTRY glutVideoResize(int x, int y, int width, int height); -extern void APIENTRY glutVideoPan(int x, int y, int width, int height); - -/* GLUT debugging sub-API. */ -extern void APIENTRY glutReportErrors(void); -#endif - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -/* GLUT device control sub-API. */ -/* glutSetKeyRepeat modes. */ -#define GLUT_KEY_REPEAT_OFF 0 -#define GLUT_KEY_REPEAT_ON 1 -#define GLUT_KEY_REPEAT_DEFAULT 2 - -/* Joystick button masks. */ -#define GLUT_JOYSTICK_BUTTON_A 1 -#define GLUT_JOYSTICK_BUTTON_B 2 -#define GLUT_JOYSTICK_BUTTON_C 4 -#define GLUT_JOYSTICK_BUTTON_D 8 - -extern void APIENTRY glutIgnoreKeyRepeat(int ignore); -extern void APIENTRY glutSetKeyRepeat(int repeatMode); -extern void APIENTRY glutForceJoystickFunc(void); - -/* GLUT game mode sub-API. */ -/* glutGameModeGet. */ -#define GLUT_GAME_MODE_ACTIVE 0 -#define GLUT_GAME_MODE_POSSIBLE 1 -#define GLUT_GAME_MODE_WIDTH 2 -#define GLUT_GAME_MODE_HEIGHT 3 -#define GLUT_GAME_MODE_PIXEL_DEPTH 4 -#define GLUT_GAME_MODE_REFRESH_RATE 5 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 - -extern void APIENTRY glutGameModeString(const char *string); -extern int APIENTRY glutEnterGameMode(void); -extern void APIENTRY glutLeaveGameMode(void); -extern int APIENTRY glutGameModeGet(GLenum mode); -#endif - -#ifdef __cplusplus -} - -#endif - -#ifdef GLUT_APIENTRY_DEFINED -# undef GLUT_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef GLUT_WINGDIAPI_DEFINED -# undef GLUT_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - -#endif /* __glut_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h deleted file mode 100755 index e29a016..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __glutbitmap_h__ -#define __glutbitmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glut.h" - -typedef struct { - const GLsizei width; - const GLsizei height; - const GLfloat xorig; - const GLfloat yorig; - const GLfloat advance; - const GLubyte *bitmap; -} BitmapCharRec, *BitmapCharPtr; - -typedef struct { - const char *name; - const int num_chars; - const int first; - const BitmapCharRec * const *ch; -} BitmapFontRec, *BitmapFontPtr; - -typedef void *GLUTbitmapFont; - -#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h deleted file mode 100755 index f8a170b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef __glutf90_h__ -#define __glutf90_h__ - -/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -/* This header provides the binding interface for William Mitchell's - f90gl Fortran 90 GLUT binding. Other GLUT language bindings - can and should use this interace. */ - -/* I appreciate the guidance from William Mitchell - (mitchell@cam.nist.gov) in developing this friend interface - for use by the f90gl package. See ../../README.fortran */ - -#include - -#ifndef GLUTCALLBACK - #define GLUTCALLBACK -#endif -#ifndef APIENTRY - #define APIENTRY -#endif - -/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ -/* NOTE These values are part of a binary interface for the f90gl Fortran - 90 binding and so must NOT changes (additions are allowed). */ - -/* GLUTwindow callbacks. */ -#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ -#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ -#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ -#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ -#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ -#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ -#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ -#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ -#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ -#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ -#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ -#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ -#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ -#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ -#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ -#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ -#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ -#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ -#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ -#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ -#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ -/* Non-GLUTwindow callbacks. */ -#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ -#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ -#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ - -/* GLUT Fortran callback function types. */ -typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); -typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); -typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); -/* NOTE the pressed key is int, not unsigned char for Fortran! */ -typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); -typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); -typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); -typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); - -typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); -typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); -typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ -typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTidleFCB) (void); - -/* Functions that set and return Fortran callback functions. */ -extern void* APIENTRY __glutGetFCB(int which); -extern void APIENTRY __glutSetFCB(int which, void *func); - -#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h deleted file mode 100755 index cbc9e15..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __glutstroke_h__ -#define __glutstroke_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ -#endif - -typedef struct { - float x; - float y; -} CoordRec, *CoordPtr; - -typedef struct { - int num_coords; - const CoordRec *coord; -} StrokeRec, *StrokePtr; - -typedef struct { - int num_strokes; - const StrokeRec *stroke; - float center; - float right; -} StrokeCharRec, *StrokeCharPtr; - -typedef struct { - const char *name; - int num_chars; - const StrokeCharRec *ch; - float top; - float bottom; -} StrokeFontRec, *StrokeFontPtr; - -typedef void *GLUTstrokeFont; - -#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h deleted file mode 100755 index f7ffcf3..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h +++ /dev/null @@ -1,89 +0,0 @@ - -/* - * gutil.h - * - * FUNCTION: - * Provide utilities that allow rotation to occur - * around any axis. - * - * HISTORY: - * created by Linas Vepstas 1990 - * added single & double precision, June 1991, Linas Vepstas - */ - -#ifndef __GUTIL_H__ -#define __GUTIL_H__ - -#ifdef __GUTIL_DOUBLE -#define gutDouble double -#else -#define gutDouble float -#endif - - -#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (); -extern void rot_about_axis_f (); -extern void rot_omega_f (); -extern void urot_axis_f (); -extern void urot_about_axis_f (); -extern void urot_omega_f (); - -/* double-precision versions */ -extern void rot_axis_d (); -extern void rot_about_axis_d (); -extern void rot_omega_d (); -extern void urot_axis_d (); -extern void urot_about_axis_d (); -extern void urot_omega_d (); - -/* viewpoint functions */ -extern void uview_direction_d (); -extern void uview_direction_f (); -extern void uviewpoint_d (); -extern void uviewpoint_f (); - -#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (float omega, float axis[3]); -extern void rot_about_axis_f (float angle, float axis[3]); -extern void rot_omega_f (float axis[3]); -extern void urot_axis_f (float m[4][4], float omega, float axis[3]); -extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); -extern void urot_omega_f (float m[4][4], float axis[3]); - -/* double-precision versions */ -extern void rot_axis_d (double omega, double axis[3]); -extern void rot_about_axis_d (double angle, double axis[3]); -extern void rot_omega_d (double axis[3]); -extern void urot_axis_d (double m[4][4], double omega, double axis[3]); -extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); -extern void urot_omega_d (double m[4][4], double axis[3]); - -/* viewpoint functions */ -extern void uview_direction_d (double m[4][4], /* returned */ - double v21[3], /* input */ - double up[3]); /* input */ - -extern void uview_direction_f (float m[4][4], /* returned */ - float v21[3], /* input */ - float up[3]); /* input */ - -extern void uviewpoint_d (double m[4][4], /* returned */ - double v1[3], /* input */ - double v2[3], /* input */ - double up[3]); /* input */ - -extern void uviewpoint_f (float m[4][4], /* returned */ - float v1[3], /* input */ - float v2[3], /* input */ - float up[3]); /* input */ - -#endif /* _NO_PROTO */ - -#endif /* _GUTIL_H__ */ - -/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h deleted file mode 100755 index f5ff7a5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * FUNCTION: - * This file contains a number of utilities useful to 3D graphics in - * general, and to the generation of tubing and extrusions in particular - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Updated to correctly handle degenerate cases, Linas, February 1993 - */ - -#include -#include "port.h" -#include "vvector.h" - -#define BACKWARDS_INTERSECT (2) - -/* ========================================================== */ -/* - * the Degenerate_Tolerance token represents the greatest amount by - * which different scales in a graphics environment can differ before - * they should be considered "degenerate". That is, when one vector is - * a million times longer than another, changces are that the second will - * be less than a pixel int, and therefore was probably meant to be - * degenerate (by the CAD package, etc.) But what should this tolerance - * be? At least 1 in onethousand (since screen sizes are 1K pixels), but - * les than 1 in 4 million (since this is the limit of single-precision - * floating point accuracy). Of course, if double precision were used, - * then the tolerance could be increased. - * - * Potentially, this naive assumption could cause problems if the CAD - * package attempts to zoom in on small details, and turns out, certain - * points should not hvae been degenerate. The problem presented here - * is that the tolerance could run out before single-precision ran - * out, and so the CAD packages would perceive this as a "bug". - * One alternative is to fiddle around & try to tighten the tolerance. - * However, the right alternative is to code the graphics pipeline in - * double-precision (and tighten the tolerance). - * - * By the way, note that Degernate Tolerance is a "dimensionless" - * quantitiy -- it has no units -- it does not measure feet, inches, - * millimeters or pixels. It is used only in the computations of ratios - * and relative lengths. - */ - -/* - * Right now, the tolerance is set to 2 parts in a million, which - * corresponds to a 19-bit distinction of mantissas. Note that - * single-precsion numbers have 24 bit mantissas. - */ - -#define DEGENERATE_TOLERANCE (0.000002) - -/* ========================================================== */ -/* - * The macro and subroutine INTERSECT are designed to compute the - * intersection of a line (defined by the points v1 and v2) and a plane - * (defined as plane which is normal to the vector n, and contains the - * point p). Both return the point sect, which is the point of - * interesection. - * - * This MACRO attemps to be fairly robust by checking for a divide by - * zero. - */ - -/* ========================================================== */ -/* - * HACK ALERT - * The intersection parameter t has the nice property that if t>1, - * then the intersection is "in front of" p1, and if t<0, then the - * intersection is "behind" p2. Unfortunately, as the intersecting plane - * and the line become parallel, t wraps through infinity -- i.e. t can - * become so large that t becomes "greater than infinity" and comes back - * as a negative number (i.e. winding number hopped by one unit). We - * have no way of detecting this situation without adding gazzillions - * of lines of code of topological algebra to detect the winding number; - * and this would be incredibly difficult, and ruin performance. - * - * Thus, we've installed a cheap hack for use by the "cut style" drawing - * routines. If t proves to be a large negative number (more negative - * than -5), then we assume that t was positive and wound through - * infinity. This makes most cuts look good, without introducing bogus - * cuts at infinity. - */ -/* ========================================================== */ - -#define INTERSECT(sect,p,n,v1,v2) \ -{ \ - gleDouble deno, numer, t, omt; \ - \ - deno = (v1[0] - v2[0]) * n[0]; \ - deno += (v1[1] - v2[1]) * n[1]; \ - deno += (v1[2] - v2[2]) * n[2]; \ - \ - if (deno == 0.0) { \ - VEC_COPY (n, v1); \ - /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ - } else { \ - \ - numer = (p[0] - v2[0]) * n[0]; \ - numer += (p[1] - v2[1]) * n[1]; \ - numer += (p[2] - v2[2]) * n[2]; \ - \ - t = numer / deno; \ - omt = 1.0 - t; \ - \ - sect[0] = t * v1[0] + omt * v2[0]; \ - sect[1] = t * v1[1] + omt * v2[1]; \ - sect[2] = t * v1[2] + omt * v2[2]; \ - } \ -} - -/* ========================================================== */ -/* - * The macro and subroutine BISECTING_PLANE compute a normal vector that - * describes the bisecting plane between three points (v1, v2 and v3). - * This bisecting plane has the following properties: - * 1) it contains the point v2 - * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it - * makes with v32 == v3 - v2 - * 3) it is perpendicular to the plane defined by v1, v2, v3. - * - * Having input v1, v2, and v3, it returns a unit vector n. - * - * In some cases, the user may specify degenerate points, and still - * expect "reasonable" or "obvious" behaviour. The "expected" - * behaviour for these degenerate cases is: - * - * 1) if v1 == v2 == v3, then return n=0 - * 2) if v1 == v2, then return v32 (normalized). - * 3) if v2 == v3, then return v21 (normalized). - * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). - * - * Mathematically, these special cases "make sense" -- we just have to - * code around potential divide-by-zero's in the code below. - */ - -/* ========================================================== */ - -#define BISECTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as bisector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ - (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ -/* - * The block of code below is ifdef'd out, and is here for reference - * purposes only. It performs the "mathematically right thing" for - * computing a bisecting plane, but is, unfortunately, subject ot noise - * in the presence of near degenerate points. Since computer graphics, - * due to sloppy coding, laziness, or correctness, is filled with - * degenerate points, we can't really use this version. The code above - * is far more appropriate for graphics. - */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define BISECTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 == 0.0) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - } \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - if (len32 == 0.0) { \ - /* return a normalized copy of v21 as bisector */ \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot == 1.0) || (vdot == -1.0)) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} -#endif - -/* ========================================================== */ -/* - * This macro computes the plane perpendicular to the the plane - * defined by three points, and whose normal vector is givven as the - * difference between the two vectors ... - * - * (See way below for the "math" model if you want to understand this. - * The comments about relative errors above apply here.) - */ - -#define CUTTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double lendiff; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as cut-vector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as cut vector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_LENGTH (lendiff, n); \ - \ - /* if the perp vector is very small, then the two \ - * vectors are darn near collinear, and the cut \ - * vector is probably poorly defined. */ \ - if (lendiff < DEGENERATE_TOLERANCE) { \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - lendiff = 1.0 / lendiff; \ - VEC_SCALE (n, lendiff, n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define CUTTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_NORMALIZE (v21); \ - VEC_NORMALIZE (v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_NORMALIZE (n); \ -} -#endif - - -/* ============================================================ */ -/* This macro is used in several places to cycle through a series of - * points to find the next non-degenerate point in a series */ - -#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ -{ \ - gleDouble slen; \ - gleDouble summa[3]; \ - \ - do { \ - /* get distance to next point */ \ - VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (len, diff); \ - VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (slen, summa); \ - slen *= DEGENERATE_TOLERANCE; \ - inext ++; \ - } while ((len <= slen) && (inext < npoints-1)); \ -} - -/* ========================================================== */ - -extern int bisecting_plane (gleDouble n[3], /* returned */ - gleDouble v1[3], /* input */ - gleDouble v2[3], /* input */ - gleDouble v3[3]); /* input */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h deleted file mode 100755 index 2827bbf..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * port.h - * - * FUNCTION: - * This file contains defines for porting the tubing toolkit from GL to - * OpenGL to some callback scheme. - * - * HISTORY: - * Created by Linas Vepstas -- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - */ - -#ifndef __GLE_PORT_H__ -#define __GLE_PORT_H__ - - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ====================================================== */ -/* Some compilers can't handle multiply-subscripted array's */ - -#ifdef FUNKY_C -typedef gleDouble gleVector; -#define AVAL(arr,n,i,j) arr(6*n+3*i+j) -#define VVAL(arr,n,i) arr(3*n+i) - -#else /* FUNKY_C */ -typedef double gleVector[3]; -typedef double glePoint[2]; -#define AVAL(arr,n,i,j) arr[n][i][j] -#define VVAL(arr,n,i) arr[n][i]; - -#endif /* FUNKY_C */ - -/* ====================================================== */ -/* These are used to convey info about topography to the - * texture mapping routines */ - -#define FRONT 1 -#define BACK 2 -#define FRONT_CAP 3 -#define BACK_CAP 4 -#define FILLET 5 - -/* ====================================================== */ - -#define __GLE_DOUBLE - -/* ====================================================== */ - -#ifdef __GLE_DOUBLE -#ifndef gleDouble - #define gleDouble double -#endif -#define urot_axis(a,b,c) urot_axis_d(a,b,c) -#define uview_direction(a,b,c) uview_direction_d(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_D(m) -#define LOADMATRIX(m) LOADMATRIX_D(m) -#define V3F(x,j,id) V3F_D(x,j,id) -#define N3F(x) N3F_D(x) -#define T2F(x,y) T2F_D(x,y) -#else -#define gleDouble float -#define urot_axis(a,b,c) urot_axis_f(a,b,c) -#define uview_direction(a,b,c) uview_direction_f(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_F(m) -#define LOADMATRIX(m) LOADMATRIX_F(m) -#define V3F(x,j,id) V3F_F(x,j,id) -#define N3F(x) N3F_F(x) -#define T2F(x,y) T2F_F(x,y) -#endif - -/* ====================================================== */ - -#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) -#undef GL_32 -#undef OPENGL_10 - -#define BGNTMESH(i,len) printf ("bgntmesh() \n"); -#define ENDTMESH() printf ("endtmesh() \n"); -#define BGNPOLYGON() printf ("bgnpolygon() \n"); -#define ENDPOLYGON() printf ("endpolygon() \n"); -#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); - -#define POPMATRIX() printf ("popmatrix () \n"); -#define PUSHMATRIX() printf ("pushmatrix() \n"); -#define MULTMATRIX_F(x) MULTMATRIX_D(x) -#define LOADMATRIX_F(x) LOADMATRIX_D(x) - - -#define LOADMATRIX_D(x) { \ - int i, j; \ - printf ("loadmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - printf ("multmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define __IS_LIGHTING_ON (1) - -#endif - -/* ====================================================== */ - -#ifdef GL_32 - -#include - -#define BGNTMESH(i,len) bgntmesh() -#define ENDTMESH() endtmesh() -#define BGNPOLYGON() bgnpolygon() -#define ENDPOLYGON() endpolygon() -#define V3F_F(x,j,id) v3f(x) -#define V3F_D(x,j,id) v3d(x) -#define N3F_F(x) n3f(x) -#define T2F_F(x,y) -#define T2F_D(x,y) -#define C3F(x) c3f(x) - -#define POPMATRIX() popmatrix () -#define PUSHMATRIX() pushmatrix() -#define MULTMATRIX_F(x) multmatrix (x) -#define LOADMATRIX_F(x) loadmatrix (x) - -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = (float) x[0]; \ - nnn[1] = (float) x[1]; \ - nnn[2] = (float) x[2]; \ - n3f (nnn); \ -} - -#define LOADMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - loadmatrix(mmm); \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - multmatrix(mmm); \ -} - -/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ -#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) - -#endif /* GL_32 */ - -/* ====================================================== */ -#ifdef OPENGL_10 - -#if defined(_WIN32) -#include -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#endif -#include -#include - -/* -#define N3F_F(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -*/ - -#define C3F(x) glColor3fv(x) -#define T2F_F(x,y) glTexCoord2f(x,y) -#define T2F_D(x,y) glTexCoord2d(x,y) - -#define POPMATRIX() glPopMatrix() -#define PUSHMATRIX() glPushMatrix() - -#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) -#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) - -#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) -#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) - -#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) - -/* ====================================================== */ -#ifdef AUTO_TEXTURE - -#define BGNTMESH(i,len) { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ - glBegin (GL_TRIANGLE_STRIP); \ -} - -#define BGNPOLYGON() { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ - glBegin (GL_POLYGON); \ -} - -#define N3F_F(x) { \ - if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ - glNormal3fv(x); \ -} - -#define N3F_D(x) { \ - if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ - glNormal3dv(x); \ -} - -#define V3F_F(x,j,id) { \ - if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ - glVertex3fv(x); \ -} - -#define V3F_D(x,j,id) { \ - if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ - glVertex3dv(x); \ -} - -#define ENDTMESH() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -#define ENDPOLYGON() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -/* ====================================================== */ -#else /* AUTO_TEXTURE */ - -#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); -#define BGNPOLYGON() glBegin (GL_POLYGON); - -#define N3F_F(x) glNormal3fv(x) -#define N3F_D(x) glNormal3dv(x) -#define V3F_F(x,j,id) glVertex3fv(x); -#define V3F_D(x,j,id) glVertex3dv(x); - -#define ENDTMESH() glEnd () -#define ENDPOLYGON() glEnd() - -#endif /* AUTO_TEXTURE */ - -#endif /* OPENGL_10 */ - -/* ====================================================== */ - - -#endif /* __GLE_PORT_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h deleted file mode 100755 index 91083e9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * rot.h - * - * FUNCTION: - * rotation matrix utilities - * - * HISTORY: - * Linas Vepstas Aug 1990 - */ - -/* ========================================================== */ -/* - * The MACROS below generate and return more traditional rotation - * matrices -- matrices for rotations about principal axes. - */ -/* ========================================================== */ - -#define ROTX_CS(m,cosine,sine) \ -{ \ - /* rotation about the x-axis */ \ - \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = (cosine); \ - m[1][2] = (sine); \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = -(sine); \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTY_CS(m,cosine,sine) \ -{ \ - /* rotation about the y-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = 0.0; \ - m[0][2] = -(sine); \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = (sine); \ - m[2][1] = 0.0; \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTZ_CS(m,cosine,sine) \ -{ \ - /* rotation about the z-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = (sine); \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = -(sine); \ - m[1][1] = (cosine); \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h deleted file mode 100755 index 8d1cf04..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * MODULE: segment.h - * - * FUNCTION: - * Contains function prototypes for segment drawing subroutines. - * These are used only internally, and are not to be exported to - * the user. - * - * HISTORY: - * Create by Linas Vepstas - * Added tube.h include to define gleDouble, tad February 2002 - */ - -/* ============================================================ */ - -#include "tube.h" - -extern void draw_segment_plain (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - int inext, double len); - -extern void draw_segment_color (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_edge_n (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_edge_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -/* ============================================================ */ - -extern void draw_binorm_segment_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_binorm_segment_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ - gleDouble bi[3], /* biscetor */ - gleDouble point_array[][3]); /* polyline */ - -/* -------------------------- end of file -------------------------------- */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h deleted file mode 100755 index c303e19..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * tube.h - * - * FUNCTION: - * Tubing and Extrusion header file. - * This file provides protypes and defines for the extrusion - * and tubing primitives. - * - * HISTORY: - * Linas Vepstas 1990, 1991 - */ - -#ifndef __TUBE_H__ -#define __TUBE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLE API revision history: - - GLE_API_VERSION is updated to reflect GLE API changes (interface - changes, semantic changes, deletions, or additions). - - GLE_API_VERSION=228 GLUT 3.7 release of GLE. -**/ -#ifndef GLE_API_VERSION /* allow this to be overriden */ -#define GLE_API_VERSION 228 -#endif - -/* some types */ -#ifndef gleDouble - #define gleDouble double -#endif -typedef gleDouble gleAffine[2][3]; - -/* ====================================================== */ - -/* defines for tubing join styles */ -#define TUBE_JN_RAW 0x1 -#define TUBE_JN_ANGLE 0x2 -#define TUBE_JN_CUT 0x3 -#define TUBE_JN_ROUND 0x4 -#define TUBE_JN_MASK 0xf /* mask bits */ -#define TUBE_JN_CAP 0x10 - -/* determine how normal vectors are to be handled */ -#define TUBE_NORM_FACET 0x100 -#define TUBE_NORM_EDGE 0x200 -#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ -#define TUBE_NORM_MASK 0xf00 /* mask bits */ - -/* closed or open countours */ -#define TUBE_CONTOUR_CLOSED 0x1000 - -#define GLE_TEXTURE_ENABLE 0x10000 -#define GLE_TEXTURE_STYLE_MASK 0xff -#define GLE_TEXTURE_VERTEX_FLAT 1 -#define GLE_TEXTURE_NORMAL_FLAT 2 -#define GLE_TEXTURE_VERTEX_CYL 3 -#define GLE_TEXTURE_NORMAL_CYL 4 -#define GLE_TEXTURE_VERTEX_SPH 5 -#define GLE_TEXTURE_NORMAL_SPH 6 -#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 -#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 -#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 -#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 -#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 -#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 - -#ifdef GL_32 -/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ -#define TUBE_LIGHTING_ON 0x80000000 - -#define gleExtrusion extrusion -#define gleSetJoinStyle setjoinstyle -#define gleGetJoinStyle getjoinstyle -#define glePolyCone polycone -#define glePolyCylinder polycylinder -#define gleSuperExtrusion super_extrusion -#define gleTwistExtrusion twist_extrusion -#define gleSpiral spiral -#define gleLathe lathe -#define gleHelicoid helicoid -#define gleToroid toroid -#define gleScrew screw - -#endif /* GL_32 */ - -extern int gleGetJoinStyle (void); -extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ -extern int gleGetNumSlices(void); -extern void gleSetNumSlices(int slices); - -/* draw polyclinder, specified as a polyline */ -extern void glePolyCylinder (int npoints, /* num points in polyline */ - gleDouble point_array[][3], /* polyline vertces */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius); /* radius of polycylinder */ - -/* draw polycone, specified as a polyline with radii */ -extern void glePolyCone (int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius_array[]); /* cone radii at polyline verts */ - -/* extrude arbitrary 2D contour along arbitrary 3D path */ -extern void gleExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3]); /* colors at polyline verts */ - -/* extrude 2D contour, specifying local rotations (twists) */ -extern void gleTwistExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble twist_array[]); /* countour twists (in degrees) */ - -/* extrude 2D contour, specifying local affine tranformations */ -extern void gleSuperExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* spiral moves contour along helical path by parallel transport */ -extern void gleSpiral (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* lathe moves contour along helical path by helically shearing 3D space */ -extern void gleLathe (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to spiral, except contour is a circle */ -extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to lathe, except contour is a circle */ -extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* draws a screw shape */ -extern void gleScrew (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startz, /* start of segment */ - gleDouble endz, /* end of segment */ - gleDouble twist); /* number of rotations */ - -extern void gleTextureMode (int mode); - -#ifdef __cplusplus -} - -#endif -#endif /* __TUBE_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h deleted file mode 100755 index ccd2853..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* - * tube_gc.h - * - * FUNCTION: - * This file allows for easy changes to changes in the way the extrusion - * library handles state info (i.e. context). - * - * HISTORY: - * Linas Vepstas --- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - * Added tube.h include to define gleDouble, tad February 2002 - */ - -#include "tube.h" -#include "port.h" /* for gleVector */ - -typedef float gleColor[3]; -typedef double gleTwoVec[2]; - -typedef struct { - - /* public methods */ - void (*bgn_gen_texture) (int, double); - void (*n3f_gen_texture) (float *); - void (*n3d_gen_texture) (double *); - void (*v3f_gen_texture) (float *, int, int); - void (*v3d_gen_texture) (double *, int, int); - void (*end_gen_texture) (void); - - /* protected members -- "general knowledge" stuff */ - int join_style; - - /* arguments passed into extrusion code */ - int ncp; /* number of contour points */ - gleTwoVec *contour; /* 2D contour */ - gleTwoVec *cont_normal; /* 2D contour normals */ - gleDouble *up; /* up vector */ - int npoints; /* number of points in polyline */ - gleVector *point_array; /* path */ - gleColor *color_array; /* path colors */ - gleAffine *xform_array; /* contour xforms */ - - /* private members, used by texturing code */ - int num_vert; - int segment_number; - double segment_length; - double accum_seg_len; - double prev_x; - double prev_y; - - void (*save_bgn_gen_texture) (int, double); - void (*save_n3f_gen_texture) (float *); - void (*save_n3d_gen_texture) (double *); - void (*save_v3f_gen_texture) (float *, int, int); - void (*save_v3d_gen_texture) (double *, int, int); - void (*save_end_gen_texture) (void); - -} gleGC; - -extern gleGC *_gle_gc; -extern gleGC * gleCreateGC (void); - -#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } -#define extrusion_join_style (_gle_gc->join_style) - -#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) -#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) -#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) -#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) - -#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) -#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) -#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) -#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) -#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) - -/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h deleted file mode 100755 index b58dcd6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h +++ /dev/null @@ -1,1339 +0,0 @@ - -/* - * vvector.h - * - * FUNCTION: - * This file contains a number of utilities useful for handling - * 3D vectors - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Added 2D code, March 1993 - * Added Outer products, C++ proofed, Linas Vepstas October 1993 - */ - -#ifndef __GUTIL_VECTOR_H__ -#define __GUTIL_VECTOR_H__ - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - - -#include -#include "port.h" - -/* ========================================================== */ -/* Zero out a 2D vector */ - -#define VEC_ZERO_2(a) \ -{ \ - (a)[0] = (a)[1] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 3D vector */ - -#define VEC_ZERO(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 4D vector */ - -#define VEC_ZERO_4(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ -} - -/* ========================================================== */ -/* Vector copy */ - -#define VEC_COPY_2(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ -} - -/* ========================================================== */ -/* Copy 3D vector */ - -#define VEC_COPY(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ -} - -/* ========================================================== */ -/* Copy 4D vector */ - -#define VEC_COPY_4(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ - (b)[3] = (a)[3]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ - (v21)[3] = (v2)[3] - (v1)[3]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ - (v21)[3] = (v2)[3] + (v1)[3]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_2(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_4(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ - (c)[3] = (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_2(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_4(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ - (c)[3] += (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_2(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_4(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ -} - -/* ========================================================== */ -/* vector impact parameter (squared) */ - -#define VEC_IMPACT_SQ(bsq,direction,position) \ -{ \ - gleDouble vlen, llel; \ - VEC_DOT_PRODUCT (vlen, position, position); \ - VEC_DOT_PRODUCT (llel, direction, position); \ - bsq = vlen - llel*llel; \ -} - -/* ========================================================== */ -/* vector impact parameter */ - -#define VEC_IMPACT(bsq,direction,position) \ -{ \ - VEC_IMPACT_SQ(bsq,direction,position); \ - bsq = sqrt (bsq); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_2(vlen,a) \ -{ \ - vlen = a[0]*a[0] + a[1]*a[1]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_4(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen += (a)[3] * (a)[3]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* distance between two points */ - -#define VEC_DISTANCE(vlen,va,vb) \ -{ \ - gleDouble tmp[4]; \ - VEC_DIFF (tmp, vb, va); \ - VEC_LENGTH (vlen, tmp); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_CONJUGATE_LENGTH(vlen,a) \ -{ \ - vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_NORMALIZE(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = 1.0 / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_RENORMALIZE(a,newlen) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = newlen / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* 3D Vector cross product yeilding vector */ - -#define VEC_CROSS_PRODUCT(c,a,b) \ -{ \ - c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ - c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ - c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ -} - -/* ========================================================== */ -/* Vector perp -- assumes that n is of unit length - * accepts vector v, subtracts out any component parallel to n */ - -#define VEC_PERP(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (v)[0] - (vdot) * (n)[0]; \ - vp[1] = (v)[1] - (vdot) * (n)[1]; \ - vp[2] = (v)[2] - (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector parallel -- assumes that n is of unit length - * accepts vector v, subtracts out any component perpendicular to n */ - -#define VEC_PARALLEL(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (vdot) * (n)[0]; \ - vp[1] = (vdot) * (n)[1]; \ - vp[2] = (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector reflection -- assumes n is of unit length */ -/* Takes vector v, reflects it against reflector n, and returns vr */ - -#define VEC_REFLECT(vr,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ - vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ - vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector blending */ -/* Takes two vectors a, b, blends them together */ - -#define VEC_BLEND(vr,sa,a,sb,b) \ -{ \ - \ - vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ - vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ - vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_2(a) \ -{ \ - double vlen; \ - VEC_LENGTH_2 (vlen, a); \ - printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen, (a)); \ - printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_4(a) \ -{ \ - double vlen; \ - VEC_LENGTH_4 (vlen, (a)); \ - printf (" a is %f %f %f %f length of a is %f \n", \ - (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_4X4(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_3X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<3; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_2X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<2; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_3X3(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_4X4(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - b[0][3] = a[0][3]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - b[1][3] = a[1][3]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[2][3]; \ - \ - b[3][0] = a[3][0]; \ - b[3][1] = a[3][1]; \ - b[3][2] = a[3][2]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - b[0][3] = a[3][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - b[1][3] = a[3][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[3][2]; \ - \ - b[3][0] = a[0][3]; \ - b[3][1] = a[1][3]; \ - b[3][2] = a[2][3]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - b[0][3] = (s) * a[0][3]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - b[1][3] = (s) * a[1][3]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ - b[2][3] = (s) * a[2][3]; \ - \ - b[3][0] = s * a[3][0]; \ - b[3][1] = s * a[3][1]; \ - b[3][2] = s * a[3][2]; \ - b[3][3] = s * a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - b[0][3] += (s) * a[0][3]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - b[1][3] += (s) * a[1][3]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ - b[2][3] += (s) * a[2][3]; \ - \ - b[3][0] += (s) * a[3][0]; \ - b[3][1] += (s) * a[3][1]; \ - b[3][2] += (s) * a[3][2]; \ - b[3][3] += (s) * a[3][3]; \ -} - -/* +========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_2X2(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_3X3(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_4X4(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ - c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ - c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ - c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ - \ - c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ - c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ - c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ - c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_3X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_4X4(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ - p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ -} - -/* ========================================================== */ -/* vector transpose times matrix */ -/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ - -#define VEC_DOT_MAT_3X3(p,v,m) \ -{ \ - p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ - p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ - p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ -} - -/* ========================================================== */ -/* affine matrix times vector */ -/* The matrix is assumed to be an affine matrix, with last two - * entries representing a translation */ - -#define MAT_DOT_VEC_2X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ -} - -/* ========================================================== */ -/* inverse transpose of matrix times vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * - * DANGER !!! Do Not use this on normal vectors!!! - * It will leave normals the wrong length !!! - * See macro below for use on normals. - */ - -#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - gleDouble det; \ - \ - det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - /* if matrix not singular, and not orthonormal, then renormalize */ \ - if ((det!=1.0) && (det != 0.0)) { \ - det = 1.0 / det; \ - p[0] *= det; \ - p[1] *= det; \ - } \ -} - -/* ========================================================== */ -/* transform normal vector by inverse transpose of matrix - * and then renormalize the vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * Vector p is then normalized. - */ - - -#define NORM_XFORM_2X2(p,m,v) \ -{ \ - double mlen; \ - \ - /* do nothing if off-diagonals are zero and diagonals are \ - * equal */ \ - if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - mlen = p[0]*p[0] + p[1]*p[1]; \ - mlen = 1.0 / sqrt (mlen); \ - p[0] *= mlen; \ - p[1] *= mlen; \ - } else { \ - VEC_COPY_2 (p, v); \ - } \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - m[0][3] = v[0] * t[3]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - m[1][3] = v[1] * t[3]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ - m[2][3] = v[2] * t[3]; \ - \ - m[3][0] = v[3] * t[0]; \ - m[3][1] = v[3] * t[1]; \ - m[3][2] = v[3] * t[2]; \ - m[3][3] = v[3] * t[3]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - m[0][3] += v[0] * t[3]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - m[1][3] += v[1] * t[3]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ - m[2][3] += v[2] * t[3]; \ - \ - m[3][0] += v[3] * t[0]; \ - m[3][1] += v[3] * t[1]; \ - m[3][2] += v[3] * t[2]; \ - m[3][3] += v[3] * t[3]; \ -} - -/* +========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_2X2(d,m) \ -{ \ - d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ -} - -/* ========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_3X3(d,m) \ -{ \ - d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ - d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ - d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ -} - -/* ========================================================== */ -/* i,j,th cofactor of a 4x4 matrix - * - */ - -#define COFACTOR_4X4_IJ(fac,m,i,j) \ -{ \ - int ii[4], jj[4], k; \ - \ - /* compute which row, columnt to skip */ \ - for (k=0; k - - - - IBDocumentLocation - 4 104 410 240 0 0 1152 848 - IBEditorPositions - - 29 - 19 615 246 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBGroupedObjects - - IBLastGroupID - 1 - IBOpenObjects - - 29 - - IBSystem Version - 6I32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib deleted file mode 100755 index 8a7140e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib deleted file mode 100755 index 7e85eb1..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib +++ /dev/null @@ -1,13 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {toggleWindow = id; }; - CLASS = GLUTClipboardController; - LANGUAGE = ObjC; - OUTLETS = {_infoText = id; _scrollView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib deleted file mode 100755 index 867735d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib +++ /dev/null @@ -1,12 +0,0 @@ - - - - - IBDocumentLocation - 63 221 356 240 0 0 1600 1178 - IBFramework Version - 263.2 - IBSystem Version - 5S41 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib deleted file mode 100755 index 29125d4..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib deleted file mode 100755 index c675963..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib +++ /dev/null @@ -1,73 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = {save = id; saveAs = id; }; - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - cancel = id; - joyAssign = id; - joyDevice = id; - joyElement = id; - joyInvert = id; - launchDebugMode = id; - launchGamemodeCaptureSingle = id; - launchIconic = id; - launchUseCurrWD = id; - launchUseExtDesktop = id; - launchUseMacOSCoords = id; - mouseEanbleEmulation = id; - mouseMiddleMenu = id; - mouseRightMenu = id; - ok = id; - spaceAssign = id; - spaceDevice = id; - spaceElement = id; - spaceInvert = id; - }; - CLASS = GLUTPreferencesController; - LANGUAGE = ObjC; - OUTLETS = { - joyAssign = NSButton; - joyAssignNote = NSTextField; - joyAssignWarningIcon = NSImageView; - joyDeviceMenu = NSPopUpButton; - joyElement = NSTextField; - joyInputMenu = NSPopUpButton; - joyInverted = NSButton; - launchDebugMode = NSButton; - launchFadeTime = NSTextField; - launchGamemodeCaptureSingle = NSButton; - launchIconic = NSButton; - launchInitHeight = NSTextField; - launchInitWidth = NSTextField; - launchInitX = NSTextField; - launchInitY = NSTextField; - launchMenuIdle = NSTextField; - launchSyncToVBL = NSButton; - launchUseCurrWD = NSButton; - launchUseExtendedDesktop = NSButton; - launchUseMacOSXCoords = NSButton; - mouseAssignWarningIcon = NSImageView; - mouseAssignWarningText = NSTextField; - mouseDetected = NSTextField; - mouseEmulation = NSButton; - mouseMiddleConfigMenu = NSPopUpButton; - mouseRightConfigMenu = NSPopUpButton; - prefsTabView = NSTabView; - spaceAssign = NSButton; - spaceAssignNote = NSTextField; - spaceAssignWarningIcon = NSImageView; - spaceDeviceMenu = NSPopUpButton; - spaceElement = NSTextField; - spaceInputMenu = NSPopUpButton; - spaceInverted = NSButton; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib deleted file mode 100755 index 216c8dc..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBDocumentLocation - 16 329 410 240 0 0 1920 1178 - IBFramework Version - 439.0 - IBOpenObjects - - 205 - - IBSystem Version - 8G32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib deleted file mode 100755 index 7598f2c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings deleted file mode 100755 index 6db3c5c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings deleted file mode 100755 index 6f78b89..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist deleted file mode 100755 index e8fc9d6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - GLUT - CFBundleGetInfoString - 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved - CFBundleIdentifier - com.apple.glut - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.4.0 - CFBundleSignature - ???? - CFBundleVersion - GLUT-3.4.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff deleted file mode 100755 index a2b0cf1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff deleted file mode 100755 index c3f4795..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff deleted file mode 100755 index 274529f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff deleted file mode 100755 index dec4252..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff deleted file mode 100755 index 8536c0e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff deleted file mode 100755 index 34b52f6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff deleted file mode 100755 index 9e3a1cb..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff deleted file mode 100755 index 0087c66..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff deleted file mode 100755 index fc4a88a..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff deleted file mode 100755 index 852b69b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff deleted file mode 100755 index 37fe393..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff deleted file mode 100755 index d852616..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff deleted file mode 100755 index 9781f22..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff deleted file mode 100755 index 9bec966..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff deleted file mode 100755 index e4df0de..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff deleted file mode 100755 index 43cf97f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff deleted file mode 100755 index 429b01b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff deleted file mode 100755 index 1605063..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff deleted file mode 100755 index 81ba1aa..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT deleted file mode 100755 index babc6b1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h deleted file mode 100755 index a5116e2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h +++ /dev/null @@ -1,18 +0,0 @@ - -/* - * - * Written By Linas Vepstas November 1991 - */ - - -#define COPY_THREE_WORDS(A,B) { \ - struct three_words { int a, b, c, }; \ - *(struct three_words *) (A) = *(struct three_words *) (B); \ -} - -#define COPY_FOUR_WORDS(A,B) { \ - struct four_words { int a, b, c, d, }; \ - *(struct four_words *) (A) = *(struct four_words *) (B); \ -} - -/* ============================================================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h deleted file mode 100755 index 658699e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h +++ /dev/null @@ -1,96 +0,0 @@ - -/* - * extrude.h - * - * FUNCTION: - * prototypes for privately used subroutines for the tubing library - * - * HISTORY: - * Linas Vepstas 1991 - */ - -#include "port.h" /* for gleDouble */ - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ============================================================ */ -/* - * Provides choice of calling subroutine, vs. invoking macro. - * Basically, inlines the source, or not. - * Trades performance for executable size. - */ - -#define INLINE_INTERSECT -#ifdef INLINE_INTERSECT -#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } -#else -#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) -#endif /* INLINE_INTERSECT */ - -/* ============================================================ */ -/* The folowing defines give a kludgy way of accessing the qmesh primitive */ - -/* -#define bgntmesh _emu_qmesh_bgnqmesh -#define endtmesh _emu_qmesh_endqmesh -#define c3f _emu_qmesh_c3f -#define n3f _emu_qmesh_n3f -#define v3f _emu_qmesh_v3f -*/ - -/* ============================================================ */ - -extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3]); /* polyline */ - - -extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble zval, /* where to draw cap */ - int frontwards); /* front or back cap */ - -extern void draw_round_style_cap_callback (int iloop, - double cap[][3], - float face_color[3], - gleDouble cut_vector[3], - gleDouble bisect_vector[3], - double norms[][3], - int frontwards); - -extern void draw_angle_style_front_cap (int ncp, - gleDouble bi[3], - gleDouble point_array[][3]); - -extern void extrusion_raw_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_angle_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h deleted file mode 100755 index baf54a7..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef __glsmap_h__ -#define __glsmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) - -/* Try hard to avoid including to avoid name space pollution, - but Win32's needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK - /* XXX This is from Win32's */ -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif /* _WIN32 */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SMAP_CLEAR_SMAP_TEXTURE = 0x1, - SMAP_GENERATE_VIEW_MIPMAPS = 0x2, - SMAP_GENERATE_SMAP_MIPMAPS = 0x4, - SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ -} SphereMapFlags; - -/* Cube view enumerants. */ -enum { - SMAP_FRONT = 0, - SMAP_TOP = 1, - SMAP_BOTTOM = 2, - SMAP_LEFT = 3, - SMAP_RIGHT = 4, - SMAP_BACK = 5 -}; - -typedef struct _SphereMap SphereMap; - -extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); -extern void smapDestroySphereMap(SphereMap *smap); - -extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); - -extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); -extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); - -extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); -extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); - -extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); -extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); - -extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); -extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); -extern void smapSetUpVector(SphereMap *smap, GLfloat *up); -extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); -extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); -extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); -extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); -extern void smapGetUpVector(SphereMap *smap, GLfloat *up); -extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); -extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); - -extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); -extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); - -extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); -extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); -extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); -extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); - -extern void smapSetContextData(SphereMap *smap, void *context); -extern void smapGetContextData(SphereMap *smap, void **context); - -extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); -extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); -extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); -extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); - -extern void smapGenViewTex(SphereMap *smap, int view); -extern void smapGenViewTexs(SphereMap *smap); -extern void smapGenSphereMapFromViewTexs(SphereMap *smap); -extern void smapGenSphereMap(SphereMap *smap); -extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); - -extern int smapRvecToSt(float rvec[3], float st[2]); -extern void smapStToRvec(float *st, float *rvec); - -#ifdef __cplusplus -} - -#endif -#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h deleted file mode 100755 index 3620e7d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef __glsmapint_h__ -#define __glsmapint_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glsmap.h" - -enum { X = 0, Y = 1, Z = 2 }; - -#define INITFACE(mesh) \ - int steps = mesh->steps; \ - int sqsteps = mesh->steps * mesh->steps - -#define FACE(side,y,x) \ - mesh->face[(side)*sqsteps + (y)*steps + (x)] - -#define FACExy(side,i,j) \ - (&FACE(side,i,j).x) - -#define FACEst(side,i,j) \ - (&FACE(side,i,j).s) - -#define INITBACK(mesh) \ - int allrings = mesh->rings + mesh->edgeExtend; \ - int ringedspokes = allrings * mesh->steps - -#define BACK(edge,ring,spoke) \ - mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] - -#define BACKxy(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).x) - -#define BACKst(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).s) - -typedef struct _STXY { - GLfloat s, t; - GLfloat x, y; -} STXY; - -typedef struct _SphereMapMesh { - - int refcnt; - - int steps; - int rings; - int edgeExtend; - - STXY *face; - STXY *back; - -} SphereMapMesh; - -struct _SphereMap { - - /* Shared sphere map mesh vertex data. */ - SphereMapMesh *mesh; - - /* Texture object ids. */ - GLuint smapTexObj; - GLuint viewTexObjs[6]; - GLuint viewTexObj; - - /* Flags */ - SphereMapFlags flags; - - /* Texture dimensions must be a power of two. */ - int viewTexDim; /* view texture dimension */ - int smapTexDim; /* sphere map texture dimension */ - - /* Viewport origins for view and sphere map rendering. */ - int viewOrigin[2]; - int smapOrigin[2]; - - /* Viewing vectors. */ - GLfloat eye[3]; - GLfloat up[3]; - GLfloat obj[3]; - - /* Projection parameters. */ - GLfloat viewNear; - GLfloat viewFar; - - /* Rendering callbacks. */ - void (*positionLights)(int view, void *context); - void (*drawView)(int view, void *context); - - /* Application specified callback data. */ - void *context; - -}; - -/* Library internal routines. */ -extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); -extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); -extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); - -#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h deleted file mode 100755 index cbc6ebe..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h +++ /dev/null @@ -1,648 +0,0 @@ -#ifndef __glut_h__ -#define __glut_h__ - -/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ - -/* This program is freely distributable without licensing fees and is - provided without guarantee or warrantee expressed or implied. This - program is -not- in the public domain. */ -//#define GLUT_OF_007_HACK - -#if defined(_WIN32) - -/* GLUT 3.7 now tries to avoid including - to avoid name space pollution, but Win32's - needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# define GLUT_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif - /* XXX This is from Win32's */ -# ifndef CALLBACK -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define GLUT_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ -#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif - -#if defined(__APPLE__) || defined(MACOSX) -#include -#include -#include -#else -#include -#include -#endif - -/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ -#if !defined(_WIN32) -#define APIENTRY -#define GLUT_APIENTRY_DEFINED -#define CALLBACK -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLUT API revision history: - - GLUT_API_VERSION is updated to reflect incompatible GLUT - API changes (interface changes, semantic changes, deletions, - or additions). - - GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 - - GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, - extension. Supports new input devices like tablet, dial and button - box, and Spaceball. Easy to query OpenGL extensions. - - GLUT_API_VERSION=3 glutMenuStatus added. - - GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, - glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic - video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, - glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, - glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). - - GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) -**/ -#ifndef GLUT_API_VERSION /* allow this to be overriden */ -#define GLUT_API_VERSION 5 -#endif - -/** - GLUT implementation revision history: - - GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT - API revisions and implementation revisions (ie, bug fixes). - - GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of - GLUT Xlib-based implementation. 11/29/94 - - GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of - GLUT Xlib-based implementation providing GLUT version 2 - interfaces. - - GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 - - GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 - - GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 - - GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 - - GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner - and video resize. 1/3/97 - - GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. - - GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. - - GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. - - GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. - - GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. - - GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa -**/ -#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_XLIB_IMPLEMENTATION 15 -#endif - -/** - MacOS X GLUT implementation revision history: - - GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X - specific GLUT API revisions and implementation revisions - (ie, bug fixes). - - GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. - - GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. - -**/ -#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_MACOSX_IMPLEMENTATION 2 -#endif - -/* Display mode bit masks. */ -#define GLUT_RGB 0 -#define GLUT_RGBA GLUT_RGB -#define GLUT_INDEX 1 -#define GLUT_SINGLE 0 -#define GLUT_DOUBLE 2 -#define GLUT_ACCUM 4 -#define GLUT_ALPHA 8 -#define GLUT_DEPTH 16 -#define GLUT_STENCIL 32 -#if (GLUT_API_VERSION >= 2) -#define GLUT_MULTISAMPLE 128 -#define GLUT_STEREO 256 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_LUMINANCE 512 -#endif -#define GLUT_NO_RECOVERY 1024 - -/* Mouse buttons. */ -#define GLUT_LEFT_BUTTON 0 -#define GLUT_MIDDLE_BUTTON 1 -#define GLUT_RIGHT_BUTTON 2 - -/* Mouse button state. */ -#define GLUT_DOWN 0 -#define GLUT_UP 1 - -#if (GLUT_API_VERSION >= 2) -/* function keys */ -#define GLUT_KEY_F1 1 -#define GLUT_KEY_F2 2 -#define GLUT_KEY_F3 3 -#define GLUT_KEY_F4 4 -#define GLUT_KEY_F5 5 -#define GLUT_KEY_F6 6 -#define GLUT_KEY_F7 7 -#define GLUT_KEY_F8 8 -#define GLUT_KEY_F9 9 -#define GLUT_KEY_F10 10 -#define GLUT_KEY_F11 11 -#define GLUT_KEY_F12 12 -/* directional keys */ -#define GLUT_KEY_LEFT 100 -#define GLUT_KEY_UP 101 -#define GLUT_KEY_RIGHT 102 -#define GLUT_KEY_DOWN 103 -#define GLUT_KEY_PAGE_UP 104 -#define GLUT_KEY_PAGE_DOWN 105 -#define GLUT_KEY_HOME 106 -#define GLUT_KEY_END 107 -#define GLUT_KEY_INSERT 108 -#endif - -/* Entry/exit state. */ -#define GLUT_LEFT 0 -#define GLUT_ENTERED 1 - -/* Menu usage state. */ -#define GLUT_MENU_NOT_IN_USE 0 -#define GLUT_MENU_IN_USE 1 - -/* Visibility state. */ -#define GLUT_NOT_VISIBLE 0 -#define GLUT_VISIBLE 1 - -/* Window status state. */ -#define GLUT_HIDDEN 0 -#define GLUT_FULLY_RETAINED 1 -#define GLUT_PARTIALLY_RETAINED 2 -#define GLUT_FULLY_COVERED 3 - -/* Color index component selection values. */ -#define GLUT_RED 0 -#define GLUT_GREEN 1 -#define GLUT_BLUE 2 - -/* Layers for use. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -#if defined(_WIN32) -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN ((void*)0) -#define GLUT_STROKE_MONO_ROMAN ((void*)1) - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 ((void*)2) -#define GLUT_BITMAP_8_BY_13 ((void*)3) -#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) -#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 ((void*)6) -#define GLUT_BITMAP_HELVETICA_12 ((void*)7) -#define GLUT_BITMAP_HELVETICA_18 ((void*)8) -#endif -#else -/* Stroke font opaque addresses (use constants instead in source code). */ -extern void *glutStrokeRoman; -extern void *glutStrokeMonoRoman; - -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN (&glutStrokeRoman) -#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) - -/* Bitmap font opaque addresses (use constants instead in source code). */ -extern void *glutBitmap9By15; -extern void *glutBitmap8By13; -extern void *glutBitmapTimesRoman10; -extern void *glutBitmapTimesRoman24; -extern void *glutBitmapHelvetica10; -extern void *glutBitmapHelvetica12; -extern void *glutBitmapHelvetica18; - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) -#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) -#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) -#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) -#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) -#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) -#endif -#endif - -/* glutGet parameters. */ -#define GLUT_WINDOW_X 100 -#define GLUT_WINDOW_Y 101 -#define GLUT_WINDOW_WIDTH 102 -#define GLUT_WINDOW_HEIGHT 103 -#define GLUT_WINDOW_BUFFER_SIZE 104 -#define GLUT_WINDOW_STENCIL_SIZE 105 -#define GLUT_WINDOW_DEPTH_SIZE 106 -#define GLUT_WINDOW_RED_SIZE 107 -#define GLUT_WINDOW_GREEN_SIZE 108 -#define GLUT_WINDOW_BLUE_SIZE 109 -#define GLUT_WINDOW_ALPHA_SIZE 110 -#define GLUT_WINDOW_ACCUM_RED_SIZE 111 -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 -#define GLUT_WINDOW_DOUBLEBUFFER 115 -#define GLUT_WINDOW_RGBA 116 -#define GLUT_WINDOW_PARENT 117 -#define GLUT_WINDOW_NUM_CHILDREN 118 -#define GLUT_WINDOW_COLORMAP_SIZE 119 -#if (GLUT_API_VERSION >= 2) -#define GLUT_WINDOW_NUM_SAMPLES 120 -#define GLUT_WINDOW_STEREO 121 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_WINDOW_CURSOR 122 -#endif -#define GLUT_SCREEN_WIDTH 200 -#define GLUT_SCREEN_HEIGHT 201 -#define GLUT_SCREEN_WIDTH_MM 202 -#define GLUT_SCREEN_HEIGHT_MM 203 -#define GLUT_MENU_NUM_ITEMS 300 -#define GLUT_DISPLAY_MODE_POSSIBLE 400 -#define GLUT_INIT_WINDOW_X 500 -#define GLUT_INIT_WINDOW_Y 501 -#define GLUT_INIT_WINDOW_WIDTH 502 -#define GLUT_INIT_WINDOW_HEIGHT 503 -#define GLUT_INIT_DISPLAY_MODE 504 -#if (GLUT_API_VERSION >= 2) -#define GLUT_ELAPSED_TIME 700 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_WINDOW_FORMAT_ID 123 -#endif - -#if (GLUT_API_VERSION >= 2) -/* glutDeviceGet parameters. */ -#define GLUT_HAS_KEYBOARD 600 -#define GLUT_HAS_MOUSE 601 -#define GLUT_HAS_SPACEBALL 602 -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 -#define GLUT_HAS_TABLET 604 -#define GLUT_NUM_MOUSE_BUTTONS 605 -#define GLUT_NUM_SPACEBALL_BUTTONS 606 -#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 -#define GLUT_NUM_DIALS 608 -#define GLUT_NUM_TABLET_BUTTONS 609 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 -#define GLUT_DEVICE_KEY_REPEAT 611 -#define GLUT_HAS_JOYSTICK 612 -#define GLUT_OWNS_JOYSTICK 613 -#define GLUT_JOYSTICK_BUTTONS 614 -#define GLUT_JOYSTICK_AXES 615 -#define GLUT_JOYSTICK_POLL_RATE 616 -#endif - -#if (GLUT_API_VERSION >= 3) -/* glutLayerGet parameters. */ -#define GLUT_OVERLAY_POSSIBLE 800 -#define GLUT_LAYER_IN_USE 801 -#define GLUT_HAS_OVERLAY 802 -#define GLUT_TRANSPARENT_INDEX 803 -#define GLUT_NORMAL_DAMAGED 804 -#define GLUT_OVERLAY_DAMAGED 805 - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* glutVideoResizeGet parameters. */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 900 -#define GLUT_VIDEO_RESIZE_IN_USE 901 -#define GLUT_VIDEO_RESIZE_X_DELTA 902 -#define GLUT_VIDEO_RESIZE_Y_DELTA 903 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 -#define GLUT_VIDEO_RESIZE_X 906 -#define GLUT_VIDEO_RESIZE_Y 907 -#define GLUT_VIDEO_RESIZE_WIDTH 908 -#define GLUT_VIDEO_RESIZE_HEIGHT 909 -#endif - -/* glutUseLayer parameters. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -/* glutGetModifiers return mask. */ -#define GLUT_ACTIVE_SHIFT 1 -#define GLUT_ACTIVE_CTRL 2 -#define GLUT_ACTIVE_ALT 4 - -/* glutSetCursor parameters. */ -/* Basic arrows. */ -#define GLUT_CURSOR_RIGHT_ARROW 0 -#define GLUT_CURSOR_LEFT_ARROW 1 -/* Symbolic cursor shapes. */ -#define GLUT_CURSOR_INFO 2 -#define GLUT_CURSOR_DESTROY 3 -#define GLUT_CURSOR_HELP 4 -#define GLUT_CURSOR_CYCLE 5 -#define GLUT_CURSOR_SPRAY 6 -#define GLUT_CURSOR_WAIT 7 -#define GLUT_CURSOR_TEXT 8 -#define GLUT_CURSOR_CROSSHAIR 9 -/* Directional cursors. */ -#define GLUT_CURSOR_UP_DOWN 10 -#define GLUT_CURSOR_LEFT_RIGHT 11 -/* Sizing cursors. */ -#define GLUT_CURSOR_TOP_SIDE 12 -#define GLUT_CURSOR_BOTTOM_SIDE 13 -#define GLUT_CURSOR_LEFT_SIDE 14 -#define GLUT_CURSOR_RIGHT_SIDE 15 -#define GLUT_CURSOR_TOP_LEFT_CORNER 16 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 -/* Inherit from parent window. */ -#define GLUT_CURSOR_INHERIT 100 -/* Blank cursor. */ -#define GLUT_CURSOR_NONE 101 -/* Fullscreen crosshair (if available). */ -#define GLUT_CURSOR_FULL_CROSSHAIR 102 -#endif - -/* GLUT initialization sub-API. */ -extern void APIENTRY glutInit(int *argcp, char **argv); -extern void APIENTRY glutInitDisplayMode(unsigned int mode); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutInitDisplayString(const char *string); -#endif -extern void APIENTRY glutInitWindowPosition(int x, int y); -extern void APIENTRY glutInitWindowSize(int width, int height); -extern void APIENTRY glutMainLoop(void); - -/* GLUT window sub-API. */ -extern int APIENTRY glutCreateWindow(const char *title); -extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); -extern void APIENTRY glutDestroyWindow(int win); -extern void APIENTRY glutPostRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowRedisplay(int win); -#endif -extern void APIENTRY glutSwapBuffers(void); -extern int APIENTRY glutGetWindow(void); -extern void APIENTRY glutSetWindow(int win); -extern void APIENTRY glutSetWindowTitle(const char *title); -extern void APIENTRY glutSetIconTitle(const char *title); -extern void APIENTRY glutPositionWindow(int x, int y); -extern void APIENTRY glutReshapeWindow(int width, int height); -extern void APIENTRY glutPopWindow(void); -extern void APIENTRY glutPushWindow(void); -extern void APIENTRY glutIconifyWindow(void); -extern void APIENTRY glutShowWindow(void); -extern void APIENTRY glutHideWindow(void); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutFullScreen(void); -extern void APIENTRY glutSetCursor(int cursor); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWarpPointer(int x, int y); -#if (GLUT_MACOSX_IMPLEMENTATION >= 1) -/* surface texturing API Mac OS X specific -* Note: -* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object -*/ -#ifdef MAC_OS_X_VERSION_10_5 -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -#else -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); -#endif -#endif -#if (GLUT_MACOSX_IMPLEMENTATION >= 2) -/* Mac OS X specific API */ -extern void APIENTRY glutWMCloseFunc(void (*func)(void)); -extern void APIENTRY glutCheckLoop(void); -#endif -#endif - -/* GLUT overlay sub-API. */ -extern void APIENTRY glutEstablishOverlay(void); -extern void APIENTRY glutRemoveOverlay(void); -extern void APIENTRY glutUseLayer(GLenum layer); -extern void APIENTRY glutPostOverlayRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowOverlayRedisplay(int win); -#endif -extern void APIENTRY glutShowOverlay(void); -extern void APIENTRY glutHideOverlay(void); -#endif - -/* GLUT menu sub-API. */ -extern int APIENTRY glutCreateMenu(void (*)(int)); -extern void APIENTRY glutDestroyMenu(int menu); -extern int APIENTRY glutGetMenu(void); -extern void APIENTRY glutSetMenu(int menu); -extern void APIENTRY glutAddMenuEntry(const char *label, int value); -extern void APIENTRY glutAddSubMenu(const char *label, int submenu); -extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); -extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); -extern void APIENTRY glutRemoveMenuItem(int item); -extern void APIENTRY glutAttachMenu(int button); -extern void APIENTRY glutDetachMenu(int button); - -/* GLUT window callback sub-API. */ -extern void APIENTRY glutDisplayFunc(void (*func)(void)); -extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); -extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); -extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutEntryFunc(void (*func)(int state)); -extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); -extern void APIENTRY glutIdleFunc(void (*func)(void)); -extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); -extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); -#if (GLUT_API_VERSION >= 2) -extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); -extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); -extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); -extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); -extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); -//#ifdef GLUT_OF_007_HACK -extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); -//#endif -#endif -#endif -#endif - -/* GLUT color index sub-API. */ -extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); -extern GLfloat APIENTRY glutGetColor(int ndx, int component); -extern void APIENTRY glutCopyColormap(int win); - -/* GLUT state retrieval sub-API. */ -extern int APIENTRY glutGet(GLenum type); -extern int APIENTRY glutDeviceGet(GLenum type); -#if (GLUT_API_VERSION >= 2) -/* GLUT extension support sub-API */ -extern int APIENTRY glutExtensionSupported(const char *name); -#endif -#if (GLUT_API_VERSION >= 3) -extern int APIENTRY glutGetModifiers(void); -extern int APIENTRY glutLayerGet(GLenum type); -#endif -#if (GLUT_API_VERSION >= 5) -extern void * APIENTRY glutGetProcAddress(const char *procName); -#endif - -/* GLUT font sub-API */ -extern void APIENTRY glutBitmapCharacter(void *font, int character); -extern int APIENTRY glutBitmapWidth(void *font, int character); -extern void APIENTRY glutStrokeCharacter(void *font, int character); -extern int APIENTRY glutStrokeWidth(void *font, int character); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); -extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); -#endif - -/* GLUT pre-built models sub-API */ -extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutWireCube(GLdouble size); -extern void APIENTRY glutSolidCube(GLdouble size); -extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutWireDodecahedron(void); -extern void APIENTRY glutSolidDodecahedron(void); -extern void APIENTRY glutWireTeapot(GLdouble size); -extern void APIENTRY glutSolidTeapot(GLdouble size); -extern void APIENTRY glutWireOctahedron(void); -extern void APIENTRY glutSolidOctahedron(void); -extern void APIENTRY glutWireTetrahedron(void); -extern void APIENTRY glutSolidTetrahedron(void); -extern void APIENTRY glutWireIcosahedron(void); -extern void APIENTRY glutSolidIcosahedron(void); - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* GLUT video resize sub-API. */ -extern int APIENTRY glutVideoResizeGet(GLenum param); -extern void APIENTRY glutSetupVideoResizing(void); -extern void APIENTRY glutStopVideoResizing(void); -extern void APIENTRY glutVideoResize(int x, int y, int width, int height); -extern void APIENTRY glutVideoPan(int x, int y, int width, int height); - -/* GLUT debugging sub-API. */ -extern void APIENTRY glutReportErrors(void); -#endif - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -/* GLUT device control sub-API. */ -/* glutSetKeyRepeat modes. */ -#define GLUT_KEY_REPEAT_OFF 0 -#define GLUT_KEY_REPEAT_ON 1 -#define GLUT_KEY_REPEAT_DEFAULT 2 - -/* Joystick button masks. */ -#define GLUT_JOYSTICK_BUTTON_A 1 -#define GLUT_JOYSTICK_BUTTON_B 2 -#define GLUT_JOYSTICK_BUTTON_C 4 -#define GLUT_JOYSTICK_BUTTON_D 8 - -extern void APIENTRY glutIgnoreKeyRepeat(int ignore); -extern void APIENTRY glutSetKeyRepeat(int repeatMode); -extern void APIENTRY glutForceJoystickFunc(void); - -/* GLUT game mode sub-API. */ -/* glutGameModeGet. */ -#define GLUT_GAME_MODE_ACTIVE 0 -#define GLUT_GAME_MODE_POSSIBLE 1 -#define GLUT_GAME_MODE_WIDTH 2 -#define GLUT_GAME_MODE_HEIGHT 3 -#define GLUT_GAME_MODE_PIXEL_DEPTH 4 -#define GLUT_GAME_MODE_REFRESH_RATE 5 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 - -extern void APIENTRY glutGameModeString(const char *string); -extern int APIENTRY glutEnterGameMode(void); -extern void APIENTRY glutLeaveGameMode(void); -extern int APIENTRY glutGameModeGet(GLenum mode); -#endif - -#ifdef __cplusplus -} - -#endif - -#ifdef GLUT_APIENTRY_DEFINED -# undef GLUT_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef GLUT_WINGDIAPI_DEFINED -# undef GLUT_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - -#endif /* __glut_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h deleted file mode 100755 index e29a016..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __glutbitmap_h__ -#define __glutbitmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glut.h" - -typedef struct { - const GLsizei width; - const GLsizei height; - const GLfloat xorig; - const GLfloat yorig; - const GLfloat advance; - const GLubyte *bitmap; -} BitmapCharRec, *BitmapCharPtr; - -typedef struct { - const char *name; - const int num_chars; - const int first; - const BitmapCharRec * const *ch; -} BitmapFontRec, *BitmapFontPtr; - -typedef void *GLUTbitmapFont; - -#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h deleted file mode 100755 index f8a170b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef __glutf90_h__ -#define __glutf90_h__ - -/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -/* This header provides the binding interface for William Mitchell's - f90gl Fortran 90 GLUT binding. Other GLUT language bindings - can and should use this interace. */ - -/* I appreciate the guidance from William Mitchell - (mitchell@cam.nist.gov) in developing this friend interface - for use by the f90gl package. See ../../README.fortran */ - -#include - -#ifndef GLUTCALLBACK - #define GLUTCALLBACK -#endif -#ifndef APIENTRY - #define APIENTRY -#endif - -/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ -/* NOTE These values are part of a binary interface for the f90gl Fortran - 90 binding and so must NOT changes (additions are allowed). */ - -/* GLUTwindow callbacks. */ -#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ -#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ -#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ -#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ -#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ -#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ -#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ -#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ -#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ -#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ -#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ -#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ -#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ -#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ -#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ -#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ -#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ -#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ -#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ -#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ -#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ -/* Non-GLUTwindow callbacks. */ -#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ -#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ -#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ - -/* GLUT Fortran callback function types. */ -typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); -typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); -typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); -/* NOTE the pressed key is int, not unsigned char for Fortran! */ -typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); -typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); -typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); -typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); - -typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); -typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); -typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ -typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTidleFCB) (void); - -/* Functions that set and return Fortran callback functions. */ -extern void* APIENTRY __glutGetFCB(int which); -extern void APIENTRY __glutSetFCB(int which, void *func); - -#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h deleted file mode 100755 index cbc9e15..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __glutstroke_h__ -#define __glutstroke_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ -#endif - -typedef struct { - float x; - float y; -} CoordRec, *CoordPtr; - -typedef struct { - int num_coords; - const CoordRec *coord; -} StrokeRec, *StrokePtr; - -typedef struct { - int num_strokes; - const StrokeRec *stroke; - float center; - float right; -} StrokeCharRec, *StrokeCharPtr; - -typedef struct { - const char *name; - int num_chars; - const StrokeCharRec *ch; - float top; - float bottom; -} StrokeFontRec, *StrokeFontPtr; - -typedef void *GLUTstrokeFont; - -#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h deleted file mode 100755 index f7ffcf3..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h +++ /dev/null @@ -1,89 +0,0 @@ - -/* - * gutil.h - * - * FUNCTION: - * Provide utilities that allow rotation to occur - * around any axis. - * - * HISTORY: - * created by Linas Vepstas 1990 - * added single & double precision, June 1991, Linas Vepstas - */ - -#ifndef __GUTIL_H__ -#define __GUTIL_H__ - -#ifdef __GUTIL_DOUBLE -#define gutDouble double -#else -#define gutDouble float -#endif - - -#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (); -extern void rot_about_axis_f (); -extern void rot_omega_f (); -extern void urot_axis_f (); -extern void urot_about_axis_f (); -extern void urot_omega_f (); - -/* double-precision versions */ -extern void rot_axis_d (); -extern void rot_about_axis_d (); -extern void rot_omega_d (); -extern void urot_axis_d (); -extern void urot_about_axis_d (); -extern void urot_omega_d (); - -/* viewpoint functions */ -extern void uview_direction_d (); -extern void uview_direction_f (); -extern void uviewpoint_d (); -extern void uviewpoint_f (); - -#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (float omega, float axis[3]); -extern void rot_about_axis_f (float angle, float axis[3]); -extern void rot_omega_f (float axis[3]); -extern void urot_axis_f (float m[4][4], float omega, float axis[3]); -extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); -extern void urot_omega_f (float m[4][4], float axis[3]); - -/* double-precision versions */ -extern void rot_axis_d (double omega, double axis[3]); -extern void rot_about_axis_d (double angle, double axis[3]); -extern void rot_omega_d (double axis[3]); -extern void urot_axis_d (double m[4][4], double omega, double axis[3]); -extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); -extern void urot_omega_d (double m[4][4], double axis[3]); - -/* viewpoint functions */ -extern void uview_direction_d (double m[4][4], /* returned */ - double v21[3], /* input */ - double up[3]); /* input */ - -extern void uview_direction_f (float m[4][4], /* returned */ - float v21[3], /* input */ - float up[3]); /* input */ - -extern void uviewpoint_d (double m[4][4], /* returned */ - double v1[3], /* input */ - double v2[3], /* input */ - double up[3]); /* input */ - -extern void uviewpoint_f (float m[4][4], /* returned */ - float v1[3], /* input */ - float v2[3], /* input */ - float up[3]); /* input */ - -#endif /* _NO_PROTO */ - -#endif /* _GUTIL_H__ */ - -/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h deleted file mode 100755 index f5ff7a5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * FUNCTION: - * This file contains a number of utilities useful to 3D graphics in - * general, and to the generation of tubing and extrusions in particular - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Updated to correctly handle degenerate cases, Linas, February 1993 - */ - -#include -#include "port.h" -#include "vvector.h" - -#define BACKWARDS_INTERSECT (2) - -/* ========================================================== */ -/* - * the Degenerate_Tolerance token represents the greatest amount by - * which different scales in a graphics environment can differ before - * they should be considered "degenerate". That is, when one vector is - * a million times longer than another, changces are that the second will - * be less than a pixel int, and therefore was probably meant to be - * degenerate (by the CAD package, etc.) But what should this tolerance - * be? At least 1 in onethousand (since screen sizes are 1K pixels), but - * les than 1 in 4 million (since this is the limit of single-precision - * floating point accuracy). Of course, if double precision were used, - * then the tolerance could be increased. - * - * Potentially, this naive assumption could cause problems if the CAD - * package attempts to zoom in on small details, and turns out, certain - * points should not hvae been degenerate. The problem presented here - * is that the tolerance could run out before single-precision ran - * out, and so the CAD packages would perceive this as a "bug". - * One alternative is to fiddle around & try to tighten the tolerance. - * However, the right alternative is to code the graphics pipeline in - * double-precision (and tighten the tolerance). - * - * By the way, note that Degernate Tolerance is a "dimensionless" - * quantitiy -- it has no units -- it does not measure feet, inches, - * millimeters or pixels. It is used only in the computations of ratios - * and relative lengths. - */ - -/* - * Right now, the tolerance is set to 2 parts in a million, which - * corresponds to a 19-bit distinction of mantissas. Note that - * single-precsion numbers have 24 bit mantissas. - */ - -#define DEGENERATE_TOLERANCE (0.000002) - -/* ========================================================== */ -/* - * The macro and subroutine INTERSECT are designed to compute the - * intersection of a line (defined by the points v1 and v2) and a plane - * (defined as plane which is normal to the vector n, and contains the - * point p). Both return the point sect, which is the point of - * interesection. - * - * This MACRO attemps to be fairly robust by checking for a divide by - * zero. - */ - -/* ========================================================== */ -/* - * HACK ALERT - * The intersection parameter t has the nice property that if t>1, - * then the intersection is "in front of" p1, and if t<0, then the - * intersection is "behind" p2. Unfortunately, as the intersecting plane - * and the line become parallel, t wraps through infinity -- i.e. t can - * become so large that t becomes "greater than infinity" and comes back - * as a negative number (i.e. winding number hopped by one unit). We - * have no way of detecting this situation without adding gazzillions - * of lines of code of topological algebra to detect the winding number; - * and this would be incredibly difficult, and ruin performance. - * - * Thus, we've installed a cheap hack for use by the "cut style" drawing - * routines. If t proves to be a large negative number (more negative - * than -5), then we assume that t was positive and wound through - * infinity. This makes most cuts look good, without introducing bogus - * cuts at infinity. - */ -/* ========================================================== */ - -#define INTERSECT(sect,p,n,v1,v2) \ -{ \ - gleDouble deno, numer, t, omt; \ - \ - deno = (v1[0] - v2[0]) * n[0]; \ - deno += (v1[1] - v2[1]) * n[1]; \ - deno += (v1[2] - v2[2]) * n[2]; \ - \ - if (deno == 0.0) { \ - VEC_COPY (n, v1); \ - /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ - } else { \ - \ - numer = (p[0] - v2[0]) * n[0]; \ - numer += (p[1] - v2[1]) * n[1]; \ - numer += (p[2] - v2[2]) * n[2]; \ - \ - t = numer / deno; \ - omt = 1.0 - t; \ - \ - sect[0] = t * v1[0] + omt * v2[0]; \ - sect[1] = t * v1[1] + omt * v2[1]; \ - sect[2] = t * v1[2] + omt * v2[2]; \ - } \ -} - -/* ========================================================== */ -/* - * The macro and subroutine BISECTING_PLANE compute a normal vector that - * describes the bisecting plane between three points (v1, v2 and v3). - * This bisecting plane has the following properties: - * 1) it contains the point v2 - * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it - * makes with v32 == v3 - v2 - * 3) it is perpendicular to the plane defined by v1, v2, v3. - * - * Having input v1, v2, and v3, it returns a unit vector n. - * - * In some cases, the user may specify degenerate points, and still - * expect "reasonable" or "obvious" behaviour. The "expected" - * behaviour for these degenerate cases is: - * - * 1) if v1 == v2 == v3, then return n=0 - * 2) if v1 == v2, then return v32 (normalized). - * 3) if v2 == v3, then return v21 (normalized). - * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). - * - * Mathematically, these special cases "make sense" -- we just have to - * code around potential divide-by-zero's in the code below. - */ - -/* ========================================================== */ - -#define BISECTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as bisector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ - (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ -/* - * The block of code below is ifdef'd out, and is here for reference - * purposes only. It performs the "mathematically right thing" for - * computing a bisecting plane, but is, unfortunately, subject ot noise - * in the presence of near degenerate points. Since computer graphics, - * due to sloppy coding, laziness, or correctness, is filled with - * degenerate points, we can't really use this version. The code above - * is far more appropriate for graphics. - */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define BISECTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 == 0.0) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - } \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - if (len32 == 0.0) { \ - /* return a normalized copy of v21 as bisector */ \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot == 1.0) || (vdot == -1.0)) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} -#endif - -/* ========================================================== */ -/* - * This macro computes the plane perpendicular to the the plane - * defined by three points, and whose normal vector is givven as the - * difference between the two vectors ... - * - * (See way below for the "math" model if you want to understand this. - * The comments about relative errors above apply here.) - */ - -#define CUTTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double lendiff; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as cut-vector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as cut vector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_LENGTH (lendiff, n); \ - \ - /* if the perp vector is very small, then the two \ - * vectors are darn near collinear, and the cut \ - * vector is probably poorly defined. */ \ - if (lendiff < DEGENERATE_TOLERANCE) { \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - lendiff = 1.0 / lendiff; \ - VEC_SCALE (n, lendiff, n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define CUTTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_NORMALIZE (v21); \ - VEC_NORMALIZE (v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_NORMALIZE (n); \ -} -#endif - - -/* ============================================================ */ -/* This macro is used in several places to cycle through a series of - * points to find the next non-degenerate point in a series */ - -#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ -{ \ - gleDouble slen; \ - gleDouble summa[3]; \ - \ - do { \ - /* get distance to next point */ \ - VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (len, diff); \ - VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (slen, summa); \ - slen *= DEGENERATE_TOLERANCE; \ - inext ++; \ - } while ((len <= slen) && (inext < npoints-1)); \ -} - -/* ========================================================== */ - -extern int bisecting_plane (gleDouble n[3], /* returned */ - gleDouble v1[3], /* input */ - gleDouble v2[3], /* input */ - gleDouble v3[3]); /* input */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h deleted file mode 100755 index 2827bbf..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * port.h - * - * FUNCTION: - * This file contains defines for porting the tubing toolkit from GL to - * OpenGL to some callback scheme. - * - * HISTORY: - * Created by Linas Vepstas -- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - */ - -#ifndef __GLE_PORT_H__ -#define __GLE_PORT_H__ - - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ====================================================== */ -/* Some compilers can't handle multiply-subscripted array's */ - -#ifdef FUNKY_C -typedef gleDouble gleVector; -#define AVAL(arr,n,i,j) arr(6*n+3*i+j) -#define VVAL(arr,n,i) arr(3*n+i) - -#else /* FUNKY_C */ -typedef double gleVector[3]; -typedef double glePoint[2]; -#define AVAL(arr,n,i,j) arr[n][i][j] -#define VVAL(arr,n,i) arr[n][i]; - -#endif /* FUNKY_C */ - -/* ====================================================== */ -/* These are used to convey info about topography to the - * texture mapping routines */ - -#define FRONT 1 -#define BACK 2 -#define FRONT_CAP 3 -#define BACK_CAP 4 -#define FILLET 5 - -/* ====================================================== */ - -#define __GLE_DOUBLE - -/* ====================================================== */ - -#ifdef __GLE_DOUBLE -#ifndef gleDouble - #define gleDouble double -#endif -#define urot_axis(a,b,c) urot_axis_d(a,b,c) -#define uview_direction(a,b,c) uview_direction_d(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_D(m) -#define LOADMATRIX(m) LOADMATRIX_D(m) -#define V3F(x,j,id) V3F_D(x,j,id) -#define N3F(x) N3F_D(x) -#define T2F(x,y) T2F_D(x,y) -#else -#define gleDouble float -#define urot_axis(a,b,c) urot_axis_f(a,b,c) -#define uview_direction(a,b,c) uview_direction_f(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_F(m) -#define LOADMATRIX(m) LOADMATRIX_F(m) -#define V3F(x,j,id) V3F_F(x,j,id) -#define N3F(x) N3F_F(x) -#define T2F(x,y) T2F_F(x,y) -#endif - -/* ====================================================== */ - -#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) -#undef GL_32 -#undef OPENGL_10 - -#define BGNTMESH(i,len) printf ("bgntmesh() \n"); -#define ENDTMESH() printf ("endtmesh() \n"); -#define BGNPOLYGON() printf ("bgnpolygon() \n"); -#define ENDPOLYGON() printf ("endpolygon() \n"); -#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); - -#define POPMATRIX() printf ("popmatrix () \n"); -#define PUSHMATRIX() printf ("pushmatrix() \n"); -#define MULTMATRIX_F(x) MULTMATRIX_D(x) -#define LOADMATRIX_F(x) LOADMATRIX_D(x) - - -#define LOADMATRIX_D(x) { \ - int i, j; \ - printf ("loadmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - printf ("multmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define __IS_LIGHTING_ON (1) - -#endif - -/* ====================================================== */ - -#ifdef GL_32 - -#include - -#define BGNTMESH(i,len) bgntmesh() -#define ENDTMESH() endtmesh() -#define BGNPOLYGON() bgnpolygon() -#define ENDPOLYGON() endpolygon() -#define V3F_F(x,j,id) v3f(x) -#define V3F_D(x,j,id) v3d(x) -#define N3F_F(x) n3f(x) -#define T2F_F(x,y) -#define T2F_D(x,y) -#define C3F(x) c3f(x) - -#define POPMATRIX() popmatrix () -#define PUSHMATRIX() pushmatrix() -#define MULTMATRIX_F(x) multmatrix (x) -#define LOADMATRIX_F(x) loadmatrix (x) - -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = (float) x[0]; \ - nnn[1] = (float) x[1]; \ - nnn[2] = (float) x[2]; \ - n3f (nnn); \ -} - -#define LOADMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - loadmatrix(mmm); \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - multmatrix(mmm); \ -} - -/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ -#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) - -#endif /* GL_32 */ - -/* ====================================================== */ -#ifdef OPENGL_10 - -#if defined(_WIN32) -#include -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#endif -#include -#include - -/* -#define N3F_F(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -*/ - -#define C3F(x) glColor3fv(x) -#define T2F_F(x,y) glTexCoord2f(x,y) -#define T2F_D(x,y) glTexCoord2d(x,y) - -#define POPMATRIX() glPopMatrix() -#define PUSHMATRIX() glPushMatrix() - -#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) -#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) - -#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) -#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) - -#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) - -/* ====================================================== */ -#ifdef AUTO_TEXTURE - -#define BGNTMESH(i,len) { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ - glBegin (GL_TRIANGLE_STRIP); \ -} - -#define BGNPOLYGON() { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ - glBegin (GL_POLYGON); \ -} - -#define N3F_F(x) { \ - if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ - glNormal3fv(x); \ -} - -#define N3F_D(x) { \ - if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ - glNormal3dv(x); \ -} - -#define V3F_F(x,j,id) { \ - if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ - glVertex3fv(x); \ -} - -#define V3F_D(x,j,id) { \ - if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ - glVertex3dv(x); \ -} - -#define ENDTMESH() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -#define ENDPOLYGON() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -/* ====================================================== */ -#else /* AUTO_TEXTURE */ - -#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); -#define BGNPOLYGON() glBegin (GL_POLYGON); - -#define N3F_F(x) glNormal3fv(x) -#define N3F_D(x) glNormal3dv(x) -#define V3F_F(x,j,id) glVertex3fv(x); -#define V3F_D(x,j,id) glVertex3dv(x); - -#define ENDTMESH() glEnd () -#define ENDPOLYGON() glEnd() - -#endif /* AUTO_TEXTURE */ - -#endif /* OPENGL_10 */ - -/* ====================================================== */ - - -#endif /* __GLE_PORT_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h deleted file mode 100755 index 91083e9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * rot.h - * - * FUNCTION: - * rotation matrix utilities - * - * HISTORY: - * Linas Vepstas Aug 1990 - */ - -/* ========================================================== */ -/* - * The MACROS below generate and return more traditional rotation - * matrices -- matrices for rotations about principal axes. - */ -/* ========================================================== */ - -#define ROTX_CS(m,cosine,sine) \ -{ \ - /* rotation about the x-axis */ \ - \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = (cosine); \ - m[1][2] = (sine); \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = -(sine); \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTY_CS(m,cosine,sine) \ -{ \ - /* rotation about the y-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = 0.0; \ - m[0][2] = -(sine); \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = (sine); \ - m[2][1] = 0.0; \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTZ_CS(m,cosine,sine) \ -{ \ - /* rotation about the z-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = (sine); \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = -(sine); \ - m[1][1] = (cosine); \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h deleted file mode 100755 index 8d1cf04..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * MODULE: segment.h - * - * FUNCTION: - * Contains function prototypes for segment drawing subroutines. - * These are used only internally, and are not to be exported to - * the user. - * - * HISTORY: - * Create by Linas Vepstas - * Added tube.h include to define gleDouble, tad February 2002 - */ - -/* ============================================================ */ - -#include "tube.h" - -extern void draw_segment_plain (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - int inext, double len); - -extern void draw_segment_color (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_edge_n (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_edge_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -/* ============================================================ */ - -extern void draw_binorm_segment_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_binorm_segment_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ - gleDouble bi[3], /* biscetor */ - gleDouble point_array[][3]); /* polyline */ - -/* -------------------------- end of file -------------------------------- */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h deleted file mode 100755 index c303e19..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * tube.h - * - * FUNCTION: - * Tubing and Extrusion header file. - * This file provides protypes and defines for the extrusion - * and tubing primitives. - * - * HISTORY: - * Linas Vepstas 1990, 1991 - */ - -#ifndef __TUBE_H__ -#define __TUBE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLE API revision history: - - GLE_API_VERSION is updated to reflect GLE API changes (interface - changes, semantic changes, deletions, or additions). - - GLE_API_VERSION=228 GLUT 3.7 release of GLE. -**/ -#ifndef GLE_API_VERSION /* allow this to be overriden */ -#define GLE_API_VERSION 228 -#endif - -/* some types */ -#ifndef gleDouble - #define gleDouble double -#endif -typedef gleDouble gleAffine[2][3]; - -/* ====================================================== */ - -/* defines for tubing join styles */ -#define TUBE_JN_RAW 0x1 -#define TUBE_JN_ANGLE 0x2 -#define TUBE_JN_CUT 0x3 -#define TUBE_JN_ROUND 0x4 -#define TUBE_JN_MASK 0xf /* mask bits */ -#define TUBE_JN_CAP 0x10 - -/* determine how normal vectors are to be handled */ -#define TUBE_NORM_FACET 0x100 -#define TUBE_NORM_EDGE 0x200 -#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ -#define TUBE_NORM_MASK 0xf00 /* mask bits */ - -/* closed or open countours */ -#define TUBE_CONTOUR_CLOSED 0x1000 - -#define GLE_TEXTURE_ENABLE 0x10000 -#define GLE_TEXTURE_STYLE_MASK 0xff -#define GLE_TEXTURE_VERTEX_FLAT 1 -#define GLE_TEXTURE_NORMAL_FLAT 2 -#define GLE_TEXTURE_VERTEX_CYL 3 -#define GLE_TEXTURE_NORMAL_CYL 4 -#define GLE_TEXTURE_VERTEX_SPH 5 -#define GLE_TEXTURE_NORMAL_SPH 6 -#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 -#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 -#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 -#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 -#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 -#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 - -#ifdef GL_32 -/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ -#define TUBE_LIGHTING_ON 0x80000000 - -#define gleExtrusion extrusion -#define gleSetJoinStyle setjoinstyle -#define gleGetJoinStyle getjoinstyle -#define glePolyCone polycone -#define glePolyCylinder polycylinder -#define gleSuperExtrusion super_extrusion -#define gleTwistExtrusion twist_extrusion -#define gleSpiral spiral -#define gleLathe lathe -#define gleHelicoid helicoid -#define gleToroid toroid -#define gleScrew screw - -#endif /* GL_32 */ - -extern int gleGetJoinStyle (void); -extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ -extern int gleGetNumSlices(void); -extern void gleSetNumSlices(int slices); - -/* draw polyclinder, specified as a polyline */ -extern void glePolyCylinder (int npoints, /* num points in polyline */ - gleDouble point_array[][3], /* polyline vertces */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius); /* radius of polycylinder */ - -/* draw polycone, specified as a polyline with radii */ -extern void glePolyCone (int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius_array[]); /* cone radii at polyline verts */ - -/* extrude arbitrary 2D contour along arbitrary 3D path */ -extern void gleExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3]); /* colors at polyline verts */ - -/* extrude 2D contour, specifying local rotations (twists) */ -extern void gleTwistExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble twist_array[]); /* countour twists (in degrees) */ - -/* extrude 2D contour, specifying local affine tranformations */ -extern void gleSuperExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* spiral moves contour along helical path by parallel transport */ -extern void gleSpiral (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* lathe moves contour along helical path by helically shearing 3D space */ -extern void gleLathe (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to spiral, except contour is a circle */ -extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to lathe, except contour is a circle */ -extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* draws a screw shape */ -extern void gleScrew (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startz, /* start of segment */ - gleDouble endz, /* end of segment */ - gleDouble twist); /* number of rotations */ - -extern void gleTextureMode (int mode); - -#ifdef __cplusplus -} - -#endif -#endif /* __TUBE_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h deleted file mode 100755 index ccd2853..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* - * tube_gc.h - * - * FUNCTION: - * This file allows for easy changes to changes in the way the extrusion - * library handles state info (i.e. context). - * - * HISTORY: - * Linas Vepstas --- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - * Added tube.h include to define gleDouble, tad February 2002 - */ - -#include "tube.h" -#include "port.h" /* for gleVector */ - -typedef float gleColor[3]; -typedef double gleTwoVec[2]; - -typedef struct { - - /* public methods */ - void (*bgn_gen_texture) (int, double); - void (*n3f_gen_texture) (float *); - void (*n3d_gen_texture) (double *); - void (*v3f_gen_texture) (float *, int, int); - void (*v3d_gen_texture) (double *, int, int); - void (*end_gen_texture) (void); - - /* protected members -- "general knowledge" stuff */ - int join_style; - - /* arguments passed into extrusion code */ - int ncp; /* number of contour points */ - gleTwoVec *contour; /* 2D contour */ - gleTwoVec *cont_normal; /* 2D contour normals */ - gleDouble *up; /* up vector */ - int npoints; /* number of points in polyline */ - gleVector *point_array; /* path */ - gleColor *color_array; /* path colors */ - gleAffine *xform_array; /* contour xforms */ - - /* private members, used by texturing code */ - int num_vert; - int segment_number; - double segment_length; - double accum_seg_len; - double prev_x; - double prev_y; - - void (*save_bgn_gen_texture) (int, double); - void (*save_n3f_gen_texture) (float *); - void (*save_n3d_gen_texture) (double *); - void (*save_v3f_gen_texture) (float *, int, int); - void (*save_v3d_gen_texture) (double *, int, int); - void (*save_end_gen_texture) (void); - -} gleGC; - -extern gleGC *_gle_gc; -extern gleGC * gleCreateGC (void); - -#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } -#define extrusion_join_style (_gle_gc->join_style) - -#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) -#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) -#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) -#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) - -#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) -#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) -#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) -#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) -#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) - -/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h deleted file mode 100755 index b58dcd6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h +++ /dev/null @@ -1,1339 +0,0 @@ - -/* - * vvector.h - * - * FUNCTION: - * This file contains a number of utilities useful for handling - * 3D vectors - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Added 2D code, March 1993 - * Added Outer products, C++ proofed, Linas Vepstas October 1993 - */ - -#ifndef __GUTIL_VECTOR_H__ -#define __GUTIL_VECTOR_H__ - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - - -#include -#include "port.h" - -/* ========================================================== */ -/* Zero out a 2D vector */ - -#define VEC_ZERO_2(a) \ -{ \ - (a)[0] = (a)[1] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 3D vector */ - -#define VEC_ZERO(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 4D vector */ - -#define VEC_ZERO_4(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ -} - -/* ========================================================== */ -/* Vector copy */ - -#define VEC_COPY_2(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ -} - -/* ========================================================== */ -/* Copy 3D vector */ - -#define VEC_COPY(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ -} - -/* ========================================================== */ -/* Copy 4D vector */ - -#define VEC_COPY_4(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ - (b)[3] = (a)[3]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ - (v21)[3] = (v2)[3] - (v1)[3]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ - (v21)[3] = (v2)[3] + (v1)[3]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_2(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_4(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ - (c)[3] = (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_2(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_4(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ - (c)[3] += (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_2(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_4(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ -} - -/* ========================================================== */ -/* vector impact parameter (squared) */ - -#define VEC_IMPACT_SQ(bsq,direction,position) \ -{ \ - gleDouble vlen, llel; \ - VEC_DOT_PRODUCT (vlen, position, position); \ - VEC_DOT_PRODUCT (llel, direction, position); \ - bsq = vlen - llel*llel; \ -} - -/* ========================================================== */ -/* vector impact parameter */ - -#define VEC_IMPACT(bsq,direction,position) \ -{ \ - VEC_IMPACT_SQ(bsq,direction,position); \ - bsq = sqrt (bsq); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_2(vlen,a) \ -{ \ - vlen = a[0]*a[0] + a[1]*a[1]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_4(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen += (a)[3] * (a)[3]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* distance between two points */ - -#define VEC_DISTANCE(vlen,va,vb) \ -{ \ - gleDouble tmp[4]; \ - VEC_DIFF (tmp, vb, va); \ - VEC_LENGTH (vlen, tmp); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_CONJUGATE_LENGTH(vlen,a) \ -{ \ - vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_NORMALIZE(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = 1.0 / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_RENORMALIZE(a,newlen) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = newlen / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* 3D Vector cross product yeilding vector */ - -#define VEC_CROSS_PRODUCT(c,a,b) \ -{ \ - c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ - c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ - c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ -} - -/* ========================================================== */ -/* Vector perp -- assumes that n is of unit length - * accepts vector v, subtracts out any component parallel to n */ - -#define VEC_PERP(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (v)[0] - (vdot) * (n)[0]; \ - vp[1] = (v)[1] - (vdot) * (n)[1]; \ - vp[2] = (v)[2] - (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector parallel -- assumes that n is of unit length - * accepts vector v, subtracts out any component perpendicular to n */ - -#define VEC_PARALLEL(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (vdot) * (n)[0]; \ - vp[1] = (vdot) * (n)[1]; \ - vp[2] = (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector reflection -- assumes n is of unit length */ -/* Takes vector v, reflects it against reflector n, and returns vr */ - -#define VEC_REFLECT(vr,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ - vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ - vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector blending */ -/* Takes two vectors a, b, blends them together */ - -#define VEC_BLEND(vr,sa,a,sb,b) \ -{ \ - \ - vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ - vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ - vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_2(a) \ -{ \ - double vlen; \ - VEC_LENGTH_2 (vlen, a); \ - printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen, (a)); \ - printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_4(a) \ -{ \ - double vlen; \ - VEC_LENGTH_4 (vlen, (a)); \ - printf (" a is %f %f %f %f length of a is %f \n", \ - (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_4X4(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_3X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<3; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_2X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<2; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_3X3(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_4X4(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - b[0][3] = a[0][3]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - b[1][3] = a[1][3]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[2][3]; \ - \ - b[3][0] = a[3][0]; \ - b[3][1] = a[3][1]; \ - b[3][2] = a[3][2]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - b[0][3] = a[3][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - b[1][3] = a[3][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[3][2]; \ - \ - b[3][0] = a[0][3]; \ - b[3][1] = a[1][3]; \ - b[3][2] = a[2][3]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - b[0][3] = (s) * a[0][3]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - b[1][3] = (s) * a[1][3]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ - b[2][3] = (s) * a[2][3]; \ - \ - b[3][0] = s * a[3][0]; \ - b[3][1] = s * a[3][1]; \ - b[3][2] = s * a[3][2]; \ - b[3][3] = s * a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - b[0][3] += (s) * a[0][3]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - b[1][3] += (s) * a[1][3]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ - b[2][3] += (s) * a[2][3]; \ - \ - b[3][0] += (s) * a[3][0]; \ - b[3][1] += (s) * a[3][1]; \ - b[3][2] += (s) * a[3][2]; \ - b[3][3] += (s) * a[3][3]; \ -} - -/* +========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_2X2(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_3X3(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_4X4(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ - c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ - c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ - c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ - \ - c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ - c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ - c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ - c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_3X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_4X4(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ - p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ -} - -/* ========================================================== */ -/* vector transpose times matrix */ -/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ - -#define VEC_DOT_MAT_3X3(p,v,m) \ -{ \ - p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ - p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ - p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ -} - -/* ========================================================== */ -/* affine matrix times vector */ -/* The matrix is assumed to be an affine matrix, with last two - * entries representing a translation */ - -#define MAT_DOT_VEC_2X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ -} - -/* ========================================================== */ -/* inverse transpose of matrix times vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * - * DANGER !!! Do Not use this on normal vectors!!! - * It will leave normals the wrong length !!! - * See macro below for use on normals. - */ - -#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - gleDouble det; \ - \ - det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - /* if matrix not singular, and not orthonormal, then renormalize */ \ - if ((det!=1.0) && (det != 0.0)) { \ - det = 1.0 / det; \ - p[0] *= det; \ - p[1] *= det; \ - } \ -} - -/* ========================================================== */ -/* transform normal vector by inverse transpose of matrix - * and then renormalize the vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * Vector p is then normalized. - */ - - -#define NORM_XFORM_2X2(p,m,v) \ -{ \ - double mlen; \ - \ - /* do nothing if off-diagonals are zero and diagonals are \ - * equal */ \ - if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - mlen = p[0]*p[0] + p[1]*p[1]; \ - mlen = 1.0 / sqrt (mlen); \ - p[0] *= mlen; \ - p[1] *= mlen; \ - } else { \ - VEC_COPY_2 (p, v); \ - } \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - m[0][3] = v[0] * t[3]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - m[1][3] = v[1] * t[3]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ - m[2][3] = v[2] * t[3]; \ - \ - m[3][0] = v[3] * t[0]; \ - m[3][1] = v[3] * t[1]; \ - m[3][2] = v[3] * t[2]; \ - m[3][3] = v[3] * t[3]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - m[0][3] += v[0] * t[3]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - m[1][3] += v[1] * t[3]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ - m[2][3] += v[2] * t[3]; \ - \ - m[3][0] += v[3] * t[0]; \ - m[3][1] += v[3] * t[1]; \ - m[3][2] += v[3] * t[2]; \ - m[3][3] += v[3] * t[3]; \ -} - -/* +========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_2X2(d,m) \ -{ \ - d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ -} - -/* ========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_3X3(d,m) \ -{ \ - d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ - d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ - d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ -} - -/* ========================================================== */ -/* i,j,th cofactor of a 4x4 matrix - * - */ - -#define COFACTOR_4X4_IJ(fac,m,i,j) \ -{ \ - int ii[4], jj[4], k; \ - \ - /* compute which row, columnt to skip */ \ - for (k=0; k - - - - IBDocumentLocation - 4 104 410 240 0 0 1152 848 - IBEditorPositions - - 29 - 19 615 246 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBGroupedObjects - - IBLastGroupID - 1 - IBOpenObjects - - 29 - - IBSystem Version - 6I32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib deleted file mode 100755 index 8a7140e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib deleted file mode 100755 index 7e85eb1..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib +++ /dev/null @@ -1,13 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {toggleWindow = id; }; - CLASS = GLUTClipboardController; - LANGUAGE = ObjC; - OUTLETS = {_infoText = id; _scrollView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib deleted file mode 100755 index 867735d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib +++ /dev/null @@ -1,12 +0,0 @@ - - - - - IBDocumentLocation - 63 221 356 240 0 0 1600 1178 - IBFramework Version - 263.2 - IBSystem Version - 5S41 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib deleted file mode 100755 index 29125d4..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib deleted file mode 100755 index c675963..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib +++ /dev/null @@ -1,73 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = {save = id; saveAs = id; }; - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - cancel = id; - joyAssign = id; - joyDevice = id; - joyElement = id; - joyInvert = id; - launchDebugMode = id; - launchGamemodeCaptureSingle = id; - launchIconic = id; - launchUseCurrWD = id; - launchUseExtDesktop = id; - launchUseMacOSCoords = id; - mouseEanbleEmulation = id; - mouseMiddleMenu = id; - mouseRightMenu = id; - ok = id; - spaceAssign = id; - spaceDevice = id; - spaceElement = id; - spaceInvert = id; - }; - CLASS = GLUTPreferencesController; - LANGUAGE = ObjC; - OUTLETS = { - joyAssign = NSButton; - joyAssignNote = NSTextField; - joyAssignWarningIcon = NSImageView; - joyDeviceMenu = NSPopUpButton; - joyElement = NSTextField; - joyInputMenu = NSPopUpButton; - joyInverted = NSButton; - launchDebugMode = NSButton; - launchFadeTime = NSTextField; - launchGamemodeCaptureSingle = NSButton; - launchIconic = NSButton; - launchInitHeight = NSTextField; - launchInitWidth = NSTextField; - launchInitX = NSTextField; - launchInitY = NSTextField; - launchMenuIdle = NSTextField; - launchSyncToVBL = NSButton; - launchUseCurrWD = NSButton; - launchUseExtendedDesktop = NSButton; - launchUseMacOSXCoords = NSButton; - mouseAssignWarningIcon = NSImageView; - mouseAssignWarningText = NSTextField; - mouseDetected = NSTextField; - mouseEmulation = NSButton; - mouseMiddleConfigMenu = NSPopUpButton; - mouseRightConfigMenu = NSPopUpButton; - prefsTabView = NSTabView; - spaceAssign = NSButton; - spaceAssignNote = NSTextField; - spaceAssignWarningIcon = NSImageView; - spaceDeviceMenu = NSPopUpButton; - spaceElement = NSTextField; - spaceInputMenu = NSPopUpButton; - spaceInverted = NSButton; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib deleted file mode 100755 index 216c8dc..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBDocumentLocation - 16 329 410 240 0 0 1920 1178 - IBFramework Version - 439.0 - IBOpenObjects - - 205 - - IBSystem Version - 8G32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib deleted file mode 100755 index 7598f2c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings deleted file mode 100755 index 6db3c5c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings deleted file mode 100755 index 6f78b89..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist deleted file mode 100755 index e8fc9d6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - GLUT - CFBundleGetInfoString - 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved - CFBundleIdentifier - com.apple.glut - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.4.0 - CFBundleSignature - ???? - CFBundleVersion - GLUT-3.4.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff deleted file mode 100755 index a2b0cf1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff deleted file mode 100755 index c3f4795..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff deleted file mode 100755 index 274529f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff deleted file mode 100755 index dec4252..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff deleted file mode 100755 index 8536c0e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff deleted file mode 100755 index 34b52f6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff deleted file mode 100755 index 9e3a1cb..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff deleted file mode 100755 index 0087c66..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff deleted file mode 100755 index fc4a88a..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff deleted file mode 100755 index 852b69b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff deleted file mode 100755 index 37fe393..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff deleted file mode 100755 index d852616..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff deleted file mode 100755 index 9781f22..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff deleted file mode 100755 index 9bec966..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff deleted file mode 100755 index e4df0de..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff deleted file mode 100755 index 43cf97f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff deleted file mode 100755 index 429b01b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff deleted file mode 100755 index 1605063..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff deleted file mode 100755 index 81ba1aa..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Info.plist b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Info.plist deleted file mode 100755 index d7ae794..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - BuildMachineOSBuild - 14D2134 - CFBundleDevelopmentRegion - English - CFBundleExecutable - emptyExampleDebug - CFBundleIconFile - icon-debug.icns - CFBundleIdentifier - cc.openFrameworks.ofapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 6D2105 - DTPlatformVersion - GM - DTSDKBuild - 14D125 - DTSDKName - macosx10.10 - DTXcode - 0632 - DTXcodeBuild - 6D2105 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug deleted file mode 100755 index 1520888..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib deleted file mode 100644 index bea90a1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/PkgInfo b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/PkgInfo deleted file mode 100755 index bd04210..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns deleted file mode 100644 index 9b2d976..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/config.make b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/config.make deleted file mode 100755 index df10f64..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/config.make +++ /dev/null @@ -1,142 +0,0 @@ -################################################################################ -# CONFIGURE PROJECT MAKEFILE (optional) -# This file is where we make project specific configurations. -################################################################################ - -################################################################################ -# OF ROOT -# The location of your root openFrameworks installation -# (default) OF_ROOT = ../../.. -################################################################################ -# OF_ROOT = ../../.. - -################################################################################ -# PROJECT ROOT -# The location of the project - a starting place for searching for files -# (default) PROJECT_ROOT = . (this directory) -# -################################################################################ -# PROJECT_ROOT = . - -################################################################################ -# PROJECT SPECIFIC CHECKS -# This is a project defined section to create internal makefile flags to -# conditionally enable or disable the addition of various features within -# this makefile. For instance, if you want to make changes based on whether -# GTK is installed, one might test that here and create a variable to check. -################################################################################ -# None - -################################################################################ -# PROJECT EXTERNAL SOURCE PATHS -# These are fully qualified paths that are not within the PROJECT_ROOT folder. -# Like source folders in the PROJECT_ROOT, these paths are subject to -# exlclusion via the PROJECT_EXLCUSIONS list. -# -# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_EXTERNAL_SOURCE_PATHS = - -################################################################################ -# PROJECT EXCLUSIONS -# These makefiles assume that all folders in your current project directory -# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations -# to look for source code. The any folders or files that match any of the -# items in the PROJECT_EXCLUSIONS list below will be ignored. -# -# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete -# string unless teh user adds a wildcard (%) operator to match subdirectories. -# GNU make only allows one wildcard for matching. The second wildcard (%) is -# treated literally. -# -# (default) PROJECT_EXCLUSIONS = (blank) -# -# Will automatically exclude the following: -# -# $(PROJECT_ROOT)/bin% -# $(PROJECT_ROOT)/obj% -# $(PROJECT_ROOT)/%.xcodeproj -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_EXCLUSIONS = - -################################################################################ -# PROJECT LINKER FLAGS -# These flags will be sent to the linker when compiling the executable. -# -# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ - -# Currently, shared libraries that are needed are copied to the -# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to -# add a runtime path to search for those shared libraries, since they aren't -# incorporated directly into the final executable application binary. -# TODO: should this be a default setting? -# PROJECT_LDFLAGS=-Wl,-rpath=./libs - -################################################################################ -# PROJECT DEFINES -# Create a space-delimited list of DEFINES. The list will be converted into -# CFLAGS with the "-D" flag later in the makefile. -# -# (default) PROJECT_DEFINES = (blank) -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_DEFINES = - -################################################################################ -# PROJECT CFLAGS -# This is a list of fully qualified CFLAGS required when compiling for this -# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS -# defined in your platform specific core configuration files. These flags are -# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. -# -# (default) PROJECT_CFLAGS = (blank) -# -# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in -# your platform specific configuration file will be applied by default and -# further flags here may not be needed. -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_CFLAGS = - -################################################################################ -# PROJECT OPTIMIZATION CFLAGS -# These are lists of CFLAGS that are target-specific. While any flags could -# be conditionally added, they are usually limited to optimization flags. -# These flags are added BEFORE the PROJECT_CFLAGS. -# -# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. -# -# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) -# -# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. -# -# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) -# -# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the -# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration -# file will be applied by default and further optimization flags here may not -# be needed. -# -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = -# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = - -################################################################################ -# PROJECT COMPILERS -# Custom compilers can be set for CC and CXX -# (default) PROJECT_CXX = (blank) -# (default) PROJECT_CC = (blank) -# Note: Leave a leading space when adding list items with the += operator -################################################################################ -# PROJECT_CXX = -# PROJECT_CC = diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.pbxproj deleted file mode 100755 index d96676b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.pbxproj +++ /dev/null @@ -1,820 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 0070C9D919EC1FE100DD621A /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0070C9C819EC1FE100DD621A /* fft.cpp */; }; - 0070C9DA19EC1FE100DD621A /* maxiAtoms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0070C9CA19EC1FE100DD621A /* maxiAtoms.cpp */; }; - 0070C9DB19EC1FE100DD621A /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0070C9CC19EC1FE100DD621A /* maxiFFT.cpp */; }; - 0070C9DC19EC1FE100DD621A /* maxiGrains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0070C9CE19EC1FE100DD621A /* maxiGrains.cpp */; }; - 0070C9DD19EC1FE100DD621A /* maxiMFCC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0070C9D019EC1FE100DD621A /* maxiMFCC.cpp */; }; - 0070C9DE19EC1FE100DD621A /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0070C9D219EC1FE100DD621A /* maximilian.cpp */; }; - 0070C9DF19EC1FE100DD621A /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 0070C9D519EC1FE100DD621A /* stb_vorbis.c */; }; - 8A1295A41B309C23003A66EA /* IpEndpointName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A12957E1B309C23003A66EA /* IpEndpointName.cpp */; }; - 8A1295A51B309C23003A66EA /* NetworkingUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295831B309C23003A66EA /* NetworkingUtils.cpp */; }; - 8A1295A61B309C23003A66EA /* UdpSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295841B309C23003A66EA /* UdpSocket.cpp */; }; - 8A1295A71B309C23003A66EA /* NetworkingUtilsWin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295881B309C23003A66EA /* NetworkingUtilsWin.cpp */; }; - 8A1295A81B309C23003A66EA /* UdpSocketWin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295891B309C23003A66EA /* UdpSocketWin.cpp */; }; - 8A1295A91B309C23003A66EA /* OscOutboundPacketStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A12958E1B309C23003A66EA /* OscOutboundPacketStream.cpp */; }; - 8A1295AA1B309C23003A66EA /* OscPrintReceivedElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295911B309C23003A66EA /* OscPrintReceivedElements.cpp */; }; - 8A1295AB1B309C23003A66EA /* OscReceivedElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295931B309C23003A66EA /* OscReceivedElements.cpp */; }; - 8A1295AC1B309C23003A66EA /* OscTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295951B309C23003A66EA /* OscTypes.cpp */; }; - 8A1295AD1B309C23003A66EA /* ofxOscBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A12959A1B309C23003A66EA /* ofxOscBundle.cpp */; }; - 8A1295AE1B309C23003A66EA /* ofxOscMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A12959C1B309C23003A66EA /* ofxOscMessage.cpp */; }; - 8A1295AF1B309C23003A66EA /* ofxOscParameterSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A12959E1B309C23003A66EA /* ofxOscParameterSync.cpp */; }; - 8A1295B01B309C23003A66EA /* ofxOscReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295A01B309C23003A66EA /* ofxOscReceiver.cpp */; }; - 8A1295B11B309C23003A66EA /* ofxOscSender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1295A21B309C23003A66EA /* ofxOscSender.cpp */; }; - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; - E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; - E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; - E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0070C9C619EC1FE100DD621A /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 0070C9C819EC1FE100DD621A /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 0070C9C919EC1FE100DD621A /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 0070C9CA19EC1FE100DD621A /* maxiAtoms.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiAtoms.cpp; sourceTree = ""; }; - 0070C9CB19EC1FE100DD621A /* maxiAtoms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiAtoms.h; sourceTree = ""; }; - 0070C9CC19EC1FE100DD621A /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 0070C9CD19EC1FE100DD621A /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 0070C9CE19EC1FE100DD621A /* maxiGrains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiGrains.cpp; sourceTree = ""; }; - 0070C9CF19EC1FE100DD621A /* maxiGrains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiGrains.h; sourceTree = ""; }; - 0070C9D019EC1FE100DD621A /* maxiMFCC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiMFCC.cpp; sourceTree = ""; }; - 0070C9D119EC1FE100DD621A /* maxiMFCC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiMFCC.h; sourceTree = ""; }; - 0070C9D219EC1FE100DD621A /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 0070C9D319EC1FE100DD621A /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 0070C9D419EC1FE100DD621A /* sineTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sineTable.h; sourceTree = ""; }; - 0070C9D519EC1FE100DD621A /* stb_vorbis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stb_vorbis.c; sourceTree = ""; }; - 0070C9D619EC1FE100DD621A /* stb_vorbis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_vorbis.h; sourceTree = ""; }; - 0070C9D819EC1FE100DD621A /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - 8A12957E1B309C23003A66EA /* IpEndpointName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IpEndpointName.cpp; sourceTree = ""; }; - 8A12957F1B309C23003A66EA /* IpEndpointName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IpEndpointName.h; sourceTree = ""; }; - 8A1295801B309C23003A66EA /* NetworkingUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkingUtils.h; sourceTree = ""; }; - 8A1295811B309C23003A66EA /* PacketListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PacketListener.h; sourceTree = ""; }; - 8A1295831B309C23003A66EA /* NetworkingUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkingUtils.cpp; sourceTree = ""; }; - 8A1295841B309C23003A66EA /* UdpSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UdpSocket.cpp; sourceTree = ""; }; - 8A1295851B309C23003A66EA /* TimerListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimerListener.h; sourceTree = ""; }; - 8A1295861B309C23003A66EA /* UdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UdpSocket.h; sourceTree = ""; }; - 8A1295881B309C23003A66EA /* NetworkingUtilsWin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkingUtilsWin.cpp; sourceTree = ""; }; - 8A1295891B309C23003A66EA /* UdpSocketWin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UdpSocketWin.cpp; sourceTree = ""; }; - 8A12958B1B309C23003A66EA /* MessageMappingOscPacketListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageMappingOscPacketListener.h; sourceTree = ""; }; - 8A12958C1B309C23003A66EA /* OscException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscException.h; sourceTree = ""; }; - 8A12958D1B309C23003A66EA /* OscHostEndianness.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscHostEndianness.h; sourceTree = ""; }; - 8A12958E1B309C23003A66EA /* OscOutboundPacketStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OscOutboundPacketStream.cpp; sourceTree = ""; }; - 8A12958F1B309C23003A66EA /* OscOutboundPacketStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscOutboundPacketStream.h; sourceTree = ""; }; - 8A1295901B309C23003A66EA /* OscPacketListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscPacketListener.h; sourceTree = ""; }; - 8A1295911B309C23003A66EA /* OscPrintReceivedElements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OscPrintReceivedElements.cpp; sourceTree = ""; }; - 8A1295921B309C23003A66EA /* OscPrintReceivedElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscPrintReceivedElements.h; sourceTree = ""; }; - 8A1295931B309C23003A66EA /* OscReceivedElements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OscReceivedElements.cpp; sourceTree = ""; }; - 8A1295941B309C23003A66EA /* OscReceivedElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscReceivedElements.h; sourceTree = ""; }; - 8A1295951B309C23003A66EA /* OscTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OscTypes.cpp; sourceTree = ""; }; - 8A1295961B309C23003A66EA /* OscTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscTypes.h; sourceTree = ""; }; - 8A1295981B309C23003A66EA /* ofxOsc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOsc.h; sourceTree = ""; }; - 8A1295991B309C23003A66EA /* ofxOscArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscArg.h; sourceTree = ""; }; - 8A12959A1B309C23003A66EA /* ofxOscBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscBundle.cpp; sourceTree = ""; }; - 8A12959B1B309C23003A66EA /* ofxOscBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscBundle.h; sourceTree = ""; }; - 8A12959C1B309C23003A66EA /* ofxOscMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscMessage.cpp; sourceTree = ""; }; - 8A12959D1B309C23003A66EA /* ofxOscMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscMessage.h; sourceTree = ""; }; - 8A12959E1B309C23003A66EA /* ofxOscParameterSync.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscParameterSync.cpp; sourceTree = ""; }; - 8A12959F1B309C23003A66EA /* ofxOscParameterSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscParameterSync.h; sourceTree = ""; }; - 8A1295A01B309C23003A66EA /* ofxOscReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscReceiver.cpp; sourceTree = ""; }; - 8A1295A11B309C23003A66EA /* ofxOscReceiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscReceiver.h; sourceTree = ""; }; - 8A1295A21B309C23003A66EA /* ofxOscSender.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscSender.cpp; sourceTree = ""; }; - 8A1295A31B309C23003A66EA /* ofxOscSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscSender.h; sourceTree = ""; }; - BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; - E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; - E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; - E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, - E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0070C9C519EC1FE100DD621A /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 0070C9C619EC1FE100DD621A /* install.xml */, - 0070C9C719EC1FE100DD621A /* libs */, - 0070C9D719EC1FE100DD621A /* src */, - ); - path = ofxMaxim; - sourceTree = ""; - }; - 0070C9C719EC1FE100DD621A /* libs */ = { - isa = PBXGroup; - children = ( - 0070C9C819EC1FE100DD621A /* fft.cpp */, - 0070C9C919EC1FE100DD621A /* fft.h */, - 0070C9CA19EC1FE100DD621A /* maxiAtoms.cpp */, - 0070C9CB19EC1FE100DD621A /* maxiAtoms.h */, - 0070C9CC19EC1FE100DD621A /* maxiFFT.cpp */, - 0070C9CD19EC1FE100DD621A /* maxiFFT.h */, - 0070C9CE19EC1FE100DD621A /* maxiGrains.cpp */, - 0070C9CF19EC1FE100DD621A /* maxiGrains.h */, - 0070C9D019EC1FE100DD621A /* maxiMFCC.cpp */, - 0070C9D119EC1FE100DD621A /* maxiMFCC.h */, - 0070C9D219EC1FE100DD621A /* maximilian.cpp */, - 0070C9D319EC1FE100DD621A /* maximilian.h */, - 0070C9D419EC1FE100DD621A /* sineTable.h */, - 0070C9D519EC1FE100DD621A /* stb_vorbis.c */, - 0070C9D619EC1FE100DD621A /* stb_vorbis.h */, - ); - path = libs; - sourceTree = ""; - }; - 0070C9D719EC1FE100DD621A /* src */ = { - isa = PBXGroup; - children = ( - 0070C9D819EC1FE100DD621A /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - 8A1295791B309C23003A66EA /* ofxOsc */ = { - isa = PBXGroup; - children = ( - 8A12957A1B309C23003A66EA /* libs */, - 8A1295971B309C23003A66EA /* src */, - ); - path = ofxOsc; - sourceTree = ""; - }; - 8A12957A1B309C23003A66EA /* libs */ = { - isa = PBXGroup; - children = ( - 8A12957B1B309C23003A66EA /* oscpack */, - ); - path = libs; - sourceTree = ""; - }; - 8A12957B1B309C23003A66EA /* oscpack */ = { - isa = PBXGroup; - children = ( - 8A12957C1B309C23003A66EA /* src */, - ); - path = oscpack; - sourceTree = ""; - }; - 8A12957C1B309C23003A66EA /* src */ = { - isa = PBXGroup; - children = ( - 8A12957D1B309C23003A66EA /* ip */, - 8A12958A1B309C23003A66EA /* osc */, - ); - path = src; - sourceTree = ""; - }; - 8A12957D1B309C23003A66EA /* ip */ = { - isa = PBXGroup; - children = ( - 8A12957E1B309C23003A66EA /* IpEndpointName.cpp */, - 8A12957F1B309C23003A66EA /* IpEndpointName.h */, - 8A1295801B309C23003A66EA /* NetworkingUtils.h */, - 8A1295811B309C23003A66EA /* PacketListener.h */, - 8A1295821B309C23003A66EA /* posix */, - 8A1295851B309C23003A66EA /* TimerListener.h */, - 8A1295861B309C23003A66EA /* UdpSocket.h */, - 8A1295871B309C23003A66EA /* win32 */, - ); - path = ip; - sourceTree = ""; - }; - 8A1295821B309C23003A66EA /* posix */ = { - isa = PBXGroup; - children = ( - 8A1295831B309C23003A66EA /* NetworkingUtils.cpp */, - 8A1295841B309C23003A66EA /* UdpSocket.cpp */, - ); - path = posix; - sourceTree = ""; - }; - 8A1295871B309C23003A66EA /* win32 */ = { - isa = PBXGroup; - children = ( - 8A1295881B309C23003A66EA /* NetworkingUtilsWin.cpp */, - 8A1295891B309C23003A66EA /* UdpSocketWin.cpp */, - ); - path = win32; - sourceTree = ""; - }; - 8A12958A1B309C23003A66EA /* osc */ = { - isa = PBXGroup; - children = ( - 8A12958B1B309C23003A66EA /* MessageMappingOscPacketListener.h */, - 8A12958C1B309C23003A66EA /* OscException.h */, - 8A12958D1B309C23003A66EA /* OscHostEndianness.h */, - 8A12958E1B309C23003A66EA /* OscOutboundPacketStream.cpp */, - 8A12958F1B309C23003A66EA /* OscOutboundPacketStream.h */, - 8A1295901B309C23003A66EA /* OscPacketListener.h */, - 8A1295911B309C23003A66EA /* OscPrintReceivedElements.cpp */, - 8A1295921B309C23003A66EA /* OscPrintReceivedElements.h */, - 8A1295931B309C23003A66EA /* OscReceivedElements.cpp */, - 8A1295941B309C23003A66EA /* OscReceivedElements.h */, - 8A1295951B309C23003A66EA /* OscTypes.cpp */, - 8A1295961B309C23003A66EA /* OscTypes.h */, - ); - path = osc; - sourceTree = ""; - }; - 8A1295971B309C23003A66EA /* src */ = { - isa = PBXGroup; - children = ( - 8A1295981B309C23003A66EA /* ofxOsc.h */, - 8A1295991B309C23003A66EA /* ofxOscArg.h */, - 8A12959A1B309C23003A66EA /* ofxOscBundle.cpp */, - 8A12959B1B309C23003A66EA /* ofxOscBundle.h */, - 8A12959C1B309C23003A66EA /* ofxOscMessage.cpp */, - 8A12959D1B309C23003A66EA /* ofxOscMessage.h */, - 8A12959E1B309C23003A66EA /* ofxOscParameterSync.cpp */, - 8A12959F1B309C23003A66EA /* ofxOscParameterSync.h */, - 8A1295A01B309C23003A66EA /* ofxOscReceiver.cpp */, - 8A1295A11B309C23003A66EA /* ofxOscReceiver.h */, - 8A1295A21B309C23003A66EA /* ofxOscSender.cpp */, - 8A1295A31B309C23003A66EA /* ofxOscSender.h */, - ); - path = src; - sourceTree = ""; - }; - BB4B014C10F69532006C3DED /* addons */ = { - isa = PBXGroup; - children = ( - 8A1295791B309C23003A66EA /* ofxOsc */, - 0070C9C519EC1FE100DD621A /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - BBAB23C913894ECA00AA2426 /* system frameworks */ = { - isa = PBXGroup; - children = ( - E7F985F515E0DE99003869B5 /* Accelerate.framework */, - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, - E7E077E715D3B6510020DFD4 /* QTKit.framework */, - ); - name = "system frameworks"; - sourceTree = ""; - }; - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23BE13894E4700AA2426 /* GLUT.framework */, - ); - name = "3rd party frameworks"; - sourceTree = ""; - }; - E4328144138ABC890047C5CB /* Products */ = { - isa = PBXGroup; - children = ( - E4328148138ABC890047C5CB /* openFrameworksDebug.a */, - ); - name = Products; - sourceTree = ""; - }; - E45BE5980E8CC70C009D7055 /* frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, - BBAB23C913894ECA00AA2426 /* system frameworks */, - ); - name = frameworks; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4EEC9E9138DF44700A80321 /* openFrameworks */, - BB4B014C10F69532006C3DED /* addons */, - E45BE5980E8CC70C009D7055 /* frameworks */, - E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4EEC9E9138DF44700A80321 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* emptyExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, - ); - name = emptyExample; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0460; - }; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "maximGranular" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4328144138ABC890047C5CB /* Products */; - ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* emptyExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworksDebug.a; - remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\ncp -f \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0070C9DF19EC1FE100DD621A /* stb_vorbis.c in Sources */, - 8A1295B11B309C23003A66EA /* ofxOscSender.cpp in Sources */, - 8A1295A81B309C23003A66EA /* UdpSocketWin.cpp in Sources */, - 0070C9DE19EC1FE100DD621A /* maximilian.cpp in Sources */, - 8A1295AA1B309C23003A66EA /* OscPrintReceivedElements.cpp in Sources */, - 0070C9DD19EC1FE100DD621A /* maxiMFCC.cpp in Sources */, - 0070C9D919EC1FE100DD621A /* fft.cpp in Sources */, - 8A1295A61B309C23003A66EA /* UdpSocket.cpp in Sources */, - 0070C9DA19EC1FE100DD621A /* maxiAtoms.cpp in Sources */, - 8A1295B01B309C23003A66EA /* ofxOscReceiver.cpp in Sources */, - 8A1295AD1B309C23003A66EA /* ofxOscBundle.cpp in Sources */, - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - 0070C9DB19EC1FE100DD621A /* maxiFFT.cpp in Sources */, - 0070C9DC19EC1FE100DD621A /* maxiGrains.cpp in Sources */, - 8A1295AB1B309C23003A66EA /* OscReceivedElements.cpp in Sources */, - 8A1295AE1B309C23003A66EA /* ofxOscMessage.cpp in Sources */, - 8A1295A51B309C23003A66EA /* NetworkingUtils.cpp in Sources */, - 8A1295AF1B309C23003A66EA /* ofxOscParameterSync.cpp in Sources */, - 8A1295A41B309C23003A66EA /* IpEndpointName.cpp in Sources */, - 8A1295A91B309C23003A66EA /* OscOutboundPacketStream.cpp in Sources */, - 8A1295AC1B309C23003A66EA /* OscTypes.cpp in Sources */, - 8A1295A71B309C23003A66EA /* NetworkingUtilsWin.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(OF_CORE_HEADERS)", - src, - ); - MACOSX_DEPLOYMENT_TARGET = 10.6; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - "-mtune=native", - ); - SDKROOT = macosx; - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(OF_CORE_HEADERS)", - src, - ); - MACOSX_DEPLOYMENT_TARGET = 10.6; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - "-mtune=native", - ); - SDKROOT = macosx; - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_CXX_LIBRARY = "libstdc++"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = NONE; - HEADER_SEARCH_PATHS = ( - "$(OF_CORE_HEADERS)", - src, - "\"$(SRCROOT)/ofxOsc\"/**", - ); - ICON = "$(ICON_NAME_DEBUG)"; - ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", - ); - MACOSX_DEPLOYMENT_TARGET = 10.7; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_CXX_LIBRARY = "libstdc++"; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = NONE; - HEADER_SEARCH_PATHS = ( - "$(OF_CORE_HEADERS)", - src, - "\"$(SRCROOT)/ofxOsc\"/**", - ); - ICON = "$(ICON_NAME_RELEASE)"; - ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - ); - MACOSX_DEPLOYMENT_TARGET = 10.7; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "maximGranular" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100755 index 85035ef..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcshareddata/maximGranular.xccheckout b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcshareddata/maximGranular.xccheckout deleted file mode 100644 index f38651c..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcshareddata/maximGranular.xccheckout +++ /dev/null @@ -1,41 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - 54F49F66-E80E-4E28-B0A3-F056A42F3025 - IDESourceControlProjectName - maximGranular - IDESourceControlProjectOriginsDictionary - - 9EA75D55FA54A28D61D05E99737654AEBBBF0FB9 - https://github.com/micknoise/Maximilian.git - - IDESourceControlProjectPath - ofxMaxim/HACKDAY/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj - IDESourceControlProjectRelativeInstallPathDictionary - - 9EA75D55FA54A28D61D05E99737654AEBBBF0FB9 - ../../../../.. - - IDESourceControlProjectURL - https://github.com/micknoise/Maximilian.git - IDESourceControlProjectVersion - 111 - IDESourceControlProjectWCCIdentifier - 9EA75D55FA54A28D61D05E99737654AEBBBF0FB9 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 9EA75D55FA54A28D61D05E99737654AEBBBF0FB9 - IDESourceControlWCCName - Maximilian - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100755 index a1bf611..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100755 index c028870..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme deleted file mode 100755 index 06ebf54..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme deleted file mode 100755 index 6d32390..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme deleted file mode 100755 index aa92280..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/emptyExample.xcscheme +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100755 index 2fe06ee..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - SchemeUserState - - emptyExample Debug.xcscheme_^#shared#^_ - - orderHint - 0 - - emptyExample Release.xcscheme_^#shared#^_ - - orderHint - 1 - - emptyExample.xcscheme - - orderHint - 2 - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme deleted file mode 100755 index fe05491..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100755 index 2fe06ee..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/maximGranular.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - SchemeUserState - - emptyExample Debug.xcscheme_^#shared#^_ - - orderHint - 0 - - emptyExample Release.xcscheme_^#shared#^_ - - orderHint - 1 - - emptyExample.xcscheme - - orderHint - 2 - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/install.xml b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/install.xml deleted file mode 100755 index 58923be..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/install.xml +++ /dev/null @@ -1,35 +0,0 @@ - - 0.1 - Goldsmiths Creative Computing - http://www.maximilian.strangeloop.co.uk/ - - - - - - - - - - - - ../../../addons/ofxMaxim/src/ofxMaxim.h - - - - ../../../addons/ofxMaxim/libs/fft.h - ../../../addons/ofxMaxim/libs/fft.cpp - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.h - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.cpp - ../../../addons/ofxMaxim/libs/maximilian.h - ../../../addons/ofxMaxim/libs/maximilian.cpp - - - - - - ../../../addons/ofxMaxim/src - ../../../addons/ofxMaxim/libs - - - \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.cpp deleted file mode 100755 index 85a7aa9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.cpp +++ /dev/null @@ -1,584 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ -/* - - fft.cpp - - Based on K+R Numerical recipes in C and some other stuff hacked about. - - */ - -#include "fft.h" -#include -#include -#include -#include - -int **gFFTBitTable = NULL; -const int MaxFastBits = 16; - -int IsPowerOfTwo(int x) -{ - if (x < 2) - return false; - - if (x & (x - 1)) - return false; - - return true; -} - -int NumberOfBitsNeeded(int PowerOfTwo) -{ - int i; - - if (PowerOfTwo < 2) { - fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); - exit(1); - } - - for (i = 0;; i++) - if (PowerOfTwo & (1 << i)) - return i; -} - -int ReverseBits(int index, int NumBits) -{ - int i, rev; - - for (i = rev = 0; i < NumBits; i++) { - rev = (rev << 1) | (index & 1); - index >>= 1; - } - - return rev; -} - -void InitFFT() -{ - // gFFTBitTable = new int *[MaxFastBits]; - //use malloc for 16 byte alignment - gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); - - int len = 2; - for (int b = 1; b <= MaxFastBits; b++) { - - // gFFTBitTable[b - 1] = new int[len]; - gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); - - for (int i = 0; i < len; i++) - gFFTBitTable[b - 1][i] = ReverseBits(i, b); - - len <<= 1; - } -} - -inline int FastReverseBits(int i, int NumBits) -{ - if (NumBits <= MaxFastBits) - return gFFTBitTable[NumBits - 1][i]; - else - return ReverseBits(i, NumBits); -} - -/* - * Complex Fast Fourier Transform - */ - -void FFT(int NumSamples, - bool InverseTransform, - float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) -{ - int NumBits; /* Number of bits needed to store indices */ - int i, j, k, n; - int BlockSize, BlockEnd; - - double angle_numerator = 2.0 * M_PI; - float tr, ti; /* temp real, temp imaginary */ - - if (!IsPowerOfTwo(NumSamples)) { - fprintf(stderr, "%d is not a power of two\n", NumSamples); - exit(1); - } - - if (!gFFTBitTable) - InitFFT(); - - if (InverseTransform) - angle_numerator = -angle_numerator; - - NumBits = NumberOfBitsNeeded(NumSamples); - - /* - ** Do simultaneous data copy and bit-reversal ordering into outputs... - */ - - for (i = 0; i < NumSamples; i++) { - j = FastReverseBits(i, NumBits); - RealOut[j] = RealIn[i]; - ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; - } - - /* - ** Do the FFT itself... - */ - - BlockEnd = 1; - for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { - - double delta_angle = angle_numerator / (double) BlockSize; - - float sm2 = sin(-2 * delta_angle); - float sm1 = sin(-delta_angle); - float cm2 = cos(-2 * delta_angle); - float cm1 = cos(-delta_angle); - float w = 2 * cm1; - float ar0, ar1, ar2, ai0, ai1, ai2; - - for (i = 0; i < NumSamples; i += BlockSize) { - ar2 = cm2; - ar1 = cm1; - - ai2 = sm2; - ai1 = sm1; - - for (j = i, n = 0; n < BlockEnd; j++, n++) { - ar0 = w * ar1 - ar2; - ar2 = ar1; - ar1 = ar0; - - ai0 = w * ai1 - ai2; - ai2 = ai1; - ai1 = ai0; - - k = j + BlockEnd; - tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; - ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; - - RealOut[k] = RealOut[j] - tr; - ImagOut[k] = ImagOut[j] - ti; - - RealOut[j] += tr; - ImagOut[j] += ti; - } - } - - BlockEnd = BlockSize; - } - - /* - ** Need to normalize if inverse transform... - */ - - if (InverseTransform) { - float denom = (float) NumSamples; - - for (i = 0; i < NumSamples; i++) { - RealOut[i] /= denom; - ImagOut[i] /= denom; - } - } -} - -/* - * Real Fast Fourier Transform - * - * This function was based on the code in Numerical Recipes in C. - * In Num. Rec., the inner loop is based on a single 1-based array - * of interleaved real and imaginary numbers. Because we have two - * separate zero-based arrays, our indices are quite different. - * Here is the correspondence between Num. Rec. indices and our indices: - * - * i1 <-> real[i] - * i2 <-> imag[i] - * i3 <-> real[n/2-i] - * i4 <-> imag[n/2-i] - */ - -void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = (float*) malloc(Half * sizeof(float)); - float *tmpImag = (float*) malloc(Half * sizeof(float)); - - for (i = 0; i < Half; i++) { - tmpReal[i] = RealIn[2 * i]; - tmpImag[i] = RealIn[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - RealOut[i] = h1r + wr * h2r - wi * h2i; - ImagOut[i] = h1i + wr * h2i + wi * h2r; - RealOut[i3] = h1r - wr * h2r + wi * h2i; - ImagOut[i3] = -h1i + wr * h2i + wi * h2r; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - - RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; - ImagOut[0] = h1r - ImagOut[0]; - - free(tmpReal); - free(tmpImag); -} - -/* - * PowerSpectrum - * - * This function computes the same as RealFFT, above, but - * adds the squares of the real and imaginary part of each - * coefficient, extracting the power and throwing away the - * phase. - * - * For speed, it does not call RealFFT, but duplicates some - * of its code. - */ - -void PowerSpectrum(int NumSamples, float *In, float *Out) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = new float[Half]; - float *tmpImag = new float[Half]; - float *RealOut = new float[Half]; - float *ImagOut = new float[Half]; - - for (i = 0; i < Half; i++) { - tmpReal[i] = In[2 * i]; - tmpImag[i] = In[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i, rt, it; - //float total=0; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); - it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); - - Out[i] = rt * rt + it * it; - - rt = h1r - wr * h2r + wi * h2i; - it = -h1i + wr * h2i + wi * h2r; - - Out[i3] = rt * rt + it * it; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - //printf("total = %f\n",total); - rt = (h1r = RealOut[0]) + ImagOut[0]; - it = h1r - ImagOut[0]; - Out[0] = rt * rt + it * it; - - rt = RealOut[Half / 2]; - it = ImagOut[Half / 2]; - Out[Half / 2] = rt * rt + it * it; - - delete[]tmpReal; - delete[]tmpImag; - delete[]RealOut; - delete[]ImagOut; -} - -void WindowFunc(int whichFunction, int NumSamples, float *in) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - in[i] *= (i / (float) (NumSamples / 2)); - in[i + (NumSamples / 2)] *= - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -void fft::genWindow(int whichFunction, int NumSamples, float *window) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - window[i] = (i / (float) (NumSamples / 2)); - window[i + (NumSamples / 2)] = - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -/* constructor */ -fft::fft(int fftSize) { - n = fftSize; - half = fftSize / 2; - //use malloc for 16 byte alignment - in_real = (float *) malloc(n * sizeof(float)); - in_img = (float *) malloc(n * sizeof(float)); - out_real = (float *) malloc(n * sizeof(float)); - out_img = (float *) malloc(n * sizeof(float)); - -#ifdef __APPLE_CC__ - log2n = log2(n); - A.realp = (float *) malloc(half * sizeof(float)); - A.imagp = (float *) malloc(half * sizeof(float)); - setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); - if (setupReal == NULL) { - printf("\nFFT_Setup failed to allocate enough memory for" - "the real FFT.\n"); - } - polar = (float *) malloc(n * sizeof(float)); -#endif -} - -/* destructor */ -fft::~fft() { - delete[] in_real, out_real, in_img, out_img; -#ifdef __APPLE_CC__ - vDSP_destroy_fftsetup(setupReal); - delete[] A.realp; - delete[] A.imagp; - delete[] polar; -#endif - -} - -/* Calculate the power spectrum */ -void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { - int i; - - //windowing - for (i = 0; i < n; i++) { - in_real[i] = data[start + i] * window[i]; - } - - - RealFFT(n, in_real, out_real, out_img); - - for (i = 0; i < half; i++) { - /* compute power */ - float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; - /* compute magnitude and phase */ - magnitude[i] = sqrt(power); - phase[i] = atan2(out_img[i],out_real[i]); - - // if (magnitude[i] < 0.000001){ // less than 0.1 nV - // magnitude[i] = 0; // out of range - // } else { - // magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale - // } - } - -} - -void fft::convToDB(float *in, float *out) { - for (int i = 0; i < half; i++) { - if (in[i] < 0.000001){ // less than 0.1 nV - out[i] = 0; // out of range - } else { - out[i] = 20.0*log10(in[i] + 1); // get to to db scale - } - } -} - - -#ifdef __APPLE_CC__ - -/* Calculate the power spectrum */ -void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { - - uint32_t i; - - //multiply by window - vDSP_vmul(data, 1, window, 1, in_real, 1, n); - - //convert to split complex format - evens and odds - vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); - - - //calc fft - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); - - //scale by 2 (see vDSP docs) - static float scale=0.5 ; - vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); - vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); - - //back to split complex format - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - //convert to polar - vDSP_polar(out_real, 2, polar, 2, half); - - for (i = 0; i < half; i++) { - magnitude[i]=polar[2*i]; - phase[i]=polar[2*i + 1]; - } - - - -} - -void fft::convToDB_vdsp(float *in, float *out) { - float ref = 1.0; - vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); - //get rid of any -infs - float vmin=0.0; - float vmax=9999999.0; - vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); -} - -#endif - -void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { - int i; - - /* get real and imag part */ - for (i = 0; i < half; i++) { - // float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; - // in_real[i] = mag *cos(phase[i]); - // in_img[i] = mag *sin(phase[i]); - in_real[i] = magnitude[i] *cos(phase[i]); - in_img[i] = magnitude[i] *sin(phase[i]); - } - - /* zero negative frequencies */ - memset(in_real+half, half, 0.0); - memset(in_img+half, half, 0.0); - - FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform - - for (i = 0; i < n; i++) { - finalOut[start + i] += out_real[i] * window[i] - ; - } - -} - - -#ifdef __APPLE_CC__ -void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { - uint32_t i; - - for (i = 0; i < half; i++) { - // polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; - polar[2*i] = magnitude[i]; - polar[2*i + 1] = phase[i]; - } - - vDSP_rect(polar, 2, in_real, 2, half); - - vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - float scale = 1./n; - vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); - - //multiply by window - vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); - -} - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.h deleted file mode 100755 index 7f0e688..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/fft.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _FFT -#define _FFT - -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifdef __APPLE_CC__ -#include -#endif - - - -class fft { - -public: - - fft(int fftSize); - ~fft(); - - int n; //fftSize - int half; //halfFFTSize - - float *in_real, *out_real, *in_img, *out_img; - -#ifdef __APPLE_CC__ - int log2n; //log2(n); - FFTSetup setupReal; - COMPLEX_SPLIT A; - float *polar; - void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); - void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB_vdsp(float *in, float *out); -#endif - - /* Calculate the power spectrum */ - void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); - /* ... the inverse */ - void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB(float *in, float *out); - - static void genWindow(int whichFunction, int NumSamples, float *window); - -}; - - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.cpp deleted file mode 100755 index 14f5ea8..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/* - * gabor.cpp - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiAtoms.h" -#include -#include -#include "sineTable.h" -#ifdef __APPLE_CC__ -#include -#warning ofxMaxim: Please link against the accelerate framework. -#endif - -//#include "tinyxml.h" - -float sineBuffer2[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - - -maxiGrainWindowCache maxiCollider::envCache = maxiGrainWindowCache(); - -inline void maxiCollider::createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned length, - float startPhase, const float kurtotis, const float amp) { - atom.resize(length); - flArr sine; - sine.resize(length); - -// float gausDivisor = (-2.0 * kurtotis * kurtotis); -// float phase =-1.0; - - double *env = maxiCollider::envCache.getWindow(length); -#ifdef __APPLE_CC__ - vDSP_vdpsp(env, 1, &atom[0], 1, length); -#else - for(unsigned i=0; i < length; i++) { - atom[i] = env[i]; - } -#endif - -//#ifdef __APPLE_CC__ -// vDSP_vramp(&phase, &inc, &atom[0], 1, length); -// vDSP_vsq(&atom[0], 1, &atom[0], 1, length); -// vDSP_vsdiv(&atom[0], 1, &gausDivisor, &atom[0], 1, length); -// for(uint i=0; i < length; i++) atom[i] = exp(atom[i]); -//#else -// for(uint i=0; i < length; i++) { -// //gaussian envelope -// atom[i] = exp((phase* phase) / gausDivisor); -// phase += inc; -// } -//#endif - - float cycleLen = sampleRate / freq; - float maxPhase = length / cycleLen; - float inc = 1.0 / length; - - -#ifdef __APPLE_CC__ - flArr interpConstants; - interpConstants.resize(length); - float phase = 0.0; - vDSP_vramp(&phase, &inc, &interpConstants[0], 1, length); - vDSP_vsmsa(&interpConstants[0], 1, &maxPhase, &startPhase, &interpConstants[0], 1, length); - float waveTableLength = 512; - vDSP_vsmul(&interpConstants[0], 1, &waveTableLength, &interpConstants[0], 1, length); - for(uint i=0; i < length; i++) { - interpConstants[i] = fmod(interpConstants[i], 512.0f); - } - vDSP_vlint(sineBuffer2, &interpConstants[0], 1, &sine[0], 1, length, 514); - vDSP_vmul(&atom[0], 1, &sine[0], 1, &atom[0], 1, length); - vDSP_vsmul(&atom[0], 1, &, &atom[0], 1, length); -#else - maxPhase *= TWOPI; - for(unsigned int i=0; i < length; i++) { - //multiply by sinewave - float x = inc * i; - sine[i] = sin((x * maxPhase) + startPhase); - } - for(unsigned int i=0; i < length; i++) { - atom[i] *= sine[i]; - atom[i] *= amp; - } -#endif -} - - - -maxiAccelerator::maxiAccelerator() { - sampleIdx = 0; -} - -void maxiAccelerator::addAtom(flArr &atom, unsigned int offset) { - queuedAtom quAtom; - quAtom.atom = atom; - quAtom.startTime = sampleIdx + offset; - quAtom.pos = 0; - atomQueue.push_back(quAtom); -} - -void maxiAccelerator::fillNextBuffer(float *buffer, unsigned int bufferLength) { - queuedAtomList::iterator it = atomQueue.begin(); - while(it != atomQueue.end()) { - int atomStart = (*it).startTime + (*it).pos; - //include in this frame? - if (atomStart >= sampleIdx && atomStart < sampleIdx + bufferLength) { - //copy into buffer - int renderLength = min((int)bufferLength,(int)( (*it).atom.size() - (*it).pos)); - for(int i=0; i < renderLength; i++) { - buffer[i] += (*it).atom[i + (*it).pos]; - } - (*it).pos += renderLength; - } - if ((*it).pos == (*it).atom.size()) { - it = atomQueue.erase(it); - }else { - it++; - } - - } - sampleIdx += bufferLength; -} - -//bool maxiAtomBook::loadMPTKXmlBook(string filename, maxiAtomBook &book) { -// bool ok; -// ifstream f; -// f.open(filename.c_str()); -// if (f.fail()) { -// cout << "I couldn't open " << filename << endl; -// ok = false; -// }else { -// cout << "Reading " << filename << endl; -// const int lineBufferSize = 1024; -// char lineBuffer[lineBufferSize]; -// string line(""); -// //get dictionary definition xml -// while("" != line) { -// f.getline(lineBuffer, lineBufferSize); -// line = lineBuffer; -// } -// //this should be "txt" -// f.getline(lineBuffer, lineBufferSize); -// //get rest of data into one string -// string xmlData; -// while(!f.eof()) { -// f.getline(lineBuffer, lineBufferSize); -// xmlData.append(lineBuffer); -// } -// TiXmlDocument doc; -// doc.Parse(xmlData.c_str()); -// cout << "Parsed xml, processing atoms...\n"; -// TiXmlHandle docHandle = TiXmlHandle(&doc); -// -// TiXmlElement *root = docHandle.FirstChildElement("book").ToElement(); -// TiXmlAttribute *nAtomsAtt = root->FirstAttribute(); -// cout << nAtomsAtt->Name() << ", " << nAtomsAtt->Value() << endl; -// int nAtoms = atoi(nAtomsAtt->Value()); -// TiXmlAttribute *numSamplesAtt = nAtomsAtt->Next()->Next(); -// cout << numSamplesAtt->Name() << ", " << numSamplesAtt->Value() << endl; -// book.numSamples = atoi(numSamplesAtt->Value()); -// TiXmlAttribute *sampleRateAtt = numSamplesAtt->Next(); -// cout << sampleRateAtt->Name() << ", " << sampleRateAtt->Value() << endl; -// book.sampleRate = atoi(sampleRateAtt->Value()); -// -// for(int atomIdx=0; atomIdx < nAtoms; atomIdx++) { -// maxiGaborAtom *newAtom = new maxiGaborAtom(); -// newAtom->atomType = GABOR; -// TiXmlElement *atom = docHandle.FirstChildElement("book").ChildElement("atom", atomIdx).ToElement(); -// TiXmlElement *node = atom->FirstChildElement()->NextSibling()->ToElement(); -// newAtom->position = atoi(node->FirstChildElement("p")->FirstChild()->ToText()->Value()); -// newAtom->length = atoi(node->FirstChildElement("l")->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->ToElement(); -// newAtom->amp = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->frequency = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->phase = atof(node->FirstChild()->ToText()->Value()); -// //cout << "Atom: pos: " << newAtom->position << ", length: " << newAtom->length << ", amp: " << newAtom->amp << ", freq: " << newAtom->frequency << ", phase: " << newAtom->phase << endl; -// book.atoms.push_back(newAtom); -// } -// -// } -// return ok; -//} - -maxiAtomBook::~maxiAtomBook() { - for(int i=0; i < atoms.size(); i++) delete atoms[i]; -} - -maxiAtomBookPlayer::maxiAtomBookPlayer() { - atomIdx = 0; -} - -void maxiAtomBookPlayer::play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize) { - //positions - long idx = atomStream.getSampleIdx(); - int loopedSamplePos = idx % book.numSamples; - - //reset loop? - if (loopedSamplePos < bufferSize) - atomIdx = 0; - - if (atomIdx < book.atoms.size()) { - maxiGaborAtom *atom = (maxiGaborAtom*) book.atoms[atomIdx]; - while(atom->position < (idx + bufferSize) % book.numSamples) { - flArr atomData; - maxiCollider::createGabor(atomData, maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 40.0); - atomStream.addAtom(atomData, loopedSamplePos - atom->position); - atomIdx++; - if (book.atoms.size() == atomIdx) - break; - atom = (maxiGaborAtom*) book.atoms[atomIdx]; - } - } -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.h deleted file mode 100755 index 1782d55..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiAtoms.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * gabor.h - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - - -#include -#include "maximilian.h" -#include -#include -#include "maxiGrains.h" - - -using namespace std; - -typedef vector flArr; - -enum maxiAtomTypes { - GABOR -}; - -struct maxiAtom { - maxiAtomTypes atomType; - float length; - float position; - float amp; - static bool atomSortPositionAsc(maxiAtom* a, maxiAtom* b) {return a->position < b->position;} -}; - -struct maxiGaborAtom : maxiAtom { - float frequency; - float phase; -}; - -//create atoms -class maxiCollider { -public: - static inline void createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned int length, - float phase, const float kurtotis, const float amp); - static maxiGrainWindowCache envCache; -}; - - -//queue atoms into an audio stream -class maxiAccelerator { -public: - maxiAccelerator(); - void addAtom(flArr &atom, unsigned int offset=0); - void fillNextBuffer(float *buffer, unsigned int bufferLength); - inline long getSampleIdx(){return sampleIdx;} -private: - long sampleIdx; - struct queuedAtom { - flArr atom; - long startTime; - unsigned int pos; - }; - typedef list queuedAtomList; - queuedAtomList atomQueue; -}; - -/*load a book in MPTK XML format - http://mptk.irisa.fr/ - - how to create a book: - mpd -n 1000 -R 10 -d ./dic_gabor_two_scales.xml glockenspiel.wav book.xml -*/ -class maxiAtomBook { -public: - ~maxiAtomBook(); - typedef vector maxiAtomBookData; - unsigned int numSamples; - unsigned int sampleRate; - maxiAtomBookData atoms; - //commented out for now, need to resolve tinyxml linker issues - we need tinyxml in the distrib, but it clashes if you also import ofxXmlSettings -// static bool loadMPTKXmlBook(string filename, maxiAtomBook &book); - -}; - -class maxiAtomBookPlayer { -public: - maxiAtomBookPlayer(); - void play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize); -private: - unsigned int atomIdx; -}; - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.cpp deleted file mode 100755 index 90a3137..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maxiFFT.h" -#include "maximilian.h" -#include -#include "math.h" - -using namespace std; - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - magnitudes = (float *) malloc(bins * sizeof(float)); - magnitudesDB = (float *) malloc(bins * sizeof(float)); - phases = (float *) malloc(bins * sizeof(float)); - avgPower = new float; - memset(buffer, 0, fftSize * sizeof(float)); - memset(magnitudes, 0, bins * sizeof(float)); - memset(magnitudesDB, 0, bins * sizeof(float)); - memset(phases, 0, bins * sizeof(float)); - *avgPower = 0; - pos =windowSize - hopSize; - newFFT = 0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -bool maxiFFT::process(float value) { - //add value to buffer at current pos - buffer[pos++] = value; - //if buffer full, run fft - newFFT = pos == windowSize; - if (newFFT) { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); -#else - _fft->powerSpectrum(0, buffer, window, magnitudes, phases); -#endif - //shift buffer back by one hop size - memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); - //set the new data to zero (is this necessary?, it will get overwritten) - memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); - //reset pos to start of hop - pos= windowSize - hopSize; - } - return newFFT; -} - -float* maxiFFT::magsToDB() { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->convToDB_vdsp(magnitudes, magnitudesDB); -#else - _fft->convToDB(magnitudes, magnitudesDB); -#endif - return magnitudesDB; -} - -float maxiFFT::spectralFlatness() { - float geometricMean=0, arithmaticMean=0; - for(int i=0; i < bins; i++) { - if (magnitudes[i] != 0) - geometricMean += logf(magnitudes[i]); - arithmaticMean += magnitudes[i]; - } - geometricMean = expf(geometricMean / (float)bins); - arithmaticMean /= (float)bins; - return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; -} - -float maxiFFT::spectralCentroid() { - float x=0, y=0; - for(int i=0; i < bins; i++) { - x += fabs(magnitudes[i]) * (i+1); - y += fabs(magnitudes[i]); - } - return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; -} - - - -maxiFFT::~maxiFFT() { - delete _fft; - if (buffer) - delete[] buffer,magnitudes,phases,window, avgPower, magnitudesDB; -} - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//I N V E R S E F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - ifftOut = (float *) malloc(fftSize * sizeof(float)); - memset(buffer, 0, windowSize * sizeof(float)); - pos =0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -float maxiIFFT::process(float *magnitudes, float *phases) { - if (0==pos) { - //do ifft - memset(ifftOut, 0, fftSize * sizeof(float)); -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); -#else - _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); -#endif - //add to output - //shift back by one hop - memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); - //clear the end chunk - memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); - //merge new output - for(int i=0; i < fftSize; i++) { - buffer[i] += ifftOut[i]; - } - } - - nextValue = buffer[pos]; - //limit the values, this alg seems to spike occasionally (and break the audio drivers) - if (nextValue > 0.99999f) nextValue = 0.99999f; - if (nextValue < -0.99999f) nextValue = -0.99999f; - if (hopSize == ++pos ) { - pos=0; - } - - return nextValue; -} - -maxiIFFT::~maxiIFFT() { - delete _fft; - delete[] ifftOut, buffer, window; -}; - - - - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//O C T A V E A N A L Y S E R -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - -void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ - - samplingRate = samplingRate; - nSpectrum = nBandsInTheFFT; - spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); - nAverages = nBandsInTheFFT; - // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc - if (nAveragesPerOctave==0) // um, wtf? - nAveragesPerOctave = 1; -// nAveragesPerOctave = nAveragesPerOctave; - averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); - // this isn't currently configurable (used once here then no effect), but here's some reasoning: - // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 - // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 - // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 - // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) - // but don't go much smaller unless you have a huge fft window size (see below for more why) - // keep in mind, if you change it, that the number of actual bands may change +/-1, and - // for some values, the last averaging band may not be very useful (may extend above nyquist) - firstOctaveFrequency = 55.0f; - // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. - // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. - // with more spectrum bins, you can better map into the averaging bins (especially at low - // frequencies) or use more averaging bins per octave. with an fft window size of 2048, - // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave - // analysis. if you don't have enough spectrum bins to map adequately into averaging bins - // at the requested number per octave then you'll end up with "empty" averaging bins, where - // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, - // either increase fft buffer size, or decrease number of averages per octave, etc) - spe2avg = new int[nSpectrum]; - int avgidx = 0; - float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin - // we're looking for the "top" of the first spectrum bin, and i'm just sort of - // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) - // ... either way it's probably close enough for these purposes - float spectrumFreq = spectrumFrequencySpan; - for (int speidx=0; speidx < nSpectrum; speidx++) { - while (spectrumFreq > averageFreq) { - avgidx++; - averageFreq *= averageFrequencyIncrement; - } - spe2avg[speidx] = avgidx; - spectrumFreq += spectrumFrequencySpan; - } - nAverages = avgidx; - averages = new float[nAverages]; - peaks = new float[nAverages]; - peakHoldTimes = new int[nAverages]; - peakHoldTime = 0; // arbitrary - peakDecayRate = 0.9f; // arbitrary - linearEQIntercept = 1.0f; // unity -- no eq by default - linearEQSlope = 0.0f; // unity -- no eq by default -} - -void maxiFFTOctaveAnalyzer::calculate(float * fftData){ - - int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average - float sum = 0.0f; // running total of spectrum data - int count = 0; // count of spectrums accumulated (for averaging) - for (int speidx=0; speidx < nSpectrum; speidx++) { - count++; - sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); - int avgidx = spe2avg[speidx]; - if (avgidx != last_avgidx) { - - for (int j = last_avgidx; j < avgidx; j++){ - averages[j] = sum / (float)(count); - } - count = 0; - sum = 0.0f; - } - last_avgidx = avgidx; - } - // the last average was probably not calculated... - if ((count > 0) && (last_avgidx < nAverages)){ - averages[last_avgidx] = sum / (float)(count); - } - - // update the peaks separately - for (int i=0; i < nAverages; i++) { - if (averages[i] >= peaks[i]) { - // save new peak level, also reset the hold timer - peaks[i] = averages[i]; - peakHoldTimes[i] = peakHoldTime; - } else { - // current average does not exceed peak, so hold or decay the peak - if (peakHoldTimes[i] > 0) { - peakHoldTimes[i]--; - } else { - peaks[i] *= peakDecayRate; - } - } - } -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.h deleted file mode 100755 index d2694f4..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiFFT.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _MAXI_FFT -#define _MAXI_FFT - -//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions - - -#include "fft.h" -#include "stddef.h" - -class maxiFFT { - -public: - maxiFFT(){ - _fft = NULL; - buffer = magnitudes = phases = window = avgPower = NULL; - }; - ~maxiFFT(); - void setup(int fftSize, int windowSize, int hopSize); - bool process(float value); - float* magsToDB(); - float *magnitudes, *phases, *magnitudesDB; - float *avgPower; - int windowSize; - int hopSize; - int bins; - - //features - float spectralFlatness(); - float spectralCentroid(); - -private: - float *buffer, *window; - int pos; - float nextValue; - int fftSize; - fft *_fft; - bool newFFT; - -}; - -class maxiIFFT { - -public: - maxiIFFT(){ - _fft=0; - }; - ~maxiIFFT(); - void setup(int fftSize, int windowSize, int hopSize); - float process(float *magnitudes, float *phases); - -private: - float *ifftOut, *buffer, *window; - int windowSize; - int bins; - int hopSize; - int pos; - float nextValue; - int fftSize; - fft *_fft; -}; - - -class maxiFFTOctaveAnalyzer { - /*based on code by David Bollinger, http://www.davebollinger.com/ - */ -public: - - float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) - int nSpectrum; // number of spectrum bins in the fft - int nAverages; // number of averaging bins here - int nAveragesPerOctave; // number of averages per octave as requested by user - float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz - float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz - float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies - float * averages; // the actual averages - float * peaks; // peaks of the averages, aka "maxAverages" in other implementations - int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 - int peakHoldTime; // how long do we hold peaks? (in fft frames) - float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all - int * spe2avg; // the mapping between spectrum[] indices and averages[] indices - // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale - // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear - // equalizer instead: - float linearEQSlope; // the rate of linear eq - float linearEQIntercept; // the base linear scaling used at the first averaging bin - // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) - // so.. note that clever use of it can also provide a "gain" control of sorts - // (fe: set intercept to 2f and slope to 0f to double gain) - - void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); - - void calculate(float * fftData); - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.cpp deleted file mode 100755 index 951f3b5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "maxiGrains.h" - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.h deleted file mode 100755 index fb3e102..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiGrains.h +++ /dev/null @@ -1,467 +0,0 @@ - - -#ifndef _MAXI_GRAINS_H -#define _MAXI_GRAINS_H -#include "maximilian.h" - -#if defined(__APPLE_CC__) -#include "accelerate/accelerate.h" -//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. -//#define MAXIGRAINFAST -#endif - -#include - -typedef unsigned long ulong; - -//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows - -struct hannWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - -//this window can produce clicks -struct hammingWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - - -struct cosineWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return sin((PI * windowPos) / (windowLength - 1)); - } -}; - -struct rectWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 1; - } -}; - -struct triangleWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct triangleNZWinFunctor { - //non zero end points - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct blackmanHarrisWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.35875 - - (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct blackmanNutallWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.3635819 - - (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct gaussianWinFunctor { - double gausDivisor; - gaussianWinFunctor() { - init(0.3); - } - gaussianWinFunctor(double kurtosis) { - init(kurtosis); - } - void init(double kurtosis) { - gausDivisor = (-2.0 * kurtosis * kurtosis); - } - inline double operator()(ulong windowLength, ulong windowPos) { - double phase = ((windowPos / (double) windowLength) - 0.5) * 2.0; - return exp((phase * phase) / gausDivisor); - } -}; - - -template -class maxiGrainWindowCache { -public: - unsigned int cacheSize; - - maxiGrainWindowCache() { - cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains - cache = (double**)malloc(cacheSize * sizeof(double*)); - for(int i=0; i < cacheSize; i++) { - cache[i] = NULL; - } - } - - ~maxiGrainWindowCache() { - for(int i=0; i < cacheSize; i++) { - if(NULL != cache[i]) { - free(cache[i]); - } - } - free(cache); - } - - double* getWindow(const unsigned int length) { - if (NULL == cache[length]) { - cache[length] = (double*)malloc(length * sizeof(double)); - for(int i=0; i < length; i++) { - cache[length][i] = F()(length, i); - } - } - return cache[length]; - } - -private: - double** cache; - -}; - -class maxiGrainBase { -public: - virtual double play() {} - virtual ~maxiGrainBase() {} - bool finished; -}; - -template -class maxiGrain : public maxiGrainBase { -public: - maxiSample *sample; - double pos; - double dur; - long sampleStartPos; - long sampleIdx; - long sampleDur; - long sampleEndPos; - double freq; - double speed; - double inc; - double frequency; - double* window; - short* buffer; -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - double* grainSamples; -#endif - /* - position between 0.0 and 1.0 - duration in seconds - */ - maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) - { - buffer = sample->temp; - sampleStartPos = sample->length * pos; - sampleDur = dur * (double)sample->mySampleRate; - sampleDurMinusOne = sampleDur - 1; - sampleIdx = 0; - finished = 0; - freq = 1.0 / dur; - sampleEndPos = min(sample->length, sampleStartPos + sampleDur); - frequency = freq * speed; - if (frequency > 0) { - pos = sampleStartPos; - }else{ - pos = sampleEndPos; - } - if (frequency != 0) { - inc = sampleDur/(maxiSettings::sampleRate/frequency); - }else - inc = 0; - window = windowCache->getWindow(sampleDur); - -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - //premake the grain using fast vector functions, and quadratic interpolation - double *sourceData = (double*)malloc(sampleDur * sizeof(double)); - short* buffer = (short *)sample->temp; - //convert sample to double data - vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); - //todo: wraping code - - grainSamples = (double*)malloc(sampleDur * sizeof(double)); - //make list of interpolation indexes - double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); - double interpPos = sampleStartPos; - for(int i=0; i < sampleDur; i++) { - interpIndexes[i] = interpPos - sampleStartPos; - interpPos += fabs(inc); - } - vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); - if (frequency < 0) { - vDSP_vrvrsD(grainSamples,1, sampleDur); - } - static double divFactor = 32767.0; - vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); - vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); - delete sourceData, interpIndexes; -#endif - } - - ~maxiGrain() { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - delete[] grainSamples; -#endif - } - - inline double play() { - double output = 0.0; - if (!finished) { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - output = grainSamples[sampleIdx]; -#else - envValue = window[sampleIdx]; - double remainder; - pos += inc; - if (pos >= sample->length) - pos -= sample->length; - else if (pos < 0) - pos += sample->length; - - long posl = floor(pos); - remainder = pos - posl; - long a = posl; - long b = posl+1; - if (b >= sample->length) { - b = 0; - } - output = (double) ((1-remainder) * buffer[a] + - remainder * buffer[b])/32767.0;//linear interpolation - output *= envValue; -#endif - } - sampleIdx++; - if (sampleIdx == sampleDur) finished = true; - return output; - } - -protected: - maxiGrain(); - double envValue; - ulong sampleDurMinusOne; -}; - - -typedef list grainList; - -class maxiGrainPlayer { -public: - grainList grains; - maxiSample *sample; - - maxiGrainPlayer(maxiSample *sample) : sample(sample) { - } - - void addGrain(maxiGrainBase *g) { - grains.push_back(g); - } - - inline double play() { - double total = 0.0; - grainList::iterator it = grains.begin(); - while(it != grains.end()) { - total += (*it)->play(); - if ((*it)->finished) { - delete(*it); - it = grains.erase(it); - }else{ - it++; - } - } - return total; - } -}; - -template -class maxiTimestretch { -protected: - double position; -public: - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - double looper; - - - - maxiTimestretch(maxiSample *sample) : sample(sample) { - position=0; - looper = 0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiTimestretch() { - delete grainPlayer; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - - //play at a speed - inline double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + speed; - looper++; - if (position > sample->length) position-= sample->length; - if (position < 0) position += sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - speed = (speed > 0 ? 1 : -1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - - //provide your own position iteration - inline double play2(double pos, double grainLength, int overlaps) { - looper++; - pos *= sample->length; - if (0 == floor(fmod(looper, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position -//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. -//with both high speed values and negative speed values there are some terrific artefacts! - -template -class maxiPitchShift { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchShift(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchShift() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + 1; - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. -//the rest is the same. - -template -class maxiPitchStretch { -public: - double position; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - long loopStart, loopEnd, loopLength; - double looper; - - maxiPitchStretch(maxiSample *sample) : sample(sample) { - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - loopStart = 0.0; - loopEnd = sample->length; - loopLength =sample->length; - position=0; - looper = 0; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - void setLoopStart(double val) { - loopStart = val * sample->length; - loopLength = loopEnd - loopStart; - } - - void setLoopEnd(double val) { - loopEnd = val * sample->length; - loopLength = loopEnd - loopStart; - } - - ~maxiPitchStretch() { - delete grainPlayer; - } - - inline double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * rate); - looper++; - if (position >= loopEnd) position-= loopLength; - if (position < loopStart) position += loopLength; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.cpp deleted file mode 100755 index f180fb5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maxiMFCC.cpp - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiMFCC.h" - - -#ifdef __APPLE_CC__ -template <> -void maxiMFCCAnalyser::dct(double *mfccs) { - vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - double n = (double) numCoeffs; - vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::dct(float *mfccs) { - vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - float n = (float) numCoeffs; - vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); -} -#endif - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - //conv to double - vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); - // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); - vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - -template -void maxiMFCCAnalyser::melFilterAndLogSq_Part2(float *powerSpectrum) { -#ifdef __APPLE_CC__ -#else - for (unsigned int filter = 0;filter < numFilters;filter++) { - melBands[filter] = 0.0; - for (unsigned int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; - } -} - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.h deleted file mode 100755 index 19dd72e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maxiMFCC.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - * maxiMFCC.h - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - - Based on Matthew Yee-King's MFCCMYK java class - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - - -// implements this formula: -// mel = 2595 log10(Hz/700 + 1) -inline double hzToMel(double hz){ - return 2595.0 * (log10(hz/700.0 + 1.0)); -} - -// implements this formula -// Hz = 700 (10^(mel/2595) - 1) -inline double melToHz(double mel){ - return 700.0 * (pow(10, mel/2595.0) - 1.0); -} - -template -class maxiMFCCAnalyser { -public: - T *melBands; - maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; - ~maxiMFCCAnalyser() { - if (melFilters) { - delete[] melFilters; - delete[] melBands; - delete[] dctMatrix; -#ifdef __APPLE_CC__ - delete doubleSpec; -#endif - } - } - - void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) - { - this->numFilters = numFilters; - this->numCoeffs = numCoeffs; - this->minFreq = minFreq; - this->maxFreq = maxFreq; - this->sampleRate = sampleRate; - this->numBins = numBins; - melFilters = NULL; - melBands = (T*) malloc(sizeof(T) * numFilters); -#ifdef __APPLE_CC__ - doubleSpec = (T*)malloc(sizeof(T) * numBins); -#endif - //create new matrix - dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); - calcMelFilterBank(sampleRate, numBins); - createDCTCoeffs(); - } - void mfcc(float* powerSpectrum, T *mfccs) { - melFilterAndLogSquare(powerSpectrum); - dct(mfccs); - } - -private: - unsigned int numFilters, numCoeffs; - double minFreq, maxFreq; - unsigned int sampleRate; - T *melFilters; - unsigned int numBins; - T *dctMatrix; -#ifdef __APPLE_CC__ - T *doubleSpec; -#endif - -#ifdef __APPLE_CC__ - void dct(T *mfccs); //define later -#else - void dct(T *mfccs) { - for(int i=0; i < numCoeffs; i++) { - mfccs[i] = 0.0; - } - for(int i=0; i < numCoeffs; i++ ) { - for(int j=0; j < numFilters; j++) { - int idx = i + (j * numCoeffs); - mfccs[i] += (dctMatrix[idx] * melBands[j]); - } - } - for(int i=0; i < numCoeffs; i++) { - mfccs[i] /= numCoeffs; - } - } -#endif - - void melFilterAndLogSquare(float* powerSpectrum); - void melFilterAndLogSq_Part2(float *powerSpectrum); - - - void calcMelFilterBank(double sampleRate, int numBins) { - - double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; - int numValidBins; - - // ignore bins over nyquist - numValidBins = numBins; - - nyquist = sampleRate/2; - if (maxFreq > nyquist) { - maxFreq = nyquist; - } - - maxMel = hzToMel(maxFreq); - minMel = hzToMel(minFreq); - - dMel = (maxMel - minMel) / (numFilters + 2 - 1); - - T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); - - // first generate an array of start and end freqs for each triangle - mel = minMel; - for (int i=0;i nextF || binFreq < prevF) { - // outside this filter - melFilters[idx] = 0; - //cout << "MFCCMYK: filter at " < maxiMFCC; -//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.cpp deleted file mode 100755 index 0b8ba86..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.cpp +++ /dev/null @@ -1,1342 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - -/* Maximilian can be configured to load ogg vorbis format files using the -* loadOgg() method. -* Uncomment the following to include Sean Barrett's Ogg Vorbis decoder. -* If you're on windows, make sure to add the files std_vorbis.c and std_vorbis.h to your project*/ - -//#define VORBIS - -#ifdef VORBIS -extern "C" { - #include "stb_vorbis.h" -} -#endif - -//This used to be important for dealing with multichannel playback -float chandiv= 1; - -int maxiSettings::sampleRate = 44100; -int maxiSettings::channels = 2; -int maxiSettings::bufferSize = 1024; - - -//this is a 514-point sinewave table that has many uses. -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -// This is a transition table that helps with bandlimited oscs. -double transition[1001]={-0.500003,-0.500003,-0.500023,-0.500063,-0.500121,-0.500179,-0.500259, - -0.50036,-0.500476,-0.500591,-0.500732,-0.500893,-0.501066,-0.501239, - -0.50144,-0.501661,-0.501891,-0.502123,-0.502382,-0.502662,-0.502949, - -0.50324,-0.503555,-0.503895,-0.504238,-0.504587,-0.504958,-0.505356, - -0.505754,-0.506162,-0.506589,-0.507042,-0.507495,-0.50796,-0.508444, - -0.508951,-0.509458,-0.509979,-0.510518,-0.511079,-0.511638,-0.512213, - -0.512808,-0.51342,-0.51403,-0.514659,-0.515307,-0.51597,-0.51663,-0.517312, - -0.518012,-0.518724,-0.519433,-0.520166,-0.520916,-0.521675,-0.522432, - -0.523214,-0.524013,-0.524819,-0.525624,-0.526451,-0.527298,-0.528147, - -0.528999,-0.52987,-0.530762,-0.531654,-0.532551,-0.533464,-0.534399, - -0.535332,-0.536271,-0.537226,-0.538202,-0.539172,-0.540152,-0.541148, - -0.542161,-0.543168,-0.544187,-0.54522,-0.546269,-0.54731,-0.548365, - -0.549434,-0.550516,-0.55159,-0.552679,-0.553781,-0.554893,-0.555997, - -0.557118,-0.558252,-0.559391,-0.560524,-0.561674,-0.562836,-0.564001, - -0.565161,-0.566336,-0.567524,-0.568712,-0.569896,-0.571095,-0.572306, - -0.573514,-0.574721,-0.575939,-0.577171,-0.578396,-0.579622,-0.580858, - -0.582108,-0.583348,-0.58459,-0.585842,-0.587106,-0.588358,-0.589614, - -0.590879,-0.592154,-0.593415,-0.594682,-0.595957,-0.59724,-0.598507, - -0.599782,-0.601064,-0.602351,-0.603623,-0.604902,-0.606189,-0.607476, - -0.60875,-0.610032,-0.611319,-0.612605,-0.613877,-0.615157,-0.616443, - -0.617723,-0.618992,-0.620268,-0.621548,-0.62282,-0.624083,-0.62535, - -0.626622,-0.627882,-0.629135,-0.630391,-0.631652,-0.632898,-0.634138, - -0.63538,-0.636626,-0.637854,-0.639078,-0.640304,-0.641531,-0.642739, - -0.643943,-0.645149,-0.646355,-0.647538,-0.64872,-0.649903,-0.651084, - -0.652241,-0.653397,-0.654553,-0.655705,-0.656834,-0.657961,-0.659087, - -0.660206,-0.661304,-0.662399,-0.663492,-0.664575,-0.665639,-0.666699, - -0.667756,-0.6688,-0.669827,-0.670849,-0.671866,-0.672868,-0.673854, - -0.674835,-0.675811,-0.676767,-0.677709,-0.678646,-0.679576,-0.680484, - -0.68138,-0.682269,-0.683151,-0.684008,-0.684854,-0.685693,-0.686524, - -0.687327,-0.688119,-0.688905,-0.689682,-0.690428,-0.691164,-0.691893, - -0.692613,-0.6933,-0.693978,-0.694647,-0.695305,-0.695932,-0.696549, - -0.697156,-0.697748,-0.698313,-0.698865,-0.699407,-0.699932,-0.700431, - -0.700917,-0.701391,-0.701845,-0.702276,-0.702693,-0.703097,-0.703478, - -0.703837,-0.704183,-0.704514,-0.704819,-0.705105,-0.705378,-0.705633, - -0.70586,-0.706069,-0.706265,-0.706444,-0.706591,-0.706721,-0.706837, - -0.706938,-0.707003,-0.707051,-0.707086,-0.707106,-0.707086,-0.707051, - -0.707001,-0.706935,-0.706832,-0.706711,-0.706576,-0.706421,-0.706233, - -0.706025,-0.705802,-0.705557,-0.705282,-0.704984,-0.704671,-0.704334, - -0.703969,-0.703582,-0.703176,-0.702746,-0.702288,-0.70181,-0.701312, - -0.700785,-0.700234,-0.699664,-0.69907,-0.698447,-0.6978,-0.697135, - -0.696446,-0.695725,-0.694981,-0.694219,-0.693435,-0.692613,-0.691771, - -0.690911,-0.69003,-0.689108,-0.688166,-0.687206,-0.686227,-0.685204, - -0.684162,-0.683101,-0.682019,-0.680898,-0.679755,-0.678592,-0.677407, - -0.676187,-0.674941,-0.673676,-0.672386,-0.671066,-0.669718,-0.66835, - -0.666955,-0.665532,-0.664083,-0.662611,-0.661112,-0.659585,-0.658035, - -0.656459,-0.654854,-0.653223,-0.651572,-0.649892,-0.648181,-0.646446, - -0.644691,-0.642909,-0.641093,-0.639253,-0.637393,-0.63551,-0.633588, - -0.631644,-0.62968,-0.627695,-0.625668,-0.623621,-0.621553,-0.619464, - -0.617334,-0.615183,-0.613011,-0.610817,-0.608587,-0.606333,-0.604058, - -0.60176,-0.599429,-0.597072,-0.594695,-0.592293,-0.589862,-0.587404, - -0.584925,-0.58242,-0.579888,-0.577331,-0.574751,-0.572145,-0.569512, - -0.566858,-0.564178,-0.561471,-0.558739,-0.555988,-0.553209,-0.550402, - -0.547572,-0.544723,-0.54185,-0.538944,-0.536018,-0.533072,-0.530105, - -0.527103,-0.524081,-0.52104,-0.51798,-0.514883,-0.511767,-0.508633, - -0.505479,-0.502291,-0.499083,-0.495857,-0.492611,-0.489335,-0.486037, - -0.48272,-0.479384,-0.476021,-0.472634,-0.46923,-0.465805,-0.462356, - -0.458884,-0.455394,-0.451882,-0.448348,-0.444795,-0.44122,-0.437624, - -0.434008,-0.430374,-0.426718,-0.423041,-0.419344,-0.415631,-0.411897, - -0.40814,-0.404365,-0.400575,-0.396766,-0.392933,-0.389082,-0.385217, - -0.381336,-0.377428,-0.373505,-0.369568,-0.365616,-0.361638,-0.357645, - -0.353638,-0.349617,-0.345572,-0.341512,-0.337438,-0.33335,-0.329242, - -0.325118,-0.32098,-0.316829,-0.31266,-0.308474,-0.304276,-0.300063, - -0.295836,-0.291593,-0.287337,-0.283067,-0.278783,-0.274487,-0.270176, - -0.265852,-0.261515,-0.257168,-0.252806,-0.248431,-0.244045,-0.239649, - -0.23524,-0.230817,-0.226385,-0.221943,-0.21749,-0.213024,-0.208548, - -0.204064,-0.199571,-0.195064,-0.190549,-0.186026,-0.181495,-0.176952, - -0.1724,-0.167842,-0.163277,-0.1587,-0.154117,-0.149527,-0.14493,-0.140325, - -0.135712,-0.131094,-0.12647,-0.121839,-0.117201,-0.112559,-0.10791, - -0.103257,-0.0985979,-0.0939343,-0.0892662,-0.0845935,-0.079917,-0.0752362, - -0.0705516,-0.0658635,-0.0611729,-0.0564786,-0.0517814,-0.0470818,-0.0423802, - -0.0376765,-0.0329703,-0.0282629,-0.0235542,-0.0188445,-0.0141335,-0.00942183, - -0.00470983,2.41979e-06,0.00471481,0.00942681,0.0141384,0.0188494,0.023559, - 0.028268,0.0329754,0.0376813,0.0423851,0.0470868,0.0517863,0.0564836, - 0.0611777,0.0658683,0.0705566,0.0752412,0.0799218,0.0845982,0.0892712, - 0.0939393,0.0986028,0.103262,0.107915,0.112563,0.117206,0.121844,0.126475, - 0.131099,0.135717,0.14033,0.144935,0.149531,0.154122,0.158705,0.163281, - 0.167847,0.172405,0.176956,0.1815,0.18603,0.190553,0.195069,0.199576, - 0.204068,0.208552,0.213028,0.217495,0.221947,0.226389,0.230822,0.235245, - 0.239653,0.244049,0.248436,0.252811,0.257173,0.26152,0.265857,0.270181, - 0.274491,0.278788,0.283071,0.287341,0.291597,0.29584,0.300068,0.30428, - 0.308478,0.312664,0.316833,0.320984,0.325122,0.329246,0.333354,0.337442, - 0.341516,0.345576,0.34962,0.353642,0.357649,0.361642,0.36562,0.369572, - 0.373509,0.377432,0.38134,0.385221,0.389086,0.392936,0.39677,0.400579, - 0.404369,0.408143,0.4119,0.415634,0.419347,0.423044,0.426721,0.430377, - 0.434011,0.437627,0.441223,0.444798,0.448351,0.451885,0.455397,0.458887, - 0.462359,0.465807,0.469232,0.472637,0.476024,0.479386,0.482723,0.486039, - 0.489338,0.492613,0.49586,0.499086,0.502294,0.505481,0.508635,0.511769, - 0.514885,0.517982,0.521042,0.524083,0.527105,0.530107,0.533074,0.53602, - 0.538946,0.541851,0.544725,0.547574,0.550404,0.553211,0.555989,0.55874, - 0.561472,0.564179,0.566859,0.569514,0.572146,0.574753,0.577332,0.579889, - 0.582421,0.584926,0.587405,0.589863,0.592294,0.594696,0.597073,0.59943, - 0.60176,0.604059,0.606333,0.608588,0.610818,0.613012,0.615183,0.617335, - 0.619464,0.621553,0.623621,0.625669,0.627696,0.629681,0.631645,0.633588, - 0.63551,0.637393,0.639253,0.641093,0.642909,0.644691,0.646446,0.648181, - 0.649892,0.651572,0.653223,0.654854,0.656459,0.658035,0.659585,0.661112, - 0.662611,0.664083,0.665532,0.666955,0.66835,0.669718,0.671066,0.672386, - 0.673676,0.674941,0.676187,0.677407,0.678592,0.679755,0.680898,0.682019, - 0.683101,0.684162,0.685204,0.686227,0.687206,0.688166,0.689108,0.69003, - 0.690911,0.691771,0.692613,0.693435,0.694219,0.694981,0.695725,0.696447, - 0.697135,0.6978,0.698447,0.69907,0.699664,0.700234,0.700786,0.701312, - 0.70181,0.702288,0.702746,0.703177,0.703582,0.703969,0.704334,0.704671, - 0.704984,0.705282,0.705557,0.705802,0.706025,0.706233,0.706422,0.706576, - 0.706712,0.706832,0.706936,0.707002,0.707051,0.707086,0.707106,0.707086, - 0.707051,0.707003,0.706939,0.706838,0.706721,0.706592,0.706445,0.706265, - 0.70607,0.705861,0.705634,0.705378,0.705105,0.70482,0.704515,0.704184, - 0.703837,0.703478,0.703097,0.702694,0.702276,0.701846,0.701392,0.700917, - 0.700432,0.699932,0.699408,0.698866,0.698314,0.697749,0.697156,0.696549, - 0.695933,0.695305,0.694648,0.693979,0.693301,0.692613,0.691894,0.691165, - 0.690428,0.689683,0.688905,0.68812,0.687327,0.686525,0.685693,0.684854, - 0.684009,0.683152,0.68227,0.68138,0.680485,0.679577,0.678647,0.67771, - 0.676768,0.675811,0.674836,0.673855,0.672869,0.671867,0.670849,0.669827, - 0.668801,0.667757,0.6667,0.66564,0.664576,0.663493,0.6624,0.661305, - 0.660207,0.659088,0.657962,0.656834,0.655705,0.654553,0.653398,0.652241, - 0.651085,0.649903,0.648721,0.647539,0.646356,0.645149,0.643944,0.642739, - 0.641532,0.640304,0.639079,0.637855,0.636626,0.635381,0.634139,0.632899, - 0.631652,0.630392,0.629136,0.627883,0.626622,0.62535,0.624083,0.62282, - 0.621548,0.620268,0.618993,0.617724,0.616443,0.615158,0.613878,0.612605, - 0.61132,0.610032,0.608751,0.607477,0.606189,0.604903,0.603623,0.602351, - 0.601065,0.599782,0.598508,0.59724,0.595957,0.594682,0.593415,0.592154, - 0.59088,0.589615,0.588359,0.587106,0.585843,0.584591,0.583349,0.582108, - 0.580859,0.579623,0.578397,0.577172,0.575939,0.574721,0.573515,0.572307, - 0.571095,0.569897,0.568713,0.567525,0.566337,0.565161,0.564002,0.562837, - 0.561674,0.560525,0.559392,0.558252,0.557119,0.555998,0.554893,0.553782, - 0.552679,0.55159,0.550516,0.549434,0.548365,0.54731,0.546269,0.54522, - 0.544187,0.543168,0.542161,0.541148,0.540153,0.539173,0.538202,0.537226, - 0.536271,0.535332,0.5344,0.533464,0.532551,0.531654,0.530762,0.52987, - 0.528999,0.528147,0.527298,0.526451,0.525624,0.524819,0.524014,0.523214, - 0.522432,0.521675,0.520916,0.520166,0.519433,0.518724,0.518012,0.517312, - 0.51663,0.51597,0.515307,0.51466,0.51403,0.51342,0.512808,0.512213, - 0.511638,0.511079,0.510518,0.509979,0.509458,0.508951,0.508444,0.50796, - 0.507495,0.507042,0.506589,0.506162,0.505754,0.505356,0.504958,0.504587, - 0.504237,0.503895,0.503555,0.50324,0.502949,0.502662,0.502382,0.502123, - 0.501891,0.501661,0.50144,0.501239,0.501066,0.500893,0.500732,0.500591, - 0.500476,0.50036,0.500259,0.500179,0.500121,0.500063,0.500023,0.500003,0.500003}; - -//This is a lookup table for converting midi to frequency -double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - //When you create an oscillator, the constructor sets the phase of the oscillator to 0. - phase = 0.0; -} - -double maxiOsc::noise() { - //White Noise - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -void maxiOsc::phaseReset(double phaseIn) { - //This allows you to set the phase of the oscillator to anything you like. - phase=phaseIn; - -} - -double maxiOsc::sinewave(double frequency) { - //This is a sinewave oscillator - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - //This is a sinewave oscillator that uses 4 point interpolation on a 514 point buffer - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { //specify the frequency of the oscillator in Hz / cps etc. - //This is a sinewave oscillator that uses linear interpolation on a 514 point buffer - double remainder; - phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - //This is a cosine oscillator - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - //This produces a floating point linear ramp between 0 and 1 at the desired frequency - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - //This is a square wave - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - //This is a pulse generator that creates a signal between -1 and 1. - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - //This is a phasor that takes a value for the start and end of the ramp. - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - //Sawtooth generator. This is like a phasor but goes between -1 and 1 - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency) { - //This is a triangle wave. - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phase <= 0.5 ) { - output =(phase - 0.25) * 4; - } else { - output =((1.0-phase) - 0.25) * 4; - } - return(output); - -} - -double maxiOsc::sawn(double frequency) { - //Bandlimited sawtooth generator. Woohoo. - if ( phase >= 0.5 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - double temp=(8820.22/frequency)*phase; - if (temp<-0.5) { - temp=-0.5; - } - if (temp>0.5) { - temp=0.5; - } - temp*=1000.0f; - temp+=500.0f; - double remainder = temp - floor(temp); - output = (double) ((1.0f-remainder) * transition[(long)temp] + remainder * transition[1+(long)temp]) - phase; - return(output); - -} - - -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - //This is a basic multi-segment ramp generator that you can use for more or less anything. - //However, it's not that intuitive. - if (isPlaying==1) {//only make a sound once you've been triggered - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - - } - else { - output=0; - - } - return(output); -} - -//and this -void maxiEnvelope::trigger(int index, double amp) { - isPlaying=1;//ok the envelope is being used now. - valindex=index; - amplitude=amp; - -} - -//Delay with feedback -maxiDelayline::maxiDelayline() { - memset( memory, 0, 88200*sizeof (double) ); - phase=0; -} - - -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) { - phase = 0; - } - output=memory[phase]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - output=memory[position]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - return(output); - -} - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//working hires filter -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1.0-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1.0-x)*y); - four[1]=input*sqrt((1.0-x)*(1.0-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1.0-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); - eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); - eight[2]=input*(sqrt(x*y)*1.0-z); - eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); - eight[4]=input*(sqrt((1.0-x)*y)*z); - eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1.0-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName, int channel) { - myPath = fileName; - readChannel=channel; - return read(); -} - -bool maxiSample::loadOgg(string fileName, int channel) { -#ifdef VORBIS - bool result; - readChannel=channel; - int channelx; - free(temp); - myDataSize = stb_vorbis_decode_filename(const_cast(fileName.c_str()), &channelx, &temp); - result = myDataSize > 0; - printf("\nchannels = %d\nlength = %d",channelx,myDataSize); - printf("\n"); - myChannels=(short)channelx; - length=myDataSize; - mySampleRate=44100; - - if (myChannels>1) { - int position=0; - int channel=readChannel; - for (int i=channel;i1) { - int position=0; - int channel=readChannel*2; - for (int i=channel;i= length) position=0; - output = (double) temp[(long)position]/32767.0; - return output; -} - -//start end and points are between 0 and 1 -double maxiSample::playLoop(double start, double end) { - position++; - if (position < length * start) position = length * start; - if ((long) position >= length * end) position = length * start; - output = (double) temp[(long)position]/32767.0; - return output; -} - -double maxiSample::playOnce() { - position++; - if ((long) position(newPos, 0.0, 1.0) * length; -} - -double maxiSample::playUntil(double end) { - position++; - if ((long) position=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + remainder * temp[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - return play(frequency, start, end, position); -} - -double maxiSample::play(double frequency, double start, double end, double &pos) { - double remainder; - if (end>=length) end=length-1; - long a,b; - - if (frequency >0.) { - if (pos= end ) pos = start; - pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = pos - floor(pos); - long posl = floor(pos); - if (posl+1=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + - remainder * temp[b])/32767;//linear interpolation - - } - - return(output); -} - - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=temp[(int)(floor(position))-1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (positionstart && position < end-1) { - a=temp[(long) position+1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (position>start) { - c=temp[(long) position-1]; - - } else { - c=temp[0]; - - } - if (position>start+1) { - d=temp[(long) position-2]; - - } else { - d=temp[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv)/(maxiSettings::sampleRate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - -void maxiSample::setLength(unsigned long numSamples) { - temp = (short*) realloc(temp, sizeof(short) * numSamples); -// short *newData = (short*) malloc(sizeof(short) * numSamples); -// if (NULL!=temp) { -// unsigned long copyLength = min((unsigned long)length, numSamples); -// memcpy(newData, temp, sizeof(short) * copyLength); -// free(temp); -// } -// temp = newData; - myDataSize = numSamples * 2; - length=numSamples; - position=0; - recordPosition=0; -} - -void maxiSample::clear() { - memset(temp, 0, myDataSize); -} - -void maxiSample::reset() { - position=0; -} - - -void maxiSample::normalise(float maxLevel) { - short maxValue = 0; - for(int i=0; i < length; i++) { - if (abs(temp[i]) > maxValue) { - maxValue = abs(temp[i]); - } - } - float scale = 32767.0 * maxLevel / (float) maxValue; - for(int i=0; i < length; i++) { - temp[i] = round(scale * (float) temp[i]); - } -} - -void maxiSample::autoTrim(float alpha, float threshold, bool trimStart, bool trimEnd) { - - int startMarker=0; - if(trimStart) { - maxiLagExp startLag(alpha, 0); - while(startMarker < length) { - startLag.addSample(abs(temp[startMarker])); - if (startLag.value() > threshold) { - break; - } - startMarker++; - } - } - - int endMarker = length-1; - if(trimEnd) { - maxiLagExp endLag(alpha, 0); - while(endMarker > 0) { - endLag.addSample(abs(temp[endMarker])); - if (endLag.value() > threshold) { - break; - } - endMarker--; - } - } - - cout << "Autotrim: start: " << startMarker << ", end: " << endMarker << endl; - - int newLength = endMarker - startMarker; - if (newLength > 0) { - short *newData = (short*) malloc(sizeof(short) * newLength); - for(int i=0; i < newLength; i++) { - newData[i] = temp[i+startMarker]; - } - free(temp); - temp = newData; - myDataSize = newLength * 2; - length=newLength; - position=0; - recordPosition=0; - //envelope the start - int fadeSize=min((long)100, length); - for(int i=0; i < fadeSize; i++) { - float factor = i / (float) fadeSize; - temp[i] = round(temp[i] * factor); - temp[length - 1 - i] = round(temp[length - 1 - i] * factor); - } - } -} - - - - - - - - - -/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for - incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. - Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ - -double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(amplitude==0) amplitude=0.01; - } - - if (attackphase==1 && amplitude<1) { - amplitude*=(1+attack); - output=input*amplitude; - } - - if (amplitude>=1) { - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - - -double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(currentRatio==0) currentRatio=ratio; - } - - if (attackphase==1 && currentRatio=ratio-1) { - attackphase=0; - releasephase=1; - } - - if (releasephase==1 && currentRatio>0.) { - currentRatio*=release; - } - - if (input>0.) { - output = input/(1.+currentRatio); - } else { - output = input/(1.+currentRatio); - } - - return output*(1+log(ratio)); -} - - -/* Lots of people struggle with the envelope generators so here's a new easy one. - It takes mental numbers for attack and release tho. Basically, they're exponentials. - I'll map them out later so that it's a bit more intuitive */ -double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -/* and here's a new adsr. It's not bad, very simple to use*/ - -double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -double convert::mtof(int midinote) { - - return mtofarray[midinote]; -} - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.h deleted file mode 100755 index 03dfea5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/maximilian.h +++ /dev/null @@ -1,623 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/* - Feature request: - maxiNANINFAlarm - maxiLimiter - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - - -#include -#include -#include -#include -#include "math.h" - -using namespace std; -#ifndef PI -#define PI 3.1415926535897932384626433832795 -#endif -#define TWOPI 6.283185307179586476925286766559 - -class maxiSettings { -public: - static int sampleRate; - static int channels; - static int bufferSize; - static void setup(int initSampleRate, int initChannels, int initBufferSize) { - maxiSettings::sampleRate = initSampleRate; - maxiSettings::channels = initChannels; - maxiSettings::bufferSize = initBufferSize; - } -}; - - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency); - double square(double frequency); - double pulse(double frequency, double duty); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - void phaseReset(double phaseIn); - double sawn(double frequency); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - int isPlaying; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - maxiDelayline(); - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient - -public: - maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - -//lagging with an exponential moving average -//a lower alpha value gives a slower lag -template -class maxiLagExp { -public: - T alpha, alphaReciprocal; - T val; - - maxiLagExp() { - init(0.5, 0.0); - }; - - maxiLagExp(T initAlpha, T initVal) { - init(initAlpha, initVal); - } - - void init(T initAlpha, T initVal) { - alpha = initAlpha; - alphaReciprocal = 1.0 - alpha; - val = initVal; - } - - inline void addSample(T newVal) { - val = (alpha * newVal) + (alphaReciprocal * val); - } - - inline T value() { - return val; - } -}; - - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - int readChannel; - short myFormat; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - double speed; - double output; - maxiLagExp loopRecordLag; - -public: - double position, recordPosition; - int myDataSize; - short myChannels; - int mySampleRate; - long length; - void getLength(); - void setLength(unsigned long numSamples); - - -// char* myData; - short* temp; - - // get/set for the Path property - - ~maxiSample() - { -// if (myData) free(myData); - if (temp) free(temp); - } - - maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {}; - - maxiSample& operator=(const maxiSample &source) { - if (this == &source) - return *this; - position=0; - recordPosition = 0; - myChannels = source.myChannels; - mySampleRate = maxiSettings::sampleRate; - free(temp); - myDataSize = source.myDataSize; - temp = (short*) malloc(myDataSize * sizeof(char)); - memcpy(temp, source.temp, myDataSize * sizeof(char)); - length = source.length; - return *this; - } - - bool load(string fileName, int channel=0); - - bool loadOgg(string filename,int channel=0); - - void trigger(); - - // read a wav file into this class - bool read(); - - //read an ogg file into this class using stb_vorbis - bool readOgg(); - - void loopRecord(double newSample, const bool recordEnabled, const double recordMix, double start = 0.0, double end = 1.0) { - loopRecordLag.addSample(recordEnabled); - if (recordPosition < start * length) recordPosition = start * length; - if(recordEnabled) { - double currentSample = temp[(unsigned long)recordPosition] / 32767.0; - newSample = (recordMix * currentSample) + ((1.0 - recordMix) * newSample); - newSample *= loopRecordLag.value(); - temp[(unsigned long)recordPosition] = newSample * 32767; - } - ++recordPosition; - if (recordPosition >= end * length) - recordPosition= start * length; - } - - void clear(); - - void reset(); - - double play(); - - double playLoop(double start, double end); // start and end are between 0.0 and 1.0 - - double playOnce(); - - double playOnce(double speed); - - void setPosition(double newPos); // between 0.0 and 1.0 - - double playUntil(double end); - - double play(double speed); - - double play(double frequency, double start, double end, double &pos); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - bool save() { - return save(myPath); - } - - bool save(string filename) - { - fstream myFile (filename.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write ((char*) temp, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - return summary; - } - - void normalise(float maxLevel = 0.99); //0 < maxLevel < 1.0 - void autoTrim(float alpha = 0.3, float threshold = 6000, bool trimStart = true, bool trimEnd = true); //alpha of lag filter (lower == slower reaction), threshold to mark start and end, < 32767 -}; - - -class maxiMap { -public: - static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { - val = max(min(val, inMax), inMin); - return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; - } - - static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; - } - - static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; - } - - //changed to templated function, e.g. maxiMap::maxiClamp(v, l, h); - template - static T inline clamp(T v, const T low, const T high) { - if (v > high) - v = high; - else if (v < low) { - v = low; - } - return v; - } - -}; - -class maxiDyn { - - -public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; - double ratio; - double currentRatio; - double threshold; - double output; - double attack; - double release; - double amplitude; - long holdtime; - long holdcount; - int attackphase,holdphase,releasephase; -}; - -class maxiEnv { - - -public: - double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); - double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); - double input; - double output; - double attack; - double decay; - double sustain; - double release; - double amplitude; - int trigger; - long holdtime; - long holdcount; - int attackphase,decayphase,sustainphase,holdphase,releasephase; -}; - -class convert { -public: - double mtof(int midinote); -}; - - - -class maxiDistortion { -public: - /*atan distortion, see http://www.musicdsp.org/showArchiveComment.php?ArchiveID=104*/ - /*shape from 1 (soft clipping) to infinity (hard clipping)*/ - double atanDist(const double in, const double shape); - double fastAtanDist(const double in, const double shape); - double fastatan( double x ); -}; - -inline double maxiDistortion::fastatan(double x) -{ - return (x / (1.0 + 0.28 * (x * x))); -} - -inline double maxiDistortion::atanDist(const double in, const double shape) { - double out; - out = (1.0 / atan(shape)) * atan(in * shape); - return out; -} - -inline double maxiDistortion::fastAtanDist(const double in, const double shape) { - double out; - out = (1.0 / fastatan(shape)) * fastatan(in * shape); - return out; -} - - -class maxiFlanger { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl; - maxiOsc lfo; - -}; - -inline double maxiFlanger::flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //todo: needs fixing - double output; - double lfoVal = lfo.triangle(speed); - output = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - double normalise = (1 - fabs(output)); - output *= normalise; - return (output + input) / 2.0; -} - -class maxiChorus { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl, dl2; - maxiOsc lfo; - maxiFilter lopass; - -}; - -inline double maxiChorus::chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //this needs fixing - double output1, output2; - double lfoVal = lfo.noise(); - lfoVal = lopass.lores(lfoVal, speed, 1.0) * 2.0; - output1 = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - output2 = dl2.dl(input, (delay + (lfoVal * depth * delay * 1.02) + 1) * 0.98, feedback * 0.99) ; - output1 *= (1.0 - fabs(output1)); - output2 *= (1.0 - fabs(output2)); - return (output1 + output2 + input) / 3.0; -} - -template -class maxiEnvelopeFollowerType { -public: - maxiEnvelopeFollowerType() { - setAttack(100); - setRelease(100); - env = 0; - } - void setAttack(T attackMS) { - attack = pow( 0.01, 1.0 / (attackMS * maxiSettings::sampleRate * 0.001 ) ); - } - void setRelease(T releaseMS) { - release = pow( 0.01, 1.0 / (releaseMS * maxiSettings::sampleRate * 0.001 ) ); - } - inline T play(T input) { - input = fabs(input); - if (input>env) - env = attack * (env - input) + input; - else - env = release * (env - input) + input; - return env; - } - void reset() {env=0;} - inline T getEnv(){return env;} - inline void setEnv(T val){env = val;} -private: - T attack, release, env; -}; - -typedef maxiEnvelopeFollowerType maxiEnvelopeFollower; -typedef maxiEnvelopeFollowerType maxiEnvelopeFollowerF; - -//from https://ccrma.stanford.edu/~jos/filters/DC_Blocker_Software_Implementations.html -class maxiDCBlocker { -public: - double xm1, ym1; - maxiDCBlocker() : xm1(0), ym1(0) {} - inline double play(double input, double R) { - ym1 = input - xm1 + R * ym1; - xm1 = input; - return ym1; - } -}; - -/* - State Variable Filter - - algorithm from http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised.pdf - usage: - either set the parameters separately as required (to save CPU) - - filter.setCutoff(param1); - filter.setResonance(param2); - - w = filter.play(w, 0.0, 1.0, 0.0, 0.0); - - or set everything together at once - - w = filter.setCutoff(param1).setResonance(param2).play(w, 0.0, 1.0, 0.0, 0.0); - - */ -class maxiSVF { -public: - maxiSVF() : v0z(0), v1(0), v2(0) { setParams(1000, 1);} - - //20 < cutoff < 20000 - inline maxiSVF& setCutoff(double cutoff) { - setParams(cutoff, res); - return *this; - } - - //from 0 upwards, starts to ring from 2-3ish, cracks a bit around 10 - inline maxiSVF& setResonance(double q) { - setParams(freq, q); - return *this; - } - - //run the filter, and get a mixture of lowpass, bandpass, highpass and notch outputs - inline double play(double w, double lpmix, double bpmix, double hpmix, double notchmix) { - double low, band, high, notch; - double v1z = v1; - double v2z = v2; - double v3 = w + v0z - 2.0 * v2z; - v1 += g1*v3-g2*v1z; - v2 += g3*v3+g4*v1z; - v0z = w; - low = v2; - band = v1; - high = w-k*v1-v2; - notch = w-k*v1; - return (low * lpmix) + (band * bpmix) + (high * hpmix) + (notch * notchmix); - } - -private: - inline void setParams(double _freq, double _res) { - freq = _freq; - res = _res; - g = tan(PI * freq / maxiSettings::sampleRate); - damping = res == 0 ? 0 : 1.0 / res; - k = damping; - ginv = g / (1.0 + g * (g + k)); - g1 = ginv; - g2 = 2.0 * (g + k) * ginv; - g3 = g * ginv; - g4 = 2.0 * ginv; - } - - double v0z, v1, v2, g, damping, k, ginv, g1, g2, g3 ,g4; - double freq, res; - -}; - - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/sineTable.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/sineTable.h deleted file mode 100755 index de9626e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/sineTable.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * sineTable.h - * atomSynthesis - * - * Created by Chris on 10/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ -#pragma once - -namespace waveTable { - -double sine65536[65538] = {0.0,9.5873799096e-05,0.000191747597311,0.000287621393763,0.000383495187571,0.000479368977855,0.000575242763732,0.000671116544322,0.000766990318743,0.000862864086114,0.000958737845553,0.00105461159618,0.00115048533711,0.00124635906747,0.00134223278637,0.00143810649294,0.00153398018628,0.00162985386553,0.0017257275298,0.0018216011782,0.00191747480986,0.00201334842389,0.00210922201942,0.00220509559556,0.00230096915143,0.00239684268615,0.00249271619884,0.00258858968861,0.0026844631546,0.0027803365959,0.00287621001166,0.00297208340097,0.00306795676297,0.00316383009676,0.00325970340148,0.00335557667623,0.00345144992014,0.00354732313232,0.0036431963119,0.00373906945799,0.00383494256971,0.00393081564618,0.00402668868652,0.00412256168984,0.00421843465528,0.00431430758194,0.00441018046894,0.0045060533154,0.00460192612045,0.00469779888319,0.00479367160276,0.00488954427826,0.00498541690882,0.00508128949356,0.00517716203158,0.00527303452202,0.005368906964,0.00546477935662,0.00556065169901,0.00565652399029,0.00575239622957,0.00584826841598,0.00594414054864,0.00604001262666,0.00613588464915,0.00623175661525,0.00632762852407,0.00642350037473,0.00651937216634,0.00661524389803,0.00671111556891,0.0068069871781,0.00690285872473,0.00699873020791,0.00709460162675,0.00719047298039,0.00728634426793,0.00738221548849,0.0074780866412,0.00757395772518,0.00766982873953,0.00776569968339,0.00786157055586,0.00795744135607,0.00805331208314,0.00814918273619,0.00824505331433,0.00834092381668,0.00843679424237,0.00853266459051,0.00862853486021,0.00872440505061,0.00882027516081,0.00891614518993,0.00901201513711,0.00910788500144,0.00920375478206,0.00929962447808,0.00939549408862,0.00949136361279,0.00958723304973,0.00968310239854,0.00977897165835,0.00987484082827,0.00997070990742,0.0100665788949,0.0101624477899,0.0102583165915,0.0103541852987,0.0104500539108,0.0105459224269,0.010641790846,0.0107376591673,0.0108335273899,0.0109293955129,0.0110252635354,0.0111211314566,0.0112169992756,0.0113128669915,0.0114087346034,0.0115046021104,0.0116004695117,0.0116963368064,0.0117922039935,0.0118880710723,0.0119839380417,0.0120798049011,0.0121756716493,0.0122715382857,0.0123674048093,0.0124632712192,0.0125591375145,0.0126550036944,0.012750869758,0.0128467357044,0.0129426015327,0.013038467242,0.0131343328315,0.0132301983002,0.0133260636473,0.013421928872,0.0135177939733,0.0136136589503,0.0137095238022,0.0138053885281,0.013901253127,0.0139971175982,0.0140929819408,0.0141888461538,0.0142847102364,0.0143805741876,0.0144764380067,0.0145723016928,0.0146681652449,0.0147640286621,0.0148598919437,0.0149557550886,0.0150516180961,0.0151474809653,0.0152433436952,0.015339206285,0.0154350687338,0.0155309310407,0.0156267932049,0.0157226552254,0.0158185171014,0.015914378832,0.0160102404164,0.0161061018535,0.0162019631427,0.0162978242829,0.0163936852733,0.016489546113,0.0165854068011,0.0166812673368,0.0167771277191,0.0168729879473,0.0169688480203,0.0170647079374,0.0171605676976,0.0172564273001,0.017352286744,0.0174481460284,0.0175440051524,0.0176398641151,0.0177357229157,0.0178315815532,0.0179274400269,0.0180232983358,0.018119156479,0.0182150144556,0.0183108722649,0.0184067299058,0.0185025873775,0.0185984446792,0.0186943018099,0.0187901587688,0.0188860155549,0.0189818721675,0.0190777286056,0.0191735848683,0.0192694409548,0.0193652968642,0.0194611525955,0.019557008148,0.0196528635207,0.0197487187128,0.0198445737234,0.0199404285515,0.0200362831964,0.0201321376571,0.0202279919327,0.0203238460224,0.0204196999253,0.0205155536405,0.0206114071671,0.0207072605043,0.0208031136511,0.0208989666067,0.0209948193702,0.0210906719408,0.0211865243174,0.0212823764994,0.0213782284857,0.0214740802755,0.0215699318679,0.021665783262,0.021761634457,0.021857485452,0.0219533362461,0.0220491868384,0.022145037228,0.022240887414,0.0223367373956,0.0224325871719,0.0225284367421,0.0226242861051,0.0227201352602,0.0228159842064,0.0229118329429,0.0230076814688,0.0231035297833,0.0231993778853,0.0232952257742,0.0233910734489,0.0234869209086,0.0235827681524,0.0236786151794,0.0237744619888,0.0238703085797,0.0239661549511,0.0240620011023,0.0241578470323,0.0242536927402,0.0243495382252,0.0244453834864,0.0245412285229,0.0246370733338,0.0247329179183,0.0248287622754,0.0249246064043,0.0250204503041,0.0251162939739,0.0252121374128,0.02530798062,0.0254038235946,0.0254996663357,0.0255955088423,0.0256913511138,0.025787193149,0.0258830349473,0.0259788765076,0.0260747178291,0.026170558911,0.0262663997523,0.0263622403521,0.0264580807097,0.026553920824,0.0266497606943,0.0267456003196,0.0268414396991,0.0269372788319,0.027033117717,0.0271289563537,0.027224794741,0.0273206328781,0.027416470764,0.0275123083979,0.027608145779,0.0277039829062,0.0277998197789,0.027895656396,0.0279914927567,0.02808732886,0.0281831647053,0.0282790002914,0.0283748356177,0.0284706706831,0.0285665054868,0.028662340028,0.0287581743056,0.028854008319,0.0289498420671,0.0290456755491,0.0291415087642,0.0292373417114,0.0293331743898,0.0294290067986,0.0295248389369,0.0296206708039,0.0297165023985,0.02981233372,0.0299081647675,0.0300039955401,0.0300998260369,0.030195656257,0.0302914861995,0.0303873158637,0.0304831452485,0.0305789743531,0.0306748031766,0.0307706317182,0.030866459977,0.030962287952,0.0310581156424,0.0311539430474,0.031249770166,0.0313455969973,0.0314414235406,0.0315372497948,0.0316330757591,0.0317289014327,0.0318247268146,0.031920551904,0.0320163767,0.0321122012018,0.0322080254083,0.0323038493188,0.0323996729324,0.0324954962481,0.0325913192652,0.0326871419827,0.0327829643997,0.0328787865154,0.0329746083289,0.0330704298393,0.0331662510457,0.0332620719473,0.0333578925431,0.0334537128323,0.033549532814,0.0336453524873,0.0337411718514,0.0338369909053,0.0339328096482,0.0340286280792,0.0341244461974,0.034220264002,0.034316081492,0.0344118986665,0.0345077155248,0.0346035320659,0.0346993482889,0.034795164193,0.0348909797772,0.0349867950407,0.0350826099826,0.0351784246021,0.0352742388982,0.0353700528701,0.0354658665169,0.0355616798376,0.0356574928315,0.0357533054976,0.0358491178351,0.0359449298431,0.0360407415207,0.036136552867,0.0362323638812,0.0363281745623,0.0364239849094,0.0365197949218,0.0366156045985,0.0367114139387,0.0368072229414,0.0369030316057,0.0369988399309,0.037094647916,0.0371904555601,0.0372862628624,0.0373820698219,0.0374778764378,0.0375736827093,0.0376694886353,0.0377652942152,0.0378610994479,0.0379569043325,0.0380527088683,0.0381485130544,0.0382443168897,0.0383401203736,0.038435923505,0.0385317262831,0.038627528707,0.0387233307759,0.0388191324889,0.038914933845,0.0390107348435,0.0391065354833,0.0392023357637,0.0392981356838,0.0393939352426,0.0394897344394,0.0395855332731,0.039681331743,0.0397771298482,0.0398729275877,0.0399687249608,0.0400645219664,0.0401603186038,0.040256114872,0.0403519107703,0.0404477062976,0.0405435014531,0.0406392962359,0.0407350906452,0.0408308846801,0.0409266783397,0.0410224716231,0.0411182645294,0.0412140570577,0.0413098492073,0.0414056409771,0.0415014323663,0.0415972233741,0.0416930139995,0.0417888042416,0.0418845940997,0.0419803835727,0.0420761726599,0.0421719613603,0.0422677496731,0.0423635375974,0.0424593251323,0.0425551122769,0.0426508990304,0.0427466853918,0.0428424713602,0.0429382569349,0.043034042115,0.0431298268994,0.0432256112874,0.0433213952781,0.0434171788706,0.043512962064,0.0436087448575,0.0437045272501,0.0438003092409,0.0438960908292,0.043991872014,0.0440876527945,0.0441834331696,0.0442792131387,0.0443749927008,0.0444707718549,0.0445665506003,0.0446623289361,0.0447581068613,0.0448538843752,0.0449496614767,0.0450454381651,0.0451412144394,0.0452369902988,0.0453327657424,0.0454285407693,0.0455243153786,0.0456200895695,0.045715863341,0.0458116366924,0.0459074096226,0.0460031821309,0.0460989542163,0.046194725878,0.0462904971151,0.0463862679267,0.0464820383119,0.0465778082699,0.0466735777997,0.0467693469005,0.0468651155715,0.0469608838116,0.0470566516201,0.0471524189961,0.0472481859386,0.0473439524469,0.0474397185199,0.047535484157,0.047631249357,0.0477270141193,0.0478227784429,0.0479185423269,0.0480143057704,0.0481100687726,0.0482058313326,0.0483015934495,0.0483973551224,0.0484931163504,0.0485888771327,0.0486846374684,0.0487803973566,0.0488761567964,0.048971915787,0.0490676743274,0.0491634324168,0.0492591900543,0.049354947239,0.0494507039701,0.0495464602466,0.0496422160677,0.0497379714325,0.0498337263401,0.0499294807897,0.0500252347803,0.0501209883111,0.0502167413812,0.0503124939897,0.0504082461357,0.0505039978184,0.0505997490369,0.0506954997903,0.0507912500777,0.0508869998982,0.050982749251,0.0510784981352,0.0511742465499,0.0512699944941,0.0513657419672,0.051461488968,0.0515572354959,0.0516529815499,0.051748727129,0.0518444722325,0.0519402168595,0.052035961009,0.0521317046803,0.0522274478723,0.0523231905843,0.0524189328154,0.0525146745646,0.0526104158311,0.0527061566141,0.0528018969125,0.0528976367257,0.0529933760526,0.0530891148924,0.0531848532442,0.0532805911071,0.0533763284804,0.0534720653629,0.053567801754,0.0536635376527,0.0537592730582,0.0538550079695,0.0539507423857,0.0540464763061,0.0541422097297,0.0542379426556,0.054333675083,0.0544294070109,0.0545251384386,0.054620869365,0.0547165997894,0.0548123297109,0.0549080591285,0.0550037880415,0.0550995164488,0.0551952443497,0.0552909717432,0.0553866986286,0.0554824250048,0.055578150871,0.0556738762264,0.05576960107,0.055865325401,0.0559610492185,0.0560567725216,0.0561524953095,0.0562482175812,0.0563439393359,0.0564396605727,0.0565353812907,0.0566311014891,0.0567268211669,0.0568225403233,0.0569182589574,0.0570139770683,0.0571096946552,0.0572054117171,0.0573011282532,0.0573968442626,0.0574925597444,0.0575882746977,0.0576839891217,0.0577797030155,0.0578754163782,0.0579711292089,0.0580668415068,0.0581625532709,0.0582582645004,0.0583539751944,0.0584496853521,0.0585453949724,0.0586411040547,0.0587368125979,0.0588325206012,0.0589282280638,0.0590239349847,0.059119641363,0.059215347198,0.0593110524886,0.0594067572341,0.0595024614335,0.059598165086,0.0596938681907,0.0597895707466,0.059885272753,0.059980974209,0.0600766751136,0.060172375466,0.0602680752653,0.0603637745107,0.0604594732012,0.0605551713359,0.0606508689141,0.0607465659348,0.0608422623971,0.0609379583001,0.061033653643,0.0611293484249,0.061225042645,0.0613207363022,0.0614164293958,0.0615121219249,0.0616078138886,0.061703505286,0.0617991961162,0.0618948863784,0.0619905760716,0.0620862651951,0.0621819537478,0.062277641729,0.0623733291378,0.0624690159732,0.0625647022345,0.0626603879206,0.0627560730308,0.0628517575642,0.0629474415198,0.0630431248968,0.0631388076944,0.0632344899116,0.0633301715475,0.0634258526014,0.0635215330722,0.0636172129592,0.0637128922614,0.063808570978,0.063904249108,0.0639999266507,0.0640956036051,0.0641912799704,0.0642869557456,0.0643826309299,0.0644783055224,0.0645739795222,0.0646696529285,0.0647653257403,0.0648609979569,0.0649566695772,0.0650523406005,0.0651480110259,0.0652436808524,0.0653393500792,0.0654350187054,0.0655306867302,0.0656263541526,0.0657220209718,0.0658176871869,0.065913352797,0.0660090178013,0.0661046821988,0.0662003459886,0.06629600917,0.066391671742,0.0664873337038,0.0665829950544,0.066678655793,0.0667743159187,0.0668699754306,0.0669656343279,0.0670612926096,0.067156950275,0.067252607323,0.0673482637529,0.0674439195637,0.0675395747545,0.0676352293246,0.067730883273,0.0678265365988,0.0679221893012,0.0680178413792,0.0681134928321,0.0682091436588,0.0683047938586,0.0684004434305,0.0684960923738,0.0685917406874,0.0686873883705,0.0687830354223,0.0688786818418,0.0689743276283,0.0690699727807,0.0691656172982,0.06926126118,0.0693569044252,0.0694525470328,0.0695481890021,0.0696438303321,0.0697394710219,0.0698351110707,0.0699307504776,0.0700263892417,0.0701220273621,0.070217664838,0.0703133016685,0.0704089378526,0.0705045733896,0.0706002082785,0.0706958425185,0.0707914761086,0.0708871090481,0.070982741336,0.0710783729714,0.0711740039534,0.0712696342813,0.0713652639541,0.0714608929708,0.0715565213308,0.071652149033,0.0717477760766,0.0718434024607,0.0719390281844,0.0720346532469,0.0721302776472,0.0722259013846,0.0723215244581,0.0724171468668,0.0725127686098,0.0726083896864,0.0727040100955,0.0727996298364,0.072895248908,0.0729908673097,0.0730864850405,0.0731821020994,0.0732777184857,0.0733733341984,0.0734689492367,0.0735645635997,0.0736601772865,0.0737557902962,0.073851402628,0.0739470142809,0.0740426252541,0.0741382355468,0.074233845158,0.0743294540868,0.0744250623325,0.074520669894,0.0746162767706,0.0747118829613,0.0748074884652,0.0749030932816,0.0749986974094,0.0750943008479,0.0751899035962,0.0752855056533,0.0753811070184,0.0754767076906,0.075572307669,0.0756679069528,0.0757635055411,0.075859103433,0.0759547006275,0.076050297124,0.0761458929214,0.0762414880189,0.0763370824155,0.0764326761105,0.076528269103,0.076623861392,0.0767194529767,0.0768150438563,0.0769106340297,0.0770062234962,0.0771018122549,0.0771974003049,0.0772929876453,0.0773885742753,0.0774841601939,0.0775797454003,0.0776753298935,0.0777709136729,0.0778664967373,0.077962079086,0.0780576607182,0.0781532416328,0.0782488218291,0.0783444013061,0.078439980063,0.0785355580988,0.0786311354128,0.0787267120041,0.0788222878717,0.0789178630148,0.0790134374325,0.0791090111239,0.0792045840882,0.0793001563244,0.0793957278317,0.0794912986092,0.0795868686561,0.0796824379714,0.0797780065543,0.0798735744039,0.0799691415193,0.0800647078997,0.0801602735441,0.0802558384517,0.0803514026216,0.080446966053,0.0805425287448,0.0806380906964,0.0807336519067,0.080829212375,0.0809247721003,0.0810203310817,0.0811158893185,0.0812114468096,0.0813070035542,0.0814025595515,0.0814981148006,0.0815936693005,0.0816892230505,0.0817847760496,0.0818803282969,0.0819758797916,0.0820714305328,0.0821669805197,0.0822625297512,0.0823580782266,0.0824536259451,0.0825491729056,0.0826447191073,0.0827402645494,0.0828358092309,0.0829313531511,0.0830268963089,0.0831224387036,0.0832179803343,0.0833135212,0.0834090612999,0.0835046006332,0.0836001391988,0.0836956769961,0.083791214024,0.0838867502818,0.0839822857685,0.0840778204832,0.0841733544251,0.0842688875933,0.0843644199869,0.0844599516051,0.0845554824469,0.0846510125116,0.0847465417981,0.0848420703056,0.0849375980333,0.0850331249803,0.0851286511456,0.0852241765285,0.085319701128,0.0854152249433,0.0855107479735,0.0856062702176,0.0857017916749,0.0857973123444,0.0858928322253,0.0859883513167,0.0860838696177,0.0861793871275,0.0862749038451,0.0863704197697,0.0864659349003,0.0865614492363,0.0866569627765,0.0867524755202,0.0868479874665,0.0869434986145,0.0870390089634,0.0871345185122,0.0872300272601,0.0873255352062,0.0874210423496,0.0875165486895,0.0876120542249,0.087707558955,0.0878030628789,0.0878985659958,0.0879940683047,0.0880895698048,0.0881850704952,0.088280570375,0.0883760694433,0.0884715676993,0.0885670651421,0.0886625617709,0.0887580575846,0.0888535525825,0.0889490467637,0.0890445401273,0.0891400326724,0.0892355243981,0.0893310153037,0.0894265053881,0.0895219946505,0.08961748309,0.0897129707058,0.089808457497,0.0899039434627,0.089999428602,0.090094912914,0.0901903963979,0.0902858790529,0.0903813608779,0.0904768418721,0.0905723220347,0.0906678013648,0.0907632798615,0.0908587575239,0.0909542343511,0.0910497103424,0.0911451854967,0.0912406598132,0.0913361332911,0.0914316059294,0.0915270777273,0.0916225486839,0.0917180187983,0.0918134880697,0.0919089564971,0.0920044240798,0.0920998908167,0.0921953567071,0.0922908217501,0.0923862859447,0.0924817492901,0.0925772117855,0.0926726734299,0.0927681342225,0.0928635941624,0.0929590532487,0.0930545114805,0.093149968857,0.0932454253773,0.0933408810405,0.0934363358457,0.0935317897921,0.0936272428788,0.0937226951048,0.0938181464694,0.0939135969716,0.0940090466106,0.0941044953855,0.0941999432954,0.0942953903394,0.0943908365167,0.0944862818264,0.0945817262675,0.0946771698393,0.0947726125408,0.0948680543712,0.0949634953296,0.0950589354152,0.0951543746269,0.095249812964,0.0953452504256,0.0954406870108,0.0955361227188,0.0956315575485,0.0957269914993,0.0958224245702,0.0959178567602,0.0960132880687,0.0961087184946,0.096204148037,0.0962995766952,0.0963950044683,0.0964904313553,0.0965858573553,0.0966812824676,0.0967767066912,0.0968721300252,0.0969675524688,0.0970629740212,0.0971583946813,0.0972538144484,0.0973492333215,0.0974446512998,0.0975400683825,0.0976354845685,0.0977308998571,0.0978263142474,0.0979217277385,0.0980171403296,0.0981125520196,0.0982079628079,0.0983033726934,0.0983987816754,0.0984941897529,0.098589596925,0.098685003191,0.0987804085498,0.0988758130007,0.0989712165427,0.099066619175,0.0991620208967,0.099257421707,0.0993528216049,0.0994482205895,0.0995436186601,0.0996390158156,0.0997344120553,0.0998298073783,0.0999252017837,0.100020595271,0.100115987838,0.100211379485,0.100306770211,0.100402160016,0.100497548897,0.100592936854,0.100688323887,0.100783709995,0.100879095176,0.100974479429,0.101069862755,0.101165245151,0.101260626618,0.101356007154,0.101451386758,0.10154676543,0.101642143168,0.101737519973,0.101832895841,0.101928270774,0.10202364477,0.102119017829,0.102214389948,0.102309761128,0.102405131368,0.102500500666,0.102595869022,0.102691236436,0.102786602905,0.102881968429,0.102977333008,0.10307269664,0.103168059325,0.103263421062,0.103358781849,0.103454141686,0.103549500573,0.103644858507,0.103740215489,0.103835571517,0.103930926591,0.10402628071,0.104121633872,0.104216986077,0.104312337325,0.104407687613,0.104503036942,0.10459838531,0.104693732717,0.104789079162,0.104884424643,0.10497976916,0.105075112713,0.105170455299,0.105265796919,0.105361137571,0.105456477255,0.105551815969,0.105647153713,0.105742490487,0.105837826288,0.105933161116,0.106028494971,0.106123827851,0.106219159755,0.106314490683,0.106409820634,0.106505149607,0.106600477601,0.106695804615,0.106791130648,0.1068864557,0.106981779769,0.107077102855,0.107172424957,0.107267746073,0.107363066204,0.107458385348,0.107553703504,0.107649020671,0.107744336849,0.107839652036,0.107934966233,0.108030279437,0.108125591648,0.108220902865,0.108316213088,0.108411522315,0.108506830545,0.108602137778,0.108697444013,0.108792749249,0.108888053485,0.108983356719,0.109078658952,0.109173960183,0.10926926041,0.109364559632,0.10945985785,0.109555155061,0.109650451265,0.109745746461,0.109841040649,0.109936333827,0.110031625994,0.11012691715,0.110222207294,0.110317496424,0.110412784541,0.110508071643,0.110603357729,0.110698642798,0.11079392685,0.110889209883,0.110984491897,0.111079772891,0.111175052864,0.111270331815,0.111365609743,0.111460886648,0.111556162528,0.111651437383,0.111746711211,0.111841984012,0.111937255786,0.11203252653,0.112127796244,0.112223064928,0.112318332581,0.112413599201,0.112508864787,0.11260412934,0.112699392857,0.112794655339,0.112889916784,0.112985177191,0.113080436559,0.113175694889,0.113270952178,0.113366208425,0.113461463631,0.113556717794,0.113651970913,0.113747222987,0.113842474016,0.113937723998,0.114032972933,0.11412822082,0.114223467658,0.114318713446,0.114413958183,0.114509201869,0.114604444502,0.114699686081,0.114794926607,0.114890166077,0.114985404491,0.115080641848,0.115175878147,0.115271113388,0.115366347569,0.115461580689,0.115556812749,0.115652043746,0.11574727368,0.11584250255,0.115937730356,0.116032957095,0.116128182769,0.116223407374,0.116318630912,0.11641385338,0.116509074778,0.116604295106,0.116699514361,0.116794732544,0.116889949653,0.116985165688,0.117080380648,0.117175594531,0.117270807338,0.117366019066,0.117461229715,0.117556439285,0.117651647775,0.117746855183,0.117842061508,0.117937266751,0.118032470909,0.118127673983,0.11822287597,0.118318076871,0.118413276685,0.11850847541,0.118603673045,0.118698869591,0.118794065045,0.118889259408,0.118984452678,0.119079644854,0.119174835935,0.119270025921,0.119365214811,0.119460402604,0.119555589298,0.119650774894,0.119745959389,0.119841142785,0.119936325078,0.120031506269,0.120126686357,0.120221865341,0.120317043219,0.120412219992,0.120507395658,0.120602570216,0.120697743666,0.120792916006,0.120888087236,0.120983257354,0.121078426361,0.121173594255,0.121268761035,0.1213639267,0.12145909125,0.121554254683,0.121649416999,0.121744578197,0.121839738276,0.121934897235,0.122030055073,0.122125211789,0.122220367383,0.122315521853,0.122410675199,0.12250582742,0.122600978515,0.122696128483,0.122791277323,0.122886425035,0.122981571617,0.123076717068,0.123171861388,0.123267004576,0.123362146631,0.123457287552,0.123552427339,0.123647565989,0.123742703503,0.12383783988,0.123932975119,0.124028109218,0.124123242177,0.124218373995,0.124313504672,0.124408634205,0.124503762596,0.124598889842,0.124694015942,0.124789140897,0.124884264704,0.124979387363,0.125074508874,0.125169629235,0.125264748446,0.125359866505,0.125454983412,0.125550099165,0.125645213765,0.12574032721,0.125835439498,0.125930550631,0.126025660606,0.126120769422,0.126215877079,0.126310983576,0.126406088912,0.126501193086,0.126596296097,0.126691397945,0.126786498628,0.126881598145,0.126976696497,0.127071793681,0.127166889697,0.127261984545,0.127357078222,0.127452170729,0.127547262065,0.127642352228,0.127737441218,0.127832529033,0.127927615674,0.128022701139,0.128117785427,0.128212868537,0.128307950469,0.128403031222,0.128498110794,0.128593189185,0.128688266394,0.12878334242,0.128878417263,0.128973490921,0.129068563393,0.129163634679,0.129258704778,0.129353773688,0.12944884141,0.129543907942,0.129638973283,0.129734037432,0.129829100389,0.129924162153,0.130019222722,0.130114282096,0.130209340275,0.130304397256,0.13039945304,0.130494507625,0.13058956101,0.130684613196,0.13077966418,0.130874713962,0.130969762541,0.131064809916,0.131159856086,0.131254901051,0.131349944809,0.13144498736,0.131540028703,0.131635068837,0.13173010776,0.131825145473,0.131920181974,0.132015217263,0.132110251338,0.132205284199,0.132300315844,0.132395346274,0.132490375487,0.132585403481,0.132680430257,0.132775455814,0.13287048015,0.132965503265,0.133060525157,0.133155545827,0.133250565272,0.133345583493,0.133440600488,0.133535616256,0.133630630797,0.13372564411,0.133820656194,0.133915667047,0.13401067667,0.134105685061,0.134200692219,0.134295698143,0.134390702834,0.134485706288,0.134580708507,0.134675709489,0.134770709233,0.134865707738,0.134960705003,0.135055701028,0.135150695811,0.135245689352,0.13534068165,0.135435672704,0.135530662513,0.135625651076,0.135720638393,0.135815624462,0.135910609283,0.136005592854,0.136100575176,0.136195556246,0.136290536064,0.13638551463,0.136480491942,0.136575468,0.136670442802,0.136765416348,0.136860388637,0.136955359668,0.13705032944,0.137145297952,0.137240265204,0.137335231194,0.137430195921,0.137525159386,0.137620121586,0.137715082522,0.137810042192,0.137905000595,0.13799995773,0.138094913597,0.138189868194,0.138284821522,0.138379773578,0.138474724362,0.138569673873,0.138664622111,0.138759569074,0.138854514762,0.138949459173,0.139044402308,0.139139344164,0.139234284741,0.139329224038,0.139424162055,0.13951909879,0.139614034243,0.139708968412,0.139803901298,0.139898832898,0.139993763212,0.14008869224,0.140183619979,0.140278546431,0.140373471592,0.140468395464,0.140563318044,0.140658239333,0.140753159328,0.14084807803,0.140942995437,0.141037911549,0.141132826364,0.141227739882,0.141322652102,0.141417563022,0.141512472643,0.141607380963,0.141702287982,0.141797193698,0.14189209811,0.141987001219,0.142081903022,0.142176803519,0.14227170271,0.142366600593,0.142461497167,0.142556392431,0.142651286386,0.142746179029,0.14284107036,0.142935960378,0.143030849082,0.143125736471,0.143220622545,0.143315507303,0.143410390743,0.143505272865,0.143600153667,0.14369503315,0.143789911312,0.143884788153,0.143979663671,0.144074537865,0.144169410735,0.14426428228,0.144359152499,0.144454021391,0.144548888955,0.144643755191,0.144738620097,0.144833483672,0.144928345916,0.145023206829,0.145118066408,0.145212924653,0.145307781563,0.145402637138,0.145497491376,0.145592344277,0.14568719584,0.145782046064,0.145876894947,0.14597174249,0.146066588691,0.146161433549,0.146256277064,0.146351119234,0.14644596006,0.146540799539,0.146635637671,0.146730474455,0.146825309891,0.146920143977,0.147014976713,0.147109808097,0.147204638129,0.147299466808,0.147394294133,0.147489120103,0.147583944718,0.147678767976,0.147773589876,0.147868410418,0.147963229601,0.148058047424,0.148152863887,0.148247678987,0.148342492725,0.148437305099,0.148532116108,0.148626925753,0.148721734031,0.148816540942,0.148911346486,0.14900615066,0.149100953465,0.1491957549,0.149290554963,0.149385353654,0.149480150972,0.149574946915,0.149669741484,0.149764534677,0.149859326494,0.149954116933,0.150048905994,0.150143693675,0.150238479977,0.150333264897,0.150428048436,0.150522830592,0.150617611364,0.150712390752,0.150807168755,0.150901945371,0.1509967206,0.151091494442,0.151186266894,0.151281037957,0.15137580763,0.151470575911,0.151565342799,0.151660108295,0.151754872397,0.151849635103,0.151944396414,0.152039156328,0.152133914845,0.152228671963,0.152323427682,0.152418182001,0.152512934919,0.152607686435,0.152702436549,0.152797185258,0.152891932564,0.152986678464,0.153081422957,0.153176166044,0.153270907723,0.153365647992,0.153460386852,0.153555124302,0.15364986034,0.153744594966,0.153839328178,0.153934059977,0.154028790361,0.154123519328,0.154218246879,0.154312973013,0.154407697728,0.154502421024,0.1545971429,0.154691863355,0.154786582387,0.154881299997,0.154976016184,0.155070730946,0.155165444282,0.155260156193,0.155354866676,0.155449575731,0.155544283357,0.155638989554,0.15573369432,0.155828397654,0.155923099556,0.156017800025,0.15611249906,0.15620719666,0.156301892824,0.156396587552,0.156491280842,0.156585972693,0.156680663105,0.156775352077,0.156870039608,0.156964725697,0.157059410343,0.157154093546,0.157248775304,0.157343455616,0.157438134483,0.157532811902,0.157627487873,0.157722162395,0.157816835468,0.15791150709,0.15800617726,0.158100845978,0.158195513243,0.158290179054,0.15838484341,0.15847950631,0.158574167753,0.158668827739,0.158763486266,0.158858143334,0.158952798942,0.159047453088,0.159142105773,0.159236756995,0.159331406753,0.159426055047,0.159520701875,0.159615347237,0.159709991132,0.159804633559,0.159899274517,0.159993914005,0.160088552023,0.160183188569,0.160277823642,0.160372457243,0.160467089369,0.160561720021,0.160656349196,0.160750976895,0.160845603116,0.160940227859,0.161034851122,0.161129472906,0.161224093208,0.161318712028,0.161413329366,0.161507945219,0.161602559588,0.161697172472,0.16179178387,0.16188639378,0.161981002202,0.162075609136,0.16217021458,0.162264818533,0.162359420994,0.162454021963,0.162548621439,0.162643219421,0.162737815908,0.162832410899,0.162927004393,0.16302159639,0.163116186888,0.163210775887,0.163305363385,0.163399949383,0.163494533879,0.163589116871,0.163683698361,0.163778278345,0.163872856825,0.163967433797,0.164062009263,0.164156583221,0.16425115567,0.164345726609,0.164440296037,0.164534863954,0.164629430359,0.16472399525,0.164818558628,0.16491312049,0.165007680836,0.165102239666,0.165196796978,0.165291352772,0.165385907046,0.1654804598,0.165575011034,0.165669560745,0.165764108933,0.165858655598,0.165953200738,0.166047744353,0.166142286441,0.166236827003,0.166331366036,0.16642590354,0.166520439515,0.166614973959,0.166709506872,0.166804038252,0.166898568099,0.166993096412,0.16708762319,0.167182148432,0.167276672137,0.167371194305,0.167465714935,0.167560234025,0.167654751575,0.167749267584,0.167843782051,0.167938294975,0.168032806355,0.168127316191,0.168221824482,0.168316331226,0.168410836423,0.168505340073,0.168599842173,0.168694342724,0.168788841724,0.168883339172,0.168977835068,0.169072329411,0.1691668222,0.169261313434,0.169355803112,0.169450291234,0.169544777798,0.169639262803,0.16973374625,0.169828228136,0.169922708461,0.170017187224,0.170111664424,0.170206140061,0.170300614133,0.17039508664,0.170489557581,0.170584026954,0.17067849476,0.170772960997,0.170867425664,0.17096188876,0.171056350285,0.171150810238,0.171245268618,0.171339725423,0.171434180654,0.171528634308,0.171623086386,0.171717536887,0.171811985809,0.171906433152,0.172000878915,0.172095323097,0.172189765697,0.172284206714,0.172378646148,0.172473083997,0.172567520261,0.172661954938,0.172756388029,0.172850819531,0.172945249445,0.173039677769,0.173134104503,0.173228529645,0.173322953195,0.173417375152,0.173511795514,0.173606214282,0.173700631454,0.17379504703,0.173889461008,0.173983873387,0.174078284168,0.174172693348,0.174267100928,0.174361506905,0.17445591128,0.174550314051,0.174644715218,0.17473911478,0.174833512735,0.174927909083,0.175022303824,0.175116696956,0.175211088478,0.175305478389,0.175399866689,0.175494253377,0.175588638452,0.175683021913,0.175777403759,0.175871783989,0.175966162603,0.176060539599,0.176154914977,0.176249288736,0.176343660875,0.176438031393,0.176532400289,0.176626767562,0.176721133212,0.176815497238,0.176909859638,0.177004220412,0.177098579559,0.177192937079,0.177287292969,0.17738164723,0.177475999861,0.17757035086,0.177664700227,0.177759047961,0.177853394061,0.177947738526,0.178042081356,0.178136422549,0.178230762105,0.178325100022,0.178419436301,0.178513770939,0.178608103936,0.178702435292,0.178796765005,0.178891093075,0.1789854195,0.179079744281,0.179174067415,0.179268388902,0.179362708741,0.179457026932,0.179551343473,0.179645658364,0.179739971603,0.179834283191,0.179928593125,0.180022901406,0.180117208031,0.180211513002,0.180305816315,0.180400117972,0.18049441797,0.180588716309,0.180683012988,0.180777308007,0.180871601363,0.180965893058,0.181060183088,0.181154471455,0.181248758156,0.181343043192,0.18143732656,0.181531608261,0.181625888293,0.181720166656,0.181814443348,0.18190871837,0.182002991719,0.182097263395,0.182191533397,0.182285801725,0.182380068377,0.182474333353,0.182568596652,0.182662858272,0.182757118214,0.182851376475,0.182945633056,0.183039887955,0.183134141172,0.183228392705,0.183322642555,0.183416890719,0.183511137197,0.183605381988,0.183699625092,0.183793866507,0.183888106233,0.183982344269,0.184076580613,0.184170815266,0.184265048226,0.184359279491,0.184453509063,0.184547736939,0.184641963118,0.1847361876,0.184830410385,0.18492463147,0.185018850856,0.185113068541,0.185207284524,0.185301498805,0.185395711383,0.185489922257,0.185584131425,0.185678338888,0.185772544644,0.185866748693,0.185960951033,0.186055151663,0.186149350584,0.186243547794,0.186337743291,0.186431937076,0.186526129147,0.186620319504,0.186714508145,0.18680869507,0.186902880278,0.186997063768,0.18709124554,0.187185425591,0.187279603922,0.187373780531,0.187467955419,0.187562128583,0.187656300023,0.187750469738,0.187844637727,0.18793880399,0.188032968525,0.188127131332,0.188221292409,0.188315451757,0.188409609373,0.188503765258,0.18859791941,0.188692071829,0.188786222513,0.188880371462,0.188974518674,0.18906866415,0.189162807888,0.189256949887,0.189351090146,0.189445228665,0.189539365443,0.189633500478,0.18972763377,0.189821765319,0.189915895122,0.19001002318,0.190104149492,0.190198274056,0.190292396871,0.190386517938,0.190480637254,0.19057475482,0.190668870634,0.190762984696,0.190857097004,0.190951207557,0.191045316356,0.191139423398,0.191233528684,0.191327632212,0.191421733981,0.19151583399,0.19160993224,0.191704028728,0.191798123453,0.191892216416,0.191986307615,0.19208039705,0.192174484719,0.192268570621,0.192362654756,0.192456737123,0.192550817721,0.192644896549,0.192738973607,0.192833048892,0.192927122405,0.193021194145,0.193115264111,0.193209332302,0.193303398716,0.193397463354,0.193491526214,0.193585587296,0.193679646598,0.19377370412,0.193867759861,0.19396181382,0.194055865996,0.194149916388,0.194243964996,0.194338011818,0.194432056854,0.194526100103,0.194620141563,0.194714181235,0.194808219117,0.194902255209,0.194996289509,0.195090322016,0.19518435273,0.195278381651,0.195372408776,0.195466434105,0.195560457638,0.195654479373,0.19574849931,0.195842517448,0.195936533785,0.196030548321,0.196124561056,0.196218571988,0.196312581116,0.19640658844,0.196500593958,0.19659459767,0.196688599575,0.196782599672,0.196876597961,0.19697059444,0.197064589108,0.197158581965,0.197252573009,0.197346562241,0.197440549659,0.197534535261,0.197628519048,0.197722501019,0.197816481172,0.197910459507,0.198004436022,0.198098410718,0.198192383593,0.198286354646,0.198380323876,0.198474291283,0.198568256866,0.198662220623,0.198756182554,0.198850142659,0.198944100935,0.199038057383,0.199132012002,0.19922596479,0.199319915747,0.199413864871,0.199507812163,0.199601757621,0.199695701244,0.199789643032,0.199883582983,0.199977521097,0.200071457373,0.20016539181,0.200259324407,0.200353255163,0.200447184078,0.20054111115,0.200635036378,0.200728959763,0.200822881302,0.200916800996,0.201010718843,0.201104634842,0.201198548993,0.201292461294,0.201386371745,0.201480280345,0.201574187093,0.201668091988,0.20176199503,0.201855896217,0.201949795548,0.202043693023,0.202137588641,0.202231482401,0.202325374303,0.202419264344,0.202513152525,0.202607038844,0.202700923302,0.202794805895,0.202888686625,0.20298256549,0.203076442489,0.203170317622,0.203264190887,0.203358062284,0.203451931811,0.203545799469,0.203639665255,0.20373352917,0.203827391212,0.20392125138,0.204015109674,0.204108966093,0.204202820635,0.204296673301,0.204390524089,0.204484372998,0.204578220027,0.204672065176,0.204765908444,0.20485974983,0.204953589332,0.205047426951,0.205141262685,0.205235096533,0.205328928495,0.20542275857,0.205516586756,0.205610413053,0.20570423746,0.205798059977,0.205891880602,0.205985699334,0.206079516173,0.206173331118,0.206267144167,0.206360955321,0.206454764578,0.206548571937,0.206642377398,0.206736180959,0.20682998262,0.20692378238,0.207017580237,0.207111376192,0.207205170243,0.20729896239,0.207392752631,0.207486540966,0.207580327394,0.207674111913,0.207767894524,0.207861675225,0.207955454015,0.208049230894,0.208143005861,0.208236778914,0.208330550053,0.208424319278,0.208518086586,0.208611851978,0.208705615453,0.208799377009,0.208893136645,0.208986894362,0.209080650158,0.209174404032,0.209268155983,0.20936190601,0.209455654114,0.209549400292,0.209643144543,0.209736886868,0.209830627265,0.209924365734,0.210018102272,0.21011183688,0.210205569557,0.210299300302,0.210393029114,0.210486755992,0.210580480935,0.210674203942,0.210767925013,0.210861644147,0.210955361343,0.211049076599,0.211142789916,0.211236501291,0.211330210725,0.211423918217,0.211517623765,0.211611327369,0.211705029028,0.211798728741,0.211892426507,0.211986122326,0.212079816196,0.212173508116,0.212267198087,0.212360886106,0.212454572173,0.212548256288,0.212641938448,0.212735618654,0.212829296905,0.2129229732,0.213016647537,0.213110319916,0.213203990337,0.213297658797,0.213391325297,0.213484989836,0.213578652412,0.213672313026,0.213765971675,0.213859628359,0.213953283078,0.214046935829,0.214140586614,0.21423423543,0.214327882277,0.214421527154,0.21451517006,0.214608810994,0.214702449955,0.214796086943,0.214889721957,0.214983354995,0.215076986058,0.215170615143,0.215264242251,0.21535786738,0.215451490529,0.215545111698,0.215638730886,0.215732348092,0.215825963314,0.215919576553,0.216013187808,0.216106797076,0.216200404358,0.216294009653,0.21638761296,0.216481214278,0.216574813606,0.216668410944,0.216762006289,0.216855599643,0.216949191003,0.217042780369,0.217136367739,0.217229953114,0.217323536493,0.217417117873,0.217510697256,0.217604274638,0.217697850021,0.217791423403,0.217884994783,0.21797856416,0.218072131533,0.218165696902,0.218259260266,0.218352821623,0.218446380974,0.218539938316,0.21863349365,0.218727046974,0.218820598288,0.21891414759,0.21900769488,0.219101240157,0.21919478342,0.219288324668,0.219381863901,0.219475401117,0.219568936315,0.219662469496,0.219756000657,0.219849529799,0.219943056919,0.220036582018,0.220130105095,0.220223626148,0.220317145177,0.22041066218,0.220504177158,0.220597690109,0.220691201032,0.220784709927,0.220878216792,0.220971721627,0.221065224431,0.221158725203,0.221252223942,0.221345720647,0.221439215318,0.221532707953,0.221626198552,0.221719687114,0.221813173638,0.221906658123,0.222000140568,0.222093620973,0.222187099337,0.222280575658,0.222374049935,0.222467522169,0.222560992358,0.222654460502,0.222747926598,0.222841390647,0.222934852648,0.2230283126,0.223121770502,0.223215226353,0.223308680152,0.223402131898,0.223495581591,0.22358902923,0.223682474813,0.223775918341,0.223869359811,0.223962799224,0.224056236578,0.224149671873,0.224243105107,0.22433653628,0.224429965392,0.22452339244,0.224616817424,0.224710240344,0.224803661198,0.224897079986,0.224990496707,0.22508391136,0.225177323944,0.225270734458,0.225364142901,0.225457549273,0.225550953572,0.225644355799,0.225737755951,0.225831154028,0.22592455003,0.226017943954,0.226111335802,0.226204725571,0.22629811326,0.22639149887,0.226484882399,0.226578263846,0.22667164321,0.226765020491,0.226858395687,0.226951768798,0.227045139823,0.227138508761,0.227231875611,0.227325240373,0.227418603045,0.227511963627,0.227605322117,0.227698678516,0.227792032821,0.227885385033,0.22797873515,0.228072083171,0.228165429096,0.228258772924,0.228352114653,0.228445454284,0.228538791815,0.228632127245,0.228725460574,0.2288187918,0.228912120923,0.229005447942,0.229098772856,0.229192095664,0.229285416365,0.229378734959,0.229472051444,0.229565365821,0.229658678087,0.229751988242,0.229845296285,0.229938602216,0.230031906033,0.230125207735,0.230218507323,0.230311804794,0.230405100148,0.230498393385,0.230591684502,0.230684973501,0.230778260378,0.230871545135,0.230964827769,0.231058108281,0.231151386668,0.231244662931,0.231337937069,0.231431209079,0.231524478963,0.231617746719,0.231711012345,0.231804275842,0.231897537208,0.231990796442,0.232084053545,0.232177308513,0.232270561348,0.232363812048,0.232457060612,0.232550307039,0.232643551328,0.23273679348,0.232830033492,0.232923271363,0.233016507094,0.233109740683,0.233202972129,0.233296201432,0.233389428591,0.233482653604,0.233575876471,0.233669097191,0.233762315763,0.233855532186,0.23394874646,0.234041958584,0.234135168556,0.234228376376,0.234321582043,0.234414785556,0.234507986915,0.234601186118,0.234694383165,0.234787578054,0.234880770785,0.234973961358,0.23506714977,0.235160336022,0.235253520112,0.23534670204,0.235439881805,0.235533059405,0.23562623484,0.23571940811,0.235812579213,0.235905748149,0.235998914916,0.236092079513,0.236185241941,0.236278402198,0.236371560283,0.236464716195,0.236557869934,0.236651021498,0.236744170887,0.2368373181,0.236930463136,0.237023605994,0.237116746674,0.237209885174,0.237303021494,0.237396155632,0.237489287588,0.237582417362,0.237675544951,0.237768670356,0.237861793575,0.237954914608,0.238048033454,0.238141150112,0.23823426458,0.238327376859,0.238420486948,0.238513594844,0.238606700549,0.23869980406,0.238792905377,0.238886004499,0.238979101425,0.239072196155,0.239165288687,0.239258379021,0.239351467156,0.239444553091,0.239537636824,0.239630718356,0.239723797685,0.239816874811,0.239909949733,0.240003022449,0.240096092959,0.240189161262,0.240282227358,0.240375291244,0.240468352922,0.240561412389,0.240654469645,0.240747524689,0.24084057752,0.240933628137,0.241026676539,0.241119722726,0.241212766697,0.241305808451,0.241398847986,0.241491885303,0.2415849204,0.241677953276,0.241770983931,0.241864012364,0.241957038573,0.242050062558,0.242143084319,0.242236103854,0.242329121162,0.242422136243,0.242515149095,0.242608159718,0.242701168112,0.242794174274,0.242887178205,0.242980179903,0.243073179368,0.243166176599,0.243259171594,0.243352164353,0.243445154876,0.243538143161,0.243631129207,0.243724113014,0.24381709458,0.243910073906,0.24400305099,0.24409602583,0.244188998427,0.24428196878,0.244374936887,0.244467902748,0.244560866362,0.244653827727,0.244746786844,0.244839743712,0.244932698329,0.245025650694,0.245118600807,0.245211548668,0.245304494274,0.245397437625,0.245490378721,0.245583317561,0.245676254142,0.245769188466,0.245862120531,0.245955050336,0.24604797788,0.246140903162,0.246233826182,0.246326746939,0.246419665431,0.246512581659,0.24660549562,0.246698407315,0.246791316742,0.246884223901,0.24697712879,0.247070031409,0.247162931758,0.247255829834,0.247348725638,0.247441619168,0.247534510423,0.247627399404,0.247720286108,0.247813170535,0.247906052685,0.247998932555,0.248091810146,0.248184685457,0.248277558487,0.248370429234,0.248463297698,0.248556163879,0.248649027775,0.248741889385,0.248834748709,0.248927605746,0.249020460494,0.249113312954,0.249206163124,0.249299011003,0.249391856591,0.249484699886,0.249577540889,0.249670379597,0.24976321601,0.249856050127,0.249948881948,0.250041711471,0.250134538696,0.250227363622,0.250320186248,0.250413006573,0.250505824596,0.250598640317,0.250691453734,0.250784264847,0.250877073654,0.250969880156,0.251062684351,0.251155486238,0.251248285816,0.251341083085,0.251433878044,0.251526670692,0.251619461028,0.25171224905,0.25180503476,0.251897818154,0.251990599233,0.252083377996,0.252176154442,0.25226892857,0.25236170038,0.252454469869,0.252547237038,0.252640001886,0.252732764411,0.252825524613,0.252918282492,0.253011038046,0.253103791274,0.253196542175,0.25328929075,0.253382036996,0.253474780913,0.2535675225,0.253660261756,0.253752998681,0.253845733273,0.253938465532,0.254031195457,0.254123923047,0.254216648301,0.254309371219,0.254402091799,0.25449481004,0.254587525942,0.254680239504,0.254772950725,0.254865659605,0.254958366141,0.255051070334,0.255143772183,0.255236471686,0.255329168844,0.255421863654,0.255514556117,0.255607246231,0.255699933995,0.25579261941,0.255885302473,0.255977983184,0.256070661542,0.256163337546,0.256256011196,0.25634868249,0.256441351428,0.256534018009,0.256626682232,0.256719344096,0.2568120036,0.256904660743,0.256997315526,0.257089967946,0.257182618003,0.257275265696,0.257367911024,0.257460553986,0.257553194582,0.257645832811,0.257738468671,0.257831102162,0.257923733283,0.258016362034,0.258108988413,0.258201612419,0.258294234052,0.258386853311,0.258479470195,0.258572084703,0.258664696834,0.258757306588,0.258849913963,0.258942518959,0.259035121575,0.25912772181,0.259220319663,0.259312915133,0.25940550822,0.259498098922,0.259590687239,0.25968327317,0.259775856714,0.25986843787,0.259961016637,0.260053593015,0.260146167003,0.2602387386,0.260331307804,0.260423874615,0.260516439033,0.260609001056,0.260701560684,0.260794117915,0.260886672749,0.260979225186,0.261071775223,0.26116432286,0.261256868097,0.261349410933,0.261441951366,0.261534489397,0.261627025023,0.261719558244,0.26181208906,0.261904617469,0.261997143471,0.262089667065,0.262182188249,0.262274707024,0.262367223388,0.26245973734,0.26255224888,0.262644758006,0.262737264719,0.262829769016,0.262922270897,0.263014770362,0.263107267409,0.263199762037,0.263292254247,0.263384744036,0.263477231404,0.263569716351,0.263662198875,0.263754678975,0.263847156651,0.263939631901,0.264032104726,0.264124575124,0.264217043093,0.264309508635,0.264401971746,0.264494432428,0.264586890678,0.264679346496,0.264771799882,0.264864250833,0.26495669935,0.265049145432,0.265141589077,0.265234030286,0.265326469056,0.265418905387,0.265511339279,0.26560377073,0.26569619974,0.265788626308,0.265881050432,0.265973472113,0.266065891349,0.266158308139,0.266250722483,0.266343134379,0.266435543828,0.266527950827,0.266620355376,0.266712757475,0.266805157122,0.266897554317,0.266989949058,0.267082341345,0.267174731178,0.267267118554,0.267359503474,0.267451885937,0.267544265941,0.267636643486,0.26772901857,0.267821391194,0.267913761356,0.268006129056,0.268098494292,0.268190857063,0.26828321737,0.268375575211,0.268467930584,0.26856028349,0.268652633928,0.268744981896,0.268837327394,0.26892967042,0.269022010975,0.269114349057,0.269206684665,0.269299017799,0.269391348458,0.26948367664,0.269576002346,0.269668325573,0.269760646322,0.269852964591,0.269945280379,0.270037593687,0.270129904512,0.270222212854,0.270314518713,0.270406822087,0.270499122975,0.270591421377,0.270683717291,0.270776010718,0.270868301656,0.270960590104,0.271052876061,0.271145159527,0.2712374405,0.271329718981,0.271421994967,0.271514268459,0.271606539455,0.271698807954,0.271791073956,0.271883337459,0.271975598464,0.272067856969,0.272160112972,0.272252366475,0.272344617474,0.272436865971,0.272529111963,0.27262135545,0.272713596431,0.272805834906,0.272898070873,0.272990304331,0.273082535281,0.27317476372,0.273266989648,0.273359213064,0.273451433968,0.273543652358,0.273635868234,0.273728081595,0.27382029244,0.273912500767,0.274004706577,0.274096909869,0.274189110641,0.274281308892,0.274373504623,0.274465697831,0.274557888517,0.274650076679,0.274742262317,0.274834445429,0.274926626015,0.275018804074,0.275110979605,0.275203152607,0.275295323079,0.275387491021,0.275479656432,0.275571819311,0.275663979657,0.275756137468,0.275848292746,0.275940445487,0.276032595692,0.27612474336,0.27621688849,0.276309031081,0.276401171132,0.276493308643,0.276585443612,0.276677576039,0.276769705923,0.276861833262,0.276953958057,0.277046080306,0.277138200009,0.277230317164,0.277322431771,0.277414543828,0.277506653336,0.277598760293,0.277690864699,0.277782966552,0.277875065852,0.277967162597,0.278059256787,0.278151348422,0.2782434375,0.27833552402,0.278427607982,0.278519689385,0.278611768228,0.278703844509,0.278795918229,0.278887989387,0.27898005798,0.27907212401,0.279164187474,0.279256248372,0.279348306704,0.279440362467,0.279532415663,0.279624466288,0.279716514344,0.279808559828,0.279900602741,0.27999264308,0.280084680846,0.280176716038,0.280268748654,0.280360778694,0.280452806157,0.280544831042,0.280636853349,0.280728873076,0.280820890222,0.280912904788,0.281004916771,0.281096926171,0.281188932988,0.281280937219,0.281372938866,0.281464937926,0.281556934399,0.281648928284,0.28174091958,0.281832908286,0.281924894402,0.282016877926,0.282108858858,0.282200837197,0.282292812942,0.282384786093,0.282476756647,0.282568724606,0.282660689967,0.282752652729,0.282844612893,0.282936570457,0.28302852542,0.283120477782,0.283212427541,0.283304374697,0.283396319249,0.283488261197,0.283580200538,0.283672137273,0.2837640714,0.283856002919,0.283947931829,0.284039858129,0.284131781818,0.284223702895,0.28431562136,0.284407537211,0.284499450449,0.284591361071,0.284683269077,0.284775174466,0.284867077238,0.284958977392,0.285050874926,0.28514276984,0.285234662133,0.285326551805,0.285418438853,0.285510323278,0.285602205079,0.285694084255,0.285785960804,0.285877834727,0.285969706022,0.286061574688,0.286153440725,0.286245304132,0.286337164908,0.286429023051,0.286520878562,0.286612731439,0.286704581682,0.286796429289,0.286888274261,0.286980116595,0.287071956291,0.287163793349,0.287255627767,0.287347459545,0.287439288681,0.287531115176,0.287622939027,0.287714760235,0.287806578798,0.287898394715,0.287990207987,0.288082018611,0.288173826587,0.288265631915,0.288357434592,0.288449234619,0.288541031995,0.288632826719,0.288724618789,0.288816408206,0.288908194968,0.288999979074,0.289091760524,0.289183539317,0.289275315451,0.289367088927,0.289458859743,0.289550627898,0.289642393391,0.289734156223,0.289825916391,0.289917673895,0.290009428734,0.290101180908,0.290192930415,0.290284677254,0.290376421426,0.290468162928,0.290559901761,0.290651637922,0.290743371412,0.29083510223,0.290926830374,0.291018555844,0.291110278639,0.291201998759,0.291293716201,0.291385430966,0.291477143053,0.291568852461,0.291660559188,0.291752263235,0.2918439646,0.291935663282,0.292027359281,0.292119052596,0.292210743226,0.292302431169,0.292394116426,0.292485798996,0.292577478876,0.292669156068,0.292760830569,0.29285250238,0.292944171498,0.293035837924,0.293127501656,0.293219162694,0.293310821037,0.293402476684,0.293494129634,0.293585779886,0.293677427439,0.293769072293,0.293860714447,0.2939523539,0.29404399065,0.294135624698,0.294227256043,0.294318884683,0.294410510617,0.294502133846,0.294593754367,0.294685372181,0.294776987285,0.294868599681,0.294960209366,0.295051816339,0.295143420601,0.29523502215,0.295326620985,0.295418217106,0.295509810511,0.295601401199,0.295692989171,0.295784574425,0.29587615696,0.295967736775,0.29605931387,0.296150888244,0.296242459895,0.296334028823,0.296425595028,0.296517158508,0.296608719262,0.29670027729,0.296791832591,0.296883385164,0.296974935008,0.297066482122,0.297158026505,0.297249568157,0.297341107077,0.297432643264,0.297524176717,0.297615707435,0.297707235418,0.297798760664,0.297890283172,0.297981802943,0.298073319974,0.298164834266,0.298256345817,0.298347854627,0.298439360694,0.298530864018,0.298622364598,0.298713862433,0.298805357523,0.298896849865,0.298988339461,0.299079826308,0.299171310406,0.299262791754,0.299354270352,0.299445746198,0.299537219291,0.299628689631,0.299720157217,0.299811622048,0.299903084124,0.299994543442,0.300086000003,0.300177453806,0.30026890485,0.300360353133,0.300451798656,0.300543241417,0.300634681416,0.300726118651,0.300817553122,0.300908984828,0.301000413768,0.301091839941,0.301183263347,0.301274683984,0.301366101852,0.30145751695,0.301548929277,0.301640338833,0.301731745615,0.301823149625,0.301914550859,0.302005949319,0.302097345003,0.30218873791,0.302280128039,0.30237151539,0.302462899962,0.302554281753,0.302645660763,0.302737036992,0.302828410438,0.3029197811,0.303011148978,0.30310251407,0.303193876377,0.303285235897,0.303376592629,0.303467946572,0.303559297726,0.30365064609,0.303741991662,0.303833334443,0.303924674431,0.304016011625,0.304107346025,0.30419867763,0.304290006438,0.30438133245,0.304472655663,0.304563976079,0.304655293694,0.304746608509,0.304837920523,0.304929229735,0.305020536145,0.30511183975,0.305203140551,0.305294438547,0.305385733736,0.305477026119,0.305568315693,0.305659602459,0.305750886415,0.305842167561,0.305933445896,0.306024721418,0.306115994128,0.306207264024,0.306298531105,0.306389795371,0.30648105682,0.306572315453,0.306663571267,0.306754824263,0.306846074439,0.306937321795,0.307028566329,0.307119808042,0.307211046931,0.307302282996,0.307393516237,0.307484746652,0.307575974241,0.307667199003,0.307758420937,0.307849640042,0.307940856317,0.308032069761,0.308123280375,0.308214488156,0.308305693104,0.308396895218,0.308488094498,0.308579290942,0.308670484549,0.308761675319,0.308852863252,0.308944048345,0.309035230598,0.309126410011,0.309217586583,0.309308760312,0.309399931198,0.309491099241,0.309582264438,0.30967342679,0.309764586295,0.309855742954,0.309946896764,0.310038047725,0.310129195836,0.310220341096,0.310311483506,0.310402623062,0.310493759766,0.310584893616,0.31067602461,0.31076715275,0.310858278032,0.310949400458,0.311040520025,0.311131636733,0.311222750581,0.311313861569,0.311404969695,0.311496074958,0.311587177359,0.311678276895,0.311769373567,0.311860467372,0.311951558312,0.312042646384,0.312133731587,0.312224813922,0.312315893386,0.31240696998,0.312498043703,0.312589114553,0.312680182529,0.312771247632,0.31286230986,0.312953369212,0.313044425687,0.313135479285,0.313226530004,0.313317577845,0.313408622805,0.313499664885,0.313590704083,0.313681740399,0.313772773831,0.31386380438,0.313954832043,0.31404585682,0.314136878711,0.314227897714,0.314318913829,0.314409927055,0.314500937391,0.314591944836,0.31468294939,0.314773951051,0.314864949818,0.314955945692,0.31504693867,0.315137928753,0.315228915938,0.315319900227,0.315410881617,0.315501860108,0.315592835698,0.315683808388,0.315774778176,0.315865745062,0.315956709045,0.316047670123,0.316138628296,0.316229583563,0.316320535923,0.316411485376,0.316502431921,0.316593375556,0.316684316281,0.316775254096,0.316866188998,0.316957120989,0.317048050065,0.317138976228,0.317229899475,0.317320819806,0.317411737221,0.317502651718,0.317593563297,0.317684471956,0.317775377696,0.317866280514,0.317957180411,0.318048077385,0.318138971436,0.318229862562,0.318320750763,0.318411636039,0.318502518387,0.318593397808,0.318684274301,0.318775147864,0.318866018497,0.318956886199,0.31904775097,0.319138612808,0.319229471712,0.319320327682,0.319411180717,0.319502030816,0.319592877978,0.319683722203,0.319774563489,0.319865401836,0.319956237242,0.320047069708,0.320137899232,0.320228725813,0.320319549451,0.320410370144,0.320501187893,0.320592002695,0.320682814551,0.320773623458,0.320864429418,0.320955232428,0.321046032488,0.321136829597,0.321227623754,0.321318414958,0.321409203209,0.321499988506,0.321590770847,0.321681550233,0.321772326662,0.321863100133,0.321953870645,0.322044638198,0.322135402791,0.322226164423,0.322316923094,0.322407678801,0.322498431545,0.322589181325,0.322679928139,0.322770671988,0.322861412869,0.322952150783,0.323042885729,0.323133617705,0.323224346711,0.323315072746,0.323405795809,0.3234965159,0.323587233016,0.323677947159,0.323768658326,0.323859366518,0.323950071732,0.324040773969,0.324131473228,0.324222169507,0.324312862805,0.324403553123,0.324494240459,0.324584924813,0.324675606182,0.324766284568,0.324856959968,0.324947632382,0.32503830181,0.325128968249,0.3252196317,0.325310292162,0.325400949634,0.325491604115,0.325582255603,0.325672904099,0.325763549602,0.32585419211,0.325944831623,0.32603546814,0.326126101661,0.326216732183,0.326307359707,0.326397984232,0.326488605756,0.32657922428,0.326669839801,0.32676045232,0.326851061836,0.326941668347,0.327032271853,0.327122872352,0.327213469845,0.327304064331,0.327394655808,0.327485244275,0.327575829733,0.327666412179,0.327756991613,0.327847568035,0.327938141443,0.328028711837,0.328119279216,0.328209843579,0.328300404925,0.328390963253,0.328481518563,0.328572070854,0.328662620124,0.328753166373,0.328843709601,0.328934249806,0.329024786987,0.329115321144,0.329205852276,0.329296380382,0.329386905461,0.329477427512,0.329567946535,0.329658462529,0.329748975492,0.329839485424,0.329929992325,0.330020496193,0.330110997028,0.330201494828,0.330291989593,0.330382481322,0.330472970014,0.330563455669,0.330653938285,0.330744417862,0.330834894399,0.330925367895,0.331015838349,0.33110630576,0.331196770128,0.331287231451,0.33137768973,0.331468144962,0.331558597148,0.331649046286,0.331739492376,0.331829935416,0.331920375407,0.332010812346,0.332101246234,0.332191677069,0.33228210485,0.332372529578,0.33246295125,0.332553369866,0.332643785426,0.332734197927,0.332824607371,0.332915013755,0.333005417079,0.333095817343,0.333186214544,0.333276608683,0.333366999759,0.33345738777,0.333547772716,0.333638154596,0.33372853341,0.333818909156,0.333909281834,0.333999651442,0.33409001798,0.334180381448,0.334270741844,0.334361099167,0.334451453417,0.334541804592,0.334632152693,0.334722497718,0.334812839666,0.334903178536,0.334993514328,0.335083847041,0.335174176674,0.335264503226,0.335354826697,0.335445147085,0.335535464389,0.335625778609,0.335716089745,0.335806397794,0.335896702757,0.335987004633,0.33607730342,0.336167599118,0.336257891726,0.336348181243,0.336438467668,0.336528751001,0.336619031241,0.336709308387,0.336799582437,0.336889853392,0.33698012125,0.337070386011,0.337160647674,0.337250906237,0.337341161701,0.337431414063,0.337521663324,0.337611909483,0.337702152538,0.33779239249,0.337882629336,0.337972863077,0.338063093711,0.338153321238,0.338243545656,0.338333766966,0.338423985165,0.338514200254,0.338604412231,0.338694621096,0.338784826848,0.338875029485,0.338965229008,0.339055425415,0.339145618705,0.339235808879,0.339325995934,0.33941617987,0.339506360686,0.339596538381,0.339686712955,0.339776884407,0.339867052735,0.33995721794,0.340047380019,0.340137538974,0.340227694801,0.340317847501,0.340407997074,0.340498143517,0.34058828683,0.340678427013,0.340768564064,0.340858697983,0.340948828769,0.341038956421,0.341129080939,0.34121920232,0.341309320566,0.341399435674,0.341489547644,0.341579656475,0.341669762166,0.341759864717,0.341849964126,0.341940060393,0.342030153518,0.342120243498,0.342210330333,0.342300414024,0.342390494567,0.342480571964,0.342570646212,0.342660717312,0.342750785262,0.342840850062,0.34293091171,0.343020970206,0.343111025549,0.343201077738,0.343291126773,0.343381172652,0.343471215375,0.343561254941,0.343651291349,0.343741324598,0.343831354687,0.343921381616,0.344011405384,0.34410142599,0.344191443433,0.344281457712,0.344371468826,0.344461476776,0.344551481559,0.344641483174,0.344731481622,0.344821476902,0.344911469012,0.345001457951,0.345091443719,0.345181426316,0.345271405739,0.345361381989,0.345451355064,0.345541324964,0.345631291688,0.345721255235,0.345811215604,0.345901172794,0.345991126805,0.346081077636,0.346171025285,0.346260969753,0.346350911038,0.346440849139,0.346530784056,0.346620715788,0.346710644334,0.346800569692,0.346890491863,0.346980410846,0.347070326639,0.347160239242,0.347250148654,0.347340054874,0.347429957901,0.347519857735,0.347609754375,0.347699647819,0.347789538067,0.347879425119,0.347969308973,0.348059189629,0.348149067085,0.348238941341,0.348328812396,0.348418680249,0.3485085449,0.348598406348,0.348688264591,0.348778119629,0.348867971461,0.348957820087,0.349047665505,0.349137507714,0.349227346714,0.349317182505,0.349407015084,0.349496844452,0.349586670607,0.349676493549,0.349766313277,0.34985612979,0.349945943087,0.350035753168,0.350125560031,0.350215363675,0.350305164101,0.350394961307,0.350484755292,0.350574546055,0.350664333596,0.350754117913,0.350843899007,0.350933676876,0.351023451519,0.351113222935,0.351202991125,0.351292756086,0.351382517818,0.35147227632,0.351562031591,0.351651783631,0.351741532439,0.351831278013,0.351921020354,0.35201075946,0.35210049533,0.352190227964,0.35227995736,0.352369683519,0.352459406438,0.352549126118,0.352638842557,0.352728555755,0.352818265711,0.352907972424,0.352997675892,0.353087376116,0.353177073095,0.353266766827,0.353356457312,0.353446144549,0.353535828538,0.353625509277,0.353715186765,0.353804861002,0.353894531987,0.353984199719,0.354073864197,0.35416352542,0.354253183389,0.354342838101,0.354432489556,0.354522137753,0.354611782691,0.35470142437,0.354791062789,0.354880697946,0.354970329842,0.355059958474,0.355149583843,0.355239205948,0.355328824787,0.35541844036,0.355508052666,0.355597661705,0.355687267475,0.355776869975,0.355866469205,0.355956065165,0.356045657852,0.356135247267,0.356224833408,0.356314416274,0.356403995866,0.356493572182,0.35658314522,0.356672714982,0.356762281464,0.356851844668,0.356941404591,0.357030961233,0.357120514594,0.357210064672,0.357299611467,0.357389154977,0.357478695203,0.357568232142,0.357657765795,0.35774729616,0.357836823237,0.357926347025,0.358015867523,0.35810538473,0.358194898645,0.358284409268,0.358373916598,0.358463420634,0.358552921374,0.358642418819,0.358731912968,0.358821403819,0.358910891371,0.359000375625,0.359089856579,0.359179334232,0.359268808584,0.359358279633,0.35944774738,0.359537211822,0.359626672959,0.359716130791,0.359805585317,0.359895036535,0.359984484445,0.360073929046,0.360163370338,0.360252808319,0.360342242988,0.360431674346,0.36052110239,0.360610527121,0.360699948537,0.360789366637,0.360878781421,0.360968192888,0.361057601037,0.361147005867,0.361236407378,0.361325805568,0.361415200438,0.361504591985,0.361593980209,0.361683365109,0.361772746685,0.361862124936,0.36195149986,0.362040871458,0.362130239727,0.362219604668,0.36230896628,0.362398324561,0.362487679511,0.36257703113,0.362666379415,0.362755724367,0.362845065985,0.362934404268,0.363023739214,0.363113070824,0.363202399096,0.363291724029,0.363381045623,0.363470363877,0.36355967879,0.363648990362,0.363738298591,0.363827603476,0.363916905017,0.364006203213,0.364095498064,0.364184789567,0.364274077723,0.364363362531,0.364452643989,0.364541922098,0.364631196856,0.364720468262,0.364809736316,0.364899001016,0.364988262363,0.365077520354,0.36516677499,0.365256026269,0.365345274191,0.365434518755,0.36552375996,0.365612997805,0.365702232289,0.365791463412,0.365880691173,0.36596991557,0.366059136604,0.366148354272,0.366237568576,0.366326779513,0.366415987082,0.366505191284,0.366594392117,0.36668358958,0.366772783673,0.366861974394,0.366951161743,0.36704034572,0.367129526322,0.36721870355,0.367307877403,0.367397047879,0.367486214979,0.3675753787,0.367664539043,0.367753696007,0.36784284959,0.367931999792,0.368021146612,0.368110290049,0.368199430102,0.368288566771,0.368377700055,0.368466829953,0.368555956464,0.368645079588,0.368734199323,0.368823315668,0.368912428624,0.369001538188,0.369090644361,0.369179747141,0.369268846527,0.36935794252,0.369447035117,0.369536124318,0.369625210123,0.36971429253,0.369803371539,0.369892447149,0.369981519359,0.370070588168,0.370159653575,0.37024871558,0.370337774182,0.370426829379,0.370515881172,0.370604929559,0.37069397454,0.370783016113,0.370872054278,0.370961089034,0.37105012038,0.371139148316,0.37122817284,0.371317193952,0.371406211651,0.371495225936,0.371584236806,0.371673244261,0.371762248299,0.37185124892,0.371940246124,0.372029239908,0.372118230273,0.372207217218,0.372296200741,0.372385180842,0.37247415752,0.372563130775,0.372652100605,0.37274106701,0.372830029988,0.37291898954,0.373007945663,0.373096898359,0.373185847624,0.37327479346,0.373363735864,0.373452674837,0.373541610377,0.373630542483,0.373719471155,0.373808396392,0.373897318193,0.373986236557,0.374075151483,0.374164062971,0.37425297102,0.374341875629,0.374430776797,0.374519674523,0.374608568807,0.374697459647,0.374786347044,0.374875230995,0.374964111501,0.37505298856,0.375141862171,0.375230732334,0.375319599049,0.375408462313,0.375497322127,0.375586178489,0.375675031399,0.375763880856,0.375852726859,0.375941569407,0.3760304085,0.376119244136,0.376208076315,0.376296905036,0.376385730298,0.3764745521,0.376563370442,0.376652185323,0.376740996741,0.376829804697,0.376918609189,0.377007410216,0.377096207778,0.377185001874,0.377273792503,0.377362579664,0.377451363356,0.377540143579,0.377628920332,0.377717693613,0.377806463423,0.37789522976,0.377983992623,0.378072752012,0.378161507926,0.378250260364,0.378339009325,0.378427754809,0.378516496814,0.37860523534,0.378693970385,0.37878270195,0.378871430034,0.378960154634,0.379048875752,0.379137593385,0.379226307533,0.379315018196,0.379403725372,0.37949242906,0.37958112926,0.379669825972,0.379758519193,0.379847208924,0.379935895163,0.38002457791,0.380113257164,0.380201932924,0.38029060519,0.380379273959,0.380467939233,0.380556601009,0.380645259287,0.380733914067,0.380822565346,0.380911213126,0.380999857404,0.38108849818,0.381177135453,0.381265769222,0.381354399487,0.381443026247,0.3815316495,0.381620269247,0.381708885485,0.381797498215,0.381886107436,0.381974713147,0.382063315346,0.382151914034,0.382240509209,0.38232910087,0.382417689017,0.382506273649,0.382594854766,0.382683432365,0.382772006447,0.382860577011,0.382949144055,0.383037707579,0.383126267583,0.383214824065,0.383303377024,0.383391926461,0.383480472373,0.38356901476,0.383657553622,0.383746088957,0.383834620765,0.383923149045,0.384011673796,0.384100195017,0.384188712707,0.384277226867,0.384365737494,0.384454244587,0.384542748148,0.384631248173,0.384719744663,0.384808237617,0.384896727034,0.384985212912,0.385073695252,0.385162174053,0.385250649313,0.385339121032,0.38542758921,0.385516053844,0.385604514935,0.385692972481,0.385781426482,0.385869876938,0.385958323846,0.386046767207,0.386135207019,0.386223643282,0.386312075995,0.386400505157,0.386488930767,0.386577352825,0.386665771329,0.38675418628,0.386842597675,0.386931005514,0.387019409797,0.387107810523,0.38719620769,0.387284601299,0.387372991347,0.387461377835,0.387549760761,0.387638140125,0.387726515926,0.387814888164,0.387903256836,0.387991621943,0.388079983483,0.388168341457,0.388256695862,0.388345046699,0.388433393966,0.388521737663,0.388610077788,0.388698414342,0.388786747322,0.388875076729,0.388963402562,0.389051724819,0.3891400435,0.389228358604,0.389316670131,0.389404978079,0.389493282448,0.389581583236,0.389669880444,0.38975817407,0.389846464113,0.389934750573,0.390023033449,0.39011131274,0.390199588444,0.390287860563,0.390376129094,0.390464394036,0.39055265539,0.390640913153,0.390729167326,0.390817417908,0.390905664897,0.390993908293,0.391082148095,0.391170384302,0.391258616914,0.391346845929,0.391435071348,0.391523293168,0.391611511389,0.391699726011,0.391787937033,0.391876144453,0.391964348271,0.392052548486,0.392140745098,0.392228938105,0.392317127507,0.392405313303,0.392493495492,0.392581674073,0.392669849046,0.392758020409,0.392846188162,0.392934352304,0.393022512835,0.393110669753,0.393198823057,0.393286972747,0.393375118823,0.393463261282,0.393551400125,0.39363953535,0.393727666957,0.393815794945,0.393903919314,0.393992040061,0.394080157187,0.394168270691,0.394256380571,0.394344486828,0.39443258946,0.394520688466,0.394608783847,0.394696875599,0.394784963724,0.394873048221,0.394961129087,0.395049206323,0.395137279928,0.395225349901,0.395313416241,0.395401478948,0.39548953802,0.395577593457,0.395665645257,0.395753693421,0.395841737947,0.395929778835,0.396017816083,0.396105849692,0.396193879659,0.396281905985,0.396369928668,0.396457947707,0.396545963103,0.396633974854,0.396721982958,0.396809987417,0.396897988228,0.39698598539,0.397073978904,0.397161968768,0.397249954981,0.397337937543,0.397425916452,0.397513891709,0.397601863311,0.397689831259,0.397777795552,0.397865756188,0.397953713167,0.398041666488,0.39812961615,0.398217562153,0.398305504496,0.398393443177,0.398481378197,0.398569309554,0.398657237247,0.398745161276,0.398833081639,0.398920998337,0.399008911368,0.399096820731,0.399184726426,0.399272628452,0.399360526807,0.399448421492,0.399536312505,0.399624199846,0.399712083513,0.399799963506,0.399887839825,0.399975712468,0.400063581434,0.400151446723,0.400239308334,0.400327166266,0.400415020518,0.40050287109,0.40059071798,0.400678561188,0.400766400714,0.400854236555,0.400942068712,0.401029897184,0.401117721969,0.401205543067,0.401293360478,0.4013811742,0.401468984233,0.401556790575,0.401644593226,0.401732392186,0.401820187453,0.401907979026,0.401995766905,0.40208355109,0.402171331578,0.402259108369,0.402346881464,0.402434650859,0.402522416556,0.402610178553,0.402697936849,0.402785691444,0.402873442336,0.402961189525,0.40304893301,0.403136672791,0.403224408866,0.403312141235,0.403399869896,0.403487594849,0.403575316094,0.403663033629,0.403750747454,0.403838457568,0.403926163969,0.404013866658,0.404101565633,0.404189260894,0.404276952439,0.404364640269,0.404452324382,0.404540004777,0.404627681453,0.40471535441,0.404803023648,0.404890689164,0.404978350959,0.405066009031,0.40515366338,0.405241314005,0.405328960905,0.405416604079,0.405504243527,0.405591879248,0.40567951124,0.405767139503,0.405854764037,0.40594238484,0.406030001912,0.406117615252,0.406205224859,0.406292830732,0.40638043287,0.406468031273,0.40655562594,0.40664321687,0.406730804063,0.406818387516,0.40690596723,0.406993543204,0.407081115438,0.407168683929,0.407256248677,0.407343809683,0.407431366944,0.40751892046,0.40760647023,0.407694016253,0.407781558529,0.407869097057,0.407956631836,0.408044162865,0.408131690143,0.40821921367,0.408306733445,0.408394249466,0.408481761734,0.408569270247,0.408656775004,0.408744276005,0.40883177325,0.408919266736,0.409006756463,0.409094242431,0.409181724639,0.409269203086,0.40935667777,0.409444148692,0.409531615851,0.409619079245,0.409706538874,0.409793994737,0.409881446833,0.409968895162,0.410056339722,0.410143780514,0.410231217535,0.410318650785,0.410406080264,0.410493505971,0.410580927905,0.410668346064,0.410755760449,0.410843171058,0.410930577891,0.411017980946,0.411105380224,0.411192775723,0.411280167442,0.411367555381,0.411454939538,0.411542319914,0.411629696507,0.411717069316,0.41180443834,0.41189180358,0.411979165034,0.4120665227,0.412153876579,0.41224122667,0.412328572971,0.412415915483,0.412503254203,0.412590589132,0.412677920268,0.412765247612,0.412852571161,0.412939890915,0.413027206874,0.413114519036,0.413201827401,0.413289131968,0.413376432736,0.413463729704,0.413551022872,0.413638312238,0.413725597803,0.413812879565,0.413900157523,0.413987431676,0.414074702024,0.414161968566,0.414249231301,0.414336490229,0.414423745348,0.414510996658,0.414598244157,0.414685487846,0.414772727723,0.414859963788,0.414947196039,0.415034424476,0.415121649098,0.415208869905,0.415296086895,0.415383300068,0.415470509422,0.415557714958,0.415644916674,0.415732114569,0.415819308643,0.415906498895,0.415993685324,0.41608086793,0.41616804671,0.416255221666,0.416342392795,0.416429560098,0.416516723572,0.416603883218,0.416691039035,0.416778191022,0.416865339178,0.416952483502,0.417039623993,0.417126760651,0.417213893475,0.417301022464,0.417388147618,0.417475268935,0.417562386414,0.417649500055,0.417736609858,0.41782371582,0.417910817942,0.417997916223,0.418085010662,0.418172101257,0.418259188009,0.418346270916,0.418433349978,0.418520425194,0.418607496563,0.418694564084,0.418781627757,0.41886868758,0.418955743553,0.419042795675,0.419129843945,0.419216888363,0.419303928928,0.419390965638,0.419477998493,0.419565027493,0.419652052636,0.419739073922,0.419826091349,0.419913104918,0.420000114627,0.420087120475,0.420174122462,0.420261120587,0.420348114849,0.420435105247,0.42052209178,0.420609074448,0.42069605325,0.420783028186,0.420869999253,0.420956966452,0.421043929781,0.42113088924,0.421217844829,0.421304796545,0.42139174439,0.42147868836,0.421565628457,0.421652564679,0.421739497024,0.421826425494,0.421913350086,0.4220002708,0.422087187635,0.42217410059,0.422261009665,0.422347914858,0.422434816169,0.422521713598,0.422608607142,0.422695496802,0.422782382577,0.422869264466,0.422956142467,0.423043016581,0.423129886807,0.423216753143,0.423303615589,0.423390474144,0.423477328807,0.423564179578,0.423651026456,0.423737869439,0.423824708528,0.42391154372,0.423998375017,0.424085202416,0.424172025917,0.424258845519,0.424345661221,0.424432473023,0.424519280923,0.424606084922,0.424692885017,0.424779681209,0.424866473496,0.424953261879,0.425040046355,0.425126826924,0.425213603585,0.425300376338,0.425387145182,0.425473910116,0.425560671138,0.42564742825,0.425734181448,0.425820930734,0.425907676105,0.425994417562,0.426081155102,0.426167888727,0.426254618434,0.426341344223,0.426428066093,0.426514784044,0.426601498074,0.426688208183,0.42677491437,0.426861616634,0.426948314975,0.427035009391,0.427121699882,0.427208386447,0.427295069085,0.427381747795,0.427468422577,0.42755509343,0.427641760353,0.427728423345,0.427815082406,0.427901737534,0.427988388729,0.42807503599,0.428161679316,0.428248318707,0.428334954161,0.428421585678,0.428508213257,0.428594836897,0.428681456598,0.428768072359,0.428854684178,0.428941292055,0.42902789599,0.429114495981,0.429201092028,0.42928768413,0.429374272285,0.429460856494,0.429547436756,0.429634013069,0.429720585433,0.429807153847,0.429893718311,0.429980278823,0.430066835383,0.430153387989,0.430239936642,0.43032648134,0.430413022083,0.430499558869,0.430586091698,0.43067262057,0.430759145483,0.430845666436,0.430932183429,0.431018696461,0.431105205531,0.431191710639,0.431278211783,0.431364708963,0.431451202178,0.431537691427,0.43162417671,0.431710658025,0.431797135372,0.43188360875,0.431970078158,0.432056543596,0.432143005062,0.432229462556,0.432315916077,0.432402365625,0.432488811198,0.432575252795,0.432661690416,0.432748124061,0.432834553727,0.432920979416,0.433007401124,0.433093818853,0.433180232601,0.433266642367,0.433353048151,0.433439449951,0.433525847767,0.433612241599,0.433698631444,0.433785017304,0.433871399176,0.43395777706,0.434044150955,0.43413052086,0.434216886775,0.434303248699,0.434389606631,0.43447596057,0.434562310515,0.434648656466,0.434734998422,0.434821336381,0.434907670344,0.43499400031,0.435080326277,0.435166648245,0.435252966213,0.43533928018,0.435425590145,0.435511896108,0.435598198069,0.435684496025,0.435770789976,0.435857079922,0.435943365862,0.436029647794,0.436115925719,0.436202199635,0.436288469542,0.436374735438,0.436460997323,0.436547255196,0.436633509057,0.436719758904,0.436806004737,0.436892246555,0.436978484357,0.437064718143,0.437150947911,0.437237173661,0.437323395392,0.437409613103,0.437495826794,0.437582036463,0.43766824211,0.437754443734,0.437840641334,0.43792683491,0.438013024461,0.438099209985,0.438185391483,0.438271568952,0.438357742394,0.438443911806,0.438530077188,0.438616238539,0.438702395858,0.438788549145,0.438874698398,0.438960843618,0.439046984803,0.439133121952,0.439219255065,0.43930538414,0.439391509178,0.439477630176,0.439563747135,0.439649860054,0.439735968932,0.439822073767,0.43990817456,0.43999427131,0.440080364015,0.440166452675,0.440252537288,0.440338617856,0.440424694375,0.440510766847,0.440596835269,0.440682899642,0.440768959964,0.440855016234,0.440941068452,0.441027116617,0.441113160729,0.441199200785,0.441285236787,0.441371268732,0.44145729662,0.44154332045,0.441629340222,0.441715355934,0.441801367586,0.441887375178,0.441973378707,0.442059378174,0.442145373578,0.442231364918,0.442317352192,0.442403335401,0.442489314544,0.442575289619,0.442661260626,0.442747227565,0.442833190433,0.442919149232,0.443005103959,0.443091054614,0.443177001196,0.443262943705,0.443348882139,0.443434816498,0.443520746781,0.443606672988,0.443692595117,0.443778513167,0.443864427139,0.44395033703,0.444036242841,0.44412214457,0.444208042218,0.444293935782,0.444379825262,0.444465710657,0.444551591967,0.444637469191,0.444723342328,0.444809211377,0.444895076338,0.444980937209,0.44506679399,0.44515264668,0.445238495278,0.445324339783,0.445410180196,0.445496016514,0.445581848737,0.445667676865,0.445753500896,0.44583932083,0.445925136666,0.446010948403,0.44609675604,0.446182559577,0.446268359013,0.446354154346,0.446439945577,0.446525732705,0.446611515728,0.446697294645,0.446783069457,0.446868840162,0.44695460676,0.447040369249,0.447126127629,0.4472118819,0.447297632059,0.447383378108,0.447469120043,0.447554857866,0.447640591575,0.44772632117,0.447812046649,0.447897768012,0.447983485257,0.448069198386,0.448154907395,0.448240612285,0.448326313055,0.448412009704,0.448497702232,0.448583390637,0.448669074918,0.448754755076,0.448840431109,0.448926103016,0.449011770796,0.44909743445,0.449183093975,0.449268749372,0.449354400639,0.449440047776,0.449525690781,0.449611329655,0.449696964395,0.449782595003,0.449868221476,0.449953843814,0.450039462016,0.450125076081,0.450210686009,0.450296291799,0.450381893449,0.45046749096,0.45055308433,0.450638673559,0.450724258646,0.45080983959,0.45089541639,0.450980989045,0.451066557555,0.451152121919,0.451237682136,0.451323238206,0.451408790127,0.451494337898,0.45157988152,0.451665420991,0.45175095631,0.451836487477,0.451922014491,0.45200753735,0.452093056055,0.452178570605,0.452264080998,0.452349587234,0.452435089312,0.452520587231,0.452606080991,0.452691570591,0.452777056029,0.452862537306,0.45294801442,0.453033487371,0.453118956157,0.453204420779,0.453289881235,0.453375337524,0.453460789646,0.4535462376,0.453631681385,0.453717121,0.453802556445,0.453887987718,0.45397341482,0.454058837749,0.454144256504,0.454229671084,0.45431508149,0.454400487719,0.454485889772,0.454571287647,0.454656681344,0.454742070862,0.4548274562,0.454912837357,0.454998214333,0.455083587126,0.455168955737,0.455254320163,0.455339680406,0.455425036462,0.455510388333,0.455595736016,0.455681079512,0.455766418819,0.455851753937,0.455937084865,0.456022411602,0.456107734148,0.456193052501,0.45627836666,0.456363676626,0.456448982397,0.456534283972,0.456619581351,0.456704874533,0.456790163517,0.456875448302,0.456960728888,0.457046005273,0.457131277457,0.45721654544,0.457301809219,0.457387068796,0.457472324168,0.457557575335,0.457642822297,0.457728065051,0.457813303599,0.457898537938,0.457983768069,0.45806899399,0.4581542157,0.458239433199,0.458324646486,0.45840985556,0.458495060421,0.458580261067,0.458665457498,0.458750649713,0.458835837712,0.458921021492,0.459006201055,0.459091376398,0.459176547522,0.459261714425,0.459346877106,0.459432035566,0.459517189802,0.459602339814,0.459687485602,0.459772627165,0.459857764501,0.459942897611,0.460028026493,0.460113151146,0.46019827157,0.460283387764,0.460368499727,0.460453607459,0.460538710958,0.460623810224,0.460708905256,0.460793996054,0.460879082616,0.460964164941,0.46104924303,0.46113431688,0.461219386492,0.461304451865,0.461389512997,0.461474569888,0.461559622538,0.461644670945,0.461729715108,0.461814755028,0.461899790702,0.461984822131,0.462069849314,0.462154872249,0.462239890936,0.462324905375,0.462409915563,0.462494921502,0.462579923189,0.462664920624,0.462749913807,0.462834902736,0.462919887411,0.463004867831,0.463089843995,0.463174815902,0.463259783552,0.463344746944,0.463429706076,0.463514660949,0.463599611562,0.463684557913,0.463769500002,0.463854437828,0.463939371391,0.464024300689,0.464109225722,0.464194146489,0.464279062989,0.464363975222,0.464448883186,0.464533786881,0.464618686306,0.464703581461,0.464788472344,0.464873358955,0.464958241293,0.465043119357,0.465127993146,0.46521286266,0.465297727898,0.46538258886,0.465467445543,0.465552297948,0.465637146073,0.465721989919,0.465806829484,0.465891664767,0.465976495768,0.466061322486,0.466146144919,0.466230963068,0.466315776932,0.466400586509,0.466485391799,0.466570192802,0.466654989516,0.46673978194,0.466824570074,0.466909353917,0.466994133469,0.467078908728,0.467163679694,0.467248446365,0.467333208742,0.467417966823,0.467502720608,0.467587470095,0.467672215285,0.467756956176,0.467841692767,0.467926425058,0.468011153048,0.468095876736,0.468180596122,0.468265311204,0.468350021982,0.468434728455,0.468519430622,0.468604128483,0.468688822036,0.468773511281,0.468858196217,0.468942876844,0.46902755316,0.469112225165,0.469196892859,0.469281556239,0.469366215306,0.469450870058,0.469535520496,0.469620166617,0.469704808422,0.46978944591,0.469874079079,0.469958707929,0.47004333246,0.47012795267,0.470212568558,0.470297180125,0.470381787369,0.470466390289,0.470550988884,0.470635583155,0.470720173099,0.470804758717,0.470889340007,0.470973916969,0.471058489601,0.471143057904,0.471227621877,0.471312181517,0.471396736826,0.471481287802,0.471565834443,0.471650376751,0.471734914723,0.471819448359,0.471903977658,0.471988502619,0.472073023242,0.472157539526,0.47224205147,0.472326559073,0.472411062335,0.472495561254,0.47258005583,0.472664546063,0.47274903195,0.472833513493,0.472917990689,0.473002463538,0.473086932039,0.473171396192,0.473255855996,0.47334031145,0.473424762552,0.473509209303,0.473593651702,0.473678089748,0.473762523439,0.473846952776,0.473931377757,0.474015798383,0.474100214651,0.474184626561,0.474269034112,0.474353437305,0.474437836137,0.474522230608,0.474606620717,0.474691006464,0.474775387848,0.474859764868,0.474944137522,0.475028505812,0.475112869735,0.47519722929,0.475281584478,0.475365935297,0.475450281747,0.475534623827,0.475618961535,0.475703294872,0.475787623836,0.475871948427,0.475956268643,0.476040584485,0.476124895951,0.476209203041,0.476293505753,0.476377804088,0.476462098044,0.47654638762,0.476630672816,0.47671495363,0.476799230063,0.476883502114,0.47696776978,0.477052033063,0.477136291961,0.477220546473,0.477304796598,0.477389042337,0.477473283687,0.477557520648,0.47764175322,0.477725981401,0.477810205191,0.477894424589,0.477978639595,0.478062850207,0.478147056425,0.478231258248,0.478315455675,0.478399648705,0.478483837338,0.478568021573,0.478652201409,0.478736376845,0.478820547881,0.478904714516,0.478988876749,0.479073034579,0.479157188005,0.479241337027,0.479325481644,0.479409621856,0.47949375766,0.479577889057,0.479662016046,0.479746138626,0.479830256797,0.479914370556,0.479998479905,0.480082584841,0.480166685365,0.480250781475,0.480334873171,0.480418960451,0.480503043316,0.480587121764,0.480671195795,0.480755265407,0.4808393306,0.480923391374,0.481007447727,0.481091499659,0.481175547168,0.481259590255,0.481343628918,0.481427663157,0.48151169297,0.481595718358,0.481679739319,0.481763755852,0.481847767957,0.481931775633,0.482015778879,0.482099777695,0.482183772079,0.482267762031,0.482351747551,0.482435728636,0.482519705287,0.482603677503,0.482687645283,0.482771608626,0.482855567532,0.482939521999,0.483023472027,0.483107417616,0.483191358763,0.48327529547,0.483359227734,0.483443155555,0.483527078933,0.483610997866,0.483694912354,0.483778822396,0.483862727991,0.483946629138,0.484030525837,0.484114418087,0.484198305888,0.484282189237,0.484366068135,0.484449942581,0.484533812574,0.484617678113,0.484701539198,0.484785395827,0.484869248001,0.484953095717,0.485036938976,0.485120777777,0.485204612119,0.485288442,0.485372267421,0.485456088381,0.485539904878,0.485623716912,0.485707524483,0.485791327589,0.48587512623,0.485958920404,0.486042710112,0.486126495353,0.486210276124,0.486294052427,0.48637782426,0.486461591622,0.486545354513,0.486629112932,0.486712866877,0.486796616349,0.486880361346,0.486964101868,0.487047837914,0.487131569483,0.487215296574,0.487299019187,0.487382737321,0.487466450975,0.487550160148,0.48763386484,0.48771756505,0.487801260776,0.487884952019,0.487968638778,0.488052321051,0.488135998838,0.488219672138,0.48830334095,0.488387005274,0.488470665109,0.488554320454,0.488637971309,0.488721617671,0.488805259542,0.48888889692,0.488972529804,0.489056158193,0.489139782087,0.489223401485,0.489307016386,0.48939062679,0.489474232695,0.489557834101,0.489641431007,0.489725023413,0.489808611317,0.489892194719,0.489975773617,0.490059348012,0.490142917903,0.490226483288,0.490310044167,0.49039360054,0.490477152405,0.490560699761,0.490644242608,0.490727780946,0.490811314773,0.490894844088,0.490978368891,0.491061889181,0.491145404957,0.491228916219,0.491312422966,0.491395925197,0.49147942291,0.491562916107,0.491646404784,0.491729888943,0.491813368582,0.4918968437,0.491980314297,0.492063780372,0.492147241923,0.492230698951,0.492314151455,0.492397599433,0.492481042886,0.492564481811,0.492647916209,0.492731346079,0.492814771419,0.49289819223,0.49298160851,0.493065020259,0.493148427475,0.493231830159,0.493315228309,0.493398621924,0.493482011004,0.493565395549,0.493648775556,0.493732151026,0.493815521958,0.493898888351,0.493982250204,0.494065607516,0.494148960287,0.494232308516,0.494315652202,0.494398991344,0.494482325942,0.494565655995,0.494648981502,0.494732302462,0.494815618875,0.494898930739,0.494982238054,0.49506554082,0.495148839035,0.495232132699,0.495315421811,0.49539870637,0.495481986375,0.495565261826,0.495648532722,0.495731799061,0.495815060845,0.495898318071,0.495981570738,0.496064818847,0.496148062396,0.496231301384,0.496314535811,0.496397765677,0.496480990979,0.496564211718,0.496647427893,0.496730639502,0.496813846546,0.496897049023,0.496980246932,0.497063440274,0.497146629046,0.497229813249,0.497312992882,0.497396167943,0.497479338433,0.497562504349,0.497645665692,0.497728822461,0.497811974655,0.497895122273,0.497978265315,0.498061403779,0.498144537665,0.498227666973,0.498310791701,0.498393911848,0.498477027414,0.498560138399,0.4986432448,0.498726346619,0.498809443853,0.498892536502,0.498975624565,0.499058708042,0.499141786932,0.499224861234,0.499307930946,0.49939099607,0.499474056603,0.499557112545,0.499640163895,0.499723210653,0.499806252817,0.499889290387,0.499972323363,0.500055351742,0.500138375526,0.500221394712,0.5003044093,0.50038741929,0.50047042468,0.500553425469,0.500636421658,0.500719413245,0.50080240023,0.500885382611,0.500968360389,0.501051333561,0.501134302128,0.501217266089,0.501300225442,0.501383180188,0.501466130325,0.501549075853,0.50163201677,0.501714953077,0.501797884772,0.501880811855,0.501963734324,0.50204665218,0.50212956542,0.502212474046,0.502295378055,0.502378277447,0.502461172221,0.502544062377,0.502626947914,0.50270982883,0.502792705126,0.5028755768,0.502958443852,0.503041306281,0.503124164086,0.503207017266,0.503289865821,0.50337270975,0.503455549051,0.503538383726,0.503621213772,0.503704039188,0.503786859975,0.503869676131,0.503952487655,0.504035294548,0.504118096807,0.504200894433,0.504283687424,0.50436647578,0.504449259499,0.504532038582,0.504614813028,0.504697582835,0.504780348003,0.504863108531,0.504945864419,0.505028615665,0.505111362269,0.505194104231,0.505276841548,0.505359574222,0.50544230225,0.505525025632,0.505607744367,0.505690458455,0.505773167895,0.505855872686,0.505938572827,0.506021268318,0.506103959158,0.506186645345,0.50626932688,0.506352003761,0.506434675988,0.50651734356,0.506600006476,0.506682664736,0.506765318338,0.506847967282,0.506930611567,0.507013251193,0.507095886158,0.507178516462,0.507261142105,0.507343763084,0.507426379401,0.507508991053,0.50759159804,0.507674200362,0.507756798017,0.507839391005,0.507921979325,0.508004562976,0.508087141958,0.50816971627,0.50825228591,0.508334850879,0.508417411175,0.508499966799,0.508582517748,0.508665064022,0.508747605621,0.508830142543,0.508912674789,0.508995202356,0.509077725245,0.509160243455,0.509242756984,0.509325265833,0.50940777,0.509490269485,0.509572764287,0.509655254404,0.509737739837,0.509820220585,0.509902696647,0.509985168021,0.510067634708,0.510150096707,0.510232554016,0.510315006635,0.510397454564,0.510479897801,0.510562336346,0.510644770198,0.510727199357,0.51080962382,0.510892043589,0.510974458661,0.511056869037,0.511139274715,0.511221675695,0.511304071976,0.511386463557,0.511468850438,0.511551232617,0.511633610094,0.511715982869,0.511798350939,0.511880714306,0.511963072967,0.512045426923,0.512127776172,0.512210120713,0.512292460546,0.512374795671,0.512457126086,0.51253945179,0.512621772783,0.512704089065,0.512786400634,0.512868707489,0.51295100963,0.513033307056,0.513115599767,0.513197887761,0.513280171038,0.513362449596,0.513444723437,0.513526992557,0.513609256958,0.513691516637,0.513773771595,0.51385602183,0.513938267342,0.51402050813,0.514102744193,0.514184975531,0.514267202142,0.514349424027,0.514431641183,0.514513853611,0.51459606131,0.514678264279,0.514760462517,0.514842656023,0.514924844797,0.515007028838,0.515089208145,0.515171382717,0.515253552554,0.515335717655,0.515417878019,0.515500033646,0.515582184534,0.515664330683,0.515746472092,0.515828608761,0.515910740688,0.515992867873,0.516074990315,0.516157108014,0.516239220968,0.516321329177,0.51640343264,0.516485531356,0.516567625325,0.516649714546,0.516731799018,0.51681387874,0.516895953711,0.516978023932,0.5170600894,0.517142150116,0.517224206079,0.517306257287,0.51738830374,0.517470345437,0.517552382378,0.517634414562,0.517716441988,0.517798464655,0.517880482562,0.51796249571,0.518044504096,0.518126507721,0.518208506583,0.518290500681,0.518372490016,0.518454474586,0.518536454391,0.518618429429,0.5187003997,0.518782365203,0.518864325938,0.518946281904,0.519028233099,0.519110179524,0.519192121177,0.519274058058,0.519355990166,0.5194379175,0.519519840059,0.519601757843,0.519683670851,0.519765579082,0.519847482536,0.519929381211,0.520011275108,0.520093164224,0.52017504856,0.520256928114,0.520338802887,0.520420672876,0.520502538082,0.520584398504,0.52066625414,0.520748104991,0.520829951055,0.520911792332,0.52099362882,0.52107546052,0.52115728743,0.52123910955,0.521320926879,0.521402739415,0.521484547159,0.52156635011,0.521648148267,0.521729941629,0.521811730195,0.521893513965,0.521975292937,0.522057067112,0.522138836488,0.522220601065,0.522302360841,0.522384115817,0.522465865991,0.522547611363,0.522629351931,0.522711087696,0.522792818656,0.52287454481,0.522956266159,0.5230379827,0.523119694434,0.523201401359,0.523283103476,0.523364800782,0.523446493278,0.523528180962,0.523609863834,0.523691541893,0.523773215139,0.52385488357,0.523936547186,0.524018205986,0.52409985997,0.524181509136,0.524263153484,0.524344793013,0.524426427722,0.524508057611,0.524589682678,0.524671302924,0.524752918347,0.524834528947,0.524916134723,0.524997735673,0.525079331798,0.525160923097,0.525242509568,0.525324091212,0.525405668026,0.525487240012,0.525568807167,0.525650369491,0.525731926984,0.525813479644,0.525895027471,0.525976570464,0.526058108623,0.526139641946,0.526221170433,0.526302694083,0.526384212895,0.526465726869,0.526547236004,0.526628740298,0.526710239753,0.526791734365,0.526873224136,0.526954709064,0.527036189148,0.527117664387,0.527199134782,0.52728060033,0.527362061032,0.527443516887,0.527524967893,0.527606414051,0.527687855359,0.527769291816,0.527850723423,0.527932150177,0.528013572079,0.528094989127,0.528176401321,0.528257808661,0.528339211145,0.528420608772,0.528502001542,0.528583389455,0.528664772508,0.528746150703,0.528827524037,0.52890889251,0.528990256122,0.529071614872,0.529152968758,0.52923431778,0.529315661938,0.52939700123,0.529478335657,0.529559665216,0.529640989908,0.529722309732,0.529803624686,0.529884934771,0.529966239985,0.530047540328,0.530128835798,0.530210126396,0.53029141212,0.53037269297,0.530453968945,0.530535240044,0.530616506266,0.530697767612,0.530779024079,0.530860275667,0.530941522376,0.531022764204,0.531104001151,0.531185233217,0.5312664604,0.5313476827,0.531428900115,0.531510112646,0.531591320292,0.531672523051,0.531753720923,0.531834913907,0.531916102003,0.531997285209,0.532078463526,0.532159636952,0.532240805486,0.532321969128,0.532403127877,0.532484281733,0.532565430693,0.532646574759,0.532727713929,0.532808848202,0.532889977577,0.532971102054,0.533052221633,0.533133336311,0.533214446089,0.533295550966,0.533376650941,0.533457746014,0.533538836183,0.533619921447,0.533701001807,0.533782077261,0.533863147809,0.53394421345,0.534025274182,0.534106330006,0.534187380921,0.534268426926,0.534349468019,0.534430504201,0.534511535471,0.534592561827,0.53467358327,0.534754599798,0.534835611411,0.534916618107,0.534997619887,0.535078616749,0.535159608693,0.535240595718,0.535321577823,0.535402555007,0.53548352727,0.535564494611,0.53564545703,0.535726414524,0.535807367095,0.53588831474,0.53596925746,0.536050195253,0.536131128119,0.536212056057,0.536292979066,0.536373897146,0.536454810295,0.536535718513,0.5366166218,0.536697520154,0.536778413575,0.536859302062,0.536940185615,0.537021064232,0.537101937913,0.537182806656,0.537263670463,0.53734452933,0.537425383259,0.537506232248,0.537587076296,0.537667915402,0.537748749567,0.537829578789,0.537910403067,0.5379912224,0.538072036789,0.538152846232,0.538233650728,0.538314450277,0.538395244877,0.538476034529,0.538556819232,0.538637598984,0.538718373785,0.538799143634,0.538879908531,0.538960668474,0.539041423464,0.539122173499,0.539202918578,0.539283658701,0.539364393867,0.539445124075,0.539525849325,0.539606569616,0.539687284946,0.539767995316,0.539848700725,0.539929401171,0.540010096655,0.540090787174,0.54017147273,0.54025215332,0.540332828945,0.540413499602,0.540494165293,0.540574826015,0.540655481768,0.540736132552,0.540816778366,0.540897419208,0.540978055079,0.541058685977,0.541139311902,0.541219932853,0.541300548828,0.541381159829,0.541461765853,0.5415423669,0.54162296297,0.541703554061,0.541784140172,0.541864721304,0.541945297455,0.542025868625,0.542106434812,0.542186996017,0.542267552238,0.542348103474,0.542428649726,0.542509190991,0.54258972727,0.542670258561,0.542750784865,0.542831306179,0.542911822504,0.542992333838,0.543072840182,0.543153341534,0.543233837893,0.543314329258,0.54339481563,0.543475297007,0.543555773389,0.543636244774,0.543716711162,0.543797172553,0.543877628945,0.543958080338,0.544038526731,0.544118968123,0.544199404514,0.544279835903,0.544360262288,0.544440683671,0.544521100048,0.544601511421,0.544681917788,0.544762319148,0.544842715501,0.544923106845,0.545003493181,0.545083874508,0.545164250824,0.545244622129,0.545324988422,0.545405349703,0.54548570597,0.545566057224,0.545646403463,0.545726744686,0.545807080893,0.545887412083,0.545967738256,0.54604805941,0.546128375545,0.54620868666,0.546288992754,0.546369293827,0.546449589878,0.546529880906,0.546610166911,0.546690447891,0.546770723846,0.546850994775,0.546931260678,0.547011521554,0.547091777401,0.54717202822,0.547252274009,0.547332514768,0.547412750496,0.547492981193,0.547573206857,0.547653427487,0.547733643084,0.547813853646,0.547894059173,0.547974259664,0.548054455118,0.548134645534,0.548214830912,0.54829501125,0.548375186549,0.548455356808,0.548535522025,0.5486156822,0.548695837333,0.548775987421,0.548856132466,0.548936272466,0.54901640742,0.549096537327,0.549176662188,0.549256782,0.549336896764,0.549417006478,0.549497111143,0.549577210756,0.549657305318,0.549737394827,0.549817479284,0.549897558687,0.549977633035,0.550057702327,0.550137766564,0.550217825744,0.550297879867,0.550377928931,0.550457972937,0.550538011882,0.550618045768,0.550698074592,0.550778098354,0.550858117053,0.55093813069,0.551018139262,0.551098142769,0.551178141211,0.551258134586,0.551338122894,0.551418106135,0.551498084307,0.55157805741,0.551658025443,0.551737988405,0.551817946295,0.551897899114,0.551977846859,0.552057789531,0.552137727129,0.552217659651,0.552297587097,0.552377509467,0.55245742676,0.552537338974,0.55261724611,0.552697148166,0.552777045142,0.552856937036,0.552936823849,0.55301670558,0.553096582227,0.553176453791,0.55325632027,0.553336181663,0.55341603797,0.55349588919,0.553575735323,0.553655576367,0.553735412323,0.553815243188,0.553895068963,0.553974889647,0.554054705238,0.554134515737,0.554214321142,0.554294121454,0.55437391667,0.55445370679,0.554533491814,0.554613271741,0.55469304657,0.554772816301,0.554852580932,0.554932340463,0.555012094893,0.555091844222,0.555171588448,0.555251327571,0.555331061591,0.555410790506,0.555490514316,0.55557023302,0.555649946617,0.555729655107,0.555809358488,0.555889056761,0.555968749924,0.556048437977,0.556128120919,0.556207798749,0.556287471466,0.55636713907,0.55644680156,0.556526458936,0.556606111196,0.556685758339,0.556765400366,0.556845037275,0.556924669066,0.557004295737,0.557083917289,0.55716353372,0.55724314503,0.557322751218,0.557402352283,0.557481948224,0.557561539041,0.557641124733,0.5577207053,0.55780028074,0.557879851053,0.557959416237,0.558038976294,0.558118531221,0.558198081017,0.558277625683,0.558357165218,0.55843669962,0.558516228889,0.558595753024,0.558675272025,0.55875478589,0.55883429462,0.558913798213,0.558993296668,0.559072789986,0.559152278164,0.559231761203,0.559311239102,0.559390711859,0.559470179475,0.559549641948,0.559629099278,0.559708551464,0.559787998505,0.559867440401,0.55994687715,0.560026308753,0.560105735208,0.560185156514,0.560264572672,0.56034398368,0.560423389537,0.560502790242,0.560582185796,0.560661576197,0.560740961445,0.560820341538,0.560899716477,0.560979086259,0.561058450886,0.561137810355,0.561217164666,0.561296513819,0.561375857813,0.561455196646,0.561534530319,0.56161385883,0.561693182179,0.561772500365,0.561851813387,0.561931121245,0.562010423937,0.562089721464,0.562169013824,0.562248301017,0.562327583042,0.562406859898,0.562486131584,0.562565398101,0.562644659446,0.562723915619,0.56280316662,0.562882412448,0.562961653102,0.563040888582,0.563120118886,0.563199344014,0.563278563965,0.563357778739,0.563436988334,0.56351619275,0.563595391987,0.563674586043,0.563753774918,0.563832958611,0.563912137122,0.563991310449,0.564070478592,0.56414964155,0.564228799323,0.564307951909,0.564387099309,0.564466241521,0.564545378544,0.564624510378,0.564703637022,0.564782758476,0.564861874738,0.564940985808,0.565020091685,0.565099192369,0.565178287858,0.565257378153,0.565336463251,0.565415543154,0.565494617859,0.565573687366,0.565652751674,0.565731810784,0.565810864693,0.565889913401,0.565968956908,0.566047995212,0.566127028314,0.566206056212,0.566285078905,0.566364096393,0.566443108675,0.566522115751,0.566601117619,0.56668011428,0.566759105731,0.566838091973,0.566917073004,0.566996048825,0.567075019434,0.567153984831,0.567232945014,0.567311899983,0.567390849738,0.567469794278,0.567548733601,0.567627667708,0.567706596597,0.567785520268,0.56786443872,0.567943351952,0.568022259964,0.568101162755,0.568180060324,0.56825895267,0.568337839793,0.568416721692,0.568495598366,0.568574469815,0.568653336037,0.568732197033,0.568811052801,0.56888990334,0.568968748651,0.569047588731,0.569126423581,0.5692052532,0.569284077586,0.56936289674,0.569441710661,0.569520519347,0.569599322798,0.569678121014,0.569756913993,0.569835701736,0.56991448424,0.569993261506,0.570072033533,0.570150800319,0.570229561865,0.57030831817,0.570387069232,0.570465815052,0.570544555628,0.57062329096,0.570702021046,0.570780745887,0.570859465481,0.570938179828,0.571016888928,0.571095592778,0.571174291379,0.57125298473,0.57133167283,0.571410355679,0.571489033275,0.571567705618,0.571646372708,0.571725034543,0.571803691123,0.571882342447,0.571960988515,0.572039629325,0.572118264877,0.57219689517,0.572275520204,0.572354139977,0.57243275449,0.572511363741,0.572589967729,0.572668566454,0.572747159916,0.572825748113,0.572904331045,0.57298290871,0.573061481109,0.57314004824,0.573218610104,0.573297166698,0.573375718023,0.573454264077,0.57353280486,0.573611340372,0.573689870611,0.573768395577,0.573846915269,0.573925429686,0.574003938827,0.574082442693,0.574160941282,0.574239434593,0.574317922626,0.57439640538,0.574474882854,0.574553355048,0.57463182196,0.574710283591,0.574788739939,0.574867191004,0.574945636784,0.57502407728,0.575102512491,0.575180942415,0.575259367052,0.575337786402,0.575416200463,0.575494609235,0.575573012717,0.575651410909,0.575729803809,0.575808191418,0.575886573734,0.575964950756,0.576043322484,0.576121688917,0.576200050055,0.576278405897,0.576356756441,0.576435101688,0.576513441636,0.576591776285,0.576670105634,0.576748429682,0.57682674843,0.576905061875,0.576983370017,0.577061672856,0.57713997039,0.57721826262,0.577296549544,0.577374831161,0.577453107472,0.577531378474,0.577609644168,0.577687904553,0.577766159628,0.577844409392,0.577922653845,0.578000892985,0.578079126813,0.578157355327,0.578235578527,0.578313796412,0.578392008981,0.578470216233,0.578548418169,0.578626614786,0.578704806085,0.578782992065,0.578861172724,0.578939348063,0.57901751808,0.579095682775,0.579173842148,0.579251996196,0.57933014492,0.579408288319,0.579486426393,0.579564559139,0.579642686559,0.579720808651,0.579798925413,0.579877036847,0.57995514295,0.580033243723,0.580111339164,0.580189429273,0.580267514049,0.580345593491,0.580423667598,0.580501736371,0.580579799808,0.580657857908,0.580735910671,0.580813958096,0.580892000182,0.580970036929,0.581048068335,0.581126094401,0.581204115125,0.581282130507,0.581360140546,0.581438145241,0.581516144591,0.581594138597,0.581672127256,0.581750110569,0.581828088535,0.581906061153,0.581984028421,0.582061990341,0.58213994691,0.582217898128,0.582295843995,0.582373784509,0.58245171967,0.582529649478,0.582607573931,0.582685493029,0.582763406771,0.582841315156,0.582919218184,0.582997115853,0.583075008164,0.583152895116,0.583230776707,0.583308652938,0.583386523806,0.583464389313,0.583542249456,0.583620104236,0.583697953651,0.5837757977,0.583853636384,0.583931469701,0.584009297651,0.584087120233,0.584164937446,0.584242749289,0.584320555762,0.584398356864,0.584476152595,0.584553942953,0.584631727938,0.584709507549,0.584787281786,0.584865050648,0.584942814133,0.585020572242,0.585098324973,0.585176072327,0.585253814301,0.585331550896,0.585409282111,0.585487007945,0.585564728397,0.585642443467,0.585720153154,0.585797857456,0.585875556375,0.585953249908,0.586030938055,0.586108620815,0.586186298189,0.586263970174,0.58634163677,0.586419297976,0.586496953793,0.586574604218,0.586652249252,0.586729888893,0.586807523142,0.586885151996,0.586962775456,0.587040393521,0.58711800619,0.587195613462,0.587273215337,0.587350811813,0.587428402891,0.587505988569,0.587583568848,0.587661143725,0.5877387132,0.587816277273,0.587893835943,0.58797138921,0.588048937072,0.588126479528,0.588204016579,0.588281548223,0.588359074459,0.588436595288,0.588514110708,0.588591620718,0.588669125318,0.588746624507,0.588824118285,0.58890160665,0.588979089602,0.58905656714,0.589134039264,0.589211505973,0.589288967265,0.589366423141,0.5894438736,0.589521318641,0.589598758263,0.589676192466,0.589753621248,0.589831044609,0.589908462549,0.589985875067,0.590063282161,0.590140683832,0.590218080079,0.5902954709,0.590372856295,0.590450236264,0.590527610805,0.590604979919,0.590682343604,0.590759701859,0.590837054684,0.590914402078,0.590991744041,0.591069080572,0.591146411669,0.591223737333,0.591301057562,0.591378372357,0.591455681715,0.591532985637,0.591610284122,0.591687577169,0.591764864777,0.591842146946,0.591919423674,0.591996694962,0.592073960808,0.592151221212,0.592228476174,0.592305725691,0.592382969764,0.592460208393,0.592537441575,0.592614669311,0.5926918916,0.59276910844,0.592846319833,0.592923525776,0.593000726268,0.593077921311,0.593155110901,0.59323229504,0.593309473725,0.593386646958,0.593463814735,0.593540977058,0.593618133925,0.593695285336,0.59377243129,0.593849571785,0.593926706823,0.594003836401,0.594080960519,0.594158079176,0.594235192372,0.594312300106,0.594389402377,0.594466499185,0.594543590528,0.594620676407,0.594697756819,0.594774831766,0.594851901245,0.594928965257,0.5950060238,0.595083076875,0.595160124479,0.595237166612,0.595314203275,0.595391234465,0.595468260183,0.595545280427,0.595622295197,0.595699304492,0.595776308312,0.595853306656,0.595930299522,0.596007286911,0.596084268822,0.596161245253,0.596238216205,0.596315181676,0.596392141666,0.596469096174,0.596546045199,0.596622988741,0.596699926799,0.596776859373,0.59685378646,0.596930708062,0.597007624177,0.597084534804,0.597161439943,0.597238339593,0.597315233754,0.597392122424,0.597469005603,0.59754588329,0.597622755484,0.597699622186,0.597776483393,0.597853339106,0.597930189323,0.598007034045,0.598083873269,0.598160706996,0.598237535225,0.598314357955,0.598391175186,0.598467986916,0.598544793146,0.598621593873,0.598698389098,0.59877517882,0.598851963039,0.598928741752,0.599005514961,0.599082282664,0.59915904486,0.599235801548,0.599312552729,0.599389298401,0.599466038563,0.599542773215,0.599619502356,0.599696225986,0.599772944104,0.599849656708,0.599926363799,0.600003065375,0.600079761437,0.600156451982,0.600233137011,0.600309816523,0.600386490517,0.600463158992,0.600539821948,0.600616479384,0.600693131299,0.600769777693,0.600846418564,0.600923053913,0.600999683738,0.601076308039,0.601152926815,0.601229540065,0.601306147789,0.601382749986,0.601459346655,0.601535937795,0.601612523407,0.601689103488,0.601765678039,0.601842247059,0.601918810546,0.601995368501,0.602071920922,0.60214846781,0.602225009162,0.602301544979,0.60237807526,0.602454600004,0.60253111921,0.602607632878,0.602684141007,0.602760643596,0.602837140644,0.602913632152,0.602990118117,0.60306659854,0.60314307342,0.603219542756,0.603296006547,0.603372464793,0.603448917493,0.603525364646,0.603601806251,0.603678242308,0.603754672817,0.603831097776,0.603907517184,0.603983931042,0.604060339348,0.604136742101,0.604213139302,0.604289530948,0.60436591704,0.604442297577,0.604518672558,0.604595041983,0.60467140585,0.604747764159,0.604824116909,0.6049004641,0.604976805731,0.605053141801,0.605129472309,0.605205797255,0.605282116639,0.605358430459,0.605434738714,0.605511041404,0.605587338529,0.605663630087,0.605739916078,0.605816196502,0.605892471356,0.605968740642,0.606045004357,0.606121262502,0.606197515076,0.606273762077,0.606350003506,0.606426239361,0.606502469643,0.606578694349,0.60665491348,0.606731127035,0.606807335012,0.606883537412,0.606959734234,0.607035925476,0.607112111139,0.607188291222,0.607264465723,0.607340634643,0.607416797979,0.607492955733,0.607569107903,0.607645254488,0.607721395488,0.607797530901,0.607873660728,0.607949784968,0.608025903619,0.608102016682,0.608178124155,0.608254226037,0.608330322329,0.608406413029,0.608482498137,0.608558577652,0.608634651573,0.608710719899,0.608786782631,0.608862839766,0.608938891305,0.609014937247,0.609090977591,0.609167012336,0.609243041482,0.609319065028,0.609395082973,0.609471095317,0.609547102059,0.609623103198,0.609699098733,0.609775088664,0.60985107299,0.60992705171,0.610003024825,0.610078992332,0.610154954231,0.610230910522,0.610306861204,0.610382806276,0.610458745738,0.610534679588,0.610610607827,0.610686530453,0.610762447465,0.610838358864,0.610914264648,0.610990164816,0.611066059369,0.611141948304,0.611217831622,0.611293709322,0.611369581403,0.611445447865,0.611521308706,0.611597163926,0.611673013525,0.611748857501,0.611824695854,0.611900528584,0.611976355689,0.612052177169,0.612127993022,0.61220380325,0.61227960785,0.612355406822,0.612431200166,0.61250698788,0.612582769964,0.612658546417,0.61273431724,0.612810082429,0.612885841986,0.61296159591,0.613037344199,0.613113086854,0.613188823873,0.613264555255,0.613340281001,0.613416001109,0.613491715578,0.613567424408,0.613643127599,0.613718825149,0.613794517058,0.613870203325,0.61394588395,0.614021558931,0.614097228268,0.614172891961,0.614248550008,0.61432420241,0.614399849164,0.614475490271,0.61455112573,0.61462675554,0.614702379701,0.614777998211,0.614853611071,0.614929218279,0.615004819834,0.615080415737,0.615156005986,0.615231590581,0.61530716952,0.615382742804,0.615458310431,0.615533872401,0.615609428713,0.615684979367,0.615760524361,0.615836063696,0.61591159737,0.615987125382,0.616062647733,0.616138164421,0.616213675445,0.616289180805,0.616364680501,0.616440174531,0.616515662895,0.616591145592,0.616666622621,0.616742093982,0.616817559674,0.616893019697,0.616968474049,0.61704392273,0.617119365739,0.617194803076,0.61727023474,0.61734566073,0.617421081045,0.617496495686,0.61757190465,0.617647307938,0.617722705548,0.617798097481,0.617873483735,0.617948864309,0.618024239204,0.618099608417,0.61817497195,0.6182503298,0.618325681967,0.618401028451,0.61847636925,0.618551704365,0.618627033794,0.618702357537,0.618777675593,0.618852987961,0.618928294641,0.619003595631,0.619078890932,0.619154180543,0.619229464462,0.61930474269,0.619380015225,0.619455282067,0.619530543215,0.619605798668,0.619681048426,0.619756292488,0.619831530854,0.619906763522,0.619981990492,0.620057211763,0.620132427335,0.620207637207,0.620282841378,0.620358039847,0.620433232614,0.620508419679,0.620583601039,0.620658776696,0.620733946647,0.620809110893,0.620884269433,0.620959422265,0.62103456939,0.621109710806,0.621184846514,0.621259976511,0.621335100798,0.621410219374,0.621485332238,0.621560439389,0.621635540827,0.621710636551,0.621785726561,0.621860810855,0.621935889433,0.622010962295,0.622086029439,0.622161090865,0.622236146572,0.62231119656,0.622386240827,0.622461279374,0.622536312199,0.622611339302,0.622686360683,0.622761376339,0.622836386271,0.622911390479,0.62298638896,0.623061381715,0.623136368744,0.623211350044,0.623286325616,0.623361295459,0.623436259572,0.623511217955,0.623586170606,0.623661117526,0.623736058713,0.623810994166,0.623885923886,0.623960847871,0.624035766121,0.624110678635,0.624185585412,0.624260486452,0.624335381754,0.624410271317,0.62448515514,0.624560033224,0.624634905566,0.624709772168,0.624784633026,0.624859488142,0.624934337515,0.625009181143,0.625084019026,0.625158851164,0.625233677555,0.625308498199,0.625383313096,0.625458122244,0.625532925643,0.625607723292,0.625682515191,0.625757301339,0.625832081735,0.625906856378,0.625981625268,0.626056388404,0.626131145786,0.626205897412,0.626280643283,0.626355383397,0.626430117753,0.626504846352,0.626579569192,0.626654286272,0.626728997592,0.626803703152,0.62687840295,0.626953096986,0.627027785259,0.627102467769,0.627177144515,0.627251815495,0.62732648071,0.627401140159,0.627475793841,0.627550441755,0.627625083901,0.627699720278,0.627774350885,0.627848975722,0.627923594788,0.627998208082,0.628072815604,0.628147417352,0.628222013327,0.628296603527,0.628371187953,0.628445766602,0.628520339475,0.62859490657,0.628669467888,0.628744023427,0.628818573186,0.628893117166,0.628967655365,0.629042187783,0.629116714419,0.629191235272,0.629265750341,0.629340259627,0.629414763128,0.629489260843,0.629563752772,0.629638238915,0.62971271927,0.629787193837,0.629861662614,0.629936125603,0.630010582801,0.630085034208,0.630159479824,0.630233919647,0.630308353677,0.630382781914,0.630457204356,0.630531621003,0.630606031855,0.63068043691,0.630754836168,0.630829229628,0.63090361729,0.630977999153,0.631052375216,0.631126745478,0.63120110994,0.631275468599,0.631349821456,0.631424168509,0.631498509759,0.631572845204,0.631647174844,0.631721498678,0.631795816705,0.631870128925,0.631944435337,0.63201873594,0.632093030734,0.632167319717,0.63224160289,0.632315880252,0.632390151801,0.632464417538,0.632538677461,0.63261293157,0.632687179864,0.632761422343,0.632835659005,0.632909889851,0.632984114878,0.633058334088,0.633132547479,0.63320675505,0.633280956801,0.633355152731,0.633429342839,0.633503527125,0.633577705588,0.633651878227,0.633726045041,0.633800206031,0.633874361195,0.633948510532,0.634022654043,0.634096791725,0.634170923579,0.634245049604,0.634319169799,0.634393284164,0.634467392697,0.634541495398,0.634615592267,0.634689683303,0.634763768504,0.634837847872,0.634911921403,0.634985989099,0.635060050958,0.63513410698,0.635208157164,0.635282201509,0.635356240015,0.63543027268,0.635504299505,0.635578320489,0.63565233563,0.635726344929,0.635800348384,0.635874345995,0.635948337761,0.636022323682,0.636096303756,0.636170277984,0.636244246364,0.636318208896,0.636392165579,0.636466116412,0.636540061395,0.636614000527,0.636687933808,0.636761861236,0.636835782812,0.636909698533,0.636983608401,0.637057512413,0.637131410569,0.63720530287,0.637279189313,0.637353069898,0.637426944625,0.637500813493,0.637574676501,0.637648533649,0.637722384936,0.63779623036,0.637870069923,0.637943903622,0.638017731457,0.638091553428,0.638165369533,0.638239179773,0.638312984146,0.638386782652,0.63846057529,0.638534362059,0.63860814296,0.63868191799,0.638755687149,0.638829450437,0.638903207854,0.638976959397,0.639050705068,0.639124444864,0.639198178785,0.639271906831,0.639345629002,0.639419345295,0.639493055711,0.639566760249,0.639640458908,0.639714151688,0.639787838587,0.639861519606,0.639935194743,0.640008863998,0.640082527371,0.64015618486,0.640229836464,0.640303482184,0.640377122018,0.640450755966,0.640524384028,0.640598006201,0.640671622487,0.640745232883,0.64081883739,0.640892436007,0.640966028732,0.641039615566,0.641113196508,0.641186771557,0.641260340712,0.641333903973,0.641407461338,0.641481012809,0.641554558382,0.641628098059,0.641701631838,0.641775159719,0.6418486817,0.641922197782,0.641995707963,0.642069212244,0.642142710622,0.642216203098,0.642289689671,0.642363170341,0.642436645105,0.642510113965,0.642583576919,0.642657033966,0.642730485106,0.642803930339,0.642877369662,0.642950803077,0.643024230582,0.643097652176,0.643171067859,0.64324447763,0.643317881489,0.643391279434,0.643464671465,0.643538057582,0.643611437784,0.643684812069,0.643758180438,0.64383154289,0.643904899424,0.643978250039,0.644051594734,0.64412493351,0.644198266365,0.644271593299,0.644344914311,0.6444182294,0.644491538566,0.644564841807,0.644638139125,0.644711430516,0.644784715982,0.644857995521,0.644931269132,0.645004536816,0.64507779857,0.645151054395,0.645224304291,0.645297548255,0.645370786288,0.645444018389,0.645517244557,0.645590464792,0.645663679092,0.645736887458,0.645810089888,0.645883286382,0.645956476939,0.646029661559,0.646102840241,0.646176012983,0.646249179787,0.64632234065,0.646395495572,0.646468644552,0.646541787591,0.646614924687,0.646688055839,0.646761181046,0.646834300309,0.646907413627,0.646980520998,0.647053622422,0.647126717899,0.647199807427,0.647272891007,0.647345968637,0.647419040316,0.647492106045,0.647565165822,0.647638219647,0.647711267519,0.647784309437,0.647857345401,0.64793037541,0.648003399463,0.64807641756,0.6481494297,0.648222435882,0.648295436107,0.648368430372,0.648441418677,0.648514401022,0.648587377406,0.648660347829,0.648733312289,0.648806270786,0.648879223319,0.648952169888,0.649025110492,0.64909804513,0.649170973802,0.649243896507,0.649316813244,0.649389724013,0.649462628813,0.649535527643,0.649608420502,0.649681307391,0.649754188307,0.649827063252,0.649899932223,0.649972795221,0.650045652244,0.650118503292,0.650191348364,0.65026418746,0.650337020579,0.65040984772,0.650482668883,0.650555484067,0.65062829327,0.650701096494,0.650773893736,0.650846684996,0.650919470274,0.650992249569,0.65106502288,0.651137790207,0.651210551549,0.651283306905,0.651356056274,0.651428799656,0.65150153705,0.651574268456,0.651646993873,0.6517197133,0.651792426737,0.651865134182,0.651937835636,0.652010531097,0.652083220565,0.652155904039,0.652228581519,0.652301253003,0.652373918492,0.652446577984,0.65251923148,0.652591878977,0.652664520476,0.652737155975,0.652809785475,0.652882408975,0.652955026473,0.653027637969,0.653100243463,0.653172842954,0.653245436441,0.653318023923,0.6533906054,0.653463180872,0.653535750337,0.653608313795,0.653680871244,0.653753422686,0.653825968118,0.653898507541,0.653971040953,0.654043568353,0.654116089742,0.654188605119,0.654261114482,0.654333617832,0.654406115167,0.654478606487,0.654551091791,0.654623571078,0.654696044349,0.654768511601,0.654840972835,0.65491342805,0.654985877245,0.65505832042,0.655130757573,0.655203188705,0.655275613814,0.6553480329,0.655420445962,0.655492853,0.655565254012,0.655637648999,0.655710037959,0.655782420892,0.655854797797,0.655927168674,0.655999533522,0.65607189234,0.656144245127,0.656216591883,0.656288932608,0.6563612673,0.656433595958,0.656505918583,0.656578235174,0.656650545729,0.656722850249,0.656795148732,0.656867441178,0.656939727587,0.657012007956,0.657084282287,0.657156550578,0.657228812829,0.657301069038,0.657373319206,0.657445563331,0.657517801413,0.657590033451,0.657662259445,0.657734479394,0.657806693297,0.657878901154,0.657951102963,0.658023298725,0.658095488439,0.658167672103,0.658239849717,0.658312021282,0.658384186795,0.658456346256,0.658528499665,0.658600647021,0.658672788323,0.658744923571,0.658817052764,0.658889175901,0.658961292982,0.659033404006,0.659105508972,0.659177607879,0.659249700728,0.659321787517,0.659393868246,0.659465942913,0.659538011519,0.659610074063,0.659682130544,0.659754180961,0.659826225313,0.659898263601,0.659970295823,0.660042321979,0.660114342067,0.660186356089,0.660258364041,0.660330365925,0.66040236174,0.660474351484,0.660546335157,0.660618312758,0.660690284287,0.660762249744,0.660834209126,0.660906162435,0.660978109668,0.661050050826,0.661121985908,0.661193914913,0.66126583784,0.661337754689,0.661409665459,0.66148157015,0.66155346876,0.66162536129,0.661697247738,0.661769128104,0.661841002387,0.661912870587,0.661984732702,0.662056588733,0.662128438678,0.662200282537,0.662272120309,0.662343951994,0.66241577759,0.662487597098,0.662559410516,0.662631217845,0.662703019082,0.662774814228,0.662846603282,0.662918386243,0.662990163111,0.663061933885,0.663133698564,0.663205457148,0.663277209635,0.663348956026,0.66342069632,0.663492430515,0.663564158612,0.66363588061,0.663707596507,0.663779306304,0.663851009999,0.663922707593,0.663994399084,0.664066084472,0.664137763755,0.664209436934,0.664281104008,0.664352764976,0.664424419837,0.664496068591,0.664567711237,0.664639347775,0.664710978203,0.664782602522,0.66485422073,0.664925832826,0.664997438811,0.665069038684,0.665140632443,0.665212220088,0.665283801619,0.665355377035,0.665426946335,0.665498509518,0.665570066585,0.665641617533,0.665713162363,0.665784701074,0.665856233666,0.665927760136,0.665999280486,0.666070794714,0.66614230282,0.666213804803,0.666285300662,0.666356790396,0.666428274006,0.66649975149,0.666571222847,0.666642688078,0.666714147181,0.666785600156,0.666857047002,0.666928487718,0.666999922304,0.667071350759,0.667142773082,0.667214189273,0.667285599331,0.667357003256,0.667428401047,0.667499792702,0.667571178223,0.667642557607,0.667713930854,0.667785297963,0.667856658935,0.667928013768,0.667999362461,0.668070705014,0.668142041427,0.668213371698,0.668284695826,0.668356013813,0.668427325655,0.668498631354,0.668569930908,0.668641224317,0.66871251158,0.668783792696,0.668855067665,0.668926336485,0.668997599157,0.66906885568,0.669140106053,0.669211350276,0.669282588347,0.669353820266,0.669425046032,0.669496265646,0.669567479105,0.66963868641,0.66970988756,0.669781082554,0.669852271392,0.669923454072,0.669994630595,0.670065800959,0.670136965164,0.670208123209,0.670279275094,0.670350420818,0.67042156038,0.67049269378,0.670563821017,0.67063494209,0.670706056998,0.670777165742,0.67084826832,0.670919364732,0.670990454977,0.671061539054,0.671132616963,0.671203688703,0.671274754274,0.671345813674,0.671416866903,0.671487913961,0.671558954847,0.67162998956,0.671701018099,0.671772040465,0.671843056655,0.67191406667,0.671985070509,0.672056068172,0.672127059656,0.672198044963,0.672269024091,0.67233999704,0.672410963809,0.672481924397,0.672552878804,0.672623827029,0.672694769071,0.67276570493,0.672836634605,0.672907558095,0.6729784754,0.67304938652,0.673120291453,0.673191190198,0.673262082756,0.673332969125,0.673403849306,0.673474723296,0.673545591096,0.673616452705,0.673687308122,0.673758157347,0.673829000379,0.673899837217,0.673970667861,0.674041492309,0.674112310562,0.674183122619,0.674253928479,0.674324728141,0.674395521605,0.67446630887,0.674537089936,0.674607864801,0.674678633466,0.674749395929,0.674820152189,0.674890902247,0.674961646102,0.675032383752,0.675103115198,0.675173840439,0.675244559473,0.6753152723,0.675385978921,0.675456679333,0.675527373536,0.675598061531,0.675668743315,0.675739418889,0.675810088251,0.675880751402,0.67595140834,0.676022059064,0.676092703575,0.676163341872,0.676233973953,0.676304599819,0.676375219468,0.6764458329,0.676516440114,0.67658704111,0.676657635886,0.676728224443,0.67679880678,0.676869382896,0.67693995279,0.677010516462,0.677081073911,0.677151625136,0.677222170137,0.677292708913,0.677363241464,0.677433767789,0.677504287886,0.677574801756,0.677645309398,0.677715810812,0.677786305996,0.677856794949,0.677927277673,0.677997754164,0.678068224424,0.678138688451,0.678209146245,0.678279597805,0.67835004313,0.67842048222,0.678490915074,0.678561341691,0.678631762072,0.678702176214,0.678772584118,0.678842985783,0.678913381208,0.678983770393,0.679054153337,0.679124530038,0.679194900498,0.679265264714,0.679335622687,0.679405974416,0.679476319899,0.679546659137,0.679616992129,0.679687318874,0.679757639371,0.67982795362,0.679898261621,0.679968563371,0.680038858872,0.680109148122,0.68017943112,0.680249707867,0.680319978361,0.680390242601,0.680460500587,0.680530752319,0.680600997795,0.680671237016,0.68074146998,0.680811696686,0.680881917135,0.680952131326,0.681022339257,0.681092540928,0.681162736339,0.681232925489,0.681303108377,0.681373285002,0.681443455365,0.681513619464,0.681583777298,0.681653928868,0.681724074172,0.681794213209,0.68186434598,0.681934472483,0.682004592718,0.682074706685,0.682144814381,0.682214915808,0.682285010964,0.682355099848,0.682425182461,0.6824952588,0.682565328866,0.682635392659,0.682705450176,0.682775501419,0.682845546385,0.682915585075,0.682985617488,0.683055643623,0.683125663479,0.683195677056,0.683265684353,0.68333568537,0.683405680106,0.68347566856,0.683545650732,0.683615626621,0.683685596226,0.683755559547,0.683825516583,0.683895467333,0.683965411797,0.684035349975,0.684105281864,0.684175207466,0.684245126779,0.684315039802,0.684384946535,0.684454846978,0.684524741129,0.684594628988,0.684664510555,0.684734385828,0.684804254808,0.684874117492,0.684943973882,0.685013823976,0.685083667773,0.685153505273,0.685223336475,0.685293161379,0.685362979984,0.685432792289,0.685502598293,0.685572397997,0.685642191399,0.685711978499,0.685781759296,0.685851533789,0.685921301978,0.685991063863,0.686060819441,0.686130568714,0.68620031168,0.686270048339,0.686339778689,0.686409502731,0.686479220463,0.686548931886,0.686618636998,0.686688335798,0.686758028287,0.686827714463,0.686897394326,0.686967067875,0.68703673511,0.68710639603,0.687176050634,0.687245698921,0.687315340892,0.687384976545,0.687454605879,0.687524228895,0.687593845591,0.687663455967,0.687733060022,0.687802657755,0.687872249167,0.687941834255,0.68801141302,0.688080985462,0.688150551578,0.688220111369,0.688289664834,0.688359211973,0.688428752784,0.688498287267,0.688567815422,0.688637337248,0.688706852744,0.688776361909,0.688845864744,0.688915361246,0.688984851417,0.689054335254,0.689123812757,0.689193283927,0.689262748761,0.68933220726,0.689401659423,0.689471105249,0.689540544737,0.689609977887,0.689679404699,0.689748825171,0.689818239303,0.689887647095,0.689957048545,0.690026443653,0.690095832419,0.690165214841,0.69023459092,0.690303960654,0.690373324043,0.690442681086,0.690512031783,0.690581376132,0.690650714135,0.690720045788,0.690789371093,0.690858690048,0.690928002653,0.690997308908,0.69106660881,0.691135902361,0.691205189558,0.691274470403,0.691343744893,0.691413013029,0.691482274809,0.691551530233,0.691620779301,0.691690022012,0.691759258364,0.691828488358,0.691897711993,0.691966929269,0.692036140183,0.692105344737,0.692174542929,0.692243734759,0.692312920226,0.692382099329,0.692451272068,0.692520438442,0.692589598451,0.692658752093,0.692727899369,0.692797040277,0.692866174817,0.692935302989,0.693004424791,0.693073540224,0.693142649285,0.693211751976,0.693280848295,0.693349938241,0.693419021814,0.693488099013,0.693557169838,0.693626234288,0.693695292362,0.69376434406,0.693833389381,0.693902428324,0.69397146089,0.694040487076,0.694109506883,0.69417852031,0.694247527356,0.69431652802,0.694385522303,0.694454510203,0.69452349172,0.694592466853,0.694661435601,0.694730397964,0.694799353942,0.694868303532,0.694937246736,0.695006183552,0.69507511398,0.695144038019,0.695212955668,0.695281866927,0.695350771795,0.695419670271,0.695488562356,0.695557448047,0.695626327345,0.695695200249,0.695764066759,0.695832926873,0.695901780591,0.695970627913,0.696039468837,0.696108303363,0.696177131491,0.69624595322,0.69631476855,0.696383577478,0.696452380006,0.696521176132,0.696589965856,0.696658749177,0.696727526095,0.696796296608,0.696865060716,0.696933818419,0.697002569716,0.697071314607,0.69714005309,0.697208785165,0.697277510831,0.697346230088,0.697414942935,0.697483649372,0.697552349398,0.697621043012,0.697689730213,0.697758411002,0.697827085377,0.697895753337,0.697964414883,0.698033070013,0.698101718727,0.698170361024,0.698238996904,0.698307626366,0.698376249409,0.698444866033,0.698513476236,0.69858208002,0.698650677381,0.698719268322,0.698787852839,0.698856430934,0.698925002604,0.698993567851,0.699062126672,0.699130679068,0.699199225037,0.69926776458,0.699336297695,0.699404824382,0.69947334464,0.699541858469,0.699610365868,0.699678866836,0.699747361373,0.699815849477,0.69988433115,0.699952806389,0.700021275194,0.700089737565,0.700158193501,0.700226643001,0.700295086064,0.700363522691,0.70043195288,0.700500376631,0.700568793943,0.700637204816,0.700705609248,0.70077400724,0.700842398791,0.700910783899,0.700979162565,0.701047534787,0.701115900566,0.7011842599,0.701252612789,0.701320959232,0.701389299229,0.701457632779,0.701525959881,0.701594280535,0.70166259474,0.701730902496,0.701799203801,0.701867498656,0.701935787059,0.70200406901,0.702072344508,0.702140613553,0.702208876144,0.702277132281,0.702345381962,0.702413625188,0.702481861957,0.702550092269,0.702618316124,0.70268653352,0.702754744457,0.702822948935,0.702891146952,0.702959338509,0.703027523604,0.703095702237,0.703163874407,0.703232040114,0.703300199358,0.703368352136,0.703436498449,0.703504638297,0.703572771678,0.703640898592,0.703709019038,0.703777133016,0.703845240524,0.703913341564,0.703981436133,0.704049524231,0.704117605858,0.704185681012,0.704253749694,0.704321811903,0.704389867637,0.704457916897,0.704525959682,0.704593995991,0.704662025823,0.704730049179,0.704798066056,0.704866076456,0.704934080376,0.705002077817,0.705070068777,0.705138053257,0.705206031255,0.705274002771,0.705341967804,0.705409926354,0.70547787842,0.705545824001,0.705613763097,0.705681695708,0.705749621831,0.705817541468,0.705885454617,0.705953361278,0.706021261449,0.706089155131,0.706157042323,0.706224923024,0.706292797234,0.706360664951,0.706428526176,0.706496380907,0.706564229145,0.706632070888,0.706699906135,0.706767734887,0.706835557142,0.706903372901,0.706971182161,0.707038984923,0.707106781187,0.70717457095,0.707242354214,0.707310130976,0.707377901238,0.707445664997,0.707513422253,0.707581173006,0.707648917256,0.707716655,0.70778438624,0.707852110974,0.707919829201,0.707987540921,0.708055246134,0.708122944838,0.708190637033,0.708258322719,0.708326001895,0.70839367456,0.708461340713,0.708529000354,0.708596653483,0.708664300099,0.7087319402,0.708799573788,0.70886720086,0.708934821416,0.709002435456,0.709070042978,0.709137643984,0.709205238471,0.709272826439,0.709340407888,0.709407982816,0.709475551224,0.70954311311,0.709610668475,0.709678217317,0.709745759636,0.70981329543,0.709880824701,0.709948347446,0.710015863666,0.710083373359,0.710150876526,0.710218373164,0.710285863275,0.710353346857,0.71042082391,0.710488294432,0.710555758424,0.710623215884,0.710690666813,0.710758111209,0.710825549072,0.710892980401,0.710960405196,0.711027823456,0.71109523518,0.711162640368,0.711230039019,0.711297431133,0.711364816708,0.711432195745,0.711499568243,0.7115669342,0.711634293617,0.711701646493,0.711768992827,0.711836332619,0.711903665867,0.711970992572,0.712038312733,0.712105626348,0.712172933418,0.712240233942,0.71230752792,0.71237481535,0.712442096231,0.712509370565,0.712576638349,0.712643899583,0.712711154267,0.712778402399,0.71284564398,0.712912879009,0.712980107484,0.713047329406,0.713114544774,0.713181753587,0.713248955845,0.713316151547,0.713383340692,0.71345052328,0.713517699309,0.713584868781,0.713652031693,0.713719188046,0.713786337838,0.713853481069,0.713920617738,0.713987747846,0.71405487139,0.714121988372,0.714189098789,0.714256202641,0.714323299928,0.714390390649,0.714457474804,0.714524552392,0.714591623411,0.714658687863,0.714725745745,0.714792797058,0.714859841801,0.714926879972,0.714993911573,0.715060936601,0.715127955056,0.715194966939,0.715261972247,0.715328970981,0.715395963139,0.715462948722,0.715529927729,0.715596900158,0.71566386601,0.715730825284,0.715797777979,0.715864724094,0.715931663629,0.715998596584,0.716065522957,0.716132442748,0.716199355957,0.716266262583,0.716333162625,0.716400056082,0.716466942955,0.716533823242,0.716600696943,0.716667564056,0.716734424583,0.716801278521,0.716868125871,0.716934966631,0.717001800802,0.717068628381,0.71713544937,0.717202263767,0.717269071572,0.717335872784,0.717402667402,0.717469455425,0.717536236854,0.717603011688,0.717669779926,0.717736541566,0.71780329661,0.717870045056,0.717936786903,0.718003522151,0.718070250799,0.718136972847,0.718203688294,0.71827039714,0.718337099383,0.718403795023,0.718470484061,0.718537166494,0.718603842322,0.718670511545,0.718737174162,0.718803830173,0.718870479577,0.718937122373,0.71900375856,0.719070388139,0.719137011108,0.719203627467,0.719270237216,0.719336840353,0.719403436878,0.71947002679,0.719536610089,0.719603186774,0.719669756845,0.719736320301,0.719802877141,0.719869427365,0.719935970972,0.720002507961,0.720069038333,0.720135562085,0.720202079219,0.720268589732,0.720335093625,0.720401590897,0.720468081546,0.720534565574,0.720601042978,0.720667513759,0.720733977916,0.720800435448,0.720866886354,0.720933330634,0.720999768288,0.721066199315,0.721132623713,0.721199041483,0.721265452624,0.721331857135,0.721398255016,0.721464646266,0.721531030884,0.72159740887,0.721663780224,0.721730144944,0.72179650303,0.721862854481,0.721929199298,0.721995537478,0.722061869022,0.722128193929,0.722194512199,0.72226082383,0.722327128822,0.722393427175,0.722459718887,0.722526003959,0.72259228239,0.722658554179,0.722724819325,0.722791077828,0.722857329687,0.722923574902,0.722989813472,0.723056045397,0.723122270675,0.723188489307,0.723254701291,0.723320906627,0.723387105314,0.723453297353,0.723519482741,0.723585661479,0.723651833566,0.723717999001,0.723784157784,0.723850309915,0.723916455391,0.723982594214,0.724048726382,0.724114851895,0.724180970751,0.724247082951,0.724313188495,0.72437928738,0.724445379607,0.724511465175,0.724577544084,0.724643616332,0.724709681919,0.724775740846,0.72484179311,0.724907838712,0.72497387765,0.725039909925,0.725105935535,0.72517195448,0.72523796676,0.725303972373,0.72536997132,0.725435963599,0.72550194921,0.725567928152,0.725633900425,0.725699866028,0.725765824961,0.725831777223,0.725897722813,0.72596366173,0.726029593975,0.726095519546,0.726161438444,0.726227350666,0.726293256213,0.726359155084,0.726425047279,0.726490932796,0.726556811636,0.726622683798,0.72668854928,0.726754408083,0.726820260206,0.726886105648,0.726951944408,0.727017776487,0.727083601883,0.727149420595,0.727215232624,0.727281037969,0.727346836628,0.727412628602,0.72747841389,0.727544192491,0.727609964404,0.72767572963,0.727741488167,0.727807240014,0.727872985172,0.727938723639,0.728004455415,0.7280701805,0.728135898892,0.728201610591,0.728267315597,0.728333013909,0.728398705526,0.728464390448,0.728530068674,0.728595740204,0.728661405036,0.728727063171,0.728792714607,0.728858359345,0.728923997383,0.728989628721,0.729055253358,0.729120871293,0.729186482527,0.729252087059,0.729317684887,0.729383276012,0.729448860432,0.729514438147,0.729580009157,0.72964557346,0.729711131057,0.729776681947,0.729842226128,0.729907763601,0.729973294365,0.730038818419,0.730104335763,0.730169846395,0.730235350317,0.730300847526,0.730366338022,0.730431821805,0.730497298874,0.730562769228,0.730628232867,0.73069368979,0.730759139997,0.730824583487,0.73089002026,0.730955450314,0.731020873649,0.731086290265,0.731151700162,0.731217103337,0.731282499791,0.731347889524,0.731413272534,0.731478648821,0.731544018385,0.731609381224,0.731674737338,0.731740086728,0.731805429391,0.731870765327,0.731936094537,0.732001417018,0.732066732771,0.732132041795,0.73219734409,0.732262639654,0.732327928488,0.73239321059,0.73245848596,0.732523754598,0.732589016502,0.732654271672,0.732719520109,0.73278476181,0.732849996775,0.732915225005,0.732980446497,0.733045661252,0.733110869269,0.733176070548,0.733241265087,0.733306452887,0.733371633946,0.733436808264,0.733501975841,0.733567136675,0.733632290766,0.733697438115,0.733762578719,0.733827712578,0.733892839693,0.733957960061,0.734023073684,0.734088180559,0.734153280687,0.734218374066,0.734283460697,0.734348540578,0.73441361371,0.73447868009,0.73454373972,0.734608792598,0.734673838723,0.734738878096,0.734803910715,0.73486893658,0.73493395569,0.734998968044,0.735063973643,0.735128972485,0.73519396457,0.735258949898,0.735323928467,0.735388900277,0.735453865327,0.735518823618,0.735583775147,0.735648719916,0.735713657922,0.735778589166,0.735843513646,0.735908431363,0.735973342316,0.736038246504,0.736103143926,0.736168034582,0.736232918472,0.736297795594,0.736362665948,0.736427529534,0.736492386351,0.736557236398,0.736622079675,0.736686916181,0.736751745915,0.736816568877,0.736881385067,0.736946194484,0.737010997126,0.737075792994,0.737140582087,0.737205364405,0.737270139946,0.73733490871,0.737399670697,0.737464425906,0.737529174337,0.737593915988,0.737658650859,0.73772337895,0.73778810026,0.737852814788,0.737917522535,0.737982223498,0.738046917678,0.738111605074,0.738176285686,0.738240959512,0.738305626552,0.738370286807,0.738434940274,0.738499586954,0.738564226845,0.738628859948,0.738693486262,0.738758105785,0.738822718519,0.738887324461,0.738951923611,0.739016515969,0.739081101534,0.739145680306,0.739210252284,0.739274817467,0.739339375854,0.739403927446,0.739468472242,0.73953301024,0.739597541441,0.739662065843,0.739726583447,0.739791094251,0.739855598256,0.73992009546,0.739984585862,0.740049069463,0.740113546261,0.740178016257,0.740242479449,0.740306935836,0.740371385419,0.740435828197,0.740500264169,0.740564693334,0.740629115692,0.740693531242,0.740757939984,0.740822341918,0.740886737041,0.740951125355,0.741015506858,0.74107988155,0.74114424943,0.741208610497,0.741272964751,0.741337312192,0.741401652819,0.741465986631,0.741530313627,0.741594633807,0.741658947171,0.741723253718,0.741787553447,0.741851846357,0.741916132449,0.741980411721,0.742044684173,0.742108949804,0.742173208614,0.742237460602,0.742301705767,0.74236594411,0.742430175629,0.742494400323,0.742558618193,0.742622829237,0.742687033455,0.742751230847,0.742815421411,0.742879605148,0.742943782056,0.743007952135,0.743072115385,0.743136271804,0.743200421393,0.74326456415,0.743328700076,0.743392829169,0.743456951429,0.743521066855,0.743585175447,0.743649277203,0.743713372125,0.74377746021,0.743841541459,0.743905615871,0.743969683445,0.74403374418,0.744097798076,0.744161845133,0.74422588535,0.744289918725,0.74435394526,0.744417964952,0.744481977802,0.744545983809,0.744609982972,0.744673975291,0.744737960765,0.744801939394,0.744865911176,0.744929876112,0.744993834201,0.745057785441,0.745121729834,0.745185667377,0.745249598071,0.745313521914,0.745377438907,0.745441349049,0.745505252338,0.745569148775,0.745633038359,0.745696921089,0.745760796965,0.745824665986,0.745888528152,0.745952383461,0.746016231914,0.74608007351,0.746143908248,0.746207736127,0.746271557148,0.746335371309,0.74639917861,0.74646297905,0.746526772628,0.746590559345,0.746654339199,0.746718112191,0.746781878318,0.746845637581,0.74690938998,0.746973135513,0.74703687418,0.74710060598,0.747164330913,0.747228048979,0.747291760176,0.747355464504,0.747419161963,0.747482852551,0.747546536269,0.747610213115,0.74767388309,0.747737546192,0.747801202421,0.747864851777,0.747928494258,0.747992129864,0.748055758595,0.74811938045,0.748182995429,0.74824660353,0.748310204754,0.748373799099,0.748437386566,0.748500967153,0.74856454086,0.748628107686,0.748691667631,0.748755220695,0.748818766875,0.748882306173,0.748945838588,0.749009364118,0.749072882763,0.749136394523,0.749199899398,0.749263397385,0.749326888486,0.749390372699,0.749453850024,0.74951732046,0.749580784006,0.749644240663,0.749707690429,0.749771133304,0.749834569287,0.749897998378,0.749961420576,0.75002483588,0.750088244291,0.750151645806,0.750215040427,0.750278428151,0.75034180898,0.750405182911,0.750468549945,0.75053191008,0.750595263317,0.750658609655,0.750721949092,0.750785281629,0.750848607265,0.750911926,0.750975237832,0.751038542762,0.751101840788,0.75116513191,0.751228416127,0.75129169344,0.751354963846,0.751418227347,0.75148148394,0.751544733626,0.751607976404,0.751671212274,0.751734441234,0.751797663284,0.751860878424,0.751924086654,0.751987287971,0.752050482377,0.75211366987,0.752176850449,0.752240024115,0.752303190866,0.752366350702,0.752429503623,0.752492649627,0.752555788715,0.752618920886,0.752682046138,0.752745164472,0.752808275887,0.752871380382,0.752934477957,0.752997568612,0.753060652344,0.753123729155,0.753186799044,0.753249862009,0.75331291805,0.753375967167,0.75343900936,0.753502044627,0.753565072968,0.753628094382,0.753691108869,0.753754116428,0.753817117059,0.753880110761,0.753943097533,0.754006077376,0.754069050288,0.754132016268,0.754194975317,0.754257927433,0.754320872617,0.754383810866,0.754446742182,0.754509666563,0.754572584008,0.754635494518,0.754698398092,0.754761294728,0.754824184426,0.754887067187,0.754949943009,0.755012811891,0.755075673834,0.755138528836,0.755201376897,0.755264218016,0.755327052193,0.755389879427,0.755452699718,0.755515513065,0.755578319467,0.755641118924,0.755703911436,0.755766697001,0.75582947562,0.755892247291,0.755955012014,0.756017769788,0.756080520614,0.756143264489,0.756206001414,0.756268731389,0.756331454412,0.756394170483,0.756456879601,0.756519581766,0.756582276977,0.756644965234,0.756707646536,0.756770320883,0.756832988273,0.756895648707,0.756958302184,0.757020948703,0.757083588263,0.757146220865,0.757208846506,0.757271465188,0.75733407691,0.757396681669,0.757459279468,0.757521870303,0.757584454176,0.757647031085,0.75770960103,0.757772164011,0.757834720026,0.757897269075,0.757959811158,0.758022346273,0.758084874422,0.758147395602,0.758209909813,0.758272417055,0.758334917327,0.758397410629,0.75845989696,0.758522376319,0.758584848705,0.75864731412,0.75870977256,0.758772224027,0.75883466852,0.758897106037,0.758959536579,0.759021960145,0.759084376733,0.759146786345,0.759209188978,0.759271584633,0.759333973309,0.759396355006,0.759458729722,0.759521097457,0.759583458211,0.759645811984,0.759708158773,0.75977049858,0.759832831403,0.759895157241,0.759957476095,0.760019787964,0.760082092846,0.760144390742,0.760206681651,0.760268965573,0.760331242506,0.76039351245,0.760455775405,0.76051803137,0.760580280344,0.760642522328,0.760704757319,0.760766985319,0.760829206325,0.760891420339,0.760953627358,0.761015827383,0.761078020412,0.761140206446,0.761202385484,0.761264557525,0.761326722569,0.761388880615,0.761451031662,0.76151317571,0.761575312758,0.761637442806,0.761699565854,0.761761681899,0.761823790943,0.761885892985,0.761947988023,0.762010076058,0.762072157089,0.762134231114,0.762196298135,0.762258358149,0.762320411157,0.762382457158,0.762444496151,0.762506528136,0.762568553112,0.762630571078,0.762692582035,0.762754585981,0.762816582917,0.76287857284,0.762940555752,0.76300253165,0.763064500535,0.763126462407,0.763188417263,0.763250365105,0.763312305931,0.763374239741,0.763436166534,0.76349808631,0.763559999068,0.763621904807,0.763683803528,0.763745695228,0.763807579909,0.763869457569,0.763931328207,0.763993191824,0.764055048418,0.764116897989,0.764178740536,0.764240576059,0.764302404558,0.764364226031,0.764426040479,0.7644878479,0.764549648293,0.76461144166,0.764673227998,0.764735007308,0.764796779588,0.764858544838,0.764920303058,0.764982054247,0.765043798405,0.76510553553,0.765167265622,0.765228988682,0.765290704707,0.765352413699,0.765414115655,0.765475810575,0.76553749846,0.765599179308,0.765660853119,0.765722519892,0.765784179626,0.765845832322,0.765907477978,0.765969116594,0.76603074817,0.766092372704,0.766153990196,0.766215600647,0.766277204054,0.766338800418,0.766400389738,0.766461972013,0.766523547243,0.766585115427,0.766646676565,0.766708230657,0.7667697777,0.766831317696,0.766892850643,0.766954376542,0.76701589539,0.767077407188,0.767138911936,0.767200409632,0.767261900276,0.767323383868,0.767384860406,0.767446329891,0.767507792322,0.767569247698,0.767630696018,0.767692137283,0.767753571491,0.767814998642,0.767876418736,0.767937831772,0.767999237748,0.768060636666,0.768122028523,0.768183413321,0.768244791057,0.768306161731,0.768367525344,0.768428881894,0.768490231381,0.768551573804,0.768612909162,0.768674237456,0.768735558684,0.768796872846,0.768858179941,0.76891947997,0.76898077293,0.769042058822,0.769103337646,0.769164609399,0.769225874083,0.769287131697,0.769348382239,0.76940962571,0.769470862108,0.769532091433,0.769593313685,0.769654528864,0.769715736967,0.769776937996,0.769838131949,0.769899318826,0.769960498626,0.770021671348,0.770082836993,0.77014399556,0.770205147047,0.770266291455,0.770327428783,0.77038855903,0.770449682196,0.77051079828,0.770571907281,0.7706330092,0.770694104035,0.770755191786,0.770816272453,0.770877346034,0.77093841253,0.770999471939,0.771060524262,0.771121569497,0.771182607644,0.771243638702,0.771304662672,0.771365679552,0.771426689341,0.77148769204,0.771548687647,0.771609676163,0.771670657586,0.771731631916,0.771792599152,0.771853559294,0.771914512342,0.771975458294,0.77203639715,0.77209732891,0.772158253573,0.772219171139,0.772280081606,0.772340984975,0.772401881245,0.772462770415,0.772523652484,0.772584527453,0.77264539532,0.772706256086,0.772767109748,0.772827956308,0.772888795764,0.772949628116,0.773010453363,0.773071271504,0.77313208254,0.773192886469,0.773253683291,0.773314473006,0.773375255613,0.77343603111,0.773496799499,0.773557560778,0.773618314946,0.773679062003,0.773739801949,0.773800534783,0.773861260504,0.773921979112,0.773982690607,0.774043394987,0.774104092252,0.774164782402,0.774225465436,0.774286141353,0.774346810154,0.774407471836,0.774468126401,0.774528773846,0.774589414173,0.774650047379,0.774710673466,0.774771292431,0.774831904274,0.774892508996,0.774953106595,0.775013697071,0.775074280423,0.77513485665,0.775195425753,0.77525598773,0.775316542582,0.775377090306,0.775437630904,0.775498164374,0.775558690716,0.775619209929,0.775679722013,0.775740226967,0.77580072479,0.775861215483,0.775921699043,0.775982175472,0.776042644768,0.776103106931,0.77616356196,0.776224009855,0.776284450615,0.776344884239,0.776405310728,0.77646573008,0.776526142295,0.776586547372,0.776646945311,0.776707336111,0.776767719772,0.776828096293,0.776888465673,0.776948827913,0.777009183011,0.777069530967,0.77712987178,0.77719020545,0.777250531976,0.777310851358,0.777371163595,0.777431468687,0.777491766632,0.777552057431,0.777612341083,0.777672617588,0.777732886944,0.777793149151,0.777853404209,0.777913652118,0.777973892876,0.778034126482,0.778094352938,0.778154572241,0.778214784392,0.778274989389,0.778335187233,0.778395377922,0.778455561457,0.778515737836,0.778575907059,0.778636069126,0.778696224036,0.778756371788,0.778816512381,0.778876645817,0.778936772093,0.778996891209,0.779057003164,0.779117107959,0.779177205593,0.779237296064,0.779297379373,0.779357455518,0.7794175245,0.779477586318,0.779537640971,0.779597688458,0.77965772878,0.779717761935,0.779777787923,0.779837806744,0.779897818396,0.77995782288,0.780017820195,0.78007781034,0.780137793314,0.780197769118,0.78025773775,0.780317699211,0.780377653499,0.780437600613,0.780497540555,0.780557473322,0.780617398914,0.780677317331,0.780737228572,0.780797132637,0.780857029525,0.780916919235,0.780976801768,0.781036677122,0.781096545296,0.781156406291,0.781216260106,0.78127610674,0.781335946193,0.781395778464,0.781455603552,0.781515421458,0.78157523218,0.781635035718,0.781694832071,0.781754621239,0.781814403222,0.781874178018,0.781933945627,0.781993706049,0.782053459283,0.782113205328,0.782172944185,0.782232675852,0.782292400329,0.782352117615,0.78241182771,0.782471530613,0.782531226324,0.782590914842,0.782650596167,0.782710270297,0.782769937233,0.782829596975,0.78288924952,0.782948894869,0.783008533022,0.783068163977,0.783127787735,0.783187404294,0.783247013655,0.783306615816,0.783366210777,0.783425798537,0.783485379096,0.783544952454,0.78360451861,0.783664077562,0.783723629312,0.783783173858,0.783842711199,0.783902241336,0.783961764266,0.784021279991,0.78408078851,0.784140289821,0.784199783925,0.78425927082,0.784318750507,0.784378222984,0.784437688252,0.784497146309,0.784556597156,0.78461604079,0.784675477213,0.784734906423,0.78479432842,0.784853743204,0.784913150773,0.784972551128,0.785031944267,0.78509133019,0.785150708897,0.785210080387,0.78526944466,0.785328801714,0.78538815155,0.785447494167,0.785506829564,0.785566157741,0.785625478697,0.785684792432,0.785744098945,0.785803398236,0.785862690303,0.785921975148,0.785981252768,0.786040523163,0.786099786334,0.786159042279,0.786218290997,0.786277532489,0.786336766754,0.786395993791,0.786455213599,0.786514426179,0.786573631529,0.786632829648,0.786692020538,0.786751204196,0.786810380623,0.786869549817,0.786928711779,0.786987866507,0.787047014002,0.787106154262,0.787165287288,0.787224413078,0.787283531631,0.787342642949,0.787401747029,0.787460843872,0.787519933476,0.787579015842,0.787638090968,0.787697158855,0.787756219501,0.787815272907,0.787874319071,0.787933357993,0.787992389673,0.788051414109,0.788110431302,0.788169441251,0.788228443955,0.788287439414,0.788346427627,0.788405408593,0.788464382313,0.788523348786,0.78858230801,0.788641259986,0.788700204714,0.788759142191,0.788818072418,0.788876995395,0.788935911121,0.788994819595,0.789053720816,0.789112614785,0.7891715015,0.789230380962,0.789289253169,0.789348118121,0.789406975818,0.789465826258,0.789524669442,0.789583505369,0.789642334038,0.789701155449,0.789759969601,0.789818776494,0.789877576127,0.789936368499,0.789995153611,0.790053931461,0.790112702049,0.790171465375,0.790230221437,0.790288970236,0.790347711771,0.790406446041,0.790465173046,0.790523892785,0.790582605257,0.790641310463,0.790700008402,0.790758699072,0.790817382474,0.790876058607,0.790934727471,0.790993389064,0.791052043386,0.791110690438,0.791169330218,0.791227962725,0.79128658796,0.791345205921,0.791403816609,0.791462420022,0.79152101616,0.791579605023,0.791638186609,0.791696760919,0.791755327952,0.791813887707,0.791872440184,0.791930985383,0.791989523302,0.792048053941,0.7921065773,0.792165093378,0.792223602175,0.79228210369,0.792340597922,0.792399084871,0.792457564537,0.792516036918,0.792574502015,0.792632959827,0.792691410353,0.792749853593,0.792808289546,0.792866718212,0.79292513959,0.792983553679,0.793041960479,0.79310035999,0.793158752211,0.793217137142,0.793275514781,0.793333885129,0.793392248185,0.793450603948,0.793508952417,0.793567293593,0.793625627475,0.793683954062,0.793742273353,0.793800585349,0.793858890048,0.79391718745,0.793975477554,0.794033760361,0.794092035869,0.794150304078,0.794208564987,0.794266818596,0.794325064904,0.794383303911,0.794441535616,0.794499760019,0.794557977119,0.794616186915,0.794674389408,0.794732584596,0.794790772479,0.794848953057,0.794907126328,0.794965292293,0.795023450951,0.795081602301,0.795139746343,0.795197883076,0.7952560125,0.795314134613,0.795372249417,0.79543035691,0.795488457091,0.79554654996,0.795604635517,0.795662713761,0.795720784691,0.795778848307,0.795836904609,0.795894953595,0.795952995266,0.79601102962,0.796069056658,0.796127076378,0.796185088781,0.796243093865,0.79630109163,0.796359082076,0.796417065202,0.796475041008,0.796533009492,0.796590970655,0.796648924495,0.796706871013,0.796764810208,0.79682274208,0.796880666627,0.796938583849,0.796996493746,0.797054396317,0.797112291562,0.79717017948,0.79722806007,0.797285933333,0.797343799267,0.797401657872,0.797459509147,0.797517353093,0.797575189708,0.797633018991,0.797690840943,0.797748655563,0.79780646285,0.797864262804,0.797922055424,0.79797984071,0.798037618661,0.798095389276,0.798153152556,0.798210908499,0.798268657105,0.798326398373,0.798384132304,0.798441858896,0.798499578149,0.798557290062,0.798614994635,0.798672691867,0.798730381758,0.798788064308,0.798845739515,0.798903407379,0.7989610679,0.799018721077,0.799076366909,0.799134005397,0.799191636539,0.799249260335,0.799306876785,0.799364485888,0.799422087643,0.79947968205,0.799537269108,0.799594848817,0.799652421176,0.799709986186,0.799767543844,0.799825094151,0.799882637106,0.799940172709,0.799997700959,0.800055221856,0.800112735399,0.800170241587,0.80022774042,0.800285231898,0.80034271602,0.800400192785,0.800457662193,0.800515124243,0.800572578935,0.800630026269,0.800687466243,0.800744898857,0.800802324112,0.800859742005,0.800917152537,0.800974555708,0.801031951515,0.80108933996,0.801146721042,0.80120409476,0.801261461113,0.801318820101,0.801376171723,0.80143351598,0.801490852869,0.801548182392,0.801605504547,0.801662819334,0.801720126752,0.801777426801,0.80183471948,0.801892004789,0.801949282727,0.802006553293,0.802063816488,0.802121072311,0.80217832076,0.802235561836,0.802292795538,0.802350021866,0.802407240818,0.802464452395,0.802521656596,0.80257885342,0.802636042867,0.802693224937,0.802750399628,0.802807566941,0.802864726874,0.802921879428,0.802979024601,0.803036162393,0.803093292804,0.803150415834,0.803207531481,0.803264639745,0.803321740625,0.803378834122,0.803435920234,0.803492998961,0.803550070303,0.803607134258,0.803664190827,0.803721240009,0.803778281803,0.803835316209,0.803892343226,0.803949362854,0.804006375093,0.804063379941,0.804120377398,0.804177367464,0.804234350139,0.80429132542,0.804348293309,0.804405253805,0.804462206907,0.804519152614,0.804576090926,0.804633021843,0.804689945364,0.804746861488,0.804803770215,0.804860671545,0.804917565476,0.804974452009,0.805031331143,0.805088202877,0.805145067211,0.805201924144,0.805258773676,0.805315615806,0.805372450534,0.805429277859,0.80548609778,0.805542910298,0.805599715412,0.80565651312,0.805713303423,0.805770086321,0.805826861811,0.805883629895,0.805940390571,0.805997143839,0.806053889699,0.80611062815,0.806167359191,0.806224082821,0.806280799042,0.806337507851,0.806394209248,0.806450903233,0.806507589806,0.806564268965,0.80662094071,0.806677605041,0.806734261958,0.806790911459,0.806847553544,0.806904188213,0.806960815464,0.807017435299,0.807074047716,0.807130652714,0.807187250293,0.807243840452,0.807300423192,0.807356998511,0.807413566409,0.807470126886,0.80752667994,0.807583225572,0.80763976378,0.807696294565,0.807752817926,0.807809333862,0.807865842373,0.807922343458,0.807978837117,0.80803532335,0.808091802154,0.808148273531,0.80820473748,0.808261194,0.808317643091,0.808374084751,0.808430518982,0.808486945781,0.808543365149,0.808599777085,0.808656181588,0.808712578659,0.808768968296,0.808825350499,0.808881725267,0.8089380926,0.808994452498,0.80905080496,0.809107149985,0.809163487572,0.809219817723,0.809276140435,0.809332455708,0.809388763542,0.809445063937,0.809501356891,0.809557642404,0.809613920476,0.809670191106,0.809726454294,0.80978271004,0.809838958341,0.809895199199,0.809951432613,0.810007658582,0.810063877105,0.810120088182,0.810176291813,0.810232487997,0.810288676733,0.810344858022,0.810401031862,0.810457198253,0.810513357194,0.810569508685,0.810625652726,0.810681789315,0.810737918453,0.810794040139,0.810850154372,0.810906261152,0.810962360479,0.811018452351,0.811074536768,0.811130613731,0.811186683237,0.811242745287,0.811298799881,0.811354847017,0.811410886695,0.811466918916,0.811522943677,0.811578960979,0.811634970821,0.811690973202,0.811746968123,0.811802955583,0.81185893558,0.811914908115,0.811970873187,0.812026830796,0.81208278094,0.81213872362,0.812194658836,0.812250586585,0.812306506869,0.812362419686,0.812418325036,0.812474222918,0.812530113333,0.812585996278,0.812641871755,0.812697739762,0.812753600299,0.812809453365,0.81286529896,0.812921137083,0.812976967734,0.813032790913,0.813088606618,0.813144414849,0.813200215606,0.813256008889,0.813311794696,0.813367573027,0.813423343883,0.813479107261,0.813534863162,0.813590611585,0.81364635253,0.813702085995,0.813757811982,0.813813530489,0.813869241515,0.81392494506,0.813980641124,0.814036329706,0.814092010805,0.814147684422,0.814203350555,0.814259009204,0.814314660369,0.814370304048,0.814425940242,0.81448156895,0.814537190172,0.814592803906,0.814648410153,0.814704008912,0.814759600182,0.814815183964,0.814870760255,0.814926329057,0.814981890367,0.815037444187,0.815092990515,0.815148529351,0.815204060694,0.815259584544,0.8153151009,0.815370609762,0.81542611113,0.815481605002,0.815537091378,0.815592570259,0.815648041642,0.815703505528,0.815758961917,0.815814410807,0.815869852198,0.81592528609,0.815980712482,0.816036131374,0.816091542765,0.816146946655,0.816202343043,0.816257731928,0.816313113311,0.81636848719,0.816423853566,0.816479212437,0.816534563803,0.816589907664,0.816645244018,0.816700572867,0.816755894208,0.816811208042,0.816866514368,0.816921813186,0.816977104494,0.817032388294,0.817087664583,0.817142933361,0.817198194629,0.817253448385,0.817308694629,0.817363933361,0.817419164579,0.817474388284,0.817529604475,0.817584813152,0.817640014313,0.817695207959,0.817750394088,0.817805572701,0.817860743797,0.817915907376,0.817971063436,0.818026211978,0.818081353,0.818136486503,0.818191612486,0.818246730948,0.818301841889,0.818356945309,0.818412041206,0.81846712958,0.818522210432,0.818577283759,0.818632349563,0.818687407842,0.818742458595,0.818797501823,0.818852537525,0.8189075657,0.818962586347,0.819017599467,0.819072605059,0.819127603122,0.819182593656,0.81923757666,0.819292552134,0.819347520077,0.819402480489,0.819457433369,0.819512378716,0.819567316531,0.819622246813,0.819677169561,0.819732084774,0.819786992453,0.819841892596,0.819896785204,0.819951670275,0.82000654781,0.820061417807,0.820116280266,0.820171135187,0.820225982569,0.820280822412,0.820335654715,0.820390479478,0.8204452967,0.82050010638,0.820554908519,0.820609703115,0.820664490168,0.820719269678,0.820774041644,0.820828806066,0.820883562943,0.820938312274,0.82099305406,0.821047788299,0.821102514991,0.821157234136,0.821211945733,0.821266649781,0.821321346281,0.821376035231,0.821430716632,0.821485390482,0.821540056781,0.821594715528,0.821649366724,0.821704010367,0.821758646457,0.821813274994,0.821867895977,0.821922509406,0.821977115279,0.822031713597,0.82208630436,0.822140887565,0.822195463214,0.822250031306,0.822304591839,0.822359144814,0.82241369023,0.822468228087,0.822522758383,0.822577281119,0.822631796295,0.822686303908,0.82274080396,0.822795296449,0.822849781376,0.822904258739,0.822958728538,0.823013190772,0.823067645442,0.823122092546,0.823176532084,0.823230964056,0.82328538846,0.823339805298,0.823394214567,0.823448616268,0.8235030104,0.823557396962,0.823611775954,0.823666147376,0.823720511227,0.823774867507,0.823829216215,0.82388355735,0.823937890912,0.8239922169,0.824046535315,0.824100846156,0.824155149421,0.824209445111,0.824263733225,0.824318013762,0.824372286723,0.824426552106,0.824480809911,0.824535060137,0.824589302785,0.824643537853,0.824697765342,0.824751985249,0.824806197576,0.824860402322,0.824914599485,0.824968789066,0.825022971065,0.825077145479,0.82513131231,0.825185471556,0.825239623218,0.825293767294,0.825347903784,0.825402032688,0.825456154004,0.825510267734,0.825564373875,0.825618472428,0.825672563392,0.825726646767,0.825780722552,0.825834790746,0.82588885135,0.825942904362,0.825996949782,0.82605098761,0.826105017845,0.826159040486,0.826213055534,0.826267062987,0.826321062846,0.826375055109,0.826429039776,0.826483016847,0.826536986321,0.826590948197,0.826644902476,0.826698849157,0.826752788238,0.826806719721,0.826860643603,0.826914559885,0.826968468567,0.827022369647,0.827076263125,0.827130149001,0.827184027274,0.827237897943,0.827291761009,0.827345616471,0.827399464328,0.82745330458,0.827507137226,0.827560962265,0.827614779698,0.827668589524,0.827722391741,0.827776186351,0.827829973352,0.827883752743,0.827937524525,0.827991288697,0.828045045258,0.828098794207,0.828152535545,0.828206269271,0.828259995384,0.828313713884,0.828367424771,0.828421128043,0.8284748237,0.828528511742,0.828582192169,0.828635864979,0.828689530173,0.82874318775,0.828796837709,0.82885048005,0.828904114772,0.828957741875,0.829011361359,0.829064973222,0.829118577465,0.829172174087,0.829225763087,0.829279344465,0.829332918221,0.829386484353,0.829440042862,0.829493593747,0.829547137008,0.829600672643,0.829654200653,0.829707721037,0.829761233795,0.829814738925,0.829868236428,0.829921726303,0.829975208549,0.830028683167,0.830082150155,0.830135609513,0.830189061241,0.830242505338,0.830295941803,0.830349370637,0.830402791838,0.830456205406,0.830509611341,0.830563009642,0.830616400309,0.830669783341,0.830723158737,0.830776526498,0.830829886622,0.83088323911,0.83093658396,0.830989921172,0.831043250746,0.831096572682,0.831149886978,0.831203193634,0.83125649265,0.831309784026,0.83136306776,0.831416343852,0.831469612303,0.83152287311,0.831576126274,0.831629371795,0.831682609672,0.831735839904,0.83178906249,0.831842277432,0.831895484727,0.831948684375,0.832001876376,0.83205506073,0.832108237436,0.832161406493,0.832214567901,0.832267721659,0.832320867768,0.832374006226,0.832427137033,0.832480260188,0.832533375692,0.832586483543,0.832639583741,0.832692676286,0.832745761176,0.832798838413,0.832851907994,0.83290496992,0.83295802419,0.833011070804,0.833064109761,0.83311714106,0.833170164702,0.833223180685,0.83327618901,0.833329189675,0.833382182681,0.833435168026,0.83348814571,0.833541115733,0.833594078095,0.833647032794,0.833699979831,0.833752919204,0.833805850914,0.833858774959,0.83391169134,0.833964600056,0.834017501106,0.83407039449,0.834123280207,0.834176158258,0.83422902864,0.834281891355,0.834334746401,0.834387593778,0.834440433486,0.834493265524,0.834546089891,0.834598906587,0.834651715612,0.834704516965,0.834757310645,0.834810096652,0.834862874986,0.834915645647,0.834968408632,0.835021163943,0.835073911579,0.835126651539,0.835179383822,0.835232108429,0.835284825358,0.83533753461,0.835390236183,0.835442930078,0.835495616294,0.835548294829,0.835600965685,0.83565362886,0.835706284354,0.835758932166,0.835811572296,0.835864204743,0.835916829508,0.835969446589,0.836022055985,0.836074657698,0.836127251725,0.836179838066,0.836232416722,0.836284987691,0.836337550974,0.836390106568,0.836442654475,0.836495194694,0.836547727224,0.836600252064,0.836652769214,0.836705278674,0.836757780444,0.836810274522,0.836862760908,0.836915239602,0.836967710603,0.837020173911,0.837072629525,0.837125077445,0.837177517671,0.837229950201,0.837282375035,0.837334792174,0.837387201616,0.83743960336,0.837491997408,0.837544383757,0.837596762407,0.837649133359,0.837701496611,0.837753852163,0.837806200015,0.837858540166,0.837910872615,0.837963197363,0.838015514408,0.83806782375,0.838120125389,0.838172419324,0.838224705555,0.838276984081,0.838329254902,0.838381518017,0.838433773425,0.838486021127,0.838538261122,0.838590493409,0.838642717989,0.838694934859,0.83874714402,0.838799345472,0.838851539214,0.838903725245,0.838955903565,0.839008074174,0.83906023707,0.839112392254,0.839164539726,0.839216679484,0.839268811527,0.839320935857,0.839373052472,0.839425161371,0.839477262555,0.839529356022,0.839581441772,0.839633519805,0.839685590121,0.839737652718,0.839789707597,0.839841754756,0.839893794196,0.839945825916,0.839997849915,0.840049866193,0.840101874749,0.840153875583,0.840205868695,0.840257854084,0.84030983175,0.840361801691,0.840413763908,0.8404657184,0.840517665167,0.840569604208,0.840621535522,0.84067345911,0.84072537497,0.840777283103,0.840829183508,0.840881076183,0.84093296113,0.840984838347,0.841036707833,0.841088569589,0.841140423614,0.841192269908,0.841244108469,0.841295939298,0.841347762394,0.841399577756,0.841451385384,0.841503185278,0.841554977437,0.84160676186,0.841658538548,0.841710307499,0.841762068714,0.841813822191,0.841865567931,0.841917305932,0.841969036194,0.842020758718,0.842072473501,0.842124180545,0.842175879848,0.842227571409,0.842279255229,0.842330931308,0.842382599643,0.842434260236,0.842485913085,0.84253755819,0.842589195551,0.842640825167,0.842692447037,0.842744061162,0.84279566754,0.842847266172,0.842898857056,0.842950440192,0.84300201558,0.84305358322,0.84310514311,0.843156695251,0.843208239642,0.843259776282,0.843311305171,0.843362826308,0.843414339694,0.843465845327,0.843517343207,0.843568833333,0.843620315706,0.843671790324,0.843723257188,0.843774716296,0.843826167648,0.843877611244,0.843929047084,0.843980475166,0.84403189549,0.844083308056,0.844134712864,0.844186109912,0.844237499201,0.84428888073,0.844340254499,0.844391620506,0.844442978752,0.844494329236,0.844545671957,0.844597006916,0.844648334111,0.844699653543,0.84475096521,0.844802269113,0.84485356525,0.844904853621,0.844956134226,0.845007407065,0.845058672137,0.845109929441,0.845161178976,0.845212420744,0.845263654742,0.845314880971,0.84536609943,0.845417310118,0.845468513036,0.845519708182,0.845570895556,0.845622075158,0.845673246987,0.845724411043,0.845775567326,0.845826715834,0.845877856567,0.845928989525,0.845980114708,0.846031232115,0.846082341745,0.846133443598,0.846184537674,0.846235623971,0.846286702491,0.846337773231,0.846388836192,0.846439891373,0.846490938774,0.846541978394,0.846593010233,0.84664403429,0.846695050565,0.846746059058,0.846797059767,0.846848052693,0.846899037834,0.846950015192,0.847000984764,0.84705194655,0.847102900551,0.847153846766,0.847204785193,0.847255715833,0.847306638686,0.84735755375,0.847408461025,0.847459360512,0.847510252208,0.847561136115,0.847612012231,0.847662880555,0.847713741089,0.84776459383,0.847815438779,0.847866275935,0.847917105297,0.847967926866,0.84801874064,0.848069546619,0.848120344803,0.848171135192,0.848221917784,0.848272692579,0.848323459578,0.848374218779,0.848424970181,0.848475713785,0.848526449591,0.848577177596,0.848627897802,0.848678610207,0.848729314812,0.848780011615,0.848830700616,0.848881381815,0.848932055212,0.848982720805,0.849033378594,0.84908402858,0.84913467076,0.849185305136,0.849235931706,0.84928655047,0.849337161428,0.849387764579,0.849438359922,0.849488947457,0.849539527185,0.849590099103,0.849640663212,0.849691219512,0.849741768001,0.849792308679,0.849842841547,0.849893366603,0.849943883847,0.849994393278,0.850044894897,0.850095388702,0.850145874693,0.850196352869,0.850246823231,0.850297285778,0.850347740509,0.850398187424,0.850448626522,0.850499057802,0.850549481266,0.850599896911,0.850650304737,0.850700704745,0.850751096933,0.850801481302,0.850851857849,0.850902226576,0.850952587482,0.851002940566,0.851053285828,0.851103623267,0.851153952883,0.851204274675,0.851254588643,0.851304894787,0.851355193105,0.851405483598,0.851455766266,0.851506041106,0.85155630812,0.851606567307,0.851656818666,0.851707062196,0.851757297898,0.851807525771,0.851857745814,0.851907958027,0.851958162409,0.85200835896,0.85205854768,0.852108728568,0.852158901624,0.852209066847,0.852259224236,0.852309373792,0.852359515513,0.8524096494,0.852459775451,0.852509893667,0.852560004047,0.85261010659,0.852660201296,0.852710288165,0.852760367196,0.852810438388,0.852860501742,0.852910557256,0.85296060493,0.853010644765,0.853060676758,0.853110700911,0.853160717221,0.85321072569,0.853260726316,0.8533107191,0.853360704039,0.853410681135,0.853460650387,0.853510611793,0.853560565355,0.85361051107,0.85366044894,0.853710378962,0.853760301138,0.853810215466,0.853860121946,0.853910020578,0.85395991136,0.854009794293,0.854059669377,0.85410953661,0.854159395992,0.854209247523,0.854259091202,0.854308927029,0.854358755003,0.854408575125,0.854458387392,0.854508191806,0.854557988365,0.85460777707,0.854657557919,0.854707330912,0.854757096049,0.854806853329,0.854856602752,0.854906344317,0.854956078025,0.855005803873,0.855055521863,0.855105231993,0.855154934263,0.855204628673,0.855254315222,0.855303993909,0.855353664735,0.855403327699,0.8554529828,0.855502630037,0.855552269412,0.855601900922,0.855651524567,0.855701140348,0.855750748263,0.855800348313,0.855849940496,0.855899524812,0.855949101261,0.855998669842,0.856048230555,0.8560977834,0.856147328375,0.856196865481,0.856246394717,0.856295916083,0.856345429577,0.8563949352,0.856444432952,0.856493922831,0.856543404838,0.856592878971,0.856642345231,0.856691803616,0.856741254128,0.856790696764,0.856840131525,0.856889558409,0.856938977418,0.85698838855,0.857037791804,0.857087187181,0.857136574679,0.857185954299,0.85723532604,0.857284689901,0.857334045883,0.857383393984,0.857432734204,0.857482066543,0.857531390999,0.857580707574,0.857630016266,0.857679317075,0.85772861,0.857777895041,0.857827172198,0.85787644147,0.857925702856,0.857974956357,0.858024201971,0.858073439698,0.858122669538,0.858171891491,0.858221105555,0.858270311731,0.858319510017,0.858368700414,0.858417882922,0.858467057538,0.858516224264,0.858565383099,0.858614534042,0.858663677093,0.858712812251,0.858761939516,0.858811058887,0.858860170365,0.858909273948,0.858958369636,0.859007457429,0.859056537325,0.859105609326,0.85915467343,0.859203729637,0.859252777946,0.859301818357,0.85935085087,0.859399875483,0.859448892197,0.859497901012,0.859546901926,0.859595894939,0.859644880051,0.859693857261,0.859742826569,0.859791787975,0.859840741477,0.859889687077,0.859938624772,0.859987554563,0.860036476449,0.860085390429,0.860134296504,0.860183194673,0.860232084935,0.860280967291,0.860329841738,0.860378708278,0.860427566909,0.860476417632,0.860525260445,0.860574095348,0.860622922341,0.860671741424,0.860720552595,0.860769355855,0.860818151202,0.860866938638,0.86091571816,0.860964489769,0.861013253464,0.861062009245,0.861110757112,0.861159497063,0.861208229099,0.861256953218,0.861305669421,0.861354377707,0.861403078076,0.861451770527,0.861500455059,0.861549131673,0.861597800368,0.861646461143,0.861695113998,0.861743758933,0.861792395946,0.861841025038,0.861889646209,0.861938259456,0.861986864782,0.862035462184,0.862084051662,0.862132633216,0.862181206846,0.862229772551,0.86227833033,0.862326880184,0.862375422111,0.862423956111,0.862472482184,0.86252100033,0.862569510547,0.862618012836,0.862666507196,0.862714993626,0.862763472126,0.862811942697,0.862860405336,0.862908860044,0.862957306821,0.863005745665,0.863054176577,0.863102599555,0.863151014601,0.863199421712,0.863247820889,0.863296212131,0.863344595439,0.86339297081,0.863441338245,0.863489697744,0.863538049305,0.86358639293,0.863634728616,0.863683056364,0.863731376173,0.863779688043,0.863827991973,0.863876287963,0.863924576013,0.863972856122,0.864021128289,0.864069392514,0.864117648797,0.864165897137,0.864214137534,0.864262369987,0.864310594496,0.864358811061,0.86440701968,0.864455220354,0.864503413082,0.864551597864,0.864599774699,0.864647943587,0.864696104527,0.864744257519,0.864792402563,0.864840539658,0.864888668803,0.864936789998,0.864984903243,0.865033008537,0.86508110588,0.865129195272,0.865177276711,0.865225350198,0.865273415731,0.865321473312,0.865369522938,0.865417564611,0.865465598328,0.865513624091,0.865561641897,0.865609651748,0.865657653642,0.865705647579,0.865753633559,0.865801611581,0.865849581645,0.86589754375,0.865945497896,0.865993444082,0.866041382309,0.866089312575,0.86613723488,0.866185149223,0.866233055605,0.866280954025,0.866328844481,0.866376726975,0.866424601505,0.866472468072,0.866520326674,0.866568177311,0.866616019982,0.866663854688,0.866711681428,0.866759500201,0.866807311007,0.866855113845,0.866902908716,0.866950695618,0.866998474552,0.867046245516,0.86709400851,0.867141763534,0.867189510588,0.867237249671,0.867284980782,0.867332703921,0.867380419088,0.867428126282,0.867475825503,0.867523516751,0.867571200024,0.867618875323,0.867666542646,0.867714201995,0.867761853367,0.867809496763,0.867857132183,0.867904759625,0.86795237909,0.867999990577,0.868047594085,0.868095189614,0.868142777164,0.868190356734,0.868237928324,0.868285491934,0.868333047562,0.868380595209,0.868428134873,0.868475666556,0.868523190255,0.868570705971,0.868618213704,0.868665713452,0.868713205216,0.868760688995,0.868808164788,0.868855632595,0.868903092416,0.868950544251,0.868997988098,0.869045423957,0.869092851828,0.869140271711,0.869187683605,0.86923508751,0.869282483424,0.869329871349,0.869377251282,0.869424623225,0.869471987176,0.869519343135,0.869566691101,0.869614031075,0.869661363056,0.869708687042,0.869756003035,0.869803311033,0.869850611035,0.869897903043,0.869945187054,0.869992463069,0.870039731088,0.870086991109,0.870134243132,0.870181487157,0.870228723184,0.870275951212,0.870323171241,0.870370383269,0.870417587298,0.870464783325,0.870511971352,0.870559151377,0.8706063234,0.870653487421,0.870700643438,0.870747791453,0.870794931464,0.87084206347,0.870889187472,0.870936303469,0.87098341146,0.871030511446,0.871077603425,0.871124687398,0.871171763363,0.871218831321,0.87126589127,0.871312943212,0.871359987144,0.871407023067,0.87145405098,0.871501070883,0.871548082775,0.871595086656,0.871642082526,0.871689070383,0.871736050229,0.871783022061,0.87182998588,0.871876941686,0.871923889477,0.871970829254,0.872017761016,0.872064684763,0.872111600493,0.872158508208,0.872205407906,0.872252299586,0.872299183249,0.872346058894,0.872392926521,0.872439786129,0.872486637717,0.872533481286,0.872580316835,0.872627144363,0.87267396387,0.872720775356,0.87276757882,0.872814374261,0.87286116168,0.872907941076,0.872954712448,0.873001475796,0.87304823112,0.873094978418,0.873141717692,0.873188448939,0.873235172161,0.873281887356,0.873328594524,0.873375293664,0.873421984777,0.873468667861,0.873515342917,0.873562009943,0.87360866894,0.873655319907,0.873701962843,0.873748597749,0.873795224623,0.873841843465,0.873888454276,0.873935057053,0.873981651798,0.874028238509,0.874074817186,0.874121387829,0.874167950438,0.874214505011,0.874261051548,0.87430759005,0.874354120515,0.874400642943,0.874447157334,0.874493663687,0.874540162002,0.874586652278,0.874633134516,0.874679608713,0.874726074872,0.874772532989,0.874818983066,0.874865425102,0.874911859097,0.874958285049,0.875004702959,0.875051112826,0.87509751465,0.87514390843,0.875190294165,0.875236671857,0.875283041503,0.875329403104,0.875375756659,0.875422102168,0.87546843963,0.875514769045,0.875561090413,0.875607403732,0.875653709003,0.875700006226,0.875746295399,0.875792576522,0.875838849595,0.875885114618,0.87593137159,0.87597762051,0.876023861379,0.876070094195,0.876116318959,0.87616253567,0.876208744327,0.87625494493,0.876301137479,0.876347321973,0.876393498412,0.876439666796,0.876485827123,0.876531979394,0.876578123608,0.876624259764,0.876670387863,0.876716507904,0.876762619886,0.876808723809,0.876854819673,0.876900907477,0.87694698722,0.876993058903,0.877039122525,0.877085178085,0.877131225583,0.877177265019,0.877223296392,0.877269319701,0.877315334947,0.877361342129,0.877407341246,0.877453332299,0.877499315286,0.877545290207,0.877591257062,0.877637215851,0.877683166572,0.877729109226,0.877775043812,0.87782097033,0.877866888779,0.877912799159,0.877958701469,0.878004595709,0.878050481879,0.878096359978,0.878142230005,0.878188091961,0.878233945845,0.878279791657,0.878325629395,0.87837145906,0.878417280651,0.878463094168,0.87850889961,0.878554696977,0.878600486269,0.878646267485,0.878692040625,0.878737805687,0.878783562673,0.878829311581,0.878875052411,0.878920785162,0.878966509835,0.879012226429,0.879057934942,0.879103635376,0.879149327729,0.879195012001,0.879240688192,0.879286356301,0.879332016328,0.879377668272,0.879423312133,0.879468947911,0.879514575604,0.879560195214,0.879605806739,0.879651410178,0.879697005532,0.8797425928,0.879788171982,0.879833743076,0.879879306084,0.879924861004,0.879970407836,0.880015946579,0.880061477233,0.880106999798,0.880152514274,0.880198020659,0.880243518953,0.880289009157,0.880334491269,0.880379965289,0.880425431217,0.880470889052,0.880516338794,0.880561780443,0.880607213998,0.880652639458,0.880698056824,0.880743466094,0.880788867269,0.880834260348,0.88087964533,0.880925022216,0.880970391004,0.881015751694,0.881061104287,0.881106448781,0.881151785176,0.881197113471,0.881242433667,0.881287745763,0.881333049758,0.881378345652,0.881423633444,0.881468913135,0.881514184723,0.881559448209,0.881604703592,0.881649950871,0.881695190046,0.881740421117,0.881785644083,0.881830858944,0.881876065699,0.881921264348,0.881966454891,0.882011637327,0.882056811656,0.882101977877,0.88214713599,0.882192285994,0.88223742789,0.882282561676,0.882327687352,0.882372804919,0.882417914374,0.882463015719,0.882508108952,0.882553194074,0.882598271083,0.88264333998,0.882688400763,0.882733453433,0.882778497989,0.882823534431,0.882868562758,0.88291358297,0.882958595066,0.883003599047,0.883048594911,0.883093582658,0.883138562288,0.883183533801,0.883228497195,0.883273452471,0.883318399628,0.883363338666,0.883408269584,0.883453192382,0.883498107059,0.883543013616,0.883587912051,0.883632802365,0.883677684556,0.883722558625,0.883767424571,0.883812282393,0.883857132091,0.883901973666,0.883946807116,0.88399163244,0.884036449639,0.884081258713,0.88412605966,0.88417085248,0.884215637173,0.884260413739,0.884305182177,0.884349942486,0.884394694667,0.884439438718,0.88448417464,0.884528902432,0.884573622094,0.884618333624,0.884663037024,0.884707732292,0.884752419428,0.884797098431,0.884841769301,0.884886432039,0.884931086642,0.884975733112,0.885020371447,0.885065001647,0.885109623711,0.88515423764,0.885198843433,0.885243441089,0.885288030609,0.885332611991,0.885377185235,0.885421750341,0.885466307308,0.885510856136,0.885555396825,0.885599929374,0.885644453783,0.885688970051,0.885733478178,0.885777978164,0.885822470007,0.885866953709,0.885911429268,0.885955896683,0.886000355955,0.886044807084,0.886089250067,0.886133684907,0.8861781116,0.886222530149,0.886266940551,0.886311342807,0.886355736917,0.886400122879,0.886444500693,0.88648887036,0.886533231878,0.886577585247,0.886621930467,0.886666267537,0.886710596458,0.886754917228,0.886799229847,0.886843534314,0.88688783063,0.886932118794,0.886976398806,0.887020670664,0.88706493437,0.887109189921,0.887153437319,0.887197676562,0.88724190765,0.887286130582,0.887330345359,0.88737455198,0.887418750444,0.887462940752,0.887507122901,0.887551296894,0.887595462728,0.887639620403,0.887683769919,0.887727911276,0.887772044473,0.88781616951,0.887860286387,0.887904395102,0.887948495656,0.887992588048,0.888036672278,0.888080748345,0.888124816249,0.88816887599,0.888212927566,0.888256970979,0.888301006227,0.88834503331,0.888389052227,0.888433062978,0.888477065564,0.888521059982,0.888565046233,0.888609024317,0.888652994233,0.888696955981,0.88874090956,0.88878485497,0.88882879221,0.88887272128,0.88891664218,0.88896055491,0.889004459468,0.889048355855,0.889092244069,0.889136124112,0.889179995981,0.889223859678,0.889267715201,0.88931156255,0.889355401724,0.889399232724,0.889443055549,0.889486870198,0.889530676671,0.889574474968,0.889618265088,0.889662047031,0.889705820796,0.889749586383,0.889793343792,0.889837093022,0.889880834073,0.889924566944,0.889968291635,0.890012008146,0.890055716476,0.890099416625,0.890143108592,0.890186792378,0.890230467981,0.890274135401,0.890317794637,0.890361445691,0.89040508856,0.890448723245,0.890492349745,0.89053596806,0.890579578189,0.890623180132,0.890666773889,0.890710359459,0.890753936841,0.890797506036,0.890841067043,0.890884619862,0.890928164492,0.890971700932,0.891015229183,0.891058749244,0.891102261115,0.891145764795,0.891189260283,0.89123274758,0.891276226685,0.891319697597,0.891363160317,0.891406614843,0.891450061176,0.891493499315,0.891536929259,0.891580351009,0.891623764563,0.891667169922,0.891710567084,0.891753956051,0.89179733682,0.891840709392,0.891884073767,0.891927429944,0.891970777922,0.892014117701,0.892057449282,0.892100772662,0.892144087843,0.892187394823,0.892230693602,0.892273984181,0.892317266557,0.892360540732,0.892403806704,0.892447064474,0.89249031404,0.892533555403,0.892576788562,0.892620013516,0.892663230265,0.89270643881,0.892749639149,0.892792831282,0.892836015208,0.892879190928,0.892922358441,0.892965517746,0.893008668843,0.893051811732,0.893094946412,0.893138072883,0.893181191144,0.893224301196,0.893267403037,0.893310496667,0.893353582086,0.893396659294,0.89343972829,0.893482789074,0.893525841644,0.893568886002,0.893611922146,0.893654950077,0.893697969793,0.893740981294,0.893783984581,0.893826979651,0.893869966506,0.893912945145,0.893955915567,0.893998877772,0.89404183176,0.89408477753,0.894127715081,0.894170644414,0.894213565528,0.894256478422,0.894299383097,0.894342279551,0.894385167785,0.894428047798,0.894470919589,0.894513783159,0.894556638506,0.894599485631,0.894642324533,0.894685155212,0.894727977667,0.894770791897,0.894813597903,0.894856395685,0.89489918524,0.894941966571,0.894984739675,0.895027504552,0.895070261203,0.895113009626,0.895155749822,0.895198481789,0.895241205528,0.895283921039,0.89532662832,0.895369327371,0.895412018192,0.895454700783,0.895497375143,0.895540041272,0.895582699169,0.895625348834,0.895667990267,0.895710623467,0.895753248434,0.895795865167,0.895838473666,0.895881073931,0.895923665961,0.895966249756,0.896008825316,0.896051392639,0.896093951727,0.896136502577,0.896179045191,0.896221579567,0.896264105705,0.896306623604,0.896349133266,0.896391634688,0.89643412787,0.896476612813,0.896519089516,0.896561557978,0.896604018199,0.896646470179,0.896688913917,0.896731349412,0.896773776665,0.896816195676,0.896858606442,0.896901008965,0.896943403244,0.896985789279,0.897028167068,0.897070536613,0.897112897911,0.897155250964,0.89719759577,0.897239932329,0.897282260641,0.897324580705,0.897366892522,0.89740919609,0.897451491409,0.897493778479,0.897536057299,0.89757832787,0.89762059019,0.897662844259,0.897705090077,0.897747327644,0.897789556959,0.897831778021,0.897873990831,0.897916195388,0.897958391691,0.898000579741,0.898042759536,0.898084931077,0.898127094362,0.898169249393,0.898211396167,0.898253534685,0.898295664947,0.898337786952,0.898379900699,0.898422006189,0.898464103421,0.898506192394,0.898548273108,0.898590345563,0.898632409759,0.898674465694,0.898716513369,0.898758552783,0.898800583936,0.898842606827,0.898884621457,0.898926627824,0.898968625928,0.899010615769,0.899052597347,0.89909457066,0.89913653571,0.899178492495,0.899220441014,0.899262381269,0.899304313257,0.899346236979,0.899388152435,0.899430059624,0.899471958545,0.899513849198,0.899555731584,0.899597605701,0.899639471549,0.899681329127,0.899723178436,0.899765019475,0.899806852244,0.899848676742,0.899890492968,0.899932300923,0.899974100606,0.900015892016,0.900057675154,0.900099450019,0.90014121661,0.900182974927,0.90022472497,0.900266466738,0.900308200231,0.900349925449,0.900391642391,0.900433351056,0.900475051445,0.900516743558,0.900558427392,0.900600102949,0.900641770228,0.900683429229,0.90072507995,0.900766722392,0.900808356555,0.900849982438,0.90089160004,0.900933209361,0.900974810401,0.90101640316,0.901057987636,0.901099563831,0.901141131742,0.901182691371,0.901224242716,0.901265785777,0.901307320554,0.901348847046,0.901390365253,0.901431875175,0.901473376811,0.901514870161,0.901556355225,0.901597832001,0.90163930049,0.901680760692,0.901722212606,0.901763656231,0.901805091567,0.901846518614,0.901887937371,0.901929347839,0.901970750016,0.902012143902,0.902053529498,0.902094906802,0.902136275814,0.902177636533,0.902218988961,0.902260333095,0.902301668935,0.902342996482,0.902384315735,0.902425626694,0.902466929357,0.902508223725,0.902549509798,0.902590787574,0.902632057054,0.902673318237,0.902714571123,0.902755815712,0.902797052002,0.902838279995,0.902879499688,0.902920711082,0.902961914177,0.903003108973,0.903044295468,0.903085473662,0.903126643555,0.903167805147,0.903208958438,0.903250103426,0.903291240112,0.903332368495,0.903373488574,0.90341460035,0.903455703822,0.90349679899,0.903537885853,0.903578964411,0.903620034663,0.903661096609,0.903702150249,0.903743195583,0.903784232609,0.903825261328,0.90386628174,0.903907293843,0.903948297638,0.903989293123,0.9040302803,0.904071259167,0.904112229724,0.90415319197,0.904194145906,0.90423509153,0.904276028843,0.904316957844,0.904357878533,0.904398790909,0.904439694972,0.904480590721,0.904521478157,0.904562357279,0.904603228086,0.904644090578,0.904684944755,0.904725790616,0.904766628162,0.90480745739,0.904848278302,0.904889090897,0.904929895174,0.904970691134,0.905011478775,0.905052258097,0.9050930291,0.905133791784,0.905174546148,0.905215292192,0.905256029916,0.905296759318,0.905337480399,0.905378193159,0.905418897596,0.905459593711,0.905500281504,0.905540960973,0.905581632118,0.90562229494,0.905662949437,0.90570359561,0.905744233458,0.90578486298,0.905825484176,0.905866097047,0.90590670159,0.905947297807,0.905987885697,0.906028465259,0.906069036493,0.906109599398,0.906150153975,0.906190700223,0.906231238141,0.906271767729,0.906312288987,0.906352801915,0.906393306511,0.906433802776,0.906474290709,0.90651477031,0.906555241579,0.906595704515,0.906636159117,0.906676605386,0.906717043321,0.906757472922,0.906797894188,0.906838307119,0.906878711714,0.906919107974,0.906959495897,0.906999875484,0.907040246734,0.907080609646,0.907120964221,0.907161310458,0.907201648356,0.907241977915,0.907282299136,0.907322612016,0.907362916557,0.907403212758,0.907443500618,0.907483780137,0.907524051314,0.90756431415,0.907604568643,0.907644814795,0.907685052603,0.907725282068,0.907765503189,0.907805715966,0.907845920399,0.907886116488,0.907926304231,0.907966483629,0.90800665468,0.908046817386,0.908086971745,0.908127117757,0.908167255422,0.908207384739,0.908247505709,0.908287618329,0.908327722601,0.908367818524,0.908407906097,0.908447985321,0.908488056194,0.908528118716,0.908568172888,0.908608218708,0.908648256176,0.908688285293,0.908728306056,0.908768318467,0.908808322525,0.908848318229,0.90888830558,0.908928284576,0.908968255217,0.909008217503,0.909048171434,0.909088117009,0.909128054228,0.909167983091,0.909207903596,0.909247815744,0.909287719535,0.909327614968,0.909367502042,0.909407380758,0.909447251114,0.909487113112,0.909526966749,0.909566812026,0.909606648943,0.909646477498,0.909686297693,0.909726109525,0.909765912996,0.909805708105,0.90984549485,0.909885273233,0.909925043252,0.909964804907,0.910004558198,0.910044303125,0.910084039686,0.910123767883,0.910163487713,0.910203199178,0.910242902276,0.910282597007,0.910322283372,0.910361961368,0.910401630997,0.910441292258,0.91048094515,0.910520589673,0.910560225827,0.910599853612,0.910639473026,0.91067908407,0.910718686743,0.910758281044,0.910797866975,0.910837444533,0.91087701372,0.910916574533,0.910956126974,0.910995671042,0.911035206735,0.911074734055,0.911114253001,0.911153763571,0.911193265767,0.911232759586,0.911272245031,0.911311722098,0.91135119079,0.911390651104,0.911430103041,0.911469546601,0.911508981782,0.911548408585,0.911587827009,0.911627237054,0.91166663872,0.911706032005,0.911745416911,0.911784793436,0.91182416158,0.911863521343,0.911902872724,0.911942215723,0.91198155034,0.912020876574,0.912060194424,0.912099503892,0.912138804975,0.912178097675,0.91221738199,0.91225665792,0.912295925464,0.912335184623,0.912374435396,0.912413677783,0.912452911783,0.912492137396,0.912531354622,0.912570563459,0.912609763909,0.91264895597,0.912688139642,0.912727314925,0.912766481818,0.912805640322,0.912844790435,0.912883932157,0.912923065488,0.912962190428,0.913001306977,0.913040415133,0.913079514896,0.913118606267,0.913157689245,0.913196763829,0.913235830019,0.913274887815,0.913313937216,0.913352978222,0.913392010833,0.913431035049,0.913470050868,0.91350905829,0.913548057316,0.913587047945,0.913626030177,0.91366500401,0.913703969445,0.913742926482,0.91378187512,0.913820815358,0.913859747197,0.913898670636,0.913937585674,0.913976492312,0.914015390549,0.914054280384,0.914093161817,0.914132034849,0.914170899478,0.914209755704,0.914248603526,0.914287442945,0.914326273961,0.914365096571,0.914403910778,0.914442716579,0.914481513975,0.914520302965,0.914559083549,0.914597855727,0.914636619498,0.914675374862,0.914714121818,0.914752860366,0.914791590506,0.914830312238,0.914869025561,0.914907730474,0.914946426978,0.914985115072,0.915023794755,0.915062466028,0.915101128889,0.91513978334,0.915178429378,0.915217067005,0.915255696218,0.915294317019,0.915332929407,0.915371533382,0.915410128942,0.915448716088,0.91548729482,0.915525865136,0.915564427038,0.915602980523,0.915641525593,0.915680062246,0.915718590483,0.915757110302,0.915795621704,0.915834124688,0.915872619254,0.915911105402,0.91594958313,0.91598805244,0.916026513329,0.916064965799,0.916103409849,0.916141845478,0.916180272686,0.916218691473,0.916257101838,0.916295503781,0.916333897301,0.916372282399,0.916410659074,0.916449027325,0.916487387153,0.916525738556,0.916564081535,0.916602416089,0.916640742218,0.916679059921,0.916717369198,0.916755670049,0.916793962474,0.916832246471,0.916870522041,0.916908789184,0.916947047898,0.916985298184,0.917023540041,0.91706177347,0.917099998468,0.917138215037,0.917176423176,0.917214622885,0.917252814162,0.917290997008,0.917329171423,0.917367337406,0.917405494957,0.917443644075,0.91748178476,0.917519917012,0.91755804083,0.917596156214,0.917634263164,0.917672361679,0.917710451759,0.917748533404,0.917786606613,0.917824671385,0.917862727722,0.917900775621,0.917938815084,0.917976846109,0.918014868696,0.918052882845,0.918090888555,0.918128885827,0.918166874659,0.918204855051,0.918242827004,0.918280790517,0.918318745588,0.918356692219,0.918394630408,0.918432560156,0.918470481462,0.918508394325,0.918546298746,0.918584194723,0.918622082257,0.918659961348,0.918697831994,0.918735694196,0.918773547952,0.918811393264,0.91884923013,0.918887058551,0.918924878525,0.918962690052,0.919000493133,0.919038287766,0.919076073952,0.91911385169,0.91915162098,0.919189381821,0.919227134212,0.919264878155,0.919302613648,0.919340340691,0.919378059283,0.919415769425,0.919453471116,0.919491164355,0.919528849142,0.919566525478,0.919604193361,0.919641852791,0.919679503768,0.919717146291,0.919754780361,0.919792405976,0.919830023137,0.919867631843,0.919905232094,0.919942823889,0.919980407229,0.920017982112,0.920055548538,0.920093106508,0.92013065602,0.920168197074,0.920205729671,0.920243253809,0.920280769489,0.920318276709,0.92035577547,0.920393265772,0.920430747613,0.920468220994,0.920505685914,0.920543142373,0.920580590371,0.920618029907,0.920655460981,0.920692883592,0.920730297741,0.920767703426,0.920805100648,0.920842489406,0.9208798697,0.920917241529,0.920954604894,0.920991959793,0.921029306227,0.921066644194,0.921103973696,0.921141294731,0.921178607299,0.921215911399,0.921253207033,0.921290494198,0.921327772894,0.921365043123,0.921402304882,0.921439558172,0.921476802992,0.921514039342,0.921551267222,0.921588486631,0.921625697569,0.921662900036,0.921700094031,0.921737279554,0.921774456604,0.921811625182,0.921848785286,0.921885936918,0.921923080075,0.921960214758,0.921997340967,0.922034458701,0.92207156796,0.922108668743,0.922145761051,0.922182844882,0.922219920237,0.922256987115,0.922294045516,0.922331095439,0.922368136885,0.922405169852,0.922442194341,0.922479210351,0.922516217881,0.922553216932,0.922590207503,0.922627189594,0.922664163205,0.922701128334,0.922738084982,0.922775033148,0.922811972833,0.922848904035,0.922885826755,0.922922740991,0.922959646745,0.922996544014,0.9230334328,0.923070313101,0.923107184918,0.92314404825,0.923180903096,0.923217749457,0.923254587331,0.92329141672,0.923328237621,0.923365050036,0.923401853963,0.923438649402,0.923475436354,0.923512214817,0.923548984791,0.923585746276,0.923622499272,0.923659243778,0.923695979794,0.92373270732,0.923769426355,0.923806136898,0.923842838951,0.923879532511,0.92391621758,0.923952894156,0.923989562239,0.924026221829,0.924062872926,0.924099515529,0.924136149637,0.924172775252,0.924209392371,0.924246000996,0.924282601125,0.924319192758,0.924355775895,0.924392350535,0.924428916679,0.924465474325,0.924502023474,0.924538564125,0.924575096279,0.924611619933,0.924648135089,0.924684641745,0.924721139902,0.92475762956,0.924794110717,0.924830583373,0.924867047529,0.924903503183,0.924939950336,0.924976388987,0.925012819136,0.925049240783,0.925085653926,0.925122058567,0.925158454703,0.925194842336,0.925231221465,0.92526759209,0.925303954209,0.925340307823,0.925376652932,0.925412989535,0.925449317631,0.925485637221,0.925521948305,0.925558250881,0.925594544949,0.92563083051,0.925667107562,0.925703376106,0.925739636141,0.925775887667,0.925812130683,0.92584836519,0.925884591186,0.925920808672,0.925957017647,0.92599321811,0.926029410062,0.926065593503,0.926101768431,0.926137934846,0.926174092749,0.926210242138,0.926246383014,0.926282515376,0.926318639224,0.926354754558,0.926390861376,0.926426959679,0.926463049467,0.926499130739,0.926535203495,0.926571267734,0.926607323457,0.926643370662,0.92667940935,0.92671543952,0.926751461171,0.926787474305,0.926823478919,0.926859475014,0.92689546259,0.926931441646,0.926967412182,0.927003374197,0.927039327691,0.927075272665,0.927111209117,0.927147137047,0.927183056455,0.92721896734,0.927254869703,0.927290763542,0.927326648858,0.92736252565,0.927398393919,0.927434253662,0.927470104881,0.927505947575,0.927541781743,0.927577607386,0.927613424502,0.927649233093,0.927685033156,0.927720824692,0.927756607701,0.927792382182,0.927828148135,0.92786390556,0.927899654456,0.927935394823,0.92797112666,0.928006849968,0.928042564746,0.928078270993,0.92811396871,0.928149657895,0.92818533855,0.928221010672,0.928256674263,0.928292329321,0.928327975847,0.928363613839,0.928399243299,0.928434864224,0.928470476616,0.928506080473,0.928541675796,0.928577262584,0.928612840836,0.928648410553,0.928683971734,0.928719524379,0.928755068487,0.928790604058,0.928826131092,0.928861649588,0.928897159547,0.928932660967,0.928968153849,0.929003638192,0.929039113995,0.929074581259,0.929110039984,0.929145490168,0.929180931811,0.929216364914,0.929251789475,0.929287205496,0.929322612974,0.92935801191,0.929393402304,0.929428784155,0.929464157462,0.929499522227,0.929534878447,0.929570226124,0.929605565256,0.929640895843,0.929676217885,0.929711531382,0.929746836334,0.929782132739,0.929817420598,0.92985269991,0.929887970675,0.929923232893,0.929958486563,0.929993731685,0.930028968259,0.930064196284,0.93009941576,0.930134626687,0.930169829065,0.930205022892,0.930240208169,0.930275384896,0.930310553072,0.930345712696,0.93038086377,0.930416006291,0.93045114026,0.930486265676,0.93052138254,0.93055649085,0.930591590607,0.930626681811,0.93066176446,0.930696838554,0.930731904094,0.930766961079,0.930802009508,0.930837049382,0.9308720807,0.930907103461,0.930942117665,0.930977123313,0.931012120403,0.931047108936,0.93108208891,0.931117060326,0.931152023184,0.931186977483,0.931221923222,0.931256860402,0.931291789022,0.931326709081,0.93136162058,0.931396523518,0.931431417895,0.931466303711,0.931501180965,0.931536049656,0.931570909785,0.931605761351,0.931640604354,0.931675438794,0.93171026467,0.931745081982,0.931779890729,0.931814690912,0.931849482529,0.931884265582,0.931919040068,0.931953805989,0.931988563343,0.932023312131,0.932058052351,0.932092784005,0.932127507091,0.932162221609,0.932196927558,0.932231624939,0.932266313752,0.932300993995,0.932335665668,0.932370328772,0.932404983305,0.932439629268,0.932474266661,0.932508895482,0.932543515732,0.93257812741,0.932612730516,0.932647325049,0.93268191101,0.932716488398,0.932751057213,0.932785617454,0.932820169121,0.932854712213,0.932889246731,0.932923772674,0.932958290042,0.932992798835,0.933027299051,0.933061790692,0.933096273755,0.933130748242,0.933165214152,0.933199671485,0.933234120239,0.933268560416,0.933302992014,0.933337415033,0.933371829474,0.933406235335,0.933440632616,0.933475021317,0.933509401438,0.933543772979,0.933578135938,0.933612490317,0.933646836113,0.933681173328,0.933715501961,0.933749822011,0.933784133478,0.933818436362,0.933852730663,0.93388701638,0.933921293513,0.933955562061,0.933989822025,0.934024073403,0.934058316197,0.934092550404,0.934126776026,0.934160993061,0.93419520151,0.934229401372,0.934263592646,0.934297775334,0.934331949433,0.934366114944,0.934400271866,0.9344344202,0.934468559945,0.9345026911,0.934536813665,0.93457092764,0.934605033025,0.93463912982,0.934673218023,0.934707297635,0.934741368655,0.934775431084,0.93480948492,0.934843530163,0.934877566814,0.934911594872,0.934945614336,0.934979625206,0.935013627482,0.935047621163,0.93508160625,0.935115582742,0.935149550638,0.935183509939,0.935217460644,0.935251402752,0.935285336264,0.935319261179,0.935353177496,0.935387085216,0.935420984338,0.935454874862,0.935488756787,0.935522630114,0.935556494841,0.93559035097,0.935624198498,0.935658037426,0.935691867754,0.935725689481,0.935759502607,0.935793307132,0.935827103055,0.935860890377,0.935894669096,0.935928439213,0.935962200726,0.935995953637,0.936029697944,0.936063433647,0.936097160746,0.936130879241,0.936164589131,0.936198290416,0.936231983096,0.93626566717,0.936299342638,0.9363330095,0.936366667756,0.936400317404,0.936433958445,0.936467590879,0.936501214705,0.936534829923,0.936568436532,0.936602034533,0.936635623924,0.936669204707,0.936702776879,0.936736340442,0.936769895394,0.936803441736,0.936836979467,0.936870508586,0.936904029095,0.936937540991,0.936971044275,0.937004538947,0.937038025006,0.937071502452,0.937104971284,0.937138431503,0.937171883108,0.937205326099,0.937238760475,0.937272186236,0.937305603382,0.937339011913,0.937372411827,0.937405803126,0.937439185808,0.937472559873,0.937505925321,0.937539282152,0.937572630366,0.937605969961,0.937639300938,0.937672623297,0.937705937036,0.937739242156,0.937772538657,0.937805826538,0.937839105799,0.93787237644,0.93790563846,0.937938891859,0.937972136636,0.938005372792,0.938038600326,0.938071819238,0.938105029527,0.938138231193,0.938171424236,0.938204608655,0.938237784451,0.938270951623,0.93830411017,0.938337260093,0.938370401391,0.938403534063,0.93843665811,0.938469773531,0.938502880325,0.938535978494,0.938569068035,0.938602148949,0.938635221236,0.938668284895,0.938701339926,0.938734386328,0.938767424102,0.938800453247,0.938833473763,0.938866485649,0.938899488906,0.938932483532,0.938965469528,0.938998446893,0.939031415627,0.939064375729,0.9390973272,0.939130270039,0.939163204246,0.93919612982,0.939229046761,0.939261955069,0.939294854743,0.939327745784,0.93936062819,0.939393501962,0.9394263671,0.939459223602,0.939492071469,0.939524910701,0.939557741296,0.939590563256,0.939623376579,0.939656181265,0.939688977314,0.939721764725,0.939754543499,0.939787313635,0.939820075132,0.939852827991,0.939885572211,0.939918307792,0.939951034733,0.939983753034,0.940016462695,0.940049163716,0.940081856096,0.940114539835,0.940147214933,0.940179881389,0.940212539203,0.940245188375,0.940277828904,0.94031046079,0.940343084034,0.940375698634,0.94040830459,0.940440901902,0.94047349057,0.940506070593,0.940538641972,0.940571204705,0.940603758792,0.940636304234,0.940668841029,0.940701369179,0.940733888681,0.940766399536,0.940798901744,0.940831395305,0.940863880217,0.940896356482,0.940928824098,0.940961283065,0.940993733382,0.941026175051,0.94105860807,0.941091032438,0.941123448157,0.941155855225,0.941188253642,0.941220643407,0.941253024521,0.941285396984,0.941317760794,0.941350115952,0.941382462457,0.94141480031,0.941447129509,0.941479450054,0.941511761946,0.941544065183,0.941576359766,0.941608645694,0.941640922967,0.941673191585,0.941705451547,0.941737702853,0.941769945503,0.941802179496,0.941834404832,0.941866621512,0.941898829534,0.941931028898,0.941963219604,0.941995401652,0.942027575041,0.942059739771,0.942091895842,0.942124043254,0.942156182005,0.942188312097,0.942220433528,0.942252546299,0.942284650408,0.942316745857,0.942348832643,0.942380910768,0.942412980231,0.942445041031,0.942477093168,0.942509136643,0.942541171454,0.942573197601,0.942605215085,0.942637223904,0.942669224059,0.942701215549,0.942733198374,0.942765172533,0.942797138027,0.942829094855,0.942861043016,0.942892982511,0.942924913339,0.9429568355,0.942988748994,0.943020653819,0.943052549977,0.943084437466,0.943116316287,0.943148186438,0.943180047921,0.943211900734,0.943243744877,0.94327558035,0.943307407153,0.943339225285,0.943371034746,0.943402835536,0.943434627654,0.943466411101,0.943498185875,0.943529951977,0.943561709406,0.943593458162,0.943625198245,0.943656929654,0.943688652389,0.94372036645,0.943752071837,0.943783768549,0.943815456586,0.943847135947,0.943878806633,0.943910468643,0.943942121976,0.943973766634,0.944005402614,0.944037029917,0.944068648543,0.944100258491,0.944131859761,0.944163452353,0.944195036267,0.944226611501,0.944258178057,0.944289735933,0.944321285129,0.944352825646,0.944384357482,0.944415880637,0.944447395112,0.944478900905,0.944510398017,0.944541886447,0.944573366196,0.944604837261,0.944636299645,0.944667753345,0.944699198362,0.944730634696,0.944762062346,0.944793481312,0.944824891594,0.944856293191,0.944887686103,0.94491907033,0.944950445871,0.944981812727,0.945013170896,0.945044520379,0.945075861176,0.945107193285,0.945138516708,0.945169831442,0.945201137489,0.945232434848,0.945263723519,0.945295003501,0.945326274794,0.945357537398,0.945388791312,0.945420036536,0.945451273071,0.945482500914,0.945513720068,0.94554493053,0.945576132301,0.945607325381,0.945638509768,0.945669685464,0.945700852467,0.945732010777,0.945763160395,0.945794301319,0.94582543355,0.945856557087,0.94588767193,0.945918778078,0.945949875532,0.945980964291,0.946012044354,0.946043115722,0.946074178394,0.94610523237,0.94613627765,0.946167314233,0.946198342119,0.946229361308,0.946260371799,0.946291373592,0.946322366688,0.946353351084,0.946384326783,0.946415293782,0.946446252082,0.946477201682,0.946508142583,0.946539074784,0.946569998284,0.946600913083,0.946631819182,0.946662716579,0.946693605275,0.946724485269,0.946755356561,0.94678621915,0.946817073037,0.946847918221,0.946878754702,0.946909582479,0.946940401552,0.946971211922,0.947002013587,0.947032806547,0.947063590803,0.947094366353,0.947125133198,0.947155891336,0.947186640769,0.947217381496,0.947248113516,0.947278836829,0.947309551435,0.947340257333,0.947370954524,0.947401643006,0.947432322781,0.947462993846,0.947493656203,0.947524309851,0.947554954789,0.947585591018,0.947616218536,0.947646837344,0.947677447442,0.947708048829,0.947738641505,0.947769225469,0.947799800721,0.947830367262,0.94786092509,0.947891474206,0.947922014609,0.947952546299,0.947983069276,0.948013583539,0.948044089088,0.948074585922,0.948105074043,0.948135553448,0.948166024138,0.948196486113,0.948226939373,0.948257383916,0.948287819744,0.948318246855,0.948348665249,0.948379074926,0.948409475886,0.948439868128,0.948470251652,0.948500626459,0.948530992547,0.948561349916,0.948591698566,0.948622038497,0.948652369708,0.9486826922,0.948713005971,0.948743311023,0.948773607353,0.948803894963,0.948834173851,0.948864444018,0.948894705463,0.948924958186,0.948955202187,0.948985437465,0.949015664021,0.949045881853,0.949076090961,0.949106291347,0.949136483008,0.949166665944,0.949196840157,0.949227005644,0.949257162406,0.949287310444,0.949317449755,0.94934758034,0.9493777022,0.949407815332,0.949437919738,0.949468015417,0.949498102369,0.949528180593,0.949558250089,0.949588310857,0.949618362897,0.949648406208,0.94967844079,0.949708466643,0.949738483766,0.94976849216,0.949798491823,0.949828482756,0.949858464959,0.94988843843,0.94991840317,0.949948359179,0.949978306457,0.950008245002,0.950038174815,0.950068095895,0.950098008243,0.950127911857,0.950157806738,0.950187692886,0.950217570299,0.950247438979,0.950277298924,0.950307150134,0.950336992609,0.950366826349,0.950396651353,0.950426467621,0.950456275154,0.950486073949,0.950515864009,0.950545645331,0.950575417916,0.950605181764,0.950634936874,0.950664683245,0.950694420879,0.950724149774,0.95075386993,0.950783581347,0.950813284024,0.950842977962,0.95087266316,0.950902339618,0.950932007335,0.950961666312,0.950991316547,0.951020958041,0.951050590794,0.951080214804,0.951109830073,0.951139436599,0.951169034383,0.951198623423,0.95122820372,0.951257775274,0.951287338084,0.95131689215,0.951346437472,0.951375974049,0.951405501882,0.951435020969,0.951464531311,0.951494032907,0.951523525757,0.951553009861,0.951582485219,0.95161195183,0.951641409694,0.95167085881,0.951700299179,0.9517297308,0.951759153673,0.951788567798,0.951817973174,0.951847369801,0.951876757679,0.951906136808,0.951935507187,0.951964868816,0.951994221694,0.952023565822,0.9520529012,0.952082227826,0.952111545701,0.952140854824,0.952170155195,0.952199446814,0.952228729681,0.952258003795,0.952287269157,0.952316525765,0.952345773619,0.95237501272,0.952404243066,0.952433464659,0.952462677497,0.95249188158,0.952521076908,0.95255026348,0.952579441297,0.952608610358,0.952637770663,0.952666922211,0.952696065003,0.952725199038,0.952754324315,0.952783440835,0.952812548597,0.952841647601,0.952870737847,0.952899819334,0.952928892063,0.952957956032,0.952987011242,0.953016057692,0.953045095382,0.953074124312,0.953103144482,0.953132155891,0.953161158539,0.953190152425,0.95321913755,0.953248113914,0.953277081515,0.953306040354,0.953334990431,0.953363931744,0.953392864295,0.953421788082,0.953450703105,0.953479609365,0.95350850686,0.953537395591,0.953566275557,0.953595146758,0.953624009194,0.953652862865,0.953681707769,0.953710543908,0.95373937128,0.953768189886,0.953796999725,0.953825800797,0.953854593101,0.953883376638,0.953912151407,0.953940917408,0.95396967464,0.953998423104,0.954027162799,0.954055893724,0.95408461588,0.954113329267,0.954142033883,0.954170729729,0.954199416804,0.954228095109,0.954256764643,0.954285425405,0.954314077396,0.954342720615,0.954371355061,0.954399980736,0.954428597638,0.954457205767,0.954485805122,0.954514395704,0.954542977513,0.954571550548,0.954600114808,0.954628670294,0.954657217005,0.954685754941,0.954714284102,0.954742804488,0.954771316097,0.954799818931,0.954828312988,0.954856798269,0.954885274772,0.954913742499,0.954942201448,0.95497065162,0.954999093014,0.95502752563,0.955055949467,0.955084364526,0.955112770805,0.955141168306,0.955169557027,0.955197936968,0.955226308129,0.955254670511,0.955283024111,0.955311368931,0.95533970497,0.955368032227,0.955396350703,0.955424660398,0.95545296131,0.95548125344,0.955509536787,0.955537811351,0.955566077133,0.955594334131,0.955622582345,0.955650821776,0.955679052422,0.955707274284,0.955735487361,0.955763691654,0.955791887161,0.955820073883,0.955848251819,0.955876420969,0.955904581333,0.95593273291,0.955960875701,0.955989009705,0.956017134921,0.95604525135,0.956073358991,0.956101457844,0.956129547909,0.956157629186,0.956185701673,0.956213765372,0.956241820281,0.956269866401,0.95629790373,0.95632593227,0.95635395202,0.956381962978,0.956409965146,0.956437958523,0.956465943109,0.956493918902,0.956521885904,0.956549844114,0.956577793531,0.956605734156,0.956633665988,0.956661589027,0.956689503272,0.956717408723,0.956745305381,0.956773193244,0.956801072313,0.956828942588,0.956856804067,0.956884656751,0.956912500639,0.956940335732,0.956968162029,0.95699597953,0.957023788234,0.957051588141,0.957079379251,0.957107161564,0.95713493508,0.957162699798,0.957190455717,0.957218202839,0.957245941162,0.957273670686,0.957301391411,0.957329103336,0.957356806463,0.957384500789,0.957412186315,0.957439863041,0.957467530967,0.957495190091,0.957522840414,0.957550481937,0.957578114657,0.957605738576,0.957633353692,0.957660960006,0.957688557518,0.957716146227,0.957743726132,0.957771297234,0.957798859533,0.957826413028,0.957853957718,0.957881493604,0.957909020686,0.957936538962,0.957964048434,0.9579915491,0.95801904096,0.958046524015,0.958073998263,0.958101463705,0.95812892034,0.958156368169,0.95818380719,0.958211237404,0.95823865881,0.958266071408,0.958293475198,0.95832087018,0.958348256352,0.958375633716,0.958403002271,0.958430362017,0.958457712952,0.958485055078,0.958512388394,0.958539712899,0.958567028593,0.958594335476,0.958621633549,0.95864892281,0.958676203259,0.958703474896,0.958730737721,0.958757991733,0.958785236933,0.95881247332,0.958839700894,0.958866919654,0.958894129601,0.958921330733,0.958948523052,0.958975706556,0.959002881245,0.959030047119,0.959057204178,0.959084352422,0.95911149185,0.959138622462,0.959165744258,0.959192857237,0.9592199614,0.959247056745,0.959274143274,0.959301220985,0.959328289878,0.959355349954,0.959382401211,0.95940944365,0.95943647727,0.959463502071,0.959490518053,0.959517525216,0.959544523559,0.959571513082,0.959598493785,0.959625465667,0.959652428729,0.95967938297,0.959706328389,0.959733264988,0.959760192764,0.959787111719,0.959814021851,0.959840923161,0.959867815649,0.959894699313,0.959921574155,0.959948440173,0.959975297367,0.960002145738,0.960028985284,0.960055816006,0.960082637903,0.960109450976,0.960136255223,0.960163050645,0.960189837241,0.960216615012,0.960243383956,0.960270144074,0.960296895366,0.96032363783,0.960350371468,0.960377096278,0.960403812261,0.960430519416,0.960457217742,0.960483907241,0.96051058791,0.960537259752,0.960563922763,0.960590576946,0.960617222299,0.960643858823,0.960670486516,0.960697105379,0.960723715411,0.960750316613,0.960776908984,0.960803492523,0.960830067231,0.960856633108,0.960883190152,0.960909738364,0.960936277743,0.96096280829,0.960989330004,0.961015842885,0.961042346932,0.961068842146,0.961095328525,0.96112180607,0.961148274781,0.961174734658,0.961201185699,0.961227627905,0.961254061276,0.961280485811,0.961306901511,0.961333308374,0.961359706401,0.961386095591,0.961412475944,0.96143884746,0.961465210139,0.961491563981,0.961517908984,0.961544245149,0.961570572477,0.961596890965,0.961623200615,0.961649501426,0.961675793397,0.961702076529,0.961728350821,0.961754616274,0.961780872885,0.961807120657,0.961833359588,0.961859589677,0.961885810926,0.961912023333,0.961938226899,0.961964421622,0.961990607503,0.962016784542,0.962042952739,0.962069112092,0.962095262602,0.962121404269,0.962147537092,0.962173661072,0.962199776207,0.962225882498,0.962251979944,0.962278068546,0.962304148302,0.962330219214,0.962356281279,0.962382334499,0.962408378873,0.962434414401,0.962460441082,0.962486458917,0.962512467904,0.962538468044,0.962564459337,0.962590441782,0.96261641538,0.962642380129,0.962668336029,0.962694283081,0.962720221284,0.962746150638,0.962772071143,0.962797982798,0.962823885603,0.962849779559,0.962875664663,0.962901540918,0.962927408321,0.962953266874,0.962979116575,0.963004957425,0.963030789423,0.963056612569,0.963082426863,0.963108232304,0.963134028893,0.963159816628,0.963185595511,0.96321136554,0.963237126716,0.963262879038,0.963288622505,0.963314357118,0.963340082877,0.963365799781,0.96339150783,0.963417207023,0.963442897361,0.963468578844,0.96349425147,0.96351991524,0.963545570153,0.96357121621,0.96359685341,0.963622481753,0.963648101238,0.963673711866,0.963699313636,0.963724906547,0.963750490601,0.963776065795,0.963801632131,0.963827189608,0.963852738226,0.963878277984,0.963903808882,0.96392933092,0.963954844098,0.963980348416,0.964005843873,0.964031330469,0.964056808204,0.964082277077,0.964107737089,0.964133188239,0.964158630526,0.964184063952,0.964209488515,0.964234904215,0.964260311052,0.964285709025,0.964311098136,0.964336478382,0.964361849765,0.964387212283,0.964412565937,0.964437910726,0.96446324665,0.964488573709,0.964513891903,0.964539201231,0.964564501694,0.96458979329,0.96461507602,0.964640349883,0.96466561488,0.964690871009,0.964716118272,0.964741356667,0.964766586194,0.964791806853,0.964817018645,0.964842221567,0.964867415622,0.964892600807,0.964917777123,0.96494294457,0.964968103147,0.964993252855,0.965018393692,0.96504352566,0.965068648757,0.965093762983,0.965118868338,0.965143964822,0.965169052435,0.965194131176,0.965219201045,0.965244262042,0.965269314167,0.965294357419,0.965319391798,0.965344417305,0.965369433938,0.965394441698,0.965419440584,0.965444430596,0.965469411734,0.965494383997,0.965519347386,0.9655443019,0.965569247539,0.965594184303,0.965619112191,0.965644031204,0.96566894134,0.9656938426,0.965718734984,0.965743618491,0.965768493121,0.965793358874,0.96581821575,0.965843063748,0.965867902868,0.96589273311,0.965917554474,0.965942366959,0.965967170566,0.965991965294,0.966016751142,0.966041528111,0.966066296201,0.96609105541,0.96611580574,0.966140547189,0.966165279758,0.966190003445,0.966214718252,0.966239424178,0.966264121222,0.966288809384,0.966313488665,0.966338159063,0.966362820579,0.966387473212,0.966412116963,0.96643675183,0.966461377814,0.966485994915,0.966510603132,0.966535202465,0.966559792914,0.966584374478,0.966608947158,0.966633510953,0.966658065863,0.966682611887,0.966707149026,0.966731677279,0.966756196647,0.966780707128,0.966805208722,0.96682970143,0.966854185251,0.966878660185,0.966903126232,0.966927583391,0.966952031662,0.966976471045,0.96700090154,0.967025323146,0.967049735864,0.967074139693,0.967098534633,0.967122920683,0.967147297844,0.967171666115,0.967196025496,0.967220375986,0.967244717586,0.967269050296,0.967293374114,0.967317689042,0.967341995078,0.967366292222,0.967390580475,0.967414859835,0.967439130304,0.96746339188,0.967487644563,0.967511888353,0.96753612325,0.967560349253,0.967584566363,0.967608774579,0.967632973902,0.967657164329,0.967681345863,0.967705518501,0.967729682245,0.967753837093,0.967777983047,0.967802120104,0.967826248266,0.967850367531,0.967874477901,0.967898579374,0.96792267195,0.967946755629,0.967970830411,0.967994896296,0.968018953283,0.968043001372,0.968067040563,0.968091070856,0.968115092251,0.968139104746,0.968163108343,0.968187103041,0.968211088839,0.968235065738,0.968259033737,0.968282992836,0.968306943034,0.968330884332,0.96835481673,0.968378740226,0.968402654822,0.968426560516,0.968450457308,0.968474345199,0.968498224188,0.968522094274,0.968545955458,0.96856980774,0.968593651118,0.968617485594,0.968641311166,0.968665127834,0.968688935599,0.96871273446,0.968736524416,0.968760305469,0.968784077616,0.968807840859,0.968831595196,0.968855340629,0.968879077155,0.968902804776,0.968926523492,0.9689502333,0.968973934203,0.968997626199,0.969021309288,0.96904498347,0.969068648745,0.969092305113,0.969115952572,0.969139591124,0.969163220768,0.969186841503,0.96921045333,0.969234056248,0.969257650257,0.969281235357,0.969304811547,0.969328378828,0.969351937199,0.969375486659,0.96939902721,0.96942255885,0.969446081579,0.969469595397,0.969493100305,0.9695165963,0.969540083385,0.969563561557,0.969587030817,0.969610491166,0.969633942601,0.969657385124,0.969680818734,0.969704243431,0.969727659215,0.969751066085,0.969774464042,0.969797853084,0.969821233213,0.969844604427,0.969867966726,0.969891320111,0.96991466458,0.969938000134,0.969961326773,0.969984644496,0.970007953303,0.970031253195,0.970054544169,0.970077826228,0.970101099369,0.970124363594,0.970147618901,0.970170865291,0.970194102763,0.970217331318,0.970240550955,0.970263761673,0.970286963473,0.970310156354,0.970333340316,0.970356515359,0.970379681483,0.970402838688,0.970425986972,0.970449126337,0.970472256781,0.970495378306,0.970518490909,0.970541594592,0.970564689354,0.970587775194,0.970610852113,0.970633920111,0.970656979186,0.97068002934,0.970703070571,0.97072610288,0.970749126266,0.970772140729,0.970795146269,0.970818142886,0.970841130579,0.970864109348,0.970887079193,0.970910040115,0.970932992111,0.970955935184,0.970978869331,0.971001794553,0.97102471085,0.971047618222,0.971070516668,0.971093406188,0.971116286782,0.97113915845,0.971162021191,0.971184875005,0.971207719893,0.971230555853,0.971253382887,0.971276200992,0.97129901017,0.97132181042,0.971344601741,0.971367384135,0.971390157599,0.971412922135,0.971435677742,0.97145842442,0.971481162168,0.971503890986,0.971526610875,0.971549321833,0.971572023862,0.97159471696,0.971617401127,0.971640076363,0.971662742668,0.971685400042,0.971708048484,0.971730687995,0.971753318574,0.97177594022,0.971798552934,0.971821156716,0.971843751564,0.97186633748,0.971888914463,0.971911482512,0.971934041628,0.97195659181,0.971979133057,0.972001665371,0.97202418875,0.972046703195,0.972069208704,0.972091705279,0.972114192918,0.972136671622,0.97215914139,0.972181602223,0.972204054119,0.972226497079,0.972248931102,0.972271356189,0.972293772339,0.972316179552,0.972338577827,0.972360967165,0.972383347565,0.972405719027,0.972428081552,0.972450435137,0.972472779784,0.972495115493,0.972517442262,0.972539760093,0.972562068983,0.972584368935,0.972606659946,0.972628942018,0.972651215149,0.97267347934,0.97269573459,0.9727179809,0.972740218268,0.972762446696,0.972784666182,0.972806876726,0.972829078328,0.972851270989,0.972873454707,0.972895629482,0.972917795315,0.972939952206,0.972962100153,0.972984239157,0.973006369217,0.973028490334,0.973050602507,0.973072705735,0.97309480002,0.97311688536,0.973138961755,0.973161029206,0.973183087711,0.973205137271,0.973227177886,0.973249209555,0.973271232278,0.973293246055,0.973315250885,0.973337246769,0.973359233707,0.973381211697,0.973403180741,0.973425140837,0.973447091985,0.973469034186,0.973490967439,0.973512891744,0.9735348071,0.973556713508,0.973578610967,0.973600499478,0.973622379039,0.973644249651,0.973666111313,0.973687964026,0.973709807788,0.973731642601,0.973753468463,0.973775285375,0.973797093336,0.973818892346,0.973840682405,0.973862463512,0.973884235668,0.973905998872,0.973927753125,0.973949498425,0.973971234773,0.973992962168,0.974014680611,0.9740363901,0.974058090637,0.97407978222,0.97410146485,0.974123138525,0.974144803247,0.974166459015,0.974188105829,0.974209743688,0.974231372592,0.974252992541,0.974274603536,0.974296205575,0.974317798658,0.974339382786,0.974360957957,0.974382524173,0.974404081432,0.974425629735,0.974447169081,0.97446869947,0.974490220902,0.974511733377,0.974533236894,0.974554731454,0.974576217056,0.974597693699,0.974619161384,0.974640620111,0.974662069879,0.974683510689,0.974704942539,0.974726365429,0.974747779361,0.974769184333,0.974790580344,0.974811967396,0.974833345488,0.974854714619,0.974876074789,0.974897425999,0.974918768247,0.974940101534,0.97496142586,0.974982741224,0.975004047627,0.975025345067,0.975046633545,0.975067913061,0.975089183614,0.975110445204,0.975131697831,0.975152941495,0.975174176196,0.975195401933,0.975216618706,0.975237826516,0.975259025361,0.975280215241,0.975301396158,0.975322568109,0.975343731095,0.975364885117,0.975386030173,0.975407166263,0.975428293388,0.975449411546,0.975470520739,0.975491620965,0.975512712225,0.975533794518,0.975554867844,0.975575932204,0.975596987595,0.97561803402,0.975639071476,0.975660099965,0.975681119486,0.975702130039,0.975723131623,0.975744124238,0.975765107885,0.975786082562,0.975807048271,0.975828005009,0.975848952779,0.975869891578,0.975890821408,0.975911742267,0.975932654156,0.975953557075,0.975974451022,0.975995335999,0.976016212005,0.976037079039,0.976057937102,0.976078786193,0.976099626312,0.976120457459,0.976141279634,0.976162092836,0.976182897066,0.976203692322,0.976224478606,0.976245255916,0.976266024253,0.976286783617,0.976307534006,0.976328275422,0.976349007863,0.97636973133,0.976390445822,0.97641115134,0.976431847883,0.97645253545,0.976473214042,0.976493883659,0.9765145443,0.976535195965,0.976555838653,0.976576472366,0.976597097102,0.976617712862,0.976638319644,0.97665891745,0.976679506278,0.976700086129,0.976720657002,0.976741218897,0.976761771815,0.976782315754,0.976802850715,0.976823376697,0.976843893701,0.976864401725,0.976884900771,0.976905390837,0.976925871924,0.976946344031,0.976966807158,0.976987261305,0.977007706471,0.977028142658,0.977048569863,0.977068988088,0.977089397332,0.977109797595,0.977130188876,0.977150571176,0.977170944494,0.97719130883,0.977211664184,0.977232010555,0.977252347944,0.977272676351,0.977292995774,0.977313306214,0.977333607671,0.977353900145,0.977374183635,0.977394458142,0.977414723664,0.977434980202,0.977455227756,0.977475466325,0.977495695909,0.977515916509,0.977536128123,0.977556330752,0.977576524396,0.977596709053,0.977616884725,0.977637051411,0.977657209111,0.977677357825,0.977697497551,0.977717628291,0.977737750044,0.97775786281,0.977777966588,0.977798061379,0.977818147183,0.977838223998,0.977858291825,0.977878350664,0.977898400515,0.977918441377,0.97793847325,0.977958496134,0.977978510029,0.977998514935,0.978018510851,0.978038497777,0.978058475713,0.978078444659,0.978098404615,0.978118355581,0.978138297556,0.97815823054,0.978178154533,0.978198069534,0.978217975545,0.978237872564,0.978257760591,0.978277639626,0.978297509669,0.97831737072,0.978337222778,0.978357065843,0.978376899916,0.978396724996,0.978416541082,0.978436348175,0.978456146275,0.978475935381,0.978495715492,0.97851548661,0.978535248733,0.978555001862,0.978574745997,0.978594481136,0.97861420728,0.978633924429,0.978653632583,0.978673331741,0.978693021904,0.97871270307,0.978732375241,0.978752038415,0.978771692592,0.978791337773,0.978810973957,0.978830601144,0.978850219334,0.978869828527,0.978889428721,0.978909019919,0.978928602118,0.978948175319,0.978967739522,0.978987294726,0.979006840932,0.979026378139,0.979045906347,0.979065425556,0.979084935765,0.979104436975,0.979123929185,0.979143412395,0.979162886606,0.979182351816,0.979201808025,0.979221255234,0.979240693442,0.979260122649,0.979279542855,0.97929895406,0.979318356263,0.979337749464,0.979357133664,0.979376508861,0.979395875057,0.97941523225,0.97943458044,0.979453919628,0.979473249812,0.979492570994,0.979511883172,0.979531186347,0.979550480518,0.979569765685,0.979589041849,0.979608309008,0.979627567163,0.979646816313,0.979666056459,0.979685287599,0.979704509735,0.979723722866,0.979742926991,0.97976212211,0.979781308224,0.979800485331,0.979819653433,0.979838812528,0.979857962617,0.9798771037,0.979896235775,0.979915358843,0.979934472905,0.979953577958,0.979972674005,0.979991761043,0.980010839074,0.980029908097,0.980048968112,0.980068019118,0.980087061115,0.980106094104,0.980125118084,0.980144133055,0.980163139016,0.980182135968,0.980201123911,0.980220102843,0.980239072766,0.980258033678,0.98027698558,0.980295928472,0.980314862353,0.980333787223,0.980352703082,0.98037160993,0.980390507767,0.980409396592,0.980428276405,0.980447147207,0.980466008996,0.980484861773,0.980503705538,0.98052254029,0.98054136603,0.980560182756,0.98057899047,0.98059778917,0.980616578857,0.98063535953,0.980654131189,0.980672893834,0.980691647465,0.980710392082,0.980729127685,0.980747854272,0.980766571845,0.980785280403,0.980803979946,0.980822670473,0.980841351985,0.980860024482,0.980878687962,0.980897342426,0.980915987874,0.980934624306,0.980953251721,0.98097187012,0.980990479502,0.981009079866,0.981027671213,0.981046253543,0.981064826856,0.98108339115,0.981101946427,0.981120492686,0.981139029926,0.981157558148,0.981176077352,0.981194587536,0.981213088702,0.981231580849,0.981250063976,0.981268538084,0.981287003172,0.981305459241,0.981323906289,0.981342344318,0.981360773326,0.981379193314,0.981397604281,0.981416006227,0.981434399152,0.981452783057,0.98147115794,0.981489523801,0.981507880641,0.981526228459,0.981544567255,0.981562897028,0.98158121778,0.981599529509,0.981617832215,0.981636125899,0.98165441056,0.981672686197,0.981690952811,0.981709210402,0.981727458969,0.981745698512,0.981763929031,0.981782150526,0.981800362996,0.981818566443,0.981836760864,0.981854946261,0.981873122632,0.981891289979,0.9819094483,0.981927597595,0.981945737865,0.98196386911,0.981981991328,0.98200010452,0.982018208685,0.982036303824,0.982054389937,0.982072467022,0.982090535081,0.982108594113,0.982126644117,0.982144685093,0.982162717042,0.982180739963,0.982198753856,0.982216758721,0.982234754558,0.982252741366,0.982270719146,0.982288687896,0.982306647618,0.982324598311,0.982342539974,0.982360472608,0.982378396212,0.982396310786,0.98241421633,0.982432112845,0.982450000328,0.982467878782,0.982485748205,0.982503608597,0.982521459958,0.982539302287,0.982557135586,0.982574959853,0.982592775089,0.982610581292,0.982628378464,0.982646166604,0.982663945711,0.982681715786,0.982699476829,0.982717228838,0.982734971815,0.982752705758,0.982770430669,0.982788146546,0.982805853389,0.982823551199,0.982841239974,0.982858919716,0.982876590423,0.982894252096,0.982911904735,0.982929548339,0.982947182908,0.982964808441,0.98298242494,0.983000032403,0.983017630831,0.983035220223,0.983052800579,0.983070371899,0.983087934184,0.983105487431,0.983123031642,0.983140566817,0.983158092955,0.983175610055,0.983193118119,0.983210617145,0.983228107134,0.983245588085,0.983263059999,0.983280522874,0.983297976712,0.983315421511,0.983332857272,0.983350283994,0.983367701677,0.983385110322,0.983402509927,0.983419900493,0.98343728202,0.983454654507,0.983472017955,0.983489372362,0.98350671773,0.983524054058,0.983541381345,0.983558699591,0.983576008797,0.983593308962,0.983610600087,0.98362788217,0.983645155211,0.983662419212,0.98367967417,0.983696920087,0.983714156962,0.983731384795,0.983748603586,0.983765813334,0.98378301404,0.983800205703,0.983817388323,0.9838345619,0.983851726434,0.983868881924,0.983886028371,0.983903165774,0.983920294134,0.983937413449,0.983954523721,0.983971624948,0.98398871713,0.984005800268,0.984022874361,0.98403993941,0.984056995413,0.984074042371,0.984091080283,0.98410810915,0.984125128972,0.984142139747,0.984159141476,0.98417613416,0.984193117797,0.984210092387,0.984227057931,0.984244014428,0.984260961878,0.98427790028,0.984294829636,0.984311749944,0.984328661205,0.984345563418,0.984362456583,0.984379340699,0.984396215768,0.984413081789,0.98442993876,0.984446786684,0.984463625558,0.984480455383,0.984497276159,0.984514087886,0.984530890564,0.984547684192,0.98456446877,0.984581244298,0.984598010776,0.984614768204,0.984631516582,0.984648255909,0.984664986185,0.984681707411,0.984698419586,0.984715122709,0.984731816781,0.984748501802,0.984765177771,0.984781844688,0.984798502554,0.984815151367,0.984831791128,0.984848421837,0.984865043494,0.984881656097,0.984898259648,0.984914854146,0.984931439591,0.984948015982,0.98496458332,0.984981141605,0.984997690835,0.985014231012,0.985030762135,0.985047284204,0.985063797218,0.985080301178,0.985096796083,0.985113281933,0.985129758728,0.985146226469,0.985162685154,0.985179134783,0.985195575357,0.985212006876,0.985228429338,0.985244842745,0.985261247095,0.985277642389,0.985294028626,0.985310405807,0.985326773932,0.985343132999,0.985359483009,0.985375823962,0.985392155858,0.985408478696,0.985424792476,0.985441097199,0.985457392864,0.98547367947,0.985489957018,0.985506225508,0.98552248494,0.985538735312,0.985554976626,0.985571208881,0.985587432076,0.985603646213,0.985619851289,0.985636047307,0.985652234264,0.985668412162,0.985684580999,0.985700740776,0.985716891493,0.98573303315,0.985749165746,0.985765289281,0.985781403755,0.985797509168,0.985813605519,0.98582969281,0.985845771038,0.985861840206,0.985877900311,0.985893951354,0.985909993335,0.985926026254,0.985942050111,0.985958064905,0.985974070636,0.985990067304,0.98600605491,0.986022033452,0.986038002931,0.986053963346,0.986069914698,0.986085856986,0.98610179021,0.986117714371,0.986133629467,0.986149535498,0.986165432465,0.986181320368,0.986197199206,0.986213068979,0.986228929686,0.986244781329,0.986260623906,0.986276457418,0.986292281864,0.986308097245,0.986323903559,0.986339700807,0.986355488989,0.986371268105,0.986387038154,0.986402799137,0.986418551053,0.986434293902,0.986450027683,0.986465752398,0.986481468045,0.986497174625,0.986512872136,0.986528560581,0.986544239957,0.986559910265,0.986575571505,0.986591223676,0.986606866779,0.986622500813,0.986638125778,0.986653741675,0.986669348502,0.98668494626,0.986700534949,0.986716114568,0.986731685117,0.986747246597,0.986762799007,0.986778342346,0.986793876615,0.986809401814,0.986824917943,0.986840425,0.986855922987,0.986871411903,0.986886891748,0.986902362521,0.986917824223,0.986933276854,0.986948720413,0.9869641549,0.986979580315,0.986994996658,0.987010403928,0.987025802127,0.987041191253,0.987056571306,0.987071942286,0.987087304193,0.987102657028,0.987118000789,0.987133335477,0.987148661091,0.987163977631,0.987179285098,0.987194583491,0.987209872809,0.987225153054,0.987240424224,0.987255686319,0.98727093934,0.987286183287,0.987301418158,0.987316643954,0.987331860675,0.987347068321,0.987362266891,0.987377456385,0.987392636804,0.987407808147,0.987422970414,0.987438123605,0.987453267719,0.987468402757,0.987483528718,0.987498645603,0.98751375341,0.987528852141,0.987543941794,0.987559022371,0.987574093869,0.987589156291,0.987604209634,0.9876192539,0.987634289087,0.987649315197,0.987664332228,0.987679340181,0.987694339055,0.987709328851,0.987724309568,0.987739281206,0.987754243765,0.987769197244,0.987784141645,0.987799076965,0.987814003206,0.987828920368,0.987843828449,0.987858727451,0.987873617372,0.987888498213,0.987903369973,0.987918232653,0.987933086252,0.98794793077,0.987962766207,0.987977592563,0.987992409838,0.988007218031,0.988022017143,0.988036807173,0.988051588122,0.988066359988,0.988081122772,0.988095876474,0.988110621094,0.988125356631,0.988140083086,0.988154800457,0.988169508746,0.988184207952,0.988198898075,0.988213579114,0.98822825107,0.988242913942,0.988257567731,0.988272212435,0.988286848056,0.988301474593,0.988316092045,0.988330700413,0.988345299697,0.988359889895,0.988374471009,0.988389043038,0.988403605982,0.988418159841,0.988432704615,0.988447240303,0.988461766905,0.988476284422,0.988490792853,0.988505292198,0.988519782456,0.988534263629,0.988548735715,0.988563198714,0.988577652627,0.988592097453,0.988606533192,0.988620959844,0.988635377409,0.988649785887,0.988664185277,0.98867857558,0.988692956794,0.988707328921,0.98872169196,0.988736045911,0.988750390774,0.988764726548,0.988779053234,0.988793370831,0.988807679339,0.988821978758,0.988836269089,0.98885055033,0.988864822482,0.988879085544,0.988893339517,0.9889075844,0.988921820194,0.988936046897,0.98895026451,0.988964473033,0.988978672466,0.988992862808,0.98900704406,0.989021216221,0.989035379291,0.98904953327,0.989063678158,0.989077813955,0.98909194066,0.989106058273,0.989120166796,0.989134266226,0.989148356564,0.989162437811,0.989176509965,0.989190573027,0.989204626996,0.989218671873,0.989232707657,0.989246734349,0.989260751947,0.989274760452,0.989288759865,0.989302750183,0.989316731409,0.989330703541,0.989344666579,0.989358620523,0.989372565373,0.989386501129,0.989400427791,0.989414345359,0.989428253832,0.989442153211,0.989456043494,0.989469924683,0.989483796777,0.989497659776,0.989511513679,0.989525358487,0.9895391942,0.989553020817,0.989566838338,0.989580646764,0.989594446093,0.989608236326,0.989622017463,0.989635789504,0.989649552448,0.989663306295,0.989677051046,0.989690786699,0.989704513256,0.989718230716,0.989731939078,0.989745638343,0.98975932851,0.98977300958,0.989786681552,0.989800344426,0.989813998202,0.989827642879,0.989841278459,0.98985490494,0.989868522322,0.989882130606,0.989895729791,0.989909319878,0.989922900865,0.989936472753,0.989950035542,0.989963589231,0.989977133821,0.989990669311,0.990004195701,0.990017712992,0.990031221182,0.990044720272,0.990058210262,0.990071691152,0.990085162941,0.990098625629,0.990112079217,0.990125523704,0.990138959089,0.990152385374,0.990165802557,0.990179210639,0.99019260962,0.990205999498,0.990219380275,0.99023275195,0.990246114523,0.990259467994,0.990272812363,0.99028614763,0.990299473793,0.990312790855,0.990326098813,0.990339397669,0.990352687421,0.990365968071,0.990379239617,0.99039250206,0.9904057554,0.990418999635,0.990432234768,0.990445460796,0.99045867772,0.99047188554,0.990485084256,0.990498273868,0.990511454375,0.990524625778,0.990537788076,0.990550941269,0.990564085358,0.990577220341,0.990590346219,0.990603462992,0.990616570659,0.990629669221,0.990642758677,0.990655839027,0.990668910272,0.99068197241,0.990695025443,0.990708069369,0.990721104188,0.990734129902,0.990747146508,0.990760154008,0.990773152401,0.990786141687,0.990799121866,0.990812092938,0.990825054902,0.990838007759,0.990850951508,0.99086388615,0.990876811684,0.99088972811,0.990902635428,0.990915533638,0.990928422739,0.990941302732,0.990954173617,0.990967035392,0.99097988806,0.990992731618,0.991005566067,0.991018391407,0.991031207638,0.99104401476,0.991056812772,0.991069601674,0.991082381467,0.99109515215,0.991107913723,0.991120666186,0.991133409539,0.991146143782,0.991158868914,0.991171584936,0.991184291847,0.991196989647,0.991209678336,0.991222357915,0.991235028382,0.991247689738,0.991260341983,0.991272985116,0.991285619138,0.991298244048,0.991310859846,0.991323466532,0.991336064107,0.991348652569,0.991361231919,0.991373802156,0.991386363281,0.991398915294,0.991411458193,0.99142399198,0.991436516654,0.991449032215,0.991461538662,0.991474035997,0.991486524218,0.991499003325,0.991511473319,0.991523934199,0.991536385965,0.991548828617,0.991561262155,0.991573686579,0.991586101888,0.991598508083,0.991610905163,0.991623293129,0.99163567198,0.991648041716,0.991660402337,0.991672753843,0.991685096234,0.991697429509,0.991709753669,0.991722068713,0.991734374642,0.991746671455,0.991758959152,0.991771237732,0.991783507197,0.991795767545,0.991808018777,0.991820260893,0.991832493892,0.991844717774,0.991856932539,0.991869138188,0.991881334719,0.991893522134,0.991905700431,0.99191786961,0.991930029672,0.991942180617,0.991954322444,0.991966455153,0.991978578744,0.991990693216,0.992002798571,0.992014894808,0.992026981926,0.992039059925,0.992051128806,0.992063188569,0.992075239212,0.992087280737,0.992099313142,0.992111336428,0.992123350596,0.992135355643,0.992147351571,0.99215933838,0.992171316069,0.992183284638,0.992195244087,0.992207194416,0.992219135625,0.992231067713,0.992242990681,0.992254904529,0.992266809256,0.992278704863,0.992290591348,0.992302468713,0.992314336957,0.992326196079,0.99233804608,0.99234988696,0.992361718719,0.992373541356,0.992385354871,0.992397159264,0.992408954536,0.992420740685,0.992432517713,0.992444285618,0.992456044401,0.992467794061,0.992479534599,0.992491266014,0.992502988306,0.992514701476,0.992526405522,0.992538100446,0.992549786246,0.992561462923,0.992573130476,0.992584788906,0.992596438213,0.992608078395,0.992619709454,0.992631331389,0.9926429442,0.992654547887,0.992666142449,0.992677727887,0.9926893042,0.992700871389,0.992712429454,0.992723978393,0.992735518208,0.992747048897,0.992758570462,0.992770082901,0.992781586215,0.992793080403,0.992804565466,0.992816041403,0.992827508215,0.9928389659,0.99285041446,0.992861853893,0.992873284201,0.992884705382,0.992896117437,0.992907520365,0.992918914167,0.992930298842,0.99294167439,0.992953040811,0.992964398105,0.992975746273,0.992987085312,0.992998415225,0.99300973601,0.993021047668,0.993032350198,0.9930436436,0.993054927875,0.993066203021,0.993077469039,0.99308872593,0.993099973692,0.993111212325,0.99312244183,0.993133662207,0.993144873455,0.993156075574,0.993167268564,0.993178452426,0.993189627158,0.993200792761,0.993211949235,0.993223096579,0.993234234794,0.993245363879,0.993256483835,0.993267594661,0.993278696356,0.993289788922,0.993300872358,0.993311946664,0.993323011839,0.993334067884,0.993345114798,0.993356152582,0.993367181235,0.993378200757,0.993389211148,0.993400212408,0.993411204537,0.993422187535,0.993433161402,0.993444126137,0.993455081741,0.993466028213,0.993476965553,0.993487893761,0.993498812838,0.993509722782,0.993520623595,0.993531515275,0.993542397822,0.993553271238,0.993564135521,0.993574990671,0.993585836688,0.993596673573,0.993607501325,0.993618319943,0.993629129429,0.993639929781,0.993650721,0.993661503086,0.993672276038,0.993683039856,0.993693794541,0.993704540092,0.993715276509,0.993726003792,0.993736721941,0.993747430955,0.993758130836,0.993768821582,0.993779503193,0.99379017567,0.993800839012,0.993811493219,0.993822138292,0.993832774229,0.993843401031,0.993854018698,0.99386462723,0.993875226626,0.993885816887,0.993896398013,0.993906970002,0.993917532856,0.993928086574,0.993938631156,0.993949166602,0.993959692912,0.993970210085,0.993980718123,0.993991217023,0.994001706787,0.994012187415,0.994022658906,0.99403312126,0.994043574477,0.994054018557,0.994064453499,0.994074879305,0.994085295973,0.994095703504,0.994106101897,0.994116491153,0.994126871271,0.994137242251,0.994147604093,0.994157956798,0.994168300364,0.994178634792,0.994188960082,0.994199276233,0.994209583246,0.994219881121,0.994230169856,0.994240449453,0.994250719911,0.99426098123,0.994271233411,0.994281476452,0.994291710353,0.994301935116,0.994312150739,0.994322357223,0.994332554567,0.994342742771,0.994352921835,0.99436309176,0.994373252545,0.994383404189,0.994393546694,0.994403680058,0.994413804281,0.994423919365,0.994434025308,0.99444412211,0.994454209771,0.994464288292,0.994474357672,0.994484417911,0.994494469008,0.994504510965,0.99451454378,0.994524567454,0.994534581987,0.994544587377,0.994554583627,0.994564570734,0.9945745487,0.994584517524,0.994594477206,0.994604427745,0.994614369143,0.994624301398,0.994634224511,0.994644138481,0.994654043309,0.994663938994,0.994673825536,0.994683702936,0.994693571193,0.994703430306,0.994713280277,0.994723121104,0.994732952788,0.994742775329,0.994752588726,0.99476239298,0.99477218809,0.994781974057,0.994791750879,0.994801518558,0.994811277092,0.994821026483,0.994830766729,0.994840497831,0.994850219789,0.994859932602,0.994869636271,0.994879330795,0.994889016174,0.994898692409,0.994908359498,0.994918017443,0.994927666243,0.994937305897,0.994946936406,0.99495655777,0.994966169989,0.994975773061,0.994985366989,0.99499495177,0.995004527406,0.995014093896,0.99502365124,0.995033199438,0.99504273849,0.995052268396,0.995061789155,0.995071300768,0.995080803234,0.995090296554,0.995099780727,0.995109255754,0.995118721633,0.995128178366,0.995137625952,0.99514706439,0.995156493682,0.995165913826,0.995175324823,0.995184726672,0.995194119374,0.995203502928,0.995212877335,0.995222242594,0.995231598705,0.995240945667,0.995250283482,0.995259612149,0.995268931668,0.995278242038,0.99528754326,0.995296835333,0.995306118258,0.995315392034,0.995324656662,0.99533391214,0.99534315847,0.995352395651,0.995361623683,0.995370842565,0.995380052299,0.995389252883,0.995398444317,0.995407626603,0.995416799738,0.995425963724,0.99543511856,0.995444264247,0.995453400783,0.995462528169,0.995471646406,0.995480755492,0.995489855428,0.995498946213,0.995508027849,0.995517100333,0.995526163668,0.995535217851,0.995544262884,0.995553298766,0.995562325497,0.995571343077,0.995580351506,0.995589350783,0.99559834091,0.995607321885,0.995616293709,0.995625256381,0.995634209902,0.995643154271,0.995652089488,0.995661015554,0.995669932467,0.995678840229,0.995687738838,0.995696628296,0.995705508601,0.995714379754,0.995723241754,0.995732094602,0.995740938298,0.99574977284,0.99575859823,0.995767414468,0.995776221552,0.995785019483,0.995793808262,0.995802587887,0.995811358359,0.995820119678,0.995828871843,0.995837614855,0.995846348714,0.995855073419,0.99586378897,0.995872495367,0.995881192611,0.9958898807,0.995898559636,0.995907229417,0.995915890045,0.995924541518,0.995933183837,0.995941817001,0.995950441011,0.995959055866,0.995967661567,0.995976258113,0.995984845504,0.99599342374,0.996001992822,0.996010552748,0.996019103519,0.996027645135,0.996036177596,0.996044700901,0.996053215051,0.996061720046,0.996070215884,0.996078702568,0.996087180095,0.996095648467,0.996104107682,0.996112557742,0.996120998646,0.996129430393,0.996137852985,0.99614626642,0.996154670699,0.996163065821,0.996171451787,0.996179828596,0.996188196248,0.996196554744,0.996204904083,0.996213244265,0.99622157529,0.996229897158,0.996238209869,0.996246513422,0.996254807819,0.996263093058,0.996271369139,0.996279636063,0.99628789383,0.996296142438,0.99630438189,0.996312612183,0.996320833318,0.996329045295,0.996337248115,0.996345441776,0.996353626279,0.996361801624,0.99636996781,0.996378124838,0.996386272708,0.996394411419,0.996402540971,0.996410661364,0.996418772599,0.996426874675,0.996434967592,0.99644305135,0.996451125949,0.996459191389,0.996467247669,0.99647529479,0.996483332752,0.996491361554,0.996499381197,0.99650739168,0.996515393004,0.996523385167,0.996531368171,0.996539342015,0.996547306699,0.996555262223,0.996563208587,0.996571145791,0.996579073834,0.996586992717,0.99659490244,0.996602803002,0.996610694403,0.996618576644,0.996626449724,0.996634313644,0.996642168402,0.996650014,0.996657850437,0.996665677712,0.996673495827,0.99668130478,0.996689104572,0.996696895203,0.996704676672,0.99671244898,0.996720212126,0.996727966111,0.996735710933,0.996743446594,0.996751173094,0.996758890431,0.996766598606,0.996774297619,0.99678198747,0.996789668159,0.996797339686,0.99680500205,0.996812655252,0.996820299291,0.996827934168,0.996835559882,0.996843176434,0.996850783822,0.996858382048,0.996865971111,0.996873551011,0.996881121748,0.996888683322,0.996896235732,0.99690377898,0.996911313064,0.996918837984,0.996926353741,0.996933860335,0.996941357765,0.996948846031,0.996956325134,0.996963795073,0.996971255848,0.996978707459,0.996986149906,0.996993583189,0.997001007307,0.997008422262,0.997015828052,0.997023224678,0.997030612139,0.997037990436,0.997045359569,0.997052719536,0.997060070339,0.997067411978,0.997074744451,0.99708206776,0.997089381903,0.997096686882,0.997103982696,0.997111269344,0.997118546827,0.997125815145,0.997133074297,0.997140324284,0.997147565106,0.997154796762,0.997162019252,0.997169232576,0.997176436735,0.997183631728,0.997190817555,0.997197994217,0.997205161712,0.997212320041,0.997219469204,0.9972266092,0.99723374003,0.997240861694,0.997247974192,0.997255077523,0.997262171688,0.997269256685,0.997276332517,0.997283399181,0.997290456679,0.997297505009,0.997304544173,0.99731157417,0.997318595,0.997325606662,0.997332609158,0.997339602486,0.997346586647,0.99735356164,0.997360527466,0.997367484124,0.997374431615,0.997381369938,0.997388299094,0.997395219081,0.997402129901,0.997409031553,0.997415924037,0.997422807353,0.997429681501,0.997436546481,0.997443402292,0.997450248935,0.99745708641,0.997463914716,0.997470733854,0.997477543824,0.997484344624,0.997491136257,0.99749791872,0.997504692015,0.99751145614,0.997518211097,0.997524956885,0.997531693504,0.997538420954,0.997545139234,0.997551848346,0.997558548288,0.99756523906,0.997571920664,0.997578593098,0.997585256362,0.997591910457,0.997598555382,0.997605191137,0.997611817723,0.997618435139,0.997625043384,0.99763164246,0.997638232366,0.997644813102,0.997651384668,0.997657947063,0.997664500289,0.997671044343,0.997677579228,0.997684104942,0.997690621486,0.997697128859,0.997703627061,0.997710116093,0.997716595954,0.997723066644,0.997729528164,0.997735980512,0.997742423689,0.997748857696,0.997755282531,0.997761698195,0.997768104688,0.99777450201,0.997780890161,0.99778726914,0.997793638947,0.997799999583,0.997806351048,0.99781269334,0.997819026462,0.997825350411,0.997831665189,0.997837970795,0.997844267228,0.99785055449,0.99785683258,0.997863101498,0.997869361244,0.997875611817,0.997881853218,0.997888085447,0.997894308504,0.997900522388,0.997906727099,0.997912922638,0.997919109005,0.997925286199,0.99793145422,0.997937613068,0.997943762743,0.997949903246,0.997956034576,0.997962156732,0.997968269716,0.997974373526,0.997980468164,0.997986553628,0.997992629919,0.997998697036,0.99800475498,0.998010803751,0.998016843348,0.998022873771,0.998028895021,0.998034907098,0.99804091,0.998046903729,0.998052888284,0.998058863665,0.998064829872,0.998070786905,0.998076734765,0.99808267345,0.99808860296,0.998094523297,0.998100434459,0.998106336447,0.998112229261,0.9981181129,0.998123987365,0.998129852655,0.998135708771,0.998141555712,0.998147393478,0.998153222069,0.998159041486,0.998164851728,0.998170652795,0.998176444686,0.998182227403,0.998188000945,0.998193765312,0.998199520503,0.99820526652,0.99821100336,0.998216731026,0.998222449516,0.998228158831,0.99823385897,0.998239549934,0.998245231722,0.998250904335,0.998256567771,0.998262222032,0.998267867118,0.998273503027,0.99827912976,0.998284747318,0.998290355699,0.998295954905,0.998301544934,0.998307125787,0.998312697464,0.998318259964,0.998323813289,0.998329357436,0.998334892408,0.998340418203,0.998345934821,0.998351442263,0.998356940528,0.998362429617,0.998367909529,0.998373380264,0.998378841822,0.998384294203,0.998389737407,0.998395171435,0.998400596285,0.998406011958,0.998411418454,0.998416815773,0.998422203915,0.998427582879,0.998432952667,0.998438313276,0.998443664708,0.998449006963,0.998454340041,0.99845966394,0.998464978662,0.998470284207,0.998475580573,0.998480867762,0.998486145773,0.998491414606,0.998496674262,0.998501924739,0.998507166038,0.99851239816,0.998517621103,0.998522834868,0.998528039454,0.998533234863,0.998538421093,0.998543598145,0.998548766018,0.998553924713,0.99855907423,0.998564214568,0.998569345727,0.998574467708,0.99857958051,0.998584684133,0.998589778578,0.998594863843,0.99859993993,0.998605006838,0.998610064567,0.998615113117,0.998620152488,0.99862518268,0.998630203693,0.998635215526,0.99864021818,0.998645211655,0.998650195951,0.998655171067,0.998660137004,0.998665093761,0.998670041339,0.998674979737,0.998679908956,0.998684828995,0.998689739854,0.998694641534,0.998699534034,0.998704417353,0.998709291494,0.998714156454,0.998719012234,0.998723858834,0.998728696254,0.998733524494,0.998738343554,0.998743153434,0.998747954133,0.998752745652,0.998757527991,0.99876230115,0.998767065128,0.998771819925,0.998776565542,0.998781301979,0.998786029235,0.99879074731,0.998795456205,0.998800155919,0.998804846452,0.998809527805,0.998814199976,0.998818862967,0.998823516777,0.998828161406,0.998832796854,0.99883742312,0.998842040206,0.99884664811,0.998851246834,0.998855836376,0.998860416737,0.998864987916,0.998869549914,0.998874102731,0.998878646366,0.99888318082,0.998887706093,0.998892222183,0.998896729092,0.99890122682,0.998905715366,0.99891019473,0.998914664912,0.998919125913,0.998923577731,0.998928020368,0.998932453823,0.998936878096,0.998941293187,0.998945699096,0.998950095822,0.998954483367,0.998958861729,0.99896323091,0.998967590908,0.998971941723,0.998976283356,0.998980615807,0.998984939076,0.998989253162,0.998993558066,0.998997853787,0.999002140325,0.999006417681,0.999010685854,0.999014944845,0.999019194652,0.999023435277,0.99902766672,0.999031888979,0.999036102055,0.999040305949,0.999044500659,0.999048686187,0.999052862532,0.999057029693,0.999061187671,0.999065336466,0.999069476078,0.999073606507,0.999077727753,0.999081839815,0.999085942694,0.999090036389,0.999094120901,0.99909819623,0.999102262375,0.999106319336,0.999110367114,0.999114405709,0.999118435119,0.999122455346,0.99912646639,0.999130468249,0.999134460925,0.999138444417,0.999142418725,0.999146383849,0.999150339789,0.999154286545,0.999158224118,0.999162152506,0.99916607171,0.99916998173,0.999173882566,0.999177774217,0.999181656685,0.999185529968,0.999189394067,0.999193248981,0.999197094711,0.999200931257,0.999204758618,0.999208576795,0.999212385787,0.999216185595,0.999219976218,0.999223757657,0.999227529911,0.99923129298,0.999235046865,0.999238791564,0.999242527079,0.999246253409,0.999249970555,0.999253678515,0.999257377291,0.999261066881,0.999264747287,0.999268418507,0.999272080543,0.999275733393,0.999279377058,0.999283011538,0.999286636833,0.999290252943,0.999293859867,0.999297457606,0.99930104616,0.999304625528,0.999308195711,0.999311756709,0.999315308521,0.999318851147,0.999322384588,0.999325908844,0.999329423914,0.999332929798,0.999336426497,0.99933991401,0.999343392337,0.999346861478,0.999350321434,0.999353772204,0.999357213788,0.999360646186,0.999364069399,0.999367483425,0.999370888265,0.99937428392,0.999377670388,0.99938104767,0.999384415766,0.999387774676,0.9993911244,0.999394464938,0.99939779629,0.999401118455,0.999404431434,0.999407735226,0.999411029833,0.999414315253,0.999417591486,0.999420858533,0.999424116394,0.999427365068,0.999430604555,0.999433834857,0.999437055971,0.999440267899,0.99944347064,0.999446664195,0.999449848562,0.999453023744,0.999456189738,0.999459346546,0.999462494166,0.9994656326,0.999468761847,0.999471881907,0.999474992781,0.999478094467,0.999481186966,0.999484270278,0.999487344404,0.999490409342,0.999493465093,0.999496511657,0.999499549033,0.999502577223,0.999505596225,0.99950860604,0.999511606668,0.999514598109,0.999517580362,0.999520553428,0.999523517306,0.999526471997,0.999529417501,0.999532353817,0.999535280946,0.999538198887,0.999541107641,0.999544007207,0.999546897585,0.999549778776,0.999552650779,0.999555513595,0.999558367223,0.999561211663,0.999564046915,0.99956687298,0.999569689857,0.999572497546,0.999575296047,0.99957808536,0.999580865485,0.999583636423,0.999586398172,0.999589150734,0.999591894107,0.999594628292,0.99959735329,0.999600069099,0.99960277572,0.999605473153,0.999608161398,0.999610840455,0.999613510323,0.999616171003,0.999618822495,0.999621464799,0.999624097914,0.999626721841,0.99962933658,0.99963194213,0.999634538492,0.999637125666,0.999639703651,0.999642272447,0.999644832055,0.999647382475,0.999649923706,0.999652455748,0.999654978602,0.999657492267,0.999659996744,0.999662492032,0.999664978131,0.999667455042,0.999669922763,0.999672381297,0.999674830641,0.999677270796,0.999679701763,0.999682123541,0.99968453613,0.99968693953,0.999689333741,0.999691718763,0.999694094597,0.999696461241,0.999698818696,0.999701166963,0.99970350604,0.999705835928,0.999708156627,0.999710468137,0.999712770458,0.99971506359,0.999717347532,0.999719622286,0.99972188785,0.999724144225,0.999726391411,0.999728629407,0.999730858214,0.999733077832,0.999735288261,0.9997374895,0.999739681549,0.99974186441,0.999744038081,0.999746202562,0.999748357855,0.999750503957,0.99975264087,0.999754768594,0.999756887128,0.999758996472,0.999761096627,0.999763187593,0.999765269369,0.999767341955,0.999769405351,0.999771459558,0.999773504575,0.999775540403,0.99977756704,0.999779584488,0.999781592747,0.999783591815,0.999785581694,0.999787562382,0.999789533881,0.999791496191,0.99979344931,0.999795393239,0.999797327979,0.999799253528,0.999801169888,0.999803077058,0.999804975037,0.999806863827,0.999808743427,0.999810613836,0.999812475056,0.999814327085,0.999816169925,0.999818003574,0.999819828034,0.999821643303,0.999823449382,0.99982524627,0.999827033969,0.999828812478,0.999830581796,0.999832341924,0.999834092862,0.999835834609,0.999837567166,0.999839290533,0.99984100471,0.999842709696,0.999844405492,0.999846092098,0.999847769513,0.999849437738,0.999851096772,0.999852746616,0.99985438727,0.999856018733,0.999857641006,0.999859254088,0.99986085798,0.999862452681,0.999864038192,0.999865614512,0.999867181641,0.999868739581,0.999870288329,0.999871827887,0.999873358254,0.999874879431,0.999876391417,0.999877894212,0.999879387817,0.999880872231,0.999882347454,0.999883813487,0.999885270329,0.99988671798,0.99988815644,0.99988958571,0.999891005789,0.999892416677,0.999893818374,0.999895210881,0.999896594197,0.999897968321,0.999899333256,0.999900688999,0.999902035551,0.999903372912,0.999904701083,0.999906020062,0.999907329851,0.999908630449,0.999909921856,0.999911204071,0.999912477096,0.99991374093,0.999914995573,0.999916241025,0.999917477286,0.999918704356,0.999919922235,0.999921130922,0.999922330419,0.999923520725,0.999924701839,0.999925873763,0.999927036495,0.999928190036,0.999929334386,0.999930469545,0.999931595513,0.99993271229,0.999933819875,0.99993491827,0.999936007473,0.999937087485,0.999938158305,0.999939219935,0.999940272373,0.99994131562,0.999942349676,0.999943374541,0.999944390214,0.999945396696,0.999946393987,0.999947382086,0.999948360994,0.999949330711,0.999950291236,0.999951242571,0.999952184714,0.999953117665,0.999954041425,0.999954955994,0.999955861371,0.999956757557,0.999957644552,0.999958522355,0.999959390967,0.999960250387,0.999961100616,0.999961941654,0.9999627735,0.999963596155,0.999964409618,0.99996521389,0.99996600897,0.999966794859,0.999967571556,0.999968339062,0.999969097377,0.9999698465,0.999970586431,0.999971317171,0.999972038719,0.999972751076,0.999973454241,0.999974148215,0.999974832997,0.999975508588,0.999976174987,0.999976832194,0.99997748021,0.999978119035,0.999978748667,0.999979369109,0.999979980358,0.999980582416,0.999981175283,0.999981758957,0.999982333441,0.999982898732,0.999983454832,0.99998400174,0.999984539457,0.999985067982,0.999985587315,0.999986097457,0.999986598407,0.999987090165,0.999987572732,0.999988046107,0.99998851029,0.999988965282,0.999989411082,0.99998984769,0.999990275107,0.999990693332,0.999991102365,0.999991502206,0.999991892856,0.999992274314,0.999992646581,0.999993009655,0.999993363538,0.99999370823,0.999994043729,0.999994370037,0.999994687153,0.999994995077,0.99999529381,0.99999558335,0.999995863699,0.999996134857,0.999996396822,0.999996649596,0.999996893178,0.999997127568,0.999997352767,0.999997568774,0.999997775589,0.999997973212,0.999998161643,0.999998340883,0.999998510931,0.999998671787,0.999998823452,0.999998965924,0.999999099205,0.999999223294,0.999999338192,0.999999443897,0.999999540411,0.999999627733,0.999999705863,0.999999774801,0.999999834548,0.999999885103,0.999999926466,0.999999958637,0.999999981616,0.999999995404,1.0,0.999999995404,0.999999981616,0.999999958637,0.999999926466,0.999999885103,0.999999834548,0.999999774801,0.999999705863,0.999999627733,0.999999540411,0.999999443897,0.999999338192,0.999999223294,0.999999099205,0.999998965924,0.999998823452,0.999998671787,0.999998510931,0.999998340883,0.999998161643,0.999997973212,0.999997775589,0.999997568774,0.999997352767,0.999997127568,0.999996893178,0.999996649596,0.999996396822,0.999996134857,0.999995863699,0.99999558335,0.99999529381,0.999994995077,0.999994687153,0.999994370037,0.999994043729,0.99999370823,0.999993363538,0.999993009655,0.999992646581,0.999992274314,0.999991892856,0.999991502206,0.999991102365,0.999990693332,0.999990275107,0.99998984769,0.999989411082,0.999988965282,0.99998851029,0.999988046107,0.999987572732,0.999987090165,0.999986598407,0.999986097457,0.999985587315,0.999985067982,0.999984539457,0.99998400174,0.999983454832,0.999982898732,0.999982333441,0.999981758957,0.999981175283,0.999980582416,0.999979980358,0.999979369109,0.999978748667,0.999978119035,0.99997748021,0.999976832194,0.999976174987,0.999975508588,0.999974832997,0.999974148215,0.999973454241,0.999972751076,0.999972038719,0.999971317171,0.999970586431,0.9999698465,0.999969097377,0.999968339062,0.999967571556,0.999966794859,0.99996600897,0.99996521389,0.999964409618,0.999963596155,0.9999627735,0.999961941654,0.999961100616,0.999960250387,0.999959390967,0.999958522355,0.999957644552,0.999956757557,0.999955861371,0.999954955994,0.999954041425,0.999953117665,0.999952184714,0.999951242571,0.999950291236,0.999949330711,0.999948360994,0.999947382086,0.999946393987,0.999945396696,0.999944390214,0.999943374541,0.999942349676,0.99994131562,0.999940272373,0.999939219935,0.999938158305,0.999937087485,0.999936007473,0.99993491827,0.999933819875,0.99993271229,0.999931595513,0.999930469545,0.999929334386,0.999928190036,0.999927036495,0.999925873763,0.999924701839,0.999923520725,0.999922330419,0.999921130922,0.999919922235,0.999918704356,0.999917477286,0.999916241025,0.999914995573,0.99991374093,0.999912477096,0.999911204071,0.999909921856,0.999908630449,0.999907329851,0.999906020062,0.999904701083,0.999903372912,0.999902035551,0.999900688999,0.999899333256,0.999897968321,0.999896594197,0.999895210881,0.999893818374,0.999892416677,0.999891005789,0.99988958571,0.99988815644,0.99988671798,0.999885270329,0.999883813487,0.999882347454,0.999880872231,0.999879387817,0.999877894212,0.999876391417,0.999874879431,0.999873358254,0.999871827887,0.999870288329,0.999868739581,0.999867181641,0.999865614512,0.999864038192,0.999862452681,0.99986085798,0.999859254088,0.999857641006,0.999856018733,0.99985438727,0.999852746616,0.999851096772,0.999849437738,0.999847769513,0.999846092098,0.999844405492,0.999842709696,0.99984100471,0.999839290533,0.999837567166,0.999835834609,0.999834092862,0.999832341924,0.999830581796,0.999828812478,0.999827033969,0.99982524627,0.999823449382,0.999821643303,0.999819828034,0.999818003574,0.999816169925,0.999814327085,0.999812475056,0.999810613836,0.999808743427,0.999806863827,0.999804975037,0.999803077058,0.999801169888,0.999799253528,0.999797327979,0.999795393239,0.99979344931,0.999791496191,0.999789533881,0.999787562382,0.999785581694,0.999783591815,0.999781592747,0.999779584488,0.99977756704,0.999775540403,0.999773504575,0.999771459558,0.999769405351,0.999767341955,0.999765269369,0.999763187593,0.999761096627,0.999758996472,0.999756887128,0.999754768594,0.99975264087,0.999750503957,0.999748357855,0.999746202562,0.999744038081,0.99974186441,0.999739681549,0.9997374895,0.999735288261,0.999733077832,0.999730858214,0.999728629407,0.999726391411,0.999724144225,0.99972188785,0.999719622286,0.999717347532,0.99971506359,0.999712770458,0.999710468137,0.999708156627,0.999705835928,0.99970350604,0.999701166963,0.999698818696,0.999696461241,0.999694094597,0.999691718763,0.999689333741,0.99968693953,0.99968453613,0.999682123541,0.999679701763,0.999677270796,0.999674830641,0.999672381297,0.999669922763,0.999667455042,0.999664978131,0.999662492032,0.999659996744,0.999657492267,0.999654978602,0.999652455748,0.999649923706,0.999647382475,0.999644832055,0.999642272447,0.999639703651,0.999637125666,0.999634538492,0.99963194213,0.99962933658,0.999626721841,0.999624097914,0.999621464799,0.999618822495,0.999616171003,0.999613510323,0.999610840455,0.999608161398,0.999605473153,0.99960277572,0.999600069099,0.99959735329,0.999594628292,0.999591894107,0.999589150734,0.999586398172,0.999583636423,0.999580865485,0.99957808536,0.999575296047,0.999572497546,0.999569689857,0.99956687298,0.999564046915,0.999561211663,0.999558367223,0.999555513595,0.999552650779,0.999549778776,0.999546897585,0.999544007207,0.999541107641,0.999538198887,0.999535280946,0.999532353817,0.999529417501,0.999526471997,0.999523517306,0.999520553428,0.999517580362,0.999514598109,0.999511606668,0.99950860604,0.999505596225,0.999502577223,0.999499549033,0.999496511657,0.999493465093,0.999490409342,0.999487344404,0.999484270278,0.999481186966,0.999478094467,0.999474992781,0.999471881907,0.999468761847,0.9994656326,0.999462494166,0.999459346546,0.999456189738,0.999453023744,0.999449848562,0.999446664195,0.99944347064,0.999440267899,0.999437055971,0.999433834857,0.999430604555,0.999427365068,0.999424116394,0.999420858533,0.999417591486,0.999414315253,0.999411029833,0.999407735226,0.999404431434,0.999401118455,0.99939779629,0.999394464938,0.9993911244,0.999387774676,0.999384415766,0.99938104767,0.999377670388,0.99937428392,0.999370888265,0.999367483425,0.999364069399,0.999360646186,0.999357213788,0.999353772204,0.999350321434,0.999346861478,0.999343392337,0.99933991401,0.999336426497,0.999332929798,0.999329423914,0.999325908844,0.999322384588,0.999318851147,0.999315308521,0.999311756709,0.999308195711,0.999304625528,0.99930104616,0.999297457606,0.999293859867,0.999290252943,0.999286636833,0.999283011538,0.999279377058,0.999275733393,0.999272080543,0.999268418507,0.999264747287,0.999261066881,0.999257377291,0.999253678515,0.999249970555,0.999246253409,0.999242527079,0.999238791564,0.999235046865,0.99923129298,0.999227529911,0.999223757657,0.999219976218,0.999216185595,0.999212385787,0.999208576795,0.999204758618,0.999200931257,0.999197094711,0.999193248981,0.999189394067,0.999185529968,0.999181656685,0.999177774217,0.999173882566,0.99916998173,0.99916607171,0.999162152506,0.999158224118,0.999154286545,0.999150339789,0.999146383849,0.999142418725,0.999138444417,0.999134460925,0.999130468249,0.99912646639,0.999122455346,0.999118435119,0.999114405709,0.999110367114,0.999106319336,0.999102262375,0.99909819623,0.999094120901,0.999090036389,0.999085942694,0.999081839815,0.999077727753,0.999073606507,0.999069476078,0.999065336466,0.999061187671,0.999057029693,0.999052862532,0.999048686187,0.999044500659,0.999040305949,0.999036102055,0.999031888979,0.99902766672,0.999023435277,0.999019194652,0.999014944845,0.999010685854,0.999006417681,0.999002140325,0.998997853787,0.998993558066,0.998989253162,0.998984939076,0.998980615807,0.998976283356,0.998971941723,0.998967590908,0.99896323091,0.998958861729,0.998954483367,0.998950095822,0.998945699096,0.998941293187,0.998936878096,0.998932453823,0.998928020368,0.998923577731,0.998919125913,0.998914664912,0.99891019473,0.998905715366,0.99890122682,0.998896729092,0.998892222183,0.998887706093,0.99888318082,0.998878646366,0.998874102731,0.998869549914,0.998864987916,0.998860416737,0.998855836376,0.998851246834,0.99884664811,0.998842040206,0.99883742312,0.998832796854,0.998828161406,0.998823516777,0.998818862967,0.998814199976,0.998809527805,0.998804846452,0.998800155919,0.998795456205,0.99879074731,0.998786029235,0.998781301979,0.998776565542,0.998771819925,0.998767065128,0.99876230115,0.998757527991,0.998752745652,0.998747954133,0.998743153434,0.998738343554,0.998733524494,0.998728696254,0.998723858834,0.998719012234,0.998714156454,0.998709291494,0.998704417353,0.998699534034,0.998694641534,0.998689739854,0.998684828995,0.998679908956,0.998674979737,0.998670041339,0.998665093761,0.998660137004,0.998655171067,0.998650195951,0.998645211655,0.99864021818,0.998635215526,0.998630203693,0.99862518268,0.998620152488,0.998615113117,0.998610064567,0.998605006838,0.99859993993,0.998594863843,0.998589778578,0.998584684133,0.99857958051,0.998574467708,0.998569345727,0.998564214568,0.99855907423,0.998553924713,0.998548766018,0.998543598145,0.998538421093,0.998533234863,0.998528039454,0.998522834868,0.998517621103,0.99851239816,0.998507166038,0.998501924739,0.998496674262,0.998491414606,0.998486145773,0.998480867762,0.998475580573,0.998470284207,0.998464978662,0.99845966394,0.998454340041,0.998449006963,0.998443664708,0.998438313276,0.998432952667,0.998427582879,0.998422203915,0.998416815773,0.998411418454,0.998406011958,0.998400596285,0.998395171435,0.998389737407,0.998384294203,0.998378841822,0.998373380264,0.998367909529,0.998362429617,0.998356940528,0.998351442263,0.998345934821,0.998340418203,0.998334892408,0.998329357436,0.998323813289,0.998318259964,0.998312697464,0.998307125787,0.998301544934,0.998295954905,0.998290355699,0.998284747318,0.99827912976,0.998273503027,0.998267867118,0.998262222032,0.998256567771,0.998250904335,0.998245231722,0.998239549934,0.99823385897,0.998228158831,0.998222449516,0.998216731026,0.99821100336,0.99820526652,0.998199520503,0.998193765312,0.998188000945,0.998182227403,0.998176444686,0.998170652795,0.998164851728,0.998159041486,0.998153222069,0.998147393478,0.998141555712,0.998135708771,0.998129852655,0.998123987365,0.9981181129,0.998112229261,0.998106336447,0.998100434459,0.998094523297,0.99808860296,0.99808267345,0.998076734765,0.998070786905,0.998064829872,0.998058863665,0.998052888284,0.998046903729,0.99804091,0.998034907098,0.998028895021,0.998022873771,0.998016843348,0.998010803751,0.99800475498,0.997998697036,0.997992629919,0.997986553628,0.997980468164,0.997974373526,0.997968269716,0.997962156732,0.997956034576,0.997949903246,0.997943762743,0.997937613068,0.99793145422,0.997925286199,0.997919109005,0.997912922638,0.997906727099,0.997900522388,0.997894308504,0.997888085447,0.997881853218,0.997875611817,0.997869361244,0.997863101498,0.99785683258,0.99785055449,0.997844267228,0.997837970795,0.997831665189,0.997825350411,0.997819026462,0.99781269334,0.997806351048,0.997799999583,0.997793638947,0.99778726914,0.997780890161,0.99777450201,0.997768104688,0.997761698195,0.997755282531,0.997748857696,0.997742423689,0.997735980512,0.997729528164,0.997723066644,0.997716595954,0.997710116093,0.997703627061,0.997697128859,0.997690621486,0.997684104942,0.997677579228,0.997671044343,0.997664500289,0.997657947063,0.997651384668,0.997644813102,0.997638232366,0.99763164246,0.997625043384,0.997618435139,0.997611817723,0.997605191137,0.997598555382,0.997591910457,0.997585256362,0.997578593098,0.997571920664,0.99756523906,0.997558548288,0.997551848346,0.997545139234,0.997538420954,0.997531693504,0.997524956885,0.997518211097,0.99751145614,0.997504692015,0.99749791872,0.997491136257,0.997484344624,0.997477543824,0.997470733854,0.997463914716,0.99745708641,0.997450248935,0.997443402292,0.997436546481,0.997429681501,0.997422807353,0.997415924037,0.997409031553,0.997402129901,0.997395219081,0.997388299094,0.997381369938,0.997374431615,0.997367484124,0.997360527466,0.99735356164,0.997346586647,0.997339602486,0.997332609158,0.997325606662,0.997318595,0.99731157417,0.997304544173,0.997297505009,0.997290456679,0.997283399181,0.997276332517,0.997269256685,0.997262171688,0.997255077523,0.997247974192,0.997240861694,0.99723374003,0.9972266092,0.997219469204,0.997212320041,0.997205161712,0.997197994217,0.997190817555,0.997183631728,0.997176436735,0.997169232576,0.997162019252,0.997154796762,0.997147565106,0.997140324284,0.997133074297,0.997125815145,0.997118546827,0.997111269344,0.997103982696,0.997096686882,0.997089381903,0.99708206776,0.997074744451,0.997067411978,0.997060070339,0.997052719536,0.997045359569,0.997037990436,0.997030612139,0.997023224678,0.997015828052,0.997008422262,0.997001007307,0.996993583189,0.996986149906,0.996978707459,0.996971255848,0.996963795073,0.996956325134,0.996948846031,0.996941357765,0.996933860335,0.996926353741,0.996918837984,0.996911313064,0.99690377898,0.996896235732,0.996888683322,0.996881121748,0.996873551011,0.996865971111,0.996858382048,0.996850783822,0.996843176434,0.996835559882,0.996827934168,0.996820299291,0.996812655252,0.99680500205,0.996797339686,0.996789668159,0.99678198747,0.996774297619,0.996766598606,0.996758890431,0.996751173094,0.996743446594,0.996735710933,0.996727966111,0.996720212126,0.99671244898,0.996704676672,0.996696895203,0.996689104572,0.99668130478,0.996673495827,0.996665677712,0.996657850437,0.996650014,0.996642168402,0.996634313644,0.996626449724,0.996618576644,0.996610694403,0.996602803002,0.99659490244,0.996586992717,0.996579073834,0.996571145791,0.996563208587,0.996555262223,0.996547306699,0.996539342015,0.996531368171,0.996523385167,0.996515393004,0.99650739168,0.996499381197,0.996491361554,0.996483332752,0.99647529479,0.996467247669,0.996459191389,0.996451125949,0.99644305135,0.996434967592,0.996426874675,0.996418772599,0.996410661364,0.996402540971,0.996394411419,0.996386272708,0.996378124838,0.99636996781,0.996361801624,0.996353626279,0.996345441776,0.996337248115,0.996329045295,0.996320833318,0.996312612183,0.99630438189,0.996296142438,0.99628789383,0.996279636063,0.996271369139,0.996263093058,0.996254807819,0.996246513422,0.996238209869,0.996229897158,0.99622157529,0.996213244265,0.996204904083,0.996196554744,0.996188196248,0.996179828596,0.996171451787,0.996163065821,0.996154670699,0.99614626642,0.996137852985,0.996129430393,0.996120998646,0.996112557742,0.996104107682,0.996095648467,0.996087180095,0.996078702568,0.996070215884,0.996061720046,0.996053215051,0.996044700901,0.996036177596,0.996027645135,0.996019103519,0.996010552748,0.996001992822,0.99599342374,0.995984845504,0.995976258113,0.995967661567,0.995959055866,0.995950441011,0.995941817001,0.995933183837,0.995924541518,0.995915890045,0.995907229417,0.995898559636,0.9958898807,0.995881192611,0.995872495367,0.99586378897,0.995855073419,0.995846348714,0.995837614855,0.995828871843,0.995820119678,0.995811358359,0.995802587887,0.995793808262,0.995785019483,0.995776221552,0.995767414468,0.99575859823,0.99574977284,0.995740938298,0.995732094602,0.995723241754,0.995714379754,0.995705508601,0.995696628296,0.995687738838,0.995678840229,0.995669932467,0.995661015554,0.995652089488,0.995643154271,0.995634209902,0.995625256381,0.995616293709,0.995607321885,0.99559834091,0.995589350783,0.995580351506,0.995571343077,0.995562325497,0.995553298766,0.995544262884,0.995535217851,0.995526163668,0.995517100333,0.995508027849,0.995498946213,0.995489855428,0.995480755492,0.995471646406,0.995462528169,0.995453400783,0.995444264247,0.99543511856,0.995425963724,0.995416799738,0.995407626603,0.995398444317,0.995389252883,0.995380052299,0.995370842565,0.995361623683,0.995352395651,0.99534315847,0.99533391214,0.995324656662,0.995315392034,0.995306118258,0.995296835333,0.99528754326,0.995278242038,0.995268931668,0.995259612149,0.995250283482,0.995240945667,0.995231598705,0.995222242594,0.995212877335,0.995203502928,0.995194119374,0.995184726672,0.995175324823,0.995165913826,0.995156493682,0.99514706439,0.995137625952,0.995128178366,0.995118721633,0.995109255754,0.995099780727,0.995090296554,0.995080803234,0.995071300768,0.995061789155,0.995052268396,0.99504273849,0.995033199438,0.99502365124,0.995014093896,0.995004527406,0.99499495177,0.994985366989,0.994975773061,0.994966169989,0.99495655777,0.994946936406,0.994937305897,0.994927666243,0.994918017443,0.994908359498,0.994898692409,0.994889016174,0.994879330795,0.994869636271,0.994859932602,0.994850219789,0.994840497831,0.994830766729,0.994821026483,0.994811277092,0.994801518558,0.994791750879,0.994781974057,0.99477218809,0.99476239298,0.994752588726,0.994742775329,0.994732952788,0.994723121104,0.994713280277,0.994703430306,0.994693571193,0.994683702936,0.994673825536,0.994663938994,0.994654043309,0.994644138481,0.994634224511,0.994624301398,0.994614369143,0.994604427745,0.994594477206,0.994584517524,0.9945745487,0.994564570734,0.994554583627,0.994544587377,0.994534581987,0.994524567454,0.99451454378,0.994504510965,0.994494469008,0.994484417911,0.994474357672,0.994464288292,0.994454209771,0.99444412211,0.994434025308,0.994423919365,0.994413804281,0.994403680058,0.994393546694,0.994383404189,0.994373252545,0.99436309176,0.994352921835,0.994342742771,0.994332554567,0.994322357223,0.994312150739,0.994301935116,0.994291710353,0.994281476452,0.994271233411,0.99426098123,0.994250719911,0.994240449453,0.994230169856,0.994219881121,0.994209583246,0.994199276233,0.994188960082,0.994178634792,0.994168300364,0.994157956798,0.994147604093,0.994137242251,0.994126871271,0.994116491153,0.994106101897,0.994095703504,0.994085295973,0.994074879305,0.994064453499,0.994054018557,0.994043574477,0.99403312126,0.994022658906,0.994012187415,0.994001706787,0.993991217023,0.993980718123,0.993970210085,0.993959692912,0.993949166602,0.993938631156,0.993928086574,0.993917532856,0.993906970002,0.993896398013,0.993885816887,0.993875226626,0.99386462723,0.993854018698,0.993843401031,0.993832774229,0.993822138292,0.993811493219,0.993800839012,0.99379017567,0.993779503193,0.993768821582,0.993758130836,0.993747430955,0.993736721941,0.993726003792,0.993715276509,0.993704540092,0.993693794541,0.993683039856,0.993672276038,0.993661503086,0.993650721,0.993639929781,0.993629129429,0.993618319943,0.993607501325,0.993596673573,0.993585836688,0.993574990671,0.993564135521,0.993553271238,0.993542397822,0.993531515275,0.993520623595,0.993509722782,0.993498812838,0.993487893761,0.993476965553,0.993466028213,0.993455081741,0.993444126137,0.993433161402,0.993422187535,0.993411204537,0.993400212408,0.993389211148,0.993378200757,0.993367181235,0.993356152582,0.993345114798,0.993334067884,0.993323011839,0.993311946664,0.993300872358,0.993289788922,0.993278696356,0.993267594661,0.993256483835,0.993245363879,0.993234234794,0.993223096579,0.993211949235,0.993200792761,0.993189627158,0.993178452426,0.993167268564,0.993156075574,0.993144873455,0.993133662207,0.99312244183,0.993111212325,0.993099973692,0.99308872593,0.993077469039,0.993066203021,0.993054927875,0.9930436436,0.993032350198,0.993021047668,0.99300973601,0.992998415225,0.992987085312,0.992975746273,0.992964398105,0.992953040811,0.99294167439,0.992930298842,0.992918914167,0.992907520365,0.992896117437,0.992884705382,0.992873284201,0.992861853893,0.99285041446,0.9928389659,0.992827508215,0.992816041403,0.992804565466,0.992793080403,0.992781586215,0.992770082901,0.992758570462,0.992747048897,0.992735518208,0.992723978393,0.992712429454,0.992700871389,0.9926893042,0.992677727887,0.992666142449,0.992654547887,0.9926429442,0.992631331389,0.992619709454,0.992608078395,0.992596438213,0.992584788906,0.992573130476,0.992561462923,0.992549786246,0.992538100446,0.992526405522,0.992514701476,0.992502988306,0.992491266014,0.992479534599,0.992467794061,0.992456044401,0.992444285618,0.992432517713,0.992420740685,0.992408954536,0.992397159264,0.992385354871,0.992373541356,0.992361718719,0.99234988696,0.99233804608,0.992326196079,0.992314336957,0.992302468713,0.992290591348,0.992278704863,0.992266809256,0.992254904529,0.992242990681,0.992231067713,0.992219135625,0.992207194416,0.992195244087,0.992183284638,0.992171316069,0.99215933838,0.992147351571,0.992135355643,0.992123350596,0.992111336428,0.992099313142,0.992087280737,0.992075239212,0.992063188569,0.992051128806,0.992039059925,0.992026981926,0.992014894808,0.992002798571,0.991990693216,0.991978578744,0.991966455153,0.991954322444,0.991942180617,0.991930029672,0.99191786961,0.991905700431,0.991893522134,0.991881334719,0.991869138188,0.991856932539,0.991844717774,0.991832493892,0.991820260893,0.991808018777,0.991795767545,0.991783507197,0.991771237732,0.991758959152,0.991746671455,0.991734374642,0.991722068713,0.991709753669,0.991697429509,0.991685096234,0.991672753843,0.991660402337,0.991648041716,0.99163567198,0.991623293129,0.991610905163,0.991598508083,0.991586101888,0.991573686579,0.991561262155,0.991548828617,0.991536385965,0.991523934199,0.991511473319,0.991499003325,0.991486524218,0.991474035997,0.991461538662,0.991449032215,0.991436516654,0.99142399198,0.991411458193,0.991398915294,0.991386363281,0.991373802156,0.991361231919,0.991348652569,0.991336064107,0.991323466532,0.991310859846,0.991298244048,0.991285619138,0.991272985116,0.991260341983,0.991247689738,0.991235028382,0.991222357915,0.991209678336,0.991196989647,0.991184291847,0.991171584936,0.991158868914,0.991146143782,0.991133409539,0.991120666186,0.991107913723,0.99109515215,0.991082381467,0.991069601674,0.991056812772,0.99104401476,0.991031207638,0.991018391407,0.991005566067,0.990992731618,0.99097988806,0.990967035392,0.990954173617,0.990941302732,0.990928422739,0.990915533638,0.990902635428,0.99088972811,0.990876811684,0.99086388615,0.990850951508,0.990838007759,0.990825054902,0.990812092938,0.990799121866,0.990786141687,0.990773152401,0.990760154008,0.990747146508,0.990734129902,0.990721104188,0.990708069369,0.990695025443,0.99068197241,0.990668910272,0.990655839027,0.990642758677,0.990629669221,0.990616570659,0.990603462992,0.990590346219,0.990577220341,0.990564085358,0.990550941269,0.990537788076,0.990524625778,0.990511454375,0.990498273868,0.990485084256,0.99047188554,0.99045867772,0.990445460796,0.990432234768,0.990418999635,0.9904057554,0.99039250206,0.990379239617,0.990365968071,0.990352687421,0.990339397669,0.990326098813,0.990312790855,0.990299473793,0.99028614763,0.990272812363,0.990259467994,0.990246114523,0.99023275195,0.990219380275,0.990205999498,0.99019260962,0.990179210639,0.990165802557,0.990152385374,0.990138959089,0.990125523704,0.990112079217,0.990098625629,0.990085162941,0.990071691152,0.990058210262,0.990044720272,0.990031221182,0.990017712992,0.990004195701,0.989990669311,0.989977133821,0.989963589231,0.989950035542,0.989936472753,0.989922900865,0.989909319878,0.989895729791,0.989882130606,0.989868522322,0.98985490494,0.989841278459,0.989827642879,0.989813998202,0.989800344426,0.989786681552,0.98977300958,0.98975932851,0.989745638343,0.989731939078,0.989718230716,0.989704513256,0.989690786699,0.989677051046,0.989663306295,0.989649552448,0.989635789504,0.989622017463,0.989608236326,0.989594446093,0.989580646764,0.989566838338,0.989553020817,0.9895391942,0.989525358487,0.989511513679,0.989497659776,0.989483796777,0.989469924683,0.989456043494,0.989442153211,0.989428253832,0.989414345359,0.989400427791,0.989386501129,0.989372565373,0.989358620523,0.989344666579,0.989330703541,0.989316731409,0.989302750183,0.989288759865,0.989274760452,0.989260751947,0.989246734349,0.989232707657,0.989218671873,0.989204626996,0.989190573027,0.989176509965,0.989162437811,0.989148356564,0.989134266226,0.989120166796,0.989106058273,0.98909194066,0.989077813955,0.989063678158,0.98904953327,0.989035379291,0.989021216221,0.98900704406,0.988992862808,0.988978672466,0.988964473033,0.98895026451,0.988936046897,0.988921820194,0.9889075844,0.988893339517,0.988879085544,0.988864822482,0.98885055033,0.988836269089,0.988821978758,0.988807679339,0.988793370831,0.988779053234,0.988764726548,0.988750390774,0.988736045911,0.98872169196,0.988707328921,0.988692956794,0.98867857558,0.988664185277,0.988649785887,0.988635377409,0.988620959844,0.988606533192,0.988592097453,0.988577652627,0.988563198714,0.988548735715,0.988534263629,0.988519782456,0.988505292198,0.988490792853,0.988476284422,0.988461766905,0.988447240303,0.988432704615,0.988418159841,0.988403605982,0.988389043038,0.988374471009,0.988359889895,0.988345299697,0.988330700413,0.988316092045,0.988301474593,0.988286848056,0.988272212435,0.988257567731,0.988242913942,0.98822825107,0.988213579114,0.988198898075,0.988184207952,0.988169508746,0.988154800457,0.988140083086,0.988125356631,0.988110621094,0.988095876474,0.988081122772,0.988066359988,0.988051588122,0.988036807173,0.988022017143,0.988007218031,0.987992409838,0.987977592563,0.987962766207,0.98794793077,0.987933086252,0.987918232653,0.987903369973,0.987888498213,0.987873617372,0.987858727451,0.987843828449,0.987828920368,0.987814003206,0.987799076965,0.987784141645,0.987769197244,0.987754243765,0.987739281206,0.987724309568,0.987709328851,0.987694339055,0.987679340181,0.987664332228,0.987649315197,0.987634289087,0.9876192539,0.987604209634,0.987589156291,0.987574093869,0.987559022371,0.987543941794,0.987528852141,0.98751375341,0.987498645603,0.987483528718,0.987468402757,0.987453267719,0.987438123605,0.987422970414,0.987407808147,0.987392636804,0.987377456385,0.987362266891,0.987347068321,0.987331860675,0.987316643954,0.987301418158,0.987286183287,0.98727093934,0.987255686319,0.987240424224,0.987225153054,0.987209872809,0.987194583491,0.987179285098,0.987163977631,0.987148661091,0.987133335477,0.987118000789,0.987102657028,0.987087304193,0.987071942286,0.987056571306,0.987041191253,0.987025802127,0.987010403928,0.986994996658,0.986979580315,0.9869641549,0.986948720413,0.986933276854,0.986917824223,0.986902362521,0.986886891748,0.986871411903,0.986855922987,0.986840425,0.986824917943,0.986809401814,0.986793876615,0.986778342346,0.986762799007,0.986747246597,0.986731685117,0.986716114568,0.986700534949,0.98668494626,0.986669348502,0.986653741675,0.986638125778,0.986622500813,0.986606866779,0.986591223676,0.986575571505,0.986559910265,0.986544239957,0.986528560581,0.986512872136,0.986497174625,0.986481468045,0.986465752398,0.986450027683,0.986434293902,0.986418551053,0.986402799137,0.986387038154,0.986371268105,0.986355488989,0.986339700807,0.986323903559,0.986308097245,0.986292281864,0.986276457418,0.986260623906,0.986244781329,0.986228929686,0.986213068979,0.986197199206,0.986181320368,0.986165432465,0.986149535498,0.986133629467,0.986117714371,0.98610179021,0.986085856986,0.986069914698,0.986053963346,0.986038002931,0.986022033452,0.98600605491,0.985990067304,0.985974070636,0.985958064905,0.985942050111,0.985926026254,0.985909993335,0.985893951354,0.985877900311,0.985861840206,0.985845771038,0.98582969281,0.985813605519,0.985797509168,0.985781403755,0.985765289281,0.985749165746,0.98573303315,0.985716891493,0.985700740776,0.985684580999,0.985668412162,0.985652234264,0.985636047307,0.985619851289,0.985603646213,0.985587432076,0.985571208881,0.985554976626,0.985538735312,0.98552248494,0.985506225508,0.985489957018,0.98547367947,0.985457392864,0.985441097199,0.985424792476,0.985408478696,0.985392155858,0.985375823962,0.985359483009,0.985343132999,0.985326773932,0.985310405807,0.985294028626,0.985277642389,0.985261247095,0.985244842745,0.985228429338,0.985212006876,0.985195575357,0.985179134783,0.985162685154,0.985146226469,0.985129758728,0.985113281933,0.985096796083,0.985080301178,0.985063797218,0.985047284204,0.985030762135,0.985014231012,0.984997690835,0.984981141605,0.98496458332,0.984948015982,0.984931439591,0.984914854146,0.984898259648,0.984881656097,0.984865043494,0.984848421837,0.984831791128,0.984815151367,0.984798502554,0.984781844688,0.984765177771,0.984748501802,0.984731816781,0.984715122709,0.984698419586,0.984681707411,0.984664986185,0.984648255909,0.984631516582,0.984614768204,0.984598010776,0.984581244298,0.98456446877,0.984547684192,0.984530890564,0.984514087886,0.984497276159,0.984480455383,0.984463625558,0.984446786684,0.98442993876,0.984413081789,0.984396215768,0.984379340699,0.984362456583,0.984345563418,0.984328661205,0.984311749944,0.984294829636,0.98427790028,0.984260961878,0.984244014428,0.984227057931,0.984210092387,0.984193117797,0.98417613416,0.984159141476,0.984142139747,0.984125128972,0.98410810915,0.984091080283,0.984074042371,0.984056995413,0.98403993941,0.984022874361,0.984005800268,0.98398871713,0.983971624948,0.983954523721,0.983937413449,0.983920294134,0.983903165774,0.983886028371,0.983868881924,0.983851726434,0.9838345619,0.983817388323,0.983800205703,0.98378301404,0.983765813334,0.983748603586,0.983731384795,0.983714156962,0.983696920087,0.98367967417,0.983662419212,0.983645155211,0.98362788217,0.983610600087,0.983593308962,0.983576008797,0.983558699591,0.983541381345,0.983524054058,0.98350671773,0.983489372362,0.983472017955,0.983454654507,0.98343728202,0.983419900493,0.983402509927,0.983385110322,0.983367701677,0.983350283994,0.983332857272,0.983315421511,0.983297976712,0.983280522874,0.983263059999,0.983245588085,0.983228107134,0.983210617145,0.983193118119,0.983175610055,0.983158092955,0.983140566817,0.983123031642,0.983105487431,0.983087934184,0.983070371899,0.983052800579,0.983035220223,0.983017630831,0.983000032403,0.98298242494,0.982964808441,0.982947182908,0.982929548339,0.982911904735,0.982894252096,0.982876590423,0.982858919716,0.982841239974,0.982823551199,0.982805853389,0.982788146546,0.982770430669,0.982752705758,0.982734971815,0.982717228838,0.982699476829,0.982681715786,0.982663945711,0.982646166604,0.982628378464,0.982610581292,0.982592775089,0.982574959853,0.982557135586,0.982539302287,0.982521459958,0.982503608597,0.982485748205,0.982467878782,0.982450000328,0.982432112845,0.98241421633,0.982396310786,0.982378396212,0.982360472608,0.982342539974,0.982324598311,0.982306647618,0.982288687896,0.982270719146,0.982252741366,0.982234754558,0.982216758721,0.982198753856,0.982180739963,0.982162717042,0.982144685093,0.982126644117,0.982108594113,0.982090535081,0.982072467022,0.982054389937,0.982036303824,0.982018208685,0.98200010452,0.981981991328,0.98196386911,0.981945737865,0.981927597595,0.9819094483,0.981891289979,0.981873122632,0.981854946261,0.981836760864,0.981818566443,0.981800362996,0.981782150526,0.981763929031,0.981745698512,0.981727458969,0.981709210402,0.981690952811,0.981672686197,0.98165441056,0.981636125899,0.981617832215,0.981599529509,0.98158121778,0.981562897028,0.981544567255,0.981526228459,0.981507880641,0.981489523801,0.98147115794,0.981452783057,0.981434399152,0.981416006227,0.981397604281,0.981379193314,0.981360773326,0.981342344318,0.981323906289,0.981305459241,0.981287003172,0.981268538084,0.981250063976,0.981231580849,0.981213088702,0.981194587536,0.981176077352,0.981157558148,0.981139029926,0.981120492686,0.981101946427,0.98108339115,0.981064826856,0.981046253543,0.981027671213,0.981009079866,0.980990479502,0.98097187012,0.980953251721,0.980934624306,0.980915987874,0.980897342426,0.980878687962,0.980860024482,0.980841351985,0.980822670473,0.980803979946,0.980785280403,0.980766571845,0.980747854272,0.980729127685,0.980710392082,0.980691647465,0.980672893834,0.980654131189,0.98063535953,0.980616578857,0.98059778917,0.98057899047,0.980560182756,0.98054136603,0.98052254029,0.980503705538,0.980484861773,0.980466008996,0.980447147207,0.980428276405,0.980409396592,0.980390507767,0.98037160993,0.980352703082,0.980333787223,0.980314862353,0.980295928472,0.98027698558,0.980258033678,0.980239072766,0.980220102843,0.980201123911,0.980182135968,0.980163139016,0.980144133055,0.980125118084,0.980106094104,0.980087061115,0.980068019118,0.980048968112,0.980029908097,0.980010839074,0.979991761043,0.979972674005,0.979953577958,0.979934472905,0.979915358843,0.979896235775,0.9798771037,0.979857962617,0.979838812528,0.979819653433,0.979800485331,0.979781308224,0.97976212211,0.979742926991,0.979723722866,0.979704509735,0.979685287599,0.979666056459,0.979646816313,0.979627567163,0.979608309008,0.979589041849,0.979569765685,0.979550480518,0.979531186347,0.979511883172,0.979492570994,0.979473249812,0.979453919628,0.97943458044,0.97941523225,0.979395875057,0.979376508861,0.979357133664,0.979337749464,0.979318356263,0.97929895406,0.979279542855,0.979260122649,0.979240693442,0.979221255234,0.979201808025,0.979182351816,0.979162886606,0.979143412395,0.979123929185,0.979104436975,0.979084935765,0.979065425556,0.979045906347,0.979026378139,0.979006840932,0.978987294726,0.978967739522,0.978948175319,0.978928602118,0.978909019919,0.978889428721,0.978869828527,0.978850219334,0.978830601144,0.978810973957,0.978791337773,0.978771692592,0.978752038415,0.978732375241,0.97871270307,0.978693021904,0.978673331741,0.978653632583,0.978633924429,0.97861420728,0.978594481136,0.978574745997,0.978555001862,0.978535248733,0.97851548661,0.978495715492,0.978475935381,0.978456146275,0.978436348175,0.978416541082,0.978396724996,0.978376899916,0.978357065843,0.978337222778,0.97831737072,0.978297509669,0.978277639626,0.978257760591,0.978237872564,0.978217975545,0.978198069534,0.978178154533,0.97815823054,0.978138297556,0.978118355581,0.978098404615,0.978078444659,0.978058475713,0.978038497777,0.978018510851,0.977998514935,0.977978510029,0.977958496134,0.97793847325,0.977918441377,0.977898400515,0.977878350664,0.977858291825,0.977838223998,0.977818147183,0.977798061379,0.977777966588,0.97775786281,0.977737750044,0.977717628291,0.977697497551,0.977677357825,0.977657209111,0.977637051411,0.977616884725,0.977596709053,0.977576524396,0.977556330752,0.977536128123,0.977515916509,0.977495695909,0.977475466325,0.977455227756,0.977434980202,0.977414723664,0.977394458142,0.977374183635,0.977353900145,0.977333607671,0.977313306214,0.977292995774,0.977272676351,0.977252347944,0.977232010555,0.977211664184,0.97719130883,0.977170944494,0.977150571176,0.977130188876,0.977109797595,0.977089397332,0.977068988088,0.977048569863,0.977028142658,0.977007706471,0.976987261305,0.976966807158,0.976946344031,0.976925871924,0.976905390837,0.976884900771,0.976864401725,0.976843893701,0.976823376697,0.976802850715,0.976782315754,0.976761771815,0.976741218897,0.976720657002,0.976700086129,0.976679506278,0.97665891745,0.976638319644,0.976617712862,0.976597097102,0.976576472366,0.976555838653,0.976535195965,0.9765145443,0.976493883659,0.976473214042,0.97645253545,0.976431847883,0.97641115134,0.976390445822,0.97636973133,0.976349007863,0.976328275422,0.976307534006,0.976286783617,0.976266024253,0.976245255916,0.976224478606,0.976203692322,0.976182897066,0.976162092836,0.976141279634,0.976120457459,0.976099626312,0.976078786193,0.976057937102,0.976037079039,0.976016212005,0.975995335999,0.975974451022,0.975953557075,0.975932654156,0.975911742267,0.975890821408,0.975869891578,0.975848952779,0.975828005009,0.975807048271,0.975786082562,0.975765107885,0.975744124238,0.975723131623,0.975702130039,0.975681119486,0.975660099965,0.975639071476,0.97561803402,0.975596987595,0.975575932204,0.975554867844,0.975533794518,0.975512712225,0.975491620965,0.975470520739,0.975449411546,0.975428293388,0.975407166263,0.975386030173,0.975364885117,0.975343731095,0.975322568109,0.975301396158,0.975280215241,0.975259025361,0.975237826516,0.975216618706,0.975195401933,0.975174176196,0.975152941495,0.975131697831,0.975110445204,0.975089183614,0.975067913061,0.975046633545,0.975025345067,0.975004047627,0.974982741224,0.97496142586,0.974940101534,0.974918768247,0.974897425999,0.974876074789,0.974854714619,0.974833345488,0.974811967396,0.974790580344,0.974769184333,0.974747779361,0.974726365429,0.974704942539,0.974683510689,0.974662069879,0.974640620111,0.974619161384,0.974597693699,0.974576217056,0.974554731454,0.974533236894,0.974511733377,0.974490220902,0.97446869947,0.974447169081,0.974425629735,0.974404081432,0.974382524173,0.974360957957,0.974339382786,0.974317798658,0.974296205575,0.974274603536,0.974252992541,0.974231372592,0.974209743688,0.974188105829,0.974166459015,0.974144803247,0.974123138525,0.97410146485,0.97407978222,0.974058090637,0.9740363901,0.974014680611,0.973992962168,0.973971234773,0.973949498425,0.973927753125,0.973905998872,0.973884235668,0.973862463512,0.973840682405,0.973818892346,0.973797093336,0.973775285375,0.973753468463,0.973731642601,0.973709807788,0.973687964026,0.973666111313,0.973644249651,0.973622379039,0.973600499478,0.973578610967,0.973556713508,0.9735348071,0.973512891744,0.973490967439,0.973469034186,0.973447091985,0.973425140837,0.973403180741,0.973381211697,0.973359233707,0.973337246769,0.973315250885,0.973293246055,0.973271232278,0.973249209555,0.973227177886,0.973205137271,0.973183087711,0.973161029206,0.973138961755,0.97311688536,0.97309480002,0.973072705735,0.973050602507,0.973028490334,0.973006369217,0.972984239157,0.972962100153,0.972939952206,0.972917795315,0.972895629482,0.972873454707,0.972851270989,0.972829078328,0.972806876726,0.972784666182,0.972762446696,0.972740218268,0.9727179809,0.97269573459,0.97267347934,0.972651215149,0.972628942018,0.972606659946,0.972584368935,0.972562068983,0.972539760093,0.972517442262,0.972495115493,0.972472779784,0.972450435137,0.972428081552,0.972405719027,0.972383347565,0.972360967165,0.972338577827,0.972316179552,0.972293772339,0.972271356189,0.972248931102,0.972226497079,0.972204054119,0.972181602223,0.97215914139,0.972136671622,0.972114192918,0.972091705279,0.972069208704,0.972046703195,0.97202418875,0.972001665371,0.971979133057,0.97195659181,0.971934041628,0.971911482512,0.971888914463,0.97186633748,0.971843751564,0.971821156716,0.971798552934,0.97177594022,0.971753318574,0.971730687995,0.971708048484,0.971685400042,0.971662742668,0.971640076363,0.971617401127,0.97159471696,0.971572023862,0.971549321833,0.971526610875,0.971503890986,0.971481162168,0.97145842442,0.971435677742,0.971412922135,0.971390157599,0.971367384135,0.971344601741,0.97132181042,0.97129901017,0.971276200992,0.971253382887,0.971230555853,0.971207719893,0.971184875005,0.971162021191,0.97113915845,0.971116286782,0.971093406188,0.971070516668,0.971047618222,0.97102471085,0.971001794553,0.970978869331,0.970955935184,0.970932992111,0.970910040115,0.970887079193,0.970864109348,0.970841130579,0.970818142886,0.970795146269,0.970772140729,0.970749126266,0.97072610288,0.970703070571,0.97068002934,0.970656979186,0.970633920111,0.970610852113,0.970587775194,0.970564689354,0.970541594592,0.970518490909,0.970495378306,0.970472256781,0.970449126337,0.970425986972,0.970402838688,0.970379681483,0.970356515359,0.970333340316,0.970310156354,0.970286963473,0.970263761673,0.970240550955,0.970217331318,0.970194102763,0.970170865291,0.970147618901,0.970124363594,0.970101099369,0.970077826228,0.970054544169,0.970031253195,0.970007953303,0.969984644496,0.969961326773,0.969938000134,0.96991466458,0.969891320111,0.969867966726,0.969844604427,0.969821233213,0.969797853084,0.969774464042,0.969751066085,0.969727659215,0.969704243431,0.969680818734,0.969657385124,0.969633942601,0.969610491166,0.969587030817,0.969563561557,0.969540083385,0.9695165963,0.969493100305,0.969469595397,0.969446081579,0.96942255885,0.96939902721,0.969375486659,0.969351937199,0.969328378828,0.969304811547,0.969281235357,0.969257650257,0.969234056248,0.96921045333,0.969186841503,0.969163220768,0.969139591124,0.969115952572,0.969092305113,0.969068648745,0.96904498347,0.969021309288,0.968997626199,0.968973934203,0.9689502333,0.968926523492,0.968902804776,0.968879077155,0.968855340629,0.968831595196,0.968807840859,0.968784077616,0.968760305469,0.968736524416,0.96871273446,0.968688935599,0.968665127834,0.968641311166,0.968617485594,0.968593651118,0.96856980774,0.968545955458,0.968522094274,0.968498224188,0.968474345199,0.968450457308,0.968426560516,0.968402654822,0.968378740226,0.96835481673,0.968330884332,0.968306943034,0.968282992836,0.968259033737,0.968235065738,0.968211088839,0.968187103041,0.968163108343,0.968139104746,0.968115092251,0.968091070856,0.968067040563,0.968043001372,0.968018953283,0.967994896296,0.967970830411,0.967946755629,0.96792267195,0.967898579374,0.967874477901,0.967850367531,0.967826248266,0.967802120104,0.967777983047,0.967753837093,0.967729682245,0.967705518501,0.967681345863,0.967657164329,0.967632973902,0.967608774579,0.967584566363,0.967560349253,0.96753612325,0.967511888353,0.967487644563,0.96746339188,0.967439130304,0.967414859835,0.967390580475,0.967366292222,0.967341995078,0.967317689042,0.967293374114,0.967269050296,0.967244717586,0.967220375986,0.967196025496,0.967171666115,0.967147297844,0.967122920683,0.967098534633,0.967074139693,0.967049735864,0.967025323146,0.96700090154,0.966976471045,0.966952031662,0.966927583391,0.966903126232,0.966878660185,0.966854185251,0.96682970143,0.966805208722,0.966780707128,0.966756196647,0.966731677279,0.966707149026,0.966682611887,0.966658065863,0.966633510953,0.966608947158,0.966584374478,0.966559792914,0.966535202465,0.966510603132,0.966485994915,0.966461377814,0.96643675183,0.966412116963,0.966387473212,0.966362820579,0.966338159063,0.966313488665,0.966288809384,0.966264121222,0.966239424178,0.966214718252,0.966190003445,0.966165279758,0.966140547189,0.96611580574,0.96609105541,0.966066296201,0.966041528111,0.966016751142,0.965991965294,0.965967170566,0.965942366959,0.965917554474,0.96589273311,0.965867902868,0.965843063748,0.96581821575,0.965793358874,0.965768493121,0.965743618491,0.965718734984,0.9656938426,0.96566894134,0.965644031204,0.965619112191,0.965594184303,0.965569247539,0.9655443019,0.965519347386,0.965494383997,0.965469411734,0.965444430596,0.965419440584,0.965394441698,0.965369433938,0.965344417305,0.965319391798,0.965294357419,0.965269314167,0.965244262042,0.965219201045,0.965194131176,0.965169052435,0.965143964822,0.965118868338,0.965093762983,0.965068648757,0.96504352566,0.965018393692,0.964993252855,0.964968103147,0.96494294457,0.964917777123,0.964892600807,0.964867415622,0.964842221567,0.964817018645,0.964791806853,0.964766586194,0.964741356667,0.964716118272,0.964690871009,0.96466561488,0.964640349883,0.96461507602,0.96458979329,0.964564501694,0.964539201231,0.964513891903,0.964488573709,0.96446324665,0.964437910726,0.964412565937,0.964387212283,0.964361849765,0.964336478382,0.964311098136,0.964285709025,0.964260311052,0.964234904215,0.964209488515,0.964184063952,0.964158630526,0.964133188239,0.964107737089,0.964082277077,0.964056808204,0.964031330469,0.964005843873,0.963980348416,0.963954844098,0.96392933092,0.963903808882,0.963878277984,0.963852738226,0.963827189608,0.963801632131,0.963776065795,0.963750490601,0.963724906547,0.963699313636,0.963673711866,0.963648101238,0.963622481753,0.96359685341,0.96357121621,0.963545570153,0.96351991524,0.96349425147,0.963468578844,0.963442897361,0.963417207023,0.96339150783,0.963365799781,0.963340082877,0.963314357118,0.963288622505,0.963262879038,0.963237126716,0.96321136554,0.963185595511,0.963159816628,0.963134028893,0.963108232304,0.963082426863,0.963056612569,0.963030789423,0.963004957425,0.962979116575,0.962953266874,0.962927408321,0.962901540918,0.962875664663,0.962849779559,0.962823885603,0.962797982798,0.962772071143,0.962746150638,0.962720221284,0.962694283081,0.962668336029,0.962642380129,0.96261641538,0.962590441782,0.962564459337,0.962538468044,0.962512467904,0.962486458917,0.962460441082,0.962434414401,0.962408378873,0.962382334499,0.962356281279,0.962330219214,0.962304148302,0.962278068546,0.962251979944,0.962225882498,0.962199776207,0.962173661072,0.962147537092,0.962121404269,0.962095262602,0.962069112092,0.962042952739,0.962016784542,0.961990607503,0.961964421622,0.961938226899,0.961912023333,0.961885810926,0.961859589677,0.961833359588,0.961807120657,0.961780872885,0.961754616274,0.961728350821,0.961702076529,0.961675793397,0.961649501426,0.961623200615,0.961596890965,0.961570572477,0.961544245149,0.961517908984,0.961491563981,0.961465210139,0.96143884746,0.961412475944,0.961386095591,0.961359706401,0.961333308374,0.961306901511,0.961280485811,0.961254061276,0.961227627905,0.961201185699,0.961174734658,0.961148274781,0.96112180607,0.961095328525,0.961068842146,0.961042346932,0.961015842885,0.960989330004,0.96096280829,0.960936277743,0.960909738364,0.960883190152,0.960856633108,0.960830067231,0.960803492523,0.960776908984,0.960750316613,0.960723715411,0.960697105379,0.960670486516,0.960643858823,0.960617222299,0.960590576946,0.960563922763,0.960537259752,0.96051058791,0.960483907241,0.960457217742,0.960430519416,0.960403812261,0.960377096278,0.960350371468,0.96032363783,0.960296895366,0.960270144074,0.960243383956,0.960216615012,0.960189837241,0.960163050645,0.960136255223,0.960109450976,0.960082637903,0.960055816006,0.960028985284,0.960002145738,0.959975297367,0.959948440173,0.959921574155,0.959894699313,0.959867815649,0.959840923161,0.959814021851,0.959787111719,0.959760192764,0.959733264988,0.959706328389,0.95967938297,0.959652428729,0.959625465667,0.959598493785,0.959571513082,0.959544523559,0.959517525216,0.959490518053,0.959463502071,0.95943647727,0.95940944365,0.959382401211,0.959355349954,0.959328289878,0.959301220985,0.959274143274,0.959247056745,0.9592199614,0.959192857237,0.959165744258,0.959138622462,0.95911149185,0.959084352422,0.959057204178,0.959030047119,0.959002881245,0.958975706556,0.958948523052,0.958921330733,0.958894129601,0.958866919654,0.958839700894,0.95881247332,0.958785236933,0.958757991733,0.958730737721,0.958703474896,0.958676203259,0.95864892281,0.958621633549,0.958594335476,0.958567028593,0.958539712899,0.958512388394,0.958485055078,0.958457712952,0.958430362017,0.958403002271,0.958375633716,0.958348256352,0.95832087018,0.958293475198,0.958266071408,0.95823865881,0.958211237404,0.95818380719,0.958156368169,0.95812892034,0.958101463705,0.958073998263,0.958046524015,0.95801904096,0.9579915491,0.957964048434,0.957936538962,0.957909020686,0.957881493604,0.957853957718,0.957826413028,0.957798859533,0.957771297234,0.957743726132,0.957716146227,0.957688557518,0.957660960006,0.957633353692,0.957605738576,0.957578114657,0.957550481937,0.957522840414,0.957495190091,0.957467530967,0.957439863041,0.957412186315,0.957384500789,0.957356806463,0.957329103336,0.957301391411,0.957273670686,0.957245941162,0.957218202839,0.957190455717,0.957162699798,0.95713493508,0.957107161564,0.957079379251,0.957051588141,0.957023788234,0.95699597953,0.956968162029,0.956940335732,0.956912500639,0.956884656751,0.956856804067,0.956828942588,0.956801072313,0.956773193244,0.956745305381,0.956717408723,0.956689503272,0.956661589027,0.956633665988,0.956605734156,0.956577793531,0.956549844114,0.956521885904,0.956493918902,0.956465943109,0.956437958523,0.956409965146,0.956381962978,0.95635395202,0.95632593227,0.95629790373,0.956269866401,0.956241820281,0.956213765372,0.956185701673,0.956157629186,0.956129547909,0.956101457844,0.956073358991,0.95604525135,0.956017134921,0.955989009705,0.955960875701,0.95593273291,0.955904581333,0.955876420969,0.955848251819,0.955820073883,0.955791887161,0.955763691654,0.955735487361,0.955707274284,0.955679052422,0.955650821776,0.955622582345,0.955594334131,0.955566077133,0.955537811351,0.955509536787,0.95548125344,0.95545296131,0.955424660398,0.955396350703,0.955368032227,0.95533970497,0.955311368931,0.955283024111,0.955254670511,0.955226308129,0.955197936968,0.955169557027,0.955141168306,0.955112770805,0.955084364526,0.955055949467,0.95502752563,0.954999093014,0.95497065162,0.954942201448,0.954913742499,0.954885274772,0.954856798269,0.954828312988,0.954799818931,0.954771316097,0.954742804488,0.954714284102,0.954685754941,0.954657217005,0.954628670294,0.954600114808,0.954571550548,0.954542977513,0.954514395704,0.954485805122,0.954457205767,0.954428597638,0.954399980736,0.954371355061,0.954342720615,0.954314077396,0.954285425405,0.954256764643,0.954228095109,0.954199416804,0.954170729729,0.954142033883,0.954113329267,0.95408461588,0.954055893724,0.954027162799,0.953998423104,0.95396967464,0.953940917408,0.953912151407,0.953883376638,0.953854593101,0.953825800797,0.953796999725,0.953768189886,0.95373937128,0.953710543908,0.953681707769,0.953652862865,0.953624009194,0.953595146758,0.953566275557,0.953537395591,0.95350850686,0.953479609365,0.953450703105,0.953421788082,0.953392864295,0.953363931744,0.953334990431,0.953306040354,0.953277081515,0.953248113914,0.95321913755,0.953190152425,0.953161158539,0.953132155891,0.953103144482,0.953074124312,0.953045095382,0.953016057692,0.952987011242,0.952957956032,0.952928892063,0.952899819334,0.952870737847,0.952841647601,0.952812548597,0.952783440835,0.952754324315,0.952725199038,0.952696065003,0.952666922211,0.952637770663,0.952608610358,0.952579441297,0.95255026348,0.952521076908,0.95249188158,0.952462677497,0.952433464659,0.952404243066,0.95237501272,0.952345773619,0.952316525765,0.952287269157,0.952258003795,0.952228729681,0.952199446814,0.952170155195,0.952140854824,0.952111545701,0.952082227826,0.9520529012,0.952023565822,0.951994221694,0.951964868816,0.951935507187,0.951906136808,0.951876757679,0.951847369801,0.951817973174,0.951788567798,0.951759153673,0.9517297308,0.951700299179,0.95167085881,0.951641409694,0.95161195183,0.951582485219,0.951553009861,0.951523525757,0.951494032907,0.951464531311,0.951435020969,0.951405501882,0.951375974049,0.951346437472,0.95131689215,0.951287338084,0.951257775274,0.95122820372,0.951198623423,0.951169034383,0.951139436599,0.951109830073,0.951080214804,0.951050590794,0.951020958041,0.950991316547,0.950961666312,0.950932007335,0.950902339618,0.95087266316,0.950842977962,0.950813284024,0.950783581347,0.95075386993,0.950724149774,0.950694420879,0.950664683245,0.950634936874,0.950605181764,0.950575417916,0.950545645331,0.950515864009,0.950486073949,0.950456275154,0.950426467621,0.950396651353,0.950366826349,0.950336992609,0.950307150134,0.950277298924,0.950247438979,0.950217570299,0.950187692886,0.950157806738,0.950127911857,0.950098008243,0.950068095895,0.950038174815,0.950008245002,0.949978306457,0.949948359179,0.94991840317,0.94988843843,0.949858464959,0.949828482756,0.949798491823,0.94976849216,0.949738483766,0.949708466643,0.94967844079,0.949648406208,0.949618362897,0.949588310857,0.949558250089,0.949528180593,0.949498102369,0.949468015417,0.949437919738,0.949407815332,0.9493777022,0.94934758034,0.949317449755,0.949287310444,0.949257162406,0.949227005644,0.949196840157,0.949166665944,0.949136483008,0.949106291347,0.949076090961,0.949045881853,0.949015664021,0.948985437465,0.948955202187,0.948924958186,0.948894705463,0.948864444018,0.948834173851,0.948803894963,0.948773607353,0.948743311023,0.948713005971,0.9486826922,0.948652369708,0.948622038497,0.948591698566,0.948561349916,0.948530992547,0.948500626459,0.948470251652,0.948439868128,0.948409475886,0.948379074926,0.948348665249,0.948318246855,0.948287819744,0.948257383916,0.948226939373,0.948196486113,0.948166024138,0.948135553448,0.948105074043,0.948074585922,0.948044089088,0.948013583539,0.947983069276,0.947952546299,0.947922014609,0.947891474206,0.94786092509,0.947830367262,0.947799800721,0.947769225469,0.947738641505,0.947708048829,0.947677447442,0.947646837344,0.947616218536,0.947585591018,0.947554954789,0.947524309851,0.947493656203,0.947462993846,0.947432322781,0.947401643006,0.947370954524,0.947340257333,0.947309551435,0.947278836829,0.947248113516,0.947217381496,0.947186640769,0.947155891336,0.947125133198,0.947094366353,0.947063590803,0.947032806547,0.947002013587,0.946971211922,0.946940401552,0.946909582479,0.946878754702,0.946847918221,0.946817073037,0.94678621915,0.946755356561,0.946724485269,0.946693605275,0.946662716579,0.946631819182,0.946600913083,0.946569998284,0.946539074784,0.946508142583,0.946477201682,0.946446252082,0.946415293782,0.946384326783,0.946353351084,0.946322366688,0.946291373592,0.946260371799,0.946229361308,0.946198342119,0.946167314233,0.94613627765,0.94610523237,0.946074178394,0.946043115722,0.946012044354,0.945980964291,0.945949875532,0.945918778078,0.94588767193,0.945856557087,0.94582543355,0.945794301319,0.945763160395,0.945732010777,0.945700852467,0.945669685464,0.945638509768,0.945607325381,0.945576132301,0.94554493053,0.945513720068,0.945482500914,0.945451273071,0.945420036536,0.945388791312,0.945357537398,0.945326274794,0.945295003501,0.945263723519,0.945232434848,0.945201137489,0.945169831442,0.945138516708,0.945107193285,0.945075861176,0.945044520379,0.945013170896,0.944981812727,0.944950445871,0.94491907033,0.944887686103,0.944856293191,0.944824891594,0.944793481312,0.944762062346,0.944730634696,0.944699198362,0.944667753345,0.944636299645,0.944604837261,0.944573366196,0.944541886447,0.944510398017,0.944478900905,0.944447395112,0.944415880637,0.944384357482,0.944352825646,0.944321285129,0.944289735933,0.944258178057,0.944226611501,0.944195036267,0.944163452353,0.944131859761,0.944100258491,0.944068648543,0.944037029917,0.944005402614,0.943973766634,0.943942121976,0.943910468643,0.943878806633,0.943847135947,0.943815456586,0.943783768549,0.943752071837,0.94372036645,0.943688652389,0.943656929654,0.943625198245,0.943593458162,0.943561709406,0.943529951977,0.943498185875,0.943466411101,0.943434627654,0.943402835536,0.943371034746,0.943339225285,0.943307407153,0.94327558035,0.943243744877,0.943211900734,0.943180047921,0.943148186438,0.943116316287,0.943084437466,0.943052549977,0.943020653819,0.942988748994,0.9429568355,0.942924913339,0.942892982511,0.942861043016,0.942829094855,0.942797138027,0.942765172533,0.942733198374,0.942701215549,0.942669224059,0.942637223904,0.942605215085,0.942573197601,0.942541171454,0.942509136643,0.942477093168,0.942445041031,0.942412980231,0.942380910768,0.942348832643,0.942316745857,0.942284650408,0.942252546299,0.942220433528,0.942188312097,0.942156182005,0.942124043254,0.942091895842,0.942059739771,0.942027575041,0.941995401652,0.941963219604,0.941931028898,0.941898829534,0.941866621512,0.941834404832,0.941802179496,0.941769945503,0.941737702853,0.941705451547,0.941673191585,0.941640922967,0.941608645694,0.941576359766,0.941544065183,0.941511761946,0.941479450054,0.941447129509,0.94141480031,0.941382462457,0.941350115952,0.941317760794,0.941285396984,0.941253024521,0.941220643407,0.941188253642,0.941155855225,0.941123448157,0.941091032438,0.94105860807,0.941026175051,0.940993733382,0.940961283065,0.940928824098,0.940896356482,0.940863880217,0.940831395305,0.940798901744,0.940766399536,0.940733888681,0.940701369179,0.940668841029,0.940636304234,0.940603758792,0.940571204705,0.940538641972,0.940506070593,0.94047349057,0.940440901902,0.94040830459,0.940375698634,0.940343084034,0.94031046079,0.940277828904,0.940245188375,0.940212539203,0.940179881389,0.940147214933,0.940114539835,0.940081856096,0.940049163716,0.940016462695,0.939983753034,0.939951034733,0.939918307792,0.939885572211,0.939852827991,0.939820075132,0.939787313635,0.939754543499,0.939721764725,0.939688977314,0.939656181265,0.939623376579,0.939590563256,0.939557741296,0.939524910701,0.939492071469,0.939459223602,0.9394263671,0.939393501962,0.93936062819,0.939327745784,0.939294854743,0.939261955069,0.939229046761,0.93919612982,0.939163204246,0.939130270039,0.9390973272,0.939064375729,0.939031415627,0.938998446893,0.938965469528,0.938932483532,0.938899488906,0.938866485649,0.938833473763,0.938800453247,0.938767424102,0.938734386328,0.938701339926,0.938668284895,0.938635221236,0.938602148949,0.938569068035,0.938535978494,0.938502880325,0.938469773531,0.93843665811,0.938403534063,0.938370401391,0.938337260093,0.93830411017,0.938270951623,0.938237784451,0.938204608655,0.938171424236,0.938138231193,0.938105029527,0.938071819238,0.938038600326,0.938005372792,0.937972136636,0.937938891859,0.93790563846,0.93787237644,0.937839105799,0.937805826538,0.937772538657,0.937739242156,0.937705937036,0.937672623297,0.937639300938,0.937605969961,0.937572630366,0.937539282152,0.937505925321,0.937472559873,0.937439185808,0.937405803126,0.937372411827,0.937339011913,0.937305603382,0.937272186236,0.937238760475,0.937205326099,0.937171883108,0.937138431503,0.937104971284,0.937071502452,0.937038025006,0.937004538947,0.936971044275,0.936937540991,0.936904029095,0.936870508586,0.936836979467,0.936803441736,0.936769895394,0.936736340442,0.936702776879,0.936669204707,0.936635623924,0.936602034533,0.936568436532,0.936534829923,0.936501214705,0.936467590879,0.936433958445,0.936400317404,0.936366667756,0.9363330095,0.936299342638,0.93626566717,0.936231983096,0.936198290416,0.936164589131,0.936130879241,0.936097160746,0.936063433647,0.936029697944,0.935995953637,0.935962200726,0.935928439213,0.935894669096,0.935860890377,0.935827103055,0.935793307132,0.935759502607,0.935725689481,0.935691867754,0.935658037426,0.935624198498,0.93559035097,0.935556494841,0.935522630114,0.935488756787,0.935454874862,0.935420984338,0.935387085216,0.935353177496,0.935319261179,0.935285336264,0.935251402752,0.935217460644,0.935183509939,0.935149550638,0.935115582742,0.93508160625,0.935047621163,0.935013627482,0.934979625206,0.934945614336,0.934911594872,0.934877566814,0.934843530163,0.93480948492,0.934775431084,0.934741368655,0.934707297635,0.934673218023,0.93463912982,0.934605033025,0.93457092764,0.934536813665,0.9345026911,0.934468559945,0.9344344202,0.934400271866,0.934366114944,0.934331949433,0.934297775334,0.934263592646,0.934229401372,0.93419520151,0.934160993061,0.934126776026,0.934092550404,0.934058316197,0.934024073403,0.933989822025,0.933955562061,0.933921293513,0.93388701638,0.933852730663,0.933818436362,0.933784133478,0.933749822011,0.933715501961,0.933681173328,0.933646836113,0.933612490317,0.933578135938,0.933543772979,0.933509401438,0.933475021317,0.933440632616,0.933406235335,0.933371829474,0.933337415033,0.933302992014,0.933268560416,0.933234120239,0.933199671485,0.933165214152,0.933130748242,0.933096273755,0.933061790692,0.933027299051,0.932992798835,0.932958290042,0.932923772674,0.932889246731,0.932854712213,0.932820169121,0.932785617454,0.932751057213,0.932716488398,0.93268191101,0.932647325049,0.932612730516,0.93257812741,0.932543515732,0.932508895482,0.932474266661,0.932439629268,0.932404983305,0.932370328772,0.932335665668,0.932300993995,0.932266313752,0.932231624939,0.932196927558,0.932162221609,0.932127507091,0.932092784005,0.932058052351,0.932023312131,0.931988563343,0.931953805989,0.931919040068,0.931884265582,0.931849482529,0.931814690912,0.931779890729,0.931745081982,0.93171026467,0.931675438794,0.931640604354,0.931605761351,0.931570909785,0.931536049656,0.931501180965,0.931466303711,0.931431417895,0.931396523518,0.93136162058,0.931326709081,0.931291789022,0.931256860402,0.931221923222,0.931186977483,0.931152023184,0.931117060326,0.93108208891,0.931047108936,0.931012120403,0.930977123313,0.930942117665,0.930907103461,0.9308720807,0.930837049382,0.930802009508,0.930766961079,0.930731904094,0.930696838554,0.93066176446,0.930626681811,0.930591590607,0.93055649085,0.93052138254,0.930486265676,0.93045114026,0.930416006291,0.93038086377,0.930345712696,0.930310553072,0.930275384896,0.930240208169,0.930205022892,0.930169829065,0.930134626687,0.93009941576,0.930064196284,0.930028968259,0.929993731685,0.929958486563,0.929923232893,0.929887970675,0.92985269991,0.929817420598,0.929782132739,0.929746836334,0.929711531382,0.929676217885,0.929640895843,0.929605565256,0.929570226124,0.929534878447,0.929499522227,0.929464157462,0.929428784155,0.929393402304,0.92935801191,0.929322612974,0.929287205496,0.929251789475,0.929216364914,0.929180931811,0.929145490168,0.929110039984,0.929074581259,0.929039113995,0.929003638192,0.928968153849,0.928932660967,0.928897159547,0.928861649588,0.928826131092,0.928790604058,0.928755068487,0.928719524379,0.928683971734,0.928648410553,0.928612840836,0.928577262584,0.928541675796,0.928506080473,0.928470476616,0.928434864224,0.928399243299,0.928363613839,0.928327975847,0.928292329321,0.928256674263,0.928221010672,0.92818533855,0.928149657895,0.92811396871,0.928078270993,0.928042564746,0.928006849968,0.92797112666,0.927935394823,0.927899654456,0.92786390556,0.927828148135,0.927792382182,0.927756607701,0.927720824692,0.927685033156,0.927649233093,0.927613424502,0.927577607386,0.927541781743,0.927505947575,0.927470104881,0.927434253662,0.927398393919,0.92736252565,0.927326648858,0.927290763542,0.927254869703,0.92721896734,0.927183056455,0.927147137047,0.927111209117,0.927075272665,0.927039327691,0.927003374197,0.926967412182,0.926931441646,0.92689546259,0.926859475014,0.926823478919,0.926787474305,0.926751461171,0.92671543952,0.92667940935,0.926643370662,0.926607323457,0.926571267734,0.926535203495,0.926499130739,0.926463049467,0.926426959679,0.926390861376,0.926354754558,0.926318639224,0.926282515376,0.926246383014,0.926210242138,0.926174092749,0.926137934846,0.926101768431,0.926065593503,0.926029410062,0.92599321811,0.925957017647,0.925920808672,0.925884591186,0.92584836519,0.925812130683,0.925775887667,0.925739636141,0.925703376106,0.925667107562,0.92563083051,0.925594544949,0.925558250881,0.925521948305,0.925485637221,0.925449317631,0.925412989535,0.925376652932,0.925340307823,0.925303954209,0.92526759209,0.925231221465,0.925194842336,0.925158454703,0.925122058567,0.925085653926,0.925049240783,0.925012819136,0.924976388987,0.924939950336,0.924903503183,0.924867047529,0.924830583373,0.924794110717,0.92475762956,0.924721139902,0.924684641745,0.924648135089,0.924611619933,0.924575096279,0.924538564125,0.924502023474,0.924465474325,0.924428916679,0.924392350535,0.924355775895,0.924319192758,0.924282601125,0.924246000996,0.924209392371,0.924172775252,0.924136149637,0.924099515529,0.924062872926,0.924026221829,0.923989562239,0.923952894156,0.92391621758,0.923879532511,0.923842838951,0.923806136898,0.923769426355,0.92373270732,0.923695979794,0.923659243778,0.923622499272,0.923585746276,0.923548984791,0.923512214817,0.923475436354,0.923438649402,0.923401853963,0.923365050036,0.923328237621,0.92329141672,0.923254587331,0.923217749457,0.923180903096,0.92314404825,0.923107184918,0.923070313101,0.9230334328,0.922996544014,0.922959646745,0.922922740991,0.922885826755,0.922848904035,0.922811972833,0.922775033148,0.922738084982,0.922701128334,0.922664163205,0.922627189594,0.922590207503,0.922553216932,0.922516217881,0.922479210351,0.922442194341,0.922405169852,0.922368136885,0.922331095439,0.922294045516,0.922256987115,0.922219920237,0.922182844882,0.922145761051,0.922108668743,0.92207156796,0.922034458701,0.921997340967,0.921960214758,0.921923080075,0.921885936918,0.921848785286,0.921811625182,0.921774456604,0.921737279554,0.921700094031,0.921662900036,0.921625697569,0.921588486631,0.921551267222,0.921514039342,0.921476802992,0.921439558172,0.921402304882,0.921365043123,0.921327772894,0.921290494198,0.921253207033,0.921215911399,0.921178607299,0.921141294731,0.921103973696,0.921066644194,0.921029306227,0.920991959793,0.920954604894,0.920917241529,0.9208798697,0.920842489406,0.920805100648,0.920767703426,0.920730297741,0.920692883592,0.920655460981,0.920618029907,0.920580590371,0.920543142373,0.920505685914,0.920468220994,0.920430747613,0.920393265772,0.92035577547,0.920318276709,0.920280769489,0.920243253809,0.920205729671,0.920168197074,0.92013065602,0.920093106508,0.920055548538,0.920017982112,0.919980407229,0.919942823889,0.919905232094,0.919867631843,0.919830023137,0.919792405976,0.919754780361,0.919717146291,0.919679503768,0.919641852791,0.919604193361,0.919566525478,0.919528849142,0.919491164355,0.919453471116,0.919415769425,0.919378059283,0.919340340691,0.919302613648,0.919264878155,0.919227134212,0.919189381821,0.91915162098,0.91911385169,0.919076073952,0.919038287766,0.919000493133,0.918962690052,0.918924878525,0.918887058551,0.91884923013,0.918811393264,0.918773547952,0.918735694196,0.918697831994,0.918659961348,0.918622082257,0.918584194723,0.918546298746,0.918508394325,0.918470481462,0.918432560156,0.918394630408,0.918356692219,0.918318745588,0.918280790517,0.918242827004,0.918204855051,0.918166874659,0.918128885827,0.918090888555,0.918052882845,0.918014868696,0.917976846109,0.917938815084,0.917900775621,0.917862727722,0.917824671385,0.917786606613,0.917748533404,0.917710451759,0.917672361679,0.917634263164,0.917596156214,0.91755804083,0.917519917012,0.91748178476,0.917443644075,0.917405494957,0.917367337406,0.917329171423,0.917290997008,0.917252814162,0.917214622885,0.917176423176,0.917138215037,0.917099998468,0.91706177347,0.917023540041,0.916985298184,0.916947047898,0.916908789184,0.916870522041,0.916832246471,0.916793962474,0.916755670049,0.916717369198,0.916679059921,0.916640742218,0.916602416089,0.916564081535,0.916525738556,0.916487387153,0.916449027325,0.916410659074,0.916372282399,0.916333897301,0.916295503781,0.916257101838,0.916218691473,0.916180272686,0.916141845478,0.916103409849,0.916064965799,0.916026513329,0.91598805244,0.91594958313,0.915911105402,0.915872619254,0.915834124688,0.915795621704,0.915757110302,0.915718590483,0.915680062246,0.915641525593,0.915602980523,0.915564427038,0.915525865136,0.91548729482,0.915448716088,0.915410128942,0.915371533382,0.915332929407,0.915294317019,0.915255696218,0.915217067005,0.915178429378,0.91513978334,0.915101128889,0.915062466028,0.915023794755,0.914985115072,0.914946426978,0.914907730474,0.914869025561,0.914830312238,0.914791590506,0.914752860366,0.914714121818,0.914675374862,0.914636619498,0.914597855727,0.914559083549,0.914520302965,0.914481513975,0.914442716579,0.914403910778,0.914365096571,0.914326273961,0.914287442945,0.914248603526,0.914209755704,0.914170899478,0.914132034849,0.914093161817,0.914054280384,0.914015390549,0.913976492312,0.913937585674,0.913898670636,0.913859747197,0.913820815358,0.91378187512,0.913742926482,0.913703969445,0.91366500401,0.913626030177,0.913587047945,0.913548057316,0.91350905829,0.913470050868,0.913431035049,0.913392010833,0.913352978222,0.913313937216,0.913274887815,0.913235830019,0.913196763829,0.913157689245,0.913118606267,0.913079514896,0.913040415133,0.913001306977,0.912962190428,0.912923065488,0.912883932157,0.912844790435,0.912805640322,0.912766481818,0.912727314925,0.912688139642,0.91264895597,0.912609763909,0.912570563459,0.912531354622,0.912492137396,0.912452911783,0.912413677783,0.912374435396,0.912335184623,0.912295925464,0.91225665792,0.91221738199,0.912178097675,0.912138804975,0.912099503892,0.912060194424,0.912020876574,0.91198155034,0.911942215723,0.911902872724,0.911863521343,0.91182416158,0.911784793436,0.911745416911,0.911706032005,0.91166663872,0.911627237054,0.911587827009,0.911548408585,0.911508981782,0.911469546601,0.911430103041,0.911390651104,0.91135119079,0.911311722098,0.911272245031,0.911232759586,0.911193265767,0.911153763571,0.911114253001,0.911074734055,0.911035206735,0.910995671042,0.910956126974,0.910916574533,0.91087701372,0.910837444533,0.910797866975,0.910758281044,0.910718686743,0.91067908407,0.910639473026,0.910599853612,0.910560225827,0.910520589673,0.91048094515,0.910441292258,0.910401630997,0.910361961368,0.910322283372,0.910282597007,0.910242902276,0.910203199178,0.910163487713,0.910123767883,0.910084039686,0.910044303125,0.910004558198,0.909964804907,0.909925043252,0.909885273233,0.90984549485,0.909805708105,0.909765912996,0.909726109525,0.909686297693,0.909646477498,0.909606648943,0.909566812026,0.909526966749,0.909487113112,0.909447251114,0.909407380758,0.909367502042,0.909327614968,0.909287719535,0.909247815744,0.909207903596,0.909167983091,0.909128054228,0.909088117009,0.909048171434,0.909008217503,0.908968255217,0.908928284576,0.90888830558,0.908848318229,0.908808322525,0.908768318467,0.908728306056,0.908688285293,0.908648256176,0.908608218708,0.908568172888,0.908528118716,0.908488056194,0.908447985321,0.908407906097,0.908367818524,0.908327722601,0.908287618329,0.908247505709,0.908207384739,0.908167255422,0.908127117757,0.908086971745,0.908046817386,0.90800665468,0.907966483629,0.907926304231,0.907886116488,0.907845920399,0.907805715966,0.907765503189,0.907725282068,0.907685052603,0.907644814795,0.907604568643,0.90756431415,0.907524051314,0.907483780137,0.907443500618,0.907403212758,0.907362916557,0.907322612016,0.907282299136,0.907241977915,0.907201648356,0.907161310458,0.907120964221,0.907080609646,0.907040246734,0.906999875484,0.906959495897,0.906919107974,0.906878711714,0.906838307119,0.906797894188,0.906757472922,0.906717043321,0.906676605386,0.906636159117,0.906595704515,0.906555241579,0.90651477031,0.906474290709,0.906433802776,0.906393306511,0.906352801915,0.906312288987,0.906271767729,0.906231238141,0.906190700223,0.906150153975,0.906109599398,0.906069036493,0.906028465259,0.905987885697,0.905947297807,0.90590670159,0.905866097047,0.905825484176,0.90578486298,0.905744233458,0.90570359561,0.905662949437,0.90562229494,0.905581632118,0.905540960973,0.905500281504,0.905459593711,0.905418897596,0.905378193159,0.905337480399,0.905296759318,0.905256029916,0.905215292192,0.905174546148,0.905133791784,0.9050930291,0.905052258097,0.905011478775,0.904970691134,0.904929895174,0.904889090897,0.904848278302,0.90480745739,0.904766628162,0.904725790616,0.904684944755,0.904644090578,0.904603228086,0.904562357279,0.904521478157,0.904480590721,0.904439694972,0.904398790909,0.904357878533,0.904316957844,0.904276028843,0.90423509153,0.904194145906,0.90415319197,0.904112229724,0.904071259167,0.9040302803,0.903989293123,0.903948297638,0.903907293843,0.90386628174,0.903825261328,0.903784232609,0.903743195583,0.903702150249,0.903661096609,0.903620034663,0.903578964411,0.903537885853,0.90349679899,0.903455703822,0.90341460035,0.903373488574,0.903332368495,0.903291240112,0.903250103426,0.903208958438,0.903167805147,0.903126643555,0.903085473662,0.903044295468,0.903003108973,0.902961914177,0.902920711082,0.902879499688,0.902838279995,0.902797052002,0.902755815712,0.902714571123,0.902673318237,0.902632057054,0.902590787574,0.902549509798,0.902508223725,0.902466929357,0.902425626694,0.902384315735,0.902342996482,0.902301668935,0.902260333095,0.902218988961,0.902177636533,0.902136275814,0.902094906802,0.902053529498,0.902012143902,0.901970750016,0.901929347839,0.901887937371,0.901846518614,0.901805091567,0.901763656231,0.901722212606,0.901680760692,0.90163930049,0.901597832001,0.901556355225,0.901514870161,0.901473376811,0.901431875175,0.901390365253,0.901348847046,0.901307320554,0.901265785777,0.901224242716,0.901182691371,0.901141131742,0.901099563831,0.901057987636,0.90101640316,0.900974810401,0.900933209361,0.90089160004,0.900849982438,0.900808356555,0.900766722392,0.90072507995,0.900683429229,0.900641770228,0.900600102949,0.900558427392,0.900516743558,0.900475051445,0.900433351056,0.900391642391,0.900349925449,0.900308200231,0.900266466738,0.90022472497,0.900182974927,0.90014121661,0.900099450019,0.900057675154,0.900015892016,0.899974100606,0.899932300923,0.899890492968,0.899848676742,0.899806852244,0.899765019475,0.899723178436,0.899681329127,0.899639471549,0.899597605701,0.899555731584,0.899513849198,0.899471958545,0.899430059624,0.899388152435,0.899346236979,0.899304313257,0.899262381269,0.899220441014,0.899178492495,0.89913653571,0.89909457066,0.899052597347,0.899010615769,0.898968625928,0.898926627824,0.898884621457,0.898842606827,0.898800583936,0.898758552783,0.898716513369,0.898674465694,0.898632409759,0.898590345563,0.898548273108,0.898506192394,0.898464103421,0.898422006189,0.898379900699,0.898337786952,0.898295664947,0.898253534685,0.898211396167,0.898169249393,0.898127094362,0.898084931077,0.898042759536,0.898000579741,0.897958391691,0.897916195388,0.897873990831,0.897831778021,0.897789556959,0.897747327644,0.897705090077,0.897662844259,0.89762059019,0.89757832787,0.897536057299,0.897493778479,0.897451491409,0.89740919609,0.897366892522,0.897324580705,0.897282260641,0.897239932329,0.89719759577,0.897155250964,0.897112897911,0.897070536613,0.897028167068,0.896985789279,0.896943403244,0.896901008965,0.896858606442,0.896816195676,0.896773776665,0.896731349412,0.896688913917,0.896646470179,0.896604018199,0.896561557978,0.896519089516,0.896476612813,0.89643412787,0.896391634688,0.896349133266,0.896306623604,0.896264105705,0.896221579567,0.896179045191,0.896136502577,0.896093951727,0.896051392639,0.896008825316,0.895966249756,0.895923665961,0.895881073931,0.895838473666,0.895795865167,0.895753248434,0.895710623467,0.895667990267,0.895625348834,0.895582699169,0.895540041272,0.895497375143,0.895454700783,0.895412018192,0.895369327371,0.89532662832,0.895283921039,0.895241205528,0.895198481789,0.895155749822,0.895113009626,0.895070261203,0.895027504552,0.894984739675,0.894941966571,0.89489918524,0.894856395685,0.894813597903,0.894770791897,0.894727977667,0.894685155212,0.894642324533,0.894599485631,0.894556638506,0.894513783159,0.894470919589,0.894428047798,0.894385167785,0.894342279551,0.894299383097,0.894256478422,0.894213565528,0.894170644414,0.894127715081,0.89408477753,0.89404183176,0.893998877772,0.893955915567,0.893912945145,0.893869966506,0.893826979651,0.893783984581,0.893740981294,0.893697969793,0.893654950077,0.893611922146,0.893568886002,0.893525841644,0.893482789074,0.89343972829,0.893396659294,0.893353582086,0.893310496667,0.893267403037,0.893224301196,0.893181191144,0.893138072883,0.893094946412,0.893051811732,0.893008668843,0.892965517746,0.892922358441,0.892879190928,0.892836015208,0.892792831282,0.892749639149,0.89270643881,0.892663230265,0.892620013516,0.892576788562,0.892533555403,0.89249031404,0.892447064474,0.892403806704,0.892360540732,0.892317266557,0.892273984181,0.892230693602,0.892187394823,0.892144087843,0.892100772662,0.892057449282,0.892014117701,0.891970777922,0.891927429944,0.891884073767,0.891840709392,0.89179733682,0.891753956051,0.891710567084,0.891667169922,0.891623764563,0.891580351009,0.891536929259,0.891493499315,0.891450061176,0.891406614843,0.891363160317,0.891319697597,0.891276226685,0.89123274758,0.891189260283,0.891145764795,0.891102261115,0.891058749244,0.891015229183,0.890971700932,0.890928164492,0.890884619862,0.890841067043,0.890797506036,0.890753936841,0.890710359459,0.890666773889,0.890623180132,0.890579578189,0.89053596806,0.890492349745,0.890448723245,0.89040508856,0.890361445691,0.890317794637,0.890274135401,0.890230467981,0.890186792378,0.890143108592,0.890099416625,0.890055716476,0.890012008146,0.889968291635,0.889924566944,0.889880834073,0.889837093022,0.889793343792,0.889749586383,0.889705820796,0.889662047031,0.889618265088,0.889574474968,0.889530676671,0.889486870198,0.889443055549,0.889399232724,0.889355401724,0.88931156255,0.889267715201,0.889223859678,0.889179995981,0.889136124112,0.889092244069,0.889048355855,0.889004459468,0.88896055491,0.88891664218,0.88887272128,0.88882879221,0.88878485497,0.88874090956,0.888696955981,0.888652994233,0.888609024317,0.888565046233,0.888521059982,0.888477065564,0.888433062978,0.888389052227,0.88834503331,0.888301006227,0.888256970979,0.888212927566,0.88816887599,0.888124816249,0.888080748345,0.888036672278,0.887992588048,0.887948495656,0.887904395102,0.887860286387,0.88781616951,0.887772044473,0.887727911276,0.887683769919,0.887639620403,0.887595462728,0.887551296894,0.887507122901,0.887462940752,0.887418750444,0.88737455198,0.887330345359,0.887286130582,0.88724190765,0.887197676562,0.887153437319,0.887109189921,0.88706493437,0.887020670664,0.886976398806,0.886932118794,0.88688783063,0.886843534314,0.886799229847,0.886754917228,0.886710596458,0.886666267537,0.886621930467,0.886577585247,0.886533231878,0.88648887036,0.886444500693,0.886400122879,0.886355736917,0.886311342807,0.886266940551,0.886222530149,0.8861781116,0.886133684907,0.886089250067,0.886044807084,0.886000355955,0.885955896683,0.885911429268,0.885866953709,0.885822470007,0.885777978164,0.885733478178,0.885688970051,0.885644453783,0.885599929374,0.885555396825,0.885510856136,0.885466307308,0.885421750341,0.885377185235,0.885332611991,0.885288030609,0.885243441089,0.885198843433,0.88515423764,0.885109623711,0.885065001647,0.885020371447,0.884975733112,0.884931086642,0.884886432039,0.884841769301,0.884797098431,0.884752419428,0.884707732292,0.884663037024,0.884618333624,0.884573622094,0.884528902432,0.88448417464,0.884439438718,0.884394694667,0.884349942486,0.884305182177,0.884260413739,0.884215637173,0.88417085248,0.88412605966,0.884081258713,0.884036449639,0.88399163244,0.883946807116,0.883901973666,0.883857132091,0.883812282393,0.883767424571,0.883722558625,0.883677684556,0.883632802365,0.883587912051,0.883543013616,0.883498107059,0.883453192382,0.883408269584,0.883363338666,0.883318399628,0.883273452471,0.883228497195,0.883183533801,0.883138562288,0.883093582658,0.883048594911,0.883003599047,0.882958595066,0.88291358297,0.882868562758,0.882823534431,0.882778497989,0.882733453433,0.882688400763,0.88264333998,0.882598271083,0.882553194074,0.882508108952,0.882463015719,0.882417914374,0.882372804919,0.882327687352,0.882282561676,0.88223742789,0.882192285994,0.88214713599,0.882101977877,0.882056811656,0.882011637327,0.881966454891,0.881921264348,0.881876065699,0.881830858944,0.881785644083,0.881740421117,0.881695190046,0.881649950871,0.881604703592,0.881559448209,0.881514184723,0.881468913135,0.881423633444,0.881378345652,0.881333049758,0.881287745763,0.881242433667,0.881197113471,0.881151785176,0.881106448781,0.881061104287,0.881015751694,0.880970391004,0.880925022216,0.88087964533,0.880834260348,0.880788867269,0.880743466094,0.880698056824,0.880652639458,0.880607213998,0.880561780443,0.880516338794,0.880470889052,0.880425431217,0.880379965289,0.880334491269,0.880289009157,0.880243518953,0.880198020659,0.880152514274,0.880106999798,0.880061477233,0.880015946579,0.879970407836,0.879924861004,0.879879306084,0.879833743076,0.879788171982,0.8797425928,0.879697005532,0.879651410178,0.879605806739,0.879560195214,0.879514575604,0.879468947911,0.879423312133,0.879377668272,0.879332016328,0.879286356301,0.879240688192,0.879195012001,0.879149327729,0.879103635376,0.879057934942,0.879012226429,0.878966509835,0.878920785162,0.878875052411,0.878829311581,0.878783562673,0.878737805687,0.878692040625,0.878646267485,0.878600486269,0.878554696977,0.87850889961,0.878463094168,0.878417280651,0.87837145906,0.878325629395,0.878279791657,0.878233945845,0.878188091961,0.878142230005,0.878096359978,0.878050481879,0.878004595709,0.877958701469,0.877912799159,0.877866888779,0.87782097033,0.877775043812,0.877729109226,0.877683166572,0.877637215851,0.877591257062,0.877545290207,0.877499315286,0.877453332299,0.877407341246,0.877361342129,0.877315334947,0.877269319701,0.877223296392,0.877177265019,0.877131225583,0.877085178085,0.877039122525,0.876993058903,0.87694698722,0.876900907477,0.876854819673,0.876808723809,0.876762619886,0.876716507904,0.876670387863,0.876624259764,0.876578123608,0.876531979394,0.876485827123,0.876439666796,0.876393498412,0.876347321973,0.876301137479,0.87625494493,0.876208744327,0.87616253567,0.876116318959,0.876070094195,0.876023861379,0.87597762051,0.87593137159,0.875885114618,0.875838849595,0.875792576522,0.875746295399,0.875700006226,0.875653709003,0.875607403732,0.875561090413,0.875514769045,0.87546843963,0.875422102168,0.875375756659,0.875329403104,0.875283041503,0.875236671857,0.875190294165,0.87514390843,0.87509751465,0.875051112826,0.875004702959,0.874958285049,0.874911859097,0.874865425102,0.874818983066,0.874772532989,0.874726074872,0.874679608713,0.874633134516,0.874586652278,0.874540162002,0.874493663687,0.874447157334,0.874400642943,0.874354120515,0.87430759005,0.874261051548,0.874214505011,0.874167950438,0.874121387829,0.874074817186,0.874028238509,0.873981651798,0.873935057053,0.873888454276,0.873841843465,0.873795224623,0.873748597749,0.873701962843,0.873655319907,0.87360866894,0.873562009943,0.873515342917,0.873468667861,0.873421984777,0.873375293664,0.873328594524,0.873281887356,0.873235172161,0.873188448939,0.873141717692,0.873094978418,0.87304823112,0.873001475796,0.872954712448,0.872907941076,0.87286116168,0.872814374261,0.87276757882,0.872720775356,0.87267396387,0.872627144363,0.872580316835,0.872533481286,0.872486637717,0.872439786129,0.872392926521,0.872346058894,0.872299183249,0.872252299586,0.872205407906,0.872158508208,0.872111600493,0.872064684763,0.872017761016,0.871970829254,0.871923889477,0.871876941686,0.87182998588,0.871783022061,0.871736050229,0.871689070383,0.871642082526,0.871595086656,0.871548082775,0.871501070883,0.87145405098,0.871407023067,0.871359987144,0.871312943212,0.87126589127,0.871218831321,0.871171763363,0.871124687398,0.871077603425,0.871030511446,0.87098341146,0.870936303469,0.870889187472,0.87084206347,0.870794931464,0.870747791453,0.870700643438,0.870653487421,0.8706063234,0.870559151377,0.870511971352,0.870464783325,0.870417587298,0.870370383269,0.870323171241,0.870275951212,0.870228723184,0.870181487157,0.870134243132,0.870086991109,0.870039731088,0.869992463069,0.869945187054,0.869897903043,0.869850611035,0.869803311033,0.869756003035,0.869708687042,0.869661363056,0.869614031075,0.869566691101,0.869519343135,0.869471987176,0.869424623225,0.869377251282,0.869329871349,0.869282483424,0.86923508751,0.869187683605,0.869140271711,0.869092851828,0.869045423957,0.868997988098,0.868950544251,0.868903092416,0.868855632595,0.868808164788,0.868760688995,0.868713205216,0.868665713452,0.868618213704,0.868570705971,0.868523190255,0.868475666556,0.868428134873,0.868380595209,0.868333047562,0.868285491934,0.868237928324,0.868190356734,0.868142777164,0.868095189614,0.868047594085,0.867999990577,0.86795237909,0.867904759625,0.867857132183,0.867809496763,0.867761853367,0.867714201995,0.867666542646,0.867618875323,0.867571200024,0.867523516751,0.867475825503,0.867428126282,0.867380419088,0.867332703921,0.867284980782,0.867237249671,0.867189510588,0.867141763534,0.86709400851,0.867046245516,0.866998474552,0.866950695618,0.866902908716,0.866855113845,0.866807311007,0.866759500201,0.866711681428,0.866663854688,0.866616019982,0.866568177311,0.866520326674,0.866472468072,0.866424601505,0.866376726975,0.866328844481,0.866280954025,0.866233055605,0.866185149223,0.86613723488,0.866089312575,0.866041382309,0.865993444082,0.865945497896,0.86589754375,0.865849581645,0.865801611581,0.865753633559,0.865705647579,0.865657653642,0.865609651748,0.865561641897,0.865513624091,0.865465598328,0.865417564611,0.865369522938,0.865321473312,0.865273415731,0.865225350198,0.865177276711,0.865129195272,0.86508110588,0.865033008537,0.864984903243,0.864936789998,0.864888668803,0.864840539658,0.864792402563,0.864744257519,0.864696104527,0.864647943587,0.864599774699,0.864551597864,0.864503413082,0.864455220354,0.86440701968,0.864358811061,0.864310594496,0.864262369987,0.864214137534,0.864165897137,0.864117648797,0.864069392514,0.864021128289,0.863972856122,0.863924576013,0.863876287963,0.863827991973,0.863779688043,0.863731376173,0.863683056364,0.863634728616,0.86358639293,0.863538049305,0.863489697744,0.863441338245,0.86339297081,0.863344595439,0.863296212131,0.863247820889,0.863199421712,0.863151014601,0.863102599555,0.863054176577,0.863005745665,0.862957306821,0.862908860044,0.862860405336,0.862811942697,0.862763472126,0.862714993626,0.862666507196,0.862618012836,0.862569510547,0.86252100033,0.862472482184,0.862423956111,0.862375422111,0.862326880184,0.86227833033,0.862229772551,0.862181206846,0.862132633216,0.862084051662,0.862035462184,0.861986864782,0.861938259456,0.861889646209,0.861841025038,0.861792395946,0.861743758933,0.861695113998,0.861646461143,0.861597800368,0.861549131673,0.861500455059,0.861451770527,0.861403078076,0.861354377707,0.861305669421,0.861256953218,0.861208229099,0.861159497063,0.861110757112,0.861062009245,0.861013253464,0.860964489769,0.86091571816,0.860866938638,0.860818151202,0.860769355855,0.860720552595,0.860671741424,0.860622922341,0.860574095348,0.860525260445,0.860476417632,0.860427566909,0.860378708278,0.860329841738,0.860280967291,0.860232084935,0.860183194673,0.860134296504,0.860085390429,0.860036476449,0.859987554563,0.859938624772,0.859889687077,0.859840741477,0.859791787975,0.859742826569,0.859693857261,0.859644880051,0.859595894939,0.859546901926,0.859497901012,0.859448892197,0.859399875483,0.85935085087,0.859301818357,0.859252777946,0.859203729637,0.85915467343,0.859105609326,0.859056537325,0.859007457429,0.858958369636,0.858909273948,0.858860170365,0.858811058887,0.858761939516,0.858712812251,0.858663677093,0.858614534042,0.858565383099,0.858516224264,0.858467057538,0.858417882922,0.858368700414,0.858319510017,0.858270311731,0.858221105555,0.858171891491,0.858122669538,0.858073439698,0.858024201971,0.857974956357,0.857925702856,0.85787644147,0.857827172198,0.857777895041,0.85772861,0.857679317075,0.857630016266,0.857580707574,0.857531390999,0.857482066543,0.857432734204,0.857383393984,0.857334045883,0.857284689901,0.85723532604,0.857185954299,0.857136574679,0.857087187181,0.857037791804,0.85698838855,0.856938977418,0.856889558409,0.856840131525,0.856790696764,0.856741254128,0.856691803616,0.856642345231,0.856592878971,0.856543404838,0.856493922831,0.856444432952,0.8563949352,0.856345429577,0.856295916083,0.856246394717,0.856196865481,0.856147328375,0.8560977834,0.856048230555,0.855998669842,0.855949101261,0.855899524812,0.855849940496,0.855800348313,0.855750748263,0.855701140348,0.855651524567,0.855601900922,0.855552269412,0.855502630037,0.8554529828,0.855403327699,0.855353664735,0.855303993909,0.855254315222,0.855204628673,0.855154934263,0.855105231993,0.855055521863,0.855005803873,0.854956078025,0.854906344317,0.854856602752,0.854806853329,0.854757096049,0.854707330912,0.854657557919,0.85460777707,0.854557988365,0.854508191806,0.854458387392,0.854408575125,0.854358755003,0.854308927029,0.854259091202,0.854209247523,0.854159395992,0.85410953661,0.854059669377,0.854009794293,0.85395991136,0.853910020578,0.853860121946,0.853810215466,0.853760301138,0.853710378962,0.85366044894,0.85361051107,0.853560565355,0.853510611793,0.853460650387,0.853410681135,0.853360704039,0.8533107191,0.853260726316,0.85321072569,0.853160717221,0.853110700911,0.853060676758,0.853010644765,0.85296060493,0.852910557256,0.852860501742,0.852810438388,0.852760367196,0.852710288165,0.852660201296,0.85261010659,0.852560004047,0.852509893667,0.852459775451,0.8524096494,0.852359515513,0.852309373792,0.852259224236,0.852209066847,0.852158901624,0.852108728568,0.85205854768,0.85200835896,0.851958162409,0.851907958027,0.851857745814,0.851807525771,0.851757297898,0.851707062196,0.851656818666,0.851606567307,0.85155630812,0.851506041106,0.851455766266,0.851405483598,0.851355193105,0.851304894787,0.851254588643,0.851204274675,0.851153952883,0.851103623267,0.851053285828,0.851002940566,0.850952587482,0.850902226576,0.850851857849,0.850801481302,0.850751096933,0.850700704745,0.850650304737,0.850599896911,0.850549481266,0.850499057802,0.850448626522,0.850398187424,0.850347740509,0.850297285778,0.850246823231,0.850196352869,0.850145874693,0.850095388702,0.850044894897,0.849994393278,0.849943883847,0.849893366603,0.849842841547,0.849792308679,0.849741768001,0.849691219512,0.849640663212,0.849590099103,0.849539527185,0.849488947457,0.849438359922,0.849387764579,0.849337161428,0.84928655047,0.849235931706,0.849185305136,0.84913467076,0.84908402858,0.849033378594,0.848982720805,0.848932055212,0.848881381815,0.848830700616,0.848780011615,0.848729314812,0.848678610207,0.848627897802,0.848577177596,0.848526449591,0.848475713785,0.848424970181,0.848374218779,0.848323459578,0.848272692579,0.848221917784,0.848171135192,0.848120344803,0.848069546619,0.84801874064,0.847967926866,0.847917105297,0.847866275935,0.847815438779,0.84776459383,0.847713741089,0.847662880555,0.847612012231,0.847561136115,0.847510252208,0.847459360512,0.847408461025,0.84735755375,0.847306638686,0.847255715833,0.847204785193,0.847153846766,0.847102900551,0.84705194655,0.847000984764,0.846950015192,0.846899037834,0.846848052693,0.846797059767,0.846746059058,0.846695050565,0.84664403429,0.846593010233,0.846541978394,0.846490938774,0.846439891373,0.846388836192,0.846337773231,0.846286702491,0.846235623971,0.846184537674,0.846133443598,0.846082341745,0.846031232115,0.845980114708,0.845928989525,0.845877856567,0.845826715834,0.845775567326,0.845724411043,0.845673246987,0.845622075158,0.845570895556,0.845519708182,0.845468513036,0.845417310118,0.84536609943,0.845314880971,0.845263654742,0.845212420744,0.845161178976,0.845109929441,0.845058672137,0.845007407065,0.844956134226,0.844904853621,0.84485356525,0.844802269113,0.84475096521,0.844699653543,0.844648334111,0.844597006916,0.844545671957,0.844494329236,0.844442978752,0.844391620506,0.844340254499,0.84428888073,0.844237499201,0.844186109912,0.844134712864,0.844083308056,0.84403189549,0.843980475166,0.843929047084,0.843877611244,0.843826167648,0.843774716296,0.843723257188,0.843671790324,0.843620315706,0.843568833333,0.843517343207,0.843465845327,0.843414339694,0.843362826308,0.843311305171,0.843259776282,0.843208239642,0.843156695251,0.84310514311,0.84305358322,0.84300201558,0.842950440192,0.842898857056,0.842847266172,0.84279566754,0.842744061162,0.842692447037,0.842640825167,0.842589195551,0.84253755819,0.842485913085,0.842434260236,0.842382599643,0.842330931308,0.842279255229,0.842227571409,0.842175879848,0.842124180545,0.842072473501,0.842020758718,0.841969036194,0.841917305932,0.841865567931,0.841813822191,0.841762068714,0.841710307499,0.841658538548,0.84160676186,0.841554977437,0.841503185278,0.841451385384,0.841399577756,0.841347762394,0.841295939298,0.841244108469,0.841192269908,0.841140423614,0.841088569589,0.841036707833,0.840984838347,0.84093296113,0.840881076183,0.840829183508,0.840777283103,0.84072537497,0.84067345911,0.840621535522,0.840569604208,0.840517665167,0.8404657184,0.840413763908,0.840361801691,0.84030983175,0.840257854084,0.840205868695,0.840153875583,0.840101874749,0.840049866193,0.839997849915,0.839945825916,0.839893794196,0.839841754756,0.839789707597,0.839737652718,0.839685590121,0.839633519805,0.839581441772,0.839529356022,0.839477262555,0.839425161371,0.839373052472,0.839320935857,0.839268811527,0.839216679484,0.839164539726,0.839112392254,0.83906023707,0.839008074174,0.838955903565,0.838903725245,0.838851539214,0.838799345472,0.83874714402,0.838694934859,0.838642717989,0.838590493409,0.838538261122,0.838486021127,0.838433773425,0.838381518017,0.838329254902,0.838276984081,0.838224705555,0.838172419324,0.838120125389,0.83806782375,0.838015514408,0.837963197363,0.837910872615,0.837858540166,0.837806200015,0.837753852163,0.837701496611,0.837649133359,0.837596762407,0.837544383757,0.837491997408,0.83743960336,0.837387201616,0.837334792174,0.837282375035,0.837229950201,0.837177517671,0.837125077445,0.837072629525,0.837020173911,0.836967710603,0.836915239602,0.836862760908,0.836810274522,0.836757780444,0.836705278674,0.836652769214,0.836600252064,0.836547727224,0.836495194694,0.836442654475,0.836390106568,0.836337550974,0.836284987691,0.836232416722,0.836179838066,0.836127251725,0.836074657698,0.836022055985,0.835969446589,0.835916829508,0.835864204743,0.835811572296,0.835758932166,0.835706284354,0.83565362886,0.835600965685,0.835548294829,0.835495616294,0.835442930078,0.835390236183,0.83533753461,0.835284825358,0.835232108429,0.835179383822,0.835126651539,0.835073911579,0.835021163943,0.834968408632,0.834915645647,0.834862874986,0.834810096652,0.834757310645,0.834704516965,0.834651715612,0.834598906587,0.834546089891,0.834493265524,0.834440433486,0.834387593778,0.834334746401,0.834281891355,0.83422902864,0.834176158258,0.834123280207,0.83407039449,0.834017501106,0.833964600056,0.83391169134,0.833858774959,0.833805850914,0.833752919204,0.833699979831,0.833647032794,0.833594078095,0.833541115733,0.83348814571,0.833435168026,0.833382182681,0.833329189675,0.83327618901,0.833223180685,0.833170164702,0.83311714106,0.833064109761,0.833011070804,0.83295802419,0.83290496992,0.832851907994,0.832798838413,0.832745761176,0.832692676286,0.832639583741,0.832586483543,0.832533375692,0.832480260188,0.832427137033,0.832374006226,0.832320867768,0.832267721659,0.832214567901,0.832161406493,0.832108237436,0.83205506073,0.832001876376,0.831948684375,0.831895484727,0.831842277432,0.83178906249,0.831735839904,0.831682609672,0.831629371795,0.831576126274,0.83152287311,0.831469612303,0.831416343852,0.83136306776,0.831309784026,0.83125649265,0.831203193634,0.831149886978,0.831096572682,0.831043250746,0.830989921172,0.83093658396,0.83088323911,0.830829886622,0.830776526498,0.830723158737,0.830669783341,0.830616400309,0.830563009642,0.830509611341,0.830456205406,0.830402791838,0.830349370637,0.830295941803,0.830242505338,0.830189061241,0.830135609513,0.830082150155,0.830028683167,0.829975208549,0.829921726303,0.829868236428,0.829814738925,0.829761233795,0.829707721037,0.829654200653,0.829600672643,0.829547137008,0.829493593747,0.829440042862,0.829386484353,0.829332918221,0.829279344465,0.829225763087,0.829172174087,0.829118577465,0.829064973222,0.829011361359,0.828957741875,0.828904114772,0.82885048005,0.828796837709,0.82874318775,0.828689530173,0.828635864979,0.828582192169,0.828528511742,0.8284748237,0.828421128043,0.828367424771,0.828313713884,0.828259995384,0.828206269271,0.828152535545,0.828098794207,0.828045045258,0.827991288697,0.827937524525,0.827883752743,0.827829973352,0.827776186351,0.827722391741,0.827668589524,0.827614779698,0.827560962265,0.827507137226,0.82745330458,0.827399464328,0.827345616471,0.827291761009,0.827237897943,0.827184027274,0.827130149001,0.827076263125,0.827022369647,0.826968468567,0.826914559885,0.826860643603,0.826806719721,0.826752788238,0.826698849157,0.826644902476,0.826590948197,0.826536986321,0.826483016847,0.826429039776,0.826375055109,0.826321062846,0.826267062987,0.826213055534,0.826159040486,0.826105017845,0.82605098761,0.825996949782,0.825942904362,0.82588885135,0.825834790746,0.825780722552,0.825726646767,0.825672563392,0.825618472428,0.825564373875,0.825510267734,0.825456154004,0.825402032688,0.825347903784,0.825293767294,0.825239623218,0.825185471556,0.82513131231,0.825077145479,0.825022971065,0.824968789066,0.824914599485,0.824860402322,0.824806197576,0.824751985249,0.824697765342,0.824643537853,0.824589302785,0.824535060137,0.824480809911,0.824426552106,0.824372286723,0.824318013762,0.824263733225,0.824209445111,0.824155149421,0.824100846156,0.824046535315,0.8239922169,0.823937890912,0.82388355735,0.823829216215,0.823774867507,0.823720511227,0.823666147376,0.823611775954,0.823557396962,0.8235030104,0.823448616268,0.823394214567,0.823339805298,0.82328538846,0.823230964056,0.823176532084,0.823122092546,0.823067645442,0.823013190772,0.822958728538,0.822904258739,0.822849781376,0.822795296449,0.82274080396,0.822686303908,0.822631796295,0.822577281119,0.822522758383,0.822468228087,0.82241369023,0.822359144814,0.822304591839,0.822250031306,0.822195463214,0.822140887565,0.82208630436,0.822031713597,0.821977115279,0.821922509406,0.821867895977,0.821813274994,0.821758646457,0.821704010367,0.821649366724,0.821594715528,0.821540056781,0.821485390482,0.821430716632,0.821376035231,0.821321346281,0.821266649781,0.821211945733,0.821157234136,0.821102514991,0.821047788299,0.82099305406,0.820938312274,0.820883562943,0.820828806066,0.820774041644,0.820719269678,0.820664490168,0.820609703115,0.820554908519,0.82050010638,0.8204452967,0.820390479478,0.820335654715,0.820280822412,0.820225982569,0.820171135187,0.820116280266,0.820061417807,0.82000654781,0.819951670275,0.819896785204,0.819841892596,0.819786992453,0.819732084774,0.819677169561,0.819622246813,0.819567316531,0.819512378716,0.819457433369,0.819402480489,0.819347520077,0.819292552134,0.81923757666,0.819182593656,0.819127603122,0.819072605059,0.819017599467,0.818962586347,0.8189075657,0.818852537525,0.818797501823,0.818742458595,0.818687407842,0.818632349563,0.818577283759,0.818522210432,0.81846712958,0.818412041206,0.818356945309,0.818301841889,0.818246730948,0.818191612486,0.818136486503,0.818081353,0.818026211978,0.817971063436,0.817915907376,0.817860743797,0.817805572701,0.817750394088,0.817695207959,0.817640014313,0.817584813152,0.817529604475,0.817474388284,0.817419164579,0.817363933361,0.817308694629,0.817253448385,0.817198194629,0.817142933361,0.817087664583,0.817032388294,0.816977104494,0.816921813186,0.816866514368,0.816811208042,0.816755894208,0.816700572867,0.816645244018,0.816589907664,0.816534563803,0.816479212437,0.816423853566,0.81636848719,0.816313113311,0.816257731928,0.816202343043,0.816146946655,0.816091542765,0.816036131374,0.815980712482,0.81592528609,0.815869852198,0.815814410807,0.815758961917,0.815703505528,0.815648041642,0.815592570259,0.815537091378,0.815481605002,0.81542611113,0.815370609762,0.8153151009,0.815259584544,0.815204060694,0.815148529351,0.815092990515,0.815037444187,0.814981890367,0.814926329057,0.814870760255,0.814815183964,0.814759600182,0.814704008912,0.814648410153,0.814592803906,0.814537190172,0.81448156895,0.814425940242,0.814370304048,0.814314660369,0.814259009204,0.814203350555,0.814147684422,0.814092010805,0.814036329706,0.813980641124,0.81392494506,0.813869241515,0.813813530489,0.813757811982,0.813702085995,0.81364635253,0.813590611585,0.813534863162,0.813479107261,0.813423343883,0.813367573027,0.813311794696,0.813256008889,0.813200215606,0.813144414849,0.813088606618,0.813032790913,0.812976967734,0.812921137083,0.81286529896,0.812809453365,0.812753600299,0.812697739762,0.812641871755,0.812585996278,0.812530113333,0.812474222918,0.812418325036,0.812362419686,0.812306506869,0.812250586585,0.812194658836,0.81213872362,0.81208278094,0.812026830796,0.811970873187,0.811914908115,0.81185893558,0.811802955583,0.811746968123,0.811690973202,0.811634970821,0.811578960979,0.811522943677,0.811466918916,0.811410886695,0.811354847017,0.811298799881,0.811242745287,0.811186683237,0.811130613731,0.811074536768,0.811018452351,0.810962360479,0.810906261152,0.810850154372,0.810794040139,0.810737918453,0.810681789315,0.810625652726,0.810569508685,0.810513357194,0.810457198253,0.810401031862,0.810344858022,0.810288676733,0.810232487997,0.810176291813,0.810120088182,0.810063877105,0.810007658582,0.809951432613,0.809895199199,0.809838958341,0.80978271004,0.809726454294,0.809670191106,0.809613920476,0.809557642404,0.809501356891,0.809445063937,0.809388763542,0.809332455708,0.809276140435,0.809219817723,0.809163487572,0.809107149985,0.80905080496,0.808994452498,0.8089380926,0.808881725267,0.808825350499,0.808768968296,0.808712578659,0.808656181588,0.808599777085,0.808543365149,0.808486945781,0.808430518982,0.808374084751,0.808317643091,0.808261194,0.80820473748,0.808148273531,0.808091802154,0.80803532335,0.807978837117,0.807922343458,0.807865842373,0.807809333862,0.807752817926,0.807696294565,0.80763976378,0.807583225572,0.80752667994,0.807470126886,0.807413566409,0.807356998511,0.807300423192,0.807243840452,0.807187250293,0.807130652714,0.807074047716,0.807017435299,0.806960815464,0.806904188213,0.806847553544,0.806790911459,0.806734261958,0.806677605041,0.80662094071,0.806564268965,0.806507589806,0.806450903233,0.806394209248,0.806337507851,0.806280799042,0.806224082821,0.806167359191,0.80611062815,0.806053889699,0.805997143839,0.805940390571,0.805883629895,0.805826861811,0.805770086321,0.805713303423,0.80565651312,0.805599715412,0.805542910298,0.80548609778,0.805429277859,0.805372450534,0.805315615806,0.805258773676,0.805201924144,0.805145067211,0.805088202877,0.805031331143,0.804974452009,0.804917565476,0.804860671545,0.804803770215,0.804746861488,0.804689945364,0.804633021843,0.804576090926,0.804519152614,0.804462206907,0.804405253805,0.804348293309,0.80429132542,0.804234350139,0.804177367464,0.804120377398,0.804063379941,0.804006375093,0.803949362854,0.803892343226,0.803835316209,0.803778281803,0.803721240009,0.803664190827,0.803607134258,0.803550070303,0.803492998961,0.803435920234,0.803378834122,0.803321740625,0.803264639745,0.803207531481,0.803150415834,0.803093292804,0.803036162393,0.802979024601,0.802921879428,0.802864726874,0.802807566941,0.802750399628,0.802693224937,0.802636042867,0.80257885342,0.802521656596,0.802464452395,0.802407240818,0.802350021866,0.802292795538,0.802235561836,0.80217832076,0.802121072311,0.802063816488,0.802006553293,0.801949282727,0.801892004789,0.80183471948,0.801777426801,0.801720126752,0.801662819334,0.801605504547,0.801548182392,0.801490852869,0.80143351598,0.801376171723,0.801318820101,0.801261461113,0.80120409476,0.801146721042,0.80108933996,0.801031951515,0.800974555708,0.800917152537,0.800859742005,0.800802324112,0.800744898857,0.800687466243,0.800630026269,0.800572578935,0.800515124243,0.800457662193,0.800400192785,0.80034271602,0.800285231898,0.80022774042,0.800170241587,0.800112735399,0.800055221856,0.799997700959,0.799940172709,0.799882637106,0.799825094151,0.799767543844,0.799709986186,0.799652421176,0.799594848817,0.799537269108,0.79947968205,0.799422087643,0.799364485888,0.799306876785,0.799249260335,0.799191636539,0.799134005397,0.799076366909,0.799018721077,0.7989610679,0.798903407379,0.798845739515,0.798788064308,0.798730381758,0.798672691867,0.798614994635,0.798557290062,0.798499578149,0.798441858896,0.798384132304,0.798326398373,0.798268657105,0.798210908499,0.798153152556,0.798095389276,0.798037618661,0.79797984071,0.797922055424,0.797864262804,0.79780646285,0.797748655563,0.797690840943,0.797633018991,0.797575189708,0.797517353093,0.797459509147,0.797401657872,0.797343799267,0.797285933333,0.79722806007,0.79717017948,0.797112291562,0.797054396317,0.796996493746,0.796938583849,0.796880666627,0.79682274208,0.796764810208,0.796706871013,0.796648924495,0.796590970655,0.796533009492,0.796475041008,0.796417065202,0.796359082076,0.79630109163,0.796243093865,0.796185088781,0.796127076378,0.796069056658,0.79601102962,0.795952995266,0.795894953595,0.795836904609,0.795778848307,0.795720784691,0.795662713761,0.795604635517,0.79554654996,0.795488457091,0.79543035691,0.795372249417,0.795314134613,0.7952560125,0.795197883076,0.795139746343,0.795081602301,0.795023450951,0.794965292293,0.794907126328,0.794848953057,0.794790772479,0.794732584596,0.794674389408,0.794616186915,0.794557977119,0.794499760019,0.794441535616,0.794383303911,0.794325064904,0.794266818596,0.794208564987,0.794150304078,0.794092035869,0.794033760361,0.793975477554,0.79391718745,0.793858890048,0.793800585349,0.793742273353,0.793683954062,0.793625627475,0.793567293593,0.793508952417,0.793450603948,0.793392248185,0.793333885129,0.793275514781,0.793217137142,0.793158752211,0.79310035999,0.793041960479,0.792983553679,0.79292513959,0.792866718212,0.792808289546,0.792749853593,0.792691410353,0.792632959827,0.792574502015,0.792516036918,0.792457564537,0.792399084871,0.792340597922,0.79228210369,0.792223602175,0.792165093378,0.7921065773,0.792048053941,0.791989523302,0.791930985383,0.791872440184,0.791813887707,0.791755327952,0.791696760919,0.791638186609,0.791579605023,0.79152101616,0.791462420022,0.791403816609,0.791345205921,0.79128658796,0.791227962725,0.791169330218,0.791110690438,0.791052043386,0.790993389064,0.790934727471,0.790876058607,0.790817382474,0.790758699072,0.790700008402,0.790641310463,0.790582605257,0.790523892785,0.790465173046,0.790406446041,0.790347711771,0.790288970236,0.790230221437,0.790171465375,0.790112702049,0.790053931461,0.789995153611,0.789936368499,0.789877576127,0.789818776494,0.789759969601,0.789701155449,0.789642334038,0.789583505369,0.789524669442,0.789465826258,0.789406975818,0.789348118121,0.789289253169,0.789230380962,0.7891715015,0.789112614785,0.789053720816,0.788994819595,0.788935911121,0.788876995395,0.788818072418,0.788759142191,0.788700204714,0.788641259986,0.78858230801,0.788523348786,0.788464382313,0.788405408593,0.788346427627,0.788287439414,0.788228443955,0.788169441251,0.788110431302,0.788051414109,0.787992389673,0.787933357993,0.787874319071,0.787815272907,0.787756219501,0.787697158855,0.787638090968,0.787579015842,0.787519933476,0.787460843872,0.787401747029,0.787342642949,0.787283531631,0.787224413078,0.787165287288,0.787106154262,0.787047014002,0.786987866507,0.786928711779,0.786869549817,0.786810380623,0.786751204196,0.786692020538,0.786632829648,0.786573631529,0.786514426179,0.786455213599,0.786395993791,0.786336766754,0.786277532489,0.786218290997,0.786159042279,0.786099786334,0.786040523163,0.785981252768,0.785921975148,0.785862690303,0.785803398236,0.785744098945,0.785684792432,0.785625478697,0.785566157741,0.785506829564,0.785447494167,0.78538815155,0.785328801714,0.78526944466,0.785210080387,0.785150708897,0.78509133019,0.785031944267,0.784972551128,0.784913150773,0.784853743204,0.78479432842,0.784734906423,0.784675477213,0.78461604079,0.784556597156,0.784497146309,0.784437688252,0.784378222984,0.784318750507,0.78425927082,0.784199783925,0.784140289821,0.78408078851,0.784021279991,0.783961764266,0.783902241336,0.783842711199,0.783783173858,0.783723629312,0.783664077562,0.78360451861,0.783544952454,0.783485379096,0.783425798537,0.783366210777,0.783306615816,0.783247013655,0.783187404294,0.783127787735,0.783068163977,0.783008533022,0.782948894869,0.78288924952,0.782829596975,0.782769937233,0.782710270297,0.782650596167,0.782590914842,0.782531226324,0.782471530613,0.78241182771,0.782352117615,0.782292400329,0.782232675852,0.782172944185,0.782113205328,0.782053459283,0.781993706049,0.781933945627,0.781874178018,0.781814403222,0.781754621239,0.781694832071,0.781635035718,0.78157523218,0.781515421458,0.781455603552,0.781395778464,0.781335946193,0.78127610674,0.781216260106,0.781156406291,0.781096545296,0.781036677122,0.780976801768,0.780916919235,0.780857029525,0.780797132637,0.780737228572,0.780677317331,0.780617398914,0.780557473322,0.780497540555,0.780437600613,0.780377653499,0.780317699211,0.78025773775,0.780197769118,0.780137793314,0.78007781034,0.780017820195,0.77995782288,0.779897818396,0.779837806744,0.779777787923,0.779717761935,0.77965772878,0.779597688458,0.779537640971,0.779477586318,0.7794175245,0.779357455518,0.779297379373,0.779237296064,0.779177205593,0.779117107959,0.779057003164,0.778996891209,0.778936772093,0.778876645817,0.778816512381,0.778756371788,0.778696224036,0.778636069126,0.778575907059,0.778515737836,0.778455561457,0.778395377922,0.778335187233,0.778274989389,0.778214784392,0.778154572241,0.778094352938,0.778034126482,0.777973892876,0.777913652118,0.777853404209,0.777793149151,0.777732886944,0.777672617588,0.777612341083,0.777552057431,0.777491766632,0.777431468687,0.777371163595,0.777310851358,0.777250531976,0.77719020545,0.77712987178,0.777069530967,0.777009183011,0.776948827913,0.776888465673,0.776828096293,0.776767719772,0.776707336111,0.776646945311,0.776586547372,0.776526142295,0.77646573008,0.776405310728,0.776344884239,0.776284450615,0.776224009855,0.77616356196,0.776103106931,0.776042644768,0.775982175472,0.775921699043,0.775861215483,0.77580072479,0.775740226967,0.775679722013,0.775619209929,0.775558690716,0.775498164374,0.775437630904,0.775377090306,0.775316542582,0.77525598773,0.775195425753,0.77513485665,0.775074280423,0.775013697071,0.774953106595,0.774892508996,0.774831904274,0.774771292431,0.774710673466,0.774650047379,0.774589414173,0.774528773846,0.774468126401,0.774407471836,0.774346810154,0.774286141353,0.774225465436,0.774164782402,0.774104092252,0.774043394987,0.773982690607,0.773921979112,0.773861260504,0.773800534783,0.773739801949,0.773679062003,0.773618314946,0.773557560778,0.773496799499,0.77343603111,0.773375255613,0.773314473006,0.773253683291,0.773192886469,0.77313208254,0.773071271504,0.773010453363,0.772949628116,0.772888795764,0.772827956308,0.772767109748,0.772706256086,0.77264539532,0.772584527453,0.772523652484,0.772462770415,0.772401881245,0.772340984975,0.772280081606,0.772219171139,0.772158253573,0.77209732891,0.77203639715,0.771975458294,0.771914512342,0.771853559294,0.771792599152,0.771731631916,0.771670657586,0.771609676163,0.771548687647,0.77148769204,0.771426689341,0.771365679552,0.771304662672,0.771243638702,0.771182607644,0.771121569497,0.771060524262,0.770999471939,0.77093841253,0.770877346034,0.770816272453,0.770755191786,0.770694104035,0.7706330092,0.770571907281,0.77051079828,0.770449682196,0.77038855903,0.770327428783,0.770266291455,0.770205147047,0.77014399556,0.770082836993,0.770021671348,0.769960498626,0.769899318826,0.769838131949,0.769776937996,0.769715736967,0.769654528864,0.769593313685,0.769532091433,0.769470862108,0.76940962571,0.769348382239,0.769287131697,0.769225874083,0.769164609399,0.769103337646,0.769042058822,0.76898077293,0.76891947997,0.768858179941,0.768796872846,0.768735558684,0.768674237456,0.768612909162,0.768551573804,0.768490231381,0.768428881894,0.768367525344,0.768306161731,0.768244791057,0.768183413321,0.768122028523,0.768060636666,0.767999237748,0.767937831772,0.767876418736,0.767814998642,0.767753571491,0.767692137283,0.767630696018,0.767569247698,0.767507792322,0.767446329891,0.767384860406,0.767323383868,0.767261900276,0.767200409632,0.767138911936,0.767077407188,0.76701589539,0.766954376542,0.766892850643,0.766831317696,0.7667697777,0.766708230657,0.766646676565,0.766585115427,0.766523547243,0.766461972013,0.766400389738,0.766338800418,0.766277204054,0.766215600647,0.766153990196,0.766092372704,0.76603074817,0.765969116594,0.765907477978,0.765845832322,0.765784179626,0.765722519892,0.765660853119,0.765599179308,0.76553749846,0.765475810575,0.765414115655,0.765352413699,0.765290704707,0.765228988682,0.765167265622,0.76510553553,0.765043798405,0.764982054247,0.764920303058,0.764858544838,0.764796779588,0.764735007308,0.764673227998,0.76461144166,0.764549648293,0.7644878479,0.764426040479,0.764364226031,0.764302404558,0.764240576059,0.764178740536,0.764116897989,0.764055048418,0.763993191824,0.763931328207,0.763869457569,0.763807579909,0.763745695228,0.763683803528,0.763621904807,0.763559999068,0.76349808631,0.763436166534,0.763374239741,0.763312305931,0.763250365105,0.763188417263,0.763126462407,0.763064500535,0.76300253165,0.762940555752,0.76287857284,0.762816582917,0.762754585981,0.762692582035,0.762630571078,0.762568553112,0.762506528136,0.762444496151,0.762382457158,0.762320411157,0.762258358149,0.762196298135,0.762134231114,0.762072157089,0.762010076058,0.761947988023,0.761885892985,0.761823790943,0.761761681899,0.761699565854,0.761637442806,0.761575312758,0.76151317571,0.761451031662,0.761388880615,0.761326722569,0.761264557525,0.761202385484,0.761140206446,0.761078020412,0.761015827383,0.760953627358,0.760891420339,0.760829206325,0.760766985319,0.760704757319,0.760642522328,0.760580280344,0.76051803137,0.760455775405,0.76039351245,0.760331242506,0.760268965573,0.760206681651,0.760144390742,0.760082092846,0.760019787964,0.759957476095,0.759895157241,0.759832831403,0.75977049858,0.759708158773,0.759645811984,0.759583458211,0.759521097457,0.759458729722,0.759396355006,0.759333973309,0.759271584633,0.759209188978,0.759146786345,0.759084376733,0.759021960145,0.758959536579,0.758897106037,0.75883466852,0.758772224027,0.75870977256,0.75864731412,0.758584848705,0.758522376319,0.75845989696,0.758397410629,0.758334917327,0.758272417055,0.758209909813,0.758147395602,0.758084874422,0.758022346273,0.757959811158,0.757897269075,0.757834720026,0.757772164011,0.75770960103,0.757647031085,0.757584454176,0.757521870303,0.757459279468,0.757396681669,0.75733407691,0.757271465188,0.757208846506,0.757146220865,0.757083588263,0.757020948703,0.756958302184,0.756895648707,0.756832988273,0.756770320883,0.756707646536,0.756644965234,0.756582276977,0.756519581766,0.756456879601,0.756394170483,0.756331454412,0.756268731389,0.756206001414,0.756143264489,0.756080520614,0.756017769788,0.755955012014,0.755892247291,0.75582947562,0.755766697001,0.755703911436,0.755641118924,0.755578319467,0.755515513065,0.755452699718,0.755389879427,0.755327052193,0.755264218016,0.755201376897,0.755138528836,0.755075673834,0.755012811891,0.754949943009,0.754887067187,0.754824184426,0.754761294728,0.754698398092,0.754635494518,0.754572584008,0.754509666563,0.754446742182,0.754383810866,0.754320872617,0.754257927433,0.754194975317,0.754132016268,0.754069050288,0.754006077376,0.753943097533,0.753880110761,0.753817117059,0.753754116428,0.753691108869,0.753628094382,0.753565072968,0.753502044627,0.75343900936,0.753375967167,0.75331291805,0.753249862009,0.753186799044,0.753123729155,0.753060652344,0.752997568612,0.752934477957,0.752871380382,0.752808275887,0.752745164472,0.752682046138,0.752618920886,0.752555788715,0.752492649627,0.752429503623,0.752366350702,0.752303190866,0.752240024115,0.752176850449,0.75211366987,0.752050482377,0.751987287971,0.751924086654,0.751860878424,0.751797663284,0.751734441234,0.751671212274,0.751607976404,0.751544733626,0.75148148394,0.751418227347,0.751354963846,0.75129169344,0.751228416127,0.75116513191,0.751101840788,0.751038542762,0.750975237832,0.750911926,0.750848607265,0.750785281629,0.750721949092,0.750658609655,0.750595263317,0.75053191008,0.750468549945,0.750405182911,0.75034180898,0.750278428151,0.750215040427,0.750151645806,0.750088244291,0.75002483588,0.749961420576,0.749897998378,0.749834569287,0.749771133304,0.749707690429,0.749644240663,0.749580784006,0.74951732046,0.749453850024,0.749390372699,0.749326888486,0.749263397385,0.749199899398,0.749136394523,0.749072882763,0.749009364118,0.748945838588,0.748882306173,0.748818766875,0.748755220695,0.748691667631,0.748628107686,0.74856454086,0.748500967153,0.748437386566,0.748373799099,0.748310204754,0.74824660353,0.748182995429,0.74811938045,0.748055758595,0.747992129864,0.747928494258,0.747864851777,0.747801202421,0.747737546192,0.74767388309,0.747610213115,0.747546536269,0.747482852551,0.747419161963,0.747355464504,0.747291760176,0.747228048979,0.747164330913,0.74710060598,0.74703687418,0.746973135513,0.74690938998,0.746845637581,0.746781878318,0.746718112191,0.746654339199,0.746590559345,0.746526772628,0.74646297905,0.74639917861,0.746335371309,0.746271557148,0.746207736127,0.746143908248,0.74608007351,0.746016231914,0.745952383461,0.745888528152,0.745824665986,0.745760796965,0.745696921089,0.745633038359,0.745569148775,0.745505252338,0.745441349049,0.745377438907,0.745313521914,0.745249598071,0.745185667377,0.745121729834,0.745057785441,0.744993834201,0.744929876112,0.744865911176,0.744801939394,0.744737960765,0.744673975291,0.744609982972,0.744545983809,0.744481977802,0.744417964952,0.74435394526,0.744289918725,0.74422588535,0.744161845133,0.744097798076,0.74403374418,0.743969683445,0.743905615871,0.743841541459,0.74377746021,0.743713372125,0.743649277203,0.743585175447,0.743521066855,0.743456951429,0.743392829169,0.743328700076,0.74326456415,0.743200421393,0.743136271804,0.743072115385,0.743007952135,0.742943782056,0.742879605148,0.742815421411,0.742751230847,0.742687033455,0.742622829237,0.742558618193,0.742494400323,0.742430175629,0.74236594411,0.742301705767,0.742237460602,0.742173208614,0.742108949804,0.742044684173,0.741980411721,0.741916132449,0.741851846357,0.741787553447,0.741723253718,0.741658947171,0.741594633807,0.741530313627,0.741465986631,0.741401652819,0.741337312192,0.741272964751,0.741208610497,0.74114424943,0.74107988155,0.741015506858,0.740951125355,0.740886737041,0.740822341918,0.740757939984,0.740693531242,0.740629115692,0.740564693334,0.740500264169,0.740435828197,0.740371385419,0.740306935836,0.740242479449,0.740178016257,0.740113546261,0.740049069463,0.739984585862,0.73992009546,0.739855598256,0.739791094251,0.739726583447,0.739662065843,0.739597541441,0.73953301024,0.739468472242,0.739403927446,0.739339375854,0.739274817467,0.739210252284,0.739145680306,0.739081101534,0.739016515969,0.738951923611,0.738887324461,0.738822718519,0.738758105785,0.738693486262,0.738628859948,0.738564226845,0.738499586954,0.738434940274,0.738370286807,0.738305626552,0.738240959512,0.738176285686,0.738111605074,0.738046917678,0.737982223498,0.737917522535,0.737852814788,0.73778810026,0.73772337895,0.737658650859,0.737593915988,0.737529174337,0.737464425906,0.737399670697,0.73733490871,0.737270139946,0.737205364405,0.737140582087,0.737075792994,0.737010997126,0.736946194484,0.736881385067,0.736816568877,0.736751745915,0.736686916181,0.736622079675,0.736557236398,0.736492386351,0.736427529534,0.736362665948,0.736297795594,0.736232918472,0.736168034582,0.736103143926,0.736038246504,0.735973342316,0.735908431363,0.735843513646,0.735778589166,0.735713657922,0.735648719916,0.735583775147,0.735518823618,0.735453865327,0.735388900277,0.735323928467,0.735258949898,0.73519396457,0.735128972485,0.735063973643,0.734998968044,0.73493395569,0.73486893658,0.734803910715,0.734738878096,0.734673838723,0.734608792598,0.73454373972,0.73447868009,0.73441361371,0.734348540578,0.734283460697,0.734218374066,0.734153280687,0.734088180559,0.734023073684,0.733957960061,0.733892839693,0.733827712578,0.733762578719,0.733697438115,0.733632290766,0.733567136675,0.733501975841,0.733436808264,0.733371633946,0.733306452887,0.733241265087,0.733176070548,0.733110869269,0.733045661252,0.732980446497,0.732915225005,0.732849996775,0.73278476181,0.732719520109,0.732654271672,0.732589016502,0.732523754598,0.73245848596,0.73239321059,0.732327928488,0.732262639654,0.73219734409,0.732132041795,0.732066732771,0.732001417018,0.731936094537,0.731870765327,0.731805429391,0.731740086728,0.731674737338,0.731609381224,0.731544018385,0.731478648821,0.731413272534,0.731347889524,0.731282499791,0.731217103337,0.731151700162,0.731086290265,0.731020873649,0.730955450314,0.73089002026,0.730824583487,0.730759139997,0.73069368979,0.730628232867,0.730562769228,0.730497298874,0.730431821805,0.730366338022,0.730300847526,0.730235350317,0.730169846395,0.730104335763,0.730038818419,0.729973294365,0.729907763601,0.729842226128,0.729776681947,0.729711131057,0.72964557346,0.729580009157,0.729514438147,0.729448860432,0.729383276012,0.729317684887,0.729252087059,0.729186482527,0.729120871293,0.729055253358,0.728989628721,0.728923997383,0.728858359345,0.728792714607,0.728727063171,0.728661405036,0.728595740204,0.728530068674,0.728464390448,0.728398705526,0.728333013909,0.728267315597,0.728201610591,0.728135898892,0.7280701805,0.728004455415,0.727938723639,0.727872985172,0.727807240014,0.727741488167,0.72767572963,0.727609964404,0.727544192491,0.72747841389,0.727412628602,0.727346836628,0.727281037969,0.727215232624,0.727149420595,0.727083601883,0.727017776487,0.726951944408,0.726886105648,0.726820260206,0.726754408083,0.72668854928,0.726622683798,0.726556811636,0.726490932796,0.726425047279,0.726359155084,0.726293256213,0.726227350666,0.726161438444,0.726095519546,0.726029593975,0.72596366173,0.725897722813,0.725831777223,0.725765824961,0.725699866028,0.725633900425,0.725567928152,0.72550194921,0.725435963599,0.72536997132,0.725303972373,0.72523796676,0.72517195448,0.725105935535,0.725039909925,0.72497387765,0.724907838712,0.72484179311,0.724775740846,0.724709681919,0.724643616332,0.724577544084,0.724511465175,0.724445379607,0.72437928738,0.724313188495,0.724247082951,0.724180970751,0.724114851895,0.724048726382,0.723982594214,0.723916455391,0.723850309915,0.723784157784,0.723717999001,0.723651833566,0.723585661479,0.723519482741,0.723453297353,0.723387105314,0.723320906627,0.723254701291,0.723188489307,0.723122270675,0.723056045397,0.722989813472,0.722923574902,0.722857329687,0.722791077828,0.722724819325,0.722658554179,0.72259228239,0.722526003959,0.722459718887,0.722393427175,0.722327128822,0.72226082383,0.722194512199,0.722128193929,0.722061869022,0.721995537478,0.721929199298,0.721862854481,0.72179650303,0.721730144944,0.721663780224,0.72159740887,0.721531030884,0.721464646266,0.721398255016,0.721331857135,0.721265452624,0.721199041483,0.721132623713,0.721066199315,0.720999768288,0.720933330634,0.720866886354,0.720800435448,0.720733977916,0.720667513759,0.720601042978,0.720534565574,0.720468081546,0.720401590897,0.720335093625,0.720268589732,0.720202079219,0.720135562085,0.720069038333,0.720002507961,0.719935970972,0.719869427365,0.719802877141,0.719736320301,0.719669756845,0.719603186774,0.719536610089,0.71947002679,0.719403436878,0.719336840353,0.719270237216,0.719203627467,0.719137011108,0.719070388139,0.71900375856,0.718937122373,0.718870479577,0.718803830173,0.718737174162,0.718670511545,0.718603842322,0.718537166494,0.718470484061,0.718403795023,0.718337099383,0.71827039714,0.718203688294,0.718136972847,0.718070250799,0.718003522151,0.717936786903,0.717870045056,0.71780329661,0.717736541566,0.717669779926,0.717603011688,0.717536236854,0.717469455425,0.717402667402,0.717335872784,0.717269071572,0.717202263767,0.71713544937,0.717068628381,0.717001800802,0.716934966631,0.716868125871,0.716801278521,0.716734424583,0.716667564056,0.716600696943,0.716533823242,0.716466942955,0.716400056082,0.716333162625,0.716266262583,0.716199355957,0.716132442748,0.716065522957,0.715998596584,0.715931663629,0.715864724094,0.715797777979,0.715730825284,0.71566386601,0.715596900158,0.715529927729,0.715462948722,0.715395963139,0.715328970981,0.715261972247,0.715194966939,0.715127955056,0.715060936601,0.714993911573,0.714926879972,0.714859841801,0.714792797058,0.714725745745,0.714658687863,0.714591623411,0.714524552392,0.714457474804,0.714390390649,0.714323299928,0.714256202641,0.714189098789,0.714121988372,0.71405487139,0.713987747846,0.713920617738,0.713853481069,0.713786337838,0.713719188046,0.713652031693,0.713584868781,0.713517699309,0.71345052328,0.713383340692,0.713316151547,0.713248955845,0.713181753587,0.713114544774,0.713047329406,0.712980107484,0.712912879009,0.71284564398,0.712778402399,0.712711154267,0.712643899583,0.712576638349,0.712509370565,0.712442096231,0.71237481535,0.71230752792,0.712240233942,0.712172933418,0.712105626348,0.712038312733,0.711970992572,0.711903665867,0.711836332619,0.711768992827,0.711701646493,0.711634293617,0.7115669342,0.711499568243,0.711432195745,0.711364816708,0.711297431133,0.711230039019,0.711162640368,0.71109523518,0.711027823456,0.710960405196,0.710892980401,0.710825549072,0.710758111209,0.710690666813,0.710623215884,0.710555758424,0.710488294432,0.71042082391,0.710353346857,0.710285863275,0.710218373164,0.710150876526,0.710083373359,0.710015863666,0.709948347446,0.709880824701,0.70981329543,0.709745759636,0.709678217317,0.709610668475,0.70954311311,0.709475551224,0.709407982816,0.709340407888,0.709272826439,0.709205238471,0.709137643984,0.709070042978,0.709002435456,0.708934821416,0.70886720086,0.708799573788,0.7087319402,0.708664300099,0.708596653483,0.708529000354,0.708461340713,0.70839367456,0.708326001895,0.708258322719,0.708190637033,0.708122944838,0.708055246134,0.707987540921,0.707919829201,0.707852110974,0.70778438624,0.707716655,0.707648917256,0.707581173006,0.707513422253,0.707445664997,0.707377901238,0.707310130976,0.707242354214,0.70717457095,0.707106781187,0.707038984923,0.706971182161,0.706903372901,0.706835557142,0.706767734887,0.706699906135,0.706632070888,0.706564229145,0.706496380907,0.706428526176,0.706360664951,0.706292797234,0.706224923024,0.706157042323,0.706089155131,0.706021261449,0.705953361278,0.705885454617,0.705817541468,0.705749621831,0.705681695708,0.705613763097,0.705545824001,0.70547787842,0.705409926354,0.705341967804,0.705274002771,0.705206031255,0.705138053257,0.705070068777,0.705002077817,0.704934080376,0.704866076456,0.704798066056,0.704730049179,0.704662025823,0.704593995991,0.704525959682,0.704457916897,0.704389867637,0.704321811903,0.704253749694,0.704185681012,0.704117605858,0.704049524231,0.703981436133,0.703913341564,0.703845240524,0.703777133016,0.703709019038,0.703640898592,0.703572771678,0.703504638297,0.703436498449,0.703368352136,0.703300199358,0.703232040114,0.703163874407,0.703095702237,0.703027523604,0.702959338509,0.702891146952,0.702822948935,0.702754744457,0.70268653352,0.702618316124,0.702550092269,0.702481861957,0.702413625188,0.702345381962,0.702277132281,0.702208876144,0.702140613553,0.702072344508,0.70200406901,0.701935787059,0.701867498656,0.701799203801,0.701730902496,0.70166259474,0.701594280535,0.701525959881,0.701457632779,0.701389299229,0.701320959232,0.701252612789,0.7011842599,0.701115900566,0.701047534787,0.700979162565,0.700910783899,0.700842398791,0.70077400724,0.700705609248,0.700637204816,0.700568793943,0.700500376631,0.70043195288,0.700363522691,0.700295086064,0.700226643001,0.700158193501,0.700089737565,0.700021275194,0.699952806389,0.69988433115,0.699815849477,0.699747361373,0.699678866836,0.699610365868,0.699541858469,0.69947334464,0.699404824382,0.699336297695,0.69926776458,0.699199225037,0.699130679068,0.699062126672,0.698993567851,0.698925002604,0.698856430934,0.698787852839,0.698719268322,0.698650677381,0.69858208002,0.698513476236,0.698444866033,0.698376249409,0.698307626366,0.698238996904,0.698170361024,0.698101718727,0.698033070013,0.697964414883,0.697895753337,0.697827085377,0.697758411002,0.697689730213,0.697621043012,0.697552349398,0.697483649372,0.697414942935,0.697346230088,0.697277510831,0.697208785165,0.69714005309,0.697071314607,0.697002569716,0.696933818419,0.696865060716,0.696796296608,0.696727526095,0.696658749177,0.696589965856,0.696521176132,0.696452380006,0.696383577478,0.69631476855,0.69624595322,0.696177131491,0.696108303363,0.696039468837,0.695970627913,0.695901780591,0.695832926873,0.695764066759,0.695695200249,0.695626327345,0.695557448047,0.695488562356,0.695419670271,0.695350771795,0.695281866927,0.695212955668,0.695144038019,0.69507511398,0.695006183552,0.694937246736,0.694868303532,0.694799353942,0.694730397964,0.694661435601,0.694592466853,0.69452349172,0.694454510203,0.694385522303,0.69431652802,0.694247527356,0.69417852031,0.694109506883,0.694040487076,0.69397146089,0.693902428324,0.693833389381,0.69376434406,0.693695292362,0.693626234288,0.693557169838,0.693488099013,0.693419021814,0.693349938241,0.693280848295,0.693211751976,0.693142649285,0.693073540224,0.693004424791,0.692935302989,0.692866174817,0.692797040277,0.692727899369,0.692658752093,0.692589598451,0.692520438442,0.692451272068,0.692382099329,0.692312920226,0.692243734759,0.692174542929,0.692105344737,0.692036140183,0.691966929269,0.691897711993,0.691828488358,0.691759258364,0.691690022012,0.691620779301,0.691551530233,0.691482274809,0.691413013029,0.691343744893,0.691274470403,0.691205189558,0.691135902361,0.69106660881,0.690997308908,0.690928002653,0.690858690048,0.690789371093,0.690720045788,0.690650714135,0.690581376132,0.690512031783,0.690442681086,0.690373324043,0.690303960654,0.69023459092,0.690165214841,0.690095832419,0.690026443653,0.689957048545,0.689887647095,0.689818239303,0.689748825171,0.689679404699,0.689609977887,0.689540544737,0.689471105249,0.689401659423,0.68933220726,0.689262748761,0.689193283927,0.689123812757,0.689054335254,0.688984851417,0.688915361246,0.688845864744,0.688776361909,0.688706852744,0.688637337248,0.688567815422,0.688498287267,0.688428752784,0.688359211973,0.688289664834,0.688220111369,0.688150551578,0.688080985462,0.68801141302,0.687941834255,0.687872249167,0.687802657755,0.687733060022,0.687663455967,0.687593845591,0.687524228895,0.687454605879,0.687384976545,0.687315340892,0.687245698921,0.687176050634,0.68710639603,0.68703673511,0.686967067875,0.686897394326,0.686827714463,0.686758028287,0.686688335798,0.686618636998,0.686548931886,0.686479220463,0.686409502731,0.686339778689,0.686270048339,0.68620031168,0.686130568714,0.686060819441,0.685991063863,0.685921301978,0.685851533789,0.685781759296,0.685711978499,0.685642191399,0.685572397997,0.685502598293,0.685432792289,0.685362979984,0.685293161379,0.685223336475,0.685153505273,0.685083667773,0.685013823976,0.684943973882,0.684874117492,0.684804254808,0.684734385828,0.684664510555,0.684594628988,0.684524741129,0.684454846978,0.684384946535,0.684315039802,0.684245126779,0.684175207466,0.684105281864,0.684035349975,0.683965411797,0.683895467333,0.683825516583,0.683755559547,0.683685596226,0.683615626621,0.683545650732,0.68347566856,0.683405680106,0.68333568537,0.683265684353,0.683195677056,0.683125663479,0.683055643623,0.682985617488,0.682915585075,0.682845546385,0.682775501419,0.682705450176,0.682635392659,0.682565328866,0.6824952588,0.682425182461,0.682355099848,0.682285010964,0.682214915808,0.682144814381,0.682074706685,0.682004592718,0.681934472483,0.68186434598,0.681794213209,0.681724074172,0.681653928868,0.681583777298,0.681513619464,0.681443455365,0.681373285002,0.681303108377,0.681232925489,0.681162736339,0.681092540928,0.681022339257,0.680952131326,0.680881917135,0.680811696686,0.68074146998,0.680671237016,0.680600997795,0.680530752319,0.680460500587,0.680390242601,0.680319978361,0.680249707867,0.68017943112,0.680109148122,0.680038858872,0.679968563371,0.679898261621,0.67982795362,0.679757639371,0.679687318874,0.679616992129,0.679546659137,0.679476319899,0.679405974416,0.679335622687,0.679265264714,0.679194900498,0.679124530038,0.679054153337,0.678983770393,0.678913381208,0.678842985783,0.678772584118,0.678702176214,0.678631762072,0.678561341691,0.678490915074,0.67842048222,0.67835004313,0.678279597805,0.678209146245,0.678138688451,0.678068224424,0.677997754164,0.677927277673,0.677856794949,0.677786305996,0.677715810812,0.677645309398,0.677574801756,0.677504287886,0.677433767789,0.677363241464,0.677292708913,0.677222170137,0.677151625136,0.677081073911,0.677010516462,0.67693995279,0.676869382896,0.67679880678,0.676728224443,0.676657635886,0.67658704111,0.676516440114,0.6764458329,0.676375219468,0.676304599819,0.676233973953,0.676163341872,0.676092703575,0.676022059064,0.67595140834,0.675880751402,0.675810088251,0.675739418889,0.675668743315,0.675598061531,0.675527373536,0.675456679333,0.675385978921,0.6753152723,0.675244559473,0.675173840439,0.675103115198,0.675032383752,0.674961646102,0.674890902247,0.674820152189,0.674749395929,0.674678633466,0.674607864801,0.674537089936,0.67446630887,0.674395521605,0.674324728141,0.674253928479,0.674183122619,0.674112310562,0.674041492309,0.673970667861,0.673899837217,0.673829000379,0.673758157347,0.673687308122,0.673616452705,0.673545591096,0.673474723296,0.673403849306,0.673332969125,0.673262082756,0.673191190198,0.673120291453,0.67304938652,0.6729784754,0.672907558095,0.672836634605,0.67276570493,0.672694769071,0.672623827029,0.672552878804,0.672481924397,0.672410963809,0.67233999704,0.672269024091,0.672198044963,0.672127059656,0.672056068172,0.671985070509,0.67191406667,0.671843056655,0.671772040465,0.671701018099,0.67162998956,0.671558954847,0.671487913961,0.671416866903,0.671345813674,0.671274754274,0.671203688703,0.671132616963,0.671061539054,0.670990454977,0.670919364732,0.67084826832,0.670777165742,0.670706056998,0.67063494209,0.670563821017,0.67049269378,0.67042156038,0.670350420818,0.670279275094,0.670208123209,0.670136965164,0.670065800959,0.669994630595,0.669923454072,0.669852271392,0.669781082554,0.66970988756,0.66963868641,0.669567479105,0.669496265646,0.669425046032,0.669353820266,0.669282588347,0.669211350276,0.669140106053,0.66906885568,0.668997599157,0.668926336485,0.668855067665,0.668783792696,0.66871251158,0.668641224317,0.668569930908,0.668498631354,0.668427325655,0.668356013813,0.668284695826,0.668213371698,0.668142041427,0.668070705014,0.667999362461,0.667928013768,0.667856658935,0.667785297963,0.667713930854,0.667642557607,0.667571178223,0.667499792702,0.667428401047,0.667357003256,0.667285599331,0.667214189273,0.667142773082,0.667071350759,0.666999922304,0.666928487718,0.666857047002,0.666785600156,0.666714147181,0.666642688078,0.666571222847,0.66649975149,0.666428274006,0.666356790396,0.666285300662,0.666213804803,0.66614230282,0.666070794714,0.665999280486,0.665927760136,0.665856233666,0.665784701074,0.665713162363,0.665641617533,0.665570066585,0.665498509518,0.665426946335,0.665355377035,0.665283801619,0.665212220088,0.665140632443,0.665069038684,0.664997438811,0.664925832826,0.66485422073,0.664782602522,0.664710978203,0.664639347775,0.664567711237,0.664496068591,0.664424419837,0.664352764976,0.664281104008,0.664209436934,0.664137763755,0.664066084472,0.663994399084,0.663922707593,0.663851009999,0.663779306304,0.663707596507,0.66363588061,0.663564158612,0.663492430515,0.66342069632,0.663348956026,0.663277209635,0.663205457148,0.663133698564,0.663061933885,0.662990163111,0.662918386243,0.662846603282,0.662774814228,0.662703019082,0.662631217845,0.662559410516,0.662487597098,0.66241577759,0.662343951994,0.662272120309,0.662200282537,0.662128438678,0.662056588733,0.661984732702,0.661912870587,0.661841002387,0.661769128104,0.661697247738,0.66162536129,0.66155346876,0.66148157015,0.661409665459,0.661337754689,0.66126583784,0.661193914913,0.661121985908,0.661050050826,0.660978109668,0.660906162435,0.660834209126,0.660762249744,0.660690284287,0.660618312758,0.660546335157,0.660474351484,0.66040236174,0.660330365925,0.660258364041,0.660186356089,0.660114342067,0.660042321979,0.659970295823,0.659898263601,0.659826225313,0.659754180961,0.659682130544,0.659610074063,0.659538011519,0.659465942913,0.659393868246,0.659321787517,0.659249700728,0.659177607879,0.659105508972,0.659033404006,0.658961292982,0.658889175901,0.658817052764,0.658744923571,0.658672788323,0.658600647021,0.658528499665,0.658456346256,0.658384186795,0.658312021282,0.658239849717,0.658167672103,0.658095488439,0.658023298725,0.657951102963,0.657878901154,0.657806693297,0.657734479394,0.657662259445,0.657590033451,0.657517801413,0.657445563331,0.657373319206,0.657301069038,0.657228812829,0.657156550578,0.657084282287,0.657012007956,0.656939727587,0.656867441178,0.656795148732,0.656722850249,0.656650545729,0.656578235174,0.656505918583,0.656433595958,0.6563612673,0.656288932608,0.656216591883,0.656144245127,0.65607189234,0.655999533522,0.655927168674,0.655854797797,0.655782420892,0.655710037959,0.655637648999,0.655565254012,0.655492853,0.655420445962,0.6553480329,0.655275613814,0.655203188705,0.655130757573,0.65505832042,0.654985877245,0.65491342805,0.654840972835,0.654768511601,0.654696044349,0.654623571078,0.654551091791,0.654478606487,0.654406115167,0.654333617832,0.654261114482,0.654188605119,0.654116089742,0.654043568353,0.653971040953,0.653898507541,0.653825968118,0.653753422686,0.653680871244,0.653608313795,0.653535750337,0.653463180872,0.6533906054,0.653318023923,0.653245436441,0.653172842954,0.653100243463,0.653027637969,0.652955026473,0.652882408975,0.652809785475,0.652737155975,0.652664520476,0.652591878977,0.65251923148,0.652446577984,0.652373918492,0.652301253003,0.652228581519,0.652155904039,0.652083220565,0.652010531097,0.651937835636,0.651865134182,0.651792426737,0.6517197133,0.651646993873,0.651574268456,0.65150153705,0.651428799656,0.651356056274,0.651283306905,0.651210551549,0.651137790207,0.65106502288,0.650992249569,0.650919470274,0.650846684996,0.650773893736,0.650701096494,0.65062829327,0.650555484067,0.650482668883,0.65040984772,0.650337020579,0.65026418746,0.650191348364,0.650118503292,0.650045652244,0.649972795221,0.649899932223,0.649827063252,0.649754188307,0.649681307391,0.649608420502,0.649535527643,0.649462628813,0.649389724013,0.649316813244,0.649243896507,0.649170973802,0.64909804513,0.649025110492,0.648952169888,0.648879223319,0.648806270786,0.648733312289,0.648660347829,0.648587377406,0.648514401022,0.648441418677,0.648368430372,0.648295436107,0.648222435882,0.6481494297,0.64807641756,0.648003399463,0.64793037541,0.647857345401,0.647784309437,0.647711267519,0.647638219647,0.647565165822,0.647492106045,0.647419040316,0.647345968637,0.647272891007,0.647199807427,0.647126717899,0.647053622422,0.646980520998,0.646907413627,0.646834300309,0.646761181046,0.646688055839,0.646614924687,0.646541787591,0.646468644552,0.646395495572,0.64632234065,0.646249179787,0.646176012983,0.646102840241,0.646029661559,0.645956476939,0.645883286382,0.645810089888,0.645736887458,0.645663679092,0.645590464792,0.645517244557,0.645444018389,0.645370786288,0.645297548255,0.645224304291,0.645151054395,0.64507779857,0.645004536816,0.644931269132,0.644857995521,0.644784715982,0.644711430516,0.644638139125,0.644564841807,0.644491538566,0.6444182294,0.644344914311,0.644271593299,0.644198266365,0.64412493351,0.644051594734,0.643978250039,0.643904899424,0.64383154289,0.643758180438,0.643684812069,0.643611437784,0.643538057582,0.643464671465,0.643391279434,0.643317881489,0.64324447763,0.643171067859,0.643097652176,0.643024230582,0.642950803077,0.642877369662,0.642803930339,0.642730485106,0.642657033966,0.642583576919,0.642510113965,0.642436645105,0.642363170341,0.642289689671,0.642216203098,0.642142710622,0.642069212244,0.641995707963,0.641922197782,0.6418486817,0.641775159719,0.641701631838,0.641628098059,0.641554558382,0.641481012809,0.641407461338,0.641333903973,0.641260340712,0.641186771557,0.641113196508,0.641039615566,0.640966028732,0.640892436007,0.64081883739,0.640745232883,0.640671622487,0.640598006201,0.640524384028,0.640450755966,0.640377122018,0.640303482184,0.640229836464,0.64015618486,0.640082527371,0.640008863998,0.639935194743,0.639861519606,0.639787838587,0.639714151688,0.639640458908,0.639566760249,0.639493055711,0.639419345295,0.639345629002,0.639271906831,0.639198178785,0.639124444864,0.639050705068,0.638976959397,0.638903207854,0.638829450437,0.638755687149,0.63868191799,0.63860814296,0.638534362059,0.63846057529,0.638386782652,0.638312984146,0.638239179773,0.638165369533,0.638091553428,0.638017731457,0.637943903622,0.637870069923,0.63779623036,0.637722384936,0.637648533649,0.637574676501,0.637500813493,0.637426944625,0.637353069898,0.637279189313,0.63720530287,0.637131410569,0.637057512413,0.636983608401,0.636909698533,0.636835782812,0.636761861236,0.636687933808,0.636614000527,0.636540061395,0.636466116412,0.636392165579,0.636318208896,0.636244246364,0.636170277984,0.636096303756,0.636022323682,0.635948337761,0.635874345995,0.635800348384,0.635726344929,0.63565233563,0.635578320489,0.635504299505,0.63543027268,0.635356240015,0.635282201509,0.635208157164,0.63513410698,0.635060050958,0.634985989099,0.634911921403,0.634837847872,0.634763768504,0.634689683303,0.634615592267,0.634541495398,0.634467392697,0.634393284164,0.634319169799,0.634245049604,0.634170923579,0.634096791725,0.634022654043,0.633948510532,0.633874361195,0.633800206031,0.633726045041,0.633651878227,0.633577705588,0.633503527125,0.633429342839,0.633355152731,0.633280956801,0.63320675505,0.633132547479,0.633058334088,0.632984114878,0.632909889851,0.632835659005,0.632761422343,0.632687179864,0.63261293157,0.632538677461,0.632464417538,0.632390151801,0.632315880252,0.63224160289,0.632167319717,0.632093030734,0.63201873594,0.631944435337,0.631870128925,0.631795816705,0.631721498678,0.631647174844,0.631572845204,0.631498509759,0.631424168509,0.631349821456,0.631275468599,0.63120110994,0.631126745478,0.631052375216,0.630977999153,0.63090361729,0.630829229628,0.630754836168,0.63068043691,0.630606031855,0.630531621003,0.630457204356,0.630382781914,0.630308353677,0.630233919647,0.630159479824,0.630085034208,0.630010582801,0.629936125603,0.629861662614,0.629787193837,0.62971271927,0.629638238915,0.629563752772,0.629489260843,0.629414763128,0.629340259627,0.629265750341,0.629191235272,0.629116714419,0.629042187783,0.628967655365,0.628893117166,0.628818573186,0.628744023427,0.628669467888,0.62859490657,0.628520339475,0.628445766602,0.628371187953,0.628296603527,0.628222013327,0.628147417352,0.628072815604,0.627998208082,0.627923594788,0.627848975722,0.627774350885,0.627699720278,0.627625083901,0.627550441755,0.627475793841,0.627401140159,0.62732648071,0.627251815495,0.627177144515,0.627102467769,0.627027785259,0.626953096986,0.62687840295,0.626803703152,0.626728997592,0.626654286272,0.626579569192,0.626504846352,0.626430117753,0.626355383397,0.626280643283,0.626205897412,0.626131145786,0.626056388404,0.625981625268,0.625906856378,0.625832081735,0.625757301339,0.625682515191,0.625607723292,0.625532925643,0.625458122244,0.625383313096,0.625308498199,0.625233677555,0.625158851164,0.625084019026,0.625009181143,0.624934337515,0.624859488142,0.624784633026,0.624709772168,0.624634905566,0.624560033224,0.62448515514,0.624410271317,0.624335381754,0.624260486452,0.624185585412,0.624110678635,0.624035766121,0.623960847871,0.623885923886,0.623810994166,0.623736058713,0.623661117526,0.623586170606,0.623511217955,0.623436259572,0.623361295459,0.623286325616,0.623211350044,0.623136368744,0.623061381715,0.62298638896,0.622911390479,0.622836386271,0.622761376339,0.622686360683,0.622611339302,0.622536312199,0.622461279374,0.622386240827,0.62231119656,0.622236146572,0.622161090865,0.622086029439,0.622010962295,0.621935889433,0.621860810855,0.621785726561,0.621710636551,0.621635540827,0.621560439389,0.621485332238,0.621410219374,0.621335100798,0.621259976511,0.621184846514,0.621109710806,0.62103456939,0.620959422265,0.620884269433,0.620809110893,0.620733946647,0.620658776696,0.620583601039,0.620508419679,0.620433232614,0.620358039847,0.620282841378,0.620207637207,0.620132427335,0.620057211763,0.619981990492,0.619906763522,0.619831530854,0.619756292488,0.619681048426,0.619605798668,0.619530543215,0.619455282067,0.619380015225,0.61930474269,0.619229464462,0.619154180543,0.619078890932,0.619003595631,0.618928294641,0.618852987961,0.618777675593,0.618702357537,0.618627033794,0.618551704365,0.61847636925,0.618401028451,0.618325681967,0.6182503298,0.61817497195,0.618099608417,0.618024239204,0.617948864309,0.617873483735,0.617798097481,0.617722705548,0.617647307938,0.61757190465,0.617496495686,0.617421081045,0.61734566073,0.61727023474,0.617194803076,0.617119365739,0.61704392273,0.616968474049,0.616893019697,0.616817559674,0.616742093982,0.616666622621,0.616591145592,0.616515662895,0.616440174531,0.616364680501,0.616289180805,0.616213675445,0.616138164421,0.616062647733,0.615987125382,0.61591159737,0.615836063696,0.615760524361,0.615684979367,0.615609428713,0.615533872401,0.615458310431,0.615382742804,0.61530716952,0.615231590581,0.615156005986,0.615080415737,0.615004819834,0.614929218279,0.614853611071,0.614777998211,0.614702379701,0.61462675554,0.61455112573,0.614475490271,0.614399849164,0.61432420241,0.614248550008,0.614172891961,0.614097228268,0.614021558931,0.61394588395,0.613870203325,0.613794517058,0.613718825149,0.613643127599,0.613567424408,0.613491715578,0.613416001109,0.613340281001,0.613264555255,0.613188823873,0.613113086854,0.613037344199,0.61296159591,0.612885841986,0.612810082429,0.61273431724,0.612658546417,0.612582769964,0.61250698788,0.612431200166,0.612355406822,0.61227960785,0.61220380325,0.612127993022,0.612052177169,0.611976355689,0.611900528584,0.611824695854,0.611748857501,0.611673013525,0.611597163926,0.611521308706,0.611445447865,0.611369581403,0.611293709322,0.611217831622,0.611141948304,0.611066059369,0.610990164816,0.610914264648,0.610838358864,0.610762447465,0.610686530453,0.610610607827,0.610534679588,0.610458745738,0.610382806276,0.610306861204,0.610230910522,0.610154954231,0.610078992332,0.610003024825,0.60992705171,0.60985107299,0.609775088664,0.609699098733,0.609623103198,0.609547102059,0.609471095317,0.609395082973,0.609319065028,0.609243041482,0.609167012336,0.609090977591,0.609014937247,0.608938891305,0.608862839766,0.608786782631,0.608710719899,0.608634651573,0.608558577652,0.608482498137,0.608406413029,0.608330322329,0.608254226037,0.608178124155,0.608102016682,0.608025903619,0.607949784968,0.607873660728,0.607797530901,0.607721395488,0.607645254488,0.607569107903,0.607492955733,0.607416797979,0.607340634643,0.607264465723,0.607188291222,0.607112111139,0.607035925476,0.606959734234,0.606883537412,0.606807335012,0.606731127035,0.60665491348,0.606578694349,0.606502469643,0.606426239361,0.606350003506,0.606273762077,0.606197515076,0.606121262502,0.606045004357,0.605968740642,0.605892471356,0.605816196502,0.605739916078,0.605663630087,0.605587338529,0.605511041404,0.605434738714,0.605358430459,0.605282116639,0.605205797255,0.605129472309,0.605053141801,0.604976805731,0.6049004641,0.604824116909,0.604747764159,0.60467140585,0.604595041983,0.604518672558,0.604442297577,0.60436591704,0.604289530948,0.604213139302,0.604136742101,0.604060339348,0.603983931042,0.603907517184,0.603831097776,0.603754672817,0.603678242308,0.603601806251,0.603525364646,0.603448917493,0.603372464793,0.603296006547,0.603219542756,0.60314307342,0.60306659854,0.602990118117,0.602913632152,0.602837140644,0.602760643596,0.602684141007,0.602607632878,0.60253111921,0.602454600004,0.60237807526,0.602301544979,0.602225009162,0.60214846781,0.602071920922,0.601995368501,0.601918810546,0.601842247059,0.601765678039,0.601689103488,0.601612523407,0.601535937795,0.601459346655,0.601382749986,0.601306147789,0.601229540065,0.601152926815,0.601076308039,0.600999683738,0.600923053913,0.600846418564,0.600769777693,0.600693131299,0.600616479384,0.600539821948,0.600463158992,0.600386490517,0.600309816523,0.600233137011,0.600156451982,0.600079761437,0.600003065375,0.599926363799,0.599849656708,0.599772944104,0.599696225986,0.599619502356,0.599542773215,0.599466038563,0.599389298401,0.599312552729,0.599235801548,0.59915904486,0.599082282664,0.599005514961,0.598928741752,0.598851963039,0.59877517882,0.598698389098,0.598621593873,0.598544793146,0.598467986916,0.598391175186,0.598314357955,0.598237535225,0.598160706996,0.598083873269,0.598007034045,0.597930189323,0.597853339106,0.597776483393,0.597699622186,0.597622755484,0.59754588329,0.597469005603,0.597392122424,0.597315233754,0.597238339593,0.597161439943,0.597084534804,0.597007624177,0.596930708062,0.59685378646,0.596776859373,0.596699926799,0.596622988741,0.596546045199,0.596469096174,0.596392141666,0.596315181676,0.596238216205,0.596161245253,0.596084268822,0.596007286911,0.595930299522,0.595853306656,0.595776308312,0.595699304492,0.595622295197,0.595545280427,0.595468260183,0.595391234465,0.595314203275,0.595237166612,0.595160124479,0.595083076875,0.5950060238,0.594928965257,0.594851901245,0.594774831766,0.594697756819,0.594620676407,0.594543590528,0.594466499185,0.594389402377,0.594312300106,0.594235192372,0.594158079176,0.594080960519,0.594003836401,0.593926706823,0.593849571785,0.59377243129,0.593695285336,0.593618133925,0.593540977058,0.593463814735,0.593386646958,0.593309473725,0.59323229504,0.593155110901,0.593077921311,0.593000726268,0.592923525776,0.592846319833,0.59276910844,0.5926918916,0.592614669311,0.592537441575,0.592460208393,0.592382969764,0.592305725691,0.592228476174,0.592151221212,0.592073960808,0.591996694962,0.591919423674,0.591842146946,0.591764864777,0.591687577169,0.591610284122,0.591532985637,0.591455681715,0.591378372357,0.591301057562,0.591223737333,0.591146411669,0.591069080572,0.590991744041,0.590914402078,0.590837054684,0.590759701859,0.590682343604,0.590604979919,0.590527610805,0.590450236264,0.590372856295,0.5902954709,0.590218080079,0.590140683832,0.590063282161,0.589985875067,0.589908462549,0.589831044609,0.589753621248,0.589676192466,0.589598758263,0.589521318641,0.5894438736,0.589366423141,0.589288967265,0.589211505973,0.589134039264,0.58905656714,0.588979089602,0.58890160665,0.588824118285,0.588746624507,0.588669125318,0.588591620718,0.588514110708,0.588436595288,0.588359074459,0.588281548223,0.588204016579,0.588126479528,0.588048937072,0.58797138921,0.587893835943,0.587816277273,0.5877387132,0.587661143725,0.587583568848,0.587505988569,0.587428402891,0.587350811813,0.587273215337,0.587195613462,0.58711800619,0.587040393521,0.586962775456,0.586885151996,0.586807523142,0.586729888893,0.586652249252,0.586574604218,0.586496953793,0.586419297976,0.58634163677,0.586263970174,0.586186298189,0.586108620815,0.586030938055,0.585953249908,0.585875556375,0.585797857456,0.585720153154,0.585642443467,0.585564728397,0.585487007945,0.585409282111,0.585331550896,0.585253814301,0.585176072327,0.585098324973,0.585020572242,0.584942814133,0.584865050648,0.584787281786,0.584709507549,0.584631727938,0.584553942953,0.584476152595,0.584398356864,0.584320555762,0.584242749289,0.584164937446,0.584087120233,0.584009297651,0.583931469701,0.583853636384,0.5837757977,0.583697953651,0.583620104236,0.583542249456,0.583464389313,0.583386523806,0.583308652938,0.583230776707,0.583152895116,0.583075008164,0.582997115853,0.582919218184,0.582841315156,0.582763406771,0.582685493029,0.582607573931,0.582529649478,0.58245171967,0.582373784509,0.582295843995,0.582217898128,0.58213994691,0.582061990341,0.581984028421,0.581906061153,0.581828088535,0.581750110569,0.581672127256,0.581594138597,0.581516144591,0.581438145241,0.581360140546,0.581282130507,0.581204115125,0.581126094401,0.581048068335,0.580970036929,0.580892000182,0.580813958096,0.580735910671,0.580657857908,0.580579799808,0.580501736371,0.580423667598,0.580345593491,0.580267514049,0.580189429273,0.580111339164,0.580033243723,0.57995514295,0.579877036847,0.579798925413,0.579720808651,0.579642686559,0.579564559139,0.579486426393,0.579408288319,0.57933014492,0.579251996196,0.579173842148,0.579095682775,0.57901751808,0.578939348063,0.578861172724,0.578782992065,0.578704806085,0.578626614786,0.578548418169,0.578470216233,0.578392008981,0.578313796412,0.578235578527,0.578157355327,0.578079126813,0.578000892985,0.577922653845,0.577844409392,0.577766159628,0.577687904553,0.577609644168,0.577531378474,0.577453107472,0.577374831161,0.577296549544,0.57721826262,0.57713997039,0.577061672856,0.576983370017,0.576905061875,0.57682674843,0.576748429682,0.576670105634,0.576591776285,0.576513441636,0.576435101688,0.576356756441,0.576278405897,0.576200050055,0.576121688917,0.576043322484,0.575964950756,0.575886573734,0.575808191418,0.575729803809,0.575651410909,0.575573012717,0.575494609235,0.575416200463,0.575337786402,0.575259367052,0.575180942415,0.575102512491,0.57502407728,0.574945636784,0.574867191004,0.574788739939,0.574710283591,0.57463182196,0.574553355048,0.574474882854,0.57439640538,0.574317922626,0.574239434593,0.574160941282,0.574082442693,0.574003938827,0.573925429686,0.573846915269,0.573768395577,0.573689870611,0.573611340372,0.57353280486,0.573454264077,0.573375718023,0.573297166698,0.573218610104,0.57314004824,0.573061481109,0.57298290871,0.572904331045,0.572825748113,0.572747159916,0.572668566454,0.572589967729,0.572511363741,0.57243275449,0.572354139977,0.572275520204,0.57219689517,0.572118264877,0.572039629325,0.571960988515,0.571882342447,0.571803691123,0.571725034543,0.571646372708,0.571567705618,0.571489033275,0.571410355679,0.57133167283,0.57125298473,0.571174291379,0.571095592778,0.571016888928,0.570938179828,0.570859465481,0.570780745887,0.570702021046,0.57062329096,0.570544555628,0.570465815052,0.570387069232,0.57030831817,0.570229561865,0.570150800319,0.570072033533,0.569993261506,0.56991448424,0.569835701736,0.569756913993,0.569678121014,0.569599322798,0.569520519347,0.569441710661,0.56936289674,0.569284077586,0.5692052532,0.569126423581,0.569047588731,0.568968748651,0.56888990334,0.568811052801,0.568732197033,0.568653336037,0.568574469815,0.568495598366,0.568416721692,0.568337839793,0.56825895267,0.568180060324,0.568101162755,0.568022259964,0.567943351952,0.56786443872,0.567785520268,0.567706596597,0.567627667708,0.567548733601,0.567469794278,0.567390849738,0.567311899983,0.567232945014,0.567153984831,0.567075019434,0.566996048825,0.566917073004,0.566838091973,0.566759105731,0.56668011428,0.566601117619,0.566522115751,0.566443108675,0.566364096393,0.566285078905,0.566206056212,0.566127028314,0.566047995212,0.565968956908,0.565889913401,0.565810864693,0.565731810784,0.565652751674,0.565573687366,0.565494617859,0.565415543154,0.565336463251,0.565257378153,0.565178287858,0.565099192369,0.565020091685,0.564940985808,0.564861874738,0.564782758476,0.564703637022,0.564624510378,0.564545378544,0.564466241521,0.564387099309,0.564307951909,0.564228799323,0.56414964155,0.564070478592,0.563991310449,0.563912137122,0.563832958611,0.563753774918,0.563674586043,0.563595391987,0.56351619275,0.563436988334,0.563357778739,0.563278563965,0.563199344014,0.563120118886,0.563040888582,0.562961653102,0.562882412448,0.56280316662,0.562723915619,0.562644659446,0.562565398101,0.562486131584,0.562406859898,0.562327583042,0.562248301017,0.562169013824,0.562089721464,0.562010423937,0.561931121245,0.561851813387,0.561772500365,0.561693182179,0.56161385883,0.561534530319,0.561455196646,0.561375857813,0.561296513819,0.561217164666,0.561137810355,0.561058450886,0.560979086259,0.560899716477,0.560820341538,0.560740961445,0.560661576197,0.560582185796,0.560502790242,0.560423389537,0.56034398368,0.560264572672,0.560185156514,0.560105735208,0.560026308753,0.55994687715,0.559867440401,0.559787998505,0.559708551464,0.559629099278,0.559549641948,0.559470179475,0.559390711859,0.559311239102,0.559231761203,0.559152278164,0.559072789986,0.558993296668,0.558913798213,0.55883429462,0.55875478589,0.558675272025,0.558595753024,0.558516228889,0.55843669962,0.558357165218,0.558277625683,0.558198081017,0.558118531221,0.558038976294,0.557959416237,0.557879851053,0.55780028074,0.5577207053,0.557641124733,0.557561539041,0.557481948224,0.557402352283,0.557322751218,0.55724314503,0.55716353372,0.557083917289,0.557004295737,0.556924669066,0.556845037275,0.556765400366,0.556685758339,0.556606111196,0.556526458936,0.55644680156,0.55636713907,0.556287471466,0.556207798749,0.556128120919,0.556048437977,0.555968749924,0.555889056761,0.555809358488,0.555729655107,0.555649946617,0.55557023302,0.555490514316,0.555410790506,0.555331061591,0.555251327571,0.555171588448,0.555091844222,0.555012094893,0.554932340463,0.554852580932,0.554772816301,0.55469304657,0.554613271741,0.554533491814,0.55445370679,0.55437391667,0.554294121454,0.554214321142,0.554134515737,0.554054705238,0.553974889647,0.553895068963,0.553815243188,0.553735412323,0.553655576367,0.553575735323,0.55349588919,0.55341603797,0.553336181663,0.55325632027,0.553176453791,0.553096582227,0.55301670558,0.552936823849,0.552856937036,0.552777045142,0.552697148166,0.55261724611,0.552537338974,0.55245742676,0.552377509467,0.552297587097,0.552217659651,0.552137727129,0.552057789531,0.551977846859,0.551897899114,0.551817946295,0.551737988405,0.551658025443,0.55157805741,0.551498084307,0.551418106135,0.551338122894,0.551258134586,0.551178141211,0.551098142769,0.551018139262,0.55093813069,0.550858117053,0.550778098354,0.550698074592,0.550618045768,0.550538011882,0.550457972937,0.550377928931,0.550297879867,0.550217825744,0.550137766564,0.550057702327,0.549977633035,0.549897558687,0.549817479284,0.549737394827,0.549657305318,0.549577210756,0.549497111143,0.549417006478,0.549336896764,0.549256782,0.549176662188,0.549096537327,0.54901640742,0.548936272466,0.548856132466,0.548775987421,0.548695837333,0.5486156822,0.548535522025,0.548455356808,0.548375186549,0.54829501125,0.548214830912,0.548134645534,0.548054455118,0.547974259664,0.547894059173,0.547813853646,0.547733643084,0.547653427487,0.547573206857,0.547492981193,0.547412750496,0.547332514768,0.547252274009,0.54717202822,0.547091777401,0.547011521554,0.546931260678,0.546850994775,0.546770723846,0.546690447891,0.546610166911,0.546529880906,0.546449589878,0.546369293827,0.546288992754,0.54620868666,0.546128375545,0.54604805941,0.545967738256,0.545887412083,0.545807080893,0.545726744686,0.545646403463,0.545566057224,0.54548570597,0.545405349703,0.545324988422,0.545244622129,0.545164250824,0.545083874508,0.545003493181,0.544923106845,0.544842715501,0.544762319148,0.544681917788,0.544601511421,0.544521100048,0.544440683671,0.544360262288,0.544279835903,0.544199404514,0.544118968123,0.544038526731,0.543958080338,0.543877628945,0.543797172553,0.543716711162,0.543636244774,0.543555773389,0.543475297007,0.54339481563,0.543314329258,0.543233837893,0.543153341534,0.543072840182,0.542992333838,0.542911822504,0.542831306179,0.542750784865,0.542670258561,0.54258972727,0.542509190991,0.542428649726,0.542348103474,0.542267552238,0.542186996017,0.542106434812,0.542025868625,0.541945297455,0.541864721304,0.541784140172,0.541703554061,0.54162296297,0.5415423669,0.541461765853,0.541381159829,0.541300548828,0.541219932853,0.541139311902,0.541058685977,0.540978055079,0.540897419208,0.540816778366,0.540736132552,0.540655481768,0.540574826015,0.540494165293,0.540413499602,0.540332828945,0.54025215332,0.54017147273,0.540090787174,0.540010096655,0.539929401171,0.539848700725,0.539767995316,0.539687284946,0.539606569616,0.539525849325,0.539445124075,0.539364393867,0.539283658701,0.539202918578,0.539122173499,0.539041423464,0.538960668474,0.538879908531,0.538799143634,0.538718373785,0.538637598984,0.538556819232,0.538476034529,0.538395244877,0.538314450277,0.538233650728,0.538152846232,0.538072036789,0.5379912224,0.537910403067,0.537829578789,0.537748749567,0.537667915402,0.537587076296,0.537506232248,0.537425383259,0.53734452933,0.537263670463,0.537182806656,0.537101937913,0.537021064232,0.536940185615,0.536859302062,0.536778413575,0.536697520154,0.5366166218,0.536535718513,0.536454810295,0.536373897146,0.536292979066,0.536212056057,0.536131128119,0.536050195253,0.53596925746,0.53588831474,0.535807367095,0.535726414524,0.53564545703,0.535564494611,0.53548352727,0.535402555007,0.535321577823,0.535240595718,0.535159608693,0.535078616749,0.534997619887,0.534916618107,0.534835611411,0.534754599798,0.53467358327,0.534592561827,0.534511535471,0.534430504201,0.534349468019,0.534268426926,0.534187380921,0.534106330006,0.534025274182,0.53394421345,0.533863147809,0.533782077261,0.533701001807,0.533619921447,0.533538836183,0.533457746014,0.533376650941,0.533295550966,0.533214446089,0.533133336311,0.533052221633,0.532971102054,0.532889977577,0.532808848202,0.532727713929,0.532646574759,0.532565430693,0.532484281733,0.532403127877,0.532321969128,0.532240805486,0.532159636952,0.532078463526,0.531997285209,0.531916102003,0.531834913907,0.531753720923,0.531672523051,0.531591320292,0.531510112646,0.531428900115,0.5313476827,0.5312664604,0.531185233217,0.531104001151,0.531022764204,0.530941522376,0.530860275667,0.530779024079,0.530697767612,0.530616506266,0.530535240044,0.530453968945,0.53037269297,0.53029141212,0.530210126396,0.530128835798,0.530047540328,0.529966239985,0.529884934771,0.529803624686,0.529722309732,0.529640989908,0.529559665216,0.529478335657,0.52939700123,0.529315661938,0.52923431778,0.529152968758,0.529071614872,0.528990256122,0.52890889251,0.528827524037,0.528746150703,0.528664772508,0.528583389455,0.528502001542,0.528420608772,0.528339211145,0.528257808661,0.528176401321,0.528094989127,0.528013572079,0.527932150177,0.527850723423,0.527769291816,0.527687855359,0.527606414051,0.527524967893,0.527443516887,0.527362061032,0.52728060033,0.527199134782,0.527117664387,0.527036189148,0.526954709064,0.526873224136,0.526791734365,0.526710239753,0.526628740298,0.526547236004,0.526465726869,0.526384212895,0.526302694083,0.526221170433,0.526139641946,0.526058108623,0.525976570464,0.525895027471,0.525813479644,0.525731926984,0.525650369491,0.525568807167,0.525487240012,0.525405668026,0.525324091212,0.525242509568,0.525160923097,0.525079331798,0.524997735673,0.524916134723,0.524834528947,0.524752918347,0.524671302924,0.524589682678,0.524508057611,0.524426427722,0.524344793013,0.524263153484,0.524181509136,0.52409985997,0.524018205986,0.523936547186,0.52385488357,0.523773215139,0.523691541893,0.523609863834,0.523528180962,0.523446493278,0.523364800782,0.523283103476,0.523201401359,0.523119694434,0.5230379827,0.522956266159,0.52287454481,0.522792818656,0.522711087696,0.522629351931,0.522547611363,0.522465865991,0.522384115817,0.522302360841,0.522220601065,0.522138836488,0.522057067112,0.521975292937,0.521893513965,0.521811730195,0.521729941629,0.521648148267,0.52156635011,0.521484547159,0.521402739415,0.521320926879,0.52123910955,0.52115728743,0.52107546052,0.52099362882,0.520911792332,0.520829951055,0.520748104991,0.52066625414,0.520584398504,0.520502538082,0.520420672876,0.520338802887,0.520256928114,0.52017504856,0.520093164224,0.520011275108,0.519929381211,0.519847482536,0.519765579082,0.519683670851,0.519601757843,0.519519840059,0.5194379175,0.519355990166,0.519274058058,0.519192121177,0.519110179524,0.519028233099,0.518946281904,0.518864325938,0.518782365203,0.5187003997,0.518618429429,0.518536454391,0.518454474586,0.518372490016,0.518290500681,0.518208506583,0.518126507721,0.518044504096,0.51796249571,0.517880482562,0.517798464655,0.517716441988,0.517634414562,0.517552382378,0.517470345437,0.51738830374,0.517306257287,0.517224206079,0.517142150116,0.5170600894,0.516978023932,0.516895953711,0.51681387874,0.516731799018,0.516649714546,0.516567625325,0.516485531356,0.51640343264,0.516321329177,0.516239220968,0.516157108014,0.516074990315,0.515992867873,0.515910740688,0.515828608761,0.515746472092,0.515664330683,0.515582184534,0.515500033646,0.515417878019,0.515335717655,0.515253552554,0.515171382717,0.515089208145,0.515007028838,0.514924844797,0.514842656023,0.514760462517,0.514678264279,0.51459606131,0.514513853611,0.514431641183,0.514349424027,0.514267202142,0.514184975531,0.514102744193,0.51402050813,0.513938267342,0.51385602183,0.513773771595,0.513691516637,0.513609256958,0.513526992557,0.513444723437,0.513362449596,0.513280171038,0.513197887761,0.513115599767,0.513033307056,0.51295100963,0.512868707489,0.512786400634,0.512704089065,0.512621772783,0.51253945179,0.512457126086,0.512374795671,0.512292460546,0.512210120713,0.512127776172,0.512045426923,0.511963072967,0.511880714306,0.511798350939,0.511715982869,0.511633610094,0.511551232617,0.511468850438,0.511386463557,0.511304071976,0.511221675695,0.511139274715,0.511056869037,0.510974458661,0.510892043589,0.51080962382,0.510727199357,0.510644770198,0.510562336346,0.510479897801,0.510397454564,0.510315006635,0.510232554016,0.510150096707,0.510067634708,0.509985168021,0.509902696647,0.509820220585,0.509737739837,0.509655254404,0.509572764287,0.509490269485,0.50940777,0.509325265833,0.509242756984,0.509160243455,0.509077725245,0.508995202356,0.508912674789,0.508830142543,0.508747605621,0.508665064022,0.508582517748,0.508499966799,0.508417411175,0.508334850879,0.50825228591,0.50816971627,0.508087141958,0.508004562976,0.507921979325,0.507839391005,0.507756798017,0.507674200362,0.50759159804,0.507508991053,0.507426379401,0.507343763084,0.507261142105,0.507178516462,0.507095886158,0.507013251193,0.506930611567,0.506847967282,0.506765318338,0.506682664736,0.506600006476,0.50651734356,0.506434675988,0.506352003761,0.50626932688,0.506186645345,0.506103959158,0.506021268318,0.505938572827,0.505855872686,0.505773167895,0.505690458455,0.505607744367,0.505525025632,0.50544230225,0.505359574222,0.505276841548,0.505194104231,0.505111362269,0.505028615665,0.504945864419,0.504863108531,0.504780348003,0.504697582835,0.504614813028,0.504532038582,0.504449259499,0.50436647578,0.504283687424,0.504200894433,0.504118096807,0.504035294548,0.503952487655,0.503869676131,0.503786859975,0.503704039188,0.503621213772,0.503538383726,0.503455549051,0.50337270975,0.503289865821,0.503207017266,0.503124164086,0.503041306281,0.502958443852,0.5028755768,0.502792705126,0.50270982883,0.502626947914,0.502544062377,0.502461172221,0.502378277447,0.502295378055,0.502212474046,0.50212956542,0.50204665218,0.501963734324,0.501880811855,0.501797884772,0.501714953077,0.50163201677,0.501549075853,0.501466130325,0.501383180188,0.501300225442,0.501217266089,0.501134302128,0.501051333561,0.500968360389,0.500885382611,0.50080240023,0.500719413245,0.500636421658,0.500553425469,0.50047042468,0.50038741929,0.5003044093,0.500221394712,0.500138375526,0.500055351742,0.499972323363,0.499889290387,0.499806252817,0.499723210653,0.499640163895,0.499557112545,0.499474056603,0.49939099607,0.499307930946,0.499224861234,0.499141786932,0.499058708042,0.498975624565,0.498892536502,0.498809443853,0.498726346619,0.4986432448,0.498560138399,0.498477027414,0.498393911848,0.498310791701,0.498227666973,0.498144537665,0.498061403779,0.497978265315,0.497895122273,0.497811974655,0.497728822461,0.497645665692,0.497562504349,0.497479338433,0.497396167943,0.497312992882,0.497229813249,0.497146629046,0.497063440274,0.496980246932,0.496897049023,0.496813846546,0.496730639502,0.496647427893,0.496564211718,0.496480990979,0.496397765677,0.496314535811,0.496231301384,0.496148062396,0.496064818847,0.495981570738,0.495898318071,0.495815060845,0.495731799061,0.495648532722,0.495565261826,0.495481986375,0.49539870637,0.495315421811,0.495232132699,0.495148839035,0.49506554082,0.494982238054,0.494898930739,0.494815618875,0.494732302462,0.494648981502,0.494565655995,0.494482325942,0.494398991344,0.494315652202,0.494232308516,0.494148960287,0.494065607516,0.493982250204,0.493898888351,0.493815521958,0.493732151026,0.493648775556,0.493565395549,0.493482011004,0.493398621924,0.493315228309,0.493231830159,0.493148427475,0.493065020259,0.49298160851,0.49289819223,0.492814771419,0.492731346079,0.492647916209,0.492564481811,0.492481042886,0.492397599433,0.492314151455,0.492230698951,0.492147241923,0.492063780372,0.491980314297,0.4918968437,0.491813368582,0.491729888943,0.491646404784,0.491562916107,0.49147942291,0.491395925197,0.491312422966,0.491228916219,0.491145404957,0.491061889181,0.490978368891,0.490894844088,0.490811314773,0.490727780946,0.490644242608,0.490560699761,0.490477152405,0.49039360054,0.490310044167,0.490226483288,0.490142917903,0.490059348012,0.489975773617,0.489892194719,0.489808611317,0.489725023413,0.489641431007,0.489557834101,0.489474232695,0.48939062679,0.489307016386,0.489223401485,0.489139782087,0.489056158193,0.488972529804,0.48888889692,0.488805259542,0.488721617671,0.488637971309,0.488554320454,0.488470665109,0.488387005274,0.48830334095,0.488219672138,0.488135998838,0.488052321051,0.487968638778,0.487884952019,0.487801260776,0.48771756505,0.48763386484,0.487550160148,0.487466450975,0.487382737321,0.487299019187,0.487215296574,0.487131569483,0.487047837914,0.486964101868,0.486880361346,0.486796616349,0.486712866877,0.486629112932,0.486545354513,0.486461591622,0.48637782426,0.486294052427,0.486210276124,0.486126495353,0.486042710112,0.485958920404,0.48587512623,0.485791327589,0.485707524483,0.485623716912,0.485539904878,0.485456088381,0.485372267421,0.485288442,0.485204612119,0.485120777777,0.485036938976,0.484953095717,0.484869248001,0.484785395827,0.484701539198,0.484617678113,0.484533812574,0.484449942581,0.484366068135,0.484282189237,0.484198305888,0.484114418087,0.484030525837,0.483946629138,0.483862727991,0.483778822396,0.483694912354,0.483610997866,0.483527078933,0.483443155555,0.483359227734,0.48327529547,0.483191358763,0.483107417616,0.483023472027,0.482939521999,0.482855567532,0.482771608626,0.482687645283,0.482603677503,0.482519705287,0.482435728636,0.482351747551,0.482267762031,0.482183772079,0.482099777695,0.482015778879,0.481931775633,0.481847767957,0.481763755852,0.481679739319,0.481595718358,0.48151169297,0.481427663157,0.481343628918,0.481259590255,0.481175547168,0.481091499659,0.481007447727,0.480923391374,0.4808393306,0.480755265407,0.480671195795,0.480587121764,0.480503043316,0.480418960451,0.480334873171,0.480250781475,0.480166685365,0.480082584841,0.479998479905,0.479914370556,0.479830256797,0.479746138626,0.479662016046,0.479577889057,0.47949375766,0.479409621856,0.479325481644,0.479241337027,0.479157188005,0.479073034579,0.478988876749,0.478904714516,0.478820547881,0.478736376845,0.478652201409,0.478568021573,0.478483837338,0.478399648705,0.478315455675,0.478231258248,0.478147056425,0.478062850207,0.477978639595,0.477894424589,0.477810205191,0.477725981401,0.47764175322,0.477557520648,0.477473283687,0.477389042337,0.477304796598,0.477220546473,0.477136291961,0.477052033063,0.47696776978,0.476883502114,0.476799230063,0.47671495363,0.476630672816,0.47654638762,0.476462098044,0.476377804088,0.476293505753,0.476209203041,0.476124895951,0.476040584485,0.475956268643,0.475871948427,0.475787623836,0.475703294872,0.475618961535,0.475534623827,0.475450281747,0.475365935297,0.475281584478,0.47519722929,0.475112869735,0.475028505812,0.474944137522,0.474859764868,0.474775387848,0.474691006464,0.474606620717,0.474522230608,0.474437836137,0.474353437305,0.474269034112,0.474184626561,0.474100214651,0.474015798383,0.473931377757,0.473846952776,0.473762523439,0.473678089748,0.473593651702,0.473509209303,0.473424762552,0.47334031145,0.473255855996,0.473171396192,0.473086932039,0.473002463538,0.472917990689,0.472833513493,0.47274903195,0.472664546063,0.47258005583,0.472495561254,0.472411062335,0.472326559073,0.47224205147,0.472157539526,0.472073023242,0.471988502619,0.471903977658,0.471819448359,0.471734914723,0.471650376751,0.471565834443,0.471481287802,0.471396736826,0.471312181517,0.471227621877,0.471143057904,0.471058489601,0.470973916969,0.470889340007,0.470804758717,0.470720173099,0.470635583155,0.470550988884,0.470466390289,0.470381787369,0.470297180125,0.470212568558,0.47012795267,0.47004333246,0.469958707929,0.469874079079,0.46978944591,0.469704808422,0.469620166617,0.469535520496,0.469450870058,0.469366215306,0.469281556239,0.469196892859,0.469112225165,0.46902755316,0.468942876844,0.468858196217,0.468773511281,0.468688822036,0.468604128483,0.468519430622,0.468434728455,0.468350021982,0.468265311204,0.468180596122,0.468095876736,0.468011153048,0.467926425058,0.467841692767,0.467756956176,0.467672215285,0.467587470095,0.467502720608,0.467417966823,0.467333208742,0.467248446365,0.467163679694,0.467078908728,0.466994133469,0.466909353917,0.466824570074,0.46673978194,0.466654989516,0.466570192802,0.466485391799,0.466400586509,0.466315776932,0.466230963068,0.466146144919,0.466061322486,0.465976495768,0.465891664767,0.465806829484,0.465721989919,0.465637146073,0.465552297948,0.465467445543,0.46538258886,0.465297727898,0.46521286266,0.465127993146,0.465043119357,0.464958241293,0.464873358955,0.464788472344,0.464703581461,0.464618686306,0.464533786881,0.464448883186,0.464363975222,0.464279062989,0.464194146489,0.464109225722,0.464024300689,0.463939371391,0.463854437828,0.463769500002,0.463684557913,0.463599611562,0.463514660949,0.463429706076,0.463344746944,0.463259783552,0.463174815902,0.463089843995,0.463004867831,0.462919887411,0.462834902736,0.462749913807,0.462664920624,0.462579923189,0.462494921502,0.462409915563,0.462324905375,0.462239890936,0.462154872249,0.462069849314,0.461984822131,0.461899790702,0.461814755028,0.461729715108,0.461644670945,0.461559622538,0.461474569888,0.461389512997,0.461304451865,0.461219386492,0.46113431688,0.46104924303,0.460964164941,0.460879082616,0.460793996054,0.460708905256,0.460623810224,0.460538710958,0.460453607459,0.460368499727,0.460283387764,0.46019827157,0.460113151146,0.460028026493,0.459942897611,0.459857764501,0.459772627165,0.459687485602,0.459602339814,0.459517189802,0.459432035566,0.459346877106,0.459261714425,0.459176547522,0.459091376398,0.459006201055,0.458921021492,0.458835837712,0.458750649713,0.458665457498,0.458580261067,0.458495060421,0.45840985556,0.458324646486,0.458239433199,0.4581542157,0.45806899399,0.457983768069,0.457898537938,0.457813303599,0.457728065051,0.457642822297,0.457557575335,0.457472324168,0.457387068796,0.457301809219,0.45721654544,0.457131277457,0.457046005273,0.456960728888,0.456875448302,0.456790163517,0.456704874533,0.456619581351,0.456534283972,0.456448982397,0.456363676626,0.45627836666,0.456193052501,0.456107734148,0.456022411602,0.455937084865,0.455851753937,0.455766418819,0.455681079512,0.455595736016,0.455510388333,0.455425036462,0.455339680406,0.455254320163,0.455168955737,0.455083587126,0.454998214333,0.454912837357,0.4548274562,0.454742070862,0.454656681344,0.454571287647,0.454485889772,0.454400487719,0.45431508149,0.454229671084,0.454144256504,0.454058837749,0.45397341482,0.453887987718,0.453802556445,0.453717121,0.453631681385,0.4535462376,0.453460789646,0.453375337524,0.453289881235,0.453204420779,0.453118956157,0.453033487371,0.45294801442,0.452862537306,0.452777056029,0.452691570591,0.452606080991,0.452520587231,0.452435089312,0.452349587234,0.452264080998,0.452178570605,0.452093056055,0.45200753735,0.451922014491,0.451836487477,0.45175095631,0.451665420991,0.45157988152,0.451494337898,0.451408790127,0.451323238206,0.451237682136,0.451152121919,0.451066557555,0.450980989045,0.45089541639,0.45080983959,0.450724258646,0.450638673559,0.45055308433,0.45046749096,0.450381893449,0.450296291799,0.450210686009,0.450125076081,0.450039462016,0.449953843814,0.449868221476,0.449782595003,0.449696964395,0.449611329655,0.449525690781,0.449440047776,0.449354400639,0.449268749372,0.449183093975,0.44909743445,0.449011770796,0.448926103016,0.448840431109,0.448754755076,0.448669074918,0.448583390637,0.448497702232,0.448412009704,0.448326313055,0.448240612285,0.448154907395,0.448069198386,0.447983485257,0.447897768012,0.447812046649,0.44772632117,0.447640591575,0.447554857866,0.447469120043,0.447383378108,0.447297632059,0.4472118819,0.447126127629,0.447040369249,0.44695460676,0.446868840162,0.446783069457,0.446697294645,0.446611515728,0.446525732705,0.446439945577,0.446354154346,0.446268359013,0.446182559577,0.44609675604,0.446010948403,0.445925136666,0.44583932083,0.445753500896,0.445667676865,0.445581848737,0.445496016514,0.445410180196,0.445324339783,0.445238495278,0.44515264668,0.44506679399,0.444980937209,0.444895076338,0.444809211377,0.444723342328,0.444637469191,0.444551591967,0.444465710657,0.444379825262,0.444293935782,0.444208042218,0.44412214457,0.444036242841,0.44395033703,0.443864427139,0.443778513167,0.443692595117,0.443606672988,0.443520746781,0.443434816498,0.443348882139,0.443262943705,0.443177001196,0.443091054614,0.443005103959,0.442919149232,0.442833190433,0.442747227565,0.442661260626,0.442575289619,0.442489314544,0.442403335401,0.442317352192,0.442231364918,0.442145373578,0.442059378174,0.441973378707,0.441887375178,0.441801367586,0.441715355934,0.441629340222,0.44154332045,0.44145729662,0.441371268732,0.441285236787,0.441199200785,0.441113160729,0.441027116617,0.440941068452,0.440855016234,0.440768959964,0.440682899642,0.440596835269,0.440510766847,0.440424694375,0.440338617856,0.440252537288,0.440166452675,0.440080364015,0.43999427131,0.43990817456,0.439822073767,0.439735968932,0.439649860054,0.439563747135,0.439477630176,0.439391509178,0.43930538414,0.439219255065,0.439133121952,0.439046984803,0.438960843618,0.438874698398,0.438788549145,0.438702395858,0.438616238539,0.438530077188,0.438443911806,0.438357742394,0.438271568952,0.438185391483,0.438099209985,0.438013024461,0.43792683491,0.437840641334,0.437754443734,0.43766824211,0.437582036463,0.437495826794,0.437409613103,0.437323395392,0.437237173661,0.437150947911,0.437064718143,0.436978484357,0.436892246555,0.436806004737,0.436719758904,0.436633509057,0.436547255196,0.436460997323,0.436374735438,0.436288469542,0.436202199635,0.436115925719,0.436029647794,0.435943365862,0.435857079922,0.435770789976,0.435684496025,0.435598198069,0.435511896108,0.435425590145,0.43533928018,0.435252966213,0.435166648245,0.435080326277,0.43499400031,0.434907670344,0.434821336381,0.434734998422,0.434648656466,0.434562310515,0.43447596057,0.434389606631,0.434303248699,0.434216886775,0.43413052086,0.434044150955,0.43395777706,0.433871399176,0.433785017304,0.433698631444,0.433612241599,0.433525847767,0.433439449951,0.433353048151,0.433266642367,0.433180232601,0.433093818853,0.433007401124,0.432920979416,0.432834553727,0.432748124061,0.432661690416,0.432575252795,0.432488811198,0.432402365625,0.432315916077,0.432229462556,0.432143005062,0.432056543596,0.431970078158,0.43188360875,0.431797135372,0.431710658025,0.43162417671,0.431537691427,0.431451202178,0.431364708963,0.431278211783,0.431191710639,0.431105205531,0.431018696461,0.430932183429,0.430845666436,0.430759145483,0.43067262057,0.430586091698,0.430499558869,0.430413022083,0.43032648134,0.430239936642,0.430153387989,0.430066835383,0.429980278823,0.429893718311,0.429807153847,0.429720585433,0.429634013069,0.429547436756,0.429460856494,0.429374272285,0.42928768413,0.429201092028,0.429114495981,0.42902789599,0.428941292055,0.428854684178,0.428768072359,0.428681456598,0.428594836897,0.428508213257,0.428421585678,0.428334954161,0.428248318707,0.428161679316,0.42807503599,0.427988388729,0.427901737534,0.427815082406,0.427728423345,0.427641760353,0.42755509343,0.427468422577,0.427381747795,0.427295069085,0.427208386447,0.427121699882,0.427035009391,0.426948314975,0.426861616634,0.42677491437,0.426688208183,0.426601498074,0.426514784044,0.426428066093,0.426341344223,0.426254618434,0.426167888727,0.426081155102,0.425994417562,0.425907676105,0.425820930734,0.425734181448,0.42564742825,0.425560671138,0.425473910116,0.425387145182,0.425300376338,0.425213603585,0.425126826924,0.425040046355,0.424953261879,0.424866473496,0.424779681209,0.424692885017,0.424606084922,0.424519280923,0.424432473023,0.424345661221,0.424258845519,0.424172025917,0.424085202416,0.423998375017,0.42391154372,0.423824708528,0.423737869439,0.423651026456,0.423564179578,0.423477328807,0.423390474144,0.423303615589,0.423216753143,0.423129886807,0.423043016581,0.422956142467,0.422869264466,0.422782382577,0.422695496802,0.422608607142,0.422521713598,0.422434816169,0.422347914858,0.422261009665,0.42217410059,0.422087187635,0.4220002708,0.421913350086,0.421826425494,0.421739497024,0.421652564679,0.421565628457,0.42147868836,0.42139174439,0.421304796545,0.421217844829,0.42113088924,0.421043929781,0.420956966452,0.420869999253,0.420783028186,0.42069605325,0.420609074448,0.42052209178,0.420435105247,0.420348114849,0.420261120587,0.420174122462,0.420087120475,0.420000114627,0.419913104918,0.419826091349,0.419739073922,0.419652052636,0.419565027493,0.419477998493,0.419390965638,0.419303928928,0.419216888363,0.419129843945,0.419042795675,0.418955743553,0.41886868758,0.418781627757,0.418694564084,0.418607496563,0.418520425194,0.418433349978,0.418346270916,0.418259188009,0.418172101257,0.418085010662,0.417997916223,0.417910817942,0.41782371582,0.417736609858,0.417649500055,0.417562386414,0.417475268935,0.417388147618,0.417301022464,0.417213893475,0.417126760651,0.417039623993,0.416952483502,0.416865339178,0.416778191022,0.416691039035,0.416603883218,0.416516723572,0.416429560098,0.416342392795,0.416255221666,0.41616804671,0.41608086793,0.415993685324,0.415906498895,0.415819308643,0.415732114569,0.415644916674,0.415557714958,0.415470509422,0.415383300068,0.415296086895,0.415208869905,0.415121649098,0.415034424476,0.414947196039,0.414859963788,0.414772727723,0.414685487846,0.414598244157,0.414510996658,0.414423745348,0.414336490229,0.414249231301,0.414161968566,0.414074702024,0.413987431676,0.413900157523,0.413812879565,0.413725597803,0.413638312238,0.413551022872,0.413463729704,0.413376432736,0.413289131968,0.413201827401,0.413114519036,0.413027206874,0.412939890915,0.412852571161,0.412765247612,0.412677920268,0.412590589132,0.412503254203,0.412415915483,0.412328572971,0.41224122667,0.412153876579,0.4120665227,0.411979165034,0.41189180358,0.41180443834,0.411717069316,0.411629696507,0.411542319914,0.411454939538,0.411367555381,0.411280167442,0.411192775723,0.411105380224,0.411017980946,0.410930577891,0.410843171058,0.410755760449,0.410668346064,0.410580927905,0.410493505971,0.410406080264,0.410318650785,0.410231217535,0.410143780514,0.410056339722,0.409968895162,0.409881446833,0.409793994737,0.409706538874,0.409619079245,0.409531615851,0.409444148692,0.40935667777,0.409269203086,0.409181724639,0.409094242431,0.409006756463,0.408919266736,0.40883177325,0.408744276005,0.408656775004,0.408569270247,0.408481761734,0.408394249466,0.408306733445,0.40821921367,0.408131690143,0.408044162865,0.407956631836,0.407869097057,0.407781558529,0.407694016253,0.40760647023,0.40751892046,0.407431366944,0.407343809683,0.407256248677,0.407168683929,0.407081115438,0.406993543204,0.40690596723,0.406818387516,0.406730804063,0.40664321687,0.40655562594,0.406468031273,0.40638043287,0.406292830732,0.406205224859,0.406117615252,0.406030001912,0.40594238484,0.405854764037,0.405767139503,0.40567951124,0.405591879248,0.405504243527,0.405416604079,0.405328960905,0.405241314005,0.40515366338,0.405066009031,0.404978350959,0.404890689164,0.404803023648,0.40471535441,0.404627681453,0.404540004777,0.404452324382,0.404364640269,0.404276952439,0.404189260894,0.404101565633,0.404013866658,0.403926163969,0.403838457568,0.403750747454,0.403663033629,0.403575316094,0.403487594849,0.403399869896,0.403312141235,0.403224408866,0.403136672791,0.40304893301,0.402961189525,0.402873442336,0.402785691444,0.402697936849,0.402610178553,0.402522416556,0.402434650859,0.402346881464,0.402259108369,0.402171331578,0.40208355109,0.401995766905,0.401907979026,0.401820187453,0.401732392186,0.401644593226,0.401556790575,0.401468984233,0.4013811742,0.401293360478,0.401205543067,0.401117721969,0.401029897184,0.400942068712,0.400854236555,0.400766400714,0.400678561188,0.40059071798,0.40050287109,0.400415020518,0.400327166266,0.400239308334,0.400151446723,0.400063581434,0.399975712468,0.399887839825,0.399799963506,0.399712083513,0.399624199846,0.399536312505,0.399448421492,0.399360526807,0.399272628452,0.399184726426,0.399096820731,0.399008911368,0.398920998337,0.398833081639,0.398745161276,0.398657237247,0.398569309554,0.398481378197,0.398393443177,0.398305504496,0.398217562153,0.39812961615,0.398041666488,0.397953713167,0.397865756188,0.397777795552,0.397689831259,0.397601863311,0.397513891709,0.397425916452,0.397337937543,0.397249954981,0.397161968768,0.397073978904,0.39698598539,0.396897988228,0.396809987417,0.396721982958,0.396633974854,0.396545963103,0.396457947707,0.396369928668,0.396281905985,0.396193879659,0.396105849692,0.396017816083,0.395929778835,0.395841737947,0.395753693421,0.395665645257,0.395577593457,0.39548953802,0.395401478948,0.395313416241,0.395225349901,0.395137279928,0.395049206323,0.394961129087,0.394873048221,0.394784963724,0.394696875599,0.394608783847,0.394520688466,0.39443258946,0.394344486828,0.394256380571,0.394168270691,0.394080157187,0.393992040061,0.393903919314,0.393815794945,0.393727666957,0.39363953535,0.393551400125,0.393463261282,0.393375118823,0.393286972747,0.393198823057,0.393110669753,0.393022512835,0.392934352304,0.392846188162,0.392758020409,0.392669849046,0.392581674073,0.392493495492,0.392405313303,0.392317127507,0.392228938105,0.392140745098,0.392052548486,0.391964348271,0.391876144453,0.391787937033,0.391699726011,0.391611511389,0.391523293168,0.391435071348,0.391346845929,0.391258616914,0.391170384302,0.391082148095,0.390993908293,0.390905664897,0.390817417908,0.390729167326,0.390640913153,0.39055265539,0.390464394036,0.390376129094,0.390287860563,0.390199588444,0.39011131274,0.390023033449,0.389934750573,0.389846464113,0.38975817407,0.389669880444,0.389581583236,0.389493282448,0.389404978079,0.389316670131,0.389228358604,0.3891400435,0.389051724819,0.388963402562,0.388875076729,0.388786747322,0.388698414342,0.388610077788,0.388521737663,0.388433393966,0.388345046699,0.388256695862,0.388168341457,0.388079983483,0.387991621943,0.387903256836,0.387814888164,0.387726515926,0.387638140125,0.387549760761,0.387461377835,0.387372991347,0.387284601299,0.38719620769,0.387107810523,0.387019409797,0.386931005514,0.386842597675,0.38675418628,0.386665771329,0.386577352825,0.386488930767,0.386400505157,0.386312075995,0.386223643282,0.386135207019,0.386046767207,0.385958323846,0.385869876938,0.385781426482,0.385692972481,0.385604514935,0.385516053844,0.38542758921,0.385339121032,0.385250649313,0.385162174053,0.385073695252,0.384985212912,0.384896727034,0.384808237617,0.384719744663,0.384631248173,0.384542748148,0.384454244587,0.384365737494,0.384277226867,0.384188712707,0.384100195017,0.384011673796,0.383923149045,0.383834620765,0.383746088957,0.383657553622,0.38356901476,0.383480472373,0.383391926461,0.383303377024,0.383214824065,0.383126267583,0.383037707579,0.382949144055,0.382860577011,0.382772006447,0.382683432365,0.382594854766,0.382506273649,0.382417689017,0.38232910087,0.382240509209,0.382151914034,0.382063315346,0.381974713147,0.381886107436,0.381797498215,0.381708885485,0.381620269247,0.3815316495,0.381443026247,0.381354399487,0.381265769222,0.381177135453,0.38108849818,0.380999857404,0.380911213126,0.380822565346,0.380733914067,0.380645259287,0.380556601009,0.380467939233,0.380379273959,0.38029060519,0.380201932924,0.380113257164,0.38002457791,0.379935895163,0.379847208924,0.379758519193,0.379669825972,0.37958112926,0.37949242906,0.379403725372,0.379315018196,0.379226307533,0.379137593385,0.379048875752,0.378960154634,0.378871430034,0.37878270195,0.378693970385,0.37860523534,0.378516496814,0.378427754809,0.378339009325,0.378250260364,0.378161507926,0.378072752012,0.377983992623,0.37789522976,0.377806463423,0.377717693613,0.377628920332,0.377540143579,0.377451363356,0.377362579664,0.377273792503,0.377185001874,0.377096207778,0.377007410216,0.376918609189,0.376829804697,0.376740996741,0.376652185323,0.376563370442,0.3764745521,0.376385730298,0.376296905036,0.376208076315,0.376119244136,0.3760304085,0.375941569407,0.375852726859,0.375763880856,0.375675031399,0.375586178489,0.375497322127,0.375408462313,0.375319599049,0.375230732334,0.375141862171,0.37505298856,0.374964111501,0.374875230995,0.374786347044,0.374697459647,0.374608568807,0.374519674523,0.374430776797,0.374341875629,0.37425297102,0.374164062971,0.374075151483,0.373986236557,0.373897318193,0.373808396392,0.373719471155,0.373630542483,0.373541610377,0.373452674837,0.373363735864,0.37327479346,0.373185847624,0.373096898359,0.373007945663,0.37291898954,0.372830029988,0.37274106701,0.372652100605,0.372563130775,0.37247415752,0.372385180842,0.372296200741,0.372207217218,0.372118230273,0.372029239908,0.371940246124,0.37185124892,0.371762248299,0.371673244261,0.371584236806,0.371495225936,0.371406211651,0.371317193952,0.37122817284,0.371139148316,0.37105012038,0.370961089034,0.370872054278,0.370783016113,0.37069397454,0.370604929559,0.370515881172,0.370426829379,0.370337774182,0.37024871558,0.370159653575,0.370070588168,0.369981519359,0.369892447149,0.369803371539,0.36971429253,0.369625210123,0.369536124318,0.369447035117,0.36935794252,0.369268846527,0.369179747141,0.369090644361,0.369001538188,0.368912428624,0.368823315668,0.368734199323,0.368645079588,0.368555956464,0.368466829953,0.368377700055,0.368288566771,0.368199430102,0.368110290049,0.368021146612,0.367931999792,0.36784284959,0.367753696007,0.367664539043,0.3675753787,0.367486214979,0.367397047879,0.367307877403,0.36721870355,0.367129526322,0.36704034572,0.366951161743,0.366861974394,0.366772783673,0.36668358958,0.366594392117,0.366505191284,0.366415987082,0.366326779513,0.366237568576,0.366148354272,0.366059136604,0.36596991557,0.365880691173,0.365791463412,0.365702232289,0.365612997805,0.36552375996,0.365434518755,0.365345274191,0.365256026269,0.36516677499,0.365077520354,0.364988262363,0.364899001016,0.364809736316,0.364720468262,0.364631196856,0.364541922098,0.364452643989,0.364363362531,0.364274077723,0.364184789567,0.364095498064,0.364006203213,0.363916905017,0.363827603476,0.363738298591,0.363648990362,0.36355967879,0.363470363877,0.363381045623,0.363291724029,0.363202399096,0.363113070824,0.363023739214,0.362934404268,0.362845065985,0.362755724367,0.362666379415,0.36257703113,0.362487679511,0.362398324561,0.36230896628,0.362219604668,0.362130239727,0.362040871458,0.36195149986,0.361862124936,0.361772746685,0.361683365109,0.361593980209,0.361504591985,0.361415200438,0.361325805568,0.361236407378,0.361147005867,0.361057601037,0.360968192888,0.360878781421,0.360789366637,0.360699948537,0.360610527121,0.36052110239,0.360431674346,0.360342242988,0.360252808319,0.360163370338,0.360073929046,0.359984484445,0.359895036535,0.359805585317,0.359716130791,0.359626672959,0.359537211822,0.35944774738,0.359358279633,0.359268808584,0.359179334232,0.359089856579,0.359000375625,0.358910891371,0.358821403819,0.358731912968,0.358642418819,0.358552921374,0.358463420634,0.358373916598,0.358284409268,0.358194898645,0.35810538473,0.358015867523,0.357926347025,0.357836823237,0.35774729616,0.357657765795,0.357568232142,0.357478695203,0.357389154977,0.357299611467,0.357210064672,0.357120514594,0.357030961233,0.356941404591,0.356851844668,0.356762281464,0.356672714982,0.35658314522,0.356493572182,0.356403995866,0.356314416274,0.356224833408,0.356135247267,0.356045657852,0.355956065165,0.355866469205,0.355776869975,0.355687267475,0.355597661705,0.355508052666,0.35541844036,0.355328824787,0.355239205948,0.355149583843,0.355059958474,0.354970329842,0.354880697946,0.354791062789,0.35470142437,0.354611782691,0.354522137753,0.354432489556,0.354342838101,0.354253183389,0.35416352542,0.354073864197,0.353984199719,0.353894531987,0.353804861002,0.353715186765,0.353625509277,0.353535828538,0.353446144549,0.353356457312,0.353266766827,0.353177073095,0.353087376116,0.352997675892,0.352907972424,0.352818265711,0.352728555755,0.352638842557,0.352549126118,0.352459406438,0.352369683519,0.35227995736,0.352190227964,0.35210049533,0.35201075946,0.351921020354,0.351831278013,0.351741532439,0.351651783631,0.351562031591,0.35147227632,0.351382517818,0.351292756086,0.351202991125,0.351113222935,0.351023451519,0.350933676876,0.350843899007,0.350754117913,0.350664333596,0.350574546055,0.350484755292,0.350394961307,0.350305164101,0.350215363675,0.350125560031,0.350035753168,0.349945943087,0.34985612979,0.349766313277,0.349676493549,0.349586670607,0.349496844452,0.349407015084,0.349317182505,0.349227346714,0.349137507714,0.349047665505,0.348957820087,0.348867971461,0.348778119629,0.348688264591,0.348598406348,0.3485085449,0.348418680249,0.348328812396,0.348238941341,0.348149067085,0.348059189629,0.347969308973,0.347879425119,0.347789538067,0.347699647819,0.347609754375,0.347519857735,0.347429957901,0.347340054874,0.347250148654,0.347160239242,0.347070326639,0.346980410846,0.346890491863,0.346800569692,0.346710644334,0.346620715788,0.346530784056,0.346440849139,0.346350911038,0.346260969753,0.346171025285,0.346081077636,0.345991126805,0.345901172794,0.345811215604,0.345721255235,0.345631291688,0.345541324964,0.345451355064,0.345361381989,0.345271405739,0.345181426316,0.345091443719,0.345001457951,0.344911469012,0.344821476902,0.344731481622,0.344641483174,0.344551481559,0.344461476776,0.344371468826,0.344281457712,0.344191443433,0.34410142599,0.344011405384,0.343921381616,0.343831354687,0.343741324598,0.343651291349,0.343561254941,0.343471215375,0.343381172652,0.343291126773,0.343201077738,0.343111025549,0.343020970206,0.34293091171,0.342840850062,0.342750785262,0.342660717312,0.342570646212,0.342480571964,0.342390494567,0.342300414024,0.342210330333,0.342120243498,0.342030153518,0.341940060393,0.341849964126,0.341759864717,0.341669762166,0.341579656475,0.341489547644,0.341399435674,0.341309320566,0.34121920232,0.341129080939,0.341038956421,0.340948828769,0.340858697983,0.340768564064,0.340678427013,0.34058828683,0.340498143517,0.340407997074,0.340317847501,0.340227694801,0.340137538974,0.340047380019,0.33995721794,0.339867052735,0.339776884407,0.339686712955,0.339596538381,0.339506360686,0.33941617987,0.339325995934,0.339235808879,0.339145618705,0.339055425415,0.338965229008,0.338875029485,0.338784826848,0.338694621096,0.338604412231,0.338514200254,0.338423985165,0.338333766966,0.338243545656,0.338153321238,0.338063093711,0.337972863077,0.337882629336,0.33779239249,0.337702152538,0.337611909483,0.337521663324,0.337431414063,0.337341161701,0.337250906237,0.337160647674,0.337070386011,0.33698012125,0.336889853392,0.336799582437,0.336709308387,0.336619031241,0.336528751001,0.336438467668,0.336348181243,0.336257891726,0.336167599118,0.33607730342,0.335987004633,0.335896702757,0.335806397794,0.335716089745,0.335625778609,0.335535464389,0.335445147085,0.335354826697,0.335264503226,0.335174176674,0.335083847041,0.334993514328,0.334903178536,0.334812839666,0.334722497718,0.334632152693,0.334541804592,0.334451453417,0.334361099167,0.334270741844,0.334180381448,0.33409001798,0.333999651442,0.333909281834,0.333818909156,0.33372853341,0.333638154596,0.333547772716,0.33345738777,0.333366999759,0.333276608683,0.333186214544,0.333095817343,0.333005417079,0.332915013755,0.332824607371,0.332734197927,0.332643785426,0.332553369866,0.33246295125,0.332372529578,0.33228210485,0.332191677069,0.332101246234,0.332010812346,0.331920375407,0.331829935416,0.331739492376,0.331649046286,0.331558597148,0.331468144962,0.33137768973,0.331287231451,0.331196770128,0.33110630576,0.331015838349,0.330925367895,0.330834894399,0.330744417862,0.330653938285,0.330563455669,0.330472970014,0.330382481322,0.330291989593,0.330201494828,0.330110997028,0.330020496193,0.329929992325,0.329839485424,0.329748975492,0.329658462529,0.329567946535,0.329477427512,0.329386905461,0.329296380382,0.329205852276,0.329115321144,0.329024786987,0.328934249806,0.328843709601,0.328753166373,0.328662620124,0.328572070854,0.328481518563,0.328390963253,0.328300404925,0.328209843579,0.328119279216,0.328028711837,0.327938141443,0.327847568035,0.327756991613,0.327666412179,0.327575829733,0.327485244275,0.327394655808,0.327304064331,0.327213469845,0.327122872352,0.327032271853,0.326941668347,0.326851061836,0.32676045232,0.326669839801,0.32657922428,0.326488605756,0.326397984232,0.326307359707,0.326216732183,0.326126101661,0.32603546814,0.325944831623,0.32585419211,0.325763549602,0.325672904099,0.325582255603,0.325491604115,0.325400949634,0.325310292162,0.3252196317,0.325128968249,0.32503830181,0.324947632382,0.324856959968,0.324766284568,0.324675606182,0.324584924813,0.324494240459,0.324403553123,0.324312862805,0.324222169507,0.324131473228,0.324040773969,0.323950071732,0.323859366518,0.323768658326,0.323677947159,0.323587233016,0.3234965159,0.323405795809,0.323315072746,0.323224346711,0.323133617705,0.323042885729,0.322952150783,0.322861412869,0.322770671988,0.322679928139,0.322589181325,0.322498431545,0.322407678801,0.322316923094,0.322226164423,0.322135402791,0.322044638198,0.321953870645,0.321863100133,0.321772326662,0.321681550233,0.321590770847,0.321499988506,0.321409203209,0.321318414958,0.321227623754,0.321136829597,0.321046032488,0.320955232428,0.320864429418,0.320773623458,0.320682814551,0.320592002695,0.320501187893,0.320410370144,0.320319549451,0.320228725813,0.320137899232,0.320047069708,0.319956237242,0.319865401836,0.319774563489,0.319683722203,0.319592877978,0.319502030816,0.319411180717,0.319320327682,0.319229471712,0.319138612808,0.31904775097,0.318956886199,0.318866018497,0.318775147864,0.318684274301,0.318593397808,0.318502518387,0.318411636039,0.318320750763,0.318229862562,0.318138971436,0.318048077385,0.317957180411,0.317866280514,0.317775377696,0.317684471956,0.317593563297,0.317502651718,0.317411737221,0.317320819806,0.317229899475,0.317138976228,0.317048050065,0.316957120989,0.316866188998,0.316775254096,0.316684316281,0.316593375556,0.316502431921,0.316411485376,0.316320535923,0.316229583563,0.316138628296,0.316047670123,0.315956709045,0.315865745062,0.315774778176,0.315683808388,0.315592835698,0.315501860108,0.315410881617,0.315319900227,0.315228915938,0.315137928753,0.31504693867,0.314955945692,0.314864949818,0.314773951051,0.31468294939,0.314591944836,0.314500937391,0.314409927055,0.314318913829,0.314227897714,0.314136878711,0.31404585682,0.313954832043,0.31386380438,0.313772773831,0.313681740399,0.313590704083,0.313499664885,0.313408622805,0.313317577845,0.313226530004,0.313135479285,0.313044425687,0.312953369212,0.31286230986,0.312771247632,0.312680182529,0.312589114553,0.312498043703,0.31240696998,0.312315893386,0.312224813922,0.312133731587,0.312042646384,0.311951558312,0.311860467372,0.311769373567,0.311678276895,0.311587177359,0.311496074958,0.311404969695,0.311313861569,0.311222750581,0.311131636733,0.311040520025,0.310949400458,0.310858278032,0.31076715275,0.31067602461,0.310584893616,0.310493759766,0.310402623062,0.310311483506,0.310220341096,0.310129195836,0.310038047725,0.309946896764,0.309855742954,0.309764586295,0.30967342679,0.309582264438,0.309491099241,0.309399931198,0.309308760312,0.309217586583,0.309126410011,0.309035230598,0.308944048345,0.308852863252,0.308761675319,0.308670484549,0.308579290942,0.308488094498,0.308396895218,0.308305693104,0.308214488156,0.308123280375,0.308032069761,0.307940856317,0.307849640042,0.307758420937,0.307667199003,0.307575974241,0.307484746652,0.307393516237,0.307302282996,0.307211046931,0.307119808042,0.307028566329,0.306937321795,0.306846074439,0.306754824263,0.306663571267,0.306572315453,0.30648105682,0.306389795371,0.306298531105,0.306207264024,0.306115994128,0.306024721418,0.305933445896,0.305842167561,0.305750886415,0.305659602459,0.305568315693,0.305477026119,0.305385733736,0.305294438547,0.305203140551,0.30511183975,0.305020536145,0.304929229735,0.304837920523,0.304746608509,0.304655293694,0.304563976079,0.304472655663,0.30438133245,0.304290006438,0.30419867763,0.304107346025,0.304016011625,0.303924674431,0.303833334443,0.303741991662,0.30365064609,0.303559297726,0.303467946572,0.303376592629,0.303285235897,0.303193876377,0.30310251407,0.303011148978,0.3029197811,0.302828410438,0.302737036992,0.302645660763,0.302554281753,0.302462899962,0.30237151539,0.302280128039,0.30218873791,0.302097345003,0.302005949319,0.301914550859,0.301823149625,0.301731745615,0.301640338833,0.301548929277,0.30145751695,0.301366101852,0.301274683984,0.301183263347,0.301091839941,0.301000413768,0.300908984828,0.300817553122,0.300726118651,0.300634681416,0.300543241417,0.300451798656,0.300360353133,0.30026890485,0.300177453806,0.300086000003,0.299994543442,0.299903084124,0.299811622048,0.299720157217,0.299628689631,0.299537219291,0.299445746198,0.299354270352,0.299262791754,0.299171310406,0.299079826308,0.298988339461,0.298896849865,0.298805357523,0.298713862433,0.298622364598,0.298530864018,0.298439360694,0.298347854627,0.298256345817,0.298164834266,0.298073319974,0.297981802943,0.297890283172,0.297798760664,0.297707235418,0.297615707435,0.297524176717,0.297432643264,0.297341107077,0.297249568157,0.297158026505,0.297066482122,0.296974935008,0.296883385164,0.296791832591,0.29670027729,0.296608719262,0.296517158508,0.296425595028,0.296334028823,0.296242459895,0.296150888244,0.29605931387,0.295967736775,0.29587615696,0.295784574425,0.295692989171,0.295601401199,0.295509810511,0.295418217106,0.295326620985,0.29523502215,0.295143420601,0.295051816339,0.294960209366,0.294868599681,0.294776987285,0.294685372181,0.294593754367,0.294502133846,0.294410510617,0.294318884683,0.294227256043,0.294135624698,0.29404399065,0.2939523539,0.293860714447,0.293769072293,0.293677427439,0.293585779886,0.293494129634,0.293402476684,0.293310821037,0.293219162694,0.293127501656,0.293035837924,0.292944171498,0.29285250238,0.292760830569,0.292669156068,0.292577478876,0.292485798996,0.292394116426,0.292302431169,0.292210743226,0.292119052596,0.292027359281,0.291935663282,0.2918439646,0.291752263235,0.291660559188,0.291568852461,0.291477143053,0.291385430966,0.291293716201,0.291201998759,0.291110278639,0.291018555844,0.290926830374,0.29083510223,0.290743371412,0.290651637922,0.290559901761,0.290468162928,0.290376421426,0.290284677254,0.290192930415,0.290101180908,0.290009428734,0.289917673895,0.289825916391,0.289734156223,0.289642393391,0.289550627898,0.289458859743,0.289367088927,0.289275315451,0.289183539317,0.289091760524,0.288999979074,0.288908194968,0.288816408206,0.288724618789,0.288632826719,0.288541031995,0.288449234619,0.288357434592,0.288265631915,0.288173826587,0.288082018611,0.287990207987,0.287898394715,0.287806578798,0.287714760235,0.287622939027,0.287531115176,0.287439288681,0.287347459545,0.287255627767,0.287163793349,0.287071956291,0.286980116595,0.286888274261,0.286796429289,0.286704581682,0.286612731439,0.286520878562,0.286429023051,0.286337164908,0.286245304132,0.286153440725,0.286061574688,0.285969706022,0.285877834727,0.285785960804,0.285694084255,0.285602205079,0.285510323278,0.285418438853,0.285326551805,0.285234662133,0.28514276984,0.285050874926,0.284958977392,0.284867077238,0.284775174466,0.284683269077,0.284591361071,0.284499450449,0.284407537211,0.28431562136,0.284223702895,0.284131781818,0.284039858129,0.283947931829,0.283856002919,0.2837640714,0.283672137273,0.283580200538,0.283488261197,0.283396319249,0.283304374697,0.283212427541,0.283120477782,0.28302852542,0.282936570457,0.282844612893,0.282752652729,0.282660689967,0.282568724606,0.282476756647,0.282384786093,0.282292812942,0.282200837197,0.282108858858,0.282016877926,0.281924894402,0.281832908286,0.28174091958,0.281648928284,0.281556934399,0.281464937926,0.281372938866,0.281280937219,0.281188932988,0.281096926171,0.281004916771,0.280912904788,0.280820890222,0.280728873076,0.280636853349,0.280544831042,0.280452806157,0.280360778694,0.280268748654,0.280176716038,0.280084680846,0.27999264308,0.279900602741,0.279808559828,0.279716514344,0.279624466288,0.279532415663,0.279440362467,0.279348306704,0.279256248372,0.279164187474,0.27907212401,0.27898005798,0.278887989387,0.278795918229,0.278703844509,0.278611768228,0.278519689385,0.278427607982,0.27833552402,0.2782434375,0.278151348422,0.278059256787,0.277967162597,0.277875065852,0.277782966552,0.277690864699,0.277598760293,0.277506653336,0.277414543828,0.277322431771,0.277230317164,0.277138200009,0.277046080306,0.276953958057,0.276861833262,0.276769705923,0.276677576039,0.276585443612,0.276493308643,0.276401171132,0.276309031081,0.27621688849,0.27612474336,0.276032595692,0.275940445487,0.275848292746,0.275756137468,0.275663979657,0.275571819311,0.275479656432,0.275387491021,0.275295323079,0.275203152607,0.275110979605,0.275018804074,0.274926626015,0.274834445429,0.274742262317,0.274650076679,0.274557888517,0.274465697831,0.274373504623,0.274281308892,0.274189110641,0.274096909869,0.274004706577,0.273912500767,0.27382029244,0.273728081595,0.273635868234,0.273543652358,0.273451433968,0.273359213064,0.273266989648,0.27317476372,0.273082535281,0.272990304331,0.272898070873,0.272805834906,0.272713596431,0.27262135545,0.272529111963,0.272436865971,0.272344617474,0.272252366475,0.272160112972,0.272067856969,0.271975598464,0.271883337459,0.271791073956,0.271698807954,0.271606539455,0.271514268459,0.271421994967,0.271329718981,0.2712374405,0.271145159527,0.271052876061,0.270960590104,0.270868301656,0.270776010718,0.270683717291,0.270591421377,0.270499122975,0.270406822087,0.270314518713,0.270222212854,0.270129904512,0.270037593687,0.269945280379,0.269852964591,0.269760646322,0.269668325573,0.269576002346,0.26948367664,0.269391348458,0.269299017799,0.269206684665,0.269114349057,0.269022010975,0.26892967042,0.268837327394,0.268744981896,0.268652633928,0.26856028349,0.268467930584,0.268375575211,0.26828321737,0.268190857063,0.268098494292,0.268006129056,0.267913761356,0.267821391194,0.26772901857,0.267636643486,0.267544265941,0.267451885937,0.267359503474,0.267267118554,0.267174731178,0.267082341345,0.266989949058,0.266897554317,0.266805157122,0.266712757475,0.266620355376,0.266527950827,0.266435543828,0.266343134379,0.266250722483,0.266158308139,0.266065891349,0.265973472113,0.265881050432,0.265788626308,0.26569619974,0.26560377073,0.265511339279,0.265418905387,0.265326469056,0.265234030286,0.265141589077,0.265049145432,0.26495669935,0.264864250833,0.264771799882,0.264679346496,0.264586890678,0.264494432428,0.264401971746,0.264309508635,0.264217043093,0.264124575124,0.264032104726,0.263939631901,0.263847156651,0.263754678975,0.263662198875,0.263569716351,0.263477231404,0.263384744036,0.263292254247,0.263199762037,0.263107267409,0.263014770362,0.262922270897,0.262829769016,0.262737264719,0.262644758006,0.26255224888,0.26245973734,0.262367223388,0.262274707024,0.262182188249,0.262089667065,0.261997143471,0.261904617469,0.26181208906,0.261719558244,0.261627025023,0.261534489397,0.261441951366,0.261349410933,0.261256868097,0.26116432286,0.261071775223,0.260979225186,0.260886672749,0.260794117915,0.260701560684,0.260609001056,0.260516439033,0.260423874615,0.260331307804,0.2602387386,0.260146167003,0.260053593015,0.259961016637,0.25986843787,0.259775856714,0.25968327317,0.259590687239,0.259498098922,0.25940550822,0.259312915133,0.259220319663,0.25912772181,0.259035121575,0.258942518959,0.258849913963,0.258757306588,0.258664696834,0.258572084703,0.258479470195,0.258386853311,0.258294234052,0.258201612419,0.258108988413,0.258016362034,0.257923733283,0.257831102162,0.257738468671,0.257645832811,0.257553194582,0.257460553986,0.257367911024,0.257275265696,0.257182618003,0.257089967946,0.256997315526,0.256904660743,0.2568120036,0.256719344096,0.256626682232,0.256534018009,0.256441351428,0.25634868249,0.256256011196,0.256163337546,0.256070661542,0.255977983184,0.255885302473,0.25579261941,0.255699933995,0.255607246231,0.255514556117,0.255421863654,0.255329168844,0.255236471686,0.255143772183,0.255051070334,0.254958366141,0.254865659605,0.254772950725,0.254680239504,0.254587525942,0.25449481004,0.254402091799,0.254309371219,0.254216648301,0.254123923047,0.254031195457,0.253938465532,0.253845733273,0.253752998681,0.253660261756,0.2535675225,0.253474780913,0.253382036996,0.25328929075,0.253196542175,0.253103791274,0.253011038046,0.252918282492,0.252825524613,0.252732764411,0.252640001886,0.252547237038,0.252454469869,0.25236170038,0.25226892857,0.252176154442,0.252083377996,0.251990599233,0.251897818154,0.25180503476,0.25171224905,0.251619461028,0.251526670692,0.251433878044,0.251341083085,0.251248285816,0.251155486238,0.251062684351,0.250969880156,0.250877073654,0.250784264847,0.250691453734,0.250598640317,0.250505824596,0.250413006573,0.250320186248,0.250227363622,0.250134538696,0.250041711471,0.249948881948,0.249856050127,0.24976321601,0.249670379597,0.249577540889,0.249484699886,0.249391856591,0.249299011003,0.249206163124,0.249113312954,0.249020460494,0.248927605746,0.248834748709,0.248741889385,0.248649027775,0.248556163879,0.248463297698,0.248370429234,0.248277558487,0.248184685457,0.248091810146,0.247998932555,0.247906052685,0.247813170535,0.247720286108,0.247627399404,0.247534510423,0.247441619168,0.247348725638,0.247255829834,0.247162931758,0.247070031409,0.24697712879,0.246884223901,0.246791316742,0.246698407315,0.24660549562,0.246512581659,0.246419665431,0.246326746939,0.246233826182,0.246140903162,0.24604797788,0.245955050336,0.245862120531,0.245769188466,0.245676254142,0.245583317561,0.245490378721,0.245397437625,0.245304494274,0.245211548668,0.245118600807,0.245025650694,0.244932698329,0.244839743712,0.244746786844,0.244653827727,0.244560866362,0.244467902748,0.244374936887,0.24428196878,0.244188998427,0.24409602583,0.24400305099,0.243910073906,0.24381709458,0.243724113014,0.243631129207,0.243538143161,0.243445154876,0.243352164353,0.243259171594,0.243166176599,0.243073179368,0.242980179903,0.242887178205,0.242794174274,0.242701168112,0.242608159718,0.242515149095,0.242422136243,0.242329121162,0.242236103854,0.242143084319,0.242050062558,0.241957038573,0.241864012364,0.241770983931,0.241677953276,0.2415849204,0.241491885303,0.241398847986,0.241305808451,0.241212766697,0.241119722726,0.241026676539,0.240933628137,0.24084057752,0.240747524689,0.240654469645,0.240561412389,0.240468352922,0.240375291244,0.240282227358,0.240189161262,0.240096092959,0.240003022449,0.239909949733,0.239816874811,0.239723797685,0.239630718356,0.239537636824,0.239444553091,0.239351467156,0.239258379021,0.239165288687,0.239072196155,0.238979101425,0.238886004499,0.238792905377,0.23869980406,0.238606700549,0.238513594844,0.238420486948,0.238327376859,0.23823426458,0.238141150112,0.238048033454,0.237954914608,0.237861793575,0.237768670356,0.237675544951,0.237582417362,0.237489287588,0.237396155632,0.237303021494,0.237209885174,0.237116746674,0.237023605994,0.236930463136,0.2368373181,0.236744170887,0.236651021498,0.236557869934,0.236464716195,0.236371560283,0.236278402198,0.236185241941,0.236092079513,0.235998914916,0.235905748149,0.235812579213,0.23571940811,0.23562623484,0.235533059405,0.235439881805,0.23534670204,0.235253520112,0.235160336022,0.23506714977,0.234973961358,0.234880770785,0.234787578054,0.234694383165,0.234601186118,0.234507986915,0.234414785556,0.234321582043,0.234228376376,0.234135168556,0.234041958584,0.23394874646,0.233855532186,0.233762315763,0.233669097191,0.233575876471,0.233482653604,0.233389428591,0.233296201432,0.233202972129,0.233109740683,0.233016507094,0.232923271363,0.232830033492,0.23273679348,0.232643551328,0.232550307039,0.232457060612,0.232363812048,0.232270561348,0.232177308513,0.232084053545,0.231990796442,0.231897537208,0.231804275842,0.231711012345,0.231617746719,0.231524478963,0.231431209079,0.231337937069,0.231244662931,0.231151386668,0.231058108281,0.230964827769,0.230871545135,0.230778260378,0.230684973501,0.230591684502,0.230498393385,0.230405100148,0.230311804794,0.230218507323,0.230125207735,0.230031906033,0.229938602216,0.229845296285,0.229751988242,0.229658678087,0.229565365821,0.229472051444,0.229378734959,0.229285416365,0.229192095664,0.229098772856,0.229005447942,0.228912120923,0.2288187918,0.228725460574,0.228632127245,0.228538791815,0.228445454284,0.228352114653,0.228258772924,0.228165429096,0.228072083171,0.22797873515,0.227885385033,0.227792032821,0.227698678516,0.227605322117,0.227511963627,0.227418603045,0.227325240373,0.227231875611,0.227138508761,0.227045139823,0.226951768798,0.226858395687,0.226765020491,0.22667164321,0.226578263846,0.226484882399,0.22639149887,0.22629811326,0.226204725571,0.226111335802,0.226017943954,0.22592455003,0.225831154028,0.225737755951,0.225644355799,0.225550953572,0.225457549273,0.225364142901,0.225270734458,0.225177323944,0.22508391136,0.224990496707,0.224897079986,0.224803661198,0.224710240344,0.224616817424,0.22452339244,0.224429965392,0.22433653628,0.224243105107,0.224149671873,0.224056236578,0.223962799224,0.223869359811,0.223775918341,0.223682474813,0.22358902923,0.223495581591,0.223402131898,0.223308680152,0.223215226353,0.223121770502,0.2230283126,0.222934852648,0.222841390647,0.222747926598,0.222654460502,0.222560992358,0.222467522169,0.222374049935,0.222280575658,0.222187099337,0.222093620973,0.222000140568,0.221906658123,0.221813173638,0.221719687114,0.221626198552,0.221532707953,0.221439215318,0.221345720647,0.221252223942,0.221158725203,0.221065224431,0.220971721627,0.220878216792,0.220784709927,0.220691201032,0.220597690109,0.220504177158,0.22041066218,0.220317145177,0.220223626148,0.220130105095,0.220036582018,0.219943056919,0.219849529799,0.219756000657,0.219662469496,0.219568936315,0.219475401117,0.219381863901,0.219288324668,0.21919478342,0.219101240157,0.21900769488,0.21891414759,0.218820598288,0.218727046974,0.21863349365,0.218539938316,0.218446380974,0.218352821623,0.218259260266,0.218165696902,0.218072131533,0.21797856416,0.217884994783,0.217791423403,0.217697850021,0.217604274638,0.217510697256,0.217417117873,0.217323536493,0.217229953114,0.217136367739,0.217042780369,0.216949191003,0.216855599643,0.216762006289,0.216668410944,0.216574813606,0.216481214278,0.21638761296,0.216294009653,0.216200404358,0.216106797076,0.216013187808,0.215919576553,0.215825963314,0.215732348092,0.215638730886,0.215545111698,0.215451490529,0.21535786738,0.215264242251,0.215170615143,0.215076986058,0.214983354995,0.214889721957,0.214796086943,0.214702449955,0.214608810994,0.21451517006,0.214421527154,0.214327882277,0.21423423543,0.214140586614,0.214046935829,0.213953283078,0.213859628359,0.213765971675,0.213672313026,0.213578652412,0.213484989836,0.213391325297,0.213297658797,0.213203990337,0.213110319916,0.213016647537,0.2129229732,0.212829296905,0.212735618654,0.212641938448,0.212548256288,0.212454572173,0.212360886106,0.212267198087,0.212173508116,0.212079816196,0.211986122326,0.211892426507,0.211798728741,0.211705029028,0.211611327369,0.211517623765,0.211423918217,0.211330210725,0.211236501291,0.211142789916,0.211049076599,0.210955361343,0.210861644147,0.210767925013,0.210674203942,0.210580480935,0.210486755992,0.210393029114,0.210299300302,0.210205569557,0.21011183688,0.210018102272,0.209924365734,0.209830627265,0.209736886868,0.209643144543,0.209549400292,0.209455654114,0.20936190601,0.209268155983,0.209174404032,0.209080650158,0.208986894362,0.208893136645,0.208799377009,0.208705615453,0.208611851978,0.208518086586,0.208424319278,0.208330550053,0.208236778914,0.208143005861,0.208049230894,0.207955454015,0.207861675225,0.207767894524,0.207674111913,0.207580327394,0.207486540966,0.207392752631,0.20729896239,0.207205170243,0.207111376192,0.207017580237,0.20692378238,0.20682998262,0.206736180959,0.206642377398,0.206548571937,0.206454764578,0.206360955321,0.206267144167,0.206173331118,0.206079516173,0.205985699334,0.205891880602,0.205798059977,0.20570423746,0.205610413053,0.205516586756,0.20542275857,0.205328928495,0.205235096533,0.205141262685,0.205047426951,0.204953589332,0.20485974983,0.204765908444,0.204672065176,0.204578220027,0.204484372998,0.204390524089,0.204296673301,0.204202820635,0.204108966093,0.204015109674,0.20392125138,0.203827391212,0.20373352917,0.203639665255,0.203545799469,0.203451931811,0.203358062284,0.203264190887,0.203170317622,0.203076442489,0.20298256549,0.202888686625,0.202794805895,0.202700923302,0.202607038844,0.202513152525,0.202419264344,0.202325374303,0.202231482401,0.202137588641,0.202043693023,0.201949795548,0.201855896217,0.20176199503,0.201668091988,0.201574187093,0.201480280345,0.201386371745,0.201292461294,0.201198548993,0.201104634842,0.201010718843,0.200916800996,0.200822881302,0.200728959763,0.200635036378,0.20054111115,0.200447184078,0.200353255163,0.200259324407,0.20016539181,0.200071457373,0.199977521097,0.199883582983,0.199789643032,0.199695701244,0.199601757621,0.199507812163,0.199413864871,0.199319915747,0.19922596479,0.199132012002,0.199038057383,0.198944100935,0.198850142659,0.198756182554,0.198662220623,0.198568256866,0.198474291283,0.198380323876,0.198286354646,0.198192383593,0.198098410718,0.198004436022,0.197910459507,0.197816481172,0.197722501019,0.197628519048,0.197534535261,0.197440549659,0.197346562241,0.197252573009,0.197158581965,0.197064589108,0.19697059444,0.196876597961,0.196782599672,0.196688599575,0.19659459767,0.196500593958,0.19640658844,0.196312581116,0.196218571988,0.196124561056,0.196030548321,0.195936533785,0.195842517448,0.19574849931,0.195654479373,0.195560457638,0.195466434105,0.195372408776,0.195278381651,0.19518435273,0.195090322016,0.194996289509,0.194902255209,0.194808219117,0.194714181235,0.194620141563,0.194526100103,0.194432056854,0.194338011818,0.194243964996,0.194149916388,0.194055865996,0.19396181382,0.193867759861,0.19377370412,0.193679646598,0.193585587296,0.193491526214,0.193397463354,0.193303398716,0.193209332302,0.193115264111,0.193021194145,0.192927122405,0.192833048892,0.192738973607,0.192644896549,0.192550817721,0.192456737123,0.192362654756,0.192268570621,0.192174484719,0.19208039705,0.191986307615,0.191892216416,0.191798123453,0.191704028728,0.19160993224,0.19151583399,0.191421733981,0.191327632212,0.191233528684,0.191139423398,0.191045316356,0.190951207557,0.190857097004,0.190762984696,0.190668870634,0.19057475482,0.190480637254,0.190386517938,0.190292396871,0.190198274056,0.190104149492,0.19001002318,0.189915895122,0.189821765319,0.18972763377,0.189633500478,0.189539365443,0.189445228665,0.189351090146,0.189256949887,0.189162807888,0.18906866415,0.188974518674,0.188880371462,0.188786222513,0.188692071829,0.18859791941,0.188503765258,0.188409609373,0.188315451757,0.188221292409,0.188127131332,0.188032968525,0.18793880399,0.187844637727,0.187750469738,0.187656300023,0.187562128583,0.187467955419,0.187373780531,0.187279603922,0.187185425591,0.18709124554,0.186997063768,0.186902880278,0.18680869507,0.186714508145,0.186620319504,0.186526129147,0.186431937076,0.186337743291,0.186243547794,0.186149350584,0.186055151663,0.185960951033,0.185866748693,0.185772544644,0.185678338888,0.185584131425,0.185489922257,0.185395711383,0.185301498805,0.185207284524,0.185113068541,0.185018850856,0.18492463147,0.184830410385,0.1847361876,0.184641963118,0.184547736939,0.184453509063,0.184359279491,0.184265048226,0.184170815266,0.184076580613,0.183982344269,0.183888106233,0.183793866507,0.183699625092,0.183605381988,0.183511137197,0.183416890719,0.183322642555,0.183228392705,0.183134141172,0.183039887955,0.182945633056,0.182851376475,0.182757118214,0.182662858272,0.182568596652,0.182474333353,0.182380068377,0.182285801725,0.182191533397,0.182097263395,0.182002991719,0.18190871837,0.181814443348,0.181720166656,0.181625888293,0.181531608261,0.18143732656,0.181343043192,0.181248758156,0.181154471455,0.181060183088,0.180965893058,0.180871601363,0.180777308007,0.180683012988,0.180588716309,0.18049441797,0.180400117972,0.180305816315,0.180211513002,0.180117208031,0.180022901406,0.179928593125,0.179834283191,0.179739971603,0.179645658364,0.179551343473,0.179457026932,0.179362708741,0.179268388902,0.179174067415,0.179079744281,0.1789854195,0.178891093075,0.178796765005,0.178702435292,0.178608103936,0.178513770939,0.178419436301,0.178325100022,0.178230762105,0.178136422549,0.178042081356,0.177947738526,0.177853394061,0.177759047961,0.177664700227,0.17757035086,0.177475999861,0.17738164723,0.177287292969,0.177192937079,0.177098579559,0.177004220412,0.176909859638,0.176815497238,0.176721133212,0.176626767562,0.176532400289,0.176438031393,0.176343660875,0.176249288736,0.176154914977,0.176060539599,0.175966162603,0.175871783989,0.175777403759,0.175683021913,0.175588638452,0.175494253377,0.175399866689,0.175305478389,0.175211088478,0.175116696956,0.175022303824,0.174927909083,0.174833512735,0.17473911478,0.174644715218,0.174550314051,0.17445591128,0.174361506905,0.174267100928,0.174172693348,0.174078284168,0.173983873387,0.173889461008,0.17379504703,0.173700631454,0.173606214282,0.173511795514,0.173417375152,0.173322953195,0.173228529645,0.173134104503,0.173039677769,0.172945249445,0.172850819531,0.172756388029,0.172661954938,0.172567520261,0.172473083997,0.172378646148,0.172284206714,0.172189765697,0.172095323097,0.172000878915,0.171906433152,0.171811985809,0.171717536887,0.171623086386,0.171528634308,0.171434180654,0.171339725423,0.171245268618,0.171150810238,0.171056350285,0.17096188876,0.170867425664,0.170772960997,0.17067849476,0.170584026954,0.170489557581,0.17039508664,0.170300614133,0.170206140061,0.170111664424,0.170017187224,0.169922708461,0.169828228136,0.16973374625,0.169639262803,0.169544777798,0.169450291234,0.169355803112,0.169261313434,0.1691668222,0.169072329411,0.168977835068,0.168883339172,0.168788841724,0.168694342724,0.168599842173,0.168505340073,0.168410836423,0.168316331226,0.168221824482,0.168127316191,0.168032806355,0.167938294975,0.167843782051,0.167749267584,0.167654751575,0.167560234025,0.167465714935,0.167371194305,0.167276672137,0.167182148432,0.16708762319,0.166993096412,0.166898568099,0.166804038252,0.166709506872,0.166614973959,0.166520439515,0.16642590354,0.166331366036,0.166236827003,0.166142286441,0.166047744353,0.165953200738,0.165858655598,0.165764108933,0.165669560745,0.165575011034,0.1654804598,0.165385907046,0.165291352772,0.165196796978,0.165102239666,0.165007680836,0.16491312049,0.164818558628,0.16472399525,0.164629430359,0.164534863954,0.164440296037,0.164345726609,0.16425115567,0.164156583221,0.164062009263,0.163967433797,0.163872856825,0.163778278345,0.163683698361,0.163589116871,0.163494533879,0.163399949383,0.163305363385,0.163210775887,0.163116186888,0.16302159639,0.162927004393,0.162832410899,0.162737815908,0.162643219421,0.162548621439,0.162454021963,0.162359420994,0.162264818533,0.16217021458,0.162075609136,0.161981002202,0.16188639378,0.16179178387,0.161697172472,0.161602559588,0.161507945219,0.161413329366,0.161318712028,0.161224093208,0.161129472906,0.161034851122,0.160940227859,0.160845603116,0.160750976895,0.160656349196,0.160561720021,0.160467089369,0.160372457243,0.160277823642,0.160183188569,0.160088552023,0.159993914005,0.159899274517,0.159804633559,0.159709991132,0.159615347237,0.159520701875,0.159426055047,0.159331406753,0.159236756995,0.159142105773,0.159047453088,0.158952798942,0.158858143334,0.158763486266,0.158668827739,0.158574167753,0.15847950631,0.15838484341,0.158290179054,0.158195513243,0.158100845978,0.15800617726,0.15791150709,0.157816835468,0.157722162395,0.157627487873,0.157532811902,0.157438134483,0.157343455616,0.157248775304,0.157154093546,0.157059410343,0.156964725697,0.156870039608,0.156775352077,0.156680663105,0.156585972693,0.156491280842,0.156396587552,0.156301892824,0.15620719666,0.15611249906,0.156017800025,0.155923099556,0.155828397654,0.15573369432,0.155638989554,0.155544283357,0.155449575731,0.155354866676,0.155260156193,0.155165444282,0.155070730946,0.154976016184,0.154881299997,0.154786582387,0.154691863355,0.1545971429,0.154502421024,0.154407697728,0.154312973013,0.154218246879,0.154123519328,0.154028790361,0.153934059977,0.153839328178,0.153744594966,0.15364986034,0.153555124302,0.153460386852,0.153365647992,0.153270907723,0.153176166044,0.153081422957,0.152986678464,0.152891932564,0.152797185258,0.152702436549,0.152607686435,0.152512934919,0.152418182001,0.152323427682,0.152228671963,0.152133914845,0.152039156328,0.151944396414,0.151849635103,0.151754872397,0.151660108295,0.151565342799,0.151470575911,0.15137580763,0.151281037957,0.151186266894,0.151091494442,0.1509967206,0.150901945371,0.150807168755,0.150712390752,0.150617611364,0.150522830592,0.150428048436,0.150333264897,0.150238479977,0.150143693675,0.150048905994,0.149954116933,0.149859326494,0.149764534677,0.149669741484,0.149574946915,0.149480150972,0.149385353654,0.149290554963,0.1491957549,0.149100953465,0.14900615066,0.148911346486,0.148816540942,0.148721734031,0.148626925753,0.148532116108,0.148437305099,0.148342492725,0.148247678987,0.148152863887,0.148058047424,0.147963229601,0.147868410418,0.147773589876,0.147678767976,0.147583944718,0.147489120103,0.147394294133,0.147299466808,0.147204638129,0.147109808097,0.147014976713,0.146920143977,0.146825309891,0.146730474455,0.146635637671,0.146540799539,0.14644596006,0.146351119234,0.146256277064,0.146161433549,0.146066588691,0.14597174249,0.145876894947,0.145782046064,0.14568719584,0.145592344277,0.145497491376,0.145402637138,0.145307781563,0.145212924653,0.145118066408,0.145023206829,0.144928345916,0.144833483672,0.144738620097,0.144643755191,0.144548888955,0.144454021391,0.144359152499,0.14426428228,0.144169410735,0.144074537865,0.143979663671,0.143884788153,0.143789911312,0.14369503315,0.143600153667,0.143505272865,0.143410390743,0.143315507303,0.143220622545,0.143125736471,0.143030849082,0.142935960378,0.14284107036,0.142746179029,0.142651286386,0.142556392431,0.142461497167,0.142366600593,0.14227170271,0.142176803519,0.142081903022,0.141987001219,0.14189209811,0.141797193698,0.141702287982,0.141607380963,0.141512472643,0.141417563022,0.141322652102,0.141227739882,0.141132826364,0.141037911549,0.140942995437,0.14084807803,0.140753159328,0.140658239333,0.140563318044,0.140468395464,0.140373471592,0.140278546431,0.140183619979,0.14008869224,0.139993763212,0.139898832898,0.139803901298,0.139708968412,0.139614034243,0.13951909879,0.139424162055,0.139329224038,0.139234284741,0.139139344164,0.139044402308,0.138949459173,0.138854514762,0.138759569074,0.138664622111,0.138569673873,0.138474724362,0.138379773578,0.138284821522,0.138189868194,0.138094913597,0.13799995773,0.137905000595,0.137810042192,0.137715082522,0.137620121586,0.137525159386,0.137430195921,0.137335231194,0.137240265204,0.137145297952,0.13705032944,0.136955359668,0.136860388637,0.136765416348,0.136670442802,0.136575468,0.136480491942,0.13638551463,0.136290536064,0.136195556246,0.136100575176,0.136005592854,0.135910609283,0.135815624462,0.135720638393,0.135625651076,0.135530662513,0.135435672704,0.13534068165,0.135245689352,0.135150695811,0.135055701028,0.134960705003,0.134865707738,0.134770709233,0.134675709489,0.134580708507,0.134485706288,0.134390702834,0.134295698143,0.134200692219,0.134105685061,0.13401067667,0.133915667047,0.133820656194,0.13372564411,0.133630630797,0.133535616256,0.133440600488,0.133345583493,0.133250565272,0.133155545827,0.133060525157,0.132965503265,0.13287048015,0.132775455814,0.132680430257,0.132585403481,0.132490375487,0.132395346274,0.132300315844,0.132205284199,0.132110251338,0.132015217263,0.131920181974,0.131825145473,0.13173010776,0.131635068837,0.131540028703,0.13144498736,0.131349944809,0.131254901051,0.131159856086,0.131064809916,0.130969762541,0.130874713962,0.13077966418,0.130684613196,0.13058956101,0.130494507625,0.13039945304,0.130304397256,0.130209340275,0.130114282096,0.130019222722,0.129924162153,0.129829100389,0.129734037432,0.129638973283,0.129543907942,0.12944884141,0.129353773688,0.129258704778,0.129163634679,0.129068563393,0.128973490921,0.128878417263,0.12878334242,0.128688266394,0.128593189185,0.128498110794,0.128403031222,0.128307950469,0.128212868537,0.128117785427,0.128022701139,0.127927615674,0.127832529033,0.127737441218,0.127642352228,0.127547262065,0.127452170729,0.127357078222,0.127261984545,0.127166889697,0.127071793681,0.126976696497,0.126881598145,0.126786498628,0.126691397945,0.126596296097,0.126501193086,0.126406088912,0.126310983576,0.126215877079,0.126120769422,0.126025660606,0.125930550631,0.125835439498,0.12574032721,0.125645213765,0.125550099165,0.125454983412,0.125359866505,0.125264748446,0.125169629235,0.125074508874,0.124979387363,0.124884264704,0.124789140897,0.124694015942,0.124598889842,0.124503762596,0.124408634205,0.124313504672,0.124218373995,0.124123242177,0.124028109218,0.123932975119,0.12383783988,0.123742703503,0.123647565989,0.123552427339,0.123457287552,0.123362146631,0.123267004576,0.123171861388,0.123076717068,0.122981571617,0.122886425035,0.122791277323,0.122696128483,0.122600978515,0.12250582742,0.122410675199,0.122315521853,0.122220367383,0.122125211789,0.122030055073,0.121934897235,0.121839738276,0.121744578197,0.121649416999,0.121554254683,0.12145909125,0.1213639267,0.121268761035,0.121173594255,0.121078426361,0.120983257354,0.120888087236,0.120792916006,0.120697743666,0.120602570216,0.120507395658,0.120412219992,0.120317043219,0.120221865341,0.120126686357,0.120031506269,0.119936325078,0.119841142785,0.119745959389,0.119650774894,0.119555589298,0.119460402604,0.119365214811,0.119270025921,0.119174835935,0.119079644854,0.118984452678,0.118889259408,0.118794065045,0.118698869591,0.118603673045,0.11850847541,0.118413276685,0.118318076871,0.11822287597,0.118127673983,0.118032470909,0.117937266751,0.117842061508,0.117746855183,0.117651647775,0.117556439285,0.117461229715,0.117366019066,0.117270807338,0.117175594531,0.117080380648,0.116985165688,0.116889949653,0.116794732544,0.116699514361,0.116604295106,0.116509074778,0.11641385338,0.116318630912,0.116223407374,0.116128182769,0.116032957095,0.115937730356,0.11584250255,0.11574727368,0.115652043746,0.115556812749,0.115461580689,0.115366347569,0.115271113388,0.115175878147,0.115080641848,0.114985404491,0.114890166077,0.114794926607,0.114699686081,0.114604444502,0.114509201869,0.114413958183,0.114318713446,0.114223467658,0.11412822082,0.114032972933,0.113937723998,0.113842474016,0.113747222987,0.113651970913,0.113556717794,0.113461463631,0.113366208425,0.113270952178,0.113175694889,0.113080436559,0.112985177191,0.112889916784,0.112794655339,0.112699392857,0.11260412934,0.112508864787,0.112413599201,0.112318332581,0.112223064928,0.112127796244,0.11203252653,0.111937255786,0.111841984012,0.111746711211,0.111651437383,0.111556162528,0.111460886648,0.111365609743,0.111270331815,0.111175052864,0.111079772891,0.110984491897,0.110889209883,0.11079392685,0.110698642798,0.110603357729,0.110508071643,0.110412784541,0.110317496424,0.110222207294,0.11012691715,0.110031625994,0.109936333827,0.109841040649,0.109745746461,0.109650451265,0.109555155061,0.10945985785,0.109364559632,0.10926926041,0.109173960183,0.109078658952,0.108983356719,0.108888053485,0.108792749249,0.108697444013,0.108602137778,0.108506830545,0.108411522315,0.108316213088,0.108220902865,0.108125591648,0.108030279437,0.107934966233,0.107839652036,0.107744336849,0.107649020671,0.107553703504,0.107458385348,0.107363066204,0.107267746073,0.107172424957,0.107077102855,0.106981779769,0.1068864557,0.106791130648,0.106695804615,0.106600477601,0.106505149607,0.106409820634,0.106314490683,0.106219159755,0.106123827851,0.106028494971,0.105933161116,0.105837826288,0.105742490487,0.105647153713,0.105551815969,0.105456477255,0.105361137571,0.105265796919,0.105170455299,0.105075112713,0.10497976916,0.104884424643,0.104789079162,0.104693732717,0.10459838531,0.104503036942,0.104407687613,0.104312337325,0.104216986077,0.104121633872,0.10402628071,0.103930926591,0.103835571517,0.103740215489,0.103644858507,0.103549500573,0.103454141686,0.103358781849,0.103263421062,0.103168059325,0.10307269664,0.102977333008,0.102881968429,0.102786602905,0.102691236436,0.102595869022,0.102500500666,0.102405131368,0.102309761128,0.102214389948,0.102119017829,0.10202364477,0.101928270774,0.101832895841,0.101737519973,0.101642143168,0.10154676543,0.101451386758,0.101356007154,0.101260626618,0.101165245151,0.101069862755,0.100974479429,0.100879095176,0.100783709995,0.100688323887,0.100592936854,0.100497548897,0.100402160016,0.100306770211,0.100211379485,0.100115987838,0.100020595271,0.0999252017837,0.0998298073783,0.0997344120553,0.0996390158156,0.0995436186601,0.0994482205895,0.0993528216049,0.099257421707,0.0991620208967,0.099066619175,0.0989712165427,0.0988758130007,0.0987804085498,0.098685003191,0.098589596925,0.0984941897529,0.0983987816754,0.0983033726934,0.0982079628079,0.0981125520196,0.0980171403296,0.0979217277385,0.0978263142474,0.0977308998571,0.0976354845685,0.0975400683825,0.0974446512998,0.0973492333215,0.0972538144484,0.0971583946813,0.0970629740212,0.0969675524688,0.0968721300252,0.0967767066912,0.0966812824676,0.0965858573553,0.0964904313553,0.0963950044683,0.0962995766952,0.096204148037,0.0961087184946,0.0960132880687,0.0959178567602,0.0958224245702,0.0957269914993,0.0956315575485,0.0955361227188,0.0954406870108,0.0953452504256,0.095249812964,0.0951543746269,0.0950589354152,0.0949634953296,0.0948680543712,0.0947726125408,0.0946771698393,0.0945817262675,0.0944862818264,0.0943908365167,0.0942953903394,0.0941999432954,0.0941044953855,0.0940090466106,0.0939135969716,0.0938181464694,0.0937226951048,0.0936272428788,0.0935317897921,0.0934363358457,0.0933408810405,0.0932454253773,0.093149968857,0.0930545114805,0.0929590532487,0.0928635941624,0.0927681342225,0.0926726734299,0.0925772117855,0.0924817492901,0.0923862859447,0.0922908217501,0.0921953567071,0.0920998908167,0.0920044240798,0.0919089564971,0.0918134880697,0.0917180187983,0.0916225486839,0.0915270777273,0.0914316059294,0.0913361332911,0.0912406598132,0.0911451854967,0.0910497103424,0.0909542343511,0.0908587575239,0.0907632798615,0.0906678013648,0.0905723220347,0.0904768418721,0.0903813608779,0.0902858790529,0.0901903963979,0.090094912914,0.089999428602,0.0899039434627,0.089808457497,0.0897129707058,0.08961748309,0.0895219946505,0.0894265053881,0.0893310153037,0.0892355243981,0.0891400326724,0.0890445401273,0.0889490467637,0.0888535525825,0.0887580575846,0.0886625617709,0.0885670651421,0.0884715676993,0.0883760694433,0.088280570375,0.0881850704952,0.0880895698048,0.0879940683047,0.0878985659958,0.0878030628789,0.087707558955,0.0876120542249,0.0875165486895,0.0874210423496,0.0873255352062,0.0872300272601,0.0871345185122,0.0870390089634,0.0869434986145,0.0868479874665,0.0867524755202,0.0866569627765,0.0865614492363,0.0864659349003,0.0863704197697,0.0862749038451,0.0861793871275,0.0860838696177,0.0859883513167,0.0858928322253,0.0857973123444,0.0857017916749,0.0856062702176,0.0855107479735,0.0854152249433,0.085319701128,0.0852241765285,0.0851286511456,0.0850331249803,0.0849375980333,0.0848420703056,0.0847465417981,0.0846510125116,0.0845554824469,0.0844599516051,0.0843644199869,0.0842688875933,0.0841733544251,0.0840778204832,0.0839822857685,0.0838867502818,0.083791214024,0.0836956769961,0.0836001391988,0.0835046006332,0.0834090612999,0.0833135212,0.0832179803343,0.0831224387036,0.0830268963089,0.0829313531511,0.0828358092309,0.0827402645494,0.0826447191073,0.0825491729056,0.0824536259451,0.0823580782266,0.0822625297512,0.0821669805197,0.0820714305328,0.0819758797916,0.0818803282969,0.0817847760496,0.0816892230505,0.0815936693005,0.0814981148006,0.0814025595515,0.0813070035542,0.0812114468096,0.0811158893185,0.0810203310817,0.0809247721003,0.080829212375,0.0807336519067,0.0806380906964,0.0805425287448,0.080446966053,0.0803514026216,0.0802558384517,0.0801602735441,0.0800647078997,0.0799691415193,0.0798735744039,0.0797780065543,0.0796824379714,0.0795868686561,0.0794912986092,0.0793957278317,0.0793001563244,0.0792045840882,0.0791090111239,0.0790134374325,0.0789178630148,0.0788222878717,0.0787267120041,0.0786311354128,0.0785355580988,0.078439980063,0.0783444013061,0.0782488218291,0.0781532416328,0.0780576607182,0.077962079086,0.0778664967373,0.0777709136729,0.0776753298935,0.0775797454003,0.0774841601939,0.0773885742753,0.0772929876453,0.0771974003049,0.0771018122549,0.0770062234962,0.0769106340297,0.0768150438563,0.0767194529767,0.076623861392,0.076528269103,0.0764326761105,0.0763370824155,0.0762414880189,0.0761458929214,0.076050297124,0.0759547006275,0.075859103433,0.0757635055411,0.0756679069528,0.075572307669,0.0754767076906,0.0753811070184,0.0752855056533,0.0751899035962,0.0750943008479,0.0749986974094,0.0749030932816,0.0748074884652,0.0747118829613,0.0746162767706,0.074520669894,0.0744250623325,0.0743294540868,0.074233845158,0.0741382355468,0.0740426252541,0.0739470142809,0.073851402628,0.0737557902962,0.0736601772865,0.0735645635997,0.0734689492367,0.0733733341984,0.0732777184857,0.0731821020994,0.0730864850405,0.0729908673097,0.072895248908,0.0727996298364,0.0727040100955,0.0726083896864,0.0725127686098,0.0724171468668,0.0723215244581,0.0722259013846,0.0721302776472,0.0720346532469,0.0719390281844,0.0718434024607,0.0717477760766,0.071652149033,0.0715565213308,0.0714608929708,0.0713652639541,0.0712696342813,0.0711740039534,0.0710783729714,0.070982741336,0.0708871090481,0.0707914761086,0.0706958425185,0.0706002082785,0.0705045733896,0.0704089378526,0.0703133016685,0.070217664838,0.0701220273621,0.0700263892417,0.0699307504776,0.0698351110707,0.0697394710219,0.0696438303321,0.0695481890021,0.0694525470328,0.0693569044252,0.06926126118,0.0691656172982,0.0690699727807,0.0689743276283,0.0688786818418,0.0687830354223,0.0686873883705,0.0685917406874,0.0684960923738,0.0684004434305,0.0683047938586,0.0682091436588,0.0681134928321,0.0680178413792,0.0679221893012,0.0678265365988,0.067730883273,0.0676352293246,0.0675395747545,0.0674439195637,0.0673482637529,0.067252607323,0.067156950275,0.0670612926096,0.0669656343279,0.0668699754306,0.0667743159187,0.066678655793,0.0665829950544,0.0664873337038,0.066391671742,0.06629600917,0.0662003459886,0.0661046821988,0.0660090178013,0.065913352797,0.0658176871869,0.0657220209718,0.0656263541526,0.0655306867302,0.0654350187054,0.0653393500792,0.0652436808524,0.0651480110259,0.0650523406005,0.0649566695772,0.0648609979569,0.0647653257403,0.0646696529285,0.0645739795222,0.0644783055224,0.0643826309299,0.0642869557456,0.0641912799704,0.0640956036051,0.0639999266507,0.063904249108,0.063808570978,0.0637128922614,0.0636172129592,0.0635215330722,0.0634258526014,0.0633301715475,0.0632344899116,0.0631388076944,0.0630431248968,0.0629474415198,0.0628517575642,0.0627560730308,0.0626603879206,0.0625647022345,0.0624690159732,0.0623733291378,0.062277641729,0.0621819537478,0.0620862651951,0.0619905760716,0.0618948863784,0.0617991961162,0.061703505286,0.0616078138886,0.0615121219249,0.0614164293958,0.0613207363022,0.061225042645,0.0611293484249,0.061033653643,0.0609379583001,0.0608422623971,0.0607465659348,0.0606508689141,0.0605551713359,0.0604594732012,0.0603637745107,0.0602680752653,0.060172375466,0.0600766751136,0.059980974209,0.059885272753,0.0597895707466,0.0596938681907,0.059598165086,0.0595024614335,0.0594067572341,0.0593110524886,0.059215347198,0.059119641363,0.0590239349847,0.0589282280638,0.0588325206012,0.0587368125979,0.0586411040547,0.0585453949724,0.0584496853521,0.0583539751944,0.0582582645004,0.0581625532709,0.0580668415068,0.0579711292089,0.0578754163782,0.0577797030155,0.0576839891217,0.0575882746977,0.0574925597444,0.0573968442626,0.0573011282532,0.0572054117171,0.0571096946552,0.0570139770683,0.0569182589574,0.0568225403233,0.0567268211669,0.0566311014891,0.0565353812907,0.0564396605727,0.0563439393359,0.0562482175812,0.0561524953095,0.0560567725216,0.0559610492185,0.055865325401,0.05576960107,0.0556738762264,0.055578150871,0.0554824250048,0.0553866986286,0.0552909717432,0.0551952443497,0.0550995164488,0.0550037880415,0.0549080591285,0.0548123297109,0.0547165997894,0.054620869365,0.0545251384386,0.0544294070109,0.054333675083,0.0542379426556,0.0541422097297,0.0540464763061,0.0539507423857,0.0538550079695,0.0537592730582,0.0536635376527,0.053567801754,0.0534720653629,0.0533763284804,0.0532805911071,0.0531848532442,0.0530891148924,0.0529933760526,0.0528976367257,0.0528018969125,0.0527061566141,0.0526104158311,0.0525146745646,0.0524189328154,0.0523231905843,0.0522274478723,0.0521317046803,0.052035961009,0.0519402168595,0.0518444722325,0.051748727129,0.0516529815499,0.0515572354959,0.051461488968,0.0513657419672,0.0512699944941,0.0511742465499,0.0510784981352,0.050982749251,0.0508869998982,0.0507912500777,0.0506954997903,0.0505997490369,0.0505039978184,0.0504082461357,0.0503124939897,0.0502167413812,0.0501209883111,0.0500252347803,0.0499294807897,0.0498337263401,0.0497379714325,0.0496422160677,0.0495464602466,0.0494507039701,0.049354947239,0.0492591900543,0.0491634324168,0.0490676743274,0.048971915787,0.0488761567964,0.0487803973566,0.0486846374684,0.0485888771327,0.0484931163504,0.0483973551224,0.0483015934495,0.0482058313326,0.0481100687726,0.0480143057704,0.0479185423269,0.0478227784429,0.0477270141193,0.047631249357,0.047535484157,0.0474397185199,0.0473439524469,0.0472481859386,0.0471524189961,0.0470566516201,0.0469608838116,0.0468651155715,0.0467693469005,0.0466735777997,0.0465778082699,0.0464820383119,0.0463862679267,0.0462904971151,0.046194725878,0.0460989542163,0.0460031821309,0.0459074096226,0.0458116366924,0.045715863341,0.0456200895695,0.0455243153786,0.0454285407693,0.0453327657424,0.0452369902988,0.0451412144394,0.0450454381651,0.0449496614767,0.0448538843752,0.0447581068613,0.0446623289361,0.0445665506003,0.0444707718549,0.0443749927008,0.0442792131387,0.0441834331696,0.0440876527945,0.043991872014,0.0438960908292,0.0438003092409,0.0437045272501,0.0436087448575,0.043512962064,0.0434171788706,0.0433213952781,0.0432256112874,0.0431298268994,0.043034042115,0.0429382569349,0.0428424713602,0.0427466853918,0.0426508990304,0.0425551122769,0.0424593251323,0.0423635375974,0.0422677496731,0.0421719613603,0.0420761726599,0.0419803835727,0.0418845940997,0.0417888042416,0.0416930139995,0.0415972233741,0.0415014323663,0.0414056409771,0.0413098492073,0.0412140570577,0.0411182645294,0.0410224716231,0.0409266783397,0.0408308846801,0.0407350906452,0.0406392962359,0.0405435014531,0.0404477062976,0.0403519107703,0.040256114872,0.0401603186038,0.0400645219664,0.0399687249608,0.0398729275877,0.0397771298482,0.039681331743,0.0395855332731,0.0394897344394,0.0393939352426,0.0392981356838,0.0392023357637,0.0391065354833,0.0390107348435,0.038914933845,0.0388191324889,0.0387233307759,0.038627528707,0.0385317262831,0.038435923505,0.0383401203736,0.0382443168897,0.0381485130544,0.0380527088683,0.0379569043325,0.0378610994479,0.0377652942152,0.0376694886353,0.0375736827093,0.0374778764378,0.0373820698219,0.0372862628624,0.0371904555601,0.037094647916,0.0369988399309,0.0369030316057,0.0368072229414,0.0367114139387,0.0366156045985,0.0365197949218,0.0364239849094,0.0363281745623,0.0362323638812,0.036136552867,0.0360407415207,0.0359449298431,0.0358491178351,0.0357533054976,0.0356574928315,0.0355616798376,0.0354658665169,0.0353700528701,0.0352742388982,0.0351784246021,0.0350826099826,0.0349867950407,0.0348909797772,0.034795164193,0.0346993482889,0.0346035320659,0.0345077155248,0.0344118986665,0.034316081492,0.034220264002,0.0341244461974,0.0340286280792,0.0339328096482,0.0338369909053,0.0337411718514,0.0336453524873,0.033549532814,0.0334537128323,0.0333578925431,0.0332620719473,0.0331662510457,0.0330704298393,0.0329746083289,0.0328787865154,0.0327829643997,0.0326871419827,0.0325913192652,0.0324954962481,0.0323996729324,0.0323038493188,0.0322080254083,0.0321122012018,0.0320163767,0.031920551904,0.0318247268146,0.0317289014327,0.0316330757591,0.0315372497948,0.0314414235406,0.0313455969973,0.031249770166,0.0311539430474,0.0310581156424,0.030962287952,0.030866459977,0.0307706317182,0.0306748031766,0.0305789743531,0.0304831452485,0.0303873158637,0.0302914861995,0.030195656257,0.0300998260369,0.0300039955401,0.0299081647675,0.02981233372,0.0297165023985,0.0296206708039,0.0295248389369,0.0294290067986,0.0293331743898,0.0292373417114,0.0291415087642,0.0290456755491,0.0289498420671,0.028854008319,0.0287581743056,0.028662340028,0.0285665054868,0.0284706706831,0.0283748356177,0.0282790002914,0.0281831647053,0.02808732886,0.0279914927567,0.027895656396,0.0277998197789,0.0277039829062,0.027608145779,0.0275123083979,0.027416470764,0.0273206328781,0.027224794741,0.0271289563537,0.027033117717,0.0269372788319,0.0268414396991,0.0267456003196,0.0266497606943,0.026553920824,0.0264580807097,0.0263622403521,0.0262663997523,0.026170558911,0.0260747178291,0.0259788765076,0.0258830349473,0.025787193149,0.0256913511138,0.0255955088423,0.0254996663357,0.0254038235946,0.02530798062,0.0252121374128,0.0251162939739,0.0250204503041,0.0249246064043,0.0248287622754,0.0247329179183,0.0246370733338,0.0245412285229,0.0244453834864,0.0243495382252,0.0242536927402,0.0241578470323,0.0240620011023,0.0239661549511,0.0238703085797,0.0237744619888,0.0236786151794,0.0235827681524,0.0234869209086,0.0233910734489,0.0232952257742,0.0231993778853,0.0231035297833,0.0230076814688,0.0229118329429,0.0228159842064,0.0227201352602,0.0226242861051,0.0225284367421,0.0224325871719,0.0223367373956,0.022240887414,0.022145037228,0.0220491868384,0.0219533362461,0.021857485452,0.021761634457,0.021665783262,0.0215699318679,0.0214740802755,0.0213782284857,0.0212823764994,0.0211865243174,0.0210906719408,0.0209948193702,0.0208989666067,0.0208031136511,0.0207072605043,0.0206114071671,0.0205155536405,0.0204196999253,0.0203238460224,0.0202279919327,0.0201321376571,0.0200362831964,0.0199404285515,0.0198445737234,0.0197487187128,0.0196528635207,0.019557008148,0.0194611525955,0.0193652968642,0.0192694409548,0.0191735848683,0.0190777286056,0.0189818721675,0.0188860155549,0.0187901587688,0.0186943018099,0.0185984446792,0.0185025873775,0.0184067299058,0.0183108722649,0.0182150144556,0.018119156479,0.0180232983358,0.0179274400269,0.0178315815532,0.0177357229157,0.0176398641151,0.0175440051524,0.0174481460284,0.017352286744,0.0172564273001,0.0171605676976,0.0170647079374,0.0169688480203,0.0168729879473,0.0167771277191,0.0166812673368,0.0165854068011,0.016489546113,0.0163936852733,0.0162978242829,0.0162019631427,0.0161061018535,0.0160102404164,0.015914378832,0.0158185171014,0.0157226552254,0.0156267932049,0.0155309310407,0.0154350687338,0.015339206285,0.0152433436952,0.0151474809653,0.0150516180961,0.0149557550886,0.0148598919437,0.0147640286621,0.0146681652449,0.0145723016928,0.0144764380067,0.0143805741876,0.0142847102364,0.0141888461538,0.0140929819408,0.0139971175982,0.013901253127,0.0138053885281,0.0137095238022,0.0136136589503,0.0135177939733,0.013421928872,0.0133260636473,0.0132301983002,0.0131343328315,0.013038467242,0.0129426015327,0.0128467357044,0.012750869758,0.0126550036944,0.0125591375145,0.0124632712192,0.0123674048093,0.0122715382857,0.0121756716493,0.0120798049011,0.0119839380417,0.0118880710723,0.0117922039935,0.0116963368064,0.0116004695117,0.0115046021104,0.0114087346034,0.0113128669915,0.0112169992756,0.0111211314566,0.0110252635354,0.0109293955129,0.0108335273899,0.0107376591673,0.010641790846,0.0105459224269,0.0104500539108,0.0103541852987,0.0102583165915,0.0101624477899,0.0100665788949,0.00997070990742,0.00987484082827,0.00977897165835,0.00968310239854,0.00958723304973,0.00949136361279,0.00939549408862,0.00929962447808,0.00920375478206,0.00910788500144,0.00901201513711,0.00891614518993,0.00882027516081,0.00872440505061,0.00862853486021,0.00853266459051,0.00843679424237,0.00834092381668,0.00824505331433,0.00814918273619,0.00805331208315,0.00795744135607,0.00786157055586,0.00776569968339,0.00766982873953,0.00757395772518,0.0074780866412,0.00738221548849,0.00728634426793,0.00719047298039,0.00709460162675,0.00699873020791,0.00690285872473,0.0068069871781,0.00671111556891,0.00661524389803,0.00651937216634,0.00642350037473,0.00632762852407,0.00623175661525,0.00613588464915,0.00604001262666,0.00594414054864,0.00584826841598,0.00575239622957,0.00565652399029,0.00556065169901,0.00546477935662,0.005368906964,0.00527303452202,0.00517716203158,0.00508128949356,0.00498541690882,0.00488954427826,0.00479367160276,0.00469779888319,0.00460192612045,0.0045060533154,0.00441018046894,0.00431430758194,0.00421843465528,0.00412256168984,0.00402668868652,0.00393081564618,0.00383494256971,0.00373906945799,0.0036431963119,0.00354732313232,0.00345144992014,0.00335557667623,0.00325970340148,0.00316383009676,0.00306795676297,0.00297208340097,0.00287621001166,0.0027803365959,0.0026844631546,0.00258858968861,0.00249271619884,0.00239684268615,0.00230096915143,0.00220509559556,0.00210922201942,0.00201334842389,0.00191747480986,0.0018216011782,0.0017257275298,0.00162985386553,0.00153398018629,0.00143810649294,0.00134223278637,0.00124635906747,0.00115048533711,0.00105461159618,0.000958737845554,0.000862864086114,0.000766990318743,0.000671116544322,0.000575242763732,0.000479368977855,0.000383495187571,0.000287621393763,0.000191747597311,9.58737990959e-05,1.22464679915e-16,-9.58737990957e-05,-0.000191747597311,-0.000287621393763,-0.000383495187571,-0.000479368977855,-0.000575242763732,-0.000671116544321,-0.000766990318743,-0.000862864086113,-0.000958737845553,-0.00105461159618,-0.00115048533711,-0.00124635906747,-0.00134223278637,-0.00143810649294,-0.00153398018628,-0.00162985386553,-0.00172572752979,-0.0018216011782,-0.00191747480986,-0.00201334842389,-0.00210922201942,-0.00220509559555,-0.00230096915143,-0.00239684268615,-0.00249271619884,-0.00258858968861,-0.0026844631546,-0.0027803365959,-0.00287621001166,-0.00297208340097,-0.00306795676297,-0.00316383009676,-0.00325970340148,-0.00335557667623,-0.00345144992014,-0.00354732313232,-0.0036431963119,-0.00373906945799,-0.00383494256971,-0.00393081564618,-0.00402668868652,-0.00412256168984,-0.00421843465528,-0.00431430758194,-0.00441018046894,-0.0045060533154,-0.00460192612045,-0.00469779888319,-0.00479367160276,-0.00488954427826,-0.00498541690882,-0.00508128949356,-0.00517716203158,-0.00527303452202,-0.005368906964,-0.00546477935662,-0.00556065169901,-0.00565652399029,-0.00575239622957,-0.00584826841598,-0.00594414054864,-0.00604001262666,-0.00613588464915,-0.00623175661525,-0.00632762852407,-0.00642350037473,-0.00651937216634,-0.00661524389803,-0.00671111556891,-0.0068069871781,-0.00690285872473,-0.00699873020791,-0.00709460162675,-0.00719047298039,-0.00728634426793,-0.00738221548849,-0.0074780866412,-0.00757395772518,-0.00766982873953,-0.00776569968339,-0.00786157055586,-0.00795744135607,-0.00805331208315,-0.00814918273619,-0.00824505331433,-0.00834092381668,-0.00843679424237,-0.00853266459051,-0.00862853486021,-0.00872440505061,-0.00882027516081,-0.00891614518993,-0.00901201513711,-0.00910788500144,-0.00920375478206,-0.00929962447808,-0.00939549408862,-0.00949136361279,-0.00958723304973,-0.00968310239854,-0.00977897165835,-0.00987484082827,-0.00997070990742,-0.0100665788949,-0.0101624477899,-0.0102583165915,-0.0103541852987,-0.0104500539108,-0.0105459224269,-0.010641790846,-0.0107376591673,-0.0108335273899,-0.0109293955129,-0.0110252635354,-0.0111211314566,-0.0112169992756,-0.0113128669915,-0.0114087346034,-0.0115046021104,-0.0116004695117,-0.0116963368064,-0.0117922039935,-0.0118880710723,-0.0119839380417,-0.0120798049011,-0.0121756716493,-0.0122715382857,-0.0123674048093,-0.0124632712192,-0.0125591375145,-0.0126550036944,-0.012750869758,-0.0128467357044,-0.0129426015327,-0.013038467242,-0.0131343328315,-0.0132301983002,-0.0133260636473,-0.013421928872,-0.0135177939733,-0.0136136589503,-0.0137095238022,-0.0138053885281,-0.013901253127,-0.0139971175982,-0.0140929819408,-0.0141888461538,-0.0142847102364,-0.0143805741876,-0.0144764380067,-0.0145723016928,-0.0146681652449,-0.0147640286621,-0.0148598919437,-0.0149557550886,-0.0150516180961,-0.0151474809653,-0.0152433436952,-0.015339206285,-0.0154350687338,-0.0155309310407,-0.0156267932049,-0.0157226552254,-0.0158185171014,-0.015914378832,-0.0160102404164,-0.0161061018535,-0.0162019631427,-0.0162978242829,-0.0163936852733,-0.016489546113,-0.0165854068011,-0.0166812673368,-0.0167771277191,-0.0168729879473,-0.0169688480203,-0.0170647079374,-0.0171605676976,-0.0172564273001,-0.017352286744,-0.0174481460284,-0.0175440051524,-0.0176398641151,-0.0177357229157,-0.0178315815532,-0.0179274400269,-0.0180232983358,-0.018119156479,-0.0182150144556,-0.0183108722649,-0.0184067299058,-0.0185025873775,-0.0185984446792,-0.0186943018099,-0.0187901587688,-0.0188860155549,-0.0189818721675,-0.0190777286056,-0.0191735848683,-0.0192694409548,-0.0193652968642,-0.0194611525955,-0.019557008148,-0.0196528635207,-0.0197487187128,-0.0198445737234,-0.0199404285515,-0.0200362831964,-0.0201321376571,-0.0202279919327,-0.0203238460224,-0.0204196999253,-0.0205155536405,-0.0206114071671,-0.0207072605043,-0.0208031136511,-0.0208989666067,-0.0209948193702,-0.0210906719408,-0.0211865243174,-0.0212823764994,-0.0213782284857,-0.0214740802755,-0.0215699318679,-0.021665783262,-0.021761634457,-0.021857485452,-0.0219533362461,-0.0220491868384,-0.022145037228,-0.022240887414,-0.0223367373956,-0.0224325871719,-0.0225284367421,-0.0226242861051,-0.0227201352602,-0.0228159842064,-0.0229118329429,-0.0230076814688,-0.0231035297833,-0.0231993778853,-0.0232952257742,-0.0233910734489,-0.0234869209086,-0.0235827681524,-0.0236786151794,-0.0237744619888,-0.0238703085797,-0.0239661549511,-0.0240620011023,-0.0241578470323,-0.0242536927402,-0.0243495382252,-0.0244453834864,-0.0245412285229,-0.0246370733338,-0.0247329179183,-0.0248287622754,-0.0249246064043,-0.0250204503041,-0.0251162939739,-0.0252121374128,-0.02530798062,-0.0254038235946,-0.0254996663357,-0.0255955088423,-0.0256913511138,-0.025787193149,-0.0258830349473,-0.0259788765076,-0.0260747178291,-0.026170558911,-0.0262663997523,-0.0263622403521,-0.0264580807097,-0.026553920824,-0.0266497606943,-0.0267456003196,-0.0268414396991,-0.0269372788319,-0.027033117717,-0.0271289563537,-0.027224794741,-0.0273206328781,-0.027416470764,-0.0275123083979,-0.027608145779,-0.0277039829062,-0.0277998197789,-0.027895656396,-0.0279914927567,-0.02808732886,-0.0281831647053,-0.0282790002914,-0.0283748356177,-0.0284706706831,-0.0285665054868,-0.028662340028,-0.0287581743056,-0.028854008319,-0.0289498420671,-0.0290456755491,-0.0291415087642,-0.0292373417114,-0.0293331743898,-0.0294290067986,-0.0295248389369,-0.0296206708039,-0.0297165023985,-0.02981233372,-0.0299081647675,-0.0300039955401,-0.0300998260369,-0.030195656257,-0.0302914861995,-0.0303873158637,-0.0304831452485,-0.0305789743531,-0.0306748031766,-0.0307706317182,-0.030866459977,-0.030962287952,-0.0310581156424,-0.0311539430474,-0.031249770166,-0.0313455969973,-0.0314414235406,-0.0315372497948,-0.0316330757591,-0.0317289014327,-0.0318247268146,-0.031920551904,-0.0320163767,-0.0321122012018,-0.0322080254083,-0.0323038493188,-0.0323996729324,-0.0324954962481,-0.0325913192652,-0.0326871419827,-0.0327829643997,-0.0328787865154,-0.0329746083289,-0.0330704298393,-0.0331662510457,-0.0332620719473,-0.0333578925431,-0.0334537128323,-0.033549532814,-0.0336453524873,-0.0337411718514,-0.0338369909053,-0.0339328096482,-0.0340286280792,-0.0341244461974,-0.034220264002,-0.034316081492,-0.0344118986665,-0.0345077155248,-0.0346035320659,-0.0346993482889,-0.034795164193,-0.0348909797772,-0.0349867950407,-0.0350826099826,-0.0351784246021,-0.0352742388982,-0.0353700528701,-0.0354658665169,-0.0355616798376,-0.0356574928315,-0.0357533054976,-0.0358491178351,-0.0359449298431,-0.0360407415207,-0.036136552867,-0.0362323638812,-0.0363281745623,-0.0364239849094,-0.0365197949218,-0.0366156045985,-0.0367114139387,-0.0368072229414,-0.0369030316057,-0.0369988399309,-0.037094647916,-0.0371904555601,-0.0372862628624,-0.0373820698219,-0.0374778764378,-0.0375736827093,-0.0376694886353,-0.0377652942152,-0.0378610994479,-0.0379569043325,-0.0380527088683,-0.0381485130544,-0.0382443168897,-0.0383401203736,-0.038435923505,-0.0385317262831,-0.038627528707,-0.0387233307759,-0.0388191324889,-0.038914933845,-0.0390107348435,-0.0391065354833,-0.0392023357637,-0.0392981356838,-0.0393939352426,-0.0394897344394,-0.0395855332731,-0.039681331743,-0.0397771298482,-0.0398729275877,-0.0399687249608,-0.0400645219664,-0.0401603186038,-0.040256114872,-0.0403519107703,-0.0404477062976,-0.0405435014531,-0.0406392962359,-0.0407350906452,-0.0408308846801,-0.0409266783397,-0.0410224716231,-0.0411182645294,-0.0412140570577,-0.0413098492073,-0.0414056409771,-0.0415014323663,-0.0415972233741,-0.0416930139995,-0.0417888042416,-0.0418845940997,-0.0419803835727,-0.0420761726599,-0.0421719613603,-0.0422677496731,-0.0423635375974,-0.0424593251323,-0.0425551122769,-0.0426508990304,-0.0427466853918,-0.0428424713602,-0.0429382569349,-0.043034042115,-0.0431298268994,-0.0432256112874,-0.0433213952781,-0.0434171788706,-0.043512962064,-0.0436087448575,-0.0437045272501,-0.0438003092409,-0.0438960908292,-0.043991872014,-0.0440876527945,-0.0441834331696,-0.0442792131387,-0.0443749927008,-0.0444707718549,-0.0445665506003,-0.0446623289361,-0.0447581068613,-0.0448538843752,-0.0449496614767,-0.0450454381651,-0.0451412144394,-0.0452369902988,-0.0453327657424,-0.0454285407693,-0.0455243153786,-0.0456200895695,-0.045715863341,-0.0458116366924,-0.0459074096226,-0.0460031821309,-0.0460989542163,-0.046194725878,-0.0462904971151,-0.0463862679267,-0.0464820383119,-0.0465778082699,-0.0466735777997,-0.0467693469005,-0.0468651155715,-0.0469608838116,-0.0470566516201,-0.0471524189961,-0.0472481859386,-0.0473439524469,-0.0474397185199,-0.047535484157,-0.047631249357,-0.0477270141193,-0.0478227784429,-0.0479185423269,-0.0480143057704,-0.0481100687726,-0.0482058313326,-0.0483015934495,-0.0483973551224,-0.0484931163504,-0.0485888771327,-0.0486846374684,-0.0487803973566,-0.0488761567964,-0.048971915787,-0.0490676743274,-0.0491634324168,-0.0492591900543,-0.049354947239,-0.0494507039701,-0.0495464602466,-0.0496422160677,-0.0497379714325,-0.0498337263401,-0.0499294807897,-0.0500252347803,-0.0501209883111,-0.0502167413812,-0.0503124939897,-0.0504082461357,-0.0505039978184,-0.0505997490369,-0.0506954997903,-0.0507912500777,-0.0508869998982,-0.050982749251,-0.0510784981352,-0.0511742465499,-0.0512699944941,-0.0513657419672,-0.051461488968,-0.0515572354959,-0.0516529815499,-0.051748727129,-0.0518444722325,-0.0519402168595,-0.052035961009,-0.0521317046803,-0.0522274478723,-0.0523231905843,-0.0524189328154,-0.0525146745646,-0.0526104158311,-0.0527061566141,-0.0528018969125,-0.0528976367257,-0.0529933760526,-0.0530891148924,-0.0531848532442,-0.0532805911071,-0.0533763284804,-0.0534720653629,-0.053567801754,-0.0536635376527,-0.0537592730582,-0.0538550079695,-0.0539507423857,-0.0540464763061,-0.0541422097297,-0.0542379426556,-0.054333675083,-0.0544294070109,-0.0545251384386,-0.054620869365,-0.0547165997894,-0.0548123297109,-0.0549080591285,-0.0550037880415,-0.0550995164488,-0.0551952443497,-0.0552909717432,-0.0553866986286,-0.0554824250048,-0.055578150871,-0.0556738762264,-0.05576960107,-0.055865325401,-0.0559610492185,-0.0560567725216,-0.0561524953095,-0.0562482175812,-0.0563439393359,-0.0564396605727,-0.0565353812907,-0.0566311014891,-0.0567268211669,-0.0568225403233,-0.0569182589574,-0.0570139770683,-0.0571096946552,-0.0572054117171,-0.0573011282532,-0.0573968442626,-0.0574925597444,-0.0575882746977,-0.0576839891217,-0.0577797030155,-0.0578754163782,-0.0579711292089,-0.0580668415068,-0.0581625532709,-0.0582582645004,-0.0583539751944,-0.0584496853521,-0.0585453949724,-0.0586411040547,-0.0587368125979,-0.0588325206012,-0.0589282280638,-0.0590239349847,-0.059119641363,-0.059215347198,-0.0593110524886,-0.0594067572341,-0.0595024614335,-0.059598165086,-0.0596938681907,-0.0597895707466,-0.059885272753,-0.059980974209,-0.0600766751136,-0.060172375466,-0.0602680752653,-0.0603637745107,-0.0604594732012,-0.0605551713359,-0.0606508689141,-0.0607465659348,-0.0608422623971,-0.0609379583001,-0.061033653643,-0.0611293484249,-0.061225042645,-0.0613207363022,-0.0614164293958,-0.0615121219249,-0.0616078138886,-0.061703505286,-0.0617991961162,-0.0618948863784,-0.0619905760716,-0.0620862651951,-0.0621819537478,-0.062277641729,-0.0623733291378,-0.0624690159732,-0.0625647022345,-0.0626603879206,-0.0627560730308,-0.0628517575642,-0.0629474415198,-0.0630431248968,-0.0631388076944,-0.0632344899116,-0.0633301715475,-0.0634258526014,-0.0635215330722,-0.0636172129592,-0.0637128922614,-0.063808570978,-0.063904249108,-0.0639999266507,-0.0640956036051,-0.0641912799704,-0.0642869557456,-0.0643826309299,-0.0644783055224,-0.0645739795222,-0.0646696529285,-0.0647653257403,-0.0648609979569,-0.0649566695772,-0.0650523406005,-0.0651480110259,-0.0652436808524,-0.0653393500792,-0.0654350187054,-0.0655306867302,-0.0656263541526,-0.0657220209718,-0.0658176871869,-0.065913352797,-0.0660090178013,-0.0661046821988,-0.0662003459886,-0.06629600917,-0.066391671742,-0.0664873337038,-0.0665829950544,-0.066678655793,-0.0667743159187,-0.0668699754306,-0.0669656343279,-0.0670612926096,-0.067156950275,-0.067252607323,-0.0673482637529,-0.0674439195637,-0.0675395747545,-0.0676352293246,-0.067730883273,-0.0678265365988,-0.0679221893012,-0.0680178413792,-0.0681134928321,-0.0682091436588,-0.0683047938586,-0.0684004434305,-0.0684960923738,-0.0685917406874,-0.0686873883705,-0.0687830354223,-0.0688786818418,-0.0689743276283,-0.0690699727807,-0.0691656172982,-0.06926126118,-0.0693569044252,-0.0694525470328,-0.0695481890021,-0.0696438303321,-0.0697394710219,-0.0698351110707,-0.0699307504776,-0.0700263892417,-0.0701220273621,-0.070217664838,-0.0703133016685,-0.0704089378526,-0.0705045733896,-0.0706002082785,-0.0706958425185,-0.0707914761086,-0.0708871090481,-0.070982741336,-0.0710783729714,-0.0711740039534,-0.0712696342813,-0.0713652639541,-0.0714608929708,-0.0715565213308,-0.071652149033,-0.0717477760766,-0.0718434024607,-0.0719390281844,-0.0720346532469,-0.0721302776472,-0.0722259013846,-0.0723215244581,-0.0724171468668,-0.0725127686098,-0.0726083896864,-0.0727040100955,-0.0727996298364,-0.072895248908,-0.0729908673097,-0.0730864850405,-0.0731821020994,-0.0732777184857,-0.0733733341984,-0.0734689492367,-0.0735645635997,-0.0736601772865,-0.0737557902962,-0.073851402628,-0.0739470142809,-0.0740426252541,-0.0741382355468,-0.074233845158,-0.0743294540868,-0.0744250623325,-0.074520669894,-0.0746162767706,-0.0747118829613,-0.0748074884652,-0.0749030932816,-0.0749986974094,-0.0750943008479,-0.0751899035962,-0.0752855056533,-0.0753811070184,-0.0754767076906,-0.075572307669,-0.0756679069528,-0.0757635055411,-0.075859103433,-0.0759547006275,-0.076050297124,-0.0761458929214,-0.0762414880189,-0.0763370824155,-0.0764326761105,-0.076528269103,-0.076623861392,-0.0767194529767,-0.0768150438563,-0.0769106340297,-0.0770062234962,-0.0771018122549,-0.0771974003049,-0.0772929876453,-0.0773885742753,-0.0774841601939,-0.0775797454003,-0.0776753298935,-0.0777709136729,-0.0778664967373,-0.077962079086,-0.0780576607182,-0.0781532416328,-0.0782488218291,-0.0783444013061,-0.078439980063,-0.0785355580988,-0.0786311354128,-0.0787267120041,-0.0788222878717,-0.0789178630148,-0.0790134374325,-0.0791090111239,-0.0792045840882,-0.0793001563244,-0.0793957278317,-0.0794912986092,-0.0795868686561,-0.0796824379714,-0.0797780065543,-0.0798735744039,-0.0799691415193,-0.0800647078997,-0.0801602735441,-0.0802558384517,-0.0803514026216,-0.0804469660529,-0.0805425287448,-0.0806380906964,-0.0807336519067,-0.080829212375,-0.0809247721003,-0.0810203310817,-0.0811158893185,-0.0812114468096,-0.0813070035542,-0.0814025595515,-0.0814981148006,-0.0815936693005,-0.0816892230505,-0.0817847760496,-0.0818803282969,-0.0819758797916,-0.0820714305328,-0.0821669805197,-0.0822625297512,-0.0823580782266,-0.0824536259451,-0.0825491729056,-0.0826447191073,-0.0827402645494,-0.0828358092309,-0.0829313531511,-0.0830268963089,-0.0831224387036,-0.0832179803343,-0.0833135212,-0.0834090612999,-0.0835046006332,-0.0836001391988,-0.0836956769961,-0.083791214024,-0.0838867502818,-0.0839822857685,-0.0840778204832,-0.0841733544251,-0.0842688875933,-0.0843644199869,-0.0844599516051,-0.0845554824469,-0.0846510125116,-0.0847465417981,-0.0848420703056,-0.0849375980333,-0.0850331249803,-0.0851286511456,-0.0852241765285,-0.085319701128,-0.0854152249433,-0.0855107479735,-0.0856062702176,-0.0857017916749,-0.0857973123444,-0.0858928322253,-0.0859883513167,-0.0860838696177,-0.0861793871275,-0.0862749038451,-0.0863704197697,-0.0864659349003,-0.0865614492363,-0.0866569627765,-0.0867524755202,-0.0868479874665,-0.0869434986145,-0.0870390089634,-0.0871345185122,-0.0872300272601,-0.0873255352062,-0.0874210423496,-0.0875165486895,-0.0876120542249,-0.087707558955,-0.0878030628789,-0.0878985659958,-0.0879940683047,-0.0880895698048,-0.0881850704952,-0.088280570375,-0.0883760694433,-0.0884715676993,-0.0885670651421,-0.0886625617709,-0.0887580575846,-0.0888535525825,-0.0889490467637,-0.0890445401273,-0.0891400326724,-0.0892355243981,-0.0893310153037,-0.0894265053881,-0.0895219946505,-0.08961748309,-0.0897129707058,-0.089808457497,-0.0899039434627,-0.089999428602,-0.090094912914,-0.0901903963979,-0.0902858790529,-0.0903813608779,-0.0904768418721,-0.0905723220347,-0.0906678013648,-0.0907632798615,-0.0908587575239,-0.0909542343511,-0.0910497103424,-0.0911451854967,-0.0912406598132,-0.0913361332911,-0.0914316059294,-0.0915270777273,-0.0916225486839,-0.0917180187983,-0.0918134880697,-0.0919089564971,-0.0920044240798,-0.0920998908167,-0.0921953567071,-0.0922908217501,-0.0923862859447,-0.0924817492901,-0.0925772117855,-0.0926726734299,-0.0927681342225,-0.0928635941624,-0.0929590532487,-0.0930545114805,-0.093149968857,-0.0932454253773,-0.0933408810405,-0.0934363358457,-0.0935317897921,-0.0936272428788,-0.0937226951048,-0.0938181464694,-0.0939135969716,-0.0940090466106,-0.0941044953855,-0.0941999432954,-0.0942953903394,-0.0943908365167,-0.0944862818264,-0.0945817262675,-0.0946771698393,-0.0947726125408,-0.0948680543712,-0.0949634953296,-0.0950589354152,-0.0951543746269,-0.095249812964,-0.0953452504256,-0.0954406870108,-0.0955361227188,-0.0956315575485,-0.0957269914993,-0.0958224245702,-0.0959178567602,-0.0960132880687,-0.0961087184946,-0.096204148037,-0.0962995766952,-0.0963950044683,-0.0964904313553,-0.0965858573553,-0.0966812824676,-0.0967767066912,-0.0968721300252,-0.0969675524688,-0.0970629740212,-0.0971583946813,-0.0972538144484,-0.0973492333215,-0.0974446512998,-0.0975400683825,-0.0976354845685,-0.0977308998571,-0.0978263142474,-0.0979217277385,-0.0980171403296,-0.0981125520196,-0.0982079628079,-0.0983033726934,-0.0983987816754,-0.0984941897529,-0.098589596925,-0.098685003191,-0.0987804085498,-0.0988758130007,-0.0989712165427,-0.099066619175,-0.0991620208967,-0.099257421707,-0.0993528216049,-0.0994482205895,-0.0995436186601,-0.0996390158156,-0.0997344120553,-0.0998298073783,-0.0999252017837,-0.100020595271,-0.100115987838,-0.100211379485,-0.100306770211,-0.100402160016,-0.100497548897,-0.100592936854,-0.100688323887,-0.100783709995,-0.100879095176,-0.100974479429,-0.101069862755,-0.101165245151,-0.101260626618,-0.101356007154,-0.101451386758,-0.10154676543,-0.101642143168,-0.101737519973,-0.101832895841,-0.101928270774,-0.10202364477,-0.102119017829,-0.102214389948,-0.102309761128,-0.102405131368,-0.102500500666,-0.102595869022,-0.102691236436,-0.102786602905,-0.102881968429,-0.102977333008,-0.10307269664,-0.103168059325,-0.103263421062,-0.103358781849,-0.103454141686,-0.103549500573,-0.103644858507,-0.103740215489,-0.103835571517,-0.103930926591,-0.10402628071,-0.104121633872,-0.104216986077,-0.104312337325,-0.104407687613,-0.104503036942,-0.10459838531,-0.104693732717,-0.104789079162,-0.104884424643,-0.10497976916,-0.105075112713,-0.105170455299,-0.105265796919,-0.105361137571,-0.105456477255,-0.105551815969,-0.105647153713,-0.105742490487,-0.105837826288,-0.105933161116,-0.106028494971,-0.106123827851,-0.106219159755,-0.106314490683,-0.106409820634,-0.106505149607,-0.106600477601,-0.106695804615,-0.106791130648,-0.1068864557,-0.106981779769,-0.107077102855,-0.107172424957,-0.107267746073,-0.107363066204,-0.107458385348,-0.107553703504,-0.107649020671,-0.107744336849,-0.107839652036,-0.107934966233,-0.108030279437,-0.108125591648,-0.108220902865,-0.108316213088,-0.108411522315,-0.108506830545,-0.108602137778,-0.108697444013,-0.108792749249,-0.108888053485,-0.108983356719,-0.109078658952,-0.109173960183,-0.10926926041,-0.109364559632,-0.10945985785,-0.109555155061,-0.109650451265,-0.109745746461,-0.109841040649,-0.109936333827,-0.110031625994,-0.11012691715,-0.110222207294,-0.110317496424,-0.110412784541,-0.110508071643,-0.110603357729,-0.110698642798,-0.11079392685,-0.110889209883,-0.110984491897,-0.111079772891,-0.111175052864,-0.111270331815,-0.111365609743,-0.111460886648,-0.111556162528,-0.111651437383,-0.111746711211,-0.111841984012,-0.111937255786,-0.11203252653,-0.112127796244,-0.112223064928,-0.112318332581,-0.112413599201,-0.112508864787,-0.11260412934,-0.112699392857,-0.112794655339,-0.112889916784,-0.112985177191,-0.113080436559,-0.113175694889,-0.113270952178,-0.113366208425,-0.113461463631,-0.113556717794,-0.113651970913,-0.113747222987,-0.113842474016,-0.113937723998,-0.114032972933,-0.11412822082,-0.114223467658,-0.114318713446,-0.114413958183,-0.114509201869,-0.114604444502,-0.114699686081,-0.114794926607,-0.114890166077,-0.114985404491,-0.115080641848,-0.115175878147,-0.115271113388,-0.115366347569,-0.115461580689,-0.115556812749,-0.115652043746,-0.11574727368,-0.11584250255,-0.115937730356,-0.116032957095,-0.116128182769,-0.116223407374,-0.116318630912,-0.11641385338,-0.116509074778,-0.116604295106,-0.116699514361,-0.116794732544,-0.116889949653,-0.116985165688,-0.117080380648,-0.117175594531,-0.117270807338,-0.117366019066,-0.117461229715,-0.117556439285,-0.117651647775,-0.117746855183,-0.117842061508,-0.117937266751,-0.118032470909,-0.118127673983,-0.11822287597,-0.118318076871,-0.118413276685,-0.11850847541,-0.118603673045,-0.118698869591,-0.118794065045,-0.118889259408,-0.118984452678,-0.119079644854,-0.119174835935,-0.119270025921,-0.119365214811,-0.119460402604,-0.119555589298,-0.119650774894,-0.119745959389,-0.119841142785,-0.119936325078,-0.120031506269,-0.120126686357,-0.120221865341,-0.120317043219,-0.120412219992,-0.120507395658,-0.120602570216,-0.120697743666,-0.120792916006,-0.120888087236,-0.120983257354,-0.121078426361,-0.121173594255,-0.121268761035,-0.1213639267,-0.12145909125,-0.121554254683,-0.121649416999,-0.121744578197,-0.121839738276,-0.121934897235,-0.122030055073,-0.122125211789,-0.122220367383,-0.122315521853,-0.122410675199,-0.12250582742,-0.122600978515,-0.122696128483,-0.122791277323,-0.122886425035,-0.122981571617,-0.123076717068,-0.123171861388,-0.123267004576,-0.123362146631,-0.123457287552,-0.123552427339,-0.123647565989,-0.123742703503,-0.12383783988,-0.123932975119,-0.124028109218,-0.124123242177,-0.124218373995,-0.124313504672,-0.124408634205,-0.124503762596,-0.124598889842,-0.124694015942,-0.124789140897,-0.124884264704,-0.124979387363,-0.125074508874,-0.125169629235,-0.125264748446,-0.125359866505,-0.125454983412,-0.125550099165,-0.125645213765,-0.12574032721,-0.125835439498,-0.125930550631,-0.126025660606,-0.126120769422,-0.126215877079,-0.126310983576,-0.126406088912,-0.126501193086,-0.126596296097,-0.126691397945,-0.126786498628,-0.126881598145,-0.126976696497,-0.127071793681,-0.127166889697,-0.127261984545,-0.127357078222,-0.127452170729,-0.127547262065,-0.127642352228,-0.127737441218,-0.127832529033,-0.127927615674,-0.128022701139,-0.128117785427,-0.128212868537,-0.128307950469,-0.128403031222,-0.128498110794,-0.128593189185,-0.128688266394,-0.12878334242,-0.128878417263,-0.128973490921,-0.129068563393,-0.129163634679,-0.129258704778,-0.129353773688,-0.12944884141,-0.129543907942,-0.129638973283,-0.129734037432,-0.129829100389,-0.129924162153,-0.130019222722,-0.130114282096,-0.130209340275,-0.130304397256,-0.13039945304,-0.130494507625,-0.13058956101,-0.130684613196,-0.13077966418,-0.130874713962,-0.130969762541,-0.131064809916,-0.131159856086,-0.131254901051,-0.131349944809,-0.13144498736,-0.131540028703,-0.131635068837,-0.13173010776,-0.131825145473,-0.131920181974,-0.132015217263,-0.132110251338,-0.132205284199,-0.132300315844,-0.132395346274,-0.132490375487,-0.132585403481,-0.132680430257,-0.132775455814,-0.13287048015,-0.132965503265,-0.133060525157,-0.133155545827,-0.133250565272,-0.133345583493,-0.133440600488,-0.133535616256,-0.133630630797,-0.13372564411,-0.133820656194,-0.133915667047,-0.13401067667,-0.134105685061,-0.134200692219,-0.134295698143,-0.134390702834,-0.134485706288,-0.134580708507,-0.134675709489,-0.134770709233,-0.134865707738,-0.134960705003,-0.135055701028,-0.135150695811,-0.135245689352,-0.13534068165,-0.135435672704,-0.135530662513,-0.135625651076,-0.135720638393,-0.135815624462,-0.135910609283,-0.136005592854,-0.136100575176,-0.136195556246,-0.136290536064,-0.13638551463,-0.136480491942,-0.136575468,-0.136670442802,-0.136765416348,-0.136860388637,-0.136955359668,-0.13705032944,-0.137145297952,-0.137240265204,-0.137335231194,-0.137430195921,-0.137525159386,-0.137620121586,-0.137715082522,-0.137810042192,-0.137905000595,-0.13799995773,-0.138094913597,-0.138189868194,-0.138284821522,-0.138379773578,-0.138474724362,-0.138569673873,-0.138664622111,-0.138759569074,-0.138854514762,-0.138949459173,-0.139044402308,-0.139139344164,-0.139234284741,-0.139329224038,-0.139424162055,-0.13951909879,-0.139614034243,-0.139708968412,-0.139803901298,-0.139898832898,-0.139993763212,-0.14008869224,-0.140183619979,-0.140278546431,-0.140373471592,-0.140468395464,-0.140563318044,-0.140658239333,-0.140753159328,-0.14084807803,-0.140942995437,-0.141037911549,-0.141132826364,-0.141227739882,-0.141322652102,-0.141417563022,-0.141512472643,-0.141607380963,-0.141702287982,-0.141797193698,-0.14189209811,-0.141987001219,-0.142081903022,-0.142176803519,-0.14227170271,-0.142366600593,-0.142461497167,-0.142556392431,-0.142651286386,-0.142746179029,-0.14284107036,-0.142935960378,-0.143030849082,-0.143125736471,-0.143220622545,-0.143315507303,-0.143410390743,-0.143505272865,-0.143600153667,-0.14369503315,-0.143789911312,-0.143884788153,-0.143979663671,-0.144074537865,-0.144169410735,-0.14426428228,-0.144359152499,-0.144454021391,-0.144548888955,-0.144643755191,-0.144738620097,-0.144833483672,-0.144928345916,-0.145023206829,-0.145118066408,-0.145212924653,-0.145307781563,-0.145402637138,-0.145497491376,-0.145592344277,-0.14568719584,-0.145782046064,-0.145876894947,-0.14597174249,-0.146066588691,-0.146161433549,-0.146256277064,-0.146351119234,-0.14644596006,-0.146540799539,-0.146635637671,-0.146730474455,-0.146825309891,-0.146920143977,-0.147014976713,-0.147109808097,-0.147204638129,-0.147299466808,-0.147394294133,-0.147489120103,-0.147583944718,-0.147678767976,-0.147773589876,-0.147868410418,-0.147963229601,-0.148058047424,-0.148152863887,-0.148247678987,-0.148342492725,-0.148437305099,-0.148532116108,-0.148626925753,-0.148721734031,-0.148816540942,-0.148911346486,-0.14900615066,-0.149100953465,-0.1491957549,-0.149290554963,-0.149385353654,-0.149480150972,-0.149574946915,-0.149669741484,-0.149764534677,-0.149859326494,-0.149954116933,-0.150048905994,-0.150143693675,-0.150238479977,-0.150333264897,-0.150428048436,-0.150522830592,-0.150617611364,-0.150712390752,-0.150807168755,-0.150901945371,-0.1509967206,-0.151091494442,-0.151186266894,-0.151281037957,-0.15137580763,-0.151470575911,-0.151565342799,-0.151660108295,-0.151754872397,-0.151849635103,-0.151944396414,-0.152039156328,-0.152133914845,-0.152228671963,-0.152323427682,-0.152418182001,-0.152512934919,-0.152607686435,-0.152702436549,-0.152797185258,-0.152891932564,-0.152986678464,-0.153081422957,-0.153176166044,-0.153270907723,-0.153365647992,-0.153460386852,-0.153555124302,-0.15364986034,-0.153744594966,-0.153839328178,-0.153934059977,-0.154028790361,-0.154123519328,-0.154218246879,-0.154312973013,-0.154407697728,-0.154502421024,-0.1545971429,-0.154691863355,-0.154786582387,-0.154881299997,-0.154976016184,-0.155070730946,-0.155165444282,-0.155260156193,-0.155354866676,-0.155449575731,-0.155544283357,-0.155638989554,-0.15573369432,-0.155828397654,-0.155923099556,-0.156017800025,-0.15611249906,-0.15620719666,-0.156301892824,-0.156396587552,-0.156491280842,-0.156585972693,-0.156680663105,-0.156775352077,-0.156870039608,-0.156964725697,-0.157059410343,-0.157154093546,-0.157248775304,-0.157343455616,-0.157438134483,-0.157532811902,-0.157627487873,-0.157722162395,-0.157816835468,-0.15791150709,-0.15800617726,-0.158100845978,-0.158195513243,-0.158290179054,-0.15838484341,-0.15847950631,-0.158574167753,-0.158668827739,-0.158763486266,-0.158858143334,-0.158952798942,-0.159047453088,-0.159142105773,-0.159236756995,-0.159331406753,-0.159426055047,-0.159520701875,-0.159615347237,-0.159709991132,-0.159804633559,-0.159899274517,-0.159993914005,-0.160088552023,-0.160183188569,-0.160277823642,-0.160372457243,-0.160467089369,-0.160561720021,-0.160656349196,-0.160750976895,-0.160845603116,-0.160940227859,-0.161034851122,-0.161129472906,-0.161224093208,-0.161318712028,-0.161413329366,-0.161507945219,-0.161602559588,-0.161697172472,-0.16179178387,-0.16188639378,-0.161981002202,-0.162075609136,-0.16217021458,-0.162264818533,-0.162359420994,-0.162454021963,-0.162548621439,-0.162643219421,-0.162737815908,-0.162832410899,-0.162927004393,-0.16302159639,-0.163116186888,-0.163210775887,-0.163305363385,-0.163399949383,-0.163494533879,-0.163589116871,-0.163683698361,-0.163778278345,-0.163872856825,-0.163967433797,-0.164062009263,-0.164156583221,-0.16425115567,-0.164345726609,-0.164440296037,-0.164534863954,-0.164629430359,-0.16472399525,-0.164818558628,-0.16491312049,-0.165007680836,-0.165102239666,-0.165196796978,-0.165291352772,-0.165385907046,-0.1654804598,-0.165575011034,-0.165669560745,-0.165764108933,-0.165858655598,-0.165953200738,-0.166047744353,-0.166142286441,-0.166236827003,-0.166331366036,-0.16642590354,-0.166520439515,-0.166614973959,-0.166709506872,-0.166804038252,-0.166898568099,-0.166993096412,-0.16708762319,-0.167182148432,-0.167276672137,-0.167371194305,-0.167465714935,-0.167560234025,-0.167654751575,-0.167749267584,-0.167843782051,-0.167938294975,-0.168032806355,-0.168127316191,-0.168221824482,-0.168316331226,-0.168410836423,-0.168505340073,-0.168599842173,-0.168694342724,-0.168788841724,-0.168883339172,-0.168977835068,-0.169072329411,-0.1691668222,-0.169261313434,-0.169355803112,-0.169450291234,-0.169544777798,-0.169639262803,-0.16973374625,-0.169828228136,-0.169922708461,-0.170017187224,-0.170111664424,-0.170206140061,-0.170300614133,-0.17039508664,-0.170489557581,-0.170584026954,-0.17067849476,-0.170772960997,-0.170867425664,-0.17096188876,-0.171056350285,-0.171150810238,-0.171245268618,-0.171339725423,-0.171434180654,-0.171528634308,-0.171623086386,-0.171717536887,-0.171811985809,-0.171906433152,-0.172000878915,-0.172095323097,-0.172189765697,-0.172284206714,-0.172378646148,-0.172473083997,-0.172567520261,-0.172661954938,-0.172756388029,-0.172850819531,-0.172945249445,-0.173039677769,-0.173134104503,-0.173228529645,-0.173322953195,-0.173417375152,-0.173511795514,-0.173606214282,-0.173700631454,-0.17379504703,-0.173889461008,-0.173983873387,-0.174078284168,-0.174172693348,-0.174267100928,-0.174361506905,-0.17445591128,-0.174550314051,-0.174644715218,-0.17473911478,-0.174833512735,-0.174927909083,-0.175022303824,-0.175116696956,-0.175211088478,-0.175305478389,-0.175399866689,-0.175494253377,-0.175588638452,-0.175683021913,-0.175777403759,-0.175871783989,-0.175966162603,-0.176060539599,-0.176154914977,-0.176249288736,-0.176343660875,-0.176438031393,-0.176532400289,-0.176626767562,-0.176721133212,-0.176815497238,-0.176909859638,-0.177004220412,-0.177098579559,-0.177192937079,-0.177287292969,-0.17738164723,-0.177475999861,-0.17757035086,-0.177664700227,-0.177759047961,-0.177853394061,-0.177947738526,-0.178042081356,-0.178136422549,-0.178230762105,-0.178325100022,-0.178419436301,-0.178513770939,-0.178608103936,-0.178702435292,-0.178796765005,-0.178891093075,-0.1789854195,-0.179079744281,-0.179174067415,-0.179268388902,-0.179362708741,-0.179457026932,-0.179551343473,-0.179645658364,-0.179739971603,-0.179834283191,-0.179928593125,-0.180022901406,-0.180117208031,-0.180211513002,-0.180305816315,-0.180400117972,-0.18049441797,-0.180588716309,-0.180683012988,-0.180777308007,-0.180871601363,-0.180965893058,-0.181060183088,-0.181154471455,-0.181248758156,-0.181343043192,-0.18143732656,-0.181531608261,-0.181625888293,-0.181720166656,-0.181814443348,-0.18190871837,-0.182002991719,-0.182097263395,-0.182191533397,-0.182285801725,-0.182380068377,-0.182474333353,-0.182568596652,-0.182662858272,-0.182757118214,-0.182851376475,-0.182945633056,-0.183039887955,-0.183134141172,-0.183228392705,-0.183322642555,-0.183416890719,-0.183511137197,-0.183605381988,-0.183699625092,-0.183793866507,-0.183888106233,-0.183982344269,-0.184076580613,-0.184170815266,-0.184265048226,-0.184359279491,-0.184453509063,-0.184547736939,-0.184641963118,-0.1847361876,-0.184830410385,-0.18492463147,-0.185018850856,-0.185113068541,-0.185207284524,-0.185301498805,-0.185395711383,-0.185489922257,-0.185584131425,-0.185678338888,-0.185772544644,-0.185866748693,-0.185960951033,-0.186055151663,-0.186149350584,-0.186243547794,-0.186337743291,-0.186431937076,-0.186526129147,-0.186620319504,-0.186714508145,-0.18680869507,-0.186902880278,-0.186997063768,-0.18709124554,-0.187185425591,-0.187279603922,-0.187373780531,-0.187467955419,-0.187562128583,-0.187656300023,-0.187750469738,-0.187844637727,-0.18793880399,-0.188032968525,-0.188127131332,-0.188221292409,-0.188315451757,-0.188409609373,-0.188503765258,-0.18859791941,-0.188692071829,-0.188786222513,-0.188880371462,-0.188974518674,-0.18906866415,-0.189162807888,-0.189256949887,-0.189351090146,-0.189445228665,-0.189539365443,-0.189633500478,-0.18972763377,-0.189821765319,-0.189915895122,-0.19001002318,-0.190104149492,-0.190198274056,-0.190292396871,-0.190386517938,-0.190480637254,-0.19057475482,-0.190668870634,-0.190762984696,-0.190857097004,-0.190951207557,-0.191045316356,-0.191139423398,-0.191233528684,-0.191327632212,-0.191421733981,-0.19151583399,-0.19160993224,-0.191704028728,-0.191798123453,-0.191892216416,-0.191986307615,-0.19208039705,-0.192174484719,-0.192268570621,-0.192362654756,-0.192456737123,-0.192550817721,-0.192644896549,-0.192738973607,-0.192833048892,-0.192927122405,-0.193021194145,-0.193115264111,-0.193209332302,-0.193303398716,-0.193397463354,-0.193491526214,-0.193585587296,-0.193679646598,-0.19377370412,-0.193867759861,-0.19396181382,-0.194055865996,-0.194149916388,-0.194243964996,-0.194338011818,-0.194432056854,-0.194526100103,-0.194620141563,-0.194714181235,-0.194808219117,-0.194902255209,-0.194996289509,-0.195090322016,-0.19518435273,-0.195278381651,-0.195372408776,-0.195466434105,-0.195560457638,-0.195654479373,-0.19574849931,-0.195842517448,-0.195936533785,-0.196030548321,-0.196124561056,-0.196218571988,-0.196312581116,-0.19640658844,-0.196500593958,-0.19659459767,-0.196688599575,-0.196782599672,-0.196876597961,-0.19697059444,-0.197064589108,-0.197158581965,-0.197252573009,-0.197346562241,-0.197440549659,-0.197534535261,-0.197628519048,-0.197722501019,-0.197816481172,-0.197910459507,-0.198004436022,-0.198098410718,-0.198192383593,-0.198286354646,-0.198380323876,-0.198474291283,-0.198568256866,-0.198662220623,-0.198756182554,-0.198850142659,-0.198944100935,-0.199038057383,-0.199132012002,-0.19922596479,-0.199319915747,-0.199413864871,-0.199507812163,-0.199601757621,-0.199695701244,-0.199789643032,-0.199883582983,-0.199977521097,-0.200071457373,-0.20016539181,-0.200259324407,-0.200353255163,-0.200447184078,-0.20054111115,-0.200635036378,-0.200728959763,-0.200822881302,-0.200916800996,-0.201010718843,-0.201104634842,-0.201198548993,-0.201292461294,-0.201386371745,-0.201480280345,-0.201574187093,-0.201668091988,-0.20176199503,-0.201855896217,-0.201949795548,-0.202043693023,-0.202137588641,-0.202231482401,-0.202325374303,-0.202419264344,-0.202513152525,-0.202607038844,-0.202700923302,-0.202794805895,-0.202888686625,-0.20298256549,-0.203076442489,-0.203170317622,-0.203264190887,-0.203358062284,-0.203451931811,-0.203545799469,-0.203639665255,-0.20373352917,-0.203827391212,-0.20392125138,-0.204015109674,-0.204108966093,-0.204202820635,-0.204296673301,-0.204390524089,-0.204484372998,-0.204578220027,-0.204672065176,-0.204765908444,-0.20485974983,-0.204953589332,-0.205047426951,-0.205141262685,-0.205235096533,-0.205328928495,-0.20542275857,-0.205516586756,-0.205610413053,-0.20570423746,-0.205798059977,-0.205891880602,-0.205985699334,-0.206079516173,-0.206173331118,-0.206267144167,-0.206360955321,-0.206454764578,-0.206548571937,-0.206642377398,-0.206736180959,-0.20682998262,-0.20692378238,-0.207017580237,-0.207111376192,-0.207205170243,-0.20729896239,-0.207392752631,-0.207486540966,-0.207580327394,-0.207674111913,-0.207767894524,-0.207861675225,-0.207955454015,-0.208049230894,-0.208143005861,-0.208236778914,-0.208330550053,-0.208424319278,-0.208518086586,-0.208611851978,-0.208705615453,-0.208799377009,-0.208893136645,-0.208986894362,-0.209080650158,-0.209174404032,-0.209268155983,-0.20936190601,-0.209455654114,-0.209549400292,-0.209643144543,-0.209736886868,-0.209830627265,-0.209924365734,-0.210018102272,-0.21011183688,-0.210205569557,-0.210299300302,-0.210393029114,-0.210486755992,-0.210580480935,-0.210674203942,-0.210767925013,-0.210861644147,-0.210955361343,-0.211049076599,-0.211142789916,-0.211236501291,-0.211330210725,-0.211423918217,-0.211517623765,-0.211611327369,-0.211705029028,-0.211798728741,-0.211892426507,-0.211986122326,-0.212079816196,-0.212173508116,-0.212267198087,-0.212360886106,-0.212454572173,-0.212548256288,-0.212641938448,-0.212735618654,-0.212829296905,-0.2129229732,-0.213016647537,-0.213110319916,-0.213203990337,-0.213297658797,-0.213391325297,-0.213484989836,-0.213578652412,-0.213672313026,-0.213765971675,-0.213859628359,-0.213953283078,-0.214046935829,-0.214140586614,-0.21423423543,-0.214327882277,-0.214421527154,-0.21451517006,-0.214608810994,-0.214702449955,-0.214796086943,-0.214889721957,-0.214983354995,-0.215076986058,-0.215170615143,-0.215264242251,-0.21535786738,-0.215451490529,-0.215545111698,-0.215638730886,-0.215732348092,-0.215825963314,-0.215919576553,-0.216013187808,-0.216106797076,-0.216200404358,-0.216294009653,-0.21638761296,-0.216481214278,-0.216574813606,-0.216668410944,-0.216762006289,-0.216855599643,-0.216949191003,-0.217042780369,-0.217136367739,-0.217229953114,-0.217323536493,-0.217417117873,-0.217510697256,-0.217604274638,-0.217697850021,-0.217791423403,-0.217884994783,-0.21797856416,-0.218072131533,-0.218165696902,-0.218259260266,-0.218352821623,-0.218446380974,-0.218539938316,-0.21863349365,-0.218727046974,-0.218820598288,-0.21891414759,-0.21900769488,-0.219101240157,-0.21919478342,-0.219288324668,-0.219381863901,-0.219475401117,-0.219568936315,-0.219662469496,-0.219756000657,-0.219849529799,-0.219943056919,-0.220036582018,-0.220130105095,-0.220223626148,-0.220317145177,-0.22041066218,-0.220504177158,-0.220597690109,-0.220691201032,-0.220784709927,-0.220878216792,-0.220971721627,-0.221065224431,-0.221158725203,-0.221252223942,-0.221345720647,-0.221439215318,-0.221532707953,-0.221626198552,-0.221719687114,-0.221813173638,-0.221906658123,-0.222000140568,-0.222093620973,-0.222187099337,-0.222280575658,-0.222374049935,-0.222467522169,-0.222560992358,-0.222654460502,-0.222747926598,-0.222841390647,-0.222934852648,-0.2230283126,-0.223121770502,-0.223215226353,-0.223308680152,-0.223402131898,-0.223495581591,-0.22358902923,-0.223682474813,-0.223775918341,-0.223869359811,-0.223962799224,-0.224056236578,-0.224149671873,-0.224243105107,-0.22433653628,-0.224429965392,-0.22452339244,-0.224616817424,-0.224710240344,-0.224803661198,-0.224897079986,-0.224990496707,-0.22508391136,-0.225177323944,-0.225270734458,-0.225364142901,-0.225457549273,-0.225550953572,-0.225644355799,-0.225737755951,-0.225831154028,-0.22592455003,-0.226017943954,-0.226111335802,-0.226204725571,-0.22629811326,-0.22639149887,-0.226484882399,-0.226578263846,-0.22667164321,-0.226765020491,-0.226858395687,-0.226951768798,-0.227045139823,-0.227138508761,-0.227231875611,-0.227325240373,-0.227418603045,-0.227511963627,-0.227605322117,-0.227698678516,-0.227792032821,-0.227885385033,-0.22797873515,-0.228072083171,-0.228165429096,-0.228258772924,-0.228352114653,-0.228445454284,-0.228538791815,-0.228632127245,-0.228725460574,-0.2288187918,-0.228912120923,-0.229005447942,-0.229098772856,-0.229192095664,-0.229285416365,-0.229378734959,-0.229472051444,-0.229565365821,-0.229658678087,-0.229751988242,-0.229845296285,-0.229938602216,-0.230031906033,-0.230125207735,-0.230218507323,-0.230311804794,-0.230405100148,-0.230498393385,-0.230591684502,-0.230684973501,-0.230778260378,-0.230871545135,-0.230964827769,-0.231058108281,-0.231151386668,-0.231244662931,-0.231337937069,-0.231431209079,-0.231524478963,-0.231617746719,-0.231711012345,-0.231804275842,-0.231897537208,-0.231990796442,-0.232084053545,-0.232177308513,-0.232270561348,-0.232363812048,-0.232457060612,-0.232550307039,-0.232643551328,-0.23273679348,-0.232830033492,-0.232923271363,-0.233016507094,-0.233109740683,-0.233202972129,-0.233296201432,-0.233389428591,-0.233482653604,-0.233575876471,-0.233669097191,-0.233762315763,-0.233855532186,-0.23394874646,-0.234041958584,-0.234135168556,-0.234228376376,-0.234321582043,-0.234414785556,-0.234507986915,-0.234601186118,-0.234694383165,-0.234787578054,-0.234880770785,-0.234973961358,-0.23506714977,-0.235160336022,-0.235253520112,-0.23534670204,-0.235439881805,-0.235533059405,-0.23562623484,-0.23571940811,-0.235812579213,-0.235905748149,-0.235998914916,-0.236092079513,-0.236185241941,-0.236278402198,-0.236371560283,-0.236464716195,-0.236557869934,-0.236651021498,-0.236744170887,-0.2368373181,-0.236930463136,-0.237023605994,-0.237116746674,-0.237209885174,-0.237303021494,-0.237396155632,-0.237489287588,-0.237582417362,-0.237675544951,-0.237768670356,-0.237861793575,-0.237954914608,-0.238048033454,-0.238141150112,-0.23823426458,-0.238327376859,-0.238420486948,-0.238513594844,-0.238606700549,-0.23869980406,-0.238792905377,-0.238886004499,-0.238979101425,-0.239072196155,-0.239165288687,-0.239258379021,-0.239351467156,-0.239444553091,-0.239537636824,-0.239630718356,-0.239723797685,-0.239816874811,-0.239909949733,-0.240003022449,-0.240096092959,-0.240189161262,-0.240282227358,-0.240375291244,-0.240468352922,-0.240561412389,-0.240654469645,-0.240747524689,-0.24084057752,-0.240933628137,-0.241026676539,-0.241119722726,-0.241212766697,-0.241305808451,-0.241398847986,-0.241491885303,-0.2415849204,-0.241677953276,-0.241770983931,-0.241864012364,-0.241957038573,-0.242050062558,-0.242143084319,-0.242236103854,-0.242329121162,-0.242422136243,-0.242515149095,-0.242608159718,-0.242701168112,-0.242794174274,-0.242887178205,-0.242980179903,-0.243073179368,-0.243166176599,-0.243259171594,-0.243352164353,-0.243445154876,-0.243538143161,-0.243631129207,-0.243724113014,-0.24381709458,-0.243910073906,-0.24400305099,-0.24409602583,-0.244188998427,-0.24428196878,-0.244374936887,-0.244467902748,-0.244560866362,-0.244653827727,-0.244746786844,-0.244839743712,-0.244932698329,-0.245025650694,-0.245118600807,-0.245211548668,-0.245304494274,-0.245397437625,-0.245490378721,-0.245583317561,-0.245676254142,-0.245769188466,-0.245862120531,-0.245955050336,-0.24604797788,-0.246140903162,-0.246233826182,-0.246326746939,-0.246419665431,-0.246512581659,-0.24660549562,-0.246698407315,-0.246791316742,-0.246884223901,-0.24697712879,-0.247070031409,-0.247162931758,-0.247255829834,-0.247348725638,-0.247441619168,-0.247534510423,-0.247627399404,-0.247720286108,-0.247813170535,-0.247906052685,-0.247998932555,-0.248091810146,-0.248184685457,-0.248277558487,-0.248370429234,-0.248463297698,-0.248556163879,-0.248649027775,-0.248741889385,-0.248834748709,-0.248927605746,-0.249020460494,-0.249113312954,-0.249206163124,-0.249299011003,-0.249391856591,-0.249484699886,-0.249577540889,-0.249670379597,-0.24976321601,-0.249856050127,-0.249948881948,-0.250041711471,-0.250134538696,-0.250227363622,-0.250320186248,-0.250413006573,-0.250505824596,-0.250598640317,-0.250691453734,-0.250784264847,-0.250877073654,-0.250969880156,-0.251062684351,-0.251155486238,-0.251248285816,-0.251341083085,-0.251433878044,-0.251526670692,-0.251619461028,-0.25171224905,-0.25180503476,-0.251897818154,-0.251990599233,-0.252083377996,-0.252176154442,-0.25226892857,-0.25236170038,-0.252454469869,-0.252547237038,-0.252640001886,-0.252732764411,-0.252825524613,-0.252918282492,-0.253011038046,-0.253103791274,-0.253196542175,-0.25328929075,-0.253382036996,-0.253474780913,-0.2535675225,-0.253660261756,-0.253752998681,-0.253845733273,-0.253938465532,-0.254031195457,-0.254123923047,-0.254216648301,-0.254309371219,-0.254402091799,-0.25449481004,-0.254587525942,-0.254680239504,-0.254772950725,-0.254865659605,-0.254958366141,-0.255051070334,-0.255143772183,-0.255236471686,-0.255329168844,-0.255421863654,-0.255514556117,-0.255607246231,-0.255699933995,-0.25579261941,-0.255885302473,-0.255977983184,-0.256070661542,-0.256163337546,-0.256256011196,-0.25634868249,-0.256441351428,-0.256534018009,-0.256626682232,-0.256719344096,-0.2568120036,-0.256904660743,-0.256997315526,-0.257089967946,-0.257182618003,-0.257275265696,-0.257367911024,-0.257460553986,-0.257553194582,-0.257645832811,-0.257738468671,-0.257831102162,-0.257923733283,-0.258016362034,-0.258108988413,-0.258201612419,-0.258294234052,-0.258386853311,-0.258479470195,-0.258572084703,-0.258664696834,-0.258757306588,-0.258849913963,-0.258942518959,-0.259035121575,-0.25912772181,-0.259220319663,-0.259312915133,-0.25940550822,-0.259498098922,-0.259590687239,-0.25968327317,-0.259775856714,-0.25986843787,-0.259961016637,-0.260053593015,-0.260146167003,-0.2602387386,-0.260331307804,-0.260423874615,-0.260516439033,-0.260609001056,-0.260701560684,-0.260794117915,-0.260886672749,-0.260979225186,-0.261071775223,-0.26116432286,-0.261256868097,-0.261349410933,-0.261441951366,-0.261534489397,-0.261627025023,-0.261719558244,-0.26181208906,-0.261904617469,-0.261997143471,-0.262089667065,-0.262182188249,-0.262274707024,-0.262367223388,-0.26245973734,-0.26255224888,-0.262644758006,-0.262737264719,-0.262829769016,-0.262922270897,-0.263014770362,-0.263107267409,-0.263199762037,-0.263292254247,-0.263384744036,-0.263477231404,-0.263569716351,-0.263662198875,-0.263754678975,-0.263847156651,-0.263939631901,-0.264032104726,-0.264124575124,-0.264217043093,-0.264309508635,-0.264401971746,-0.264494432428,-0.264586890678,-0.264679346496,-0.264771799882,-0.264864250833,-0.26495669935,-0.265049145432,-0.265141589077,-0.265234030286,-0.265326469056,-0.265418905387,-0.265511339279,-0.26560377073,-0.26569619974,-0.265788626308,-0.265881050432,-0.265973472113,-0.266065891349,-0.266158308139,-0.266250722483,-0.266343134379,-0.266435543828,-0.266527950827,-0.266620355376,-0.266712757475,-0.266805157122,-0.266897554317,-0.266989949058,-0.267082341345,-0.267174731178,-0.267267118554,-0.267359503474,-0.267451885937,-0.267544265941,-0.267636643486,-0.26772901857,-0.267821391194,-0.267913761356,-0.268006129056,-0.268098494292,-0.268190857063,-0.26828321737,-0.268375575211,-0.268467930584,-0.26856028349,-0.268652633928,-0.268744981896,-0.268837327394,-0.26892967042,-0.269022010975,-0.269114349057,-0.269206684665,-0.269299017799,-0.269391348458,-0.26948367664,-0.269576002346,-0.269668325573,-0.269760646322,-0.269852964591,-0.269945280379,-0.270037593687,-0.270129904512,-0.270222212854,-0.270314518713,-0.270406822087,-0.270499122975,-0.270591421377,-0.270683717291,-0.270776010718,-0.270868301656,-0.270960590104,-0.271052876061,-0.271145159527,-0.2712374405,-0.271329718981,-0.271421994967,-0.271514268459,-0.271606539455,-0.271698807954,-0.271791073956,-0.271883337459,-0.271975598464,-0.272067856969,-0.272160112972,-0.272252366475,-0.272344617474,-0.272436865971,-0.272529111963,-0.27262135545,-0.272713596431,-0.272805834906,-0.272898070873,-0.272990304331,-0.273082535281,-0.27317476372,-0.273266989648,-0.273359213064,-0.273451433968,-0.273543652358,-0.273635868234,-0.273728081595,-0.27382029244,-0.273912500767,-0.274004706577,-0.274096909869,-0.274189110641,-0.274281308892,-0.274373504623,-0.274465697831,-0.274557888517,-0.274650076679,-0.274742262317,-0.274834445429,-0.274926626015,-0.275018804074,-0.275110979605,-0.275203152607,-0.275295323079,-0.275387491021,-0.275479656432,-0.275571819311,-0.275663979657,-0.275756137468,-0.275848292746,-0.275940445487,-0.276032595692,-0.27612474336,-0.27621688849,-0.276309031081,-0.276401171132,-0.276493308643,-0.276585443612,-0.276677576039,-0.276769705923,-0.276861833262,-0.276953958057,-0.277046080306,-0.277138200009,-0.277230317164,-0.277322431771,-0.277414543828,-0.277506653336,-0.277598760293,-0.277690864699,-0.277782966552,-0.277875065852,-0.277967162597,-0.278059256787,-0.278151348422,-0.2782434375,-0.27833552402,-0.278427607982,-0.278519689385,-0.278611768228,-0.278703844509,-0.278795918229,-0.278887989387,-0.27898005798,-0.27907212401,-0.279164187474,-0.279256248372,-0.279348306704,-0.279440362467,-0.279532415663,-0.279624466288,-0.279716514344,-0.279808559828,-0.279900602741,-0.27999264308,-0.280084680846,-0.280176716038,-0.280268748654,-0.280360778694,-0.280452806157,-0.280544831042,-0.280636853349,-0.280728873076,-0.280820890222,-0.280912904788,-0.281004916771,-0.281096926171,-0.281188932988,-0.281280937219,-0.281372938866,-0.281464937926,-0.281556934399,-0.281648928284,-0.28174091958,-0.281832908286,-0.281924894402,-0.282016877926,-0.282108858858,-0.282200837197,-0.282292812942,-0.282384786093,-0.282476756647,-0.282568724606,-0.282660689967,-0.282752652729,-0.282844612893,-0.282936570457,-0.28302852542,-0.283120477782,-0.283212427541,-0.283304374697,-0.283396319249,-0.283488261197,-0.283580200538,-0.283672137273,-0.2837640714,-0.283856002919,-0.283947931829,-0.284039858129,-0.284131781818,-0.284223702895,-0.28431562136,-0.284407537211,-0.284499450449,-0.284591361071,-0.284683269077,-0.284775174466,-0.284867077238,-0.284958977392,-0.285050874926,-0.28514276984,-0.285234662133,-0.285326551805,-0.285418438853,-0.285510323278,-0.285602205079,-0.285694084255,-0.285785960804,-0.285877834727,-0.285969706022,-0.286061574688,-0.286153440725,-0.286245304132,-0.286337164908,-0.286429023051,-0.286520878562,-0.286612731439,-0.286704581682,-0.286796429289,-0.286888274261,-0.286980116595,-0.287071956291,-0.287163793349,-0.287255627767,-0.287347459545,-0.287439288681,-0.287531115176,-0.287622939027,-0.287714760235,-0.287806578798,-0.287898394715,-0.287990207987,-0.288082018611,-0.288173826587,-0.288265631915,-0.288357434592,-0.288449234619,-0.288541031995,-0.288632826719,-0.288724618789,-0.288816408206,-0.288908194968,-0.288999979074,-0.289091760524,-0.289183539317,-0.289275315451,-0.289367088927,-0.289458859743,-0.289550627898,-0.289642393391,-0.289734156223,-0.289825916391,-0.289917673895,-0.290009428734,-0.290101180908,-0.290192930415,-0.290284677254,-0.290376421426,-0.290468162928,-0.290559901761,-0.290651637922,-0.290743371412,-0.29083510223,-0.290926830374,-0.291018555844,-0.291110278639,-0.291201998759,-0.291293716201,-0.291385430966,-0.291477143053,-0.291568852461,-0.291660559188,-0.291752263235,-0.2918439646,-0.291935663282,-0.292027359281,-0.292119052596,-0.292210743226,-0.292302431169,-0.292394116426,-0.292485798996,-0.292577478876,-0.292669156068,-0.292760830569,-0.29285250238,-0.292944171498,-0.293035837924,-0.293127501656,-0.293219162694,-0.293310821037,-0.293402476684,-0.293494129634,-0.293585779886,-0.293677427439,-0.293769072293,-0.293860714447,-0.2939523539,-0.29404399065,-0.294135624698,-0.294227256043,-0.294318884683,-0.294410510617,-0.294502133846,-0.294593754367,-0.294685372181,-0.294776987285,-0.294868599681,-0.294960209366,-0.295051816339,-0.295143420601,-0.29523502215,-0.295326620985,-0.295418217106,-0.295509810511,-0.295601401199,-0.295692989171,-0.295784574425,-0.29587615696,-0.295967736775,-0.29605931387,-0.296150888244,-0.296242459895,-0.296334028823,-0.296425595028,-0.296517158508,-0.296608719262,-0.29670027729,-0.296791832591,-0.296883385164,-0.296974935008,-0.297066482122,-0.297158026505,-0.297249568157,-0.297341107077,-0.297432643264,-0.297524176717,-0.297615707435,-0.297707235418,-0.297798760664,-0.297890283172,-0.297981802943,-0.298073319974,-0.298164834266,-0.298256345817,-0.298347854627,-0.298439360694,-0.298530864018,-0.298622364598,-0.298713862433,-0.298805357523,-0.298896849865,-0.298988339461,-0.299079826308,-0.299171310406,-0.299262791754,-0.299354270352,-0.299445746198,-0.299537219291,-0.299628689631,-0.299720157217,-0.299811622048,-0.299903084124,-0.299994543442,-0.300086000003,-0.300177453806,-0.30026890485,-0.300360353133,-0.300451798656,-0.300543241417,-0.300634681416,-0.300726118651,-0.300817553122,-0.300908984828,-0.301000413768,-0.301091839941,-0.301183263347,-0.301274683984,-0.301366101852,-0.30145751695,-0.301548929277,-0.301640338833,-0.301731745615,-0.301823149625,-0.301914550859,-0.302005949319,-0.302097345003,-0.30218873791,-0.302280128039,-0.30237151539,-0.302462899962,-0.302554281753,-0.302645660763,-0.302737036992,-0.302828410438,-0.3029197811,-0.303011148978,-0.30310251407,-0.303193876377,-0.303285235897,-0.303376592629,-0.303467946572,-0.303559297726,-0.30365064609,-0.303741991662,-0.303833334443,-0.303924674431,-0.304016011625,-0.304107346025,-0.30419867763,-0.304290006438,-0.30438133245,-0.304472655663,-0.304563976079,-0.304655293694,-0.304746608509,-0.304837920523,-0.304929229735,-0.305020536145,-0.30511183975,-0.305203140551,-0.305294438547,-0.305385733736,-0.305477026119,-0.305568315693,-0.305659602459,-0.305750886415,-0.305842167561,-0.305933445896,-0.306024721418,-0.306115994128,-0.306207264024,-0.306298531105,-0.306389795371,-0.30648105682,-0.306572315453,-0.306663571267,-0.306754824263,-0.306846074439,-0.306937321795,-0.307028566329,-0.307119808042,-0.307211046931,-0.307302282996,-0.307393516237,-0.307484746652,-0.307575974241,-0.307667199003,-0.307758420937,-0.307849640042,-0.307940856317,-0.308032069761,-0.308123280375,-0.308214488156,-0.308305693104,-0.308396895218,-0.308488094498,-0.308579290942,-0.308670484549,-0.308761675319,-0.308852863252,-0.308944048345,-0.309035230598,-0.309126410011,-0.309217586583,-0.309308760312,-0.309399931198,-0.309491099241,-0.309582264438,-0.30967342679,-0.309764586295,-0.309855742954,-0.309946896764,-0.310038047725,-0.310129195836,-0.310220341096,-0.310311483506,-0.310402623062,-0.310493759766,-0.310584893616,-0.31067602461,-0.31076715275,-0.310858278032,-0.310949400458,-0.311040520025,-0.311131636733,-0.311222750581,-0.311313861569,-0.311404969695,-0.311496074958,-0.311587177359,-0.311678276895,-0.311769373567,-0.311860467372,-0.311951558312,-0.312042646384,-0.312133731587,-0.312224813922,-0.312315893386,-0.31240696998,-0.312498043703,-0.312589114553,-0.312680182529,-0.312771247632,-0.31286230986,-0.312953369212,-0.313044425687,-0.313135479285,-0.313226530004,-0.313317577845,-0.313408622805,-0.313499664885,-0.313590704083,-0.313681740399,-0.313772773831,-0.31386380438,-0.313954832043,-0.31404585682,-0.314136878711,-0.314227897714,-0.314318913829,-0.314409927055,-0.314500937391,-0.314591944836,-0.31468294939,-0.314773951051,-0.314864949818,-0.314955945692,-0.31504693867,-0.315137928753,-0.315228915938,-0.315319900227,-0.315410881617,-0.315501860108,-0.315592835698,-0.315683808388,-0.315774778176,-0.315865745062,-0.315956709045,-0.316047670123,-0.316138628296,-0.316229583563,-0.316320535923,-0.316411485376,-0.316502431921,-0.316593375556,-0.316684316281,-0.316775254096,-0.316866188998,-0.316957120989,-0.317048050065,-0.317138976228,-0.317229899475,-0.317320819806,-0.317411737221,-0.317502651718,-0.317593563297,-0.317684471956,-0.317775377696,-0.317866280514,-0.317957180411,-0.318048077385,-0.318138971436,-0.318229862562,-0.318320750763,-0.318411636039,-0.318502518387,-0.318593397808,-0.318684274301,-0.318775147864,-0.318866018497,-0.318956886199,-0.31904775097,-0.319138612808,-0.319229471712,-0.319320327682,-0.319411180717,-0.319502030816,-0.319592877978,-0.319683722203,-0.319774563489,-0.319865401836,-0.319956237242,-0.320047069708,-0.320137899232,-0.320228725813,-0.320319549451,-0.320410370144,-0.320501187893,-0.320592002695,-0.320682814551,-0.320773623458,-0.320864429418,-0.320955232428,-0.321046032488,-0.321136829597,-0.321227623754,-0.321318414958,-0.321409203209,-0.321499988506,-0.321590770847,-0.321681550233,-0.321772326662,-0.321863100133,-0.321953870645,-0.322044638198,-0.322135402791,-0.322226164423,-0.322316923094,-0.322407678801,-0.322498431545,-0.322589181325,-0.322679928139,-0.322770671988,-0.322861412869,-0.322952150783,-0.323042885729,-0.323133617705,-0.323224346711,-0.323315072746,-0.323405795809,-0.3234965159,-0.323587233016,-0.323677947159,-0.323768658326,-0.323859366518,-0.323950071732,-0.324040773969,-0.324131473228,-0.324222169507,-0.324312862805,-0.324403553123,-0.324494240459,-0.324584924813,-0.324675606182,-0.324766284568,-0.324856959968,-0.324947632382,-0.32503830181,-0.325128968249,-0.3252196317,-0.325310292162,-0.325400949634,-0.325491604115,-0.325582255603,-0.325672904099,-0.325763549602,-0.32585419211,-0.325944831623,-0.32603546814,-0.326126101661,-0.326216732183,-0.326307359707,-0.326397984232,-0.326488605756,-0.32657922428,-0.326669839801,-0.32676045232,-0.326851061836,-0.326941668347,-0.327032271853,-0.327122872352,-0.327213469845,-0.327304064331,-0.327394655808,-0.327485244275,-0.327575829733,-0.327666412179,-0.327756991613,-0.327847568035,-0.327938141443,-0.328028711837,-0.328119279216,-0.328209843579,-0.328300404925,-0.328390963253,-0.328481518563,-0.328572070854,-0.328662620124,-0.328753166373,-0.328843709601,-0.328934249806,-0.329024786987,-0.329115321144,-0.329205852276,-0.329296380382,-0.329386905461,-0.329477427512,-0.329567946535,-0.329658462529,-0.329748975492,-0.329839485424,-0.329929992325,-0.330020496193,-0.330110997028,-0.330201494828,-0.330291989593,-0.330382481322,-0.330472970014,-0.330563455669,-0.330653938285,-0.330744417862,-0.330834894399,-0.330925367895,-0.331015838349,-0.33110630576,-0.331196770128,-0.331287231451,-0.33137768973,-0.331468144962,-0.331558597148,-0.331649046286,-0.331739492376,-0.331829935416,-0.331920375407,-0.332010812346,-0.332101246234,-0.332191677069,-0.33228210485,-0.332372529578,-0.33246295125,-0.332553369866,-0.332643785426,-0.332734197927,-0.332824607371,-0.332915013755,-0.333005417079,-0.333095817343,-0.333186214544,-0.333276608683,-0.333366999759,-0.33345738777,-0.333547772716,-0.333638154596,-0.33372853341,-0.333818909156,-0.333909281834,-0.333999651442,-0.33409001798,-0.334180381448,-0.334270741844,-0.334361099167,-0.334451453417,-0.334541804592,-0.334632152693,-0.334722497718,-0.334812839666,-0.334903178536,-0.334993514328,-0.335083847041,-0.335174176674,-0.335264503226,-0.335354826697,-0.335445147085,-0.335535464389,-0.335625778609,-0.335716089745,-0.335806397794,-0.335896702757,-0.335987004633,-0.33607730342,-0.336167599118,-0.336257891726,-0.336348181243,-0.336438467668,-0.336528751001,-0.336619031241,-0.336709308387,-0.336799582437,-0.336889853392,-0.33698012125,-0.337070386011,-0.337160647674,-0.337250906237,-0.337341161701,-0.337431414063,-0.337521663324,-0.337611909483,-0.337702152538,-0.33779239249,-0.337882629336,-0.337972863077,-0.338063093711,-0.338153321238,-0.338243545656,-0.338333766966,-0.338423985165,-0.338514200254,-0.338604412231,-0.338694621096,-0.338784826848,-0.338875029485,-0.338965229008,-0.339055425415,-0.339145618705,-0.339235808879,-0.339325995934,-0.33941617987,-0.339506360686,-0.339596538381,-0.339686712955,-0.339776884407,-0.339867052735,-0.33995721794,-0.340047380019,-0.340137538974,-0.340227694801,-0.340317847501,-0.340407997074,-0.340498143517,-0.34058828683,-0.340678427013,-0.340768564064,-0.340858697983,-0.340948828769,-0.341038956421,-0.341129080939,-0.34121920232,-0.341309320566,-0.341399435674,-0.341489547644,-0.341579656475,-0.341669762166,-0.341759864717,-0.341849964126,-0.341940060393,-0.342030153518,-0.342120243498,-0.342210330333,-0.342300414024,-0.342390494567,-0.342480571964,-0.342570646212,-0.342660717312,-0.342750785262,-0.342840850062,-0.34293091171,-0.343020970206,-0.343111025549,-0.343201077738,-0.343291126773,-0.343381172652,-0.343471215375,-0.343561254941,-0.343651291349,-0.343741324598,-0.343831354687,-0.343921381616,-0.344011405384,-0.34410142599,-0.344191443433,-0.344281457712,-0.344371468826,-0.344461476776,-0.344551481559,-0.344641483174,-0.344731481622,-0.344821476902,-0.344911469012,-0.345001457951,-0.345091443719,-0.345181426316,-0.345271405739,-0.345361381989,-0.345451355064,-0.345541324964,-0.345631291688,-0.345721255235,-0.345811215604,-0.345901172794,-0.345991126805,-0.346081077636,-0.346171025285,-0.346260969753,-0.346350911038,-0.346440849139,-0.346530784056,-0.346620715788,-0.346710644334,-0.346800569692,-0.346890491863,-0.346980410846,-0.347070326639,-0.347160239242,-0.347250148654,-0.347340054874,-0.347429957901,-0.347519857735,-0.347609754375,-0.347699647819,-0.347789538067,-0.347879425119,-0.347969308973,-0.348059189629,-0.348149067085,-0.348238941341,-0.348328812396,-0.348418680249,-0.3485085449,-0.348598406348,-0.348688264591,-0.348778119629,-0.348867971461,-0.348957820087,-0.349047665505,-0.349137507714,-0.349227346714,-0.349317182505,-0.349407015084,-0.349496844452,-0.349586670607,-0.349676493549,-0.349766313277,-0.34985612979,-0.349945943087,-0.350035753168,-0.350125560031,-0.350215363675,-0.350305164101,-0.350394961307,-0.350484755292,-0.350574546055,-0.350664333596,-0.350754117913,-0.350843899007,-0.350933676876,-0.351023451519,-0.351113222935,-0.351202991125,-0.351292756086,-0.351382517818,-0.35147227632,-0.351562031591,-0.351651783631,-0.351741532439,-0.351831278013,-0.351921020354,-0.35201075946,-0.35210049533,-0.352190227964,-0.35227995736,-0.352369683519,-0.352459406438,-0.352549126118,-0.352638842557,-0.352728555755,-0.352818265711,-0.352907972424,-0.352997675892,-0.353087376116,-0.353177073095,-0.353266766827,-0.353356457312,-0.353446144549,-0.353535828538,-0.353625509277,-0.353715186765,-0.353804861002,-0.353894531987,-0.353984199719,-0.354073864197,-0.35416352542,-0.354253183389,-0.354342838101,-0.354432489556,-0.354522137753,-0.354611782691,-0.35470142437,-0.354791062789,-0.354880697946,-0.354970329842,-0.355059958474,-0.355149583843,-0.355239205948,-0.355328824787,-0.35541844036,-0.355508052666,-0.355597661705,-0.355687267475,-0.355776869975,-0.355866469205,-0.355956065165,-0.356045657852,-0.356135247267,-0.356224833408,-0.356314416274,-0.356403995866,-0.356493572182,-0.35658314522,-0.356672714982,-0.356762281464,-0.356851844668,-0.356941404591,-0.357030961233,-0.357120514594,-0.357210064672,-0.357299611467,-0.357389154977,-0.357478695203,-0.357568232142,-0.357657765795,-0.35774729616,-0.357836823237,-0.357926347025,-0.358015867523,-0.35810538473,-0.358194898645,-0.358284409268,-0.358373916598,-0.358463420634,-0.358552921374,-0.358642418819,-0.358731912968,-0.358821403819,-0.358910891371,-0.359000375625,-0.359089856579,-0.359179334232,-0.359268808584,-0.359358279633,-0.35944774738,-0.359537211822,-0.359626672959,-0.359716130791,-0.359805585317,-0.359895036535,-0.359984484445,-0.360073929046,-0.360163370338,-0.360252808319,-0.360342242988,-0.360431674346,-0.36052110239,-0.360610527121,-0.360699948537,-0.360789366637,-0.360878781421,-0.360968192888,-0.361057601037,-0.361147005867,-0.361236407378,-0.361325805568,-0.361415200438,-0.361504591985,-0.361593980209,-0.361683365109,-0.361772746685,-0.361862124936,-0.36195149986,-0.362040871458,-0.362130239727,-0.362219604668,-0.36230896628,-0.362398324561,-0.362487679511,-0.36257703113,-0.362666379415,-0.362755724367,-0.362845065985,-0.362934404268,-0.363023739214,-0.363113070824,-0.363202399096,-0.363291724029,-0.363381045623,-0.363470363877,-0.36355967879,-0.363648990362,-0.363738298591,-0.363827603476,-0.363916905017,-0.364006203213,-0.364095498064,-0.364184789567,-0.364274077723,-0.364363362531,-0.364452643989,-0.364541922098,-0.364631196856,-0.364720468262,-0.364809736316,-0.364899001016,-0.364988262363,-0.365077520354,-0.36516677499,-0.365256026269,-0.365345274191,-0.365434518755,-0.36552375996,-0.365612997805,-0.365702232289,-0.365791463412,-0.365880691173,-0.36596991557,-0.366059136604,-0.366148354272,-0.366237568576,-0.366326779513,-0.366415987082,-0.366505191284,-0.366594392117,-0.36668358958,-0.366772783673,-0.366861974394,-0.366951161743,-0.36704034572,-0.367129526322,-0.36721870355,-0.367307877403,-0.367397047879,-0.367486214979,-0.3675753787,-0.367664539043,-0.367753696007,-0.36784284959,-0.367931999792,-0.368021146612,-0.368110290049,-0.368199430102,-0.368288566771,-0.368377700055,-0.368466829953,-0.368555956464,-0.368645079588,-0.368734199323,-0.368823315668,-0.368912428624,-0.369001538188,-0.369090644361,-0.369179747141,-0.369268846527,-0.36935794252,-0.369447035117,-0.369536124318,-0.369625210123,-0.36971429253,-0.369803371539,-0.369892447149,-0.369981519359,-0.370070588168,-0.370159653575,-0.37024871558,-0.370337774182,-0.370426829379,-0.370515881172,-0.370604929559,-0.37069397454,-0.370783016113,-0.370872054278,-0.370961089034,-0.37105012038,-0.371139148316,-0.37122817284,-0.371317193952,-0.371406211651,-0.371495225936,-0.371584236806,-0.371673244261,-0.371762248299,-0.37185124892,-0.371940246124,-0.372029239908,-0.372118230273,-0.372207217218,-0.372296200741,-0.372385180842,-0.37247415752,-0.372563130775,-0.372652100605,-0.37274106701,-0.372830029988,-0.37291898954,-0.373007945663,-0.373096898359,-0.373185847624,-0.37327479346,-0.373363735864,-0.373452674837,-0.373541610377,-0.373630542483,-0.373719471155,-0.373808396392,-0.373897318193,-0.373986236557,-0.374075151483,-0.374164062971,-0.37425297102,-0.374341875629,-0.374430776797,-0.374519674523,-0.374608568807,-0.374697459647,-0.374786347044,-0.374875230995,-0.374964111501,-0.37505298856,-0.375141862171,-0.375230732334,-0.375319599049,-0.375408462313,-0.375497322127,-0.375586178489,-0.375675031399,-0.375763880856,-0.375852726859,-0.375941569407,-0.3760304085,-0.376119244136,-0.376208076315,-0.376296905036,-0.376385730298,-0.3764745521,-0.376563370442,-0.376652185323,-0.376740996741,-0.376829804697,-0.376918609189,-0.377007410216,-0.377096207778,-0.377185001874,-0.377273792503,-0.377362579664,-0.377451363356,-0.377540143579,-0.377628920332,-0.377717693613,-0.377806463423,-0.37789522976,-0.377983992623,-0.378072752012,-0.378161507926,-0.378250260364,-0.378339009325,-0.378427754809,-0.378516496814,-0.37860523534,-0.378693970385,-0.37878270195,-0.378871430034,-0.378960154634,-0.379048875752,-0.379137593385,-0.379226307533,-0.379315018196,-0.379403725372,-0.37949242906,-0.37958112926,-0.379669825972,-0.379758519193,-0.379847208924,-0.379935895163,-0.38002457791,-0.380113257164,-0.380201932924,-0.38029060519,-0.380379273959,-0.380467939233,-0.380556601009,-0.380645259287,-0.380733914067,-0.380822565346,-0.380911213126,-0.380999857404,-0.38108849818,-0.381177135453,-0.381265769222,-0.381354399487,-0.381443026247,-0.3815316495,-0.381620269247,-0.381708885485,-0.381797498215,-0.381886107436,-0.381974713147,-0.382063315346,-0.382151914034,-0.382240509209,-0.38232910087,-0.382417689017,-0.382506273649,-0.382594854766,-0.382683432365,-0.382772006447,-0.382860577011,-0.382949144055,-0.383037707579,-0.383126267583,-0.383214824065,-0.383303377024,-0.383391926461,-0.383480472373,-0.38356901476,-0.383657553622,-0.383746088957,-0.383834620765,-0.383923149045,-0.384011673796,-0.384100195017,-0.384188712707,-0.384277226867,-0.384365737494,-0.384454244587,-0.384542748148,-0.384631248173,-0.384719744663,-0.384808237617,-0.384896727034,-0.384985212912,-0.385073695252,-0.385162174053,-0.385250649313,-0.385339121032,-0.38542758921,-0.385516053844,-0.385604514935,-0.385692972481,-0.385781426482,-0.385869876938,-0.385958323846,-0.386046767207,-0.386135207019,-0.386223643282,-0.386312075995,-0.386400505157,-0.386488930767,-0.386577352825,-0.386665771329,-0.38675418628,-0.386842597675,-0.386931005514,-0.387019409797,-0.387107810523,-0.38719620769,-0.387284601299,-0.387372991347,-0.387461377835,-0.387549760761,-0.387638140125,-0.387726515926,-0.387814888164,-0.387903256836,-0.387991621943,-0.388079983483,-0.388168341457,-0.388256695862,-0.388345046699,-0.388433393966,-0.388521737663,-0.388610077788,-0.388698414342,-0.388786747322,-0.388875076729,-0.388963402562,-0.389051724819,-0.3891400435,-0.389228358604,-0.389316670131,-0.389404978079,-0.389493282448,-0.389581583236,-0.389669880444,-0.38975817407,-0.389846464113,-0.389934750573,-0.390023033449,-0.39011131274,-0.390199588444,-0.390287860563,-0.390376129094,-0.390464394036,-0.39055265539,-0.390640913153,-0.390729167326,-0.390817417908,-0.390905664897,-0.390993908293,-0.391082148095,-0.391170384302,-0.391258616914,-0.391346845929,-0.391435071348,-0.391523293168,-0.391611511389,-0.391699726011,-0.391787937033,-0.391876144453,-0.391964348271,-0.392052548486,-0.392140745098,-0.392228938105,-0.392317127507,-0.392405313303,-0.392493495492,-0.392581674073,-0.392669849046,-0.392758020409,-0.392846188162,-0.392934352304,-0.393022512835,-0.393110669753,-0.393198823057,-0.393286972747,-0.393375118823,-0.393463261282,-0.393551400125,-0.39363953535,-0.393727666957,-0.393815794945,-0.393903919314,-0.393992040061,-0.394080157187,-0.394168270691,-0.394256380571,-0.394344486828,-0.39443258946,-0.394520688466,-0.394608783847,-0.394696875599,-0.394784963724,-0.394873048221,-0.394961129087,-0.395049206323,-0.395137279928,-0.395225349901,-0.395313416241,-0.395401478948,-0.39548953802,-0.395577593457,-0.395665645257,-0.395753693421,-0.395841737947,-0.395929778835,-0.396017816083,-0.396105849692,-0.396193879659,-0.396281905985,-0.396369928668,-0.396457947707,-0.396545963103,-0.396633974854,-0.396721982958,-0.396809987417,-0.396897988228,-0.39698598539,-0.397073978904,-0.397161968768,-0.397249954981,-0.397337937543,-0.397425916452,-0.397513891709,-0.397601863311,-0.397689831259,-0.397777795552,-0.397865756188,-0.397953713167,-0.398041666488,-0.39812961615,-0.398217562153,-0.398305504496,-0.398393443177,-0.398481378197,-0.398569309554,-0.398657237247,-0.398745161276,-0.398833081639,-0.398920998337,-0.399008911368,-0.399096820731,-0.399184726426,-0.399272628452,-0.399360526807,-0.399448421492,-0.399536312505,-0.399624199846,-0.399712083513,-0.399799963506,-0.399887839825,-0.399975712468,-0.400063581434,-0.400151446723,-0.400239308334,-0.400327166266,-0.400415020518,-0.40050287109,-0.40059071798,-0.400678561188,-0.400766400714,-0.400854236555,-0.400942068712,-0.401029897184,-0.401117721969,-0.401205543067,-0.401293360478,-0.4013811742,-0.401468984233,-0.401556790575,-0.401644593226,-0.401732392186,-0.401820187453,-0.401907979026,-0.401995766905,-0.40208355109,-0.402171331578,-0.402259108369,-0.402346881464,-0.402434650859,-0.402522416556,-0.402610178553,-0.402697936849,-0.402785691444,-0.402873442336,-0.402961189525,-0.40304893301,-0.403136672791,-0.403224408866,-0.403312141235,-0.403399869896,-0.403487594849,-0.403575316094,-0.403663033629,-0.403750747454,-0.403838457568,-0.403926163969,-0.404013866658,-0.404101565633,-0.404189260894,-0.404276952439,-0.404364640269,-0.404452324382,-0.404540004777,-0.404627681453,-0.40471535441,-0.404803023648,-0.404890689164,-0.404978350959,-0.405066009031,-0.40515366338,-0.405241314005,-0.405328960905,-0.405416604079,-0.405504243527,-0.405591879248,-0.40567951124,-0.405767139503,-0.405854764037,-0.40594238484,-0.406030001912,-0.406117615252,-0.406205224859,-0.406292830732,-0.40638043287,-0.406468031273,-0.40655562594,-0.40664321687,-0.406730804063,-0.406818387516,-0.40690596723,-0.406993543204,-0.407081115438,-0.407168683929,-0.407256248677,-0.407343809683,-0.407431366944,-0.40751892046,-0.40760647023,-0.407694016253,-0.407781558529,-0.407869097057,-0.407956631836,-0.408044162865,-0.408131690143,-0.40821921367,-0.408306733445,-0.408394249466,-0.408481761734,-0.408569270247,-0.408656775004,-0.408744276005,-0.40883177325,-0.408919266736,-0.409006756463,-0.409094242431,-0.409181724639,-0.409269203086,-0.40935667777,-0.409444148692,-0.409531615851,-0.409619079245,-0.409706538874,-0.409793994737,-0.409881446833,-0.409968895162,-0.410056339722,-0.410143780514,-0.410231217535,-0.410318650785,-0.410406080264,-0.410493505971,-0.410580927905,-0.410668346064,-0.410755760449,-0.410843171058,-0.410930577891,-0.411017980946,-0.411105380224,-0.411192775723,-0.411280167442,-0.411367555381,-0.411454939538,-0.411542319914,-0.411629696507,-0.411717069316,-0.41180443834,-0.41189180358,-0.411979165034,-0.4120665227,-0.412153876579,-0.41224122667,-0.412328572971,-0.412415915483,-0.412503254203,-0.412590589132,-0.412677920268,-0.412765247612,-0.412852571161,-0.412939890915,-0.413027206874,-0.413114519036,-0.413201827401,-0.413289131968,-0.413376432736,-0.413463729704,-0.413551022872,-0.413638312238,-0.413725597803,-0.413812879565,-0.413900157523,-0.413987431676,-0.414074702024,-0.414161968566,-0.414249231301,-0.414336490229,-0.414423745348,-0.414510996658,-0.414598244157,-0.414685487846,-0.414772727723,-0.414859963788,-0.414947196039,-0.415034424476,-0.415121649098,-0.415208869905,-0.415296086895,-0.415383300068,-0.415470509422,-0.415557714958,-0.415644916674,-0.415732114569,-0.415819308643,-0.415906498895,-0.415993685324,-0.41608086793,-0.41616804671,-0.416255221666,-0.416342392795,-0.416429560098,-0.416516723572,-0.416603883218,-0.416691039035,-0.416778191022,-0.416865339178,-0.416952483502,-0.417039623993,-0.417126760651,-0.417213893475,-0.417301022464,-0.417388147618,-0.417475268935,-0.417562386414,-0.417649500055,-0.417736609858,-0.41782371582,-0.417910817942,-0.417997916223,-0.418085010662,-0.418172101257,-0.418259188009,-0.418346270916,-0.418433349978,-0.418520425194,-0.418607496563,-0.418694564084,-0.418781627757,-0.41886868758,-0.418955743553,-0.419042795675,-0.419129843945,-0.419216888363,-0.419303928928,-0.419390965638,-0.419477998493,-0.419565027493,-0.419652052636,-0.419739073922,-0.419826091349,-0.419913104918,-0.420000114627,-0.420087120475,-0.420174122462,-0.420261120587,-0.420348114849,-0.420435105247,-0.42052209178,-0.420609074448,-0.42069605325,-0.420783028186,-0.420869999253,-0.420956966452,-0.421043929781,-0.42113088924,-0.421217844829,-0.421304796545,-0.42139174439,-0.42147868836,-0.421565628457,-0.421652564679,-0.421739497024,-0.421826425494,-0.421913350086,-0.4220002708,-0.422087187635,-0.42217410059,-0.422261009665,-0.422347914858,-0.422434816169,-0.422521713598,-0.422608607142,-0.422695496802,-0.422782382577,-0.422869264466,-0.422956142467,-0.423043016581,-0.423129886807,-0.423216753143,-0.423303615589,-0.423390474144,-0.423477328807,-0.423564179578,-0.423651026456,-0.423737869439,-0.423824708528,-0.42391154372,-0.423998375017,-0.424085202416,-0.424172025917,-0.424258845519,-0.424345661221,-0.424432473023,-0.424519280923,-0.424606084922,-0.424692885017,-0.424779681209,-0.424866473496,-0.424953261879,-0.425040046355,-0.425126826924,-0.425213603585,-0.425300376338,-0.425387145182,-0.425473910116,-0.425560671138,-0.42564742825,-0.425734181448,-0.425820930734,-0.425907676105,-0.425994417562,-0.426081155102,-0.426167888727,-0.426254618434,-0.426341344223,-0.426428066093,-0.426514784044,-0.426601498074,-0.426688208183,-0.42677491437,-0.426861616634,-0.426948314975,-0.427035009391,-0.427121699882,-0.427208386447,-0.427295069085,-0.427381747795,-0.427468422577,-0.42755509343,-0.427641760353,-0.427728423345,-0.427815082406,-0.427901737534,-0.427988388729,-0.42807503599,-0.428161679316,-0.428248318707,-0.428334954161,-0.428421585678,-0.428508213257,-0.428594836897,-0.428681456598,-0.428768072359,-0.428854684178,-0.428941292055,-0.42902789599,-0.429114495981,-0.429201092028,-0.42928768413,-0.429374272285,-0.429460856494,-0.429547436756,-0.429634013069,-0.429720585433,-0.429807153847,-0.429893718311,-0.429980278823,-0.430066835383,-0.430153387989,-0.430239936642,-0.43032648134,-0.430413022083,-0.430499558869,-0.430586091698,-0.43067262057,-0.430759145483,-0.430845666436,-0.430932183429,-0.431018696461,-0.431105205531,-0.431191710639,-0.431278211783,-0.431364708963,-0.431451202178,-0.431537691427,-0.43162417671,-0.431710658025,-0.431797135372,-0.43188360875,-0.431970078158,-0.432056543596,-0.432143005062,-0.432229462556,-0.432315916077,-0.432402365625,-0.432488811198,-0.432575252795,-0.432661690416,-0.432748124061,-0.432834553727,-0.432920979416,-0.433007401124,-0.433093818853,-0.433180232601,-0.433266642367,-0.433353048151,-0.433439449951,-0.433525847767,-0.433612241599,-0.433698631444,-0.433785017304,-0.433871399176,-0.43395777706,-0.434044150955,-0.43413052086,-0.434216886775,-0.434303248699,-0.434389606631,-0.43447596057,-0.434562310515,-0.434648656466,-0.434734998422,-0.434821336381,-0.434907670344,-0.43499400031,-0.435080326277,-0.435166648245,-0.435252966213,-0.43533928018,-0.435425590145,-0.435511896108,-0.435598198069,-0.435684496025,-0.435770789976,-0.435857079922,-0.435943365862,-0.436029647794,-0.436115925719,-0.436202199635,-0.436288469542,-0.436374735438,-0.436460997323,-0.436547255196,-0.436633509057,-0.436719758904,-0.436806004737,-0.436892246555,-0.436978484357,-0.437064718143,-0.437150947911,-0.437237173661,-0.437323395392,-0.437409613103,-0.437495826794,-0.437582036463,-0.43766824211,-0.437754443734,-0.437840641334,-0.43792683491,-0.438013024461,-0.438099209985,-0.438185391483,-0.438271568952,-0.438357742394,-0.438443911806,-0.438530077188,-0.438616238539,-0.438702395858,-0.438788549145,-0.438874698398,-0.438960843618,-0.439046984803,-0.439133121952,-0.439219255065,-0.43930538414,-0.439391509178,-0.439477630176,-0.439563747135,-0.439649860054,-0.439735968932,-0.439822073767,-0.43990817456,-0.43999427131,-0.440080364015,-0.440166452675,-0.440252537288,-0.440338617856,-0.440424694375,-0.440510766847,-0.440596835269,-0.440682899642,-0.440768959964,-0.440855016234,-0.440941068452,-0.441027116617,-0.441113160729,-0.441199200785,-0.441285236787,-0.441371268732,-0.44145729662,-0.44154332045,-0.441629340222,-0.441715355934,-0.441801367586,-0.441887375178,-0.441973378707,-0.442059378174,-0.442145373578,-0.442231364918,-0.442317352192,-0.442403335401,-0.442489314544,-0.442575289619,-0.442661260626,-0.442747227565,-0.442833190433,-0.442919149232,-0.443005103959,-0.443091054614,-0.443177001196,-0.443262943705,-0.443348882139,-0.443434816498,-0.443520746781,-0.443606672988,-0.443692595117,-0.443778513167,-0.443864427139,-0.44395033703,-0.444036242841,-0.44412214457,-0.444208042218,-0.444293935782,-0.444379825262,-0.444465710657,-0.444551591967,-0.444637469191,-0.444723342328,-0.444809211377,-0.444895076338,-0.444980937209,-0.44506679399,-0.44515264668,-0.445238495278,-0.445324339783,-0.445410180196,-0.445496016514,-0.445581848737,-0.445667676865,-0.445753500896,-0.44583932083,-0.445925136666,-0.446010948403,-0.44609675604,-0.446182559577,-0.446268359013,-0.446354154346,-0.446439945577,-0.446525732705,-0.446611515728,-0.446697294645,-0.446783069457,-0.446868840162,-0.44695460676,-0.447040369249,-0.447126127629,-0.4472118819,-0.447297632059,-0.447383378108,-0.447469120043,-0.447554857866,-0.447640591575,-0.44772632117,-0.447812046649,-0.447897768012,-0.447983485257,-0.448069198386,-0.448154907395,-0.448240612285,-0.448326313055,-0.448412009704,-0.448497702232,-0.448583390637,-0.448669074918,-0.448754755076,-0.448840431109,-0.448926103016,-0.449011770796,-0.44909743445,-0.449183093975,-0.449268749372,-0.449354400639,-0.449440047776,-0.449525690781,-0.449611329655,-0.449696964395,-0.449782595003,-0.449868221476,-0.449953843814,-0.450039462016,-0.450125076081,-0.450210686009,-0.450296291799,-0.450381893449,-0.45046749096,-0.45055308433,-0.450638673559,-0.450724258646,-0.45080983959,-0.45089541639,-0.450980989045,-0.451066557555,-0.451152121919,-0.451237682136,-0.451323238206,-0.451408790127,-0.451494337898,-0.45157988152,-0.451665420991,-0.45175095631,-0.451836487477,-0.451922014491,-0.45200753735,-0.452093056055,-0.452178570605,-0.452264080998,-0.452349587234,-0.452435089312,-0.452520587231,-0.452606080991,-0.452691570591,-0.452777056029,-0.452862537306,-0.45294801442,-0.453033487371,-0.453118956157,-0.453204420779,-0.453289881235,-0.453375337524,-0.453460789646,-0.4535462376,-0.453631681385,-0.453717121,-0.453802556445,-0.453887987718,-0.45397341482,-0.454058837749,-0.454144256504,-0.454229671084,-0.45431508149,-0.454400487719,-0.454485889772,-0.454571287647,-0.454656681344,-0.454742070862,-0.4548274562,-0.454912837357,-0.454998214333,-0.455083587126,-0.455168955737,-0.455254320163,-0.455339680406,-0.455425036462,-0.455510388333,-0.455595736016,-0.455681079512,-0.455766418819,-0.455851753937,-0.455937084865,-0.456022411602,-0.456107734148,-0.456193052501,-0.45627836666,-0.456363676626,-0.456448982397,-0.456534283972,-0.456619581351,-0.456704874533,-0.456790163517,-0.456875448302,-0.456960728888,-0.457046005273,-0.457131277457,-0.45721654544,-0.457301809219,-0.457387068796,-0.457472324168,-0.457557575335,-0.457642822297,-0.457728065051,-0.457813303599,-0.457898537938,-0.457983768069,-0.45806899399,-0.4581542157,-0.458239433199,-0.458324646486,-0.45840985556,-0.458495060421,-0.458580261067,-0.458665457498,-0.458750649713,-0.458835837712,-0.458921021492,-0.459006201055,-0.459091376398,-0.459176547522,-0.459261714425,-0.459346877106,-0.459432035566,-0.459517189802,-0.459602339814,-0.459687485602,-0.459772627165,-0.459857764501,-0.459942897611,-0.460028026493,-0.460113151146,-0.46019827157,-0.460283387764,-0.460368499727,-0.460453607459,-0.460538710958,-0.460623810224,-0.460708905256,-0.460793996054,-0.460879082616,-0.460964164941,-0.46104924303,-0.46113431688,-0.461219386492,-0.461304451865,-0.461389512997,-0.461474569888,-0.461559622538,-0.461644670945,-0.461729715108,-0.461814755028,-0.461899790702,-0.461984822131,-0.462069849314,-0.462154872249,-0.462239890936,-0.462324905375,-0.462409915563,-0.462494921502,-0.462579923189,-0.462664920624,-0.462749913807,-0.462834902736,-0.462919887411,-0.463004867831,-0.463089843995,-0.463174815902,-0.463259783552,-0.463344746944,-0.463429706076,-0.463514660949,-0.463599611562,-0.463684557913,-0.463769500002,-0.463854437828,-0.463939371391,-0.464024300689,-0.464109225722,-0.464194146489,-0.464279062989,-0.464363975222,-0.464448883186,-0.464533786881,-0.464618686306,-0.464703581461,-0.464788472344,-0.464873358955,-0.464958241293,-0.465043119357,-0.465127993146,-0.46521286266,-0.465297727898,-0.46538258886,-0.465467445543,-0.465552297948,-0.465637146073,-0.465721989919,-0.465806829484,-0.465891664767,-0.465976495768,-0.466061322486,-0.466146144919,-0.466230963068,-0.466315776932,-0.466400586509,-0.466485391799,-0.466570192802,-0.466654989516,-0.46673978194,-0.466824570074,-0.466909353917,-0.466994133469,-0.467078908728,-0.467163679694,-0.467248446365,-0.467333208742,-0.467417966823,-0.467502720608,-0.467587470095,-0.467672215285,-0.467756956176,-0.467841692767,-0.467926425058,-0.468011153048,-0.468095876736,-0.468180596122,-0.468265311204,-0.468350021982,-0.468434728455,-0.468519430622,-0.468604128483,-0.468688822036,-0.468773511281,-0.468858196217,-0.468942876844,-0.46902755316,-0.469112225165,-0.469196892859,-0.469281556239,-0.469366215306,-0.469450870058,-0.469535520496,-0.469620166617,-0.469704808422,-0.46978944591,-0.469874079079,-0.469958707929,-0.47004333246,-0.47012795267,-0.470212568558,-0.470297180125,-0.470381787369,-0.470466390289,-0.470550988884,-0.470635583155,-0.470720173099,-0.470804758717,-0.470889340007,-0.470973916969,-0.471058489601,-0.471143057904,-0.471227621877,-0.471312181517,-0.471396736826,-0.471481287802,-0.471565834443,-0.471650376751,-0.471734914723,-0.471819448359,-0.471903977658,-0.471988502619,-0.472073023242,-0.472157539526,-0.47224205147,-0.472326559073,-0.472411062335,-0.472495561254,-0.47258005583,-0.472664546063,-0.47274903195,-0.472833513493,-0.472917990689,-0.473002463538,-0.473086932039,-0.473171396192,-0.473255855996,-0.47334031145,-0.473424762552,-0.473509209303,-0.473593651702,-0.473678089748,-0.473762523439,-0.473846952776,-0.473931377757,-0.474015798383,-0.474100214651,-0.474184626561,-0.474269034112,-0.474353437305,-0.474437836137,-0.474522230608,-0.474606620717,-0.474691006464,-0.474775387848,-0.474859764868,-0.474944137522,-0.475028505812,-0.475112869735,-0.47519722929,-0.475281584478,-0.475365935297,-0.475450281747,-0.475534623827,-0.475618961535,-0.475703294872,-0.475787623836,-0.475871948427,-0.475956268643,-0.476040584485,-0.476124895951,-0.476209203041,-0.476293505753,-0.476377804088,-0.476462098044,-0.47654638762,-0.476630672816,-0.47671495363,-0.476799230063,-0.476883502114,-0.47696776978,-0.477052033063,-0.477136291961,-0.477220546473,-0.477304796598,-0.477389042337,-0.477473283687,-0.477557520648,-0.47764175322,-0.477725981401,-0.477810205191,-0.477894424589,-0.477978639595,-0.478062850207,-0.478147056425,-0.478231258248,-0.478315455675,-0.478399648705,-0.478483837338,-0.478568021573,-0.478652201409,-0.478736376845,-0.478820547881,-0.478904714516,-0.478988876749,-0.479073034579,-0.479157188005,-0.479241337027,-0.479325481644,-0.479409621856,-0.47949375766,-0.479577889057,-0.479662016046,-0.479746138626,-0.479830256797,-0.479914370556,-0.479998479905,-0.480082584841,-0.480166685365,-0.480250781475,-0.480334873171,-0.480418960451,-0.480503043316,-0.480587121764,-0.480671195795,-0.480755265407,-0.4808393306,-0.480923391374,-0.481007447727,-0.481091499659,-0.481175547168,-0.481259590255,-0.481343628918,-0.481427663157,-0.48151169297,-0.481595718358,-0.481679739319,-0.481763755852,-0.481847767957,-0.481931775633,-0.482015778879,-0.482099777695,-0.482183772079,-0.482267762031,-0.482351747551,-0.482435728636,-0.482519705287,-0.482603677503,-0.482687645283,-0.482771608626,-0.482855567532,-0.482939521999,-0.483023472027,-0.483107417616,-0.483191358763,-0.48327529547,-0.483359227734,-0.483443155555,-0.483527078933,-0.483610997866,-0.483694912354,-0.483778822396,-0.483862727991,-0.483946629138,-0.484030525837,-0.484114418087,-0.484198305888,-0.484282189237,-0.484366068135,-0.484449942581,-0.484533812574,-0.484617678113,-0.484701539198,-0.484785395827,-0.484869248001,-0.484953095717,-0.485036938976,-0.485120777777,-0.485204612119,-0.485288442,-0.485372267421,-0.485456088381,-0.485539904878,-0.485623716912,-0.485707524483,-0.485791327589,-0.48587512623,-0.485958920404,-0.486042710112,-0.486126495353,-0.486210276124,-0.486294052427,-0.48637782426,-0.486461591622,-0.486545354513,-0.486629112932,-0.486712866877,-0.486796616349,-0.486880361346,-0.486964101868,-0.487047837914,-0.487131569483,-0.487215296574,-0.487299019187,-0.487382737321,-0.487466450975,-0.487550160148,-0.48763386484,-0.48771756505,-0.487801260776,-0.487884952019,-0.487968638778,-0.488052321051,-0.488135998838,-0.488219672138,-0.48830334095,-0.488387005274,-0.488470665109,-0.488554320454,-0.488637971309,-0.488721617671,-0.488805259542,-0.48888889692,-0.488972529804,-0.489056158193,-0.489139782087,-0.489223401485,-0.489307016386,-0.48939062679,-0.489474232695,-0.489557834101,-0.489641431007,-0.489725023413,-0.489808611317,-0.489892194719,-0.489975773617,-0.490059348012,-0.490142917903,-0.490226483288,-0.490310044167,-0.49039360054,-0.490477152405,-0.490560699761,-0.490644242608,-0.490727780946,-0.490811314773,-0.490894844088,-0.490978368891,-0.491061889181,-0.491145404957,-0.491228916219,-0.491312422966,-0.491395925197,-0.49147942291,-0.491562916107,-0.491646404784,-0.491729888943,-0.491813368582,-0.4918968437,-0.491980314297,-0.492063780372,-0.492147241923,-0.492230698951,-0.492314151455,-0.492397599433,-0.492481042886,-0.492564481811,-0.492647916209,-0.492731346079,-0.492814771419,-0.49289819223,-0.49298160851,-0.493065020259,-0.493148427475,-0.493231830159,-0.493315228309,-0.493398621924,-0.493482011004,-0.493565395549,-0.493648775556,-0.493732151026,-0.493815521958,-0.493898888351,-0.493982250204,-0.494065607516,-0.494148960287,-0.494232308516,-0.494315652202,-0.494398991344,-0.494482325942,-0.494565655995,-0.494648981502,-0.494732302462,-0.494815618875,-0.494898930739,-0.494982238054,-0.49506554082,-0.495148839035,-0.495232132699,-0.495315421811,-0.49539870637,-0.495481986375,-0.495565261826,-0.495648532722,-0.495731799061,-0.495815060845,-0.495898318071,-0.495981570738,-0.496064818847,-0.496148062396,-0.496231301384,-0.496314535811,-0.496397765677,-0.496480990979,-0.496564211718,-0.496647427893,-0.496730639502,-0.496813846546,-0.496897049023,-0.496980246932,-0.497063440274,-0.497146629046,-0.497229813249,-0.497312992882,-0.497396167943,-0.497479338433,-0.497562504349,-0.497645665692,-0.497728822461,-0.497811974655,-0.497895122273,-0.497978265315,-0.498061403779,-0.498144537665,-0.498227666973,-0.498310791701,-0.498393911848,-0.498477027414,-0.498560138399,-0.4986432448,-0.498726346619,-0.498809443853,-0.498892536502,-0.498975624565,-0.499058708042,-0.499141786932,-0.499224861234,-0.499307930946,-0.49939099607,-0.499474056603,-0.499557112545,-0.499640163895,-0.499723210653,-0.499806252817,-0.499889290387,-0.499972323363,-0.500055351742,-0.500138375526,-0.500221394712,-0.5003044093,-0.50038741929,-0.50047042468,-0.500553425469,-0.500636421658,-0.500719413245,-0.50080240023,-0.500885382611,-0.500968360389,-0.501051333561,-0.501134302128,-0.501217266089,-0.501300225442,-0.501383180188,-0.501466130325,-0.501549075853,-0.50163201677,-0.501714953077,-0.501797884772,-0.501880811855,-0.501963734324,-0.50204665218,-0.50212956542,-0.502212474046,-0.502295378055,-0.502378277447,-0.502461172221,-0.502544062377,-0.502626947914,-0.50270982883,-0.502792705126,-0.5028755768,-0.502958443852,-0.503041306281,-0.503124164086,-0.503207017266,-0.503289865821,-0.50337270975,-0.503455549051,-0.503538383726,-0.503621213772,-0.503704039188,-0.503786859975,-0.503869676131,-0.503952487655,-0.504035294548,-0.504118096807,-0.504200894433,-0.504283687424,-0.50436647578,-0.504449259499,-0.504532038582,-0.504614813028,-0.504697582835,-0.504780348003,-0.504863108531,-0.504945864419,-0.505028615665,-0.505111362269,-0.505194104231,-0.505276841548,-0.505359574222,-0.50544230225,-0.505525025632,-0.505607744367,-0.505690458455,-0.505773167895,-0.505855872686,-0.505938572827,-0.506021268318,-0.506103959158,-0.506186645345,-0.50626932688,-0.506352003761,-0.506434675988,-0.50651734356,-0.506600006476,-0.506682664736,-0.506765318338,-0.506847967282,-0.506930611567,-0.507013251193,-0.507095886158,-0.507178516462,-0.507261142105,-0.507343763084,-0.507426379401,-0.507508991053,-0.50759159804,-0.507674200362,-0.507756798017,-0.507839391005,-0.507921979325,-0.508004562976,-0.508087141958,-0.50816971627,-0.50825228591,-0.508334850879,-0.508417411175,-0.508499966799,-0.508582517748,-0.508665064022,-0.508747605621,-0.508830142543,-0.508912674789,-0.508995202356,-0.509077725245,-0.509160243455,-0.509242756984,-0.509325265833,-0.50940777,-0.509490269485,-0.509572764287,-0.509655254404,-0.509737739837,-0.509820220585,-0.509902696647,-0.509985168021,-0.510067634708,-0.510150096707,-0.510232554016,-0.510315006635,-0.510397454564,-0.510479897801,-0.510562336346,-0.510644770198,-0.510727199357,-0.51080962382,-0.510892043589,-0.510974458661,-0.511056869037,-0.511139274715,-0.511221675695,-0.511304071976,-0.511386463557,-0.511468850438,-0.511551232617,-0.511633610094,-0.511715982869,-0.511798350939,-0.511880714306,-0.511963072967,-0.512045426923,-0.512127776172,-0.512210120713,-0.512292460546,-0.512374795671,-0.512457126086,-0.51253945179,-0.512621772783,-0.512704089065,-0.512786400634,-0.512868707489,-0.51295100963,-0.513033307056,-0.513115599767,-0.513197887761,-0.513280171038,-0.513362449596,-0.513444723437,-0.513526992557,-0.513609256958,-0.513691516637,-0.513773771595,-0.51385602183,-0.513938267342,-0.51402050813,-0.514102744193,-0.514184975531,-0.514267202142,-0.514349424027,-0.514431641183,-0.514513853611,-0.51459606131,-0.514678264279,-0.514760462517,-0.514842656023,-0.514924844797,-0.515007028838,-0.515089208145,-0.515171382717,-0.515253552554,-0.515335717655,-0.515417878019,-0.515500033646,-0.515582184534,-0.515664330683,-0.515746472092,-0.515828608761,-0.515910740688,-0.515992867873,-0.516074990315,-0.516157108014,-0.516239220968,-0.516321329177,-0.51640343264,-0.516485531356,-0.516567625325,-0.516649714546,-0.516731799018,-0.51681387874,-0.516895953711,-0.516978023932,-0.5170600894,-0.517142150116,-0.517224206079,-0.517306257287,-0.51738830374,-0.517470345437,-0.517552382378,-0.517634414562,-0.517716441988,-0.517798464655,-0.517880482562,-0.51796249571,-0.518044504096,-0.518126507721,-0.518208506583,-0.518290500681,-0.518372490016,-0.518454474586,-0.518536454391,-0.518618429429,-0.5187003997,-0.518782365203,-0.518864325938,-0.518946281904,-0.519028233099,-0.519110179524,-0.519192121177,-0.519274058058,-0.519355990166,-0.5194379175,-0.519519840059,-0.519601757843,-0.519683670851,-0.519765579082,-0.519847482536,-0.519929381211,-0.520011275108,-0.520093164224,-0.52017504856,-0.520256928114,-0.520338802887,-0.520420672876,-0.520502538082,-0.520584398504,-0.52066625414,-0.520748104991,-0.520829951055,-0.520911792332,-0.52099362882,-0.52107546052,-0.52115728743,-0.52123910955,-0.521320926879,-0.521402739415,-0.521484547159,-0.52156635011,-0.521648148267,-0.521729941629,-0.521811730195,-0.521893513965,-0.521975292937,-0.522057067112,-0.522138836488,-0.522220601065,-0.522302360841,-0.522384115817,-0.522465865991,-0.522547611363,-0.522629351931,-0.522711087696,-0.522792818656,-0.52287454481,-0.522956266159,-0.5230379827,-0.523119694434,-0.523201401359,-0.523283103476,-0.523364800782,-0.523446493278,-0.523528180962,-0.523609863834,-0.523691541893,-0.523773215139,-0.52385488357,-0.523936547186,-0.524018205986,-0.52409985997,-0.524181509136,-0.524263153484,-0.524344793013,-0.524426427722,-0.524508057611,-0.524589682678,-0.524671302924,-0.524752918347,-0.524834528947,-0.524916134723,-0.524997735673,-0.525079331798,-0.525160923097,-0.525242509568,-0.525324091212,-0.525405668026,-0.525487240012,-0.525568807167,-0.525650369491,-0.525731926984,-0.525813479644,-0.525895027471,-0.525976570464,-0.526058108623,-0.526139641946,-0.526221170433,-0.526302694083,-0.526384212895,-0.526465726869,-0.526547236004,-0.526628740298,-0.526710239753,-0.526791734365,-0.526873224136,-0.526954709064,-0.527036189148,-0.527117664387,-0.527199134782,-0.52728060033,-0.527362061032,-0.527443516887,-0.527524967893,-0.527606414051,-0.527687855359,-0.527769291816,-0.527850723423,-0.527932150177,-0.528013572079,-0.528094989127,-0.528176401321,-0.528257808661,-0.528339211145,-0.528420608772,-0.528502001542,-0.528583389455,-0.528664772508,-0.528746150703,-0.528827524037,-0.52890889251,-0.528990256122,-0.529071614872,-0.529152968758,-0.52923431778,-0.529315661938,-0.52939700123,-0.529478335657,-0.529559665216,-0.529640989908,-0.529722309732,-0.529803624686,-0.529884934771,-0.529966239985,-0.530047540328,-0.530128835798,-0.530210126396,-0.53029141212,-0.53037269297,-0.530453968945,-0.530535240044,-0.530616506266,-0.530697767612,-0.530779024079,-0.530860275667,-0.530941522376,-0.531022764204,-0.531104001151,-0.531185233217,-0.5312664604,-0.5313476827,-0.531428900115,-0.531510112646,-0.531591320292,-0.531672523051,-0.531753720923,-0.531834913907,-0.531916102003,-0.531997285209,-0.532078463526,-0.532159636952,-0.532240805486,-0.532321969128,-0.532403127877,-0.532484281733,-0.532565430693,-0.532646574759,-0.532727713929,-0.532808848202,-0.532889977577,-0.532971102054,-0.533052221633,-0.533133336311,-0.533214446089,-0.533295550966,-0.533376650941,-0.533457746014,-0.533538836183,-0.533619921447,-0.533701001807,-0.533782077261,-0.533863147809,-0.53394421345,-0.534025274182,-0.534106330006,-0.534187380921,-0.534268426926,-0.534349468019,-0.534430504201,-0.534511535471,-0.534592561827,-0.53467358327,-0.534754599798,-0.534835611411,-0.534916618107,-0.534997619887,-0.535078616749,-0.535159608693,-0.535240595718,-0.535321577823,-0.535402555007,-0.53548352727,-0.535564494611,-0.53564545703,-0.535726414524,-0.535807367095,-0.53588831474,-0.53596925746,-0.536050195253,-0.536131128119,-0.536212056057,-0.536292979066,-0.536373897146,-0.536454810295,-0.536535718513,-0.5366166218,-0.536697520154,-0.536778413575,-0.536859302062,-0.536940185615,-0.537021064232,-0.537101937913,-0.537182806656,-0.537263670463,-0.53734452933,-0.537425383259,-0.537506232248,-0.537587076296,-0.537667915402,-0.537748749567,-0.537829578789,-0.537910403067,-0.5379912224,-0.538072036789,-0.538152846232,-0.538233650728,-0.538314450277,-0.538395244877,-0.538476034529,-0.538556819232,-0.538637598984,-0.538718373785,-0.538799143634,-0.538879908531,-0.538960668474,-0.539041423464,-0.539122173499,-0.539202918578,-0.539283658701,-0.539364393867,-0.539445124075,-0.539525849325,-0.539606569616,-0.539687284946,-0.539767995316,-0.539848700725,-0.539929401171,-0.540010096655,-0.540090787174,-0.54017147273,-0.54025215332,-0.540332828945,-0.540413499602,-0.540494165293,-0.540574826015,-0.540655481768,-0.540736132552,-0.540816778366,-0.540897419208,-0.540978055079,-0.541058685977,-0.541139311902,-0.541219932853,-0.541300548828,-0.541381159829,-0.541461765853,-0.5415423669,-0.54162296297,-0.541703554061,-0.541784140172,-0.541864721304,-0.541945297455,-0.542025868625,-0.542106434812,-0.542186996017,-0.542267552238,-0.542348103474,-0.542428649726,-0.542509190991,-0.54258972727,-0.542670258561,-0.542750784865,-0.542831306179,-0.542911822504,-0.542992333838,-0.543072840182,-0.543153341534,-0.543233837893,-0.543314329258,-0.54339481563,-0.543475297007,-0.543555773389,-0.543636244774,-0.543716711162,-0.543797172553,-0.543877628945,-0.543958080338,-0.544038526731,-0.544118968123,-0.544199404514,-0.544279835903,-0.544360262288,-0.544440683671,-0.544521100048,-0.544601511421,-0.544681917788,-0.544762319148,-0.544842715501,-0.544923106845,-0.545003493181,-0.545083874508,-0.545164250824,-0.545244622129,-0.545324988422,-0.545405349703,-0.54548570597,-0.545566057224,-0.545646403463,-0.545726744686,-0.545807080893,-0.545887412083,-0.545967738256,-0.54604805941,-0.546128375545,-0.54620868666,-0.546288992754,-0.546369293827,-0.546449589878,-0.546529880906,-0.546610166911,-0.546690447891,-0.546770723846,-0.546850994775,-0.546931260678,-0.547011521554,-0.547091777401,-0.54717202822,-0.547252274009,-0.547332514768,-0.547412750496,-0.547492981193,-0.547573206857,-0.547653427487,-0.547733643084,-0.547813853646,-0.547894059173,-0.547974259664,-0.548054455118,-0.548134645534,-0.548214830912,-0.54829501125,-0.548375186549,-0.548455356808,-0.548535522025,-0.5486156822,-0.548695837333,-0.548775987421,-0.548856132466,-0.548936272466,-0.54901640742,-0.549096537327,-0.549176662188,-0.549256782,-0.549336896764,-0.549417006478,-0.549497111143,-0.549577210756,-0.549657305318,-0.549737394827,-0.549817479284,-0.549897558687,-0.549977633035,-0.550057702327,-0.550137766564,-0.550217825744,-0.550297879867,-0.550377928931,-0.550457972937,-0.550538011882,-0.550618045768,-0.550698074592,-0.550778098354,-0.550858117053,-0.55093813069,-0.551018139262,-0.551098142769,-0.551178141211,-0.551258134586,-0.551338122894,-0.551418106135,-0.551498084307,-0.55157805741,-0.551658025443,-0.551737988405,-0.551817946295,-0.551897899114,-0.551977846859,-0.552057789531,-0.552137727129,-0.552217659651,-0.552297587097,-0.552377509467,-0.55245742676,-0.552537338974,-0.55261724611,-0.552697148166,-0.552777045142,-0.552856937036,-0.552936823849,-0.55301670558,-0.553096582227,-0.553176453791,-0.55325632027,-0.553336181663,-0.55341603797,-0.55349588919,-0.553575735323,-0.553655576367,-0.553735412323,-0.553815243188,-0.553895068963,-0.553974889647,-0.554054705238,-0.554134515737,-0.554214321142,-0.554294121454,-0.55437391667,-0.55445370679,-0.554533491814,-0.554613271741,-0.55469304657,-0.554772816301,-0.554852580932,-0.554932340463,-0.555012094893,-0.555091844222,-0.555171588448,-0.555251327571,-0.555331061591,-0.555410790506,-0.555490514316,-0.55557023302,-0.555649946617,-0.555729655107,-0.555809358488,-0.555889056761,-0.555968749924,-0.556048437977,-0.556128120919,-0.556207798749,-0.556287471466,-0.55636713907,-0.55644680156,-0.556526458936,-0.556606111196,-0.556685758339,-0.556765400366,-0.556845037275,-0.556924669066,-0.557004295737,-0.557083917289,-0.55716353372,-0.55724314503,-0.557322751218,-0.557402352283,-0.557481948224,-0.557561539041,-0.557641124733,-0.5577207053,-0.55780028074,-0.557879851053,-0.557959416237,-0.558038976294,-0.558118531221,-0.558198081017,-0.558277625683,-0.558357165218,-0.55843669962,-0.558516228889,-0.558595753024,-0.558675272025,-0.55875478589,-0.55883429462,-0.558913798213,-0.558993296668,-0.559072789986,-0.559152278164,-0.559231761203,-0.559311239102,-0.559390711859,-0.559470179475,-0.559549641948,-0.559629099278,-0.559708551464,-0.559787998505,-0.559867440401,-0.55994687715,-0.560026308753,-0.560105735208,-0.560185156514,-0.560264572672,-0.56034398368,-0.560423389537,-0.560502790242,-0.560582185796,-0.560661576197,-0.560740961445,-0.560820341538,-0.560899716477,-0.560979086259,-0.561058450886,-0.561137810355,-0.561217164666,-0.561296513819,-0.561375857813,-0.561455196646,-0.561534530319,-0.56161385883,-0.561693182179,-0.561772500365,-0.561851813387,-0.561931121245,-0.562010423937,-0.562089721464,-0.562169013824,-0.562248301017,-0.562327583042,-0.562406859898,-0.562486131584,-0.562565398101,-0.562644659446,-0.562723915619,-0.56280316662,-0.562882412448,-0.562961653102,-0.563040888582,-0.563120118886,-0.563199344014,-0.563278563965,-0.563357778739,-0.563436988334,-0.56351619275,-0.563595391987,-0.563674586043,-0.563753774918,-0.563832958611,-0.563912137122,-0.563991310449,-0.564070478592,-0.56414964155,-0.564228799323,-0.564307951909,-0.564387099309,-0.564466241521,-0.564545378544,-0.564624510378,-0.564703637022,-0.564782758476,-0.564861874738,-0.564940985808,-0.565020091685,-0.565099192369,-0.565178287858,-0.565257378153,-0.565336463251,-0.565415543154,-0.565494617859,-0.565573687366,-0.565652751674,-0.565731810784,-0.565810864693,-0.565889913401,-0.565968956908,-0.566047995212,-0.566127028314,-0.566206056212,-0.566285078905,-0.566364096393,-0.566443108675,-0.566522115751,-0.566601117619,-0.56668011428,-0.566759105731,-0.566838091973,-0.566917073004,-0.566996048825,-0.567075019434,-0.567153984831,-0.567232945014,-0.567311899983,-0.567390849738,-0.567469794278,-0.567548733601,-0.567627667708,-0.567706596597,-0.567785520268,-0.56786443872,-0.567943351952,-0.568022259964,-0.568101162755,-0.568180060324,-0.56825895267,-0.568337839793,-0.568416721692,-0.568495598366,-0.568574469815,-0.568653336037,-0.568732197033,-0.568811052801,-0.56888990334,-0.568968748651,-0.569047588731,-0.569126423581,-0.5692052532,-0.569284077586,-0.56936289674,-0.569441710661,-0.569520519347,-0.569599322798,-0.569678121014,-0.569756913993,-0.569835701736,-0.56991448424,-0.569993261506,-0.570072033533,-0.570150800319,-0.570229561865,-0.57030831817,-0.570387069232,-0.570465815052,-0.570544555628,-0.57062329096,-0.570702021046,-0.570780745887,-0.570859465481,-0.570938179828,-0.571016888928,-0.571095592778,-0.571174291379,-0.57125298473,-0.57133167283,-0.571410355679,-0.571489033275,-0.571567705618,-0.571646372708,-0.571725034543,-0.571803691123,-0.571882342447,-0.571960988515,-0.572039629325,-0.572118264877,-0.57219689517,-0.572275520204,-0.572354139977,-0.57243275449,-0.572511363741,-0.572589967729,-0.572668566454,-0.572747159916,-0.572825748113,-0.572904331045,-0.57298290871,-0.573061481109,-0.57314004824,-0.573218610104,-0.573297166698,-0.573375718023,-0.573454264077,-0.57353280486,-0.573611340372,-0.573689870611,-0.573768395577,-0.573846915269,-0.573925429686,-0.574003938827,-0.574082442693,-0.574160941282,-0.574239434593,-0.574317922626,-0.57439640538,-0.574474882854,-0.574553355048,-0.57463182196,-0.574710283591,-0.574788739939,-0.574867191004,-0.574945636784,-0.57502407728,-0.575102512491,-0.575180942415,-0.575259367052,-0.575337786402,-0.575416200463,-0.575494609235,-0.575573012717,-0.575651410909,-0.575729803809,-0.575808191418,-0.575886573734,-0.575964950756,-0.576043322484,-0.576121688917,-0.576200050055,-0.576278405897,-0.576356756441,-0.576435101688,-0.576513441636,-0.576591776285,-0.576670105634,-0.576748429682,-0.57682674843,-0.576905061875,-0.576983370017,-0.577061672856,-0.57713997039,-0.57721826262,-0.577296549544,-0.577374831161,-0.577453107472,-0.577531378474,-0.577609644168,-0.577687904553,-0.577766159628,-0.577844409392,-0.577922653845,-0.578000892985,-0.578079126813,-0.578157355327,-0.578235578527,-0.578313796412,-0.578392008981,-0.578470216233,-0.578548418169,-0.578626614786,-0.578704806085,-0.578782992065,-0.578861172724,-0.578939348063,-0.57901751808,-0.579095682775,-0.579173842148,-0.579251996196,-0.57933014492,-0.579408288319,-0.579486426393,-0.579564559139,-0.579642686559,-0.579720808651,-0.579798925413,-0.579877036847,-0.57995514295,-0.580033243723,-0.580111339164,-0.580189429273,-0.580267514049,-0.580345593491,-0.580423667598,-0.580501736371,-0.580579799808,-0.580657857908,-0.580735910671,-0.580813958096,-0.580892000182,-0.580970036929,-0.581048068335,-0.581126094401,-0.581204115125,-0.581282130507,-0.581360140546,-0.581438145241,-0.581516144591,-0.581594138597,-0.581672127256,-0.581750110569,-0.581828088535,-0.581906061153,-0.581984028421,-0.582061990341,-0.58213994691,-0.582217898128,-0.582295843995,-0.582373784509,-0.58245171967,-0.582529649478,-0.582607573931,-0.582685493029,-0.582763406771,-0.582841315156,-0.582919218184,-0.582997115853,-0.583075008164,-0.583152895116,-0.583230776707,-0.583308652938,-0.583386523806,-0.583464389313,-0.583542249456,-0.583620104236,-0.583697953651,-0.5837757977,-0.583853636384,-0.583931469701,-0.584009297651,-0.584087120233,-0.584164937446,-0.584242749289,-0.584320555762,-0.584398356864,-0.584476152595,-0.584553942953,-0.584631727938,-0.584709507549,-0.584787281786,-0.584865050648,-0.584942814133,-0.585020572242,-0.585098324973,-0.585176072327,-0.585253814301,-0.585331550896,-0.585409282111,-0.585487007945,-0.585564728397,-0.585642443467,-0.585720153154,-0.585797857456,-0.585875556375,-0.585953249908,-0.586030938055,-0.586108620815,-0.586186298189,-0.586263970174,-0.58634163677,-0.586419297976,-0.586496953793,-0.586574604218,-0.586652249252,-0.586729888893,-0.586807523142,-0.586885151996,-0.586962775456,-0.587040393521,-0.58711800619,-0.587195613462,-0.587273215337,-0.587350811813,-0.587428402891,-0.587505988569,-0.587583568848,-0.587661143725,-0.5877387132,-0.587816277273,-0.587893835943,-0.58797138921,-0.588048937072,-0.588126479528,-0.588204016579,-0.588281548223,-0.588359074459,-0.588436595288,-0.588514110708,-0.588591620718,-0.588669125318,-0.588746624507,-0.588824118285,-0.58890160665,-0.588979089602,-0.58905656714,-0.589134039264,-0.589211505973,-0.589288967265,-0.589366423141,-0.5894438736,-0.589521318641,-0.589598758263,-0.589676192466,-0.589753621248,-0.589831044609,-0.589908462549,-0.589985875067,-0.590063282161,-0.590140683832,-0.590218080079,-0.5902954709,-0.590372856295,-0.590450236264,-0.590527610805,-0.590604979919,-0.590682343604,-0.590759701859,-0.590837054684,-0.590914402078,-0.590991744041,-0.591069080572,-0.591146411669,-0.591223737333,-0.591301057562,-0.591378372357,-0.591455681715,-0.591532985637,-0.591610284122,-0.591687577169,-0.591764864777,-0.591842146946,-0.591919423674,-0.591996694962,-0.592073960808,-0.592151221212,-0.592228476174,-0.592305725691,-0.592382969764,-0.592460208393,-0.592537441575,-0.592614669311,-0.5926918916,-0.59276910844,-0.592846319833,-0.592923525776,-0.593000726268,-0.593077921311,-0.593155110901,-0.59323229504,-0.593309473725,-0.593386646958,-0.593463814735,-0.593540977058,-0.593618133925,-0.593695285336,-0.59377243129,-0.593849571785,-0.593926706823,-0.594003836401,-0.594080960519,-0.594158079176,-0.594235192372,-0.594312300106,-0.594389402377,-0.594466499185,-0.594543590528,-0.594620676407,-0.594697756819,-0.594774831766,-0.594851901245,-0.594928965257,-0.5950060238,-0.595083076875,-0.595160124479,-0.595237166612,-0.595314203275,-0.595391234465,-0.595468260183,-0.595545280427,-0.595622295197,-0.595699304492,-0.595776308312,-0.595853306656,-0.595930299522,-0.596007286911,-0.596084268822,-0.596161245253,-0.596238216205,-0.596315181676,-0.596392141666,-0.596469096174,-0.596546045199,-0.596622988741,-0.596699926799,-0.596776859373,-0.59685378646,-0.596930708062,-0.597007624177,-0.597084534804,-0.597161439943,-0.597238339593,-0.597315233754,-0.597392122424,-0.597469005603,-0.59754588329,-0.597622755484,-0.597699622186,-0.597776483393,-0.597853339106,-0.597930189323,-0.598007034045,-0.598083873269,-0.598160706996,-0.598237535225,-0.598314357955,-0.598391175186,-0.598467986916,-0.598544793146,-0.598621593873,-0.598698389098,-0.59877517882,-0.598851963039,-0.598928741752,-0.599005514961,-0.599082282664,-0.59915904486,-0.599235801548,-0.599312552729,-0.599389298401,-0.599466038563,-0.599542773215,-0.599619502356,-0.599696225986,-0.599772944104,-0.599849656708,-0.599926363799,-0.600003065375,-0.600079761437,-0.600156451982,-0.600233137011,-0.600309816523,-0.600386490517,-0.600463158992,-0.600539821948,-0.600616479384,-0.600693131299,-0.600769777693,-0.600846418564,-0.600923053913,-0.600999683738,-0.601076308039,-0.601152926815,-0.601229540065,-0.601306147789,-0.601382749986,-0.601459346655,-0.601535937795,-0.601612523407,-0.601689103488,-0.601765678039,-0.601842247059,-0.601918810546,-0.601995368501,-0.602071920922,-0.60214846781,-0.602225009162,-0.602301544979,-0.60237807526,-0.602454600004,-0.60253111921,-0.602607632878,-0.602684141007,-0.602760643596,-0.602837140644,-0.602913632152,-0.602990118117,-0.60306659854,-0.60314307342,-0.603219542756,-0.603296006547,-0.603372464793,-0.603448917493,-0.603525364646,-0.603601806251,-0.603678242308,-0.603754672817,-0.603831097776,-0.603907517184,-0.603983931042,-0.604060339348,-0.604136742101,-0.604213139302,-0.604289530948,-0.60436591704,-0.604442297577,-0.604518672558,-0.604595041983,-0.60467140585,-0.604747764159,-0.604824116909,-0.6049004641,-0.604976805731,-0.605053141801,-0.605129472309,-0.605205797255,-0.605282116639,-0.605358430459,-0.605434738714,-0.605511041404,-0.605587338529,-0.605663630087,-0.605739916078,-0.605816196502,-0.605892471356,-0.605968740642,-0.606045004357,-0.606121262502,-0.606197515076,-0.606273762077,-0.606350003506,-0.606426239361,-0.606502469643,-0.606578694349,-0.60665491348,-0.606731127035,-0.606807335012,-0.606883537412,-0.606959734234,-0.607035925476,-0.607112111139,-0.607188291222,-0.607264465723,-0.607340634643,-0.607416797979,-0.607492955733,-0.607569107903,-0.607645254488,-0.607721395488,-0.607797530901,-0.607873660728,-0.607949784968,-0.608025903619,-0.608102016682,-0.608178124155,-0.608254226037,-0.608330322329,-0.608406413029,-0.608482498137,-0.608558577652,-0.608634651573,-0.608710719899,-0.608786782631,-0.608862839766,-0.608938891305,-0.609014937247,-0.609090977591,-0.609167012336,-0.609243041482,-0.609319065028,-0.609395082973,-0.609471095317,-0.609547102059,-0.609623103198,-0.609699098733,-0.609775088664,-0.60985107299,-0.60992705171,-0.610003024825,-0.610078992332,-0.610154954231,-0.610230910522,-0.610306861204,-0.610382806276,-0.610458745738,-0.610534679588,-0.610610607827,-0.610686530453,-0.610762447465,-0.610838358864,-0.610914264648,-0.610990164816,-0.611066059369,-0.611141948304,-0.611217831622,-0.611293709322,-0.611369581403,-0.611445447865,-0.611521308706,-0.611597163926,-0.611673013525,-0.611748857501,-0.611824695854,-0.611900528584,-0.611976355689,-0.612052177169,-0.612127993022,-0.61220380325,-0.61227960785,-0.612355406822,-0.612431200166,-0.61250698788,-0.612582769964,-0.612658546417,-0.61273431724,-0.612810082429,-0.612885841986,-0.61296159591,-0.613037344199,-0.613113086854,-0.613188823873,-0.613264555255,-0.613340281001,-0.613416001109,-0.613491715578,-0.613567424408,-0.613643127599,-0.613718825149,-0.613794517058,-0.613870203325,-0.61394588395,-0.614021558931,-0.614097228268,-0.614172891961,-0.614248550008,-0.61432420241,-0.614399849164,-0.614475490271,-0.61455112573,-0.61462675554,-0.614702379701,-0.614777998211,-0.614853611071,-0.614929218279,-0.615004819834,-0.615080415737,-0.615156005986,-0.615231590581,-0.61530716952,-0.615382742804,-0.615458310431,-0.615533872401,-0.615609428713,-0.615684979367,-0.615760524361,-0.615836063696,-0.61591159737,-0.615987125382,-0.616062647733,-0.616138164421,-0.616213675445,-0.616289180805,-0.616364680501,-0.616440174531,-0.616515662895,-0.616591145592,-0.616666622621,-0.616742093982,-0.616817559674,-0.616893019697,-0.616968474049,-0.61704392273,-0.617119365739,-0.617194803076,-0.61727023474,-0.61734566073,-0.617421081045,-0.617496495686,-0.61757190465,-0.617647307938,-0.617722705548,-0.617798097481,-0.617873483735,-0.617948864309,-0.618024239204,-0.618099608417,-0.61817497195,-0.6182503298,-0.618325681967,-0.618401028451,-0.61847636925,-0.618551704365,-0.618627033794,-0.618702357537,-0.618777675593,-0.618852987961,-0.618928294641,-0.619003595631,-0.619078890932,-0.619154180543,-0.619229464462,-0.61930474269,-0.619380015225,-0.619455282067,-0.619530543215,-0.619605798668,-0.619681048426,-0.619756292488,-0.619831530854,-0.619906763522,-0.619981990492,-0.620057211763,-0.620132427335,-0.620207637207,-0.620282841378,-0.620358039847,-0.620433232614,-0.620508419679,-0.620583601039,-0.620658776696,-0.620733946647,-0.620809110893,-0.620884269433,-0.620959422265,-0.62103456939,-0.621109710806,-0.621184846514,-0.621259976511,-0.621335100798,-0.621410219374,-0.621485332238,-0.621560439389,-0.621635540827,-0.621710636551,-0.621785726561,-0.621860810855,-0.621935889433,-0.622010962295,-0.622086029439,-0.622161090865,-0.622236146572,-0.62231119656,-0.622386240827,-0.622461279374,-0.622536312199,-0.622611339302,-0.622686360683,-0.622761376339,-0.622836386271,-0.622911390479,-0.62298638896,-0.623061381715,-0.623136368744,-0.623211350044,-0.623286325616,-0.623361295459,-0.623436259572,-0.623511217955,-0.623586170606,-0.623661117526,-0.623736058713,-0.623810994166,-0.623885923886,-0.623960847871,-0.624035766121,-0.624110678635,-0.624185585412,-0.624260486452,-0.624335381754,-0.624410271317,-0.62448515514,-0.624560033224,-0.624634905566,-0.624709772168,-0.624784633026,-0.624859488142,-0.624934337515,-0.625009181143,-0.625084019026,-0.625158851164,-0.625233677555,-0.625308498199,-0.625383313096,-0.625458122244,-0.625532925643,-0.625607723292,-0.625682515191,-0.625757301339,-0.625832081735,-0.625906856378,-0.625981625268,-0.626056388404,-0.626131145786,-0.626205897412,-0.626280643283,-0.626355383397,-0.626430117753,-0.626504846352,-0.626579569192,-0.626654286272,-0.626728997592,-0.626803703152,-0.62687840295,-0.626953096986,-0.627027785259,-0.627102467769,-0.627177144515,-0.627251815495,-0.62732648071,-0.627401140159,-0.627475793841,-0.627550441755,-0.627625083901,-0.627699720278,-0.627774350885,-0.627848975722,-0.627923594788,-0.627998208082,-0.628072815604,-0.628147417352,-0.628222013327,-0.628296603527,-0.628371187953,-0.628445766602,-0.628520339475,-0.62859490657,-0.628669467888,-0.628744023427,-0.628818573186,-0.628893117166,-0.628967655365,-0.629042187783,-0.629116714419,-0.629191235272,-0.629265750341,-0.629340259627,-0.629414763128,-0.629489260843,-0.629563752772,-0.629638238915,-0.62971271927,-0.629787193837,-0.629861662614,-0.629936125603,-0.630010582801,-0.630085034208,-0.630159479824,-0.630233919647,-0.630308353677,-0.630382781914,-0.630457204356,-0.630531621003,-0.630606031855,-0.63068043691,-0.630754836168,-0.630829229628,-0.63090361729,-0.630977999153,-0.631052375216,-0.631126745478,-0.63120110994,-0.631275468599,-0.631349821456,-0.631424168509,-0.631498509759,-0.631572845204,-0.631647174844,-0.631721498678,-0.631795816705,-0.631870128925,-0.631944435337,-0.63201873594,-0.632093030734,-0.632167319717,-0.63224160289,-0.632315880252,-0.632390151801,-0.632464417538,-0.632538677461,-0.63261293157,-0.632687179864,-0.632761422343,-0.632835659005,-0.632909889851,-0.632984114878,-0.633058334088,-0.633132547479,-0.63320675505,-0.633280956801,-0.633355152731,-0.633429342839,-0.633503527125,-0.633577705588,-0.633651878227,-0.633726045041,-0.633800206031,-0.633874361195,-0.633948510532,-0.634022654043,-0.634096791725,-0.634170923579,-0.634245049604,-0.634319169799,-0.634393284164,-0.634467392697,-0.634541495398,-0.634615592267,-0.634689683303,-0.634763768504,-0.634837847872,-0.634911921403,-0.634985989099,-0.635060050958,-0.63513410698,-0.635208157164,-0.635282201509,-0.635356240015,-0.63543027268,-0.635504299505,-0.635578320489,-0.63565233563,-0.635726344929,-0.635800348384,-0.635874345995,-0.635948337761,-0.636022323682,-0.636096303756,-0.636170277984,-0.636244246364,-0.636318208896,-0.636392165579,-0.636466116412,-0.636540061395,-0.636614000527,-0.636687933808,-0.636761861236,-0.636835782812,-0.636909698533,-0.636983608401,-0.637057512413,-0.637131410569,-0.63720530287,-0.637279189313,-0.637353069898,-0.637426944625,-0.637500813493,-0.637574676501,-0.637648533649,-0.637722384936,-0.63779623036,-0.637870069923,-0.637943903622,-0.638017731457,-0.638091553428,-0.638165369533,-0.638239179773,-0.638312984146,-0.638386782652,-0.63846057529,-0.638534362059,-0.63860814296,-0.63868191799,-0.638755687149,-0.638829450437,-0.638903207854,-0.638976959397,-0.639050705068,-0.639124444864,-0.639198178785,-0.639271906831,-0.639345629002,-0.639419345295,-0.639493055711,-0.639566760249,-0.639640458908,-0.639714151688,-0.639787838587,-0.639861519606,-0.639935194743,-0.640008863998,-0.640082527371,-0.64015618486,-0.640229836464,-0.640303482184,-0.640377122018,-0.640450755966,-0.640524384028,-0.640598006201,-0.640671622487,-0.640745232883,-0.64081883739,-0.640892436007,-0.640966028732,-0.641039615566,-0.641113196508,-0.641186771557,-0.641260340712,-0.641333903973,-0.641407461338,-0.641481012809,-0.641554558382,-0.641628098059,-0.641701631838,-0.641775159719,-0.6418486817,-0.641922197782,-0.641995707963,-0.642069212244,-0.642142710622,-0.642216203098,-0.642289689671,-0.642363170341,-0.642436645105,-0.642510113965,-0.642583576919,-0.642657033966,-0.642730485106,-0.642803930339,-0.642877369662,-0.642950803077,-0.643024230582,-0.643097652176,-0.643171067859,-0.64324447763,-0.643317881489,-0.643391279434,-0.643464671465,-0.643538057582,-0.643611437784,-0.643684812069,-0.643758180438,-0.64383154289,-0.643904899424,-0.643978250039,-0.644051594734,-0.64412493351,-0.644198266365,-0.644271593299,-0.644344914311,-0.6444182294,-0.644491538566,-0.644564841807,-0.644638139125,-0.644711430516,-0.644784715982,-0.644857995521,-0.644931269132,-0.645004536816,-0.64507779857,-0.645151054395,-0.645224304291,-0.645297548255,-0.645370786288,-0.645444018389,-0.645517244557,-0.645590464792,-0.645663679092,-0.645736887458,-0.645810089888,-0.645883286382,-0.645956476939,-0.646029661559,-0.646102840241,-0.646176012983,-0.646249179787,-0.64632234065,-0.646395495572,-0.646468644552,-0.646541787591,-0.646614924687,-0.646688055839,-0.646761181046,-0.646834300309,-0.646907413627,-0.646980520998,-0.647053622422,-0.647126717899,-0.647199807427,-0.647272891007,-0.647345968637,-0.647419040316,-0.647492106045,-0.647565165822,-0.647638219647,-0.647711267519,-0.647784309437,-0.647857345401,-0.64793037541,-0.648003399463,-0.64807641756,-0.6481494297,-0.648222435882,-0.648295436107,-0.648368430372,-0.648441418677,-0.648514401022,-0.648587377406,-0.648660347829,-0.648733312289,-0.648806270786,-0.648879223319,-0.648952169888,-0.649025110492,-0.64909804513,-0.649170973802,-0.649243896507,-0.649316813244,-0.649389724013,-0.649462628813,-0.649535527643,-0.649608420502,-0.649681307391,-0.649754188307,-0.649827063252,-0.649899932223,-0.649972795221,-0.650045652244,-0.650118503292,-0.650191348364,-0.65026418746,-0.650337020579,-0.65040984772,-0.650482668883,-0.650555484067,-0.65062829327,-0.650701096494,-0.650773893736,-0.650846684996,-0.650919470274,-0.650992249569,-0.65106502288,-0.651137790207,-0.651210551549,-0.651283306905,-0.651356056274,-0.651428799656,-0.65150153705,-0.651574268456,-0.651646993873,-0.6517197133,-0.651792426737,-0.651865134182,-0.651937835636,-0.652010531097,-0.652083220565,-0.652155904039,-0.652228581519,-0.652301253003,-0.652373918492,-0.652446577984,-0.65251923148,-0.652591878977,-0.652664520476,-0.652737155975,-0.652809785475,-0.652882408975,-0.652955026473,-0.653027637969,-0.653100243463,-0.653172842954,-0.653245436441,-0.653318023923,-0.6533906054,-0.653463180872,-0.653535750337,-0.653608313795,-0.653680871244,-0.653753422686,-0.653825968118,-0.653898507541,-0.653971040953,-0.654043568353,-0.654116089742,-0.654188605119,-0.654261114482,-0.654333617832,-0.654406115167,-0.654478606487,-0.654551091791,-0.654623571078,-0.654696044349,-0.654768511601,-0.654840972835,-0.65491342805,-0.654985877245,-0.65505832042,-0.655130757573,-0.655203188705,-0.655275613814,-0.6553480329,-0.655420445962,-0.655492853,-0.655565254012,-0.655637648999,-0.655710037959,-0.655782420892,-0.655854797797,-0.655927168674,-0.655999533522,-0.65607189234,-0.656144245127,-0.656216591883,-0.656288932608,-0.6563612673,-0.656433595958,-0.656505918583,-0.656578235174,-0.656650545729,-0.656722850249,-0.656795148732,-0.656867441178,-0.656939727587,-0.657012007956,-0.657084282287,-0.657156550578,-0.657228812829,-0.657301069038,-0.657373319206,-0.657445563331,-0.657517801413,-0.657590033451,-0.657662259445,-0.657734479394,-0.657806693297,-0.657878901154,-0.657951102963,-0.658023298725,-0.658095488439,-0.658167672103,-0.658239849717,-0.658312021282,-0.658384186795,-0.658456346256,-0.658528499665,-0.658600647021,-0.658672788323,-0.658744923571,-0.658817052764,-0.658889175901,-0.658961292982,-0.659033404006,-0.659105508972,-0.659177607879,-0.659249700728,-0.659321787517,-0.659393868246,-0.659465942913,-0.659538011519,-0.659610074063,-0.659682130544,-0.659754180961,-0.659826225313,-0.659898263601,-0.659970295823,-0.660042321979,-0.660114342067,-0.660186356089,-0.660258364041,-0.660330365925,-0.66040236174,-0.660474351484,-0.660546335157,-0.660618312758,-0.660690284287,-0.660762249744,-0.660834209126,-0.660906162435,-0.660978109668,-0.661050050826,-0.661121985908,-0.661193914913,-0.66126583784,-0.661337754689,-0.661409665459,-0.66148157015,-0.66155346876,-0.66162536129,-0.661697247738,-0.661769128104,-0.661841002387,-0.661912870587,-0.661984732702,-0.662056588733,-0.662128438678,-0.662200282537,-0.662272120309,-0.662343951994,-0.66241577759,-0.662487597098,-0.662559410516,-0.662631217845,-0.662703019082,-0.662774814228,-0.662846603282,-0.662918386243,-0.662990163111,-0.663061933885,-0.663133698564,-0.663205457148,-0.663277209635,-0.663348956026,-0.66342069632,-0.663492430515,-0.663564158612,-0.66363588061,-0.663707596507,-0.663779306304,-0.663851009999,-0.663922707593,-0.663994399084,-0.664066084472,-0.664137763755,-0.664209436934,-0.664281104008,-0.664352764976,-0.664424419837,-0.664496068591,-0.664567711237,-0.664639347775,-0.664710978203,-0.664782602522,-0.66485422073,-0.664925832826,-0.664997438811,-0.665069038684,-0.665140632443,-0.665212220088,-0.665283801619,-0.665355377035,-0.665426946335,-0.665498509518,-0.665570066585,-0.665641617533,-0.665713162363,-0.665784701074,-0.665856233666,-0.665927760136,-0.665999280486,-0.666070794714,-0.66614230282,-0.666213804803,-0.666285300662,-0.666356790396,-0.666428274006,-0.66649975149,-0.666571222847,-0.666642688078,-0.666714147181,-0.666785600156,-0.666857047002,-0.666928487718,-0.666999922304,-0.667071350759,-0.667142773082,-0.667214189273,-0.667285599331,-0.667357003256,-0.667428401047,-0.667499792702,-0.667571178223,-0.667642557607,-0.667713930854,-0.667785297963,-0.667856658935,-0.667928013768,-0.667999362461,-0.668070705014,-0.668142041427,-0.668213371698,-0.668284695826,-0.668356013813,-0.668427325655,-0.668498631354,-0.668569930908,-0.668641224317,-0.66871251158,-0.668783792696,-0.668855067665,-0.668926336485,-0.668997599157,-0.66906885568,-0.669140106053,-0.669211350276,-0.669282588347,-0.669353820266,-0.669425046032,-0.669496265646,-0.669567479105,-0.66963868641,-0.66970988756,-0.669781082554,-0.669852271392,-0.669923454072,-0.669994630595,-0.670065800959,-0.670136965164,-0.670208123209,-0.670279275094,-0.670350420818,-0.67042156038,-0.67049269378,-0.670563821017,-0.67063494209,-0.670706056998,-0.670777165742,-0.67084826832,-0.670919364732,-0.670990454977,-0.671061539054,-0.671132616963,-0.671203688703,-0.671274754274,-0.671345813674,-0.671416866903,-0.671487913961,-0.671558954847,-0.67162998956,-0.671701018099,-0.671772040465,-0.671843056655,-0.67191406667,-0.671985070509,-0.672056068172,-0.672127059656,-0.672198044963,-0.672269024091,-0.67233999704,-0.672410963809,-0.672481924397,-0.672552878804,-0.672623827029,-0.672694769071,-0.67276570493,-0.672836634605,-0.672907558095,-0.6729784754,-0.67304938652,-0.673120291453,-0.673191190198,-0.673262082756,-0.673332969125,-0.673403849306,-0.673474723296,-0.673545591096,-0.673616452705,-0.673687308122,-0.673758157347,-0.673829000379,-0.673899837217,-0.673970667861,-0.674041492309,-0.674112310562,-0.674183122619,-0.674253928479,-0.674324728141,-0.674395521605,-0.67446630887,-0.674537089936,-0.674607864801,-0.674678633466,-0.674749395929,-0.674820152189,-0.674890902247,-0.674961646102,-0.675032383752,-0.675103115198,-0.675173840439,-0.675244559473,-0.6753152723,-0.675385978921,-0.675456679333,-0.675527373536,-0.675598061531,-0.675668743315,-0.675739418889,-0.675810088251,-0.675880751402,-0.67595140834,-0.676022059064,-0.676092703575,-0.676163341872,-0.676233973953,-0.676304599819,-0.676375219468,-0.6764458329,-0.676516440114,-0.67658704111,-0.676657635886,-0.676728224443,-0.67679880678,-0.676869382896,-0.67693995279,-0.677010516462,-0.677081073911,-0.677151625136,-0.677222170137,-0.677292708913,-0.677363241464,-0.677433767789,-0.677504287886,-0.677574801756,-0.677645309398,-0.677715810812,-0.677786305996,-0.677856794949,-0.677927277673,-0.677997754164,-0.678068224424,-0.678138688451,-0.678209146245,-0.678279597805,-0.67835004313,-0.67842048222,-0.678490915074,-0.678561341691,-0.678631762072,-0.678702176214,-0.678772584118,-0.678842985783,-0.678913381208,-0.678983770393,-0.679054153337,-0.679124530038,-0.679194900498,-0.679265264714,-0.679335622687,-0.679405974416,-0.679476319899,-0.679546659137,-0.679616992129,-0.679687318874,-0.679757639371,-0.67982795362,-0.679898261621,-0.679968563371,-0.680038858872,-0.680109148122,-0.68017943112,-0.680249707867,-0.680319978361,-0.680390242601,-0.680460500587,-0.680530752319,-0.680600997795,-0.680671237016,-0.68074146998,-0.680811696686,-0.680881917135,-0.680952131326,-0.681022339257,-0.681092540928,-0.681162736339,-0.681232925489,-0.681303108377,-0.681373285002,-0.681443455365,-0.681513619464,-0.681583777298,-0.681653928868,-0.681724074172,-0.681794213209,-0.68186434598,-0.681934472483,-0.682004592718,-0.682074706685,-0.682144814381,-0.682214915808,-0.682285010964,-0.682355099848,-0.682425182461,-0.6824952588,-0.682565328866,-0.682635392659,-0.682705450176,-0.682775501419,-0.682845546385,-0.682915585075,-0.682985617488,-0.683055643623,-0.683125663479,-0.683195677056,-0.683265684353,-0.68333568537,-0.683405680106,-0.68347566856,-0.683545650732,-0.683615626621,-0.683685596226,-0.683755559547,-0.683825516583,-0.683895467333,-0.683965411797,-0.684035349975,-0.684105281864,-0.684175207466,-0.684245126779,-0.684315039802,-0.684384946535,-0.684454846978,-0.684524741129,-0.684594628988,-0.684664510555,-0.684734385828,-0.684804254808,-0.684874117492,-0.684943973882,-0.685013823976,-0.685083667773,-0.685153505273,-0.685223336475,-0.685293161379,-0.685362979984,-0.685432792289,-0.685502598293,-0.685572397997,-0.685642191399,-0.685711978499,-0.685781759296,-0.685851533789,-0.685921301978,-0.685991063863,-0.686060819441,-0.686130568714,-0.68620031168,-0.686270048339,-0.686339778689,-0.686409502731,-0.686479220463,-0.686548931886,-0.686618636998,-0.686688335798,-0.686758028287,-0.686827714463,-0.686897394326,-0.686967067875,-0.68703673511,-0.68710639603,-0.687176050634,-0.687245698921,-0.687315340892,-0.687384976545,-0.687454605879,-0.687524228895,-0.687593845591,-0.687663455967,-0.687733060022,-0.687802657755,-0.687872249167,-0.687941834255,-0.68801141302,-0.688080985462,-0.688150551578,-0.688220111369,-0.688289664834,-0.688359211973,-0.688428752784,-0.688498287267,-0.688567815422,-0.688637337248,-0.688706852744,-0.688776361909,-0.688845864744,-0.688915361246,-0.688984851417,-0.689054335254,-0.689123812757,-0.689193283927,-0.689262748761,-0.68933220726,-0.689401659423,-0.689471105249,-0.689540544737,-0.689609977887,-0.689679404699,-0.689748825171,-0.689818239303,-0.689887647095,-0.689957048545,-0.690026443653,-0.690095832419,-0.690165214841,-0.69023459092,-0.690303960654,-0.690373324043,-0.690442681086,-0.690512031783,-0.690581376132,-0.690650714135,-0.690720045788,-0.690789371093,-0.690858690048,-0.690928002653,-0.690997308908,-0.69106660881,-0.691135902361,-0.691205189558,-0.691274470403,-0.691343744893,-0.691413013029,-0.691482274809,-0.691551530233,-0.691620779301,-0.691690022012,-0.691759258364,-0.691828488358,-0.691897711993,-0.691966929269,-0.692036140183,-0.692105344737,-0.692174542929,-0.692243734759,-0.692312920226,-0.692382099329,-0.692451272068,-0.692520438442,-0.692589598451,-0.692658752093,-0.692727899369,-0.692797040277,-0.692866174817,-0.692935302989,-0.693004424791,-0.693073540224,-0.693142649285,-0.693211751976,-0.693280848295,-0.693349938241,-0.693419021814,-0.693488099013,-0.693557169838,-0.693626234288,-0.693695292362,-0.69376434406,-0.693833389381,-0.693902428324,-0.69397146089,-0.694040487076,-0.694109506883,-0.69417852031,-0.694247527356,-0.69431652802,-0.694385522303,-0.694454510203,-0.69452349172,-0.694592466853,-0.694661435601,-0.694730397964,-0.694799353942,-0.694868303532,-0.694937246736,-0.695006183552,-0.69507511398,-0.695144038019,-0.695212955668,-0.695281866927,-0.695350771795,-0.695419670271,-0.695488562356,-0.695557448047,-0.695626327345,-0.695695200249,-0.695764066759,-0.695832926873,-0.695901780591,-0.695970627913,-0.696039468837,-0.696108303363,-0.696177131491,-0.69624595322,-0.69631476855,-0.696383577478,-0.696452380006,-0.696521176132,-0.696589965856,-0.696658749177,-0.696727526095,-0.696796296608,-0.696865060716,-0.696933818419,-0.697002569716,-0.697071314607,-0.69714005309,-0.697208785165,-0.697277510831,-0.697346230088,-0.697414942935,-0.697483649372,-0.697552349398,-0.697621043012,-0.697689730213,-0.697758411002,-0.697827085377,-0.697895753337,-0.697964414883,-0.698033070013,-0.698101718727,-0.698170361024,-0.698238996904,-0.698307626366,-0.698376249409,-0.698444866033,-0.698513476236,-0.69858208002,-0.698650677381,-0.698719268322,-0.698787852839,-0.698856430934,-0.698925002604,-0.698993567851,-0.699062126672,-0.699130679068,-0.699199225037,-0.69926776458,-0.699336297695,-0.699404824382,-0.69947334464,-0.699541858469,-0.699610365868,-0.699678866836,-0.699747361373,-0.699815849477,-0.69988433115,-0.699952806389,-0.700021275194,-0.700089737565,-0.700158193501,-0.700226643001,-0.700295086064,-0.700363522691,-0.70043195288,-0.700500376631,-0.700568793943,-0.700637204816,-0.700705609248,-0.70077400724,-0.700842398791,-0.700910783899,-0.700979162565,-0.701047534787,-0.701115900566,-0.7011842599,-0.701252612789,-0.701320959232,-0.701389299229,-0.701457632779,-0.701525959881,-0.701594280535,-0.70166259474,-0.701730902496,-0.701799203801,-0.701867498656,-0.701935787059,-0.70200406901,-0.702072344508,-0.702140613553,-0.702208876144,-0.702277132281,-0.702345381962,-0.702413625188,-0.702481861957,-0.702550092269,-0.702618316124,-0.70268653352,-0.702754744457,-0.702822948935,-0.702891146952,-0.702959338509,-0.703027523604,-0.703095702237,-0.703163874407,-0.703232040114,-0.703300199358,-0.703368352136,-0.703436498449,-0.703504638297,-0.703572771678,-0.703640898592,-0.703709019038,-0.703777133016,-0.703845240524,-0.703913341564,-0.703981436133,-0.704049524231,-0.704117605858,-0.704185681012,-0.704253749694,-0.704321811903,-0.704389867637,-0.704457916897,-0.704525959682,-0.704593995991,-0.704662025823,-0.704730049179,-0.704798066056,-0.704866076456,-0.704934080376,-0.705002077817,-0.705070068777,-0.705138053257,-0.705206031255,-0.705274002771,-0.705341967804,-0.705409926354,-0.70547787842,-0.705545824001,-0.705613763097,-0.705681695708,-0.705749621831,-0.705817541468,-0.705885454617,-0.705953361278,-0.706021261449,-0.706089155131,-0.706157042323,-0.706224923024,-0.706292797234,-0.706360664951,-0.706428526176,-0.706496380907,-0.706564229145,-0.706632070888,-0.706699906135,-0.706767734887,-0.706835557142,-0.706903372901,-0.706971182161,-0.707038984923,-0.707106781187,-0.70717457095,-0.707242354214,-0.707310130976,-0.707377901238,-0.707445664997,-0.707513422253,-0.707581173006,-0.707648917256,-0.707716655,-0.70778438624,-0.707852110974,-0.707919829201,-0.707987540921,-0.708055246134,-0.708122944838,-0.708190637033,-0.708258322719,-0.708326001895,-0.70839367456,-0.708461340713,-0.708529000354,-0.708596653483,-0.708664300099,-0.7087319402,-0.708799573788,-0.70886720086,-0.708934821416,-0.709002435456,-0.709070042978,-0.709137643984,-0.709205238471,-0.709272826439,-0.709340407888,-0.709407982816,-0.709475551224,-0.70954311311,-0.709610668475,-0.709678217317,-0.709745759636,-0.70981329543,-0.709880824701,-0.709948347446,-0.710015863666,-0.710083373359,-0.710150876526,-0.710218373164,-0.710285863275,-0.710353346857,-0.71042082391,-0.710488294432,-0.710555758424,-0.710623215884,-0.710690666813,-0.710758111209,-0.710825549072,-0.710892980401,-0.710960405196,-0.711027823456,-0.71109523518,-0.711162640368,-0.711230039019,-0.711297431133,-0.711364816708,-0.711432195745,-0.711499568243,-0.7115669342,-0.711634293617,-0.711701646493,-0.711768992827,-0.711836332619,-0.711903665867,-0.711970992572,-0.712038312733,-0.712105626348,-0.712172933418,-0.712240233942,-0.71230752792,-0.71237481535,-0.712442096231,-0.712509370565,-0.712576638349,-0.712643899583,-0.712711154267,-0.712778402399,-0.71284564398,-0.712912879009,-0.712980107484,-0.713047329406,-0.713114544774,-0.713181753587,-0.713248955845,-0.713316151547,-0.713383340692,-0.71345052328,-0.713517699309,-0.713584868781,-0.713652031693,-0.713719188046,-0.713786337838,-0.713853481069,-0.713920617738,-0.713987747846,-0.71405487139,-0.714121988372,-0.714189098789,-0.714256202641,-0.714323299928,-0.714390390649,-0.714457474804,-0.714524552392,-0.714591623411,-0.714658687863,-0.714725745745,-0.714792797058,-0.714859841801,-0.714926879972,-0.714993911573,-0.715060936601,-0.715127955056,-0.715194966939,-0.715261972247,-0.715328970981,-0.715395963139,-0.715462948722,-0.715529927729,-0.715596900158,-0.71566386601,-0.715730825284,-0.715797777979,-0.715864724094,-0.715931663629,-0.715998596584,-0.716065522957,-0.716132442748,-0.716199355957,-0.716266262583,-0.716333162625,-0.716400056082,-0.716466942955,-0.716533823242,-0.716600696943,-0.716667564056,-0.716734424583,-0.716801278521,-0.716868125871,-0.716934966631,-0.717001800802,-0.717068628381,-0.71713544937,-0.717202263767,-0.717269071572,-0.717335872784,-0.717402667402,-0.717469455425,-0.717536236854,-0.717603011688,-0.717669779926,-0.717736541566,-0.71780329661,-0.717870045056,-0.717936786903,-0.718003522151,-0.718070250799,-0.718136972847,-0.718203688294,-0.71827039714,-0.718337099383,-0.718403795023,-0.718470484061,-0.718537166494,-0.718603842322,-0.718670511545,-0.718737174162,-0.718803830173,-0.718870479577,-0.718937122373,-0.71900375856,-0.719070388139,-0.719137011108,-0.719203627467,-0.719270237216,-0.719336840353,-0.719403436878,-0.71947002679,-0.719536610089,-0.719603186774,-0.719669756845,-0.719736320301,-0.719802877141,-0.719869427365,-0.719935970972,-0.720002507961,-0.720069038333,-0.720135562085,-0.720202079219,-0.720268589732,-0.720335093625,-0.720401590897,-0.720468081546,-0.720534565574,-0.720601042978,-0.720667513759,-0.720733977916,-0.720800435448,-0.720866886354,-0.720933330634,-0.720999768288,-0.721066199315,-0.721132623713,-0.721199041483,-0.721265452624,-0.721331857135,-0.721398255016,-0.721464646266,-0.721531030884,-0.72159740887,-0.721663780224,-0.721730144944,-0.72179650303,-0.721862854481,-0.721929199298,-0.721995537478,-0.722061869022,-0.722128193929,-0.722194512199,-0.72226082383,-0.722327128822,-0.722393427175,-0.722459718887,-0.722526003959,-0.72259228239,-0.722658554179,-0.722724819325,-0.722791077828,-0.722857329687,-0.722923574902,-0.722989813472,-0.723056045397,-0.723122270675,-0.723188489307,-0.723254701291,-0.723320906627,-0.723387105314,-0.723453297353,-0.723519482741,-0.723585661479,-0.723651833566,-0.723717999001,-0.723784157784,-0.723850309915,-0.723916455391,-0.723982594214,-0.724048726382,-0.724114851895,-0.724180970751,-0.724247082951,-0.724313188495,-0.72437928738,-0.724445379607,-0.724511465175,-0.724577544084,-0.724643616332,-0.724709681919,-0.724775740846,-0.72484179311,-0.724907838712,-0.72497387765,-0.725039909925,-0.725105935535,-0.72517195448,-0.72523796676,-0.725303972373,-0.72536997132,-0.725435963599,-0.72550194921,-0.725567928152,-0.725633900425,-0.725699866028,-0.725765824961,-0.725831777223,-0.725897722813,-0.72596366173,-0.726029593975,-0.726095519546,-0.726161438444,-0.726227350666,-0.726293256213,-0.726359155084,-0.726425047279,-0.726490932796,-0.726556811636,-0.726622683798,-0.72668854928,-0.726754408083,-0.726820260206,-0.726886105648,-0.726951944408,-0.727017776487,-0.727083601883,-0.727149420595,-0.727215232624,-0.727281037969,-0.727346836628,-0.727412628602,-0.72747841389,-0.727544192491,-0.727609964404,-0.72767572963,-0.727741488167,-0.727807240014,-0.727872985172,-0.727938723639,-0.728004455415,-0.7280701805,-0.728135898892,-0.728201610591,-0.728267315597,-0.728333013909,-0.728398705526,-0.728464390448,-0.728530068674,-0.728595740204,-0.728661405036,-0.728727063171,-0.728792714607,-0.728858359345,-0.728923997383,-0.728989628721,-0.729055253358,-0.729120871293,-0.729186482527,-0.729252087059,-0.729317684887,-0.729383276012,-0.729448860432,-0.729514438147,-0.729580009157,-0.72964557346,-0.729711131057,-0.729776681947,-0.729842226128,-0.729907763601,-0.729973294365,-0.730038818419,-0.730104335763,-0.730169846395,-0.730235350317,-0.730300847526,-0.730366338022,-0.730431821805,-0.730497298874,-0.730562769228,-0.730628232867,-0.73069368979,-0.730759139997,-0.730824583487,-0.73089002026,-0.730955450314,-0.731020873649,-0.731086290265,-0.731151700162,-0.731217103337,-0.731282499791,-0.731347889524,-0.731413272534,-0.731478648821,-0.731544018385,-0.731609381224,-0.731674737338,-0.731740086728,-0.731805429391,-0.731870765327,-0.731936094537,-0.732001417018,-0.732066732771,-0.732132041795,-0.73219734409,-0.732262639654,-0.732327928488,-0.73239321059,-0.73245848596,-0.732523754598,-0.732589016502,-0.732654271672,-0.732719520109,-0.73278476181,-0.732849996775,-0.732915225005,-0.732980446497,-0.733045661252,-0.733110869269,-0.733176070548,-0.733241265087,-0.733306452887,-0.733371633946,-0.733436808264,-0.733501975841,-0.733567136675,-0.733632290766,-0.733697438115,-0.733762578719,-0.733827712578,-0.733892839693,-0.733957960061,-0.734023073684,-0.734088180559,-0.734153280687,-0.734218374066,-0.734283460697,-0.734348540578,-0.73441361371,-0.73447868009,-0.73454373972,-0.734608792598,-0.734673838723,-0.734738878096,-0.734803910715,-0.73486893658,-0.73493395569,-0.734998968044,-0.735063973643,-0.735128972485,-0.73519396457,-0.735258949898,-0.735323928467,-0.735388900277,-0.735453865327,-0.735518823618,-0.735583775147,-0.735648719916,-0.735713657922,-0.735778589166,-0.735843513646,-0.735908431363,-0.735973342316,-0.736038246504,-0.736103143926,-0.736168034582,-0.736232918472,-0.736297795594,-0.736362665948,-0.736427529534,-0.736492386351,-0.736557236398,-0.736622079675,-0.736686916181,-0.736751745915,-0.736816568877,-0.736881385067,-0.736946194484,-0.737010997126,-0.737075792994,-0.737140582087,-0.737205364405,-0.737270139946,-0.73733490871,-0.737399670697,-0.737464425906,-0.737529174337,-0.737593915988,-0.737658650859,-0.73772337895,-0.73778810026,-0.737852814788,-0.737917522535,-0.737982223498,-0.738046917678,-0.738111605074,-0.738176285686,-0.738240959512,-0.738305626552,-0.738370286807,-0.738434940274,-0.738499586954,-0.738564226845,-0.738628859948,-0.738693486262,-0.738758105785,-0.738822718519,-0.738887324461,-0.738951923611,-0.739016515969,-0.739081101534,-0.739145680306,-0.739210252284,-0.739274817467,-0.739339375854,-0.739403927446,-0.739468472242,-0.73953301024,-0.739597541441,-0.739662065843,-0.739726583447,-0.739791094251,-0.739855598256,-0.73992009546,-0.739984585862,-0.740049069463,-0.740113546261,-0.740178016257,-0.740242479449,-0.740306935836,-0.740371385419,-0.740435828197,-0.740500264169,-0.740564693334,-0.740629115692,-0.740693531242,-0.740757939984,-0.740822341918,-0.740886737041,-0.740951125355,-0.741015506858,-0.74107988155,-0.74114424943,-0.741208610497,-0.741272964751,-0.741337312192,-0.741401652819,-0.741465986631,-0.741530313627,-0.741594633807,-0.741658947171,-0.741723253718,-0.741787553447,-0.741851846357,-0.741916132449,-0.741980411721,-0.742044684173,-0.742108949804,-0.742173208614,-0.742237460602,-0.742301705767,-0.74236594411,-0.742430175629,-0.742494400323,-0.742558618193,-0.742622829237,-0.742687033455,-0.742751230847,-0.742815421411,-0.742879605148,-0.742943782056,-0.743007952135,-0.743072115385,-0.743136271804,-0.743200421393,-0.74326456415,-0.743328700076,-0.743392829169,-0.743456951429,-0.743521066855,-0.743585175447,-0.743649277203,-0.743713372125,-0.74377746021,-0.743841541459,-0.743905615871,-0.743969683445,-0.74403374418,-0.744097798076,-0.744161845133,-0.74422588535,-0.744289918725,-0.74435394526,-0.744417964952,-0.744481977802,-0.744545983809,-0.744609982972,-0.744673975291,-0.744737960765,-0.744801939394,-0.744865911176,-0.744929876112,-0.744993834201,-0.745057785441,-0.745121729834,-0.745185667377,-0.745249598071,-0.745313521914,-0.745377438907,-0.745441349049,-0.745505252338,-0.745569148775,-0.745633038359,-0.745696921089,-0.745760796965,-0.745824665986,-0.745888528152,-0.745952383461,-0.746016231914,-0.74608007351,-0.746143908248,-0.746207736127,-0.746271557148,-0.746335371309,-0.74639917861,-0.74646297905,-0.746526772628,-0.746590559345,-0.746654339199,-0.746718112191,-0.746781878318,-0.746845637581,-0.74690938998,-0.746973135513,-0.74703687418,-0.74710060598,-0.747164330913,-0.747228048979,-0.747291760176,-0.747355464504,-0.747419161963,-0.747482852551,-0.747546536269,-0.747610213115,-0.74767388309,-0.747737546192,-0.747801202421,-0.747864851777,-0.747928494258,-0.747992129864,-0.748055758595,-0.74811938045,-0.748182995429,-0.74824660353,-0.748310204754,-0.748373799099,-0.748437386566,-0.748500967153,-0.74856454086,-0.748628107686,-0.748691667631,-0.748755220695,-0.748818766875,-0.748882306173,-0.748945838588,-0.749009364118,-0.749072882763,-0.749136394523,-0.749199899398,-0.749263397385,-0.749326888486,-0.749390372699,-0.749453850024,-0.74951732046,-0.749580784006,-0.749644240663,-0.749707690429,-0.749771133304,-0.749834569287,-0.749897998378,-0.749961420576,-0.75002483588,-0.750088244291,-0.750151645806,-0.750215040427,-0.750278428151,-0.75034180898,-0.750405182911,-0.750468549945,-0.75053191008,-0.750595263317,-0.750658609655,-0.750721949092,-0.750785281629,-0.750848607265,-0.750911926,-0.750975237832,-0.751038542762,-0.751101840788,-0.75116513191,-0.751228416127,-0.75129169344,-0.751354963846,-0.751418227347,-0.75148148394,-0.751544733626,-0.751607976404,-0.751671212274,-0.751734441234,-0.751797663284,-0.751860878424,-0.751924086654,-0.751987287971,-0.752050482377,-0.75211366987,-0.752176850449,-0.752240024115,-0.752303190866,-0.752366350702,-0.752429503623,-0.752492649627,-0.752555788715,-0.752618920886,-0.752682046138,-0.752745164472,-0.752808275887,-0.752871380382,-0.752934477957,-0.752997568612,-0.753060652344,-0.753123729155,-0.753186799044,-0.753249862009,-0.75331291805,-0.753375967167,-0.75343900936,-0.753502044627,-0.753565072968,-0.753628094382,-0.753691108869,-0.753754116428,-0.753817117059,-0.753880110761,-0.753943097533,-0.754006077376,-0.754069050288,-0.754132016268,-0.754194975317,-0.754257927433,-0.754320872617,-0.754383810866,-0.754446742182,-0.754509666563,-0.754572584008,-0.754635494518,-0.754698398092,-0.754761294728,-0.754824184426,-0.754887067187,-0.754949943009,-0.755012811891,-0.755075673834,-0.755138528836,-0.755201376897,-0.755264218016,-0.755327052193,-0.755389879427,-0.755452699718,-0.755515513065,-0.755578319467,-0.755641118924,-0.755703911436,-0.755766697001,-0.75582947562,-0.755892247291,-0.755955012014,-0.756017769788,-0.756080520614,-0.756143264489,-0.756206001414,-0.756268731389,-0.756331454412,-0.756394170483,-0.756456879601,-0.756519581766,-0.756582276977,-0.756644965234,-0.756707646536,-0.756770320883,-0.756832988273,-0.756895648707,-0.756958302184,-0.757020948703,-0.757083588263,-0.757146220865,-0.757208846506,-0.757271465188,-0.75733407691,-0.757396681669,-0.757459279468,-0.757521870303,-0.757584454176,-0.757647031085,-0.75770960103,-0.757772164011,-0.757834720026,-0.757897269075,-0.757959811158,-0.758022346273,-0.758084874422,-0.758147395602,-0.758209909813,-0.758272417055,-0.758334917327,-0.758397410629,-0.75845989696,-0.758522376319,-0.758584848705,-0.75864731412,-0.75870977256,-0.758772224027,-0.75883466852,-0.758897106037,-0.758959536579,-0.759021960145,-0.759084376733,-0.759146786345,-0.759209188978,-0.759271584633,-0.759333973309,-0.759396355006,-0.759458729722,-0.759521097457,-0.759583458211,-0.759645811984,-0.759708158773,-0.75977049858,-0.759832831403,-0.759895157241,-0.759957476095,-0.760019787964,-0.760082092846,-0.760144390742,-0.760206681651,-0.760268965573,-0.760331242506,-0.76039351245,-0.760455775405,-0.76051803137,-0.760580280344,-0.760642522328,-0.760704757319,-0.760766985319,-0.760829206325,-0.760891420339,-0.760953627358,-0.761015827383,-0.761078020412,-0.761140206446,-0.761202385484,-0.761264557525,-0.761326722569,-0.761388880615,-0.761451031662,-0.76151317571,-0.761575312758,-0.761637442806,-0.761699565854,-0.761761681899,-0.761823790943,-0.761885892985,-0.761947988023,-0.762010076058,-0.762072157089,-0.762134231114,-0.762196298135,-0.762258358149,-0.762320411157,-0.762382457158,-0.762444496151,-0.762506528136,-0.762568553112,-0.762630571078,-0.762692582035,-0.762754585981,-0.762816582917,-0.76287857284,-0.762940555752,-0.76300253165,-0.763064500535,-0.763126462407,-0.763188417263,-0.763250365105,-0.763312305931,-0.763374239741,-0.763436166534,-0.76349808631,-0.763559999068,-0.763621904807,-0.763683803528,-0.763745695228,-0.763807579909,-0.763869457569,-0.763931328207,-0.763993191824,-0.764055048418,-0.764116897989,-0.764178740536,-0.764240576059,-0.764302404558,-0.764364226031,-0.764426040479,-0.7644878479,-0.764549648293,-0.76461144166,-0.764673227998,-0.764735007308,-0.764796779588,-0.764858544838,-0.764920303058,-0.764982054247,-0.765043798405,-0.76510553553,-0.765167265622,-0.765228988682,-0.765290704707,-0.765352413699,-0.765414115655,-0.765475810575,-0.76553749846,-0.765599179308,-0.765660853119,-0.765722519892,-0.765784179626,-0.765845832322,-0.765907477978,-0.765969116594,-0.76603074817,-0.766092372704,-0.766153990196,-0.766215600647,-0.766277204054,-0.766338800418,-0.766400389738,-0.766461972013,-0.766523547243,-0.766585115427,-0.766646676565,-0.766708230657,-0.7667697777,-0.766831317696,-0.766892850643,-0.766954376542,-0.76701589539,-0.767077407188,-0.767138911936,-0.767200409632,-0.767261900276,-0.767323383868,-0.767384860406,-0.767446329891,-0.767507792322,-0.767569247698,-0.767630696018,-0.767692137283,-0.767753571491,-0.767814998642,-0.767876418736,-0.767937831772,-0.767999237748,-0.768060636666,-0.768122028523,-0.768183413321,-0.768244791057,-0.768306161731,-0.768367525344,-0.768428881894,-0.768490231381,-0.768551573804,-0.768612909162,-0.768674237456,-0.768735558684,-0.768796872846,-0.768858179941,-0.76891947997,-0.76898077293,-0.769042058822,-0.769103337646,-0.769164609399,-0.769225874083,-0.769287131697,-0.769348382239,-0.76940962571,-0.769470862108,-0.769532091433,-0.769593313685,-0.769654528864,-0.769715736967,-0.769776937996,-0.769838131949,-0.769899318826,-0.769960498626,-0.770021671348,-0.770082836993,-0.77014399556,-0.770205147047,-0.770266291455,-0.770327428783,-0.77038855903,-0.770449682196,-0.77051079828,-0.770571907281,-0.7706330092,-0.770694104035,-0.770755191786,-0.770816272453,-0.770877346034,-0.77093841253,-0.770999471939,-0.771060524262,-0.771121569497,-0.771182607644,-0.771243638702,-0.771304662672,-0.771365679552,-0.771426689341,-0.77148769204,-0.771548687647,-0.771609676163,-0.771670657586,-0.771731631916,-0.771792599152,-0.771853559294,-0.771914512342,-0.771975458294,-0.77203639715,-0.77209732891,-0.772158253573,-0.772219171139,-0.772280081606,-0.772340984975,-0.772401881245,-0.772462770415,-0.772523652484,-0.772584527453,-0.77264539532,-0.772706256086,-0.772767109748,-0.772827956308,-0.772888795764,-0.772949628116,-0.773010453363,-0.773071271504,-0.77313208254,-0.773192886469,-0.773253683291,-0.773314473006,-0.773375255613,-0.77343603111,-0.773496799499,-0.773557560778,-0.773618314946,-0.773679062003,-0.773739801949,-0.773800534783,-0.773861260504,-0.773921979112,-0.773982690607,-0.774043394987,-0.774104092252,-0.774164782402,-0.774225465436,-0.774286141353,-0.774346810154,-0.774407471836,-0.774468126401,-0.774528773846,-0.774589414173,-0.774650047379,-0.774710673466,-0.774771292431,-0.774831904274,-0.774892508996,-0.774953106595,-0.775013697071,-0.775074280423,-0.77513485665,-0.775195425753,-0.77525598773,-0.775316542582,-0.775377090306,-0.775437630904,-0.775498164374,-0.775558690716,-0.775619209929,-0.775679722013,-0.775740226967,-0.77580072479,-0.775861215483,-0.775921699043,-0.775982175472,-0.776042644768,-0.776103106931,-0.77616356196,-0.776224009855,-0.776284450615,-0.776344884239,-0.776405310728,-0.77646573008,-0.776526142295,-0.776586547372,-0.776646945311,-0.776707336111,-0.776767719772,-0.776828096293,-0.776888465673,-0.776948827913,-0.777009183011,-0.777069530967,-0.77712987178,-0.77719020545,-0.777250531976,-0.777310851358,-0.777371163595,-0.777431468687,-0.777491766632,-0.777552057431,-0.777612341083,-0.777672617588,-0.777732886944,-0.777793149151,-0.777853404209,-0.777913652118,-0.777973892876,-0.778034126482,-0.778094352938,-0.778154572241,-0.778214784392,-0.778274989389,-0.778335187233,-0.778395377922,-0.778455561457,-0.778515737836,-0.778575907059,-0.778636069126,-0.778696224036,-0.778756371788,-0.778816512381,-0.778876645817,-0.778936772093,-0.778996891209,-0.779057003164,-0.779117107959,-0.779177205593,-0.779237296064,-0.779297379373,-0.779357455518,-0.7794175245,-0.779477586318,-0.779537640971,-0.779597688458,-0.77965772878,-0.779717761935,-0.779777787923,-0.779837806744,-0.779897818396,-0.77995782288,-0.780017820195,-0.78007781034,-0.780137793314,-0.780197769118,-0.78025773775,-0.780317699211,-0.780377653499,-0.780437600613,-0.780497540555,-0.780557473322,-0.780617398914,-0.780677317331,-0.780737228572,-0.780797132637,-0.780857029525,-0.780916919235,-0.780976801768,-0.781036677122,-0.781096545296,-0.781156406291,-0.781216260106,-0.78127610674,-0.781335946193,-0.781395778464,-0.781455603552,-0.781515421458,-0.78157523218,-0.781635035718,-0.781694832071,-0.781754621239,-0.781814403222,-0.781874178018,-0.781933945627,-0.781993706049,-0.782053459283,-0.782113205328,-0.782172944185,-0.782232675852,-0.782292400329,-0.782352117615,-0.78241182771,-0.782471530613,-0.782531226324,-0.782590914842,-0.782650596167,-0.782710270297,-0.782769937233,-0.782829596975,-0.78288924952,-0.782948894869,-0.783008533022,-0.783068163977,-0.783127787735,-0.783187404294,-0.783247013655,-0.783306615816,-0.783366210777,-0.783425798537,-0.783485379096,-0.783544952454,-0.78360451861,-0.783664077562,-0.783723629312,-0.783783173858,-0.783842711199,-0.783902241336,-0.783961764266,-0.784021279991,-0.78408078851,-0.784140289821,-0.784199783925,-0.78425927082,-0.784318750507,-0.784378222984,-0.784437688252,-0.784497146309,-0.784556597156,-0.78461604079,-0.784675477213,-0.784734906423,-0.78479432842,-0.784853743204,-0.784913150773,-0.784972551128,-0.785031944267,-0.78509133019,-0.785150708897,-0.785210080387,-0.78526944466,-0.785328801714,-0.78538815155,-0.785447494167,-0.785506829564,-0.785566157741,-0.785625478697,-0.785684792432,-0.785744098945,-0.785803398236,-0.785862690303,-0.785921975148,-0.785981252768,-0.786040523163,-0.786099786334,-0.786159042279,-0.786218290997,-0.786277532489,-0.786336766754,-0.786395993791,-0.786455213599,-0.786514426179,-0.786573631529,-0.786632829648,-0.786692020538,-0.786751204196,-0.786810380623,-0.786869549817,-0.786928711779,-0.786987866507,-0.787047014002,-0.787106154262,-0.787165287288,-0.787224413078,-0.787283531631,-0.787342642949,-0.787401747029,-0.787460843872,-0.787519933476,-0.787579015842,-0.787638090968,-0.787697158855,-0.787756219501,-0.787815272907,-0.787874319071,-0.787933357993,-0.787992389673,-0.788051414109,-0.788110431302,-0.788169441251,-0.788228443955,-0.788287439414,-0.788346427627,-0.788405408593,-0.788464382313,-0.788523348786,-0.78858230801,-0.788641259986,-0.788700204714,-0.788759142191,-0.788818072418,-0.788876995395,-0.788935911121,-0.788994819595,-0.789053720816,-0.789112614785,-0.7891715015,-0.789230380962,-0.789289253169,-0.789348118121,-0.789406975818,-0.789465826258,-0.789524669442,-0.789583505369,-0.789642334038,-0.789701155449,-0.789759969601,-0.789818776494,-0.789877576127,-0.789936368499,-0.789995153611,-0.790053931461,-0.790112702049,-0.790171465375,-0.790230221437,-0.790288970236,-0.790347711771,-0.790406446041,-0.790465173046,-0.790523892785,-0.790582605257,-0.790641310463,-0.790700008402,-0.790758699072,-0.790817382474,-0.790876058607,-0.790934727471,-0.790993389064,-0.791052043386,-0.791110690438,-0.791169330218,-0.791227962725,-0.79128658796,-0.791345205921,-0.791403816609,-0.791462420022,-0.79152101616,-0.791579605023,-0.791638186609,-0.791696760919,-0.791755327952,-0.791813887707,-0.791872440184,-0.791930985383,-0.791989523302,-0.792048053941,-0.7921065773,-0.792165093378,-0.792223602175,-0.79228210369,-0.792340597922,-0.792399084871,-0.792457564537,-0.792516036918,-0.792574502015,-0.792632959827,-0.792691410353,-0.792749853593,-0.792808289546,-0.792866718212,-0.79292513959,-0.792983553679,-0.793041960479,-0.79310035999,-0.793158752211,-0.793217137142,-0.793275514781,-0.793333885129,-0.793392248185,-0.793450603948,-0.793508952417,-0.793567293593,-0.793625627475,-0.793683954062,-0.793742273353,-0.793800585349,-0.793858890048,-0.79391718745,-0.793975477554,-0.794033760361,-0.794092035869,-0.794150304078,-0.794208564987,-0.794266818596,-0.794325064904,-0.794383303911,-0.794441535616,-0.794499760019,-0.794557977119,-0.794616186915,-0.794674389408,-0.794732584596,-0.794790772479,-0.794848953057,-0.794907126328,-0.794965292293,-0.795023450951,-0.795081602301,-0.795139746343,-0.795197883076,-0.7952560125,-0.795314134613,-0.795372249417,-0.79543035691,-0.795488457091,-0.79554654996,-0.795604635517,-0.795662713761,-0.795720784691,-0.795778848307,-0.795836904609,-0.795894953595,-0.795952995266,-0.79601102962,-0.796069056658,-0.796127076378,-0.796185088781,-0.796243093865,-0.79630109163,-0.796359082076,-0.796417065202,-0.796475041008,-0.796533009492,-0.796590970655,-0.796648924495,-0.796706871013,-0.796764810208,-0.79682274208,-0.796880666627,-0.796938583849,-0.796996493746,-0.797054396317,-0.797112291562,-0.79717017948,-0.79722806007,-0.797285933333,-0.797343799267,-0.797401657872,-0.797459509147,-0.797517353093,-0.797575189708,-0.797633018991,-0.797690840943,-0.797748655563,-0.79780646285,-0.797864262804,-0.797922055424,-0.79797984071,-0.798037618661,-0.798095389276,-0.798153152556,-0.798210908499,-0.798268657105,-0.798326398373,-0.798384132304,-0.798441858896,-0.798499578149,-0.798557290062,-0.798614994635,-0.798672691867,-0.798730381758,-0.798788064308,-0.798845739515,-0.798903407379,-0.7989610679,-0.799018721077,-0.799076366909,-0.799134005397,-0.799191636539,-0.799249260335,-0.799306876785,-0.799364485888,-0.799422087643,-0.79947968205,-0.799537269108,-0.799594848817,-0.799652421176,-0.799709986186,-0.799767543844,-0.799825094151,-0.799882637106,-0.799940172709,-0.799997700959,-0.800055221856,-0.800112735399,-0.800170241587,-0.80022774042,-0.800285231898,-0.80034271602,-0.800400192785,-0.800457662193,-0.800515124243,-0.800572578935,-0.800630026269,-0.800687466243,-0.800744898857,-0.800802324112,-0.800859742005,-0.800917152537,-0.800974555708,-0.801031951515,-0.80108933996,-0.801146721042,-0.80120409476,-0.801261461113,-0.801318820101,-0.801376171723,-0.80143351598,-0.801490852869,-0.801548182392,-0.801605504547,-0.801662819334,-0.801720126752,-0.801777426801,-0.80183471948,-0.801892004789,-0.801949282727,-0.802006553293,-0.802063816488,-0.802121072311,-0.80217832076,-0.802235561836,-0.802292795538,-0.802350021866,-0.802407240818,-0.802464452395,-0.802521656596,-0.80257885342,-0.802636042867,-0.802693224937,-0.802750399628,-0.802807566941,-0.802864726874,-0.802921879428,-0.802979024601,-0.803036162393,-0.803093292804,-0.803150415834,-0.803207531481,-0.803264639745,-0.803321740625,-0.803378834122,-0.803435920234,-0.803492998961,-0.803550070303,-0.803607134258,-0.803664190827,-0.803721240009,-0.803778281803,-0.803835316209,-0.803892343226,-0.803949362854,-0.804006375093,-0.804063379941,-0.804120377398,-0.804177367464,-0.804234350139,-0.80429132542,-0.804348293309,-0.804405253805,-0.804462206907,-0.804519152614,-0.804576090926,-0.804633021843,-0.804689945364,-0.804746861488,-0.804803770215,-0.804860671545,-0.804917565476,-0.804974452009,-0.805031331143,-0.805088202877,-0.805145067211,-0.805201924144,-0.805258773676,-0.805315615806,-0.805372450534,-0.805429277859,-0.80548609778,-0.805542910298,-0.805599715412,-0.80565651312,-0.805713303423,-0.805770086321,-0.805826861811,-0.805883629895,-0.805940390571,-0.805997143839,-0.806053889699,-0.80611062815,-0.806167359191,-0.806224082821,-0.806280799042,-0.806337507851,-0.806394209248,-0.806450903233,-0.806507589806,-0.806564268965,-0.80662094071,-0.806677605041,-0.806734261958,-0.806790911459,-0.806847553544,-0.806904188213,-0.806960815464,-0.807017435299,-0.807074047716,-0.807130652714,-0.807187250293,-0.807243840452,-0.807300423192,-0.807356998511,-0.807413566409,-0.807470126886,-0.80752667994,-0.807583225572,-0.80763976378,-0.807696294565,-0.807752817926,-0.807809333862,-0.807865842373,-0.807922343458,-0.807978837117,-0.80803532335,-0.808091802154,-0.808148273531,-0.80820473748,-0.808261194,-0.808317643091,-0.808374084751,-0.808430518982,-0.808486945781,-0.808543365149,-0.808599777085,-0.808656181588,-0.808712578659,-0.808768968296,-0.808825350499,-0.808881725267,-0.8089380926,-0.808994452498,-0.80905080496,-0.809107149985,-0.809163487572,-0.809219817723,-0.809276140435,-0.809332455708,-0.809388763542,-0.809445063937,-0.809501356891,-0.809557642404,-0.809613920476,-0.809670191106,-0.809726454294,-0.80978271004,-0.809838958341,-0.809895199199,-0.809951432613,-0.810007658582,-0.810063877105,-0.810120088182,-0.810176291813,-0.810232487997,-0.810288676733,-0.810344858022,-0.810401031862,-0.810457198253,-0.810513357194,-0.810569508685,-0.810625652726,-0.810681789315,-0.810737918453,-0.810794040139,-0.810850154372,-0.810906261152,-0.810962360479,-0.811018452351,-0.811074536768,-0.811130613731,-0.811186683237,-0.811242745287,-0.811298799881,-0.811354847017,-0.811410886695,-0.811466918916,-0.811522943677,-0.811578960979,-0.811634970821,-0.811690973202,-0.811746968123,-0.811802955583,-0.81185893558,-0.811914908115,-0.811970873187,-0.812026830796,-0.81208278094,-0.81213872362,-0.812194658836,-0.812250586585,-0.812306506869,-0.812362419686,-0.812418325036,-0.812474222918,-0.812530113333,-0.812585996278,-0.812641871755,-0.812697739762,-0.812753600299,-0.812809453365,-0.81286529896,-0.812921137083,-0.812976967734,-0.813032790913,-0.813088606618,-0.813144414849,-0.813200215606,-0.813256008889,-0.813311794696,-0.813367573027,-0.813423343883,-0.813479107261,-0.813534863162,-0.813590611585,-0.81364635253,-0.813702085995,-0.813757811982,-0.813813530489,-0.813869241515,-0.81392494506,-0.813980641124,-0.814036329706,-0.814092010805,-0.814147684422,-0.814203350555,-0.814259009204,-0.814314660369,-0.814370304048,-0.814425940242,-0.81448156895,-0.814537190172,-0.814592803906,-0.814648410153,-0.814704008912,-0.814759600182,-0.814815183964,-0.814870760255,-0.814926329057,-0.814981890367,-0.815037444187,-0.815092990515,-0.815148529351,-0.815204060694,-0.815259584544,-0.8153151009,-0.815370609762,-0.81542611113,-0.815481605002,-0.815537091378,-0.815592570259,-0.815648041642,-0.815703505528,-0.815758961917,-0.815814410807,-0.815869852198,-0.81592528609,-0.815980712482,-0.816036131374,-0.816091542765,-0.816146946655,-0.816202343043,-0.816257731928,-0.816313113311,-0.81636848719,-0.816423853566,-0.816479212437,-0.816534563803,-0.816589907664,-0.816645244018,-0.816700572867,-0.816755894208,-0.816811208042,-0.816866514368,-0.816921813186,-0.816977104494,-0.817032388294,-0.817087664583,-0.817142933361,-0.817198194629,-0.817253448385,-0.817308694629,-0.817363933361,-0.817419164579,-0.817474388284,-0.817529604475,-0.817584813152,-0.817640014313,-0.817695207959,-0.817750394088,-0.817805572701,-0.817860743797,-0.817915907376,-0.817971063436,-0.818026211978,-0.818081353,-0.818136486503,-0.818191612486,-0.818246730948,-0.818301841889,-0.818356945309,-0.818412041206,-0.81846712958,-0.818522210432,-0.818577283759,-0.818632349563,-0.818687407842,-0.818742458595,-0.818797501823,-0.818852537525,-0.8189075657,-0.818962586347,-0.819017599467,-0.819072605059,-0.819127603122,-0.819182593656,-0.81923757666,-0.819292552134,-0.819347520077,-0.819402480489,-0.819457433369,-0.819512378716,-0.819567316531,-0.819622246813,-0.819677169561,-0.819732084774,-0.819786992453,-0.819841892596,-0.819896785204,-0.819951670275,-0.82000654781,-0.820061417807,-0.820116280266,-0.820171135187,-0.820225982569,-0.820280822412,-0.820335654715,-0.820390479478,-0.8204452967,-0.82050010638,-0.820554908519,-0.820609703115,-0.820664490168,-0.820719269678,-0.820774041644,-0.820828806066,-0.820883562943,-0.820938312274,-0.82099305406,-0.821047788299,-0.821102514991,-0.821157234136,-0.821211945733,-0.821266649781,-0.821321346281,-0.821376035231,-0.821430716632,-0.821485390482,-0.821540056781,-0.821594715528,-0.821649366724,-0.821704010367,-0.821758646457,-0.821813274994,-0.821867895977,-0.821922509406,-0.821977115279,-0.822031713597,-0.82208630436,-0.822140887565,-0.822195463214,-0.822250031306,-0.822304591839,-0.822359144814,-0.82241369023,-0.822468228087,-0.822522758383,-0.822577281119,-0.822631796295,-0.822686303908,-0.82274080396,-0.822795296449,-0.822849781376,-0.822904258739,-0.822958728538,-0.823013190772,-0.823067645442,-0.823122092546,-0.823176532084,-0.823230964056,-0.82328538846,-0.823339805298,-0.823394214567,-0.823448616268,-0.8235030104,-0.823557396962,-0.823611775954,-0.823666147376,-0.823720511227,-0.823774867507,-0.823829216215,-0.82388355735,-0.823937890912,-0.8239922169,-0.824046535315,-0.824100846156,-0.824155149421,-0.824209445111,-0.824263733225,-0.824318013762,-0.824372286723,-0.824426552106,-0.824480809911,-0.824535060137,-0.824589302785,-0.824643537853,-0.824697765342,-0.824751985249,-0.824806197576,-0.824860402322,-0.824914599485,-0.824968789066,-0.825022971065,-0.825077145479,-0.82513131231,-0.825185471556,-0.825239623218,-0.825293767294,-0.825347903784,-0.825402032688,-0.825456154004,-0.825510267734,-0.825564373875,-0.825618472428,-0.825672563392,-0.825726646767,-0.825780722552,-0.825834790746,-0.82588885135,-0.825942904362,-0.825996949782,-0.82605098761,-0.826105017845,-0.826159040486,-0.826213055534,-0.826267062987,-0.826321062846,-0.826375055109,-0.826429039776,-0.826483016847,-0.826536986321,-0.826590948197,-0.826644902476,-0.826698849157,-0.826752788238,-0.826806719721,-0.826860643603,-0.826914559885,-0.826968468567,-0.827022369647,-0.827076263125,-0.827130149001,-0.827184027274,-0.827237897943,-0.827291761009,-0.827345616471,-0.827399464328,-0.82745330458,-0.827507137226,-0.827560962265,-0.827614779698,-0.827668589524,-0.827722391741,-0.827776186351,-0.827829973352,-0.827883752743,-0.827937524525,-0.827991288697,-0.828045045258,-0.828098794207,-0.828152535545,-0.828206269271,-0.828259995384,-0.828313713884,-0.828367424771,-0.828421128043,-0.8284748237,-0.828528511742,-0.828582192169,-0.828635864979,-0.828689530173,-0.82874318775,-0.828796837709,-0.82885048005,-0.828904114772,-0.828957741875,-0.829011361359,-0.829064973222,-0.829118577465,-0.829172174087,-0.829225763087,-0.829279344465,-0.829332918221,-0.829386484353,-0.829440042862,-0.829493593747,-0.829547137008,-0.829600672643,-0.829654200653,-0.829707721037,-0.829761233795,-0.829814738925,-0.829868236428,-0.829921726303,-0.829975208549,-0.830028683167,-0.830082150155,-0.830135609513,-0.830189061241,-0.830242505338,-0.830295941803,-0.830349370637,-0.830402791838,-0.830456205406,-0.830509611341,-0.830563009642,-0.830616400309,-0.830669783341,-0.830723158737,-0.830776526498,-0.830829886622,-0.83088323911,-0.83093658396,-0.830989921172,-0.831043250746,-0.831096572682,-0.831149886978,-0.831203193634,-0.83125649265,-0.831309784026,-0.83136306776,-0.831416343852,-0.831469612303,-0.83152287311,-0.831576126274,-0.831629371795,-0.831682609672,-0.831735839904,-0.83178906249,-0.831842277432,-0.831895484727,-0.831948684375,-0.832001876376,-0.83205506073,-0.832108237436,-0.832161406493,-0.832214567901,-0.832267721659,-0.832320867768,-0.832374006226,-0.832427137033,-0.832480260188,-0.832533375692,-0.832586483543,-0.832639583741,-0.832692676286,-0.832745761176,-0.832798838413,-0.832851907994,-0.83290496992,-0.83295802419,-0.833011070804,-0.833064109761,-0.83311714106,-0.833170164702,-0.833223180685,-0.83327618901,-0.833329189675,-0.833382182681,-0.833435168026,-0.83348814571,-0.833541115733,-0.833594078095,-0.833647032794,-0.833699979831,-0.833752919204,-0.833805850914,-0.833858774959,-0.83391169134,-0.833964600056,-0.834017501106,-0.83407039449,-0.834123280207,-0.834176158258,-0.83422902864,-0.834281891355,-0.834334746401,-0.834387593778,-0.834440433486,-0.834493265524,-0.834546089891,-0.834598906587,-0.834651715612,-0.834704516965,-0.834757310645,-0.834810096652,-0.834862874986,-0.834915645647,-0.834968408632,-0.835021163943,-0.835073911579,-0.835126651539,-0.835179383822,-0.835232108429,-0.835284825358,-0.83533753461,-0.835390236183,-0.835442930078,-0.835495616294,-0.835548294829,-0.835600965685,-0.83565362886,-0.835706284354,-0.835758932166,-0.835811572296,-0.835864204743,-0.835916829508,-0.835969446589,-0.836022055985,-0.836074657698,-0.836127251725,-0.836179838066,-0.836232416722,-0.836284987691,-0.836337550974,-0.836390106568,-0.836442654475,-0.836495194694,-0.836547727224,-0.836600252064,-0.836652769214,-0.836705278674,-0.836757780444,-0.836810274522,-0.836862760908,-0.836915239602,-0.836967710603,-0.837020173911,-0.837072629525,-0.837125077445,-0.837177517671,-0.837229950201,-0.837282375035,-0.837334792174,-0.837387201616,-0.83743960336,-0.837491997408,-0.837544383757,-0.837596762407,-0.837649133359,-0.837701496611,-0.837753852163,-0.837806200015,-0.837858540166,-0.837910872615,-0.837963197363,-0.838015514408,-0.83806782375,-0.838120125389,-0.838172419324,-0.838224705555,-0.838276984081,-0.838329254902,-0.838381518017,-0.838433773425,-0.838486021127,-0.838538261122,-0.838590493409,-0.838642717989,-0.838694934859,-0.83874714402,-0.838799345472,-0.838851539214,-0.838903725245,-0.838955903565,-0.839008074174,-0.83906023707,-0.839112392254,-0.839164539726,-0.839216679484,-0.839268811527,-0.839320935857,-0.839373052472,-0.839425161371,-0.839477262555,-0.839529356022,-0.839581441772,-0.839633519805,-0.839685590121,-0.839737652718,-0.839789707597,-0.839841754756,-0.839893794196,-0.839945825916,-0.839997849915,-0.840049866193,-0.840101874749,-0.840153875583,-0.840205868695,-0.840257854084,-0.84030983175,-0.840361801691,-0.840413763908,-0.8404657184,-0.840517665167,-0.840569604208,-0.840621535522,-0.84067345911,-0.84072537497,-0.840777283103,-0.840829183508,-0.840881076183,-0.84093296113,-0.840984838347,-0.841036707833,-0.841088569589,-0.841140423614,-0.841192269908,-0.841244108469,-0.841295939298,-0.841347762394,-0.841399577756,-0.841451385384,-0.841503185278,-0.841554977437,-0.84160676186,-0.841658538548,-0.841710307499,-0.841762068714,-0.841813822191,-0.841865567931,-0.841917305932,-0.841969036194,-0.842020758718,-0.842072473501,-0.842124180545,-0.842175879848,-0.842227571409,-0.842279255229,-0.842330931308,-0.842382599643,-0.842434260236,-0.842485913085,-0.84253755819,-0.842589195551,-0.842640825167,-0.842692447037,-0.842744061162,-0.84279566754,-0.842847266172,-0.842898857056,-0.842950440192,-0.84300201558,-0.84305358322,-0.84310514311,-0.843156695251,-0.843208239642,-0.843259776282,-0.843311305171,-0.843362826308,-0.843414339694,-0.843465845327,-0.843517343207,-0.843568833333,-0.843620315706,-0.843671790324,-0.843723257188,-0.843774716296,-0.843826167648,-0.843877611244,-0.843929047084,-0.843980475166,-0.84403189549,-0.844083308056,-0.844134712864,-0.844186109912,-0.844237499201,-0.84428888073,-0.844340254499,-0.844391620506,-0.844442978752,-0.844494329236,-0.844545671957,-0.844597006916,-0.844648334111,-0.844699653543,-0.84475096521,-0.844802269113,-0.84485356525,-0.844904853621,-0.844956134226,-0.845007407065,-0.845058672137,-0.845109929441,-0.845161178976,-0.845212420744,-0.845263654742,-0.845314880971,-0.84536609943,-0.845417310118,-0.845468513036,-0.845519708182,-0.845570895556,-0.845622075158,-0.845673246987,-0.845724411043,-0.845775567326,-0.845826715834,-0.845877856567,-0.845928989525,-0.845980114708,-0.846031232115,-0.846082341745,-0.846133443598,-0.846184537674,-0.846235623971,-0.846286702491,-0.846337773231,-0.846388836192,-0.846439891373,-0.846490938774,-0.846541978394,-0.846593010233,-0.84664403429,-0.846695050565,-0.846746059058,-0.846797059767,-0.846848052693,-0.846899037834,-0.846950015192,-0.847000984764,-0.84705194655,-0.847102900551,-0.847153846766,-0.847204785193,-0.847255715833,-0.847306638686,-0.84735755375,-0.847408461025,-0.847459360512,-0.847510252208,-0.847561136115,-0.847612012231,-0.847662880555,-0.847713741089,-0.84776459383,-0.847815438779,-0.847866275935,-0.847917105297,-0.847967926866,-0.84801874064,-0.848069546619,-0.848120344803,-0.848171135192,-0.848221917784,-0.848272692579,-0.848323459578,-0.848374218779,-0.848424970181,-0.848475713785,-0.848526449591,-0.848577177596,-0.848627897802,-0.848678610207,-0.848729314812,-0.848780011615,-0.848830700616,-0.848881381815,-0.848932055212,-0.848982720805,-0.849033378594,-0.84908402858,-0.84913467076,-0.849185305136,-0.849235931706,-0.84928655047,-0.849337161428,-0.849387764579,-0.849438359922,-0.849488947457,-0.849539527185,-0.849590099103,-0.849640663212,-0.849691219512,-0.849741768001,-0.849792308679,-0.849842841547,-0.849893366603,-0.849943883847,-0.849994393278,-0.850044894897,-0.850095388702,-0.850145874693,-0.850196352869,-0.850246823231,-0.850297285778,-0.850347740509,-0.850398187424,-0.850448626522,-0.850499057802,-0.850549481266,-0.850599896911,-0.850650304737,-0.850700704745,-0.850751096933,-0.850801481302,-0.850851857849,-0.850902226576,-0.850952587482,-0.851002940566,-0.851053285828,-0.851103623267,-0.851153952883,-0.851204274675,-0.851254588643,-0.851304894787,-0.851355193105,-0.851405483598,-0.851455766266,-0.851506041106,-0.85155630812,-0.851606567307,-0.851656818666,-0.851707062196,-0.851757297898,-0.851807525771,-0.851857745814,-0.851907958027,-0.851958162409,-0.85200835896,-0.85205854768,-0.852108728568,-0.852158901624,-0.852209066847,-0.852259224236,-0.852309373792,-0.852359515513,-0.8524096494,-0.852459775451,-0.852509893667,-0.852560004047,-0.85261010659,-0.852660201296,-0.852710288165,-0.852760367196,-0.852810438388,-0.852860501742,-0.852910557256,-0.85296060493,-0.853010644765,-0.853060676758,-0.853110700911,-0.853160717221,-0.85321072569,-0.853260726316,-0.8533107191,-0.853360704039,-0.853410681135,-0.853460650387,-0.853510611793,-0.853560565355,-0.85361051107,-0.85366044894,-0.853710378962,-0.853760301138,-0.853810215466,-0.853860121946,-0.853910020578,-0.85395991136,-0.854009794293,-0.854059669377,-0.85410953661,-0.854159395992,-0.854209247523,-0.854259091202,-0.854308927029,-0.854358755003,-0.854408575125,-0.854458387392,-0.854508191806,-0.854557988365,-0.85460777707,-0.854657557919,-0.854707330912,-0.854757096049,-0.854806853329,-0.854856602752,-0.854906344317,-0.854956078025,-0.855005803873,-0.855055521863,-0.855105231993,-0.855154934263,-0.855204628673,-0.855254315222,-0.855303993909,-0.855353664735,-0.855403327699,-0.8554529828,-0.855502630037,-0.855552269412,-0.855601900922,-0.855651524567,-0.855701140348,-0.855750748263,-0.855800348313,-0.855849940496,-0.855899524812,-0.855949101261,-0.855998669842,-0.856048230555,-0.8560977834,-0.856147328375,-0.856196865481,-0.856246394717,-0.856295916083,-0.856345429577,-0.8563949352,-0.856444432952,-0.856493922831,-0.856543404838,-0.856592878971,-0.856642345231,-0.856691803616,-0.856741254128,-0.856790696764,-0.856840131525,-0.856889558409,-0.856938977418,-0.85698838855,-0.857037791804,-0.857087187181,-0.857136574679,-0.857185954299,-0.85723532604,-0.857284689901,-0.857334045883,-0.857383393984,-0.857432734204,-0.857482066543,-0.857531390999,-0.857580707574,-0.857630016266,-0.857679317075,-0.85772861,-0.857777895041,-0.857827172198,-0.85787644147,-0.857925702856,-0.857974956357,-0.858024201971,-0.858073439698,-0.858122669538,-0.858171891491,-0.858221105555,-0.858270311731,-0.858319510017,-0.858368700414,-0.858417882922,-0.858467057538,-0.858516224264,-0.858565383099,-0.858614534042,-0.858663677093,-0.858712812251,-0.858761939516,-0.858811058887,-0.858860170365,-0.858909273948,-0.858958369636,-0.859007457429,-0.859056537325,-0.859105609326,-0.85915467343,-0.859203729637,-0.859252777946,-0.859301818357,-0.85935085087,-0.859399875483,-0.859448892197,-0.859497901012,-0.859546901926,-0.859595894939,-0.859644880051,-0.859693857261,-0.859742826569,-0.859791787975,-0.859840741477,-0.859889687077,-0.859938624772,-0.859987554563,-0.860036476449,-0.860085390429,-0.860134296504,-0.860183194673,-0.860232084935,-0.860280967291,-0.860329841738,-0.860378708278,-0.860427566909,-0.860476417632,-0.860525260445,-0.860574095348,-0.860622922341,-0.860671741424,-0.860720552595,-0.860769355855,-0.860818151202,-0.860866938638,-0.86091571816,-0.860964489769,-0.861013253464,-0.861062009245,-0.861110757112,-0.861159497063,-0.861208229099,-0.861256953218,-0.861305669421,-0.861354377707,-0.861403078076,-0.861451770527,-0.861500455059,-0.861549131673,-0.861597800368,-0.861646461143,-0.861695113998,-0.861743758933,-0.861792395946,-0.861841025038,-0.861889646209,-0.861938259456,-0.861986864782,-0.862035462184,-0.862084051662,-0.862132633216,-0.862181206846,-0.862229772551,-0.86227833033,-0.862326880184,-0.862375422111,-0.862423956111,-0.862472482184,-0.86252100033,-0.862569510547,-0.862618012836,-0.862666507196,-0.862714993626,-0.862763472126,-0.862811942697,-0.862860405336,-0.862908860044,-0.862957306821,-0.863005745665,-0.863054176577,-0.863102599555,-0.863151014601,-0.863199421712,-0.863247820889,-0.863296212131,-0.863344595439,-0.86339297081,-0.863441338245,-0.863489697744,-0.863538049305,-0.86358639293,-0.863634728616,-0.863683056364,-0.863731376173,-0.863779688043,-0.863827991973,-0.863876287963,-0.863924576013,-0.863972856122,-0.864021128289,-0.864069392514,-0.864117648797,-0.864165897137,-0.864214137534,-0.864262369987,-0.864310594496,-0.864358811061,-0.86440701968,-0.864455220354,-0.864503413082,-0.864551597864,-0.864599774699,-0.864647943587,-0.864696104527,-0.864744257519,-0.864792402563,-0.864840539658,-0.864888668803,-0.864936789998,-0.864984903243,-0.865033008537,-0.86508110588,-0.865129195272,-0.865177276711,-0.865225350198,-0.865273415731,-0.865321473312,-0.865369522938,-0.865417564611,-0.865465598328,-0.865513624091,-0.865561641897,-0.865609651748,-0.865657653642,-0.865705647579,-0.865753633559,-0.865801611581,-0.865849581645,-0.86589754375,-0.865945497896,-0.865993444082,-0.866041382309,-0.866089312575,-0.86613723488,-0.866185149223,-0.866233055605,-0.866280954025,-0.866328844481,-0.866376726975,-0.866424601505,-0.866472468072,-0.866520326674,-0.866568177311,-0.866616019982,-0.866663854688,-0.866711681428,-0.866759500201,-0.866807311007,-0.866855113845,-0.866902908716,-0.866950695618,-0.866998474552,-0.867046245516,-0.86709400851,-0.867141763534,-0.867189510588,-0.867237249671,-0.867284980782,-0.867332703921,-0.867380419088,-0.867428126282,-0.867475825503,-0.867523516751,-0.867571200024,-0.867618875323,-0.867666542646,-0.867714201995,-0.867761853367,-0.867809496763,-0.867857132183,-0.867904759625,-0.86795237909,-0.867999990577,-0.868047594085,-0.868095189614,-0.868142777164,-0.868190356734,-0.868237928324,-0.868285491934,-0.868333047562,-0.868380595209,-0.868428134873,-0.868475666556,-0.868523190255,-0.868570705971,-0.868618213704,-0.868665713452,-0.868713205216,-0.868760688995,-0.868808164788,-0.868855632595,-0.868903092416,-0.868950544251,-0.868997988098,-0.869045423957,-0.869092851828,-0.869140271711,-0.869187683605,-0.86923508751,-0.869282483424,-0.869329871349,-0.869377251282,-0.869424623225,-0.869471987176,-0.869519343135,-0.869566691101,-0.869614031075,-0.869661363056,-0.869708687042,-0.869756003035,-0.869803311033,-0.869850611035,-0.869897903043,-0.869945187054,-0.869992463069,-0.870039731088,-0.870086991109,-0.870134243132,-0.870181487157,-0.870228723184,-0.870275951212,-0.870323171241,-0.870370383269,-0.870417587298,-0.870464783325,-0.870511971352,-0.870559151377,-0.8706063234,-0.870653487421,-0.870700643438,-0.870747791453,-0.870794931464,-0.87084206347,-0.870889187472,-0.870936303469,-0.87098341146,-0.871030511446,-0.871077603425,-0.871124687398,-0.871171763363,-0.871218831321,-0.87126589127,-0.871312943212,-0.871359987144,-0.871407023067,-0.87145405098,-0.871501070883,-0.871548082775,-0.871595086656,-0.871642082526,-0.871689070383,-0.871736050229,-0.871783022061,-0.87182998588,-0.871876941686,-0.871923889477,-0.871970829254,-0.872017761016,-0.872064684763,-0.872111600493,-0.872158508208,-0.872205407906,-0.872252299586,-0.872299183249,-0.872346058894,-0.872392926521,-0.872439786129,-0.872486637717,-0.872533481286,-0.872580316835,-0.872627144363,-0.87267396387,-0.872720775356,-0.87276757882,-0.872814374261,-0.87286116168,-0.872907941076,-0.872954712448,-0.873001475796,-0.87304823112,-0.873094978418,-0.873141717692,-0.873188448939,-0.873235172161,-0.873281887356,-0.873328594524,-0.873375293664,-0.873421984777,-0.873468667861,-0.873515342917,-0.873562009943,-0.87360866894,-0.873655319907,-0.873701962843,-0.873748597749,-0.873795224623,-0.873841843465,-0.873888454276,-0.873935057053,-0.873981651798,-0.874028238509,-0.874074817186,-0.874121387829,-0.874167950438,-0.874214505011,-0.874261051548,-0.87430759005,-0.874354120515,-0.874400642943,-0.874447157334,-0.874493663687,-0.874540162002,-0.874586652278,-0.874633134516,-0.874679608713,-0.874726074872,-0.874772532989,-0.874818983066,-0.874865425102,-0.874911859097,-0.874958285049,-0.875004702959,-0.875051112826,-0.87509751465,-0.87514390843,-0.875190294165,-0.875236671857,-0.875283041503,-0.875329403104,-0.875375756659,-0.875422102168,-0.87546843963,-0.875514769045,-0.875561090413,-0.875607403732,-0.875653709003,-0.875700006226,-0.875746295399,-0.875792576522,-0.875838849595,-0.875885114618,-0.87593137159,-0.87597762051,-0.876023861379,-0.876070094195,-0.876116318959,-0.87616253567,-0.876208744327,-0.87625494493,-0.876301137479,-0.876347321973,-0.876393498412,-0.876439666796,-0.876485827123,-0.876531979394,-0.876578123608,-0.876624259764,-0.876670387863,-0.876716507904,-0.876762619886,-0.876808723809,-0.876854819673,-0.876900907477,-0.87694698722,-0.876993058903,-0.877039122525,-0.877085178085,-0.877131225583,-0.877177265019,-0.877223296392,-0.877269319701,-0.877315334947,-0.877361342129,-0.877407341246,-0.877453332299,-0.877499315286,-0.877545290207,-0.877591257062,-0.877637215851,-0.877683166572,-0.877729109226,-0.877775043812,-0.87782097033,-0.877866888779,-0.877912799159,-0.877958701469,-0.878004595709,-0.878050481879,-0.878096359978,-0.878142230005,-0.878188091961,-0.878233945845,-0.878279791657,-0.878325629395,-0.87837145906,-0.878417280651,-0.878463094168,-0.87850889961,-0.878554696977,-0.878600486269,-0.878646267485,-0.878692040625,-0.878737805687,-0.878783562673,-0.878829311581,-0.878875052411,-0.878920785162,-0.878966509835,-0.879012226429,-0.879057934942,-0.879103635376,-0.879149327729,-0.879195012001,-0.879240688192,-0.879286356301,-0.879332016328,-0.879377668272,-0.879423312133,-0.879468947911,-0.879514575604,-0.879560195214,-0.879605806739,-0.879651410178,-0.879697005532,-0.8797425928,-0.879788171982,-0.879833743076,-0.879879306084,-0.879924861004,-0.879970407836,-0.880015946579,-0.880061477233,-0.880106999798,-0.880152514274,-0.880198020659,-0.880243518953,-0.880289009157,-0.880334491269,-0.880379965289,-0.880425431217,-0.880470889052,-0.880516338794,-0.880561780443,-0.880607213998,-0.880652639458,-0.880698056824,-0.880743466094,-0.880788867269,-0.880834260348,-0.88087964533,-0.880925022216,-0.880970391004,-0.881015751694,-0.881061104287,-0.881106448781,-0.881151785176,-0.881197113471,-0.881242433667,-0.881287745763,-0.881333049758,-0.881378345652,-0.881423633444,-0.881468913135,-0.881514184723,-0.881559448209,-0.881604703592,-0.881649950871,-0.881695190046,-0.881740421117,-0.881785644083,-0.881830858944,-0.881876065699,-0.881921264348,-0.881966454891,-0.882011637327,-0.882056811656,-0.882101977877,-0.88214713599,-0.882192285994,-0.88223742789,-0.882282561676,-0.882327687352,-0.882372804919,-0.882417914374,-0.882463015719,-0.882508108952,-0.882553194074,-0.882598271083,-0.88264333998,-0.882688400763,-0.882733453433,-0.882778497989,-0.882823534431,-0.882868562758,-0.88291358297,-0.882958595066,-0.883003599047,-0.883048594911,-0.883093582658,-0.883138562288,-0.883183533801,-0.883228497195,-0.883273452471,-0.883318399628,-0.883363338666,-0.883408269584,-0.883453192382,-0.883498107059,-0.883543013616,-0.883587912051,-0.883632802365,-0.883677684556,-0.883722558625,-0.883767424571,-0.883812282393,-0.883857132091,-0.883901973666,-0.883946807116,-0.88399163244,-0.884036449639,-0.884081258713,-0.88412605966,-0.88417085248,-0.884215637173,-0.884260413739,-0.884305182177,-0.884349942486,-0.884394694667,-0.884439438718,-0.88448417464,-0.884528902432,-0.884573622094,-0.884618333624,-0.884663037024,-0.884707732292,-0.884752419428,-0.884797098431,-0.884841769301,-0.884886432039,-0.884931086642,-0.884975733112,-0.885020371447,-0.885065001647,-0.885109623711,-0.88515423764,-0.885198843433,-0.885243441089,-0.885288030609,-0.885332611991,-0.885377185235,-0.885421750341,-0.885466307308,-0.885510856136,-0.885555396825,-0.885599929374,-0.885644453783,-0.885688970051,-0.885733478178,-0.885777978164,-0.885822470007,-0.885866953709,-0.885911429268,-0.885955896683,-0.886000355955,-0.886044807084,-0.886089250067,-0.886133684907,-0.8861781116,-0.886222530149,-0.886266940551,-0.886311342807,-0.886355736917,-0.886400122879,-0.886444500693,-0.88648887036,-0.886533231878,-0.886577585247,-0.886621930467,-0.886666267537,-0.886710596458,-0.886754917228,-0.886799229847,-0.886843534314,-0.88688783063,-0.886932118794,-0.886976398806,-0.887020670664,-0.88706493437,-0.887109189921,-0.887153437319,-0.887197676562,-0.88724190765,-0.887286130582,-0.887330345359,-0.88737455198,-0.887418750444,-0.887462940752,-0.887507122901,-0.887551296894,-0.887595462728,-0.887639620403,-0.887683769919,-0.887727911276,-0.887772044473,-0.88781616951,-0.887860286387,-0.887904395102,-0.887948495656,-0.887992588048,-0.888036672278,-0.888080748345,-0.888124816249,-0.88816887599,-0.888212927566,-0.888256970979,-0.888301006227,-0.88834503331,-0.888389052227,-0.888433062978,-0.888477065564,-0.888521059982,-0.888565046233,-0.888609024317,-0.888652994233,-0.888696955981,-0.88874090956,-0.88878485497,-0.88882879221,-0.88887272128,-0.88891664218,-0.88896055491,-0.889004459468,-0.889048355855,-0.889092244069,-0.889136124112,-0.889179995981,-0.889223859678,-0.889267715201,-0.88931156255,-0.889355401724,-0.889399232724,-0.889443055549,-0.889486870198,-0.889530676671,-0.889574474968,-0.889618265088,-0.889662047031,-0.889705820796,-0.889749586383,-0.889793343792,-0.889837093022,-0.889880834073,-0.889924566944,-0.889968291635,-0.890012008146,-0.890055716476,-0.890099416625,-0.890143108592,-0.890186792378,-0.890230467981,-0.890274135401,-0.890317794637,-0.890361445691,-0.89040508856,-0.890448723245,-0.890492349745,-0.89053596806,-0.890579578189,-0.890623180132,-0.890666773889,-0.890710359459,-0.890753936841,-0.890797506036,-0.890841067043,-0.890884619862,-0.890928164492,-0.890971700932,-0.891015229183,-0.891058749244,-0.891102261115,-0.891145764795,-0.891189260283,-0.89123274758,-0.891276226685,-0.891319697597,-0.891363160317,-0.891406614843,-0.891450061176,-0.891493499315,-0.891536929259,-0.891580351009,-0.891623764563,-0.891667169922,-0.891710567084,-0.891753956051,-0.89179733682,-0.891840709392,-0.891884073767,-0.891927429944,-0.891970777922,-0.892014117701,-0.892057449282,-0.892100772662,-0.892144087843,-0.892187394823,-0.892230693602,-0.892273984181,-0.892317266557,-0.892360540732,-0.892403806704,-0.892447064474,-0.89249031404,-0.892533555403,-0.892576788562,-0.892620013516,-0.892663230265,-0.89270643881,-0.892749639149,-0.892792831282,-0.892836015208,-0.892879190928,-0.892922358441,-0.892965517746,-0.893008668843,-0.893051811732,-0.893094946412,-0.893138072883,-0.893181191144,-0.893224301196,-0.893267403037,-0.893310496667,-0.893353582086,-0.893396659294,-0.89343972829,-0.893482789074,-0.893525841644,-0.893568886002,-0.893611922146,-0.893654950077,-0.893697969793,-0.893740981294,-0.893783984581,-0.893826979651,-0.893869966506,-0.893912945145,-0.893955915567,-0.893998877772,-0.89404183176,-0.89408477753,-0.894127715081,-0.894170644414,-0.894213565528,-0.894256478422,-0.894299383097,-0.894342279551,-0.894385167785,-0.894428047798,-0.894470919589,-0.894513783159,-0.894556638506,-0.894599485631,-0.894642324533,-0.894685155212,-0.894727977667,-0.894770791897,-0.894813597903,-0.894856395685,-0.89489918524,-0.894941966571,-0.894984739675,-0.895027504552,-0.895070261203,-0.895113009626,-0.895155749822,-0.895198481789,-0.895241205528,-0.895283921039,-0.89532662832,-0.895369327371,-0.895412018192,-0.895454700783,-0.895497375143,-0.895540041272,-0.895582699169,-0.895625348834,-0.895667990267,-0.895710623467,-0.895753248434,-0.895795865167,-0.895838473666,-0.895881073931,-0.895923665961,-0.895966249756,-0.896008825316,-0.896051392639,-0.896093951727,-0.896136502577,-0.896179045191,-0.896221579567,-0.896264105705,-0.896306623604,-0.896349133266,-0.896391634688,-0.89643412787,-0.896476612813,-0.896519089516,-0.896561557978,-0.896604018199,-0.896646470179,-0.896688913917,-0.896731349412,-0.896773776665,-0.896816195676,-0.896858606442,-0.896901008965,-0.896943403244,-0.896985789279,-0.897028167068,-0.897070536613,-0.897112897911,-0.897155250964,-0.89719759577,-0.897239932329,-0.897282260641,-0.897324580705,-0.897366892522,-0.89740919609,-0.897451491409,-0.897493778479,-0.897536057299,-0.89757832787,-0.89762059019,-0.897662844259,-0.897705090077,-0.897747327644,-0.897789556959,-0.897831778021,-0.897873990831,-0.897916195388,-0.897958391691,-0.898000579741,-0.898042759536,-0.898084931077,-0.898127094362,-0.898169249393,-0.898211396167,-0.898253534685,-0.898295664947,-0.898337786952,-0.898379900699,-0.898422006189,-0.898464103421,-0.898506192394,-0.898548273108,-0.898590345563,-0.898632409759,-0.898674465694,-0.898716513369,-0.898758552783,-0.898800583936,-0.898842606827,-0.898884621457,-0.898926627824,-0.898968625928,-0.899010615769,-0.899052597347,-0.89909457066,-0.89913653571,-0.899178492495,-0.899220441014,-0.899262381269,-0.899304313257,-0.899346236979,-0.899388152435,-0.899430059624,-0.899471958545,-0.899513849198,-0.899555731584,-0.899597605701,-0.899639471549,-0.899681329127,-0.899723178436,-0.899765019475,-0.899806852244,-0.899848676742,-0.899890492968,-0.899932300923,-0.899974100606,-0.900015892016,-0.900057675154,-0.900099450019,-0.90014121661,-0.900182974927,-0.90022472497,-0.900266466738,-0.900308200231,-0.900349925449,-0.900391642391,-0.900433351056,-0.900475051445,-0.900516743558,-0.900558427392,-0.900600102949,-0.900641770228,-0.900683429229,-0.90072507995,-0.900766722392,-0.900808356555,-0.900849982438,-0.90089160004,-0.900933209361,-0.900974810401,-0.90101640316,-0.901057987636,-0.901099563831,-0.901141131742,-0.901182691371,-0.901224242716,-0.901265785777,-0.901307320554,-0.901348847046,-0.901390365253,-0.901431875175,-0.901473376811,-0.901514870161,-0.901556355225,-0.901597832001,-0.90163930049,-0.901680760692,-0.901722212606,-0.901763656231,-0.901805091567,-0.901846518614,-0.901887937371,-0.901929347839,-0.901970750016,-0.902012143902,-0.902053529498,-0.902094906802,-0.902136275814,-0.902177636533,-0.902218988961,-0.902260333095,-0.902301668935,-0.902342996482,-0.902384315735,-0.902425626694,-0.902466929357,-0.902508223725,-0.902549509798,-0.902590787574,-0.902632057054,-0.902673318237,-0.902714571123,-0.902755815712,-0.902797052002,-0.902838279995,-0.902879499688,-0.902920711082,-0.902961914177,-0.903003108973,-0.903044295468,-0.903085473662,-0.903126643555,-0.903167805147,-0.903208958438,-0.903250103426,-0.903291240112,-0.903332368495,-0.903373488574,-0.90341460035,-0.903455703822,-0.90349679899,-0.903537885853,-0.903578964411,-0.903620034663,-0.903661096609,-0.903702150249,-0.903743195583,-0.903784232609,-0.903825261328,-0.90386628174,-0.903907293843,-0.903948297638,-0.903989293123,-0.9040302803,-0.904071259167,-0.904112229724,-0.90415319197,-0.904194145906,-0.90423509153,-0.904276028843,-0.904316957844,-0.904357878533,-0.904398790909,-0.904439694972,-0.904480590721,-0.904521478157,-0.904562357279,-0.904603228086,-0.904644090578,-0.904684944755,-0.904725790616,-0.904766628162,-0.90480745739,-0.904848278302,-0.904889090897,-0.904929895174,-0.904970691134,-0.905011478775,-0.905052258097,-0.9050930291,-0.905133791784,-0.905174546148,-0.905215292192,-0.905256029916,-0.905296759318,-0.905337480399,-0.905378193159,-0.905418897596,-0.905459593711,-0.905500281504,-0.905540960973,-0.905581632118,-0.90562229494,-0.905662949437,-0.90570359561,-0.905744233458,-0.90578486298,-0.905825484176,-0.905866097047,-0.90590670159,-0.905947297807,-0.905987885697,-0.906028465259,-0.906069036493,-0.906109599398,-0.906150153975,-0.906190700223,-0.906231238141,-0.906271767729,-0.906312288987,-0.906352801915,-0.906393306511,-0.906433802776,-0.906474290709,-0.90651477031,-0.906555241579,-0.906595704515,-0.906636159117,-0.906676605386,-0.906717043321,-0.906757472922,-0.906797894188,-0.906838307119,-0.906878711714,-0.906919107974,-0.906959495897,-0.906999875484,-0.907040246734,-0.907080609646,-0.907120964221,-0.907161310458,-0.907201648356,-0.907241977915,-0.907282299136,-0.907322612016,-0.907362916557,-0.907403212758,-0.907443500618,-0.907483780137,-0.907524051314,-0.90756431415,-0.907604568643,-0.907644814795,-0.907685052603,-0.907725282068,-0.907765503189,-0.907805715966,-0.907845920399,-0.907886116488,-0.907926304231,-0.907966483629,-0.90800665468,-0.908046817386,-0.908086971745,-0.908127117757,-0.908167255422,-0.908207384739,-0.908247505709,-0.908287618329,-0.908327722601,-0.908367818524,-0.908407906097,-0.908447985321,-0.908488056194,-0.908528118716,-0.908568172888,-0.908608218708,-0.908648256176,-0.908688285293,-0.908728306056,-0.908768318467,-0.908808322525,-0.908848318229,-0.90888830558,-0.908928284576,-0.908968255217,-0.909008217503,-0.909048171434,-0.909088117009,-0.909128054228,-0.909167983091,-0.909207903596,-0.909247815744,-0.909287719535,-0.909327614968,-0.909367502042,-0.909407380758,-0.909447251114,-0.909487113112,-0.909526966749,-0.909566812026,-0.909606648943,-0.909646477498,-0.909686297693,-0.909726109525,-0.909765912996,-0.909805708105,-0.90984549485,-0.909885273233,-0.909925043252,-0.909964804907,-0.910004558198,-0.910044303125,-0.910084039686,-0.910123767883,-0.910163487713,-0.910203199178,-0.910242902276,-0.910282597007,-0.910322283372,-0.910361961368,-0.910401630997,-0.910441292258,-0.91048094515,-0.910520589673,-0.910560225827,-0.910599853612,-0.910639473026,-0.91067908407,-0.910718686743,-0.910758281044,-0.910797866975,-0.910837444533,-0.91087701372,-0.910916574533,-0.910956126974,-0.910995671042,-0.911035206735,-0.911074734055,-0.911114253001,-0.911153763571,-0.911193265767,-0.911232759586,-0.911272245031,-0.911311722098,-0.91135119079,-0.911390651104,-0.911430103041,-0.911469546601,-0.911508981782,-0.911548408585,-0.911587827009,-0.911627237054,-0.91166663872,-0.911706032005,-0.911745416911,-0.911784793436,-0.91182416158,-0.911863521343,-0.911902872724,-0.911942215723,-0.91198155034,-0.912020876574,-0.912060194424,-0.912099503892,-0.912138804975,-0.912178097675,-0.91221738199,-0.91225665792,-0.912295925464,-0.912335184623,-0.912374435396,-0.912413677783,-0.912452911783,-0.912492137396,-0.912531354622,-0.912570563459,-0.912609763909,-0.91264895597,-0.912688139642,-0.912727314925,-0.912766481818,-0.912805640322,-0.912844790435,-0.912883932157,-0.912923065488,-0.912962190428,-0.913001306977,-0.913040415133,-0.913079514896,-0.913118606267,-0.913157689245,-0.913196763829,-0.913235830019,-0.913274887815,-0.913313937216,-0.913352978222,-0.913392010833,-0.913431035049,-0.913470050868,-0.91350905829,-0.913548057316,-0.913587047945,-0.913626030177,-0.91366500401,-0.913703969445,-0.913742926482,-0.91378187512,-0.913820815358,-0.913859747197,-0.913898670636,-0.913937585674,-0.913976492312,-0.914015390549,-0.914054280384,-0.914093161817,-0.914132034849,-0.914170899478,-0.914209755704,-0.914248603526,-0.914287442945,-0.914326273961,-0.914365096571,-0.914403910778,-0.914442716579,-0.914481513975,-0.914520302965,-0.914559083549,-0.914597855727,-0.914636619498,-0.914675374862,-0.914714121818,-0.914752860366,-0.914791590506,-0.914830312238,-0.914869025561,-0.914907730474,-0.914946426978,-0.914985115072,-0.915023794755,-0.915062466028,-0.915101128889,-0.91513978334,-0.915178429378,-0.915217067005,-0.915255696218,-0.915294317019,-0.915332929407,-0.915371533382,-0.915410128942,-0.915448716088,-0.91548729482,-0.915525865136,-0.915564427038,-0.915602980523,-0.915641525593,-0.915680062246,-0.915718590483,-0.915757110302,-0.915795621704,-0.915834124688,-0.915872619254,-0.915911105402,-0.91594958313,-0.91598805244,-0.916026513329,-0.916064965799,-0.916103409849,-0.916141845478,-0.916180272686,-0.916218691473,-0.916257101838,-0.916295503781,-0.916333897301,-0.916372282399,-0.916410659074,-0.916449027325,-0.916487387153,-0.916525738556,-0.916564081535,-0.916602416089,-0.916640742218,-0.916679059921,-0.916717369198,-0.916755670049,-0.916793962474,-0.916832246471,-0.916870522041,-0.916908789184,-0.916947047898,-0.916985298184,-0.917023540041,-0.91706177347,-0.917099998468,-0.917138215037,-0.917176423176,-0.917214622885,-0.917252814162,-0.917290997008,-0.917329171423,-0.917367337406,-0.917405494957,-0.917443644075,-0.91748178476,-0.917519917012,-0.91755804083,-0.917596156214,-0.917634263164,-0.917672361679,-0.917710451759,-0.917748533404,-0.917786606613,-0.917824671385,-0.917862727722,-0.917900775621,-0.917938815084,-0.917976846109,-0.918014868696,-0.918052882845,-0.918090888555,-0.918128885827,-0.918166874659,-0.918204855051,-0.918242827004,-0.918280790517,-0.918318745588,-0.918356692219,-0.918394630408,-0.918432560156,-0.918470481462,-0.918508394325,-0.918546298746,-0.918584194723,-0.918622082257,-0.918659961348,-0.918697831994,-0.918735694196,-0.918773547952,-0.918811393264,-0.91884923013,-0.918887058551,-0.918924878525,-0.918962690052,-0.919000493133,-0.919038287766,-0.919076073952,-0.91911385169,-0.91915162098,-0.919189381821,-0.919227134212,-0.919264878155,-0.919302613648,-0.919340340691,-0.919378059283,-0.919415769425,-0.919453471116,-0.919491164355,-0.919528849142,-0.919566525478,-0.919604193361,-0.919641852791,-0.919679503768,-0.919717146291,-0.919754780361,-0.919792405976,-0.919830023137,-0.919867631843,-0.919905232094,-0.919942823889,-0.919980407229,-0.920017982112,-0.920055548538,-0.920093106508,-0.92013065602,-0.920168197074,-0.920205729671,-0.920243253809,-0.920280769489,-0.920318276709,-0.92035577547,-0.920393265772,-0.920430747613,-0.920468220994,-0.920505685914,-0.920543142373,-0.920580590371,-0.920618029907,-0.920655460981,-0.920692883592,-0.920730297741,-0.920767703426,-0.920805100648,-0.920842489406,-0.9208798697,-0.920917241529,-0.920954604894,-0.920991959793,-0.921029306227,-0.921066644194,-0.921103973696,-0.921141294731,-0.921178607299,-0.921215911399,-0.921253207033,-0.921290494198,-0.921327772894,-0.921365043123,-0.921402304882,-0.921439558172,-0.921476802992,-0.921514039342,-0.921551267222,-0.921588486631,-0.921625697569,-0.921662900036,-0.921700094031,-0.921737279554,-0.921774456604,-0.921811625182,-0.921848785286,-0.921885936918,-0.921923080075,-0.921960214758,-0.921997340967,-0.922034458701,-0.92207156796,-0.922108668743,-0.922145761051,-0.922182844882,-0.922219920237,-0.922256987115,-0.922294045516,-0.922331095439,-0.922368136885,-0.922405169852,-0.922442194341,-0.922479210351,-0.922516217881,-0.922553216932,-0.922590207503,-0.922627189594,-0.922664163205,-0.922701128334,-0.922738084982,-0.922775033148,-0.922811972833,-0.922848904035,-0.922885826755,-0.922922740991,-0.922959646745,-0.922996544014,-0.9230334328,-0.923070313101,-0.923107184918,-0.92314404825,-0.923180903096,-0.923217749457,-0.923254587331,-0.92329141672,-0.923328237621,-0.923365050036,-0.923401853963,-0.923438649402,-0.923475436354,-0.923512214817,-0.923548984791,-0.923585746276,-0.923622499272,-0.923659243778,-0.923695979794,-0.92373270732,-0.923769426355,-0.923806136898,-0.923842838951,-0.923879532511,-0.92391621758,-0.923952894156,-0.923989562239,-0.924026221829,-0.924062872926,-0.924099515529,-0.924136149637,-0.924172775252,-0.924209392371,-0.924246000996,-0.924282601125,-0.924319192758,-0.924355775895,-0.924392350535,-0.924428916679,-0.924465474325,-0.924502023474,-0.924538564125,-0.924575096279,-0.924611619933,-0.924648135089,-0.924684641745,-0.924721139902,-0.92475762956,-0.924794110717,-0.924830583373,-0.924867047529,-0.924903503183,-0.924939950336,-0.924976388987,-0.925012819136,-0.925049240783,-0.925085653926,-0.925122058567,-0.925158454703,-0.925194842336,-0.925231221465,-0.92526759209,-0.925303954209,-0.925340307823,-0.925376652932,-0.925412989535,-0.925449317631,-0.925485637221,-0.925521948305,-0.925558250881,-0.925594544949,-0.92563083051,-0.925667107562,-0.925703376106,-0.925739636141,-0.925775887667,-0.925812130683,-0.92584836519,-0.925884591186,-0.925920808672,-0.925957017647,-0.92599321811,-0.926029410062,-0.926065593503,-0.926101768431,-0.926137934846,-0.926174092749,-0.926210242138,-0.926246383014,-0.926282515376,-0.926318639224,-0.926354754558,-0.926390861376,-0.926426959679,-0.926463049467,-0.926499130739,-0.926535203495,-0.926571267734,-0.926607323457,-0.926643370662,-0.92667940935,-0.92671543952,-0.926751461171,-0.926787474305,-0.926823478919,-0.926859475014,-0.92689546259,-0.926931441646,-0.926967412182,-0.927003374197,-0.927039327691,-0.927075272665,-0.927111209117,-0.927147137047,-0.927183056455,-0.92721896734,-0.927254869703,-0.927290763542,-0.927326648858,-0.92736252565,-0.927398393919,-0.927434253662,-0.927470104881,-0.927505947575,-0.927541781743,-0.927577607386,-0.927613424502,-0.927649233093,-0.927685033156,-0.927720824692,-0.927756607701,-0.927792382182,-0.927828148135,-0.92786390556,-0.927899654456,-0.927935394823,-0.92797112666,-0.928006849968,-0.928042564746,-0.928078270993,-0.92811396871,-0.928149657895,-0.92818533855,-0.928221010672,-0.928256674263,-0.928292329321,-0.928327975847,-0.928363613839,-0.928399243299,-0.928434864224,-0.928470476616,-0.928506080473,-0.928541675796,-0.928577262584,-0.928612840836,-0.928648410553,-0.928683971734,-0.928719524379,-0.928755068487,-0.928790604058,-0.928826131092,-0.928861649588,-0.928897159547,-0.928932660967,-0.928968153849,-0.929003638192,-0.929039113995,-0.929074581259,-0.929110039984,-0.929145490168,-0.929180931811,-0.929216364914,-0.929251789475,-0.929287205496,-0.929322612974,-0.92935801191,-0.929393402304,-0.929428784155,-0.929464157462,-0.929499522227,-0.929534878447,-0.929570226124,-0.929605565256,-0.929640895843,-0.929676217885,-0.929711531382,-0.929746836334,-0.929782132739,-0.929817420598,-0.92985269991,-0.929887970675,-0.929923232893,-0.929958486563,-0.929993731685,-0.930028968259,-0.930064196284,-0.93009941576,-0.930134626687,-0.930169829065,-0.930205022892,-0.930240208169,-0.930275384896,-0.930310553072,-0.930345712696,-0.93038086377,-0.930416006291,-0.93045114026,-0.930486265676,-0.93052138254,-0.93055649085,-0.930591590607,-0.930626681811,-0.93066176446,-0.930696838554,-0.930731904094,-0.930766961079,-0.930802009508,-0.930837049382,-0.9308720807,-0.930907103461,-0.930942117665,-0.930977123313,-0.931012120403,-0.931047108936,-0.93108208891,-0.931117060326,-0.931152023184,-0.931186977483,-0.931221923222,-0.931256860402,-0.931291789022,-0.931326709081,-0.93136162058,-0.931396523518,-0.931431417895,-0.931466303711,-0.931501180965,-0.931536049656,-0.931570909785,-0.931605761351,-0.931640604354,-0.931675438794,-0.93171026467,-0.931745081982,-0.931779890729,-0.931814690912,-0.931849482529,-0.931884265582,-0.931919040068,-0.931953805989,-0.931988563343,-0.932023312131,-0.932058052351,-0.932092784005,-0.932127507091,-0.932162221609,-0.932196927558,-0.932231624939,-0.932266313752,-0.932300993995,-0.932335665668,-0.932370328772,-0.932404983305,-0.932439629268,-0.932474266661,-0.932508895482,-0.932543515732,-0.93257812741,-0.932612730516,-0.932647325049,-0.93268191101,-0.932716488398,-0.932751057213,-0.932785617454,-0.932820169121,-0.932854712213,-0.932889246731,-0.932923772674,-0.932958290042,-0.932992798835,-0.933027299051,-0.933061790692,-0.933096273755,-0.933130748242,-0.933165214152,-0.933199671485,-0.933234120239,-0.933268560416,-0.933302992014,-0.933337415033,-0.933371829474,-0.933406235335,-0.933440632616,-0.933475021317,-0.933509401438,-0.933543772979,-0.933578135938,-0.933612490317,-0.933646836113,-0.933681173328,-0.933715501961,-0.933749822011,-0.933784133478,-0.933818436362,-0.933852730663,-0.93388701638,-0.933921293513,-0.933955562061,-0.933989822025,-0.934024073403,-0.934058316197,-0.934092550404,-0.934126776026,-0.934160993061,-0.93419520151,-0.934229401372,-0.934263592646,-0.934297775334,-0.934331949433,-0.934366114944,-0.934400271866,-0.9344344202,-0.934468559945,-0.9345026911,-0.934536813665,-0.93457092764,-0.934605033025,-0.93463912982,-0.934673218023,-0.934707297635,-0.934741368655,-0.934775431084,-0.93480948492,-0.934843530163,-0.934877566814,-0.934911594872,-0.934945614336,-0.934979625206,-0.935013627482,-0.935047621163,-0.93508160625,-0.935115582742,-0.935149550638,-0.935183509939,-0.935217460644,-0.935251402752,-0.935285336264,-0.935319261179,-0.935353177496,-0.935387085216,-0.935420984338,-0.935454874862,-0.935488756787,-0.935522630114,-0.935556494841,-0.93559035097,-0.935624198498,-0.935658037426,-0.935691867754,-0.935725689481,-0.935759502607,-0.935793307132,-0.935827103055,-0.935860890377,-0.935894669096,-0.935928439213,-0.935962200726,-0.935995953637,-0.936029697944,-0.936063433647,-0.936097160746,-0.936130879241,-0.936164589131,-0.936198290416,-0.936231983096,-0.93626566717,-0.936299342638,-0.9363330095,-0.936366667756,-0.936400317404,-0.936433958445,-0.936467590879,-0.936501214705,-0.936534829923,-0.936568436532,-0.936602034533,-0.936635623924,-0.936669204707,-0.936702776879,-0.936736340442,-0.936769895394,-0.936803441736,-0.936836979467,-0.936870508586,-0.936904029095,-0.936937540991,-0.936971044275,-0.937004538947,-0.937038025006,-0.937071502452,-0.937104971284,-0.937138431503,-0.937171883108,-0.937205326099,-0.937238760475,-0.937272186236,-0.937305603382,-0.937339011913,-0.937372411827,-0.937405803126,-0.937439185808,-0.937472559873,-0.937505925321,-0.937539282152,-0.937572630366,-0.937605969961,-0.937639300938,-0.937672623297,-0.937705937036,-0.937739242156,-0.937772538657,-0.937805826538,-0.937839105799,-0.93787237644,-0.93790563846,-0.937938891859,-0.937972136636,-0.938005372792,-0.938038600326,-0.938071819238,-0.938105029527,-0.938138231193,-0.938171424236,-0.938204608655,-0.938237784451,-0.938270951623,-0.93830411017,-0.938337260093,-0.938370401391,-0.938403534063,-0.93843665811,-0.938469773531,-0.938502880325,-0.938535978494,-0.938569068035,-0.938602148949,-0.938635221236,-0.938668284895,-0.938701339926,-0.938734386328,-0.938767424102,-0.938800453247,-0.938833473763,-0.938866485649,-0.938899488906,-0.938932483532,-0.938965469528,-0.938998446893,-0.939031415627,-0.939064375729,-0.9390973272,-0.939130270039,-0.939163204246,-0.93919612982,-0.939229046761,-0.939261955069,-0.939294854743,-0.939327745784,-0.93936062819,-0.939393501962,-0.9394263671,-0.939459223602,-0.939492071469,-0.939524910701,-0.939557741296,-0.939590563256,-0.939623376579,-0.939656181265,-0.939688977314,-0.939721764725,-0.939754543499,-0.939787313635,-0.939820075132,-0.939852827991,-0.939885572211,-0.939918307792,-0.939951034733,-0.939983753034,-0.940016462695,-0.940049163716,-0.940081856096,-0.940114539835,-0.940147214933,-0.940179881389,-0.940212539203,-0.940245188375,-0.940277828904,-0.94031046079,-0.940343084034,-0.940375698634,-0.94040830459,-0.940440901902,-0.94047349057,-0.940506070593,-0.940538641972,-0.940571204705,-0.940603758792,-0.940636304234,-0.940668841029,-0.940701369179,-0.940733888681,-0.940766399536,-0.940798901744,-0.940831395305,-0.940863880217,-0.940896356482,-0.940928824098,-0.940961283065,-0.940993733382,-0.941026175051,-0.94105860807,-0.941091032438,-0.941123448157,-0.941155855225,-0.941188253642,-0.941220643407,-0.941253024521,-0.941285396984,-0.941317760794,-0.941350115952,-0.941382462457,-0.94141480031,-0.941447129509,-0.941479450054,-0.941511761946,-0.941544065183,-0.941576359766,-0.941608645694,-0.941640922967,-0.941673191585,-0.941705451547,-0.941737702853,-0.941769945503,-0.941802179496,-0.941834404832,-0.941866621512,-0.941898829534,-0.941931028898,-0.941963219604,-0.941995401652,-0.942027575041,-0.942059739771,-0.942091895842,-0.942124043254,-0.942156182005,-0.942188312097,-0.942220433528,-0.942252546299,-0.942284650408,-0.942316745857,-0.942348832643,-0.942380910768,-0.942412980231,-0.942445041031,-0.942477093168,-0.942509136643,-0.942541171454,-0.942573197601,-0.942605215085,-0.942637223904,-0.942669224059,-0.942701215549,-0.942733198374,-0.942765172533,-0.942797138027,-0.942829094855,-0.942861043016,-0.942892982511,-0.942924913339,-0.9429568355,-0.942988748994,-0.943020653819,-0.943052549977,-0.943084437466,-0.943116316287,-0.943148186438,-0.943180047921,-0.943211900734,-0.943243744877,-0.94327558035,-0.943307407153,-0.943339225285,-0.943371034746,-0.943402835536,-0.943434627654,-0.943466411101,-0.943498185875,-0.943529951977,-0.943561709406,-0.943593458162,-0.943625198245,-0.943656929654,-0.943688652389,-0.94372036645,-0.943752071837,-0.943783768549,-0.943815456586,-0.943847135947,-0.943878806633,-0.943910468643,-0.943942121976,-0.943973766634,-0.944005402614,-0.944037029917,-0.944068648543,-0.944100258491,-0.944131859761,-0.944163452353,-0.944195036267,-0.944226611501,-0.944258178057,-0.944289735933,-0.944321285129,-0.944352825646,-0.944384357482,-0.944415880637,-0.944447395112,-0.944478900905,-0.944510398017,-0.944541886447,-0.944573366196,-0.944604837261,-0.944636299645,-0.944667753345,-0.944699198362,-0.944730634696,-0.944762062346,-0.944793481312,-0.944824891594,-0.944856293191,-0.944887686103,-0.94491907033,-0.944950445871,-0.944981812727,-0.945013170896,-0.945044520379,-0.945075861176,-0.945107193285,-0.945138516708,-0.945169831442,-0.945201137489,-0.945232434848,-0.945263723519,-0.945295003501,-0.945326274794,-0.945357537398,-0.945388791312,-0.945420036536,-0.945451273071,-0.945482500914,-0.945513720068,-0.94554493053,-0.945576132301,-0.945607325381,-0.945638509768,-0.945669685464,-0.945700852467,-0.945732010777,-0.945763160395,-0.945794301319,-0.94582543355,-0.945856557087,-0.94588767193,-0.945918778078,-0.945949875532,-0.945980964291,-0.946012044354,-0.946043115722,-0.946074178394,-0.94610523237,-0.94613627765,-0.946167314233,-0.946198342119,-0.946229361308,-0.946260371799,-0.946291373592,-0.946322366688,-0.946353351084,-0.946384326783,-0.946415293782,-0.946446252082,-0.946477201682,-0.946508142583,-0.946539074784,-0.946569998284,-0.946600913083,-0.946631819182,-0.946662716579,-0.946693605275,-0.946724485269,-0.946755356561,-0.94678621915,-0.946817073037,-0.946847918221,-0.946878754702,-0.946909582479,-0.946940401552,-0.946971211922,-0.947002013587,-0.947032806547,-0.947063590803,-0.947094366353,-0.947125133198,-0.947155891336,-0.947186640769,-0.947217381496,-0.947248113516,-0.947278836829,-0.947309551435,-0.947340257333,-0.947370954524,-0.947401643006,-0.947432322781,-0.947462993846,-0.947493656203,-0.947524309851,-0.947554954789,-0.947585591018,-0.947616218536,-0.947646837344,-0.947677447442,-0.947708048829,-0.947738641505,-0.947769225469,-0.947799800721,-0.947830367262,-0.94786092509,-0.947891474206,-0.947922014609,-0.947952546299,-0.947983069276,-0.948013583539,-0.948044089088,-0.948074585922,-0.948105074043,-0.948135553448,-0.948166024138,-0.948196486113,-0.948226939373,-0.948257383916,-0.948287819744,-0.948318246855,-0.948348665249,-0.948379074926,-0.948409475886,-0.948439868128,-0.948470251652,-0.948500626459,-0.948530992547,-0.948561349916,-0.948591698566,-0.948622038497,-0.948652369708,-0.9486826922,-0.948713005971,-0.948743311023,-0.948773607353,-0.948803894963,-0.948834173851,-0.948864444018,-0.948894705463,-0.948924958186,-0.948955202187,-0.948985437465,-0.949015664021,-0.949045881853,-0.949076090961,-0.949106291347,-0.949136483008,-0.949166665944,-0.949196840157,-0.949227005644,-0.949257162406,-0.949287310444,-0.949317449755,-0.94934758034,-0.9493777022,-0.949407815332,-0.949437919738,-0.949468015417,-0.949498102369,-0.949528180593,-0.949558250089,-0.949588310857,-0.949618362897,-0.949648406208,-0.94967844079,-0.949708466643,-0.949738483766,-0.94976849216,-0.949798491823,-0.949828482756,-0.949858464959,-0.94988843843,-0.94991840317,-0.949948359179,-0.949978306457,-0.950008245002,-0.950038174815,-0.950068095895,-0.950098008243,-0.950127911857,-0.950157806738,-0.950187692886,-0.950217570299,-0.950247438979,-0.950277298924,-0.950307150134,-0.950336992609,-0.950366826349,-0.950396651353,-0.950426467621,-0.950456275154,-0.950486073949,-0.950515864009,-0.950545645331,-0.950575417916,-0.950605181764,-0.950634936874,-0.950664683245,-0.950694420879,-0.950724149774,-0.95075386993,-0.950783581347,-0.950813284024,-0.950842977962,-0.95087266316,-0.950902339618,-0.950932007335,-0.950961666312,-0.950991316547,-0.951020958041,-0.951050590794,-0.951080214804,-0.951109830073,-0.951139436599,-0.951169034383,-0.951198623423,-0.95122820372,-0.951257775274,-0.951287338084,-0.95131689215,-0.951346437472,-0.951375974049,-0.951405501882,-0.951435020969,-0.951464531311,-0.951494032907,-0.951523525757,-0.951553009861,-0.951582485219,-0.95161195183,-0.951641409694,-0.95167085881,-0.951700299179,-0.9517297308,-0.951759153673,-0.951788567798,-0.951817973174,-0.951847369801,-0.951876757679,-0.951906136808,-0.951935507187,-0.951964868816,-0.951994221694,-0.952023565822,-0.9520529012,-0.952082227826,-0.952111545701,-0.952140854824,-0.952170155195,-0.952199446814,-0.952228729681,-0.952258003795,-0.952287269157,-0.952316525765,-0.952345773619,-0.95237501272,-0.952404243066,-0.952433464659,-0.952462677497,-0.95249188158,-0.952521076908,-0.95255026348,-0.952579441297,-0.952608610358,-0.952637770663,-0.952666922211,-0.952696065003,-0.952725199038,-0.952754324315,-0.952783440835,-0.952812548597,-0.952841647601,-0.952870737847,-0.952899819334,-0.952928892063,-0.952957956032,-0.952987011242,-0.953016057692,-0.953045095382,-0.953074124312,-0.953103144482,-0.953132155891,-0.953161158539,-0.953190152425,-0.95321913755,-0.953248113914,-0.953277081515,-0.953306040354,-0.953334990431,-0.953363931744,-0.953392864295,-0.953421788082,-0.953450703105,-0.953479609365,-0.95350850686,-0.953537395591,-0.953566275557,-0.953595146758,-0.953624009194,-0.953652862865,-0.953681707769,-0.953710543908,-0.95373937128,-0.953768189886,-0.953796999725,-0.953825800797,-0.953854593101,-0.953883376638,-0.953912151407,-0.953940917408,-0.95396967464,-0.953998423104,-0.954027162799,-0.954055893724,-0.95408461588,-0.954113329267,-0.954142033883,-0.954170729729,-0.954199416804,-0.954228095109,-0.954256764643,-0.954285425405,-0.954314077396,-0.954342720615,-0.954371355061,-0.954399980736,-0.954428597638,-0.954457205767,-0.954485805122,-0.954514395704,-0.954542977513,-0.954571550548,-0.954600114808,-0.954628670294,-0.954657217005,-0.954685754941,-0.954714284102,-0.954742804488,-0.954771316097,-0.954799818931,-0.954828312988,-0.954856798269,-0.954885274772,-0.954913742499,-0.954942201448,-0.95497065162,-0.954999093014,-0.95502752563,-0.955055949467,-0.955084364526,-0.955112770805,-0.955141168306,-0.955169557027,-0.955197936968,-0.955226308129,-0.955254670511,-0.955283024111,-0.955311368931,-0.95533970497,-0.955368032227,-0.955396350703,-0.955424660398,-0.95545296131,-0.95548125344,-0.955509536787,-0.955537811351,-0.955566077133,-0.955594334131,-0.955622582345,-0.955650821776,-0.955679052422,-0.955707274284,-0.955735487361,-0.955763691654,-0.955791887161,-0.955820073883,-0.955848251819,-0.955876420969,-0.955904581333,-0.95593273291,-0.955960875701,-0.955989009705,-0.956017134921,-0.95604525135,-0.956073358991,-0.956101457844,-0.956129547909,-0.956157629186,-0.956185701673,-0.956213765372,-0.956241820281,-0.956269866401,-0.95629790373,-0.95632593227,-0.95635395202,-0.956381962978,-0.956409965146,-0.956437958523,-0.956465943109,-0.956493918902,-0.956521885904,-0.956549844114,-0.956577793531,-0.956605734156,-0.956633665988,-0.956661589027,-0.956689503272,-0.956717408723,-0.956745305381,-0.956773193244,-0.956801072313,-0.956828942588,-0.956856804067,-0.956884656751,-0.956912500639,-0.956940335732,-0.956968162029,-0.95699597953,-0.957023788234,-0.957051588141,-0.957079379251,-0.957107161564,-0.95713493508,-0.957162699798,-0.957190455717,-0.957218202839,-0.957245941162,-0.957273670686,-0.957301391411,-0.957329103336,-0.957356806463,-0.957384500789,-0.957412186315,-0.957439863041,-0.957467530967,-0.957495190091,-0.957522840414,-0.957550481937,-0.957578114657,-0.957605738576,-0.957633353692,-0.957660960006,-0.957688557518,-0.957716146227,-0.957743726132,-0.957771297234,-0.957798859533,-0.957826413028,-0.957853957718,-0.957881493604,-0.957909020686,-0.957936538962,-0.957964048434,-0.9579915491,-0.95801904096,-0.958046524015,-0.958073998263,-0.958101463705,-0.95812892034,-0.958156368169,-0.95818380719,-0.958211237404,-0.95823865881,-0.958266071408,-0.958293475198,-0.95832087018,-0.958348256352,-0.958375633716,-0.958403002271,-0.958430362017,-0.958457712952,-0.958485055078,-0.958512388394,-0.958539712899,-0.958567028593,-0.958594335476,-0.958621633549,-0.95864892281,-0.958676203259,-0.958703474896,-0.958730737721,-0.958757991733,-0.958785236933,-0.95881247332,-0.958839700894,-0.958866919654,-0.958894129601,-0.958921330733,-0.958948523052,-0.958975706556,-0.959002881245,-0.959030047119,-0.959057204178,-0.959084352422,-0.95911149185,-0.959138622462,-0.959165744258,-0.959192857237,-0.9592199614,-0.959247056745,-0.959274143274,-0.959301220985,-0.959328289878,-0.959355349954,-0.959382401211,-0.95940944365,-0.95943647727,-0.959463502071,-0.959490518053,-0.959517525216,-0.959544523559,-0.959571513082,-0.959598493785,-0.959625465667,-0.959652428729,-0.95967938297,-0.959706328389,-0.959733264988,-0.959760192764,-0.959787111719,-0.959814021851,-0.959840923161,-0.959867815649,-0.959894699313,-0.959921574155,-0.959948440173,-0.959975297367,-0.960002145738,-0.960028985284,-0.960055816006,-0.960082637903,-0.960109450976,-0.960136255223,-0.960163050645,-0.960189837241,-0.960216615012,-0.960243383956,-0.960270144074,-0.960296895366,-0.96032363783,-0.960350371468,-0.960377096278,-0.960403812261,-0.960430519416,-0.960457217742,-0.960483907241,-0.96051058791,-0.960537259752,-0.960563922763,-0.960590576946,-0.960617222299,-0.960643858823,-0.960670486516,-0.960697105379,-0.960723715411,-0.960750316613,-0.960776908984,-0.960803492523,-0.960830067231,-0.960856633108,-0.960883190152,-0.960909738364,-0.960936277743,-0.96096280829,-0.960989330004,-0.961015842885,-0.961042346932,-0.961068842146,-0.961095328525,-0.96112180607,-0.961148274781,-0.961174734658,-0.961201185699,-0.961227627905,-0.961254061276,-0.961280485811,-0.961306901511,-0.961333308374,-0.961359706401,-0.961386095591,-0.961412475944,-0.96143884746,-0.961465210139,-0.961491563981,-0.961517908984,-0.961544245149,-0.961570572477,-0.961596890965,-0.961623200615,-0.961649501426,-0.961675793397,-0.961702076529,-0.961728350821,-0.961754616274,-0.961780872885,-0.961807120657,-0.961833359588,-0.961859589677,-0.961885810926,-0.961912023333,-0.961938226899,-0.961964421622,-0.961990607503,-0.962016784542,-0.962042952739,-0.962069112092,-0.962095262602,-0.962121404269,-0.962147537092,-0.962173661072,-0.962199776207,-0.962225882498,-0.962251979944,-0.962278068546,-0.962304148302,-0.962330219214,-0.962356281279,-0.962382334499,-0.962408378873,-0.962434414401,-0.962460441082,-0.962486458917,-0.962512467904,-0.962538468044,-0.962564459337,-0.962590441782,-0.96261641538,-0.962642380129,-0.962668336029,-0.962694283081,-0.962720221284,-0.962746150638,-0.962772071143,-0.962797982798,-0.962823885603,-0.962849779559,-0.962875664663,-0.962901540918,-0.962927408321,-0.962953266874,-0.962979116575,-0.963004957425,-0.963030789423,-0.963056612569,-0.963082426863,-0.963108232304,-0.963134028893,-0.963159816628,-0.963185595511,-0.96321136554,-0.963237126716,-0.963262879038,-0.963288622505,-0.963314357118,-0.963340082877,-0.963365799781,-0.96339150783,-0.963417207023,-0.963442897361,-0.963468578844,-0.96349425147,-0.96351991524,-0.963545570153,-0.96357121621,-0.96359685341,-0.963622481753,-0.963648101238,-0.963673711866,-0.963699313636,-0.963724906547,-0.963750490601,-0.963776065795,-0.963801632131,-0.963827189608,-0.963852738226,-0.963878277984,-0.963903808882,-0.96392933092,-0.963954844098,-0.963980348416,-0.964005843873,-0.964031330469,-0.964056808204,-0.964082277077,-0.964107737089,-0.964133188239,-0.964158630526,-0.964184063952,-0.964209488515,-0.964234904215,-0.964260311052,-0.964285709025,-0.964311098136,-0.964336478382,-0.964361849765,-0.964387212283,-0.964412565937,-0.964437910726,-0.96446324665,-0.964488573709,-0.964513891903,-0.964539201231,-0.964564501694,-0.96458979329,-0.96461507602,-0.964640349883,-0.96466561488,-0.964690871009,-0.964716118272,-0.964741356667,-0.964766586194,-0.964791806853,-0.964817018645,-0.964842221567,-0.964867415622,-0.964892600807,-0.964917777123,-0.96494294457,-0.964968103147,-0.964993252855,-0.965018393692,-0.96504352566,-0.965068648757,-0.965093762983,-0.965118868338,-0.965143964822,-0.965169052435,-0.965194131176,-0.965219201045,-0.965244262042,-0.965269314167,-0.965294357419,-0.965319391798,-0.965344417305,-0.965369433938,-0.965394441698,-0.965419440584,-0.965444430596,-0.965469411734,-0.965494383997,-0.965519347386,-0.9655443019,-0.965569247539,-0.965594184303,-0.965619112191,-0.965644031204,-0.96566894134,-0.9656938426,-0.965718734984,-0.965743618491,-0.965768493121,-0.965793358874,-0.96581821575,-0.965843063748,-0.965867902868,-0.96589273311,-0.965917554474,-0.965942366959,-0.965967170566,-0.965991965294,-0.966016751142,-0.966041528111,-0.966066296201,-0.96609105541,-0.96611580574,-0.966140547189,-0.966165279758,-0.966190003445,-0.966214718252,-0.966239424178,-0.966264121222,-0.966288809384,-0.966313488665,-0.966338159063,-0.966362820579,-0.966387473212,-0.966412116963,-0.96643675183,-0.966461377814,-0.966485994915,-0.966510603132,-0.966535202465,-0.966559792914,-0.966584374478,-0.966608947158,-0.966633510953,-0.966658065863,-0.966682611887,-0.966707149026,-0.966731677279,-0.966756196647,-0.966780707128,-0.966805208722,-0.96682970143,-0.966854185251,-0.966878660185,-0.966903126232,-0.966927583391,-0.966952031662,-0.966976471045,-0.96700090154,-0.967025323146,-0.967049735864,-0.967074139693,-0.967098534633,-0.967122920683,-0.967147297844,-0.967171666115,-0.967196025496,-0.967220375986,-0.967244717586,-0.967269050296,-0.967293374114,-0.967317689042,-0.967341995078,-0.967366292222,-0.967390580475,-0.967414859835,-0.967439130304,-0.96746339188,-0.967487644563,-0.967511888353,-0.96753612325,-0.967560349253,-0.967584566363,-0.967608774579,-0.967632973902,-0.967657164329,-0.967681345863,-0.967705518501,-0.967729682245,-0.967753837093,-0.967777983047,-0.967802120104,-0.967826248266,-0.967850367531,-0.967874477901,-0.967898579374,-0.96792267195,-0.967946755629,-0.967970830411,-0.967994896296,-0.968018953283,-0.968043001372,-0.968067040563,-0.968091070856,-0.968115092251,-0.968139104746,-0.968163108343,-0.968187103041,-0.968211088839,-0.968235065738,-0.968259033737,-0.968282992836,-0.968306943034,-0.968330884332,-0.96835481673,-0.968378740226,-0.968402654822,-0.968426560516,-0.968450457308,-0.968474345199,-0.968498224188,-0.968522094274,-0.968545955458,-0.96856980774,-0.968593651118,-0.968617485594,-0.968641311166,-0.968665127834,-0.968688935599,-0.96871273446,-0.968736524416,-0.968760305469,-0.968784077616,-0.968807840859,-0.968831595196,-0.968855340629,-0.968879077155,-0.968902804776,-0.968926523492,-0.9689502333,-0.968973934203,-0.968997626199,-0.969021309288,-0.96904498347,-0.969068648745,-0.969092305113,-0.969115952572,-0.969139591124,-0.969163220768,-0.969186841503,-0.96921045333,-0.969234056248,-0.969257650257,-0.969281235357,-0.969304811547,-0.969328378828,-0.969351937199,-0.969375486659,-0.96939902721,-0.96942255885,-0.969446081579,-0.969469595397,-0.969493100305,-0.9695165963,-0.969540083385,-0.969563561557,-0.969587030817,-0.969610491166,-0.969633942601,-0.969657385124,-0.969680818734,-0.969704243431,-0.969727659215,-0.969751066085,-0.969774464042,-0.969797853084,-0.969821233213,-0.969844604427,-0.969867966726,-0.969891320111,-0.96991466458,-0.969938000134,-0.969961326773,-0.969984644496,-0.970007953303,-0.970031253195,-0.970054544169,-0.970077826228,-0.970101099369,-0.970124363594,-0.970147618901,-0.970170865291,-0.970194102763,-0.970217331318,-0.970240550955,-0.970263761673,-0.970286963473,-0.970310156354,-0.970333340316,-0.970356515359,-0.970379681483,-0.970402838688,-0.970425986972,-0.970449126337,-0.970472256781,-0.970495378306,-0.970518490909,-0.970541594592,-0.970564689354,-0.970587775194,-0.970610852113,-0.970633920111,-0.970656979186,-0.97068002934,-0.970703070571,-0.97072610288,-0.970749126266,-0.970772140729,-0.970795146269,-0.970818142886,-0.970841130579,-0.970864109348,-0.970887079193,-0.970910040115,-0.970932992111,-0.970955935184,-0.970978869331,-0.971001794553,-0.97102471085,-0.971047618222,-0.971070516668,-0.971093406188,-0.971116286782,-0.97113915845,-0.971162021191,-0.971184875005,-0.971207719893,-0.971230555853,-0.971253382887,-0.971276200992,-0.97129901017,-0.97132181042,-0.971344601741,-0.971367384135,-0.971390157599,-0.971412922135,-0.971435677742,-0.97145842442,-0.971481162168,-0.971503890986,-0.971526610875,-0.971549321833,-0.971572023862,-0.97159471696,-0.971617401127,-0.971640076363,-0.971662742668,-0.971685400042,-0.971708048484,-0.971730687995,-0.971753318574,-0.97177594022,-0.971798552934,-0.971821156716,-0.971843751564,-0.97186633748,-0.971888914463,-0.971911482512,-0.971934041628,-0.97195659181,-0.971979133057,-0.972001665371,-0.97202418875,-0.972046703195,-0.972069208704,-0.972091705279,-0.972114192918,-0.972136671622,-0.97215914139,-0.972181602223,-0.972204054119,-0.972226497079,-0.972248931102,-0.972271356189,-0.972293772339,-0.972316179552,-0.972338577827,-0.972360967165,-0.972383347565,-0.972405719027,-0.972428081552,-0.972450435137,-0.972472779784,-0.972495115493,-0.972517442262,-0.972539760093,-0.972562068983,-0.972584368935,-0.972606659946,-0.972628942018,-0.972651215149,-0.97267347934,-0.97269573459,-0.9727179809,-0.972740218268,-0.972762446696,-0.972784666182,-0.972806876726,-0.972829078328,-0.972851270989,-0.972873454707,-0.972895629482,-0.972917795315,-0.972939952206,-0.972962100153,-0.972984239157,-0.973006369217,-0.973028490334,-0.973050602507,-0.973072705735,-0.97309480002,-0.97311688536,-0.973138961755,-0.973161029206,-0.973183087711,-0.973205137271,-0.973227177886,-0.973249209555,-0.973271232278,-0.973293246055,-0.973315250885,-0.973337246769,-0.973359233707,-0.973381211697,-0.973403180741,-0.973425140837,-0.973447091985,-0.973469034186,-0.973490967439,-0.973512891744,-0.9735348071,-0.973556713508,-0.973578610967,-0.973600499478,-0.973622379039,-0.973644249651,-0.973666111313,-0.973687964026,-0.973709807788,-0.973731642601,-0.973753468463,-0.973775285375,-0.973797093336,-0.973818892346,-0.973840682405,-0.973862463512,-0.973884235668,-0.973905998872,-0.973927753125,-0.973949498425,-0.973971234773,-0.973992962168,-0.974014680611,-0.9740363901,-0.974058090637,-0.97407978222,-0.97410146485,-0.974123138525,-0.974144803247,-0.974166459015,-0.974188105829,-0.974209743688,-0.974231372592,-0.974252992541,-0.974274603536,-0.974296205575,-0.974317798658,-0.974339382786,-0.974360957957,-0.974382524173,-0.974404081432,-0.974425629735,-0.974447169081,-0.97446869947,-0.974490220902,-0.974511733377,-0.974533236894,-0.974554731454,-0.974576217056,-0.974597693699,-0.974619161384,-0.974640620111,-0.974662069879,-0.974683510689,-0.974704942539,-0.974726365429,-0.974747779361,-0.974769184333,-0.974790580344,-0.974811967396,-0.974833345488,-0.974854714619,-0.974876074789,-0.974897425999,-0.974918768247,-0.974940101534,-0.97496142586,-0.974982741224,-0.975004047627,-0.975025345067,-0.975046633545,-0.975067913061,-0.975089183614,-0.975110445204,-0.975131697831,-0.975152941495,-0.975174176196,-0.975195401933,-0.975216618706,-0.975237826516,-0.975259025361,-0.975280215241,-0.975301396158,-0.975322568109,-0.975343731095,-0.975364885117,-0.975386030173,-0.975407166263,-0.975428293388,-0.975449411546,-0.975470520739,-0.975491620965,-0.975512712225,-0.975533794518,-0.975554867844,-0.975575932204,-0.975596987595,-0.97561803402,-0.975639071476,-0.975660099965,-0.975681119486,-0.975702130039,-0.975723131623,-0.975744124238,-0.975765107885,-0.975786082562,-0.975807048271,-0.975828005009,-0.975848952779,-0.975869891578,-0.975890821408,-0.975911742267,-0.975932654156,-0.975953557075,-0.975974451022,-0.975995335999,-0.976016212005,-0.976037079039,-0.976057937102,-0.976078786193,-0.976099626312,-0.976120457459,-0.976141279634,-0.976162092836,-0.976182897066,-0.976203692322,-0.976224478606,-0.976245255916,-0.976266024253,-0.976286783617,-0.976307534006,-0.976328275422,-0.976349007863,-0.97636973133,-0.976390445822,-0.97641115134,-0.976431847883,-0.97645253545,-0.976473214042,-0.976493883659,-0.9765145443,-0.976535195965,-0.976555838653,-0.976576472366,-0.976597097102,-0.976617712862,-0.976638319644,-0.97665891745,-0.976679506278,-0.976700086129,-0.976720657002,-0.976741218897,-0.976761771815,-0.976782315754,-0.976802850715,-0.976823376697,-0.976843893701,-0.976864401725,-0.976884900771,-0.976905390837,-0.976925871924,-0.976946344031,-0.976966807158,-0.976987261305,-0.977007706471,-0.977028142658,-0.977048569863,-0.977068988088,-0.977089397332,-0.977109797595,-0.977130188876,-0.977150571176,-0.977170944494,-0.97719130883,-0.977211664184,-0.977232010555,-0.977252347944,-0.977272676351,-0.977292995774,-0.977313306214,-0.977333607671,-0.977353900145,-0.977374183635,-0.977394458142,-0.977414723664,-0.977434980202,-0.977455227756,-0.977475466325,-0.977495695909,-0.977515916509,-0.977536128123,-0.977556330752,-0.977576524396,-0.977596709053,-0.977616884725,-0.977637051411,-0.977657209111,-0.977677357825,-0.977697497551,-0.977717628291,-0.977737750044,-0.97775786281,-0.977777966588,-0.977798061379,-0.977818147183,-0.977838223998,-0.977858291825,-0.977878350664,-0.977898400515,-0.977918441377,-0.97793847325,-0.977958496134,-0.977978510029,-0.977998514935,-0.978018510851,-0.978038497777,-0.978058475713,-0.978078444659,-0.978098404615,-0.978118355581,-0.978138297556,-0.97815823054,-0.978178154533,-0.978198069534,-0.978217975545,-0.978237872564,-0.978257760591,-0.978277639626,-0.978297509669,-0.97831737072,-0.978337222778,-0.978357065843,-0.978376899916,-0.978396724996,-0.978416541082,-0.978436348175,-0.978456146275,-0.978475935381,-0.978495715492,-0.97851548661,-0.978535248733,-0.978555001862,-0.978574745997,-0.978594481136,-0.97861420728,-0.978633924429,-0.978653632583,-0.978673331741,-0.978693021904,-0.97871270307,-0.978732375241,-0.978752038415,-0.978771692592,-0.978791337773,-0.978810973957,-0.978830601144,-0.978850219334,-0.978869828527,-0.978889428721,-0.978909019919,-0.978928602118,-0.978948175319,-0.978967739522,-0.978987294726,-0.979006840932,-0.979026378139,-0.979045906347,-0.979065425556,-0.979084935765,-0.979104436975,-0.979123929185,-0.979143412395,-0.979162886606,-0.979182351816,-0.979201808025,-0.979221255234,-0.979240693442,-0.979260122649,-0.979279542855,-0.97929895406,-0.979318356263,-0.979337749464,-0.979357133664,-0.979376508861,-0.979395875057,-0.97941523225,-0.97943458044,-0.979453919628,-0.979473249812,-0.979492570994,-0.979511883172,-0.979531186347,-0.979550480518,-0.979569765685,-0.979589041849,-0.979608309008,-0.979627567163,-0.979646816313,-0.979666056459,-0.979685287599,-0.979704509735,-0.979723722866,-0.979742926991,-0.97976212211,-0.979781308224,-0.979800485331,-0.979819653433,-0.979838812528,-0.979857962617,-0.9798771037,-0.979896235775,-0.979915358843,-0.979934472905,-0.979953577958,-0.979972674005,-0.979991761043,-0.980010839074,-0.980029908097,-0.980048968112,-0.980068019118,-0.980087061115,-0.980106094104,-0.980125118084,-0.980144133055,-0.980163139016,-0.980182135968,-0.980201123911,-0.980220102843,-0.980239072766,-0.980258033678,-0.98027698558,-0.980295928472,-0.980314862353,-0.980333787223,-0.980352703082,-0.98037160993,-0.980390507767,-0.980409396592,-0.980428276405,-0.980447147207,-0.980466008996,-0.980484861773,-0.980503705538,-0.98052254029,-0.98054136603,-0.980560182756,-0.98057899047,-0.98059778917,-0.980616578857,-0.98063535953,-0.980654131189,-0.980672893834,-0.980691647465,-0.980710392082,-0.980729127685,-0.980747854272,-0.980766571845,-0.980785280403,-0.980803979946,-0.980822670473,-0.980841351985,-0.980860024482,-0.980878687962,-0.980897342426,-0.980915987874,-0.980934624306,-0.980953251721,-0.98097187012,-0.980990479502,-0.981009079866,-0.981027671213,-0.981046253543,-0.981064826856,-0.98108339115,-0.981101946427,-0.981120492686,-0.981139029926,-0.981157558148,-0.981176077352,-0.981194587536,-0.981213088702,-0.981231580849,-0.981250063976,-0.981268538084,-0.981287003172,-0.981305459241,-0.981323906289,-0.981342344318,-0.981360773326,-0.981379193314,-0.981397604281,-0.981416006227,-0.981434399152,-0.981452783057,-0.98147115794,-0.981489523801,-0.981507880641,-0.981526228459,-0.981544567255,-0.981562897028,-0.98158121778,-0.981599529509,-0.981617832215,-0.981636125899,-0.98165441056,-0.981672686197,-0.981690952811,-0.981709210402,-0.981727458969,-0.981745698512,-0.981763929031,-0.981782150526,-0.981800362996,-0.981818566443,-0.981836760864,-0.981854946261,-0.981873122632,-0.981891289979,-0.9819094483,-0.981927597595,-0.981945737865,-0.98196386911,-0.981981991328,-0.98200010452,-0.982018208685,-0.982036303824,-0.982054389937,-0.982072467022,-0.982090535081,-0.982108594113,-0.982126644117,-0.982144685093,-0.982162717042,-0.982180739963,-0.982198753856,-0.982216758721,-0.982234754558,-0.982252741366,-0.982270719146,-0.982288687896,-0.982306647618,-0.982324598311,-0.982342539974,-0.982360472608,-0.982378396212,-0.982396310786,-0.98241421633,-0.982432112845,-0.982450000328,-0.982467878782,-0.982485748205,-0.982503608597,-0.982521459958,-0.982539302287,-0.982557135586,-0.982574959853,-0.982592775089,-0.982610581292,-0.982628378464,-0.982646166604,-0.982663945711,-0.982681715786,-0.982699476829,-0.982717228838,-0.982734971815,-0.982752705758,-0.982770430669,-0.982788146546,-0.982805853389,-0.982823551199,-0.982841239974,-0.982858919716,-0.982876590423,-0.982894252096,-0.982911904735,-0.982929548339,-0.982947182908,-0.982964808441,-0.98298242494,-0.983000032403,-0.983017630831,-0.983035220223,-0.983052800579,-0.983070371899,-0.983087934184,-0.983105487431,-0.983123031642,-0.983140566817,-0.983158092955,-0.983175610055,-0.983193118119,-0.983210617145,-0.983228107134,-0.983245588085,-0.983263059999,-0.983280522874,-0.983297976712,-0.983315421511,-0.983332857272,-0.983350283994,-0.983367701677,-0.983385110322,-0.983402509927,-0.983419900493,-0.98343728202,-0.983454654507,-0.983472017955,-0.983489372362,-0.98350671773,-0.983524054058,-0.983541381345,-0.983558699591,-0.983576008797,-0.983593308962,-0.983610600087,-0.98362788217,-0.983645155211,-0.983662419212,-0.98367967417,-0.983696920087,-0.983714156962,-0.983731384795,-0.983748603586,-0.983765813334,-0.98378301404,-0.983800205703,-0.983817388323,-0.9838345619,-0.983851726434,-0.983868881924,-0.983886028371,-0.983903165774,-0.983920294134,-0.983937413449,-0.983954523721,-0.983971624948,-0.98398871713,-0.984005800268,-0.984022874361,-0.98403993941,-0.984056995413,-0.984074042371,-0.984091080283,-0.98410810915,-0.984125128972,-0.984142139747,-0.984159141476,-0.98417613416,-0.984193117797,-0.984210092387,-0.984227057931,-0.984244014428,-0.984260961878,-0.98427790028,-0.984294829636,-0.984311749944,-0.984328661205,-0.984345563418,-0.984362456583,-0.984379340699,-0.984396215768,-0.984413081789,-0.98442993876,-0.984446786684,-0.984463625558,-0.984480455383,-0.984497276159,-0.984514087886,-0.984530890564,-0.984547684192,-0.98456446877,-0.984581244298,-0.984598010776,-0.984614768204,-0.984631516582,-0.984648255909,-0.984664986185,-0.984681707411,-0.984698419586,-0.984715122709,-0.984731816781,-0.984748501802,-0.984765177771,-0.984781844688,-0.984798502554,-0.984815151367,-0.984831791128,-0.984848421837,-0.984865043494,-0.984881656097,-0.984898259648,-0.984914854146,-0.984931439591,-0.984948015982,-0.98496458332,-0.984981141605,-0.984997690835,-0.985014231012,-0.985030762135,-0.985047284204,-0.985063797218,-0.985080301178,-0.985096796083,-0.985113281933,-0.985129758728,-0.985146226469,-0.985162685154,-0.985179134783,-0.985195575357,-0.985212006876,-0.985228429338,-0.985244842745,-0.985261247095,-0.985277642389,-0.985294028626,-0.985310405807,-0.985326773932,-0.985343132999,-0.985359483009,-0.985375823962,-0.985392155858,-0.985408478696,-0.985424792476,-0.985441097199,-0.985457392864,-0.98547367947,-0.985489957018,-0.985506225508,-0.98552248494,-0.985538735312,-0.985554976626,-0.985571208881,-0.985587432076,-0.985603646213,-0.985619851289,-0.985636047307,-0.985652234264,-0.985668412162,-0.985684580999,-0.985700740776,-0.985716891493,-0.98573303315,-0.985749165746,-0.985765289281,-0.985781403755,-0.985797509168,-0.985813605519,-0.98582969281,-0.985845771038,-0.985861840206,-0.985877900311,-0.985893951354,-0.985909993335,-0.985926026254,-0.985942050111,-0.985958064905,-0.985974070636,-0.985990067304,-0.98600605491,-0.986022033452,-0.986038002931,-0.986053963346,-0.986069914698,-0.986085856986,-0.98610179021,-0.986117714371,-0.986133629467,-0.986149535498,-0.986165432465,-0.986181320368,-0.986197199206,-0.986213068979,-0.986228929686,-0.986244781329,-0.986260623906,-0.986276457418,-0.986292281864,-0.986308097245,-0.986323903559,-0.986339700807,-0.986355488989,-0.986371268105,-0.986387038154,-0.986402799137,-0.986418551053,-0.986434293902,-0.986450027683,-0.986465752398,-0.986481468045,-0.986497174625,-0.986512872136,-0.986528560581,-0.986544239957,-0.986559910265,-0.986575571505,-0.986591223676,-0.986606866779,-0.986622500813,-0.986638125778,-0.986653741675,-0.986669348502,-0.98668494626,-0.986700534949,-0.986716114568,-0.986731685117,-0.986747246597,-0.986762799007,-0.986778342346,-0.986793876615,-0.986809401814,-0.986824917943,-0.986840425,-0.986855922987,-0.986871411903,-0.986886891748,-0.986902362521,-0.986917824223,-0.986933276854,-0.986948720413,-0.9869641549,-0.986979580315,-0.986994996658,-0.987010403928,-0.987025802127,-0.987041191253,-0.987056571306,-0.987071942286,-0.987087304193,-0.987102657028,-0.987118000789,-0.987133335477,-0.987148661091,-0.987163977631,-0.987179285098,-0.987194583491,-0.987209872809,-0.987225153054,-0.987240424224,-0.987255686319,-0.98727093934,-0.987286183287,-0.987301418158,-0.987316643954,-0.987331860675,-0.987347068321,-0.987362266891,-0.987377456385,-0.987392636804,-0.987407808147,-0.987422970414,-0.987438123605,-0.987453267719,-0.987468402757,-0.987483528718,-0.987498645603,-0.98751375341,-0.987528852141,-0.987543941794,-0.987559022371,-0.987574093869,-0.987589156291,-0.987604209634,-0.9876192539,-0.987634289087,-0.987649315197,-0.987664332228,-0.987679340181,-0.987694339055,-0.987709328851,-0.987724309568,-0.987739281206,-0.987754243765,-0.987769197244,-0.987784141645,-0.987799076965,-0.987814003206,-0.987828920368,-0.987843828449,-0.987858727451,-0.987873617372,-0.987888498213,-0.987903369973,-0.987918232653,-0.987933086252,-0.98794793077,-0.987962766207,-0.987977592563,-0.987992409838,-0.988007218031,-0.988022017143,-0.988036807173,-0.988051588122,-0.988066359988,-0.988081122772,-0.988095876474,-0.988110621094,-0.988125356631,-0.988140083086,-0.988154800457,-0.988169508746,-0.988184207952,-0.988198898075,-0.988213579114,-0.98822825107,-0.988242913942,-0.988257567731,-0.988272212435,-0.988286848056,-0.988301474593,-0.988316092045,-0.988330700413,-0.988345299697,-0.988359889895,-0.988374471009,-0.988389043038,-0.988403605982,-0.988418159841,-0.988432704615,-0.988447240303,-0.988461766905,-0.988476284422,-0.988490792853,-0.988505292198,-0.988519782456,-0.988534263629,-0.988548735715,-0.988563198714,-0.988577652627,-0.988592097453,-0.988606533192,-0.988620959844,-0.988635377409,-0.988649785887,-0.988664185277,-0.98867857558,-0.988692956794,-0.988707328921,-0.98872169196,-0.988736045911,-0.988750390774,-0.988764726548,-0.988779053234,-0.988793370831,-0.988807679339,-0.988821978758,-0.988836269089,-0.98885055033,-0.988864822482,-0.988879085544,-0.988893339517,-0.9889075844,-0.988921820194,-0.988936046897,-0.98895026451,-0.988964473033,-0.988978672466,-0.988992862808,-0.98900704406,-0.989021216221,-0.989035379291,-0.98904953327,-0.989063678158,-0.989077813955,-0.98909194066,-0.989106058273,-0.989120166796,-0.989134266226,-0.989148356564,-0.989162437811,-0.989176509965,-0.989190573027,-0.989204626996,-0.989218671873,-0.989232707657,-0.989246734349,-0.989260751947,-0.989274760452,-0.989288759865,-0.989302750183,-0.989316731409,-0.989330703541,-0.989344666579,-0.989358620523,-0.989372565373,-0.989386501129,-0.989400427791,-0.989414345359,-0.989428253832,-0.989442153211,-0.989456043494,-0.989469924683,-0.989483796777,-0.989497659776,-0.989511513679,-0.989525358487,-0.9895391942,-0.989553020817,-0.989566838338,-0.989580646764,-0.989594446093,-0.989608236326,-0.989622017463,-0.989635789504,-0.989649552448,-0.989663306295,-0.989677051046,-0.989690786699,-0.989704513256,-0.989718230716,-0.989731939078,-0.989745638343,-0.98975932851,-0.98977300958,-0.989786681552,-0.989800344426,-0.989813998202,-0.989827642879,-0.989841278459,-0.98985490494,-0.989868522322,-0.989882130606,-0.989895729791,-0.989909319878,-0.989922900865,-0.989936472753,-0.989950035542,-0.989963589231,-0.989977133821,-0.989990669311,-0.990004195701,-0.990017712992,-0.990031221182,-0.990044720272,-0.990058210262,-0.990071691152,-0.990085162941,-0.990098625629,-0.990112079217,-0.990125523704,-0.990138959089,-0.990152385374,-0.990165802557,-0.990179210639,-0.99019260962,-0.990205999498,-0.990219380275,-0.99023275195,-0.990246114523,-0.990259467994,-0.990272812363,-0.99028614763,-0.990299473793,-0.990312790855,-0.990326098813,-0.990339397669,-0.990352687421,-0.990365968071,-0.990379239617,-0.99039250206,-0.9904057554,-0.990418999635,-0.990432234768,-0.990445460796,-0.99045867772,-0.99047188554,-0.990485084256,-0.990498273868,-0.990511454375,-0.990524625778,-0.990537788076,-0.990550941269,-0.990564085358,-0.990577220341,-0.990590346219,-0.990603462992,-0.990616570659,-0.990629669221,-0.990642758677,-0.990655839027,-0.990668910272,-0.99068197241,-0.990695025443,-0.990708069369,-0.990721104188,-0.990734129902,-0.990747146508,-0.990760154008,-0.990773152401,-0.990786141687,-0.990799121866,-0.990812092938,-0.990825054902,-0.990838007759,-0.990850951508,-0.99086388615,-0.990876811684,-0.99088972811,-0.990902635428,-0.990915533638,-0.990928422739,-0.990941302732,-0.990954173617,-0.990967035392,-0.99097988806,-0.990992731618,-0.991005566067,-0.991018391407,-0.991031207638,-0.99104401476,-0.991056812772,-0.991069601674,-0.991082381467,-0.99109515215,-0.991107913723,-0.991120666186,-0.991133409539,-0.991146143782,-0.991158868914,-0.991171584936,-0.991184291847,-0.991196989647,-0.991209678336,-0.991222357915,-0.991235028382,-0.991247689738,-0.991260341983,-0.991272985116,-0.991285619138,-0.991298244048,-0.991310859846,-0.991323466532,-0.991336064107,-0.991348652569,-0.991361231919,-0.991373802156,-0.991386363281,-0.991398915294,-0.991411458193,-0.99142399198,-0.991436516654,-0.991449032215,-0.991461538662,-0.991474035997,-0.991486524218,-0.991499003325,-0.991511473319,-0.991523934199,-0.991536385965,-0.991548828617,-0.991561262155,-0.991573686579,-0.991586101888,-0.991598508083,-0.991610905163,-0.991623293129,-0.99163567198,-0.991648041716,-0.991660402337,-0.991672753843,-0.991685096234,-0.991697429509,-0.991709753669,-0.991722068713,-0.991734374642,-0.991746671455,-0.991758959152,-0.991771237732,-0.991783507197,-0.991795767545,-0.991808018777,-0.991820260893,-0.991832493892,-0.991844717774,-0.991856932539,-0.991869138188,-0.991881334719,-0.991893522134,-0.991905700431,-0.99191786961,-0.991930029672,-0.991942180617,-0.991954322444,-0.991966455153,-0.991978578744,-0.991990693216,-0.992002798571,-0.992014894808,-0.992026981926,-0.992039059925,-0.992051128806,-0.992063188569,-0.992075239212,-0.992087280737,-0.992099313142,-0.992111336428,-0.992123350596,-0.992135355643,-0.992147351571,-0.99215933838,-0.992171316069,-0.992183284638,-0.992195244087,-0.992207194416,-0.992219135625,-0.992231067713,-0.992242990681,-0.992254904529,-0.992266809256,-0.992278704863,-0.992290591348,-0.992302468713,-0.992314336957,-0.992326196079,-0.99233804608,-0.99234988696,-0.992361718719,-0.992373541356,-0.992385354871,-0.992397159264,-0.992408954536,-0.992420740685,-0.992432517713,-0.992444285618,-0.992456044401,-0.992467794061,-0.992479534599,-0.992491266014,-0.992502988306,-0.992514701476,-0.992526405522,-0.992538100446,-0.992549786246,-0.992561462923,-0.992573130476,-0.992584788906,-0.992596438213,-0.992608078395,-0.992619709454,-0.992631331389,-0.9926429442,-0.992654547887,-0.992666142449,-0.992677727887,-0.9926893042,-0.992700871389,-0.992712429454,-0.992723978393,-0.992735518208,-0.992747048897,-0.992758570462,-0.992770082901,-0.992781586215,-0.992793080403,-0.992804565466,-0.992816041403,-0.992827508215,-0.9928389659,-0.99285041446,-0.992861853893,-0.992873284201,-0.992884705382,-0.992896117437,-0.992907520365,-0.992918914167,-0.992930298842,-0.99294167439,-0.992953040811,-0.992964398105,-0.992975746273,-0.992987085312,-0.992998415225,-0.99300973601,-0.993021047668,-0.993032350198,-0.9930436436,-0.993054927875,-0.993066203021,-0.993077469039,-0.99308872593,-0.993099973692,-0.993111212325,-0.99312244183,-0.993133662207,-0.993144873455,-0.993156075574,-0.993167268564,-0.993178452426,-0.993189627158,-0.993200792761,-0.993211949235,-0.993223096579,-0.993234234794,-0.993245363879,-0.993256483835,-0.993267594661,-0.993278696356,-0.993289788922,-0.993300872358,-0.993311946664,-0.993323011839,-0.993334067884,-0.993345114798,-0.993356152582,-0.993367181235,-0.993378200757,-0.993389211148,-0.993400212408,-0.993411204537,-0.993422187535,-0.993433161402,-0.993444126137,-0.993455081741,-0.993466028213,-0.993476965553,-0.993487893761,-0.993498812838,-0.993509722782,-0.993520623595,-0.993531515275,-0.993542397822,-0.993553271238,-0.993564135521,-0.993574990671,-0.993585836688,-0.993596673573,-0.993607501325,-0.993618319943,-0.993629129429,-0.993639929781,-0.993650721,-0.993661503086,-0.993672276038,-0.993683039856,-0.993693794541,-0.993704540092,-0.993715276509,-0.993726003792,-0.993736721941,-0.993747430955,-0.993758130836,-0.993768821582,-0.993779503193,-0.99379017567,-0.993800839012,-0.993811493219,-0.993822138292,-0.993832774229,-0.993843401031,-0.993854018698,-0.99386462723,-0.993875226626,-0.993885816887,-0.993896398013,-0.993906970002,-0.993917532856,-0.993928086574,-0.993938631156,-0.993949166602,-0.993959692912,-0.993970210085,-0.993980718123,-0.993991217023,-0.994001706787,-0.994012187415,-0.994022658906,-0.99403312126,-0.994043574477,-0.994054018557,-0.994064453499,-0.994074879305,-0.994085295973,-0.994095703504,-0.994106101897,-0.994116491153,-0.994126871271,-0.994137242251,-0.994147604093,-0.994157956798,-0.994168300364,-0.994178634792,-0.994188960082,-0.994199276233,-0.994209583246,-0.994219881121,-0.994230169856,-0.994240449453,-0.994250719911,-0.99426098123,-0.994271233411,-0.994281476452,-0.994291710353,-0.994301935116,-0.994312150739,-0.994322357223,-0.994332554567,-0.994342742771,-0.994352921835,-0.99436309176,-0.994373252545,-0.994383404189,-0.994393546694,-0.994403680058,-0.994413804281,-0.994423919365,-0.994434025308,-0.99444412211,-0.994454209771,-0.994464288292,-0.994474357672,-0.994484417911,-0.994494469008,-0.994504510965,-0.99451454378,-0.994524567454,-0.994534581987,-0.994544587377,-0.994554583627,-0.994564570734,-0.9945745487,-0.994584517524,-0.994594477206,-0.994604427745,-0.994614369143,-0.994624301398,-0.994634224511,-0.994644138481,-0.994654043309,-0.994663938994,-0.994673825536,-0.994683702936,-0.994693571193,-0.994703430306,-0.994713280277,-0.994723121104,-0.994732952788,-0.994742775329,-0.994752588726,-0.99476239298,-0.99477218809,-0.994781974057,-0.994791750879,-0.994801518558,-0.994811277092,-0.994821026483,-0.994830766729,-0.994840497831,-0.994850219789,-0.994859932602,-0.994869636271,-0.994879330795,-0.994889016174,-0.994898692409,-0.994908359498,-0.994918017443,-0.994927666243,-0.994937305897,-0.994946936406,-0.99495655777,-0.994966169989,-0.994975773061,-0.994985366989,-0.99499495177,-0.995004527406,-0.995014093896,-0.99502365124,-0.995033199438,-0.99504273849,-0.995052268396,-0.995061789155,-0.995071300768,-0.995080803234,-0.995090296554,-0.995099780727,-0.995109255754,-0.995118721633,-0.995128178366,-0.995137625952,-0.99514706439,-0.995156493682,-0.995165913826,-0.995175324823,-0.995184726672,-0.995194119374,-0.995203502928,-0.995212877335,-0.995222242594,-0.995231598705,-0.995240945667,-0.995250283482,-0.995259612149,-0.995268931668,-0.995278242038,-0.99528754326,-0.995296835333,-0.995306118258,-0.995315392034,-0.995324656662,-0.99533391214,-0.99534315847,-0.995352395651,-0.995361623683,-0.995370842565,-0.995380052299,-0.995389252883,-0.995398444317,-0.995407626603,-0.995416799738,-0.995425963724,-0.99543511856,-0.995444264247,-0.995453400783,-0.995462528169,-0.995471646406,-0.995480755492,-0.995489855428,-0.995498946213,-0.995508027849,-0.995517100333,-0.995526163668,-0.995535217851,-0.995544262884,-0.995553298766,-0.995562325497,-0.995571343077,-0.995580351506,-0.995589350783,-0.99559834091,-0.995607321885,-0.995616293709,-0.995625256381,-0.995634209902,-0.995643154271,-0.995652089488,-0.995661015554,-0.995669932467,-0.995678840229,-0.995687738838,-0.995696628296,-0.995705508601,-0.995714379754,-0.995723241754,-0.995732094602,-0.995740938298,-0.99574977284,-0.99575859823,-0.995767414468,-0.995776221552,-0.995785019483,-0.995793808262,-0.995802587887,-0.995811358359,-0.995820119678,-0.995828871843,-0.995837614855,-0.995846348714,-0.995855073419,-0.99586378897,-0.995872495367,-0.995881192611,-0.9958898807,-0.995898559636,-0.995907229417,-0.995915890045,-0.995924541518,-0.995933183837,-0.995941817001,-0.995950441011,-0.995959055866,-0.995967661567,-0.995976258113,-0.995984845504,-0.99599342374,-0.996001992822,-0.996010552748,-0.996019103519,-0.996027645135,-0.996036177596,-0.996044700901,-0.996053215051,-0.996061720046,-0.996070215884,-0.996078702568,-0.996087180095,-0.996095648467,-0.996104107682,-0.996112557742,-0.996120998646,-0.996129430393,-0.996137852985,-0.99614626642,-0.996154670699,-0.996163065821,-0.996171451787,-0.996179828596,-0.996188196248,-0.996196554744,-0.996204904083,-0.996213244265,-0.99622157529,-0.996229897158,-0.996238209869,-0.996246513422,-0.996254807819,-0.996263093058,-0.996271369139,-0.996279636063,-0.99628789383,-0.996296142438,-0.99630438189,-0.996312612183,-0.996320833318,-0.996329045295,-0.996337248115,-0.996345441776,-0.996353626279,-0.996361801624,-0.99636996781,-0.996378124838,-0.996386272708,-0.996394411419,-0.996402540971,-0.996410661364,-0.996418772599,-0.996426874675,-0.996434967592,-0.99644305135,-0.996451125949,-0.996459191389,-0.996467247669,-0.99647529479,-0.996483332752,-0.996491361554,-0.996499381197,-0.99650739168,-0.996515393004,-0.996523385167,-0.996531368171,-0.996539342015,-0.996547306699,-0.996555262223,-0.996563208587,-0.996571145791,-0.996579073834,-0.996586992717,-0.99659490244,-0.996602803002,-0.996610694403,-0.996618576644,-0.996626449724,-0.996634313644,-0.996642168402,-0.996650014,-0.996657850437,-0.996665677712,-0.996673495827,-0.99668130478,-0.996689104572,-0.996696895203,-0.996704676672,-0.99671244898,-0.996720212126,-0.996727966111,-0.996735710933,-0.996743446594,-0.996751173094,-0.996758890431,-0.996766598606,-0.996774297619,-0.99678198747,-0.996789668159,-0.996797339686,-0.99680500205,-0.996812655252,-0.996820299291,-0.996827934168,-0.996835559882,-0.996843176434,-0.996850783822,-0.996858382048,-0.996865971111,-0.996873551011,-0.996881121748,-0.996888683322,-0.996896235732,-0.99690377898,-0.996911313064,-0.996918837984,-0.996926353741,-0.996933860335,-0.996941357765,-0.996948846031,-0.996956325134,-0.996963795073,-0.996971255848,-0.996978707459,-0.996986149906,-0.996993583189,-0.997001007307,-0.997008422262,-0.997015828052,-0.997023224678,-0.997030612139,-0.997037990436,-0.997045359569,-0.997052719536,-0.997060070339,-0.997067411978,-0.997074744451,-0.99708206776,-0.997089381903,-0.997096686882,-0.997103982696,-0.997111269344,-0.997118546827,-0.997125815145,-0.997133074297,-0.997140324284,-0.997147565106,-0.997154796762,-0.997162019252,-0.997169232576,-0.997176436735,-0.997183631728,-0.997190817555,-0.997197994217,-0.997205161712,-0.997212320041,-0.997219469204,-0.9972266092,-0.99723374003,-0.997240861694,-0.997247974192,-0.997255077523,-0.997262171688,-0.997269256685,-0.997276332517,-0.997283399181,-0.997290456679,-0.997297505009,-0.997304544173,-0.99731157417,-0.997318595,-0.997325606662,-0.997332609158,-0.997339602486,-0.997346586647,-0.99735356164,-0.997360527466,-0.997367484124,-0.997374431615,-0.997381369938,-0.997388299094,-0.997395219081,-0.997402129901,-0.997409031553,-0.997415924037,-0.997422807353,-0.997429681501,-0.997436546481,-0.997443402292,-0.997450248935,-0.99745708641,-0.997463914716,-0.997470733854,-0.997477543824,-0.997484344624,-0.997491136257,-0.99749791872,-0.997504692015,-0.99751145614,-0.997518211097,-0.997524956885,-0.997531693504,-0.997538420954,-0.997545139234,-0.997551848346,-0.997558548288,-0.99756523906,-0.997571920664,-0.997578593098,-0.997585256362,-0.997591910457,-0.997598555382,-0.997605191137,-0.997611817723,-0.997618435139,-0.997625043384,-0.99763164246,-0.997638232366,-0.997644813102,-0.997651384668,-0.997657947063,-0.997664500289,-0.997671044343,-0.997677579228,-0.997684104942,-0.997690621486,-0.997697128859,-0.997703627061,-0.997710116093,-0.997716595954,-0.997723066644,-0.997729528164,-0.997735980512,-0.997742423689,-0.997748857696,-0.997755282531,-0.997761698195,-0.997768104688,-0.99777450201,-0.997780890161,-0.99778726914,-0.997793638947,-0.997799999583,-0.997806351048,-0.99781269334,-0.997819026462,-0.997825350411,-0.997831665189,-0.997837970795,-0.997844267228,-0.99785055449,-0.99785683258,-0.997863101498,-0.997869361244,-0.997875611817,-0.997881853218,-0.997888085447,-0.997894308504,-0.997900522388,-0.997906727099,-0.997912922638,-0.997919109005,-0.997925286199,-0.99793145422,-0.997937613068,-0.997943762743,-0.997949903246,-0.997956034576,-0.997962156732,-0.997968269716,-0.997974373526,-0.997980468164,-0.997986553628,-0.997992629919,-0.997998697036,-0.99800475498,-0.998010803751,-0.998016843348,-0.998022873771,-0.998028895021,-0.998034907098,-0.99804091,-0.998046903729,-0.998052888284,-0.998058863665,-0.998064829872,-0.998070786905,-0.998076734765,-0.99808267345,-0.99808860296,-0.998094523297,-0.998100434459,-0.998106336447,-0.998112229261,-0.9981181129,-0.998123987365,-0.998129852655,-0.998135708771,-0.998141555712,-0.998147393478,-0.998153222069,-0.998159041486,-0.998164851728,-0.998170652795,-0.998176444686,-0.998182227403,-0.998188000945,-0.998193765312,-0.998199520503,-0.99820526652,-0.99821100336,-0.998216731026,-0.998222449516,-0.998228158831,-0.99823385897,-0.998239549934,-0.998245231722,-0.998250904335,-0.998256567771,-0.998262222032,-0.998267867118,-0.998273503027,-0.99827912976,-0.998284747318,-0.998290355699,-0.998295954905,-0.998301544934,-0.998307125787,-0.998312697464,-0.998318259964,-0.998323813289,-0.998329357436,-0.998334892408,-0.998340418203,-0.998345934821,-0.998351442263,-0.998356940528,-0.998362429617,-0.998367909529,-0.998373380264,-0.998378841822,-0.998384294203,-0.998389737407,-0.998395171435,-0.998400596285,-0.998406011958,-0.998411418454,-0.998416815773,-0.998422203915,-0.998427582879,-0.998432952667,-0.998438313276,-0.998443664708,-0.998449006963,-0.998454340041,-0.99845966394,-0.998464978662,-0.998470284207,-0.998475580573,-0.998480867762,-0.998486145773,-0.998491414606,-0.998496674262,-0.998501924739,-0.998507166038,-0.99851239816,-0.998517621103,-0.998522834868,-0.998528039454,-0.998533234863,-0.998538421093,-0.998543598145,-0.998548766018,-0.998553924713,-0.99855907423,-0.998564214568,-0.998569345727,-0.998574467708,-0.99857958051,-0.998584684133,-0.998589778578,-0.998594863843,-0.99859993993,-0.998605006838,-0.998610064567,-0.998615113117,-0.998620152488,-0.99862518268,-0.998630203693,-0.998635215526,-0.99864021818,-0.998645211655,-0.998650195951,-0.998655171067,-0.998660137004,-0.998665093761,-0.998670041339,-0.998674979737,-0.998679908956,-0.998684828995,-0.998689739854,-0.998694641534,-0.998699534034,-0.998704417353,-0.998709291494,-0.998714156454,-0.998719012234,-0.998723858834,-0.998728696254,-0.998733524494,-0.998738343554,-0.998743153434,-0.998747954133,-0.998752745652,-0.998757527991,-0.99876230115,-0.998767065128,-0.998771819925,-0.998776565542,-0.998781301979,-0.998786029235,-0.99879074731,-0.998795456205,-0.998800155919,-0.998804846452,-0.998809527805,-0.998814199976,-0.998818862967,-0.998823516777,-0.998828161406,-0.998832796854,-0.99883742312,-0.998842040206,-0.99884664811,-0.998851246834,-0.998855836376,-0.998860416737,-0.998864987916,-0.998869549914,-0.998874102731,-0.998878646366,-0.99888318082,-0.998887706093,-0.998892222183,-0.998896729092,-0.99890122682,-0.998905715366,-0.99891019473,-0.998914664912,-0.998919125913,-0.998923577731,-0.998928020368,-0.998932453823,-0.998936878096,-0.998941293187,-0.998945699096,-0.998950095822,-0.998954483367,-0.998958861729,-0.99896323091,-0.998967590908,-0.998971941723,-0.998976283356,-0.998980615807,-0.998984939076,-0.998989253162,-0.998993558066,-0.998997853787,-0.999002140325,-0.999006417681,-0.999010685854,-0.999014944845,-0.999019194652,-0.999023435277,-0.99902766672,-0.999031888979,-0.999036102055,-0.999040305949,-0.999044500659,-0.999048686187,-0.999052862532,-0.999057029693,-0.999061187671,-0.999065336466,-0.999069476078,-0.999073606507,-0.999077727753,-0.999081839815,-0.999085942694,-0.999090036389,-0.999094120901,-0.99909819623,-0.999102262375,-0.999106319336,-0.999110367114,-0.999114405709,-0.999118435119,-0.999122455346,-0.99912646639,-0.999130468249,-0.999134460925,-0.999138444417,-0.999142418725,-0.999146383849,-0.999150339789,-0.999154286545,-0.999158224118,-0.999162152506,-0.99916607171,-0.99916998173,-0.999173882566,-0.999177774217,-0.999181656685,-0.999185529968,-0.999189394067,-0.999193248981,-0.999197094711,-0.999200931257,-0.999204758618,-0.999208576795,-0.999212385787,-0.999216185595,-0.999219976218,-0.999223757657,-0.999227529911,-0.99923129298,-0.999235046865,-0.999238791564,-0.999242527079,-0.999246253409,-0.999249970555,-0.999253678515,-0.999257377291,-0.999261066881,-0.999264747287,-0.999268418507,-0.999272080543,-0.999275733393,-0.999279377058,-0.999283011538,-0.999286636833,-0.999290252943,-0.999293859867,-0.999297457606,-0.99930104616,-0.999304625528,-0.999308195711,-0.999311756709,-0.999315308521,-0.999318851147,-0.999322384588,-0.999325908844,-0.999329423914,-0.999332929798,-0.999336426497,-0.99933991401,-0.999343392337,-0.999346861478,-0.999350321434,-0.999353772204,-0.999357213788,-0.999360646186,-0.999364069399,-0.999367483425,-0.999370888265,-0.99937428392,-0.999377670388,-0.99938104767,-0.999384415766,-0.999387774676,-0.9993911244,-0.999394464938,-0.99939779629,-0.999401118455,-0.999404431434,-0.999407735226,-0.999411029833,-0.999414315253,-0.999417591486,-0.999420858533,-0.999424116394,-0.999427365068,-0.999430604555,-0.999433834857,-0.999437055971,-0.999440267899,-0.99944347064,-0.999446664195,-0.999449848562,-0.999453023744,-0.999456189738,-0.999459346546,-0.999462494166,-0.9994656326,-0.999468761847,-0.999471881907,-0.999474992781,-0.999478094467,-0.999481186966,-0.999484270278,-0.999487344404,-0.999490409342,-0.999493465093,-0.999496511657,-0.999499549033,-0.999502577223,-0.999505596225,-0.99950860604,-0.999511606668,-0.999514598109,-0.999517580362,-0.999520553428,-0.999523517306,-0.999526471997,-0.999529417501,-0.999532353817,-0.999535280946,-0.999538198887,-0.999541107641,-0.999544007207,-0.999546897585,-0.999549778776,-0.999552650779,-0.999555513595,-0.999558367223,-0.999561211663,-0.999564046915,-0.99956687298,-0.999569689857,-0.999572497546,-0.999575296047,-0.99957808536,-0.999580865485,-0.999583636423,-0.999586398172,-0.999589150734,-0.999591894107,-0.999594628292,-0.99959735329,-0.999600069099,-0.99960277572,-0.999605473153,-0.999608161398,-0.999610840455,-0.999613510323,-0.999616171003,-0.999618822495,-0.999621464799,-0.999624097914,-0.999626721841,-0.99962933658,-0.99963194213,-0.999634538492,-0.999637125666,-0.999639703651,-0.999642272447,-0.999644832055,-0.999647382475,-0.999649923706,-0.999652455748,-0.999654978602,-0.999657492267,-0.999659996744,-0.999662492032,-0.999664978131,-0.999667455042,-0.999669922763,-0.999672381297,-0.999674830641,-0.999677270796,-0.999679701763,-0.999682123541,-0.99968453613,-0.99968693953,-0.999689333741,-0.999691718763,-0.999694094597,-0.999696461241,-0.999698818696,-0.999701166963,-0.99970350604,-0.999705835928,-0.999708156627,-0.999710468137,-0.999712770458,-0.99971506359,-0.999717347532,-0.999719622286,-0.99972188785,-0.999724144225,-0.999726391411,-0.999728629407,-0.999730858214,-0.999733077832,-0.999735288261,-0.9997374895,-0.999739681549,-0.99974186441,-0.999744038081,-0.999746202562,-0.999748357855,-0.999750503957,-0.99975264087,-0.999754768594,-0.999756887128,-0.999758996472,-0.999761096627,-0.999763187593,-0.999765269369,-0.999767341955,-0.999769405351,-0.999771459558,-0.999773504575,-0.999775540403,-0.99977756704,-0.999779584488,-0.999781592747,-0.999783591815,-0.999785581694,-0.999787562382,-0.999789533881,-0.999791496191,-0.99979344931,-0.999795393239,-0.999797327979,-0.999799253528,-0.999801169888,-0.999803077058,-0.999804975037,-0.999806863827,-0.999808743427,-0.999810613836,-0.999812475056,-0.999814327085,-0.999816169925,-0.999818003574,-0.999819828034,-0.999821643303,-0.999823449382,-0.99982524627,-0.999827033969,-0.999828812478,-0.999830581796,-0.999832341924,-0.999834092862,-0.999835834609,-0.999837567166,-0.999839290533,-0.99984100471,-0.999842709696,-0.999844405492,-0.999846092098,-0.999847769513,-0.999849437738,-0.999851096772,-0.999852746616,-0.99985438727,-0.999856018733,-0.999857641006,-0.999859254088,-0.99986085798,-0.999862452681,-0.999864038192,-0.999865614512,-0.999867181641,-0.999868739581,-0.999870288329,-0.999871827887,-0.999873358254,-0.999874879431,-0.999876391417,-0.999877894212,-0.999879387817,-0.999880872231,-0.999882347454,-0.999883813487,-0.999885270329,-0.99988671798,-0.99988815644,-0.99988958571,-0.999891005789,-0.999892416677,-0.999893818374,-0.999895210881,-0.999896594197,-0.999897968321,-0.999899333256,-0.999900688999,-0.999902035551,-0.999903372912,-0.999904701083,-0.999906020062,-0.999907329851,-0.999908630449,-0.999909921856,-0.999911204071,-0.999912477096,-0.99991374093,-0.999914995573,-0.999916241025,-0.999917477286,-0.999918704356,-0.999919922235,-0.999921130922,-0.999922330419,-0.999923520725,-0.999924701839,-0.999925873763,-0.999927036495,-0.999928190036,-0.999929334386,-0.999930469545,-0.999931595513,-0.99993271229,-0.999933819875,-0.99993491827,-0.999936007473,-0.999937087485,-0.999938158305,-0.999939219935,-0.999940272373,-0.99994131562,-0.999942349676,-0.999943374541,-0.999944390214,-0.999945396696,-0.999946393987,-0.999947382086,-0.999948360994,-0.999949330711,-0.999950291236,-0.999951242571,-0.999952184714,-0.999953117665,-0.999954041425,-0.999954955994,-0.999955861371,-0.999956757557,-0.999957644552,-0.999958522355,-0.999959390967,-0.999960250387,-0.999961100616,-0.999961941654,-0.9999627735,-0.999963596155,-0.999964409618,-0.99996521389,-0.99996600897,-0.999966794859,-0.999967571556,-0.999968339062,-0.999969097377,-0.9999698465,-0.999970586431,-0.999971317171,-0.999972038719,-0.999972751076,-0.999973454241,-0.999974148215,-0.999974832997,-0.999975508588,-0.999976174987,-0.999976832194,-0.99997748021,-0.999978119035,-0.999978748667,-0.999979369109,-0.999979980358,-0.999980582416,-0.999981175283,-0.999981758957,-0.999982333441,-0.999982898732,-0.999983454832,-0.99998400174,-0.999984539457,-0.999985067982,-0.999985587315,-0.999986097457,-0.999986598407,-0.999987090165,-0.999987572732,-0.999988046107,-0.99998851029,-0.999988965282,-0.999989411082,-0.99998984769,-0.999990275107,-0.999990693332,-0.999991102365,-0.999991502206,-0.999991892856,-0.999992274314,-0.999992646581,-0.999993009655,-0.999993363538,-0.99999370823,-0.999994043729,-0.999994370037,-0.999994687153,-0.999994995077,-0.99999529381,-0.99999558335,-0.999995863699,-0.999996134857,-0.999996396822,-0.999996649596,-0.999996893178,-0.999997127568,-0.999997352767,-0.999997568774,-0.999997775589,-0.999997973212,-0.999998161643,-0.999998340883,-0.999998510931,-0.999998671787,-0.999998823452,-0.999998965924,-0.999999099205,-0.999999223294,-0.999999338192,-0.999999443897,-0.999999540411,-0.999999627733,-0.999999705863,-0.999999774801,-0.999999834548,-0.999999885103,-0.999999926466,-0.999999958637,-0.999999981616,-0.999999995404,-1.0,-0.999999995404,-0.999999981616,-0.999999958637,-0.999999926466,-0.999999885103,-0.999999834548,-0.999999774801,-0.999999705863,-0.999999627733,-0.999999540411,-0.999999443897,-0.999999338192,-0.999999223294,-0.999999099205,-0.999998965924,-0.999998823452,-0.999998671787,-0.999998510931,-0.999998340883,-0.999998161643,-0.999997973212,-0.999997775589,-0.999997568774,-0.999997352767,-0.999997127568,-0.999996893178,-0.999996649596,-0.999996396822,-0.999996134857,-0.999995863699,-0.99999558335,-0.99999529381,-0.999994995077,-0.999994687153,-0.999994370037,-0.999994043729,-0.99999370823,-0.999993363538,-0.999993009655,-0.999992646581,-0.999992274314,-0.999991892856,-0.999991502206,-0.999991102365,-0.999990693332,-0.999990275107,-0.99998984769,-0.999989411082,-0.999988965282,-0.99998851029,-0.999988046107,-0.999987572732,-0.999987090165,-0.999986598407,-0.999986097457,-0.999985587315,-0.999985067982,-0.999984539457,-0.99998400174,-0.999983454832,-0.999982898732,-0.999982333441,-0.999981758957,-0.999981175283,-0.999980582416,-0.999979980358,-0.999979369109,-0.999978748667,-0.999978119035,-0.99997748021,-0.999976832194,-0.999976174987,-0.999975508588,-0.999974832997,-0.999974148215,-0.999973454241,-0.999972751076,-0.999972038719,-0.999971317171,-0.999970586431,-0.9999698465,-0.999969097377,-0.999968339062,-0.999967571556,-0.999966794859,-0.99996600897,-0.99996521389,-0.999964409618,-0.999963596155,-0.9999627735,-0.999961941654,-0.999961100616,-0.999960250387,-0.999959390967,-0.999958522355,-0.999957644552,-0.999956757557,-0.999955861371,-0.999954955994,-0.999954041425,-0.999953117665,-0.999952184714,-0.999951242571,-0.999950291236,-0.999949330711,-0.999948360994,-0.999947382086,-0.999946393987,-0.999945396696,-0.999944390214,-0.999943374541,-0.999942349676,-0.99994131562,-0.999940272373,-0.999939219935,-0.999938158305,-0.999937087485,-0.999936007473,-0.99993491827,-0.999933819875,-0.99993271229,-0.999931595513,-0.999930469545,-0.999929334386,-0.999928190036,-0.999927036495,-0.999925873763,-0.999924701839,-0.999923520725,-0.999922330419,-0.999921130922,-0.999919922235,-0.999918704356,-0.999917477286,-0.999916241025,-0.999914995573,-0.99991374093,-0.999912477096,-0.999911204071,-0.999909921856,-0.999908630449,-0.999907329851,-0.999906020062,-0.999904701083,-0.999903372912,-0.999902035551,-0.999900688999,-0.999899333256,-0.999897968321,-0.999896594197,-0.999895210881,-0.999893818374,-0.999892416677,-0.999891005789,-0.99988958571,-0.99988815644,-0.99988671798,-0.999885270329,-0.999883813487,-0.999882347454,-0.999880872231,-0.999879387817,-0.999877894212,-0.999876391417,-0.999874879431,-0.999873358254,-0.999871827887,-0.999870288329,-0.999868739581,-0.999867181641,-0.999865614512,-0.999864038192,-0.999862452681,-0.99986085798,-0.999859254088,-0.999857641006,-0.999856018733,-0.99985438727,-0.999852746616,-0.999851096772,-0.999849437738,-0.999847769513,-0.999846092098,-0.999844405492,-0.999842709696,-0.99984100471,-0.999839290533,-0.999837567166,-0.999835834609,-0.999834092862,-0.999832341924,-0.999830581796,-0.999828812478,-0.999827033969,-0.99982524627,-0.999823449382,-0.999821643303,-0.999819828034,-0.999818003574,-0.999816169925,-0.999814327085,-0.999812475056,-0.999810613836,-0.999808743427,-0.999806863827,-0.999804975037,-0.999803077058,-0.999801169888,-0.999799253528,-0.999797327979,-0.999795393239,-0.99979344931,-0.999791496191,-0.999789533881,-0.999787562382,-0.999785581694,-0.999783591815,-0.999781592747,-0.999779584488,-0.99977756704,-0.999775540403,-0.999773504575,-0.999771459558,-0.999769405351,-0.999767341955,-0.999765269369,-0.999763187593,-0.999761096627,-0.999758996472,-0.999756887128,-0.999754768594,-0.99975264087,-0.999750503957,-0.999748357855,-0.999746202562,-0.999744038081,-0.99974186441,-0.999739681549,-0.9997374895,-0.999735288261,-0.999733077832,-0.999730858214,-0.999728629407,-0.999726391411,-0.999724144225,-0.99972188785,-0.999719622286,-0.999717347532,-0.99971506359,-0.999712770458,-0.999710468137,-0.999708156627,-0.999705835928,-0.99970350604,-0.999701166963,-0.999698818696,-0.999696461241,-0.999694094597,-0.999691718763,-0.999689333741,-0.99968693953,-0.99968453613,-0.999682123541,-0.999679701763,-0.999677270796,-0.999674830641,-0.999672381297,-0.999669922763,-0.999667455042,-0.999664978131,-0.999662492032,-0.999659996744,-0.999657492267,-0.999654978602,-0.999652455748,-0.999649923706,-0.999647382475,-0.999644832055,-0.999642272447,-0.999639703651,-0.999637125666,-0.999634538492,-0.99963194213,-0.99962933658,-0.999626721841,-0.999624097914,-0.999621464799,-0.999618822495,-0.999616171003,-0.999613510323,-0.999610840455,-0.999608161398,-0.999605473153,-0.99960277572,-0.999600069099,-0.99959735329,-0.999594628292,-0.999591894107,-0.999589150734,-0.999586398172,-0.999583636423,-0.999580865485,-0.99957808536,-0.999575296047,-0.999572497546,-0.999569689857,-0.99956687298,-0.999564046915,-0.999561211663,-0.999558367223,-0.999555513595,-0.999552650779,-0.999549778776,-0.999546897585,-0.999544007207,-0.999541107641,-0.999538198887,-0.999535280946,-0.999532353817,-0.999529417501,-0.999526471997,-0.999523517306,-0.999520553428,-0.999517580362,-0.999514598109,-0.999511606668,-0.99950860604,-0.999505596225,-0.999502577223,-0.999499549033,-0.999496511657,-0.999493465093,-0.999490409342,-0.999487344404,-0.999484270278,-0.999481186966,-0.999478094467,-0.999474992781,-0.999471881907,-0.999468761847,-0.9994656326,-0.999462494166,-0.999459346546,-0.999456189738,-0.999453023744,-0.999449848562,-0.999446664195,-0.99944347064,-0.999440267899,-0.999437055971,-0.999433834857,-0.999430604555,-0.999427365068,-0.999424116394,-0.999420858533,-0.999417591486,-0.999414315253,-0.999411029833,-0.999407735226,-0.999404431434,-0.999401118455,-0.99939779629,-0.999394464938,-0.9993911244,-0.999387774676,-0.999384415766,-0.99938104767,-0.999377670388,-0.99937428392,-0.999370888265,-0.999367483425,-0.999364069399,-0.999360646186,-0.999357213788,-0.999353772204,-0.999350321434,-0.999346861478,-0.999343392337,-0.99933991401,-0.999336426497,-0.999332929798,-0.999329423914,-0.999325908844,-0.999322384588,-0.999318851147,-0.999315308521,-0.999311756709,-0.999308195711,-0.999304625528,-0.99930104616,-0.999297457606,-0.999293859867,-0.999290252943,-0.999286636833,-0.999283011538,-0.999279377058,-0.999275733393,-0.999272080543,-0.999268418507,-0.999264747287,-0.999261066881,-0.999257377291,-0.999253678515,-0.999249970555,-0.999246253409,-0.999242527079,-0.999238791564,-0.999235046865,-0.99923129298,-0.999227529911,-0.999223757657,-0.999219976218,-0.999216185595,-0.999212385787,-0.999208576795,-0.999204758618,-0.999200931257,-0.999197094711,-0.999193248981,-0.999189394067,-0.999185529968,-0.999181656685,-0.999177774217,-0.999173882566,-0.99916998173,-0.99916607171,-0.999162152506,-0.999158224118,-0.999154286545,-0.999150339789,-0.999146383849,-0.999142418725,-0.999138444417,-0.999134460925,-0.999130468249,-0.99912646639,-0.999122455346,-0.999118435119,-0.999114405709,-0.999110367114,-0.999106319336,-0.999102262375,-0.99909819623,-0.999094120901,-0.999090036389,-0.999085942694,-0.999081839815,-0.999077727753,-0.999073606507,-0.999069476078,-0.999065336466,-0.999061187671,-0.999057029693,-0.999052862532,-0.999048686187,-0.999044500659,-0.999040305949,-0.999036102055,-0.999031888979,-0.99902766672,-0.999023435277,-0.999019194652,-0.999014944845,-0.999010685854,-0.999006417681,-0.999002140325,-0.998997853787,-0.998993558066,-0.998989253162,-0.998984939076,-0.998980615807,-0.998976283356,-0.998971941723,-0.998967590908,-0.99896323091,-0.998958861729,-0.998954483367,-0.998950095822,-0.998945699096,-0.998941293187,-0.998936878096,-0.998932453823,-0.998928020368,-0.998923577731,-0.998919125913,-0.998914664912,-0.99891019473,-0.998905715366,-0.99890122682,-0.998896729092,-0.998892222183,-0.998887706093,-0.99888318082,-0.998878646366,-0.998874102731,-0.998869549914,-0.998864987916,-0.998860416737,-0.998855836376,-0.998851246834,-0.99884664811,-0.998842040206,-0.99883742312,-0.998832796854,-0.998828161406,-0.998823516777,-0.998818862967,-0.998814199976,-0.998809527805,-0.998804846452,-0.998800155919,-0.998795456205,-0.99879074731,-0.998786029235,-0.998781301979,-0.998776565542,-0.998771819925,-0.998767065128,-0.99876230115,-0.998757527991,-0.998752745652,-0.998747954133,-0.998743153434,-0.998738343554,-0.998733524494,-0.998728696254,-0.998723858834,-0.998719012234,-0.998714156454,-0.998709291494,-0.998704417353,-0.998699534034,-0.998694641534,-0.998689739854,-0.998684828995,-0.998679908956,-0.998674979737,-0.998670041339,-0.998665093761,-0.998660137004,-0.998655171067,-0.998650195951,-0.998645211655,-0.99864021818,-0.998635215526,-0.998630203693,-0.99862518268,-0.998620152488,-0.998615113117,-0.998610064567,-0.998605006838,-0.99859993993,-0.998594863843,-0.998589778578,-0.998584684133,-0.99857958051,-0.998574467708,-0.998569345727,-0.998564214568,-0.99855907423,-0.998553924713,-0.998548766018,-0.998543598145,-0.998538421093,-0.998533234863,-0.998528039454,-0.998522834868,-0.998517621103,-0.99851239816,-0.998507166038,-0.998501924739,-0.998496674262,-0.998491414606,-0.998486145773,-0.998480867762,-0.998475580573,-0.998470284207,-0.998464978662,-0.99845966394,-0.998454340041,-0.998449006963,-0.998443664708,-0.998438313276,-0.998432952667,-0.998427582879,-0.998422203915,-0.998416815773,-0.998411418454,-0.998406011958,-0.998400596285,-0.998395171435,-0.998389737407,-0.998384294203,-0.998378841822,-0.998373380264,-0.998367909529,-0.998362429617,-0.998356940528,-0.998351442263,-0.998345934821,-0.998340418203,-0.998334892408,-0.998329357436,-0.998323813289,-0.998318259964,-0.998312697464,-0.998307125787,-0.998301544934,-0.998295954905,-0.998290355699,-0.998284747318,-0.99827912976,-0.998273503027,-0.998267867118,-0.998262222032,-0.998256567771,-0.998250904335,-0.998245231722,-0.998239549934,-0.99823385897,-0.998228158831,-0.998222449516,-0.998216731026,-0.99821100336,-0.99820526652,-0.998199520503,-0.998193765312,-0.998188000945,-0.998182227403,-0.998176444686,-0.998170652795,-0.998164851728,-0.998159041486,-0.998153222069,-0.998147393478,-0.998141555712,-0.998135708771,-0.998129852655,-0.998123987365,-0.9981181129,-0.998112229261,-0.998106336447,-0.998100434459,-0.998094523297,-0.99808860296,-0.99808267345,-0.998076734765,-0.998070786905,-0.998064829872,-0.998058863665,-0.998052888284,-0.998046903729,-0.99804091,-0.998034907098,-0.998028895021,-0.998022873771,-0.998016843348,-0.998010803751,-0.99800475498,-0.997998697036,-0.997992629919,-0.997986553628,-0.997980468164,-0.997974373526,-0.997968269716,-0.997962156732,-0.997956034576,-0.997949903246,-0.997943762743,-0.997937613068,-0.99793145422,-0.997925286199,-0.997919109005,-0.997912922638,-0.997906727099,-0.997900522388,-0.997894308504,-0.997888085447,-0.997881853218,-0.997875611817,-0.997869361244,-0.997863101498,-0.99785683258,-0.99785055449,-0.997844267228,-0.997837970795,-0.997831665189,-0.997825350411,-0.997819026462,-0.99781269334,-0.997806351048,-0.997799999583,-0.997793638947,-0.99778726914,-0.997780890161,-0.99777450201,-0.997768104688,-0.997761698195,-0.997755282531,-0.997748857696,-0.997742423689,-0.997735980512,-0.997729528164,-0.997723066644,-0.997716595954,-0.997710116093,-0.997703627061,-0.997697128859,-0.997690621486,-0.997684104942,-0.997677579228,-0.997671044343,-0.997664500289,-0.997657947063,-0.997651384668,-0.997644813102,-0.997638232366,-0.99763164246,-0.997625043384,-0.997618435139,-0.997611817723,-0.997605191137,-0.997598555382,-0.997591910457,-0.997585256362,-0.997578593098,-0.997571920664,-0.99756523906,-0.997558548288,-0.997551848346,-0.997545139234,-0.997538420954,-0.997531693504,-0.997524956885,-0.997518211097,-0.99751145614,-0.997504692015,-0.99749791872,-0.997491136257,-0.997484344624,-0.997477543824,-0.997470733854,-0.997463914716,-0.99745708641,-0.997450248935,-0.997443402292,-0.997436546481,-0.997429681501,-0.997422807353,-0.997415924037,-0.997409031553,-0.997402129901,-0.997395219081,-0.997388299094,-0.997381369938,-0.997374431615,-0.997367484124,-0.997360527466,-0.99735356164,-0.997346586647,-0.997339602486,-0.997332609158,-0.997325606662,-0.997318595,-0.99731157417,-0.997304544173,-0.997297505009,-0.997290456679,-0.997283399181,-0.997276332517,-0.997269256685,-0.997262171688,-0.997255077523,-0.997247974192,-0.997240861694,-0.99723374003,-0.9972266092,-0.997219469204,-0.997212320041,-0.997205161712,-0.997197994217,-0.997190817555,-0.997183631728,-0.997176436735,-0.997169232576,-0.997162019252,-0.997154796762,-0.997147565106,-0.997140324284,-0.997133074297,-0.997125815145,-0.997118546827,-0.997111269344,-0.997103982696,-0.997096686882,-0.997089381903,-0.99708206776,-0.997074744451,-0.997067411978,-0.997060070339,-0.997052719536,-0.997045359569,-0.997037990436,-0.997030612139,-0.997023224678,-0.997015828052,-0.997008422262,-0.997001007307,-0.996993583189,-0.996986149906,-0.996978707459,-0.996971255848,-0.996963795073,-0.996956325134,-0.996948846031,-0.996941357765,-0.996933860335,-0.996926353741,-0.996918837984,-0.996911313064,-0.99690377898,-0.996896235732,-0.996888683322,-0.996881121748,-0.996873551011,-0.996865971111,-0.996858382048,-0.996850783822,-0.996843176434,-0.996835559882,-0.996827934168,-0.996820299291,-0.996812655252,-0.99680500205,-0.996797339686,-0.996789668159,-0.99678198747,-0.996774297619,-0.996766598606,-0.996758890431,-0.996751173094,-0.996743446594,-0.996735710933,-0.996727966111,-0.996720212126,-0.99671244898,-0.996704676672,-0.996696895203,-0.996689104572,-0.99668130478,-0.996673495827,-0.996665677712,-0.996657850437,-0.996650014,-0.996642168402,-0.996634313644,-0.996626449724,-0.996618576644,-0.996610694403,-0.996602803002,-0.99659490244,-0.996586992717,-0.996579073834,-0.996571145791,-0.996563208587,-0.996555262223,-0.996547306699,-0.996539342015,-0.996531368171,-0.996523385167,-0.996515393004,-0.99650739168,-0.996499381197,-0.996491361554,-0.996483332752,-0.99647529479,-0.996467247669,-0.996459191389,-0.996451125949,-0.99644305135,-0.996434967592,-0.996426874675,-0.996418772599,-0.996410661364,-0.996402540971,-0.996394411419,-0.996386272708,-0.996378124838,-0.99636996781,-0.996361801624,-0.996353626279,-0.996345441776,-0.996337248115,-0.996329045295,-0.996320833318,-0.996312612183,-0.99630438189,-0.996296142438,-0.99628789383,-0.996279636063,-0.996271369139,-0.996263093058,-0.996254807819,-0.996246513422,-0.996238209869,-0.996229897158,-0.99622157529,-0.996213244265,-0.996204904083,-0.996196554744,-0.996188196248,-0.996179828596,-0.996171451787,-0.996163065821,-0.996154670699,-0.99614626642,-0.996137852985,-0.996129430393,-0.996120998646,-0.996112557742,-0.996104107682,-0.996095648467,-0.996087180095,-0.996078702568,-0.996070215884,-0.996061720046,-0.996053215051,-0.996044700901,-0.996036177596,-0.996027645135,-0.996019103519,-0.996010552748,-0.996001992822,-0.99599342374,-0.995984845504,-0.995976258113,-0.995967661567,-0.995959055866,-0.995950441011,-0.995941817001,-0.995933183837,-0.995924541518,-0.995915890045,-0.995907229417,-0.995898559636,-0.9958898807,-0.995881192611,-0.995872495367,-0.99586378897,-0.995855073419,-0.995846348714,-0.995837614855,-0.995828871843,-0.995820119678,-0.995811358359,-0.995802587887,-0.995793808262,-0.995785019483,-0.995776221552,-0.995767414468,-0.99575859823,-0.99574977284,-0.995740938298,-0.995732094602,-0.995723241754,-0.995714379754,-0.995705508601,-0.995696628296,-0.995687738838,-0.995678840229,-0.995669932467,-0.995661015554,-0.995652089488,-0.995643154271,-0.995634209902,-0.995625256381,-0.995616293709,-0.995607321885,-0.99559834091,-0.995589350783,-0.995580351506,-0.995571343077,-0.995562325497,-0.995553298766,-0.995544262884,-0.995535217851,-0.995526163668,-0.995517100333,-0.995508027849,-0.995498946213,-0.995489855428,-0.995480755492,-0.995471646406,-0.995462528169,-0.995453400783,-0.995444264247,-0.99543511856,-0.995425963724,-0.995416799738,-0.995407626603,-0.995398444317,-0.995389252883,-0.995380052299,-0.995370842565,-0.995361623683,-0.995352395651,-0.99534315847,-0.99533391214,-0.995324656662,-0.995315392034,-0.995306118258,-0.995296835333,-0.99528754326,-0.995278242038,-0.995268931668,-0.995259612149,-0.995250283482,-0.995240945667,-0.995231598705,-0.995222242594,-0.995212877335,-0.995203502928,-0.995194119374,-0.995184726672,-0.995175324823,-0.995165913826,-0.995156493682,-0.99514706439,-0.995137625952,-0.995128178366,-0.995118721633,-0.995109255754,-0.995099780727,-0.995090296554,-0.995080803234,-0.995071300768,-0.995061789155,-0.995052268396,-0.99504273849,-0.995033199438,-0.99502365124,-0.995014093896,-0.995004527406,-0.99499495177,-0.994985366989,-0.994975773061,-0.994966169989,-0.99495655777,-0.994946936406,-0.994937305897,-0.994927666243,-0.994918017443,-0.994908359498,-0.994898692409,-0.994889016174,-0.994879330795,-0.994869636271,-0.994859932602,-0.994850219789,-0.994840497831,-0.994830766729,-0.994821026483,-0.994811277092,-0.994801518558,-0.994791750879,-0.994781974057,-0.99477218809,-0.99476239298,-0.994752588726,-0.994742775329,-0.994732952788,-0.994723121104,-0.994713280277,-0.994703430306,-0.994693571193,-0.994683702936,-0.994673825536,-0.994663938994,-0.994654043309,-0.994644138481,-0.994634224511,-0.994624301398,-0.994614369143,-0.994604427745,-0.994594477206,-0.994584517524,-0.9945745487,-0.994564570734,-0.994554583627,-0.994544587377,-0.994534581987,-0.994524567454,-0.99451454378,-0.994504510965,-0.994494469008,-0.994484417911,-0.994474357672,-0.994464288292,-0.994454209771,-0.99444412211,-0.994434025308,-0.994423919365,-0.994413804281,-0.994403680058,-0.994393546694,-0.994383404189,-0.994373252545,-0.99436309176,-0.994352921835,-0.994342742771,-0.994332554567,-0.994322357223,-0.994312150739,-0.994301935116,-0.994291710353,-0.994281476452,-0.994271233411,-0.99426098123,-0.994250719911,-0.994240449453,-0.994230169856,-0.994219881121,-0.994209583246,-0.994199276233,-0.994188960082,-0.994178634792,-0.994168300364,-0.994157956798,-0.994147604093,-0.994137242251,-0.994126871271,-0.994116491153,-0.994106101897,-0.994095703504,-0.994085295973,-0.994074879305,-0.994064453499,-0.994054018557,-0.994043574477,-0.99403312126,-0.994022658906,-0.994012187415,-0.994001706787,-0.993991217023,-0.993980718123,-0.993970210085,-0.993959692912,-0.993949166602,-0.993938631156,-0.993928086574,-0.993917532856,-0.993906970002,-0.993896398013,-0.993885816887,-0.993875226626,-0.99386462723,-0.993854018698,-0.993843401031,-0.993832774229,-0.993822138292,-0.993811493219,-0.993800839012,-0.99379017567,-0.993779503193,-0.993768821582,-0.993758130836,-0.993747430955,-0.993736721941,-0.993726003792,-0.993715276509,-0.993704540092,-0.993693794541,-0.993683039856,-0.993672276038,-0.993661503086,-0.993650721,-0.993639929781,-0.993629129429,-0.993618319943,-0.993607501325,-0.993596673573,-0.993585836688,-0.993574990671,-0.993564135521,-0.993553271238,-0.993542397822,-0.993531515275,-0.993520623595,-0.993509722782,-0.993498812838,-0.993487893761,-0.993476965553,-0.993466028213,-0.993455081741,-0.993444126137,-0.993433161402,-0.993422187535,-0.993411204537,-0.993400212408,-0.993389211148,-0.993378200757,-0.993367181235,-0.993356152582,-0.993345114798,-0.993334067884,-0.993323011839,-0.993311946664,-0.993300872358,-0.993289788922,-0.993278696356,-0.993267594661,-0.993256483835,-0.993245363879,-0.993234234794,-0.993223096579,-0.993211949235,-0.993200792761,-0.993189627158,-0.993178452426,-0.993167268564,-0.993156075574,-0.993144873455,-0.993133662207,-0.99312244183,-0.993111212325,-0.993099973692,-0.99308872593,-0.993077469039,-0.993066203021,-0.993054927875,-0.9930436436,-0.993032350198,-0.993021047668,-0.99300973601,-0.992998415225,-0.992987085312,-0.992975746273,-0.992964398105,-0.992953040811,-0.99294167439,-0.992930298842,-0.992918914167,-0.992907520365,-0.992896117437,-0.992884705382,-0.992873284201,-0.992861853893,-0.99285041446,-0.9928389659,-0.992827508215,-0.992816041403,-0.992804565466,-0.992793080403,-0.992781586215,-0.992770082901,-0.992758570462,-0.992747048897,-0.992735518208,-0.992723978393,-0.992712429454,-0.992700871389,-0.9926893042,-0.992677727887,-0.992666142449,-0.992654547887,-0.9926429442,-0.992631331389,-0.992619709454,-0.992608078395,-0.992596438213,-0.992584788906,-0.992573130476,-0.992561462923,-0.992549786246,-0.992538100446,-0.992526405522,-0.992514701476,-0.992502988306,-0.992491266014,-0.992479534599,-0.992467794061,-0.992456044401,-0.992444285618,-0.992432517713,-0.992420740685,-0.992408954536,-0.992397159264,-0.992385354871,-0.992373541356,-0.992361718719,-0.99234988696,-0.99233804608,-0.992326196079,-0.992314336957,-0.992302468713,-0.992290591348,-0.992278704863,-0.992266809256,-0.992254904529,-0.992242990681,-0.992231067713,-0.992219135625,-0.992207194416,-0.992195244087,-0.992183284638,-0.992171316069,-0.99215933838,-0.992147351571,-0.992135355643,-0.992123350596,-0.992111336428,-0.992099313142,-0.992087280737,-0.992075239212,-0.992063188569,-0.992051128806,-0.992039059925,-0.992026981926,-0.992014894808,-0.992002798571,-0.991990693216,-0.991978578744,-0.991966455153,-0.991954322444,-0.991942180617,-0.991930029672,-0.99191786961,-0.991905700431,-0.991893522134,-0.991881334719,-0.991869138188,-0.991856932539,-0.991844717774,-0.991832493892,-0.991820260893,-0.991808018777,-0.991795767545,-0.991783507197,-0.991771237732,-0.991758959152,-0.991746671455,-0.991734374642,-0.991722068713,-0.991709753669,-0.991697429509,-0.991685096234,-0.991672753843,-0.991660402337,-0.991648041716,-0.99163567198,-0.991623293129,-0.991610905163,-0.991598508083,-0.991586101888,-0.991573686579,-0.991561262155,-0.991548828617,-0.991536385965,-0.991523934199,-0.991511473319,-0.991499003325,-0.991486524218,-0.991474035997,-0.991461538662,-0.991449032215,-0.991436516654,-0.99142399198,-0.991411458193,-0.991398915294,-0.991386363281,-0.991373802156,-0.991361231919,-0.991348652569,-0.991336064107,-0.991323466532,-0.991310859846,-0.991298244048,-0.991285619138,-0.991272985116,-0.991260341983,-0.991247689738,-0.991235028382,-0.991222357915,-0.991209678336,-0.991196989647,-0.991184291847,-0.991171584936,-0.991158868914,-0.991146143782,-0.991133409539,-0.991120666186,-0.991107913723,-0.99109515215,-0.991082381467,-0.991069601674,-0.991056812772,-0.99104401476,-0.991031207638,-0.991018391407,-0.991005566067,-0.990992731618,-0.99097988806,-0.990967035392,-0.990954173617,-0.990941302732,-0.990928422739,-0.990915533638,-0.990902635428,-0.99088972811,-0.990876811684,-0.99086388615,-0.990850951508,-0.990838007759,-0.990825054902,-0.990812092938,-0.990799121866,-0.990786141687,-0.990773152401,-0.990760154008,-0.990747146508,-0.990734129902,-0.990721104188,-0.990708069369,-0.990695025443,-0.99068197241,-0.990668910272,-0.990655839027,-0.990642758677,-0.990629669221,-0.990616570659,-0.990603462992,-0.990590346219,-0.990577220341,-0.990564085358,-0.990550941269,-0.990537788076,-0.990524625778,-0.990511454375,-0.990498273868,-0.990485084256,-0.99047188554,-0.99045867772,-0.990445460796,-0.990432234768,-0.990418999635,-0.9904057554,-0.99039250206,-0.990379239617,-0.990365968071,-0.990352687421,-0.990339397669,-0.990326098813,-0.990312790855,-0.990299473793,-0.99028614763,-0.990272812363,-0.990259467994,-0.990246114523,-0.99023275195,-0.990219380275,-0.990205999498,-0.99019260962,-0.990179210639,-0.990165802557,-0.990152385374,-0.990138959089,-0.990125523704,-0.990112079217,-0.990098625629,-0.990085162941,-0.990071691152,-0.990058210262,-0.990044720272,-0.990031221182,-0.990017712992,-0.990004195701,-0.989990669311,-0.989977133821,-0.989963589231,-0.989950035542,-0.989936472753,-0.989922900865,-0.989909319878,-0.989895729791,-0.989882130606,-0.989868522322,-0.98985490494,-0.989841278459,-0.989827642879,-0.989813998202,-0.989800344426,-0.989786681552,-0.98977300958,-0.98975932851,-0.989745638343,-0.989731939078,-0.989718230716,-0.989704513256,-0.989690786699,-0.989677051046,-0.989663306295,-0.989649552448,-0.989635789504,-0.989622017463,-0.989608236326,-0.989594446093,-0.989580646764,-0.989566838338,-0.989553020817,-0.9895391942,-0.989525358487,-0.989511513679,-0.989497659776,-0.989483796777,-0.989469924683,-0.989456043494,-0.989442153211,-0.989428253832,-0.989414345359,-0.989400427791,-0.989386501129,-0.989372565373,-0.989358620523,-0.989344666579,-0.989330703541,-0.989316731409,-0.989302750183,-0.989288759865,-0.989274760452,-0.989260751947,-0.989246734349,-0.989232707657,-0.989218671873,-0.989204626996,-0.989190573027,-0.989176509965,-0.989162437811,-0.989148356564,-0.989134266226,-0.989120166796,-0.989106058273,-0.98909194066,-0.989077813955,-0.989063678158,-0.98904953327,-0.989035379291,-0.989021216221,-0.98900704406,-0.988992862808,-0.988978672466,-0.988964473033,-0.98895026451,-0.988936046897,-0.988921820194,-0.9889075844,-0.988893339517,-0.988879085544,-0.988864822482,-0.98885055033,-0.988836269089,-0.988821978758,-0.988807679339,-0.988793370831,-0.988779053234,-0.988764726548,-0.988750390774,-0.988736045911,-0.98872169196,-0.988707328921,-0.988692956794,-0.98867857558,-0.988664185277,-0.988649785887,-0.988635377409,-0.988620959844,-0.988606533192,-0.988592097453,-0.988577652627,-0.988563198714,-0.988548735715,-0.988534263629,-0.988519782456,-0.988505292198,-0.988490792853,-0.988476284422,-0.988461766905,-0.988447240303,-0.988432704615,-0.988418159841,-0.988403605982,-0.988389043038,-0.988374471009,-0.988359889895,-0.988345299697,-0.988330700413,-0.988316092045,-0.988301474593,-0.988286848056,-0.988272212435,-0.988257567731,-0.988242913942,-0.98822825107,-0.988213579114,-0.988198898075,-0.988184207952,-0.988169508746,-0.988154800457,-0.988140083086,-0.988125356631,-0.988110621094,-0.988095876474,-0.988081122772,-0.988066359988,-0.988051588122,-0.988036807173,-0.988022017143,-0.988007218031,-0.987992409838,-0.987977592563,-0.987962766207,-0.98794793077,-0.987933086252,-0.987918232653,-0.987903369973,-0.987888498213,-0.987873617372,-0.987858727451,-0.987843828449,-0.987828920368,-0.987814003206,-0.987799076965,-0.987784141645,-0.987769197244,-0.987754243765,-0.987739281206,-0.987724309568,-0.987709328851,-0.987694339055,-0.987679340181,-0.987664332228,-0.987649315197,-0.987634289087,-0.9876192539,-0.987604209634,-0.987589156291,-0.987574093869,-0.987559022371,-0.987543941794,-0.987528852141,-0.98751375341,-0.987498645603,-0.987483528718,-0.987468402757,-0.987453267719,-0.987438123605,-0.987422970414,-0.987407808147,-0.987392636804,-0.987377456385,-0.987362266891,-0.987347068321,-0.987331860675,-0.987316643954,-0.987301418158,-0.987286183287,-0.98727093934,-0.987255686319,-0.987240424224,-0.987225153054,-0.987209872809,-0.987194583491,-0.987179285098,-0.987163977631,-0.987148661091,-0.987133335477,-0.987118000789,-0.987102657028,-0.987087304193,-0.987071942286,-0.987056571306,-0.987041191253,-0.987025802127,-0.987010403928,-0.986994996658,-0.986979580315,-0.9869641549,-0.986948720413,-0.986933276854,-0.986917824223,-0.986902362521,-0.986886891748,-0.986871411903,-0.986855922987,-0.986840425,-0.986824917943,-0.986809401814,-0.986793876615,-0.986778342346,-0.986762799007,-0.986747246597,-0.986731685117,-0.986716114568,-0.986700534949,-0.98668494626,-0.986669348502,-0.986653741675,-0.986638125778,-0.986622500813,-0.986606866779,-0.986591223676,-0.986575571505,-0.986559910265,-0.986544239957,-0.986528560581,-0.986512872136,-0.986497174625,-0.986481468045,-0.986465752398,-0.986450027683,-0.986434293902,-0.986418551053,-0.986402799137,-0.986387038154,-0.986371268105,-0.986355488989,-0.986339700807,-0.986323903559,-0.986308097245,-0.986292281864,-0.986276457418,-0.986260623906,-0.986244781329,-0.986228929686,-0.986213068979,-0.986197199206,-0.986181320368,-0.986165432465,-0.986149535498,-0.986133629467,-0.986117714371,-0.98610179021,-0.986085856986,-0.986069914698,-0.986053963346,-0.986038002931,-0.986022033452,-0.98600605491,-0.985990067304,-0.985974070636,-0.985958064905,-0.985942050111,-0.985926026254,-0.985909993335,-0.985893951354,-0.985877900311,-0.985861840206,-0.985845771038,-0.98582969281,-0.985813605519,-0.985797509168,-0.985781403755,-0.985765289281,-0.985749165746,-0.98573303315,-0.985716891493,-0.985700740776,-0.985684580999,-0.985668412162,-0.985652234264,-0.985636047307,-0.985619851289,-0.985603646213,-0.985587432076,-0.985571208881,-0.985554976626,-0.985538735312,-0.98552248494,-0.985506225508,-0.985489957018,-0.98547367947,-0.985457392864,-0.985441097199,-0.985424792476,-0.985408478696,-0.985392155858,-0.985375823962,-0.985359483009,-0.985343132999,-0.985326773932,-0.985310405807,-0.985294028626,-0.985277642389,-0.985261247095,-0.985244842745,-0.985228429338,-0.985212006876,-0.985195575357,-0.985179134783,-0.985162685154,-0.985146226469,-0.985129758728,-0.985113281933,-0.985096796083,-0.985080301178,-0.985063797218,-0.985047284204,-0.985030762135,-0.985014231012,-0.984997690835,-0.984981141605,-0.98496458332,-0.984948015982,-0.984931439591,-0.984914854146,-0.984898259648,-0.984881656097,-0.984865043494,-0.984848421837,-0.984831791128,-0.984815151367,-0.984798502554,-0.984781844688,-0.984765177771,-0.984748501802,-0.984731816781,-0.984715122709,-0.984698419586,-0.984681707411,-0.984664986185,-0.984648255909,-0.984631516582,-0.984614768204,-0.984598010776,-0.984581244298,-0.98456446877,-0.984547684192,-0.984530890564,-0.984514087886,-0.984497276159,-0.984480455383,-0.984463625558,-0.984446786684,-0.98442993876,-0.984413081789,-0.984396215768,-0.984379340699,-0.984362456583,-0.984345563418,-0.984328661205,-0.984311749944,-0.984294829636,-0.98427790028,-0.984260961878,-0.984244014428,-0.984227057931,-0.984210092387,-0.984193117797,-0.98417613416,-0.984159141476,-0.984142139747,-0.984125128972,-0.98410810915,-0.984091080283,-0.984074042371,-0.984056995413,-0.98403993941,-0.984022874361,-0.984005800268,-0.98398871713,-0.983971624948,-0.983954523721,-0.983937413449,-0.983920294134,-0.983903165774,-0.983886028371,-0.983868881924,-0.983851726434,-0.9838345619,-0.983817388323,-0.983800205703,-0.98378301404,-0.983765813334,-0.983748603586,-0.983731384795,-0.983714156962,-0.983696920087,-0.98367967417,-0.983662419212,-0.983645155211,-0.98362788217,-0.983610600087,-0.983593308962,-0.983576008797,-0.983558699591,-0.983541381345,-0.983524054058,-0.98350671773,-0.983489372362,-0.983472017955,-0.983454654507,-0.98343728202,-0.983419900493,-0.983402509927,-0.983385110322,-0.983367701677,-0.983350283994,-0.983332857272,-0.983315421511,-0.983297976712,-0.983280522874,-0.983263059999,-0.983245588085,-0.983228107134,-0.983210617145,-0.983193118119,-0.983175610055,-0.983158092955,-0.983140566817,-0.983123031642,-0.983105487431,-0.983087934184,-0.983070371899,-0.983052800579,-0.983035220223,-0.983017630831,-0.983000032403,-0.98298242494,-0.982964808441,-0.982947182908,-0.982929548339,-0.982911904735,-0.982894252096,-0.982876590423,-0.982858919716,-0.982841239974,-0.982823551199,-0.982805853389,-0.982788146546,-0.982770430669,-0.982752705758,-0.982734971815,-0.982717228838,-0.982699476829,-0.982681715786,-0.982663945711,-0.982646166604,-0.982628378464,-0.982610581292,-0.982592775089,-0.982574959853,-0.982557135586,-0.982539302287,-0.982521459958,-0.982503608597,-0.982485748205,-0.982467878782,-0.982450000328,-0.982432112845,-0.98241421633,-0.982396310786,-0.982378396212,-0.982360472608,-0.982342539974,-0.982324598311,-0.982306647618,-0.982288687896,-0.982270719146,-0.982252741366,-0.982234754558,-0.982216758721,-0.982198753856,-0.982180739963,-0.982162717042,-0.982144685093,-0.982126644117,-0.982108594113,-0.982090535081,-0.982072467022,-0.982054389937,-0.982036303824,-0.982018208685,-0.98200010452,-0.981981991328,-0.98196386911,-0.981945737865,-0.981927597595,-0.9819094483,-0.981891289979,-0.981873122632,-0.981854946261,-0.981836760864,-0.981818566443,-0.981800362996,-0.981782150526,-0.981763929031,-0.981745698512,-0.981727458969,-0.981709210402,-0.981690952811,-0.981672686197,-0.98165441056,-0.981636125899,-0.981617832215,-0.981599529509,-0.98158121778,-0.981562897028,-0.981544567255,-0.981526228459,-0.981507880641,-0.981489523801,-0.98147115794,-0.981452783057,-0.981434399152,-0.981416006227,-0.981397604281,-0.981379193314,-0.981360773326,-0.981342344318,-0.981323906289,-0.981305459241,-0.981287003172,-0.981268538084,-0.981250063976,-0.981231580849,-0.981213088702,-0.981194587536,-0.981176077352,-0.981157558148,-0.981139029926,-0.981120492686,-0.981101946427,-0.98108339115,-0.981064826856,-0.981046253543,-0.981027671213,-0.981009079866,-0.980990479502,-0.98097187012,-0.980953251721,-0.980934624306,-0.980915987874,-0.980897342426,-0.980878687962,-0.980860024482,-0.980841351985,-0.980822670473,-0.980803979946,-0.980785280403,-0.980766571845,-0.980747854272,-0.980729127685,-0.980710392082,-0.980691647465,-0.980672893834,-0.980654131189,-0.98063535953,-0.980616578857,-0.98059778917,-0.98057899047,-0.980560182756,-0.98054136603,-0.98052254029,-0.980503705538,-0.980484861773,-0.980466008996,-0.980447147207,-0.980428276405,-0.980409396592,-0.980390507767,-0.98037160993,-0.980352703082,-0.980333787223,-0.980314862353,-0.980295928472,-0.98027698558,-0.980258033678,-0.980239072766,-0.980220102843,-0.980201123911,-0.980182135968,-0.980163139016,-0.980144133055,-0.980125118084,-0.980106094104,-0.980087061115,-0.980068019118,-0.980048968112,-0.980029908097,-0.980010839074,-0.979991761043,-0.979972674005,-0.979953577958,-0.979934472905,-0.979915358843,-0.979896235775,-0.9798771037,-0.979857962617,-0.979838812528,-0.979819653433,-0.979800485331,-0.979781308224,-0.97976212211,-0.979742926991,-0.979723722866,-0.979704509735,-0.979685287599,-0.979666056459,-0.979646816313,-0.979627567163,-0.979608309008,-0.979589041849,-0.979569765685,-0.979550480518,-0.979531186347,-0.979511883172,-0.979492570994,-0.979473249812,-0.979453919628,-0.97943458044,-0.97941523225,-0.979395875057,-0.979376508861,-0.979357133664,-0.979337749464,-0.979318356263,-0.97929895406,-0.979279542855,-0.979260122649,-0.979240693442,-0.979221255234,-0.979201808025,-0.979182351816,-0.979162886606,-0.979143412395,-0.979123929185,-0.979104436975,-0.979084935765,-0.979065425556,-0.979045906347,-0.979026378139,-0.979006840932,-0.978987294726,-0.978967739522,-0.978948175319,-0.978928602118,-0.978909019919,-0.978889428721,-0.978869828527,-0.978850219334,-0.978830601144,-0.978810973957,-0.978791337773,-0.978771692592,-0.978752038415,-0.978732375241,-0.97871270307,-0.978693021904,-0.978673331741,-0.978653632583,-0.978633924429,-0.97861420728,-0.978594481136,-0.978574745997,-0.978555001862,-0.978535248733,-0.97851548661,-0.978495715492,-0.978475935381,-0.978456146275,-0.978436348175,-0.978416541082,-0.978396724996,-0.978376899916,-0.978357065843,-0.978337222778,-0.97831737072,-0.978297509669,-0.978277639626,-0.978257760591,-0.978237872564,-0.978217975545,-0.978198069534,-0.978178154533,-0.97815823054,-0.978138297556,-0.978118355581,-0.978098404615,-0.978078444659,-0.978058475713,-0.978038497777,-0.978018510851,-0.977998514935,-0.977978510029,-0.977958496134,-0.97793847325,-0.977918441377,-0.977898400515,-0.977878350664,-0.977858291825,-0.977838223998,-0.977818147183,-0.977798061379,-0.977777966588,-0.97775786281,-0.977737750044,-0.977717628291,-0.977697497551,-0.977677357825,-0.977657209111,-0.977637051411,-0.977616884725,-0.977596709053,-0.977576524396,-0.977556330752,-0.977536128123,-0.977515916509,-0.977495695909,-0.977475466325,-0.977455227756,-0.977434980202,-0.977414723664,-0.977394458142,-0.977374183635,-0.977353900145,-0.977333607671,-0.977313306214,-0.977292995774,-0.977272676351,-0.977252347944,-0.977232010555,-0.977211664184,-0.97719130883,-0.977170944494,-0.977150571176,-0.977130188876,-0.977109797595,-0.977089397332,-0.977068988088,-0.977048569863,-0.977028142658,-0.977007706471,-0.976987261305,-0.976966807158,-0.976946344031,-0.976925871924,-0.976905390837,-0.976884900771,-0.976864401725,-0.976843893701,-0.976823376697,-0.976802850715,-0.976782315754,-0.976761771815,-0.976741218897,-0.976720657002,-0.976700086129,-0.976679506278,-0.97665891745,-0.976638319644,-0.976617712862,-0.976597097102,-0.976576472366,-0.976555838653,-0.976535195965,-0.9765145443,-0.976493883659,-0.976473214042,-0.97645253545,-0.976431847883,-0.97641115134,-0.976390445822,-0.97636973133,-0.976349007863,-0.976328275422,-0.976307534006,-0.976286783617,-0.976266024253,-0.976245255916,-0.976224478606,-0.976203692322,-0.976182897066,-0.976162092836,-0.976141279634,-0.976120457459,-0.976099626312,-0.976078786193,-0.976057937102,-0.976037079039,-0.976016212005,-0.975995335999,-0.975974451022,-0.975953557075,-0.975932654156,-0.975911742267,-0.975890821408,-0.975869891578,-0.975848952779,-0.975828005009,-0.975807048271,-0.975786082562,-0.975765107885,-0.975744124238,-0.975723131623,-0.975702130039,-0.975681119486,-0.975660099965,-0.975639071476,-0.97561803402,-0.975596987595,-0.975575932204,-0.975554867844,-0.975533794518,-0.975512712225,-0.975491620965,-0.975470520739,-0.975449411546,-0.975428293388,-0.975407166263,-0.975386030173,-0.975364885117,-0.975343731095,-0.975322568109,-0.975301396158,-0.975280215241,-0.975259025361,-0.975237826516,-0.975216618706,-0.975195401933,-0.975174176196,-0.975152941495,-0.975131697831,-0.975110445204,-0.975089183614,-0.975067913061,-0.975046633545,-0.975025345067,-0.975004047627,-0.974982741224,-0.97496142586,-0.974940101534,-0.974918768247,-0.974897425999,-0.974876074789,-0.974854714619,-0.974833345488,-0.974811967396,-0.974790580344,-0.974769184333,-0.974747779361,-0.974726365429,-0.974704942539,-0.974683510689,-0.974662069879,-0.974640620111,-0.974619161384,-0.974597693699,-0.974576217056,-0.974554731454,-0.974533236894,-0.974511733377,-0.974490220902,-0.97446869947,-0.974447169081,-0.974425629735,-0.974404081432,-0.974382524173,-0.974360957957,-0.974339382786,-0.974317798658,-0.974296205575,-0.974274603536,-0.974252992541,-0.974231372592,-0.974209743688,-0.974188105829,-0.974166459015,-0.974144803247,-0.974123138525,-0.97410146485,-0.97407978222,-0.974058090637,-0.9740363901,-0.974014680611,-0.973992962168,-0.973971234773,-0.973949498425,-0.973927753125,-0.973905998872,-0.973884235668,-0.973862463512,-0.973840682405,-0.973818892346,-0.973797093336,-0.973775285375,-0.973753468463,-0.973731642601,-0.973709807788,-0.973687964026,-0.973666111313,-0.973644249651,-0.973622379039,-0.973600499478,-0.973578610967,-0.973556713508,-0.9735348071,-0.973512891744,-0.973490967439,-0.973469034186,-0.973447091985,-0.973425140837,-0.973403180741,-0.973381211697,-0.973359233707,-0.973337246769,-0.973315250885,-0.973293246055,-0.973271232278,-0.973249209555,-0.973227177886,-0.973205137271,-0.973183087711,-0.973161029206,-0.973138961755,-0.97311688536,-0.97309480002,-0.973072705735,-0.973050602507,-0.973028490334,-0.973006369217,-0.972984239157,-0.972962100153,-0.972939952206,-0.972917795315,-0.972895629482,-0.972873454707,-0.972851270989,-0.972829078328,-0.972806876726,-0.972784666182,-0.972762446696,-0.972740218268,-0.9727179809,-0.97269573459,-0.97267347934,-0.972651215149,-0.972628942018,-0.972606659946,-0.972584368935,-0.972562068983,-0.972539760093,-0.972517442262,-0.972495115493,-0.972472779784,-0.972450435137,-0.972428081552,-0.972405719027,-0.972383347565,-0.972360967165,-0.972338577827,-0.972316179552,-0.972293772339,-0.972271356189,-0.972248931102,-0.972226497079,-0.972204054119,-0.972181602223,-0.97215914139,-0.972136671622,-0.972114192918,-0.972091705279,-0.972069208704,-0.972046703195,-0.97202418875,-0.972001665371,-0.971979133057,-0.97195659181,-0.971934041628,-0.971911482512,-0.971888914463,-0.97186633748,-0.971843751564,-0.971821156716,-0.971798552934,-0.97177594022,-0.971753318574,-0.971730687995,-0.971708048484,-0.971685400042,-0.971662742668,-0.971640076363,-0.971617401127,-0.97159471696,-0.971572023862,-0.971549321833,-0.971526610875,-0.971503890986,-0.971481162168,-0.97145842442,-0.971435677742,-0.971412922135,-0.971390157599,-0.971367384135,-0.971344601741,-0.97132181042,-0.97129901017,-0.971276200992,-0.971253382887,-0.971230555853,-0.971207719893,-0.971184875005,-0.971162021191,-0.97113915845,-0.971116286782,-0.971093406188,-0.971070516668,-0.971047618222,-0.97102471085,-0.971001794553,-0.970978869331,-0.970955935184,-0.970932992111,-0.970910040115,-0.970887079193,-0.970864109348,-0.970841130579,-0.970818142886,-0.970795146269,-0.970772140729,-0.970749126266,-0.97072610288,-0.970703070571,-0.97068002934,-0.970656979186,-0.970633920111,-0.970610852113,-0.970587775194,-0.970564689354,-0.970541594592,-0.970518490909,-0.970495378306,-0.970472256781,-0.970449126337,-0.970425986972,-0.970402838688,-0.970379681483,-0.970356515359,-0.970333340316,-0.970310156354,-0.970286963473,-0.970263761673,-0.970240550955,-0.970217331318,-0.970194102763,-0.970170865291,-0.970147618901,-0.970124363594,-0.970101099369,-0.970077826228,-0.970054544169,-0.970031253195,-0.970007953303,-0.969984644496,-0.969961326773,-0.969938000134,-0.96991466458,-0.969891320111,-0.969867966726,-0.969844604427,-0.969821233213,-0.969797853084,-0.969774464042,-0.969751066085,-0.969727659215,-0.969704243431,-0.969680818734,-0.969657385124,-0.969633942601,-0.969610491166,-0.969587030817,-0.969563561557,-0.969540083385,-0.9695165963,-0.969493100305,-0.969469595397,-0.969446081579,-0.96942255885,-0.96939902721,-0.969375486659,-0.969351937199,-0.969328378828,-0.969304811547,-0.969281235357,-0.969257650257,-0.969234056248,-0.96921045333,-0.969186841503,-0.969163220768,-0.969139591124,-0.969115952572,-0.969092305113,-0.969068648745,-0.96904498347,-0.969021309288,-0.968997626199,-0.968973934203,-0.9689502333,-0.968926523492,-0.968902804776,-0.968879077155,-0.968855340629,-0.968831595196,-0.968807840859,-0.968784077616,-0.968760305469,-0.968736524416,-0.96871273446,-0.968688935599,-0.968665127834,-0.968641311166,-0.968617485594,-0.968593651118,-0.96856980774,-0.968545955458,-0.968522094274,-0.968498224188,-0.968474345199,-0.968450457308,-0.968426560516,-0.968402654822,-0.968378740226,-0.96835481673,-0.968330884332,-0.968306943034,-0.968282992836,-0.968259033737,-0.968235065738,-0.968211088839,-0.968187103041,-0.968163108343,-0.968139104746,-0.968115092251,-0.968091070856,-0.968067040563,-0.968043001372,-0.968018953283,-0.967994896296,-0.967970830411,-0.967946755629,-0.96792267195,-0.967898579374,-0.967874477901,-0.967850367531,-0.967826248266,-0.967802120104,-0.967777983047,-0.967753837093,-0.967729682245,-0.967705518501,-0.967681345863,-0.967657164329,-0.967632973902,-0.967608774579,-0.967584566363,-0.967560349253,-0.96753612325,-0.967511888353,-0.967487644563,-0.96746339188,-0.967439130304,-0.967414859835,-0.967390580475,-0.967366292222,-0.967341995078,-0.967317689042,-0.967293374114,-0.967269050296,-0.967244717586,-0.967220375986,-0.967196025496,-0.967171666115,-0.967147297844,-0.967122920683,-0.967098534633,-0.967074139693,-0.967049735864,-0.967025323146,-0.96700090154,-0.966976471045,-0.966952031662,-0.966927583391,-0.966903126232,-0.966878660185,-0.966854185251,-0.96682970143,-0.966805208722,-0.966780707128,-0.966756196647,-0.966731677279,-0.966707149026,-0.966682611887,-0.966658065863,-0.966633510953,-0.966608947158,-0.966584374478,-0.966559792914,-0.966535202465,-0.966510603132,-0.966485994915,-0.966461377814,-0.96643675183,-0.966412116963,-0.966387473212,-0.966362820579,-0.966338159063,-0.966313488665,-0.966288809384,-0.966264121222,-0.966239424178,-0.966214718252,-0.966190003445,-0.966165279758,-0.966140547189,-0.96611580574,-0.96609105541,-0.966066296201,-0.966041528111,-0.966016751142,-0.965991965294,-0.965967170566,-0.965942366959,-0.965917554474,-0.96589273311,-0.965867902868,-0.965843063748,-0.96581821575,-0.965793358874,-0.965768493121,-0.965743618491,-0.965718734984,-0.9656938426,-0.96566894134,-0.965644031204,-0.965619112191,-0.965594184303,-0.965569247539,-0.9655443019,-0.965519347386,-0.965494383997,-0.965469411734,-0.965444430596,-0.965419440584,-0.965394441698,-0.965369433938,-0.965344417305,-0.965319391798,-0.965294357419,-0.965269314167,-0.965244262042,-0.965219201045,-0.965194131176,-0.965169052435,-0.965143964822,-0.965118868338,-0.965093762983,-0.965068648757,-0.96504352566,-0.965018393692,-0.964993252855,-0.964968103147,-0.96494294457,-0.964917777123,-0.964892600807,-0.964867415622,-0.964842221567,-0.964817018645,-0.964791806853,-0.964766586194,-0.964741356667,-0.964716118272,-0.964690871009,-0.96466561488,-0.964640349883,-0.96461507602,-0.96458979329,-0.964564501694,-0.964539201231,-0.964513891903,-0.964488573709,-0.96446324665,-0.964437910726,-0.964412565937,-0.964387212283,-0.964361849765,-0.964336478382,-0.964311098136,-0.964285709025,-0.964260311052,-0.964234904215,-0.964209488515,-0.964184063952,-0.964158630526,-0.964133188239,-0.964107737089,-0.964082277077,-0.964056808204,-0.964031330469,-0.964005843873,-0.963980348416,-0.963954844098,-0.96392933092,-0.963903808882,-0.963878277984,-0.963852738226,-0.963827189608,-0.963801632131,-0.963776065795,-0.963750490601,-0.963724906547,-0.963699313636,-0.963673711866,-0.963648101238,-0.963622481753,-0.96359685341,-0.96357121621,-0.963545570153,-0.96351991524,-0.96349425147,-0.963468578844,-0.963442897361,-0.963417207023,-0.96339150783,-0.963365799781,-0.963340082877,-0.963314357118,-0.963288622505,-0.963262879038,-0.963237126716,-0.96321136554,-0.963185595511,-0.963159816628,-0.963134028893,-0.963108232304,-0.963082426863,-0.963056612569,-0.963030789423,-0.963004957425,-0.962979116575,-0.962953266874,-0.962927408321,-0.962901540918,-0.962875664663,-0.962849779559,-0.962823885603,-0.962797982798,-0.962772071143,-0.962746150638,-0.962720221284,-0.962694283081,-0.962668336029,-0.962642380129,-0.96261641538,-0.962590441782,-0.962564459337,-0.962538468044,-0.962512467904,-0.962486458917,-0.962460441082,-0.962434414401,-0.962408378873,-0.962382334499,-0.962356281279,-0.962330219214,-0.962304148302,-0.962278068546,-0.962251979944,-0.962225882498,-0.962199776207,-0.962173661072,-0.962147537092,-0.962121404269,-0.962095262602,-0.962069112092,-0.962042952739,-0.962016784542,-0.961990607503,-0.961964421622,-0.961938226899,-0.961912023333,-0.961885810926,-0.961859589677,-0.961833359588,-0.961807120657,-0.961780872885,-0.961754616274,-0.961728350821,-0.961702076529,-0.961675793397,-0.961649501426,-0.961623200615,-0.961596890965,-0.961570572477,-0.96154424515,-0.961517908984,-0.961491563981,-0.961465210139,-0.96143884746,-0.961412475944,-0.961386095591,-0.961359706401,-0.961333308374,-0.961306901511,-0.961280485811,-0.961254061276,-0.961227627905,-0.961201185699,-0.961174734658,-0.961148274781,-0.96112180607,-0.961095328525,-0.961068842146,-0.961042346932,-0.961015842885,-0.960989330004,-0.96096280829,-0.960936277743,-0.960909738364,-0.960883190152,-0.960856633108,-0.960830067231,-0.960803492523,-0.960776908984,-0.960750316613,-0.960723715411,-0.960697105379,-0.960670486516,-0.960643858823,-0.960617222299,-0.960590576946,-0.960563922763,-0.960537259752,-0.96051058791,-0.960483907241,-0.960457217742,-0.960430519416,-0.960403812261,-0.960377096278,-0.960350371468,-0.96032363783,-0.960296895366,-0.960270144074,-0.960243383956,-0.960216615012,-0.960189837241,-0.960163050645,-0.960136255223,-0.960109450976,-0.960082637903,-0.960055816006,-0.960028985284,-0.960002145738,-0.959975297367,-0.959948440173,-0.959921574155,-0.959894699313,-0.959867815649,-0.959840923161,-0.959814021851,-0.959787111719,-0.959760192764,-0.959733264988,-0.959706328389,-0.95967938297,-0.959652428729,-0.959625465667,-0.959598493785,-0.959571513082,-0.959544523559,-0.959517525216,-0.959490518053,-0.959463502071,-0.95943647727,-0.95940944365,-0.959382401211,-0.959355349954,-0.959328289878,-0.959301220985,-0.959274143274,-0.959247056745,-0.9592199614,-0.959192857237,-0.959165744258,-0.959138622462,-0.95911149185,-0.959084352422,-0.959057204178,-0.959030047119,-0.959002881245,-0.958975706556,-0.958948523052,-0.958921330733,-0.958894129601,-0.958866919654,-0.958839700894,-0.95881247332,-0.958785236933,-0.958757991733,-0.958730737721,-0.958703474896,-0.958676203259,-0.95864892281,-0.958621633549,-0.958594335476,-0.958567028593,-0.958539712899,-0.958512388394,-0.958485055078,-0.958457712952,-0.958430362017,-0.958403002271,-0.958375633716,-0.958348256352,-0.95832087018,-0.958293475198,-0.958266071408,-0.95823865881,-0.958211237404,-0.95818380719,-0.958156368169,-0.95812892034,-0.958101463705,-0.958073998263,-0.958046524015,-0.95801904096,-0.9579915491,-0.957964048434,-0.957936538962,-0.957909020686,-0.957881493604,-0.957853957718,-0.957826413028,-0.957798859533,-0.957771297234,-0.957743726132,-0.957716146227,-0.957688557518,-0.957660960006,-0.957633353692,-0.957605738576,-0.957578114657,-0.957550481937,-0.957522840414,-0.957495190091,-0.957467530967,-0.957439863041,-0.957412186315,-0.957384500789,-0.957356806463,-0.957329103336,-0.957301391411,-0.957273670686,-0.957245941162,-0.957218202839,-0.957190455717,-0.957162699798,-0.95713493508,-0.957107161564,-0.957079379251,-0.957051588141,-0.957023788234,-0.95699597953,-0.956968162029,-0.956940335732,-0.956912500639,-0.956884656751,-0.956856804067,-0.956828942588,-0.956801072313,-0.956773193244,-0.956745305381,-0.956717408723,-0.956689503272,-0.956661589027,-0.956633665988,-0.956605734156,-0.956577793531,-0.956549844114,-0.956521885904,-0.956493918902,-0.956465943109,-0.956437958523,-0.956409965146,-0.956381962978,-0.95635395202,-0.95632593227,-0.95629790373,-0.956269866401,-0.956241820281,-0.956213765372,-0.956185701673,-0.956157629186,-0.956129547909,-0.956101457844,-0.956073358991,-0.95604525135,-0.956017134921,-0.955989009705,-0.955960875701,-0.95593273291,-0.955904581333,-0.955876420969,-0.955848251819,-0.955820073883,-0.955791887161,-0.955763691654,-0.955735487361,-0.955707274284,-0.955679052422,-0.955650821776,-0.955622582345,-0.955594334131,-0.955566077133,-0.955537811351,-0.955509536787,-0.95548125344,-0.95545296131,-0.955424660398,-0.955396350703,-0.955368032227,-0.95533970497,-0.955311368931,-0.955283024111,-0.955254670511,-0.955226308129,-0.955197936968,-0.955169557027,-0.955141168306,-0.955112770805,-0.955084364526,-0.955055949467,-0.95502752563,-0.954999093014,-0.95497065162,-0.954942201448,-0.954913742499,-0.954885274772,-0.954856798269,-0.954828312988,-0.954799818931,-0.954771316097,-0.954742804488,-0.954714284102,-0.954685754941,-0.954657217005,-0.954628670294,-0.954600114808,-0.954571550548,-0.954542977513,-0.954514395704,-0.954485805122,-0.954457205767,-0.954428597638,-0.954399980736,-0.954371355061,-0.954342720615,-0.954314077396,-0.954285425405,-0.954256764643,-0.954228095109,-0.954199416804,-0.954170729729,-0.954142033883,-0.954113329267,-0.95408461588,-0.954055893724,-0.954027162799,-0.953998423104,-0.95396967464,-0.953940917408,-0.953912151407,-0.953883376638,-0.953854593101,-0.953825800797,-0.953796999725,-0.953768189886,-0.95373937128,-0.953710543908,-0.953681707769,-0.953652862865,-0.953624009194,-0.953595146758,-0.953566275557,-0.953537395591,-0.95350850686,-0.953479609365,-0.953450703105,-0.953421788082,-0.953392864295,-0.953363931744,-0.953334990431,-0.953306040354,-0.953277081515,-0.953248113914,-0.95321913755,-0.953190152425,-0.953161158539,-0.953132155891,-0.953103144482,-0.953074124312,-0.953045095382,-0.953016057692,-0.952987011242,-0.952957956032,-0.952928892063,-0.952899819334,-0.952870737847,-0.952841647601,-0.952812548597,-0.952783440835,-0.952754324315,-0.952725199038,-0.952696065003,-0.952666922211,-0.952637770663,-0.952608610358,-0.952579441297,-0.95255026348,-0.952521076908,-0.95249188158,-0.952462677497,-0.952433464659,-0.952404243066,-0.95237501272,-0.952345773619,-0.952316525765,-0.952287269157,-0.952258003795,-0.952228729681,-0.952199446814,-0.952170155195,-0.952140854824,-0.952111545701,-0.952082227826,-0.9520529012,-0.952023565822,-0.951994221694,-0.951964868816,-0.951935507187,-0.951906136808,-0.951876757679,-0.951847369801,-0.951817973174,-0.951788567798,-0.951759153673,-0.9517297308,-0.951700299179,-0.95167085881,-0.951641409694,-0.95161195183,-0.951582485219,-0.951553009861,-0.951523525757,-0.951494032907,-0.951464531311,-0.951435020969,-0.951405501882,-0.951375974049,-0.951346437472,-0.95131689215,-0.951287338084,-0.951257775274,-0.95122820372,-0.951198623423,-0.951169034383,-0.951139436599,-0.951109830073,-0.951080214804,-0.951050590794,-0.951020958041,-0.950991316547,-0.950961666312,-0.950932007335,-0.950902339618,-0.95087266316,-0.950842977962,-0.950813284024,-0.950783581347,-0.95075386993,-0.950724149774,-0.950694420879,-0.950664683245,-0.950634936874,-0.950605181764,-0.950575417916,-0.950545645331,-0.950515864009,-0.950486073949,-0.950456275154,-0.950426467621,-0.950396651353,-0.950366826349,-0.950336992609,-0.950307150134,-0.950277298924,-0.950247438979,-0.950217570299,-0.950187692886,-0.950157806738,-0.950127911857,-0.950098008243,-0.950068095895,-0.950038174815,-0.950008245002,-0.949978306457,-0.949948359179,-0.94991840317,-0.94988843843,-0.949858464959,-0.949828482756,-0.949798491823,-0.94976849216,-0.949738483766,-0.949708466643,-0.94967844079,-0.949648406208,-0.949618362897,-0.949588310857,-0.949558250089,-0.949528180593,-0.949498102369,-0.949468015417,-0.949437919738,-0.949407815332,-0.9493777022,-0.94934758034,-0.949317449755,-0.949287310444,-0.949257162406,-0.949227005644,-0.949196840157,-0.949166665944,-0.949136483008,-0.949106291347,-0.949076090961,-0.949045881853,-0.949015664021,-0.948985437465,-0.948955202187,-0.948924958186,-0.948894705463,-0.948864444018,-0.948834173851,-0.948803894963,-0.948773607353,-0.948743311023,-0.948713005971,-0.9486826922,-0.948652369708,-0.948622038497,-0.948591698566,-0.948561349916,-0.948530992547,-0.948500626459,-0.948470251652,-0.948439868128,-0.948409475886,-0.948379074926,-0.948348665249,-0.948318246855,-0.948287819744,-0.948257383916,-0.948226939373,-0.948196486113,-0.948166024138,-0.948135553448,-0.948105074043,-0.948074585922,-0.948044089088,-0.948013583539,-0.947983069276,-0.947952546299,-0.947922014609,-0.947891474206,-0.94786092509,-0.947830367262,-0.947799800721,-0.947769225469,-0.947738641505,-0.947708048829,-0.947677447442,-0.947646837344,-0.947616218536,-0.947585591018,-0.947554954789,-0.947524309851,-0.947493656203,-0.947462993846,-0.947432322781,-0.947401643006,-0.947370954524,-0.947340257333,-0.947309551435,-0.947278836829,-0.947248113516,-0.947217381496,-0.947186640769,-0.947155891336,-0.947125133198,-0.947094366353,-0.947063590803,-0.947032806547,-0.947002013587,-0.946971211922,-0.946940401552,-0.946909582479,-0.946878754702,-0.946847918221,-0.946817073037,-0.94678621915,-0.946755356561,-0.946724485269,-0.946693605275,-0.946662716579,-0.946631819182,-0.946600913083,-0.946569998284,-0.946539074784,-0.946508142583,-0.946477201682,-0.946446252082,-0.946415293782,-0.946384326783,-0.946353351084,-0.946322366688,-0.946291373592,-0.946260371799,-0.946229361308,-0.946198342119,-0.946167314233,-0.94613627765,-0.94610523237,-0.946074178394,-0.946043115722,-0.946012044354,-0.945980964291,-0.945949875532,-0.945918778078,-0.94588767193,-0.945856557087,-0.94582543355,-0.945794301319,-0.945763160395,-0.945732010777,-0.945700852467,-0.945669685464,-0.945638509768,-0.945607325381,-0.945576132301,-0.94554493053,-0.945513720068,-0.945482500914,-0.945451273071,-0.945420036536,-0.945388791312,-0.945357537398,-0.945326274794,-0.945295003501,-0.945263723519,-0.945232434848,-0.945201137489,-0.945169831442,-0.945138516708,-0.945107193285,-0.945075861176,-0.945044520379,-0.945013170896,-0.944981812727,-0.944950445871,-0.94491907033,-0.944887686103,-0.944856293191,-0.944824891594,-0.944793481312,-0.944762062346,-0.944730634696,-0.944699198362,-0.944667753345,-0.944636299645,-0.944604837261,-0.944573366196,-0.944541886447,-0.944510398017,-0.944478900905,-0.944447395112,-0.944415880637,-0.944384357482,-0.944352825646,-0.944321285129,-0.944289735933,-0.944258178057,-0.944226611501,-0.944195036267,-0.944163452353,-0.944131859761,-0.944100258491,-0.944068648543,-0.944037029917,-0.944005402614,-0.943973766634,-0.943942121976,-0.943910468643,-0.943878806633,-0.943847135947,-0.943815456586,-0.943783768549,-0.943752071837,-0.94372036645,-0.943688652389,-0.943656929654,-0.943625198245,-0.943593458162,-0.943561709406,-0.943529951977,-0.943498185875,-0.943466411101,-0.943434627654,-0.943402835536,-0.943371034746,-0.943339225285,-0.943307407153,-0.94327558035,-0.943243744877,-0.943211900734,-0.943180047921,-0.943148186438,-0.943116316287,-0.943084437466,-0.943052549977,-0.943020653819,-0.942988748994,-0.9429568355,-0.942924913339,-0.942892982511,-0.942861043016,-0.942829094855,-0.942797138027,-0.942765172533,-0.942733198374,-0.942701215549,-0.942669224059,-0.942637223904,-0.942605215085,-0.942573197601,-0.942541171454,-0.942509136643,-0.942477093168,-0.942445041031,-0.942412980231,-0.942380910768,-0.942348832643,-0.942316745857,-0.942284650408,-0.942252546299,-0.942220433528,-0.942188312097,-0.942156182005,-0.942124043254,-0.942091895842,-0.942059739771,-0.942027575041,-0.941995401652,-0.941963219604,-0.941931028898,-0.941898829534,-0.941866621512,-0.941834404832,-0.941802179496,-0.941769945503,-0.941737702853,-0.941705451547,-0.941673191585,-0.941640922967,-0.941608645694,-0.941576359766,-0.941544065183,-0.941511761946,-0.941479450054,-0.941447129509,-0.94141480031,-0.941382462457,-0.941350115952,-0.941317760794,-0.941285396984,-0.941253024521,-0.941220643407,-0.941188253642,-0.941155855225,-0.941123448157,-0.941091032438,-0.94105860807,-0.941026175051,-0.940993733382,-0.940961283065,-0.940928824098,-0.940896356482,-0.940863880217,-0.940831395305,-0.940798901744,-0.940766399536,-0.940733888681,-0.940701369179,-0.940668841029,-0.940636304234,-0.940603758792,-0.940571204705,-0.940538641972,-0.940506070593,-0.94047349057,-0.940440901902,-0.94040830459,-0.940375698634,-0.940343084034,-0.94031046079,-0.940277828904,-0.940245188375,-0.940212539203,-0.940179881389,-0.940147214933,-0.940114539835,-0.940081856096,-0.940049163716,-0.940016462695,-0.939983753034,-0.939951034733,-0.939918307792,-0.939885572211,-0.939852827991,-0.939820075132,-0.939787313635,-0.939754543499,-0.939721764725,-0.939688977314,-0.939656181265,-0.939623376579,-0.939590563256,-0.939557741296,-0.939524910701,-0.939492071469,-0.939459223602,-0.9394263671,-0.939393501962,-0.93936062819,-0.939327745784,-0.939294854743,-0.939261955069,-0.939229046761,-0.93919612982,-0.939163204246,-0.939130270039,-0.9390973272,-0.939064375729,-0.939031415627,-0.938998446893,-0.938965469528,-0.938932483532,-0.938899488906,-0.938866485649,-0.938833473763,-0.938800453247,-0.938767424102,-0.938734386328,-0.938701339926,-0.938668284895,-0.938635221236,-0.938602148949,-0.938569068035,-0.938535978494,-0.938502880325,-0.938469773531,-0.93843665811,-0.938403534063,-0.938370401391,-0.938337260093,-0.93830411017,-0.938270951623,-0.938237784451,-0.938204608655,-0.938171424236,-0.938138231193,-0.938105029527,-0.938071819238,-0.938038600326,-0.938005372792,-0.937972136636,-0.937938891859,-0.93790563846,-0.93787237644,-0.937839105799,-0.937805826538,-0.937772538657,-0.937739242156,-0.937705937036,-0.937672623297,-0.937639300938,-0.937605969961,-0.937572630366,-0.937539282152,-0.937505925321,-0.937472559873,-0.937439185808,-0.937405803126,-0.937372411827,-0.937339011913,-0.937305603382,-0.937272186236,-0.937238760475,-0.937205326099,-0.937171883108,-0.937138431503,-0.937104971284,-0.937071502452,-0.937038025006,-0.937004538947,-0.936971044275,-0.936937540991,-0.936904029095,-0.936870508586,-0.936836979467,-0.936803441736,-0.936769895394,-0.936736340442,-0.936702776879,-0.936669204707,-0.936635623924,-0.936602034533,-0.936568436532,-0.936534829923,-0.936501214705,-0.936467590879,-0.936433958445,-0.936400317404,-0.936366667756,-0.9363330095,-0.936299342638,-0.93626566717,-0.936231983096,-0.936198290416,-0.936164589131,-0.936130879241,-0.936097160746,-0.936063433647,-0.936029697944,-0.935995953637,-0.935962200726,-0.935928439213,-0.935894669096,-0.935860890377,-0.935827103055,-0.935793307132,-0.935759502607,-0.935725689481,-0.935691867754,-0.935658037426,-0.935624198498,-0.93559035097,-0.935556494841,-0.935522630114,-0.935488756787,-0.935454874862,-0.935420984338,-0.935387085216,-0.935353177496,-0.935319261179,-0.935285336264,-0.935251402752,-0.935217460644,-0.935183509939,-0.935149550638,-0.935115582742,-0.93508160625,-0.935047621163,-0.935013627482,-0.934979625206,-0.934945614336,-0.934911594872,-0.934877566814,-0.934843530163,-0.93480948492,-0.934775431084,-0.934741368655,-0.934707297635,-0.934673218023,-0.93463912982,-0.934605033025,-0.93457092764,-0.934536813665,-0.9345026911,-0.934468559945,-0.9344344202,-0.934400271866,-0.934366114944,-0.934331949433,-0.934297775334,-0.934263592646,-0.934229401372,-0.93419520151,-0.934160993061,-0.934126776026,-0.934092550404,-0.934058316197,-0.934024073403,-0.933989822025,-0.933955562061,-0.933921293513,-0.93388701638,-0.933852730663,-0.933818436362,-0.933784133478,-0.933749822011,-0.933715501961,-0.933681173328,-0.933646836113,-0.933612490317,-0.933578135938,-0.933543772979,-0.933509401438,-0.933475021317,-0.933440632616,-0.933406235335,-0.933371829474,-0.933337415033,-0.933302992014,-0.933268560416,-0.933234120239,-0.933199671485,-0.933165214152,-0.933130748242,-0.933096273755,-0.933061790692,-0.933027299051,-0.932992798835,-0.932958290042,-0.932923772674,-0.932889246731,-0.932854712213,-0.932820169121,-0.932785617454,-0.932751057213,-0.932716488398,-0.93268191101,-0.932647325049,-0.932612730516,-0.93257812741,-0.932543515732,-0.932508895482,-0.932474266661,-0.932439629268,-0.932404983305,-0.932370328772,-0.932335665668,-0.932300993995,-0.932266313752,-0.932231624939,-0.932196927558,-0.932162221609,-0.932127507091,-0.932092784005,-0.932058052351,-0.932023312131,-0.931988563343,-0.931953805989,-0.931919040068,-0.931884265582,-0.931849482529,-0.931814690912,-0.931779890729,-0.931745081982,-0.93171026467,-0.931675438794,-0.931640604354,-0.931605761351,-0.931570909785,-0.931536049656,-0.931501180965,-0.931466303711,-0.931431417895,-0.931396523518,-0.93136162058,-0.931326709081,-0.931291789022,-0.931256860402,-0.931221923222,-0.931186977483,-0.931152023184,-0.931117060326,-0.93108208891,-0.931047108936,-0.931012120403,-0.930977123313,-0.930942117665,-0.930907103461,-0.9308720807,-0.930837049382,-0.930802009508,-0.930766961079,-0.930731904094,-0.930696838554,-0.93066176446,-0.930626681811,-0.930591590607,-0.93055649085,-0.93052138254,-0.930486265676,-0.93045114026,-0.930416006291,-0.93038086377,-0.930345712696,-0.930310553072,-0.930275384896,-0.930240208169,-0.930205022892,-0.930169829065,-0.930134626687,-0.93009941576,-0.930064196284,-0.930028968259,-0.929993731685,-0.929958486563,-0.929923232893,-0.929887970675,-0.92985269991,-0.929817420598,-0.929782132739,-0.929746836334,-0.929711531382,-0.929676217885,-0.929640895843,-0.929605565256,-0.929570226124,-0.929534878447,-0.929499522227,-0.929464157462,-0.929428784155,-0.929393402304,-0.92935801191,-0.929322612974,-0.929287205496,-0.929251789475,-0.929216364914,-0.929180931811,-0.929145490168,-0.929110039984,-0.929074581259,-0.929039113995,-0.929003638192,-0.928968153849,-0.928932660967,-0.928897159547,-0.928861649588,-0.928826131092,-0.928790604058,-0.928755068487,-0.928719524379,-0.928683971734,-0.928648410553,-0.928612840836,-0.928577262584,-0.928541675796,-0.928506080473,-0.928470476616,-0.928434864224,-0.928399243299,-0.928363613839,-0.928327975847,-0.928292329321,-0.928256674263,-0.928221010672,-0.92818533855,-0.928149657895,-0.92811396871,-0.928078270993,-0.928042564746,-0.928006849968,-0.92797112666,-0.927935394823,-0.927899654456,-0.92786390556,-0.927828148135,-0.927792382182,-0.927756607701,-0.927720824692,-0.927685033156,-0.927649233093,-0.927613424502,-0.927577607386,-0.927541781743,-0.927505947575,-0.927470104881,-0.927434253662,-0.927398393919,-0.92736252565,-0.927326648858,-0.927290763542,-0.927254869703,-0.92721896734,-0.927183056455,-0.927147137047,-0.927111209117,-0.927075272665,-0.927039327691,-0.927003374197,-0.926967412182,-0.926931441646,-0.92689546259,-0.926859475014,-0.926823478919,-0.926787474305,-0.926751461171,-0.92671543952,-0.92667940935,-0.926643370662,-0.926607323457,-0.926571267734,-0.926535203495,-0.926499130739,-0.926463049467,-0.926426959679,-0.926390861376,-0.926354754558,-0.926318639224,-0.926282515376,-0.926246383014,-0.926210242138,-0.926174092749,-0.926137934846,-0.926101768431,-0.926065593503,-0.926029410062,-0.92599321811,-0.925957017647,-0.925920808672,-0.925884591186,-0.92584836519,-0.925812130683,-0.925775887667,-0.925739636141,-0.925703376106,-0.925667107562,-0.92563083051,-0.925594544949,-0.925558250881,-0.925521948305,-0.925485637221,-0.925449317631,-0.925412989535,-0.925376652932,-0.925340307823,-0.925303954209,-0.92526759209,-0.925231221465,-0.925194842336,-0.925158454703,-0.925122058567,-0.925085653926,-0.925049240783,-0.925012819136,-0.924976388987,-0.924939950336,-0.924903503183,-0.924867047529,-0.924830583373,-0.924794110717,-0.92475762956,-0.924721139902,-0.924684641745,-0.924648135089,-0.924611619933,-0.924575096279,-0.924538564125,-0.924502023474,-0.924465474325,-0.924428916679,-0.924392350535,-0.924355775895,-0.924319192758,-0.924282601125,-0.924246000996,-0.924209392371,-0.924172775252,-0.924136149637,-0.924099515529,-0.924062872926,-0.924026221829,-0.923989562239,-0.923952894156,-0.92391621758,-0.923879532511,-0.923842838951,-0.923806136898,-0.923769426355,-0.92373270732,-0.923695979794,-0.923659243778,-0.923622499272,-0.923585746276,-0.923548984791,-0.923512214817,-0.923475436354,-0.923438649402,-0.923401853963,-0.923365050036,-0.923328237621,-0.92329141672,-0.923254587331,-0.923217749457,-0.923180903096,-0.92314404825,-0.923107184918,-0.923070313101,-0.9230334328,-0.922996544014,-0.922959646745,-0.922922740991,-0.922885826755,-0.922848904035,-0.922811972833,-0.922775033148,-0.922738084982,-0.922701128334,-0.922664163205,-0.922627189594,-0.922590207503,-0.922553216932,-0.922516217881,-0.922479210351,-0.922442194341,-0.922405169852,-0.922368136885,-0.922331095439,-0.922294045516,-0.922256987115,-0.922219920237,-0.922182844882,-0.922145761051,-0.922108668743,-0.92207156796,-0.922034458701,-0.921997340967,-0.921960214758,-0.921923080075,-0.921885936918,-0.921848785286,-0.921811625182,-0.921774456604,-0.921737279554,-0.921700094031,-0.921662900036,-0.921625697569,-0.921588486631,-0.921551267222,-0.921514039342,-0.921476802992,-0.921439558172,-0.921402304882,-0.921365043123,-0.921327772894,-0.921290494198,-0.921253207033,-0.921215911399,-0.921178607299,-0.921141294731,-0.921103973696,-0.921066644194,-0.921029306227,-0.920991959793,-0.920954604894,-0.920917241529,-0.9208798697,-0.920842489406,-0.920805100648,-0.920767703426,-0.920730297741,-0.920692883592,-0.920655460981,-0.920618029907,-0.920580590371,-0.920543142373,-0.920505685914,-0.920468220994,-0.920430747613,-0.920393265772,-0.92035577547,-0.920318276709,-0.920280769489,-0.920243253809,-0.920205729671,-0.920168197074,-0.92013065602,-0.920093106508,-0.920055548538,-0.920017982112,-0.919980407229,-0.919942823889,-0.919905232094,-0.919867631843,-0.919830023137,-0.919792405976,-0.919754780361,-0.919717146291,-0.919679503768,-0.919641852791,-0.919604193361,-0.919566525478,-0.919528849142,-0.919491164355,-0.919453471116,-0.919415769425,-0.919378059283,-0.919340340691,-0.919302613648,-0.919264878155,-0.919227134212,-0.919189381821,-0.91915162098,-0.91911385169,-0.919076073952,-0.919038287766,-0.919000493133,-0.918962690052,-0.918924878525,-0.918887058551,-0.91884923013,-0.918811393264,-0.918773547952,-0.918735694196,-0.918697831994,-0.918659961348,-0.918622082257,-0.918584194723,-0.918546298746,-0.918508394325,-0.918470481462,-0.918432560156,-0.918394630408,-0.918356692219,-0.918318745588,-0.918280790517,-0.918242827004,-0.918204855051,-0.918166874659,-0.918128885827,-0.918090888555,-0.918052882845,-0.918014868696,-0.917976846109,-0.917938815084,-0.917900775621,-0.917862727722,-0.917824671385,-0.917786606613,-0.917748533404,-0.917710451759,-0.917672361679,-0.917634263164,-0.917596156214,-0.91755804083,-0.917519917012,-0.91748178476,-0.917443644075,-0.917405494957,-0.917367337406,-0.917329171423,-0.917290997008,-0.917252814162,-0.917214622885,-0.917176423176,-0.917138215037,-0.917099998468,-0.91706177347,-0.917023540041,-0.916985298184,-0.916947047898,-0.916908789184,-0.916870522041,-0.916832246471,-0.916793962474,-0.916755670049,-0.916717369198,-0.916679059921,-0.916640742218,-0.916602416089,-0.916564081535,-0.916525738556,-0.916487387153,-0.916449027325,-0.916410659074,-0.916372282399,-0.916333897301,-0.916295503781,-0.916257101838,-0.916218691473,-0.916180272686,-0.916141845478,-0.916103409849,-0.916064965799,-0.916026513329,-0.91598805244,-0.91594958313,-0.915911105402,-0.915872619254,-0.915834124688,-0.915795621704,-0.915757110302,-0.915718590483,-0.915680062246,-0.915641525593,-0.915602980523,-0.915564427038,-0.915525865136,-0.91548729482,-0.915448716088,-0.915410128942,-0.915371533382,-0.915332929407,-0.915294317019,-0.915255696218,-0.915217067005,-0.915178429378,-0.91513978334,-0.915101128889,-0.915062466028,-0.915023794755,-0.914985115072,-0.914946426978,-0.914907730474,-0.914869025561,-0.914830312238,-0.914791590506,-0.914752860366,-0.914714121818,-0.914675374862,-0.914636619498,-0.914597855727,-0.914559083549,-0.914520302965,-0.914481513975,-0.914442716579,-0.914403910778,-0.914365096571,-0.914326273961,-0.914287442945,-0.914248603526,-0.914209755704,-0.914170899478,-0.914132034849,-0.914093161817,-0.914054280384,-0.914015390549,-0.913976492312,-0.913937585674,-0.913898670636,-0.913859747197,-0.913820815358,-0.91378187512,-0.913742926482,-0.913703969445,-0.91366500401,-0.913626030177,-0.913587047945,-0.913548057316,-0.91350905829,-0.913470050868,-0.913431035049,-0.913392010833,-0.913352978222,-0.913313937216,-0.913274887815,-0.913235830019,-0.913196763829,-0.913157689245,-0.913118606267,-0.913079514896,-0.913040415133,-0.913001306977,-0.912962190428,-0.912923065488,-0.912883932157,-0.912844790435,-0.912805640322,-0.912766481818,-0.912727314925,-0.912688139642,-0.91264895597,-0.912609763909,-0.912570563459,-0.912531354622,-0.912492137396,-0.912452911783,-0.912413677783,-0.912374435396,-0.912335184623,-0.912295925464,-0.91225665792,-0.91221738199,-0.912178097675,-0.912138804975,-0.912099503892,-0.912060194424,-0.912020876574,-0.91198155034,-0.911942215723,-0.911902872724,-0.911863521343,-0.91182416158,-0.911784793436,-0.911745416911,-0.911706032005,-0.91166663872,-0.911627237054,-0.911587827009,-0.911548408585,-0.911508981782,-0.911469546601,-0.911430103041,-0.911390651104,-0.91135119079,-0.911311722098,-0.911272245031,-0.911232759586,-0.911193265767,-0.911153763571,-0.911114253001,-0.911074734055,-0.911035206735,-0.910995671042,-0.910956126974,-0.910916574533,-0.91087701372,-0.910837444533,-0.910797866975,-0.910758281044,-0.910718686743,-0.91067908407,-0.910639473026,-0.910599853612,-0.910560225827,-0.910520589673,-0.91048094515,-0.910441292258,-0.910401630997,-0.910361961368,-0.910322283372,-0.910282597007,-0.910242902276,-0.910203199178,-0.910163487713,-0.910123767883,-0.910084039686,-0.910044303125,-0.910004558198,-0.909964804907,-0.909925043252,-0.909885273233,-0.90984549485,-0.909805708105,-0.909765912996,-0.909726109525,-0.909686297693,-0.909646477498,-0.909606648943,-0.909566812026,-0.909526966749,-0.909487113112,-0.909447251114,-0.909407380758,-0.909367502042,-0.909327614968,-0.909287719535,-0.909247815744,-0.909207903596,-0.909167983091,-0.909128054228,-0.909088117009,-0.909048171434,-0.909008217503,-0.908968255217,-0.908928284576,-0.90888830558,-0.908848318229,-0.908808322525,-0.908768318467,-0.908728306056,-0.908688285293,-0.908648256176,-0.908608218708,-0.908568172888,-0.908528118716,-0.908488056194,-0.908447985321,-0.908407906097,-0.908367818524,-0.908327722601,-0.908287618329,-0.908247505709,-0.908207384739,-0.908167255422,-0.908127117757,-0.908086971745,-0.908046817386,-0.90800665468,-0.907966483629,-0.907926304231,-0.907886116488,-0.907845920399,-0.907805715966,-0.907765503189,-0.907725282068,-0.907685052603,-0.907644814795,-0.907604568643,-0.90756431415,-0.907524051314,-0.907483780137,-0.907443500618,-0.907403212758,-0.907362916557,-0.907322612016,-0.907282299136,-0.907241977915,-0.907201648356,-0.907161310458,-0.907120964221,-0.907080609646,-0.907040246734,-0.906999875484,-0.906959495897,-0.906919107974,-0.906878711714,-0.906838307119,-0.906797894188,-0.906757472922,-0.906717043321,-0.906676605386,-0.906636159117,-0.906595704515,-0.906555241579,-0.90651477031,-0.906474290709,-0.906433802776,-0.906393306511,-0.906352801915,-0.906312288987,-0.906271767729,-0.906231238141,-0.906190700223,-0.906150153975,-0.906109599398,-0.906069036493,-0.906028465259,-0.905987885697,-0.905947297807,-0.90590670159,-0.905866097047,-0.905825484176,-0.90578486298,-0.905744233458,-0.90570359561,-0.905662949437,-0.90562229494,-0.905581632118,-0.905540960973,-0.905500281504,-0.905459593711,-0.905418897596,-0.905378193159,-0.905337480399,-0.905296759318,-0.905256029916,-0.905215292192,-0.905174546148,-0.905133791784,-0.9050930291,-0.905052258097,-0.905011478775,-0.904970691134,-0.904929895174,-0.904889090897,-0.904848278302,-0.90480745739,-0.904766628162,-0.904725790616,-0.904684944755,-0.904644090578,-0.904603228086,-0.904562357279,-0.904521478157,-0.904480590721,-0.904439694972,-0.904398790909,-0.904357878533,-0.904316957844,-0.904276028843,-0.90423509153,-0.904194145906,-0.90415319197,-0.904112229724,-0.904071259167,-0.9040302803,-0.903989293123,-0.903948297638,-0.903907293843,-0.90386628174,-0.903825261328,-0.903784232609,-0.903743195583,-0.903702150249,-0.903661096609,-0.903620034663,-0.903578964411,-0.903537885853,-0.90349679899,-0.903455703822,-0.90341460035,-0.903373488574,-0.903332368495,-0.903291240112,-0.903250103426,-0.903208958438,-0.903167805147,-0.903126643555,-0.903085473662,-0.903044295468,-0.903003108973,-0.902961914177,-0.902920711082,-0.902879499688,-0.902838279995,-0.902797052002,-0.902755815712,-0.902714571123,-0.902673318237,-0.902632057054,-0.902590787574,-0.902549509798,-0.902508223725,-0.902466929357,-0.902425626694,-0.902384315735,-0.902342996482,-0.902301668935,-0.902260333095,-0.902218988961,-0.902177636533,-0.902136275814,-0.902094906802,-0.902053529498,-0.902012143902,-0.901970750016,-0.901929347839,-0.901887937371,-0.901846518614,-0.901805091567,-0.901763656231,-0.901722212606,-0.901680760692,-0.90163930049,-0.901597832001,-0.901556355225,-0.901514870161,-0.901473376811,-0.901431875175,-0.901390365253,-0.901348847046,-0.901307320554,-0.901265785777,-0.901224242716,-0.901182691371,-0.901141131742,-0.901099563831,-0.901057987636,-0.90101640316,-0.900974810401,-0.900933209361,-0.90089160004,-0.900849982438,-0.900808356555,-0.900766722392,-0.90072507995,-0.900683429229,-0.900641770228,-0.900600102949,-0.900558427392,-0.900516743558,-0.900475051445,-0.900433351056,-0.900391642391,-0.900349925449,-0.900308200231,-0.900266466738,-0.90022472497,-0.900182974927,-0.90014121661,-0.900099450019,-0.900057675154,-0.900015892016,-0.899974100606,-0.899932300923,-0.899890492968,-0.899848676742,-0.899806852244,-0.899765019475,-0.899723178436,-0.899681329127,-0.899639471549,-0.899597605701,-0.899555731584,-0.899513849198,-0.899471958545,-0.899430059624,-0.899388152435,-0.899346236979,-0.899304313257,-0.899262381269,-0.899220441014,-0.899178492495,-0.89913653571,-0.89909457066,-0.899052597347,-0.899010615769,-0.898968625928,-0.898926627824,-0.898884621457,-0.898842606827,-0.898800583936,-0.898758552783,-0.898716513369,-0.898674465694,-0.898632409759,-0.898590345563,-0.898548273108,-0.898506192394,-0.898464103421,-0.898422006189,-0.898379900699,-0.898337786952,-0.898295664947,-0.898253534685,-0.898211396167,-0.898169249393,-0.898127094362,-0.898084931077,-0.898042759536,-0.898000579741,-0.897958391691,-0.897916195388,-0.897873990831,-0.897831778021,-0.897789556959,-0.897747327644,-0.897705090077,-0.897662844259,-0.89762059019,-0.89757832787,-0.897536057299,-0.897493778479,-0.897451491409,-0.89740919609,-0.897366892522,-0.897324580705,-0.897282260641,-0.897239932329,-0.89719759577,-0.897155250964,-0.897112897911,-0.897070536613,-0.897028167068,-0.896985789279,-0.896943403244,-0.896901008965,-0.896858606442,-0.896816195676,-0.896773776665,-0.896731349412,-0.896688913917,-0.896646470179,-0.896604018199,-0.896561557978,-0.896519089516,-0.896476612813,-0.89643412787,-0.896391634688,-0.896349133266,-0.896306623604,-0.896264105705,-0.896221579567,-0.896179045191,-0.896136502577,-0.896093951727,-0.896051392639,-0.896008825316,-0.895966249756,-0.895923665961,-0.895881073931,-0.895838473666,-0.895795865167,-0.895753248434,-0.895710623467,-0.895667990267,-0.895625348834,-0.895582699169,-0.895540041272,-0.895497375143,-0.895454700783,-0.895412018192,-0.895369327371,-0.89532662832,-0.895283921039,-0.895241205528,-0.895198481789,-0.895155749822,-0.895113009626,-0.895070261203,-0.895027504552,-0.894984739675,-0.894941966571,-0.89489918524,-0.894856395685,-0.894813597903,-0.894770791897,-0.894727977667,-0.894685155212,-0.894642324533,-0.894599485631,-0.894556638506,-0.894513783159,-0.894470919589,-0.894428047798,-0.894385167785,-0.894342279551,-0.894299383097,-0.894256478422,-0.894213565528,-0.894170644414,-0.894127715081,-0.89408477753,-0.89404183176,-0.893998877772,-0.893955915567,-0.893912945145,-0.893869966506,-0.893826979651,-0.893783984581,-0.893740981294,-0.893697969793,-0.893654950077,-0.893611922146,-0.893568886002,-0.893525841644,-0.893482789074,-0.89343972829,-0.893396659294,-0.893353582086,-0.893310496667,-0.893267403037,-0.893224301196,-0.893181191144,-0.893138072883,-0.893094946412,-0.893051811732,-0.893008668843,-0.892965517746,-0.892922358441,-0.892879190928,-0.892836015208,-0.892792831282,-0.892749639149,-0.89270643881,-0.892663230265,-0.892620013516,-0.892576788562,-0.892533555403,-0.89249031404,-0.892447064474,-0.892403806704,-0.892360540732,-0.892317266557,-0.892273984181,-0.892230693602,-0.892187394823,-0.892144087843,-0.892100772662,-0.892057449282,-0.892014117701,-0.891970777922,-0.891927429944,-0.891884073767,-0.891840709392,-0.89179733682,-0.891753956051,-0.891710567084,-0.891667169922,-0.891623764563,-0.891580351009,-0.891536929259,-0.891493499315,-0.891450061176,-0.891406614843,-0.891363160317,-0.891319697597,-0.891276226685,-0.89123274758,-0.891189260283,-0.891145764795,-0.891102261115,-0.891058749244,-0.891015229183,-0.890971700932,-0.890928164492,-0.890884619862,-0.890841067043,-0.890797506036,-0.890753936841,-0.890710359459,-0.890666773889,-0.890623180132,-0.890579578189,-0.89053596806,-0.890492349745,-0.890448723245,-0.89040508856,-0.890361445691,-0.890317794637,-0.890274135401,-0.890230467981,-0.890186792378,-0.890143108592,-0.890099416625,-0.890055716476,-0.890012008146,-0.889968291635,-0.889924566944,-0.889880834073,-0.889837093022,-0.889793343792,-0.889749586383,-0.889705820796,-0.889662047031,-0.889618265088,-0.889574474968,-0.889530676671,-0.889486870198,-0.889443055549,-0.889399232724,-0.889355401724,-0.88931156255,-0.889267715201,-0.889223859678,-0.889179995981,-0.889136124112,-0.889092244069,-0.889048355855,-0.889004459468,-0.88896055491,-0.88891664218,-0.88887272128,-0.88882879221,-0.88878485497,-0.88874090956,-0.888696955981,-0.888652994233,-0.888609024317,-0.888565046233,-0.888521059982,-0.888477065564,-0.888433062978,-0.888389052227,-0.88834503331,-0.888301006227,-0.888256970979,-0.888212927566,-0.88816887599,-0.888124816249,-0.888080748345,-0.888036672278,-0.887992588048,-0.887948495656,-0.887904395102,-0.887860286387,-0.88781616951,-0.887772044473,-0.887727911276,-0.887683769919,-0.887639620403,-0.887595462728,-0.887551296894,-0.887507122901,-0.887462940752,-0.887418750444,-0.88737455198,-0.887330345359,-0.887286130582,-0.88724190765,-0.887197676562,-0.887153437319,-0.887109189921,-0.88706493437,-0.887020670664,-0.886976398806,-0.886932118794,-0.88688783063,-0.886843534314,-0.886799229847,-0.886754917228,-0.886710596458,-0.886666267537,-0.886621930467,-0.886577585247,-0.886533231878,-0.88648887036,-0.886444500693,-0.886400122879,-0.886355736917,-0.886311342807,-0.886266940551,-0.886222530149,-0.8861781116,-0.886133684907,-0.886089250067,-0.886044807084,-0.886000355955,-0.885955896683,-0.885911429268,-0.885866953709,-0.885822470007,-0.885777978164,-0.885733478178,-0.885688970051,-0.885644453783,-0.885599929374,-0.885555396825,-0.885510856136,-0.885466307308,-0.885421750341,-0.885377185235,-0.885332611991,-0.885288030609,-0.885243441089,-0.885198843433,-0.88515423764,-0.885109623711,-0.885065001647,-0.885020371447,-0.884975733112,-0.884931086642,-0.884886432039,-0.884841769301,-0.884797098431,-0.884752419428,-0.884707732292,-0.884663037024,-0.884618333624,-0.884573622094,-0.884528902432,-0.88448417464,-0.884439438718,-0.884394694667,-0.884349942486,-0.884305182177,-0.884260413739,-0.884215637173,-0.88417085248,-0.88412605966,-0.884081258713,-0.884036449639,-0.88399163244,-0.883946807116,-0.883901973666,-0.883857132091,-0.883812282393,-0.883767424571,-0.883722558625,-0.883677684556,-0.883632802365,-0.883587912051,-0.883543013616,-0.883498107059,-0.883453192382,-0.883408269584,-0.883363338666,-0.883318399628,-0.883273452471,-0.883228497195,-0.883183533801,-0.883138562288,-0.883093582658,-0.883048594911,-0.883003599047,-0.882958595066,-0.88291358297,-0.882868562758,-0.882823534431,-0.882778497989,-0.882733453433,-0.882688400763,-0.88264333998,-0.882598271083,-0.882553194074,-0.882508108952,-0.882463015719,-0.882417914374,-0.882372804919,-0.882327687352,-0.882282561676,-0.88223742789,-0.882192285994,-0.88214713599,-0.882101977877,-0.882056811656,-0.882011637327,-0.881966454891,-0.881921264348,-0.881876065699,-0.881830858944,-0.881785644083,-0.881740421117,-0.881695190046,-0.881649950871,-0.881604703592,-0.881559448209,-0.881514184723,-0.881468913135,-0.881423633444,-0.881378345652,-0.881333049758,-0.881287745763,-0.881242433667,-0.881197113471,-0.881151785176,-0.881106448781,-0.881061104287,-0.881015751694,-0.880970391004,-0.880925022216,-0.88087964533,-0.880834260348,-0.880788867269,-0.880743466094,-0.880698056824,-0.880652639458,-0.880607213998,-0.880561780443,-0.880516338794,-0.880470889052,-0.880425431217,-0.880379965289,-0.880334491269,-0.880289009157,-0.880243518953,-0.880198020659,-0.880152514274,-0.880106999798,-0.880061477233,-0.880015946579,-0.879970407836,-0.879924861004,-0.879879306084,-0.879833743076,-0.879788171982,-0.8797425928,-0.879697005532,-0.879651410178,-0.879605806739,-0.879560195214,-0.879514575604,-0.879468947911,-0.879423312133,-0.879377668272,-0.879332016328,-0.879286356301,-0.879240688192,-0.879195012001,-0.879149327729,-0.879103635376,-0.879057934942,-0.879012226429,-0.878966509835,-0.878920785162,-0.878875052411,-0.878829311581,-0.878783562673,-0.878737805687,-0.878692040625,-0.878646267485,-0.878600486269,-0.878554696977,-0.87850889961,-0.878463094168,-0.878417280651,-0.87837145906,-0.878325629395,-0.878279791657,-0.878233945845,-0.878188091961,-0.878142230005,-0.878096359978,-0.878050481879,-0.878004595709,-0.877958701469,-0.877912799159,-0.877866888779,-0.87782097033,-0.877775043812,-0.877729109226,-0.877683166572,-0.877637215851,-0.877591257062,-0.877545290207,-0.877499315286,-0.877453332299,-0.877407341246,-0.877361342129,-0.877315334947,-0.877269319701,-0.877223296392,-0.877177265019,-0.877131225583,-0.877085178085,-0.877039122525,-0.876993058903,-0.87694698722,-0.876900907477,-0.876854819673,-0.876808723809,-0.876762619886,-0.876716507904,-0.876670387863,-0.876624259764,-0.876578123608,-0.876531979394,-0.876485827123,-0.876439666796,-0.876393498412,-0.876347321973,-0.876301137479,-0.87625494493,-0.876208744327,-0.87616253567,-0.876116318959,-0.876070094195,-0.876023861379,-0.87597762051,-0.87593137159,-0.875885114618,-0.875838849595,-0.875792576522,-0.875746295399,-0.875700006226,-0.875653709003,-0.875607403732,-0.875561090413,-0.875514769045,-0.87546843963,-0.875422102168,-0.875375756659,-0.875329403104,-0.875283041503,-0.875236671857,-0.875190294165,-0.87514390843,-0.87509751465,-0.875051112826,-0.875004702959,-0.874958285049,-0.874911859097,-0.874865425102,-0.874818983066,-0.874772532989,-0.874726074872,-0.874679608713,-0.874633134516,-0.874586652278,-0.874540162002,-0.874493663687,-0.874447157334,-0.874400642943,-0.874354120515,-0.87430759005,-0.874261051548,-0.874214505011,-0.874167950438,-0.874121387829,-0.874074817186,-0.874028238509,-0.873981651798,-0.873935057053,-0.873888454276,-0.873841843465,-0.873795224623,-0.873748597749,-0.873701962843,-0.873655319907,-0.87360866894,-0.873562009943,-0.873515342917,-0.873468667861,-0.873421984777,-0.873375293664,-0.873328594524,-0.873281887356,-0.873235172161,-0.873188448939,-0.873141717692,-0.873094978418,-0.87304823112,-0.873001475796,-0.872954712448,-0.872907941076,-0.87286116168,-0.872814374261,-0.87276757882,-0.872720775356,-0.87267396387,-0.872627144363,-0.872580316835,-0.872533481286,-0.872486637717,-0.872439786129,-0.872392926521,-0.872346058894,-0.872299183249,-0.872252299586,-0.872205407906,-0.872158508208,-0.872111600493,-0.872064684763,-0.872017761016,-0.871970829254,-0.871923889477,-0.871876941686,-0.87182998588,-0.871783022061,-0.871736050229,-0.871689070383,-0.871642082526,-0.871595086656,-0.871548082775,-0.871501070883,-0.87145405098,-0.871407023067,-0.871359987144,-0.871312943212,-0.87126589127,-0.871218831321,-0.871171763363,-0.871124687398,-0.871077603425,-0.871030511446,-0.87098341146,-0.870936303469,-0.870889187472,-0.87084206347,-0.870794931464,-0.870747791453,-0.870700643438,-0.870653487421,-0.8706063234,-0.870559151377,-0.870511971352,-0.870464783325,-0.870417587298,-0.870370383269,-0.870323171241,-0.870275951212,-0.870228723184,-0.870181487157,-0.870134243132,-0.870086991109,-0.870039731088,-0.869992463069,-0.869945187054,-0.869897903043,-0.869850611035,-0.869803311033,-0.869756003035,-0.869708687042,-0.869661363056,-0.869614031075,-0.869566691101,-0.869519343135,-0.869471987176,-0.869424623225,-0.869377251282,-0.869329871349,-0.869282483424,-0.86923508751,-0.869187683605,-0.869140271711,-0.869092851828,-0.869045423957,-0.868997988098,-0.868950544251,-0.868903092416,-0.868855632595,-0.868808164788,-0.868760688995,-0.868713205216,-0.868665713452,-0.868618213704,-0.868570705971,-0.868523190255,-0.868475666556,-0.868428134873,-0.868380595209,-0.868333047562,-0.868285491934,-0.868237928324,-0.868190356734,-0.868142777164,-0.868095189614,-0.868047594085,-0.867999990577,-0.86795237909,-0.867904759625,-0.867857132183,-0.867809496763,-0.867761853367,-0.867714201995,-0.867666542646,-0.867618875323,-0.867571200024,-0.867523516751,-0.867475825503,-0.867428126282,-0.867380419088,-0.867332703921,-0.867284980782,-0.867237249671,-0.867189510588,-0.867141763534,-0.86709400851,-0.867046245516,-0.866998474552,-0.866950695618,-0.866902908716,-0.866855113845,-0.866807311007,-0.866759500201,-0.866711681428,-0.866663854688,-0.866616019982,-0.866568177311,-0.866520326674,-0.866472468072,-0.866424601505,-0.866376726975,-0.866328844481,-0.866280954025,-0.866233055605,-0.866185149223,-0.86613723488,-0.866089312575,-0.866041382309,-0.865993444082,-0.865945497896,-0.86589754375,-0.865849581645,-0.865801611581,-0.865753633559,-0.865705647579,-0.865657653642,-0.865609651748,-0.865561641897,-0.865513624091,-0.865465598328,-0.865417564611,-0.865369522938,-0.865321473312,-0.865273415731,-0.865225350198,-0.865177276711,-0.865129195272,-0.86508110588,-0.865033008537,-0.864984903243,-0.864936789998,-0.864888668803,-0.864840539658,-0.864792402563,-0.864744257519,-0.864696104527,-0.864647943587,-0.864599774699,-0.864551597864,-0.864503413082,-0.864455220354,-0.86440701968,-0.864358811061,-0.864310594496,-0.864262369987,-0.864214137534,-0.864165897137,-0.864117648797,-0.864069392514,-0.864021128289,-0.863972856122,-0.863924576013,-0.863876287963,-0.863827991973,-0.863779688043,-0.863731376173,-0.863683056364,-0.863634728616,-0.86358639293,-0.863538049305,-0.863489697744,-0.863441338245,-0.86339297081,-0.863344595439,-0.863296212131,-0.863247820889,-0.863199421712,-0.863151014601,-0.863102599555,-0.863054176577,-0.863005745665,-0.862957306821,-0.862908860044,-0.862860405336,-0.862811942697,-0.862763472126,-0.862714993626,-0.862666507196,-0.862618012836,-0.862569510547,-0.86252100033,-0.862472482184,-0.862423956111,-0.862375422111,-0.862326880184,-0.86227833033,-0.862229772551,-0.862181206846,-0.862132633216,-0.862084051662,-0.862035462184,-0.861986864782,-0.861938259456,-0.861889646209,-0.861841025038,-0.861792395946,-0.861743758933,-0.861695113998,-0.861646461143,-0.861597800368,-0.861549131673,-0.861500455059,-0.861451770527,-0.861403078076,-0.861354377707,-0.861305669421,-0.861256953218,-0.861208229099,-0.861159497063,-0.861110757112,-0.861062009245,-0.861013253464,-0.860964489769,-0.86091571816,-0.860866938638,-0.860818151202,-0.860769355855,-0.860720552595,-0.860671741424,-0.860622922341,-0.860574095348,-0.860525260445,-0.860476417632,-0.860427566909,-0.860378708278,-0.860329841738,-0.860280967291,-0.860232084935,-0.860183194673,-0.860134296504,-0.860085390429,-0.860036476449,-0.859987554563,-0.859938624772,-0.859889687077,-0.859840741477,-0.859791787975,-0.859742826569,-0.859693857261,-0.859644880051,-0.859595894939,-0.859546901926,-0.859497901012,-0.859448892197,-0.859399875483,-0.85935085087,-0.859301818357,-0.859252777946,-0.859203729637,-0.85915467343,-0.859105609326,-0.859056537325,-0.859007457429,-0.858958369636,-0.858909273948,-0.858860170365,-0.858811058887,-0.858761939516,-0.858712812251,-0.858663677093,-0.858614534042,-0.858565383099,-0.858516224264,-0.858467057538,-0.858417882922,-0.858368700414,-0.858319510017,-0.858270311731,-0.858221105555,-0.858171891491,-0.858122669538,-0.858073439698,-0.858024201971,-0.857974956357,-0.857925702856,-0.85787644147,-0.857827172198,-0.857777895041,-0.85772861,-0.857679317075,-0.857630016266,-0.857580707574,-0.857531390999,-0.857482066543,-0.857432734204,-0.857383393984,-0.857334045883,-0.857284689901,-0.85723532604,-0.857185954299,-0.857136574679,-0.857087187181,-0.857037791804,-0.85698838855,-0.856938977418,-0.856889558409,-0.856840131525,-0.856790696764,-0.856741254128,-0.856691803616,-0.856642345231,-0.856592878971,-0.856543404838,-0.856493922831,-0.856444432952,-0.8563949352,-0.856345429577,-0.856295916083,-0.856246394717,-0.856196865481,-0.856147328375,-0.8560977834,-0.856048230555,-0.855998669842,-0.855949101261,-0.855899524812,-0.855849940496,-0.855800348313,-0.855750748263,-0.855701140348,-0.855651524567,-0.855601900922,-0.855552269412,-0.855502630037,-0.8554529828,-0.855403327699,-0.855353664735,-0.855303993909,-0.855254315222,-0.855204628673,-0.855154934263,-0.855105231993,-0.855055521863,-0.855005803873,-0.854956078025,-0.854906344317,-0.854856602752,-0.854806853329,-0.854757096049,-0.854707330912,-0.854657557919,-0.85460777707,-0.854557988365,-0.854508191806,-0.854458387392,-0.854408575125,-0.854358755003,-0.854308927029,-0.854259091202,-0.854209247523,-0.854159395992,-0.85410953661,-0.854059669377,-0.854009794293,-0.85395991136,-0.853910020578,-0.853860121946,-0.853810215466,-0.853760301138,-0.853710378962,-0.85366044894,-0.85361051107,-0.853560565355,-0.853510611793,-0.853460650387,-0.853410681135,-0.853360704039,-0.8533107191,-0.853260726316,-0.85321072569,-0.853160717221,-0.853110700911,-0.853060676758,-0.853010644765,-0.85296060493,-0.852910557256,-0.852860501742,-0.852810438388,-0.852760367196,-0.852710288165,-0.852660201296,-0.85261010659,-0.852560004047,-0.852509893667,-0.852459775451,-0.8524096494,-0.852359515513,-0.852309373792,-0.852259224236,-0.852209066847,-0.852158901624,-0.852108728568,-0.85205854768,-0.85200835896,-0.851958162409,-0.851907958027,-0.851857745814,-0.851807525771,-0.851757297898,-0.851707062196,-0.851656818666,-0.851606567307,-0.85155630812,-0.851506041106,-0.851455766266,-0.851405483598,-0.851355193105,-0.851304894787,-0.851254588643,-0.851204274675,-0.851153952883,-0.851103623267,-0.851053285828,-0.851002940566,-0.850952587482,-0.850902226576,-0.850851857849,-0.850801481302,-0.850751096933,-0.850700704745,-0.850650304737,-0.850599896911,-0.850549481266,-0.850499057802,-0.850448626522,-0.850398187424,-0.850347740509,-0.850297285778,-0.850246823231,-0.850196352869,-0.850145874693,-0.850095388702,-0.850044894897,-0.849994393278,-0.849943883847,-0.849893366603,-0.849842841547,-0.849792308679,-0.849741768001,-0.849691219512,-0.849640663212,-0.849590099103,-0.849539527185,-0.849488947457,-0.849438359922,-0.849387764579,-0.849337161428,-0.84928655047,-0.849235931706,-0.849185305136,-0.84913467076,-0.84908402858,-0.849033378594,-0.848982720805,-0.848932055212,-0.848881381815,-0.848830700616,-0.848780011615,-0.848729314812,-0.848678610207,-0.848627897802,-0.848577177596,-0.848526449591,-0.848475713785,-0.848424970181,-0.848374218779,-0.848323459578,-0.848272692579,-0.848221917784,-0.848171135192,-0.848120344803,-0.848069546619,-0.84801874064,-0.847967926866,-0.847917105297,-0.847866275935,-0.847815438779,-0.84776459383,-0.847713741089,-0.847662880555,-0.847612012231,-0.847561136115,-0.847510252208,-0.847459360512,-0.847408461025,-0.84735755375,-0.847306638686,-0.847255715833,-0.847204785193,-0.847153846766,-0.847102900551,-0.84705194655,-0.847000984764,-0.846950015192,-0.846899037834,-0.846848052693,-0.846797059767,-0.846746059058,-0.846695050565,-0.84664403429,-0.846593010233,-0.846541978394,-0.846490938774,-0.846439891373,-0.846388836192,-0.846337773231,-0.846286702491,-0.846235623971,-0.846184537674,-0.846133443598,-0.846082341745,-0.846031232115,-0.845980114708,-0.845928989525,-0.845877856567,-0.845826715834,-0.845775567326,-0.845724411043,-0.845673246987,-0.845622075158,-0.845570895556,-0.845519708182,-0.845468513036,-0.845417310118,-0.84536609943,-0.845314880971,-0.845263654742,-0.845212420744,-0.845161178976,-0.845109929441,-0.845058672137,-0.845007407065,-0.844956134226,-0.844904853621,-0.84485356525,-0.844802269113,-0.84475096521,-0.844699653543,-0.844648334111,-0.844597006916,-0.844545671957,-0.844494329236,-0.844442978752,-0.844391620506,-0.844340254499,-0.84428888073,-0.844237499201,-0.844186109912,-0.844134712864,-0.844083308056,-0.84403189549,-0.843980475166,-0.843929047084,-0.843877611244,-0.843826167648,-0.843774716296,-0.843723257188,-0.843671790324,-0.843620315706,-0.843568833333,-0.843517343207,-0.843465845327,-0.843414339694,-0.843362826308,-0.843311305171,-0.843259776282,-0.843208239642,-0.843156695251,-0.84310514311,-0.84305358322,-0.84300201558,-0.842950440192,-0.842898857056,-0.842847266172,-0.84279566754,-0.842744061162,-0.842692447037,-0.842640825167,-0.842589195551,-0.84253755819,-0.842485913085,-0.842434260236,-0.842382599643,-0.842330931308,-0.842279255229,-0.842227571409,-0.842175879848,-0.842124180545,-0.842072473501,-0.842020758718,-0.841969036194,-0.841917305932,-0.841865567931,-0.841813822191,-0.841762068714,-0.841710307499,-0.841658538548,-0.84160676186,-0.841554977437,-0.841503185278,-0.841451385384,-0.841399577756,-0.841347762394,-0.841295939298,-0.841244108469,-0.841192269908,-0.841140423614,-0.841088569589,-0.841036707833,-0.840984838347,-0.84093296113,-0.840881076183,-0.840829183508,-0.840777283103,-0.84072537497,-0.84067345911,-0.840621535522,-0.840569604208,-0.840517665167,-0.8404657184,-0.840413763908,-0.840361801691,-0.84030983175,-0.840257854084,-0.840205868695,-0.840153875583,-0.840101874749,-0.840049866193,-0.839997849915,-0.839945825916,-0.839893794196,-0.839841754756,-0.839789707597,-0.839737652718,-0.839685590121,-0.839633519805,-0.839581441772,-0.839529356022,-0.839477262555,-0.839425161371,-0.839373052472,-0.839320935857,-0.839268811527,-0.839216679484,-0.839164539726,-0.839112392254,-0.83906023707,-0.839008074174,-0.838955903565,-0.838903725245,-0.838851539214,-0.838799345472,-0.83874714402,-0.838694934859,-0.838642717989,-0.838590493409,-0.838538261122,-0.838486021127,-0.838433773425,-0.838381518017,-0.838329254902,-0.838276984081,-0.838224705555,-0.838172419324,-0.838120125389,-0.83806782375,-0.838015514408,-0.837963197363,-0.837910872615,-0.837858540166,-0.837806200015,-0.837753852163,-0.837701496611,-0.837649133359,-0.837596762407,-0.837544383757,-0.837491997408,-0.83743960336,-0.837387201616,-0.837334792174,-0.837282375035,-0.837229950201,-0.837177517671,-0.837125077445,-0.837072629525,-0.837020173911,-0.836967710603,-0.836915239602,-0.836862760908,-0.836810274522,-0.836757780444,-0.836705278674,-0.836652769214,-0.836600252064,-0.836547727224,-0.836495194694,-0.836442654475,-0.836390106568,-0.836337550974,-0.836284987691,-0.836232416722,-0.836179838066,-0.836127251725,-0.836074657698,-0.836022055985,-0.835969446589,-0.835916829508,-0.835864204743,-0.835811572296,-0.835758932166,-0.835706284354,-0.83565362886,-0.835600965685,-0.835548294829,-0.835495616294,-0.835442930078,-0.835390236183,-0.83533753461,-0.835284825358,-0.835232108429,-0.835179383822,-0.835126651539,-0.835073911579,-0.835021163943,-0.834968408632,-0.834915645647,-0.834862874986,-0.834810096652,-0.834757310645,-0.834704516965,-0.834651715612,-0.834598906587,-0.834546089891,-0.834493265524,-0.834440433486,-0.834387593778,-0.834334746401,-0.834281891355,-0.83422902864,-0.834176158258,-0.834123280207,-0.83407039449,-0.834017501106,-0.833964600056,-0.83391169134,-0.833858774959,-0.833805850914,-0.833752919204,-0.833699979831,-0.833647032794,-0.833594078095,-0.833541115733,-0.83348814571,-0.833435168026,-0.833382182681,-0.833329189675,-0.83327618901,-0.833223180685,-0.833170164702,-0.83311714106,-0.833064109761,-0.833011070804,-0.83295802419,-0.83290496992,-0.832851907994,-0.832798838413,-0.832745761176,-0.832692676286,-0.832639583741,-0.832586483543,-0.832533375692,-0.832480260188,-0.832427137033,-0.832374006226,-0.832320867768,-0.832267721659,-0.832214567901,-0.832161406493,-0.832108237436,-0.83205506073,-0.832001876376,-0.831948684375,-0.831895484727,-0.831842277432,-0.83178906249,-0.831735839904,-0.831682609672,-0.831629371795,-0.831576126274,-0.83152287311,-0.831469612303,-0.831416343852,-0.83136306776,-0.831309784026,-0.83125649265,-0.831203193634,-0.831149886978,-0.831096572682,-0.831043250746,-0.830989921172,-0.83093658396,-0.83088323911,-0.830829886622,-0.830776526498,-0.830723158737,-0.830669783341,-0.830616400309,-0.830563009642,-0.830509611341,-0.830456205406,-0.830402791838,-0.830349370637,-0.830295941803,-0.830242505338,-0.830189061241,-0.830135609513,-0.830082150155,-0.830028683167,-0.829975208549,-0.829921726303,-0.829868236428,-0.829814738925,-0.829761233795,-0.829707721037,-0.829654200653,-0.829600672643,-0.829547137008,-0.829493593747,-0.829440042862,-0.829386484353,-0.829332918221,-0.829279344465,-0.829225763087,-0.829172174087,-0.829118577465,-0.829064973222,-0.829011361359,-0.828957741875,-0.828904114772,-0.82885048005,-0.828796837709,-0.82874318775,-0.828689530173,-0.828635864979,-0.828582192169,-0.828528511742,-0.8284748237,-0.828421128043,-0.828367424771,-0.828313713884,-0.828259995384,-0.828206269271,-0.828152535545,-0.828098794207,-0.828045045258,-0.827991288697,-0.827937524525,-0.827883752743,-0.827829973352,-0.827776186351,-0.827722391741,-0.827668589524,-0.827614779698,-0.827560962265,-0.827507137226,-0.82745330458,-0.827399464328,-0.827345616471,-0.827291761009,-0.827237897943,-0.827184027274,-0.827130149001,-0.827076263125,-0.827022369647,-0.826968468567,-0.826914559885,-0.826860643603,-0.826806719721,-0.826752788238,-0.826698849157,-0.826644902476,-0.826590948197,-0.826536986321,-0.826483016847,-0.826429039776,-0.826375055109,-0.826321062846,-0.826267062987,-0.826213055534,-0.826159040486,-0.826105017845,-0.82605098761,-0.825996949782,-0.825942904362,-0.82588885135,-0.825834790746,-0.825780722552,-0.825726646767,-0.825672563392,-0.825618472428,-0.825564373875,-0.825510267734,-0.825456154004,-0.825402032688,-0.825347903784,-0.825293767294,-0.825239623218,-0.825185471556,-0.82513131231,-0.825077145479,-0.825022971065,-0.824968789066,-0.824914599485,-0.824860402322,-0.824806197576,-0.824751985249,-0.824697765342,-0.824643537853,-0.824589302785,-0.824535060137,-0.824480809911,-0.824426552106,-0.824372286723,-0.824318013762,-0.824263733225,-0.824209445111,-0.824155149421,-0.824100846156,-0.824046535315,-0.8239922169,-0.823937890912,-0.82388355735,-0.823829216215,-0.823774867507,-0.823720511227,-0.823666147376,-0.823611775954,-0.823557396962,-0.8235030104,-0.823448616268,-0.823394214567,-0.823339805298,-0.82328538846,-0.823230964056,-0.823176532084,-0.823122092546,-0.823067645442,-0.823013190772,-0.822958728538,-0.822904258739,-0.822849781376,-0.822795296449,-0.82274080396,-0.822686303908,-0.822631796295,-0.822577281119,-0.822522758383,-0.822468228087,-0.82241369023,-0.822359144814,-0.822304591839,-0.822250031306,-0.822195463214,-0.822140887565,-0.82208630436,-0.822031713597,-0.821977115279,-0.821922509406,-0.821867895977,-0.821813274994,-0.821758646457,-0.821704010367,-0.821649366724,-0.821594715528,-0.821540056781,-0.821485390482,-0.821430716632,-0.821376035231,-0.821321346281,-0.821266649781,-0.821211945733,-0.821157234136,-0.821102514991,-0.821047788299,-0.82099305406,-0.820938312274,-0.820883562943,-0.820828806066,-0.820774041644,-0.820719269678,-0.820664490168,-0.820609703115,-0.820554908519,-0.82050010638,-0.8204452967,-0.820390479478,-0.820335654715,-0.820280822412,-0.820225982569,-0.820171135187,-0.820116280266,-0.820061417807,-0.82000654781,-0.819951670275,-0.819896785204,-0.819841892596,-0.819786992453,-0.819732084774,-0.819677169561,-0.819622246813,-0.819567316531,-0.819512378716,-0.819457433369,-0.819402480489,-0.819347520077,-0.819292552134,-0.81923757666,-0.819182593656,-0.819127603122,-0.819072605059,-0.819017599467,-0.818962586347,-0.8189075657,-0.818852537525,-0.818797501823,-0.818742458595,-0.818687407842,-0.818632349563,-0.818577283759,-0.818522210432,-0.81846712958,-0.818412041206,-0.818356945309,-0.818301841889,-0.818246730948,-0.818191612486,-0.818136486503,-0.818081353,-0.818026211978,-0.817971063436,-0.817915907376,-0.817860743797,-0.817805572701,-0.817750394088,-0.817695207959,-0.817640014313,-0.817584813152,-0.817529604475,-0.817474388284,-0.817419164579,-0.817363933361,-0.817308694629,-0.817253448385,-0.817198194629,-0.817142933361,-0.817087664583,-0.817032388294,-0.816977104494,-0.816921813186,-0.816866514368,-0.816811208042,-0.816755894208,-0.816700572867,-0.816645244018,-0.816589907664,-0.816534563803,-0.816479212437,-0.816423853566,-0.81636848719,-0.816313113311,-0.816257731928,-0.816202343043,-0.816146946655,-0.816091542765,-0.816036131374,-0.815980712482,-0.81592528609,-0.815869852198,-0.815814410807,-0.815758961917,-0.815703505528,-0.815648041642,-0.815592570259,-0.815537091378,-0.815481605002,-0.81542611113,-0.815370609762,-0.8153151009,-0.815259584544,-0.815204060694,-0.815148529351,-0.815092990515,-0.815037444187,-0.814981890367,-0.814926329057,-0.814870760255,-0.814815183964,-0.814759600182,-0.814704008912,-0.814648410153,-0.814592803906,-0.814537190172,-0.81448156895,-0.814425940242,-0.814370304048,-0.814314660369,-0.814259009204,-0.814203350555,-0.814147684422,-0.814092010805,-0.814036329706,-0.813980641124,-0.81392494506,-0.813869241515,-0.813813530489,-0.813757811982,-0.813702085995,-0.81364635253,-0.813590611585,-0.813534863162,-0.813479107261,-0.813423343883,-0.813367573027,-0.813311794696,-0.813256008889,-0.813200215606,-0.813144414849,-0.813088606618,-0.813032790913,-0.812976967734,-0.812921137083,-0.81286529896,-0.812809453365,-0.812753600299,-0.812697739762,-0.812641871755,-0.812585996278,-0.812530113333,-0.812474222918,-0.812418325036,-0.812362419686,-0.812306506869,-0.812250586585,-0.812194658836,-0.81213872362,-0.81208278094,-0.812026830796,-0.811970873187,-0.811914908115,-0.81185893558,-0.811802955583,-0.811746968123,-0.811690973202,-0.811634970821,-0.811578960979,-0.811522943677,-0.811466918916,-0.811410886695,-0.811354847017,-0.811298799881,-0.811242745287,-0.811186683237,-0.811130613731,-0.811074536768,-0.811018452351,-0.810962360479,-0.810906261152,-0.810850154372,-0.810794040139,-0.810737918453,-0.810681789315,-0.810625652726,-0.810569508685,-0.810513357194,-0.810457198253,-0.810401031862,-0.810344858022,-0.810288676733,-0.810232487997,-0.810176291813,-0.810120088182,-0.810063877105,-0.810007658582,-0.809951432613,-0.809895199199,-0.809838958341,-0.80978271004,-0.809726454294,-0.809670191106,-0.809613920476,-0.809557642404,-0.809501356891,-0.809445063937,-0.809388763542,-0.809332455708,-0.809276140435,-0.809219817723,-0.809163487572,-0.809107149985,-0.80905080496,-0.808994452498,-0.8089380926,-0.808881725267,-0.808825350499,-0.808768968296,-0.808712578659,-0.808656181588,-0.808599777085,-0.808543365149,-0.808486945781,-0.808430518982,-0.808374084751,-0.808317643091,-0.808261194,-0.80820473748,-0.808148273531,-0.808091802154,-0.80803532335,-0.807978837117,-0.807922343458,-0.807865842373,-0.807809333862,-0.807752817926,-0.807696294565,-0.80763976378,-0.807583225572,-0.80752667994,-0.807470126886,-0.807413566409,-0.807356998511,-0.807300423192,-0.807243840452,-0.807187250293,-0.807130652714,-0.807074047716,-0.807017435299,-0.806960815464,-0.806904188213,-0.806847553544,-0.806790911459,-0.806734261958,-0.806677605041,-0.80662094071,-0.806564268965,-0.806507589806,-0.806450903233,-0.806394209248,-0.806337507851,-0.806280799042,-0.806224082821,-0.806167359191,-0.80611062815,-0.806053889699,-0.805997143839,-0.805940390571,-0.805883629895,-0.805826861811,-0.805770086321,-0.805713303423,-0.80565651312,-0.805599715412,-0.805542910298,-0.80548609778,-0.805429277859,-0.805372450534,-0.805315615806,-0.805258773676,-0.805201924144,-0.805145067211,-0.805088202877,-0.805031331143,-0.804974452009,-0.804917565476,-0.804860671545,-0.804803770215,-0.804746861488,-0.804689945364,-0.804633021843,-0.804576090926,-0.804519152614,-0.804462206907,-0.804405253805,-0.804348293309,-0.80429132542,-0.804234350139,-0.804177367464,-0.804120377398,-0.804063379941,-0.804006375093,-0.803949362854,-0.803892343226,-0.803835316209,-0.803778281803,-0.803721240009,-0.803664190827,-0.803607134258,-0.803550070303,-0.803492998961,-0.803435920234,-0.803378834122,-0.803321740625,-0.803264639745,-0.803207531481,-0.803150415834,-0.803093292804,-0.803036162393,-0.802979024601,-0.802921879428,-0.802864726874,-0.802807566941,-0.802750399628,-0.802693224937,-0.802636042867,-0.80257885342,-0.802521656596,-0.802464452395,-0.802407240818,-0.802350021866,-0.802292795538,-0.802235561836,-0.80217832076,-0.802121072311,-0.802063816488,-0.802006553293,-0.801949282727,-0.801892004789,-0.80183471948,-0.801777426801,-0.801720126752,-0.801662819334,-0.801605504547,-0.801548182392,-0.801490852869,-0.80143351598,-0.801376171723,-0.801318820101,-0.801261461113,-0.80120409476,-0.801146721042,-0.80108933996,-0.801031951515,-0.800974555708,-0.800917152537,-0.800859742005,-0.800802324112,-0.800744898857,-0.800687466243,-0.800630026269,-0.800572578935,-0.800515124243,-0.800457662193,-0.800400192785,-0.80034271602,-0.800285231898,-0.80022774042,-0.800170241587,-0.800112735399,-0.800055221856,-0.799997700959,-0.799940172709,-0.799882637106,-0.799825094151,-0.799767543844,-0.799709986186,-0.799652421176,-0.799594848817,-0.799537269108,-0.79947968205,-0.799422087643,-0.799364485888,-0.799306876785,-0.799249260335,-0.799191636539,-0.799134005397,-0.799076366909,-0.799018721077,-0.7989610679,-0.798903407379,-0.798845739515,-0.798788064308,-0.798730381758,-0.798672691867,-0.798614994635,-0.798557290062,-0.798499578149,-0.798441858896,-0.798384132304,-0.798326398373,-0.798268657105,-0.798210908499,-0.798153152556,-0.798095389276,-0.798037618661,-0.79797984071,-0.797922055424,-0.797864262804,-0.79780646285,-0.797748655563,-0.797690840943,-0.797633018991,-0.797575189708,-0.797517353093,-0.797459509147,-0.797401657872,-0.797343799267,-0.797285933333,-0.79722806007,-0.79717017948,-0.797112291562,-0.797054396317,-0.796996493746,-0.796938583849,-0.796880666627,-0.79682274208,-0.796764810208,-0.796706871013,-0.796648924495,-0.796590970655,-0.796533009492,-0.796475041008,-0.796417065202,-0.796359082076,-0.79630109163,-0.796243093865,-0.796185088781,-0.796127076378,-0.796069056658,-0.79601102962,-0.795952995266,-0.795894953595,-0.795836904609,-0.795778848307,-0.795720784691,-0.795662713761,-0.795604635517,-0.79554654996,-0.795488457091,-0.79543035691,-0.795372249417,-0.795314134613,-0.7952560125,-0.795197883076,-0.795139746343,-0.795081602301,-0.795023450951,-0.794965292293,-0.794907126328,-0.794848953057,-0.794790772479,-0.794732584596,-0.794674389408,-0.794616186915,-0.794557977119,-0.794499760019,-0.794441535616,-0.794383303911,-0.794325064904,-0.794266818596,-0.794208564987,-0.794150304078,-0.794092035869,-0.794033760361,-0.793975477554,-0.79391718745,-0.793858890048,-0.793800585349,-0.793742273353,-0.793683954062,-0.793625627475,-0.793567293593,-0.793508952417,-0.793450603948,-0.793392248185,-0.793333885129,-0.793275514781,-0.793217137142,-0.793158752211,-0.79310035999,-0.793041960479,-0.792983553679,-0.79292513959,-0.792866718212,-0.792808289546,-0.792749853593,-0.792691410353,-0.792632959827,-0.792574502015,-0.792516036918,-0.792457564537,-0.792399084871,-0.792340597922,-0.79228210369,-0.792223602175,-0.792165093378,-0.7921065773,-0.792048053941,-0.791989523302,-0.791930985383,-0.791872440184,-0.791813887707,-0.791755327952,-0.791696760919,-0.791638186609,-0.791579605023,-0.79152101616,-0.791462420022,-0.791403816609,-0.791345205921,-0.79128658796,-0.791227962725,-0.791169330218,-0.791110690438,-0.791052043386,-0.790993389064,-0.790934727471,-0.790876058607,-0.790817382474,-0.790758699072,-0.790700008402,-0.790641310463,-0.790582605257,-0.790523892785,-0.790465173046,-0.790406446041,-0.790347711771,-0.790288970236,-0.790230221437,-0.790171465375,-0.790112702049,-0.790053931461,-0.789995153611,-0.789936368499,-0.789877576127,-0.789818776494,-0.789759969601,-0.789701155449,-0.789642334038,-0.789583505369,-0.789524669442,-0.789465826258,-0.789406975818,-0.789348118121,-0.789289253169,-0.789230380962,-0.7891715015,-0.789112614785,-0.789053720816,-0.788994819595,-0.788935911121,-0.788876995395,-0.788818072418,-0.788759142191,-0.788700204714,-0.788641259986,-0.78858230801,-0.788523348786,-0.788464382313,-0.788405408593,-0.788346427627,-0.788287439414,-0.788228443955,-0.788169441251,-0.788110431302,-0.788051414109,-0.787992389673,-0.787933357993,-0.787874319071,-0.787815272907,-0.787756219501,-0.787697158855,-0.787638090968,-0.787579015842,-0.787519933476,-0.787460843872,-0.787401747029,-0.787342642949,-0.787283531631,-0.787224413078,-0.787165287288,-0.787106154262,-0.787047014002,-0.786987866507,-0.786928711779,-0.786869549817,-0.786810380623,-0.786751204196,-0.786692020538,-0.786632829648,-0.786573631529,-0.786514426179,-0.786455213599,-0.786395993791,-0.786336766754,-0.786277532489,-0.786218290997,-0.786159042279,-0.786099786334,-0.786040523163,-0.785981252768,-0.785921975148,-0.785862690303,-0.785803398236,-0.785744098945,-0.785684792432,-0.785625478697,-0.785566157741,-0.785506829564,-0.785447494167,-0.78538815155,-0.785328801714,-0.78526944466,-0.785210080387,-0.785150708897,-0.78509133019,-0.785031944267,-0.784972551128,-0.784913150773,-0.784853743204,-0.78479432842,-0.784734906423,-0.784675477213,-0.78461604079,-0.784556597156,-0.784497146309,-0.784437688252,-0.784378222984,-0.784318750507,-0.78425927082,-0.784199783925,-0.784140289821,-0.78408078851,-0.784021279991,-0.783961764266,-0.783902241336,-0.783842711199,-0.783783173858,-0.783723629312,-0.783664077562,-0.78360451861,-0.783544952454,-0.783485379096,-0.783425798537,-0.783366210777,-0.783306615816,-0.783247013655,-0.783187404294,-0.783127787735,-0.783068163977,-0.783008533022,-0.782948894869,-0.78288924952,-0.782829596975,-0.782769937233,-0.782710270297,-0.782650596167,-0.782590914842,-0.782531226324,-0.782471530613,-0.78241182771,-0.782352117615,-0.782292400329,-0.782232675852,-0.782172944185,-0.782113205328,-0.782053459283,-0.781993706049,-0.781933945627,-0.781874178018,-0.781814403222,-0.781754621239,-0.781694832071,-0.781635035718,-0.78157523218,-0.781515421458,-0.781455603552,-0.781395778464,-0.781335946193,-0.78127610674,-0.781216260106,-0.781156406291,-0.781096545296,-0.781036677122,-0.780976801768,-0.780916919235,-0.780857029525,-0.780797132637,-0.780737228572,-0.780677317331,-0.780617398914,-0.780557473322,-0.780497540555,-0.780437600613,-0.780377653499,-0.780317699211,-0.78025773775,-0.780197769118,-0.780137793314,-0.78007781034,-0.780017820195,-0.77995782288,-0.779897818396,-0.779837806744,-0.779777787923,-0.779717761935,-0.77965772878,-0.779597688458,-0.779537640971,-0.779477586318,-0.7794175245,-0.779357455518,-0.779297379373,-0.779237296064,-0.779177205593,-0.779117107959,-0.779057003164,-0.778996891209,-0.778936772093,-0.778876645817,-0.778816512381,-0.778756371788,-0.778696224036,-0.778636069126,-0.778575907059,-0.778515737836,-0.778455561457,-0.778395377922,-0.778335187233,-0.778274989389,-0.778214784392,-0.778154572241,-0.778094352938,-0.778034126482,-0.777973892876,-0.777913652118,-0.777853404209,-0.777793149151,-0.777732886944,-0.777672617588,-0.777612341083,-0.777552057431,-0.777491766632,-0.777431468687,-0.777371163595,-0.777310851358,-0.777250531976,-0.77719020545,-0.77712987178,-0.777069530967,-0.777009183011,-0.776948827913,-0.776888465673,-0.776828096293,-0.776767719772,-0.776707336111,-0.776646945311,-0.776586547372,-0.776526142295,-0.77646573008,-0.776405310728,-0.776344884239,-0.776284450615,-0.776224009855,-0.77616356196,-0.776103106931,-0.776042644768,-0.775982175472,-0.775921699043,-0.775861215483,-0.77580072479,-0.775740226967,-0.775679722013,-0.775619209929,-0.775558690716,-0.775498164374,-0.775437630904,-0.775377090306,-0.775316542582,-0.77525598773,-0.775195425753,-0.77513485665,-0.775074280423,-0.775013697071,-0.774953106595,-0.774892508996,-0.774831904274,-0.774771292431,-0.774710673466,-0.774650047379,-0.774589414173,-0.774528773846,-0.774468126401,-0.774407471836,-0.774346810154,-0.774286141353,-0.774225465436,-0.774164782402,-0.774104092252,-0.774043394987,-0.773982690607,-0.773921979112,-0.773861260504,-0.773800534783,-0.773739801949,-0.773679062003,-0.773618314946,-0.773557560778,-0.773496799499,-0.77343603111,-0.773375255613,-0.773314473006,-0.773253683291,-0.773192886469,-0.77313208254,-0.773071271504,-0.773010453363,-0.772949628116,-0.772888795764,-0.772827956308,-0.772767109748,-0.772706256086,-0.77264539532,-0.772584527453,-0.772523652484,-0.772462770415,-0.772401881245,-0.772340984975,-0.772280081606,-0.772219171139,-0.772158253573,-0.77209732891,-0.77203639715,-0.771975458294,-0.771914512342,-0.771853559294,-0.771792599152,-0.771731631916,-0.771670657586,-0.771609676163,-0.771548687647,-0.77148769204,-0.771426689341,-0.771365679552,-0.771304662672,-0.771243638702,-0.771182607644,-0.771121569497,-0.771060524262,-0.770999471939,-0.77093841253,-0.770877346034,-0.770816272453,-0.770755191786,-0.770694104035,-0.7706330092,-0.770571907281,-0.77051079828,-0.770449682196,-0.77038855903,-0.770327428783,-0.770266291455,-0.770205147047,-0.77014399556,-0.770082836993,-0.770021671348,-0.769960498626,-0.769899318826,-0.769838131949,-0.769776937996,-0.769715736967,-0.769654528864,-0.769593313685,-0.769532091433,-0.769470862108,-0.76940962571,-0.769348382239,-0.769287131697,-0.769225874083,-0.769164609399,-0.769103337646,-0.769042058822,-0.76898077293,-0.76891947997,-0.768858179941,-0.768796872846,-0.768735558684,-0.768674237456,-0.768612909162,-0.768551573804,-0.768490231381,-0.768428881894,-0.768367525344,-0.768306161731,-0.768244791057,-0.768183413321,-0.768122028523,-0.768060636666,-0.767999237748,-0.767937831772,-0.767876418736,-0.767814998642,-0.767753571491,-0.767692137283,-0.767630696018,-0.767569247698,-0.767507792322,-0.767446329891,-0.767384860406,-0.767323383868,-0.767261900276,-0.767200409632,-0.767138911936,-0.767077407188,-0.76701589539,-0.766954376542,-0.766892850643,-0.766831317696,-0.7667697777,-0.766708230657,-0.766646676565,-0.766585115427,-0.766523547243,-0.766461972013,-0.766400389738,-0.766338800418,-0.766277204054,-0.766215600647,-0.766153990196,-0.766092372704,-0.76603074817,-0.765969116594,-0.765907477978,-0.765845832322,-0.765784179626,-0.765722519892,-0.765660853119,-0.765599179308,-0.76553749846,-0.765475810575,-0.765414115655,-0.765352413699,-0.765290704707,-0.765228988682,-0.765167265622,-0.76510553553,-0.765043798405,-0.764982054247,-0.764920303058,-0.764858544838,-0.764796779588,-0.764735007308,-0.764673227998,-0.76461144166,-0.764549648293,-0.7644878479,-0.764426040479,-0.764364226031,-0.764302404558,-0.764240576059,-0.764178740536,-0.764116897989,-0.764055048418,-0.763993191824,-0.763931328207,-0.763869457569,-0.763807579909,-0.763745695228,-0.763683803528,-0.763621904807,-0.763559999068,-0.76349808631,-0.763436166534,-0.763374239741,-0.763312305931,-0.763250365105,-0.763188417263,-0.763126462407,-0.763064500535,-0.76300253165,-0.762940555752,-0.76287857284,-0.762816582917,-0.762754585981,-0.762692582035,-0.762630571078,-0.762568553112,-0.762506528136,-0.762444496151,-0.762382457158,-0.762320411157,-0.762258358149,-0.762196298135,-0.762134231114,-0.762072157089,-0.762010076058,-0.761947988023,-0.761885892985,-0.761823790943,-0.761761681899,-0.761699565854,-0.761637442806,-0.761575312758,-0.76151317571,-0.761451031662,-0.761388880615,-0.761326722569,-0.761264557525,-0.761202385484,-0.761140206446,-0.761078020412,-0.761015827383,-0.760953627358,-0.760891420339,-0.760829206325,-0.760766985319,-0.760704757319,-0.760642522328,-0.760580280344,-0.76051803137,-0.760455775405,-0.76039351245,-0.760331242506,-0.760268965573,-0.760206681651,-0.760144390742,-0.760082092846,-0.760019787964,-0.759957476095,-0.759895157241,-0.759832831403,-0.75977049858,-0.759708158773,-0.759645811984,-0.759583458211,-0.759521097457,-0.759458729722,-0.759396355006,-0.759333973309,-0.759271584633,-0.759209188978,-0.759146786345,-0.759084376733,-0.759021960145,-0.758959536579,-0.758897106037,-0.75883466852,-0.758772224027,-0.75870977256,-0.75864731412,-0.758584848705,-0.758522376319,-0.75845989696,-0.758397410629,-0.758334917327,-0.758272417055,-0.758209909813,-0.758147395602,-0.758084874422,-0.758022346273,-0.757959811158,-0.757897269075,-0.757834720026,-0.757772164011,-0.75770960103,-0.757647031085,-0.757584454176,-0.757521870303,-0.757459279468,-0.757396681669,-0.75733407691,-0.757271465188,-0.757208846506,-0.757146220865,-0.757083588263,-0.757020948703,-0.756958302184,-0.756895648707,-0.756832988273,-0.756770320883,-0.756707646536,-0.756644965234,-0.756582276977,-0.756519581766,-0.756456879601,-0.756394170483,-0.756331454412,-0.756268731389,-0.756206001414,-0.756143264489,-0.756080520614,-0.756017769788,-0.755955012014,-0.755892247291,-0.75582947562,-0.755766697001,-0.755703911436,-0.755641118924,-0.755578319467,-0.755515513065,-0.755452699718,-0.755389879427,-0.755327052193,-0.755264218016,-0.755201376897,-0.755138528836,-0.755075673834,-0.755012811891,-0.754949943009,-0.754887067187,-0.754824184426,-0.754761294728,-0.754698398092,-0.754635494518,-0.754572584008,-0.754509666563,-0.754446742182,-0.754383810866,-0.754320872617,-0.754257927433,-0.754194975317,-0.754132016268,-0.754069050288,-0.754006077376,-0.753943097533,-0.753880110761,-0.753817117059,-0.753754116428,-0.753691108869,-0.753628094382,-0.753565072968,-0.753502044627,-0.75343900936,-0.753375967167,-0.75331291805,-0.753249862009,-0.753186799044,-0.753123729155,-0.753060652344,-0.752997568612,-0.752934477957,-0.752871380382,-0.752808275887,-0.752745164472,-0.752682046138,-0.752618920886,-0.752555788715,-0.752492649627,-0.752429503623,-0.752366350702,-0.752303190866,-0.752240024115,-0.752176850449,-0.75211366987,-0.752050482377,-0.751987287971,-0.751924086654,-0.751860878424,-0.751797663284,-0.751734441234,-0.751671212274,-0.751607976404,-0.751544733626,-0.75148148394,-0.751418227347,-0.751354963846,-0.75129169344,-0.751228416127,-0.75116513191,-0.751101840788,-0.751038542762,-0.750975237832,-0.750911926,-0.750848607265,-0.750785281629,-0.750721949092,-0.750658609655,-0.750595263317,-0.75053191008,-0.750468549945,-0.750405182911,-0.75034180898,-0.750278428151,-0.750215040427,-0.750151645806,-0.750088244291,-0.75002483588,-0.749961420576,-0.749897998378,-0.749834569287,-0.749771133304,-0.749707690429,-0.749644240663,-0.749580784006,-0.74951732046,-0.749453850024,-0.749390372699,-0.749326888486,-0.749263397385,-0.749199899398,-0.749136394523,-0.749072882763,-0.749009364118,-0.748945838588,-0.748882306173,-0.748818766875,-0.748755220695,-0.748691667631,-0.748628107686,-0.74856454086,-0.748500967153,-0.748437386566,-0.748373799099,-0.748310204754,-0.74824660353,-0.748182995429,-0.74811938045,-0.748055758595,-0.747992129864,-0.747928494258,-0.747864851777,-0.747801202421,-0.747737546192,-0.74767388309,-0.747610213115,-0.747546536269,-0.747482852551,-0.747419161963,-0.747355464504,-0.747291760176,-0.747228048979,-0.747164330913,-0.74710060598,-0.74703687418,-0.746973135513,-0.74690938998,-0.746845637581,-0.746781878318,-0.746718112191,-0.746654339199,-0.746590559345,-0.746526772628,-0.74646297905,-0.74639917861,-0.746335371309,-0.746271557148,-0.746207736127,-0.746143908248,-0.74608007351,-0.746016231914,-0.745952383461,-0.745888528152,-0.745824665986,-0.745760796965,-0.745696921089,-0.745633038359,-0.745569148775,-0.745505252338,-0.745441349049,-0.745377438907,-0.745313521914,-0.745249598071,-0.745185667377,-0.745121729834,-0.745057785441,-0.744993834201,-0.744929876112,-0.744865911176,-0.744801939394,-0.744737960765,-0.744673975291,-0.744609982972,-0.744545983809,-0.744481977802,-0.744417964952,-0.74435394526,-0.744289918725,-0.74422588535,-0.744161845133,-0.744097798076,-0.74403374418,-0.743969683445,-0.743905615871,-0.743841541459,-0.74377746021,-0.743713372125,-0.743649277203,-0.743585175447,-0.743521066855,-0.743456951429,-0.743392829169,-0.743328700076,-0.74326456415,-0.743200421393,-0.743136271804,-0.743072115385,-0.743007952135,-0.742943782056,-0.742879605148,-0.742815421411,-0.742751230847,-0.742687033455,-0.742622829237,-0.742558618193,-0.742494400323,-0.742430175629,-0.74236594411,-0.742301705767,-0.742237460602,-0.742173208614,-0.742108949804,-0.742044684173,-0.741980411721,-0.741916132449,-0.741851846357,-0.741787553447,-0.741723253718,-0.741658947171,-0.741594633807,-0.741530313627,-0.741465986631,-0.741401652819,-0.741337312192,-0.741272964751,-0.741208610497,-0.74114424943,-0.74107988155,-0.741015506858,-0.740951125355,-0.740886737041,-0.740822341918,-0.740757939984,-0.740693531242,-0.740629115692,-0.740564693334,-0.740500264169,-0.740435828197,-0.740371385419,-0.740306935836,-0.740242479449,-0.740178016257,-0.740113546261,-0.740049069463,-0.739984585862,-0.73992009546,-0.739855598256,-0.739791094251,-0.739726583447,-0.739662065843,-0.739597541441,-0.73953301024,-0.739468472242,-0.739403927446,-0.739339375854,-0.739274817467,-0.739210252284,-0.739145680306,-0.739081101534,-0.739016515969,-0.738951923611,-0.738887324461,-0.738822718519,-0.738758105785,-0.738693486262,-0.738628859948,-0.738564226845,-0.738499586954,-0.738434940274,-0.738370286807,-0.738305626552,-0.738240959512,-0.738176285686,-0.738111605074,-0.738046917678,-0.737982223498,-0.737917522535,-0.737852814788,-0.73778810026,-0.73772337895,-0.737658650859,-0.737593915988,-0.737529174337,-0.737464425906,-0.737399670697,-0.73733490871,-0.737270139946,-0.737205364405,-0.737140582087,-0.737075792994,-0.737010997126,-0.736946194484,-0.736881385067,-0.736816568877,-0.736751745915,-0.736686916181,-0.736622079675,-0.736557236398,-0.736492386351,-0.736427529534,-0.736362665948,-0.736297795594,-0.736232918472,-0.736168034582,-0.736103143926,-0.736038246504,-0.735973342316,-0.735908431363,-0.735843513646,-0.735778589166,-0.735713657922,-0.735648719916,-0.735583775147,-0.735518823618,-0.735453865327,-0.735388900277,-0.735323928467,-0.735258949898,-0.73519396457,-0.735128972485,-0.735063973643,-0.734998968044,-0.73493395569,-0.73486893658,-0.734803910715,-0.734738878096,-0.734673838723,-0.734608792598,-0.73454373972,-0.73447868009,-0.73441361371,-0.734348540578,-0.734283460697,-0.734218374066,-0.734153280687,-0.734088180559,-0.734023073684,-0.733957960061,-0.733892839693,-0.733827712578,-0.733762578719,-0.733697438115,-0.733632290766,-0.733567136675,-0.733501975841,-0.733436808264,-0.733371633946,-0.733306452887,-0.733241265087,-0.733176070548,-0.733110869269,-0.733045661252,-0.732980446497,-0.732915225005,-0.732849996775,-0.73278476181,-0.732719520109,-0.732654271672,-0.732589016502,-0.732523754598,-0.73245848596,-0.73239321059,-0.732327928488,-0.732262639654,-0.73219734409,-0.732132041795,-0.732066732771,-0.732001417018,-0.731936094537,-0.731870765327,-0.731805429391,-0.731740086728,-0.731674737338,-0.731609381224,-0.731544018385,-0.731478648821,-0.731413272534,-0.731347889524,-0.731282499791,-0.731217103337,-0.731151700162,-0.731086290265,-0.731020873649,-0.730955450314,-0.73089002026,-0.730824583487,-0.730759139997,-0.73069368979,-0.730628232867,-0.730562769228,-0.730497298874,-0.730431821805,-0.730366338022,-0.730300847526,-0.730235350317,-0.730169846395,-0.730104335763,-0.730038818419,-0.729973294365,-0.729907763601,-0.729842226128,-0.729776681947,-0.729711131057,-0.72964557346,-0.729580009157,-0.729514438147,-0.729448860432,-0.729383276012,-0.729317684887,-0.729252087059,-0.729186482527,-0.729120871293,-0.729055253358,-0.728989628721,-0.728923997383,-0.728858359345,-0.728792714607,-0.728727063171,-0.728661405036,-0.728595740204,-0.728530068674,-0.728464390448,-0.728398705526,-0.728333013909,-0.728267315597,-0.728201610591,-0.728135898892,-0.7280701805,-0.728004455415,-0.727938723639,-0.727872985172,-0.727807240014,-0.727741488167,-0.72767572963,-0.727609964404,-0.727544192491,-0.72747841389,-0.727412628602,-0.727346836628,-0.727281037969,-0.727215232624,-0.727149420595,-0.727083601883,-0.727017776487,-0.726951944408,-0.726886105648,-0.726820260206,-0.726754408083,-0.72668854928,-0.726622683798,-0.726556811636,-0.726490932796,-0.726425047279,-0.726359155084,-0.726293256213,-0.726227350666,-0.726161438444,-0.726095519546,-0.726029593975,-0.72596366173,-0.725897722813,-0.725831777223,-0.725765824961,-0.725699866028,-0.725633900425,-0.725567928152,-0.72550194921,-0.725435963599,-0.72536997132,-0.725303972373,-0.72523796676,-0.72517195448,-0.725105935535,-0.725039909925,-0.72497387765,-0.724907838712,-0.72484179311,-0.724775740846,-0.724709681919,-0.724643616332,-0.724577544084,-0.724511465175,-0.724445379607,-0.72437928738,-0.724313188495,-0.724247082951,-0.724180970751,-0.724114851895,-0.724048726382,-0.723982594214,-0.723916455391,-0.723850309915,-0.723784157784,-0.723717999001,-0.723651833566,-0.723585661479,-0.723519482741,-0.723453297353,-0.723387105314,-0.723320906627,-0.723254701291,-0.723188489307,-0.723122270675,-0.723056045397,-0.722989813472,-0.722923574902,-0.722857329687,-0.722791077828,-0.722724819325,-0.722658554179,-0.72259228239,-0.722526003959,-0.722459718887,-0.722393427175,-0.722327128822,-0.72226082383,-0.722194512199,-0.722128193929,-0.722061869022,-0.721995537478,-0.721929199298,-0.721862854481,-0.72179650303,-0.721730144944,-0.721663780224,-0.72159740887,-0.721531030884,-0.721464646266,-0.721398255016,-0.721331857135,-0.721265452624,-0.721199041483,-0.721132623713,-0.721066199315,-0.720999768288,-0.720933330634,-0.720866886354,-0.720800435448,-0.720733977916,-0.720667513759,-0.720601042978,-0.720534565574,-0.720468081546,-0.720401590897,-0.720335093625,-0.720268589732,-0.720202079219,-0.720135562085,-0.720069038333,-0.720002507961,-0.719935970972,-0.719869427365,-0.719802877141,-0.719736320301,-0.719669756845,-0.719603186774,-0.719536610089,-0.71947002679,-0.719403436878,-0.719336840353,-0.719270237216,-0.719203627467,-0.719137011108,-0.719070388139,-0.71900375856,-0.718937122373,-0.718870479577,-0.718803830173,-0.718737174162,-0.718670511545,-0.718603842322,-0.718537166494,-0.718470484061,-0.718403795023,-0.718337099383,-0.71827039714,-0.718203688294,-0.718136972847,-0.718070250799,-0.718003522151,-0.717936786903,-0.717870045056,-0.71780329661,-0.717736541566,-0.717669779926,-0.717603011688,-0.717536236854,-0.717469455425,-0.717402667402,-0.717335872784,-0.717269071572,-0.717202263767,-0.71713544937,-0.717068628381,-0.717001800802,-0.716934966631,-0.716868125871,-0.716801278521,-0.716734424583,-0.716667564056,-0.716600696943,-0.716533823242,-0.716466942955,-0.716400056082,-0.716333162625,-0.716266262583,-0.716199355957,-0.716132442748,-0.716065522957,-0.715998596584,-0.715931663629,-0.715864724094,-0.715797777979,-0.715730825284,-0.71566386601,-0.715596900158,-0.715529927729,-0.715462948722,-0.715395963139,-0.715328970981,-0.715261972247,-0.715194966939,-0.715127955056,-0.715060936601,-0.714993911573,-0.714926879972,-0.714859841801,-0.714792797058,-0.714725745745,-0.714658687863,-0.714591623411,-0.714524552392,-0.714457474804,-0.714390390649,-0.714323299928,-0.714256202641,-0.714189098789,-0.714121988372,-0.71405487139,-0.713987747846,-0.713920617738,-0.713853481069,-0.713786337838,-0.713719188046,-0.713652031693,-0.713584868781,-0.713517699309,-0.71345052328,-0.713383340692,-0.713316151547,-0.713248955845,-0.713181753587,-0.713114544774,-0.713047329406,-0.712980107484,-0.712912879009,-0.71284564398,-0.712778402399,-0.712711154267,-0.712643899583,-0.712576638349,-0.712509370565,-0.712442096231,-0.71237481535,-0.71230752792,-0.712240233942,-0.712172933418,-0.712105626348,-0.712038312733,-0.711970992572,-0.711903665867,-0.711836332619,-0.711768992827,-0.711701646493,-0.711634293617,-0.7115669342,-0.711499568243,-0.711432195745,-0.711364816708,-0.711297431133,-0.711230039019,-0.711162640368,-0.71109523518,-0.711027823456,-0.710960405196,-0.710892980401,-0.710825549072,-0.710758111209,-0.710690666813,-0.710623215884,-0.710555758424,-0.710488294432,-0.71042082391,-0.710353346857,-0.710285863275,-0.710218373164,-0.710150876526,-0.710083373359,-0.710015863666,-0.709948347446,-0.709880824701,-0.70981329543,-0.709745759636,-0.709678217317,-0.709610668475,-0.70954311311,-0.709475551224,-0.709407982816,-0.709340407888,-0.709272826439,-0.709205238471,-0.709137643984,-0.709070042978,-0.709002435456,-0.708934821416,-0.70886720086,-0.708799573788,-0.7087319402,-0.708664300099,-0.708596653483,-0.708529000354,-0.708461340713,-0.70839367456,-0.708326001895,-0.708258322719,-0.708190637033,-0.708122944838,-0.708055246134,-0.707987540921,-0.707919829201,-0.707852110974,-0.70778438624,-0.707716655,-0.707648917256,-0.707581173006,-0.707513422253,-0.707445664997,-0.707377901238,-0.707310130976,-0.707242354214,-0.70717457095,-0.707106781187,-0.707038984923,-0.706971182161,-0.706903372901,-0.706835557142,-0.706767734887,-0.706699906135,-0.706632070888,-0.706564229145,-0.706496380907,-0.706428526176,-0.706360664951,-0.706292797234,-0.706224923024,-0.706157042323,-0.706089155131,-0.706021261449,-0.705953361278,-0.705885454617,-0.705817541468,-0.705749621831,-0.705681695708,-0.705613763097,-0.705545824001,-0.70547787842,-0.705409926354,-0.705341967804,-0.705274002771,-0.705206031255,-0.705138053257,-0.705070068777,-0.705002077817,-0.704934080376,-0.704866076456,-0.704798066056,-0.704730049179,-0.704662025823,-0.704593995991,-0.704525959682,-0.704457916897,-0.704389867637,-0.704321811903,-0.704253749694,-0.704185681012,-0.704117605858,-0.704049524231,-0.703981436133,-0.703913341564,-0.703845240524,-0.703777133016,-0.703709019038,-0.703640898592,-0.703572771678,-0.703504638297,-0.703436498449,-0.703368352136,-0.703300199358,-0.703232040114,-0.703163874407,-0.703095702237,-0.703027523604,-0.702959338509,-0.702891146952,-0.702822948935,-0.702754744457,-0.70268653352,-0.702618316124,-0.702550092269,-0.702481861957,-0.702413625188,-0.702345381962,-0.702277132281,-0.702208876144,-0.702140613553,-0.702072344508,-0.70200406901,-0.701935787059,-0.701867498656,-0.701799203801,-0.701730902496,-0.70166259474,-0.701594280535,-0.701525959881,-0.701457632779,-0.701389299229,-0.701320959232,-0.701252612789,-0.7011842599,-0.701115900566,-0.701047534787,-0.700979162565,-0.700910783899,-0.700842398791,-0.70077400724,-0.700705609248,-0.700637204816,-0.700568793943,-0.700500376631,-0.70043195288,-0.700363522691,-0.700295086064,-0.700226643001,-0.700158193501,-0.700089737565,-0.700021275194,-0.699952806389,-0.69988433115,-0.699815849477,-0.699747361373,-0.699678866836,-0.699610365868,-0.699541858469,-0.69947334464,-0.699404824382,-0.699336297695,-0.69926776458,-0.699199225037,-0.699130679068,-0.699062126672,-0.698993567851,-0.698925002604,-0.698856430934,-0.698787852839,-0.698719268322,-0.698650677381,-0.69858208002,-0.698513476236,-0.698444866033,-0.698376249409,-0.698307626366,-0.698238996904,-0.698170361024,-0.698101718727,-0.698033070013,-0.697964414883,-0.697895753337,-0.697827085377,-0.697758411002,-0.697689730213,-0.697621043012,-0.697552349398,-0.697483649372,-0.697414942935,-0.697346230088,-0.697277510831,-0.697208785165,-0.69714005309,-0.697071314607,-0.697002569716,-0.696933818419,-0.696865060716,-0.696796296608,-0.696727526095,-0.696658749177,-0.696589965856,-0.696521176132,-0.696452380006,-0.696383577478,-0.69631476855,-0.69624595322,-0.696177131491,-0.696108303363,-0.696039468837,-0.695970627913,-0.695901780591,-0.695832926873,-0.695764066759,-0.695695200249,-0.695626327345,-0.695557448047,-0.695488562356,-0.695419670271,-0.695350771795,-0.695281866927,-0.695212955668,-0.695144038019,-0.69507511398,-0.695006183552,-0.694937246736,-0.694868303532,-0.694799353942,-0.694730397964,-0.694661435601,-0.694592466853,-0.69452349172,-0.694454510203,-0.694385522303,-0.69431652802,-0.694247527356,-0.69417852031,-0.694109506883,-0.694040487076,-0.69397146089,-0.693902428324,-0.693833389381,-0.69376434406,-0.693695292362,-0.693626234288,-0.693557169838,-0.693488099013,-0.693419021814,-0.693349938241,-0.693280848295,-0.693211751976,-0.693142649285,-0.693073540224,-0.693004424791,-0.692935302989,-0.692866174817,-0.692797040277,-0.692727899369,-0.692658752093,-0.692589598451,-0.692520438442,-0.692451272068,-0.692382099329,-0.692312920226,-0.692243734759,-0.692174542929,-0.692105344737,-0.692036140183,-0.691966929269,-0.691897711993,-0.691828488358,-0.691759258364,-0.691690022012,-0.691620779301,-0.691551530233,-0.691482274809,-0.691413013029,-0.691343744893,-0.691274470403,-0.691205189558,-0.691135902361,-0.69106660881,-0.690997308908,-0.690928002653,-0.690858690048,-0.690789371093,-0.690720045788,-0.690650714135,-0.690581376132,-0.690512031783,-0.690442681086,-0.690373324043,-0.690303960654,-0.69023459092,-0.690165214841,-0.690095832419,-0.690026443653,-0.689957048545,-0.689887647095,-0.689818239303,-0.689748825171,-0.689679404699,-0.689609977887,-0.689540544737,-0.689471105249,-0.689401659423,-0.68933220726,-0.689262748761,-0.689193283927,-0.689123812757,-0.689054335254,-0.688984851417,-0.688915361246,-0.688845864744,-0.688776361909,-0.688706852744,-0.688637337248,-0.688567815422,-0.688498287267,-0.688428752784,-0.688359211973,-0.688289664834,-0.688220111369,-0.688150551578,-0.688080985462,-0.68801141302,-0.687941834255,-0.687872249167,-0.687802657755,-0.687733060022,-0.687663455967,-0.687593845591,-0.687524228895,-0.687454605879,-0.687384976545,-0.687315340892,-0.687245698921,-0.687176050634,-0.68710639603,-0.68703673511,-0.686967067875,-0.686897394326,-0.686827714463,-0.686758028287,-0.686688335798,-0.686618636998,-0.686548931886,-0.686479220463,-0.686409502731,-0.686339778689,-0.686270048339,-0.68620031168,-0.686130568714,-0.686060819441,-0.685991063863,-0.685921301978,-0.685851533789,-0.685781759296,-0.685711978499,-0.685642191399,-0.685572397997,-0.685502598293,-0.685432792289,-0.685362979984,-0.685293161379,-0.685223336475,-0.685153505273,-0.685083667773,-0.685013823976,-0.684943973882,-0.684874117492,-0.684804254808,-0.684734385828,-0.684664510555,-0.684594628988,-0.684524741129,-0.684454846978,-0.684384946535,-0.684315039802,-0.684245126779,-0.684175207466,-0.684105281864,-0.684035349975,-0.683965411797,-0.683895467333,-0.683825516583,-0.683755559547,-0.683685596226,-0.683615626621,-0.683545650732,-0.68347566856,-0.683405680106,-0.68333568537,-0.683265684353,-0.683195677056,-0.683125663479,-0.683055643623,-0.682985617488,-0.682915585075,-0.682845546385,-0.682775501419,-0.682705450176,-0.682635392659,-0.682565328866,-0.6824952588,-0.682425182461,-0.682355099848,-0.682285010964,-0.682214915808,-0.682144814381,-0.682074706685,-0.682004592718,-0.681934472483,-0.68186434598,-0.681794213209,-0.681724074172,-0.681653928868,-0.681583777298,-0.681513619464,-0.681443455365,-0.681373285002,-0.681303108377,-0.681232925489,-0.681162736339,-0.681092540928,-0.681022339257,-0.680952131326,-0.680881917135,-0.680811696686,-0.68074146998,-0.680671237016,-0.680600997795,-0.680530752319,-0.680460500587,-0.680390242601,-0.680319978361,-0.680249707867,-0.68017943112,-0.680109148122,-0.680038858872,-0.679968563371,-0.679898261621,-0.67982795362,-0.679757639371,-0.679687318874,-0.679616992129,-0.679546659137,-0.679476319899,-0.679405974416,-0.679335622687,-0.679265264714,-0.679194900498,-0.679124530038,-0.679054153337,-0.678983770393,-0.678913381208,-0.678842985783,-0.678772584118,-0.678702176214,-0.678631762072,-0.678561341691,-0.678490915074,-0.67842048222,-0.67835004313,-0.678279597805,-0.678209146245,-0.678138688451,-0.678068224424,-0.677997754164,-0.677927277673,-0.677856794949,-0.677786305996,-0.677715810812,-0.677645309398,-0.677574801756,-0.677504287886,-0.677433767789,-0.677363241464,-0.677292708913,-0.677222170137,-0.677151625136,-0.677081073911,-0.677010516462,-0.67693995279,-0.676869382896,-0.67679880678,-0.676728224443,-0.676657635886,-0.67658704111,-0.676516440114,-0.6764458329,-0.676375219468,-0.676304599819,-0.676233973953,-0.676163341872,-0.676092703575,-0.676022059064,-0.67595140834,-0.675880751402,-0.675810088251,-0.675739418889,-0.675668743315,-0.675598061531,-0.675527373536,-0.675456679333,-0.675385978921,-0.6753152723,-0.675244559473,-0.675173840439,-0.675103115198,-0.675032383752,-0.674961646102,-0.674890902247,-0.674820152189,-0.674749395929,-0.674678633466,-0.674607864801,-0.674537089936,-0.67446630887,-0.674395521605,-0.674324728141,-0.674253928479,-0.674183122619,-0.674112310562,-0.674041492309,-0.673970667861,-0.673899837217,-0.673829000379,-0.673758157347,-0.673687308122,-0.673616452705,-0.673545591096,-0.673474723296,-0.673403849306,-0.673332969125,-0.673262082756,-0.673191190198,-0.673120291453,-0.67304938652,-0.6729784754,-0.672907558095,-0.672836634605,-0.67276570493,-0.672694769071,-0.672623827029,-0.672552878804,-0.672481924397,-0.672410963809,-0.67233999704,-0.672269024091,-0.672198044963,-0.672127059656,-0.672056068172,-0.671985070509,-0.67191406667,-0.671843056655,-0.671772040465,-0.671701018099,-0.67162998956,-0.671558954847,-0.671487913961,-0.671416866903,-0.671345813674,-0.671274754274,-0.671203688703,-0.671132616963,-0.671061539054,-0.670990454977,-0.670919364732,-0.67084826832,-0.670777165742,-0.670706056998,-0.67063494209,-0.670563821017,-0.67049269378,-0.67042156038,-0.670350420818,-0.670279275094,-0.670208123209,-0.670136965164,-0.670065800959,-0.669994630595,-0.669923454072,-0.669852271392,-0.669781082554,-0.66970988756,-0.66963868641,-0.669567479105,-0.669496265646,-0.669425046032,-0.669353820266,-0.669282588347,-0.669211350276,-0.669140106053,-0.66906885568,-0.668997599157,-0.668926336485,-0.668855067665,-0.668783792696,-0.66871251158,-0.668641224317,-0.668569930908,-0.668498631354,-0.668427325655,-0.668356013813,-0.668284695826,-0.668213371698,-0.668142041427,-0.668070705014,-0.667999362461,-0.667928013768,-0.667856658935,-0.667785297963,-0.667713930854,-0.667642557607,-0.667571178223,-0.667499792702,-0.667428401047,-0.667357003256,-0.667285599331,-0.667214189273,-0.667142773082,-0.667071350759,-0.666999922304,-0.666928487718,-0.666857047002,-0.666785600156,-0.666714147181,-0.666642688078,-0.666571222847,-0.66649975149,-0.666428274006,-0.666356790396,-0.666285300662,-0.666213804803,-0.66614230282,-0.666070794714,-0.665999280486,-0.665927760136,-0.665856233666,-0.665784701074,-0.665713162363,-0.665641617533,-0.665570066585,-0.665498509518,-0.665426946335,-0.665355377035,-0.665283801619,-0.665212220088,-0.665140632443,-0.665069038684,-0.664997438811,-0.664925832826,-0.66485422073,-0.664782602522,-0.664710978203,-0.664639347775,-0.664567711237,-0.664496068591,-0.664424419837,-0.664352764976,-0.664281104008,-0.664209436934,-0.664137763755,-0.664066084472,-0.663994399084,-0.663922707593,-0.663851009999,-0.663779306304,-0.663707596507,-0.66363588061,-0.663564158612,-0.663492430515,-0.66342069632,-0.663348956026,-0.663277209635,-0.663205457148,-0.663133698564,-0.663061933885,-0.662990163111,-0.662918386243,-0.662846603282,-0.662774814228,-0.662703019082,-0.662631217845,-0.662559410516,-0.662487597098,-0.66241577759,-0.662343951994,-0.662272120309,-0.662200282537,-0.662128438678,-0.662056588733,-0.661984732702,-0.661912870587,-0.661841002387,-0.661769128104,-0.661697247738,-0.66162536129,-0.66155346876,-0.66148157015,-0.661409665459,-0.661337754689,-0.66126583784,-0.661193914913,-0.661121985908,-0.661050050826,-0.660978109668,-0.660906162435,-0.660834209126,-0.660762249744,-0.660690284287,-0.660618312758,-0.660546335157,-0.660474351484,-0.66040236174,-0.660330365925,-0.660258364041,-0.660186356089,-0.660114342067,-0.660042321979,-0.659970295823,-0.659898263601,-0.659826225313,-0.659754180961,-0.659682130544,-0.659610074063,-0.659538011519,-0.659465942913,-0.659393868246,-0.659321787517,-0.659249700728,-0.659177607879,-0.659105508972,-0.659033404006,-0.658961292982,-0.658889175901,-0.658817052764,-0.658744923571,-0.658672788323,-0.658600647021,-0.658528499665,-0.658456346256,-0.658384186795,-0.658312021282,-0.658239849717,-0.658167672103,-0.658095488439,-0.658023298725,-0.657951102963,-0.657878901154,-0.657806693297,-0.657734479394,-0.657662259445,-0.657590033451,-0.657517801413,-0.657445563331,-0.657373319206,-0.657301069038,-0.657228812829,-0.657156550578,-0.657084282287,-0.657012007956,-0.656939727587,-0.656867441178,-0.656795148732,-0.656722850249,-0.656650545729,-0.656578235174,-0.656505918583,-0.656433595958,-0.6563612673,-0.656288932608,-0.656216591883,-0.656144245127,-0.65607189234,-0.655999533522,-0.655927168674,-0.655854797797,-0.655782420892,-0.655710037959,-0.655637648999,-0.655565254012,-0.655492853,-0.655420445962,-0.6553480329,-0.655275613814,-0.655203188705,-0.655130757573,-0.65505832042,-0.654985877245,-0.65491342805,-0.654840972835,-0.654768511601,-0.654696044349,-0.654623571078,-0.654551091791,-0.654478606487,-0.654406115167,-0.654333617832,-0.654261114482,-0.654188605119,-0.654116089742,-0.654043568353,-0.653971040953,-0.653898507541,-0.653825968118,-0.653753422686,-0.653680871244,-0.653608313795,-0.653535750337,-0.653463180872,-0.6533906054,-0.653318023923,-0.653245436441,-0.653172842954,-0.653100243463,-0.653027637969,-0.652955026473,-0.652882408975,-0.652809785475,-0.652737155975,-0.652664520476,-0.652591878977,-0.65251923148,-0.652446577984,-0.652373918492,-0.652301253003,-0.652228581519,-0.652155904039,-0.652083220565,-0.652010531097,-0.651937835636,-0.651865134182,-0.651792426737,-0.6517197133,-0.651646993873,-0.651574268456,-0.65150153705,-0.651428799656,-0.651356056274,-0.651283306905,-0.651210551549,-0.651137790207,-0.65106502288,-0.650992249569,-0.650919470274,-0.650846684996,-0.650773893736,-0.650701096494,-0.65062829327,-0.650555484067,-0.650482668883,-0.65040984772,-0.650337020579,-0.65026418746,-0.650191348364,-0.650118503292,-0.650045652244,-0.649972795221,-0.649899932223,-0.649827063252,-0.649754188307,-0.649681307391,-0.649608420502,-0.649535527643,-0.649462628813,-0.649389724013,-0.649316813244,-0.649243896507,-0.649170973802,-0.64909804513,-0.649025110492,-0.648952169888,-0.648879223319,-0.648806270786,-0.648733312289,-0.648660347829,-0.648587377406,-0.648514401022,-0.648441418677,-0.648368430372,-0.648295436107,-0.648222435882,-0.6481494297,-0.64807641756,-0.648003399463,-0.64793037541,-0.647857345401,-0.647784309437,-0.647711267519,-0.647638219647,-0.647565165822,-0.647492106045,-0.647419040316,-0.647345968637,-0.647272891007,-0.647199807427,-0.647126717899,-0.647053622422,-0.646980520998,-0.646907413627,-0.646834300309,-0.646761181046,-0.646688055839,-0.646614924687,-0.646541787591,-0.646468644552,-0.646395495572,-0.64632234065,-0.646249179787,-0.646176012983,-0.646102840241,-0.646029661559,-0.645956476939,-0.645883286382,-0.645810089888,-0.645736887458,-0.645663679092,-0.645590464792,-0.645517244557,-0.645444018389,-0.645370786288,-0.645297548255,-0.645224304291,-0.645151054395,-0.64507779857,-0.645004536816,-0.644931269132,-0.644857995521,-0.644784715982,-0.644711430516,-0.644638139125,-0.644564841807,-0.644491538566,-0.6444182294,-0.644344914311,-0.644271593299,-0.644198266365,-0.64412493351,-0.644051594734,-0.643978250039,-0.643904899424,-0.64383154289,-0.643758180438,-0.643684812069,-0.643611437784,-0.643538057582,-0.643464671465,-0.643391279434,-0.643317881489,-0.64324447763,-0.643171067859,-0.643097652176,-0.643024230582,-0.642950803077,-0.642877369662,-0.642803930339,-0.642730485106,-0.642657033966,-0.642583576919,-0.642510113965,-0.642436645105,-0.642363170341,-0.642289689671,-0.642216203098,-0.642142710622,-0.642069212244,-0.641995707963,-0.641922197782,-0.6418486817,-0.641775159719,-0.641701631838,-0.641628098059,-0.641554558382,-0.641481012809,-0.641407461338,-0.641333903973,-0.641260340712,-0.641186771557,-0.641113196508,-0.641039615566,-0.640966028732,-0.640892436007,-0.64081883739,-0.640745232883,-0.640671622487,-0.640598006201,-0.640524384028,-0.640450755966,-0.640377122018,-0.640303482184,-0.640229836464,-0.64015618486,-0.640082527371,-0.640008863998,-0.639935194743,-0.639861519606,-0.639787838587,-0.639714151688,-0.639640458908,-0.639566760249,-0.639493055711,-0.639419345295,-0.639345629002,-0.639271906831,-0.639198178785,-0.639124444864,-0.639050705068,-0.638976959397,-0.638903207854,-0.638829450437,-0.638755687149,-0.63868191799,-0.63860814296,-0.638534362059,-0.63846057529,-0.638386782652,-0.638312984146,-0.638239179773,-0.638165369533,-0.638091553428,-0.638017731457,-0.637943903622,-0.637870069923,-0.63779623036,-0.637722384936,-0.637648533649,-0.637574676501,-0.637500813493,-0.637426944625,-0.637353069898,-0.637279189313,-0.63720530287,-0.637131410569,-0.637057512413,-0.636983608401,-0.636909698533,-0.636835782812,-0.636761861236,-0.636687933808,-0.636614000527,-0.636540061395,-0.636466116412,-0.636392165579,-0.636318208896,-0.636244246364,-0.636170277984,-0.636096303756,-0.636022323682,-0.635948337761,-0.635874345995,-0.635800348384,-0.635726344929,-0.63565233563,-0.635578320489,-0.635504299505,-0.63543027268,-0.635356240015,-0.635282201509,-0.635208157164,-0.63513410698,-0.635060050958,-0.634985989099,-0.634911921403,-0.634837847872,-0.634763768504,-0.634689683303,-0.634615592267,-0.634541495398,-0.634467392697,-0.634393284164,-0.634319169799,-0.634245049604,-0.634170923579,-0.634096791725,-0.634022654043,-0.633948510532,-0.633874361195,-0.633800206031,-0.633726045041,-0.633651878227,-0.633577705588,-0.633503527125,-0.633429342839,-0.633355152731,-0.633280956801,-0.63320675505,-0.633132547479,-0.633058334088,-0.632984114878,-0.632909889851,-0.632835659005,-0.632761422343,-0.632687179864,-0.63261293157,-0.632538677461,-0.632464417538,-0.632390151801,-0.632315880252,-0.63224160289,-0.632167319717,-0.632093030734,-0.63201873594,-0.631944435337,-0.631870128925,-0.631795816705,-0.631721498678,-0.631647174844,-0.631572845204,-0.631498509759,-0.631424168509,-0.631349821456,-0.631275468599,-0.63120110994,-0.631126745478,-0.631052375216,-0.630977999153,-0.63090361729,-0.630829229628,-0.630754836168,-0.63068043691,-0.630606031855,-0.630531621003,-0.630457204356,-0.630382781914,-0.630308353677,-0.630233919647,-0.630159479824,-0.630085034208,-0.630010582801,-0.629936125603,-0.629861662614,-0.629787193837,-0.62971271927,-0.629638238915,-0.629563752772,-0.629489260843,-0.629414763128,-0.629340259627,-0.629265750341,-0.629191235272,-0.629116714419,-0.629042187783,-0.628967655365,-0.628893117166,-0.628818573186,-0.628744023427,-0.628669467888,-0.62859490657,-0.628520339475,-0.628445766602,-0.628371187953,-0.628296603527,-0.628222013327,-0.628147417352,-0.628072815604,-0.627998208082,-0.627923594788,-0.627848975722,-0.627774350885,-0.627699720278,-0.627625083901,-0.627550441755,-0.627475793841,-0.627401140159,-0.62732648071,-0.627251815495,-0.627177144515,-0.627102467769,-0.627027785259,-0.626953096986,-0.62687840295,-0.626803703152,-0.626728997592,-0.626654286272,-0.626579569192,-0.626504846352,-0.626430117753,-0.626355383397,-0.626280643283,-0.626205897412,-0.626131145786,-0.626056388404,-0.625981625268,-0.625906856378,-0.625832081735,-0.625757301339,-0.625682515191,-0.625607723292,-0.625532925643,-0.625458122244,-0.625383313096,-0.625308498199,-0.625233677555,-0.625158851164,-0.625084019026,-0.625009181143,-0.624934337515,-0.624859488142,-0.624784633026,-0.624709772168,-0.624634905566,-0.624560033224,-0.62448515514,-0.624410271317,-0.624335381754,-0.624260486452,-0.624185585412,-0.624110678635,-0.624035766121,-0.623960847871,-0.623885923886,-0.623810994166,-0.623736058713,-0.623661117526,-0.623586170606,-0.623511217955,-0.623436259572,-0.623361295459,-0.623286325616,-0.623211350044,-0.623136368744,-0.623061381715,-0.62298638896,-0.622911390479,-0.622836386271,-0.622761376339,-0.622686360683,-0.622611339302,-0.622536312199,-0.622461279374,-0.622386240827,-0.62231119656,-0.622236146572,-0.622161090865,-0.622086029439,-0.622010962295,-0.621935889433,-0.621860810855,-0.621785726561,-0.621710636551,-0.621635540827,-0.621560439389,-0.621485332238,-0.621410219374,-0.621335100798,-0.621259976511,-0.621184846514,-0.621109710806,-0.62103456939,-0.620959422265,-0.620884269433,-0.620809110893,-0.620733946647,-0.620658776696,-0.620583601039,-0.620508419679,-0.620433232614,-0.620358039847,-0.620282841378,-0.620207637207,-0.620132427335,-0.620057211763,-0.619981990492,-0.619906763522,-0.619831530854,-0.619756292488,-0.619681048426,-0.619605798668,-0.619530543215,-0.619455282067,-0.619380015225,-0.61930474269,-0.619229464462,-0.619154180543,-0.619078890932,-0.619003595631,-0.618928294641,-0.618852987961,-0.618777675593,-0.618702357537,-0.618627033794,-0.618551704365,-0.61847636925,-0.618401028451,-0.618325681967,-0.6182503298,-0.61817497195,-0.618099608417,-0.618024239204,-0.617948864309,-0.617873483735,-0.617798097481,-0.617722705548,-0.617647307938,-0.61757190465,-0.617496495686,-0.617421081045,-0.61734566073,-0.61727023474,-0.617194803076,-0.617119365739,-0.61704392273,-0.616968474049,-0.616893019697,-0.616817559674,-0.616742093982,-0.616666622621,-0.616591145592,-0.616515662895,-0.616440174531,-0.616364680501,-0.616289180805,-0.616213675445,-0.616138164421,-0.616062647733,-0.615987125382,-0.61591159737,-0.615836063696,-0.615760524361,-0.615684979367,-0.615609428713,-0.615533872401,-0.615458310431,-0.615382742804,-0.61530716952,-0.615231590581,-0.615156005986,-0.615080415737,-0.615004819834,-0.614929218279,-0.614853611071,-0.614777998211,-0.614702379701,-0.61462675554,-0.61455112573,-0.614475490271,-0.614399849164,-0.61432420241,-0.614248550008,-0.614172891961,-0.614097228268,-0.614021558931,-0.61394588395,-0.613870203325,-0.613794517058,-0.613718825149,-0.613643127599,-0.613567424408,-0.613491715578,-0.613416001109,-0.613340281001,-0.613264555255,-0.613188823873,-0.613113086854,-0.613037344199,-0.61296159591,-0.612885841986,-0.612810082429,-0.61273431724,-0.612658546417,-0.612582769964,-0.61250698788,-0.612431200166,-0.612355406822,-0.61227960785,-0.61220380325,-0.612127993022,-0.612052177169,-0.611976355689,-0.611900528584,-0.611824695854,-0.611748857501,-0.611673013525,-0.611597163926,-0.611521308706,-0.611445447865,-0.611369581403,-0.611293709322,-0.611217831622,-0.611141948304,-0.611066059369,-0.610990164816,-0.610914264648,-0.610838358864,-0.610762447465,-0.610686530453,-0.610610607827,-0.610534679588,-0.610458745738,-0.610382806276,-0.610306861204,-0.610230910522,-0.610154954231,-0.610078992332,-0.610003024825,-0.60992705171,-0.60985107299,-0.609775088664,-0.609699098733,-0.609623103198,-0.609547102059,-0.609471095317,-0.609395082973,-0.609319065028,-0.609243041482,-0.609167012336,-0.609090977591,-0.609014937247,-0.608938891305,-0.608862839766,-0.608786782631,-0.608710719899,-0.608634651573,-0.608558577652,-0.608482498137,-0.608406413029,-0.608330322329,-0.608254226037,-0.608178124155,-0.608102016682,-0.608025903619,-0.607949784968,-0.607873660728,-0.607797530901,-0.607721395488,-0.607645254488,-0.607569107903,-0.607492955733,-0.607416797979,-0.607340634643,-0.607264465723,-0.607188291222,-0.607112111139,-0.607035925477,-0.606959734234,-0.606883537412,-0.606807335012,-0.606731127035,-0.60665491348,-0.606578694349,-0.606502469643,-0.606426239361,-0.606350003506,-0.606273762077,-0.606197515076,-0.606121262502,-0.606045004357,-0.605968740642,-0.605892471356,-0.605816196502,-0.605739916078,-0.605663630087,-0.605587338529,-0.605511041404,-0.605434738714,-0.605358430459,-0.605282116639,-0.605205797255,-0.605129472309,-0.605053141801,-0.604976805731,-0.6049004641,-0.604824116909,-0.604747764159,-0.60467140585,-0.604595041983,-0.604518672558,-0.604442297577,-0.60436591704,-0.604289530948,-0.604213139302,-0.604136742101,-0.604060339348,-0.603983931042,-0.603907517184,-0.603831097776,-0.603754672817,-0.603678242308,-0.603601806251,-0.603525364646,-0.603448917493,-0.603372464793,-0.603296006547,-0.603219542756,-0.60314307342,-0.60306659854,-0.602990118117,-0.602913632152,-0.602837140644,-0.602760643596,-0.602684141007,-0.602607632878,-0.60253111921,-0.602454600004,-0.60237807526,-0.602301544979,-0.602225009162,-0.60214846781,-0.602071920922,-0.601995368501,-0.601918810546,-0.601842247059,-0.601765678039,-0.601689103488,-0.601612523407,-0.601535937795,-0.601459346655,-0.601382749986,-0.601306147789,-0.601229540065,-0.601152926815,-0.601076308039,-0.600999683738,-0.600923053913,-0.600846418564,-0.600769777693,-0.600693131299,-0.600616479384,-0.600539821948,-0.600463158992,-0.600386490517,-0.600309816523,-0.600233137011,-0.600156451982,-0.600079761437,-0.600003065375,-0.599926363799,-0.599849656708,-0.599772944104,-0.599696225986,-0.599619502356,-0.599542773215,-0.599466038563,-0.599389298401,-0.599312552729,-0.599235801548,-0.59915904486,-0.599082282664,-0.599005514961,-0.598928741752,-0.598851963039,-0.59877517882,-0.598698389098,-0.598621593873,-0.598544793146,-0.598467986916,-0.598391175186,-0.598314357955,-0.598237535225,-0.598160706996,-0.598083873269,-0.598007034045,-0.597930189323,-0.597853339106,-0.597776483393,-0.597699622186,-0.597622755484,-0.59754588329,-0.597469005603,-0.597392122424,-0.597315233754,-0.597238339593,-0.597161439943,-0.597084534804,-0.597007624177,-0.596930708062,-0.59685378646,-0.596776859373,-0.596699926799,-0.596622988741,-0.596546045199,-0.596469096174,-0.596392141666,-0.596315181676,-0.596238216205,-0.596161245253,-0.596084268822,-0.596007286911,-0.595930299522,-0.595853306656,-0.595776308312,-0.595699304492,-0.595622295197,-0.595545280427,-0.595468260183,-0.595391234465,-0.595314203275,-0.595237166612,-0.595160124479,-0.595083076875,-0.5950060238,-0.594928965257,-0.594851901245,-0.594774831766,-0.594697756819,-0.594620676407,-0.594543590528,-0.594466499185,-0.594389402377,-0.594312300106,-0.594235192372,-0.594158079176,-0.594080960519,-0.594003836401,-0.593926706823,-0.593849571785,-0.59377243129,-0.593695285336,-0.593618133925,-0.593540977058,-0.593463814735,-0.593386646958,-0.593309473725,-0.59323229504,-0.593155110901,-0.593077921311,-0.593000726268,-0.592923525776,-0.592846319833,-0.59276910844,-0.5926918916,-0.592614669311,-0.592537441575,-0.592460208393,-0.592382969764,-0.592305725691,-0.592228476174,-0.592151221212,-0.592073960808,-0.591996694962,-0.591919423674,-0.591842146946,-0.591764864777,-0.591687577169,-0.591610284122,-0.591532985637,-0.591455681715,-0.591378372357,-0.591301057562,-0.591223737333,-0.591146411669,-0.591069080572,-0.590991744041,-0.590914402078,-0.590837054684,-0.590759701859,-0.590682343604,-0.590604979919,-0.590527610805,-0.590450236264,-0.590372856295,-0.5902954709,-0.590218080079,-0.590140683832,-0.590063282161,-0.589985875067,-0.589908462549,-0.589831044609,-0.589753621248,-0.589676192466,-0.589598758263,-0.589521318641,-0.5894438736,-0.589366423141,-0.589288967265,-0.589211505973,-0.589134039264,-0.58905656714,-0.588979089602,-0.58890160665,-0.588824118285,-0.588746624507,-0.588669125318,-0.588591620718,-0.588514110708,-0.588436595288,-0.588359074459,-0.588281548223,-0.588204016579,-0.588126479528,-0.588048937072,-0.58797138921,-0.587893835943,-0.587816277273,-0.5877387132,-0.587661143725,-0.587583568848,-0.587505988569,-0.587428402891,-0.587350811813,-0.587273215337,-0.587195613462,-0.58711800619,-0.587040393521,-0.586962775456,-0.586885151996,-0.586807523142,-0.586729888893,-0.586652249252,-0.586574604218,-0.586496953793,-0.586419297976,-0.58634163677,-0.586263970174,-0.586186298189,-0.586108620815,-0.586030938055,-0.585953249908,-0.585875556375,-0.585797857456,-0.585720153154,-0.585642443467,-0.585564728397,-0.585487007945,-0.585409282111,-0.585331550896,-0.585253814301,-0.585176072327,-0.585098324973,-0.585020572242,-0.584942814133,-0.584865050648,-0.584787281786,-0.584709507549,-0.584631727938,-0.584553942953,-0.584476152595,-0.584398356864,-0.584320555762,-0.584242749289,-0.584164937446,-0.584087120233,-0.584009297651,-0.583931469701,-0.583853636384,-0.5837757977,-0.583697953651,-0.583620104236,-0.583542249456,-0.583464389313,-0.583386523806,-0.583308652938,-0.583230776707,-0.583152895116,-0.583075008164,-0.582997115853,-0.582919218184,-0.582841315156,-0.582763406771,-0.582685493029,-0.582607573931,-0.582529649478,-0.58245171967,-0.582373784509,-0.582295843995,-0.582217898128,-0.58213994691,-0.582061990341,-0.581984028421,-0.581906061153,-0.581828088535,-0.581750110569,-0.581672127256,-0.581594138597,-0.581516144591,-0.581438145241,-0.581360140546,-0.581282130507,-0.581204115125,-0.581126094401,-0.581048068335,-0.580970036929,-0.580892000182,-0.580813958096,-0.580735910671,-0.580657857908,-0.580579799808,-0.580501736371,-0.580423667598,-0.580345593491,-0.580267514049,-0.580189429273,-0.580111339164,-0.580033243723,-0.57995514295,-0.579877036847,-0.579798925413,-0.579720808651,-0.579642686559,-0.579564559139,-0.579486426393,-0.579408288319,-0.57933014492,-0.579251996196,-0.579173842148,-0.579095682775,-0.57901751808,-0.578939348063,-0.578861172724,-0.578782992065,-0.578704806085,-0.578626614786,-0.578548418169,-0.578470216233,-0.578392008981,-0.578313796412,-0.578235578527,-0.578157355327,-0.578079126813,-0.578000892985,-0.577922653845,-0.577844409392,-0.577766159628,-0.577687904553,-0.577609644168,-0.577531378474,-0.577453107472,-0.577374831161,-0.577296549544,-0.57721826262,-0.57713997039,-0.577061672856,-0.576983370017,-0.576905061875,-0.57682674843,-0.576748429682,-0.576670105634,-0.576591776285,-0.576513441636,-0.576435101688,-0.576356756441,-0.576278405897,-0.576200050055,-0.576121688917,-0.576043322484,-0.575964950756,-0.575886573734,-0.575808191418,-0.575729803809,-0.575651410909,-0.575573012717,-0.575494609235,-0.575416200463,-0.575337786402,-0.575259367052,-0.575180942415,-0.575102512491,-0.57502407728,-0.574945636784,-0.574867191004,-0.574788739939,-0.574710283591,-0.57463182196,-0.574553355048,-0.574474882854,-0.57439640538,-0.574317922626,-0.574239434593,-0.574160941282,-0.574082442693,-0.574003938827,-0.573925429686,-0.573846915269,-0.573768395577,-0.573689870611,-0.573611340372,-0.57353280486,-0.573454264077,-0.573375718023,-0.573297166698,-0.573218610104,-0.57314004824,-0.573061481109,-0.57298290871,-0.572904331045,-0.572825748113,-0.572747159916,-0.572668566454,-0.572589967729,-0.572511363741,-0.57243275449,-0.572354139977,-0.572275520204,-0.57219689517,-0.572118264877,-0.572039629325,-0.571960988515,-0.571882342447,-0.571803691123,-0.571725034543,-0.571646372708,-0.571567705618,-0.571489033275,-0.571410355679,-0.57133167283,-0.57125298473,-0.571174291379,-0.571095592778,-0.571016888928,-0.570938179828,-0.570859465481,-0.570780745887,-0.570702021046,-0.57062329096,-0.570544555628,-0.570465815052,-0.570387069232,-0.57030831817,-0.570229561865,-0.570150800319,-0.570072033533,-0.569993261506,-0.56991448424,-0.569835701736,-0.569756913993,-0.569678121014,-0.569599322798,-0.569520519347,-0.569441710661,-0.56936289674,-0.569284077586,-0.5692052532,-0.569126423581,-0.569047588731,-0.568968748651,-0.56888990334,-0.568811052801,-0.568732197033,-0.568653336037,-0.568574469815,-0.568495598366,-0.568416721692,-0.568337839793,-0.56825895267,-0.568180060324,-0.568101162755,-0.568022259964,-0.567943351952,-0.56786443872,-0.567785520268,-0.567706596597,-0.567627667708,-0.567548733601,-0.567469794278,-0.567390849738,-0.567311899983,-0.567232945014,-0.567153984831,-0.567075019434,-0.566996048825,-0.566917073004,-0.566838091973,-0.566759105731,-0.56668011428,-0.566601117619,-0.566522115751,-0.566443108675,-0.566364096393,-0.566285078905,-0.566206056212,-0.566127028314,-0.566047995212,-0.565968956908,-0.565889913401,-0.565810864693,-0.565731810784,-0.565652751674,-0.565573687366,-0.565494617859,-0.565415543154,-0.565336463251,-0.565257378153,-0.565178287858,-0.565099192369,-0.565020091685,-0.564940985808,-0.564861874738,-0.564782758476,-0.564703637022,-0.564624510378,-0.564545378544,-0.564466241521,-0.564387099309,-0.564307951909,-0.564228799323,-0.56414964155,-0.564070478592,-0.563991310449,-0.563912137122,-0.563832958611,-0.563753774918,-0.563674586043,-0.563595391987,-0.56351619275,-0.563436988334,-0.563357778739,-0.563278563965,-0.563199344014,-0.563120118886,-0.563040888582,-0.562961653102,-0.562882412448,-0.56280316662,-0.562723915619,-0.562644659446,-0.562565398101,-0.562486131584,-0.562406859898,-0.562327583042,-0.562248301017,-0.562169013824,-0.562089721464,-0.562010423937,-0.561931121245,-0.561851813387,-0.561772500365,-0.561693182179,-0.56161385883,-0.561534530319,-0.561455196646,-0.561375857813,-0.561296513819,-0.561217164666,-0.561137810355,-0.561058450886,-0.560979086259,-0.560899716477,-0.560820341538,-0.560740961445,-0.560661576197,-0.560582185796,-0.560502790242,-0.560423389537,-0.56034398368,-0.560264572672,-0.560185156514,-0.560105735208,-0.560026308753,-0.55994687715,-0.559867440401,-0.559787998505,-0.559708551464,-0.559629099278,-0.559549641948,-0.559470179475,-0.559390711859,-0.559311239102,-0.559231761203,-0.559152278164,-0.559072789986,-0.558993296668,-0.558913798213,-0.55883429462,-0.55875478589,-0.558675272025,-0.558595753024,-0.558516228889,-0.55843669962,-0.558357165218,-0.558277625683,-0.558198081017,-0.558118531221,-0.558038976294,-0.557959416237,-0.557879851053,-0.55780028074,-0.5577207053,-0.557641124733,-0.557561539041,-0.557481948224,-0.557402352283,-0.557322751218,-0.55724314503,-0.55716353372,-0.557083917289,-0.557004295737,-0.556924669066,-0.556845037275,-0.556765400366,-0.556685758339,-0.556606111196,-0.556526458936,-0.55644680156,-0.55636713907,-0.556287471466,-0.556207798749,-0.556128120919,-0.556048437977,-0.555968749924,-0.555889056761,-0.555809358488,-0.555729655107,-0.555649946617,-0.55557023302,-0.555490514316,-0.555410790506,-0.555331061591,-0.555251327571,-0.555171588448,-0.555091844222,-0.555012094893,-0.554932340463,-0.554852580932,-0.554772816301,-0.55469304657,-0.554613271741,-0.554533491814,-0.55445370679,-0.55437391667,-0.554294121454,-0.554214321142,-0.554134515737,-0.554054705238,-0.553974889647,-0.553895068963,-0.553815243188,-0.553735412323,-0.553655576367,-0.553575735323,-0.55349588919,-0.55341603797,-0.553336181663,-0.55325632027,-0.553176453791,-0.553096582227,-0.55301670558,-0.552936823849,-0.552856937036,-0.552777045142,-0.552697148166,-0.55261724611,-0.552537338974,-0.55245742676,-0.552377509467,-0.552297587097,-0.552217659651,-0.552137727129,-0.552057789531,-0.551977846859,-0.551897899114,-0.551817946295,-0.551737988405,-0.551658025443,-0.55157805741,-0.551498084307,-0.551418106135,-0.551338122894,-0.551258134586,-0.551178141211,-0.551098142769,-0.551018139262,-0.55093813069,-0.550858117053,-0.550778098354,-0.550698074592,-0.550618045768,-0.550538011882,-0.550457972937,-0.550377928931,-0.550297879867,-0.550217825744,-0.550137766564,-0.550057702327,-0.549977633035,-0.549897558687,-0.549817479284,-0.549737394827,-0.549657305318,-0.549577210756,-0.549497111143,-0.549417006478,-0.549336896764,-0.549256782,-0.549176662188,-0.549096537327,-0.54901640742,-0.548936272466,-0.548856132466,-0.548775987421,-0.548695837333,-0.5486156822,-0.548535522025,-0.548455356808,-0.548375186549,-0.54829501125,-0.548214830912,-0.548134645534,-0.548054455118,-0.547974259664,-0.547894059173,-0.547813853646,-0.547733643084,-0.547653427487,-0.547573206857,-0.547492981193,-0.547412750496,-0.547332514768,-0.547252274009,-0.54717202822,-0.547091777401,-0.547011521554,-0.546931260678,-0.546850994775,-0.546770723846,-0.546690447891,-0.546610166911,-0.546529880906,-0.546449589878,-0.546369293827,-0.546288992754,-0.54620868666,-0.546128375545,-0.54604805941,-0.545967738256,-0.545887412083,-0.545807080893,-0.545726744686,-0.545646403463,-0.545566057224,-0.54548570597,-0.545405349703,-0.545324988422,-0.545244622129,-0.545164250824,-0.545083874508,-0.545003493181,-0.544923106845,-0.544842715501,-0.544762319148,-0.544681917788,-0.544601511421,-0.544521100048,-0.544440683671,-0.544360262288,-0.544279835903,-0.544199404514,-0.544118968123,-0.544038526731,-0.543958080338,-0.543877628945,-0.543797172553,-0.543716711162,-0.543636244774,-0.543555773389,-0.543475297007,-0.54339481563,-0.543314329258,-0.543233837893,-0.543153341534,-0.543072840182,-0.542992333838,-0.542911822504,-0.542831306179,-0.542750784865,-0.542670258561,-0.54258972727,-0.542509190991,-0.542428649726,-0.542348103474,-0.542267552238,-0.542186996017,-0.542106434812,-0.542025868625,-0.541945297455,-0.541864721304,-0.541784140172,-0.541703554061,-0.54162296297,-0.5415423669,-0.541461765853,-0.541381159829,-0.541300548828,-0.541219932853,-0.541139311902,-0.541058685977,-0.540978055079,-0.540897419208,-0.540816778366,-0.540736132552,-0.540655481768,-0.540574826015,-0.540494165293,-0.540413499602,-0.540332828945,-0.54025215332,-0.54017147273,-0.540090787174,-0.540010096655,-0.539929401171,-0.539848700725,-0.539767995316,-0.539687284946,-0.539606569616,-0.539525849325,-0.539445124075,-0.539364393867,-0.539283658701,-0.539202918578,-0.539122173499,-0.539041423464,-0.538960668474,-0.538879908531,-0.538799143634,-0.538718373785,-0.538637598984,-0.538556819232,-0.538476034529,-0.538395244877,-0.538314450277,-0.538233650728,-0.538152846232,-0.538072036789,-0.5379912224,-0.537910403067,-0.537829578789,-0.537748749567,-0.537667915402,-0.537587076296,-0.537506232248,-0.537425383259,-0.53734452933,-0.537263670463,-0.537182806656,-0.537101937913,-0.537021064232,-0.536940185615,-0.536859302062,-0.536778413575,-0.536697520154,-0.5366166218,-0.536535718513,-0.536454810295,-0.536373897146,-0.536292979066,-0.536212056057,-0.536131128119,-0.536050195253,-0.53596925746,-0.53588831474,-0.535807367095,-0.535726414524,-0.53564545703,-0.535564494611,-0.53548352727,-0.535402555007,-0.535321577823,-0.535240595718,-0.535159608693,-0.535078616749,-0.534997619887,-0.534916618107,-0.534835611411,-0.534754599798,-0.53467358327,-0.534592561827,-0.534511535471,-0.534430504201,-0.534349468019,-0.534268426926,-0.534187380921,-0.534106330006,-0.534025274182,-0.53394421345,-0.533863147809,-0.533782077261,-0.533701001807,-0.533619921447,-0.533538836183,-0.533457746014,-0.533376650941,-0.533295550966,-0.533214446089,-0.533133336311,-0.533052221633,-0.532971102054,-0.532889977577,-0.532808848202,-0.532727713929,-0.532646574759,-0.532565430693,-0.532484281733,-0.532403127877,-0.532321969128,-0.532240805486,-0.532159636952,-0.532078463526,-0.531997285209,-0.531916102003,-0.531834913907,-0.531753720923,-0.531672523051,-0.531591320292,-0.531510112646,-0.531428900115,-0.5313476827,-0.5312664604,-0.531185233217,-0.531104001151,-0.531022764204,-0.530941522376,-0.530860275667,-0.530779024079,-0.530697767612,-0.530616506266,-0.530535240044,-0.530453968945,-0.53037269297,-0.53029141212,-0.530210126396,-0.530128835798,-0.530047540328,-0.529966239985,-0.529884934771,-0.529803624686,-0.529722309732,-0.529640989908,-0.529559665216,-0.529478335657,-0.52939700123,-0.529315661938,-0.52923431778,-0.529152968758,-0.529071614872,-0.528990256122,-0.52890889251,-0.528827524037,-0.528746150703,-0.528664772508,-0.528583389455,-0.528502001542,-0.528420608772,-0.528339211145,-0.528257808661,-0.528176401321,-0.528094989127,-0.528013572079,-0.527932150177,-0.527850723423,-0.527769291816,-0.527687855359,-0.527606414051,-0.527524967893,-0.527443516887,-0.527362061032,-0.52728060033,-0.527199134782,-0.527117664387,-0.527036189148,-0.526954709064,-0.526873224136,-0.526791734365,-0.526710239753,-0.526628740298,-0.526547236004,-0.526465726869,-0.526384212895,-0.526302694083,-0.526221170433,-0.526139641946,-0.526058108623,-0.525976570464,-0.525895027471,-0.525813479644,-0.525731926984,-0.525650369491,-0.525568807167,-0.525487240012,-0.525405668026,-0.525324091212,-0.525242509568,-0.525160923097,-0.525079331798,-0.524997735673,-0.524916134723,-0.524834528947,-0.524752918347,-0.524671302924,-0.524589682678,-0.524508057611,-0.524426427722,-0.524344793013,-0.524263153484,-0.524181509136,-0.52409985997,-0.524018205986,-0.523936547186,-0.52385488357,-0.523773215139,-0.523691541893,-0.523609863834,-0.523528180962,-0.523446493278,-0.523364800782,-0.523283103476,-0.523201401359,-0.523119694434,-0.5230379827,-0.522956266159,-0.52287454481,-0.522792818656,-0.522711087696,-0.522629351931,-0.522547611363,-0.522465865991,-0.522384115817,-0.522302360841,-0.522220601065,-0.522138836488,-0.522057067112,-0.521975292937,-0.521893513965,-0.521811730195,-0.521729941629,-0.521648148267,-0.52156635011,-0.521484547159,-0.521402739415,-0.521320926879,-0.52123910955,-0.52115728743,-0.52107546052,-0.52099362882,-0.520911792332,-0.520829951055,-0.520748104991,-0.52066625414,-0.520584398504,-0.520502538082,-0.520420672876,-0.520338802887,-0.520256928114,-0.52017504856,-0.520093164224,-0.520011275108,-0.519929381211,-0.519847482536,-0.519765579082,-0.519683670851,-0.519601757843,-0.519519840059,-0.5194379175,-0.519355990166,-0.519274058058,-0.519192121177,-0.519110179524,-0.519028233099,-0.518946281904,-0.518864325938,-0.518782365203,-0.5187003997,-0.518618429429,-0.518536454391,-0.518454474586,-0.518372490016,-0.518290500681,-0.518208506583,-0.518126507721,-0.518044504096,-0.51796249571,-0.517880482562,-0.517798464655,-0.517716441988,-0.517634414562,-0.517552382378,-0.517470345437,-0.51738830374,-0.517306257287,-0.517224206079,-0.517142150116,-0.5170600894,-0.516978023932,-0.516895953711,-0.51681387874,-0.516731799018,-0.516649714546,-0.516567625325,-0.516485531356,-0.51640343264,-0.516321329177,-0.516239220968,-0.516157108014,-0.516074990315,-0.515992867873,-0.515910740688,-0.515828608761,-0.515746472092,-0.515664330683,-0.515582184534,-0.515500033646,-0.515417878019,-0.515335717655,-0.515253552554,-0.515171382717,-0.515089208145,-0.515007028838,-0.514924844797,-0.514842656023,-0.514760462517,-0.514678264279,-0.51459606131,-0.514513853611,-0.514431641183,-0.514349424027,-0.514267202142,-0.514184975531,-0.514102744193,-0.51402050813,-0.513938267342,-0.51385602183,-0.513773771595,-0.513691516637,-0.513609256958,-0.513526992557,-0.513444723437,-0.513362449596,-0.513280171038,-0.513197887761,-0.513115599767,-0.513033307056,-0.51295100963,-0.512868707489,-0.512786400634,-0.512704089065,-0.512621772783,-0.51253945179,-0.512457126086,-0.512374795671,-0.512292460546,-0.512210120713,-0.512127776172,-0.512045426923,-0.511963072967,-0.511880714306,-0.511798350939,-0.511715982869,-0.511633610094,-0.511551232617,-0.511468850438,-0.511386463557,-0.511304071976,-0.511221675695,-0.511139274715,-0.511056869037,-0.510974458661,-0.510892043589,-0.51080962382,-0.510727199357,-0.510644770198,-0.510562336346,-0.510479897801,-0.510397454564,-0.510315006635,-0.510232554016,-0.510150096707,-0.510067634708,-0.509985168021,-0.509902696647,-0.509820220585,-0.509737739837,-0.509655254404,-0.509572764287,-0.509490269485,-0.50940777,-0.509325265833,-0.509242756984,-0.509160243455,-0.509077725245,-0.508995202356,-0.508912674789,-0.508830142543,-0.508747605621,-0.508665064022,-0.508582517748,-0.508499966799,-0.508417411175,-0.508334850879,-0.50825228591,-0.50816971627,-0.508087141958,-0.508004562976,-0.507921979325,-0.507839391005,-0.507756798017,-0.507674200362,-0.50759159804,-0.507508991053,-0.507426379401,-0.507343763084,-0.507261142105,-0.507178516462,-0.507095886158,-0.507013251193,-0.506930611567,-0.506847967282,-0.506765318338,-0.506682664736,-0.506600006476,-0.50651734356,-0.506434675988,-0.506352003761,-0.50626932688,-0.506186645345,-0.506103959158,-0.506021268318,-0.505938572827,-0.505855872686,-0.505773167895,-0.505690458455,-0.505607744367,-0.505525025632,-0.50544230225,-0.505359574222,-0.505276841548,-0.505194104231,-0.505111362269,-0.505028615665,-0.504945864419,-0.504863108531,-0.504780348003,-0.504697582835,-0.504614813028,-0.504532038582,-0.504449259499,-0.50436647578,-0.504283687424,-0.504200894433,-0.504118096807,-0.504035294548,-0.503952487655,-0.503869676131,-0.503786859975,-0.503704039188,-0.503621213772,-0.503538383726,-0.503455549051,-0.50337270975,-0.503289865821,-0.503207017266,-0.503124164086,-0.503041306281,-0.502958443852,-0.5028755768,-0.502792705126,-0.50270982883,-0.502626947914,-0.502544062377,-0.502461172221,-0.502378277447,-0.502295378055,-0.502212474046,-0.50212956542,-0.50204665218,-0.501963734324,-0.501880811855,-0.501797884772,-0.501714953077,-0.50163201677,-0.501549075853,-0.501466130325,-0.501383180188,-0.501300225442,-0.501217266089,-0.501134302128,-0.501051333561,-0.500968360389,-0.500885382611,-0.50080240023,-0.500719413245,-0.500636421658,-0.500553425469,-0.50047042468,-0.50038741929,-0.5003044093,-0.500221394712,-0.500138375526,-0.500055351742,-0.499972323363,-0.499889290387,-0.499806252817,-0.499723210653,-0.499640163895,-0.499557112545,-0.499474056603,-0.49939099607,-0.499307930946,-0.499224861234,-0.499141786932,-0.499058708042,-0.498975624565,-0.498892536502,-0.498809443853,-0.498726346619,-0.4986432448,-0.498560138399,-0.498477027414,-0.498393911848,-0.498310791701,-0.498227666973,-0.498144537665,-0.498061403779,-0.497978265315,-0.497895122273,-0.497811974655,-0.497728822461,-0.497645665692,-0.497562504349,-0.497479338433,-0.497396167943,-0.497312992882,-0.497229813249,-0.497146629046,-0.497063440274,-0.496980246932,-0.496897049023,-0.496813846546,-0.496730639502,-0.496647427893,-0.496564211718,-0.496480990979,-0.496397765677,-0.496314535811,-0.496231301384,-0.496148062396,-0.496064818847,-0.495981570738,-0.495898318071,-0.495815060845,-0.495731799061,-0.495648532722,-0.495565261826,-0.495481986375,-0.49539870637,-0.495315421811,-0.495232132699,-0.495148839035,-0.49506554082,-0.494982238054,-0.494898930739,-0.494815618875,-0.494732302462,-0.494648981502,-0.494565655995,-0.494482325942,-0.494398991344,-0.494315652202,-0.494232308516,-0.494148960287,-0.494065607516,-0.493982250204,-0.493898888351,-0.493815521958,-0.493732151026,-0.493648775556,-0.493565395549,-0.493482011004,-0.493398621924,-0.493315228309,-0.493231830159,-0.493148427475,-0.493065020259,-0.49298160851,-0.49289819223,-0.492814771419,-0.492731346079,-0.492647916209,-0.492564481811,-0.492481042886,-0.492397599433,-0.492314151455,-0.492230698951,-0.492147241923,-0.492063780372,-0.491980314297,-0.4918968437,-0.491813368582,-0.491729888943,-0.491646404784,-0.491562916107,-0.49147942291,-0.491395925197,-0.491312422966,-0.491228916219,-0.491145404957,-0.491061889181,-0.490978368891,-0.490894844088,-0.490811314773,-0.490727780946,-0.490644242608,-0.490560699761,-0.490477152405,-0.49039360054,-0.490310044167,-0.490226483288,-0.490142917903,-0.490059348012,-0.489975773617,-0.489892194719,-0.489808611317,-0.489725023413,-0.489641431007,-0.489557834101,-0.489474232695,-0.48939062679,-0.489307016386,-0.489223401485,-0.489139782087,-0.489056158193,-0.488972529804,-0.48888889692,-0.488805259542,-0.488721617671,-0.488637971309,-0.488554320454,-0.488470665109,-0.488387005274,-0.48830334095,-0.488219672138,-0.488135998838,-0.488052321051,-0.487968638778,-0.487884952019,-0.487801260776,-0.48771756505,-0.48763386484,-0.487550160148,-0.487466450975,-0.487382737321,-0.487299019187,-0.487215296574,-0.487131569483,-0.487047837914,-0.486964101868,-0.486880361346,-0.486796616349,-0.486712866877,-0.486629112932,-0.486545354513,-0.486461591622,-0.48637782426,-0.486294052427,-0.486210276124,-0.486126495353,-0.486042710112,-0.485958920404,-0.48587512623,-0.485791327589,-0.485707524483,-0.485623716912,-0.485539904878,-0.485456088381,-0.485372267421,-0.485288442,-0.485204612119,-0.485120777777,-0.485036938976,-0.484953095717,-0.484869248001,-0.484785395827,-0.484701539198,-0.484617678113,-0.484533812574,-0.484449942581,-0.484366068135,-0.484282189237,-0.484198305888,-0.484114418087,-0.484030525837,-0.483946629138,-0.483862727991,-0.483778822396,-0.483694912354,-0.483610997866,-0.483527078933,-0.483443155555,-0.483359227734,-0.48327529547,-0.483191358763,-0.483107417616,-0.483023472027,-0.482939521999,-0.482855567532,-0.482771608626,-0.482687645283,-0.482603677503,-0.482519705287,-0.482435728636,-0.482351747551,-0.482267762031,-0.482183772079,-0.482099777695,-0.482015778879,-0.481931775633,-0.481847767957,-0.481763755852,-0.481679739319,-0.481595718358,-0.48151169297,-0.481427663157,-0.481343628918,-0.481259590255,-0.481175547168,-0.481091499659,-0.481007447727,-0.480923391374,-0.4808393306,-0.480755265407,-0.480671195795,-0.480587121764,-0.480503043316,-0.480418960451,-0.480334873171,-0.480250781475,-0.480166685365,-0.480082584841,-0.479998479905,-0.479914370556,-0.479830256797,-0.479746138626,-0.479662016046,-0.479577889057,-0.47949375766,-0.479409621856,-0.479325481644,-0.479241337027,-0.479157188005,-0.479073034579,-0.478988876749,-0.478904714516,-0.478820547881,-0.478736376845,-0.478652201409,-0.478568021573,-0.478483837338,-0.478399648705,-0.478315455675,-0.478231258248,-0.478147056425,-0.478062850207,-0.477978639595,-0.477894424589,-0.477810205191,-0.477725981401,-0.47764175322,-0.477557520648,-0.477473283687,-0.477389042337,-0.477304796598,-0.477220546473,-0.477136291961,-0.477052033063,-0.47696776978,-0.476883502114,-0.476799230063,-0.47671495363,-0.476630672816,-0.47654638762,-0.476462098044,-0.476377804088,-0.476293505753,-0.476209203041,-0.476124895951,-0.476040584485,-0.475956268643,-0.475871948427,-0.475787623836,-0.475703294872,-0.475618961535,-0.475534623827,-0.475450281747,-0.475365935297,-0.475281584478,-0.47519722929,-0.475112869735,-0.475028505812,-0.474944137522,-0.474859764868,-0.474775387848,-0.474691006464,-0.474606620717,-0.474522230608,-0.474437836137,-0.474353437305,-0.474269034112,-0.474184626561,-0.474100214651,-0.474015798383,-0.473931377757,-0.473846952776,-0.473762523439,-0.473678089748,-0.473593651702,-0.473509209303,-0.473424762552,-0.47334031145,-0.473255855996,-0.473171396192,-0.473086932039,-0.473002463538,-0.472917990689,-0.472833513493,-0.47274903195,-0.472664546063,-0.47258005583,-0.472495561254,-0.472411062335,-0.472326559073,-0.47224205147,-0.472157539526,-0.472073023242,-0.471988502619,-0.471903977658,-0.471819448359,-0.471734914723,-0.471650376751,-0.471565834443,-0.471481287802,-0.471396736826,-0.471312181517,-0.471227621877,-0.471143057904,-0.471058489601,-0.470973916969,-0.470889340007,-0.470804758717,-0.470720173099,-0.470635583155,-0.470550988884,-0.470466390289,-0.470381787369,-0.470297180125,-0.470212568558,-0.47012795267,-0.47004333246,-0.469958707929,-0.469874079079,-0.46978944591,-0.469704808422,-0.469620166617,-0.469535520496,-0.469450870058,-0.469366215306,-0.469281556239,-0.469196892859,-0.469112225165,-0.46902755316,-0.468942876844,-0.468858196217,-0.468773511281,-0.468688822036,-0.468604128483,-0.468519430622,-0.468434728455,-0.468350021982,-0.468265311204,-0.468180596122,-0.468095876736,-0.468011153048,-0.467926425058,-0.467841692767,-0.467756956176,-0.467672215285,-0.467587470095,-0.467502720608,-0.467417966823,-0.467333208742,-0.467248446365,-0.467163679694,-0.467078908728,-0.466994133469,-0.466909353917,-0.466824570074,-0.46673978194,-0.466654989516,-0.466570192802,-0.466485391799,-0.466400586509,-0.466315776932,-0.466230963068,-0.466146144919,-0.466061322486,-0.465976495768,-0.465891664767,-0.465806829484,-0.465721989919,-0.465637146073,-0.465552297948,-0.465467445543,-0.46538258886,-0.465297727898,-0.46521286266,-0.465127993146,-0.465043119357,-0.464958241293,-0.464873358955,-0.464788472344,-0.464703581461,-0.464618686306,-0.464533786881,-0.464448883186,-0.464363975222,-0.464279062989,-0.464194146489,-0.464109225722,-0.464024300689,-0.463939371391,-0.463854437828,-0.463769500002,-0.463684557913,-0.463599611562,-0.463514660949,-0.463429706076,-0.463344746944,-0.463259783552,-0.463174815902,-0.463089843995,-0.463004867831,-0.462919887411,-0.462834902736,-0.462749913807,-0.462664920624,-0.462579923189,-0.462494921502,-0.462409915563,-0.462324905375,-0.462239890936,-0.462154872249,-0.462069849314,-0.461984822131,-0.461899790702,-0.461814755028,-0.461729715108,-0.461644670945,-0.461559622538,-0.461474569888,-0.461389512997,-0.461304451865,-0.461219386492,-0.46113431688,-0.46104924303,-0.460964164941,-0.460879082616,-0.460793996054,-0.460708905256,-0.460623810224,-0.460538710958,-0.460453607459,-0.460368499727,-0.460283387764,-0.46019827157,-0.460113151146,-0.460028026493,-0.459942897611,-0.459857764501,-0.459772627165,-0.459687485602,-0.459602339814,-0.459517189802,-0.459432035566,-0.459346877106,-0.459261714425,-0.459176547522,-0.459091376398,-0.459006201055,-0.458921021492,-0.458835837712,-0.458750649713,-0.458665457498,-0.458580261067,-0.458495060421,-0.45840985556,-0.458324646486,-0.458239433199,-0.4581542157,-0.45806899399,-0.457983768069,-0.457898537938,-0.457813303599,-0.457728065051,-0.457642822297,-0.457557575335,-0.457472324168,-0.457387068796,-0.457301809219,-0.45721654544,-0.457131277457,-0.457046005273,-0.456960728888,-0.456875448302,-0.456790163517,-0.456704874533,-0.456619581351,-0.456534283972,-0.456448982397,-0.456363676626,-0.45627836666,-0.456193052501,-0.456107734148,-0.456022411602,-0.455937084865,-0.455851753937,-0.455766418819,-0.455681079512,-0.455595736016,-0.455510388333,-0.455425036462,-0.455339680406,-0.455254320163,-0.455168955737,-0.455083587126,-0.454998214333,-0.454912837357,-0.4548274562,-0.454742070862,-0.454656681344,-0.454571287647,-0.454485889772,-0.454400487719,-0.45431508149,-0.454229671084,-0.454144256504,-0.454058837749,-0.45397341482,-0.453887987718,-0.453802556445,-0.453717121,-0.453631681385,-0.4535462376,-0.453460789646,-0.453375337524,-0.453289881235,-0.453204420779,-0.453118956157,-0.453033487371,-0.45294801442,-0.452862537306,-0.452777056029,-0.452691570591,-0.452606080991,-0.452520587231,-0.452435089312,-0.452349587234,-0.452264080998,-0.452178570605,-0.452093056055,-0.45200753735,-0.451922014491,-0.451836487477,-0.45175095631,-0.451665420991,-0.45157988152,-0.451494337898,-0.451408790127,-0.451323238206,-0.451237682136,-0.451152121919,-0.451066557555,-0.450980989045,-0.45089541639,-0.45080983959,-0.450724258646,-0.450638673559,-0.45055308433,-0.45046749096,-0.450381893449,-0.450296291799,-0.450210686009,-0.450125076081,-0.450039462016,-0.449953843814,-0.449868221476,-0.449782595003,-0.449696964395,-0.449611329655,-0.449525690781,-0.449440047776,-0.449354400639,-0.449268749372,-0.449183093975,-0.44909743445,-0.449011770796,-0.448926103016,-0.448840431109,-0.448754755076,-0.448669074918,-0.448583390637,-0.448497702232,-0.448412009704,-0.448326313055,-0.448240612285,-0.448154907395,-0.448069198386,-0.447983485257,-0.447897768012,-0.447812046649,-0.44772632117,-0.447640591575,-0.447554857866,-0.447469120043,-0.447383378108,-0.447297632059,-0.4472118819,-0.447126127629,-0.447040369249,-0.44695460676,-0.446868840162,-0.446783069457,-0.446697294645,-0.446611515728,-0.446525732705,-0.446439945577,-0.446354154346,-0.446268359013,-0.446182559577,-0.44609675604,-0.446010948403,-0.445925136666,-0.44583932083,-0.445753500896,-0.445667676865,-0.445581848737,-0.445496016514,-0.445410180196,-0.445324339783,-0.445238495278,-0.44515264668,-0.44506679399,-0.444980937209,-0.444895076338,-0.444809211377,-0.444723342328,-0.444637469191,-0.444551591967,-0.444465710657,-0.444379825262,-0.444293935782,-0.444208042218,-0.44412214457,-0.444036242841,-0.44395033703,-0.443864427139,-0.443778513167,-0.443692595117,-0.443606672988,-0.443520746781,-0.443434816498,-0.443348882139,-0.443262943705,-0.443177001196,-0.443091054614,-0.443005103959,-0.442919149232,-0.442833190433,-0.442747227565,-0.442661260626,-0.442575289619,-0.442489314544,-0.442403335401,-0.442317352192,-0.442231364918,-0.442145373578,-0.442059378174,-0.441973378707,-0.441887375178,-0.441801367586,-0.441715355934,-0.441629340222,-0.44154332045,-0.44145729662,-0.441371268732,-0.441285236787,-0.441199200785,-0.441113160729,-0.441027116617,-0.440941068452,-0.440855016234,-0.440768959964,-0.440682899642,-0.440596835269,-0.440510766847,-0.440424694375,-0.440338617856,-0.440252537288,-0.440166452675,-0.440080364015,-0.43999427131,-0.43990817456,-0.439822073767,-0.439735968932,-0.439649860054,-0.439563747135,-0.439477630176,-0.439391509178,-0.43930538414,-0.439219255065,-0.439133121952,-0.439046984803,-0.438960843618,-0.438874698398,-0.438788549145,-0.438702395858,-0.438616238539,-0.438530077188,-0.438443911806,-0.438357742394,-0.438271568952,-0.438185391483,-0.438099209985,-0.438013024461,-0.43792683491,-0.437840641334,-0.437754443734,-0.43766824211,-0.437582036463,-0.437495826794,-0.437409613103,-0.437323395392,-0.437237173661,-0.437150947911,-0.437064718143,-0.436978484357,-0.436892246555,-0.436806004737,-0.436719758904,-0.436633509057,-0.436547255196,-0.436460997323,-0.436374735438,-0.436288469542,-0.436202199635,-0.436115925719,-0.436029647794,-0.435943365862,-0.435857079922,-0.435770789976,-0.435684496025,-0.435598198069,-0.435511896108,-0.435425590145,-0.43533928018,-0.435252966213,-0.435166648245,-0.435080326277,-0.43499400031,-0.434907670344,-0.434821336381,-0.434734998422,-0.434648656466,-0.434562310515,-0.43447596057,-0.434389606631,-0.434303248699,-0.434216886775,-0.43413052086,-0.434044150955,-0.43395777706,-0.433871399176,-0.433785017304,-0.433698631444,-0.433612241599,-0.433525847767,-0.433439449951,-0.433353048151,-0.433266642367,-0.433180232601,-0.433093818853,-0.433007401124,-0.432920979416,-0.432834553727,-0.432748124061,-0.432661690416,-0.432575252795,-0.432488811198,-0.432402365625,-0.432315916077,-0.432229462556,-0.432143005062,-0.432056543596,-0.431970078158,-0.43188360875,-0.431797135372,-0.431710658025,-0.43162417671,-0.431537691427,-0.431451202178,-0.431364708963,-0.431278211783,-0.431191710639,-0.431105205531,-0.431018696461,-0.430932183429,-0.430845666436,-0.430759145483,-0.43067262057,-0.430586091698,-0.430499558869,-0.430413022083,-0.43032648134,-0.430239936642,-0.430153387989,-0.430066835383,-0.429980278823,-0.429893718311,-0.429807153847,-0.429720585433,-0.429634013069,-0.429547436756,-0.429460856494,-0.429374272285,-0.42928768413,-0.429201092028,-0.429114495981,-0.42902789599,-0.428941292055,-0.428854684178,-0.428768072359,-0.428681456598,-0.428594836897,-0.428508213257,-0.428421585678,-0.428334954161,-0.428248318707,-0.428161679316,-0.42807503599,-0.427988388729,-0.427901737534,-0.427815082406,-0.427728423345,-0.427641760353,-0.42755509343,-0.427468422577,-0.427381747795,-0.427295069085,-0.427208386447,-0.427121699882,-0.427035009391,-0.426948314975,-0.426861616634,-0.42677491437,-0.426688208183,-0.426601498074,-0.426514784044,-0.426428066093,-0.426341344223,-0.426254618434,-0.426167888727,-0.426081155102,-0.425994417562,-0.425907676105,-0.425820930734,-0.425734181448,-0.42564742825,-0.425560671138,-0.425473910116,-0.425387145182,-0.425300376338,-0.425213603585,-0.425126826924,-0.425040046355,-0.424953261879,-0.424866473496,-0.424779681209,-0.424692885017,-0.424606084922,-0.424519280923,-0.424432473023,-0.424345661221,-0.424258845519,-0.424172025917,-0.424085202416,-0.423998375017,-0.42391154372,-0.423824708528,-0.423737869439,-0.423651026456,-0.423564179578,-0.423477328807,-0.423390474144,-0.423303615589,-0.423216753143,-0.423129886807,-0.423043016581,-0.422956142467,-0.422869264466,-0.422782382577,-0.422695496802,-0.422608607142,-0.422521713598,-0.422434816169,-0.422347914858,-0.422261009665,-0.42217410059,-0.422087187635,-0.4220002708,-0.421913350086,-0.421826425494,-0.421739497024,-0.421652564679,-0.421565628457,-0.42147868836,-0.42139174439,-0.421304796545,-0.421217844829,-0.42113088924,-0.421043929781,-0.420956966452,-0.420869999253,-0.420783028186,-0.42069605325,-0.420609074448,-0.42052209178,-0.420435105247,-0.420348114849,-0.420261120587,-0.420174122462,-0.420087120475,-0.420000114627,-0.419913104918,-0.419826091349,-0.419739073922,-0.419652052636,-0.419565027493,-0.419477998493,-0.419390965638,-0.419303928928,-0.419216888363,-0.419129843945,-0.419042795675,-0.418955743553,-0.41886868758,-0.418781627757,-0.418694564084,-0.418607496563,-0.418520425194,-0.418433349978,-0.418346270916,-0.418259188009,-0.418172101257,-0.418085010662,-0.417997916223,-0.417910817942,-0.41782371582,-0.417736609858,-0.417649500055,-0.417562386414,-0.417475268935,-0.417388147618,-0.417301022464,-0.417213893475,-0.417126760651,-0.417039623993,-0.416952483502,-0.416865339178,-0.416778191022,-0.416691039035,-0.416603883218,-0.416516723572,-0.416429560098,-0.416342392795,-0.416255221666,-0.41616804671,-0.41608086793,-0.415993685324,-0.415906498895,-0.415819308643,-0.415732114569,-0.415644916674,-0.415557714958,-0.415470509422,-0.415383300068,-0.415296086895,-0.415208869905,-0.415121649098,-0.415034424476,-0.414947196039,-0.414859963788,-0.414772727723,-0.414685487846,-0.414598244157,-0.414510996658,-0.414423745348,-0.414336490229,-0.414249231301,-0.414161968566,-0.414074702024,-0.413987431676,-0.413900157523,-0.413812879565,-0.413725597803,-0.413638312238,-0.413551022872,-0.413463729704,-0.413376432736,-0.413289131968,-0.413201827401,-0.413114519036,-0.413027206874,-0.412939890915,-0.412852571161,-0.412765247612,-0.412677920268,-0.412590589132,-0.412503254203,-0.412415915483,-0.412328572971,-0.41224122667,-0.412153876579,-0.4120665227,-0.411979165034,-0.41189180358,-0.41180443834,-0.411717069316,-0.411629696507,-0.411542319914,-0.411454939538,-0.411367555381,-0.411280167442,-0.411192775723,-0.411105380224,-0.411017980946,-0.410930577891,-0.410843171058,-0.410755760449,-0.410668346064,-0.410580927905,-0.410493505971,-0.410406080264,-0.410318650785,-0.410231217535,-0.410143780514,-0.410056339722,-0.409968895162,-0.409881446833,-0.409793994737,-0.409706538874,-0.409619079245,-0.409531615851,-0.409444148692,-0.40935667777,-0.409269203086,-0.409181724639,-0.409094242431,-0.409006756463,-0.408919266736,-0.40883177325,-0.408744276005,-0.408656775004,-0.408569270247,-0.408481761734,-0.408394249466,-0.408306733445,-0.40821921367,-0.408131690143,-0.408044162865,-0.407956631836,-0.407869097057,-0.407781558529,-0.407694016253,-0.40760647023,-0.40751892046,-0.407431366944,-0.407343809683,-0.407256248677,-0.407168683929,-0.407081115438,-0.406993543204,-0.40690596723,-0.406818387516,-0.406730804063,-0.40664321687,-0.40655562594,-0.406468031273,-0.40638043287,-0.406292830732,-0.406205224859,-0.406117615252,-0.406030001912,-0.40594238484,-0.405854764037,-0.405767139503,-0.40567951124,-0.405591879248,-0.405504243527,-0.405416604079,-0.405328960905,-0.405241314005,-0.40515366338,-0.405066009031,-0.404978350959,-0.404890689164,-0.404803023648,-0.40471535441,-0.404627681453,-0.404540004777,-0.404452324382,-0.404364640269,-0.404276952439,-0.404189260894,-0.404101565633,-0.404013866658,-0.403926163969,-0.403838457568,-0.403750747454,-0.403663033629,-0.403575316094,-0.403487594849,-0.403399869896,-0.403312141235,-0.403224408866,-0.403136672791,-0.40304893301,-0.402961189525,-0.402873442336,-0.402785691444,-0.402697936849,-0.402610178553,-0.402522416556,-0.402434650859,-0.402346881464,-0.402259108369,-0.402171331578,-0.40208355109,-0.401995766905,-0.401907979026,-0.401820187453,-0.401732392186,-0.401644593226,-0.401556790575,-0.401468984233,-0.4013811742,-0.401293360478,-0.401205543067,-0.401117721969,-0.401029897184,-0.400942068712,-0.400854236555,-0.400766400714,-0.400678561188,-0.40059071798,-0.40050287109,-0.400415020518,-0.400327166266,-0.400239308334,-0.400151446723,-0.400063581434,-0.399975712468,-0.399887839825,-0.399799963506,-0.399712083513,-0.399624199846,-0.399536312505,-0.399448421492,-0.399360526807,-0.399272628452,-0.399184726426,-0.399096820731,-0.399008911368,-0.398920998337,-0.398833081639,-0.398745161276,-0.398657237247,-0.398569309554,-0.398481378197,-0.398393443177,-0.398305504496,-0.398217562153,-0.39812961615,-0.398041666488,-0.397953713167,-0.397865756188,-0.397777795552,-0.397689831259,-0.397601863311,-0.397513891709,-0.397425916452,-0.397337937543,-0.397249954981,-0.397161968768,-0.397073978904,-0.39698598539,-0.396897988228,-0.396809987417,-0.396721982958,-0.396633974854,-0.396545963103,-0.396457947707,-0.396369928668,-0.396281905985,-0.396193879659,-0.396105849692,-0.396017816083,-0.395929778835,-0.395841737947,-0.395753693421,-0.395665645257,-0.395577593457,-0.39548953802,-0.395401478948,-0.395313416241,-0.395225349901,-0.395137279928,-0.395049206323,-0.394961129087,-0.394873048221,-0.394784963724,-0.394696875599,-0.394608783847,-0.394520688466,-0.39443258946,-0.394344486828,-0.394256380571,-0.394168270691,-0.394080157187,-0.393992040061,-0.393903919314,-0.393815794945,-0.393727666957,-0.39363953535,-0.393551400125,-0.393463261282,-0.393375118823,-0.393286972747,-0.393198823057,-0.393110669753,-0.393022512835,-0.392934352304,-0.392846188162,-0.392758020409,-0.392669849046,-0.392581674073,-0.392493495492,-0.392405313303,-0.392317127507,-0.392228938105,-0.392140745098,-0.392052548486,-0.391964348271,-0.391876144453,-0.391787937033,-0.391699726011,-0.391611511389,-0.391523293168,-0.391435071348,-0.391346845929,-0.391258616914,-0.391170384302,-0.391082148095,-0.390993908293,-0.390905664897,-0.390817417908,-0.390729167326,-0.390640913153,-0.39055265539,-0.390464394036,-0.390376129094,-0.390287860563,-0.390199588444,-0.39011131274,-0.390023033449,-0.389934750573,-0.389846464113,-0.38975817407,-0.389669880444,-0.389581583236,-0.389493282448,-0.389404978079,-0.389316670131,-0.389228358604,-0.3891400435,-0.389051724819,-0.388963402562,-0.388875076729,-0.388786747322,-0.388698414342,-0.388610077788,-0.388521737663,-0.388433393966,-0.388345046699,-0.388256695862,-0.388168341457,-0.388079983483,-0.387991621943,-0.387903256836,-0.387814888164,-0.387726515926,-0.387638140125,-0.387549760761,-0.387461377835,-0.387372991347,-0.387284601299,-0.38719620769,-0.387107810523,-0.387019409797,-0.386931005514,-0.386842597675,-0.38675418628,-0.386665771329,-0.386577352825,-0.386488930767,-0.386400505157,-0.386312075995,-0.386223643282,-0.386135207019,-0.386046767207,-0.385958323846,-0.385869876938,-0.385781426482,-0.385692972481,-0.385604514935,-0.385516053844,-0.38542758921,-0.385339121032,-0.385250649313,-0.385162174053,-0.385073695252,-0.384985212912,-0.384896727034,-0.384808237617,-0.384719744663,-0.384631248173,-0.384542748148,-0.384454244587,-0.384365737494,-0.384277226867,-0.384188712707,-0.384100195017,-0.384011673796,-0.383923149045,-0.383834620765,-0.383746088957,-0.383657553622,-0.38356901476,-0.383480472373,-0.383391926461,-0.383303377024,-0.383214824065,-0.383126267583,-0.383037707579,-0.382949144055,-0.382860577011,-0.382772006447,-0.382683432365,-0.382594854766,-0.382506273649,-0.382417689017,-0.38232910087,-0.382240509209,-0.382151914034,-0.382063315346,-0.381974713147,-0.381886107436,-0.381797498215,-0.381708885485,-0.381620269247,-0.3815316495,-0.381443026247,-0.381354399487,-0.381265769222,-0.381177135453,-0.38108849818,-0.380999857404,-0.380911213126,-0.380822565346,-0.380733914067,-0.380645259287,-0.380556601009,-0.380467939233,-0.380379273959,-0.38029060519,-0.380201932924,-0.380113257164,-0.38002457791,-0.379935895163,-0.379847208924,-0.379758519193,-0.379669825972,-0.37958112926,-0.37949242906,-0.379403725372,-0.379315018196,-0.379226307533,-0.379137593385,-0.379048875752,-0.378960154634,-0.378871430034,-0.37878270195,-0.378693970385,-0.37860523534,-0.378516496814,-0.378427754809,-0.378339009325,-0.378250260364,-0.378161507926,-0.378072752012,-0.377983992623,-0.37789522976,-0.377806463423,-0.377717693613,-0.377628920332,-0.377540143579,-0.377451363356,-0.377362579664,-0.377273792503,-0.377185001874,-0.377096207778,-0.377007410216,-0.376918609189,-0.376829804697,-0.376740996741,-0.376652185323,-0.376563370442,-0.3764745521,-0.376385730298,-0.376296905036,-0.376208076315,-0.376119244136,-0.3760304085,-0.375941569407,-0.375852726859,-0.375763880856,-0.375675031399,-0.375586178489,-0.375497322127,-0.375408462313,-0.375319599049,-0.375230732334,-0.375141862171,-0.37505298856,-0.374964111501,-0.374875230995,-0.374786347044,-0.374697459647,-0.374608568807,-0.374519674523,-0.374430776797,-0.374341875629,-0.37425297102,-0.374164062971,-0.374075151483,-0.373986236557,-0.373897318193,-0.373808396392,-0.373719471155,-0.373630542483,-0.373541610377,-0.373452674837,-0.373363735864,-0.37327479346,-0.373185847624,-0.373096898359,-0.373007945663,-0.37291898954,-0.372830029988,-0.37274106701,-0.372652100605,-0.372563130775,-0.37247415752,-0.372385180842,-0.372296200741,-0.372207217218,-0.372118230273,-0.372029239908,-0.371940246124,-0.37185124892,-0.371762248299,-0.371673244261,-0.371584236806,-0.371495225936,-0.371406211651,-0.371317193952,-0.37122817284,-0.371139148316,-0.37105012038,-0.370961089034,-0.370872054278,-0.370783016113,-0.37069397454,-0.370604929559,-0.370515881172,-0.370426829379,-0.370337774182,-0.37024871558,-0.370159653575,-0.370070588168,-0.369981519359,-0.369892447149,-0.369803371539,-0.36971429253,-0.369625210123,-0.369536124318,-0.369447035117,-0.36935794252,-0.369268846527,-0.369179747141,-0.369090644361,-0.369001538188,-0.368912428624,-0.368823315668,-0.368734199323,-0.368645079588,-0.368555956464,-0.368466829953,-0.368377700055,-0.368288566771,-0.368199430102,-0.368110290049,-0.368021146612,-0.367931999792,-0.36784284959,-0.367753696007,-0.367664539043,-0.3675753787,-0.367486214979,-0.367397047879,-0.367307877403,-0.36721870355,-0.367129526322,-0.36704034572,-0.366951161743,-0.366861974394,-0.366772783673,-0.36668358958,-0.366594392117,-0.366505191284,-0.366415987082,-0.366326779513,-0.366237568576,-0.366148354272,-0.366059136604,-0.36596991557,-0.365880691173,-0.365791463412,-0.365702232289,-0.365612997805,-0.36552375996,-0.365434518755,-0.365345274191,-0.365256026269,-0.36516677499,-0.365077520354,-0.364988262363,-0.364899001016,-0.364809736316,-0.364720468262,-0.364631196856,-0.364541922098,-0.364452643989,-0.364363362531,-0.364274077723,-0.364184789567,-0.364095498064,-0.364006203213,-0.363916905017,-0.363827603476,-0.363738298591,-0.363648990362,-0.36355967879,-0.363470363877,-0.363381045623,-0.363291724029,-0.363202399096,-0.363113070824,-0.363023739214,-0.362934404268,-0.362845065985,-0.362755724367,-0.362666379415,-0.36257703113,-0.362487679511,-0.362398324561,-0.36230896628,-0.362219604668,-0.362130239727,-0.362040871458,-0.36195149986,-0.361862124936,-0.361772746685,-0.361683365109,-0.361593980209,-0.361504591985,-0.361415200438,-0.361325805568,-0.361236407378,-0.361147005867,-0.361057601037,-0.360968192888,-0.360878781421,-0.360789366637,-0.360699948537,-0.360610527121,-0.36052110239,-0.360431674346,-0.360342242988,-0.360252808319,-0.360163370338,-0.360073929046,-0.359984484445,-0.359895036535,-0.359805585317,-0.359716130791,-0.359626672959,-0.359537211822,-0.35944774738,-0.359358279633,-0.359268808584,-0.359179334232,-0.359089856579,-0.359000375625,-0.358910891371,-0.358821403819,-0.358731912968,-0.358642418819,-0.358552921374,-0.358463420634,-0.358373916598,-0.358284409268,-0.358194898645,-0.35810538473,-0.358015867523,-0.357926347025,-0.357836823237,-0.35774729616,-0.357657765795,-0.357568232142,-0.357478695203,-0.357389154977,-0.357299611467,-0.357210064672,-0.357120514594,-0.357030961233,-0.356941404591,-0.356851844668,-0.356762281464,-0.356672714982,-0.35658314522,-0.356493572182,-0.356403995866,-0.356314416274,-0.356224833408,-0.356135247267,-0.356045657852,-0.355956065165,-0.355866469205,-0.355776869975,-0.355687267475,-0.355597661705,-0.355508052666,-0.35541844036,-0.355328824787,-0.355239205948,-0.355149583843,-0.355059958474,-0.354970329842,-0.354880697946,-0.354791062789,-0.35470142437,-0.354611782691,-0.354522137753,-0.354432489556,-0.354342838101,-0.354253183389,-0.35416352542,-0.354073864197,-0.353984199719,-0.353894531987,-0.353804861002,-0.353715186765,-0.353625509277,-0.353535828538,-0.353446144549,-0.353356457312,-0.353266766827,-0.353177073095,-0.353087376116,-0.352997675892,-0.352907972424,-0.352818265711,-0.352728555755,-0.352638842557,-0.352549126118,-0.352459406438,-0.352369683519,-0.35227995736,-0.352190227964,-0.35210049533,-0.35201075946,-0.351921020354,-0.351831278013,-0.351741532439,-0.351651783631,-0.351562031591,-0.35147227632,-0.351382517818,-0.351292756086,-0.351202991125,-0.351113222935,-0.351023451519,-0.350933676876,-0.350843899007,-0.350754117913,-0.350664333596,-0.350574546055,-0.350484755292,-0.350394961307,-0.350305164101,-0.350215363675,-0.350125560031,-0.350035753168,-0.349945943087,-0.34985612979,-0.349766313277,-0.349676493549,-0.349586670607,-0.349496844452,-0.349407015084,-0.349317182505,-0.349227346714,-0.349137507714,-0.349047665505,-0.348957820087,-0.348867971461,-0.348778119629,-0.348688264591,-0.348598406348,-0.3485085449,-0.348418680249,-0.348328812396,-0.348238941341,-0.348149067085,-0.348059189629,-0.347969308973,-0.347879425119,-0.347789538067,-0.347699647819,-0.347609754375,-0.347519857735,-0.347429957901,-0.347340054874,-0.347250148654,-0.347160239242,-0.347070326639,-0.346980410846,-0.346890491863,-0.346800569692,-0.346710644334,-0.346620715788,-0.346530784056,-0.346440849139,-0.346350911038,-0.346260969753,-0.346171025285,-0.346081077636,-0.345991126805,-0.345901172794,-0.345811215604,-0.345721255235,-0.345631291688,-0.345541324964,-0.345451355064,-0.345361381989,-0.345271405739,-0.345181426316,-0.345091443719,-0.345001457951,-0.344911469012,-0.344821476902,-0.344731481622,-0.344641483174,-0.344551481559,-0.344461476776,-0.344371468826,-0.344281457712,-0.344191443433,-0.34410142599,-0.344011405384,-0.343921381616,-0.343831354687,-0.343741324598,-0.343651291349,-0.343561254941,-0.343471215375,-0.343381172652,-0.343291126773,-0.343201077738,-0.343111025549,-0.343020970206,-0.34293091171,-0.342840850062,-0.342750785262,-0.342660717312,-0.342570646212,-0.342480571964,-0.342390494567,-0.342300414024,-0.342210330333,-0.342120243498,-0.342030153518,-0.341940060393,-0.341849964126,-0.341759864717,-0.341669762166,-0.341579656475,-0.341489547644,-0.341399435674,-0.341309320566,-0.34121920232,-0.341129080939,-0.341038956421,-0.340948828769,-0.340858697983,-0.340768564064,-0.340678427013,-0.34058828683,-0.340498143517,-0.340407997074,-0.340317847501,-0.340227694801,-0.340137538974,-0.340047380019,-0.33995721794,-0.339867052735,-0.339776884407,-0.339686712955,-0.339596538381,-0.339506360686,-0.33941617987,-0.339325995934,-0.339235808879,-0.339145618705,-0.339055425415,-0.338965229008,-0.338875029485,-0.338784826848,-0.338694621096,-0.338604412231,-0.338514200254,-0.338423985165,-0.338333766966,-0.338243545656,-0.338153321238,-0.338063093711,-0.337972863077,-0.337882629336,-0.33779239249,-0.337702152538,-0.337611909483,-0.337521663324,-0.337431414063,-0.337341161701,-0.337250906237,-0.337160647674,-0.337070386011,-0.33698012125,-0.336889853392,-0.336799582437,-0.336709308387,-0.336619031241,-0.336528751001,-0.336438467668,-0.336348181243,-0.336257891726,-0.336167599118,-0.33607730342,-0.335987004633,-0.335896702757,-0.335806397794,-0.335716089745,-0.335625778609,-0.335535464389,-0.335445147085,-0.335354826697,-0.335264503226,-0.335174176674,-0.335083847041,-0.334993514328,-0.334903178536,-0.334812839666,-0.334722497718,-0.334632152693,-0.334541804592,-0.334451453417,-0.334361099167,-0.334270741844,-0.334180381448,-0.33409001798,-0.333999651442,-0.333909281834,-0.333818909156,-0.33372853341,-0.333638154596,-0.333547772716,-0.33345738777,-0.333366999759,-0.333276608683,-0.333186214544,-0.333095817343,-0.333005417079,-0.332915013755,-0.332824607371,-0.332734197927,-0.332643785426,-0.332553369866,-0.33246295125,-0.332372529578,-0.33228210485,-0.332191677069,-0.332101246234,-0.332010812346,-0.331920375407,-0.331829935416,-0.331739492376,-0.331649046286,-0.331558597148,-0.331468144962,-0.33137768973,-0.331287231451,-0.331196770128,-0.33110630576,-0.331015838349,-0.330925367895,-0.330834894399,-0.330744417862,-0.330653938285,-0.330563455669,-0.330472970014,-0.330382481322,-0.330291989593,-0.330201494828,-0.330110997028,-0.330020496193,-0.329929992325,-0.329839485424,-0.329748975492,-0.329658462529,-0.329567946535,-0.329477427512,-0.329386905461,-0.329296380382,-0.329205852276,-0.329115321144,-0.329024786987,-0.328934249806,-0.328843709601,-0.328753166373,-0.328662620124,-0.328572070854,-0.328481518563,-0.328390963253,-0.328300404925,-0.328209843579,-0.328119279216,-0.328028711837,-0.327938141443,-0.327847568035,-0.327756991613,-0.327666412179,-0.327575829733,-0.327485244275,-0.327394655808,-0.327304064331,-0.327213469845,-0.327122872352,-0.327032271853,-0.326941668347,-0.326851061836,-0.32676045232,-0.326669839801,-0.32657922428,-0.326488605756,-0.326397984232,-0.326307359707,-0.326216732183,-0.326126101661,-0.32603546814,-0.325944831623,-0.32585419211,-0.325763549602,-0.325672904099,-0.325582255603,-0.325491604115,-0.325400949634,-0.325310292162,-0.3252196317,-0.325128968249,-0.32503830181,-0.324947632382,-0.324856959968,-0.324766284568,-0.324675606182,-0.324584924813,-0.324494240459,-0.324403553123,-0.324312862805,-0.324222169507,-0.324131473228,-0.324040773969,-0.323950071732,-0.323859366518,-0.323768658326,-0.323677947159,-0.323587233016,-0.3234965159,-0.323405795809,-0.323315072746,-0.323224346711,-0.323133617705,-0.323042885729,-0.322952150783,-0.322861412869,-0.322770671988,-0.322679928139,-0.322589181325,-0.322498431545,-0.322407678801,-0.322316923094,-0.322226164423,-0.322135402791,-0.322044638198,-0.321953870645,-0.321863100133,-0.321772326662,-0.321681550233,-0.321590770847,-0.321499988506,-0.321409203209,-0.321318414958,-0.321227623754,-0.321136829597,-0.321046032488,-0.320955232428,-0.320864429418,-0.320773623458,-0.320682814551,-0.320592002695,-0.320501187893,-0.320410370144,-0.320319549451,-0.320228725813,-0.320137899232,-0.320047069708,-0.319956237242,-0.319865401836,-0.319774563489,-0.319683722203,-0.319592877978,-0.319502030816,-0.319411180717,-0.319320327682,-0.319229471712,-0.319138612808,-0.31904775097,-0.318956886199,-0.318866018497,-0.318775147864,-0.318684274301,-0.318593397808,-0.318502518387,-0.318411636039,-0.318320750763,-0.318229862562,-0.318138971436,-0.318048077385,-0.317957180411,-0.317866280514,-0.317775377696,-0.317684471956,-0.317593563297,-0.317502651718,-0.317411737221,-0.317320819806,-0.317229899475,-0.317138976228,-0.317048050065,-0.316957120989,-0.316866188998,-0.316775254096,-0.316684316281,-0.316593375556,-0.316502431921,-0.316411485376,-0.316320535923,-0.316229583563,-0.316138628296,-0.316047670123,-0.315956709045,-0.315865745062,-0.315774778176,-0.315683808388,-0.315592835698,-0.315501860108,-0.315410881617,-0.315319900227,-0.315228915938,-0.315137928753,-0.31504693867,-0.314955945692,-0.314864949818,-0.314773951051,-0.31468294939,-0.314591944836,-0.314500937391,-0.314409927055,-0.314318913829,-0.314227897714,-0.314136878711,-0.31404585682,-0.313954832043,-0.31386380438,-0.313772773831,-0.313681740399,-0.313590704083,-0.313499664885,-0.313408622805,-0.313317577845,-0.313226530004,-0.313135479285,-0.313044425687,-0.312953369212,-0.31286230986,-0.312771247632,-0.312680182529,-0.312589114553,-0.312498043703,-0.31240696998,-0.312315893386,-0.312224813922,-0.312133731587,-0.312042646384,-0.311951558312,-0.311860467372,-0.311769373567,-0.311678276895,-0.311587177359,-0.311496074958,-0.311404969695,-0.311313861569,-0.311222750581,-0.311131636733,-0.311040520025,-0.310949400458,-0.310858278032,-0.31076715275,-0.31067602461,-0.310584893616,-0.310493759766,-0.310402623062,-0.310311483506,-0.310220341096,-0.310129195836,-0.310038047725,-0.309946896764,-0.309855742954,-0.309764586295,-0.30967342679,-0.309582264438,-0.309491099241,-0.309399931198,-0.309308760312,-0.309217586583,-0.309126410011,-0.309035230598,-0.308944048345,-0.308852863252,-0.308761675319,-0.308670484549,-0.308579290942,-0.308488094498,-0.308396895218,-0.308305693104,-0.308214488156,-0.308123280375,-0.308032069761,-0.307940856317,-0.307849640042,-0.307758420937,-0.307667199003,-0.307575974241,-0.307484746652,-0.307393516237,-0.307302282996,-0.307211046931,-0.307119808042,-0.307028566329,-0.306937321795,-0.306846074439,-0.306754824263,-0.306663571267,-0.306572315453,-0.30648105682,-0.306389795371,-0.306298531105,-0.306207264024,-0.306115994128,-0.306024721418,-0.305933445896,-0.305842167561,-0.305750886415,-0.305659602459,-0.305568315693,-0.305477026119,-0.305385733736,-0.305294438547,-0.305203140551,-0.30511183975,-0.305020536145,-0.304929229735,-0.304837920523,-0.304746608509,-0.304655293694,-0.304563976079,-0.304472655663,-0.30438133245,-0.304290006438,-0.30419867763,-0.304107346025,-0.304016011625,-0.303924674431,-0.303833334443,-0.303741991662,-0.30365064609,-0.303559297726,-0.303467946572,-0.303376592629,-0.303285235897,-0.303193876377,-0.30310251407,-0.303011148978,-0.3029197811,-0.302828410438,-0.302737036992,-0.302645660763,-0.302554281753,-0.302462899962,-0.30237151539,-0.302280128039,-0.30218873791,-0.302097345003,-0.302005949319,-0.301914550859,-0.301823149625,-0.301731745615,-0.301640338833,-0.301548929277,-0.30145751695,-0.301366101852,-0.301274683984,-0.301183263347,-0.301091839941,-0.301000413768,-0.300908984828,-0.300817553122,-0.300726118651,-0.300634681416,-0.300543241417,-0.300451798656,-0.300360353133,-0.30026890485,-0.300177453806,-0.300086000003,-0.299994543442,-0.299903084124,-0.299811622048,-0.299720157217,-0.299628689631,-0.299537219291,-0.299445746198,-0.299354270352,-0.299262791754,-0.299171310406,-0.299079826308,-0.298988339461,-0.298896849865,-0.298805357523,-0.298713862433,-0.298622364598,-0.298530864018,-0.298439360694,-0.298347854627,-0.298256345817,-0.298164834266,-0.298073319974,-0.297981802943,-0.297890283172,-0.297798760664,-0.297707235418,-0.297615707435,-0.297524176717,-0.297432643264,-0.297341107077,-0.297249568157,-0.297158026505,-0.297066482122,-0.296974935008,-0.296883385164,-0.296791832591,-0.29670027729,-0.296608719262,-0.296517158508,-0.296425595028,-0.296334028823,-0.296242459895,-0.296150888244,-0.29605931387,-0.295967736775,-0.29587615696,-0.295784574425,-0.295692989171,-0.295601401199,-0.295509810511,-0.295418217106,-0.295326620985,-0.29523502215,-0.295143420601,-0.295051816339,-0.294960209366,-0.294868599681,-0.294776987285,-0.294685372181,-0.294593754367,-0.294502133846,-0.294410510617,-0.294318884683,-0.294227256043,-0.294135624698,-0.29404399065,-0.2939523539,-0.293860714447,-0.293769072293,-0.293677427439,-0.293585779886,-0.293494129634,-0.293402476684,-0.293310821037,-0.293219162694,-0.293127501656,-0.293035837924,-0.292944171498,-0.29285250238,-0.292760830569,-0.292669156068,-0.292577478876,-0.292485798996,-0.292394116426,-0.292302431169,-0.292210743226,-0.292119052596,-0.292027359281,-0.291935663282,-0.2918439646,-0.291752263235,-0.291660559188,-0.291568852461,-0.291477143053,-0.291385430966,-0.291293716201,-0.291201998759,-0.291110278639,-0.291018555844,-0.290926830374,-0.29083510223,-0.290743371412,-0.290651637922,-0.290559901761,-0.290468162928,-0.290376421426,-0.290284677254,-0.290192930415,-0.290101180908,-0.290009428734,-0.289917673895,-0.289825916391,-0.289734156223,-0.289642393391,-0.289550627898,-0.289458859743,-0.289367088927,-0.289275315451,-0.289183539317,-0.289091760524,-0.288999979074,-0.288908194968,-0.288816408206,-0.288724618789,-0.288632826719,-0.288541031995,-0.288449234619,-0.288357434592,-0.288265631915,-0.288173826587,-0.288082018611,-0.287990207987,-0.287898394715,-0.287806578798,-0.287714760235,-0.287622939027,-0.287531115176,-0.287439288681,-0.287347459545,-0.287255627767,-0.287163793349,-0.287071956291,-0.286980116595,-0.286888274261,-0.286796429289,-0.286704581682,-0.286612731439,-0.286520878562,-0.286429023051,-0.286337164908,-0.286245304132,-0.286153440725,-0.286061574688,-0.285969706022,-0.285877834727,-0.285785960804,-0.285694084255,-0.285602205079,-0.285510323278,-0.285418438853,-0.285326551805,-0.285234662133,-0.28514276984,-0.285050874926,-0.284958977392,-0.284867077238,-0.284775174466,-0.284683269077,-0.284591361071,-0.284499450449,-0.284407537211,-0.28431562136,-0.284223702895,-0.284131781818,-0.284039858129,-0.283947931829,-0.283856002919,-0.2837640714,-0.283672137273,-0.283580200538,-0.283488261197,-0.283396319249,-0.283304374697,-0.283212427541,-0.283120477782,-0.28302852542,-0.282936570457,-0.282844612893,-0.282752652729,-0.282660689967,-0.282568724606,-0.282476756647,-0.282384786093,-0.282292812942,-0.282200837197,-0.282108858858,-0.282016877926,-0.281924894402,-0.281832908286,-0.28174091958,-0.281648928284,-0.281556934399,-0.281464937926,-0.281372938866,-0.281280937219,-0.281188932988,-0.281096926171,-0.281004916771,-0.280912904788,-0.280820890222,-0.280728873076,-0.280636853349,-0.280544831042,-0.280452806157,-0.280360778694,-0.280268748654,-0.280176716038,-0.280084680846,-0.27999264308,-0.279900602741,-0.279808559828,-0.279716514344,-0.279624466288,-0.279532415663,-0.279440362467,-0.279348306704,-0.279256248372,-0.279164187474,-0.27907212401,-0.27898005798,-0.278887989387,-0.278795918229,-0.278703844509,-0.278611768228,-0.278519689385,-0.278427607982,-0.27833552402,-0.2782434375,-0.278151348422,-0.278059256787,-0.277967162597,-0.277875065852,-0.277782966552,-0.277690864699,-0.277598760293,-0.277506653336,-0.277414543828,-0.277322431771,-0.277230317164,-0.277138200009,-0.277046080306,-0.276953958057,-0.276861833262,-0.276769705923,-0.276677576039,-0.276585443612,-0.276493308643,-0.276401171132,-0.276309031081,-0.27621688849,-0.27612474336,-0.276032595692,-0.275940445487,-0.275848292746,-0.275756137468,-0.275663979657,-0.275571819311,-0.275479656432,-0.275387491021,-0.275295323079,-0.275203152607,-0.275110979605,-0.275018804074,-0.274926626015,-0.274834445429,-0.274742262317,-0.274650076679,-0.274557888517,-0.274465697831,-0.274373504623,-0.274281308892,-0.274189110641,-0.274096909869,-0.274004706577,-0.273912500767,-0.27382029244,-0.273728081595,-0.273635868234,-0.273543652358,-0.273451433968,-0.273359213064,-0.273266989648,-0.27317476372,-0.273082535281,-0.272990304331,-0.272898070873,-0.272805834906,-0.272713596431,-0.27262135545,-0.272529111963,-0.272436865971,-0.272344617474,-0.272252366475,-0.272160112972,-0.272067856969,-0.271975598464,-0.271883337459,-0.271791073956,-0.271698807954,-0.271606539455,-0.271514268459,-0.271421994967,-0.271329718981,-0.2712374405,-0.271145159527,-0.271052876061,-0.270960590104,-0.270868301656,-0.270776010718,-0.270683717291,-0.270591421377,-0.270499122975,-0.270406822087,-0.270314518713,-0.270222212854,-0.270129904512,-0.270037593687,-0.269945280379,-0.269852964591,-0.269760646322,-0.269668325573,-0.269576002346,-0.26948367664,-0.269391348458,-0.269299017799,-0.269206684665,-0.269114349057,-0.269022010975,-0.26892967042,-0.268837327394,-0.268744981896,-0.268652633928,-0.26856028349,-0.268467930584,-0.268375575211,-0.26828321737,-0.268190857063,-0.268098494292,-0.268006129056,-0.267913761356,-0.267821391194,-0.26772901857,-0.267636643486,-0.267544265941,-0.267451885937,-0.267359503474,-0.267267118554,-0.267174731178,-0.267082341345,-0.266989949058,-0.266897554317,-0.266805157122,-0.266712757475,-0.266620355376,-0.266527950827,-0.266435543828,-0.266343134379,-0.266250722483,-0.266158308139,-0.266065891349,-0.265973472113,-0.265881050432,-0.265788626308,-0.26569619974,-0.26560377073,-0.265511339279,-0.265418905387,-0.265326469056,-0.265234030286,-0.265141589077,-0.265049145432,-0.26495669935,-0.264864250833,-0.264771799882,-0.264679346496,-0.264586890678,-0.264494432428,-0.264401971746,-0.264309508635,-0.264217043093,-0.264124575124,-0.264032104726,-0.263939631901,-0.263847156651,-0.263754678975,-0.263662198875,-0.263569716351,-0.263477231404,-0.263384744036,-0.263292254247,-0.263199762037,-0.263107267409,-0.263014770362,-0.262922270897,-0.262829769016,-0.262737264719,-0.262644758006,-0.26255224888,-0.26245973734,-0.262367223388,-0.262274707024,-0.262182188249,-0.262089667065,-0.261997143471,-0.261904617469,-0.26181208906,-0.261719558244,-0.261627025023,-0.261534489397,-0.261441951366,-0.261349410933,-0.261256868097,-0.26116432286,-0.261071775223,-0.260979225186,-0.260886672749,-0.260794117915,-0.260701560684,-0.260609001056,-0.260516439033,-0.260423874615,-0.260331307804,-0.2602387386,-0.260146167003,-0.260053593015,-0.259961016637,-0.25986843787,-0.259775856714,-0.25968327317,-0.259590687239,-0.259498098922,-0.25940550822,-0.259312915133,-0.259220319663,-0.25912772181,-0.259035121575,-0.258942518959,-0.258849913963,-0.258757306588,-0.258664696834,-0.258572084703,-0.258479470195,-0.258386853311,-0.258294234052,-0.258201612419,-0.258108988413,-0.258016362034,-0.257923733283,-0.257831102162,-0.257738468671,-0.257645832811,-0.257553194582,-0.257460553986,-0.257367911024,-0.257275265696,-0.257182618003,-0.257089967946,-0.256997315526,-0.256904660743,-0.2568120036,-0.256719344096,-0.256626682232,-0.256534018009,-0.256441351428,-0.25634868249,-0.256256011196,-0.256163337546,-0.256070661542,-0.255977983184,-0.255885302473,-0.25579261941,-0.255699933995,-0.255607246231,-0.255514556117,-0.255421863654,-0.255329168844,-0.255236471686,-0.255143772183,-0.255051070334,-0.254958366141,-0.254865659605,-0.254772950725,-0.254680239504,-0.254587525942,-0.25449481004,-0.254402091799,-0.254309371219,-0.254216648301,-0.254123923047,-0.254031195457,-0.253938465532,-0.253845733273,-0.253752998681,-0.253660261756,-0.2535675225,-0.253474780913,-0.253382036996,-0.25328929075,-0.253196542175,-0.253103791274,-0.253011038046,-0.252918282492,-0.252825524613,-0.252732764411,-0.252640001886,-0.252547237038,-0.252454469869,-0.25236170038,-0.25226892857,-0.252176154442,-0.252083377996,-0.251990599233,-0.251897818154,-0.25180503476,-0.25171224905,-0.251619461028,-0.251526670692,-0.251433878044,-0.251341083085,-0.251248285816,-0.251155486238,-0.251062684351,-0.250969880156,-0.250877073654,-0.250784264847,-0.250691453734,-0.250598640317,-0.250505824596,-0.250413006573,-0.250320186248,-0.250227363622,-0.250134538696,-0.250041711471,-0.249948881948,-0.249856050127,-0.24976321601,-0.249670379597,-0.249577540889,-0.249484699886,-0.249391856591,-0.249299011003,-0.249206163124,-0.249113312954,-0.249020460494,-0.248927605746,-0.248834748709,-0.248741889385,-0.248649027775,-0.248556163879,-0.248463297698,-0.248370429234,-0.248277558487,-0.248184685457,-0.248091810146,-0.247998932555,-0.247906052685,-0.247813170535,-0.247720286108,-0.247627399404,-0.247534510423,-0.247441619168,-0.247348725638,-0.247255829834,-0.247162931758,-0.247070031409,-0.24697712879,-0.246884223901,-0.246791316742,-0.246698407315,-0.24660549562,-0.246512581659,-0.246419665431,-0.246326746939,-0.246233826182,-0.246140903162,-0.24604797788,-0.245955050336,-0.245862120531,-0.245769188466,-0.245676254142,-0.245583317561,-0.245490378721,-0.245397437625,-0.245304494274,-0.245211548668,-0.245118600807,-0.245025650694,-0.244932698329,-0.244839743712,-0.244746786844,-0.244653827727,-0.244560866362,-0.244467902748,-0.244374936887,-0.24428196878,-0.244188998427,-0.24409602583,-0.24400305099,-0.243910073906,-0.24381709458,-0.243724113014,-0.243631129207,-0.243538143161,-0.243445154876,-0.243352164353,-0.243259171594,-0.243166176599,-0.243073179368,-0.242980179903,-0.242887178205,-0.242794174274,-0.242701168112,-0.242608159718,-0.242515149095,-0.242422136243,-0.242329121162,-0.242236103854,-0.242143084319,-0.242050062558,-0.241957038573,-0.241864012364,-0.241770983931,-0.241677953276,-0.2415849204,-0.241491885303,-0.241398847986,-0.241305808451,-0.241212766697,-0.241119722726,-0.241026676539,-0.240933628137,-0.24084057752,-0.240747524689,-0.240654469645,-0.240561412389,-0.240468352922,-0.240375291244,-0.240282227358,-0.240189161262,-0.240096092959,-0.240003022449,-0.239909949733,-0.239816874811,-0.239723797685,-0.239630718356,-0.239537636824,-0.239444553091,-0.239351467156,-0.239258379021,-0.239165288687,-0.239072196155,-0.238979101425,-0.238886004499,-0.238792905377,-0.23869980406,-0.238606700549,-0.238513594844,-0.238420486948,-0.238327376859,-0.23823426458,-0.238141150112,-0.238048033454,-0.237954914608,-0.237861793575,-0.237768670356,-0.237675544951,-0.237582417362,-0.237489287588,-0.237396155632,-0.237303021494,-0.237209885174,-0.237116746674,-0.237023605994,-0.236930463136,-0.2368373181,-0.236744170887,-0.236651021498,-0.236557869934,-0.236464716195,-0.236371560283,-0.236278402198,-0.236185241941,-0.236092079513,-0.235998914916,-0.235905748149,-0.235812579213,-0.23571940811,-0.23562623484,-0.235533059405,-0.235439881805,-0.23534670204,-0.235253520112,-0.235160336022,-0.23506714977,-0.234973961358,-0.234880770785,-0.234787578054,-0.234694383165,-0.234601186118,-0.234507986915,-0.234414785556,-0.234321582043,-0.234228376376,-0.234135168556,-0.234041958584,-0.23394874646,-0.233855532186,-0.233762315763,-0.233669097191,-0.233575876471,-0.233482653604,-0.233389428591,-0.233296201432,-0.233202972129,-0.233109740683,-0.233016507094,-0.232923271363,-0.232830033492,-0.23273679348,-0.232643551328,-0.232550307039,-0.232457060612,-0.232363812048,-0.232270561348,-0.232177308513,-0.232084053545,-0.231990796442,-0.231897537208,-0.231804275842,-0.231711012345,-0.231617746719,-0.231524478963,-0.231431209079,-0.231337937069,-0.231244662931,-0.231151386668,-0.231058108281,-0.230964827769,-0.230871545135,-0.230778260378,-0.230684973501,-0.230591684502,-0.230498393385,-0.230405100148,-0.230311804794,-0.230218507323,-0.230125207735,-0.230031906033,-0.229938602216,-0.229845296285,-0.229751988242,-0.229658678087,-0.229565365821,-0.229472051444,-0.229378734959,-0.229285416365,-0.229192095664,-0.229098772856,-0.229005447942,-0.228912120923,-0.2288187918,-0.228725460574,-0.228632127245,-0.228538791815,-0.228445454284,-0.228352114653,-0.228258772924,-0.228165429096,-0.228072083171,-0.22797873515,-0.227885385033,-0.227792032821,-0.227698678516,-0.227605322117,-0.227511963627,-0.227418603045,-0.227325240373,-0.227231875611,-0.227138508761,-0.227045139823,-0.226951768798,-0.226858395687,-0.226765020491,-0.22667164321,-0.226578263846,-0.226484882399,-0.22639149887,-0.22629811326,-0.226204725571,-0.226111335802,-0.226017943954,-0.22592455003,-0.225831154028,-0.225737755951,-0.225644355799,-0.225550953572,-0.225457549273,-0.225364142901,-0.225270734458,-0.225177323944,-0.22508391136,-0.224990496707,-0.224897079986,-0.224803661198,-0.224710240344,-0.224616817424,-0.22452339244,-0.224429965392,-0.22433653628,-0.224243105107,-0.224149671873,-0.224056236578,-0.223962799224,-0.223869359811,-0.223775918341,-0.223682474813,-0.22358902923,-0.223495581591,-0.223402131898,-0.223308680152,-0.223215226353,-0.223121770502,-0.2230283126,-0.222934852648,-0.222841390647,-0.222747926598,-0.222654460502,-0.222560992358,-0.222467522169,-0.222374049935,-0.222280575658,-0.222187099337,-0.222093620973,-0.222000140568,-0.221906658123,-0.221813173638,-0.221719687114,-0.221626198552,-0.221532707953,-0.221439215318,-0.221345720647,-0.221252223942,-0.221158725203,-0.221065224431,-0.220971721627,-0.220878216792,-0.220784709927,-0.220691201032,-0.220597690109,-0.220504177158,-0.22041066218,-0.220317145177,-0.220223626148,-0.220130105095,-0.220036582018,-0.219943056919,-0.219849529799,-0.219756000657,-0.219662469496,-0.219568936315,-0.219475401117,-0.219381863901,-0.219288324668,-0.21919478342,-0.219101240157,-0.21900769488,-0.21891414759,-0.218820598288,-0.218727046974,-0.21863349365,-0.218539938316,-0.218446380974,-0.218352821623,-0.218259260266,-0.218165696902,-0.218072131533,-0.21797856416,-0.217884994783,-0.217791423403,-0.217697850021,-0.217604274638,-0.217510697256,-0.217417117873,-0.217323536493,-0.217229953114,-0.217136367739,-0.217042780369,-0.216949191003,-0.216855599643,-0.216762006289,-0.216668410944,-0.216574813606,-0.216481214278,-0.21638761296,-0.216294009653,-0.216200404358,-0.216106797076,-0.216013187808,-0.215919576553,-0.215825963314,-0.215732348092,-0.215638730886,-0.215545111698,-0.215451490529,-0.21535786738,-0.215264242251,-0.215170615143,-0.215076986058,-0.214983354995,-0.214889721957,-0.214796086943,-0.214702449955,-0.214608810994,-0.21451517006,-0.214421527154,-0.214327882277,-0.21423423543,-0.214140586614,-0.214046935829,-0.213953283078,-0.213859628359,-0.213765971675,-0.213672313026,-0.213578652412,-0.213484989836,-0.213391325297,-0.213297658797,-0.213203990337,-0.213110319916,-0.213016647537,-0.2129229732,-0.212829296905,-0.212735618654,-0.212641938448,-0.212548256288,-0.212454572173,-0.212360886106,-0.212267198087,-0.212173508116,-0.212079816196,-0.211986122326,-0.211892426507,-0.211798728741,-0.211705029028,-0.211611327369,-0.211517623765,-0.211423918217,-0.211330210725,-0.211236501291,-0.211142789916,-0.211049076599,-0.210955361343,-0.210861644147,-0.210767925013,-0.210674203942,-0.210580480935,-0.210486755992,-0.210393029114,-0.210299300302,-0.210205569557,-0.21011183688,-0.210018102272,-0.209924365734,-0.209830627265,-0.209736886868,-0.209643144543,-0.209549400292,-0.209455654114,-0.20936190601,-0.209268155983,-0.209174404032,-0.209080650158,-0.208986894362,-0.208893136645,-0.208799377009,-0.208705615453,-0.208611851978,-0.208518086586,-0.208424319278,-0.208330550053,-0.208236778914,-0.208143005861,-0.208049230894,-0.207955454015,-0.207861675225,-0.207767894524,-0.207674111913,-0.207580327394,-0.207486540966,-0.207392752631,-0.20729896239,-0.207205170243,-0.207111376192,-0.207017580237,-0.20692378238,-0.20682998262,-0.206736180959,-0.206642377398,-0.206548571937,-0.206454764578,-0.206360955321,-0.206267144167,-0.206173331118,-0.206079516173,-0.205985699334,-0.205891880602,-0.205798059977,-0.20570423746,-0.205610413053,-0.205516586756,-0.20542275857,-0.205328928495,-0.205235096533,-0.205141262685,-0.205047426951,-0.204953589332,-0.20485974983,-0.204765908444,-0.204672065176,-0.204578220027,-0.204484372998,-0.204390524089,-0.204296673301,-0.204202820635,-0.204108966093,-0.204015109674,-0.20392125138,-0.203827391212,-0.20373352917,-0.203639665255,-0.203545799469,-0.203451931811,-0.203358062284,-0.203264190887,-0.203170317622,-0.203076442489,-0.20298256549,-0.202888686625,-0.202794805895,-0.202700923302,-0.202607038844,-0.202513152525,-0.202419264344,-0.202325374303,-0.202231482401,-0.202137588641,-0.202043693023,-0.201949795548,-0.201855896217,-0.20176199503,-0.201668091988,-0.201574187093,-0.201480280345,-0.201386371745,-0.201292461294,-0.201198548993,-0.201104634842,-0.201010718843,-0.200916800996,-0.200822881302,-0.200728959763,-0.200635036378,-0.20054111115,-0.200447184078,-0.200353255163,-0.200259324407,-0.20016539181,-0.200071457373,-0.199977521097,-0.199883582983,-0.199789643032,-0.199695701244,-0.199601757621,-0.199507812163,-0.199413864871,-0.199319915747,-0.19922596479,-0.199132012002,-0.199038057383,-0.198944100935,-0.198850142659,-0.198756182554,-0.198662220623,-0.198568256866,-0.198474291283,-0.198380323876,-0.198286354646,-0.198192383593,-0.198098410718,-0.198004436022,-0.197910459507,-0.197816481172,-0.197722501019,-0.197628519048,-0.197534535261,-0.197440549659,-0.197346562241,-0.197252573009,-0.197158581965,-0.197064589108,-0.19697059444,-0.196876597961,-0.196782599672,-0.196688599575,-0.19659459767,-0.196500593958,-0.19640658844,-0.196312581116,-0.196218571988,-0.196124561056,-0.196030548321,-0.195936533785,-0.195842517448,-0.19574849931,-0.195654479373,-0.195560457638,-0.195466434105,-0.195372408776,-0.195278381651,-0.19518435273,-0.195090322016,-0.194996289509,-0.194902255209,-0.194808219117,-0.194714181235,-0.194620141563,-0.194526100103,-0.194432056854,-0.194338011818,-0.194243964996,-0.194149916388,-0.194055865996,-0.19396181382,-0.193867759861,-0.19377370412,-0.193679646598,-0.193585587296,-0.193491526214,-0.193397463354,-0.193303398716,-0.193209332302,-0.193115264111,-0.193021194145,-0.192927122405,-0.192833048892,-0.192738973607,-0.192644896549,-0.192550817721,-0.192456737123,-0.192362654756,-0.192268570621,-0.192174484719,-0.19208039705,-0.191986307615,-0.191892216416,-0.191798123453,-0.191704028728,-0.19160993224,-0.19151583399,-0.191421733981,-0.191327632212,-0.191233528684,-0.191139423398,-0.191045316356,-0.190951207557,-0.190857097004,-0.190762984696,-0.190668870634,-0.19057475482,-0.190480637254,-0.190386517938,-0.190292396871,-0.190198274056,-0.190104149492,-0.19001002318,-0.189915895122,-0.189821765319,-0.18972763377,-0.189633500478,-0.189539365443,-0.189445228665,-0.189351090146,-0.189256949887,-0.189162807888,-0.18906866415,-0.188974518674,-0.188880371462,-0.188786222513,-0.188692071829,-0.18859791941,-0.188503765258,-0.188409609373,-0.188315451757,-0.188221292409,-0.188127131332,-0.188032968525,-0.18793880399,-0.187844637727,-0.187750469738,-0.187656300023,-0.187562128583,-0.187467955419,-0.187373780531,-0.187279603922,-0.187185425591,-0.18709124554,-0.186997063768,-0.186902880278,-0.18680869507,-0.186714508145,-0.186620319504,-0.186526129147,-0.186431937076,-0.186337743291,-0.186243547794,-0.186149350584,-0.186055151663,-0.185960951033,-0.185866748693,-0.185772544644,-0.185678338888,-0.185584131425,-0.185489922257,-0.185395711383,-0.185301498805,-0.185207284524,-0.185113068541,-0.185018850856,-0.18492463147,-0.184830410385,-0.1847361876,-0.184641963118,-0.184547736939,-0.184453509063,-0.184359279491,-0.184265048226,-0.184170815266,-0.184076580613,-0.183982344269,-0.183888106233,-0.183793866507,-0.183699625092,-0.183605381988,-0.183511137197,-0.183416890719,-0.183322642555,-0.183228392705,-0.183134141172,-0.183039887955,-0.182945633056,-0.182851376475,-0.182757118214,-0.182662858272,-0.182568596652,-0.182474333353,-0.182380068377,-0.182285801725,-0.182191533397,-0.182097263395,-0.182002991719,-0.18190871837,-0.181814443348,-0.181720166656,-0.181625888293,-0.181531608261,-0.18143732656,-0.181343043192,-0.181248758156,-0.181154471455,-0.181060183088,-0.180965893058,-0.180871601363,-0.180777308007,-0.180683012988,-0.180588716309,-0.18049441797,-0.180400117972,-0.180305816315,-0.180211513002,-0.180117208031,-0.180022901406,-0.179928593125,-0.179834283191,-0.179739971603,-0.179645658364,-0.179551343473,-0.179457026932,-0.179362708741,-0.179268388902,-0.179174067415,-0.179079744281,-0.1789854195,-0.178891093075,-0.178796765005,-0.178702435292,-0.178608103936,-0.178513770939,-0.178419436301,-0.178325100022,-0.178230762105,-0.178136422549,-0.178042081356,-0.177947738526,-0.177853394061,-0.177759047961,-0.177664700227,-0.17757035086,-0.177475999861,-0.17738164723,-0.177287292969,-0.177192937079,-0.177098579559,-0.177004220412,-0.176909859638,-0.176815497238,-0.176721133212,-0.176626767562,-0.176532400289,-0.176438031393,-0.176343660875,-0.176249288736,-0.176154914977,-0.176060539599,-0.175966162603,-0.175871783989,-0.175777403759,-0.175683021913,-0.175588638452,-0.175494253377,-0.175399866689,-0.175305478389,-0.175211088478,-0.175116696956,-0.175022303824,-0.174927909083,-0.174833512735,-0.17473911478,-0.174644715218,-0.174550314051,-0.17445591128,-0.174361506905,-0.174267100928,-0.174172693348,-0.174078284168,-0.173983873387,-0.173889461008,-0.17379504703,-0.173700631454,-0.173606214282,-0.173511795514,-0.173417375152,-0.173322953195,-0.173228529645,-0.173134104503,-0.173039677769,-0.172945249445,-0.172850819531,-0.172756388029,-0.172661954938,-0.172567520261,-0.172473083997,-0.172378646148,-0.172284206714,-0.172189765697,-0.172095323097,-0.172000878915,-0.171906433152,-0.171811985809,-0.171717536887,-0.171623086386,-0.171528634308,-0.171434180654,-0.171339725423,-0.171245268618,-0.171150810238,-0.171056350285,-0.17096188876,-0.170867425664,-0.170772960997,-0.17067849476,-0.170584026954,-0.170489557581,-0.17039508664,-0.170300614133,-0.170206140061,-0.170111664424,-0.170017187224,-0.169922708461,-0.169828228136,-0.16973374625,-0.169639262803,-0.169544777798,-0.169450291234,-0.169355803112,-0.169261313434,-0.1691668222,-0.169072329411,-0.168977835068,-0.168883339172,-0.168788841724,-0.168694342724,-0.168599842173,-0.168505340073,-0.168410836423,-0.168316331226,-0.168221824482,-0.168127316191,-0.168032806355,-0.167938294975,-0.167843782051,-0.167749267584,-0.167654751575,-0.167560234025,-0.167465714935,-0.167371194305,-0.167276672137,-0.167182148432,-0.16708762319,-0.166993096412,-0.166898568099,-0.166804038252,-0.166709506872,-0.166614973959,-0.166520439515,-0.16642590354,-0.166331366036,-0.166236827003,-0.166142286441,-0.166047744353,-0.165953200738,-0.165858655598,-0.165764108933,-0.165669560745,-0.165575011034,-0.1654804598,-0.165385907046,-0.165291352772,-0.165196796978,-0.165102239666,-0.165007680836,-0.16491312049,-0.164818558628,-0.16472399525,-0.164629430359,-0.164534863954,-0.164440296037,-0.164345726609,-0.16425115567,-0.164156583221,-0.164062009263,-0.163967433797,-0.163872856825,-0.163778278345,-0.163683698361,-0.163589116871,-0.163494533879,-0.163399949383,-0.163305363385,-0.163210775887,-0.163116186888,-0.16302159639,-0.162927004393,-0.162832410899,-0.162737815908,-0.162643219421,-0.162548621439,-0.162454021963,-0.162359420994,-0.162264818533,-0.16217021458,-0.162075609136,-0.161981002202,-0.16188639378,-0.16179178387,-0.161697172472,-0.161602559588,-0.161507945219,-0.161413329366,-0.161318712028,-0.161224093208,-0.161129472906,-0.161034851122,-0.160940227859,-0.160845603116,-0.160750976895,-0.160656349196,-0.160561720021,-0.160467089369,-0.160372457243,-0.160277823642,-0.160183188569,-0.160088552023,-0.159993914005,-0.159899274517,-0.159804633559,-0.159709991132,-0.159615347237,-0.159520701875,-0.159426055047,-0.159331406753,-0.159236756995,-0.159142105773,-0.159047453088,-0.158952798942,-0.158858143334,-0.158763486266,-0.158668827739,-0.158574167753,-0.15847950631,-0.15838484341,-0.158290179054,-0.158195513243,-0.158100845978,-0.15800617726,-0.15791150709,-0.157816835468,-0.157722162395,-0.157627487873,-0.157532811902,-0.157438134483,-0.157343455616,-0.157248775304,-0.157154093546,-0.157059410343,-0.156964725697,-0.156870039608,-0.156775352077,-0.156680663105,-0.156585972693,-0.156491280842,-0.156396587552,-0.156301892824,-0.15620719666,-0.15611249906,-0.156017800025,-0.155923099556,-0.155828397654,-0.15573369432,-0.155638989554,-0.155544283357,-0.155449575731,-0.155354866676,-0.155260156193,-0.155165444282,-0.155070730946,-0.154976016184,-0.154881299997,-0.154786582387,-0.154691863355,-0.1545971429,-0.154502421024,-0.154407697728,-0.154312973013,-0.154218246879,-0.154123519328,-0.154028790361,-0.153934059977,-0.153839328178,-0.153744594966,-0.15364986034,-0.153555124302,-0.153460386852,-0.153365647992,-0.153270907723,-0.153176166044,-0.153081422957,-0.152986678464,-0.152891932564,-0.152797185258,-0.152702436549,-0.152607686435,-0.152512934919,-0.152418182001,-0.152323427682,-0.152228671963,-0.152133914845,-0.152039156328,-0.151944396414,-0.151849635103,-0.151754872397,-0.151660108295,-0.151565342799,-0.151470575911,-0.15137580763,-0.151281037957,-0.151186266894,-0.151091494442,-0.1509967206,-0.150901945371,-0.150807168755,-0.150712390752,-0.150617611364,-0.150522830592,-0.150428048436,-0.150333264897,-0.150238479977,-0.150143693675,-0.150048905994,-0.149954116933,-0.149859326494,-0.149764534677,-0.149669741484,-0.149574946915,-0.149480150972,-0.149385353654,-0.149290554963,-0.1491957549,-0.149100953465,-0.14900615066,-0.148911346486,-0.148816540942,-0.148721734031,-0.148626925753,-0.148532116108,-0.148437305099,-0.148342492725,-0.148247678987,-0.148152863887,-0.148058047424,-0.147963229601,-0.147868410418,-0.147773589876,-0.147678767976,-0.147583944718,-0.147489120103,-0.147394294133,-0.147299466808,-0.147204638129,-0.147109808097,-0.147014976713,-0.146920143977,-0.146825309891,-0.146730474455,-0.146635637671,-0.146540799539,-0.14644596006,-0.146351119234,-0.146256277064,-0.146161433549,-0.146066588691,-0.14597174249,-0.145876894947,-0.145782046064,-0.14568719584,-0.145592344277,-0.145497491376,-0.145402637138,-0.145307781563,-0.145212924653,-0.145118066408,-0.145023206829,-0.144928345916,-0.144833483672,-0.144738620097,-0.144643755191,-0.144548888955,-0.144454021391,-0.144359152499,-0.14426428228,-0.144169410735,-0.144074537865,-0.143979663671,-0.143884788153,-0.143789911312,-0.14369503315,-0.143600153667,-0.143505272865,-0.143410390743,-0.143315507303,-0.143220622545,-0.143125736471,-0.143030849082,-0.142935960378,-0.14284107036,-0.142746179029,-0.142651286386,-0.142556392431,-0.142461497167,-0.142366600593,-0.14227170271,-0.142176803519,-0.142081903022,-0.141987001219,-0.14189209811,-0.141797193698,-0.141702287982,-0.141607380963,-0.141512472643,-0.141417563022,-0.141322652102,-0.141227739882,-0.141132826364,-0.141037911549,-0.140942995437,-0.14084807803,-0.140753159328,-0.140658239333,-0.140563318044,-0.140468395464,-0.140373471592,-0.140278546431,-0.140183619979,-0.14008869224,-0.139993763212,-0.139898832898,-0.139803901298,-0.139708968412,-0.139614034243,-0.13951909879,-0.139424162055,-0.139329224038,-0.139234284741,-0.139139344164,-0.139044402308,-0.138949459173,-0.138854514762,-0.138759569074,-0.138664622111,-0.138569673873,-0.138474724362,-0.138379773578,-0.138284821522,-0.138189868194,-0.138094913597,-0.13799995773,-0.137905000595,-0.137810042192,-0.137715082522,-0.137620121586,-0.137525159386,-0.137430195921,-0.137335231194,-0.137240265204,-0.137145297952,-0.13705032944,-0.136955359668,-0.136860388637,-0.136765416348,-0.136670442802,-0.136575468,-0.136480491942,-0.13638551463,-0.136290536064,-0.136195556246,-0.136100575176,-0.136005592854,-0.135910609283,-0.135815624462,-0.135720638393,-0.135625651076,-0.135530662513,-0.135435672704,-0.13534068165,-0.135245689352,-0.135150695811,-0.135055701028,-0.134960705003,-0.134865707738,-0.134770709233,-0.134675709489,-0.134580708507,-0.134485706288,-0.134390702834,-0.134295698143,-0.134200692219,-0.134105685061,-0.13401067667,-0.133915667047,-0.133820656194,-0.13372564411,-0.133630630797,-0.133535616256,-0.133440600488,-0.133345583493,-0.133250565272,-0.133155545827,-0.133060525157,-0.132965503265,-0.13287048015,-0.132775455814,-0.132680430257,-0.132585403481,-0.132490375487,-0.132395346274,-0.132300315844,-0.132205284199,-0.132110251338,-0.132015217263,-0.131920181974,-0.131825145473,-0.13173010776,-0.131635068837,-0.131540028703,-0.13144498736,-0.131349944809,-0.131254901051,-0.131159856086,-0.131064809916,-0.130969762541,-0.130874713962,-0.13077966418,-0.130684613196,-0.13058956101,-0.130494507625,-0.13039945304,-0.130304397256,-0.130209340275,-0.130114282096,-0.130019222722,-0.129924162153,-0.129829100389,-0.129734037432,-0.129638973283,-0.129543907942,-0.12944884141,-0.129353773688,-0.129258704778,-0.129163634679,-0.129068563393,-0.128973490921,-0.128878417263,-0.12878334242,-0.128688266394,-0.128593189185,-0.128498110794,-0.128403031222,-0.128307950469,-0.128212868537,-0.128117785427,-0.128022701139,-0.127927615674,-0.127832529033,-0.127737441218,-0.127642352228,-0.127547262065,-0.127452170729,-0.127357078222,-0.127261984545,-0.127166889697,-0.127071793681,-0.126976696497,-0.126881598145,-0.126786498628,-0.126691397945,-0.126596296097,-0.126501193086,-0.126406088912,-0.126310983576,-0.126215877079,-0.126120769422,-0.126025660606,-0.125930550631,-0.125835439498,-0.12574032721,-0.125645213765,-0.125550099165,-0.125454983412,-0.125359866505,-0.125264748446,-0.125169629235,-0.125074508874,-0.124979387363,-0.124884264704,-0.124789140897,-0.124694015942,-0.124598889842,-0.124503762596,-0.124408634205,-0.124313504672,-0.124218373995,-0.124123242177,-0.124028109218,-0.123932975119,-0.12383783988,-0.123742703503,-0.123647565989,-0.123552427339,-0.123457287552,-0.123362146631,-0.123267004576,-0.123171861388,-0.123076717068,-0.122981571617,-0.122886425035,-0.122791277323,-0.122696128483,-0.122600978515,-0.12250582742,-0.122410675199,-0.122315521853,-0.122220367383,-0.122125211789,-0.122030055073,-0.121934897235,-0.121839738276,-0.121744578197,-0.121649416999,-0.121554254683,-0.12145909125,-0.1213639267,-0.121268761035,-0.121173594255,-0.121078426361,-0.120983257354,-0.120888087236,-0.120792916006,-0.120697743666,-0.120602570216,-0.120507395658,-0.120412219992,-0.120317043219,-0.120221865341,-0.120126686357,-0.120031506269,-0.119936325078,-0.119841142785,-0.119745959389,-0.119650774894,-0.119555589298,-0.119460402604,-0.119365214811,-0.119270025921,-0.119174835935,-0.119079644854,-0.118984452678,-0.118889259408,-0.118794065045,-0.118698869591,-0.118603673045,-0.11850847541,-0.118413276685,-0.118318076871,-0.11822287597,-0.118127673983,-0.118032470909,-0.117937266751,-0.117842061508,-0.117746855183,-0.117651647775,-0.117556439285,-0.117461229715,-0.117366019066,-0.117270807338,-0.117175594531,-0.117080380648,-0.116985165688,-0.116889949653,-0.116794732544,-0.116699514361,-0.116604295106,-0.116509074778,-0.11641385338,-0.116318630912,-0.116223407374,-0.116128182769,-0.116032957095,-0.115937730356,-0.11584250255,-0.11574727368,-0.115652043746,-0.115556812749,-0.115461580689,-0.115366347569,-0.115271113388,-0.115175878147,-0.115080641848,-0.114985404491,-0.114890166077,-0.114794926607,-0.114699686081,-0.114604444502,-0.114509201869,-0.114413958183,-0.114318713446,-0.114223467658,-0.11412822082,-0.114032972933,-0.113937723998,-0.113842474016,-0.113747222987,-0.113651970913,-0.113556717794,-0.113461463631,-0.113366208425,-0.113270952178,-0.113175694889,-0.113080436559,-0.112985177191,-0.112889916784,-0.112794655339,-0.112699392857,-0.11260412934,-0.112508864787,-0.112413599201,-0.112318332581,-0.112223064928,-0.112127796244,-0.11203252653,-0.111937255786,-0.111841984012,-0.111746711211,-0.111651437383,-0.111556162528,-0.111460886648,-0.111365609743,-0.111270331815,-0.111175052864,-0.111079772891,-0.110984491897,-0.110889209883,-0.11079392685,-0.110698642798,-0.110603357729,-0.110508071643,-0.110412784541,-0.110317496424,-0.110222207294,-0.11012691715,-0.110031625994,-0.109936333827,-0.109841040649,-0.109745746461,-0.109650451265,-0.109555155061,-0.10945985785,-0.109364559632,-0.10926926041,-0.109173960183,-0.109078658952,-0.108983356719,-0.108888053485,-0.108792749249,-0.108697444013,-0.108602137778,-0.108506830545,-0.108411522315,-0.108316213088,-0.108220902865,-0.108125591648,-0.108030279437,-0.107934966233,-0.107839652036,-0.107744336849,-0.107649020671,-0.107553703504,-0.107458385348,-0.107363066204,-0.107267746073,-0.107172424957,-0.107077102855,-0.106981779769,-0.1068864557,-0.106791130648,-0.106695804615,-0.106600477601,-0.106505149607,-0.106409820634,-0.106314490683,-0.106219159755,-0.106123827851,-0.106028494971,-0.105933161116,-0.105837826288,-0.105742490487,-0.105647153713,-0.105551815969,-0.105456477255,-0.105361137571,-0.105265796919,-0.105170455299,-0.105075112713,-0.10497976916,-0.104884424643,-0.104789079162,-0.104693732717,-0.10459838531,-0.104503036942,-0.104407687613,-0.104312337325,-0.104216986077,-0.104121633872,-0.10402628071,-0.103930926591,-0.103835571517,-0.103740215489,-0.103644858507,-0.103549500573,-0.103454141686,-0.103358781849,-0.103263421062,-0.103168059325,-0.10307269664,-0.102977333008,-0.102881968429,-0.102786602905,-0.102691236436,-0.102595869022,-0.102500500666,-0.102405131368,-0.102309761128,-0.102214389948,-0.102119017829,-0.10202364477,-0.101928270774,-0.101832895841,-0.101737519973,-0.101642143168,-0.10154676543,-0.101451386758,-0.101356007154,-0.101260626618,-0.101165245151,-0.101069862755,-0.100974479429,-0.100879095176,-0.100783709995,-0.100688323887,-0.100592936854,-0.100497548897,-0.100402160016,-0.100306770211,-0.100211379485,-0.100115987838,-0.100020595271,-0.0999252017837,-0.0998298073783,-0.0997344120553,-0.0996390158156,-0.0995436186601,-0.0994482205895,-0.0993528216049,-0.099257421707,-0.0991620208967,-0.099066619175,-0.0989712165427,-0.0988758130007,-0.0987804085498,-0.098685003191,-0.098589596925,-0.0984941897529,-0.0983987816754,-0.0983033726934,-0.0982079628079,-0.0981125520196,-0.0980171403296,-0.0979217277385,-0.0978263142474,-0.0977308998571,-0.0976354845685,-0.0975400683825,-0.0974446512998,-0.0973492333215,-0.0972538144484,-0.0971583946813,-0.0970629740212,-0.0969675524688,-0.0968721300252,-0.0967767066912,-0.0966812824676,-0.0965858573553,-0.0964904313553,-0.0963950044683,-0.0962995766952,-0.096204148037,-0.0961087184946,-0.0960132880687,-0.0959178567602,-0.0958224245702,-0.0957269914993,-0.0956315575485,-0.0955361227188,-0.0954406870108,-0.0953452504256,-0.095249812964,-0.0951543746269,-0.0950589354152,-0.0949634953296,-0.0948680543712,-0.0947726125408,-0.0946771698393,-0.0945817262675,-0.0944862818264,-0.0943908365167,-0.0942953903394,-0.0941999432954,-0.0941044953855,-0.0940090466106,-0.0939135969716,-0.0938181464694,-0.0937226951048,-0.0936272428788,-0.0935317897921,-0.0934363358457,-0.0933408810405,-0.0932454253773,-0.093149968857,-0.0930545114805,-0.0929590532487,-0.0928635941624,-0.0927681342225,-0.0926726734299,-0.0925772117855,-0.0924817492901,-0.0923862859447,-0.0922908217501,-0.0921953567071,-0.0920998908167,-0.0920044240798,-0.0919089564971,-0.0918134880697,-0.0917180187983,-0.0916225486839,-0.0915270777273,-0.0914316059294,-0.0913361332911,-0.0912406598132,-0.0911451854967,-0.0910497103424,-0.0909542343511,-0.0908587575239,-0.0907632798615,-0.0906678013648,-0.0905723220347,-0.0904768418721,-0.0903813608779,-0.0902858790529,-0.0901903963979,-0.090094912914,-0.089999428602,-0.0899039434627,-0.089808457497,-0.0897129707058,-0.08961748309,-0.0895219946505,-0.0894265053881,-0.0893310153037,-0.0892355243981,-0.0891400326724,-0.0890445401273,-0.0889490467637,-0.0888535525825,-0.0887580575846,-0.0886625617709,-0.0885670651421,-0.0884715676993,-0.0883760694433,-0.088280570375,-0.0881850704952,-0.0880895698048,-0.0879940683047,-0.0878985659958,-0.0878030628789,-0.087707558955,-0.0876120542249,-0.0875165486895,-0.0874210423496,-0.0873255352062,-0.0872300272601,-0.0871345185122,-0.0870390089634,-0.0869434986145,-0.0868479874665,-0.0867524755202,-0.0866569627765,-0.0865614492363,-0.0864659349003,-0.0863704197697,-0.0862749038451,-0.0861793871275,-0.0860838696177,-0.0859883513167,-0.0858928322253,-0.0857973123444,-0.0857017916749,-0.0856062702176,-0.0855107479735,-0.0854152249433,-0.085319701128,-0.0852241765285,-0.0851286511456,-0.0850331249803,-0.0849375980333,-0.0848420703056,-0.0847465417981,-0.0846510125116,-0.0845554824469,-0.0844599516051,-0.0843644199869,-0.0842688875933,-0.0841733544251,-0.0840778204832,-0.0839822857685,-0.0838867502818,-0.083791214024,-0.0836956769961,-0.0836001391988,-0.0835046006332,-0.0834090612999,-0.0833135212,-0.0832179803343,-0.0831224387036,-0.0830268963089,-0.0829313531511,-0.0828358092309,-0.0827402645494,-0.0826447191073,-0.0825491729056,-0.0824536259451,-0.0823580782266,-0.0822625297512,-0.0821669805197,-0.0820714305328,-0.0819758797916,-0.0818803282969,-0.0817847760496,-0.0816892230505,-0.0815936693005,-0.0814981148006,-0.0814025595515,-0.0813070035542,-0.0812114468096,-0.0811158893185,-0.0810203310817,-0.0809247721003,-0.080829212375,-0.0807336519067,-0.0806380906964,-0.0805425287448,-0.080446966053,-0.0803514026216,-0.0802558384517,-0.0801602735441,-0.0800647078997,-0.0799691415193,-0.0798735744039,-0.0797780065543,-0.0796824379714,-0.0795868686561,-0.0794912986092,-0.0793957278317,-0.0793001563244,-0.0792045840882,-0.0791090111239,-0.0790134374325,-0.0789178630148,-0.0788222878717,-0.0787267120041,-0.0786311354129,-0.0785355580988,-0.078439980063,-0.0783444013061,-0.0782488218291,-0.0781532416328,-0.0780576607182,-0.077962079086,-0.0778664967373,-0.0777709136729,-0.0776753298935,-0.0775797454003,-0.0774841601939,-0.0773885742753,-0.0772929876453,-0.0771974003049,-0.0771018122549,-0.0770062234962,-0.0769106340297,-0.0768150438563,-0.0767194529767,-0.076623861392,-0.076528269103,-0.0764326761105,-0.0763370824155,-0.0762414880189,-0.0761458929214,-0.076050297124,-0.0759547006275,-0.075859103433,-0.0757635055411,-0.0756679069528,-0.075572307669,-0.0754767076906,-0.0753811070184,-0.0752855056533,-0.0751899035962,-0.0750943008479,-0.0749986974094,-0.0749030932816,-0.0748074884652,-0.0747118829613,-0.0746162767706,-0.074520669894,-0.0744250623325,-0.0743294540868,-0.074233845158,-0.0741382355468,-0.0740426252541,-0.0739470142809,-0.073851402628,-0.0737557902962,-0.0736601772865,-0.0735645635997,-0.0734689492367,-0.0733733341984,-0.0732777184857,-0.0731821020994,-0.0730864850405,-0.0729908673097,-0.072895248908,-0.0727996298364,-0.0727040100955,-0.0726083896864,-0.0725127686098,-0.0724171468668,-0.0723215244581,-0.0722259013846,-0.0721302776472,-0.0720346532469,-0.0719390281844,-0.0718434024607,-0.0717477760766,-0.071652149033,-0.0715565213308,-0.0714608929708,-0.0713652639541,-0.0712696342813,-0.0711740039534,-0.0710783729714,-0.070982741336,-0.0708871090481,-0.0707914761086,-0.0706958425185,-0.0706002082785,-0.0705045733896,-0.0704089378526,-0.0703133016685,-0.070217664838,-0.0701220273621,-0.0700263892417,-0.0699307504776,-0.0698351110707,-0.0697394710219,-0.0696438303321,-0.0695481890021,-0.0694525470328,-0.0693569044252,-0.06926126118,-0.0691656172982,-0.0690699727807,-0.0689743276283,-0.0688786818418,-0.0687830354223,-0.0686873883705,-0.0685917406874,-0.0684960923738,-0.0684004434305,-0.0683047938586,-0.0682091436588,-0.0681134928321,-0.0680178413792,-0.0679221893012,-0.0678265365988,-0.067730883273,-0.0676352293246,-0.0675395747545,-0.0674439195637,-0.0673482637529,-0.067252607323,-0.067156950275,-0.0670612926096,-0.0669656343279,-0.0668699754306,-0.0667743159187,-0.066678655793,-0.0665829950544,-0.0664873337038,-0.066391671742,-0.06629600917,-0.0662003459886,-0.0661046821988,-0.0660090178013,-0.065913352797,-0.0658176871869,-0.0657220209718,-0.0656263541526,-0.0655306867302,-0.0654350187054,-0.0653393500792,-0.0652436808524,-0.0651480110259,-0.0650523406005,-0.0649566695772,-0.0648609979569,-0.0647653257403,-0.0646696529285,-0.0645739795222,-0.0644783055224,-0.0643826309299,-0.0642869557456,-0.0641912799704,-0.0640956036051,-0.0639999266507,-0.063904249108,-0.063808570978,-0.0637128922614,-0.0636172129592,-0.0635215330722,-0.0634258526014,-0.0633301715475,-0.0632344899116,-0.0631388076944,-0.0630431248968,-0.0629474415198,-0.0628517575642,-0.0627560730308,-0.0626603879206,-0.0625647022345,-0.0624690159732,-0.0623733291378,-0.062277641729,-0.0621819537478,-0.0620862651951,-0.0619905760716,-0.0618948863784,-0.0617991961162,-0.061703505286,-0.0616078138886,-0.0615121219249,-0.0614164293958,-0.0613207363022,-0.061225042645,-0.0611293484249,-0.061033653643,-0.0609379583001,-0.0608422623971,-0.0607465659348,-0.0606508689141,-0.0605551713359,-0.0604594732012,-0.0603637745107,-0.0602680752653,-0.060172375466,-0.0600766751136,-0.059980974209,-0.059885272753,-0.0597895707466,-0.0596938681907,-0.059598165086,-0.0595024614335,-0.0594067572341,-0.0593110524886,-0.059215347198,-0.059119641363,-0.0590239349847,-0.0589282280638,-0.0588325206012,-0.0587368125979,-0.0586411040547,-0.0585453949724,-0.0584496853521,-0.0583539751944,-0.0582582645004,-0.0581625532709,-0.0580668415068,-0.0579711292089,-0.0578754163782,-0.0577797030155,-0.0576839891217,-0.0575882746977,-0.0574925597444,-0.0573968442626,-0.0573011282532,-0.0572054117171,-0.0571096946552,-0.0570139770683,-0.0569182589574,-0.0568225403233,-0.0567268211669,-0.0566311014891,-0.0565353812907,-0.0564396605727,-0.0563439393359,-0.0562482175812,-0.0561524953095,-0.0560567725216,-0.0559610492185,-0.055865325401,-0.05576960107,-0.0556738762264,-0.055578150871,-0.0554824250048,-0.0553866986286,-0.0552909717432,-0.0551952443497,-0.0550995164488,-0.0550037880415,-0.0549080591285,-0.0548123297109,-0.0547165997894,-0.054620869365,-0.0545251384386,-0.0544294070109,-0.054333675083,-0.0542379426556,-0.0541422097297,-0.0540464763061,-0.0539507423857,-0.0538550079695,-0.0537592730582,-0.0536635376527,-0.053567801754,-0.0534720653629,-0.0533763284804,-0.0532805911071,-0.0531848532442,-0.0530891148924,-0.0529933760526,-0.0528976367257,-0.0528018969125,-0.0527061566141,-0.0526104158311,-0.0525146745646,-0.0524189328154,-0.0523231905843,-0.0522274478723,-0.0521317046803,-0.052035961009,-0.0519402168595,-0.0518444722325,-0.051748727129,-0.0516529815499,-0.0515572354959,-0.051461488968,-0.0513657419672,-0.0512699944941,-0.0511742465499,-0.0510784981352,-0.050982749251,-0.0508869998982,-0.0507912500777,-0.0506954997903,-0.0505997490369,-0.0505039978184,-0.0504082461357,-0.0503124939897,-0.0502167413812,-0.0501209883111,-0.0500252347803,-0.0499294807897,-0.0498337263401,-0.0497379714325,-0.0496422160677,-0.0495464602466,-0.0494507039701,-0.049354947239,-0.0492591900543,-0.0491634324168,-0.0490676743274,-0.048971915787,-0.0488761567964,-0.0487803973566,-0.0486846374684,-0.0485888771327,-0.0484931163504,-0.0483973551224,-0.0483015934495,-0.0482058313326,-0.0481100687726,-0.0480143057704,-0.0479185423269,-0.0478227784429,-0.0477270141193,-0.047631249357,-0.047535484157,-0.0474397185199,-0.0473439524469,-0.0472481859386,-0.0471524189961,-0.0470566516201,-0.0469608838116,-0.0468651155715,-0.0467693469005,-0.0466735777997,-0.0465778082699,-0.0464820383119,-0.0463862679267,-0.0462904971151,-0.046194725878,-0.0460989542163,-0.0460031821309,-0.0459074096226,-0.0458116366924,-0.045715863341,-0.0456200895695,-0.0455243153786,-0.0454285407693,-0.0453327657424,-0.0452369902988,-0.0451412144394,-0.0450454381651,-0.0449496614767,-0.0448538843752,-0.0447581068613,-0.0446623289361,-0.0445665506003,-0.0444707718549,-0.0443749927008,-0.0442792131387,-0.0441834331696,-0.0440876527945,-0.043991872014,-0.0438960908292,-0.0438003092409,-0.0437045272501,-0.0436087448575,-0.043512962064,-0.0434171788706,-0.0433213952781,-0.0432256112874,-0.0431298268994,-0.043034042115,-0.0429382569349,-0.0428424713602,-0.0427466853918,-0.0426508990304,-0.0425551122769,-0.0424593251323,-0.0423635375974,-0.0422677496731,-0.0421719613603,-0.0420761726599,-0.0419803835727,-0.0418845940997,-0.0417888042416,-0.0416930139995,-0.0415972233741,-0.0415014323663,-0.0414056409771,-0.0413098492073,-0.0412140570577,-0.0411182645294,-0.0410224716231,-0.0409266783397,-0.0408308846801,-0.0407350906452,-0.0406392962359,-0.0405435014531,-0.0404477062976,-0.0403519107703,-0.040256114872,-0.0401603186038,-0.0400645219664,-0.0399687249608,-0.0398729275877,-0.0397771298482,-0.039681331743,-0.0395855332731,-0.0394897344394,-0.0393939352426,-0.0392981356838,-0.0392023357637,-0.0391065354833,-0.0390107348435,-0.038914933845,-0.0388191324889,-0.0387233307759,-0.038627528707,-0.0385317262831,-0.038435923505,-0.0383401203736,-0.0382443168897,-0.0381485130544,-0.0380527088683,-0.0379569043325,-0.0378610994479,-0.0377652942152,-0.0376694886353,-0.0375736827093,-0.0374778764378,-0.0373820698219,-0.0372862628624,-0.0371904555601,-0.037094647916,-0.0369988399309,-0.0369030316057,-0.0368072229414,-0.0367114139387,-0.0366156045985,-0.0365197949218,-0.0364239849094,-0.0363281745623,-0.0362323638812,-0.036136552867,-0.0360407415207,-0.0359449298431,-0.0358491178351,-0.0357533054976,-0.0356574928315,-0.0355616798376,-0.0354658665169,-0.0353700528701,-0.0352742388982,-0.0351784246021,-0.0350826099826,-0.0349867950407,-0.0348909797772,-0.034795164193,-0.0346993482889,-0.0346035320659,-0.0345077155248,-0.0344118986665,-0.034316081492,-0.034220264002,-0.0341244461974,-0.0340286280792,-0.0339328096482,-0.0338369909053,-0.0337411718514,-0.0336453524873,-0.033549532814,-0.0334537128323,-0.0333578925431,-0.0332620719473,-0.0331662510457,-0.0330704298393,-0.0329746083289,-0.0328787865154,-0.0327829643997,-0.0326871419827,-0.0325913192652,-0.0324954962481,-0.0323996729324,-0.0323038493188,-0.0322080254083,-0.0321122012018,-0.0320163767,-0.031920551904,-0.0318247268146,-0.0317289014327,-0.0316330757591,-0.0315372497948,-0.0314414235406,-0.0313455969973,-0.031249770166,-0.0311539430474,-0.0310581156424,-0.030962287952,-0.030866459977,-0.0307706317182,-0.0306748031766,-0.0305789743531,-0.0304831452485,-0.0303873158637,-0.0302914861995,-0.030195656257,-0.0300998260369,-0.0300039955401,-0.0299081647675,-0.02981233372,-0.0297165023985,-0.0296206708039,-0.0295248389369,-0.0294290067986,-0.0293331743898,-0.0292373417114,-0.0291415087642,-0.0290456755491,-0.0289498420671,-0.028854008319,-0.0287581743056,-0.028662340028,-0.0285665054868,-0.0284706706831,-0.0283748356177,-0.0282790002914,-0.0281831647053,-0.02808732886,-0.0279914927567,-0.027895656396,-0.0277998197789,-0.0277039829062,-0.027608145779,-0.0275123083979,-0.027416470764,-0.0273206328781,-0.027224794741,-0.0271289563537,-0.027033117717,-0.0269372788319,-0.0268414396991,-0.0267456003196,-0.0266497606943,-0.026553920824,-0.0264580807097,-0.0263622403521,-0.0262663997523,-0.026170558911,-0.0260747178291,-0.0259788765076,-0.0258830349473,-0.025787193149,-0.0256913511138,-0.0255955088423,-0.0254996663357,-0.0254038235946,-0.02530798062,-0.0252121374128,-0.0251162939739,-0.0250204503041,-0.0249246064043,-0.0248287622754,-0.0247329179183,-0.0246370733338,-0.0245412285229,-0.0244453834864,-0.0243495382252,-0.0242536927402,-0.0241578470323,-0.0240620011023,-0.0239661549511,-0.0238703085797,-0.0237744619888,-0.0236786151794,-0.0235827681524,-0.0234869209086,-0.0233910734489,-0.0232952257742,-0.0231993778853,-0.0231035297833,-0.0230076814688,-0.0229118329429,-0.0228159842064,-0.0227201352602,-0.0226242861051,-0.0225284367421,-0.0224325871719,-0.0223367373956,-0.022240887414,-0.022145037228,-0.0220491868384,-0.0219533362461,-0.021857485452,-0.021761634457,-0.021665783262,-0.0215699318679,-0.0214740802755,-0.0213782284857,-0.0212823764994,-0.0211865243174,-0.0210906719408,-0.0209948193702,-0.0208989666067,-0.0208031136511,-0.0207072605043,-0.0206114071671,-0.0205155536405,-0.0204196999253,-0.0203238460224,-0.0202279919327,-0.0201321376571,-0.0200362831964,-0.0199404285515,-0.0198445737234,-0.0197487187128,-0.0196528635207,-0.019557008148,-0.0194611525955,-0.0193652968642,-0.0192694409548,-0.0191735848683,-0.0190777286056,-0.0189818721675,-0.0188860155549,-0.0187901587688,-0.0186943018099,-0.0185984446792,-0.0185025873775,-0.0184067299058,-0.0183108722649,-0.0182150144556,-0.018119156479,-0.0180232983358,-0.0179274400269,-0.0178315815532,-0.0177357229157,-0.0176398641151,-0.0175440051524,-0.0174481460284,-0.017352286744,-0.0172564273001,-0.0171605676976,-0.0170647079374,-0.0169688480203,-0.0168729879473,-0.0167771277191,-0.0166812673368,-0.0165854068011,-0.016489546113,-0.0163936852733,-0.0162978242829,-0.0162019631427,-0.0161061018535,-0.0160102404164,-0.015914378832,-0.0158185171014,-0.0157226552254,-0.0156267932049,-0.0155309310407,-0.0154350687338,-0.015339206285,-0.0152433436952,-0.0151474809653,-0.0150516180961,-0.0149557550886,-0.0148598919437,-0.0147640286621,-0.0146681652449,-0.0145723016928,-0.0144764380067,-0.0143805741876,-0.0142847102364,-0.0141888461538,-0.0140929819408,-0.0139971175982,-0.013901253127,-0.0138053885281,-0.0137095238022,-0.0136136589503,-0.0135177939733,-0.013421928872,-0.0133260636473,-0.0132301983002,-0.0131343328315,-0.013038467242,-0.0129426015327,-0.0128467357044,-0.012750869758,-0.0126550036944,-0.0125591375145,-0.0124632712192,-0.0123674048093,-0.0122715382857,-0.0121756716493,-0.0120798049011,-0.0119839380417,-0.0118880710723,-0.0117922039935,-0.0116963368064,-0.0116004695117,-0.0115046021104,-0.0114087346034,-0.0113128669915,-0.0112169992756,-0.0111211314566,-0.0110252635354,-0.0109293955129,-0.0108335273899,-0.0107376591673,-0.010641790846,-0.0105459224269,-0.0104500539108,-0.0103541852987,-0.0102583165915,-0.0101624477899,-0.0100665788949,-0.00997070990742,-0.00987484082827,-0.00977897165835,-0.00968310239854,-0.00958723304973,-0.00949136361279,-0.00939549408862,-0.00929962447808,-0.00920375478206,-0.00910788500144,-0.00901201513711,-0.00891614518993,-0.00882027516081,-0.00872440505061,-0.00862853486021,-0.00853266459051,-0.00843679424237,-0.00834092381668,-0.00824505331433,-0.00814918273619,-0.00805331208315,-0.00795744135608,-0.00786157055586,-0.00776569968339,-0.00766982873953,-0.00757395772518,-0.0074780866412,-0.00738221548849,-0.00728634426793,-0.00719047298039,-0.00709460162675,-0.00699873020791,-0.00690285872473,-0.0068069871781,-0.00671111556891,-0.00661524389803,-0.00651937216634,-0.00642350037473,-0.00632762852407,-0.00623175661525,-0.00613588464915,-0.00604001262666,-0.00594414054864,-0.00584826841598,-0.00575239622957,-0.00565652399029,-0.00556065169901,-0.00546477935662,-0.005368906964,-0.00527303452202,-0.00517716203158,-0.00508128949356,-0.00498541690882,-0.00488954427826,-0.00479367160276,-0.0046977988832,-0.00460192612045,-0.0045060533154,-0.00441018046894,-0.00431430758194,-0.00421843465528,-0.00412256168984,-0.00402668868652,-0.00393081564618,-0.00383494256971,-0.00373906945799,-0.0036431963119,-0.00354732313232,-0.00345144992014,-0.00335557667623,-0.00325970340148,-0.00316383009676,-0.00306795676297,-0.00297208340097,-0.00287621001166,-0.0027803365959,-0.0026844631546,-0.00258858968861,-0.00249271619884,-0.00239684268615,-0.00230096915143,-0.00220509559556,-0.00210922201942,-0.00201334842389,-0.00191747480986,-0.0018216011782,-0.0017257275298,-0.00162985386553,-0.00153398018629,-0.00143810649294,-0.00134223278637,-0.00124635906747,-0.00115048533711,-0.00105461159618,-0.000958737845554,-0.000862864086114,-0.000766990318743,-0.000671116544322,-0.000575242763732,-0.000479368977855,-0.000383495187572,-0.000287621393764,-0.000191747597311,-9.58737990961e-05,0.0,9.5873799096e-05}; - -}; \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.c b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.c deleted file mode 100755 index d98b4a8..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.c +++ /dev/null @@ -1,5042 +0,0 @@ -// Ogg Vorbis I audio decoder -- version 0.99996 -// -// Written in April 2007 by Sean Barrett, sponsored by RAD Game Tools. -// -// Placed in the public domain April 2007 by the author: no copyright is -// claimed, and you may use it for any purpose you like. -// -// No warranty for any purpose is expressed or implied by the author (nor -// by RAD Game Tools). Report bugs and send enhancements to the author. -// -// Get the latest version and other information at: -// http://nothings.org/stb_vorbis/ - - -// Todo: -// -// - seeking (note you can seek yourself using the pushdata API) -// -// Limitations: -// -// - floor 0 not supported (used in old ogg vorbis files) -// - lossless sample-truncation at beginning ignored -// - cannot concatenate multiple vorbis streams -// - sample positions are 32-bit, limiting seekable 192Khz -// files to around 6 hours (Ogg supports 64-bit) -// -// All of these limitations may be removed in future versions. - -#include "stb_vorbis.h" - -#ifndef STB_VORBIS_HEADER_ONLY - -// global configuration settings (e.g. set these in the project/makefile), -// or just set them in this file at the top (although ideally the first few -// should be visible when the header file is compiled too, although it's not -// crucial) - -// STB_VORBIS_NO_PUSHDATA_API -// does not compile the code for the various stb_vorbis_*_pushdata() -// functions -// #define STB_VORBIS_NO_PUSHDATA_API - -// STB_VORBIS_NO_PULLDATA_API -// does not compile the code for the non-pushdata APIs -// #define STB_VORBIS_NO_PULLDATA_API - -// STB_VORBIS_NO_STDIO -// does not compile the code for the APIs that use FILE *s internally -// or externally (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_STDIO - -// STB_VORBIS_NO_INTEGER_CONVERSION -// does not compile the code for converting audio sample data from -// float to integer (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_INTEGER_CONVERSION - -// STB_VORBIS_NO_FAST_SCALED_FLOAT -// does not use a fast float-to-int trick to accelerate float-to-int on -// most platforms which requires endianness be defined correctly. -//#define STB_VORBIS_NO_FAST_SCALED_FLOAT - - -// STB_VORBIS_MAX_CHANNELS [number] -// globally define this to the maximum number of channels you need. -// The spec does not put a restriction on channels except that -// the count is stored in a byte, so 255 is the hard limit. -// Reducing this saves about 16 bytes per value, so using 16 saves -// (255-16)*16 or around 4KB. Plus anything other memory usage -// I forgot to account for. Can probably go as low as 8 (7.1 audio), -// 6 (5.1 audio), or 2 (stereo only). -#ifndef STB_VORBIS_MAX_CHANNELS -#define STB_VORBIS_MAX_CHANNELS 16 // enough for anyone? -#endif - -// STB_VORBIS_PUSHDATA_CRC_COUNT [number] -// after a flush_pushdata(), stb_vorbis begins scanning for the -// next valid page, without backtracking. when it finds something -// that looks like a page, it streams through it and verifies its -// CRC32. Should that validation fail, it keeps scanning. But it's -// possible that _while_ streaming through to check the CRC32 of -// one candidate page, it sees another candidate page. This #define -// determines how many "overlapping" candidate pages it can search -// at once. Note that "real" pages are typically ~4KB to ~8KB, whereas -// garbage pages could be as big as 64KB, but probably average ~16KB. -// So don't hose ourselves by scanning an apparent 64KB page and -// missing a ton of real ones in the interim; so minimum of 2 -#ifndef STB_VORBIS_PUSHDATA_CRC_COUNT -#define STB_VORBIS_PUSHDATA_CRC_COUNT 4 -#endif - -// STB_VORBIS_FAST_HUFFMAN_LENGTH [number] -// sets the log size of the huffman-acceleration table. Maximum -// supported value is 24. with larger numbers, more decodings are O(1), -// but the table size is larger so worse cache missing, so you'll have -// to probe (and try multiple ogg vorbis files) to find the sweet spot. -#ifndef STB_VORBIS_FAST_HUFFMAN_LENGTH -#define STB_VORBIS_FAST_HUFFMAN_LENGTH 10 -#endif - -// STB_VORBIS_FAST_BINARY_LENGTH [number] -// sets the log size of the binary-search acceleration table. this -// is used in similar fashion to the fast-huffman size to set initial -// parameters for the binary search - -// STB_VORBIS_FAST_HUFFMAN_INT -// The fast huffman tables are much more efficient if they can be -// stored as 16-bit results instead of 32-bit results. This restricts -// the codebooks to having only 65535 possible outcomes, though. -// (At least, accelerated by the huffman table.) -#ifndef STB_VORBIS_FAST_HUFFMAN_INT -#define STB_VORBIS_FAST_HUFFMAN_SHORT -#endif - -// STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH -// If the 'fast huffman' search doesn't succeed, then stb_vorbis falls -// back on binary searching for the correct one. This requires storing -// extra tables with the huffman codes in sorted order. Defining this -// symbol trades off space for speed by forcing a linear search in the -// non-fast case, except for "sparse" codebooks. -// #define STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - -// STB_VORBIS_DIVIDES_IN_RESIDUE -// stb_vorbis precomputes the result of the scalar residue decoding -// that would otherwise require a divide per chunk. you can trade off -// space for time by defining this symbol. -// #define STB_VORBIS_DIVIDES_IN_RESIDUE - -// STB_VORBIS_DIVIDES_IN_CODEBOOK -// vorbis VQ codebooks can be encoded two ways: with every case explicitly -// stored, or with all elements being chosen from a small range of values, -// and all values possible in all elements. By default, stb_vorbis expands -// this latter kind out to look like the former kind for ease of decoding, -// because otherwise an integer divide-per-vector-element is required to -// unpack the index. If you define STB_VORBIS_DIVIDES_IN_CODEBOOK, you can -// trade off storage for speed. -//#define STB_VORBIS_DIVIDES_IN_CODEBOOK - -// STB_VORBIS_CODEBOOK_SHORTS -// The vorbis file format encodes VQ codebook floats as ax+b where a and -// b are floating point per-codebook constants, and x is a 16-bit int. -// Normally, stb_vorbis decodes them to floats rather than leaving them -// as 16-bit ints and computing ax+b while decoding. This is a speed/space -// tradeoff; you can save space by defining this flag. -#ifndef STB_VORBIS_CODEBOOK_SHORTS -#define STB_VORBIS_CODEBOOK_FLOATS -#endif - -// STB_VORBIS_DIVIDE_TABLE -// this replaces small integer divides in the floor decode loop with -// table lookups. made less than 1% difference, so disabled by default. - -// STB_VORBIS_NO_INLINE_DECODE -// disables the inlining of the scalar codebook fast-huffman decode. -// might save a little codespace; useful for debugging -// #define STB_VORBIS_NO_INLINE_DECODE - -// STB_VORBIS_NO_DEFER_FLOOR -// Normally we only decode the floor without synthesizing the actual -// full curve. We can instead synthesize the curve immediately. This -// requires more memory and is very likely slower, so I don't think -// you'd ever want to do it except for debugging. -// #define STB_VORBIS_NO_DEFER_FLOOR - - - - -////////////////////////////////////////////////////////////////////////////// - -#ifdef STB_VORBIS_NO_PULLDATA_API - #define STB_VORBIS_NO_INTEGER_CONVERSION - #define STB_VORBIS_NO_STDIO -#endif - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) - #define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - - // only need endianness for fast-float-to-int, which we don't - // use for pushdata - - #ifndef STB_VORBIS_BIG_ENDIAN - #define STB_VORBIS_ENDIAN 0 - #else - #define STB_VORBIS_ENDIAN 1 - #endif - -#endif -#endif - - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifndef STB_VORBIS_NO_CRT -#include -#include -#include -#include -#if !(defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)) -#include -#endif -#else -#define NULL 0 -#endif - -#ifndef _MSC_VER - #if __GNUC__ - #define __forceinline inline - #else - #define __forceinline - #endif -#endif - -#if STB_VORBIS_MAX_CHANNELS > 256 -#error "Value of STB_VORBIS_MAX_CHANNELS outside of allowed range" -#endif - -#if STB_VORBIS_FAST_HUFFMAN_LENGTH > 24 -#error "Value of STB_VORBIS_FAST_HUFFMAN_LENGTH outside of allowed range" -#endif - - -#define MAX_BLOCKSIZE_LOG 13 // from specification -#define MAX_BLOCKSIZE (1 << MAX_BLOCKSIZE_LOG) - - -typedef unsigned char uint8; -typedef signed char int8; -typedef unsigned short uint16; -typedef signed short int16; -typedef unsigned int uint32; -typedef signed int int32; - -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif - -#ifdef STB_VORBIS_CODEBOOK_FLOATS -typedef float codetype; -#else -typedef uint16 codetype; -#endif - -// @NOTE -// -// Some arrays below are tagged "//varies", which means it's actually -// a variable-sized piece of data, but rather than malloc I assume it's -// small enough it's better to just allocate it all together with the -// main thing -// -// Most of the variables are specified with the smallest size I could pack -// them into. It might give better performance to make them all full-sized -// integers. It should be safe to freely rearrange the structures or change -// the sizes larger--nothing relies on silently truncating etc., nor the -// order of variables. - -#define FAST_HUFFMAN_TABLE_SIZE (1 << STB_VORBIS_FAST_HUFFMAN_LENGTH) -#define FAST_HUFFMAN_TABLE_MASK (FAST_HUFFMAN_TABLE_SIZE - 1) - -typedef struct -{ - int dimensions, entries; - uint8 *codeword_lengths; - float minimum_value; - float delta_value; - uint8 value_bits; - uint8 lookup_type; - uint8 sequence_p; - uint8 sparse; - uint32 lookup_values; - codetype *multiplicands; - uint32 *codewords; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - int16 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #else - int32 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #endif - uint32 *sorted_codewords; - int *sorted_values; - int sorted_entries; -} Codebook; - -typedef struct -{ - uint8 order; - uint16 rate; - uint16 bark_map_size; - uint8 amplitude_bits; - uint8 amplitude_offset; - uint8 number_of_books; - uint8 book_list[16]; // varies -} Floor0; - -typedef struct -{ - uint8 partitions; - uint8 partition_class_list[32]; // varies - uint8 class_dimensions[16]; // varies - uint8 class_subclasses[16]; // varies - uint8 class_masterbooks[16]; // varies - int16 subclass_books[16][8]; // varies - uint16 Xlist[31*8+2]; // varies - uint8 sorted_order[31*8+2]; - uint8 neighbors[31*8+2][2]; - uint8 floor1_multiplier; - uint8 rangebits; - int values; -} Floor1; - -typedef union -{ - Floor0 floor0; - Floor1 floor1; -} Floor; - -typedef struct -{ - uint32 begin, end; - uint32 part_size; - uint8 classifications; - uint8 classbook; - uint8 **classdata; - int16 (*residue_books)[8]; -} Residue; - -typedef struct -{ - uint8 magnitude; - uint8 angle; - uint8 mux; -} MappingChannel; - -typedef struct -{ - uint16 coupling_steps; - MappingChannel *chan; - uint8 submaps; - uint8 submap_floor[15]; // varies - uint8 submap_residue[15]; // varies -} Mapping; - -typedef struct -{ - uint8 blockflag; - uint8 mapping; - uint16 windowtype; - uint16 transformtype; -} Mode; - -typedef struct -{ - uint32 goal_crc; // expected crc if match - int bytes_left; // bytes left in packet - uint32 crc_so_far; // running crc - int bytes_done; // bytes processed in _current_ chunk - uint32 sample_loc; // granule pos encoded in page -} CRCscan; - -typedef struct -{ - uint32 page_start, page_end; - uint32 after_previous_page_start; - uint32 first_decoded_sample; - uint32 last_decoded_sample; -} ProbedPage; - -struct stb_vorbis -{ - // user-accessible info - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int temp_memory_required; - unsigned int setup_temp_memory_required; - - // input config -#ifndef STB_VORBIS_NO_STDIO - FILE *f; - uint32 f_start; - int close_on_free; -#endif - - uint8 *stream; - uint8 *stream_start; - uint8 *stream_end; - - uint32 stream_len; - - uint8 push_mode; - - uint32 first_audio_page_offset; - - ProbedPage p_first, p_last; - - // memory management - stb_vorbis_alloc alloc; - int setup_offset; - int temp_offset; - - // run-time results - int eof; - enum STBVorbisError error; - - // user-useful data - - // header info - int blocksize[2]; - int blocksize_0, blocksize_1; - int codebook_count; - Codebook *codebooks; - int floor_count; - uint16 floor_types[64]; // varies - Floor *floor_config; - int residue_count; - uint16 residue_types[64]; // varies - Residue *residue_config; - int mapping_count; - Mapping *mapping; - int mode_count; - Mode mode_config[64]; // varies - - uint32 total_samples; - - // decode buffer - float *channel_buffers[STB_VORBIS_MAX_CHANNELS]; - float *outputs [STB_VORBIS_MAX_CHANNELS]; - - float *previous_window[STB_VORBIS_MAX_CHANNELS]; - int previous_length; - - #ifndef STB_VORBIS_NO_DEFER_FLOOR - int16 *finalY[STB_VORBIS_MAX_CHANNELS]; - #else - float *floor_buffers[STB_VORBIS_MAX_CHANNELS]; - #endif - - uint32 current_loc; // sample location of next frame to decode - int current_loc_valid; - - // per-blocksize precomputed data - - // twiddle factors - float *A[2],*B[2],*C[2]; - float *window[2]; - uint16 *bit_reverse[2]; - - // current page/packet/segment streaming info - uint32 serial; // stream serial number for verification - int last_page; - int segment_count; - uint8 segments[255]; - uint8 page_flag; - uint8 bytes_in_seg; - uint8 first_decode; - int next_seg; - int last_seg; // flag that we're on the last segment - int last_seg_which; // what was the segment number of the last seg? - uint32 acc; - int valid_bits; - int packet_bytes; - int end_seg_with_known_loc; - uint32 known_loc_for_packet; - int discard_samples_deferred; - uint32 samples_output; - - // push mode scanning - int page_crc_tests; // only in push_mode: number of tests active; -1 if not searching -#ifndef STB_VORBIS_NO_PUSHDATA_API - CRCscan scan[STB_VORBIS_PUSHDATA_CRC_COUNT]; -#endif - - // sample-access - int channel_buffer_start; - int channel_buffer_end; -}; - -extern int my_prof(int slot); -//#define stb_prof my_prof - -#ifndef stb_prof -#define stb_prof(x) 0 -#endif - -#if defined(STB_VORBIS_NO_PUSHDATA_API) - #define IS_PUSH_MODE(f) FALSE -#elif defined(STB_VORBIS_NO_PULLDATA_API) - #define IS_PUSH_MODE(f) TRUE -#else - #define IS_PUSH_MODE(f) ((f)->push_mode) -#endif - -typedef struct stb_vorbis vorb; - -static int error(vorb *f, enum STBVorbisError e) -{ - f->error = e; - if (!f->eof && e != VORBIS_need_more_data) { - f->error=e; // breakpoint for debugging - } - return 0; -} - - -// these functions are used for allocating temporary memory -// while decoding. if you can afford the stack space, use -// alloca(); otherwise, provide a temp buffer and it will -// allocate out of those. - -#define array_size_required(count,size) (count*(sizeof(void *)+(size))) - -#define temp_alloc(f,size) (f->alloc.alloc_buffer ? setup_temp_malloc(f,size) : alloca(size)) -#ifdef dealloca -#define temp_free(f,p) (f->alloc.alloc_buffer ? 0 : dealloca(size)) -#else -#define temp_free(f,p) 0 -#endif -#define temp_alloc_save(f) ((f)->temp_offset) -#define temp_alloc_restore(f,p) ((f)->temp_offset = (p)) - -#define temp_block_array(f,count,size) make_block_array(temp_alloc(f,array_size_required(count,size)), count, size) - -// given a sufficiently large block of memory, make an array of pointers to subblocks of it -static void *make_block_array(void *mem, int count, int size) -{ - int i; - void ** p = (void **) mem; - char *q = (char *) (p + count); - for (i=0; i < count; ++i) { - p[i] = q; - q += size; - } - return p; -} - -static void *setup_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - f->setup_memory_required += sz; - if (f->alloc.alloc_buffer) { - void *p = (char *) f->alloc.alloc_buffer + f->setup_offset; - if (f->setup_offset + sz > f->temp_offset) return NULL; - f->setup_offset += sz; - return p; - } - return sz ? malloc(sz) : NULL; -} - -static void setup_free(vorb *f, void *p) -{ - if (f->alloc.alloc_buffer) return; // do nothing; setup mem is not a stack - free(p); -} - -static void *setup_temp_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - if (f->alloc.alloc_buffer) { - if (f->temp_offset - sz < f->setup_offset) return NULL; - f->temp_offset -= sz; - return (char *) f->alloc.alloc_buffer + f->temp_offset; - } - return malloc(sz); -} - -static void setup_temp_free(vorb *f, void *p, size_t sz) -{ - if (f->alloc.alloc_buffer) { - f->temp_offset += (sz+3)&~3; - return; - } - free(p); -} - -#define CRC32_POLY 0x04c11db7 // from spec - -static uint32 crc_table[256]; -static void crc32_init(void) -{ - int i,j; - uint32 s; - for(i=0; i < 256; i++) { - for (s=i<<24, j=0; j < 8; ++j) - s = (s << 1) ^ (s >= (1<<31) ? CRC32_POLY : 0); - crc_table[i] = s; - } -} - -static __forceinline uint32 crc32_update(uint32 crc, uint8 byte) -{ - return (crc << 8) ^ crc_table[byte ^ (crc >> 24)]; -} - - -// used in setup, and for huffman that doesn't go fast path -static unsigned int bit_reverse(unsigned int n) -{ - n = ((n & 0xAAAAAAAA) >> 1) | ((n & 0x55555555) << 1); - n = ((n & 0xCCCCCCCC) >> 2) | ((n & 0x33333333) << 2); - n = ((n & 0xF0F0F0F0) >> 4) | ((n & 0x0F0F0F0F) << 4); - n = ((n & 0xFF00FF00) >> 8) | ((n & 0x00FF00FF) << 8); - return (n >> 16) | (n << 16); -} - -static float square(float x) -{ - return x*x; -} - -// this is a weird definition of log2() for which log2(1) = 1, log2(2) = 2, log2(4) = 3 -// as required by the specification. fast(?) implementation from stb.h -// @OPTIMIZE: called multiple times per-packet with "constants"; move to setup -static int ilog(int32 n) -{ - static signed char log2_4[16] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4 }; - - // 2 compares if n < 16, 3 compares otherwise (4 if signed or n > 1<<29) - if (n < (1U << 14)) - if (n < (1U << 4)) return 0 + log2_4[n ]; - else if (n < (1U << 9)) return 5 + log2_4[n >> 5]; - else return 10 + log2_4[n >> 10]; - else if (n < (1U << 24)) - if (n < (1U << 19)) return 15 + log2_4[n >> 15]; - else return 20 + log2_4[n >> 20]; - else if (n < (1U << 29)) return 25 + log2_4[n >> 25]; - else if (n < (1U << 31)) return 30 + log2_4[n >> 30]; - else return 0; // signed n returns 0 -} - -#ifndef M_PI - #define M_PI 3.14159265358979323846264f // from CRC -#endif - -// code length assigned to a value with no huffman encoding -#define NO_CODE 255 - -/////////////////////// LEAF SETUP FUNCTIONS ////////////////////////// -// -// these functions are only called at setup, and only a few times -// per file - -static float float32_unpack(uint32 x) -{ - // from the specification - uint32 mantissa = x & 0x1fffff; - uint32 sign = x & 0x80000000; - uint32 exp = (x & 0x7fe00000) >> 21; - double res = sign ? -(double)mantissa : (double)mantissa; - return (float) ldexp((float)res, exp-788); -} - - -// zlib & jpeg huffman tables assume that the output symbols -// can either be arbitrarily arranged, or have monotonically -// increasing frequencies--they rely on the lengths being sorted; -// this makes for a very simple generation algorithm. -// vorbis allows a huffman table with non-sorted lengths. This -// requires a more sophisticated construction, since symbols in -// order do not map to huffman codes "in order". -static void add_entry(Codebook *c, uint32 huff_code, int symbol, int count, int len, uint32 *values) -{ - if (!c->sparse) { - c->codewords [symbol] = huff_code; - } else { - c->codewords [count] = huff_code; - c->codeword_lengths[count] = len; - values [count] = symbol; - } -} - -static int compute_codewords(Codebook *c, uint8 *len, int n, uint32 *values) -{ - int i,k,m=0; - uint32 available[32]; - - memset(available, 0, sizeof(available)); - // find the first entry - for (k=0; k < n; ++k) if (len[k] < NO_CODE) break; - if (k == n) { assert(c->sorted_entries == 0); return TRUE; } - // add to the list - add_entry(c, 0, k, m++, len[k], values); - // add all available leaves - for (i=1; i <= len[k]; ++i) - available[i] = 1 << (32-i); - // note that the above code treats the first case specially, - // but it's really the same as the following code, so they - // could probably be combined (except the initial code is 0, - // and I use 0 in available[] to mean 'empty') - for (i=k+1; i < n; ++i) { - uint32 res; - int z = len[i], y; - if (z == NO_CODE) continue; - // find lowest available leaf (should always be earliest, - // which is what the specification calls for) - // note that this property, and the fact we can never have - // more than one free leaf at a given level, isn't totally - // trivial to prove, but it seems true and the assert never - // fires, so! - while (z > 0 && !available[z]) --z; - if (z == 0) { assert(0); return FALSE; } - res = available[z]; - available[z] = 0; - add_entry(c, bit_reverse(res), i, m++, len[i], values); - // propogate availability up the tree - if (z != len[i]) { - for (y=len[i]; y > z; --y) { - assert(available[y] == 0); - available[y] = res + (1 << (32-y)); - } - } - } - return TRUE; -} - -// accelerated huffman table allows fast O(1) match of all symbols -// of length <= STB_VORBIS_FAST_HUFFMAN_LENGTH -static void compute_accelerated_huffman(Codebook *c) -{ - int i, len; - for (i=0; i < FAST_HUFFMAN_TABLE_SIZE; ++i) - c->fast_huffman[i] = -1; - - len = c->sparse ? c->sorted_entries : c->entries; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - if (len > 32767) len = 32767; // largest possible value we can encode! - #endif - for (i=0; i < len; ++i) { - if (c->codeword_lengths[i] <= STB_VORBIS_FAST_HUFFMAN_LENGTH) { - uint32 z = c->sparse ? bit_reverse(c->sorted_codewords[i]) : c->codewords[i]; - // set table entries for all bit combinations in the higher bits - while (z < FAST_HUFFMAN_TABLE_SIZE) { - c->fast_huffman[z] = i; - z += 1 << c->codeword_lengths[i]; - } - } - } -} - -static int uint32_compare(const void *p, const void *q) -{ - uint32 x = * (uint32 *) p; - uint32 y = * (uint32 *) q; - return x < y ? -1 : x > y; -} - -static int include_in_sort(Codebook *c, uint8 len) -{ - if (c->sparse) { assert(len != NO_CODE); return TRUE; } - if (len == NO_CODE) return FALSE; - if (len > STB_VORBIS_FAST_HUFFMAN_LENGTH) return TRUE; - return FALSE; -} - -// if the fast table above doesn't work, we want to binary -// search them... need to reverse the bits -static void compute_sorted_huffman(Codebook *c, uint8 *lengths, uint32 *values) -{ - int i, len; - // build a list of all the entries - // OPTIMIZATION: don't include the short ones, since they'll be caught by FAST_HUFFMAN. - // this is kind of a frivolous optimization--I don't see any performance improvement, - // but it's like 4 extra lines of code, so. - if (!c->sparse) { - int k = 0; - for (i=0; i < c->entries; ++i) - if (include_in_sort(c, lengths[i])) - c->sorted_codewords[k++] = bit_reverse(c->codewords[i]); - assert(k == c->sorted_entries); - } else { - for (i=0; i < c->sorted_entries; ++i) - c->sorted_codewords[i] = bit_reverse(c->codewords[i]); - } - - qsort(c->sorted_codewords, c->sorted_entries, sizeof(c->sorted_codewords[0]), uint32_compare); - c->sorted_codewords[c->sorted_entries] = 0xffffffff; - - len = c->sparse ? c->sorted_entries : c->entries; - // now we need to indicate how they correspond; we could either - // #1: sort a different data structure that says who they correspond to - // #2: for each sorted entry, search the original list to find who corresponds - // #3: for each original entry, find the sorted entry - // #1 requires extra storage, #2 is slow, #3 can use binary search! - for (i=0; i < len; ++i) { - int huff_len = c->sparse ? lengths[values[i]] : lengths[i]; - if (include_in_sort(c,huff_len)) { - uint32 code = bit_reverse(c->codewords[i]); - int x=0, n=c->sorted_entries; - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - assert(c->sorted_codewords[x] == code); - if (c->sparse) { - c->sorted_values[x] = values[i]; - c->codeword_lengths[x] = huff_len; - } else { - c->sorted_values[x] = i; - } - } - } -} - -// only run while parsing the header (3 times) -static int vorbis_validate(uint8 *data) -{ - static uint8 vorbis[6] = { 'v', 'o', 'r', 'b', 'i', 's' }; - return memcmp(data, vorbis, 6) == 0; -} - -// called from setup only, once per code book -// (formula implied by specification) -static int lookup1_values(int entries, int dim) -{ - int r = (int) floor(exp((float) log((float) entries) / dim)); - if ((int) floor(pow((float) r+1, dim)) <= entries) // (int) cast for MinGW warning; - ++r; // floor() to avoid _ftol() when non-CRT - assert(pow((float) r+1, dim) > entries); - assert((int) floor(pow((float) r, dim)) <= entries); // (int),floor() as above - return r; -} - -// called twice per file -static void compute_twiddle_factors(int n, float *A, float *B, float *C) -{ - int n4 = n >> 2, n8 = n >> 3; - int k,k2; - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2) * 0.5f; - B[k2+1] = (float) sin((k2+1)*M_PI/n/2) * 0.5f; - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } -} - -static void compute_window(int n, float *window) -{ - int n2 = n >> 1, i; - for (i=0; i < n2; ++i) - window[i] = (float) sin(0.5 * M_PI * square((float) sin((i - 0 + 0.5) / n2 * 0.5 * M_PI))); -} - -static void compute_bitreverse(int n, uint16 *rev) -{ - int ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - int i, n8 = n >> 3; - for (i=0; i < n8; ++i) - rev[i] = (bit_reverse(i) >> (32-ld+3)) << 2; -} - -static int init_blocksize(vorb *f, int b, int n) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3; - f->A[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->B[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->C[b] = (float *) setup_malloc(f, sizeof(float) * n4); - if (!f->A[b] || !f->B[b] || !f->C[b]) return error(f, VORBIS_outofmem); - compute_twiddle_factors(n, f->A[b], f->B[b], f->C[b]); - f->window[b] = (float *) setup_malloc(f, sizeof(float) * n2); - if (!f->window[b]) return error(f, VORBIS_outofmem); - compute_window(n, f->window[b]); - f->bit_reverse[b] = (uint16 *) setup_malloc(f, sizeof(uint16) * n8); - if (!f->bit_reverse[b]) return error(f, VORBIS_outofmem); - compute_bitreverse(n, f->bit_reverse[b]); - return TRUE; -} - -static void neighbors(uint16 *x, int n, int *plow, int *phigh) -{ - int low = -1; - int high = 65536; - int i; - for (i=0; i < n; ++i) { - if (x[i] > low && x[i] < x[n]) { *plow = i; low = x[i]; } - if (x[i] < high && x[i] > x[n]) { *phigh = i; high = x[i]; } - } -} - -// this has been repurposed so y is now the original index instead of y -typedef struct -{ - uint16 x,y; -} VorbisPoint; - -int point_compare(const void *p, const void *q) -{ - VorbisPoint *a = (VorbisPoint *) p; - VorbisPoint *b = (VorbisPoint *) q; - return a->x < b->x ? -1 : a->x > b->x; -} - -// -/////////////////////// END LEAF SETUP FUNCTIONS ////////////////////////// - - -#if defined(STB_VORBIS_NO_STDIO) - #define USE_MEMORY(z) TRUE -#else - #define USE_MEMORY(z) ((z)->stream) -#endif - -static uint8 get8(vorb *z) -{ - if (USE_MEMORY(z)) { - if (z->stream >= z->stream_end) { z->eof = TRUE; return 0; } - return *z->stream++; - } - - #ifndef STB_VORBIS_NO_STDIO - { - int c = fgetc(z->f); - if (c == EOF) { z->eof = TRUE; return 0; } - return c; - } - #endif -} - -static uint32 get32(vorb *f) -{ - uint32 x; - x = get8(f); - x += get8(f) << 8; - x += get8(f) << 16; - x += get8(f) << 24; - return x; -} - -static int getn(vorb *z, uint8 *data, int n) -{ - if (USE_MEMORY(z)) { - if (z->stream+n > z->stream_end) { z->eof = 1; return 0; } - memcpy(data, z->stream, n); - z->stream += n; - return 1; - } - - #ifndef STB_VORBIS_NO_STDIO - if (fread(data, n, 1, z->f) == 1) - return 1; - else { - z->eof = 1; - return 0; - } - #endif -} - -static void skip(vorb *z, int n) -{ - if (USE_MEMORY(z)) { - z->stream += n; - if (z->stream >= z->stream_end) z->eof = 1; - return; - } - #ifndef STB_VORBIS_NO_STDIO - { - long x = ftell(z->f); - fseek(z->f, x+n, SEEK_SET); - } - #endif -} - -static int set_file_offset(stb_vorbis *f, unsigned int loc) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - f->eof = 0; - if (USE_MEMORY(f)) { - if (f->stream_start + loc >= f->stream_end || f->stream_start + loc < f->stream_start) { - f->stream = f->stream_end; - f->eof = 1; - return 0; - } else { - f->stream = f->stream_start + loc; - return 1; - } - } - #ifndef STB_VORBIS_NO_STDIO - if (loc + f->f_start < loc || loc >= 0x80000000) { - loc = 0x7fffffff; - f->eof = 1; - } else { - loc += f->f_start; - } - if (!fseek(f->f, loc, SEEK_SET)) - return 1; - f->eof = 1; - fseek(f->f, f->f_start, SEEK_END); - return 0; - #endif -} - - -static uint8 ogg_page_header[4] = { 0x4f, 0x67, 0x67, 0x53 }; - -static int capture_pattern(vorb *f) -{ - if (0x4f != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x53 != get8(f)) return FALSE; - return TRUE; -} - -#define PAGEFLAG_continued_packet 1 -#define PAGEFLAG_first_page 2 -#define PAGEFLAG_last_page 4 - -static int start_page_no_capturepattern(vorb *f) -{ - uint32 loc0,loc1,n,i; - // stream structure version - if (0 != get8(f)) return error(f, VORBIS_invalid_stream_structure_version); - // header flag - f->page_flag = get8(f); - // absolute granule position - loc0 = get32(f); - loc1 = get32(f); - // @TODO: validate loc0,loc1 as valid positions? - // stream serial number -- vorbis doesn't interleave, so discard - get32(f); - //if (f->serial != get32(f)) return error(f, VORBIS_incorrect_stream_serial_number); - // page sequence number - n = get32(f); - f->last_page = n; - // CRC32 - get32(f); - // page_segments - f->segment_count = get8(f); - if (!getn(f, f->segments, f->segment_count)) - return error(f, VORBIS_unexpected_eof); - // assume we _don't_ know any the sample position of any segments - f->end_seg_with_known_loc = -2; - if (loc0 != ~0 || loc1 != ~0) { - // determine which packet is the last one that will complete - for (i=f->segment_count-1; i >= 0; --i) - if (f->segments[i] < 255) - break; - // 'i' is now the index of the _last_ segment of a packet that ends - if (i >= 0) { - f->end_seg_with_known_loc = i; - f->known_loc_for_packet = loc0; - } - } - if (f->first_decode) { - int i,len; - ProbedPage p; - len = 0; - for (i=0; i < f->segment_count; ++i) - len += f->segments[i]; - len += 27 + f->segment_count; - p.page_start = f->first_audio_page_offset; - p.page_end = p.page_start + len; - p.after_previous_page_start = p.page_start; - p.first_decoded_sample = 0; - p.last_decoded_sample = loc0; - f->p_first = p; - } - f->next_seg = 0; - return TRUE; -} - -static int start_page(vorb *f) -{ - if (!capture_pattern(f)) return error(f, VORBIS_missing_capture_pattern); - return start_page_no_capturepattern(f); -} - -static int start_packet(vorb *f) -{ - while (f->next_seg == -1) { - if (!start_page(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) - return error(f, VORBIS_continued_packet_flag_invalid); - } - f->last_seg = FALSE; - f->valid_bits = 0; - f->packet_bytes = 0; - f->bytes_in_seg = 0; - // f->next_seg is now valid - return TRUE; -} - -static int maybe_start_packet(vorb *f) -{ - if (f->next_seg == -1) { - int x = get8(f); - if (f->eof) return FALSE; // EOF at page boundary is not an error! - if (0x4f != x ) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x53 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (!start_page_no_capturepattern(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) { - // set up enough state that we can read this packet if we want, - // e.g. during recovery - f->last_seg = FALSE; - f->bytes_in_seg = 0; - return error(f, VORBIS_continued_packet_flag_invalid); - } - } - return start_packet(f); -} - -static int next_segment(vorb *f) -{ - int len; - if (f->last_seg) return 0; - if (f->next_seg == -1) { - f->last_seg_which = f->segment_count-1; // in case start_page fails - if (!start_page(f)) { f->last_seg = 1; return 0; } - if (!(f->page_flag & PAGEFLAG_continued_packet)) return error(f, VORBIS_continued_packet_flag_invalid); - } - len = f->segments[f->next_seg++]; - if (len < 255) { - f->last_seg = TRUE; - f->last_seg_which = f->next_seg-1; - } - if (f->next_seg >= f->segment_count) - f->next_seg = -1; - assert(f->bytes_in_seg == 0); - f->bytes_in_seg = len; - return len; -} - -#define EOP (-1) -#define INVALID_BITS (-1) - -static int get8_packet_raw(vorb *f) -{ - if (!f->bytes_in_seg) - if (f->last_seg) return EOP; - else if (!next_segment(f)) return EOP; - assert(f->bytes_in_seg > 0); - --f->bytes_in_seg; - ++f->packet_bytes; - return get8(f); -} - -static int get8_packet(vorb *f) -{ - int x = get8_packet_raw(f); - f->valid_bits = 0; - return x; -} - -static void flush_packet(vorb *f) -{ - while (get8_packet_raw(f) != EOP); -} - -// @OPTIMIZE: this is the secondary bit decoder, so it's probably not as important -// as the huffman decoder? -static uint32 get_bits(vorb *f, int n) -{ - uint32 z; - - if (f->valid_bits < 0) return 0; - if (f->valid_bits < n) { - if (n > 24) { - // the accumulator technique below would not work correctly in this case - z = get_bits(f, 24); - z += get_bits(f, n-24) << 24; - return z; - } - if (f->valid_bits == 0) f->acc = 0; - while (f->valid_bits < n) { - int z = get8_packet_raw(f); - if (z == EOP) { - f->valid_bits = INVALID_BITS; - return 0; - } - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } - } - if (f->valid_bits < 0) return 0; - z = f->acc & ((1 << n)-1); - f->acc >>= n; - f->valid_bits -= n; - return z; -} - -static int32 get_bits_signed(vorb *f, int n) -{ - uint32 z = get_bits(f, n); - if (z & (1 << (n-1))) - z += ~((1 << n) - 1); - return (int32) z; -} - -// @OPTIMIZE: primary accumulator for huffman -// expand the buffer to as many bits as possible without reading off end of packet -// it might be nice to allow f->valid_bits and f->acc to be stored in registers, -// e.g. cache them locally and decode locally -static __forceinline void prep_huffman(vorb *f) -{ - if (f->valid_bits <= 24) { - if (f->valid_bits == 0) f->acc = 0; - do { - int z; - if (f->last_seg && !f->bytes_in_seg) return; - z = get8_packet_raw(f); - if (z == EOP) return; - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } while (f->valid_bits <= 24); - } -} - -enum -{ - VORBIS_packet_id = 1, - VORBIS_packet_comment = 3, - VORBIS_packet_setup = 5, -}; - -static int codebook_decode_scalar_raw(vorb *f, Codebook *c) -{ - int i; - prep_huffman(f); - - assert(c->sorted_codewords || c->codewords); - // cases to use binary search: sorted_codewords && !c->codewords - // sorted_codewords && c->entries > 8 - if (c->entries > 8 ? c->sorted_codewords!=NULL : !c->codewords) { - // binary search - uint32 code = bit_reverse(f->acc); - int x=0, n=c->sorted_entries, len; - - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - // x is now the sorted index - if (!c->sparse) x = c->sorted_values[x]; - // x is now sorted index if sparse, or symbol otherwise - len = c->codeword_lengths[x]; - if (f->valid_bits >= len) { - f->acc >>= len; - f->valid_bits -= len; - return x; - } - - f->valid_bits = 0; - return -1; - } - - // if small, linear search - assert(!c->sparse); - for (i=0; i < c->entries; ++i) { - if (c->codeword_lengths[i] == NO_CODE) continue; - if (c->codewords[i] == (f->acc & ((1 << c->codeword_lengths[i])-1))) { - if (f->valid_bits >= c->codeword_lengths[i]) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - return i; - } - f->valid_bits = 0; - return -1; - } - } - - error(f, VORBIS_invalid_stream); - f->valid_bits = 0; - return -1; -} - -static int codebook_decode_scalar(vorb *f, Codebook *c) -{ - int i; - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) - prep_huffman(f); - // fast huffman table lookup - i = f->acc & FAST_HUFFMAN_TABLE_MASK; - i = c->fast_huffman[i]; - if (i >= 0) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - if (f->valid_bits < 0) { f->valid_bits = 0; return -1; } - return i; - } - return codebook_decode_scalar_raw(f,c); -} - -#ifndef STB_VORBIS_NO_INLINE_DECODE - -#define DECODE_RAW(var, f,c) \ - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) \ - prep_huffman(f); \ - var = f->acc & FAST_HUFFMAN_TABLE_MASK; \ - var = c->fast_huffman[var]; \ - if (var >= 0) { \ - int n = c->codeword_lengths[var]; \ - f->acc >>= n; \ - f->valid_bits -= n; \ - if (f->valid_bits < 0) { f->valid_bits = 0; var = -1; } \ - } else { \ - var = codebook_decode_scalar_raw(f,c); \ - } - -#else - -#define DECODE_RAW(var,f,c) var = codebook_decode_scalar(f,c); - -#endif - -#define DECODE(var,f,c) \ - DECODE_RAW(var,f,c) \ - if (c->sparse) var = c->sorted_values[var]; - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - #define DECODE_VQ(var,f,c) DECODE_RAW(var,f,c) -#else - #define DECODE_VQ(var,f,c) DECODE(var,f,c) -#endif - - - - - - -// CODEBOOK_ELEMENT_FAST is an optimization for the CODEBOOK_FLOATS case -// where we avoid one addition -#ifndef STB_VORBIS_CODEBOOK_FLOATS - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off] * c->delta_value + c->minimum_value) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off] * c->delta_value) - #define CODEBOOK_ELEMENT_BASE(c) (c->minimum_value) -#else - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_BASE(c) (0) -#endif - -static int codebook_decode_start(vorb *f, Codebook *c, int len) -{ - int z = -1; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) - error(f, VORBIS_invalid_stream); - else { - DECODE_VQ(z,f,c); - if (c->sparse) assert(z < c->sorted_entries); - if (z < 0) { // check for EOP - if (!f->bytes_in_seg) - if (f->last_seg) - return z; - error(f, VORBIS_invalid_stream); - } - } - return z; -} - -static int codebook_decode(vorb *f, Codebook *c, float *output, int len) -{ - int i,z = codebook_decode_start(f,c,len); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - float last = CODEBOOK_ELEMENT_BASE(c); - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i] += val; - if (c->sequence_p) last = val + c->minimum_value; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - if (c->sequence_p) { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i] += val; - last = val + c->minimum_value; - } - } else { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - output[i] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - } - } - - return TRUE; -} - -static int codebook_decode_step(vorb *f, Codebook *c, float *output, int len, int step) -{ - int i,z = codebook_decode_start(f,c,len); - float last = CODEBOOK_ELEMENT_BASE(c); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - } - - return TRUE; -} - -static int codebook_decode_deinterleave_repeat(vorb *f, Codebook *c, float **outputs, int ch, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - #ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - assert(!c->sparse || z < c->sorted_entries); - #endif - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*ch + effective > len * ch) { - effective = len*ch - (p_inter*ch - c_inter); - } - - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < effective; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - } else - #endif - { - z *= c->dimensions; - if (c->sequence_p) { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK -static int codebook_decode_deinterleave_repeat_2(vorb *f, Codebook *c, float **outputs, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*2 + effective > len * 2) { - effective = len*2 - (p_inter*2 - c_inter); - } - - { - z *= c->dimensions; - stb_prof(11); - if (c->sequence_p) { - // haven't optimized this case because I don't have any examples - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - i=0; - if (c_inter == 1) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - c_inter = 0; ++p_inter; - ++i; - } - { - float *z0 = outputs[0]; - float *z1 = outputs[1]; - for (; i+1 < effective;) { - z0[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - z1[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i+1) + last; - ++p_inter; - i += 2; - } - } - if (i < effective) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} -#endif - -static int predict_point(int x, int x0, int x1, int y0, int y1) -{ - int dy = y1 - y0; - int adx = x1 - x0; - // @OPTIMIZE: force int division to round in the right direction... is this necessary on x86? - int err = abs(dy) * (x - x0); - int off = err / adx; - return dy < 0 ? y0 - off : y0 + off; -} - -// the following table is block-copied from the specification -static float inverse_db_table[256] = -{ - 1.0649863e-07f, 1.1341951e-07f, 1.2079015e-07f, 1.2863978e-07f, - 1.3699951e-07f, 1.4590251e-07f, 1.5538408e-07f, 1.6548181e-07f, - 1.7623575e-07f, 1.8768855e-07f, 1.9988561e-07f, 2.1287530e-07f, - 2.2670913e-07f, 2.4144197e-07f, 2.5713223e-07f, 2.7384213e-07f, - 2.9163793e-07f, 3.1059021e-07f, 3.3077411e-07f, 3.5226968e-07f, - 3.7516214e-07f, 3.9954229e-07f, 4.2550680e-07f, 4.5315863e-07f, - 4.8260743e-07f, 5.1396998e-07f, 5.4737065e-07f, 5.8294187e-07f, - 6.2082472e-07f, 6.6116941e-07f, 7.0413592e-07f, 7.4989464e-07f, - 7.9862701e-07f, 8.5052630e-07f, 9.0579828e-07f, 9.6466216e-07f, - 1.0273513e-06f, 1.0941144e-06f, 1.1652161e-06f, 1.2409384e-06f, - 1.3215816e-06f, 1.4074654e-06f, 1.4989305e-06f, 1.5963394e-06f, - 1.7000785e-06f, 1.8105592e-06f, 1.9282195e-06f, 2.0535261e-06f, - 2.1869758e-06f, 2.3290978e-06f, 2.4804557e-06f, 2.6416497e-06f, - 2.8133190e-06f, 2.9961443e-06f, 3.1908506e-06f, 3.3982101e-06f, - 3.6190449e-06f, 3.8542308e-06f, 4.1047004e-06f, 4.3714470e-06f, - 4.6555282e-06f, 4.9580707e-06f, 5.2802740e-06f, 5.6234160e-06f, - 5.9888572e-06f, 6.3780469e-06f, 6.7925283e-06f, 7.2339451e-06f, - 7.7040476e-06f, 8.2047000e-06f, 8.7378876e-06f, 9.3057248e-06f, - 9.9104632e-06f, 1.0554501e-05f, 1.1240392e-05f, 1.1970856e-05f, - 1.2748789e-05f, 1.3577278e-05f, 1.4459606e-05f, 1.5399272e-05f, - 1.6400004e-05f, 1.7465768e-05f, 1.8600792e-05f, 1.9809576e-05f, - 2.1096914e-05f, 2.2467911e-05f, 2.3928002e-05f, 2.5482978e-05f, - 2.7139006e-05f, 2.8902651e-05f, 3.0780908e-05f, 3.2781225e-05f, - 3.4911534e-05f, 3.7180282e-05f, 3.9596466e-05f, 4.2169667e-05f, - 4.4910090e-05f, 4.7828601e-05f, 5.0936773e-05f, 5.4246931e-05f, - 5.7772202e-05f, 6.1526565e-05f, 6.5524908e-05f, 6.9783085e-05f, - 7.4317983e-05f, 7.9147585e-05f, 8.4291040e-05f, 8.9768747e-05f, - 9.5602426e-05f, 0.00010181521f, 0.00010843174f, 0.00011547824f, - 0.00012298267f, 0.00013097477f, 0.00013948625f, 0.00014855085f, - 0.00015820453f, 0.00016848555f, 0.00017943469f, 0.00019109536f, - 0.00020351382f, 0.00021673929f, 0.00023082423f, 0.00024582449f, - 0.00026179955f, 0.00027881276f, 0.00029693158f, 0.00031622787f, - 0.00033677814f, 0.00035866388f, 0.00038197188f, 0.00040679456f, - 0.00043323036f, 0.00046138411f, 0.00049136745f, 0.00052329927f, - 0.00055730621f, 0.00059352311f, 0.00063209358f, 0.00067317058f, - 0.00071691700f, 0.00076350630f, 0.00081312324f, 0.00086596457f, - 0.00092223983f, 0.00098217216f, 0.0010459992f, 0.0011139742f, - 0.0011863665f, 0.0012634633f, 0.0013455702f, 0.0014330129f, - 0.0015261382f, 0.0016253153f, 0.0017309374f, 0.0018434235f, - 0.0019632195f, 0.0020908006f, 0.0022266726f, 0.0023713743f, - 0.0025254795f, 0.0026895994f, 0.0028643847f, 0.0030505286f, - 0.0032487691f, 0.0034598925f, 0.0036847358f, 0.0039241906f, - 0.0041792066f, 0.0044507950f, 0.0047400328f, 0.0050480668f, - 0.0053761186f, 0.0057254891f, 0.0060975636f, 0.0064938176f, - 0.0069158225f, 0.0073652516f, 0.0078438871f, 0.0083536271f, - 0.0088964928f, 0.009474637f, 0.010090352f, 0.010746080f, - 0.011444421f, 0.012188144f, 0.012980198f, 0.013823725f, - 0.014722068f, 0.015678791f, 0.016697687f, 0.017782797f, - 0.018938423f, 0.020169149f, 0.021479854f, 0.022875735f, - 0.024362330f, 0.025945531f, 0.027631618f, 0.029427276f, - 0.031339626f, 0.033376252f, 0.035545228f, 0.037855157f, - 0.040315199f, 0.042935108f, 0.045725273f, 0.048696758f, - 0.051861348f, 0.055231591f, 0.058820850f, 0.062643361f, - 0.066714279f, 0.071049749f, 0.075666962f, 0.080584227f, - 0.085821044f, 0.091398179f, 0.097337747f, 0.10366330f, - 0.11039993f, 0.11757434f, 0.12521498f, 0.13335215f, - 0.14201813f, 0.15124727f, 0.16107617f, 0.17154380f, - 0.18269168f, 0.19456402f, 0.20720788f, 0.22067342f, - 0.23501402f, 0.25028656f, 0.26655159f, 0.28387361f, - 0.30232132f, 0.32196786f, 0.34289114f, 0.36517414f, - 0.38890521f, 0.41417847f, 0.44109412f, 0.46975890f, - 0.50028648f, 0.53279791f, 0.56742212f, 0.60429640f, - 0.64356699f, 0.68538959f, 0.72993007f, 0.77736504f, - 0.82788260f, 0.88168307f, 0.9389798f, 1.0f -}; - - -// @OPTIMIZE: if you want to replace this bresenham line-drawing routine, -// note that you must produce bit-identical output to decode correctly; -// this specific sequence of operations is specified in the spec (it's -// drawing integer-quantized frequency-space lines that the encoder -// expects to be exactly the same) -// ... also, isn't the whole point of Bresenham's algorithm to NOT -// have to divide in the setup? sigh. -#ifndef STB_VORBIS_NO_DEFER_FLOOR -#define LINE_OP(a,b) a *= b -#else -#define LINE_OP(a,b) a = b -#endif - -#ifdef STB_VORBIS_DIVIDE_TABLE -#define DIVTAB_NUMER 32 -#define DIVTAB_DENOM 64 -int8 integer_divide_table[DIVTAB_NUMER][DIVTAB_DENOM]; // 2KB -#endif - -static __forceinline void draw_line(float *output, int x0, int y0, int x1, int y1, int n) -{ - int dy = y1 - y0; - int adx = x1 - x0; - int ady = abs(dy); - int base; - int x=x0,y=y0; - int err = 0; - int sy; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (adx < DIVTAB_DENOM && ady < DIVTAB_NUMER) { - if (dy < 0) { - base = -integer_divide_table[ady][adx]; - sy = base-1; - } else { - base = integer_divide_table[ady][adx]; - sy = base+1; - } - } else { - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; - } -#else - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; -#endif - ady -= abs(base) * adx; - if (x1 > n) x1 = n; - LINE_OP(output[x], inverse_db_table[y]); - for (++x; x < x1; ++x) { - err += ady; - if (err >= adx) { - err -= adx; - y += sy; - } else - y += base; - LINE_OP(output[x], inverse_db_table[y]); - } -} - -static int residue_decode(vorb *f, Codebook *book, float *target, int offset, int n, int rtype) -{ - int k; - if (rtype == 0) { - int step = n / book->dimensions; - for (k=0; k < step; ++k) - if (!codebook_decode_step(f, book, target+offset+k, n-offset-k, step)) - return FALSE; - } else { - for (k=0; k < n; ) { - if (!codebook_decode(f, book, target+offset, n-k)) - return FALSE; - k += book->dimensions; - offset += book->dimensions; - } - } - return TRUE; -} - -static void decode_residue(vorb *f, float *residue_buffers[], int ch, int n, int rn, uint8 *do_not_decode) -{ - int i,j,pass; - Residue *r = f->residue_config + rn; - int rtype = f->residue_types[rn]; - int c = r->classbook; - int classwords = f->codebooks[c].dimensions; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - int temp_alloc_point = temp_alloc_save(f); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - uint8 ***part_classdata = (uint8 ***) temp_block_array(f,f->channels, part_read * sizeof(**part_classdata)); - #else - int **classifications = (int **) temp_block_array(f,f->channels, part_read * sizeof(**classifications)); - #endif - - stb_prof(2); - for (i=0; i < ch; ++i) - if (!do_not_decode[i]) - memset(residue_buffers[i], 0, sizeof(float) * n); - - if (rtype == 2 && ch != 1) { - int len = ch * n; - for (j=0; j < ch; ++j) - if (!do_not_decode[j]) - break; - if (j == ch) - goto done; - - stb_prof(3); - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set = 0; - if (ch == 2) { - stb_prof(13); - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = (z & 1), p_inter = z>>1; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - stb_prof(5); - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(20); // accounts for X time - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - #else - // saves 1% - if (!codebook_decode_deinterleave_repeat_2(f, book, residue_buffers, &c_inter, &p_inter, n, r->part_size)) - goto done; - #endif - stb_prof(7); - } else { - z += r->part_size; - c_inter = z & 1; - p_inter = z >> 1; - } - } - stb_prof(8); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else if (ch == 1) { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = 0, p_inter = z; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = 0; - p_inter = z; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = z % ch, p_inter = z/ch; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = z % ch; - p_inter = z / ch; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - } - goto done; - } - stb_prof(9); - - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set=0; - while (pcount < part_read) { - if (pass == 0) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - Codebook *c = f->codebooks+r->classbook; - int temp; - DECODE(temp,f,c); - if (temp == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[j][class_set] = r->classdata[temp]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[j][i+pcount] = temp % r->classifications; - temp /= r->classifications; - } - #endif - } - } - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[j][class_set][i]; - #else - int c = classifications[j][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - float *target = residue_buffers[j]; - int offset = r->begin + pcount * r->part_size; - int n = r->part_size; - Codebook *book = f->codebooks + b; - if (!residue_decode(f, book, target, offset, n, rtype)) - goto done; - } - } - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - done: - stb_prof(0); - temp_alloc_restore(f,temp_alloc_point); -} - - -#if 0 -// slow way for debugging -void inverse_mdct_slow(float *buffer, int n) -{ - int i,j; - int n2 = n >> 1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - // formula from paper: - //acc += n/4.0f * x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - // formula from wikipedia - //acc += 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - // these are equivalent, except the formula from the paper inverts the multiplier! - // however, what actually works is NO MULTIPLIER!?! - //acc += 64 * 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - acc += x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - buffer[i] = acc; - } - free(x); -} -#elif 0 -// same as above, but just barely able to run in real time on modern machines -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - float mcos[16384]; - int i,j; - int n2 = n >> 1, nmask = (n << 2) -1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < 4*n; ++i) - mcos[i] = (float) cos(M_PI / 2 * i / n); - - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - acc += x[j] * mcos[(2 * i + 1 + n2)*(2*j+1) & nmask]; - buffer[i] = acc; - } - free(x); -} -#else -// transform to use a slow dct-iv; this is STILL basically trivial, -// but only requires half as many ops -void dct_iv_slow(float *buffer, int n) -{ - float mcos[16384]; - float x[2048]; - int i,j; - int n2 = n >> 1, nmask = (n << 3) - 1; - memcpy(x, buffer, sizeof(*x) * n); - for (i=0; i < 8*n; ++i) - mcos[i] = (float) cos(M_PI / 4 * i / n); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n; ++j) - acc += x[j] * mcos[((2 * i + 1)*(2*j+1)) & nmask]; - //acc += x[j] * cos(M_PI / n * (i + 0.5) * (j + 0.5)); - buffer[i] = acc; - } - free(x); -} - -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - int i, n4 = n >> 2, n2 = n >> 1, n3_4 = n - n4; - float temp[4096]; - - memcpy(temp, buffer, n2 * sizeof(float)); - dct_iv_slow(temp, n2); // returns -c'-d, a-b' - - for (i=0; i < n4 ; ++i) buffer[i] = temp[i+n4]; // a-b' - for ( ; i < n3_4; ++i) buffer[i] = -temp[n3_4 - i - 1]; // b-a', c+d' - for ( ; i < n ; ++i) buffer[i] = -temp[i - n3_4]; // c'+d -} -#endif - -#ifndef LIBVORBIS_MDCT -#define LIBVORBIS_MDCT 0 -#endif - -#if LIBVORBIS_MDCT -// directly call the vorbis MDCT using an interface documented -// by Jeff Roberts... useful for performance comparison -typedef struct -{ - int n; - int log2n; - - float *trig; - int *bitrev; - - float scale; -} mdct_lookup; - -extern void mdct_init(mdct_lookup *lookup, int n); -extern void mdct_clear(mdct_lookup *l); -extern void mdct_backward(mdct_lookup *init, float *in, float *out); - -mdct_lookup M1,M2; - -void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - mdct_lookup *M; - if (M1.n == n) M = &M1; - else if (M2.n == n) M = &M2; - else if (M1.n == 0) { mdct_init(&M1, n); M = &M1; } - else { - if (M2.n) __asm int 3; - mdct_init(&M2, n); - M = &M2; - } - - mdct_backward(M, buffer, buffer); -} -#endif - - -// the following were split out into separate functions while optimizing; -// they could be pushed back up but eh. __forceinline showed no change; -// they're probably already being inlined. -static void imdct_step3_iter0_loop(int n, float *e, int i_off, int k_off, float *A) -{ - float *ee0 = e + i_off; - float *ee2 = ee0 + k_off; - int i; - - assert((n & 3) == 0); - for (i=(n>>2); i > 0; --i) { - float k00_20, k01_21; - k00_20 = ee0[ 0] - ee2[ 0]; - k01_21 = ee0[-1] - ee2[-1]; - ee0[ 0] += ee2[ 0];//ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] += ee2[-1];//ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-1] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-2] - ee2[-2]; - k01_21 = ee0[-3] - ee2[-3]; - ee0[-2] += ee2[-2];//ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] += ee2[-3];//ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-3] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-4] - ee2[-4]; - k01_21 = ee0[-5] - ee2[-5]; - ee0[-4] += ee2[-4];//ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] += ee2[-5];//ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-5] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-6] - ee2[-6]; - k01_21 = ee0[-7] - ee2[-7]; - ee0[-6] += ee2[-6];//ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] += ee2[-7];//ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-7] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - ee0 -= 8; - ee2 -= 8; - } -} - -static void imdct_step3_inner_r_loop(int lim, float *e, int d0, int k_off, float *A, int k1) -{ - int i; - float k00_20, k01_21; - - float *e0 = e + d0; - float *e2 = e0 + k_off; - - for (i=lim >> 2; i > 0; --i) { - k00_20 = e0[-0] - e2[-0]; - k01_21 = e0[-1] - e2[-1]; - e0[-0] += e2[-0];//e0[-0] = e0[-0] + e2[-0]; - e0[-1] += e2[-1];//e0[-1] = e0[-1] + e2[-1]; - e2[-0] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-1] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-2] - e2[-2]; - k01_21 = e0[-3] - e2[-3]; - e0[-2] += e2[-2];//e0[-2] = e0[-2] + e2[-2]; - e0[-3] += e2[-3];//e0[-3] = e0[-3] + e2[-3]; - e2[-2] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-3] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-4] - e2[-4]; - k01_21 = e0[-5] - e2[-5]; - e0[-4] += e2[-4];//e0[-4] = e0[-4] + e2[-4]; - e0[-5] += e2[-5];//e0[-5] = e0[-5] + e2[-5]; - e2[-4] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-5] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-6] - e2[-6]; - k01_21 = e0[-7] - e2[-7]; - e0[-6] += e2[-6];//e0[-6] = e0[-6] + e2[-6]; - e0[-7] += e2[-7];//e0[-7] = e0[-7] + e2[-7]; - e2[-6] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-7] = (k01_21)*A[0] + (k00_20) * A[1]; - - e0 -= 8; - e2 -= 8; - - A += k1; - } -} - -static void imdct_step3_inner_s_loop(int n, float *e, int i_off, int k_off, float *A, int a_off, int k0) -{ - int i; - float A0 = A[0]; - float A1 = A[0+1]; - float A2 = A[0+a_off]; - float A3 = A[0+a_off+1]; - float A4 = A[0+a_off*2+0]; - float A5 = A[0+a_off*2+1]; - float A6 = A[0+a_off*3+0]; - float A7 = A[0+a_off*3+1]; - - float k00,k11; - - float *ee0 = e +i_off; - float *ee2 = ee0+k_off; - - for (i=n; i > 0; --i) { - k00 = ee0[ 0] - ee2[ 0]; - k11 = ee0[-1] - ee2[-1]; - ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = (k00) * A0 - (k11) * A1; - ee2[-1] = (k11) * A0 + (k00) * A1; - - k00 = ee0[-2] - ee2[-2]; - k11 = ee0[-3] - ee2[-3]; - ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = (k00) * A2 - (k11) * A3; - ee2[-3] = (k11) * A2 + (k00) * A3; - - k00 = ee0[-4] - ee2[-4]; - k11 = ee0[-5] - ee2[-5]; - ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = (k00) * A4 - (k11) * A5; - ee2[-5] = (k11) * A4 + (k00) * A5; - - k00 = ee0[-6] - ee2[-6]; - k11 = ee0[-7] - ee2[-7]; - ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = (k00) * A6 - (k11) * A7; - ee2[-7] = (k11) * A6 + (k00) * A7; - - ee0 -= k0; - ee2 -= k0; - } -} - -static __forceinline void iter_54(float *z) -{ - float k00,k11,k22,k33; - float y0,y1,y2,y3; - - k00 = z[ 0] - z[-4]; - y0 = z[ 0] + z[-4]; - y2 = z[-2] + z[-6]; - k22 = z[-2] - z[-6]; - - z[-0] = y0 + y2; // z0 + z4 + z2 + z6 - z[-2] = y0 - y2; // z0 + z4 - z2 - z6 - - // done with y0,y2 - - k33 = z[-3] - z[-7]; - - z[-4] = k00 + k33; // z0 - z4 + z3 - z7 - z[-6] = k00 - k33; // z0 - z4 - z3 + z7 - - // done with k33 - - k11 = z[-1] - z[-5]; - y1 = z[-1] + z[-5]; - y3 = z[-3] + z[-7]; - - z[-1] = y1 + y3; // z1 + z5 + z3 + z7 - z[-3] = y1 - y3; // z1 + z5 - z3 - z7 - z[-5] = k11 - k22; // z1 - z5 + z2 - z6 - z[-7] = k11 + k22; // z1 - z5 - z2 + z6 -} - -static void imdct_step3_inner_s_loop_ld654(int n, float *e, int i_off, float *A, int base_n) -{ - int k_off = -8; - int a_off = base_n >> 3; - float A2 = A[0+a_off]; - float *z = e + i_off; - float *base = z - 16 * n; - - while (z > base) { - float k00,k11; - - k00 = z[-0] - z[-8]; - k11 = z[-1] - z[-9]; - z[-0] = z[-0] + z[-8]; - z[-1] = z[-1] + z[-9]; - z[-8] = k00; - z[-9] = k11 ; - - k00 = z[ -2] - z[-10]; - k11 = z[ -3] - z[-11]; - z[ -2] = z[ -2] + z[-10]; - z[ -3] = z[ -3] + z[-11]; - z[-10] = (k00+k11) * A2; - z[-11] = (k11-k00) * A2; - - k00 = z[-12] - z[ -4]; // reverse to avoid a unary negation - k11 = z[ -5] - z[-13]; - z[ -4] = z[ -4] + z[-12]; - z[ -5] = z[ -5] + z[-13]; - z[-12] = k11; - z[-13] = k00; - - k00 = z[-14] - z[ -6]; // reverse to avoid a unary negation - k11 = z[ -7] - z[-15]; - z[ -6] = z[ -6] + z[-14]; - z[ -7] = z[ -7] + z[-15]; - z[-14] = (k00+k11) * A2; - z[-15] = (k00-k11) * A2; - - iter_54(z); - iter_54(z-8); - z -= 16; - } -} - -static void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // @OPTIMIZE: reduce register pressure by using fewer variables? - int save_point = temp_alloc_save(f); - float *buf2 = (float *) temp_alloc(f, n2 * sizeof(*buf2)); - float *u=NULL,*v=NULL; - // twiddle factors - float *A = f->A[blocktype]; - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // See notes about bugs in that paper in less-optimal implementation 'inverse_mdct_old' after this function. - - // kernel from paper - - - // merged: - // copy and reflect spectral data - // step 0 - - // note that it turns out that the items added together during - // this step are, in fact, being added to themselves (as reflected - // by step 0). inexplicable inefficiency! this became obvious - // once I combined the passes. - - // so there's a missing 'times 2' here (for adding X to itself). - // this propogates through linearly to the end, where the numbers - // are 1/2 too small, and need to be compensated for. - - { - float *d,*e, *AA, *e_stop; - d = &buf2[n2-2]; - AA = A; - e = &buffer[0]; - e_stop = &buffer[n2]; - while (e != e_stop) { - d[1] = (e[0] * AA[0] - e[2]*AA[1]); - d[0] = (e[0] * AA[1] + e[2]*AA[0]); - d -= 2; - AA += 2; - e += 4; - } - - e = &buffer[n2-3]; - while (d >= buf2) { - d[1] = (-e[2] * AA[0] - -e[0]*AA[1]); - d[0] = (-e[2] * AA[1] + -e[0]*AA[0]); - d -= 2; - AA += 2; - e -= 4; - } - } - - // now we use symbolic names for these, so that we can - // possibly swap their meaning as we change which operations - // are in place - - u = buffer; - v = buf2; - - // step 2 (paper output is w, now u) - // this could be in place, but the data ends up in the wrong - // place... _somebody_'s got to swap it, so this is nominated - { - float *AA = &A[n2-8]; - float *d0,*d1, *e0, *e1; - - e0 = &v[n4]; - e1 = &v[0]; - - d0 = &u[n4]; - d1 = &u[0]; - - while (AA >= A) { - float v40_20, v41_21; - - v41_21 = e0[1] - e1[1]; - v40_20 = e0[0] - e1[0]; - d0[1] = e0[1] + e1[1]; - d0[0] = e0[0] + e1[0]; - d1[1] = v41_21*AA[4] - v40_20*AA[5]; - d1[0] = v40_20*AA[4] + v41_21*AA[5]; - - v41_21 = e0[3] - e1[3]; - v40_20 = e0[2] - e1[2]; - d0[3] = e0[3] + e1[3]; - d0[2] = e0[2] + e1[2]; - d1[3] = v41_21*AA[0] - v40_20*AA[1]; - d1[2] = v40_20*AA[0] + v41_21*AA[1]; - - AA -= 8; - - d0 += 4; - d1 += 4; - e0 += 4; - e1 += 4; - } - } - - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - - // optimized step 3: - - // the original step3 loop can be nested r inside s or s inside r; - // it's written originally as s inside r, but this is dumb when r - // iterates many times, and s few. So I have two copies of it and - // switch between them halfway. - - // this is iteration 0 of step 3 - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*0, -(n >> 3), A); - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*1, -(n >> 3), A); - - // this is iteration 1 of step 3 - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*0, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*1, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*2, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*3, -(n >> 4), A, 16); - - l=2; - for (; l < (ld-3)>>1; ++l) { - int k0 = n >> (l+2), k0_2 = k0>>1; - int lim = 1 << (l+1); - int i; - for (i=0; i < lim; ++i) - imdct_step3_inner_r_loop(n >> (l+4), u, n2-1 - k0*i, -k0_2, A, 1 << (l+3)); - } - - for (; l < ld-6; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3), k0_2 = k0>>1; - int rlim = n >> (l+6), r; - int lim = 1 << (l+1); - int i_off; - float *A0 = A; - i_off = n2-1; - for (r=rlim; r > 0; --r) { - imdct_step3_inner_s_loop(lim, u, i_off, -k0_2, A0, k1, k0); - A0 += k1*4; - i_off -= 8; - } - } - - // iterations with count: - // ld-6,-5,-4 all interleaved together - // the big win comes from getting rid of needless flops - // due to the constants on pass 5 & 4 being all 1 and 0; - // combining them to be simultaneous to improve cache made little difference - imdct_step3_inner_s_loop_ld654(n >> 5, u, n2-1, A, n); - - // output is u - - // step 4, 5, and 6 - // cannot be in-place because of step 5 - { - uint16 *bitrev = f->bit_reverse[blocktype]; - // weirdly, I'd have thought reading sequentially and writing - // erratically would have been better than vice-versa, but in - // fact that's not what my testing showed. (That is, with - // j = bitreverse(i), do you read i and write j, or read j and write i.) - - float *d0 = &v[n4-4]; - float *d1 = &v[n2-4]; - while (d0 >= v) { - int k4; - - k4 = bitrev[0]; - d1[3] = u[k4+0]; - d1[2] = u[k4+1]; - d0[3] = u[k4+2]; - d0[2] = u[k4+3]; - - k4 = bitrev[1]; - d1[1] = u[k4+0]; - d1[0] = u[k4+1]; - d0[1] = u[k4+2]; - d0[0] = u[k4+3]; - - d0 -= 4; - d1 -= 4; - bitrev += 2; - } - } - // (paper output is u, now v) - - - // data must be in buf2 - assert(v == buf2); - - // step 7 (paper output is v, now v) - // this is now in place - { - float *C = f->C[blocktype]; - float *d, *e; - - d = v; - e = v + n2 - 4; - - while (d < e) { - float a02,a11,b0,b1,b2,b3; - - a02 = d[0] - e[2]; - a11 = d[1] + e[3]; - - b0 = C[1]*a02 + C[0]*a11; - b1 = C[1]*a11 - C[0]*a02; - - b2 = d[0] + e[ 2]; - b3 = d[1] - e[ 3]; - - d[0] = b2 + b0; - d[1] = b3 + b1; - e[2] = b2 - b0; - e[3] = b1 - b3; - - a02 = d[2] - e[0]; - a11 = d[3] + e[1]; - - b0 = C[3]*a02 + C[2]*a11; - b1 = C[3]*a11 - C[2]*a02; - - b2 = d[2] + e[ 0]; - b3 = d[3] - e[ 1]; - - d[2] = b2 + b0; - d[3] = b3 + b1; - e[0] = b2 - b0; - e[1] = b1 - b3; - - C += 4; - d += 4; - e -= 4; - } - } - - // data must be in buf2 - - - // step 8+decode (paper output is X, now buffer) - // this generates pairs of data a la 8 and pushes them directly through - // the decode kernel (pushing rather than pulling) to avoid having - // to make another pass later - - // this cannot POSSIBLY be in place, so we refer to the buffers directly - - { - float *d0,*d1,*d2,*d3; - - float *B = f->B[blocktype] + n2 - 8; - float *e = buf2 + n2 - 8; - d0 = &buffer[0]; - d1 = &buffer[n2-4]; - d2 = &buffer[n2]; - d3 = &buffer[n-4]; - while (e >= v) { - float p0,p1,p2,p3; - - p3 = e[6]*B[7] - e[7]*B[6]; - p2 = -e[6]*B[6] - e[7]*B[7]; - - d0[0] = p3; - d1[3] = - p3; - d2[0] = p2; - d3[3] = p2; - - p1 = e[4]*B[5] - e[5]*B[4]; - p0 = -e[4]*B[4] - e[5]*B[5]; - - d0[1] = p1; - d1[2] = - p1; - d2[1] = p0; - d3[2] = p0; - - p3 = e[2]*B[3] - e[3]*B[2]; - p2 = -e[2]*B[2] - e[3]*B[3]; - - d0[2] = p3; - d1[1] = - p3; - d2[2] = p2; - d3[1] = p2; - - p1 = e[0]*B[1] - e[1]*B[0]; - p0 = -e[0]*B[0] - e[1]*B[1]; - - d0[3] = p1; - d1[0] = - p1; - d2[3] = p0; - d3[0] = p0; - - B -= 8; - e -= 8; - d0 += 4; - d2 += 4; - d1 -= 4; - d3 -= 4; - } - } - - temp_alloc_restore(f,save_point); -} - -#if 0 -// this is the original version of the above code, if you want to optimize it from scratch -void inverse_mdct_naive(float *buffer, int n) -{ - float s; - float A[1 << 12], B[1 << 12], C[1 << 11]; - int i,k,k2,k4, n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // how can they claim this only uses N words?! - // oh, because they're only used sparsely, whoops - float u[1 << 13], X[1 << 13], v[1 << 13], w[1 << 13]; - // set up twiddle factors - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2); - B[k2+1] = (float) sin((k2+1)*M_PI/n/2); - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // Note there are bugs in that pseudocode, presumably due to them attempting - // to rename the arrays nicely rather than representing the way their actual - // implementation bounces buffers back and forth. As a result, even in the - // "some formulars corrected" version, a direct implementation fails. These - // are noted below as "paper bug". - - // copy and reflect spectral data - for (k=0; k < n2; ++k) u[k] = buffer[k]; - for ( ; k < n ; ++k) u[k] = -buffer[n - k - 1]; - // kernel from paper - // step 1 - for (k=k2=k4=0; k < n4; k+=1, k2+=2, k4+=4) { - v[n-k4-1] = (u[k4] - u[n-k4-1]) * A[k2] - (u[k4+2] - u[n-k4-3])*A[k2+1]; - v[n-k4-3] = (u[k4] - u[n-k4-1]) * A[k2+1] + (u[k4+2] - u[n-k4-3])*A[k2]; - } - // step 2 - for (k=k4=0; k < n8; k+=1, k4+=4) { - w[n2+3+k4] = v[n2+3+k4] + v[k4+3]; - w[n2+1+k4] = v[n2+1+k4] + v[k4+1]; - w[k4+3] = (v[n2+3+k4] - v[k4+3])*A[n2-4-k4] - (v[n2+1+k4]-v[k4+1])*A[n2-3-k4]; - w[k4+1] = (v[n2+1+k4] - v[k4+1])*A[n2-4-k4] + (v[n2+3+k4]-v[k4+3])*A[n2-3-k4]; - } - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - for (l=0; l < ld-3; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3); - int rlim = n >> (l+4), r4, r; - int s2lim = 1 << (l+2), s2; - for (r=r4=0; r < rlim; r4+=4,++r) { - for (s2=0; s2 < s2lim; s2+=2) { - u[n-1-k0*s2-r4] = w[n-1-k0*s2-r4] + w[n-1-k0*(s2+1)-r4]; - u[n-3-k0*s2-r4] = w[n-3-k0*s2-r4] + w[n-3-k0*(s2+1)-r4]; - u[n-1-k0*(s2+1)-r4] = (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1] - - (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1+1]; - u[n-3-k0*(s2+1)-r4] = (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1] - + (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1+1]; - } - } - if (l+1 < ld-3) { - // paper bug: ping-ponging of u&w here is omitted - memcpy(w, u, sizeof(u)); - } - } - - // step 4 - for (i=0; i < n8; ++i) { - int j = bit_reverse(i) >> (32-ld+3); - assert(j < n8); - if (i == j) { - // paper bug: original code probably swapped in place; if copying, - // need to directly copy in this case - int i8 = i << 3; - v[i8+1] = u[i8+1]; - v[i8+3] = u[i8+3]; - v[i8+5] = u[i8+5]; - v[i8+7] = u[i8+7]; - } else if (i < j) { - int i8 = i << 3, j8 = j << 3; - v[j8+1] = u[i8+1], v[i8+1] = u[j8 + 1]; - v[j8+3] = u[i8+3], v[i8+3] = u[j8 + 3]; - v[j8+5] = u[i8+5], v[i8+5] = u[j8 + 5]; - v[j8+7] = u[i8+7], v[i8+7] = u[j8 + 7]; - } - } - // step 5 - for (k=0; k < n2; ++k) { - w[k] = v[k*2+1]; - } - // step 6 - for (k=k2=k4=0; k < n8; ++k, k2 += 2, k4 += 4) { - u[n-1-k2] = w[k4]; - u[n-2-k2] = w[k4+1]; - u[n3_4 - 1 - k2] = w[k4+2]; - u[n3_4 - 2 - k2] = w[k4+3]; - } - // step 7 - for (k=k2=0; k < n8; ++k, k2 += 2) { - v[n2 + k2 ] = ( u[n2 + k2] + u[n-2-k2] + C[k2+1]*(u[n2+k2]-u[n-2-k2]) + C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n-2 - k2] = ( u[n2 + k2] + u[n-2-k2] - C[k2+1]*(u[n2+k2]-u[n-2-k2]) - C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n2+1+ k2] = ( u[n2+1+k2] - u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - v[n-1 - k2] = (-u[n2+1+k2] + u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - } - // step 8 - for (k=k2=0; k < n4; ++k,k2 += 2) { - X[k] = v[k2+n2]*B[k2 ] + v[k2+1+n2]*B[k2+1]; - X[n2-1-k] = v[k2+n2]*B[k2+1] - v[k2+1+n2]*B[k2 ]; - } - - // decode kernel to output - // determined the following value experimentally - // (by first figuring out what made inverse_mdct_slow work); then matching that here - // (probably vorbis encoder premultiplies by n or n/2, to save it on the decoder?) - s = 0.5; // theoretically would be n4 - - // [[[ note! the s value of 0.5 is compensated for by the B[] in the current code, - // so it needs to use the "old" B values to behave correctly, or else - // set s to 1.0 ]]] - for (i=0; i < n4 ; ++i) buffer[i] = s * X[i+n4]; - for ( ; i < n3_4; ++i) buffer[i] = -s * X[n3_4 - i - 1]; - for ( ; i < n ; ++i) buffer[i] = -s * X[i - n3_4]; -} -#endif - -static float *get_window(vorb *f, int len) -{ - len <<= 1; - if (len == f->blocksize_0) return f->window[0]; - if (len == f->blocksize_1) return f->window[1]; - assert(0); - return NULL; -} - -#ifndef STB_VORBIS_NO_DEFER_FLOOR -typedef int16 YTYPE; -#else -typedef int YTYPE; -#endif -static int do_floor(vorb *f, Mapping *map, int i, int n, float *target, YTYPE *finalY, uint8 *step2_flag) -{ - int n2 = n >> 1; - int s = map->chan[i].mux, floor; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - int j,q; - int lx = 0, ly = finalY[0] * g->floor1_multiplier; - for (q=1; q < g->values; ++q) { - j = g->sorted_order[q]; - #ifndef STB_VORBIS_NO_DEFER_FLOOR - if (finalY[j] >= 0) - #else - if (step2_flag[j]) - #endif - { - int hy = finalY[j] * g->floor1_multiplier; - int hx = g->Xlist[j]; - draw_line(target, lx,ly, hx,hy, n2); - lx = hx, ly = hy; - } - } - if (lx < n2) - // optimization of: draw_line(target, lx,ly, n,ly, n2); - for (j=lx; j < n2; ++j) - LINE_OP(target[j], inverse_db_table[ly]); - } - return TRUE; -} - -static int vorbis_decode_initial(vorb *f, int *p_left_start, int *p_left_end, int *p_right_start, int *p_right_end, int *mode) -{ - Mode *m; - int i, n, prev, next, window_center; - f->channel_buffer_start = f->channel_buffer_end = 0; - - retry: - if (f->eof) return FALSE; - if (!maybe_start_packet(f)) - return FALSE; - // check packet type - if (get_bits(f,1) != 0) { - if (IS_PUSH_MODE(f)) - return error(f,VORBIS_bad_packet_type); - while (EOP != get8_packet(f)); - goto retry; - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - i = get_bits(f, ilog(f->mode_count-1)); - if (i == EOP) return FALSE; - if (i >= f->mode_count) return FALSE; - *mode = i; - m = f->mode_config + i; - if (m->blockflag) { - n = f->blocksize_1; - prev = get_bits(f,1); - next = get_bits(f,1); - } else { - prev = next = 0; - n = f->blocksize_0; - } - -// WINDOWING - - window_center = n >> 1; - if (m->blockflag && !prev) { - *p_left_start = (n - f->blocksize_0) >> 2; - *p_left_end = (n + f->blocksize_0) >> 2; - } else { - *p_left_start = 0; - *p_left_end = window_center; - } - if (m->blockflag && !next) { - *p_right_start = (n*3 - f->blocksize_0) >> 2; - *p_right_end = (n*3 + f->blocksize_0) >> 2; - } else { - *p_right_start = window_center; - *p_right_end = n; - } - return TRUE; -} - -static int vorbis_decode_packet_rest(vorb *f, int *len, Mode *m, int left_start, int left_end, int right_start, int right_end, int *p_left) -{ - Mapping *map; - int i,j,k,n,n2; - int zero_channel[256]; - int really_zero_channel[256]; - int window_center; - -// WINDOWING - - n = f->blocksize[m->blockflag]; - window_center = n >> 1; - - map = &f->mapping[m->mapping]; - -// FLOORS - n2 = n >> 1; - - stb_prof(1); - for (i=0; i < f->channels; ++i) { - int s = map->chan[i].mux, floor; - zero_channel[i] = FALSE; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - if (get_bits(f, 1)) { - short *finalY; - uint8 step2_flag[256]; - static int range_list[4] = { 256, 128, 86, 64 }; - int range = range_list[g->floor1_multiplier-1]; - int offset = 2; - finalY = f->finalY[i]; - finalY[0] = get_bits(f, ilog(range)-1); - finalY[1] = get_bits(f, ilog(range)-1); - for (j=0; j < g->partitions; ++j) { - int pclass = g->partition_class_list[j]; - int cdim = g->class_dimensions[pclass]; - int cbits = g->class_subclasses[pclass]; - int csub = (1 << cbits)-1; - int cval = 0; - if (cbits) { - Codebook *c = f->codebooks + g->class_masterbooks[pclass]; - DECODE(cval,f,c); - } - for (k=0; k < cdim; ++k) { - int book = g->subclass_books[pclass][cval & csub]; - cval = cval >> cbits; - if (book >= 0) { - int temp; - Codebook *c = f->codebooks + book; - DECODE(temp,f,c); - finalY[offset++] = temp; - } else - finalY[offset++] = 0; - } - } - if (f->valid_bits == INVALID_BITS) goto error; // behavior according to spec - step2_flag[0] = step2_flag[1] = 1; - for (j=2; j < g->values; ++j) { - int low, high, pred, highroom, lowroom, room, val; - low = g->neighbors[j][0]; - high = g->neighbors[j][1]; - //neighbors(g->Xlist, j, &low, &high); - pred = predict_point(g->Xlist[j], g->Xlist[low], g->Xlist[high], finalY[low], finalY[high]); - val = finalY[j]; - highroom = range - pred; - lowroom = pred; - if (highroom < lowroom) - room = highroom * 2; - else - room = lowroom * 2; - if (val) { - step2_flag[low] = step2_flag[high] = 1; - step2_flag[j] = 1; - if (val >= room) - if (highroom > lowroom) - finalY[j] = val - lowroom + pred; - else - finalY[j] = pred - val + highroom - 1; - else - if (val & 1) - finalY[j] = pred - ((val+1)>>1); - else - finalY[j] = pred + (val>>1); - } else { - step2_flag[j] = 0; - finalY[j] = pred; - } - } - -#ifdef STB_VORBIS_NO_DEFER_FLOOR - do_floor(f, map, i, n, f->floor_buffers[i], finalY, step2_flag); -#else - // defer final floor computation until _after_ residue - for (j=0; j < g->values; ++j) { - if (!step2_flag[j]) - finalY[j] = -1; - } -#endif - } else { - error: - zero_channel[i] = TRUE; - } - // So we just defer everything else to later - - // at this point we've decoded the floor into buffer - } - } - stb_prof(0); - // at this point we've decoded all floors - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - // re-enable coupled channels if necessary - memcpy(really_zero_channel, zero_channel, sizeof(really_zero_channel[0]) * f->channels); - for (i=0; i < map->coupling_steps; ++i) - if (!zero_channel[map->chan[i].magnitude] || !zero_channel[map->chan[i].angle]) { - zero_channel[map->chan[i].magnitude] = zero_channel[map->chan[i].angle] = FALSE; - } - -// RESIDUE DECODE - for (i=0; i < map->submaps; ++i) { - float *residue_buffers[STB_VORBIS_MAX_CHANNELS]; - int r,t; - uint8 do_not_decode[256]; - int ch = 0; - for (j=0; j < f->channels; ++j) { - if (map->chan[j].mux == i) { - if (zero_channel[j]) { - do_not_decode[ch] = TRUE; - residue_buffers[ch] = NULL; - } else { - do_not_decode[ch] = FALSE; - residue_buffers[ch] = f->channel_buffers[j]; - } - ++ch; - } - } - r = map->submap_residue[i]; - t = f->residue_types[r]; - decode_residue(f, residue_buffers, ch, n2, r, do_not_decode); - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - -// INVERSE COUPLING - stb_prof(14); - for (i = map->coupling_steps-1; i >= 0; --i) { - int n2 = n >> 1; - float *m = f->channel_buffers[map->chan[i].magnitude]; - float *a = f->channel_buffers[map->chan[i].angle ]; - for (j=0; j < n2; ++j) { - float a2,m2; - if (m[j] > 0) - if (a[j] > 0) - m2 = m[j], a2 = m[j] - a[j]; - else - a2 = m[j], m2 = m[j] + a[j]; - else - if (a[j] > 0) - m2 = m[j], a2 = m[j] + a[j]; - else - a2 = m[j], m2 = m[j] - a[j]; - m[j] = m2; - a[j] = a2; - } - } - - // finish decoding the floors -#ifndef STB_VORBIS_NO_DEFER_FLOOR - stb_prof(15); - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - do_floor(f, map, i, n, f->channel_buffers[i], f->finalY[i], NULL); - } - } -#else - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - for (j=0; j < n2; ++j) - f->channel_buffers[i][j] *= f->floor_buffers[i][j]; - } - } -#endif - -// INVERSE MDCT - stb_prof(16); - for (i=0; i < f->channels; ++i) - inverse_mdct(f->channel_buffers[i], n, f, m->blockflag); - stb_prof(0); - - // this shouldn't be necessary, unless we exited on an error - // and want to flush to get to the next packet - flush_packet(f); - - if (f->first_decode) { - // assume we start so first non-discarded sample is sample 0 - // this isn't to spec, but spec would require us to read ahead - // and decode the size of all current frames--could be done, - // but presumably it's not a commonly used feature - f->current_loc = -n2; // start of first frame is positioned for discard - // we might have to discard samples "from" the next frame too, - // if we're lapping a large block then a small at the start? - f->discard_samples_deferred = n - right_end; - f->current_loc_valid = TRUE; - f->first_decode = FALSE; - } else if (f->discard_samples_deferred) { - left_start += f->discard_samples_deferred; - *p_left = left_start; - f->discard_samples_deferred = 0; - } else if (f->previous_length == 0 && f->current_loc_valid) { - // we're recovering from a seek... that means we're going to discard - // the samples from this packet even though we know our position from - // the last page header, so we need to update the position based on - // the discarded samples here - // but wait, the code below is going to add this in itself even - // on a discard, so we don't need to do it here... - } - - // check if we have ogg information about the sample # for this packet - if (f->last_seg_which == f->end_seg_with_known_loc) { - // if we have a valid current loc, and this is final: - if (f->current_loc_valid && (f->page_flag & PAGEFLAG_last_page)) { - uint32 current_end = f->known_loc_for_packet - (n-right_end); - // then let's infer the size of the (probably) short final frame - if (current_end < f->current_loc + right_end) { - if (current_end < f->current_loc) { - // negative truncation, that's impossible! - *len = 0; - } else { - *len = current_end - f->current_loc; - } - *len += left_start; - f->current_loc += *len; - return TRUE; - } - } - // otherwise, just set our sample loc - // guess that the ogg granule pos refers to the _middle_ of the - // last frame? - // set f->current_loc to the position of left_start - f->current_loc = f->known_loc_for_packet - (n2-left_start); - f->current_loc_valid = TRUE; - } - if (f->current_loc_valid) - f->current_loc += (right_start - left_start); - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - *len = right_end; // ignore samples after the window goes to 0 - return TRUE; -} - -static int vorbis_decode_packet(vorb *f, int *len, int *p_left, int *p_right) -{ - int mode, left_end, right_end; - if (!vorbis_decode_initial(f, p_left, &left_end, p_right, &right_end, &mode)) return 0; - return vorbis_decode_packet_rest(f, len, f->mode_config + mode, *p_left, left_end, *p_right, right_end, p_left); -} - -static int vorbis_finish_frame(stb_vorbis *f, int len, int left, int right) -{ - int prev,i,j; - // we use right&left (the start of the right- and left-window sin()-regions) - // to determine how much to return, rather than inferring from the rules - // (same result, clearer code); 'left' indicates where our sin() window - // starts, therefore where the previous window's right edge starts, and - // therefore where to start mixing from the previous buffer. 'right' - // indicates where our sin() ending-window starts, therefore that's where - // we start saving, and where our returned-data ends. - - // mixin from previous window - if (f->previous_length) { - int i,j, n = f->previous_length; - float *w = get_window(f, n); - for (i=0; i < f->channels; ++i) { - for (j=0; j < n; ++j) - f->channel_buffers[i][left+j] = - f->channel_buffers[i][left+j]*w[ j] + - f->previous_window[i][ j]*w[n-1-j]; - } - } - - prev = f->previous_length; - - // last half of this data becomes previous window - f->previous_length = len - right; - - // @OPTIMIZE: could avoid this copy by double-buffering the - // output (flipping previous_window with channel_buffers), but - // then previous_window would have to be 2x as large, and - // channel_buffers couldn't be temp mem (although they're NOT - // currently temp mem, they could be (unless we want to level - // performance by spreading out the computation)) - for (i=0; i < f->channels; ++i) - for (j=0; right+j < len; ++j) - f->previous_window[i][j] = f->channel_buffers[i][right+j]; - - if (!prev) - // there was no previous packet, so this data isn't valid... - // this isn't entirely true, only the would-have-overlapped data - // isn't valid, but this seems to be what the spec requires - return 0; - - // truncate a short frame - if (len < right) right = len; - - f->samples_output += right-left; - - return right - left; -} - -static void vorbis_pump_first_frame(stb_vorbis *f) -{ - int len, right, left; - if (vorbis_decode_packet(f, &len, &left, &right)) - vorbis_finish_frame(f, len, left, right); -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API -static int is_whole_packet_present(stb_vorbis *f, int end_page) -{ - // make sure that we have the packet available before continuing... - // this requires a full ogg parse, but we know we can fetch from f->stream - - // instead of coding this out explicitly, we could save the current read state, - // read the next packet with get8() until end-of-packet, check f->eof, then - // reset the state? but that would be slower, esp. since we'd have over 256 bytes - // of state to restore (primarily the page segment table) - - int s = f->next_seg, first = TRUE; - uint8 *p = f->stream; - - if (s != -1) { // if we're not starting the packet with a 'continue on next page' flag - for (; s < f->segment_count; ++s) { - p += f->segments[s]; - if (f->segments[s] < 255) // stop at first short segment - break; - } - // either this continues, or it ends it... - if (end_page) - if (s < f->segment_count-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - for (; s == -1;) { - uint8 *q; - int n; - - // check that we have the page header ready - if (p + 26 >= f->stream_end) return error(f, VORBIS_need_more_data); - // validate the page - if (memcmp(p, ogg_page_header, 4)) return error(f, VORBIS_invalid_stream); - if (p[4] != 0) return error(f, VORBIS_invalid_stream); - if (first) { // the first segment must NOT have 'continued_packet', later ones MUST - if (f->previous_length) - if ((p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - // if no previous length, we're resynching, so we can come in on a continued-packet, - // which we'll just drop - } else { - if (!(p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - } - n = p[26]; // segment counts - q = p+27; // q points to segment table - p = q + n; // advance past header - // make sure we've read the segment table - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - for (s=0; s < n; ++s) { - p += q[s]; - if (q[s] < 255) - break; - } - if (end_page) - if (s < n-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - return TRUE; -} -#endif // !STB_VORBIS_NO_PUSHDATA_API - -static int start_decoder(vorb *f) -{ - uint8 header[6], x,y; - int len,i,j,k, max_submaps = 0; - int longest_floorlist=0; - - // first page, first packet - - if (!start_page(f)) return FALSE; - // validate page flag - if (!(f->page_flag & PAGEFLAG_first_page)) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_last_page) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_continued_packet) return error(f, VORBIS_invalid_first_page); - // check for expected packet length - if (f->segment_count != 1) return error(f, VORBIS_invalid_first_page); - if (f->segments[0] != 30) return error(f, VORBIS_invalid_first_page); - // read packet - // check packet header - if (get8(f) != VORBIS_packet_id) return error(f, VORBIS_invalid_first_page); - if (!getn(f, header, 6)) return error(f, VORBIS_unexpected_eof); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_first_page); - // vorbis_version - if (get32(f) != 0) return error(f, VORBIS_invalid_first_page); - f->channels = get8(f); if (!f->channels) return error(f, VORBIS_invalid_first_page); - if (f->channels > STB_VORBIS_MAX_CHANNELS) return error(f, VORBIS_too_many_channels); - f->sample_rate = get32(f); if (!f->sample_rate) return error(f, VORBIS_invalid_first_page); - get32(f); // bitrate_maximum - get32(f); // bitrate_nominal - get32(f); // bitrate_minimum - x = get8(f); - { int log0,log1; - log0 = x & 15; - log1 = x >> 4; - f->blocksize_0 = 1 << log0; - f->blocksize_1 = 1 << log1; - if (log0 < 6 || log0 > 13) return error(f, VORBIS_invalid_setup); - if (log1 < 6 || log1 > 13) return error(f, VORBIS_invalid_setup); - if (log0 > log1) return error(f, VORBIS_invalid_setup); - } - - // framing_flag - x = get8(f); - if (!(x & 1)) return error(f, VORBIS_invalid_first_page); - - // second packet! - if (!start_page(f)) return FALSE; - - if (!start_packet(f)) return FALSE; - do { - len = next_segment(f); - skip(f, len); - f->bytes_in_seg = 0; - } while (len); - - // third packet! - if (!start_packet(f)) return FALSE; - - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (IS_PUSH_MODE(f)) { - if (!is_whole_packet_present(f, TRUE)) { - // convert error in ogg header to write type - if (f->error == VORBIS_invalid_stream) - f->error = VORBIS_invalid_setup; - return FALSE; - } - } - #endif - - crc32_init(); // always init it, to avoid multithread race conditions - - if (get8_packet(f) != VORBIS_packet_setup) return error(f, VORBIS_invalid_setup); - for (i=0; i < 6; ++i) header[i] = get8_packet(f); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_setup); - - // codebooks - - f->codebook_count = get_bits(f,8) + 1; - f->codebooks = (Codebook *) setup_malloc(f, sizeof(*f->codebooks) * f->codebook_count); - if (f->codebooks == NULL) return error(f, VORBIS_outofmem); - memset(f->codebooks, 0, sizeof(*f->codebooks) * f->codebook_count); - for (i=0; i < f->codebook_count; ++i) { - uint32 *values; - int ordered, sorted_count; - int total=0; - uint8 *lengths; - Codebook *c = f->codebooks+i; - x = get_bits(f, 8); if (x != 0x42) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x43) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x56) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); - c->dimensions = (get_bits(f, 8)<<8) + x; - x = get_bits(f, 8); - y = get_bits(f, 8); - c->entries = (get_bits(f, 8)<<16) + (y<<8) + x; - ordered = get_bits(f,1); - c->sparse = ordered ? 0 : get_bits(f,1); - - if (c->sparse) - lengths = (uint8 *) setup_temp_malloc(f, c->entries); - else - lengths = c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - - if (!lengths) return error(f, VORBIS_outofmem); - - if (ordered) { - int current_entry = 0; - int current_length = get_bits(f,5) + 1; - while (current_entry < c->entries) { - int limit = c->entries - current_entry; - int n = get_bits(f, ilog(limit)); - if (current_entry + n > (int) c->entries) { return error(f, VORBIS_invalid_setup); } - memset(lengths + current_entry, current_length, n); - current_entry += n; - ++current_length; - } - } else { - for (j=0; j < c->entries; ++j) { - int present = c->sparse ? get_bits(f,1) : 1; - if (present) { - lengths[j] = get_bits(f, 5) + 1; - ++total; - } else { - lengths[j] = NO_CODE; - } - } - } - - if (c->sparse && total >= c->entries >> 2) { - // convert sparse items to non-sparse! - if (c->entries > (int) f->setup_temp_memory_required) - f->setup_temp_memory_required = c->entries; - - c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - memcpy(c->codeword_lengths, lengths, c->entries); - setup_temp_free(f, lengths, c->entries); // note this is only safe if there have been no intervening temp mallocs! - lengths = c->codeword_lengths; - c->sparse = 0; - } - - // compute the size of the sorted tables - if (c->sparse) { - sorted_count = total; - //assert(total != 0); - } else { - sorted_count = 0; - #ifndef STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - for (j=0; j < c->entries; ++j) - if (lengths[j] > STB_VORBIS_FAST_HUFFMAN_LENGTH && lengths[j] != NO_CODE) - ++sorted_count; - #endif - } - - c->sorted_entries = sorted_count; - values = NULL; - - if (!c->sparse) { - c->codewords = (uint32 *) setup_malloc(f, sizeof(c->codewords[0]) * c->entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - } else { - unsigned int size; - if (c->sorted_entries) { - c->codeword_lengths = (uint8 *) setup_malloc(f, c->sorted_entries); - if (!c->codeword_lengths) return error(f, VORBIS_outofmem); - c->codewords = (uint32 *) setup_temp_malloc(f, sizeof(*c->codewords) * c->sorted_entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - values = (uint32 *) setup_temp_malloc(f, sizeof(*values) * c->sorted_entries); - if (!values) return error(f, VORBIS_outofmem); - } - size = c->entries + (sizeof(*c->codewords) + sizeof(*values)) * c->sorted_entries; - if (size > f->setup_temp_memory_required) - f->setup_temp_memory_required = size; - } - - if (!compute_codewords(c, lengths, c->entries, values)) { - if (c->sparse) setup_temp_free(f, values, 0); - return error(f, VORBIS_invalid_setup); - } - - if (c->sorted_entries) { - // allocate an extra slot for sentinels - c->sorted_codewords = (uint32 *) setup_malloc(f, sizeof(*c->sorted_codewords) * (c->sorted_entries+1)); - // allocate an extra slot at the front so that c->sorted_values[-1] is defined - // so that we can catch that case without an extra if - c->sorted_values = ( int *) setup_malloc(f, sizeof(*c->sorted_values ) * (c->sorted_entries+1)); - if (c->sorted_values) { ++c->sorted_values; c->sorted_values[-1] = -1; } - compute_sorted_huffman(c, lengths, values); - } - - if (c->sparse) { - setup_temp_free(f, values, sizeof(*values)*c->sorted_entries); - setup_temp_free(f, c->codewords, sizeof(*c->codewords)*c->sorted_entries); - setup_temp_free(f, lengths, c->entries); - c->codewords = NULL; - } - - compute_accelerated_huffman(c); - - c->lookup_type = get_bits(f, 4); - if (c->lookup_type > 2) return error(f, VORBIS_invalid_setup); - if (c->lookup_type > 0) { - uint16 *mults; - c->minimum_value = float32_unpack(get_bits(f, 32)); - c->delta_value = float32_unpack(get_bits(f, 32)); - c->value_bits = get_bits(f, 4)+1; - c->sequence_p = get_bits(f,1); - if (c->lookup_type == 1) { - c->lookup_values = lookup1_values(c->entries, c->dimensions); - } else { - c->lookup_values = c->entries * c->dimensions; - } - mults = (uint16 *) setup_temp_malloc(f, sizeof(mults[0]) * c->lookup_values); - if (mults == NULL) return error(f, VORBIS_outofmem); - for (j=0; j < (int) c->lookup_values; ++j) { - int q = get_bits(f, c->value_bits); - if (q == EOP) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_invalid_setup); } - mults[j] = q; - } - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int len, sparse = c->sparse; - // pre-expand the lookup1-style multiplicands, to avoid a divide in the inner loop - if (sparse) { - if (c->sorted_entries == 0) goto skip; - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->sorted_entries * c->dimensions); - } else - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->entries * c->dimensions); - if (c->multiplicands == NULL) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_outofmem); } - len = sparse ? c->sorted_entries : c->entries; - for (j=0; j < len; ++j) { - int z = sparse ? c->sorted_values[j] : j, div=1; - for (k=0; k < c->dimensions; ++k) { - int off = (z / div) % c->lookup_values; - c->multiplicands[j*c->dimensions + k] = - #ifndef STB_VORBIS_CODEBOOK_FLOATS - mults[off]; - #else - mults[off]*c->delta_value + c->minimum_value; - // in this case (and this case only) we could pre-expand c->sequence_p, - // and throw away the decode logic for it; have to ALSO do - // it in the case below, but it can only be done if - // STB_VORBIS_CODEBOOK_FLOATS - // !STB_VORBIS_DIVIDES_IN_CODEBOOK - #endif - div *= c->lookup_values; - } - } - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - c->lookup_type = 2; - } - else -#endif - { - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->lookup_values); - #ifndef STB_VORBIS_CODEBOOK_FLOATS - memcpy(c->multiplicands, mults, sizeof(c->multiplicands[0]) * c->lookup_values); - #else - for (j=0; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = mults[j] * c->delta_value + c->minimum_value; - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - #endif - } - skip:; - - #ifdef STB_VORBIS_CODEBOOK_FLOATS - if (c->lookup_type == 2 && c->sequence_p) { - for (j=1; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = c->multiplicands[j-1]; - c->sequence_p = 0; - } - #endif - } - } - - // time domain transfers (notused) - - x = get_bits(f, 6) + 1; - for (i=0; i < x; ++i) { - uint32 z = get_bits(f, 16); - if (z != 0) return error(f, VORBIS_invalid_setup); - } - - // Floors - f->floor_count = get_bits(f, 6)+1; - f->floor_config = (Floor *) setup_malloc(f, f->floor_count * sizeof(*f->floor_config)); - for (i=0; i < f->floor_count; ++i) { - f->floor_types[i] = get_bits(f, 16); - if (f->floor_types[i] > 1) return error(f, VORBIS_invalid_setup); - if (f->floor_types[i] == 0) { - Floor0 *g = &f->floor_config[i].floor0; - g->order = get_bits(f,8); - g->rate = get_bits(f,16); - g->bark_map_size = get_bits(f,16); - g->amplitude_bits = get_bits(f,6); - g->amplitude_offset = get_bits(f,8); - g->number_of_books = get_bits(f,4) + 1; - for (j=0; j < g->number_of_books; ++j) - g->book_list[j] = get_bits(f,8); - return error(f, VORBIS_feature_not_supported); - } else { - VorbisPoint p[31*8+2]; - Floor1 *g = &f->floor_config[i].floor1; - int max_class = -1; - g->partitions = get_bits(f, 5); - for (j=0; j < g->partitions; ++j) { - g->partition_class_list[j] = get_bits(f, 4); - if (g->partition_class_list[j] > max_class) - max_class = g->partition_class_list[j]; - } - for (j=0; j <= max_class; ++j) { - g->class_dimensions[j] = get_bits(f, 3)+1; - g->class_subclasses[j] = get_bits(f, 2); - if (g->class_subclasses[j]) { - g->class_masterbooks[j] = get_bits(f, 8); - if (g->class_masterbooks[j] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - for (k=0; k < 1 << g->class_subclasses[j]; ++k) { - g->subclass_books[j][k] = get_bits(f,8)-1; - if (g->subclass_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - } - g->floor1_multiplier = get_bits(f,2)+1; - g->rangebits = get_bits(f,4); - g->Xlist[0] = 0; - g->Xlist[1] = 1 << g->rangebits; - g->values = 2; - for (j=0; j < g->partitions; ++j) { - int c = g->partition_class_list[j]; - for (k=0; k < g->class_dimensions[c]; ++k) { - g->Xlist[g->values] = get_bits(f, g->rangebits); - ++g->values; - } - } - // precompute the sorting - for (j=0; j < g->values; ++j) { - p[j].x = g->Xlist[j]; - p[j].y = j; - } - qsort(p, g->values, sizeof(p[0]), point_compare); - for (j=0; j < g->values; ++j) - g->sorted_order[j] = (uint8) p[j].y; - // precompute the neighbors - for (j=2; j < g->values; ++j) { - int low,hi; - neighbors(g->Xlist, j, &low,&hi); - g->neighbors[j][0] = low; - g->neighbors[j][1] = hi; - } - - if (g->values > longest_floorlist) - longest_floorlist = g->values; - } - } - - // Residue - f->residue_count = get_bits(f, 6)+1; - f->residue_config = (Residue *) setup_malloc(f, f->residue_count * sizeof(*f->residue_config)); - for (i=0; i < f->residue_count; ++i) { - uint8 residue_cascade[64]; - Residue *r = f->residue_config+i; - f->residue_types[i] = get_bits(f, 16); - if (f->residue_types[i] > 2) return error(f, VORBIS_invalid_setup); - r->begin = get_bits(f, 24); - r->end = get_bits(f, 24); - r->part_size = get_bits(f,24)+1; - r->classifications = get_bits(f,6)+1; - r->classbook = get_bits(f,8); - for (j=0; j < r->classifications; ++j) { - uint8 high_bits=0; - uint8 low_bits=get_bits(f,3); - if (get_bits(f,1)) - high_bits = get_bits(f,5); - residue_cascade[j] = high_bits*8 + low_bits; - } - r->residue_books = (short (*)[8]) setup_malloc(f, sizeof(r->residue_books[0]) * r->classifications); - for (j=0; j < r->classifications; ++j) { - for (k=0; k < 8; ++k) { - if (residue_cascade[j] & (1 << k)) { - r->residue_books[j][k] = get_bits(f, 8); - if (r->residue_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } else { - r->residue_books[j][k] = -1; - } - } - } - // precompute the classifications[] array to avoid inner-loop mod/divide - // call it 'classdata' since we already have r->classifications - r->classdata = (uint8 **) setup_malloc(f, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - if (!r->classdata) return error(f, VORBIS_outofmem); - memset(r->classdata, 0, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - for (j=0; j < f->codebooks[r->classbook].entries; ++j) { - int classwords = f->codebooks[r->classbook].dimensions; - int temp = j; - r->classdata[j] = (uint8 *) setup_malloc(f, sizeof(r->classdata[j][0]) * classwords); - for (k=classwords-1; k >= 0; --k) { - r->classdata[j][k] = temp % r->classifications; - temp /= r->classifications; - } - } - } - - f->mapping_count = get_bits(f,6)+1; - f->mapping = (Mapping *) setup_malloc(f, f->mapping_count * sizeof(*f->mapping)); - for (i=0; i < f->mapping_count; ++i) { - Mapping *m = f->mapping + i; - int mapping_type = get_bits(f,16); - if (mapping_type != 0) return error(f, VORBIS_invalid_setup); - m->chan = (MappingChannel *) setup_malloc(f, f->channels * sizeof(*m->chan)); - if (get_bits(f,1)) - m->submaps = get_bits(f,4); - else - m->submaps = 1; - if (m->submaps > max_submaps) - max_submaps = m->submaps; - if (get_bits(f,1)) { - m->coupling_steps = get_bits(f,8)+1; - for (k=0; k < m->coupling_steps; ++k) { - m->chan[k].magnitude = get_bits(f, ilog(f->channels)-1); - m->chan[k].angle = get_bits(f, ilog(f->channels)-1); - if (m->chan[k].magnitude >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].angle >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].magnitude == m->chan[k].angle) return error(f, VORBIS_invalid_setup); - } - } else - m->coupling_steps = 0; - - // reserved field - if (get_bits(f,2)) return error(f, VORBIS_invalid_setup); - if (m->submaps > 1) { - for (j=0; j < f->channels; ++j) { - m->chan[j].mux = get_bits(f, 4); - if (m->chan[j].mux >= m->submaps) return error(f, VORBIS_invalid_setup); - } - } else - // @SPECIFICATION: this case is missing from the spec - for (j=0; j < f->channels; ++j) - m->chan[j].mux = 0; - - for (j=0; j < m->submaps; ++j) { - get_bits(f,8); // discard - m->submap_floor[j] = get_bits(f,8); - m->submap_residue[j] = get_bits(f,8); - if (m->submap_floor[j] >= f->floor_count) return error(f, VORBIS_invalid_setup); - if (m->submap_residue[j] >= f->residue_count) return error(f, VORBIS_invalid_setup); - } - } - - // Modes - f->mode_count = get_bits(f, 6)+1; - for (i=0; i < f->mode_count; ++i) { - Mode *m = f->mode_config+i; - m->blockflag = get_bits(f,1); - m->windowtype = get_bits(f,16); - m->transformtype = get_bits(f,16); - m->mapping = get_bits(f,8); - if (m->windowtype != 0) return error(f, VORBIS_invalid_setup); - if (m->transformtype != 0) return error(f, VORBIS_invalid_setup); - if (m->mapping >= f->mapping_count) return error(f, VORBIS_invalid_setup); - } - - flush_packet(f); - - f->previous_length = 0; - - for (i=0; i < f->channels; ++i) { - f->channel_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1); - f->previous_window[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - f->finalY[i] = (int16 *) setup_malloc(f, sizeof(int16) * longest_floorlist); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - f->floor_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - #endif - } - - if (!init_blocksize(f, 0, f->blocksize_0)) return FALSE; - if (!init_blocksize(f, 1, f->blocksize_1)) return FALSE; - f->blocksize[0] = f->blocksize_0; - f->blocksize[1] = f->blocksize_1; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (integer_divide_table[1][1]==0) - for (i=0; i < DIVTAB_NUMER; ++i) - for (j=1; j < DIVTAB_DENOM; ++j) - integer_divide_table[i][j] = i / j; -#endif - - // compute how much temporary memory is needed - - // 1. - { - uint32 imdct_mem = (f->blocksize_1 * sizeof(float) >> 1); - uint32 classify_mem; - int i,max_part_read=0; - for (i=0; i < f->residue_count; ++i) { - Residue *r = f->residue_config + i; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - if (part_read > max_part_read) - max_part_read = part_read; - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(uint8 *)); - #else - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(int *)); - #endif - - f->temp_memory_required = classify_mem; - if (imdct_mem > f->temp_memory_required) - f->temp_memory_required = imdct_mem; - } - - f->first_decode = TRUE; - - if (f->alloc.alloc_buffer) { - assert(f->temp_offset == f->alloc.alloc_buffer_length_in_bytes); - // check if there's enough temp memory so we don't error later - if (f->setup_offset + sizeof(*f) + f->temp_memory_required > (unsigned) f->temp_offset) - return error(f, VORBIS_outofmem); - } - - f->first_audio_page_offset = stb_vorbis_get_file_offset(f); - - return TRUE; -} - -static void vorbis_deinit(stb_vorbis *p) -{ - int i,j; - for (i=0; i < p->residue_count; ++i) { - Residue *r = p->residue_config+i; - if (r->classdata) { - for (j=0; j < p->codebooks[r->classbook].entries; ++j) - setup_free(p, r->classdata[j]); - setup_free(p, r->classdata); - } - setup_free(p, r->residue_books); - } - - if (p->codebooks) { - for (i=0; i < p->codebook_count; ++i) { - Codebook *c = p->codebooks + i; - setup_free(p, c->codeword_lengths); - setup_free(p, c->multiplicands); - setup_free(p, c->codewords); - setup_free(p, c->sorted_codewords); - // c->sorted_values[-1] is the first entry in the array - setup_free(p, c->sorted_values ? c->sorted_values-1 : NULL); - } - setup_free(p, p->codebooks); - } - setup_free(p, p->floor_config); - setup_free(p, p->residue_config); - for (i=0; i < p->mapping_count; ++i) - setup_free(p, p->mapping[i].chan); - setup_free(p, p->mapping); - for (i=0; i < p->channels; ++i) { - setup_free(p, p->channel_buffers[i]); - setup_free(p, p->previous_window[i]); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - setup_free(p, p->floor_buffers[i]); - #endif - setup_free(p, p->finalY[i]); - } - for (i=0; i < 2; ++i) { - setup_free(p, p->A[i]); - setup_free(p, p->B[i]); - setup_free(p, p->C[i]); - setup_free(p, p->window[i]); - } - #ifndef STB_VORBIS_NO_STDIO - if (p->close_on_free) fclose(p->f); - #endif -} - -void stb_vorbis_close(stb_vorbis *p) -{ - if (p == NULL) return; - vorbis_deinit(p); - setup_free(p,p); -} - -static void vorbis_init(stb_vorbis *p, stb_vorbis_alloc *z) -{ - memset(p, 0, sizeof(*p)); // NULL out all malloc'd pointers to start - if (z) { - p->alloc = *z; - p->alloc.alloc_buffer_length_in_bytes = (p->alloc.alloc_buffer_length_in_bytes+3) & ~3; - p->temp_offset = p->alloc.alloc_buffer_length_in_bytes; - } - p->eof = 0; - p->error = VORBIS__no_error; - p->stream = NULL; - p->codebooks = NULL; - p->page_crc_tests = -1; - #ifndef STB_VORBIS_NO_STDIO - p->close_on_free = FALSE; - p->f = NULL; - #endif -} - -int stb_vorbis_get_sample_offset(stb_vorbis *f) -{ - if (f->current_loc_valid) - return f->current_loc; - else - return -1; -} - -stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f) -{ - stb_vorbis_info d; - d.channels = f->channels; - d.sample_rate = f->sample_rate; - d.setup_memory_required = f->setup_memory_required; - d.setup_temp_memory_required = f->setup_temp_memory_required; - d.temp_memory_required = f->temp_memory_required; - d.max_frame_size = f->blocksize_1 >> 1; - return d; -} - -int stb_vorbis_get_error(stb_vorbis *f) -{ - int e = f->error; - f->error = VORBIS__no_error; - return e; -} - -static stb_vorbis * vorbis_alloc(stb_vorbis *f) -{ - stb_vorbis *p = (stb_vorbis *) setup_malloc(f, sizeof(*p)); - return p; -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API - -void stb_vorbis_flush_pushdata(stb_vorbis *f) -{ - f->previous_length = 0; - f->page_crc_tests = 0; - f->discard_samples_deferred = 0; - f->current_loc_valid = FALSE; - f->first_decode = FALSE; - f->samples_output = 0; - f->channel_buffer_start = 0; - f->channel_buffer_end = 0; -} - -static int vorbis_search_for_page_pushdata(vorb *f, uint8 *data, int data_len) -{ - int i,n; - for (i=0; i < f->page_crc_tests; ++i) - f->scan[i].bytes_done = 0; - - // if we have room for more scans, search for them first, because - // they may cause us to stop early if their header is incomplete - if (f->page_crc_tests < STB_VORBIS_PUSHDATA_CRC_COUNT) { - if (data_len < 4) return 0; - data_len -= 3; // need to look for 4-byte sequence, so don't miss - // one that straddles a boundary - for (i=0; i < data_len; ++i) { - if (data[i] == 0x4f) { - if (0==memcmp(data+i, ogg_page_header, 4)) { - int j,len; - uint32 crc; - // make sure we have the whole page header - if (i+26 >= data_len || i+27+data[i+26] >= data_len) { - // only read up to this page start, so hopefully we'll - // have the whole page header start next time - data_len = i; - break; - } - // ok, we have it all; compute the length of the page - len = 27 + data[i+26]; - for (j=0; j < data[i+26]; ++j) - len += data[i+27+j]; - // scan everything up to the embedded crc (which we must 0) - crc = 0; - for (j=0; j < 22; ++j) - crc = crc32_update(crc, data[i+j]); - // now process 4 0-bytes - for ( ; j < 26; ++j) - crc = crc32_update(crc, 0); - // len is the total number of bytes we need to scan - n = f->page_crc_tests++; - f->scan[n].bytes_left = len-j; - f->scan[n].crc_so_far = crc; - f->scan[n].goal_crc = data[i+22] + (data[i+23] << 8) + (data[i+24]<<16) + (data[i+25]<<24); - // if the last frame on a page is continued to the next, then - // we can't recover the sample_loc immediately - if (data[i+27+data[i+26]-1] == 255) - f->scan[n].sample_loc = ~0; - else - f->scan[n].sample_loc = data[i+6] + (data[i+7] << 8) + (data[i+ 8]<<16) + (data[i+ 9]<<24); - f->scan[n].bytes_done = i+j; - if (f->page_crc_tests == STB_VORBIS_PUSHDATA_CRC_COUNT) - break; - // keep going if we still have room for more - } - } - } - } - - for (i=0; i < f->page_crc_tests;) { - uint32 crc; - int j; - int n = f->scan[i].bytes_done; - int m = f->scan[i].bytes_left; - if (m > data_len - n) m = data_len - n; - // m is the bytes to scan in the current chunk - crc = f->scan[i].crc_so_far; - for (j=0; j < m; ++j) - crc = crc32_update(crc, data[n+j]); - f->scan[i].bytes_left -= m; - f->scan[i].crc_so_far = crc; - if (f->scan[i].bytes_left == 0) { - // does it match? - if (f->scan[i].crc_so_far == f->scan[i].goal_crc) { - // Houston, we have page - data_len = n+m; // consumption amount is wherever that scan ended - f->page_crc_tests = -1; // drop out of page scan mode - f->previous_length = 0; // decode-but-don't-output one frame - f->next_seg = -1; // start a new page - f->current_loc = f->scan[i].sample_loc; // set the current sample location - // to the amount we'd have decoded had we decoded this page - f->current_loc_valid = f->current_loc != ~0; - return data_len; - } - // delete entry - f->scan[i] = f->scan[--f->page_crc_tests]; - } else { - ++i; - } - } - - return data_len; -} - -// return value: number of bytes we used -int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, // the file we're decoding - uint8 *data, int data_len, // the memory available for decoding - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ) -{ - int i; - int len,right,left; - - if (!IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (f->page_crc_tests >= 0) { - *samples = 0; - return vorbis_search_for_page_pushdata(f, data, data_len); - } - - f->stream = data; - f->stream_end = data + data_len; - f->error = VORBIS__no_error; - - // check that we have the entire packet in memory - if (!is_whole_packet_present(f, FALSE)) { - *samples = 0; - return 0; - } - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - // save the actual error we encountered - enum STBVorbisError error = f->error; - if (error == VORBIS_bad_packet_type) { - // flush and resynch - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - if (error == VORBIS_continued_packet_flag_invalid) { - if (f->previous_length == 0) { - // we may be resynching, in which case it's ok to hit one - // of these; just discard the packet - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - } - // if we get an error while parsing, what to do? - // well, it DEFINITELY won't work to continue from where we are! - stb_vorbis_flush_pushdata(f); - // restore the error that actually made us bail - f->error = error; - *samples = 0; - return 1; - } - - // success! - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - if (channels) *channels = f->channels; - *samples = len; - *output = f->outputs; - return f->stream - data; -} - -stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *data, int data_len, // the memory available for decoding - int *data_used, // only defined if result is not NULL - int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + data_len; - p.push_mode = TRUE; - if (!start_decoder(&p)) { - if (p.eof) - *error = VORBIS_need_more_data; - else - *error = p.error; - return NULL; - } - f = vorbis_alloc(&p); - if (f) { - *f = p; - *data_used = f->stream - data; - *error = 0; - return f; - } else { - vorbis_deinit(&p); - return NULL; - } -} -#endif // STB_VORBIS_NO_PUSHDATA_API - -unsigned int stb_vorbis_get_file_offset(stb_vorbis *f) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - if (USE_MEMORY(f)) return f->stream - f->stream_start; - #ifndef STB_VORBIS_NO_STDIO - return ftell(f->f) - f->f_start; - #endif -} - -#ifndef STB_VORBIS_NO_PULLDATA_API -// -// DATA-PULLING API -// - -static uint32 vorbis_find_page(stb_vorbis *f, uint32 *end, uint32 *last) -{ - for(;;) { - int n; - if (f->eof) return 0; - n = get8(f); - if (n == 0x4f) { // page header - unsigned int retry_loc = stb_vorbis_get_file_offset(f); - int i; - // check if we're off the end of a file_section stream - if (retry_loc - 25 > f->stream_len) - return 0; - // check the rest of the header - for (i=1; i < 4; ++i) - if (get8(f) != ogg_page_header[i]) - break; - if (f->eof) return 0; - if (i == 4) { - uint8 header[27]; - uint32 i, crc, goal, len; - for (i=0; i < 4; ++i) - header[i] = ogg_page_header[i]; - for (; i < 27; ++i) - header[i] = get8(f); - if (f->eof) return 0; - if (header[4] != 0) goto invalid; - goal = header[22] + (header[23] << 8) + (header[24]<<16) + (header[25]<<24); - for (i=22; i < 26; ++i) - header[i] = 0; - crc = 0; - for (i=0; i < 27; ++i) - crc = crc32_update(crc, header[i]); - len = 0; - for (i=0; i < header[26]; ++i) { - int s = get8(f); - crc = crc32_update(crc, s); - len += s; - } - if (len && f->eof) return 0; - for (i=0; i < len; ++i) - crc = crc32_update(crc, get8(f)); - // finished parsing probable page - if (crc == goal) { - // we could now check that it's either got the last - // page flag set, OR it's followed by the capture - // pattern, but I guess TECHNICALLY you could have - // a file with garbage between each ogg page and recover - // from it automatically? So even though that paranoia - // might decrease the chance of an invalid decode by - // another 2^32, not worth it since it would hose those - // invalid-but-useful files? - if (end) - *end = stb_vorbis_get_file_offset(f); - if (last) - if (header[5] & 0x04) - *last = 1; - else - *last = 0; - set_file_offset(f, retry_loc-1); - return 1; - } - } - invalid: - // not a valid page, so rewind and look for next one - set_file_offset(f, retry_loc); - } - } -} - -// seek is implemented with 'interpolation search'--this is like -// binary search, but we use the data values to estimate the likely -// location of the data item (plus a bit of a bias so when the -// estimation is wrong we don't waste overly much time) - -#define SAMPLE_unknown 0xffffffff - - -// ogg vorbis, in its insane infinite wisdom, only provides -// information about the sample at the END of the page. -// therefore we COULD have the data we need in the current -// page, and not know it. we could just use the end location -// as our only knowledge for bounds, seek back, and eventually -// the binary search finds it. or we can try to be smart and -// not waste time trying to locate more pages. we try to be -// smart, since this data is already in memory anyway, so -// doing needless I/O would be crazy! -static int vorbis_analyze_page(stb_vorbis *f, ProbedPage *z) -{ - uint8 header[27], lacing[255]; - uint8 packet_type[255]; - int num_packet, packet_start, previous =0; - int i,len; - uint32 samples; - - // record where the page starts - z->page_start = stb_vorbis_get_file_offset(f); - - // parse the header - getn(f, header, 27); - assert(header[0] == 'O' && header[1] == 'g' && header[2] == 'g' && header[3] == 'S'); - getn(f, lacing, header[26]); - - // determine the length of the payload - len = 0; - for (i=0; i < header[26]; ++i) - len += lacing[i]; - - // this implies where the page ends - z->page_end = z->page_start + 27 + header[26] + len; - - // read the last-decoded sample out of the data - z->last_decoded_sample = header[6] + (header[7] << 8) + (header[8] << 16) + (header[9] << 16); - - if (header[5] & 4) { - // if this is the last page, it's not possible to work - // backwards to figure out the first sample! whoops! fuck. - z->first_decoded_sample = SAMPLE_unknown; - set_file_offset(f, z->page_start); - return 1; - } - - // scan through the frames to determine the sample-count of each one... - // our goal is the sample # of the first fully-decoded sample on the - // page, which is the first decoded sample of the 2nd page - - num_packet=0; - - packet_start = ((header[5] & 1) == 0); - - for (i=0; i < header[26]; ++i) { - if (packet_start) { - uint8 n,b,m; - if (lacing[i] == 0) goto bail; // trying to read from zero-length packet - n = get8(f); - // if bottom bit is non-zero, we've got corruption - if (n & 1) goto bail; - n >>= 1; - b = ilog(f->mode_count-1); - m = n >> b; - n &= (1 << b)-1; - if (n >= f->mode_count) goto bail; - if (num_packet == 0 && f->mode_config[n].blockflag) - previous = (m & 1); - packet_type[num_packet++] = f->mode_config[n].blockflag; - skip(f, lacing[i]-1); - } else - skip(f, lacing[i]); - packet_start = (lacing[i] < 255); - } - - // now that we know the sizes of all the pages, we can start determining - // how much sample data there is. - - samples = 0; - - // for the last packet, we step by its whole length, because the definition - // is that we encoded the end sample loc of the 'last packet completed', - // where 'completed' refers to packets being split, and we are left to guess - // what 'end sample loc' means. we assume it means ignoring the fact that - // the last half of the data is useless without windowing against the next - // packet... (so it's not REALLY complete in that sense) - if (num_packet > 1) - samples += f->blocksize[packet_type[num_packet-1]]; - - for (i=num_packet-2; i >= 1; --i) { - // now, for this packet, how many samples do we have that - // do not overlap the following packet? - if (packet_type[i] == 1) - if (packet_type[i+1] == 1) - samples += f->blocksize_1 >> 1; - else - samples += ((f->blocksize_1 - f->blocksize_0) >> 2) + (f->blocksize_0 >> 1); - else - samples += f->blocksize_0 >> 1; - } - // now, at this point, we've rewound to the very beginning of the - // _second_ packet. if we entirely discard the first packet after - // a seek, this will be exactly the right sample number. HOWEVER! - // we can't as easily compute this number for the LAST page. The - // only way to get the sample offset of the LAST page is to use - // the end loc from the previous page. But what that returns us - // is _exactly_ the place where we get our first non-overlapped - // sample. (I think. Stupid spec for being ambiguous.) So for - // consistency it's better to do that here, too. However, that - // will then require us to NOT discard all of the first frame we - // decode, in some cases, which means an even weirder frame size - // and extra code. what a fucking pain. - - // we're going to discard the first packet if we - // start the seek here, so we don't care about it. (we could actually - // do better; if the first packet is long, and the previous packet - // is short, there's actually data in the first half of the first - // packet that doesn't need discarding... but not worth paying the - // effort of tracking that of that here and in the seeking logic) - // except crap, if we infer it from the _previous_ packet's end - // location, we DO need to use that definition... and we HAVE to - // infer the start loc of the LAST packet from the previous packet's - // end location. fuck you, ogg vorbis. - - z->first_decoded_sample = z->last_decoded_sample - samples; - - // restore file state to where we were - set_file_offset(f, z->page_start); - return 1; - - // restore file state to where we were - bail: - set_file_offset(f, z->page_start); - return 0; -} - -static int vorbis_seek_frame_from_page(stb_vorbis *f, uint32 page_start, uint32 first_sample, uint32 target_sample, int fine) -{ - int left_start, left_end, right_start, right_end, mode,i; - int frame=0; - uint32 frame_start; - int frames_to_skip, data_to_skip; - - // first_sample is the sample # of the first sample that doesn't - // overlap the previous page... note that this requires us to - // _partially_ discard the first packet! bleh. - set_file_offset(f, page_start); - - f->next_seg = -1; // force page resync - - frame_start = first_sample; - // frame start is where the previous packet's last decoded sample - // was, which corresponds to left_end... EXCEPT if the previous - // packet was long and this packet is short? Probably a bug here. - - - // now, we can start decoding frames... we'll only FAKE decode them, - // until we find the frame that contains our sample; then we'll rewind, - // and try again - for (;;) { - int start; - - if (!vorbis_decode_initial(f, &left_start, &left_end, &right_start, &right_end, &mode)) - return error(f, VORBIS_seek_failed); - - if (frame == 0) - start = left_end; - else - start = left_start; - - // the window starts at left_start; the last valid sample we generate - // before the next frame's window start is right_start-1 - if (target_sample < frame_start + right_start-start) - break; - - flush_packet(f); - if (f->eof) - return error(f, VORBIS_seek_failed); - - frame_start += right_start - start; - - ++frame; - } - - // ok, at this point, the sample we want is contained in frame #'frame' - - // to decode frame #'frame' normally, we have to decode the - // previous frame first... but if it's the FIRST frame of the page - // we can't. if it's the first frame, it means it falls in the part - // of the first frame that doesn't overlap either of the other frames. - // so, if we have to handle that case for the first frame, we might - // as well handle it for all of them, so: - if (target_sample > frame_start + (left_end - left_start)) { - // so what we want to do is go ahead and just immediately decode - // this frame, but then make it so the next get_frame_float() uses - // this already-decoded data? or do we want to go ahead and rewind, - // and leave a flag saying to skip the first N data? let's do that - frames_to_skip = frame; // if this is frame #1, skip 1 frame (#0) - data_to_skip = left_end - left_start; - } else { - // otherwise, we want to skip frames 0, 1, 2, ... frame-2 - // (which means frame-2+1 total frames) then decode frame-1, - // then leave frame pending - frames_to_skip = frame - 1; - assert(frames_to_skip >= 0); - data_to_skip = -1; - } - - set_file_offset(f, page_start); - f->next_seg = - 1; // force page resync - - for (i=0; i < frames_to_skip; ++i) { - maybe_start_packet(f); - flush_packet(f); - } - - if (data_to_skip >= 0) { - int i,j,n = f->blocksize_0 >> 1; - f->discard_samples_deferred = data_to_skip; - for (i=0; i < f->channels; ++i) - for (j=0; j < n; ++j) - f->previous_window[i][j] = 0; - f->previous_length = n; - frame_start += data_to_skip; - } else { - f->previous_length = 0; - vorbis_pump_first_frame(f); - } - - // at this point, the NEXT decoded frame will generate the desired sample - if (fine) { - // so if we're doing sample accurate streaming, we want to go ahead and decode it! - if (target_sample != frame_start) { - int n; - stb_vorbis_get_frame_float(f, &n, NULL); - assert(target_sample > frame_start); - assert(f->channel_buffer_start + (int) (target_sample-frame_start) < f->channel_buffer_end); - f->channel_buffer_start += (target_sample - frame_start); - } - } - - return 0; -} - -static int vorbis_seek_base(stb_vorbis *f, unsigned int sample_number, int fine) -{ - ProbedPage p[2],q; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - // do we know the location of the last page? - if (f->p_last.page_start == 0) { - uint32 z = stb_vorbis_stream_length_in_samples(f); - if (z == 0) return error(f, VORBIS_cant_find_last_page); - } - - p[0] = f->p_first; - p[1] = f->p_last; - - if (sample_number >= f->p_last.last_decoded_sample) - sample_number = f->p_last.last_decoded_sample-1; - - if (sample_number < f->p_first.last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[0].page_start, 0, sample_number, fine); - return 0; - } else { - int attempts=0; - while (p[0].page_end < p[1].page_start) { - uint32 probe; - uint32 start_offset, end_offset; - uint32 start_sample, end_sample; - - // copy these into local variables so we can tweak them - // if any are unknown - start_offset = p[0].page_end; - end_offset = p[1].after_previous_page_start; // an address known to seek to page p[1] - start_sample = p[0].last_decoded_sample; - end_sample = p[1].last_decoded_sample; - - // currently there is no such tweaking logic needed/possible? - if (start_sample == SAMPLE_unknown || end_sample == SAMPLE_unknown) - return error(f, VORBIS_seek_failed); - - // now we want to lerp between these for the target samples... - - // step 1: we need to bias towards the page start... - if (start_offset + 4000 < end_offset) - end_offset -= 4000; - - // now compute an interpolated search loc - probe = start_offset + (int) floor((float) (end_offset - start_offset) / (end_sample - start_sample) * (sample_number - start_sample)); - - // next we need to bias towards binary search... - // code is a little wonky to allow for full 32-bit unsigned values - if (attempts >= 4) { - uint32 probe2 = start_offset + ((end_offset - start_offset) >> 1); - if (attempts >= 8) - probe = probe2; - else if (probe < probe2) - probe = probe + ((probe2 - probe) >> 1); - else - probe = probe2 + ((probe - probe2) >> 1); - } - ++attempts; - - set_file_offset(f, probe); - if (!vorbis_find_page(f, NULL, NULL)) return error(f, VORBIS_seek_failed); - if (!vorbis_analyze_page(f, &q)) return error(f, VORBIS_seek_failed); - q.after_previous_page_start = probe; - - // it's possible we've just found the last page again - if (q.page_start == p[1].page_start) { - p[1] = q; - continue; - } - - if (sample_number < q.last_decoded_sample) - p[1] = q; - else - p[0] = q; - } - - if (p[0].last_decoded_sample <= sample_number && sample_number < p[1].last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[1].page_start, p[0].last_decoded_sample, sample_number, fine); - return 0; - } - return error(f, VORBIS_seek_failed); - } -} - -int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, FALSE); -} - -int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, TRUE); -} - -void stb_vorbis_seek_start(stb_vorbis *f) -{ - if (IS_PUSH_MODE(f)) { error(f, VORBIS_invalid_api_mixing); return; } - set_file_offset(f, f->first_audio_page_offset); - f->previous_length = 0; - f->first_decode = TRUE; - f->next_seg = -1; - vorbis_pump_first_frame(f); -} - -unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f) -{ - unsigned int restore_offset, previous_safe; - unsigned int end, last_page_loc; - - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - if (!f->total_samples) { - int last; - uint32 lo,hi; - char header[6]; - - // first, store the current decode position so we can restore it - restore_offset = stb_vorbis_get_file_offset(f); - - // now we want to seek back 64K from the end (the last page must - // be at most a little less than 64K, but let's allow a little slop) - if (f->stream_len >= 65536 && f->stream_len-65536 >= f->first_audio_page_offset) - previous_safe = f->stream_len - 65536; - else - previous_safe = f->first_audio_page_offset; - - set_file_offset(f, previous_safe); - // previous_safe is now our candidate 'earliest known place that seeking - // to will lead to the final page' - - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // if we can't find a page, we're hosed! - f->error = VORBIS_cant_find_last_page; - f->total_samples = 0xffffffff; - goto done; - } - - // check if there are more pages - last_page_loc = stb_vorbis_get_file_offset(f); - - // stop when the last_page flag is set, not when we reach eof; - // this allows us to stop short of a 'file_section' end without - // explicitly checking the length of the section - while (!last) { - set_file_offset(f, end); - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // the last page we found didn't have the 'last page' flag - // set. whoops! - break; - } - previous_safe = last_page_loc+1; - last_page_loc = stb_vorbis_get_file_offset(f); - } - - set_file_offset(f, last_page_loc); - - // parse the header - getn(f, (unsigned char *)header, 6); - // extract the absolute granule position - lo = get32(f); - hi = get32(f); - if (lo == 0xffffffff && hi == 0xffffffff) { - f->error = VORBIS_cant_find_last_page; - f->total_samples = SAMPLE_unknown; - goto done; - } - if (hi) - lo = 0xfffffffe; // saturate - f->total_samples = lo; - - f->p_last.page_start = last_page_loc; - f->p_last.page_end = end; - f->p_last.last_decoded_sample = lo; - f->p_last.first_decoded_sample = SAMPLE_unknown; - f->p_last.after_previous_page_start = previous_safe; - - done: - set_file_offset(f, restore_offset); - } - return f->total_samples == SAMPLE_unknown ? 0 : f->total_samples; -} - -float stb_vorbis_stream_length_in_seconds(stb_vorbis *f) -{ - return stb_vorbis_stream_length_in_samples(f) / (float) f->sample_rate; -} - - - -int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output) -{ - int len, right,left,i; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - f->channel_buffer_start = f->channel_buffer_end = 0; - return 0; - } - - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - f->channel_buffer_start = left; - f->channel_buffer_end = left+len; - - if (channels) *channels = f->channels; - if (output) *output = f->outputs; - return len; -} - -#ifndef STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_file_section(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc, unsigned int length) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.f = file; - p.f_start = ftell(file); - p.stream_len = length; - p.close_on_free = close_on_free; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -stb_vorbis * stb_vorbis_open_file(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc) -{ - unsigned int len, start; - start = ftell(file); - fseek(file, 0, SEEK_END); - len = ftell(file) - start; - fseek(file, start, SEEK_SET); - return stb_vorbis_open_file_section(file, close_on_free, error, alloc, len); -} - -stb_vorbis * stb_vorbis_open_filename(char *filename, int *error, stb_vorbis_alloc *alloc) -{ - FILE *f = fopen(filename, "rb"); - if (f) - return stb_vorbis_open_file(f, TRUE, error, alloc); - if (error) *error = VORBIS_file_open_failure; - return NULL; -} -#endif // STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - if (data == NULL) return NULL; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + len; - p.stream_start = p.stream; - p.stream_len = len; - p.push_mode = FALSE; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#define PLAYBACK_MONO 1 -#define PLAYBACK_LEFT 2 -#define PLAYBACK_RIGHT 4 - -#define L (PLAYBACK_LEFT | PLAYBACK_MONO) -#define C (PLAYBACK_LEFT | PLAYBACK_RIGHT | PLAYBACK_MONO) -#define R (PLAYBACK_RIGHT | PLAYBACK_MONO) - -static int8 channel_position[7][6] = -{ - { 0 }, - { C }, - { L, R }, - { L, C, R }, - { L, R, L, R }, - { L, C, R, L, R }, - { L, C, R, L, R, C }, -}; - - -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - typedef union { - float f; - int i; - } float_conv; - typedef char stb_vorbis_float_size_test[sizeof(float)==4 && sizeof(int) == 4]; - #define FASTDEF(x) float_conv x - // add (1<<23) to convert to int, then divide by 2^SHIFT, then add 0.5/2^SHIFT to round - #define MAGIC(SHIFT) (1.5f * (1 << (23-SHIFT)) + 0.5f/(1 << SHIFT)) - #define ADDEND(SHIFT) (((150-SHIFT) << 23) + (1 << 22)) - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) (temp.f = (x) + MAGIC(s), temp.i - ADDEND(s)) - #define check_endianness() -#else - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) ((int) ((x) * (1 << (s)))) - #define check_endianness() - #define FASTDEF(x) -#endif - -static void copy_samples(short *dest, float *src, int len) -{ - int i; - check_endianness(); - for (i=0; i < len; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp, src[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - dest[i] = v; - } -} - -static void compute_samples(int mask, short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE; - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE) { - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - if (channel_position[num_c][j] & mask) { - for (i=0; i < n; ++i) - buffer[i] += data[j][d_offset+o+i]; - } - } - for (i=0; i < n; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o+i] = v; - } - } -} - -static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; -static void compute_stereo_samples(short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE >> 1; - // o is the offset in the source data - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE >> 1) { - // o2 is the offset in the output data - int o2 = o << 1; - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - int m = channel_position[num_c][j] & (PLAYBACK_LEFT | PLAYBACK_RIGHT); - if (m == (PLAYBACK_LEFT | PLAYBACK_RIGHT)) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_LEFT) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_RIGHT) { - for (i=0; i < n; ++i) { - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } - } - for (i=0; i < (n<<1); ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o2+i] = v; - } - } -} - -static void convert_samples_short(int buf_c, short **buffer, int b_offset, int data_c, float **data, int d_offset, int samples) -{ - int i; - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; - for (i=0; i < buf_c; ++i) - compute_samples(channel_selector[buf_c][i], buffer[i]+b_offset, data_c, data, d_offset, samples); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - for (i=0; i < limit; ++i) - copy_samples(buffer[i]+b_offset, data[i], samples); - for ( ; i < buf_c; ++i) - memset(buffer[i]+b_offset, 0, sizeof(short) * samples); - } -} - -int stb_vorbis_get_frame_short(stb_vorbis *f, int num_c, short **buffer, int num_samples) -{ - float **output; - int len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len > num_samples) len = num_samples; - if (len) - convert_samples_short(num_c, buffer, 0, f->channels, output, 0, len); - return len; -} - -static void convert_channels_short_interleaved(int buf_c, short *buffer, int data_c, float **data, int d_offset, int len) -{ - int i; - check_endianness(); - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - assert(buf_c == 2); - for (i=0; i < buf_c; ++i) - compute_stereo_samples(buffer, data_c, data, d_offset, len); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - int j; - for (j=0; j < len; ++j) { - for (i=0; i < limit; ++i) { - FASTDEF(temp); - float f = data[i][d_offset+j]; - int v = FAST_SCALED_FLOAT_TO_INT(temp, f,15);//data[i][d_offset+j],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - *buffer++ = v; - } - for ( ; i < buf_c; ++i) - *buffer++ = 0; - } - } -} - -int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts) -{ - float **output; - int len; - if (num_c == 1) return stb_vorbis_get_frame_short(f,num_c,&buffer, num_shorts); - len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len) { - if (len*num_c > num_shorts) len = num_shorts / num_c; - convert_channels_short_interleaved(num_c, buffer, f->channels, output, 0, len); - } - return len; -} - -int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts) -{ - float **outputs; - int len = num_shorts / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_channels_short_interleaved(channels, buffer, f->channels, f->channel_buffers, f->channel_buffer_start, k); - buffer += k*channels; - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int len) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_samples_short(channels, buffer, n, f->channels, f->channel_buffers, f->channel_buffer_start, k); - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -#ifndef STB_VORBIS_NO_STDIO -int stb_vorbis_decode_filename(char *filename, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_filename(filename, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif // NO_STDIO - -int stb_vorbis_decode_memory(uint8 *mem, int len, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_memory(mem, len, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif - -int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats) -{ - float **outputs; - int len = num_floats / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int i,j; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - for (j=0; j < k; ++j) { - for (i=0; i < z; ++i) - *buffer++ = f->channel_buffers[i][f->channel_buffer_start+j]; - for ( ; i < channels; ++i) - *buffer++ = 0; - } - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < num_samples) { - int i; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= num_samples) k = num_samples - n; - if (k) { - for (i=0; i < z; ++i) - memcpy(buffer[i]+n, f->channel_buffers+f->channel_buffer_start, sizeof(float)*k); - for ( ; i < channels; ++i) - memset(buffer[i]+n, 0, sizeof(float) * k); - } - n += k; - f->channel_buffer_start += k; - if (n == num_samples) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} -#endif // STB_VORBIS_NO_PULLDATA_API - -#endif // STB_VORBIS_HEADER_ONLY diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.h deleted file mode 100755 index 94fd6fe..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/libs/stb_vorbis.h +++ /dev/null @@ -1,338 +0,0 @@ -// -// stb_vorbis.h -// oggdecode -// -// Created by Michael Grierson on 04/04/2012. -// Copyright (c) 2012 goldsmiths college. All rights reserved. -// - - - -////////////////////////////////////////////////////////////////////////////// -// -// HEADER BEGINS HERE -// - -#ifndef STB_VORBIS_INCLUDE_STB_VORBIS_H -#define STB_VORBIS_INCLUDE_STB_VORBIS_H - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) -#define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - /////////// THREAD SAFETY - - // Individual stb_vorbis* handles are not thread-safe; you cannot decode from - // them from multiple threads at the same time. However, you can have multiple - // stb_vorbis* handles and decode from them independently in multiple thrads. - - - /////////// MEMORY ALLOCATION - - // normally stb_vorbis uses malloc() to allocate memory at startup, - // and alloca() to allocate temporary memory during a frame on the - // stack. (Memory consumption will depend on the amount of setup - // data in the file and how you set the compile flags for speed - // vs. size. In my test files the maximal-size usage is ~150KB.) - // - // You can modify the wrapper functions in the source (setup_malloc, - // setup_temp_malloc, temp_malloc) to change this behavior, or you - // can use a simpler allocation model: you pass in a buffer from - // which stb_vorbis will allocate _all_ its memory (including the - // temp memory). "open" may fail with a VORBIS_outofmem if you - // do not pass in enough data; there is no way to determine how - // much you do need except to succeed (at which point you can - // query get_info to find the exact amount required. yes I know - // this is lame). - // - // If you pass in a non-NULL buffer of the type below, allocation - // will occur from it as described above. Otherwise just pass NULL - // to use malloc()/alloca() - - typedef struct - { - char *alloc_buffer; - int alloc_buffer_length_in_bytes; - } stb_vorbis_alloc; - - - /////////// FUNCTIONS USEABLE WITH ALL INPUT MODES - - typedef struct stb_vorbis stb_vorbis; - - typedef struct - { - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int setup_temp_memory_required; - unsigned int temp_memory_required; - - int max_frame_size; - } stb_vorbis_info; - - // get general information about the file - extern stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f); - - // get the last error detected (clears it, too) - extern int stb_vorbis_get_error(stb_vorbis *f); - - // close an ogg vorbis file and free all memory in use - extern void stb_vorbis_close(stb_vorbis *f); - - // this function returns the offset (in samples) from the beginning of the - // file that will be returned by the next decode, if it is known, or -1 - // otherwise. after a flush_pushdata() call, this may take a while before - // it becomes valid again. - // NOT WORKING YET after a seek with PULLDATA API - extern int stb_vorbis_get_sample_offset(stb_vorbis *f); - - // returns the current seek point within the file, or offset from the beginning - // of the memory buffer. In pushdata mode it returns 0. - extern unsigned int stb_vorbis_get_file_offset(stb_vorbis *f); - - /////////// PUSHDATA API - -#ifndef STB_VORBIS_NO_PUSHDATA_API - - // this API allows you to get blocks of data from any source and hand - // them to stb_vorbis. you have to buffer them; stb_vorbis will tell - // you how much it used, and you have to give it the rest next time; - // and stb_vorbis may not have enough data to work with and you will - // need to give it the same data again PLUS more. Note that the Vorbis - // specification does not bound the size of an individual frame. - - extern stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *datablock, int datablock_length_in_bytes, - int *datablock_memory_consumed_in_bytes, - int *error, - stb_vorbis_alloc *alloc_buffer); - // create a vorbis decoder by passing in the initial data block containing - // the ogg&vorbis headers (you don't need to do parse them, just provide - // the first N bytes of the file--you're told if it's not enough, see below) - // on success, returns an stb_vorbis *, does not set error, returns the amount of - // data parsed/consumed on this call in *datablock_memory_consumed_in_bytes; - // on failure, returns NULL on error and sets *error, does not change *datablock_memory_consumed - // if returns NULL and *error is VORBIS_need_more_data, then the input block was - // incomplete and you need to pass in a larger block from the start of the file - - extern int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, unsigned char *datablock, int datablock_length_in_bytes, - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ); - // decode a frame of audio sample data if possible from the passed-in data block - // - // return value: number of bytes we used from datablock - // possible cases: - // 0 bytes used, 0 samples output (need more data) - // N bytes used, 0 samples output (resynching the stream, keep going) - // N bytes used, M samples output (one frame of data) - // note that after opening a file, you will ALWAYS get one N-bytes,0-sample - // frame, because Vorbis always "discards" the first frame. - // - // Note that on resynch, stb_vorbis will rarely consume all of the buffer, - // instead only datablock_length_in_bytes-3 or less. This is because it wants - // to avoid missing parts of a page header if they cross a datablock boundary, - // without writing state-machiney code to record a partial detection. - // - // The number of channels returned are stored in *channels (which can be - // NULL--it is always the same as the number of channels reported by - // get_info). *output will contain an array of float* buffers, one per - // channel. In other words, (*output)[0][0] contains the first sample from - // the first channel, and (*output)[1][0] contains the first sample from - // the second channel. - - extern void stb_vorbis_flush_pushdata(stb_vorbis *f); - // inform stb_vorbis that your next datablock will not be contiguous with - // previous ones (e.g. you've seeked in the data); future attempts to decode - // frames will cause stb_vorbis to resynchronize (as noted above), and - // once it sees a valid Ogg page (typically 4-8KB, as large as 64KB), it - // will begin decoding the _next_ frame. - // - // if you want to seek using pushdata, you need to seek in your file, then - // call stb_vorbis_flush_pushdata(), then start calling decoding, then once - // decoding is returning you data, call stb_vorbis_get_sample_offset, and - // if you don't like the result, seek your file again and repeat. -#endif - - - ////////// PULLING INPUT API - -#ifndef STB_VORBIS_NO_PULLDATA_API - // This API assumes stb_vorbis is allowed to pull data from a source-- - // either a block of memory containing the _entire_ vorbis stream, or a - // FILE * that you or it create, or possibly some other reading mechanism - // if you go modify the source to replace the FILE * case with some kind - // of callback to your code. (But if you don't support seeking, you may - // just want to go ahead and use pushdata.) - -#if !defined(STB_VORBIS_NO_STDIO) && !defined(STB_VORBIS_NO_INTEGER_CONVERSION) - extern int stb_vorbis_decode_filename(char *filename, int *channels, short **output); -#endif - extern int stb_vorbis_decode_memory(unsigned char *mem, int len, int *channels, short **output); - // decode an entire file and output the data interleaved into a malloc()ed - // buffer stored in *output. The return value is the number of samples - // decoded, or -1 if the file could not be opened or was not an ogg vorbis file. - // When you're done with it, just free() the pointer returned in *output. - - extern stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an ogg vorbis stream in memory (note - // this must be the entire stream!). on failure, returns NULL and sets *error - -#ifndef STB_VORBIS_NO_STDIO - extern stb_vorbis * stb_vorbis_open_filename(char *filename, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from a filename via fopen(). on failure, - // returns NULL and sets *error (possibly to VORBIS_file_open_failure). - - extern stb_vorbis * stb_vorbis_open_file(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell). on failure, returns NULL and sets *error. - // note that stb_vorbis must "own" this stream; if you seek it in between - // calls to stb_vorbis, it will become confused. Morever, if you attempt to - // perform stb_vorbis_seek_*() operations on this file, it will assume it - // owns the _entire_ rest of the file after the start point. Use the next - // function, stb_vorbis_open_file_section(), to limit it. - - extern stb_vorbis * stb_vorbis_open_file_section(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer, unsigned int len); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell); the stream will be of length 'len' bytes. - // on failure, returns NULL and sets *error. note that stb_vorbis must "own" - // this stream; if you seek it in between calls to stb_vorbis, it will become - // confused. -#endif - - extern int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number); - extern int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number); - // NOT WORKING YET - // these functions seek in the Vorbis file to (approximately) 'sample_number'. - // after calling seek_frame(), the next call to get_frame_*() will include - // the specified sample. after calling stb_vorbis_seek(), the next call to - // stb_vorbis_get_samples_* will start with the specified sample. If you - // do not need to seek to EXACTLY the target sample when using get_samples_*, - // you can also use seek_frame(). - - extern void stb_vorbis_seek_start(stb_vorbis *f); - // this function is equivalent to stb_vorbis_seek(f,0), but it - // actually works - - extern unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f); - extern float stb_vorbis_stream_length_in_seconds(stb_vorbis *f); - // these functions return the total length of the vorbis stream - - extern int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output); - // decode the next frame and return the number of samples. the number of - // channels returned are stored in *channels (which can be NULL--it is always - // the same as the number of channels reported by get_info). *output will - // contain an array of float* buffers, one per channel. These outputs will - // be overwritten on the next call to stb_vorbis_get_frame_*. - // - // You generally should not intermix calls to stb_vorbis_get_frame_*() - // and stb_vorbis_get_samples_*(), since the latter calls the former. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts); - extern int stb_vorbis_get_frame_short (stb_vorbis *f, int num_c, short **buffer, int num_samples); -#endif - // decode the next frame and return the number of samples per channel. the - // data is coerced to the number of channels you request according to the - // channel coercion rules (see below). You must pass in the size of your - // buffer(s) so that stb_vorbis will not overwrite the end of the buffer. - // The maximum buffer size needed can be gotten from get_info(); however, - // the Vorbis I specification implies an absolute maximum of 4096 samples - // per channel. Note that for interleaved data, you pass in the number of - // shorts (the size of your array), but the return value is the number of - // samples per channel, not the total number of samples. - - // Channel coercion rules: - // Let M be the number of channels requested, and N the number of channels present, - // and Cn be the nth channel; let stereo L be the sum of all L and center channels, - // and stereo R be the sum of all R and center channels (channel assignment from the - // vorbis spec). - // M N output - // 1 k sum(Ck) for all k - // 2 * stereo L, stereo R - // k l k > l, the first l channels, then 0s - // k l k <= l, the first k channels - // Note that this is not _good_ surround etc. mixing at all! It's just so - // you get something useful. - - extern int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats); - extern int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples); - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. DOES NOT APPLY THE COERCION RULES. - // Returns the number of samples stored per channel; it may be less than requested - // at the end of the file. If there are no more samples in the file, returns 0. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts); - extern int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int num_samples); -#endif - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. Applies the coercion rules above - // to produce 'channels' channels. Returns the number of samples stored per channel; - // it may be less than requested at the end of the file. If there are no more - // samples in the file, returns 0. - -#endif - - //////// ERROR CODES - - enum STBVorbisError - { - VORBIS__no_error, - - VORBIS_need_more_data=1, // not a real error - - VORBIS_invalid_api_mixing, // can't mix API modes - VORBIS_outofmem, // not enough memory - VORBIS_feature_not_supported, // uses floor 0 - VORBIS_too_many_channels, // STB_VORBIS_MAX_CHANNELS is too small - VORBIS_file_open_failure, // fopen() failed - VORBIS_seek_without_length, // can't seek in unknown-length file - - VORBIS_unexpected_eof=10, // file is truncated? - VORBIS_seek_invalid, // seek past EOF - - // decoding errors (corrupt/invalid stream) -- you probably - // don't care about the exact details of these - - // vorbis errors: - VORBIS_invalid_setup=20, - VORBIS_invalid_stream, - - // ogg errors: - VORBIS_missing_capture_pattern=30, - VORBIS_invalid_stream_structure_version, - VORBIS_continued_packet_flag_invalid, - VORBIS_incorrect_stream_serial_number, - VORBIS_invalid_first_page, - VORBIS_bad_packet_type, - VORBIS_cant_find_last_page, - VORBIS_seek_failed, - }; - - -#ifdef __cplusplus -} -#endif - -#endif // STB_VORBIS_INCLUDE_STB_VORBIS_H -// -// HEADER ENDS HERE -// -////////////////////////////////////////////////////////////////////////////// diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/src/ofxMaxim.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/src/ofxMaxim.h deleted file mode 100755 index b197723..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxMaxim/src/ofxMaxim.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _OFMAXIM_H -#define _OFMAXIM_H - -#include "maximilian.h" -#include "maxiFFT.h" -#include "maxiGrains.h" -#include "maxiMFCC.h" - - -typedef maxiMix ofxMaxiMix; -typedef maxiOsc ofxMaxiOsc; -typedef maxiEnvelope ofxMaxiEnvelope; -typedef maxiDelayline ofxMaxiDelayline; -typedef maxiFilter ofxMaxiFilter; -typedef maxiSample ofxMaxiSample; -typedef maxiFFT ofxMaxiFFT; -typedef maxiIFFT ofxMaxiIFFT; -typedef maxiFFTOctaveAnalyzer ofxMaxiFFTOctaveAnalyzer; -typedef maxiSettings ofxMaxiSettings; -typedef maxiMFCC ofxMaxiMFCC; - - -//typedef maxiSignal vector; -// -//class maxiBase { -// virtual maxiSignal play() = {}; -//}; -// -//class ofMaxiSine : public maxiBase { -// maxiOsc osc; -// double freq; -// -// void update(double freq) { -// freq = freq; -// } -// void play() { -// osc.sine(freq); -// } -//} -// -// -//class maxiNoise : public maxiBase { -// maxiBase* update() { -// //do something? -// }; -// -// double play() { -// return rand() / (float)RAND_MAX; -// } -//}; -// -//class maxiAnotherUGen : public maxiBase { -// maxiBase* update(double param1, bool param2); -//}; -// -//class maxiYetAnotherUGen : public maxiBase { -// maxiBase* update(int something, float somethingElse); -//}; -// -//void maxiProcess(maxiSignal &signal, maxiBase *ugen) { -// double val = ugen->play(); -// for(int i=0; i < signal.size(); i++) { -// signal[i] = val; -// } -//} -// -//void maxiBlock(maxiSignal &signal, maxiBase *ugen) { -// for (int i=0; i < 64; i++) { -// maxiProcess(signal, ugen); -// } -//} -// -//typedef maxiUGens vector -// -//maxiNoise ugen1; -//maxiAnotherUGen ugen2; -//maxiUGens ugen1 = createUGens(maxiNoise, 2); -// -//maxiSignal sig(2); -//maxiProcess(sig, ugen1.update()); -//maxiProcess(sig, ugen2.update(8.2, false)); -// -//ugen.update(2,3)->play(); - - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.cpp deleted file mode 100755 index 65cfcc2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "IpEndpointName.h" - -#include - -#include "NetworkingUtils.h" - - -unsigned long IpEndpointName::GetHostByName( const char *s ) -{ - return ::GetHostByName(s); -} - - -void IpEndpointName::AddressAsString( char *s ) const -{ - if( address == ANY_ADDRESS ){ - sprintf( s, "" ); - }else{ - sprintf( s, "%d.%d.%d.%d", - (int)((address >> 24) & 0xFF), - (int)((address >> 16) & 0xFF), - (int)((address >> 8) & 0xFF), - (int)(address & 0xFF) ); - } -} - - -void IpEndpointName::AddressAndPortAsString( char *s ) const -{ - if( port == ANY_PORT ){ - if( address == ANY_ADDRESS ){ - sprintf( s, ":" ); - }else{ - sprintf( s, "%d.%d.%d.%d:", - (int)((address >> 24) & 0xFF), - (int)((address >> 16) & 0xFF), - (int)((address >> 8) & 0xFF), - (int)(address & 0xFF) ); - } - }else{ - if( address == ANY_ADDRESS ){ - sprintf( s, ":%d", port ); - }else{ - sprintf( s, "%d.%d.%d.%d:%d", - (int)((address >> 24) & 0xFF), - (int)((address >> 16) & 0xFF), - (int)((address >> 8) & 0xFF), - (int)(address & 0xFF), - (int)port ); - } - } -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.h deleted file mode 100755 index 65bd62b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/IpEndpointName.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_IPENDPOINTNAME_H -#define INCLUDED_IPENDPOINTNAME_H - - -class IpEndpointName{ - static unsigned long GetHostByName( const char *s ); -public: - static const unsigned long ANY_ADDRESS = 0xFFFFFFFF; - static const int ANY_PORT = -1; - - IpEndpointName() - : address( ANY_ADDRESS ), port( ANY_PORT ) {} - IpEndpointName( int port_ ) - : address( ANY_ADDRESS ), port( port_ ) {} - IpEndpointName( unsigned long ipAddress_, int port_ ) - : address( ipAddress_ ), port( port_ ) {} - IpEndpointName( const char *addressName, int port_=ANY_PORT ) - : address( GetHostByName( addressName ) ) - , port( port_ ) {} - IpEndpointName( int addressA, int addressB, int addressC, int addressD, int port_=ANY_PORT ) - : address( ( (addressA << 24) | (addressB << 16) | (addressC << 8) | addressD ) ) - , port( port_ ) {} - - // address and port are maintained in host byte order here - unsigned long address; - int port; - - bool IsMulticastAddress() const { return ((address >> 24) & 0xFF) >= 224 && ((address >> 24) & 0xFF) <= 239; } - - enum { ADDRESS_STRING_LENGTH=17 }; - void AddressAsString( char *s ) const; - - enum { ADDRESS_AND_PORT_STRING_LENGTH=23}; - void AddressAndPortAsString( char *s ) const; -}; - -inline bool operator==( const IpEndpointName& lhs, const IpEndpointName& rhs ) -{ - return (lhs.address == rhs.address && lhs.port == rhs.port ); -} - -inline bool operator!=( const IpEndpointName& lhs, const IpEndpointName& rhs ) -{ - return !(lhs == rhs); -} - -#endif /* INCLUDED_IPENDPOINTNAME_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/NetworkingUtils.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/NetworkingUtils.h deleted file mode 100755 index ff9f4e8..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/NetworkingUtils.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_NETWORKINGUTILS_H -#define INCLUDED_NETWORKINGUTILS_H - - -// in general NetworkInitializer is only used internally, but if you're -// application creates multiple sockets from different threads at runtime you -// should instantiate one of these in main just to make sure the networking -// layer is initialized. -class NetworkInitializer{ -public: - NetworkInitializer(); - ~NetworkInitializer(); -}; - - -// return ip address of host name in host byte order -unsigned long GetHostByName( const char *name ); - - -#endif /* INCLUDED_NETWORKINGUTILS_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/PacketListener.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/PacketListener.h deleted file mode 100755 index 7d9ee5a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/PacketListener.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_PACKETLISTENER_H -#define INCLUDED_PACKETLISTENER_H - - -class IpEndpointName; - -class PacketListener{ -public: - virtual ~PacketListener() {} - virtual void ProcessPacket( const char *data, int size, - const IpEndpointName& remoteEndpoint ) = 0; -}; - -#endif /* INCLUDED_PACKETLISTENER_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/TimerListener.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/TimerListener.h deleted file mode 100755 index fbee86d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/TimerListener.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_TIMERLISTENER_H -#define INCLUDED_TIMERLISTENER_H - - -class TimerListener{ -public: - virtual ~TimerListener() {} - virtual void TimerExpired() = 0; -}; - -#endif /* INCLUDED_TIMERLISTENER_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/UdpSocket.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/UdpSocket.h deleted file mode 100755 index 73383e1..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/UdpSocket.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_UDPSOCKET_H -#define INCLUDED_UDPSOCKET_H - -#ifndef INCLUDED_NETWORKINGUTILITIES_H -#include "NetworkingUtils.h" -#endif /* INCLUDED_NETWORKINGUTILITIES_H */ - -#ifndef INCLUDED_IPENDPOINTNAME_H -#include "IpEndpointName.h" -#endif /* INCLUDED_IPENDPOINTNAME_H */ - - -class PacketListener; -class TimerListener; - -class UdpSocket; - -class SocketReceiveMultiplexer{ - class Implementation; - Implementation *impl_; - - friend class UdpSocket; - -public: - SocketReceiveMultiplexer(); - ~SocketReceiveMultiplexer(); - - // only call the attach/detach methods _before_ calling Run - - // only one listener per socket, each socket at most once - void AttachSocketListener( UdpSocket *socket, PacketListener *listener ); - void DetachSocketListener( UdpSocket *socket, PacketListener *listener ); - - void AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ); - void AttachPeriodicTimerListener( - int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ); - void DetachPeriodicTimerListener( TimerListener *listener ); - - void Run(); // loop and block processing messages indefinitely - void RunUntilSigInt(); - void Break(); // call this from a listener to exit once the listener returns - void AsynchronousBreak(); // call this from another thread or signal handler to exit the Run() state -}; - - -class UdpSocket{ - class Implementation; - Implementation *impl_; - - friend class SocketReceiveMultiplexer::Implementation; - -public: - - // ctor throws std::runtime_error if there's a problem - // initializing the socket. - UdpSocket(); - virtual ~UdpSocket(); - - // the socket is created in an unbound, unconnected state - // such a socket can only be used to send to an arbitrary - // address using SendTo(). To use Send() you need to first - // connect to a remote endpoint using Connect(). To use - // ReceiveFrom you need to first bind to a local endpoint - // using Bind(). - - // retrieve the local endpoint name when sending to 'to' - IpEndpointName LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const; - - // Connect to a remote endpoint which is used as the target - // for calls to Send() - void Connect( const IpEndpointName& remoteEndpoint ); - void Send( const char *data, int size ); - void SendTo( const IpEndpointName& remoteEndpoint, const char *data, int size ); - - - // Bind a local endpoint to receive incoming data. Endpoint - // can be 'any' for the system to choose an endpoint - void Bind( const IpEndpointName& localEndpoint ); - bool IsBound() const; - - int ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, int size ); -}; - - -// convenience classes for transmitting and receiving -// they just call Connect and/or Bind in the ctor. -// note that you can still use a receive socket -// for transmitting etc - -class UdpTransmitSocket : public UdpSocket{ -public: - UdpTransmitSocket( const IpEndpointName& remoteEndpoint ) - { Connect( remoteEndpoint ); } -}; - - -class UdpReceiveSocket : public UdpSocket{ -public: - UdpReceiveSocket( const IpEndpointName& localEndpoint ) - { Bind( localEndpoint ); } -}; - - -// UdpListeningReceiveSocket provides a simple way to bind one listener -// to a single socket without having to manually set up a SocketReceiveMultiplexer - -class UdpListeningReceiveSocket : public UdpSocket{ - SocketReceiveMultiplexer mux_; - PacketListener *listener_; -public: - UdpListeningReceiveSocket( const IpEndpointName& localEndpoint, PacketListener *listener ) - : listener_( listener ) - { - Bind( localEndpoint ); - mux_.AttachSocketListener( this, listener_ ); - } - - ~UdpListeningReceiveSocket() - { mux_.DetachSocketListener( this, listener_ ); } - - // see SocketReceiveMultiplexer above for the behaviour of these methods... - void Run() { mux_.Run(); } - void RunUntilSigInt() { mux_.RunUntilSigInt(); } - void Break() { mux_.Break(); } - void AsynchronousBreak() { mux_.AsynchronousBreak(); } -}; - - -#endif /* INCLUDED_UDPSOCKET_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/NetworkingUtils.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/NetworkingUtils.cpp deleted file mode 100755 index 52ca45f..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/NetworkingUtils.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "ip/NetworkingUtils.h" -#if !defined( __WIN32__ ) && !defined( _WIN32 ) - -#include -#include -#include -#include -#include - - - -NetworkInitializer::NetworkInitializer() {} - -NetworkInitializer::~NetworkInitializer() {} - - -unsigned long GetHostByName( const char *name ) -{ - unsigned long result = 0; - - struct hostent *h = gethostbyname( name ); - if( h ){ - struct in_addr a; - memcpy( &a, h->h_addr_list[0], h->h_length ); - result = ntohl(a.s_addr); - } - - return result; -} -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/UdpSocket.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/UdpSocket.cpp deleted file mode 100755 index 62897ea..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/posix/UdpSocket.cpp +++ /dev/null @@ -1,575 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "ip/UdpSocket.h" -#if !defined( __WIN32__ ) && !defined( _WIN32 ) - -#include -#include -#include -#include -#include -#include -#include -#include // for memset - -#include -#include -#include -#include -#include -#include -#include -#include -#include // for sockaddr_in - -#include "ip/PacketListener.h" -#include "ip/TimerListener.h" - - -#if defined(__APPLE__) && !defined(_SOCKLEN_T) -// pre system 10.3 didn have socklen_t -typedef ssize_t socklen_t; -#endif - -static int MAX_BUFFER_SIZE = 292000; - -static void SockaddrFromIpEndpointName( struct sockaddr_in& sockAddr, const IpEndpointName& endpoint ) -{ - memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); - sockAddr.sin_family = AF_INET; - - sockAddr.sin_addr.s_addr = - (endpoint.address == IpEndpointName::ANY_ADDRESS) - ? INADDR_ANY - : htonl( endpoint.address ); - - sockAddr.sin_port = - (endpoint.port == IpEndpointName::ANY_PORT) - ? 0 - : htons( endpoint.port ); -} - - -static IpEndpointName IpEndpointNameFromSockaddr( const struct sockaddr_in& sockAddr ) -{ - return IpEndpointName( - (sockAddr.sin_addr.s_addr == INADDR_ANY) - ? IpEndpointName::ANY_ADDRESS - : ntohl( sockAddr.sin_addr.s_addr ), - (sockAddr.sin_port == 0) - ? IpEndpointName::ANY_PORT - : ntohs( sockAddr.sin_port ) - ); -} - - -class UdpSocket::Implementation{ - bool isBound_; - bool isConnected_; - - int socket_; - struct sockaddr_in connectedAddr_; - struct sockaddr_in sendToAddr_; - -public: - - Implementation() - : isBound_( false ) - , isConnected_( false ) - , socket_( -1 ) - { - if( (socket_ = socket( AF_INET, SOCK_DGRAM, 0 )) == -1 ){ - throw std::runtime_error("unable to create udp socket\n"); - } - - // enable multicast addresses - int on = 1; // int on posix - setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)); - - // enable multiple listeners for a single port on same network interface - int reuse = 1; // int on posix - setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); - - #ifdef __APPLE__ - // needed also for OS X - enable multiple listeners for a single port on same network interface - int reusePort = 1; // int on posix - setsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &reusePort, sizeof(reusePort)); - #endif - - // lets increase the size of the buffer if possible. - int maxBufferSize = 0; - socklen_t optlen = sizeof(maxBufferSize); - int res = getsockopt(socket_, SOL_SOCKET, SO_SNDBUF, &maxBufferSize, &optlen); - - if( maxBufferSize < MAX_BUFFER_SIZE ){ - maxBufferSize = MAX_BUFFER_SIZE; - setsockopt(socket_, SOL_SOCKET, SO_SNDBUF, &maxBufferSize, sizeof(maxBufferSize)); - setsockopt(socket_, SOL_SOCKET, SO_RCVBUF, &maxBufferSize, sizeof(maxBufferSize)); - }else{ - //if we are natively supporting a larger buffer size then increase our value; - MAX_BUFFER_SIZE = maxBufferSize; - } - - memset( &sendToAddr_, 0, sizeof(sendToAddr_) ); - sendToAddr_.sin_family = AF_INET; - } - - ~Implementation() - { - if (socket_ != -1) close(socket_); - } - - IpEndpointName LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const - { - assert( isBound_ ); - - // first connect the socket to the remote server - - struct sockaddr_in connectSockAddr; - SockaddrFromIpEndpointName( connectSockAddr, remoteEndpoint ); - - if (connect(socket_, (struct sockaddr *)&connectSockAddr, sizeof(connectSockAddr)) < 0) { - throw std::runtime_error("unable to connect udp socket\n"); - } - - // get the address - - struct sockaddr_in sockAddr; - memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); - socklen_t length = sizeof(sockAddr); - if (getsockname(socket_, (struct sockaddr *)&sockAddr, &length) < 0) { - throw std::runtime_error("unable to getsockname\n"); - } - - if( isConnected_ ){ - // reconnect to the connected address - - if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { - throw std::runtime_error("unable to connect udp socket\n"); - } - - }else{ - // unconnect from the remote address - - struct sockaddr_in unconnectSockAddr; - memset( (char *)&unconnectSockAddr, 0, sizeof(unconnectSockAddr ) ); - unconnectSockAddr.sin_family = AF_UNSPEC; - // address fields are zero - int connectResult = connect(socket_, (struct sockaddr *)&unconnectSockAddr, sizeof(unconnectSockAddr)); - if ( connectResult < 0 && errno != EAFNOSUPPORT ) { - throw std::runtime_error("unable to un-connect udp socket\n"); - } - } - - return IpEndpointNameFromSockaddr( sockAddr ); - } - - void Connect( const IpEndpointName& remoteEndpoint ) - { - SockaddrFromIpEndpointName( connectedAddr_, remoteEndpoint ); - - if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { - throw std::runtime_error("unable to connect udp socket\n"); - } - - isConnected_ = true; - } - - void Send( const char *data, int size ) - { - assert( isConnected_ ); - - send( socket_, data, size, 0 ); - } - - void SendTo( const IpEndpointName& remoteEndpoint, const char *data, int size ) - { - sendToAddr_.sin_addr.s_addr = htonl( remoteEndpoint.address ); - sendToAddr_.sin_port = htons( remoteEndpoint.port ); - - sendto( socket_, data, size, 0, (sockaddr*)&sendToAddr_, sizeof(sendToAddr_) ); - } - - void Bind( const IpEndpointName& localEndpoint ) - { - struct sockaddr_in bindSockAddr; - SockaddrFromIpEndpointName( bindSockAddr, localEndpoint ); - - if (bind(socket_, (struct sockaddr *)&bindSockAddr, sizeof(bindSockAddr)) < 0) { - throw std::runtime_error("unable to bind udp socket\n"); - } - - isBound_ = true; - } - - bool IsBound() const { return isBound_; } - - int ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, int size ) - { - assert( isBound_ ); - - struct sockaddr_in fromAddr; - socklen_t fromAddrLen = sizeof(fromAddr); - - int result = recvfrom(socket_, data, size, 0, - (struct sockaddr *) &fromAddr, (socklen_t*)&fromAddrLen); - if( result < 0 ) - return 0; - - remoteEndpoint.address = ntohl(fromAddr.sin_addr.s_addr); - remoteEndpoint.port = ntohs(fromAddr.sin_port); - - return result; - } - - int Socket() { return socket_; } -}; - -UdpSocket::UdpSocket() -{ - impl_ = new Implementation(); -} - -UdpSocket::~UdpSocket() -{ - delete impl_; -} - -IpEndpointName UdpSocket::LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const -{ - return impl_->LocalEndpointFor( remoteEndpoint ); -} - -void UdpSocket::Connect( const IpEndpointName& remoteEndpoint ) -{ - impl_->Connect( remoteEndpoint ); -} - -void UdpSocket::Send( const char *data, int size ) -{ - impl_->Send( data, size ); -} - -void UdpSocket::SendTo( const IpEndpointName& remoteEndpoint, const char *data, int size ) -{ - impl_->SendTo( remoteEndpoint, data, size ); -} - -void UdpSocket::Bind( const IpEndpointName& localEndpoint ) -{ - impl_->Bind( localEndpoint ); -} - -bool UdpSocket::IsBound() const -{ - return impl_->IsBound(); -} - -int UdpSocket::ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, int size ) -{ - return impl_->ReceiveFrom( remoteEndpoint, data, size ); -} - - -struct AttachedTimerListener{ - AttachedTimerListener( int id, int p, TimerListener *tl ) - : initialDelayMs( id ) - , periodMs( p ) - , listener( tl ) {} - int initialDelayMs; - int periodMs; - TimerListener *listener; -}; - - -static bool CompareScheduledTimerCalls( - const std::pair< double, AttachedTimerListener > & lhs, const std::pair< double, AttachedTimerListener > & rhs ) -{ - return lhs.first < rhs.first; -} - - -SocketReceiveMultiplexer *multiplexerInstanceToAbortWithSigInt_ = 0; - -extern "C" /*static*/ void InterruptSignalHandler( int ); -/*static*/ void InterruptSignalHandler( int ) -{ - multiplexerInstanceToAbortWithSigInt_->AsynchronousBreak(); - signal( SIGINT, SIG_DFL ); -} - - -class SocketReceiveMultiplexer::Implementation{ - std::vector< std::pair< PacketListener*, UdpSocket* > > socketListeners_; - std::vector< AttachedTimerListener > timerListeners_; - - volatile bool break_; - int breakPipe_[2]; // [0] is the reader descriptor and [1] the writer - - double GetCurrentTimeMs() const - { - struct timeval t; - - gettimeofday( &t, 0 ); - - return ((double)t.tv_sec*1000.) + ((double)t.tv_usec / 1000.); - } - -public: - Implementation() - { - if( pipe(breakPipe_) != 0 ) - throw std::runtime_error( "creation of asynchronous break pipes failed\n" ); - } - - ~Implementation() - { - close( breakPipe_[0] ); - close( breakPipe_[1] ); - } - - void AttachSocketListener( UdpSocket *socket, PacketListener *listener ) - { - assert( std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ) == socketListeners_.end() ); - // we don't check that the same socket has been added multiple times, even though this is an error - socketListeners_.push_back( std::make_pair( listener, socket ) ); - } - - void DetachSocketListener( UdpSocket *socket, PacketListener *listener ) - { - std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = - std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ); - assert( i != socketListeners_.end() ); - - socketListeners_.erase( i ); - } - - void AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) - { - timerListeners_.push_back( AttachedTimerListener( periodMilliseconds, periodMilliseconds, listener ) ); - } - - void AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) - { - timerListeners_.push_back( AttachedTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ) ); - } - - void DetachPeriodicTimerListener( TimerListener *listener ) - { - std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); - while( i != timerListeners_.end() ){ - if( i->listener == listener ) - break; - ++i; - } - - assert( i != timerListeners_.end() ); - - timerListeners_.erase( i ); - } - - void Run() - { - break_ = false; - - // configure the master fd_set for select() - - fd_set masterfds, tempfds; - FD_ZERO( &masterfds ); - FD_ZERO( &tempfds ); - - // in addition to listening to the inbound sockets we - // also listen to the asynchronous break pipe, so that AsynchronousBreak() - // can break us out of select() from another thread. - FD_SET( breakPipe_[0], &masterfds ); - int fdmax = breakPipe_[0]; - - for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); - i != socketListeners_.end(); ++i ){ - - if( fdmax < i->second->impl_->Socket() ) - fdmax = i->second->impl_->Socket(); - FD_SET( i->second->impl_->Socket(), &masterfds ); - } - - - // configure the timer queue - double currentTimeMs = GetCurrentTimeMs(); - - // expiry time ms, listener - std::vector< std::pair< double, AttachedTimerListener > > timerQueue_; - for( std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); - i != timerListeners_.end(); ++i ) - timerQueue_.push_back( std::make_pair( currentTimeMs + i->initialDelayMs, *i ) ); - std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); - - char *data = new char[ MAX_BUFFER_SIZE ]; - IpEndpointName remoteEndpoint; - - struct timeval timeout; - - while( !break_ ){ - tempfds = masterfds; - - struct timeval *timeoutPtr = 0; - if( !timerQueue_.empty() ){ - double timeoutMs = timerQueue_.front().first - GetCurrentTimeMs(); - if( timeoutMs < 0 ) - timeoutMs = 0; - - // 1000000 microseconds in a second - timeout.tv_sec = (long)(timeoutMs * .001); - timeout.tv_usec = (long)((timeoutMs - (timeout.tv_sec * 1000)) * 1000); - timeoutPtr = &timeout; - } - - if( select( fdmax + 1, &tempfds, 0, 0, timeoutPtr ) < 0 && errno != EINTR ){ - throw std::runtime_error("select failed\n"); - } - - if ( FD_ISSET( breakPipe_[0], &tempfds ) ){ - // clear pending data from the asynchronous break pipe - char c; - read( breakPipe_[0], &c, 1 ); - } - - if( break_ ) - break; - - for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); - i != socketListeners_.end(); ++i ){ - - if( FD_ISSET( i->second->impl_->Socket(), &tempfds ) ){ - - int size = i->second->ReceiveFrom( remoteEndpoint, data, MAX_BUFFER_SIZE ); - if( size > 0 ){ - i->first->ProcessPacket( data, size, remoteEndpoint ); - if( break_ ) - break; - } - } - } - - // execute any expired timers - currentTimeMs = GetCurrentTimeMs(); - bool resort = false; - for( std::vector< std::pair< double, AttachedTimerListener > >::iterator i = timerQueue_.begin(); - i != timerQueue_.end() && i->first <= currentTimeMs; ++i ){ - - i->second.listener->TimerExpired(); - if( break_ ) - break; - - i->first += i->second.periodMs; - resort = true; - } - if( resort ) - std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); - } - - delete [] data; - } - - void Break() - { - break_ = true; - } - - void AsynchronousBreak() - { - break_ = true; - - // Send a termination message to the asynchronous break pipe, so select() will return - write( breakPipe_[1], "!", 1 ); - } -}; - - - -SocketReceiveMultiplexer::SocketReceiveMultiplexer() -{ - impl_ = new Implementation(); -} - -SocketReceiveMultiplexer::~SocketReceiveMultiplexer() -{ - delete impl_; -} - -void SocketReceiveMultiplexer::AttachSocketListener( UdpSocket *socket, PacketListener *listener ) -{ - impl_->AttachSocketListener( socket, listener ); -} - -void SocketReceiveMultiplexer::DetachSocketListener( UdpSocket *socket, PacketListener *listener ) -{ - impl_->DetachSocketListener( socket, listener ); -} - -void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) -{ - impl_->AttachPeriodicTimerListener( periodMilliseconds, listener ); -} - -void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) -{ - impl_->AttachPeriodicTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ); -} - -void SocketReceiveMultiplexer::DetachPeriodicTimerListener( TimerListener *listener ) -{ - impl_->DetachPeriodicTimerListener( listener ); -} - -void SocketReceiveMultiplexer::Run() -{ - impl_->Run(); -} - -void SocketReceiveMultiplexer::RunUntilSigInt() -{ - assert( multiplexerInstanceToAbortWithSigInt_ == 0 ); /* at present we support only one multiplexer instance running until sig int */ - multiplexerInstanceToAbortWithSigInt_ = this; - signal( SIGINT, InterruptSignalHandler ); - impl_->Run(); - signal( SIGINT, SIG_DFL ); - multiplexerInstanceToAbortWithSigInt_ = 0; -} - -void SocketReceiveMultiplexer::Break() -{ - impl_->Break(); -} - -void SocketReceiveMultiplexer::AsynchronousBreak() -{ - impl_->AsynchronousBreak(); -} -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/NetworkingUtilsWin.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/NetworkingUtilsWin.cpp deleted file mode 100755 index 7e8572a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/NetworkingUtilsWin.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "ip/NetworkingUtils.h" -#if defined( __WIN32__ ) || defined( _WIN32 ) - -#include // this must come first to prevent errors with MSVC7 -#include -#include -#include - - -static LONG initCount_ = 0; -static bool winsockInitialized_ = false; - -NetworkInitializer::NetworkInitializer() -{ - if( InterlockedIncrement( &initCount_ ) == 1 ){ - // there is a race condition here if one thread tries to access - // the library while another is still initializing it. - // i can't think of an easy way to fix it so i'm telling you here - // incase you need to init the library from two threads at once. - // this is why the header file advises to instantiate one of these - // in main() so that the initialization happens globally - - // initialize winsock - WSAData wsaData; - int nCode = WSAStartup(MAKEWORD(1, 1), &wsaData); - if( nCode != 0 ){ - //std::cout << "WSAStartup() failed with error code " << nCode << "\n"; - }else{ - winsockInitialized_ = true; - } - } -} - - -NetworkInitializer::~NetworkInitializer() -{ - if( InterlockedDecrement( &initCount_ ) == 0 ){ - if( winsockInitialized_ ){ - WSACleanup(); - winsockInitialized_ = false; - } - } -} - - -unsigned long GetHostByName( const char *name ) -{ - NetworkInitializer networkInitializer; - - unsigned long result = 0; - - struct hostent *h = gethostbyname( name ); - if( h ){ - struct in_addr a; - memcpy( &a, h->h_addr_list[0], h->h_length ); - result = ntohl(a.s_addr); - } - - return result; -} -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/UdpSocketWin.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/UdpSocketWin.cpp deleted file mode 100755 index 943e9a3..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/ip/win32/UdpSocketWin.cpp +++ /dev/null @@ -1,544 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "ip/UdpSocket.h" -#if defined( __WIN32__ ) || defined( _WIN32 ) - -#include // this must come first to prevent errors with MSVC7 -#include -#include // for timeGetTime() - -#include -#include -#include -#include - -#ifndef WINCE -#include -#endif - -#include "ip/NetworkingUtils.h" -#include "ip/PacketListener.h" -#include "ip/TimerListener.h" - - -typedef int socklen_t; - - -static void SockaddrFromIpEndpointName( struct sockaddr_in& sockAddr, const IpEndpointName& endpoint ) -{ - memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); - sockAddr.sin_family = AF_INET; - - sockAddr.sin_addr.s_addr = - (endpoint.address == IpEndpointName::ANY_ADDRESS) - ? INADDR_ANY - : htonl( endpoint.address ); - - sockAddr.sin_port = - (endpoint.port == IpEndpointName::ANY_PORT) - ? (short)0 - : htons( (short)endpoint.port ); -} - - -static IpEndpointName IpEndpointNameFromSockaddr( const struct sockaddr_in& sockAddr ) -{ - return IpEndpointName( - (sockAddr.sin_addr.s_addr == INADDR_ANY) - ? IpEndpointName::ANY_ADDRESS - : ntohl( sockAddr.sin_addr.s_addr ), - (sockAddr.sin_port == 0) - ? IpEndpointName::ANY_PORT - : ntohs( sockAddr.sin_port ) - ); -} - - -class UdpSocket::Implementation{ - NetworkInitializer networkInitializer_; - - bool isBound_; - bool isConnected_; - - SOCKET socket_; - struct sockaddr_in connectedAddr_; - struct sockaddr_in sendToAddr_; - -public: - - Implementation() - : isBound_( false ) - , isConnected_( false ) - , socket_( INVALID_SOCKET ) - { - if( (socket_ = socket( AF_INET, SOCK_DGRAM, 0 )) == INVALID_SOCKET ){ - throw std::runtime_error("unable to create udp socket\n"); - } - - // enable multicast addresses - char on = 1; // char on win32 - setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)); - - // enable multiple listeners for a single port on same network interface - char reuse = 1; // char on win32 - setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); - - memset( &sendToAddr_, 0, sizeof(sendToAddr_) ); - sendToAddr_.sin_family = AF_INET; - } - - ~Implementation() - { - if (socket_ != INVALID_SOCKET) closesocket(socket_); - } - - IpEndpointName LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const - { - assert( isBound_ ); - - // first connect the socket to the remote server - - struct sockaddr_in connectSockAddr; - SockaddrFromIpEndpointName( connectSockAddr, remoteEndpoint ); - - if (connect(socket_, (struct sockaddr *)&connectSockAddr, sizeof(connectSockAddr)) < 0) { - throw std::runtime_error("unable to connect udp socket\n"); - } - - // get the address - - struct sockaddr_in sockAddr; - memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); - socklen_t length = sizeof(sockAddr); - if (getsockname(socket_, (struct sockaddr *)&sockAddr, &length) < 0) { - throw std::runtime_error("unable to getsockname\n"); - } - - if( isConnected_ ){ - // reconnect to the connected address - - if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { - throw std::runtime_error("unable to connect udp socket\n"); - } - - }else{ - // unconnect from the remote address - - struct sockaddr_in unconnectSockAddr; - SockaddrFromIpEndpointName( unconnectSockAddr, IpEndpointName() ); - - if( connect(socket_, (struct sockaddr *)&unconnectSockAddr, sizeof(unconnectSockAddr)) < 0 - && WSAGetLastError() != WSAEADDRNOTAVAIL ){ - throw std::runtime_error("unable to un-connect udp socket\n"); - } - } - - return IpEndpointNameFromSockaddr( sockAddr ); - } - - void Connect( const IpEndpointName& remoteEndpoint ) - { - SockaddrFromIpEndpointName( connectedAddr_, remoteEndpoint ); - - if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { - throw std::runtime_error("unable to connect udp socket\n"); - } - - isConnected_ = true; - } - - void Send( const char *data, int size ) - { - assert( isConnected_ ); - - send( socket_, data, size, 0 ); - } - - void SendTo( const IpEndpointName& remoteEndpoint, const char *data, int size ) - { - sendToAddr_.sin_addr.s_addr = htonl( remoteEndpoint.address ); - sendToAddr_.sin_port = htons( (short)remoteEndpoint.port ); - - sendto( socket_, data, size, 0, (sockaddr*)&sendToAddr_, sizeof(sendToAddr_) ); - } - - void Bind( const IpEndpointName& localEndpoint ) - { - struct sockaddr_in bindSockAddr; - SockaddrFromIpEndpointName( bindSockAddr, localEndpoint ); - - if (bind(socket_, (struct sockaddr *)&bindSockAddr, sizeof(bindSockAddr)) < 0) { - throw std::runtime_error("unable to bind udp socket\n"); - } - - isBound_ = true; - } - - bool IsBound() const { return isBound_; } - - int ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, int size ) - { - assert( isBound_ ); - - struct sockaddr_in fromAddr; - socklen_t fromAddrLen = sizeof(fromAddr); - - int result = recvfrom(socket_, data, size, 0, - (struct sockaddr *) &fromAddr, (socklen_t*)&fromAddrLen); - if( result < 0 ) - return 0; - - remoteEndpoint.address = ntohl(fromAddr.sin_addr.s_addr); - remoteEndpoint.port = ntohs(fromAddr.sin_port); - - return result; - } - - SOCKET& Socket() { return socket_; } -}; - -UdpSocket::UdpSocket() -{ - impl_ = new Implementation(); -} - -UdpSocket::~UdpSocket() -{ - delete impl_; -} - -IpEndpointName UdpSocket::LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const -{ - return impl_->LocalEndpointFor( remoteEndpoint ); -} - -void UdpSocket::Connect( const IpEndpointName& remoteEndpoint ) -{ - impl_->Connect( remoteEndpoint ); -} - -void UdpSocket::Send( const char *data, int size ) -{ - impl_->Send( data, size ); -} - -void UdpSocket::SendTo( const IpEndpointName& remoteEndpoint, const char *data, int size ) -{ - impl_->SendTo( remoteEndpoint, data, size ); -} - -void UdpSocket::Bind( const IpEndpointName& localEndpoint ) -{ - impl_->Bind( localEndpoint ); -} - -bool UdpSocket::IsBound() const -{ - return impl_->IsBound(); -} - -int UdpSocket::ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, int size ) -{ - return impl_->ReceiveFrom( remoteEndpoint, data, size ); -} - - -struct AttachedTimerListener{ - AttachedTimerListener( int id, int p, TimerListener *tl ) - : initialDelayMs( id ) - , periodMs( p ) - , listener( tl ) {} - int initialDelayMs; - int periodMs; - TimerListener *listener; -}; - - -static bool CompareScheduledTimerCalls( - const std::pair< double, AttachedTimerListener > & lhs, const std::pair< double, AttachedTimerListener > & rhs ) -{ - return lhs.first < rhs.first; -} - - -SocketReceiveMultiplexer *multiplexerInstanceToAbortWithSigInt_ = 0; - -extern "C" /*static*/ void InterruptSignalHandler( int ); -/*static*/ void InterruptSignalHandler( int ) -{ - multiplexerInstanceToAbortWithSigInt_->AsynchronousBreak(); -#ifndef WINCE - signal( SIGINT, SIG_DFL ); -#endif -} - - -class SocketReceiveMultiplexer::Implementation{ - NetworkInitializer networkInitializer_; - - std::vector< std::pair< PacketListener*, UdpSocket* > > socketListeners_; - std::vector< AttachedTimerListener > timerListeners_; - - volatile bool break_; - HANDLE breakEvent_; - - double GetCurrentTimeMs() const - { -#ifndef WINCE - return timeGetTime(); // FIXME: bad choice if you want to run for more than 40 days -#else - return 0; -#endif - } - -public: - Implementation() - { - breakEvent_ = CreateEvent( NULL, FALSE, FALSE, NULL ); - } - - ~Implementation() - { - CloseHandle( breakEvent_ ); - } - - void AttachSocketListener( UdpSocket *socket, PacketListener *listener ) - { - assert( std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ) == socketListeners_.end() ); - // we don't check that the same socket has been added multiple times, even though this is an error - socketListeners_.push_back( std::make_pair( listener, socket ) ); - } - - void DetachSocketListener( UdpSocket *socket, PacketListener *listener ) - { - std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = - std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ); - assert( i != socketListeners_.end() ); - - socketListeners_.erase( i ); - } - - void AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) - { - timerListeners_.push_back( AttachedTimerListener( periodMilliseconds, periodMilliseconds, listener ) ); - } - - void AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) - { - timerListeners_.push_back( AttachedTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ) ); - } - - void DetachPeriodicTimerListener( TimerListener *listener ) - { - std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); - while( i != timerListeners_.end() ){ - if( i->listener == listener ) - break; - ++i; - } - - assert( i != timerListeners_.end() ); - - timerListeners_.erase( i ); - } - - void Run() - { - break_ = false; - - // prepare the window events which we use to wake up on incoming data - // we use this instead of select() primarily to support the AsyncBreak() - // mechanism. - - std::vector events( socketListeners_.size() + 1, 0 ); - int j=0; - for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); - i != socketListeners_.end(); ++i, ++j ){ - - HANDLE event = CreateEvent( NULL, FALSE, FALSE, NULL ); - WSAEventSelect( i->second->impl_->Socket(), event, FD_READ ); // note that this makes the socket non-blocking which is why we can safely call RecieveFrom() on all sockets below - events[j] = event; - } - - - events[ socketListeners_.size() ] = breakEvent_; // last event in the collection is the break event - - - // configure the timer queue - double currentTimeMs = GetCurrentTimeMs(); - - // expiry time ms, listener - std::vector< std::pair< double, AttachedTimerListener > > timerQueue_; - for( std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); - i != timerListeners_.end(); ++i ) - timerQueue_.push_back( std::make_pair( currentTimeMs + i->initialDelayMs, *i ) ); - std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); - - const int MAX_BUFFER_SIZE = 4098; - char *data = new char[ MAX_BUFFER_SIZE ]; - IpEndpointName remoteEndpoint; - - while( !break_ ){ - - double currentTimeMs = GetCurrentTimeMs(); - - DWORD waitTime = INFINITE; - if( !timerQueue_.empty() ){ - - waitTime = (DWORD)( timerQueue_.front().first >= currentTimeMs - ? timerQueue_.front().first - currentTimeMs - : 0 ); - } - - DWORD waitResult = WaitForMultipleObjects( (DWORD)socketListeners_.size() + 1, &events[0], FALSE, waitTime ); - if( break_ ) - break; - - if( waitResult != WAIT_TIMEOUT ){ - for( int i = waitResult - WAIT_OBJECT_0; i < (int)socketListeners_.size(); ++i ){ - int size = socketListeners_[i].second->ReceiveFrom( remoteEndpoint, data, MAX_BUFFER_SIZE ); - if( size > 0 ){ - socketListeners_[i].first->ProcessPacket( data, size, remoteEndpoint ); - if( break_ ) - break; - } - } - } - - // execute any expired timers - currentTimeMs = GetCurrentTimeMs(); - bool resort = false; - for( std::vector< std::pair< double, AttachedTimerListener > >::iterator i = timerQueue_.begin(); - i != timerQueue_.end() && i->first <= currentTimeMs; ++i ){ - - i->second.listener->TimerExpired(); - if( break_ ) - break; - - i->first += i->second.periodMs; - resort = true; - } - if( resort ) - std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); - } - - delete [] data; - - // free events - j = 0; - for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); - i != socketListeners_.end(); ++i, ++j ){ - - WSAEventSelect( i->second->impl_->Socket(), events[j], 0 ); // remove association between socket and event - CloseHandle( events[j] ); - unsigned long enableNonblocking = 0; - ioctlsocket( i->second->impl_->Socket(), FIONBIO, &enableNonblocking ); // make the socket blocking again - } - } - - void Break() - { - break_ = true; - } - - void AsynchronousBreak() - { - break_ = true; - SetEvent( breakEvent_ ); - } -}; - - - -SocketReceiveMultiplexer::SocketReceiveMultiplexer() -{ - impl_ = new Implementation(); -} - -SocketReceiveMultiplexer::~SocketReceiveMultiplexer() -{ - delete impl_; -} - -void SocketReceiveMultiplexer::AttachSocketListener( UdpSocket *socket, PacketListener *listener ) -{ - impl_->AttachSocketListener( socket, listener ); -} - -void SocketReceiveMultiplexer::DetachSocketListener( UdpSocket *socket, PacketListener *listener ) -{ - impl_->DetachSocketListener( socket, listener ); -} - -void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) -{ - impl_->AttachPeriodicTimerListener( periodMilliseconds, listener ); -} - -void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) -{ - impl_->AttachPeriodicTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ); -} - -void SocketReceiveMultiplexer::DetachPeriodicTimerListener( TimerListener *listener ) -{ - impl_->DetachPeriodicTimerListener( listener ); -} - -void SocketReceiveMultiplexer::Run() -{ - impl_->Run(); -} - -void SocketReceiveMultiplexer::RunUntilSigInt() -{ - assert( multiplexerInstanceToAbortWithSigInt_ == 0 ); /* at present we support only one multiplexer instance running until sig int */ - multiplexerInstanceToAbortWithSigInt_ = this; -#ifndef WINCE - signal( SIGINT, InterruptSignalHandler ); -#endif - impl_->Run(); -#ifndef WINCE - signal( SIGINT, SIG_DFL ); -#endif - multiplexerInstanceToAbortWithSigInt_ = 0; -} - -void SocketReceiveMultiplexer::Break() -{ - impl_->Break(); -} - -void SocketReceiveMultiplexer::AsynchronousBreak() -{ - impl_->AsynchronousBreak(); -} -#endif - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/MessageMappingOscPacketListener.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/MessageMappingOscPacketListener.h deleted file mode 100755 index ade00e5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/MessageMappingOscPacketListener.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_MESSAGEMAPPINGOSCPACKETLISTENER_H -#define INCLUDED_MESSAGEMAPPINGOSCPACKETLISTENER_H - -#include -#include - -#include "OscPacketListener.h" - - - -namespace osc{ - -template< class T > -class MessageMappingOscPacketListener : public OscPacketListener{ -public: - typedef void (T::*function_type)(const osc::ReceivedMessage&, const IpEndpointName&); - -protected: - void RegisterMessageFunction( const char *addressPattern, function_type f ) - { - functions_.insert( std::make_pair( addressPattern, f ) ); - } - - virtual void ProcessMessage( const osc::ReceivedMessage& m, - const IpEndpointName& remoteEndpoint ) - { - typename function_map_type::iterator i = functions_.find( m.AddressPattern() ); - if( i != functions_.end() ) - (dynamic_cast(this)->*(i->second))( m, remoteEndpoint ); - } - -private: - struct cstr_compare{ - bool operator()( const char *lhs, const char *rhs ) const - { return strcmp( lhs, rhs ) < 0; } - }; - - typedef std::map function_map_type; - function_map_type functions_; -}; - -} // namespace osc - -#endif /* INCLUDED_MESSAGEMAPPINGOSCPACKETLISTENER_H */ \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscException.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscException.h deleted file mode 100755 index 8a2d35e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscException.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_OSC_EXCEPTION_H -#define INCLUDED_OSC_EXCEPTION_H - -#include - -namespace osc{ - -class Exception : public std::exception { - const char *what_; - -public: - Exception() throw() {} - Exception( const Exception& src ) throw() - : what_( src.what_ ) {} - Exception( const char *w ) throw() - : what_( w ) {} - Exception& operator=( const Exception& src ) throw() - { what_ = src.what_; return *this; } - virtual ~Exception() throw() {} - virtual const char* what() const throw() { return what_; } -}; - -} // namespace osc - -#endif /* INCLUDED_OSC_EXCEPTION_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscHostEndianness.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscHostEndianness.h deleted file mode 100755 index 059ad0d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscHostEndianness.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef OSC_HOSTENDIANNESS_H -#define OSC_HOSTENDIANNESS_H - -/* - Make sure either OSC_HOST_LITTLE_ENDIAN or OSC_HOST_BIG_ENDIAN is defined - - If you know a way to enhance the detection below for Linux and/or MacOSX - please let me know! I've tried a few things which don't work. -*/ - -#define OSC_HOST_LITTLE_ENDIAN - -#if defined(OSC_HOST_LITTLE_ENDIAN) || defined(OSC_HOST_BIG_ENDIAN) - -// you can define one of the above symbols from the command line -// then you don't have to edit this file. - -#elif defined(__WIN32__) || defined(WIN32) || defined(WINCE) - -// assume that __WIN32__ is only defined on little endian systems - -#define OSC_HOST_LITTLE_ENDIAN 1 -#undef OSC_HOST_BIG_ENDIAN - -#elif defined(__APPLE__) - -#if defined(__LITTLE_ENDIAN__) - -#define OSC_HOST_LITTLE_ENDIAN 1 -#undef OSC_HOST_BIG_ENDIAN - -#elif defined(__BIG_ENDIAN__) - -#define OSC_HOST_BIG_ENDIAN 1 -#undef OSC_HOST_LITTLE_ENDIAN - -#endif - -#endif - -#if !defined(OSC_HOST_LITTLE_ENDIAN) && !defined(OSC_HOST_BIG_ENDIAN) - -#error please edit OSCHostEndianness.h to configure endianness - -#endif - -#endif /* OSC_HOSTENDIANNESS_H */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.cpp deleted file mode 100755 index fd324a5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.cpp +++ /dev/null @@ -1,639 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "OscOutboundPacketStream.h" - -#include -#include -#include - -#if defined(__WIN32__) || defined(WIN32) -#include // for alloca -#endif - -#include "OscHostEndianness.h" - - -namespace osc{ - -static void FromInt32( char *p, int32 x ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::int32 i; - char c[4]; - } u; - - u.i = x; - - p[3] = u.c[0]; - p[2] = u.c[1]; - p[1] = u.c[2]; - p[0] = u.c[3]; -#else - *reinterpret_cast(p) = x; -#endif -} - - -static void FromUInt32( char *p, uint32 x ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::uint32 i; - char c[4]; - } u; - - u.i = x; - - p[3] = u.c[0]; - p[2] = u.c[1]; - p[1] = u.c[2]; - p[0] = u.c[3]; -#else - *reinterpret_cast(p) = x; -#endif -} - - -static void FromInt64( char *p, int64 x ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::int64 i; - char c[8]; - } u; - - u.i = x; - - p[7] = u.c[0]; - p[6] = u.c[1]; - p[5] = u.c[2]; - p[4] = u.c[3]; - p[3] = u.c[4]; - p[2] = u.c[5]; - p[1] = u.c[6]; - p[0] = u.c[7]; -#else - *reinterpret_cast(p) = x; -#endif -} - - -static void FromUInt64( char *p, uint64 x ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::uint64 i; - char c[8]; - } u; - - u.i = x; - - p[7] = u.c[0]; - p[6] = u.c[1]; - p[5] = u.c[2]; - p[4] = u.c[3]; - p[3] = u.c[4]; - p[2] = u.c[5]; - p[1] = u.c[6]; - p[0] = u.c[7]; -#else - *reinterpret_cast(p) = x; -#endif -} - - -static inline long RoundUp4( long x ) -{ - return ((x-1) & (~0x03L)) + 4; -} - - -OutboundPacketStream::OutboundPacketStream( char *buffer, unsigned long capacity ) - : data_( buffer ) - , end_( data_ + capacity ) - , typeTagsCurrent_( end_ ) - , messageCursor_( data_ ) - , argumentCurrent_( data_ ) - , elementSizePtr_( 0 ) - , messageIsInProgress_( false ) -{ - -} - - -OutboundPacketStream::~OutboundPacketStream() -{ - -} - - -char *OutboundPacketStream::BeginElement( char *beginPtr ) -{ - if( elementSizePtr_ == 0 ){ - - elementSizePtr_ = reinterpret_cast(data_); - - return beginPtr; - - }else{ - // store an offset to the old element size ptr in the element size slot - // we store an offset rather than the actual pointer to be 64 bit clean. - *reinterpret_cast(beginPtr) = - (uint32)(reinterpret_cast(elementSizePtr_) - data_); - - elementSizePtr_ = reinterpret_cast(beginPtr); - - return beginPtr + 4; - } -} - - -void OutboundPacketStream::EndElement( char *endPtr ) -{ - assert( elementSizePtr_ != 0 ); - - if( elementSizePtr_ == reinterpret_cast(data_) ){ - - elementSizePtr_ = 0; - - }else{ - // while building an element, an offset to the containing element's - // size slot is stored in the elements size slot (or a ptr to data_ - // if there is no containing element). We retrieve that here - uint32 *previousElementSizePtr = - (uint32*)(data_ + *reinterpret_cast(elementSizePtr_)); - - // then we store the element size in the slot, note that the element - // size does not include the size slot, hence the - 4 below. - uint32 elementSize = - (endPtr - reinterpret_cast(elementSizePtr_)) - 4; - FromUInt32( reinterpret_cast(elementSizePtr_), elementSize ); - - // finally, we reset the element size ptr to the containing element - elementSizePtr_ = previousElementSizePtr; - } -} - - -bool OutboundPacketStream::ElementSizeSlotRequired() const -{ - return (elementSizePtr_ != 0); -} - - -void OutboundPacketStream::CheckForAvailableBundleSpace() -{ - unsigned long required = Size() + ((ElementSizeSlotRequired())?4:0) + 16; - - if( required > Capacity() ) - throw OutOfBufferMemoryException(); -} - - -void OutboundPacketStream::CheckForAvailableMessageSpace( const char *addressPattern ) -{ - // plus 4 for at least four bytes of type tag - unsigned long required = Size() + ((ElementSizeSlotRequired())?4:0) - + RoundUp4(strlen(addressPattern) + 1) + 4; - - if( required > Capacity() ) - throw OutOfBufferMemoryException(); -} - - -void OutboundPacketStream::CheckForAvailableArgumentSpace( long argumentLength ) -{ - // plus three for extra type tag, comma and null terminator - unsigned long required = (argumentCurrent_ - data_) + argumentLength - + RoundUp4( (end_ - typeTagsCurrent_) + 3 ); - - if( required > Capacity() ) - throw OutOfBufferMemoryException(); -} - - -void OutboundPacketStream::Clear() -{ - typeTagsCurrent_ = end_; - messageCursor_ = data_; - argumentCurrent_ = data_; - elementSizePtr_ = 0; - messageIsInProgress_ = false; -} - - -unsigned int OutboundPacketStream::Capacity() const -{ - return end_ - data_; -} - - -unsigned int OutboundPacketStream::Size() const -{ - unsigned int result = argumentCurrent_ - data_; - if( IsMessageInProgress() ){ - // account for the length of the type tag string. the total type tag - // includes an initial comma, plus at least one terminating \0 - result += RoundUp4( (end_ - typeTagsCurrent_) + 2 ); - } - - return result; -} - - -const char *OutboundPacketStream::Data() const -{ - return data_; -} - - -bool OutboundPacketStream::IsReady() const -{ - return (!IsMessageInProgress() && !IsBundleInProgress()); -} - - -bool OutboundPacketStream::IsMessageInProgress() const -{ - return messageIsInProgress_; -} - - -bool OutboundPacketStream::IsBundleInProgress() const -{ - return (elementSizePtr_ != 0); -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const BundleInitiator& rhs ) -{ - if( IsMessageInProgress() ) - throw MessageInProgressException(); - - CheckForAvailableBundleSpace(); - - messageCursor_ = BeginElement( messageCursor_ ); - - memcpy( messageCursor_, "#bundle\0", 8 ); - FromUInt64( messageCursor_ + 8, rhs.timeTag ); - - messageCursor_ += 16; - argumentCurrent_ = messageCursor_; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const BundleTerminator& rhs ) -{ - (void) rhs; - - if( !IsBundleInProgress() ) - throw BundleNotInProgressException(); - if( IsMessageInProgress() ) - throw MessageInProgressException(); - - EndElement( messageCursor_ ); - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const BeginMessage& rhs ) -{ - if( IsMessageInProgress() ) - throw MessageInProgressException(); - - CheckForAvailableMessageSpace( rhs.addressPattern ); - - messageCursor_ = BeginElement( messageCursor_ ); - - strcpy( messageCursor_, rhs.addressPattern ); - unsigned long rhsLength = strlen(rhs.addressPattern); - messageCursor_ += rhsLength + 1; - - // zero pad to 4-byte boundary - unsigned long i = rhsLength + 1; - while( i & 0x3 ){ - *messageCursor_++ = '\0'; - ++i; - } - - argumentCurrent_ = messageCursor_; - typeTagsCurrent_ = end_; - - messageIsInProgress_ = true; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const MessageTerminator& rhs ) -{ - (void) rhs; - - if( !IsMessageInProgress() ) - throw MessageNotInProgressException(); - - int typeTagsCount = end_ - typeTagsCurrent_; - - if( typeTagsCount ){ - - char *tempTypeTags = (char*)alloca(typeTagsCount); - memcpy( tempTypeTags, typeTagsCurrent_, typeTagsCount ); - - // slot size includes comma and null terminator - int typeTagSlotSize = RoundUp4( typeTagsCount + 2 ); - - uint32 argumentsSize = argumentCurrent_ - messageCursor_; - - memmove( messageCursor_ + typeTagSlotSize, messageCursor_, argumentsSize ); - - messageCursor_[0] = ','; - // copy type tags in reverse (really forward) order - for( int i=0; i < typeTagsCount; ++i ) - messageCursor_[i+1] = tempTypeTags[ (typeTagsCount-1) - i ]; - - char *p = messageCursor_ + 1 + typeTagsCount; - for( int i=0; i < (typeTagSlotSize - (typeTagsCount + 1)); ++i ) - *p++ = '\0'; - - typeTagsCurrent_ = end_; - - // advance messageCursor_ for next message - messageCursor_ += typeTagSlotSize + argumentsSize; - - }else{ - // send an empty type tags string - memcpy( messageCursor_, ",\0\0\0", 4 ); - - // advance messageCursor_ for next message - messageCursor_ += 4; - } - - argumentCurrent_ = messageCursor_; - - EndElement( messageCursor_ ); - - messageIsInProgress_ = false; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( bool rhs ) -{ - CheckForAvailableArgumentSpace(0); - - *(--typeTagsCurrent_) = (char)((rhs) ? TRUE_TYPE_TAG : FALSE_TYPE_TAG); - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const NilType& rhs ) -{ - (void) rhs; - CheckForAvailableArgumentSpace(0); - - *(--typeTagsCurrent_) = NIL_TYPE_TAG; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const InfinitumType& rhs ) -{ - (void) rhs; - CheckForAvailableArgumentSpace(0); - - *(--typeTagsCurrent_) = INFINITUM_TYPE_TAG; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( int32 rhs ) -{ - CheckForAvailableArgumentSpace(4); - - *(--typeTagsCurrent_) = INT32_TYPE_TAG; - FromInt32( argumentCurrent_, rhs ); - argumentCurrent_ += 4; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( float rhs ) -{ - CheckForAvailableArgumentSpace(4); - - *(--typeTagsCurrent_) = FLOAT_TYPE_TAG; - -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - float f; - char c[4]; - } u; - - u.f = rhs; - - argumentCurrent_[3] = u.c[0]; - argumentCurrent_[2] = u.c[1]; - argumentCurrent_[1] = u.c[2]; - argumentCurrent_[0] = u.c[3]; -#else - *reinterpret_cast(argumentCurrent_) = rhs; -#endif - - argumentCurrent_ += 4; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( char rhs ) -{ - CheckForAvailableArgumentSpace(4); - - *(--typeTagsCurrent_) = CHAR_TYPE_TAG; - FromInt32( argumentCurrent_, rhs ); - argumentCurrent_ += 4; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const RgbaColor& rhs ) -{ - CheckForAvailableArgumentSpace(4); - - *(--typeTagsCurrent_) = RGBA_COLOR_TYPE_TAG; - FromUInt32( argumentCurrent_, rhs ); - argumentCurrent_ += 4; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const MidiMessage& rhs ) -{ - CheckForAvailableArgumentSpace(4); - - *(--typeTagsCurrent_) = MIDI_MESSAGE_TYPE_TAG; - FromUInt32( argumentCurrent_, rhs ); - argumentCurrent_ += 4; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( int64 rhs ) -{ - CheckForAvailableArgumentSpace(8); - - *(--typeTagsCurrent_) = INT64_TYPE_TAG; - FromInt64( argumentCurrent_, rhs ); - argumentCurrent_ += 8; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const TimeTag& rhs ) -{ - CheckForAvailableArgumentSpace(8); - - *(--typeTagsCurrent_) = TIME_TAG_TYPE_TAG; - FromUInt64( argumentCurrent_, rhs ); - argumentCurrent_ += 8; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( double rhs ) -{ - CheckForAvailableArgumentSpace(8); - - *(--typeTagsCurrent_) = DOUBLE_TYPE_TAG; - -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - double f; - char c[8]; - } u; - - u.f = rhs; - - argumentCurrent_[7] = u.c[0]; - argumentCurrent_[6] = u.c[1]; - argumentCurrent_[5] = u.c[2]; - argumentCurrent_[4] = u.c[3]; - argumentCurrent_[3] = u.c[4]; - argumentCurrent_[2] = u.c[5]; - argumentCurrent_[1] = u.c[6]; - argumentCurrent_[0] = u.c[7]; -#else - *reinterpret_cast(argumentCurrent_) = rhs; -#endif - - argumentCurrent_ += 8; - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const char *rhs ) -{ - CheckForAvailableArgumentSpace( RoundUp4(strlen(rhs) + 1) ); - - *(--typeTagsCurrent_) = STRING_TYPE_TAG; - strcpy( argumentCurrent_, rhs ); - unsigned long rhsLength = strlen(rhs); - argumentCurrent_ += rhsLength + 1; - - // zero pad to 4-byte boundary - unsigned long i = rhsLength + 1; - while( i & 0x3 ){ - *argumentCurrent_++ = '\0'; - ++i; - } - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const Symbol& rhs ) -{ - CheckForAvailableArgumentSpace( RoundUp4(strlen(rhs) + 1) ); - - *(--typeTagsCurrent_) = SYMBOL_TYPE_TAG; - strcpy( argumentCurrent_, rhs ); - unsigned long rhsLength = strlen(rhs); - argumentCurrent_ += rhsLength + 1; - - // zero pad to 4-byte boundary - unsigned long i = rhsLength + 1; - while( i & 0x3 ){ - *argumentCurrent_++ = '\0'; - ++i; - } - - return *this; -} - - -OutboundPacketStream& OutboundPacketStream::operator<<( const Blob& rhs ) -{ - CheckForAvailableArgumentSpace( 4 + RoundUp4(rhs.size) ); - - *(--typeTagsCurrent_) = BLOB_TYPE_TAG; - FromUInt32( argumentCurrent_, rhs.size ); - argumentCurrent_ += 4; - - memcpy( argumentCurrent_, rhs.data, rhs.size ); - argumentCurrent_ += rhs.size; - - // zero pad to 4-byte boundary - unsigned long i = rhs.size; - while( i & 0x3 ){ - *argumentCurrent_++ = '\0'; - ++i; - } - - return *this; -} - -} // namespace osc - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.h deleted file mode 100755 index cae5405..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_OSCOUTBOUNDPACKET_H -#define INCLUDED_OSCOUTBOUNDPACKET_H - -#include "OscTypes.h" -#include "OscException.h" - - -namespace osc{ - -class OutOfBufferMemoryException : public Exception{ -public: - OutOfBufferMemoryException( const char *w="out of buffer memory" ) - : Exception( w ) {} -}; - -class BundleNotInProgressException : public Exception{ -public: - BundleNotInProgressException( - const char *w="call to EndBundle when bundle is not in progress" ) - : Exception( w ) {} -}; - -class MessageInProgressException : public Exception{ -public: - MessageInProgressException( - const char *w="opening or closing bundle or message while message is in progress" ) - : Exception( w ) {} -}; - -class MessageNotInProgressException : public Exception{ -public: - MessageNotInProgressException( - const char *w="call to EndMessage when message is not in progress" ) - : Exception( w ) {} -}; - - -class OutboundPacketStream{ -public: - OutboundPacketStream( char *buffer, unsigned long capacity ); - ~OutboundPacketStream(); - - void Clear(); - - unsigned int Capacity() const; - - // invariant: size() is valid even while building a message. - unsigned int Size() const; - - const char *Data() const; - - // indicates that all messages have been closed with a matching EndMessage - // and all bundles have been closed with a matching EndBundle - bool IsReady() const; - - bool IsMessageInProgress() const; - bool IsBundleInProgress() const; - - OutboundPacketStream& operator<<( const BundleInitiator& rhs ); - OutboundPacketStream& operator<<( const BundleTerminator& rhs ); - - OutboundPacketStream& operator<<( const BeginMessage& rhs ); - OutboundPacketStream& operator<<( const MessageTerminator& rhs ); - - OutboundPacketStream& operator<<( bool rhs ); - OutboundPacketStream& operator<<( const NilType& rhs ); - OutboundPacketStream& operator<<( const InfinitumType& rhs ); - OutboundPacketStream& operator<<( int32 rhs ); - -#ifndef __x86_64__ - OutboundPacketStream& operator<<( int rhs ) - { *this << (int32)rhs; return *this; } -#endif - - OutboundPacketStream& operator<<( float rhs ); - OutboundPacketStream& operator<<( char rhs ); - OutboundPacketStream& operator<<( const RgbaColor& rhs ); - OutboundPacketStream& operator<<( const MidiMessage& rhs ); - OutboundPacketStream& operator<<( int64 rhs ); - OutboundPacketStream& operator<<( const TimeTag& rhs ); - OutboundPacketStream& operator<<( double rhs ); - OutboundPacketStream& operator<<( const char* rhs ); - OutboundPacketStream& operator<<( const Symbol& rhs ); - OutboundPacketStream& operator<<( const Blob& rhs ); - -private: - - char *BeginElement( char *beginPtr ); - void EndElement( char *endPtr ); - - bool ElementSizeSlotRequired() const; - void CheckForAvailableBundleSpace(); - void CheckForAvailableMessageSpace( const char *addressPattern ); - void CheckForAvailableArgumentSpace( long argumentLength ); - - char *data_; - char *end_; - - char *typeTagsCurrent_; // stored in reverse order - char *messageCursor_; - char *argumentCurrent_; - - // elementSizePtr_ has two special values: 0 indicates that a bundle - // isn't open, and elementSizePtr_==data_ indicates that a bundle is - // open but that it doesn't have a size slot (ie the outermost bundle) - uint32 *elementSizePtr_; - - bool messageIsInProgress_; -}; - -} // namespace osc - -#endif /* INCLUDED_OSC_OUTBOUND_PACKET_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPacketListener.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPacketListener.h deleted file mode 100755 index b2d1981..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPacketListener.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_OSCPACKETLISTENER_H -#define INCLUDED_OSCPACKETLISTENER_H - -#include "OscReceivedElements.h" -#include "../ip/PacketListener.h" - - -namespace osc{ - -class OscPacketListener : public PacketListener{ -protected: - virtual void ProcessBundle( const osc::ReceivedBundle& b, - const IpEndpointName& remoteEndpoint ) - { - // ignore bundle time tag for now - - for( ReceivedBundle::const_iterator i = b.ElementsBegin(); - i != b.ElementsEnd(); ++i ){ - if( i->IsBundle() ) - ProcessBundle( ReceivedBundle(*i), remoteEndpoint ); - else - ProcessMessage( ReceivedMessage(*i), remoteEndpoint ); - } - } - - virtual void ProcessMessage( const osc::ReceivedMessage& m, - const IpEndpointName& remoteEndpoint ) = 0; - -public: - virtual void ProcessPacket( const char *data, int size, - const IpEndpointName& remoteEndpoint ) - { - osc::ReceivedPacket p( data, size ); - if( p.IsBundle() ) - ProcessBundle( ReceivedBundle(p), remoteEndpoint ); - else - ProcessMessage( ReceivedMessage(p), remoteEndpoint ); - } -}; - -} // namespace osc - -#endif /* INCLUDED_OSCPACKETLISTENER_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.cpp deleted file mode 100755 index bddafd9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.cpp +++ /dev/null @@ -1,244 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "OscPrintReceivedElements.h" - -#include -#include -#include -#include - - -namespace osc{ - - -std::ostream& operator<<( std::ostream & os, - const ReceivedMessageArgument& arg ) -{ - switch( arg.TypeTag() ){ - case TRUE_TYPE_TAG: - os << "bool:true"; - break; - - case FALSE_TYPE_TAG: - os << "bool:false"; - break; - - case NIL_TYPE_TAG: - os << "(Nil)"; - break; - - case INFINITUM_TYPE_TAG: - os << "(Infinitum)"; - break; - - case INT32_TYPE_TAG: - os << "int32:" << arg.AsInt32Unchecked(); - break; - - case FLOAT_TYPE_TAG: - os << "float32:" << arg.AsFloatUnchecked(); - break; - - case CHAR_TYPE_TAG: - { - char s[2] = {0}; - s[0] = arg.AsCharUnchecked(); - os << "char:'" << s << "'"; - } - break; - - case RGBA_COLOR_TYPE_TAG: - { - uint32 color = arg.AsRgbaColorUnchecked(); - - os << "RGBA:0x" - << std::hex << std::setfill('0') - << std::setw(2) << (int)((color>>24) & 0xFF) - << std::setw(2) << (int)((color>>16) & 0xFF) - << std::setw(2) << (int)((color>>8) & 0xFF) - << std::setw(2) << (int)(color & 0xFF) - << std::setfill(' '); - os.unsetf(std::ios::basefield); - } - break; - - case MIDI_MESSAGE_TYPE_TAG: - { - uint32 m = arg.AsMidiMessageUnchecked(); - os << "midi (port, status, data1, data2):<<" - << std::hex << std::setfill('0') - << "0x" << std::setw(2) << (int)((m>>24) & 0xFF) - << " 0x" << std::setw(2) << (int)((m>>16) & 0xFF) - << " 0x" << std::setw(2) << (int)((m>>8) & 0xFF) - << " 0x" << std::setw(2) << (int)(m & 0xFF) - << std::setfill(' ') << ">>"; - os.unsetf(std::ios::basefield); - } - break; - - case INT64_TYPE_TAG: - os << "int64:" << arg.AsInt64Unchecked(); - break; - - case TIME_TAG_TYPE_TAG: - { - os << "OSC-timetag:" << arg.AsTimeTagUnchecked(); - - std::time_t t = - (unsigned long)( arg.AsTimeTagUnchecked() >> 32 ); - - // strip trailing newline from string returned by ctime - const char *timeString = std::ctime( &t ); - size_t len = strlen( timeString ); - char *s = new char[ len + 1 ]; - strcpy( s, timeString ); - if( len ) - s[ len - 1 ] = '\0'; - - os << " " << s; - } - break; - - case DOUBLE_TYPE_TAG: - os << "double:" << arg.AsDoubleUnchecked(); - break; - - case STRING_TYPE_TAG: - os << "OSC-string:`" << arg.AsStringUnchecked() << "'"; - break; - - case SYMBOL_TYPE_TAG: - os << "OSC-string (symbol):`" << arg.AsSymbolUnchecked() << "'"; - break; - - case BLOB_TYPE_TAG: - { - unsigned long size; - const void *data; - arg.AsBlobUnchecked( data, size ); - os << "OSC-blob:<<" << std::hex << std::setfill('0'); - unsigned char *p = (unsigned char*)data; - for( unsigned long i = 0; i < size; ++i ){ - os << "0x" << std::setw(2) << int(p[i]); - if( i != size-1 ) - os << ' '; - } - os.unsetf(std::ios::basefield); - os << ">>" << std::setfill(' '); - } - break; - - default: - os << "unknown"; - } - - return os; -} - - -std::ostream& operator<<( std::ostream & os, const ReceivedMessage& m ) -{ - os << "["; - if( m.AddressPatternIsUInt32() ) - os << m.AddressPatternAsUInt32(); - else - os << m.AddressPattern(); - - bool first = true; - for( ReceivedMessage::const_iterator i = m.ArgumentsBegin(); - i != m.ArgumentsEnd(); ++i ){ - if( first ){ - os << " "; - first = false; - }else{ - os << ", "; - } - - os << *i; - } - - os << "]"; - - return os; -} - - -std::ostream& operator<<( std::ostream & os, const ReceivedBundle& b ) -{ - static int indent = 0; - - for( int j=0; j < indent; ++j ) - os << " "; - os << "{ ( "; - if( b.TimeTag() == 1 ) - os << "immediate"; - else - os << b.TimeTag(); - os << " )\n"; - - ++indent; - - for( ReceivedBundle::const_iterator i = b.ElementsBegin(); - i != b.ElementsEnd(); ++i ){ - if( i->IsBundle() ){ - ReceivedBundle b(*i); - os << b << "\n"; - }else{ - ReceivedMessage m(*i); - for( int j=0; j < indent; ++j ) - os << " "; - os << m << "\n"; - } - } - - --indent; - - for( int j=0; j < indent; ++j ) - os << " "; - os << "}"; - - return os; -} - - -std::ostream& operator<<( std::ostream & os, const ReceivedPacket& p ) -{ - if( p.IsBundle() ){ - ReceivedBundle b(p); - os << b << "\n"; - }else{ - ReceivedMessage m(p); - os << m << "\n"; - } - - return os; -} - -} // namespace osc diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.h deleted file mode 100755 index 7ec747c..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_OSCPRINTRECEIVEDELEMENTS_H -#define INCLUDED_OSCPRINTRECEIVEDELEMENTS_H - -#include - -#ifndef INCLUDED_OSCRECEIVEDELEMENTS_H -#include "OscReceivedElements.h" -#endif /* INCLUDED_OSCRECEIVEDELEMENTS_H */ - - -namespace osc{ - -std::ostream& operator<<( std::ostream & os, const ReceivedPacket& p ); -std::ostream& operator<<( std::ostream & os, const ReceivedMessageArgument& arg ); -std::ostream& operator<<( std::ostream & os, const ReceivedMessage& m ); -std::ostream& operator<<( std::ostream & os, const ReceivedBundle& b ); - -} // namespace osc - -#endif /* INCLUDED_OSCPRINTRECEIVEDELEMENTS_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.cpp deleted file mode 100755 index e1c5de1..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.cpp +++ /dev/null @@ -1,722 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "OscReceivedElements.h" - -#include - -#include "OscHostEndianness.h" - - -namespace osc{ - - -// return the first 4 byte boundary after the end of a str4 -// be careful about calling this version if you don't know whether -// the string is terminated correctly. -static inline const char* FindStr4End( const char *p ) -{ - if( p[0] == '\0' ) // special case for SuperCollider integer address pattern - return p + 4; - - p += 3; - - while( *p ) - p += 4; - - return p + 1; -} - - -// return the first 4 byte boundary after the end of a str4 -// returns 0 if p == end or if the string is unterminated -static inline const char* FindStr4End( const char *p, const char *end ) -{ - if( p >= end ) - return 0; - - if( p[0] == '\0' ) // special case for SuperCollider integer address pattern - return p + 4; - - p += 3; - end -= 1; - - while( p < end && *p ) - p += 4; - - if( *p ) - return 0; - else - return p + 1; -} - - -static inline unsigned long RoundUp4( unsigned long x ) -{ - unsigned long remainder = x & 0x3UL; - if( remainder ) - return x + (4 - remainder); - else - return x; -} - - -static inline int32 ToInt32( const char *p ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::int32 i; - char c[4]; - } u; - - u.c[0] = p[3]; - u.c[1] = p[2]; - u.c[2] = p[1]; - u.c[3] = p[0]; - - return u.i; -#else - return *(int32*)p; -#endif -} - - -static inline uint32 ToUInt32( const char *p ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::uint32 i; - char c[4]; - } u; - - u.c[0] = p[3]; - u.c[1] = p[2]; - u.c[2] = p[1]; - u.c[3] = p[0]; - - return u.i; -#else - return *(uint32*)p; -#endif -} - - -int64 ToInt64( const char *p ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::int64 i; - char c[8]; - } u; - - u.c[0] = p[7]; - u.c[1] = p[6]; - u.c[2] = p[5]; - u.c[3] = p[4]; - u.c[4] = p[3]; - u.c[5] = p[2]; - u.c[6] = p[1]; - u.c[7] = p[0]; - - return u.i; -#else - return *(int64*)p; -#endif -} - - -uint64 ToUInt64( const char *p ) -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::uint64 i; - char c[8]; - } u; - - u.c[0] = p[7]; - u.c[1] = p[6]; - u.c[2] = p[5]; - u.c[3] = p[4]; - u.c[4] = p[3]; - u.c[5] = p[2]; - u.c[6] = p[1]; - u.c[7] = p[0]; - - return u.i; -#else - return *(uint64*)p; -#endif -} - -//------------------------------------------------------------------------------ - -bool ReceivedPacket::IsBundle() const -{ - return (Size() > 0 && Contents()[0] == '#'); -} - -//------------------------------------------------------------------------------ - -bool ReceivedBundleElement::IsBundle() const -{ - return (Size() > 0 && Contents()[0] == '#'); -} - - -int32 ReceivedBundleElement::Size() const -{ - return ToUInt32( size_ ); -} - -//------------------------------------------------------------------------------ - -bool ReceivedMessageArgument::AsBool() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == TRUE_TYPE_TAG ) - return true; - else if( *typeTag_ == FALSE_TYPE_TAG ) - return false; - else - throw WrongArgumentTypeException(); -} - - -bool ReceivedMessageArgument::AsBoolUnchecked() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == TRUE_TYPE_TAG ) - return true; - else - return false; -} - - -int32 ReceivedMessageArgument::AsInt32() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == INT32_TYPE_TAG ) - return AsInt32Unchecked(); - else - throw WrongArgumentTypeException(); -} - - -int32 ReceivedMessageArgument::AsInt32Unchecked() const -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - osc::int32 i; - char c[4]; - } u; - - u.c[0] = argument_[3]; - u.c[1] = argument_[2]; - u.c[2] = argument_[1]; - u.c[3] = argument_[0]; - - return u.i; -#else - return *(int32*)argument_; -#endif -} - - -float ReceivedMessageArgument::AsFloat() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == FLOAT_TYPE_TAG ) - return AsFloatUnchecked(); - else - throw WrongArgumentTypeException(); -} - - -float ReceivedMessageArgument::AsFloatUnchecked() const -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - float f; - char c[4]; - } u; - - u.c[0] = argument_[3]; - u.c[1] = argument_[2]; - u.c[2] = argument_[1]; - u.c[3] = argument_[0]; - - return u.f; -#else - return *(float*)argument_; -#endif -} - - -char ReceivedMessageArgument::AsChar() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == CHAR_TYPE_TAG ) - return AsCharUnchecked(); - else - throw WrongArgumentTypeException(); -} - - -char ReceivedMessageArgument::AsCharUnchecked() const -{ - return (char)ToInt32( argument_ ); -} - - -uint32 ReceivedMessageArgument::AsRgbaColor() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == RGBA_COLOR_TYPE_TAG ) - return AsRgbaColorUnchecked(); - else - throw WrongArgumentTypeException(); -} - - -uint32 ReceivedMessageArgument::AsRgbaColorUnchecked() const -{ - return ToUInt32( argument_ ); -} - - -uint32 ReceivedMessageArgument::AsMidiMessage() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == MIDI_MESSAGE_TYPE_TAG ) - return AsMidiMessageUnchecked(); - else - throw WrongArgumentTypeException(); -} - - -uint32 ReceivedMessageArgument::AsMidiMessageUnchecked() const -{ - return ToUInt32( argument_ ); -} - - -int64 ReceivedMessageArgument::AsInt64() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == INT64_TYPE_TAG ) - return AsInt64Unchecked(); - else - throw WrongArgumentTypeException(); -} - - -int64 ReceivedMessageArgument::AsInt64Unchecked() const -{ - return ToInt64( argument_ ); -} - - -uint64 ReceivedMessageArgument::AsTimeTag() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == TIME_TAG_TYPE_TAG ) - return AsTimeTagUnchecked(); - else - throw WrongArgumentTypeException(); -} - - -uint64 ReceivedMessageArgument::AsTimeTagUnchecked() const -{ - return ToUInt64( argument_ ); -} - - -double ReceivedMessageArgument::AsDouble() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == DOUBLE_TYPE_TAG ) - return AsDoubleUnchecked(); - else - throw WrongArgumentTypeException(); -} - - -double ReceivedMessageArgument::AsDoubleUnchecked() const -{ -#ifdef OSC_HOST_LITTLE_ENDIAN - union{ - double d; - char c[8]; - } u; - - u.c[0] = argument_[7]; - u.c[1] = argument_[6]; - u.c[2] = argument_[5]; - u.c[3] = argument_[4]; - u.c[4] = argument_[3]; - u.c[5] = argument_[2]; - u.c[6] = argument_[1]; - u.c[7] = argument_[0]; - - return u.d; -#else - return *(double*)argument_; -#endif -} - - -const char* ReceivedMessageArgument::AsString() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == STRING_TYPE_TAG ) - return argument_; - else - throw WrongArgumentTypeException(); -} - - -const char* ReceivedMessageArgument::AsSymbol() const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == SYMBOL_TYPE_TAG ) - return argument_; - else - throw WrongArgumentTypeException(); -} - - -void ReceivedMessageArgument::AsBlob( const void*& data, unsigned long& size ) const -{ - if( !typeTag_ ) - throw MissingArgumentException(); - else if( *typeTag_ == BLOB_TYPE_TAG ) - AsBlobUnchecked( data, size ); - else - throw WrongArgumentTypeException(); -} - - -void ReceivedMessageArgument::AsBlobUnchecked( const void*& data, unsigned long& size ) const -{ - size = ToUInt32( argument_ ); - data = (void*)(argument_+4); -} - -//------------------------------------------------------------------------------ - -void ReceivedMessageArgumentIterator::Advance() -{ - if( !value_.typeTag_ ) - return; - - switch( *value_.typeTag_++ ){ - case '\0': - // don't advance past end - --value_.typeTag_; - break; - - case TRUE_TYPE_TAG: - case FALSE_TYPE_TAG: - case NIL_TYPE_TAG: - case INFINITUM_TYPE_TAG: - - // zero length - break; - - case INT32_TYPE_TAG: - case FLOAT_TYPE_TAG: - case CHAR_TYPE_TAG: - case RGBA_COLOR_TYPE_TAG: - case MIDI_MESSAGE_TYPE_TAG: - - value_.argument_ += 4; - break; - - case INT64_TYPE_TAG: - case TIME_TAG_TYPE_TAG: - case DOUBLE_TYPE_TAG: - - value_.argument_ += 8; - break; - - case STRING_TYPE_TAG: - case SYMBOL_TYPE_TAG: - - // we use the unsafe function FindStr4End(char*) here because all of - // the arguments have already been validated in - // ReceivedMessage::Init() below. - - value_.argument_ = FindStr4End( value_.argument_ ); - break; - - case BLOB_TYPE_TAG: - { - uint32 blobSize = ToUInt32( value_.argument_ ); - value_.argument_ = value_.argument_ + 4 + RoundUp4( (unsigned long)blobSize ); - } - break; - - default: // unknown type tag - // don't advance - --value_.typeTag_; - break; - - - // not handled: - // [ Indicates the beginning of an array. The tags following are for - // data in the Array until a close brace tag is reached. - // ] Indicates the end of an array. - } -} - -//------------------------------------------------------------------------------ - -ReceivedMessage::ReceivedMessage( const ReceivedPacket& packet ) - : addressPattern_( packet.Contents() ) -{ - Init( packet.Contents(), packet.Size() ); -} - - -ReceivedMessage::ReceivedMessage( const ReceivedBundleElement& bundleElement ) - : addressPattern_( bundleElement.Contents() ) -{ - Init( bundleElement.Contents(), bundleElement.Size() ); -} - - -bool ReceivedMessage::AddressPatternIsUInt32() const -{ - return (addressPattern_[0] == '\0'); -} - - -uint32 ReceivedMessage::AddressPatternAsUInt32() const -{ - return ToUInt32( addressPattern_ ); -} - - -void ReceivedMessage::Init( const char *message, unsigned long size ) -{ - if( size == 0 ) - throw MalformedMessageException( "zero length messages not permitted" ); - - if( (size & 0x03L) != 0 ) - throw MalformedMessageException( "message size must be multiple of four" ); - - const char *end = message + size; - - typeTagsBegin_ = FindStr4End( addressPattern_, end ); - if( typeTagsBegin_ == 0 ){ - // address pattern was not terminated before end - throw MalformedMessageException( "unterminated address pattern" ); - } - - if( typeTagsBegin_ == end ){ - // message consists of only the address pattern - no arguments or type tags. - typeTagsBegin_ = 0; - typeTagsEnd_ = 0; - arguments_ = 0; - - }else{ - if( *typeTagsBegin_ != ',' ) - throw MalformedMessageException( "type tags not present" ); - - if( *(typeTagsBegin_ + 1) == '\0' ){ - // zero length type tags - typeTagsBegin_ = 0; - typeTagsEnd_ = 0; - arguments_ = 0; - - }else{ - // check that all arguments are present and well formed - - arguments_ = FindStr4End( typeTagsBegin_, end ); - if( arguments_ == 0 ){ - throw MalformedMessageException( "type tags were not terminated before end of message" ); - } - - ++typeTagsBegin_; // advance past initial ',' - - const char *typeTag = typeTagsBegin_; - const char *argument = arguments_; - - do{ - switch( *typeTag ){ - case TRUE_TYPE_TAG: - case FALSE_TYPE_TAG: - case NIL_TYPE_TAG: - case INFINITUM_TYPE_TAG: - - // zero length - break; - - case INT32_TYPE_TAG: - case FLOAT_TYPE_TAG: - case CHAR_TYPE_TAG: - case RGBA_COLOR_TYPE_TAG: - case MIDI_MESSAGE_TYPE_TAG: - - if( argument == end ) - throw MalformedMessageException( "arguments exceed message size" ); - argument += 4; - if( argument > end ) - throw MalformedMessageException( "arguments exceed message size" ); - break; - - case INT64_TYPE_TAG: - case TIME_TAG_TYPE_TAG: - case DOUBLE_TYPE_TAG: - - if( argument == end ) - throw MalformedMessageException( "arguments exceed message size" ); - argument += 8; - if( argument > end ) - throw MalformedMessageException( "arguments exceed message size" ); - break; - - case STRING_TYPE_TAG: - case SYMBOL_TYPE_TAG: - - if( argument == end ) - throw MalformedMessageException( "arguments exceed message size" ); - argument = FindStr4End( argument, end ); - if( argument == 0 ) - throw MalformedMessageException( "unterminated string argument" ); - break; - - case BLOB_TYPE_TAG: - { - if( argument + 4 > end ) - MalformedMessageException( "arguments exceed message size" ); - - uint32 blobSize = ToUInt32( argument ); - argument = argument + 4 + RoundUp4( (unsigned long)blobSize ); - if( argument > end ) - MalformedMessageException( "arguments exceed message size" ); - } - break; - - default: - throw MalformedMessageException( "unknown type tag" ); - - // not handled: - // [ Indicates the beginning of an array. The tags following are for - // data in the Array until a close brace tag is reached. - // ] Indicates the end of an array. - } - - }while( *++typeTag != '\0' ); - typeTagsEnd_ = typeTag; - } - } -} - -//------------------------------------------------------------------------------ - -ReceivedBundle::ReceivedBundle( const ReceivedPacket& packet ) - : elementCount_( 0 ) -{ - Init( packet.Contents(), packet.Size() ); -} - - -ReceivedBundle::ReceivedBundle( const ReceivedBundleElement& bundleElement ) - : elementCount_( 0 ) -{ - Init( bundleElement.Contents(), bundleElement.Size() ); -} - - -void ReceivedBundle::Init( const char *bundle, unsigned long size ) -{ - if( size < 16 ) - throw MalformedBundleException( "packet too short for bundle" ); - - if( (size & 0x03L) != 0 ) - throw MalformedBundleException( "bundle size must be multiple of four" ); - - if( bundle[0] != '#' - || bundle[1] != 'b' - || bundle[2] != 'u' - || bundle[3] != 'n' - || bundle[4] != 'd' - || bundle[5] != 'l' - || bundle[6] != 'e' - || bundle[7] != '\0' ) - throw MalformedBundleException( "bad bundle address pattern" ); - - end_ = bundle + size; - - timeTag_ = bundle + 8; - - const char *p = timeTag_ + 8; - - while( p < end_ ){ - if( p + 4 > end_ ) - throw MalformedBundleException( "packet too short for elementSize" ); - - uint32 elementSize = ToUInt32( p ); - if( (elementSize & 0x03L) != 0 ) - throw MalformedBundleException( "bundle element size must be multiple of four" ); - - p += 4 + elementSize; - if( p > end_ ) - throw MalformedBundleException( "packet too short for bundle element" ); - - ++elementCount_; - } - - if( p != end_ ) - throw MalformedBundleException( "bundle contents " ); -} - - -uint64 ReceivedBundle::TimeTag() const -{ - return ToUInt64( timeTag_ ); -} - - -} // namespace osc - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.h deleted file mode 100755 index 4836406..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.h +++ /dev/null @@ -1,488 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_OSCRECEIVEDELEMENTS_H -#define INCLUDED_OSCRECEIVEDELEMENTS_H - -#include - -#include "OscTypes.h" -#include "OscException.h" - - -namespace osc{ - - -class MalformedMessageException : public Exception{ -public: - MalformedMessageException( const char *w="malformed message" ) - : Exception( w ) {} -}; - -class MalformedBundleException : public Exception{ -public: - MalformedBundleException( const char *w="malformed bundle" ) - : Exception( w ) {} -}; - -class WrongArgumentTypeException : public Exception{ -public: - WrongArgumentTypeException( const char *w="wrong argument type" ) - : Exception( w ) {} -}; - -class MissingArgumentException : public Exception{ -public: - MissingArgumentException( const char *w="missing argument" ) - : Exception( w ) {} -}; - -class ExcessArgumentException : public Exception{ -public: - ExcessArgumentException( const char *w="too many arguments" ) - : Exception( w ) {} -}; - - -class ReceivedPacket{ -public: - ReceivedPacket( const char *contents, int32 size ) - : contents_( contents ) - , size_( size ) {} - - bool IsMessage() const { return !IsBundle(); } - bool IsBundle() const; - - int32 Size() const { return size_; } - const char *Contents() const { return contents_; } - -private: - const char *contents_; - int32 size_; -}; - - -class ReceivedBundleElement{ -public: - ReceivedBundleElement( const char *size ) - : size_( size ) {} - - friend class ReceivedBundleElementIterator; - - bool IsMessage() const { return !IsBundle(); } - bool IsBundle() const; - - int32 Size() const; - const char *Contents() const { return size_ + 4; } - -private: - const char *size_; -}; - - -class ReceivedBundleElementIterator{ -public: - ReceivedBundleElementIterator( const char *sizePtr ) - : value_( sizePtr ) {} - - ReceivedBundleElementIterator operator++() - { - Advance(); - return *this; - } - - ReceivedBundleElementIterator operator++(int) - { - ReceivedBundleElementIterator old( *this ); - Advance(); - return old; - } - - const ReceivedBundleElement& operator*() const { return value_; } - - const ReceivedBundleElement* operator->() const { return &value_; } - - friend bool operator==(const ReceivedBundleElementIterator& lhs, - const ReceivedBundleElementIterator& rhs ); - -private: - ReceivedBundleElement value_; - - void Advance() { value_.size_ = value_.Contents() + value_.Size(); } - - bool IsEqualTo( const ReceivedBundleElementIterator& rhs ) const - { - return value_.size_ == rhs.value_.size_; - } -}; - -inline bool operator==(const ReceivedBundleElementIterator& lhs, - const ReceivedBundleElementIterator& rhs ) -{ - return lhs.IsEqualTo( rhs ); -} - -inline bool operator!=(const ReceivedBundleElementIterator& lhs, - const ReceivedBundleElementIterator& rhs ) -{ - return !( lhs == rhs ); -} - - -class ReceivedMessageArgument{ -public: - ReceivedMessageArgument( const char *typeTag, const char *argument ) - : typeTag_( typeTag ) - , argument_( argument ) {} - - friend class ReceivedMessageArgumentIterator; - - const char TypeTag() const { return *typeTag_; } - - // the unchecked methods below don't check whether the argument actually - // is of the specified type. they should only be used if you've already - // checked the type tag or the associated IsType() method. - - bool IsBool() const - { return *typeTag_ == TRUE_TYPE_TAG || *typeTag_ == FALSE_TYPE_TAG; } - bool AsBool() const; - bool AsBoolUnchecked() const; - - bool IsNil() const { return *typeTag_ == NIL_TYPE_TAG; } - bool IsInfinitum() const { return *typeTag_ == INFINITUM_TYPE_TAG; } - - bool IsInt32() const { return *typeTag_ == INT32_TYPE_TAG; } - int32 AsInt32() const; - int32 AsInt32Unchecked() const; - - bool IsFloat() const { return *typeTag_ == FLOAT_TYPE_TAG; } - float AsFloat() const; - float AsFloatUnchecked() const; - - bool IsChar() const { return *typeTag_ == CHAR_TYPE_TAG; } - char AsChar() const; - char AsCharUnchecked() const; - - bool IsRgbaColor() const { return *typeTag_ == RGBA_COLOR_TYPE_TAG; } - uint32 AsRgbaColor() const; - uint32 AsRgbaColorUnchecked() const; - - bool IsMidiMessage() const { return *typeTag_ == MIDI_MESSAGE_TYPE_TAG; } - uint32 AsMidiMessage() const; - uint32 AsMidiMessageUnchecked() const; - - bool IsInt64() const { return *typeTag_ == INT64_TYPE_TAG; } - int64 AsInt64() const; - int64 AsInt64Unchecked() const; - - bool IsTimeTag() const { return *typeTag_ == TIME_TAG_TYPE_TAG; } - uint64 AsTimeTag() const; - uint64 AsTimeTagUnchecked() const; - - bool IsDouble() const { return *typeTag_ == DOUBLE_TYPE_TAG; } - double AsDouble() const; - double AsDoubleUnchecked() const; - - bool IsString() const { return *typeTag_ == STRING_TYPE_TAG; } - const char* AsString() const; - const char* AsStringUnchecked() const { return argument_; } - - bool IsSymbol() const { return *typeTag_ == SYMBOL_TYPE_TAG; } - const char* AsSymbol() const; - const char* AsSymbolUnchecked() const { return argument_; } - - bool IsBlob() const { return *typeTag_ == BLOB_TYPE_TAG; } - void AsBlob( const void*& data, unsigned long& size ) const; - void AsBlobUnchecked( const void*& data, unsigned long& size ) const; - -private: - const char *typeTag_; - const char *argument_; -}; - - -class ReceivedMessageArgumentIterator{ -public: - ReceivedMessageArgumentIterator( const char *typeTags, const char *arguments ) - : value_( typeTags, arguments ) {} - - ReceivedMessageArgumentIterator operator++() - { - Advance(); - return *this; - } - - ReceivedMessageArgumentIterator operator++(int) - { - ReceivedMessageArgumentIterator old( *this ); - Advance(); - return old; - } - - const ReceivedMessageArgument& operator*() const { return value_; } - - const ReceivedMessageArgument* operator->() const { return &value_; } - - friend bool operator==(const ReceivedMessageArgumentIterator& lhs, - const ReceivedMessageArgumentIterator& rhs ); - -private: - ReceivedMessageArgument value_; - - void Advance(); - - bool IsEqualTo( const ReceivedMessageArgumentIterator& rhs ) const - { - return value_.typeTag_ == rhs.value_.typeTag_; - } -}; - -inline bool operator==(const ReceivedMessageArgumentIterator& lhs, - const ReceivedMessageArgumentIterator& rhs ) -{ - return lhs.IsEqualTo( rhs ); -} - -inline bool operator!=(const ReceivedMessageArgumentIterator& lhs, - const ReceivedMessageArgumentIterator& rhs ) -{ - return !( lhs == rhs ); -} - - -class ReceivedMessageArgumentStream{ - friend class ReceivedMessage; - ReceivedMessageArgumentStream( const ReceivedMessageArgumentIterator& begin, - const ReceivedMessageArgumentIterator& end ) - : p_( begin ) - , end_( end ) {} - - ReceivedMessageArgumentIterator p_, end_; - -public: - - // end of stream - bool Eos() const { return p_ == end_; } - - ReceivedMessageArgumentStream& operator>>( bool& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs = (*p_++).AsBool(); - return *this; - } - - // not sure if it would be useful to stream Nil and Infinitum - // for now it's not possible - - ReceivedMessageArgumentStream& operator>>( int32& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs = (*p_++).AsInt32(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( float& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs = (*p_++).AsFloat(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( char& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs = (*p_++).AsChar(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( RgbaColor& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs.value = (*p_++).AsRgbaColor(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( MidiMessage& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs.value = (*p_++).AsMidiMessage(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( int64& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs = (*p_++).AsInt64(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( TimeTag& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs.value = (*p_++).AsTimeTag(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( double& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs = (*p_++).AsDouble(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( Blob& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - (*p_++).AsBlob( rhs.data, rhs.size ); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( const char*& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs = (*p_++).AsString(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( Symbol& rhs ) - { - if( Eos() ) - throw MissingArgumentException(); - - rhs.value = (*p_++).AsSymbol(); - return *this; - } - - ReceivedMessageArgumentStream& operator>>( MessageTerminator& rhs ) - { - if( !Eos() ) - throw ExcessArgumentException(); - - return *this; - } -}; - - -class ReceivedMessage{ - void Init( const char *bundle, unsigned long size ); -public: - explicit ReceivedMessage( const ReceivedPacket& packet ); - explicit ReceivedMessage( const ReceivedBundleElement& bundleElement ); - - const char *AddressPattern() const { return addressPattern_; } - - // Support for non-standad SuperCollider integer address patterns: - bool AddressPatternIsUInt32() const; - uint32 AddressPatternAsUInt32() const; - - unsigned long ArgumentCount() const { return static_cast(typeTagsEnd_ - typeTagsBegin_); } - - const char *TypeTags() const { return typeTagsBegin_; } - - - typedef ReceivedMessageArgumentIterator const_iterator; - - ReceivedMessageArgumentIterator ArgumentsBegin() const - { - return ReceivedMessageArgumentIterator( typeTagsBegin_, arguments_ ); - } - - ReceivedMessageArgumentIterator ArgumentsEnd() const - { - return ReceivedMessageArgumentIterator( typeTagsEnd_, 0 ); - } - - ReceivedMessageArgumentStream ArgumentStream() const - { - return ReceivedMessageArgumentStream( ArgumentsBegin(), ArgumentsEnd() ); - } - -private: - const char *addressPattern_; - const char *typeTagsBegin_; - const char *typeTagsEnd_; - const char *arguments_; -}; - - -class ReceivedBundle{ - void Init( const char *message, unsigned long size ); -public: - explicit ReceivedBundle( const ReceivedPacket& packet ); - explicit ReceivedBundle( const ReceivedBundleElement& bundleElement ); - - uint64 TimeTag() const; - - unsigned long ElementCount() const { return elementCount_; } - - typedef ReceivedBundleElementIterator const_iterator; - - ReceivedBundleElementIterator ElementsBegin() const - { - return ReceivedBundleElementIterator( timeTag_ + 8 ); - } - - ReceivedBundleElementIterator ElementsEnd() const - { - return ReceivedBundleElementIterator( end_ ); - } - -private: - const char *timeTag_; - const char *end_; - unsigned long elementCount_; -}; - - -} // namespace osc - - -#endif /* INCLUDED_OSCRECEIVEDELEMENTS_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.cpp deleted file mode 100755 index cf8f698..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#include "OscTypes.h" - -namespace osc{ - -BundleInitiator BeginBundleImmediate(1); -BundleTerminator EndBundle; -MessageTerminator EndMessage; -NilType Nil; -InfinitumType Infinitum; - -} // namespace osc diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.h deleted file mode 100755 index 670a502..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/libs/oscpack/src/osc/OscTypes.h +++ /dev/null @@ -1,184 +0,0 @@ -/* - oscpack -- Open Sound Control packet manipulation library - http://www.audiomulch.com/~rossb/oscpack - - Copyright (c) 2004-2005 Ross Bencina - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - requested to send the modifications to the original developer so that - they can be incorporated into the canonical version. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -#ifndef INCLUDED_OSCTYPES_H -#define INCLUDED_OSCTYPES_H - - -namespace osc{ - -// basic types - -#if defined(__BORLANDC__) || defined(_MSC_VER) - -typedef __int64 int64; -typedef unsigned __int64 uint64; - -#elif defined(__x86_64__) || defined(_M_X64) - -typedef long int64; -typedef unsigned long uint64; - -#else - -typedef long long int64; -typedef unsigned long long uint64; - -#endif - - - -#if defined(__x86_64__) || defined(_M_X64) - -typedef signed int int32; -typedef unsigned int uint32; - -#else - -typedef signed long int32; -typedef unsigned long uint32; - -#endif - - - -enum TypeTagValues { - TRUE_TYPE_TAG = 'T', - FALSE_TYPE_TAG = 'F', - NIL_TYPE_TAG = 'N', - INFINITUM_TYPE_TAG = 'I', - INT32_TYPE_TAG = 'i', - FLOAT_TYPE_TAG = 'f', - CHAR_TYPE_TAG = 'c', - RGBA_COLOR_TYPE_TAG = 'r', - MIDI_MESSAGE_TYPE_TAG = 'm', - INT64_TYPE_TAG = 'h', - TIME_TAG_TYPE_TAG = 't', - DOUBLE_TYPE_TAG = 'd', - STRING_TYPE_TAG = 's', - SYMBOL_TYPE_TAG = 'S', - BLOB_TYPE_TAG = 'b' -}; - - - -// i/o manipulators used for streaming interfaces - -struct BundleInitiator{ - explicit BundleInitiator( uint64 timeTag_ ) : timeTag( timeTag_ ) {} - uint64 timeTag; -}; - -extern BundleInitiator BeginBundleImmediate; - -inline BundleInitiator BeginBundle( uint64 timeTag=1 ) -{ - return BundleInitiator(timeTag); -} - - -struct BundleTerminator{ -}; - -extern BundleTerminator EndBundle; - -struct BeginMessage{ - explicit BeginMessage( const char *addressPattern_ ) : addressPattern( addressPattern_ ) {} - const char *addressPattern; -}; - -struct MessageTerminator{ -}; - -extern MessageTerminator EndMessage; - - -// osc specific types. they are defined as structs so they can be used -// as separately identifiable types with the streaming operators. - -struct NilType{ -}; - -#ifndef _OBJC_OBJC_H_ - extern NilType Nil; -#endif - -struct InfinitumType{ -}; - -extern InfinitumType Infinitum; - -struct RgbaColor{ - RgbaColor() {} - explicit RgbaColor( uint32 value_ ) : value( value_ ) {} - uint32 value; - - operator uint32() const { return value; } -}; - - -struct MidiMessage{ - MidiMessage() {} - explicit MidiMessage( uint32 value_ ) : value( value_ ) {} - uint32 value; - - operator uint32() const { return value; } -}; - - -struct TimeTag{ - TimeTag() {} - explicit TimeTag( uint64 value_ ) : value( value_ ) {} - uint64 value; - - operator uint64() const { return value; } -}; - - -struct Symbol{ - Symbol() {} - explicit Symbol( const char* value_ ) : value( value_ ) {} - const char* value; - - operator const char *() const { return value; } -}; - - -struct Blob{ - Blob() {} - explicit Blob( const void* data_, unsigned long size_ ) - : data( data_ ), size( size_ ) {} - const void* data; - unsigned long size; -}; - -} // namespace osc - - -#endif /* INCLUDED_OSCTYPES_H */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOsc.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOsc.h deleted file mode 100755 index 1e65237..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOsc.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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. - */ - -#pragma once - -#include "ofxOscArg.h" -#include "ofxOscMessage.h" -#include "ofxOscSender.h" -#include "ofxOscReceiver.h" diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscArg.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscArg.h deleted file mode 100755 index 0e16fbe..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscArg.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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. - */ - -#pragma once - -#include -#include "ofMain.h" - -typedef enum _ofxOscArgType -{ - OFXOSC_TYPE_NONE, - OFXOSC_TYPE_INT32, - OFXOSC_TYPE_INT64, - OFXOSC_TYPE_FLOAT, - OFXOSC_TYPE_STRING, - OFXOSC_TYPE_BLOB, - OFXOSC_TYPE_BUNDLE, - OFXOSC_TYPE_INDEXOUTOFBOUNDS -} ofxOscArgType; - -/* - -ofxOscArg - -base class for arguments - -*/ - -class ofxOscArg -{ -public: - ofxOscArg() {}; - virtual ~ofxOscArg() {}; - - virtual ofxOscArgType getType() { return OFXOSC_TYPE_NONE; } - virtual string getTypeName() { return "none"; } - -private: -}; - - -/* - -subclasses for each possible argument type - -*/ - -class ofxOscArgInt32 : public ofxOscArg -{ -public: - ofxOscArgInt32( int32_t _value ) { value = _value; } - ~ofxOscArgInt32() {}; - - /// return the type of this argument - ofxOscArgType getType() { return OFXOSC_TYPE_INT32; } - string getTypeName() { return "int32"; } - - /// return value - int32_t get() const { return value; } - /// set value - void set( int32_t _value ) { value = _value; } - -private: - int32_t value; -}; - -class ofxOscArgInt64 : public ofxOscArg -{ -public: - ofxOscArgInt64( uint64_t _value ) { value = _value; } - ~ofxOscArgInt64() {}; - - /// return the type of this argument - ofxOscArgType getType() { return OFXOSC_TYPE_INT64; } - string getTypeName() { return "int64"; } - - /// return value - uint64_t get() const { return value; } - /// set value - void set( uint64_t _value ) { value = _value; } - -private: - uint64_t value; -}; - -class ofxOscArgFloat : public ofxOscArg -{ -public: - ofxOscArgFloat( float _value ) { value = _value; } - ~ofxOscArgFloat() {}; - - /// return the type of this argument - ofxOscArgType getType() { return OFXOSC_TYPE_FLOAT; } - string getTypeName() { return "float"; } - - /// return value - float get() const { return value; } - /// set value - void set( float _value ) { value = _value; } - -private: - float value; -}; - -class ofxOscArgString : public ofxOscArg -{ -public: - ofxOscArgString( string _value ) { value = _value; } - ~ofxOscArgString() {}; - - /// return the type of this argument - ofxOscArgType getType() { return OFXOSC_TYPE_STRING; } - string getTypeName() { return "string"; } - - /// return value - string get() const { return value; } - /// set value - void set( const char* _value ) { value = _value; } - -private: - std::string value; -}; - -class ofxOscArgBlob : public ofxOscArg -{ -public: - ofxOscArgBlob( ofBuffer _value ){ - value = _value; - } - ~ofxOscArgBlob(){}; - - /// return the type of this argument - ofxOscArgType getType() { return OFXOSC_TYPE_BLOB; } - string getTypeName() { return "blob"; } - - /// return value - ofBuffer get() const { return value; } - /// set value - void set( const char * _value, unsigned int length ) { value.set(_value, length); } - -private: - ofBuffer value; -}; diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.cpp deleted file mode 100755 index 3bb19c2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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 "ofxOscBundle.h" - - -ofxOscBundle::ofxOscBundle() -{ -} - -ofxOscBundle::~ofxOscBundle() -{ -} - -ofxOscBundle& ofxOscBundle::copy( const ofxOscBundle& other ) -{ - for ( int i=0; i<(int)other.bundles.size(); i++ ) - { - bundles.push_back( other.bundles[i] ); - } - for ( int i=0; i<(int)other.messages.size(); i++ ) - { - messages.push_back( other.messages[i] ); - } - return *this; -} - - - -void ofxOscBundle::addBundle( const ofxOscBundle& bundle ) -{ - bundles.push_back( bundle ); -} - -void ofxOscBundle::addMessage( const ofxOscMessage& message ) -{ - messages.push_back( message ); -} - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.h deleted file mode 100755 index a7c9640..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscBundle.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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. - */ - -#pragma once - -#include -#include "ofxOscMessage.h" - -class ofxOscBundle -{ -public: - ofxOscBundle(); - ~ofxOscBundle(); - ofxOscBundle( const ofxOscBundle& other ) { copy ( other ); } - ofxOscBundle& operator= ( const ofxOscBundle& other ) { return copy( other ); } - /// for operator= and copy constructor - ofxOscBundle& copy( const ofxOscBundle& other ); - - /// erase contents - void clear() { messages.clear(); bundles.clear(); } - - /// add bundle elements - void addBundle( const ofxOscBundle& element ); - void addMessage( const ofxOscMessage& message ); - - /// get bundle elements - int getBundleCount() const { return bundles.size(); } - int getMessageCount() const { return messages.size(); } - /// return the bundle or message at the given index - ofxOscBundle& getBundleAt( int i ) { return bundles[i]; } - ofxOscMessage& getMessageAt( int i ) { return messages[i]; } - -private: - - std::vector< ofxOscMessage > messages; - std::vector< ofxOscBundle > bundles; -}; diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.cpp deleted file mode 100755 index 46f8d99..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.cpp +++ /dev/null @@ -1,257 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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 "ofxOscMessage.h" -#include "ofLog.h" -#include -#include - -ofxOscMessage::ofxOscMessage() - -{ -} - -ofxOscMessage::~ofxOscMessage() -{ - clear(); -} - -void ofxOscMessage::clear() -{ - for ( unsigned int i=0; i= (int)args.size() ) - { - ofLogError("ofxOscMessage") << "getArgType(): index " << index << " out of bounds"; - return OFXOSC_TYPE_INDEXOUTOFBOUNDS; - } - else - return args[index]->getType(); -} - -string ofxOscMessage::getArgTypeName( int index ) const -{ - if ( index >= (int)args.size() ) - { - ofLogError("ofxOscMessage") << "getArgTypeName(): index " << index << " out of bounds"; - return "INDEX OUT OF BOUNDS"; - } - else - return args[index]->getTypeName(); -} - - -int32_t ofxOscMessage::getArgAsInt32( int index ) const -{ - if ( getArgType(index) != OFXOSC_TYPE_INT32 ) - { - if ( getArgType( index ) == OFXOSC_TYPE_FLOAT ) - { - ofLogWarning("ofxOscMessage") << "getArgAsInt32(): converting int32 to float for argument " << index; - return ((ofxOscArgFloat*)args[index])->get(); - } - else - { - ofLogError("ofxOscMessage") << "getArgAsInt32(): argument " << index << " is not a number"; - return 0; - } - } - else - return ((ofxOscArgInt32*)args[index])->get(); -} - -uint64_t ofxOscMessage::getArgAsInt64( int index ) const -{ - if ( getArgType(index) != OFXOSC_TYPE_INT64 ) - { - if ( getArgType( index ) == OFXOSC_TYPE_FLOAT ) - { - ofLogWarning("ofxOscMessage") << "getArgAsInt64(): converting int64 to float for argument " << index; - return ((ofxOscArgFloat*)args[index])->get(); - } - else - { - ofLogError("ofxOscMessage") << "getArgAsInt64(): argument " << index << " is not a number"; - return 0; - } - } - else - return ((ofxOscArgInt64*)args[index])->get(); -} - - -float ofxOscMessage::getArgAsFloat( int index ) const -{ - if ( getArgType(index) != OFXOSC_TYPE_FLOAT ) - { - if ( getArgType( index ) == OFXOSC_TYPE_INT32 ) - { - ofLogWarning("ofxOscMessage") << "getArgAsFloat(): converting float to int32 for argument " << index; - return ((ofxOscArgInt32*)args[index])->get(); - } - else - { - ofLogError("ofxOscMessage") << "getArgAsFloat(): argument " << index << " is not a number"; - return 0; - } - } - else - return ((ofxOscArgFloat*)args[index])->get(); -} - - -string ofxOscMessage::getArgAsString( int index ) const -{ - if ( getArgType(index) != OFXOSC_TYPE_STRING ) - { - if ( getArgType( index ) == OFXOSC_TYPE_FLOAT ) - { - char buf[1024]; - sprintf(buf,"%f",((ofxOscArgFloat*)args[index])->get() ); - ofLogWarning("ofxOscMessage") << "getArgAsString(): converting float to string for argument " << index; - return buf; - } - else if ( getArgType( index ) == OFXOSC_TYPE_INT32 ) - { - char buf[1024]; - sprintf(buf,"%i",((ofxOscArgInt32*)args[index])->get() ); - ofLogWarning("ofxOscMessage") << "getArgAsString(): converting int32 to string for argument " << index; - return buf; - } - else - { - ofLogError("ofxOscMessage") << "getArgAsString(): argument " << index << " is not a string"; - return ""; - } - } - else - return ((ofxOscArgString*)args[index])->get(); -} - -ofBuffer ofxOscMessage::getArgAsBlob( int index ) const -{ - if ( getArgType(index) != OFXOSC_TYPE_BLOB ) - { - ofLogError("ofxOscMessage") << "getArgAsBlob(): argument " << index << " is not a blob"; - return ofBuffer(); - } - else - return ((ofxOscArgBlob*)args[index])->get(); -} - - - -/* - -set methods - -*/ - - -void ofxOscMessage::addIntArg( int32_t argument ) -{ - - args.push_back( new ofxOscArgInt32( argument ) ); -} - -void ofxOscMessage::addInt64Arg( uint64_t argument ) -{ - - args.push_back( new ofxOscArgInt64( argument ) ); -} - - -void ofxOscMessage::addFloatArg( float argument ) -{ - args.push_back( new ofxOscArgFloat( argument ) ); -} - -void ofxOscMessage::addStringArg( string argument ) -{ - args.push_back( new ofxOscArgString( argument ) ); -} - -void ofxOscMessage::addBlobArg( ofBuffer argument ) -{ - args.push_back( new ofxOscArgBlob( argument ) ); -} - -/* - - housekeeping - - */ - -ofxOscMessage& ofxOscMessage::copy( const ofxOscMessage& other ) -{ - clear(); - // copy address - address = other.address; - - remote_host = other.remote_host; - remote_port = other.remote_port; - - // copy arguments - for ( int i=0; i<(int)other.args.size(); ++i ) - { - ofxOscArgType argType = other.getArgType( i ); - if ( argType == OFXOSC_TYPE_INT32 ) - args.push_back( new ofxOscArgInt32( other.getArgAsInt32( i ) ) ); - else if ( argType == OFXOSC_TYPE_INT64 ) - args.push_back( new ofxOscArgInt64( other.getArgAsInt64( i ) ) ); - else if ( argType == OFXOSC_TYPE_FLOAT ) - args.push_back( new ofxOscArgFloat( other.getArgAsFloat( i ) ) ); - else if ( argType == OFXOSC_TYPE_STRING ) - args.push_back( new ofxOscArgString( other.getArgAsString( i ) ) ); - else if ( argType == OFXOSC_TYPE_BLOB ) - args.push_back( new ofxOscArgBlob( other.getArgAsBlob( i ) ) ); - else - { - assert( false && "bad argument type" ); - } - } - - return *this; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.h deleted file mode 100755 index ea45f24..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscMessage.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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. - */ - -#pragma once - -#include "ofxOscArg.h" -#include -#include - -using namespace std; - -class ofxOscMessage -{ -public: - ofxOscMessage(); - ~ofxOscMessage(); - ofxOscMessage( const ofxOscMessage& other ){ copy ( other ); } - ofxOscMessage& operator= ( const ofxOscMessage& other ) { return copy( other ); } - /// for operator= and copy constructor - ofxOscMessage& copy( const ofxOscMessage& other ); - - /// clear this message, erase all contents - void clear(); - - /// return the address - string getAddress() const { return address; } - - /// return the remote ip - string getRemoteIp() const { return remote_host; } - /// return the remote port - int getRemotePort() const { return remote_port; } - - /// return number of argumentsļ - int getNumArgs() const; - /// return argument type code for argument # index - ofxOscArgType getArgType( int index ) const; - /// return argument type name as string - /// - either "int", "float", or "string" - string getArgTypeName( int index ) const; - - /// get the argument with the given index as an int, float, or string - /// ensure that the type matches what you're requesting - /// (eg for an int argument, getArgType(index)==OF_TYPE_INT32 - /// or getArgTypeName(index)=="int32") - int32_t getArgAsInt32( int index ) const; - uint64_t getArgAsInt64( int index ) const; - float getArgAsFloat( int index ) const; - string getArgAsString( int index ) const; - ofBuffer getArgAsBlob( int index ) const; - - /// message construction - void setAddress( string _address ) { address = _address; }; - /// host and port of the remote endpoint - void setRemoteEndpoint( string host, int port ) { remote_host = host; remote_port = port; } - void addIntArg( int32_t argument ); - void addInt64Arg( uint64_t argument ); - void addFloatArg( float argument ); - void addStringArg( string argument ); - void addBlobArg( ofBuffer argument ); - -private: - - string address; - vector args; - - string remote_host; - int remote_port; - - -}; diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.cpp deleted file mode 100755 index 2cf7a11..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/* - * ofxOscParameterSync.cpp - * - * Created on: 13/07/2012 - * Author: arturo - */ - -#include "ofxOscParameterSync.h" - -ofxOscParameterSync::ofxOscParameterSync() { - syncGroup = NULL; - updatingParameter = false; -} - -ofxOscParameterSync::~ofxOscParameterSync(){ - if(syncGroup) - ofRemoveListener(syncGroup->parameterChangedE,this,&ofxOscParameterSync::parameterChanged); -} - - -void ofxOscParameterSync::setup(ofParameterGroup & group, int localPort, string host, int remotePort){ - syncGroup = &group; - ofAddListener(group.parameterChangedE,this,&ofxOscParameterSync::parameterChanged); - sender.setup(host,remotePort); - receiver.setup(localPort); -} - -void ofxOscParameterSync::update(){ - if(receiver.hasWaitingMessages()){ - updatingParameter = true; - receiver.getParameter(*syncGroup); - updatingParameter = false; - } -} - -void ofxOscParameterSync::parameterChanged( ofAbstractParameter & parameter ){ - if(updatingParameter) return; - sender.sendParameter(parameter); -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.h deleted file mode 100755 index 3272257..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscParameterSync.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * ofxOscParameterSync.h - * - * Created on: 13/07/2012 - * Author: arturo - */ - -#pragma once - -#include "ofxOscSender.h" -#include "ofxOscReceiver.h" -#include "ofParameter.h" -#include "ofParameterGroup.h" - -class ofxOscParameterSync { -public: - ofxOscParameterSync(); - ~ofxOscParameterSync(); - - /// the remote and local ports must be different to avoid collisions - void setup(ofParameterGroup & group, int localPort, string remoteHost, int remotePort); - void update(); - -private: - void parameterChanged( ofAbstractParameter & parameter ); - ofxOscSender sender; - ofxOscReceiver receiver; - ofParameterGroup * syncGroup; - bool updatingParameter; -}; diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.cpp deleted file mode 100755 index d7ffd4e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.cpp +++ /dev/null @@ -1,284 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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 "ofxOscReceiver.h" - -#ifndef TARGET_WIN32 - #include -#endif -#include -#include - -ofxOscReceiver::ofxOscReceiver() -{ - listen_socket = NULL; -} - -void ofxOscReceiver::setup( int listen_port ) -{ - // if we're already running, shutdown before running again - if ( listen_socket ) - shutdown(); - - // create the mutex - #ifdef TARGET_WIN32 - mutex = CreateMutexA( NULL, FALSE, NULL ); - #else - pthread_mutex_init( &mutex, NULL ); - #endif - - // create socket - socketHasShutdown = false; - listen_socket = new UdpListeningReceiveSocket( IpEndpointName( IpEndpointName::ANY_ADDRESS, listen_port ), this ); - - // start thread - #ifdef TARGET_WIN32 - thread = CreateThread( - NULL, // default security attributes - 0, // use default stack size - &ofxOscReceiver::startThread, // thread function - (void*)this, // argument to thread function - 0, // use default creation flags - NULL); // we don't the the thread id - - #else - pthread_create( &thread, NULL, &ofxOscReceiver::startThread, (void*)this ); - #endif -} - -void ofxOscReceiver::shutdown() -{ - if ( listen_socket ) - { - // tell the socket to shutdown - listen_socket->AsynchronousBreak(); - // wait for shutdown to complete - while (!socketHasShutdown) - { - #ifdef TARGET_WIN32 - Sleep(1); - #else - // sleep 0.1ms - usleep(100); - #endif - } - - // thread will clean up itself - - // clean up the mutex - #ifdef TARGET_WIN32 - ReleaseMutex( mutex ); - #else - pthread_mutex_destroy( &mutex ); - #endif - - // delete the socket - delete listen_socket; - listen_socket = NULL; - } -} - -ofxOscReceiver::~ofxOscReceiver() -{ - shutdown(); -} - -#ifdef TARGET_WIN32 -DWORD WINAPI -#else -void* -#endif - -ofxOscReceiver::startThread( void* receiverInstance ) -{ - // cast the instance - ofxOscReceiver* instance = (ofxOscReceiver*)receiverInstance; - // start the socket listener - instance->listen_socket->Run(); - // socket listener has finished - remember this fact - instance->socketHasShutdown = true; - // return - #ifdef TARGET_WIN32 - return 0; - #else - return NULL; - #endif -} - -void ofxOscReceiver::ProcessMessage( const osc::ReceivedMessage &m, const IpEndpointName& remoteEndpoint ) -{ - - // convert the message to an ofxOscMessage - ofxOscMessage* ofMessage = new ofxOscMessage(); - - // set the address - ofMessage->setAddress( m.AddressPattern() ); - - // set the sender ip/host - char endpoint_host[ IpEndpointName::ADDRESS_STRING_LENGTH ]; - remoteEndpoint.AddressAsString( endpoint_host ); - ofMessage->setRemoteEndpoint( endpoint_host, remoteEndpoint.port ); - - // transfer the arguments - for ( osc::ReceivedMessage::const_iterator arg = m.ArgumentsBegin(); - arg != m.ArgumentsEnd(); - ++arg ) - { - if ( arg->IsInt32() ) - ofMessage->addIntArg( arg->AsInt32Unchecked() ); - else if ( arg->IsInt64() ) - ofMessage->addInt64Arg( arg->AsInt64Unchecked() ); - else if ( arg->IsFloat() ) - ofMessage->addFloatArg( arg->AsFloatUnchecked() ); - else if ( arg->IsString() ) - ofMessage->addStringArg( arg->AsStringUnchecked() ); - else if ( arg->IsBlob() ){ - const char * dataPtr; - unsigned long len = 0; - arg->AsBlobUnchecked((const void*&)dataPtr, len); - ofBuffer buffer(dataPtr, len); - ofMessage->addBlobArg( buffer ); - }else - { - ofLogError("ofxOscReceiver") << "ProcessMessage: argument in message " << m.AddressPattern() << " is not an int, float, or string"; - } - } - - // now add to the queue - - // at this point we are running inside the thread created by startThread, - // so anyone who calls hasWaitingMessages() or getNextMessage() is coming - // from a different thread - - // so we have to practise shared memory management - - // grab a lock on the queue - grabMutex(); - - // add incoming message on to the queue - messages.push_back( ofMessage ); - - // release the lock - releaseMutex(); -} - -bool ofxOscReceiver::hasWaitingMessages() -{ - // grab a lock on the queue - grabMutex(); - - // check the length of the queue - int queue_length = (int)messages.size(); - - // release the lock - releaseMutex(); - - // return whether we have any messages - return queue_length > 0; -} - -bool ofxOscReceiver::getNextMessage( ofxOscMessage* message ) -{ - // grab a lock on the queue - grabMutex(); - - // check if there are any to be got - if ( messages.size() == 0 ) - { - // no: release the mutex - releaseMutex(); - return false; - } - - // copy the message from the queue to message - ofxOscMessage* src_message = messages.front(); - message->copy( *src_message ); - - // now delete the src message - delete src_message; - // and remove it from the queue - messages.pop_front(); - - // release the lock on the queue - releaseMutex(); - - // return success - return true; -} - - -bool ofxOscReceiver::getParameter(ofAbstractParameter & parameter){ - ofxOscMessage msg; - if ( messages.size() == 0 ) return false; - while(hasWaitingMessages()){ - ofAbstractParameter * p = ¶meter; - - getNextMessage(&msg); - vector address = ofSplitString(msg.getAddress(),"/",true); - - for(int i=0;igetEscapedName()){ - if(p->type()==typeid(ofParameterGroup).name()){ - if(address.size()>=i+1){ - p = &static_cast(p)->get(address[i+1]); - } - }else if(p->type()==typeid(ofParameter).name() && msg.getArgType(0)==OFXOSC_TYPE_INT32){ - p->cast() = msg.getArgAsInt32(0); - }else if(p->type()==typeid(ofParameter).name() && msg.getArgType(0)==OFXOSC_TYPE_FLOAT){ - p->cast() = msg.getArgAsFloat(0); - }else if(p->type()==typeid(ofParameter).name() && msg.getArgType(0)==OFXOSC_TYPE_INT32){ - p->cast() = msg.getArgAsInt32(0); - }else if(msg.getArgType(0)==OFXOSC_TYPE_STRING){ - p->fromString(msg.getArgAsString(0)); - } - } - } - } - } - return true; -} - -void ofxOscReceiver::grabMutex() -{ -#ifdef TARGET_WIN32 - WaitForSingleObject( mutex, INFINITE ); -#else - pthread_mutex_lock( &mutex ); -#endif -} - -void ofxOscReceiver::releaseMutex() -{ -#ifdef TARGET_WIN32 - ReleaseMutex( mutex ); -#else - pthread_mutex_unlock( &mutex ); -#endif -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.h deleted file mode 100755 index c844c33..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscReceiver.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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. - */ - -#pragma once - -#include -#include "ofMain.h" - -#ifdef TARGET_WIN32 -// threads -#include -#else -// threads -#include -#endif - -// osc -#include "OscTypes.h" -#include "OscPacketListener.h" -#include "UdpSocket.h" - -// ofxOsc -#include "ofxOscMessage.h" - -class ofxOscReceiver : public osc::OscPacketListener -{ -public: - ofxOscReceiver(); - ~ofxOscReceiver(); - - /// listen_port is the port to listen for messages on - void setup( int listen_port ); - - /// returns true if there are any messages waiting for collection - bool hasWaitingMessages(); - /// take the next message on the queue of received messages, copy its details into message, and - /// remove it from the queue. return false if there are no more messages to be got, otherwise - /// return true - bool getNextMessage( ofxOscMessage* ); - - bool getParameter(ofAbstractParameter & parameter); - -protected: - /// process an incoming osc message and add it to the queue - virtual void ProcessMessage( const osc::ReceivedMessage &m, const IpEndpointName& remoteEndpoint ); - -private: - // shutdown the listener - void shutdown(); - - // start the listening thread -#ifdef TARGET_WIN32 - static DWORD WINAPI startThread( void* ofxOscReceiverInstance ); -#else - static void* startThread( void* ofxOscReceiverInstance ); -#endif - // queue of osc messages - std::deque< ofxOscMessage* > messages; - - // socket to listen on - UdpListeningReceiveSocket* listen_socket; - - // mutex helpers - void grabMutex(); - void releaseMutex(); - -#ifdef TARGET_WIN32 - // thread to listen with - HANDLE thread; - // mutex for the thread queue - HANDLE mutex; -#else - // thread to listen with - pthread_t thread; - // mutex for the message queue - pthread_mutex_t mutex; -#endif - // ready to be deleted - bool socketHasShutdown; - -}; diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscSender.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscSender.cpp deleted file mode 100755 index e19e6a4..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/ofxOsc/src/ofxOscSender.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* - - Copyright (c) 2007-2009, Damian Stewart - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the developer nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY DAMIAN STEWART ''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 DAMIAN STEWART 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 "ofxOscSender.h" -#include "ofUtils.h" -#include "ofParameterGroup.h" - - -#include "UdpSocket.h" - -#include - -ofxOscSender::ofxOscSender() -{ - socket = NULL; -} - -ofxOscSender::~ofxOscSender() -{ - if ( socket ) - shutdown(); -} - -void ofxOscSender::setup( std::string hostname, int port ) -{ - if ( socket ) - shutdown(); - - socket = new UdpTransmitSocket( IpEndpointName( hostname.c_str(), port ) ); -} - -void ofxOscSender::shutdown() -{ - if ( socket ) - delete socket; - socket = NULL; -} - -void ofxOscSender::sendBundle( ofxOscBundle& bundle ) -{ - //setting this much larger as it gets trimmed down to the size its using before being sent. - //TODO: much better if we could make this dynamic? Maybe have ofxOscBundle return its size? - static const int OUTPUT_BUFFER_SIZE = 327680; - char buffer[OUTPUT_BUFFER_SIZE]; - osc::OutboundPacketStream p(buffer, OUTPUT_BUFFER_SIZE ); - - // serialise the bundle - appendBundle( bundle, p ); - - socket->Send( p.Data(), p.Size() ); -} - -void ofxOscSender::sendMessage( ofxOscMessage& message ) -{ - //setting this much larger as it gets trimmed down to the size its using before being sent. - //TODO: much better if we could make this dynamic? Maybe have ofxOscMessage return its size? - static const int OUTPUT_BUFFER_SIZE = 327680; - char buffer[OUTPUT_BUFFER_SIZE]; - osc::OutboundPacketStream p( buffer, OUTPUT_BUFFER_SIZE ); - - // serialise the message - p << osc::BeginBundleImmediate; - appendMessage( message, p ); - p << osc::EndBundle; - - socket->Send( p.Data(), p.Size() ); -} - -void ofxOscSender::sendParameter( const ofAbstractParameter & parameter){ - if(!parameter.isSerializable()) return; - if(parameter.type()==typeid(ofParameterGroup).name()){ - string address = "/"; - const vector hierarchy = parameter.getGroupHierarchyNames(); - for(int i=0;i<(int)hierarchy.size()-1;i++){ - address+=hierarchy[i] + "/"; - } - ofxOscBundle bundle; - appendParameter(bundle,parameter,address); - sendBundle(bundle); - }else{ - string address = ""; - const vector hierarchy = parameter.getGroupHierarchyNames(); - for(int i=0;i<(int)hierarchy.size()-1;i++){ - address+= "/" + hierarchy[i]; - } - if(address.length()) address += "/"; - ofxOscMessage msg; - appendParameter(msg,parameter,address); - sendMessage(msg); - } -} - - -void ofxOscSender::appendParameter( ofxOscBundle & _bundle, const ofAbstractParameter & parameter, string address){ - if(parameter.type()==typeid(ofParameterGroup).name()){ - ofxOscBundle bundle; - const ofParameterGroup & group = static_cast(parameter); - for(int i=0;i).name()){ - msg.addIntArg(parameter.cast()); - }else if(parameter.type()==typeid(ofParameter).name()){ - msg.addFloatArg(parameter.cast()); - }else if(parameter.type()==typeid(ofParameter).name()){ - msg.addIntArg(parameter.cast()); - }else{ - msg.addStringArg(parameter.toString()); - } -} - -void ofxOscSender::appendBundle( ofxOscBundle& bundle, osc::OutboundPacketStream& p ) -{ - // recursively serialise the bundle - p << osc::BeginBundleImmediate; - for ( int i=0; i -#include "OscTypes.h" -#include "OscOutboundPacketStream.h" - -#include "ofxOscBundle.h" -#include "ofxOscMessage.h" -#include "ofParameter.h" -#include "ofParameterGroup.h" - - -class ofxOscSender -{ -public: - ofxOscSender(); - ~ofxOscSender(); - - /// send messages to hostname and port - void setup( std::string hostname, int port ); - - /// send the given message - void sendMessage( ofxOscMessage& message ); - /// send the given bundle - void sendBundle( ofxOscBundle& bundle ); - /// creates a message using an ofParameter - void sendParameter( const ofAbstractParameter & parameter); - - -private: - void shutdown(); - - // helper methods for constructing messages - void appendBundle( ofxOscBundle& bundle, osc::OutboundPacketStream& p ); - void appendMessage( ofxOscMessage& message, osc::OutboundPacketStream& p ); - void appendParameter( ofxOscBundle & bundle, const ofAbstractParameter & parameter, string address); - void appendParameter( ofxOscMessage & msg, const ofAbstractParameter & parameter, string address); - - UdpTransmitSocket* socket; -}; diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/openFrameworks-Info.plist deleted file mode 100755 index 8d64d2b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/openFrameworks-Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - cc.openFrameworks.ofapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - CFBundleIconFile - ${ICON} - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/main.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/main.cpp deleted file mode 100755 index a2c9990..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/main.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "ofMain.h" -#include "ofApp.h" - -int main(){ - ofSetupOpenGL(1024,768, OF_WINDOW); // <-------- setup the GL context - - ofRunApp(new ofApp); -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.cpp b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.cpp deleted file mode 100755 index 76fe32c..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.cpp +++ /dev/null @@ -1,266 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - -#include "ofApp.h" -//#include "maximilian.h"/* include the lib */ -#include "time.h" - - -//-------------------------------------------------------------- -void ofApp::setup(){ - - /* This is stuff you always need.*/ - - sender.setup(HOST, SENDPORT); - receiver.setup(RECEIVEPORT); - - - //samples from http://freesound.org - samp.load(ofToDataPath("2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav")); - samp2.load(ofToDataPath("24620__anamorphosis__GMB_Kantilan_1.wav")); - samp3.load(ofToDataPath("26393__brfindla__Calango1berimbau.wav")); - samp4.load(ofToDataPath("68373__juskiddink__Cello_open_string_bowed.wav")); - samp5.load(ofToDataPath("71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav")); - // samp5.load(ofToDataPath("sine1sec.wav")); - - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetFrameRate(60); - - sampleRate = 44100; /* Sampling Rate */ - bufferSize = 512; /* Buffer Size. you have to fill this buffer with sound using the for loop in the audioOut method */ - - - - ts = new maxiTimestretch(&samp); - ts2 = new maxiTimestretch(&samp2); - ts3 = new maxiTimestretch(&samp3); - ts4 = new maxiTimestretch(&samp4); - ts5 = new maxiTimestretch(&samp5); - stretches.push_back(ts); - stretches.push_back(ts2); - stretches.push_back(ts3); - stretches.push_back(ts4); - stretches.push_back(ts5); - speed = 1; - grainLength = 0.05; - current=0; - - fft.setup(1024, 512, 256); - oct.setup(44100, 1024, 10); - - int current = 0; - ofxMaxiSettings::setup(sampleRate, 2, initialBufferSize); - - ofSetVerticalSync(true); - ofEnableAlphaBlending(); - ofEnableSmoothing(); - - /* Anything that you would normally find/put in maximilian's setup() method needs to go here. For example, Sample loading. - - */ - - isTraining=true; - - ofBackground(255,255,255); - - ofSetSphereResolution(5); - - ofSoundStreamSetup(2,2,this, sampleRate, bufferSize, 4); /* this has to happen at the end of setup - it switches on the DAC */ - - -} - -//-------------------------------------------------------------- -void ofApp::update(){ - - //WEKINATOR - if (!isTraining) { - - - while(receiver.hasWaitingMessages()){ - // get the next message - ofxOscMessage m; - receiver.getNextMessage(&m); - - // check for mouse moved message - if(m.getAddress() == "/wek/outputs"){ - - cout << m.getArgAsFloat(0); - speed = ((double ) m.getArgAsFloat(0) * 4.0) - 2.0; - grainLength = (m.getArgAsFloat(1) * 0.1) + 0.001; - pos = ((double) m.getArgAsFloat(0) * 2.0); - - } - } - - } - - -} - -//-------------------------------------------------------------- -void ofApp::draw(){ - - /* You can use any of the data from audio received and audiorequested to draw stuff here. - Importantly, most people just use the input and output arrays defined above. - Clever people don't do this. This bit of code shows that by default, each signal is going to flip - between -1 and 1. You need to account for this somehow. Get the absolute value for example. - */ - - ofSetColor(160,32,240, 150); - ofDrawBitmapString(":: ofxMaxim Granular Timestretching Example ::", 10,20); - ofDrawBitmapString("Move the mouse left to right to change playback speed and direction.", 10,40); - ofDrawBitmapString("Move the mouse up and down to change the grain length.", 10,60); - ofDrawBitmapString("Click to cycle through samples.", 10,80); - - stringstream s; - s << "Speed: " << speed; - ofDrawBitmapString(s.str(), 10,750); - s.str(""); - s << "Grain length: " << round(grainLength*1000.0) << " ms"; - ofDrawBitmapString(s.str(), 180,750); - - ofNoFill(); - for(int i=0; i < oct.nAverages; i++) { - ofSetColor(200 + ((int)(ofGetFrameNum() * 0.8) % 255), - 100 + ((int)(ofGetFrameNum() * 1.4) % 255), - ofGetFrameNum() % 255, - oct.averages[i] / 20.0 * 255.0); - // ofCircle(ofGetWidth() / 2, ofGetHeight()/2, i * 5); - glPushMatrix(); - glTranslatef(ofGetWidth()/2,ofGetHeight()/2, 0); - glRotatef(0.01 * ofGetFrameNum() * speed * i, 1, 0.1, 0); - // glutWireSphere(i * 5, 2 + (10 - (fabs(speed) * 10)), 2 + (fabs(speed) * 10)); - ofDrawSphere(0, 0, i * 5); - glPopMatrix(); - } - - - - -} - -//-------------------------------------------------------------- -void ofApp::audioOut(float * output, int bufferSize, int nChannels) { - - - for (int i = 0; i < bufferSize; i++){ - - /* Stick your maximilian 'play()' code in here ! Declare your objects in testApp.h. - - For information on how maximilian works, take a look at the example code at - - http://www.maximilian.strangeloop.co.uk - - under 'Tutorials'. - - */ - - - // wave = stretches[current]->play(speed, grainLength, 5, 0); - wave = stretches[current]->play(speed, 0.1, 4, 0); - // wave = stretches[current]->play2(pos, 0.1, 4); - if (fft.process(wave)) { - oct.calculate(fft.magnitudes); - } - - //play result - mymix.stereo(wave, outputs, 0.5); - output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - output[i*nChannels + 1] = outputs[1]; - - - - /* You may end up with lots of outputs. add them here */ - - - } - -} - -//-------------------------------------------------------------- -void ofApp::audioIn(float * input, int bufferSize, int nChannels){ - - // samples are "interleaved" - for(int i = 0; i < bufferSize; i++){ - /* you can also grab the data out of the arrays*/ - - } - -} - - -//-------------------------------------------------------------- -void ofApp::keyPressed(int key){ - - isTraining=!isTraining; - - cout << isTraining; - -} - -//-------------------------------------------------------------- -void ofApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void ofApp::mouseMoved(int x, int y){ - - if (isTraining) { - - speed = ((double ) x / ofGetWidth() * 4.0) - 2.0; - grainLength = ((double) y / ofGetHeight() * 0.1) + 0.001; - pos = ((double) x / ofGetWidth() * 2.0); - // cout << pos << endl; - - ofxOscMessage m; - m.setAddress("/wekinator/control/outputs"); - m.addFloatArg((float)x/ofGetWidth()); - m.addFloatArg((float)y/ofGetHeight()); - m.addFloatArg((float)current/stretches.size()-1); - sender.sendMessage(m); - cout << "messageSent" << "\n"; - } - - -} - -//-------------------------------------------------------------- -void ofApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void ofApp::mousePressed(int x, int y, int button){ - if (++current > stretches.size()-1) current = 0; - -} - -//-------------------------------------------------------------- -void ofApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void ofApp::windowResized(int w, int h){ - -} - -//-------------------------------------------------------------- -void ofApp::gotMessage(ofMessage msg){ - -} - -//-------------------------------------------------------------- -void ofApp::dragEvent(ofDragInfo dragInfo){ - -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.h b/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.h deleted file mode 100755 index bad37f9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExample_0.8.4_OSX_Granular/src/ofApp.h +++ /dev/null @@ -1,77 +0,0 @@ -#pragma once - -#include "ofMain.h" -#include "ofxMaxim.h" -#include "ofxMaxim.h" -#include "maxiGrains.h" -#include "ofxOsc.h" -#include - -#define HOST "localhost" -#define RECEIVEPORT 12000 -#define SENDPORT 6448 - -typedef hannWinFunctor grainPlayerWin; - - -class ofApp : public ofBaseApp{ - - public: - void setup(); - void update(); - void draw(); - void keyPressed(int key); - void keyReleased(int key); - void mouseMoved(int x, int y); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - - - void audioOut(float * output, int bufferSize, int nChannels); - void audioIn(float * input, int bufferSize, int nChannels); - - int bufferSize; - - /* stick you maximilian declarations below - - For information on how maximilian works, take a look at the example code at - - http://www.maximilian.strangeloop.co.uk - - under 'Tutorials'. - - - */ - - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick your maximilian stuff below */ - - double wave,sample,outputs[2]; - maxiSample samp, samp2, samp3, samp4, samp5; - vector*> stretches; - maxiMix mymix; - maxiTimestretch *ts, *ts2, *ts3, *ts4, *ts5; - double speed, grainLength; - - ofxMaxiFFT fft; - ofxMaxiFFTOctaveAnalyzer oct; - int current; - double pos; - - //osc - ofxOscSender sender; - ofxOscReceiver receiver; - - bool isTraining; - -}; - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/bin/data/beat2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/bin/data/beat2.wav deleted file mode 100644 index c71cee6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/emptyExample.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/emptyExample.xcodeproj/project.pbxproj deleted file mode 100644 index ee99d36..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/emptyExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,881 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 831DBDD112A5540B00670A99 /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBDC512A5540B00670A99 /* fft.cpp */; }; - 831DBDD412A5540B00670A99 /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBDCB12A5540B00670A99 /* maxiFFT.cpp */; }; - 831DBDD512A5540B00670A99 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBDCD12A5540B00670A99 /* maximilian.cpp */; }; - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE0A90E8CC67C009D7055 /* GLee.a */; }; - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE2E30E8CC69C009D7055 /* rtAudio.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; - E4C2422B10CC554B004149E2 /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2421E10CC549C004149E2 /* openFrameworksDebug.a */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427A10CC5B66004149E2 /* CppUnit.a */; }; - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427B10CC5B66004149E2 /* PocoFoundation.a */; }; - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427C10CC5B66004149E2 /* PocoNet.a */; }; - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427D10CC5B66004149E2 /* PocoUtil.a */; }; - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427E10CC5B66004149E2 /* PocoXML.a */; }; - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2429310CC5C38004149E2 /* freetype.a */; }; - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C242CC10CC650E004149E2 /* libfmodex.dylib */; }; - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */; }; - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C246D910CCAE22004149E2 /* freeimage.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4C2444710CC769B004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 831DBDC312A5540B00670A99 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 831DBDC512A5540B00670A99 /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 831DBDC612A5540B00670A99 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 831DBDCB12A5540B00670A99 /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 831DBDCC12A5540B00670A99 /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 831DBDCD12A5540B00670A99 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 831DBDCE12A5540B00670A99 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 831DBDD012A5540B00670A99 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - E45BE0390E8CC647009D7055 /* FreeImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FreeImage.h; path = ../../../libs/freeimage/include/FreeImage.h; sourceTree = SOURCE_ROOT; }; - E45BE03F0E8CC650009D7055 /* fmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod.h; path = ../../../libs/fmodex/include/fmod.h; sourceTree = SOURCE_ROOT; }; - E45BE0400E8CC650009D7055 /* fmod.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fmod.hpp; path = ../../../libs/fmodex/include/fmod.hpp; sourceTree = SOURCE_ROOT; }; - E45BE0410E8CC650009D7055 /* fmod_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_codec.h; path = ../../../libs/fmodex/include/fmod_codec.h; sourceTree = SOURCE_ROOT; }; - E45BE0420E8CC650009D7055 /* fmod_dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_dsp.h; path = ../../../libs/fmodex/include/fmod_dsp.h; sourceTree = SOURCE_ROOT; }; - E45BE0430E8CC650009D7055 /* fmod_errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_errors.h; path = ../../../libs/fmodex/include/fmod_errors.h; sourceTree = SOURCE_ROOT; }; - E45BE0440E8CC650009D7055 /* fmod_output.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_output.h; path = ../../../libs/fmodex/include/fmod_output.h; sourceTree = SOURCE_ROOT; }; - E45BE0A70E8CC67C009D7055 /* GLee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GLee.h; path = ../../../libs/GLee/include/GLee.h; sourceTree = SOURCE_ROOT; }; - E45BE0A90E8CC67C009D7055 /* GLee.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = GLee.a; path = ../../../libs/GLee/lib/osx/GLee.a; sourceTree = SOURCE_ROOT; }; - E45BE2E00E8CC69C009D7055 /* RtAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtAudio.h; path = ../../../libs/rtAudio/include/RtAudio.h; sourceTree = SOURCE_ROOT; }; - E45BE2E10E8CC69C009D7055 /* RtError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtError.h; path = ../../../libs/rtAudio/include/RtError.h; sourceTree = SOURCE_ROOT; }; - E45BE2E30E8CC69C009D7055 /* rtAudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = rtAudio.a; path = ../../../libs/rtAudio/lib/osx/rtAudio.a; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* maximilianExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = maximilianExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4C2425F10CC5A78004149E2 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = SOURCE_ROOT; }; - E4C2427A10CC5B66004149E2 /* CppUnit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = CppUnit.a; path = ../../../libs/poco/lib/osx/CppUnit.a; sourceTree = SOURCE_ROOT; }; - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoFoundation.a; path = ../../../libs/poco/lib/osx/PocoFoundation.a; sourceTree = SOURCE_ROOT; }; - E4C2427C10CC5B66004149E2 /* PocoNet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoNet.a; path = ../../../libs/poco/lib/osx/PocoNet.a; sourceTree = SOURCE_ROOT; }; - E4C2427D10CC5B66004149E2 /* PocoUtil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoUtil.a; path = ../../../libs/poco/lib/osx/PocoUtil.a; sourceTree = SOURCE_ROOT; }; - E4C2427E10CC5B66004149E2 /* PocoXML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoXML.a; path = ../../../libs/poco/lib/osx/PocoXML.a; sourceTree = SOURCE_ROOT; }; - E4C2429310CC5C38004149E2 /* freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freetype.a; path = ../../../libs/freetype/lib/osx/freetype.a; sourceTree = SOURCE_ROOT; }; - E4C242CC10CC650E004149E2 /* libfmodex.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfmodex.dylib; path = ../../../libs/fmodex/lib/osx/libfmodex.dylib; sourceTree = SOURCE_ROOT; }; - E4C246D910CCAE22004149E2 /* freeimage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freeimage.a; path = ../../../libs/FreeImage/lib/osx/freeimage.a; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4C2422B10CC554B004149E2 /* openFrameworksDebug.a in Frameworks */, - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */, - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */, - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */, - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */, - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */, - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */, - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */, - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */, - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */, - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 831DBDC212A5540B00670A99 /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 831DBDC312A5540B00670A99 /* install.xml */, - 831DBDC412A5540B00670A99 /* libs */, - 831DBDCF12A5540B00670A99 /* src */, - ); - name = ofxMaxim; - path = ../../../addons/ofxMaxim; - sourceTree = SOURCE_ROOT; - }; - 831DBDC412A5540B00670A99 /* libs */ = { - isa = PBXGroup; - children = ( - 831DBDC512A5540B00670A99 /* fft.cpp */, - 831DBDC612A5540B00670A99 /* fft.h */, - 831DBDCB12A5540B00670A99 /* maxiFFT.cpp */, - 831DBDCC12A5540B00670A99 /* maxiFFT.h */, - 831DBDCD12A5540B00670A99 /* maximilian.cpp */, - 831DBDCE12A5540B00670A99 /* maximilian.h */, - ); - path = libs; - sourceTree = ""; - }; - 831DBDCF12A5540B00670A99 /* src */ = { - isa = PBXGroup; - children = ( - 831DBDD012A5540B00670A99 /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - 8335604112A54201008354E9 /* addons */ = { - isa = PBXGroup; - children = ( - 831DBDC212A5540B00670A99 /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - E45BE0360E8CC5DE009D7055 /* libs */ = { - isa = PBXGroup; - children = ( - E45BEED60E8CCB34009D7055 /* core */, - ); - name = libs; - sourceTree = ""; - }; - E45BE0370E8CC647009D7055 /* freeimage */ = { - isa = PBXGroup; - children = ( - E4C246D810CCAE22004149E2 /* osx */, - E45BE0380E8CC647009D7055 /* include */, - ); - name = freeimage; - path = ../../../libs/freeimage; - sourceTree = SOURCE_ROOT; - }; - E45BE0380E8CC647009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0390E8CC647009D7055 /* FreeImage.h */, - ); - name = include; - path = ../../../libs/freeimage/include; - sourceTree = SOURCE_ROOT; - }; - E45BE03D0E8CC650009D7055 /* fmodex */ = { - isa = PBXGroup; - children = ( - E45BE03E0E8CC650009D7055 /* inc */, - E4C2428E10CC5C18004149E2 /* osx */, - ); - name = fmodex; - path = ../../../libs/fmodex; - sourceTree = SOURCE_ROOT; - }; - E45BE03E0E8CC650009D7055 /* inc */ = { - isa = PBXGroup; - children = ( - E45BE03F0E8CC650009D7055 /* fmod.h */, - E45BE0400E8CC650009D7055 /* fmod.hpp */, - E45BE0410E8CC650009D7055 /* fmod_codec.h */, - E45BE0420E8CC650009D7055 /* fmod_dsp.h */, - E45BE0430E8CC650009D7055 /* fmod_errors.h */, - E45BE0440E8CC650009D7055 /* fmod_output.h */, - ); - name = inc; - path = ../../../libs/fmodex/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0480E8CC657009D7055 /* core libraries */ = { - isa = PBXGroup; - children = ( - E4C2425B10CC5A78004149E2 /* glut */, - E45BEC7B0E8CC911009D7055 /* poco */, - E45BE2D50E8CC69C009D7055 /* rtAudio */, - E45BE0A50E8CC67C009D7055 /* GLee */, - E45BE0490E8CC676009D7055 /* freetype */, - E45BE03D0E8CC650009D7055 /* fmodex */, - E45BE0370E8CC647009D7055 /* freeimage */, - ); - name = "core libraries"; - sourceTree = ""; - }; - E45BE0490E8CC676009D7055 /* freetype */ = { - isa = PBXGroup; - children = ( - E4C2429210CC5C38004149E2 /* osx */, - ); - name = freetype; - path = ../../../libs/freetype; - sourceTree = SOURCE_ROOT; - }; - E45BE0A50E8CC67C009D7055 /* GLee */ = { - isa = PBXGroup; - children = ( - E45BE0A60E8CC67C009D7055 /* include */, - E45BE0A80E8CC67C009D7055 /* lib */, - ); - name = GLee; - path = ../../../libs/GLee; - sourceTree = SOURCE_ROOT; - }; - E45BE0A60E8CC67C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0A70E8CC67C009D7055 /* GLee.h */, - ); - name = include; - path = ../../../libs/GLee/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0A80E8CC67C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE0A90E8CC67C009D7055 /* GLee.a */, - ); - name = lib; - path = ../../../libs/GLee/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE2D50E8CC69C009D7055 /* rtAudio */ = { - isa = PBXGroup; - children = ( - E45BE2D60E8CC69C009D7055 /* include */, - E45BE2E20E8CC69C009D7055 /* lib */, - ); - name = rtAudio; - path = ../../../libs/rtAudio; - sourceTree = SOURCE_ROOT; - }; - E45BE2D60E8CC69C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE2D70E8CC69C009D7055 /* asio */, - E45BE2E00E8CC69C009D7055 /* RtAudio.h */, - E45BE2E10E8CC69C009D7055 /* RtError.h */, - ); - name = include; - path = ../../../libs/rtAudio/include; - sourceTree = SOURCE_ROOT; - }; - E45BE2D70E8CC69C009D7055 /* asio */ = { - isa = PBXGroup; - children = ( - ); - name = asio; - path = ../../../libs/rtAudio/include/asio; - sourceTree = SOURCE_ROOT; - }; - E45BE2E20E8CC69C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE2E30E8CC69C009D7055 /* rtAudio.a */, - ); - name = lib; - path = ../../../libs/rtAudio/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE5980E8CC70C009D7055 /* core frameworks */ = { - isa = PBXGroup; - children = ( - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - ); - name = "core frameworks"; - sourceTree = ""; - }; - E45BEC7B0E8CC911009D7055 /* poco */ = { - isa = PBXGroup; - children = ( - E4C2427910CC5B66004149E2 /* osx */, - ); - name = poco; - path = ../../../libs/poco; - sourceTree = SOURCE_ROOT; - }; - E45BEED60E8CCB34009D7055 /* core */ = { - isa = PBXGroup; - children = ( - E45BE0480E8CC657009D7055 /* core libraries */, - E45BE5980E8CC70C009D7055 /* core frameworks */, - ); - name = core; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - 8335604112A54201008354E9 /* addons */, - E4B69B5B0A3A1756003C02F2 /* maximilianExampleDebug.app */, - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4C2422310CC54B6004149E2 /* openFrameworks */, - E45BE0360E8CC5DE009D7055 /* libs */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4C2421710CC549C004149E2 /* Products */ = { - isa = PBXGroup; - children = ( - E4C2421E10CC549C004149E2 /* openFrameworksDebug.a */, - ); - name = Products; - sourceTree = ""; - }; - E4C2422310CC54B6004149E2 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; - E4C2425B10CC5A78004149E2 /* glut */ = { - isa = PBXGroup; - children = ( - E4C2425D10CC5A78004149E2 /* lib */, - ); - name = glut; - path = ../../../libs/glut; - sourceTree = SOURCE_ROOT; - }; - E4C2425D10CC5A78004149E2 /* lib */ = { - isa = PBXGroup; - children = ( - E4C2425E10CC5A78004149E2 /* osx */, - ); - name = lib; - path = ../../../libs/glut/lib; - sourceTree = SOURCE_ROOT; - }; - E4C2425E10CC5A78004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2425F10CC5A78004149E2 /* GLUT.framework */, - ); - name = osx; - path = ../../../libs/glut/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2427910CC5B66004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2427A10CC5B66004149E2 /* CppUnit.a */, - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */, - E4C2427C10CC5B66004149E2 /* PocoNet.a */, - E4C2427D10CC5B66004149E2 /* PocoUtil.a */, - E4C2427E10CC5B66004149E2 /* PocoXML.a */, - ); - name = osx; - path = ../../../libs/poco/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2428E10CC5C18004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C242CC10CC650E004149E2 /* libfmodex.dylib */, - ); - name = osx; - path = ../../../libs/fmodex/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2429210CC5C38004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2429310CC5C38004149E2 /* freetype.a */, - ); - name = osx; - path = ../../../libs/freetype/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C246D810CCAE22004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C246D910CCAE22004149E2 /* freeimage.a */, - ); - name = osx; - path = ../../../libs/FreeImage/lib/osx; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* maximilianExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "maximilianExample" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - E4C2444710CC769B004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4C2422810CC54DA004149E2 /* PBXTargetDependency */, - ); - name = maximilianExample; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* maximilianExampleDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4C2421710CC549C004149E2 /* Products */; - ProjectRef = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* maximilianExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4C2421E10CC549C004149E2 /* openFrameworksDebug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworksDebug.a; - remoteRef = E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"\ninstall_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\" "; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, - 831DBDD112A5540B00670A99 /* fft.cpp in Sources */, - 831DBDD412A5540B00670A99 /* maxiFFT.cpp in Sources */, - 831DBDD512A5540B00670A99 /* maximilian.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4C2422810CC54DA004149E2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B27CA010CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = ReleaseUniversal; - }; - E4B27CA110CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Universal"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = ReleaseUniversal; - }; - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G4; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - E4B27CA010CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "maximilianExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - E4B27CA110CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/openFrameworks-Info.plist deleted file mode 100644 index e5db555..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/openFrameworks-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/main.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/main.cpp deleted file mode 100644 index 312c54e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 800,600, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.cpp deleted file mode 100644 index c86526e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" - - - -//------------------------------------------------------------- -testApp::~testApp() { - - delete beat.myData; /*you should probably delete myData for any sample object - that you've created in testApp.h*/ - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - /* some standard setup stuff*/ - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetVerticalSync(true); - - - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; - - /* Now you can put anything you would normally put in maximilian's 'setup' method in here. */ - - - beat.load(ofToDataPath("beat2.wav")); - beat.getLength(); - - - ofSoundStreamSetup(2,0,this, sampleRate, initialBufferSize, 4);} - -//-------------------------------------------------------------- -void testApp::update(){ - -} - -//-------------------------------------------------------------- -void testApp::draw(){ - - - ofSetColor(255, 255, 255,255); - ofRect(600, 300, sample*150, sample*150); /* audio sigs go between -1 and 1. See?*/ - ofCircle(200, 300, wave*150); - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ - - for (int i = 0; i < bufferSize; i++){ - - - - sample=beat.play(0.5, 0, beat.length); - wave=sine1.sinebuf(abs(mouseX));/* mouse controls sinewave pitch. we get abs value to stop it dropping -// delow zero and killing the soundcard*/ - - mymix.stereo(sample + wave, outputs, 0.5); - - - output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - output[i*nChannels + 1] = outputs[1]; - } - -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - - - /* You can just grab this input and stick it in a double, then use it above to create output*/ - - for (int i = 0; i < bufferSize; i++){ - - /* you can also grab the data out of the arrays*/ - - - } - -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - - - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.h b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.h deleted file mode 100644 index ed251be..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example/src/testApp.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "ofxMaxim.h" - - -class testApp : public ofBaseApp{ - - public: - ~testApp();/* deconsructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick you maximilian stuff below */ - - double wave,sample,outputs[2]; - ofxMaxiMix mymix; - ofxMaxiOsc sine1; - ofxMaxiSample beats,beat; - -}; - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.pbxproj deleted file mode 100644 index ec0203e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.pbxproj +++ /dev/null @@ -1,885 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 831DBE2512A557A500670A99 /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE1912A557A500670A99 /* fft.cpp */; }; - 831DBE2812A557A500670A99 /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE1F12A557A500670A99 /* maxiFFT.cpp */; }; - 831DBE2912A557A500670A99 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE2112A557A500670A99 /* maximilian.cpp */; }; - 83B352D812A6A1BB001DE187 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83B352D712A6A1BB001DE187 /* Accelerate.framework */; }; - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE0A90E8CC67C009D7055 /* GLee.a */; }; - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE2E30E8CC69C009D7055 /* rtAudio.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; - E4C2422B10CC554B004149E2 /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2421E10CC549C004149E2 /* openFrameworks.a */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427A10CC5B66004149E2 /* CppUnit.a */; }; - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427B10CC5B66004149E2 /* PocoFoundation.a */; }; - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427C10CC5B66004149E2 /* PocoNet.a */; }; - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427D10CC5B66004149E2 /* PocoUtil.a */; }; - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427E10CC5B66004149E2 /* PocoXML.a */; }; - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2429310CC5C38004149E2 /* freetype.a */; }; - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C242CC10CC650E004149E2 /* libfmodex.dylib */; }; - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */; }; - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C246D910CCAE22004149E2 /* freeimage.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4C2444710CC769B004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 831DBE1712A557A500670A99 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 831DBE1912A557A500670A99 /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 831DBE1A12A557A500670A99 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 831DBE1F12A557A500670A99 /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 831DBE2012A557A500670A99 /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 831DBE2112A557A500670A99 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 831DBE2212A557A500670A99 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 831DBE2412A557A500670A99 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - 83B352D712A6A1BB001DE187 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - E45BE0390E8CC647009D7055 /* FreeImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FreeImage.h; path = ../../../libs/freeimage/include/FreeImage.h; sourceTree = SOURCE_ROOT; }; - E45BE03F0E8CC650009D7055 /* fmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod.h; path = ../../../libs/fmodex/include/fmod.h; sourceTree = SOURCE_ROOT; }; - E45BE0400E8CC650009D7055 /* fmod.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fmod.hpp; path = ../../../libs/fmodex/include/fmod.hpp; sourceTree = SOURCE_ROOT; }; - E45BE0410E8CC650009D7055 /* fmod_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_codec.h; path = ../../../libs/fmodex/include/fmod_codec.h; sourceTree = SOURCE_ROOT; }; - E45BE0420E8CC650009D7055 /* fmod_dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_dsp.h; path = ../../../libs/fmodex/include/fmod_dsp.h; sourceTree = SOURCE_ROOT; }; - E45BE0430E8CC650009D7055 /* fmod_errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_errors.h; path = ../../../libs/fmodex/include/fmod_errors.h; sourceTree = SOURCE_ROOT; }; - E45BE0440E8CC650009D7055 /* fmod_output.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_output.h; path = ../../../libs/fmodex/include/fmod_output.h; sourceTree = SOURCE_ROOT; }; - E45BE0A70E8CC67C009D7055 /* GLee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GLee.h; path = ../../../libs/GLee/include/GLee.h; sourceTree = SOURCE_ROOT; }; - E45BE0A90E8CC67C009D7055 /* GLee.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = GLee.a; path = ../../../libs/GLee/lib/osx/GLee.a; sourceTree = SOURCE_ROOT; }; - E45BE2E00E8CC69C009D7055 /* RtAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtAudio.h; path = ../../../libs/rtAudio/include/RtAudio.h; sourceTree = SOURCE_ROOT; }; - E45BE2E10E8CC69C009D7055 /* RtError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtError.h; path = ../../../libs/rtAudio/include/RtError.h; sourceTree = SOURCE_ROOT; }; - E45BE2E30E8CC69C009D7055 /* rtAudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = rtAudio.a; path = ../../../libs/rtAudio/lib/osx/rtAudio.a; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* maximilian_fftDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = maximilian_fftDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4C2425F10CC5A78004149E2 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = SOURCE_ROOT; }; - E4C2427A10CC5B66004149E2 /* CppUnit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = CppUnit.a; path = ../../../libs/poco/lib/osx/CppUnit.a; sourceTree = SOURCE_ROOT; }; - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoFoundation.a; path = ../../../libs/poco/lib/osx/PocoFoundation.a; sourceTree = SOURCE_ROOT; }; - E4C2427C10CC5B66004149E2 /* PocoNet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoNet.a; path = ../../../libs/poco/lib/osx/PocoNet.a; sourceTree = SOURCE_ROOT; }; - E4C2427D10CC5B66004149E2 /* PocoUtil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoUtil.a; path = ../../../libs/poco/lib/osx/PocoUtil.a; sourceTree = SOURCE_ROOT; }; - E4C2427E10CC5B66004149E2 /* PocoXML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoXML.a; path = ../../../libs/poco/lib/osx/PocoXML.a; sourceTree = SOURCE_ROOT; }; - E4C2429310CC5C38004149E2 /* freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freetype.a; path = ../../../libs/freetype/lib/osx/freetype.a; sourceTree = SOURCE_ROOT; }; - E4C242CC10CC650E004149E2 /* libfmodex.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfmodex.dylib; path = ../../../libs/fmodex/lib/osx/libfmodex.dylib; sourceTree = SOURCE_ROOT; }; - E4C246D910CCAE22004149E2 /* freeimage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freeimage.a; path = ../../../libs/FreeImage/lib/osx/freeimage.a; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4C2422B10CC554B004149E2 /* openFrameworks.a in Frameworks */, - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */, - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */, - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */, - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */, - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */, - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */, - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */, - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */, - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */, - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */, - 83B352D812A6A1BB001DE187 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 831DBE1012A5579B00670A99 /* addons */ = { - isa = PBXGroup; - children = ( - 831DBE1612A557A500670A99 /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - 831DBE1612A557A500670A99 /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 831DBE1712A557A500670A99 /* install.xml */, - 831DBE1812A557A500670A99 /* libs */, - 831DBE2312A557A500670A99 /* src */, - ); - name = ofxMaxim; - path = ../../../addons/ofxMaxim; - sourceTree = SOURCE_ROOT; - }; - 831DBE1812A557A500670A99 /* libs */ = { - isa = PBXGroup; - children = ( - 831DBE1912A557A500670A99 /* fft.cpp */, - 831DBE1A12A557A500670A99 /* fft.h */, - 831DBE1F12A557A500670A99 /* maxiFFT.cpp */, - 831DBE2012A557A500670A99 /* maxiFFT.h */, - 831DBE2112A557A500670A99 /* maximilian.cpp */, - 831DBE2212A557A500670A99 /* maximilian.h */, - ); - path = libs; - sourceTree = ""; - }; - 831DBE2312A557A500670A99 /* src */ = { - isa = PBXGroup; - children = ( - 831DBE2412A557A500670A99 /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - E45BE0360E8CC5DE009D7055 /* libs */ = { - isa = PBXGroup; - children = ( - E45BEED60E8CCB34009D7055 /* core */, - ); - name = libs; - sourceTree = ""; - }; - E45BE0370E8CC647009D7055 /* freeimage */ = { - isa = PBXGroup; - children = ( - E4C246D810CCAE22004149E2 /* osx */, - E45BE0380E8CC647009D7055 /* include */, - ); - name = freeimage; - path = ../../../libs/freeimage; - sourceTree = SOURCE_ROOT; - }; - E45BE0380E8CC647009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0390E8CC647009D7055 /* FreeImage.h */, - ); - name = include; - path = ../../../libs/freeimage/include; - sourceTree = SOURCE_ROOT; - }; - E45BE03D0E8CC650009D7055 /* fmodex */ = { - isa = PBXGroup; - children = ( - E45BE03E0E8CC650009D7055 /* inc */, - E4C2428E10CC5C18004149E2 /* osx */, - ); - name = fmodex; - path = ../../../libs/fmodex; - sourceTree = SOURCE_ROOT; - }; - E45BE03E0E8CC650009D7055 /* inc */ = { - isa = PBXGroup; - children = ( - E45BE03F0E8CC650009D7055 /* fmod.h */, - E45BE0400E8CC650009D7055 /* fmod.hpp */, - E45BE0410E8CC650009D7055 /* fmod_codec.h */, - E45BE0420E8CC650009D7055 /* fmod_dsp.h */, - E45BE0430E8CC650009D7055 /* fmod_errors.h */, - E45BE0440E8CC650009D7055 /* fmod_output.h */, - ); - name = inc; - path = ../../../libs/fmodex/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0480E8CC657009D7055 /* core libraries */ = { - isa = PBXGroup; - children = ( - E4C2425B10CC5A78004149E2 /* glut */, - E45BEC7B0E8CC911009D7055 /* poco */, - E45BE2D50E8CC69C009D7055 /* rtAudio */, - E45BE0A50E8CC67C009D7055 /* GLee */, - E45BE0490E8CC676009D7055 /* freetype */, - E45BE03D0E8CC650009D7055 /* fmodex */, - E45BE0370E8CC647009D7055 /* freeimage */, - ); - name = "core libraries"; - sourceTree = ""; - }; - E45BE0490E8CC676009D7055 /* freetype */ = { - isa = PBXGroup; - children = ( - E4C2429210CC5C38004149E2 /* osx */, - ); - name = freetype; - path = ../../../libs/freetype; - sourceTree = SOURCE_ROOT; - }; - E45BE0A50E8CC67C009D7055 /* GLee */ = { - isa = PBXGroup; - children = ( - E45BE0A60E8CC67C009D7055 /* include */, - E45BE0A80E8CC67C009D7055 /* lib */, - ); - name = GLee; - path = ../../../libs/GLee; - sourceTree = SOURCE_ROOT; - }; - E45BE0A60E8CC67C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0A70E8CC67C009D7055 /* GLee.h */, - ); - name = include; - path = ../../../libs/GLee/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0A80E8CC67C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE0A90E8CC67C009D7055 /* GLee.a */, - ); - name = lib; - path = ../../../libs/GLee/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE2D50E8CC69C009D7055 /* rtAudio */ = { - isa = PBXGroup; - children = ( - E45BE2D60E8CC69C009D7055 /* include */, - E45BE2E20E8CC69C009D7055 /* lib */, - ); - name = rtAudio; - path = ../../../libs/rtAudio; - sourceTree = SOURCE_ROOT; - }; - E45BE2D60E8CC69C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE2D70E8CC69C009D7055 /* asio */, - E45BE2E00E8CC69C009D7055 /* RtAudio.h */, - E45BE2E10E8CC69C009D7055 /* RtError.h */, - ); - name = include; - path = ../../../libs/rtAudio/include; - sourceTree = SOURCE_ROOT; - }; - E45BE2D70E8CC69C009D7055 /* asio */ = { - isa = PBXGroup; - children = ( - ); - name = asio; - path = ../../../libs/rtAudio/include/asio; - sourceTree = SOURCE_ROOT; - }; - E45BE2E20E8CC69C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE2E30E8CC69C009D7055 /* rtAudio.a */, - ); - name = lib; - path = ../../../libs/rtAudio/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE5980E8CC70C009D7055 /* core frameworks */ = { - isa = PBXGroup; - children = ( - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - 83B352D712A6A1BB001DE187 /* Accelerate.framework */, - ); - name = "core frameworks"; - sourceTree = ""; - }; - E45BEC7B0E8CC911009D7055 /* poco */ = { - isa = PBXGroup; - children = ( - E4C2427910CC5B66004149E2 /* osx */, - ); - name = poco; - path = ../../../libs/poco; - sourceTree = SOURCE_ROOT; - }; - E45BEED60E8CCB34009D7055 /* core */ = { - isa = PBXGroup; - children = ( - E45BE0480E8CC657009D7055 /* core libraries */, - E45BE5980E8CC70C009D7055 /* core frameworks */, - ); - name = core; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - 831DBE1012A5579B00670A99 /* addons */, - E4B69B5B0A3A1756003C02F2 /* maximilian_fftDebug.app */, - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4C2422310CC54B6004149E2 /* openFrameworks */, - E45BE0360E8CC5DE009D7055 /* libs */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4C2421710CC549C004149E2 /* Products */ = { - isa = PBXGroup; - children = ( - E4C2421E10CC549C004149E2 /* openFrameworks.a */, - ); - name = Products; - sourceTree = ""; - }; - E4C2422310CC54B6004149E2 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; - E4C2425B10CC5A78004149E2 /* glut */ = { - isa = PBXGroup; - children = ( - E4C2425D10CC5A78004149E2 /* lib */, - ); - name = glut; - path = ../../../libs/glut; - sourceTree = SOURCE_ROOT; - }; - E4C2425D10CC5A78004149E2 /* lib */ = { - isa = PBXGroup; - children = ( - E4C2425E10CC5A78004149E2 /* osx */, - ); - name = lib; - path = ../../../libs/glut/lib; - sourceTree = SOURCE_ROOT; - }; - E4C2425E10CC5A78004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2425F10CC5A78004149E2 /* GLUT.framework */, - ); - name = osx; - path = ../../../libs/glut/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2427910CC5B66004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2427A10CC5B66004149E2 /* CppUnit.a */, - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */, - E4C2427C10CC5B66004149E2 /* PocoNet.a */, - E4C2427D10CC5B66004149E2 /* PocoUtil.a */, - E4C2427E10CC5B66004149E2 /* PocoXML.a */, - ); - name = osx; - path = ../../../libs/poco/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2428E10CC5C18004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C242CC10CC650E004149E2 /* libfmodex.dylib */, - ); - name = osx; - path = ../../../libs/fmodex/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2429210CC5C38004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2429310CC5C38004149E2 /* freetype.a */, - ); - name = osx; - path = ../../../libs/freetype/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C246D810CCAE22004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C246D910CCAE22004149E2 /* freeimage.a */, - ); - name = osx; - path = ../../../libs/FreeImage/lib/osx; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* maximilian_fft */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "maximilian_fft" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - E4C2444710CC769B004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4C2422810CC54DA004149E2 /* PBXTargetDependency */, - ); - name = maximilian_fft; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* maximilian_fftDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofMaximilian_fft" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4C2421710CC549C004149E2 /* Products */; - ProjectRef = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* maximilian_fft */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4C2421E10CC549C004149E2 /* openFrameworks.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworks.a; - remoteRef = E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"\ninstall_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\" "; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, - 831DBE2512A557A500670A99 /* fft.cpp in Sources */, - 831DBE2812A557A500670A99 /* maxiFFT.cpp in Sources */, - 831DBE2912A557A500670A99 /* maximilian.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4C2422810CC54DA004149E2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B27CA010CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = ReleaseUniversal; - }; - E4B27CA110CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Universal"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = ReleaseUniversal; - }; - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G4; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofMaximilian_fft" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - E4B27CA010CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "maximilian_fft" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - E4B27CA110CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index a96b15e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 49d9781..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/maximilian_fft.xcscheme b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/maximilian_fft.xcscheme deleted file mode 100644 index 35996e8..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/maximilian_fft.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 552925a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/ofMaximilian_fft.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - maximilian_fft.xcscheme - - orderHint - 0 - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/openFrameworks-Info.plist deleted file mode 100644 index e5db555..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/openFrameworks-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/main.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/main.cpp deleted file mode 100644 index 6a32c6a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.cpp deleted file mode 100644 index c688655..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" -#include "maximilian.h"/* include the lib */ -#include "time.h" - - - -//------------------------------------------------------------- -testApp::~testApp() { - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - /* some standard setup stuff*/ - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetFrameRate(60); - - /* This is stuff you always need.*/ - - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; /* Buffer Size. you have to fill this buffer with sound*/ - lAudioOut = new float[initialBufferSize];/* outputs */ - rAudioOut = new float[initialBufferSize]; - lAudioIn = new float[initialBufferSize];/* inputs */ - rAudioIn = new float[initialBufferSize]; - - - /* This is a nice safe piece of code */ - memset(lAudioOut, 0, initialBufferSize * sizeof(float)); - memset(rAudioOut, 0, initialBufferSize * sizeof(float)); - - memset(lAudioIn, 0, initialBufferSize * sizeof(float)); - memset(rAudioIn, 0, initialBufferSize * sizeof(float)); - - /* Now you can put anything you would normally put in maximilian's 'setup' method in here. */ - - - - fftSize = 1024; - mfft.setup(fftSize, 1024, 256); - ifft.setup(fftSize, 1024, 256); - - - - nAverages = 12; - oct.setup(sampleRate, fftSize/2, nAverages); - - ofxMaxiSettings::setup(sampleRate, 2, initialBufferSize); - ofSoundStreamSetup(2,0, this, sampleRate, initialBufferSize, 4);/* Call this last ! */ - - ofSetVerticalSync(true); - -} - -//-------------------------------------------------------------- -void testApp::update(){ -} - -//-------------------------------------------------------------- -void testApp::draw(){ - - ofSetColor(255, 255, 255,255); - - //draw fft output - float xinc = 900.0 / fftSize * 2.0; - for(int i=0; i < fftSize / 2; i++) { - float height = mfft.magnitudesDB[i] / 50.0 * 400; - ofRect(100 + (i*xinc),450 - height,2, height); - } - //draw phases - ofSetColor(0, 255, 0,100); - for(int i=0; i < fftSize / 2; i++) { - float height = mfft.phases[i] / 50.0 * 400; - ofRect(100 + (i*xinc),500 - height,2, height); - } - - //octave analyser - ofSetColor(255, 0, 0,100); - xinc = 900.0 / oct.nAverages; - for(int i=0; i < oct.nAverages; i++) { - float height = oct.averages[i] / 50.0 * 100; - ofRect(100 + (i*xinc),700 - height,2, height); - } - -// cout << callTime << endl; - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ -// static double tm; - for (int i = 0; i < bufferSize; i++){ - wave = osc.saw(maxiMap::linexp(mouseY + ofGetWindowPositionY(), 0, ofGetScreenHeight(), 200, 8000)); - //get fft - if (mfft.process(wave)) { - int bins = fftSize / 2.0; - //do some manipulation - int hpCutoff = floor(((mouseX + ofGetWindowPositionX()) / (float) ofGetScreenWidth()) * fftSize / 2.0); -//highpass - memset(mfft.magnitudes, 0, sizeof(float) * hpCutoff); - memset(mfft.phases, 0, sizeof(float) * hpCutoff); -//lowpass -// memset(mfft.magnitudes + hpCutoff, 0, sizeof(float) * (bins - hpCutoff)); -// memset(mfft.phases + hpCutoff, 0, sizeof(float) * (bins - hpCutoff)); - mfft.magsToDB(); - oct.calculate(mfft.magnitudesDB); - cout << mfft.spectralFlatness() << ", " << mfft.spectralCentroid() << endl; - } - //inverse fft - gettimeofday(&callTS,NULL); - ifftVal = ifft.process(mfft.magnitudes, mfft.phases); - gettimeofday(&callEndTS,NULL); - callTime = (float)(callEndTS.tv_usec - callTS.tv_usec) / 1000000.0; - callTime += (float)(callEndTS.tv_sec - callTS.tv_sec); - //play result - mymix.stereo(ifftVal, outputs, 0.5); -// float mix = ((mouseX + ofGetWindowPositionX()) / (float) ofGetScreenWidth()); -// mymix.stereo((wave * mix) + ((1.0-mix) * ifftVal), outputs, 0.5); - lAudioOut[i] = output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - rAudioOut[i] = output[i*nChannels + 1] = outputs[1]; - } - - - -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - - - /* You can just grab this input and stick it in a double, then use it above to create output*/ - - for (int i = 0; i < bufferSize; i++){ - - /* you can also grab the data out of the arrays*/ - - lAudioIn[i] = input[i*2]; - rAudioIn[i] = input[i*2+1]; - } - -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - - - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.h b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.h deleted file mode 100644 index ff8a65f..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_fft/src/testApp.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "ofxMaxim.h" -#include - -class testApp : public ofBaseApp{ - - public: - ~testApp();/* deconsructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - float * lAudioOut; /* outputs */ - float * rAudioOut; - - float * lAudioIn; /* inputs */ - float * rAudioIn; - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick you maximilian stuff below */ - - double wave,sample,outputs[2], ifftVal; - maxiMix mymix; - maxiOsc osc; - - ofxMaxiFFTOctaveAnalyzer oct; - int nAverages; - float *ifftOutput; - int ifftSize; - - ofxMaxiIFFT ifft; - ofxMaxiFFT mfft; - int fftSize; - int bins, dataSize; - - float callTime; - timeval callTS, callEndTS; - - - - -}; - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav deleted file mode 100644 index 81666d1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav deleted file mode 100644 index 490d9ea..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/26393__brfindla__Calango1berimbau.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/26393__brfindla__Calango1berimbau.wav deleted file mode 100644 index a9c93a4..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/26393__brfindla__Calango1berimbau.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav deleted file mode 100644 index b23c5f0..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav deleted file mode 100644 index 19064f2..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/68373__juskiddink__Cello_open_string_bowed.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav deleted file mode 100644 index 98860be..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/ofMaximilian_granular.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/ofMaximilian_granular.xcodeproj/project.pbxproj deleted file mode 100644 index eb9c289..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/ofMaximilian_granular.xcodeproj/project.pbxproj +++ /dev/null @@ -1,901 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 831DBE2512A557A500670A99 /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE1912A557A500670A99 /* fft.cpp */; }; - 831DBE2812A557A500670A99 /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE1F12A557A500670A99 /* maxiFFT.cpp */; }; - 831DBE2912A557A500670A99 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE2112A557A500670A99 /* maximilian.cpp */; }; - 8337F80812AE5B850035703D /* maxiGrains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8337F80712AE5B850035703D /* maxiGrains.cpp */; }; - 83B352D812A6A1BB001DE187 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83B352D712A6A1BB001DE187 /* Accelerate.framework */; }; - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE0A90E8CC67C009D7055 /* GLee.a */; }; - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE2E30E8CC69C009D7055 /* rtAudio.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; - E4C2422B10CC554B004149E2 /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2421E10CC549C004149E2 /* openFrameworks.a */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427A10CC5B66004149E2 /* CppUnit.a */; }; - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427B10CC5B66004149E2 /* PocoFoundation.a */; }; - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427C10CC5B66004149E2 /* PocoNet.a */; }; - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427D10CC5B66004149E2 /* PocoUtil.a */; }; - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427E10CC5B66004149E2 /* PocoXML.a */; }; - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2429310CC5C38004149E2 /* freetype.a */; }; - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C242CC10CC650E004149E2 /* libfmodex.dylib */; }; - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */; }; - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C246D910CCAE22004149E2 /* freeimage.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4C2444710CC769B004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 831DBE1712A557A500670A99 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 831DBE1912A557A500670A99 /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 831DBE1A12A557A500670A99 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 831DBE1F12A557A500670A99 /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 831DBE2012A557A500670A99 /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 831DBE2112A557A500670A99 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 831DBE2212A557A500670A99 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 831DBE2412A557A500670A99 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - 8337F80612AE5B850035703D /* maxiGrains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiGrains.h; sourceTree = ""; }; - 8337F80712AE5B850035703D /* maxiGrains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiGrains.cpp; sourceTree = ""; }; - 83B352D712A6A1BB001DE187 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - E45BE0390E8CC647009D7055 /* FreeImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FreeImage.h; path = ../../../libs/freeimage/include/FreeImage.h; sourceTree = SOURCE_ROOT; }; - E45BE03F0E8CC650009D7055 /* fmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod.h; path = ../../../libs/fmodex/include/fmod.h; sourceTree = SOURCE_ROOT; }; - E45BE0400E8CC650009D7055 /* fmod.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fmod.hpp; path = ../../../libs/fmodex/include/fmod.hpp; sourceTree = SOURCE_ROOT; }; - E45BE0410E8CC650009D7055 /* fmod_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_codec.h; path = ../../../libs/fmodex/include/fmod_codec.h; sourceTree = SOURCE_ROOT; }; - E45BE0420E8CC650009D7055 /* fmod_dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_dsp.h; path = ../../../libs/fmodex/include/fmod_dsp.h; sourceTree = SOURCE_ROOT; }; - E45BE0430E8CC650009D7055 /* fmod_errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_errors.h; path = ../../../libs/fmodex/include/fmod_errors.h; sourceTree = SOURCE_ROOT; }; - E45BE0440E8CC650009D7055 /* fmod_output.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_output.h; path = ../../../libs/fmodex/include/fmod_output.h; sourceTree = SOURCE_ROOT; }; - E45BE0A70E8CC67C009D7055 /* GLee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GLee.h; path = ../../../libs/GLee/include/GLee.h; sourceTree = SOURCE_ROOT; }; - E45BE0A90E8CC67C009D7055 /* GLee.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = GLee.a; path = ../../../libs/GLee/lib/osx/GLee.a; sourceTree = SOURCE_ROOT; }; - E45BE2E00E8CC69C009D7055 /* RtAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtAudio.h; path = ../../../libs/rtAudio/include/RtAudio.h; sourceTree = SOURCE_ROOT; }; - E45BE2E10E8CC69C009D7055 /* RtError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtError.h; path = ../../../libs/rtAudio/include/RtError.h; sourceTree = SOURCE_ROOT; }; - E45BE2E30E8CC69C009D7055 /* rtAudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = rtAudio.a; path = ../../../libs/rtAudio/lib/osx/rtAudio.a; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* maximilian_granularDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = maximilian_granularDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4C2425F10CC5A78004149E2 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = SOURCE_ROOT; }; - E4C2427A10CC5B66004149E2 /* CppUnit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = CppUnit.a; path = ../../../libs/poco/lib/osx/CppUnit.a; sourceTree = SOURCE_ROOT; }; - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoFoundation.a; path = ../../../libs/poco/lib/osx/PocoFoundation.a; sourceTree = SOURCE_ROOT; }; - E4C2427C10CC5B66004149E2 /* PocoNet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoNet.a; path = ../../../libs/poco/lib/osx/PocoNet.a; sourceTree = SOURCE_ROOT; }; - E4C2427D10CC5B66004149E2 /* PocoUtil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoUtil.a; path = ../../../libs/poco/lib/osx/PocoUtil.a; sourceTree = SOURCE_ROOT; }; - E4C2427E10CC5B66004149E2 /* PocoXML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoXML.a; path = ../../../libs/poco/lib/osx/PocoXML.a; sourceTree = SOURCE_ROOT; }; - E4C2429310CC5C38004149E2 /* freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freetype.a; path = ../../../libs/freetype/lib/osx/freetype.a; sourceTree = SOURCE_ROOT; }; - E4C242CC10CC650E004149E2 /* libfmodex.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfmodex.dylib; path = ../../../libs/fmodex/lib/osx/libfmodex.dylib; sourceTree = SOURCE_ROOT; }; - E4C246D910CCAE22004149E2 /* freeimage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freeimage.a; path = ../../../libs/FreeImage/lib/osx/freeimage.a; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4C2422B10CC554B004149E2 /* openFrameworks.a in Frameworks */, - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */, - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */, - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */, - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */, - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */, - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */, - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */, - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */, - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */, - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */, - 83B352D812A6A1BB001DE187 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 831DBE1012A5579B00670A99 /* addons */ = { - isa = PBXGroup; - children = ( - 831DBE1612A557A500670A99 /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - 831DBE1612A557A500670A99 /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 831DBE1712A557A500670A99 /* install.xml */, - 831DBE1812A557A500670A99 /* libs */, - 831DBE2312A557A500670A99 /* src */, - ); - name = ofxMaxim; - path = ../../../addons/ofxMaxim; - sourceTree = SOURCE_ROOT; - }; - 831DBE1812A557A500670A99 /* libs */ = { - isa = PBXGroup; - children = ( - 831DBE1912A557A500670A99 /* fft.cpp */, - 831DBE1A12A557A500670A99 /* fft.h */, - 831DBE1F12A557A500670A99 /* maxiFFT.cpp */, - 831DBE2012A557A500670A99 /* maxiFFT.h */, - 831DBE2112A557A500670A99 /* maximilian.cpp */, - 831DBE2212A557A500670A99 /* maximilian.h */, - 8337F80612AE5B850035703D /* maxiGrains.h */, - 8337F80712AE5B850035703D /* maxiGrains.cpp */, - ); - path = libs; - sourceTree = ""; - }; - 831DBE2312A557A500670A99 /* src */ = { - isa = PBXGroup; - children = ( - 831DBE2412A557A500670A99 /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - 83FCA95E12E848EC00256429 /* frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = frameworks; - sourceTree = ""; - }; - E45BE0360E8CC5DE009D7055 /* libs */ = { - isa = PBXGroup; - children = ( - E45BEED60E8CCB34009D7055 /* core */, - ); - name = libs; - sourceTree = ""; - }; - E45BE0370E8CC647009D7055 /* freeimage */ = { - isa = PBXGroup; - children = ( - E4C246D810CCAE22004149E2 /* osx */, - E45BE0380E8CC647009D7055 /* include */, - ); - name = freeimage; - path = ../../../libs/freeimage; - sourceTree = SOURCE_ROOT; - }; - E45BE0380E8CC647009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0390E8CC647009D7055 /* FreeImage.h */, - ); - name = include; - path = ../../../libs/freeimage/include; - sourceTree = SOURCE_ROOT; - }; - E45BE03D0E8CC650009D7055 /* fmodex */ = { - isa = PBXGroup; - children = ( - E45BE03E0E8CC650009D7055 /* inc */, - E4C2428E10CC5C18004149E2 /* osx */, - ); - name = fmodex; - path = ../../../libs/fmodex; - sourceTree = SOURCE_ROOT; - }; - E45BE03E0E8CC650009D7055 /* inc */ = { - isa = PBXGroup; - children = ( - E45BE03F0E8CC650009D7055 /* fmod.h */, - E45BE0400E8CC650009D7055 /* fmod.hpp */, - E45BE0410E8CC650009D7055 /* fmod_codec.h */, - E45BE0420E8CC650009D7055 /* fmod_dsp.h */, - E45BE0430E8CC650009D7055 /* fmod_errors.h */, - E45BE0440E8CC650009D7055 /* fmod_output.h */, - ); - name = inc; - path = ../../../libs/fmodex/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0480E8CC657009D7055 /* core libraries */ = { - isa = PBXGroup; - children = ( - E4C2425B10CC5A78004149E2 /* glut */, - E45BEC7B0E8CC911009D7055 /* poco */, - E45BE2D50E8CC69C009D7055 /* rtAudio */, - E45BE0A50E8CC67C009D7055 /* GLee */, - E45BE0490E8CC676009D7055 /* freetype */, - E45BE03D0E8CC650009D7055 /* fmodex */, - E45BE0370E8CC647009D7055 /* freeimage */, - ); - name = "core libraries"; - sourceTree = ""; - }; - E45BE0490E8CC676009D7055 /* freetype */ = { - isa = PBXGroup; - children = ( - E4C2429210CC5C38004149E2 /* osx */, - ); - name = freetype; - path = ../../../libs/freetype; - sourceTree = SOURCE_ROOT; - }; - E45BE0A50E8CC67C009D7055 /* GLee */ = { - isa = PBXGroup; - children = ( - E45BE0A60E8CC67C009D7055 /* include */, - E45BE0A80E8CC67C009D7055 /* lib */, - ); - name = GLee; - path = ../../../libs/GLee; - sourceTree = SOURCE_ROOT; - }; - E45BE0A60E8CC67C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0A70E8CC67C009D7055 /* GLee.h */, - ); - name = include; - path = ../../../libs/GLee/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0A80E8CC67C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE0A90E8CC67C009D7055 /* GLee.a */, - ); - name = lib; - path = ../../../libs/GLee/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE2D50E8CC69C009D7055 /* rtAudio */ = { - isa = PBXGroup; - children = ( - E45BE2D60E8CC69C009D7055 /* include */, - E45BE2E20E8CC69C009D7055 /* lib */, - ); - name = rtAudio; - path = ../../../libs/rtAudio; - sourceTree = SOURCE_ROOT; - }; - E45BE2D60E8CC69C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE2D70E8CC69C009D7055 /* asio */, - E45BE2E00E8CC69C009D7055 /* RtAudio.h */, - E45BE2E10E8CC69C009D7055 /* RtError.h */, - ); - name = include; - path = ../../../libs/rtAudio/include; - sourceTree = SOURCE_ROOT; - }; - E45BE2D70E8CC69C009D7055 /* asio */ = { - isa = PBXGroup; - children = ( - ); - name = asio; - path = ../../../libs/rtAudio/include/asio; - sourceTree = SOURCE_ROOT; - }; - E45BE2E20E8CC69C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE2E30E8CC69C009D7055 /* rtAudio.a */, - ); - name = lib; - path = ../../../libs/rtAudio/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE5980E8CC70C009D7055 /* core frameworks */ = { - isa = PBXGroup; - children = ( - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - 83B352D712A6A1BB001DE187 /* Accelerate.framework */, - ); - name = "core frameworks"; - sourceTree = ""; - }; - E45BEC7B0E8CC911009D7055 /* poco */ = { - isa = PBXGroup; - children = ( - E4C2427910CC5B66004149E2 /* osx */, - ); - name = poco; - path = ../../../libs/poco; - sourceTree = SOURCE_ROOT; - }; - E45BEED60E8CCB34009D7055 /* core */ = { - isa = PBXGroup; - children = ( - E45BE0480E8CC657009D7055 /* core libraries */, - E45BE5980E8CC70C009D7055 /* core frameworks */, - ); - name = core; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - 83FCA95E12E848EC00256429 /* frameworks */, - 831DBE1012A5579B00670A99 /* addons */, - E4B69B5B0A3A1756003C02F2 /* maximilian_granularDebug.app */, - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4C2422310CC54B6004149E2 /* openFrameworks */, - E45BE0360E8CC5DE009D7055 /* libs */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4C2421710CC549C004149E2 /* Products */ = { - isa = PBXGroup; - children = ( - E4C2421E10CC549C004149E2 /* openFrameworks.a */, - ); - name = Products; - sourceTree = ""; - }; - E4C2422310CC54B6004149E2 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; - E4C2425B10CC5A78004149E2 /* glut */ = { - isa = PBXGroup; - children = ( - E4C2425D10CC5A78004149E2 /* lib */, - ); - name = glut; - path = ../../../libs/glut; - sourceTree = SOURCE_ROOT; - }; - E4C2425D10CC5A78004149E2 /* lib */ = { - isa = PBXGroup; - children = ( - E4C2425E10CC5A78004149E2 /* osx */, - ); - name = lib; - path = ../../../libs/glut/lib; - sourceTree = SOURCE_ROOT; - }; - E4C2425E10CC5A78004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2425F10CC5A78004149E2 /* GLUT.framework */, - ); - name = osx; - path = ../../../libs/glut/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2427910CC5B66004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2427A10CC5B66004149E2 /* CppUnit.a */, - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */, - E4C2427C10CC5B66004149E2 /* PocoNet.a */, - E4C2427D10CC5B66004149E2 /* PocoUtil.a */, - E4C2427E10CC5B66004149E2 /* PocoXML.a */, - ); - name = osx; - path = ../../../libs/poco/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2428E10CC5C18004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C242CC10CC650E004149E2 /* libfmodex.dylib */, - ); - name = osx; - path = ../../../libs/fmodex/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2429210CC5C38004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2429310CC5C38004149E2 /* freetype.a */, - ); - name = osx; - path = ../../../libs/freetype/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C246D810CCAE22004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C246D910CCAE22004149E2 /* freeimage.a */, - ); - name = osx; - path = ../../../libs/FreeImage/lib/osx; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* maximilian_granular */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "maximilian_granular" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - E4C2444710CC769B004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4C2422810CC54DA004149E2 /* PBXTargetDependency */, - ); - name = maximilian_granular; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* maximilian_granularDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofMaximilian_granular" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4C2421710CC549C004149E2 /* Products */; - ProjectRef = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* maximilian_granular */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4C2421E10CC549C004149E2 /* openFrameworks.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworks.a; - remoteRef = E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"\ninstall_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\" "; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, - 831DBE2512A557A500670A99 /* fft.cpp in Sources */, - 831DBE2812A557A500670A99 /* maxiFFT.cpp in Sources */, - 831DBE2912A557A500670A99 /* maximilian.cpp in Sources */, - 8337F80812AE5B850035703D /* maxiGrains.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4C2422810CC54DA004149E2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B27CA010CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = ReleaseUniversal; - }; - E4B27CA110CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Universal"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = ReleaseUniversal; - }; - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "${NATIVE_ARCH}"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "${NATIVE_ARCH}"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_DYNAMIC_NO_PIC = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SSE41_EXTENSIONS = YES; - GCC_ENABLE_SSE42_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_PPC64 = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G4; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofMaximilian_granular" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - E4B27CA010CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "maximilian_granular" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - E4B27CA110CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/openFrameworks-Info.plist deleted file mode 100644 index e5db555..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/openFrameworks-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/main.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/main.cpp deleted file mode 100644 index 6a32c6a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.cpp deleted file mode 100644 index b7ad49b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.cpp +++ /dev/null @@ -1,208 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" -#include "maximilian.h"/* include the lib */ -#include "time.h" - - - -//------------------------------------------------------------- -testApp::~testApp() { - delete ts, ts2; -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - - //samples from http://freesound.org - samp.load(ofToDataPath("2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav")); - samp2.load(ofToDataPath("24620__anamorphosis__GMB_Kantilan_1.wav")); - samp3.load(ofToDataPath("26393__brfindla__Calango1berimbau.wav")); - samp4.load(ofToDataPath("68373__juskiddink__Cello_open_string_bowed.wav")); - samp5.load(ofToDataPath("71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav")); -// samp5.load(ofToDataPath("sine1sec.wav")); - - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetFrameRate(60); - - - /* This is stuff you always need.*/ - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; /* Buffer Size. you have to fill this buffer with sound*/ - lAudioOut = new float[initialBufferSize];/* outputs */ - rAudioOut = new float[initialBufferSize]; - lAudioIn = new float[initialBufferSize];/* inputs */ - rAudioIn = new float[initialBufferSize]; - - - /* This is a nice safe piece of code */ - memset(lAudioOut, 0, initialBufferSize * sizeof(float)); - memset(rAudioOut, 0, initialBufferSize * sizeof(float)); - - memset(lAudioIn, 0, initialBufferSize * sizeof(float)); - memset(rAudioIn, 0, initialBufferSize * sizeof(float)); - - - - ts = new maxiTimestretch(&samp); - ts2 = new maxiTimestretch(&samp2); - ts3 = new maxiTimestretch(&samp3); - ts4 = new maxiTimestretch(&samp4); - ts5 = new maxiTimestretch(&samp5); - stretches.push_back(ts); - stretches.push_back(ts2); - stretches.push_back(ts3); - stretches.push_back(ts4); - stretches.push_back(ts5); - speed = 1; - grainLength = 0.05; - current=0; - - fft.setup(1024, 512, 256); - oct.setup(44100, 1024, 10); - - int current = 0; - ofxMaxiSettings::setup(sampleRate, 2, initialBufferSize); - ofSoundStreamSetup(2,0, this, maxiSettings::sampleRate, initialBufferSize, 4);/* Call this last ! */ - - ofSetVerticalSync(true); - ofEnableAlphaBlending(); - ofEnableSmoothing(); -} - -//-------------------------------------------------------------- -void testApp::update(){ -} - -//-------------------------------------------------------------- -void testApp::draw(){ - ofSetColor(160,32,240, 150); - ofDrawBitmapString(":: ofxMaxim Granular Timestretching Example ::", 10,20); - ofDrawBitmapString("Move the mouse left to right to change playback speed and direction.", 10,40); - ofDrawBitmapString("Move the mouse up and down to change the grain length.", 10,60); - ofDrawBitmapString("Click to cycle through samples.", 10,80); - - stringstream s; - s << "Speed: " << speed; - ofDrawBitmapString(s.str(), 10,750); - s.str(""); - s << "Grain length: " << round(grainLength*1000.0) << " ms"; - ofDrawBitmapString(s.str(), 180,750); - - ofNoFill(); - for(int i=0; i < oct.nAverages; i++) { - ofSetColor(200 + ((int)(ofGetFrameNum() * 0.8) % 255), - 100 + ((int)(ofGetFrameNum() * 1.4) % 255), - ofGetFrameNum() % 255, - oct.averages[i] / 20.0 * 255.0); -// ofCircle(ofGetWidth() / 2, ofGetHeight()/2, i * 5); - glPushMatrix(); - glTranslatef(ofGetWidth()/2,ofGetHeight()/2, 0); - glRotatef(0.01 * ofGetFrameNum() * speed * i, 1, 0.1, 0); -// glutWireSphere(i * 5, 2 + (10 - (fabs(speed) * 10)), 2 + (fabs(speed) * 10)); - glutWireSphere(i * 5, 10, 10); - glPopMatrix(); - } - - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ - for (int i = 0; i < bufferSize; i++){ -// wave = stretches[current]->play(speed, grainLength, 5, 0); - wave = stretches[current]->play(speed, 0.1, 4, 0); -// wave = stretches[current]->play2(pos, 0.1, 4); - if (fft.process(wave)) { - oct.calculate(fft.magnitudes); - } - - //play result - mymix.stereo(wave, outputs, 0.5); - lAudioOut[i] = output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - rAudioOut[i] = output[i*nChannels + 1] = outputs[1]; - } -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - /* You can just grab this input and stick it in a double, then use it above to create output*/ - for (int i = 0; i < bufferSize; i++){ - /* you can also grab the data out of the arrays*/ - lAudioIn[i] = input[i*2]; - rAudioIn[i] = input[i*2+1]; - } -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - switch (key) { - case 'a': - case 'A': - current = 0; - break; - case 's': - case 'S': - current = 1; - break; - case 'd': - case 'D': - current = 2; - break; - case 'f': - case 'F': - current = 3; - break; - case 'g': - case 'G': - current = 4; - break; - } - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - speed = ((double ) x / ofGetWidth() * 4.0) - 2.0; - grainLength = ((double) y / ofGetHeight() * 0.1) + 0.001; - pos = ((double) x / ofGetWidth() * 2.0); -// cout << pos << endl; - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - if (++current > stretches.size()-1) current = 0; - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.h b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.h deleted file mode 100644 index d5132d8..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofMaxim_example_granular/src/testApp.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "ofxMaxim.h" -#include "maxiGrains.h" -#include - -typedef hannWinFunctor grainPlayerWin; - -class testApp : public ofBaseApp{ - - public: - ~testApp();/* deconsructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - float * lAudioOut; /* outputs */ - float * rAudioOut; - - float * lAudioIn; /* inputs */ - float * rAudioIn; - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick your maximilian stuff below */ - - double wave,sample,outputs[2]; - maxiSample samp, samp2, samp3, samp4, samp5; - vector*> stretches; - maxiMix mymix; - maxiTimestretch *ts, *ts2, *ts3, *ts4, *ts5; - double speed, grainLength; - - ofxMaxiFFT fft; - ofxMaxiFFTOctaveAnalyzer oct; - int current; - double pos; - -}; - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive2.wav deleted file mode 100755 index 55e1803..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive22.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive22.wav deleted file mode 100644 index a81de78..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/additive22.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/beat2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/beat2.wav deleted file mode 100644 index c71cee6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep.wav deleted file mode 100755 index 61c6f37..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep2.wav deleted file mode 100644 index 7a18ef6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/filterSweep2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise.wav deleted file mode 100755 index a98ffbd..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise2.wav deleted file mode 100644 index 5fc42f7..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/pinknoise2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/scmfccs.rtf b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/scmfccs.rtf deleted file mode 100644 index 6991978..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/scmfccs.rtf +++ /dev/null @@ -1,114 +0,0 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Monaco;\f2\froman\fcharset0 Times-Roman; -} -{\colortbl;\red255\green255\blue255;\red0\green0\blue191;\red0\green0\blue0;\red191\green0\blue0; -\red0\green0\blue191;\red96\green96\blue96;\red96\green96\blue96;\red0\green115\blue0;} -\deftab560 -\pard\pardeftab560\ql\qnatural - -\f0\b\fs36 \cf2 MFCC\cf3 mel frequency cepstral coefficients -\b0 \ -\pard\pardeftab560\ql\qnatural - -\fs24 \cf3 \ - -\b #coeff1, coeff2, ... = \cf2 MFCC\cf3 .kr(chain, numcoeff=13) -\b0 \ -\ - -\b chain [fft] - -\b0 \cf2 Audio\cf3 input to track, which has been pre-analysed by the \cf2 FFT\cf3 \cf2 UGen\cf3 ; see examples below for the expected \cf2 FFT\cf3 size\ - -\b numcoeff [s] - -\b0 \cf2 Number\cf3 of coefficients, defaults to 13, maximum of 42; more efficient to use less of course! \ -\ -\cf2 Generates\cf3 a set of \cf2 MFCCs\cf3 ; these are obtained from a band-based frequency representation (using the \cf2 Mel\cf3 scale by default), and then a discrete cosine transform (\cf2 DCT\cf3 ). \cf2 The\cf3 \cf2 DCT\cf3 is an efficient approximation for principal components analysis, so that it allows a compression, or reduction of dimensionality, of the data, in \cf2 this\cf3 case reducing 42 band readings to a smaller set of \cf2 MFCCs\cf3 . \cf2 A\cf3 small number of features (the coefficients) end up describing the spectrum. \cf2 The\cf3 \cf2 MFCCs\cf3 are commonly used as timbral descriptors. \ -\ -\cf2 Output\cf3 values are somewhat normalised for the range 0.0 to 1.0, but there are no guarantees on exact conformance to \cf2 this\cf3 . \cf2 Commonly\cf3 , the first coefficient will be the highest value. \ -\ -\pard\pardeftab560\ql\qnatural - -\f1\fs18 \cf4 //Technical note: The 0th coefficient is not generated as it consists of multiplying all bands by 1 and summing\cf3 \ -\ -\ -\cf4 //assumes hop of half fftsize, fine\cf3 \ -b = \cf2 Buffer\cf3 .alloc(s,1024,1); \cf4 //for sampling rates 44100 and 48000\cf3 \ -\cf4 //b = Buffer.alloc(s,2048,1); //for sampling rates 88200 and 96000\cf3 \ -\cf0 d=\cf5 Buffer\cf0 .read(s,\cf5 Document\cf0 .current.dir ++ \cf6 "/pinknoise2.wav"\cf0 );\ -d=\cf5 Buffer\cf0 .read(s,\cf5 Document\cf0 .current.dir ++ \cf6 "/whitenoise2.wav"\cf0 );\ -\cf3 d=\cf2 Buffer\cf3 .read(s,\cf2 Document\cf3 .current.dir ++ \cf7 "/sinetest_stepping2.wav"\cf3 );\ -d.play\ -d\ -(\ -x= \{\ -\cf2 var\cf3 in, fft, array;\ -\ -in= \cf2 PlayBuf\cf3 .ar(1,d,\cf2 BufRateScale\cf3 .kr(d),1,0,1);\ -\ -\cf4 //in = SoundIn.ar(0); \cf3 \ -\ -fft = \cf2 FFT\cf3 (b, in, 512, 1);\ -\ -array=\cf2 MFCC\cf3 .kr(fft); \ -\ -array.size.postln; \ -\ -\cf2 Out\cf3 .kr(0,array); \ -\ -\cf2 Out\cf3 .ar(0,\cf2 Pan2\cf3 .ar(in)); \ -\}.play\ -)\ -\ -\ -c= \cf2 Bus\cf3 .new(\cf8 'control'\cf3 , 0, 13); \ -\ -\cf4 //poll coefficients\cf3 \ -c.getn(13,\{\cf2 arg\cf3 val; \{val.plot;\}.defer\}); \ -\ -\ -\ -\cf4 //Continuous graphical display of MFCC values; free routine before closing window\cf3 \ -\ -(\ -\cf2 var\cf3 ms; \ -\ -w=\cf2 Window\cf3 .new(\cf7 "Thirteen MFCC coefficients"\cf3 , \cf2 Rect\cf3 (200,400,700,300));\ -\ -ms= \cf2 MultiSliderView\cf3 .new(w, \cf2 Rect\cf3 (10,10,660,280));\ -\ -ms.value_(\cf2 Array\cf3 .fill(13,0.0));\ -ms.valueThumbSize_(40.0);\ -ms.indexThumbSize_(40.0);\ -ms.gap_(0);\ -\ -w.front;\ -\ -r= \{\ -\ -\cf2 inf\cf3 .do\{\ -\ -c.getn(13,\{\cf2 arg\cf3 val; val.postln; \{ms.value_(val*0.9)\}.defer\}); \ -\ -0.02.wait; \cf4 //25 frames per second\cf3 \ -\};\ -\ -\}.fork;\ -\ -)\ -\ -\ -\cf4 //tidy up\cf3 \ -(\ -r.stop;\ -b.free;\ -c.free;\ -x.free;\ -w.close;\ -)\ -\pard\pardeftab560\ql\qnatural - -\f2\fs32 \cf3 \ -\ -\ -\ -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping.wav deleted file mode 100755 index f6d63a6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping2.wav deleted file mode 100644 index feceaf5..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/sinetest_stepping2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise.wav deleted file mode 100755 index 0c869b9..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise2.wav deleted file mode 100644 index e00db67..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/bin/data/whitenoise2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/mfccs.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/mfccs.xcodeproj/project.pbxproj deleted file mode 100644 index ae22d53..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/mfccs.xcodeproj/project.pbxproj +++ /dev/null @@ -1,891 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 831DBE2512A557A500670A99 /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE1912A557A500670A99 /* fft.cpp */; }; - 831DBE2812A557A500670A99 /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE1F12A557A500670A99 /* maxiFFT.cpp */; }; - 831DBE2912A557A500670A99 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 831DBE2112A557A500670A99 /* maximilian.cpp */; }; - 83B352D812A6A1BB001DE187 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83B352D712A6A1BB001DE187 /* Accelerate.framework */; }; - 83F72C7513269E3800DCC5B4 /* maxiMFCC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83F72C7413269E3800DCC5B4 /* maxiMFCC.cpp */; }; - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE0A90E8CC67C009D7055 /* GLee.a */; }; - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE2E30E8CC69C009D7055 /* rtAudio.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; - E4C2422B10CC554B004149E2 /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2421E10CC549C004149E2 /* openFrameworksDebug.a */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4C2425F10CC5A78004149E2 /* GLUT.framework */; }; - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427A10CC5B66004149E2 /* CppUnit.a */; }; - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427B10CC5B66004149E2 /* PocoFoundation.a */; }; - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427C10CC5B66004149E2 /* PocoNet.a */; }; - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427D10CC5B66004149E2 /* PocoUtil.a */; }; - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2427E10CC5B66004149E2 /* PocoXML.a */; }; - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2429310CC5C38004149E2 /* freetype.a */; }; - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C242CC10CC650E004149E2 /* libfmodex.dylib */; }; - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */; }; - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C246D910CCAE22004149E2 /* freeimage.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - E4C2426B10CC5AA6004149E2 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E4C2444710CC769B004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 7; - files = ( - E4C2443910CC7693004149E2 /* openFrameworks-Info.plist in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 831DBE1712A557A500670A99 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 831DBE1912A557A500670A99 /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 831DBE1A12A557A500670A99 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 831DBE1F12A557A500670A99 /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 831DBE2012A557A500670A99 /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 831DBE2112A557A500670A99 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 831DBE2212A557A500670A99 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 831DBE2412A557A500670A99 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - 83B352D712A6A1BB001DE187 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - 83F72C7313269E3800DCC5B4 /* maxiMFCC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiMFCC.h; sourceTree = ""; }; - 83F72C7413269E3800DCC5B4 /* maxiMFCC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiMFCC.cpp; sourceTree = ""; }; - E45BE0390E8CC647009D7055 /* FreeImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FreeImage.h; path = ../../../libs/freeimage/include/FreeImage.h; sourceTree = SOURCE_ROOT; }; - E45BE03F0E8CC650009D7055 /* fmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod.h; path = ../../../libs/fmodex/include/fmod.h; sourceTree = SOURCE_ROOT; }; - E45BE0400E8CC650009D7055 /* fmod.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = fmod.hpp; path = ../../../libs/fmodex/include/fmod.hpp; sourceTree = SOURCE_ROOT; }; - E45BE0410E8CC650009D7055 /* fmod_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_codec.h; path = ../../../libs/fmodex/include/fmod_codec.h; sourceTree = SOURCE_ROOT; }; - E45BE0420E8CC650009D7055 /* fmod_dsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_dsp.h; path = ../../../libs/fmodex/include/fmod_dsp.h; sourceTree = SOURCE_ROOT; }; - E45BE0430E8CC650009D7055 /* fmod_errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_errors.h; path = ../../../libs/fmodex/include/fmod_errors.h; sourceTree = SOURCE_ROOT; }; - E45BE0440E8CC650009D7055 /* fmod_output.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fmod_output.h; path = ../../../libs/fmodex/include/fmod_output.h; sourceTree = SOURCE_ROOT; }; - E45BE0A70E8CC67C009D7055 /* GLee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GLee.h; path = ../../../libs/GLee/include/GLee.h; sourceTree = SOURCE_ROOT; }; - E45BE0A90E8CC67C009D7055 /* GLee.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = GLee.a; path = ../../../libs/GLee/lib/osx/GLee.a; sourceTree = SOURCE_ROOT; }; - E45BE2E00E8CC69C009D7055 /* RtAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtAudio.h; path = ../../../libs/rtAudio/include/RtAudio.h; sourceTree = SOURCE_ROOT; }; - E45BE2E10E8CC69C009D7055 /* RtError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RtError.h; path = ../../../libs/rtAudio/include/RtError.h; sourceTree = SOURCE_ROOT; }; - E45BE2E30E8CC69C009D7055 /* rtAudio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = rtAudio.a; path = ../../../libs/rtAudio/lib/osx/rtAudio.a; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* mfccsDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mfccsDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4C2425F10CC5A78004149E2 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = SOURCE_ROOT; }; - E4C2427A10CC5B66004149E2 /* CppUnit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = CppUnit.a; path = ../../../libs/poco/lib/osx/CppUnit.a; sourceTree = SOURCE_ROOT; }; - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoFoundation.a; path = ../../../libs/poco/lib/osx/PocoFoundation.a; sourceTree = SOURCE_ROOT; }; - E4C2427C10CC5B66004149E2 /* PocoNet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoNet.a; path = ../../../libs/poco/lib/osx/PocoNet.a; sourceTree = SOURCE_ROOT; }; - E4C2427D10CC5B66004149E2 /* PocoUtil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoUtil.a; path = ../../../libs/poco/lib/osx/PocoUtil.a; sourceTree = SOURCE_ROOT; }; - E4C2427E10CC5B66004149E2 /* PocoXML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoXML.a; path = ../../../libs/poco/lib/osx/PocoXML.a; sourceTree = SOURCE_ROOT; }; - E4C2429310CC5C38004149E2 /* freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freetype.a; path = ../../../libs/freetype/lib/osx/freetype.a; sourceTree = SOURCE_ROOT; }; - E4C242CC10CC650E004149E2 /* libfmodex.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfmodex.dylib; path = ../../../libs/fmodex/lib/osx/libfmodex.dylib; sourceTree = SOURCE_ROOT; }; - E4C246D910CCAE22004149E2 /* freeimage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freeimage.a; path = ../../../libs/FreeImage/lib/osx/freeimage.a; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4C2422B10CC554B004149E2 /* openFrameworksDebug.a in Frameworks */, - E45BE0AA0E8CC67C009D7055 /* GLee.a in Frameworks */, - E45BE2E40E8CC69C009D7055 /* rtAudio.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - E4C2426610CC5A78004149E2 /* GLUT.framework in Frameworks */, - E4C2427F10CC5B66004149E2 /* CppUnit.a in Frameworks */, - E4C2428010CC5B66004149E2 /* PocoFoundation.a in Frameworks */, - E4C2428110CC5B66004149E2 /* PocoNet.a in Frameworks */, - E4C2428210CC5B66004149E2 /* PocoUtil.a in Frameworks */, - E4C2428310CC5B66004149E2 /* PocoXML.a in Frameworks */, - E4C2429410CC5C38004149E2 /* freetype.a in Frameworks */, - E4C242CD10CC650E004149E2 /* libfmodex.dylib in Frameworks */, - E4C246DA10CCAE22004149E2 /* freeimage.a in Frameworks */, - 83B352D812A6A1BB001DE187 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 831DBE1012A5579B00670A99 /* addons */ = { - isa = PBXGroup; - children = ( - 831DBE1612A557A500670A99 /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - 831DBE1612A557A500670A99 /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 831DBE1712A557A500670A99 /* install.xml */, - 831DBE1812A557A500670A99 /* libs */, - 831DBE2312A557A500670A99 /* src */, - ); - name = ofxMaxim; - path = ../../../addons/ofxMaxim; - sourceTree = SOURCE_ROOT; - }; - 831DBE1812A557A500670A99 /* libs */ = { - isa = PBXGroup; - children = ( - 831DBE1912A557A500670A99 /* fft.cpp */, - 831DBE1A12A557A500670A99 /* fft.h */, - 831DBE1F12A557A500670A99 /* maxiFFT.cpp */, - 831DBE2012A557A500670A99 /* maxiFFT.h */, - 831DBE2112A557A500670A99 /* maximilian.cpp */, - 831DBE2212A557A500670A99 /* maximilian.h */, - 83F72C7313269E3800DCC5B4 /* maxiMFCC.h */, - 83F72C7413269E3800DCC5B4 /* maxiMFCC.cpp */, - ); - path = libs; - sourceTree = ""; - }; - 831DBE2312A557A500670A99 /* src */ = { - isa = PBXGroup; - children = ( - 831DBE2412A557A500670A99 /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - E45BE0360E8CC5DE009D7055 /* libs */ = { - isa = PBXGroup; - children = ( - E45BEED60E8CCB34009D7055 /* core */, - ); - name = libs; - sourceTree = ""; - }; - E45BE0370E8CC647009D7055 /* freeimage */ = { - isa = PBXGroup; - children = ( - E4C246D810CCAE22004149E2 /* osx */, - E45BE0380E8CC647009D7055 /* include */, - ); - name = freeimage; - path = ../../../libs/freeimage; - sourceTree = SOURCE_ROOT; - }; - E45BE0380E8CC647009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0390E8CC647009D7055 /* FreeImage.h */, - ); - name = include; - path = ../../../libs/freeimage/include; - sourceTree = SOURCE_ROOT; - }; - E45BE03D0E8CC650009D7055 /* fmodex */ = { - isa = PBXGroup; - children = ( - E45BE03E0E8CC650009D7055 /* inc */, - E4C2428E10CC5C18004149E2 /* osx */, - ); - name = fmodex; - path = ../../../libs/fmodex; - sourceTree = SOURCE_ROOT; - }; - E45BE03E0E8CC650009D7055 /* inc */ = { - isa = PBXGroup; - children = ( - E45BE03F0E8CC650009D7055 /* fmod.h */, - E45BE0400E8CC650009D7055 /* fmod.hpp */, - E45BE0410E8CC650009D7055 /* fmod_codec.h */, - E45BE0420E8CC650009D7055 /* fmod_dsp.h */, - E45BE0430E8CC650009D7055 /* fmod_errors.h */, - E45BE0440E8CC650009D7055 /* fmod_output.h */, - ); - name = inc; - path = ../../../libs/fmodex/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0480E8CC657009D7055 /* core libraries */ = { - isa = PBXGroup; - children = ( - E4C2425B10CC5A78004149E2 /* glut */, - E45BEC7B0E8CC911009D7055 /* poco */, - E45BE2D50E8CC69C009D7055 /* rtAudio */, - E45BE0A50E8CC67C009D7055 /* GLee */, - E45BE0490E8CC676009D7055 /* freetype */, - E45BE03D0E8CC650009D7055 /* fmodex */, - E45BE0370E8CC647009D7055 /* freeimage */, - ); - name = "core libraries"; - sourceTree = ""; - }; - E45BE0490E8CC676009D7055 /* freetype */ = { - isa = PBXGroup; - children = ( - E4C2429210CC5C38004149E2 /* osx */, - ); - name = freetype; - path = ../../../libs/freetype; - sourceTree = SOURCE_ROOT; - }; - E45BE0A50E8CC67C009D7055 /* GLee */ = { - isa = PBXGroup; - children = ( - E45BE0A60E8CC67C009D7055 /* include */, - E45BE0A80E8CC67C009D7055 /* lib */, - ); - name = GLee; - path = ../../../libs/GLee; - sourceTree = SOURCE_ROOT; - }; - E45BE0A60E8CC67C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE0A70E8CC67C009D7055 /* GLee.h */, - ); - name = include; - path = ../../../libs/GLee/include; - sourceTree = SOURCE_ROOT; - }; - E45BE0A80E8CC67C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE0A90E8CC67C009D7055 /* GLee.a */, - ); - name = lib; - path = ../../../libs/GLee/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE2D50E8CC69C009D7055 /* rtAudio */ = { - isa = PBXGroup; - children = ( - E45BE2D60E8CC69C009D7055 /* include */, - E45BE2E20E8CC69C009D7055 /* lib */, - ); - name = rtAudio; - path = ../../../libs/rtAudio; - sourceTree = SOURCE_ROOT; - }; - E45BE2D60E8CC69C009D7055 /* include */ = { - isa = PBXGroup; - children = ( - E45BE2D70E8CC69C009D7055 /* asio */, - E45BE2E00E8CC69C009D7055 /* RtAudio.h */, - E45BE2E10E8CC69C009D7055 /* RtError.h */, - ); - name = include; - path = ../../../libs/rtAudio/include; - sourceTree = SOURCE_ROOT; - }; - E45BE2D70E8CC69C009D7055 /* asio */ = { - isa = PBXGroup; - children = ( - ); - name = asio; - path = ../../../libs/rtAudio/include/asio; - sourceTree = SOURCE_ROOT; - }; - E45BE2E20E8CC69C009D7055 /* lib */ = { - isa = PBXGroup; - children = ( - E45BE2E30E8CC69C009D7055 /* rtAudio.a */, - ); - name = lib; - path = ../../../libs/rtAudio/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E45BE5980E8CC70C009D7055 /* core frameworks */ = { - isa = PBXGroup; - children = ( - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - 83B352D712A6A1BB001DE187 /* Accelerate.framework */, - ); - name = "core frameworks"; - sourceTree = ""; - }; - E45BEC7B0E8CC911009D7055 /* poco */ = { - isa = PBXGroup; - children = ( - E4C2427910CC5B66004149E2 /* osx */, - ); - name = poco; - path = ../../../libs/poco; - sourceTree = SOURCE_ROOT; - }; - E45BEED60E8CCB34009D7055 /* core */ = { - isa = PBXGroup; - children = ( - E45BE0480E8CC657009D7055 /* core libraries */, - E45BE5980E8CC70C009D7055 /* core frameworks */, - ); - name = core; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - 831DBE1012A5579B00670A99 /* addons */, - E4B69B5B0A3A1756003C02F2 /* mfccsDebug.app */, - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4C2422310CC54B6004149E2 /* openFrameworks */, - E45BE0360E8CC5DE009D7055 /* libs */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4C2421710CC549C004149E2 /* Products */ = { - isa = PBXGroup; - children = ( - E4C2421E10CC549C004149E2 /* openFrameworksDebug.a */, - ); - name = Products; - sourceTree = ""; - }; - E4C2422310CC54B6004149E2 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; - E4C2425B10CC5A78004149E2 /* glut */ = { - isa = PBXGroup; - children = ( - E4C2425D10CC5A78004149E2 /* lib */, - ); - name = glut; - path = ../../../libs/glut; - sourceTree = SOURCE_ROOT; - }; - E4C2425D10CC5A78004149E2 /* lib */ = { - isa = PBXGroup; - children = ( - E4C2425E10CC5A78004149E2 /* osx */, - ); - name = lib; - path = ../../../libs/glut/lib; - sourceTree = SOURCE_ROOT; - }; - E4C2425E10CC5A78004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2425F10CC5A78004149E2 /* GLUT.framework */, - ); - name = osx; - path = ../../../libs/glut/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2427910CC5B66004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2427A10CC5B66004149E2 /* CppUnit.a */, - E4C2427B10CC5B66004149E2 /* PocoFoundation.a */, - E4C2427C10CC5B66004149E2 /* PocoNet.a */, - E4C2427D10CC5B66004149E2 /* PocoUtil.a */, - E4C2427E10CC5B66004149E2 /* PocoXML.a */, - ); - name = osx; - path = ../../../libs/poco/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2428E10CC5C18004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C242CC10CC650E004149E2 /* libfmodex.dylib */, - ); - name = osx; - path = ../../../libs/fmodex/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C2429210CC5C38004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C2429310CC5C38004149E2 /* freetype.a */, - ); - name = osx; - path = ../../../libs/freetype/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4C246D810CCAE22004149E2 /* osx */ = { - isa = PBXGroup; - children = ( - E4C246D910CCAE22004149E2 /* freeimage.a */, - ); - name = osx; - path = ../../../libs/FreeImage/lib/osx; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* mfccs */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "mfccs" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - E4C2444710CC769B004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4C2422810CC54DA004149E2 /* PBXTargetDependency */, - ); - name = mfccs; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* mfccsDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "mfccs" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4C2421710CC549C004149E2 /* Products */; - ProjectRef = E4C2421610CC549C004149E2 /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* mfccs */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4C2421E10CC549C004149E2 /* openFrameworksDebug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworksDebug.a; - remoteRef = E4C2421D10CC549C004149E2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"\ninstall_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\" "; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, - 831DBE2512A557A500670A99 /* fft.cpp in Sources */, - 831DBE2812A557A500670A99 /* maxiFFT.cpp in Sources */, - 831DBE2912A557A500670A99 /* maximilian.cpp in Sources */, - 83F72C7513269E3800DCC5B4 /* maxiMFCC.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4C2422810CC54DA004149E2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4C2422710CC54DA004149E2 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B27CA010CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = ReleaseUniversal; - }; - E4B27CA110CBF8A600536013 /* ReleaseUniversal */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Universal"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = ReleaseUniversal; - }; - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "../../../libs/openFrameworks/**", - ../../../libs/freetype/include/, - ../../../libs/freetype/include/freetype2, - ../../../libs/poco/include, - ../../../addons/, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - OTHER_LDFLAGS = ""; - SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G4; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/freeimage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../../libs/fmodex/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../../libs/freetype/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../../libs/GLee/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../../../libs/poco/lib/osx\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../../libs/rtAudio/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "mfccs" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - E4B27CA010CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "mfccs" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - E4B27CA110CBF8A600536013 /* ReleaseUniversal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/openFrameworks-Info.plist deleted file mode 100644 index e5db555..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/openFrameworks-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/main.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/main.cpp deleted file mode 100644 index 6a32c6a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.cpp deleted file mode 100644 index abb1e2d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.cpp +++ /dev/null @@ -1,227 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" -#include "maximilian.h"/* include the lib */ -#include "time.h" - - - -//------------------------------------------------------------- -testApp::~testApp() { - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - /* some standard setup stuff*/ - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetFrameRate(60); - - /* This is stuff you always need.*/ - - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; /* Buffer Size. you have to fill this buffer with sound*/ - lAudioOut = new float[initialBufferSize];/* outputs */ - rAudioOut = new float[initialBufferSize]; - lAudioIn = new float[initialBufferSize];/* inputs */ - rAudioIn = new float[initialBufferSize]; - - - /* This is a nice safe piece of code */ - memset(lAudioOut, 0, initialBufferSize * sizeof(float)); - memset(rAudioOut, 0, initialBufferSize * sizeof(float)); - - memset(lAudioIn, 0, initialBufferSize * sizeof(float)); - memset(rAudioIn, 0, initialBufferSize * sizeof(float)); - - /* Now you can put anything you would normally put in maximilian's 'setup' method in here. */ - -// samp.load(ofToDataPath("sinetest_stepping2.wav")); -// samp.load(ofToDataPath("whitenoise2.wav")); -// samp.load(ofToDataPath("additive22.wav")); - //samp.load(ofToDataPath("pinknoise2.wav")); - samp.load(ofToDataPath("filtersweep2.wav")); - samp.getLength(); - - - fftSize = 1024; - mfft.setup(fftSize, 512, 256); - ifft.setup(fftSize, 512, 256); - - - - nAverages = 12; - oct.setup(sampleRate, fftSize/2, nAverages); - - mfccs = (double*) malloc(sizeof(double) * 13); - mfcc.setup(512, 42, 13, 20, 20000, sampleRate); - - ofxMaxiSettings::setup(sampleRate, 2, initialBufferSize); - ofSoundStreamSetup(2,2, this, sampleRate, initialBufferSize, 4);/* Call this last ! */ - - ofSetVerticalSync(true); - -} - -//-------------------------------------------------------------- -void testApp::update(){ -} - -//-------------------------------------------------------------- -void testApp::draw(){ - - ofSetColor(255, 255, 255,255); - - //draw fft output - float xinc = 900.0 / fftSize * 2.0; - for(int i=0; i < fftSize / 2; i++) { - float height = mfft.magnitudesDB[i] / 50.0 * 300; - ofRect(100 + (i*xinc),250 - height,2, height); - } - //draw phases - ofSetColor(0, 255, 0,100); - for(int i=0; i < fftSize / 2; i++) { - float height = mfft.phases[i] / 50.0 * 400; - ofRect(100 + (i*xinc),300 - height,2, height); - } - -// //octave analyser -// ofSetColor(255, 0, 0,100); -// xinc = 900.0 / oct.nAverages; -// for(int i=0; i < oct.nAverages; i++) { -// float height = oct.averages[i] / 50.0 * 100; -// ofRect(100 + (i*xinc),700 - height,2, height); -// } - - //Mel bands -// cout << "\nMel bands: "; - ofSetColor(255, 0, 255,100); - xinc = 900.0 / 42.0; - for(int i=0; i < 42; i++) { -// cout << mfcc.melBands[i] << ","; - float height = mfcc.melBands[i] * 5.0; - ofRect(100 + (i*xinc),400 - height,10, height); - } -// cout << endl; - -// cout << "\nMFCCS: "; - ofSetColor(255, 0, 0,100); - xinc = 900.0 / 13; - for(int i=0; i < 13; i++) { - float height = mfccs[i] * 250.0; - ofRect(100 + (i*xinc),600 - height,40, height); -// cout << mfccs[i] << ","; - } -// cout << "\n-------" << endl; - -// cout << callTime << endl; - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ -// static double tm; - for (int i = 0; i < bufferSize; i++){ -// wave = osc.saw(maxiMap::linexp(mouseY + ofGetWindowPositionY(), 0, ofGetScreenHeight(), 200, 8000)); -// wave = lAudioIn[i]; - wave = samp.play(1.); - //get fft - if (mfft.process(wave)) { -// int bins = fftSize / 2.0; - //do some manipulation -// int hpCutoff = floor(((mouseX + ofGetWindowPositionX()) / (float) ofGetScreenWidth()) * fftSize / 2.0); -//highpass -// memset(mfft.magnitudes, 0, sizeof(float) * hpCutoff); -// memset(mfft.phases, 0, sizeof(float) * hpCutoff); -//lowpass -// memset(mfft.magnitudes + hpCutoff, 0, sizeof(float) * (bins - hpCutoff)); -// memset(mfft.phases + hpCutoff, 0, sizeof(float) * (bins - hpCutoff)); - mfft.magsToDB(); -// for(int z=0; z < 512; z++) cout << mfft.magnitudesDB[z] << ","; -// cout << "---------\n"; - oct.calculate(mfft.magnitudesDB); - mfcc.mfcc(mfft.magnitudes, mfccs); - //cout << mfft.spectralFlatness() << ", " << mfft.spectralCentroid() << endl; - } - //inverse fft - gettimeofday(&callTS,NULL); -// ifftVal = ifft.process(mfft.magnitudes, mfft.phases); - gettimeofday(&callEndTS,NULL); - callTime = (float)(callEndTS.tv_usec - callTS.tv_usec) / 1000000.0; - callTime += (float)(callEndTS.tv_sec - callTS.tv_sec); - //play result - mymix.stereo(wave, outputs, 0.5); -// float mix = ((mouseX + ofGetWindowPositionX()) / (float) ofGetScreenWidth()); -// mymix.stereo((wave * mix) + ((1.0-mix) * ifftVal), outputs, 0.5); - lAudioOut[i] = output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - rAudioOut[i] = output[i*nChannels + 1] = outputs[1]; - } - - - -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - - - /* You can just grab this input and stick it in a double, then use it above to create output*/ - - for (int i = 0; i < bufferSize; i++){ - - /* you can also grab the data out of the arrays*/ - - lAudioIn[i] = input[i*2]; - rAudioIn[i] = input[i*2+1]; - } - -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - - - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.h b/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.h deleted file mode 100644 index ea92221..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples0062OSX/ofxMaxim_example_mfccs/src/testApp.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "ofxMaxim.h" -#include - -#include "maxiMFCC.h" - -class testApp : public ofBaseApp{ - - public: - ~testApp();/* deconsructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - float * lAudioOut; /* outputs */ - float * rAudioOut; - - float * lAudioIn; /* inputs */ - float * rAudioIn; - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick you maximilian stuff below */ - - double wave,sample,outputs[2], ifftVal; - maxiMix mymix; - maxiOsc osc; - - ofxMaxiFFTOctaveAnalyzer oct; - int nAverages; - float *ifftOutput; - int ifftSize; - - ofxMaxiIFFT ifft; - ofxMaxiFFT mfft; - int fftSize; - int bins, dataSize; - - float callTime; - timeval callTS, callEndTS; - - maxiMFCC mfcc; - double *mfccs; - - maxiSample samp; - - - -}; - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/.gitignore b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/.gitignore deleted file mode 100644 index 9ef9604..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/Project.xcconfig b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/Project.xcconfig deleted file mode 100644 index c10b9e5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/Project.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/atomSynthesis.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/atomSynthesis.xcodeproj/project.pbxproj deleted file mode 100644 index 0a6ee57..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/atomSynthesis.xcodeproj/project.pbxproj +++ /dev/null @@ -1,844 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 83209D8E14602A9C00D1BD32 /* mp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83209D8C14602A9C00D1BD32 /* mp.cpp */; }; - 8320A5071462EED600D1BD32 /* pyOSCDebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A5061462EED600D1BD32 /* pyOSCDebug.cpp */; }; - 8320A52C1462EF5100D1BD32 /* osc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8320A51E1462EF5000D1BD32 /* osc.a */; }; - 8320A52D1462EF5100D1BD32 /* osc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8320A5201462EF5000D1BD32 /* osc.a */; }; - 8320A52E1462EF5100D1BD32 /* ofxOscBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A5241462EF5000D1BD32 /* ofxOscBundle.cpp */; }; - 8320A52F1462EF5100D1BD32 /* ofxOscMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A5261462EF5000D1BD32 /* ofxOscMessage.cpp */; }; - 8320A5301462EF5100D1BD32 /* ofxOscReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A5281462EF5000D1BD32 /* ofxOscReceiver.cpp */; }; - 8320A5311462EF5100D1BD32 /* ofxOscSender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A52A1462EF5100D1BD32 /* ofxOscSender.cpp */; }; - 8320A65914630D3F00D1BD32 /* maxiAtoms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A65714630D3F00D1BD32 /* maxiAtoms.cpp */; }; - 8320A66B14630D8B00D1BD32 /* btAlignedAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A66614630D8B00D1BD32 /* btAlignedAllocator.cpp */; }; - 8320A9691469813200D1BD32 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A9621469813200D1BD32 /* tinyxml.cpp */; }; - 8320A96A1469813200D1BD32 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A9641469813200D1BD32 /* tinyxmlerror.cpp */; }; - 8320A96B1469813200D1BD32 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A9651469813200D1BD32 /* tinyxmlparser.cpp */; }; - 8320A96C1469813200D1BD32 /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8320A9671469813200D1BD32 /* ofxXmlSettings.cpp */; }; - 8354488F140CFBC900D16314 /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83544883140CFBC900D16314 /* fft.cpp */; }; - 83544890140CFBC900D16314 /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83544885140CFBC900D16314 /* maxiFFT.cpp */; }; - 83544891140CFBC900D16314 /* maxiGrains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83544887140CFBC900D16314 /* maxiGrains.cpp */; }; - 83544892140CFBC900D16314 /* maxiMFCC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83544889140CFBC900D16314 /* maxiMFCC.cpp */; }; - 83544893140CFBC900D16314 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8354488B140CFBC900D16314 /* maximilian.cpp */; }; - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; - E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworks.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 83209D8C14602A9C00D1BD32 /* mp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mp.cpp; sourceTree = ""; }; - 83209D8D14602A9C00D1BD32 /* mp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mp.h; sourceTree = ""; }; - 8320A5051462EED600D1BD32 /* pyOSCDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pyOSCDebug.h; sourceTree = ""; }; - 8320A5061462EED600D1BD32 /* pyOSCDebug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pyOSCDebug.cpp; sourceTree = ""; }; - 8320A5091462EF5000D1BD32 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 8320A50E1462EF5000D1BD32 /* IpEndpointName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IpEndpointName.h; sourceTree = ""; }; - 8320A50F1462EF5000D1BD32 /* NetworkingUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkingUtils.h; sourceTree = ""; }; - 8320A5101462EF5000D1BD32 /* PacketListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PacketListener.h; sourceTree = ""; }; - 8320A5111462EF5000D1BD32 /* TimerListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimerListener.h; sourceTree = ""; }; - 8320A5121462EF5000D1BD32 /* UdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UdpSocket.h; sourceTree = ""; }; - 8320A5141462EF5000D1BD32 /* MessageMappingOscPacketListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageMappingOscPacketListener.h; sourceTree = ""; }; - 8320A5151462EF5000D1BD32 /* OscException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscException.h; sourceTree = ""; }; - 8320A5161462EF5000D1BD32 /* OscHostEndianness.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscHostEndianness.h; sourceTree = ""; }; - 8320A5171462EF5000D1BD32 /* OscOutboundPacketStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscOutboundPacketStream.h; sourceTree = ""; }; - 8320A5181462EF5000D1BD32 /* OscPacketListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscPacketListener.h; sourceTree = ""; }; - 8320A5191462EF5000D1BD32 /* OscPrintReceivedElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscPrintReceivedElements.h; sourceTree = ""; }; - 8320A51A1462EF5000D1BD32 /* OscReceivedElements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscReceivedElements.h; sourceTree = ""; }; - 8320A51B1462EF5000D1BD32 /* OscTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OscTypes.h; sourceTree = ""; }; - 8320A51E1462EF5000D1BD32 /* osc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = osc.a; sourceTree = ""; }; - 8320A5201462EF5000D1BD32 /* osc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = osc.a; sourceTree = ""; }; - 8320A5221462EF5000D1BD32 /* ofxOsc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOsc.h; sourceTree = ""; }; - 8320A5231462EF5000D1BD32 /* ofxOscArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscArg.h; sourceTree = ""; }; - 8320A5241462EF5000D1BD32 /* ofxOscBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscBundle.cpp; sourceTree = ""; }; - 8320A5251462EF5000D1BD32 /* ofxOscBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscBundle.h; sourceTree = ""; }; - 8320A5261462EF5000D1BD32 /* ofxOscMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscMessage.cpp; sourceTree = ""; }; - 8320A5271462EF5000D1BD32 /* ofxOscMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscMessage.h; sourceTree = ""; }; - 8320A5281462EF5000D1BD32 /* ofxOscReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscReceiver.cpp; sourceTree = ""; }; - 8320A5291462EF5000D1BD32 /* ofxOscReceiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscReceiver.h; sourceTree = ""; }; - 8320A52A1462EF5100D1BD32 /* ofxOscSender.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxOscSender.cpp; sourceTree = ""; }; - 8320A52B1462EF5100D1BD32 /* ofxOscSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxOscSender.h; sourceTree = ""; }; - 8320A65714630D3F00D1BD32 /* maxiAtoms.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = maxiAtoms.cpp; path = ../../../../../src/Maximilian/ofxMaxim/ofxMaxim/libs/maxiAtoms.cpp; sourceTree = SOURCE_ROOT; }; - 8320A65814630D3F00D1BD32 /* maxiAtoms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = maxiAtoms.h; path = ../../../../../src/Maximilian/ofxMaxim/ofxMaxim/libs/maxiAtoms.h; sourceTree = SOURCE_ROOT; }; - 8320A66614630D8B00D1BD32 /* btAlignedAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btAlignedAllocator.cpp; sourceTree = ""; }; - 8320A66714630D8B00D1BD32 /* btAlignedAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAlignedAllocator.h; sourceTree = ""; }; - 8320A66814630D8B00D1BD32 /* btAlignedObjectArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAlignedObjectArray.h; sourceTree = ""; }; - 8320A66914630D8B00D1BD32 /* btScalar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btScalar.h; sourceTree = ""; }; - 8320A66A14630D8B00D1BD32 /* someTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = someTypes.h; sourceTree = ""; }; - 8320A9601469813200D1BD32 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 8320A9621469813200D1BD32 /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = ""; }; - 8320A9631469813200D1BD32 /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = ""; }; - 8320A9641469813200D1BD32 /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = ""; }; - 8320A9651469813200D1BD32 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = ""; }; - 8320A9671469813200D1BD32 /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxXmlSettings.cpp; sourceTree = ""; }; - 8320A9681469813200D1BD32 /* ofxXmlSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxXmlSettings.h; sourceTree = ""; }; - 83544881140CFBC900D16314 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 83544883140CFBC900D16314 /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 83544884140CFBC900D16314 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 83544885140CFBC900D16314 /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 83544886140CFBC900D16314 /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 83544887140CFBC900D16314 /* maxiGrains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiGrains.cpp; sourceTree = ""; }; - 83544888140CFBC900D16314 /* maxiGrains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiGrains.h; sourceTree = ""; }; - 83544889140CFBC900D16314 /* maxiMFCC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiMFCC.cpp; sourceTree = ""; }; - 8354488A140CFBC900D16314 /* maxiMFCC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiMFCC.h; sourceTree = ""; }; - 8354488B140CFBC900D16314 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 8354488C140CFBC900D16314 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 8354488E140CFBC900D16314 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* atomSynthesisDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = atomSynthesisDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, - E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - 8320A52C1462EF5100D1BD32 /* osc.a in Frameworks */, - 8320A52D1462EF5100D1BD32 /* osc.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 8320A4FD1462EECC00D1BD32 /* debug */ = { - isa = PBXGroup; - children = ( - 8320A5051462EED600D1BD32 /* pyOSCDebug.h */, - 8320A5061462EED600D1BD32 /* pyOSCDebug.cpp */, - ); - name = debug; - sourceTree = ""; - }; - 8320A5081462EF5000D1BD32 /* ofxOsc */ = { - isa = PBXGroup; - children = ( - 8320A5091462EF5000D1BD32 /* install.xml */, - 8320A50A1462EF5000D1BD32 /* libs */, - 8320A5211462EF5000D1BD32 /* src */, - ); - name = ofxOsc; - path = ../../../../of_preRelease_v007_iphone/addons/ofxOsc; - sourceTree = SOURCE_ROOT; - }; - 8320A50A1462EF5000D1BD32 /* libs */ = { - isa = PBXGroup; - children = ( - 8320A50B1462EF5000D1BD32 /* oscpack */, - ); - path = libs; - sourceTree = ""; - }; - 8320A50B1462EF5000D1BD32 /* oscpack */ = { - isa = PBXGroup; - children = ( - 8320A50C1462EF5000D1BD32 /* include */, - 8320A51C1462EF5000D1BD32 /* lib */, - ); - path = oscpack; - sourceTree = ""; - }; - 8320A50C1462EF5000D1BD32 /* include */ = { - isa = PBXGroup; - children = ( - 8320A50D1462EF5000D1BD32 /* ip */, - 8320A5131462EF5000D1BD32 /* osc */, - ); - path = include; - sourceTree = ""; - }; - 8320A50D1462EF5000D1BD32 /* ip */ = { - isa = PBXGroup; - children = ( - 8320A50E1462EF5000D1BD32 /* IpEndpointName.h */, - 8320A50F1462EF5000D1BD32 /* NetworkingUtils.h */, - 8320A5101462EF5000D1BD32 /* PacketListener.h */, - 8320A5111462EF5000D1BD32 /* TimerListener.h */, - 8320A5121462EF5000D1BD32 /* UdpSocket.h */, - ); - path = ip; - sourceTree = ""; - }; - 8320A5131462EF5000D1BD32 /* osc */ = { - isa = PBXGroup; - children = ( - 8320A5141462EF5000D1BD32 /* MessageMappingOscPacketListener.h */, - 8320A5151462EF5000D1BD32 /* OscException.h */, - 8320A5161462EF5000D1BD32 /* OscHostEndianness.h */, - 8320A5171462EF5000D1BD32 /* OscOutboundPacketStream.h */, - 8320A5181462EF5000D1BD32 /* OscPacketListener.h */, - 8320A5191462EF5000D1BD32 /* OscPrintReceivedElements.h */, - 8320A51A1462EF5000D1BD32 /* OscReceivedElements.h */, - 8320A51B1462EF5000D1BD32 /* OscTypes.h */, - ); - path = osc; - sourceTree = ""; - }; - 8320A51C1462EF5000D1BD32 /* lib */ = { - isa = PBXGroup; - children = ( - 8320A51D1462EF5000D1BD32 /* iphone */, - 8320A51F1462EF5000D1BD32 /* osx */, - ); - path = lib; - sourceTree = ""; - }; - 8320A51D1462EF5000D1BD32 /* iphone */ = { - isa = PBXGroup; - children = ( - 8320A51E1462EF5000D1BD32 /* osc.a */, - ); - path = iphone; - sourceTree = ""; - }; - 8320A51F1462EF5000D1BD32 /* osx */ = { - isa = PBXGroup; - children = ( - 8320A5201462EF5000D1BD32 /* osc.a */, - ); - path = osx; - sourceTree = ""; - }; - 8320A5211462EF5000D1BD32 /* src */ = { - isa = PBXGroup; - children = ( - 8320A5221462EF5000D1BD32 /* ofxOsc.h */, - 8320A5231462EF5000D1BD32 /* ofxOscArg.h */, - 8320A5241462EF5000D1BD32 /* ofxOscBundle.cpp */, - 8320A5251462EF5000D1BD32 /* ofxOscBundle.h */, - 8320A5261462EF5000D1BD32 /* ofxOscMessage.cpp */, - 8320A5271462EF5000D1BD32 /* ofxOscMessage.h */, - 8320A5281462EF5000D1BD32 /* ofxOscReceiver.cpp */, - 8320A5291462EF5000D1BD32 /* ofxOscReceiver.h */, - 8320A52A1462EF5100D1BD32 /* ofxOscSender.cpp */, - 8320A52B1462EF5100D1BD32 /* ofxOscSender.h */, - ); - path = src; - sourceTree = ""; - }; - 8320A66514630D8B00D1BD32 /* storage */ = { - isa = PBXGroup; - children = ( - 8320A66614630D8B00D1BD32 /* btAlignedAllocator.cpp */, - 8320A66714630D8B00D1BD32 /* btAlignedAllocator.h */, - 8320A66814630D8B00D1BD32 /* btAlignedObjectArray.h */, - 8320A66914630D8B00D1BD32 /* btScalar.h */, - 8320A66A14630D8B00D1BD32 /* someTypes.h */, - ); - name = storage; - path = ../../../../../src/Maximilian/ofxMaxim/ofxMaxim/libs/storage; - sourceTree = SOURCE_ROOT; - }; - 8320A95F1469813200D1BD32 /* ofxXmlSettings */ = { - isa = PBXGroup; - children = ( - 8320A9601469813200D1BD32 /* install.xml */, - 8320A9611469813200D1BD32 /* libs */, - 8320A9661469813200D1BD32 /* src */, - ); - name = ofxXmlSettings; - path = ../../../addons/ofxXmlSettings; - sourceTree = SOURCE_ROOT; - }; - 8320A9611469813200D1BD32 /* libs */ = { - isa = PBXGroup; - children = ( - 8320A9621469813200D1BD32 /* tinyxml.cpp */, - 8320A9631469813200D1BD32 /* tinyxml.h */, - 8320A9641469813200D1BD32 /* tinyxmlerror.cpp */, - 8320A9651469813200D1BD32 /* tinyxmlparser.cpp */, - ); - path = libs; - sourceTree = ""; - }; - 8320A9661469813200D1BD32 /* src */ = { - isa = PBXGroup; - children = ( - 8320A9671469813200D1BD32 /* ofxXmlSettings.cpp */, - 8320A9681469813200D1BD32 /* ofxXmlSettings.h */, - ); - path = src; - sourceTree = ""; - }; - 83544880140CFBC900D16314 /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 83544881140CFBC900D16314 /* install.xml */, - 83544882140CFBC900D16314 /* libs */, - 8354488D140CFBC900D16314 /* src */, - ); - name = ofxMaxim; - path = ../../../addons/ofxMaxim; - sourceTree = SOURCE_ROOT; - }; - 83544882140CFBC900D16314 /* libs */ = { - isa = PBXGroup; - children = ( - 8320A66514630D8B00D1BD32 /* storage */, - 8320A65714630D3F00D1BD32 /* maxiAtoms.cpp */, - 8320A65814630D3F00D1BD32 /* maxiAtoms.h */, - 83544883140CFBC900D16314 /* fft.cpp */, - 83544884140CFBC900D16314 /* fft.h */, - 83544885140CFBC900D16314 /* maxiFFT.cpp */, - 83544886140CFBC900D16314 /* maxiFFT.h */, - 83544887140CFBC900D16314 /* maxiGrains.cpp */, - 83544888140CFBC900D16314 /* maxiGrains.h */, - 83544889140CFBC900D16314 /* maxiMFCC.cpp */, - 8354488A140CFBC900D16314 /* maxiMFCC.h */, - 8354488B140CFBC900D16314 /* maximilian.cpp */, - 8354488C140CFBC900D16314 /* maximilian.h */, - ); - path = libs; - sourceTree = ""; - }; - 8354488D140CFBC900D16314 /* src */ = { - isa = PBXGroup; - children = ( - 8354488E140CFBC900D16314 /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - BB4B014C10F69532006C3DED /* addons */ = { - isa = PBXGroup; - children = ( - 8320A95F1469813200D1BD32 /* ofxXmlSettings */, - 8320A5081462EF5000D1BD32 /* ofxOsc */, - 83544880140CFBC900D16314 /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - BBAB23C913894ECA00AA2426 /* system frameworks */ = { - isa = PBXGroup; - children = ( - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - ); - name = "system frameworks"; - sourceTree = ""; - }; - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23BE13894E4700AA2426 /* GLUT.framework */, - ); - name = "3rd party frameworks"; - sourceTree = ""; - }; - E4328144138ABC890047C5CB /* Products */ = { - isa = PBXGroup; - children = ( - E4328148138ABC890047C5CB /* openFrameworks.a */, - ); - name = Products; - sourceTree = ""; - }; - E45BE5980E8CC70C009D7055 /* frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, - BBAB23C913894ECA00AA2426 /* system frameworks */, - ); - name = frameworks; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4EEC9E9138DF44700A80321 /* openFrameworks */, - BB4B014C10F69532006C3DED /* addons */, - E45BE5980E8CC70C009D7055 /* frameworks */, - E4B69B5B0A3A1756003C02F2 /* atomSynthesisDebug.app */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - 8320A4FD1462EECC00D1BD32 /* debug */, - 83209D8C14602A9C00D1BD32 /* mp.cpp */, - 83209D8D14602A9C00D1BD32 /* mp.h */, - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4EEC9E9138DF44700A80321 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* atomSynthesis */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "atomSynthesis" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, - ); - name = atomSynthesis; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* atomSynthesisDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "atomSynthesis" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4328144138ABC890047C5CB /* Products */; - ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* atomSynthesis */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4328148138ABC890047C5CB /* openFrameworks.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworks.a; - remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - 8354488F140CFBC900D16314 /* fft.cpp in Sources */, - 83544890140CFBC900D16314 /* maxiFFT.cpp in Sources */, - 83544891140CFBC900D16314 /* maxiGrains.cpp in Sources */, - 83544892140CFBC900D16314 /* maxiMFCC.cpp in Sources */, - 83544893140CFBC900D16314 /* maximilian.cpp in Sources */, - 83209D8E14602A9C00D1BD32 /* mp.cpp in Sources */, - 8320A5071462EED600D1BD32 /* pyOSCDebug.cpp in Sources */, - 8320A52E1462EF5100D1BD32 /* ofxOscBundle.cpp in Sources */, - 8320A52F1462EF5100D1BD32 /* ofxOscMessage.cpp in Sources */, - 8320A5301462EF5100D1BD32 /* ofxOscReceiver.cpp in Sources */, - 8320A5311462EF5100D1BD32 /* ofxOscSender.cpp in Sources */, - 8320A65914630D3F00D1BD32 /* maxiAtoms.cpp in Sources */, - 8320A66B14630D8B00D1BD32 /* btAlignedAllocator.cpp in Sources */, - 8320A9691469813200D1BD32 /* tinyxml.cpp in Sources */, - 8320A96A1469813200D1BD32 /* tinyxmlerror.cpp in Sources */, - 8320A96B1469813200D1BD32 /* tinyxmlparser.cpp in Sources */, - 8320A96C1469813200D1BD32 /* ofxXmlSettings.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../../of_preRelease_v007_iphone/addons/ofxOsc/libs/oscpack/lib/iphone\""; - LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../../../of_preRelease_v007_iphone/addons/ofxOsc/libs/oscpack/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_2)", - ); - LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/../../../../of_preRelease_v007_iphone/addons/ofxOsc/libs/oscpack/lib/iphone\""; - LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/../../../../of_preRelease_v007_iphone/addons/ofxOsc/libs/oscpack/lib/osx\""; - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "atomSynthesis" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "atomSynthesis" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/.gitignore b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/.gitignore deleted file mode 100644 index 13d94f8..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.app diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/.gitignore b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/.gitignore deleted file mode 100644 index 473f676..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Ignore everything in here apart from the .gitignore file -!.gitignore \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book100.xml b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book100.xml deleted file mode 100644 index aa78129..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book100.xml +++ /dev/null @@ -1,916 +0,0 @@ - - - 0.6.0 - - - - - - - - - - -txt - - - 1 -

135168

16384
- 26.0189 - - 0.0854492 - 0 - 1.15969 -
- - 1 -

86784

16384
- 20.5322 - - 0.0477905 - 0 - 2.43945 -
- - 1 -

167936

16384
- 19.554 - - 0.0855103 - 0 - 2.75989 -
- - 1 -

72704

16384
- 17.5268 - - 0.0477905 - 0 - -2.55619 -
- - 1 -

94976

16384
- 16.0119 - - 0.0477905 - 0 - -1.30836 -
- - 1 -

141312

16384
- 13.2025 - - 0.0854492 - 0 - 2.65261 -
- - 1 -

58880

16384
- 13.0109 - - 0.0477905 - 0 - 1.54316 -
- - 1 -

186624

16384
- 12.3891 - - 0.0717163 - 0 - 2.70505 -
- - 1 -

153088

16384
- 12.2593 - - 0.0717163 - 0 - -2.12939 -
- - 1 -

103680

16384
- 12.2301 - - 0.0477905 - 0 - -2.03522 -
- - 1 -

79360

16384
- 11.5196 - - 0.0477905 - 0 - -2.48171 -
- - 1 -

174592

16384
- 10.9684 - - 0.0855103 - 0 - 2.56084 -
- - 1 -

120064

16384
- 10.4784 - - 0.0717163 - 0 - -1.45061 -
- - 1 -

66048

16384
- 9.06363 - - 0.0477905 - 0 - -1.77221 -
- - 1 -

194304

16384
- 8.98598 - - 0.0717163 - 0 - 1.66759 -
- - 1 -

28160

16384
- 8.97007 - - 0.0357666 - 0 - 2.83991 -
- - 1 -

111360

16384
- 8.44993 - - 0.0477905 - 0 - -2.29297 -
- - 1 -

160512

16384
- 7.981 - - 0.0717163 - 0 - 0.909795 -
- - 1 -

148480

16384
- 7.96474 - - 0.0855103 - 0 - -2.00777 -
- - 1 -

127744

16384
- 7.39775 - - 0.0717163 - 0 - -2.39619 -
- - 1 -

36096

16384
- 6.96097 - - 0.0357666 - 0 - 1.39349 -
- - 1 -

181504

16384
- 6.49765 - - 0.0855103 - 0 - 1.97801 -
- - 1 -

164608

16384
- 6.44259 - - 0.0853882 - 0 - 0.964036 -
- - 1 -

132608

16384
- 6.06468 - - 0.0855713 - 0 - 1.0816 -
- - 1 -

119552

16384
- 5.90846 - - 0.0477905 - 0 - 0.28169 -
- - 1 -

135936

16384
- 5.57815 - - 0.0853271 - 0 - 2.02588 -
- - 1 -

202240

16384
- 5.5681 - - 0.0717163 - 0 - 2.85064 -
- - 1 -

88576

16384
- 5.41866 - - 0.0479126 - 0 - -1.77019 -
- - 1 -

155136

16384
- 5.08626 - - 0.0855103 - 0 - -2.03802 -
- - 1 -

167680

16384
- 5.04517 - - 0.0856323 - 0 - -0.270848 -
- - 1 -

12544

16384
- 5.02568 - - 0.0283813 - 0 - 1.4924 -
- - 1 -

101632

16384
- 4.75109 - - 0.155151 - 0 - 1.3656 -
- - 1 -

44544

16384
- 4.70776 - - 0.0357666 - 0 - 1.87036 -
- - 1 -

168704

16384
- 4.7011 - - 0.0717163 - 0 - -1.68328 -
- - 1 -

56064

16384
- 4.53199 - - 0.13147 - 0 - -0.568767 -
- - 1 -

128256

16384
- 4.3238 - - 0.0477905 - 0 - -0.305773 -
- - 1 -

56320

16384
- 4.17438 - - 0.0479126 - 0 - 0.717708 -
- - 1 -

135168

16384
- 4.14528 - - 0.0717163 - 0 - 0.702656 -
- - 1 -

103424

16384
- 4.14369 - - 0.0568237 - 0 - 0.279084 -
- - 1 -

70912

16384
- 4.14141 - - 0.0479126 - 0 - 1.22423 -
- - 1 -

184832

16384
- 4.00139 - - 0.0715942 - 0 - -2.14471 -
- - 1 -

99072

16384
- 3.98131 - - 0.0478516 - 0 - -0.344621 -
- - 1 -

20992

16384
- 3.97886 - - 0.0283813 - 0 - -0.890681 -
- - 1 -

54016

16384
- 3.88838 - - 0.0357666 - 0 - 0.00895346 -
- - 1 -

70400

16384
- 3.86896 - - 0.13147 - 0 - -2.04228 -
- - 1 -

148224

16384
- 3.82024 - - 0.0717773 - 0 - 1.24195 -
- - 1 -

44544

16384
- 3.76933 - - 0.0426025 - 0 - -0.354877 -
- - 1 -

188416

16384
- 3.70544 - - 0.0855103 - 0 - 1.32775 -
- - 1 -

166144

16384
- 3.69175 - - 0.157349 - 0 - -2.60915 -
- - 1 -

210176

16384
- 3.52952 - - 0.0717163 - 0 - -2.16791 -
- - 1 -

176640

16384
- 3.49681 - - 0.0717163 - 0 - -0.292969 -
- - 1 -

151808

16384
- 3.40332 - - 0.0715942 - 0 - -3.09356 -
- - 1 -

184064

16384
- 3.31885 - - 0.19397 - 0 - -2.59835 -
- - 1 -

136448

16384
- 3.31517 - - 0.0477905 - 0 - 2.33944 -
- - 1 -

143872

16384
- 3.26476 - - 0.0853882 - 0 - -0.0875053 -
- - 1 -

90112

16384
- 3.25881 - - 0.0476685 - 0 - 3.1339 -
- - 1 -

183040

16384
- 3.19368 - - 0.0718384 - 0 - 2.06974 -
- - 1 -

150272

16384
- 3.18732 - - 0.19397 - 0 - -2.22968 -
- - 1 -

29440

16384
- 3.14471 - - 0.0283813 - 0 - -3.125 -
- - 1 -

25344

16384
- 3.08804 - - 0.0358887 - 0 - -0.630158 -
- - 1 -

55296

16384
- 3.08673 - - 0.0476685 - 0 - 0.0991984 -
- - 1 -

132608

16384
- 3.08609 - - 0.085144 - 0 - 0.149929 -
- - 1 -

70656

16384
- 3.08529 - - 0.0476685 - 0 - -2.77954 -
- - 1 -

52992

16384
- 3.06124 - - 0.0426025 - 0 - -1.59572 -
- - 1 -

83456

16384
- 3.044 - - 0.0479736 - 0 - -0.44463 -
- - 1 -

164608

16384
- 2.9603 - - 0.0852051 - 0 - -1.62232 -
- - 1 -

62208

16384
- 2.89534 - - 0.0357666 - 0 - -0.414024 -
- - 1 -

110848

16384
- 2.8546 - - 0.0568237 - 0 - 0.249117 -
- - 1 -

39936

16384
- 2.79786 - - 0.116455 - 0 - -3.02242 -
- - 1 -

132352

16384
- 2.75827 - - 0.0858154 - 0 - 1.6784 -
- - 1 -

118784

16384
- 2.74463 - - 0.0715942 - 0 - -1.98835 -
- - 1 -

80640

16384
- 2.73543 - - 0.0426025 - 0 - 0.795074 -
- - 1 -

76288

16384
- 2.63282 - - 0.116394 - 0 - 2.75524 -
- - 1 -

93696

16384
- 2.60329 - - 0.0479126 - 0 - -0.746746 -
- - 1 -

145152

16384
- 2.53417 - - 0.0477905 - 0 - 1.70589 -
- - 1 -

37888

16384
- 2.49165 - - 0.0283813 - 0 - 0.903997 -
- - 1 -

107776

16384
- 2.42332 - - 0.0479126 - 0 - 2.55134 -
- - 1 -

103168

16384
- 2.42999 - - 0.0476685 - 0 - -1.41955 -
- - 1 -

70912

16384
- 2.42048 - - 0.0357666 - 0 - 1.0897 -
- - 1 -

62720

16384
- 2.41233 - - 0.116455 - 0 - -0.289183 -
- - 1 -

165120

16384
- 2.38774 - - 0.0858154 - 0 - 1.42328 -
- - 1 -

118016

16384
- 2.37495 - - 0.19397 - 0 - 2.79835 -
- - 1 -

218112

16384
- 2.36021 - - 0.0717163 - 0 - -0.875408 -
- - 1 -

195840

16384
- 2.25953 - - 0.0855103 - 0 - -0.671357 -
- - 1 -

141312

16384
- 2.23297 - - 0.0717163 - 0 - -1.06781 -
- - 1 -

174848

16384
- 2.22261 - - 0.0856323 - 0 - -1.52798 -
- - 1 -

133888

16384
- 2.18704 - - 0.157349 - 0 - -0.388891 -
- - 1 -

24832

16384
- 2.17993 - - 0.0356445 - 0 - 2.4899 -
- - 1 -

144896

16384
- 2.14394 - - 0.0855713 - 0 - -0.784211 -
- - 1 -

191744

16384
- 2.033 - - 0.0715942 - 0 - -2.86264 -
- - 1 -

100352

16384
- 2.02453 - - 0.154907 - 0 - -2.05005 -
- - 1 -

10752

16384
- 2.00247 - - 0.0775757 - 0 - -0.903881 -
- - 1 -

46336

16384
- 1.99907 - - 0.0283813 - 0 - -1.30574 -
- - 1 -

116992

16384
- 1.9705 - - 0.0718994 - 0 - -0.425363 -
- - 1 -

153600

16384
- 1.96808 - - 0.0477905 - 0 - -0.319844 -
- - 1 -

76288

16384
- 1.95967 - - 0.116638 - 0 - 3.02426 -
- - 1 -

80640

16384
- 1.87439 - - 0.0357666 - 0 - 0.180875 -
- - 1 -

118528

16384
- 1.85171 - - 0.0568237 - 0 - 3.01636 -
- - 1 -

115456

16384
- 1.83483 - - 0.0479126 - 0 - 1.82863 -
- - 1 -

33024

16384
- 1.82902 - - 0.0358887 - 0 - 2.78572 -
-
diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book1000.xml b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book1000.xml deleted file mode 100644 index 9eef7f3..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/book1000.xml +++ /dev/null @@ -1,9016 +0,0 @@ - - - 0.6.0 - - - - - - - - - - -txt - - - 1 -

135168

16384
- 26.0189 - - 0.0854492 - 0 - 1.15969 -
- - 1 -

86784

16384
- 20.5322 - - 0.0477905 - 0 - 2.43945 -
- - 1 -

167936

16384
- 19.554 - - 0.0855103 - 0 - 2.75989 -
- - 1 -

72704

16384
- 17.5268 - - 0.0477905 - 0 - -2.55619 -
- - 1 -

94976

16384
- 16.0119 - - 0.0477905 - 0 - -1.30836 -
- - 1 -

141312

16384
- 13.2025 - - 0.0854492 - 0 - 2.65261 -
- - 1 -

58880

16384
- 13.0109 - - 0.0477905 - 0 - 1.54316 -
- - 1 -

186624

16384
- 12.3891 - - 0.0717163 - 0 - 2.70505 -
- - 1 -

153088

16384
- 12.2593 - - 0.0717163 - 0 - -2.12939 -
- - 1 -

103680

16384
- 12.2301 - - 0.0477905 - 0 - -2.03522 -
- - 1 -

79360

16384
- 11.5196 - - 0.0477905 - 0 - -2.48171 -
- - 1 -

174592

16384
- 10.9684 - - 0.0855103 - 0 - 2.56084 -
- - 1 -

120064

16384
- 10.4784 - - 0.0717163 - 0 - -1.45061 -
- - 1 -

66048

16384
- 9.06363 - - 0.0477905 - 0 - -1.77221 -
- - 1 -

194304

16384
- 8.98598 - - 0.0717163 - 0 - 1.66759 -
- - 1 -

28160

16384
- 8.97007 - - 0.0357666 - 0 - 2.83991 -
- - 1 -

111360

16384
- 8.44993 - - 0.0477905 - 0 - -2.29297 -
- - 1 -

160512

16384
- 7.981 - - 0.0717163 - 0 - 0.909795 -
- - 1 -

148480

16384
- 7.96474 - - 0.0855103 - 0 - -2.00777 -
- - 1 -

127744

16384
- 7.39775 - - 0.0717163 - 0 - -2.39619 -
- - 1 -

36096

16384
- 6.96097 - - 0.0357666 - 0 - 1.39349 -
- - 1 -

181504

16384
- 6.49765 - - 0.0855103 - 0 - 1.97801 -
- - 1 -

164608

16384
- 6.44259 - - 0.0853882 - 0 - 0.964036 -
- - 1 -

132608

16384
- 6.06468 - - 0.0855713 - 0 - 1.0816 -
- - 1 -

119552

16384
- 5.90846 - - 0.0477905 - 0 - 0.28169 -
- - 1 -

135936

16384
- 5.57815 - - 0.0853271 - 0 - 2.02588 -
- - 1 -

202240

16384
- 5.5681 - - 0.0717163 - 0 - 2.85064 -
- - 1 -

88576

16384
- 5.41866 - - 0.0479126 - 0 - -1.77019 -
- - 1 -

155136

16384
- 5.08626 - - 0.0855103 - 0 - -2.03802 -
- - 1 -

167680

16384
- 5.04517 - - 0.0856323 - 0 - -0.270848 -
- - 1 -

12544

16384
- 5.02568 - - 0.0283813 - 0 - 1.4924 -
- - 1 -

101632

16384
- 4.75109 - - 0.155151 - 0 - 1.3656 -
- - 1 -

44544

16384
- 4.70776 - - 0.0357666 - 0 - 1.87036 -
- - 1 -

168704

16384
- 4.7011 - - 0.0717163 - 0 - -1.68328 -
- - 1 -

56064

16384
- 4.53199 - - 0.13147 - 0 - -0.568767 -
- - 1 -

128256

16384
- 4.3238 - - 0.0477905 - 0 - -0.305773 -
- - 1 -

56320

16384
- 4.17438 - - 0.0479126 - 0 - 0.717708 -
- - 1 -

135168

16384
- 4.14528 - - 0.0717163 - 0 - 0.702656 -
- - 1 -

103424

16384
- 4.14369 - - 0.0568237 - 0 - 0.279084 -
- - 1 -

70912

16384
- 4.14141 - - 0.0479126 - 0 - 1.22423 -
- - 1 -

184832

16384
- 4.00139 - - 0.0715942 - 0 - -2.14471 -
- - 1 -

99072

16384
- 3.98131 - - 0.0478516 - 0 - -0.344621 -
- - 1 -

20992

16384
- 3.97886 - - 0.0283813 - 0 - -0.890681 -
- - 1 -

54016

16384
- 3.88838 - - 0.0357666 - 0 - 0.00895346 -
- - 1 -

70400

16384
- 3.86896 - - 0.13147 - 0 - -2.04228 -
- - 1 -

148224

16384
- 3.82024 - - 0.0717773 - 0 - 1.24195 -
- - 1 -

44544

16384
- 3.76933 - - 0.0426025 - 0 - -0.354877 -
- - 1 -

188416

16384
- 3.70544 - - 0.0855103 - 0 - 1.32775 -
- - 1 -

166144

16384
- 3.69175 - - 0.157349 - 0 - -2.60915 -
- - 1 -

210176

16384
- 3.52952 - - 0.0717163 - 0 - -2.16791 -
- - 1 -

176640

16384
- 3.49681 - - 0.0717163 - 0 - -0.292969 -
- - 1 -

151808

16384
- 3.40332 - - 0.0715942 - 0 - -3.09356 -
- - 1 -

184064

16384
- 3.31885 - - 0.19397 - 0 - -2.59835 -
- - 1 -

136448

16384
- 3.31517 - - 0.0477905 - 0 - 2.33944 -
- - 1 -

143872

16384
- 3.26476 - - 0.0853882 - 0 - -0.0875053 -
- - 1 -

90112

16384
- 3.25881 - - 0.0476685 - 0 - 3.1339 -
- - 1 -

183040

16384
- 3.19368 - - 0.0718384 - 0 - 2.06974 -
- - 1 -

150272

16384
- 3.18732 - - 0.19397 - 0 - -2.22968 -
- - 1 -

29440

16384
- 3.14471 - - 0.0283813 - 0 - -3.125 -
- - 1 -

25344

16384
- 3.08804 - - 0.0358887 - 0 - -0.630158 -
- - 1 -

55296

16384
- 3.08673 - - 0.0476685 - 0 - 0.0991984 -
- - 1 -

132608

16384
- 3.08609 - - 0.085144 - 0 - 0.149929 -
- - 1 -

70656

16384
- 3.08529 - - 0.0476685 - 0 - -2.77954 -
- - 1 -

52992

16384
- 3.06124 - - 0.0426025 - 0 - -1.59572 -
- - 1 -

83456

16384
- 3.044 - - 0.0479736 - 0 - -0.44463 -
- - 1 -

164608

16384
- 2.9603 - - 0.0852051 - 0 - -1.62232 -
- - 1 -

62208

16384
- 2.89534 - - 0.0357666 - 0 - -0.414024 -
- - 1 -

110848

16384
- 2.8546 - - 0.0568237 - 0 - 0.249117 -
- - 1 -

39936

16384
- 2.79786 - - 0.116455 - 0 - -3.02242 -
- - 1 -

132352

16384
- 2.75827 - - 0.0858154 - 0 - 1.6784 -
- - 1 -

118784

16384
- 2.74463 - - 0.0715942 - 0 - -1.98835 -
- - 1 -

80640

16384
- 2.73543 - - 0.0426025 - 0 - 0.795074 -
- - 1 -

76288

16384
- 2.63282 - - 0.116394 - 0 - 2.75524 -
- - 1 -

93696

16384
- 2.60329 - - 0.0479126 - 0 - -0.746746 -
- - 1 -

145152

16384
- 2.53417 - - 0.0477905 - 0 - 1.70589 -
- - 1 -

37888

16384
- 2.49165 - - 0.0283813 - 0 - 0.903997 -
- - 1 -

107776

16384
- 2.42332 - - 0.0479126 - 0 - 2.55134 -
- - 1 -

103168

16384
- 2.42999 - - 0.0476685 - 0 - -1.41955 -
- - 1 -

70912

16384
- 2.42048 - - 0.0357666 - 0 - 1.0897 -
- - 1 -

62720

16384
- 2.41233 - - 0.116455 - 0 - -0.289183 -
- - 1 -

165120

16384
- 2.38774 - - 0.0858154 - 0 - 1.42328 -
- - 1 -

118016

16384
- 2.37495 - - 0.19397 - 0 - 2.79835 -
- - 1 -

218112

16384
- 2.36021 - - 0.0717163 - 0 - -0.875408 -
- - 1 -

195840

16384
- 2.25953 - - 0.0855103 - 0 - -0.671357 -
- - 1 -

141312

16384
- 2.23297 - - 0.0717163 - 0 - -1.06781 -
- - 1 -

174848

16384
- 2.22261 - - 0.0856323 - 0 - -1.52798 -
- - 1 -

133888

16384
- 2.18704 - - 0.157349 - 0 - -0.388891 -
- - 1 -

24832

16384
- 2.17993 - - 0.0356445 - 0 - 2.4899 -
- - 1 -

144896

16384
- 2.14394 - - 0.0855713 - 0 - -0.784211 -
- - 1 -

191744

16384
- 2.033 - - 0.0715942 - 0 - -2.86264 -
- - 1 -

100352

16384
- 2.02453 - - 0.154907 - 0 - -2.05005 -
- - 1 -

10752

16384
- 2.00247 - - 0.0775757 - 0 - -0.903881 -
- - 1 -

46336

16384
- 1.99907 - - 0.0283813 - 0 - -1.30574 -
- - 1 -

116992

16384
- 1.9705 - - 0.0718994 - 0 - -0.425363 -
- - 1 -

153600

16384
- 1.96808 - - 0.0477905 - 0 - -0.319844 -
- - 1 -

76288

16384
- 1.95967 - - 0.116638 - 0 - 3.02426 -
- - 1 -

80640

16384
- 1.87439 - - 0.0357666 - 0 - 0.180875 -
- - 1 -

118528

16384
- 1.85171 - - 0.0568237 - 0 - 3.01636 -
- - 1 -

115456

16384
- 1.83483 - - 0.0479126 - 0 - 1.82863 -
- - 1 -

33024

16384
- 1.82902 - - 0.0358887 - 0 - 2.78572 -
- - 1 -

160000

16384
- 1.82352 - - 0.0715942 - 0 - 0.182681 -
- - 1 -

62976

16384
- 1.80097 - - 0.0479126 - 0 - -0.267142 -
- - 1 -

59136

16384
- 1.79187 - - 0.0426025 - 0 - 2.64124 -
- - 1 -

56064

16384
- 1.75974 - - 0.247192 - 0 - 3.01292 -
- - 1 -

160000

16384
- 1.73786 - - 0.0855103 - 0 - 2.78926 -
- - 1 -

126464

16384
- 1.7349 - - 0.0715942 - 0 - -3.0423 -
- - 1 -

132608

16384
- 1.72627 - - 0.0863647 - 0 - -0.538538 -
- - 1 -

96768

16384
- 1.72488 - - 0.0476685 - 0 - -1.79706 -
- - 1 -

24832

16384
- 1.71734 - - 0.185547 - 0 - 2.3489 -
- - 1 -

87296

16384
- 1.70365 - - 0.0426025 - 0 - -2.85482 -
- - 1 -

10496

16384
- 1.70119 - - 0.0285034 - 0 - 2.42101 -
- - 1 -

148224

16384
- 1.69507 - - 0.0719604 - 0 - -2.81935 -
- - 1 -

10496

16384
- 1.64378 - - 0.187744 - 0 - 1.60814 -
- - 1 -

54784

16384
- 1.62574 - - 0.0283813 - 0 - 2.7666 -
- - 1 -

132096

16384
- 1.61926 - - 0.0860596 - 0 - 1.62522 -
- - 1 -

182272

16384
- 1.61656 - - 0.0720825 - 0 - 0.849578 -
- - 1 -

132096

16384
- 1.6109 - - 0.0848999 - 0 - 3.1272 -
- - 1 -

164864

16384
- 1.60008 - - 0.0849609 - 0 - 2.6849 -
- - 1 -

84224

16384
- 1.59927 - - 0.247864 - 0 - 1.9838 -
- - 1 -

83968

16384
- 1.58346 - - 0.0476074 - 0 - 2.24041 -
- - 1 -

49152

16384
- 1.57675 - - 0.0358276 - 0 - -2.83729 -
- - 1 -

192768

16384
- 1.56643 - - 0.0718384 - 0 - 2.39301 -
- - 1 -

166912

16384
- 1.56264 - - 0.332886 - 0 - -0.781066 -
- - 1 -

164608

16384
- 1.55745 - - 0.0863037 - 0 - 1.89006 -
- - 1 -

69632

16384
- 1.54159 - - 0.247864 - 0 - -1.77254 -
- - 1 -

226048

16384
- 1.53456 - - 0.0717163 - 0 - 0.484354 -
- - 1 -

89088

16384
- 1.53249 - - 0.0357666 - 0 - 0.521994 -
- - 1 -

182272

16384
- 1.51716 - - 0.0713501 - 0 - 2.68767 -
- - 1 -

54272

16384
- 1.45632 - - 0.131653 - 0 - -2.20717 -
- - 1 -

161792

16384
- 1.45074 - - 0.0477905 - 0 - 2.44642 -
- - 1 -

151808

16384
- 1.43327 - - 0.0856323 - 0 - 0.8848 -
- - 1 -

128512

16384
- 1.42856 - - 0.0568237 - 0 - -0.677659 -
- - 1 -

76800

16384
- 1.42118 - - 0.0479736 - 0 - -0.895893 -
- - 1 -

203008

16384
- 1.42058 - - 0.0855103 - 0 - -2.01493 -
- - 1 -

199680

16384
- 1.41585 - - 0.0715942 - 0 - -1.91636 -
- - 1 -

124160

16384
- 1.40604 - - 0.0478516 - 0 - -1.58568 -
- - 1 -

40960

16384
- 1.40529 - - 0.0358276 - 0 - -1.92801 -
- - 1 -

132608

16384
- 1.39757 - - 0.0846558 - 0 - -0.614327 -
- - 1 -

9728

16384
- 1.38123 - - 0.0929565 - 0 - 0.985037 -
- - 1 -

17152

16384
- 1.37008 - - 0.0284424 - 0 - 2.88053 -
- - 1 -

148992

16384
- 1.35674 - - 0.0714111 - 0 - 2.6558 -
- - 1 -

68352

16384
- 1.35113 - - 0.131653 - 0 - -2.01346 -
- - 1 -

130816

16384
- 1.33421 - - 0.0853271 - 0 - -1.51186 -
- - 1 -

39424

16384
- 1.30621 - - 0.116272 - 0 - 2.53757 -
- - 1 -

55296

16384
- 1.3017 - - 0.247864 - 0 - -3.00899 -
- - 1 -

63488

16384
- 1.29301 - - 0.0283813 - 0 - 2.18569 -
- - 1 -

164864

16384
- 1.28765 - - 0.157593 - 0 - 0.313732 -
- - 1 -

68864

16384
- 1.28728 - - 0.0474854 - 0 - -2.41005 -
- - 1 -

164352

16384
- 1.26887 - - 0.0860596 - 0 - 1.59079 -
- - 1 -

164864

16384
- 1.26237 - - 0.0847168 - 0 - 2.35126 -
- - 1 -

134656

16384
- 1.25295 - - 0.332886 - 0 - 1.00529 -
- - 1 -

34304

16384
- 1.23864 - - 0.0356445 - 0 - -0.691508 -
- - 1 -

132352

16384
- 1.23419 - - 0.0866089 - 0 - -1.47973 -
- - 1 -

70656

16384
- 1.22239 - - 0.247192 - 0 - 0.154665 -
- - 1 -

140288

16384
- 1.2213 - - 0.0854492 - 0 - -2.31693 -
- - 1 -

0

16384
- 1.22107 - - 0.125488 - 0 - 0.178221 -
- - 1 -

98560

16384
- 1.21789 - - 0.0426025 - 0 - 1.88096 -
- - 1 -

97536

16384
- 1.2105 - - 0.0357666 - 0 - 1.11092 -
- - 1 -

148736

16384
- 1.20998 - - 0.194153 - 0 - 0.373465 -
- - 1 -

8704

16384
- 1.19936 - - 0.0282593 - 0 - 2.42541 -
- - 1 -

156160

16384
- 1.19689 - - 0.0718384 - 0 - -0.773464 -
- - 1 -

166912

16384
- 1.18556 - - 0.0715942 - 0 - -0.385434 -
- - 1 -

39168

16384
- 1.18401 - - 0.116699 - 0 - 0.723576 -
- - 1 -

62464

16384
- 1.18259 - - 0.116638 - 0 - -2.21365 -
- - 1 -

99584

16384
- 1.1667 - - 0.155334 - 0 - -1.7334 -
- - 1 -

170496

16384
- 1.15712 - - 0.0477905 - 0 - 1.80629 -
- - 1 -

182528

16384
- 1.15412 - - 0.194214 - 0 - -3.0168 -
- - 1 -

182784

16384
- 1.15279 - - 0.0856323 - 0 - 2.19084 -
- - 1 -

25088

16384
- 1.14646 - - 0.0284424 - 0 - -2.93578 -
- - 1 -

55808

16384
- 1.14448 - - 0.0480957 - 0 - 2.28878 -
- - 1 -

55296

16384
- 1.1395 - - 0.131287 - 0 - 1.82149 -
- - 1 -

40960

16384
- 1.13671 - - 0.0426636 - 0 - -0.704369 -
- - 1 -

118016

16384
- 1.13051 - - 0.0476685 - 0 - 2.279 -
- - 1 -

165120

16384
- 1.12285 - - 0.0854492 - 0 - -0.24826 -
- - 1 -

164864

16384
- 1.11111 - - 0.157166 - 0 - -1.28956 -
- - 1 -

16384

16384
- 1.11041 - - 0.0775146 - 0 - -0.0805964 -
- - 1 -

164608

16384
- 1.10172 - - 0.0865479 - 0 - 1.69245 -
- - 1 -

132352

16384
- 1.08778 - - 0.0479126 - 0 - -2.2583 -
- - 1 -

100096

16384
- 1.08454 - - 0.154663 - 0 - 0.187566 -
- - 1 -

54272

16384
- 1.07572 - - 0.0474243 - 0 - 1.40981 -
- - 1 -

102912

16384
- 1.05684 - - 0.0567017 - 0 - -2.74291 -
- - 1 -

116224

16384
- 1.04705 - - 0.0713501 - 0 - 3.13798 -
- - 1 -

48640

16384
- 1.04328 - - 0.0426636 - 0 - -0.817658 -
- - 1 -

133376

16384
- 1.03666 - - 0.0715942 - 0 - 2.42408 -
- - 1 -

68608

16384
- 1.03311 - - 0.0481567 - 0 - -2.09506 -
- - 1 -

233984

16384
- 1.02949 - - 0.0717163 - 0 - 1.9192 -
- - 1 -

132352

16384
- 1.02708 - - 0.086853 - 0 - -1.37959 -
- - 1 -

136448

16384
- 1.02415 - - 0.0568237 - 0 - -0.351609 -
- - 1 -

71936

16384
- 1.02035 - - 0.0283813 - 0 - -0.0202415 -
- - 1 -

107520

16384
- 1.01852 - - 0.155151 - 0 - -0.506948 -
- - 1 -

10240

16384
- 1.01697 - - 0.0773315 - 0 - 0.108972 -
- - 1 -

199936

16384
- 0.975096 - - 0.0718384 - 0 - 2.2967 -
- - 1 -

61952

16384
- 0.964455 - - 0.116272 - 0 - 1.0517 -
- - 1 -

11264

16384
- 0.94873 - - 0.0916138 - 0 - -2.62555 -
- - 1 -

0

16384
- 0.937933 - - 0.0238647 - 0 - -2.68187 -
- - 1 -

86016

16384
- 0.933625 - - 0.0477905 - 0 - -1.32515 -
- - 1 -

61184

16384
- 0.930684 - - 0.13147 - 0 - 1.51177 -
- - 1 -

58368

16384
- 0.926717 - - 0.0358887 - 0 - -2.27288 -
- - 1 -

179456

16384
- 0.924427 - - 0.0477905 - 0 - 2.6663 -
- - 1 -

165376

16384
- 0.924174 - - 0.0718384 - 0 - 0.552666 -
- - 1 -

207360

16384
- 0.920933 - - 0.0715942 - 0 - -2.67175 -
- - 1 -

44544

16384
- 0.919588 - - 0.0356445 - 0 - -1.11988 -
- - 1 -

75776

16384
- 0.911478 - - 0.115906 - 0 - -1.80835 -
- - 1 -

124928

16384
- 0.909158 - - 0.0718384 - 0 - -1.88894 -
- - 1 -

76288

16384
- 0.908359 - - 0.13147 - 0 - -0.299787 -
- - 1 -

132352

16384
- 0.904295 - - 0.0873413 - 0 - -1.20205 -
- - 1 -

174848

16384
- 0.902082 - - 0.0715942 - 0 - 1.18931 -
- - 1 -

76800

16384
- 0.89958 - - 0.0426636 - 0 - 1.0788 -
- - 1 -

116224

16384
- 0.89651 - - 0.0721436 - 0 - -1.86247 -
- - 1 -

148992

16384
- 0.890866 - - 0.0717163 - 0 - 1.35523 -
- - 1 -

132608

16384
- 0.882934 - - 0.0880127 - 0 - -1.09728 -
- - 1 -

109312

16384
- 0.881295 - - 0.0476074 - 0 - 0.822532 -
- - 1 -

33536

16384
- 0.877405 - - 0.0284424 - 0 - 1.07967 -
- - 1 -

164608

16384
- 0.86998 - - 0.086792 - 0 - 1.84596 -
- - 1 -

82944

16384
- 0.864231 - - 0.0473633 - 0 - -1.72947 -
- - 1 -

75776

16384
- 0.861443 - - 0.0358276 - 0 - -2.5246 -
- - 1 -

148224

16384
- 0.852365 - - 0.0722046 - 0 - -3.02157 -
- - 1 -

132352

16384
- 0.844769 - - 0.0876465 - 0 - 1.91793 -
- - 1 -

128768

16384
- 0.844603 - - 0.0856934 - 0 - 0.647824 -
- - 1 -

105728

16384
- 0.842475 - - 0.0357666 - 0 - 0.595875 -
- - 1 -

150016

16384
- 0.842167 - - 0.193787 - 0 - 1.84859 -
- - 1 -

69632

16384
- 0.833721 - - 0.131287 - 0 - 0.259697 -
- - 1 -

85760

16384
- 0.833071 - - 0.247192 - 0 - 0.717909 -
- - 1 -

38912

16384
- 0.826349 - - 0.115845 - 0 - 1.37252 -
- - 1 -

80640

16384
- 0.825794 - - 0.0283813 - 0 - -0.539912 -
- - 1 -

209920

16384
- 0.824793 - - 0.0855103 - 0 - -2.62245 -
- - 1 -

182016

16384
- 0.822941 - - 0.071167 - 0 - -1.65859 -
- - 1 -

68864

16384
- 0.821368 - - 0.248047 - 0 - -1.49053 -
- - 1 -

26112

16384
- 0.820782 - - 0.212646 - 0 - 0.584811 -
- - 1 -

141056

16384
- 0.817149 - - 0.0478516 - 0 - 0.426709 -
- - 1 -

132096

16384
- 0.810072 - - 0.0844116 - 0 - -2.24357 -
- - 1 -

111872

16384
- 0.797018 - - 0.0426025 - 0 - 2.43025 -
- - 1 -

132352

16384
- 0.794641 - - 0.0870972 - 0 - -1.31865 -
- - 1 -

42240

16384
- 0.791593 - - 0.0424805 - 0 - -2.45791 -
- - 1 -

100096

16384
- 0.791287 - - 0.0570068 - 0 - 1.46357 -
- - 1 -

23552

16384
- 0.787698 - - 0.0354004 - 0 - -1.45636 -
- - 1 -

116480

16384
- 0.785691 - - 0.194153 - 0 - -0.865859 -
- - 1 -

23552

16384
- 0.785051 - - 0.0361328 - 0 - -2.58803 -
- - 1 -

127488

16384
- 0.782793 - - 0.0476685 - 0 - -0.971777 -
- - 1 -

75264

16384
- 0.780778 - - 0.116882 - 0 - -0.456393 -
- - 1 -

165632

16384
- 0.772509 - - 0.00354004 - 0 - 0.0787487 -
- - 1 -

66816

16384
- 0.768907 - - 0.0358276 - 0 - 1.36733 -
- - 1 -

83200

16384
- 0.761049 - - 0.248047 - 0 - -0.819593 -
- - 1 -

181760

16384
- 0.760101 - - 0.0723267 - 0 - 0.827303 -
- - 1 -

74496

16384
- 0.75845 - - 0.116211 - 0 - -2.14072 -
- - 1 -

103936

16384
- 0.755412 - - 0.0479736 - 0 - 0.388846 -
- - 1 -

83456

16384
- 0.75374 - - 0.116455 - 0 - -1.09485 -
- - 1 -

191232

16384
- 0.752628 - - 0.0856323 - 0 - -1.30058 -
- - 1 -

53504

16384
- 0.74991 - - 0.0356445 - 0 - 1.55957 -
- - 1 -

148480

16384
- 0.744063 - - 0.071167 - 0 - -0.998862 -
- - 1 -

145664

16384
- 0.736005 - - 0.0568237 - 0 - -1.71438 -
- - 1 -

164608

16384
- 0.733074 - - 0.0870972 - 0 - -1.21699 -
- - 1 -

23552

16384
- 0.731243 - - 0.18573 - 0 - 1.61111 -
- - 1 -

132352

16384
- 0.729048 - - 0.0840454 - 0 - 1.38084 -
- - 1 -

164352

16384
- 0.725888 - - 0.0844727 - 0 - 0.55254 -
- - 1 -

68352

16384
- 0.725414 - - 0.0472412 - 0 - 2.2098 -
- - 1 -

164608

16384
- 0.72498 - - 0.0875244 - 0 - 2.12236 -
- - 1 -

9728

16384
- 0.724686 - - 0.148254 - 0 - -1.78177 -
- - 1 -

62720

16384
- 0.72432 - - 0.0476074 - 0 - 1.71233 -
- - 1 -

38656

16384
- 0.723078 - - 0.116943 - 0 - 2.11192 -
- - 1 -

115968

16384
- 0.722858 - - 0.0357666 - 0 - 1.77314 -
- - 1 -

54272

16384
- 0.718008 - - 0.0483398 - 0 - -2.96988 -
- - 1 -

20480

16384
- 0.71726 - - 0.0282593 - 0 - -0.623376 -
- - 1 -

54016

16384
- 0.712682 - - 0.131897 - 0 - -0.312877 -
- - 1 -

164608

16384
- 0.712308 - - 0.0880127 - 0 - 2.08973 -
- - 1 -

183040

16384
- 0.709599 - - 0.193787 - 0 - 2.77805 -
- - 1 -

187648

16384
- 0.707186 - - 0.0477905 - 0 - -0.83153 -
- - 1 -

68608

16384
- 0.706647 - - 0.0484009 - 0 - -1.68638 -
- - 1 -

68864

16384
- 0.705466 - - 0.247437 - 0 - -1.02125 -
- - 1 -

241920

16384
- 0.704255 - - 0.0717163 - 0 - -3.01164 -
- - 1 -

41984

16384
- 0.701965 - - 0.0284424 - 0 - -1.16906 -
- - 1 -

176896

16384
- 0.697842 - - 0.0853882 - 0 - -2.82886 -
- - 1 -

19712

16384
- 0.696101 - - 0.0916138 - 0 - 2.09225 -
- - 1 -

132352

16384
- 0.695363 - - 0.0882568 - 0 - 1.70207 -
- - 1 -

147968

16384
- 0.695279 - - 0.0854492 - 0 - -0.189982 -
- - 1 -

136192

16384
- 0.694939 - - 0.0857544 - 0 - -1.15233 -
- - 1 -

132352

16384
- 0.692566 - - 0.157532 - 0 - -2.80529 -
- - 1 -

46592

16384
- 0.686318 - - 0.116516 - 0 - 2.49781 -
- - 1 -

132352

16384
- 0.6829 - - 0.0889893 - 0 - 1.90513 -
- - 1 -

132608

16384
- 0.682731 - - 0.157166 - 0 - 0.985435 -
- - 1 -

67840

16384
- 0.681065 - - 0.0477905 - 0 - -1.75116 -
- - 1 -

54528

16384
- 0.675792 - - 0.247375 - 0 - 0.721284 -
- - 1 -

82688

16384
- 0.673194 - - 0.0482788 - 0 - 2.71764 -
- - 1 -

90624

16384
- 0.665766 - - 0.0476074 - 0 - -0.891585 -
- - 1 -

164608

16384
- 0.664193 - - 0.0841675 - 0 - 1.07508 -
- - 1 -

89344

16384
- 0.661785 - - 0.0283813 - 0 - -1.03932 -
- - 1 -

68352

16384
- 0.656222 - - 0.131897 - 0 - -1.98705 -
- - 1 -

99840

16384
- 0.655838 - - 0.154419 - 0 - 2.90726 -
- - 1 -

134400

16384
- 0.655076 - - 0.0862427 - 0 - 2.34953 -
- - 1 -

148480

16384
- 0.652365 - - 0.194397 - 0 - 2.04395 -
- - 1 -

99584

16384
- 0.646538 - - 0.155579 - 0 - -1.98943 -
- - 1 -

54272

16384
- 0.645976 - - 0.248047 - 0 - 0.343348 -
- - 1 -

61952

16384
- 0.644779 - - 0.116882 - 0 - -0.283344 -
- - 1 -

189952

16384
- 0.637168 - - 0.19397 - 0 - -1.04966 -
- - 1 -

164608

16384
- 0.634928 - - 0.157837 - 0 - -1.9543 -
- - 1 -

164608

16384
- 0.634035 - - 0.0877686 - 0 - 2.12341 -
- - 1 -

54016

16384
- 0.630939 - - 0.131042 - 0 - 1.74445 -
- - 1 -

132352

16384
- 0.630314 - - 0.0892944 - 0 - -1.32142 -
- - 1 -

132352

16384
- 0.630168 - - 0.0886841 - 0 - -1.21998 -
- - 1 -

182016

16384
- 0.628465 - - 0.0709229 - 0 - -1.74229 -
- - 1 -

153344

16384
- 0.62101 - - 0.0568237 - 0 - 1.22151 -
- - 1 -

148992

16384
- 0.617404 - - 0.0478516 - 0 - 1.25992 -
- - 1 -

120576

16384
- 0.616684 - - 0.0426025 - 0 - 0.450711 -
- - 1 -

215296

16384
- 0.612386 - - 0.0715942 - 0 - -1.42303 -
- - 1 -

179456

16384
- 0.611076 - - 0.0714722 - 0 - 0.662579 -
- - 1 -

7936

16384
- 0.610924 - - 0.0238647 - 0 - -0.745684 -
- - 1 -

105216

16384
- 0.607999 - - 0.154968 - 0 - 0.19249 -
- - 1 -

158976

16384
- 0.60478 - - 0.0853271 - 0 - 2.56428 -
- - 1 -

115968

16384
- 0.603075 - - 0.071106 - 0 - 1.79013 -
- - 1 -

208128

16384
- 0.60276 - - 0.0718384 - 0 - -0.165984 -
- - 1 -

155648

16384
- 0.598196 - - 0.0714722 - 0 - -2.75476 -
- - 1 -

119040

16384
- 0.596589 - - 0.0717773 - 0 - -0.0507966 -
- - 1 -

162304

16384
- 0.595101 - - 0.15741 - 0 - 2.59262 -
- - 1 -

186880

16384
- 0.592968 - - 0.0714111 - 0 - 1.2128 -
- - 1 -

83200

16384
- 0.592144 - - 0.24762 - 0 - -2.6093 -
- - 1 -

78592

16384
- 0.592121 - - 0.0475464 - 0 - -2.86635 -
- - 1 -

123648

16384
- 0.591414 - - 0.0567627 - 0 - -0.249494 -
- - 1 -

89600

16384
- 0.590921 - - 0.0480347 - 0 - 2.29279 -
- - 1 -

75264

16384
- 0.589306 - - 0.115662 - 0 - 2.8593 -
- - 1 -

135936

16384
- 0.587192 - - 0.0476685 - 0 - 3.11865 -
- - 1 -

164608

16384
- 0.583299 - - 0.156921 - 0 - -2.67049 -
- - 1 -

132352

16384
- 0.580666 - - 0.0838013 - 0 - 1.52505 -
- - 1 -

54016

16384
- 0.580316 - - 0.0471802 - 0 - 0.602691 -
- - 1 -

182016

16384
- 0.578858 - - 0.0726318 - 0 - 0.97109 -
- - 1 -

132352

16384
- 0.576996 - - 0.0895996 - 0 - 1.80166 -
- - 1 -

52224

16384
- 0.574741 - - 0.0478516 - 0 - -1.53674 -
- - 1 -

124928

16384
- 0.574695 - - 0.0357666 - 0 - -1.98183 -
- - 1 -

173568

16384
- 0.574569 - - 0.0718384 - 0 - -1.95144 -
- - 1 -

133888

16384
- 0.574399 - - 0.0718384 - 0 - -2.64041 -
- - 1 -

110080

16384
- 0.570136 - - 0.0567017 - 0 - 0.220232 -
- - 1 -

50432

16384
- 0.567736 - - 0.0284424 - 0 - 2.92878 -
- - 1 -

72192

16384
- 0.567025 - - 0.116455 - 0 - -1.78884 -
- - 1 -

48128

16384
- 0.565301 - - 0.0238647 - 0 - -2.18249 -
- - 1 -

164608

16384
- 0.562242 - - 0.0839233 - 0 - 1.20857 -
- - 1 -

132352

16384
- 0.557625 - - 0.0878296 - 0 - -1.24005 -
- - 1 -

155904

16384
- 0.553414 - - 0.19397 - 0 - 1.468 -
- - 1 -

92672

16384
- 0.553375 - - 0.0426025 - 0 - 2.91714 -
- - 1 -

164608

16384
- 0.55333 - - 0.0889893 - 0 - 2.3027 -
- - 1 -

10752

16384
- 0.552938 - - 0.0286255 - 0 - 0.840493 -
- - 1 -

164608

16384
- 0.552693 - - 0.0882568 - 0 - 1.9983 -
- - 1 -

61952

16384
- 0.550334 - - 0.115906 - 0 - -0.115495 -
- - 1 -

100096

16384
- 0.545739 - - 0.0477905 - 0 - -1.40403 -
- - 1 -

68352

16384
- 0.545647 - - 0.131042 - 0 - -0.00805801 -
- - 1 -

104960

16384
- 0.544504 - - 0.0426025 - 0 - -0.343332 -
- - 1 -

11264

16384
- 0.543085 - - 0.0776978 - 0 - 0.133541 -
- - 1 -

164608

16384
- 0.539952 - - 0.0873413 - 0 - -1.02148 -
- - 1 -

68864

16384
- 0.536903 - - 0.0426025 - 0 - 3.01933 -
- - 1 -

52736

16384
- 0.534972 - - 0.0425415 - 0 - -0.538962 -
- - 1 -

38656

16384
- 0.534643 - - 0.116028 - 0 - 0.260634 -
- - 1 -

132352

16384
- 0.533805 - - 0.0899048 - 0 - -1.32281 -
- - 1 -

17408

16384
- 0.53168 - - 0.187744 - 0 - -0.990614 -
- - 1 -

133376

16384
- 0.528058 - - 0.003479 - 0 - 2.61885 -
- - 1 -

140544

16384
- 0.526523 - - 0.0852051 - 0 - -2.59811 -
- - 1 -

119040

16384
- 0.524326 - - 0.0479736 - 0 - 1.95315 -
- - 1 -

68864

16384
- 0.523289 - - 0.24762 - 0 - 2.33762 -
- - 1 -

164608

16384
- 0.522022 - - 0.088623 - 0 - 2.23257 -
- - 1 -

97536

16384
- 0.520892 - - 0.0283813 - 0 - 1.47962 -
- - 1 -

84736

16384
- 0.520651 - - 0.0358276 - 0 - -0.203517 -
- - 1 -

116480

16384
- 0.51981 - - 0.193787 - 0 - 0.757901 -
- - 1 -

68608

16384
- 0.51911 - - 0.0487061 - 0 - 2.04278 -
- - 1 -

164608

16384
- 0.517735 - - 0.0892944 - 0 - -0.858527 -
- - 1 -

61952

16384
- 0.513309 - - 0.0356445 - 0 - 2.1946 -
- - 1 -

148224

16384
- 0.511423 - - 0.0724487 - 0 - -3.04845 -
- - 1 -

38656

16384
- 0.508409 - - 0.115601 - 0 - -2.67682 -
- - 1 -

182016

16384
- 0.507795 - - 0.0706787 - 0 - -1.60015 -
- - 1 -

58880

16384
- 0.506498 - - 0.0284424 - 0 - 0.636214 -
- - 1 -

40448

16384
- 0.505916 - - 0.232239 - 0 - -2.46068 -
- - 1 -

180224

16384
- 0.503465 - - 0.194031 - 0 - -1.12782 -
- - 1 -

132608

16384
- 0.502821 - - 0.0842285 - 0 - 1.79932 -
- - 1 -

54016

16384
- 0.501763 - - 0.132141 - 0 - -0.140063 -
- - 1 -

0

16384
- 0.501257 - - 0.125549 - 0 - -0.615021 -
- - 1 -

0

16384
- 0.525759 - - 0.125427 - 0 - 1.6652 -
- - 1 -

23808

16384
- 0.4978 - - 0.185364 - 0 - -0.623854 -
- - 1 -

145664

16384
- 0.497616 - - 0.0715332 - 0 - 2.20327 -
- - 1 -

145152

16384
- 0.493038 - - 0.0476685 - 0 - -1.35146 -
- - 1 -

132352

16384
- 0.493019 - - 0.0834961 - 0 - -1.57837 -
- - 1 -

99840

16384
- 0.492691 - - 0.155823 - 0 - -2.97969 -
- - 1 -

196352

16384
- 0.492523 - - 0.0477905 - 0 - -1.29354 -
- - 1 -

34048

16384
- 0.492373 - - 0.0238647 - 0 - -1.47064 -
- - 1 -

29696

16384
- 0.49213 - - 0.0282593 - 0 - 1.59557 -
- - 1 -

41472

16384
- 0.491469 - - 0.134583 - 0 - 1.90373 -
- - 1 -

129536

16384
- 0.488546 - - 0.0863037 - 0 - -2.67336 -
- - 1 -

17664

16384
- 0.487324 - - 0.0238647 - 0 - -0.14001 -
- - 1 -

128512

16384
- 0.487143 - - 0.085083 - 0 - 1.77925 -
- - 1 -

75776

16384
- 0.487064 - - 0.117126 - 0 - -1.09297 -
- - 1 -

129536

16384
- 0.484829 - - 0.0855103 - 0 - 1.36572 -
- - 1 -

54016

16384
- 0.484765 - - 0.24762 - 0 - 2.45074 -
- - 1 -

96768

16384
- 0.484572 - - 0.15509 - 0 - -2.73708 -
- - 1 -

115968

16384
- 0.484155 - - 0.0723877 - 0 - 1.40222 -
- - 1 -

71680

16384
- 0.47909 - - 0.0356445 - 0 - 0.448867 -
- - 1 -

29952

16384
- 0.478643 - - 0.0360107 - 0 - 1.65567 -
- - 1 -

82944

16384
- 0.478209 - - 0.0487061 - 0 - 1.95436 -
- - 1 -

132096

16384
- 0.476098 - - 0.0884399 - 0 - 0.902134 -
- - 1 -

164608

16384
- 0.474988 - - 0.0895996 - 0 - 2.30509 -
- - 1 -

133376

16384
- 0.474943 - - 0.0357666 - 0 - -1.37785 -
- - 1 -

84736

16384
- 0.474054 - - 0.13147 - 0 - 2.94725 -
- - 1 -

10240

16384
- 0.472046 - - 0.284119 - 0 - 2.78004 -
- - 1 -

82688

16384
- 0.471086 - - 0.0471191 - 0 - -2.23531 -
- - 1 -

54528

16384
- 0.470604 - - 0.246948 - 0 - -0.645683 -
- - 1 -

217088

16384
- 0.469372 - - 0.0855103 - 0 - 2.39692 -
- - 1 -

68352

16384
- 0.468999 - - 0.132141 - 0 - -1.91442 -
- - 1 -

100096

16384
- 0.467573 - - 0.0571899 - 0 - -1.68799 -
- - 1 -

128512

16384
- 0.467358 - - 0.0426025 - 0 - 0.91543 -
- - 1 -

68608

16384
- 0.464786 - - 0.046936 - 0 - -0.834025 -
- - 1 -

162560

16384
- 0.464559 - - 0.0568237 - 0 - -0.0568429 -
- - 1 -

23296

16384
- 0.46427 - - 0.036377 - 0 - 2.03328 -
- - 1 -

84224

16384
- 0.463231 - - 0.0427246 - 0 - -1.68668 -
- - 1 -

132352

16384
- 0.462907 - - 0.0905762 - 0 - 1.93149 -
- - 1 -

183296

16384
- 0.461333 - - 0.14563 - 0 - 0.274904 -
- - 1 -

52736

16384
- 0.461263 - - 0.13147 - 0 - -0.257906 -
- - 1 -

54016

16384
- 0.461241 - - 0.0487061 - 0 - 1.01686 -
- - 1 -

38656

16384
- 0.46056 - - 0.117188 - 0 - 1.99189 -
- - 1 -

83200

16384
- 0.459881 - - 0.248291 - 0 - -0.793362 -
- - 1 -

183296

16384
- 0.459817 - - 0.0854492 - 0 - 1.52087 -
- - 1 -

132352

16384
- 0.459391 - - 0.09021 - 0 - 1.8535 -
- - 1 -

57600

16384
- 0.457084 - - 0.0238647 - 0 - -2.60113 -
- - 1 -

199424

16384
- 0.452433 - - 0.0856323 - 0 - 1.54621 -
- - 1 -

111360

16384
- 0.450589 - - 0.0480347 - 0 - 0.291019 -
- - 1 -

164608

16384
- 0.450279 - - 0.0899048 - 0 - -0.755252 -
- - 1 -

170240

16384
- 0.449472 - - 0.157349 - 0 - 2.30488 -
- - 1 -

136448

16384
- 0.448705 - - 0.085022 - 0 - 2.46821 -
- - 1 -

150016

16384
- 0.448482 - - 0.145691 - 0 - 1.20968 -
- - 1 -

148480

16384
- 0.447514 - - 0.0727539 - 0 - -2.53631 -
- - 1 -

68608

16384
- 0.44506 - - 0.24823 - 0 - -1.71913 -
- - 1 -

79104

16384
- 0.444948 - - 0.0424805 - 0 - 2.91592 -
- - 1 -

164608

16384
- 0.444811 - - 0.0835571 - 0 - 1.09055 -
- - 1 -

26624

16384
- 0.442932 - - 0.0916138 - 0 - 2.47598 -
- - 1 -

157952

16384
- 0.442736 - - 0.0479126 - 0 - -0.470062 -
- - 1 -

169984

16384
- 0.441937 - - 0.0853271 - 0 - 1.29478 -
- - 1 -

179712

16384
- 0.441526 - - 0.0719604 - 0 - -0.283109 -
- - 1 -

56320

16384
- 0.441245 - - 0.118164 - 0 - 0.200324 -
- - 1 -

156416

16384
- 0.437088 - - 0.0856934 - 0 - 0.858814 -
- - 1 -

23040

16384
- 0.436238 - - 0.0351562 - 0 - -1.90359 -
- - 1 -

99840

16384
- 0.435053 - - 0.154175 - 0 - 2.95239 -
- - 1 -

76032

16384
- 0.434848 - - 0.113464 - 0 - -2.65464 -
- - 1 -

148224

16384
- 0.43315 - - 0.0709229 - 0 - -2.25711 -
- - 1 -

7424

16384
- 0.432235 - - 0.0280762 - 0 - -0.563126 -
- - 1 -

223232

16384
- 0.431205 - - 0.0715942 - 0 - -0.0959968 -
- - 1 -

132352

16384
- 0.429873 - - 0.0909424 - 0 - 1.95463 -
- - 1 -

83712

16384
- 0.429565 - - 0.247437 - 0 - -1.48121 -
- - 1 -

135424

16384
- 0.429372 - - 0.0864868 - 0 - 2.93968 -
- - 1 -

128512

16384
- 0.427185 - - 0.0859375 - 0 - 1.58614 -
- - 1 -

73984

16384
- 0.426504 - - 0.0477905 - 0 - -3.08482 -
- - 1 -

105984

16384
- 0.424766 - - 0.0283813 - 0 - -0.69569 -
- - 1 -

100864

16384
- 0.42444 - - 0.0565186 - 0 - -0.675628 -
- - 1 -

26112

16384
- 0.423693 - - 0.0238647 - 0 - 2.98173 -
- - 1 -

171776

16384
- 0.423508 - - 0.0858154 - 0 - 0.694517 -
- - 1 -

121600

16384
- 0.421775 - - 0.0714111 - 0 - 0.392369 -
- - 1 -

132352

16384
- 0.419515 - - 0.0913086 - 0 - 1.97769 -
- - 1 -

164608

16384
- 0.418243 - - 0.158081 - 0 - -1.89438 -
- - 1 -

54272

16384
- 0.415686 - - 0.046936 - 0 - 0.557508 -
- - 1 -

182272

16384
- 0.41415 - - 0.0704346 - 0 - -1.23006 -
- - 1 -

21760

16384
- 0.413212 - - 0.0358276 - 0 - 1.10482 -
- - 1 -

181760

16384
- 0.411777 - - 0.194458 - 0 - 1.59037 -
- - 1 -

53760

16384
- 0.410662 - - 0.130737 - 0 - 1.68945 -
- - 1 -

58880

16384
- 0.408928 - - 0.0479126 - 0 - 2.67021 -
- - 1 -

182016

16384
- 0.408326 - - 0.072876 - 0 - 0.681419 -
- - 1 -

164864

16384
- 0.407309 - - 0.332703 - 0 - -1.28324 -
- - 1 -

41216

16384
- 0.406852 - - 0.0238647 - 0 - -1.47067 -
- - 1 -

68096

16384
- 0.40681 - - 0.134583 - 0 - 2.41013 -
- - 1 -

61696

16384
- 0.406544 - - 0.117126 - 0 - 0.00613678 -
- - 1 -

23296

16384
- 0.406139 - - 0.185974 - 0 - -2.07714 -
- - 1 -

115968

16384
- 0.40497 - - 0.0708008 - 0 - -1.34992 -
- - 1 -

132352

16384
- 0.404865 - - 0.0831909 - 0 - 1.52419 -
- - 1 -

64000

16384
- 0.404005 - - 0.116516 - 0 - 0.746724 -
- - 1 -

36864

16384
- 0.401638 - - 0.116455 - 0 - 1.78708 -
- - 1 -

82432

16384
- 0.401451 - - 0.0484619 - 0 - 2.85416 -
- - 1 -

133120

16384
- 0.400688 - - 0.00372314 - 0 - -2.94518 -
- - 1 -

54016

16384
- 0.399798 - - 0.132385 - 0 - -0.0272949 -
- - 1 -

205568

16384
- 0.39846 - - 0.0477905 - 0 - 1.13478 -
- - 1 -

165376

16384
- 0.39597 - - 0.00372314 - 0 - -2.79081 -
- - 1 -

166144

16384
- 0.39587 - - 0.0479126 - 0 - 1.91611 -
- - 1 -

79104

16384
- 0.395411 - - 0.0481567 - 0 - -1.12087 -
- - 1 -

161024

16384
- 0.394972 - - 0.0859375 - 0 - 1.60527 -
- - 1 -

164608

16384
- 0.394479 - - 0.09021 - 0 - 2.43004 -
- - 1 -

54016

16384
- 0.394071 - - 0.134583 - 0 - 1.86678 -
- - 1 -

168192

16384
- 0.391056 - - 0.0864258 - 0 - 0.336412 -
- - 1 -

68352

16384
- 0.390891 - - 0.130737 - 0 - 3.064 -
- - 1 -

116224

16384
- 0.388117 - - 0.0726929 - 0 - 2.04574 -
- - 1 -

66816

16384
- 0.387298 - - 0.0238647 - 0 - 2.7885 -
- - 1 -

183296

16384
- 0.386966 - - 0.0716553 - 0 - -1.94534 -
- - 1 -

99840

16384
- 0.38638 - - 0.156067 - 0 - -3.0334 -
- - 1 -

80384

16384
- 0.385737 - - 0.0356445 - 0 - 2.50175 -
- - 1 -

132352

16384
- 0.385411 - - 0.0918579 - 0 - -1.05425 -
- - 1 -

102912

16384
- 0.38527 - - 0.0475464 - 0 - 0.229719 -
- - 1 -

147456

16384
- 0.384882 - - 0.193909 - 0 - 2.89892 -
- - 1 -

165120

16384
- 0.38344 - - 0.00335693 - 0 - -1.3397 -
- - 1 -

216064

16384
- 0.383415 - - 0.0718384 - 0 - 1.10603 -
- - 1 -

148224

16384
- 0.383192 - - 0.194641 - 0 - -3.00472 -
- - 1 -

164608

16384
- 0.382944 - - 0.0906372 - 0 - -0.563545 -
- - 1 -

8192

16384
- 0.382293 - - 0.0927734 - 0 - 0.112816 -
- - 1 -

148480

16384
- 0.382119 - - 0.0706787 - 0 - -1.56739 -
- - 1 -

36608

16384
- 0.381516 - - 0.0359497 - 0 - 2.43719 -
- - 1 -

38400

16384
- 0.379196 - - 0.0282593 - 0 - 0.771878 -
- - 1 -

132352

16384
- 0.378158 - - 0.0922852 - 0 - 2.0985 -
- - 1 -

136192

16384
- 0.376424 - - 0.0859985 - 0 - -1.52532 -
- - 1 -

148224

16384
- 0.375555 - - 0.193542 - 0 - 0.607625 -
- - 1 -

165120

16384
- 0.375483 - - 0.00476074 - 0 - -0.952987 -
- - 1 -

182272

16384
- 0.375075 - - 0.194702 - 0 - -0.723035 -
- - 1 -

67584

16384
- 0.374238 - - 0.0284424 - 0 - 0.12005 -
- - 1 -

120064

16384
- 0.373527 - - 0.0719604 - 0 - -0.664567 -
- - 1 -

132352

16384
- 0.371014 - - 0.157776 - 0 - -2.88393 -
- - 1 -

164608

16384
- 0.370438 - - 0.0909424 - 0 - 2.63431 -
- - 1 -

154112

16384
- 0.369942 - - 0.0476685 - 0 - -0.828299 -
- - 1 -

92672

16384
- 0.368409 - - 0.0358276 - 0 - -2.22864 -
- - 1 -

78336

16384
- 0.36493 - - 0.116028 - 0 - -1.07837 -
- - 1 -

182784

16384
- 0.363203 - - 0.193604 - 0 - 1.44232 -
- - 1 -

68352

16384
- 0.362307 - - 0.132385 - 0 - -1.8209 -
- - 1 -

69376

16384
- 0.362002 - - 0.246948 - 0 - -1.87672 -
- - 1 -

68352

16384
- 0.361555 - - 0.0489502 - 0 - -1.07713 -
- - 1 -

24832

16384
- 0.361361 - - 0.0775146 - 0 - -0.432221 -
- - 1 -

8704

16384
- 0.360509 - - 0.14801 - 0 - -0.432284 -
- - 1 -

38656

16384
- 0.360243 - - 0.114685 - 0 - -0.949232 -
- - 1 -

8192

16384
- 0.360026 - - 0.187561 - 0 - 2.22957 -
- - 1 -

82944

16384
- 0.360011 - - 0.046875 - 0 - -2.01063 -
- - 1 -

133120

16384
- 0.358804 - - 0.00469971 - 0 - 2.80172 -
- - 1 -

161024

16384
- 0.358233 - - 0.0863647 - 0 - -0.039362 -
- - 1 -

61696

16384
- 0.357833 - - 0.115662 - 0 - 2.21836 -
- - 1 -

113920

16384
- 0.35643 - - 0.0714722 - 0 - -1.50563 -
- - 1 -

132352

16384
- 0.356331 - - 0.156921 - 0 - -0.357013 -
- - 1 -

8192

16384
- 0.356137 - - 0.078125 - 0 - -1.19258 -
- - 1 -

54528

16384
- 0.356033 - - 0.246643 - 0 - 2.17232 -
- - 1 -

129024

16384
- 0.355794 - - 0.0479736 - 0 - -0.604249 -
- - 1 -

141824

16384
- 0.353718 - - 0.0357666 - 0 - -0.82438 -
- - 1 -

164608

16384
- 0.353226 - - 0.0912476 - 0 - -0.426332 -
- - 1 -

0

16384
- 0.352286 - - 0.125488 - 0 - 0.576998 -
- - 1 -

0

16384
- 0.381153 - - 0.125366 - 0 - 2.93125 -
- - 1 -

132352

16384
- 0.351819 - - 0.0927734 - 0 - 2.19747 -
- - 1 -

132352

16384
- 0.351762 - - 0.0915527 - 0 - 1.94767 -
- - 1 -

164608

16384
- 0.349546 - - 0.0888062 - 0 - -0.81598 -
- - 1 -

64256

16384
- 0.349222 - - 0.0480347 - 0 - -1.8175 -
- - 1 -

54016

16384
- 0.348022 - - 0.24823 - 0 - -0.151653 -
- - 1 -

148224

16384
- 0.347036 - - 0.0856934 - 0 - -0.757656 -
- - 1 -

164608

16384
- 0.344248 - - 0.0884399 - 0 - -0.98381 -
- - 1 -

75776

16384
- 0.344028 - - 0.0238647 - 0 - 1.15414 -
- - 1 -

9216

16384
- 0.343517 - - 0.187927 - 0 - -2.77436 -
- - 1 -

166400

16384
- 0.343515 - - 0.0714722 - 0 - -0.745119 -
- - 1 -

130304

16384
- 0.342835 - - 0.0874634 - 0 - -2.41151 -
- - 1 -

158976

16384
- 0.342433 - - 0.0716553 - 0 - -2.3602 -
- - 1 -

75008

16384
- 0.341908 - - 0.115417 - 0 - -0.436191 -
- - 1 -

164608

16384
- 0.341248 - - 0.083252 - 0 - -2.02376 -
- - 1 -

132608

16384
- 0.340791 - - 0.0827637 - 0 - -0.372111 -
- - 1 -

38400

16384
- 0.33899 - - 0.115356 - 0 - 0.0126782 -
- - 1 -

40704

16384
- 0.338035 - - 0.113525 - 0 - -1.19656 -
- - 1 -

50944

16384
- 0.337755 - - 0.0476074 - 0 - -2.75407 -
- - 1 -

70144

16384
- 0.336874 - - 0.118164 - 0 - -0.233329 -
- - 1 -

164352

16384
- 0.336002 - - 0.156677 - 0 - 2.71387 -
- - 1 -

117248

16384
- 0.33579 - - 0.14563 - 0 - 1.34676 -
- - 1 -

40704

16384
- 0.335678 - - 0.349915 - 0 - 1.2627 -
- - 1 -

23296

16384
- 0.334817 - - 0.0349121 - 0 - -1.9594 -
- - 1 -

34816

16384
- 0.33449 - - 0.0916138 - 0 - -1.71615 -
- - 1 -

132608

16384
- 0.333673 - - 0.332703 - 0 - 0.575047 -
- - 1 -

165888

16384
- 0.332941 - - 0.333069 - 0 - -2.51584 -
- - 1 -

83968

16384
- 0.332182 - - 0.246704 - 0 - 0.250834 -
- - 1 -

101888

16384
- 0.332153 - - 0.129944 - 0 - 0.965432 -
- - 1 -

132352

16384
- 0.332105 - - 0.0931396 - 0 - 2.25462 -
- - 1 -

214528

16384
- 0.331446 - - 0.0477905 - 0 - 1.99002 -
- - 1 -

164608

16384
- 0.330858 - - 0.158325 - 0 - -1.79281 -
- - 1 -

187392

16384
- 0.33008 - - 0.0720215 - 0 - 1.44397 -
- - 1 -

135424

16384
- 0.329997 - - 0.0479126 - 0 - -2.39878 -
- - 1 -

141568

16384
- 0.329628 - - 0.0426025 - 0 - 0.998944 -
- - 1 -

170752

16384
- 0.328905 - - 0.0568237 - 0 - -2.506 -
- - 1 -

63744

16384
- 0.328491 - - 0.113525 - 0 - 1.73182 -
- - 1 -

164864

16384
- 0.328098 - - 0.156372 - 0 - 0.189963 -
- - 1 -

128256

16384
- 0.326934 - - 0.0848389 - 0 - -3.12609 -
- - 1 -

54016

16384
- 0.326801 - - 0.130493 - 0 - -1.71645 -
- - 1 -

96000

16384
- 0.326708 - - 0.154846 - 0 - -2.78078 -
- - 1 -

165376

16384
- 0.325993 - - 0.0045166 - 0 - 0.0605863 -
- - 1 -

40192

16384
- 0.324659 - - 0.219299 - 0 - 0.890757 -
- - 1 -

82688

16384
- 0.3239 - - 0.0489502 - 0 - -1.53089 -
- - 1 -

131840

16384
- 0.322736 - - 0.0567017 - 0 - 0.800626 -
- - 1 -

65536

16384
- 0.322575 - - 0.247253 - 0 - 2.34269 -
- - 1 -

164608

16384
- 0.322185 - - 0.0917969 - 0 - 2.89991 -
- - 1 -

114176

16384
- 0.321673 - - 0.0283813 - 0 - 1.69026 -
- - 1 -

164608

16384
- 0.321429 - - 0.0922852 - 0 - 3.00189 -
- - 1 -

132352

16384
- 0.321185 - - 0.0935059 - 0 - 2.28674 -
- - 1 -

175104

16384
- 0.321132 - - 0.0478516 - 0 - -0.139509 -
- - 1 -

15360

16384
- 0.320568 - - 0.0916748 - 0 - 1.2534 -
- - 1 -

112896

16384
- 0.320394 - - 0.0475464 - 0 - 2.89957 -
- - 1 -

46848

16384
- 0.319686 - - 0.0282593 - 0 - -1.44384 -
- - 1 -

71424

16384
- 0.31811 - - 0.116699 - 0 - 0.649811 -
- - 1 -

115968

16384
- 0.317945 - - 0.194397 - 0 - 2.50836 -
- - 1 -

39424

16384
- 0.317571 - - 0.0355835 - 0 - -1.07802 -
- - 1 -

85504

16384
- 0.31747 - - 0.0238647 - 0 - 1.4917 -
- - 1 -

164608

16384
- 0.316258 - - 0.0914917 - 0 - -0.417505 -
- - 1 -

99840

16384
- 0.315793 - - 0.153931 - 0 - 2.95114 -
- - 1 -

110848

16384
- 0.315769 - - 0.0358276 - 0 - -1.95388 -
- - 1 -

68352

16384
- 0.314453 - - 0.0466919 - 0 - -1.02479 -
- - 1 -

162816

16384
- 0.313387 - - 0.0869141 - 0 - 3.07473 -
- - 1 -

116480

16384
- 0.312965 - - 0.0567017 - 0 - -0.396449 -
- - 1 -

132352

16384
- 0.312738 - - 0.0939331 - 0 - -0.813184 -
- - 1 -

173568

16384
- 0.312481 - - 0.332886 - 0 - 3.00567 -
- - 1 -

55040

16384
- 0.311818 - - 0.0359497 - 0 - -0.652448 -
- - 1 -

54016

16384
- 0.311269 - - 0.0489502 - 0 - 0.9055 -
- - 1 -

0

16384
- 0.310598 - - 0.12561 - 0 - -2.62805 -
- - 1 -

7936

16384
- 0.309124 - - 0.0288696 - 0 - 2.3038 -
- - 1 -

12288

16384
- 0.309056 - - 0.0283813 - 0 - 1.25886 -
- - 1 -

148480

16384
- 0.308501 - - 0.0704346 - 0 - -1.69109 -
- - 1 -

76032

16384
- 0.307996 - - 0.0284424 - 0 - -2.16086 -
- - 1 -

150784

16384
- 0.307569 - - 0.0357666 - 0 - 1.78096 -
- - 1 -

68352

16384
- 0.307025 - - 0.130493 - 0 - 3.0708 -
- - 1 -

27904

16384
- 0.305558 - - 0.113525 - 0 - 0.838897 -
- - 1 -

198656

16384
- 0.304771 - - 0.0714722 - 0 - 0.160012 -
- - 1 -

95744

16384
- 0.304485 - - 0.0238647 - 0 - -3.07092 -
- - 1 -

136448

16384
- 0.30433 - - 0.0847778 - 0 - 2.76609 -
- - 1 -

168704

16384
- 0.303297 - - 0.0859985 - 0 - -1.37241 -
- - 1 -

68608

16384
- 0.302984 - - 0.0463867 - 0 - 1.3529 -
- - 1 -

132352

16384
- 0.302644 - - 0.0903931 - 0 - -1.22665 -
- - 1 -

53504

16384
- 0.302599 - - 0.0485229 - 0 - -1.23901 -
- - 1 -

164608

16384
- 0.302305 - - 0.0927124 - 0 - 0.0198447 -
- - 1 -

183040

16384
- 0.302134 - - 0.363159 - 0 - -2.38662 -
- - 1 -

115968

16384
- 0.302093 - - 0.0705566 - 0 - -1.20992 -
- - 1 -

151552

16384
- 0.301753 - - 0.0720825 - 0 - 2.862 -
- - 1 -

53760

16384
- 0.300876 - - 0.132629 - 0 - 0.422073 -
- - 1 -

7936

16384
- 0.299257 - - 0.0932007 - 0 - 2.48165 -
- - 1 -

99840

16384
- 0.298956 - - 0.0574341 - 0 - 0.577482 -
- - 1 -

109312

16384
- 0.298877 - - 0.0569458 - 0 - -0.350352 -
- - 1 -

103680

16384
- 0.298053 - - 0.154785 - 0 - -1.63492 -
- - 1 -

133888

16384
- 0.297996 - - 0.230835 - 0 - 2.56175 -
- - 1 -

68096

16384
- 0.297992 - - 0.13147 - 0 - 1.91143 -
- - 1 -

80128

16384
- 0.297971 - - 0.11676 - 0 - -0.481478 -
- - 1 -

8960

16384
- 0.296827 - - 0.0769043 - 0 - 2.42123 -
- - 1 -

75264

16384
- 0.296172 - - 0.115112 - 0 - -0.271941 -
- - 1 -

164608

16384
- 0.296128 - - 0.0903931 - 0 - -0.638076 -
- - 1 -

132352

16384
- 0.294311 - - 0.0907593 - 0 - -1.24242 -
- - 1 -

164352

16384
- 0.294044 - - 0.0837402 - 0 - 1.51711 -
- - 1 -

0

16384
- 0.293966 - - 0.125488 - 0 - 0.113043 -
- - 1 -

164608

16384
- 0.293504 - - 0.0830078 - 0 - -2.03313 -
- - 1 -

0

16384
- 0.293455 - - 0.0654297 - 0 - 1.27562 -
- - 1 -

135680

16384
- 0.293247 - - 0.0845337 - 0 - -2.71058 -
- - 1 -

38400

16384
- 0.292795 - - 0.114441 - 0 - -2.93989 -
- - 1 -

54016

16384
- 0.292449 - - 0.132996 - 0 - 0.475522 -
- - 1 -

54016

16384
- 0.291802 - - 0.0466309 - 0 - -2.89124 -
- - 1 -

23296

16384
- 0.290893 - - 0.0366211 - 0 - 2.27113 -
- - 1 -

190720

16384
- 0.289526 - - 0.0853882 - 0 - 2.70623 -
- - 1 -

100096

16384
- 0.289245 - - 0.156433 - 0 - -2.70073 -
- - 1 -

71936

16384
- 0.288833 - - 0.0480957 - 0 - 0.81275 -
- - 1 -

82944

16384
- 0.288728 - - 0.0463867 - 0 - -2.36207 -
- - 1 -

140800

16384
- 0.288706 - - 0.0567627 - 0 - -1.0677 -
- - 1 -

61184

16384
- 0.288662 - - 0.0358887 - 0 - 3.06959 -
- - 1 -

53760

16384
- 0.287903 - - 0.0427246 - 0 - 0.292473 -
- - 1 -

166656

16384
- 0.287899 - - 0.0842896 - 0 - -1.11449 -
- - 1 -

118016

16384
- 0.287578 - - 0.0477905 - 0 - -0.631084 -
- - 1 -

68608

16384
- 0.287544 - - 0.0491943 - 0 - 2.61358 -
- - 1 -

132096

16384
- 0.286634 - - 0.0925293 - 0 - -2.14756 -
- - 1 -

230912

16384
- 0.286482 - - 0.0715942 - 0 - -0.745349 -
- - 1 -

58112

16384
- 0.286271 - - 0.116394 - 0 - 1.95826 -
- - 1 -

182272

16384
- 0.286269 - - 0.0731201 - 0 - -1.08511 -
- - 1 -

124672

16384
- 0.285244 - - 0.19397 - 0 - -2.06977 -
- - 1 -

182016

16384
- 0.285107 - - 0.0701904 - 0 - -1.25766 -
- - 1 -

68352

16384
- 0.284946 - - 0.132996 - 0 - -1.46956 -
- - 1 -

164608

16384
- 0.284651 - - 0.0931396 - 0 - -3.02009 -
- - 1 -

121344

16384
- 0.283639 - - 0.0569458 - 0 - 1.71652 -
- - 1 -

148480

16384
- 0.282494 - - 0.193298 - 0 - -2.40621 -
- - 1 -

8960

16384
- 0.282396 - - 0.0778809 - 0 - 2.87344 -
- - 1 -

75520

16384
- 0.282042 - - 0.117615 - 0 - 0.286773 -
- - 1 -

68096

16384
- 0.28149 - - 0.13269 - 0 - 1.68011 -
- - 1 -

245760

16384
- 0.281044 - - 0.0717163 - 0 - -0.160144 -
- - 1 -

7936

16384
- 0.280883 - - 0.027832 - 0 - 1.55705 -
- - 1 -

167936

16384
- 0.280611 - - 0.0845947 - 0 - 1.40136 -
- - 1 -

128512

16384
- 0.280495 - - 0.0865479 - 0 - 1.03072 -
- - 1 -

38656

16384
- 0.279694 - - 0.113831 - 0 - -1.9224 -
- - 1 -

112896

16384
- 0.279388 - - 0.0718994 - 0 - -0.379996 -
- - 1 -

82432

16384
- 0.277996 - - 0.131653 - 0 - -1.75557 -
- - 1 -

152832

16384
- 0.277819 - - 0.0712891 - 0 - -0.216477 -
- - 1 -

132352

16384
- 0.277702 - - 0.0830078 - 0 - -1.50641 -
- - 1 -

105216

16384
- 0.277654 - - 0.0238647 - 0 - 2.96836 -
- - 1 -

148224

16384
- 0.277573 - - 0.194885 - 0 - 3.08425 -
- - 1 -

164608

16384
- 0.277443 - - 0.0935059 - 0 - -2.92502 -
- - 1 -

132352

16384
- 0.276725 - - 0.0946045 - 0 - 2.48019 -
- - 1 -

159744

16384
- 0.276292 - - 0.085144 - 0 - 2.77335 -
- - 1 -

164608

16384
- 0.276127 - - 0.0939331 - 0 - 0.312014 -
- - 1 -

132096

16384
- 0.275633 - - 0.092041 - 0 - -1.47718 -
- - 1 -

54016

16384
- 0.275092 - - 0.0463867 - 0 - -2.94826 -
- - 1 -

164352

16384
- 0.27489 - - 0.092041 - 0 - -0.586393 -
- - 1 -

132352

16384
- 0.27429 - - 0.0911255 - 0 - -1.15937 -
- - 1 -

54784

16384
- 0.274227 - - 0.00463867 - 0 - 1.53622 -
- - 1 -

0

16384
- 0.274215 - - 0.125549 - 0 - -0.642657 -
- - 1 -

0

16384
- 0.300579 - - 0.125427 - 0 - 1.46829 -
- - 1 -

148224

16384
- 0.272725 - - 0.0852051 - 0 - 0.827533 -
- - 1 -

68352

16384
- 0.272663 - - 0.133301 - 0 - 1.70731 -
- - 1 -

180480

16384
- 0.27163 - - 0.0858154 - 0 - -1.22125 -
- - 1 -

31488

16384
- 0.269823 - - 0.212646 - 0 - -3.02823 -
- - 1 -

75520

16384
- 0.269605 - - 0.114807 - 0 - -1.0005 -
- - 1 -

223488

16384
- 0.269567 - - 0.0477905 - 0 - 2.86654 -
- - 1 -

178688

16384
- 0.269472 - - 0.0722046 - 0 - 2.0534 -
- - 1 -

38400

16384
- 0.269324 - - 0.115051 - 0 - 3.05049 -
- - 1 -

164864

16384
- 0.269016 - - 0.00500488 - 0 - -2.60098 -
- - 1 -

224256

16384
- 0.268428 - - 0.0855103 - 0 - 1.1507 -
- - 1 -

165376

16384
- 0.268391 - - 0.00231934 - 0 - 2.19162 -
- - 1 -

137216

16384
- 0.267943 - - 0.0855713 - 0 - -0.502171 -
- - 1 -

132352

16384
- 0.267288 - - 0.0825195 - 0 - -1.42842 -
- - 1 -

149248

16384
- 0.267232 - - 0.36322 - 0 - 2.80916 -
- - 1 -

182272

16384
- 0.267071 - - 0.0736694 - 0 - -3.04498 -
- - 1 -

59136

16384
- 0.266641 - - 0.0482178 - 0 - 0.849649 -
- - 1 -

83200

16384
- 0.2664 - - 0.0491943 - 0 - -0.63646 -
- - 1 -

0

16384
- 0.266082 - - 0.0239868 - 0 - 0.478853 -
- - 1 -

38656

16384
- 0.265892 - - 0.114075 - 0 - -1.71083 -
- - 1 -

122112

16384
- 0.265419 - - 0.0476074 - 0 - 1.03691 -
- - 1 -

130560

16384
- 0.264994 - - 0.0891113 - 0 - -2.82281 -
- - 1 -

130560

16384
- 0.268912 - - 0.0888672 - 0 - 0.722627 -
- - 1 -

47616

16384
- 0.264896 - - 0.134583 - 0 - 0.914651 -
- - 1 -

43520

16384
- 0.26468 - - 0.0427856 - 0 - 0.361482 -
- - 1 -

132352

16384
- 0.264631 - - 0.0950928 - 0 - 2.53135 -
- - 1 -

54016

16384
- 0.26447 - - 0.133301 - 0 - -2.55101 -
- - 1 -

54272

16384
- 0.263922 - - 0.0491943 - 0 - -1.63483 -
- - 1 -

164608

16384
- 0.262388 - - 0.158569 - 0 - -1.69731 -
- - 1 -

62976

16384
- 0.262385 - - 0.131653 - 0 - 1.89715 -
- - 1 -

132352

16384
- 0.261744 - - 0.0942383 - 0 - 2.37175 -
- - 1 -

134912

16384
- 0.261225 - - 0.252441 - 0 - 0.236249 -
- - 1 -

182016

16384
- 0.261057 - - 0.195007 - 0 - -2.9923 -
- - 1 -

115712

16384
- 0.261004 - - 0.0426636 - 0 - 2.23861 -
- - 1 -

161536

16384
- 0.260738 - - 0.0855713 - 0 - 1.25933 -
- - 1 -

89856

16384
- 0.260688 - - 0.0356445 - 0 - -0.110189 -
- - 1 -

164608

16384
- 0.259971 - - 0.0827026 - 0 - 1.0666 -
- - 1 -

142848

16384
- 0.259312 - - 0.0718994 - 0 - -2.62481 -
- - 1 -

132864

16384
- 0.259142 - - 0.33313 - 0 - -2.7487 -
- - 1 -

90368

16384
- 0.258588 - - 0.0477905 - 0 - -0.14392 -
- - 1 -

134144

16384
- 0.258453 - - 0.00390625 - 0 - 0.13819 -
- - 1 -

23040

16384
- 0.258209 - - 0.18512 - 0 - -2.58361 -
- - 1 -

160768

16384
- 0.257826 - - 0.0848389 - 0 - -0.524978 -
- - 1 -

82688

16384
- 0.257456 - - 0.0466309 - 0 - -1.86503 -
- - 1 -

182016

16384
- 0.257288 - - 0.145386 - 0 - -1.43874 -
- - 1 -

132352

16384
- 0.256579 - - 0.0962524 - 0 - -0.330448 -
- - 1 -

8192

16384
- 0.256149 - - 0.0791626 - 0 - -1.94408 -
- - 1 -

130816

16384
- 0.255832 - - 0.157349 - 0 - 0.549737 -
- - 1 -

166912

16384
- 0.255771 - - 0.231201 - 0 - -0.408234 -
- - 1 -

72448

16384
- 0.255659 - - 0.116028 - 0 - -3.03903 -
- - 1 -

132608

16384
- 0.255228 - - 0.00494385 - 0 - -0.211263 -
- - 1 -

9472

16384
- 0.254957 - - 0.0917358 - 0 - -2.43297 -
- - 1 -

180224

16384
- 0.254914 - - 0.0725098 - 0 - 1.71985 -
- - 1 -

167680

16384
- 0.254615 - - 0.252441 - 0 - 0.709853 -
- - 1 -

6656

16384
- 0.254236 - - 0.0775146 - 0 - 0.127049 -
- - 1 -

47872

16384
- 0.253964 - - 0.0424805 - 0 - -0.827293 -
- - 1 -

164608

16384
- 0.25389 - - 0.0947876 - 0 - 0.608136 -
- - 1 -

122880

16384
- 0.25383 - - 0.0283813 - 0 - 1.19774 -
- - 1 -

161792

16384
- 0.252997 - - 0.0861816 - 0 - -2.35623 -
- - 1 -

8192

16384
- 0.252718 - - 0.0788574 - 0 - 0.808264 -
- - 1 -

38656

16384
- 0.251963 - - 0.117798 - 0 - -3.03655 -
- - 1 -

115968

16384
- 0.251951 - - 0.072937 - 0 - -2.02314 -
- - 1 -

223488

16384
- 0.251719 - - 0.0718384 - 0 - -2.50909 -
- - 1 -

68352

16384
- 0.25145 - - 0.133728 - 0 - -1.32981 -
- - 1 -

141568

16384
- 0.251308 - - 0.332886 - 0 - -0.135767 -
- - 1 -

139264

16384
- 0.250783 - - 0.157349 - 0 - 0.610514 -
- - 1 -

45568

16384
- 0.250687 - - 0.0358887 - 0 - -2.26361 -
- - 1 -

68864

16384
- 0.250612 - - 0.246582 - 0 - 1.15057 -
- - 1 -

54272

16384
- 0.250582 - - 0.0863647 - 0 - 0.980724 -
- - 1 -

135424

16384
- 0.24965 - - 0.0426025 - 0 - -2.87074 -
- - 1 -

147968

16384
- 0.249617 - - 0.072998 - 0 - 1.55326 -
- - 1 -

178688

16384
- 0.248902 - - 0.0568237 - 0 - -2.19937 -
- - 1 -

133120

16384
- 0.248221 - - 0.00231934 - 0 - 1.70429 -
- - 1 -

79360

16384
- 0.248163 - - 0.247864 - 0 - 1.33325 -
- - 1 -

30720

16384
- 0.248089 - - 0.0355225 - 0 - 0.926505 -
- - 1 -

55808

16384
- 0.247871 - - 0.0282593 - 0 - -0.667332 -
- - 1 -

43776

16384
- 0.247687 - - 0.11676 - 0 - -0.271223 -
- - 1 -

102656

16384
- 0.246857 - - 0.155151 - 0 - -1.93493 -
- - 1 -

67840

16384
- 0.246006 - - 0.116272 - 0 - 0.98386 -
- - 1 -

128512

16384
- 0.24564 - - 0.0845947 - 0 - 1.0597 -
- - 1 -

99840

16384
- 0.245577 - - 0.0907593 - 0 - 1.95729 -
- - 1 -

132352

16384
- 0.245562 - - 0.15802 - 0 - -2.81463 -
- - 1 -

132352

16384
- 0.245466 - - 0.09729 - 0 - 3.01498 -
- - 1 -

132352

16384
- 0.244951 - - 0.0948486 - 0 - 2.48257 -
- - 1 -

164608

16384
- 0.243928 - - 0.0944824 - 0 - -2.55655 -
- - 1 -

182272

16384
- 0.243925 - - 0.069397 - 0 - 0.482093 -
- - 1 -

149504

16384
- 0.243863 - - 0.0426025 - 0 - 1.02907 -
- - 1 -

116224

16384
- 0.243675 - - 0.0703125 - 0 - -1.05131 -
- - 1 -

38656

16384
- 0.243603 - - 0.232483 - 0 - 2.20567 -
- - 1 -

23296

16384
- 0.24333 - - 0.0369263 - 0 - -0.556586 -
- - 1 -

164608

16384
- 0.242812 - - 0.156006 - 0 - -0.266716 -
- - 1 -

54272

16384
- 0.242666 - - 0.0869751 - 0 - 1.74152 -
- - 1 -

84992

16384
- 0.242566 - - 0.0284424 - 0 - -0.834513 -
- - 1 -

159232

16384
- 0.242494 - - 0.0357666 - 0 - 2.35614 -
- - 1 -

65280

16384
- 0.242314 - - 0.247864 - 0 - -3.06194 -
- - 1 -

164608

16384
- 0.242268 - - 0.0951538 - 0 - 0.674997 -
- - 1 -

68352

16384
- 0.242049 - - 0.248474 - 0 - 0.987796 -
- - 1 -

54016

16384
- 0.241279 - - 0.133667 - 0 - -2.34206 -
- - 1 -

53760

16384
- 0.240678 - - 0.130249 - 0 - 2.22989 -
- - 1 -

39168

16384
- 0.240251 - - 0.00457764 - 0 - 3.08689 -
- - 1 -

5632

16384
- 0.240035 - - 0.0283203 - 0 - -2.29498 -
- - 1 -

68608

16384
- 0.240029 - - 0.0461426 - 0 - 1.09081 -
- - 1 -

153344

16384
- 0.239108 - - 0.0715942 - 0 - 2.7738 -
- - 1 -

132352

16384
- 0.239005 - - 0.093689 - 0 - -0.858678 -
- - 1 -

169216

16384
- 0.237685 - - 0.157593 - 0 - 3.01824 -
- - 1 -

164608

16384
- 0.236632 - - 0.155701 - 0 - 2.80749 -
- - 1 -

63744

16384
- 0.236295 - - 0.349915 - 0 - 1.01138 -
- - 1 -

116480

16384
- 0.236272 - - 0.193604 - 0 - -2.76797 -
- - 1 -

54016

16384
- 0.235922 - - 0.0860596 - 0 - -2.65946 -
- - 1 -

132352

16384
- 0.235218 - - 0.0959473 - 0 - 2.82775 -
- - 1 -

164608

16384
- 0.23514 - - 0.0962524 - 0 - 1.08246 -
- - 1 -

75264

16384
- 0.234586 - - 0.117859 - 0 - -0.76188 -
- - 1 -

130560

16384
- 0.234553 - - 0.0894165 - 0 - 3.12954 -
- - 1 -

54272

16384
- 0.234098 - - 0.0866699 - 0 - -1.79408 -
- - 1 -

68608

16384
- 0.234033 - - 0.0869751 - 0 - 0.424485 -
- - 1 -

164608

16384
- 0.233563 - - 0.0823975 - 0 - -2.06359 -
- - 1 -

132352

16384
- 0.233216 - - 0.0955811 - 0 - 2.67185 -
- - 1 -

0

16384
- 0.233203 - - 0.125488 - 0 - 0.493663 -
- - 1 -

132352

16384
- 0.232811 - - 0.0821533 - 0 - -1.48828 -
- - 1 -

68352

16384
- 0.232751 - - 0.130127 - 0 - 2.81266 -
- - 1 -

132352

16384
- 0.232493 - - 0.0984497 - 0 - 0.0738102 -
- - 1 -

23296

16384
- 0.232114 - - 0.034668 - 0 - -2.02548 -
- - 1 -

183040

16384
- 0.232014 - - 0.0479126 - 0 - -2.45315 -
- - 1 -

61696

16384
- 0.231815 - - 0.117615 - 0 - 0.783776 -
- - 1 -

99840

16384
- 0.231758 - - 0.092041 - 0 - -0.996666 -
- - 1 -

54016

16384
- 0.231742 - - 0.0873413 - 0 - -0.0580017 -
- - 1 -

115712

16384
- 0.231008 - - 0.19397 - 0 - 0.468491 -
- - 1 -

75264

16384
- 0.230571 - - 0.11322 - 0 - -3.01362 -
- - 1 -

54272

16384
- 0.230562 - - 0.0856934 - 0 - -2.85873 -
- - 1 -

135424

16384
- 0.230187 - - 0.0874634 - 0 - -2.42048 -
- - 1 -

132352

16384
- 0.230171 - - 0.0965576 - 0 - 2.78382 -
- - 1 -

128256

16384
- 0.2301 - - 0.0861206 - 0 - -1.3485 -
- - 1 -

186368

16384
- 0.23006 - - 0.194092 - 0 - -0.517418 -
- - 1 -

148480

16384
- 0.229859 - - 0.0737305 - 0 - -1.13926 -
- - 1 -

99840

16384
- 0.22975 - - 0.0892334 - 0 - -1.37147 -
- - 1 -

68352

16384
- 0.229564 - - 0.134155 - 0 - 1.90123 -
- - 1 -

19200

16384
- 0.229477 - - 0.0285034 - 0 - 1.66399 -
- - 1 -

68608

16384
- 0.228903 - - 0.0863647 - 0 - -0.178414 -
- - 1 -

182016

16384
- 0.228856 - - 0.0699463 - 0 - -1.23022 -
- - 1 -

99840

16384
- 0.227434 - - 0.0895386 - 0 - 1.75184 -
- - 1 -

101888

16384
- 0.226967 - - 0.0358887 - 0 - -1.27816 -
- - 1 -

98816

16384
- 0.229991 - - 0.0356445 - 0 - 1.88611 -
- - 1 -

54016

16384
- 0.226831 - - 0.0461426 - 0 - -2.84766 -
- - 1 -

39168

16384
- 0.226554 - - 0.0426025 - 0 - 1.60363 -
- - 1 -

164608

16384
- 0.2262 - - 0.0974121 - 0 - -1.71958 -
- - 1 -

168704

16384
- 0.225802 - - 0.0476685 - 0 - 2.46631 -
- - 1 -

68352

16384
- 0.225238 - - 0.134888 - 0 - 1.9812 -
- - 1 -

207104

16384
- 0.225083 - - 0.0856323 - 0 - -0.753395 -
- - 1 -

15104

16384
- 0.22508 - - 0.0929565 - 0 - 1.02533 -
- - 1 -

164608

16384
- 0.225013 - - 0.0928955 - 0 - -3.11829 -
- - 1 -

68608

16384
- 0.224788 - - 0.0872803 - 0 - -2.37703 -
- - 1 -

23040

16384
- 0.224541 - - 0.186218 - 0 - 0.187846 -
- - 1 -

127232

16384
- 0.224537 - - 0.0714722 - 0 - -0.114391 -
- - 1 -

132352

16384
- 0.224459 - - 0.0979004 - 0 - 3.10376 -
- - 1 -

182016

16384
- 0.224448 - - 0.0739136 - 0 - -2.44705 -
- - 1 -

99840

16384
- 0.224027 - - 0.0863647 - 0 - 1.29594 -
- - 1 -

144384

16384
- 0.223949 - - 0.0721436 - 0 - 1.26029 -
- - 1 -

99584

16384
- 0.223798 - - 0.153687 - 0 - 0.835789 -
- - 1 -

132608

16384
- 0.223762 - - 0.0996704 - 0 - -2.75771 -
- - 1 -

72704

16384
- 0.223743 - - 0.0473633 - 0 - 2.54596 -
- - 1 -

164352

16384
- 0.223546 - - 0.0941772 - 0 - -0.322434 -
- - 1 -

84736

16384
- 0.223207 - - 0.0481567 - 0 - -1.14718 -
- - 1 -

54016

16384
- 0.222988 - - 0.129944 - 0 - 0.967987 -
- - 1 -

69120

16384
- 0.222978 - - 0.00463867 - 0 - 0.0469724 -
- - 1 -

99840

16384
- 0.22291 - - 0.0875244 - 0 - -1.67119 -
- - 1 -

76800

16384
- 0.222796 - - 0.247253 - 0 - 0.268788 -
- - 1 -

182784

16384
- 0.222794 - - 0.363403 - 0 - -2.28909 -
- - 1 -

82688

16384
- 0.2226 - - 0.248535 - 0 - -2.0423 -
- - 1 -

61440

16384
- 0.222321 - - 0.115417 - 0 - -1.3569 -
- - 1 -

164608

16384
- 0.22186 - - 0.158997 - 0 - 1.6645 -
- - 1 -

78848

16384
- 0.221784 - - 0.115784 - 0 - 2.26919 -
- - 1 -

131840

16384
- 0.221737 - - 0.0283813 - 0 - 2.42539 -
- - 1 -

99840

16384
- 0.221717 - - 0.0576782 - 0 - 0.548182 -
- - 1 -

174848

16384
- 0.22164 - - 0.0855103 - 0 - 1.69952 -
- - 1 -

72192

16384
- 0.221487 - - 0.0482788 - 0 - -0.968993 -
- - 1 -

68352

16384
- 0.221312 - - 0.135193 - 0 - -1.0724 -
- - 1 -

132608

16384
- 0.221191 - - 0.0032959 - 0 - 2.07554 -
- - 1 -

148480

16384
- 0.220751 - - 0.145935 - 0 - 2.26653 -
- - 1 -

182272

16384
- 0.220715 - - 0.193237 - 0 - -0.0984953 -
- - 1 -

164608

16384
- 0.22047 - - 0.0959473 - 0 - -2.08237 -
- - 1 -

99840

16384
- 0.220134 - - 0.0910645 - 0 - -1.2111 -
- - 1 -

132352

16384
- 0.220039 - - 0.156677 - 0 - -0.524122 -
- - 1 -

0

16384
- 0.219889 - - 0.125366 - 0 - 2.33372 -
- - 1 -

0

16384
- 0.237074 - - 0.125305 - 0 - -3.10433 -
- - 1 -

0

16384
- 0.271326 - - 0.125427 - 0 - 0.978881 -
- - 1 -

23808

16384
- 0.219817 - - 0.187744 - 0 - 2.31411 -
- - 1 -

133120

16384
- 0.219693 - - 0.00445557 - 0 - 2.71853 -
- - 1 -

38400

16384
- 0.219588 - - 0.117554 - 0 - 2.33947 -
- - 1 -

68608

16384
- 0.219289 - - 0.0866699 - 0 - -3.02409 -
- - 1 -

169216

16384
- 0.219038 - - 0.085144 - 0 - 0.425399 -
- - 1 -

68608

16384
- 0.219017 - - 0.0860596 - 0 - 2.70322 -
- - 1 -

132352

16384
- 0.218761 - - 0.0969849 - 0 - -0.142644 -
- - 1 -

102912

16384
- 0.218632 - - 0.0568848 - 0 - 2.66535 -
- - 1 -

99840

16384
- 0.218281 - - 0.0915527 - 0 - -1.07776 -
- - 1 -

99840

16384
- 0.217783 - - 0.086731 - 0 - 1.29497 -
- - 1 -

53760

16384
- 0.217782 - - 0.133972 - 0 - -0.930977 -
- - 1 -

99840

16384
- 0.217731 - - 0.0923462 - 0 - 2.1269 -
- - 1 -

115968

16384
- 0.217676 - - 0.194641 - 0 - 2.58246 -
- - 1 -

99840

16384
- 0.217661 - - 0.0878906 - 0 - -1.63004 -
- - 1 -

99840

16384
- 0.217607 - - 0.0859375 - 0 - -1.89276 -
- - 1 -

164352

16384
- 0.217481 - - 0.0924683 - 0 - 1.93334 -
- - 1 -

182016

16384
- 0.217465 - - 0.127319 - 0 - 2.58902 -
- - 1 -

33536

16384
- 0.217363 - - 0.0357666 - 0 - -0.763746 -
- - 1 -

99840

16384
- 0.216825 - - 0.09021 - 0 - -1.22431 -
- - 1 -

132352

16384
- 0.21663 - - 0.0975342 - 0 - 2.95124 -
- - 1 -

83456

16384
- 0.216478 - - 0.246399 - 0 - 1.07368 -
- - 1 -

132352

16384
- 0.216061 - - 0.0953369 - 0 - 2.55094 -
- - 1 -

165120

16384
- 0.216 - - 0.0057373 - 0 - 0.932413 -
- - 1 -

100096

16384
- 0.215956 - - 0.0582886 - 0 - 0.300616 -
- - 1 -

99840

16384
- 0.215867 - - 0.0855713 - 0 - -1.92174 -
- - 1 -

164608

16384
- 0.215784 - - 0.095459 - 0 - -2.37537 -
- - 1 -

75264

16384
- 0.215679 - - 0.114502 - 0 - -0.192378 -
- - 1 -

232192

16384
- 0.215602 - - 0.0477905 - 0 - 2.29349 -
- - 1 -

132608

16384
- 0.21539 - - 0.00543213 - 0 - 0.228893 -
- - 1 -

8192

16384
- 0.215378 - - 0.0799561 - 0 - -2.89342 -
- - 1 -

160768

16384
- 0.215268 - - 0.0845947 - 0 - -0.710238 -
- - 1 -

99840

16384
- 0.215148 - - 0.0933838 - 0 - -0.832971 -
- - 1 -

132352

16384
- 0.214295 - - 0.0987549 - 0 - -3.09206 -
- - 1 -

49408

16384
- 0.213761 - - 0.0355225 - 0 - 1.15598 -
- - 1 -

96000

16384
- 0.213506 - - 0.155457 - 0 - -3.07394 -
- - 1 -

182016

16384
- 0.213502 - - 0.0696411 - 0 - 1.77387 -
- - 1 -

130560

16384
- 0.213413 - - 0.0836182 - 0 - -0.965628 -
- - 1 -

53248

16384
- 0.213141 - - 0.0915527 - 0 - 2.17026 -
- - 1 -

182016

16384
- 0.212989 - - 0.126587 - 0 - 2.82922 -
- - 1 -

148480

16384
- 0.212983 - - 0.146851 - 0 - 0.00898199 -
- - 1 -

164608

16384
- 0.212884 - - 0.0965576 - 0 - -2.02709 -
- - 1 -

132608

16384
- 0.212773 - - 0.156311 - 0 - -0.751366 -
- - 1 -

108800

16384
- 0.212757 - - 0.0477905 - 0 - 0.584129 -
- - 1 -

182016

16384
- 0.212726 - - 0.12616 - 0 - -0.167585 -
- - 1 -

59904

16384
- 0.212723 - - 0.116089 - 0 - -1.30289 -
- - 1 -

68352

16384
- 0.212603 - - 0.129822 - 0 - -0.456972 -
- - 1 -

68608

16384
- 0.212283 - - 0.0875244 - 0 - -2.13205 -
- - 1 -

99840

16384
- 0.212176 - - 0.088562 - 0 - 1.62509 -
- - 1 -

39168

16384
- 0.212141 - - 0.134766 - 0 - -1.57153 -
- - 1 -

162560

16384
- 0.212133 - - 0.0891113 - 0 - -1.25107 -
- - 1 -

23296

16384
- 0.212119 - - 0.21283 - 0 - -3.05628 -
- - 1 -

132352

16384
- 0.211906 - - 0.0818481 - 0 - 1.74767 -
- - 1 -

113408

16384
- 0.21181 - - 0.0238647 - 0 - -0.644894 -
- - 1 -

148224

16384
- 0.211785 - - 0.195129 - 0 - 2.95449 -
- - 1 -

50176

16384
- 0.211604 - - 0.131714 - 0 - 2.41206 -
- - 1 -

103936

16384
- 0.21135 - - 0.154541 - 0 - 2.64923 -
- - 1 -

99840

16384
- 0.211348 - - 0.0848389 - 0 - -2.0117 -
- - 1 -

82944

16384
- 0.211143 - - 0.0461426 - 0 - -2.32118 -
- - 1 -

164608

16384
- 0.211083 - - 0.00531006 - 0 - -1.37068 -
- - 1 -

145152

16384
- 0.210877 - - 0.194275 - 0 - -1.48892 -
- - 1 -

54016

16384
- 0.210567 - - 0.0876465 - 0 - 2.97138 -
- - 1 -

54016

16384
- 0.210515 - - 0.248474 - 0 - -0.256666 -
- - 1 -

68352

16384
- 0.210278 - - 0.136047 - 0 - -0.928833 -
- - 1 -

182016

16384
- 0.210214 - - 0.195251 - 0 - -3.06401 -
- - 1 -

100096

16384
- 0.210159 - - 0.0562134 - 0 - -0.513586 -
- - 1 -

99840

16384
- 0.210122 - - 0.0852051 - 0 - -1.98947 -
- - 1 -

182016

16384
- 0.209861 - - 0.137268 - 0 - -2.87622 -
- - 1 -

164608

16384
- 0.209858 - - 0.093689 - 0 - 0.26371 -
- - 1 -

54272

16384
- 0.209587 - - 0.246399 - 0 - 1.32196 -
- - 1 -

132096

16384
- 0.209449 - - 0.0929565 - 0 - 0.323792 -
- - 1 -

155136

16384
- 0.209365 - - 0.0854492 - 0 - -2.08459 -
- - 1 -

151040

16384
- 0.209043 - - 0.215454 - 0 - -0.644821 -
- - 1 -

158208

16384
- 0.208853 - - 0.0426025 - 0 - -0.331039 -
- - 1 -

135424

16384
- 0.208773 - - 0.0889893 - 0 - 1.10999 -
- - 1 -

68352

16384
- 0.208639 - - 0.0495605 - 0 - -0.880033 -
- - 1 -

99840

16384
- 0.208632 - - 0.0905151 - 0 - 2.03151 -
- - 1 -

130304

16384
- 0.208468 - - 0.0897217 - 0 - 2.98569 -
- - 1 -

182016

16384
- 0.208315 - - 0.137939 - 0 - 0.0412314 -
- - 1 -

12800

16384
- 0.208272 - - 0.0239258 - 0 - 2.7118 -
- - 1 -

132352

16384
- 0.208063 - - 0.111389 - 0 - 2.48072 -
- - 1 -

164608

16384
- 0.207874 - - 0.0971069 - 0 - 1.42118 -
- - 1 -

132352

16384
- 0.207847 - - 0.102905 - 0 - -2.18617 -
- - 1 -

128256

16384
- 0.207581 - - 0.0869141 - 0 - 0.115491 -
- - 1 -

182272

16384
- 0.20709 - - 0.125427 - 0 - 0.750885 -
- - 1 -

99840

16384
- 0.20697 - - 0.15625 - 0 - 0.0424093 -
- - 1 -

164608

16384
- 0.206946 - - 0.0985718 - 0 - 1.77903 -
- - 1 -

132352

16384
- 0.206854 - - 0.108398 - 0 - -1.05816 -
- - 1 -

99840

16384
- 0.206828 - - 0.0882568 - 0 - -1.55942 -
- - 1 -

68608

16384
- 0.206825 - - 0.0857544 - 0 - -0.647656 -
- - 1 -

52736

16384
- 0.206749 - - 0.0239258 - 0 - 0.42787 -
- - 1 -

182016

16384
- 0.206612 - - 0.135681 - 0 - -2.42333 -
- - 1 -

99840

16384
- 0.206517 - - 0.0926514 - 0 - -0.99779 -
- - 1 -

120320

16384
- 0.206203 - - 0.0358276 - 0 - 2.47684 -
- - 1 -

99840

16384
- 0.206178 - - 0.0872192 - 0 - 1.48669 -
- - 1 -

148480

16384
- 0.206057 - - 0.147156 - 0 - -2.90652 -
- - 1 -

132352

16384
- 0.205988 - - 0.0990601 - 0 - 0.0972393 -
- - 1 -

132352

16384
- 0.205912 - - 0.109558 - 0 - 2.2334 -
- - 1 -

99840

16384
- 0.205815 - - 0.0898438 - 0 - -1.34008 -
- - 1 -

168704

16384
- 0.205766 - - 0.0862427 - 0 - -1.15062 -
- - 1 -

148480

16384
- 0.205313 - - 0.132935 - 0 - -3.02131 -
- - 1 -

75520

16384
- 0.205297 - - 0.118591 - 0 - 1.2752 -
- - 1 -

128512

16384
- 0.205151 - - 0.0569458 - 0 - 2.59449 -
- - 1 -

24576

16384
- 0.205073 - - 0.212402 - 0 - 0.989667 -
- - 1 -

132096

16384
- 0.204769 - - 0.0933228 - 0 - -0.201605 -
- - 1 -

239360

16384
- 0.204449 - - 0.0715942 - 0 - -1.43188 -
- - 1 -

51712

16384
- 0.204417 - - 0.247192 - 0 - 1.3511 -
- - 1 -

182016

16384
- 0.204409 - - 0.136047 - 0 - -2.55189 -
- - 1 -

168192

16384
- 0.204402 - - 0.0856323 - 0 - -3.07969 -
- - 1 -

164608

16384
- 0.204217 - - 0.0979004 - 0 - -1.55429 -
- - 1 -

38400

16384
- 0.20413 - - 0.118591 - 0 - -0.870047 -
- - 1 -

168960

16384
- 0.204037 - - 0.0848389 - 0 - -0.815908 -
- - 1 -

99840

16384
- 0.203941 - - 0.0889282 - 0 - 1.75951 -
- - 1 -

148224

16384
- 0.203752 - - 0.131592 - 0 - -2.50148 -
- - 1 -

23040

16384
- 0.203735 - - 0.0917358 - 0 - 0.705443 -
- - 1 -

182016

16384
- 0.203639 - - 0.137573 - 0 - 0.155616 -
- - 1 -

68352

16384
- 0.203637 - - 0.123108 - 0 - -1.65217 -
- - 1 -

148224

16384
- 0.203573 - - 0.0701904 - 0 - -1.63527 -
- - 1 -

182016

16384
- 0.203398 - - 0.138428 - 0 - -0.0835078 -
- - 1 -

148224

16384
- 0.20336 - - 0.193054 - 0 - 0.968491 -
- - 1 -

148480

16384
- 0.203331 - - 0.134277 - 0 - -1.55059 -
- - 1 -

58880

16384
- 0.202951 - - 0.0473633 - 0 - -2.05428 -
- - 1 -

165376

16384
- 0.202699 - - 0.230713 - 0 - 2.93201 -
- - 1 -

182272

16384
- 0.202634 - - 0.124695 - 0 - -0.209417 -
- - 1 -

98048

16384
- 0.202581 - - 0.0425415 - 0 - 3.10526 -
- - 1 -

53760

16384
- 0.202457 - - 0.134888 - 0 - 1.16006 -
- - 1 -

186624

16384
- 0.202369 - - 0.0568237 - 0 - -1.98781 -
- - 1 -

182016

16384
- 0.202365 - - 0.126892 - 0 - -0.430815 -
- - 1 -

200960

16384
- 0.201984 - - 0.0568237 - 0 - -2.88681 -
- - 1 -

99840

16384
- 0.201626 - - 0.0842285 - 0 - -2.07129 -
- - 1 -

64256

16384
- 0.201335 - - 0.0282593 - 0 - -2.72614 -
- - 1 -

65536

16384
- 0.201034 - - 0.0471191 - 0 - -1.57876 -
- - 1 -

182016

16384
- 0.201018 - - 0.127625 - 0 - -0.743651 -
- - 1 -

42240

16384
- 0.200944 - - 0.0916138 - 0 - -1.94242 -
- - 1 -

85504

16384
- 0.200903 - - 0.0475464 - 0 - -0.738641 -
- - 1 -

182016

16384
- 0.200903 - - 0.128174 - 0 - 2.37897 -
- - 1 -

182016

16384
- 0.20089 - - 0.0733643 - 0 - 0.862673 -
- - 1 -

182016

16384
- 0.200841 - - 0.125854 - 0 - 3.11315 -
-
diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/sine440.wav b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/sine440.wav deleted file mode 100644 index 7872c3b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/bin/data/sine440.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/openFrameworks-Info.plist deleted file mode 100644 index e5db555..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/openFrameworks-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp deleted file mode 100644 index b232966..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "mp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new mp()); - -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp deleted file mode 100644 index 57970cf..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "mp.h" - -//-------------------------------------------------------------- -void mp::setup(){ - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetVerticalSync(true); -// pyd.setup("localhost", 23612); -// pyd.clear(); - - - maxiAtomBook::loadMPTKXmlBook(ofToDataPath("book100.xml"), book); - sort(book.atoms.begin(), book.atoms.end(), maxiAtom::atomSortPositionAsc); - atomBuffer.resize(512); - atomData.resize(book.atoms[0]->length); - - ofxMaxiSettings::setup(44100, 2, 512); - ofSoundStreamSetup(maxiSettings::channels,0,this, maxiSettings::sampleRate, maxiSettings::bufferSize, 4);/* Call this last ! */ - -// flArr test; -// maxiCollider::createGabor(test, maxiMap::linexp(atom->frequency, 0, 0.2, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 40.0); - -} - - - -//-------------------------------------------------------------- -void mp::update(){ - flArr test; - //generate atoms from mouse position -// maxiCollider::createGabor(test, maxiMap::linexp((float)mouseX/ofGetWidth(), 0, 1, 100, 10000) * (1.0 + (ofRandomuf() * 0.2)), -// maxiSettings::sampleRate, -// maxiMap::linlin((float)mouseY / ofGetHeight(), 0, 1, 2000, 40000) * (1.0 + (ofRandomuf() * 0.3)), -// ofRandomf() * PI, 0.3, 0.05); -// atomStream.addAtom(test); - - //play book back one atom at a time -// static int atomIdx=0; -// maxiGaborAtom *atom = (maxiGaborAtom*) book.atoms[atomIdx % book.atoms.size()]; -// maxiCollider::createGabor(test, maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 30.0); -// atomStream.addAtom(test); -// atomIdx++; -// cout << (atomIdx % book.atoms.size()) << ", " << maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000) << ", " << atom->amp << endl; - -} - -//-------------------------------------------------------------- -void mp::draw(){ - -} - -void mp::audioRequested (float * output, int bufferSize, int nChannels){ - atomPlayer.play(book, atomStream, output, bufferSize); - - memset(&atomBuffer[0], 0, sizeof(float) * bufferSize); - atomStream.fillNextBuffer(&(atomBuffer[0]), bufferSize); - for (int i = 0; i < bufferSize; i++){ - output[i*nChannels ] = output[i*nChannels + 1] = atomBuffer[i]; - } - -} - - -//-------------------------------------------------------------- -void mp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void mp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void mp::mouseMoved(int x, int y ){ - -} - -//-------------------------------------------------------------- -void mp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void mp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void mp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void mp::windowResized(int w, int h){ - -} - -//-------------------------------------------------------------- -void mp::gotMessage(ofMessage msg){ - -} - -//-------------------------------------------------------------- -void mp::dragEvent(ofDragInfo dragInfo){ - -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h deleted file mode 100644 index 1e8d6b6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/mp.h +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "ofMain.h" -#include "ofxMaxim.h" -#include "maxiAtoms.h" -//#include "pyOSCDebug.h" - -class mp : public ofBaseApp{ - - public: - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - -// pyOSCDebug pyd; - maxiAccelerator atomStream; - maxiAtomBook book; - maxiAtomBookPlayer atomPlayer; - - flArr atomBuffer; - flArr atomData; - - - -}; diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp deleted file mode 100644 index 3af8084..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* - * pyOSCDebug.cpp - * bastardPop - * - * Created by Chris on 25/10/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "pyOSCDebug.h" - -pyOSCDebug::pyOSCDebug() { - ready = false; -} - -void pyOSCDebug::setup(string host, int port) { - osc.setup(host, port); - ready = true; -} - -void pyOSCDebug::clear() { - if (ready) { - ofxOscMessage m; - m.setAddress("/clear"); - osc.sendMessage(m); - } -} - - -void pyOSCDebug::send(vector data) { - send(&(data[0]), data.size()); -} - -void pyOSCDebug::send(float *data, unsigned int count) { - if (ready) { - ofxOscMessage m; - m.setAddress("/data"); - for(int i=0; i < count; i++) { - m.addFloatArg(data[i]); - } - osc.sendMessage(m); - } -} - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h deleted file mode 100644 index 020f0fd..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/maxiAtomSynthesis/src/pyOSCDebug.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * pyOSCDebug.h - * bastardPop - * - * Created by Chris on 25/10/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "ofxOSC.h" -#include - -class pyOSCDebug { -public: - pyOSCDebug(); - void setup(string host, int port); - void clear(); - void send(vector data); - void send(float *data, unsigned int count); -private: - ofxOscSender osc; - bool ready; - -}; \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.sln b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.sln deleted file mode 100644 index 5a9e6e6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.sln +++ /dev/null @@ -1,28 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emptyExample", "emptyExample.vcproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" - ProjectSection(ProjectDependencies) = postProject - {5837595D-ACA9-485C-8E76-729040CE4B0B} = {5837595D-ACA9-485C-8E76-729040CE4B0B} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2008\openframeworksLib.vcproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj deleted file mode 100644 index 818dba2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj.user b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj.user deleted file mode 100644 index 801522b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/.vcproj.user +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/Project.xcconfig b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/Project.xcconfig deleted file mode 100644 index c10b9e5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/Project.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/data/beat2.wav b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/data/beat2.wav deleted file mode 100644 index c71cee6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT deleted file mode 120000 index c578310..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/GLUT \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT deleted file mode 100755 index 2be5e34..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h deleted file mode 100755 index a5116e2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h +++ /dev/null @@ -1,18 +0,0 @@ - -/* - * - * Written By Linas Vepstas November 1991 - */ - - -#define COPY_THREE_WORDS(A,B) { \ - struct three_words { int a, b, c, }; \ - *(struct three_words *) (A) = *(struct three_words *) (B); \ -} - -#define COPY_FOUR_WORDS(A,B) { \ - struct four_words { int a, b, c, d, }; \ - *(struct four_words *) (A) = *(struct four_words *) (B); \ -} - -/* ============================================================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h deleted file mode 100755 index 658699e..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h +++ /dev/null @@ -1,96 +0,0 @@ - -/* - * extrude.h - * - * FUNCTION: - * prototypes for privately used subroutines for the tubing library - * - * HISTORY: - * Linas Vepstas 1991 - */ - -#include "port.h" /* for gleDouble */ - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ============================================================ */ -/* - * Provides choice of calling subroutine, vs. invoking macro. - * Basically, inlines the source, or not. - * Trades performance for executable size. - */ - -#define INLINE_INTERSECT -#ifdef INLINE_INTERSECT -#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } -#else -#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) -#endif /* INLINE_INTERSECT */ - -/* ============================================================ */ -/* The folowing defines give a kludgy way of accessing the qmesh primitive */ - -/* -#define bgntmesh _emu_qmesh_bgnqmesh -#define endtmesh _emu_qmesh_endqmesh -#define c3f _emu_qmesh_c3f -#define n3f _emu_qmesh_n3f -#define v3f _emu_qmesh_v3f -*/ - -/* ============================================================ */ - -extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3]); /* polyline */ - - -extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble zval, /* where to draw cap */ - int frontwards); /* front or back cap */ - -extern void draw_round_style_cap_callback (int iloop, - double cap[][3], - float face_color[3], - gleDouble cut_vector[3], - gleDouble bisect_vector[3], - double norms[][3], - int frontwards); - -extern void draw_angle_style_front_cap (int ncp, - gleDouble bi[3], - gleDouble point_array[][3]); - -extern void extrusion_raw_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - - -extern void extrusion_angle_join (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2],/* 2D contour normal vecs */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline */ - float color_array[][3], /* color of polyline */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h deleted file mode 100755 index baf54a7..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef __glsmap_h__ -#define __glsmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) - -/* Try hard to avoid including to avoid name space pollution, - but Win32's needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK - /* XXX This is from Win32's */ -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif /* _WIN32 */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - SMAP_CLEAR_SMAP_TEXTURE = 0x1, - SMAP_GENERATE_VIEW_MIPMAPS = 0x2, - SMAP_GENERATE_SMAP_MIPMAPS = 0x4, - SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ -} SphereMapFlags; - -/* Cube view enumerants. */ -enum { - SMAP_FRONT = 0, - SMAP_TOP = 1, - SMAP_BOTTOM = 2, - SMAP_LEFT = 3, - SMAP_RIGHT = 4, - SMAP_BACK = 5 -}; - -typedef struct _SphereMap SphereMap; - -extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); -extern void smapDestroySphereMap(SphereMap *smap); - -extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); - -extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); -extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); -extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); -extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); - -extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); -extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); - -extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); -extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); -extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); - -extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); -extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); -extern void smapSetUpVector(SphereMap *smap, GLfloat *up); -extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); -extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); -extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); -extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); -extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); -extern void smapGetUpVector(SphereMap *smap, GLfloat *up); -extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); -extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); - -extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); -extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); - -extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); -extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); -extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); -extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); - -extern void smapSetContextData(SphereMap *smap, void *context); -extern void smapGetContextData(SphereMap *smap, void **context); - -extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); -extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); -extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); -extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); - -extern void smapGenViewTex(SphereMap *smap, int view); -extern void smapGenViewTexs(SphereMap *smap); -extern void smapGenSphereMapFromViewTexs(SphereMap *smap); -extern void smapGenSphereMap(SphereMap *smap); -extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); - -extern int smapRvecToSt(float rvec[3], float st[2]); -extern void smapStToRvec(float *st, float *rvec); - -#ifdef __cplusplus -} - -#endif -#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h deleted file mode 100755 index 3620e7d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef __glsmapint_h__ -#define __glsmapint_h__ - -/* Copyright (c) Mark J. Kilgard, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glsmap.h" - -enum { X = 0, Y = 1, Z = 2 }; - -#define INITFACE(mesh) \ - int steps = mesh->steps; \ - int sqsteps = mesh->steps * mesh->steps - -#define FACE(side,y,x) \ - mesh->face[(side)*sqsteps + (y)*steps + (x)] - -#define FACExy(side,i,j) \ - (&FACE(side,i,j).x) - -#define FACEst(side,i,j) \ - (&FACE(side,i,j).s) - -#define INITBACK(mesh) \ - int allrings = mesh->rings + mesh->edgeExtend; \ - int ringedspokes = allrings * mesh->steps - -#define BACK(edge,ring,spoke) \ - mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] - -#define BACKxy(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).x) - -#define BACKst(edge,ring,spoke) \ - (&BACK(edge,ring,spoke).s) - -typedef struct _STXY { - GLfloat s, t; - GLfloat x, y; -} STXY; - -typedef struct _SphereMapMesh { - - int refcnt; - - int steps; - int rings; - int edgeExtend; - - STXY *face; - STXY *back; - -} SphereMapMesh; - -struct _SphereMap { - - /* Shared sphere map mesh vertex data. */ - SphereMapMesh *mesh; - - /* Texture object ids. */ - GLuint smapTexObj; - GLuint viewTexObjs[6]; - GLuint viewTexObj; - - /* Flags */ - SphereMapFlags flags; - - /* Texture dimensions must be a power of two. */ - int viewTexDim; /* view texture dimension */ - int smapTexDim; /* sphere map texture dimension */ - - /* Viewport origins for view and sphere map rendering. */ - int viewOrigin[2]; - int smapOrigin[2]; - - /* Viewing vectors. */ - GLfloat eye[3]; - GLfloat up[3]; - GLfloat obj[3]; - - /* Projection parameters. */ - GLfloat viewNear; - GLfloat viewFar; - - /* Rendering callbacks. */ - void (*positionLights)(int view, void *context); - void (*drawView)(int view, void *context); - - /* Application specified callback data. */ - void *context; - -}; - -/* Library internal routines. */ -extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); -extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); -extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); - -#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h deleted file mode 100755 index cbc6ebe..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h +++ /dev/null @@ -1,648 +0,0 @@ -#ifndef __glut_h__ -#define __glut_h__ - -/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ - -/* This program is freely distributable without licensing fees and is - provided without guarantee or warrantee expressed or implied. This - program is -not- in the public domain. */ -//#define GLUT_OF_007_HACK - -#if defined(_WIN32) - -/* GLUT 3.7 now tries to avoid including - to avoid name space pollution, but Win32's - needs APIENTRY and WINGDIAPI defined properly. */ -# if 0 -# define WIN32_LEAN_AND_MEAN -# include -# else - /* XXX This is from Win32's */ -# ifndef APIENTRY -# define GLUT_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif - /* XXX This is from Win32's */ -# ifndef CALLBACK -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif - /* XXX This is from Win32's and */ -# ifndef WINGDIAPI -# define GLUT_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif - /* XXX This is from Win32's */ -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ -#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ - -#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ - -#endif - -#if defined(__APPLE__) || defined(MACOSX) -#include -#include -#include -#else -#include -#include -#endif - -/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ -#if !defined(_WIN32) -#define APIENTRY -#define GLUT_APIENTRY_DEFINED -#define CALLBACK -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLUT API revision history: - - GLUT_API_VERSION is updated to reflect incompatible GLUT - API changes (interface changes, semantic changes, deletions, - or additions). - - GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 - - GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, - extension. Supports new input devices like tablet, dial and button - box, and Spaceball. Easy to query OpenGL extensions. - - GLUT_API_VERSION=3 glutMenuStatus added. - - GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, - glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic - video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, - glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, - glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). - - GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) -**/ -#ifndef GLUT_API_VERSION /* allow this to be overriden */ -#define GLUT_API_VERSION 5 -#endif - -/** - GLUT implementation revision history: - - GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT - API revisions and implementation revisions (ie, bug fixes). - - GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of - GLUT Xlib-based implementation. 11/29/94 - - GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of - GLUT Xlib-based implementation providing GLUT version 2 - interfaces. - - GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 - - GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 - - GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 - - GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 - - GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner - and video resize. 1/3/97 - - GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. - - GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. - - GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. - - GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. - - GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. - - GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa -**/ -#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_XLIB_IMPLEMENTATION 15 -#endif - -/** - MacOS X GLUT implementation revision history: - - GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X - specific GLUT API revisions and implementation revisions - (ie, bug fixes). - - GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. - - GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. - -**/ -#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ -#define GLUT_MACOSX_IMPLEMENTATION 2 -#endif - -/* Display mode bit masks. */ -#define GLUT_RGB 0 -#define GLUT_RGBA GLUT_RGB -#define GLUT_INDEX 1 -#define GLUT_SINGLE 0 -#define GLUT_DOUBLE 2 -#define GLUT_ACCUM 4 -#define GLUT_ALPHA 8 -#define GLUT_DEPTH 16 -#define GLUT_STENCIL 32 -#if (GLUT_API_VERSION >= 2) -#define GLUT_MULTISAMPLE 128 -#define GLUT_STEREO 256 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_LUMINANCE 512 -#endif -#define GLUT_NO_RECOVERY 1024 - -/* Mouse buttons. */ -#define GLUT_LEFT_BUTTON 0 -#define GLUT_MIDDLE_BUTTON 1 -#define GLUT_RIGHT_BUTTON 2 - -/* Mouse button state. */ -#define GLUT_DOWN 0 -#define GLUT_UP 1 - -#if (GLUT_API_VERSION >= 2) -/* function keys */ -#define GLUT_KEY_F1 1 -#define GLUT_KEY_F2 2 -#define GLUT_KEY_F3 3 -#define GLUT_KEY_F4 4 -#define GLUT_KEY_F5 5 -#define GLUT_KEY_F6 6 -#define GLUT_KEY_F7 7 -#define GLUT_KEY_F8 8 -#define GLUT_KEY_F9 9 -#define GLUT_KEY_F10 10 -#define GLUT_KEY_F11 11 -#define GLUT_KEY_F12 12 -/* directional keys */ -#define GLUT_KEY_LEFT 100 -#define GLUT_KEY_UP 101 -#define GLUT_KEY_RIGHT 102 -#define GLUT_KEY_DOWN 103 -#define GLUT_KEY_PAGE_UP 104 -#define GLUT_KEY_PAGE_DOWN 105 -#define GLUT_KEY_HOME 106 -#define GLUT_KEY_END 107 -#define GLUT_KEY_INSERT 108 -#endif - -/* Entry/exit state. */ -#define GLUT_LEFT 0 -#define GLUT_ENTERED 1 - -/* Menu usage state. */ -#define GLUT_MENU_NOT_IN_USE 0 -#define GLUT_MENU_IN_USE 1 - -/* Visibility state. */ -#define GLUT_NOT_VISIBLE 0 -#define GLUT_VISIBLE 1 - -/* Window status state. */ -#define GLUT_HIDDEN 0 -#define GLUT_FULLY_RETAINED 1 -#define GLUT_PARTIALLY_RETAINED 2 -#define GLUT_FULLY_COVERED 3 - -/* Color index component selection values. */ -#define GLUT_RED 0 -#define GLUT_GREEN 1 -#define GLUT_BLUE 2 - -/* Layers for use. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -#if defined(_WIN32) -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN ((void*)0) -#define GLUT_STROKE_MONO_ROMAN ((void*)1) - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 ((void*)2) -#define GLUT_BITMAP_8_BY_13 ((void*)3) -#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) -#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 ((void*)6) -#define GLUT_BITMAP_HELVETICA_12 ((void*)7) -#define GLUT_BITMAP_HELVETICA_18 ((void*)8) -#endif -#else -/* Stroke font opaque addresses (use constants instead in source code). */ -extern void *glutStrokeRoman; -extern void *glutStrokeMonoRoman; - -/* Stroke font constants (use these in GLUT program). */ -#define GLUT_STROKE_ROMAN (&glutStrokeRoman) -#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) - -/* Bitmap font opaque addresses (use constants instead in source code). */ -extern void *glutBitmap9By15; -extern void *glutBitmap8By13; -extern void *glutBitmapTimesRoman10; -extern void *glutBitmapTimesRoman24; -extern void *glutBitmapHelvetica10; -extern void *glutBitmapHelvetica12; -extern void *glutBitmapHelvetica18; - -/* Bitmap font constants (use these in GLUT program). */ -#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) -#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) -#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) -#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) -#if (GLUT_API_VERSION >= 3) -#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) -#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) -#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) -#endif -#endif - -/* glutGet parameters. */ -#define GLUT_WINDOW_X 100 -#define GLUT_WINDOW_Y 101 -#define GLUT_WINDOW_WIDTH 102 -#define GLUT_WINDOW_HEIGHT 103 -#define GLUT_WINDOW_BUFFER_SIZE 104 -#define GLUT_WINDOW_STENCIL_SIZE 105 -#define GLUT_WINDOW_DEPTH_SIZE 106 -#define GLUT_WINDOW_RED_SIZE 107 -#define GLUT_WINDOW_GREEN_SIZE 108 -#define GLUT_WINDOW_BLUE_SIZE 109 -#define GLUT_WINDOW_ALPHA_SIZE 110 -#define GLUT_WINDOW_ACCUM_RED_SIZE 111 -#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 -#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 -#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 -#define GLUT_WINDOW_DOUBLEBUFFER 115 -#define GLUT_WINDOW_RGBA 116 -#define GLUT_WINDOW_PARENT 117 -#define GLUT_WINDOW_NUM_CHILDREN 118 -#define GLUT_WINDOW_COLORMAP_SIZE 119 -#if (GLUT_API_VERSION >= 2) -#define GLUT_WINDOW_NUM_SAMPLES 120 -#define GLUT_WINDOW_STEREO 121 -#endif -#if (GLUT_API_VERSION >= 3) -#define GLUT_WINDOW_CURSOR 122 -#endif -#define GLUT_SCREEN_WIDTH 200 -#define GLUT_SCREEN_HEIGHT 201 -#define GLUT_SCREEN_WIDTH_MM 202 -#define GLUT_SCREEN_HEIGHT_MM 203 -#define GLUT_MENU_NUM_ITEMS 300 -#define GLUT_DISPLAY_MODE_POSSIBLE 400 -#define GLUT_INIT_WINDOW_X 500 -#define GLUT_INIT_WINDOW_Y 501 -#define GLUT_INIT_WINDOW_WIDTH 502 -#define GLUT_INIT_WINDOW_HEIGHT 503 -#define GLUT_INIT_DISPLAY_MODE 504 -#if (GLUT_API_VERSION >= 2) -#define GLUT_ELAPSED_TIME 700 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_WINDOW_FORMAT_ID 123 -#endif - -#if (GLUT_API_VERSION >= 2) -/* glutDeviceGet parameters. */ -#define GLUT_HAS_KEYBOARD 600 -#define GLUT_HAS_MOUSE 601 -#define GLUT_HAS_SPACEBALL 602 -#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 -#define GLUT_HAS_TABLET 604 -#define GLUT_NUM_MOUSE_BUTTONS 605 -#define GLUT_NUM_SPACEBALL_BUTTONS 606 -#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 -#define GLUT_NUM_DIALS 608 -#define GLUT_NUM_TABLET_BUTTONS 609 -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 -#define GLUT_DEVICE_KEY_REPEAT 611 -#define GLUT_HAS_JOYSTICK 612 -#define GLUT_OWNS_JOYSTICK 613 -#define GLUT_JOYSTICK_BUTTONS 614 -#define GLUT_JOYSTICK_AXES 615 -#define GLUT_JOYSTICK_POLL_RATE 616 -#endif - -#if (GLUT_API_VERSION >= 3) -/* glutLayerGet parameters. */ -#define GLUT_OVERLAY_POSSIBLE 800 -#define GLUT_LAYER_IN_USE 801 -#define GLUT_HAS_OVERLAY 802 -#define GLUT_TRANSPARENT_INDEX 803 -#define GLUT_NORMAL_DAMAGED 804 -#define GLUT_OVERLAY_DAMAGED 805 - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* glutVideoResizeGet parameters. */ -#define GLUT_VIDEO_RESIZE_POSSIBLE 900 -#define GLUT_VIDEO_RESIZE_IN_USE 901 -#define GLUT_VIDEO_RESIZE_X_DELTA 902 -#define GLUT_VIDEO_RESIZE_Y_DELTA 903 -#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 -#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 -#define GLUT_VIDEO_RESIZE_X 906 -#define GLUT_VIDEO_RESIZE_Y 907 -#define GLUT_VIDEO_RESIZE_WIDTH 908 -#define GLUT_VIDEO_RESIZE_HEIGHT 909 -#endif - -/* glutUseLayer parameters. */ -#define GLUT_NORMAL 0 -#define GLUT_OVERLAY 1 - -/* glutGetModifiers return mask. */ -#define GLUT_ACTIVE_SHIFT 1 -#define GLUT_ACTIVE_CTRL 2 -#define GLUT_ACTIVE_ALT 4 - -/* glutSetCursor parameters. */ -/* Basic arrows. */ -#define GLUT_CURSOR_RIGHT_ARROW 0 -#define GLUT_CURSOR_LEFT_ARROW 1 -/* Symbolic cursor shapes. */ -#define GLUT_CURSOR_INFO 2 -#define GLUT_CURSOR_DESTROY 3 -#define GLUT_CURSOR_HELP 4 -#define GLUT_CURSOR_CYCLE 5 -#define GLUT_CURSOR_SPRAY 6 -#define GLUT_CURSOR_WAIT 7 -#define GLUT_CURSOR_TEXT 8 -#define GLUT_CURSOR_CROSSHAIR 9 -/* Directional cursors. */ -#define GLUT_CURSOR_UP_DOWN 10 -#define GLUT_CURSOR_LEFT_RIGHT 11 -/* Sizing cursors. */ -#define GLUT_CURSOR_TOP_SIDE 12 -#define GLUT_CURSOR_BOTTOM_SIDE 13 -#define GLUT_CURSOR_LEFT_SIDE 14 -#define GLUT_CURSOR_RIGHT_SIDE 15 -#define GLUT_CURSOR_TOP_LEFT_CORNER 16 -#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 -#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 -#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 -/* Inherit from parent window. */ -#define GLUT_CURSOR_INHERIT 100 -/* Blank cursor. */ -#define GLUT_CURSOR_NONE 101 -/* Fullscreen crosshair (if available). */ -#define GLUT_CURSOR_FULL_CROSSHAIR 102 -#endif - -/* GLUT initialization sub-API. */ -extern void APIENTRY glutInit(int *argcp, char **argv); -extern void APIENTRY glutInitDisplayMode(unsigned int mode); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutInitDisplayString(const char *string); -#endif -extern void APIENTRY glutInitWindowPosition(int x, int y); -extern void APIENTRY glutInitWindowSize(int width, int height); -extern void APIENTRY glutMainLoop(void); - -/* GLUT window sub-API. */ -extern int APIENTRY glutCreateWindow(const char *title); -extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); -extern void APIENTRY glutDestroyWindow(int win); -extern void APIENTRY glutPostRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowRedisplay(int win); -#endif -extern void APIENTRY glutSwapBuffers(void); -extern int APIENTRY glutGetWindow(void); -extern void APIENTRY glutSetWindow(int win); -extern void APIENTRY glutSetWindowTitle(const char *title); -extern void APIENTRY glutSetIconTitle(const char *title); -extern void APIENTRY glutPositionWindow(int x, int y); -extern void APIENTRY glutReshapeWindow(int width, int height); -extern void APIENTRY glutPopWindow(void); -extern void APIENTRY glutPushWindow(void); -extern void APIENTRY glutIconifyWindow(void); -extern void APIENTRY glutShowWindow(void); -extern void APIENTRY glutHideWindow(void); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutFullScreen(void); -extern void APIENTRY glutSetCursor(int cursor); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWarpPointer(int x, int y); -#if (GLUT_MACOSX_IMPLEMENTATION >= 1) -/* surface texturing API Mac OS X specific -* Note: -* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object -*/ -#ifdef MAC_OS_X_VERSION_10_5 -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 -#else -extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); -#endif -#endif -#if (GLUT_MACOSX_IMPLEMENTATION >= 2) -/* Mac OS X specific API */ -extern void APIENTRY glutWMCloseFunc(void (*func)(void)); -extern void APIENTRY glutCheckLoop(void); -#endif -#endif - -/* GLUT overlay sub-API. */ -extern void APIENTRY glutEstablishOverlay(void); -extern void APIENTRY glutRemoveOverlay(void); -extern void APIENTRY glutUseLayer(GLenum layer); -extern void APIENTRY glutPostOverlayRedisplay(void); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) -extern void APIENTRY glutPostWindowOverlayRedisplay(int win); -#endif -extern void APIENTRY glutShowOverlay(void); -extern void APIENTRY glutHideOverlay(void); -#endif - -/* GLUT menu sub-API. */ -extern int APIENTRY glutCreateMenu(void (*)(int)); -extern void APIENTRY glutDestroyMenu(int menu); -extern int APIENTRY glutGetMenu(void); -extern void APIENTRY glutSetMenu(int menu); -extern void APIENTRY glutAddMenuEntry(const char *label, int value); -extern void APIENTRY glutAddSubMenu(const char *label, int submenu); -extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); -extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); -extern void APIENTRY glutRemoveMenuItem(int item); -extern void APIENTRY glutAttachMenu(int button); -extern void APIENTRY glutDetachMenu(int button); - -/* GLUT window callback sub-API. */ -extern void APIENTRY glutDisplayFunc(void (*func)(void)); -extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); -extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); -extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutEntryFunc(void (*func)(int state)); -extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); -extern void APIENTRY glutIdleFunc(void (*func)(void)); -extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); -extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); -#if (GLUT_API_VERSION >= 2) -extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); -extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); -extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); -extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); -extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); -extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); -#if (GLUT_API_VERSION >= 3) -extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); -extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); -#endif -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); -extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); -extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); -//#ifdef GLUT_OF_007_HACK -extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); -//#endif -#endif -#endif -#endif - -/* GLUT color index sub-API. */ -extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); -extern GLfloat APIENTRY glutGetColor(int ndx, int component); -extern void APIENTRY glutCopyColormap(int win); - -/* GLUT state retrieval sub-API. */ -extern int APIENTRY glutGet(GLenum type); -extern int APIENTRY glutDeviceGet(GLenum type); -#if (GLUT_API_VERSION >= 2) -/* GLUT extension support sub-API */ -extern int APIENTRY glutExtensionSupported(const char *name); -#endif -#if (GLUT_API_VERSION >= 3) -extern int APIENTRY glutGetModifiers(void); -extern int APIENTRY glutLayerGet(GLenum type); -#endif -#if (GLUT_API_VERSION >= 5) -extern void * APIENTRY glutGetProcAddress(const char *procName); -#endif - -/* GLUT font sub-API */ -extern void APIENTRY glutBitmapCharacter(void *font, int character); -extern int APIENTRY glutBitmapWidth(void *font, int character); -extern void APIENTRY glutStrokeCharacter(void *font, int character); -extern int APIENTRY glutStrokeWidth(void *font, int character); -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); -extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); -#endif - -/* GLUT pre-built models sub-API */ -extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); -extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); -extern void APIENTRY glutWireCube(GLdouble size); -extern void APIENTRY glutSolidCube(GLdouble size); -extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); -extern void APIENTRY glutWireDodecahedron(void); -extern void APIENTRY glutSolidDodecahedron(void); -extern void APIENTRY glutWireTeapot(GLdouble size); -extern void APIENTRY glutSolidTeapot(GLdouble size); -extern void APIENTRY glutWireOctahedron(void); -extern void APIENTRY glutSolidOctahedron(void); -extern void APIENTRY glutWireTetrahedron(void); -extern void APIENTRY glutSolidTetrahedron(void); -extern void APIENTRY glutWireIcosahedron(void); -extern void APIENTRY glutSolidIcosahedron(void); - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) -/* GLUT video resize sub-API. */ -extern int APIENTRY glutVideoResizeGet(GLenum param); -extern void APIENTRY glutSetupVideoResizing(void); -extern void APIENTRY glutStopVideoResizing(void); -extern void APIENTRY glutVideoResize(int x, int y, int width, int height); -extern void APIENTRY glutVideoPan(int x, int y, int width, int height); - -/* GLUT debugging sub-API. */ -extern void APIENTRY glutReportErrors(void); -#endif - -#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) -/* GLUT device control sub-API. */ -/* glutSetKeyRepeat modes. */ -#define GLUT_KEY_REPEAT_OFF 0 -#define GLUT_KEY_REPEAT_ON 1 -#define GLUT_KEY_REPEAT_DEFAULT 2 - -/* Joystick button masks. */ -#define GLUT_JOYSTICK_BUTTON_A 1 -#define GLUT_JOYSTICK_BUTTON_B 2 -#define GLUT_JOYSTICK_BUTTON_C 4 -#define GLUT_JOYSTICK_BUTTON_D 8 - -extern void APIENTRY glutIgnoreKeyRepeat(int ignore); -extern void APIENTRY glutSetKeyRepeat(int repeatMode); -extern void APIENTRY glutForceJoystickFunc(void); - -/* GLUT game mode sub-API. */ -/* glutGameModeGet. */ -#define GLUT_GAME_MODE_ACTIVE 0 -#define GLUT_GAME_MODE_POSSIBLE 1 -#define GLUT_GAME_MODE_WIDTH 2 -#define GLUT_GAME_MODE_HEIGHT 3 -#define GLUT_GAME_MODE_PIXEL_DEPTH 4 -#define GLUT_GAME_MODE_REFRESH_RATE 5 -#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 - -extern void APIENTRY glutGameModeString(const char *string); -extern int APIENTRY glutEnterGameMode(void); -extern void APIENTRY glutLeaveGameMode(void); -extern int APIENTRY glutGameModeGet(GLenum mode); -#endif - -#ifdef __cplusplus -} - -#endif - -#ifdef GLUT_APIENTRY_DEFINED -# undef GLUT_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef GLUT_WINGDIAPI_DEFINED -# undef GLUT_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - -#endif /* __glut_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h deleted file mode 100755 index e29a016..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __glutbitmap_h__ -#define __glutbitmap_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include "glut.h" - -typedef struct { - const GLsizei width; - const GLsizei height; - const GLfloat xorig; - const GLfloat yorig; - const GLfloat advance; - const GLubyte *bitmap; -} BitmapCharRec, *BitmapCharPtr; - -typedef struct { - const char *name; - const int num_chars; - const int first; - const BitmapCharRec * const *ch; -} BitmapFontRec, *BitmapFontPtr; - -typedef void *GLUTbitmapFont; - -#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h deleted file mode 100755 index f8a170b..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef __glutf90_h__ -#define __glutf90_h__ - -/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -/* This header provides the binding interface for William Mitchell's - f90gl Fortran 90 GLUT binding. Other GLUT language bindings - can and should use this interace. */ - -/* I appreciate the guidance from William Mitchell - (mitchell@cam.nist.gov) in developing this friend interface - for use by the f90gl package. See ../../README.fortran */ - -#include - -#ifndef GLUTCALLBACK - #define GLUTCALLBACK -#endif -#ifndef APIENTRY - #define APIENTRY -#endif - -/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ -/* NOTE These values are part of a binary interface for the f90gl Fortran - 90 binding and so must NOT changes (additions are allowed). */ - -/* GLUTwindow callbacks. */ -#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ -#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ -#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ -#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ -#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ -#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ -#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ -#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ -#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ -#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ -#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ -#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ -#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ -#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ -#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ -#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ -#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ -#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ -#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ -#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ -#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ -/* Non-GLUTwindow callbacks. */ -#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ -#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ -#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ - -/* GLUT Fortran callback function types. */ -typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); -typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); -typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); -/* NOTE the pressed key is int, not unsigned char for Fortran! */ -typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); -typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); -typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); -typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); -typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); - -typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); -typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); -typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ -typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); -typedef void (GLUTCALLBACK *GLUTidleFCB) (void); - -/* Functions that set and return Fortran callback functions. */ -extern void* APIENTRY __glutGetFCB(int which); -extern void APIENTRY __glutSetFCB(int which, void *func); - -#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h deleted file mode 100755 index cbc9e15..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __glutstroke_h__ -#define __glutstroke_h__ - -/* Copyright (c) Mark J. Kilgard, 1994. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#if defined(_WIN32) -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ -#endif - -typedef struct { - float x; - float y; -} CoordRec, *CoordPtr; - -typedef struct { - int num_coords; - const CoordRec *coord; -} StrokeRec, *StrokePtr; - -typedef struct { - int num_strokes; - const StrokeRec *stroke; - float center; - float right; -} StrokeCharRec, *StrokeCharPtr; - -typedef struct { - const char *name; - int num_chars; - const StrokeCharRec *ch; - float top; - float bottom; -} StrokeFontRec, *StrokeFontPtr; - -typedef void *GLUTstrokeFont; - -#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h deleted file mode 100755 index f7ffcf3..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h +++ /dev/null @@ -1,89 +0,0 @@ - -/* - * gutil.h - * - * FUNCTION: - * Provide utilities that allow rotation to occur - * around any axis. - * - * HISTORY: - * created by Linas Vepstas 1990 - * added single & double precision, June 1991, Linas Vepstas - */ - -#ifndef __GUTIL_H__ -#define __GUTIL_H__ - -#ifdef __GUTIL_DOUBLE -#define gutDouble double -#else -#define gutDouble float -#endif - - -#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (); -extern void rot_about_axis_f (); -extern void rot_omega_f (); -extern void urot_axis_f (); -extern void urot_about_axis_f (); -extern void urot_omega_f (); - -/* double-precision versions */ -extern void rot_axis_d (); -extern void rot_about_axis_d (); -extern void rot_omega_d (); -extern void urot_axis_d (); -extern void urot_about_axis_d (); -extern void urot_omega_d (); - -/* viewpoint functions */ -extern void uview_direction_d (); -extern void uview_direction_f (); -extern void uviewpoint_d (); -extern void uviewpoint_f (); - -#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ - -/* Rotation Utilities */ -extern void rot_axis_f (float omega, float axis[3]); -extern void rot_about_axis_f (float angle, float axis[3]); -extern void rot_omega_f (float axis[3]); -extern void urot_axis_f (float m[4][4], float omega, float axis[3]); -extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); -extern void urot_omega_f (float m[4][4], float axis[3]); - -/* double-precision versions */ -extern void rot_axis_d (double omega, double axis[3]); -extern void rot_about_axis_d (double angle, double axis[3]); -extern void rot_omega_d (double axis[3]); -extern void urot_axis_d (double m[4][4], double omega, double axis[3]); -extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); -extern void urot_omega_d (double m[4][4], double axis[3]); - -/* viewpoint functions */ -extern void uview_direction_d (double m[4][4], /* returned */ - double v21[3], /* input */ - double up[3]); /* input */ - -extern void uview_direction_f (float m[4][4], /* returned */ - float v21[3], /* input */ - float up[3]); /* input */ - -extern void uviewpoint_d (double m[4][4], /* returned */ - double v1[3], /* input */ - double v2[3], /* input */ - double up[3]); /* input */ - -extern void uviewpoint_f (float m[4][4], /* returned */ - float v1[3], /* input */ - float v2[3], /* input */ - float up[3]); /* input */ - -#endif /* _NO_PROTO */ - -#endif /* _GUTIL_H__ */ - -/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h deleted file mode 100755 index f5ff7a5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h +++ /dev/null @@ -1,391 +0,0 @@ -/* - * FUNCTION: - * This file contains a number of utilities useful to 3D graphics in - * general, and to the generation of tubing and extrusions in particular - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Updated to correctly handle degenerate cases, Linas, February 1993 - */ - -#include -#include "port.h" -#include "vvector.h" - -#define BACKWARDS_INTERSECT (2) - -/* ========================================================== */ -/* - * the Degenerate_Tolerance token represents the greatest amount by - * which different scales in a graphics environment can differ before - * they should be considered "degenerate". That is, when one vector is - * a million times longer than another, changces are that the second will - * be less than a pixel int, and therefore was probably meant to be - * degenerate (by the CAD package, etc.) But what should this tolerance - * be? At least 1 in onethousand (since screen sizes are 1K pixels), but - * les than 1 in 4 million (since this is the limit of single-precision - * floating point accuracy). Of course, if double precision were used, - * then the tolerance could be increased. - * - * Potentially, this naive assumption could cause problems if the CAD - * package attempts to zoom in on small details, and turns out, certain - * points should not hvae been degenerate. The problem presented here - * is that the tolerance could run out before single-precision ran - * out, and so the CAD packages would perceive this as a "bug". - * One alternative is to fiddle around & try to tighten the tolerance. - * However, the right alternative is to code the graphics pipeline in - * double-precision (and tighten the tolerance). - * - * By the way, note that Degernate Tolerance is a "dimensionless" - * quantitiy -- it has no units -- it does not measure feet, inches, - * millimeters or pixels. It is used only in the computations of ratios - * and relative lengths. - */ - -/* - * Right now, the tolerance is set to 2 parts in a million, which - * corresponds to a 19-bit distinction of mantissas. Note that - * single-precsion numbers have 24 bit mantissas. - */ - -#define DEGENERATE_TOLERANCE (0.000002) - -/* ========================================================== */ -/* - * The macro and subroutine INTERSECT are designed to compute the - * intersection of a line (defined by the points v1 and v2) and a plane - * (defined as plane which is normal to the vector n, and contains the - * point p). Both return the point sect, which is the point of - * interesection. - * - * This MACRO attemps to be fairly robust by checking for a divide by - * zero. - */ - -/* ========================================================== */ -/* - * HACK ALERT - * The intersection parameter t has the nice property that if t>1, - * then the intersection is "in front of" p1, and if t<0, then the - * intersection is "behind" p2. Unfortunately, as the intersecting plane - * and the line become parallel, t wraps through infinity -- i.e. t can - * become so large that t becomes "greater than infinity" and comes back - * as a negative number (i.e. winding number hopped by one unit). We - * have no way of detecting this situation without adding gazzillions - * of lines of code of topological algebra to detect the winding number; - * and this would be incredibly difficult, and ruin performance. - * - * Thus, we've installed a cheap hack for use by the "cut style" drawing - * routines. If t proves to be a large negative number (more negative - * than -5), then we assume that t was positive and wound through - * infinity. This makes most cuts look good, without introducing bogus - * cuts at infinity. - */ -/* ========================================================== */ - -#define INTERSECT(sect,p,n,v1,v2) \ -{ \ - gleDouble deno, numer, t, omt; \ - \ - deno = (v1[0] - v2[0]) * n[0]; \ - deno += (v1[1] - v2[1]) * n[1]; \ - deno += (v1[2] - v2[2]) * n[2]; \ - \ - if (deno == 0.0) { \ - VEC_COPY (n, v1); \ - /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ - } else { \ - \ - numer = (p[0] - v2[0]) * n[0]; \ - numer += (p[1] - v2[1]) * n[1]; \ - numer += (p[2] - v2[2]) * n[2]; \ - \ - t = numer / deno; \ - omt = 1.0 - t; \ - \ - sect[0] = t * v1[0] + omt * v2[0]; \ - sect[1] = t * v1[1] + omt * v2[1]; \ - sect[2] = t * v1[2] + omt * v2[2]; \ - } \ -} - -/* ========================================================== */ -/* - * The macro and subroutine BISECTING_PLANE compute a normal vector that - * describes the bisecting plane between three points (v1, v2 and v3). - * This bisecting plane has the following properties: - * 1) it contains the point v2 - * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it - * makes with v32 == v3 - v2 - * 3) it is perpendicular to the plane defined by v1, v2, v3. - * - * Having input v1, v2, and v3, it returns a unit vector n. - * - * In some cases, the user may specify degenerate points, and still - * expect "reasonable" or "obvious" behaviour. The "expected" - * behaviour for these degenerate cases is: - * - * 1) if v1 == v2 == v3, then return n=0 - * 2) if v1 == v2, then return v32 (normalized). - * 3) if v2 == v3, then return v21 (normalized). - * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). - * - * Mathematically, these special cases "make sense" -- we just have to - * code around potential divide-by-zero's in the code below. - */ - -/* ========================================================== */ - -#define BISECTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as bisector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ - (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ -/* - * The block of code below is ifdef'd out, and is here for reference - * purposes only. It performs the "mathematically right thing" for - * computing a bisecting plane, but is, unfortunately, subject ot noise - * in the presence of near degenerate points. Since computer graphics, - * due to sloppy coding, laziness, or correctness, is filled with - * degenerate points, we can't really use this version. The code above - * is far more appropriate for graphics. - */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define BISECTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double vdot; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 == 0.0) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as bisector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - } \ - \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - if (len32 == 0.0) { \ - /* return a normalized copy of v21 as bisector */ \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DOT_PRODUCT (vdot, v32, v21); \ - \ - /* if vdot == 1 or -1, then points are colinear */ \ - if ((vdot == 1.0) || (vdot == -1.0)) { \ - VEC_COPY (n, v21); \ - } else { \ - \ - /* go do the full computation */ \ - n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ - n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ - n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ - \ - /* if above if-test's passed, \ - * n should NEVER be of zero length */ \ - VEC_NORMALIZE (n); \ - } \ - } \ - } \ -} -#endif - -/* ========================================================== */ -/* - * This macro computes the plane perpendicular to the the plane - * defined by three points, and whose normal vector is givven as the - * difference between the two vectors ... - * - * (See way below for the "math" model if you want to understand this. - * The comments about relative errors above apply here.) - */ - -#define CUTTING_PLANE(valid,n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - double len21, len32; \ - double lendiff; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_LENGTH (len21, v21); \ - VEC_LENGTH (len32, v32); \ - \ - if (len21 <= DEGENERATE_TOLERANCE * len32) { \ - \ - if (len32 == 0.0) { \ - /* all three points lie ontop of one-another */ \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - /* return a normalized copy of v32 as cut-vector */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (n, len32, v32); \ - valid = TRUE; \ - } \ - \ - } else { \ - \ - valid = TRUE; \ - \ - if (len32 <= DEGENERATE_TOLERANCE * len21) { \ - /* return a normalized copy of v21 as cut vector */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (n, len21, v21); \ - } else { \ - \ - /* normalize v21 to be of unit length */ \ - len21 = 1.0 / len21; \ - VEC_SCALE (v21, len21, v21); \ - \ - /* normalize v32 to be of unit length */ \ - len32 = 1.0 / len32; \ - VEC_SCALE (v32, len32, v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_LENGTH (lendiff, n); \ - \ - /* if the perp vector is very small, then the two \ - * vectors are darn near collinear, and the cut \ - * vector is probably poorly defined. */ \ - if (lendiff < DEGENERATE_TOLERANCE) { \ - VEC_ZERO (n); \ - valid = FALSE; \ - } else { \ - lendiff = 1.0 / lendiff; \ - VEC_SCALE (n, lendiff, n); \ - } \ - } \ - } \ -} - -/* ========================================================== */ - -#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER -#define CUTTING_PLANE(n,v1,v2,v3) \ -{ \ - double v21[3], v32[3]; \ - \ - VEC_DIFF (v21, v2, v1); \ - VEC_DIFF (v32, v3, v2); \ - \ - VEC_NORMALIZE (v21); \ - VEC_NORMALIZE (v32); \ - \ - VEC_DIFF (n, v21, v32); \ - VEC_NORMALIZE (n); \ -} -#endif - - -/* ============================================================ */ -/* This macro is used in several places to cycle through a series of - * points to find the next non-degenerate point in a series */ - -#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ -{ \ - gleDouble slen; \ - gleDouble summa[3]; \ - \ - do { \ - /* get distance to next point */ \ - VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (len, diff); \ - VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ - VEC_LENGTH (slen, summa); \ - slen *= DEGENERATE_TOLERANCE; \ - inext ++; \ - } while ((len <= slen) && (inext < npoints-1)); \ -} - -/* ========================================================== */ - -extern int bisecting_plane (gleDouble n[3], /* returned */ - gleDouble v1[3], /* input */ - gleDouble v2[3], /* input */ - gleDouble v3[3]); /* input */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h deleted file mode 100755 index 2827bbf..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h +++ /dev/null @@ -1,298 +0,0 @@ - -/* - * port.h - * - * FUNCTION: - * This file contains defines for porting the tubing toolkit from GL to - * OpenGL to some callback scheme. - * - * HISTORY: - * Created by Linas Vepstas -- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - */ - -#ifndef __GLE_PORT_H__ -#define __GLE_PORT_H__ - - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -/* ====================================================== */ -/* Some compilers can't handle multiply-subscripted array's */ - -#ifdef FUNKY_C -typedef gleDouble gleVector; -#define AVAL(arr,n,i,j) arr(6*n+3*i+j) -#define VVAL(arr,n,i) arr(3*n+i) - -#else /* FUNKY_C */ -typedef double gleVector[3]; -typedef double glePoint[2]; -#define AVAL(arr,n,i,j) arr[n][i][j] -#define VVAL(arr,n,i) arr[n][i]; - -#endif /* FUNKY_C */ - -/* ====================================================== */ -/* These are used to convey info about topography to the - * texture mapping routines */ - -#define FRONT 1 -#define BACK 2 -#define FRONT_CAP 3 -#define BACK_CAP 4 -#define FILLET 5 - -/* ====================================================== */ - -#define __GLE_DOUBLE - -/* ====================================================== */ - -#ifdef __GLE_DOUBLE -#ifndef gleDouble - #define gleDouble double -#endif -#define urot_axis(a,b,c) urot_axis_d(a,b,c) -#define uview_direction(a,b,c) uview_direction_d(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_D(m) -#define LOADMATRIX(m) LOADMATRIX_D(m) -#define V3F(x,j,id) V3F_D(x,j,id) -#define N3F(x) N3F_D(x) -#define T2F(x,y) T2F_D(x,y) -#else -#define gleDouble float -#define urot_axis(a,b,c) urot_axis_f(a,b,c) -#define uview_direction(a,b,c) uview_direction_f(a,b,c) -#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) -#define MULTMATRIX(m) MULTMATRIX_F(m) -#define LOADMATRIX(m) LOADMATRIX_F(m) -#define V3F(x,j,id) V3F_F(x,j,id) -#define N3F(x) N3F_F(x) -#define T2F(x,y) T2F_F(x,y) -#endif - -/* ====================================================== */ - -#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) -#undef GL_32 -#undef OPENGL_10 - -#define BGNTMESH(i,len) printf ("bgntmesh() \n"); -#define ENDTMESH() printf ("endtmesh() \n"); -#define BGNPOLYGON() printf ("bgnpolygon() \n"); -#define ENDPOLYGON() printf ("endpolygon() \n"); -#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); -#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); -#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); - -#define POPMATRIX() printf ("popmatrix () \n"); -#define PUSHMATRIX() printf ("pushmatrix() \n"); -#define MULTMATRIX_F(x) MULTMATRIX_D(x) -#define LOADMATRIX_F(x) LOADMATRIX_D(x) - - -#define LOADMATRIX_D(x) { \ - int i, j; \ - printf ("loadmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - printf ("multmatrix (x) \n"); \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ( "%f ", x[i][j]); \ - } \ - printf (" \n"); \ - } \ -} - -#define __IS_LIGHTING_ON (1) - -#endif - -/* ====================================================== */ - -#ifdef GL_32 - -#include - -#define BGNTMESH(i,len) bgntmesh() -#define ENDTMESH() endtmesh() -#define BGNPOLYGON() bgnpolygon() -#define ENDPOLYGON() endpolygon() -#define V3F_F(x,j,id) v3f(x) -#define V3F_D(x,j,id) v3d(x) -#define N3F_F(x) n3f(x) -#define T2F_F(x,y) -#define T2F_D(x,y) -#define C3F(x) c3f(x) - -#define POPMATRIX() popmatrix () -#define PUSHMATRIX() pushmatrix() -#define MULTMATRIX_F(x) multmatrix (x) -#define LOADMATRIX_F(x) loadmatrix (x) - -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = (float) x[0]; \ - nnn[1] = (float) x[1]; \ - nnn[2] = (float) x[2]; \ - n3f (nnn); \ -} - -#define LOADMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - loadmatrix(mmm); \ -} - -#define MULTMATRIX_D(x) { \ - int i, j; \ - float mmm[4][4]; \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - mmm[i][j] = (float) x[i][j]; \ - } \ - } \ - multmatrix(mmm); \ -} - -/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ -#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) - -#endif /* GL_32 */ - -/* ====================================================== */ -#ifdef OPENGL_10 - -#if defined(_WIN32) -#include -#pragma warning (disable:4244) /* disable bogus conversion warnings */ -#endif -#include -#include - -/* -#define N3F_F(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -#define N3F_D(x) { \ - float nnn[3]; \ - nnn[0] = - (float) x[0]; \ - nnn[1] = - (float) x[1]; \ - nnn[2] = - (float) x[2]; \ - glNormal3fv (nnn); \ -} -*/ - -#define C3F(x) glColor3fv(x) -#define T2F_F(x,y) glTexCoord2f(x,y) -#define T2F_D(x,y) glTexCoord2d(x,y) - -#define POPMATRIX() glPopMatrix() -#define PUSHMATRIX() glPushMatrix() - -#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) -#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) - -#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) -#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) - -#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) - -/* ====================================================== */ -#ifdef AUTO_TEXTURE - -#define BGNTMESH(i,len) { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ - glBegin (GL_TRIANGLE_STRIP); \ -} - -#define BGNPOLYGON() { \ - if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ - glBegin (GL_POLYGON); \ -} - -#define N3F_F(x) { \ - if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ - glNormal3fv(x); \ -} - -#define N3F_D(x) { \ - if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ - glNormal3dv(x); \ -} - -#define V3F_F(x,j,id) { \ - if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ - glVertex3fv(x); \ -} - -#define V3F_D(x,j,id) { \ - if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ - glVertex3dv(x); \ -} - -#define ENDTMESH() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -#define ENDPOLYGON() { \ - if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ - glEnd (); \ -} - -/* ====================================================== */ -#else /* AUTO_TEXTURE */ - -#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); -#define BGNPOLYGON() glBegin (GL_POLYGON); - -#define N3F_F(x) glNormal3fv(x) -#define N3F_D(x) glNormal3dv(x) -#define V3F_F(x,j,id) glVertex3fv(x); -#define V3F_D(x,j,id) glVertex3dv(x); - -#define ENDTMESH() glEnd () -#define ENDPOLYGON() glEnd() - -#endif /* AUTO_TEXTURE */ - -#endif /* OPENGL_10 */ - -/* ====================================================== */ - - -#endif /* __GLE_PORT_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h deleted file mode 100755 index 91083e9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * rot.h - * - * FUNCTION: - * rotation matrix utilities - * - * HISTORY: - * Linas Vepstas Aug 1990 - */ - -/* ========================================================== */ -/* - * The MACROS below generate and return more traditional rotation - * matrices -- matrices for rotations about principal axes. - */ -/* ========================================================== */ - -#define ROTX_CS(m,cosine,sine) \ -{ \ - /* rotation about the x-axis */ \ - \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = (cosine); \ - m[1][2] = (sine); \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = -(sine); \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTY_CS(m,cosine,sine) \ -{ \ - /* rotation about the y-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = 0.0; \ - m[0][2] = -(sine); \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = (sine); \ - m[2][1] = 0.0; \ - m[2][2] = (cosine); \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ - -#define ROTZ_CS(m,cosine,sine) \ -{ \ - /* rotation about the z-axis */ \ - \ - m[0][0] = (cosine); \ - m[0][1] = (sine); \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = -(sine); \ - m[1][1] = (cosine); \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h deleted file mode 100755 index 8d1cf04..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * MODULE: segment.h - * - * FUNCTION: - * Contains function prototypes for segment drawing subroutines. - * These are used only internally, and are not to be exported to - * the user. - * - * HISTORY: - * Create by Linas Vepstas - * Added tube.h include to define gleDouble, tad February 2002 - */ - -/* ============================================================ */ - -#include "tube.h" - -extern void draw_segment_plain (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - int inext, double len); - -extern void draw_segment_color (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_edge_n (int ncp, /* number of contour points */ - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_edge_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_segment_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - int inext, double len); - -extern void draw_segment_c_and_facet_n (int ncp, - gleDouble front_contour[][3], - gleDouble back_contour[][3], - double norm_cont[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -/* ============================================================ */ - -extern void draw_binorm_segment_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_edge_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_binorm_segment_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - int inext, double len); - -extern void draw_binorm_segment_c_and_facet_n (int ncp, - double front_contour[][3], - double back_contour[][3], - double front_norm[][3], - double back_norm[][3], - float color_last[3], - float color_next[3], - int inext, double len); - -extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ - gleDouble bi[3], /* biscetor */ - gleDouble point_array[][3]); /* polyline */ - -/* -------------------------- end of file -------------------------------- */ - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h deleted file mode 100755 index c303e19..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * tube.h - * - * FUNCTION: - * Tubing and Extrusion header file. - * This file provides protypes and defines for the extrusion - * and tubing primitives. - * - * HISTORY: - * Linas Vepstas 1990, 1991 - */ - -#ifndef __TUBE_H__ -#define __TUBE_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - GLE API revision history: - - GLE_API_VERSION is updated to reflect GLE API changes (interface - changes, semantic changes, deletions, or additions). - - GLE_API_VERSION=228 GLUT 3.7 release of GLE. -**/ -#ifndef GLE_API_VERSION /* allow this to be overriden */ -#define GLE_API_VERSION 228 -#endif - -/* some types */ -#ifndef gleDouble - #define gleDouble double -#endif -typedef gleDouble gleAffine[2][3]; - -/* ====================================================== */ - -/* defines for tubing join styles */ -#define TUBE_JN_RAW 0x1 -#define TUBE_JN_ANGLE 0x2 -#define TUBE_JN_CUT 0x3 -#define TUBE_JN_ROUND 0x4 -#define TUBE_JN_MASK 0xf /* mask bits */ -#define TUBE_JN_CAP 0x10 - -/* determine how normal vectors are to be handled */ -#define TUBE_NORM_FACET 0x100 -#define TUBE_NORM_EDGE 0x200 -#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ -#define TUBE_NORM_MASK 0xf00 /* mask bits */ - -/* closed or open countours */ -#define TUBE_CONTOUR_CLOSED 0x1000 - -#define GLE_TEXTURE_ENABLE 0x10000 -#define GLE_TEXTURE_STYLE_MASK 0xff -#define GLE_TEXTURE_VERTEX_FLAT 1 -#define GLE_TEXTURE_NORMAL_FLAT 2 -#define GLE_TEXTURE_VERTEX_CYL 3 -#define GLE_TEXTURE_NORMAL_CYL 4 -#define GLE_TEXTURE_VERTEX_SPH 5 -#define GLE_TEXTURE_NORMAL_SPH 6 -#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 -#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 -#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 -#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 -#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 -#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 - -#ifdef GL_32 -/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ -#define TUBE_LIGHTING_ON 0x80000000 - -#define gleExtrusion extrusion -#define gleSetJoinStyle setjoinstyle -#define gleGetJoinStyle getjoinstyle -#define glePolyCone polycone -#define glePolyCylinder polycylinder -#define gleSuperExtrusion super_extrusion -#define gleTwistExtrusion twist_extrusion -#define gleSpiral spiral -#define gleLathe lathe -#define gleHelicoid helicoid -#define gleToroid toroid -#define gleScrew screw - -#endif /* GL_32 */ - -extern int gleGetJoinStyle (void); -extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ -extern int gleGetNumSlices(void); -extern void gleSetNumSlices(int slices); - -/* draw polyclinder, specified as a polyline */ -extern void glePolyCylinder (int npoints, /* num points in polyline */ - gleDouble point_array[][3], /* polyline vertces */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius); /* radius of polycylinder */ - -/* draw polycone, specified as a polyline with radii */ -extern void glePolyCone (int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* colors at polyline verts */ - gleDouble radius_array[]); /* cone radii at polyline verts */ - -/* extrude arbitrary 2D contour along arbitrary 3D path */ -extern void gleExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3]); /* colors at polyline verts */ - -/* extrude 2D contour, specifying local rotations (twists) */ -extern void gleTwistExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble twist_array[]); /* countour twists (in degrees) */ - -/* extrude 2D contour, specifying local affine tranformations */ -extern void gleSuperExtrusion (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - int npoints, /* numpoints in poly-line */ - gleDouble point_array[][3], /* polyline vertices */ - float color_array[][3], /* color at polyline verts */ - gleDouble xform_array[][2][3]); /* 2D contour xforms */ - -/* spiral moves contour along helical path by parallel transport */ -extern void gleSpiral (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* lathe moves contour along helical path by helically shearing 3D space */ -extern void gleLathe (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to spiral, except contour is a circle */ -extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* similar to lathe, except contour is a circle */ -extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ - gleDouble startRadius, /* spiral starts in x-y plane */ - gleDouble drdTheta, /* change in radius per revolution */ - gleDouble startZ, /* starting z value */ - gleDouble dzdTheta, /* change in Z per revolution */ - gleDouble startXform[2][3], /* starting contour affine xform */ - gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ - gleDouble startTheta, /* start angle in x-y plane */ - gleDouble sweepTheta); /* degrees to spiral around */ - -/* draws a screw shape */ -extern void gleScrew (int ncp, /* number of contour points */ - gleDouble contour[][2], /* 2D contour */ - gleDouble cont_normal[][2], /* 2D contour normals */ - gleDouble up[3], /* up vector for contour */ - gleDouble startz, /* start of segment */ - gleDouble endz, /* end of segment */ - gleDouble twist); /* number of rotations */ - -extern void gleTextureMode (int mode); - -#ifdef __cplusplus -} - -#endif -#endif /* __TUBE_H__ */ -/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h deleted file mode 100755 index ccd2853..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* - * tube_gc.h - * - * FUNCTION: - * This file allows for easy changes to changes in the way the extrusion - * library handles state info (i.e. context). - * - * HISTORY: - * Linas Vepstas --- February 1993 - * Added auto texture coord generation hacks, Linas April 1994 - * Added tube.h include to define gleDouble, tad February 2002 - */ - -#include "tube.h" -#include "port.h" /* for gleVector */ - -typedef float gleColor[3]; -typedef double gleTwoVec[2]; - -typedef struct { - - /* public methods */ - void (*bgn_gen_texture) (int, double); - void (*n3f_gen_texture) (float *); - void (*n3d_gen_texture) (double *); - void (*v3f_gen_texture) (float *, int, int); - void (*v3d_gen_texture) (double *, int, int); - void (*end_gen_texture) (void); - - /* protected members -- "general knowledge" stuff */ - int join_style; - - /* arguments passed into extrusion code */ - int ncp; /* number of contour points */ - gleTwoVec *contour; /* 2D contour */ - gleTwoVec *cont_normal; /* 2D contour normals */ - gleDouble *up; /* up vector */ - int npoints; /* number of points in polyline */ - gleVector *point_array; /* path */ - gleColor *color_array; /* path colors */ - gleAffine *xform_array; /* contour xforms */ - - /* private members, used by texturing code */ - int num_vert; - int segment_number; - double segment_length; - double accum_seg_len; - double prev_x; - double prev_y; - - void (*save_bgn_gen_texture) (int, double); - void (*save_n3f_gen_texture) (float *); - void (*save_n3d_gen_texture) (double *); - void (*save_v3f_gen_texture) (float *, int, int); - void (*save_v3d_gen_texture) (double *, int, int); - void (*save_end_gen_texture) (void); - -} gleGC; - -extern gleGC *_gle_gc; -extern gleGC * gleCreateGC (void); - -#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } -#define extrusion_join_style (_gle_gc->join_style) - -#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) -#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) -#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) -#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) - -#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) -#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) -#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) -#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) -#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) - -/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h deleted file mode 100755 index b58dcd6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h +++ /dev/null @@ -1,1339 +0,0 @@ - -/* - * vvector.h - * - * FUNCTION: - * This file contains a number of utilities useful for handling - * 3D vectors - * - * HISTORY: - * Written by Linas Vepstas, August 1991 - * Added 2D code, March 1993 - * Added Outer products, C++ proofed, Linas Vepstas October 1993 - */ - -#ifndef __GUTIL_VECTOR_H__ -#define __GUTIL_VECTOR_H__ - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - - -#include -#include "port.h" - -/* ========================================================== */ -/* Zero out a 2D vector */ - -#define VEC_ZERO_2(a) \ -{ \ - (a)[0] = (a)[1] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 3D vector */ - -#define VEC_ZERO(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = 0.0; \ -} - -/* ========================================================== */ -/* Zero out a 4D vector */ - -#define VEC_ZERO_4(a) \ -{ \ - (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ -} - -/* ========================================================== */ -/* Vector copy */ - -#define VEC_COPY_2(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ -} - -/* ========================================================== */ -/* Copy 3D vector */ - -#define VEC_COPY(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ -} - -/* ========================================================== */ -/* Copy 4D vector */ - -#define VEC_COPY_4(b,a) \ -{ \ - (b)[0] = (a)[0]; \ - (b)[1] = (a)[1]; \ - (b)[2] = (a)[2]; \ - (b)[3] = (a)[3]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector difference */ - -#define VEC_DIFF_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] - (v1)[0]; \ - (v21)[1] = (v2)[1] - (v1)[1]; \ - (v21)[2] = (v2)[2] - (v1)[2]; \ - (v21)[3] = (v2)[3] - (v1)[3]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_2(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ -} - -/* ========================================================== */ -/* Vector sum */ - -#define VEC_SUM_4(v21,v2,v1) \ -{ \ - (v21)[0] = (v2)[0] + (v1)[0]; \ - (v21)[1] = (v2)[1] + (v1)[1]; \ - (v21)[2] = (v2)[2] + (v1)[2]; \ - (v21)[3] = (v2)[3] + (v1)[3]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_2(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* scalar times vector */ - -#define VEC_SCALE_4(c,a,b) \ -{ \ - (c)[0] = (a)*(b)[0]; \ - (c)[1] = (a)*(b)[1]; \ - (c)[2] = (a)*(b)[2]; \ - (c)[3] = (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_2(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ -} - -/* ========================================================== */ -/* accumulate scaled vector */ - -#define VEC_ACCUM_4(c,a,b) \ -{ \ - (c)[0] += (a)*(b)[0]; \ - (c)[1] += (a)*(b)[1]; \ - (c)[2] += (a)*(b)[2]; \ - (c)[3] += (a)*(b)[3]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_2(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ -} - -/* ========================================================== */ -/* Vector dot product */ - -#define VEC_DOT_PRODUCT_4(c,a,b) \ -{ \ - c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ -} - -/* ========================================================== */ -/* vector impact parameter (squared) */ - -#define VEC_IMPACT_SQ(bsq,direction,position) \ -{ \ - gleDouble vlen, llel; \ - VEC_DOT_PRODUCT (vlen, position, position); \ - VEC_DOT_PRODUCT (llel, direction, position); \ - bsq = vlen - llel*llel; \ -} - -/* ========================================================== */ -/* vector impact parameter */ - -#define VEC_IMPACT(bsq,direction,position) \ -{ \ - VEC_IMPACT_SQ(bsq,direction,position); \ - bsq = sqrt (bsq); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_2(vlen,a) \ -{ \ - vlen = a[0]*a[0] + a[1]*a[1]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_LENGTH_4(vlen,a) \ -{ \ - vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ - vlen += (a)[2]*(a)[2]; \ - vlen += (a)[3] * (a)[3]; \ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* distance between two points */ - -#define VEC_DISTANCE(vlen,va,vb) \ -{ \ - gleDouble tmp[4]; \ - VEC_DIFF (tmp, vb, va); \ - VEC_LENGTH (vlen, tmp); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_CONJUGATE_LENGTH(vlen,a) \ -{ \ - vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ - vlen = sqrt (vlen); \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_NORMALIZE(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = 1.0 / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* Vector length */ - -#define VEC_RENORMALIZE(a,newlen) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen,a); \ - if (vlen != 0.0) { \ - vlen = newlen / vlen; \ - a[0] *= vlen; \ - a[1] *= vlen; \ - a[2] *= vlen; \ - } \ -} - -/* ========================================================== */ -/* 3D Vector cross product yeilding vector */ - -#define VEC_CROSS_PRODUCT(c,a,b) \ -{ \ - c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ - c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ - c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ -} - -/* ========================================================== */ -/* Vector perp -- assumes that n is of unit length - * accepts vector v, subtracts out any component parallel to n */ - -#define VEC_PERP(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (v)[0] - (vdot) * (n)[0]; \ - vp[1] = (v)[1] - (vdot) * (n)[1]; \ - vp[2] = (v)[2] - (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector parallel -- assumes that n is of unit length - * accepts vector v, subtracts out any component perpendicular to n */ - -#define VEC_PARALLEL(vp,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vp[0] = (vdot) * (n)[0]; \ - vp[1] = (vdot) * (n)[1]; \ - vp[2] = (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector reflection -- assumes n is of unit length */ -/* Takes vector v, reflects it against reflector n, and returns vr */ - -#define VEC_REFLECT(vr,v,n) \ -{ \ - double vdot; \ - \ - VEC_DOT_PRODUCT (vdot, v, n); \ - vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ - vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ - vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ -} - -/* ========================================================== */ -/* Vector blending */ -/* Takes two vectors a, b, blends them together */ - -#define VEC_BLEND(vr,sa,a,sb,b) \ -{ \ - \ - vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ - vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ - vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_2(a) \ -{ \ - double vlen; \ - VEC_LENGTH_2 (vlen, a); \ - printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT(a) \ -{ \ - double vlen; \ - VEC_LENGTH (vlen, (a)); \ - printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ -} - -/* ========================================================== */ -/* Vector print */ - -#define VEC_PRINT_4(a) \ -{ \ - double vlen; \ - VEC_LENGTH_4 (vlen, (a)); \ - printf (" a is %f %f %f %f length of a is %f \n", \ - (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_4X4(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<4; i++) { \ - for (j=0; j<4; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_3X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<3; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* print matrix */ - -#define MAT_PRINT_2X3(mmm) { \ - int i,j; \ - printf ("matrix mmm is \n"); \ - if (mmm == NULL) { \ - printf (" Null \n"); \ - } else { \ - for (i=0; i<2; i++) { \ - for (j=0; j<3; j++) { \ - printf ("%f ", mmm[i][j]); \ - } \ - printf (" \n"); \ - } \ - } \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_3X3(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ -} - -/* ========================================================== */ -/* initialize matrix */ - -#define IDENTIFY_MATRIX_4X4(m) \ -{ \ - m[0][0] = 1.0; \ - m[0][1] = 0.0; \ - m[0][2] = 0.0; \ - m[0][3] = 0.0; \ - \ - m[1][0] = 0.0; \ - m[1][1] = 1.0; \ - m[1][2] = 0.0; \ - m[1][3] = 0.0; \ - \ - m[2][0] = 0.0; \ - m[2][1] = 0.0; \ - m[2][2] = 1.0; \ - m[2][3] = 0.0; \ - \ - m[3][0] = 0.0; \ - m[3][1] = 0.0; \ - m[3][2] = 0.0; \ - m[3][3] = 1.0; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_2X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix copy */ - -#define COPY_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[0][1]; \ - b[0][2] = a[0][2]; \ - b[0][3] = a[0][3]; \ - \ - b[1][0] = a[1][0]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[1][2]; \ - b[1][3] = a[1][3]; \ - \ - b[2][0] = a[2][0]; \ - b[2][1] = a[2][1]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[2][3]; \ - \ - b[3][0] = a[3][0]; \ - b[3][1] = a[3][1]; \ - b[3][2] = a[3][2]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_2X2(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_3X3(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ -} - -/* ========================================================== */ -/* matrix transpose */ - -#define TRANSPOSE_MATRIX_4X4(b,a) \ -{ \ - b[0][0] = a[0][0]; \ - b[0][1] = a[1][0]; \ - b[0][2] = a[2][0]; \ - b[0][3] = a[3][0]; \ - \ - b[1][0] = a[0][1]; \ - b[1][1] = a[1][1]; \ - b[1][2] = a[2][1]; \ - b[1][3] = a[3][1]; \ - \ - b[2][0] = a[0][2]; \ - b[2][1] = a[1][2]; \ - b[2][2] = a[2][2]; \ - b[2][3] = a[3][2]; \ - \ - b[3][0] = a[0][3]; \ - b[3][1] = a[1][3]; \ - b[3][2] = a[2][3]; \ - b[3][3] = a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] = (s) * a[0][0]; \ - b[0][1] = (s) * a[0][1]; \ - b[0][2] = (s) * a[0][2]; \ - b[0][3] = (s) * a[0][3]; \ - \ - b[1][0] = (s) * a[1][0]; \ - b[1][1] = (s) * a[1][1]; \ - b[1][2] = (s) * a[1][2]; \ - b[1][3] = (s) * a[1][3]; \ - \ - b[2][0] = (s) * a[2][0]; \ - b[2][1] = (s) * a[2][1]; \ - b[2][2] = (s) * a[2][2]; \ - b[2][3] = (s) * a[2][3]; \ - \ - b[3][0] = s * a[3][0]; \ - b[3][1] = s * a[3][1]; \ - b[3][2] = s * a[3][2]; \ - b[3][3] = s * a[3][3]; \ -} - -/* ========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ -} - -/* +========================================================== */ -/* multiply matrix by scalar */ - -#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ -{ \ - b[0][0] += (s) * a[0][0]; \ - b[0][1] += (s) * a[0][1]; \ - b[0][2] += (s) * a[0][2]; \ - b[0][3] += (s) * a[0][3]; \ - \ - b[1][0] += (s) * a[1][0]; \ - b[1][1] += (s) * a[1][1]; \ - b[1][2] += (s) * a[1][2]; \ - b[1][3] += (s) * a[1][3]; \ - \ - b[2][0] += (s) * a[2][0]; \ - b[2][1] += (s) * a[2][1]; \ - b[2][2] += (s) * a[2][2]; \ - b[2][3] += (s) * a[2][3]; \ - \ - b[3][0] += (s) * a[3][0]; \ - b[3][1] += (s) * a[3][1]; \ - b[3][2] += (s) * a[3][2]; \ - b[3][3] += (s) * a[3][3]; \ -} - -/* +========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_2X2(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ - \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_3X3(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ -} - -/* ========================================================== */ -/* matrix product */ -/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ - -#define MATRIX_PRODUCT_4X4(c,a,b) \ -{ \ - c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ - c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ - c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ - c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ - \ - c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ - c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ - c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ - c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ - \ - c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ - c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ - c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ - c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ - \ - c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ - c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ - c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ - c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_3X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ -} - -/* ========================================================== */ -/* matrix times vector */ - -#define MAT_DOT_VEC_4X4(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ - p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ - p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ -} - -/* ========================================================== */ -/* vector transpose times matrix */ -/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ - -#define VEC_DOT_MAT_3X3(p,v,m) \ -{ \ - p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ - p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ - p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ -} - -/* ========================================================== */ -/* affine matrix times vector */ -/* The matrix is assumed to be an affine matrix, with last two - * entries representing a translation */ - -#define MAT_DOT_VEC_2X3(p,m,v) \ -{ \ - p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ - p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ -} - -/* ========================================================== */ -/* inverse transpose of matrix times vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * - * DANGER !!! Do Not use this on normal vectors!!! - * It will leave normals the wrong length !!! - * See macro below for use on normals. - */ - -#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ -{ \ - gleDouble det; \ - \ - det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - /* if matrix not singular, and not orthonormal, then renormalize */ \ - if ((det!=1.0) && (det != 0.0)) { \ - det = 1.0 / det; \ - p[0] *= det; \ - p[1] *= det; \ - } \ -} - -/* ========================================================== */ -/* transform normal vector by inverse transpose of matrix - * and then renormalize the vector - * - * This macro computes inverse transpose of matrix m, - * and multiplies vector v into it, to yeild vector p - * Vector p is then normalized. - */ - - -#define NORM_XFORM_2X2(p,m,v) \ -{ \ - double mlen; \ - \ - /* do nothing if off-diagonals are zero and diagonals are \ - * equal */ \ - if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ - p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ - p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ - \ - mlen = p[0]*p[0] + p[1]*p[1]; \ - mlen = 1.0 / sqrt (mlen); \ - p[0] *= mlen; \ - p[1] *= mlen; \ - } else { \ - VEC_COPY_2 (p, v); \ - } \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ -} - -/* ========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] = v[0] * t[0]; \ - m[0][1] = v[0] * t[1]; \ - m[0][2] = v[0] * t[2]; \ - m[0][3] = v[0] * t[3]; \ - \ - m[1][0] = v[1] * t[0]; \ - m[1][1] = v[1] * t[1]; \ - m[1][2] = v[1] * t[2]; \ - m[1][3] = v[1] * t[3]; \ - \ - m[2][0] = v[2] * t[0]; \ - m[2][1] = v[2] * t[1]; \ - m[2][2] = v[2] * t[2]; \ - m[2][3] = v[2] * t[3]; \ - \ - m[3][0] = v[3] * t[0]; \ - m[3][1] = v[3] * t[1]; \ - m[3][2] = v[3] * t[2]; \ - m[3][3] = v[3] * t[3]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ -} - -/* +========================================================== */ -/* outer product of vector times vector transpose - * - * The outer product of vector v and vector transpose t yeilds - * dyadic matrix m. - */ - -#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ -{ \ - m[0][0] += v[0] * t[0]; \ - m[0][1] += v[0] * t[1]; \ - m[0][2] += v[0] * t[2]; \ - m[0][3] += v[0] * t[3]; \ - \ - m[1][0] += v[1] * t[0]; \ - m[1][1] += v[1] * t[1]; \ - m[1][2] += v[1] * t[2]; \ - m[1][3] += v[1] * t[3]; \ - \ - m[2][0] += v[2] * t[0]; \ - m[2][1] += v[2] * t[1]; \ - m[2][2] += v[2] * t[2]; \ - m[2][3] += v[2] * t[3]; \ - \ - m[3][0] += v[3] * t[0]; \ - m[3][1] += v[3] * t[1]; \ - m[3][2] += v[3] * t[2]; \ - m[3][3] += v[3] * t[3]; \ -} - -/* +========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_2X2(d,m) \ -{ \ - d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ -} - -/* ========================================================== */ -/* determinant of matrix - * - * Computes determinant of matrix m, returning d - */ - -#define DETERMINANT_3X3(d,m) \ -{ \ - d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ - d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ - d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ -} - -/* ========================================================== */ -/* i,j,th cofactor of a 4x4 matrix - * - */ - -#define COFACTOR_4X4_IJ(fac,m,i,j) \ -{ \ - int ii[4], jj[4], k; \ - \ - /* compute which row, columnt to skip */ \ - for (k=0; k - - - - IBDocumentLocation - 4 104 410 240 0 0 1152 848 - IBEditorPositions - - 29 - 19 615 246 44 0 0 1152 848 - - IBFramework Version - 291.0 - IBGroupedObjects - - IBLastGroupID - 1 - IBOpenObjects - - 29 - - IBSystem Version - 6I32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib deleted file mode 100644 index 8a7140e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib deleted file mode 100755 index 7e85eb1..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib +++ /dev/null @@ -1,13 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = {toggleWindow = id; }; - CLASS = GLUTClipboardController; - LANGUAGE = ObjC; - OUTLETS = {_infoText = id; _scrollView = id; }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib deleted file mode 100755 index 867735d..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib +++ /dev/null @@ -1,12 +0,0 @@ - - - - - IBDocumentLocation - 63 221 356 240 0 0 1600 1178 - IBFramework Version - 263.2 - IBSystem Version - 5S41 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib deleted file mode 100644 index 29125d4..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib deleted file mode 100755 index c675963..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib +++ /dev/null @@ -1,73 +0,0 @@ -{ - IBClasses = ( - { - ACTIONS = {save = id; saveAs = id; }; - CLASS = FirstResponder; - LANGUAGE = ObjC; - SUPERCLASS = NSObject; - }, - { - ACTIONS = { - cancel = id; - joyAssign = id; - joyDevice = id; - joyElement = id; - joyInvert = id; - launchDebugMode = id; - launchGamemodeCaptureSingle = id; - launchIconic = id; - launchUseCurrWD = id; - launchUseExtDesktop = id; - launchUseMacOSCoords = id; - mouseEanbleEmulation = id; - mouseMiddleMenu = id; - mouseRightMenu = id; - ok = id; - spaceAssign = id; - spaceDevice = id; - spaceElement = id; - spaceInvert = id; - }; - CLASS = GLUTPreferencesController; - LANGUAGE = ObjC; - OUTLETS = { - joyAssign = NSButton; - joyAssignNote = NSTextField; - joyAssignWarningIcon = NSImageView; - joyDeviceMenu = NSPopUpButton; - joyElement = NSTextField; - joyInputMenu = NSPopUpButton; - joyInverted = NSButton; - launchDebugMode = NSButton; - launchFadeTime = NSTextField; - launchGamemodeCaptureSingle = NSButton; - launchIconic = NSButton; - launchInitHeight = NSTextField; - launchInitWidth = NSTextField; - launchInitX = NSTextField; - launchInitY = NSTextField; - launchMenuIdle = NSTextField; - launchSyncToVBL = NSButton; - launchUseCurrWD = NSButton; - launchUseExtendedDesktop = NSButton; - launchUseMacOSXCoords = NSButton; - mouseAssignWarningIcon = NSImageView; - mouseAssignWarningText = NSTextField; - mouseDetected = NSTextField; - mouseEmulation = NSButton; - mouseMiddleConfigMenu = NSPopUpButton; - mouseRightConfigMenu = NSPopUpButton; - prefsTabView = NSTabView; - spaceAssign = NSButton; - spaceAssignNote = NSTextField; - spaceAssignWarningIcon = NSImageView; - spaceDeviceMenu = NSPopUpButton; - spaceElement = NSTextField; - spaceInputMenu = NSPopUpButton; - spaceInverted = NSButton; - }; - SUPERCLASS = NSWindowController; - } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib deleted file mode 100755 index 216c8dc..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib +++ /dev/null @@ -1,16 +0,0 @@ - - - - - IBDocumentLocation - 16 329 410 240 0 0 1920 1178 - IBFramework Version - 439.0 - IBOpenObjects - - 205 - - IBSystem Version - 8G32 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib deleted file mode 100644 index 7598f2c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings deleted file mode 100644 index 6db3c5c..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index 6f78b89..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist deleted file mode 100755 index e8fc9d6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - GLUT - CFBundleGetInfoString - 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved - CFBundleIdentifier - com.apple.glut - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.4.0 - CFBundleSignature - ???? - CFBundleVersion - GLUT-3.4.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff deleted file mode 100755 index a2b0cf1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff deleted file mode 100755 index c3f4795..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff deleted file mode 100755 index 274529f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff deleted file mode 100755 index dec4252..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff deleted file mode 100755 index 8536c0e..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff deleted file mode 100755 index 34b52f6..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff deleted file mode 100755 index 9e3a1cb..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff deleted file mode 100755 index 0087c66..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff deleted file mode 100755 index fc4a88a..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff deleted file mode 100755 index 852b69b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff deleted file mode 100755 index 37fe393..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff deleted file mode 100755 index d852616..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff deleted file mode 100755 index 9781f22..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff deleted file mode 100755 index 9bec966..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff deleted file mode 100755 index e4df0de..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff deleted file mode 100755 index 43cf97f..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff deleted file mode 100755 index 429b01b..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff deleted file mode 100755 index 1605063..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff deleted file mode 100755 index 81ba1aa..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Info.plist deleted file mode 100644 index 6faf4d2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - BuildMachineOSBuild - 10K540 - CFBundleDevelopmentRegion - English - CFBundleExecutable - emptyExampleDebug - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - DTCompiler - - DTPlatformBuild - 10M2518 - DTPlatformVersion - PG - DTSDKBuild - 10K540 - DTSDKName - - DTXcode - 0400 - DTXcodeBuild - 10M2518 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug deleted file mode 100755 index 392edf7..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib deleted file mode 100644 index bea90a1..0000000 Binary files a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib and /dev/null differ diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/PkgInfo b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/PkgInfo deleted file mode 100644 index bd04210..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/bin/emptyExampleDebug.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/emptyExample.xcodeproj/project.pbxproj b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/emptyExample.xcodeproj/project.pbxproj deleted file mode 100644 index 5ca427f..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/emptyExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,602 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 8DF1A08C1404702E00148E3B /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0801404702E00148E3B /* fft.cpp */; }; - 8DF1A08D1404702E00148E3B /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0821404702E00148E3B /* maxiFFT.cpp */; }; - 8DF1A08E1404702E00148E3B /* maxiGrains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0841404702E00148E3B /* maxiGrains.cpp */; }; - 8DF1A08F1404702E00148E3B /* maxiMFCC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0861404702E00148E3B /* maxiMFCC.cpp */; }; - 8DF1A0901404702E00148E3B /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8DF1A0881404702E00148E3B /* maximilian.cpp */; }; - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 8DF1A07E1404702E00148E3B /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 8DF1A0801404702E00148E3B /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 8DF1A0811404702E00148E3B /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 8DF1A0821404702E00148E3B /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 8DF1A0831404702E00148E3B /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 8DF1A0841404702E00148E3B /* maxiGrains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiGrains.cpp; sourceTree = ""; }; - 8DF1A0851404702E00148E3B /* maxiGrains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiGrains.h; sourceTree = ""; }; - 8DF1A0861404702E00148E3B /* maxiMFCC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiMFCC.cpp; sourceTree = ""; }; - 8DF1A0871404702E00148E3B /* maxiMFCC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiMFCC.h; sourceTree = ""; }; - 8DF1A0881404702E00148E3B /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 8DF1A0891404702E00148E3B /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 8DF1A08B1404702E00148E3B /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 8DF1A07D1404702E00148E3B /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 8DF1A07E1404702E00148E3B /* install.xml */, - 8DF1A07F1404702E00148E3B /* libs */, - 8DF1A08A1404702E00148E3B /* src */, - ); - path = ofxMaxim; - sourceTree = ""; - }; - 8DF1A07F1404702E00148E3B /* libs */ = { - isa = PBXGroup; - children = ( - 8DF1A0801404702E00148E3B /* fft.cpp */, - 8DF1A0811404702E00148E3B /* fft.h */, - 8DF1A0821404702E00148E3B /* maxiFFT.cpp */, - 8DF1A0831404702E00148E3B /* maxiFFT.h */, - 8DF1A0841404702E00148E3B /* maxiGrains.cpp */, - 8DF1A0851404702E00148E3B /* maxiGrains.h */, - 8DF1A0861404702E00148E3B /* maxiMFCC.cpp */, - 8DF1A0871404702E00148E3B /* maxiMFCC.h */, - 8DF1A0881404702E00148E3B /* maximilian.cpp */, - 8DF1A0891404702E00148E3B /* maximilian.h */, - ); - path = libs; - sourceTree = ""; - }; - 8DF1A08A1404702E00148E3B /* src */ = { - isa = PBXGroup; - children = ( - 8DF1A08B1404702E00148E3B /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - BB4B014C10F69532006C3DED /* addons */ = { - isa = PBXGroup; - children = ( - 8DF1A07D1404702E00148E3B /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - BBAB23C913894ECA00AA2426 /* system frameworks */ = { - isa = PBXGroup; - children = ( - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - ); - name = "system frameworks"; - sourceTree = ""; - }; - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23BE13894E4700AA2426 /* GLUT.framework */, - ); - name = "3rd party frameworks"; - sourceTree = ""; - }; - E4328144138ABC890047C5CB /* Products */ = { - isa = PBXGroup; - children = ( - E4328148138ABC890047C5CB /* openFrameworksDebug.a */, - ); - name = Products; - sourceTree = ""; - }; - E45BE5980E8CC70C009D7055 /* frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, - BBAB23C913894ECA00AA2426 /* system frameworks */, - ); - name = frameworks; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4EEC9E9138DF44700A80321 /* openFrameworks */, - BB4B014C10F69532006C3DED /* addons */, - E45BE5980E8CC70C009D7055 /* frameworks */, - E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4EEC9E9138DF44700A80321 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* emptyExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, - ); - name = emptyExample; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4328144138ABC890047C5CB /* Products */; - ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* emptyExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworksDebug.a; - remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, - 8DF1A08C1404702E00148E3B /* fft.cpp in Sources */, - 8DF1A08D1404702E00148E3B /* maxiFFT.cpp in Sources */, - 8DF1A08E1404702E00148E3B /* maxiGrains.cpp in Sources */, - 8DF1A08F1404702E00148E3B /* maxiMFCC.cpp in Sources */, - 8DF1A0901404702E00148E3B /* maximilian.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - ); - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", - ); - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - ); - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/install.xml b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/install.xml deleted file mode 100644 index 58923be..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/install.xml +++ /dev/null @@ -1,35 +0,0 @@ - - 0.1 - Goldsmiths Creative Computing - http://www.maximilian.strangeloop.co.uk/ - - - - - - - - - - - - ../../../addons/ofxMaxim/src/ofxMaxim.h - - - - ../../../addons/ofxMaxim/libs/fft.h - ../../../addons/ofxMaxim/libs/fft.cpp - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.h - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.cpp - ../../../addons/ofxMaxim/libs/maximilian.h - ../../../addons/ofxMaxim/libs/maximilian.cpp - - - - - - ../../../addons/ofxMaxim/src - ../../../addons/ofxMaxim/libs - - - \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.cpp deleted file mode 100644 index 3f13bd2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.cpp +++ /dev/null @@ -1,608 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ -/* - - fft.cpp - - Based on K+R Numerical recipes in C and some other stuff hacked about. - - */ - -#include "fft.h" -#include -#include -#include -#include - -int **gFFTBitTable = NULL; -const int MaxFastBits = 16; - -int IsPowerOfTwo(int x) -{ - if (x < 2) - return false; - - if (x & (x - 1)) - return false; - - return true; -} - -int NumberOfBitsNeeded(int PowerOfTwo) -{ - int i; - - if (PowerOfTwo < 2) { - fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); - exit(1); - } - - for (i = 0;; i++) - if (PowerOfTwo & (1 << i)) - return i; -} - -int ReverseBits(int index, int NumBits) -{ - int i, rev; - - for (i = rev = 0; i < NumBits; i++) { - rev = (rev << 1) | (index & 1); - index >>= 1; - } - - return rev; -} - -void InitFFT() -{ -// gFFTBitTable = new int *[MaxFastBits]; - //use malloc for 16 byte alignment - gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); - - int len = 2; - for (int b = 1; b <= MaxFastBits; b++) { - -// gFFTBitTable[b - 1] = new int[len]; - gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); - - for (int i = 0; i < len; i++) - gFFTBitTable[b - 1][i] = ReverseBits(i, b); - - len <<= 1; - } -} - -inline int FastReverseBits(int i, int NumBits) -{ - if (NumBits <= MaxFastBits) - return gFFTBitTable[NumBits - 1][i]; - else - return ReverseBits(i, NumBits); -} - -/* - * Complex Fast Fourier Transform - */ - -void FFT(int NumSamples, - bool InverseTransform, - float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) -{ - int NumBits; /* Number of bits needed to store indices */ - int i, j, k, n; - int BlockSize, BlockEnd; - - double angle_numerator = 2.0 * M_PI; - float tr, ti; /* temp real, temp imaginary */ - - if (!IsPowerOfTwo(NumSamples)) { - fprintf(stderr, "%d is not a power of two\n", NumSamples); - exit(1); - } - - if (!gFFTBitTable) - InitFFT(); - - if (InverseTransform) - angle_numerator = -angle_numerator; - - NumBits = NumberOfBitsNeeded(NumSamples); - - /* - ** Do simultaneous data copy and bit-reversal ordering into outputs... - */ - - for (i = 0; i < NumSamples; i++) { - j = FastReverseBits(i, NumBits); - RealOut[j] = RealIn[i]; - ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; - } - - /* - ** Do the FFT itself... - */ - - BlockEnd = 1; - for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { - - double delta_angle = angle_numerator / (double) BlockSize; - - float sm2 = sin(-2 * delta_angle); - float sm1 = sin(-delta_angle); - float cm2 = cos(-2 * delta_angle); - float cm1 = cos(-delta_angle); - float w = 2 * cm1; - float ar0, ar1, ar2, ai0, ai1, ai2; - - for (i = 0; i < NumSamples; i += BlockSize) { - ar2 = cm2; - ar1 = cm1; - - ai2 = sm2; - ai1 = sm1; - - for (j = i, n = 0; n < BlockEnd; j++, n++) { - ar0 = w * ar1 - ar2; - ar2 = ar1; - ar1 = ar0; - - ai0 = w * ai1 - ai2; - ai2 = ai1; - ai1 = ai0; - - k = j + BlockEnd; - tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; - ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; - - RealOut[k] = RealOut[j] - tr; - ImagOut[k] = ImagOut[j] - ti; - - RealOut[j] += tr; - ImagOut[j] += ti; - } - } - - BlockEnd = BlockSize; - } - - /* - ** Need to normalize if inverse transform... - */ - - if (InverseTransform) { - float denom = (float) NumSamples; - - for (i = 0; i < NumSamples; i++) { - RealOut[i] /= denom; - ImagOut[i] /= denom; - } - } -} - -/* - * Real Fast Fourier Transform - * - * This function was based on the code in Numerical Recipes in C. - * In Num. Rec., the inner loop is based on a single 1-based array - * of interleaved real and imaginary numbers. Because we have two - * separate zero-based arrays, our indices are quite different. - * Here is the correspondence between Num. Rec. indices and our indices: - * - * i1 <-> real[i] - * i2 <-> imag[i] - * i3 <-> real[n/2-i] - * i4 <-> imag[n/2-i] - */ - -void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = (float*) malloc(Half * sizeof(float)); - float *tmpImag = (float*) malloc(Half * sizeof(float)); - - for (i = 0; i < Half; i++) { - tmpReal[i] = RealIn[2 * i]; - tmpImag[i] = RealIn[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - RealOut[i] = h1r + wr * h2r - wi * h2i; - ImagOut[i] = h1i + wr * h2i + wi * h2r; - RealOut[i3] = h1r - wr * h2r + wi * h2i; - ImagOut[i3] = -h1i + wr * h2i + wi * h2r; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - - RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; - ImagOut[0] = h1r - ImagOut[0]; - - delete[]tmpReal; - delete[]tmpImag; -} - -/* - * PowerSpectrum - * - * This function computes the same as RealFFT, above, but - * adds the squares of the real and imaginary part of each - * coefficient, extracting the power and throwing away the - * phase. - * - * For speed, it does not call RealFFT, but duplicates some - * of its code. - */ - -void PowerSpectrum(int NumSamples, float *In, float *Out) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = new float[Half]; - float *tmpImag = new float[Half]; - float *RealOut = new float[Half]; - float *ImagOut = new float[Half]; - - for (i = 0; i < Half; i++) { - tmpReal[i] = In[2 * i]; - tmpImag[i] = In[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i, rt, it; - //float total=0; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); - it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); - - Out[i] = rt * rt + it * it; - - rt = h1r - wr * h2r + wi * h2i; - it = -h1i + wr * h2i + wi * h2r; - - Out[i3] = rt * rt + it * it; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - //printf("total = %f\n",total); - rt = (h1r = RealOut[0]) + ImagOut[0]; - it = h1r - ImagOut[0]; - Out[0] = rt * rt + it * it; - - rt = RealOut[Half / 2]; - it = ImagOut[Half / 2]; - Out[Half / 2] = rt * rt + it * it; - - delete[]tmpReal; - delete[]tmpImag; - delete[]RealOut; - delete[]ImagOut; -} - -/* - * Windowing Functions - */ - -int NumWindowFuncs() -{ - return 4; -} - -char *WindowFuncName(int whichFunction) -{ - switch (whichFunction) { - default: - case 0: - return "Rectangular"; - case 1: - return "Bartlett"; - case 2: - return "Hamming"; - case 3: - return "Hanning"; - } -} - -void WindowFunc(int whichFunction, int NumSamples, float *in) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - in[i] *= (i / (float) (NumSamples / 2)); - in[i + (NumSamples / 2)] *= - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -void fft::genWindow(int whichFunction, int NumSamples, float *window) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - window[i] = (i / (float) (NumSamples / 2)); - window[i + (NumSamples / 2)] = - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -/* constructor */ -fft::fft(int fftSize) { - n = fftSize; - half = fftSize / 2; - //use malloc for 16 byte alignment - in_real = (float *) malloc(n * sizeof(float)); - in_img = (float *) malloc(n * sizeof(float)); - out_real = (float *) malloc(n * sizeof(float)); - out_img = (float *) malloc(n * sizeof(float)); - -#ifdef __APPLE_CC__ - log2n = log2(n); - A.realp = (float *) malloc(half * sizeof(float)); - A.imagp = (float *) malloc(half * sizeof(float)); - setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); - if (setupReal == NULL) { - printf("\nFFT_Setup failed to allocate enough memory for" - "the real FFT.\n"); - } - polar = (float *) malloc(n * sizeof(float)); -#endif -} - -/* destructor */ -fft::~fft() { - delete[] in_real, out_real, in_img, out_img; -#ifdef __APPLE_CC__ - vDSP_destroy_fftsetup(setupReal); - delete[] A.realp; - delete[] A.imagp; - delete[] polar; -#endif - -} - -/* Calculate the power spectrum */ -void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { - int i; - - //windowing - for (i = 0; i < n; i++) { - in_real[i] = data[start + i] * window[i]; - } - - - RealFFT(n, in_real, out_real, out_img); - - for (i = 0; i < half; i++) { - /* compute power */ - float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; - /* compute magnitude and phase */ - magnitude[i] = sqrt(power); - phase[i] = atan2(out_img[i],out_real[i]); - -// if (magnitude[i] < 0.000001){ // less than 0.1 nV -// magnitude[i] = 0; // out of range -// } else { -// magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale -// } - } - -} - -void fft::convToDB(float *in, float *out) { - for (int i = 0; i < half; i++) { - if (in[i] < 0.000001){ // less than 0.1 nV - out[i] = 0; // out of range - } else { - out[i] = 20.0*log10(in[i] + 1); // get to to db scale - } - } -} - - -#ifdef __APPLE_CC__ - -/* Calculate the power spectrum */ -void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { - - uint32_t i; - - //multiply by window - vDSP_vmul(data, 1, window, 1, in_real, 1, n); - - //convert to split complex format - evens and odds - vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); - - - //calc fft - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); - - //scale by 2 (see vDSP docs) - static float scale=0.5 ; - vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); - vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); - - //back to split complex format - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - //convert to polar - vDSP_polar(out_real, 2, polar, 2, half); - - for (i = 0; i < half; i++) { - magnitude[i]=polar[2*i]+1.0; - phase[i]=polar[2*i + 1]; - } - - - -} - -void fft::convToDB_vdsp(float *in, float *out) { - float ref = 1.0; - vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); - //get rid of any -infs - float vmin=0.0; - float vmax=9999999.0; - vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); -} - -#endif - -void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { - int i; - - /* get real and imag part */ - for (i = 0; i < half; i++) { -// float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; -// in_real[i] = mag *cos(phase[i]); -// in_img[i] = mag *sin(phase[i]); - in_real[i] = magnitude[i] *cos(phase[i]); - in_img[i] = magnitude[i] *sin(phase[i]); - } - - /* zero negative frequencies */ - memset(in_real+half, half, 0.0); - memset(in_img+half, half, 0.0); - - FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform - - for (i = 0; i < n; i++) { - finalOut[start + i] += out_real[i] * window[i] - ; - } - -} - - -#ifdef __APPLE_CC__ -void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { - uint32_t i; - - for (i = 0; i < half; i++) { -// polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; - polar[2*i] = magnitude[i] - 1.0; - polar[2*i + 1] = phase[i]; - } - - vDSP_rect(polar, 2, in_real, 2, half); - - vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - static float scale = 1./n; - vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); - - //multiply by window - vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); - -} - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.h deleted file mode 100644 index f7e1947..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/fft.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _FFT -#define _FFT - -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifdef __APPLE_CC__ - #include - #warning Please link against the Accelerate framework -#endif - - - -class fft { - -public: - - fft(int fftSize); - ~fft(); - - int n; //fftSize - int half; //halfFFTSize - - float *in_real, *out_real, *in_img, *out_img; - -#ifdef __APPLE_CC__ - int log2n; //log2(n); - FFTSetup setupReal; - COMPLEX_SPLIT A; - float *polar; - void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); - void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB_vdsp(float *in, float *out); -#endif; - - /* Calculate the power spectrum */ - void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); - /* ... the inverse */ - void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB(float *in, float *out); - - static void genWindow(int whichFunction, int NumSamples, float *window); - -}; - - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.cpp deleted file mode 100644 index 36034b2..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maxiFFT.h" -#include "maximilian.h" -#include -#include "math.h" - -using namespace std; - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - magnitudes = (float *) malloc(bins * sizeof(float)); - magnitudesDB = (float *) malloc(bins * sizeof(float)); - phases = (float *) malloc(bins * sizeof(float)); - avgPower = new float; - memset(buffer, 0, fftSize * sizeof(float)); - memset(magnitudes, 0, bins * sizeof(float)); - memset(magnitudesDB, 0, bins * sizeof(float)); - memset(phases, 0, bins * sizeof(float)); - *avgPower = 0; - pos =windowSize - hopSize; - newFFT = 0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -bool maxiFFT::process(float value) { - //add value to buffer at current pos - buffer[pos++] = value; - //if buffer full, run fft - newFFT = pos == windowSize; - if (newFFT) { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); -#else - _fft->powerSpectrum(0, buffer, window, magnitudes, phases); -#endif - //shift buffer back by one hop size - memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); - //set the new data to zero (is this necessary?, it will get overwritten) - memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); - //reset pos to start of hop - pos= windowSize - hopSize; - } - return newFFT; -} - -float* maxiFFT::magsToDB() { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->convToDB_vdsp(magnitudes, magnitudesDB); -#else - _fft->convToDB(magnitudes, magnitudesDB); -#endif - return magnitudesDB; -} - -float maxiFFT::spectralFlatness() { - float geometricMean=0, arithmaticMean=0; - for(int i=0; i < bins; i++) { - if (magnitudes[i] != 0) - geometricMean += log(magnitudes[i]); - arithmaticMean += magnitudes[i]; - } - geometricMean = exp(geometricMean / (float)bins); - arithmaticMean /= (float)bins; - return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; -} - -float maxiFFT::spectralCentroid() { - float x=0, y=0; - for(int i=0; i < bins; i++) { - x += fabs(magnitudes[i]) * (i+1); - y += fabs(magnitudes[i]); - } - return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; -} - - - -maxiFFT::~maxiFFT() { - delete _fft; - if (buffer) - delete[] buffer,magnitudes,phases,window, avgPower; -} - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//I N V E R S E F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - ifftOut = (float *) malloc(fftSize * sizeof(float)); - memset(buffer, 0, windowSize * sizeof(float)); - pos =0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -float maxiIFFT::process(float *magnitudes, float *phases) { - if (0==pos) { - //do ifft - memset(ifftOut, 0, fftSize * sizeof(float)); -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); -#else - _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); -#endif - //add to output - //shift back by one hop - memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); - //clear the end chunk - memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); - //merge new output - for(int i=0; i < fftSize; i++) { - buffer[i] += ifftOut[i]; - } - } - - nextValue = buffer[pos]; - //limit the values, this alg seems to spike occasionally (and break the audio drivers) - if (nextValue > 0.99999f) nextValue = 0.99999f; - if (nextValue < -0.99999f) nextValue = -0.99999f; - if (hopSize == ++pos ) { - pos=0; - } - - return nextValue; -} - -maxiIFFT::~maxiIFFT() { - delete _fft; - delete[] ifftOut, buffer, window; -}; - - - - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//O C T A V E A N A L Y S E R -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - -void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ - - samplingRate = samplingRate; - nSpectrum = nBandsInTheFFT; - spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); - nAverages = nBandsInTheFFT; - // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc - if (nAveragesPerOctave==0) // um, wtf? - nAveragesPerOctave = 1; - nAveragesPerOctave = nAveragesPerOctave; - averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); - // this isn't currently configurable (used once here then no effect), but here's some reasoning: - // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 - // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 - // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 - // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) - // but don't go much smaller unless you have a huge fft window size (see below for more why) - // keep in mind, if you change it, that the number of actual bands may change +/-1, and - // for some values, the last averaging band may not be very useful (may extend above nyquist) - firstOctaveFrequency = 55.0f; - // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. - // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. - // with more spectrum bins, you can better map into the averaging bins (especially at low - // frequencies) or use more averaging bins per octave. with an fft window size of 2048, - // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave - // analysis. if you don't have enough spectrum bins to map adequately into averaging bins - // at the requested number per octave then you'll end up with "empty" averaging bins, where - // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, - // either increase fft buffer size, or decrease number of averages per octave, etc) - spe2avg = new int[nSpectrum]; - int avgidx = 0; - float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin - // we're looking for the "top" of the first spectrum bin, and i'm just sort of - // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) - // ... either way it's probably close enough for these purposes - float spectrumFreq = spectrumFrequencySpan; - for (int speidx=0; speidx < nSpectrum; speidx++) { - while (spectrumFreq > averageFreq) { - avgidx++; - averageFreq *= averageFrequencyIncrement; - } - spe2avg[speidx] = avgidx; - spectrumFreq += spectrumFrequencySpan; - } - nAverages = avgidx; - averages = new float[nAverages]; - peaks = new float[nAverages]; - peakHoldTimes = new int[nAverages]; - peakHoldTime = 0; // arbitrary - peakDecayRate = 0.9f; // arbitrary - linearEQIntercept = 1.0f; // unity -- no eq by default - linearEQSlope = 0.0f; // unity -- no eq by default -} - -void maxiFFTOctaveAnalyzer::calculate(float * fftData){ - - int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average - float sum = 0.0f; // running total of spectrum data - int count = 0; // count of spectrums accumulated (for averaging) - for (int speidx=0; speidx < nSpectrum; speidx++) { - count++; - sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); - int avgidx = spe2avg[speidx]; - if (avgidx != last_avgidx) { - - for (int j = last_avgidx; j < avgidx; j++){ - averages[j] = sum / (float)(count); - } - count = 0; - sum = 0.0f; - } - last_avgidx = avgidx; - } - // the last average was probably not calculated... - if ((count > 0) && (last_avgidx < nAverages)){ - averages[last_avgidx] = sum / (float)(count); - } - - // update the peaks separately - for (int i=0; i < nAverages; i++) { - if (averages[i] >= peaks[i]) { - // save new peak level, also reset the hold timer - peaks[i] = averages[i]; - peakHoldTimes[i] = peakHoldTime; - } else { - // current average does not exceed peak, so hold or decay the peak - if (peakHoldTimes[i] > 0) { - peakHoldTimes[i]--; - } else { - peaks[i] *= peakDecayRate; - } - } - } -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.h deleted file mode 100644 index d099e84..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiFFT.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _MAXI_FFT -#define _MAXI_FFT - -//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions - - -#include "fft.h" -#include "stddef.h" - -class maxiFFT { - -public: - maxiFFT(){ - _fft = NULL; - buffer = magnitudes = phases = window = avgPower = NULL; - }; - ~maxiFFT(); - void setup(int fftSize, int windowSize, int hopSize); - bool process(float value); - float* magsToDB(); - float *magnitudes, *phases, *magnitudesDB; - float *avgPower; - int windowSize; - int hopSize; - int bins; - - //features - float spectralFlatness(); - float spectralCentroid(); - -private: - float *buffer, *window; - int pos; - float nextValue; - int fftSize; - fft *_fft; - bool newFFT; - -}; - -class maxiIFFT { - -public: - maxiIFFT(){ - _fft=0; - }; - ~maxiIFFT(); - void setup(int fftSize, int windowSize, int hopSize); - float process(float *magnitudes, float *phases); - -private: - float *ifftOut, *buffer, *window; - int windowSize; - int bins; - int hopSize; - int pos; - float nextValue; - int fftSize; - fft *_fft; -}; - - -class maxiFFTOctaveAnalyzer { -/*based on code by David Bollinger, http://www.davebollinger.com/ - */ -public: - - float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) - int nSpectrum; // number of spectrum bins in the fft - int nAverages; // number of averaging bins here - int nAveragesPerOctave; // number of averages per octave as requested by user - float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz - float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz - float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies - float * averages; // the actual averages - float * peaks; // peaks of the averages, aka "maxAverages" in other implementations - int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 - int peakHoldTime; // how long do we hold peaks? (in fft frames) - float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all - int * spe2avg; // the mapping between spectrum[] indices and averages[] indices - // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale - // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear - // equalizer instead: - float linearEQSlope; // the rate of linear eq - float linearEQIntercept; // the base linear scaling used at the first averaging bin - // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) - // so.. note that clever use of it can also provide a "gain" control of sorts - // (fe: set intercept to 2f and slope to 0f to double gain) - - void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); - - void calculate(float * fftData); - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.cpp deleted file mode 100644 index 951f3b5..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "maxiGrains.h" - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.h deleted file mode 100644 index d17ffc9..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiGrains.h +++ /dev/null @@ -1,443 +0,0 @@ - - -#ifndef _MAXI_GRAINS_H -#define _MAXI_GRAINS_H -#include "maximilian.h" - -#if defined(__APPLE_CC__) -#include "accelerate/accelerate.h"; -//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. -//#define MAXIGRAINFAST -#endif - -#define PI 3.1415926535897932384626433832795028841968 - -#include - -typedef unsigned long ulong; - -//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows - -struct hannWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - -//this window can produce clicks -struct hammingWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - - -struct cosineWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return sin((PI * windowPos) / (windowLength - 1)); - } -}; - -struct rectWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 1; - } -}; - -struct triangleWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct triangleNZWinFunctor { - //non zero end points - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct blackmanHarrisWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.35875 - - (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct blackmanNutallWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.3635819 - - (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -template -class maxiGrainWindowCache { -public: - unsigned int cacheSize; - - maxiGrainWindowCache() { - cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains - cache = (double**)malloc(cacheSize * sizeof(double*)); - for(int i=0; i < cacheSize; i++) { - cache[i] = NULL; - } - } - - ~maxiGrainWindowCache() { - for(int i=0; i < cacheSize; i++) { - if(NULL != cache[i]) { - delete[] cache[i]; - } - } - } - - double* getWindow(const unsigned int length) { - if (NULL == cache[length]) { - cache[length] = (double*)malloc(length * sizeof(double)); - for(int i=0; i < length; i++) { - cache[length][i] = F()(length, i); - } - } - return cache[length]; - } - -private: - double** cache; - -}; - -class maxiGrainBase { -public: - virtual double play() = 0; - bool finished; -}; - -template -class maxiGrain : public maxiGrainBase { -public: - maxiSample *sample; - double pos; - double dur; - ulong sampleStartPos; - ulong sampleIdx; - ulong sampleDur; - ulong sampleEndPos; - double freq; - double speed; - // F winFunc; - double inc; - double frequency; - double* window; -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - double* grainSamples; -#endif - /* - position between 0.0 and 1.0 - duration in seconds - */ - maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) - { - sampleStartPos = sample->length * pos; - sampleDur = dur * (double)sample->mySampleRate; - sampleDurMinusOne = sampleDur - 1; - sampleIdx = 0; - finished = 0; - freq = 1.0 / dur; - sampleEndPos = sampleStartPos + sampleDur; - frequency = freq * speed; - if (frequency > 0) { - pos = sampleStartPos; - }else{ - pos = sampleEndPos; - } - inc = sampleDur/(maxiSettings::sampleRate/frequency); - window = windowCache->getWindow(sampleDur); - -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - //premake the grain using fast vector functions, and quadratic interpolation - double *sourceData = (double*)malloc(sampleDur * sizeof(double)); - short* buffer = (short *)sample->myData; - //convert sample to double data - vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); - //todo: wraping code - - grainSamples = (double*)malloc(sampleDur * sizeof(double)); - //make list of interpolation indexes - double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); - double interpPos = sampleStartPos; - for(int i=0; i < sampleDur; i++) { - interpIndexes[i] = interpPos - sampleStartPos; - interpPos += fabs(inc); - } - vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); - if (frequency < 0) { - vDSP_vrvrsD(grainSamples,1, sampleDur); - } - static double divFactor = 32767.0; - vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); - vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); - delete sourceData, interpIndexes; -#endif - } - - ~maxiGrain() { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - delete[] grainSamples; -#endif - } - - double play() { - double output = 0.0; - if (!finished) { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - output = grainSamples[sampleIdx]; -#else - envValue = window[sampleIdx]; - double remainder; - long a,b; - short* buffer = (short *)sample->myData; - if (frequency >0.) { - pos += inc; - long posl = static_cast(pos); - remainder = pos - posl; - a=posl++; - if (a>=sample->length) { - a=posl-1; - } - b = posl+2; - if (b>=sample->length) { - b=sample->length-1; - } - output = (double) ((1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - } else { - frequency=frequency-(frequency+frequency); - pos += inc; - long posl = static_cast(pos); - remainder = pos - posl; - if (posl-1>=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - } - output *= envValue; -#endif - } - sampleIdx++; - if (sampleIdx >= sampleDur) finished = 1; - return output; - } - -private: - maxiGrain(); - double envValue; - ulong sampleDurMinusOne; -}; - - -typedef list grainList; - -class maxiGrainPlayer { -public: - grainList grains; - maxiSample *sample; - - maxiGrainPlayer(maxiSample *sample) : sample(sample) { - } - - void addGrain(maxiGrainBase *g) { - grains.push_back(g); - } - - double play() { - double total = 0.0; - for(grainList::iterator it = grains.begin(); it != grains.end(); ++it) { - total += (*it)->play(); - if ((*it)->finished) { - delete(*it); - grains.erase(it); - } - } - return total; - } -}; - -template -class maxiTimestretch { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiTimestretch(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiTimestretch() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * speed); - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - speed = (speed > 0 ? 1 : -1); - // speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - double play2(double pos, double grainLength, int overlaps) { - cycles++; - pos *= sample->length; - if (0 == floor(fmod(cycles, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position -//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. -//with both high speed values and negative speed values there are some terrific artefacts! - -template -class maxiPitchShift { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchShift(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchShift() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + 1; - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - double play2(double pos, double grainLength, int overlaps) { - cycles++; - pos *= sample->length; - if (0 == floor(fmod(cycles, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. -//the rest is the same. - -template -class maxiPitchStretch { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchStretch(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchStretch() { - delete grainPlayer; - } - - double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * rate); - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - double play2(double pos, double grainLength, int overlaps) { - cycles++; - pos *= sample->length; - if (0 == floor(fmod(cycles, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.cpp deleted file mode 100644 index e72fd75..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - * maxiMFCC.cpp - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiMFCC.h" - - - -template <> -void maxiMFCCAnalyser::dct(double *mfccs) { - vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - double n = (double) numCoeffs; - vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::dct(float *mfccs) { - vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - float n = (float) numCoeffs; - vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - //conv to double - vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); - // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); - vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(); -} - - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(); -} - -template -void maxiMFCCAnalyser::melFilterAndLogSq_Part2() { -#ifdef __APPLE_CC__ -#else - for (int filter = 0;filter < numFilters;filter++) { - melBands[filter] = 0.0; - for (int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; - } -} - - - - - - - - - - - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.h deleted file mode 100644 index 60bfe04..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maxiMFCC.h +++ /dev/null @@ -1,204 +0,0 @@ -/* - * maxiMFCC.h - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - - Based on Matthew Yee-King's MFCCMYK java class - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - - -// implements this formula: -// mel = 2595 log10(Hz/700 + 1) -inline double hzToMel(double hz){ - return 2595.0 * (log10(hz/700.0 + 1.0)); -} - -// implements this formula -// Hz = 700 (10^(mel/2595) - 1) -inline double melToHz(double mel){ - return 700.0 * (pow(10, mel/2595.0) - 1.0); -} - -template -class maxiMFCCAnalyser { -public: - T *melBands; - maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; - ~maxiMFCCAnalyser() { - if (melFilters) { - delete[] melFilters; - delete[] melBands; - delete[] dctMatrix; -#ifdef __APPLE_CC__ - delete doubleSpec; -#endif - } - } - - void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) - { - this->numFilters = numFilters; - this->numCoeffs = numCoeffs; - this->minFreq = minFreq; - this->maxFreq = maxFreq; - this->sampleRate = sampleRate; - this->numBins = numBins; - melFilters = NULL; - melBands = (T*) malloc(sizeof(T) * numFilters); -#ifdef __APPLE_CC__ - doubleSpec = (T*)malloc(sizeof(T) * numBins); -#endif - //create new matrix - dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); - calcMelFilterBank(sampleRate, numBins); - createDCTCoeffs(); - } - void mfcc(float* powerSpectrum, T *mfccs) { - melFilterAndLogSquare(powerSpectrum); - dct(mfccs); - } - -private: - unsigned int numFilters, numCoeffs; - double minFreq, maxFreq; - unsigned int sampleRate; - T *melFilters; - unsigned int numBins; - T *dctMatrix; -#ifdef __APPLE_CC__ - T *doubleSpec; -#endif - -#ifdef __APPLE_CC__ - void dct(T *mfccs); //define later -#else - void dct(T *mfccs) { - for(int i=0; i < numCoeffs; i++) { - mfccs[i] = 0.0; - } - for(int i=0; i < numCoeffs; i++ ) { - for(int j=0; j < numFilters; j++) { - int idx = i + (j * numCoeffs); - mfccs[i] += (dctMatrix[idx] * melBands[j]); - } - } - for(int i=0; i < numCoeffs; i++) { - mfccs[i] /= numCoeffs; - } - } -#endif - - void melFilterAndLogSquare(float* powerSpectrum); - void melFilterAndLogSq_Part2(); - - - void calcMelFilterBank(double sampleRate, int numBins) { - - double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; - int numValidBins; - - // ignore bins over nyquist - numValidBins = numBins; - - nyquist = sampleRate/2; - if (maxFreq > nyquist) { - maxFreq = nyquist; - } - - maxMel = hzToMel(maxFreq); - minMel = hzToMel(minFreq); - - dMel = (maxMel - minMel) / (numFilters + 2 - 1); - - T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); - - // first generate an array of start and end freqs for each triangle - mel = minMel; - for (int i=0;i nextF || binFreq < prevF) { - // outside this filter - melFilters[idx] = 0; - //cout << "MFCCMYK: filter at " < maxiMFCC; -//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.cpp deleted file mode 100644 index 63b9a34..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.cpp +++ /dev/null @@ -1,1028 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - - -//int channels=2; -//int samplerate=44100; -//int buffersize=1024; -float chandiv= 1; - -int maxiSettings::sampleRate = 44100; -int maxiSettings::channels = 2; -int maxiSettings::bufferSize = 1024; - -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - phase = 0.0; - // memset(phases,0,500); - // memset(freqs,0,500); -} - -double maxiOsc::noise() { - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -void maxiOsc::phaseReset(double phaseIn) { - phase=phaseIn; - -} - -double maxiOsc::sinewave(double frequency) { - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { - double remainder; - phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency) { - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phase <= 0.5 ) { - output =((phase)*4)-1; - } else { - output =((0.5-phase)*4)-1; - } - return(output); - -} - -//I like this. -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - if (isPlaying==1) {//only make a sound once you've been triggered - - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - - } - else { - output=0; - - } - return(output); -} - -//and this -void maxiEnvelope::trigger(int index, double amp) { - isPlaying=1;//ok the envelope is being used now. - valindex=index; - amplitude=amp; - -} - -//and this - -maxiDelayline::maxiDelayline() { - memset( memory, 0, 88200*sizeof (double) ); - -} - - -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) { - phase = 0; - } - output=memory[phase]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - output=memory[position]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - return(output); - -} - - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//working hires filter -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1.0-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1.0-x)*y); - four[1]=input*sqrt((1.0-x)*(1.0-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1.0-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); - eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); - eight[2]=input*(sqrt(x*y)*1.0-z); - eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); - eight[4]=input*(sqrt((1.0-x)*y)*z); - eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1.0-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName, int channel) { - myPath = fileName; - readChannel=channel; - return read(); -} - -void maxiSample::trigger() { - position = 0; -} - -bool maxiSample::read() -{ - bool result; - ifstream inFile( myPath.c_str(), ios::in | ios::binary); - result = inFile; - if (inFile) { - bool datafound = false; - inFile.seekg(4, ios::beg); - inFile.read( (char*) &myChunkSize, 4 ); // read the ChunkSize - - inFile.seekg(16, ios::beg); - inFile.read( (char*) &mySubChunk1Size, 4 ); // read the SubChunk1Size - - //inFile.seekg(20, ios::beg); - inFile.read( (char*) &myFormat, sizeof(short) ); // read the file format. This should be 1 for PCM - - //inFile.seekg(22, ios::beg); - inFile.read( (char*) &myChannels, sizeof(short) ); // read the # of channels (1 or 2) - - //inFile.seekg(24, ios::beg); - inFile.read( (char*) &mySampleRate, sizeof(int) ); // read the samplerate - - //inFile.seekg(28, ios::beg); - inFile.read( (char*) &myByteRate, sizeof(int) ); // read the byterate - - //inFile.seekg(32, ios::beg); - inFile.read( (char*) &myBlockAlign, sizeof(short) ); // read the blockalign - - //inFile.seekg(34, ios::beg); - inFile.read( (char*) &myBitsPerSample, sizeof(short) ); // read the bitspersample - - //ignore any extra chunks - char chunkID[5]=""; - chunkID[4] = 0; - int filePos = 36; - while(!datafound && !inFile.eof()) { - inFile.seekg(filePos, ios::beg); - inFile.read((char*) &chunkID, sizeof(char) * 4); - inFile.seekg(filePos + 4, ios::beg); - inFile.read( (char*) &myDataSize, sizeof(int) ); // read the size of the data - filePos += 8; - if (strcmp(chunkID,"data") == 0) { - datafound = true; - }else{ - filePos += myDataSize; - } - } - - // read the data chunk - myData = (char*) malloc(myDataSize * sizeof(char)); - inFile.seekg(filePos, ios::beg); - inFile.read(myData, myDataSize); - length=myDataSize*(0.5/myChannels); - inFile.close(); // close the input file - - if (myChannels>1) { - int position=0; - int channel=readChannel*2; - for (int i=channel;ilength) position=0; - output = - (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::playOnce() { - // long length=myDataSize*(0.5/myChannels); - double remainder; - short* buffer = (short *)myData; - position=(position+1); - remainder = position - (long) position; - if ((long) position=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - return play(frequency, start, end, position); -} - -double maxiSample::play(double frequency, double start, double end, double &pos) { - double remainder; - // long length=myDataSize; - - if (end>=length) end=length-1; - long a,b; - short* buffer = (short *)myData; - if (frequency >0.) { - if (pos= end ) pos = start; - pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = pos - floor(pos); - long posl = floor(pos); - if (posl+1=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)myData; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv*myChannels)/(maxiSettings::sampleRate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - - -/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for - incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. - Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ - -double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(amplitude==0) amplitude=0.01; - } - - if (attackphase==1 && amplitude<1) { - amplitude*=(1+attack); - output=input*amplitude; - } - - if (amplitude>=1) { - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - - -double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(currentRatio==0) currentRatio=ratio; - } - - if (attackphase==1 && currentRatio=ratio-1) { - attackphase=0; - releasephase=1; - } - - if (releasephase==1 && currentRatio>0.) { - currentRatio*=release; - } - - if (input>0.) { - output = input/(1.+currentRatio); - } else { - output = input/(1.+currentRatio); - } - - return output*(1+log(ratio)); -} - - -/* Lots of people struggle with the envelope generators so here's a new easy one. - It takes mental numbers for attack and release tho. Basically, they're exponentials. - I'll map them out later so that it's a bit more intuitive */ -double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -/* and here's a new adsr. It's not bad, very simple to use*/ - -double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -double convert::mtof(int midinote) { - - return mtofarray[midinote]; -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.h deleted file mode 100755 index 102d552..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/libs/maximilian.h +++ /dev/null @@ -1,366 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - -//#include "ofMain.h" -//#include "ofUtils.h" - - -#include -#include -#include -#include -#include "math.h" - -using namespace std; -#define TWOPI (3.14159*2) - -class maxiSettings { -public: - static int sampleRate; - static int channels; - static int bufferSize; - static void setup(int initSampleRate, int initChannels, int initBufferSize) { - maxiSettings::sampleRate = initSampleRate; - maxiSettings::channels = initChannels; - maxiSettings::bufferSize = initBufferSize; - } -}; - - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency); - double square(double frequency); - double pulse(double frequency, double duty); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - void phaseReset(double phaseIn); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - int isPlaying; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - maxiDelayline(); - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient -public: - maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - int readChannel; - short myFormat; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - double position; - double speed; - double output; - -public: - int myDataSize; - short myChannels; - int mySampleRate; - long length; - void getLength(); - - - char* myData; - - // get/set for the Path property - - ~maxiSample() - { - if (myData) delete[] myData; - myChunkSize = NULL; - mySubChunk1Size = NULL; - myFormat = NULL; - myChannels = NULL; - mySampleRate = NULL; - myByteRate = NULL; - myBlockAlign = NULL; - myBitsPerSample = NULL; - myDataSize = NULL; - } - - maxiSample():myData(NULL){}; - - bool load(string fileName, int channel=0); - - void trigger(); - - // read a wav file into this class - bool read(); - - double play(); - - double playOnce(); - - double playOnce(double speed); - - double play(double speed); - - double play(double frequency, double start, double end, double &pos); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - - //int open(char *filename) { - // // open the wav file - // char *path = new char[50]; - // strcpy(path, filename); - // sample *myWav = new sample(path); - // return 0; - // } - // // print a summary of the wav file - // int info() { - // char *summary = myWav->getSummary(); - // printf("Summary:\n%s", summary); - // return 0; - // } - // int savefile() { - // // write the summary back out - // strcpy(path, "testout.wav"); - // myWav->setPath(path); - // myWav->save(); - // return 0: - // } - // int close() { - // // collect the garbage - // delete summary; - // delete path; - // delete myWav; - // - // return 0; - // } - // write out the wav file - bool save() - { - fstream myFile (myPath.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write (myData, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - std::cout << myDataSize; - return summary; - } -}; - - -class maxiMap { -public: - static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { - return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; - } - - static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; - } - - static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; - } - -}; - - -class maxiDyn { - - -public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; - double ratio; - double currentRatio; - double threshold; - double output; - double attack; - double release; - double amplitude; - long holdtime; - long holdcount; - int attackphase,holdphase,releasephase; -}; - -class maxiEnv { - - -public: - double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); - double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); - double input; - double output; - double attack; - double decay; - double sustain; - double release; - double amplitude; - int trigger; - long holdtime; - long holdcount; - int attackphase,decayphase,sustainphase,holdphase,releasephase; -}; - -class convert { -public: - double mtof(int midinote); -}; - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/src/ofxMaxim.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/src/ofxMaxim.h deleted file mode 100644 index ec8c539..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/ofxMaxim/src/ofxMaxim.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _OFMAXIM_H -#define _OFMAXIM_H - -#include "maximilian.h" -#include "maxiFFT.h" -#include "maxiGrains.h" -#include "maxiMFCC.h" - - -typedef maxiMix ofxMaxiMix; -typedef maxiOsc ofxMaxiOsc; -typedef maxiEnvelope ofxMaxiEnvelope; -typedef maxiDelayline ofxMaxiDelayline; -typedef maxiFilter ofxMaxiFilter; -typedef maxiSample ofxMaxiSample; -typedef maxiFFT ofxMaxiFFT; -typedef maxiIFFT ofxMaxiIFFT; -typedef maxiFFTOctaveAnalyzer ofxMaxiFFTOctaveAnalyzer; -typedef maxiSettings ofxMaxiSettings; -typedef maxiMFCC ofxMaxiMFCC; - - -#endif diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/openFrameworks-Info.plist b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/openFrameworks-Info.plist deleted file mode 100644 index e5db555..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/openFrameworks-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.openFrameworks - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/main.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/main.cpp deleted file mode 100644 index 6a32c6a..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.cpp b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.cpp deleted file mode 100644 index 2e0af10..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" - - - -//------------------------------------------------------------- -testApp::~testApp() { - - delete beat.myData; /*you should probably delete myData for any sample object - that you've created in testApp.h*/ - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - /* some standard setup stuff*/ - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - ofSetVerticalSync(true); - - /* This is stuff you always need.*/ - - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; /* Buffer Size. you have to fill this buffer with sound*/ - - - /* Now you can put anything you would normally put in maximilian's 'setup' method in here. */ - - - beat.load(ofToDataPath("beat2.wav")); - beat.getLength(); - - - ofSoundStreamSetup(2,0,this, sampleRate, initialBufferSize, 4);/* Call this last ! */ -} - -//-------------------------------------------------------------- -void testApp::update(){ - -} - -//-------------------------------------------------------------- -void testApp::draw(){ - - /* You can use any of the data from audio received and audiorequested to draw stuff here. - Importantly, most people just use the input and output arrays defined above. - Clever people don't do this. This bit of code shows that by default, each signal is going to flip - between -1 and 1. You need to account for this somehow. Get the absolute value for example. - */ - - ofSetColor(255, 255, 255,255); - ofRect(600, 300, sample*150, sample*150); /* audio sigs go between -1 and 1. See?*/ - ofCircle(200, 300, wave*150); - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ - - for (int i = 0; i < bufferSize; i++){ - - /* Stick your maximilian 'play()' code in here ! Declare your objects in testApp.h. - - For information on how maximilian works, take a look at the example code at - - http://www.maximilian.strangeloop.co.uk - - under 'Tutorials'. - - */ - - - - sample=beat.play(0.25, 0, beat.length); - wave=sine1.sinebuf(abs(mouseX));/* mouse controls sinewave pitch. we get abs value to stop it dropping - // delow zero and killing the soundcard*/ - - mymix.stereo(sample + wave, outputs, 0.5); - - - output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - output[i*nChannels + 1] = outputs[1]; - } - -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - - - /* You can just grab this input and stick it in a double, then use it above to create output*/ - - for (int i = 0; i < bufferSize; i++){ - - /* you can also grab the data out of the arrays*/ - - - } - -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - - - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - - - -//-------------------------------------------------------------- -void testApp::gotMessage(ofMessage msg){ - -} - -//-------------------------------------------------------------- -void testApp::dragEvent(ofDragInfo dragInfo){ - -} \ No newline at end of file diff --git a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.h b/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.h deleted file mode 100644 index ee11865..0000000 --- a/ofxMaxim/examples/OSX/ofxMaximExamples007OSX/ofMaximExample007OSX/src/testApp.h +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once - -#include "ofMain.h" -#include "ofxMaxim.h" - - -class testApp : public ofBaseApp{ - - public: - ~testApp();/* destructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick you maximilian stuff below */ - - double wave,sample,outputs[2]; - ofxMaxiMix mymix; - ofxMaxiOsc sine1; - ofxMaxiSample beats,beat; - - -}; diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Default.png b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Default.png deleted file mode 100644 index e782497..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Default.png and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Icon.png b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Icon.png deleted file mode 100644 index 2d926c8..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/Icon.png and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/beat2.wav b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/beat2.wav deleted file mode 100644 index c71cee6..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/remoteatmos.wav b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/remoteatmos.wav deleted file mode 100644 index 87e3cdf..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/bin/data/remoteatmos.wav and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhoneEmptyExample.xcodeproj/project.pbxproj b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhoneEmptyExample.xcodeproj/project.pbxproj deleted file mode 100755 index dd49a5e..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhoneEmptyExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,909 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXBuildFile section */ - 00EF442D12BAD6C000FF6AA4 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00EF442C12BAD6C000FF6AA4 /* Accelerate.framework */; }; - 00FA16C112B98DFC000A9A42 /* install.xml in Resources */ = {isa = PBXBuildFile; fileRef = 00FA16B712B98DFC000A9A42 /* install.xml */; }; - 00FA16C412B98DFC000A9A42 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00FA16BD12B98DFC000A9A42 /* maximilian.cpp */; }; - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 5326AEA810A23A0500278DE6 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5326AEA710A23A0500278DE6 /* CoreLocation.framework */; }; - 53F323EB10A20EDB00E0DAE4 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53F323EA10A20EDB00E0DAE4 /* OpenAL.framework */; }; - 5E25689710ED26CC00A9501C /* CppUnit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25687010ED26CC00A9501C /* CppUnit.a */; }; - 5E25689810ED26CC00A9501C /* PocoFoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25687110ED26CC00A9501C /* PocoFoundation.a */; }; - 5E25689910ED26CC00A9501C /* PocoNet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25687210ED26CC00A9501C /* PocoNet.a */; }; - 5E25689A10ED26CC00A9501C /* PocoUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25687310ED26CC00A9501C /* PocoUtil.a */; }; - 5E25689B10ED26CC00A9501C /* PocoXML.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25687410ED26CC00A9501C /* PocoXML.a */; }; - 5E2568A410ED26CD00A9501C /* CppUnit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25688010ED26CC00A9501C /* CppUnit.a */; }; - 5E2568A510ED26CD00A9501C /* PocoFoundation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25688110ED26CC00A9501C /* PocoFoundation.a */; }; - 5E2568A610ED26CD00A9501C /* PocoNet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25688210ED26CC00A9501C /* PocoNet.a */; }; - 5E2568A710ED26CD00A9501C /* PocoUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25688310ED26CC00A9501C /* PocoUtil.a */; }; - 5E2568A810ED26CD00A9501C /* PocoXML.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E25688410ED26CC00A9501C /* PocoXML.a */; }; - BB16EBD20F2B2A9500518274 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB16EBD10F2B2A9500518274 /* OpenGLES.framework */; }; - BB16EBD90F2B2AB500518274 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB16EBD80F2B2AB500518274 /* QuartzCore.framework */; }; - BB24DD8F10DA77E000E9C588 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = BB24DD8C10DA77E000E9C588 /* Default.png */; }; - BB24DD9010DA77E000E9C588 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = BB24DD8D10DA77E000E9C588 /* Icon.png */; }; - BB24DDCA10DA781C00E9C588 /* ofxiphone-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB24DDC910DA781C00E9C588 /* ofxiphone-Info.plist */; }; - BBE5EAB80F49AD8400F28951 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBE5EAB70F49AD8400F28951 /* AudioToolbox.framework */; }; - E434BF6512477ED500452519 /* freeimage-iphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E434BF6412477ED500452519 /* freeimage-iphone.a */; }; - E434BF6812477EDE00452519 /* freeimage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E434BF6712477EDE00452519 /* freeimage.a */; }; - E434BF7312477FBA00452519 /* freetype-iphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E434BF7212477FBA00452519 /* freetype-iphone.a */; }; - E496D5B11252C8210098A2B3 /* glu-iphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E496D5AF1252C8210098A2B3 /* glu-iphone.a */; }; - E496D5B21252C8210098A2B3 /* glu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E496D5B01252C8210098A2B3 /* glu.a */; }; - E49BCC7A12554CD6009F19D0 /* libofxiPhone_macosx_Debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E49BCC5012554B6A009F19D0 /* libofxiPhone_macosx_Debug.a */; }; - E4A8229F12560AFE002F86A2 /* freetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4A8229E12560AFE002F86A2 /* freetype.a */; }; - E4A823A412561BE3002F86A2 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4A823A312561BE3002F86A2 /* CoreGraphics.framework */; }; - E4D8936E11527B74007E1F53 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = E4D8936B11527B74007E1F53 /* main.mm */; }; - E4D8936F11527B74007E1F53 /* testApp.mm in Sources */ = {isa = PBXBuildFile; fileRef = E4D8936D11527B74007E1F53 /* testApp.mm */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E49BCC4F12554B6A009F19D0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E49BCC4812554B69009F19D0 /* iPhone+OF Lib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = BB24DED610DA7A3F00E9C588; - remoteInfo = "iPhone+OF Static Library"; - }; - E49BCC6D12554C6C009F19D0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E49BCC4812554B69009F19D0 /* iPhone+OF Lib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = BB24DE5C10DA7A3F00E9C588; - remoteInfo = "iPhone+OF Static Library"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 00EF442C12BAD6C000FF6AA4 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; - 00FA16B712B98DFC000A9A42 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 00FA16BD12B98DFC000A9A42 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 00FA16BE12B98DFC000A9A42 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 00FA16C012B98DFC000A9A42 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D6058910D05DD3D006BFB54 /* emptyExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 32CA4F630368D1EE00C91783 /* iPhone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iPhone_Prefix.pch; sourceTree = ""; }; - 5326AEA710A23A0500278DE6 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - 53F323EA10A20EDB00E0DAE4 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; }; - 5E25687010ED26CC00A9501C /* CppUnit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = CppUnit.a; path = ../../../libs/poco/lib/iphone/CppUnit.a; sourceTree = SOURCE_ROOT; }; - 5E25687110ED26CC00A9501C /* PocoFoundation.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoFoundation.a; path = ../../../libs/poco/lib/iphone/PocoFoundation.a; sourceTree = SOURCE_ROOT; }; - 5E25687210ED26CC00A9501C /* PocoNet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoNet.a; path = ../../../libs/poco/lib/iphone/PocoNet.a; sourceTree = SOURCE_ROOT; }; - 5E25687310ED26CC00A9501C /* PocoUtil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoUtil.a; path = ../../../libs/poco/lib/iphone/PocoUtil.a; sourceTree = SOURCE_ROOT; }; - 5E25687410ED26CC00A9501C /* PocoXML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoXML.a; path = ../../../libs/poco/lib/iphone/PocoXML.a; sourceTree = SOURCE_ROOT; }; - 5E25688010ED26CC00A9501C /* CppUnit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = CppUnit.a; path = ../../../libs/poco/lib/osx/CppUnit.a; sourceTree = SOURCE_ROOT; }; - 5E25688110ED26CC00A9501C /* PocoFoundation.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoFoundation.a; path = ../../../libs/poco/lib/osx/PocoFoundation.a; sourceTree = SOURCE_ROOT; }; - 5E25688210ED26CC00A9501C /* PocoNet.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoNet.a; path = ../../../libs/poco/lib/osx/PocoNet.a; sourceTree = SOURCE_ROOT; }; - 5E25688310ED26CC00A9501C /* PocoUtil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoUtil.a; path = ../../../libs/poco/lib/osx/PocoUtil.a; sourceTree = SOURCE_ROOT; }; - 5E25688410ED26CC00A9501C /* PocoXML.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = PocoXML.a; path = ../../../libs/poco/lib/osx/PocoXML.a; sourceTree = SOURCE_ROOT; }; - BB16EBD10F2B2A9500518274 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - BB16EBD80F2B2AB500518274 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - BB24DD8C10DA77E000E9C588 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; - BB24DD8D10DA77E000E9C588 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = ""; }; - BB24DDC910DA781C00E9C588 /* ofxiphone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ofxiphone-Info.plist"; sourceTree = ""; }; - BB24DDCF10DA784F00E9C588 /* FreeImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FreeImage.h; sourceTree = ""; }; - BB24DDE210DA785000E9C588 /* ftconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftconfig.h; sourceTree = ""; }; - BB24DDE310DA785000E9C588 /* ftheader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftheader.h; sourceTree = ""; }; - BB24DDE410DA785000E9C588 /* ftmodule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftmodule.h; sourceTree = ""; }; - BB24DDE510DA785000E9C588 /* ftoption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftoption.h; sourceTree = ""; }; - BB24DDE610DA785000E9C588 /* ftstdlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftstdlib.h; sourceTree = ""; }; - BB24DDE710DA785000E9C588 /* freetype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freetype.h; sourceTree = ""; }; - BB24DDE810DA785000E9C588 /* ftbbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftbbox.h; sourceTree = ""; }; - BB24DDE910DA785000E9C588 /* ftbdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftbdf.h; sourceTree = ""; }; - BB24DDEA10DA785000E9C588 /* ftbitmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftbitmap.h; sourceTree = ""; }; - BB24DDEB10DA785000E9C588 /* ftcache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftcache.h; sourceTree = ""; }; - BB24DDEC10DA785000E9C588 /* ftchapters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftchapters.h; sourceTree = ""; }; - BB24DDED10DA785000E9C588 /* fterrdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fterrdef.h; sourceTree = ""; }; - BB24DDEE10DA785000E9C588 /* fterrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fterrors.h; sourceTree = ""; }; - BB24DDEF10DA785000E9C588 /* ftgasp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftgasp.h; sourceTree = ""; }; - BB24DDF010DA785000E9C588 /* ftglyph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftglyph.h; sourceTree = ""; }; - BB24DDF110DA785000E9C588 /* ftgxval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftgxval.h; sourceTree = ""; }; - BB24DDF210DA785000E9C588 /* ftgzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftgzip.h; sourceTree = ""; }; - BB24DDF310DA785000E9C588 /* ftimage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftimage.h; sourceTree = ""; }; - BB24DDF410DA785000E9C588 /* ftincrem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftincrem.h; sourceTree = ""; }; - BB24DDF510DA785000E9C588 /* ftlcdfil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftlcdfil.h; sourceTree = ""; }; - BB24DDF610DA785000E9C588 /* ftlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftlist.h; sourceTree = ""; }; - BB24DDF710DA785000E9C588 /* ftlzw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftlzw.h; sourceTree = ""; }; - BB24DDF810DA785000E9C588 /* ftmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftmac.h; sourceTree = ""; }; - BB24DDF910DA785000E9C588 /* ftmm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftmm.h; sourceTree = ""; }; - BB24DDFA10DA785000E9C588 /* ftmodapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftmodapi.h; sourceTree = ""; }; - BB24DDFB10DA785000E9C588 /* ftmoderr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftmoderr.h; sourceTree = ""; }; - BB24DDFC10DA785000E9C588 /* ftotval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftotval.h; sourceTree = ""; }; - BB24DDFD10DA785000E9C588 /* ftoutln.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftoutln.h; sourceTree = ""; }; - BB24DDFE10DA785000E9C588 /* ftpfr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftpfr.h; sourceTree = ""; }; - BB24DDFF10DA785000E9C588 /* ftrender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftrender.h; sourceTree = ""; }; - BB24DE0010DA785000E9C588 /* ftsizes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsizes.h; sourceTree = ""; }; - BB24DE0110DA785000E9C588 /* ftsnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsnames.h; sourceTree = ""; }; - BB24DE0210DA785000E9C588 /* ftstroke.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftstroke.h; sourceTree = ""; }; - BB24DE0310DA785000E9C588 /* ftsynth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsynth.h; sourceTree = ""; }; - BB24DE0410DA785000E9C588 /* ftsystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftsystem.h; sourceTree = ""; }; - BB24DE0510DA785000E9C588 /* fttrigon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fttrigon.h; sourceTree = ""; }; - BB24DE0610DA785000E9C588 /* fttypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fttypes.h; sourceTree = ""; }; - BB24DE0710DA785000E9C588 /* ftwinfnt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftwinfnt.h; sourceTree = ""; }; - BB24DE0810DA785000E9C588 /* ftxf86.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftxf86.h; sourceTree = ""; }; - BB24DE0910DA785000E9C588 /* t1tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = t1tables.h; sourceTree = ""; }; - BB24DE0A10DA785000E9C588 /* ttnameid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttnameid.h; sourceTree = ""; }; - BB24DE0B10DA785000E9C588 /* tttables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tttables.h; sourceTree = ""; }; - BB24DE0C10DA785000E9C588 /* tttags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tttags.h; sourceTree = ""; }; - BB24DE0D10DA785000E9C588 /* ttunpat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttunpat.h; sourceTree = ""; }; - BB24DE0E10DA785000E9C588 /* ft2build.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ft2build.h; sourceTree = ""; }; - BBE5EAB70F49AD8400F28951 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - DA7851271105C039007EFC90 /* glu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glu.h; sourceTree = ""; }; - DA7851281105C039007EFC90 /* gluos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gluos.h; sourceTree = ""; }; - E434BF6412477ED500452519 /* freeimage-iphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "freeimage-iphone.a"; path = "../../../libs/FreeImage/lib/iphone/freeimage-iphone.a"; sourceTree = SOURCE_ROOT; }; - E434BF6712477EDE00452519 /* freeimage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freeimage.a; path = ../../../libs/FreeImage/lib/osx/freeimage.a; sourceTree = SOURCE_ROOT; }; - E434BF7212477FBA00452519 /* freetype-iphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "freetype-iphone.a"; path = "../../../libs/freetype/lib/iphone/freetype-iphone.a"; sourceTree = SOURCE_ROOT; }; - E496D5AF1252C8210098A2B3 /* glu-iphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "glu-iphone.a"; path = "../../../libs/glu/lib/iphone/glu-iphone.a"; sourceTree = SOURCE_ROOT; }; - E496D5B01252C8210098A2B3 /* glu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = glu.a; path = ../../../libs/glu/lib/iphone/glu.a; sourceTree = SOURCE_ROOT; }; - E49BCC4812554B69009F19D0 /* iPhone+OF Lib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "iPhone+OF Lib.xcodeproj"; path = "../../../libs/openFrameworksCompiled/project/iphone/iPhone+OF Lib.xcodeproj"; sourceTree = SOURCE_ROOT; }; - E4A8229E12560AFE002F86A2 /* freetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = freetype.a; path = ../../../libs/freetype/lib/osx/freetype.a; sourceTree = SOURCE_ROOT; }; - E4A823A312561BE3002F86A2 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - E4D8936B11527B74007E1F53 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = main.mm; path = src/main.mm; sourceTree = SOURCE_ROOT; }; - E4D8936C11527B74007E1F53 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4D8936D11527B74007E1F53 /* testApp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = testApp.mm; path = src/testApp.mm; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E49BCC7A12554CD6009F19D0 /* libofxiPhone_macosx_Debug.a in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, - BB16EBD20F2B2A9500518274 /* OpenGLES.framework in Frameworks */, - BB16EBD90F2B2AB500518274 /* QuartzCore.framework in Frameworks */, - BBE5EAB80F49AD8400F28951 /* AudioToolbox.framework in Frameworks */, - 53F323EB10A20EDB00E0DAE4 /* OpenAL.framework in Frameworks */, - 5326AEA810A23A0500278DE6 /* CoreLocation.framework in Frameworks */, - 5E25689710ED26CC00A9501C /* CppUnit.a in Frameworks */, - 5E25689810ED26CC00A9501C /* PocoFoundation.a in Frameworks */, - 5E25689910ED26CC00A9501C /* PocoNet.a in Frameworks */, - 5E25689A10ED26CC00A9501C /* PocoUtil.a in Frameworks */, - 5E25689B10ED26CC00A9501C /* PocoXML.a in Frameworks */, - 5E2568A410ED26CD00A9501C /* CppUnit.a in Frameworks */, - 5E2568A510ED26CD00A9501C /* PocoFoundation.a in Frameworks */, - 5E2568A610ED26CD00A9501C /* PocoNet.a in Frameworks */, - 5E2568A710ED26CD00A9501C /* PocoUtil.a in Frameworks */, - 5E2568A810ED26CD00A9501C /* PocoXML.a in Frameworks */, - E434BF6512477ED500452519 /* freeimage-iphone.a in Frameworks */, - E434BF6812477EDE00452519 /* freeimage.a in Frameworks */, - E434BF7312477FBA00452519 /* freetype-iphone.a in Frameworks */, - E496D5B11252C8210098A2B3 /* glu-iphone.a in Frameworks */, - E496D5B21252C8210098A2B3 /* glu.a in Frameworks */, - E4A8229F12560AFE002F86A2 /* freetype.a in Frameworks */, - E4A823A412561BE3002F86A2 /* CoreGraphics.framework in Frameworks */, - 00EF442D12BAD6C000FF6AA4 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 00FA16B612B98DFC000A9A42 /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 00FA16B712B98DFC000A9A42 /* install.xml */, - 00FA16B812B98DFC000A9A42 /* libs */, - 00FA16BF12B98DFC000A9A42 /* src */, - ); - path = ofxMaxim; - sourceTree = ""; - }; - 00FA16B812B98DFC000A9A42 /* libs */ = { - isa = PBXGroup; - children = ( - 00FA16BD12B98DFC000A9A42 /* maximilian.cpp */, - 00FA16BE12B98DFC000A9A42 /* maximilian.h */, - ); - path = libs; - sourceTree = ""; - }; - 00FA16BF12B98DFC000A9A42 /* src */ = { - isa = PBXGroup; - children = ( - 00FA16C012B98DFC000A9A42 /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 1D6058910D05DD3D006BFB54 /* emptyExample.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { - isa = PBXGroup; - children = ( - BB24DDC910DA781C00E9C588 /* ofxiphone-Info.plist */, - E4D8936A11527B74007E1F53 /* src */, - BB24DD8B10DA77E000E9C588 /* data */, - BB24E1F710DAA51900E9C588 /* openFrameworks */, - BB16F26B0F2B646B00518274 /* addons */, - BB16E9930F2B1E5900518274 /* libs */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = CustomTemplate; - sourceTree = ""; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* iPhone_Prefix.pch */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* core frameworks */ = { - isa = PBXGroup; - children = ( - 53F323EA10A20EDB00E0DAE4 /* OpenAL.framework */, - E4A823A312561BE3002F86A2 /* CoreGraphics.framework */, - BBE5EAB70F49AD8400F28951 /* AudioToolbox.framework */, - BB16EBD80F2B2AB500518274 /* QuartzCore.framework */, - BB16EBD10F2B2A9500518274 /* OpenGLES.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - 288765FC0DF74451002DB57D /* CoreGraphics.framework */, - 5326AEA710A23A0500278DE6 /* CoreLocation.framework */, - 00EF442C12BAD6C000FF6AA4 /* Accelerate.framework */, - ); - name = "core frameworks"; - sourceTree = ""; - }; - 5E25686A10ED26BE00A9501C /* poco */ = { - isa = PBXGroup; - children = ( - 5E25686E10ED26CC00A9501C /* lib */, - ); - name = poco; - sourceTree = ""; - }; - 5E25686E10ED26CC00A9501C /* lib */ = { - isa = PBXGroup; - children = ( - 5E25686F10ED26CC00A9501C /* iphone */, - 5E25687F10ED26CC00A9501C /* osx */, - ); - name = lib; - path = ../../../libs/poco/lib; - sourceTree = SOURCE_ROOT; - }; - 5E25686F10ED26CC00A9501C /* iphone */ = { - isa = PBXGroup; - children = ( - 5E25687010ED26CC00A9501C /* CppUnit.a */, - 5E25687110ED26CC00A9501C /* PocoFoundation.a */, - 5E25687210ED26CC00A9501C /* PocoNet.a */, - 5E25687310ED26CC00A9501C /* PocoUtil.a */, - 5E25687410ED26CC00A9501C /* PocoXML.a */, - ); - name = iphone; - path = ../../../libs/poco/lib/iphone; - sourceTree = SOURCE_ROOT; - }; - 5E25687F10ED26CC00A9501C /* osx */ = { - isa = PBXGroup; - children = ( - 5E25688010ED26CC00A9501C /* CppUnit.a */, - 5E25688110ED26CC00A9501C /* PocoFoundation.a */, - 5E25688210ED26CC00A9501C /* PocoNet.a */, - 5E25688310ED26CC00A9501C /* PocoUtil.a */, - 5E25688410ED26CC00A9501C /* PocoXML.a */, - ); - name = osx; - path = ../../../libs/poco/lib/osx; - sourceTree = SOURCE_ROOT; - }; - BB16E9930F2B1E5900518274 /* libs */ = { - isa = PBXGroup; - children = ( - BBE5E94E0F497BD800F28951 /* core */, - ); - name = libs; - sourceTree = ""; - }; - BB16F26B0F2B646B00518274 /* addons */ = { - isa = PBXGroup; - children = ( - 00FA16B612B98DFC000A9A42 /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - BB24DD8B10DA77E000E9C588 /* data */ = { - isa = PBXGroup; - children = ( - BB24DD8C10DA77E000E9C588 /* Default.png */, - BB24DD8D10DA77E000E9C588 /* Icon.png */, - ); - name = data; - path = bin/data; - sourceTree = ""; - }; - BB24DDCD10DA784F00E9C588 /* FreeImage */ = { - isa = PBXGroup; - children = ( - BB24DDCE10DA784F00E9C588 /* include */, - BB24DDD010DA784F00E9C588 /* lib */, - ); - name = FreeImage; - path = ../../../libs/FreeImage; - sourceTree = SOURCE_ROOT; - }; - BB24DDCE10DA784F00E9C588 /* include */ = { - isa = PBXGroup; - children = ( - BB24DDCF10DA784F00E9C588 /* FreeImage.h */, - ); - path = include; - sourceTree = ""; - }; - BB24DDD010DA784F00E9C588 /* lib */ = { - isa = PBXGroup; - children = ( - E434BF6612477EDE00452519 /* osx */, - BB24DDD110DA784F00E9C588 /* iphone */, - ); - path = lib; - sourceTree = ""; - }; - BB24DDD110DA784F00E9C588 /* iphone */ = { - isa = PBXGroup; - children = ( - E434BF6412477ED500452519 /* freeimage-iphone.a */, - ); - path = iphone; - sourceTree = ""; - }; - BB24DDDD10DA785000E9C588 /* freetype */ = { - isa = PBXGroup; - children = ( - BB24DDDE10DA785000E9C588 /* include */, - BB24DE1110DA785000E9C588 /* lib */, - ); - name = freetype; - path = ../../../libs/freetype; - sourceTree = SOURCE_ROOT; - }; - BB24DDDE10DA785000E9C588 /* include */ = { - isa = PBXGroup; - children = ( - BB24DDDF10DA785000E9C588 /* freetype2 */, - BB24DE0E10DA785000E9C588 /* ft2build.h */, - ); - path = include; - sourceTree = ""; - }; - BB24DDDF10DA785000E9C588 /* freetype2 */ = { - isa = PBXGroup; - children = ( - BB24DDE010DA785000E9C588 /* freetype */, - ); - path = freetype2; - sourceTree = ""; - }; - BB24DDE010DA785000E9C588 /* freetype */ = { - isa = PBXGroup; - children = ( - BB24DDE110DA785000E9C588 /* config */, - BB24DDE710DA785000E9C588 /* freetype.h */, - BB24DDE810DA785000E9C588 /* ftbbox.h */, - BB24DDE910DA785000E9C588 /* ftbdf.h */, - BB24DDEA10DA785000E9C588 /* ftbitmap.h */, - BB24DDEB10DA785000E9C588 /* ftcache.h */, - BB24DDEC10DA785000E9C588 /* ftchapters.h */, - BB24DDED10DA785000E9C588 /* fterrdef.h */, - BB24DDEE10DA785000E9C588 /* fterrors.h */, - BB24DDEF10DA785000E9C588 /* ftgasp.h */, - BB24DDF010DA785000E9C588 /* ftglyph.h */, - BB24DDF110DA785000E9C588 /* ftgxval.h */, - BB24DDF210DA785000E9C588 /* ftgzip.h */, - BB24DDF310DA785000E9C588 /* ftimage.h */, - BB24DDF410DA785000E9C588 /* ftincrem.h */, - BB24DDF510DA785000E9C588 /* ftlcdfil.h */, - BB24DDF610DA785000E9C588 /* ftlist.h */, - BB24DDF710DA785000E9C588 /* ftlzw.h */, - BB24DDF810DA785000E9C588 /* ftmac.h */, - BB24DDF910DA785000E9C588 /* ftmm.h */, - BB24DDFA10DA785000E9C588 /* ftmodapi.h */, - BB24DDFB10DA785000E9C588 /* ftmoderr.h */, - BB24DDFC10DA785000E9C588 /* ftotval.h */, - BB24DDFD10DA785000E9C588 /* ftoutln.h */, - BB24DDFE10DA785000E9C588 /* ftpfr.h */, - BB24DDFF10DA785000E9C588 /* ftrender.h */, - BB24DE0010DA785000E9C588 /* ftsizes.h */, - BB24DE0110DA785000E9C588 /* ftsnames.h */, - BB24DE0210DA785000E9C588 /* ftstroke.h */, - BB24DE0310DA785000E9C588 /* ftsynth.h */, - BB24DE0410DA785000E9C588 /* ftsystem.h */, - BB24DE0510DA785000E9C588 /* fttrigon.h */, - BB24DE0610DA785000E9C588 /* fttypes.h */, - BB24DE0710DA785000E9C588 /* ftwinfnt.h */, - BB24DE0810DA785000E9C588 /* ftxf86.h */, - BB24DE0910DA785000E9C588 /* t1tables.h */, - BB24DE0A10DA785000E9C588 /* ttnameid.h */, - BB24DE0B10DA785000E9C588 /* tttables.h */, - BB24DE0C10DA785000E9C588 /* tttags.h */, - BB24DE0D10DA785000E9C588 /* ttunpat.h */, - ); - path = freetype; - sourceTree = ""; - }; - BB24DDE110DA785000E9C588 /* config */ = { - isa = PBXGroup; - children = ( - BB24DDE210DA785000E9C588 /* ftconfig.h */, - BB24DDE310DA785000E9C588 /* ftheader.h */, - BB24DDE410DA785000E9C588 /* ftmodule.h */, - BB24DDE510DA785000E9C588 /* ftoption.h */, - BB24DDE610DA785000E9C588 /* ftstdlib.h */, - ); - path = config; - sourceTree = ""; - }; - BB24DE1110DA785000E9C588 /* lib */ = { - isa = PBXGroup; - children = ( - E4A8229D12560AFE002F86A2 /* osx */, - BB24DE1210DA785000E9C588 /* iphone */, - ); - path = lib; - sourceTree = ""; - }; - BB24DE1210DA785000E9C588 /* iphone */ = { - isa = PBXGroup; - children = ( - E434BF7212477FBA00452519 /* freetype-iphone.a */, - ); - path = iphone; - sourceTree = ""; - }; - BB24DE1F10DA785000E9C588 /* glu */ = { - isa = PBXGroup; - children = ( - DA7851261105C039007EFC90 /* include_iphone */, - BB24DE2510DA785000E9C588 /* lib */, - ); - name = glu; - path = ../../../libs/glu; - sourceTree = SOURCE_ROOT; - }; - BB24DE2510DA785000E9C588 /* lib */ = { - isa = PBXGroup; - children = ( - BB24DE2610DA785000E9C588 /* iphone */, - ); - path = lib; - sourceTree = ""; - }; - BB24DE2610DA785000E9C588 /* iphone */ = { - isa = PBXGroup; - children = ( - E496D5AF1252C8210098A2B3 /* glu-iphone.a */, - E496D5B01252C8210098A2B3 /* glu.a */, - ); - path = iphone; - sourceTree = ""; - }; - BB24E1F710DAA51900E9C588 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E49BCC4812554B69009F19D0 /* iPhone+OF Lib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; - BB3F144E0F4C6BF200A33527 /* core libraries */ = { - isa = PBXGroup; - children = ( - 5E25686A10ED26BE00A9501C /* poco */, - BB24DDCD10DA784F00E9C588 /* FreeImage */, - BB24DDDD10DA785000E9C588 /* freetype */, - BB24DE1F10DA785000E9C588 /* glu */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - ); - name = "core libraries"; - sourceTree = ""; - }; - BBE5E94E0F497BD800F28951 /* core */ = { - isa = PBXGroup; - children = ( - BB3F144E0F4C6BF200A33527 /* core libraries */, - 29B97323FDCFA39411CA2CEA /* core frameworks */, - ); - name = core; - sourceTree = ""; - }; - DA7851261105C039007EFC90 /* include_iphone */ = { - isa = PBXGroup; - children = ( - DA7851271105C039007EFC90 /* glu.h */, - DA7851281105C039007EFC90 /* gluos.h */, - ); - path = include_iphone; - sourceTree = ""; - }; - E434BF6612477EDE00452519 /* osx */ = { - isa = PBXGroup; - children = ( - E434BF6712477EDE00452519 /* freeimage.a */, - ); - name = osx; - path = ../../../libs/FreeImage/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E49BCC4912554B69009F19D0 /* Products */ = { - isa = PBXGroup; - children = ( - E49BCC5012554B6A009F19D0 /* libofxiPhone_macosx_Debug.a */, - ); - name = Products; - sourceTree = ""; - }; - E4A8229D12560AFE002F86A2 /* osx */ = { - isa = PBXGroup; - children = ( - E4A8229E12560AFE002F86A2 /* freetype.a */, - ); - name = osx; - path = ../../../libs/freetype/lib/osx; - sourceTree = SOURCE_ROOT; - }; - E4D8936A11527B74007E1F53 /* src */ = { - isa = PBXGroup; - children = ( - E4D8936B11527B74007E1F53 /* main.mm */, - E4D8936D11527B74007E1F53 /* testApp.mm */, - E4D8936C11527B74007E1F53 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* emptyExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "emptyExample" */; - buildPhases = ( - 1D60588D0D05DD3D006BFB54 /* Resources */, - 1D60588E0D05DD3D006BFB54 /* Sources */, - 1D60588F0D05DD3D006BFB54 /* Frameworks */, - 9255DD331112741900D6945E /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - E49BCC6E12554C6C009F19D0 /* PBXTargetDependency */, - ); - name = emptyExample; - productName = iPhone; - productReference = 1D6058910D05DD3D006BFB54 /* emptyExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "iPhoneEmptyExample" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E49BCC4912554B69009F19D0 /* Products */; - ProjectRef = E49BCC4812554B69009F19D0 /* iPhone+OF Lib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 1D6058900D05DD3D006BFB54 /* emptyExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E49BCC5012554B6A009F19D0 /* libofxiPhone_macosx_Debug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libofxiPhone_macosx_Debug.a; - remoteRef = E49BCC4F12554B6A009F19D0 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 1D60588D0D05DD3D006BFB54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BB24DD8F10DA77E000E9C588 /* Default.png in Resources */, - BB24DD9010DA77E000E9C588 /* Icon.png in Resources */, - BB24DDCA10DA781C00E9C588 /* ofxiphone-Info.plist in Resources */, - 00FA16C112B98DFC000A9A42 /* install.xml in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 9255DD331112741900D6945E /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -rf bin/data/ \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 1D60588E0D05DD3D006BFB54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4D8936E11527B74007E1F53 /* main.mm in Sources */, - E4D8936F11527B74007E1F53 /* testApp.mm in Sources */, - 00FA16C412B98DFC000A9A42 /* maximilian.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E49BCC6E12554C6C009F19D0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "iPhone+OF Static Library"; - targetProxy = E49BCC6D12554C6C009F19D0 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 1D6058940D05DD3E006BFB54 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = iPhone_Prefix.pch; - GCC_THUMB_SUPPORT = NO; - INFOPLIST_FILE = "ofxiphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../libs/freetype/lib/osx\"", - ); - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "${TARGET_NAME}"; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 1D6058950D05DD3E006BFB54 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = iPhone_Prefix.pch; - GCC_THUMB_SUPPORT = NO; - INFOPLIST_FILE = "ofxiphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../libs/freetype/lib/osx\"", - ); - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "${TARGET_NAME}"; - SDKROOT = iphoneos; - }; - name = Release; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COMPRESS_PNG_FILES = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_THUMB_SUPPORT = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../../../libs/poco/include, - "../../../addons/ofxAccelerometer/**", - "../../../addons/ofxMultitouch/**", - "../../../addons/ofxiPhone/**", - "../../../libs/openFrameworks/**", - "../../../libs/freetype/**", - ); - IPHONEOS_DEPLOYMENT_TARGET = 4.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../libs/freetype/lib\"", - "\"$(SRCROOT)/../../../libs/freeimage/lib\"", - "\"$(SRCROOT)/../../../libs/FreeImage/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\"", - "\"$(SRCROOT)/../../../libs/freetype/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/freetype/lib/osx\"", - "\"$(SRCROOT)/../../../libs/glu/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/poco/lib/osx\"", - "\"$(SRCROOT)/../../../libs/poco/lib/iphone\"", - ); - MACOSX_DEPLOYMENT_TARGET = 10.5; - ONLY_ACTIVE_ARCH = NO; - OTHER_LDFLAGS = "-ObjC"; - PREBINDING = NO; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; - SDKROOT = iphoneos4.2; - TARGETED_DEVICE_FAMILY = 1; - WARNING_LDFLAGS = ""; - }; - name = Debug; - }; - C01FCF5008A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COMPRESS_PNG_FILES = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_THUMB_SUPPORT = NO; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../../../libs/poco/include, - "../../../addons/ofxAccelerometer/**", - "../../../addons/ofxMultitouch/**", - "../../../addons/ofxiPhone/**", - "../../../libs/openFrameworks/**", - "../../../libs/freetype/**", - ); - IPHONEOS_DEPLOYMENT_TARGET = 4.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../libs/freetype/lib\"", - "\"$(SRCROOT)/../../../libs/freeimage/lib\"", - "\"$(SRCROOT)/../../../libs/FreeImage/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\"", - "\"$(SRCROOT)/../../../libs/freetype/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/freetype/lib/osx\"", - "\"$(SRCROOT)/../../../libs/glu/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/poco/lib/osx\"", - "\"$(SRCROOT)/../../../libs/poco/lib/iphone\"", - ); - MACOSX_DEPLOYMENT_TARGET = 10.5; - ONLY_ACTIVE_ARCH = NO; - OTHER_LDFLAGS = "-ObjC"; - PREBINDING = NO; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; - SDKROOT = iphoneos4.2; - TARGETED_DEVICE_FAMILY = 1; - }; - name = Release; - }; - E49BCC2F12554938009F19D0 /* ReleaseArmv7 */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COMPRESS_PNG_FILES = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_THUMB_SUPPORT = NO; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../../../libs/poco/include, - "../../../addons/ofxAccelerometer/**", - "../../../addons/ofxMultitouch/**", - "../../../addons/ofxiPhone/**", - "../../../libs/openFrameworks/**", - "../../../libs/freetype/**", - ); - IPHONEOS_DEPLOYMENT_TARGET = 4.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../libs/freetype/lib\"", - "\"$(SRCROOT)/../../../libs/freeimage/lib\"", - "\"$(SRCROOT)/../../../libs/FreeImage/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/FreeImage/lib/osx\"", - "\"$(SRCROOT)/../../../libs/freetype/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/freetype/lib/osx\"", - "\"$(SRCROOT)/../../../libs/glu/lib/iphone\"", - "\"$(SRCROOT)/../../../libs/poco/lib/osx\"", - "\"$(SRCROOT)/../../../libs/poco/lib/iphone\"", - ); - MACOSX_DEPLOYMENT_TARGET = 10.5; - ONLY_ACTIVE_ARCH = NO; - OTHER_LDFLAGS = "-ObjC"; - PREBINDING = NO; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; - SDKROOT = iphoneos4.2; - TARGETED_DEVICE_FAMILY = 1; - }; - name = ReleaseArmv7; - }; - E49BCC3012554938009F19D0 /* ReleaseArmv7 */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = iPhone_Prefix.pch; - GCC_THUMB_SUPPORT = NO; - INFOPLIST_FILE = "ofxiphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../libs/freetype/lib/osx\"", - ); - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "${TARGET_NAME}"; - SDKROOT = iphoneos; - }; - name = ReleaseArmv7; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1D6058940D05DD3E006BFB54 /* Debug */, - 1D6058950D05DD3E006BFB54 /* Release */, - E49BCC3012554938009F19D0 /* ReleaseArmv7 */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "iPhoneEmptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - C01FCF5008A954540054247B /* Release */, - E49BCC2F12554938009F19D0 /* ReleaseArmv7 */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhone_Prefix.pch b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhone_Prefix.pch deleted file mode 100644 index fd3401c..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/iPhone_Prefix.pch +++ /dev/null @@ -1,8 +0,0 @@ -// -// Prefix header for all source files of the 'iPhone' target in the 'iPhone' project -// - -#ifdef __OBJC__ - #import - #import -#endif diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/install.xml b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/install.xml deleted file mode 100644 index 58923be..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/install.xml +++ /dev/null @@ -1,35 +0,0 @@ - - 0.1 - Goldsmiths Creative Computing - http://www.maximilian.strangeloop.co.uk/ - - - - - - - - - - - - ../../../addons/ofxMaxim/src/ofxMaxim.h - - - - ../../../addons/ofxMaxim/libs/fft.h - ../../../addons/ofxMaxim/libs/fft.cpp - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.h - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.cpp - ../../../addons/ofxMaxim/libs/maximilian.h - ../../../addons/ofxMaxim/libs/maximilian.cpp - - - - - - ../../../addons/ofxMaxim/src - ../../../addons/ofxMaxim/libs - - - \ No newline at end of file diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.cpp b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.cpp deleted file mode 100644 index 3f13bd2..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.cpp +++ /dev/null @@ -1,608 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ -/* - - fft.cpp - - Based on K+R Numerical recipes in C and some other stuff hacked about. - - */ - -#include "fft.h" -#include -#include -#include -#include - -int **gFFTBitTable = NULL; -const int MaxFastBits = 16; - -int IsPowerOfTwo(int x) -{ - if (x < 2) - return false; - - if (x & (x - 1)) - return false; - - return true; -} - -int NumberOfBitsNeeded(int PowerOfTwo) -{ - int i; - - if (PowerOfTwo < 2) { - fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); - exit(1); - } - - for (i = 0;; i++) - if (PowerOfTwo & (1 << i)) - return i; -} - -int ReverseBits(int index, int NumBits) -{ - int i, rev; - - for (i = rev = 0; i < NumBits; i++) { - rev = (rev << 1) | (index & 1); - index >>= 1; - } - - return rev; -} - -void InitFFT() -{ -// gFFTBitTable = new int *[MaxFastBits]; - //use malloc for 16 byte alignment - gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); - - int len = 2; - for (int b = 1; b <= MaxFastBits; b++) { - -// gFFTBitTable[b - 1] = new int[len]; - gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); - - for (int i = 0; i < len; i++) - gFFTBitTable[b - 1][i] = ReverseBits(i, b); - - len <<= 1; - } -} - -inline int FastReverseBits(int i, int NumBits) -{ - if (NumBits <= MaxFastBits) - return gFFTBitTable[NumBits - 1][i]; - else - return ReverseBits(i, NumBits); -} - -/* - * Complex Fast Fourier Transform - */ - -void FFT(int NumSamples, - bool InverseTransform, - float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) -{ - int NumBits; /* Number of bits needed to store indices */ - int i, j, k, n; - int BlockSize, BlockEnd; - - double angle_numerator = 2.0 * M_PI; - float tr, ti; /* temp real, temp imaginary */ - - if (!IsPowerOfTwo(NumSamples)) { - fprintf(stderr, "%d is not a power of two\n", NumSamples); - exit(1); - } - - if (!gFFTBitTable) - InitFFT(); - - if (InverseTransform) - angle_numerator = -angle_numerator; - - NumBits = NumberOfBitsNeeded(NumSamples); - - /* - ** Do simultaneous data copy and bit-reversal ordering into outputs... - */ - - for (i = 0; i < NumSamples; i++) { - j = FastReverseBits(i, NumBits); - RealOut[j] = RealIn[i]; - ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; - } - - /* - ** Do the FFT itself... - */ - - BlockEnd = 1; - for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { - - double delta_angle = angle_numerator / (double) BlockSize; - - float sm2 = sin(-2 * delta_angle); - float sm1 = sin(-delta_angle); - float cm2 = cos(-2 * delta_angle); - float cm1 = cos(-delta_angle); - float w = 2 * cm1; - float ar0, ar1, ar2, ai0, ai1, ai2; - - for (i = 0; i < NumSamples; i += BlockSize) { - ar2 = cm2; - ar1 = cm1; - - ai2 = sm2; - ai1 = sm1; - - for (j = i, n = 0; n < BlockEnd; j++, n++) { - ar0 = w * ar1 - ar2; - ar2 = ar1; - ar1 = ar0; - - ai0 = w * ai1 - ai2; - ai2 = ai1; - ai1 = ai0; - - k = j + BlockEnd; - tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; - ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; - - RealOut[k] = RealOut[j] - tr; - ImagOut[k] = ImagOut[j] - ti; - - RealOut[j] += tr; - ImagOut[j] += ti; - } - } - - BlockEnd = BlockSize; - } - - /* - ** Need to normalize if inverse transform... - */ - - if (InverseTransform) { - float denom = (float) NumSamples; - - for (i = 0; i < NumSamples; i++) { - RealOut[i] /= denom; - ImagOut[i] /= denom; - } - } -} - -/* - * Real Fast Fourier Transform - * - * This function was based on the code in Numerical Recipes in C. - * In Num. Rec., the inner loop is based on a single 1-based array - * of interleaved real and imaginary numbers. Because we have two - * separate zero-based arrays, our indices are quite different. - * Here is the correspondence between Num. Rec. indices and our indices: - * - * i1 <-> real[i] - * i2 <-> imag[i] - * i3 <-> real[n/2-i] - * i4 <-> imag[n/2-i] - */ - -void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = (float*) malloc(Half * sizeof(float)); - float *tmpImag = (float*) malloc(Half * sizeof(float)); - - for (i = 0; i < Half; i++) { - tmpReal[i] = RealIn[2 * i]; - tmpImag[i] = RealIn[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - RealOut[i] = h1r + wr * h2r - wi * h2i; - ImagOut[i] = h1i + wr * h2i + wi * h2r; - RealOut[i3] = h1r - wr * h2r + wi * h2i; - ImagOut[i3] = -h1i + wr * h2i + wi * h2r; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - - RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; - ImagOut[0] = h1r - ImagOut[0]; - - delete[]tmpReal; - delete[]tmpImag; -} - -/* - * PowerSpectrum - * - * This function computes the same as RealFFT, above, but - * adds the squares of the real and imaginary part of each - * coefficient, extracting the power and throwing away the - * phase. - * - * For speed, it does not call RealFFT, but duplicates some - * of its code. - */ - -void PowerSpectrum(int NumSamples, float *In, float *Out) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = new float[Half]; - float *tmpImag = new float[Half]; - float *RealOut = new float[Half]; - float *ImagOut = new float[Half]; - - for (i = 0; i < Half; i++) { - tmpReal[i] = In[2 * i]; - tmpImag[i] = In[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i, rt, it; - //float total=0; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); - it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); - - Out[i] = rt * rt + it * it; - - rt = h1r - wr * h2r + wi * h2i; - it = -h1i + wr * h2i + wi * h2r; - - Out[i3] = rt * rt + it * it; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - //printf("total = %f\n",total); - rt = (h1r = RealOut[0]) + ImagOut[0]; - it = h1r - ImagOut[0]; - Out[0] = rt * rt + it * it; - - rt = RealOut[Half / 2]; - it = ImagOut[Half / 2]; - Out[Half / 2] = rt * rt + it * it; - - delete[]tmpReal; - delete[]tmpImag; - delete[]RealOut; - delete[]ImagOut; -} - -/* - * Windowing Functions - */ - -int NumWindowFuncs() -{ - return 4; -} - -char *WindowFuncName(int whichFunction) -{ - switch (whichFunction) { - default: - case 0: - return "Rectangular"; - case 1: - return "Bartlett"; - case 2: - return "Hamming"; - case 3: - return "Hanning"; - } -} - -void WindowFunc(int whichFunction, int NumSamples, float *in) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - in[i] *= (i / (float) (NumSamples / 2)); - in[i + (NumSamples / 2)] *= - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -void fft::genWindow(int whichFunction, int NumSamples, float *window) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - window[i] = (i / (float) (NumSamples / 2)); - window[i + (NumSamples / 2)] = - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -/* constructor */ -fft::fft(int fftSize) { - n = fftSize; - half = fftSize / 2; - //use malloc for 16 byte alignment - in_real = (float *) malloc(n * sizeof(float)); - in_img = (float *) malloc(n * sizeof(float)); - out_real = (float *) malloc(n * sizeof(float)); - out_img = (float *) malloc(n * sizeof(float)); - -#ifdef __APPLE_CC__ - log2n = log2(n); - A.realp = (float *) malloc(half * sizeof(float)); - A.imagp = (float *) malloc(half * sizeof(float)); - setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); - if (setupReal == NULL) { - printf("\nFFT_Setup failed to allocate enough memory for" - "the real FFT.\n"); - } - polar = (float *) malloc(n * sizeof(float)); -#endif -} - -/* destructor */ -fft::~fft() { - delete[] in_real, out_real, in_img, out_img; -#ifdef __APPLE_CC__ - vDSP_destroy_fftsetup(setupReal); - delete[] A.realp; - delete[] A.imagp; - delete[] polar; -#endif - -} - -/* Calculate the power spectrum */ -void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { - int i; - - //windowing - for (i = 0; i < n; i++) { - in_real[i] = data[start + i] * window[i]; - } - - - RealFFT(n, in_real, out_real, out_img); - - for (i = 0; i < half; i++) { - /* compute power */ - float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; - /* compute magnitude and phase */ - magnitude[i] = sqrt(power); - phase[i] = atan2(out_img[i],out_real[i]); - -// if (magnitude[i] < 0.000001){ // less than 0.1 nV -// magnitude[i] = 0; // out of range -// } else { -// magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale -// } - } - -} - -void fft::convToDB(float *in, float *out) { - for (int i = 0; i < half; i++) { - if (in[i] < 0.000001){ // less than 0.1 nV - out[i] = 0; // out of range - } else { - out[i] = 20.0*log10(in[i] + 1); // get to to db scale - } - } -} - - -#ifdef __APPLE_CC__ - -/* Calculate the power spectrum */ -void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { - - uint32_t i; - - //multiply by window - vDSP_vmul(data, 1, window, 1, in_real, 1, n); - - //convert to split complex format - evens and odds - vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); - - - //calc fft - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); - - //scale by 2 (see vDSP docs) - static float scale=0.5 ; - vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); - vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); - - //back to split complex format - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - //convert to polar - vDSP_polar(out_real, 2, polar, 2, half); - - for (i = 0; i < half; i++) { - magnitude[i]=polar[2*i]+1.0; - phase[i]=polar[2*i + 1]; - } - - - -} - -void fft::convToDB_vdsp(float *in, float *out) { - float ref = 1.0; - vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); - //get rid of any -infs - float vmin=0.0; - float vmax=9999999.0; - vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); -} - -#endif - -void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { - int i; - - /* get real and imag part */ - for (i = 0; i < half; i++) { -// float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; -// in_real[i] = mag *cos(phase[i]); -// in_img[i] = mag *sin(phase[i]); - in_real[i] = magnitude[i] *cos(phase[i]); - in_img[i] = magnitude[i] *sin(phase[i]); - } - - /* zero negative frequencies */ - memset(in_real+half, half, 0.0); - memset(in_img+half, half, 0.0); - - FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform - - for (i = 0; i < n; i++) { - finalOut[start + i] += out_real[i] * window[i] - ; - } - -} - - -#ifdef __APPLE_CC__ -void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { - uint32_t i; - - for (i = 0; i < half; i++) { -// polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; - polar[2*i] = magnitude[i] - 1.0; - polar[2*i + 1] = phase[i]; - } - - vDSP_rect(polar, 2, in_real, 2, half); - - vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - static float scale = 1./n; - vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); - - //multiply by window - vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); - -} - -#endif diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.h b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.h deleted file mode 100644 index f7e1947..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/fft.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _FFT -#define _FFT - -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifdef __APPLE_CC__ - #include - #warning Please link against the Accelerate framework -#endif - - - -class fft { - -public: - - fft(int fftSize); - ~fft(); - - int n; //fftSize - int half; //halfFFTSize - - float *in_real, *out_real, *in_img, *out_img; - -#ifdef __APPLE_CC__ - int log2n; //log2(n); - FFTSetup setupReal; - COMPLEX_SPLIT A; - float *polar; - void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); - void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB_vdsp(float *in, float *out); -#endif; - - /* Calculate the power spectrum */ - void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); - /* ... the inverse */ - void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB(float *in, float *out); - - static void genWindow(int whichFunction, int NumSamples, float *window); - -}; - - -#endif diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.cpp deleted file mode 100644 index 36034b2..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maxiFFT.h" -#include "maximilian.h" -#include -#include "math.h" - -using namespace std; - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - magnitudes = (float *) malloc(bins * sizeof(float)); - magnitudesDB = (float *) malloc(bins * sizeof(float)); - phases = (float *) malloc(bins * sizeof(float)); - avgPower = new float; - memset(buffer, 0, fftSize * sizeof(float)); - memset(magnitudes, 0, bins * sizeof(float)); - memset(magnitudesDB, 0, bins * sizeof(float)); - memset(phases, 0, bins * sizeof(float)); - *avgPower = 0; - pos =windowSize - hopSize; - newFFT = 0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -bool maxiFFT::process(float value) { - //add value to buffer at current pos - buffer[pos++] = value; - //if buffer full, run fft - newFFT = pos == windowSize; - if (newFFT) { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); -#else - _fft->powerSpectrum(0, buffer, window, magnitudes, phases); -#endif - //shift buffer back by one hop size - memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); - //set the new data to zero (is this necessary?, it will get overwritten) - memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); - //reset pos to start of hop - pos= windowSize - hopSize; - } - return newFFT; -} - -float* maxiFFT::magsToDB() { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->convToDB_vdsp(magnitudes, magnitudesDB); -#else - _fft->convToDB(magnitudes, magnitudesDB); -#endif - return magnitudesDB; -} - -float maxiFFT::spectralFlatness() { - float geometricMean=0, arithmaticMean=0; - for(int i=0; i < bins; i++) { - if (magnitudes[i] != 0) - geometricMean += log(magnitudes[i]); - arithmaticMean += magnitudes[i]; - } - geometricMean = exp(geometricMean / (float)bins); - arithmaticMean /= (float)bins; - return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; -} - -float maxiFFT::spectralCentroid() { - float x=0, y=0; - for(int i=0; i < bins; i++) { - x += fabs(magnitudes[i]) * (i+1); - y += fabs(magnitudes[i]); - } - return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; -} - - - -maxiFFT::~maxiFFT() { - delete _fft; - if (buffer) - delete[] buffer,magnitudes,phases,window, avgPower; -} - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//I N V E R S E F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - ifftOut = (float *) malloc(fftSize * sizeof(float)); - memset(buffer, 0, windowSize * sizeof(float)); - pos =0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -float maxiIFFT::process(float *magnitudes, float *phases) { - if (0==pos) { - //do ifft - memset(ifftOut, 0, fftSize * sizeof(float)); -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); -#else - _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); -#endif - //add to output - //shift back by one hop - memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); - //clear the end chunk - memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); - //merge new output - for(int i=0; i < fftSize; i++) { - buffer[i] += ifftOut[i]; - } - } - - nextValue = buffer[pos]; - //limit the values, this alg seems to spike occasionally (and break the audio drivers) - if (nextValue > 0.99999f) nextValue = 0.99999f; - if (nextValue < -0.99999f) nextValue = -0.99999f; - if (hopSize == ++pos ) { - pos=0; - } - - return nextValue; -} - -maxiIFFT::~maxiIFFT() { - delete _fft; - delete[] ifftOut, buffer, window; -}; - - - - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//O C T A V E A N A L Y S E R -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - -void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ - - samplingRate = samplingRate; - nSpectrum = nBandsInTheFFT; - spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); - nAverages = nBandsInTheFFT; - // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc - if (nAveragesPerOctave==0) // um, wtf? - nAveragesPerOctave = 1; - nAveragesPerOctave = nAveragesPerOctave; - averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); - // this isn't currently configurable (used once here then no effect), but here's some reasoning: - // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 - // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 - // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 - // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) - // but don't go much smaller unless you have a huge fft window size (see below for more why) - // keep in mind, if you change it, that the number of actual bands may change +/-1, and - // for some values, the last averaging band may not be very useful (may extend above nyquist) - firstOctaveFrequency = 55.0f; - // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. - // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. - // with more spectrum bins, you can better map into the averaging bins (especially at low - // frequencies) or use more averaging bins per octave. with an fft window size of 2048, - // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave - // analysis. if you don't have enough spectrum bins to map adequately into averaging bins - // at the requested number per octave then you'll end up with "empty" averaging bins, where - // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, - // either increase fft buffer size, or decrease number of averages per octave, etc) - spe2avg = new int[nSpectrum]; - int avgidx = 0; - float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin - // we're looking for the "top" of the first spectrum bin, and i'm just sort of - // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) - // ... either way it's probably close enough for these purposes - float spectrumFreq = spectrumFrequencySpan; - for (int speidx=0; speidx < nSpectrum; speidx++) { - while (spectrumFreq > averageFreq) { - avgidx++; - averageFreq *= averageFrequencyIncrement; - } - spe2avg[speidx] = avgidx; - spectrumFreq += spectrumFrequencySpan; - } - nAverages = avgidx; - averages = new float[nAverages]; - peaks = new float[nAverages]; - peakHoldTimes = new int[nAverages]; - peakHoldTime = 0; // arbitrary - peakDecayRate = 0.9f; // arbitrary - linearEQIntercept = 1.0f; // unity -- no eq by default - linearEQSlope = 0.0f; // unity -- no eq by default -} - -void maxiFFTOctaveAnalyzer::calculate(float * fftData){ - - int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average - float sum = 0.0f; // running total of spectrum data - int count = 0; // count of spectrums accumulated (for averaging) - for (int speidx=0; speidx < nSpectrum; speidx++) { - count++; - sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); - int avgidx = spe2avg[speidx]; - if (avgidx != last_avgidx) { - - for (int j = last_avgidx; j < avgidx; j++){ - averages[j] = sum / (float)(count); - } - count = 0; - sum = 0.0f; - } - last_avgidx = avgidx; - } - // the last average was probably not calculated... - if ((count > 0) && (last_avgidx < nAverages)){ - averages[last_avgidx] = sum / (float)(count); - } - - // update the peaks separately - for (int i=0; i < nAverages; i++) { - if (averages[i] >= peaks[i]) { - // save new peak level, also reset the hold timer - peaks[i] = averages[i]; - peakHoldTimes[i] = peakHoldTime; - } else { - // current average does not exceed peak, so hold or decay the peak - if (peakHoldTimes[i] > 0) { - peakHoldTimes[i]--; - } else { - peaks[i] *= peakDecayRate; - } - } - } -} diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.h deleted file mode 100644 index d099e84..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiFFT.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _MAXI_FFT -#define _MAXI_FFT - -//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions - - -#include "fft.h" -#include "stddef.h" - -class maxiFFT { - -public: - maxiFFT(){ - _fft = NULL; - buffer = magnitudes = phases = window = avgPower = NULL; - }; - ~maxiFFT(); - void setup(int fftSize, int windowSize, int hopSize); - bool process(float value); - float* magsToDB(); - float *magnitudes, *phases, *magnitudesDB; - float *avgPower; - int windowSize; - int hopSize; - int bins; - - //features - float spectralFlatness(); - float spectralCentroid(); - -private: - float *buffer, *window; - int pos; - float nextValue; - int fftSize; - fft *_fft; - bool newFFT; - -}; - -class maxiIFFT { - -public: - maxiIFFT(){ - _fft=0; - }; - ~maxiIFFT(); - void setup(int fftSize, int windowSize, int hopSize); - float process(float *magnitudes, float *phases); - -private: - float *ifftOut, *buffer, *window; - int windowSize; - int bins; - int hopSize; - int pos; - float nextValue; - int fftSize; - fft *_fft; -}; - - -class maxiFFTOctaveAnalyzer { -/*based on code by David Bollinger, http://www.davebollinger.com/ - */ -public: - - float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) - int nSpectrum; // number of spectrum bins in the fft - int nAverages; // number of averaging bins here - int nAveragesPerOctave; // number of averages per octave as requested by user - float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz - float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz - float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies - float * averages; // the actual averages - float * peaks; // peaks of the averages, aka "maxAverages" in other implementations - int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 - int peakHoldTime; // how long do we hold peaks? (in fft frames) - float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all - int * spe2avg; // the mapping between spectrum[] indices and averages[] indices - // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale - // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear - // equalizer instead: - float linearEQSlope; // the rate of linear eq - float linearEQIntercept; // the base linear scaling used at the first averaging bin - // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) - // so.. note that clever use of it can also provide a "gain" control of sorts - // (fe: set intercept to 2f and slope to 0f to double gain) - - void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); - - void calculate(float * fftData); - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.cpp b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.cpp deleted file mode 100644 index 951f3b5..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "maxiGrains.h" - - - - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.h b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.h deleted file mode 100644 index d17ffc9..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiGrains.h +++ /dev/null @@ -1,443 +0,0 @@ - - -#ifndef _MAXI_GRAINS_H -#define _MAXI_GRAINS_H -#include "maximilian.h" - -#if defined(__APPLE_CC__) -#include "accelerate/accelerate.h"; -//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. -//#define MAXIGRAINFAST -#endif - -#define PI 3.1415926535897932384626433832795028841968 - -#include - -typedef unsigned long ulong; - -//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows - -struct hannWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - -//this window can produce clicks -struct hammingWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - - -struct cosineWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return sin((PI * windowPos) / (windowLength - 1)); - } -}; - -struct rectWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 1; - } -}; - -struct triangleWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct triangleNZWinFunctor { - //non zero end points - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct blackmanHarrisWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.35875 - - (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct blackmanNutallWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.3635819 - - (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -template -class maxiGrainWindowCache { -public: - unsigned int cacheSize; - - maxiGrainWindowCache() { - cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains - cache = (double**)malloc(cacheSize * sizeof(double*)); - for(int i=0; i < cacheSize; i++) { - cache[i] = NULL; - } - } - - ~maxiGrainWindowCache() { - for(int i=0; i < cacheSize; i++) { - if(NULL != cache[i]) { - delete[] cache[i]; - } - } - } - - double* getWindow(const unsigned int length) { - if (NULL == cache[length]) { - cache[length] = (double*)malloc(length * sizeof(double)); - for(int i=0; i < length; i++) { - cache[length][i] = F()(length, i); - } - } - return cache[length]; - } - -private: - double** cache; - -}; - -class maxiGrainBase { -public: - virtual double play() = 0; - bool finished; -}; - -template -class maxiGrain : public maxiGrainBase { -public: - maxiSample *sample; - double pos; - double dur; - ulong sampleStartPos; - ulong sampleIdx; - ulong sampleDur; - ulong sampleEndPos; - double freq; - double speed; - // F winFunc; - double inc; - double frequency; - double* window; -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - double* grainSamples; -#endif - /* - position between 0.0 and 1.0 - duration in seconds - */ - maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) - { - sampleStartPos = sample->length * pos; - sampleDur = dur * (double)sample->mySampleRate; - sampleDurMinusOne = sampleDur - 1; - sampleIdx = 0; - finished = 0; - freq = 1.0 / dur; - sampleEndPos = sampleStartPos + sampleDur; - frequency = freq * speed; - if (frequency > 0) { - pos = sampleStartPos; - }else{ - pos = sampleEndPos; - } - inc = sampleDur/(maxiSettings::sampleRate/frequency); - window = windowCache->getWindow(sampleDur); - -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - //premake the grain using fast vector functions, and quadratic interpolation - double *sourceData = (double*)malloc(sampleDur * sizeof(double)); - short* buffer = (short *)sample->myData; - //convert sample to double data - vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); - //todo: wraping code - - grainSamples = (double*)malloc(sampleDur * sizeof(double)); - //make list of interpolation indexes - double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); - double interpPos = sampleStartPos; - for(int i=0; i < sampleDur; i++) { - interpIndexes[i] = interpPos - sampleStartPos; - interpPos += fabs(inc); - } - vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); - if (frequency < 0) { - vDSP_vrvrsD(grainSamples,1, sampleDur); - } - static double divFactor = 32767.0; - vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); - vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); - delete sourceData, interpIndexes; -#endif - } - - ~maxiGrain() { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - delete[] grainSamples; -#endif - } - - double play() { - double output = 0.0; - if (!finished) { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - output = grainSamples[sampleIdx]; -#else - envValue = window[sampleIdx]; - double remainder; - long a,b; - short* buffer = (short *)sample->myData; - if (frequency >0.) { - pos += inc; - long posl = static_cast(pos); - remainder = pos - posl; - a=posl++; - if (a>=sample->length) { - a=posl-1; - } - b = posl+2; - if (b>=sample->length) { - b=sample->length-1; - } - output = (double) ((1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - } else { - frequency=frequency-(frequency+frequency); - pos += inc; - long posl = static_cast(pos); - remainder = pos - posl; - if (posl-1>=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - } - output *= envValue; -#endif - } - sampleIdx++; - if (sampleIdx >= sampleDur) finished = 1; - return output; - } - -private: - maxiGrain(); - double envValue; - ulong sampleDurMinusOne; -}; - - -typedef list grainList; - -class maxiGrainPlayer { -public: - grainList grains; - maxiSample *sample; - - maxiGrainPlayer(maxiSample *sample) : sample(sample) { - } - - void addGrain(maxiGrainBase *g) { - grains.push_back(g); - } - - double play() { - double total = 0.0; - for(grainList::iterator it = grains.begin(); it != grains.end(); ++it) { - total += (*it)->play(); - if ((*it)->finished) { - delete(*it); - grains.erase(it); - } - } - return total; - } -}; - -template -class maxiTimestretch { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiTimestretch(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiTimestretch() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * speed); - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - speed = (speed > 0 ? 1 : -1); - // speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - double play2(double pos, double grainLength, int overlaps) { - cycles++; - pos *= sample->length; - if (0 == floor(fmod(cycles, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position -//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. -//with both high speed values and negative speed values there are some terrific artefacts! - -template -class maxiPitchShift { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchShift(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchShift() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + 1; - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - double play2(double pos, double grainLength, int overlaps) { - cycles++; - pos *= sample->length; - if (0 == floor(fmod(cycles, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. -//the rest is the same. - -template -class maxiPitchStretch { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchStretch(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchStretch() { - delete grainPlayer; - } - - double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * rate); - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - double play2(double pos, double grainLength, int overlaps) { - cycles++; - pos *= sample->length; - if (0 == floor(fmod(cycles, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.cpp deleted file mode 100644 index e72fd75..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - * maxiMFCC.cpp - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiMFCC.h" - - - -template <> -void maxiMFCCAnalyser::dct(double *mfccs) { - vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - double n = (double) numCoeffs; - vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::dct(float *mfccs) { - vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - float n = (float) numCoeffs; - vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - //conv to double - vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); - // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); - vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(); -} - - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(); -} - -template -void maxiMFCCAnalyser::melFilterAndLogSq_Part2() { -#ifdef __APPLE_CC__ -#else - for (int filter = 0;filter < numFilters;filter++) { - melBands[filter] = 0.0; - for (int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; - } -} - - - - - - - - - - - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.h deleted file mode 100644 index 60bfe04..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maxiMFCC.h +++ /dev/null @@ -1,204 +0,0 @@ -/* - * maxiMFCC.h - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - - Based on Matthew Yee-King's MFCCMYK java class - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - - -// implements this formula: -// mel = 2595 log10(Hz/700 + 1) -inline double hzToMel(double hz){ - return 2595.0 * (log10(hz/700.0 + 1.0)); -} - -// implements this formula -// Hz = 700 (10^(mel/2595) - 1) -inline double melToHz(double mel){ - return 700.0 * (pow(10, mel/2595.0) - 1.0); -} - -template -class maxiMFCCAnalyser { -public: - T *melBands; - maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; - ~maxiMFCCAnalyser() { - if (melFilters) { - delete[] melFilters; - delete[] melBands; - delete[] dctMatrix; -#ifdef __APPLE_CC__ - delete doubleSpec; -#endif - } - } - - void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) - { - this->numFilters = numFilters; - this->numCoeffs = numCoeffs; - this->minFreq = minFreq; - this->maxFreq = maxFreq; - this->sampleRate = sampleRate; - this->numBins = numBins; - melFilters = NULL; - melBands = (T*) malloc(sizeof(T) * numFilters); -#ifdef __APPLE_CC__ - doubleSpec = (T*)malloc(sizeof(T) * numBins); -#endif - //create new matrix - dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); - calcMelFilterBank(sampleRate, numBins); - createDCTCoeffs(); - } - void mfcc(float* powerSpectrum, T *mfccs) { - melFilterAndLogSquare(powerSpectrum); - dct(mfccs); - } - -private: - unsigned int numFilters, numCoeffs; - double minFreq, maxFreq; - unsigned int sampleRate; - T *melFilters; - unsigned int numBins; - T *dctMatrix; -#ifdef __APPLE_CC__ - T *doubleSpec; -#endif - -#ifdef __APPLE_CC__ - void dct(T *mfccs); //define later -#else - void dct(T *mfccs) { - for(int i=0; i < numCoeffs; i++) { - mfccs[i] = 0.0; - } - for(int i=0; i < numCoeffs; i++ ) { - for(int j=0; j < numFilters; j++) { - int idx = i + (j * numCoeffs); - mfccs[i] += (dctMatrix[idx] * melBands[j]); - } - } - for(int i=0; i < numCoeffs; i++) { - mfccs[i] /= numCoeffs; - } - } -#endif - - void melFilterAndLogSquare(float* powerSpectrum); - void melFilterAndLogSq_Part2(); - - - void calcMelFilterBank(double sampleRate, int numBins) { - - double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; - int numValidBins; - - // ignore bins over nyquist - numValidBins = numBins; - - nyquist = sampleRate/2; - if (maxFreq > nyquist) { - maxFreq = nyquist; - } - - maxMel = hzToMel(maxFreq); - minMel = hzToMel(minFreq); - - dMel = (maxMel - minMel) / (numFilters + 2 - 1); - - T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); - - // first generate an array of start and end freqs for each triangle - mel = minMel; - for (int i=0;i nextF || binFreq < prevF) { - // outside this filter - melFilters[idx] = 0; - //cout << "MFCCMYK: filter at " < maxiMFCC; -//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.cpp deleted file mode 100644 index 63b9a34..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.cpp +++ /dev/null @@ -1,1028 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - - -//int channels=2; -//int samplerate=44100; -//int buffersize=1024; -float chandiv= 1; - -int maxiSettings::sampleRate = 44100; -int maxiSettings::channels = 2; -int maxiSettings::bufferSize = 1024; - -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - phase = 0.0; - // memset(phases,0,500); - // memset(freqs,0,500); -} - -double maxiOsc::noise() { - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -void maxiOsc::phaseReset(double phaseIn) { - phase=phaseIn; - -} - -double maxiOsc::sinewave(double frequency) { - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { - double remainder; - phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency) { - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phase <= 0.5 ) { - output =((phase)*4)-1; - } else { - output =((0.5-phase)*4)-1; - } - return(output); - -} - -//I like this. -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - if (isPlaying==1) {//only make a sound once you've been triggered - - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - - } - else { - output=0; - - } - return(output); -} - -//and this -void maxiEnvelope::trigger(int index, double amp) { - isPlaying=1;//ok the envelope is being used now. - valindex=index; - amplitude=amp; - -} - -//and this - -maxiDelayline::maxiDelayline() { - memset( memory, 0, 88200*sizeof (double) ); - -} - - -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) { - phase = 0; - } - output=memory[phase]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - output=memory[position]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - return(output); - -} - - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//working hires filter -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1.0-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1.0-x)*y); - four[1]=input*sqrt((1.0-x)*(1.0-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1.0-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); - eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); - eight[2]=input*(sqrt(x*y)*1.0-z); - eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); - eight[4]=input*(sqrt((1.0-x)*y)*z); - eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1.0-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName, int channel) { - myPath = fileName; - readChannel=channel; - return read(); -} - -void maxiSample::trigger() { - position = 0; -} - -bool maxiSample::read() -{ - bool result; - ifstream inFile( myPath.c_str(), ios::in | ios::binary); - result = inFile; - if (inFile) { - bool datafound = false; - inFile.seekg(4, ios::beg); - inFile.read( (char*) &myChunkSize, 4 ); // read the ChunkSize - - inFile.seekg(16, ios::beg); - inFile.read( (char*) &mySubChunk1Size, 4 ); // read the SubChunk1Size - - //inFile.seekg(20, ios::beg); - inFile.read( (char*) &myFormat, sizeof(short) ); // read the file format. This should be 1 for PCM - - //inFile.seekg(22, ios::beg); - inFile.read( (char*) &myChannels, sizeof(short) ); // read the # of channels (1 or 2) - - //inFile.seekg(24, ios::beg); - inFile.read( (char*) &mySampleRate, sizeof(int) ); // read the samplerate - - //inFile.seekg(28, ios::beg); - inFile.read( (char*) &myByteRate, sizeof(int) ); // read the byterate - - //inFile.seekg(32, ios::beg); - inFile.read( (char*) &myBlockAlign, sizeof(short) ); // read the blockalign - - //inFile.seekg(34, ios::beg); - inFile.read( (char*) &myBitsPerSample, sizeof(short) ); // read the bitspersample - - //ignore any extra chunks - char chunkID[5]=""; - chunkID[4] = 0; - int filePos = 36; - while(!datafound && !inFile.eof()) { - inFile.seekg(filePos, ios::beg); - inFile.read((char*) &chunkID, sizeof(char) * 4); - inFile.seekg(filePos + 4, ios::beg); - inFile.read( (char*) &myDataSize, sizeof(int) ); // read the size of the data - filePos += 8; - if (strcmp(chunkID,"data") == 0) { - datafound = true; - }else{ - filePos += myDataSize; - } - } - - // read the data chunk - myData = (char*) malloc(myDataSize * sizeof(char)); - inFile.seekg(filePos, ios::beg); - inFile.read(myData, myDataSize); - length=myDataSize*(0.5/myChannels); - inFile.close(); // close the input file - - if (myChannels>1) { - int position=0; - int channel=readChannel*2; - for (int i=channel;ilength) position=0; - output = - (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::playOnce() { - // long length=myDataSize*(0.5/myChannels); - double remainder; - short* buffer = (short *)myData; - position=(position+1); - remainder = position - (long) position; - if ((long) position=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - return play(frequency, start, end, position); -} - -double maxiSample::play(double frequency, double start, double end, double &pos) { - double remainder; - // long length=myDataSize; - - if (end>=length) end=length-1; - long a,b; - short* buffer = (short *)myData; - if (frequency >0.) { - if (pos= end ) pos = start; - pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = pos - floor(pos); - long posl = floor(pos); - if (posl+1=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)myData; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv*myChannels)/(maxiSettings::sampleRate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - - -/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for - incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. - Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ - -double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(amplitude==0) amplitude=0.01; - } - - if (attackphase==1 && amplitude<1) { - amplitude*=(1+attack); - output=input*amplitude; - } - - if (amplitude>=1) { - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - - -double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(currentRatio==0) currentRatio=ratio; - } - - if (attackphase==1 && currentRatio=ratio-1) { - attackphase=0; - releasephase=1; - } - - if (releasephase==1 && currentRatio>0.) { - currentRatio*=release; - } - - if (input>0.) { - output = input/(1.+currentRatio); - } else { - output = input/(1.+currentRatio); - } - - return output*(1+log(ratio)); -} - - -/* Lots of people struggle with the envelope generators so here's a new easy one. - It takes mental numbers for attack and release tho. Basically, they're exponentials. - I'll map them out later so that it's a bit more intuitive */ -double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -/* and here's a new adsr. It's not bad, very simple to use*/ - -double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -double convert::mtof(int midinote) { - - return mtofarray[midinote]; -} \ No newline at end of file diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.h b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.h deleted file mode 100755 index 102d552..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/libs/maximilian.h +++ /dev/null @@ -1,366 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - -//#include "ofMain.h" -//#include "ofUtils.h" - - -#include -#include -#include -#include -#include "math.h" - -using namespace std; -#define TWOPI (3.14159*2) - -class maxiSettings { -public: - static int sampleRate; - static int channels; - static int bufferSize; - static void setup(int initSampleRate, int initChannels, int initBufferSize) { - maxiSettings::sampleRate = initSampleRate; - maxiSettings::channels = initChannels; - maxiSettings::bufferSize = initBufferSize; - } -}; - - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency); - double square(double frequency); - double pulse(double frequency, double duty); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - void phaseReset(double phaseIn); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - int isPlaying; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - maxiDelayline(); - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient -public: - maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - int readChannel; - short myFormat; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - double position; - double speed; - double output; - -public: - int myDataSize; - short myChannels; - int mySampleRate; - long length; - void getLength(); - - - char* myData; - - // get/set for the Path property - - ~maxiSample() - { - if (myData) delete[] myData; - myChunkSize = NULL; - mySubChunk1Size = NULL; - myFormat = NULL; - myChannels = NULL; - mySampleRate = NULL; - myByteRate = NULL; - myBlockAlign = NULL; - myBitsPerSample = NULL; - myDataSize = NULL; - } - - maxiSample():myData(NULL){}; - - bool load(string fileName, int channel=0); - - void trigger(); - - // read a wav file into this class - bool read(); - - double play(); - - double playOnce(); - - double playOnce(double speed); - - double play(double speed); - - double play(double frequency, double start, double end, double &pos); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - - //int open(char *filename) { - // // open the wav file - // char *path = new char[50]; - // strcpy(path, filename); - // sample *myWav = new sample(path); - // return 0; - // } - // // print a summary of the wav file - // int info() { - // char *summary = myWav->getSummary(); - // printf("Summary:\n%s", summary); - // return 0; - // } - // int savefile() { - // // write the summary back out - // strcpy(path, "testout.wav"); - // myWav->setPath(path); - // myWav->save(); - // return 0: - // } - // int close() { - // // collect the garbage - // delete summary; - // delete path; - // delete myWav; - // - // return 0; - // } - // write out the wav file - bool save() - { - fstream myFile (myPath.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write (myData, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - std::cout << myDataSize; - return summary; - } -}; - - -class maxiMap { -public: - static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { - return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; - } - - static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; - } - - static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; - } - -}; - - -class maxiDyn { - - -public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; - double ratio; - double currentRatio; - double threshold; - double output; - double attack; - double release; - double amplitude; - long holdtime; - long holdcount; - int attackphase,holdphase,releasephase; -}; - -class maxiEnv { - - -public: - double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); - double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); - double input; - double output; - double attack; - double decay; - double sustain; - double release; - double amplitude; - int trigger; - long holdtime; - long holdcount; - int attackphase,decayphase,sustainphase,holdphase,releasephase; -}; - -class convert { -public: - double mtof(int midinote); -}; - -#endif diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/src/ofxMaxim.h b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/src/ofxMaxim.h deleted file mode 100644 index ec8c539..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxMaxim/src/ofxMaxim.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _OFMAXIM_H -#define _OFMAXIM_H - -#include "maximilian.h" -#include "maxiFFT.h" -#include "maxiGrains.h" -#include "maxiMFCC.h" - - -typedef maxiMix ofxMaxiMix; -typedef maxiOsc ofxMaxiOsc; -typedef maxiEnvelope ofxMaxiEnvelope; -typedef maxiDelayline ofxMaxiDelayline; -typedef maxiFilter ofxMaxiFilter; -typedef maxiSample ofxMaxiSample; -typedef maxiFFT ofxMaxiFFT; -typedef maxiIFFT ofxMaxiIFFT; -typedef maxiFFTOctaveAnalyzer ofxMaxiFFTOctaveAnalyzer; -typedef maxiSettings ofxMaxiSettings; -typedef maxiMFCC ofxMaxiMFCC; - - -#endif diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxiphone-Info.plist b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxiphone-Info.plist deleted file mode 100644 index 43db2fa..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/ofxiphone-Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleVersion - 1.0 - CFBundleShortVersionString - 1.0 - CFBundleIdentifier - ${PRODUCT_NAME:identifier} - UIStatusBarHidden - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - LSRequiresIPhoneOS - - UIApplicationExitsOnSuspend - - UIInterfaceOrientation - UIInterfaceOrientationPortrait - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/main.mm b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/main.mm deleted file mode 100644 index a0b6b4c..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/main.mm +++ /dev/null @@ -1,8 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" - -int main(){ - ofSetupOpenGL(1024,768, OF_FULLSCREEN); // <-------- setup the GL context - - ofRunApp(new testApp); -} diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.h b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.h deleted file mode 100755 index ac944e5..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include "ofMain.h" -#include "ofxiPhone.h" -#include "ofxiPhoneExtras.h" -#include "ofxMaxim.h" - - -class testApp : public ofxiPhoneApp { - -public: - ~testApp(); - void setup(); - void update(); - void draw(); - void exit(); - - void touchDown(ofTouchEventArgs &touch); - void touchMoved(ofTouchEventArgs &touch); - void touchUp(ofTouchEventArgs &touch); - void touchDoubleTap(ofTouchEventArgs &touch); - - void lostFocus(); - void gotFocus(); - void gotMemoryWarning(); - void deviceOrientationChanged(int newOrientation); - - void audioReceived( float * input, int bufferSize, int nChannels ); - void audioRequested( float * output, int bufferSize, int nChannels ); - - int initialBufferSize; - int sampleRate; - - - ofxMaxiOsc myOsc1; - ofxMaxiSample sample1; - double patch1,sample,outputs1[2]; - ofxMaxiMix channel1; - -}; - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.mm b/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.mm deleted file mode 100755 index 8dc9e95..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone0062Example/src/testApp.mm +++ /dev/null @@ -1,116 +0,0 @@ -#include "testApp.h" -#include "ofxMaxim.h" - -testApp::~testApp() { - - delete sample1.myData; - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - ofEnableAlphaBlending(); - // register touch events - ofRegisterTouchEvents(this); - - // initialize the accelerometer - ofxAccelerometer.setup(); - - //iPhoneAlerts will be sent to this. - ofxiPhoneAlerts.addListener(this); - - sampleRate = 44100; - initialBufferSize = 512; - - sample1.load(ofToDataPath("beat2.wav")); - - ofSoundStreamSetup(2,0,this, sampleRate, initialBufferSize, 4); - - //If you want a landscape oreintation - //iPhoneSetOrientation(OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT); - - ofBackground(255,255,255); -} - -//-------------------------------------------------------------- -void testApp::update(){ - -} - -//-------------------------------------------------------------- -void testApp::draw(){ - -} - -//-------------------------------------------------------------- -void testApp::exit(){ - -} - - -//-------------------------------------------------------------- -void testApp::audioRequested(float * output, int bufferSize, int nChannels){ - - if( initialBufferSize != bufferSize ){ - ofLog(OF_LOG_ERROR, "your buffer size was set to %i - but the stream needs a buffer size of %i", initialBufferSize, bufferSize); - return; - } - - for (int i = 0; i < bufferSize; i++){ - - sample=sample1.play(1.); - channel1.stereo(sample,outputs1,0.5); - - output[i*nChannels ] = outputs1[0]; - output[i*nChannels + 1] = outputs1[1]; - - } - -} - -//-------------------------------------------------------------- -void testApp::audioReceived(float * input, int bufferSize, int nChannels){ - -} - -//-------------------------------------------------------------- -void testApp::touchDown(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::touchMoved(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::touchUp(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::touchDoubleTap(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::lostFocus(){ - -} - -//-------------------------------------------------------------- -void testApp::gotFocus(){ - -} - -//-------------------------------------------------------------- -void testApp::gotMemoryWarning(){ - -} - -//-------------------------------------------------------------- -void testApp::deviceOrientationChanged(int newOrientation){ - -} - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/Project.xcconfig b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/Project.xcconfig deleted file mode 100644 index 1a590ae..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/Project.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. -//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED -OF_PATH = ../../.. - -//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE -#include "../../../libs/openFrameworksCompiled/project/iphone/CoreOF.xcconfig" - -OTHER_LDFLAGS = $(OF_CORE_LIBS) -HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) - -COMPRESS_PNG_FILES = NO -GCC_THUMB_SUPPORT = NO -IPHONEOS_DEPLOYMENT_TARGET = 3.1 -TARGETED_DEVICE_FAMILY = 1 diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Default.png b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Default.png deleted file mode 100644 index e782497..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Default.png and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Icon.png b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Icon.png deleted file mode 100644 index 2d926c8..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/Icon.png and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/beat2.wav b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/beat2.wav deleted file mode 100644 index c71cee6..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/remoteatmos.wav b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/remoteatmos.wav deleted file mode 100644 index 87e3cdf..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/bin/data/remoteatmos.wav and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.pbxproj b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.pbxproj deleted file mode 100644 index 768ee46..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,485 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXBuildFile section */ - 00ABBDC7145F0B3900ED7823 /* install.xml in Resources */ = {isa = PBXBuildFile; fileRef = 00ABBDB9145F0B3900ED7823 /* install.xml */; }; - 00ABBDC8145F0B3900ED7823 /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00ABBDBB145F0B3900ED7823 /* fft.cpp */; }; - 00ABBDC9145F0B3900ED7823 /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00ABBDBD145F0B3900ED7823 /* maxiFFT.cpp */; }; - 00ABBDCA145F0B3900ED7823 /* maxiGrains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00ABBDBF145F0B3900ED7823 /* maxiGrains.cpp */; }; - 00ABBDCB145F0B3900ED7823 /* maxiMFCC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00ABBDC1145F0B3900ED7823 /* maxiMFCC.cpp */; }; - 00ABBDCC145F0B3900ED7823 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00ABBDC3145F0B3900ED7823 /* maximilian.cpp */; }; - 00ABBE0D145F0C7100ED7823 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00ABBE0C145F0C7100ED7823 /* Accelerate.framework */; }; - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 5326AEA810A23A0500278DE6 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5326AEA710A23A0500278DE6 /* CoreLocation.framework */; }; - 53F323EB10A20EDB00E0DAE4 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53F323EA10A20EDB00E0DAE4 /* OpenAL.framework */; }; - BB16EBD20F2B2A9500518274 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB16EBD10F2B2A9500518274 /* OpenGLES.framework */; }; - BB16EBD90F2B2AB500518274 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB16EBD80F2B2AB500518274 /* QuartzCore.framework */; }; - BB24DD8F10DA77E000E9C588 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = BB24DD8C10DA77E000E9C588 /* Default.png */; }; - BB24DD9010DA77E000E9C588 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = BB24DD8D10DA77E000E9C588 /* Icon.png */; }; - BB24DDCA10DA781C00E9C588 /* ofxiphone-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB24DDC910DA781C00E9C588 /* ofxiphone-Info.plist */; }; - BBE5EAB80F49AD8400F28951 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBE5EAB70F49AD8400F28951 /* AudioToolbox.framework */; }; - E41D3ED713B38FB500A75A5D /* Project.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = E41D3ED613B38FB500A75A5D /* Project.xcconfig */; }; - E41D3EE613B3906D00A75A5D /* CoreOF.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = E41D3EE513B3906D00A75A5D /* CoreOF.xcconfig */; }; - E41D400B13B39D2100A75A5D /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E41D400613B39D2100A75A5D /* AVFoundation.framework */; }; - E41D400C13B39D2100A75A5D /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E41D400713B39D2100A75A5D /* CoreMedia.framework */; }; - E41D400D13B39D2100A75A5D /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E41D400813B39D2100A75A5D /* CoreVideo.framework */; }; - E41D400E13B39D2100A75A5D /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E41D400913B39D2100A75A5D /* MapKit.framework */; }; - E41D421413B3A95300A75A5D /* libofxiPhone_iphoneos_Debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E41D410213B3A0D800A75A5D /* libofxiPhone_iphoneos_Debug.a */; }; - E4A823A412561BE3002F86A2 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4A823A312561BE3002F86A2 /* CoreGraphics.framework */; }; - E4D8936E11527B74007E1F53 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = E4D8936B11527B74007E1F53 /* main.mm */; }; - E4D8936F11527B74007E1F53 /* testApp.mm in Sources */ = {isa = PBXBuildFile; fileRef = E4D8936D11527B74007E1F53 /* testApp.mm */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E41D410113B3A0D800A75A5D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E41D40FD13B3A0D800A75A5D /* iPhone+OF Lib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = BB24DED610DA7A3F00E9C588; - remoteInfo = "iPhone+OF Static Library"; - }; - E41D410313B3A11300A75A5D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E41D40FD13B3A0D800A75A5D /* iPhone+OF Lib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = BB24DE5C10DA7A3F00E9C588; - remoteInfo = "iPhone+OF Static Library"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 00ABBDB9145F0B3900ED7823 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; - 00ABBDBB145F0B3900ED7823 /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; - 00ABBDBC145F0B3900ED7823 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; - 00ABBDBD145F0B3900ED7823 /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; - 00ABBDBE145F0B3900ED7823 /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; - 00ABBDBF145F0B3900ED7823 /* maxiGrains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiGrains.cpp; sourceTree = ""; }; - 00ABBDC0145F0B3900ED7823 /* maxiGrains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiGrains.h; sourceTree = ""; }; - 00ABBDC1145F0B3900ED7823 /* maxiMFCC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiMFCC.cpp; sourceTree = ""; }; - 00ABBDC2145F0B3900ED7823 /* maxiMFCC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiMFCC.h; sourceTree = ""; }; - 00ABBDC3145F0B3900ED7823 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; - 00ABBDC4145F0B3900ED7823 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; - 00ABBDC6145F0B3900ED7823 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; - 00ABBE0C145F0C7100ED7823 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D6058910D05DD3D006BFB54 /* emptyExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 32CA4F630368D1EE00C91783 /* iPhone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iPhone_Prefix.pch; sourceTree = ""; }; - 5326AEA710A23A0500278DE6 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - 53F323EA10A20EDB00E0DAE4 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; }; - BB16EBD10F2B2A9500518274 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - BB16EBD80F2B2AB500518274 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - BB24DD8C10DA77E000E9C588 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; - BB24DD8D10DA77E000E9C588 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = ""; }; - BB24DDC910DA781C00E9C588 /* ofxiphone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ofxiphone-Info.plist"; sourceTree = ""; }; - BBE5EAB70F49AD8400F28951 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - E41D3ED613B38FB500A75A5D /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; - E41D3EE513B3906D00A75A5D /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/iphone/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; - E41D400613B39D2100A75A5D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - E41D400713B39D2100A75A5D /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; - E41D400813B39D2100A75A5D /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; - E41D400913B39D2100A75A5D /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; }; - E41D40FD13B3A0D800A75A5D /* iPhone+OF Lib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "iPhone+OF Lib.xcodeproj"; path = "../../../libs/openFrameworksCompiled/project/iphone/iPhone+OF Lib.xcodeproj"; sourceTree = SOURCE_ROOT; }; - E4A823A312561BE3002F86A2 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - E4D8936B11527B74007E1F53 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = main.mm; path = src/main.mm; sourceTree = SOURCE_ROOT; }; - E4D8936C11527B74007E1F53 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4D8936D11527B74007E1F53 /* testApp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = testApp.mm; path = src/testApp.mm; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E41D421413B3A95300A75A5D /* libofxiPhone_iphoneos_Debug.a in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, - BB16EBD20F2B2A9500518274 /* OpenGLES.framework in Frameworks */, - BB16EBD90F2B2AB500518274 /* QuartzCore.framework in Frameworks */, - BBE5EAB80F49AD8400F28951 /* AudioToolbox.framework in Frameworks */, - 53F323EB10A20EDB00E0DAE4 /* OpenAL.framework in Frameworks */, - 5326AEA810A23A0500278DE6 /* CoreLocation.framework in Frameworks */, - E4A823A412561BE3002F86A2 /* CoreGraphics.framework in Frameworks */, - E41D400B13B39D2100A75A5D /* AVFoundation.framework in Frameworks */, - E41D400C13B39D2100A75A5D /* CoreMedia.framework in Frameworks */, - E41D400D13B39D2100A75A5D /* CoreVideo.framework in Frameworks */, - E41D400E13B39D2100A75A5D /* MapKit.framework in Frameworks */, - 00ABBE0D145F0C7100ED7823 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 00ABBDB8145F0B3900ED7823 /* ofxMaxim */ = { - isa = PBXGroup; - children = ( - 00ABBDB9145F0B3900ED7823 /* install.xml */, - 00ABBDBA145F0B3900ED7823 /* libs */, - 00ABBDC5145F0B3900ED7823 /* src */, - ); - name = ofxMaxim; - path = ../../../addons/ofxMaxim; - sourceTree = SOURCE_ROOT; - }; - 00ABBDBA145F0B3900ED7823 /* libs */ = { - isa = PBXGroup; - children = ( - 00ABBDBB145F0B3900ED7823 /* fft.cpp */, - 00ABBDBC145F0B3900ED7823 /* fft.h */, - 00ABBDBD145F0B3900ED7823 /* maxiFFT.cpp */, - 00ABBDBE145F0B3900ED7823 /* maxiFFT.h */, - 00ABBDBF145F0B3900ED7823 /* maxiGrains.cpp */, - 00ABBDC0145F0B3900ED7823 /* maxiGrains.h */, - 00ABBDC1145F0B3900ED7823 /* maxiMFCC.cpp */, - 00ABBDC2145F0B3900ED7823 /* maxiMFCC.h */, - 00ABBDC3145F0B3900ED7823 /* maximilian.cpp */, - 00ABBDC4145F0B3900ED7823 /* maximilian.h */, - ); - path = libs; - sourceTree = ""; - }; - 00ABBDC5145F0B3900ED7823 /* src */ = { - isa = PBXGroup; - children = ( - 00ABBDC6145F0B3900ED7823 /* ofxMaxim.h */, - ); - path = src; - sourceTree = ""; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 1D6058910D05DD3D006BFB54 /* emptyExample.app */, - ); - name = Products; - sourceTree = ""; - }; - 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { - isa = PBXGroup; - children = ( - E4D8936A11527B74007E1F53 /* src */, - BB24DD8B10DA77E000E9C588 /* data */, - BB24E1F710DAA51900E9C588 /* openFrameworks */, - BB16F26B0F2B646B00518274 /* addons */, - BB16E9930F2B1E5900518274 /* libs */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = CustomTemplate; - sourceTree = ""; - }; - 29B97323FDCFA39411CA2CEA /* core frameworks */ = { - isa = PBXGroup; - children = ( - E41D400613B39D2100A75A5D /* AVFoundation.framework */, - E41D400713B39D2100A75A5D /* CoreMedia.framework */, - E41D400813B39D2100A75A5D /* CoreVideo.framework */, - E41D400913B39D2100A75A5D /* MapKit.framework */, - 53F323EA10A20EDB00E0DAE4 /* OpenAL.framework */, - E4A823A312561BE3002F86A2 /* CoreGraphics.framework */, - BBE5EAB70F49AD8400F28951 /* AudioToolbox.framework */, - BB16EBD80F2B2AB500518274 /* QuartzCore.framework */, - BB16EBD10F2B2A9500518274 /* OpenGLES.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - 288765FC0DF74451002DB57D /* CoreGraphics.framework */, - 5326AEA710A23A0500278DE6 /* CoreLocation.framework */, - ); - name = "core frameworks"; - sourceTree = ""; - }; - BB16E9930F2B1E5900518274 /* libs */ = { - isa = PBXGroup; - children = ( - BBE5E94E0F497BD800F28951 /* core */, - 00ABBE0C145F0C7100ED7823 /* Accelerate.framework */, - ); - name = libs; - sourceTree = ""; - }; - BB16F26B0F2B646B00518274 /* addons */ = { - isa = PBXGroup; - children = ( - 00ABBDB8145F0B3900ED7823 /* ofxMaxim */, - ); - name = addons; - sourceTree = ""; - }; - BB24DD8B10DA77E000E9C588 /* data */ = { - isa = PBXGroup; - children = ( - BB24DD8C10DA77E000E9C588 /* Default.png */, - BB24DD8D10DA77E000E9C588 /* Icon.png */, - ); - name = data; - path = bin/data; - sourceTree = ""; - }; - BB24E1F710DAA51900E9C588 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E41D40FD13B3A0D800A75A5D /* iPhone+OF Lib.xcodeproj */, - 32CA4F630368D1EE00C91783 /* iPhone_Prefix.pch */, - BB24DDC910DA781C00E9C588 /* ofxiphone-Info.plist */, - E41D3EE513B3906D00A75A5D /* CoreOF.xcconfig */, - E41D3ED613B38FB500A75A5D /* Project.xcconfig */, - ); - name = openFrameworks; - sourceTree = ""; - }; - BBE5E94E0F497BD800F28951 /* core */ = { - isa = PBXGroup; - children = ( - 29B97323FDCFA39411CA2CEA /* core frameworks */, - ); - name = core; - sourceTree = ""; - }; - E41D40FE13B3A0D800A75A5D /* Products */ = { - isa = PBXGroup; - children = ( - E41D410213B3A0D800A75A5D /* libofxiPhone_iphoneos_Debug.a */, - ); - name = Products; - sourceTree = ""; - }; - E4D8936A11527B74007E1F53 /* src */ = { - isa = PBXGroup; - children = ( - E4D8936B11527B74007E1F53 /* main.mm */, - E4D8936D11527B74007E1F53 /* testApp.mm */, - E4D8936C11527B74007E1F53 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* emptyExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "emptyExample" */; - buildPhases = ( - 1D60588D0D05DD3D006BFB54 /* Resources */, - 1D60588E0D05DD3D006BFB54 /* Sources */, - 1D60588F0D05DD3D006BFB54 /* Frameworks */, - 9255DD331112741900D6945E /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - E41D410413B3A11300A75A5D /* PBXTargetDependency */, - ); - name = emptyExample; - productName = iPhone; - productReference = 1D6058910D05DD3D006BFB54 /* emptyExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "emptyExample" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E41D40FE13B3A0D800A75A5D /* Products */; - ProjectRef = E41D40FD13B3A0D800A75A5D /* iPhone+OF Lib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 1D6058900D05DD3D006BFB54 /* emptyExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E41D410213B3A0D800A75A5D /* libofxiPhone_iphoneos_Debug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libofxiPhone_iphoneos_Debug.a; - remoteRef = E41D410113B3A0D800A75A5D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 1D60588D0D05DD3D006BFB54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BB24DD8F10DA77E000E9C588 /* Default.png in Resources */, - BB24DD9010DA77E000E9C588 /* Icon.png in Resources */, - BB24DDCA10DA781C00E9C588 /* ofxiphone-Info.plist in Resources */, - E41D3ED713B38FB500A75A5D /* Project.xcconfig in Resources */, - E41D3EE613B3906D00A75A5D /* CoreOF.xcconfig in Resources */, - 00ABBDC7145F0B3900ED7823 /* install.xml in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 9255DD331112741900D6945E /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -rf bin/data/ \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app\""; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 1D60588E0D05DD3D006BFB54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4D8936E11527B74007E1F53 /* main.mm in Sources */, - E4D8936F11527B74007E1F53 /* testApp.mm in Sources */, - 00ABBDC8145F0B3900ED7823 /* fft.cpp in Sources */, - 00ABBDC9145F0B3900ED7823 /* maxiFFT.cpp in Sources */, - 00ABBDCA145F0B3900ED7823 /* maxiGrains.cpp in Sources */, - 00ABBDCB145F0B3900ED7823 /* maxiMFCC.cpp in Sources */, - 00ABBDCC145F0B3900ED7823 /* maximilian.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E41D410413B3A11300A75A5D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "iPhone+OF Static Library"; - targetProxy = E41D410313B3A11300A75A5D /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 1D6058940D05DD3E006BFB54 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = iPhone_Prefix.pch; - INFOPLIST_FILE = "ofxiphone-Info.plist"; - PRODUCT_NAME = "${TARGET_NAME}"; - }; - name = Debug; - }; - 1D6058950D05DD3E006BFB54 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = iPhone_Prefix.pch; - INFOPLIST_FILE = "ofxiphone-Info.plist"; - PRODUCT_NAME = "${TARGET_NAME}"; - }; - name = Release; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E41D3ED613B38FB500A75A5D /* Project.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COMPRESS_PNG_FILES = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; - ONLY_ACTIVE_ARCH = NO; - PREBINDING = NO; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = 1; - WARNING_LDFLAGS = "-no_arch_warnings"; - }; - name = Debug; - }; - C01FCF5008A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E41D3ED613B38FB500A75A5D /* Project.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COMPRESS_PNG_FILES = NO; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_DYNAMIC_NO_PIC = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_THUMB_SUPPORT = NO; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; - ONLY_ACTIVE_ARCH = NO; - PREBINDING = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = 1; - WARNING_LDFLAGS = "-no_arch_warnings"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1D6058940D05DD3E006BFB54 /* Debug */, - 1D6058950D05DD3E006BFB54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "emptyExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - C01FCF5008A954540054247B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index da00dc2..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 3ba6442..0000000 Binary files a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme deleted file mode 100644 index 43b68b3..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/emptyExample.xcscheme +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 0ba941f..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/emptyExample.xcodeproj/xcuserdata/mick.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - emptyExample.xcscheme - - orderHint - 1 - - - SuppressBuildableAutocreation - - 1D6058900D05DD3D006BFB54 - - primary - - - - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/iPhone_Prefix.pch b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/iPhone_Prefix.pch deleted file mode 100644 index fd3401c..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/iPhone_Prefix.pch +++ /dev/null @@ -1,8 +0,0 @@ -// -// Prefix header for all source files of the 'iPhone' target in the 'iPhone' project -// - -#ifdef __OBJC__ - #import - #import -#endif diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/ofxiphone-Info.plist b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/ofxiphone-Info.plist deleted file mode 100644 index 43db2fa..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/ofxiphone-Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleVersion - 1.0 - CFBundleShortVersionString - 1.0 - CFBundleIdentifier - ${PRODUCT_NAME:identifier} - UIStatusBarHidden - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleSignature - ???? - LSRequiresIPhoneOS - - UIApplicationExitsOnSuspend - - UIInterfaceOrientation - UIInterfaceOrientationPortrait - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/main.mm b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/main.mm deleted file mode 100644 index a0b6b4c..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/main.mm +++ /dev/null @@ -1,8 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" - -int main(){ - ofSetupOpenGL(1024,768, OF_FULLSCREEN); // <-------- setup the GL context - - ofRunApp(new testApp); -} diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.h b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.h deleted file mode 100755 index 0bf924f..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include "ofMain.h" -#include "ofxiPhone.h" -#include "ofxiPhoneExtras.h" -#include "ofxMaxim.h" - - -class testApp : public ofxiPhoneApp { - -public: - ~testApp(); - void setup(); - void update(); - void draw(); - void exit(); - - void touchDown(ofTouchEventArgs &touch); - void touchMoved(ofTouchEventArgs &touch); - void touchUp(ofTouchEventArgs &touch); - void touchDoubleTap(ofTouchEventArgs &touch); - void touchCancelled(ofTouchEventArgs &touch); - - void lostFocus(); - void gotFocus(); - void gotMemoryWarning(); - void deviceOrientationChanged(int newOrientation); - - void audioReceived( float * input, int bufferSize, int nChannels ); - void audioRequested( float * output, int bufferSize, int nChannels ); - - int initialBufferSize; - int sampleRate; - - - ofxMaxiOsc myOsc1; - ofxMaxiSample sample1; - double patch1,sample,outputs1[2]; - ofxMaxiMix channel1; - -}; - - diff --git a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.mm b/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.mm deleted file mode 100755 index ad2a865..0000000 --- a/ofxMaxim/examples/iOS/ofxMaximiPhone007Example/src/testApp.mm +++ /dev/null @@ -1,121 +0,0 @@ -#include "testApp.h" -#include "ofxMaxim.h" - -testApp::~testApp() { - - delete sample1.myData; - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - ofEnableAlphaBlending(); - // register touch events - ofRegisterTouchEvents(this); - - // initialize the accelerometer - ofxAccelerometer.setup(); - - //iPhoneAlerts will be sent to this. - ofxiPhoneAlerts.addListener(this); - - sampleRate = 44100; - initialBufferSize = 512; - - sample1.load(ofToDataPath("beat2.wav")); - - ofSoundStreamSetup(2,0,this, sampleRate, initialBufferSize, 4); - - //If you want a landscape oreintation - //iPhoneSetOrientation(OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT); - - ofBackground(255,255,255); -} - -//-------------------------------------------------------------- -void testApp::update(){ - -} - -//-------------------------------------------------------------- -void testApp::draw(){ - -} - -//-------------------------------------------------------------- -void testApp::exit(){ - -} - - -//-------------------------------------------------------------- -void testApp::audioRequested(float * output, int bufferSize, int nChannels){ - - if( initialBufferSize != bufferSize ){ - ofLog(OF_LOG_ERROR, "your buffer size was set to %i - but the stream needs a buffer size of %i", initialBufferSize, bufferSize); - return; - } - - for (int i = 0; i < bufferSize; i++){ - - sample=sample1.play(1.); - channel1.stereo(sample,outputs1,0.5); - - output[i*nChannels ] = outputs1[0]; - output[i*nChannels + 1] = outputs1[1]; - - } - -} - -//-------------------------------------------------------------- -void testApp::audioReceived(float * input, int bufferSize, int nChannels){ - -} - -//-------------------------------------------------------------- -void testApp::touchDown(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::touchMoved(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::touchUp(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::touchDoubleTap(ofTouchEventArgs &touch){ - -} - -//-------------------------------------------------------------- -void testApp::lostFocus(){ - -} - -//-------------------------------------------------------------- -void testApp::gotFocus(){ - -} - -//-------------------------------------------------------------- -void testApp::gotMemoryWarning(){ - -} - -//-------------------------------------------------------------- -void testApp::deviceOrientationChanged(int newOrientation){ - -} - -//-------------------------------------------------------------- -void testApp::touchCancelled(ofTouchEventArgs& args){ - -} - diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sdf b/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sdf deleted file mode 100755 index e802a91..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sdf and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sln b/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sln deleted file mode 100755 index 54f913d..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.sln +++ /dev/null @@ -1,25 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "audioOutputExample", "audioOutputExample.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2010\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.suo b/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.suo deleted file mode 100755 index 2301469..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.suo and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj b/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj deleted file mode 100755 index bff2416..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj +++ /dev/null @@ -1,136 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7FD42DF7-442E-479A-BA76-D0022F99702A} - audioOutputExample - Win32Proj - - - - Application - Unicode - true - - - Application - Unicode - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - bin\ - obj\$(Configuration)\ - true - true - bin\ - obj\$(Configuration)\ - false - $(ProjectName)_debug - $(ProjectName) - - - - Disabled - ..\..\..\libs\openFrameworks;..\..\..\libs\openFrameworks\graphics;..\..\..\libs\openFrameworks\app;..\..\..\libs\openFrameworks\sound;..\..\..\libs\openFrameworks\utils;..\..\..\libs\openFrameworks\communication;..\..\..\libs\openFrameworks\video;..\..\..\libs\openFrameworks\math;..\..\..\libs\openFrameworks\types;..\..\..\libs\openFrameworks\events;..\..\..\libs\glut\include;..\..\..\libs\rtAudio\include;..\..\..\libs\quicktime\include;..\..\..\libs\freetype\include;..\..\..\libs\freetype\include\freetype2;..\..\..\libs\freeImage\include;..\..\..\libs\fmodex\include;..\..\..\libs\videoInput\include;..\..\..\libs\glew\include\;..\..\..\libs\glu\include;..\..\..\libs\poco\include;..\..\..\addons;..\..\..\libs\openFrameworks\gl;..\..\..\libs\openFrameworks\3d;..\..\..\libs\tess2\include;..\..\..\libs\cairo\include\cairo%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_CONSOLE;POCO_STATIC;CAIRO_WIN32_STATIC_BUILD;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - - - Level3 - EditAndContinue - - - openframeworksLibDebug.lib;cairo-static.lib;pixman-1.lib;msimg32.lib;OpenGL32.lib;GLu32.lib;kernel32.lib;setupapi.lib;Vfw32.lib;comctl32.lib;glut32.lib;rtAudioD.lib;videoInput.lib;libfreetype.lib;FreeImage.lib;qtmlClient.lib;dsound.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;glew32s.lib;fmodex_vc.lib;glu32.lib;PocoFoundationmdd.lib;PocoNetmdd.lib;PocoUtilmdd.lib;PocoXMLmdd.lib;Ws2_32.lib;tess2.lib;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - ..\..\..\libs\glut\lib\vs2010;..\..\..\libs\rtAudio\lib\vs2010;..\..\..\libs\FreeImage\lib\vs2010;..\..\..\libs\freetype\lib\vs2010;..\..\..\libs\quicktime\lib\vs2010;..\..\..\libs\fmodex\lib\vs2010;..\..\..\libs\videoInput\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\glew\lib\vs2010;..\..\..\libs\glu\lib\vs2010;..\..\..\libs\Poco\lib\vs2010;..\..\..\libs\openFrameworksCompiled\lib\vs2010;..\..\..\libs\tess2\lib\vs2010;%(AdditionalLibraryDirectories) - atlthunk.lib; LIBC.lib; LIBCMT;%(IgnoreSpecificDefaultLibraries) - true - $(TargetDir)$(TargetName)_debugInfo.pdb - Console - false - - - MachineX86 - - - adding DLLs and creating data folder - xcopy /e /i /y "$(ProjectDir)..\..\..\export\vs2010\*.dll" "$(ProjectDir)bin" -if not exist "$(ProjectDir)bin\data" mkdir "$(ProjectDir)bin\data" - - - - - - false - ..\..\..\libs\openFrameworks;..\..\..\libs\openFrameworks\graphics;..\..\..\libs\openFrameworks\app;..\..\..\libs\openFrameworks\sound;..\..\..\libs\openFrameworks\utils;..\..\..\libs\openFrameworks\communication;..\..\..\libs\openFrameworks\video;..\..\..\libs\openFrameworks\math;..\..\..\libs\openFrameworks\types;..\..\..\libs\openFrameworks\events;..\..\..\libs\glut\include;..\..\..\libs\rtAudio\include;..\..\..\libs\quicktime\include;..\..\..\libs\freetype\include;..\..\..\libs\freetype\include\freetype2;..\..\..\libs\freeImage\include;..\..\..\libs\fmodex\include;..\..\..\libs\videoInput\include;..\..\..\libs\glew\include\;..\..\..\libs\glu\include;..\..\..\libs\poco\include;..\..\..\addons;..\..\..\libs\openFrameworks\gl;..\..\..\libs\openFrameworks\3d;..\..\..\libs\tess2\include;..\..\..\libs\cairo\include\cairo%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_CONSOLE;POCO_STATIC;CAIRO_WIN32_STATIC_BUILD;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions) - MultiThreadedDLL - - - Level3 - - - - - openframeworksLib.lib;cairo-static.lib;pixman-1.lib;msimg32.lib;OpenGL32.lib;GLu32.lib;kernel32.lib;setupapi.lib;glut32.lib;rtAudio.lib;videoInput.lib;libfreetype.lib;FreeImage.lib;qtmlClient.lib;dsound.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;glew32s.lib;fmodex_vc.lib;glu32.lib;PocoFoundationmd.lib;PocoNetmd.lib;PocoUtilmd.lib;PocoXMLmd.lib;tess2.lib;%(AdditionalDependencies) - ..\..\..\libs\glut\lib\vs2010;..\..\..\libs\rtAudio\lib\vs2010;..\..\..\libs\FreeImage\lib\vs2010;..\..\..\libs\freetype\lib\vs2010;..\..\..\libs\quicktime\lib\vs2010;..\..\..\libs\fmodex\lib\vs2010;..\..\..\libs\videoInput\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\cairo\lib\vs2010;..\..\..\libs\glew\lib\vs2010;..\..\..\libs\glu\lib\vs2010;..\..\..\libs\Poco\lib\vs2010;..\..\..\libs\openFrameworksCompiled\lib\vs2010;..\..\..\libs\tess2\lib\vs2010;%(AdditionalLibraryDirectories) - false - atlthunk.lib; LIBC.lib; LIBCMT;%(IgnoreSpecificDefaultLibraries) - false - Console - true - true - false - - - MachineX86 - Default - - - adding DLLs and creating data folder - xcopy /e /i /y "$(ProjectDir)\..\..\..\export\vs2010\*.dll" "$(ProjectDir)\bin" -if not exist "$(ProjectDir)\bin\data" mkdir "$(ProjectDir)\bin\data" - - - - - - - - - - - - - - - - {5837595d-aca9-485c-8e76-729040ce4b0b} - false - - - - - - \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj.user b/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj.user deleted file mode 100755 index 3f1e743..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/audioOutputExample.vcxproj.user +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(ProjectDir)/bin - WindowsLocalDebugger - - - $(ProjectDir)/bin - WindowsLocalDebugger - - \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Assimp32.dll b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Assimp32.dll deleted file mode 100755 index c679e6d..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Assimp32.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeImage.dll b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeImage.dll deleted file mode 100755 index e5b1afe..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeImage.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeType-6.dll b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeType-6.dll deleted file mode 100755 index c13d534..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/FreeType-6.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Zlib.dll b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Zlib.dll deleted file mode 100755 index 198f0ec..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/Zlib.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exe b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exe deleted file mode 100755 index 25f7f9b..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exe and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exp b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exp deleted file mode 100755 index d54955e..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.exp and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.ilk b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.ilk deleted file mode 100755 index e69de29..0000000 diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.lib b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.lib deleted file mode 100755 index 93c866b..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug.lib and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug_debugInfo.pdb b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug_debugInfo.pdb deleted file mode 100755 index a73eac7..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/audioOutputExample_debug_debugInfo.pdb and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodex.dll b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodex.dll deleted file mode 100755 index e8ff8f0..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodex.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodexL.dll b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodexL.dll deleted file mode 100755 index b5c7125..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/fmodexL.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/glut32.dll b/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/glut32.dll deleted file mode 100755 index 106646f..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximExampleVS2010/bin/glut32.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/main.cpp b/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/main.cpp deleted file mode 100755 index 6a32c6a..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.cpp b/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.cpp deleted file mode 100755 index 4814836..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.cpp +++ /dev/null @@ -1,1026 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - - -//int channels=2; -//int samplerate=44100; -//int buffersize=1024; -float chandiv= 1; - -int maxiSettings::sampleRate = 44100; -int maxiSettings::channels = 2; -int maxiSettings::bufferSize = 1024; - -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - phase = 0.0; -// memset(phases,0,500); -// memset(freqs,0,500); -} - -double maxiOsc::noise() { - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -void maxiOsc::phaseReset(double phaseIn) { - phase=phaseIn; - -} - -double maxiOsc::sinewave(double frequency) { - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { - double remainder; - phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency) { - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phase <= 0.5 ) { - output =((phase)*4)-1; - } else { - output =((0.5-phase)*4)-1; - } - return(output); - -} - -//I like this. -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - if (isPlaying==1) {//only make a sound once you've been triggered - - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - - } - else { - output=0; - - } - return(output); -} - -//and this -void maxiEnvelope::trigger(int index, double amp) { - isPlaying=1;//ok the envelope is being used now. - valindex=index; - amplitude=amp; - -} - -//and this - -maxiDelayline::maxiDelayline() { - memset( memory, 0, 88200*sizeof (double) ); - -} - - -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) { - phase = 0; - } - output=memory[phase]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - output=memory[position]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - return(output); - -} - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//working hires filter -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1.0-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1.0-x)*y); - four[1]=input*sqrt((1.0-x)*(1.0-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1.0-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); - eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); - eight[2]=input*(sqrt(x*y)*1.0-z); - eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); - eight[4]=input*(sqrt((1.0-x)*y)*z); - eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1.0-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName, int channel) { - myPath = fileName; - readChannel=channel; - return read(); -} - -void maxiSample::trigger() { - position = 0; -} - -bool maxiSample::read() -{ - bool result; - ifstream inFile( myPath.c_str(), ios::in | ios::binary); - result = inFile; - if (inFile) { - bool datafound = false; - inFile.seekg(4, ios::beg); - inFile.read( (char*) &myChunkSize, 4 ); // read the ChunkSize - - inFile.seekg(16, ios::beg); - inFile.read( (char*) &mySubChunk1Size, 4 ); // read the SubChunk1Size - - //inFile.seekg(20, ios::beg); - inFile.read( (char*) &myFormat, sizeof(short) ); // read the file format. This should be 1 for PCM - - //inFile.seekg(22, ios::beg); - inFile.read( (char*) &myChannels, sizeof(short) ); // read the # of channels (1 or 2) - - //inFile.seekg(24, ios::beg); - inFile.read( (char*) &mySampleRate, sizeof(int) ); // read the samplerate - - //inFile.seekg(28, ios::beg); - inFile.read( (char*) &myByteRate, sizeof(int) ); // read the byterate - - //inFile.seekg(32, ios::beg); - inFile.read( (char*) &myBlockAlign, sizeof(short) ); // read the blockalign - - //inFile.seekg(34, ios::beg); - inFile.read( (char*) &myBitsPerSample, sizeof(short) ); // read the bitspersample - - //ignore any extra chunks - char chunkID[5]=""; - chunkID[4] = 0; - int filePos = 36; - while(!datafound && !inFile.eof()) { - inFile.seekg(filePos, ios::beg); - inFile.read((char*) &chunkID, sizeof(char) * 4); - inFile.seekg(filePos + 4, ios::beg); - inFile.read( (char*) &myDataSize, sizeof(int) ); // read the size of the data - filePos += 8; - if (strcmp(chunkID,"data") == 0) { - datafound = true; - }else{ - filePos += myDataSize; - } - } - - // read the data chunk - myData = (char*) malloc(myDataSize * sizeof(char)); - inFile.seekg(filePos, ios::beg); - inFile.read(myData, myDataSize); - length=myDataSize*(0.5/myChannels); - inFile.close(); // close the input file - - if (myChannels>1) { - int position=0; - int channel=readChannel*2; - for (int i=channel;ilength) position=0; - output = - (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::playOnce() { -// long length=myDataSize*(0.5/myChannels); - short* buffer = (short *)myData; - position=(position+1); - double remainder = position - (long) position; - if ((long) position=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - return play(frequency, start, end, position); -} - -double maxiSample::play(double frequency, double start, double end, double &pos) { - double remainder; - // long length=myDataSize; - - if (end>=length) end=length-1; - long a,b; - short* buffer = (short *)myData; - if (frequency >0.) { - if (pos= end ) pos = start; - pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = pos - floor(pos); - long posl = floor(pos); - if (posl+1=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)myData; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv*myChannels)/(maxiSettings::sampleRate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - - -/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for - incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. - Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ - -double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(amplitude==0) amplitude=0.01; - } - - if (attackphase==1 && amplitude<1) { - amplitude*=(1+attack); - output=input*amplitude; - } - - if (amplitude>=1) { - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - - -double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(currentRatio==0) currentRatio=ratio; - } - - if (attackphase==1 && currentRatio=ratio-1) { - attackphase=0; - releasephase=1; - } - - if (releasephase==1 && currentRatio>0.) { - currentRatio*=release; - } - - if (input>0.) { - output = input/(1.+currentRatio); - } else { - output = input/(1.+currentRatio); - } - - return output*(1+log(ratio)); -} - - -/* Lots of people struggle with the envelope generators so here's a new easy one. - It takes mental numbers for attack and release tho. Basically, they're exponentials. - I'll map them out later so that it's a bit more intuitive */ -double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -/* and here's a new adsr. It's not bad, very simple to use*/ - -double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -double convert::mtof(int midinote) { - - return mtofarray[midinote]; -} diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.h b/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.h deleted file mode 100755 index 2629390..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/maximilian.h +++ /dev/null @@ -1,357 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - -//#include "ofMain.h" -//#include "ofUtils.h" - - -#include -#include -#include -#include -#include "math.h" - -using namespace std; -#define TWOPI (3.14159*2) - -class maxiSettings { -public: - static int sampleRate; - static int channels; - static int bufferSize; - static void setup(int initSampleRate, int initChannels, int initBufferSize) { - maxiSettings::sampleRate = initSampleRate; - maxiSettings::channels = initChannels; - maxiSettings::bufferSize = initBufferSize; - } -}; - - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency); - double square(double frequency); - double pulse(double frequency, double duty); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - void phaseReset(double phaseIn); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - int isPlaying; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - maxiDelayline(); - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient -public: - maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - int readChannel; - short myFormat; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - double position; - double speed; - double output; - -public: - int myDataSize; - short myChannels; - int mySampleRate; - long length; - void getLength(); - - - char* myData; - - // get/set for the Path property - - ~maxiSample() - { - if (myData) delete[] myData; - } - - maxiSample():myData(NULL){}; - - bool load(string fileName, int channel=0); - - void trigger(); - - // read a wav file into this class - bool read(); - - double play(); - - double playOnce(); - - double playOnce(double speed); - - double play(double speed); - - double play(double frequency, double start, double end, double &pos); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - - //int open(char *filename) { - // // open the wav file - // char *path = new char[50]; - // strcpy(path, filename); - // sample *myWav = new sample(path); - // return 0; - // } - // // print a summary of the wav file - // int info() { - // char *summary = myWav->getSummary(); - // printf("Summary:\n%s", summary); - // return 0; - // } - // int savefile() { - // // write the summary back out - // strcpy(path, "testout.wav"); - // myWav->setPath(path); - // myWav->save(); - // return 0: - // } - // int close() { - // // collect the garbage - // delete summary; - // delete path; - // delete myWav; - // - // return 0; - // } - // write out the wav file - bool save() - { - fstream myFile (myPath.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write (myData, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - std::cout << myDataSize; - return summary; - } -}; - - -class maxiMap { -public: - static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { - return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; - } - - static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; - } - - static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; - } - -}; - - -class maxiDyn { - - -public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; - double ratio; - double currentRatio; - double threshold; - double output; - double attack; - double release; - double amplitude; - long holdtime; - long holdcount; - int attackphase,holdphase,releasephase; -}; - -class maxiEnv { - - -public: - double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); - double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); - double input; - double output; - double attack; - double decay; - double sustain; - double release; - double amplitude; - int trigger; - long holdtime; - long holdcount; - int attackphase,decayphase,sustainphase,holdphase,releasephase; -}; - -class convert { - public: - double mtof(int midinote); -}; - -#endif diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.cpp b/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.cpp deleted file mode 100755 index bfef498..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.cpp +++ /dev/null @@ -1,156 +0,0 @@ -#include "testApp.h" -#include "maximilian.h" - -//-------------------------------------------------------------- -void testApp::setup(){ - - ofBackground(34, 34, 34); - - // 2 output channels, - // 0 input channels - // 22050 samples per second - // 512 samples per buffer - // 4 num buffers (latency) - - int bufferSize = 512; - sampleRate = 44100; - - lAudio.assign(bufferSize, 0.0); - rAudio.assign(bufferSize, 0.0); - - //soundStream.listDevices(); - - //if you want to set the device id to be different than the default - //soundStream.setDeviceID(1); //note some devices are input only and some are output only - - soundStream.setup(this, 2, 0, sampleRate, bufferSize, 4); - - ofSetFrameRate(60); -} - - -//-------------------------------------------------------------- -void testApp::update(){ - -} - -//-------------------------------------------------------------- -void testApp::draw(){ - - ofSetColor(225); - ofDrawBitmapString("AUDIO OUTPUT EXAMPLE", 32, 32); - ofDrawBitmapString("press 's' to unpause the audio\npress 'e' to pause the audio", 31, 92); - - ofNoFill(); - - // draw the left channel: - ofPushStyle(); - ofPushMatrix(); - ofTranslate(32, 150, 0); - - ofSetColor(225); - ofDrawBitmapString("Left Channel", 4, 18); - - ofSetLineWidth(1); - ofRect(0, 0, 900, 200); - - ofSetColor(245, 58, 135); - ofSetLineWidth(3); - - ofBeginShape(); - for (int i = 0; i < lAudio.size(); i++){ - float x = ofMap(i, 0, lAudio.size(), 0, 900, true); - ofVertex(x, 100 -lAudio[i]*180.0f); - } - ofEndShape(false); - - ofPopMatrix(); - ofPopStyle(); - - // draw the right channel: - ofPushStyle(); - ofPushMatrix(); - ofTranslate(32, 350, 0); - - ofSetColor(225); - ofDrawBitmapString("Right Channel", 4, 18); - - ofSetLineWidth(1); - ofRect(0, 0, 900, 200); - - ofSetColor(245, 58, 135); - ofSetLineWidth(3); - - ofBeginShape(); - for (int i = 0; i < rAudio.size(); i++){ - float x = ofMap(i, 0, rAudio.size(), 0, 900, true); - ofVertex(x, 100 -rAudio[i]*180.0f); - } - ofEndShape(false); - - ofPopMatrix(); - ofPopStyle(); - -} - - -//-------------------------------------------------------------- -void testApp::keyPressed (int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased (int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - -//-------------------------------------------------------------- -void testApp::audioOut(float * output, int bufferSize, int nChannels){ - - - for (int i = 0; i < bufferSize; i++){ - - sample=test1.sinewave(440); - - lAudio[i] = output[i*nChannels ] = sample; - rAudio[i] = output[i*nChannels + 1] = sample; - - } - -} - -//-------------------------------------------------------------- -void testApp::gotMessage(ofMessage msg){ - -} - -//-------------------------------------------------------------- -void testApp::dragEvent(ofDragInfo dragInfo){ - -} diff --git a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.h b/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.h deleted file mode 100755 index f0eb9d8..0000000 --- a/ofxMaxim/examples/windows/ofMaximExampleVS2010/src/testApp.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "maximilian.h" - -class testApp : public ofBaseApp{ - - public: - - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - - void audioOut(float * input, int bufferSize, int nChannels); - - - ofSoundStream soundStream; - - int sampleRate; - - vector lAudio; - vector rAudio; - - //------------------- for the simple sine wave synthesis - - maxiOsc test1; - double sample; -}; - -#endif diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeImage.dll b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeImage.dll deleted file mode 100755 index e5b1afe..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeImage.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeType-6.dll b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeType-6.dll deleted file mode 100755 index c13d534..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/FreeType-6.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/Zlib.dll b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/Zlib.dll deleted file mode 100755 index 198f0ec..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/Zlib.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/Low.wav b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/Low.wav deleted file mode 100755 index e0308f5..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/Low.wav and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/beat2.wav b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/beat2.wav deleted file mode 100755 index c71cee6..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/data/beat2.wav and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/emptyExample_debug.ilk b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/emptyExample_debug.ilk deleted file mode 100755 index 3d9958f..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/emptyExample_debug.ilk and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodex.dll b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodex.dll deleted file mode 100755 index e8ff8f0..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodex.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodexL.dll b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodexL.dll deleted file mode 100755 index b5c7125..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/fmodexL.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/glut32.dll b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/glut32.dll deleted file mode 100755 index 106646f..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/bin/glut32.dll and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.ncb b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.ncb deleted file mode 100755 index 3577c98..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.ncb and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.sln b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.sln deleted file mode 100755 index 5a9e6e6..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.sln +++ /dev/null @@ -1,28 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emptyExample", "emptyExample.vcproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" - ProjectSection(ProjectDependencies) = postProject - {5837595D-ACA9-485C-8E76-729040CE4B0B} = {5837595D-ACA9-485C-8E76-729040CE4B0B} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2008\openframeworksLib.vcproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.suo b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.suo deleted file mode 100755 index 73c79ae..0000000 Binary files a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.suo and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj deleted file mode 100755 index a03cbaf..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.GOLDSMIT-282193.Administrator.user b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.GOLDSMIT-282193.Administrator.user deleted file mode 100755 index 4c12e85..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.GOLDSMIT-282193.Administrator.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.user b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.user deleted file mode 100755 index 801522b..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/emptyExample.vcproj.user +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/main.cpp b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/main.cpp deleted file mode 100755 index 312c54e..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "ofMain.h" -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//======================================================================== -int main( ){ - - ofAppGlutWindow window; - ofSetupOpenGL(&window, 800,600, OF_WINDOW); // <-------- setup the GL context - - // this kicks off the running of my app - // can be OF_WINDOW or OF_FULLSCREEN - // pass in width and height too: - ofRunApp( new testApp()); - -} diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.cpp b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.cpp deleted file mode 100755 index adb0068..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.cpp +++ /dev/null @@ -1,709 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - -int channels=2; -int samplerate=44100; -int buffersize=1024; -float chandiv= 1; - -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - phase = 0.0; -// memset(phases,0,500); -// memset(freqs,0,500); -} - -double maxiOsc::noise() { - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -double maxiOsc::sinewave(double frequency) { - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(samplerate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(samplerate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { - double remainder=0.0; - phase += 512./(samplerate/(frequency*chandiv)); - if ( phase >= 511.0 ) phase -=512.0; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(samplerate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(samplerate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(samplerate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(samplerate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(samplerate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(samplerate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency, double phase) { - output=tri*2; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(samplerate/(frequency*chandiv))); - if (phase <= 0.5 ) { - tri = phase; - } else { - tri =(1-phase); - } - return(output); - -} - - -//I like this. -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(samplerate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(samplerate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - return(output); -} - -//and this -void maxiEnvelope::trigger(int index,double amp) { - valindex=index; - amplitude=amp; - -} - -//and this -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) phase = 0; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - output=memory[phase+1]; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - output=memory[position]; - return(output); - -} - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff>(samplerate*0.25)) cutoff=(samplerate*0.25); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/samplerate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//this is just stupid. Kindof works. -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff>(samplerate*0.25)) cutoff=(samplerate*0.25); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/samplerate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(samplerate*0.5)) cutoff=(samplerate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/samplerate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4*pow(z,2)+2)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1-x)*y); - four[1]=input*sqrt((1-x)*(1-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1-x)*y)*1-z); - eight[1]=input*(sqrt((1-x)*(1-y))*1-z); - eight[2]=input*(sqrt(x*y)*1-z); - eight[3]=input*(sqrt(x*(1-y))*1-z); - eight[4]=input*(sqrt((1-x)*y)*z); - eight[5]=input*(sqrt((1-x)*(1-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName) { - myPath = ofToDataPath(fileName); - return read(); -} - -double maxiSample::play() { - long length=myDataSize*(1./myChannels); - double remainder; - short* buffer = (short *)myData; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::play(double speed) { - double remainder; - long a,b; -// long length=myDataSize*0.5; - short* buffer = (short *)myData; - position=position+((speed*chandiv*myChannels)/(samplerate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - double remainder; -// long length=myDataSize; - if (end>=length) end=length-1; - long a,b; - short* buffer = (short *)myData; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(samplerate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)myData; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(samplerate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv*myChannels)/(samplerate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(samplerate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(samplerate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - - diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.h b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.h deleted file mode 100755 index e12297e..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/maximilian.h +++ /dev/null @@ -1,321 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - -#include "ofMain.h" -#include "ofUtils.h" - - -#include -#include -#include -#include - -using namespace std; -#define TWOPI 3.14159*2 - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency,double phase); - double square(double frequency); - double pulse(double frequency, double duty); - double additive(unsigned int waves, double freq1[100]); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient -public: - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - short myFormat; - short myChannels; - int mySampleRate; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - int myDataSize; - double position; - double speed; - double output; - -public: - long length; - void getLength(); - - char* myData; - - // get/set for the Path property - - ~maxiSample() - { - delete myData; - myChunkSize = NULL; - mySubChunk1Size = NULL; - myFormat = NULL; - myChannels = NULL; - mySampleRate = NULL; - myByteRate = NULL; - myBlockAlign = NULL; - myBitsPerSample = NULL; - myDataSize = NULL; - } - -// maxiSample(); - - bool load(string fileName); - - // read a wav file into this class - bool read() - { - bool result; - ifstream inFile( myPath.c_str(), ios::in | ios::binary); - result = inFile > 0; - //printf("Reading wav file...\n"); // for debugging only - - inFile.seekg(4, ios::beg); - inFile.read( (char*) &myChunkSize, 4 ); // read the ChunkSize - - inFile.seekg(16, ios::beg); - inFile.read( (char*) &mySubChunk1Size, 4 ); // read the SubChunk1Size - - //inFile.seekg(20, ios::beg); - inFile.read( (char*) &myFormat, sizeof(short) ); // read the file format. This should be 1 for PCM - - //inFile.seekg(22, ios::beg); - inFile.read( (char*) &myChannels, sizeof(short) ); // read the # of channels (1 or 2) - - //inFile.seekg(24, ios::beg); - inFile.read( (char*) &mySampleRate, sizeof(int) ); // read the samplerate - - //inFile.seekg(28, ios::beg); - inFile.read( (char*) &myByteRate, sizeof(int) ); // read the byterate - - //inFile.seekg(32, ios::beg); - inFile.read( (char*) &myBlockAlign, sizeof(short) ); // read the blockalign - - //inFile.seekg(34, ios::beg); - inFile.read( (char*) &myBitsPerSample, sizeof(short) ); // read the bitspersample - - inFile.seekg(40, ios::beg); - inFile.read( (char*) &myDataSize, sizeof(int) ); // read the size of the data - - - // read the data chunk - myData = new char[myDataSize]; - inFile.seekg(44, ios::beg); - inFile.read(myData, myDataSize); - length=myDataSize*(0.5/myChannels); - - inFile.close(); // close the input file - - return result; // this should probably be something more descriptive - } - - - double play(); - - double play(double speed); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - - //int open(char *filename) { - // // open the wav file - // char *path = new char[50]; - // strcpy(path, filename); - // sample *myWav = new sample(path); - // return 0; - // } - // // print a summary of the wav file - // int info() { - // char *summary = myWav->getSummary(); - // printf("Summary:\n%s", summary); - // return 0; - // } - // int savefile() { - // // write the summary back out - // strcpy(path, "testout.wav"); - // myWav->setPath(path); - // myWav->save(); - // return 0: - // } - // int close() { - // // collect the garbage - // delete summary; - // delete path; - // delete myWav; - // - // return 0; - // } - // write out the wav file - bool save() - { - fstream myFile (myPath.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write (myData, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - std::cout << myDataSize; - return summary; - } -}; - - -#endif diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.cpp b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.cpp deleted file mode 100755 index 0d02a2f..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/* This is an example of how to integrate maximilain into openFrameworks, - including using audio received for input and audio requested for output. - - - You can copy and paste this and use it as a starting example. - - */ - - -#include "testApp.h" -#include "maximilian.h"/* include the lib */ - - - -//------------------------------------------------------------- -testApp::~testApp() { - - delete beat.myData; /*you should probably delete myData for any sample object - that you've created in testApp.h*/ - -} - - -//-------------------------------------------------------------- -void testApp::setup(){ - /* some standard setup stuff*/ - - ofEnableAlphaBlending(); - ofSetupScreen(); - ofBackground(0, 0, 0); - - /* This is stuff you always need.*/ - - sampleRate = 44100; /* Sampling Rate */ - initialBufferSize = 512; /* Buffer Size. you have to fill this buffer with sound*/ - lAudioOut = new float[initialBufferSize];/* outputs */ - rAudioOut = new float[initialBufferSize]; - lAudioIn = new float[initialBufferSize];/* inputs */ - rAudioIn = new float[initialBufferSize]; - - - /* This is a nice safe piece of code */ - memset(lAudioOut, 0, initialBufferSize * sizeof(float)); - memset(rAudioOut, 0, initialBufferSize * sizeof(float)); - - memset(lAudioIn, 0, initialBufferSize * sizeof(float)); - memset(rAudioIn, 0, initialBufferSize * sizeof(float)); - - /* Now you can put anything you would normally put in maximilian's 'setup' method in here. */ - - - beat.load("beat2.wav"); - beat.getLength(); - - - - ofSoundStreamSetup(2,0,this, sampleRate, initialBufferSize, 4);/* Call this last ! */ -} - -//-------------------------------------------------------------- -void testApp::update(){ - -} - -//-------------------------------------------------------------- -void testApp::draw(){ - - /* You can use any of the data from audio received and audiorequested to draw stuff here. - Importantly, most people just use the input and output arrays defined above. - Clever people don't do this. This bit of code shows that by default, each signal is going to flip - between -1 and 1. You need to account for this somehow. Get the absolute value for example. - - */ - - ofSetColor(255, 255, 255,255); - ofRect(600, 300, sample*150, sample*150); /* audio sigs go between -1 and 1. See?*/ - ofCircle(200, 300, wave*150); - - -} - -//-------------------------------------------------------------- -void testApp::audioRequested (float * output, int bufferSize, int nChannels){ - - for (int i = 0; i < bufferSize; i++){ - - /* Stick your maximilian 'play()' code in here ! Declare your objects in testApp.h. - - For information on how maximilian works, take a look at the example code at - - http://www.maximilian.strangeloop.co.uk - - under 'Tutorials'. - - */ - - sample=beat.play(0.5, 0, beat.length); - wave=sine1.sinebuf(440);/* mouse controls sinewave pitch. we get abs value to stop it dropping - //delow zero and killing the soundcard*/ - - mymix.stereo((wave+sample)/2.0, outputs, 0.5); - - - lAudioOut[i] = output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ - rAudioOut[i] = output[i*nChannels + 1] = outputs[1]; - } - -} - -//-------------------------------------------------------------- -void testApp::audioReceived (float * input, int bufferSize, int nChannels){ - - - /* You can just grab this input and stick it in a double, then use it above to create output*/ - - for (int i = 0; i < bufferSize; i++){ - - /* you can also grab the data out of the arrays*/ - - lAudioIn[i] = input[i*2]; - rAudioIn[i] = input[i*2+1]; - } - -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - - - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - diff --git a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.h b/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.h deleted file mode 100755 index 132a3a1..0000000 --- a/ofxMaxim/examples/windows/ofMaximWindowsVS2008_emptyExample/src/testApp.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _TEST_APP -#define _TEST_APP - - -#include "ofMain.h" -#include "maximilian.h"/* you need this*/ - - -class testApp : public ofBaseApp{ - - public: - ~testApp();/* deconsructor is very useful */ - void setup(); - void update(); - void draw(); - - void keyPressed (int key); - void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - - void audioRequested (float * input, int bufferSize, int nChannels); /* output method */ - void audioReceived (float * input, int bufferSize, int nChannels); /* input method */ - - float * lAudioOut; /* outputs */ - float * rAudioOut; - - float * lAudioIn; /* inputs */ - float * rAudioIn; - - int initialBufferSize; /* buffer size */ - int sampleRate; - - - /* stick you maximilian stuff below */ - - double wave,sample,outputs[2]; - maxiMix mymix; - maxiOsc sine1; - maxiSample beats,beat; - -}; - -#endif diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sdf b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sdf deleted file mode 100644 index af1414c..0000000 Binary files a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sdf and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sln b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sln deleted file mode 100644 index 412ece1..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.sln +++ /dev/null @@ -1,25 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emptyExample", "emptyExample.vcxproj", "{7FD42DF7-442E-479A-BA76-D0022F99702A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openframeworksLib", "..\..\..\libs\openFrameworksCompiled\project\vs2010\openframeworksLib.vcxproj", "{5837595D-ACA9-485C-8E76-729040CE4B0B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Debug|Win32.Build.0 = Debug|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.ActiveCfg = Release|Win32 - {7FD42DF7-442E-479A-BA76-D0022F99702A}.Release|Win32.Build.0 = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.ActiveCfg = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Debug|Win32.Build.0 = Debug|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.ActiveCfg = Release|Win32 - {5837595D-ACA9-485C-8E76-729040CE4B0B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.suo b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.suo deleted file mode 100644 index 37d81a7..0000000 Binary files a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.suo and /dev/null differ diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj deleted file mode 100644 index 9c60a3b..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj +++ /dev/null @@ -1,130 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7FD42DF7-442E-479A-BA76-D0022F99702A} - emptyExample - Win32Proj - - - - Application - Unicode - true - - - Application - Unicode - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - bin\ - obj\$(Configuration)\ - true - true - bin\ - obj\$(Configuration)\ - false - $(ProjectName)_debug - $(ProjectName) - $(ProjectDir)src\ofxMaxim\libs;$(ProjectDir)src\ofxMaxim\src;$(IncludePath) - $(ProjectDir)src\ofxMaxim\libs;$(ProjectDir)src\ofxMaxim\src;$(IncludePath) - - - - Disabled - true - EnableFastChecks - MultiThreadedDebugDLL - - Level3 - EditAndContinue - %(AdditionalIncludeDirectories);src - - - $(OutDir)$(TargetName)$(TargetExt) - true - $(TargetDir)$(TargetName)_debugInfo.pdb - Console - false - - MachineX86 - %(AdditionalDependencies) - %(AdditionalLibraryDirectories) - - - - - - false - %(PreprocessorDefinitions) - MultiThreadedDLL - - Level3 - - %(AdditionalIncludeDirectories);src - - - false - false - Console - true - true - false - - MachineX86 - Default - %(AdditionalDependencies) - %(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - - - - - - - - - {5837595d-aca9-485c-8e76-729040ce4b0b} - - - - - \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.filters b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.filters deleted file mode 100644 index fb4e380..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.filters +++ /dev/null @@ -1,66 +0,0 @@ - - - - - src - - - src - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - - - {d8376475-7454-4a24-b08a-aac121d3ad6f} - - - {d2b57609-23bd-45e6-b506-54992313fc87} - - - - - src - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - src\maxim - - - \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.user b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.user deleted file mode 100644 index 5b4759c..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/emptyExample.vcxproj.user +++ /dev/null @@ -1,11 +0,0 @@ - - - - $(TargetDir) - WindowsLocalDebugger - - - $(TargetDir) - WindowsLocalDebugger - - \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/main.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/main.cpp deleted file mode 100644 index 872a5b5..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/main.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "testApp.h" -#include "ofAppGlutWindow.h" - -//-------------------------------------------------------------- -int main(){ - ofAppGlutWindow window; // create a window - // set width, height, mode (OF_WINDOW or OF_FULLSCREEN) - ofSetupOpenGL(&window, 1024, 768, OF_WINDOW); - ofRunApp(new testApp()); // start the app -} diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/install.xml b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/install.xml deleted file mode 100644 index 58923be..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/install.xml +++ /dev/null @@ -1,35 +0,0 @@ - - 0.1 - Goldsmiths Creative Computing - http://www.maximilian.strangeloop.co.uk/ - - - - - - - - - - - - ../../../addons/ofxMaxim/src/ofxMaxim.h - - - - ../../../addons/ofxMaxim/libs/fft.h - ../../../addons/ofxMaxim/libs/fft.cpp - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.h - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.cpp - ../../../addons/ofxMaxim/libs/maximilian.h - ../../../addons/ofxMaxim/libs/maximilian.cpp - - - - - - ../../../addons/ofxMaxim/src - ../../../addons/ofxMaxim/libs - - - \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.cpp deleted file mode 100644 index dddcd2a..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.cpp +++ /dev/null @@ -1,608 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ -/* - - fft.cpp - - Based on K+R Numerical recipes in C and some other stuff hacked about. - - */ - -#include "fft.h" -#include -#include -#include -#include - -int **gFFTBitTable = NULL; -const int MaxFastBits = 16; - -int IsPowerOfTwo(int x) -{ - if (x < 2) - return false; - - if (x & (x - 1)) - return false; - - return true; -} - -int NumberOfBitsNeeded(int PowerOfTwo) -{ - int i; - - if (PowerOfTwo < 2) { - fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); - exit(1); - } - - for (i = 0;; i++) - if (PowerOfTwo & (1 << i)) - return i; -} - -int ReverseBits(int index, int NumBits) -{ - int i, rev; - - for (i = rev = 0; i < NumBits; i++) { - rev = (rev << 1) | (index & 1); - index >>= 1; - } - - return rev; -} - -void InitFFT() -{ - // gFFTBitTable = new int *[MaxFastBits]; - //use malloc for 16 byte alignment - gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); - - int len = 2; - for (int b = 1; b <= MaxFastBits; b++) { - - // gFFTBitTable[b - 1] = new int[len]; - gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); - - for (int i = 0; i < len; i++) - gFFTBitTable[b - 1][i] = ReverseBits(i, b); - - len <<= 1; - } -} - -inline int FastReverseBits(int i, int NumBits) -{ - if (NumBits <= MaxFastBits) - return gFFTBitTable[NumBits - 1][i]; - else - return ReverseBits(i, NumBits); -} - -/* - * Complex Fast Fourier Transform - */ - -void FFT(int NumSamples, - bool InverseTransform, - float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) -{ - int NumBits; /* Number of bits needed to store indices */ - int i, j, k, n; - int BlockSize, BlockEnd; - - double angle_numerator = 2.0 * M_PI; - float tr, ti; /* temp real, temp imaginary */ - - if (!IsPowerOfTwo(NumSamples)) { - fprintf(stderr, "%d is not a power of two\n", NumSamples); - exit(1); - } - - if (!gFFTBitTable) - InitFFT(); - - if (InverseTransform) - angle_numerator = -angle_numerator; - - NumBits = NumberOfBitsNeeded(NumSamples); - - /* - ** Do simultaneous data copy and bit-reversal ordering into outputs... - */ - - for (i = 0; i < NumSamples; i++) { - j = FastReverseBits(i, NumBits); - RealOut[j] = RealIn[i]; - ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; - } - - /* - ** Do the FFT itself... - */ - - BlockEnd = 1; - for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { - - double delta_angle = angle_numerator / (double) BlockSize; - - float sm2 = sin(-2 * delta_angle); - float sm1 = sin(-delta_angle); - float cm2 = cos(-2 * delta_angle); - float cm1 = cos(-delta_angle); - float w = 2 * cm1; - float ar0, ar1, ar2, ai0, ai1, ai2; - - for (i = 0; i < NumSamples; i += BlockSize) { - ar2 = cm2; - ar1 = cm1; - - ai2 = sm2; - ai1 = sm1; - - for (j = i, n = 0; n < BlockEnd; j++, n++) { - ar0 = w * ar1 - ar2; - ar2 = ar1; - ar1 = ar0; - - ai0 = w * ai1 - ai2; - ai2 = ai1; - ai1 = ai0; - - k = j + BlockEnd; - tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; - ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; - - RealOut[k] = RealOut[j] - tr; - ImagOut[k] = ImagOut[j] - ti; - - RealOut[j] += tr; - ImagOut[j] += ti; - } - } - - BlockEnd = BlockSize; - } - - /* - ** Need to normalize if inverse transform... - */ - - if (InverseTransform) { - float denom = (float) NumSamples; - - for (i = 0; i < NumSamples; i++) { - RealOut[i] /= denom; - ImagOut[i] /= denom; - } - } -} - -/* - * Real Fast Fourier Transform - * - * This function was based on the code in Numerical Recipes in C. - * In Num. Rec., the inner loop is based on a single 1-based array - * of interleaved real and imaginary numbers. Because we have two - * separate zero-based arrays, our indices are quite different. - * Here is the correspondence between Num. Rec. indices and our indices: - * - * i1 <-> real[i] - * i2 <-> imag[i] - * i3 <-> real[n/2-i] - * i4 <-> imag[n/2-i] - */ - -void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = (float*) malloc(Half * sizeof(float)); - float *tmpImag = (float*) malloc(Half * sizeof(float)); - - for (i = 0; i < Half; i++) { - tmpReal[i] = RealIn[2 * i]; - tmpImag[i] = RealIn[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - RealOut[i] = h1r + wr * h2r - wi * h2i; - ImagOut[i] = h1i + wr * h2i + wi * h2r; - RealOut[i3] = h1r - wr * h2r + wi * h2i; - ImagOut[i3] = -h1i + wr * h2i + wi * h2r; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - - RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; - ImagOut[0] = h1r - ImagOut[0]; - - delete[]tmpReal; - delete[]tmpImag; -} - -/* - * PowerSpectrum - * - * This function computes the same as RealFFT, above, but - * adds the squares of the real and imaginary part of each - * coefficient, extracting the power and throwing away the - * phase. - * - * For speed, it does not call RealFFT, but duplicates some - * of its code. - */ - -void PowerSpectrum(int NumSamples, float *In, float *Out) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = new float[Half]; - float *tmpImag = new float[Half]; - float *RealOut = new float[Half]; - float *ImagOut = new float[Half]; - - for (i = 0; i < Half; i++) { - tmpReal[i] = In[2 * i]; - tmpImag[i] = In[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i, rt, it; - //float total=0; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); - it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); - - Out[i] = rt * rt + it * it; - - rt = h1r - wr * h2r + wi * h2i; - it = -h1i + wr * h2i + wi * h2r; - - Out[i3] = rt * rt + it * it; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - //printf("total = %f\n",total); - rt = (h1r = RealOut[0]) + ImagOut[0]; - it = h1r - ImagOut[0]; - Out[0] = rt * rt + it * it; - - rt = RealOut[Half / 2]; - it = ImagOut[Half / 2]; - Out[Half / 2] = rt * rt + it * it; - - delete[]tmpReal; - delete[]tmpImag; - delete[]RealOut; - delete[]ImagOut; -} - -/* - * Windowing Functions - */ - -//int NumWindowFuncs() -//{ -// return 4; -//} - -//char *WindowFuncName(int whichFunction) -//{ -// switch (whichFunction) { -// default: -// case 0: -// return "Rectangular"; -// case 1: -// return "Bartlett"; -// case 2: -// return "Hamming"; -// case 3: -// return "Hanning"; -// } -//} - -void WindowFunc(int whichFunction, int NumSamples, float *in) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - in[i] *= (i / (float) (NumSamples / 2)); - in[i + (NumSamples / 2)] *= - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -void fft::genWindow(int whichFunction, int NumSamples, float *window) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - window[i] = (i / (float) (NumSamples / 2)); - window[i + (NumSamples / 2)] = - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -/* constructor */ -fft::fft(int fftSize) { - n = fftSize; - half = fftSize / 2; - //use malloc for 16 byte alignment - in_real = (float *) malloc(n * sizeof(float)); - in_img = (float *) malloc(n * sizeof(float)); - out_real = (float *) malloc(n * sizeof(float)); - out_img = (float *) malloc(n * sizeof(float)); - -#ifdef __APPLE_CC__ - log2n = log2(n); - A.realp = (float *) malloc(half * sizeof(float)); - A.imagp = (float *) malloc(half * sizeof(float)); - setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); - if (setupReal == NULL) { - printf("\nFFT_Setup failed to allocate enough memory for" - "the real FFT.\n"); - } - polar = (float *) malloc(n * sizeof(float)); -#endif -} - -/* destructor */ -fft::~fft() { - delete[] in_real, out_real, in_img, out_img; -#ifdef __APPLE_CC__ - vDSP_destroy_fftsetup(setupReal); - delete[] A.realp; - delete[] A.imagp; - delete[] polar; -#endif - -} - -/* Calculate the power spectrum */ -void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { - int i; - - //windowing - for (i = 0; i < n; i++) { - in_real[i] = data[start + i] * window[i]; - } - - - RealFFT(n, in_real, out_real, out_img); - - for (i = 0; i < half; i++) { - /* compute power */ - float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; - /* compute magnitude and phase */ - magnitude[i] = sqrt(power); - phase[i] = atan2(out_img[i],out_real[i]); - - // if (magnitude[i] < 0.000001){ // less than 0.1 nV - // magnitude[i] = 0; // out of range - // } else { - // magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale - // } - } - -} - -void fft::convToDB(float *in, float *out) { - for (int i = 0; i < half; i++) { - if (in[i] < 0.000001){ // less than 0.1 nV - out[i] = 0; // out of range - } else { - out[i] = 20.0*log10(in[i] + 1); // get to to db scale - } - } -} - - -#ifdef __APPLE_CC__ - -/* Calculate the power spectrum */ -void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { - - uint32_t i; - - //multiply by window - vDSP_vmul(data, 1, window, 1, in_real, 1, n); - - //convert to split complex format - evens and odds - vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); - - - //calc fft - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); - - //scale by 2 (see vDSP docs) - static float scale=0.5 ; - vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); - vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); - - //back to split complex format - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - //convert to polar - vDSP_polar(out_real, 2, polar, 2, half); - - for (i = 0; i < half; i++) { - magnitude[i]=polar[2*i]; - phase[i]=polar[2*i + 1]; - } - - - -} - -void fft::convToDB_vdsp(float *in, float *out) { - float ref = 1.0; - vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); - //get rid of any -infs - float vmin=0.0; - float vmax=9999999.0; - vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); -} - -#endif - -void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { - int i; - - /* get real and imag part */ - for (i = 0; i < half; i++) { - // float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; - // in_real[i] = mag *cos(phase[i]); - // in_img[i] = mag *sin(phase[i]); - in_real[i] = magnitude[i] *cos(phase[i]); - in_img[i] = magnitude[i] *sin(phase[i]); - } - - /* zero negative frequencies */ - memset(in_real+half, half, 0.0); - memset(in_img+half, half, 0.0); - - FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform - - for (i = 0; i < n; i++) { - finalOut[start + i] += out_real[i] * window[i] - ; - } - -} - - -#ifdef __APPLE_CC__ -void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { - uint32_t i; - - for (i = 0; i < half; i++) { - // polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; - polar[2*i] = magnitude[i]; - polar[2*i + 1] = phase[i]; - } - - vDSP_rect(polar, 2, in_real, 2, half); - - vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - float scale = 1./n; - vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); - - //multiply by window - vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); - -} - -#endif diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.h deleted file mode 100644 index 7f0e688..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/fft.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _FFT -#define _FFT - -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifdef __APPLE_CC__ -#include -#endif - - - -class fft { - -public: - - fft(int fftSize); - ~fft(); - - int n; //fftSize - int half; //halfFFTSize - - float *in_real, *out_real, *in_img, *out_img; - -#ifdef __APPLE_CC__ - int log2n; //log2(n); - FFTSetup setupReal; - COMPLEX_SPLIT A; - float *polar; - void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); - void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB_vdsp(float *in, float *out); -#endif - - /* Calculate the power spectrum */ - void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); - /* ... the inverse */ - void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB(float *in, float *out); - - static void genWindow(int whichFunction, int NumSamples, float *window); - -}; - - -#endif diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.cpp deleted file mode 100644 index 2e1dd2c..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/* - * gabor.cpp - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiAtoms.h" -#include -#include -#include "sineTable.h" -#ifdef __APPLE_CC__ -#include -#warning ofxMaxim: Please link against the accelerate framework. -#endif - -//#include "tinyxml.h" - -double sineBuffer2[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - - -maxiGrainWindowCache maxiCollider::envCache = maxiGrainWindowCache(); - -inline void maxiCollider::createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned length, - float startPhase, const float kurtotis, const float amp) { - atom.resize(length); - flArr sine; - sine.resize(length); - -// float gausDivisor = (-2.0 * kurtotis * kurtotis); -// float phase =-1.0; - - double *env = maxiCollider::envCache.getWindow(length); -#ifdef __APPLE_CC__ - vDSP_vdpsp(env, 1, &atom[0], 1, length); -#else - for(unsigned i=0; i < length; i++) { - atom[i] = env[i]; - } -#endif - -//#ifdef __APPLE_CC__ -// vDSP_vramp(&phase, &inc, &atom[0], 1, length); -// vDSP_vsq(&atom[0], 1, &atom[0], 1, length); -// vDSP_vsdiv(&atom[0], 1, &gausDivisor, &atom[0], 1, length); -// for(uint i=0; i < length; i++) atom[i] = exp(atom[i]); -//#else -// for(uint i=0; i < length; i++) { -// //gaussian envelope -// atom[i] = exp((phase* phase) / gausDivisor); -// phase += inc; -// } -//#endif - - float cycleLen = sampleRate / freq; - float maxPhase = length / cycleLen; - float inc = 1.0 / length; - - -#ifdef __APPLE_CC__ - flArr interpConstants; - interpConstants.resize(length); - float phase = 0.0; - vDSP_vramp(&phase, &inc, &interpConstants[0], 1, length); - vDSP_vsmsa(&interpConstants[0], 1, &maxPhase, &startPhase, &interpConstants[0], 1, length); - float waveTableLength = 512; - vDSP_vsmul(&interpConstants[0], 1, &waveTableLength, &interpConstants[0], 1, length); - for(uint i=0; i < length; i++) { - interpConstants[i] = fmod(interpConstants[i], 512.0f); - } - vDSP_vlint(sineBuffer2, &interpConstants[0], 1, &sine[0], 1, length, 514); - vDSP_vmul(&atom[0], 1, &sine[0], 1, &atom[0], 1, length); - vDSP_vsmul(&atom[0], 1, &, &atom[0], 1, length); -#else - maxPhase *= TWOPI; - for(unsigned int i=0; i < length; i++) { - //multiply by sinewave - float x = inc * i; - sine[i] = sin((x * maxPhase) + startPhase); - } - for(unsigned int i=0; i < length; i++) { - atom[i] *= sine[i]; - atom[i] *= amp; - } -#endif -} - - - -maxiAccelerator::maxiAccelerator() { - sampleIdx = 0; -} - -void maxiAccelerator::addAtom(flArr &atom, unsigned int offset) { - queuedAtom quAtom; - quAtom.atom = atom; - quAtom.startTime = sampleIdx + offset; - quAtom.pos = 0; - atomQueue.push_back(quAtom); -} - -void maxiAccelerator::fillNextBuffer(float *buffer, unsigned int bufferLength) { - queuedAtomList::iterator it = atomQueue.begin(); - while(it != atomQueue.end()) { - int atomStart = (*it).startTime + (*it).pos; - //include in this frame? - if (atomStart >= sampleIdx && atomStart < sampleIdx + bufferLength) { - //copy into buffer - int renderLength = min(bufferLength, (*it).atom.size() - (*it).pos); - for(int i=0; i < renderLength; i++) { - buffer[i] += (*it).atom[i + (*it).pos]; - } - (*it).pos += renderLength; - } - if ((*it).pos == (*it).atom.size()) { - it = atomQueue.erase(it); - }else { - it++; - } - - } - sampleIdx += bufferLength; -} - -//bool maxiAtomBook::loadMPTKXmlBook(string filename, maxiAtomBook &book) { -// bool ok; -// ifstream f; -// f.open(filename.c_str()); -// if (f.fail()) { -// cout << "I couldn't open " << filename << endl; -// ok = false; -// }else { -// cout << "Reading " << filename << endl; -// const int lineBufferSize = 1024; -// char lineBuffer[lineBufferSize]; -// string line(""); -// //get dictionary definition xml -// while("" != line) { -// f.getline(lineBuffer, lineBufferSize); -// line = lineBuffer; -// } -// //this should be "txt" -// f.getline(lineBuffer, lineBufferSize); -// //get rest of data into one string -// string xmlData; -// while(!f.eof()) { -// f.getline(lineBuffer, lineBufferSize); -// xmlData.append(lineBuffer); -// } -// TiXmlDocument doc; -// doc.Parse(xmlData.c_str()); -// cout << "Parsed xml, processing atoms...\n"; -// TiXmlHandle docHandle = TiXmlHandle(&doc); -// -// TiXmlElement *root = docHandle.FirstChildElement("book").ToElement(); -// TiXmlAttribute *nAtomsAtt = root->FirstAttribute(); -// cout << nAtomsAtt->Name() << ", " << nAtomsAtt->Value() << endl; -// int nAtoms = atoi(nAtomsAtt->Value()); -// TiXmlAttribute *numSamplesAtt = nAtomsAtt->Next()->Next(); -// cout << numSamplesAtt->Name() << ", " << numSamplesAtt->Value() << endl; -// book.numSamples = atoi(numSamplesAtt->Value()); -// TiXmlAttribute *sampleRateAtt = numSamplesAtt->Next(); -// cout << sampleRateAtt->Name() << ", " << sampleRateAtt->Value() << endl; -// book.sampleRate = atoi(sampleRateAtt->Value()); -// -// for(int atomIdx=0; atomIdx < nAtoms; atomIdx++) { -// maxiGaborAtom *newAtom = new maxiGaborAtom(); -// newAtom->atomType = GABOR; -// TiXmlElement *atom = docHandle.FirstChildElement("book").ChildElement("atom", atomIdx).ToElement(); -// TiXmlElement *node = atom->FirstChildElement()->NextSibling()->ToElement(); -// newAtom->position = atoi(node->FirstChildElement("p")->FirstChild()->ToText()->Value()); -// newAtom->length = atoi(node->FirstChildElement("l")->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->ToElement(); -// newAtom->amp = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->frequency = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->phase = atof(node->FirstChild()->ToText()->Value()); -// //cout << "Atom: pos: " << newAtom->position << ", length: " << newAtom->length << ", amp: " << newAtom->amp << ", freq: " << newAtom->frequency << ", phase: " << newAtom->phase << endl; -// book.atoms.push_back(newAtom); -// } -// -// } -// return ok; -//} - -maxiAtomBook::~maxiAtomBook() { - for(int i=0; i < atoms.size(); i++) delete atoms[i]; -} - -maxiAtomBookPlayer::maxiAtomBookPlayer() { - atomIdx = 0; -} - -void maxiAtomBookPlayer::play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize) { - //positions - long idx = atomStream.getSampleIdx(); - int loopedSamplePos = idx % book.numSamples; - - //reset loop? - if (loopedSamplePos < bufferSize) - atomIdx = 0; - - if (atomIdx < book.atoms.size()) { - maxiGaborAtom *atom = (maxiGaborAtom*) book.atoms[atomIdx]; - while(atom->position < (idx + bufferSize) % book.numSamples) { - flArr atomData; - maxiCollider::createGabor(atomData, maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 40.0); - atomStream.addAtom(atomData, loopedSamplePos - atom->position); - atomIdx++; - if (book.atoms.size() == atomIdx) - break; - atom = (maxiGaborAtom*) book.atoms[atomIdx]; - } - } -} diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.h deleted file mode 100644 index 1782d55..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiAtoms.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * gabor.h - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - - -#include -#include "maximilian.h" -#include -#include -#include "maxiGrains.h" - - -using namespace std; - -typedef vector flArr; - -enum maxiAtomTypes { - GABOR -}; - -struct maxiAtom { - maxiAtomTypes atomType; - float length; - float position; - float amp; - static bool atomSortPositionAsc(maxiAtom* a, maxiAtom* b) {return a->position < b->position;} -}; - -struct maxiGaborAtom : maxiAtom { - float frequency; - float phase; -}; - -//create atoms -class maxiCollider { -public: - static inline void createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned int length, - float phase, const float kurtotis, const float amp); - static maxiGrainWindowCache envCache; -}; - - -//queue atoms into an audio stream -class maxiAccelerator { -public: - maxiAccelerator(); - void addAtom(flArr &atom, unsigned int offset=0); - void fillNextBuffer(float *buffer, unsigned int bufferLength); - inline long getSampleIdx(){return sampleIdx;} -private: - long sampleIdx; - struct queuedAtom { - flArr atom; - long startTime; - unsigned int pos; - }; - typedef list queuedAtomList; - queuedAtomList atomQueue; -}; - -/*load a book in MPTK XML format - http://mptk.irisa.fr/ - - how to create a book: - mpd -n 1000 -R 10 -d ./dic_gabor_two_scales.xml glockenspiel.wav book.xml -*/ -class maxiAtomBook { -public: - ~maxiAtomBook(); - typedef vector maxiAtomBookData; - unsigned int numSamples; - unsigned int sampleRate; - maxiAtomBookData atoms; - //commented out for now, need to resolve tinyxml linker issues - we need tinyxml in the distrib, but it clashes if you also import ofxXmlSettings -// static bool loadMPTKXmlBook(string filename, maxiAtomBook &book); - -}; - -class maxiAtomBookPlayer { -public: - maxiAtomBookPlayer(); - void play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize); -private: - unsigned int atomIdx; -}; - diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.cpp deleted file mode 100644 index 2ddefb4..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maxiFFT.h" -#include "maximilian.h" -#include -#include "math.h" - -using namespace std; - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - magnitudes = (float *) malloc(bins * sizeof(float)); - magnitudesDB = (float *) malloc(bins * sizeof(float)); - phases = (float *) malloc(bins * sizeof(float)); - avgPower = new float; - memset(buffer, 0, fftSize * sizeof(float)); - memset(magnitudes, 0, bins * sizeof(float)); - memset(magnitudesDB, 0, bins * sizeof(float)); - memset(phases, 0, bins * sizeof(float)); - *avgPower = 0; - pos =windowSize - hopSize; - newFFT = 0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -bool maxiFFT::process(float value) { - //add value to buffer at current pos - buffer[pos++] = value; - //if buffer full, run fft - newFFT = pos == windowSize; - if (newFFT) { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); -#else - _fft->powerSpectrum(0, buffer, window, magnitudes, phases); -#endif - //shift buffer back by one hop size - memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); - //set the new data to zero (is this necessary?, it will get overwritten) - memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); - //reset pos to start of hop - pos= windowSize - hopSize; - } - return newFFT; -} - -float* maxiFFT::magsToDB() { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->convToDB_vdsp(magnitudes, magnitudesDB); -#else - _fft->convToDB(magnitudes, magnitudesDB); -#endif - return magnitudesDB; -} - -float maxiFFT::spectralFlatness() { - float geometricMean=0, arithmaticMean=0; - for(int i=0; i < bins; i++) { - if (magnitudes[i] != 0) - geometricMean += log(magnitudes[i]); - arithmaticMean += magnitudes[i]; - } - geometricMean = exp(geometricMean / (float)bins); - arithmaticMean /= (float)bins; - return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; -} - -float maxiFFT::spectralCentroid() { - float x=0, y=0; - for(int i=0; i < bins; i++) { - x += fabs(magnitudes[i]) * (i+1); - y += fabs(magnitudes[i]); - } - return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; -} - - - -maxiFFT::~maxiFFT() { - delete _fft; - if (buffer) - delete[] buffer,magnitudes,phases,window, avgPower, magnitudesDB; -} - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//I N V E R S E F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - ifftOut = (float *) malloc(fftSize * sizeof(float)); - memset(buffer, 0, windowSize * sizeof(float)); - pos =0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -float maxiIFFT::process(float *magnitudes, float *phases) { - if (0==pos) { - //do ifft - memset(ifftOut, 0, fftSize * sizeof(float)); -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); -#else - _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); -#endif - //add to output - //shift back by one hop - memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); - //clear the end chunk - memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); - //merge new output - for(int i=0; i < fftSize; i++) { - buffer[i] += ifftOut[i]; - } - } - - nextValue = buffer[pos]; - //limit the values, this alg seems to spike occasionally (and break the audio drivers) - if (nextValue > 0.99999f) nextValue = 0.99999f; - if (nextValue < -0.99999f) nextValue = -0.99999f; - if (hopSize == ++pos ) { - pos=0; - } - - return nextValue; -} - -maxiIFFT::~maxiIFFT() { - delete _fft; - delete[] ifftOut, buffer, window; -}; - - - - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//O C T A V E A N A L Y S E R -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - -void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ - - samplingRate = samplingRate; - nSpectrum = nBandsInTheFFT; - spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); - nAverages = nBandsInTheFFT; - // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc - if (nAveragesPerOctave==0) // um, wtf? - nAveragesPerOctave = 1; -// nAveragesPerOctave = nAveragesPerOctave; - averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); - // this isn't currently configurable (used once here then no effect), but here's some reasoning: - // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 - // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 - // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 - // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) - // but don't go much smaller unless you have a huge fft window size (see below for more why) - // keep in mind, if you change it, that the number of actual bands may change +/-1, and - // for some values, the last averaging band may not be very useful (may extend above nyquist) - firstOctaveFrequency = 55.0f; - // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. - // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. - // with more spectrum bins, you can better map into the averaging bins (especially at low - // frequencies) or use more averaging bins per octave. with an fft window size of 2048, - // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave - // analysis. if you don't have enough spectrum bins to map adequately into averaging bins - // at the requested number per octave then you'll end up with "empty" averaging bins, where - // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, - // either increase fft buffer size, or decrease number of averages per octave, etc) - spe2avg = new int[nSpectrum]; - int avgidx = 0; - float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin - // we're looking for the "top" of the first spectrum bin, and i'm just sort of - // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) - // ... either way it's probably close enough for these purposes - float spectrumFreq = spectrumFrequencySpan; - for (int speidx=0; speidx < nSpectrum; speidx++) { - while (spectrumFreq > averageFreq) { - avgidx++; - averageFreq *= averageFrequencyIncrement; - } - spe2avg[speidx] = avgidx; - spectrumFreq += spectrumFrequencySpan; - } - nAverages = avgidx; - averages = new float[nAverages]; - peaks = new float[nAverages]; - peakHoldTimes = new int[nAverages]; - peakHoldTime = 0; // arbitrary - peakDecayRate = 0.9f; // arbitrary - linearEQIntercept = 1.0f; // unity -- no eq by default - linearEQSlope = 0.0f; // unity -- no eq by default -} - -void maxiFFTOctaveAnalyzer::calculate(float * fftData){ - - int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average - float sum = 0.0f; // running total of spectrum data - int count = 0; // count of spectrums accumulated (for averaging) - for (int speidx=0; speidx < nSpectrum; speidx++) { - count++; - sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); - int avgidx = spe2avg[speidx]; - if (avgidx != last_avgidx) { - - for (int j = last_avgidx; j < avgidx; j++){ - averages[j] = sum / (float)(count); - } - count = 0; - sum = 0.0f; - } - last_avgidx = avgidx; - } - // the last average was probably not calculated... - if ((count > 0) && (last_avgidx < nAverages)){ - averages[last_avgidx] = sum / (float)(count); - } - - // update the peaks separately - for (int i=0; i < nAverages; i++) { - if (averages[i] >= peaks[i]) { - // save new peak level, also reset the hold timer - peaks[i] = averages[i]; - peakHoldTimes[i] = peakHoldTime; - } else { - // current average does not exceed peak, so hold or decay the peak - if (peakHoldTimes[i] > 0) { - peakHoldTimes[i]--; - } else { - peaks[i] *= peakDecayRate; - } - } - } -} diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.h deleted file mode 100644 index d2694f4..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiFFT.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _MAXI_FFT -#define _MAXI_FFT - -//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions - - -#include "fft.h" -#include "stddef.h" - -class maxiFFT { - -public: - maxiFFT(){ - _fft = NULL; - buffer = magnitudes = phases = window = avgPower = NULL; - }; - ~maxiFFT(); - void setup(int fftSize, int windowSize, int hopSize); - bool process(float value); - float* magsToDB(); - float *magnitudes, *phases, *magnitudesDB; - float *avgPower; - int windowSize; - int hopSize; - int bins; - - //features - float spectralFlatness(); - float spectralCentroid(); - -private: - float *buffer, *window; - int pos; - float nextValue; - int fftSize; - fft *_fft; - bool newFFT; - -}; - -class maxiIFFT { - -public: - maxiIFFT(){ - _fft=0; - }; - ~maxiIFFT(); - void setup(int fftSize, int windowSize, int hopSize); - float process(float *magnitudes, float *phases); - -private: - float *ifftOut, *buffer, *window; - int windowSize; - int bins; - int hopSize; - int pos; - float nextValue; - int fftSize; - fft *_fft; -}; - - -class maxiFFTOctaveAnalyzer { - /*based on code by David Bollinger, http://www.davebollinger.com/ - */ -public: - - float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) - int nSpectrum; // number of spectrum bins in the fft - int nAverages; // number of averaging bins here - int nAveragesPerOctave; // number of averages per octave as requested by user - float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz - float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz - float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies - float * averages; // the actual averages - float * peaks; // peaks of the averages, aka "maxAverages" in other implementations - int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 - int peakHoldTime; // how long do we hold peaks? (in fft frames) - float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all - int * spe2avg; // the mapping between spectrum[] indices and averages[] indices - // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale - // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear - // equalizer instead: - float linearEQSlope; // the rate of linear eq - float linearEQIntercept; // the base linear scaling used at the first averaging bin - // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) - // so.. note that clever use of it can also provide a "gain" control of sorts - // (fe: set intercept to 2f and slope to 0f to double gain) - - void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); - - void calculate(float * fftData); - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.cpp deleted file mode 100644 index 951f3b5..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "maxiGrains.h" - - - - - diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.h deleted file mode 100644 index 7569937..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiGrains.h +++ /dev/null @@ -1,467 +0,0 @@ - - -#ifndef _MAXI_GRAINS_H -#define _MAXI_GRAINS_H -#include "maximilian.h" - -#if defined(__APPLE_CC__) -#include "accelerate/accelerate.h" -//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. -//#define MAXIGRAINFAST -#endif - -#include - -typedef unsigned long ulong; - -//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows - -struct hannWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - -//this window can produce clicks -struct hammingWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - - -struct cosineWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return sin((PI * windowPos) / (windowLength - 1)); - } -}; - -struct rectWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 1; - } -}; - -struct triangleWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct triangleNZWinFunctor { - //non zero end points - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct blackmanHarrisWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.35875 - - (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct blackmanNutallWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.3635819 - - (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct gaussianWinFunctor { - double gausDivisor; - gaussianWinFunctor() { - init(0.3); - } - gaussianWinFunctor(double kurtosis) { - init(kurtosis); - } - void init(double kurtosis) { - gausDivisor = (-2.0 * kurtosis * kurtosis); - } - inline double operator()(ulong windowLength, ulong windowPos) { - double phase = ((windowPos / (double) windowLength) - 0.5) * 2.0; - return exp((phase * phase) / gausDivisor); - } -}; - - -template -class maxiGrainWindowCache { -public: - unsigned int cacheSize; - - maxiGrainWindowCache() { - cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains - cache = (double**)malloc(cacheSize * sizeof(double*)); - for(int i=0; i < cacheSize; i++) { - cache[i] = NULL; - } - } - - ~maxiGrainWindowCache() { - for(int i=0; i < cacheSize; i++) { - if(NULL != cache[i]) { - free(cache[i]); - } - } - free(cache); - } - - double* getWindow(const unsigned int length) { - if (NULL == cache[length]) { - cache[length] = (double*)malloc(length * sizeof(double)); - for(int i=0; i < length; i++) { - cache[length][i] = F()(length, i); - } - } - return cache[length]; - } - -private: - double** cache; - -}; - -class maxiGrainBase { -public: - virtual double play() {} - virtual ~maxiGrainBase() {} - bool finished; -}; - -template -class maxiGrain : public maxiGrainBase { -public: - maxiSample *sample; - double pos; - double dur; - long sampleStartPos; - long sampleIdx; - long sampleDur; - long sampleEndPos; - double freq; - double speed; - double inc; - double frequency; - double* window; - short* buffer; -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - double* grainSamples; -#endif - /* - position between 0.0 and 1.0 - duration in seconds - */ - maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) - { - buffer = sample->temp; - sampleStartPos = sample->length * pos; - sampleDur = dur * (double)sample->mySampleRate; - sampleDurMinusOne = sampleDur - 1; - sampleIdx = 0; - finished = 0; - freq = 1.0 / dur; - sampleEndPos = min(sample->length, sampleStartPos + sampleDur); - frequency = freq * speed; - if (frequency > 0) { - pos = sampleStartPos; - }else{ - pos = sampleEndPos; - } - if (frequency != 0) { - inc = sampleDur/(maxiSettings::sampleRate/frequency); - }else - inc = 0; - window = windowCache->getWindow(sampleDur); - -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - //premake the grain using fast vector functions, and quadratic interpolation - double *sourceData = (double*)malloc(sampleDur * sizeof(double)); - short* buffer = (short *)sample->temp; - //convert sample to double data - vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); - //todo: wraping code - - grainSamples = (double*)malloc(sampleDur * sizeof(double)); - //make list of interpolation indexes - double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); - double interpPos = sampleStartPos; - for(int i=0; i < sampleDur; i++) { - interpIndexes[i] = interpPos - sampleStartPos; - interpPos += fabs(inc); - } - vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); - if (frequency < 0) { - vDSP_vrvrsD(grainSamples,1, sampleDur); - } - static double divFactor = 32767.0; - vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); - vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); - delete sourceData, interpIndexes; -#endif - } - - ~maxiGrain() { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - delete[] grainSamples; -#endif - } - - inline double play() { - double output = 0.0; - if (!finished) { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - output = grainSamples[sampleIdx]; -#else - envValue = window[sampleIdx]; - double remainder; - pos += inc; - if (pos >= sample->length) - pos -= sample->length; - else if (pos < 0) - pos += sample->length; - - long posl = floor(pos); - remainder = pos - posl; - long a = posl; - long b = posl+1; - if (b >= sample->length) { - b = 0; - } - output = (double) ((1-remainder) * buffer[a] + - remainder * buffer[b])/32767.0;//linear interpolation - output *= envValue; -#endif - } - sampleIdx++; - if (sampleIdx == sampleDur) finished = true; - return output; - } - -private: - maxiGrain(); - double envValue; - ulong sampleDurMinusOne; -}; - - -typedef list grainList; - -class maxiGrainPlayer { -public: - grainList grains; - maxiSample *sample; - - maxiGrainPlayer(maxiSample *sample) : sample(sample) { - } - - void addGrain(maxiGrainBase *g) { - grains.push_back(g); - } - - inline double play() { - double total = 0.0; - grainList::iterator it = grains.begin(); - while(it != grains.end()) { - total += (*it)->play(); - if ((*it)->finished) { - delete(*it); - it = grains.erase(it); - }else{ - it++; - } - } - return total; - } -}; - -template -class maxiTimestretch { -protected: - double position; -public: - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - double looper; - - - - maxiTimestretch(maxiSample *sample) : sample(sample) { - position=0; - looper = 0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiTimestretch() { - delete grainPlayer; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - - //play at a speed - inline double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + speed; - looper++; - if (position > sample->length) position-= sample->length; - if (position < 0) position += sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - speed = (speed > 0 ? 1 : -1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - - //provide your own position iteration - inline double play2(double pos, double grainLength, int overlaps) { - looper++; - pos *= sample->length; - if (0 == floor(fmod(looper, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position -//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. -//with both high speed values and negative speed values there are some terrific artefacts! - -template -class maxiPitchShift { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchShift(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchShift() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + 1; - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. -//the rest is the same. - -template -class maxiPitchStretch { -public: - double position; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - long loopStart, loopEnd, loopLength; - double looper; - - maxiPitchStretch(maxiSample *sample) : sample(sample) { - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - loopStart = 0.0; - loopEnd = sample->length; - loopLength =sample->length; - position=0; - looper = 0; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - void setLoopStart(double val) { - loopStart = val * sample->length; - loopLength = loopEnd - loopStart; - } - - void setLoopEnd(double val) { - loopEnd = val * sample->length; - loopLength = loopEnd - loopStart; - } - - ~maxiPitchStretch() { - delete grainPlayer; - } - - inline double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * rate); - looper++; - if (position >= loopEnd) position-= loopLength; - if (position < loopStart) position += loopLength; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.cpp deleted file mode 100644 index f180fb5..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maxiMFCC.cpp - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiMFCC.h" - - -#ifdef __APPLE_CC__ -template <> -void maxiMFCCAnalyser::dct(double *mfccs) { - vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - double n = (double) numCoeffs; - vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::dct(float *mfccs) { - vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - float n = (float) numCoeffs; - vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); -} -#endif - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - //conv to double - vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); - // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); - vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - -template -void maxiMFCCAnalyser::melFilterAndLogSq_Part2(float *powerSpectrum) { -#ifdef __APPLE_CC__ -#else - for (unsigned int filter = 0;filter < numFilters;filter++) { - melBands[filter] = 0.0; - for (unsigned int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; - } -} - - - - - - - - - - - - diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.h deleted file mode 100644 index 3c4a651..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maxiMFCC.h +++ /dev/null @@ -1,204 +0,0 @@ -/* - * maxiMFCC.h - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - - Based on Matthew Yee-King's MFCCMYK java class - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - - -// implements this formula: -// mel = 2595 log10(Hz/700 + 1) -inline double hzToMel(double hz){ - return 2595.0 * (log10(hz/700.0 + 1.0)); -} - -// implements this formula -// Hz = 700 (10^(mel/2595) - 1) -inline double melToHz(double mel){ - return 700.0 * (pow(10, mel/2595.0) - 1.0); -} - -template -class maxiMFCCAnalyser { -public: - T *melBands; - maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; - ~maxiMFCCAnalyser() { - if (melFilters) { - delete[] melFilters; - delete[] melBands; - delete[] dctMatrix; -#ifdef __APPLE_CC__ - delete doubleSpec; -#endif - } - } - - void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) - { - this->numFilters = numFilters; - this->numCoeffs = numCoeffs; - this->minFreq = minFreq; - this->maxFreq = maxFreq; - this->sampleRate = sampleRate; - this->numBins = numBins; - melFilters = NULL; - melBands = (T*) malloc(sizeof(T) * numFilters); -#ifdef __APPLE_CC__ - doubleSpec = (T*)malloc(sizeof(T) * numBins); -#endif - //create new matrix - dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); - calcMelFilterBank(sampleRate, numBins); - createDCTCoeffs(); - } - void mfcc(float* powerSpectrum, T *mfccs) { - melFilterAndLogSquare(powerSpectrum); - dct(mfccs); - } - -private: - unsigned int numFilters, numCoeffs; - double minFreq, maxFreq; - unsigned int sampleRate; - T *melFilters; - unsigned int numBins; - T *dctMatrix; -#ifdef __APPLE_CC__ - T *doubleSpec; -#endif - -#ifdef __APPLE_CC__ - void dct(T *mfccs); //define later -#else - void dct(T *mfccs) { - for(int i=0; i < numCoeffs; i++) { - mfccs[i] = 0.0; - } - for(int i=0; i < numCoeffs; i++ ) { - for(int j=0; j < numFilters; j++) { - int idx = i + (j * numCoeffs); - mfccs[i] += (dctMatrix[idx] * melBands[j]); - } - } - for(int i=0; i < numCoeffs; i++) { - mfccs[i] /= numCoeffs; - } - } -#endif - - void melFilterAndLogSquare(float* powerSpectrum); - void melFilterAndLogSq_Part2(float *powerSpectrum); - - - void calcMelFilterBank(double sampleRate, int numBins) { - - double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; - int numValidBins; - - // ignore bins over nyquist - numValidBins = numBins; - - nyquist = sampleRate/2; - if (maxFreq > nyquist) { - maxFreq = nyquist; - } - - maxMel = hzToMel(maxFreq); - minMel = hzToMel(minFreq); - - dMel = (maxMel - minMel) / (numFilters + 2 - 1); - - T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); - - // first generate an array of start and end freqs for each triangle - mel = minMel; - for (int i=0;i nextF || binFreq < prevF) { - // outside this filter - melFilters[idx] = 0; - //cout << "MFCCMYK: filter at " < maxiMFCC; -//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.cpp deleted file mode 100644 index bd19797..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.cpp +++ /dev/null @@ -1,1100 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - -/* Maximilian can be configured to load ogg vorbis format files using the -* loadOgg() method. -* Uncomment the following to include Sean Barrett's Ogg Vorbis decoder. -* If you're on windows, make sure to add the files std_vorbis.c and std_vorbis.h to your project*/ - -//#define VORBIS - -#ifdef VORBIS -extern "C" { - #include "stb_vorbis.h" -} -#endif - -//This used to be important for dealing with multichannel playback -float chandiv= 1; - -int maxiSettings::sampleRate = 44100; -int maxiSettings::channels = 2; -int maxiSettings::bufferSize = 1024; - - -//this is a 514-point sinewave table that has many uses. -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -//This is a lookup table for converting midi to frequency -double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - //When you create an oscillator, the constructor sets the phase of the oscillator to 0. - phase = 0.0; -} - -double maxiOsc::noise() { - //White Noise - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -void maxiOsc::phaseReset(double phaseIn) { - //This allows you to set the phase of the oscillator to anything you like. - phase=phaseIn; - -} - -double maxiOsc::sinewave(double frequency) { - //This is a sinewave oscillator - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - //This is a sinewave oscillator that uses 4 point interpolation on a 514 point buffer - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { //specify the frequency of the oscillator in Hz / cps etc. - //This is a sinewave oscillator that uses linear interpolation on a 514 point buffer - double remainder; - phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - //This is a cosine oscillator - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - //This produces a floating point linear ramp between 0 and 1 at the desired frequency - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - //This is a square wave - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - //This is a pulse generator that creates a signal between -1 and 1. - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - //This is a phasor that takes a value for the start and end of the ramp. - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - //Sawtooth generator. This is like a phasor but goes between -1 and 1 - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency) { - //This is a triangle wave. - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phase <= 0.5 ) { - output =(phase - 0.25) * 4; - } else { - output =((1.0-phase) - 0.25) * 4; - } - return(output); - -} - -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - //This is a basic multi-segment ramp generator that you can use for more or less anything. - //However, it's not that intuitive. - if (isPlaying==1) {//only make a sound once you've been triggered - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - - } - else { - output=0; - - } - return(output); -} - -//and this -void maxiEnvelope::trigger(int index, double amp) { - isPlaying=1;//ok the envelope is being used now. - valindex=index; - amplitude=amp; - -} - -//Delay with feedback -maxiDelayline::maxiDelayline() { - memset( memory, 0, 88200*sizeof (double) ); -} - - -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) { - phase = 0; - } - output=memory[phase]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - output=memory[position]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - return(output); - -} - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//working hires filter -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1.0-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1.0-x)*y); - four[1]=input*sqrt((1.0-x)*(1.0-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1.0-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); - eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); - eight[2]=input*(sqrt(x*y)*1.0-z); - eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); - eight[4]=input*(sqrt((1.0-x)*y)*z); - eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1.0-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName, int channel) { - myPath = fileName; - readChannel=channel; - return read(); -} - -bool maxiSample::loadOgg(string fileName, int channel) { -#ifdef VORBIS - bool result; - readChannel=channel; - int channelx; - myDataSize = stb_vorbis_decode_filename(const_cast(fileName.c_str()), &channelx, &temp); - result = myDataSize > 0; - printf("\nchannels = %d\nlength = %d",channelx,myDataSize); - printf("\n"); - myChannels=(short)channelx; - length=myDataSize; - mySampleRate=44100; - - if (myChannels>1) { - int position=0; - int channel=readChannel; - for (int i=channel;i1) { - int position=0; - int channel=readChannel*2; - for (int i=channel;i=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + remainder * temp[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - return play(frequency, start, end, position); -} - -double maxiSample::play(double frequency, double start, double end, double &pos) { - double remainder; - if (end>=length) end=length-1; - long a,b; - - if (frequency >0.) { - if (pos= end ) pos = start; - pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = pos - floor(pos); - long posl = floor(pos); - if (posl+1=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + - remainder * temp[b])/32767;//linear interpolation - - } - - return(output); -} - - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=temp[(int)(floor(position))-1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (positionstart && position < end-1) { - a=temp[(long) position+1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (position>start) { - c=temp[(long) position-1]; - - } else { - c=temp[0]; - - } - if (position>start+1) { - d=temp[(long) position-2]; - - } else { - d=temp[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv)/(maxiSettings::sampleRate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - -void maxiSample::setLength(unsigned long numSamples) { - temp = (short*) realloc(temp, sizeof(short) * numSamples); -// short *newData = (short*) malloc(sizeof(short) * numSamples); -// if (NULL!=temp) { -// unsigned long copyLength = min((unsigned long)length, numSamples); -// memcpy(newData, temp, sizeof(short) * copyLength); -// free(temp); -// } -// temp = newData; - myDataSize = numSamples * 2; - length=numSamples; - position=0; - recordPosition=0; -} - -void maxiSample::clear() { - memset(temp, 0, myDataSize); -} - -void maxiSample::reset() { - position=0; -} - - - - - -/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for - incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. - Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ - -double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(amplitude==0) amplitude=0.01; - } - - if (attackphase==1 && amplitude<1) { - amplitude*=(1+attack); - output=input*amplitude; - } - - if (amplitude>=1) { - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - - -double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(currentRatio==0) currentRatio=ratio; - } - - if (attackphase==1 && currentRatio=ratio-1) { - attackphase=0; - releasephase=1; - } - - if (releasephase==1 && currentRatio>0.) { - currentRatio*=release; - } - - if (input>0.) { - output = input/(1.+currentRatio); - } else { - output = input/(1.+currentRatio); - } - - return output*(1+log(ratio)); -} - - -/* Lots of people struggle with the envelope generators so here's a new easy one. - It takes mental numbers for attack and release tho. Basically, they're exponentials. - I'll map them out later so that it's a bit more intuitive */ -double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -/* and here's a new adsr. It's not bad, very simple to use*/ - -double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -double convert::mtof(int midinote) { - - return mtofarray[midinote]; -} - - -void maxiEnvelopeFollower::setAttack(double attackMS) { - attack = pow( 0.01, 1.0 / ( attackMS * maxiSettings::sampleRate * 0.001 ) ); -} - -void maxiEnvelopeFollower::setRelease(double releaseMS) { - release = pow( 0.01, 1.0 / ( releaseMS * maxiSettings::sampleRate * 0.001 ) ); -} - diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.h deleted file mode 100644 index dd942b7..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/maximilian.h +++ /dev/null @@ -1,528 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - - -#include -#include -#include -#include -#include "math.h" - -using namespace std; -#ifndef PI -#define PI 3.1415926535897932384626433832795 -#endif -#define TWOPI 6.283185307179586476925286766559 - -class maxiSettings { -public: - static int sampleRate; - static int channels; - static int bufferSize; - static void setup(int initSampleRate, int initChannels, int initBufferSize) { - maxiSettings::sampleRate = initSampleRate; - maxiSettings::channels = initChannels; - maxiSettings::bufferSize = initBufferSize; - } -}; - - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency); - double square(double frequency); - double pulse(double frequency, double duty); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - void phaseReset(double phaseIn); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - int isPlaying; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - maxiDelayline(); - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient - -public: - maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - -//lagging with an exponential moving average -//a lower alpha value gives a slower lag -template -class maxiLagExp { -public: - T alpha, alphaReciprocal; - T val; - - maxiLagExp() { - init(0.5, 0.0); - }; - - maxiLagExp(T initAlpha, T initVal) { - init(initAlpha, initVal); - } - - void init(T initAlpha, T initVal) { - alpha = initAlpha; - alphaReciprocal = 1.0 - alpha; - val = initVal; - } - - inline void addSample(T newVal) { - val = (alpha * newVal) + (alphaReciprocal * val); - } - - inline T value() { - return val; - } -}; - - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - int readChannel; - short myFormat; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - double speed; - double output; - maxiLagExp loopRecordLag; - -public: - double position, recordPosition; - int myDataSize; - short myChannels; - int mySampleRate; - long length; - void getLength(); - void setLength(unsigned long numSamples); - - -// char* myData; - short* temp; - - // get/set for the Path property - - ~maxiSample() - { -// if (myData) free(myData); - if (temp) free(temp); - } - - maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {}; - - maxiSample& operator=(const maxiSample &source) { - if (this == &source) - return *this; - position=0; - recordPosition = 0; - myChannels = source.myChannels; - mySampleRate = maxiSettings::sampleRate; - free(temp); - myDataSize = source.myDataSize; - temp = (short*) malloc(myDataSize * sizeof(char)); - memcpy(temp, source.temp, myDataSize * sizeof(char)); - length = source.length; - return *this; - } - - bool load(string fileName, int channel=0); - - bool loadOgg(string filename,int channel=0); - - void trigger(); - - // read a wav file into this class - bool read(); - - //read an ogg file into this class using stb_vorbis - bool readOgg(); - - void loopRecord(double newSample, const bool recordEnabled, const double recordMix) { - loopRecordLag.addSample(recordEnabled); - if(recordEnabled) { - double currentSample = temp[(unsigned long)recordPosition] / 32767.0; - newSample = (recordMix * currentSample) + ((1.0 - recordMix) * newSample); - newSample *= loopRecordLag.value(); - temp[(unsigned long)recordPosition] = newSample * 32767; - } - ++recordPosition; - if (recordPosition == length) - recordPosition=0; - } - - void clear(); - - void reset(); - - double play(); - - double playOnce(); - - double playOnce(double speed); - - double play(double speed); - - double play(double frequency, double start, double end, double &pos); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - bool save() { - return save(myPath); - } - - bool save(string filename) - { - fstream myFile (filename.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write ((char*) temp, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - return summary; - } -}; - - -class maxiMap { -public: - static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { - return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; - } - - static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; - } - - static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; - } - - //changed to templated function, e.g. maxiMap::maxiClamp(v, l, h); - template - static T inline clamp(T v, const T low, const T high) { - if (v > high) - v = high; - else if (v < low) { - v = low; - } - return v; - } - -}; - -class maxiDyn { - - -public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; - double ratio; - double currentRatio; - double threshold; - double output; - double attack; - double release; - double amplitude; - long holdtime; - long holdcount; - int attackphase,holdphase,releasephase; -}; - -class maxiEnv { - - -public: - double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); - double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); - double input; - double output; - double attack; - double decay; - double sustain; - double release; - double amplitude; - int trigger; - long holdtime; - long holdcount; - int attackphase,decayphase,sustainphase,holdphase,releasephase; -}; - -class convert { -public: - double mtof(int midinote); -}; - - - -class maxiDistortion { -public: - /*atan distortion, see http://www.musicdsp.org/showArchiveComment.php?ArchiveID=104*/ - /*shape from 1 (soft clipping) to infinity (hard clipping)*/ - double atanDist(const double in, const double shape); - double fastAtanDist(const double in, const double shape); - double fastatan( double x ); -}; - -inline double maxiDistortion::fastatan(double x) -{ - return (x / (1.0 + 0.28 * (x * x))); -} - -inline double maxiDistortion::atanDist(const double in, const double shape) { - double out; - out = (1.0 / atan(shape)) * atan(in * shape); - return out; -} - -inline double maxiDistortion::fastAtanDist(const double in, const double shape) { - double out; - out = (1.0 / fastatan(shape)) * fastatan(in * shape); - return out; -} - - -class maxiFlanger { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl; - maxiOsc lfo; - -}; - -inline double maxiFlanger::flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //todo: needs fixing - double output; - double lfoVal = lfo.triangle(speed); - output = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - double normalise = (1 - fabs(output)); - output *= normalise; - return (output + input) / 2.0; -} - -class maxiChorus { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl, dl2; - maxiOsc lfo; - maxiFilter lopass; - -}; - -inline double maxiChorus::chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //this needs fixing - double output1, output2; - double lfoVal = lfo.noise(); - lfoVal = lopass.lores(lfoVal, speed, 1.0) * 2.0; - output1 = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - output2 = dl2.dl(input, (delay + (lfoVal * depth * delay * 1.02) + 1) * 0.98, feedback * 0.99) ; - output1 *= (1.0 - fabs(output1)); - output2 *= (1.0 - fabs(output2)); - return (output1 + output2 + input) / 3.0; -} - -class maxiEnvelopeFollower { -public: - maxiEnvelopeFollower() { - setAttack(100); - setRelease(100); - env = 0; - } - void setAttack(double attackMS); - void setRelease(double releaseMS); - inline double play(double input) { - input = fabs(input); - if (input>env) - env = attack * (env - input) + input; - else - env = release * (env - input) + input; - return env; - } - void reset() {env=0;} - inline double getEnv(){return env;} -private: - double attack, release, env; -}; - -//from https://ccrma.stanford.edu/~jos/filters/DC_Blocker_Software_Implementations.html -class maxiDCBlocker { -public: - double xm1, ym1; - maxiDCBlocker() : xm1(0), ym1(0) {} - inline double play(double input, double R) { - ym1 = input - xm1 + R * ym1; - xm1 = input; - return ym1; - } -}; - - -#endif diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/sineTable.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/sineTable.h deleted file mode 100644 index de9626e..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/sineTable.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * sineTable.h - * atomSynthesis - * - * Created by Chris on 10/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ -#pragma once - -namespace waveTable { - -double sine65536[65538] = {0.0,9.5873799096e-05,0.000191747597311,0.000287621393763,0.000383495187571,0.000479368977855,0.000575242763732,0.000671116544322,0.000766990318743,0.000862864086114,0.000958737845553,0.00105461159618,0.00115048533711,0.00124635906747,0.00134223278637,0.00143810649294,0.00153398018628,0.00162985386553,0.0017257275298,0.0018216011782,0.00191747480986,0.00201334842389,0.00210922201942,0.00220509559556,0.00230096915143,0.00239684268615,0.00249271619884,0.00258858968861,0.0026844631546,0.0027803365959,0.00287621001166,0.00297208340097,0.00306795676297,0.00316383009676,0.00325970340148,0.00335557667623,0.00345144992014,0.00354732313232,0.0036431963119,0.00373906945799,0.00383494256971,0.00393081564618,0.00402668868652,0.00412256168984,0.00421843465528,0.00431430758194,0.00441018046894,0.0045060533154,0.00460192612045,0.00469779888319,0.00479367160276,0.00488954427826,0.00498541690882,0.00508128949356,0.00517716203158,0.00527303452202,0.005368906964,0.00546477935662,0.00556065169901,0.00565652399029,0.00575239622957,0.00584826841598,0.00594414054864,0.00604001262666,0.00613588464915,0.00623175661525,0.00632762852407,0.00642350037473,0.00651937216634,0.00661524389803,0.00671111556891,0.0068069871781,0.00690285872473,0.00699873020791,0.00709460162675,0.00719047298039,0.00728634426793,0.00738221548849,0.0074780866412,0.00757395772518,0.00766982873953,0.00776569968339,0.00786157055586,0.00795744135607,0.00805331208314,0.00814918273619,0.00824505331433,0.00834092381668,0.00843679424237,0.00853266459051,0.00862853486021,0.00872440505061,0.00882027516081,0.00891614518993,0.00901201513711,0.00910788500144,0.00920375478206,0.00929962447808,0.00939549408862,0.00949136361279,0.00958723304973,0.00968310239854,0.00977897165835,0.00987484082827,0.00997070990742,0.0100665788949,0.0101624477899,0.0102583165915,0.0103541852987,0.0104500539108,0.0105459224269,0.010641790846,0.0107376591673,0.0108335273899,0.0109293955129,0.0110252635354,0.0111211314566,0.0112169992756,0.0113128669915,0.0114087346034,0.0115046021104,0.0116004695117,0.0116963368064,0.0117922039935,0.0118880710723,0.0119839380417,0.0120798049011,0.0121756716493,0.0122715382857,0.0123674048093,0.0124632712192,0.0125591375145,0.0126550036944,0.012750869758,0.0128467357044,0.0129426015327,0.013038467242,0.0131343328315,0.0132301983002,0.0133260636473,0.013421928872,0.0135177939733,0.0136136589503,0.0137095238022,0.0138053885281,0.013901253127,0.0139971175982,0.0140929819408,0.0141888461538,0.0142847102364,0.0143805741876,0.0144764380067,0.0145723016928,0.0146681652449,0.0147640286621,0.0148598919437,0.0149557550886,0.0150516180961,0.0151474809653,0.0152433436952,0.015339206285,0.0154350687338,0.0155309310407,0.0156267932049,0.0157226552254,0.0158185171014,0.015914378832,0.0160102404164,0.0161061018535,0.0162019631427,0.0162978242829,0.0163936852733,0.016489546113,0.0165854068011,0.0166812673368,0.0167771277191,0.0168729879473,0.0169688480203,0.0170647079374,0.0171605676976,0.0172564273001,0.017352286744,0.0174481460284,0.0175440051524,0.0176398641151,0.0177357229157,0.0178315815532,0.0179274400269,0.0180232983358,0.018119156479,0.0182150144556,0.0183108722649,0.0184067299058,0.0185025873775,0.0185984446792,0.0186943018099,0.0187901587688,0.0188860155549,0.0189818721675,0.0190777286056,0.0191735848683,0.0192694409548,0.0193652968642,0.0194611525955,0.019557008148,0.0196528635207,0.0197487187128,0.0198445737234,0.0199404285515,0.0200362831964,0.0201321376571,0.0202279919327,0.0203238460224,0.0204196999253,0.0205155536405,0.0206114071671,0.0207072605043,0.0208031136511,0.0208989666067,0.0209948193702,0.0210906719408,0.0211865243174,0.0212823764994,0.0213782284857,0.0214740802755,0.0215699318679,0.021665783262,0.021761634457,0.021857485452,0.0219533362461,0.0220491868384,0.022145037228,0.022240887414,0.0223367373956,0.0224325871719,0.0225284367421,0.0226242861051,0.0227201352602,0.0228159842064,0.0229118329429,0.0230076814688,0.0231035297833,0.0231993778853,0.0232952257742,0.0233910734489,0.0234869209086,0.0235827681524,0.0236786151794,0.0237744619888,0.0238703085797,0.0239661549511,0.0240620011023,0.0241578470323,0.0242536927402,0.0243495382252,0.0244453834864,0.0245412285229,0.0246370733338,0.0247329179183,0.0248287622754,0.0249246064043,0.0250204503041,0.0251162939739,0.0252121374128,0.02530798062,0.0254038235946,0.0254996663357,0.0255955088423,0.0256913511138,0.025787193149,0.0258830349473,0.0259788765076,0.0260747178291,0.026170558911,0.0262663997523,0.0263622403521,0.0264580807097,0.026553920824,0.0266497606943,0.0267456003196,0.0268414396991,0.0269372788319,0.027033117717,0.0271289563537,0.027224794741,0.0273206328781,0.027416470764,0.0275123083979,0.027608145779,0.0277039829062,0.0277998197789,0.027895656396,0.0279914927567,0.02808732886,0.0281831647053,0.0282790002914,0.0283748356177,0.0284706706831,0.0285665054868,0.028662340028,0.0287581743056,0.028854008319,0.0289498420671,0.0290456755491,0.0291415087642,0.0292373417114,0.0293331743898,0.0294290067986,0.0295248389369,0.0296206708039,0.0297165023985,0.02981233372,0.0299081647675,0.0300039955401,0.0300998260369,0.030195656257,0.0302914861995,0.0303873158637,0.0304831452485,0.0305789743531,0.0306748031766,0.0307706317182,0.030866459977,0.030962287952,0.0310581156424,0.0311539430474,0.031249770166,0.0313455969973,0.0314414235406,0.0315372497948,0.0316330757591,0.0317289014327,0.0318247268146,0.031920551904,0.0320163767,0.0321122012018,0.0322080254083,0.0323038493188,0.0323996729324,0.0324954962481,0.0325913192652,0.0326871419827,0.0327829643997,0.0328787865154,0.0329746083289,0.0330704298393,0.0331662510457,0.0332620719473,0.0333578925431,0.0334537128323,0.033549532814,0.0336453524873,0.0337411718514,0.0338369909053,0.0339328096482,0.0340286280792,0.0341244461974,0.034220264002,0.034316081492,0.0344118986665,0.0345077155248,0.0346035320659,0.0346993482889,0.034795164193,0.0348909797772,0.0349867950407,0.0350826099826,0.0351784246021,0.0352742388982,0.0353700528701,0.0354658665169,0.0355616798376,0.0356574928315,0.0357533054976,0.0358491178351,0.0359449298431,0.0360407415207,0.036136552867,0.0362323638812,0.0363281745623,0.0364239849094,0.0365197949218,0.0366156045985,0.0367114139387,0.0368072229414,0.0369030316057,0.0369988399309,0.037094647916,0.0371904555601,0.0372862628624,0.0373820698219,0.0374778764378,0.0375736827093,0.0376694886353,0.0377652942152,0.0378610994479,0.0379569043325,0.0380527088683,0.0381485130544,0.0382443168897,0.0383401203736,0.038435923505,0.0385317262831,0.038627528707,0.0387233307759,0.0388191324889,0.038914933845,0.0390107348435,0.0391065354833,0.0392023357637,0.0392981356838,0.0393939352426,0.0394897344394,0.0395855332731,0.039681331743,0.0397771298482,0.0398729275877,0.0399687249608,0.0400645219664,0.0401603186038,0.040256114872,0.0403519107703,0.0404477062976,0.0405435014531,0.0406392962359,0.0407350906452,0.0408308846801,0.0409266783397,0.0410224716231,0.0411182645294,0.0412140570577,0.0413098492073,0.0414056409771,0.0415014323663,0.0415972233741,0.0416930139995,0.0417888042416,0.0418845940997,0.0419803835727,0.0420761726599,0.0421719613603,0.0422677496731,0.0423635375974,0.0424593251323,0.0425551122769,0.0426508990304,0.0427466853918,0.0428424713602,0.0429382569349,0.043034042115,0.0431298268994,0.0432256112874,0.0433213952781,0.0434171788706,0.043512962064,0.0436087448575,0.0437045272501,0.0438003092409,0.0438960908292,0.043991872014,0.0440876527945,0.0441834331696,0.0442792131387,0.0443749927008,0.0444707718549,0.0445665506003,0.0446623289361,0.0447581068613,0.0448538843752,0.0449496614767,0.0450454381651,0.0451412144394,0.0452369902988,0.0453327657424,0.0454285407693,0.0455243153786,0.0456200895695,0.045715863341,0.0458116366924,0.0459074096226,0.0460031821309,0.0460989542163,0.046194725878,0.0462904971151,0.0463862679267,0.0464820383119,0.0465778082699,0.0466735777997,0.0467693469005,0.0468651155715,0.0469608838116,0.0470566516201,0.0471524189961,0.0472481859386,0.0473439524469,0.0474397185199,0.047535484157,0.047631249357,0.0477270141193,0.0478227784429,0.0479185423269,0.0480143057704,0.0481100687726,0.0482058313326,0.0483015934495,0.0483973551224,0.0484931163504,0.0485888771327,0.0486846374684,0.0487803973566,0.0488761567964,0.048971915787,0.0490676743274,0.0491634324168,0.0492591900543,0.049354947239,0.0494507039701,0.0495464602466,0.0496422160677,0.0497379714325,0.0498337263401,0.0499294807897,0.0500252347803,0.0501209883111,0.0502167413812,0.0503124939897,0.0504082461357,0.0505039978184,0.0505997490369,0.0506954997903,0.0507912500777,0.0508869998982,0.050982749251,0.0510784981352,0.0511742465499,0.0512699944941,0.0513657419672,0.051461488968,0.0515572354959,0.0516529815499,0.051748727129,0.0518444722325,0.0519402168595,0.052035961009,0.0521317046803,0.0522274478723,0.0523231905843,0.0524189328154,0.0525146745646,0.0526104158311,0.0527061566141,0.0528018969125,0.0528976367257,0.0529933760526,0.0530891148924,0.0531848532442,0.0532805911071,0.0533763284804,0.0534720653629,0.053567801754,0.0536635376527,0.0537592730582,0.0538550079695,0.0539507423857,0.0540464763061,0.0541422097297,0.0542379426556,0.054333675083,0.0544294070109,0.0545251384386,0.054620869365,0.0547165997894,0.0548123297109,0.0549080591285,0.0550037880415,0.0550995164488,0.0551952443497,0.0552909717432,0.0553866986286,0.0554824250048,0.055578150871,0.0556738762264,0.05576960107,0.055865325401,0.0559610492185,0.0560567725216,0.0561524953095,0.0562482175812,0.0563439393359,0.0564396605727,0.0565353812907,0.0566311014891,0.0567268211669,0.0568225403233,0.0569182589574,0.0570139770683,0.0571096946552,0.0572054117171,0.0573011282532,0.0573968442626,0.0574925597444,0.0575882746977,0.0576839891217,0.0577797030155,0.0578754163782,0.0579711292089,0.0580668415068,0.0581625532709,0.0582582645004,0.0583539751944,0.0584496853521,0.0585453949724,0.0586411040547,0.0587368125979,0.0588325206012,0.0589282280638,0.0590239349847,0.059119641363,0.059215347198,0.0593110524886,0.0594067572341,0.0595024614335,0.059598165086,0.0596938681907,0.0597895707466,0.059885272753,0.059980974209,0.0600766751136,0.060172375466,0.0602680752653,0.0603637745107,0.0604594732012,0.0605551713359,0.0606508689141,0.0607465659348,0.0608422623971,0.0609379583001,0.061033653643,0.0611293484249,0.061225042645,0.0613207363022,0.0614164293958,0.0615121219249,0.0616078138886,0.061703505286,0.0617991961162,0.0618948863784,0.0619905760716,0.0620862651951,0.0621819537478,0.062277641729,0.0623733291378,0.0624690159732,0.0625647022345,0.0626603879206,0.0627560730308,0.0628517575642,0.0629474415198,0.0630431248968,0.0631388076944,0.0632344899116,0.0633301715475,0.0634258526014,0.0635215330722,0.0636172129592,0.0637128922614,0.063808570978,0.063904249108,0.0639999266507,0.0640956036051,0.0641912799704,0.0642869557456,0.0643826309299,0.0644783055224,0.0645739795222,0.0646696529285,0.0647653257403,0.0648609979569,0.0649566695772,0.0650523406005,0.0651480110259,0.0652436808524,0.0653393500792,0.0654350187054,0.0655306867302,0.0656263541526,0.0657220209718,0.0658176871869,0.065913352797,0.0660090178013,0.0661046821988,0.0662003459886,0.06629600917,0.066391671742,0.0664873337038,0.0665829950544,0.066678655793,0.0667743159187,0.0668699754306,0.0669656343279,0.0670612926096,0.067156950275,0.067252607323,0.0673482637529,0.0674439195637,0.0675395747545,0.0676352293246,0.067730883273,0.0678265365988,0.0679221893012,0.0680178413792,0.0681134928321,0.0682091436588,0.0683047938586,0.0684004434305,0.0684960923738,0.0685917406874,0.0686873883705,0.0687830354223,0.0688786818418,0.0689743276283,0.0690699727807,0.0691656172982,0.06926126118,0.0693569044252,0.0694525470328,0.0695481890021,0.0696438303321,0.0697394710219,0.0698351110707,0.0699307504776,0.0700263892417,0.0701220273621,0.070217664838,0.0703133016685,0.0704089378526,0.0705045733896,0.0706002082785,0.0706958425185,0.0707914761086,0.0708871090481,0.070982741336,0.0710783729714,0.0711740039534,0.0712696342813,0.0713652639541,0.0714608929708,0.0715565213308,0.071652149033,0.0717477760766,0.0718434024607,0.0719390281844,0.0720346532469,0.0721302776472,0.0722259013846,0.0723215244581,0.0724171468668,0.0725127686098,0.0726083896864,0.0727040100955,0.0727996298364,0.072895248908,0.0729908673097,0.0730864850405,0.0731821020994,0.0732777184857,0.0733733341984,0.0734689492367,0.0735645635997,0.0736601772865,0.0737557902962,0.073851402628,0.0739470142809,0.0740426252541,0.0741382355468,0.074233845158,0.0743294540868,0.0744250623325,0.074520669894,0.0746162767706,0.0747118829613,0.0748074884652,0.0749030932816,0.0749986974094,0.0750943008479,0.0751899035962,0.0752855056533,0.0753811070184,0.0754767076906,0.075572307669,0.0756679069528,0.0757635055411,0.075859103433,0.0759547006275,0.076050297124,0.0761458929214,0.0762414880189,0.0763370824155,0.0764326761105,0.076528269103,0.076623861392,0.0767194529767,0.0768150438563,0.0769106340297,0.0770062234962,0.0771018122549,0.0771974003049,0.0772929876453,0.0773885742753,0.0774841601939,0.0775797454003,0.0776753298935,0.0777709136729,0.0778664967373,0.077962079086,0.0780576607182,0.0781532416328,0.0782488218291,0.0783444013061,0.078439980063,0.0785355580988,0.0786311354128,0.0787267120041,0.0788222878717,0.0789178630148,0.0790134374325,0.0791090111239,0.0792045840882,0.0793001563244,0.0793957278317,0.0794912986092,0.0795868686561,0.0796824379714,0.0797780065543,0.0798735744039,0.0799691415193,0.0800647078997,0.0801602735441,0.0802558384517,0.0803514026216,0.080446966053,0.0805425287448,0.0806380906964,0.0807336519067,0.080829212375,0.0809247721003,0.0810203310817,0.0811158893185,0.0812114468096,0.0813070035542,0.0814025595515,0.0814981148006,0.0815936693005,0.0816892230505,0.0817847760496,0.0818803282969,0.0819758797916,0.0820714305328,0.0821669805197,0.0822625297512,0.0823580782266,0.0824536259451,0.0825491729056,0.0826447191073,0.0827402645494,0.0828358092309,0.0829313531511,0.0830268963089,0.0831224387036,0.0832179803343,0.0833135212,0.0834090612999,0.0835046006332,0.0836001391988,0.0836956769961,0.083791214024,0.0838867502818,0.0839822857685,0.0840778204832,0.0841733544251,0.0842688875933,0.0843644199869,0.0844599516051,0.0845554824469,0.0846510125116,0.0847465417981,0.0848420703056,0.0849375980333,0.0850331249803,0.0851286511456,0.0852241765285,0.085319701128,0.0854152249433,0.0855107479735,0.0856062702176,0.0857017916749,0.0857973123444,0.0858928322253,0.0859883513167,0.0860838696177,0.0861793871275,0.0862749038451,0.0863704197697,0.0864659349003,0.0865614492363,0.0866569627765,0.0867524755202,0.0868479874665,0.0869434986145,0.0870390089634,0.0871345185122,0.0872300272601,0.0873255352062,0.0874210423496,0.0875165486895,0.0876120542249,0.087707558955,0.0878030628789,0.0878985659958,0.0879940683047,0.0880895698048,0.0881850704952,0.088280570375,0.0883760694433,0.0884715676993,0.0885670651421,0.0886625617709,0.0887580575846,0.0888535525825,0.0889490467637,0.0890445401273,0.0891400326724,0.0892355243981,0.0893310153037,0.0894265053881,0.0895219946505,0.08961748309,0.0897129707058,0.089808457497,0.0899039434627,0.089999428602,0.090094912914,0.0901903963979,0.0902858790529,0.0903813608779,0.0904768418721,0.0905723220347,0.0906678013648,0.0907632798615,0.0908587575239,0.0909542343511,0.0910497103424,0.0911451854967,0.0912406598132,0.0913361332911,0.0914316059294,0.0915270777273,0.0916225486839,0.0917180187983,0.0918134880697,0.0919089564971,0.0920044240798,0.0920998908167,0.0921953567071,0.0922908217501,0.0923862859447,0.0924817492901,0.0925772117855,0.0926726734299,0.0927681342225,0.0928635941624,0.0929590532487,0.0930545114805,0.093149968857,0.0932454253773,0.0933408810405,0.0934363358457,0.0935317897921,0.0936272428788,0.0937226951048,0.0938181464694,0.0939135969716,0.0940090466106,0.0941044953855,0.0941999432954,0.0942953903394,0.0943908365167,0.0944862818264,0.0945817262675,0.0946771698393,0.0947726125408,0.0948680543712,0.0949634953296,0.0950589354152,0.0951543746269,0.095249812964,0.0953452504256,0.0954406870108,0.0955361227188,0.0956315575485,0.0957269914993,0.0958224245702,0.0959178567602,0.0960132880687,0.0961087184946,0.096204148037,0.0962995766952,0.0963950044683,0.0964904313553,0.0965858573553,0.0966812824676,0.0967767066912,0.0968721300252,0.0969675524688,0.0970629740212,0.0971583946813,0.0972538144484,0.0973492333215,0.0974446512998,0.0975400683825,0.0976354845685,0.0977308998571,0.0978263142474,0.0979217277385,0.0980171403296,0.0981125520196,0.0982079628079,0.0983033726934,0.0983987816754,0.0984941897529,0.098589596925,0.098685003191,0.0987804085498,0.0988758130007,0.0989712165427,0.099066619175,0.0991620208967,0.099257421707,0.0993528216049,0.0994482205895,0.0995436186601,0.0996390158156,0.0997344120553,0.0998298073783,0.0999252017837,0.100020595271,0.100115987838,0.100211379485,0.100306770211,0.100402160016,0.100497548897,0.100592936854,0.100688323887,0.100783709995,0.100879095176,0.100974479429,0.101069862755,0.101165245151,0.101260626618,0.101356007154,0.101451386758,0.10154676543,0.101642143168,0.101737519973,0.101832895841,0.101928270774,0.10202364477,0.102119017829,0.102214389948,0.102309761128,0.102405131368,0.102500500666,0.102595869022,0.102691236436,0.102786602905,0.102881968429,0.102977333008,0.10307269664,0.103168059325,0.103263421062,0.103358781849,0.103454141686,0.103549500573,0.103644858507,0.103740215489,0.103835571517,0.103930926591,0.10402628071,0.104121633872,0.104216986077,0.104312337325,0.104407687613,0.104503036942,0.10459838531,0.104693732717,0.104789079162,0.104884424643,0.10497976916,0.105075112713,0.105170455299,0.105265796919,0.105361137571,0.105456477255,0.105551815969,0.105647153713,0.105742490487,0.105837826288,0.105933161116,0.106028494971,0.106123827851,0.106219159755,0.106314490683,0.106409820634,0.106505149607,0.106600477601,0.106695804615,0.106791130648,0.1068864557,0.106981779769,0.107077102855,0.107172424957,0.107267746073,0.107363066204,0.107458385348,0.107553703504,0.107649020671,0.107744336849,0.107839652036,0.107934966233,0.108030279437,0.108125591648,0.108220902865,0.108316213088,0.108411522315,0.108506830545,0.108602137778,0.108697444013,0.108792749249,0.108888053485,0.108983356719,0.109078658952,0.109173960183,0.10926926041,0.109364559632,0.10945985785,0.109555155061,0.109650451265,0.109745746461,0.109841040649,0.109936333827,0.110031625994,0.11012691715,0.110222207294,0.110317496424,0.110412784541,0.110508071643,0.110603357729,0.110698642798,0.11079392685,0.110889209883,0.110984491897,0.111079772891,0.111175052864,0.111270331815,0.111365609743,0.111460886648,0.111556162528,0.111651437383,0.111746711211,0.111841984012,0.111937255786,0.11203252653,0.112127796244,0.112223064928,0.112318332581,0.112413599201,0.112508864787,0.11260412934,0.112699392857,0.112794655339,0.112889916784,0.112985177191,0.113080436559,0.113175694889,0.113270952178,0.113366208425,0.113461463631,0.113556717794,0.113651970913,0.113747222987,0.113842474016,0.113937723998,0.114032972933,0.11412822082,0.114223467658,0.114318713446,0.114413958183,0.114509201869,0.114604444502,0.114699686081,0.114794926607,0.114890166077,0.114985404491,0.115080641848,0.115175878147,0.115271113388,0.115366347569,0.115461580689,0.115556812749,0.115652043746,0.11574727368,0.11584250255,0.115937730356,0.116032957095,0.116128182769,0.116223407374,0.116318630912,0.11641385338,0.116509074778,0.116604295106,0.116699514361,0.116794732544,0.116889949653,0.116985165688,0.117080380648,0.117175594531,0.117270807338,0.117366019066,0.117461229715,0.117556439285,0.117651647775,0.117746855183,0.117842061508,0.117937266751,0.118032470909,0.118127673983,0.11822287597,0.118318076871,0.118413276685,0.11850847541,0.118603673045,0.118698869591,0.118794065045,0.118889259408,0.118984452678,0.119079644854,0.119174835935,0.119270025921,0.119365214811,0.119460402604,0.119555589298,0.119650774894,0.119745959389,0.119841142785,0.119936325078,0.120031506269,0.120126686357,0.120221865341,0.120317043219,0.120412219992,0.120507395658,0.120602570216,0.120697743666,0.120792916006,0.120888087236,0.120983257354,0.121078426361,0.121173594255,0.121268761035,0.1213639267,0.12145909125,0.121554254683,0.121649416999,0.121744578197,0.121839738276,0.121934897235,0.122030055073,0.122125211789,0.122220367383,0.122315521853,0.122410675199,0.12250582742,0.122600978515,0.122696128483,0.122791277323,0.122886425035,0.122981571617,0.123076717068,0.123171861388,0.123267004576,0.123362146631,0.123457287552,0.123552427339,0.123647565989,0.123742703503,0.12383783988,0.123932975119,0.124028109218,0.124123242177,0.124218373995,0.124313504672,0.124408634205,0.124503762596,0.124598889842,0.124694015942,0.124789140897,0.124884264704,0.124979387363,0.125074508874,0.125169629235,0.125264748446,0.125359866505,0.125454983412,0.125550099165,0.125645213765,0.12574032721,0.125835439498,0.125930550631,0.126025660606,0.126120769422,0.126215877079,0.126310983576,0.126406088912,0.126501193086,0.126596296097,0.126691397945,0.126786498628,0.126881598145,0.126976696497,0.127071793681,0.127166889697,0.127261984545,0.127357078222,0.127452170729,0.127547262065,0.127642352228,0.127737441218,0.127832529033,0.127927615674,0.128022701139,0.128117785427,0.128212868537,0.128307950469,0.128403031222,0.128498110794,0.128593189185,0.128688266394,0.12878334242,0.128878417263,0.128973490921,0.129068563393,0.129163634679,0.129258704778,0.129353773688,0.12944884141,0.129543907942,0.129638973283,0.129734037432,0.129829100389,0.129924162153,0.130019222722,0.130114282096,0.130209340275,0.130304397256,0.13039945304,0.130494507625,0.13058956101,0.130684613196,0.13077966418,0.130874713962,0.130969762541,0.131064809916,0.131159856086,0.131254901051,0.131349944809,0.13144498736,0.131540028703,0.131635068837,0.13173010776,0.131825145473,0.131920181974,0.132015217263,0.132110251338,0.132205284199,0.132300315844,0.132395346274,0.132490375487,0.132585403481,0.132680430257,0.132775455814,0.13287048015,0.132965503265,0.133060525157,0.133155545827,0.133250565272,0.133345583493,0.133440600488,0.133535616256,0.133630630797,0.13372564411,0.133820656194,0.133915667047,0.13401067667,0.134105685061,0.134200692219,0.134295698143,0.134390702834,0.134485706288,0.134580708507,0.134675709489,0.134770709233,0.134865707738,0.134960705003,0.135055701028,0.135150695811,0.135245689352,0.13534068165,0.135435672704,0.135530662513,0.135625651076,0.135720638393,0.135815624462,0.135910609283,0.136005592854,0.136100575176,0.136195556246,0.136290536064,0.13638551463,0.136480491942,0.136575468,0.136670442802,0.136765416348,0.136860388637,0.136955359668,0.13705032944,0.137145297952,0.137240265204,0.137335231194,0.137430195921,0.137525159386,0.137620121586,0.137715082522,0.137810042192,0.137905000595,0.13799995773,0.138094913597,0.138189868194,0.138284821522,0.138379773578,0.138474724362,0.138569673873,0.138664622111,0.138759569074,0.138854514762,0.138949459173,0.139044402308,0.139139344164,0.139234284741,0.139329224038,0.139424162055,0.13951909879,0.139614034243,0.139708968412,0.139803901298,0.139898832898,0.139993763212,0.14008869224,0.140183619979,0.140278546431,0.140373471592,0.140468395464,0.140563318044,0.140658239333,0.140753159328,0.14084807803,0.140942995437,0.141037911549,0.141132826364,0.141227739882,0.141322652102,0.141417563022,0.141512472643,0.141607380963,0.141702287982,0.141797193698,0.14189209811,0.141987001219,0.142081903022,0.142176803519,0.14227170271,0.142366600593,0.142461497167,0.142556392431,0.142651286386,0.142746179029,0.14284107036,0.142935960378,0.143030849082,0.143125736471,0.143220622545,0.143315507303,0.143410390743,0.143505272865,0.143600153667,0.14369503315,0.143789911312,0.143884788153,0.143979663671,0.144074537865,0.144169410735,0.14426428228,0.144359152499,0.144454021391,0.144548888955,0.144643755191,0.144738620097,0.144833483672,0.144928345916,0.145023206829,0.145118066408,0.145212924653,0.145307781563,0.145402637138,0.145497491376,0.145592344277,0.14568719584,0.145782046064,0.145876894947,0.14597174249,0.146066588691,0.146161433549,0.146256277064,0.146351119234,0.14644596006,0.146540799539,0.146635637671,0.146730474455,0.146825309891,0.146920143977,0.147014976713,0.147109808097,0.147204638129,0.147299466808,0.147394294133,0.147489120103,0.147583944718,0.147678767976,0.147773589876,0.147868410418,0.147963229601,0.148058047424,0.148152863887,0.148247678987,0.148342492725,0.148437305099,0.148532116108,0.148626925753,0.148721734031,0.148816540942,0.148911346486,0.14900615066,0.149100953465,0.1491957549,0.149290554963,0.149385353654,0.149480150972,0.149574946915,0.149669741484,0.149764534677,0.149859326494,0.149954116933,0.150048905994,0.150143693675,0.150238479977,0.150333264897,0.150428048436,0.150522830592,0.150617611364,0.150712390752,0.150807168755,0.150901945371,0.1509967206,0.151091494442,0.151186266894,0.151281037957,0.15137580763,0.151470575911,0.151565342799,0.151660108295,0.151754872397,0.151849635103,0.151944396414,0.152039156328,0.152133914845,0.152228671963,0.152323427682,0.152418182001,0.152512934919,0.152607686435,0.152702436549,0.152797185258,0.152891932564,0.152986678464,0.153081422957,0.153176166044,0.153270907723,0.153365647992,0.153460386852,0.153555124302,0.15364986034,0.153744594966,0.153839328178,0.153934059977,0.154028790361,0.154123519328,0.154218246879,0.154312973013,0.154407697728,0.154502421024,0.1545971429,0.154691863355,0.154786582387,0.154881299997,0.154976016184,0.155070730946,0.155165444282,0.155260156193,0.155354866676,0.155449575731,0.155544283357,0.155638989554,0.15573369432,0.155828397654,0.155923099556,0.156017800025,0.15611249906,0.15620719666,0.156301892824,0.156396587552,0.156491280842,0.156585972693,0.156680663105,0.156775352077,0.156870039608,0.156964725697,0.157059410343,0.157154093546,0.157248775304,0.157343455616,0.157438134483,0.157532811902,0.157627487873,0.157722162395,0.157816835468,0.15791150709,0.15800617726,0.158100845978,0.158195513243,0.158290179054,0.15838484341,0.15847950631,0.158574167753,0.158668827739,0.158763486266,0.158858143334,0.158952798942,0.159047453088,0.159142105773,0.159236756995,0.159331406753,0.159426055047,0.159520701875,0.159615347237,0.159709991132,0.159804633559,0.159899274517,0.159993914005,0.160088552023,0.160183188569,0.160277823642,0.160372457243,0.160467089369,0.160561720021,0.160656349196,0.160750976895,0.160845603116,0.160940227859,0.161034851122,0.161129472906,0.161224093208,0.161318712028,0.161413329366,0.161507945219,0.161602559588,0.161697172472,0.16179178387,0.16188639378,0.161981002202,0.162075609136,0.16217021458,0.162264818533,0.162359420994,0.162454021963,0.162548621439,0.162643219421,0.162737815908,0.162832410899,0.162927004393,0.16302159639,0.163116186888,0.163210775887,0.163305363385,0.163399949383,0.163494533879,0.163589116871,0.163683698361,0.163778278345,0.163872856825,0.163967433797,0.164062009263,0.164156583221,0.16425115567,0.164345726609,0.164440296037,0.164534863954,0.164629430359,0.16472399525,0.164818558628,0.16491312049,0.165007680836,0.165102239666,0.165196796978,0.165291352772,0.165385907046,0.1654804598,0.165575011034,0.165669560745,0.165764108933,0.165858655598,0.165953200738,0.166047744353,0.166142286441,0.166236827003,0.166331366036,0.16642590354,0.166520439515,0.166614973959,0.166709506872,0.166804038252,0.166898568099,0.166993096412,0.16708762319,0.167182148432,0.167276672137,0.167371194305,0.167465714935,0.167560234025,0.167654751575,0.167749267584,0.167843782051,0.167938294975,0.168032806355,0.168127316191,0.168221824482,0.168316331226,0.168410836423,0.168505340073,0.168599842173,0.168694342724,0.168788841724,0.168883339172,0.168977835068,0.169072329411,0.1691668222,0.169261313434,0.169355803112,0.169450291234,0.169544777798,0.169639262803,0.16973374625,0.169828228136,0.169922708461,0.170017187224,0.170111664424,0.170206140061,0.170300614133,0.17039508664,0.170489557581,0.170584026954,0.17067849476,0.170772960997,0.170867425664,0.17096188876,0.171056350285,0.171150810238,0.171245268618,0.171339725423,0.171434180654,0.171528634308,0.171623086386,0.171717536887,0.171811985809,0.171906433152,0.172000878915,0.172095323097,0.172189765697,0.172284206714,0.172378646148,0.172473083997,0.172567520261,0.172661954938,0.172756388029,0.172850819531,0.172945249445,0.173039677769,0.173134104503,0.173228529645,0.173322953195,0.173417375152,0.173511795514,0.173606214282,0.173700631454,0.17379504703,0.173889461008,0.173983873387,0.174078284168,0.174172693348,0.174267100928,0.174361506905,0.17445591128,0.174550314051,0.174644715218,0.17473911478,0.174833512735,0.174927909083,0.175022303824,0.175116696956,0.175211088478,0.175305478389,0.175399866689,0.175494253377,0.175588638452,0.175683021913,0.175777403759,0.175871783989,0.175966162603,0.176060539599,0.176154914977,0.176249288736,0.176343660875,0.176438031393,0.176532400289,0.176626767562,0.176721133212,0.176815497238,0.176909859638,0.177004220412,0.177098579559,0.177192937079,0.177287292969,0.17738164723,0.177475999861,0.17757035086,0.177664700227,0.177759047961,0.177853394061,0.177947738526,0.178042081356,0.178136422549,0.178230762105,0.178325100022,0.178419436301,0.178513770939,0.178608103936,0.178702435292,0.178796765005,0.178891093075,0.1789854195,0.179079744281,0.179174067415,0.179268388902,0.179362708741,0.179457026932,0.179551343473,0.179645658364,0.179739971603,0.179834283191,0.179928593125,0.180022901406,0.180117208031,0.180211513002,0.180305816315,0.180400117972,0.18049441797,0.180588716309,0.180683012988,0.180777308007,0.180871601363,0.180965893058,0.181060183088,0.181154471455,0.181248758156,0.181343043192,0.18143732656,0.181531608261,0.181625888293,0.181720166656,0.181814443348,0.18190871837,0.182002991719,0.182097263395,0.182191533397,0.182285801725,0.182380068377,0.182474333353,0.182568596652,0.182662858272,0.182757118214,0.182851376475,0.182945633056,0.183039887955,0.183134141172,0.183228392705,0.183322642555,0.183416890719,0.183511137197,0.183605381988,0.183699625092,0.183793866507,0.183888106233,0.183982344269,0.184076580613,0.184170815266,0.184265048226,0.184359279491,0.184453509063,0.184547736939,0.184641963118,0.1847361876,0.184830410385,0.18492463147,0.185018850856,0.185113068541,0.185207284524,0.185301498805,0.185395711383,0.185489922257,0.185584131425,0.185678338888,0.185772544644,0.185866748693,0.185960951033,0.186055151663,0.186149350584,0.186243547794,0.186337743291,0.186431937076,0.186526129147,0.186620319504,0.186714508145,0.18680869507,0.186902880278,0.186997063768,0.18709124554,0.187185425591,0.187279603922,0.187373780531,0.187467955419,0.187562128583,0.187656300023,0.187750469738,0.187844637727,0.18793880399,0.188032968525,0.188127131332,0.188221292409,0.188315451757,0.188409609373,0.188503765258,0.18859791941,0.188692071829,0.188786222513,0.188880371462,0.188974518674,0.18906866415,0.189162807888,0.189256949887,0.189351090146,0.189445228665,0.189539365443,0.189633500478,0.18972763377,0.189821765319,0.189915895122,0.19001002318,0.190104149492,0.190198274056,0.190292396871,0.190386517938,0.190480637254,0.19057475482,0.190668870634,0.190762984696,0.190857097004,0.190951207557,0.191045316356,0.191139423398,0.191233528684,0.191327632212,0.191421733981,0.19151583399,0.19160993224,0.191704028728,0.191798123453,0.191892216416,0.191986307615,0.19208039705,0.192174484719,0.192268570621,0.192362654756,0.192456737123,0.192550817721,0.192644896549,0.192738973607,0.192833048892,0.192927122405,0.193021194145,0.193115264111,0.193209332302,0.193303398716,0.193397463354,0.193491526214,0.193585587296,0.193679646598,0.19377370412,0.193867759861,0.19396181382,0.194055865996,0.194149916388,0.194243964996,0.194338011818,0.194432056854,0.194526100103,0.194620141563,0.194714181235,0.194808219117,0.194902255209,0.194996289509,0.195090322016,0.19518435273,0.195278381651,0.195372408776,0.195466434105,0.195560457638,0.195654479373,0.19574849931,0.195842517448,0.195936533785,0.196030548321,0.196124561056,0.196218571988,0.196312581116,0.19640658844,0.196500593958,0.19659459767,0.196688599575,0.196782599672,0.196876597961,0.19697059444,0.197064589108,0.197158581965,0.197252573009,0.197346562241,0.197440549659,0.197534535261,0.197628519048,0.197722501019,0.197816481172,0.197910459507,0.198004436022,0.198098410718,0.198192383593,0.198286354646,0.198380323876,0.198474291283,0.198568256866,0.198662220623,0.198756182554,0.198850142659,0.198944100935,0.199038057383,0.199132012002,0.19922596479,0.199319915747,0.199413864871,0.199507812163,0.199601757621,0.199695701244,0.199789643032,0.199883582983,0.199977521097,0.200071457373,0.20016539181,0.200259324407,0.200353255163,0.200447184078,0.20054111115,0.200635036378,0.200728959763,0.200822881302,0.200916800996,0.201010718843,0.201104634842,0.201198548993,0.201292461294,0.201386371745,0.201480280345,0.201574187093,0.201668091988,0.20176199503,0.201855896217,0.201949795548,0.202043693023,0.202137588641,0.202231482401,0.202325374303,0.202419264344,0.202513152525,0.202607038844,0.202700923302,0.202794805895,0.202888686625,0.20298256549,0.203076442489,0.203170317622,0.203264190887,0.203358062284,0.203451931811,0.203545799469,0.203639665255,0.20373352917,0.203827391212,0.20392125138,0.204015109674,0.204108966093,0.204202820635,0.204296673301,0.204390524089,0.204484372998,0.204578220027,0.204672065176,0.204765908444,0.20485974983,0.204953589332,0.205047426951,0.205141262685,0.205235096533,0.205328928495,0.20542275857,0.205516586756,0.205610413053,0.20570423746,0.205798059977,0.205891880602,0.205985699334,0.206079516173,0.206173331118,0.206267144167,0.206360955321,0.206454764578,0.206548571937,0.206642377398,0.206736180959,0.20682998262,0.20692378238,0.207017580237,0.207111376192,0.207205170243,0.20729896239,0.207392752631,0.207486540966,0.207580327394,0.207674111913,0.207767894524,0.207861675225,0.207955454015,0.208049230894,0.208143005861,0.208236778914,0.208330550053,0.208424319278,0.208518086586,0.208611851978,0.208705615453,0.208799377009,0.208893136645,0.208986894362,0.209080650158,0.209174404032,0.209268155983,0.20936190601,0.209455654114,0.209549400292,0.209643144543,0.209736886868,0.209830627265,0.209924365734,0.210018102272,0.21011183688,0.210205569557,0.210299300302,0.210393029114,0.210486755992,0.210580480935,0.210674203942,0.210767925013,0.210861644147,0.210955361343,0.211049076599,0.211142789916,0.211236501291,0.211330210725,0.211423918217,0.211517623765,0.211611327369,0.211705029028,0.211798728741,0.211892426507,0.211986122326,0.212079816196,0.212173508116,0.212267198087,0.212360886106,0.212454572173,0.212548256288,0.212641938448,0.212735618654,0.212829296905,0.2129229732,0.213016647537,0.213110319916,0.213203990337,0.213297658797,0.213391325297,0.213484989836,0.213578652412,0.213672313026,0.213765971675,0.213859628359,0.213953283078,0.214046935829,0.214140586614,0.21423423543,0.214327882277,0.214421527154,0.21451517006,0.214608810994,0.214702449955,0.214796086943,0.214889721957,0.214983354995,0.215076986058,0.215170615143,0.215264242251,0.21535786738,0.215451490529,0.215545111698,0.215638730886,0.215732348092,0.215825963314,0.215919576553,0.216013187808,0.216106797076,0.216200404358,0.216294009653,0.21638761296,0.216481214278,0.216574813606,0.216668410944,0.216762006289,0.216855599643,0.216949191003,0.217042780369,0.217136367739,0.217229953114,0.217323536493,0.217417117873,0.217510697256,0.217604274638,0.217697850021,0.217791423403,0.217884994783,0.21797856416,0.218072131533,0.218165696902,0.218259260266,0.218352821623,0.218446380974,0.218539938316,0.21863349365,0.218727046974,0.218820598288,0.21891414759,0.21900769488,0.219101240157,0.21919478342,0.219288324668,0.219381863901,0.219475401117,0.219568936315,0.219662469496,0.219756000657,0.219849529799,0.219943056919,0.220036582018,0.220130105095,0.220223626148,0.220317145177,0.22041066218,0.220504177158,0.220597690109,0.220691201032,0.220784709927,0.220878216792,0.220971721627,0.221065224431,0.221158725203,0.221252223942,0.221345720647,0.221439215318,0.221532707953,0.221626198552,0.221719687114,0.221813173638,0.221906658123,0.222000140568,0.222093620973,0.222187099337,0.222280575658,0.222374049935,0.222467522169,0.222560992358,0.222654460502,0.222747926598,0.222841390647,0.222934852648,0.2230283126,0.223121770502,0.223215226353,0.223308680152,0.223402131898,0.223495581591,0.22358902923,0.223682474813,0.223775918341,0.223869359811,0.223962799224,0.224056236578,0.224149671873,0.224243105107,0.22433653628,0.224429965392,0.22452339244,0.224616817424,0.224710240344,0.224803661198,0.224897079986,0.224990496707,0.22508391136,0.225177323944,0.225270734458,0.225364142901,0.225457549273,0.225550953572,0.225644355799,0.225737755951,0.225831154028,0.22592455003,0.226017943954,0.226111335802,0.226204725571,0.22629811326,0.22639149887,0.226484882399,0.226578263846,0.22667164321,0.226765020491,0.226858395687,0.226951768798,0.227045139823,0.227138508761,0.227231875611,0.227325240373,0.227418603045,0.227511963627,0.227605322117,0.227698678516,0.227792032821,0.227885385033,0.22797873515,0.228072083171,0.228165429096,0.228258772924,0.228352114653,0.228445454284,0.228538791815,0.228632127245,0.228725460574,0.2288187918,0.228912120923,0.229005447942,0.229098772856,0.229192095664,0.229285416365,0.229378734959,0.229472051444,0.229565365821,0.229658678087,0.229751988242,0.229845296285,0.229938602216,0.230031906033,0.230125207735,0.230218507323,0.230311804794,0.230405100148,0.230498393385,0.230591684502,0.230684973501,0.230778260378,0.230871545135,0.230964827769,0.231058108281,0.231151386668,0.231244662931,0.231337937069,0.231431209079,0.231524478963,0.231617746719,0.231711012345,0.231804275842,0.231897537208,0.231990796442,0.232084053545,0.232177308513,0.232270561348,0.232363812048,0.232457060612,0.232550307039,0.232643551328,0.23273679348,0.232830033492,0.232923271363,0.233016507094,0.233109740683,0.233202972129,0.233296201432,0.233389428591,0.233482653604,0.233575876471,0.233669097191,0.233762315763,0.233855532186,0.23394874646,0.234041958584,0.234135168556,0.234228376376,0.234321582043,0.234414785556,0.234507986915,0.234601186118,0.234694383165,0.234787578054,0.234880770785,0.234973961358,0.23506714977,0.235160336022,0.235253520112,0.23534670204,0.235439881805,0.235533059405,0.23562623484,0.23571940811,0.235812579213,0.235905748149,0.235998914916,0.236092079513,0.236185241941,0.236278402198,0.236371560283,0.236464716195,0.236557869934,0.236651021498,0.236744170887,0.2368373181,0.236930463136,0.237023605994,0.237116746674,0.237209885174,0.237303021494,0.237396155632,0.237489287588,0.237582417362,0.237675544951,0.237768670356,0.237861793575,0.237954914608,0.238048033454,0.238141150112,0.23823426458,0.238327376859,0.238420486948,0.238513594844,0.238606700549,0.23869980406,0.238792905377,0.238886004499,0.238979101425,0.239072196155,0.239165288687,0.239258379021,0.239351467156,0.239444553091,0.239537636824,0.239630718356,0.239723797685,0.239816874811,0.239909949733,0.240003022449,0.240096092959,0.240189161262,0.240282227358,0.240375291244,0.240468352922,0.240561412389,0.240654469645,0.240747524689,0.24084057752,0.240933628137,0.241026676539,0.241119722726,0.241212766697,0.241305808451,0.241398847986,0.241491885303,0.2415849204,0.241677953276,0.241770983931,0.241864012364,0.241957038573,0.242050062558,0.242143084319,0.242236103854,0.242329121162,0.242422136243,0.242515149095,0.242608159718,0.242701168112,0.242794174274,0.242887178205,0.242980179903,0.243073179368,0.243166176599,0.243259171594,0.243352164353,0.243445154876,0.243538143161,0.243631129207,0.243724113014,0.24381709458,0.243910073906,0.24400305099,0.24409602583,0.244188998427,0.24428196878,0.244374936887,0.244467902748,0.244560866362,0.244653827727,0.244746786844,0.244839743712,0.244932698329,0.245025650694,0.245118600807,0.245211548668,0.245304494274,0.245397437625,0.245490378721,0.245583317561,0.245676254142,0.245769188466,0.245862120531,0.245955050336,0.24604797788,0.246140903162,0.246233826182,0.246326746939,0.246419665431,0.246512581659,0.24660549562,0.246698407315,0.246791316742,0.246884223901,0.24697712879,0.247070031409,0.247162931758,0.247255829834,0.247348725638,0.247441619168,0.247534510423,0.247627399404,0.247720286108,0.247813170535,0.247906052685,0.247998932555,0.248091810146,0.248184685457,0.248277558487,0.248370429234,0.248463297698,0.248556163879,0.248649027775,0.248741889385,0.248834748709,0.248927605746,0.249020460494,0.249113312954,0.249206163124,0.249299011003,0.249391856591,0.249484699886,0.249577540889,0.249670379597,0.24976321601,0.249856050127,0.249948881948,0.250041711471,0.250134538696,0.250227363622,0.250320186248,0.250413006573,0.250505824596,0.250598640317,0.250691453734,0.250784264847,0.250877073654,0.250969880156,0.251062684351,0.251155486238,0.251248285816,0.251341083085,0.251433878044,0.251526670692,0.251619461028,0.25171224905,0.25180503476,0.251897818154,0.251990599233,0.252083377996,0.252176154442,0.25226892857,0.25236170038,0.252454469869,0.252547237038,0.252640001886,0.252732764411,0.252825524613,0.252918282492,0.253011038046,0.253103791274,0.253196542175,0.25328929075,0.253382036996,0.253474780913,0.2535675225,0.253660261756,0.253752998681,0.253845733273,0.253938465532,0.254031195457,0.254123923047,0.254216648301,0.254309371219,0.254402091799,0.25449481004,0.254587525942,0.254680239504,0.254772950725,0.254865659605,0.254958366141,0.255051070334,0.255143772183,0.255236471686,0.255329168844,0.255421863654,0.255514556117,0.255607246231,0.255699933995,0.25579261941,0.255885302473,0.255977983184,0.256070661542,0.256163337546,0.256256011196,0.25634868249,0.256441351428,0.256534018009,0.256626682232,0.256719344096,0.2568120036,0.256904660743,0.256997315526,0.257089967946,0.257182618003,0.257275265696,0.257367911024,0.257460553986,0.257553194582,0.257645832811,0.257738468671,0.257831102162,0.257923733283,0.258016362034,0.258108988413,0.258201612419,0.258294234052,0.258386853311,0.258479470195,0.258572084703,0.258664696834,0.258757306588,0.258849913963,0.258942518959,0.259035121575,0.25912772181,0.259220319663,0.259312915133,0.25940550822,0.259498098922,0.259590687239,0.25968327317,0.259775856714,0.25986843787,0.259961016637,0.260053593015,0.260146167003,0.2602387386,0.260331307804,0.260423874615,0.260516439033,0.260609001056,0.260701560684,0.260794117915,0.260886672749,0.260979225186,0.261071775223,0.26116432286,0.261256868097,0.261349410933,0.261441951366,0.261534489397,0.261627025023,0.261719558244,0.26181208906,0.261904617469,0.261997143471,0.262089667065,0.262182188249,0.262274707024,0.262367223388,0.26245973734,0.26255224888,0.262644758006,0.262737264719,0.262829769016,0.262922270897,0.263014770362,0.263107267409,0.263199762037,0.263292254247,0.263384744036,0.263477231404,0.263569716351,0.263662198875,0.263754678975,0.263847156651,0.263939631901,0.264032104726,0.264124575124,0.264217043093,0.264309508635,0.264401971746,0.264494432428,0.264586890678,0.264679346496,0.264771799882,0.264864250833,0.26495669935,0.265049145432,0.265141589077,0.265234030286,0.265326469056,0.265418905387,0.265511339279,0.26560377073,0.26569619974,0.265788626308,0.265881050432,0.265973472113,0.266065891349,0.266158308139,0.266250722483,0.266343134379,0.266435543828,0.266527950827,0.266620355376,0.266712757475,0.266805157122,0.266897554317,0.266989949058,0.267082341345,0.267174731178,0.267267118554,0.267359503474,0.267451885937,0.267544265941,0.267636643486,0.26772901857,0.267821391194,0.267913761356,0.268006129056,0.268098494292,0.268190857063,0.26828321737,0.268375575211,0.268467930584,0.26856028349,0.268652633928,0.268744981896,0.268837327394,0.26892967042,0.269022010975,0.269114349057,0.269206684665,0.269299017799,0.269391348458,0.26948367664,0.269576002346,0.269668325573,0.269760646322,0.269852964591,0.269945280379,0.270037593687,0.270129904512,0.270222212854,0.270314518713,0.270406822087,0.270499122975,0.270591421377,0.270683717291,0.270776010718,0.270868301656,0.270960590104,0.271052876061,0.271145159527,0.2712374405,0.271329718981,0.271421994967,0.271514268459,0.271606539455,0.271698807954,0.271791073956,0.271883337459,0.271975598464,0.272067856969,0.272160112972,0.272252366475,0.272344617474,0.272436865971,0.272529111963,0.27262135545,0.272713596431,0.272805834906,0.272898070873,0.272990304331,0.273082535281,0.27317476372,0.273266989648,0.273359213064,0.273451433968,0.273543652358,0.273635868234,0.273728081595,0.27382029244,0.273912500767,0.274004706577,0.274096909869,0.274189110641,0.274281308892,0.274373504623,0.274465697831,0.274557888517,0.274650076679,0.274742262317,0.274834445429,0.274926626015,0.275018804074,0.275110979605,0.275203152607,0.275295323079,0.275387491021,0.275479656432,0.275571819311,0.275663979657,0.275756137468,0.275848292746,0.275940445487,0.276032595692,0.27612474336,0.27621688849,0.276309031081,0.276401171132,0.276493308643,0.276585443612,0.276677576039,0.276769705923,0.276861833262,0.276953958057,0.277046080306,0.277138200009,0.277230317164,0.277322431771,0.277414543828,0.277506653336,0.277598760293,0.277690864699,0.277782966552,0.277875065852,0.277967162597,0.278059256787,0.278151348422,0.2782434375,0.27833552402,0.278427607982,0.278519689385,0.278611768228,0.278703844509,0.278795918229,0.278887989387,0.27898005798,0.27907212401,0.279164187474,0.279256248372,0.279348306704,0.279440362467,0.279532415663,0.279624466288,0.279716514344,0.279808559828,0.279900602741,0.27999264308,0.280084680846,0.280176716038,0.280268748654,0.280360778694,0.280452806157,0.280544831042,0.280636853349,0.280728873076,0.280820890222,0.280912904788,0.281004916771,0.281096926171,0.281188932988,0.281280937219,0.281372938866,0.281464937926,0.281556934399,0.281648928284,0.28174091958,0.281832908286,0.281924894402,0.282016877926,0.282108858858,0.282200837197,0.282292812942,0.282384786093,0.282476756647,0.282568724606,0.282660689967,0.282752652729,0.282844612893,0.282936570457,0.28302852542,0.283120477782,0.283212427541,0.283304374697,0.283396319249,0.283488261197,0.283580200538,0.283672137273,0.2837640714,0.283856002919,0.283947931829,0.284039858129,0.284131781818,0.284223702895,0.28431562136,0.284407537211,0.284499450449,0.284591361071,0.284683269077,0.284775174466,0.284867077238,0.284958977392,0.285050874926,0.28514276984,0.285234662133,0.285326551805,0.285418438853,0.285510323278,0.285602205079,0.285694084255,0.285785960804,0.285877834727,0.285969706022,0.286061574688,0.286153440725,0.286245304132,0.286337164908,0.286429023051,0.286520878562,0.286612731439,0.286704581682,0.286796429289,0.286888274261,0.286980116595,0.287071956291,0.287163793349,0.287255627767,0.287347459545,0.287439288681,0.287531115176,0.287622939027,0.287714760235,0.287806578798,0.287898394715,0.287990207987,0.288082018611,0.288173826587,0.288265631915,0.288357434592,0.288449234619,0.288541031995,0.288632826719,0.288724618789,0.288816408206,0.288908194968,0.288999979074,0.289091760524,0.289183539317,0.289275315451,0.289367088927,0.289458859743,0.289550627898,0.289642393391,0.289734156223,0.289825916391,0.289917673895,0.290009428734,0.290101180908,0.290192930415,0.290284677254,0.290376421426,0.290468162928,0.290559901761,0.290651637922,0.290743371412,0.29083510223,0.290926830374,0.291018555844,0.291110278639,0.291201998759,0.291293716201,0.291385430966,0.291477143053,0.291568852461,0.291660559188,0.291752263235,0.2918439646,0.291935663282,0.292027359281,0.292119052596,0.292210743226,0.292302431169,0.292394116426,0.292485798996,0.292577478876,0.292669156068,0.292760830569,0.29285250238,0.292944171498,0.293035837924,0.293127501656,0.293219162694,0.293310821037,0.293402476684,0.293494129634,0.293585779886,0.293677427439,0.293769072293,0.293860714447,0.2939523539,0.29404399065,0.294135624698,0.294227256043,0.294318884683,0.294410510617,0.294502133846,0.294593754367,0.294685372181,0.294776987285,0.294868599681,0.294960209366,0.295051816339,0.295143420601,0.29523502215,0.295326620985,0.295418217106,0.295509810511,0.295601401199,0.295692989171,0.295784574425,0.29587615696,0.295967736775,0.29605931387,0.296150888244,0.296242459895,0.296334028823,0.296425595028,0.296517158508,0.296608719262,0.29670027729,0.296791832591,0.296883385164,0.296974935008,0.297066482122,0.297158026505,0.297249568157,0.297341107077,0.297432643264,0.297524176717,0.297615707435,0.297707235418,0.297798760664,0.297890283172,0.297981802943,0.298073319974,0.298164834266,0.298256345817,0.298347854627,0.298439360694,0.298530864018,0.298622364598,0.298713862433,0.298805357523,0.298896849865,0.298988339461,0.299079826308,0.299171310406,0.299262791754,0.299354270352,0.299445746198,0.299537219291,0.299628689631,0.299720157217,0.299811622048,0.299903084124,0.299994543442,0.300086000003,0.300177453806,0.30026890485,0.300360353133,0.300451798656,0.300543241417,0.300634681416,0.300726118651,0.300817553122,0.300908984828,0.301000413768,0.301091839941,0.301183263347,0.301274683984,0.301366101852,0.30145751695,0.301548929277,0.301640338833,0.301731745615,0.301823149625,0.301914550859,0.302005949319,0.302097345003,0.30218873791,0.302280128039,0.30237151539,0.302462899962,0.302554281753,0.302645660763,0.302737036992,0.302828410438,0.3029197811,0.303011148978,0.30310251407,0.303193876377,0.303285235897,0.303376592629,0.303467946572,0.303559297726,0.30365064609,0.303741991662,0.303833334443,0.303924674431,0.304016011625,0.304107346025,0.30419867763,0.304290006438,0.30438133245,0.304472655663,0.304563976079,0.304655293694,0.304746608509,0.304837920523,0.304929229735,0.305020536145,0.30511183975,0.305203140551,0.305294438547,0.305385733736,0.305477026119,0.305568315693,0.305659602459,0.305750886415,0.305842167561,0.305933445896,0.306024721418,0.306115994128,0.306207264024,0.306298531105,0.306389795371,0.30648105682,0.306572315453,0.306663571267,0.306754824263,0.306846074439,0.306937321795,0.307028566329,0.307119808042,0.307211046931,0.307302282996,0.307393516237,0.307484746652,0.307575974241,0.307667199003,0.307758420937,0.307849640042,0.307940856317,0.308032069761,0.308123280375,0.308214488156,0.308305693104,0.308396895218,0.308488094498,0.308579290942,0.308670484549,0.308761675319,0.308852863252,0.308944048345,0.309035230598,0.309126410011,0.309217586583,0.309308760312,0.309399931198,0.309491099241,0.309582264438,0.30967342679,0.309764586295,0.309855742954,0.309946896764,0.310038047725,0.310129195836,0.310220341096,0.310311483506,0.310402623062,0.310493759766,0.310584893616,0.31067602461,0.31076715275,0.310858278032,0.310949400458,0.311040520025,0.311131636733,0.311222750581,0.311313861569,0.311404969695,0.311496074958,0.311587177359,0.311678276895,0.311769373567,0.311860467372,0.311951558312,0.312042646384,0.312133731587,0.312224813922,0.312315893386,0.31240696998,0.312498043703,0.312589114553,0.312680182529,0.312771247632,0.31286230986,0.312953369212,0.313044425687,0.313135479285,0.313226530004,0.313317577845,0.313408622805,0.313499664885,0.313590704083,0.313681740399,0.313772773831,0.31386380438,0.313954832043,0.31404585682,0.314136878711,0.314227897714,0.314318913829,0.314409927055,0.314500937391,0.314591944836,0.31468294939,0.314773951051,0.314864949818,0.314955945692,0.31504693867,0.315137928753,0.315228915938,0.315319900227,0.315410881617,0.315501860108,0.315592835698,0.315683808388,0.315774778176,0.315865745062,0.315956709045,0.316047670123,0.316138628296,0.316229583563,0.316320535923,0.316411485376,0.316502431921,0.316593375556,0.316684316281,0.316775254096,0.316866188998,0.316957120989,0.317048050065,0.317138976228,0.317229899475,0.317320819806,0.317411737221,0.317502651718,0.317593563297,0.317684471956,0.317775377696,0.317866280514,0.317957180411,0.318048077385,0.318138971436,0.318229862562,0.318320750763,0.318411636039,0.318502518387,0.318593397808,0.318684274301,0.318775147864,0.318866018497,0.318956886199,0.31904775097,0.319138612808,0.319229471712,0.319320327682,0.319411180717,0.319502030816,0.319592877978,0.319683722203,0.319774563489,0.319865401836,0.319956237242,0.320047069708,0.320137899232,0.320228725813,0.320319549451,0.320410370144,0.320501187893,0.320592002695,0.320682814551,0.320773623458,0.320864429418,0.320955232428,0.321046032488,0.321136829597,0.321227623754,0.321318414958,0.321409203209,0.321499988506,0.321590770847,0.321681550233,0.321772326662,0.321863100133,0.321953870645,0.322044638198,0.322135402791,0.322226164423,0.322316923094,0.322407678801,0.322498431545,0.322589181325,0.322679928139,0.322770671988,0.322861412869,0.322952150783,0.323042885729,0.323133617705,0.323224346711,0.323315072746,0.323405795809,0.3234965159,0.323587233016,0.323677947159,0.323768658326,0.323859366518,0.323950071732,0.324040773969,0.324131473228,0.324222169507,0.324312862805,0.324403553123,0.324494240459,0.324584924813,0.324675606182,0.324766284568,0.324856959968,0.324947632382,0.32503830181,0.325128968249,0.3252196317,0.325310292162,0.325400949634,0.325491604115,0.325582255603,0.325672904099,0.325763549602,0.32585419211,0.325944831623,0.32603546814,0.326126101661,0.326216732183,0.326307359707,0.326397984232,0.326488605756,0.32657922428,0.326669839801,0.32676045232,0.326851061836,0.326941668347,0.327032271853,0.327122872352,0.327213469845,0.327304064331,0.327394655808,0.327485244275,0.327575829733,0.327666412179,0.327756991613,0.327847568035,0.327938141443,0.328028711837,0.328119279216,0.328209843579,0.328300404925,0.328390963253,0.328481518563,0.328572070854,0.328662620124,0.328753166373,0.328843709601,0.328934249806,0.329024786987,0.329115321144,0.329205852276,0.329296380382,0.329386905461,0.329477427512,0.329567946535,0.329658462529,0.329748975492,0.329839485424,0.329929992325,0.330020496193,0.330110997028,0.330201494828,0.330291989593,0.330382481322,0.330472970014,0.330563455669,0.330653938285,0.330744417862,0.330834894399,0.330925367895,0.331015838349,0.33110630576,0.331196770128,0.331287231451,0.33137768973,0.331468144962,0.331558597148,0.331649046286,0.331739492376,0.331829935416,0.331920375407,0.332010812346,0.332101246234,0.332191677069,0.33228210485,0.332372529578,0.33246295125,0.332553369866,0.332643785426,0.332734197927,0.332824607371,0.332915013755,0.333005417079,0.333095817343,0.333186214544,0.333276608683,0.333366999759,0.33345738777,0.333547772716,0.333638154596,0.33372853341,0.333818909156,0.333909281834,0.333999651442,0.33409001798,0.334180381448,0.334270741844,0.334361099167,0.334451453417,0.334541804592,0.334632152693,0.334722497718,0.334812839666,0.334903178536,0.334993514328,0.335083847041,0.335174176674,0.335264503226,0.335354826697,0.335445147085,0.335535464389,0.335625778609,0.335716089745,0.335806397794,0.335896702757,0.335987004633,0.33607730342,0.336167599118,0.336257891726,0.336348181243,0.336438467668,0.336528751001,0.336619031241,0.336709308387,0.336799582437,0.336889853392,0.33698012125,0.337070386011,0.337160647674,0.337250906237,0.337341161701,0.337431414063,0.337521663324,0.337611909483,0.337702152538,0.33779239249,0.337882629336,0.337972863077,0.338063093711,0.338153321238,0.338243545656,0.338333766966,0.338423985165,0.338514200254,0.338604412231,0.338694621096,0.338784826848,0.338875029485,0.338965229008,0.339055425415,0.339145618705,0.339235808879,0.339325995934,0.33941617987,0.339506360686,0.339596538381,0.339686712955,0.339776884407,0.339867052735,0.33995721794,0.340047380019,0.340137538974,0.340227694801,0.340317847501,0.340407997074,0.340498143517,0.34058828683,0.340678427013,0.340768564064,0.340858697983,0.340948828769,0.341038956421,0.341129080939,0.34121920232,0.341309320566,0.341399435674,0.341489547644,0.341579656475,0.341669762166,0.341759864717,0.341849964126,0.341940060393,0.342030153518,0.342120243498,0.342210330333,0.342300414024,0.342390494567,0.342480571964,0.342570646212,0.342660717312,0.342750785262,0.342840850062,0.34293091171,0.343020970206,0.343111025549,0.343201077738,0.343291126773,0.343381172652,0.343471215375,0.343561254941,0.343651291349,0.343741324598,0.343831354687,0.343921381616,0.344011405384,0.34410142599,0.344191443433,0.344281457712,0.344371468826,0.344461476776,0.344551481559,0.344641483174,0.344731481622,0.344821476902,0.344911469012,0.345001457951,0.345091443719,0.345181426316,0.345271405739,0.345361381989,0.345451355064,0.345541324964,0.345631291688,0.345721255235,0.345811215604,0.345901172794,0.345991126805,0.346081077636,0.346171025285,0.346260969753,0.346350911038,0.346440849139,0.346530784056,0.346620715788,0.346710644334,0.346800569692,0.346890491863,0.346980410846,0.347070326639,0.347160239242,0.347250148654,0.347340054874,0.347429957901,0.347519857735,0.347609754375,0.347699647819,0.347789538067,0.347879425119,0.347969308973,0.348059189629,0.348149067085,0.348238941341,0.348328812396,0.348418680249,0.3485085449,0.348598406348,0.348688264591,0.348778119629,0.348867971461,0.348957820087,0.349047665505,0.349137507714,0.349227346714,0.349317182505,0.349407015084,0.349496844452,0.349586670607,0.349676493549,0.349766313277,0.34985612979,0.349945943087,0.350035753168,0.350125560031,0.350215363675,0.350305164101,0.350394961307,0.350484755292,0.350574546055,0.350664333596,0.350754117913,0.350843899007,0.350933676876,0.351023451519,0.351113222935,0.351202991125,0.351292756086,0.351382517818,0.35147227632,0.351562031591,0.351651783631,0.351741532439,0.351831278013,0.351921020354,0.35201075946,0.35210049533,0.352190227964,0.35227995736,0.352369683519,0.352459406438,0.352549126118,0.352638842557,0.352728555755,0.352818265711,0.352907972424,0.352997675892,0.353087376116,0.353177073095,0.353266766827,0.353356457312,0.353446144549,0.353535828538,0.353625509277,0.353715186765,0.353804861002,0.353894531987,0.353984199719,0.354073864197,0.35416352542,0.354253183389,0.354342838101,0.354432489556,0.354522137753,0.354611782691,0.35470142437,0.354791062789,0.354880697946,0.354970329842,0.355059958474,0.355149583843,0.355239205948,0.355328824787,0.35541844036,0.355508052666,0.355597661705,0.355687267475,0.355776869975,0.355866469205,0.355956065165,0.356045657852,0.356135247267,0.356224833408,0.356314416274,0.356403995866,0.356493572182,0.35658314522,0.356672714982,0.356762281464,0.356851844668,0.356941404591,0.357030961233,0.357120514594,0.357210064672,0.357299611467,0.357389154977,0.357478695203,0.357568232142,0.357657765795,0.35774729616,0.357836823237,0.357926347025,0.358015867523,0.35810538473,0.358194898645,0.358284409268,0.358373916598,0.358463420634,0.358552921374,0.358642418819,0.358731912968,0.358821403819,0.358910891371,0.359000375625,0.359089856579,0.359179334232,0.359268808584,0.359358279633,0.35944774738,0.359537211822,0.359626672959,0.359716130791,0.359805585317,0.359895036535,0.359984484445,0.360073929046,0.360163370338,0.360252808319,0.360342242988,0.360431674346,0.36052110239,0.360610527121,0.360699948537,0.360789366637,0.360878781421,0.360968192888,0.361057601037,0.361147005867,0.361236407378,0.361325805568,0.361415200438,0.361504591985,0.361593980209,0.361683365109,0.361772746685,0.361862124936,0.36195149986,0.362040871458,0.362130239727,0.362219604668,0.36230896628,0.362398324561,0.362487679511,0.36257703113,0.362666379415,0.362755724367,0.362845065985,0.362934404268,0.363023739214,0.363113070824,0.363202399096,0.363291724029,0.363381045623,0.363470363877,0.36355967879,0.363648990362,0.363738298591,0.363827603476,0.363916905017,0.364006203213,0.364095498064,0.364184789567,0.364274077723,0.364363362531,0.364452643989,0.364541922098,0.364631196856,0.364720468262,0.364809736316,0.364899001016,0.364988262363,0.365077520354,0.36516677499,0.365256026269,0.365345274191,0.365434518755,0.36552375996,0.365612997805,0.365702232289,0.365791463412,0.365880691173,0.36596991557,0.366059136604,0.366148354272,0.366237568576,0.366326779513,0.366415987082,0.366505191284,0.366594392117,0.36668358958,0.366772783673,0.366861974394,0.366951161743,0.36704034572,0.367129526322,0.36721870355,0.367307877403,0.367397047879,0.367486214979,0.3675753787,0.367664539043,0.367753696007,0.36784284959,0.367931999792,0.368021146612,0.368110290049,0.368199430102,0.368288566771,0.368377700055,0.368466829953,0.368555956464,0.368645079588,0.368734199323,0.368823315668,0.368912428624,0.369001538188,0.369090644361,0.369179747141,0.369268846527,0.36935794252,0.369447035117,0.369536124318,0.369625210123,0.36971429253,0.369803371539,0.369892447149,0.369981519359,0.370070588168,0.370159653575,0.37024871558,0.370337774182,0.370426829379,0.370515881172,0.370604929559,0.37069397454,0.370783016113,0.370872054278,0.370961089034,0.37105012038,0.371139148316,0.37122817284,0.371317193952,0.371406211651,0.371495225936,0.371584236806,0.371673244261,0.371762248299,0.37185124892,0.371940246124,0.372029239908,0.372118230273,0.372207217218,0.372296200741,0.372385180842,0.37247415752,0.372563130775,0.372652100605,0.37274106701,0.372830029988,0.37291898954,0.373007945663,0.373096898359,0.373185847624,0.37327479346,0.373363735864,0.373452674837,0.373541610377,0.373630542483,0.373719471155,0.373808396392,0.373897318193,0.373986236557,0.374075151483,0.374164062971,0.37425297102,0.374341875629,0.374430776797,0.374519674523,0.374608568807,0.374697459647,0.374786347044,0.374875230995,0.374964111501,0.37505298856,0.375141862171,0.375230732334,0.375319599049,0.375408462313,0.375497322127,0.375586178489,0.375675031399,0.375763880856,0.375852726859,0.375941569407,0.3760304085,0.376119244136,0.376208076315,0.376296905036,0.376385730298,0.3764745521,0.376563370442,0.376652185323,0.376740996741,0.376829804697,0.376918609189,0.377007410216,0.377096207778,0.377185001874,0.377273792503,0.377362579664,0.377451363356,0.377540143579,0.377628920332,0.377717693613,0.377806463423,0.37789522976,0.377983992623,0.378072752012,0.378161507926,0.378250260364,0.378339009325,0.378427754809,0.378516496814,0.37860523534,0.378693970385,0.37878270195,0.378871430034,0.378960154634,0.379048875752,0.379137593385,0.379226307533,0.379315018196,0.379403725372,0.37949242906,0.37958112926,0.379669825972,0.379758519193,0.379847208924,0.379935895163,0.38002457791,0.380113257164,0.380201932924,0.38029060519,0.380379273959,0.380467939233,0.380556601009,0.380645259287,0.380733914067,0.380822565346,0.380911213126,0.380999857404,0.38108849818,0.381177135453,0.381265769222,0.381354399487,0.381443026247,0.3815316495,0.381620269247,0.381708885485,0.381797498215,0.381886107436,0.381974713147,0.382063315346,0.382151914034,0.382240509209,0.38232910087,0.382417689017,0.382506273649,0.382594854766,0.382683432365,0.382772006447,0.382860577011,0.382949144055,0.383037707579,0.383126267583,0.383214824065,0.383303377024,0.383391926461,0.383480472373,0.38356901476,0.383657553622,0.383746088957,0.383834620765,0.383923149045,0.384011673796,0.384100195017,0.384188712707,0.384277226867,0.384365737494,0.384454244587,0.384542748148,0.384631248173,0.384719744663,0.384808237617,0.384896727034,0.384985212912,0.385073695252,0.385162174053,0.385250649313,0.385339121032,0.38542758921,0.385516053844,0.385604514935,0.385692972481,0.385781426482,0.385869876938,0.385958323846,0.386046767207,0.386135207019,0.386223643282,0.386312075995,0.386400505157,0.386488930767,0.386577352825,0.386665771329,0.38675418628,0.386842597675,0.386931005514,0.387019409797,0.387107810523,0.38719620769,0.387284601299,0.387372991347,0.387461377835,0.387549760761,0.387638140125,0.387726515926,0.387814888164,0.387903256836,0.387991621943,0.388079983483,0.388168341457,0.388256695862,0.388345046699,0.388433393966,0.388521737663,0.388610077788,0.388698414342,0.388786747322,0.388875076729,0.388963402562,0.389051724819,0.3891400435,0.389228358604,0.389316670131,0.389404978079,0.389493282448,0.389581583236,0.389669880444,0.38975817407,0.389846464113,0.389934750573,0.390023033449,0.39011131274,0.390199588444,0.390287860563,0.390376129094,0.390464394036,0.39055265539,0.390640913153,0.390729167326,0.390817417908,0.390905664897,0.390993908293,0.391082148095,0.391170384302,0.391258616914,0.391346845929,0.391435071348,0.391523293168,0.391611511389,0.391699726011,0.391787937033,0.391876144453,0.391964348271,0.392052548486,0.392140745098,0.392228938105,0.392317127507,0.392405313303,0.392493495492,0.392581674073,0.392669849046,0.392758020409,0.392846188162,0.392934352304,0.393022512835,0.393110669753,0.393198823057,0.393286972747,0.393375118823,0.393463261282,0.393551400125,0.39363953535,0.393727666957,0.393815794945,0.393903919314,0.393992040061,0.394080157187,0.394168270691,0.394256380571,0.394344486828,0.39443258946,0.394520688466,0.394608783847,0.394696875599,0.394784963724,0.394873048221,0.394961129087,0.395049206323,0.395137279928,0.395225349901,0.395313416241,0.395401478948,0.39548953802,0.395577593457,0.395665645257,0.395753693421,0.395841737947,0.395929778835,0.396017816083,0.396105849692,0.396193879659,0.396281905985,0.396369928668,0.396457947707,0.396545963103,0.396633974854,0.396721982958,0.396809987417,0.396897988228,0.39698598539,0.397073978904,0.397161968768,0.397249954981,0.397337937543,0.397425916452,0.397513891709,0.397601863311,0.397689831259,0.397777795552,0.397865756188,0.397953713167,0.398041666488,0.39812961615,0.398217562153,0.398305504496,0.398393443177,0.398481378197,0.398569309554,0.398657237247,0.398745161276,0.398833081639,0.398920998337,0.399008911368,0.399096820731,0.399184726426,0.399272628452,0.399360526807,0.399448421492,0.399536312505,0.399624199846,0.399712083513,0.399799963506,0.399887839825,0.399975712468,0.400063581434,0.400151446723,0.400239308334,0.400327166266,0.400415020518,0.40050287109,0.40059071798,0.400678561188,0.400766400714,0.400854236555,0.400942068712,0.401029897184,0.401117721969,0.401205543067,0.401293360478,0.4013811742,0.401468984233,0.401556790575,0.401644593226,0.401732392186,0.401820187453,0.401907979026,0.401995766905,0.40208355109,0.402171331578,0.402259108369,0.402346881464,0.402434650859,0.402522416556,0.402610178553,0.402697936849,0.402785691444,0.402873442336,0.402961189525,0.40304893301,0.403136672791,0.403224408866,0.403312141235,0.403399869896,0.403487594849,0.403575316094,0.403663033629,0.403750747454,0.403838457568,0.403926163969,0.404013866658,0.404101565633,0.404189260894,0.404276952439,0.404364640269,0.404452324382,0.404540004777,0.404627681453,0.40471535441,0.404803023648,0.404890689164,0.404978350959,0.405066009031,0.40515366338,0.405241314005,0.405328960905,0.405416604079,0.405504243527,0.405591879248,0.40567951124,0.405767139503,0.405854764037,0.40594238484,0.406030001912,0.406117615252,0.406205224859,0.406292830732,0.40638043287,0.406468031273,0.40655562594,0.40664321687,0.406730804063,0.406818387516,0.40690596723,0.406993543204,0.407081115438,0.407168683929,0.407256248677,0.407343809683,0.407431366944,0.40751892046,0.40760647023,0.407694016253,0.407781558529,0.407869097057,0.407956631836,0.408044162865,0.408131690143,0.40821921367,0.408306733445,0.408394249466,0.408481761734,0.408569270247,0.408656775004,0.408744276005,0.40883177325,0.408919266736,0.409006756463,0.409094242431,0.409181724639,0.409269203086,0.40935667777,0.409444148692,0.409531615851,0.409619079245,0.409706538874,0.409793994737,0.409881446833,0.409968895162,0.410056339722,0.410143780514,0.410231217535,0.410318650785,0.410406080264,0.410493505971,0.410580927905,0.410668346064,0.410755760449,0.410843171058,0.410930577891,0.411017980946,0.411105380224,0.411192775723,0.411280167442,0.411367555381,0.411454939538,0.411542319914,0.411629696507,0.411717069316,0.41180443834,0.41189180358,0.411979165034,0.4120665227,0.412153876579,0.41224122667,0.412328572971,0.412415915483,0.412503254203,0.412590589132,0.412677920268,0.412765247612,0.412852571161,0.412939890915,0.413027206874,0.413114519036,0.413201827401,0.413289131968,0.413376432736,0.413463729704,0.413551022872,0.413638312238,0.413725597803,0.413812879565,0.413900157523,0.413987431676,0.414074702024,0.414161968566,0.414249231301,0.414336490229,0.414423745348,0.414510996658,0.414598244157,0.414685487846,0.414772727723,0.414859963788,0.414947196039,0.415034424476,0.415121649098,0.415208869905,0.415296086895,0.415383300068,0.415470509422,0.415557714958,0.415644916674,0.415732114569,0.415819308643,0.415906498895,0.415993685324,0.41608086793,0.41616804671,0.416255221666,0.416342392795,0.416429560098,0.416516723572,0.416603883218,0.416691039035,0.416778191022,0.416865339178,0.416952483502,0.417039623993,0.417126760651,0.417213893475,0.417301022464,0.417388147618,0.417475268935,0.417562386414,0.417649500055,0.417736609858,0.41782371582,0.417910817942,0.417997916223,0.418085010662,0.418172101257,0.418259188009,0.418346270916,0.418433349978,0.418520425194,0.418607496563,0.418694564084,0.418781627757,0.41886868758,0.418955743553,0.419042795675,0.419129843945,0.419216888363,0.419303928928,0.419390965638,0.419477998493,0.419565027493,0.419652052636,0.419739073922,0.419826091349,0.419913104918,0.420000114627,0.420087120475,0.420174122462,0.420261120587,0.420348114849,0.420435105247,0.42052209178,0.420609074448,0.42069605325,0.420783028186,0.420869999253,0.420956966452,0.421043929781,0.42113088924,0.421217844829,0.421304796545,0.42139174439,0.42147868836,0.421565628457,0.421652564679,0.421739497024,0.421826425494,0.421913350086,0.4220002708,0.422087187635,0.42217410059,0.422261009665,0.422347914858,0.422434816169,0.422521713598,0.422608607142,0.422695496802,0.422782382577,0.422869264466,0.422956142467,0.423043016581,0.423129886807,0.423216753143,0.423303615589,0.423390474144,0.423477328807,0.423564179578,0.423651026456,0.423737869439,0.423824708528,0.42391154372,0.423998375017,0.424085202416,0.424172025917,0.424258845519,0.424345661221,0.424432473023,0.424519280923,0.424606084922,0.424692885017,0.424779681209,0.424866473496,0.424953261879,0.425040046355,0.425126826924,0.425213603585,0.425300376338,0.425387145182,0.425473910116,0.425560671138,0.42564742825,0.425734181448,0.425820930734,0.425907676105,0.425994417562,0.426081155102,0.426167888727,0.426254618434,0.426341344223,0.426428066093,0.426514784044,0.426601498074,0.426688208183,0.42677491437,0.426861616634,0.426948314975,0.427035009391,0.427121699882,0.427208386447,0.427295069085,0.427381747795,0.427468422577,0.42755509343,0.427641760353,0.427728423345,0.427815082406,0.427901737534,0.427988388729,0.42807503599,0.428161679316,0.428248318707,0.428334954161,0.428421585678,0.428508213257,0.428594836897,0.428681456598,0.428768072359,0.428854684178,0.428941292055,0.42902789599,0.429114495981,0.429201092028,0.42928768413,0.429374272285,0.429460856494,0.429547436756,0.429634013069,0.429720585433,0.429807153847,0.429893718311,0.429980278823,0.430066835383,0.430153387989,0.430239936642,0.43032648134,0.430413022083,0.430499558869,0.430586091698,0.43067262057,0.430759145483,0.430845666436,0.430932183429,0.431018696461,0.431105205531,0.431191710639,0.431278211783,0.431364708963,0.431451202178,0.431537691427,0.43162417671,0.431710658025,0.431797135372,0.43188360875,0.431970078158,0.432056543596,0.432143005062,0.432229462556,0.432315916077,0.432402365625,0.432488811198,0.432575252795,0.432661690416,0.432748124061,0.432834553727,0.432920979416,0.433007401124,0.433093818853,0.433180232601,0.433266642367,0.433353048151,0.433439449951,0.433525847767,0.433612241599,0.433698631444,0.433785017304,0.433871399176,0.43395777706,0.434044150955,0.43413052086,0.434216886775,0.434303248699,0.434389606631,0.43447596057,0.434562310515,0.434648656466,0.434734998422,0.434821336381,0.434907670344,0.43499400031,0.435080326277,0.435166648245,0.435252966213,0.43533928018,0.435425590145,0.435511896108,0.435598198069,0.435684496025,0.435770789976,0.435857079922,0.435943365862,0.436029647794,0.436115925719,0.436202199635,0.436288469542,0.436374735438,0.436460997323,0.436547255196,0.436633509057,0.436719758904,0.436806004737,0.436892246555,0.436978484357,0.437064718143,0.437150947911,0.437237173661,0.437323395392,0.437409613103,0.437495826794,0.437582036463,0.43766824211,0.437754443734,0.437840641334,0.43792683491,0.438013024461,0.438099209985,0.438185391483,0.438271568952,0.438357742394,0.438443911806,0.438530077188,0.438616238539,0.438702395858,0.438788549145,0.438874698398,0.438960843618,0.439046984803,0.439133121952,0.439219255065,0.43930538414,0.439391509178,0.439477630176,0.439563747135,0.439649860054,0.439735968932,0.439822073767,0.43990817456,0.43999427131,0.440080364015,0.440166452675,0.440252537288,0.440338617856,0.440424694375,0.440510766847,0.440596835269,0.440682899642,0.440768959964,0.440855016234,0.440941068452,0.441027116617,0.441113160729,0.441199200785,0.441285236787,0.441371268732,0.44145729662,0.44154332045,0.441629340222,0.441715355934,0.441801367586,0.441887375178,0.441973378707,0.442059378174,0.442145373578,0.442231364918,0.442317352192,0.442403335401,0.442489314544,0.442575289619,0.442661260626,0.442747227565,0.442833190433,0.442919149232,0.443005103959,0.443091054614,0.443177001196,0.443262943705,0.443348882139,0.443434816498,0.443520746781,0.443606672988,0.443692595117,0.443778513167,0.443864427139,0.44395033703,0.444036242841,0.44412214457,0.444208042218,0.444293935782,0.444379825262,0.444465710657,0.444551591967,0.444637469191,0.444723342328,0.444809211377,0.444895076338,0.444980937209,0.44506679399,0.44515264668,0.445238495278,0.445324339783,0.445410180196,0.445496016514,0.445581848737,0.445667676865,0.445753500896,0.44583932083,0.445925136666,0.446010948403,0.44609675604,0.446182559577,0.446268359013,0.446354154346,0.446439945577,0.446525732705,0.446611515728,0.446697294645,0.446783069457,0.446868840162,0.44695460676,0.447040369249,0.447126127629,0.4472118819,0.447297632059,0.447383378108,0.447469120043,0.447554857866,0.447640591575,0.44772632117,0.447812046649,0.447897768012,0.447983485257,0.448069198386,0.448154907395,0.448240612285,0.448326313055,0.448412009704,0.448497702232,0.448583390637,0.448669074918,0.448754755076,0.448840431109,0.448926103016,0.449011770796,0.44909743445,0.449183093975,0.449268749372,0.449354400639,0.449440047776,0.449525690781,0.449611329655,0.449696964395,0.449782595003,0.449868221476,0.449953843814,0.450039462016,0.450125076081,0.450210686009,0.450296291799,0.450381893449,0.45046749096,0.45055308433,0.450638673559,0.450724258646,0.45080983959,0.45089541639,0.450980989045,0.451066557555,0.451152121919,0.451237682136,0.451323238206,0.451408790127,0.451494337898,0.45157988152,0.451665420991,0.45175095631,0.451836487477,0.451922014491,0.45200753735,0.452093056055,0.452178570605,0.452264080998,0.452349587234,0.452435089312,0.452520587231,0.452606080991,0.452691570591,0.452777056029,0.452862537306,0.45294801442,0.453033487371,0.453118956157,0.453204420779,0.453289881235,0.453375337524,0.453460789646,0.4535462376,0.453631681385,0.453717121,0.453802556445,0.453887987718,0.45397341482,0.454058837749,0.454144256504,0.454229671084,0.45431508149,0.454400487719,0.454485889772,0.454571287647,0.454656681344,0.454742070862,0.4548274562,0.454912837357,0.454998214333,0.455083587126,0.455168955737,0.455254320163,0.455339680406,0.455425036462,0.455510388333,0.455595736016,0.455681079512,0.455766418819,0.455851753937,0.455937084865,0.456022411602,0.456107734148,0.456193052501,0.45627836666,0.456363676626,0.456448982397,0.456534283972,0.456619581351,0.456704874533,0.456790163517,0.456875448302,0.456960728888,0.457046005273,0.457131277457,0.45721654544,0.457301809219,0.457387068796,0.457472324168,0.457557575335,0.457642822297,0.457728065051,0.457813303599,0.457898537938,0.457983768069,0.45806899399,0.4581542157,0.458239433199,0.458324646486,0.45840985556,0.458495060421,0.458580261067,0.458665457498,0.458750649713,0.458835837712,0.458921021492,0.459006201055,0.459091376398,0.459176547522,0.459261714425,0.459346877106,0.459432035566,0.459517189802,0.459602339814,0.459687485602,0.459772627165,0.459857764501,0.459942897611,0.460028026493,0.460113151146,0.46019827157,0.460283387764,0.460368499727,0.460453607459,0.460538710958,0.460623810224,0.460708905256,0.460793996054,0.460879082616,0.460964164941,0.46104924303,0.46113431688,0.461219386492,0.461304451865,0.461389512997,0.461474569888,0.461559622538,0.461644670945,0.461729715108,0.461814755028,0.461899790702,0.461984822131,0.462069849314,0.462154872249,0.462239890936,0.462324905375,0.462409915563,0.462494921502,0.462579923189,0.462664920624,0.462749913807,0.462834902736,0.462919887411,0.463004867831,0.463089843995,0.463174815902,0.463259783552,0.463344746944,0.463429706076,0.463514660949,0.463599611562,0.463684557913,0.463769500002,0.463854437828,0.463939371391,0.464024300689,0.464109225722,0.464194146489,0.464279062989,0.464363975222,0.464448883186,0.464533786881,0.464618686306,0.464703581461,0.464788472344,0.464873358955,0.464958241293,0.465043119357,0.465127993146,0.46521286266,0.465297727898,0.46538258886,0.465467445543,0.465552297948,0.465637146073,0.465721989919,0.465806829484,0.465891664767,0.465976495768,0.466061322486,0.466146144919,0.466230963068,0.466315776932,0.466400586509,0.466485391799,0.466570192802,0.466654989516,0.46673978194,0.466824570074,0.466909353917,0.466994133469,0.467078908728,0.467163679694,0.467248446365,0.467333208742,0.467417966823,0.467502720608,0.467587470095,0.467672215285,0.467756956176,0.467841692767,0.467926425058,0.468011153048,0.468095876736,0.468180596122,0.468265311204,0.468350021982,0.468434728455,0.468519430622,0.468604128483,0.468688822036,0.468773511281,0.468858196217,0.468942876844,0.46902755316,0.469112225165,0.469196892859,0.469281556239,0.469366215306,0.469450870058,0.469535520496,0.469620166617,0.469704808422,0.46978944591,0.469874079079,0.469958707929,0.47004333246,0.47012795267,0.470212568558,0.470297180125,0.470381787369,0.470466390289,0.470550988884,0.470635583155,0.470720173099,0.470804758717,0.470889340007,0.470973916969,0.471058489601,0.471143057904,0.471227621877,0.471312181517,0.471396736826,0.471481287802,0.471565834443,0.471650376751,0.471734914723,0.471819448359,0.471903977658,0.471988502619,0.472073023242,0.472157539526,0.47224205147,0.472326559073,0.472411062335,0.472495561254,0.47258005583,0.472664546063,0.47274903195,0.472833513493,0.472917990689,0.473002463538,0.473086932039,0.473171396192,0.473255855996,0.47334031145,0.473424762552,0.473509209303,0.473593651702,0.473678089748,0.473762523439,0.473846952776,0.473931377757,0.474015798383,0.474100214651,0.474184626561,0.474269034112,0.474353437305,0.474437836137,0.474522230608,0.474606620717,0.474691006464,0.474775387848,0.474859764868,0.474944137522,0.475028505812,0.475112869735,0.47519722929,0.475281584478,0.475365935297,0.475450281747,0.475534623827,0.475618961535,0.475703294872,0.475787623836,0.475871948427,0.475956268643,0.476040584485,0.476124895951,0.476209203041,0.476293505753,0.476377804088,0.476462098044,0.47654638762,0.476630672816,0.47671495363,0.476799230063,0.476883502114,0.47696776978,0.477052033063,0.477136291961,0.477220546473,0.477304796598,0.477389042337,0.477473283687,0.477557520648,0.47764175322,0.477725981401,0.477810205191,0.477894424589,0.477978639595,0.478062850207,0.478147056425,0.478231258248,0.478315455675,0.478399648705,0.478483837338,0.478568021573,0.478652201409,0.478736376845,0.478820547881,0.478904714516,0.478988876749,0.479073034579,0.479157188005,0.479241337027,0.479325481644,0.479409621856,0.47949375766,0.479577889057,0.479662016046,0.479746138626,0.479830256797,0.479914370556,0.479998479905,0.480082584841,0.480166685365,0.480250781475,0.480334873171,0.480418960451,0.480503043316,0.480587121764,0.480671195795,0.480755265407,0.4808393306,0.480923391374,0.481007447727,0.481091499659,0.481175547168,0.481259590255,0.481343628918,0.481427663157,0.48151169297,0.481595718358,0.481679739319,0.481763755852,0.481847767957,0.481931775633,0.482015778879,0.482099777695,0.482183772079,0.482267762031,0.482351747551,0.482435728636,0.482519705287,0.482603677503,0.482687645283,0.482771608626,0.482855567532,0.482939521999,0.483023472027,0.483107417616,0.483191358763,0.48327529547,0.483359227734,0.483443155555,0.483527078933,0.483610997866,0.483694912354,0.483778822396,0.483862727991,0.483946629138,0.484030525837,0.484114418087,0.484198305888,0.484282189237,0.484366068135,0.484449942581,0.484533812574,0.484617678113,0.484701539198,0.484785395827,0.484869248001,0.484953095717,0.485036938976,0.485120777777,0.485204612119,0.485288442,0.485372267421,0.485456088381,0.485539904878,0.485623716912,0.485707524483,0.485791327589,0.48587512623,0.485958920404,0.486042710112,0.486126495353,0.486210276124,0.486294052427,0.48637782426,0.486461591622,0.486545354513,0.486629112932,0.486712866877,0.486796616349,0.486880361346,0.486964101868,0.487047837914,0.487131569483,0.487215296574,0.487299019187,0.487382737321,0.487466450975,0.487550160148,0.48763386484,0.48771756505,0.487801260776,0.487884952019,0.487968638778,0.488052321051,0.488135998838,0.488219672138,0.48830334095,0.488387005274,0.488470665109,0.488554320454,0.488637971309,0.488721617671,0.488805259542,0.48888889692,0.488972529804,0.489056158193,0.489139782087,0.489223401485,0.489307016386,0.48939062679,0.489474232695,0.489557834101,0.489641431007,0.489725023413,0.489808611317,0.489892194719,0.489975773617,0.490059348012,0.490142917903,0.490226483288,0.490310044167,0.49039360054,0.490477152405,0.490560699761,0.490644242608,0.490727780946,0.490811314773,0.490894844088,0.490978368891,0.491061889181,0.491145404957,0.491228916219,0.491312422966,0.491395925197,0.49147942291,0.491562916107,0.491646404784,0.491729888943,0.491813368582,0.4918968437,0.491980314297,0.492063780372,0.492147241923,0.492230698951,0.492314151455,0.492397599433,0.492481042886,0.492564481811,0.492647916209,0.492731346079,0.492814771419,0.49289819223,0.49298160851,0.493065020259,0.493148427475,0.493231830159,0.493315228309,0.493398621924,0.493482011004,0.493565395549,0.493648775556,0.493732151026,0.493815521958,0.493898888351,0.493982250204,0.494065607516,0.494148960287,0.494232308516,0.494315652202,0.494398991344,0.494482325942,0.494565655995,0.494648981502,0.494732302462,0.494815618875,0.494898930739,0.494982238054,0.49506554082,0.495148839035,0.495232132699,0.495315421811,0.49539870637,0.495481986375,0.495565261826,0.495648532722,0.495731799061,0.495815060845,0.495898318071,0.495981570738,0.496064818847,0.496148062396,0.496231301384,0.496314535811,0.496397765677,0.496480990979,0.496564211718,0.496647427893,0.496730639502,0.496813846546,0.496897049023,0.496980246932,0.497063440274,0.497146629046,0.497229813249,0.497312992882,0.497396167943,0.497479338433,0.497562504349,0.497645665692,0.497728822461,0.497811974655,0.497895122273,0.497978265315,0.498061403779,0.498144537665,0.498227666973,0.498310791701,0.498393911848,0.498477027414,0.498560138399,0.4986432448,0.498726346619,0.498809443853,0.498892536502,0.498975624565,0.499058708042,0.499141786932,0.499224861234,0.499307930946,0.49939099607,0.499474056603,0.499557112545,0.499640163895,0.499723210653,0.499806252817,0.499889290387,0.499972323363,0.500055351742,0.500138375526,0.500221394712,0.5003044093,0.50038741929,0.50047042468,0.500553425469,0.500636421658,0.500719413245,0.50080240023,0.500885382611,0.500968360389,0.501051333561,0.501134302128,0.501217266089,0.501300225442,0.501383180188,0.501466130325,0.501549075853,0.50163201677,0.501714953077,0.501797884772,0.501880811855,0.501963734324,0.50204665218,0.50212956542,0.502212474046,0.502295378055,0.502378277447,0.502461172221,0.502544062377,0.502626947914,0.50270982883,0.502792705126,0.5028755768,0.502958443852,0.503041306281,0.503124164086,0.503207017266,0.503289865821,0.50337270975,0.503455549051,0.503538383726,0.503621213772,0.503704039188,0.503786859975,0.503869676131,0.503952487655,0.504035294548,0.504118096807,0.504200894433,0.504283687424,0.50436647578,0.504449259499,0.504532038582,0.504614813028,0.504697582835,0.504780348003,0.504863108531,0.504945864419,0.505028615665,0.505111362269,0.505194104231,0.505276841548,0.505359574222,0.50544230225,0.505525025632,0.505607744367,0.505690458455,0.505773167895,0.505855872686,0.505938572827,0.506021268318,0.506103959158,0.506186645345,0.50626932688,0.506352003761,0.506434675988,0.50651734356,0.506600006476,0.506682664736,0.506765318338,0.506847967282,0.506930611567,0.507013251193,0.507095886158,0.507178516462,0.507261142105,0.507343763084,0.507426379401,0.507508991053,0.50759159804,0.507674200362,0.507756798017,0.507839391005,0.507921979325,0.508004562976,0.508087141958,0.50816971627,0.50825228591,0.508334850879,0.508417411175,0.508499966799,0.508582517748,0.508665064022,0.508747605621,0.508830142543,0.508912674789,0.508995202356,0.509077725245,0.509160243455,0.509242756984,0.509325265833,0.50940777,0.509490269485,0.509572764287,0.509655254404,0.509737739837,0.509820220585,0.509902696647,0.509985168021,0.510067634708,0.510150096707,0.510232554016,0.510315006635,0.510397454564,0.510479897801,0.510562336346,0.510644770198,0.510727199357,0.51080962382,0.510892043589,0.510974458661,0.511056869037,0.511139274715,0.511221675695,0.511304071976,0.511386463557,0.511468850438,0.511551232617,0.511633610094,0.511715982869,0.511798350939,0.511880714306,0.511963072967,0.512045426923,0.512127776172,0.512210120713,0.512292460546,0.512374795671,0.512457126086,0.51253945179,0.512621772783,0.512704089065,0.512786400634,0.512868707489,0.51295100963,0.513033307056,0.513115599767,0.513197887761,0.513280171038,0.513362449596,0.513444723437,0.513526992557,0.513609256958,0.513691516637,0.513773771595,0.51385602183,0.513938267342,0.51402050813,0.514102744193,0.514184975531,0.514267202142,0.514349424027,0.514431641183,0.514513853611,0.51459606131,0.514678264279,0.514760462517,0.514842656023,0.514924844797,0.515007028838,0.515089208145,0.515171382717,0.515253552554,0.515335717655,0.515417878019,0.515500033646,0.515582184534,0.515664330683,0.515746472092,0.515828608761,0.515910740688,0.515992867873,0.516074990315,0.516157108014,0.516239220968,0.516321329177,0.51640343264,0.516485531356,0.516567625325,0.516649714546,0.516731799018,0.51681387874,0.516895953711,0.516978023932,0.5170600894,0.517142150116,0.517224206079,0.517306257287,0.51738830374,0.517470345437,0.517552382378,0.517634414562,0.517716441988,0.517798464655,0.517880482562,0.51796249571,0.518044504096,0.518126507721,0.518208506583,0.518290500681,0.518372490016,0.518454474586,0.518536454391,0.518618429429,0.5187003997,0.518782365203,0.518864325938,0.518946281904,0.519028233099,0.519110179524,0.519192121177,0.519274058058,0.519355990166,0.5194379175,0.519519840059,0.519601757843,0.519683670851,0.519765579082,0.519847482536,0.519929381211,0.520011275108,0.520093164224,0.52017504856,0.520256928114,0.520338802887,0.520420672876,0.520502538082,0.520584398504,0.52066625414,0.520748104991,0.520829951055,0.520911792332,0.52099362882,0.52107546052,0.52115728743,0.52123910955,0.521320926879,0.521402739415,0.521484547159,0.52156635011,0.521648148267,0.521729941629,0.521811730195,0.521893513965,0.521975292937,0.522057067112,0.522138836488,0.522220601065,0.522302360841,0.522384115817,0.522465865991,0.522547611363,0.522629351931,0.522711087696,0.522792818656,0.52287454481,0.522956266159,0.5230379827,0.523119694434,0.523201401359,0.523283103476,0.523364800782,0.523446493278,0.523528180962,0.523609863834,0.523691541893,0.523773215139,0.52385488357,0.523936547186,0.524018205986,0.52409985997,0.524181509136,0.524263153484,0.524344793013,0.524426427722,0.524508057611,0.524589682678,0.524671302924,0.524752918347,0.524834528947,0.524916134723,0.524997735673,0.525079331798,0.525160923097,0.525242509568,0.525324091212,0.525405668026,0.525487240012,0.525568807167,0.525650369491,0.525731926984,0.525813479644,0.525895027471,0.525976570464,0.526058108623,0.526139641946,0.526221170433,0.526302694083,0.526384212895,0.526465726869,0.526547236004,0.526628740298,0.526710239753,0.526791734365,0.526873224136,0.526954709064,0.527036189148,0.527117664387,0.527199134782,0.52728060033,0.527362061032,0.527443516887,0.527524967893,0.527606414051,0.527687855359,0.527769291816,0.527850723423,0.527932150177,0.528013572079,0.528094989127,0.528176401321,0.528257808661,0.528339211145,0.528420608772,0.528502001542,0.528583389455,0.528664772508,0.528746150703,0.528827524037,0.52890889251,0.528990256122,0.529071614872,0.529152968758,0.52923431778,0.529315661938,0.52939700123,0.529478335657,0.529559665216,0.529640989908,0.529722309732,0.529803624686,0.529884934771,0.529966239985,0.530047540328,0.530128835798,0.530210126396,0.53029141212,0.53037269297,0.530453968945,0.530535240044,0.530616506266,0.530697767612,0.530779024079,0.530860275667,0.530941522376,0.531022764204,0.531104001151,0.531185233217,0.5312664604,0.5313476827,0.531428900115,0.531510112646,0.531591320292,0.531672523051,0.531753720923,0.531834913907,0.531916102003,0.531997285209,0.532078463526,0.532159636952,0.532240805486,0.532321969128,0.532403127877,0.532484281733,0.532565430693,0.532646574759,0.532727713929,0.532808848202,0.532889977577,0.532971102054,0.533052221633,0.533133336311,0.533214446089,0.533295550966,0.533376650941,0.533457746014,0.533538836183,0.533619921447,0.533701001807,0.533782077261,0.533863147809,0.53394421345,0.534025274182,0.534106330006,0.534187380921,0.534268426926,0.534349468019,0.534430504201,0.534511535471,0.534592561827,0.53467358327,0.534754599798,0.534835611411,0.534916618107,0.534997619887,0.535078616749,0.535159608693,0.535240595718,0.535321577823,0.535402555007,0.53548352727,0.535564494611,0.53564545703,0.535726414524,0.535807367095,0.53588831474,0.53596925746,0.536050195253,0.536131128119,0.536212056057,0.536292979066,0.536373897146,0.536454810295,0.536535718513,0.5366166218,0.536697520154,0.536778413575,0.536859302062,0.536940185615,0.537021064232,0.537101937913,0.537182806656,0.537263670463,0.53734452933,0.537425383259,0.537506232248,0.537587076296,0.537667915402,0.537748749567,0.537829578789,0.537910403067,0.5379912224,0.538072036789,0.538152846232,0.538233650728,0.538314450277,0.538395244877,0.538476034529,0.538556819232,0.538637598984,0.538718373785,0.538799143634,0.538879908531,0.538960668474,0.539041423464,0.539122173499,0.539202918578,0.539283658701,0.539364393867,0.539445124075,0.539525849325,0.539606569616,0.539687284946,0.539767995316,0.539848700725,0.539929401171,0.540010096655,0.540090787174,0.54017147273,0.54025215332,0.540332828945,0.540413499602,0.540494165293,0.540574826015,0.540655481768,0.540736132552,0.540816778366,0.540897419208,0.540978055079,0.541058685977,0.541139311902,0.541219932853,0.541300548828,0.541381159829,0.541461765853,0.5415423669,0.54162296297,0.541703554061,0.541784140172,0.541864721304,0.541945297455,0.542025868625,0.542106434812,0.542186996017,0.542267552238,0.542348103474,0.542428649726,0.542509190991,0.54258972727,0.542670258561,0.542750784865,0.542831306179,0.542911822504,0.542992333838,0.543072840182,0.543153341534,0.543233837893,0.543314329258,0.54339481563,0.543475297007,0.543555773389,0.543636244774,0.543716711162,0.543797172553,0.543877628945,0.543958080338,0.544038526731,0.544118968123,0.544199404514,0.544279835903,0.544360262288,0.544440683671,0.544521100048,0.544601511421,0.544681917788,0.544762319148,0.544842715501,0.544923106845,0.545003493181,0.545083874508,0.545164250824,0.545244622129,0.545324988422,0.545405349703,0.54548570597,0.545566057224,0.545646403463,0.545726744686,0.545807080893,0.545887412083,0.545967738256,0.54604805941,0.546128375545,0.54620868666,0.546288992754,0.546369293827,0.546449589878,0.546529880906,0.546610166911,0.546690447891,0.546770723846,0.546850994775,0.546931260678,0.547011521554,0.547091777401,0.54717202822,0.547252274009,0.547332514768,0.547412750496,0.547492981193,0.547573206857,0.547653427487,0.547733643084,0.547813853646,0.547894059173,0.547974259664,0.548054455118,0.548134645534,0.548214830912,0.54829501125,0.548375186549,0.548455356808,0.548535522025,0.5486156822,0.548695837333,0.548775987421,0.548856132466,0.548936272466,0.54901640742,0.549096537327,0.549176662188,0.549256782,0.549336896764,0.549417006478,0.549497111143,0.549577210756,0.549657305318,0.549737394827,0.549817479284,0.549897558687,0.549977633035,0.550057702327,0.550137766564,0.550217825744,0.550297879867,0.550377928931,0.550457972937,0.550538011882,0.550618045768,0.550698074592,0.550778098354,0.550858117053,0.55093813069,0.551018139262,0.551098142769,0.551178141211,0.551258134586,0.551338122894,0.551418106135,0.551498084307,0.55157805741,0.551658025443,0.551737988405,0.551817946295,0.551897899114,0.551977846859,0.552057789531,0.552137727129,0.552217659651,0.552297587097,0.552377509467,0.55245742676,0.552537338974,0.55261724611,0.552697148166,0.552777045142,0.552856937036,0.552936823849,0.55301670558,0.553096582227,0.553176453791,0.55325632027,0.553336181663,0.55341603797,0.55349588919,0.553575735323,0.553655576367,0.553735412323,0.553815243188,0.553895068963,0.553974889647,0.554054705238,0.554134515737,0.554214321142,0.554294121454,0.55437391667,0.55445370679,0.554533491814,0.554613271741,0.55469304657,0.554772816301,0.554852580932,0.554932340463,0.555012094893,0.555091844222,0.555171588448,0.555251327571,0.555331061591,0.555410790506,0.555490514316,0.55557023302,0.555649946617,0.555729655107,0.555809358488,0.555889056761,0.555968749924,0.556048437977,0.556128120919,0.556207798749,0.556287471466,0.55636713907,0.55644680156,0.556526458936,0.556606111196,0.556685758339,0.556765400366,0.556845037275,0.556924669066,0.557004295737,0.557083917289,0.55716353372,0.55724314503,0.557322751218,0.557402352283,0.557481948224,0.557561539041,0.557641124733,0.5577207053,0.55780028074,0.557879851053,0.557959416237,0.558038976294,0.558118531221,0.558198081017,0.558277625683,0.558357165218,0.55843669962,0.558516228889,0.558595753024,0.558675272025,0.55875478589,0.55883429462,0.558913798213,0.558993296668,0.559072789986,0.559152278164,0.559231761203,0.559311239102,0.559390711859,0.559470179475,0.559549641948,0.559629099278,0.559708551464,0.559787998505,0.559867440401,0.55994687715,0.560026308753,0.560105735208,0.560185156514,0.560264572672,0.56034398368,0.560423389537,0.560502790242,0.560582185796,0.560661576197,0.560740961445,0.560820341538,0.560899716477,0.560979086259,0.561058450886,0.561137810355,0.561217164666,0.561296513819,0.561375857813,0.561455196646,0.561534530319,0.56161385883,0.561693182179,0.561772500365,0.561851813387,0.561931121245,0.562010423937,0.562089721464,0.562169013824,0.562248301017,0.562327583042,0.562406859898,0.562486131584,0.562565398101,0.562644659446,0.562723915619,0.56280316662,0.562882412448,0.562961653102,0.563040888582,0.563120118886,0.563199344014,0.563278563965,0.563357778739,0.563436988334,0.56351619275,0.563595391987,0.563674586043,0.563753774918,0.563832958611,0.563912137122,0.563991310449,0.564070478592,0.56414964155,0.564228799323,0.564307951909,0.564387099309,0.564466241521,0.564545378544,0.564624510378,0.564703637022,0.564782758476,0.564861874738,0.564940985808,0.565020091685,0.565099192369,0.565178287858,0.565257378153,0.565336463251,0.565415543154,0.565494617859,0.565573687366,0.565652751674,0.565731810784,0.565810864693,0.565889913401,0.565968956908,0.566047995212,0.566127028314,0.566206056212,0.566285078905,0.566364096393,0.566443108675,0.566522115751,0.566601117619,0.56668011428,0.566759105731,0.566838091973,0.566917073004,0.566996048825,0.567075019434,0.567153984831,0.567232945014,0.567311899983,0.567390849738,0.567469794278,0.567548733601,0.567627667708,0.567706596597,0.567785520268,0.56786443872,0.567943351952,0.568022259964,0.568101162755,0.568180060324,0.56825895267,0.568337839793,0.568416721692,0.568495598366,0.568574469815,0.568653336037,0.568732197033,0.568811052801,0.56888990334,0.568968748651,0.569047588731,0.569126423581,0.5692052532,0.569284077586,0.56936289674,0.569441710661,0.569520519347,0.569599322798,0.569678121014,0.569756913993,0.569835701736,0.56991448424,0.569993261506,0.570072033533,0.570150800319,0.570229561865,0.57030831817,0.570387069232,0.570465815052,0.570544555628,0.57062329096,0.570702021046,0.570780745887,0.570859465481,0.570938179828,0.571016888928,0.571095592778,0.571174291379,0.57125298473,0.57133167283,0.571410355679,0.571489033275,0.571567705618,0.571646372708,0.571725034543,0.571803691123,0.571882342447,0.571960988515,0.572039629325,0.572118264877,0.57219689517,0.572275520204,0.572354139977,0.57243275449,0.572511363741,0.572589967729,0.572668566454,0.572747159916,0.572825748113,0.572904331045,0.57298290871,0.573061481109,0.57314004824,0.573218610104,0.573297166698,0.573375718023,0.573454264077,0.57353280486,0.573611340372,0.573689870611,0.573768395577,0.573846915269,0.573925429686,0.574003938827,0.574082442693,0.574160941282,0.574239434593,0.574317922626,0.57439640538,0.574474882854,0.574553355048,0.57463182196,0.574710283591,0.574788739939,0.574867191004,0.574945636784,0.57502407728,0.575102512491,0.575180942415,0.575259367052,0.575337786402,0.575416200463,0.575494609235,0.575573012717,0.575651410909,0.575729803809,0.575808191418,0.575886573734,0.575964950756,0.576043322484,0.576121688917,0.576200050055,0.576278405897,0.576356756441,0.576435101688,0.576513441636,0.576591776285,0.576670105634,0.576748429682,0.57682674843,0.576905061875,0.576983370017,0.577061672856,0.57713997039,0.57721826262,0.577296549544,0.577374831161,0.577453107472,0.577531378474,0.577609644168,0.577687904553,0.577766159628,0.577844409392,0.577922653845,0.578000892985,0.578079126813,0.578157355327,0.578235578527,0.578313796412,0.578392008981,0.578470216233,0.578548418169,0.578626614786,0.578704806085,0.578782992065,0.578861172724,0.578939348063,0.57901751808,0.579095682775,0.579173842148,0.579251996196,0.57933014492,0.579408288319,0.579486426393,0.579564559139,0.579642686559,0.579720808651,0.579798925413,0.579877036847,0.57995514295,0.580033243723,0.580111339164,0.580189429273,0.580267514049,0.580345593491,0.580423667598,0.580501736371,0.580579799808,0.580657857908,0.580735910671,0.580813958096,0.580892000182,0.580970036929,0.581048068335,0.581126094401,0.581204115125,0.581282130507,0.581360140546,0.581438145241,0.581516144591,0.581594138597,0.581672127256,0.581750110569,0.581828088535,0.581906061153,0.581984028421,0.582061990341,0.58213994691,0.582217898128,0.582295843995,0.582373784509,0.58245171967,0.582529649478,0.582607573931,0.582685493029,0.582763406771,0.582841315156,0.582919218184,0.582997115853,0.583075008164,0.583152895116,0.583230776707,0.583308652938,0.583386523806,0.583464389313,0.583542249456,0.583620104236,0.583697953651,0.5837757977,0.583853636384,0.583931469701,0.584009297651,0.584087120233,0.584164937446,0.584242749289,0.584320555762,0.584398356864,0.584476152595,0.584553942953,0.584631727938,0.584709507549,0.584787281786,0.584865050648,0.584942814133,0.585020572242,0.585098324973,0.585176072327,0.585253814301,0.585331550896,0.585409282111,0.585487007945,0.585564728397,0.585642443467,0.585720153154,0.585797857456,0.585875556375,0.585953249908,0.586030938055,0.586108620815,0.586186298189,0.586263970174,0.58634163677,0.586419297976,0.586496953793,0.586574604218,0.586652249252,0.586729888893,0.586807523142,0.586885151996,0.586962775456,0.587040393521,0.58711800619,0.587195613462,0.587273215337,0.587350811813,0.587428402891,0.587505988569,0.587583568848,0.587661143725,0.5877387132,0.587816277273,0.587893835943,0.58797138921,0.588048937072,0.588126479528,0.588204016579,0.588281548223,0.588359074459,0.588436595288,0.588514110708,0.588591620718,0.588669125318,0.588746624507,0.588824118285,0.58890160665,0.588979089602,0.58905656714,0.589134039264,0.589211505973,0.589288967265,0.589366423141,0.5894438736,0.589521318641,0.589598758263,0.589676192466,0.589753621248,0.589831044609,0.589908462549,0.589985875067,0.590063282161,0.590140683832,0.590218080079,0.5902954709,0.590372856295,0.590450236264,0.590527610805,0.590604979919,0.590682343604,0.590759701859,0.590837054684,0.590914402078,0.590991744041,0.591069080572,0.591146411669,0.591223737333,0.591301057562,0.591378372357,0.591455681715,0.591532985637,0.591610284122,0.591687577169,0.591764864777,0.591842146946,0.591919423674,0.591996694962,0.592073960808,0.592151221212,0.592228476174,0.592305725691,0.592382969764,0.592460208393,0.592537441575,0.592614669311,0.5926918916,0.59276910844,0.592846319833,0.592923525776,0.593000726268,0.593077921311,0.593155110901,0.59323229504,0.593309473725,0.593386646958,0.593463814735,0.593540977058,0.593618133925,0.593695285336,0.59377243129,0.593849571785,0.593926706823,0.594003836401,0.594080960519,0.594158079176,0.594235192372,0.594312300106,0.594389402377,0.594466499185,0.594543590528,0.594620676407,0.594697756819,0.594774831766,0.594851901245,0.594928965257,0.5950060238,0.595083076875,0.595160124479,0.595237166612,0.595314203275,0.595391234465,0.595468260183,0.595545280427,0.595622295197,0.595699304492,0.595776308312,0.595853306656,0.595930299522,0.596007286911,0.596084268822,0.596161245253,0.596238216205,0.596315181676,0.596392141666,0.596469096174,0.596546045199,0.596622988741,0.596699926799,0.596776859373,0.59685378646,0.596930708062,0.597007624177,0.597084534804,0.597161439943,0.597238339593,0.597315233754,0.597392122424,0.597469005603,0.59754588329,0.597622755484,0.597699622186,0.597776483393,0.597853339106,0.597930189323,0.598007034045,0.598083873269,0.598160706996,0.598237535225,0.598314357955,0.598391175186,0.598467986916,0.598544793146,0.598621593873,0.598698389098,0.59877517882,0.598851963039,0.598928741752,0.599005514961,0.599082282664,0.59915904486,0.599235801548,0.599312552729,0.599389298401,0.599466038563,0.599542773215,0.599619502356,0.599696225986,0.599772944104,0.599849656708,0.599926363799,0.600003065375,0.600079761437,0.600156451982,0.600233137011,0.600309816523,0.600386490517,0.600463158992,0.600539821948,0.600616479384,0.600693131299,0.600769777693,0.600846418564,0.600923053913,0.600999683738,0.601076308039,0.601152926815,0.601229540065,0.601306147789,0.601382749986,0.601459346655,0.601535937795,0.601612523407,0.601689103488,0.601765678039,0.601842247059,0.601918810546,0.601995368501,0.602071920922,0.60214846781,0.602225009162,0.602301544979,0.60237807526,0.602454600004,0.60253111921,0.602607632878,0.602684141007,0.602760643596,0.602837140644,0.602913632152,0.602990118117,0.60306659854,0.60314307342,0.603219542756,0.603296006547,0.603372464793,0.603448917493,0.603525364646,0.603601806251,0.603678242308,0.603754672817,0.603831097776,0.603907517184,0.603983931042,0.604060339348,0.604136742101,0.604213139302,0.604289530948,0.60436591704,0.604442297577,0.604518672558,0.604595041983,0.60467140585,0.604747764159,0.604824116909,0.6049004641,0.604976805731,0.605053141801,0.605129472309,0.605205797255,0.605282116639,0.605358430459,0.605434738714,0.605511041404,0.605587338529,0.605663630087,0.605739916078,0.605816196502,0.605892471356,0.605968740642,0.606045004357,0.606121262502,0.606197515076,0.606273762077,0.606350003506,0.606426239361,0.606502469643,0.606578694349,0.60665491348,0.606731127035,0.606807335012,0.606883537412,0.606959734234,0.607035925476,0.607112111139,0.607188291222,0.607264465723,0.607340634643,0.607416797979,0.607492955733,0.607569107903,0.607645254488,0.607721395488,0.607797530901,0.607873660728,0.607949784968,0.608025903619,0.608102016682,0.608178124155,0.608254226037,0.608330322329,0.608406413029,0.608482498137,0.608558577652,0.608634651573,0.608710719899,0.608786782631,0.608862839766,0.608938891305,0.609014937247,0.609090977591,0.609167012336,0.609243041482,0.609319065028,0.609395082973,0.609471095317,0.609547102059,0.609623103198,0.609699098733,0.609775088664,0.60985107299,0.60992705171,0.610003024825,0.610078992332,0.610154954231,0.610230910522,0.610306861204,0.610382806276,0.610458745738,0.610534679588,0.610610607827,0.610686530453,0.610762447465,0.610838358864,0.610914264648,0.610990164816,0.611066059369,0.611141948304,0.611217831622,0.611293709322,0.611369581403,0.611445447865,0.611521308706,0.611597163926,0.611673013525,0.611748857501,0.611824695854,0.611900528584,0.611976355689,0.612052177169,0.612127993022,0.61220380325,0.61227960785,0.612355406822,0.612431200166,0.61250698788,0.612582769964,0.612658546417,0.61273431724,0.612810082429,0.612885841986,0.61296159591,0.613037344199,0.613113086854,0.613188823873,0.613264555255,0.613340281001,0.613416001109,0.613491715578,0.613567424408,0.613643127599,0.613718825149,0.613794517058,0.613870203325,0.61394588395,0.614021558931,0.614097228268,0.614172891961,0.614248550008,0.61432420241,0.614399849164,0.614475490271,0.61455112573,0.61462675554,0.614702379701,0.614777998211,0.614853611071,0.614929218279,0.615004819834,0.615080415737,0.615156005986,0.615231590581,0.61530716952,0.615382742804,0.615458310431,0.615533872401,0.615609428713,0.615684979367,0.615760524361,0.615836063696,0.61591159737,0.615987125382,0.616062647733,0.616138164421,0.616213675445,0.616289180805,0.616364680501,0.616440174531,0.616515662895,0.616591145592,0.616666622621,0.616742093982,0.616817559674,0.616893019697,0.616968474049,0.61704392273,0.617119365739,0.617194803076,0.61727023474,0.61734566073,0.617421081045,0.617496495686,0.61757190465,0.617647307938,0.617722705548,0.617798097481,0.617873483735,0.617948864309,0.618024239204,0.618099608417,0.61817497195,0.6182503298,0.618325681967,0.618401028451,0.61847636925,0.618551704365,0.618627033794,0.618702357537,0.618777675593,0.618852987961,0.618928294641,0.619003595631,0.619078890932,0.619154180543,0.619229464462,0.61930474269,0.619380015225,0.619455282067,0.619530543215,0.619605798668,0.619681048426,0.619756292488,0.619831530854,0.619906763522,0.619981990492,0.620057211763,0.620132427335,0.620207637207,0.620282841378,0.620358039847,0.620433232614,0.620508419679,0.620583601039,0.620658776696,0.620733946647,0.620809110893,0.620884269433,0.620959422265,0.62103456939,0.621109710806,0.621184846514,0.621259976511,0.621335100798,0.621410219374,0.621485332238,0.621560439389,0.621635540827,0.621710636551,0.621785726561,0.621860810855,0.621935889433,0.622010962295,0.622086029439,0.622161090865,0.622236146572,0.62231119656,0.622386240827,0.622461279374,0.622536312199,0.622611339302,0.622686360683,0.622761376339,0.622836386271,0.622911390479,0.62298638896,0.623061381715,0.623136368744,0.623211350044,0.623286325616,0.623361295459,0.623436259572,0.623511217955,0.623586170606,0.623661117526,0.623736058713,0.623810994166,0.623885923886,0.623960847871,0.624035766121,0.624110678635,0.624185585412,0.624260486452,0.624335381754,0.624410271317,0.62448515514,0.624560033224,0.624634905566,0.624709772168,0.624784633026,0.624859488142,0.624934337515,0.625009181143,0.625084019026,0.625158851164,0.625233677555,0.625308498199,0.625383313096,0.625458122244,0.625532925643,0.625607723292,0.625682515191,0.625757301339,0.625832081735,0.625906856378,0.625981625268,0.626056388404,0.626131145786,0.626205897412,0.626280643283,0.626355383397,0.626430117753,0.626504846352,0.626579569192,0.626654286272,0.626728997592,0.626803703152,0.62687840295,0.626953096986,0.627027785259,0.627102467769,0.627177144515,0.627251815495,0.62732648071,0.627401140159,0.627475793841,0.627550441755,0.627625083901,0.627699720278,0.627774350885,0.627848975722,0.627923594788,0.627998208082,0.628072815604,0.628147417352,0.628222013327,0.628296603527,0.628371187953,0.628445766602,0.628520339475,0.62859490657,0.628669467888,0.628744023427,0.628818573186,0.628893117166,0.628967655365,0.629042187783,0.629116714419,0.629191235272,0.629265750341,0.629340259627,0.629414763128,0.629489260843,0.629563752772,0.629638238915,0.62971271927,0.629787193837,0.629861662614,0.629936125603,0.630010582801,0.630085034208,0.630159479824,0.630233919647,0.630308353677,0.630382781914,0.630457204356,0.630531621003,0.630606031855,0.63068043691,0.630754836168,0.630829229628,0.63090361729,0.630977999153,0.631052375216,0.631126745478,0.63120110994,0.631275468599,0.631349821456,0.631424168509,0.631498509759,0.631572845204,0.631647174844,0.631721498678,0.631795816705,0.631870128925,0.631944435337,0.63201873594,0.632093030734,0.632167319717,0.63224160289,0.632315880252,0.632390151801,0.632464417538,0.632538677461,0.63261293157,0.632687179864,0.632761422343,0.632835659005,0.632909889851,0.632984114878,0.633058334088,0.633132547479,0.63320675505,0.633280956801,0.633355152731,0.633429342839,0.633503527125,0.633577705588,0.633651878227,0.633726045041,0.633800206031,0.633874361195,0.633948510532,0.634022654043,0.634096791725,0.634170923579,0.634245049604,0.634319169799,0.634393284164,0.634467392697,0.634541495398,0.634615592267,0.634689683303,0.634763768504,0.634837847872,0.634911921403,0.634985989099,0.635060050958,0.63513410698,0.635208157164,0.635282201509,0.635356240015,0.63543027268,0.635504299505,0.635578320489,0.63565233563,0.635726344929,0.635800348384,0.635874345995,0.635948337761,0.636022323682,0.636096303756,0.636170277984,0.636244246364,0.636318208896,0.636392165579,0.636466116412,0.636540061395,0.636614000527,0.636687933808,0.636761861236,0.636835782812,0.636909698533,0.636983608401,0.637057512413,0.637131410569,0.63720530287,0.637279189313,0.637353069898,0.637426944625,0.637500813493,0.637574676501,0.637648533649,0.637722384936,0.63779623036,0.637870069923,0.637943903622,0.638017731457,0.638091553428,0.638165369533,0.638239179773,0.638312984146,0.638386782652,0.63846057529,0.638534362059,0.63860814296,0.63868191799,0.638755687149,0.638829450437,0.638903207854,0.638976959397,0.639050705068,0.639124444864,0.639198178785,0.639271906831,0.639345629002,0.639419345295,0.639493055711,0.639566760249,0.639640458908,0.639714151688,0.639787838587,0.639861519606,0.639935194743,0.640008863998,0.640082527371,0.64015618486,0.640229836464,0.640303482184,0.640377122018,0.640450755966,0.640524384028,0.640598006201,0.640671622487,0.640745232883,0.64081883739,0.640892436007,0.640966028732,0.641039615566,0.641113196508,0.641186771557,0.641260340712,0.641333903973,0.641407461338,0.641481012809,0.641554558382,0.641628098059,0.641701631838,0.641775159719,0.6418486817,0.641922197782,0.641995707963,0.642069212244,0.642142710622,0.642216203098,0.642289689671,0.642363170341,0.642436645105,0.642510113965,0.642583576919,0.642657033966,0.642730485106,0.642803930339,0.642877369662,0.642950803077,0.643024230582,0.643097652176,0.643171067859,0.64324447763,0.643317881489,0.643391279434,0.643464671465,0.643538057582,0.643611437784,0.643684812069,0.643758180438,0.64383154289,0.643904899424,0.643978250039,0.644051594734,0.64412493351,0.644198266365,0.644271593299,0.644344914311,0.6444182294,0.644491538566,0.644564841807,0.644638139125,0.644711430516,0.644784715982,0.644857995521,0.644931269132,0.645004536816,0.64507779857,0.645151054395,0.645224304291,0.645297548255,0.645370786288,0.645444018389,0.645517244557,0.645590464792,0.645663679092,0.645736887458,0.645810089888,0.645883286382,0.645956476939,0.646029661559,0.646102840241,0.646176012983,0.646249179787,0.64632234065,0.646395495572,0.646468644552,0.646541787591,0.646614924687,0.646688055839,0.646761181046,0.646834300309,0.646907413627,0.646980520998,0.647053622422,0.647126717899,0.647199807427,0.647272891007,0.647345968637,0.647419040316,0.647492106045,0.647565165822,0.647638219647,0.647711267519,0.647784309437,0.647857345401,0.64793037541,0.648003399463,0.64807641756,0.6481494297,0.648222435882,0.648295436107,0.648368430372,0.648441418677,0.648514401022,0.648587377406,0.648660347829,0.648733312289,0.648806270786,0.648879223319,0.648952169888,0.649025110492,0.64909804513,0.649170973802,0.649243896507,0.649316813244,0.649389724013,0.649462628813,0.649535527643,0.649608420502,0.649681307391,0.649754188307,0.649827063252,0.649899932223,0.649972795221,0.650045652244,0.650118503292,0.650191348364,0.65026418746,0.650337020579,0.65040984772,0.650482668883,0.650555484067,0.65062829327,0.650701096494,0.650773893736,0.650846684996,0.650919470274,0.650992249569,0.65106502288,0.651137790207,0.651210551549,0.651283306905,0.651356056274,0.651428799656,0.65150153705,0.651574268456,0.651646993873,0.6517197133,0.651792426737,0.651865134182,0.651937835636,0.652010531097,0.652083220565,0.652155904039,0.652228581519,0.652301253003,0.652373918492,0.652446577984,0.65251923148,0.652591878977,0.652664520476,0.652737155975,0.652809785475,0.652882408975,0.652955026473,0.653027637969,0.653100243463,0.653172842954,0.653245436441,0.653318023923,0.6533906054,0.653463180872,0.653535750337,0.653608313795,0.653680871244,0.653753422686,0.653825968118,0.653898507541,0.653971040953,0.654043568353,0.654116089742,0.654188605119,0.654261114482,0.654333617832,0.654406115167,0.654478606487,0.654551091791,0.654623571078,0.654696044349,0.654768511601,0.654840972835,0.65491342805,0.654985877245,0.65505832042,0.655130757573,0.655203188705,0.655275613814,0.6553480329,0.655420445962,0.655492853,0.655565254012,0.655637648999,0.655710037959,0.655782420892,0.655854797797,0.655927168674,0.655999533522,0.65607189234,0.656144245127,0.656216591883,0.656288932608,0.6563612673,0.656433595958,0.656505918583,0.656578235174,0.656650545729,0.656722850249,0.656795148732,0.656867441178,0.656939727587,0.657012007956,0.657084282287,0.657156550578,0.657228812829,0.657301069038,0.657373319206,0.657445563331,0.657517801413,0.657590033451,0.657662259445,0.657734479394,0.657806693297,0.657878901154,0.657951102963,0.658023298725,0.658095488439,0.658167672103,0.658239849717,0.658312021282,0.658384186795,0.658456346256,0.658528499665,0.658600647021,0.658672788323,0.658744923571,0.658817052764,0.658889175901,0.658961292982,0.659033404006,0.659105508972,0.659177607879,0.659249700728,0.659321787517,0.659393868246,0.659465942913,0.659538011519,0.659610074063,0.659682130544,0.659754180961,0.659826225313,0.659898263601,0.659970295823,0.660042321979,0.660114342067,0.660186356089,0.660258364041,0.660330365925,0.66040236174,0.660474351484,0.660546335157,0.660618312758,0.660690284287,0.660762249744,0.660834209126,0.660906162435,0.660978109668,0.661050050826,0.661121985908,0.661193914913,0.66126583784,0.661337754689,0.661409665459,0.66148157015,0.66155346876,0.66162536129,0.661697247738,0.661769128104,0.661841002387,0.661912870587,0.661984732702,0.662056588733,0.662128438678,0.662200282537,0.662272120309,0.662343951994,0.66241577759,0.662487597098,0.662559410516,0.662631217845,0.662703019082,0.662774814228,0.662846603282,0.662918386243,0.662990163111,0.663061933885,0.663133698564,0.663205457148,0.663277209635,0.663348956026,0.66342069632,0.663492430515,0.663564158612,0.66363588061,0.663707596507,0.663779306304,0.663851009999,0.663922707593,0.663994399084,0.664066084472,0.664137763755,0.664209436934,0.664281104008,0.664352764976,0.664424419837,0.664496068591,0.664567711237,0.664639347775,0.664710978203,0.664782602522,0.66485422073,0.664925832826,0.664997438811,0.665069038684,0.665140632443,0.665212220088,0.665283801619,0.665355377035,0.665426946335,0.665498509518,0.665570066585,0.665641617533,0.665713162363,0.665784701074,0.665856233666,0.665927760136,0.665999280486,0.666070794714,0.66614230282,0.666213804803,0.666285300662,0.666356790396,0.666428274006,0.66649975149,0.666571222847,0.666642688078,0.666714147181,0.666785600156,0.666857047002,0.666928487718,0.666999922304,0.667071350759,0.667142773082,0.667214189273,0.667285599331,0.667357003256,0.667428401047,0.667499792702,0.667571178223,0.667642557607,0.667713930854,0.667785297963,0.667856658935,0.667928013768,0.667999362461,0.668070705014,0.668142041427,0.668213371698,0.668284695826,0.668356013813,0.668427325655,0.668498631354,0.668569930908,0.668641224317,0.66871251158,0.668783792696,0.668855067665,0.668926336485,0.668997599157,0.66906885568,0.669140106053,0.669211350276,0.669282588347,0.669353820266,0.669425046032,0.669496265646,0.669567479105,0.66963868641,0.66970988756,0.669781082554,0.669852271392,0.669923454072,0.669994630595,0.670065800959,0.670136965164,0.670208123209,0.670279275094,0.670350420818,0.67042156038,0.67049269378,0.670563821017,0.67063494209,0.670706056998,0.670777165742,0.67084826832,0.670919364732,0.670990454977,0.671061539054,0.671132616963,0.671203688703,0.671274754274,0.671345813674,0.671416866903,0.671487913961,0.671558954847,0.67162998956,0.671701018099,0.671772040465,0.671843056655,0.67191406667,0.671985070509,0.672056068172,0.672127059656,0.672198044963,0.672269024091,0.67233999704,0.672410963809,0.672481924397,0.672552878804,0.672623827029,0.672694769071,0.67276570493,0.672836634605,0.672907558095,0.6729784754,0.67304938652,0.673120291453,0.673191190198,0.673262082756,0.673332969125,0.673403849306,0.673474723296,0.673545591096,0.673616452705,0.673687308122,0.673758157347,0.673829000379,0.673899837217,0.673970667861,0.674041492309,0.674112310562,0.674183122619,0.674253928479,0.674324728141,0.674395521605,0.67446630887,0.674537089936,0.674607864801,0.674678633466,0.674749395929,0.674820152189,0.674890902247,0.674961646102,0.675032383752,0.675103115198,0.675173840439,0.675244559473,0.6753152723,0.675385978921,0.675456679333,0.675527373536,0.675598061531,0.675668743315,0.675739418889,0.675810088251,0.675880751402,0.67595140834,0.676022059064,0.676092703575,0.676163341872,0.676233973953,0.676304599819,0.676375219468,0.6764458329,0.676516440114,0.67658704111,0.676657635886,0.676728224443,0.67679880678,0.676869382896,0.67693995279,0.677010516462,0.677081073911,0.677151625136,0.677222170137,0.677292708913,0.677363241464,0.677433767789,0.677504287886,0.677574801756,0.677645309398,0.677715810812,0.677786305996,0.677856794949,0.677927277673,0.677997754164,0.678068224424,0.678138688451,0.678209146245,0.678279597805,0.67835004313,0.67842048222,0.678490915074,0.678561341691,0.678631762072,0.678702176214,0.678772584118,0.678842985783,0.678913381208,0.678983770393,0.679054153337,0.679124530038,0.679194900498,0.679265264714,0.679335622687,0.679405974416,0.679476319899,0.679546659137,0.679616992129,0.679687318874,0.679757639371,0.67982795362,0.679898261621,0.679968563371,0.680038858872,0.680109148122,0.68017943112,0.680249707867,0.680319978361,0.680390242601,0.680460500587,0.680530752319,0.680600997795,0.680671237016,0.68074146998,0.680811696686,0.680881917135,0.680952131326,0.681022339257,0.681092540928,0.681162736339,0.681232925489,0.681303108377,0.681373285002,0.681443455365,0.681513619464,0.681583777298,0.681653928868,0.681724074172,0.681794213209,0.68186434598,0.681934472483,0.682004592718,0.682074706685,0.682144814381,0.682214915808,0.682285010964,0.682355099848,0.682425182461,0.6824952588,0.682565328866,0.682635392659,0.682705450176,0.682775501419,0.682845546385,0.682915585075,0.682985617488,0.683055643623,0.683125663479,0.683195677056,0.683265684353,0.68333568537,0.683405680106,0.68347566856,0.683545650732,0.683615626621,0.683685596226,0.683755559547,0.683825516583,0.683895467333,0.683965411797,0.684035349975,0.684105281864,0.684175207466,0.684245126779,0.684315039802,0.684384946535,0.684454846978,0.684524741129,0.684594628988,0.684664510555,0.684734385828,0.684804254808,0.684874117492,0.684943973882,0.685013823976,0.685083667773,0.685153505273,0.685223336475,0.685293161379,0.685362979984,0.685432792289,0.685502598293,0.685572397997,0.685642191399,0.685711978499,0.685781759296,0.685851533789,0.685921301978,0.685991063863,0.686060819441,0.686130568714,0.68620031168,0.686270048339,0.686339778689,0.686409502731,0.686479220463,0.686548931886,0.686618636998,0.686688335798,0.686758028287,0.686827714463,0.686897394326,0.686967067875,0.68703673511,0.68710639603,0.687176050634,0.687245698921,0.687315340892,0.687384976545,0.687454605879,0.687524228895,0.687593845591,0.687663455967,0.687733060022,0.687802657755,0.687872249167,0.687941834255,0.68801141302,0.688080985462,0.688150551578,0.688220111369,0.688289664834,0.688359211973,0.688428752784,0.688498287267,0.688567815422,0.688637337248,0.688706852744,0.688776361909,0.688845864744,0.688915361246,0.688984851417,0.689054335254,0.689123812757,0.689193283927,0.689262748761,0.68933220726,0.689401659423,0.689471105249,0.689540544737,0.689609977887,0.689679404699,0.689748825171,0.689818239303,0.689887647095,0.689957048545,0.690026443653,0.690095832419,0.690165214841,0.69023459092,0.690303960654,0.690373324043,0.690442681086,0.690512031783,0.690581376132,0.690650714135,0.690720045788,0.690789371093,0.690858690048,0.690928002653,0.690997308908,0.69106660881,0.691135902361,0.691205189558,0.691274470403,0.691343744893,0.691413013029,0.691482274809,0.691551530233,0.691620779301,0.691690022012,0.691759258364,0.691828488358,0.691897711993,0.691966929269,0.692036140183,0.692105344737,0.692174542929,0.692243734759,0.692312920226,0.692382099329,0.692451272068,0.692520438442,0.692589598451,0.692658752093,0.692727899369,0.692797040277,0.692866174817,0.692935302989,0.693004424791,0.693073540224,0.693142649285,0.693211751976,0.693280848295,0.693349938241,0.693419021814,0.693488099013,0.693557169838,0.693626234288,0.693695292362,0.69376434406,0.693833389381,0.693902428324,0.69397146089,0.694040487076,0.694109506883,0.69417852031,0.694247527356,0.69431652802,0.694385522303,0.694454510203,0.69452349172,0.694592466853,0.694661435601,0.694730397964,0.694799353942,0.694868303532,0.694937246736,0.695006183552,0.69507511398,0.695144038019,0.695212955668,0.695281866927,0.695350771795,0.695419670271,0.695488562356,0.695557448047,0.695626327345,0.695695200249,0.695764066759,0.695832926873,0.695901780591,0.695970627913,0.696039468837,0.696108303363,0.696177131491,0.69624595322,0.69631476855,0.696383577478,0.696452380006,0.696521176132,0.696589965856,0.696658749177,0.696727526095,0.696796296608,0.696865060716,0.696933818419,0.697002569716,0.697071314607,0.69714005309,0.697208785165,0.697277510831,0.697346230088,0.697414942935,0.697483649372,0.697552349398,0.697621043012,0.697689730213,0.697758411002,0.697827085377,0.697895753337,0.697964414883,0.698033070013,0.698101718727,0.698170361024,0.698238996904,0.698307626366,0.698376249409,0.698444866033,0.698513476236,0.69858208002,0.698650677381,0.698719268322,0.698787852839,0.698856430934,0.698925002604,0.698993567851,0.699062126672,0.699130679068,0.699199225037,0.69926776458,0.699336297695,0.699404824382,0.69947334464,0.699541858469,0.699610365868,0.699678866836,0.699747361373,0.699815849477,0.69988433115,0.699952806389,0.700021275194,0.700089737565,0.700158193501,0.700226643001,0.700295086064,0.700363522691,0.70043195288,0.700500376631,0.700568793943,0.700637204816,0.700705609248,0.70077400724,0.700842398791,0.700910783899,0.700979162565,0.701047534787,0.701115900566,0.7011842599,0.701252612789,0.701320959232,0.701389299229,0.701457632779,0.701525959881,0.701594280535,0.70166259474,0.701730902496,0.701799203801,0.701867498656,0.701935787059,0.70200406901,0.702072344508,0.702140613553,0.702208876144,0.702277132281,0.702345381962,0.702413625188,0.702481861957,0.702550092269,0.702618316124,0.70268653352,0.702754744457,0.702822948935,0.702891146952,0.702959338509,0.703027523604,0.703095702237,0.703163874407,0.703232040114,0.703300199358,0.703368352136,0.703436498449,0.703504638297,0.703572771678,0.703640898592,0.703709019038,0.703777133016,0.703845240524,0.703913341564,0.703981436133,0.704049524231,0.704117605858,0.704185681012,0.704253749694,0.704321811903,0.704389867637,0.704457916897,0.704525959682,0.704593995991,0.704662025823,0.704730049179,0.704798066056,0.704866076456,0.704934080376,0.705002077817,0.705070068777,0.705138053257,0.705206031255,0.705274002771,0.705341967804,0.705409926354,0.70547787842,0.705545824001,0.705613763097,0.705681695708,0.705749621831,0.705817541468,0.705885454617,0.705953361278,0.706021261449,0.706089155131,0.706157042323,0.706224923024,0.706292797234,0.706360664951,0.706428526176,0.706496380907,0.706564229145,0.706632070888,0.706699906135,0.706767734887,0.706835557142,0.706903372901,0.706971182161,0.707038984923,0.707106781187,0.70717457095,0.707242354214,0.707310130976,0.707377901238,0.707445664997,0.707513422253,0.707581173006,0.707648917256,0.707716655,0.70778438624,0.707852110974,0.707919829201,0.707987540921,0.708055246134,0.708122944838,0.708190637033,0.708258322719,0.708326001895,0.70839367456,0.708461340713,0.708529000354,0.708596653483,0.708664300099,0.7087319402,0.708799573788,0.70886720086,0.708934821416,0.709002435456,0.709070042978,0.709137643984,0.709205238471,0.709272826439,0.709340407888,0.709407982816,0.709475551224,0.70954311311,0.709610668475,0.709678217317,0.709745759636,0.70981329543,0.709880824701,0.709948347446,0.710015863666,0.710083373359,0.710150876526,0.710218373164,0.710285863275,0.710353346857,0.71042082391,0.710488294432,0.710555758424,0.710623215884,0.710690666813,0.710758111209,0.710825549072,0.710892980401,0.710960405196,0.711027823456,0.71109523518,0.711162640368,0.711230039019,0.711297431133,0.711364816708,0.711432195745,0.711499568243,0.7115669342,0.711634293617,0.711701646493,0.711768992827,0.711836332619,0.711903665867,0.711970992572,0.712038312733,0.712105626348,0.712172933418,0.712240233942,0.71230752792,0.71237481535,0.712442096231,0.712509370565,0.712576638349,0.712643899583,0.712711154267,0.712778402399,0.71284564398,0.712912879009,0.712980107484,0.713047329406,0.713114544774,0.713181753587,0.713248955845,0.713316151547,0.713383340692,0.71345052328,0.713517699309,0.713584868781,0.713652031693,0.713719188046,0.713786337838,0.713853481069,0.713920617738,0.713987747846,0.71405487139,0.714121988372,0.714189098789,0.714256202641,0.714323299928,0.714390390649,0.714457474804,0.714524552392,0.714591623411,0.714658687863,0.714725745745,0.714792797058,0.714859841801,0.714926879972,0.714993911573,0.715060936601,0.715127955056,0.715194966939,0.715261972247,0.715328970981,0.715395963139,0.715462948722,0.715529927729,0.715596900158,0.71566386601,0.715730825284,0.715797777979,0.715864724094,0.715931663629,0.715998596584,0.716065522957,0.716132442748,0.716199355957,0.716266262583,0.716333162625,0.716400056082,0.716466942955,0.716533823242,0.716600696943,0.716667564056,0.716734424583,0.716801278521,0.716868125871,0.716934966631,0.717001800802,0.717068628381,0.71713544937,0.717202263767,0.717269071572,0.717335872784,0.717402667402,0.717469455425,0.717536236854,0.717603011688,0.717669779926,0.717736541566,0.71780329661,0.717870045056,0.717936786903,0.718003522151,0.718070250799,0.718136972847,0.718203688294,0.71827039714,0.718337099383,0.718403795023,0.718470484061,0.718537166494,0.718603842322,0.718670511545,0.718737174162,0.718803830173,0.718870479577,0.718937122373,0.71900375856,0.719070388139,0.719137011108,0.719203627467,0.719270237216,0.719336840353,0.719403436878,0.71947002679,0.719536610089,0.719603186774,0.719669756845,0.719736320301,0.719802877141,0.719869427365,0.719935970972,0.720002507961,0.720069038333,0.720135562085,0.720202079219,0.720268589732,0.720335093625,0.720401590897,0.720468081546,0.720534565574,0.720601042978,0.720667513759,0.720733977916,0.720800435448,0.720866886354,0.720933330634,0.720999768288,0.721066199315,0.721132623713,0.721199041483,0.721265452624,0.721331857135,0.721398255016,0.721464646266,0.721531030884,0.72159740887,0.721663780224,0.721730144944,0.72179650303,0.721862854481,0.721929199298,0.721995537478,0.722061869022,0.722128193929,0.722194512199,0.72226082383,0.722327128822,0.722393427175,0.722459718887,0.722526003959,0.72259228239,0.722658554179,0.722724819325,0.722791077828,0.722857329687,0.722923574902,0.722989813472,0.723056045397,0.723122270675,0.723188489307,0.723254701291,0.723320906627,0.723387105314,0.723453297353,0.723519482741,0.723585661479,0.723651833566,0.723717999001,0.723784157784,0.723850309915,0.723916455391,0.723982594214,0.724048726382,0.724114851895,0.724180970751,0.724247082951,0.724313188495,0.72437928738,0.724445379607,0.724511465175,0.724577544084,0.724643616332,0.724709681919,0.724775740846,0.72484179311,0.724907838712,0.72497387765,0.725039909925,0.725105935535,0.72517195448,0.72523796676,0.725303972373,0.72536997132,0.725435963599,0.72550194921,0.725567928152,0.725633900425,0.725699866028,0.725765824961,0.725831777223,0.725897722813,0.72596366173,0.726029593975,0.726095519546,0.726161438444,0.726227350666,0.726293256213,0.726359155084,0.726425047279,0.726490932796,0.726556811636,0.726622683798,0.72668854928,0.726754408083,0.726820260206,0.726886105648,0.726951944408,0.727017776487,0.727083601883,0.727149420595,0.727215232624,0.727281037969,0.727346836628,0.727412628602,0.72747841389,0.727544192491,0.727609964404,0.72767572963,0.727741488167,0.727807240014,0.727872985172,0.727938723639,0.728004455415,0.7280701805,0.728135898892,0.728201610591,0.728267315597,0.728333013909,0.728398705526,0.728464390448,0.728530068674,0.728595740204,0.728661405036,0.728727063171,0.728792714607,0.728858359345,0.728923997383,0.728989628721,0.729055253358,0.729120871293,0.729186482527,0.729252087059,0.729317684887,0.729383276012,0.729448860432,0.729514438147,0.729580009157,0.72964557346,0.729711131057,0.729776681947,0.729842226128,0.729907763601,0.729973294365,0.730038818419,0.730104335763,0.730169846395,0.730235350317,0.730300847526,0.730366338022,0.730431821805,0.730497298874,0.730562769228,0.730628232867,0.73069368979,0.730759139997,0.730824583487,0.73089002026,0.730955450314,0.731020873649,0.731086290265,0.731151700162,0.731217103337,0.731282499791,0.731347889524,0.731413272534,0.731478648821,0.731544018385,0.731609381224,0.731674737338,0.731740086728,0.731805429391,0.731870765327,0.731936094537,0.732001417018,0.732066732771,0.732132041795,0.73219734409,0.732262639654,0.732327928488,0.73239321059,0.73245848596,0.732523754598,0.732589016502,0.732654271672,0.732719520109,0.73278476181,0.732849996775,0.732915225005,0.732980446497,0.733045661252,0.733110869269,0.733176070548,0.733241265087,0.733306452887,0.733371633946,0.733436808264,0.733501975841,0.733567136675,0.733632290766,0.733697438115,0.733762578719,0.733827712578,0.733892839693,0.733957960061,0.734023073684,0.734088180559,0.734153280687,0.734218374066,0.734283460697,0.734348540578,0.73441361371,0.73447868009,0.73454373972,0.734608792598,0.734673838723,0.734738878096,0.734803910715,0.73486893658,0.73493395569,0.734998968044,0.735063973643,0.735128972485,0.73519396457,0.735258949898,0.735323928467,0.735388900277,0.735453865327,0.735518823618,0.735583775147,0.735648719916,0.735713657922,0.735778589166,0.735843513646,0.735908431363,0.735973342316,0.736038246504,0.736103143926,0.736168034582,0.736232918472,0.736297795594,0.736362665948,0.736427529534,0.736492386351,0.736557236398,0.736622079675,0.736686916181,0.736751745915,0.736816568877,0.736881385067,0.736946194484,0.737010997126,0.737075792994,0.737140582087,0.737205364405,0.737270139946,0.73733490871,0.737399670697,0.737464425906,0.737529174337,0.737593915988,0.737658650859,0.73772337895,0.73778810026,0.737852814788,0.737917522535,0.737982223498,0.738046917678,0.738111605074,0.738176285686,0.738240959512,0.738305626552,0.738370286807,0.738434940274,0.738499586954,0.738564226845,0.738628859948,0.738693486262,0.738758105785,0.738822718519,0.738887324461,0.738951923611,0.739016515969,0.739081101534,0.739145680306,0.739210252284,0.739274817467,0.739339375854,0.739403927446,0.739468472242,0.73953301024,0.739597541441,0.739662065843,0.739726583447,0.739791094251,0.739855598256,0.73992009546,0.739984585862,0.740049069463,0.740113546261,0.740178016257,0.740242479449,0.740306935836,0.740371385419,0.740435828197,0.740500264169,0.740564693334,0.740629115692,0.740693531242,0.740757939984,0.740822341918,0.740886737041,0.740951125355,0.741015506858,0.74107988155,0.74114424943,0.741208610497,0.741272964751,0.741337312192,0.741401652819,0.741465986631,0.741530313627,0.741594633807,0.741658947171,0.741723253718,0.741787553447,0.741851846357,0.741916132449,0.741980411721,0.742044684173,0.742108949804,0.742173208614,0.742237460602,0.742301705767,0.74236594411,0.742430175629,0.742494400323,0.742558618193,0.742622829237,0.742687033455,0.742751230847,0.742815421411,0.742879605148,0.742943782056,0.743007952135,0.743072115385,0.743136271804,0.743200421393,0.74326456415,0.743328700076,0.743392829169,0.743456951429,0.743521066855,0.743585175447,0.743649277203,0.743713372125,0.74377746021,0.743841541459,0.743905615871,0.743969683445,0.74403374418,0.744097798076,0.744161845133,0.74422588535,0.744289918725,0.74435394526,0.744417964952,0.744481977802,0.744545983809,0.744609982972,0.744673975291,0.744737960765,0.744801939394,0.744865911176,0.744929876112,0.744993834201,0.745057785441,0.745121729834,0.745185667377,0.745249598071,0.745313521914,0.745377438907,0.745441349049,0.745505252338,0.745569148775,0.745633038359,0.745696921089,0.745760796965,0.745824665986,0.745888528152,0.745952383461,0.746016231914,0.74608007351,0.746143908248,0.746207736127,0.746271557148,0.746335371309,0.74639917861,0.74646297905,0.746526772628,0.746590559345,0.746654339199,0.746718112191,0.746781878318,0.746845637581,0.74690938998,0.746973135513,0.74703687418,0.74710060598,0.747164330913,0.747228048979,0.747291760176,0.747355464504,0.747419161963,0.747482852551,0.747546536269,0.747610213115,0.74767388309,0.747737546192,0.747801202421,0.747864851777,0.747928494258,0.747992129864,0.748055758595,0.74811938045,0.748182995429,0.74824660353,0.748310204754,0.748373799099,0.748437386566,0.748500967153,0.74856454086,0.748628107686,0.748691667631,0.748755220695,0.748818766875,0.748882306173,0.748945838588,0.749009364118,0.749072882763,0.749136394523,0.749199899398,0.749263397385,0.749326888486,0.749390372699,0.749453850024,0.74951732046,0.749580784006,0.749644240663,0.749707690429,0.749771133304,0.749834569287,0.749897998378,0.749961420576,0.75002483588,0.750088244291,0.750151645806,0.750215040427,0.750278428151,0.75034180898,0.750405182911,0.750468549945,0.75053191008,0.750595263317,0.750658609655,0.750721949092,0.750785281629,0.750848607265,0.750911926,0.750975237832,0.751038542762,0.751101840788,0.75116513191,0.751228416127,0.75129169344,0.751354963846,0.751418227347,0.75148148394,0.751544733626,0.751607976404,0.751671212274,0.751734441234,0.751797663284,0.751860878424,0.751924086654,0.751987287971,0.752050482377,0.75211366987,0.752176850449,0.752240024115,0.752303190866,0.752366350702,0.752429503623,0.752492649627,0.752555788715,0.752618920886,0.752682046138,0.752745164472,0.752808275887,0.752871380382,0.752934477957,0.752997568612,0.753060652344,0.753123729155,0.753186799044,0.753249862009,0.75331291805,0.753375967167,0.75343900936,0.753502044627,0.753565072968,0.753628094382,0.753691108869,0.753754116428,0.753817117059,0.753880110761,0.753943097533,0.754006077376,0.754069050288,0.754132016268,0.754194975317,0.754257927433,0.754320872617,0.754383810866,0.754446742182,0.754509666563,0.754572584008,0.754635494518,0.754698398092,0.754761294728,0.754824184426,0.754887067187,0.754949943009,0.755012811891,0.755075673834,0.755138528836,0.755201376897,0.755264218016,0.755327052193,0.755389879427,0.755452699718,0.755515513065,0.755578319467,0.755641118924,0.755703911436,0.755766697001,0.75582947562,0.755892247291,0.755955012014,0.756017769788,0.756080520614,0.756143264489,0.756206001414,0.756268731389,0.756331454412,0.756394170483,0.756456879601,0.756519581766,0.756582276977,0.756644965234,0.756707646536,0.756770320883,0.756832988273,0.756895648707,0.756958302184,0.757020948703,0.757083588263,0.757146220865,0.757208846506,0.757271465188,0.75733407691,0.757396681669,0.757459279468,0.757521870303,0.757584454176,0.757647031085,0.75770960103,0.757772164011,0.757834720026,0.757897269075,0.757959811158,0.758022346273,0.758084874422,0.758147395602,0.758209909813,0.758272417055,0.758334917327,0.758397410629,0.75845989696,0.758522376319,0.758584848705,0.75864731412,0.75870977256,0.758772224027,0.75883466852,0.758897106037,0.758959536579,0.759021960145,0.759084376733,0.759146786345,0.759209188978,0.759271584633,0.759333973309,0.759396355006,0.759458729722,0.759521097457,0.759583458211,0.759645811984,0.759708158773,0.75977049858,0.759832831403,0.759895157241,0.759957476095,0.760019787964,0.760082092846,0.760144390742,0.760206681651,0.760268965573,0.760331242506,0.76039351245,0.760455775405,0.76051803137,0.760580280344,0.760642522328,0.760704757319,0.760766985319,0.760829206325,0.760891420339,0.760953627358,0.761015827383,0.761078020412,0.761140206446,0.761202385484,0.761264557525,0.761326722569,0.761388880615,0.761451031662,0.76151317571,0.761575312758,0.761637442806,0.761699565854,0.761761681899,0.761823790943,0.761885892985,0.761947988023,0.762010076058,0.762072157089,0.762134231114,0.762196298135,0.762258358149,0.762320411157,0.762382457158,0.762444496151,0.762506528136,0.762568553112,0.762630571078,0.762692582035,0.762754585981,0.762816582917,0.76287857284,0.762940555752,0.76300253165,0.763064500535,0.763126462407,0.763188417263,0.763250365105,0.763312305931,0.763374239741,0.763436166534,0.76349808631,0.763559999068,0.763621904807,0.763683803528,0.763745695228,0.763807579909,0.763869457569,0.763931328207,0.763993191824,0.764055048418,0.764116897989,0.764178740536,0.764240576059,0.764302404558,0.764364226031,0.764426040479,0.7644878479,0.764549648293,0.76461144166,0.764673227998,0.764735007308,0.764796779588,0.764858544838,0.764920303058,0.764982054247,0.765043798405,0.76510553553,0.765167265622,0.765228988682,0.765290704707,0.765352413699,0.765414115655,0.765475810575,0.76553749846,0.765599179308,0.765660853119,0.765722519892,0.765784179626,0.765845832322,0.765907477978,0.765969116594,0.76603074817,0.766092372704,0.766153990196,0.766215600647,0.766277204054,0.766338800418,0.766400389738,0.766461972013,0.766523547243,0.766585115427,0.766646676565,0.766708230657,0.7667697777,0.766831317696,0.766892850643,0.766954376542,0.76701589539,0.767077407188,0.767138911936,0.767200409632,0.767261900276,0.767323383868,0.767384860406,0.767446329891,0.767507792322,0.767569247698,0.767630696018,0.767692137283,0.767753571491,0.767814998642,0.767876418736,0.767937831772,0.767999237748,0.768060636666,0.768122028523,0.768183413321,0.768244791057,0.768306161731,0.768367525344,0.768428881894,0.768490231381,0.768551573804,0.768612909162,0.768674237456,0.768735558684,0.768796872846,0.768858179941,0.76891947997,0.76898077293,0.769042058822,0.769103337646,0.769164609399,0.769225874083,0.769287131697,0.769348382239,0.76940962571,0.769470862108,0.769532091433,0.769593313685,0.769654528864,0.769715736967,0.769776937996,0.769838131949,0.769899318826,0.769960498626,0.770021671348,0.770082836993,0.77014399556,0.770205147047,0.770266291455,0.770327428783,0.77038855903,0.770449682196,0.77051079828,0.770571907281,0.7706330092,0.770694104035,0.770755191786,0.770816272453,0.770877346034,0.77093841253,0.770999471939,0.771060524262,0.771121569497,0.771182607644,0.771243638702,0.771304662672,0.771365679552,0.771426689341,0.77148769204,0.771548687647,0.771609676163,0.771670657586,0.771731631916,0.771792599152,0.771853559294,0.771914512342,0.771975458294,0.77203639715,0.77209732891,0.772158253573,0.772219171139,0.772280081606,0.772340984975,0.772401881245,0.772462770415,0.772523652484,0.772584527453,0.77264539532,0.772706256086,0.772767109748,0.772827956308,0.772888795764,0.772949628116,0.773010453363,0.773071271504,0.77313208254,0.773192886469,0.773253683291,0.773314473006,0.773375255613,0.77343603111,0.773496799499,0.773557560778,0.773618314946,0.773679062003,0.773739801949,0.773800534783,0.773861260504,0.773921979112,0.773982690607,0.774043394987,0.774104092252,0.774164782402,0.774225465436,0.774286141353,0.774346810154,0.774407471836,0.774468126401,0.774528773846,0.774589414173,0.774650047379,0.774710673466,0.774771292431,0.774831904274,0.774892508996,0.774953106595,0.775013697071,0.775074280423,0.77513485665,0.775195425753,0.77525598773,0.775316542582,0.775377090306,0.775437630904,0.775498164374,0.775558690716,0.775619209929,0.775679722013,0.775740226967,0.77580072479,0.775861215483,0.775921699043,0.775982175472,0.776042644768,0.776103106931,0.77616356196,0.776224009855,0.776284450615,0.776344884239,0.776405310728,0.77646573008,0.776526142295,0.776586547372,0.776646945311,0.776707336111,0.776767719772,0.776828096293,0.776888465673,0.776948827913,0.777009183011,0.777069530967,0.77712987178,0.77719020545,0.777250531976,0.777310851358,0.777371163595,0.777431468687,0.777491766632,0.777552057431,0.777612341083,0.777672617588,0.777732886944,0.777793149151,0.777853404209,0.777913652118,0.777973892876,0.778034126482,0.778094352938,0.778154572241,0.778214784392,0.778274989389,0.778335187233,0.778395377922,0.778455561457,0.778515737836,0.778575907059,0.778636069126,0.778696224036,0.778756371788,0.778816512381,0.778876645817,0.778936772093,0.778996891209,0.779057003164,0.779117107959,0.779177205593,0.779237296064,0.779297379373,0.779357455518,0.7794175245,0.779477586318,0.779537640971,0.779597688458,0.77965772878,0.779717761935,0.779777787923,0.779837806744,0.779897818396,0.77995782288,0.780017820195,0.78007781034,0.780137793314,0.780197769118,0.78025773775,0.780317699211,0.780377653499,0.780437600613,0.780497540555,0.780557473322,0.780617398914,0.780677317331,0.780737228572,0.780797132637,0.780857029525,0.780916919235,0.780976801768,0.781036677122,0.781096545296,0.781156406291,0.781216260106,0.78127610674,0.781335946193,0.781395778464,0.781455603552,0.781515421458,0.78157523218,0.781635035718,0.781694832071,0.781754621239,0.781814403222,0.781874178018,0.781933945627,0.781993706049,0.782053459283,0.782113205328,0.782172944185,0.782232675852,0.782292400329,0.782352117615,0.78241182771,0.782471530613,0.782531226324,0.782590914842,0.782650596167,0.782710270297,0.782769937233,0.782829596975,0.78288924952,0.782948894869,0.783008533022,0.783068163977,0.783127787735,0.783187404294,0.783247013655,0.783306615816,0.783366210777,0.783425798537,0.783485379096,0.783544952454,0.78360451861,0.783664077562,0.783723629312,0.783783173858,0.783842711199,0.783902241336,0.783961764266,0.784021279991,0.78408078851,0.784140289821,0.784199783925,0.78425927082,0.784318750507,0.784378222984,0.784437688252,0.784497146309,0.784556597156,0.78461604079,0.784675477213,0.784734906423,0.78479432842,0.784853743204,0.784913150773,0.784972551128,0.785031944267,0.78509133019,0.785150708897,0.785210080387,0.78526944466,0.785328801714,0.78538815155,0.785447494167,0.785506829564,0.785566157741,0.785625478697,0.785684792432,0.785744098945,0.785803398236,0.785862690303,0.785921975148,0.785981252768,0.786040523163,0.786099786334,0.786159042279,0.786218290997,0.786277532489,0.786336766754,0.786395993791,0.786455213599,0.786514426179,0.786573631529,0.786632829648,0.786692020538,0.786751204196,0.786810380623,0.786869549817,0.786928711779,0.786987866507,0.787047014002,0.787106154262,0.787165287288,0.787224413078,0.787283531631,0.787342642949,0.787401747029,0.787460843872,0.787519933476,0.787579015842,0.787638090968,0.787697158855,0.787756219501,0.787815272907,0.787874319071,0.787933357993,0.787992389673,0.788051414109,0.788110431302,0.788169441251,0.788228443955,0.788287439414,0.788346427627,0.788405408593,0.788464382313,0.788523348786,0.78858230801,0.788641259986,0.788700204714,0.788759142191,0.788818072418,0.788876995395,0.788935911121,0.788994819595,0.789053720816,0.789112614785,0.7891715015,0.789230380962,0.789289253169,0.789348118121,0.789406975818,0.789465826258,0.789524669442,0.789583505369,0.789642334038,0.789701155449,0.789759969601,0.789818776494,0.789877576127,0.789936368499,0.789995153611,0.790053931461,0.790112702049,0.790171465375,0.790230221437,0.790288970236,0.790347711771,0.790406446041,0.790465173046,0.790523892785,0.790582605257,0.790641310463,0.790700008402,0.790758699072,0.790817382474,0.790876058607,0.790934727471,0.790993389064,0.791052043386,0.791110690438,0.791169330218,0.791227962725,0.79128658796,0.791345205921,0.791403816609,0.791462420022,0.79152101616,0.791579605023,0.791638186609,0.791696760919,0.791755327952,0.791813887707,0.791872440184,0.791930985383,0.791989523302,0.792048053941,0.7921065773,0.792165093378,0.792223602175,0.79228210369,0.792340597922,0.792399084871,0.792457564537,0.792516036918,0.792574502015,0.792632959827,0.792691410353,0.792749853593,0.792808289546,0.792866718212,0.79292513959,0.792983553679,0.793041960479,0.79310035999,0.793158752211,0.793217137142,0.793275514781,0.793333885129,0.793392248185,0.793450603948,0.793508952417,0.793567293593,0.793625627475,0.793683954062,0.793742273353,0.793800585349,0.793858890048,0.79391718745,0.793975477554,0.794033760361,0.794092035869,0.794150304078,0.794208564987,0.794266818596,0.794325064904,0.794383303911,0.794441535616,0.794499760019,0.794557977119,0.794616186915,0.794674389408,0.794732584596,0.794790772479,0.794848953057,0.794907126328,0.794965292293,0.795023450951,0.795081602301,0.795139746343,0.795197883076,0.7952560125,0.795314134613,0.795372249417,0.79543035691,0.795488457091,0.79554654996,0.795604635517,0.795662713761,0.795720784691,0.795778848307,0.795836904609,0.795894953595,0.795952995266,0.79601102962,0.796069056658,0.796127076378,0.796185088781,0.796243093865,0.79630109163,0.796359082076,0.796417065202,0.796475041008,0.796533009492,0.796590970655,0.796648924495,0.796706871013,0.796764810208,0.79682274208,0.796880666627,0.796938583849,0.796996493746,0.797054396317,0.797112291562,0.79717017948,0.79722806007,0.797285933333,0.797343799267,0.797401657872,0.797459509147,0.797517353093,0.797575189708,0.797633018991,0.797690840943,0.797748655563,0.79780646285,0.797864262804,0.797922055424,0.79797984071,0.798037618661,0.798095389276,0.798153152556,0.798210908499,0.798268657105,0.798326398373,0.798384132304,0.798441858896,0.798499578149,0.798557290062,0.798614994635,0.798672691867,0.798730381758,0.798788064308,0.798845739515,0.798903407379,0.7989610679,0.799018721077,0.799076366909,0.799134005397,0.799191636539,0.799249260335,0.799306876785,0.799364485888,0.799422087643,0.79947968205,0.799537269108,0.799594848817,0.799652421176,0.799709986186,0.799767543844,0.799825094151,0.799882637106,0.799940172709,0.799997700959,0.800055221856,0.800112735399,0.800170241587,0.80022774042,0.800285231898,0.80034271602,0.800400192785,0.800457662193,0.800515124243,0.800572578935,0.800630026269,0.800687466243,0.800744898857,0.800802324112,0.800859742005,0.800917152537,0.800974555708,0.801031951515,0.80108933996,0.801146721042,0.80120409476,0.801261461113,0.801318820101,0.801376171723,0.80143351598,0.801490852869,0.801548182392,0.801605504547,0.801662819334,0.801720126752,0.801777426801,0.80183471948,0.801892004789,0.801949282727,0.802006553293,0.802063816488,0.802121072311,0.80217832076,0.802235561836,0.802292795538,0.802350021866,0.802407240818,0.802464452395,0.802521656596,0.80257885342,0.802636042867,0.802693224937,0.802750399628,0.802807566941,0.802864726874,0.802921879428,0.802979024601,0.803036162393,0.803093292804,0.803150415834,0.803207531481,0.803264639745,0.803321740625,0.803378834122,0.803435920234,0.803492998961,0.803550070303,0.803607134258,0.803664190827,0.803721240009,0.803778281803,0.803835316209,0.803892343226,0.803949362854,0.804006375093,0.804063379941,0.804120377398,0.804177367464,0.804234350139,0.80429132542,0.804348293309,0.804405253805,0.804462206907,0.804519152614,0.804576090926,0.804633021843,0.804689945364,0.804746861488,0.804803770215,0.804860671545,0.804917565476,0.804974452009,0.805031331143,0.805088202877,0.805145067211,0.805201924144,0.805258773676,0.805315615806,0.805372450534,0.805429277859,0.80548609778,0.805542910298,0.805599715412,0.80565651312,0.805713303423,0.805770086321,0.805826861811,0.805883629895,0.805940390571,0.805997143839,0.806053889699,0.80611062815,0.806167359191,0.806224082821,0.806280799042,0.806337507851,0.806394209248,0.806450903233,0.806507589806,0.806564268965,0.80662094071,0.806677605041,0.806734261958,0.806790911459,0.806847553544,0.806904188213,0.806960815464,0.807017435299,0.807074047716,0.807130652714,0.807187250293,0.807243840452,0.807300423192,0.807356998511,0.807413566409,0.807470126886,0.80752667994,0.807583225572,0.80763976378,0.807696294565,0.807752817926,0.807809333862,0.807865842373,0.807922343458,0.807978837117,0.80803532335,0.808091802154,0.808148273531,0.80820473748,0.808261194,0.808317643091,0.808374084751,0.808430518982,0.808486945781,0.808543365149,0.808599777085,0.808656181588,0.808712578659,0.808768968296,0.808825350499,0.808881725267,0.8089380926,0.808994452498,0.80905080496,0.809107149985,0.809163487572,0.809219817723,0.809276140435,0.809332455708,0.809388763542,0.809445063937,0.809501356891,0.809557642404,0.809613920476,0.809670191106,0.809726454294,0.80978271004,0.809838958341,0.809895199199,0.809951432613,0.810007658582,0.810063877105,0.810120088182,0.810176291813,0.810232487997,0.810288676733,0.810344858022,0.810401031862,0.810457198253,0.810513357194,0.810569508685,0.810625652726,0.810681789315,0.810737918453,0.810794040139,0.810850154372,0.810906261152,0.810962360479,0.811018452351,0.811074536768,0.811130613731,0.811186683237,0.811242745287,0.811298799881,0.811354847017,0.811410886695,0.811466918916,0.811522943677,0.811578960979,0.811634970821,0.811690973202,0.811746968123,0.811802955583,0.81185893558,0.811914908115,0.811970873187,0.812026830796,0.81208278094,0.81213872362,0.812194658836,0.812250586585,0.812306506869,0.812362419686,0.812418325036,0.812474222918,0.812530113333,0.812585996278,0.812641871755,0.812697739762,0.812753600299,0.812809453365,0.81286529896,0.812921137083,0.812976967734,0.813032790913,0.813088606618,0.813144414849,0.813200215606,0.813256008889,0.813311794696,0.813367573027,0.813423343883,0.813479107261,0.813534863162,0.813590611585,0.81364635253,0.813702085995,0.813757811982,0.813813530489,0.813869241515,0.81392494506,0.813980641124,0.814036329706,0.814092010805,0.814147684422,0.814203350555,0.814259009204,0.814314660369,0.814370304048,0.814425940242,0.81448156895,0.814537190172,0.814592803906,0.814648410153,0.814704008912,0.814759600182,0.814815183964,0.814870760255,0.814926329057,0.814981890367,0.815037444187,0.815092990515,0.815148529351,0.815204060694,0.815259584544,0.8153151009,0.815370609762,0.81542611113,0.815481605002,0.815537091378,0.815592570259,0.815648041642,0.815703505528,0.815758961917,0.815814410807,0.815869852198,0.81592528609,0.815980712482,0.816036131374,0.816091542765,0.816146946655,0.816202343043,0.816257731928,0.816313113311,0.81636848719,0.816423853566,0.816479212437,0.816534563803,0.816589907664,0.816645244018,0.816700572867,0.816755894208,0.816811208042,0.816866514368,0.816921813186,0.816977104494,0.817032388294,0.817087664583,0.817142933361,0.817198194629,0.817253448385,0.817308694629,0.817363933361,0.817419164579,0.817474388284,0.817529604475,0.817584813152,0.817640014313,0.817695207959,0.817750394088,0.817805572701,0.817860743797,0.817915907376,0.817971063436,0.818026211978,0.818081353,0.818136486503,0.818191612486,0.818246730948,0.818301841889,0.818356945309,0.818412041206,0.81846712958,0.818522210432,0.818577283759,0.818632349563,0.818687407842,0.818742458595,0.818797501823,0.818852537525,0.8189075657,0.818962586347,0.819017599467,0.819072605059,0.819127603122,0.819182593656,0.81923757666,0.819292552134,0.819347520077,0.819402480489,0.819457433369,0.819512378716,0.819567316531,0.819622246813,0.819677169561,0.819732084774,0.819786992453,0.819841892596,0.819896785204,0.819951670275,0.82000654781,0.820061417807,0.820116280266,0.820171135187,0.820225982569,0.820280822412,0.820335654715,0.820390479478,0.8204452967,0.82050010638,0.820554908519,0.820609703115,0.820664490168,0.820719269678,0.820774041644,0.820828806066,0.820883562943,0.820938312274,0.82099305406,0.821047788299,0.821102514991,0.821157234136,0.821211945733,0.821266649781,0.821321346281,0.821376035231,0.821430716632,0.821485390482,0.821540056781,0.821594715528,0.821649366724,0.821704010367,0.821758646457,0.821813274994,0.821867895977,0.821922509406,0.821977115279,0.822031713597,0.82208630436,0.822140887565,0.822195463214,0.822250031306,0.822304591839,0.822359144814,0.82241369023,0.822468228087,0.822522758383,0.822577281119,0.822631796295,0.822686303908,0.82274080396,0.822795296449,0.822849781376,0.822904258739,0.822958728538,0.823013190772,0.823067645442,0.823122092546,0.823176532084,0.823230964056,0.82328538846,0.823339805298,0.823394214567,0.823448616268,0.8235030104,0.823557396962,0.823611775954,0.823666147376,0.823720511227,0.823774867507,0.823829216215,0.82388355735,0.823937890912,0.8239922169,0.824046535315,0.824100846156,0.824155149421,0.824209445111,0.824263733225,0.824318013762,0.824372286723,0.824426552106,0.824480809911,0.824535060137,0.824589302785,0.824643537853,0.824697765342,0.824751985249,0.824806197576,0.824860402322,0.824914599485,0.824968789066,0.825022971065,0.825077145479,0.82513131231,0.825185471556,0.825239623218,0.825293767294,0.825347903784,0.825402032688,0.825456154004,0.825510267734,0.825564373875,0.825618472428,0.825672563392,0.825726646767,0.825780722552,0.825834790746,0.82588885135,0.825942904362,0.825996949782,0.82605098761,0.826105017845,0.826159040486,0.826213055534,0.826267062987,0.826321062846,0.826375055109,0.826429039776,0.826483016847,0.826536986321,0.826590948197,0.826644902476,0.826698849157,0.826752788238,0.826806719721,0.826860643603,0.826914559885,0.826968468567,0.827022369647,0.827076263125,0.827130149001,0.827184027274,0.827237897943,0.827291761009,0.827345616471,0.827399464328,0.82745330458,0.827507137226,0.827560962265,0.827614779698,0.827668589524,0.827722391741,0.827776186351,0.827829973352,0.827883752743,0.827937524525,0.827991288697,0.828045045258,0.828098794207,0.828152535545,0.828206269271,0.828259995384,0.828313713884,0.828367424771,0.828421128043,0.8284748237,0.828528511742,0.828582192169,0.828635864979,0.828689530173,0.82874318775,0.828796837709,0.82885048005,0.828904114772,0.828957741875,0.829011361359,0.829064973222,0.829118577465,0.829172174087,0.829225763087,0.829279344465,0.829332918221,0.829386484353,0.829440042862,0.829493593747,0.829547137008,0.829600672643,0.829654200653,0.829707721037,0.829761233795,0.829814738925,0.829868236428,0.829921726303,0.829975208549,0.830028683167,0.830082150155,0.830135609513,0.830189061241,0.830242505338,0.830295941803,0.830349370637,0.830402791838,0.830456205406,0.830509611341,0.830563009642,0.830616400309,0.830669783341,0.830723158737,0.830776526498,0.830829886622,0.83088323911,0.83093658396,0.830989921172,0.831043250746,0.831096572682,0.831149886978,0.831203193634,0.83125649265,0.831309784026,0.83136306776,0.831416343852,0.831469612303,0.83152287311,0.831576126274,0.831629371795,0.831682609672,0.831735839904,0.83178906249,0.831842277432,0.831895484727,0.831948684375,0.832001876376,0.83205506073,0.832108237436,0.832161406493,0.832214567901,0.832267721659,0.832320867768,0.832374006226,0.832427137033,0.832480260188,0.832533375692,0.832586483543,0.832639583741,0.832692676286,0.832745761176,0.832798838413,0.832851907994,0.83290496992,0.83295802419,0.833011070804,0.833064109761,0.83311714106,0.833170164702,0.833223180685,0.83327618901,0.833329189675,0.833382182681,0.833435168026,0.83348814571,0.833541115733,0.833594078095,0.833647032794,0.833699979831,0.833752919204,0.833805850914,0.833858774959,0.83391169134,0.833964600056,0.834017501106,0.83407039449,0.834123280207,0.834176158258,0.83422902864,0.834281891355,0.834334746401,0.834387593778,0.834440433486,0.834493265524,0.834546089891,0.834598906587,0.834651715612,0.834704516965,0.834757310645,0.834810096652,0.834862874986,0.834915645647,0.834968408632,0.835021163943,0.835073911579,0.835126651539,0.835179383822,0.835232108429,0.835284825358,0.83533753461,0.835390236183,0.835442930078,0.835495616294,0.835548294829,0.835600965685,0.83565362886,0.835706284354,0.835758932166,0.835811572296,0.835864204743,0.835916829508,0.835969446589,0.836022055985,0.836074657698,0.836127251725,0.836179838066,0.836232416722,0.836284987691,0.836337550974,0.836390106568,0.836442654475,0.836495194694,0.836547727224,0.836600252064,0.836652769214,0.836705278674,0.836757780444,0.836810274522,0.836862760908,0.836915239602,0.836967710603,0.837020173911,0.837072629525,0.837125077445,0.837177517671,0.837229950201,0.837282375035,0.837334792174,0.837387201616,0.83743960336,0.837491997408,0.837544383757,0.837596762407,0.837649133359,0.837701496611,0.837753852163,0.837806200015,0.837858540166,0.837910872615,0.837963197363,0.838015514408,0.83806782375,0.838120125389,0.838172419324,0.838224705555,0.838276984081,0.838329254902,0.838381518017,0.838433773425,0.838486021127,0.838538261122,0.838590493409,0.838642717989,0.838694934859,0.83874714402,0.838799345472,0.838851539214,0.838903725245,0.838955903565,0.839008074174,0.83906023707,0.839112392254,0.839164539726,0.839216679484,0.839268811527,0.839320935857,0.839373052472,0.839425161371,0.839477262555,0.839529356022,0.839581441772,0.839633519805,0.839685590121,0.839737652718,0.839789707597,0.839841754756,0.839893794196,0.839945825916,0.839997849915,0.840049866193,0.840101874749,0.840153875583,0.840205868695,0.840257854084,0.84030983175,0.840361801691,0.840413763908,0.8404657184,0.840517665167,0.840569604208,0.840621535522,0.84067345911,0.84072537497,0.840777283103,0.840829183508,0.840881076183,0.84093296113,0.840984838347,0.841036707833,0.841088569589,0.841140423614,0.841192269908,0.841244108469,0.841295939298,0.841347762394,0.841399577756,0.841451385384,0.841503185278,0.841554977437,0.84160676186,0.841658538548,0.841710307499,0.841762068714,0.841813822191,0.841865567931,0.841917305932,0.841969036194,0.842020758718,0.842072473501,0.842124180545,0.842175879848,0.842227571409,0.842279255229,0.842330931308,0.842382599643,0.842434260236,0.842485913085,0.84253755819,0.842589195551,0.842640825167,0.842692447037,0.842744061162,0.84279566754,0.842847266172,0.842898857056,0.842950440192,0.84300201558,0.84305358322,0.84310514311,0.843156695251,0.843208239642,0.843259776282,0.843311305171,0.843362826308,0.843414339694,0.843465845327,0.843517343207,0.843568833333,0.843620315706,0.843671790324,0.843723257188,0.843774716296,0.843826167648,0.843877611244,0.843929047084,0.843980475166,0.84403189549,0.844083308056,0.844134712864,0.844186109912,0.844237499201,0.84428888073,0.844340254499,0.844391620506,0.844442978752,0.844494329236,0.844545671957,0.844597006916,0.844648334111,0.844699653543,0.84475096521,0.844802269113,0.84485356525,0.844904853621,0.844956134226,0.845007407065,0.845058672137,0.845109929441,0.845161178976,0.845212420744,0.845263654742,0.845314880971,0.84536609943,0.845417310118,0.845468513036,0.845519708182,0.845570895556,0.845622075158,0.845673246987,0.845724411043,0.845775567326,0.845826715834,0.845877856567,0.845928989525,0.845980114708,0.846031232115,0.846082341745,0.846133443598,0.846184537674,0.846235623971,0.846286702491,0.846337773231,0.846388836192,0.846439891373,0.846490938774,0.846541978394,0.846593010233,0.84664403429,0.846695050565,0.846746059058,0.846797059767,0.846848052693,0.846899037834,0.846950015192,0.847000984764,0.84705194655,0.847102900551,0.847153846766,0.847204785193,0.847255715833,0.847306638686,0.84735755375,0.847408461025,0.847459360512,0.847510252208,0.847561136115,0.847612012231,0.847662880555,0.847713741089,0.84776459383,0.847815438779,0.847866275935,0.847917105297,0.847967926866,0.84801874064,0.848069546619,0.848120344803,0.848171135192,0.848221917784,0.848272692579,0.848323459578,0.848374218779,0.848424970181,0.848475713785,0.848526449591,0.848577177596,0.848627897802,0.848678610207,0.848729314812,0.848780011615,0.848830700616,0.848881381815,0.848932055212,0.848982720805,0.849033378594,0.84908402858,0.84913467076,0.849185305136,0.849235931706,0.84928655047,0.849337161428,0.849387764579,0.849438359922,0.849488947457,0.849539527185,0.849590099103,0.849640663212,0.849691219512,0.849741768001,0.849792308679,0.849842841547,0.849893366603,0.849943883847,0.849994393278,0.850044894897,0.850095388702,0.850145874693,0.850196352869,0.850246823231,0.850297285778,0.850347740509,0.850398187424,0.850448626522,0.850499057802,0.850549481266,0.850599896911,0.850650304737,0.850700704745,0.850751096933,0.850801481302,0.850851857849,0.850902226576,0.850952587482,0.851002940566,0.851053285828,0.851103623267,0.851153952883,0.851204274675,0.851254588643,0.851304894787,0.851355193105,0.851405483598,0.851455766266,0.851506041106,0.85155630812,0.851606567307,0.851656818666,0.851707062196,0.851757297898,0.851807525771,0.851857745814,0.851907958027,0.851958162409,0.85200835896,0.85205854768,0.852108728568,0.852158901624,0.852209066847,0.852259224236,0.852309373792,0.852359515513,0.8524096494,0.852459775451,0.852509893667,0.852560004047,0.85261010659,0.852660201296,0.852710288165,0.852760367196,0.852810438388,0.852860501742,0.852910557256,0.85296060493,0.853010644765,0.853060676758,0.853110700911,0.853160717221,0.85321072569,0.853260726316,0.8533107191,0.853360704039,0.853410681135,0.853460650387,0.853510611793,0.853560565355,0.85361051107,0.85366044894,0.853710378962,0.853760301138,0.853810215466,0.853860121946,0.853910020578,0.85395991136,0.854009794293,0.854059669377,0.85410953661,0.854159395992,0.854209247523,0.854259091202,0.854308927029,0.854358755003,0.854408575125,0.854458387392,0.854508191806,0.854557988365,0.85460777707,0.854657557919,0.854707330912,0.854757096049,0.854806853329,0.854856602752,0.854906344317,0.854956078025,0.855005803873,0.855055521863,0.855105231993,0.855154934263,0.855204628673,0.855254315222,0.855303993909,0.855353664735,0.855403327699,0.8554529828,0.855502630037,0.855552269412,0.855601900922,0.855651524567,0.855701140348,0.855750748263,0.855800348313,0.855849940496,0.855899524812,0.855949101261,0.855998669842,0.856048230555,0.8560977834,0.856147328375,0.856196865481,0.856246394717,0.856295916083,0.856345429577,0.8563949352,0.856444432952,0.856493922831,0.856543404838,0.856592878971,0.856642345231,0.856691803616,0.856741254128,0.856790696764,0.856840131525,0.856889558409,0.856938977418,0.85698838855,0.857037791804,0.857087187181,0.857136574679,0.857185954299,0.85723532604,0.857284689901,0.857334045883,0.857383393984,0.857432734204,0.857482066543,0.857531390999,0.857580707574,0.857630016266,0.857679317075,0.85772861,0.857777895041,0.857827172198,0.85787644147,0.857925702856,0.857974956357,0.858024201971,0.858073439698,0.858122669538,0.858171891491,0.858221105555,0.858270311731,0.858319510017,0.858368700414,0.858417882922,0.858467057538,0.858516224264,0.858565383099,0.858614534042,0.858663677093,0.858712812251,0.858761939516,0.858811058887,0.858860170365,0.858909273948,0.858958369636,0.859007457429,0.859056537325,0.859105609326,0.85915467343,0.859203729637,0.859252777946,0.859301818357,0.85935085087,0.859399875483,0.859448892197,0.859497901012,0.859546901926,0.859595894939,0.859644880051,0.859693857261,0.859742826569,0.859791787975,0.859840741477,0.859889687077,0.859938624772,0.859987554563,0.860036476449,0.860085390429,0.860134296504,0.860183194673,0.860232084935,0.860280967291,0.860329841738,0.860378708278,0.860427566909,0.860476417632,0.860525260445,0.860574095348,0.860622922341,0.860671741424,0.860720552595,0.860769355855,0.860818151202,0.860866938638,0.86091571816,0.860964489769,0.861013253464,0.861062009245,0.861110757112,0.861159497063,0.861208229099,0.861256953218,0.861305669421,0.861354377707,0.861403078076,0.861451770527,0.861500455059,0.861549131673,0.861597800368,0.861646461143,0.861695113998,0.861743758933,0.861792395946,0.861841025038,0.861889646209,0.861938259456,0.861986864782,0.862035462184,0.862084051662,0.862132633216,0.862181206846,0.862229772551,0.86227833033,0.862326880184,0.862375422111,0.862423956111,0.862472482184,0.86252100033,0.862569510547,0.862618012836,0.862666507196,0.862714993626,0.862763472126,0.862811942697,0.862860405336,0.862908860044,0.862957306821,0.863005745665,0.863054176577,0.863102599555,0.863151014601,0.863199421712,0.863247820889,0.863296212131,0.863344595439,0.86339297081,0.863441338245,0.863489697744,0.863538049305,0.86358639293,0.863634728616,0.863683056364,0.863731376173,0.863779688043,0.863827991973,0.863876287963,0.863924576013,0.863972856122,0.864021128289,0.864069392514,0.864117648797,0.864165897137,0.864214137534,0.864262369987,0.864310594496,0.864358811061,0.86440701968,0.864455220354,0.864503413082,0.864551597864,0.864599774699,0.864647943587,0.864696104527,0.864744257519,0.864792402563,0.864840539658,0.864888668803,0.864936789998,0.864984903243,0.865033008537,0.86508110588,0.865129195272,0.865177276711,0.865225350198,0.865273415731,0.865321473312,0.865369522938,0.865417564611,0.865465598328,0.865513624091,0.865561641897,0.865609651748,0.865657653642,0.865705647579,0.865753633559,0.865801611581,0.865849581645,0.86589754375,0.865945497896,0.865993444082,0.866041382309,0.866089312575,0.86613723488,0.866185149223,0.866233055605,0.866280954025,0.866328844481,0.866376726975,0.866424601505,0.866472468072,0.866520326674,0.866568177311,0.866616019982,0.866663854688,0.866711681428,0.866759500201,0.866807311007,0.866855113845,0.866902908716,0.866950695618,0.866998474552,0.867046245516,0.86709400851,0.867141763534,0.867189510588,0.867237249671,0.867284980782,0.867332703921,0.867380419088,0.867428126282,0.867475825503,0.867523516751,0.867571200024,0.867618875323,0.867666542646,0.867714201995,0.867761853367,0.867809496763,0.867857132183,0.867904759625,0.86795237909,0.867999990577,0.868047594085,0.868095189614,0.868142777164,0.868190356734,0.868237928324,0.868285491934,0.868333047562,0.868380595209,0.868428134873,0.868475666556,0.868523190255,0.868570705971,0.868618213704,0.868665713452,0.868713205216,0.868760688995,0.868808164788,0.868855632595,0.868903092416,0.868950544251,0.868997988098,0.869045423957,0.869092851828,0.869140271711,0.869187683605,0.86923508751,0.869282483424,0.869329871349,0.869377251282,0.869424623225,0.869471987176,0.869519343135,0.869566691101,0.869614031075,0.869661363056,0.869708687042,0.869756003035,0.869803311033,0.869850611035,0.869897903043,0.869945187054,0.869992463069,0.870039731088,0.870086991109,0.870134243132,0.870181487157,0.870228723184,0.870275951212,0.870323171241,0.870370383269,0.870417587298,0.870464783325,0.870511971352,0.870559151377,0.8706063234,0.870653487421,0.870700643438,0.870747791453,0.870794931464,0.87084206347,0.870889187472,0.870936303469,0.87098341146,0.871030511446,0.871077603425,0.871124687398,0.871171763363,0.871218831321,0.87126589127,0.871312943212,0.871359987144,0.871407023067,0.87145405098,0.871501070883,0.871548082775,0.871595086656,0.871642082526,0.871689070383,0.871736050229,0.871783022061,0.87182998588,0.871876941686,0.871923889477,0.871970829254,0.872017761016,0.872064684763,0.872111600493,0.872158508208,0.872205407906,0.872252299586,0.872299183249,0.872346058894,0.872392926521,0.872439786129,0.872486637717,0.872533481286,0.872580316835,0.872627144363,0.87267396387,0.872720775356,0.87276757882,0.872814374261,0.87286116168,0.872907941076,0.872954712448,0.873001475796,0.87304823112,0.873094978418,0.873141717692,0.873188448939,0.873235172161,0.873281887356,0.873328594524,0.873375293664,0.873421984777,0.873468667861,0.873515342917,0.873562009943,0.87360866894,0.873655319907,0.873701962843,0.873748597749,0.873795224623,0.873841843465,0.873888454276,0.873935057053,0.873981651798,0.874028238509,0.874074817186,0.874121387829,0.874167950438,0.874214505011,0.874261051548,0.87430759005,0.874354120515,0.874400642943,0.874447157334,0.874493663687,0.874540162002,0.874586652278,0.874633134516,0.874679608713,0.874726074872,0.874772532989,0.874818983066,0.874865425102,0.874911859097,0.874958285049,0.875004702959,0.875051112826,0.87509751465,0.87514390843,0.875190294165,0.875236671857,0.875283041503,0.875329403104,0.875375756659,0.875422102168,0.87546843963,0.875514769045,0.875561090413,0.875607403732,0.875653709003,0.875700006226,0.875746295399,0.875792576522,0.875838849595,0.875885114618,0.87593137159,0.87597762051,0.876023861379,0.876070094195,0.876116318959,0.87616253567,0.876208744327,0.87625494493,0.876301137479,0.876347321973,0.876393498412,0.876439666796,0.876485827123,0.876531979394,0.876578123608,0.876624259764,0.876670387863,0.876716507904,0.876762619886,0.876808723809,0.876854819673,0.876900907477,0.87694698722,0.876993058903,0.877039122525,0.877085178085,0.877131225583,0.877177265019,0.877223296392,0.877269319701,0.877315334947,0.877361342129,0.877407341246,0.877453332299,0.877499315286,0.877545290207,0.877591257062,0.877637215851,0.877683166572,0.877729109226,0.877775043812,0.87782097033,0.877866888779,0.877912799159,0.877958701469,0.878004595709,0.878050481879,0.878096359978,0.878142230005,0.878188091961,0.878233945845,0.878279791657,0.878325629395,0.87837145906,0.878417280651,0.878463094168,0.87850889961,0.878554696977,0.878600486269,0.878646267485,0.878692040625,0.878737805687,0.878783562673,0.878829311581,0.878875052411,0.878920785162,0.878966509835,0.879012226429,0.879057934942,0.879103635376,0.879149327729,0.879195012001,0.879240688192,0.879286356301,0.879332016328,0.879377668272,0.879423312133,0.879468947911,0.879514575604,0.879560195214,0.879605806739,0.879651410178,0.879697005532,0.8797425928,0.879788171982,0.879833743076,0.879879306084,0.879924861004,0.879970407836,0.880015946579,0.880061477233,0.880106999798,0.880152514274,0.880198020659,0.880243518953,0.880289009157,0.880334491269,0.880379965289,0.880425431217,0.880470889052,0.880516338794,0.880561780443,0.880607213998,0.880652639458,0.880698056824,0.880743466094,0.880788867269,0.880834260348,0.88087964533,0.880925022216,0.880970391004,0.881015751694,0.881061104287,0.881106448781,0.881151785176,0.881197113471,0.881242433667,0.881287745763,0.881333049758,0.881378345652,0.881423633444,0.881468913135,0.881514184723,0.881559448209,0.881604703592,0.881649950871,0.881695190046,0.881740421117,0.881785644083,0.881830858944,0.881876065699,0.881921264348,0.881966454891,0.882011637327,0.882056811656,0.882101977877,0.88214713599,0.882192285994,0.88223742789,0.882282561676,0.882327687352,0.882372804919,0.882417914374,0.882463015719,0.882508108952,0.882553194074,0.882598271083,0.88264333998,0.882688400763,0.882733453433,0.882778497989,0.882823534431,0.882868562758,0.88291358297,0.882958595066,0.883003599047,0.883048594911,0.883093582658,0.883138562288,0.883183533801,0.883228497195,0.883273452471,0.883318399628,0.883363338666,0.883408269584,0.883453192382,0.883498107059,0.883543013616,0.883587912051,0.883632802365,0.883677684556,0.883722558625,0.883767424571,0.883812282393,0.883857132091,0.883901973666,0.883946807116,0.88399163244,0.884036449639,0.884081258713,0.88412605966,0.88417085248,0.884215637173,0.884260413739,0.884305182177,0.884349942486,0.884394694667,0.884439438718,0.88448417464,0.884528902432,0.884573622094,0.884618333624,0.884663037024,0.884707732292,0.884752419428,0.884797098431,0.884841769301,0.884886432039,0.884931086642,0.884975733112,0.885020371447,0.885065001647,0.885109623711,0.88515423764,0.885198843433,0.885243441089,0.885288030609,0.885332611991,0.885377185235,0.885421750341,0.885466307308,0.885510856136,0.885555396825,0.885599929374,0.885644453783,0.885688970051,0.885733478178,0.885777978164,0.885822470007,0.885866953709,0.885911429268,0.885955896683,0.886000355955,0.886044807084,0.886089250067,0.886133684907,0.8861781116,0.886222530149,0.886266940551,0.886311342807,0.886355736917,0.886400122879,0.886444500693,0.88648887036,0.886533231878,0.886577585247,0.886621930467,0.886666267537,0.886710596458,0.886754917228,0.886799229847,0.886843534314,0.88688783063,0.886932118794,0.886976398806,0.887020670664,0.88706493437,0.887109189921,0.887153437319,0.887197676562,0.88724190765,0.887286130582,0.887330345359,0.88737455198,0.887418750444,0.887462940752,0.887507122901,0.887551296894,0.887595462728,0.887639620403,0.887683769919,0.887727911276,0.887772044473,0.88781616951,0.887860286387,0.887904395102,0.887948495656,0.887992588048,0.888036672278,0.888080748345,0.888124816249,0.88816887599,0.888212927566,0.888256970979,0.888301006227,0.88834503331,0.888389052227,0.888433062978,0.888477065564,0.888521059982,0.888565046233,0.888609024317,0.888652994233,0.888696955981,0.88874090956,0.88878485497,0.88882879221,0.88887272128,0.88891664218,0.88896055491,0.889004459468,0.889048355855,0.889092244069,0.889136124112,0.889179995981,0.889223859678,0.889267715201,0.88931156255,0.889355401724,0.889399232724,0.889443055549,0.889486870198,0.889530676671,0.889574474968,0.889618265088,0.889662047031,0.889705820796,0.889749586383,0.889793343792,0.889837093022,0.889880834073,0.889924566944,0.889968291635,0.890012008146,0.890055716476,0.890099416625,0.890143108592,0.890186792378,0.890230467981,0.890274135401,0.890317794637,0.890361445691,0.89040508856,0.890448723245,0.890492349745,0.89053596806,0.890579578189,0.890623180132,0.890666773889,0.890710359459,0.890753936841,0.890797506036,0.890841067043,0.890884619862,0.890928164492,0.890971700932,0.891015229183,0.891058749244,0.891102261115,0.891145764795,0.891189260283,0.89123274758,0.891276226685,0.891319697597,0.891363160317,0.891406614843,0.891450061176,0.891493499315,0.891536929259,0.891580351009,0.891623764563,0.891667169922,0.891710567084,0.891753956051,0.89179733682,0.891840709392,0.891884073767,0.891927429944,0.891970777922,0.892014117701,0.892057449282,0.892100772662,0.892144087843,0.892187394823,0.892230693602,0.892273984181,0.892317266557,0.892360540732,0.892403806704,0.892447064474,0.89249031404,0.892533555403,0.892576788562,0.892620013516,0.892663230265,0.89270643881,0.892749639149,0.892792831282,0.892836015208,0.892879190928,0.892922358441,0.892965517746,0.893008668843,0.893051811732,0.893094946412,0.893138072883,0.893181191144,0.893224301196,0.893267403037,0.893310496667,0.893353582086,0.893396659294,0.89343972829,0.893482789074,0.893525841644,0.893568886002,0.893611922146,0.893654950077,0.893697969793,0.893740981294,0.893783984581,0.893826979651,0.893869966506,0.893912945145,0.893955915567,0.893998877772,0.89404183176,0.89408477753,0.894127715081,0.894170644414,0.894213565528,0.894256478422,0.894299383097,0.894342279551,0.894385167785,0.894428047798,0.894470919589,0.894513783159,0.894556638506,0.894599485631,0.894642324533,0.894685155212,0.894727977667,0.894770791897,0.894813597903,0.894856395685,0.89489918524,0.894941966571,0.894984739675,0.895027504552,0.895070261203,0.895113009626,0.895155749822,0.895198481789,0.895241205528,0.895283921039,0.89532662832,0.895369327371,0.895412018192,0.895454700783,0.895497375143,0.895540041272,0.895582699169,0.895625348834,0.895667990267,0.895710623467,0.895753248434,0.895795865167,0.895838473666,0.895881073931,0.895923665961,0.895966249756,0.896008825316,0.896051392639,0.896093951727,0.896136502577,0.896179045191,0.896221579567,0.896264105705,0.896306623604,0.896349133266,0.896391634688,0.89643412787,0.896476612813,0.896519089516,0.896561557978,0.896604018199,0.896646470179,0.896688913917,0.896731349412,0.896773776665,0.896816195676,0.896858606442,0.896901008965,0.896943403244,0.896985789279,0.897028167068,0.897070536613,0.897112897911,0.897155250964,0.89719759577,0.897239932329,0.897282260641,0.897324580705,0.897366892522,0.89740919609,0.897451491409,0.897493778479,0.897536057299,0.89757832787,0.89762059019,0.897662844259,0.897705090077,0.897747327644,0.897789556959,0.897831778021,0.897873990831,0.897916195388,0.897958391691,0.898000579741,0.898042759536,0.898084931077,0.898127094362,0.898169249393,0.898211396167,0.898253534685,0.898295664947,0.898337786952,0.898379900699,0.898422006189,0.898464103421,0.898506192394,0.898548273108,0.898590345563,0.898632409759,0.898674465694,0.898716513369,0.898758552783,0.898800583936,0.898842606827,0.898884621457,0.898926627824,0.898968625928,0.899010615769,0.899052597347,0.89909457066,0.89913653571,0.899178492495,0.899220441014,0.899262381269,0.899304313257,0.899346236979,0.899388152435,0.899430059624,0.899471958545,0.899513849198,0.899555731584,0.899597605701,0.899639471549,0.899681329127,0.899723178436,0.899765019475,0.899806852244,0.899848676742,0.899890492968,0.899932300923,0.899974100606,0.900015892016,0.900057675154,0.900099450019,0.90014121661,0.900182974927,0.90022472497,0.900266466738,0.900308200231,0.900349925449,0.900391642391,0.900433351056,0.900475051445,0.900516743558,0.900558427392,0.900600102949,0.900641770228,0.900683429229,0.90072507995,0.900766722392,0.900808356555,0.900849982438,0.90089160004,0.900933209361,0.900974810401,0.90101640316,0.901057987636,0.901099563831,0.901141131742,0.901182691371,0.901224242716,0.901265785777,0.901307320554,0.901348847046,0.901390365253,0.901431875175,0.901473376811,0.901514870161,0.901556355225,0.901597832001,0.90163930049,0.901680760692,0.901722212606,0.901763656231,0.901805091567,0.901846518614,0.901887937371,0.901929347839,0.901970750016,0.902012143902,0.902053529498,0.902094906802,0.902136275814,0.902177636533,0.902218988961,0.902260333095,0.902301668935,0.902342996482,0.902384315735,0.902425626694,0.902466929357,0.902508223725,0.902549509798,0.902590787574,0.902632057054,0.902673318237,0.902714571123,0.902755815712,0.902797052002,0.902838279995,0.902879499688,0.902920711082,0.902961914177,0.903003108973,0.903044295468,0.903085473662,0.903126643555,0.903167805147,0.903208958438,0.903250103426,0.903291240112,0.903332368495,0.903373488574,0.90341460035,0.903455703822,0.90349679899,0.903537885853,0.903578964411,0.903620034663,0.903661096609,0.903702150249,0.903743195583,0.903784232609,0.903825261328,0.90386628174,0.903907293843,0.903948297638,0.903989293123,0.9040302803,0.904071259167,0.904112229724,0.90415319197,0.904194145906,0.90423509153,0.904276028843,0.904316957844,0.904357878533,0.904398790909,0.904439694972,0.904480590721,0.904521478157,0.904562357279,0.904603228086,0.904644090578,0.904684944755,0.904725790616,0.904766628162,0.90480745739,0.904848278302,0.904889090897,0.904929895174,0.904970691134,0.905011478775,0.905052258097,0.9050930291,0.905133791784,0.905174546148,0.905215292192,0.905256029916,0.905296759318,0.905337480399,0.905378193159,0.905418897596,0.905459593711,0.905500281504,0.905540960973,0.905581632118,0.90562229494,0.905662949437,0.90570359561,0.905744233458,0.90578486298,0.905825484176,0.905866097047,0.90590670159,0.905947297807,0.905987885697,0.906028465259,0.906069036493,0.906109599398,0.906150153975,0.906190700223,0.906231238141,0.906271767729,0.906312288987,0.906352801915,0.906393306511,0.906433802776,0.906474290709,0.90651477031,0.906555241579,0.906595704515,0.906636159117,0.906676605386,0.906717043321,0.906757472922,0.906797894188,0.906838307119,0.906878711714,0.906919107974,0.906959495897,0.906999875484,0.907040246734,0.907080609646,0.907120964221,0.907161310458,0.907201648356,0.907241977915,0.907282299136,0.907322612016,0.907362916557,0.907403212758,0.907443500618,0.907483780137,0.907524051314,0.90756431415,0.907604568643,0.907644814795,0.907685052603,0.907725282068,0.907765503189,0.907805715966,0.907845920399,0.907886116488,0.907926304231,0.907966483629,0.90800665468,0.908046817386,0.908086971745,0.908127117757,0.908167255422,0.908207384739,0.908247505709,0.908287618329,0.908327722601,0.908367818524,0.908407906097,0.908447985321,0.908488056194,0.908528118716,0.908568172888,0.908608218708,0.908648256176,0.908688285293,0.908728306056,0.908768318467,0.908808322525,0.908848318229,0.90888830558,0.908928284576,0.908968255217,0.909008217503,0.909048171434,0.909088117009,0.909128054228,0.909167983091,0.909207903596,0.909247815744,0.909287719535,0.909327614968,0.909367502042,0.909407380758,0.909447251114,0.909487113112,0.909526966749,0.909566812026,0.909606648943,0.909646477498,0.909686297693,0.909726109525,0.909765912996,0.909805708105,0.90984549485,0.909885273233,0.909925043252,0.909964804907,0.910004558198,0.910044303125,0.910084039686,0.910123767883,0.910163487713,0.910203199178,0.910242902276,0.910282597007,0.910322283372,0.910361961368,0.910401630997,0.910441292258,0.91048094515,0.910520589673,0.910560225827,0.910599853612,0.910639473026,0.91067908407,0.910718686743,0.910758281044,0.910797866975,0.910837444533,0.91087701372,0.910916574533,0.910956126974,0.910995671042,0.911035206735,0.911074734055,0.911114253001,0.911153763571,0.911193265767,0.911232759586,0.911272245031,0.911311722098,0.91135119079,0.911390651104,0.911430103041,0.911469546601,0.911508981782,0.911548408585,0.911587827009,0.911627237054,0.91166663872,0.911706032005,0.911745416911,0.911784793436,0.91182416158,0.911863521343,0.911902872724,0.911942215723,0.91198155034,0.912020876574,0.912060194424,0.912099503892,0.912138804975,0.912178097675,0.91221738199,0.91225665792,0.912295925464,0.912335184623,0.912374435396,0.912413677783,0.912452911783,0.912492137396,0.912531354622,0.912570563459,0.912609763909,0.91264895597,0.912688139642,0.912727314925,0.912766481818,0.912805640322,0.912844790435,0.912883932157,0.912923065488,0.912962190428,0.913001306977,0.913040415133,0.913079514896,0.913118606267,0.913157689245,0.913196763829,0.913235830019,0.913274887815,0.913313937216,0.913352978222,0.913392010833,0.913431035049,0.913470050868,0.91350905829,0.913548057316,0.913587047945,0.913626030177,0.91366500401,0.913703969445,0.913742926482,0.91378187512,0.913820815358,0.913859747197,0.913898670636,0.913937585674,0.913976492312,0.914015390549,0.914054280384,0.914093161817,0.914132034849,0.914170899478,0.914209755704,0.914248603526,0.914287442945,0.914326273961,0.914365096571,0.914403910778,0.914442716579,0.914481513975,0.914520302965,0.914559083549,0.914597855727,0.914636619498,0.914675374862,0.914714121818,0.914752860366,0.914791590506,0.914830312238,0.914869025561,0.914907730474,0.914946426978,0.914985115072,0.915023794755,0.915062466028,0.915101128889,0.91513978334,0.915178429378,0.915217067005,0.915255696218,0.915294317019,0.915332929407,0.915371533382,0.915410128942,0.915448716088,0.91548729482,0.915525865136,0.915564427038,0.915602980523,0.915641525593,0.915680062246,0.915718590483,0.915757110302,0.915795621704,0.915834124688,0.915872619254,0.915911105402,0.91594958313,0.91598805244,0.916026513329,0.916064965799,0.916103409849,0.916141845478,0.916180272686,0.916218691473,0.916257101838,0.916295503781,0.916333897301,0.916372282399,0.916410659074,0.916449027325,0.916487387153,0.916525738556,0.916564081535,0.916602416089,0.916640742218,0.916679059921,0.916717369198,0.916755670049,0.916793962474,0.916832246471,0.916870522041,0.916908789184,0.916947047898,0.916985298184,0.917023540041,0.91706177347,0.917099998468,0.917138215037,0.917176423176,0.917214622885,0.917252814162,0.917290997008,0.917329171423,0.917367337406,0.917405494957,0.917443644075,0.91748178476,0.917519917012,0.91755804083,0.917596156214,0.917634263164,0.917672361679,0.917710451759,0.917748533404,0.917786606613,0.917824671385,0.917862727722,0.917900775621,0.917938815084,0.917976846109,0.918014868696,0.918052882845,0.918090888555,0.918128885827,0.918166874659,0.918204855051,0.918242827004,0.918280790517,0.918318745588,0.918356692219,0.918394630408,0.918432560156,0.918470481462,0.918508394325,0.918546298746,0.918584194723,0.918622082257,0.918659961348,0.918697831994,0.918735694196,0.918773547952,0.918811393264,0.91884923013,0.918887058551,0.918924878525,0.918962690052,0.919000493133,0.919038287766,0.919076073952,0.91911385169,0.91915162098,0.919189381821,0.919227134212,0.919264878155,0.919302613648,0.919340340691,0.919378059283,0.919415769425,0.919453471116,0.919491164355,0.919528849142,0.919566525478,0.919604193361,0.919641852791,0.919679503768,0.919717146291,0.919754780361,0.919792405976,0.919830023137,0.919867631843,0.919905232094,0.919942823889,0.919980407229,0.920017982112,0.920055548538,0.920093106508,0.92013065602,0.920168197074,0.920205729671,0.920243253809,0.920280769489,0.920318276709,0.92035577547,0.920393265772,0.920430747613,0.920468220994,0.920505685914,0.920543142373,0.920580590371,0.920618029907,0.920655460981,0.920692883592,0.920730297741,0.920767703426,0.920805100648,0.920842489406,0.9208798697,0.920917241529,0.920954604894,0.920991959793,0.921029306227,0.921066644194,0.921103973696,0.921141294731,0.921178607299,0.921215911399,0.921253207033,0.921290494198,0.921327772894,0.921365043123,0.921402304882,0.921439558172,0.921476802992,0.921514039342,0.921551267222,0.921588486631,0.921625697569,0.921662900036,0.921700094031,0.921737279554,0.921774456604,0.921811625182,0.921848785286,0.921885936918,0.921923080075,0.921960214758,0.921997340967,0.922034458701,0.92207156796,0.922108668743,0.922145761051,0.922182844882,0.922219920237,0.922256987115,0.922294045516,0.922331095439,0.922368136885,0.922405169852,0.922442194341,0.922479210351,0.922516217881,0.922553216932,0.922590207503,0.922627189594,0.922664163205,0.922701128334,0.922738084982,0.922775033148,0.922811972833,0.922848904035,0.922885826755,0.922922740991,0.922959646745,0.922996544014,0.9230334328,0.923070313101,0.923107184918,0.92314404825,0.923180903096,0.923217749457,0.923254587331,0.92329141672,0.923328237621,0.923365050036,0.923401853963,0.923438649402,0.923475436354,0.923512214817,0.923548984791,0.923585746276,0.923622499272,0.923659243778,0.923695979794,0.92373270732,0.923769426355,0.923806136898,0.923842838951,0.923879532511,0.92391621758,0.923952894156,0.923989562239,0.924026221829,0.924062872926,0.924099515529,0.924136149637,0.924172775252,0.924209392371,0.924246000996,0.924282601125,0.924319192758,0.924355775895,0.924392350535,0.924428916679,0.924465474325,0.924502023474,0.924538564125,0.924575096279,0.924611619933,0.924648135089,0.924684641745,0.924721139902,0.92475762956,0.924794110717,0.924830583373,0.924867047529,0.924903503183,0.924939950336,0.924976388987,0.925012819136,0.925049240783,0.925085653926,0.925122058567,0.925158454703,0.925194842336,0.925231221465,0.92526759209,0.925303954209,0.925340307823,0.925376652932,0.925412989535,0.925449317631,0.925485637221,0.925521948305,0.925558250881,0.925594544949,0.92563083051,0.925667107562,0.925703376106,0.925739636141,0.925775887667,0.925812130683,0.92584836519,0.925884591186,0.925920808672,0.925957017647,0.92599321811,0.926029410062,0.926065593503,0.926101768431,0.926137934846,0.926174092749,0.926210242138,0.926246383014,0.926282515376,0.926318639224,0.926354754558,0.926390861376,0.926426959679,0.926463049467,0.926499130739,0.926535203495,0.926571267734,0.926607323457,0.926643370662,0.92667940935,0.92671543952,0.926751461171,0.926787474305,0.926823478919,0.926859475014,0.92689546259,0.926931441646,0.926967412182,0.927003374197,0.927039327691,0.927075272665,0.927111209117,0.927147137047,0.927183056455,0.92721896734,0.927254869703,0.927290763542,0.927326648858,0.92736252565,0.927398393919,0.927434253662,0.927470104881,0.927505947575,0.927541781743,0.927577607386,0.927613424502,0.927649233093,0.927685033156,0.927720824692,0.927756607701,0.927792382182,0.927828148135,0.92786390556,0.927899654456,0.927935394823,0.92797112666,0.928006849968,0.928042564746,0.928078270993,0.92811396871,0.928149657895,0.92818533855,0.928221010672,0.928256674263,0.928292329321,0.928327975847,0.928363613839,0.928399243299,0.928434864224,0.928470476616,0.928506080473,0.928541675796,0.928577262584,0.928612840836,0.928648410553,0.928683971734,0.928719524379,0.928755068487,0.928790604058,0.928826131092,0.928861649588,0.928897159547,0.928932660967,0.928968153849,0.929003638192,0.929039113995,0.929074581259,0.929110039984,0.929145490168,0.929180931811,0.929216364914,0.929251789475,0.929287205496,0.929322612974,0.92935801191,0.929393402304,0.929428784155,0.929464157462,0.929499522227,0.929534878447,0.929570226124,0.929605565256,0.929640895843,0.929676217885,0.929711531382,0.929746836334,0.929782132739,0.929817420598,0.92985269991,0.929887970675,0.929923232893,0.929958486563,0.929993731685,0.930028968259,0.930064196284,0.93009941576,0.930134626687,0.930169829065,0.930205022892,0.930240208169,0.930275384896,0.930310553072,0.930345712696,0.93038086377,0.930416006291,0.93045114026,0.930486265676,0.93052138254,0.93055649085,0.930591590607,0.930626681811,0.93066176446,0.930696838554,0.930731904094,0.930766961079,0.930802009508,0.930837049382,0.9308720807,0.930907103461,0.930942117665,0.930977123313,0.931012120403,0.931047108936,0.93108208891,0.931117060326,0.931152023184,0.931186977483,0.931221923222,0.931256860402,0.931291789022,0.931326709081,0.93136162058,0.931396523518,0.931431417895,0.931466303711,0.931501180965,0.931536049656,0.931570909785,0.931605761351,0.931640604354,0.931675438794,0.93171026467,0.931745081982,0.931779890729,0.931814690912,0.931849482529,0.931884265582,0.931919040068,0.931953805989,0.931988563343,0.932023312131,0.932058052351,0.932092784005,0.932127507091,0.932162221609,0.932196927558,0.932231624939,0.932266313752,0.932300993995,0.932335665668,0.932370328772,0.932404983305,0.932439629268,0.932474266661,0.932508895482,0.932543515732,0.93257812741,0.932612730516,0.932647325049,0.93268191101,0.932716488398,0.932751057213,0.932785617454,0.932820169121,0.932854712213,0.932889246731,0.932923772674,0.932958290042,0.932992798835,0.933027299051,0.933061790692,0.933096273755,0.933130748242,0.933165214152,0.933199671485,0.933234120239,0.933268560416,0.933302992014,0.933337415033,0.933371829474,0.933406235335,0.933440632616,0.933475021317,0.933509401438,0.933543772979,0.933578135938,0.933612490317,0.933646836113,0.933681173328,0.933715501961,0.933749822011,0.933784133478,0.933818436362,0.933852730663,0.93388701638,0.933921293513,0.933955562061,0.933989822025,0.934024073403,0.934058316197,0.934092550404,0.934126776026,0.934160993061,0.93419520151,0.934229401372,0.934263592646,0.934297775334,0.934331949433,0.934366114944,0.934400271866,0.9344344202,0.934468559945,0.9345026911,0.934536813665,0.93457092764,0.934605033025,0.93463912982,0.934673218023,0.934707297635,0.934741368655,0.934775431084,0.93480948492,0.934843530163,0.934877566814,0.934911594872,0.934945614336,0.934979625206,0.935013627482,0.935047621163,0.93508160625,0.935115582742,0.935149550638,0.935183509939,0.935217460644,0.935251402752,0.935285336264,0.935319261179,0.935353177496,0.935387085216,0.935420984338,0.935454874862,0.935488756787,0.935522630114,0.935556494841,0.93559035097,0.935624198498,0.935658037426,0.935691867754,0.935725689481,0.935759502607,0.935793307132,0.935827103055,0.935860890377,0.935894669096,0.935928439213,0.935962200726,0.935995953637,0.936029697944,0.936063433647,0.936097160746,0.936130879241,0.936164589131,0.936198290416,0.936231983096,0.93626566717,0.936299342638,0.9363330095,0.936366667756,0.936400317404,0.936433958445,0.936467590879,0.936501214705,0.936534829923,0.936568436532,0.936602034533,0.936635623924,0.936669204707,0.936702776879,0.936736340442,0.936769895394,0.936803441736,0.936836979467,0.936870508586,0.936904029095,0.936937540991,0.936971044275,0.937004538947,0.937038025006,0.937071502452,0.937104971284,0.937138431503,0.937171883108,0.937205326099,0.937238760475,0.937272186236,0.937305603382,0.937339011913,0.937372411827,0.937405803126,0.937439185808,0.937472559873,0.937505925321,0.937539282152,0.937572630366,0.937605969961,0.937639300938,0.937672623297,0.937705937036,0.937739242156,0.937772538657,0.937805826538,0.937839105799,0.93787237644,0.93790563846,0.937938891859,0.937972136636,0.938005372792,0.938038600326,0.938071819238,0.938105029527,0.938138231193,0.938171424236,0.938204608655,0.938237784451,0.938270951623,0.93830411017,0.938337260093,0.938370401391,0.938403534063,0.93843665811,0.938469773531,0.938502880325,0.938535978494,0.938569068035,0.938602148949,0.938635221236,0.938668284895,0.938701339926,0.938734386328,0.938767424102,0.938800453247,0.938833473763,0.938866485649,0.938899488906,0.938932483532,0.938965469528,0.938998446893,0.939031415627,0.939064375729,0.9390973272,0.939130270039,0.939163204246,0.93919612982,0.939229046761,0.939261955069,0.939294854743,0.939327745784,0.93936062819,0.939393501962,0.9394263671,0.939459223602,0.939492071469,0.939524910701,0.939557741296,0.939590563256,0.939623376579,0.939656181265,0.939688977314,0.939721764725,0.939754543499,0.939787313635,0.939820075132,0.939852827991,0.939885572211,0.939918307792,0.939951034733,0.939983753034,0.940016462695,0.940049163716,0.940081856096,0.940114539835,0.940147214933,0.940179881389,0.940212539203,0.940245188375,0.940277828904,0.94031046079,0.940343084034,0.940375698634,0.94040830459,0.940440901902,0.94047349057,0.940506070593,0.940538641972,0.940571204705,0.940603758792,0.940636304234,0.940668841029,0.940701369179,0.940733888681,0.940766399536,0.940798901744,0.940831395305,0.940863880217,0.940896356482,0.940928824098,0.940961283065,0.940993733382,0.941026175051,0.94105860807,0.941091032438,0.941123448157,0.941155855225,0.941188253642,0.941220643407,0.941253024521,0.941285396984,0.941317760794,0.941350115952,0.941382462457,0.94141480031,0.941447129509,0.941479450054,0.941511761946,0.941544065183,0.941576359766,0.941608645694,0.941640922967,0.941673191585,0.941705451547,0.941737702853,0.941769945503,0.941802179496,0.941834404832,0.941866621512,0.941898829534,0.941931028898,0.941963219604,0.941995401652,0.942027575041,0.942059739771,0.942091895842,0.942124043254,0.942156182005,0.942188312097,0.942220433528,0.942252546299,0.942284650408,0.942316745857,0.942348832643,0.942380910768,0.942412980231,0.942445041031,0.942477093168,0.942509136643,0.942541171454,0.942573197601,0.942605215085,0.942637223904,0.942669224059,0.942701215549,0.942733198374,0.942765172533,0.942797138027,0.942829094855,0.942861043016,0.942892982511,0.942924913339,0.9429568355,0.942988748994,0.943020653819,0.943052549977,0.943084437466,0.943116316287,0.943148186438,0.943180047921,0.943211900734,0.943243744877,0.94327558035,0.943307407153,0.943339225285,0.943371034746,0.943402835536,0.943434627654,0.943466411101,0.943498185875,0.943529951977,0.943561709406,0.943593458162,0.943625198245,0.943656929654,0.943688652389,0.94372036645,0.943752071837,0.943783768549,0.943815456586,0.943847135947,0.943878806633,0.943910468643,0.943942121976,0.943973766634,0.944005402614,0.944037029917,0.944068648543,0.944100258491,0.944131859761,0.944163452353,0.944195036267,0.944226611501,0.944258178057,0.944289735933,0.944321285129,0.944352825646,0.944384357482,0.944415880637,0.944447395112,0.944478900905,0.944510398017,0.944541886447,0.944573366196,0.944604837261,0.944636299645,0.944667753345,0.944699198362,0.944730634696,0.944762062346,0.944793481312,0.944824891594,0.944856293191,0.944887686103,0.94491907033,0.944950445871,0.944981812727,0.945013170896,0.945044520379,0.945075861176,0.945107193285,0.945138516708,0.945169831442,0.945201137489,0.945232434848,0.945263723519,0.945295003501,0.945326274794,0.945357537398,0.945388791312,0.945420036536,0.945451273071,0.945482500914,0.945513720068,0.94554493053,0.945576132301,0.945607325381,0.945638509768,0.945669685464,0.945700852467,0.945732010777,0.945763160395,0.945794301319,0.94582543355,0.945856557087,0.94588767193,0.945918778078,0.945949875532,0.945980964291,0.946012044354,0.946043115722,0.946074178394,0.94610523237,0.94613627765,0.946167314233,0.946198342119,0.946229361308,0.946260371799,0.946291373592,0.946322366688,0.946353351084,0.946384326783,0.946415293782,0.946446252082,0.946477201682,0.946508142583,0.946539074784,0.946569998284,0.946600913083,0.946631819182,0.946662716579,0.946693605275,0.946724485269,0.946755356561,0.94678621915,0.946817073037,0.946847918221,0.946878754702,0.946909582479,0.946940401552,0.946971211922,0.947002013587,0.947032806547,0.947063590803,0.947094366353,0.947125133198,0.947155891336,0.947186640769,0.947217381496,0.947248113516,0.947278836829,0.947309551435,0.947340257333,0.947370954524,0.947401643006,0.947432322781,0.947462993846,0.947493656203,0.947524309851,0.947554954789,0.947585591018,0.947616218536,0.947646837344,0.947677447442,0.947708048829,0.947738641505,0.947769225469,0.947799800721,0.947830367262,0.94786092509,0.947891474206,0.947922014609,0.947952546299,0.947983069276,0.948013583539,0.948044089088,0.948074585922,0.948105074043,0.948135553448,0.948166024138,0.948196486113,0.948226939373,0.948257383916,0.948287819744,0.948318246855,0.948348665249,0.948379074926,0.948409475886,0.948439868128,0.948470251652,0.948500626459,0.948530992547,0.948561349916,0.948591698566,0.948622038497,0.948652369708,0.9486826922,0.948713005971,0.948743311023,0.948773607353,0.948803894963,0.948834173851,0.948864444018,0.948894705463,0.948924958186,0.948955202187,0.948985437465,0.949015664021,0.949045881853,0.949076090961,0.949106291347,0.949136483008,0.949166665944,0.949196840157,0.949227005644,0.949257162406,0.949287310444,0.949317449755,0.94934758034,0.9493777022,0.949407815332,0.949437919738,0.949468015417,0.949498102369,0.949528180593,0.949558250089,0.949588310857,0.949618362897,0.949648406208,0.94967844079,0.949708466643,0.949738483766,0.94976849216,0.949798491823,0.949828482756,0.949858464959,0.94988843843,0.94991840317,0.949948359179,0.949978306457,0.950008245002,0.950038174815,0.950068095895,0.950098008243,0.950127911857,0.950157806738,0.950187692886,0.950217570299,0.950247438979,0.950277298924,0.950307150134,0.950336992609,0.950366826349,0.950396651353,0.950426467621,0.950456275154,0.950486073949,0.950515864009,0.950545645331,0.950575417916,0.950605181764,0.950634936874,0.950664683245,0.950694420879,0.950724149774,0.95075386993,0.950783581347,0.950813284024,0.950842977962,0.95087266316,0.950902339618,0.950932007335,0.950961666312,0.950991316547,0.951020958041,0.951050590794,0.951080214804,0.951109830073,0.951139436599,0.951169034383,0.951198623423,0.95122820372,0.951257775274,0.951287338084,0.95131689215,0.951346437472,0.951375974049,0.951405501882,0.951435020969,0.951464531311,0.951494032907,0.951523525757,0.951553009861,0.951582485219,0.95161195183,0.951641409694,0.95167085881,0.951700299179,0.9517297308,0.951759153673,0.951788567798,0.951817973174,0.951847369801,0.951876757679,0.951906136808,0.951935507187,0.951964868816,0.951994221694,0.952023565822,0.9520529012,0.952082227826,0.952111545701,0.952140854824,0.952170155195,0.952199446814,0.952228729681,0.952258003795,0.952287269157,0.952316525765,0.952345773619,0.95237501272,0.952404243066,0.952433464659,0.952462677497,0.95249188158,0.952521076908,0.95255026348,0.952579441297,0.952608610358,0.952637770663,0.952666922211,0.952696065003,0.952725199038,0.952754324315,0.952783440835,0.952812548597,0.952841647601,0.952870737847,0.952899819334,0.952928892063,0.952957956032,0.952987011242,0.953016057692,0.953045095382,0.953074124312,0.953103144482,0.953132155891,0.953161158539,0.953190152425,0.95321913755,0.953248113914,0.953277081515,0.953306040354,0.953334990431,0.953363931744,0.953392864295,0.953421788082,0.953450703105,0.953479609365,0.95350850686,0.953537395591,0.953566275557,0.953595146758,0.953624009194,0.953652862865,0.953681707769,0.953710543908,0.95373937128,0.953768189886,0.953796999725,0.953825800797,0.953854593101,0.953883376638,0.953912151407,0.953940917408,0.95396967464,0.953998423104,0.954027162799,0.954055893724,0.95408461588,0.954113329267,0.954142033883,0.954170729729,0.954199416804,0.954228095109,0.954256764643,0.954285425405,0.954314077396,0.954342720615,0.954371355061,0.954399980736,0.954428597638,0.954457205767,0.954485805122,0.954514395704,0.954542977513,0.954571550548,0.954600114808,0.954628670294,0.954657217005,0.954685754941,0.954714284102,0.954742804488,0.954771316097,0.954799818931,0.954828312988,0.954856798269,0.954885274772,0.954913742499,0.954942201448,0.95497065162,0.954999093014,0.95502752563,0.955055949467,0.955084364526,0.955112770805,0.955141168306,0.955169557027,0.955197936968,0.955226308129,0.955254670511,0.955283024111,0.955311368931,0.95533970497,0.955368032227,0.955396350703,0.955424660398,0.95545296131,0.95548125344,0.955509536787,0.955537811351,0.955566077133,0.955594334131,0.955622582345,0.955650821776,0.955679052422,0.955707274284,0.955735487361,0.955763691654,0.955791887161,0.955820073883,0.955848251819,0.955876420969,0.955904581333,0.95593273291,0.955960875701,0.955989009705,0.956017134921,0.95604525135,0.956073358991,0.956101457844,0.956129547909,0.956157629186,0.956185701673,0.956213765372,0.956241820281,0.956269866401,0.95629790373,0.95632593227,0.95635395202,0.956381962978,0.956409965146,0.956437958523,0.956465943109,0.956493918902,0.956521885904,0.956549844114,0.956577793531,0.956605734156,0.956633665988,0.956661589027,0.956689503272,0.956717408723,0.956745305381,0.956773193244,0.956801072313,0.956828942588,0.956856804067,0.956884656751,0.956912500639,0.956940335732,0.956968162029,0.95699597953,0.957023788234,0.957051588141,0.957079379251,0.957107161564,0.95713493508,0.957162699798,0.957190455717,0.957218202839,0.957245941162,0.957273670686,0.957301391411,0.957329103336,0.957356806463,0.957384500789,0.957412186315,0.957439863041,0.957467530967,0.957495190091,0.957522840414,0.957550481937,0.957578114657,0.957605738576,0.957633353692,0.957660960006,0.957688557518,0.957716146227,0.957743726132,0.957771297234,0.957798859533,0.957826413028,0.957853957718,0.957881493604,0.957909020686,0.957936538962,0.957964048434,0.9579915491,0.95801904096,0.958046524015,0.958073998263,0.958101463705,0.95812892034,0.958156368169,0.95818380719,0.958211237404,0.95823865881,0.958266071408,0.958293475198,0.95832087018,0.958348256352,0.958375633716,0.958403002271,0.958430362017,0.958457712952,0.958485055078,0.958512388394,0.958539712899,0.958567028593,0.958594335476,0.958621633549,0.95864892281,0.958676203259,0.958703474896,0.958730737721,0.958757991733,0.958785236933,0.95881247332,0.958839700894,0.958866919654,0.958894129601,0.958921330733,0.958948523052,0.958975706556,0.959002881245,0.959030047119,0.959057204178,0.959084352422,0.95911149185,0.959138622462,0.959165744258,0.959192857237,0.9592199614,0.959247056745,0.959274143274,0.959301220985,0.959328289878,0.959355349954,0.959382401211,0.95940944365,0.95943647727,0.959463502071,0.959490518053,0.959517525216,0.959544523559,0.959571513082,0.959598493785,0.959625465667,0.959652428729,0.95967938297,0.959706328389,0.959733264988,0.959760192764,0.959787111719,0.959814021851,0.959840923161,0.959867815649,0.959894699313,0.959921574155,0.959948440173,0.959975297367,0.960002145738,0.960028985284,0.960055816006,0.960082637903,0.960109450976,0.960136255223,0.960163050645,0.960189837241,0.960216615012,0.960243383956,0.960270144074,0.960296895366,0.96032363783,0.960350371468,0.960377096278,0.960403812261,0.960430519416,0.960457217742,0.960483907241,0.96051058791,0.960537259752,0.960563922763,0.960590576946,0.960617222299,0.960643858823,0.960670486516,0.960697105379,0.960723715411,0.960750316613,0.960776908984,0.960803492523,0.960830067231,0.960856633108,0.960883190152,0.960909738364,0.960936277743,0.96096280829,0.960989330004,0.961015842885,0.961042346932,0.961068842146,0.961095328525,0.96112180607,0.961148274781,0.961174734658,0.961201185699,0.961227627905,0.961254061276,0.961280485811,0.961306901511,0.961333308374,0.961359706401,0.961386095591,0.961412475944,0.96143884746,0.961465210139,0.961491563981,0.961517908984,0.961544245149,0.961570572477,0.961596890965,0.961623200615,0.961649501426,0.961675793397,0.961702076529,0.961728350821,0.961754616274,0.961780872885,0.961807120657,0.961833359588,0.961859589677,0.961885810926,0.961912023333,0.961938226899,0.961964421622,0.961990607503,0.962016784542,0.962042952739,0.962069112092,0.962095262602,0.962121404269,0.962147537092,0.962173661072,0.962199776207,0.962225882498,0.962251979944,0.962278068546,0.962304148302,0.962330219214,0.962356281279,0.962382334499,0.962408378873,0.962434414401,0.962460441082,0.962486458917,0.962512467904,0.962538468044,0.962564459337,0.962590441782,0.96261641538,0.962642380129,0.962668336029,0.962694283081,0.962720221284,0.962746150638,0.962772071143,0.962797982798,0.962823885603,0.962849779559,0.962875664663,0.962901540918,0.962927408321,0.962953266874,0.962979116575,0.963004957425,0.963030789423,0.963056612569,0.963082426863,0.963108232304,0.963134028893,0.963159816628,0.963185595511,0.96321136554,0.963237126716,0.963262879038,0.963288622505,0.963314357118,0.963340082877,0.963365799781,0.96339150783,0.963417207023,0.963442897361,0.963468578844,0.96349425147,0.96351991524,0.963545570153,0.96357121621,0.96359685341,0.963622481753,0.963648101238,0.963673711866,0.963699313636,0.963724906547,0.963750490601,0.963776065795,0.963801632131,0.963827189608,0.963852738226,0.963878277984,0.963903808882,0.96392933092,0.963954844098,0.963980348416,0.964005843873,0.964031330469,0.964056808204,0.964082277077,0.964107737089,0.964133188239,0.964158630526,0.964184063952,0.964209488515,0.964234904215,0.964260311052,0.964285709025,0.964311098136,0.964336478382,0.964361849765,0.964387212283,0.964412565937,0.964437910726,0.96446324665,0.964488573709,0.964513891903,0.964539201231,0.964564501694,0.96458979329,0.96461507602,0.964640349883,0.96466561488,0.964690871009,0.964716118272,0.964741356667,0.964766586194,0.964791806853,0.964817018645,0.964842221567,0.964867415622,0.964892600807,0.964917777123,0.96494294457,0.964968103147,0.964993252855,0.965018393692,0.96504352566,0.965068648757,0.965093762983,0.965118868338,0.965143964822,0.965169052435,0.965194131176,0.965219201045,0.965244262042,0.965269314167,0.965294357419,0.965319391798,0.965344417305,0.965369433938,0.965394441698,0.965419440584,0.965444430596,0.965469411734,0.965494383997,0.965519347386,0.9655443019,0.965569247539,0.965594184303,0.965619112191,0.965644031204,0.96566894134,0.9656938426,0.965718734984,0.965743618491,0.965768493121,0.965793358874,0.96581821575,0.965843063748,0.965867902868,0.96589273311,0.965917554474,0.965942366959,0.965967170566,0.965991965294,0.966016751142,0.966041528111,0.966066296201,0.96609105541,0.96611580574,0.966140547189,0.966165279758,0.966190003445,0.966214718252,0.966239424178,0.966264121222,0.966288809384,0.966313488665,0.966338159063,0.966362820579,0.966387473212,0.966412116963,0.96643675183,0.966461377814,0.966485994915,0.966510603132,0.966535202465,0.966559792914,0.966584374478,0.966608947158,0.966633510953,0.966658065863,0.966682611887,0.966707149026,0.966731677279,0.966756196647,0.966780707128,0.966805208722,0.96682970143,0.966854185251,0.966878660185,0.966903126232,0.966927583391,0.966952031662,0.966976471045,0.96700090154,0.967025323146,0.967049735864,0.967074139693,0.967098534633,0.967122920683,0.967147297844,0.967171666115,0.967196025496,0.967220375986,0.967244717586,0.967269050296,0.967293374114,0.967317689042,0.967341995078,0.967366292222,0.967390580475,0.967414859835,0.967439130304,0.96746339188,0.967487644563,0.967511888353,0.96753612325,0.967560349253,0.967584566363,0.967608774579,0.967632973902,0.967657164329,0.967681345863,0.967705518501,0.967729682245,0.967753837093,0.967777983047,0.967802120104,0.967826248266,0.967850367531,0.967874477901,0.967898579374,0.96792267195,0.967946755629,0.967970830411,0.967994896296,0.968018953283,0.968043001372,0.968067040563,0.968091070856,0.968115092251,0.968139104746,0.968163108343,0.968187103041,0.968211088839,0.968235065738,0.968259033737,0.968282992836,0.968306943034,0.968330884332,0.96835481673,0.968378740226,0.968402654822,0.968426560516,0.968450457308,0.968474345199,0.968498224188,0.968522094274,0.968545955458,0.96856980774,0.968593651118,0.968617485594,0.968641311166,0.968665127834,0.968688935599,0.96871273446,0.968736524416,0.968760305469,0.968784077616,0.968807840859,0.968831595196,0.968855340629,0.968879077155,0.968902804776,0.968926523492,0.9689502333,0.968973934203,0.968997626199,0.969021309288,0.96904498347,0.969068648745,0.969092305113,0.969115952572,0.969139591124,0.969163220768,0.969186841503,0.96921045333,0.969234056248,0.969257650257,0.969281235357,0.969304811547,0.969328378828,0.969351937199,0.969375486659,0.96939902721,0.96942255885,0.969446081579,0.969469595397,0.969493100305,0.9695165963,0.969540083385,0.969563561557,0.969587030817,0.969610491166,0.969633942601,0.969657385124,0.969680818734,0.969704243431,0.969727659215,0.969751066085,0.969774464042,0.969797853084,0.969821233213,0.969844604427,0.969867966726,0.969891320111,0.96991466458,0.969938000134,0.969961326773,0.969984644496,0.970007953303,0.970031253195,0.970054544169,0.970077826228,0.970101099369,0.970124363594,0.970147618901,0.970170865291,0.970194102763,0.970217331318,0.970240550955,0.970263761673,0.970286963473,0.970310156354,0.970333340316,0.970356515359,0.970379681483,0.970402838688,0.970425986972,0.970449126337,0.970472256781,0.970495378306,0.970518490909,0.970541594592,0.970564689354,0.970587775194,0.970610852113,0.970633920111,0.970656979186,0.97068002934,0.970703070571,0.97072610288,0.970749126266,0.970772140729,0.970795146269,0.970818142886,0.970841130579,0.970864109348,0.970887079193,0.970910040115,0.970932992111,0.970955935184,0.970978869331,0.971001794553,0.97102471085,0.971047618222,0.971070516668,0.971093406188,0.971116286782,0.97113915845,0.971162021191,0.971184875005,0.971207719893,0.971230555853,0.971253382887,0.971276200992,0.97129901017,0.97132181042,0.971344601741,0.971367384135,0.971390157599,0.971412922135,0.971435677742,0.97145842442,0.971481162168,0.971503890986,0.971526610875,0.971549321833,0.971572023862,0.97159471696,0.971617401127,0.971640076363,0.971662742668,0.971685400042,0.971708048484,0.971730687995,0.971753318574,0.97177594022,0.971798552934,0.971821156716,0.971843751564,0.97186633748,0.971888914463,0.971911482512,0.971934041628,0.97195659181,0.971979133057,0.972001665371,0.97202418875,0.972046703195,0.972069208704,0.972091705279,0.972114192918,0.972136671622,0.97215914139,0.972181602223,0.972204054119,0.972226497079,0.972248931102,0.972271356189,0.972293772339,0.972316179552,0.972338577827,0.972360967165,0.972383347565,0.972405719027,0.972428081552,0.972450435137,0.972472779784,0.972495115493,0.972517442262,0.972539760093,0.972562068983,0.972584368935,0.972606659946,0.972628942018,0.972651215149,0.97267347934,0.97269573459,0.9727179809,0.972740218268,0.972762446696,0.972784666182,0.972806876726,0.972829078328,0.972851270989,0.972873454707,0.972895629482,0.972917795315,0.972939952206,0.972962100153,0.972984239157,0.973006369217,0.973028490334,0.973050602507,0.973072705735,0.97309480002,0.97311688536,0.973138961755,0.973161029206,0.973183087711,0.973205137271,0.973227177886,0.973249209555,0.973271232278,0.973293246055,0.973315250885,0.973337246769,0.973359233707,0.973381211697,0.973403180741,0.973425140837,0.973447091985,0.973469034186,0.973490967439,0.973512891744,0.9735348071,0.973556713508,0.973578610967,0.973600499478,0.973622379039,0.973644249651,0.973666111313,0.973687964026,0.973709807788,0.973731642601,0.973753468463,0.973775285375,0.973797093336,0.973818892346,0.973840682405,0.973862463512,0.973884235668,0.973905998872,0.973927753125,0.973949498425,0.973971234773,0.973992962168,0.974014680611,0.9740363901,0.974058090637,0.97407978222,0.97410146485,0.974123138525,0.974144803247,0.974166459015,0.974188105829,0.974209743688,0.974231372592,0.974252992541,0.974274603536,0.974296205575,0.974317798658,0.974339382786,0.974360957957,0.974382524173,0.974404081432,0.974425629735,0.974447169081,0.97446869947,0.974490220902,0.974511733377,0.974533236894,0.974554731454,0.974576217056,0.974597693699,0.974619161384,0.974640620111,0.974662069879,0.974683510689,0.974704942539,0.974726365429,0.974747779361,0.974769184333,0.974790580344,0.974811967396,0.974833345488,0.974854714619,0.974876074789,0.974897425999,0.974918768247,0.974940101534,0.97496142586,0.974982741224,0.975004047627,0.975025345067,0.975046633545,0.975067913061,0.975089183614,0.975110445204,0.975131697831,0.975152941495,0.975174176196,0.975195401933,0.975216618706,0.975237826516,0.975259025361,0.975280215241,0.975301396158,0.975322568109,0.975343731095,0.975364885117,0.975386030173,0.975407166263,0.975428293388,0.975449411546,0.975470520739,0.975491620965,0.975512712225,0.975533794518,0.975554867844,0.975575932204,0.975596987595,0.97561803402,0.975639071476,0.975660099965,0.975681119486,0.975702130039,0.975723131623,0.975744124238,0.975765107885,0.975786082562,0.975807048271,0.975828005009,0.975848952779,0.975869891578,0.975890821408,0.975911742267,0.975932654156,0.975953557075,0.975974451022,0.975995335999,0.976016212005,0.976037079039,0.976057937102,0.976078786193,0.976099626312,0.976120457459,0.976141279634,0.976162092836,0.976182897066,0.976203692322,0.976224478606,0.976245255916,0.976266024253,0.976286783617,0.976307534006,0.976328275422,0.976349007863,0.97636973133,0.976390445822,0.97641115134,0.976431847883,0.97645253545,0.976473214042,0.976493883659,0.9765145443,0.976535195965,0.976555838653,0.976576472366,0.976597097102,0.976617712862,0.976638319644,0.97665891745,0.976679506278,0.976700086129,0.976720657002,0.976741218897,0.976761771815,0.976782315754,0.976802850715,0.976823376697,0.976843893701,0.976864401725,0.976884900771,0.976905390837,0.976925871924,0.976946344031,0.976966807158,0.976987261305,0.977007706471,0.977028142658,0.977048569863,0.977068988088,0.977089397332,0.977109797595,0.977130188876,0.977150571176,0.977170944494,0.97719130883,0.977211664184,0.977232010555,0.977252347944,0.977272676351,0.977292995774,0.977313306214,0.977333607671,0.977353900145,0.977374183635,0.977394458142,0.977414723664,0.977434980202,0.977455227756,0.977475466325,0.977495695909,0.977515916509,0.977536128123,0.977556330752,0.977576524396,0.977596709053,0.977616884725,0.977637051411,0.977657209111,0.977677357825,0.977697497551,0.977717628291,0.977737750044,0.97775786281,0.977777966588,0.977798061379,0.977818147183,0.977838223998,0.977858291825,0.977878350664,0.977898400515,0.977918441377,0.97793847325,0.977958496134,0.977978510029,0.977998514935,0.978018510851,0.978038497777,0.978058475713,0.978078444659,0.978098404615,0.978118355581,0.978138297556,0.97815823054,0.978178154533,0.978198069534,0.978217975545,0.978237872564,0.978257760591,0.978277639626,0.978297509669,0.97831737072,0.978337222778,0.978357065843,0.978376899916,0.978396724996,0.978416541082,0.978436348175,0.978456146275,0.978475935381,0.978495715492,0.97851548661,0.978535248733,0.978555001862,0.978574745997,0.978594481136,0.97861420728,0.978633924429,0.978653632583,0.978673331741,0.978693021904,0.97871270307,0.978732375241,0.978752038415,0.978771692592,0.978791337773,0.978810973957,0.978830601144,0.978850219334,0.978869828527,0.978889428721,0.978909019919,0.978928602118,0.978948175319,0.978967739522,0.978987294726,0.979006840932,0.979026378139,0.979045906347,0.979065425556,0.979084935765,0.979104436975,0.979123929185,0.979143412395,0.979162886606,0.979182351816,0.979201808025,0.979221255234,0.979240693442,0.979260122649,0.979279542855,0.97929895406,0.979318356263,0.979337749464,0.979357133664,0.979376508861,0.979395875057,0.97941523225,0.97943458044,0.979453919628,0.979473249812,0.979492570994,0.979511883172,0.979531186347,0.979550480518,0.979569765685,0.979589041849,0.979608309008,0.979627567163,0.979646816313,0.979666056459,0.979685287599,0.979704509735,0.979723722866,0.979742926991,0.97976212211,0.979781308224,0.979800485331,0.979819653433,0.979838812528,0.979857962617,0.9798771037,0.979896235775,0.979915358843,0.979934472905,0.979953577958,0.979972674005,0.979991761043,0.980010839074,0.980029908097,0.980048968112,0.980068019118,0.980087061115,0.980106094104,0.980125118084,0.980144133055,0.980163139016,0.980182135968,0.980201123911,0.980220102843,0.980239072766,0.980258033678,0.98027698558,0.980295928472,0.980314862353,0.980333787223,0.980352703082,0.98037160993,0.980390507767,0.980409396592,0.980428276405,0.980447147207,0.980466008996,0.980484861773,0.980503705538,0.98052254029,0.98054136603,0.980560182756,0.98057899047,0.98059778917,0.980616578857,0.98063535953,0.980654131189,0.980672893834,0.980691647465,0.980710392082,0.980729127685,0.980747854272,0.980766571845,0.980785280403,0.980803979946,0.980822670473,0.980841351985,0.980860024482,0.980878687962,0.980897342426,0.980915987874,0.980934624306,0.980953251721,0.98097187012,0.980990479502,0.981009079866,0.981027671213,0.981046253543,0.981064826856,0.98108339115,0.981101946427,0.981120492686,0.981139029926,0.981157558148,0.981176077352,0.981194587536,0.981213088702,0.981231580849,0.981250063976,0.981268538084,0.981287003172,0.981305459241,0.981323906289,0.981342344318,0.981360773326,0.981379193314,0.981397604281,0.981416006227,0.981434399152,0.981452783057,0.98147115794,0.981489523801,0.981507880641,0.981526228459,0.981544567255,0.981562897028,0.98158121778,0.981599529509,0.981617832215,0.981636125899,0.98165441056,0.981672686197,0.981690952811,0.981709210402,0.981727458969,0.981745698512,0.981763929031,0.981782150526,0.981800362996,0.981818566443,0.981836760864,0.981854946261,0.981873122632,0.981891289979,0.9819094483,0.981927597595,0.981945737865,0.98196386911,0.981981991328,0.98200010452,0.982018208685,0.982036303824,0.982054389937,0.982072467022,0.982090535081,0.982108594113,0.982126644117,0.982144685093,0.982162717042,0.982180739963,0.982198753856,0.982216758721,0.982234754558,0.982252741366,0.982270719146,0.982288687896,0.982306647618,0.982324598311,0.982342539974,0.982360472608,0.982378396212,0.982396310786,0.98241421633,0.982432112845,0.982450000328,0.982467878782,0.982485748205,0.982503608597,0.982521459958,0.982539302287,0.982557135586,0.982574959853,0.982592775089,0.982610581292,0.982628378464,0.982646166604,0.982663945711,0.982681715786,0.982699476829,0.982717228838,0.982734971815,0.982752705758,0.982770430669,0.982788146546,0.982805853389,0.982823551199,0.982841239974,0.982858919716,0.982876590423,0.982894252096,0.982911904735,0.982929548339,0.982947182908,0.982964808441,0.98298242494,0.983000032403,0.983017630831,0.983035220223,0.983052800579,0.983070371899,0.983087934184,0.983105487431,0.983123031642,0.983140566817,0.983158092955,0.983175610055,0.983193118119,0.983210617145,0.983228107134,0.983245588085,0.983263059999,0.983280522874,0.983297976712,0.983315421511,0.983332857272,0.983350283994,0.983367701677,0.983385110322,0.983402509927,0.983419900493,0.98343728202,0.983454654507,0.983472017955,0.983489372362,0.98350671773,0.983524054058,0.983541381345,0.983558699591,0.983576008797,0.983593308962,0.983610600087,0.98362788217,0.983645155211,0.983662419212,0.98367967417,0.983696920087,0.983714156962,0.983731384795,0.983748603586,0.983765813334,0.98378301404,0.983800205703,0.983817388323,0.9838345619,0.983851726434,0.983868881924,0.983886028371,0.983903165774,0.983920294134,0.983937413449,0.983954523721,0.983971624948,0.98398871713,0.984005800268,0.984022874361,0.98403993941,0.984056995413,0.984074042371,0.984091080283,0.98410810915,0.984125128972,0.984142139747,0.984159141476,0.98417613416,0.984193117797,0.984210092387,0.984227057931,0.984244014428,0.984260961878,0.98427790028,0.984294829636,0.984311749944,0.984328661205,0.984345563418,0.984362456583,0.984379340699,0.984396215768,0.984413081789,0.98442993876,0.984446786684,0.984463625558,0.984480455383,0.984497276159,0.984514087886,0.984530890564,0.984547684192,0.98456446877,0.984581244298,0.984598010776,0.984614768204,0.984631516582,0.984648255909,0.984664986185,0.984681707411,0.984698419586,0.984715122709,0.984731816781,0.984748501802,0.984765177771,0.984781844688,0.984798502554,0.984815151367,0.984831791128,0.984848421837,0.984865043494,0.984881656097,0.984898259648,0.984914854146,0.984931439591,0.984948015982,0.98496458332,0.984981141605,0.984997690835,0.985014231012,0.985030762135,0.985047284204,0.985063797218,0.985080301178,0.985096796083,0.985113281933,0.985129758728,0.985146226469,0.985162685154,0.985179134783,0.985195575357,0.985212006876,0.985228429338,0.985244842745,0.985261247095,0.985277642389,0.985294028626,0.985310405807,0.985326773932,0.985343132999,0.985359483009,0.985375823962,0.985392155858,0.985408478696,0.985424792476,0.985441097199,0.985457392864,0.98547367947,0.985489957018,0.985506225508,0.98552248494,0.985538735312,0.985554976626,0.985571208881,0.985587432076,0.985603646213,0.985619851289,0.985636047307,0.985652234264,0.985668412162,0.985684580999,0.985700740776,0.985716891493,0.98573303315,0.985749165746,0.985765289281,0.985781403755,0.985797509168,0.985813605519,0.98582969281,0.985845771038,0.985861840206,0.985877900311,0.985893951354,0.985909993335,0.985926026254,0.985942050111,0.985958064905,0.985974070636,0.985990067304,0.98600605491,0.986022033452,0.986038002931,0.986053963346,0.986069914698,0.986085856986,0.98610179021,0.986117714371,0.986133629467,0.986149535498,0.986165432465,0.986181320368,0.986197199206,0.986213068979,0.986228929686,0.986244781329,0.986260623906,0.986276457418,0.986292281864,0.986308097245,0.986323903559,0.986339700807,0.986355488989,0.986371268105,0.986387038154,0.986402799137,0.986418551053,0.986434293902,0.986450027683,0.986465752398,0.986481468045,0.986497174625,0.986512872136,0.986528560581,0.986544239957,0.986559910265,0.986575571505,0.986591223676,0.986606866779,0.986622500813,0.986638125778,0.986653741675,0.986669348502,0.98668494626,0.986700534949,0.986716114568,0.986731685117,0.986747246597,0.986762799007,0.986778342346,0.986793876615,0.986809401814,0.986824917943,0.986840425,0.986855922987,0.986871411903,0.986886891748,0.986902362521,0.986917824223,0.986933276854,0.986948720413,0.9869641549,0.986979580315,0.986994996658,0.987010403928,0.987025802127,0.987041191253,0.987056571306,0.987071942286,0.987087304193,0.987102657028,0.987118000789,0.987133335477,0.987148661091,0.987163977631,0.987179285098,0.987194583491,0.987209872809,0.987225153054,0.987240424224,0.987255686319,0.98727093934,0.987286183287,0.987301418158,0.987316643954,0.987331860675,0.987347068321,0.987362266891,0.987377456385,0.987392636804,0.987407808147,0.987422970414,0.987438123605,0.987453267719,0.987468402757,0.987483528718,0.987498645603,0.98751375341,0.987528852141,0.987543941794,0.987559022371,0.987574093869,0.987589156291,0.987604209634,0.9876192539,0.987634289087,0.987649315197,0.987664332228,0.987679340181,0.987694339055,0.987709328851,0.987724309568,0.987739281206,0.987754243765,0.987769197244,0.987784141645,0.987799076965,0.987814003206,0.987828920368,0.987843828449,0.987858727451,0.987873617372,0.987888498213,0.987903369973,0.987918232653,0.987933086252,0.98794793077,0.987962766207,0.987977592563,0.987992409838,0.988007218031,0.988022017143,0.988036807173,0.988051588122,0.988066359988,0.988081122772,0.988095876474,0.988110621094,0.988125356631,0.988140083086,0.988154800457,0.988169508746,0.988184207952,0.988198898075,0.988213579114,0.98822825107,0.988242913942,0.988257567731,0.988272212435,0.988286848056,0.988301474593,0.988316092045,0.988330700413,0.988345299697,0.988359889895,0.988374471009,0.988389043038,0.988403605982,0.988418159841,0.988432704615,0.988447240303,0.988461766905,0.988476284422,0.988490792853,0.988505292198,0.988519782456,0.988534263629,0.988548735715,0.988563198714,0.988577652627,0.988592097453,0.988606533192,0.988620959844,0.988635377409,0.988649785887,0.988664185277,0.98867857558,0.988692956794,0.988707328921,0.98872169196,0.988736045911,0.988750390774,0.988764726548,0.988779053234,0.988793370831,0.988807679339,0.988821978758,0.988836269089,0.98885055033,0.988864822482,0.988879085544,0.988893339517,0.9889075844,0.988921820194,0.988936046897,0.98895026451,0.988964473033,0.988978672466,0.988992862808,0.98900704406,0.989021216221,0.989035379291,0.98904953327,0.989063678158,0.989077813955,0.98909194066,0.989106058273,0.989120166796,0.989134266226,0.989148356564,0.989162437811,0.989176509965,0.989190573027,0.989204626996,0.989218671873,0.989232707657,0.989246734349,0.989260751947,0.989274760452,0.989288759865,0.989302750183,0.989316731409,0.989330703541,0.989344666579,0.989358620523,0.989372565373,0.989386501129,0.989400427791,0.989414345359,0.989428253832,0.989442153211,0.989456043494,0.989469924683,0.989483796777,0.989497659776,0.989511513679,0.989525358487,0.9895391942,0.989553020817,0.989566838338,0.989580646764,0.989594446093,0.989608236326,0.989622017463,0.989635789504,0.989649552448,0.989663306295,0.989677051046,0.989690786699,0.989704513256,0.989718230716,0.989731939078,0.989745638343,0.98975932851,0.98977300958,0.989786681552,0.989800344426,0.989813998202,0.989827642879,0.989841278459,0.98985490494,0.989868522322,0.989882130606,0.989895729791,0.989909319878,0.989922900865,0.989936472753,0.989950035542,0.989963589231,0.989977133821,0.989990669311,0.990004195701,0.990017712992,0.990031221182,0.990044720272,0.990058210262,0.990071691152,0.990085162941,0.990098625629,0.990112079217,0.990125523704,0.990138959089,0.990152385374,0.990165802557,0.990179210639,0.99019260962,0.990205999498,0.990219380275,0.99023275195,0.990246114523,0.990259467994,0.990272812363,0.99028614763,0.990299473793,0.990312790855,0.990326098813,0.990339397669,0.990352687421,0.990365968071,0.990379239617,0.99039250206,0.9904057554,0.990418999635,0.990432234768,0.990445460796,0.99045867772,0.99047188554,0.990485084256,0.990498273868,0.990511454375,0.990524625778,0.990537788076,0.990550941269,0.990564085358,0.990577220341,0.990590346219,0.990603462992,0.990616570659,0.990629669221,0.990642758677,0.990655839027,0.990668910272,0.99068197241,0.990695025443,0.990708069369,0.990721104188,0.990734129902,0.990747146508,0.990760154008,0.990773152401,0.990786141687,0.990799121866,0.990812092938,0.990825054902,0.990838007759,0.990850951508,0.99086388615,0.990876811684,0.99088972811,0.990902635428,0.990915533638,0.990928422739,0.990941302732,0.990954173617,0.990967035392,0.99097988806,0.990992731618,0.991005566067,0.991018391407,0.991031207638,0.99104401476,0.991056812772,0.991069601674,0.991082381467,0.99109515215,0.991107913723,0.991120666186,0.991133409539,0.991146143782,0.991158868914,0.991171584936,0.991184291847,0.991196989647,0.991209678336,0.991222357915,0.991235028382,0.991247689738,0.991260341983,0.991272985116,0.991285619138,0.991298244048,0.991310859846,0.991323466532,0.991336064107,0.991348652569,0.991361231919,0.991373802156,0.991386363281,0.991398915294,0.991411458193,0.99142399198,0.991436516654,0.991449032215,0.991461538662,0.991474035997,0.991486524218,0.991499003325,0.991511473319,0.991523934199,0.991536385965,0.991548828617,0.991561262155,0.991573686579,0.991586101888,0.991598508083,0.991610905163,0.991623293129,0.99163567198,0.991648041716,0.991660402337,0.991672753843,0.991685096234,0.991697429509,0.991709753669,0.991722068713,0.991734374642,0.991746671455,0.991758959152,0.991771237732,0.991783507197,0.991795767545,0.991808018777,0.991820260893,0.991832493892,0.991844717774,0.991856932539,0.991869138188,0.991881334719,0.991893522134,0.991905700431,0.99191786961,0.991930029672,0.991942180617,0.991954322444,0.991966455153,0.991978578744,0.991990693216,0.992002798571,0.992014894808,0.992026981926,0.992039059925,0.992051128806,0.992063188569,0.992075239212,0.992087280737,0.992099313142,0.992111336428,0.992123350596,0.992135355643,0.992147351571,0.99215933838,0.992171316069,0.992183284638,0.992195244087,0.992207194416,0.992219135625,0.992231067713,0.992242990681,0.992254904529,0.992266809256,0.992278704863,0.992290591348,0.992302468713,0.992314336957,0.992326196079,0.99233804608,0.99234988696,0.992361718719,0.992373541356,0.992385354871,0.992397159264,0.992408954536,0.992420740685,0.992432517713,0.992444285618,0.992456044401,0.992467794061,0.992479534599,0.992491266014,0.992502988306,0.992514701476,0.992526405522,0.992538100446,0.992549786246,0.992561462923,0.992573130476,0.992584788906,0.992596438213,0.992608078395,0.992619709454,0.992631331389,0.9926429442,0.992654547887,0.992666142449,0.992677727887,0.9926893042,0.992700871389,0.992712429454,0.992723978393,0.992735518208,0.992747048897,0.992758570462,0.992770082901,0.992781586215,0.992793080403,0.992804565466,0.992816041403,0.992827508215,0.9928389659,0.99285041446,0.992861853893,0.992873284201,0.992884705382,0.992896117437,0.992907520365,0.992918914167,0.992930298842,0.99294167439,0.992953040811,0.992964398105,0.992975746273,0.992987085312,0.992998415225,0.99300973601,0.993021047668,0.993032350198,0.9930436436,0.993054927875,0.993066203021,0.993077469039,0.99308872593,0.993099973692,0.993111212325,0.99312244183,0.993133662207,0.993144873455,0.993156075574,0.993167268564,0.993178452426,0.993189627158,0.993200792761,0.993211949235,0.993223096579,0.993234234794,0.993245363879,0.993256483835,0.993267594661,0.993278696356,0.993289788922,0.993300872358,0.993311946664,0.993323011839,0.993334067884,0.993345114798,0.993356152582,0.993367181235,0.993378200757,0.993389211148,0.993400212408,0.993411204537,0.993422187535,0.993433161402,0.993444126137,0.993455081741,0.993466028213,0.993476965553,0.993487893761,0.993498812838,0.993509722782,0.993520623595,0.993531515275,0.993542397822,0.993553271238,0.993564135521,0.993574990671,0.993585836688,0.993596673573,0.993607501325,0.993618319943,0.993629129429,0.993639929781,0.993650721,0.993661503086,0.993672276038,0.993683039856,0.993693794541,0.993704540092,0.993715276509,0.993726003792,0.993736721941,0.993747430955,0.993758130836,0.993768821582,0.993779503193,0.99379017567,0.993800839012,0.993811493219,0.993822138292,0.993832774229,0.993843401031,0.993854018698,0.99386462723,0.993875226626,0.993885816887,0.993896398013,0.993906970002,0.993917532856,0.993928086574,0.993938631156,0.993949166602,0.993959692912,0.993970210085,0.993980718123,0.993991217023,0.994001706787,0.994012187415,0.994022658906,0.99403312126,0.994043574477,0.994054018557,0.994064453499,0.994074879305,0.994085295973,0.994095703504,0.994106101897,0.994116491153,0.994126871271,0.994137242251,0.994147604093,0.994157956798,0.994168300364,0.994178634792,0.994188960082,0.994199276233,0.994209583246,0.994219881121,0.994230169856,0.994240449453,0.994250719911,0.99426098123,0.994271233411,0.994281476452,0.994291710353,0.994301935116,0.994312150739,0.994322357223,0.994332554567,0.994342742771,0.994352921835,0.99436309176,0.994373252545,0.994383404189,0.994393546694,0.994403680058,0.994413804281,0.994423919365,0.994434025308,0.99444412211,0.994454209771,0.994464288292,0.994474357672,0.994484417911,0.994494469008,0.994504510965,0.99451454378,0.994524567454,0.994534581987,0.994544587377,0.994554583627,0.994564570734,0.9945745487,0.994584517524,0.994594477206,0.994604427745,0.994614369143,0.994624301398,0.994634224511,0.994644138481,0.994654043309,0.994663938994,0.994673825536,0.994683702936,0.994693571193,0.994703430306,0.994713280277,0.994723121104,0.994732952788,0.994742775329,0.994752588726,0.99476239298,0.99477218809,0.994781974057,0.994791750879,0.994801518558,0.994811277092,0.994821026483,0.994830766729,0.994840497831,0.994850219789,0.994859932602,0.994869636271,0.994879330795,0.994889016174,0.994898692409,0.994908359498,0.994918017443,0.994927666243,0.994937305897,0.994946936406,0.99495655777,0.994966169989,0.994975773061,0.994985366989,0.99499495177,0.995004527406,0.995014093896,0.99502365124,0.995033199438,0.99504273849,0.995052268396,0.995061789155,0.995071300768,0.995080803234,0.995090296554,0.995099780727,0.995109255754,0.995118721633,0.995128178366,0.995137625952,0.99514706439,0.995156493682,0.995165913826,0.995175324823,0.995184726672,0.995194119374,0.995203502928,0.995212877335,0.995222242594,0.995231598705,0.995240945667,0.995250283482,0.995259612149,0.995268931668,0.995278242038,0.99528754326,0.995296835333,0.995306118258,0.995315392034,0.995324656662,0.99533391214,0.99534315847,0.995352395651,0.995361623683,0.995370842565,0.995380052299,0.995389252883,0.995398444317,0.995407626603,0.995416799738,0.995425963724,0.99543511856,0.995444264247,0.995453400783,0.995462528169,0.995471646406,0.995480755492,0.995489855428,0.995498946213,0.995508027849,0.995517100333,0.995526163668,0.995535217851,0.995544262884,0.995553298766,0.995562325497,0.995571343077,0.995580351506,0.995589350783,0.99559834091,0.995607321885,0.995616293709,0.995625256381,0.995634209902,0.995643154271,0.995652089488,0.995661015554,0.995669932467,0.995678840229,0.995687738838,0.995696628296,0.995705508601,0.995714379754,0.995723241754,0.995732094602,0.995740938298,0.99574977284,0.99575859823,0.995767414468,0.995776221552,0.995785019483,0.995793808262,0.995802587887,0.995811358359,0.995820119678,0.995828871843,0.995837614855,0.995846348714,0.995855073419,0.99586378897,0.995872495367,0.995881192611,0.9958898807,0.995898559636,0.995907229417,0.995915890045,0.995924541518,0.995933183837,0.995941817001,0.995950441011,0.995959055866,0.995967661567,0.995976258113,0.995984845504,0.99599342374,0.996001992822,0.996010552748,0.996019103519,0.996027645135,0.996036177596,0.996044700901,0.996053215051,0.996061720046,0.996070215884,0.996078702568,0.996087180095,0.996095648467,0.996104107682,0.996112557742,0.996120998646,0.996129430393,0.996137852985,0.99614626642,0.996154670699,0.996163065821,0.996171451787,0.996179828596,0.996188196248,0.996196554744,0.996204904083,0.996213244265,0.99622157529,0.996229897158,0.996238209869,0.996246513422,0.996254807819,0.996263093058,0.996271369139,0.996279636063,0.99628789383,0.996296142438,0.99630438189,0.996312612183,0.996320833318,0.996329045295,0.996337248115,0.996345441776,0.996353626279,0.996361801624,0.99636996781,0.996378124838,0.996386272708,0.996394411419,0.996402540971,0.996410661364,0.996418772599,0.996426874675,0.996434967592,0.99644305135,0.996451125949,0.996459191389,0.996467247669,0.99647529479,0.996483332752,0.996491361554,0.996499381197,0.99650739168,0.996515393004,0.996523385167,0.996531368171,0.996539342015,0.996547306699,0.996555262223,0.996563208587,0.996571145791,0.996579073834,0.996586992717,0.99659490244,0.996602803002,0.996610694403,0.996618576644,0.996626449724,0.996634313644,0.996642168402,0.996650014,0.996657850437,0.996665677712,0.996673495827,0.99668130478,0.996689104572,0.996696895203,0.996704676672,0.99671244898,0.996720212126,0.996727966111,0.996735710933,0.996743446594,0.996751173094,0.996758890431,0.996766598606,0.996774297619,0.99678198747,0.996789668159,0.996797339686,0.99680500205,0.996812655252,0.996820299291,0.996827934168,0.996835559882,0.996843176434,0.996850783822,0.996858382048,0.996865971111,0.996873551011,0.996881121748,0.996888683322,0.996896235732,0.99690377898,0.996911313064,0.996918837984,0.996926353741,0.996933860335,0.996941357765,0.996948846031,0.996956325134,0.996963795073,0.996971255848,0.996978707459,0.996986149906,0.996993583189,0.997001007307,0.997008422262,0.997015828052,0.997023224678,0.997030612139,0.997037990436,0.997045359569,0.997052719536,0.997060070339,0.997067411978,0.997074744451,0.99708206776,0.997089381903,0.997096686882,0.997103982696,0.997111269344,0.997118546827,0.997125815145,0.997133074297,0.997140324284,0.997147565106,0.997154796762,0.997162019252,0.997169232576,0.997176436735,0.997183631728,0.997190817555,0.997197994217,0.997205161712,0.997212320041,0.997219469204,0.9972266092,0.99723374003,0.997240861694,0.997247974192,0.997255077523,0.997262171688,0.997269256685,0.997276332517,0.997283399181,0.997290456679,0.997297505009,0.997304544173,0.99731157417,0.997318595,0.997325606662,0.997332609158,0.997339602486,0.997346586647,0.99735356164,0.997360527466,0.997367484124,0.997374431615,0.997381369938,0.997388299094,0.997395219081,0.997402129901,0.997409031553,0.997415924037,0.997422807353,0.997429681501,0.997436546481,0.997443402292,0.997450248935,0.99745708641,0.997463914716,0.997470733854,0.997477543824,0.997484344624,0.997491136257,0.99749791872,0.997504692015,0.99751145614,0.997518211097,0.997524956885,0.997531693504,0.997538420954,0.997545139234,0.997551848346,0.997558548288,0.99756523906,0.997571920664,0.997578593098,0.997585256362,0.997591910457,0.997598555382,0.997605191137,0.997611817723,0.997618435139,0.997625043384,0.99763164246,0.997638232366,0.997644813102,0.997651384668,0.997657947063,0.997664500289,0.997671044343,0.997677579228,0.997684104942,0.997690621486,0.997697128859,0.997703627061,0.997710116093,0.997716595954,0.997723066644,0.997729528164,0.997735980512,0.997742423689,0.997748857696,0.997755282531,0.997761698195,0.997768104688,0.99777450201,0.997780890161,0.99778726914,0.997793638947,0.997799999583,0.997806351048,0.99781269334,0.997819026462,0.997825350411,0.997831665189,0.997837970795,0.997844267228,0.99785055449,0.99785683258,0.997863101498,0.997869361244,0.997875611817,0.997881853218,0.997888085447,0.997894308504,0.997900522388,0.997906727099,0.997912922638,0.997919109005,0.997925286199,0.99793145422,0.997937613068,0.997943762743,0.997949903246,0.997956034576,0.997962156732,0.997968269716,0.997974373526,0.997980468164,0.997986553628,0.997992629919,0.997998697036,0.99800475498,0.998010803751,0.998016843348,0.998022873771,0.998028895021,0.998034907098,0.99804091,0.998046903729,0.998052888284,0.998058863665,0.998064829872,0.998070786905,0.998076734765,0.99808267345,0.99808860296,0.998094523297,0.998100434459,0.998106336447,0.998112229261,0.9981181129,0.998123987365,0.998129852655,0.998135708771,0.998141555712,0.998147393478,0.998153222069,0.998159041486,0.998164851728,0.998170652795,0.998176444686,0.998182227403,0.998188000945,0.998193765312,0.998199520503,0.99820526652,0.99821100336,0.998216731026,0.998222449516,0.998228158831,0.99823385897,0.998239549934,0.998245231722,0.998250904335,0.998256567771,0.998262222032,0.998267867118,0.998273503027,0.99827912976,0.998284747318,0.998290355699,0.998295954905,0.998301544934,0.998307125787,0.998312697464,0.998318259964,0.998323813289,0.998329357436,0.998334892408,0.998340418203,0.998345934821,0.998351442263,0.998356940528,0.998362429617,0.998367909529,0.998373380264,0.998378841822,0.998384294203,0.998389737407,0.998395171435,0.998400596285,0.998406011958,0.998411418454,0.998416815773,0.998422203915,0.998427582879,0.998432952667,0.998438313276,0.998443664708,0.998449006963,0.998454340041,0.99845966394,0.998464978662,0.998470284207,0.998475580573,0.998480867762,0.998486145773,0.998491414606,0.998496674262,0.998501924739,0.998507166038,0.99851239816,0.998517621103,0.998522834868,0.998528039454,0.998533234863,0.998538421093,0.998543598145,0.998548766018,0.998553924713,0.99855907423,0.998564214568,0.998569345727,0.998574467708,0.99857958051,0.998584684133,0.998589778578,0.998594863843,0.99859993993,0.998605006838,0.998610064567,0.998615113117,0.998620152488,0.99862518268,0.998630203693,0.998635215526,0.99864021818,0.998645211655,0.998650195951,0.998655171067,0.998660137004,0.998665093761,0.998670041339,0.998674979737,0.998679908956,0.998684828995,0.998689739854,0.998694641534,0.998699534034,0.998704417353,0.998709291494,0.998714156454,0.998719012234,0.998723858834,0.998728696254,0.998733524494,0.998738343554,0.998743153434,0.998747954133,0.998752745652,0.998757527991,0.99876230115,0.998767065128,0.998771819925,0.998776565542,0.998781301979,0.998786029235,0.99879074731,0.998795456205,0.998800155919,0.998804846452,0.998809527805,0.998814199976,0.998818862967,0.998823516777,0.998828161406,0.998832796854,0.99883742312,0.998842040206,0.99884664811,0.998851246834,0.998855836376,0.998860416737,0.998864987916,0.998869549914,0.998874102731,0.998878646366,0.99888318082,0.998887706093,0.998892222183,0.998896729092,0.99890122682,0.998905715366,0.99891019473,0.998914664912,0.998919125913,0.998923577731,0.998928020368,0.998932453823,0.998936878096,0.998941293187,0.998945699096,0.998950095822,0.998954483367,0.998958861729,0.99896323091,0.998967590908,0.998971941723,0.998976283356,0.998980615807,0.998984939076,0.998989253162,0.998993558066,0.998997853787,0.999002140325,0.999006417681,0.999010685854,0.999014944845,0.999019194652,0.999023435277,0.99902766672,0.999031888979,0.999036102055,0.999040305949,0.999044500659,0.999048686187,0.999052862532,0.999057029693,0.999061187671,0.999065336466,0.999069476078,0.999073606507,0.999077727753,0.999081839815,0.999085942694,0.999090036389,0.999094120901,0.99909819623,0.999102262375,0.999106319336,0.999110367114,0.999114405709,0.999118435119,0.999122455346,0.99912646639,0.999130468249,0.999134460925,0.999138444417,0.999142418725,0.999146383849,0.999150339789,0.999154286545,0.999158224118,0.999162152506,0.99916607171,0.99916998173,0.999173882566,0.999177774217,0.999181656685,0.999185529968,0.999189394067,0.999193248981,0.999197094711,0.999200931257,0.999204758618,0.999208576795,0.999212385787,0.999216185595,0.999219976218,0.999223757657,0.999227529911,0.99923129298,0.999235046865,0.999238791564,0.999242527079,0.999246253409,0.999249970555,0.999253678515,0.999257377291,0.999261066881,0.999264747287,0.999268418507,0.999272080543,0.999275733393,0.999279377058,0.999283011538,0.999286636833,0.999290252943,0.999293859867,0.999297457606,0.99930104616,0.999304625528,0.999308195711,0.999311756709,0.999315308521,0.999318851147,0.999322384588,0.999325908844,0.999329423914,0.999332929798,0.999336426497,0.99933991401,0.999343392337,0.999346861478,0.999350321434,0.999353772204,0.999357213788,0.999360646186,0.999364069399,0.999367483425,0.999370888265,0.99937428392,0.999377670388,0.99938104767,0.999384415766,0.999387774676,0.9993911244,0.999394464938,0.99939779629,0.999401118455,0.999404431434,0.999407735226,0.999411029833,0.999414315253,0.999417591486,0.999420858533,0.999424116394,0.999427365068,0.999430604555,0.999433834857,0.999437055971,0.999440267899,0.99944347064,0.999446664195,0.999449848562,0.999453023744,0.999456189738,0.999459346546,0.999462494166,0.9994656326,0.999468761847,0.999471881907,0.999474992781,0.999478094467,0.999481186966,0.999484270278,0.999487344404,0.999490409342,0.999493465093,0.999496511657,0.999499549033,0.999502577223,0.999505596225,0.99950860604,0.999511606668,0.999514598109,0.999517580362,0.999520553428,0.999523517306,0.999526471997,0.999529417501,0.999532353817,0.999535280946,0.999538198887,0.999541107641,0.999544007207,0.999546897585,0.999549778776,0.999552650779,0.999555513595,0.999558367223,0.999561211663,0.999564046915,0.99956687298,0.999569689857,0.999572497546,0.999575296047,0.99957808536,0.999580865485,0.999583636423,0.999586398172,0.999589150734,0.999591894107,0.999594628292,0.99959735329,0.999600069099,0.99960277572,0.999605473153,0.999608161398,0.999610840455,0.999613510323,0.999616171003,0.999618822495,0.999621464799,0.999624097914,0.999626721841,0.99962933658,0.99963194213,0.999634538492,0.999637125666,0.999639703651,0.999642272447,0.999644832055,0.999647382475,0.999649923706,0.999652455748,0.999654978602,0.999657492267,0.999659996744,0.999662492032,0.999664978131,0.999667455042,0.999669922763,0.999672381297,0.999674830641,0.999677270796,0.999679701763,0.999682123541,0.99968453613,0.99968693953,0.999689333741,0.999691718763,0.999694094597,0.999696461241,0.999698818696,0.999701166963,0.99970350604,0.999705835928,0.999708156627,0.999710468137,0.999712770458,0.99971506359,0.999717347532,0.999719622286,0.99972188785,0.999724144225,0.999726391411,0.999728629407,0.999730858214,0.999733077832,0.999735288261,0.9997374895,0.999739681549,0.99974186441,0.999744038081,0.999746202562,0.999748357855,0.999750503957,0.99975264087,0.999754768594,0.999756887128,0.999758996472,0.999761096627,0.999763187593,0.999765269369,0.999767341955,0.999769405351,0.999771459558,0.999773504575,0.999775540403,0.99977756704,0.999779584488,0.999781592747,0.999783591815,0.999785581694,0.999787562382,0.999789533881,0.999791496191,0.99979344931,0.999795393239,0.999797327979,0.999799253528,0.999801169888,0.999803077058,0.999804975037,0.999806863827,0.999808743427,0.999810613836,0.999812475056,0.999814327085,0.999816169925,0.999818003574,0.999819828034,0.999821643303,0.999823449382,0.99982524627,0.999827033969,0.999828812478,0.999830581796,0.999832341924,0.999834092862,0.999835834609,0.999837567166,0.999839290533,0.99984100471,0.999842709696,0.999844405492,0.999846092098,0.999847769513,0.999849437738,0.999851096772,0.999852746616,0.99985438727,0.999856018733,0.999857641006,0.999859254088,0.99986085798,0.999862452681,0.999864038192,0.999865614512,0.999867181641,0.999868739581,0.999870288329,0.999871827887,0.999873358254,0.999874879431,0.999876391417,0.999877894212,0.999879387817,0.999880872231,0.999882347454,0.999883813487,0.999885270329,0.99988671798,0.99988815644,0.99988958571,0.999891005789,0.999892416677,0.999893818374,0.999895210881,0.999896594197,0.999897968321,0.999899333256,0.999900688999,0.999902035551,0.999903372912,0.999904701083,0.999906020062,0.999907329851,0.999908630449,0.999909921856,0.999911204071,0.999912477096,0.99991374093,0.999914995573,0.999916241025,0.999917477286,0.999918704356,0.999919922235,0.999921130922,0.999922330419,0.999923520725,0.999924701839,0.999925873763,0.999927036495,0.999928190036,0.999929334386,0.999930469545,0.999931595513,0.99993271229,0.999933819875,0.99993491827,0.999936007473,0.999937087485,0.999938158305,0.999939219935,0.999940272373,0.99994131562,0.999942349676,0.999943374541,0.999944390214,0.999945396696,0.999946393987,0.999947382086,0.999948360994,0.999949330711,0.999950291236,0.999951242571,0.999952184714,0.999953117665,0.999954041425,0.999954955994,0.999955861371,0.999956757557,0.999957644552,0.999958522355,0.999959390967,0.999960250387,0.999961100616,0.999961941654,0.9999627735,0.999963596155,0.999964409618,0.99996521389,0.99996600897,0.999966794859,0.999967571556,0.999968339062,0.999969097377,0.9999698465,0.999970586431,0.999971317171,0.999972038719,0.999972751076,0.999973454241,0.999974148215,0.999974832997,0.999975508588,0.999976174987,0.999976832194,0.99997748021,0.999978119035,0.999978748667,0.999979369109,0.999979980358,0.999980582416,0.999981175283,0.999981758957,0.999982333441,0.999982898732,0.999983454832,0.99998400174,0.999984539457,0.999985067982,0.999985587315,0.999986097457,0.999986598407,0.999987090165,0.999987572732,0.999988046107,0.99998851029,0.999988965282,0.999989411082,0.99998984769,0.999990275107,0.999990693332,0.999991102365,0.999991502206,0.999991892856,0.999992274314,0.999992646581,0.999993009655,0.999993363538,0.99999370823,0.999994043729,0.999994370037,0.999994687153,0.999994995077,0.99999529381,0.99999558335,0.999995863699,0.999996134857,0.999996396822,0.999996649596,0.999996893178,0.999997127568,0.999997352767,0.999997568774,0.999997775589,0.999997973212,0.999998161643,0.999998340883,0.999998510931,0.999998671787,0.999998823452,0.999998965924,0.999999099205,0.999999223294,0.999999338192,0.999999443897,0.999999540411,0.999999627733,0.999999705863,0.999999774801,0.999999834548,0.999999885103,0.999999926466,0.999999958637,0.999999981616,0.999999995404,1.0,0.999999995404,0.999999981616,0.999999958637,0.999999926466,0.999999885103,0.999999834548,0.999999774801,0.999999705863,0.999999627733,0.999999540411,0.999999443897,0.999999338192,0.999999223294,0.999999099205,0.999998965924,0.999998823452,0.999998671787,0.999998510931,0.999998340883,0.999998161643,0.999997973212,0.999997775589,0.999997568774,0.999997352767,0.999997127568,0.999996893178,0.999996649596,0.999996396822,0.999996134857,0.999995863699,0.99999558335,0.99999529381,0.999994995077,0.999994687153,0.999994370037,0.999994043729,0.99999370823,0.999993363538,0.999993009655,0.999992646581,0.999992274314,0.999991892856,0.999991502206,0.999991102365,0.999990693332,0.999990275107,0.99998984769,0.999989411082,0.999988965282,0.99998851029,0.999988046107,0.999987572732,0.999987090165,0.999986598407,0.999986097457,0.999985587315,0.999985067982,0.999984539457,0.99998400174,0.999983454832,0.999982898732,0.999982333441,0.999981758957,0.999981175283,0.999980582416,0.999979980358,0.999979369109,0.999978748667,0.999978119035,0.99997748021,0.999976832194,0.999976174987,0.999975508588,0.999974832997,0.999974148215,0.999973454241,0.999972751076,0.999972038719,0.999971317171,0.999970586431,0.9999698465,0.999969097377,0.999968339062,0.999967571556,0.999966794859,0.99996600897,0.99996521389,0.999964409618,0.999963596155,0.9999627735,0.999961941654,0.999961100616,0.999960250387,0.999959390967,0.999958522355,0.999957644552,0.999956757557,0.999955861371,0.999954955994,0.999954041425,0.999953117665,0.999952184714,0.999951242571,0.999950291236,0.999949330711,0.999948360994,0.999947382086,0.999946393987,0.999945396696,0.999944390214,0.999943374541,0.999942349676,0.99994131562,0.999940272373,0.999939219935,0.999938158305,0.999937087485,0.999936007473,0.99993491827,0.999933819875,0.99993271229,0.999931595513,0.999930469545,0.999929334386,0.999928190036,0.999927036495,0.999925873763,0.999924701839,0.999923520725,0.999922330419,0.999921130922,0.999919922235,0.999918704356,0.999917477286,0.999916241025,0.999914995573,0.99991374093,0.999912477096,0.999911204071,0.999909921856,0.999908630449,0.999907329851,0.999906020062,0.999904701083,0.999903372912,0.999902035551,0.999900688999,0.999899333256,0.999897968321,0.999896594197,0.999895210881,0.999893818374,0.999892416677,0.999891005789,0.99988958571,0.99988815644,0.99988671798,0.999885270329,0.999883813487,0.999882347454,0.999880872231,0.999879387817,0.999877894212,0.999876391417,0.999874879431,0.999873358254,0.999871827887,0.999870288329,0.999868739581,0.999867181641,0.999865614512,0.999864038192,0.999862452681,0.99986085798,0.999859254088,0.999857641006,0.999856018733,0.99985438727,0.999852746616,0.999851096772,0.999849437738,0.999847769513,0.999846092098,0.999844405492,0.999842709696,0.99984100471,0.999839290533,0.999837567166,0.999835834609,0.999834092862,0.999832341924,0.999830581796,0.999828812478,0.999827033969,0.99982524627,0.999823449382,0.999821643303,0.999819828034,0.999818003574,0.999816169925,0.999814327085,0.999812475056,0.999810613836,0.999808743427,0.999806863827,0.999804975037,0.999803077058,0.999801169888,0.999799253528,0.999797327979,0.999795393239,0.99979344931,0.999791496191,0.999789533881,0.999787562382,0.999785581694,0.999783591815,0.999781592747,0.999779584488,0.99977756704,0.999775540403,0.999773504575,0.999771459558,0.999769405351,0.999767341955,0.999765269369,0.999763187593,0.999761096627,0.999758996472,0.999756887128,0.999754768594,0.99975264087,0.999750503957,0.999748357855,0.999746202562,0.999744038081,0.99974186441,0.999739681549,0.9997374895,0.999735288261,0.999733077832,0.999730858214,0.999728629407,0.999726391411,0.999724144225,0.99972188785,0.999719622286,0.999717347532,0.99971506359,0.999712770458,0.999710468137,0.999708156627,0.999705835928,0.99970350604,0.999701166963,0.999698818696,0.999696461241,0.999694094597,0.999691718763,0.999689333741,0.99968693953,0.99968453613,0.999682123541,0.999679701763,0.999677270796,0.999674830641,0.999672381297,0.999669922763,0.999667455042,0.999664978131,0.999662492032,0.999659996744,0.999657492267,0.999654978602,0.999652455748,0.999649923706,0.999647382475,0.999644832055,0.999642272447,0.999639703651,0.999637125666,0.999634538492,0.99963194213,0.99962933658,0.999626721841,0.999624097914,0.999621464799,0.999618822495,0.999616171003,0.999613510323,0.999610840455,0.999608161398,0.999605473153,0.99960277572,0.999600069099,0.99959735329,0.999594628292,0.999591894107,0.999589150734,0.999586398172,0.999583636423,0.999580865485,0.99957808536,0.999575296047,0.999572497546,0.999569689857,0.99956687298,0.999564046915,0.999561211663,0.999558367223,0.999555513595,0.999552650779,0.999549778776,0.999546897585,0.999544007207,0.999541107641,0.999538198887,0.999535280946,0.999532353817,0.999529417501,0.999526471997,0.999523517306,0.999520553428,0.999517580362,0.999514598109,0.999511606668,0.99950860604,0.999505596225,0.999502577223,0.999499549033,0.999496511657,0.999493465093,0.999490409342,0.999487344404,0.999484270278,0.999481186966,0.999478094467,0.999474992781,0.999471881907,0.999468761847,0.9994656326,0.999462494166,0.999459346546,0.999456189738,0.999453023744,0.999449848562,0.999446664195,0.99944347064,0.999440267899,0.999437055971,0.999433834857,0.999430604555,0.999427365068,0.999424116394,0.999420858533,0.999417591486,0.999414315253,0.999411029833,0.999407735226,0.999404431434,0.999401118455,0.99939779629,0.999394464938,0.9993911244,0.999387774676,0.999384415766,0.99938104767,0.999377670388,0.99937428392,0.999370888265,0.999367483425,0.999364069399,0.999360646186,0.999357213788,0.999353772204,0.999350321434,0.999346861478,0.999343392337,0.99933991401,0.999336426497,0.999332929798,0.999329423914,0.999325908844,0.999322384588,0.999318851147,0.999315308521,0.999311756709,0.999308195711,0.999304625528,0.99930104616,0.999297457606,0.999293859867,0.999290252943,0.999286636833,0.999283011538,0.999279377058,0.999275733393,0.999272080543,0.999268418507,0.999264747287,0.999261066881,0.999257377291,0.999253678515,0.999249970555,0.999246253409,0.999242527079,0.999238791564,0.999235046865,0.99923129298,0.999227529911,0.999223757657,0.999219976218,0.999216185595,0.999212385787,0.999208576795,0.999204758618,0.999200931257,0.999197094711,0.999193248981,0.999189394067,0.999185529968,0.999181656685,0.999177774217,0.999173882566,0.99916998173,0.99916607171,0.999162152506,0.999158224118,0.999154286545,0.999150339789,0.999146383849,0.999142418725,0.999138444417,0.999134460925,0.999130468249,0.99912646639,0.999122455346,0.999118435119,0.999114405709,0.999110367114,0.999106319336,0.999102262375,0.99909819623,0.999094120901,0.999090036389,0.999085942694,0.999081839815,0.999077727753,0.999073606507,0.999069476078,0.999065336466,0.999061187671,0.999057029693,0.999052862532,0.999048686187,0.999044500659,0.999040305949,0.999036102055,0.999031888979,0.99902766672,0.999023435277,0.999019194652,0.999014944845,0.999010685854,0.999006417681,0.999002140325,0.998997853787,0.998993558066,0.998989253162,0.998984939076,0.998980615807,0.998976283356,0.998971941723,0.998967590908,0.99896323091,0.998958861729,0.998954483367,0.998950095822,0.998945699096,0.998941293187,0.998936878096,0.998932453823,0.998928020368,0.998923577731,0.998919125913,0.998914664912,0.99891019473,0.998905715366,0.99890122682,0.998896729092,0.998892222183,0.998887706093,0.99888318082,0.998878646366,0.998874102731,0.998869549914,0.998864987916,0.998860416737,0.998855836376,0.998851246834,0.99884664811,0.998842040206,0.99883742312,0.998832796854,0.998828161406,0.998823516777,0.998818862967,0.998814199976,0.998809527805,0.998804846452,0.998800155919,0.998795456205,0.99879074731,0.998786029235,0.998781301979,0.998776565542,0.998771819925,0.998767065128,0.99876230115,0.998757527991,0.998752745652,0.998747954133,0.998743153434,0.998738343554,0.998733524494,0.998728696254,0.998723858834,0.998719012234,0.998714156454,0.998709291494,0.998704417353,0.998699534034,0.998694641534,0.998689739854,0.998684828995,0.998679908956,0.998674979737,0.998670041339,0.998665093761,0.998660137004,0.998655171067,0.998650195951,0.998645211655,0.99864021818,0.998635215526,0.998630203693,0.99862518268,0.998620152488,0.998615113117,0.998610064567,0.998605006838,0.99859993993,0.998594863843,0.998589778578,0.998584684133,0.99857958051,0.998574467708,0.998569345727,0.998564214568,0.99855907423,0.998553924713,0.998548766018,0.998543598145,0.998538421093,0.998533234863,0.998528039454,0.998522834868,0.998517621103,0.99851239816,0.998507166038,0.998501924739,0.998496674262,0.998491414606,0.998486145773,0.998480867762,0.998475580573,0.998470284207,0.998464978662,0.99845966394,0.998454340041,0.998449006963,0.998443664708,0.998438313276,0.998432952667,0.998427582879,0.998422203915,0.998416815773,0.998411418454,0.998406011958,0.998400596285,0.998395171435,0.998389737407,0.998384294203,0.998378841822,0.998373380264,0.998367909529,0.998362429617,0.998356940528,0.998351442263,0.998345934821,0.998340418203,0.998334892408,0.998329357436,0.998323813289,0.998318259964,0.998312697464,0.998307125787,0.998301544934,0.998295954905,0.998290355699,0.998284747318,0.99827912976,0.998273503027,0.998267867118,0.998262222032,0.998256567771,0.998250904335,0.998245231722,0.998239549934,0.99823385897,0.998228158831,0.998222449516,0.998216731026,0.99821100336,0.99820526652,0.998199520503,0.998193765312,0.998188000945,0.998182227403,0.998176444686,0.998170652795,0.998164851728,0.998159041486,0.998153222069,0.998147393478,0.998141555712,0.998135708771,0.998129852655,0.998123987365,0.9981181129,0.998112229261,0.998106336447,0.998100434459,0.998094523297,0.99808860296,0.99808267345,0.998076734765,0.998070786905,0.998064829872,0.998058863665,0.998052888284,0.998046903729,0.99804091,0.998034907098,0.998028895021,0.998022873771,0.998016843348,0.998010803751,0.99800475498,0.997998697036,0.997992629919,0.997986553628,0.997980468164,0.997974373526,0.997968269716,0.997962156732,0.997956034576,0.997949903246,0.997943762743,0.997937613068,0.99793145422,0.997925286199,0.997919109005,0.997912922638,0.997906727099,0.997900522388,0.997894308504,0.997888085447,0.997881853218,0.997875611817,0.997869361244,0.997863101498,0.99785683258,0.99785055449,0.997844267228,0.997837970795,0.997831665189,0.997825350411,0.997819026462,0.99781269334,0.997806351048,0.997799999583,0.997793638947,0.99778726914,0.997780890161,0.99777450201,0.997768104688,0.997761698195,0.997755282531,0.997748857696,0.997742423689,0.997735980512,0.997729528164,0.997723066644,0.997716595954,0.997710116093,0.997703627061,0.997697128859,0.997690621486,0.997684104942,0.997677579228,0.997671044343,0.997664500289,0.997657947063,0.997651384668,0.997644813102,0.997638232366,0.99763164246,0.997625043384,0.997618435139,0.997611817723,0.997605191137,0.997598555382,0.997591910457,0.997585256362,0.997578593098,0.997571920664,0.99756523906,0.997558548288,0.997551848346,0.997545139234,0.997538420954,0.997531693504,0.997524956885,0.997518211097,0.99751145614,0.997504692015,0.99749791872,0.997491136257,0.997484344624,0.997477543824,0.997470733854,0.997463914716,0.99745708641,0.997450248935,0.997443402292,0.997436546481,0.997429681501,0.997422807353,0.997415924037,0.997409031553,0.997402129901,0.997395219081,0.997388299094,0.997381369938,0.997374431615,0.997367484124,0.997360527466,0.99735356164,0.997346586647,0.997339602486,0.997332609158,0.997325606662,0.997318595,0.99731157417,0.997304544173,0.997297505009,0.997290456679,0.997283399181,0.997276332517,0.997269256685,0.997262171688,0.997255077523,0.997247974192,0.997240861694,0.99723374003,0.9972266092,0.997219469204,0.997212320041,0.997205161712,0.997197994217,0.997190817555,0.997183631728,0.997176436735,0.997169232576,0.997162019252,0.997154796762,0.997147565106,0.997140324284,0.997133074297,0.997125815145,0.997118546827,0.997111269344,0.997103982696,0.997096686882,0.997089381903,0.99708206776,0.997074744451,0.997067411978,0.997060070339,0.997052719536,0.997045359569,0.997037990436,0.997030612139,0.997023224678,0.997015828052,0.997008422262,0.997001007307,0.996993583189,0.996986149906,0.996978707459,0.996971255848,0.996963795073,0.996956325134,0.996948846031,0.996941357765,0.996933860335,0.996926353741,0.996918837984,0.996911313064,0.99690377898,0.996896235732,0.996888683322,0.996881121748,0.996873551011,0.996865971111,0.996858382048,0.996850783822,0.996843176434,0.996835559882,0.996827934168,0.996820299291,0.996812655252,0.99680500205,0.996797339686,0.996789668159,0.99678198747,0.996774297619,0.996766598606,0.996758890431,0.996751173094,0.996743446594,0.996735710933,0.996727966111,0.996720212126,0.99671244898,0.996704676672,0.996696895203,0.996689104572,0.99668130478,0.996673495827,0.996665677712,0.996657850437,0.996650014,0.996642168402,0.996634313644,0.996626449724,0.996618576644,0.996610694403,0.996602803002,0.99659490244,0.996586992717,0.996579073834,0.996571145791,0.996563208587,0.996555262223,0.996547306699,0.996539342015,0.996531368171,0.996523385167,0.996515393004,0.99650739168,0.996499381197,0.996491361554,0.996483332752,0.99647529479,0.996467247669,0.996459191389,0.996451125949,0.99644305135,0.996434967592,0.996426874675,0.996418772599,0.996410661364,0.996402540971,0.996394411419,0.996386272708,0.996378124838,0.99636996781,0.996361801624,0.996353626279,0.996345441776,0.996337248115,0.996329045295,0.996320833318,0.996312612183,0.99630438189,0.996296142438,0.99628789383,0.996279636063,0.996271369139,0.996263093058,0.996254807819,0.996246513422,0.996238209869,0.996229897158,0.99622157529,0.996213244265,0.996204904083,0.996196554744,0.996188196248,0.996179828596,0.996171451787,0.996163065821,0.996154670699,0.99614626642,0.996137852985,0.996129430393,0.996120998646,0.996112557742,0.996104107682,0.996095648467,0.996087180095,0.996078702568,0.996070215884,0.996061720046,0.996053215051,0.996044700901,0.996036177596,0.996027645135,0.996019103519,0.996010552748,0.996001992822,0.99599342374,0.995984845504,0.995976258113,0.995967661567,0.995959055866,0.995950441011,0.995941817001,0.995933183837,0.995924541518,0.995915890045,0.995907229417,0.995898559636,0.9958898807,0.995881192611,0.995872495367,0.99586378897,0.995855073419,0.995846348714,0.995837614855,0.995828871843,0.995820119678,0.995811358359,0.995802587887,0.995793808262,0.995785019483,0.995776221552,0.995767414468,0.99575859823,0.99574977284,0.995740938298,0.995732094602,0.995723241754,0.995714379754,0.995705508601,0.995696628296,0.995687738838,0.995678840229,0.995669932467,0.995661015554,0.995652089488,0.995643154271,0.995634209902,0.995625256381,0.995616293709,0.995607321885,0.99559834091,0.995589350783,0.995580351506,0.995571343077,0.995562325497,0.995553298766,0.995544262884,0.995535217851,0.995526163668,0.995517100333,0.995508027849,0.995498946213,0.995489855428,0.995480755492,0.995471646406,0.995462528169,0.995453400783,0.995444264247,0.99543511856,0.995425963724,0.995416799738,0.995407626603,0.995398444317,0.995389252883,0.995380052299,0.995370842565,0.995361623683,0.995352395651,0.99534315847,0.99533391214,0.995324656662,0.995315392034,0.995306118258,0.995296835333,0.99528754326,0.995278242038,0.995268931668,0.995259612149,0.995250283482,0.995240945667,0.995231598705,0.995222242594,0.995212877335,0.995203502928,0.995194119374,0.995184726672,0.995175324823,0.995165913826,0.995156493682,0.99514706439,0.995137625952,0.995128178366,0.995118721633,0.995109255754,0.995099780727,0.995090296554,0.995080803234,0.995071300768,0.995061789155,0.995052268396,0.99504273849,0.995033199438,0.99502365124,0.995014093896,0.995004527406,0.99499495177,0.994985366989,0.994975773061,0.994966169989,0.99495655777,0.994946936406,0.994937305897,0.994927666243,0.994918017443,0.994908359498,0.994898692409,0.994889016174,0.994879330795,0.994869636271,0.994859932602,0.994850219789,0.994840497831,0.994830766729,0.994821026483,0.994811277092,0.994801518558,0.994791750879,0.994781974057,0.99477218809,0.99476239298,0.994752588726,0.994742775329,0.994732952788,0.994723121104,0.994713280277,0.994703430306,0.994693571193,0.994683702936,0.994673825536,0.994663938994,0.994654043309,0.994644138481,0.994634224511,0.994624301398,0.994614369143,0.994604427745,0.994594477206,0.994584517524,0.9945745487,0.994564570734,0.994554583627,0.994544587377,0.994534581987,0.994524567454,0.99451454378,0.994504510965,0.994494469008,0.994484417911,0.994474357672,0.994464288292,0.994454209771,0.99444412211,0.994434025308,0.994423919365,0.994413804281,0.994403680058,0.994393546694,0.994383404189,0.994373252545,0.99436309176,0.994352921835,0.994342742771,0.994332554567,0.994322357223,0.994312150739,0.994301935116,0.994291710353,0.994281476452,0.994271233411,0.99426098123,0.994250719911,0.994240449453,0.994230169856,0.994219881121,0.994209583246,0.994199276233,0.994188960082,0.994178634792,0.994168300364,0.994157956798,0.994147604093,0.994137242251,0.994126871271,0.994116491153,0.994106101897,0.994095703504,0.994085295973,0.994074879305,0.994064453499,0.994054018557,0.994043574477,0.99403312126,0.994022658906,0.994012187415,0.994001706787,0.993991217023,0.993980718123,0.993970210085,0.993959692912,0.993949166602,0.993938631156,0.993928086574,0.993917532856,0.993906970002,0.993896398013,0.993885816887,0.993875226626,0.99386462723,0.993854018698,0.993843401031,0.993832774229,0.993822138292,0.993811493219,0.993800839012,0.99379017567,0.993779503193,0.993768821582,0.993758130836,0.993747430955,0.993736721941,0.993726003792,0.993715276509,0.993704540092,0.993693794541,0.993683039856,0.993672276038,0.993661503086,0.993650721,0.993639929781,0.993629129429,0.993618319943,0.993607501325,0.993596673573,0.993585836688,0.993574990671,0.993564135521,0.993553271238,0.993542397822,0.993531515275,0.993520623595,0.993509722782,0.993498812838,0.993487893761,0.993476965553,0.993466028213,0.993455081741,0.993444126137,0.993433161402,0.993422187535,0.993411204537,0.993400212408,0.993389211148,0.993378200757,0.993367181235,0.993356152582,0.993345114798,0.993334067884,0.993323011839,0.993311946664,0.993300872358,0.993289788922,0.993278696356,0.993267594661,0.993256483835,0.993245363879,0.993234234794,0.993223096579,0.993211949235,0.993200792761,0.993189627158,0.993178452426,0.993167268564,0.993156075574,0.993144873455,0.993133662207,0.99312244183,0.993111212325,0.993099973692,0.99308872593,0.993077469039,0.993066203021,0.993054927875,0.9930436436,0.993032350198,0.993021047668,0.99300973601,0.992998415225,0.992987085312,0.992975746273,0.992964398105,0.992953040811,0.99294167439,0.992930298842,0.992918914167,0.992907520365,0.992896117437,0.992884705382,0.992873284201,0.992861853893,0.99285041446,0.9928389659,0.992827508215,0.992816041403,0.992804565466,0.992793080403,0.992781586215,0.992770082901,0.992758570462,0.992747048897,0.992735518208,0.992723978393,0.992712429454,0.992700871389,0.9926893042,0.992677727887,0.992666142449,0.992654547887,0.9926429442,0.992631331389,0.992619709454,0.992608078395,0.992596438213,0.992584788906,0.992573130476,0.992561462923,0.992549786246,0.992538100446,0.992526405522,0.992514701476,0.992502988306,0.992491266014,0.992479534599,0.992467794061,0.992456044401,0.992444285618,0.992432517713,0.992420740685,0.992408954536,0.992397159264,0.992385354871,0.992373541356,0.992361718719,0.99234988696,0.99233804608,0.992326196079,0.992314336957,0.992302468713,0.992290591348,0.992278704863,0.992266809256,0.992254904529,0.992242990681,0.992231067713,0.992219135625,0.992207194416,0.992195244087,0.992183284638,0.992171316069,0.99215933838,0.992147351571,0.992135355643,0.992123350596,0.992111336428,0.992099313142,0.992087280737,0.992075239212,0.992063188569,0.992051128806,0.992039059925,0.992026981926,0.992014894808,0.992002798571,0.991990693216,0.991978578744,0.991966455153,0.991954322444,0.991942180617,0.991930029672,0.99191786961,0.991905700431,0.991893522134,0.991881334719,0.991869138188,0.991856932539,0.991844717774,0.991832493892,0.991820260893,0.991808018777,0.991795767545,0.991783507197,0.991771237732,0.991758959152,0.991746671455,0.991734374642,0.991722068713,0.991709753669,0.991697429509,0.991685096234,0.991672753843,0.991660402337,0.991648041716,0.99163567198,0.991623293129,0.991610905163,0.991598508083,0.991586101888,0.991573686579,0.991561262155,0.991548828617,0.991536385965,0.991523934199,0.991511473319,0.991499003325,0.991486524218,0.991474035997,0.991461538662,0.991449032215,0.991436516654,0.99142399198,0.991411458193,0.991398915294,0.991386363281,0.991373802156,0.991361231919,0.991348652569,0.991336064107,0.991323466532,0.991310859846,0.991298244048,0.991285619138,0.991272985116,0.991260341983,0.991247689738,0.991235028382,0.991222357915,0.991209678336,0.991196989647,0.991184291847,0.991171584936,0.991158868914,0.991146143782,0.991133409539,0.991120666186,0.991107913723,0.99109515215,0.991082381467,0.991069601674,0.991056812772,0.99104401476,0.991031207638,0.991018391407,0.991005566067,0.990992731618,0.99097988806,0.990967035392,0.990954173617,0.990941302732,0.990928422739,0.990915533638,0.990902635428,0.99088972811,0.990876811684,0.99086388615,0.990850951508,0.990838007759,0.990825054902,0.990812092938,0.990799121866,0.990786141687,0.990773152401,0.990760154008,0.990747146508,0.990734129902,0.990721104188,0.990708069369,0.990695025443,0.99068197241,0.990668910272,0.990655839027,0.990642758677,0.990629669221,0.990616570659,0.990603462992,0.990590346219,0.990577220341,0.990564085358,0.990550941269,0.990537788076,0.990524625778,0.990511454375,0.990498273868,0.990485084256,0.99047188554,0.99045867772,0.990445460796,0.990432234768,0.990418999635,0.9904057554,0.99039250206,0.990379239617,0.990365968071,0.990352687421,0.990339397669,0.990326098813,0.990312790855,0.990299473793,0.99028614763,0.990272812363,0.990259467994,0.990246114523,0.99023275195,0.990219380275,0.990205999498,0.99019260962,0.990179210639,0.990165802557,0.990152385374,0.990138959089,0.990125523704,0.990112079217,0.990098625629,0.990085162941,0.990071691152,0.990058210262,0.990044720272,0.990031221182,0.990017712992,0.990004195701,0.989990669311,0.989977133821,0.989963589231,0.989950035542,0.989936472753,0.989922900865,0.989909319878,0.989895729791,0.989882130606,0.989868522322,0.98985490494,0.989841278459,0.989827642879,0.989813998202,0.989800344426,0.989786681552,0.98977300958,0.98975932851,0.989745638343,0.989731939078,0.989718230716,0.989704513256,0.989690786699,0.989677051046,0.989663306295,0.989649552448,0.989635789504,0.989622017463,0.989608236326,0.989594446093,0.989580646764,0.989566838338,0.989553020817,0.9895391942,0.989525358487,0.989511513679,0.989497659776,0.989483796777,0.989469924683,0.989456043494,0.989442153211,0.989428253832,0.989414345359,0.989400427791,0.989386501129,0.989372565373,0.989358620523,0.989344666579,0.989330703541,0.989316731409,0.989302750183,0.989288759865,0.989274760452,0.989260751947,0.989246734349,0.989232707657,0.989218671873,0.989204626996,0.989190573027,0.989176509965,0.989162437811,0.989148356564,0.989134266226,0.989120166796,0.989106058273,0.98909194066,0.989077813955,0.989063678158,0.98904953327,0.989035379291,0.989021216221,0.98900704406,0.988992862808,0.988978672466,0.988964473033,0.98895026451,0.988936046897,0.988921820194,0.9889075844,0.988893339517,0.988879085544,0.988864822482,0.98885055033,0.988836269089,0.988821978758,0.988807679339,0.988793370831,0.988779053234,0.988764726548,0.988750390774,0.988736045911,0.98872169196,0.988707328921,0.988692956794,0.98867857558,0.988664185277,0.988649785887,0.988635377409,0.988620959844,0.988606533192,0.988592097453,0.988577652627,0.988563198714,0.988548735715,0.988534263629,0.988519782456,0.988505292198,0.988490792853,0.988476284422,0.988461766905,0.988447240303,0.988432704615,0.988418159841,0.988403605982,0.988389043038,0.988374471009,0.988359889895,0.988345299697,0.988330700413,0.988316092045,0.988301474593,0.988286848056,0.988272212435,0.988257567731,0.988242913942,0.98822825107,0.988213579114,0.988198898075,0.988184207952,0.988169508746,0.988154800457,0.988140083086,0.988125356631,0.988110621094,0.988095876474,0.988081122772,0.988066359988,0.988051588122,0.988036807173,0.988022017143,0.988007218031,0.987992409838,0.987977592563,0.987962766207,0.98794793077,0.987933086252,0.987918232653,0.987903369973,0.987888498213,0.987873617372,0.987858727451,0.987843828449,0.987828920368,0.987814003206,0.987799076965,0.987784141645,0.987769197244,0.987754243765,0.987739281206,0.987724309568,0.987709328851,0.987694339055,0.987679340181,0.987664332228,0.987649315197,0.987634289087,0.9876192539,0.987604209634,0.987589156291,0.987574093869,0.987559022371,0.987543941794,0.987528852141,0.98751375341,0.987498645603,0.987483528718,0.987468402757,0.987453267719,0.987438123605,0.987422970414,0.987407808147,0.987392636804,0.987377456385,0.987362266891,0.987347068321,0.987331860675,0.987316643954,0.987301418158,0.987286183287,0.98727093934,0.987255686319,0.987240424224,0.987225153054,0.987209872809,0.987194583491,0.987179285098,0.987163977631,0.987148661091,0.987133335477,0.987118000789,0.987102657028,0.987087304193,0.987071942286,0.987056571306,0.987041191253,0.987025802127,0.987010403928,0.986994996658,0.986979580315,0.9869641549,0.986948720413,0.986933276854,0.986917824223,0.986902362521,0.986886891748,0.986871411903,0.986855922987,0.986840425,0.986824917943,0.986809401814,0.986793876615,0.986778342346,0.986762799007,0.986747246597,0.986731685117,0.986716114568,0.986700534949,0.98668494626,0.986669348502,0.986653741675,0.986638125778,0.986622500813,0.986606866779,0.986591223676,0.986575571505,0.986559910265,0.986544239957,0.986528560581,0.986512872136,0.986497174625,0.986481468045,0.986465752398,0.986450027683,0.986434293902,0.986418551053,0.986402799137,0.986387038154,0.986371268105,0.986355488989,0.986339700807,0.986323903559,0.986308097245,0.986292281864,0.986276457418,0.986260623906,0.986244781329,0.986228929686,0.986213068979,0.986197199206,0.986181320368,0.986165432465,0.986149535498,0.986133629467,0.986117714371,0.98610179021,0.986085856986,0.986069914698,0.986053963346,0.986038002931,0.986022033452,0.98600605491,0.985990067304,0.985974070636,0.985958064905,0.985942050111,0.985926026254,0.985909993335,0.985893951354,0.985877900311,0.985861840206,0.985845771038,0.98582969281,0.985813605519,0.985797509168,0.985781403755,0.985765289281,0.985749165746,0.98573303315,0.985716891493,0.985700740776,0.985684580999,0.985668412162,0.985652234264,0.985636047307,0.985619851289,0.985603646213,0.985587432076,0.985571208881,0.985554976626,0.985538735312,0.98552248494,0.985506225508,0.985489957018,0.98547367947,0.985457392864,0.985441097199,0.985424792476,0.985408478696,0.985392155858,0.985375823962,0.985359483009,0.985343132999,0.985326773932,0.985310405807,0.985294028626,0.985277642389,0.985261247095,0.985244842745,0.985228429338,0.985212006876,0.985195575357,0.985179134783,0.985162685154,0.985146226469,0.985129758728,0.985113281933,0.985096796083,0.985080301178,0.985063797218,0.985047284204,0.985030762135,0.985014231012,0.984997690835,0.984981141605,0.98496458332,0.984948015982,0.984931439591,0.984914854146,0.984898259648,0.984881656097,0.984865043494,0.984848421837,0.984831791128,0.984815151367,0.984798502554,0.984781844688,0.984765177771,0.984748501802,0.984731816781,0.984715122709,0.984698419586,0.984681707411,0.984664986185,0.984648255909,0.984631516582,0.984614768204,0.984598010776,0.984581244298,0.98456446877,0.984547684192,0.984530890564,0.984514087886,0.984497276159,0.984480455383,0.984463625558,0.984446786684,0.98442993876,0.984413081789,0.984396215768,0.984379340699,0.984362456583,0.984345563418,0.984328661205,0.984311749944,0.984294829636,0.98427790028,0.984260961878,0.984244014428,0.984227057931,0.984210092387,0.984193117797,0.98417613416,0.984159141476,0.984142139747,0.984125128972,0.98410810915,0.984091080283,0.984074042371,0.984056995413,0.98403993941,0.984022874361,0.984005800268,0.98398871713,0.983971624948,0.983954523721,0.983937413449,0.983920294134,0.983903165774,0.983886028371,0.983868881924,0.983851726434,0.9838345619,0.983817388323,0.983800205703,0.98378301404,0.983765813334,0.983748603586,0.983731384795,0.983714156962,0.983696920087,0.98367967417,0.983662419212,0.983645155211,0.98362788217,0.983610600087,0.983593308962,0.983576008797,0.983558699591,0.983541381345,0.983524054058,0.98350671773,0.983489372362,0.983472017955,0.983454654507,0.98343728202,0.983419900493,0.983402509927,0.983385110322,0.983367701677,0.983350283994,0.983332857272,0.983315421511,0.983297976712,0.983280522874,0.983263059999,0.983245588085,0.983228107134,0.983210617145,0.983193118119,0.983175610055,0.983158092955,0.983140566817,0.983123031642,0.983105487431,0.983087934184,0.983070371899,0.983052800579,0.983035220223,0.983017630831,0.983000032403,0.98298242494,0.982964808441,0.982947182908,0.982929548339,0.982911904735,0.982894252096,0.982876590423,0.982858919716,0.982841239974,0.982823551199,0.982805853389,0.982788146546,0.982770430669,0.982752705758,0.982734971815,0.982717228838,0.982699476829,0.982681715786,0.982663945711,0.982646166604,0.982628378464,0.982610581292,0.982592775089,0.982574959853,0.982557135586,0.982539302287,0.982521459958,0.982503608597,0.982485748205,0.982467878782,0.982450000328,0.982432112845,0.98241421633,0.982396310786,0.982378396212,0.982360472608,0.982342539974,0.982324598311,0.982306647618,0.982288687896,0.982270719146,0.982252741366,0.982234754558,0.982216758721,0.982198753856,0.982180739963,0.982162717042,0.982144685093,0.982126644117,0.982108594113,0.982090535081,0.982072467022,0.982054389937,0.982036303824,0.982018208685,0.98200010452,0.981981991328,0.98196386911,0.981945737865,0.981927597595,0.9819094483,0.981891289979,0.981873122632,0.981854946261,0.981836760864,0.981818566443,0.981800362996,0.981782150526,0.981763929031,0.981745698512,0.981727458969,0.981709210402,0.981690952811,0.981672686197,0.98165441056,0.981636125899,0.981617832215,0.981599529509,0.98158121778,0.981562897028,0.981544567255,0.981526228459,0.981507880641,0.981489523801,0.98147115794,0.981452783057,0.981434399152,0.981416006227,0.981397604281,0.981379193314,0.981360773326,0.981342344318,0.981323906289,0.981305459241,0.981287003172,0.981268538084,0.981250063976,0.981231580849,0.981213088702,0.981194587536,0.981176077352,0.981157558148,0.981139029926,0.981120492686,0.981101946427,0.98108339115,0.981064826856,0.981046253543,0.981027671213,0.981009079866,0.980990479502,0.98097187012,0.980953251721,0.980934624306,0.980915987874,0.980897342426,0.980878687962,0.980860024482,0.980841351985,0.980822670473,0.980803979946,0.980785280403,0.980766571845,0.980747854272,0.980729127685,0.980710392082,0.980691647465,0.980672893834,0.980654131189,0.98063535953,0.980616578857,0.98059778917,0.98057899047,0.980560182756,0.98054136603,0.98052254029,0.980503705538,0.980484861773,0.980466008996,0.980447147207,0.980428276405,0.980409396592,0.980390507767,0.98037160993,0.980352703082,0.980333787223,0.980314862353,0.980295928472,0.98027698558,0.980258033678,0.980239072766,0.980220102843,0.980201123911,0.980182135968,0.980163139016,0.980144133055,0.980125118084,0.980106094104,0.980087061115,0.980068019118,0.980048968112,0.980029908097,0.980010839074,0.979991761043,0.979972674005,0.979953577958,0.979934472905,0.979915358843,0.979896235775,0.9798771037,0.979857962617,0.979838812528,0.979819653433,0.979800485331,0.979781308224,0.97976212211,0.979742926991,0.979723722866,0.979704509735,0.979685287599,0.979666056459,0.979646816313,0.979627567163,0.979608309008,0.979589041849,0.979569765685,0.979550480518,0.979531186347,0.979511883172,0.979492570994,0.979473249812,0.979453919628,0.97943458044,0.97941523225,0.979395875057,0.979376508861,0.979357133664,0.979337749464,0.979318356263,0.97929895406,0.979279542855,0.979260122649,0.979240693442,0.979221255234,0.979201808025,0.979182351816,0.979162886606,0.979143412395,0.979123929185,0.979104436975,0.979084935765,0.979065425556,0.979045906347,0.979026378139,0.979006840932,0.978987294726,0.978967739522,0.978948175319,0.978928602118,0.978909019919,0.978889428721,0.978869828527,0.978850219334,0.978830601144,0.978810973957,0.978791337773,0.978771692592,0.978752038415,0.978732375241,0.97871270307,0.978693021904,0.978673331741,0.978653632583,0.978633924429,0.97861420728,0.978594481136,0.978574745997,0.978555001862,0.978535248733,0.97851548661,0.978495715492,0.978475935381,0.978456146275,0.978436348175,0.978416541082,0.978396724996,0.978376899916,0.978357065843,0.978337222778,0.97831737072,0.978297509669,0.978277639626,0.978257760591,0.978237872564,0.978217975545,0.978198069534,0.978178154533,0.97815823054,0.978138297556,0.978118355581,0.978098404615,0.978078444659,0.978058475713,0.978038497777,0.978018510851,0.977998514935,0.977978510029,0.977958496134,0.97793847325,0.977918441377,0.977898400515,0.977878350664,0.977858291825,0.977838223998,0.977818147183,0.977798061379,0.977777966588,0.97775786281,0.977737750044,0.977717628291,0.977697497551,0.977677357825,0.977657209111,0.977637051411,0.977616884725,0.977596709053,0.977576524396,0.977556330752,0.977536128123,0.977515916509,0.977495695909,0.977475466325,0.977455227756,0.977434980202,0.977414723664,0.977394458142,0.977374183635,0.977353900145,0.977333607671,0.977313306214,0.977292995774,0.977272676351,0.977252347944,0.977232010555,0.977211664184,0.97719130883,0.977170944494,0.977150571176,0.977130188876,0.977109797595,0.977089397332,0.977068988088,0.977048569863,0.977028142658,0.977007706471,0.976987261305,0.976966807158,0.976946344031,0.976925871924,0.976905390837,0.976884900771,0.976864401725,0.976843893701,0.976823376697,0.976802850715,0.976782315754,0.976761771815,0.976741218897,0.976720657002,0.976700086129,0.976679506278,0.97665891745,0.976638319644,0.976617712862,0.976597097102,0.976576472366,0.976555838653,0.976535195965,0.9765145443,0.976493883659,0.976473214042,0.97645253545,0.976431847883,0.97641115134,0.976390445822,0.97636973133,0.976349007863,0.976328275422,0.976307534006,0.976286783617,0.976266024253,0.976245255916,0.976224478606,0.976203692322,0.976182897066,0.976162092836,0.976141279634,0.976120457459,0.976099626312,0.976078786193,0.976057937102,0.976037079039,0.976016212005,0.975995335999,0.975974451022,0.975953557075,0.975932654156,0.975911742267,0.975890821408,0.975869891578,0.975848952779,0.975828005009,0.975807048271,0.975786082562,0.975765107885,0.975744124238,0.975723131623,0.975702130039,0.975681119486,0.975660099965,0.975639071476,0.97561803402,0.975596987595,0.975575932204,0.975554867844,0.975533794518,0.975512712225,0.975491620965,0.975470520739,0.975449411546,0.975428293388,0.975407166263,0.975386030173,0.975364885117,0.975343731095,0.975322568109,0.975301396158,0.975280215241,0.975259025361,0.975237826516,0.975216618706,0.975195401933,0.975174176196,0.975152941495,0.975131697831,0.975110445204,0.975089183614,0.975067913061,0.975046633545,0.975025345067,0.975004047627,0.974982741224,0.97496142586,0.974940101534,0.974918768247,0.974897425999,0.974876074789,0.974854714619,0.974833345488,0.974811967396,0.974790580344,0.974769184333,0.974747779361,0.974726365429,0.974704942539,0.974683510689,0.974662069879,0.974640620111,0.974619161384,0.974597693699,0.974576217056,0.974554731454,0.974533236894,0.974511733377,0.974490220902,0.97446869947,0.974447169081,0.974425629735,0.974404081432,0.974382524173,0.974360957957,0.974339382786,0.974317798658,0.974296205575,0.974274603536,0.974252992541,0.974231372592,0.974209743688,0.974188105829,0.974166459015,0.974144803247,0.974123138525,0.97410146485,0.97407978222,0.974058090637,0.9740363901,0.974014680611,0.973992962168,0.973971234773,0.973949498425,0.973927753125,0.973905998872,0.973884235668,0.973862463512,0.973840682405,0.973818892346,0.973797093336,0.973775285375,0.973753468463,0.973731642601,0.973709807788,0.973687964026,0.973666111313,0.973644249651,0.973622379039,0.973600499478,0.973578610967,0.973556713508,0.9735348071,0.973512891744,0.973490967439,0.973469034186,0.973447091985,0.973425140837,0.973403180741,0.973381211697,0.973359233707,0.973337246769,0.973315250885,0.973293246055,0.973271232278,0.973249209555,0.973227177886,0.973205137271,0.973183087711,0.973161029206,0.973138961755,0.97311688536,0.97309480002,0.973072705735,0.973050602507,0.973028490334,0.973006369217,0.972984239157,0.972962100153,0.972939952206,0.972917795315,0.972895629482,0.972873454707,0.972851270989,0.972829078328,0.972806876726,0.972784666182,0.972762446696,0.972740218268,0.9727179809,0.97269573459,0.97267347934,0.972651215149,0.972628942018,0.972606659946,0.972584368935,0.972562068983,0.972539760093,0.972517442262,0.972495115493,0.972472779784,0.972450435137,0.972428081552,0.972405719027,0.972383347565,0.972360967165,0.972338577827,0.972316179552,0.972293772339,0.972271356189,0.972248931102,0.972226497079,0.972204054119,0.972181602223,0.97215914139,0.972136671622,0.972114192918,0.972091705279,0.972069208704,0.972046703195,0.97202418875,0.972001665371,0.971979133057,0.97195659181,0.971934041628,0.971911482512,0.971888914463,0.97186633748,0.971843751564,0.971821156716,0.971798552934,0.97177594022,0.971753318574,0.971730687995,0.971708048484,0.971685400042,0.971662742668,0.971640076363,0.971617401127,0.97159471696,0.971572023862,0.971549321833,0.971526610875,0.971503890986,0.971481162168,0.97145842442,0.971435677742,0.971412922135,0.971390157599,0.971367384135,0.971344601741,0.97132181042,0.97129901017,0.971276200992,0.971253382887,0.971230555853,0.971207719893,0.971184875005,0.971162021191,0.97113915845,0.971116286782,0.971093406188,0.971070516668,0.971047618222,0.97102471085,0.971001794553,0.970978869331,0.970955935184,0.970932992111,0.970910040115,0.970887079193,0.970864109348,0.970841130579,0.970818142886,0.970795146269,0.970772140729,0.970749126266,0.97072610288,0.970703070571,0.97068002934,0.970656979186,0.970633920111,0.970610852113,0.970587775194,0.970564689354,0.970541594592,0.970518490909,0.970495378306,0.970472256781,0.970449126337,0.970425986972,0.970402838688,0.970379681483,0.970356515359,0.970333340316,0.970310156354,0.970286963473,0.970263761673,0.970240550955,0.970217331318,0.970194102763,0.970170865291,0.970147618901,0.970124363594,0.970101099369,0.970077826228,0.970054544169,0.970031253195,0.970007953303,0.969984644496,0.969961326773,0.969938000134,0.96991466458,0.969891320111,0.969867966726,0.969844604427,0.969821233213,0.969797853084,0.969774464042,0.969751066085,0.969727659215,0.969704243431,0.969680818734,0.969657385124,0.969633942601,0.969610491166,0.969587030817,0.969563561557,0.969540083385,0.9695165963,0.969493100305,0.969469595397,0.969446081579,0.96942255885,0.96939902721,0.969375486659,0.969351937199,0.969328378828,0.969304811547,0.969281235357,0.969257650257,0.969234056248,0.96921045333,0.969186841503,0.969163220768,0.969139591124,0.969115952572,0.969092305113,0.969068648745,0.96904498347,0.969021309288,0.968997626199,0.968973934203,0.9689502333,0.968926523492,0.968902804776,0.968879077155,0.968855340629,0.968831595196,0.968807840859,0.968784077616,0.968760305469,0.968736524416,0.96871273446,0.968688935599,0.968665127834,0.968641311166,0.968617485594,0.968593651118,0.96856980774,0.968545955458,0.968522094274,0.968498224188,0.968474345199,0.968450457308,0.968426560516,0.968402654822,0.968378740226,0.96835481673,0.968330884332,0.968306943034,0.968282992836,0.968259033737,0.968235065738,0.968211088839,0.968187103041,0.968163108343,0.968139104746,0.968115092251,0.968091070856,0.968067040563,0.968043001372,0.968018953283,0.967994896296,0.967970830411,0.967946755629,0.96792267195,0.967898579374,0.967874477901,0.967850367531,0.967826248266,0.967802120104,0.967777983047,0.967753837093,0.967729682245,0.967705518501,0.967681345863,0.967657164329,0.967632973902,0.967608774579,0.967584566363,0.967560349253,0.96753612325,0.967511888353,0.967487644563,0.96746339188,0.967439130304,0.967414859835,0.967390580475,0.967366292222,0.967341995078,0.967317689042,0.967293374114,0.967269050296,0.967244717586,0.967220375986,0.967196025496,0.967171666115,0.967147297844,0.967122920683,0.967098534633,0.967074139693,0.967049735864,0.967025323146,0.96700090154,0.966976471045,0.966952031662,0.966927583391,0.966903126232,0.966878660185,0.966854185251,0.96682970143,0.966805208722,0.966780707128,0.966756196647,0.966731677279,0.966707149026,0.966682611887,0.966658065863,0.966633510953,0.966608947158,0.966584374478,0.966559792914,0.966535202465,0.966510603132,0.966485994915,0.966461377814,0.96643675183,0.966412116963,0.966387473212,0.966362820579,0.966338159063,0.966313488665,0.966288809384,0.966264121222,0.966239424178,0.966214718252,0.966190003445,0.966165279758,0.966140547189,0.96611580574,0.96609105541,0.966066296201,0.966041528111,0.966016751142,0.965991965294,0.965967170566,0.965942366959,0.965917554474,0.96589273311,0.965867902868,0.965843063748,0.96581821575,0.965793358874,0.965768493121,0.965743618491,0.965718734984,0.9656938426,0.96566894134,0.965644031204,0.965619112191,0.965594184303,0.965569247539,0.9655443019,0.965519347386,0.965494383997,0.965469411734,0.965444430596,0.965419440584,0.965394441698,0.965369433938,0.965344417305,0.965319391798,0.965294357419,0.965269314167,0.965244262042,0.965219201045,0.965194131176,0.965169052435,0.965143964822,0.965118868338,0.965093762983,0.965068648757,0.96504352566,0.965018393692,0.964993252855,0.964968103147,0.96494294457,0.964917777123,0.964892600807,0.964867415622,0.964842221567,0.964817018645,0.964791806853,0.964766586194,0.964741356667,0.964716118272,0.964690871009,0.96466561488,0.964640349883,0.96461507602,0.96458979329,0.964564501694,0.964539201231,0.964513891903,0.964488573709,0.96446324665,0.964437910726,0.964412565937,0.964387212283,0.964361849765,0.964336478382,0.964311098136,0.964285709025,0.964260311052,0.964234904215,0.964209488515,0.964184063952,0.964158630526,0.964133188239,0.964107737089,0.964082277077,0.964056808204,0.964031330469,0.964005843873,0.963980348416,0.963954844098,0.96392933092,0.963903808882,0.963878277984,0.963852738226,0.963827189608,0.963801632131,0.963776065795,0.963750490601,0.963724906547,0.963699313636,0.963673711866,0.963648101238,0.963622481753,0.96359685341,0.96357121621,0.963545570153,0.96351991524,0.96349425147,0.963468578844,0.963442897361,0.963417207023,0.96339150783,0.963365799781,0.963340082877,0.963314357118,0.963288622505,0.963262879038,0.963237126716,0.96321136554,0.963185595511,0.963159816628,0.963134028893,0.963108232304,0.963082426863,0.963056612569,0.963030789423,0.963004957425,0.962979116575,0.962953266874,0.962927408321,0.962901540918,0.962875664663,0.962849779559,0.962823885603,0.962797982798,0.962772071143,0.962746150638,0.962720221284,0.962694283081,0.962668336029,0.962642380129,0.96261641538,0.962590441782,0.962564459337,0.962538468044,0.962512467904,0.962486458917,0.962460441082,0.962434414401,0.962408378873,0.962382334499,0.962356281279,0.962330219214,0.962304148302,0.962278068546,0.962251979944,0.962225882498,0.962199776207,0.962173661072,0.962147537092,0.962121404269,0.962095262602,0.962069112092,0.962042952739,0.962016784542,0.961990607503,0.961964421622,0.961938226899,0.961912023333,0.961885810926,0.961859589677,0.961833359588,0.961807120657,0.961780872885,0.961754616274,0.961728350821,0.961702076529,0.961675793397,0.961649501426,0.961623200615,0.961596890965,0.961570572477,0.961544245149,0.961517908984,0.961491563981,0.961465210139,0.96143884746,0.961412475944,0.961386095591,0.961359706401,0.961333308374,0.961306901511,0.961280485811,0.961254061276,0.961227627905,0.961201185699,0.961174734658,0.961148274781,0.96112180607,0.961095328525,0.961068842146,0.961042346932,0.961015842885,0.960989330004,0.96096280829,0.960936277743,0.960909738364,0.960883190152,0.960856633108,0.960830067231,0.960803492523,0.960776908984,0.960750316613,0.960723715411,0.960697105379,0.960670486516,0.960643858823,0.960617222299,0.960590576946,0.960563922763,0.960537259752,0.96051058791,0.960483907241,0.960457217742,0.960430519416,0.960403812261,0.960377096278,0.960350371468,0.96032363783,0.960296895366,0.960270144074,0.960243383956,0.960216615012,0.960189837241,0.960163050645,0.960136255223,0.960109450976,0.960082637903,0.960055816006,0.960028985284,0.960002145738,0.959975297367,0.959948440173,0.959921574155,0.959894699313,0.959867815649,0.959840923161,0.959814021851,0.959787111719,0.959760192764,0.959733264988,0.959706328389,0.95967938297,0.959652428729,0.959625465667,0.959598493785,0.959571513082,0.959544523559,0.959517525216,0.959490518053,0.959463502071,0.95943647727,0.95940944365,0.959382401211,0.959355349954,0.959328289878,0.959301220985,0.959274143274,0.959247056745,0.9592199614,0.959192857237,0.959165744258,0.959138622462,0.95911149185,0.959084352422,0.959057204178,0.959030047119,0.959002881245,0.958975706556,0.958948523052,0.958921330733,0.958894129601,0.958866919654,0.958839700894,0.95881247332,0.958785236933,0.958757991733,0.958730737721,0.958703474896,0.958676203259,0.95864892281,0.958621633549,0.958594335476,0.958567028593,0.958539712899,0.958512388394,0.958485055078,0.958457712952,0.958430362017,0.958403002271,0.958375633716,0.958348256352,0.95832087018,0.958293475198,0.958266071408,0.95823865881,0.958211237404,0.95818380719,0.958156368169,0.95812892034,0.958101463705,0.958073998263,0.958046524015,0.95801904096,0.9579915491,0.957964048434,0.957936538962,0.957909020686,0.957881493604,0.957853957718,0.957826413028,0.957798859533,0.957771297234,0.957743726132,0.957716146227,0.957688557518,0.957660960006,0.957633353692,0.957605738576,0.957578114657,0.957550481937,0.957522840414,0.957495190091,0.957467530967,0.957439863041,0.957412186315,0.957384500789,0.957356806463,0.957329103336,0.957301391411,0.957273670686,0.957245941162,0.957218202839,0.957190455717,0.957162699798,0.95713493508,0.957107161564,0.957079379251,0.957051588141,0.957023788234,0.95699597953,0.956968162029,0.956940335732,0.956912500639,0.956884656751,0.956856804067,0.956828942588,0.956801072313,0.956773193244,0.956745305381,0.956717408723,0.956689503272,0.956661589027,0.956633665988,0.956605734156,0.956577793531,0.956549844114,0.956521885904,0.956493918902,0.956465943109,0.956437958523,0.956409965146,0.956381962978,0.95635395202,0.95632593227,0.95629790373,0.956269866401,0.956241820281,0.956213765372,0.956185701673,0.956157629186,0.956129547909,0.956101457844,0.956073358991,0.95604525135,0.956017134921,0.955989009705,0.955960875701,0.95593273291,0.955904581333,0.955876420969,0.955848251819,0.955820073883,0.955791887161,0.955763691654,0.955735487361,0.955707274284,0.955679052422,0.955650821776,0.955622582345,0.955594334131,0.955566077133,0.955537811351,0.955509536787,0.95548125344,0.95545296131,0.955424660398,0.955396350703,0.955368032227,0.95533970497,0.955311368931,0.955283024111,0.955254670511,0.955226308129,0.955197936968,0.955169557027,0.955141168306,0.955112770805,0.955084364526,0.955055949467,0.95502752563,0.954999093014,0.95497065162,0.954942201448,0.954913742499,0.954885274772,0.954856798269,0.954828312988,0.954799818931,0.954771316097,0.954742804488,0.954714284102,0.954685754941,0.954657217005,0.954628670294,0.954600114808,0.954571550548,0.954542977513,0.954514395704,0.954485805122,0.954457205767,0.954428597638,0.954399980736,0.954371355061,0.954342720615,0.954314077396,0.954285425405,0.954256764643,0.954228095109,0.954199416804,0.954170729729,0.954142033883,0.954113329267,0.95408461588,0.954055893724,0.954027162799,0.953998423104,0.95396967464,0.953940917408,0.953912151407,0.953883376638,0.953854593101,0.953825800797,0.953796999725,0.953768189886,0.95373937128,0.953710543908,0.953681707769,0.953652862865,0.953624009194,0.953595146758,0.953566275557,0.953537395591,0.95350850686,0.953479609365,0.953450703105,0.953421788082,0.953392864295,0.953363931744,0.953334990431,0.953306040354,0.953277081515,0.953248113914,0.95321913755,0.953190152425,0.953161158539,0.953132155891,0.953103144482,0.953074124312,0.953045095382,0.953016057692,0.952987011242,0.952957956032,0.952928892063,0.952899819334,0.952870737847,0.952841647601,0.952812548597,0.952783440835,0.952754324315,0.952725199038,0.952696065003,0.952666922211,0.952637770663,0.952608610358,0.952579441297,0.95255026348,0.952521076908,0.95249188158,0.952462677497,0.952433464659,0.952404243066,0.95237501272,0.952345773619,0.952316525765,0.952287269157,0.952258003795,0.952228729681,0.952199446814,0.952170155195,0.952140854824,0.952111545701,0.952082227826,0.9520529012,0.952023565822,0.951994221694,0.951964868816,0.951935507187,0.951906136808,0.951876757679,0.951847369801,0.951817973174,0.951788567798,0.951759153673,0.9517297308,0.951700299179,0.95167085881,0.951641409694,0.95161195183,0.951582485219,0.951553009861,0.951523525757,0.951494032907,0.951464531311,0.951435020969,0.951405501882,0.951375974049,0.951346437472,0.95131689215,0.951287338084,0.951257775274,0.95122820372,0.951198623423,0.951169034383,0.951139436599,0.951109830073,0.951080214804,0.951050590794,0.951020958041,0.950991316547,0.950961666312,0.950932007335,0.950902339618,0.95087266316,0.950842977962,0.950813284024,0.950783581347,0.95075386993,0.950724149774,0.950694420879,0.950664683245,0.950634936874,0.950605181764,0.950575417916,0.950545645331,0.950515864009,0.950486073949,0.950456275154,0.950426467621,0.950396651353,0.950366826349,0.950336992609,0.950307150134,0.950277298924,0.950247438979,0.950217570299,0.950187692886,0.950157806738,0.950127911857,0.950098008243,0.950068095895,0.950038174815,0.950008245002,0.949978306457,0.949948359179,0.94991840317,0.94988843843,0.949858464959,0.949828482756,0.949798491823,0.94976849216,0.949738483766,0.949708466643,0.94967844079,0.949648406208,0.949618362897,0.949588310857,0.949558250089,0.949528180593,0.949498102369,0.949468015417,0.949437919738,0.949407815332,0.9493777022,0.94934758034,0.949317449755,0.949287310444,0.949257162406,0.949227005644,0.949196840157,0.949166665944,0.949136483008,0.949106291347,0.949076090961,0.949045881853,0.949015664021,0.948985437465,0.948955202187,0.948924958186,0.948894705463,0.948864444018,0.948834173851,0.948803894963,0.948773607353,0.948743311023,0.948713005971,0.9486826922,0.948652369708,0.948622038497,0.948591698566,0.948561349916,0.948530992547,0.948500626459,0.948470251652,0.948439868128,0.948409475886,0.948379074926,0.948348665249,0.948318246855,0.948287819744,0.948257383916,0.948226939373,0.948196486113,0.948166024138,0.948135553448,0.948105074043,0.948074585922,0.948044089088,0.948013583539,0.947983069276,0.947952546299,0.947922014609,0.947891474206,0.94786092509,0.947830367262,0.947799800721,0.947769225469,0.947738641505,0.947708048829,0.947677447442,0.947646837344,0.947616218536,0.947585591018,0.947554954789,0.947524309851,0.947493656203,0.947462993846,0.947432322781,0.947401643006,0.947370954524,0.947340257333,0.947309551435,0.947278836829,0.947248113516,0.947217381496,0.947186640769,0.947155891336,0.947125133198,0.947094366353,0.947063590803,0.947032806547,0.947002013587,0.946971211922,0.946940401552,0.946909582479,0.946878754702,0.946847918221,0.946817073037,0.94678621915,0.946755356561,0.946724485269,0.946693605275,0.946662716579,0.946631819182,0.946600913083,0.946569998284,0.946539074784,0.946508142583,0.946477201682,0.946446252082,0.946415293782,0.946384326783,0.946353351084,0.946322366688,0.946291373592,0.946260371799,0.946229361308,0.946198342119,0.946167314233,0.94613627765,0.94610523237,0.946074178394,0.946043115722,0.946012044354,0.945980964291,0.945949875532,0.945918778078,0.94588767193,0.945856557087,0.94582543355,0.945794301319,0.945763160395,0.945732010777,0.945700852467,0.945669685464,0.945638509768,0.945607325381,0.945576132301,0.94554493053,0.945513720068,0.945482500914,0.945451273071,0.945420036536,0.945388791312,0.945357537398,0.945326274794,0.945295003501,0.945263723519,0.945232434848,0.945201137489,0.945169831442,0.945138516708,0.945107193285,0.945075861176,0.945044520379,0.945013170896,0.944981812727,0.944950445871,0.94491907033,0.944887686103,0.944856293191,0.944824891594,0.944793481312,0.944762062346,0.944730634696,0.944699198362,0.944667753345,0.944636299645,0.944604837261,0.944573366196,0.944541886447,0.944510398017,0.944478900905,0.944447395112,0.944415880637,0.944384357482,0.944352825646,0.944321285129,0.944289735933,0.944258178057,0.944226611501,0.944195036267,0.944163452353,0.944131859761,0.944100258491,0.944068648543,0.944037029917,0.944005402614,0.943973766634,0.943942121976,0.943910468643,0.943878806633,0.943847135947,0.943815456586,0.943783768549,0.943752071837,0.94372036645,0.943688652389,0.943656929654,0.943625198245,0.943593458162,0.943561709406,0.943529951977,0.943498185875,0.943466411101,0.943434627654,0.943402835536,0.943371034746,0.943339225285,0.943307407153,0.94327558035,0.943243744877,0.943211900734,0.943180047921,0.943148186438,0.943116316287,0.943084437466,0.943052549977,0.943020653819,0.942988748994,0.9429568355,0.942924913339,0.942892982511,0.942861043016,0.942829094855,0.942797138027,0.942765172533,0.942733198374,0.942701215549,0.942669224059,0.942637223904,0.942605215085,0.942573197601,0.942541171454,0.942509136643,0.942477093168,0.942445041031,0.942412980231,0.942380910768,0.942348832643,0.942316745857,0.942284650408,0.942252546299,0.942220433528,0.942188312097,0.942156182005,0.942124043254,0.942091895842,0.942059739771,0.942027575041,0.941995401652,0.941963219604,0.941931028898,0.941898829534,0.941866621512,0.941834404832,0.941802179496,0.941769945503,0.941737702853,0.941705451547,0.941673191585,0.941640922967,0.941608645694,0.941576359766,0.941544065183,0.941511761946,0.941479450054,0.941447129509,0.94141480031,0.941382462457,0.941350115952,0.941317760794,0.941285396984,0.941253024521,0.941220643407,0.941188253642,0.941155855225,0.941123448157,0.941091032438,0.94105860807,0.941026175051,0.940993733382,0.940961283065,0.940928824098,0.940896356482,0.940863880217,0.940831395305,0.940798901744,0.940766399536,0.940733888681,0.940701369179,0.940668841029,0.940636304234,0.940603758792,0.940571204705,0.940538641972,0.940506070593,0.94047349057,0.940440901902,0.94040830459,0.940375698634,0.940343084034,0.94031046079,0.940277828904,0.940245188375,0.940212539203,0.940179881389,0.940147214933,0.940114539835,0.940081856096,0.940049163716,0.940016462695,0.939983753034,0.939951034733,0.939918307792,0.939885572211,0.939852827991,0.939820075132,0.939787313635,0.939754543499,0.939721764725,0.939688977314,0.939656181265,0.939623376579,0.939590563256,0.939557741296,0.939524910701,0.939492071469,0.939459223602,0.9394263671,0.939393501962,0.93936062819,0.939327745784,0.939294854743,0.939261955069,0.939229046761,0.93919612982,0.939163204246,0.939130270039,0.9390973272,0.939064375729,0.939031415627,0.938998446893,0.938965469528,0.938932483532,0.938899488906,0.938866485649,0.938833473763,0.938800453247,0.938767424102,0.938734386328,0.938701339926,0.938668284895,0.938635221236,0.938602148949,0.938569068035,0.938535978494,0.938502880325,0.938469773531,0.93843665811,0.938403534063,0.938370401391,0.938337260093,0.93830411017,0.938270951623,0.938237784451,0.938204608655,0.938171424236,0.938138231193,0.938105029527,0.938071819238,0.938038600326,0.938005372792,0.937972136636,0.937938891859,0.93790563846,0.93787237644,0.937839105799,0.937805826538,0.937772538657,0.937739242156,0.937705937036,0.937672623297,0.937639300938,0.937605969961,0.937572630366,0.937539282152,0.937505925321,0.937472559873,0.937439185808,0.937405803126,0.937372411827,0.937339011913,0.937305603382,0.937272186236,0.937238760475,0.937205326099,0.937171883108,0.937138431503,0.937104971284,0.937071502452,0.937038025006,0.937004538947,0.936971044275,0.936937540991,0.936904029095,0.936870508586,0.936836979467,0.936803441736,0.936769895394,0.936736340442,0.936702776879,0.936669204707,0.936635623924,0.936602034533,0.936568436532,0.936534829923,0.936501214705,0.936467590879,0.936433958445,0.936400317404,0.936366667756,0.9363330095,0.936299342638,0.93626566717,0.936231983096,0.936198290416,0.936164589131,0.936130879241,0.936097160746,0.936063433647,0.936029697944,0.935995953637,0.935962200726,0.935928439213,0.935894669096,0.935860890377,0.935827103055,0.935793307132,0.935759502607,0.935725689481,0.935691867754,0.935658037426,0.935624198498,0.93559035097,0.935556494841,0.935522630114,0.935488756787,0.935454874862,0.935420984338,0.935387085216,0.935353177496,0.935319261179,0.935285336264,0.935251402752,0.935217460644,0.935183509939,0.935149550638,0.935115582742,0.93508160625,0.935047621163,0.935013627482,0.934979625206,0.934945614336,0.934911594872,0.934877566814,0.934843530163,0.93480948492,0.934775431084,0.934741368655,0.934707297635,0.934673218023,0.93463912982,0.934605033025,0.93457092764,0.934536813665,0.9345026911,0.934468559945,0.9344344202,0.934400271866,0.934366114944,0.934331949433,0.934297775334,0.934263592646,0.934229401372,0.93419520151,0.934160993061,0.934126776026,0.934092550404,0.934058316197,0.934024073403,0.933989822025,0.933955562061,0.933921293513,0.93388701638,0.933852730663,0.933818436362,0.933784133478,0.933749822011,0.933715501961,0.933681173328,0.933646836113,0.933612490317,0.933578135938,0.933543772979,0.933509401438,0.933475021317,0.933440632616,0.933406235335,0.933371829474,0.933337415033,0.933302992014,0.933268560416,0.933234120239,0.933199671485,0.933165214152,0.933130748242,0.933096273755,0.933061790692,0.933027299051,0.932992798835,0.932958290042,0.932923772674,0.932889246731,0.932854712213,0.932820169121,0.932785617454,0.932751057213,0.932716488398,0.93268191101,0.932647325049,0.932612730516,0.93257812741,0.932543515732,0.932508895482,0.932474266661,0.932439629268,0.932404983305,0.932370328772,0.932335665668,0.932300993995,0.932266313752,0.932231624939,0.932196927558,0.932162221609,0.932127507091,0.932092784005,0.932058052351,0.932023312131,0.931988563343,0.931953805989,0.931919040068,0.931884265582,0.931849482529,0.931814690912,0.931779890729,0.931745081982,0.93171026467,0.931675438794,0.931640604354,0.931605761351,0.931570909785,0.931536049656,0.931501180965,0.931466303711,0.931431417895,0.931396523518,0.93136162058,0.931326709081,0.931291789022,0.931256860402,0.931221923222,0.931186977483,0.931152023184,0.931117060326,0.93108208891,0.931047108936,0.931012120403,0.930977123313,0.930942117665,0.930907103461,0.9308720807,0.930837049382,0.930802009508,0.930766961079,0.930731904094,0.930696838554,0.93066176446,0.930626681811,0.930591590607,0.93055649085,0.93052138254,0.930486265676,0.93045114026,0.930416006291,0.93038086377,0.930345712696,0.930310553072,0.930275384896,0.930240208169,0.930205022892,0.930169829065,0.930134626687,0.93009941576,0.930064196284,0.930028968259,0.929993731685,0.929958486563,0.929923232893,0.929887970675,0.92985269991,0.929817420598,0.929782132739,0.929746836334,0.929711531382,0.929676217885,0.929640895843,0.929605565256,0.929570226124,0.929534878447,0.929499522227,0.929464157462,0.929428784155,0.929393402304,0.92935801191,0.929322612974,0.929287205496,0.929251789475,0.929216364914,0.929180931811,0.929145490168,0.929110039984,0.929074581259,0.929039113995,0.929003638192,0.928968153849,0.928932660967,0.928897159547,0.928861649588,0.928826131092,0.928790604058,0.928755068487,0.928719524379,0.928683971734,0.928648410553,0.928612840836,0.928577262584,0.928541675796,0.928506080473,0.928470476616,0.928434864224,0.928399243299,0.928363613839,0.928327975847,0.928292329321,0.928256674263,0.928221010672,0.92818533855,0.928149657895,0.92811396871,0.928078270993,0.928042564746,0.928006849968,0.92797112666,0.927935394823,0.927899654456,0.92786390556,0.927828148135,0.927792382182,0.927756607701,0.927720824692,0.927685033156,0.927649233093,0.927613424502,0.927577607386,0.927541781743,0.927505947575,0.927470104881,0.927434253662,0.927398393919,0.92736252565,0.927326648858,0.927290763542,0.927254869703,0.92721896734,0.927183056455,0.927147137047,0.927111209117,0.927075272665,0.927039327691,0.927003374197,0.926967412182,0.926931441646,0.92689546259,0.926859475014,0.926823478919,0.926787474305,0.926751461171,0.92671543952,0.92667940935,0.926643370662,0.926607323457,0.926571267734,0.926535203495,0.926499130739,0.926463049467,0.926426959679,0.926390861376,0.926354754558,0.926318639224,0.926282515376,0.926246383014,0.926210242138,0.926174092749,0.926137934846,0.926101768431,0.926065593503,0.926029410062,0.92599321811,0.925957017647,0.925920808672,0.925884591186,0.92584836519,0.925812130683,0.925775887667,0.925739636141,0.925703376106,0.925667107562,0.92563083051,0.925594544949,0.925558250881,0.925521948305,0.925485637221,0.925449317631,0.925412989535,0.925376652932,0.925340307823,0.925303954209,0.92526759209,0.925231221465,0.925194842336,0.925158454703,0.925122058567,0.925085653926,0.925049240783,0.925012819136,0.924976388987,0.924939950336,0.924903503183,0.924867047529,0.924830583373,0.924794110717,0.92475762956,0.924721139902,0.924684641745,0.924648135089,0.924611619933,0.924575096279,0.924538564125,0.924502023474,0.924465474325,0.924428916679,0.924392350535,0.924355775895,0.924319192758,0.924282601125,0.924246000996,0.924209392371,0.924172775252,0.924136149637,0.924099515529,0.924062872926,0.924026221829,0.923989562239,0.923952894156,0.92391621758,0.923879532511,0.923842838951,0.923806136898,0.923769426355,0.92373270732,0.923695979794,0.923659243778,0.923622499272,0.923585746276,0.923548984791,0.923512214817,0.923475436354,0.923438649402,0.923401853963,0.923365050036,0.923328237621,0.92329141672,0.923254587331,0.923217749457,0.923180903096,0.92314404825,0.923107184918,0.923070313101,0.9230334328,0.922996544014,0.922959646745,0.922922740991,0.922885826755,0.922848904035,0.922811972833,0.922775033148,0.922738084982,0.922701128334,0.922664163205,0.922627189594,0.922590207503,0.922553216932,0.922516217881,0.922479210351,0.922442194341,0.922405169852,0.922368136885,0.922331095439,0.922294045516,0.922256987115,0.922219920237,0.922182844882,0.922145761051,0.922108668743,0.92207156796,0.922034458701,0.921997340967,0.921960214758,0.921923080075,0.921885936918,0.921848785286,0.921811625182,0.921774456604,0.921737279554,0.921700094031,0.921662900036,0.921625697569,0.921588486631,0.921551267222,0.921514039342,0.921476802992,0.921439558172,0.921402304882,0.921365043123,0.921327772894,0.921290494198,0.921253207033,0.921215911399,0.921178607299,0.921141294731,0.921103973696,0.921066644194,0.921029306227,0.920991959793,0.920954604894,0.920917241529,0.9208798697,0.920842489406,0.920805100648,0.920767703426,0.920730297741,0.920692883592,0.920655460981,0.920618029907,0.920580590371,0.920543142373,0.920505685914,0.920468220994,0.920430747613,0.920393265772,0.92035577547,0.920318276709,0.920280769489,0.920243253809,0.920205729671,0.920168197074,0.92013065602,0.920093106508,0.920055548538,0.920017982112,0.919980407229,0.919942823889,0.919905232094,0.919867631843,0.919830023137,0.919792405976,0.919754780361,0.919717146291,0.919679503768,0.919641852791,0.919604193361,0.919566525478,0.919528849142,0.919491164355,0.919453471116,0.919415769425,0.919378059283,0.919340340691,0.919302613648,0.919264878155,0.919227134212,0.919189381821,0.91915162098,0.91911385169,0.919076073952,0.919038287766,0.919000493133,0.918962690052,0.918924878525,0.918887058551,0.91884923013,0.918811393264,0.918773547952,0.918735694196,0.918697831994,0.918659961348,0.918622082257,0.918584194723,0.918546298746,0.918508394325,0.918470481462,0.918432560156,0.918394630408,0.918356692219,0.918318745588,0.918280790517,0.918242827004,0.918204855051,0.918166874659,0.918128885827,0.918090888555,0.918052882845,0.918014868696,0.917976846109,0.917938815084,0.917900775621,0.917862727722,0.917824671385,0.917786606613,0.917748533404,0.917710451759,0.917672361679,0.917634263164,0.917596156214,0.91755804083,0.917519917012,0.91748178476,0.917443644075,0.917405494957,0.917367337406,0.917329171423,0.917290997008,0.917252814162,0.917214622885,0.917176423176,0.917138215037,0.917099998468,0.91706177347,0.917023540041,0.916985298184,0.916947047898,0.916908789184,0.916870522041,0.916832246471,0.916793962474,0.916755670049,0.916717369198,0.916679059921,0.916640742218,0.916602416089,0.916564081535,0.916525738556,0.916487387153,0.916449027325,0.916410659074,0.916372282399,0.916333897301,0.916295503781,0.916257101838,0.916218691473,0.916180272686,0.916141845478,0.916103409849,0.916064965799,0.916026513329,0.91598805244,0.91594958313,0.915911105402,0.915872619254,0.915834124688,0.915795621704,0.915757110302,0.915718590483,0.915680062246,0.915641525593,0.915602980523,0.915564427038,0.915525865136,0.91548729482,0.915448716088,0.915410128942,0.915371533382,0.915332929407,0.915294317019,0.915255696218,0.915217067005,0.915178429378,0.91513978334,0.915101128889,0.915062466028,0.915023794755,0.914985115072,0.914946426978,0.914907730474,0.914869025561,0.914830312238,0.914791590506,0.914752860366,0.914714121818,0.914675374862,0.914636619498,0.914597855727,0.914559083549,0.914520302965,0.914481513975,0.914442716579,0.914403910778,0.914365096571,0.914326273961,0.914287442945,0.914248603526,0.914209755704,0.914170899478,0.914132034849,0.914093161817,0.914054280384,0.914015390549,0.913976492312,0.913937585674,0.913898670636,0.913859747197,0.913820815358,0.91378187512,0.913742926482,0.913703969445,0.91366500401,0.913626030177,0.913587047945,0.913548057316,0.91350905829,0.913470050868,0.913431035049,0.913392010833,0.913352978222,0.913313937216,0.913274887815,0.913235830019,0.913196763829,0.913157689245,0.913118606267,0.913079514896,0.913040415133,0.913001306977,0.912962190428,0.912923065488,0.912883932157,0.912844790435,0.912805640322,0.912766481818,0.912727314925,0.912688139642,0.91264895597,0.912609763909,0.912570563459,0.912531354622,0.912492137396,0.912452911783,0.912413677783,0.912374435396,0.912335184623,0.912295925464,0.91225665792,0.91221738199,0.912178097675,0.912138804975,0.912099503892,0.912060194424,0.912020876574,0.91198155034,0.911942215723,0.911902872724,0.911863521343,0.91182416158,0.911784793436,0.911745416911,0.911706032005,0.91166663872,0.911627237054,0.911587827009,0.911548408585,0.911508981782,0.911469546601,0.911430103041,0.911390651104,0.91135119079,0.911311722098,0.911272245031,0.911232759586,0.911193265767,0.911153763571,0.911114253001,0.911074734055,0.911035206735,0.910995671042,0.910956126974,0.910916574533,0.91087701372,0.910837444533,0.910797866975,0.910758281044,0.910718686743,0.91067908407,0.910639473026,0.910599853612,0.910560225827,0.910520589673,0.91048094515,0.910441292258,0.910401630997,0.910361961368,0.910322283372,0.910282597007,0.910242902276,0.910203199178,0.910163487713,0.910123767883,0.910084039686,0.910044303125,0.910004558198,0.909964804907,0.909925043252,0.909885273233,0.90984549485,0.909805708105,0.909765912996,0.909726109525,0.909686297693,0.909646477498,0.909606648943,0.909566812026,0.909526966749,0.909487113112,0.909447251114,0.909407380758,0.909367502042,0.909327614968,0.909287719535,0.909247815744,0.909207903596,0.909167983091,0.909128054228,0.909088117009,0.909048171434,0.909008217503,0.908968255217,0.908928284576,0.90888830558,0.908848318229,0.908808322525,0.908768318467,0.908728306056,0.908688285293,0.908648256176,0.908608218708,0.908568172888,0.908528118716,0.908488056194,0.908447985321,0.908407906097,0.908367818524,0.908327722601,0.908287618329,0.908247505709,0.908207384739,0.908167255422,0.908127117757,0.908086971745,0.908046817386,0.90800665468,0.907966483629,0.907926304231,0.907886116488,0.907845920399,0.907805715966,0.907765503189,0.907725282068,0.907685052603,0.907644814795,0.907604568643,0.90756431415,0.907524051314,0.907483780137,0.907443500618,0.907403212758,0.907362916557,0.907322612016,0.907282299136,0.907241977915,0.907201648356,0.907161310458,0.907120964221,0.907080609646,0.907040246734,0.906999875484,0.906959495897,0.906919107974,0.906878711714,0.906838307119,0.906797894188,0.906757472922,0.906717043321,0.906676605386,0.906636159117,0.906595704515,0.906555241579,0.90651477031,0.906474290709,0.906433802776,0.906393306511,0.906352801915,0.906312288987,0.906271767729,0.906231238141,0.906190700223,0.906150153975,0.906109599398,0.906069036493,0.906028465259,0.905987885697,0.905947297807,0.90590670159,0.905866097047,0.905825484176,0.90578486298,0.905744233458,0.90570359561,0.905662949437,0.90562229494,0.905581632118,0.905540960973,0.905500281504,0.905459593711,0.905418897596,0.905378193159,0.905337480399,0.905296759318,0.905256029916,0.905215292192,0.905174546148,0.905133791784,0.9050930291,0.905052258097,0.905011478775,0.904970691134,0.904929895174,0.904889090897,0.904848278302,0.90480745739,0.904766628162,0.904725790616,0.904684944755,0.904644090578,0.904603228086,0.904562357279,0.904521478157,0.904480590721,0.904439694972,0.904398790909,0.904357878533,0.904316957844,0.904276028843,0.90423509153,0.904194145906,0.90415319197,0.904112229724,0.904071259167,0.9040302803,0.903989293123,0.903948297638,0.903907293843,0.90386628174,0.903825261328,0.903784232609,0.903743195583,0.903702150249,0.903661096609,0.903620034663,0.903578964411,0.903537885853,0.90349679899,0.903455703822,0.90341460035,0.903373488574,0.903332368495,0.903291240112,0.903250103426,0.903208958438,0.903167805147,0.903126643555,0.903085473662,0.903044295468,0.903003108973,0.902961914177,0.902920711082,0.902879499688,0.902838279995,0.902797052002,0.902755815712,0.902714571123,0.902673318237,0.902632057054,0.902590787574,0.902549509798,0.902508223725,0.902466929357,0.902425626694,0.902384315735,0.902342996482,0.902301668935,0.902260333095,0.902218988961,0.902177636533,0.902136275814,0.902094906802,0.902053529498,0.902012143902,0.901970750016,0.901929347839,0.901887937371,0.901846518614,0.901805091567,0.901763656231,0.901722212606,0.901680760692,0.90163930049,0.901597832001,0.901556355225,0.901514870161,0.901473376811,0.901431875175,0.901390365253,0.901348847046,0.901307320554,0.901265785777,0.901224242716,0.901182691371,0.901141131742,0.901099563831,0.901057987636,0.90101640316,0.900974810401,0.900933209361,0.90089160004,0.900849982438,0.900808356555,0.900766722392,0.90072507995,0.900683429229,0.900641770228,0.900600102949,0.900558427392,0.900516743558,0.900475051445,0.900433351056,0.900391642391,0.900349925449,0.900308200231,0.900266466738,0.90022472497,0.900182974927,0.90014121661,0.900099450019,0.900057675154,0.900015892016,0.899974100606,0.899932300923,0.899890492968,0.899848676742,0.899806852244,0.899765019475,0.899723178436,0.899681329127,0.899639471549,0.899597605701,0.899555731584,0.899513849198,0.899471958545,0.899430059624,0.899388152435,0.899346236979,0.899304313257,0.899262381269,0.899220441014,0.899178492495,0.89913653571,0.89909457066,0.899052597347,0.899010615769,0.898968625928,0.898926627824,0.898884621457,0.898842606827,0.898800583936,0.898758552783,0.898716513369,0.898674465694,0.898632409759,0.898590345563,0.898548273108,0.898506192394,0.898464103421,0.898422006189,0.898379900699,0.898337786952,0.898295664947,0.898253534685,0.898211396167,0.898169249393,0.898127094362,0.898084931077,0.898042759536,0.898000579741,0.897958391691,0.897916195388,0.897873990831,0.897831778021,0.897789556959,0.897747327644,0.897705090077,0.897662844259,0.89762059019,0.89757832787,0.897536057299,0.897493778479,0.897451491409,0.89740919609,0.897366892522,0.897324580705,0.897282260641,0.897239932329,0.89719759577,0.897155250964,0.897112897911,0.897070536613,0.897028167068,0.896985789279,0.896943403244,0.896901008965,0.896858606442,0.896816195676,0.896773776665,0.896731349412,0.896688913917,0.896646470179,0.896604018199,0.896561557978,0.896519089516,0.896476612813,0.89643412787,0.896391634688,0.896349133266,0.896306623604,0.896264105705,0.896221579567,0.896179045191,0.896136502577,0.896093951727,0.896051392639,0.896008825316,0.895966249756,0.895923665961,0.895881073931,0.895838473666,0.895795865167,0.895753248434,0.895710623467,0.895667990267,0.895625348834,0.895582699169,0.895540041272,0.895497375143,0.895454700783,0.895412018192,0.895369327371,0.89532662832,0.895283921039,0.895241205528,0.895198481789,0.895155749822,0.895113009626,0.895070261203,0.895027504552,0.894984739675,0.894941966571,0.89489918524,0.894856395685,0.894813597903,0.894770791897,0.894727977667,0.894685155212,0.894642324533,0.894599485631,0.894556638506,0.894513783159,0.894470919589,0.894428047798,0.894385167785,0.894342279551,0.894299383097,0.894256478422,0.894213565528,0.894170644414,0.894127715081,0.89408477753,0.89404183176,0.893998877772,0.893955915567,0.893912945145,0.893869966506,0.893826979651,0.893783984581,0.893740981294,0.893697969793,0.893654950077,0.893611922146,0.893568886002,0.893525841644,0.893482789074,0.89343972829,0.893396659294,0.893353582086,0.893310496667,0.893267403037,0.893224301196,0.893181191144,0.893138072883,0.893094946412,0.893051811732,0.893008668843,0.892965517746,0.892922358441,0.892879190928,0.892836015208,0.892792831282,0.892749639149,0.89270643881,0.892663230265,0.892620013516,0.892576788562,0.892533555403,0.89249031404,0.892447064474,0.892403806704,0.892360540732,0.892317266557,0.892273984181,0.892230693602,0.892187394823,0.892144087843,0.892100772662,0.892057449282,0.892014117701,0.891970777922,0.891927429944,0.891884073767,0.891840709392,0.89179733682,0.891753956051,0.891710567084,0.891667169922,0.891623764563,0.891580351009,0.891536929259,0.891493499315,0.891450061176,0.891406614843,0.891363160317,0.891319697597,0.891276226685,0.89123274758,0.891189260283,0.891145764795,0.891102261115,0.891058749244,0.891015229183,0.890971700932,0.890928164492,0.890884619862,0.890841067043,0.890797506036,0.890753936841,0.890710359459,0.890666773889,0.890623180132,0.890579578189,0.89053596806,0.890492349745,0.890448723245,0.89040508856,0.890361445691,0.890317794637,0.890274135401,0.890230467981,0.890186792378,0.890143108592,0.890099416625,0.890055716476,0.890012008146,0.889968291635,0.889924566944,0.889880834073,0.889837093022,0.889793343792,0.889749586383,0.889705820796,0.889662047031,0.889618265088,0.889574474968,0.889530676671,0.889486870198,0.889443055549,0.889399232724,0.889355401724,0.88931156255,0.889267715201,0.889223859678,0.889179995981,0.889136124112,0.889092244069,0.889048355855,0.889004459468,0.88896055491,0.88891664218,0.88887272128,0.88882879221,0.88878485497,0.88874090956,0.888696955981,0.888652994233,0.888609024317,0.888565046233,0.888521059982,0.888477065564,0.888433062978,0.888389052227,0.88834503331,0.888301006227,0.888256970979,0.888212927566,0.88816887599,0.888124816249,0.888080748345,0.888036672278,0.887992588048,0.887948495656,0.887904395102,0.887860286387,0.88781616951,0.887772044473,0.887727911276,0.887683769919,0.887639620403,0.887595462728,0.887551296894,0.887507122901,0.887462940752,0.887418750444,0.88737455198,0.887330345359,0.887286130582,0.88724190765,0.887197676562,0.887153437319,0.887109189921,0.88706493437,0.887020670664,0.886976398806,0.886932118794,0.88688783063,0.886843534314,0.886799229847,0.886754917228,0.886710596458,0.886666267537,0.886621930467,0.886577585247,0.886533231878,0.88648887036,0.886444500693,0.886400122879,0.886355736917,0.886311342807,0.886266940551,0.886222530149,0.8861781116,0.886133684907,0.886089250067,0.886044807084,0.886000355955,0.885955896683,0.885911429268,0.885866953709,0.885822470007,0.885777978164,0.885733478178,0.885688970051,0.885644453783,0.885599929374,0.885555396825,0.885510856136,0.885466307308,0.885421750341,0.885377185235,0.885332611991,0.885288030609,0.885243441089,0.885198843433,0.88515423764,0.885109623711,0.885065001647,0.885020371447,0.884975733112,0.884931086642,0.884886432039,0.884841769301,0.884797098431,0.884752419428,0.884707732292,0.884663037024,0.884618333624,0.884573622094,0.884528902432,0.88448417464,0.884439438718,0.884394694667,0.884349942486,0.884305182177,0.884260413739,0.884215637173,0.88417085248,0.88412605966,0.884081258713,0.884036449639,0.88399163244,0.883946807116,0.883901973666,0.883857132091,0.883812282393,0.883767424571,0.883722558625,0.883677684556,0.883632802365,0.883587912051,0.883543013616,0.883498107059,0.883453192382,0.883408269584,0.883363338666,0.883318399628,0.883273452471,0.883228497195,0.883183533801,0.883138562288,0.883093582658,0.883048594911,0.883003599047,0.882958595066,0.88291358297,0.882868562758,0.882823534431,0.882778497989,0.882733453433,0.882688400763,0.88264333998,0.882598271083,0.882553194074,0.882508108952,0.882463015719,0.882417914374,0.882372804919,0.882327687352,0.882282561676,0.88223742789,0.882192285994,0.88214713599,0.882101977877,0.882056811656,0.882011637327,0.881966454891,0.881921264348,0.881876065699,0.881830858944,0.881785644083,0.881740421117,0.881695190046,0.881649950871,0.881604703592,0.881559448209,0.881514184723,0.881468913135,0.881423633444,0.881378345652,0.881333049758,0.881287745763,0.881242433667,0.881197113471,0.881151785176,0.881106448781,0.881061104287,0.881015751694,0.880970391004,0.880925022216,0.88087964533,0.880834260348,0.880788867269,0.880743466094,0.880698056824,0.880652639458,0.880607213998,0.880561780443,0.880516338794,0.880470889052,0.880425431217,0.880379965289,0.880334491269,0.880289009157,0.880243518953,0.880198020659,0.880152514274,0.880106999798,0.880061477233,0.880015946579,0.879970407836,0.879924861004,0.879879306084,0.879833743076,0.879788171982,0.8797425928,0.879697005532,0.879651410178,0.879605806739,0.879560195214,0.879514575604,0.879468947911,0.879423312133,0.879377668272,0.879332016328,0.879286356301,0.879240688192,0.879195012001,0.879149327729,0.879103635376,0.879057934942,0.879012226429,0.878966509835,0.878920785162,0.878875052411,0.878829311581,0.878783562673,0.878737805687,0.878692040625,0.878646267485,0.878600486269,0.878554696977,0.87850889961,0.878463094168,0.878417280651,0.87837145906,0.878325629395,0.878279791657,0.878233945845,0.878188091961,0.878142230005,0.878096359978,0.878050481879,0.878004595709,0.877958701469,0.877912799159,0.877866888779,0.87782097033,0.877775043812,0.877729109226,0.877683166572,0.877637215851,0.877591257062,0.877545290207,0.877499315286,0.877453332299,0.877407341246,0.877361342129,0.877315334947,0.877269319701,0.877223296392,0.877177265019,0.877131225583,0.877085178085,0.877039122525,0.876993058903,0.87694698722,0.876900907477,0.876854819673,0.876808723809,0.876762619886,0.876716507904,0.876670387863,0.876624259764,0.876578123608,0.876531979394,0.876485827123,0.876439666796,0.876393498412,0.876347321973,0.876301137479,0.87625494493,0.876208744327,0.87616253567,0.876116318959,0.876070094195,0.876023861379,0.87597762051,0.87593137159,0.875885114618,0.875838849595,0.875792576522,0.875746295399,0.875700006226,0.875653709003,0.875607403732,0.875561090413,0.875514769045,0.87546843963,0.875422102168,0.875375756659,0.875329403104,0.875283041503,0.875236671857,0.875190294165,0.87514390843,0.87509751465,0.875051112826,0.875004702959,0.874958285049,0.874911859097,0.874865425102,0.874818983066,0.874772532989,0.874726074872,0.874679608713,0.874633134516,0.874586652278,0.874540162002,0.874493663687,0.874447157334,0.874400642943,0.874354120515,0.87430759005,0.874261051548,0.874214505011,0.874167950438,0.874121387829,0.874074817186,0.874028238509,0.873981651798,0.873935057053,0.873888454276,0.873841843465,0.873795224623,0.873748597749,0.873701962843,0.873655319907,0.87360866894,0.873562009943,0.873515342917,0.873468667861,0.873421984777,0.873375293664,0.873328594524,0.873281887356,0.873235172161,0.873188448939,0.873141717692,0.873094978418,0.87304823112,0.873001475796,0.872954712448,0.872907941076,0.87286116168,0.872814374261,0.87276757882,0.872720775356,0.87267396387,0.872627144363,0.872580316835,0.872533481286,0.872486637717,0.872439786129,0.872392926521,0.872346058894,0.872299183249,0.872252299586,0.872205407906,0.872158508208,0.872111600493,0.872064684763,0.872017761016,0.871970829254,0.871923889477,0.871876941686,0.87182998588,0.871783022061,0.871736050229,0.871689070383,0.871642082526,0.871595086656,0.871548082775,0.871501070883,0.87145405098,0.871407023067,0.871359987144,0.871312943212,0.87126589127,0.871218831321,0.871171763363,0.871124687398,0.871077603425,0.871030511446,0.87098341146,0.870936303469,0.870889187472,0.87084206347,0.870794931464,0.870747791453,0.870700643438,0.870653487421,0.8706063234,0.870559151377,0.870511971352,0.870464783325,0.870417587298,0.870370383269,0.870323171241,0.870275951212,0.870228723184,0.870181487157,0.870134243132,0.870086991109,0.870039731088,0.869992463069,0.869945187054,0.869897903043,0.869850611035,0.869803311033,0.869756003035,0.869708687042,0.869661363056,0.869614031075,0.869566691101,0.869519343135,0.869471987176,0.869424623225,0.869377251282,0.869329871349,0.869282483424,0.86923508751,0.869187683605,0.869140271711,0.869092851828,0.869045423957,0.868997988098,0.868950544251,0.868903092416,0.868855632595,0.868808164788,0.868760688995,0.868713205216,0.868665713452,0.868618213704,0.868570705971,0.868523190255,0.868475666556,0.868428134873,0.868380595209,0.868333047562,0.868285491934,0.868237928324,0.868190356734,0.868142777164,0.868095189614,0.868047594085,0.867999990577,0.86795237909,0.867904759625,0.867857132183,0.867809496763,0.867761853367,0.867714201995,0.867666542646,0.867618875323,0.867571200024,0.867523516751,0.867475825503,0.867428126282,0.867380419088,0.867332703921,0.867284980782,0.867237249671,0.867189510588,0.867141763534,0.86709400851,0.867046245516,0.866998474552,0.866950695618,0.866902908716,0.866855113845,0.866807311007,0.866759500201,0.866711681428,0.866663854688,0.866616019982,0.866568177311,0.866520326674,0.866472468072,0.866424601505,0.866376726975,0.866328844481,0.866280954025,0.866233055605,0.866185149223,0.86613723488,0.866089312575,0.866041382309,0.865993444082,0.865945497896,0.86589754375,0.865849581645,0.865801611581,0.865753633559,0.865705647579,0.865657653642,0.865609651748,0.865561641897,0.865513624091,0.865465598328,0.865417564611,0.865369522938,0.865321473312,0.865273415731,0.865225350198,0.865177276711,0.865129195272,0.86508110588,0.865033008537,0.864984903243,0.864936789998,0.864888668803,0.864840539658,0.864792402563,0.864744257519,0.864696104527,0.864647943587,0.864599774699,0.864551597864,0.864503413082,0.864455220354,0.86440701968,0.864358811061,0.864310594496,0.864262369987,0.864214137534,0.864165897137,0.864117648797,0.864069392514,0.864021128289,0.863972856122,0.863924576013,0.863876287963,0.863827991973,0.863779688043,0.863731376173,0.863683056364,0.863634728616,0.86358639293,0.863538049305,0.863489697744,0.863441338245,0.86339297081,0.863344595439,0.863296212131,0.863247820889,0.863199421712,0.863151014601,0.863102599555,0.863054176577,0.863005745665,0.862957306821,0.862908860044,0.862860405336,0.862811942697,0.862763472126,0.862714993626,0.862666507196,0.862618012836,0.862569510547,0.86252100033,0.862472482184,0.862423956111,0.862375422111,0.862326880184,0.86227833033,0.862229772551,0.862181206846,0.862132633216,0.862084051662,0.862035462184,0.861986864782,0.861938259456,0.861889646209,0.861841025038,0.861792395946,0.861743758933,0.861695113998,0.861646461143,0.861597800368,0.861549131673,0.861500455059,0.861451770527,0.861403078076,0.861354377707,0.861305669421,0.861256953218,0.861208229099,0.861159497063,0.861110757112,0.861062009245,0.861013253464,0.860964489769,0.86091571816,0.860866938638,0.860818151202,0.860769355855,0.860720552595,0.860671741424,0.860622922341,0.860574095348,0.860525260445,0.860476417632,0.860427566909,0.860378708278,0.860329841738,0.860280967291,0.860232084935,0.860183194673,0.860134296504,0.860085390429,0.860036476449,0.859987554563,0.859938624772,0.859889687077,0.859840741477,0.859791787975,0.859742826569,0.859693857261,0.859644880051,0.859595894939,0.859546901926,0.859497901012,0.859448892197,0.859399875483,0.85935085087,0.859301818357,0.859252777946,0.859203729637,0.85915467343,0.859105609326,0.859056537325,0.859007457429,0.858958369636,0.858909273948,0.858860170365,0.858811058887,0.858761939516,0.858712812251,0.858663677093,0.858614534042,0.858565383099,0.858516224264,0.858467057538,0.858417882922,0.858368700414,0.858319510017,0.858270311731,0.858221105555,0.858171891491,0.858122669538,0.858073439698,0.858024201971,0.857974956357,0.857925702856,0.85787644147,0.857827172198,0.857777895041,0.85772861,0.857679317075,0.857630016266,0.857580707574,0.857531390999,0.857482066543,0.857432734204,0.857383393984,0.857334045883,0.857284689901,0.85723532604,0.857185954299,0.857136574679,0.857087187181,0.857037791804,0.85698838855,0.856938977418,0.856889558409,0.856840131525,0.856790696764,0.856741254128,0.856691803616,0.856642345231,0.856592878971,0.856543404838,0.856493922831,0.856444432952,0.8563949352,0.856345429577,0.856295916083,0.856246394717,0.856196865481,0.856147328375,0.8560977834,0.856048230555,0.855998669842,0.855949101261,0.855899524812,0.855849940496,0.855800348313,0.855750748263,0.855701140348,0.855651524567,0.855601900922,0.855552269412,0.855502630037,0.8554529828,0.855403327699,0.855353664735,0.855303993909,0.855254315222,0.855204628673,0.855154934263,0.855105231993,0.855055521863,0.855005803873,0.854956078025,0.854906344317,0.854856602752,0.854806853329,0.854757096049,0.854707330912,0.854657557919,0.85460777707,0.854557988365,0.854508191806,0.854458387392,0.854408575125,0.854358755003,0.854308927029,0.854259091202,0.854209247523,0.854159395992,0.85410953661,0.854059669377,0.854009794293,0.85395991136,0.853910020578,0.853860121946,0.853810215466,0.853760301138,0.853710378962,0.85366044894,0.85361051107,0.853560565355,0.853510611793,0.853460650387,0.853410681135,0.853360704039,0.8533107191,0.853260726316,0.85321072569,0.853160717221,0.853110700911,0.853060676758,0.853010644765,0.85296060493,0.852910557256,0.852860501742,0.852810438388,0.852760367196,0.852710288165,0.852660201296,0.85261010659,0.852560004047,0.852509893667,0.852459775451,0.8524096494,0.852359515513,0.852309373792,0.852259224236,0.852209066847,0.852158901624,0.852108728568,0.85205854768,0.85200835896,0.851958162409,0.851907958027,0.851857745814,0.851807525771,0.851757297898,0.851707062196,0.851656818666,0.851606567307,0.85155630812,0.851506041106,0.851455766266,0.851405483598,0.851355193105,0.851304894787,0.851254588643,0.851204274675,0.851153952883,0.851103623267,0.851053285828,0.851002940566,0.850952587482,0.850902226576,0.850851857849,0.850801481302,0.850751096933,0.850700704745,0.850650304737,0.850599896911,0.850549481266,0.850499057802,0.850448626522,0.850398187424,0.850347740509,0.850297285778,0.850246823231,0.850196352869,0.850145874693,0.850095388702,0.850044894897,0.849994393278,0.849943883847,0.849893366603,0.849842841547,0.849792308679,0.849741768001,0.849691219512,0.849640663212,0.849590099103,0.849539527185,0.849488947457,0.849438359922,0.849387764579,0.849337161428,0.84928655047,0.849235931706,0.849185305136,0.84913467076,0.84908402858,0.849033378594,0.848982720805,0.848932055212,0.848881381815,0.848830700616,0.848780011615,0.848729314812,0.848678610207,0.848627897802,0.848577177596,0.848526449591,0.848475713785,0.848424970181,0.848374218779,0.848323459578,0.848272692579,0.848221917784,0.848171135192,0.848120344803,0.848069546619,0.84801874064,0.847967926866,0.847917105297,0.847866275935,0.847815438779,0.84776459383,0.847713741089,0.847662880555,0.847612012231,0.847561136115,0.847510252208,0.847459360512,0.847408461025,0.84735755375,0.847306638686,0.847255715833,0.847204785193,0.847153846766,0.847102900551,0.84705194655,0.847000984764,0.846950015192,0.846899037834,0.846848052693,0.846797059767,0.846746059058,0.846695050565,0.84664403429,0.846593010233,0.846541978394,0.846490938774,0.846439891373,0.846388836192,0.846337773231,0.846286702491,0.846235623971,0.846184537674,0.846133443598,0.846082341745,0.846031232115,0.845980114708,0.845928989525,0.845877856567,0.845826715834,0.845775567326,0.845724411043,0.845673246987,0.845622075158,0.845570895556,0.845519708182,0.845468513036,0.845417310118,0.84536609943,0.845314880971,0.845263654742,0.845212420744,0.845161178976,0.845109929441,0.845058672137,0.845007407065,0.844956134226,0.844904853621,0.84485356525,0.844802269113,0.84475096521,0.844699653543,0.844648334111,0.844597006916,0.844545671957,0.844494329236,0.844442978752,0.844391620506,0.844340254499,0.84428888073,0.844237499201,0.844186109912,0.844134712864,0.844083308056,0.84403189549,0.843980475166,0.843929047084,0.843877611244,0.843826167648,0.843774716296,0.843723257188,0.843671790324,0.843620315706,0.843568833333,0.843517343207,0.843465845327,0.843414339694,0.843362826308,0.843311305171,0.843259776282,0.843208239642,0.843156695251,0.84310514311,0.84305358322,0.84300201558,0.842950440192,0.842898857056,0.842847266172,0.84279566754,0.842744061162,0.842692447037,0.842640825167,0.842589195551,0.84253755819,0.842485913085,0.842434260236,0.842382599643,0.842330931308,0.842279255229,0.842227571409,0.842175879848,0.842124180545,0.842072473501,0.842020758718,0.841969036194,0.841917305932,0.841865567931,0.841813822191,0.841762068714,0.841710307499,0.841658538548,0.84160676186,0.841554977437,0.841503185278,0.841451385384,0.841399577756,0.841347762394,0.841295939298,0.841244108469,0.841192269908,0.841140423614,0.841088569589,0.841036707833,0.840984838347,0.84093296113,0.840881076183,0.840829183508,0.840777283103,0.84072537497,0.84067345911,0.840621535522,0.840569604208,0.840517665167,0.8404657184,0.840413763908,0.840361801691,0.84030983175,0.840257854084,0.840205868695,0.840153875583,0.840101874749,0.840049866193,0.839997849915,0.839945825916,0.839893794196,0.839841754756,0.839789707597,0.839737652718,0.839685590121,0.839633519805,0.839581441772,0.839529356022,0.839477262555,0.839425161371,0.839373052472,0.839320935857,0.839268811527,0.839216679484,0.839164539726,0.839112392254,0.83906023707,0.839008074174,0.838955903565,0.838903725245,0.838851539214,0.838799345472,0.83874714402,0.838694934859,0.838642717989,0.838590493409,0.838538261122,0.838486021127,0.838433773425,0.838381518017,0.838329254902,0.838276984081,0.838224705555,0.838172419324,0.838120125389,0.83806782375,0.838015514408,0.837963197363,0.837910872615,0.837858540166,0.837806200015,0.837753852163,0.837701496611,0.837649133359,0.837596762407,0.837544383757,0.837491997408,0.83743960336,0.837387201616,0.837334792174,0.837282375035,0.837229950201,0.837177517671,0.837125077445,0.837072629525,0.837020173911,0.836967710603,0.836915239602,0.836862760908,0.836810274522,0.836757780444,0.836705278674,0.836652769214,0.836600252064,0.836547727224,0.836495194694,0.836442654475,0.836390106568,0.836337550974,0.836284987691,0.836232416722,0.836179838066,0.836127251725,0.836074657698,0.836022055985,0.835969446589,0.835916829508,0.835864204743,0.835811572296,0.835758932166,0.835706284354,0.83565362886,0.835600965685,0.835548294829,0.835495616294,0.835442930078,0.835390236183,0.83533753461,0.835284825358,0.835232108429,0.835179383822,0.835126651539,0.835073911579,0.835021163943,0.834968408632,0.834915645647,0.834862874986,0.834810096652,0.834757310645,0.834704516965,0.834651715612,0.834598906587,0.834546089891,0.834493265524,0.834440433486,0.834387593778,0.834334746401,0.834281891355,0.83422902864,0.834176158258,0.834123280207,0.83407039449,0.834017501106,0.833964600056,0.83391169134,0.833858774959,0.833805850914,0.833752919204,0.833699979831,0.833647032794,0.833594078095,0.833541115733,0.83348814571,0.833435168026,0.833382182681,0.833329189675,0.83327618901,0.833223180685,0.833170164702,0.83311714106,0.833064109761,0.833011070804,0.83295802419,0.83290496992,0.832851907994,0.832798838413,0.832745761176,0.832692676286,0.832639583741,0.832586483543,0.832533375692,0.832480260188,0.832427137033,0.832374006226,0.832320867768,0.832267721659,0.832214567901,0.832161406493,0.832108237436,0.83205506073,0.832001876376,0.831948684375,0.831895484727,0.831842277432,0.83178906249,0.831735839904,0.831682609672,0.831629371795,0.831576126274,0.83152287311,0.831469612303,0.831416343852,0.83136306776,0.831309784026,0.83125649265,0.831203193634,0.831149886978,0.831096572682,0.831043250746,0.830989921172,0.83093658396,0.83088323911,0.830829886622,0.830776526498,0.830723158737,0.830669783341,0.830616400309,0.830563009642,0.830509611341,0.830456205406,0.830402791838,0.830349370637,0.830295941803,0.830242505338,0.830189061241,0.830135609513,0.830082150155,0.830028683167,0.829975208549,0.829921726303,0.829868236428,0.829814738925,0.829761233795,0.829707721037,0.829654200653,0.829600672643,0.829547137008,0.829493593747,0.829440042862,0.829386484353,0.829332918221,0.829279344465,0.829225763087,0.829172174087,0.829118577465,0.829064973222,0.829011361359,0.828957741875,0.828904114772,0.82885048005,0.828796837709,0.82874318775,0.828689530173,0.828635864979,0.828582192169,0.828528511742,0.8284748237,0.828421128043,0.828367424771,0.828313713884,0.828259995384,0.828206269271,0.828152535545,0.828098794207,0.828045045258,0.827991288697,0.827937524525,0.827883752743,0.827829973352,0.827776186351,0.827722391741,0.827668589524,0.827614779698,0.827560962265,0.827507137226,0.82745330458,0.827399464328,0.827345616471,0.827291761009,0.827237897943,0.827184027274,0.827130149001,0.827076263125,0.827022369647,0.826968468567,0.826914559885,0.826860643603,0.826806719721,0.826752788238,0.826698849157,0.826644902476,0.826590948197,0.826536986321,0.826483016847,0.826429039776,0.826375055109,0.826321062846,0.826267062987,0.826213055534,0.826159040486,0.826105017845,0.82605098761,0.825996949782,0.825942904362,0.82588885135,0.825834790746,0.825780722552,0.825726646767,0.825672563392,0.825618472428,0.825564373875,0.825510267734,0.825456154004,0.825402032688,0.825347903784,0.825293767294,0.825239623218,0.825185471556,0.82513131231,0.825077145479,0.825022971065,0.824968789066,0.824914599485,0.824860402322,0.824806197576,0.824751985249,0.824697765342,0.824643537853,0.824589302785,0.824535060137,0.824480809911,0.824426552106,0.824372286723,0.824318013762,0.824263733225,0.824209445111,0.824155149421,0.824100846156,0.824046535315,0.8239922169,0.823937890912,0.82388355735,0.823829216215,0.823774867507,0.823720511227,0.823666147376,0.823611775954,0.823557396962,0.8235030104,0.823448616268,0.823394214567,0.823339805298,0.82328538846,0.823230964056,0.823176532084,0.823122092546,0.823067645442,0.823013190772,0.822958728538,0.822904258739,0.822849781376,0.822795296449,0.82274080396,0.822686303908,0.822631796295,0.822577281119,0.822522758383,0.822468228087,0.82241369023,0.822359144814,0.822304591839,0.822250031306,0.822195463214,0.822140887565,0.82208630436,0.822031713597,0.821977115279,0.821922509406,0.821867895977,0.821813274994,0.821758646457,0.821704010367,0.821649366724,0.821594715528,0.821540056781,0.821485390482,0.821430716632,0.821376035231,0.821321346281,0.821266649781,0.821211945733,0.821157234136,0.821102514991,0.821047788299,0.82099305406,0.820938312274,0.820883562943,0.820828806066,0.820774041644,0.820719269678,0.820664490168,0.820609703115,0.820554908519,0.82050010638,0.8204452967,0.820390479478,0.820335654715,0.820280822412,0.820225982569,0.820171135187,0.820116280266,0.820061417807,0.82000654781,0.819951670275,0.819896785204,0.819841892596,0.819786992453,0.819732084774,0.819677169561,0.819622246813,0.819567316531,0.819512378716,0.819457433369,0.819402480489,0.819347520077,0.819292552134,0.81923757666,0.819182593656,0.819127603122,0.819072605059,0.819017599467,0.818962586347,0.8189075657,0.818852537525,0.818797501823,0.818742458595,0.818687407842,0.818632349563,0.818577283759,0.818522210432,0.81846712958,0.818412041206,0.818356945309,0.818301841889,0.818246730948,0.818191612486,0.818136486503,0.818081353,0.818026211978,0.817971063436,0.817915907376,0.817860743797,0.817805572701,0.817750394088,0.817695207959,0.817640014313,0.817584813152,0.817529604475,0.817474388284,0.817419164579,0.817363933361,0.817308694629,0.817253448385,0.817198194629,0.817142933361,0.817087664583,0.817032388294,0.816977104494,0.816921813186,0.816866514368,0.816811208042,0.816755894208,0.816700572867,0.816645244018,0.816589907664,0.816534563803,0.816479212437,0.816423853566,0.81636848719,0.816313113311,0.816257731928,0.816202343043,0.816146946655,0.816091542765,0.816036131374,0.815980712482,0.81592528609,0.815869852198,0.815814410807,0.815758961917,0.815703505528,0.815648041642,0.815592570259,0.815537091378,0.815481605002,0.81542611113,0.815370609762,0.8153151009,0.815259584544,0.815204060694,0.815148529351,0.815092990515,0.815037444187,0.814981890367,0.814926329057,0.814870760255,0.814815183964,0.814759600182,0.814704008912,0.814648410153,0.814592803906,0.814537190172,0.81448156895,0.814425940242,0.814370304048,0.814314660369,0.814259009204,0.814203350555,0.814147684422,0.814092010805,0.814036329706,0.813980641124,0.81392494506,0.813869241515,0.813813530489,0.813757811982,0.813702085995,0.81364635253,0.813590611585,0.813534863162,0.813479107261,0.813423343883,0.813367573027,0.813311794696,0.813256008889,0.813200215606,0.813144414849,0.813088606618,0.813032790913,0.812976967734,0.812921137083,0.81286529896,0.812809453365,0.812753600299,0.812697739762,0.812641871755,0.812585996278,0.812530113333,0.812474222918,0.812418325036,0.812362419686,0.812306506869,0.812250586585,0.812194658836,0.81213872362,0.81208278094,0.812026830796,0.811970873187,0.811914908115,0.81185893558,0.811802955583,0.811746968123,0.811690973202,0.811634970821,0.811578960979,0.811522943677,0.811466918916,0.811410886695,0.811354847017,0.811298799881,0.811242745287,0.811186683237,0.811130613731,0.811074536768,0.811018452351,0.810962360479,0.810906261152,0.810850154372,0.810794040139,0.810737918453,0.810681789315,0.810625652726,0.810569508685,0.810513357194,0.810457198253,0.810401031862,0.810344858022,0.810288676733,0.810232487997,0.810176291813,0.810120088182,0.810063877105,0.810007658582,0.809951432613,0.809895199199,0.809838958341,0.80978271004,0.809726454294,0.809670191106,0.809613920476,0.809557642404,0.809501356891,0.809445063937,0.809388763542,0.809332455708,0.809276140435,0.809219817723,0.809163487572,0.809107149985,0.80905080496,0.808994452498,0.8089380926,0.808881725267,0.808825350499,0.808768968296,0.808712578659,0.808656181588,0.808599777085,0.808543365149,0.808486945781,0.808430518982,0.808374084751,0.808317643091,0.808261194,0.80820473748,0.808148273531,0.808091802154,0.80803532335,0.807978837117,0.807922343458,0.807865842373,0.807809333862,0.807752817926,0.807696294565,0.80763976378,0.807583225572,0.80752667994,0.807470126886,0.807413566409,0.807356998511,0.807300423192,0.807243840452,0.807187250293,0.807130652714,0.807074047716,0.807017435299,0.806960815464,0.806904188213,0.806847553544,0.806790911459,0.806734261958,0.806677605041,0.80662094071,0.806564268965,0.806507589806,0.806450903233,0.806394209248,0.806337507851,0.806280799042,0.806224082821,0.806167359191,0.80611062815,0.806053889699,0.805997143839,0.805940390571,0.805883629895,0.805826861811,0.805770086321,0.805713303423,0.80565651312,0.805599715412,0.805542910298,0.80548609778,0.805429277859,0.805372450534,0.805315615806,0.805258773676,0.805201924144,0.805145067211,0.805088202877,0.805031331143,0.804974452009,0.804917565476,0.804860671545,0.804803770215,0.804746861488,0.804689945364,0.804633021843,0.804576090926,0.804519152614,0.804462206907,0.804405253805,0.804348293309,0.80429132542,0.804234350139,0.804177367464,0.804120377398,0.804063379941,0.804006375093,0.803949362854,0.803892343226,0.803835316209,0.803778281803,0.803721240009,0.803664190827,0.803607134258,0.803550070303,0.803492998961,0.803435920234,0.803378834122,0.803321740625,0.803264639745,0.803207531481,0.803150415834,0.803093292804,0.803036162393,0.802979024601,0.802921879428,0.802864726874,0.802807566941,0.802750399628,0.802693224937,0.802636042867,0.80257885342,0.802521656596,0.802464452395,0.802407240818,0.802350021866,0.802292795538,0.802235561836,0.80217832076,0.802121072311,0.802063816488,0.802006553293,0.801949282727,0.801892004789,0.80183471948,0.801777426801,0.801720126752,0.801662819334,0.801605504547,0.801548182392,0.801490852869,0.80143351598,0.801376171723,0.801318820101,0.801261461113,0.80120409476,0.801146721042,0.80108933996,0.801031951515,0.800974555708,0.800917152537,0.800859742005,0.800802324112,0.800744898857,0.800687466243,0.800630026269,0.800572578935,0.800515124243,0.800457662193,0.800400192785,0.80034271602,0.800285231898,0.80022774042,0.800170241587,0.800112735399,0.800055221856,0.799997700959,0.799940172709,0.799882637106,0.799825094151,0.799767543844,0.799709986186,0.799652421176,0.799594848817,0.799537269108,0.79947968205,0.799422087643,0.799364485888,0.799306876785,0.799249260335,0.799191636539,0.799134005397,0.799076366909,0.799018721077,0.7989610679,0.798903407379,0.798845739515,0.798788064308,0.798730381758,0.798672691867,0.798614994635,0.798557290062,0.798499578149,0.798441858896,0.798384132304,0.798326398373,0.798268657105,0.798210908499,0.798153152556,0.798095389276,0.798037618661,0.79797984071,0.797922055424,0.797864262804,0.79780646285,0.797748655563,0.797690840943,0.797633018991,0.797575189708,0.797517353093,0.797459509147,0.797401657872,0.797343799267,0.797285933333,0.79722806007,0.79717017948,0.797112291562,0.797054396317,0.796996493746,0.796938583849,0.796880666627,0.79682274208,0.796764810208,0.796706871013,0.796648924495,0.796590970655,0.796533009492,0.796475041008,0.796417065202,0.796359082076,0.79630109163,0.796243093865,0.796185088781,0.796127076378,0.796069056658,0.79601102962,0.795952995266,0.795894953595,0.795836904609,0.795778848307,0.795720784691,0.795662713761,0.795604635517,0.79554654996,0.795488457091,0.79543035691,0.795372249417,0.795314134613,0.7952560125,0.795197883076,0.795139746343,0.795081602301,0.795023450951,0.794965292293,0.794907126328,0.794848953057,0.794790772479,0.794732584596,0.794674389408,0.794616186915,0.794557977119,0.794499760019,0.794441535616,0.794383303911,0.794325064904,0.794266818596,0.794208564987,0.794150304078,0.794092035869,0.794033760361,0.793975477554,0.79391718745,0.793858890048,0.793800585349,0.793742273353,0.793683954062,0.793625627475,0.793567293593,0.793508952417,0.793450603948,0.793392248185,0.793333885129,0.793275514781,0.793217137142,0.793158752211,0.79310035999,0.793041960479,0.792983553679,0.79292513959,0.792866718212,0.792808289546,0.792749853593,0.792691410353,0.792632959827,0.792574502015,0.792516036918,0.792457564537,0.792399084871,0.792340597922,0.79228210369,0.792223602175,0.792165093378,0.7921065773,0.792048053941,0.791989523302,0.791930985383,0.791872440184,0.791813887707,0.791755327952,0.791696760919,0.791638186609,0.791579605023,0.79152101616,0.791462420022,0.791403816609,0.791345205921,0.79128658796,0.791227962725,0.791169330218,0.791110690438,0.791052043386,0.790993389064,0.790934727471,0.790876058607,0.790817382474,0.790758699072,0.790700008402,0.790641310463,0.790582605257,0.790523892785,0.790465173046,0.790406446041,0.790347711771,0.790288970236,0.790230221437,0.790171465375,0.790112702049,0.790053931461,0.789995153611,0.789936368499,0.789877576127,0.789818776494,0.789759969601,0.789701155449,0.789642334038,0.789583505369,0.789524669442,0.789465826258,0.789406975818,0.789348118121,0.789289253169,0.789230380962,0.7891715015,0.789112614785,0.789053720816,0.788994819595,0.788935911121,0.788876995395,0.788818072418,0.788759142191,0.788700204714,0.788641259986,0.78858230801,0.788523348786,0.788464382313,0.788405408593,0.788346427627,0.788287439414,0.788228443955,0.788169441251,0.788110431302,0.788051414109,0.787992389673,0.787933357993,0.787874319071,0.787815272907,0.787756219501,0.787697158855,0.787638090968,0.787579015842,0.787519933476,0.787460843872,0.787401747029,0.787342642949,0.787283531631,0.787224413078,0.787165287288,0.787106154262,0.787047014002,0.786987866507,0.786928711779,0.786869549817,0.786810380623,0.786751204196,0.786692020538,0.786632829648,0.786573631529,0.786514426179,0.786455213599,0.786395993791,0.786336766754,0.786277532489,0.786218290997,0.786159042279,0.786099786334,0.786040523163,0.785981252768,0.785921975148,0.785862690303,0.785803398236,0.785744098945,0.785684792432,0.785625478697,0.785566157741,0.785506829564,0.785447494167,0.78538815155,0.785328801714,0.78526944466,0.785210080387,0.785150708897,0.78509133019,0.785031944267,0.784972551128,0.784913150773,0.784853743204,0.78479432842,0.784734906423,0.784675477213,0.78461604079,0.784556597156,0.784497146309,0.784437688252,0.784378222984,0.784318750507,0.78425927082,0.784199783925,0.784140289821,0.78408078851,0.784021279991,0.783961764266,0.783902241336,0.783842711199,0.783783173858,0.783723629312,0.783664077562,0.78360451861,0.783544952454,0.783485379096,0.783425798537,0.783366210777,0.783306615816,0.783247013655,0.783187404294,0.783127787735,0.783068163977,0.783008533022,0.782948894869,0.78288924952,0.782829596975,0.782769937233,0.782710270297,0.782650596167,0.782590914842,0.782531226324,0.782471530613,0.78241182771,0.782352117615,0.782292400329,0.782232675852,0.782172944185,0.782113205328,0.782053459283,0.781993706049,0.781933945627,0.781874178018,0.781814403222,0.781754621239,0.781694832071,0.781635035718,0.78157523218,0.781515421458,0.781455603552,0.781395778464,0.781335946193,0.78127610674,0.781216260106,0.781156406291,0.781096545296,0.781036677122,0.780976801768,0.780916919235,0.780857029525,0.780797132637,0.780737228572,0.780677317331,0.780617398914,0.780557473322,0.780497540555,0.780437600613,0.780377653499,0.780317699211,0.78025773775,0.780197769118,0.780137793314,0.78007781034,0.780017820195,0.77995782288,0.779897818396,0.779837806744,0.779777787923,0.779717761935,0.77965772878,0.779597688458,0.779537640971,0.779477586318,0.7794175245,0.779357455518,0.779297379373,0.779237296064,0.779177205593,0.779117107959,0.779057003164,0.778996891209,0.778936772093,0.778876645817,0.778816512381,0.778756371788,0.778696224036,0.778636069126,0.778575907059,0.778515737836,0.778455561457,0.778395377922,0.778335187233,0.778274989389,0.778214784392,0.778154572241,0.778094352938,0.778034126482,0.777973892876,0.777913652118,0.777853404209,0.777793149151,0.777732886944,0.777672617588,0.777612341083,0.777552057431,0.777491766632,0.777431468687,0.777371163595,0.777310851358,0.777250531976,0.77719020545,0.77712987178,0.777069530967,0.777009183011,0.776948827913,0.776888465673,0.776828096293,0.776767719772,0.776707336111,0.776646945311,0.776586547372,0.776526142295,0.77646573008,0.776405310728,0.776344884239,0.776284450615,0.776224009855,0.77616356196,0.776103106931,0.776042644768,0.775982175472,0.775921699043,0.775861215483,0.77580072479,0.775740226967,0.775679722013,0.775619209929,0.775558690716,0.775498164374,0.775437630904,0.775377090306,0.775316542582,0.77525598773,0.775195425753,0.77513485665,0.775074280423,0.775013697071,0.774953106595,0.774892508996,0.774831904274,0.774771292431,0.774710673466,0.774650047379,0.774589414173,0.774528773846,0.774468126401,0.774407471836,0.774346810154,0.774286141353,0.774225465436,0.774164782402,0.774104092252,0.774043394987,0.773982690607,0.773921979112,0.773861260504,0.773800534783,0.773739801949,0.773679062003,0.773618314946,0.773557560778,0.773496799499,0.77343603111,0.773375255613,0.773314473006,0.773253683291,0.773192886469,0.77313208254,0.773071271504,0.773010453363,0.772949628116,0.772888795764,0.772827956308,0.772767109748,0.772706256086,0.77264539532,0.772584527453,0.772523652484,0.772462770415,0.772401881245,0.772340984975,0.772280081606,0.772219171139,0.772158253573,0.77209732891,0.77203639715,0.771975458294,0.771914512342,0.771853559294,0.771792599152,0.771731631916,0.771670657586,0.771609676163,0.771548687647,0.77148769204,0.771426689341,0.771365679552,0.771304662672,0.771243638702,0.771182607644,0.771121569497,0.771060524262,0.770999471939,0.77093841253,0.770877346034,0.770816272453,0.770755191786,0.770694104035,0.7706330092,0.770571907281,0.77051079828,0.770449682196,0.77038855903,0.770327428783,0.770266291455,0.770205147047,0.77014399556,0.770082836993,0.770021671348,0.769960498626,0.769899318826,0.769838131949,0.769776937996,0.769715736967,0.769654528864,0.769593313685,0.769532091433,0.769470862108,0.76940962571,0.769348382239,0.769287131697,0.769225874083,0.769164609399,0.769103337646,0.769042058822,0.76898077293,0.76891947997,0.768858179941,0.768796872846,0.768735558684,0.768674237456,0.768612909162,0.768551573804,0.768490231381,0.768428881894,0.768367525344,0.768306161731,0.768244791057,0.768183413321,0.768122028523,0.768060636666,0.767999237748,0.767937831772,0.767876418736,0.767814998642,0.767753571491,0.767692137283,0.767630696018,0.767569247698,0.767507792322,0.767446329891,0.767384860406,0.767323383868,0.767261900276,0.767200409632,0.767138911936,0.767077407188,0.76701589539,0.766954376542,0.766892850643,0.766831317696,0.7667697777,0.766708230657,0.766646676565,0.766585115427,0.766523547243,0.766461972013,0.766400389738,0.766338800418,0.766277204054,0.766215600647,0.766153990196,0.766092372704,0.76603074817,0.765969116594,0.765907477978,0.765845832322,0.765784179626,0.765722519892,0.765660853119,0.765599179308,0.76553749846,0.765475810575,0.765414115655,0.765352413699,0.765290704707,0.765228988682,0.765167265622,0.76510553553,0.765043798405,0.764982054247,0.764920303058,0.764858544838,0.764796779588,0.764735007308,0.764673227998,0.76461144166,0.764549648293,0.7644878479,0.764426040479,0.764364226031,0.764302404558,0.764240576059,0.764178740536,0.764116897989,0.764055048418,0.763993191824,0.763931328207,0.763869457569,0.763807579909,0.763745695228,0.763683803528,0.763621904807,0.763559999068,0.76349808631,0.763436166534,0.763374239741,0.763312305931,0.763250365105,0.763188417263,0.763126462407,0.763064500535,0.76300253165,0.762940555752,0.76287857284,0.762816582917,0.762754585981,0.762692582035,0.762630571078,0.762568553112,0.762506528136,0.762444496151,0.762382457158,0.762320411157,0.762258358149,0.762196298135,0.762134231114,0.762072157089,0.762010076058,0.761947988023,0.761885892985,0.761823790943,0.761761681899,0.761699565854,0.761637442806,0.761575312758,0.76151317571,0.761451031662,0.761388880615,0.761326722569,0.761264557525,0.761202385484,0.761140206446,0.761078020412,0.761015827383,0.760953627358,0.760891420339,0.760829206325,0.760766985319,0.760704757319,0.760642522328,0.760580280344,0.76051803137,0.760455775405,0.76039351245,0.760331242506,0.760268965573,0.760206681651,0.760144390742,0.760082092846,0.760019787964,0.759957476095,0.759895157241,0.759832831403,0.75977049858,0.759708158773,0.759645811984,0.759583458211,0.759521097457,0.759458729722,0.759396355006,0.759333973309,0.759271584633,0.759209188978,0.759146786345,0.759084376733,0.759021960145,0.758959536579,0.758897106037,0.75883466852,0.758772224027,0.75870977256,0.75864731412,0.758584848705,0.758522376319,0.75845989696,0.758397410629,0.758334917327,0.758272417055,0.758209909813,0.758147395602,0.758084874422,0.758022346273,0.757959811158,0.757897269075,0.757834720026,0.757772164011,0.75770960103,0.757647031085,0.757584454176,0.757521870303,0.757459279468,0.757396681669,0.75733407691,0.757271465188,0.757208846506,0.757146220865,0.757083588263,0.757020948703,0.756958302184,0.756895648707,0.756832988273,0.756770320883,0.756707646536,0.756644965234,0.756582276977,0.756519581766,0.756456879601,0.756394170483,0.756331454412,0.756268731389,0.756206001414,0.756143264489,0.756080520614,0.756017769788,0.755955012014,0.755892247291,0.75582947562,0.755766697001,0.755703911436,0.755641118924,0.755578319467,0.755515513065,0.755452699718,0.755389879427,0.755327052193,0.755264218016,0.755201376897,0.755138528836,0.755075673834,0.755012811891,0.754949943009,0.754887067187,0.754824184426,0.754761294728,0.754698398092,0.754635494518,0.754572584008,0.754509666563,0.754446742182,0.754383810866,0.754320872617,0.754257927433,0.754194975317,0.754132016268,0.754069050288,0.754006077376,0.753943097533,0.753880110761,0.753817117059,0.753754116428,0.753691108869,0.753628094382,0.753565072968,0.753502044627,0.75343900936,0.753375967167,0.75331291805,0.753249862009,0.753186799044,0.753123729155,0.753060652344,0.752997568612,0.752934477957,0.752871380382,0.752808275887,0.752745164472,0.752682046138,0.752618920886,0.752555788715,0.752492649627,0.752429503623,0.752366350702,0.752303190866,0.752240024115,0.752176850449,0.75211366987,0.752050482377,0.751987287971,0.751924086654,0.751860878424,0.751797663284,0.751734441234,0.751671212274,0.751607976404,0.751544733626,0.75148148394,0.751418227347,0.751354963846,0.75129169344,0.751228416127,0.75116513191,0.751101840788,0.751038542762,0.750975237832,0.750911926,0.750848607265,0.750785281629,0.750721949092,0.750658609655,0.750595263317,0.75053191008,0.750468549945,0.750405182911,0.75034180898,0.750278428151,0.750215040427,0.750151645806,0.750088244291,0.75002483588,0.749961420576,0.749897998378,0.749834569287,0.749771133304,0.749707690429,0.749644240663,0.749580784006,0.74951732046,0.749453850024,0.749390372699,0.749326888486,0.749263397385,0.749199899398,0.749136394523,0.749072882763,0.749009364118,0.748945838588,0.748882306173,0.748818766875,0.748755220695,0.748691667631,0.748628107686,0.74856454086,0.748500967153,0.748437386566,0.748373799099,0.748310204754,0.74824660353,0.748182995429,0.74811938045,0.748055758595,0.747992129864,0.747928494258,0.747864851777,0.747801202421,0.747737546192,0.74767388309,0.747610213115,0.747546536269,0.747482852551,0.747419161963,0.747355464504,0.747291760176,0.747228048979,0.747164330913,0.74710060598,0.74703687418,0.746973135513,0.74690938998,0.746845637581,0.746781878318,0.746718112191,0.746654339199,0.746590559345,0.746526772628,0.74646297905,0.74639917861,0.746335371309,0.746271557148,0.746207736127,0.746143908248,0.74608007351,0.746016231914,0.745952383461,0.745888528152,0.745824665986,0.745760796965,0.745696921089,0.745633038359,0.745569148775,0.745505252338,0.745441349049,0.745377438907,0.745313521914,0.745249598071,0.745185667377,0.745121729834,0.745057785441,0.744993834201,0.744929876112,0.744865911176,0.744801939394,0.744737960765,0.744673975291,0.744609982972,0.744545983809,0.744481977802,0.744417964952,0.74435394526,0.744289918725,0.74422588535,0.744161845133,0.744097798076,0.74403374418,0.743969683445,0.743905615871,0.743841541459,0.74377746021,0.743713372125,0.743649277203,0.743585175447,0.743521066855,0.743456951429,0.743392829169,0.743328700076,0.74326456415,0.743200421393,0.743136271804,0.743072115385,0.743007952135,0.742943782056,0.742879605148,0.742815421411,0.742751230847,0.742687033455,0.742622829237,0.742558618193,0.742494400323,0.742430175629,0.74236594411,0.742301705767,0.742237460602,0.742173208614,0.742108949804,0.742044684173,0.741980411721,0.741916132449,0.741851846357,0.741787553447,0.741723253718,0.741658947171,0.741594633807,0.741530313627,0.741465986631,0.741401652819,0.741337312192,0.741272964751,0.741208610497,0.74114424943,0.74107988155,0.741015506858,0.740951125355,0.740886737041,0.740822341918,0.740757939984,0.740693531242,0.740629115692,0.740564693334,0.740500264169,0.740435828197,0.740371385419,0.740306935836,0.740242479449,0.740178016257,0.740113546261,0.740049069463,0.739984585862,0.73992009546,0.739855598256,0.739791094251,0.739726583447,0.739662065843,0.739597541441,0.73953301024,0.739468472242,0.739403927446,0.739339375854,0.739274817467,0.739210252284,0.739145680306,0.739081101534,0.739016515969,0.738951923611,0.738887324461,0.738822718519,0.738758105785,0.738693486262,0.738628859948,0.738564226845,0.738499586954,0.738434940274,0.738370286807,0.738305626552,0.738240959512,0.738176285686,0.738111605074,0.738046917678,0.737982223498,0.737917522535,0.737852814788,0.73778810026,0.73772337895,0.737658650859,0.737593915988,0.737529174337,0.737464425906,0.737399670697,0.73733490871,0.737270139946,0.737205364405,0.737140582087,0.737075792994,0.737010997126,0.736946194484,0.736881385067,0.736816568877,0.736751745915,0.736686916181,0.736622079675,0.736557236398,0.736492386351,0.736427529534,0.736362665948,0.736297795594,0.736232918472,0.736168034582,0.736103143926,0.736038246504,0.735973342316,0.735908431363,0.735843513646,0.735778589166,0.735713657922,0.735648719916,0.735583775147,0.735518823618,0.735453865327,0.735388900277,0.735323928467,0.735258949898,0.73519396457,0.735128972485,0.735063973643,0.734998968044,0.73493395569,0.73486893658,0.734803910715,0.734738878096,0.734673838723,0.734608792598,0.73454373972,0.73447868009,0.73441361371,0.734348540578,0.734283460697,0.734218374066,0.734153280687,0.734088180559,0.734023073684,0.733957960061,0.733892839693,0.733827712578,0.733762578719,0.733697438115,0.733632290766,0.733567136675,0.733501975841,0.733436808264,0.733371633946,0.733306452887,0.733241265087,0.733176070548,0.733110869269,0.733045661252,0.732980446497,0.732915225005,0.732849996775,0.73278476181,0.732719520109,0.732654271672,0.732589016502,0.732523754598,0.73245848596,0.73239321059,0.732327928488,0.732262639654,0.73219734409,0.732132041795,0.732066732771,0.732001417018,0.731936094537,0.731870765327,0.731805429391,0.731740086728,0.731674737338,0.731609381224,0.731544018385,0.731478648821,0.731413272534,0.731347889524,0.731282499791,0.731217103337,0.731151700162,0.731086290265,0.731020873649,0.730955450314,0.73089002026,0.730824583487,0.730759139997,0.73069368979,0.730628232867,0.730562769228,0.730497298874,0.730431821805,0.730366338022,0.730300847526,0.730235350317,0.730169846395,0.730104335763,0.730038818419,0.729973294365,0.729907763601,0.729842226128,0.729776681947,0.729711131057,0.72964557346,0.729580009157,0.729514438147,0.729448860432,0.729383276012,0.729317684887,0.729252087059,0.729186482527,0.729120871293,0.729055253358,0.728989628721,0.728923997383,0.728858359345,0.728792714607,0.728727063171,0.728661405036,0.728595740204,0.728530068674,0.728464390448,0.728398705526,0.728333013909,0.728267315597,0.728201610591,0.728135898892,0.7280701805,0.728004455415,0.727938723639,0.727872985172,0.727807240014,0.727741488167,0.72767572963,0.727609964404,0.727544192491,0.72747841389,0.727412628602,0.727346836628,0.727281037969,0.727215232624,0.727149420595,0.727083601883,0.727017776487,0.726951944408,0.726886105648,0.726820260206,0.726754408083,0.72668854928,0.726622683798,0.726556811636,0.726490932796,0.726425047279,0.726359155084,0.726293256213,0.726227350666,0.726161438444,0.726095519546,0.726029593975,0.72596366173,0.725897722813,0.725831777223,0.725765824961,0.725699866028,0.725633900425,0.725567928152,0.72550194921,0.725435963599,0.72536997132,0.725303972373,0.72523796676,0.72517195448,0.725105935535,0.725039909925,0.72497387765,0.724907838712,0.72484179311,0.724775740846,0.724709681919,0.724643616332,0.724577544084,0.724511465175,0.724445379607,0.72437928738,0.724313188495,0.724247082951,0.724180970751,0.724114851895,0.724048726382,0.723982594214,0.723916455391,0.723850309915,0.723784157784,0.723717999001,0.723651833566,0.723585661479,0.723519482741,0.723453297353,0.723387105314,0.723320906627,0.723254701291,0.723188489307,0.723122270675,0.723056045397,0.722989813472,0.722923574902,0.722857329687,0.722791077828,0.722724819325,0.722658554179,0.72259228239,0.722526003959,0.722459718887,0.722393427175,0.722327128822,0.72226082383,0.722194512199,0.722128193929,0.722061869022,0.721995537478,0.721929199298,0.721862854481,0.72179650303,0.721730144944,0.721663780224,0.72159740887,0.721531030884,0.721464646266,0.721398255016,0.721331857135,0.721265452624,0.721199041483,0.721132623713,0.721066199315,0.720999768288,0.720933330634,0.720866886354,0.720800435448,0.720733977916,0.720667513759,0.720601042978,0.720534565574,0.720468081546,0.720401590897,0.720335093625,0.720268589732,0.720202079219,0.720135562085,0.720069038333,0.720002507961,0.719935970972,0.719869427365,0.719802877141,0.719736320301,0.719669756845,0.719603186774,0.719536610089,0.71947002679,0.719403436878,0.719336840353,0.719270237216,0.719203627467,0.719137011108,0.719070388139,0.71900375856,0.718937122373,0.718870479577,0.718803830173,0.718737174162,0.718670511545,0.718603842322,0.718537166494,0.718470484061,0.718403795023,0.718337099383,0.71827039714,0.718203688294,0.718136972847,0.718070250799,0.718003522151,0.717936786903,0.717870045056,0.71780329661,0.717736541566,0.717669779926,0.717603011688,0.717536236854,0.717469455425,0.717402667402,0.717335872784,0.717269071572,0.717202263767,0.71713544937,0.717068628381,0.717001800802,0.716934966631,0.716868125871,0.716801278521,0.716734424583,0.716667564056,0.716600696943,0.716533823242,0.716466942955,0.716400056082,0.716333162625,0.716266262583,0.716199355957,0.716132442748,0.716065522957,0.715998596584,0.715931663629,0.715864724094,0.715797777979,0.715730825284,0.71566386601,0.715596900158,0.715529927729,0.715462948722,0.715395963139,0.715328970981,0.715261972247,0.715194966939,0.715127955056,0.715060936601,0.714993911573,0.714926879972,0.714859841801,0.714792797058,0.714725745745,0.714658687863,0.714591623411,0.714524552392,0.714457474804,0.714390390649,0.714323299928,0.714256202641,0.714189098789,0.714121988372,0.71405487139,0.713987747846,0.713920617738,0.713853481069,0.713786337838,0.713719188046,0.713652031693,0.713584868781,0.713517699309,0.71345052328,0.713383340692,0.713316151547,0.713248955845,0.713181753587,0.713114544774,0.713047329406,0.712980107484,0.712912879009,0.71284564398,0.712778402399,0.712711154267,0.712643899583,0.712576638349,0.712509370565,0.712442096231,0.71237481535,0.71230752792,0.712240233942,0.712172933418,0.712105626348,0.712038312733,0.711970992572,0.711903665867,0.711836332619,0.711768992827,0.711701646493,0.711634293617,0.7115669342,0.711499568243,0.711432195745,0.711364816708,0.711297431133,0.711230039019,0.711162640368,0.71109523518,0.711027823456,0.710960405196,0.710892980401,0.710825549072,0.710758111209,0.710690666813,0.710623215884,0.710555758424,0.710488294432,0.71042082391,0.710353346857,0.710285863275,0.710218373164,0.710150876526,0.710083373359,0.710015863666,0.709948347446,0.709880824701,0.70981329543,0.709745759636,0.709678217317,0.709610668475,0.70954311311,0.709475551224,0.709407982816,0.709340407888,0.709272826439,0.709205238471,0.709137643984,0.709070042978,0.709002435456,0.708934821416,0.70886720086,0.708799573788,0.7087319402,0.708664300099,0.708596653483,0.708529000354,0.708461340713,0.70839367456,0.708326001895,0.708258322719,0.708190637033,0.708122944838,0.708055246134,0.707987540921,0.707919829201,0.707852110974,0.70778438624,0.707716655,0.707648917256,0.707581173006,0.707513422253,0.707445664997,0.707377901238,0.707310130976,0.707242354214,0.70717457095,0.707106781187,0.707038984923,0.706971182161,0.706903372901,0.706835557142,0.706767734887,0.706699906135,0.706632070888,0.706564229145,0.706496380907,0.706428526176,0.706360664951,0.706292797234,0.706224923024,0.706157042323,0.706089155131,0.706021261449,0.705953361278,0.705885454617,0.705817541468,0.705749621831,0.705681695708,0.705613763097,0.705545824001,0.70547787842,0.705409926354,0.705341967804,0.705274002771,0.705206031255,0.705138053257,0.705070068777,0.705002077817,0.704934080376,0.704866076456,0.704798066056,0.704730049179,0.704662025823,0.704593995991,0.704525959682,0.704457916897,0.704389867637,0.704321811903,0.704253749694,0.704185681012,0.704117605858,0.704049524231,0.703981436133,0.703913341564,0.703845240524,0.703777133016,0.703709019038,0.703640898592,0.703572771678,0.703504638297,0.703436498449,0.703368352136,0.703300199358,0.703232040114,0.703163874407,0.703095702237,0.703027523604,0.702959338509,0.702891146952,0.702822948935,0.702754744457,0.70268653352,0.702618316124,0.702550092269,0.702481861957,0.702413625188,0.702345381962,0.702277132281,0.702208876144,0.702140613553,0.702072344508,0.70200406901,0.701935787059,0.701867498656,0.701799203801,0.701730902496,0.70166259474,0.701594280535,0.701525959881,0.701457632779,0.701389299229,0.701320959232,0.701252612789,0.7011842599,0.701115900566,0.701047534787,0.700979162565,0.700910783899,0.700842398791,0.70077400724,0.700705609248,0.700637204816,0.700568793943,0.700500376631,0.70043195288,0.700363522691,0.700295086064,0.700226643001,0.700158193501,0.700089737565,0.700021275194,0.699952806389,0.69988433115,0.699815849477,0.699747361373,0.699678866836,0.699610365868,0.699541858469,0.69947334464,0.699404824382,0.699336297695,0.69926776458,0.699199225037,0.699130679068,0.699062126672,0.698993567851,0.698925002604,0.698856430934,0.698787852839,0.698719268322,0.698650677381,0.69858208002,0.698513476236,0.698444866033,0.698376249409,0.698307626366,0.698238996904,0.698170361024,0.698101718727,0.698033070013,0.697964414883,0.697895753337,0.697827085377,0.697758411002,0.697689730213,0.697621043012,0.697552349398,0.697483649372,0.697414942935,0.697346230088,0.697277510831,0.697208785165,0.69714005309,0.697071314607,0.697002569716,0.696933818419,0.696865060716,0.696796296608,0.696727526095,0.696658749177,0.696589965856,0.696521176132,0.696452380006,0.696383577478,0.69631476855,0.69624595322,0.696177131491,0.696108303363,0.696039468837,0.695970627913,0.695901780591,0.695832926873,0.695764066759,0.695695200249,0.695626327345,0.695557448047,0.695488562356,0.695419670271,0.695350771795,0.695281866927,0.695212955668,0.695144038019,0.69507511398,0.695006183552,0.694937246736,0.694868303532,0.694799353942,0.694730397964,0.694661435601,0.694592466853,0.69452349172,0.694454510203,0.694385522303,0.69431652802,0.694247527356,0.69417852031,0.694109506883,0.694040487076,0.69397146089,0.693902428324,0.693833389381,0.69376434406,0.693695292362,0.693626234288,0.693557169838,0.693488099013,0.693419021814,0.693349938241,0.693280848295,0.693211751976,0.693142649285,0.693073540224,0.693004424791,0.692935302989,0.692866174817,0.692797040277,0.692727899369,0.692658752093,0.692589598451,0.692520438442,0.692451272068,0.692382099329,0.692312920226,0.692243734759,0.692174542929,0.692105344737,0.692036140183,0.691966929269,0.691897711993,0.691828488358,0.691759258364,0.691690022012,0.691620779301,0.691551530233,0.691482274809,0.691413013029,0.691343744893,0.691274470403,0.691205189558,0.691135902361,0.69106660881,0.690997308908,0.690928002653,0.690858690048,0.690789371093,0.690720045788,0.690650714135,0.690581376132,0.690512031783,0.690442681086,0.690373324043,0.690303960654,0.69023459092,0.690165214841,0.690095832419,0.690026443653,0.689957048545,0.689887647095,0.689818239303,0.689748825171,0.689679404699,0.689609977887,0.689540544737,0.689471105249,0.689401659423,0.68933220726,0.689262748761,0.689193283927,0.689123812757,0.689054335254,0.688984851417,0.688915361246,0.688845864744,0.688776361909,0.688706852744,0.688637337248,0.688567815422,0.688498287267,0.688428752784,0.688359211973,0.688289664834,0.688220111369,0.688150551578,0.688080985462,0.68801141302,0.687941834255,0.687872249167,0.687802657755,0.687733060022,0.687663455967,0.687593845591,0.687524228895,0.687454605879,0.687384976545,0.687315340892,0.687245698921,0.687176050634,0.68710639603,0.68703673511,0.686967067875,0.686897394326,0.686827714463,0.686758028287,0.686688335798,0.686618636998,0.686548931886,0.686479220463,0.686409502731,0.686339778689,0.686270048339,0.68620031168,0.686130568714,0.686060819441,0.685991063863,0.685921301978,0.685851533789,0.685781759296,0.685711978499,0.685642191399,0.685572397997,0.685502598293,0.685432792289,0.685362979984,0.685293161379,0.685223336475,0.685153505273,0.685083667773,0.685013823976,0.684943973882,0.684874117492,0.684804254808,0.684734385828,0.684664510555,0.684594628988,0.684524741129,0.684454846978,0.684384946535,0.684315039802,0.684245126779,0.684175207466,0.684105281864,0.684035349975,0.683965411797,0.683895467333,0.683825516583,0.683755559547,0.683685596226,0.683615626621,0.683545650732,0.68347566856,0.683405680106,0.68333568537,0.683265684353,0.683195677056,0.683125663479,0.683055643623,0.682985617488,0.682915585075,0.682845546385,0.682775501419,0.682705450176,0.682635392659,0.682565328866,0.6824952588,0.682425182461,0.682355099848,0.682285010964,0.682214915808,0.682144814381,0.682074706685,0.682004592718,0.681934472483,0.68186434598,0.681794213209,0.681724074172,0.681653928868,0.681583777298,0.681513619464,0.681443455365,0.681373285002,0.681303108377,0.681232925489,0.681162736339,0.681092540928,0.681022339257,0.680952131326,0.680881917135,0.680811696686,0.68074146998,0.680671237016,0.680600997795,0.680530752319,0.680460500587,0.680390242601,0.680319978361,0.680249707867,0.68017943112,0.680109148122,0.680038858872,0.679968563371,0.679898261621,0.67982795362,0.679757639371,0.679687318874,0.679616992129,0.679546659137,0.679476319899,0.679405974416,0.679335622687,0.679265264714,0.679194900498,0.679124530038,0.679054153337,0.678983770393,0.678913381208,0.678842985783,0.678772584118,0.678702176214,0.678631762072,0.678561341691,0.678490915074,0.67842048222,0.67835004313,0.678279597805,0.678209146245,0.678138688451,0.678068224424,0.677997754164,0.677927277673,0.677856794949,0.677786305996,0.677715810812,0.677645309398,0.677574801756,0.677504287886,0.677433767789,0.677363241464,0.677292708913,0.677222170137,0.677151625136,0.677081073911,0.677010516462,0.67693995279,0.676869382896,0.67679880678,0.676728224443,0.676657635886,0.67658704111,0.676516440114,0.6764458329,0.676375219468,0.676304599819,0.676233973953,0.676163341872,0.676092703575,0.676022059064,0.67595140834,0.675880751402,0.675810088251,0.675739418889,0.675668743315,0.675598061531,0.675527373536,0.675456679333,0.675385978921,0.6753152723,0.675244559473,0.675173840439,0.675103115198,0.675032383752,0.674961646102,0.674890902247,0.674820152189,0.674749395929,0.674678633466,0.674607864801,0.674537089936,0.67446630887,0.674395521605,0.674324728141,0.674253928479,0.674183122619,0.674112310562,0.674041492309,0.673970667861,0.673899837217,0.673829000379,0.673758157347,0.673687308122,0.673616452705,0.673545591096,0.673474723296,0.673403849306,0.673332969125,0.673262082756,0.673191190198,0.673120291453,0.67304938652,0.6729784754,0.672907558095,0.672836634605,0.67276570493,0.672694769071,0.672623827029,0.672552878804,0.672481924397,0.672410963809,0.67233999704,0.672269024091,0.672198044963,0.672127059656,0.672056068172,0.671985070509,0.67191406667,0.671843056655,0.671772040465,0.671701018099,0.67162998956,0.671558954847,0.671487913961,0.671416866903,0.671345813674,0.671274754274,0.671203688703,0.671132616963,0.671061539054,0.670990454977,0.670919364732,0.67084826832,0.670777165742,0.670706056998,0.67063494209,0.670563821017,0.67049269378,0.67042156038,0.670350420818,0.670279275094,0.670208123209,0.670136965164,0.670065800959,0.669994630595,0.669923454072,0.669852271392,0.669781082554,0.66970988756,0.66963868641,0.669567479105,0.669496265646,0.669425046032,0.669353820266,0.669282588347,0.669211350276,0.669140106053,0.66906885568,0.668997599157,0.668926336485,0.668855067665,0.668783792696,0.66871251158,0.668641224317,0.668569930908,0.668498631354,0.668427325655,0.668356013813,0.668284695826,0.668213371698,0.668142041427,0.668070705014,0.667999362461,0.667928013768,0.667856658935,0.667785297963,0.667713930854,0.667642557607,0.667571178223,0.667499792702,0.667428401047,0.667357003256,0.667285599331,0.667214189273,0.667142773082,0.667071350759,0.666999922304,0.666928487718,0.666857047002,0.666785600156,0.666714147181,0.666642688078,0.666571222847,0.66649975149,0.666428274006,0.666356790396,0.666285300662,0.666213804803,0.66614230282,0.666070794714,0.665999280486,0.665927760136,0.665856233666,0.665784701074,0.665713162363,0.665641617533,0.665570066585,0.665498509518,0.665426946335,0.665355377035,0.665283801619,0.665212220088,0.665140632443,0.665069038684,0.664997438811,0.664925832826,0.66485422073,0.664782602522,0.664710978203,0.664639347775,0.664567711237,0.664496068591,0.664424419837,0.664352764976,0.664281104008,0.664209436934,0.664137763755,0.664066084472,0.663994399084,0.663922707593,0.663851009999,0.663779306304,0.663707596507,0.66363588061,0.663564158612,0.663492430515,0.66342069632,0.663348956026,0.663277209635,0.663205457148,0.663133698564,0.663061933885,0.662990163111,0.662918386243,0.662846603282,0.662774814228,0.662703019082,0.662631217845,0.662559410516,0.662487597098,0.66241577759,0.662343951994,0.662272120309,0.662200282537,0.662128438678,0.662056588733,0.661984732702,0.661912870587,0.661841002387,0.661769128104,0.661697247738,0.66162536129,0.66155346876,0.66148157015,0.661409665459,0.661337754689,0.66126583784,0.661193914913,0.661121985908,0.661050050826,0.660978109668,0.660906162435,0.660834209126,0.660762249744,0.660690284287,0.660618312758,0.660546335157,0.660474351484,0.66040236174,0.660330365925,0.660258364041,0.660186356089,0.660114342067,0.660042321979,0.659970295823,0.659898263601,0.659826225313,0.659754180961,0.659682130544,0.659610074063,0.659538011519,0.659465942913,0.659393868246,0.659321787517,0.659249700728,0.659177607879,0.659105508972,0.659033404006,0.658961292982,0.658889175901,0.658817052764,0.658744923571,0.658672788323,0.658600647021,0.658528499665,0.658456346256,0.658384186795,0.658312021282,0.658239849717,0.658167672103,0.658095488439,0.658023298725,0.657951102963,0.657878901154,0.657806693297,0.657734479394,0.657662259445,0.657590033451,0.657517801413,0.657445563331,0.657373319206,0.657301069038,0.657228812829,0.657156550578,0.657084282287,0.657012007956,0.656939727587,0.656867441178,0.656795148732,0.656722850249,0.656650545729,0.656578235174,0.656505918583,0.656433595958,0.6563612673,0.656288932608,0.656216591883,0.656144245127,0.65607189234,0.655999533522,0.655927168674,0.655854797797,0.655782420892,0.655710037959,0.655637648999,0.655565254012,0.655492853,0.655420445962,0.6553480329,0.655275613814,0.655203188705,0.655130757573,0.65505832042,0.654985877245,0.65491342805,0.654840972835,0.654768511601,0.654696044349,0.654623571078,0.654551091791,0.654478606487,0.654406115167,0.654333617832,0.654261114482,0.654188605119,0.654116089742,0.654043568353,0.653971040953,0.653898507541,0.653825968118,0.653753422686,0.653680871244,0.653608313795,0.653535750337,0.653463180872,0.6533906054,0.653318023923,0.653245436441,0.653172842954,0.653100243463,0.653027637969,0.652955026473,0.652882408975,0.652809785475,0.652737155975,0.652664520476,0.652591878977,0.65251923148,0.652446577984,0.652373918492,0.652301253003,0.652228581519,0.652155904039,0.652083220565,0.652010531097,0.651937835636,0.651865134182,0.651792426737,0.6517197133,0.651646993873,0.651574268456,0.65150153705,0.651428799656,0.651356056274,0.651283306905,0.651210551549,0.651137790207,0.65106502288,0.650992249569,0.650919470274,0.650846684996,0.650773893736,0.650701096494,0.65062829327,0.650555484067,0.650482668883,0.65040984772,0.650337020579,0.65026418746,0.650191348364,0.650118503292,0.650045652244,0.649972795221,0.649899932223,0.649827063252,0.649754188307,0.649681307391,0.649608420502,0.649535527643,0.649462628813,0.649389724013,0.649316813244,0.649243896507,0.649170973802,0.64909804513,0.649025110492,0.648952169888,0.648879223319,0.648806270786,0.648733312289,0.648660347829,0.648587377406,0.648514401022,0.648441418677,0.648368430372,0.648295436107,0.648222435882,0.6481494297,0.64807641756,0.648003399463,0.64793037541,0.647857345401,0.647784309437,0.647711267519,0.647638219647,0.647565165822,0.647492106045,0.647419040316,0.647345968637,0.647272891007,0.647199807427,0.647126717899,0.647053622422,0.646980520998,0.646907413627,0.646834300309,0.646761181046,0.646688055839,0.646614924687,0.646541787591,0.646468644552,0.646395495572,0.64632234065,0.646249179787,0.646176012983,0.646102840241,0.646029661559,0.645956476939,0.645883286382,0.645810089888,0.645736887458,0.645663679092,0.645590464792,0.645517244557,0.645444018389,0.645370786288,0.645297548255,0.645224304291,0.645151054395,0.64507779857,0.645004536816,0.644931269132,0.644857995521,0.644784715982,0.644711430516,0.644638139125,0.644564841807,0.644491538566,0.6444182294,0.644344914311,0.644271593299,0.644198266365,0.64412493351,0.644051594734,0.643978250039,0.643904899424,0.64383154289,0.643758180438,0.643684812069,0.643611437784,0.643538057582,0.643464671465,0.643391279434,0.643317881489,0.64324447763,0.643171067859,0.643097652176,0.643024230582,0.642950803077,0.642877369662,0.642803930339,0.642730485106,0.642657033966,0.642583576919,0.642510113965,0.642436645105,0.642363170341,0.642289689671,0.642216203098,0.642142710622,0.642069212244,0.641995707963,0.641922197782,0.6418486817,0.641775159719,0.641701631838,0.641628098059,0.641554558382,0.641481012809,0.641407461338,0.641333903973,0.641260340712,0.641186771557,0.641113196508,0.641039615566,0.640966028732,0.640892436007,0.64081883739,0.640745232883,0.640671622487,0.640598006201,0.640524384028,0.640450755966,0.640377122018,0.640303482184,0.640229836464,0.64015618486,0.640082527371,0.640008863998,0.639935194743,0.639861519606,0.639787838587,0.639714151688,0.639640458908,0.639566760249,0.639493055711,0.639419345295,0.639345629002,0.639271906831,0.639198178785,0.639124444864,0.639050705068,0.638976959397,0.638903207854,0.638829450437,0.638755687149,0.63868191799,0.63860814296,0.638534362059,0.63846057529,0.638386782652,0.638312984146,0.638239179773,0.638165369533,0.638091553428,0.638017731457,0.637943903622,0.637870069923,0.63779623036,0.637722384936,0.637648533649,0.637574676501,0.637500813493,0.637426944625,0.637353069898,0.637279189313,0.63720530287,0.637131410569,0.637057512413,0.636983608401,0.636909698533,0.636835782812,0.636761861236,0.636687933808,0.636614000527,0.636540061395,0.636466116412,0.636392165579,0.636318208896,0.636244246364,0.636170277984,0.636096303756,0.636022323682,0.635948337761,0.635874345995,0.635800348384,0.635726344929,0.63565233563,0.635578320489,0.635504299505,0.63543027268,0.635356240015,0.635282201509,0.635208157164,0.63513410698,0.635060050958,0.634985989099,0.634911921403,0.634837847872,0.634763768504,0.634689683303,0.634615592267,0.634541495398,0.634467392697,0.634393284164,0.634319169799,0.634245049604,0.634170923579,0.634096791725,0.634022654043,0.633948510532,0.633874361195,0.633800206031,0.633726045041,0.633651878227,0.633577705588,0.633503527125,0.633429342839,0.633355152731,0.633280956801,0.63320675505,0.633132547479,0.633058334088,0.632984114878,0.632909889851,0.632835659005,0.632761422343,0.632687179864,0.63261293157,0.632538677461,0.632464417538,0.632390151801,0.632315880252,0.63224160289,0.632167319717,0.632093030734,0.63201873594,0.631944435337,0.631870128925,0.631795816705,0.631721498678,0.631647174844,0.631572845204,0.631498509759,0.631424168509,0.631349821456,0.631275468599,0.63120110994,0.631126745478,0.631052375216,0.630977999153,0.63090361729,0.630829229628,0.630754836168,0.63068043691,0.630606031855,0.630531621003,0.630457204356,0.630382781914,0.630308353677,0.630233919647,0.630159479824,0.630085034208,0.630010582801,0.629936125603,0.629861662614,0.629787193837,0.62971271927,0.629638238915,0.629563752772,0.629489260843,0.629414763128,0.629340259627,0.629265750341,0.629191235272,0.629116714419,0.629042187783,0.628967655365,0.628893117166,0.628818573186,0.628744023427,0.628669467888,0.62859490657,0.628520339475,0.628445766602,0.628371187953,0.628296603527,0.628222013327,0.628147417352,0.628072815604,0.627998208082,0.627923594788,0.627848975722,0.627774350885,0.627699720278,0.627625083901,0.627550441755,0.627475793841,0.627401140159,0.62732648071,0.627251815495,0.627177144515,0.627102467769,0.627027785259,0.626953096986,0.62687840295,0.626803703152,0.626728997592,0.626654286272,0.626579569192,0.626504846352,0.626430117753,0.626355383397,0.626280643283,0.626205897412,0.626131145786,0.626056388404,0.625981625268,0.625906856378,0.625832081735,0.625757301339,0.625682515191,0.625607723292,0.625532925643,0.625458122244,0.625383313096,0.625308498199,0.625233677555,0.625158851164,0.625084019026,0.625009181143,0.624934337515,0.624859488142,0.624784633026,0.624709772168,0.624634905566,0.624560033224,0.62448515514,0.624410271317,0.624335381754,0.624260486452,0.624185585412,0.624110678635,0.624035766121,0.623960847871,0.623885923886,0.623810994166,0.623736058713,0.623661117526,0.623586170606,0.623511217955,0.623436259572,0.623361295459,0.623286325616,0.623211350044,0.623136368744,0.623061381715,0.62298638896,0.622911390479,0.622836386271,0.622761376339,0.622686360683,0.622611339302,0.622536312199,0.622461279374,0.622386240827,0.62231119656,0.622236146572,0.622161090865,0.622086029439,0.622010962295,0.621935889433,0.621860810855,0.621785726561,0.621710636551,0.621635540827,0.621560439389,0.621485332238,0.621410219374,0.621335100798,0.621259976511,0.621184846514,0.621109710806,0.62103456939,0.620959422265,0.620884269433,0.620809110893,0.620733946647,0.620658776696,0.620583601039,0.620508419679,0.620433232614,0.620358039847,0.620282841378,0.620207637207,0.620132427335,0.620057211763,0.619981990492,0.619906763522,0.619831530854,0.619756292488,0.619681048426,0.619605798668,0.619530543215,0.619455282067,0.619380015225,0.61930474269,0.619229464462,0.619154180543,0.619078890932,0.619003595631,0.618928294641,0.618852987961,0.618777675593,0.618702357537,0.618627033794,0.618551704365,0.61847636925,0.618401028451,0.618325681967,0.6182503298,0.61817497195,0.618099608417,0.618024239204,0.617948864309,0.617873483735,0.617798097481,0.617722705548,0.617647307938,0.61757190465,0.617496495686,0.617421081045,0.61734566073,0.61727023474,0.617194803076,0.617119365739,0.61704392273,0.616968474049,0.616893019697,0.616817559674,0.616742093982,0.616666622621,0.616591145592,0.616515662895,0.616440174531,0.616364680501,0.616289180805,0.616213675445,0.616138164421,0.616062647733,0.615987125382,0.61591159737,0.615836063696,0.615760524361,0.615684979367,0.615609428713,0.615533872401,0.615458310431,0.615382742804,0.61530716952,0.615231590581,0.615156005986,0.615080415737,0.615004819834,0.614929218279,0.614853611071,0.614777998211,0.614702379701,0.61462675554,0.61455112573,0.614475490271,0.614399849164,0.61432420241,0.614248550008,0.614172891961,0.614097228268,0.614021558931,0.61394588395,0.613870203325,0.613794517058,0.613718825149,0.613643127599,0.613567424408,0.613491715578,0.613416001109,0.613340281001,0.613264555255,0.613188823873,0.613113086854,0.613037344199,0.61296159591,0.612885841986,0.612810082429,0.61273431724,0.612658546417,0.612582769964,0.61250698788,0.612431200166,0.612355406822,0.61227960785,0.61220380325,0.612127993022,0.612052177169,0.611976355689,0.611900528584,0.611824695854,0.611748857501,0.611673013525,0.611597163926,0.611521308706,0.611445447865,0.611369581403,0.611293709322,0.611217831622,0.611141948304,0.611066059369,0.610990164816,0.610914264648,0.610838358864,0.610762447465,0.610686530453,0.610610607827,0.610534679588,0.610458745738,0.610382806276,0.610306861204,0.610230910522,0.610154954231,0.610078992332,0.610003024825,0.60992705171,0.60985107299,0.609775088664,0.609699098733,0.609623103198,0.609547102059,0.609471095317,0.609395082973,0.609319065028,0.609243041482,0.609167012336,0.609090977591,0.609014937247,0.608938891305,0.608862839766,0.608786782631,0.608710719899,0.608634651573,0.608558577652,0.608482498137,0.608406413029,0.608330322329,0.608254226037,0.608178124155,0.608102016682,0.608025903619,0.607949784968,0.607873660728,0.607797530901,0.607721395488,0.607645254488,0.607569107903,0.607492955733,0.607416797979,0.607340634643,0.607264465723,0.607188291222,0.607112111139,0.607035925476,0.606959734234,0.606883537412,0.606807335012,0.606731127035,0.60665491348,0.606578694349,0.606502469643,0.606426239361,0.606350003506,0.606273762077,0.606197515076,0.606121262502,0.606045004357,0.605968740642,0.605892471356,0.605816196502,0.605739916078,0.605663630087,0.605587338529,0.605511041404,0.605434738714,0.605358430459,0.605282116639,0.605205797255,0.605129472309,0.605053141801,0.604976805731,0.6049004641,0.604824116909,0.604747764159,0.60467140585,0.604595041983,0.604518672558,0.604442297577,0.60436591704,0.604289530948,0.604213139302,0.604136742101,0.604060339348,0.603983931042,0.603907517184,0.603831097776,0.603754672817,0.603678242308,0.603601806251,0.603525364646,0.603448917493,0.603372464793,0.603296006547,0.603219542756,0.60314307342,0.60306659854,0.602990118117,0.602913632152,0.602837140644,0.602760643596,0.602684141007,0.602607632878,0.60253111921,0.602454600004,0.60237807526,0.602301544979,0.602225009162,0.60214846781,0.602071920922,0.601995368501,0.601918810546,0.601842247059,0.601765678039,0.601689103488,0.601612523407,0.601535937795,0.601459346655,0.601382749986,0.601306147789,0.601229540065,0.601152926815,0.601076308039,0.600999683738,0.600923053913,0.600846418564,0.600769777693,0.600693131299,0.600616479384,0.600539821948,0.600463158992,0.600386490517,0.600309816523,0.600233137011,0.600156451982,0.600079761437,0.600003065375,0.599926363799,0.599849656708,0.599772944104,0.599696225986,0.599619502356,0.599542773215,0.599466038563,0.599389298401,0.599312552729,0.599235801548,0.59915904486,0.599082282664,0.599005514961,0.598928741752,0.598851963039,0.59877517882,0.598698389098,0.598621593873,0.598544793146,0.598467986916,0.598391175186,0.598314357955,0.598237535225,0.598160706996,0.598083873269,0.598007034045,0.597930189323,0.597853339106,0.597776483393,0.597699622186,0.597622755484,0.59754588329,0.597469005603,0.597392122424,0.597315233754,0.597238339593,0.597161439943,0.597084534804,0.597007624177,0.596930708062,0.59685378646,0.596776859373,0.596699926799,0.596622988741,0.596546045199,0.596469096174,0.596392141666,0.596315181676,0.596238216205,0.596161245253,0.596084268822,0.596007286911,0.595930299522,0.595853306656,0.595776308312,0.595699304492,0.595622295197,0.595545280427,0.595468260183,0.595391234465,0.595314203275,0.595237166612,0.595160124479,0.595083076875,0.5950060238,0.594928965257,0.594851901245,0.594774831766,0.594697756819,0.594620676407,0.594543590528,0.594466499185,0.594389402377,0.594312300106,0.594235192372,0.594158079176,0.594080960519,0.594003836401,0.593926706823,0.593849571785,0.59377243129,0.593695285336,0.593618133925,0.593540977058,0.593463814735,0.593386646958,0.593309473725,0.59323229504,0.593155110901,0.593077921311,0.593000726268,0.592923525776,0.592846319833,0.59276910844,0.5926918916,0.592614669311,0.592537441575,0.592460208393,0.592382969764,0.592305725691,0.592228476174,0.592151221212,0.592073960808,0.591996694962,0.591919423674,0.591842146946,0.591764864777,0.591687577169,0.591610284122,0.591532985637,0.591455681715,0.591378372357,0.591301057562,0.591223737333,0.591146411669,0.591069080572,0.590991744041,0.590914402078,0.590837054684,0.590759701859,0.590682343604,0.590604979919,0.590527610805,0.590450236264,0.590372856295,0.5902954709,0.590218080079,0.590140683832,0.590063282161,0.589985875067,0.589908462549,0.589831044609,0.589753621248,0.589676192466,0.589598758263,0.589521318641,0.5894438736,0.589366423141,0.589288967265,0.589211505973,0.589134039264,0.58905656714,0.588979089602,0.58890160665,0.588824118285,0.588746624507,0.588669125318,0.588591620718,0.588514110708,0.588436595288,0.588359074459,0.588281548223,0.588204016579,0.588126479528,0.588048937072,0.58797138921,0.587893835943,0.587816277273,0.5877387132,0.587661143725,0.587583568848,0.587505988569,0.587428402891,0.587350811813,0.587273215337,0.587195613462,0.58711800619,0.587040393521,0.586962775456,0.586885151996,0.586807523142,0.586729888893,0.586652249252,0.586574604218,0.586496953793,0.586419297976,0.58634163677,0.586263970174,0.586186298189,0.586108620815,0.586030938055,0.585953249908,0.585875556375,0.585797857456,0.585720153154,0.585642443467,0.585564728397,0.585487007945,0.585409282111,0.585331550896,0.585253814301,0.585176072327,0.585098324973,0.585020572242,0.584942814133,0.584865050648,0.584787281786,0.584709507549,0.584631727938,0.584553942953,0.584476152595,0.584398356864,0.584320555762,0.584242749289,0.584164937446,0.584087120233,0.584009297651,0.583931469701,0.583853636384,0.5837757977,0.583697953651,0.583620104236,0.583542249456,0.583464389313,0.583386523806,0.583308652938,0.583230776707,0.583152895116,0.583075008164,0.582997115853,0.582919218184,0.582841315156,0.582763406771,0.582685493029,0.582607573931,0.582529649478,0.58245171967,0.582373784509,0.582295843995,0.582217898128,0.58213994691,0.582061990341,0.581984028421,0.581906061153,0.581828088535,0.581750110569,0.581672127256,0.581594138597,0.581516144591,0.581438145241,0.581360140546,0.581282130507,0.581204115125,0.581126094401,0.581048068335,0.580970036929,0.580892000182,0.580813958096,0.580735910671,0.580657857908,0.580579799808,0.580501736371,0.580423667598,0.580345593491,0.580267514049,0.580189429273,0.580111339164,0.580033243723,0.57995514295,0.579877036847,0.579798925413,0.579720808651,0.579642686559,0.579564559139,0.579486426393,0.579408288319,0.57933014492,0.579251996196,0.579173842148,0.579095682775,0.57901751808,0.578939348063,0.578861172724,0.578782992065,0.578704806085,0.578626614786,0.578548418169,0.578470216233,0.578392008981,0.578313796412,0.578235578527,0.578157355327,0.578079126813,0.578000892985,0.577922653845,0.577844409392,0.577766159628,0.577687904553,0.577609644168,0.577531378474,0.577453107472,0.577374831161,0.577296549544,0.57721826262,0.57713997039,0.577061672856,0.576983370017,0.576905061875,0.57682674843,0.576748429682,0.576670105634,0.576591776285,0.576513441636,0.576435101688,0.576356756441,0.576278405897,0.576200050055,0.576121688917,0.576043322484,0.575964950756,0.575886573734,0.575808191418,0.575729803809,0.575651410909,0.575573012717,0.575494609235,0.575416200463,0.575337786402,0.575259367052,0.575180942415,0.575102512491,0.57502407728,0.574945636784,0.574867191004,0.574788739939,0.574710283591,0.57463182196,0.574553355048,0.574474882854,0.57439640538,0.574317922626,0.574239434593,0.574160941282,0.574082442693,0.574003938827,0.573925429686,0.573846915269,0.573768395577,0.573689870611,0.573611340372,0.57353280486,0.573454264077,0.573375718023,0.573297166698,0.573218610104,0.57314004824,0.573061481109,0.57298290871,0.572904331045,0.572825748113,0.572747159916,0.572668566454,0.572589967729,0.572511363741,0.57243275449,0.572354139977,0.572275520204,0.57219689517,0.572118264877,0.572039629325,0.571960988515,0.571882342447,0.571803691123,0.571725034543,0.571646372708,0.571567705618,0.571489033275,0.571410355679,0.57133167283,0.57125298473,0.571174291379,0.571095592778,0.571016888928,0.570938179828,0.570859465481,0.570780745887,0.570702021046,0.57062329096,0.570544555628,0.570465815052,0.570387069232,0.57030831817,0.570229561865,0.570150800319,0.570072033533,0.569993261506,0.56991448424,0.569835701736,0.569756913993,0.569678121014,0.569599322798,0.569520519347,0.569441710661,0.56936289674,0.569284077586,0.5692052532,0.569126423581,0.569047588731,0.568968748651,0.56888990334,0.568811052801,0.568732197033,0.568653336037,0.568574469815,0.568495598366,0.568416721692,0.568337839793,0.56825895267,0.568180060324,0.568101162755,0.568022259964,0.567943351952,0.56786443872,0.567785520268,0.567706596597,0.567627667708,0.567548733601,0.567469794278,0.567390849738,0.567311899983,0.567232945014,0.567153984831,0.567075019434,0.566996048825,0.566917073004,0.566838091973,0.566759105731,0.56668011428,0.566601117619,0.566522115751,0.566443108675,0.566364096393,0.566285078905,0.566206056212,0.566127028314,0.566047995212,0.565968956908,0.565889913401,0.565810864693,0.565731810784,0.565652751674,0.565573687366,0.565494617859,0.565415543154,0.565336463251,0.565257378153,0.565178287858,0.565099192369,0.565020091685,0.564940985808,0.564861874738,0.564782758476,0.564703637022,0.564624510378,0.564545378544,0.564466241521,0.564387099309,0.564307951909,0.564228799323,0.56414964155,0.564070478592,0.563991310449,0.563912137122,0.563832958611,0.563753774918,0.563674586043,0.563595391987,0.56351619275,0.563436988334,0.563357778739,0.563278563965,0.563199344014,0.563120118886,0.563040888582,0.562961653102,0.562882412448,0.56280316662,0.562723915619,0.562644659446,0.562565398101,0.562486131584,0.562406859898,0.562327583042,0.562248301017,0.562169013824,0.562089721464,0.562010423937,0.561931121245,0.561851813387,0.561772500365,0.561693182179,0.56161385883,0.561534530319,0.561455196646,0.561375857813,0.561296513819,0.561217164666,0.561137810355,0.561058450886,0.560979086259,0.560899716477,0.560820341538,0.560740961445,0.560661576197,0.560582185796,0.560502790242,0.560423389537,0.56034398368,0.560264572672,0.560185156514,0.560105735208,0.560026308753,0.55994687715,0.559867440401,0.559787998505,0.559708551464,0.559629099278,0.559549641948,0.559470179475,0.559390711859,0.559311239102,0.559231761203,0.559152278164,0.559072789986,0.558993296668,0.558913798213,0.55883429462,0.55875478589,0.558675272025,0.558595753024,0.558516228889,0.55843669962,0.558357165218,0.558277625683,0.558198081017,0.558118531221,0.558038976294,0.557959416237,0.557879851053,0.55780028074,0.5577207053,0.557641124733,0.557561539041,0.557481948224,0.557402352283,0.557322751218,0.55724314503,0.55716353372,0.557083917289,0.557004295737,0.556924669066,0.556845037275,0.556765400366,0.556685758339,0.556606111196,0.556526458936,0.55644680156,0.55636713907,0.556287471466,0.556207798749,0.556128120919,0.556048437977,0.555968749924,0.555889056761,0.555809358488,0.555729655107,0.555649946617,0.55557023302,0.555490514316,0.555410790506,0.555331061591,0.555251327571,0.555171588448,0.555091844222,0.555012094893,0.554932340463,0.554852580932,0.554772816301,0.55469304657,0.554613271741,0.554533491814,0.55445370679,0.55437391667,0.554294121454,0.554214321142,0.554134515737,0.554054705238,0.553974889647,0.553895068963,0.553815243188,0.553735412323,0.553655576367,0.553575735323,0.55349588919,0.55341603797,0.553336181663,0.55325632027,0.553176453791,0.553096582227,0.55301670558,0.552936823849,0.552856937036,0.552777045142,0.552697148166,0.55261724611,0.552537338974,0.55245742676,0.552377509467,0.552297587097,0.552217659651,0.552137727129,0.552057789531,0.551977846859,0.551897899114,0.551817946295,0.551737988405,0.551658025443,0.55157805741,0.551498084307,0.551418106135,0.551338122894,0.551258134586,0.551178141211,0.551098142769,0.551018139262,0.55093813069,0.550858117053,0.550778098354,0.550698074592,0.550618045768,0.550538011882,0.550457972937,0.550377928931,0.550297879867,0.550217825744,0.550137766564,0.550057702327,0.549977633035,0.549897558687,0.549817479284,0.549737394827,0.549657305318,0.549577210756,0.549497111143,0.549417006478,0.549336896764,0.549256782,0.549176662188,0.549096537327,0.54901640742,0.548936272466,0.548856132466,0.548775987421,0.548695837333,0.5486156822,0.548535522025,0.548455356808,0.548375186549,0.54829501125,0.548214830912,0.548134645534,0.548054455118,0.547974259664,0.547894059173,0.547813853646,0.547733643084,0.547653427487,0.547573206857,0.547492981193,0.547412750496,0.547332514768,0.547252274009,0.54717202822,0.547091777401,0.547011521554,0.546931260678,0.546850994775,0.546770723846,0.546690447891,0.546610166911,0.546529880906,0.546449589878,0.546369293827,0.546288992754,0.54620868666,0.546128375545,0.54604805941,0.545967738256,0.545887412083,0.545807080893,0.545726744686,0.545646403463,0.545566057224,0.54548570597,0.545405349703,0.545324988422,0.545244622129,0.545164250824,0.545083874508,0.545003493181,0.544923106845,0.544842715501,0.544762319148,0.544681917788,0.544601511421,0.544521100048,0.544440683671,0.544360262288,0.544279835903,0.544199404514,0.544118968123,0.544038526731,0.543958080338,0.543877628945,0.543797172553,0.543716711162,0.543636244774,0.543555773389,0.543475297007,0.54339481563,0.543314329258,0.543233837893,0.543153341534,0.543072840182,0.542992333838,0.542911822504,0.542831306179,0.542750784865,0.542670258561,0.54258972727,0.542509190991,0.542428649726,0.542348103474,0.542267552238,0.542186996017,0.542106434812,0.542025868625,0.541945297455,0.541864721304,0.541784140172,0.541703554061,0.54162296297,0.5415423669,0.541461765853,0.541381159829,0.541300548828,0.541219932853,0.541139311902,0.541058685977,0.540978055079,0.540897419208,0.540816778366,0.540736132552,0.540655481768,0.540574826015,0.540494165293,0.540413499602,0.540332828945,0.54025215332,0.54017147273,0.540090787174,0.540010096655,0.539929401171,0.539848700725,0.539767995316,0.539687284946,0.539606569616,0.539525849325,0.539445124075,0.539364393867,0.539283658701,0.539202918578,0.539122173499,0.539041423464,0.538960668474,0.538879908531,0.538799143634,0.538718373785,0.538637598984,0.538556819232,0.538476034529,0.538395244877,0.538314450277,0.538233650728,0.538152846232,0.538072036789,0.5379912224,0.537910403067,0.537829578789,0.537748749567,0.537667915402,0.537587076296,0.537506232248,0.537425383259,0.53734452933,0.537263670463,0.537182806656,0.537101937913,0.537021064232,0.536940185615,0.536859302062,0.536778413575,0.536697520154,0.5366166218,0.536535718513,0.536454810295,0.536373897146,0.536292979066,0.536212056057,0.536131128119,0.536050195253,0.53596925746,0.53588831474,0.535807367095,0.535726414524,0.53564545703,0.535564494611,0.53548352727,0.535402555007,0.535321577823,0.535240595718,0.535159608693,0.535078616749,0.534997619887,0.534916618107,0.534835611411,0.534754599798,0.53467358327,0.534592561827,0.534511535471,0.534430504201,0.534349468019,0.534268426926,0.534187380921,0.534106330006,0.534025274182,0.53394421345,0.533863147809,0.533782077261,0.533701001807,0.533619921447,0.533538836183,0.533457746014,0.533376650941,0.533295550966,0.533214446089,0.533133336311,0.533052221633,0.532971102054,0.532889977577,0.532808848202,0.532727713929,0.532646574759,0.532565430693,0.532484281733,0.532403127877,0.532321969128,0.532240805486,0.532159636952,0.532078463526,0.531997285209,0.531916102003,0.531834913907,0.531753720923,0.531672523051,0.531591320292,0.531510112646,0.531428900115,0.5313476827,0.5312664604,0.531185233217,0.531104001151,0.531022764204,0.530941522376,0.530860275667,0.530779024079,0.530697767612,0.530616506266,0.530535240044,0.530453968945,0.53037269297,0.53029141212,0.530210126396,0.530128835798,0.530047540328,0.529966239985,0.529884934771,0.529803624686,0.529722309732,0.529640989908,0.529559665216,0.529478335657,0.52939700123,0.529315661938,0.52923431778,0.529152968758,0.529071614872,0.528990256122,0.52890889251,0.528827524037,0.528746150703,0.528664772508,0.528583389455,0.528502001542,0.528420608772,0.528339211145,0.528257808661,0.528176401321,0.528094989127,0.528013572079,0.527932150177,0.527850723423,0.527769291816,0.527687855359,0.527606414051,0.527524967893,0.527443516887,0.527362061032,0.52728060033,0.527199134782,0.527117664387,0.527036189148,0.526954709064,0.526873224136,0.526791734365,0.526710239753,0.526628740298,0.526547236004,0.526465726869,0.526384212895,0.526302694083,0.526221170433,0.526139641946,0.526058108623,0.525976570464,0.525895027471,0.525813479644,0.525731926984,0.525650369491,0.525568807167,0.525487240012,0.525405668026,0.525324091212,0.525242509568,0.525160923097,0.525079331798,0.524997735673,0.524916134723,0.524834528947,0.524752918347,0.524671302924,0.524589682678,0.524508057611,0.524426427722,0.524344793013,0.524263153484,0.524181509136,0.52409985997,0.524018205986,0.523936547186,0.52385488357,0.523773215139,0.523691541893,0.523609863834,0.523528180962,0.523446493278,0.523364800782,0.523283103476,0.523201401359,0.523119694434,0.5230379827,0.522956266159,0.52287454481,0.522792818656,0.522711087696,0.522629351931,0.522547611363,0.522465865991,0.522384115817,0.522302360841,0.522220601065,0.522138836488,0.522057067112,0.521975292937,0.521893513965,0.521811730195,0.521729941629,0.521648148267,0.52156635011,0.521484547159,0.521402739415,0.521320926879,0.52123910955,0.52115728743,0.52107546052,0.52099362882,0.520911792332,0.520829951055,0.520748104991,0.52066625414,0.520584398504,0.520502538082,0.520420672876,0.520338802887,0.520256928114,0.52017504856,0.520093164224,0.520011275108,0.519929381211,0.519847482536,0.519765579082,0.519683670851,0.519601757843,0.519519840059,0.5194379175,0.519355990166,0.519274058058,0.519192121177,0.519110179524,0.519028233099,0.518946281904,0.518864325938,0.518782365203,0.5187003997,0.518618429429,0.518536454391,0.518454474586,0.518372490016,0.518290500681,0.518208506583,0.518126507721,0.518044504096,0.51796249571,0.517880482562,0.517798464655,0.517716441988,0.517634414562,0.517552382378,0.517470345437,0.51738830374,0.517306257287,0.517224206079,0.517142150116,0.5170600894,0.516978023932,0.516895953711,0.51681387874,0.516731799018,0.516649714546,0.516567625325,0.516485531356,0.51640343264,0.516321329177,0.516239220968,0.516157108014,0.516074990315,0.515992867873,0.515910740688,0.515828608761,0.515746472092,0.515664330683,0.515582184534,0.515500033646,0.515417878019,0.515335717655,0.515253552554,0.515171382717,0.515089208145,0.515007028838,0.514924844797,0.514842656023,0.514760462517,0.514678264279,0.51459606131,0.514513853611,0.514431641183,0.514349424027,0.514267202142,0.514184975531,0.514102744193,0.51402050813,0.513938267342,0.51385602183,0.513773771595,0.513691516637,0.513609256958,0.513526992557,0.513444723437,0.513362449596,0.513280171038,0.513197887761,0.513115599767,0.513033307056,0.51295100963,0.512868707489,0.512786400634,0.512704089065,0.512621772783,0.51253945179,0.512457126086,0.512374795671,0.512292460546,0.512210120713,0.512127776172,0.512045426923,0.511963072967,0.511880714306,0.511798350939,0.511715982869,0.511633610094,0.511551232617,0.511468850438,0.511386463557,0.511304071976,0.511221675695,0.511139274715,0.511056869037,0.510974458661,0.510892043589,0.51080962382,0.510727199357,0.510644770198,0.510562336346,0.510479897801,0.510397454564,0.510315006635,0.510232554016,0.510150096707,0.510067634708,0.509985168021,0.509902696647,0.509820220585,0.509737739837,0.509655254404,0.509572764287,0.509490269485,0.50940777,0.509325265833,0.509242756984,0.509160243455,0.509077725245,0.508995202356,0.508912674789,0.508830142543,0.508747605621,0.508665064022,0.508582517748,0.508499966799,0.508417411175,0.508334850879,0.50825228591,0.50816971627,0.508087141958,0.508004562976,0.507921979325,0.507839391005,0.507756798017,0.507674200362,0.50759159804,0.507508991053,0.507426379401,0.507343763084,0.507261142105,0.507178516462,0.507095886158,0.507013251193,0.506930611567,0.506847967282,0.506765318338,0.506682664736,0.506600006476,0.50651734356,0.506434675988,0.506352003761,0.50626932688,0.506186645345,0.506103959158,0.506021268318,0.505938572827,0.505855872686,0.505773167895,0.505690458455,0.505607744367,0.505525025632,0.50544230225,0.505359574222,0.505276841548,0.505194104231,0.505111362269,0.505028615665,0.504945864419,0.504863108531,0.504780348003,0.504697582835,0.504614813028,0.504532038582,0.504449259499,0.50436647578,0.504283687424,0.504200894433,0.504118096807,0.504035294548,0.503952487655,0.503869676131,0.503786859975,0.503704039188,0.503621213772,0.503538383726,0.503455549051,0.50337270975,0.503289865821,0.503207017266,0.503124164086,0.503041306281,0.502958443852,0.5028755768,0.502792705126,0.50270982883,0.502626947914,0.502544062377,0.502461172221,0.502378277447,0.502295378055,0.502212474046,0.50212956542,0.50204665218,0.501963734324,0.501880811855,0.501797884772,0.501714953077,0.50163201677,0.501549075853,0.501466130325,0.501383180188,0.501300225442,0.501217266089,0.501134302128,0.501051333561,0.500968360389,0.500885382611,0.50080240023,0.500719413245,0.500636421658,0.500553425469,0.50047042468,0.50038741929,0.5003044093,0.500221394712,0.500138375526,0.500055351742,0.499972323363,0.499889290387,0.499806252817,0.499723210653,0.499640163895,0.499557112545,0.499474056603,0.49939099607,0.499307930946,0.499224861234,0.499141786932,0.499058708042,0.498975624565,0.498892536502,0.498809443853,0.498726346619,0.4986432448,0.498560138399,0.498477027414,0.498393911848,0.498310791701,0.498227666973,0.498144537665,0.498061403779,0.497978265315,0.497895122273,0.497811974655,0.497728822461,0.497645665692,0.497562504349,0.497479338433,0.497396167943,0.497312992882,0.497229813249,0.497146629046,0.497063440274,0.496980246932,0.496897049023,0.496813846546,0.496730639502,0.496647427893,0.496564211718,0.496480990979,0.496397765677,0.496314535811,0.496231301384,0.496148062396,0.496064818847,0.495981570738,0.495898318071,0.495815060845,0.495731799061,0.495648532722,0.495565261826,0.495481986375,0.49539870637,0.495315421811,0.495232132699,0.495148839035,0.49506554082,0.494982238054,0.494898930739,0.494815618875,0.494732302462,0.494648981502,0.494565655995,0.494482325942,0.494398991344,0.494315652202,0.494232308516,0.494148960287,0.494065607516,0.493982250204,0.493898888351,0.493815521958,0.493732151026,0.493648775556,0.493565395549,0.493482011004,0.493398621924,0.493315228309,0.493231830159,0.493148427475,0.493065020259,0.49298160851,0.49289819223,0.492814771419,0.492731346079,0.492647916209,0.492564481811,0.492481042886,0.492397599433,0.492314151455,0.492230698951,0.492147241923,0.492063780372,0.491980314297,0.4918968437,0.491813368582,0.491729888943,0.491646404784,0.491562916107,0.49147942291,0.491395925197,0.491312422966,0.491228916219,0.491145404957,0.491061889181,0.490978368891,0.490894844088,0.490811314773,0.490727780946,0.490644242608,0.490560699761,0.490477152405,0.49039360054,0.490310044167,0.490226483288,0.490142917903,0.490059348012,0.489975773617,0.489892194719,0.489808611317,0.489725023413,0.489641431007,0.489557834101,0.489474232695,0.48939062679,0.489307016386,0.489223401485,0.489139782087,0.489056158193,0.488972529804,0.48888889692,0.488805259542,0.488721617671,0.488637971309,0.488554320454,0.488470665109,0.488387005274,0.48830334095,0.488219672138,0.488135998838,0.488052321051,0.487968638778,0.487884952019,0.487801260776,0.48771756505,0.48763386484,0.487550160148,0.487466450975,0.487382737321,0.487299019187,0.487215296574,0.487131569483,0.487047837914,0.486964101868,0.486880361346,0.486796616349,0.486712866877,0.486629112932,0.486545354513,0.486461591622,0.48637782426,0.486294052427,0.486210276124,0.486126495353,0.486042710112,0.485958920404,0.48587512623,0.485791327589,0.485707524483,0.485623716912,0.485539904878,0.485456088381,0.485372267421,0.485288442,0.485204612119,0.485120777777,0.485036938976,0.484953095717,0.484869248001,0.484785395827,0.484701539198,0.484617678113,0.484533812574,0.484449942581,0.484366068135,0.484282189237,0.484198305888,0.484114418087,0.484030525837,0.483946629138,0.483862727991,0.483778822396,0.483694912354,0.483610997866,0.483527078933,0.483443155555,0.483359227734,0.48327529547,0.483191358763,0.483107417616,0.483023472027,0.482939521999,0.482855567532,0.482771608626,0.482687645283,0.482603677503,0.482519705287,0.482435728636,0.482351747551,0.482267762031,0.482183772079,0.482099777695,0.482015778879,0.481931775633,0.481847767957,0.481763755852,0.481679739319,0.481595718358,0.48151169297,0.481427663157,0.481343628918,0.481259590255,0.481175547168,0.481091499659,0.481007447727,0.480923391374,0.4808393306,0.480755265407,0.480671195795,0.480587121764,0.480503043316,0.480418960451,0.480334873171,0.480250781475,0.480166685365,0.480082584841,0.479998479905,0.479914370556,0.479830256797,0.479746138626,0.479662016046,0.479577889057,0.47949375766,0.479409621856,0.479325481644,0.479241337027,0.479157188005,0.479073034579,0.478988876749,0.478904714516,0.478820547881,0.478736376845,0.478652201409,0.478568021573,0.478483837338,0.478399648705,0.478315455675,0.478231258248,0.478147056425,0.478062850207,0.477978639595,0.477894424589,0.477810205191,0.477725981401,0.47764175322,0.477557520648,0.477473283687,0.477389042337,0.477304796598,0.477220546473,0.477136291961,0.477052033063,0.47696776978,0.476883502114,0.476799230063,0.47671495363,0.476630672816,0.47654638762,0.476462098044,0.476377804088,0.476293505753,0.476209203041,0.476124895951,0.476040584485,0.475956268643,0.475871948427,0.475787623836,0.475703294872,0.475618961535,0.475534623827,0.475450281747,0.475365935297,0.475281584478,0.47519722929,0.475112869735,0.475028505812,0.474944137522,0.474859764868,0.474775387848,0.474691006464,0.474606620717,0.474522230608,0.474437836137,0.474353437305,0.474269034112,0.474184626561,0.474100214651,0.474015798383,0.473931377757,0.473846952776,0.473762523439,0.473678089748,0.473593651702,0.473509209303,0.473424762552,0.47334031145,0.473255855996,0.473171396192,0.473086932039,0.473002463538,0.472917990689,0.472833513493,0.47274903195,0.472664546063,0.47258005583,0.472495561254,0.472411062335,0.472326559073,0.47224205147,0.472157539526,0.472073023242,0.471988502619,0.471903977658,0.471819448359,0.471734914723,0.471650376751,0.471565834443,0.471481287802,0.471396736826,0.471312181517,0.471227621877,0.471143057904,0.471058489601,0.470973916969,0.470889340007,0.470804758717,0.470720173099,0.470635583155,0.470550988884,0.470466390289,0.470381787369,0.470297180125,0.470212568558,0.47012795267,0.47004333246,0.469958707929,0.469874079079,0.46978944591,0.469704808422,0.469620166617,0.469535520496,0.469450870058,0.469366215306,0.469281556239,0.469196892859,0.469112225165,0.46902755316,0.468942876844,0.468858196217,0.468773511281,0.468688822036,0.468604128483,0.468519430622,0.468434728455,0.468350021982,0.468265311204,0.468180596122,0.468095876736,0.468011153048,0.467926425058,0.467841692767,0.467756956176,0.467672215285,0.467587470095,0.467502720608,0.467417966823,0.467333208742,0.467248446365,0.467163679694,0.467078908728,0.466994133469,0.466909353917,0.466824570074,0.46673978194,0.466654989516,0.466570192802,0.466485391799,0.466400586509,0.466315776932,0.466230963068,0.466146144919,0.466061322486,0.465976495768,0.465891664767,0.465806829484,0.465721989919,0.465637146073,0.465552297948,0.465467445543,0.46538258886,0.465297727898,0.46521286266,0.465127993146,0.465043119357,0.464958241293,0.464873358955,0.464788472344,0.464703581461,0.464618686306,0.464533786881,0.464448883186,0.464363975222,0.464279062989,0.464194146489,0.464109225722,0.464024300689,0.463939371391,0.463854437828,0.463769500002,0.463684557913,0.463599611562,0.463514660949,0.463429706076,0.463344746944,0.463259783552,0.463174815902,0.463089843995,0.463004867831,0.462919887411,0.462834902736,0.462749913807,0.462664920624,0.462579923189,0.462494921502,0.462409915563,0.462324905375,0.462239890936,0.462154872249,0.462069849314,0.461984822131,0.461899790702,0.461814755028,0.461729715108,0.461644670945,0.461559622538,0.461474569888,0.461389512997,0.461304451865,0.461219386492,0.46113431688,0.46104924303,0.460964164941,0.460879082616,0.460793996054,0.460708905256,0.460623810224,0.460538710958,0.460453607459,0.460368499727,0.460283387764,0.46019827157,0.460113151146,0.460028026493,0.459942897611,0.459857764501,0.459772627165,0.459687485602,0.459602339814,0.459517189802,0.459432035566,0.459346877106,0.459261714425,0.459176547522,0.459091376398,0.459006201055,0.458921021492,0.458835837712,0.458750649713,0.458665457498,0.458580261067,0.458495060421,0.45840985556,0.458324646486,0.458239433199,0.4581542157,0.45806899399,0.457983768069,0.457898537938,0.457813303599,0.457728065051,0.457642822297,0.457557575335,0.457472324168,0.457387068796,0.457301809219,0.45721654544,0.457131277457,0.457046005273,0.456960728888,0.456875448302,0.456790163517,0.456704874533,0.456619581351,0.456534283972,0.456448982397,0.456363676626,0.45627836666,0.456193052501,0.456107734148,0.456022411602,0.455937084865,0.455851753937,0.455766418819,0.455681079512,0.455595736016,0.455510388333,0.455425036462,0.455339680406,0.455254320163,0.455168955737,0.455083587126,0.454998214333,0.454912837357,0.4548274562,0.454742070862,0.454656681344,0.454571287647,0.454485889772,0.454400487719,0.45431508149,0.454229671084,0.454144256504,0.454058837749,0.45397341482,0.453887987718,0.453802556445,0.453717121,0.453631681385,0.4535462376,0.453460789646,0.453375337524,0.453289881235,0.453204420779,0.453118956157,0.453033487371,0.45294801442,0.452862537306,0.452777056029,0.452691570591,0.452606080991,0.452520587231,0.452435089312,0.452349587234,0.452264080998,0.452178570605,0.452093056055,0.45200753735,0.451922014491,0.451836487477,0.45175095631,0.451665420991,0.45157988152,0.451494337898,0.451408790127,0.451323238206,0.451237682136,0.451152121919,0.451066557555,0.450980989045,0.45089541639,0.45080983959,0.450724258646,0.450638673559,0.45055308433,0.45046749096,0.450381893449,0.450296291799,0.450210686009,0.450125076081,0.450039462016,0.449953843814,0.449868221476,0.449782595003,0.449696964395,0.449611329655,0.449525690781,0.449440047776,0.449354400639,0.449268749372,0.449183093975,0.44909743445,0.449011770796,0.448926103016,0.448840431109,0.448754755076,0.448669074918,0.448583390637,0.448497702232,0.448412009704,0.448326313055,0.448240612285,0.448154907395,0.448069198386,0.447983485257,0.447897768012,0.447812046649,0.44772632117,0.447640591575,0.447554857866,0.447469120043,0.447383378108,0.447297632059,0.4472118819,0.447126127629,0.447040369249,0.44695460676,0.446868840162,0.446783069457,0.446697294645,0.446611515728,0.446525732705,0.446439945577,0.446354154346,0.446268359013,0.446182559577,0.44609675604,0.446010948403,0.445925136666,0.44583932083,0.445753500896,0.445667676865,0.445581848737,0.445496016514,0.445410180196,0.445324339783,0.445238495278,0.44515264668,0.44506679399,0.444980937209,0.444895076338,0.444809211377,0.444723342328,0.444637469191,0.444551591967,0.444465710657,0.444379825262,0.444293935782,0.444208042218,0.44412214457,0.444036242841,0.44395033703,0.443864427139,0.443778513167,0.443692595117,0.443606672988,0.443520746781,0.443434816498,0.443348882139,0.443262943705,0.443177001196,0.443091054614,0.443005103959,0.442919149232,0.442833190433,0.442747227565,0.442661260626,0.442575289619,0.442489314544,0.442403335401,0.442317352192,0.442231364918,0.442145373578,0.442059378174,0.441973378707,0.441887375178,0.441801367586,0.441715355934,0.441629340222,0.44154332045,0.44145729662,0.441371268732,0.441285236787,0.441199200785,0.441113160729,0.441027116617,0.440941068452,0.440855016234,0.440768959964,0.440682899642,0.440596835269,0.440510766847,0.440424694375,0.440338617856,0.440252537288,0.440166452675,0.440080364015,0.43999427131,0.43990817456,0.439822073767,0.439735968932,0.439649860054,0.439563747135,0.439477630176,0.439391509178,0.43930538414,0.439219255065,0.439133121952,0.439046984803,0.438960843618,0.438874698398,0.438788549145,0.438702395858,0.438616238539,0.438530077188,0.438443911806,0.438357742394,0.438271568952,0.438185391483,0.438099209985,0.438013024461,0.43792683491,0.437840641334,0.437754443734,0.43766824211,0.437582036463,0.437495826794,0.437409613103,0.437323395392,0.437237173661,0.437150947911,0.437064718143,0.436978484357,0.436892246555,0.436806004737,0.436719758904,0.436633509057,0.436547255196,0.436460997323,0.436374735438,0.436288469542,0.436202199635,0.436115925719,0.436029647794,0.435943365862,0.435857079922,0.435770789976,0.435684496025,0.435598198069,0.435511896108,0.435425590145,0.43533928018,0.435252966213,0.435166648245,0.435080326277,0.43499400031,0.434907670344,0.434821336381,0.434734998422,0.434648656466,0.434562310515,0.43447596057,0.434389606631,0.434303248699,0.434216886775,0.43413052086,0.434044150955,0.43395777706,0.433871399176,0.433785017304,0.433698631444,0.433612241599,0.433525847767,0.433439449951,0.433353048151,0.433266642367,0.433180232601,0.433093818853,0.433007401124,0.432920979416,0.432834553727,0.432748124061,0.432661690416,0.432575252795,0.432488811198,0.432402365625,0.432315916077,0.432229462556,0.432143005062,0.432056543596,0.431970078158,0.43188360875,0.431797135372,0.431710658025,0.43162417671,0.431537691427,0.431451202178,0.431364708963,0.431278211783,0.431191710639,0.431105205531,0.431018696461,0.430932183429,0.430845666436,0.430759145483,0.43067262057,0.430586091698,0.430499558869,0.430413022083,0.43032648134,0.430239936642,0.430153387989,0.430066835383,0.429980278823,0.429893718311,0.429807153847,0.429720585433,0.429634013069,0.429547436756,0.429460856494,0.429374272285,0.42928768413,0.429201092028,0.429114495981,0.42902789599,0.428941292055,0.428854684178,0.428768072359,0.428681456598,0.428594836897,0.428508213257,0.428421585678,0.428334954161,0.428248318707,0.428161679316,0.42807503599,0.427988388729,0.427901737534,0.427815082406,0.427728423345,0.427641760353,0.42755509343,0.427468422577,0.427381747795,0.427295069085,0.427208386447,0.427121699882,0.427035009391,0.426948314975,0.426861616634,0.42677491437,0.426688208183,0.426601498074,0.426514784044,0.426428066093,0.426341344223,0.426254618434,0.426167888727,0.426081155102,0.425994417562,0.425907676105,0.425820930734,0.425734181448,0.42564742825,0.425560671138,0.425473910116,0.425387145182,0.425300376338,0.425213603585,0.425126826924,0.425040046355,0.424953261879,0.424866473496,0.424779681209,0.424692885017,0.424606084922,0.424519280923,0.424432473023,0.424345661221,0.424258845519,0.424172025917,0.424085202416,0.423998375017,0.42391154372,0.423824708528,0.423737869439,0.423651026456,0.423564179578,0.423477328807,0.423390474144,0.423303615589,0.423216753143,0.423129886807,0.423043016581,0.422956142467,0.422869264466,0.422782382577,0.422695496802,0.422608607142,0.422521713598,0.422434816169,0.422347914858,0.422261009665,0.42217410059,0.422087187635,0.4220002708,0.421913350086,0.421826425494,0.421739497024,0.421652564679,0.421565628457,0.42147868836,0.42139174439,0.421304796545,0.421217844829,0.42113088924,0.421043929781,0.420956966452,0.420869999253,0.420783028186,0.42069605325,0.420609074448,0.42052209178,0.420435105247,0.420348114849,0.420261120587,0.420174122462,0.420087120475,0.420000114627,0.419913104918,0.419826091349,0.419739073922,0.419652052636,0.419565027493,0.419477998493,0.419390965638,0.419303928928,0.419216888363,0.419129843945,0.419042795675,0.418955743553,0.41886868758,0.418781627757,0.418694564084,0.418607496563,0.418520425194,0.418433349978,0.418346270916,0.418259188009,0.418172101257,0.418085010662,0.417997916223,0.417910817942,0.41782371582,0.417736609858,0.417649500055,0.417562386414,0.417475268935,0.417388147618,0.417301022464,0.417213893475,0.417126760651,0.417039623993,0.416952483502,0.416865339178,0.416778191022,0.416691039035,0.416603883218,0.416516723572,0.416429560098,0.416342392795,0.416255221666,0.41616804671,0.41608086793,0.415993685324,0.415906498895,0.415819308643,0.415732114569,0.415644916674,0.415557714958,0.415470509422,0.415383300068,0.415296086895,0.415208869905,0.415121649098,0.415034424476,0.414947196039,0.414859963788,0.414772727723,0.414685487846,0.414598244157,0.414510996658,0.414423745348,0.414336490229,0.414249231301,0.414161968566,0.414074702024,0.413987431676,0.413900157523,0.413812879565,0.413725597803,0.413638312238,0.413551022872,0.413463729704,0.413376432736,0.413289131968,0.413201827401,0.413114519036,0.413027206874,0.412939890915,0.412852571161,0.412765247612,0.412677920268,0.412590589132,0.412503254203,0.412415915483,0.412328572971,0.41224122667,0.412153876579,0.4120665227,0.411979165034,0.41189180358,0.41180443834,0.411717069316,0.411629696507,0.411542319914,0.411454939538,0.411367555381,0.411280167442,0.411192775723,0.411105380224,0.411017980946,0.410930577891,0.410843171058,0.410755760449,0.410668346064,0.410580927905,0.410493505971,0.410406080264,0.410318650785,0.410231217535,0.410143780514,0.410056339722,0.409968895162,0.409881446833,0.409793994737,0.409706538874,0.409619079245,0.409531615851,0.409444148692,0.40935667777,0.409269203086,0.409181724639,0.409094242431,0.409006756463,0.408919266736,0.40883177325,0.408744276005,0.408656775004,0.408569270247,0.408481761734,0.408394249466,0.408306733445,0.40821921367,0.408131690143,0.408044162865,0.407956631836,0.407869097057,0.407781558529,0.407694016253,0.40760647023,0.40751892046,0.407431366944,0.407343809683,0.407256248677,0.407168683929,0.407081115438,0.406993543204,0.40690596723,0.406818387516,0.406730804063,0.40664321687,0.40655562594,0.406468031273,0.40638043287,0.406292830732,0.406205224859,0.406117615252,0.406030001912,0.40594238484,0.405854764037,0.405767139503,0.40567951124,0.405591879248,0.405504243527,0.405416604079,0.405328960905,0.405241314005,0.40515366338,0.405066009031,0.404978350959,0.404890689164,0.404803023648,0.40471535441,0.404627681453,0.404540004777,0.404452324382,0.404364640269,0.404276952439,0.404189260894,0.404101565633,0.404013866658,0.403926163969,0.403838457568,0.403750747454,0.403663033629,0.403575316094,0.403487594849,0.403399869896,0.403312141235,0.403224408866,0.403136672791,0.40304893301,0.402961189525,0.402873442336,0.402785691444,0.402697936849,0.402610178553,0.402522416556,0.402434650859,0.402346881464,0.402259108369,0.402171331578,0.40208355109,0.401995766905,0.401907979026,0.401820187453,0.401732392186,0.401644593226,0.401556790575,0.401468984233,0.4013811742,0.401293360478,0.401205543067,0.401117721969,0.401029897184,0.400942068712,0.400854236555,0.400766400714,0.400678561188,0.40059071798,0.40050287109,0.400415020518,0.400327166266,0.400239308334,0.400151446723,0.400063581434,0.399975712468,0.399887839825,0.399799963506,0.399712083513,0.399624199846,0.399536312505,0.399448421492,0.399360526807,0.399272628452,0.399184726426,0.399096820731,0.399008911368,0.398920998337,0.398833081639,0.398745161276,0.398657237247,0.398569309554,0.398481378197,0.398393443177,0.398305504496,0.398217562153,0.39812961615,0.398041666488,0.397953713167,0.397865756188,0.397777795552,0.397689831259,0.397601863311,0.397513891709,0.397425916452,0.397337937543,0.397249954981,0.397161968768,0.397073978904,0.39698598539,0.396897988228,0.396809987417,0.396721982958,0.396633974854,0.396545963103,0.396457947707,0.396369928668,0.396281905985,0.396193879659,0.396105849692,0.396017816083,0.395929778835,0.395841737947,0.395753693421,0.395665645257,0.395577593457,0.39548953802,0.395401478948,0.395313416241,0.395225349901,0.395137279928,0.395049206323,0.394961129087,0.394873048221,0.394784963724,0.394696875599,0.394608783847,0.394520688466,0.39443258946,0.394344486828,0.394256380571,0.394168270691,0.394080157187,0.393992040061,0.393903919314,0.393815794945,0.393727666957,0.39363953535,0.393551400125,0.393463261282,0.393375118823,0.393286972747,0.393198823057,0.393110669753,0.393022512835,0.392934352304,0.392846188162,0.392758020409,0.392669849046,0.392581674073,0.392493495492,0.392405313303,0.392317127507,0.392228938105,0.392140745098,0.392052548486,0.391964348271,0.391876144453,0.391787937033,0.391699726011,0.391611511389,0.391523293168,0.391435071348,0.391346845929,0.391258616914,0.391170384302,0.391082148095,0.390993908293,0.390905664897,0.390817417908,0.390729167326,0.390640913153,0.39055265539,0.390464394036,0.390376129094,0.390287860563,0.390199588444,0.39011131274,0.390023033449,0.389934750573,0.389846464113,0.38975817407,0.389669880444,0.389581583236,0.389493282448,0.389404978079,0.389316670131,0.389228358604,0.3891400435,0.389051724819,0.388963402562,0.388875076729,0.388786747322,0.388698414342,0.388610077788,0.388521737663,0.388433393966,0.388345046699,0.388256695862,0.388168341457,0.388079983483,0.387991621943,0.387903256836,0.387814888164,0.387726515926,0.387638140125,0.387549760761,0.387461377835,0.387372991347,0.387284601299,0.38719620769,0.387107810523,0.387019409797,0.386931005514,0.386842597675,0.38675418628,0.386665771329,0.386577352825,0.386488930767,0.386400505157,0.386312075995,0.386223643282,0.386135207019,0.386046767207,0.385958323846,0.385869876938,0.385781426482,0.385692972481,0.385604514935,0.385516053844,0.38542758921,0.385339121032,0.385250649313,0.385162174053,0.385073695252,0.384985212912,0.384896727034,0.384808237617,0.384719744663,0.384631248173,0.384542748148,0.384454244587,0.384365737494,0.384277226867,0.384188712707,0.384100195017,0.384011673796,0.383923149045,0.383834620765,0.383746088957,0.383657553622,0.38356901476,0.383480472373,0.383391926461,0.383303377024,0.383214824065,0.383126267583,0.383037707579,0.382949144055,0.382860577011,0.382772006447,0.382683432365,0.382594854766,0.382506273649,0.382417689017,0.38232910087,0.382240509209,0.382151914034,0.382063315346,0.381974713147,0.381886107436,0.381797498215,0.381708885485,0.381620269247,0.3815316495,0.381443026247,0.381354399487,0.381265769222,0.381177135453,0.38108849818,0.380999857404,0.380911213126,0.380822565346,0.380733914067,0.380645259287,0.380556601009,0.380467939233,0.380379273959,0.38029060519,0.380201932924,0.380113257164,0.38002457791,0.379935895163,0.379847208924,0.379758519193,0.379669825972,0.37958112926,0.37949242906,0.379403725372,0.379315018196,0.379226307533,0.379137593385,0.379048875752,0.378960154634,0.378871430034,0.37878270195,0.378693970385,0.37860523534,0.378516496814,0.378427754809,0.378339009325,0.378250260364,0.378161507926,0.378072752012,0.377983992623,0.37789522976,0.377806463423,0.377717693613,0.377628920332,0.377540143579,0.377451363356,0.377362579664,0.377273792503,0.377185001874,0.377096207778,0.377007410216,0.376918609189,0.376829804697,0.376740996741,0.376652185323,0.376563370442,0.3764745521,0.376385730298,0.376296905036,0.376208076315,0.376119244136,0.3760304085,0.375941569407,0.375852726859,0.375763880856,0.375675031399,0.375586178489,0.375497322127,0.375408462313,0.375319599049,0.375230732334,0.375141862171,0.37505298856,0.374964111501,0.374875230995,0.374786347044,0.374697459647,0.374608568807,0.374519674523,0.374430776797,0.374341875629,0.37425297102,0.374164062971,0.374075151483,0.373986236557,0.373897318193,0.373808396392,0.373719471155,0.373630542483,0.373541610377,0.373452674837,0.373363735864,0.37327479346,0.373185847624,0.373096898359,0.373007945663,0.37291898954,0.372830029988,0.37274106701,0.372652100605,0.372563130775,0.37247415752,0.372385180842,0.372296200741,0.372207217218,0.372118230273,0.372029239908,0.371940246124,0.37185124892,0.371762248299,0.371673244261,0.371584236806,0.371495225936,0.371406211651,0.371317193952,0.37122817284,0.371139148316,0.37105012038,0.370961089034,0.370872054278,0.370783016113,0.37069397454,0.370604929559,0.370515881172,0.370426829379,0.370337774182,0.37024871558,0.370159653575,0.370070588168,0.369981519359,0.369892447149,0.369803371539,0.36971429253,0.369625210123,0.369536124318,0.369447035117,0.36935794252,0.369268846527,0.369179747141,0.369090644361,0.369001538188,0.368912428624,0.368823315668,0.368734199323,0.368645079588,0.368555956464,0.368466829953,0.368377700055,0.368288566771,0.368199430102,0.368110290049,0.368021146612,0.367931999792,0.36784284959,0.367753696007,0.367664539043,0.3675753787,0.367486214979,0.367397047879,0.367307877403,0.36721870355,0.367129526322,0.36704034572,0.366951161743,0.366861974394,0.366772783673,0.36668358958,0.366594392117,0.366505191284,0.366415987082,0.366326779513,0.366237568576,0.366148354272,0.366059136604,0.36596991557,0.365880691173,0.365791463412,0.365702232289,0.365612997805,0.36552375996,0.365434518755,0.365345274191,0.365256026269,0.36516677499,0.365077520354,0.364988262363,0.364899001016,0.364809736316,0.364720468262,0.364631196856,0.364541922098,0.364452643989,0.364363362531,0.364274077723,0.364184789567,0.364095498064,0.364006203213,0.363916905017,0.363827603476,0.363738298591,0.363648990362,0.36355967879,0.363470363877,0.363381045623,0.363291724029,0.363202399096,0.363113070824,0.363023739214,0.362934404268,0.362845065985,0.362755724367,0.362666379415,0.36257703113,0.362487679511,0.362398324561,0.36230896628,0.362219604668,0.362130239727,0.362040871458,0.36195149986,0.361862124936,0.361772746685,0.361683365109,0.361593980209,0.361504591985,0.361415200438,0.361325805568,0.361236407378,0.361147005867,0.361057601037,0.360968192888,0.360878781421,0.360789366637,0.360699948537,0.360610527121,0.36052110239,0.360431674346,0.360342242988,0.360252808319,0.360163370338,0.360073929046,0.359984484445,0.359895036535,0.359805585317,0.359716130791,0.359626672959,0.359537211822,0.35944774738,0.359358279633,0.359268808584,0.359179334232,0.359089856579,0.359000375625,0.358910891371,0.358821403819,0.358731912968,0.358642418819,0.358552921374,0.358463420634,0.358373916598,0.358284409268,0.358194898645,0.35810538473,0.358015867523,0.357926347025,0.357836823237,0.35774729616,0.357657765795,0.357568232142,0.357478695203,0.357389154977,0.357299611467,0.357210064672,0.357120514594,0.357030961233,0.356941404591,0.356851844668,0.356762281464,0.356672714982,0.35658314522,0.356493572182,0.356403995866,0.356314416274,0.356224833408,0.356135247267,0.356045657852,0.355956065165,0.355866469205,0.355776869975,0.355687267475,0.355597661705,0.355508052666,0.35541844036,0.355328824787,0.355239205948,0.355149583843,0.355059958474,0.354970329842,0.354880697946,0.354791062789,0.35470142437,0.354611782691,0.354522137753,0.354432489556,0.354342838101,0.354253183389,0.35416352542,0.354073864197,0.353984199719,0.353894531987,0.353804861002,0.353715186765,0.353625509277,0.353535828538,0.353446144549,0.353356457312,0.353266766827,0.353177073095,0.353087376116,0.352997675892,0.352907972424,0.352818265711,0.352728555755,0.352638842557,0.352549126118,0.352459406438,0.352369683519,0.35227995736,0.352190227964,0.35210049533,0.35201075946,0.351921020354,0.351831278013,0.351741532439,0.351651783631,0.351562031591,0.35147227632,0.351382517818,0.351292756086,0.351202991125,0.351113222935,0.351023451519,0.350933676876,0.350843899007,0.350754117913,0.350664333596,0.350574546055,0.350484755292,0.350394961307,0.350305164101,0.350215363675,0.350125560031,0.350035753168,0.349945943087,0.34985612979,0.349766313277,0.349676493549,0.349586670607,0.349496844452,0.349407015084,0.349317182505,0.349227346714,0.349137507714,0.349047665505,0.348957820087,0.348867971461,0.348778119629,0.348688264591,0.348598406348,0.3485085449,0.348418680249,0.348328812396,0.348238941341,0.348149067085,0.348059189629,0.347969308973,0.347879425119,0.347789538067,0.347699647819,0.347609754375,0.347519857735,0.347429957901,0.347340054874,0.347250148654,0.347160239242,0.347070326639,0.346980410846,0.346890491863,0.346800569692,0.346710644334,0.346620715788,0.346530784056,0.346440849139,0.346350911038,0.346260969753,0.346171025285,0.346081077636,0.345991126805,0.345901172794,0.345811215604,0.345721255235,0.345631291688,0.345541324964,0.345451355064,0.345361381989,0.345271405739,0.345181426316,0.345091443719,0.345001457951,0.344911469012,0.344821476902,0.344731481622,0.344641483174,0.344551481559,0.344461476776,0.344371468826,0.344281457712,0.344191443433,0.34410142599,0.344011405384,0.343921381616,0.343831354687,0.343741324598,0.343651291349,0.343561254941,0.343471215375,0.343381172652,0.343291126773,0.343201077738,0.343111025549,0.343020970206,0.34293091171,0.342840850062,0.342750785262,0.342660717312,0.342570646212,0.342480571964,0.342390494567,0.342300414024,0.342210330333,0.342120243498,0.342030153518,0.341940060393,0.341849964126,0.341759864717,0.341669762166,0.341579656475,0.341489547644,0.341399435674,0.341309320566,0.34121920232,0.341129080939,0.341038956421,0.340948828769,0.340858697983,0.340768564064,0.340678427013,0.34058828683,0.340498143517,0.340407997074,0.340317847501,0.340227694801,0.340137538974,0.340047380019,0.33995721794,0.339867052735,0.339776884407,0.339686712955,0.339596538381,0.339506360686,0.33941617987,0.339325995934,0.339235808879,0.339145618705,0.339055425415,0.338965229008,0.338875029485,0.338784826848,0.338694621096,0.338604412231,0.338514200254,0.338423985165,0.338333766966,0.338243545656,0.338153321238,0.338063093711,0.337972863077,0.337882629336,0.33779239249,0.337702152538,0.337611909483,0.337521663324,0.337431414063,0.337341161701,0.337250906237,0.337160647674,0.337070386011,0.33698012125,0.336889853392,0.336799582437,0.336709308387,0.336619031241,0.336528751001,0.336438467668,0.336348181243,0.336257891726,0.336167599118,0.33607730342,0.335987004633,0.335896702757,0.335806397794,0.335716089745,0.335625778609,0.335535464389,0.335445147085,0.335354826697,0.335264503226,0.335174176674,0.335083847041,0.334993514328,0.334903178536,0.334812839666,0.334722497718,0.334632152693,0.334541804592,0.334451453417,0.334361099167,0.334270741844,0.334180381448,0.33409001798,0.333999651442,0.333909281834,0.333818909156,0.33372853341,0.333638154596,0.333547772716,0.33345738777,0.333366999759,0.333276608683,0.333186214544,0.333095817343,0.333005417079,0.332915013755,0.332824607371,0.332734197927,0.332643785426,0.332553369866,0.33246295125,0.332372529578,0.33228210485,0.332191677069,0.332101246234,0.332010812346,0.331920375407,0.331829935416,0.331739492376,0.331649046286,0.331558597148,0.331468144962,0.33137768973,0.331287231451,0.331196770128,0.33110630576,0.331015838349,0.330925367895,0.330834894399,0.330744417862,0.330653938285,0.330563455669,0.330472970014,0.330382481322,0.330291989593,0.330201494828,0.330110997028,0.330020496193,0.329929992325,0.329839485424,0.329748975492,0.329658462529,0.329567946535,0.329477427512,0.329386905461,0.329296380382,0.329205852276,0.329115321144,0.329024786987,0.328934249806,0.328843709601,0.328753166373,0.328662620124,0.328572070854,0.328481518563,0.328390963253,0.328300404925,0.328209843579,0.328119279216,0.328028711837,0.327938141443,0.327847568035,0.327756991613,0.327666412179,0.327575829733,0.327485244275,0.327394655808,0.327304064331,0.327213469845,0.327122872352,0.327032271853,0.326941668347,0.326851061836,0.32676045232,0.326669839801,0.32657922428,0.326488605756,0.326397984232,0.326307359707,0.326216732183,0.326126101661,0.32603546814,0.325944831623,0.32585419211,0.325763549602,0.325672904099,0.325582255603,0.325491604115,0.325400949634,0.325310292162,0.3252196317,0.325128968249,0.32503830181,0.324947632382,0.324856959968,0.324766284568,0.324675606182,0.324584924813,0.324494240459,0.324403553123,0.324312862805,0.324222169507,0.324131473228,0.324040773969,0.323950071732,0.323859366518,0.323768658326,0.323677947159,0.323587233016,0.3234965159,0.323405795809,0.323315072746,0.323224346711,0.323133617705,0.323042885729,0.322952150783,0.322861412869,0.322770671988,0.322679928139,0.322589181325,0.322498431545,0.322407678801,0.322316923094,0.322226164423,0.322135402791,0.322044638198,0.321953870645,0.321863100133,0.321772326662,0.321681550233,0.321590770847,0.321499988506,0.321409203209,0.321318414958,0.321227623754,0.321136829597,0.321046032488,0.320955232428,0.320864429418,0.320773623458,0.320682814551,0.320592002695,0.320501187893,0.320410370144,0.320319549451,0.320228725813,0.320137899232,0.320047069708,0.319956237242,0.319865401836,0.319774563489,0.319683722203,0.319592877978,0.319502030816,0.319411180717,0.319320327682,0.319229471712,0.319138612808,0.31904775097,0.318956886199,0.318866018497,0.318775147864,0.318684274301,0.318593397808,0.318502518387,0.318411636039,0.318320750763,0.318229862562,0.318138971436,0.318048077385,0.317957180411,0.317866280514,0.317775377696,0.317684471956,0.317593563297,0.317502651718,0.317411737221,0.317320819806,0.317229899475,0.317138976228,0.317048050065,0.316957120989,0.316866188998,0.316775254096,0.316684316281,0.316593375556,0.316502431921,0.316411485376,0.316320535923,0.316229583563,0.316138628296,0.316047670123,0.315956709045,0.315865745062,0.315774778176,0.315683808388,0.315592835698,0.315501860108,0.315410881617,0.315319900227,0.315228915938,0.315137928753,0.31504693867,0.314955945692,0.314864949818,0.314773951051,0.31468294939,0.314591944836,0.314500937391,0.314409927055,0.314318913829,0.314227897714,0.314136878711,0.31404585682,0.313954832043,0.31386380438,0.313772773831,0.313681740399,0.313590704083,0.313499664885,0.313408622805,0.313317577845,0.313226530004,0.313135479285,0.313044425687,0.312953369212,0.31286230986,0.312771247632,0.312680182529,0.312589114553,0.312498043703,0.31240696998,0.312315893386,0.312224813922,0.312133731587,0.312042646384,0.311951558312,0.311860467372,0.311769373567,0.311678276895,0.311587177359,0.311496074958,0.311404969695,0.311313861569,0.311222750581,0.311131636733,0.311040520025,0.310949400458,0.310858278032,0.31076715275,0.31067602461,0.310584893616,0.310493759766,0.310402623062,0.310311483506,0.310220341096,0.310129195836,0.310038047725,0.309946896764,0.309855742954,0.309764586295,0.30967342679,0.309582264438,0.309491099241,0.309399931198,0.309308760312,0.309217586583,0.309126410011,0.309035230598,0.308944048345,0.308852863252,0.308761675319,0.308670484549,0.308579290942,0.308488094498,0.308396895218,0.308305693104,0.308214488156,0.308123280375,0.308032069761,0.307940856317,0.307849640042,0.307758420937,0.307667199003,0.307575974241,0.307484746652,0.307393516237,0.307302282996,0.307211046931,0.307119808042,0.307028566329,0.306937321795,0.306846074439,0.306754824263,0.306663571267,0.306572315453,0.30648105682,0.306389795371,0.306298531105,0.306207264024,0.306115994128,0.306024721418,0.305933445896,0.305842167561,0.305750886415,0.305659602459,0.305568315693,0.305477026119,0.305385733736,0.305294438547,0.305203140551,0.30511183975,0.305020536145,0.304929229735,0.304837920523,0.304746608509,0.304655293694,0.304563976079,0.304472655663,0.30438133245,0.304290006438,0.30419867763,0.304107346025,0.304016011625,0.303924674431,0.303833334443,0.303741991662,0.30365064609,0.303559297726,0.303467946572,0.303376592629,0.303285235897,0.303193876377,0.30310251407,0.303011148978,0.3029197811,0.302828410438,0.302737036992,0.302645660763,0.302554281753,0.302462899962,0.30237151539,0.302280128039,0.30218873791,0.302097345003,0.302005949319,0.301914550859,0.301823149625,0.301731745615,0.301640338833,0.301548929277,0.30145751695,0.301366101852,0.301274683984,0.301183263347,0.301091839941,0.301000413768,0.300908984828,0.300817553122,0.300726118651,0.300634681416,0.300543241417,0.300451798656,0.300360353133,0.30026890485,0.300177453806,0.300086000003,0.299994543442,0.299903084124,0.299811622048,0.299720157217,0.299628689631,0.299537219291,0.299445746198,0.299354270352,0.299262791754,0.299171310406,0.299079826308,0.298988339461,0.298896849865,0.298805357523,0.298713862433,0.298622364598,0.298530864018,0.298439360694,0.298347854627,0.298256345817,0.298164834266,0.298073319974,0.297981802943,0.297890283172,0.297798760664,0.297707235418,0.297615707435,0.297524176717,0.297432643264,0.297341107077,0.297249568157,0.297158026505,0.297066482122,0.296974935008,0.296883385164,0.296791832591,0.29670027729,0.296608719262,0.296517158508,0.296425595028,0.296334028823,0.296242459895,0.296150888244,0.29605931387,0.295967736775,0.29587615696,0.295784574425,0.295692989171,0.295601401199,0.295509810511,0.295418217106,0.295326620985,0.29523502215,0.295143420601,0.295051816339,0.294960209366,0.294868599681,0.294776987285,0.294685372181,0.294593754367,0.294502133846,0.294410510617,0.294318884683,0.294227256043,0.294135624698,0.29404399065,0.2939523539,0.293860714447,0.293769072293,0.293677427439,0.293585779886,0.293494129634,0.293402476684,0.293310821037,0.293219162694,0.293127501656,0.293035837924,0.292944171498,0.29285250238,0.292760830569,0.292669156068,0.292577478876,0.292485798996,0.292394116426,0.292302431169,0.292210743226,0.292119052596,0.292027359281,0.291935663282,0.2918439646,0.291752263235,0.291660559188,0.291568852461,0.291477143053,0.291385430966,0.291293716201,0.291201998759,0.291110278639,0.291018555844,0.290926830374,0.29083510223,0.290743371412,0.290651637922,0.290559901761,0.290468162928,0.290376421426,0.290284677254,0.290192930415,0.290101180908,0.290009428734,0.289917673895,0.289825916391,0.289734156223,0.289642393391,0.289550627898,0.289458859743,0.289367088927,0.289275315451,0.289183539317,0.289091760524,0.288999979074,0.288908194968,0.288816408206,0.288724618789,0.288632826719,0.288541031995,0.288449234619,0.288357434592,0.288265631915,0.288173826587,0.288082018611,0.287990207987,0.287898394715,0.287806578798,0.287714760235,0.287622939027,0.287531115176,0.287439288681,0.287347459545,0.287255627767,0.287163793349,0.287071956291,0.286980116595,0.286888274261,0.286796429289,0.286704581682,0.286612731439,0.286520878562,0.286429023051,0.286337164908,0.286245304132,0.286153440725,0.286061574688,0.285969706022,0.285877834727,0.285785960804,0.285694084255,0.285602205079,0.285510323278,0.285418438853,0.285326551805,0.285234662133,0.28514276984,0.285050874926,0.284958977392,0.284867077238,0.284775174466,0.284683269077,0.284591361071,0.284499450449,0.284407537211,0.28431562136,0.284223702895,0.284131781818,0.284039858129,0.283947931829,0.283856002919,0.2837640714,0.283672137273,0.283580200538,0.283488261197,0.283396319249,0.283304374697,0.283212427541,0.283120477782,0.28302852542,0.282936570457,0.282844612893,0.282752652729,0.282660689967,0.282568724606,0.282476756647,0.282384786093,0.282292812942,0.282200837197,0.282108858858,0.282016877926,0.281924894402,0.281832908286,0.28174091958,0.281648928284,0.281556934399,0.281464937926,0.281372938866,0.281280937219,0.281188932988,0.281096926171,0.281004916771,0.280912904788,0.280820890222,0.280728873076,0.280636853349,0.280544831042,0.280452806157,0.280360778694,0.280268748654,0.280176716038,0.280084680846,0.27999264308,0.279900602741,0.279808559828,0.279716514344,0.279624466288,0.279532415663,0.279440362467,0.279348306704,0.279256248372,0.279164187474,0.27907212401,0.27898005798,0.278887989387,0.278795918229,0.278703844509,0.278611768228,0.278519689385,0.278427607982,0.27833552402,0.2782434375,0.278151348422,0.278059256787,0.277967162597,0.277875065852,0.277782966552,0.277690864699,0.277598760293,0.277506653336,0.277414543828,0.277322431771,0.277230317164,0.277138200009,0.277046080306,0.276953958057,0.276861833262,0.276769705923,0.276677576039,0.276585443612,0.276493308643,0.276401171132,0.276309031081,0.27621688849,0.27612474336,0.276032595692,0.275940445487,0.275848292746,0.275756137468,0.275663979657,0.275571819311,0.275479656432,0.275387491021,0.275295323079,0.275203152607,0.275110979605,0.275018804074,0.274926626015,0.274834445429,0.274742262317,0.274650076679,0.274557888517,0.274465697831,0.274373504623,0.274281308892,0.274189110641,0.274096909869,0.274004706577,0.273912500767,0.27382029244,0.273728081595,0.273635868234,0.273543652358,0.273451433968,0.273359213064,0.273266989648,0.27317476372,0.273082535281,0.272990304331,0.272898070873,0.272805834906,0.272713596431,0.27262135545,0.272529111963,0.272436865971,0.272344617474,0.272252366475,0.272160112972,0.272067856969,0.271975598464,0.271883337459,0.271791073956,0.271698807954,0.271606539455,0.271514268459,0.271421994967,0.271329718981,0.2712374405,0.271145159527,0.271052876061,0.270960590104,0.270868301656,0.270776010718,0.270683717291,0.270591421377,0.270499122975,0.270406822087,0.270314518713,0.270222212854,0.270129904512,0.270037593687,0.269945280379,0.269852964591,0.269760646322,0.269668325573,0.269576002346,0.26948367664,0.269391348458,0.269299017799,0.269206684665,0.269114349057,0.269022010975,0.26892967042,0.268837327394,0.268744981896,0.268652633928,0.26856028349,0.268467930584,0.268375575211,0.26828321737,0.268190857063,0.268098494292,0.268006129056,0.267913761356,0.267821391194,0.26772901857,0.267636643486,0.267544265941,0.267451885937,0.267359503474,0.267267118554,0.267174731178,0.267082341345,0.266989949058,0.266897554317,0.266805157122,0.266712757475,0.266620355376,0.266527950827,0.266435543828,0.266343134379,0.266250722483,0.266158308139,0.266065891349,0.265973472113,0.265881050432,0.265788626308,0.26569619974,0.26560377073,0.265511339279,0.265418905387,0.265326469056,0.265234030286,0.265141589077,0.265049145432,0.26495669935,0.264864250833,0.264771799882,0.264679346496,0.264586890678,0.264494432428,0.264401971746,0.264309508635,0.264217043093,0.264124575124,0.264032104726,0.263939631901,0.263847156651,0.263754678975,0.263662198875,0.263569716351,0.263477231404,0.263384744036,0.263292254247,0.263199762037,0.263107267409,0.263014770362,0.262922270897,0.262829769016,0.262737264719,0.262644758006,0.26255224888,0.26245973734,0.262367223388,0.262274707024,0.262182188249,0.262089667065,0.261997143471,0.261904617469,0.26181208906,0.261719558244,0.261627025023,0.261534489397,0.261441951366,0.261349410933,0.261256868097,0.26116432286,0.261071775223,0.260979225186,0.260886672749,0.260794117915,0.260701560684,0.260609001056,0.260516439033,0.260423874615,0.260331307804,0.2602387386,0.260146167003,0.260053593015,0.259961016637,0.25986843787,0.259775856714,0.25968327317,0.259590687239,0.259498098922,0.25940550822,0.259312915133,0.259220319663,0.25912772181,0.259035121575,0.258942518959,0.258849913963,0.258757306588,0.258664696834,0.258572084703,0.258479470195,0.258386853311,0.258294234052,0.258201612419,0.258108988413,0.258016362034,0.257923733283,0.257831102162,0.257738468671,0.257645832811,0.257553194582,0.257460553986,0.257367911024,0.257275265696,0.257182618003,0.257089967946,0.256997315526,0.256904660743,0.2568120036,0.256719344096,0.256626682232,0.256534018009,0.256441351428,0.25634868249,0.256256011196,0.256163337546,0.256070661542,0.255977983184,0.255885302473,0.25579261941,0.255699933995,0.255607246231,0.255514556117,0.255421863654,0.255329168844,0.255236471686,0.255143772183,0.255051070334,0.254958366141,0.254865659605,0.254772950725,0.254680239504,0.254587525942,0.25449481004,0.254402091799,0.254309371219,0.254216648301,0.254123923047,0.254031195457,0.253938465532,0.253845733273,0.253752998681,0.253660261756,0.2535675225,0.253474780913,0.253382036996,0.25328929075,0.253196542175,0.253103791274,0.253011038046,0.252918282492,0.252825524613,0.252732764411,0.252640001886,0.252547237038,0.252454469869,0.25236170038,0.25226892857,0.252176154442,0.252083377996,0.251990599233,0.251897818154,0.25180503476,0.25171224905,0.251619461028,0.251526670692,0.251433878044,0.251341083085,0.251248285816,0.251155486238,0.251062684351,0.250969880156,0.250877073654,0.250784264847,0.250691453734,0.250598640317,0.250505824596,0.250413006573,0.250320186248,0.250227363622,0.250134538696,0.250041711471,0.249948881948,0.249856050127,0.24976321601,0.249670379597,0.249577540889,0.249484699886,0.249391856591,0.249299011003,0.249206163124,0.249113312954,0.249020460494,0.248927605746,0.248834748709,0.248741889385,0.248649027775,0.248556163879,0.248463297698,0.248370429234,0.248277558487,0.248184685457,0.248091810146,0.247998932555,0.247906052685,0.247813170535,0.247720286108,0.247627399404,0.247534510423,0.247441619168,0.247348725638,0.247255829834,0.247162931758,0.247070031409,0.24697712879,0.246884223901,0.246791316742,0.246698407315,0.24660549562,0.246512581659,0.246419665431,0.246326746939,0.246233826182,0.246140903162,0.24604797788,0.245955050336,0.245862120531,0.245769188466,0.245676254142,0.245583317561,0.245490378721,0.245397437625,0.245304494274,0.245211548668,0.245118600807,0.245025650694,0.244932698329,0.244839743712,0.244746786844,0.244653827727,0.244560866362,0.244467902748,0.244374936887,0.24428196878,0.244188998427,0.24409602583,0.24400305099,0.243910073906,0.24381709458,0.243724113014,0.243631129207,0.243538143161,0.243445154876,0.243352164353,0.243259171594,0.243166176599,0.243073179368,0.242980179903,0.242887178205,0.242794174274,0.242701168112,0.242608159718,0.242515149095,0.242422136243,0.242329121162,0.242236103854,0.242143084319,0.242050062558,0.241957038573,0.241864012364,0.241770983931,0.241677953276,0.2415849204,0.241491885303,0.241398847986,0.241305808451,0.241212766697,0.241119722726,0.241026676539,0.240933628137,0.24084057752,0.240747524689,0.240654469645,0.240561412389,0.240468352922,0.240375291244,0.240282227358,0.240189161262,0.240096092959,0.240003022449,0.239909949733,0.239816874811,0.239723797685,0.239630718356,0.239537636824,0.239444553091,0.239351467156,0.239258379021,0.239165288687,0.239072196155,0.238979101425,0.238886004499,0.238792905377,0.23869980406,0.238606700549,0.238513594844,0.238420486948,0.238327376859,0.23823426458,0.238141150112,0.238048033454,0.237954914608,0.237861793575,0.237768670356,0.237675544951,0.237582417362,0.237489287588,0.237396155632,0.237303021494,0.237209885174,0.237116746674,0.237023605994,0.236930463136,0.2368373181,0.236744170887,0.236651021498,0.236557869934,0.236464716195,0.236371560283,0.236278402198,0.236185241941,0.236092079513,0.235998914916,0.235905748149,0.235812579213,0.23571940811,0.23562623484,0.235533059405,0.235439881805,0.23534670204,0.235253520112,0.235160336022,0.23506714977,0.234973961358,0.234880770785,0.234787578054,0.234694383165,0.234601186118,0.234507986915,0.234414785556,0.234321582043,0.234228376376,0.234135168556,0.234041958584,0.23394874646,0.233855532186,0.233762315763,0.233669097191,0.233575876471,0.233482653604,0.233389428591,0.233296201432,0.233202972129,0.233109740683,0.233016507094,0.232923271363,0.232830033492,0.23273679348,0.232643551328,0.232550307039,0.232457060612,0.232363812048,0.232270561348,0.232177308513,0.232084053545,0.231990796442,0.231897537208,0.231804275842,0.231711012345,0.231617746719,0.231524478963,0.231431209079,0.231337937069,0.231244662931,0.231151386668,0.231058108281,0.230964827769,0.230871545135,0.230778260378,0.230684973501,0.230591684502,0.230498393385,0.230405100148,0.230311804794,0.230218507323,0.230125207735,0.230031906033,0.229938602216,0.229845296285,0.229751988242,0.229658678087,0.229565365821,0.229472051444,0.229378734959,0.229285416365,0.229192095664,0.229098772856,0.229005447942,0.228912120923,0.2288187918,0.228725460574,0.228632127245,0.228538791815,0.228445454284,0.228352114653,0.228258772924,0.228165429096,0.228072083171,0.22797873515,0.227885385033,0.227792032821,0.227698678516,0.227605322117,0.227511963627,0.227418603045,0.227325240373,0.227231875611,0.227138508761,0.227045139823,0.226951768798,0.226858395687,0.226765020491,0.22667164321,0.226578263846,0.226484882399,0.22639149887,0.22629811326,0.226204725571,0.226111335802,0.226017943954,0.22592455003,0.225831154028,0.225737755951,0.225644355799,0.225550953572,0.225457549273,0.225364142901,0.225270734458,0.225177323944,0.22508391136,0.224990496707,0.224897079986,0.224803661198,0.224710240344,0.224616817424,0.22452339244,0.224429965392,0.22433653628,0.224243105107,0.224149671873,0.224056236578,0.223962799224,0.223869359811,0.223775918341,0.223682474813,0.22358902923,0.223495581591,0.223402131898,0.223308680152,0.223215226353,0.223121770502,0.2230283126,0.222934852648,0.222841390647,0.222747926598,0.222654460502,0.222560992358,0.222467522169,0.222374049935,0.222280575658,0.222187099337,0.222093620973,0.222000140568,0.221906658123,0.221813173638,0.221719687114,0.221626198552,0.221532707953,0.221439215318,0.221345720647,0.221252223942,0.221158725203,0.221065224431,0.220971721627,0.220878216792,0.220784709927,0.220691201032,0.220597690109,0.220504177158,0.22041066218,0.220317145177,0.220223626148,0.220130105095,0.220036582018,0.219943056919,0.219849529799,0.219756000657,0.219662469496,0.219568936315,0.219475401117,0.219381863901,0.219288324668,0.21919478342,0.219101240157,0.21900769488,0.21891414759,0.218820598288,0.218727046974,0.21863349365,0.218539938316,0.218446380974,0.218352821623,0.218259260266,0.218165696902,0.218072131533,0.21797856416,0.217884994783,0.217791423403,0.217697850021,0.217604274638,0.217510697256,0.217417117873,0.217323536493,0.217229953114,0.217136367739,0.217042780369,0.216949191003,0.216855599643,0.216762006289,0.216668410944,0.216574813606,0.216481214278,0.21638761296,0.216294009653,0.216200404358,0.216106797076,0.216013187808,0.215919576553,0.215825963314,0.215732348092,0.215638730886,0.215545111698,0.215451490529,0.21535786738,0.215264242251,0.215170615143,0.215076986058,0.214983354995,0.214889721957,0.214796086943,0.214702449955,0.214608810994,0.21451517006,0.214421527154,0.214327882277,0.21423423543,0.214140586614,0.214046935829,0.213953283078,0.213859628359,0.213765971675,0.213672313026,0.213578652412,0.213484989836,0.213391325297,0.213297658797,0.213203990337,0.213110319916,0.213016647537,0.2129229732,0.212829296905,0.212735618654,0.212641938448,0.212548256288,0.212454572173,0.212360886106,0.212267198087,0.212173508116,0.212079816196,0.211986122326,0.211892426507,0.211798728741,0.211705029028,0.211611327369,0.211517623765,0.211423918217,0.211330210725,0.211236501291,0.211142789916,0.211049076599,0.210955361343,0.210861644147,0.210767925013,0.210674203942,0.210580480935,0.210486755992,0.210393029114,0.210299300302,0.210205569557,0.21011183688,0.210018102272,0.209924365734,0.209830627265,0.209736886868,0.209643144543,0.209549400292,0.209455654114,0.20936190601,0.209268155983,0.209174404032,0.209080650158,0.208986894362,0.208893136645,0.208799377009,0.208705615453,0.208611851978,0.208518086586,0.208424319278,0.208330550053,0.208236778914,0.208143005861,0.208049230894,0.207955454015,0.207861675225,0.207767894524,0.207674111913,0.207580327394,0.207486540966,0.207392752631,0.20729896239,0.207205170243,0.207111376192,0.207017580237,0.20692378238,0.20682998262,0.206736180959,0.206642377398,0.206548571937,0.206454764578,0.206360955321,0.206267144167,0.206173331118,0.206079516173,0.205985699334,0.205891880602,0.205798059977,0.20570423746,0.205610413053,0.205516586756,0.20542275857,0.205328928495,0.205235096533,0.205141262685,0.205047426951,0.204953589332,0.20485974983,0.204765908444,0.204672065176,0.204578220027,0.204484372998,0.204390524089,0.204296673301,0.204202820635,0.204108966093,0.204015109674,0.20392125138,0.203827391212,0.20373352917,0.203639665255,0.203545799469,0.203451931811,0.203358062284,0.203264190887,0.203170317622,0.203076442489,0.20298256549,0.202888686625,0.202794805895,0.202700923302,0.202607038844,0.202513152525,0.202419264344,0.202325374303,0.202231482401,0.202137588641,0.202043693023,0.201949795548,0.201855896217,0.20176199503,0.201668091988,0.201574187093,0.201480280345,0.201386371745,0.201292461294,0.201198548993,0.201104634842,0.201010718843,0.200916800996,0.200822881302,0.200728959763,0.200635036378,0.20054111115,0.200447184078,0.200353255163,0.200259324407,0.20016539181,0.200071457373,0.199977521097,0.199883582983,0.199789643032,0.199695701244,0.199601757621,0.199507812163,0.199413864871,0.199319915747,0.19922596479,0.199132012002,0.199038057383,0.198944100935,0.198850142659,0.198756182554,0.198662220623,0.198568256866,0.198474291283,0.198380323876,0.198286354646,0.198192383593,0.198098410718,0.198004436022,0.197910459507,0.197816481172,0.197722501019,0.197628519048,0.197534535261,0.197440549659,0.197346562241,0.197252573009,0.197158581965,0.197064589108,0.19697059444,0.196876597961,0.196782599672,0.196688599575,0.19659459767,0.196500593958,0.19640658844,0.196312581116,0.196218571988,0.196124561056,0.196030548321,0.195936533785,0.195842517448,0.19574849931,0.195654479373,0.195560457638,0.195466434105,0.195372408776,0.195278381651,0.19518435273,0.195090322016,0.194996289509,0.194902255209,0.194808219117,0.194714181235,0.194620141563,0.194526100103,0.194432056854,0.194338011818,0.194243964996,0.194149916388,0.194055865996,0.19396181382,0.193867759861,0.19377370412,0.193679646598,0.193585587296,0.193491526214,0.193397463354,0.193303398716,0.193209332302,0.193115264111,0.193021194145,0.192927122405,0.192833048892,0.192738973607,0.192644896549,0.192550817721,0.192456737123,0.192362654756,0.192268570621,0.192174484719,0.19208039705,0.191986307615,0.191892216416,0.191798123453,0.191704028728,0.19160993224,0.19151583399,0.191421733981,0.191327632212,0.191233528684,0.191139423398,0.191045316356,0.190951207557,0.190857097004,0.190762984696,0.190668870634,0.19057475482,0.190480637254,0.190386517938,0.190292396871,0.190198274056,0.190104149492,0.19001002318,0.189915895122,0.189821765319,0.18972763377,0.189633500478,0.189539365443,0.189445228665,0.189351090146,0.189256949887,0.189162807888,0.18906866415,0.188974518674,0.188880371462,0.188786222513,0.188692071829,0.18859791941,0.188503765258,0.188409609373,0.188315451757,0.188221292409,0.188127131332,0.188032968525,0.18793880399,0.187844637727,0.187750469738,0.187656300023,0.187562128583,0.187467955419,0.187373780531,0.187279603922,0.187185425591,0.18709124554,0.186997063768,0.186902880278,0.18680869507,0.186714508145,0.186620319504,0.186526129147,0.186431937076,0.186337743291,0.186243547794,0.186149350584,0.186055151663,0.185960951033,0.185866748693,0.185772544644,0.185678338888,0.185584131425,0.185489922257,0.185395711383,0.185301498805,0.185207284524,0.185113068541,0.185018850856,0.18492463147,0.184830410385,0.1847361876,0.184641963118,0.184547736939,0.184453509063,0.184359279491,0.184265048226,0.184170815266,0.184076580613,0.183982344269,0.183888106233,0.183793866507,0.183699625092,0.183605381988,0.183511137197,0.183416890719,0.183322642555,0.183228392705,0.183134141172,0.183039887955,0.182945633056,0.182851376475,0.182757118214,0.182662858272,0.182568596652,0.182474333353,0.182380068377,0.182285801725,0.182191533397,0.182097263395,0.182002991719,0.18190871837,0.181814443348,0.181720166656,0.181625888293,0.181531608261,0.18143732656,0.181343043192,0.181248758156,0.181154471455,0.181060183088,0.180965893058,0.180871601363,0.180777308007,0.180683012988,0.180588716309,0.18049441797,0.180400117972,0.180305816315,0.180211513002,0.180117208031,0.180022901406,0.179928593125,0.179834283191,0.179739971603,0.179645658364,0.179551343473,0.179457026932,0.179362708741,0.179268388902,0.179174067415,0.179079744281,0.1789854195,0.178891093075,0.178796765005,0.178702435292,0.178608103936,0.178513770939,0.178419436301,0.178325100022,0.178230762105,0.178136422549,0.178042081356,0.177947738526,0.177853394061,0.177759047961,0.177664700227,0.17757035086,0.177475999861,0.17738164723,0.177287292969,0.177192937079,0.177098579559,0.177004220412,0.176909859638,0.176815497238,0.176721133212,0.176626767562,0.176532400289,0.176438031393,0.176343660875,0.176249288736,0.176154914977,0.176060539599,0.175966162603,0.175871783989,0.175777403759,0.175683021913,0.175588638452,0.175494253377,0.175399866689,0.175305478389,0.175211088478,0.175116696956,0.175022303824,0.174927909083,0.174833512735,0.17473911478,0.174644715218,0.174550314051,0.17445591128,0.174361506905,0.174267100928,0.174172693348,0.174078284168,0.173983873387,0.173889461008,0.17379504703,0.173700631454,0.173606214282,0.173511795514,0.173417375152,0.173322953195,0.173228529645,0.173134104503,0.173039677769,0.172945249445,0.172850819531,0.172756388029,0.172661954938,0.172567520261,0.172473083997,0.172378646148,0.172284206714,0.172189765697,0.172095323097,0.172000878915,0.171906433152,0.171811985809,0.171717536887,0.171623086386,0.171528634308,0.171434180654,0.171339725423,0.171245268618,0.171150810238,0.171056350285,0.17096188876,0.170867425664,0.170772960997,0.17067849476,0.170584026954,0.170489557581,0.17039508664,0.170300614133,0.170206140061,0.170111664424,0.170017187224,0.169922708461,0.169828228136,0.16973374625,0.169639262803,0.169544777798,0.169450291234,0.169355803112,0.169261313434,0.1691668222,0.169072329411,0.168977835068,0.168883339172,0.168788841724,0.168694342724,0.168599842173,0.168505340073,0.168410836423,0.168316331226,0.168221824482,0.168127316191,0.168032806355,0.167938294975,0.167843782051,0.167749267584,0.167654751575,0.167560234025,0.167465714935,0.167371194305,0.167276672137,0.167182148432,0.16708762319,0.166993096412,0.166898568099,0.166804038252,0.166709506872,0.166614973959,0.166520439515,0.16642590354,0.166331366036,0.166236827003,0.166142286441,0.166047744353,0.165953200738,0.165858655598,0.165764108933,0.165669560745,0.165575011034,0.1654804598,0.165385907046,0.165291352772,0.165196796978,0.165102239666,0.165007680836,0.16491312049,0.164818558628,0.16472399525,0.164629430359,0.164534863954,0.164440296037,0.164345726609,0.16425115567,0.164156583221,0.164062009263,0.163967433797,0.163872856825,0.163778278345,0.163683698361,0.163589116871,0.163494533879,0.163399949383,0.163305363385,0.163210775887,0.163116186888,0.16302159639,0.162927004393,0.162832410899,0.162737815908,0.162643219421,0.162548621439,0.162454021963,0.162359420994,0.162264818533,0.16217021458,0.162075609136,0.161981002202,0.16188639378,0.16179178387,0.161697172472,0.161602559588,0.161507945219,0.161413329366,0.161318712028,0.161224093208,0.161129472906,0.161034851122,0.160940227859,0.160845603116,0.160750976895,0.160656349196,0.160561720021,0.160467089369,0.160372457243,0.160277823642,0.160183188569,0.160088552023,0.159993914005,0.159899274517,0.159804633559,0.159709991132,0.159615347237,0.159520701875,0.159426055047,0.159331406753,0.159236756995,0.159142105773,0.159047453088,0.158952798942,0.158858143334,0.158763486266,0.158668827739,0.158574167753,0.15847950631,0.15838484341,0.158290179054,0.158195513243,0.158100845978,0.15800617726,0.15791150709,0.157816835468,0.157722162395,0.157627487873,0.157532811902,0.157438134483,0.157343455616,0.157248775304,0.157154093546,0.157059410343,0.156964725697,0.156870039608,0.156775352077,0.156680663105,0.156585972693,0.156491280842,0.156396587552,0.156301892824,0.15620719666,0.15611249906,0.156017800025,0.155923099556,0.155828397654,0.15573369432,0.155638989554,0.155544283357,0.155449575731,0.155354866676,0.155260156193,0.155165444282,0.155070730946,0.154976016184,0.154881299997,0.154786582387,0.154691863355,0.1545971429,0.154502421024,0.154407697728,0.154312973013,0.154218246879,0.154123519328,0.154028790361,0.153934059977,0.153839328178,0.153744594966,0.15364986034,0.153555124302,0.153460386852,0.153365647992,0.153270907723,0.153176166044,0.153081422957,0.152986678464,0.152891932564,0.152797185258,0.152702436549,0.152607686435,0.152512934919,0.152418182001,0.152323427682,0.152228671963,0.152133914845,0.152039156328,0.151944396414,0.151849635103,0.151754872397,0.151660108295,0.151565342799,0.151470575911,0.15137580763,0.151281037957,0.151186266894,0.151091494442,0.1509967206,0.150901945371,0.150807168755,0.150712390752,0.150617611364,0.150522830592,0.150428048436,0.150333264897,0.150238479977,0.150143693675,0.150048905994,0.149954116933,0.149859326494,0.149764534677,0.149669741484,0.149574946915,0.149480150972,0.149385353654,0.149290554963,0.1491957549,0.149100953465,0.14900615066,0.148911346486,0.148816540942,0.148721734031,0.148626925753,0.148532116108,0.148437305099,0.148342492725,0.148247678987,0.148152863887,0.148058047424,0.147963229601,0.147868410418,0.147773589876,0.147678767976,0.147583944718,0.147489120103,0.147394294133,0.147299466808,0.147204638129,0.147109808097,0.147014976713,0.146920143977,0.146825309891,0.146730474455,0.146635637671,0.146540799539,0.14644596006,0.146351119234,0.146256277064,0.146161433549,0.146066588691,0.14597174249,0.145876894947,0.145782046064,0.14568719584,0.145592344277,0.145497491376,0.145402637138,0.145307781563,0.145212924653,0.145118066408,0.145023206829,0.144928345916,0.144833483672,0.144738620097,0.144643755191,0.144548888955,0.144454021391,0.144359152499,0.14426428228,0.144169410735,0.144074537865,0.143979663671,0.143884788153,0.143789911312,0.14369503315,0.143600153667,0.143505272865,0.143410390743,0.143315507303,0.143220622545,0.143125736471,0.143030849082,0.142935960378,0.14284107036,0.142746179029,0.142651286386,0.142556392431,0.142461497167,0.142366600593,0.14227170271,0.142176803519,0.142081903022,0.141987001219,0.14189209811,0.141797193698,0.141702287982,0.141607380963,0.141512472643,0.141417563022,0.141322652102,0.141227739882,0.141132826364,0.141037911549,0.140942995437,0.14084807803,0.140753159328,0.140658239333,0.140563318044,0.140468395464,0.140373471592,0.140278546431,0.140183619979,0.14008869224,0.139993763212,0.139898832898,0.139803901298,0.139708968412,0.139614034243,0.13951909879,0.139424162055,0.139329224038,0.139234284741,0.139139344164,0.139044402308,0.138949459173,0.138854514762,0.138759569074,0.138664622111,0.138569673873,0.138474724362,0.138379773578,0.138284821522,0.138189868194,0.138094913597,0.13799995773,0.137905000595,0.137810042192,0.137715082522,0.137620121586,0.137525159386,0.137430195921,0.137335231194,0.137240265204,0.137145297952,0.13705032944,0.136955359668,0.136860388637,0.136765416348,0.136670442802,0.136575468,0.136480491942,0.13638551463,0.136290536064,0.136195556246,0.136100575176,0.136005592854,0.135910609283,0.135815624462,0.135720638393,0.135625651076,0.135530662513,0.135435672704,0.13534068165,0.135245689352,0.135150695811,0.135055701028,0.134960705003,0.134865707738,0.134770709233,0.134675709489,0.134580708507,0.134485706288,0.134390702834,0.134295698143,0.134200692219,0.134105685061,0.13401067667,0.133915667047,0.133820656194,0.13372564411,0.133630630797,0.133535616256,0.133440600488,0.133345583493,0.133250565272,0.133155545827,0.133060525157,0.132965503265,0.13287048015,0.132775455814,0.132680430257,0.132585403481,0.132490375487,0.132395346274,0.132300315844,0.132205284199,0.132110251338,0.132015217263,0.131920181974,0.131825145473,0.13173010776,0.131635068837,0.131540028703,0.13144498736,0.131349944809,0.131254901051,0.131159856086,0.131064809916,0.130969762541,0.130874713962,0.13077966418,0.130684613196,0.13058956101,0.130494507625,0.13039945304,0.130304397256,0.130209340275,0.130114282096,0.130019222722,0.129924162153,0.129829100389,0.129734037432,0.129638973283,0.129543907942,0.12944884141,0.129353773688,0.129258704778,0.129163634679,0.129068563393,0.128973490921,0.128878417263,0.12878334242,0.128688266394,0.128593189185,0.128498110794,0.128403031222,0.128307950469,0.128212868537,0.128117785427,0.128022701139,0.127927615674,0.127832529033,0.127737441218,0.127642352228,0.127547262065,0.127452170729,0.127357078222,0.127261984545,0.127166889697,0.127071793681,0.126976696497,0.126881598145,0.126786498628,0.126691397945,0.126596296097,0.126501193086,0.126406088912,0.126310983576,0.126215877079,0.126120769422,0.126025660606,0.125930550631,0.125835439498,0.12574032721,0.125645213765,0.125550099165,0.125454983412,0.125359866505,0.125264748446,0.125169629235,0.125074508874,0.124979387363,0.124884264704,0.124789140897,0.124694015942,0.124598889842,0.124503762596,0.124408634205,0.124313504672,0.124218373995,0.124123242177,0.124028109218,0.123932975119,0.12383783988,0.123742703503,0.123647565989,0.123552427339,0.123457287552,0.123362146631,0.123267004576,0.123171861388,0.123076717068,0.122981571617,0.122886425035,0.122791277323,0.122696128483,0.122600978515,0.12250582742,0.122410675199,0.122315521853,0.122220367383,0.122125211789,0.122030055073,0.121934897235,0.121839738276,0.121744578197,0.121649416999,0.121554254683,0.12145909125,0.1213639267,0.121268761035,0.121173594255,0.121078426361,0.120983257354,0.120888087236,0.120792916006,0.120697743666,0.120602570216,0.120507395658,0.120412219992,0.120317043219,0.120221865341,0.120126686357,0.120031506269,0.119936325078,0.119841142785,0.119745959389,0.119650774894,0.119555589298,0.119460402604,0.119365214811,0.119270025921,0.119174835935,0.119079644854,0.118984452678,0.118889259408,0.118794065045,0.118698869591,0.118603673045,0.11850847541,0.118413276685,0.118318076871,0.11822287597,0.118127673983,0.118032470909,0.117937266751,0.117842061508,0.117746855183,0.117651647775,0.117556439285,0.117461229715,0.117366019066,0.117270807338,0.117175594531,0.117080380648,0.116985165688,0.116889949653,0.116794732544,0.116699514361,0.116604295106,0.116509074778,0.11641385338,0.116318630912,0.116223407374,0.116128182769,0.116032957095,0.115937730356,0.11584250255,0.11574727368,0.115652043746,0.115556812749,0.115461580689,0.115366347569,0.115271113388,0.115175878147,0.115080641848,0.114985404491,0.114890166077,0.114794926607,0.114699686081,0.114604444502,0.114509201869,0.114413958183,0.114318713446,0.114223467658,0.11412822082,0.114032972933,0.113937723998,0.113842474016,0.113747222987,0.113651970913,0.113556717794,0.113461463631,0.113366208425,0.113270952178,0.113175694889,0.113080436559,0.112985177191,0.112889916784,0.112794655339,0.112699392857,0.11260412934,0.112508864787,0.112413599201,0.112318332581,0.112223064928,0.112127796244,0.11203252653,0.111937255786,0.111841984012,0.111746711211,0.111651437383,0.111556162528,0.111460886648,0.111365609743,0.111270331815,0.111175052864,0.111079772891,0.110984491897,0.110889209883,0.11079392685,0.110698642798,0.110603357729,0.110508071643,0.110412784541,0.110317496424,0.110222207294,0.11012691715,0.110031625994,0.109936333827,0.109841040649,0.109745746461,0.109650451265,0.109555155061,0.10945985785,0.109364559632,0.10926926041,0.109173960183,0.109078658952,0.108983356719,0.108888053485,0.108792749249,0.108697444013,0.108602137778,0.108506830545,0.108411522315,0.108316213088,0.108220902865,0.108125591648,0.108030279437,0.107934966233,0.107839652036,0.107744336849,0.107649020671,0.107553703504,0.107458385348,0.107363066204,0.107267746073,0.107172424957,0.107077102855,0.106981779769,0.1068864557,0.106791130648,0.106695804615,0.106600477601,0.106505149607,0.106409820634,0.106314490683,0.106219159755,0.106123827851,0.106028494971,0.105933161116,0.105837826288,0.105742490487,0.105647153713,0.105551815969,0.105456477255,0.105361137571,0.105265796919,0.105170455299,0.105075112713,0.10497976916,0.104884424643,0.104789079162,0.104693732717,0.10459838531,0.104503036942,0.104407687613,0.104312337325,0.104216986077,0.104121633872,0.10402628071,0.103930926591,0.103835571517,0.103740215489,0.103644858507,0.103549500573,0.103454141686,0.103358781849,0.103263421062,0.103168059325,0.10307269664,0.102977333008,0.102881968429,0.102786602905,0.102691236436,0.102595869022,0.102500500666,0.102405131368,0.102309761128,0.102214389948,0.102119017829,0.10202364477,0.101928270774,0.101832895841,0.101737519973,0.101642143168,0.10154676543,0.101451386758,0.101356007154,0.101260626618,0.101165245151,0.101069862755,0.100974479429,0.100879095176,0.100783709995,0.100688323887,0.100592936854,0.100497548897,0.100402160016,0.100306770211,0.100211379485,0.100115987838,0.100020595271,0.0999252017837,0.0998298073783,0.0997344120553,0.0996390158156,0.0995436186601,0.0994482205895,0.0993528216049,0.099257421707,0.0991620208967,0.099066619175,0.0989712165427,0.0988758130007,0.0987804085498,0.098685003191,0.098589596925,0.0984941897529,0.0983987816754,0.0983033726934,0.0982079628079,0.0981125520196,0.0980171403296,0.0979217277385,0.0978263142474,0.0977308998571,0.0976354845685,0.0975400683825,0.0974446512998,0.0973492333215,0.0972538144484,0.0971583946813,0.0970629740212,0.0969675524688,0.0968721300252,0.0967767066912,0.0966812824676,0.0965858573553,0.0964904313553,0.0963950044683,0.0962995766952,0.096204148037,0.0961087184946,0.0960132880687,0.0959178567602,0.0958224245702,0.0957269914993,0.0956315575485,0.0955361227188,0.0954406870108,0.0953452504256,0.095249812964,0.0951543746269,0.0950589354152,0.0949634953296,0.0948680543712,0.0947726125408,0.0946771698393,0.0945817262675,0.0944862818264,0.0943908365167,0.0942953903394,0.0941999432954,0.0941044953855,0.0940090466106,0.0939135969716,0.0938181464694,0.0937226951048,0.0936272428788,0.0935317897921,0.0934363358457,0.0933408810405,0.0932454253773,0.093149968857,0.0930545114805,0.0929590532487,0.0928635941624,0.0927681342225,0.0926726734299,0.0925772117855,0.0924817492901,0.0923862859447,0.0922908217501,0.0921953567071,0.0920998908167,0.0920044240798,0.0919089564971,0.0918134880697,0.0917180187983,0.0916225486839,0.0915270777273,0.0914316059294,0.0913361332911,0.0912406598132,0.0911451854967,0.0910497103424,0.0909542343511,0.0908587575239,0.0907632798615,0.0906678013648,0.0905723220347,0.0904768418721,0.0903813608779,0.0902858790529,0.0901903963979,0.090094912914,0.089999428602,0.0899039434627,0.089808457497,0.0897129707058,0.08961748309,0.0895219946505,0.0894265053881,0.0893310153037,0.0892355243981,0.0891400326724,0.0890445401273,0.0889490467637,0.0888535525825,0.0887580575846,0.0886625617709,0.0885670651421,0.0884715676993,0.0883760694433,0.088280570375,0.0881850704952,0.0880895698048,0.0879940683047,0.0878985659958,0.0878030628789,0.087707558955,0.0876120542249,0.0875165486895,0.0874210423496,0.0873255352062,0.0872300272601,0.0871345185122,0.0870390089634,0.0869434986145,0.0868479874665,0.0867524755202,0.0866569627765,0.0865614492363,0.0864659349003,0.0863704197697,0.0862749038451,0.0861793871275,0.0860838696177,0.0859883513167,0.0858928322253,0.0857973123444,0.0857017916749,0.0856062702176,0.0855107479735,0.0854152249433,0.085319701128,0.0852241765285,0.0851286511456,0.0850331249803,0.0849375980333,0.0848420703056,0.0847465417981,0.0846510125116,0.0845554824469,0.0844599516051,0.0843644199869,0.0842688875933,0.0841733544251,0.0840778204832,0.0839822857685,0.0838867502818,0.083791214024,0.0836956769961,0.0836001391988,0.0835046006332,0.0834090612999,0.0833135212,0.0832179803343,0.0831224387036,0.0830268963089,0.0829313531511,0.0828358092309,0.0827402645494,0.0826447191073,0.0825491729056,0.0824536259451,0.0823580782266,0.0822625297512,0.0821669805197,0.0820714305328,0.0819758797916,0.0818803282969,0.0817847760496,0.0816892230505,0.0815936693005,0.0814981148006,0.0814025595515,0.0813070035542,0.0812114468096,0.0811158893185,0.0810203310817,0.0809247721003,0.080829212375,0.0807336519067,0.0806380906964,0.0805425287448,0.080446966053,0.0803514026216,0.0802558384517,0.0801602735441,0.0800647078997,0.0799691415193,0.0798735744039,0.0797780065543,0.0796824379714,0.0795868686561,0.0794912986092,0.0793957278317,0.0793001563244,0.0792045840882,0.0791090111239,0.0790134374325,0.0789178630148,0.0788222878717,0.0787267120041,0.0786311354128,0.0785355580988,0.078439980063,0.0783444013061,0.0782488218291,0.0781532416328,0.0780576607182,0.077962079086,0.0778664967373,0.0777709136729,0.0776753298935,0.0775797454003,0.0774841601939,0.0773885742753,0.0772929876453,0.0771974003049,0.0771018122549,0.0770062234962,0.0769106340297,0.0768150438563,0.0767194529767,0.076623861392,0.076528269103,0.0764326761105,0.0763370824155,0.0762414880189,0.0761458929214,0.076050297124,0.0759547006275,0.075859103433,0.0757635055411,0.0756679069528,0.075572307669,0.0754767076906,0.0753811070184,0.0752855056533,0.0751899035962,0.0750943008479,0.0749986974094,0.0749030932816,0.0748074884652,0.0747118829613,0.0746162767706,0.074520669894,0.0744250623325,0.0743294540868,0.074233845158,0.0741382355468,0.0740426252541,0.0739470142809,0.073851402628,0.0737557902962,0.0736601772865,0.0735645635997,0.0734689492367,0.0733733341984,0.0732777184857,0.0731821020994,0.0730864850405,0.0729908673097,0.072895248908,0.0727996298364,0.0727040100955,0.0726083896864,0.0725127686098,0.0724171468668,0.0723215244581,0.0722259013846,0.0721302776472,0.0720346532469,0.0719390281844,0.0718434024607,0.0717477760766,0.071652149033,0.0715565213308,0.0714608929708,0.0713652639541,0.0712696342813,0.0711740039534,0.0710783729714,0.070982741336,0.0708871090481,0.0707914761086,0.0706958425185,0.0706002082785,0.0705045733896,0.0704089378526,0.0703133016685,0.070217664838,0.0701220273621,0.0700263892417,0.0699307504776,0.0698351110707,0.0697394710219,0.0696438303321,0.0695481890021,0.0694525470328,0.0693569044252,0.06926126118,0.0691656172982,0.0690699727807,0.0689743276283,0.0688786818418,0.0687830354223,0.0686873883705,0.0685917406874,0.0684960923738,0.0684004434305,0.0683047938586,0.0682091436588,0.0681134928321,0.0680178413792,0.0679221893012,0.0678265365988,0.067730883273,0.0676352293246,0.0675395747545,0.0674439195637,0.0673482637529,0.067252607323,0.067156950275,0.0670612926096,0.0669656343279,0.0668699754306,0.0667743159187,0.066678655793,0.0665829950544,0.0664873337038,0.066391671742,0.06629600917,0.0662003459886,0.0661046821988,0.0660090178013,0.065913352797,0.0658176871869,0.0657220209718,0.0656263541526,0.0655306867302,0.0654350187054,0.0653393500792,0.0652436808524,0.0651480110259,0.0650523406005,0.0649566695772,0.0648609979569,0.0647653257403,0.0646696529285,0.0645739795222,0.0644783055224,0.0643826309299,0.0642869557456,0.0641912799704,0.0640956036051,0.0639999266507,0.063904249108,0.063808570978,0.0637128922614,0.0636172129592,0.0635215330722,0.0634258526014,0.0633301715475,0.0632344899116,0.0631388076944,0.0630431248968,0.0629474415198,0.0628517575642,0.0627560730308,0.0626603879206,0.0625647022345,0.0624690159732,0.0623733291378,0.062277641729,0.0621819537478,0.0620862651951,0.0619905760716,0.0618948863784,0.0617991961162,0.061703505286,0.0616078138886,0.0615121219249,0.0614164293958,0.0613207363022,0.061225042645,0.0611293484249,0.061033653643,0.0609379583001,0.0608422623971,0.0607465659348,0.0606508689141,0.0605551713359,0.0604594732012,0.0603637745107,0.0602680752653,0.060172375466,0.0600766751136,0.059980974209,0.059885272753,0.0597895707466,0.0596938681907,0.059598165086,0.0595024614335,0.0594067572341,0.0593110524886,0.059215347198,0.059119641363,0.0590239349847,0.0589282280638,0.0588325206012,0.0587368125979,0.0586411040547,0.0585453949724,0.0584496853521,0.0583539751944,0.0582582645004,0.0581625532709,0.0580668415068,0.0579711292089,0.0578754163782,0.0577797030155,0.0576839891217,0.0575882746977,0.0574925597444,0.0573968442626,0.0573011282532,0.0572054117171,0.0571096946552,0.0570139770683,0.0569182589574,0.0568225403233,0.0567268211669,0.0566311014891,0.0565353812907,0.0564396605727,0.0563439393359,0.0562482175812,0.0561524953095,0.0560567725216,0.0559610492185,0.055865325401,0.05576960107,0.0556738762264,0.055578150871,0.0554824250048,0.0553866986286,0.0552909717432,0.0551952443497,0.0550995164488,0.0550037880415,0.0549080591285,0.0548123297109,0.0547165997894,0.054620869365,0.0545251384386,0.0544294070109,0.054333675083,0.0542379426556,0.0541422097297,0.0540464763061,0.0539507423857,0.0538550079695,0.0537592730582,0.0536635376527,0.053567801754,0.0534720653629,0.0533763284804,0.0532805911071,0.0531848532442,0.0530891148924,0.0529933760526,0.0528976367257,0.0528018969125,0.0527061566141,0.0526104158311,0.0525146745646,0.0524189328154,0.0523231905843,0.0522274478723,0.0521317046803,0.052035961009,0.0519402168595,0.0518444722325,0.051748727129,0.0516529815499,0.0515572354959,0.051461488968,0.0513657419672,0.0512699944941,0.0511742465499,0.0510784981352,0.050982749251,0.0508869998982,0.0507912500777,0.0506954997903,0.0505997490369,0.0505039978184,0.0504082461357,0.0503124939897,0.0502167413812,0.0501209883111,0.0500252347803,0.0499294807897,0.0498337263401,0.0497379714325,0.0496422160677,0.0495464602466,0.0494507039701,0.049354947239,0.0492591900543,0.0491634324168,0.0490676743274,0.048971915787,0.0488761567964,0.0487803973566,0.0486846374684,0.0485888771327,0.0484931163504,0.0483973551224,0.0483015934495,0.0482058313326,0.0481100687726,0.0480143057704,0.0479185423269,0.0478227784429,0.0477270141193,0.047631249357,0.047535484157,0.0474397185199,0.0473439524469,0.0472481859386,0.0471524189961,0.0470566516201,0.0469608838116,0.0468651155715,0.0467693469005,0.0466735777997,0.0465778082699,0.0464820383119,0.0463862679267,0.0462904971151,0.046194725878,0.0460989542163,0.0460031821309,0.0459074096226,0.0458116366924,0.045715863341,0.0456200895695,0.0455243153786,0.0454285407693,0.0453327657424,0.0452369902988,0.0451412144394,0.0450454381651,0.0449496614767,0.0448538843752,0.0447581068613,0.0446623289361,0.0445665506003,0.0444707718549,0.0443749927008,0.0442792131387,0.0441834331696,0.0440876527945,0.043991872014,0.0438960908292,0.0438003092409,0.0437045272501,0.0436087448575,0.043512962064,0.0434171788706,0.0433213952781,0.0432256112874,0.0431298268994,0.043034042115,0.0429382569349,0.0428424713602,0.0427466853918,0.0426508990304,0.0425551122769,0.0424593251323,0.0423635375974,0.0422677496731,0.0421719613603,0.0420761726599,0.0419803835727,0.0418845940997,0.0417888042416,0.0416930139995,0.0415972233741,0.0415014323663,0.0414056409771,0.0413098492073,0.0412140570577,0.0411182645294,0.0410224716231,0.0409266783397,0.0408308846801,0.0407350906452,0.0406392962359,0.0405435014531,0.0404477062976,0.0403519107703,0.040256114872,0.0401603186038,0.0400645219664,0.0399687249608,0.0398729275877,0.0397771298482,0.039681331743,0.0395855332731,0.0394897344394,0.0393939352426,0.0392981356838,0.0392023357637,0.0391065354833,0.0390107348435,0.038914933845,0.0388191324889,0.0387233307759,0.038627528707,0.0385317262831,0.038435923505,0.0383401203736,0.0382443168897,0.0381485130544,0.0380527088683,0.0379569043325,0.0378610994479,0.0377652942152,0.0376694886353,0.0375736827093,0.0374778764378,0.0373820698219,0.0372862628624,0.0371904555601,0.037094647916,0.0369988399309,0.0369030316057,0.0368072229414,0.0367114139387,0.0366156045985,0.0365197949218,0.0364239849094,0.0363281745623,0.0362323638812,0.036136552867,0.0360407415207,0.0359449298431,0.0358491178351,0.0357533054976,0.0356574928315,0.0355616798376,0.0354658665169,0.0353700528701,0.0352742388982,0.0351784246021,0.0350826099826,0.0349867950407,0.0348909797772,0.034795164193,0.0346993482889,0.0346035320659,0.0345077155248,0.0344118986665,0.034316081492,0.034220264002,0.0341244461974,0.0340286280792,0.0339328096482,0.0338369909053,0.0337411718514,0.0336453524873,0.033549532814,0.0334537128323,0.0333578925431,0.0332620719473,0.0331662510457,0.0330704298393,0.0329746083289,0.0328787865154,0.0327829643997,0.0326871419827,0.0325913192652,0.0324954962481,0.0323996729324,0.0323038493188,0.0322080254083,0.0321122012018,0.0320163767,0.031920551904,0.0318247268146,0.0317289014327,0.0316330757591,0.0315372497948,0.0314414235406,0.0313455969973,0.031249770166,0.0311539430474,0.0310581156424,0.030962287952,0.030866459977,0.0307706317182,0.0306748031766,0.0305789743531,0.0304831452485,0.0303873158637,0.0302914861995,0.030195656257,0.0300998260369,0.0300039955401,0.0299081647675,0.02981233372,0.0297165023985,0.0296206708039,0.0295248389369,0.0294290067986,0.0293331743898,0.0292373417114,0.0291415087642,0.0290456755491,0.0289498420671,0.028854008319,0.0287581743056,0.028662340028,0.0285665054868,0.0284706706831,0.0283748356177,0.0282790002914,0.0281831647053,0.02808732886,0.0279914927567,0.027895656396,0.0277998197789,0.0277039829062,0.027608145779,0.0275123083979,0.027416470764,0.0273206328781,0.027224794741,0.0271289563537,0.027033117717,0.0269372788319,0.0268414396991,0.0267456003196,0.0266497606943,0.026553920824,0.0264580807097,0.0263622403521,0.0262663997523,0.026170558911,0.0260747178291,0.0259788765076,0.0258830349473,0.025787193149,0.0256913511138,0.0255955088423,0.0254996663357,0.0254038235946,0.02530798062,0.0252121374128,0.0251162939739,0.0250204503041,0.0249246064043,0.0248287622754,0.0247329179183,0.0246370733338,0.0245412285229,0.0244453834864,0.0243495382252,0.0242536927402,0.0241578470323,0.0240620011023,0.0239661549511,0.0238703085797,0.0237744619888,0.0236786151794,0.0235827681524,0.0234869209086,0.0233910734489,0.0232952257742,0.0231993778853,0.0231035297833,0.0230076814688,0.0229118329429,0.0228159842064,0.0227201352602,0.0226242861051,0.0225284367421,0.0224325871719,0.0223367373956,0.022240887414,0.022145037228,0.0220491868384,0.0219533362461,0.021857485452,0.021761634457,0.021665783262,0.0215699318679,0.0214740802755,0.0213782284857,0.0212823764994,0.0211865243174,0.0210906719408,0.0209948193702,0.0208989666067,0.0208031136511,0.0207072605043,0.0206114071671,0.0205155536405,0.0204196999253,0.0203238460224,0.0202279919327,0.0201321376571,0.0200362831964,0.0199404285515,0.0198445737234,0.0197487187128,0.0196528635207,0.019557008148,0.0194611525955,0.0193652968642,0.0192694409548,0.0191735848683,0.0190777286056,0.0189818721675,0.0188860155549,0.0187901587688,0.0186943018099,0.0185984446792,0.0185025873775,0.0184067299058,0.0183108722649,0.0182150144556,0.018119156479,0.0180232983358,0.0179274400269,0.0178315815532,0.0177357229157,0.0176398641151,0.0175440051524,0.0174481460284,0.017352286744,0.0172564273001,0.0171605676976,0.0170647079374,0.0169688480203,0.0168729879473,0.0167771277191,0.0166812673368,0.0165854068011,0.016489546113,0.0163936852733,0.0162978242829,0.0162019631427,0.0161061018535,0.0160102404164,0.015914378832,0.0158185171014,0.0157226552254,0.0156267932049,0.0155309310407,0.0154350687338,0.015339206285,0.0152433436952,0.0151474809653,0.0150516180961,0.0149557550886,0.0148598919437,0.0147640286621,0.0146681652449,0.0145723016928,0.0144764380067,0.0143805741876,0.0142847102364,0.0141888461538,0.0140929819408,0.0139971175982,0.013901253127,0.0138053885281,0.0137095238022,0.0136136589503,0.0135177939733,0.013421928872,0.0133260636473,0.0132301983002,0.0131343328315,0.013038467242,0.0129426015327,0.0128467357044,0.012750869758,0.0126550036944,0.0125591375145,0.0124632712192,0.0123674048093,0.0122715382857,0.0121756716493,0.0120798049011,0.0119839380417,0.0118880710723,0.0117922039935,0.0116963368064,0.0116004695117,0.0115046021104,0.0114087346034,0.0113128669915,0.0112169992756,0.0111211314566,0.0110252635354,0.0109293955129,0.0108335273899,0.0107376591673,0.010641790846,0.0105459224269,0.0104500539108,0.0103541852987,0.0102583165915,0.0101624477899,0.0100665788949,0.00997070990742,0.00987484082827,0.00977897165835,0.00968310239854,0.00958723304973,0.00949136361279,0.00939549408862,0.00929962447808,0.00920375478206,0.00910788500144,0.00901201513711,0.00891614518993,0.00882027516081,0.00872440505061,0.00862853486021,0.00853266459051,0.00843679424237,0.00834092381668,0.00824505331433,0.00814918273619,0.00805331208315,0.00795744135607,0.00786157055586,0.00776569968339,0.00766982873953,0.00757395772518,0.0074780866412,0.00738221548849,0.00728634426793,0.00719047298039,0.00709460162675,0.00699873020791,0.00690285872473,0.0068069871781,0.00671111556891,0.00661524389803,0.00651937216634,0.00642350037473,0.00632762852407,0.00623175661525,0.00613588464915,0.00604001262666,0.00594414054864,0.00584826841598,0.00575239622957,0.00565652399029,0.00556065169901,0.00546477935662,0.005368906964,0.00527303452202,0.00517716203158,0.00508128949356,0.00498541690882,0.00488954427826,0.00479367160276,0.00469779888319,0.00460192612045,0.0045060533154,0.00441018046894,0.00431430758194,0.00421843465528,0.00412256168984,0.00402668868652,0.00393081564618,0.00383494256971,0.00373906945799,0.0036431963119,0.00354732313232,0.00345144992014,0.00335557667623,0.00325970340148,0.00316383009676,0.00306795676297,0.00297208340097,0.00287621001166,0.0027803365959,0.0026844631546,0.00258858968861,0.00249271619884,0.00239684268615,0.00230096915143,0.00220509559556,0.00210922201942,0.00201334842389,0.00191747480986,0.0018216011782,0.0017257275298,0.00162985386553,0.00153398018629,0.00143810649294,0.00134223278637,0.00124635906747,0.00115048533711,0.00105461159618,0.000958737845554,0.000862864086114,0.000766990318743,0.000671116544322,0.000575242763732,0.000479368977855,0.000383495187571,0.000287621393763,0.000191747597311,9.58737990959e-05,1.22464679915e-16,-9.58737990957e-05,-0.000191747597311,-0.000287621393763,-0.000383495187571,-0.000479368977855,-0.000575242763732,-0.000671116544321,-0.000766990318743,-0.000862864086113,-0.000958737845553,-0.00105461159618,-0.00115048533711,-0.00124635906747,-0.00134223278637,-0.00143810649294,-0.00153398018628,-0.00162985386553,-0.00172572752979,-0.0018216011782,-0.00191747480986,-0.00201334842389,-0.00210922201942,-0.00220509559555,-0.00230096915143,-0.00239684268615,-0.00249271619884,-0.00258858968861,-0.0026844631546,-0.0027803365959,-0.00287621001166,-0.00297208340097,-0.00306795676297,-0.00316383009676,-0.00325970340148,-0.00335557667623,-0.00345144992014,-0.00354732313232,-0.0036431963119,-0.00373906945799,-0.00383494256971,-0.00393081564618,-0.00402668868652,-0.00412256168984,-0.00421843465528,-0.00431430758194,-0.00441018046894,-0.0045060533154,-0.00460192612045,-0.00469779888319,-0.00479367160276,-0.00488954427826,-0.00498541690882,-0.00508128949356,-0.00517716203158,-0.00527303452202,-0.005368906964,-0.00546477935662,-0.00556065169901,-0.00565652399029,-0.00575239622957,-0.00584826841598,-0.00594414054864,-0.00604001262666,-0.00613588464915,-0.00623175661525,-0.00632762852407,-0.00642350037473,-0.00651937216634,-0.00661524389803,-0.00671111556891,-0.0068069871781,-0.00690285872473,-0.00699873020791,-0.00709460162675,-0.00719047298039,-0.00728634426793,-0.00738221548849,-0.0074780866412,-0.00757395772518,-0.00766982873953,-0.00776569968339,-0.00786157055586,-0.00795744135607,-0.00805331208315,-0.00814918273619,-0.00824505331433,-0.00834092381668,-0.00843679424237,-0.00853266459051,-0.00862853486021,-0.00872440505061,-0.00882027516081,-0.00891614518993,-0.00901201513711,-0.00910788500144,-0.00920375478206,-0.00929962447808,-0.00939549408862,-0.00949136361279,-0.00958723304973,-0.00968310239854,-0.00977897165835,-0.00987484082827,-0.00997070990742,-0.0100665788949,-0.0101624477899,-0.0102583165915,-0.0103541852987,-0.0104500539108,-0.0105459224269,-0.010641790846,-0.0107376591673,-0.0108335273899,-0.0109293955129,-0.0110252635354,-0.0111211314566,-0.0112169992756,-0.0113128669915,-0.0114087346034,-0.0115046021104,-0.0116004695117,-0.0116963368064,-0.0117922039935,-0.0118880710723,-0.0119839380417,-0.0120798049011,-0.0121756716493,-0.0122715382857,-0.0123674048093,-0.0124632712192,-0.0125591375145,-0.0126550036944,-0.012750869758,-0.0128467357044,-0.0129426015327,-0.013038467242,-0.0131343328315,-0.0132301983002,-0.0133260636473,-0.013421928872,-0.0135177939733,-0.0136136589503,-0.0137095238022,-0.0138053885281,-0.013901253127,-0.0139971175982,-0.0140929819408,-0.0141888461538,-0.0142847102364,-0.0143805741876,-0.0144764380067,-0.0145723016928,-0.0146681652449,-0.0147640286621,-0.0148598919437,-0.0149557550886,-0.0150516180961,-0.0151474809653,-0.0152433436952,-0.015339206285,-0.0154350687338,-0.0155309310407,-0.0156267932049,-0.0157226552254,-0.0158185171014,-0.015914378832,-0.0160102404164,-0.0161061018535,-0.0162019631427,-0.0162978242829,-0.0163936852733,-0.016489546113,-0.0165854068011,-0.0166812673368,-0.0167771277191,-0.0168729879473,-0.0169688480203,-0.0170647079374,-0.0171605676976,-0.0172564273001,-0.017352286744,-0.0174481460284,-0.0175440051524,-0.0176398641151,-0.0177357229157,-0.0178315815532,-0.0179274400269,-0.0180232983358,-0.018119156479,-0.0182150144556,-0.0183108722649,-0.0184067299058,-0.0185025873775,-0.0185984446792,-0.0186943018099,-0.0187901587688,-0.0188860155549,-0.0189818721675,-0.0190777286056,-0.0191735848683,-0.0192694409548,-0.0193652968642,-0.0194611525955,-0.019557008148,-0.0196528635207,-0.0197487187128,-0.0198445737234,-0.0199404285515,-0.0200362831964,-0.0201321376571,-0.0202279919327,-0.0203238460224,-0.0204196999253,-0.0205155536405,-0.0206114071671,-0.0207072605043,-0.0208031136511,-0.0208989666067,-0.0209948193702,-0.0210906719408,-0.0211865243174,-0.0212823764994,-0.0213782284857,-0.0214740802755,-0.0215699318679,-0.021665783262,-0.021761634457,-0.021857485452,-0.0219533362461,-0.0220491868384,-0.022145037228,-0.022240887414,-0.0223367373956,-0.0224325871719,-0.0225284367421,-0.0226242861051,-0.0227201352602,-0.0228159842064,-0.0229118329429,-0.0230076814688,-0.0231035297833,-0.0231993778853,-0.0232952257742,-0.0233910734489,-0.0234869209086,-0.0235827681524,-0.0236786151794,-0.0237744619888,-0.0238703085797,-0.0239661549511,-0.0240620011023,-0.0241578470323,-0.0242536927402,-0.0243495382252,-0.0244453834864,-0.0245412285229,-0.0246370733338,-0.0247329179183,-0.0248287622754,-0.0249246064043,-0.0250204503041,-0.0251162939739,-0.0252121374128,-0.02530798062,-0.0254038235946,-0.0254996663357,-0.0255955088423,-0.0256913511138,-0.025787193149,-0.0258830349473,-0.0259788765076,-0.0260747178291,-0.026170558911,-0.0262663997523,-0.0263622403521,-0.0264580807097,-0.026553920824,-0.0266497606943,-0.0267456003196,-0.0268414396991,-0.0269372788319,-0.027033117717,-0.0271289563537,-0.027224794741,-0.0273206328781,-0.027416470764,-0.0275123083979,-0.027608145779,-0.0277039829062,-0.0277998197789,-0.027895656396,-0.0279914927567,-0.02808732886,-0.0281831647053,-0.0282790002914,-0.0283748356177,-0.0284706706831,-0.0285665054868,-0.028662340028,-0.0287581743056,-0.028854008319,-0.0289498420671,-0.0290456755491,-0.0291415087642,-0.0292373417114,-0.0293331743898,-0.0294290067986,-0.0295248389369,-0.0296206708039,-0.0297165023985,-0.02981233372,-0.0299081647675,-0.0300039955401,-0.0300998260369,-0.030195656257,-0.0302914861995,-0.0303873158637,-0.0304831452485,-0.0305789743531,-0.0306748031766,-0.0307706317182,-0.030866459977,-0.030962287952,-0.0310581156424,-0.0311539430474,-0.031249770166,-0.0313455969973,-0.0314414235406,-0.0315372497948,-0.0316330757591,-0.0317289014327,-0.0318247268146,-0.031920551904,-0.0320163767,-0.0321122012018,-0.0322080254083,-0.0323038493188,-0.0323996729324,-0.0324954962481,-0.0325913192652,-0.0326871419827,-0.0327829643997,-0.0328787865154,-0.0329746083289,-0.0330704298393,-0.0331662510457,-0.0332620719473,-0.0333578925431,-0.0334537128323,-0.033549532814,-0.0336453524873,-0.0337411718514,-0.0338369909053,-0.0339328096482,-0.0340286280792,-0.0341244461974,-0.034220264002,-0.034316081492,-0.0344118986665,-0.0345077155248,-0.0346035320659,-0.0346993482889,-0.034795164193,-0.0348909797772,-0.0349867950407,-0.0350826099826,-0.0351784246021,-0.0352742388982,-0.0353700528701,-0.0354658665169,-0.0355616798376,-0.0356574928315,-0.0357533054976,-0.0358491178351,-0.0359449298431,-0.0360407415207,-0.036136552867,-0.0362323638812,-0.0363281745623,-0.0364239849094,-0.0365197949218,-0.0366156045985,-0.0367114139387,-0.0368072229414,-0.0369030316057,-0.0369988399309,-0.037094647916,-0.0371904555601,-0.0372862628624,-0.0373820698219,-0.0374778764378,-0.0375736827093,-0.0376694886353,-0.0377652942152,-0.0378610994479,-0.0379569043325,-0.0380527088683,-0.0381485130544,-0.0382443168897,-0.0383401203736,-0.038435923505,-0.0385317262831,-0.038627528707,-0.0387233307759,-0.0388191324889,-0.038914933845,-0.0390107348435,-0.0391065354833,-0.0392023357637,-0.0392981356838,-0.0393939352426,-0.0394897344394,-0.0395855332731,-0.039681331743,-0.0397771298482,-0.0398729275877,-0.0399687249608,-0.0400645219664,-0.0401603186038,-0.040256114872,-0.0403519107703,-0.0404477062976,-0.0405435014531,-0.0406392962359,-0.0407350906452,-0.0408308846801,-0.0409266783397,-0.0410224716231,-0.0411182645294,-0.0412140570577,-0.0413098492073,-0.0414056409771,-0.0415014323663,-0.0415972233741,-0.0416930139995,-0.0417888042416,-0.0418845940997,-0.0419803835727,-0.0420761726599,-0.0421719613603,-0.0422677496731,-0.0423635375974,-0.0424593251323,-0.0425551122769,-0.0426508990304,-0.0427466853918,-0.0428424713602,-0.0429382569349,-0.043034042115,-0.0431298268994,-0.0432256112874,-0.0433213952781,-0.0434171788706,-0.043512962064,-0.0436087448575,-0.0437045272501,-0.0438003092409,-0.0438960908292,-0.043991872014,-0.0440876527945,-0.0441834331696,-0.0442792131387,-0.0443749927008,-0.0444707718549,-0.0445665506003,-0.0446623289361,-0.0447581068613,-0.0448538843752,-0.0449496614767,-0.0450454381651,-0.0451412144394,-0.0452369902988,-0.0453327657424,-0.0454285407693,-0.0455243153786,-0.0456200895695,-0.045715863341,-0.0458116366924,-0.0459074096226,-0.0460031821309,-0.0460989542163,-0.046194725878,-0.0462904971151,-0.0463862679267,-0.0464820383119,-0.0465778082699,-0.0466735777997,-0.0467693469005,-0.0468651155715,-0.0469608838116,-0.0470566516201,-0.0471524189961,-0.0472481859386,-0.0473439524469,-0.0474397185199,-0.047535484157,-0.047631249357,-0.0477270141193,-0.0478227784429,-0.0479185423269,-0.0480143057704,-0.0481100687726,-0.0482058313326,-0.0483015934495,-0.0483973551224,-0.0484931163504,-0.0485888771327,-0.0486846374684,-0.0487803973566,-0.0488761567964,-0.048971915787,-0.0490676743274,-0.0491634324168,-0.0492591900543,-0.049354947239,-0.0494507039701,-0.0495464602466,-0.0496422160677,-0.0497379714325,-0.0498337263401,-0.0499294807897,-0.0500252347803,-0.0501209883111,-0.0502167413812,-0.0503124939897,-0.0504082461357,-0.0505039978184,-0.0505997490369,-0.0506954997903,-0.0507912500777,-0.0508869998982,-0.050982749251,-0.0510784981352,-0.0511742465499,-0.0512699944941,-0.0513657419672,-0.051461488968,-0.0515572354959,-0.0516529815499,-0.051748727129,-0.0518444722325,-0.0519402168595,-0.052035961009,-0.0521317046803,-0.0522274478723,-0.0523231905843,-0.0524189328154,-0.0525146745646,-0.0526104158311,-0.0527061566141,-0.0528018969125,-0.0528976367257,-0.0529933760526,-0.0530891148924,-0.0531848532442,-0.0532805911071,-0.0533763284804,-0.0534720653629,-0.053567801754,-0.0536635376527,-0.0537592730582,-0.0538550079695,-0.0539507423857,-0.0540464763061,-0.0541422097297,-0.0542379426556,-0.054333675083,-0.0544294070109,-0.0545251384386,-0.054620869365,-0.0547165997894,-0.0548123297109,-0.0549080591285,-0.0550037880415,-0.0550995164488,-0.0551952443497,-0.0552909717432,-0.0553866986286,-0.0554824250048,-0.055578150871,-0.0556738762264,-0.05576960107,-0.055865325401,-0.0559610492185,-0.0560567725216,-0.0561524953095,-0.0562482175812,-0.0563439393359,-0.0564396605727,-0.0565353812907,-0.0566311014891,-0.0567268211669,-0.0568225403233,-0.0569182589574,-0.0570139770683,-0.0571096946552,-0.0572054117171,-0.0573011282532,-0.0573968442626,-0.0574925597444,-0.0575882746977,-0.0576839891217,-0.0577797030155,-0.0578754163782,-0.0579711292089,-0.0580668415068,-0.0581625532709,-0.0582582645004,-0.0583539751944,-0.0584496853521,-0.0585453949724,-0.0586411040547,-0.0587368125979,-0.0588325206012,-0.0589282280638,-0.0590239349847,-0.059119641363,-0.059215347198,-0.0593110524886,-0.0594067572341,-0.0595024614335,-0.059598165086,-0.0596938681907,-0.0597895707466,-0.059885272753,-0.059980974209,-0.0600766751136,-0.060172375466,-0.0602680752653,-0.0603637745107,-0.0604594732012,-0.0605551713359,-0.0606508689141,-0.0607465659348,-0.0608422623971,-0.0609379583001,-0.061033653643,-0.0611293484249,-0.061225042645,-0.0613207363022,-0.0614164293958,-0.0615121219249,-0.0616078138886,-0.061703505286,-0.0617991961162,-0.0618948863784,-0.0619905760716,-0.0620862651951,-0.0621819537478,-0.062277641729,-0.0623733291378,-0.0624690159732,-0.0625647022345,-0.0626603879206,-0.0627560730308,-0.0628517575642,-0.0629474415198,-0.0630431248968,-0.0631388076944,-0.0632344899116,-0.0633301715475,-0.0634258526014,-0.0635215330722,-0.0636172129592,-0.0637128922614,-0.063808570978,-0.063904249108,-0.0639999266507,-0.0640956036051,-0.0641912799704,-0.0642869557456,-0.0643826309299,-0.0644783055224,-0.0645739795222,-0.0646696529285,-0.0647653257403,-0.0648609979569,-0.0649566695772,-0.0650523406005,-0.0651480110259,-0.0652436808524,-0.0653393500792,-0.0654350187054,-0.0655306867302,-0.0656263541526,-0.0657220209718,-0.0658176871869,-0.065913352797,-0.0660090178013,-0.0661046821988,-0.0662003459886,-0.06629600917,-0.066391671742,-0.0664873337038,-0.0665829950544,-0.066678655793,-0.0667743159187,-0.0668699754306,-0.0669656343279,-0.0670612926096,-0.067156950275,-0.067252607323,-0.0673482637529,-0.0674439195637,-0.0675395747545,-0.0676352293246,-0.067730883273,-0.0678265365988,-0.0679221893012,-0.0680178413792,-0.0681134928321,-0.0682091436588,-0.0683047938586,-0.0684004434305,-0.0684960923738,-0.0685917406874,-0.0686873883705,-0.0687830354223,-0.0688786818418,-0.0689743276283,-0.0690699727807,-0.0691656172982,-0.06926126118,-0.0693569044252,-0.0694525470328,-0.0695481890021,-0.0696438303321,-0.0697394710219,-0.0698351110707,-0.0699307504776,-0.0700263892417,-0.0701220273621,-0.070217664838,-0.0703133016685,-0.0704089378526,-0.0705045733896,-0.0706002082785,-0.0706958425185,-0.0707914761086,-0.0708871090481,-0.070982741336,-0.0710783729714,-0.0711740039534,-0.0712696342813,-0.0713652639541,-0.0714608929708,-0.0715565213308,-0.071652149033,-0.0717477760766,-0.0718434024607,-0.0719390281844,-0.0720346532469,-0.0721302776472,-0.0722259013846,-0.0723215244581,-0.0724171468668,-0.0725127686098,-0.0726083896864,-0.0727040100955,-0.0727996298364,-0.072895248908,-0.0729908673097,-0.0730864850405,-0.0731821020994,-0.0732777184857,-0.0733733341984,-0.0734689492367,-0.0735645635997,-0.0736601772865,-0.0737557902962,-0.073851402628,-0.0739470142809,-0.0740426252541,-0.0741382355468,-0.074233845158,-0.0743294540868,-0.0744250623325,-0.074520669894,-0.0746162767706,-0.0747118829613,-0.0748074884652,-0.0749030932816,-0.0749986974094,-0.0750943008479,-0.0751899035962,-0.0752855056533,-0.0753811070184,-0.0754767076906,-0.075572307669,-0.0756679069528,-0.0757635055411,-0.075859103433,-0.0759547006275,-0.076050297124,-0.0761458929214,-0.0762414880189,-0.0763370824155,-0.0764326761105,-0.076528269103,-0.076623861392,-0.0767194529767,-0.0768150438563,-0.0769106340297,-0.0770062234962,-0.0771018122549,-0.0771974003049,-0.0772929876453,-0.0773885742753,-0.0774841601939,-0.0775797454003,-0.0776753298935,-0.0777709136729,-0.0778664967373,-0.077962079086,-0.0780576607182,-0.0781532416328,-0.0782488218291,-0.0783444013061,-0.078439980063,-0.0785355580988,-0.0786311354128,-0.0787267120041,-0.0788222878717,-0.0789178630148,-0.0790134374325,-0.0791090111239,-0.0792045840882,-0.0793001563244,-0.0793957278317,-0.0794912986092,-0.0795868686561,-0.0796824379714,-0.0797780065543,-0.0798735744039,-0.0799691415193,-0.0800647078997,-0.0801602735441,-0.0802558384517,-0.0803514026216,-0.0804469660529,-0.0805425287448,-0.0806380906964,-0.0807336519067,-0.080829212375,-0.0809247721003,-0.0810203310817,-0.0811158893185,-0.0812114468096,-0.0813070035542,-0.0814025595515,-0.0814981148006,-0.0815936693005,-0.0816892230505,-0.0817847760496,-0.0818803282969,-0.0819758797916,-0.0820714305328,-0.0821669805197,-0.0822625297512,-0.0823580782266,-0.0824536259451,-0.0825491729056,-0.0826447191073,-0.0827402645494,-0.0828358092309,-0.0829313531511,-0.0830268963089,-0.0831224387036,-0.0832179803343,-0.0833135212,-0.0834090612999,-0.0835046006332,-0.0836001391988,-0.0836956769961,-0.083791214024,-0.0838867502818,-0.0839822857685,-0.0840778204832,-0.0841733544251,-0.0842688875933,-0.0843644199869,-0.0844599516051,-0.0845554824469,-0.0846510125116,-0.0847465417981,-0.0848420703056,-0.0849375980333,-0.0850331249803,-0.0851286511456,-0.0852241765285,-0.085319701128,-0.0854152249433,-0.0855107479735,-0.0856062702176,-0.0857017916749,-0.0857973123444,-0.0858928322253,-0.0859883513167,-0.0860838696177,-0.0861793871275,-0.0862749038451,-0.0863704197697,-0.0864659349003,-0.0865614492363,-0.0866569627765,-0.0867524755202,-0.0868479874665,-0.0869434986145,-0.0870390089634,-0.0871345185122,-0.0872300272601,-0.0873255352062,-0.0874210423496,-0.0875165486895,-0.0876120542249,-0.087707558955,-0.0878030628789,-0.0878985659958,-0.0879940683047,-0.0880895698048,-0.0881850704952,-0.088280570375,-0.0883760694433,-0.0884715676993,-0.0885670651421,-0.0886625617709,-0.0887580575846,-0.0888535525825,-0.0889490467637,-0.0890445401273,-0.0891400326724,-0.0892355243981,-0.0893310153037,-0.0894265053881,-0.0895219946505,-0.08961748309,-0.0897129707058,-0.089808457497,-0.0899039434627,-0.089999428602,-0.090094912914,-0.0901903963979,-0.0902858790529,-0.0903813608779,-0.0904768418721,-0.0905723220347,-0.0906678013648,-0.0907632798615,-0.0908587575239,-0.0909542343511,-0.0910497103424,-0.0911451854967,-0.0912406598132,-0.0913361332911,-0.0914316059294,-0.0915270777273,-0.0916225486839,-0.0917180187983,-0.0918134880697,-0.0919089564971,-0.0920044240798,-0.0920998908167,-0.0921953567071,-0.0922908217501,-0.0923862859447,-0.0924817492901,-0.0925772117855,-0.0926726734299,-0.0927681342225,-0.0928635941624,-0.0929590532487,-0.0930545114805,-0.093149968857,-0.0932454253773,-0.0933408810405,-0.0934363358457,-0.0935317897921,-0.0936272428788,-0.0937226951048,-0.0938181464694,-0.0939135969716,-0.0940090466106,-0.0941044953855,-0.0941999432954,-0.0942953903394,-0.0943908365167,-0.0944862818264,-0.0945817262675,-0.0946771698393,-0.0947726125408,-0.0948680543712,-0.0949634953296,-0.0950589354152,-0.0951543746269,-0.095249812964,-0.0953452504256,-0.0954406870108,-0.0955361227188,-0.0956315575485,-0.0957269914993,-0.0958224245702,-0.0959178567602,-0.0960132880687,-0.0961087184946,-0.096204148037,-0.0962995766952,-0.0963950044683,-0.0964904313553,-0.0965858573553,-0.0966812824676,-0.0967767066912,-0.0968721300252,-0.0969675524688,-0.0970629740212,-0.0971583946813,-0.0972538144484,-0.0973492333215,-0.0974446512998,-0.0975400683825,-0.0976354845685,-0.0977308998571,-0.0978263142474,-0.0979217277385,-0.0980171403296,-0.0981125520196,-0.0982079628079,-0.0983033726934,-0.0983987816754,-0.0984941897529,-0.098589596925,-0.098685003191,-0.0987804085498,-0.0988758130007,-0.0989712165427,-0.099066619175,-0.0991620208967,-0.099257421707,-0.0993528216049,-0.0994482205895,-0.0995436186601,-0.0996390158156,-0.0997344120553,-0.0998298073783,-0.0999252017837,-0.100020595271,-0.100115987838,-0.100211379485,-0.100306770211,-0.100402160016,-0.100497548897,-0.100592936854,-0.100688323887,-0.100783709995,-0.100879095176,-0.100974479429,-0.101069862755,-0.101165245151,-0.101260626618,-0.101356007154,-0.101451386758,-0.10154676543,-0.101642143168,-0.101737519973,-0.101832895841,-0.101928270774,-0.10202364477,-0.102119017829,-0.102214389948,-0.102309761128,-0.102405131368,-0.102500500666,-0.102595869022,-0.102691236436,-0.102786602905,-0.102881968429,-0.102977333008,-0.10307269664,-0.103168059325,-0.103263421062,-0.103358781849,-0.103454141686,-0.103549500573,-0.103644858507,-0.103740215489,-0.103835571517,-0.103930926591,-0.10402628071,-0.104121633872,-0.104216986077,-0.104312337325,-0.104407687613,-0.104503036942,-0.10459838531,-0.104693732717,-0.104789079162,-0.104884424643,-0.10497976916,-0.105075112713,-0.105170455299,-0.105265796919,-0.105361137571,-0.105456477255,-0.105551815969,-0.105647153713,-0.105742490487,-0.105837826288,-0.105933161116,-0.106028494971,-0.106123827851,-0.106219159755,-0.106314490683,-0.106409820634,-0.106505149607,-0.106600477601,-0.106695804615,-0.106791130648,-0.1068864557,-0.106981779769,-0.107077102855,-0.107172424957,-0.107267746073,-0.107363066204,-0.107458385348,-0.107553703504,-0.107649020671,-0.107744336849,-0.107839652036,-0.107934966233,-0.108030279437,-0.108125591648,-0.108220902865,-0.108316213088,-0.108411522315,-0.108506830545,-0.108602137778,-0.108697444013,-0.108792749249,-0.108888053485,-0.108983356719,-0.109078658952,-0.109173960183,-0.10926926041,-0.109364559632,-0.10945985785,-0.109555155061,-0.109650451265,-0.109745746461,-0.109841040649,-0.109936333827,-0.110031625994,-0.11012691715,-0.110222207294,-0.110317496424,-0.110412784541,-0.110508071643,-0.110603357729,-0.110698642798,-0.11079392685,-0.110889209883,-0.110984491897,-0.111079772891,-0.111175052864,-0.111270331815,-0.111365609743,-0.111460886648,-0.111556162528,-0.111651437383,-0.111746711211,-0.111841984012,-0.111937255786,-0.11203252653,-0.112127796244,-0.112223064928,-0.112318332581,-0.112413599201,-0.112508864787,-0.11260412934,-0.112699392857,-0.112794655339,-0.112889916784,-0.112985177191,-0.113080436559,-0.113175694889,-0.113270952178,-0.113366208425,-0.113461463631,-0.113556717794,-0.113651970913,-0.113747222987,-0.113842474016,-0.113937723998,-0.114032972933,-0.11412822082,-0.114223467658,-0.114318713446,-0.114413958183,-0.114509201869,-0.114604444502,-0.114699686081,-0.114794926607,-0.114890166077,-0.114985404491,-0.115080641848,-0.115175878147,-0.115271113388,-0.115366347569,-0.115461580689,-0.115556812749,-0.115652043746,-0.11574727368,-0.11584250255,-0.115937730356,-0.116032957095,-0.116128182769,-0.116223407374,-0.116318630912,-0.11641385338,-0.116509074778,-0.116604295106,-0.116699514361,-0.116794732544,-0.116889949653,-0.116985165688,-0.117080380648,-0.117175594531,-0.117270807338,-0.117366019066,-0.117461229715,-0.117556439285,-0.117651647775,-0.117746855183,-0.117842061508,-0.117937266751,-0.118032470909,-0.118127673983,-0.11822287597,-0.118318076871,-0.118413276685,-0.11850847541,-0.118603673045,-0.118698869591,-0.118794065045,-0.118889259408,-0.118984452678,-0.119079644854,-0.119174835935,-0.119270025921,-0.119365214811,-0.119460402604,-0.119555589298,-0.119650774894,-0.119745959389,-0.119841142785,-0.119936325078,-0.120031506269,-0.120126686357,-0.120221865341,-0.120317043219,-0.120412219992,-0.120507395658,-0.120602570216,-0.120697743666,-0.120792916006,-0.120888087236,-0.120983257354,-0.121078426361,-0.121173594255,-0.121268761035,-0.1213639267,-0.12145909125,-0.121554254683,-0.121649416999,-0.121744578197,-0.121839738276,-0.121934897235,-0.122030055073,-0.122125211789,-0.122220367383,-0.122315521853,-0.122410675199,-0.12250582742,-0.122600978515,-0.122696128483,-0.122791277323,-0.122886425035,-0.122981571617,-0.123076717068,-0.123171861388,-0.123267004576,-0.123362146631,-0.123457287552,-0.123552427339,-0.123647565989,-0.123742703503,-0.12383783988,-0.123932975119,-0.124028109218,-0.124123242177,-0.124218373995,-0.124313504672,-0.124408634205,-0.124503762596,-0.124598889842,-0.124694015942,-0.124789140897,-0.124884264704,-0.124979387363,-0.125074508874,-0.125169629235,-0.125264748446,-0.125359866505,-0.125454983412,-0.125550099165,-0.125645213765,-0.12574032721,-0.125835439498,-0.125930550631,-0.126025660606,-0.126120769422,-0.126215877079,-0.126310983576,-0.126406088912,-0.126501193086,-0.126596296097,-0.126691397945,-0.126786498628,-0.126881598145,-0.126976696497,-0.127071793681,-0.127166889697,-0.127261984545,-0.127357078222,-0.127452170729,-0.127547262065,-0.127642352228,-0.127737441218,-0.127832529033,-0.127927615674,-0.128022701139,-0.128117785427,-0.128212868537,-0.128307950469,-0.128403031222,-0.128498110794,-0.128593189185,-0.128688266394,-0.12878334242,-0.128878417263,-0.128973490921,-0.129068563393,-0.129163634679,-0.129258704778,-0.129353773688,-0.12944884141,-0.129543907942,-0.129638973283,-0.129734037432,-0.129829100389,-0.129924162153,-0.130019222722,-0.130114282096,-0.130209340275,-0.130304397256,-0.13039945304,-0.130494507625,-0.13058956101,-0.130684613196,-0.13077966418,-0.130874713962,-0.130969762541,-0.131064809916,-0.131159856086,-0.131254901051,-0.131349944809,-0.13144498736,-0.131540028703,-0.131635068837,-0.13173010776,-0.131825145473,-0.131920181974,-0.132015217263,-0.132110251338,-0.132205284199,-0.132300315844,-0.132395346274,-0.132490375487,-0.132585403481,-0.132680430257,-0.132775455814,-0.13287048015,-0.132965503265,-0.133060525157,-0.133155545827,-0.133250565272,-0.133345583493,-0.133440600488,-0.133535616256,-0.133630630797,-0.13372564411,-0.133820656194,-0.133915667047,-0.13401067667,-0.134105685061,-0.134200692219,-0.134295698143,-0.134390702834,-0.134485706288,-0.134580708507,-0.134675709489,-0.134770709233,-0.134865707738,-0.134960705003,-0.135055701028,-0.135150695811,-0.135245689352,-0.13534068165,-0.135435672704,-0.135530662513,-0.135625651076,-0.135720638393,-0.135815624462,-0.135910609283,-0.136005592854,-0.136100575176,-0.136195556246,-0.136290536064,-0.13638551463,-0.136480491942,-0.136575468,-0.136670442802,-0.136765416348,-0.136860388637,-0.136955359668,-0.13705032944,-0.137145297952,-0.137240265204,-0.137335231194,-0.137430195921,-0.137525159386,-0.137620121586,-0.137715082522,-0.137810042192,-0.137905000595,-0.13799995773,-0.138094913597,-0.138189868194,-0.138284821522,-0.138379773578,-0.138474724362,-0.138569673873,-0.138664622111,-0.138759569074,-0.138854514762,-0.138949459173,-0.139044402308,-0.139139344164,-0.139234284741,-0.139329224038,-0.139424162055,-0.13951909879,-0.139614034243,-0.139708968412,-0.139803901298,-0.139898832898,-0.139993763212,-0.14008869224,-0.140183619979,-0.140278546431,-0.140373471592,-0.140468395464,-0.140563318044,-0.140658239333,-0.140753159328,-0.14084807803,-0.140942995437,-0.141037911549,-0.141132826364,-0.141227739882,-0.141322652102,-0.141417563022,-0.141512472643,-0.141607380963,-0.141702287982,-0.141797193698,-0.14189209811,-0.141987001219,-0.142081903022,-0.142176803519,-0.14227170271,-0.142366600593,-0.142461497167,-0.142556392431,-0.142651286386,-0.142746179029,-0.14284107036,-0.142935960378,-0.143030849082,-0.143125736471,-0.143220622545,-0.143315507303,-0.143410390743,-0.143505272865,-0.143600153667,-0.14369503315,-0.143789911312,-0.143884788153,-0.143979663671,-0.144074537865,-0.144169410735,-0.14426428228,-0.144359152499,-0.144454021391,-0.144548888955,-0.144643755191,-0.144738620097,-0.144833483672,-0.144928345916,-0.145023206829,-0.145118066408,-0.145212924653,-0.145307781563,-0.145402637138,-0.145497491376,-0.145592344277,-0.14568719584,-0.145782046064,-0.145876894947,-0.14597174249,-0.146066588691,-0.146161433549,-0.146256277064,-0.146351119234,-0.14644596006,-0.146540799539,-0.146635637671,-0.146730474455,-0.146825309891,-0.146920143977,-0.147014976713,-0.147109808097,-0.147204638129,-0.147299466808,-0.147394294133,-0.147489120103,-0.147583944718,-0.147678767976,-0.147773589876,-0.147868410418,-0.147963229601,-0.148058047424,-0.148152863887,-0.148247678987,-0.148342492725,-0.148437305099,-0.148532116108,-0.148626925753,-0.148721734031,-0.148816540942,-0.148911346486,-0.14900615066,-0.149100953465,-0.1491957549,-0.149290554963,-0.149385353654,-0.149480150972,-0.149574946915,-0.149669741484,-0.149764534677,-0.149859326494,-0.149954116933,-0.150048905994,-0.150143693675,-0.150238479977,-0.150333264897,-0.150428048436,-0.150522830592,-0.150617611364,-0.150712390752,-0.150807168755,-0.150901945371,-0.1509967206,-0.151091494442,-0.151186266894,-0.151281037957,-0.15137580763,-0.151470575911,-0.151565342799,-0.151660108295,-0.151754872397,-0.151849635103,-0.151944396414,-0.152039156328,-0.152133914845,-0.152228671963,-0.152323427682,-0.152418182001,-0.152512934919,-0.152607686435,-0.152702436549,-0.152797185258,-0.152891932564,-0.152986678464,-0.153081422957,-0.153176166044,-0.153270907723,-0.153365647992,-0.153460386852,-0.153555124302,-0.15364986034,-0.153744594966,-0.153839328178,-0.153934059977,-0.154028790361,-0.154123519328,-0.154218246879,-0.154312973013,-0.154407697728,-0.154502421024,-0.1545971429,-0.154691863355,-0.154786582387,-0.154881299997,-0.154976016184,-0.155070730946,-0.155165444282,-0.155260156193,-0.155354866676,-0.155449575731,-0.155544283357,-0.155638989554,-0.15573369432,-0.155828397654,-0.155923099556,-0.156017800025,-0.15611249906,-0.15620719666,-0.156301892824,-0.156396587552,-0.156491280842,-0.156585972693,-0.156680663105,-0.156775352077,-0.156870039608,-0.156964725697,-0.157059410343,-0.157154093546,-0.157248775304,-0.157343455616,-0.157438134483,-0.157532811902,-0.157627487873,-0.157722162395,-0.157816835468,-0.15791150709,-0.15800617726,-0.158100845978,-0.158195513243,-0.158290179054,-0.15838484341,-0.15847950631,-0.158574167753,-0.158668827739,-0.158763486266,-0.158858143334,-0.158952798942,-0.159047453088,-0.159142105773,-0.159236756995,-0.159331406753,-0.159426055047,-0.159520701875,-0.159615347237,-0.159709991132,-0.159804633559,-0.159899274517,-0.159993914005,-0.160088552023,-0.160183188569,-0.160277823642,-0.160372457243,-0.160467089369,-0.160561720021,-0.160656349196,-0.160750976895,-0.160845603116,-0.160940227859,-0.161034851122,-0.161129472906,-0.161224093208,-0.161318712028,-0.161413329366,-0.161507945219,-0.161602559588,-0.161697172472,-0.16179178387,-0.16188639378,-0.161981002202,-0.162075609136,-0.16217021458,-0.162264818533,-0.162359420994,-0.162454021963,-0.162548621439,-0.162643219421,-0.162737815908,-0.162832410899,-0.162927004393,-0.16302159639,-0.163116186888,-0.163210775887,-0.163305363385,-0.163399949383,-0.163494533879,-0.163589116871,-0.163683698361,-0.163778278345,-0.163872856825,-0.163967433797,-0.164062009263,-0.164156583221,-0.16425115567,-0.164345726609,-0.164440296037,-0.164534863954,-0.164629430359,-0.16472399525,-0.164818558628,-0.16491312049,-0.165007680836,-0.165102239666,-0.165196796978,-0.165291352772,-0.165385907046,-0.1654804598,-0.165575011034,-0.165669560745,-0.165764108933,-0.165858655598,-0.165953200738,-0.166047744353,-0.166142286441,-0.166236827003,-0.166331366036,-0.16642590354,-0.166520439515,-0.166614973959,-0.166709506872,-0.166804038252,-0.166898568099,-0.166993096412,-0.16708762319,-0.167182148432,-0.167276672137,-0.167371194305,-0.167465714935,-0.167560234025,-0.167654751575,-0.167749267584,-0.167843782051,-0.167938294975,-0.168032806355,-0.168127316191,-0.168221824482,-0.168316331226,-0.168410836423,-0.168505340073,-0.168599842173,-0.168694342724,-0.168788841724,-0.168883339172,-0.168977835068,-0.169072329411,-0.1691668222,-0.169261313434,-0.169355803112,-0.169450291234,-0.169544777798,-0.169639262803,-0.16973374625,-0.169828228136,-0.169922708461,-0.170017187224,-0.170111664424,-0.170206140061,-0.170300614133,-0.17039508664,-0.170489557581,-0.170584026954,-0.17067849476,-0.170772960997,-0.170867425664,-0.17096188876,-0.171056350285,-0.171150810238,-0.171245268618,-0.171339725423,-0.171434180654,-0.171528634308,-0.171623086386,-0.171717536887,-0.171811985809,-0.171906433152,-0.172000878915,-0.172095323097,-0.172189765697,-0.172284206714,-0.172378646148,-0.172473083997,-0.172567520261,-0.172661954938,-0.172756388029,-0.172850819531,-0.172945249445,-0.173039677769,-0.173134104503,-0.173228529645,-0.173322953195,-0.173417375152,-0.173511795514,-0.173606214282,-0.173700631454,-0.17379504703,-0.173889461008,-0.173983873387,-0.174078284168,-0.174172693348,-0.174267100928,-0.174361506905,-0.17445591128,-0.174550314051,-0.174644715218,-0.17473911478,-0.174833512735,-0.174927909083,-0.175022303824,-0.175116696956,-0.175211088478,-0.175305478389,-0.175399866689,-0.175494253377,-0.175588638452,-0.175683021913,-0.175777403759,-0.175871783989,-0.175966162603,-0.176060539599,-0.176154914977,-0.176249288736,-0.176343660875,-0.176438031393,-0.176532400289,-0.176626767562,-0.176721133212,-0.176815497238,-0.176909859638,-0.177004220412,-0.177098579559,-0.177192937079,-0.177287292969,-0.17738164723,-0.177475999861,-0.17757035086,-0.177664700227,-0.177759047961,-0.177853394061,-0.177947738526,-0.178042081356,-0.178136422549,-0.178230762105,-0.178325100022,-0.178419436301,-0.178513770939,-0.178608103936,-0.178702435292,-0.178796765005,-0.178891093075,-0.1789854195,-0.179079744281,-0.179174067415,-0.179268388902,-0.179362708741,-0.179457026932,-0.179551343473,-0.179645658364,-0.179739971603,-0.179834283191,-0.179928593125,-0.180022901406,-0.180117208031,-0.180211513002,-0.180305816315,-0.180400117972,-0.18049441797,-0.180588716309,-0.180683012988,-0.180777308007,-0.180871601363,-0.180965893058,-0.181060183088,-0.181154471455,-0.181248758156,-0.181343043192,-0.18143732656,-0.181531608261,-0.181625888293,-0.181720166656,-0.181814443348,-0.18190871837,-0.182002991719,-0.182097263395,-0.182191533397,-0.182285801725,-0.182380068377,-0.182474333353,-0.182568596652,-0.182662858272,-0.182757118214,-0.182851376475,-0.182945633056,-0.183039887955,-0.183134141172,-0.183228392705,-0.183322642555,-0.183416890719,-0.183511137197,-0.183605381988,-0.183699625092,-0.183793866507,-0.183888106233,-0.183982344269,-0.184076580613,-0.184170815266,-0.184265048226,-0.184359279491,-0.184453509063,-0.184547736939,-0.184641963118,-0.1847361876,-0.184830410385,-0.18492463147,-0.185018850856,-0.185113068541,-0.185207284524,-0.185301498805,-0.185395711383,-0.185489922257,-0.185584131425,-0.185678338888,-0.185772544644,-0.185866748693,-0.185960951033,-0.186055151663,-0.186149350584,-0.186243547794,-0.186337743291,-0.186431937076,-0.186526129147,-0.186620319504,-0.186714508145,-0.18680869507,-0.186902880278,-0.186997063768,-0.18709124554,-0.187185425591,-0.187279603922,-0.187373780531,-0.187467955419,-0.187562128583,-0.187656300023,-0.187750469738,-0.187844637727,-0.18793880399,-0.188032968525,-0.188127131332,-0.188221292409,-0.188315451757,-0.188409609373,-0.188503765258,-0.18859791941,-0.188692071829,-0.188786222513,-0.188880371462,-0.188974518674,-0.18906866415,-0.189162807888,-0.189256949887,-0.189351090146,-0.189445228665,-0.189539365443,-0.189633500478,-0.18972763377,-0.189821765319,-0.189915895122,-0.19001002318,-0.190104149492,-0.190198274056,-0.190292396871,-0.190386517938,-0.190480637254,-0.19057475482,-0.190668870634,-0.190762984696,-0.190857097004,-0.190951207557,-0.191045316356,-0.191139423398,-0.191233528684,-0.191327632212,-0.191421733981,-0.19151583399,-0.19160993224,-0.191704028728,-0.191798123453,-0.191892216416,-0.191986307615,-0.19208039705,-0.192174484719,-0.192268570621,-0.192362654756,-0.192456737123,-0.192550817721,-0.192644896549,-0.192738973607,-0.192833048892,-0.192927122405,-0.193021194145,-0.193115264111,-0.193209332302,-0.193303398716,-0.193397463354,-0.193491526214,-0.193585587296,-0.193679646598,-0.19377370412,-0.193867759861,-0.19396181382,-0.194055865996,-0.194149916388,-0.194243964996,-0.194338011818,-0.194432056854,-0.194526100103,-0.194620141563,-0.194714181235,-0.194808219117,-0.194902255209,-0.194996289509,-0.195090322016,-0.19518435273,-0.195278381651,-0.195372408776,-0.195466434105,-0.195560457638,-0.195654479373,-0.19574849931,-0.195842517448,-0.195936533785,-0.196030548321,-0.196124561056,-0.196218571988,-0.196312581116,-0.19640658844,-0.196500593958,-0.19659459767,-0.196688599575,-0.196782599672,-0.196876597961,-0.19697059444,-0.197064589108,-0.197158581965,-0.197252573009,-0.197346562241,-0.197440549659,-0.197534535261,-0.197628519048,-0.197722501019,-0.197816481172,-0.197910459507,-0.198004436022,-0.198098410718,-0.198192383593,-0.198286354646,-0.198380323876,-0.198474291283,-0.198568256866,-0.198662220623,-0.198756182554,-0.198850142659,-0.198944100935,-0.199038057383,-0.199132012002,-0.19922596479,-0.199319915747,-0.199413864871,-0.199507812163,-0.199601757621,-0.199695701244,-0.199789643032,-0.199883582983,-0.199977521097,-0.200071457373,-0.20016539181,-0.200259324407,-0.200353255163,-0.200447184078,-0.20054111115,-0.200635036378,-0.200728959763,-0.200822881302,-0.200916800996,-0.201010718843,-0.201104634842,-0.201198548993,-0.201292461294,-0.201386371745,-0.201480280345,-0.201574187093,-0.201668091988,-0.20176199503,-0.201855896217,-0.201949795548,-0.202043693023,-0.202137588641,-0.202231482401,-0.202325374303,-0.202419264344,-0.202513152525,-0.202607038844,-0.202700923302,-0.202794805895,-0.202888686625,-0.20298256549,-0.203076442489,-0.203170317622,-0.203264190887,-0.203358062284,-0.203451931811,-0.203545799469,-0.203639665255,-0.20373352917,-0.203827391212,-0.20392125138,-0.204015109674,-0.204108966093,-0.204202820635,-0.204296673301,-0.204390524089,-0.204484372998,-0.204578220027,-0.204672065176,-0.204765908444,-0.20485974983,-0.204953589332,-0.205047426951,-0.205141262685,-0.205235096533,-0.205328928495,-0.20542275857,-0.205516586756,-0.205610413053,-0.20570423746,-0.205798059977,-0.205891880602,-0.205985699334,-0.206079516173,-0.206173331118,-0.206267144167,-0.206360955321,-0.206454764578,-0.206548571937,-0.206642377398,-0.206736180959,-0.20682998262,-0.20692378238,-0.207017580237,-0.207111376192,-0.207205170243,-0.20729896239,-0.207392752631,-0.207486540966,-0.207580327394,-0.207674111913,-0.207767894524,-0.207861675225,-0.207955454015,-0.208049230894,-0.208143005861,-0.208236778914,-0.208330550053,-0.208424319278,-0.208518086586,-0.208611851978,-0.208705615453,-0.208799377009,-0.208893136645,-0.208986894362,-0.209080650158,-0.209174404032,-0.209268155983,-0.20936190601,-0.209455654114,-0.209549400292,-0.209643144543,-0.209736886868,-0.209830627265,-0.209924365734,-0.210018102272,-0.21011183688,-0.210205569557,-0.210299300302,-0.210393029114,-0.210486755992,-0.210580480935,-0.210674203942,-0.210767925013,-0.210861644147,-0.210955361343,-0.211049076599,-0.211142789916,-0.211236501291,-0.211330210725,-0.211423918217,-0.211517623765,-0.211611327369,-0.211705029028,-0.211798728741,-0.211892426507,-0.211986122326,-0.212079816196,-0.212173508116,-0.212267198087,-0.212360886106,-0.212454572173,-0.212548256288,-0.212641938448,-0.212735618654,-0.212829296905,-0.2129229732,-0.213016647537,-0.213110319916,-0.213203990337,-0.213297658797,-0.213391325297,-0.213484989836,-0.213578652412,-0.213672313026,-0.213765971675,-0.213859628359,-0.213953283078,-0.214046935829,-0.214140586614,-0.21423423543,-0.214327882277,-0.214421527154,-0.21451517006,-0.214608810994,-0.214702449955,-0.214796086943,-0.214889721957,-0.214983354995,-0.215076986058,-0.215170615143,-0.215264242251,-0.21535786738,-0.215451490529,-0.215545111698,-0.215638730886,-0.215732348092,-0.215825963314,-0.215919576553,-0.216013187808,-0.216106797076,-0.216200404358,-0.216294009653,-0.21638761296,-0.216481214278,-0.216574813606,-0.216668410944,-0.216762006289,-0.216855599643,-0.216949191003,-0.217042780369,-0.217136367739,-0.217229953114,-0.217323536493,-0.217417117873,-0.217510697256,-0.217604274638,-0.217697850021,-0.217791423403,-0.217884994783,-0.21797856416,-0.218072131533,-0.218165696902,-0.218259260266,-0.218352821623,-0.218446380974,-0.218539938316,-0.21863349365,-0.218727046974,-0.218820598288,-0.21891414759,-0.21900769488,-0.219101240157,-0.21919478342,-0.219288324668,-0.219381863901,-0.219475401117,-0.219568936315,-0.219662469496,-0.219756000657,-0.219849529799,-0.219943056919,-0.220036582018,-0.220130105095,-0.220223626148,-0.220317145177,-0.22041066218,-0.220504177158,-0.220597690109,-0.220691201032,-0.220784709927,-0.220878216792,-0.220971721627,-0.221065224431,-0.221158725203,-0.221252223942,-0.221345720647,-0.221439215318,-0.221532707953,-0.221626198552,-0.221719687114,-0.221813173638,-0.221906658123,-0.222000140568,-0.222093620973,-0.222187099337,-0.222280575658,-0.222374049935,-0.222467522169,-0.222560992358,-0.222654460502,-0.222747926598,-0.222841390647,-0.222934852648,-0.2230283126,-0.223121770502,-0.223215226353,-0.223308680152,-0.223402131898,-0.223495581591,-0.22358902923,-0.223682474813,-0.223775918341,-0.223869359811,-0.223962799224,-0.224056236578,-0.224149671873,-0.224243105107,-0.22433653628,-0.224429965392,-0.22452339244,-0.224616817424,-0.224710240344,-0.224803661198,-0.224897079986,-0.224990496707,-0.22508391136,-0.225177323944,-0.225270734458,-0.225364142901,-0.225457549273,-0.225550953572,-0.225644355799,-0.225737755951,-0.225831154028,-0.22592455003,-0.226017943954,-0.226111335802,-0.226204725571,-0.22629811326,-0.22639149887,-0.226484882399,-0.226578263846,-0.22667164321,-0.226765020491,-0.226858395687,-0.226951768798,-0.227045139823,-0.227138508761,-0.227231875611,-0.227325240373,-0.227418603045,-0.227511963627,-0.227605322117,-0.227698678516,-0.227792032821,-0.227885385033,-0.22797873515,-0.228072083171,-0.228165429096,-0.228258772924,-0.228352114653,-0.228445454284,-0.228538791815,-0.228632127245,-0.228725460574,-0.2288187918,-0.228912120923,-0.229005447942,-0.229098772856,-0.229192095664,-0.229285416365,-0.229378734959,-0.229472051444,-0.229565365821,-0.229658678087,-0.229751988242,-0.229845296285,-0.229938602216,-0.230031906033,-0.230125207735,-0.230218507323,-0.230311804794,-0.230405100148,-0.230498393385,-0.230591684502,-0.230684973501,-0.230778260378,-0.230871545135,-0.230964827769,-0.231058108281,-0.231151386668,-0.231244662931,-0.231337937069,-0.231431209079,-0.231524478963,-0.231617746719,-0.231711012345,-0.231804275842,-0.231897537208,-0.231990796442,-0.232084053545,-0.232177308513,-0.232270561348,-0.232363812048,-0.232457060612,-0.232550307039,-0.232643551328,-0.23273679348,-0.232830033492,-0.232923271363,-0.233016507094,-0.233109740683,-0.233202972129,-0.233296201432,-0.233389428591,-0.233482653604,-0.233575876471,-0.233669097191,-0.233762315763,-0.233855532186,-0.23394874646,-0.234041958584,-0.234135168556,-0.234228376376,-0.234321582043,-0.234414785556,-0.234507986915,-0.234601186118,-0.234694383165,-0.234787578054,-0.234880770785,-0.234973961358,-0.23506714977,-0.235160336022,-0.235253520112,-0.23534670204,-0.235439881805,-0.235533059405,-0.23562623484,-0.23571940811,-0.235812579213,-0.235905748149,-0.235998914916,-0.236092079513,-0.236185241941,-0.236278402198,-0.236371560283,-0.236464716195,-0.236557869934,-0.236651021498,-0.236744170887,-0.2368373181,-0.236930463136,-0.237023605994,-0.237116746674,-0.237209885174,-0.237303021494,-0.237396155632,-0.237489287588,-0.237582417362,-0.237675544951,-0.237768670356,-0.237861793575,-0.237954914608,-0.238048033454,-0.238141150112,-0.23823426458,-0.238327376859,-0.238420486948,-0.238513594844,-0.238606700549,-0.23869980406,-0.238792905377,-0.238886004499,-0.238979101425,-0.239072196155,-0.239165288687,-0.239258379021,-0.239351467156,-0.239444553091,-0.239537636824,-0.239630718356,-0.239723797685,-0.239816874811,-0.239909949733,-0.240003022449,-0.240096092959,-0.240189161262,-0.240282227358,-0.240375291244,-0.240468352922,-0.240561412389,-0.240654469645,-0.240747524689,-0.24084057752,-0.240933628137,-0.241026676539,-0.241119722726,-0.241212766697,-0.241305808451,-0.241398847986,-0.241491885303,-0.2415849204,-0.241677953276,-0.241770983931,-0.241864012364,-0.241957038573,-0.242050062558,-0.242143084319,-0.242236103854,-0.242329121162,-0.242422136243,-0.242515149095,-0.242608159718,-0.242701168112,-0.242794174274,-0.242887178205,-0.242980179903,-0.243073179368,-0.243166176599,-0.243259171594,-0.243352164353,-0.243445154876,-0.243538143161,-0.243631129207,-0.243724113014,-0.24381709458,-0.243910073906,-0.24400305099,-0.24409602583,-0.244188998427,-0.24428196878,-0.244374936887,-0.244467902748,-0.244560866362,-0.244653827727,-0.244746786844,-0.244839743712,-0.244932698329,-0.245025650694,-0.245118600807,-0.245211548668,-0.245304494274,-0.245397437625,-0.245490378721,-0.245583317561,-0.245676254142,-0.245769188466,-0.245862120531,-0.245955050336,-0.24604797788,-0.246140903162,-0.246233826182,-0.246326746939,-0.246419665431,-0.246512581659,-0.24660549562,-0.246698407315,-0.246791316742,-0.246884223901,-0.24697712879,-0.247070031409,-0.247162931758,-0.247255829834,-0.247348725638,-0.247441619168,-0.247534510423,-0.247627399404,-0.247720286108,-0.247813170535,-0.247906052685,-0.247998932555,-0.248091810146,-0.248184685457,-0.248277558487,-0.248370429234,-0.248463297698,-0.248556163879,-0.248649027775,-0.248741889385,-0.248834748709,-0.248927605746,-0.249020460494,-0.249113312954,-0.249206163124,-0.249299011003,-0.249391856591,-0.249484699886,-0.249577540889,-0.249670379597,-0.24976321601,-0.249856050127,-0.249948881948,-0.250041711471,-0.250134538696,-0.250227363622,-0.250320186248,-0.250413006573,-0.250505824596,-0.250598640317,-0.250691453734,-0.250784264847,-0.250877073654,-0.250969880156,-0.251062684351,-0.251155486238,-0.251248285816,-0.251341083085,-0.251433878044,-0.251526670692,-0.251619461028,-0.25171224905,-0.25180503476,-0.251897818154,-0.251990599233,-0.252083377996,-0.252176154442,-0.25226892857,-0.25236170038,-0.252454469869,-0.252547237038,-0.252640001886,-0.252732764411,-0.252825524613,-0.252918282492,-0.253011038046,-0.253103791274,-0.253196542175,-0.25328929075,-0.253382036996,-0.253474780913,-0.2535675225,-0.253660261756,-0.253752998681,-0.253845733273,-0.253938465532,-0.254031195457,-0.254123923047,-0.254216648301,-0.254309371219,-0.254402091799,-0.25449481004,-0.254587525942,-0.254680239504,-0.254772950725,-0.254865659605,-0.254958366141,-0.255051070334,-0.255143772183,-0.255236471686,-0.255329168844,-0.255421863654,-0.255514556117,-0.255607246231,-0.255699933995,-0.25579261941,-0.255885302473,-0.255977983184,-0.256070661542,-0.256163337546,-0.256256011196,-0.25634868249,-0.256441351428,-0.256534018009,-0.256626682232,-0.256719344096,-0.2568120036,-0.256904660743,-0.256997315526,-0.257089967946,-0.257182618003,-0.257275265696,-0.257367911024,-0.257460553986,-0.257553194582,-0.257645832811,-0.257738468671,-0.257831102162,-0.257923733283,-0.258016362034,-0.258108988413,-0.258201612419,-0.258294234052,-0.258386853311,-0.258479470195,-0.258572084703,-0.258664696834,-0.258757306588,-0.258849913963,-0.258942518959,-0.259035121575,-0.25912772181,-0.259220319663,-0.259312915133,-0.25940550822,-0.259498098922,-0.259590687239,-0.25968327317,-0.259775856714,-0.25986843787,-0.259961016637,-0.260053593015,-0.260146167003,-0.2602387386,-0.260331307804,-0.260423874615,-0.260516439033,-0.260609001056,-0.260701560684,-0.260794117915,-0.260886672749,-0.260979225186,-0.261071775223,-0.26116432286,-0.261256868097,-0.261349410933,-0.261441951366,-0.261534489397,-0.261627025023,-0.261719558244,-0.26181208906,-0.261904617469,-0.261997143471,-0.262089667065,-0.262182188249,-0.262274707024,-0.262367223388,-0.26245973734,-0.26255224888,-0.262644758006,-0.262737264719,-0.262829769016,-0.262922270897,-0.263014770362,-0.263107267409,-0.263199762037,-0.263292254247,-0.263384744036,-0.263477231404,-0.263569716351,-0.263662198875,-0.263754678975,-0.263847156651,-0.263939631901,-0.264032104726,-0.264124575124,-0.264217043093,-0.264309508635,-0.264401971746,-0.264494432428,-0.264586890678,-0.264679346496,-0.264771799882,-0.264864250833,-0.26495669935,-0.265049145432,-0.265141589077,-0.265234030286,-0.265326469056,-0.265418905387,-0.265511339279,-0.26560377073,-0.26569619974,-0.265788626308,-0.265881050432,-0.265973472113,-0.266065891349,-0.266158308139,-0.266250722483,-0.266343134379,-0.266435543828,-0.266527950827,-0.266620355376,-0.266712757475,-0.266805157122,-0.266897554317,-0.266989949058,-0.267082341345,-0.267174731178,-0.267267118554,-0.267359503474,-0.267451885937,-0.267544265941,-0.267636643486,-0.26772901857,-0.267821391194,-0.267913761356,-0.268006129056,-0.268098494292,-0.268190857063,-0.26828321737,-0.268375575211,-0.268467930584,-0.26856028349,-0.268652633928,-0.268744981896,-0.268837327394,-0.26892967042,-0.269022010975,-0.269114349057,-0.269206684665,-0.269299017799,-0.269391348458,-0.26948367664,-0.269576002346,-0.269668325573,-0.269760646322,-0.269852964591,-0.269945280379,-0.270037593687,-0.270129904512,-0.270222212854,-0.270314518713,-0.270406822087,-0.270499122975,-0.270591421377,-0.270683717291,-0.270776010718,-0.270868301656,-0.270960590104,-0.271052876061,-0.271145159527,-0.2712374405,-0.271329718981,-0.271421994967,-0.271514268459,-0.271606539455,-0.271698807954,-0.271791073956,-0.271883337459,-0.271975598464,-0.272067856969,-0.272160112972,-0.272252366475,-0.272344617474,-0.272436865971,-0.272529111963,-0.27262135545,-0.272713596431,-0.272805834906,-0.272898070873,-0.272990304331,-0.273082535281,-0.27317476372,-0.273266989648,-0.273359213064,-0.273451433968,-0.273543652358,-0.273635868234,-0.273728081595,-0.27382029244,-0.273912500767,-0.274004706577,-0.274096909869,-0.274189110641,-0.274281308892,-0.274373504623,-0.274465697831,-0.274557888517,-0.274650076679,-0.274742262317,-0.274834445429,-0.274926626015,-0.275018804074,-0.275110979605,-0.275203152607,-0.275295323079,-0.275387491021,-0.275479656432,-0.275571819311,-0.275663979657,-0.275756137468,-0.275848292746,-0.275940445487,-0.276032595692,-0.27612474336,-0.27621688849,-0.276309031081,-0.276401171132,-0.276493308643,-0.276585443612,-0.276677576039,-0.276769705923,-0.276861833262,-0.276953958057,-0.277046080306,-0.277138200009,-0.277230317164,-0.277322431771,-0.277414543828,-0.277506653336,-0.277598760293,-0.277690864699,-0.277782966552,-0.277875065852,-0.277967162597,-0.278059256787,-0.278151348422,-0.2782434375,-0.27833552402,-0.278427607982,-0.278519689385,-0.278611768228,-0.278703844509,-0.278795918229,-0.278887989387,-0.27898005798,-0.27907212401,-0.279164187474,-0.279256248372,-0.279348306704,-0.279440362467,-0.279532415663,-0.279624466288,-0.279716514344,-0.279808559828,-0.279900602741,-0.27999264308,-0.280084680846,-0.280176716038,-0.280268748654,-0.280360778694,-0.280452806157,-0.280544831042,-0.280636853349,-0.280728873076,-0.280820890222,-0.280912904788,-0.281004916771,-0.281096926171,-0.281188932988,-0.281280937219,-0.281372938866,-0.281464937926,-0.281556934399,-0.281648928284,-0.28174091958,-0.281832908286,-0.281924894402,-0.282016877926,-0.282108858858,-0.282200837197,-0.282292812942,-0.282384786093,-0.282476756647,-0.282568724606,-0.282660689967,-0.282752652729,-0.282844612893,-0.282936570457,-0.28302852542,-0.283120477782,-0.283212427541,-0.283304374697,-0.283396319249,-0.283488261197,-0.283580200538,-0.283672137273,-0.2837640714,-0.283856002919,-0.283947931829,-0.284039858129,-0.284131781818,-0.284223702895,-0.28431562136,-0.284407537211,-0.284499450449,-0.284591361071,-0.284683269077,-0.284775174466,-0.284867077238,-0.284958977392,-0.285050874926,-0.28514276984,-0.285234662133,-0.285326551805,-0.285418438853,-0.285510323278,-0.285602205079,-0.285694084255,-0.285785960804,-0.285877834727,-0.285969706022,-0.286061574688,-0.286153440725,-0.286245304132,-0.286337164908,-0.286429023051,-0.286520878562,-0.286612731439,-0.286704581682,-0.286796429289,-0.286888274261,-0.286980116595,-0.287071956291,-0.287163793349,-0.287255627767,-0.287347459545,-0.287439288681,-0.287531115176,-0.287622939027,-0.287714760235,-0.287806578798,-0.287898394715,-0.287990207987,-0.288082018611,-0.288173826587,-0.288265631915,-0.288357434592,-0.288449234619,-0.288541031995,-0.288632826719,-0.288724618789,-0.288816408206,-0.288908194968,-0.288999979074,-0.289091760524,-0.289183539317,-0.289275315451,-0.289367088927,-0.289458859743,-0.289550627898,-0.289642393391,-0.289734156223,-0.289825916391,-0.289917673895,-0.290009428734,-0.290101180908,-0.290192930415,-0.290284677254,-0.290376421426,-0.290468162928,-0.290559901761,-0.290651637922,-0.290743371412,-0.29083510223,-0.290926830374,-0.291018555844,-0.291110278639,-0.291201998759,-0.291293716201,-0.291385430966,-0.291477143053,-0.291568852461,-0.291660559188,-0.291752263235,-0.2918439646,-0.291935663282,-0.292027359281,-0.292119052596,-0.292210743226,-0.292302431169,-0.292394116426,-0.292485798996,-0.292577478876,-0.292669156068,-0.292760830569,-0.29285250238,-0.292944171498,-0.293035837924,-0.293127501656,-0.293219162694,-0.293310821037,-0.293402476684,-0.293494129634,-0.293585779886,-0.293677427439,-0.293769072293,-0.293860714447,-0.2939523539,-0.29404399065,-0.294135624698,-0.294227256043,-0.294318884683,-0.294410510617,-0.294502133846,-0.294593754367,-0.294685372181,-0.294776987285,-0.294868599681,-0.294960209366,-0.295051816339,-0.295143420601,-0.29523502215,-0.295326620985,-0.295418217106,-0.295509810511,-0.295601401199,-0.295692989171,-0.295784574425,-0.29587615696,-0.295967736775,-0.29605931387,-0.296150888244,-0.296242459895,-0.296334028823,-0.296425595028,-0.296517158508,-0.296608719262,-0.29670027729,-0.296791832591,-0.296883385164,-0.296974935008,-0.297066482122,-0.297158026505,-0.297249568157,-0.297341107077,-0.297432643264,-0.297524176717,-0.297615707435,-0.297707235418,-0.297798760664,-0.297890283172,-0.297981802943,-0.298073319974,-0.298164834266,-0.298256345817,-0.298347854627,-0.298439360694,-0.298530864018,-0.298622364598,-0.298713862433,-0.298805357523,-0.298896849865,-0.298988339461,-0.299079826308,-0.299171310406,-0.299262791754,-0.299354270352,-0.299445746198,-0.299537219291,-0.299628689631,-0.299720157217,-0.299811622048,-0.299903084124,-0.299994543442,-0.300086000003,-0.300177453806,-0.30026890485,-0.300360353133,-0.300451798656,-0.300543241417,-0.300634681416,-0.300726118651,-0.300817553122,-0.300908984828,-0.301000413768,-0.301091839941,-0.301183263347,-0.301274683984,-0.301366101852,-0.30145751695,-0.301548929277,-0.301640338833,-0.301731745615,-0.301823149625,-0.301914550859,-0.302005949319,-0.302097345003,-0.30218873791,-0.302280128039,-0.30237151539,-0.302462899962,-0.302554281753,-0.302645660763,-0.302737036992,-0.302828410438,-0.3029197811,-0.303011148978,-0.30310251407,-0.303193876377,-0.303285235897,-0.303376592629,-0.303467946572,-0.303559297726,-0.30365064609,-0.303741991662,-0.303833334443,-0.303924674431,-0.304016011625,-0.304107346025,-0.30419867763,-0.304290006438,-0.30438133245,-0.304472655663,-0.304563976079,-0.304655293694,-0.304746608509,-0.304837920523,-0.304929229735,-0.305020536145,-0.30511183975,-0.305203140551,-0.305294438547,-0.305385733736,-0.305477026119,-0.305568315693,-0.305659602459,-0.305750886415,-0.305842167561,-0.305933445896,-0.306024721418,-0.306115994128,-0.306207264024,-0.306298531105,-0.306389795371,-0.30648105682,-0.306572315453,-0.306663571267,-0.306754824263,-0.306846074439,-0.306937321795,-0.307028566329,-0.307119808042,-0.307211046931,-0.307302282996,-0.307393516237,-0.307484746652,-0.307575974241,-0.307667199003,-0.307758420937,-0.307849640042,-0.307940856317,-0.308032069761,-0.308123280375,-0.308214488156,-0.308305693104,-0.308396895218,-0.308488094498,-0.308579290942,-0.308670484549,-0.308761675319,-0.308852863252,-0.308944048345,-0.309035230598,-0.309126410011,-0.309217586583,-0.309308760312,-0.309399931198,-0.309491099241,-0.309582264438,-0.30967342679,-0.309764586295,-0.309855742954,-0.309946896764,-0.310038047725,-0.310129195836,-0.310220341096,-0.310311483506,-0.310402623062,-0.310493759766,-0.310584893616,-0.31067602461,-0.31076715275,-0.310858278032,-0.310949400458,-0.311040520025,-0.311131636733,-0.311222750581,-0.311313861569,-0.311404969695,-0.311496074958,-0.311587177359,-0.311678276895,-0.311769373567,-0.311860467372,-0.311951558312,-0.312042646384,-0.312133731587,-0.312224813922,-0.312315893386,-0.31240696998,-0.312498043703,-0.312589114553,-0.312680182529,-0.312771247632,-0.31286230986,-0.312953369212,-0.313044425687,-0.313135479285,-0.313226530004,-0.313317577845,-0.313408622805,-0.313499664885,-0.313590704083,-0.313681740399,-0.313772773831,-0.31386380438,-0.313954832043,-0.31404585682,-0.314136878711,-0.314227897714,-0.314318913829,-0.314409927055,-0.314500937391,-0.314591944836,-0.31468294939,-0.314773951051,-0.314864949818,-0.314955945692,-0.31504693867,-0.315137928753,-0.315228915938,-0.315319900227,-0.315410881617,-0.315501860108,-0.315592835698,-0.315683808388,-0.315774778176,-0.315865745062,-0.315956709045,-0.316047670123,-0.316138628296,-0.316229583563,-0.316320535923,-0.316411485376,-0.316502431921,-0.316593375556,-0.316684316281,-0.316775254096,-0.316866188998,-0.316957120989,-0.317048050065,-0.317138976228,-0.317229899475,-0.317320819806,-0.317411737221,-0.317502651718,-0.317593563297,-0.317684471956,-0.317775377696,-0.317866280514,-0.317957180411,-0.318048077385,-0.318138971436,-0.318229862562,-0.318320750763,-0.318411636039,-0.318502518387,-0.318593397808,-0.318684274301,-0.318775147864,-0.318866018497,-0.318956886199,-0.31904775097,-0.319138612808,-0.319229471712,-0.319320327682,-0.319411180717,-0.319502030816,-0.319592877978,-0.319683722203,-0.319774563489,-0.319865401836,-0.319956237242,-0.320047069708,-0.320137899232,-0.320228725813,-0.320319549451,-0.320410370144,-0.320501187893,-0.320592002695,-0.320682814551,-0.320773623458,-0.320864429418,-0.320955232428,-0.321046032488,-0.321136829597,-0.321227623754,-0.321318414958,-0.321409203209,-0.321499988506,-0.321590770847,-0.321681550233,-0.321772326662,-0.321863100133,-0.321953870645,-0.322044638198,-0.322135402791,-0.322226164423,-0.322316923094,-0.322407678801,-0.322498431545,-0.322589181325,-0.322679928139,-0.322770671988,-0.322861412869,-0.322952150783,-0.323042885729,-0.323133617705,-0.323224346711,-0.323315072746,-0.323405795809,-0.3234965159,-0.323587233016,-0.323677947159,-0.323768658326,-0.323859366518,-0.323950071732,-0.324040773969,-0.324131473228,-0.324222169507,-0.324312862805,-0.324403553123,-0.324494240459,-0.324584924813,-0.324675606182,-0.324766284568,-0.324856959968,-0.324947632382,-0.32503830181,-0.325128968249,-0.3252196317,-0.325310292162,-0.325400949634,-0.325491604115,-0.325582255603,-0.325672904099,-0.325763549602,-0.32585419211,-0.325944831623,-0.32603546814,-0.326126101661,-0.326216732183,-0.326307359707,-0.326397984232,-0.326488605756,-0.32657922428,-0.326669839801,-0.32676045232,-0.326851061836,-0.326941668347,-0.327032271853,-0.327122872352,-0.327213469845,-0.327304064331,-0.327394655808,-0.327485244275,-0.327575829733,-0.327666412179,-0.327756991613,-0.327847568035,-0.327938141443,-0.328028711837,-0.328119279216,-0.328209843579,-0.328300404925,-0.328390963253,-0.328481518563,-0.328572070854,-0.328662620124,-0.328753166373,-0.328843709601,-0.328934249806,-0.329024786987,-0.329115321144,-0.329205852276,-0.329296380382,-0.329386905461,-0.329477427512,-0.329567946535,-0.329658462529,-0.329748975492,-0.329839485424,-0.329929992325,-0.330020496193,-0.330110997028,-0.330201494828,-0.330291989593,-0.330382481322,-0.330472970014,-0.330563455669,-0.330653938285,-0.330744417862,-0.330834894399,-0.330925367895,-0.331015838349,-0.33110630576,-0.331196770128,-0.331287231451,-0.33137768973,-0.331468144962,-0.331558597148,-0.331649046286,-0.331739492376,-0.331829935416,-0.331920375407,-0.332010812346,-0.332101246234,-0.332191677069,-0.33228210485,-0.332372529578,-0.33246295125,-0.332553369866,-0.332643785426,-0.332734197927,-0.332824607371,-0.332915013755,-0.333005417079,-0.333095817343,-0.333186214544,-0.333276608683,-0.333366999759,-0.33345738777,-0.333547772716,-0.333638154596,-0.33372853341,-0.333818909156,-0.333909281834,-0.333999651442,-0.33409001798,-0.334180381448,-0.334270741844,-0.334361099167,-0.334451453417,-0.334541804592,-0.334632152693,-0.334722497718,-0.334812839666,-0.334903178536,-0.334993514328,-0.335083847041,-0.335174176674,-0.335264503226,-0.335354826697,-0.335445147085,-0.335535464389,-0.335625778609,-0.335716089745,-0.335806397794,-0.335896702757,-0.335987004633,-0.33607730342,-0.336167599118,-0.336257891726,-0.336348181243,-0.336438467668,-0.336528751001,-0.336619031241,-0.336709308387,-0.336799582437,-0.336889853392,-0.33698012125,-0.337070386011,-0.337160647674,-0.337250906237,-0.337341161701,-0.337431414063,-0.337521663324,-0.337611909483,-0.337702152538,-0.33779239249,-0.337882629336,-0.337972863077,-0.338063093711,-0.338153321238,-0.338243545656,-0.338333766966,-0.338423985165,-0.338514200254,-0.338604412231,-0.338694621096,-0.338784826848,-0.338875029485,-0.338965229008,-0.339055425415,-0.339145618705,-0.339235808879,-0.339325995934,-0.33941617987,-0.339506360686,-0.339596538381,-0.339686712955,-0.339776884407,-0.339867052735,-0.33995721794,-0.340047380019,-0.340137538974,-0.340227694801,-0.340317847501,-0.340407997074,-0.340498143517,-0.34058828683,-0.340678427013,-0.340768564064,-0.340858697983,-0.340948828769,-0.341038956421,-0.341129080939,-0.34121920232,-0.341309320566,-0.341399435674,-0.341489547644,-0.341579656475,-0.341669762166,-0.341759864717,-0.341849964126,-0.341940060393,-0.342030153518,-0.342120243498,-0.342210330333,-0.342300414024,-0.342390494567,-0.342480571964,-0.342570646212,-0.342660717312,-0.342750785262,-0.342840850062,-0.34293091171,-0.343020970206,-0.343111025549,-0.343201077738,-0.343291126773,-0.343381172652,-0.343471215375,-0.343561254941,-0.343651291349,-0.343741324598,-0.343831354687,-0.343921381616,-0.344011405384,-0.34410142599,-0.344191443433,-0.344281457712,-0.344371468826,-0.344461476776,-0.344551481559,-0.344641483174,-0.344731481622,-0.344821476902,-0.344911469012,-0.345001457951,-0.345091443719,-0.345181426316,-0.345271405739,-0.345361381989,-0.345451355064,-0.345541324964,-0.345631291688,-0.345721255235,-0.345811215604,-0.345901172794,-0.345991126805,-0.346081077636,-0.346171025285,-0.346260969753,-0.346350911038,-0.346440849139,-0.346530784056,-0.346620715788,-0.346710644334,-0.346800569692,-0.346890491863,-0.346980410846,-0.347070326639,-0.347160239242,-0.347250148654,-0.347340054874,-0.347429957901,-0.347519857735,-0.347609754375,-0.347699647819,-0.347789538067,-0.347879425119,-0.347969308973,-0.348059189629,-0.348149067085,-0.348238941341,-0.348328812396,-0.348418680249,-0.3485085449,-0.348598406348,-0.348688264591,-0.348778119629,-0.348867971461,-0.348957820087,-0.349047665505,-0.349137507714,-0.349227346714,-0.349317182505,-0.349407015084,-0.349496844452,-0.349586670607,-0.349676493549,-0.349766313277,-0.34985612979,-0.349945943087,-0.350035753168,-0.350125560031,-0.350215363675,-0.350305164101,-0.350394961307,-0.350484755292,-0.350574546055,-0.350664333596,-0.350754117913,-0.350843899007,-0.350933676876,-0.351023451519,-0.351113222935,-0.351202991125,-0.351292756086,-0.351382517818,-0.35147227632,-0.351562031591,-0.351651783631,-0.351741532439,-0.351831278013,-0.351921020354,-0.35201075946,-0.35210049533,-0.352190227964,-0.35227995736,-0.352369683519,-0.352459406438,-0.352549126118,-0.352638842557,-0.352728555755,-0.352818265711,-0.352907972424,-0.352997675892,-0.353087376116,-0.353177073095,-0.353266766827,-0.353356457312,-0.353446144549,-0.353535828538,-0.353625509277,-0.353715186765,-0.353804861002,-0.353894531987,-0.353984199719,-0.354073864197,-0.35416352542,-0.354253183389,-0.354342838101,-0.354432489556,-0.354522137753,-0.354611782691,-0.35470142437,-0.354791062789,-0.354880697946,-0.354970329842,-0.355059958474,-0.355149583843,-0.355239205948,-0.355328824787,-0.35541844036,-0.355508052666,-0.355597661705,-0.355687267475,-0.355776869975,-0.355866469205,-0.355956065165,-0.356045657852,-0.356135247267,-0.356224833408,-0.356314416274,-0.356403995866,-0.356493572182,-0.35658314522,-0.356672714982,-0.356762281464,-0.356851844668,-0.356941404591,-0.357030961233,-0.357120514594,-0.357210064672,-0.357299611467,-0.357389154977,-0.357478695203,-0.357568232142,-0.357657765795,-0.35774729616,-0.357836823237,-0.357926347025,-0.358015867523,-0.35810538473,-0.358194898645,-0.358284409268,-0.358373916598,-0.358463420634,-0.358552921374,-0.358642418819,-0.358731912968,-0.358821403819,-0.358910891371,-0.359000375625,-0.359089856579,-0.359179334232,-0.359268808584,-0.359358279633,-0.35944774738,-0.359537211822,-0.359626672959,-0.359716130791,-0.359805585317,-0.359895036535,-0.359984484445,-0.360073929046,-0.360163370338,-0.360252808319,-0.360342242988,-0.360431674346,-0.36052110239,-0.360610527121,-0.360699948537,-0.360789366637,-0.360878781421,-0.360968192888,-0.361057601037,-0.361147005867,-0.361236407378,-0.361325805568,-0.361415200438,-0.361504591985,-0.361593980209,-0.361683365109,-0.361772746685,-0.361862124936,-0.36195149986,-0.362040871458,-0.362130239727,-0.362219604668,-0.36230896628,-0.362398324561,-0.362487679511,-0.36257703113,-0.362666379415,-0.362755724367,-0.362845065985,-0.362934404268,-0.363023739214,-0.363113070824,-0.363202399096,-0.363291724029,-0.363381045623,-0.363470363877,-0.36355967879,-0.363648990362,-0.363738298591,-0.363827603476,-0.363916905017,-0.364006203213,-0.364095498064,-0.364184789567,-0.364274077723,-0.364363362531,-0.364452643989,-0.364541922098,-0.364631196856,-0.364720468262,-0.364809736316,-0.364899001016,-0.364988262363,-0.365077520354,-0.36516677499,-0.365256026269,-0.365345274191,-0.365434518755,-0.36552375996,-0.365612997805,-0.365702232289,-0.365791463412,-0.365880691173,-0.36596991557,-0.366059136604,-0.366148354272,-0.366237568576,-0.366326779513,-0.366415987082,-0.366505191284,-0.366594392117,-0.36668358958,-0.366772783673,-0.366861974394,-0.366951161743,-0.36704034572,-0.367129526322,-0.36721870355,-0.367307877403,-0.367397047879,-0.367486214979,-0.3675753787,-0.367664539043,-0.367753696007,-0.36784284959,-0.367931999792,-0.368021146612,-0.368110290049,-0.368199430102,-0.368288566771,-0.368377700055,-0.368466829953,-0.368555956464,-0.368645079588,-0.368734199323,-0.368823315668,-0.368912428624,-0.369001538188,-0.369090644361,-0.369179747141,-0.369268846527,-0.36935794252,-0.369447035117,-0.369536124318,-0.369625210123,-0.36971429253,-0.369803371539,-0.369892447149,-0.369981519359,-0.370070588168,-0.370159653575,-0.37024871558,-0.370337774182,-0.370426829379,-0.370515881172,-0.370604929559,-0.37069397454,-0.370783016113,-0.370872054278,-0.370961089034,-0.37105012038,-0.371139148316,-0.37122817284,-0.371317193952,-0.371406211651,-0.371495225936,-0.371584236806,-0.371673244261,-0.371762248299,-0.37185124892,-0.371940246124,-0.372029239908,-0.372118230273,-0.372207217218,-0.372296200741,-0.372385180842,-0.37247415752,-0.372563130775,-0.372652100605,-0.37274106701,-0.372830029988,-0.37291898954,-0.373007945663,-0.373096898359,-0.373185847624,-0.37327479346,-0.373363735864,-0.373452674837,-0.373541610377,-0.373630542483,-0.373719471155,-0.373808396392,-0.373897318193,-0.373986236557,-0.374075151483,-0.374164062971,-0.37425297102,-0.374341875629,-0.374430776797,-0.374519674523,-0.374608568807,-0.374697459647,-0.374786347044,-0.374875230995,-0.374964111501,-0.37505298856,-0.375141862171,-0.375230732334,-0.375319599049,-0.375408462313,-0.375497322127,-0.375586178489,-0.375675031399,-0.375763880856,-0.375852726859,-0.375941569407,-0.3760304085,-0.376119244136,-0.376208076315,-0.376296905036,-0.376385730298,-0.3764745521,-0.376563370442,-0.376652185323,-0.376740996741,-0.376829804697,-0.376918609189,-0.377007410216,-0.377096207778,-0.377185001874,-0.377273792503,-0.377362579664,-0.377451363356,-0.377540143579,-0.377628920332,-0.377717693613,-0.377806463423,-0.37789522976,-0.377983992623,-0.378072752012,-0.378161507926,-0.378250260364,-0.378339009325,-0.378427754809,-0.378516496814,-0.37860523534,-0.378693970385,-0.37878270195,-0.378871430034,-0.378960154634,-0.379048875752,-0.379137593385,-0.379226307533,-0.379315018196,-0.379403725372,-0.37949242906,-0.37958112926,-0.379669825972,-0.379758519193,-0.379847208924,-0.379935895163,-0.38002457791,-0.380113257164,-0.380201932924,-0.38029060519,-0.380379273959,-0.380467939233,-0.380556601009,-0.380645259287,-0.380733914067,-0.380822565346,-0.380911213126,-0.380999857404,-0.38108849818,-0.381177135453,-0.381265769222,-0.381354399487,-0.381443026247,-0.3815316495,-0.381620269247,-0.381708885485,-0.381797498215,-0.381886107436,-0.381974713147,-0.382063315346,-0.382151914034,-0.382240509209,-0.38232910087,-0.382417689017,-0.382506273649,-0.382594854766,-0.382683432365,-0.382772006447,-0.382860577011,-0.382949144055,-0.383037707579,-0.383126267583,-0.383214824065,-0.383303377024,-0.383391926461,-0.383480472373,-0.38356901476,-0.383657553622,-0.383746088957,-0.383834620765,-0.383923149045,-0.384011673796,-0.384100195017,-0.384188712707,-0.384277226867,-0.384365737494,-0.384454244587,-0.384542748148,-0.384631248173,-0.384719744663,-0.384808237617,-0.384896727034,-0.384985212912,-0.385073695252,-0.385162174053,-0.385250649313,-0.385339121032,-0.38542758921,-0.385516053844,-0.385604514935,-0.385692972481,-0.385781426482,-0.385869876938,-0.385958323846,-0.386046767207,-0.386135207019,-0.386223643282,-0.386312075995,-0.386400505157,-0.386488930767,-0.386577352825,-0.386665771329,-0.38675418628,-0.386842597675,-0.386931005514,-0.387019409797,-0.387107810523,-0.38719620769,-0.387284601299,-0.387372991347,-0.387461377835,-0.387549760761,-0.387638140125,-0.387726515926,-0.387814888164,-0.387903256836,-0.387991621943,-0.388079983483,-0.388168341457,-0.388256695862,-0.388345046699,-0.388433393966,-0.388521737663,-0.388610077788,-0.388698414342,-0.388786747322,-0.388875076729,-0.388963402562,-0.389051724819,-0.3891400435,-0.389228358604,-0.389316670131,-0.389404978079,-0.389493282448,-0.389581583236,-0.389669880444,-0.38975817407,-0.389846464113,-0.389934750573,-0.390023033449,-0.39011131274,-0.390199588444,-0.390287860563,-0.390376129094,-0.390464394036,-0.39055265539,-0.390640913153,-0.390729167326,-0.390817417908,-0.390905664897,-0.390993908293,-0.391082148095,-0.391170384302,-0.391258616914,-0.391346845929,-0.391435071348,-0.391523293168,-0.391611511389,-0.391699726011,-0.391787937033,-0.391876144453,-0.391964348271,-0.392052548486,-0.392140745098,-0.392228938105,-0.392317127507,-0.392405313303,-0.392493495492,-0.392581674073,-0.392669849046,-0.392758020409,-0.392846188162,-0.392934352304,-0.393022512835,-0.393110669753,-0.393198823057,-0.393286972747,-0.393375118823,-0.393463261282,-0.393551400125,-0.39363953535,-0.393727666957,-0.393815794945,-0.393903919314,-0.393992040061,-0.394080157187,-0.394168270691,-0.394256380571,-0.394344486828,-0.39443258946,-0.394520688466,-0.394608783847,-0.394696875599,-0.394784963724,-0.394873048221,-0.394961129087,-0.395049206323,-0.395137279928,-0.395225349901,-0.395313416241,-0.395401478948,-0.39548953802,-0.395577593457,-0.395665645257,-0.395753693421,-0.395841737947,-0.395929778835,-0.396017816083,-0.396105849692,-0.396193879659,-0.396281905985,-0.396369928668,-0.396457947707,-0.396545963103,-0.396633974854,-0.396721982958,-0.396809987417,-0.396897988228,-0.39698598539,-0.397073978904,-0.397161968768,-0.397249954981,-0.397337937543,-0.397425916452,-0.397513891709,-0.397601863311,-0.397689831259,-0.397777795552,-0.397865756188,-0.397953713167,-0.398041666488,-0.39812961615,-0.398217562153,-0.398305504496,-0.398393443177,-0.398481378197,-0.398569309554,-0.398657237247,-0.398745161276,-0.398833081639,-0.398920998337,-0.399008911368,-0.399096820731,-0.399184726426,-0.399272628452,-0.399360526807,-0.399448421492,-0.399536312505,-0.399624199846,-0.399712083513,-0.399799963506,-0.399887839825,-0.399975712468,-0.400063581434,-0.400151446723,-0.400239308334,-0.400327166266,-0.400415020518,-0.40050287109,-0.40059071798,-0.400678561188,-0.400766400714,-0.400854236555,-0.400942068712,-0.401029897184,-0.401117721969,-0.401205543067,-0.401293360478,-0.4013811742,-0.401468984233,-0.401556790575,-0.401644593226,-0.401732392186,-0.401820187453,-0.401907979026,-0.401995766905,-0.40208355109,-0.402171331578,-0.402259108369,-0.402346881464,-0.402434650859,-0.402522416556,-0.402610178553,-0.402697936849,-0.402785691444,-0.402873442336,-0.402961189525,-0.40304893301,-0.403136672791,-0.403224408866,-0.403312141235,-0.403399869896,-0.403487594849,-0.403575316094,-0.403663033629,-0.403750747454,-0.403838457568,-0.403926163969,-0.404013866658,-0.404101565633,-0.404189260894,-0.404276952439,-0.404364640269,-0.404452324382,-0.404540004777,-0.404627681453,-0.40471535441,-0.404803023648,-0.404890689164,-0.404978350959,-0.405066009031,-0.40515366338,-0.405241314005,-0.405328960905,-0.405416604079,-0.405504243527,-0.405591879248,-0.40567951124,-0.405767139503,-0.405854764037,-0.40594238484,-0.406030001912,-0.406117615252,-0.406205224859,-0.406292830732,-0.40638043287,-0.406468031273,-0.40655562594,-0.40664321687,-0.406730804063,-0.406818387516,-0.40690596723,-0.406993543204,-0.407081115438,-0.407168683929,-0.407256248677,-0.407343809683,-0.407431366944,-0.40751892046,-0.40760647023,-0.407694016253,-0.407781558529,-0.407869097057,-0.407956631836,-0.408044162865,-0.408131690143,-0.40821921367,-0.408306733445,-0.408394249466,-0.408481761734,-0.408569270247,-0.408656775004,-0.408744276005,-0.40883177325,-0.408919266736,-0.409006756463,-0.409094242431,-0.409181724639,-0.409269203086,-0.40935667777,-0.409444148692,-0.409531615851,-0.409619079245,-0.409706538874,-0.409793994737,-0.409881446833,-0.409968895162,-0.410056339722,-0.410143780514,-0.410231217535,-0.410318650785,-0.410406080264,-0.410493505971,-0.410580927905,-0.410668346064,-0.410755760449,-0.410843171058,-0.410930577891,-0.411017980946,-0.411105380224,-0.411192775723,-0.411280167442,-0.411367555381,-0.411454939538,-0.411542319914,-0.411629696507,-0.411717069316,-0.41180443834,-0.41189180358,-0.411979165034,-0.4120665227,-0.412153876579,-0.41224122667,-0.412328572971,-0.412415915483,-0.412503254203,-0.412590589132,-0.412677920268,-0.412765247612,-0.412852571161,-0.412939890915,-0.413027206874,-0.413114519036,-0.413201827401,-0.413289131968,-0.413376432736,-0.413463729704,-0.413551022872,-0.413638312238,-0.413725597803,-0.413812879565,-0.413900157523,-0.413987431676,-0.414074702024,-0.414161968566,-0.414249231301,-0.414336490229,-0.414423745348,-0.414510996658,-0.414598244157,-0.414685487846,-0.414772727723,-0.414859963788,-0.414947196039,-0.415034424476,-0.415121649098,-0.415208869905,-0.415296086895,-0.415383300068,-0.415470509422,-0.415557714958,-0.415644916674,-0.415732114569,-0.415819308643,-0.415906498895,-0.415993685324,-0.41608086793,-0.41616804671,-0.416255221666,-0.416342392795,-0.416429560098,-0.416516723572,-0.416603883218,-0.416691039035,-0.416778191022,-0.416865339178,-0.416952483502,-0.417039623993,-0.417126760651,-0.417213893475,-0.417301022464,-0.417388147618,-0.417475268935,-0.417562386414,-0.417649500055,-0.417736609858,-0.41782371582,-0.417910817942,-0.417997916223,-0.418085010662,-0.418172101257,-0.418259188009,-0.418346270916,-0.418433349978,-0.418520425194,-0.418607496563,-0.418694564084,-0.418781627757,-0.41886868758,-0.418955743553,-0.419042795675,-0.419129843945,-0.419216888363,-0.419303928928,-0.419390965638,-0.419477998493,-0.419565027493,-0.419652052636,-0.419739073922,-0.419826091349,-0.419913104918,-0.420000114627,-0.420087120475,-0.420174122462,-0.420261120587,-0.420348114849,-0.420435105247,-0.42052209178,-0.420609074448,-0.42069605325,-0.420783028186,-0.420869999253,-0.420956966452,-0.421043929781,-0.42113088924,-0.421217844829,-0.421304796545,-0.42139174439,-0.42147868836,-0.421565628457,-0.421652564679,-0.421739497024,-0.421826425494,-0.421913350086,-0.4220002708,-0.422087187635,-0.42217410059,-0.422261009665,-0.422347914858,-0.422434816169,-0.422521713598,-0.422608607142,-0.422695496802,-0.422782382577,-0.422869264466,-0.422956142467,-0.423043016581,-0.423129886807,-0.423216753143,-0.423303615589,-0.423390474144,-0.423477328807,-0.423564179578,-0.423651026456,-0.423737869439,-0.423824708528,-0.42391154372,-0.423998375017,-0.424085202416,-0.424172025917,-0.424258845519,-0.424345661221,-0.424432473023,-0.424519280923,-0.424606084922,-0.424692885017,-0.424779681209,-0.424866473496,-0.424953261879,-0.425040046355,-0.425126826924,-0.425213603585,-0.425300376338,-0.425387145182,-0.425473910116,-0.425560671138,-0.42564742825,-0.425734181448,-0.425820930734,-0.425907676105,-0.425994417562,-0.426081155102,-0.426167888727,-0.426254618434,-0.426341344223,-0.426428066093,-0.426514784044,-0.426601498074,-0.426688208183,-0.42677491437,-0.426861616634,-0.426948314975,-0.427035009391,-0.427121699882,-0.427208386447,-0.427295069085,-0.427381747795,-0.427468422577,-0.42755509343,-0.427641760353,-0.427728423345,-0.427815082406,-0.427901737534,-0.427988388729,-0.42807503599,-0.428161679316,-0.428248318707,-0.428334954161,-0.428421585678,-0.428508213257,-0.428594836897,-0.428681456598,-0.428768072359,-0.428854684178,-0.428941292055,-0.42902789599,-0.429114495981,-0.429201092028,-0.42928768413,-0.429374272285,-0.429460856494,-0.429547436756,-0.429634013069,-0.429720585433,-0.429807153847,-0.429893718311,-0.429980278823,-0.430066835383,-0.430153387989,-0.430239936642,-0.43032648134,-0.430413022083,-0.430499558869,-0.430586091698,-0.43067262057,-0.430759145483,-0.430845666436,-0.430932183429,-0.431018696461,-0.431105205531,-0.431191710639,-0.431278211783,-0.431364708963,-0.431451202178,-0.431537691427,-0.43162417671,-0.431710658025,-0.431797135372,-0.43188360875,-0.431970078158,-0.432056543596,-0.432143005062,-0.432229462556,-0.432315916077,-0.432402365625,-0.432488811198,-0.432575252795,-0.432661690416,-0.432748124061,-0.432834553727,-0.432920979416,-0.433007401124,-0.433093818853,-0.433180232601,-0.433266642367,-0.433353048151,-0.433439449951,-0.433525847767,-0.433612241599,-0.433698631444,-0.433785017304,-0.433871399176,-0.43395777706,-0.434044150955,-0.43413052086,-0.434216886775,-0.434303248699,-0.434389606631,-0.43447596057,-0.434562310515,-0.434648656466,-0.434734998422,-0.434821336381,-0.434907670344,-0.43499400031,-0.435080326277,-0.435166648245,-0.435252966213,-0.43533928018,-0.435425590145,-0.435511896108,-0.435598198069,-0.435684496025,-0.435770789976,-0.435857079922,-0.435943365862,-0.436029647794,-0.436115925719,-0.436202199635,-0.436288469542,-0.436374735438,-0.436460997323,-0.436547255196,-0.436633509057,-0.436719758904,-0.436806004737,-0.436892246555,-0.436978484357,-0.437064718143,-0.437150947911,-0.437237173661,-0.437323395392,-0.437409613103,-0.437495826794,-0.437582036463,-0.43766824211,-0.437754443734,-0.437840641334,-0.43792683491,-0.438013024461,-0.438099209985,-0.438185391483,-0.438271568952,-0.438357742394,-0.438443911806,-0.438530077188,-0.438616238539,-0.438702395858,-0.438788549145,-0.438874698398,-0.438960843618,-0.439046984803,-0.439133121952,-0.439219255065,-0.43930538414,-0.439391509178,-0.439477630176,-0.439563747135,-0.439649860054,-0.439735968932,-0.439822073767,-0.43990817456,-0.43999427131,-0.440080364015,-0.440166452675,-0.440252537288,-0.440338617856,-0.440424694375,-0.440510766847,-0.440596835269,-0.440682899642,-0.440768959964,-0.440855016234,-0.440941068452,-0.441027116617,-0.441113160729,-0.441199200785,-0.441285236787,-0.441371268732,-0.44145729662,-0.44154332045,-0.441629340222,-0.441715355934,-0.441801367586,-0.441887375178,-0.441973378707,-0.442059378174,-0.442145373578,-0.442231364918,-0.442317352192,-0.442403335401,-0.442489314544,-0.442575289619,-0.442661260626,-0.442747227565,-0.442833190433,-0.442919149232,-0.443005103959,-0.443091054614,-0.443177001196,-0.443262943705,-0.443348882139,-0.443434816498,-0.443520746781,-0.443606672988,-0.443692595117,-0.443778513167,-0.443864427139,-0.44395033703,-0.444036242841,-0.44412214457,-0.444208042218,-0.444293935782,-0.444379825262,-0.444465710657,-0.444551591967,-0.444637469191,-0.444723342328,-0.444809211377,-0.444895076338,-0.444980937209,-0.44506679399,-0.44515264668,-0.445238495278,-0.445324339783,-0.445410180196,-0.445496016514,-0.445581848737,-0.445667676865,-0.445753500896,-0.44583932083,-0.445925136666,-0.446010948403,-0.44609675604,-0.446182559577,-0.446268359013,-0.446354154346,-0.446439945577,-0.446525732705,-0.446611515728,-0.446697294645,-0.446783069457,-0.446868840162,-0.44695460676,-0.447040369249,-0.447126127629,-0.4472118819,-0.447297632059,-0.447383378108,-0.447469120043,-0.447554857866,-0.447640591575,-0.44772632117,-0.447812046649,-0.447897768012,-0.447983485257,-0.448069198386,-0.448154907395,-0.448240612285,-0.448326313055,-0.448412009704,-0.448497702232,-0.448583390637,-0.448669074918,-0.448754755076,-0.448840431109,-0.448926103016,-0.449011770796,-0.44909743445,-0.449183093975,-0.449268749372,-0.449354400639,-0.449440047776,-0.449525690781,-0.449611329655,-0.449696964395,-0.449782595003,-0.449868221476,-0.449953843814,-0.450039462016,-0.450125076081,-0.450210686009,-0.450296291799,-0.450381893449,-0.45046749096,-0.45055308433,-0.450638673559,-0.450724258646,-0.45080983959,-0.45089541639,-0.450980989045,-0.451066557555,-0.451152121919,-0.451237682136,-0.451323238206,-0.451408790127,-0.451494337898,-0.45157988152,-0.451665420991,-0.45175095631,-0.451836487477,-0.451922014491,-0.45200753735,-0.452093056055,-0.452178570605,-0.452264080998,-0.452349587234,-0.452435089312,-0.452520587231,-0.452606080991,-0.452691570591,-0.452777056029,-0.452862537306,-0.45294801442,-0.453033487371,-0.453118956157,-0.453204420779,-0.453289881235,-0.453375337524,-0.453460789646,-0.4535462376,-0.453631681385,-0.453717121,-0.453802556445,-0.453887987718,-0.45397341482,-0.454058837749,-0.454144256504,-0.454229671084,-0.45431508149,-0.454400487719,-0.454485889772,-0.454571287647,-0.454656681344,-0.454742070862,-0.4548274562,-0.454912837357,-0.454998214333,-0.455083587126,-0.455168955737,-0.455254320163,-0.455339680406,-0.455425036462,-0.455510388333,-0.455595736016,-0.455681079512,-0.455766418819,-0.455851753937,-0.455937084865,-0.456022411602,-0.456107734148,-0.456193052501,-0.45627836666,-0.456363676626,-0.456448982397,-0.456534283972,-0.456619581351,-0.456704874533,-0.456790163517,-0.456875448302,-0.456960728888,-0.457046005273,-0.457131277457,-0.45721654544,-0.457301809219,-0.457387068796,-0.457472324168,-0.457557575335,-0.457642822297,-0.457728065051,-0.457813303599,-0.457898537938,-0.457983768069,-0.45806899399,-0.4581542157,-0.458239433199,-0.458324646486,-0.45840985556,-0.458495060421,-0.458580261067,-0.458665457498,-0.458750649713,-0.458835837712,-0.458921021492,-0.459006201055,-0.459091376398,-0.459176547522,-0.459261714425,-0.459346877106,-0.459432035566,-0.459517189802,-0.459602339814,-0.459687485602,-0.459772627165,-0.459857764501,-0.459942897611,-0.460028026493,-0.460113151146,-0.46019827157,-0.460283387764,-0.460368499727,-0.460453607459,-0.460538710958,-0.460623810224,-0.460708905256,-0.460793996054,-0.460879082616,-0.460964164941,-0.46104924303,-0.46113431688,-0.461219386492,-0.461304451865,-0.461389512997,-0.461474569888,-0.461559622538,-0.461644670945,-0.461729715108,-0.461814755028,-0.461899790702,-0.461984822131,-0.462069849314,-0.462154872249,-0.462239890936,-0.462324905375,-0.462409915563,-0.462494921502,-0.462579923189,-0.462664920624,-0.462749913807,-0.462834902736,-0.462919887411,-0.463004867831,-0.463089843995,-0.463174815902,-0.463259783552,-0.463344746944,-0.463429706076,-0.463514660949,-0.463599611562,-0.463684557913,-0.463769500002,-0.463854437828,-0.463939371391,-0.464024300689,-0.464109225722,-0.464194146489,-0.464279062989,-0.464363975222,-0.464448883186,-0.464533786881,-0.464618686306,-0.464703581461,-0.464788472344,-0.464873358955,-0.464958241293,-0.465043119357,-0.465127993146,-0.46521286266,-0.465297727898,-0.46538258886,-0.465467445543,-0.465552297948,-0.465637146073,-0.465721989919,-0.465806829484,-0.465891664767,-0.465976495768,-0.466061322486,-0.466146144919,-0.466230963068,-0.466315776932,-0.466400586509,-0.466485391799,-0.466570192802,-0.466654989516,-0.46673978194,-0.466824570074,-0.466909353917,-0.466994133469,-0.467078908728,-0.467163679694,-0.467248446365,-0.467333208742,-0.467417966823,-0.467502720608,-0.467587470095,-0.467672215285,-0.467756956176,-0.467841692767,-0.467926425058,-0.468011153048,-0.468095876736,-0.468180596122,-0.468265311204,-0.468350021982,-0.468434728455,-0.468519430622,-0.468604128483,-0.468688822036,-0.468773511281,-0.468858196217,-0.468942876844,-0.46902755316,-0.469112225165,-0.469196892859,-0.469281556239,-0.469366215306,-0.469450870058,-0.469535520496,-0.469620166617,-0.469704808422,-0.46978944591,-0.469874079079,-0.469958707929,-0.47004333246,-0.47012795267,-0.470212568558,-0.470297180125,-0.470381787369,-0.470466390289,-0.470550988884,-0.470635583155,-0.470720173099,-0.470804758717,-0.470889340007,-0.470973916969,-0.471058489601,-0.471143057904,-0.471227621877,-0.471312181517,-0.471396736826,-0.471481287802,-0.471565834443,-0.471650376751,-0.471734914723,-0.471819448359,-0.471903977658,-0.471988502619,-0.472073023242,-0.472157539526,-0.47224205147,-0.472326559073,-0.472411062335,-0.472495561254,-0.47258005583,-0.472664546063,-0.47274903195,-0.472833513493,-0.472917990689,-0.473002463538,-0.473086932039,-0.473171396192,-0.473255855996,-0.47334031145,-0.473424762552,-0.473509209303,-0.473593651702,-0.473678089748,-0.473762523439,-0.473846952776,-0.473931377757,-0.474015798383,-0.474100214651,-0.474184626561,-0.474269034112,-0.474353437305,-0.474437836137,-0.474522230608,-0.474606620717,-0.474691006464,-0.474775387848,-0.474859764868,-0.474944137522,-0.475028505812,-0.475112869735,-0.47519722929,-0.475281584478,-0.475365935297,-0.475450281747,-0.475534623827,-0.475618961535,-0.475703294872,-0.475787623836,-0.475871948427,-0.475956268643,-0.476040584485,-0.476124895951,-0.476209203041,-0.476293505753,-0.476377804088,-0.476462098044,-0.47654638762,-0.476630672816,-0.47671495363,-0.476799230063,-0.476883502114,-0.47696776978,-0.477052033063,-0.477136291961,-0.477220546473,-0.477304796598,-0.477389042337,-0.477473283687,-0.477557520648,-0.47764175322,-0.477725981401,-0.477810205191,-0.477894424589,-0.477978639595,-0.478062850207,-0.478147056425,-0.478231258248,-0.478315455675,-0.478399648705,-0.478483837338,-0.478568021573,-0.478652201409,-0.478736376845,-0.478820547881,-0.478904714516,-0.478988876749,-0.479073034579,-0.479157188005,-0.479241337027,-0.479325481644,-0.479409621856,-0.47949375766,-0.479577889057,-0.479662016046,-0.479746138626,-0.479830256797,-0.479914370556,-0.479998479905,-0.480082584841,-0.480166685365,-0.480250781475,-0.480334873171,-0.480418960451,-0.480503043316,-0.480587121764,-0.480671195795,-0.480755265407,-0.4808393306,-0.480923391374,-0.481007447727,-0.481091499659,-0.481175547168,-0.481259590255,-0.481343628918,-0.481427663157,-0.48151169297,-0.481595718358,-0.481679739319,-0.481763755852,-0.481847767957,-0.481931775633,-0.482015778879,-0.482099777695,-0.482183772079,-0.482267762031,-0.482351747551,-0.482435728636,-0.482519705287,-0.482603677503,-0.482687645283,-0.482771608626,-0.482855567532,-0.482939521999,-0.483023472027,-0.483107417616,-0.483191358763,-0.48327529547,-0.483359227734,-0.483443155555,-0.483527078933,-0.483610997866,-0.483694912354,-0.483778822396,-0.483862727991,-0.483946629138,-0.484030525837,-0.484114418087,-0.484198305888,-0.484282189237,-0.484366068135,-0.484449942581,-0.484533812574,-0.484617678113,-0.484701539198,-0.484785395827,-0.484869248001,-0.484953095717,-0.485036938976,-0.485120777777,-0.485204612119,-0.485288442,-0.485372267421,-0.485456088381,-0.485539904878,-0.485623716912,-0.485707524483,-0.485791327589,-0.48587512623,-0.485958920404,-0.486042710112,-0.486126495353,-0.486210276124,-0.486294052427,-0.48637782426,-0.486461591622,-0.486545354513,-0.486629112932,-0.486712866877,-0.486796616349,-0.486880361346,-0.486964101868,-0.487047837914,-0.487131569483,-0.487215296574,-0.487299019187,-0.487382737321,-0.487466450975,-0.487550160148,-0.48763386484,-0.48771756505,-0.487801260776,-0.487884952019,-0.487968638778,-0.488052321051,-0.488135998838,-0.488219672138,-0.48830334095,-0.488387005274,-0.488470665109,-0.488554320454,-0.488637971309,-0.488721617671,-0.488805259542,-0.48888889692,-0.488972529804,-0.489056158193,-0.489139782087,-0.489223401485,-0.489307016386,-0.48939062679,-0.489474232695,-0.489557834101,-0.489641431007,-0.489725023413,-0.489808611317,-0.489892194719,-0.489975773617,-0.490059348012,-0.490142917903,-0.490226483288,-0.490310044167,-0.49039360054,-0.490477152405,-0.490560699761,-0.490644242608,-0.490727780946,-0.490811314773,-0.490894844088,-0.490978368891,-0.491061889181,-0.491145404957,-0.491228916219,-0.491312422966,-0.491395925197,-0.49147942291,-0.491562916107,-0.491646404784,-0.491729888943,-0.491813368582,-0.4918968437,-0.491980314297,-0.492063780372,-0.492147241923,-0.492230698951,-0.492314151455,-0.492397599433,-0.492481042886,-0.492564481811,-0.492647916209,-0.492731346079,-0.492814771419,-0.49289819223,-0.49298160851,-0.493065020259,-0.493148427475,-0.493231830159,-0.493315228309,-0.493398621924,-0.493482011004,-0.493565395549,-0.493648775556,-0.493732151026,-0.493815521958,-0.493898888351,-0.493982250204,-0.494065607516,-0.494148960287,-0.494232308516,-0.494315652202,-0.494398991344,-0.494482325942,-0.494565655995,-0.494648981502,-0.494732302462,-0.494815618875,-0.494898930739,-0.494982238054,-0.49506554082,-0.495148839035,-0.495232132699,-0.495315421811,-0.49539870637,-0.495481986375,-0.495565261826,-0.495648532722,-0.495731799061,-0.495815060845,-0.495898318071,-0.495981570738,-0.496064818847,-0.496148062396,-0.496231301384,-0.496314535811,-0.496397765677,-0.496480990979,-0.496564211718,-0.496647427893,-0.496730639502,-0.496813846546,-0.496897049023,-0.496980246932,-0.497063440274,-0.497146629046,-0.497229813249,-0.497312992882,-0.497396167943,-0.497479338433,-0.497562504349,-0.497645665692,-0.497728822461,-0.497811974655,-0.497895122273,-0.497978265315,-0.498061403779,-0.498144537665,-0.498227666973,-0.498310791701,-0.498393911848,-0.498477027414,-0.498560138399,-0.4986432448,-0.498726346619,-0.498809443853,-0.498892536502,-0.498975624565,-0.499058708042,-0.499141786932,-0.499224861234,-0.499307930946,-0.49939099607,-0.499474056603,-0.499557112545,-0.499640163895,-0.499723210653,-0.499806252817,-0.499889290387,-0.499972323363,-0.500055351742,-0.500138375526,-0.500221394712,-0.5003044093,-0.50038741929,-0.50047042468,-0.500553425469,-0.500636421658,-0.500719413245,-0.50080240023,-0.500885382611,-0.500968360389,-0.501051333561,-0.501134302128,-0.501217266089,-0.501300225442,-0.501383180188,-0.501466130325,-0.501549075853,-0.50163201677,-0.501714953077,-0.501797884772,-0.501880811855,-0.501963734324,-0.50204665218,-0.50212956542,-0.502212474046,-0.502295378055,-0.502378277447,-0.502461172221,-0.502544062377,-0.502626947914,-0.50270982883,-0.502792705126,-0.5028755768,-0.502958443852,-0.503041306281,-0.503124164086,-0.503207017266,-0.503289865821,-0.50337270975,-0.503455549051,-0.503538383726,-0.503621213772,-0.503704039188,-0.503786859975,-0.503869676131,-0.503952487655,-0.504035294548,-0.504118096807,-0.504200894433,-0.504283687424,-0.50436647578,-0.504449259499,-0.504532038582,-0.504614813028,-0.504697582835,-0.504780348003,-0.504863108531,-0.504945864419,-0.505028615665,-0.505111362269,-0.505194104231,-0.505276841548,-0.505359574222,-0.50544230225,-0.505525025632,-0.505607744367,-0.505690458455,-0.505773167895,-0.505855872686,-0.505938572827,-0.506021268318,-0.506103959158,-0.506186645345,-0.50626932688,-0.506352003761,-0.506434675988,-0.50651734356,-0.506600006476,-0.506682664736,-0.506765318338,-0.506847967282,-0.506930611567,-0.507013251193,-0.507095886158,-0.507178516462,-0.507261142105,-0.507343763084,-0.507426379401,-0.507508991053,-0.50759159804,-0.507674200362,-0.507756798017,-0.507839391005,-0.507921979325,-0.508004562976,-0.508087141958,-0.50816971627,-0.50825228591,-0.508334850879,-0.508417411175,-0.508499966799,-0.508582517748,-0.508665064022,-0.508747605621,-0.508830142543,-0.508912674789,-0.508995202356,-0.509077725245,-0.509160243455,-0.509242756984,-0.509325265833,-0.50940777,-0.509490269485,-0.509572764287,-0.509655254404,-0.509737739837,-0.509820220585,-0.509902696647,-0.509985168021,-0.510067634708,-0.510150096707,-0.510232554016,-0.510315006635,-0.510397454564,-0.510479897801,-0.510562336346,-0.510644770198,-0.510727199357,-0.51080962382,-0.510892043589,-0.510974458661,-0.511056869037,-0.511139274715,-0.511221675695,-0.511304071976,-0.511386463557,-0.511468850438,-0.511551232617,-0.511633610094,-0.511715982869,-0.511798350939,-0.511880714306,-0.511963072967,-0.512045426923,-0.512127776172,-0.512210120713,-0.512292460546,-0.512374795671,-0.512457126086,-0.51253945179,-0.512621772783,-0.512704089065,-0.512786400634,-0.512868707489,-0.51295100963,-0.513033307056,-0.513115599767,-0.513197887761,-0.513280171038,-0.513362449596,-0.513444723437,-0.513526992557,-0.513609256958,-0.513691516637,-0.513773771595,-0.51385602183,-0.513938267342,-0.51402050813,-0.514102744193,-0.514184975531,-0.514267202142,-0.514349424027,-0.514431641183,-0.514513853611,-0.51459606131,-0.514678264279,-0.514760462517,-0.514842656023,-0.514924844797,-0.515007028838,-0.515089208145,-0.515171382717,-0.515253552554,-0.515335717655,-0.515417878019,-0.515500033646,-0.515582184534,-0.515664330683,-0.515746472092,-0.515828608761,-0.515910740688,-0.515992867873,-0.516074990315,-0.516157108014,-0.516239220968,-0.516321329177,-0.51640343264,-0.516485531356,-0.516567625325,-0.516649714546,-0.516731799018,-0.51681387874,-0.516895953711,-0.516978023932,-0.5170600894,-0.517142150116,-0.517224206079,-0.517306257287,-0.51738830374,-0.517470345437,-0.517552382378,-0.517634414562,-0.517716441988,-0.517798464655,-0.517880482562,-0.51796249571,-0.518044504096,-0.518126507721,-0.518208506583,-0.518290500681,-0.518372490016,-0.518454474586,-0.518536454391,-0.518618429429,-0.5187003997,-0.518782365203,-0.518864325938,-0.518946281904,-0.519028233099,-0.519110179524,-0.519192121177,-0.519274058058,-0.519355990166,-0.5194379175,-0.519519840059,-0.519601757843,-0.519683670851,-0.519765579082,-0.519847482536,-0.519929381211,-0.520011275108,-0.520093164224,-0.52017504856,-0.520256928114,-0.520338802887,-0.520420672876,-0.520502538082,-0.520584398504,-0.52066625414,-0.520748104991,-0.520829951055,-0.520911792332,-0.52099362882,-0.52107546052,-0.52115728743,-0.52123910955,-0.521320926879,-0.521402739415,-0.521484547159,-0.52156635011,-0.521648148267,-0.521729941629,-0.521811730195,-0.521893513965,-0.521975292937,-0.522057067112,-0.522138836488,-0.522220601065,-0.522302360841,-0.522384115817,-0.522465865991,-0.522547611363,-0.522629351931,-0.522711087696,-0.522792818656,-0.52287454481,-0.522956266159,-0.5230379827,-0.523119694434,-0.523201401359,-0.523283103476,-0.523364800782,-0.523446493278,-0.523528180962,-0.523609863834,-0.523691541893,-0.523773215139,-0.52385488357,-0.523936547186,-0.524018205986,-0.52409985997,-0.524181509136,-0.524263153484,-0.524344793013,-0.524426427722,-0.524508057611,-0.524589682678,-0.524671302924,-0.524752918347,-0.524834528947,-0.524916134723,-0.524997735673,-0.525079331798,-0.525160923097,-0.525242509568,-0.525324091212,-0.525405668026,-0.525487240012,-0.525568807167,-0.525650369491,-0.525731926984,-0.525813479644,-0.525895027471,-0.525976570464,-0.526058108623,-0.526139641946,-0.526221170433,-0.526302694083,-0.526384212895,-0.526465726869,-0.526547236004,-0.526628740298,-0.526710239753,-0.526791734365,-0.526873224136,-0.526954709064,-0.527036189148,-0.527117664387,-0.527199134782,-0.52728060033,-0.527362061032,-0.527443516887,-0.527524967893,-0.527606414051,-0.527687855359,-0.527769291816,-0.527850723423,-0.527932150177,-0.528013572079,-0.528094989127,-0.528176401321,-0.528257808661,-0.528339211145,-0.528420608772,-0.528502001542,-0.528583389455,-0.528664772508,-0.528746150703,-0.528827524037,-0.52890889251,-0.528990256122,-0.529071614872,-0.529152968758,-0.52923431778,-0.529315661938,-0.52939700123,-0.529478335657,-0.529559665216,-0.529640989908,-0.529722309732,-0.529803624686,-0.529884934771,-0.529966239985,-0.530047540328,-0.530128835798,-0.530210126396,-0.53029141212,-0.53037269297,-0.530453968945,-0.530535240044,-0.530616506266,-0.530697767612,-0.530779024079,-0.530860275667,-0.530941522376,-0.531022764204,-0.531104001151,-0.531185233217,-0.5312664604,-0.5313476827,-0.531428900115,-0.531510112646,-0.531591320292,-0.531672523051,-0.531753720923,-0.531834913907,-0.531916102003,-0.531997285209,-0.532078463526,-0.532159636952,-0.532240805486,-0.532321969128,-0.532403127877,-0.532484281733,-0.532565430693,-0.532646574759,-0.532727713929,-0.532808848202,-0.532889977577,-0.532971102054,-0.533052221633,-0.533133336311,-0.533214446089,-0.533295550966,-0.533376650941,-0.533457746014,-0.533538836183,-0.533619921447,-0.533701001807,-0.533782077261,-0.533863147809,-0.53394421345,-0.534025274182,-0.534106330006,-0.534187380921,-0.534268426926,-0.534349468019,-0.534430504201,-0.534511535471,-0.534592561827,-0.53467358327,-0.534754599798,-0.534835611411,-0.534916618107,-0.534997619887,-0.535078616749,-0.535159608693,-0.535240595718,-0.535321577823,-0.535402555007,-0.53548352727,-0.535564494611,-0.53564545703,-0.535726414524,-0.535807367095,-0.53588831474,-0.53596925746,-0.536050195253,-0.536131128119,-0.536212056057,-0.536292979066,-0.536373897146,-0.536454810295,-0.536535718513,-0.5366166218,-0.536697520154,-0.536778413575,-0.536859302062,-0.536940185615,-0.537021064232,-0.537101937913,-0.537182806656,-0.537263670463,-0.53734452933,-0.537425383259,-0.537506232248,-0.537587076296,-0.537667915402,-0.537748749567,-0.537829578789,-0.537910403067,-0.5379912224,-0.538072036789,-0.538152846232,-0.538233650728,-0.538314450277,-0.538395244877,-0.538476034529,-0.538556819232,-0.538637598984,-0.538718373785,-0.538799143634,-0.538879908531,-0.538960668474,-0.539041423464,-0.539122173499,-0.539202918578,-0.539283658701,-0.539364393867,-0.539445124075,-0.539525849325,-0.539606569616,-0.539687284946,-0.539767995316,-0.539848700725,-0.539929401171,-0.540010096655,-0.540090787174,-0.54017147273,-0.54025215332,-0.540332828945,-0.540413499602,-0.540494165293,-0.540574826015,-0.540655481768,-0.540736132552,-0.540816778366,-0.540897419208,-0.540978055079,-0.541058685977,-0.541139311902,-0.541219932853,-0.541300548828,-0.541381159829,-0.541461765853,-0.5415423669,-0.54162296297,-0.541703554061,-0.541784140172,-0.541864721304,-0.541945297455,-0.542025868625,-0.542106434812,-0.542186996017,-0.542267552238,-0.542348103474,-0.542428649726,-0.542509190991,-0.54258972727,-0.542670258561,-0.542750784865,-0.542831306179,-0.542911822504,-0.542992333838,-0.543072840182,-0.543153341534,-0.543233837893,-0.543314329258,-0.54339481563,-0.543475297007,-0.543555773389,-0.543636244774,-0.543716711162,-0.543797172553,-0.543877628945,-0.543958080338,-0.544038526731,-0.544118968123,-0.544199404514,-0.544279835903,-0.544360262288,-0.544440683671,-0.544521100048,-0.544601511421,-0.544681917788,-0.544762319148,-0.544842715501,-0.544923106845,-0.545003493181,-0.545083874508,-0.545164250824,-0.545244622129,-0.545324988422,-0.545405349703,-0.54548570597,-0.545566057224,-0.545646403463,-0.545726744686,-0.545807080893,-0.545887412083,-0.545967738256,-0.54604805941,-0.546128375545,-0.54620868666,-0.546288992754,-0.546369293827,-0.546449589878,-0.546529880906,-0.546610166911,-0.546690447891,-0.546770723846,-0.546850994775,-0.546931260678,-0.547011521554,-0.547091777401,-0.54717202822,-0.547252274009,-0.547332514768,-0.547412750496,-0.547492981193,-0.547573206857,-0.547653427487,-0.547733643084,-0.547813853646,-0.547894059173,-0.547974259664,-0.548054455118,-0.548134645534,-0.548214830912,-0.54829501125,-0.548375186549,-0.548455356808,-0.548535522025,-0.5486156822,-0.548695837333,-0.548775987421,-0.548856132466,-0.548936272466,-0.54901640742,-0.549096537327,-0.549176662188,-0.549256782,-0.549336896764,-0.549417006478,-0.549497111143,-0.549577210756,-0.549657305318,-0.549737394827,-0.549817479284,-0.549897558687,-0.549977633035,-0.550057702327,-0.550137766564,-0.550217825744,-0.550297879867,-0.550377928931,-0.550457972937,-0.550538011882,-0.550618045768,-0.550698074592,-0.550778098354,-0.550858117053,-0.55093813069,-0.551018139262,-0.551098142769,-0.551178141211,-0.551258134586,-0.551338122894,-0.551418106135,-0.551498084307,-0.55157805741,-0.551658025443,-0.551737988405,-0.551817946295,-0.551897899114,-0.551977846859,-0.552057789531,-0.552137727129,-0.552217659651,-0.552297587097,-0.552377509467,-0.55245742676,-0.552537338974,-0.55261724611,-0.552697148166,-0.552777045142,-0.552856937036,-0.552936823849,-0.55301670558,-0.553096582227,-0.553176453791,-0.55325632027,-0.553336181663,-0.55341603797,-0.55349588919,-0.553575735323,-0.553655576367,-0.553735412323,-0.553815243188,-0.553895068963,-0.553974889647,-0.554054705238,-0.554134515737,-0.554214321142,-0.554294121454,-0.55437391667,-0.55445370679,-0.554533491814,-0.554613271741,-0.55469304657,-0.554772816301,-0.554852580932,-0.554932340463,-0.555012094893,-0.555091844222,-0.555171588448,-0.555251327571,-0.555331061591,-0.555410790506,-0.555490514316,-0.55557023302,-0.555649946617,-0.555729655107,-0.555809358488,-0.555889056761,-0.555968749924,-0.556048437977,-0.556128120919,-0.556207798749,-0.556287471466,-0.55636713907,-0.55644680156,-0.556526458936,-0.556606111196,-0.556685758339,-0.556765400366,-0.556845037275,-0.556924669066,-0.557004295737,-0.557083917289,-0.55716353372,-0.55724314503,-0.557322751218,-0.557402352283,-0.557481948224,-0.557561539041,-0.557641124733,-0.5577207053,-0.55780028074,-0.557879851053,-0.557959416237,-0.558038976294,-0.558118531221,-0.558198081017,-0.558277625683,-0.558357165218,-0.55843669962,-0.558516228889,-0.558595753024,-0.558675272025,-0.55875478589,-0.55883429462,-0.558913798213,-0.558993296668,-0.559072789986,-0.559152278164,-0.559231761203,-0.559311239102,-0.559390711859,-0.559470179475,-0.559549641948,-0.559629099278,-0.559708551464,-0.559787998505,-0.559867440401,-0.55994687715,-0.560026308753,-0.560105735208,-0.560185156514,-0.560264572672,-0.56034398368,-0.560423389537,-0.560502790242,-0.560582185796,-0.560661576197,-0.560740961445,-0.560820341538,-0.560899716477,-0.560979086259,-0.561058450886,-0.561137810355,-0.561217164666,-0.561296513819,-0.561375857813,-0.561455196646,-0.561534530319,-0.56161385883,-0.561693182179,-0.561772500365,-0.561851813387,-0.561931121245,-0.562010423937,-0.562089721464,-0.562169013824,-0.562248301017,-0.562327583042,-0.562406859898,-0.562486131584,-0.562565398101,-0.562644659446,-0.562723915619,-0.56280316662,-0.562882412448,-0.562961653102,-0.563040888582,-0.563120118886,-0.563199344014,-0.563278563965,-0.563357778739,-0.563436988334,-0.56351619275,-0.563595391987,-0.563674586043,-0.563753774918,-0.563832958611,-0.563912137122,-0.563991310449,-0.564070478592,-0.56414964155,-0.564228799323,-0.564307951909,-0.564387099309,-0.564466241521,-0.564545378544,-0.564624510378,-0.564703637022,-0.564782758476,-0.564861874738,-0.564940985808,-0.565020091685,-0.565099192369,-0.565178287858,-0.565257378153,-0.565336463251,-0.565415543154,-0.565494617859,-0.565573687366,-0.565652751674,-0.565731810784,-0.565810864693,-0.565889913401,-0.565968956908,-0.566047995212,-0.566127028314,-0.566206056212,-0.566285078905,-0.566364096393,-0.566443108675,-0.566522115751,-0.566601117619,-0.56668011428,-0.566759105731,-0.566838091973,-0.566917073004,-0.566996048825,-0.567075019434,-0.567153984831,-0.567232945014,-0.567311899983,-0.567390849738,-0.567469794278,-0.567548733601,-0.567627667708,-0.567706596597,-0.567785520268,-0.56786443872,-0.567943351952,-0.568022259964,-0.568101162755,-0.568180060324,-0.56825895267,-0.568337839793,-0.568416721692,-0.568495598366,-0.568574469815,-0.568653336037,-0.568732197033,-0.568811052801,-0.56888990334,-0.568968748651,-0.569047588731,-0.569126423581,-0.5692052532,-0.569284077586,-0.56936289674,-0.569441710661,-0.569520519347,-0.569599322798,-0.569678121014,-0.569756913993,-0.569835701736,-0.56991448424,-0.569993261506,-0.570072033533,-0.570150800319,-0.570229561865,-0.57030831817,-0.570387069232,-0.570465815052,-0.570544555628,-0.57062329096,-0.570702021046,-0.570780745887,-0.570859465481,-0.570938179828,-0.571016888928,-0.571095592778,-0.571174291379,-0.57125298473,-0.57133167283,-0.571410355679,-0.571489033275,-0.571567705618,-0.571646372708,-0.571725034543,-0.571803691123,-0.571882342447,-0.571960988515,-0.572039629325,-0.572118264877,-0.57219689517,-0.572275520204,-0.572354139977,-0.57243275449,-0.572511363741,-0.572589967729,-0.572668566454,-0.572747159916,-0.572825748113,-0.572904331045,-0.57298290871,-0.573061481109,-0.57314004824,-0.573218610104,-0.573297166698,-0.573375718023,-0.573454264077,-0.57353280486,-0.573611340372,-0.573689870611,-0.573768395577,-0.573846915269,-0.573925429686,-0.574003938827,-0.574082442693,-0.574160941282,-0.574239434593,-0.574317922626,-0.57439640538,-0.574474882854,-0.574553355048,-0.57463182196,-0.574710283591,-0.574788739939,-0.574867191004,-0.574945636784,-0.57502407728,-0.575102512491,-0.575180942415,-0.575259367052,-0.575337786402,-0.575416200463,-0.575494609235,-0.575573012717,-0.575651410909,-0.575729803809,-0.575808191418,-0.575886573734,-0.575964950756,-0.576043322484,-0.576121688917,-0.576200050055,-0.576278405897,-0.576356756441,-0.576435101688,-0.576513441636,-0.576591776285,-0.576670105634,-0.576748429682,-0.57682674843,-0.576905061875,-0.576983370017,-0.577061672856,-0.57713997039,-0.57721826262,-0.577296549544,-0.577374831161,-0.577453107472,-0.577531378474,-0.577609644168,-0.577687904553,-0.577766159628,-0.577844409392,-0.577922653845,-0.578000892985,-0.578079126813,-0.578157355327,-0.578235578527,-0.578313796412,-0.578392008981,-0.578470216233,-0.578548418169,-0.578626614786,-0.578704806085,-0.578782992065,-0.578861172724,-0.578939348063,-0.57901751808,-0.579095682775,-0.579173842148,-0.579251996196,-0.57933014492,-0.579408288319,-0.579486426393,-0.579564559139,-0.579642686559,-0.579720808651,-0.579798925413,-0.579877036847,-0.57995514295,-0.580033243723,-0.580111339164,-0.580189429273,-0.580267514049,-0.580345593491,-0.580423667598,-0.580501736371,-0.580579799808,-0.580657857908,-0.580735910671,-0.580813958096,-0.580892000182,-0.580970036929,-0.581048068335,-0.581126094401,-0.581204115125,-0.581282130507,-0.581360140546,-0.581438145241,-0.581516144591,-0.581594138597,-0.581672127256,-0.581750110569,-0.581828088535,-0.581906061153,-0.581984028421,-0.582061990341,-0.58213994691,-0.582217898128,-0.582295843995,-0.582373784509,-0.58245171967,-0.582529649478,-0.582607573931,-0.582685493029,-0.582763406771,-0.582841315156,-0.582919218184,-0.582997115853,-0.583075008164,-0.583152895116,-0.583230776707,-0.583308652938,-0.583386523806,-0.583464389313,-0.583542249456,-0.583620104236,-0.583697953651,-0.5837757977,-0.583853636384,-0.583931469701,-0.584009297651,-0.584087120233,-0.584164937446,-0.584242749289,-0.584320555762,-0.584398356864,-0.584476152595,-0.584553942953,-0.584631727938,-0.584709507549,-0.584787281786,-0.584865050648,-0.584942814133,-0.585020572242,-0.585098324973,-0.585176072327,-0.585253814301,-0.585331550896,-0.585409282111,-0.585487007945,-0.585564728397,-0.585642443467,-0.585720153154,-0.585797857456,-0.585875556375,-0.585953249908,-0.586030938055,-0.586108620815,-0.586186298189,-0.586263970174,-0.58634163677,-0.586419297976,-0.586496953793,-0.586574604218,-0.586652249252,-0.586729888893,-0.586807523142,-0.586885151996,-0.586962775456,-0.587040393521,-0.58711800619,-0.587195613462,-0.587273215337,-0.587350811813,-0.587428402891,-0.587505988569,-0.587583568848,-0.587661143725,-0.5877387132,-0.587816277273,-0.587893835943,-0.58797138921,-0.588048937072,-0.588126479528,-0.588204016579,-0.588281548223,-0.588359074459,-0.588436595288,-0.588514110708,-0.588591620718,-0.588669125318,-0.588746624507,-0.588824118285,-0.58890160665,-0.588979089602,-0.58905656714,-0.589134039264,-0.589211505973,-0.589288967265,-0.589366423141,-0.5894438736,-0.589521318641,-0.589598758263,-0.589676192466,-0.589753621248,-0.589831044609,-0.589908462549,-0.589985875067,-0.590063282161,-0.590140683832,-0.590218080079,-0.5902954709,-0.590372856295,-0.590450236264,-0.590527610805,-0.590604979919,-0.590682343604,-0.590759701859,-0.590837054684,-0.590914402078,-0.590991744041,-0.591069080572,-0.591146411669,-0.591223737333,-0.591301057562,-0.591378372357,-0.591455681715,-0.591532985637,-0.591610284122,-0.591687577169,-0.591764864777,-0.591842146946,-0.591919423674,-0.591996694962,-0.592073960808,-0.592151221212,-0.592228476174,-0.592305725691,-0.592382969764,-0.592460208393,-0.592537441575,-0.592614669311,-0.5926918916,-0.59276910844,-0.592846319833,-0.592923525776,-0.593000726268,-0.593077921311,-0.593155110901,-0.59323229504,-0.593309473725,-0.593386646958,-0.593463814735,-0.593540977058,-0.593618133925,-0.593695285336,-0.59377243129,-0.593849571785,-0.593926706823,-0.594003836401,-0.594080960519,-0.594158079176,-0.594235192372,-0.594312300106,-0.594389402377,-0.594466499185,-0.594543590528,-0.594620676407,-0.594697756819,-0.594774831766,-0.594851901245,-0.594928965257,-0.5950060238,-0.595083076875,-0.595160124479,-0.595237166612,-0.595314203275,-0.595391234465,-0.595468260183,-0.595545280427,-0.595622295197,-0.595699304492,-0.595776308312,-0.595853306656,-0.595930299522,-0.596007286911,-0.596084268822,-0.596161245253,-0.596238216205,-0.596315181676,-0.596392141666,-0.596469096174,-0.596546045199,-0.596622988741,-0.596699926799,-0.596776859373,-0.59685378646,-0.596930708062,-0.597007624177,-0.597084534804,-0.597161439943,-0.597238339593,-0.597315233754,-0.597392122424,-0.597469005603,-0.59754588329,-0.597622755484,-0.597699622186,-0.597776483393,-0.597853339106,-0.597930189323,-0.598007034045,-0.598083873269,-0.598160706996,-0.598237535225,-0.598314357955,-0.598391175186,-0.598467986916,-0.598544793146,-0.598621593873,-0.598698389098,-0.59877517882,-0.598851963039,-0.598928741752,-0.599005514961,-0.599082282664,-0.59915904486,-0.599235801548,-0.599312552729,-0.599389298401,-0.599466038563,-0.599542773215,-0.599619502356,-0.599696225986,-0.599772944104,-0.599849656708,-0.599926363799,-0.600003065375,-0.600079761437,-0.600156451982,-0.600233137011,-0.600309816523,-0.600386490517,-0.600463158992,-0.600539821948,-0.600616479384,-0.600693131299,-0.600769777693,-0.600846418564,-0.600923053913,-0.600999683738,-0.601076308039,-0.601152926815,-0.601229540065,-0.601306147789,-0.601382749986,-0.601459346655,-0.601535937795,-0.601612523407,-0.601689103488,-0.601765678039,-0.601842247059,-0.601918810546,-0.601995368501,-0.602071920922,-0.60214846781,-0.602225009162,-0.602301544979,-0.60237807526,-0.602454600004,-0.60253111921,-0.602607632878,-0.602684141007,-0.602760643596,-0.602837140644,-0.602913632152,-0.602990118117,-0.60306659854,-0.60314307342,-0.603219542756,-0.603296006547,-0.603372464793,-0.603448917493,-0.603525364646,-0.603601806251,-0.603678242308,-0.603754672817,-0.603831097776,-0.603907517184,-0.603983931042,-0.604060339348,-0.604136742101,-0.604213139302,-0.604289530948,-0.60436591704,-0.604442297577,-0.604518672558,-0.604595041983,-0.60467140585,-0.604747764159,-0.604824116909,-0.6049004641,-0.604976805731,-0.605053141801,-0.605129472309,-0.605205797255,-0.605282116639,-0.605358430459,-0.605434738714,-0.605511041404,-0.605587338529,-0.605663630087,-0.605739916078,-0.605816196502,-0.605892471356,-0.605968740642,-0.606045004357,-0.606121262502,-0.606197515076,-0.606273762077,-0.606350003506,-0.606426239361,-0.606502469643,-0.606578694349,-0.60665491348,-0.606731127035,-0.606807335012,-0.606883537412,-0.606959734234,-0.607035925476,-0.607112111139,-0.607188291222,-0.607264465723,-0.607340634643,-0.607416797979,-0.607492955733,-0.607569107903,-0.607645254488,-0.607721395488,-0.607797530901,-0.607873660728,-0.607949784968,-0.608025903619,-0.608102016682,-0.608178124155,-0.608254226037,-0.608330322329,-0.608406413029,-0.608482498137,-0.608558577652,-0.608634651573,-0.608710719899,-0.608786782631,-0.608862839766,-0.608938891305,-0.609014937247,-0.609090977591,-0.609167012336,-0.609243041482,-0.609319065028,-0.609395082973,-0.609471095317,-0.609547102059,-0.609623103198,-0.609699098733,-0.609775088664,-0.60985107299,-0.60992705171,-0.610003024825,-0.610078992332,-0.610154954231,-0.610230910522,-0.610306861204,-0.610382806276,-0.610458745738,-0.610534679588,-0.610610607827,-0.610686530453,-0.610762447465,-0.610838358864,-0.610914264648,-0.610990164816,-0.611066059369,-0.611141948304,-0.611217831622,-0.611293709322,-0.611369581403,-0.611445447865,-0.611521308706,-0.611597163926,-0.611673013525,-0.611748857501,-0.611824695854,-0.611900528584,-0.611976355689,-0.612052177169,-0.612127993022,-0.61220380325,-0.61227960785,-0.612355406822,-0.612431200166,-0.61250698788,-0.612582769964,-0.612658546417,-0.61273431724,-0.612810082429,-0.612885841986,-0.61296159591,-0.613037344199,-0.613113086854,-0.613188823873,-0.613264555255,-0.613340281001,-0.613416001109,-0.613491715578,-0.613567424408,-0.613643127599,-0.613718825149,-0.613794517058,-0.613870203325,-0.61394588395,-0.614021558931,-0.614097228268,-0.614172891961,-0.614248550008,-0.61432420241,-0.614399849164,-0.614475490271,-0.61455112573,-0.61462675554,-0.614702379701,-0.614777998211,-0.614853611071,-0.614929218279,-0.615004819834,-0.615080415737,-0.615156005986,-0.615231590581,-0.61530716952,-0.615382742804,-0.615458310431,-0.615533872401,-0.615609428713,-0.615684979367,-0.615760524361,-0.615836063696,-0.61591159737,-0.615987125382,-0.616062647733,-0.616138164421,-0.616213675445,-0.616289180805,-0.616364680501,-0.616440174531,-0.616515662895,-0.616591145592,-0.616666622621,-0.616742093982,-0.616817559674,-0.616893019697,-0.616968474049,-0.61704392273,-0.617119365739,-0.617194803076,-0.61727023474,-0.61734566073,-0.617421081045,-0.617496495686,-0.61757190465,-0.617647307938,-0.617722705548,-0.617798097481,-0.617873483735,-0.617948864309,-0.618024239204,-0.618099608417,-0.61817497195,-0.6182503298,-0.618325681967,-0.618401028451,-0.61847636925,-0.618551704365,-0.618627033794,-0.618702357537,-0.618777675593,-0.618852987961,-0.618928294641,-0.619003595631,-0.619078890932,-0.619154180543,-0.619229464462,-0.61930474269,-0.619380015225,-0.619455282067,-0.619530543215,-0.619605798668,-0.619681048426,-0.619756292488,-0.619831530854,-0.619906763522,-0.619981990492,-0.620057211763,-0.620132427335,-0.620207637207,-0.620282841378,-0.620358039847,-0.620433232614,-0.620508419679,-0.620583601039,-0.620658776696,-0.620733946647,-0.620809110893,-0.620884269433,-0.620959422265,-0.62103456939,-0.621109710806,-0.621184846514,-0.621259976511,-0.621335100798,-0.621410219374,-0.621485332238,-0.621560439389,-0.621635540827,-0.621710636551,-0.621785726561,-0.621860810855,-0.621935889433,-0.622010962295,-0.622086029439,-0.622161090865,-0.622236146572,-0.62231119656,-0.622386240827,-0.622461279374,-0.622536312199,-0.622611339302,-0.622686360683,-0.622761376339,-0.622836386271,-0.622911390479,-0.62298638896,-0.623061381715,-0.623136368744,-0.623211350044,-0.623286325616,-0.623361295459,-0.623436259572,-0.623511217955,-0.623586170606,-0.623661117526,-0.623736058713,-0.623810994166,-0.623885923886,-0.623960847871,-0.624035766121,-0.624110678635,-0.624185585412,-0.624260486452,-0.624335381754,-0.624410271317,-0.62448515514,-0.624560033224,-0.624634905566,-0.624709772168,-0.624784633026,-0.624859488142,-0.624934337515,-0.625009181143,-0.625084019026,-0.625158851164,-0.625233677555,-0.625308498199,-0.625383313096,-0.625458122244,-0.625532925643,-0.625607723292,-0.625682515191,-0.625757301339,-0.625832081735,-0.625906856378,-0.625981625268,-0.626056388404,-0.626131145786,-0.626205897412,-0.626280643283,-0.626355383397,-0.626430117753,-0.626504846352,-0.626579569192,-0.626654286272,-0.626728997592,-0.626803703152,-0.62687840295,-0.626953096986,-0.627027785259,-0.627102467769,-0.627177144515,-0.627251815495,-0.62732648071,-0.627401140159,-0.627475793841,-0.627550441755,-0.627625083901,-0.627699720278,-0.627774350885,-0.627848975722,-0.627923594788,-0.627998208082,-0.628072815604,-0.628147417352,-0.628222013327,-0.628296603527,-0.628371187953,-0.628445766602,-0.628520339475,-0.62859490657,-0.628669467888,-0.628744023427,-0.628818573186,-0.628893117166,-0.628967655365,-0.629042187783,-0.629116714419,-0.629191235272,-0.629265750341,-0.629340259627,-0.629414763128,-0.629489260843,-0.629563752772,-0.629638238915,-0.62971271927,-0.629787193837,-0.629861662614,-0.629936125603,-0.630010582801,-0.630085034208,-0.630159479824,-0.630233919647,-0.630308353677,-0.630382781914,-0.630457204356,-0.630531621003,-0.630606031855,-0.63068043691,-0.630754836168,-0.630829229628,-0.63090361729,-0.630977999153,-0.631052375216,-0.631126745478,-0.63120110994,-0.631275468599,-0.631349821456,-0.631424168509,-0.631498509759,-0.631572845204,-0.631647174844,-0.631721498678,-0.631795816705,-0.631870128925,-0.631944435337,-0.63201873594,-0.632093030734,-0.632167319717,-0.63224160289,-0.632315880252,-0.632390151801,-0.632464417538,-0.632538677461,-0.63261293157,-0.632687179864,-0.632761422343,-0.632835659005,-0.632909889851,-0.632984114878,-0.633058334088,-0.633132547479,-0.63320675505,-0.633280956801,-0.633355152731,-0.633429342839,-0.633503527125,-0.633577705588,-0.633651878227,-0.633726045041,-0.633800206031,-0.633874361195,-0.633948510532,-0.634022654043,-0.634096791725,-0.634170923579,-0.634245049604,-0.634319169799,-0.634393284164,-0.634467392697,-0.634541495398,-0.634615592267,-0.634689683303,-0.634763768504,-0.634837847872,-0.634911921403,-0.634985989099,-0.635060050958,-0.63513410698,-0.635208157164,-0.635282201509,-0.635356240015,-0.63543027268,-0.635504299505,-0.635578320489,-0.63565233563,-0.635726344929,-0.635800348384,-0.635874345995,-0.635948337761,-0.636022323682,-0.636096303756,-0.636170277984,-0.636244246364,-0.636318208896,-0.636392165579,-0.636466116412,-0.636540061395,-0.636614000527,-0.636687933808,-0.636761861236,-0.636835782812,-0.636909698533,-0.636983608401,-0.637057512413,-0.637131410569,-0.63720530287,-0.637279189313,-0.637353069898,-0.637426944625,-0.637500813493,-0.637574676501,-0.637648533649,-0.637722384936,-0.63779623036,-0.637870069923,-0.637943903622,-0.638017731457,-0.638091553428,-0.638165369533,-0.638239179773,-0.638312984146,-0.638386782652,-0.63846057529,-0.638534362059,-0.63860814296,-0.63868191799,-0.638755687149,-0.638829450437,-0.638903207854,-0.638976959397,-0.639050705068,-0.639124444864,-0.639198178785,-0.639271906831,-0.639345629002,-0.639419345295,-0.639493055711,-0.639566760249,-0.639640458908,-0.639714151688,-0.639787838587,-0.639861519606,-0.639935194743,-0.640008863998,-0.640082527371,-0.64015618486,-0.640229836464,-0.640303482184,-0.640377122018,-0.640450755966,-0.640524384028,-0.640598006201,-0.640671622487,-0.640745232883,-0.64081883739,-0.640892436007,-0.640966028732,-0.641039615566,-0.641113196508,-0.641186771557,-0.641260340712,-0.641333903973,-0.641407461338,-0.641481012809,-0.641554558382,-0.641628098059,-0.641701631838,-0.641775159719,-0.6418486817,-0.641922197782,-0.641995707963,-0.642069212244,-0.642142710622,-0.642216203098,-0.642289689671,-0.642363170341,-0.642436645105,-0.642510113965,-0.642583576919,-0.642657033966,-0.642730485106,-0.642803930339,-0.642877369662,-0.642950803077,-0.643024230582,-0.643097652176,-0.643171067859,-0.64324447763,-0.643317881489,-0.643391279434,-0.643464671465,-0.643538057582,-0.643611437784,-0.643684812069,-0.643758180438,-0.64383154289,-0.643904899424,-0.643978250039,-0.644051594734,-0.64412493351,-0.644198266365,-0.644271593299,-0.644344914311,-0.6444182294,-0.644491538566,-0.644564841807,-0.644638139125,-0.644711430516,-0.644784715982,-0.644857995521,-0.644931269132,-0.645004536816,-0.64507779857,-0.645151054395,-0.645224304291,-0.645297548255,-0.645370786288,-0.645444018389,-0.645517244557,-0.645590464792,-0.645663679092,-0.645736887458,-0.645810089888,-0.645883286382,-0.645956476939,-0.646029661559,-0.646102840241,-0.646176012983,-0.646249179787,-0.64632234065,-0.646395495572,-0.646468644552,-0.646541787591,-0.646614924687,-0.646688055839,-0.646761181046,-0.646834300309,-0.646907413627,-0.646980520998,-0.647053622422,-0.647126717899,-0.647199807427,-0.647272891007,-0.647345968637,-0.647419040316,-0.647492106045,-0.647565165822,-0.647638219647,-0.647711267519,-0.647784309437,-0.647857345401,-0.64793037541,-0.648003399463,-0.64807641756,-0.6481494297,-0.648222435882,-0.648295436107,-0.648368430372,-0.648441418677,-0.648514401022,-0.648587377406,-0.648660347829,-0.648733312289,-0.648806270786,-0.648879223319,-0.648952169888,-0.649025110492,-0.64909804513,-0.649170973802,-0.649243896507,-0.649316813244,-0.649389724013,-0.649462628813,-0.649535527643,-0.649608420502,-0.649681307391,-0.649754188307,-0.649827063252,-0.649899932223,-0.649972795221,-0.650045652244,-0.650118503292,-0.650191348364,-0.65026418746,-0.650337020579,-0.65040984772,-0.650482668883,-0.650555484067,-0.65062829327,-0.650701096494,-0.650773893736,-0.650846684996,-0.650919470274,-0.650992249569,-0.65106502288,-0.651137790207,-0.651210551549,-0.651283306905,-0.651356056274,-0.651428799656,-0.65150153705,-0.651574268456,-0.651646993873,-0.6517197133,-0.651792426737,-0.651865134182,-0.651937835636,-0.652010531097,-0.652083220565,-0.652155904039,-0.652228581519,-0.652301253003,-0.652373918492,-0.652446577984,-0.65251923148,-0.652591878977,-0.652664520476,-0.652737155975,-0.652809785475,-0.652882408975,-0.652955026473,-0.653027637969,-0.653100243463,-0.653172842954,-0.653245436441,-0.653318023923,-0.6533906054,-0.653463180872,-0.653535750337,-0.653608313795,-0.653680871244,-0.653753422686,-0.653825968118,-0.653898507541,-0.653971040953,-0.654043568353,-0.654116089742,-0.654188605119,-0.654261114482,-0.654333617832,-0.654406115167,-0.654478606487,-0.654551091791,-0.654623571078,-0.654696044349,-0.654768511601,-0.654840972835,-0.65491342805,-0.654985877245,-0.65505832042,-0.655130757573,-0.655203188705,-0.655275613814,-0.6553480329,-0.655420445962,-0.655492853,-0.655565254012,-0.655637648999,-0.655710037959,-0.655782420892,-0.655854797797,-0.655927168674,-0.655999533522,-0.65607189234,-0.656144245127,-0.656216591883,-0.656288932608,-0.6563612673,-0.656433595958,-0.656505918583,-0.656578235174,-0.656650545729,-0.656722850249,-0.656795148732,-0.656867441178,-0.656939727587,-0.657012007956,-0.657084282287,-0.657156550578,-0.657228812829,-0.657301069038,-0.657373319206,-0.657445563331,-0.657517801413,-0.657590033451,-0.657662259445,-0.657734479394,-0.657806693297,-0.657878901154,-0.657951102963,-0.658023298725,-0.658095488439,-0.658167672103,-0.658239849717,-0.658312021282,-0.658384186795,-0.658456346256,-0.658528499665,-0.658600647021,-0.658672788323,-0.658744923571,-0.658817052764,-0.658889175901,-0.658961292982,-0.659033404006,-0.659105508972,-0.659177607879,-0.659249700728,-0.659321787517,-0.659393868246,-0.659465942913,-0.659538011519,-0.659610074063,-0.659682130544,-0.659754180961,-0.659826225313,-0.659898263601,-0.659970295823,-0.660042321979,-0.660114342067,-0.660186356089,-0.660258364041,-0.660330365925,-0.66040236174,-0.660474351484,-0.660546335157,-0.660618312758,-0.660690284287,-0.660762249744,-0.660834209126,-0.660906162435,-0.660978109668,-0.661050050826,-0.661121985908,-0.661193914913,-0.66126583784,-0.661337754689,-0.661409665459,-0.66148157015,-0.66155346876,-0.66162536129,-0.661697247738,-0.661769128104,-0.661841002387,-0.661912870587,-0.661984732702,-0.662056588733,-0.662128438678,-0.662200282537,-0.662272120309,-0.662343951994,-0.66241577759,-0.662487597098,-0.662559410516,-0.662631217845,-0.662703019082,-0.662774814228,-0.662846603282,-0.662918386243,-0.662990163111,-0.663061933885,-0.663133698564,-0.663205457148,-0.663277209635,-0.663348956026,-0.66342069632,-0.663492430515,-0.663564158612,-0.66363588061,-0.663707596507,-0.663779306304,-0.663851009999,-0.663922707593,-0.663994399084,-0.664066084472,-0.664137763755,-0.664209436934,-0.664281104008,-0.664352764976,-0.664424419837,-0.664496068591,-0.664567711237,-0.664639347775,-0.664710978203,-0.664782602522,-0.66485422073,-0.664925832826,-0.664997438811,-0.665069038684,-0.665140632443,-0.665212220088,-0.665283801619,-0.665355377035,-0.665426946335,-0.665498509518,-0.665570066585,-0.665641617533,-0.665713162363,-0.665784701074,-0.665856233666,-0.665927760136,-0.665999280486,-0.666070794714,-0.66614230282,-0.666213804803,-0.666285300662,-0.666356790396,-0.666428274006,-0.66649975149,-0.666571222847,-0.666642688078,-0.666714147181,-0.666785600156,-0.666857047002,-0.666928487718,-0.666999922304,-0.667071350759,-0.667142773082,-0.667214189273,-0.667285599331,-0.667357003256,-0.667428401047,-0.667499792702,-0.667571178223,-0.667642557607,-0.667713930854,-0.667785297963,-0.667856658935,-0.667928013768,-0.667999362461,-0.668070705014,-0.668142041427,-0.668213371698,-0.668284695826,-0.668356013813,-0.668427325655,-0.668498631354,-0.668569930908,-0.668641224317,-0.66871251158,-0.668783792696,-0.668855067665,-0.668926336485,-0.668997599157,-0.66906885568,-0.669140106053,-0.669211350276,-0.669282588347,-0.669353820266,-0.669425046032,-0.669496265646,-0.669567479105,-0.66963868641,-0.66970988756,-0.669781082554,-0.669852271392,-0.669923454072,-0.669994630595,-0.670065800959,-0.670136965164,-0.670208123209,-0.670279275094,-0.670350420818,-0.67042156038,-0.67049269378,-0.670563821017,-0.67063494209,-0.670706056998,-0.670777165742,-0.67084826832,-0.670919364732,-0.670990454977,-0.671061539054,-0.671132616963,-0.671203688703,-0.671274754274,-0.671345813674,-0.671416866903,-0.671487913961,-0.671558954847,-0.67162998956,-0.671701018099,-0.671772040465,-0.671843056655,-0.67191406667,-0.671985070509,-0.672056068172,-0.672127059656,-0.672198044963,-0.672269024091,-0.67233999704,-0.672410963809,-0.672481924397,-0.672552878804,-0.672623827029,-0.672694769071,-0.67276570493,-0.672836634605,-0.672907558095,-0.6729784754,-0.67304938652,-0.673120291453,-0.673191190198,-0.673262082756,-0.673332969125,-0.673403849306,-0.673474723296,-0.673545591096,-0.673616452705,-0.673687308122,-0.673758157347,-0.673829000379,-0.673899837217,-0.673970667861,-0.674041492309,-0.674112310562,-0.674183122619,-0.674253928479,-0.674324728141,-0.674395521605,-0.67446630887,-0.674537089936,-0.674607864801,-0.674678633466,-0.674749395929,-0.674820152189,-0.674890902247,-0.674961646102,-0.675032383752,-0.675103115198,-0.675173840439,-0.675244559473,-0.6753152723,-0.675385978921,-0.675456679333,-0.675527373536,-0.675598061531,-0.675668743315,-0.675739418889,-0.675810088251,-0.675880751402,-0.67595140834,-0.676022059064,-0.676092703575,-0.676163341872,-0.676233973953,-0.676304599819,-0.676375219468,-0.6764458329,-0.676516440114,-0.67658704111,-0.676657635886,-0.676728224443,-0.67679880678,-0.676869382896,-0.67693995279,-0.677010516462,-0.677081073911,-0.677151625136,-0.677222170137,-0.677292708913,-0.677363241464,-0.677433767789,-0.677504287886,-0.677574801756,-0.677645309398,-0.677715810812,-0.677786305996,-0.677856794949,-0.677927277673,-0.677997754164,-0.678068224424,-0.678138688451,-0.678209146245,-0.678279597805,-0.67835004313,-0.67842048222,-0.678490915074,-0.678561341691,-0.678631762072,-0.678702176214,-0.678772584118,-0.678842985783,-0.678913381208,-0.678983770393,-0.679054153337,-0.679124530038,-0.679194900498,-0.679265264714,-0.679335622687,-0.679405974416,-0.679476319899,-0.679546659137,-0.679616992129,-0.679687318874,-0.679757639371,-0.67982795362,-0.679898261621,-0.679968563371,-0.680038858872,-0.680109148122,-0.68017943112,-0.680249707867,-0.680319978361,-0.680390242601,-0.680460500587,-0.680530752319,-0.680600997795,-0.680671237016,-0.68074146998,-0.680811696686,-0.680881917135,-0.680952131326,-0.681022339257,-0.681092540928,-0.681162736339,-0.681232925489,-0.681303108377,-0.681373285002,-0.681443455365,-0.681513619464,-0.681583777298,-0.681653928868,-0.681724074172,-0.681794213209,-0.68186434598,-0.681934472483,-0.682004592718,-0.682074706685,-0.682144814381,-0.682214915808,-0.682285010964,-0.682355099848,-0.682425182461,-0.6824952588,-0.682565328866,-0.682635392659,-0.682705450176,-0.682775501419,-0.682845546385,-0.682915585075,-0.682985617488,-0.683055643623,-0.683125663479,-0.683195677056,-0.683265684353,-0.68333568537,-0.683405680106,-0.68347566856,-0.683545650732,-0.683615626621,-0.683685596226,-0.683755559547,-0.683825516583,-0.683895467333,-0.683965411797,-0.684035349975,-0.684105281864,-0.684175207466,-0.684245126779,-0.684315039802,-0.684384946535,-0.684454846978,-0.684524741129,-0.684594628988,-0.684664510555,-0.684734385828,-0.684804254808,-0.684874117492,-0.684943973882,-0.685013823976,-0.685083667773,-0.685153505273,-0.685223336475,-0.685293161379,-0.685362979984,-0.685432792289,-0.685502598293,-0.685572397997,-0.685642191399,-0.685711978499,-0.685781759296,-0.685851533789,-0.685921301978,-0.685991063863,-0.686060819441,-0.686130568714,-0.68620031168,-0.686270048339,-0.686339778689,-0.686409502731,-0.686479220463,-0.686548931886,-0.686618636998,-0.686688335798,-0.686758028287,-0.686827714463,-0.686897394326,-0.686967067875,-0.68703673511,-0.68710639603,-0.687176050634,-0.687245698921,-0.687315340892,-0.687384976545,-0.687454605879,-0.687524228895,-0.687593845591,-0.687663455967,-0.687733060022,-0.687802657755,-0.687872249167,-0.687941834255,-0.68801141302,-0.688080985462,-0.688150551578,-0.688220111369,-0.688289664834,-0.688359211973,-0.688428752784,-0.688498287267,-0.688567815422,-0.688637337248,-0.688706852744,-0.688776361909,-0.688845864744,-0.688915361246,-0.688984851417,-0.689054335254,-0.689123812757,-0.689193283927,-0.689262748761,-0.68933220726,-0.689401659423,-0.689471105249,-0.689540544737,-0.689609977887,-0.689679404699,-0.689748825171,-0.689818239303,-0.689887647095,-0.689957048545,-0.690026443653,-0.690095832419,-0.690165214841,-0.69023459092,-0.690303960654,-0.690373324043,-0.690442681086,-0.690512031783,-0.690581376132,-0.690650714135,-0.690720045788,-0.690789371093,-0.690858690048,-0.690928002653,-0.690997308908,-0.69106660881,-0.691135902361,-0.691205189558,-0.691274470403,-0.691343744893,-0.691413013029,-0.691482274809,-0.691551530233,-0.691620779301,-0.691690022012,-0.691759258364,-0.691828488358,-0.691897711993,-0.691966929269,-0.692036140183,-0.692105344737,-0.692174542929,-0.692243734759,-0.692312920226,-0.692382099329,-0.692451272068,-0.692520438442,-0.692589598451,-0.692658752093,-0.692727899369,-0.692797040277,-0.692866174817,-0.692935302989,-0.693004424791,-0.693073540224,-0.693142649285,-0.693211751976,-0.693280848295,-0.693349938241,-0.693419021814,-0.693488099013,-0.693557169838,-0.693626234288,-0.693695292362,-0.69376434406,-0.693833389381,-0.693902428324,-0.69397146089,-0.694040487076,-0.694109506883,-0.69417852031,-0.694247527356,-0.69431652802,-0.694385522303,-0.694454510203,-0.69452349172,-0.694592466853,-0.694661435601,-0.694730397964,-0.694799353942,-0.694868303532,-0.694937246736,-0.695006183552,-0.69507511398,-0.695144038019,-0.695212955668,-0.695281866927,-0.695350771795,-0.695419670271,-0.695488562356,-0.695557448047,-0.695626327345,-0.695695200249,-0.695764066759,-0.695832926873,-0.695901780591,-0.695970627913,-0.696039468837,-0.696108303363,-0.696177131491,-0.69624595322,-0.69631476855,-0.696383577478,-0.696452380006,-0.696521176132,-0.696589965856,-0.696658749177,-0.696727526095,-0.696796296608,-0.696865060716,-0.696933818419,-0.697002569716,-0.697071314607,-0.69714005309,-0.697208785165,-0.697277510831,-0.697346230088,-0.697414942935,-0.697483649372,-0.697552349398,-0.697621043012,-0.697689730213,-0.697758411002,-0.697827085377,-0.697895753337,-0.697964414883,-0.698033070013,-0.698101718727,-0.698170361024,-0.698238996904,-0.698307626366,-0.698376249409,-0.698444866033,-0.698513476236,-0.69858208002,-0.698650677381,-0.698719268322,-0.698787852839,-0.698856430934,-0.698925002604,-0.698993567851,-0.699062126672,-0.699130679068,-0.699199225037,-0.69926776458,-0.699336297695,-0.699404824382,-0.69947334464,-0.699541858469,-0.699610365868,-0.699678866836,-0.699747361373,-0.699815849477,-0.69988433115,-0.699952806389,-0.700021275194,-0.700089737565,-0.700158193501,-0.700226643001,-0.700295086064,-0.700363522691,-0.70043195288,-0.700500376631,-0.700568793943,-0.700637204816,-0.700705609248,-0.70077400724,-0.700842398791,-0.700910783899,-0.700979162565,-0.701047534787,-0.701115900566,-0.7011842599,-0.701252612789,-0.701320959232,-0.701389299229,-0.701457632779,-0.701525959881,-0.701594280535,-0.70166259474,-0.701730902496,-0.701799203801,-0.701867498656,-0.701935787059,-0.70200406901,-0.702072344508,-0.702140613553,-0.702208876144,-0.702277132281,-0.702345381962,-0.702413625188,-0.702481861957,-0.702550092269,-0.702618316124,-0.70268653352,-0.702754744457,-0.702822948935,-0.702891146952,-0.702959338509,-0.703027523604,-0.703095702237,-0.703163874407,-0.703232040114,-0.703300199358,-0.703368352136,-0.703436498449,-0.703504638297,-0.703572771678,-0.703640898592,-0.703709019038,-0.703777133016,-0.703845240524,-0.703913341564,-0.703981436133,-0.704049524231,-0.704117605858,-0.704185681012,-0.704253749694,-0.704321811903,-0.704389867637,-0.704457916897,-0.704525959682,-0.704593995991,-0.704662025823,-0.704730049179,-0.704798066056,-0.704866076456,-0.704934080376,-0.705002077817,-0.705070068777,-0.705138053257,-0.705206031255,-0.705274002771,-0.705341967804,-0.705409926354,-0.70547787842,-0.705545824001,-0.705613763097,-0.705681695708,-0.705749621831,-0.705817541468,-0.705885454617,-0.705953361278,-0.706021261449,-0.706089155131,-0.706157042323,-0.706224923024,-0.706292797234,-0.706360664951,-0.706428526176,-0.706496380907,-0.706564229145,-0.706632070888,-0.706699906135,-0.706767734887,-0.706835557142,-0.706903372901,-0.706971182161,-0.707038984923,-0.707106781187,-0.70717457095,-0.707242354214,-0.707310130976,-0.707377901238,-0.707445664997,-0.707513422253,-0.707581173006,-0.707648917256,-0.707716655,-0.70778438624,-0.707852110974,-0.707919829201,-0.707987540921,-0.708055246134,-0.708122944838,-0.708190637033,-0.708258322719,-0.708326001895,-0.70839367456,-0.708461340713,-0.708529000354,-0.708596653483,-0.708664300099,-0.7087319402,-0.708799573788,-0.70886720086,-0.708934821416,-0.709002435456,-0.709070042978,-0.709137643984,-0.709205238471,-0.709272826439,-0.709340407888,-0.709407982816,-0.709475551224,-0.70954311311,-0.709610668475,-0.709678217317,-0.709745759636,-0.70981329543,-0.709880824701,-0.709948347446,-0.710015863666,-0.710083373359,-0.710150876526,-0.710218373164,-0.710285863275,-0.710353346857,-0.71042082391,-0.710488294432,-0.710555758424,-0.710623215884,-0.710690666813,-0.710758111209,-0.710825549072,-0.710892980401,-0.710960405196,-0.711027823456,-0.71109523518,-0.711162640368,-0.711230039019,-0.711297431133,-0.711364816708,-0.711432195745,-0.711499568243,-0.7115669342,-0.711634293617,-0.711701646493,-0.711768992827,-0.711836332619,-0.711903665867,-0.711970992572,-0.712038312733,-0.712105626348,-0.712172933418,-0.712240233942,-0.71230752792,-0.71237481535,-0.712442096231,-0.712509370565,-0.712576638349,-0.712643899583,-0.712711154267,-0.712778402399,-0.71284564398,-0.712912879009,-0.712980107484,-0.713047329406,-0.713114544774,-0.713181753587,-0.713248955845,-0.713316151547,-0.713383340692,-0.71345052328,-0.713517699309,-0.713584868781,-0.713652031693,-0.713719188046,-0.713786337838,-0.713853481069,-0.713920617738,-0.713987747846,-0.71405487139,-0.714121988372,-0.714189098789,-0.714256202641,-0.714323299928,-0.714390390649,-0.714457474804,-0.714524552392,-0.714591623411,-0.714658687863,-0.714725745745,-0.714792797058,-0.714859841801,-0.714926879972,-0.714993911573,-0.715060936601,-0.715127955056,-0.715194966939,-0.715261972247,-0.715328970981,-0.715395963139,-0.715462948722,-0.715529927729,-0.715596900158,-0.71566386601,-0.715730825284,-0.715797777979,-0.715864724094,-0.715931663629,-0.715998596584,-0.716065522957,-0.716132442748,-0.716199355957,-0.716266262583,-0.716333162625,-0.716400056082,-0.716466942955,-0.716533823242,-0.716600696943,-0.716667564056,-0.716734424583,-0.716801278521,-0.716868125871,-0.716934966631,-0.717001800802,-0.717068628381,-0.71713544937,-0.717202263767,-0.717269071572,-0.717335872784,-0.717402667402,-0.717469455425,-0.717536236854,-0.717603011688,-0.717669779926,-0.717736541566,-0.71780329661,-0.717870045056,-0.717936786903,-0.718003522151,-0.718070250799,-0.718136972847,-0.718203688294,-0.71827039714,-0.718337099383,-0.718403795023,-0.718470484061,-0.718537166494,-0.718603842322,-0.718670511545,-0.718737174162,-0.718803830173,-0.718870479577,-0.718937122373,-0.71900375856,-0.719070388139,-0.719137011108,-0.719203627467,-0.719270237216,-0.719336840353,-0.719403436878,-0.71947002679,-0.719536610089,-0.719603186774,-0.719669756845,-0.719736320301,-0.719802877141,-0.719869427365,-0.719935970972,-0.720002507961,-0.720069038333,-0.720135562085,-0.720202079219,-0.720268589732,-0.720335093625,-0.720401590897,-0.720468081546,-0.720534565574,-0.720601042978,-0.720667513759,-0.720733977916,-0.720800435448,-0.720866886354,-0.720933330634,-0.720999768288,-0.721066199315,-0.721132623713,-0.721199041483,-0.721265452624,-0.721331857135,-0.721398255016,-0.721464646266,-0.721531030884,-0.72159740887,-0.721663780224,-0.721730144944,-0.72179650303,-0.721862854481,-0.721929199298,-0.721995537478,-0.722061869022,-0.722128193929,-0.722194512199,-0.72226082383,-0.722327128822,-0.722393427175,-0.722459718887,-0.722526003959,-0.72259228239,-0.722658554179,-0.722724819325,-0.722791077828,-0.722857329687,-0.722923574902,-0.722989813472,-0.723056045397,-0.723122270675,-0.723188489307,-0.723254701291,-0.723320906627,-0.723387105314,-0.723453297353,-0.723519482741,-0.723585661479,-0.723651833566,-0.723717999001,-0.723784157784,-0.723850309915,-0.723916455391,-0.723982594214,-0.724048726382,-0.724114851895,-0.724180970751,-0.724247082951,-0.724313188495,-0.72437928738,-0.724445379607,-0.724511465175,-0.724577544084,-0.724643616332,-0.724709681919,-0.724775740846,-0.72484179311,-0.724907838712,-0.72497387765,-0.725039909925,-0.725105935535,-0.72517195448,-0.72523796676,-0.725303972373,-0.72536997132,-0.725435963599,-0.72550194921,-0.725567928152,-0.725633900425,-0.725699866028,-0.725765824961,-0.725831777223,-0.725897722813,-0.72596366173,-0.726029593975,-0.726095519546,-0.726161438444,-0.726227350666,-0.726293256213,-0.726359155084,-0.726425047279,-0.726490932796,-0.726556811636,-0.726622683798,-0.72668854928,-0.726754408083,-0.726820260206,-0.726886105648,-0.726951944408,-0.727017776487,-0.727083601883,-0.727149420595,-0.727215232624,-0.727281037969,-0.727346836628,-0.727412628602,-0.72747841389,-0.727544192491,-0.727609964404,-0.72767572963,-0.727741488167,-0.727807240014,-0.727872985172,-0.727938723639,-0.728004455415,-0.7280701805,-0.728135898892,-0.728201610591,-0.728267315597,-0.728333013909,-0.728398705526,-0.728464390448,-0.728530068674,-0.728595740204,-0.728661405036,-0.728727063171,-0.728792714607,-0.728858359345,-0.728923997383,-0.728989628721,-0.729055253358,-0.729120871293,-0.729186482527,-0.729252087059,-0.729317684887,-0.729383276012,-0.729448860432,-0.729514438147,-0.729580009157,-0.72964557346,-0.729711131057,-0.729776681947,-0.729842226128,-0.729907763601,-0.729973294365,-0.730038818419,-0.730104335763,-0.730169846395,-0.730235350317,-0.730300847526,-0.730366338022,-0.730431821805,-0.730497298874,-0.730562769228,-0.730628232867,-0.73069368979,-0.730759139997,-0.730824583487,-0.73089002026,-0.730955450314,-0.731020873649,-0.731086290265,-0.731151700162,-0.731217103337,-0.731282499791,-0.731347889524,-0.731413272534,-0.731478648821,-0.731544018385,-0.731609381224,-0.731674737338,-0.731740086728,-0.731805429391,-0.731870765327,-0.731936094537,-0.732001417018,-0.732066732771,-0.732132041795,-0.73219734409,-0.732262639654,-0.732327928488,-0.73239321059,-0.73245848596,-0.732523754598,-0.732589016502,-0.732654271672,-0.732719520109,-0.73278476181,-0.732849996775,-0.732915225005,-0.732980446497,-0.733045661252,-0.733110869269,-0.733176070548,-0.733241265087,-0.733306452887,-0.733371633946,-0.733436808264,-0.733501975841,-0.733567136675,-0.733632290766,-0.733697438115,-0.733762578719,-0.733827712578,-0.733892839693,-0.733957960061,-0.734023073684,-0.734088180559,-0.734153280687,-0.734218374066,-0.734283460697,-0.734348540578,-0.73441361371,-0.73447868009,-0.73454373972,-0.734608792598,-0.734673838723,-0.734738878096,-0.734803910715,-0.73486893658,-0.73493395569,-0.734998968044,-0.735063973643,-0.735128972485,-0.73519396457,-0.735258949898,-0.735323928467,-0.735388900277,-0.735453865327,-0.735518823618,-0.735583775147,-0.735648719916,-0.735713657922,-0.735778589166,-0.735843513646,-0.735908431363,-0.735973342316,-0.736038246504,-0.736103143926,-0.736168034582,-0.736232918472,-0.736297795594,-0.736362665948,-0.736427529534,-0.736492386351,-0.736557236398,-0.736622079675,-0.736686916181,-0.736751745915,-0.736816568877,-0.736881385067,-0.736946194484,-0.737010997126,-0.737075792994,-0.737140582087,-0.737205364405,-0.737270139946,-0.73733490871,-0.737399670697,-0.737464425906,-0.737529174337,-0.737593915988,-0.737658650859,-0.73772337895,-0.73778810026,-0.737852814788,-0.737917522535,-0.737982223498,-0.738046917678,-0.738111605074,-0.738176285686,-0.738240959512,-0.738305626552,-0.738370286807,-0.738434940274,-0.738499586954,-0.738564226845,-0.738628859948,-0.738693486262,-0.738758105785,-0.738822718519,-0.738887324461,-0.738951923611,-0.739016515969,-0.739081101534,-0.739145680306,-0.739210252284,-0.739274817467,-0.739339375854,-0.739403927446,-0.739468472242,-0.73953301024,-0.739597541441,-0.739662065843,-0.739726583447,-0.739791094251,-0.739855598256,-0.73992009546,-0.739984585862,-0.740049069463,-0.740113546261,-0.740178016257,-0.740242479449,-0.740306935836,-0.740371385419,-0.740435828197,-0.740500264169,-0.740564693334,-0.740629115692,-0.740693531242,-0.740757939984,-0.740822341918,-0.740886737041,-0.740951125355,-0.741015506858,-0.74107988155,-0.74114424943,-0.741208610497,-0.741272964751,-0.741337312192,-0.741401652819,-0.741465986631,-0.741530313627,-0.741594633807,-0.741658947171,-0.741723253718,-0.741787553447,-0.741851846357,-0.741916132449,-0.741980411721,-0.742044684173,-0.742108949804,-0.742173208614,-0.742237460602,-0.742301705767,-0.74236594411,-0.742430175629,-0.742494400323,-0.742558618193,-0.742622829237,-0.742687033455,-0.742751230847,-0.742815421411,-0.742879605148,-0.742943782056,-0.743007952135,-0.743072115385,-0.743136271804,-0.743200421393,-0.74326456415,-0.743328700076,-0.743392829169,-0.743456951429,-0.743521066855,-0.743585175447,-0.743649277203,-0.743713372125,-0.74377746021,-0.743841541459,-0.743905615871,-0.743969683445,-0.74403374418,-0.744097798076,-0.744161845133,-0.74422588535,-0.744289918725,-0.74435394526,-0.744417964952,-0.744481977802,-0.744545983809,-0.744609982972,-0.744673975291,-0.744737960765,-0.744801939394,-0.744865911176,-0.744929876112,-0.744993834201,-0.745057785441,-0.745121729834,-0.745185667377,-0.745249598071,-0.745313521914,-0.745377438907,-0.745441349049,-0.745505252338,-0.745569148775,-0.745633038359,-0.745696921089,-0.745760796965,-0.745824665986,-0.745888528152,-0.745952383461,-0.746016231914,-0.74608007351,-0.746143908248,-0.746207736127,-0.746271557148,-0.746335371309,-0.74639917861,-0.74646297905,-0.746526772628,-0.746590559345,-0.746654339199,-0.746718112191,-0.746781878318,-0.746845637581,-0.74690938998,-0.746973135513,-0.74703687418,-0.74710060598,-0.747164330913,-0.747228048979,-0.747291760176,-0.747355464504,-0.747419161963,-0.747482852551,-0.747546536269,-0.747610213115,-0.74767388309,-0.747737546192,-0.747801202421,-0.747864851777,-0.747928494258,-0.747992129864,-0.748055758595,-0.74811938045,-0.748182995429,-0.74824660353,-0.748310204754,-0.748373799099,-0.748437386566,-0.748500967153,-0.74856454086,-0.748628107686,-0.748691667631,-0.748755220695,-0.748818766875,-0.748882306173,-0.748945838588,-0.749009364118,-0.749072882763,-0.749136394523,-0.749199899398,-0.749263397385,-0.749326888486,-0.749390372699,-0.749453850024,-0.74951732046,-0.749580784006,-0.749644240663,-0.749707690429,-0.749771133304,-0.749834569287,-0.749897998378,-0.749961420576,-0.75002483588,-0.750088244291,-0.750151645806,-0.750215040427,-0.750278428151,-0.75034180898,-0.750405182911,-0.750468549945,-0.75053191008,-0.750595263317,-0.750658609655,-0.750721949092,-0.750785281629,-0.750848607265,-0.750911926,-0.750975237832,-0.751038542762,-0.751101840788,-0.75116513191,-0.751228416127,-0.75129169344,-0.751354963846,-0.751418227347,-0.75148148394,-0.751544733626,-0.751607976404,-0.751671212274,-0.751734441234,-0.751797663284,-0.751860878424,-0.751924086654,-0.751987287971,-0.752050482377,-0.75211366987,-0.752176850449,-0.752240024115,-0.752303190866,-0.752366350702,-0.752429503623,-0.752492649627,-0.752555788715,-0.752618920886,-0.752682046138,-0.752745164472,-0.752808275887,-0.752871380382,-0.752934477957,-0.752997568612,-0.753060652344,-0.753123729155,-0.753186799044,-0.753249862009,-0.75331291805,-0.753375967167,-0.75343900936,-0.753502044627,-0.753565072968,-0.753628094382,-0.753691108869,-0.753754116428,-0.753817117059,-0.753880110761,-0.753943097533,-0.754006077376,-0.754069050288,-0.754132016268,-0.754194975317,-0.754257927433,-0.754320872617,-0.754383810866,-0.754446742182,-0.754509666563,-0.754572584008,-0.754635494518,-0.754698398092,-0.754761294728,-0.754824184426,-0.754887067187,-0.754949943009,-0.755012811891,-0.755075673834,-0.755138528836,-0.755201376897,-0.755264218016,-0.755327052193,-0.755389879427,-0.755452699718,-0.755515513065,-0.755578319467,-0.755641118924,-0.755703911436,-0.755766697001,-0.75582947562,-0.755892247291,-0.755955012014,-0.756017769788,-0.756080520614,-0.756143264489,-0.756206001414,-0.756268731389,-0.756331454412,-0.756394170483,-0.756456879601,-0.756519581766,-0.756582276977,-0.756644965234,-0.756707646536,-0.756770320883,-0.756832988273,-0.756895648707,-0.756958302184,-0.757020948703,-0.757083588263,-0.757146220865,-0.757208846506,-0.757271465188,-0.75733407691,-0.757396681669,-0.757459279468,-0.757521870303,-0.757584454176,-0.757647031085,-0.75770960103,-0.757772164011,-0.757834720026,-0.757897269075,-0.757959811158,-0.758022346273,-0.758084874422,-0.758147395602,-0.758209909813,-0.758272417055,-0.758334917327,-0.758397410629,-0.75845989696,-0.758522376319,-0.758584848705,-0.75864731412,-0.75870977256,-0.758772224027,-0.75883466852,-0.758897106037,-0.758959536579,-0.759021960145,-0.759084376733,-0.759146786345,-0.759209188978,-0.759271584633,-0.759333973309,-0.759396355006,-0.759458729722,-0.759521097457,-0.759583458211,-0.759645811984,-0.759708158773,-0.75977049858,-0.759832831403,-0.759895157241,-0.759957476095,-0.760019787964,-0.760082092846,-0.760144390742,-0.760206681651,-0.760268965573,-0.760331242506,-0.76039351245,-0.760455775405,-0.76051803137,-0.760580280344,-0.760642522328,-0.760704757319,-0.760766985319,-0.760829206325,-0.760891420339,-0.760953627358,-0.761015827383,-0.761078020412,-0.761140206446,-0.761202385484,-0.761264557525,-0.761326722569,-0.761388880615,-0.761451031662,-0.76151317571,-0.761575312758,-0.761637442806,-0.761699565854,-0.761761681899,-0.761823790943,-0.761885892985,-0.761947988023,-0.762010076058,-0.762072157089,-0.762134231114,-0.762196298135,-0.762258358149,-0.762320411157,-0.762382457158,-0.762444496151,-0.762506528136,-0.762568553112,-0.762630571078,-0.762692582035,-0.762754585981,-0.762816582917,-0.76287857284,-0.762940555752,-0.76300253165,-0.763064500535,-0.763126462407,-0.763188417263,-0.763250365105,-0.763312305931,-0.763374239741,-0.763436166534,-0.76349808631,-0.763559999068,-0.763621904807,-0.763683803528,-0.763745695228,-0.763807579909,-0.763869457569,-0.763931328207,-0.763993191824,-0.764055048418,-0.764116897989,-0.764178740536,-0.764240576059,-0.764302404558,-0.764364226031,-0.764426040479,-0.7644878479,-0.764549648293,-0.76461144166,-0.764673227998,-0.764735007308,-0.764796779588,-0.764858544838,-0.764920303058,-0.764982054247,-0.765043798405,-0.76510553553,-0.765167265622,-0.765228988682,-0.765290704707,-0.765352413699,-0.765414115655,-0.765475810575,-0.76553749846,-0.765599179308,-0.765660853119,-0.765722519892,-0.765784179626,-0.765845832322,-0.765907477978,-0.765969116594,-0.76603074817,-0.766092372704,-0.766153990196,-0.766215600647,-0.766277204054,-0.766338800418,-0.766400389738,-0.766461972013,-0.766523547243,-0.766585115427,-0.766646676565,-0.766708230657,-0.7667697777,-0.766831317696,-0.766892850643,-0.766954376542,-0.76701589539,-0.767077407188,-0.767138911936,-0.767200409632,-0.767261900276,-0.767323383868,-0.767384860406,-0.767446329891,-0.767507792322,-0.767569247698,-0.767630696018,-0.767692137283,-0.767753571491,-0.767814998642,-0.767876418736,-0.767937831772,-0.767999237748,-0.768060636666,-0.768122028523,-0.768183413321,-0.768244791057,-0.768306161731,-0.768367525344,-0.768428881894,-0.768490231381,-0.768551573804,-0.768612909162,-0.768674237456,-0.768735558684,-0.768796872846,-0.768858179941,-0.76891947997,-0.76898077293,-0.769042058822,-0.769103337646,-0.769164609399,-0.769225874083,-0.769287131697,-0.769348382239,-0.76940962571,-0.769470862108,-0.769532091433,-0.769593313685,-0.769654528864,-0.769715736967,-0.769776937996,-0.769838131949,-0.769899318826,-0.769960498626,-0.770021671348,-0.770082836993,-0.77014399556,-0.770205147047,-0.770266291455,-0.770327428783,-0.77038855903,-0.770449682196,-0.77051079828,-0.770571907281,-0.7706330092,-0.770694104035,-0.770755191786,-0.770816272453,-0.770877346034,-0.77093841253,-0.770999471939,-0.771060524262,-0.771121569497,-0.771182607644,-0.771243638702,-0.771304662672,-0.771365679552,-0.771426689341,-0.77148769204,-0.771548687647,-0.771609676163,-0.771670657586,-0.771731631916,-0.771792599152,-0.771853559294,-0.771914512342,-0.771975458294,-0.77203639715,-0.77209732891,-0.772158253573,-0.772219171139,-0.772280081606,-0.772340984975,-0.772401881245,-0.772462770415,-0.772523652484,-0.772584527453,-0.77264539532,-0.772706256086,-0.772767109748,-0.772827956308,-0.772888795764,-0.772949628116,-0.773010453363,-0.773071271504,-0.77313208254,-0.773192886469,-0.773253683291,-0.773314473006,-0.773375255613,-0.77343603111,-0.773496799499,-0.773557560778,-0.773618314946,-0.773679062003,-0.773739801949,-0.773800534783,-0.773861260504,-0.773921979112,-0.773982690607,-0.774043394987,-0.774104092252,-0.774164782402,-0.774225465436,-0.774286141353,-0.774346810154,-0.774407471836,-0.774468126401,-0.774528773846,-0.774589414173,-0.774650047379,-0.774710673466,-0.774771292431,-0.774831904274,-0.774892508996,-0.774953106595,-0.775013697071,-0.775074280423,-0.77513485665,-0.775195425753,-0.77525598773,-0.775316542582,-0.775377090306,-0.775437630904,-0.775498164374,-0.775558690716,-0.775619209929,-0.775679722013,-0.775740226967,-0.77580072479,-0.775861215483,-0.775921699043,-0.775982175472,-0.776042644768,-0.776103106931,-0.77616356196,-0.776224009855,-0.776284450615,-0.776344884239,-0.776405310728,-0.77646573008,-0.776526142295,-0.776586547372,-0.776646945311,-0.776707336111,-0.776767719772,-0.776828096293,-0.776888465673,-0.776948827913,-0.777009183011,-0.777069530967,-0.77712987178,-0.77719020545,-0.777250531976,-0.777310851358,-0.777371163595,-0.777431468687,-0.777491766632,-0.777552057431,-0.777612341083,-0.777672617588,-0.777732886944,-0.777793149151,-0.777853404209,-0.777913652118,-0.777973892876,-0.778034126482,-0.778094352938,-0.778154572241,-0.778214784392,-0.778274989389,-0.778335187233,-0.778395377922,-0.778455561457,-0.778515737836,-0.778575907059,-0.778636069126,-0.778696224036,-0.778756371788,-0.778816512381,-0.778876645817,-0.778936772093,-0.778996891209,-0.779057003164,-0.779117107959,-0.779177205593,-0.779237296064,-0.779297379373,-0.779357455518,-0.7794175245,-0.779477586318,-0.779537640971,-0.779597688458,-0.77965772878,-0.779717761935,-0.779777787923,-0.779837806744,-0.779897818396,-0.77995782288,-0.780017820195,-0.78007781034,-0.780137793314,-0.780197769118,-0.78025773775,-0.780317699211,-0.780377653499,-0.780437600613,-0.780497540555,-0.780557473322,-0.780617398914,-0.780677317331,-0.780737228572,-0.780797132637,-0.780857029525,-0.780916919235,-0.780976801768,-0.781036677122,-0.781096545296,-0.781156406291,-0.781216260106,-0.78127610674,-0.781335946193,-0.781395778464,-0.781455603552,-0.781515421458,-0.78157523218,-0.781635035718,-0.781694832071,-0.781754621239,-0.781814403222,-0.781874178018,-0.781933945627,-0.781993706049,-0.782053459283,-0.782113205328,-0.782172944185,-0.782232675852,-0.782292400329,-0.782352117615,-0.78241182771,-0.782471530613,-0.782531226324,-0.782590914842,-0.782650596167,-0.782710270297,-0.782769937233,-0.782829596975,-0.78288924952,-0.782948894869,-0.783008533022,-0.783068163977,-0.783127787735,-0.783187404294,-0.783247013655,-0.783306615816,-0.783366210777,-0.783425798537,-0.783485379096,-0.783544952454,-0.78360451861,-0.783664077562,-0.783723629312,-0.783783173858,-0.783842711199,-0.783902241336,-0.783961764266,-0.784021279991,-0.78408078851,-0.784140289821,-0.784199783925,-0.78425927082,-0.784318750507,-0.784378222984,-0.784437688252,-0.784497146309,-0.784556597156,-0.78461604079,-0.784675477213,-0.784734906423,-0.78479432842,-0.784853743204,-0.784913150773,-0.784972551128,-0.785031944267,-0.78509133019,-0.785150708897,-0.785210080387,-0.78526944466,-0.785328801714,-0.78538815155,-0.785447494167,-0.785506829564,-0.785566157741,-0.785625478697,-0.785684792432,-0.785744098945,-0.785803398236,-0.785862690303,-0.785921975148,-0.785981252768,-0.786040523163,-0.786099786334,-0.786159042279,-0.786218290997,-0.786277532489,-0.786336766754,-0.786395993791,-0.786455213599,-0.786514426179,-0.786573631529,-0.786632829648,-0.786692020538,-0.786751204196,-0.786810380623,-0.786869549817,-0.786928711779,-0.786987866507,-0.787047014002,-0.787106154262,-0.787165287288,-0.787224413078,-0.787283531631,-0.787342642949,-0.787401747029,-0.787460843872,-0.787519933476,-0.787579015842,-0.787638090968,-0.787697158855,-0.787756219501,-0.787815272907,-0.787874319071,-0.787933357993,-0.787992389673,-0.788051414109,-0.788110431302,-0.788169441251,-0.788228443955,-0.788287439414,-0.788346427627,-0.788405408593,-0.788464382313,-0.788523348786,-0.78858230801,-0.788641259986,-0.788700204714,-0.788759142191,-0.788818072418,-0.788876995395,-0.788935911121,-0.788994819595,-0.789053720816,-0.789112614785,-0.7891715015,-0.789230380962,-0.789289253169,-0.789348118121,-0.789406975818,-0.789465826258,-0.789524669442,-0.789583505369,-0.789642334038,-0.789701155449,-0.789759969601,-0.789818776494,-0.789877576127,-0.789936368499,-0.789995153611,-0.790053931461,-0.790112702049,-0.790171465375,-0.790230221437,-0.790288970236,-0.790347711771,-0.790406446041,-0.790465173046,-0.790523892785,-0.790582605257,-0.790641310463,-0.790700008402,-0.790758699072,-0.790817382474,-0.790876058607,-0.790934727471,-0.790993389064,-0.791052043386,-0.791110690438,-0.791169330218,-0.791227962725,-0.79128658796,-0.791345205921,-0.791403816609,-0.791462420022,-0.79152101616,-0.791579605023,-0.791638186609,-0.791696760919,-0.791755327952,-0.791813887707,-0.791872440184,-0.791930985383,-0.791989523302,-0.792048053941,-0.7921065773,-0.792165093378,-0.792223602175,-0.79228210369,-0.792340597922,-0.792399084871,-0.792457564537,-0.792516036918,-0.792574502015,-0.792632959827,-0.792691410353,-0.792749853593,-0.792808289546,-0.792866718212,-0.79292513959,-0.792983553679,-0.793041960479,-0.79310035999,-0.793158752211,-0.793217137142,-0.793275514781,-0.793333885129,-0.793392248185,-0.793450603948,-0.793508952417,-0.793567293593,-0.793625627475,-0.793683954062,-0.793742273353,-0.793800585349,-0.793858890048,-0.79391718745,-0.793975477554,-0.794033760361,-0.794092035869,-0.794150304078,-0.794208564987,-0.794266818596,-0.794325064904,-0.794383303911,-0.794441535616,-0.794499760019,-0.794557977119,-0.794616186915,-0.794674389408,-0.794732584596,-0.794790772479,-0.794848953057,-0.794907126328,-0.794965292293,-0.795023450951,-0.795081602301,-0.795139746343,-0.795197883076,-0.7952560125,-0.795314134613,-0.795372249417,-0.79543035691,-0.795488457091,-0.79554654996,-0.795604635517,-0.795662713761,-0.795720784691,-0.795778848307,-0.795836904609,-0.795894953595,-0.795952995266,-0.79601102962,-0.796069056658,-0.796127076378,-0.796185088781,-0.796243093865,-0.79630109163,-0.796359082076,-0.796417065202,-0.796475041008,-0.796533009492,-0.796590970655,-0.796648924495,-0.796706871013,-0.796764810208,-0.79682274208,-0.796880666627,-0.796938583849,-0.796996493746,-0.797054396317,-0.797112291562,-0.79717017948,-0.79722806007,-0.797285933333,-0.797343799267,-0.797401657872,-0.797459509147,-0.797517353093,-0.797575189708,-0.797633018991,-0.797690840943,-0.797748655563,-0.79780646285,-0.797864262804,-0.797922055424,-0.79797984071,-0.798037618661,-0.798095389276,-0.798153152556,-0.798210908499,-0.798268657105,-0.798326398373,-0.798384132304,-0.798441858896,-0.798499578149,-0.798557290062,-0.798614994635,-0.798672691867,-0.798730381758,-0.798788064308,-0.798845739515,-0.798903407379,-0.7989610679,-0.799018721077,-0.799076366909,-0.799134005397,-0.799191636539,-0.799249260335,-0.799306876785,-0.799364485888,-0.799422087643,-0.79947968205,-0.799537269108,-0.799594848817,-0.799652421176,-0.799709986186,-0.799767543844,-0.799825094151,-0.799882637106,-0.799940172709,-0.799997700959,-0.800055221856,-0.800112735399,-0.800170241587,-0.80022774042,-0.800285231898,-0.80034271602,-0.800400192785,-0.800457662193,-0.800515124243,-0.800572578935,-0.800630026269,-0.800687466243,-0.800744898857,-0.800802324112,-0.800859742005,-0.800917152537,-0.800974555708,-0.801031951515,-0.80108933996,-0.801146721042,-0.80120409476,-0.801261461113,-0.801318820101,-0.801376171723,-0.80143351598,-0.801490852869,-0.801548182392,-0.801605504547,-0.801662819334,-0.801720126752,-0.801777426801,-0.80183471948,-0.801892004789,-0.801949282727,-0.802006553293,-0.802063816488,-0.802121072311,-0.80217832076,-0.802235561836,-0.802292795538,-0.802350021866,-0.802407240818,-0.802464452395,-0.802521656596,-0.80257885342,-0.802636042867,-0.802693224937,-0.802750399628,-0.802807566941,-0.802864726874,-0.802921879428,-0.802979024601,-0.803036162393,-0.803093292804,-0.803150415834,-0.803207531481,-0.803264639745,-0.803321740625,-0.803378834122,-0.803435920234,-0.803492998961,-0.803550070303,-0.803607134258,-0.803664190827,-0.803721240009,-0.803778281803,-0.803835316209,-0.803892343226,-0.803949362854,-0.804006375093,-0.804063379941,-0.804120377398,-0.804177367464,-0.804234350139,-0.80429132542,-0.804348293309,-0.804405253805,-0.804462206907,-0.804519152614,-0.804576090926,-0.804633021843,-0.804689945364,-0.804746861488,-0.804803770215,-0.804860671545,-0.804917565476,-0.804974452009,-0.805031331143,-0.805088202877,-0.805145067211,-0.805201924144,-0.805258773676,-0.805315615806,-0.805372450534,-0.805429277859,-0.80548609778,-0.805542910298,-0.805599715412,-0.80565651312,-0.805713303423,-0.805770086321,-0.805826861811,-0.805883629895,-0.805940390571,-0.805997143839,-0.806053889699,-0.80611062815,-0.806167359191,-0.806224082821,-0.806280799042,-0.806337507851,-0.806394209248,-0.806450903233,-0.806507589806,-0.806564268965,-0.80662094071,-0.806677605041,-0.806734261958,-0.806790911459,-0.806847553544,-0.806904188213,-0.806960815464,-0.807017435299,-0.807074047716,-0.807130652714,-0.807187250293,-0.807243840452,-0.807300423192,-0.807356998511,-0.807413566409,-0.807470126886,-0.80752667994,-0.807583225572,-0.80763976378,-0.807696294565,-0.807752817926,-0.807809333862,-0.807865842373,-0.807922343458,-0.807978837117,-0.80803532335,-0.808091802154,-0.808148273531,-0.80820473748,-0.808261194,-0.808317643091,-0.808374084751,-0.808430518982,-0.808486945781,-0.808543365149,-0.808599777085,-0.808656181588,-0.808712578659,-0.808768968296,-0.808825350499,-0.808881725267,-0.8089380926,-0.808994452498,-0.80905080496,-0.809107149985,-0.809163487572,-0.809219817723,-0.809276140435,-0.809332455708,-0.809388763542,-0.809445063937,-0.809501356891,-0.809557642404,-0.809613920476,-0.809670191106,-0.809726454294,-0.80978271004,-0.809838958341,-0.809895199199,-0.809951432613,-0.810007658582,-0.810063877105,-0.810120088182,-0.810176291813,-0.810232487997,-0.810288676733,-0.810344858022,-0.810401031862,-0.810457198253,-0.810513357194,-0.810569508685,-0.810625652726,-0.810681789315,-0.810737918453,-0.810794040139,-0.810850154372,-0.810906261152,-0.810962360479,-0.811018452351,-0.811074536768,-0.811130613731,-0.811186683237,-0.811242745287,-0.811298799881,-0.811354847017,-0.811410886695,-0.811466918916,-0.811522943677,-0.811578960979,-0.811634970821,-0.811690973202,-0.811746968123,-0.811802955583,-0.81185893558,-0.811914908115,-0.811970873187,-0.812026830796,-0.81208278094,-0.81213872362,-0.812194658836,-0.812250586585,-0.812306506869,-0.812362419686,-0.812418325036,-0.812474222918,-0.812530113333,-0.812585996278,-0.812641871755,-0.812697739762,-0.812753600299,-0.812809453365,-0.81286529896,-0.812921137083,-0.812976967734,-0.813032790913,-0.813088606618,-0.813144414849,-0.813200215606,-0.813256008889,-0.813311794696,-0.813367573027,-0.813423343883,-0.813479107261,-0.813534863162,-0.813590611585,-0.81364635253,-0.813702085995,-0.813757811982,-0.813813530489,-0.813869241515,-0.81392494506,-0.813980641124,-0.814036329706,-0.814092010805,-0.814147684422,-0.814203350555,-0.814259009204,-0.814314660369,-0.814370304048,-0.814425940242,-0.81448156895,-0.814537190172,-0.814592803906,-0.814648410153,-0.814704008912,-0.814759600182,-0.814815183964,-0.814870760255,-0.814926329057,-0.814981890367,-0.815037444187,-0.815092990515,-0.815148529351,-0.815204060694,-0.815259584544,-0.8153151009,-0.815370609762,-0.81542611113,-0.815481605002,-0.815537091378,-0.815592570259,-0.815648041642,-0.815703505528,-0.815758961917,-0.815814410807,-0.815869852198,-0.81592528609,-0.815980712482,-0.816036131374,-0.816091542765,-0.816146946655,-0.816202343043,-0.816257731928,-0.816313113311,-0.81636848719,-0.816423853566,-0.816479212437,-0.816534563803,-0.816589907664,-0.816645244018,-0.816700572867,-0.816755894208,-0.816811208042,-0.816866514368,-0.816921813186,-0.816977104494,-0.817032388294,-0.817087664583,-0.817142933361,-0.817198194629,-0.817253448385,-0.817308694629,-0.817363933361,-0.817419164579,-0.817474388284,-0.817529604475,-0.817584813152,-0.817640014313,-0.817695207959,-0.817750394088,-0.817805572701,-0.817860743797,-0.817915907376,-0.817971063436,-0.818026211978,-0.818081353,-0.818136486503,-0.818191612486,-0.818246730948,-0.818301841889,-0.818356945309,-0.818412041206,-0.81846712958,-0.818522210432,-0.818577283759,-0.818632349563,-0.818687407842,-0.818742458595,-0.818797501823,-0.818852537525,-0.8189075657,-0.818962586347,-0.819017599467,-0.819072605059,-0.819127603122,-0.819182593656,-0.81923757666,-0.819292552134,-0.819347520077,-0.819402480489,-0.819457433369,-0.819512378716,-0.819567316531,-0.819622246813,-0.819677169561,-0.819732084774,-0.819786992453,-0.819841892596,-0.819896785204,-0.819951670275,-0.82000654781,-0.820061417807,-0.820116280266,-0.820171135187,-0.820225982569,-0.820280822412,-0.820335654715,-0.820390479478,-0.8204452967,-0.82050010638,-0.820554908519,-0.820609703115,-0.820664490168,-0.820719269678,-0.820774041644,-0.820828806066,-0.820883562943,-0.820938312274,-0.82099305406,-0.821047788299,-0.821102514991,-0.821157234136,-0.821211945733,-0.821266649781,-0.821321346281,-0.821376035231,-0.821430716632,-0.821485390482,-0.821540056781,-0.821594715528,-0.821649366724,-0.821704010367,-0.821758646457,-0.821813274994,-0.821867895977,-0.821922509406,-0.821977115279,-0.822031713597,-0.82208630436,-0.822140887565,-0.822195463214,-0.822250031306,-0.822304591839,-0.822359144814,-0.82241369023,-0.822468228087,-0.822522758383,-0.822577281119,-0.822631796295,-0.822686303908,-0.82274080396,-0.822795296449,-0.822849781376,-0.822904258739,-0.822958728538,-0.823013190772,-0.823067645442,-0.823122092546,-0.823176532084,-0.823230964056,-0.82328538846,-0.823339805298,-0.823394214567,-0.823448616268,-0.8235030104,-0.823557396962,-0.823611775954,-0.823666147376,-0.823720511227,-0.823774867507,-0.823829216215,-0.82388355735,-0.823937890912,-0.8239922169,-0.824046535315,-0.824100846156,-0.824155149421,-0.824209445111,-0.824263733225,-0.824318013762,-0.824372286723,-0.824426552106,-0.824480809911,-0.824535060137,-0.824589302785,-0.824643537853,-0.824697765342,-0.824751985249,-0.824806197576,-0.824860402322,-0.824914599485,-0.824968789066,-0.825022971065,-0.825077145479,-0.82513131231,-0.825185471556,-0.825239623218,-0.825293767294,-0.825347903784,-0.825402032688,-0.825456154004,-0.825510267734,-0.825564373875,-0.825618472428,-0.825672563392,-0.825726646767,-0.825780722552,-0.825834790746,-0.82588885135,-0.825942904362,-0.825996949782,-0.82605098761,-0.826105017845,-0.826159040486,-0.826213055534,-0.826267062987,-0.826321062846,-0.826375055109,-0.826429039776,-0.826483016847,-0.826536986321,-0.826590948197,-0.826644902476,-0.826698849157,-0.826752788238,-0.826806719721,-0.826860643603,-0.826914559885,-0.826968468567,-0.827022369647,-0.827076263125,-0.827130149001,-0.827184027274,-0.827237897943,-0.827291761009,-0.827345616471,-0.827399464328,-0.82745330458,-0.827507137226,-0.827560962265,-0.827614779698,-0.827668589524,-0.827722391741,-0.827776186351,-0.827829973352,-0.827883752743,-0.827937524525,-0.827991288697,-0.828045045258,-0.828098794207,-0.828152535545,-0.828206269271,-0.828259995384,-0.828313713884,-0.828367424771,-0.828421128043,-0.8284748237,-0.828528511742,-0.828582192169,-0.828635864979,-0.828689530173,-0.82874318775,-0.828796837709,-0.82885048005,-0.828904114772,-0.828957741875,-0.829011361359,-0.829064973222,-0.829118577465,-0.829172174087,-0.829225763087,-0.829279344465,-0.829332918221,-0.829386484353,-0.829440042862,-0.829493593747,-0.829547137008,-0.829600672643,-0.829654200653,-0.829707721037,-0.829761233795,-0.829814738925,-0.829868236428,-0.829921726303,-0.829975208549,-0.830028683167,-0.830082150155,-0.830135609513,-0.830189061241,-0.830242505338,-0.830295941803,-0.830349370637,-0.830402791838,-0.830456205406,-0.830509611341,-0.830563009642,-0.830616400309,-0.830669783341,-0.830723158737,-0.830776526498,-0.830829886622,-0.83088323911,-0.83093658396,-0.830989921172,-0.831043250746,-0.831096572682,-0.831149886978,-0.831203193634,-0.83125649265,-0.831309784026,-0.83136306776,-0.831416343852,-0.831469612303,-0.83152287311,-0.831576126274,-0.831629371795,-0.831682609672,-0.831735839904,-0.83178906249,-0.831842277432,-0.831895484727,-0.831948684375,-0.832001876376,-0.83205506073,-0.832108237436,-0.832161406493,-0.832214567901,-0.832267721659,-0.832320867768,-0.832374006226,-0.832427137033,-0.832480260188,-0.832533375692,-0.832586483543,-0.832639583741,-0.832692676286,-0.832745761176,-0.832798838413,-0.832851907994,-0.83290496992,-0.83295802419,-0.833011070804,-0.833064109761,-0.83311714106,-0.833170164702,-0.833223180685,-0.83327618901,-0.833329189675,-0.833382182681,-0.833435168026,-0.83348814571,-0.833541115733,-0.833594078095,-0.833647032794,-0.833699979831,-0.833752919204,-0.833805850914,-0.833858774959,-0.83391169134,-0.833964600056,-0.834017501106,-0.83407039449,-0.834123280207,-0.834176158258,-0.83422902864,-0.834281891355,-0.834334746401,-0.834387593778,-0.834440433486,-0.834493265524,-0.834546089891,-0.834598906587,-0.834651715612,-0.834704516965,-0.834757310645,-0.834810096652,-0.834862874986,-0.834915645647,-0.834968408632,-0.835021163943,-0.835073911579,-0.835126651539,-0.835179383822,-0.835232108429,-0.835284825358,-0.83533753461,-0.835390236183,-0.835442930078,-0.835495616294,-0.835548294829,-0.835600965685,-0.83565362886,-0.835706284354,-0.835758932166,-0.835811572296,-0.835864204743,-0.835916829508,-0.835969446589,-0.836022055985,-0.836074657698,-0.836127251725,-0.836179838066,-0.836232416722,-0.836284987691,-0.836337550974,-0.836390106568,-0.836442654475,-0.836495194694,-0.836547727224,-0.836600252064,-0.836652769214,-0.836705278674,-0.836757780444,-0.836810274522,-0.836862760908,-0.836915239602,-0.836967710603,-0.837020173911,-0.837072629525,-0.837125077445,-0.837177517671,-0.837229950201,-0.837282375035,-0.837334792174,-0.837387201616,-0.83743960336,-0.837491997408,-0.837544383757,-0.837596762407,-0.837649133359,-0.837701496611,-0.837753852163,-0.837806200015,-0.837858540166,-0.837910872615,-0.837963197363,-0.838015514408,-0.83806782375,-0.838120125389,-0.838172419324,-0.838224705555,-0.838276984081,-0.838329254902,-0.838381518017,-0.838433773425,-0.838486021127,-0.838538261122,-0.838590493409,-0.838642717989,-0.838694934859,-0.83874714402,-0.838799345472,-0.838851539214,-0.838903725245,-0.838955903565,-0.839008074174,-0.83906023707,-0.839112392254,-0.839164539726,-0.839216679484,-0.839268811527,-0.839320935857,-0.839373052472,-0.839425161371,-0.839477262555,-0.839529356022,-0.839581441772,-0.839633519805,-0.839685590121,-0.839737652718,-0.839789707597,-0.839841754756,-0.839893794196,-0.839945825916,-0.839997849915,-0.840049866193,-0.840101874749,-0.840153875583,-0.840205868695,-0.840257854084,-0.84030983175,-0.840361801691,-0.840413763908,-0.8404657184,-0.840517665167,-0.840569604208,-0.840621535522,-0.84067345911,-0.84072537497,-0.840777283103,-0.840829183508,-0.840881076183,-0.84093296113,-0.840984838347,-0.841036707833,-0.841088569589,-0.841140423614,-0.841192269908,-0.841244108469,-0.841295939298,-0.841347762394,-0.841399577756,-0.841451385384,-0.841503185278,-0.841554977437,-0.84160676186,-0.841658538548,-0.841710307499,-0.841762068714,-0.841813822191,-0.841865567931,-0.841917305932,-0.841969036194,-0.842020758718,-0.842072473501,-0.842124180545,-0.842175879848,-0.842227571409,-0.842279255229,-0.842330931308,-0.842382599643,-0.842434260236,-0.842485913085,-0.84253755819,-0.842589195551,-0.842640825167,-0.842692447037,-0.842744061162,-0.84279566754,-0.842847266172,-0.842898857056,-0.842950440192,-0.84300201558,-0.84305358322,-0.84310514311,-0.843156695251,-0.843208239642,-0.843259776282,-0.843311305171,-0.843362826308,-0.843414339694,-0.843465845327,-0.843517343207,-0.843568833333,-0.843620315706,-0.843671790324,-0.843723257188,-0.843774716296,-0.843826167648,-0.843877611244,-0.843929047084,-0.843980475166,-0.84403189549,-0.844083308056,-0.844134712864,-0.844186109912,-0.844237499201,-0.84428888073,-0.844340254499,-0.844391620506,-0.844442978752,-0.844494329236,-0.844545671957,-0.844597006916,-0.844648334111,-0.844699653543,-0.84475096521,-0.844802269113,-0.84485356525,-0.844904853621,-0.844956134226,-0.845007407065,-0.845058672137,-0.845109929441,-0.845161178976,-0.845212420744,-0.845263654742,-0.845314880971,-0.84536609943,-0.845417310118,-0.845468513036,-0.845519708182,-0.845570895556,-0.845622075158,-0.845673246987,-0.845724411043,-0.845775567326,-0.845826715834,-0.845877856567,-0.845928989525,-0.845980114708,-0.846031232115,-0.846082341745,-0.846133443598,-0.846184537674,-0.846235623971,-0.846286702491,-0.846337773231,-0.846388836192,-0.846439891373,-0.846490938774,-0.846541978394,-0.846593010233,-0.84664403429,-0.846695050565,-0.846746059058,-0.846797059767,-0.846848052693,-0.846899037834,-0.846950015192,-0.847000984764,-0.84705194655,-0.847102900551,-0.847153846766,-0.847204785193,-0.847255715833,-0.847306638686,-0.84735755375,-0.847408461025,-0.847459360512,-0.847510252208,-0.847561136115,-0.847612012231,-0.847662880555,-0.847713741089,-0.84776459383,-0.847815438779,-0.847866275935,-0.847917105297,-0.847967926866,-0.84801874064,-0.848069546619,-0.848120344803,-0.848171135192,-0.848221917784,-0.848272692579,-0.848323459578,-0.848374218779,-0.848424970181,-0.848475713785,-0.848526449591,-0.848577177596,-0.848627897802,-0.848678610207,-0.848729314812,-0.848780011615,-0.848830700616,-0.848881381815,-0.848932055212,-0.848982720805,-0.849033378594,-0.84908402858,-0.84913467076,-0.849185305136,-0.849235931706,-0.84928655047,-0.849337161428,-0.849387764579,-0.849438359922,-0.849488947457,-0.849539527185,-0.849590099103,-0.849640663212,-0.849691219512,-0.849741768001,-0.849792308679,-0.849842841547,-0.849893366603,-0.849943883847,-0.849994393278,-0.850044894897,-0.850095388702,-0.850145874693,-0.850196352869,-0.850246823231,-0.850297285778,-0.850347740509,-0.850398187424,-0.850448626522,-0.850499057802,-0.850549481266,-0.850599896911,-0.850650304737,-0.850700704745,-0.850751096933,-0.850801481302,-0.850851857849,-0.850902226576,-0.850952587482,-0.851002940566,-0.851053285828,-0.851103623267,-0.851153952883,-0.851204274675,-0.851254588643,-0.851304894787,-0.851355193105,-0.851405483598,-0.851455766266,-0.851506041106,-0.85155630812,-0.851606567307,-0.851656818666,-0.851707062196,-0.851757297898,-0.851807525771,-0.851857745814,-0.851907958027,-0.851958162409,-0.85200835896,-0.85205854768,-0.852108728568,-0.852158901624,-0.852209066847,-0.852259224236,-0.852309373792,-0.852359515513,-0.8524096494,-0.852459775451,-0.852509893667,-0.852560004047,-0.85261010659,-0.852660201296,-0.852710288165,-0.852760367196,-0.852810438388,-0.852860501742,-0.852910557256,-0.85296060493,-0.853010644765,-0.853060676758,-0.853110700911,-0.853160717221,-0.85321072569,-0.853260726316,-0.8533107191,-0.853360704039,-0.853410681135,-0.853460650387,-0.853510611793,-0.853560565355,-0.85361051107,-0.85366044894,-0.853710378962,-0.853760301138,-0.853810215466,-0.853860121946,-0.853910020578,-0.85395991136,-0.854009794293,-0.854059669377,-0.85410953661,-0.854159395992,-0.854209247523,-0.854259091202,-0.854308927029,-0.854358755003,-0.854408575125,-0.854458387392,-0.854508191806,-0.854557988365,-0.85460777707,-0.854657557919,-0.854707330912,-0.854757096049,-0.854806853329,-0.854856602752,-0.854906344317,-0.854956078025,-0.855005803873,-0.855055521863,-0.855105231993,-0.855154934263,-0.855204628673,-0.855254315222,-0.855303993909,-0.855353664735,-0.855403327699,-0.8554529828,-0.855502630037,-0.855552269412,-0.855601900922,-0.855651524567,-0.855701140348,-0.855750748263,-0.855800348313,-0.855849940496,-0.855899524812,-0.855949101261,-0.855998669842,-0.856048230555,-0.8560977834,-0.856147328375,-0.856196865481,-0.856246394717,-0.856295916083,-0.856345429577,-0.8563949352,-0.856444432952,-0.856493922831,-0.856543404838,-0.856592878971,-0.856642345231,-0.856691803616,-0.856741254128,-0.856790696764,-0.856840131525,-0.856889558409,-0.856938977418,-0.85698838855,-0.857037791804,-0.857087187181,-0.857136574679,-0.857185954299,-0.85723532604,-0.857284689901,-0.857334045883,-0.857383393984,-0.857432734204,-0.857482066543,-0.857531390999,-0.857580707574,-0.857630016266,-0.857679317075,-0.85772861,-0.857777895041,-0.857827172198,-0.85787644147,-0.857925702856,-0.857974956357,-0.858024201971,-0.858073439698,-0.858122669538,-0.858171891491,-0.858221105555,-0.858270311731,-0.858319510017,-0.858368700414,-0.858417882922,-0.858467057538,-0.858516224264,-0.858565383099,-0.858614534042,-0.858663677093,-0.858712812251,-0.858761939516,-0.858811058887,-0.858860170365,-0.858909273948,-0.858958369636,-0.859007457429,-0.859056537325,-0.859105609326,-0.85915467343,-0.859203729637,-0.859252777946,-0.859301818357,-0.85935085087,-0.859399875483,-0.859448892197,-0.859497901012,-0.859546901926,-0.859595894939,-0.859644880051,-0.859693857261,-0.859742826569,-0.859791787975,-0.859840741477,-0.859889687077,-0.859938624772,-0.859987554563,-0.860036476449,-0.860085390429,-0.860134296504,-0.860183194673,-0.860232084935,-0.860280967291,-0.860329841738,-0.860378708278,-0.860427566909,-0.860476417632,-0.860525260445,-0.860574095348,-0.860622922341,-0.860671741424,-0.860720552595,-0.860769355855,-0.860818151202,-0.860866938638,-0.86091571816,-0.860964489769,-0.861013253464,-0.861062009245,-0.861110757112,-0.861159497063,-0.861208229099,-0.861256953218,-0.861305669421,-0.861354377707,-0.861403078076,-0.861451770527,-0.861500455059,-0.861549131673,-0.861597800368,-0.861646461143,-0.861695113998,-0.861743758933,-0.861792395946,-0.861841025038,-0.861889646209,-0.861938259456,-0.861986864782,-0.862035462184,-0.862084051662,-0.862132633216,-0.862181206846,-0.862229772551,-0.86227833033,-0.862326880184,-0.862375422111,-0.862423956111,-0.862472482184,-0.86252100033,-0.862569510547,-0.862618012836,-0.862666507196,-0.862714993626,-0.862763472126,-0.862811942697,-0.862860405336,-0.862908860044,-0.862957306821,-0.863005745665,-0.863054176577,-0.863102599555,-0.863151014601,-0.863199421712,-0.863247820889,-0.863296212131,-0.863344595439,-0.86339297081,-0.863441338245,-0.863489697744,-0.863538049305,-0.86358639293,-0.863634728616,-0.863683056364,-0.863731376173,-0.863779688043,-0.863827991973,-0.863876287963,-0.863924576013,-0.863972856122,-0.864021128289,-0.864069392514,-0.864117648797,-0.864165897137,-0.864214137534,-0.864262369987,-0.864310594496,-0.864358811061,-0.86440701968,-0.864455220354,-0.864503413082,-0.864551597864,-0.864599774699,-0.864647943587,-0.864696104527,-0.864744257519,-0.864792402563,-0.864840539658,-0.864888668803,-0.864936789998,-0.864984903243,-0.865033008537,-0.86508110588,-0.865129195272,-0.865177276711,-0.865225350198,-0.865273415731,-0.865321473312,-0.865369522938,-0.865417564611,-0.865465598328,-0.865513624091,-0.865561641897,-0.865609651748,-0.865657653642,-0.865705647579,-0.865753633559,-0.865801611581,-0.865849581645,-0.86589754375,-0.865945497896,-0.865993444082,-0.866041382309,-0.866089312575,-0.86613723488,-0.866185149223,-0.866233055605,-0.866280954025,-0.866328844481,-0.866376726975,-0.866424601505,-0.866472468072,-0.866520326674,-0.866568177311,-0.866616019982,-0.866663854688,-0.866711681428,-0.866759500201,-0.866807311007,-0.866855113845,-0.866902908716,-0.866950695618,-0.866998474552,-0.867046245516,-0.86709400851,-0.867141763534,-0.867189510588,-0.867237249671,-0.867284980782,-0.867332703921,-0.867380419088,-0.867428126282,-0.867475825503,-0.867523516751,-0.867571200024,-0.867618875323,-0.867666542646,-0.867714201995,-0.867761853367,-0.867809496763,-0.867857132183,-0.867904759625,-0.86795237909,-0.867999990577,-0.868047594085,-0.868095189614,-0.868142777164,-0.868190356734,-0.868237928324,-0.868285491934,-0.868333047562,-0.868380595209,-0.868428134873,-0.868475666556,-0.868523190255,-0.868570705971,-0.868618213704,-0.868665713452,-0.868713205216,-0.868760688995,-0.868808164788,-0.868855632595,-0.868903092416,-0.868950544251,-0.868997988098,-0.869045423957,-0.869092851828,-0.869140271711,-0.869187683605,-0.86923508751,-0.869282483424,-0.869329871349,-0.869377251282,-0.869424623225,-0.869471987176,-0.869519343135,-0.869566691101,-0.869614031075,-0.869661363056,-0.869708687042,-0.869756003035,-0.869803311033,-0.869850611035,-0.869897903043,-0.869945187054,-0.869992463069,-0.870039731088,-0.870086991109,-0.870134243132,-0.870181487157,-0.870228723184,-0.870275951212,-0.870323171241,-0.870370383269,-0.870417587298,-0.870464783325,-0.870511971352,-0.870559151377,-0.8706063234,-0.870653487421,-0.870700643438,-0.870747791453,-0.870794931464,-0.87084206347,-0.870889187472,-0.870936303469,-0.87098341146,-0.871030511446,-0.871077603425,-0.871124687398,-0.871171763363,-0.871218831321,-0.87126589127,-0.871312943212,-0.871359987144,-0.871407023067,-0.87145405098,-0.871501070883,-0.871548082775,-0.871595086656,-0.871642082526,-0.871689070383,-0.871736050229,-0.871783022061,-0.87182998588,-0.871876941686,-0.871923889477,-0.871970829254,-0.872017761016,-0.872064684763,-0.872111600493,-0.872158508208,-0.872205407906,-0.872252299586,-0.872299183249,-0.872346058894,-0.872392926521,-0.872439786129,-0.872486637717,-0.872533481286,-0.872580316835,-0.872627144363,-0.87267396387,-0.872720775356,-0.87276757882,-0.872814374261,-0.87286116168,-0.872907941076,-0.872954712448,-0.873001475796,-0.87304823112,-0.873094978418,-0.873141717692,-0.873188448939,-0.873235172161,-0.873281887356,-0.873328594524,-0.873375293664,-0.873421984777,-0.873468667861,-0.873515342917,-0.873562009943,-0.87360866894,-0.873655319907,-0.873701962843,-0.873748597749,-0.873795224623,-0.873841843465,-0.873888454276,-0.873935057053,-0.873981651798,-0.874028238509,-0.874074817186,-0.874121387829,-0.874167950438,-0.874214505011,-0.874261051548,-0.87430759005,-0.874354120515,-0.874400642943,-0.874447157334,-0.874493663687,-0.874540162002,-0.874586652278,-0.874633134516,-0.874679608713,-0.874726074872,-0.874772532989,-0.874818983066,-0.874865425102,-0.874911859097,-0.874958285049,-0.875004702959,-0.875051112826,-0.87509751465,-0.87514390843,-0.875190294165,-0.875236671857,-0.875283041503,-0.875329403104,-0.875375756659,-0.875422102168,-0.87546843963,-0.875514769045,-0.875561090413,-0.875607403732,-0.875653709003,-0.875700006226,-0.875746295399,-0.875792576522,-0.875838849595,-0.875885114618,-0.87593137159,-0.87597762051,-0.876023861379,-0.876070094195,-0.876116318959,-0.87616253567,-0.876208744327,-0.87625494493,-0.876301137479,-0.876347321973,-0.876393498412,-0.876439666796,-0.876485827123,-0.876531979394,-0.876578123608,-0.876624259764,-0.876670387863,-0.876716507904,-0.876762619886,-0.876808723809,-0.876854819673,-0.876900907477,-0.87694698722,-0.876993058903,-0.877039122525,-0.877085178085,-0.877131225583,-0.877177265019,-0.877223296392,-0.877269319701,-0.877315334947,-0.877361342129,-0.877407341246,-0.877453332299,-0.877499315286,-0.877545290207,-0.877591257062,-0.877637215851,-0.877683166572,-0.877729109226,-0.877775043812,-0.87782097033,-0.877866888779,-0.877912799159,-0.877958701469,-0.878004595709,-0.878050481879,-0.878096359978,-0.878142230005,-0.878188091961,-0.878233945845,-0.878279791657,-0.878325629395,-0.87837145906,-0.878417280651,-0.878463094168,-0.87850889961,-0.878554696977,-0.878600486269,-0.878646267485,-0.878692040625,-0.878737805687,-0.878783562673,-0.878829311581,-0.878875052411,-0.878920785162,-0.878966509835,-0.879012226429,-0.879057934942,-0.879103635376,-0.879149327729,-0.879195012001,-0.879240688192,-0.879286356301,-0.879332016328,-0.879377668272,-0.879423312133,-0.879468947911,-0.879514575604,-0.879560195214,-0.879605806739,-0.879651410178,-0.879697005532,-0.8797425928,-0.879788171982,-0.879833743076,-0.879879306084,-0.879924861004,-0.879970407836,-0.880015946579,-0.880061477233,-0.880106999798,-0.880152514274,-0.880198020659,-0.880243518953,-0.880289009157,-0.880334491269,-0.880379965289,-0.880425431217,-0.880470889052,-0.880516338794,-0.880561780443,-0.880607213998,-0.880652639458,-0.880698056824,-0.880743466094,-0.880788867269,-0.880834260348,-0.88087964533,-0.880925022216,-0.880970391004,-0.881015751694,-0.881061104287,-0.881106448781,-0.881151785176,-0.881197113471,-0.881242433667,-0.881287745763,-0.881333049758,-0.881378345652,-0.881423633444,-0.881468913135,-0.881514184723,-0.881559448209,-0.881604703592,-0.881649950871,-0.881695190046,-0.881740421117,-0.881785644083,-0.881830858944,-0.881876065699,-0.881921264348,-0.881966454891,-0.882011637327,-0.882056811656,-0.882101977877,-0.88214713599,-0.882192285994,-0.88223742789,-0.882282561676,-0.882327687352,-0.882372804919,-0.882417914374,-0.882463015719,-0.882508108952,-0.882553194074,-0.882598271083,-0.88264333998,-0.882688400763,-0.882733453433,-0.882778497989,-0.882823534431,-0.882868562758,-0.88291358297,-0.882958595066,-0.883003599047,-0.883048594911,-0.883093582658,-0.883138562288,-0.883183533801,-0.883228497195,-0.883273452471,-0.883318399628,-0.883363338666,-0.883408269584,-0.883453192382,-0.883498107059,-0.883543013616,-0.883587912051,-0.883632802365,-0.883677684556,-0.883722558625,-0.883767424571,-0.883812282393,-0.883857132091,-0.883901973666,-0.883946807116,-0.88399163244,-0.884036449639,-0.884081258713,-0.88412605966,-0.88417085248,-0.884215637173,-0.884260413739,-0.884305182177,-0.884349942486,-0.884394694667,-0.884439438718,-0.88448417464,-0.884528902432,-0.884573622094,-0.884618333624,-0.884663037024,-0.884707732292,-0.884752419428,-0.884797098431,-0.884841769301,-0.884886432039,-0.884931086642,-0.884975733112,-0.885020371447,-0.885065001647,-0.885109623711,-0.88515423764,-0.885198843433,-0.885243441089,-0.885288030609,-0.885332611991,-0.885377185235,-0.885421750341,-0.885466307308,-0.885510856136,-0.885555396825,-0.885599929374,-0.885644453783,-0.885688970051,-0.885733478178,-0.885777978164,-0.885822470007,-0.885866953709,-0.885911429268,-0.885955896683,-0.886000355955,-0.886044807084,-0.886089250067,-0.886133684907,-0.8861781116,-0.886222530149,-0.886266940551,-0.886311342807,-0.886355736917,-0.886400122879,-0.886444500693,-0.88648887036,-0.886533231878,-0.886577585247,-0.886621930467,-0.886666267537,-0.886710596458,-0.886754917228,-0.886799229847,-0.886843534314,-0.88688783063,-0.886932118794,-0.886976398806,-0.887020670664,-0.88706493437,-0.887109189921,-0.887153437319,-0.887197676562,-0.88724190765,-0.887286130582,-0.887330345359,-0.88737455198,-0.887418750444,-0.887462940752,-0.887507122901,-0.887551296894,-0.887595462728,-0.887639620403,-0.887683769919,-0.887727911276,-0.887772044473,-0.88781616951,-0.887860286387,-0.887904395102,-0.887948495656,-0.887992588048,-0.888036672278,-0.888080748345,-0.888124816249,-0.88816887599,-0.888212927566,-0.888256970979,-0.888301006227,-0.88834503331,-0.888389052227,-0.888433062978,-0.888477065564,-0.888521059982,-0.888565046233,-0.888609024317,-0.888652994233,-0.888696955981,-0.88874090956,-0.88878485497,-0.88882879221,-0.88887272128,-0.88891664218,-0.88896055491,-0.889004459468,-0.889048355855,-0.889092244069,-0.889136124112,-0.889179995981,-0.889223859678,-0.889267715201,-0.88931156255,-0.889355401724,-0.889399232724,-0.889443055549,-0.889486870198,-0.889530676671,-0.889574474968,-0.889618265088,-0.889662047031,-0.889705820796,-0.889749586383,-0.889793343792,-0.889837093022,-0.889880834073,-0.889924566944,-0.889968291635,-0.890012008146,-0.890055716476,-0.890099416625,-0.890143108592,-0.890186792378,-0.890230467981,-0.890274135401,-0.890317794637,-0.890361445691,-0.89040508856,-0.890448723245,-0.890492349745,-0.89053596806,-0.890579578189,-0.890623180132,-0.890666773889,-0.890710359459,-0.890753936841,-0.890797506036,-0.890841067043,-0.890884619862,-0.890928164492,-0.890971700932,-0.891015229183,-0.891058749244,-0.891102261115,-0.891145764795,-0.891189260283,-0.89123274758,-0.891276226685,-0.891319697597,-0.891363160317,-0.891406614843,-0.891450061176,-0.891493499315,-0.891536929259,-0.891580351009,-0.891623764563,-0.891667169922,-0.891710567084,-0.891753956051,-0.89179733682,-0.891840709392,-0.891884073767,-0.891927429944,-0.891970777922,-0.892014117701,-0.892057449282,-0.892100772662,-0.892144087843,-0.892187394823,-0.892230693602,-0.892273984181,-0.892317266557,-0.892360540732,-0.892403806704,-0.892447064474,-0.89249031404,-0.892533555403,-0.892576788562,-0.892620013516,-0.892663230265,-0.89270643881,-0.892749639149,-0.892792831282,-0.892836015208,-0.892879190928,-0.892922358441,-0.892965517746,-0.893008668843,-0.893051811732,-0.893094946412,-0.893138072883,-0.893181191144,-0.893224301196,-0.893267403037,-0.893310496667,-0.893353582086,-0.893396659294,-0.89343972829,-0.893482789074,-0.893525841644,-0.893568886002,-0.893611922146,-0.893654950077,-0.893697969793,-0.893740981294,-0.893783984581,-0.893826979651,-0.893869966506,-0.893912945145,-0.893955915567,-0.893998877772,-0.89404183176,-0.89408477753,-0.894127715081,-0.894170644414,-0.894213565528,-0.894256478422,-0.894299383097,-0.894342279551,-0.894385167785,-0.894428047798,-0.894470919589,-0.894513783159,-0.894556638506,-0.894599485631,-0.894642324533,-0.894685155212,-0.894727977667,-0.894770791897,-0.894813597903,-0.894856395685,-0.89489918524,-0.894941966571,-0.894984739675,-0.895027504552,-0.895070261203,-0.895113009626,-0.895155749822,-0.895198481789,-0.895241205528,-0.895283921039,-0.89532662832,-0.895369327371,-0.895412018192,-0.895454700783,-0.895497375143,-0.895540041272,-0.895582699169,-0.895625348834,-0.895667990267,-0.895710623467,-0.895753248434,-0.895795865167,-0.895838473666,-0.895881073931,-0.895923665961,-0.895966249756,-0.896008825316,-0.896051392639,-0.896093951727,-0.896136502577,-0.896179045191,-0.896221579567,-0.896264105705,-0.896306623604,-0.896349133266,-0.896391634688,-0.89643412787,-0.896476612813,-0.896519089516,-0.896561557978,-0.896604018199,-0.896646470179,-0.896688913917,-0.896731349412,-0.896773776665,-0.896816195676,-0.896858606442,-0.896901008965,-0.896943403244,-0.896985789279,-0.897028167068,-0.897070536613,-0.897112897911,-0.897155250964,-0.89719759577,-0.897239932329,-0.897282260641,-0.897324580705,-0.897366892522,-0.89740919609,-0.897451491409,-0.897493778479,-0.897536057299,-0.89757832787,-0.89762059019,-0.897662844259,-0.897705090077,-0.897747327644,-0.897789556959,-0.897831778021,-0.897873990831,-0.897916195388,-0.897958391691,-0.898000579741,-0.898042759536,-0.898084931077,-0.898127094362,-0.898169249393,-0.898211396167,-0.898253534685,-0.898295664947,-0.898337786952,-0.898379900699,-0.898422006189,-0.898464103421,-0.898506192394,-0.898548273108,-0.898590345563,-0.898632409759,-0.898674465694,-0.898716513369,-0.898758552783,-0.898800583936,-0.898842606827,-0.898884621457,-0.898926627824,-0.898968625928,-0.899010615769,-0.899052597347,-0.89909457066,-0.89913653571,-0.899178492495,-0.899220441014,-0.899262381269,-0.899304313257,-0.899346236979,-0.899388152435,-0.899430059624,-0.899471958545,-0.899513849198,-0.899555731584,-0.899597605701,-0.899639471549,-0.899681329127,-0.899723178436,-0.899765019475,-0.899806852244,-0.899848676742,-0.899890492968,-0.899932300923,-0.899974100606,-0.900015892016,-0.900057675154,-0.900099450019,-0.90014121661,-0.900182974927,-0.90022472497,-0.900266466738,-0.900308200231,-0.900349925449,-0.900391642391,-0.900433351056,-0.900475051445,-0.900516743558,-0.900558427392,-0.900600102949,-0.900641770228,-0.900683429229,-0.90072507995,-0.900766722392,-0.900808356555,-0.900849982438,-0.90089160004,-0.900933209361,-0.900974810401,-0.90101640316,-0.901057987636,-0.901099563831,-0.901141131742,-0.901182691371,-0.901224242716,-0.901265785777,-0.901307320554,-0.901348847046,-0.901390365253,-0.901431875175,-0.901473376811,-0.901514870161,-0.901556355225,-0.901597832001,-0.90163930049,-0.901680760692,-0.901722212606,-0.901763656231,-0.901805091567,-0.901846518614,-0.901887937371,-0.901929347839,-0.901970750016,-0.902012143902,-0.902053529498,-0.902094906802,-0.902136275814,-0.902177636533,-0.902218988961,-0.902260333095,-0.902301668935,-0.902342996482,-0.902384315735,-0.902425626694,-0.902466929357,-0.902508223725,-0.902549509798,-0.902590787574,-0.902632057054,-0.902673318237,-0.902714571123,-0.902755815712,-0.902797052002,-0.902838279995,-0.902879499688,-0.902920711082,-0.902961914177,-0.903003108973,-0.903044295468,-0.903085473662,-0.903126643555,-0.903167805147,-0.903208958438,-0.903250103426,-0.903291240112,-0.903332368495,-0.903373488574,-0.90341460035,-0.903455703822,-0.90349679899,-0.903537885853,-0.903578964411,-0.903620034663,-0.903661096609,-0.903702150249,-0.903743195583,-0.903784232609,-0.903825261328,-0.90386628174,-0.903907293843,-0.903948297638,-0.903989293123,-0.9040302803,-0.904071259167,-0.904112229724,-0.90415319197,-0.904194145906,-0.90423509153,-0.904276028843,-0.904316957844,-0.904357878533,-0.904398790909,-0.904439694972,-0.904480590721,-0.904521478157,-0.904562357279,-0.904603228086,-0.904644090578,-0.904684944755,-0.904725790616,-0.904766628162,-0.90480745739,-0.904848278302,-0.904889090897,-0.904929895174,-0.904970691134,-0.905011478775,-0.905052258097,-0.9050930291,-0.905133791784,-0.905174546148,-0.905215292192,-0.905256029916,-0.905296759318,-0.905337480399,-0.905378193159,-0.905418897596,-0.905459593711,-0.905500281504,-0.905540960973,-0.905581632118,-0.90562229494,-0.905662949437,-0.90570359561,-0.905744233458,-0.90578486298,-0.905825484176,-0.905866097047,-0.90590670159,-0.905947297807,-0.905987885697,-0.906028465259,-0.906069036493,-0.906109599398,-0.906150153975,-0.906190700223,-0.906231238141,-0.906271767729,-0.906312288987,-0.906352801915,-0.906393306511,-0.906433802776,-0.906474290709,-0.90651477031,-0.906555241579,-0.906595704515,-0.906636159117,-0.906676605386,-0.906717043321,-0.906757472922,-0.906797894188,-0.906838307119,-0.906878711714,-0.906919107974,-0.906959495897,-0.906999875484,-0.907040246734,-0.907080609646,-0.907120964221,-0.907161310458,-0.907201648356,-0.907241977915,-0.907282299136,-0.907322612016,-0.907362916557,-0.907403212758,-0.907443500618,-0.907483780137,-0.907524051314,-0.90756431415,-0.907604568643,-0.907644814795,-0.907685052603,-0.907725282068,-0.907765503189,-0.907805715966,-0.907845920399,-0.907886116488,-0.907926304231,-0.907966483629,-0.90800665468,-0.908046817386,-0.908086971745,-0.908127117757,-0.908167255422,-0.908207384739,-0.908247505709,-0.908287618329,-0.908327722601,-0.908367818524,-0.908407906097,-0.908447985321,-0.908488056194,-0.908528118716,-0.908568172888,-0.908608218708,-0.908648256176,-0.908688285293,-0.908728306056,-0.908768318467,-0.908808322525,-0.908848318229,-0.90888830558,-0.908928284576,-0.908968255217,-0.909008217503,-0.909048171434,-0.909088117009,-0.909128054228,-0.909167983091,-0.909207903596,-0.909247815744,-0.909287719535,-0.909327614968,-0.909367502042,-0.909407380758,-0.909447251114,-0.909487113112,-0.909526966749,-0.909566812026,-0.909606648943,-0.909646477498,-0.909686297693,-0.909726109525,-0.909765912996,-0.909805708105,-0.90984549485,-0.909885273233,-0.909925043252,-0.909964804907,-0.910004558198,-0.910044303125,-0.910084039686,-0.910123767883,-0.910163487713,-0.910203199178,-0.910242902276,-0.910282597007,-0.910322283372,-0.910361961368,-0.910401630997,-0.910441292258,-0.91048094515,-0.910520589673,-0.910560225827,-0.910599853612,-0.910639473026,-0.91067908407,-0.910718686743,-0.910758281044,-0.910797866975,-0.910837444533,-0.91087701372,-0.910916574533,-0.910956126974,-0.910995671042,-0.911035206735,-0.911074734055,-0.911114253001,-0.911153763571,-0.911193265767,-0.911232759586,-0.911272245031,-0.911311722098,-0.91135119079,-0.911390651104,-0.911430103041,-0.911469546601,-0.911508981782,-0.911548408585,-0.911587827009,-0.911627237054,-0.91166663872,-0.911706032005,-0.911745416911,-0.911784793436,-0.91182416158,-0.911863521343,-0.911902872724,-0.911942215723,-0.91198155034,-0.912020876574,-0.912060194424,-0.912099503892,-0.912138804975,-0.912178097675,-0.91221738199,-0.91225665792,-0.912295925464,-0.912335184623,-0.912374435396,-0.912413677783,-0.912452911783,-0.912492137396,-0.912531354622,-0.912570563459,-0.912609763909,-0.91264895597,-0.912688139642,-0.912727314925,-0.912766481818,-0.912805640322,-0.912844790435,-0.912883932157,-0.912923065488,-0.912962190428,-0.913001306977,-0.913040415133,-0.913079514896,-0.913118606267,-0.913157689245,-0.913196763829,-0.913235830019,-0.913274887815,-0.913313937216,-0.913352978222,-0.913392010833,-0.913431035049,-0.913470050868,-0.91350905829,-0.913548057316,-0.913587047945,-0.913626030177,-0.91366500401,-0.913703969445,-0.913742926482,-0.91378187512,-0.913820815358,-0.913859747197,-0.913898670636,-0.913937585674,-0.913976492312,-0.914015390549,-0.914054280384,-0.914093161817,-0.914132034849,-0.914170899478,-0.914209755704,-0.914248603526,-0.914287442945,-0.914326273961,-0.914365096571,-0.914403910778,-0.914442716579,-0.914481513975,-0.914520302965,-0.914559083549,-0.914597855727,-0.914636619498,-0.914675374862,-0.914714121818,-0.914752860366,-0.914791590506,-0.914830312238,-0.914869025561,-0.914907730474,-0.914946426978,-0.914985115072,-0.915023794755,-0.915062466028,-0.915101128889,-0.91513978334,-0.915178429378,-0.915217067005,-0.915255696218,-0.915294317019,-0.915332929407,-0.915371533382,-0.915410128942,-0.915448716088,-0.91548729482,-0.915525865136,-0.915564427038,-0.915602980523,-0.915641525593,-0.915680062246,-0.915718590483,-0.915757110302,-0.915795621704,-0.915834124688,-0.915872619254,-0.915911105402,-0.91594958313,-0.91598805244,-0.916026513329,-0.916064965799,-0.916103409849,-0.916141845478,-0.916180272686,-0.916218691473,-0.916257101838,-0.916295503781,-0.916333897301,-0.916372282399,-0.916410659074,-0.916449027325,-0.916487387153,-0.916525738556,-0.916564081535,-0.916602416089,-0.916640742218,-0.916679059921,-0.916717369198,-0.916755670049,-0.916793962474,-0.916832246471,-0.916870522041,-0.916908789184,-0.916947047898,-0.916985298184,-0.917023540041,-0.91706177347,-0.917099998468,-0.917138215037,-0.917176423176,-0.917214622885,-0.917252814162,-0.917290997008,-0.917329171423,-0.917367337406,-0.917405494957,-0.917443644075,-0.91748178476,-0.917519917012,-0.91755804083,-0.917596156214,-0.917634263164,-0.917672361679,-0.917710451759,-0.917748533404,-0.917786606613,-0.917824671385,-0.917862727722,-0.917900775621,-0.917938815084,-0.917976846109,-0.918014868696,-0.918052882845,-0.918090888555,-0.918128885827,-0.918166874659,-0.918204855051,-0.918242827004,-0.918280790517,-0.918318745588,-0.918356692219,-0.918394630408,-0.918432560156,-0.918470481462,-0.918508394325,-0.918546298746,-0.918584194723,-0.918622082257,-0.918659961348,-0.918697831994,-0.918735694196,-0.918773547952,-0.918811393264,-0.91884923013,-0.918887058551,-0.918924878525,-0.918962690052,-0.919000493133,-0.919038287766,-0.919076073952,-0.91911385169,-0.91915162098,-0.919189381821,-0.919227134212,-0.919264878155,-0.919302613648,-0.919340340691,-0.919378059283,-0.919415769425,-0.919453471116,-0.919491164355,-0.919528849142,-0.919566525478,-0.919604193361,-0.919641852791,-0.919679503768,-0.919717146291,-0.919754780361,-0.919792405976,-0.919830023137,-0.919867631843,-0.919905232094,-0.919942823889,-0.919980407229,-0.920017982112,-0.920055548538,-0.920093106508,-0.92013065602,-0.920168197074,-0.920205729671,-0.920243253809,-0.920280769489,-0.920318276709,-0.92035577547,-0.920393265772,-0.920430747613,-0.920468220994,-0.920505685914,-0.920543142373,-0.920580590371,-0.920618029907,-0.920655460981,-0.920692883592,-0.920730297741,-0.920767703426,-0.920805100648,-0.920842489406,-0.9208798697,-0.920917241529,-0.920954604894,-0.920991959793,-0.921029306227,-0.921066644194,-0.921103973696,-0.921141294731,-0.921178607299,-0.921215911399,-0.921253207033,-0.921290494198,-0.921327772894,-0.921365043123,-0.921402304882,-0.921439558172,-0.921476802992,-0.921514039342,-0.921551267222,-0.921588486631,-0.921625697569,-0.921662900036,-0.921700094031,-0.921737279554,-0.921774456604,-0.921811625182,-0.921848785286,-0.921885936918,-0.921923080075,-0.921960214758,-0.921997340967,-0.922034458701,-0.92207156796,-0.922108668743,-0.922145761051,-0.922182844882,-0.922219920237,-0.922256987115,-0.922294045516,-0.922331095439,-0.922368136885,-0.922405169852,-0.922442194341,-0.922479210351,-0.922516217881,-0.922553216932,-0.922590207503,-0.922627189594,-0.922664163205,-0.922701128334,-0.922738084982,-0.922775033148,-0.922811972833,-0.922848904035,-0.922885826755,-0.922922740991,-0.922959646745,-0.922996544014,-0.9230334328,-0.923070313101,-0.923107184918,-0.92314404825,-0.923180903096,-0.923217749457,-0.923254587331,-0.92329141672,-0.923328237621,-0.923365050036,-0.923401853963,-0.923438649402,-0.923475436354,-0.923512214817,-0.923548984791,-0.923585746276,-0.923622499272,-0.923659243778,-0.923695979794,-0.92373270732,-0.923769426355,-0.923806136898,-0.923842838951,-0.923879532511,-0.92391621758,-0.923952894156,-0.923989562239,-0.924026221829,-0.924062872926,-0.924099515529,-0.924136149637,-0.924172775252,-0.924209392371,-0.924246000996,-0.924282601125,-0.924319192758,-0.924355775895,-0.924392350535,-0.924428916679,-0.924465474325,-0.924502023474,-0.924538564125,-0.924575096279,-0.924611619933,-0.924648135089,-0.924684641745,-0.924721139902,-0.92475762956,-0.924794110717,-0.924830583373,-0.924867047529,-0.924903503183,-0.924939950336,-0.924976388987,-0.925012819136,-0.925049240783,-0.925085653926,-0.925122058567,-0.925158454703,-0.925194842336,-0.925231221465,-0.92526759209,-0.925303954209,-0.925340307823,-0.925376652932,-0.925412989535,-0.925449317631,-0.925485637221,-0.925521948305,-0.925558250881,-0.925594544949,-0.92563083051,-0.925667107562,-0.925703376106,-0.925739636141,-0.925775887667,-0.925812130683,-0.92584836519,-0.925884591186,-0.925920808672,-0.925957017647,-0.92599321811,-0.926029410062,-0.926065593503,-0.926101768431,-0.926137934846,-0.926174092749,-0.926210242138,-0.926246383014,-0.926282515376,-0.926318639224,-0.926354754558,-0.926390861376,-0.926426959679,-0.926463049467,-0.926499130739,-0.926535203495,-0.926571267734,-0.926607323457,-0.926643370662,-0.92667940935,-0.92671543952,-0.926751461171,-0.926787474305,-0.926823478919,-0.926859475014,-0.92689546259,-0.926931441646,-0.926967412182,-0.927003374197,-0.927039327691,-0.927075272665,-0.927111209117,-0.927147137047,-0.927183056455,-0.92721896734,-0.927254869703,-0.927290763542,-0.927326648858,-0.92736252565,-0.927398393919,-0.927434253662,-0.927470104881,-0.927505947575,-0.927541781743,-0.927577607386,-0.927613424502,-0.927649233093,-0.927685033156,-0.927720824692,-0.927756607701,-0.927792382182,-0.927828148135,-0.92786390556,-0.927899654456,-0.927935394823,-0.92797112666,-0.928006849968,-0.928042564746,-0.928078270993,-0.92811396871,-0.928149657895,-0.92818533855,-0.928221010672,-0.928256674263,-0.928292329321,-0.928327975847,-0.928363613839,-0.928399243299,-0.928434864224,-0.928470476616,-0.928506080473,-0.928541675796,-0.928577262584,-0.928612840836,-0.928648410553,-0.928683971734,-0.928719524379,-0.928755068487,-0.928790604058,-0.928826131092,-0.928861649588,-0.928897159547,-0.928932660967,-0.928968153849,-0.929003638192,-0.929039113995,-0.929074581259,-0.929110039984,-0.929145490168,-0.929180931811,-0.929216364914,-0.929251789475,-0.929287205496,-0.929322612974,-0.92935801191,-0.929393402304,-0.929428784155,-0.929464157462,-0.929499522227,-0.929534878447,-0.929570226124,-0.929605565256,-0.929640895843,-0.929676217885,-0.929711531382,-0.929746836334,-0.929782132739,-0.929817420598,-0.92985269991,-0.929887970675,-0.929923232893,-0.929958486563,-0.929993731685,-0.930028968259,-0.930064196284,-0.93009941576,-0.930134626687,-0.930169829065,-0.930205022892,-0.930240208169,-0.930275384896,-0.930310553072,-0.930345712696,-0.93038086377,-0.930416006291,-0.93045114026,-0.930486265676,-0.93052138254,-0.93055649085,-0.930591590607,-0.930626681811,-0.93066176446,-0.930696838554,-0.930731904094,-0.930766961079,-0.930802009508,-0.930837049382,-0.9308720807,-0.930907103461,-0.930942117665,-0.930977123313,-0.931012120403,-0.931047108936,-0.93108208891,-0.931117060326,-0.931152023184,-0.931186977483,-0.931221923222,-0.931256860402,-0.931291789022,-0.931326709081,-0.93136162058,-0.931396523518,-0.931431417895,-0.931466303711,-0.931501180965,-0.931536049656,-0.931570909785,-0.931605761351,-0.931640604354,-0.931675438794,-0.93171026467,-0.931745081982,-0.931779890729,-0.931814690912,-0.931849482529,-0.931884265582,-0.931919040068,-0.931953805989,-0.931988563343,-0.932023312131,-0.932058052351,-0.932092784005,-0.932127507091,-0.932162221609,-0.932196927558,-0.932231624939,-0.932266313752,-0.932300993995,-0.932335665668,-0.932370328772,-0.932404983305,-0.932439629268,-0.932474266661,-0.932508895482,-0.932543515732,-0.93257812741,-0.932612730516,-0.932647325049,-0.93268191101,-0.932716488398,-0.932751057213,-0.932785617454,-0.932820169121,-0.932854712213,-0.932889246731,-0.932923772674,-0.932958290042,-0.932992798835,-0.933027299051,-0.933061790692,-0.933096273755,-0.933130748242,-0.933165214152,-0.933199671485,-0.933234120239,-0.933268560416,-0.933302992014,-0.933337415033,-0.933371829474,-0.933406235335,-0.933440632616,-0.933475021317,-0.933509401438,-0.933543772979,-0.933578135938,-0.933612490317,-0.933646836113,-0.933681173328,-0.933715501961,-0.933749822011,-0.933784133478,-0.933818436362,-0.933852730663,-0.93388701638,-0.933921293513,-0.933955562061,-0.933989822025,-0.934024073403,-0.934058316197,-0.934092550404,-0.934126776026,-0.934160993061,-0.93419520151,-0.934229401372,-0.934263592646,-0.934297775334,-0.934331949433,-0.934366114944,-0.934400271866,-0.9344344202,-0.934468559945,-0.9345026911,-0.934536813665,-0.93457092764,-0.934605033025,-0.93463912982,-0.934673218023,-0.934707297635,-0.934741368655,-0.934775431084,-0.93480948492,-0.934843530163,-0.934877566814,-0.934911594872,-0.934945614336,-0.934979625206,-0.935013627482,-0.935047621163,-0.93508160625,-0.935115582742,-0.935149550638,-0.935183509939,-0.935217460644,-0.935251402752,-0.935285336264,-0.935319261179,-0.935353177496,-0.935387085216,-0.935420984338,-0.935454874862,-0.935488756787,-0.935522630114,-0.935556494841,-0.93559035097,-0.935624198498,-0.935658037426,-0.935691867754,-0.935725689481,-0.935759502607,-0.935793307132,-0.935827103055,-0.935860890377,-0.935894669096,-0.935928439213,-0.935962200726,-0.935995953637,-0.936029697944,-0.936063433647,-0.936097160746,-0.936130879241,-0.936164589131,-0.936198290416,-0.936231983096,-0.93626566717,-0.936299342638,-0.9363330095,-0.936366667756,-0.936400317404,-0.936433958445,-0.936467590879,-0.936501214705,-0.936534829923,-0.936568436532,-0.936602034533,-0.936635623924,-0.936669204707,-0.936702776879,-0.936736340442,-0.936769895394,-0.936803441736,-0.936836979467,-0.936870508586,-0.936904029095,-0.936937540991,-0.936971044275,-0.937004538947,-0.937038025006,-0.937071502452,-0.937104971284,-0.937138431503,-0.937171883108,-0.937205326099,-0.937238760475,-0.937272186236,-0.937305603382,-0.937339011913,-0.937372411827,-0.937405803126,-0.937439185808,-0.937472559873,-0.937505925321,-0.937539282152,-0.937572630366,-0.937605969961,-0.937639300938,-0.937672623297,-0.937705937036,-0.937739242156,-0.937772538657,-0.937805826538,-0.937839105799,-0.93787237644,-0.93790563846,-0.937938891859,-0.937972136636,-0.938005372792,-0.938038600326,-0.938071819238,-0.938105029527,-0.938138231193,-0.938171424236,-0.938204608655,-0.938237784451,-0.938270951623,-0.93830411017,-0.938337260093,-0.938370401391,-0.938403534063,-0.93843665811,-0.938469773531,-0.938502880325,-0.938535978494,-0.938569068035,-0.938602148949,-0.938635221236,-0.938668284895,-0.938701339926,-0.938734386328,-0.938767424102,-0.938800453247,-0.938833473763,-0.938866485649,-0.938899488906,-0.938932483532,-0.938965469528,-0.938998446893,-0.939031415627,-0.939064375729,-0.9390973272,-0.939130270039,-0.939163204246,-0.93919612982,-0.939229046761,-0.939261955069,-0.939294854743,-0.939327745784,-0.93936062819,-0.939393501962,-0.9394263671,-0.939459223602,-0.939492071469,-0.939524910701,-0.939557741296,-0.939590563256,-0.939623376579,-0.939656181265,-0.939688977314,-0.939721764725,-0.939754543499,-0.939787313635,-0.939820075132,-0.939852827991,-0.939885572211,-0.939918307792,-0.939951034733,-0.939983753034,-0.940016462695,-0.940049163716,-0.940081856096,-0.940114539835,-0.940147214933,-0.940179881389,-0.940212539203,-0.940245188375,-0.940277828904,-0.94031046079,-0.940343084034,-0.940375698634,-0.94040830459,-0.940440901902,-0.94047349057,-0.940506070593,-0.940538641972,-0.940571204705,-0.940603758792,-0.940636304234,-0.940668841029,-0.940701369179,-0.940733888681,-0.940766399536,-0.940798901744,-0.940831395305,-0.940863880217,-0.940896356482,-0.940928824098,-0.940961283065,-0.940993733382,-0.941026175051,-0.94105860807,-0.941091032438,-0.941123448157,-0.941155855225,-0.941188253642,-0.941220643407,-0.941253024521,-0.941285396984,-0.941317760794,-0.941350115952,-0.941382462457,-0.94141480031,-0.941447129509,-0.941479450054,-0.941511761946,-0.941544065183,-0.941576359766,-0.941608645694,-0.941640922967,-0.941673191585,-0.941705451547,-0.941737702853,-0.941769945503,-0.941802179496,-0.941834404832,-0.941866621512,-0.941898829534,-0.941931028898,-0.941963219604,-0.941995401652,-0.942027575041,-0.942059739771,-0.942091895842,-0.942124043254,-0.942156182005,-0.942188312097,-0.942220433528,-0.942252546299,-0.942284650408,-0.942316745857,-0.942348832643,-0.942380910768,-0.942412980231,-0.942445041031,-0.942477093168,-0.942509136643,-0.942541171454,-0.942573197601,-0.942605215085,-0.942637223904,-0.942669224059,-0.942701215549,-0.942733198374,-0.942765172533,-0.942797138027,-0.942829094855,-0.942861043016,-0.942892982511,-0.942924913339,-0.9429568355,-0.942988748994,-0.943020653819,-0.943052549977,-0.943084437466,-0.943116316287,-0.943148186438,-0.943180047921,-0.943211900734,-0.943243744877,-0.94327558035,-0.943307407153,-0.943339225285,-0.943371034746,-0.943402835536,-0.943434627654,-0.943466411101,-0.943498185875,-0.943529951977,-0.943561709406,-0.943593458162,-0.943625198245,-0.943656929654,-0.943688652389,-0.94372036645,-0.943752071837,-0.943783768549,-0.943815456586,-0.943847135947,-0.943878806633,-0.943910468643,-0.943942121976,-0.943973766634,-0.944005402614,-0.944037029917,-0.944068648543,-0.944100258491,-0.944131859761,-0.944163452353,-0.944195036267,-0.944226611501,-0.944258178057,-0.944289735933,-0.944321285129,-0.944352825646,-0.944384357482,-0.944415880637,-0.944447395112,-0.944478900905,-0.944510398017,-0.944541886447,-0.944573366196,-0.944604837261,-0.944636299645,-0.944667753345,-0.944699198362,-0.944730634696,-0.944762062346,-0.944793481312,-0.944824891594,-0.944856293191,-0.944887686103,-0.94491907033,-0.944950445871,-0.944981812727,-0.945013170896,-0.945044520379,-0.945075861176,-0.945107193285,-0.945138516708,-0.945169831442,-0.945201137489,-0.945232434848,-0.945263723519,-0.945295003501,-0.945326274794,-0.945357537398,-0.945388791312,-0.945420036536,-0.945451273071,-0.945482500914,-0.945513720068,-0.94554493053,-0.945576132301,-0.945607325381,-0.945638509768,-0.945669685464,-0.945700852467,-0.945732010777,-0.945763160395,-0.945794301319,-0.94582543355,-0.945856557087,-0.94588767193,-0.945918778078,-0.945949875532,-0.945980964291,-0.946012044354,-0.946043115722,-0.946074178394,-0.94610523237,-0.94613627765,-0.946167314233,-0.946198342119,-0.946229361308,-0.946260371799,-0.946291373592,-0.946322366688,-0.946353351084,-0.946384326783,-0.946415293782,-0.946446252082,-0.946477201682,-0.946508142583,-0.946539074784,-0.946569998284,-0.946600913083,-0.946631819182,-0.946662716579,-0.946693605275,-0.946724485269,-0.946755356561,-0.94678621915,-0.946817073037,-0.946847918221,-0.946878754702,-0.946909582479,-0.946940401552,-0.946971211922,-0.947002013587,-0.947032806547,-0.947063590803,-0.947094366353,-0.947125133198,-0.947155891336,-0.947186640769,-0.947217381496,-0.947248113516,-0.947278836829,-0.947309551435,-0.947340257333,-0.947370954524,-0.947401643006,-0.947432322781,-0.947462993846,-0.947493656203,-0.947524309851,-0.947554954789,-0.947585591018,-0.947616218536,-0.947646837344,-0.947677447442,-0.947708048829,-0.947738641505,-0.947769225469,-0.947799800721,-0.947830367262,-0.94786092509,-0.947891474206,-0.947922014609,-0.947952546299,-0.947983069276,-0.948013583539,-0.948044089088,-0.948074585922,-0.948105074043,-0.948135553448,-0.948166024138,-0.948196486113,-0.948226939373,-0.948257383916,-0.948287819744,-0.948318246855,-0.948348665249,-0.948379074926,-0.948409475886,-0.948439868128,-0.948470251652,-0.948500626459,-0.948530992547,-0.948561349916,-0.948591698566,-0.948622038497,-0.948652369708,-0.9486826922,-0.948713005971,-0.948743311023,-0.948773607353,-0.948803894963,-0.948834173851,-0.948864444018,-0.948894705463,-0.948924958186,-0.948955202187,-0.948985437465,-0.949015664021,-0.949045881853,-0.949076090961,-0.949106291347,-0.949136483008,-0.949166665944,-0.949196840157,-0.949227005644,-0.949257162406,-0.949287310444,-0.949317449755,-0.94934758034,-0.9493777022,-0.949407815332,-0.949437919738,-0.949468015417,-0.949498102369,-0.949528180593,-0.949558250089,-0.949588310857,-0.949618362897,-0.949648406208,-0.94967844079,-0.949708466643,-0.949738483766,-0.94976849216,-0.949798491823,-0.949828482756,-0.949858464959,-0.94988843843,-0.94991840317,-0.949948359179,-0.949978306457,-0.950008245002,-0.950038174815,-0.950068095895,-0.950098008243,-0.950127911857,-0.950157806738,-0.950187692886,-0.950217570299,-0.950247438979,-0.950277298924,-0.950307150134,-0.950336992609,-0.950366826349,-0.950396651353,-0.950426467621,-0.950456275154,-0.950486073949,-0.950515864009,-0.950545645331,-0.950575417916,-0.950605181764,-0.950634936874,-0.950664683245,-0.950694420879,-0.950724149774,-0.95075386993,-0.950783581347,-0.950813284024,-0.950842977962,-0.95087266316,-0.950902339618,-0.950932007335,-0.950961666312,-0.950991316547,-0.951020958041,-0.951050590794,-0.951080214804,-0.951109830073,-0.951139436599,-0.951169034383,-0.951198623423,-0.95122820372,-0.951257775274,-0.951287338084,-0.95131689215,-0.951346437472,-0.951375974049,-0.951405501882,-0.951435020969,-0.951464531311,-0.951494032907,-0.951523525757,-0.951553009861,-0.951582485219,-0.95161195183,-0.951641409694,-0.95167085881,-0.951700299179,-0.9517297308,-0.951759153673,-0.951788567798,-0.951817973174,-0.951847369801,-0.951876757679,-0.951906136808,-0.951935507187,-0.951964868816,-0.951994221694,-0.952023565822,-0.9520529012,-0.952082227826,-0.952111545701,-0.952140854824,-0.952170155195,-0.952199446814,-0.952228729681,-0.952258003795,-0.952287269157,-0.952316525765,-0.952345773619,-0.95237501272,-0.952404243066,-0.952433464659,-0.952462677497,-0.95249188158,-0.952521076908,-0.95255026348,-0.952579441297,-0.952608610358,-0.952637770663,-0.952666922211,-0.952696065003,-0.952725199038,-0.952754324315,-0.952783440835,-0.952812548597,-0.952841647601,-0.952870737847,-0.952899819334,-0.952928892063,-0.952957956032,-0.952987011242,-0.953016057692,-0.953045095382,-0.953074124312,-0.953103144482,-0.953132155891,-0.953161158539,-0.953190152425,-0.95321913755,-0.953248113914,-0.953277081515,-0.953306040354,-0.953334990431,-0.953363931744,-0.953392864295,-0.953421788082,-0.953450703105,-0.953479609365,-0.95350850686,-0.953537395591,-0.953566275557,-0.953595146758,-0.953624009194,-0.953652862865,-0.953681707769,-0.953710543908,-0.95373937128,-0.953768189886,-0.953796999725,-0.953825800797,-0.953854593101,-0.953883376638,-0.953912151407,-0.953940917408,-0.95396967464,-0.953998423104,-0.954027162799,-0.954055893724,-0.95408461588,-0.954113329267,-0.954142033883,-0.954170729729,-0.954199416804,-0.954228095109,-0.954256764643,-0.954285425405,-0.954314077396,-0.954342720615,-0.954371355061,-0.954399980736,-0.954428597638,-0.954457205767,-0.954485805122,-0.954514395704,-0.954542977513,-0.954571550548,-0.954600114808,-0.954628670294,-0.954657217005,-0.954685754941,-0.954714284102,-0.954742804488,-0.954771316097,-0.954799818931,-0.954828312988,-0.954856798269,-0.954885274772,-0.954913742499,-0.954942201448,-0.95497065162,-0.954999093014,-0.95502752563,-0.955055949467,-0.955084364526,-0.955112770805,-0.955141168306,-0.955169557027,-0.955197936968,-0.955226308129,-0.955254670511,-0.955283024111,-0.955311368931,-0.95533970497,-0.955368032227,-0.955396350703,-0.955424660398,-0.95545296131,-0.95548125344,-0.955509536787,-0.955537811351,-0.955566077133,-0.955594334131,-0.955622582345,-0.955650821776,-0.955679052422,-0.955707274284,-0.955735487361,-0.955763691654,-0.955791887161,-0.955820073883,-0.955848251819,-0.955876420969,-0.955904581333,-0.95593273291,-0.955960875701,-0.955989009705,-0.956017134921,-0.95604525135,-0.956073358991,-0.956101457844,-0.956129547909,-0.956157629186,-0.956185701673,-0.956213765372,-0.956241820281,-0.956269866401,-0.95629790373,-0.95632593227,-0.95635395202,-0.956381962978,-0.956409965146,-0.956437958523,-0.956465943109,-0.956493918902,-0.956521885904,-0.956549844114,-0.956577793531,-0.956605734156,-0.956633665988,-0.956661589027,-0.956689503272,-0.956717408723,-0.956745305381,-0.956773193244,-0.956801072313,-0.956828942588,-0.956856804067,-0.956884656751,-0.956912500639,-0.956940335732,-0.956968162029,-0.95699597953,-0.957023788234,-0.957051588141,-0.957079379251,-0.957107161564,-0.95713493508,-0.957162699798,-0.957190455717,-0.957218202839,-0.957245941162,-0.957273670686,-0.957301391411,-0.957329103336,-0.957356806463,-0.957384500789,-0.957412186315,-0.957439863041,-0.957467530967,-0.957495190091,-0.957522840414,-0.957550481937,-0.957578114657,-0.957605738576,-0.957633353692,-0.957660960006,-0.957688557518,-0.957716146227,-0.957743726132,-0.957771297234,-0.957798859533,-0.957826413028,-0.957853957718,-0.957881493604,-0.957909020686,-0.957936538962,-0.957964048434,-0.9579915491,-0.95801904096,-0.958046524015,-0.958073998263,-0.958101463705,-0.95812892034,-0.958156368169,-0.95818380719,-0.958211237404,-0.95823865881,-0.958266071408,-0.958293475198,-0.95832087018,-0.958348256352,-0.958375633716,-0.958403002271,-0.958430362017,-0.958457712952,-0.958485055078,-0.958512388394,-0.958539712899,-0.958567028593,-0.958594335476,-0.958621633549,-0.95864892281,-0.958676203259,-0.958703474896,-0.958730737721,-0.958757991733,-0.958785236933,-0.95881247332,-0.958839700894,-0.958866919654,-0.958894129601,-0.958921330733,-0.958948523052,-0.958975706556,-0.959002881245,-0.959030047119,-0.959057204178,-0.959084352422,-0.95911149185,-0.959138622462,-0.959165744258,-0.959192857237,-0.9592199614,-0.959247056745,-0.959274143274,-0.959301220985,-0.959328289878,-0.959355349954,-0.959382401211,-0.95940944365,-0.95943647727,-0.959463502071,-0.959490518053,-0.959517525216,-0.959544523559,-0.959571513082,-0.959598493785,-0.959625465667,-0.959652428729,-0.95967938297,-0.959706328389,-0.959733264988,-0.959760192764,-0.959787111719,-0.959814021851,-0.959840923161,-0.959867815649,-0.959894699313,-0.959921574155,-0.959948440173,-0.959975297367,-0.960002145738,-0.960028985284,-0.960055816006,-0.960082637903,-0.960109450976,-0.960136255223,-0.960163050645,-0.960189837241,-0.960216615012,-0.960243383956,-0.960270144074,-0.960296895366,-0.96032363783,-0.960350371468,-0.960377096278,-0.960403812261,-0.960430519416,-0.960457217742,-0.960483907241,-0.96051058791,-0.960537259752,-0.960563922763,-0.960590576946,-0.960617222299,-0.960643858823,-0.960670486516,-0.960697105379,-0.960723715411,-0.960750316613,-0.960776908984,-0.960803492523,-0.960830067231,-0.960856633108,-0.960883190152,-0.960909738364,-0.960936277743,-0.96096280829,-0.960989330004,-0.961015842885,-0.961042346932,-0.961068842146,-0.961095328525,-0.96112180607,-0.961148274781,-0.961174734658,-0.961201185699,-0.961227627905,-0.961254061276,-0.961280485811,-0.961306901511,-0.961333308374,-0.961359706401,-0.961386095591,-0.961412475944,-0.96143884746,-0.961465210139,-0.961491563981,-0.961517908984,-0.961544245149,-0.961570572477,-0.961596890965,-0.961623200615,-0.961649501426,-0.961675793397,-0.961702076529,-0.961728350821,-0.961754616274,-0.961780872885,-0.961807120657,-0.961833359588,-0.961859589677,-0.961885810926,-0.961912023333,-0.961938226899,-0.961964421622,-0.961990607503,-0.962016784542,-0.962042952739,-0.962069112092,-0.962095262602,-0.962121404269,-0.962147537092,-0.962173661072,-0.962199776207,-0.962225882498,-0.962251979944,-0.962278068546,-0.962304148302,-0.962330219214,-0.962356281279,-0.962382334499,-0.962408378873,-0.962434414401,-0.962460441082,-0.962486458917,-0.962512467904,-0.962538468044,-0.962564459337,-0.962590441782,-0.96261641538,-0.962642380129,-0.962668336029,-0.962694283081,-0.962720221284,-0.962746150638,-0.962772071143,-0.962797982798,-0.962823885603,-0.962849779559,-0.962875664663,-0.962901540918,-0.962927408321,-0.962953266874,-0.962979116575,-0.963004957425,-0.963030789423,-0.963056612569,-0.963082426863,-0.963108232304,-0.963134028893,-0.963159816628,-0.963185595511,-0.96321136554,-0.963237126716,-0.963262879038,-0.963288622505,-0.963314357118,-0.963340082877,-0.963365799781,-0.96339150783,-0.963417207023,-0.963442897361,-0.963468578844,-0.96349425147,-0.96351991524,-0.963545570153,-0.96357121621,-0.96359685341,-0.963622481753,-0.963648101238,-0.963673711866,-0.963699313636,-0.963724906547,-0.963750490601,-0.963776065795,-0.963801632131,-0.963827189608,-0.963852738226,-0.963878277984,-0.963903808882,-0.96392933092,-0.963954844098,-0.963980348416,-0.964005843873,-0.964031330469,-0.964056808204,-0.964082277077,-0.964107737089,-0.964133188239,-0.964158630526,-0.964184063952,-0.964209488515,-0.964234904215,-0.964260311052,-0.964285709025,-0.964311098136,-0.964336478382,-0.964361849765,-0.964387212283,-0.964412565937,-0.964437910726,-0.96446324665,-0.964488573709,-0.964513891903,-0.964539201231,-0.964564501694,-0.96458979329,-0.96461507602,-0.964640349883,-0.96466561488,-0.964690871009,-0.964716118272,-0.964741356667,-0.964766586194,-0.964791806853,-0.964817018645,-0.964842221567,-0.964867415622,-0.964892600807,-0.964917777123,-0.96494294457,-0.964968103147,-0.964993252855,-0.965018393692,-0.96504352566,-0.965068648757,-0.965093762983,-0.965118868338,-0.965143964822,-0.965169052435,-0.965194131176,-0.965219201045,-0.965244262042,-0.965269314167,-0.965294357419,-0.965319391798,-0.965344417305,-0.965369433938,-0.965394441698,-0.965419440584,-0.965444430596,-0.965469411734,-0.965494383997,-0.965519347386,-0.9655443019,-0.965569247539,-0.965594184303,-0.965619112191,-0.965644031204,-0.96566894134,-0.9656938426,-0.965718734984,-0.965743618491,-0.965768493121,-0.965793358874,-0.96581821575,-0.965843063748,-0.965867902868,-0.96589273311,-0.965917554474,-0.965942366959,-0.965967170566,-0.965991965294,-0.966016751142,-0.966041528111,-0.966066296201,-0.96609105541,-0.96611580574,-0.966140547189,-0.966165279758,-0.966190003445,-0.966214718252,-0.966239424178,-0.966264121222,-0.966288809384,-0.966313488665,-0.966338159063,-0.966362820579,-0.966387473212,-0.966412116963,-0.96643675183,-0.966461377814,-0.966485994915,-0.966510603132,-0.966535202465,-0.966559792914,-0.966584374478,-0.966608947158,-0.966633510953,-0.966658065863,-0.966682611887,-0.966707149026,-0.966731677279,-0.966756196647,-0.966780707128,-0.966805208722,-0.96682970143,-0.966854185251,-0.966878660185,-0.966903126232,-0.966927583391,-0.966952031662,-0.966976471045,-0.96700090154,-0.967025323146,-0.967049735864,-0.967074139693,-0.967098534633,-0.967122920683,-0.967147297844,-0.967171666115,-0.967196025496,-0.967220375986,-0.967244717586,-0.967269050296,-0.967293374114,-0.967317689042,-0.967341995078,-0.967366292222,-0.967390580475,-0.967414859835,-0.967439130304,-0.96746339188,-0.967487644563,-0.967511888353,-0.96753612325,-0.967560349253,-0.967584566363,-0.967608774579,-0.967632973902,-0.967657164329,-0.967681345863,-0.967705518501,-0.967729682245,-0.967753837093,-0.967777983047,-0.967802120104,-0.967826248266,-0.967850367531,-0.967874477901,-0.967898579374,-0.96792267195,-0.967946755629,-0.967970830411,-0.967994896296,-0.968018953283,-0.968043001372,-0.968067040563,-0.968091070856,-0.968115092251,-0.968139104746,-0.968163108343,-0.968187103041,-0.968211088839,-0.968235065738,-0.968259033737,-0.968282992836,-0.968306943034,-0.968330884332,-0.96835481673,-0.968378740226,-0.968402654822,-0.968426560516,-0.968450457308,-0.968474345199,-0.968498224188,-0.968522094274,-0.968545955458,-0.96856980774,-0.968593651118,-0.968617485594,-0.968641311166,-0.968665127834,-0.968688935599,-0.96871273446,-0.968736524416,-0.968760305469,-0.968784077616,-0.968807840859,-0.968831595196,-0.968855340629,-0.968879077155,-0.968902804776,-0.968926523492,-0.9689502333,-0.968973934203,-0.968997626199,-0.969021309288,-0.96904498347,-0.969068648745,-0.969092305113,-0.969115952572,-0.969139591124,-0.969163220768,-0.969186841503,-0.96921045333,-0.969234056248,-0.969257650257,-0.969281235357,-0.969304811547,-0.969328378828,-0.969351937199,-0.969375486659,-0.96939902721,-0.96942255885,-0.969446081579,-0.969469595397,-0.969493100305,-0.9695165963,-0.969540083385,-0.969563561557,-0.969587030817,-0.969610491166,-0.969633942601,-0.969657385124,-0.969680818734,-0.969704243431,-0.969727659215,-0.969751066085,-0.969774464042,-0.969797853084,-0.969821233213,-0.969844604427,-0.969867966726,-0.969891320111,-0.96991466458,-0.969938000134,-0.969961326773,-0.969984644496,-0.970007953303,-0.970031253195,-0.970054544169,-0.970077826228,-0.970101099369,-0.970124363594,-0.970147618901,-0.970170865291,-0.970194102763,-0.970217331318,-0.970240550955,-0.970263761673,-0.970286963473,-0.970310156354,-0.970333340316,-0.970356515359,-0.970379681483,-0.970402838688,-0.970425986972,-0.970449126337,-0.970472256781,-0.970495378306,-0.970518490909,-0.970541594592,-0.970564689354,-0.970587775194,-0.970610852113,-0.970633920111,-0.970656979186,-0.97068002934,-0.970703070571,-0.97072610288,-0.970749126266,-0.970772140729,-0.970795146269,-0.970818142886,-0.970841130579,-0.970864109348,-0.970887079193,-0.970910040115,-0.970932992111,-0.970955935184,-0.970978869331,-0.971001794553,-0.97102471085,-0.971047618222,-0.971070516668,-0.971093406188,-0.971116286782,-0.97113915845,-0.971162021191,-0.971184875005,-0.971207719893,-0.971230555853,-0.971253382887,-0.971276200992,-0.97129901017,-0.97132181042,-0.971344601741,-0.971367384135,-0.971390157599,-0.971412922135,-0.971435677742,-0.97145842442,-0.971481162168,-0.971503890986,-0.971526610875,-0.971549321833,-0.971572023862,-0.97159471696,-0.971617401127,-0.971640076363,-0.971662742668,-0.971685400042,-0.971708048484,-0.971730687995,-0.971753318574,-0.97177594022,-0.971798552934,-0.971821156716,-0.971843751564,-0.97186633748,-0.971888914463,-0.971911482512,-0.971934041628,-0.97195659181,-0.971979133057,-0.972001665371,-0.97202418875,-0.972046703195,-0.972069208704,-0.972091705279,-0.972114192918,-0.972136671622,-0.97215914139,-0.972181602223,-0.972204054119,-0.972226497079,-0.972248931102,-0.972271356189,-0.972293772339,-0.972316179552,-0.972338577827,-0.972360967165,-0.972383347565,-0.972405719027,-0.972428081552,-0.972450435137,-0.972472779784,-0.972495115493,-0.972517442262,-0.972539760093,-0.972562068983,-0.972584368935,-0.972606659946,-0.972628942018,-0.972651215149,-0.97267347934,-0.97269573459,-0.9727179809,-0.972740218268,-0.972762446696,-0.972784666182,-0.972806876726,-0.972829078328,-0.972851270989,-0.972873454707,-0.972895629482,-0.972917795315,-0.972939952206,-0.972962100153,-0.972984239157,-0.973006369217,-0.973028490334,-0.973050602507,-0.973072705735,-0.97309480002,-0.97311688536,-0.973138961755,-0.973161029206,-0.973183087711,-0.973205137271,-0.973227177886,-0.973249209555,-0.973271232278,-0.973293246055,-0.973315250885,-0.973337246769,-0.973359233707,-0.973381211697,-0.973403180741,-0.973425140837,-0.973447091985,-0.973469034186,-0.973490967439,-0.973512891744,-0.9735348071,-0.973556713508,-0.973578610967,-0.973600499478,-0.973622379039,-0.973644249651,-0.973666111313,-0.973687964026,-0.973709807788,-0.973731642601,-0.973753468463,-0.973775285375,-0.973797093336,-0.973818892346,-0.973840682405,-0.973862463512,-0.973884235668,-0.973905998872,-0.973927753125,-0.973949498425,-0.973971234773,-0.973992962168,-0.974014680611,-0.9740363901,-0.974058090637,-0.97407978222,-0.97410146485,-0.974123138525,-0.974144803247,-0.974166459015,-0.974188105829,-0.974209743688,-0.974231372592,-0.974252992541,-0.974274603536,-0.974296205575,-0.974317798658,-0.974339382786,-0.974360957957,-0.974382524173,-0.974404081432,-0.974425629735,-0.974447169081,-0.97446869947,-0.974490220902,-0.974511733377,-0.974533236894,-0.974554731454,-0.974576217056,-0.974597693699,-0.974619161384,-0.974640620111,-0.974662069879,-0.974683510689,-0.974704942539,-0.974726365429,-0.974747779361,-0.974769184333,-0.974790580344,-0.974811967396,-0.974833345488,-0.974854714619,-0.974876074789,-0.974897425999,-0.974918768247,-0.974940101534,-0.97496142586,-0.974982741224,-0.975004047627,-0.975025345067,-0.975046633545,-0.975067913061,-0.975089183614,-0.975110445204,-0.975131697831,-0.975152941495,-0.975174176196,-0.975195401933,-0.975216618706,-0.975237826516,-0.975259025361,-0.975280215241,-0.975301396158,-0.975322568109,-0.975343731095,-0.975364885117,-0.975386030173,-0.975407166263,-0.975428293388,-0.975449411546,-0.975470520739,-0.975491620965,-0.975512712225,-0.975533794518,-0.975554867844,-0.975575932204,-0.975596987595,-0.97561803402,-0.975639071476,-0.975660099965,-0.975681119486,-0.975702130039,-0.975723131623,-0.975744124238,-0.975765107885,-0.975786082562,-0.975807048271,-0.975828005009,-0.975848952779,-0.975869891578,-0.975890821408,-0.975911742267,-0.975932654156,-0.975953557075,-0.975974451022,-0.975995335999,-0.976016212005,-0.976037079039,-0.976057937102,-0.976078786193,-0.976099626312,-0.976120457459,-0.976141279634,-0.976162092836,-0.976182897066,-0.976203692322,-0.976224478606,-0.976245255916,-0.976266024253,-0.976286783617,-0.976307534006,-0.976328275422,-0.976349007863,-0.97636973133,-0.976390445822,-0.97641115134,-0.976431847883,-0.97645253545,-0.976473214042,-0.976493883659,-0.9765145443,-0.976535195965,-0.976555838653,-0.976576472366,-0.976597097102,-0.976617712862,-0.976638319644,-0.97665891745,-0.976679506278,-0.976700086129,-0.976720657002,-0.976741218897,-0.976761771815,-0.976782315754,-0.976802850715,-0.976823376697,-0.976843893701,-0.976864401725,-0.976884900771,-0.976905390837,-0.976925871924,-0.976946344031,-0.976966807158,-0.976987261305,-0.977007706471,-0.977028142658,-0.977048569863,-0.977068988088,-0.977089397332,-0.977109797595,-0.977130188876,-0.977150571176,-0.977170944494,-0.97719130883,-0.977211664184,-0.977232010555,-0.977252347944,-0.977272676351,-0.977292995774,-0.977313306214,-0.977333607671,-0.977353900145,-0.977374183635,-0.977394458142,-0.977414723664,-0.977434980202,-0.977455227756,-0.977475466325,-0.977495695909,-0.977515916509,-0.977536128123,-0.977556330752,-0.977576524396,-0.977596709053,-0.977616884725,-0.977637051411,-0.977657209111,-0.977677357825,-0.977697497551,-0.977717628291,-0.977737750044,-0.97775786281,-0.977777966588,-0.977798061379,-0.977818147183,-0.977838223998,-0.977858291825,-0.977878350664,-0.977898400515,-0.977918441377,-0.97793847325,-0.977958496134,-0.977978510029,-0.977998514935,-0.978018510851,-0.978038497777,-0.978058475713,-0.978078444659,-0.978098404615,-0.978118355581,-0.978138297556,-0.97815823054,-0.978178154533,-0.978198069534,-0.978217975545,-0.978237872564,-0.978257760591,-0.978277639626,-0.978297509669,-0.97831737072,-0.978337222778,-0.978357065843,-0.978376899916,-0.978396724996,-0.978416541082,-0.978436348175,-0.978456146275,-0.978475935381,-0.978495715492,-0.97851548661,-0.978535248733,-0.978555001862,-0.978574745997,-0.978594481136,-0.97861420728,-0.978633924429,-0.978653632583,-0.978673331741,-0.978693021904,-0.97871270307,-0.978732375241,-0.978752038415,-0.978771692592,-0.978791337773,-0.978810973957,-0.978830601144,-0.978850219334,-0.978869828527,-0.978889428721,-0.978909019919,-0.978928602118,-0.978948175319,-0.978967739522,-0.978987294726,-0.979006840932,-0.979026378139,-0.979045906347,-0.979065425556,-0.979084935765,-0.979104436975,-0.979123929185,-0.979143412395,-0.979162886606,-0.979182351816,-0.979201808025,-0.979221255234,-0.979240693442,-0.979260122649,-0.979279542855,-0.97929895406,-0.979318356263,-0.979337749464,-0.979357133664,-0.979376508861,-0.979395875057,-0.97941523225,-0.97943458044,-0.979453919628,-0.979473249812,-0.979492570994,-0.979511883172,-0.979531186347,-0.979550480518,-0.979569765685,-0.979589041849,-0.979608309008,-0.979627567163,-0.979646816313,-0.979666056459,-0.979685287599,-0.979704509735,-0.979723722866,-0.979742926991,-0.97976212211,-0.979781308224,-0.979800485331,-0.979819653433,-0.979838812528,-0.979857962617,-0.9798771037,-0.979896235775,-0.979915358843,-0.979934472905,-0.979953577958,-0.979972674005,-0.979991761043,-0.980010839074,-0.980029908097,-0.980048968112,-0.980068019118,-0.980087061115,-0.980106094104,-0.980125118084,-0.980144133055,-0.980163139016,-0.980182135968,-0.980201123911,-0.980220102843,-0.980239072766,-0.980258033678,-0.98027698558,-0.980295928472,-0.980314862353,-0.980333787223,-0.980352703082,-0.98037160993,-0.980390507767,-0.980409396592,-0.980428276405,-0.980447147207,-0.980466008996,-0.980484861773,-0.980503705538,-0.98052254029,-0.98054136603,-0.980560182756,-0.98057899047,-0.98059778917,-0.980616578857,-0.98063535953,-0.980654131189,-0.980672893834,-0.980691647465,-0.980710392082,-0.980729127685,-0.980747854272,-0.980766571845,-0.980785280403,-0.980803979946,-0.980822670473,-0.980841351985,-0.980860024482,-0.980878687962,-0.980897342426,-0.980915987874,-0.980934624306,-0.980953251721,-0.98097187012,-0.980990479502,-0.981009079866,-0.981027671213,-0.981046253543,-0.981064826856,-0.98108339115,-0.981101946427,-0.981120492686,-0.981139029926,-0.981157558148,-0.981176077352,-0.981194587536,-0.981213088702,-0.981231580849,-0.981250063976,-0.981268538084,-0.981287003172,-0.981305459241,-0.981323906289,-0.981342344318,-0.981360773326,-0.981379193314,-0.981397604281,-0.981416006227,-0.981434399152,-0.981452783057,-0.98147115794,-0.981489523801,-0.981507880641,-0.981526228459,-0.981544567255,-0.981562897028,-0.98158121778,-0.981599529509,-0.981617832215,-0.981636125899,-0.98165441056,-0.981672686197,-0.981690952811,-0.981709210402,-0.981727458969,-0.981745698512,-0.981763929031,-0.981782150526,-0.981800362996,-0.981818566443,-0.981836760864,-0.981854946261,-0.981873122632,-0.981891289979,-0.9819094483,-0.981927597595,-0.981945737865,-0.98196386911,-0.981981991328,-0.98200010452,-0.982018208685,-0.982036303824,-0.982054389937,-0.982072467022,-0.982090535081,-0.982108594113,-0.982126644117,-0.982144685093,-0.982162717042,-0.982180739963,-0.982198753856,-0.982216758721,-0.982234754558,-0.982252741366,-0.982270719146,-0.982288687896,-0.982306647618,-0.982324598311,-0.982342539974,-0.982360472608,-0.982378396212,-0.982396310786,-0.98241421633,-0.982432112845,-0.982450000328,-0.982467878782,-0.982485748205,-0.982503608597,-0.982521459958,-0.982539302287,-0.982557135586,-0.982574959853,-0.982592775089,-0.982610581292,-0.982628378464,-0.982646166604,-0.982663945711,-0.982681715786,-0.982699476829,-0.982717228838,-0.982734971815,-0.982752705758,-0.982770430669,-0.982788146546,-0.982805853389,-0.982823551199,-0.982841239974,-0.982858919716,-0.982876590423,-0.982894252096,-0.982911904735,-0.982929548339,-0.982947182908,-0.982964808441,-0.98298242494,-0.983000032403,-0.983017630831,-0.983035220223,-0.983052800579,-0.983070371899,-0.983087934184,-0.983105487431,-0.983123031642,-0.983140566817,-0.983158092955,-0.983175610055,-0.983193118119,-0.983210617145,-0.983228107134,-0.983245588085,-0.983263059999,-0.983280522874,-0.983297976712,-0.983315421511,-0.983332857272,-0.983350283994,-0.983367701677,-0.983385110322,-0.983402509927,-0.983419900493,-0.98343728202,-0.983454654507,-0.983472017955,-0.983489372362,-0.98350671773,-0.983524054058,-0.983541381345,-0.983558699591,-0.983576008797,-0.983593308962,-0.983610600087,-0.98362788217,-0.983645155211,-0.983662419212,-0.98367967417,-0.983696920087,-0.983714156962,-0.983731384795,-0.983748603586,-0.983765813334,-0.98378301404,-0.983800205703,-0.983817388323,-0.9838345619,-0.983851726434,-0.983868881924,-0.983886028371,-0.983903165774,-0.983920294134,-0.983937413449,-0.983954523721,-0.983971624948,-0.98398871713,-0.984005800268,-0.984022874361,-0.98403993941,-0.984056995413,-0.984074042371,-0.984091080283,-0.98410810915,-0.984125128972,-0.984142139747,-0.984159141476,-0.98417613416,-0.984193117797,-0.984210092387,-0.984227057931,-0.984244014428,-0.984260961878,-0.98427790028,-0.984294829636,-0.984311749944,-0.984328661205,-0.984345563418,-0.984362456583,-0.984379340699,-0.984396215768,-0.984413081789,-0.98442993876,-0.984446786684,-0.984463625558,-0.984480455383,-0.984497276159,-0.984514087886,-0.984530890564,-0.984547684192,-0.98456446877,-0.984581244298,-0.984598010776,-0.984614768204,-0.984631516582,-0.984648255909,-0.984664986185,-0.984681707411,-0.984698419586,-0.984715122709,-0.984731816781,-0.984748501802,-0.984765177771,-0.984781844688,-0.984798502554,-0.984815151367,-0.984831791128,-0.984848421837,-0.984865043494,-0.984881656097,-0.984898259648,-0.984914854146,-0.984931439591,-0.984948015982,-0.98496458332,-0.984981141605,-0.984997690835,-0.985014231012,-0.985030762135,-0.985047284204,-0.985063797218,-0.985080301178,-0.985096796083,-0.985113281933,-0.985129758728,-0.985146226469,-0.985162685154,-0.985179134783,-0.985195575357,-0.985212006876,-0.985228429338,-0.985244842745,-0.985261247095,-0.985277642389,-0.985294028626,-0.985310405807,-0.985326773932,-0.985343132999,-0.985359483009,-0.985375823962,-0.985392155858,-0.985408478696,-0.985424792476,-0.985441097199,-0.985457392864,-0.98547367947,-0.985489957018,-0.985506225508,-0.98552248494,-0.985538735312,-0.985554976626,-0.985571208881,-0.985587432076,-0.985603646213,-0.985619851289,-0.985636047307,-0.985652234264,-0.985668412162,-0.985684580999,-0.985700740776,-0.985716891493,-0.98573303315,-0.985749165746,-0.985765289281,-0.985781403755,-0.985797509168,-0.985813605519,-0.98582969281,-0.985845771038,-0.985861840206,-0.985877900311,-0.985893951354,-0.985909993335,-0.985926026254,-0.985942050111,-0.985958064905,-0.985974070636,-0.985990067304,-0.98600605491,-0.986022033452,-0.986038002931,-0.986053963346,-0.986069914698,-0.986085856986,-0.98610179021,-0.986117714371,-0.986133629467,-0.986149535498,-0.986165432465,-0.986181320368,-0.986197199206,-0.986213068979,-0.986228929686,-0.986244781329,-0.986260623906,-0.986276457418,-0.986292281864,-0.986308097245,-0.986323903559,-0.986339700807,-0.986355488989,-0.986371268105,-0.986387038154,-0.986402799137,-0.986418551053,-0.986434293902,-0.986450027683,-0.986465752398,-0.986481468045,-0.986497174625,-0.986512872136,-0.986528560581,-0.986544239957,-0.986559910265,-0.986575571505,-0.986591223676,-0.986606866779,-0.986622500813,-0.986638125778,-0.986653741675,-0.986669348502,-0.98668494626,-0.986700534949,-0.986716114568,-0.986731685117,-0.986747246597,-0.986762799007,-0.986778342346,-0.986793876615,-0.986809401814,-0.986824917943,-0.986840425,-0.986855922987,-0.986871411903,-0.986886891748,-0.986902362521,-0.986917824223,-0.986933276854,-0.986948720413,-0.9869641549,-0.986979580315,-0.986994996658,-0.987010403928,-0.987025802127,-0.987041191253,-0.987056571306,-0.987071942286,-0.987087304193,-0.987102657028,-0.987118000789,-0.987133335477,-0.987148661091,-0.987163977631,-0.987179285098,-0.987194583491,-0.987209872809,-0.987225153054,-0.987240424224,-0.987255686319,-0.98727093934,-0.987286183287,-0.987301418158,-0.987316643954,-0.987331860675,-0.987347068321,-0.987362266891,-0.987377456385,-0.987392636804,-0.987407808147,-0.987422970414,-0.987438123605,-0.987453267719,-0.987468402757,-0.987483528718,-0.987498645603,-0.98751375341,-0.987528852141,-0.987543941794,-0.987559022371,-0.987574093869,-0.987589156291,-0.987604209634,-0.9876192539,-0.987634289087,-0.987649315197,-0.987664332228,-0.987679340181,-0.987694339055,-0.987709328851,-0.987724309568,-0.987739281206,-0.987754243765,-0.987769197244,-0.987784141645,-0.987799076965,-0.987814003206,-0.987828920368,-0.987843828449,-0.987858727451,-0.987873617372,-0.987888498213,-0.987903369973,-0.987918232653,-0.987933086252,-0.98794793077,-0.987962766207,-0.987977592563,-0.987992409838,-0.988007218031,-0.988022017143,-0.988036807173,-0.988051588122,-0.988066359988,-0.988081122772,-0.988095876474,-0.988110621094,-0.988125356631,-0.988140083086,-0.988154800457,-0.988169508746,-0.988184207952,-0.988198898075,-0.988213579114,-0.98822825107,-0.988242913942,-0.988257567731,-0.988272212435,-0.988286848056,-0.988301474593,-0.988316092045,-0.988330700413,-0.988345299697,-0.988359889895,-0.988374471009,-0.988389043038,-0.988403605982,-0.988418159841,-0.988432704615,-0.988447240303,-0.988461766905,-0.988476284422,-0.988490792853,-0.988505292198,-0.988519782456,-0.988534263629,-0.988548735715,-0.988563198714,-0.988577652627,-0.988592097453,-0.988606533192,-0.988620959844,-0.988635377409,-0.988649785887,-0.988664185277,-0.98867857558,-0.988692956794,-0.988707328921,-0.98872169196,-0.988736045911,-0.988750390774,-0.988764726548,-0.988779053234,-0.988793370831,-0.988807679339,-0.988821978758,-0.988836269089,-0.98885055033,-0.988864822482,-0.988879085544,-0.988893339517,-0.9889075844,-0.988921820194,-0.988936046897,-0.98895026451,-0.988964473033,-0.988978672466,-0.988992862808,-0.98900704406,-0.989021216221,-0.989035379291,-0.98904953327,-0.989063678158,-0.989077813955,-0.98909194066,-0.989106058273,-0.989120166796,-0.989134266226,-0.989148356564,-0.989162437811,-0.989176509965,-0.989190573027,-0.989204626996,-0.989218671873,-0.989232707657,-0.989246734349,-0.989260751947,-0.989274760452,-0.989288759865,-0.989302750183,-0.989316731409,-0.989330703541,-0.989344666579,-0.989358620523,-0.989372565373,-0.989386501129,-0.989400427791,-0.989414345359,-0.989428253832,-0.989442153211,-0.989456043494,-0.989469924683,-0.989483796777,-0.989497659776,-0.989511513679,-0.989525358487,-0.9895391942,-0.989553020817,-0.989566838338,-0.989580646764,-0.989594446093,-0.989608236326,-0.989622017463,-0.989635789504,-0.989649552448,-0.989663306295,-0.989677051046,-0.989690786699,-0.989704513256,-0.989718230716,-0.989731939078,-0.989745638343,-0.98975932851,-0.98977300958,-0.989786681552,-0.989800344426,-0.989813998202,-0.989827642879,-0.989841278459,-0.98985490494,-0.989868522322,-0.989882130606,-0.989895729791,-0.989909319878,-0.989922900865,-0.989936472753,-0.989950035542,-0.989963589231,-0.989977133821,-0.989990669311,-0.990004195701,-0.990017712992,-0.990031221182,-0.990044720272,-0.990058210262,-0.990071691152,-0.990085162941,-0.990098625629,-0.990112079217,-0.990125523704,-0.990138959089,-0.990152385374,-0.990165802557,-0.990179210639,-0.99019260962,-0.990205999498,-0.990219380275,-0.99023275195,-0.990246114523,-0.990259467994,-0.990272812363,-0.99028614763,-0.990299473793,-0.990312790855,-0.990326098813,-0.990339397669,-0.990352687421,-0.990365968071,-0.990379239617,-0.99039250206,-0.9904057554,-0.990418999635,-0.990432234768,-0.990445460796,-0.99045867772,-0.99047188554,-0.990485084256,-0.990498273868,-0.990511454375,-0.990524625778,-0.990537788076,-0.990550941269,-0.990564085358,-0.990577220341,-0.990590346219,-0.990603462992,-0.990616570659,-0.990629669221,-0.990642758677,-0.990655839027,-0.990668910272,-0.99068197241,-0.990695025443,-0.990708069369,-0.990721104188,-0.990734129902,-0.990747146508,-0.990760154008,-0.990773152401,-0.990786141687,-0.990799121866,-0.990812092938,-0.990825054902,-0.990838007759,-0.990850951508,-0.99086388615,-0.990876811684,-0.99088972811,-0.990902635428,-0.990915533638,-0.990928422739,-0.990941302732,-0.990954173617,-0.990967035392,-0.99097988806,-0.990992731618,-0.991005566067,-0.991018391407,-0.991031207638,-0.99104401476,-0.991056812772,-0.991069601674,-0.991082381467,-0.99109515215,-0.991107913723,-0.991120666186,-0.991133409539,-0.991146143782,-0.991158868914,-0.991171584936,-0.991184291847,-0.991196989647,-0.991209678336,-0.991222357915,-0.991235028382,-0.991247689738,-0.991260341983,-0.991272985116,-0.991285619138,-0.991298244048,-0.991310859846,-0.991323466532,-0.991336064107,-0.991348652569,-0.991361231919,-0.991373802156,-0.991386363281,-0.991398915294,-0.991411458193,-0.99142399198,-0.991436516654,-0.991449032215,-0.991461538662,-0.991474035997,-0.991486524218,-0.991499003325,-0.991511473319,-0.991523934199,-0.991536385965,-0.991548828617,-0.991561262155,-0.991573686579,-0.991586101888,-0.991598508083,-0.991610905163,-0.991623293129,-0.99163567198,-0.991648041716,-0.991660402337,-0.991672753843,-0.991685096234,-0.991697429509,-0.991709753669,-0.991722068713,-0.991734374642,-0.991746671455,-0.991758959152,-0.991771237732,-0.991783507197,-0.991795767545,-0.991808018777,-0.991820260893,-0.991832493892,-0.991844717774,-0.991856932539,-0.991869138188,-0.991881334719,-0.991893522134,-0.991905700431,-0.99191786961,-0.991930029672,-0.991942180617,-0.991954322444,-0.991966455153,-0.991978578744,-0.991990693216,-0.992002798571,-0.992014894808,-0.992026981926,-0.992039059925,-0.992051128806,-0.992063188569,-0.992075239212,-0.992087280737,-0.992099313142,-0.992111336428,-0.992123350596,-0.992135355643,-0.992147351571,-0.99215933838,-0.992171316069,-0.992183284638,-0.992195244087,-0.992207194416,-0.992219135625,-0.992231067713,-0.992242990681,-0.992254904529,-0.992266809256,-0.992278704863,-0.992290591348,-0.992302468713,-0.992314336957,-0.992326196079,-0.99233804608,-0.99234988696,-0.992361718719,-0.992373541356,-0.992385354871,-0.992397159264,-0.992408954536,-0.992420740685,-0.992432517713,-0.992444285618,-0.992456044401,-0.992467794061,-0.992479534599,-0.992491266014,-0.992502988306,-0.992514701476,-0.992526405522,-0.992538100446,-0.992549786246,-0.992561462923,-0.992573130476,-0.992584788906,-0.992596438213,-0.992608078395,-0.992619709454,-0.992631331389,-0.9926429442,-0.992654547887,-0.992666142449,-0.992677727887,-0.9926893042,-0.992700871389,-0.992712429454,-0.992723978393,-0.992735518208,-0.992747048897,-0.992758570462,-0.992770082901,-0.992781586215,-0.992793080403,-0.992804565466,-0.992816041403,-0.992827508215,-0.9928389659,-0.99285041446,-0.992861853893,-0.992873284201,-0.992884705382,-0.992896117437,-0.992907520365,-0.992918914167,-0.992930298842,-0.99294167439,-0.992953040811,-0.992964398105,-0.992975746273,-0.992987085312,-0.992998415225,-0.99300973601,-0.993021047668,-0.993032350198,-0.9930436436,-0.993054927875,-0.993066203021,-0.993077469039,-0.99308872593,-0.993099973692,-0.993111212325,-0.99312244183,-0.993133662207,-0.993144873455,-0.993156075574,-0.993167268564,-0.993178452426,-0.993189627158,-0.993200792761,-0.993211949235,-0.993223096579,-0.993234234794,-0.993245363879,-0.993256483835,-0.993267594661,-0.993278696356,-0.993289788922,-0.993300872358,-0.993311946664,-0.993323011839,-0.993334067884,-0.993345114798,-0.993356152582,-0.993367181235,-0.993378200757,-0.993389211148,-0.993400212408,-0.993411204537,-0.993422187535,-0.993433161402,-0.993444126137,-0.993455081741,-0.993466028213,-0.993476965553,-0.993487893761,-0.993498812838,-0.993509722782,-0.993520623595,-0.993531515275,-0.993542397822,-0.993553271238,-0.993564135521,-0.993574990671,-0.993585836688,-0.993596673573,-0.993607501325,-0.993618319943,-0.993629129429,-0.993639929781,-0.993650721,-0.993661503086,-0.993672276038,-0.993683039856,-0.993693794541,-0.993704540092,-0.993715276509,-0.993726003792,-0.993736721941,-0.993747430955,-0.993758130836,-0.993768821582,-0.993779503193,-0.99379017567,-0.993800839012,-0.993811493219,-0.993822138292,-0.993832774229,-0.993843401031,-0.993854018698,-0.99386462723,-0.993875226626,-0.993885816887,-0.993896398013,-0.993906970002,-0.993917532856,-0.993928086574,-0.993938631156,-0.993949166602,-0.993959692912,-0.993970210085,-0.993980718123,-0.993991217023,-0.994001706787,-0.994012187415,-0.994022658906,-0.99403312126,-0.994043574477,-0.994054018557,-0.994064453499,-0.994074879305,-0.994085295973,-0.994095703504,-0.994106101897,-0.994116491153,-0.994126871271,-0.994137242251,-0.994147604093,-0.994157956798,-0.994168300364,-0.994178634792,-0.994188960082,-0.994199276233,-0.994209583246,-0.994219881121,-0.994230169856,-0.994240449453,-0.994250719911,-0.99426098123,-0.994271233411,-0.994281476452,-0.994291710353,-0.994301935116,-0.994312150739,-0.994322357223,-0.994332554567,-0.994342742771,-0.994352921835,-0.99436309176,-0.994373252545,-0.994383404189,-0.994393546694,-0.994403680058,-0.994413804281,-0.994423919365,-0.994434025308,-0.99444412211,-0.994454209771,-0.994464288292,-0.994474357672,-0.994484417911,-0.994494469008,-0.994504510965,-0.99451454378,-0.994524567454,-0.994534581987,-0.994544587377,-0.994554583627,-0.994564570734,-0.9945745487,-0.994584517524,-0.994594477206,-0.994604427745,-0.994614369143,-0.994624301398,-0.994634224511,-0.994644138481,-0.994654043309,-0.994663938994,-0.994673825536,-0.994683702936,-0.994693571193,-0.994703430306,-0.994713280277,-0.994723121104,-0.994732952788,-0.994742775329,-0.994752588726,-0.99476239298,-0.99477218809,-0.994781974057,-0.994791750879,-0.994801518558,-0.994811277092,-0.994821026483,-0.994830766729,-0.994840497831,-0.994850219789,-0.994859932602,-0.994869636271,-0.994879330795,-0.994889016174,-0.994898692409,-0.994908359498,-0.994918017443,-0.994927666243,-0.994937305897,-0.994946936406,-0.99495655777,-0.994966169989,-0.994975773061,-0.994985366989,-0.99499495177,-0.995004527406,-0.995014093896,-0.99502365124,-0.995033199438,-0.99504273849,-0.995052268396,-0.995061789155,-0.995071300768,-0.995080803234,-0.995090296554,-0.995099780727,-0.995109255754,-0.995118721633,-0.995128178366,-0.995137625952,-0.99514706439,-0.995156493682,-0.995165913826,-0.995175324823,-0.995184726672,-0.995194119374,-0.995203502928,-0.995212877335,-0.995222242594,-0.995231598705,-0.995240945667,-0.995250283482,-0.995259612149,-0.995268931668,-0.995278242038,-0.99528754326,-0.995296835333,-0.995306118258,-0.995315392034,-0.995324656662,-0.99533391214,-0.99534315847,-0.995352395651,-0.995361623683,-0.995370842565,-0.995380052299,-0.995389252883,-0.995398444317,-0.995407626603,-0.995416799738,-0.995425963724,-0.99543511856,-0.995444264247,-0.995453400783,-0.995462528169,-0.995471646406,-0.995480755492,-0.995489855428,-0.995498946213,-0.995508027849,-0.995517100333,-0.995526163668,-0.995535217851,-0.995544262884,-0.995553298766,-0.995562325497,-0.995571343077,-0.995580351506,-0.995589350783,-0.99559834091,-0.995607321885,-0.995616293709,-0.995625256381,-0.995634209902,-0.995643154271,-0.995652089488,-0.995661015554,-0.995669932467,-0.995678840229,-0.995687738838,-0.995696628296,-0.995705508601,-0.995714379754,-0.995723241754,-0.995732094602,-0.995740938298,-0.99574977284,-0.99575859823,-0.995767414468,-0.995776221552,-0.995785019483,-0.995793808262,-0.995802587887,-0.995811358359,-0.995820119678,-0.995828871843,-0.995837614855,-0.995846348714,-0.995855073419,-0.99586378897,-0.995872495367,-0.995881192611,-0.9958898807,-0.995898559636,-0.995907229417,-0.995915890045,-0.995924541518,-0.995933183837,-0.995941817001,-0.995950441011,-0.995959055866,-0.995967661567,-0.995976258113,-0.995984845504,-0.99599342374,-0.996001992822,-0.996010552748,-0.996019103519,-0.996027645135,-0.996036177596,-0.996044700901,-0.996053215051,-0.996061720046,-0.996070215884,-0.996078702568,-0.996087180095,-0.996095648467,-0.996104107682,-0.996112557742,-0.996120998646,-0.996129430393,-0.996137852985,-0.99614626642,-0.996154670699,-0.996163065821,-0.996171451787,-0.996179828596,-0.996188196248,-0.996196554744,-0.996204904083,-0.996213244265,-0.99622157529,-0.996229897158,-0.996238209869,-0.996246513422,-0.996254807819,-0.996263093058,-0.996271369139,-0.996279636063,-0.99628789383,-0.996296142438,-0.99630438189,-0.996312612183,-0.996320833318,-0.996329045295,-0.996337248115,-0.996345441776,-0.996353626279,-0.996361801624,-0.99636996781,-0.996378124838,-0.996386272708,-0.996394411419,-0.996402540971,-0.996410661364,-0.996418772599,-0.996426874675,-0.996434967592,-0.99644305135,-0.996451125949,-0.996459191389,-0.996467247669,-0.99647529479,-0.996483332752,-0.996491361554,-0.996499381197,-0.99650739168,-0.996515393004,-0.996523385167,-0.996531368171,-0.996539342015,-0.996547306699,-0.996555262223,-0.996563208587,-0.996571145791,-0.996579073834,-0.996586992717,-0.99659490244,-0.996602803002,-0.996610694403,-0.996618576644,-0.996626449724,-0.996634313644,-0.996642168402,-0.996650014,-0.996657850437,-0.996665677712,-0.996673495827,-0.99668130478,-0.996689104572,-0.996696895203,-0.996704676672,-0.99671244898,-0.996720212126,-0.996727966111,-0.996735710933,-0.996743446594,-0.996751173094,-0.996758890431,-0.996766598606,-0.996774297619,-0.99678198747,-0.996789668159,-0.996797339686,-0.99680500205,-0.996812655252,-0.996820299291,-0.996827934168,-0.996835559882,-0.996843176434,-0.996850783822,-0.996858382048,-0.996865971111,-0.996873551011,-0.996881121748,-0.996888683322,-0.996896235732,-0.99690377898,-0.996911313064,-0.996918837984,-0.996926353741,-0.996933860335,-0.996941357765,-0.996948846031,-0.996956325134,-0.996963795073,-0.996971255848,-0.996978707459,-0.996986149906,-0.996993583189,-0.997001007307,-0.997008422262,-0.997015828052,-0.997023224678,-0.997030612139,-0.997037990436,-0.997045359569,-0.997052719536,-0.997060070339,-0.997067411978,-0.997074744451,-0.99708206776,-0.997089381903,-0.997096686882,-0.997103982696,-0.997111269344,-0.997118546827,-0.997125815145,-0.997133074297,-0.997140324284,-0.997147565106,-0.997154796762,-0.997162019252,-0.997169232576,-0.997176436735,-0.997183631728,-0.997190817555,-0.997197994217,-0.997205161712,-0.997212320041,-0.997219469204,-0.9972266092,-0.99723374003,-0.997240861694,-0.997247974192,-0.997255077523,-0.997262171688,-0.997269256685,-0.997276332517,-0.997283399181,-0.997290456679,-0.997297505009,-0.997304544173,-0.99731157417,-0.997318595,-0.997325606662,-0.997332609158,-0.997339602486,-0.997346586647,-0.99735356164,-0.997360527466,-0.997367484124,-0.997374431615,-0.997381369938,-0.997388299094,-0.997395219081,-0.997402129901,-0.997409031553,-0.997415924037,-0.997422807353,-0.997429681501,-0.997436546481,-0.997443402292,-0.997450248935,-0.99745708641,-0.997463914716,-0.997470733854,-0.997477543824,-0.997484344624,-0.997491136257,-0.99749791872,-0.997504692015,-0.99751145614,-0.997518211097,-0.997524956885,-0.997531693504,-0.997538420954,-0.997545139234,-0.997551848346,-0.997558548288,-0.99756523906,-0.997571920664,-0.997578593098,-0.997585256362,-0.997591910457,-0.997598555382,-0.997605191137,-0.997611817723,-0.997618435139,-0.997625043384,-0.99763164246,-0.997638232366,-0.997644813102,-0.997651384668,-0.997657947063,-0.997664500289,-0.997671044343,-0.997677579228,-0.997684104942,-0.997690621486,-0.997697128859,-0.997703627061,-0.997710116093,-0.997716595954,-0.997723066644,-0.997729528164,-0.997735980512,-0.997742423689,-0.997748857696,-0.997755282531,-0.997761698195,-0.997768104688,-0.99777450201,-0.997780890161,-0.99778726914,-0.997793638947,-0.997799999583,-0.997806351048,-0.99781269334,-0.997819026462,-0.997825350411,-0.997831665189,-0.997837970795,-0.997844267228,-0.99785055449,-0.99785683258,-0.997863101498,-0.997869361244,-0.997875611817,-0.997881853218,-0.997888085447,-0.997894308504,-0.997900522388,-0.997906727099,-0.997912922638,-0.997919109005,-0.997925286199,-0.99793145422,-0.997937613068,-0.997943762743,-0.997949903246,-0.997956034576,-0.997962156732,-0.997968269716,-0.997974373526,-0.997980468164,-0.997986553628,-0.997992629919,-0.997998697036,-0.99800475498,-0.998010803751,-0.998016843348,-0.998022873771,-0.998028895021,-0.998034907098,-0.99804091,-0.998046903729,-0.998052888284,-0.998058863665,-0.998064829872,-0.998070786905,-0.998076734765,-0.99808267345,-0.99808860296,-0.998094523297,-0.998100434459,-0.998106336447,-0.998112229261,-0.9981181129,-0.998123987365,-0.998129852655,-0.998135708771,-0.998141555712,-0.998147393478,-0.998153222069,-0.998159041486,-0.998164851728,-0.998170652795,-0.998176444686,-0.998182227403,-0.998188000945,-0.998193765312,-0.998199520503,-0.99820526652,-0.99821100336,-0.998216731026,-0.998222449516,-0.998228158831,-0.99823385897,-0.998239549934,-0.998245231722,-0.998250904335,-0.998256567771,-0.998262222032,-0.998267867118,-0.998273503027,-0.99827912976,-0.998284747318,-0.998290355699,-0.998295954905,-0.998301544934,-0.998307125787,-0.998312697464,-0.998318259964,-0.998323813289,-0.998329357436,-0.998334892408,-0.998340418203,-0.998345934821,-0.998351442263,-0.998356940528,-0.998362429617,-0.998367909529,-0.998373380264,-0.998378841822,-0.998384294203,-0.998389737407,-0.998395171435,-0.998400596285,-0.998406011958,-0.998411418454,-0.998416815773,-0.998422203915,-0.998427582879,-0.998432952667,-0.998438313276,-0.998443664708,-0.998449006963,-0.998454340041,-0.99845966394,-0.998464978662,-0.998470284207,-0.998475580573,-0.998480867762,-0.998486145773,-0.998491414606,-0.998496674262,-0.998501924739,-0.998507166038,-0.99851239816,-0.998517621103,-0.998522834868,-0.998528039454,-0.998533234863,-0.998538421093,-0.998543598145,-0.998548766018,-0.998553924713,-0.99855907423,-0.998564214568,-0.998569345727,-0.998574467708,-0.99857958051,-0.998584684133,-0.998589778578,-0.998594863843,-0.99859993993,-0.998605006838,-0.998610064567,-0.998615113117,-0.998620152488,-0.99862518268,-0.998630203693,-0.998635215526,-0.99864021818,-0.998645211655,-0.998650195951,-0.998655171067,-0.998660137004,-0.998665093761,-0.998670041339,-0.998674979737,-0.998679908956,-0.998684828995,-0.998689739854,-0.998694641534,-0.998699534034,-0.998704417353,-0.998709291494,-0.998714156454,-0.998719012234,-0.998723858834,-0.998728696254,-0.998733524494,-0.998738343554,-0.998743153434,-0.998747954133,-0.998752745652,-0.998757527991,-0.99876230115,-0.998767065128,-0.998771819925,-0.998776565542,-0.998781301979,-0.998786029235,-0.99879074731,-0.998795456205,-0.998800155919,-0.998804846452,-0.998809527805,-0.998814199976,-0.998818862967,-0.998823516777,-0.998828161406,-0.998832796854,-0.99883742312,-0.998842040206,-0.99884664811,-0.998851246834,-0.998855836376,-0.998860416737,-0.998864987916,-0.998869549914,-0.998874102731,-0.998878646366,-0.99888318082,-0.998887706093,-0.998892222183,-0.998896729092,-0.99890122682,-0.998905715366,-0.99891019473,-0.998914664912,-0.998919125913,-0.998923577731,-0.998928020368,-0.998932453823,-0.998936878096,-0.998941293187,-0.998945699096,-0.998950095822,-0.998954483367,-0.998958861729,-0.99896323091,-0.998967590908,-0.998971941723,-0.998976283356,-0.998980615807,-0.998984939076,-0.998989253162,-0.998993558066,-0.998997853787,-0.999002140325,-0.999006417681,-0.999010685854,-0.999014944845,-0.999019194652,-0.999023435277,-0.99902766672,-0.999031888979,-0.999036102055,-0.999040305949,-0.999044500659,-0.999048686187,-0.999052862532,-0.999057029693,-0.999061187671,-0.999065336466,-0.999069476078,-0.999073606507,-0.999077727753,-0.999081839815,-0.999085942694,-0.999090036389,-0.999094120901,-0.99909819623,-0.999102262375,-0.999106319336,-0.999110367114,-0.999114405709,-0.999118435119,-0.999122455346,-0.99912646639,-0.999130468249,-0.999134460925,-0.999138444417,-0.999142418725,-0.999146383849,-0.999150339789,-0.999154286545,-0.999158224118,-0.999162152506,-0.99916607171,-0.99916998173,-0.999173882566,-0.999177774217,-0.999181656685,-0.999185529968,-0.999189394067,-0.999193248981,-0.999197094711,-0.999200931257,-0.999204758618,-0.999208576795,-0.999212385787,-0.999216185595,-0.999219976218,-0.999223757657,-0.999227529911,-0.99923129298,-0.999235046865,-0.999238791564,-0.999242527079,-0.999246253409,-0.999249970555,-0.999253678515,-0.999257377291,-0.999261066881,-0.999264747287,-0.999268418507,-0.999272080543,-0.999275733393,-0.999279377058,-0.999283011538,-0.999286636833,-0.999290252943,-0.999293859867,-0.999297457606,-0.99930104616,-0.999304625528,-0.999308195711,-0.999311756709,-0.999315308521,-0.999318851147,-0.999322384588,-0.999325908844,-0.999329423914,-0.999332929798,-0.999336426497,-0.99933991401,-0.999343392337,-0.999346861478,-0.999350321434,-0.999353772204,-0.999357213788,-0.999360646186,-0.999364069399,-0.999367483425,-0.999370888265,-0.99937428392,-0.999377670388,-0.99938104767,-0.999384415766,-0.999387774676,-0.9993911244,-0.999394464938,-0.99939779629,-0.999401118455,-0.999404431434,-0.999407735226,-0.999411029833,-0.999414315253,-0.999417591486,-0.999420858533,-0.999424116394,-0.999427365068,-0.999430604555,-0.999433834857,-0.999437055971,-0.999440267899,-0.99944347064,-0.999446664195,-0.999449848562,-0.999453023744,-0.999456189738,-0.999459346546,-0.999462494166,-0.9994656326,-0.999468761847,-0.999471881907,-0.999474992781,-0.999478094467,-0.999481186966,-0.999484270278,-0.999487344404,-0.999490409342,-0.999493465093,-0.999496511657,-0.999499549033,-0.999502577223,-0.999505596225,-0.99950860604,-0.999511606668,-0.999514598109,-0.999517580362,-0.999520553428,-0.999523517306,-0.999526471997,-0.999529417501,-0.999532353817,-0.999535280946,-0.999538198887,-0.999541107641,-0.999544007207,-0.999546897585,-0.999549778776,-0.999552650779,-0.999555513595,-0.999558367223,-0.999561211663,-0.999564046915,-0.99956687298,-0.999569689857,-0.999572497546,-0.999575296047,-0.99957808536,-0.999580865485,-0.999583636423,-0.999586398172,-0.999589150734,-0.999591894107,-0.999594628292,-0.99959735329,-0.999600069099,-0.99960277572,-0.999605473153,-0.999608161398,-0.999610840455,-0.999613510323,-0.999616171003,-0.999618822495,-0.999621464799,-0.999624097914,-0.999626721841,-0.99962933658,-0.99963194213,-0.999634538492,-0.999637125666,-0.999639703651,-0.999642272447,-0.999644832055,-0.999647382475,-0.999649923706,-0.999652455748,-0.999654978602,-0.999657492267,-0.999659996744,-0.999662492032,-0.999664978131,-0.999667455042,-0.999669922763,-0.999672381297,-0.999674830641,-0.999677270796,-0.999679701763,-0.999682123541,-0.99968453613,-0.99968693953,-0.999689333741,-0.999691718763,-0.999694094597,-0.999696461241,-0.999698818696,-0.999701166963,-0.99970350604,-0.999705835928,-0.999708156627,-0.999710468137,-0.999712770458,-0.99971506359,-0.999717347532,-0.999719622286,-0.99972188785,-0.999724144225,-0.999726391411,-0.999728629407,-0.999730858214,-0.999733077832,-0.999735288261,-0.9997374895,-0.999739681549,-0.99974186441,-0.999744038081,-0.999746202562,-0.999748357855,-0.999750503957,-0.99975264087,-0.999754768594,-0.999756887128,-0.999758996472,-0.999761096627,-0.999763187593,-0.999765269369,-0.999767341955,-0.999769405351,-0.999771459558,-0.999773504575,-0.999775540403,-0.99977756704,-0.999779584488,-0.999781592747,-0.999783591815,-0.999785581694,-0.999787562382,-0.999789533881,-0.999791496191,-0.99979344931,-0.999795393239,-0.999797327979,-0.999799253528,-0.999801169888,-0.999803077058,-0.999804975037,-0.999806863827,-0.999808743427,-0.999810613836,-0.999812475056,-0.999814327085,-0.999816169925,-0.999818003574,-0.999819828034,-0.999821643303,-0.999823449382,-0.99982524627,-0.999827033969,-0.999828812478,-0.999830581796,-0.999832341924,-0.999834092862,-0.999835834609,-0.999837567166,-0.999839290533,-0.99984100471,-0.999842709696,-0.999844405492,-0.999846092098,-0.999847769513,-0.999849437738,-0.999851096772,-0.999852746616,-0.99985438727,-0.999856018733,-0.999857641006,-0.999859254088,-0.99986085798,-0.999862452681,-0.999864038192,-0.999865614512,-0.999867181641,-0.999868739581,-0.999870288329,-0.999871827887,-0.999873358254,-0.999874879431,-0.999876391417,-0.999877894212,-0.999879387817,-0.999880872231,-0.999882347454,-0.999883813487,-0.999885270329,-0.99988671798,-0.99988815644,-0.99988958571,-0.999891005789,-0.999892416677,-0.999893818374,-0.999895210881,-0.999896594197,-0.999897968321,-0.999899333256,-0.999900688999,-0.999902035551,-0.999903372912,-0.999904701083,-0.999906020062,-0.999907329851,-0.999908630449,-0.999909921856,-0.999911204071,-0.999912477096,-0.99991374093,-0.999914995573,-0.999916241025,-0.999917477286,-0.999918704356,-0.999919922235,-0.999921130922,-0.999922330419,-0.999923520725,-0.999924701839,-0.999925873763,-0.999927036495,-0.999928190036,-0.999929334386,-0.999930469545,-0.999931595513,-0.99993271229,-0.999933819875,-0.99993491827,-0.999936007473,-0.999937087485,-0.999938158305,-0.999939219935,-0.999940272373,-0.99994131562,-0.999942349676,-0.999943374541,-0.999944390214,-0.999945396696,-0.999946393987,-0.999947382086,-0.999948360994,-0.999949330711,-0.999950291236,-0.999951242571,-0.999952184714,-0.999953117665,-0.999954041425,-0.999954955994,-0.999955861371,-0.999956757557,-0.999957644552,-0.999958522355,-0.999959390967,-0.999960250387,-0.999961100616,-0.999961941654,-0.9999627735,-0.999963596155,-0.999964409618,-0.99996521389,-0.99996600897,-0.999966794859,-0.999967571556,-0.999968339062,-0.999969097377,-0.9999698465,-0.999970586431,-0.999971317171,-0.999972038719,-0.999972751076,-0.999973454241,-0.999974148215,-0.999974832997,-0.999975508588,-0.999976174987,-0.999976832194,-0.99997748021,-0.999978119035,-0.999978748667,-0.999979369109,-0.999979980358,-0.999980582416,-0.999981175283,-0.999981758957,-0.999982333441,-0.999982898732,-0.999983454832,-0.99998400174,-0.999984539457,-0.999985067982,-0.999985587315,-0.999986097457,-0.999986598407,-0.999987090165,-0.999987572732,-0.999988046107,-0.99998851029,-0.999988965282,-0.999989411082,-0.99998984769,-0.999990275107,-0.999990693332,-0.999991102365,-0.999991502206,-0.999991892856,-0.999992274314,-0.999992646581,-0.999993009655,-0.999993363538,-0.99999370823,-0.999994043729,-0.999994370037,-0.999994687153,-0.999994995077,-0.99999529381,-0.99999558335,-0.999995863699,-0.999996134857,-0.999996396822,-0.999996649596,-0.999996893178,-0.999997127568,-0.999997352767,-0.999997568774,-0.999997775589,-0.999997973212,-0.999998161643,-0.999998340883,-0.999998510931,-0.999998671787,-0.999998823452,-0.999998965924,-0.999999099205,-0.999999223294,-0.999999338192,-0.999999443897,-0.999999540411,-0.999999627733,-0.999999705863,-0.999999774801,-0.999999834548,-0.999999885103,-0.999999926466,-0.999999958637,-0.999999981616,-0.999999995404,-1.0,-0.999999995404,-0.999999981616,-0.999999958637,-0.999999926466,-0.999999885103,-0.999999834548,-0.999999774801,-0.999999705863,-0.999999627733,-0.999999540411,-0.999999443897,-0.999999338192,-0.999999223294,-0.999999099205,-0.999998965924,-0.999998823452,-0.999998671787,-0.999998510931,-0.999998340883,-0.999998161643,-0.999997973212,-0.999997775589,-0.999997568774,-0.999997352767,-0.999997127568,-0.999996893178,-0.999996649596,-0.999996396822,-0.999996134857,-0.999995863699,-0.99999558335,-0.99999529381,-0.999994995077,-0.999994687153,-0.999994370037,-0.999994043729,-0.99999370823,-0.999993363538,-0.999993009655,-0.999992646581,-0.999992274314,-0.999991892856,-0.999991502206,-0.999991102365,-0.999990693332,-0.999990275107,-0.99998984769,-0.999989411082,-0.999988965282,-0.99998851029,-0.999988046107,-0.999987572732,-0.999987090165,-0.999986598407,-0.999986097457,-0.999985587315,-0.999985067982,-0.999984539457,-0.99998400174,-0.999983454832,-0.999982898732,-0.999982333441,-0.999981758957,-0.999981175283,-0.999980582416,-0.999979980358,-0.999979369109,-0.999978748667,-0.999978119035,-0.99997748021,-0.999976832194,-0.999976174987,-0.999975508588,-0.999974832997,-0.999974148215,-0.999973454241,-0.999972751076,-0.999972038719,-0.999971317171,-0.999970586431,-0.9999698465,-0.999969097377,-0.999968339062,-0.999967571556,-0.999966794859,-0.99996600897,-0.99996521389,-0.999964409618,-0.999963596155,-0.9999627735,-0.999961941654,-0.999961100616,-0.999960250387,-0.999959390967,-0.999958522355,-0.999957644552,-0.999956757557,-0.999955861371,-0.999954955994,-0.999954041425,-0.999953117665,-0.999952184714,-0.999951242571,-0.999950291236,-0.999949330711,-0.999948360994,-0.999947382086,-0.999946393987,-0.999945396696,-0.999944390214,-0.999943374541,-0.999942349676,-0.99994131562,-0.999940272373,-0.999939219935,-0.999938158305,-0.999937087485,-0.999936007473,-0.99993491827,-0.999933819875,-0.99993271229,-0.999931595513,-0.999930469545,-0.999929334386,-0.999928190036,-0.999927036495,-0.999925873763,-0.999924701839,-0.999923520725,-0.999922330419,-0.999921130922,-0.999919922235,-0.999918704356,-0.999917477286,-0.999916241025,-0.999914995573,-0.99991374093,-0.999912477096,-0.999911204071,-0.999909921856,-0.999908630449,-0.999907329851,-0.999906020062,-0.999904701083,-0.999903372912,-0.999902035551,-0.999900688999,-0.999899333256,-0.999897968321,-0.999896594197,-0.999895210881,-0.999893818374,-0.999892416677,-0.999891005789,-0.99988958571,-0.99988815644,-0.99988671798,-0.999885270329,-0.999883813487,-0.999882347454,-0.999880872231,-0.999879387817,-0.999877894212,-0.999876391417,-0.999874879431,-0.999873358254,-0.999871827887,-0.999870288329,-0.999868739581,-0.999867181641,-0.999865614512,-0.999864038192,-0.999862452681,-0.99986085798,-0.999859254088,-0.999857641006,-0.999856018733,-0.99985438727,-0.999852746616,-0.999851096772,-0.999849437738,-0.999847769513,-0.999846092098,-0.999844405492,-0.999842709696,-0.99984100471,-0.999839290533,-0.999837567166,-0.999835834609,-0.999834092862,-0.999832341924,-0.999830581796,-0.999828812478,-0.999827033969,-0.99982524627,-0.999823449382,-0.999821643303,-0.999819828034,-0.999818003574,-0.999816169925,-0.999814327085,-0.999812475056,-0.999810613836,-0.999808743427,-0.999806863827,-0.999804975037,-0.999803077058,-0.999801169888,-0.999799253528,-0.999797327979,-0.999795393239,-0.99979344931,-0.999791496191,-0.999789533881,-0.999787562382,-0.999785581694,-0.999783591815,-0.999781592747,-0.999779584488,-0.99977756704,-0.999775540403,-0.999773504575,-0.999771459558,-0.999769405351,-0.999767341955,-0.999765269369,-0.999763187593,-0.999761096627,-0.999758996472,-0.999756887128,-0.999754768594,-0.99975264087,-0.999750503957,-0.999748357855,-0.999746202562,-0.999744038081,-0.99974186441,-0.999739681549,-0.9997374895,-0.999735288261,-0.999733077832,-0.999730858214,-0.999728629407,-0.999726391411,-0.999724144225,-0.99972188785,-0.999719622286,-0.999717347532,-0.99971506359,-0.999712770458,-0.999710468137,-0.999708156627,-0.999705835928,-0.99970350604,-0.999701166963,-0.999698818696,-0.999696461241,-0.999694094597,-0.999691718763,-0.999689333741,-0.99968693953,-0.99968453613,-0.999682123541,-0.999679701763,-0.999677270796,-0.999674830641,-0.999672381297,-0.999669922763,-0.999667455042,-0.999664978131,-0.999662492032,-0.999659996744,-0.999657492267,-0.999654978602,-0.999652455748,-0.999649923706,-0.999647382475,-0.999644832055,-0.999642272447,-0.999639703651,-0.999637125666,-0.999634538492,-0.99963194213,-0.99962933658,-0.999626721841,-0.999624097914,-0.999621464799,-0.999618822495,-0.999616171003,-0.999613510323,-0.999610840455,-0.999608161398,-0.999605473153,-0.99960277572,-0.999600069099,-0.99959735329,-0.999594628292,-0.999591894107,-0.999589150734,-0.999586398172,-0.999583636423,-0.999580865485,-0.99957808536,-0.999575296047,-0.999572497546,-0.999569689857,-0.99956687298,-0.999564046915,-0.999561211663,-0.999558367223,-0.999555513595,-0.999552650779,-0.999549778776,-0.999546897585,-0.999544007207,-0.999541107641,-0.999538198887,-0.999535280946,-0.999532353817,-0.999529417501,-0.999526471997,-0.999523517306,-0.999520553428,-0.999517580362,-0.999514598109,-0.999511606668,-0.99950860604,-0.999505596225,-0.999502577223,-0.999499549033,-0.999496511657,-0.999493465093,-0.999490409342,-0.999487344404,-0.999484270278,-0.999481186966,-0.999478094467,-0.999474992781,-0.999471881907,-0.999468761847,-0.9994656326,-0.999462494166,-0.999459346546,-0.999456189738,-0.999453023744,-0.999449848562,-0.999446664195,-0.99944347064,-0.999440267899,-0.999437055971,-0.999433834857,-0.999430604555,-0.999427365068,-0.999424116394,-0.999420858533,-0.999417591486,-0.999414315253,-0.999411029833,-0.999407735226,-0.999404431434,-0.999401118455,-0.99939779629,-0.999394464938,-0.9993911244,-0.999387774676,-0.999384415766,-0.99938104767,-0.999377670388,-0.99937428392,-0.999370888265,-0.999367483425,-0.999364069399,-0.999360646186,-0.999357213788,-0.999353772204,-0.999350321434,-0.999346861478,-0.999343392337,-0.99933991401,-0.999336426497,-0.999332929798,-0.999329423914,-0.999325908844,-0.999322384588,-0.999318851147,-0.999315308521,-0.999311756709,-0.999308195711,-0.999304625528,-0.99930104616,-0.999297457606,-0.999293859867,-0.999290252943,-0.999286636833,-0.999283011538,-0.999279377058,-0.999275733393,-0.999272080543,-0.999268418507,-0.999264747287,-0.999261066881,-0.999257377291,-0.999253678515,-0.999249970555,-0.999246253409,-0.999242527079,-0.999238791564,-0.999235046865,-0.99923129298,-0.999227529911,-0.999223757657,-0.999219976218,-0.999216185595,-0.999212385787,-0.999208576795,-0.999204758618,-0.999200931257,-0.999197094711,-0.999193248981,-0.999189394067,-0.999185529968,-0.999181656685,-0.999177774217,-0.999173882566,-0.99916998173,-0.99916607171,-0.999162152506,-0.999158224118,-0.999154286545,-0.999150339789,-0.999146383849,-0.999142418725,-0.999138444417,-0.999134460925,-0.999130468249,-0.99912646639,-0.999122455346,-0.999118435119,-0.999114405709,-0.999110367114,-0.999106319336,-0.999102262375,-0.99909819623,-0.999094120901,-0.999090036389,-0.999085942694,-0.999081839815,-0.999077727753,-0.999073606507,-0.999069476078,-0.999065336466,-0.999061187671,-0.999057029693,-0.999052862532,-0.999048686187,-0.999044500659,-0.999040305949,-0.999036102055,-0.999031888979,-0.99902766672,-0.999023435277,-0.999019194652,-0.999014944845,-0.999010685854,-0.999006417681,-0.999002140325,-0.998997853787,-0.998993558066,-0.998989253162,-0.998984939076,-0.998980615807,-0.998976283356,-0.998971941723,-0.998967590908,-0.99896323091,-0.998958861729,-0.998954483367,-0.998950095822,-0.998945699096,-0.998941293187,-0.998936878096,-0.998932453823,-0.998928020368,-0.998923577731,-0.998919125913,-0.998914664912,-0.99891019473,-0.998905715366,-0.99890122682,-0.998896729092,-0.998892222183,-0.998887706093,-0.99888318082,-0.998878646366,-0.998874102731,-0.998869549914,-0.998864987916,-0.998860416737,-0.998855836376,-0.998851246834,-0.99884664811,-0.998842040206,-0.99883742312,-0.998832796854,-0.998828161406,-0.998823516777,-0.998818862967,-0.998814199976,-0.998809527805,-0.998804846452,-0.998800155919,-0.998795456205,-0.99879074731,-0.998786029235,-0.998781301979,-0.998776565542,-0.998771819925,-0.998767065128,-0.99876230115,-0.998757527991,-0.998752745652,-0.998747954133,-0.998743153434,-0.998738343554,-0.998733524494,-0.998728696254,-0.998723858834,-0.998719012234,-0.998714156454,-0.998709291494,-0.998704417353,-0.998699534034,-0.998694641534,-0.998689739854,-0.998684828995,-0.998679908956,-0.998674979737,-0.998670041339,-0.998665093761,-0.998660137004,-0.998655171067,-0.998650195951,-0.998645211655,-0.99864021818,-0.998635215526,-0.998630203693,-0.99862518268,-0.998620152488,-0.998615113117,-0.998610064567,-0.998605006838,-0.99859993993,-0.998594863843,-0.998589778578,-0.998584684133,-0.99857958051,-0.998574467708,-0.998569345727,-0.998564214568,-0.99855907423,-0.998553924713,-0.998548766018,-0.998543598145,-0.998538421093,-0.998533234863,-0.998528039454,-0.998522834868,-0.998517621103,-0.99851239816,-0.998507166038,-0.998501924739,-0.998496674262,-0.998491414606,-0.998486145773,-0.998480867762,-0.998475580573,-0.998470284207,-0.998464978662,-0.99845966394,-0.998454340041,-0.998449006963,-0.998443664708,-0.998438313276,-0.998432952667,-0.998427582879,-0.998422203915,-0.998416815773,-0.998411418454,-0.998406011958,-0.998400596285,-0.998395171435,-0.998389737407,-0.998384294203,-0.998378841822,-0.998373380264,-0.998367909529,-0.998362429617,-0.998356940528,-0.998351442263,-0.998345934821,-0.998340418203,-0.998334892408,-0.998329357436,-0.998323813289,-0.998318259964,-0.998312697464,-0.998307125787,-0.998301544934,-0.998295954905,-0.998290355699,-0.998284747318,-0.99827912976,-0.998273503027,-0.998267867118,-0.998262222032,-0.998256567771,-0.998250904335,-0.998245231722,-0.998239549934,-0.99823385897,-0.998228158831,-0.998222449516,-0.998216731026,-0.99821100336,-0.99820526652,-0.998199520503,-0.998193765312,-0.998188000945,-0.998182227403,-0.998176444686,-0.998170652795,-0.998164851728,-0.998159041486,-0.998153222069,-0.998147393478,-0.998141555712,-0.998135708771,-0.998129852655,-0.998123987365,-0.9981181129,-0.998112229261,-0.998106336447,-0.998100434459,-0.998094523297,-0.99808860296,-0.99808267345,-0.998076734765,-0.998070786905,-0.998064829872,-0.998058863665,-0.998052888284,-0.998046903729,-0.99804091,-0.998034907098,-0.998028895021,-0.998022873771,-0.998016843348,-0.998010803751,-0.99800475498,-0.997998697036,-0.997992629919,-0.997986553628,-0.997980468164,-0.997974373526,-0.997968269716,-0.997962156732,-0.997956034576,-0.997949903246,-0.997943762743,-0.997937613068,-0.99793145422,-0.997925286199,-0.997919109005,-0.997912922638,-0.997906727099,-0.997900522388,-0.997894308504,-0.997888085447,-0.997881853218,-0.997875611817,-0.997869361244,-0.997863101498,-0.99785683258,-0.99785055449,-0.997844267228,-0.997837970795,-0.997831665189,-0.997825350411,-0.997819026462,-0.99781269334,-0.997806351048,-0.997799999583,-0.997793638947,-0.99778726914,-0.997780890161,-0.99777450201,-0.997768104688,-0.997761698195,-0.997755282531,-0.997748857696,-0.997742423689,-0.997735980512,-0.997729528164,-0.997723066644,-0.997716595954,-0.997710116093,-0.997703627061,-0.997697128859,-0.997690621486,-0.997684104942,-0.997677579228,-0.997671044343,-0.997664500289,-0.997657947063,-0.997651384668,-0.997644813102,-0.997638232366,-0.99763164246,-0.997625043384,-0.997618435139,-0.997611817723,-0.997605191137,-0.997598555382,-0.997591910457,-0.997585256362,-0.997578593098,-0.997571920664,-0.99756523906,-0.997558548288,-0.997551848346,-0.997545139234,-0.997538420954,-0.997531693504,-0.997524956885,-0.997518211097,-0.99751145614,-0.997504692015,-0.99749791872,-0.997491136257,-0.997484344624,-0.997477543824,-0.997470733854,-0.997463914716,-0.99745708641,-0.997450248935,-0.997443402292,-0.997436546481,-0.997429681501,-0.997422807353,-0.997415924037,-0.997409031553,-0.997402129901,-0.997395219081,-0.997388299094,-0.997381369938,-0.997374431615,-0.997367484124,-0.997360527466,-0.99735356164,-0.997346586647,-0.997339602486,-0.997332609158,-0.997325606662,-0.997318595,-0.99731157417,-0.997304544173,-0.997297505009,-0.997290456679,-0.997283399181,-0.997276332517,-0.997269256685,-0.997262171688,-0.997255077523,-0.997247974192,-0.997240861694,-0.99723374003,-0.9972266092,-0.997219469204,-0.997212320041,-0.997205161712,-0.997197994217,-0.997190817555,-0.997183631728,-0.997176436735,-0.997169232576,-0.997162019252,-0.997154796762,-0.997147565106,-0.997140324284,-0.997133074297,-0.997125815145,-0.997118546827,-0.997111269344,-0.997103982696,-0.997096686882,-0.997089381903,-0.99708206776,-0.997074744451,-0.997067411978,-0.997060070339,-0.997052719536,-0.997045359569,-0.997037990436,-0.997030612139,-0.997023224678,-0.997015828052,-0.997008422262,-0.997001007307,-0.996993583189,-0.996986149906,-0.996978707459,-0.996971255848,-0.996963795073,-0.996956325134,-0.996948846031,-0.996941357765,-0.996933860335,-0.996926353741,-0.996918837984,-0.996911313064,-0.99690377898,-0.996896235732,-0.996888683322,-0.996881121748,-0.996873551011,-0.996865971111,-0.996858382048,-0.996850783822,-0.996843176434,-0.996835559882,-0.996827934168,-0.996820299291,-0.996812655252,-0.99680500205,-0.996797339686,-0.996789668159,-0.99678198747,-0.996774297619,-0.996766598606,-0.996758890431,-0.996751173094,-0.996743446594,-0.996735710933,-0.996727966111,-0.996720212126,-0.99671244898,-0.996704676672,-0.996696895203,-0.996689104572,-0.99668130478,-0.996673495827,-0.996665677712,-0.996657850437,-0.996650014,-0.996642168402,-0.996634313644,-0.996626449724,-0.996618576644,-0.996610694403,-0.996602803002,-0.99659490244,-0.996586992717,-0.996579073834,-0.996571145791,-0.996563208587,-0.996555262223,-0.996547306699,-0.996539342015,-0.996531368171,-0.996523385167,-0.996515393004,-0.99650739168,-0.996499381197,-0.996491361554,-0.996483332752,-0.99647529479,-0.996467247669,-0.996459191389,-0.996451125949,-0.99644305135,-0.996434967592,-0.996426874675,-0.996418772599,-0.996410661364,-0.996402540971,-0.996394411419,-0.996386272708,-0.996378124838,-0.99636996781,-0.996361801624,-0.996353626279,-0.996345441776,-0.996337248115,-0.996329045295,-0.996320833318,-0.996312612183,-0.99630438189,-0.996296142438,-0.99628789383,-0.996279636063,-0.996271369139,-0.996263093058,-0.996254807819,-0.996246513422,-0.996238209869,-0.996229897158,-0.99622157529,-0.996213244265,-0.996204904083,-0.996196554744,-0.996188196248,-0.996179828596,-0.996171451787,-0.996163065821,-0.996154670699,-0.99614626642,-0.996137852985,-0.996129430393,-0.996120998646,-0.996112557742,-0.996104107682,-0.996095648467,-0.996087180095,-0.996078702568,-0.996070215884,-0.996061720046,-0.996053215051,-0.996044700901,-0.996036177596,-0.996027645135,-0.996019103519,-0.996010552748,-0.996001992822,-0.99599342374,-0.995984845504,-0.995976258113,-0.995967661567,-0.995959055866,-0.995950441011,-0.995941817001,-0.995933183837,-0.995924541518,-0.995915890045,-0.995907229417,-0.995898559636,-0.9958898807,-0.995881192611,-0.995872495367,-0.99586378897,-0.995855073419,-0.995846348714,-0.995837614855,-0.995828871843,-0.995820119678,-0.995811358359,-0.995802587887,-0.995793808262,-0.995785019483,-0.995776221552,-0.995767414468,-0.99575859823,-0.99574977284,-0.995740938298,-0.995732094602,-0.995723241754,-0.995714379754,-0.995705508601,-0.995696628296,-0.995687738838,-0.995678840229,-0.995669932467,-0.995661015554,-0.995652089488,-0.995643154271,-0.995634209902,-0.995625256381,-0.995616293709,-0.995607321885,-0.99559834091,-0.995589350783,-0.995580351506,-0.995571343077,-0.995562325497,-0.995553298766,-0.995544262884,-0.995535217851,-0.995526163668,-0.995517100333,-0.995508027849,-0.995498946213,-0.995489855428,-0.995480755492,-0.995471646406,-0.995462528169,-0.995453400783,-0.995444264247,-0.99543511856,-0.995425963724,-0.995416799738,-0.995407626603,-0.995398444317,-0.995389252883,-0.995380052299,-0.995370842565,-0.995361623683,-0.995352395651,-0.99534315847,-0.99533391214,-0.995324656662,-0.995315392034,-0.995306118258,-0.995296835333,-0.99528754326,-0.995278242038,-0.995268931668,-0.995259612149,-0.995250283482,-0.995240945667,-0.995231598705,-0.995222242594,-0.995212877335,-0.995203502928,-0.995194119374,-0.995184726672,-0.995175324823,-0.995165913826,-0.995156493682,-0.99514706439,-0.995137625952,-0.995128178366,-0.995118721633,-0.995109255754,-0.995099780727,-0.995090296554,-0.995080803234,-0.995071300768,-0.995061789155,-0.995052268396,-0.99504273849,-0.995033199438,-0.99502365124,-0.995014093896,-0.995004527406,-0.99499495177,-0.994985366989,-0.994975773061,-0.994966169989,-0.99495655777,-0.994946936406,-0.994937305897,-0.994927666243,-0.994918017443,-0.994908359498,-0.994898692409,-0.994889016174,-0.994879330795,-0.994869636271,-0.994859932602,-0.994850219789,-0.994840497831,-0.994830766729,-0.994821026483,-0.994811277092,-0.994801518558,-0.994791750879,-0.994781974057,-0.99477218809,-0.99476239298,-0.994752588726,-0.994742775329,-0.994732952788,-0.994723121104,-0.994713280277,-0.994703430306,-0.994693571193,-0.994683702936,-0.994673825536,-0.994663938994,-0.994654043309,-0.994644138481,-0.994634224511,-0.994624301398,-0.994614369143,-0.994604427745,-0.994594477206,-0.994584517524,-0.9945745487,-0.994564570734,-0.994554583627,-0.994544587377,-0.994534581987,-0.994524567454,-0.99451454378,-0.994504510965,-0.994494469008,-0.994484417911,-0.994474357672,-0.994464288292,-0.994454209771,-0.99444412211,-0.994434025308,-0.994423919365,-0.994413804281,-0.994403680058,-0.994393546694,-0.994383404189,-0.994373252545,-0.99436309176,-0.994352921835,-0.994342742771,-0.994332554567,-0.994322357223,-0.994312150739,-0.994301935116,-0.994291710353,-0.994281476452,-0.994271233411,-0.99426098123,-0.994250719911,-0.994240449453,-0.994230169856,-0.994219881121,-0.994209583246,-0.994199276233,-0.994188960082,-0.994178634792,-0.994168300364,-0.994157956798,-0.994147604093,-0.994137242251,-0.994126871271,-0.994116491153,-0.994106101897,-0.994095703504,-0.994085295973,-0.994074879305,-0.994064453499,-0.994054018557,-0.994043574477,-0.99403312126,-0.994022658906,-0.994012187415,-0.994001706787,-0.993991217023,-0.993980718123,-0.993970210085,-0.993959692912,-0.993949166602,-0.993938631156,-0.993928086574,-0.993917532856,-0.993906970002,-0.993896398013,-0.993885816887,-0.993875226626,-0.99386462723,-0.993854018698,-0.993843401031,-0.993832774229,-0.993822138292,-0.993811493219,-0.993800839012,-0.99379017567,-0.993779503193,-0.993768821582,-0.993758130836,-0.993747430955,-0.993736721941,-0.993726003792,-0.993715276509,-0.993704540092,-0.993693794541,-0.993683039856,-0.993672276038,-0.993661503086,-0.993650721,-0.993639929781,-0.993629129429,-0.993618319943,-0.993607501325,-0.993596673573,-0.993585836688,-0.993574990671,-0.993564135521,-0.993553271238,-0.993542397822,-0.993531515275,-0.993520623595,-0.993509722782,-0.993498812838,-0.993487893761,-0.993476965553,-0.993466028213,-0.993455081741,-0.993444126137,-0.993433161402,-0.993422187535,-0.993411204537,-0.993400212408,-0.993389211148,-0.993378200757,-0.993367181235,-0.993356152582,-0.993345114798,-0.993334067884,-0.993323011839,-0.993311946664,-0.993300872358,-0.993289788922,-0.993278696356,-0.993267594661,-0.993256483835,-0.993245363879,-0.993234234794,-0.993223096579,-0.993211949235,-0.993200792761,-0.993189627158,-0.993178452426,-0.993167268564,-0.993156075574,-0.993144873455,-0.993133662207,-0.99312244183,-0.993111212325,-0.993099973692,-0.99308872593,-0.993077469039,-0.993066203021,-0.993054927875,-0.9930436436,-0.993032350198,-0.993021047668,-0.99300973601,-0.992998415225,-0.992987085312,-0.992975746273,-0.992964398105,-0.992953040811,-0.99294167439,-0.992930298842,-0.992918914167,-0.992907520365,-0.992896117437,-0.992884705382,-0.992873284201,-0.992861853893,-0.99285041446,-0.9928389659,-0.992827508215,-0.992816041403,-0.992804565466,-0.992793080403,-0.992781586215,-0.992770082901,-0.992758570462,-0.992747048897,-0.992735518208,-0.992723978393,-0.992712429454,-0.992700871389,-0.9926893042,-0.992677727887,-0.992666142449,-0.992654547887,-0.9926429442,-0.992631331389,-0.992619709454,-0.992608078395,-0.992596438213,-0.992584788906,-0.992573130476,-0.992561462923,-0.992549786246,-0.992538100446,-0.992526405522,-0.992514701476,-0.992502988306,-0.992491266014,-0.992479534599,-0.992467794061,-0.992456044401,-0.992444285618,-0.992432517713,-0.992420740685,-0.992408954536,-0.992397159264,-0.992385354871,-0.992373541356,-0.992361718719,-0.99234988696,-0.99233804608,-0.992326196079,-0.992314336957,-0.992302468713,-0.992290591348,-0.992278704863,-0.992266809256,-0.992254904529,-0.992242990681,-0.992231067713,-0.992219135625,-0.992207194416,-0.992195244087,-0.992183284638,-0.992171316069,-0.99215933838,-0.992147351571,-0.992135355643,-0.992123350596,-0.992111336428,-0.992099313142,-0.992087280737,-0.992075239212,-0.992063188569,-0.992051128806,-0.992039059925,-0.992026981926,-0.992014894808,-0.992002798571,-0.991990693216,-0.991978578744,-0.991966455153,-0.991954322444,-0.991942180617,-0.991930029672,-0.99191786961,-0.991905700431,-0.991893522134,-0.991881334719,-0.991869138188,-0.991856932539,-0.991844717774,-0.991832493892,-0.991820260893,-0.991808018777,-0.991795767545,-0.991783507197,-0.991771237732,-0.991758959152,-0.991746671455,-0.991734374642,-0.991722068713,-0.991709753669,-0.991697429509,-0.991685096234,-0.991672753843,-0.991660402337,-0.991648041716,-0.99163567198,-0.991623293129,-0.991610905163,-0.991598508083,-0.991586101888,-0.991573686579,-0.991561262155,-0.991548828617,-0.991536385965,-0.991523934199,-0.991511473319,-0.991499003325,-0.991486524218,-0.991474035997,-0.991461538662,-0.991449032215,-0.991436516654,-0.99142399198,-0.991411458193,-0.991398915294,-0.991386363281,-0.991373802156,-0.991361231919,-0.991348652569,-0.991336064107,-0.991323466532,-0.991310859846,-0.991298244048,-0.991285619138,-0.991272985116,-0.991260341983,-0.991247689738,-0.991235028382,-0.991222357915,-0.991209678336,-0.991196989647,-0.991184291847,-0.991171584936,-0.991158868914,-0.991146143782,-0.991133409539,-0.991120666186,-0.991107913723,-0.99109515215,-0.991082381467,-0.991069601674,-0.991056812772,-0.99104401476,-0.991031207638,-0.991018391407,-0.991005566067,-0.990992731618,-0.99097988806,-0.990967035392,-0.990954173617,-0.990941302732,-0.990928422739,-0.990915533638,-0.990902635428,-0.99088972811,-0.990876811684,-0.99086388615,-0.990850951508,-0.990838007759,-0.990825054902,-0.990812092938,-0.990799121866,-0.990786141687,-0.990773152401,-0.990760154008,-0.990747146508,-0.990734129902,-0.990721104188,-0.990708069369,-0.990695025443,-0.99068197241,-0.990668910272,-0.990655839027,-0.990642758677,-0.990629669221,-0.990616570659,-0.990603462992,-0.990590346219,-0.990577220341,-0.990564085358,-0.990550941269,-0.990537788076,-0.990524625778,-0.990511454375,-0.990498273868,-0.990485084256,-0.99047188554,-0.99045867772,-0.990445460796,-0.990432234768,-0.990418999635,-0.9904057554,-0.99039250206,-0.990379239617,-0.990365968071,-0.990352687421,-0.990339397669,-0.990326098813,-0.990312790855,-0.990299473793,-0.99028614763,-0.990272812363,-0.990259467994,-0.990246114523,-0.99023275195,-0.990219380275,-0.990205999498,-0.99019260962,-0.990179210639,-0.990165802557,-0.990152385374,-0.990138959089,-0.990125523704,-0.990112079217,-0.990098625629,-0.990085162941,-0.990071691152,-0.990058210262,-0.990044720272,-0.990031221182,-0.990017712992,-0.990004195701,-0.989990669311,-0.989977133821,-0.989963589231,-0.989950035542,-0.989936472753,-0.989922900865,-0.989909319878,-0.989895729791,-0.989882130606,-0.989868522322,-0.98985490494,-0.989841278459,-0.989827642879,-0.989813998202,-0.989800344426,-0.989786681552,-0.98977300958,-0.98975932851,-0.989745638343,-0.989731939078,-0.989718230716,-0.989704513256,-0.989690786699,-0.989677051046,-0.989663306295,-0.989649552448,-0.989635789504,-0.989622017463,-0.989608236326,-0.989594446093,-0.989580646764,-0.989566838338,-0.989553020817,-0.9895391942,-0.989525358487,-0.989511513679,-0.989497659776,-0.989483796777,-0.989469924683,-0.989456043494,-0.989442153211,-0.989428253832,-0.989414345359,-0.989400427791,-0.989386501129,-0.989372565373,-0.989358620523,-0.989344666579,-0.989330703541,-0.989316731409,-0.989302750183,-0.989288759865,-0.989274760452,-0.989260751947,-0.989246734349,-0.989232707657,-0.989218671873,-0.989204626996,-0.989190573027,-0.989176509965,-0.989162437811,-0.989148356564,-0.989134266226,-0.989120166796,-0.989106058273,-0.98909194066,-0.989077813955,-0.989063678158,-0.98904953327,-0.989035379291,-0.989021216221,-0.98900704406,-0.988992862808,-0.988978672466,-0.988964473033,-0.98895026451,-0.988936046897,-0.988921820194,-0.9889075844,-0.988893339517,-0.988879085544,-0.988864822482,-0.98885055033,-0.988836269089,-0.988821978758,-0.988807679339,-0.988793370831,-0.988779053234,-0.988764726548,-0.988750390774,-0.988736045911,-0.98872169196,-0.988707328921,-0.988692956794,-0.98867857558,-0.988664185277,-0.988649785887,-0.988635377409,-0.988620959844,-0.988606533192,-0.988592097453,-0.988577652627,-0.988563198714,-0.988548735715,-0.988534263629,-0.988519782456,-0.988505292198,-0.988490792853,-0.988476284422,-0.988461766905,-0.988447240303,-0.988432704615,-0.988418159841,-0.988403605982,-0.988389043038,-0.988374471009,-0.988359889895,-0.988345299697,-0.988330700413,-0.988316092045,-0.988301474593,-0.988286848056,-0.988272212435,-0.988257567731,-0.988242913942,-0.98822825107,-0.988213579114,-0.988198898075,-0.988184207952,-0.988169508746,-0.988154800457,-0.988140083086,-0.988125356631,-0.988110621094,-0.988095876474,-0.988081122772,-0.988066359988,-0.988051588122,-0.988036807173,-0.988022017143,-0.988007218031,-0.987992409838,-0.987977592563,-0.987962766207,-0.98794793077,-0.987933086252,-0.987918232653,-0.987903369973,-0.987888498213,-0.987873617372,-0.987858727451,-0.987843828449,-0.987828920368,-0.987814003206,-0.987799076965,-0.987784141645,-0.987769197244,-0.987754243765,-0.987739281206,-0.987724309568,-0.987709328851,-0.987694339055,-0.987679340181,-0.987664332228,-0.987649315197,-0.987634289087,-0.9876192539,-0.987604209634,-0.987589156291,-0.987574093869,-0.987559022371,-0.987543941794,-0.987528852141,-0.98751375341,-0.987498645603,-0.987483528718,-0.987468402757,-0.987453267719,-0.987438123605,-0.987422970414,-0.987407808147,-0.987392636804,-0.987377456385,-0.987362266891,-0.987347068321,-0.987331860675,-0.987316643954,-0.987301418158,-0.987286183287,-0.98727093934,-0.987255686319,-0.987240424224,-0.987225153054,-0.987209872809,-0.987194583491,-0.987179285098,-0.987163977631,-0.987148661091,-0.987133335477,-0.987118000789,-0.987102657028,-0.987087304193,-0.987071942286,-0.987056571306,-0.987041191253,-0.987025802127,-0.987010403928,-0.986994996658,-0.986979580315,-0.9869641549,-0.986948720413,-0.986933276854,-0.986917824223,-0.986902362521,-0.986886891748,-0.986871411903,-0.986855922987,-0.986840425,-0.986824917943,-0.986809401814,-0.986793876615,-0.986778342346,-0.986762799007,-0.986747246597,-0.986731685117,-0.986716114568,-0.986700534949,-0.98668494626,-0.986669348502,-0.986653741675,-0.986638125778,-0.986622500813,-0.986606866779,-0.986591223676,-0.986575571505,-0.986559910265,-0.986544239957,-0.986528560581,-0.986512872136,-0.986497174625,-0.986481468045,-0.986465752398,-0.986450027683,-0.986434293902,-0.986418551053,-0.986402799137,-0.986387038154,-0.986371268105,-0.986355488989,-0.986339700807,-0.986323903559,-0.986308097245,-0.986292281864,-0.986276457418,-0.986260623906,-0.986244781329,-0.986228929686,-0.986213068979,-0.986197199206,-0.986181320368,-0.986165432465,-0.986149535498,-0.986133629467,-0.986117714371,-0.98610179021,-0.986085856986,-0.986069914698,-0.986053963346,-0.986038002931,-0.986022033452,-0.98600605491,-0.985990067304,-0.985974070636,-0.985958064905,-0.985942050111,-0.985926026254,-0.985909993335,-0.985893951354,-0.985877900311,-0.985861840206,-0.985845771038,-0.98582969281,-0.985813605519,-0.985797509168,-0.985781403755,-0.985765289281,-0.985749165746,-0.98573303315,-0.985716891493,-0.985700740776,-0.985684580999,-0.985668412162,-0.985652234264,-0.985636047307,-0.985619851289,-0.985603646213,-0.985587432076,-0.985571208881,-0.985554976626,-0.985538735312,-0.98552248494,-0.985506225508,-0.985489957018,-0.98547367947,-0.985457392864,-0.985441097199,-0.985424792476,-0.985408478696,-0.985392155858,-0.985375823962,-0.985359483009,-0.985343132999,-0.985326773932,-0.985310405807,-0.985294028626,-0.985277642389,-0.985261247095,-0.985244842745,-0.985228429338,-0.985212006876,-0.985195575357,-0.985179134783,-0.985162685154,-0.985146226469,-0.985129758728,-0.985113281933,-0.985096796083,-0.985080301178,-0.985063797218,-0.985047284204,-0.985030762135,-0.985014231012,-0.984997690835,-0.984981141605,-0.98496458332,-0.984948015982,-0.984931439591,-0.984914854146,-0.984898259648,-0.984881656097,-0.984865043494,-0.984848421837,-0.984831791128,-0.984815151367,-0.984798502554,-0.984781844688,-0.984765177771,-0.984748501802,-0.984731816781,-0.984715122709,-0.984698419586,-0.984681707411,-0.984664986185,-0.984648255909,-0.984631516582,-0.984614768204,-0.984598010776,-0.984581244298,-0.98456446877,-0.984547684192,-0.984530890564,-0.984514087886,-0.984497276159,-0.984480455383,-0.984463625558,-0.984446786684,-0.98442993876,-0.984413081789,-0.984396215768,-0.984379340699,-0.984362456583,-0.984345563418,-0.984328661205,-0.984311749944,-0.984294829636,-0.98427790028,-0.984260961878,-0.984244014428,-0.984227057931,-0.984210092387,-0.984193117797,-0.98417613416,-0.984159141476,-0.984142139747,-0.984125128972,-0.98410810915,-0.984091080283,-0.984074042371,-0.984056995413,-0.98403993941,-0.984022874361,-0.984005800268,-0.98398871713,-0.983971624948,-0.983954523721,-0.983937413449,-0.983920294134,-0.983903165774,-0.983886028371,-0.983868881924,-0.983851726434,-0.9838345619,-0.983817388323,-0.983800205703,-0.98378301404,-0.983765813334,-0.983748603586,-0.983731384795,-0.983714156962,-0.983696920087,-0.98367967417,-0.983662419212,-0.983645155211,-0.98362788217,-0.983610600087,-0.983593308962,-0.983576008797,-0.983558699591,-0.983541381345,-0.983524054058,-0.98350671773,-0.983489372362,-0.983472017955,-0.983454654507,-0.98343728202,-0.983419900493,-0.983402509927,-0.983385110322,-0.983367701677,-0.983350283994,-0.983332857272,-0.983315421511,-0.983297976712,-0.983280522874,-0.983263059999,-0.983245588085,-0.983228107134,-0.983210617145,-0.983193118119,-0.983175610055,-0.983158092955,-0.983140566817,-0.983123031642,-0.983105487431,-0.983087934184,-0.983070371899,-0.983052800579,-0.983035220223,-0.983017630831,-0.983000032403,-0.98298242494,-0.982964808441,-0.982947182908,-0.982929548339,-0.982911904735,-0.982894252096,-0.982876590423,-0.982858919716,-0.982841239974,-0.982823551199,-0.982805853389,-0.982788146546,-0.982770430669,-0.982752705758,-0.982734971815,-0.982717228838,-0.982699476829,-0.982681715786,-0.982663945711,-0.982646166604,-0.982628378464,-0.982610581292,-0.982592775089,-0.982574959853,-0.982557135586,-0.982539302287,-0.982521459958,-0.982503608597,-0.982485748205,-0.982467878782,-0.982450000328,-0.982432112845,-0.98241421633,-0.982396310786,-0.982378396212,-0.982360472608,-0.982342539974,-0.982324598311,-0.982306647618,-0.982288687896,-0.982270719146,-0.982252741366,-0.982234754558,-0.982216758721,-0.982198753856,-0.982180739963,-0.982162717042,-0.982144685093,-0.982126644117,-0.982108594113,-0.982090535081,-0.982072467022,-0.982054389937,-0.982036303824,-0.982018208685,-0.98200010452,-0.981981991328,-0.98196386911,-0.981945737865,-0.981927597595,-0.9819094483,-0.981891289979,-0.981873122632,-0.981854946261,-0.981836760864,-0.981818566443,-0.981800362996,-0.981782150526,-0.981763929031,-0.981745698512,-0.981727458969,-0.981709210402,-0.981690952811,-0.981672686197,-0.98165441056,-0.981636125899,-0.981617832215,-0.981599529509,-0.98158121778,-0.981562897028,-0.981544567255,-0.981526228459,-0.981507880641,-0.981489523801,-0.98147115794,-0.981452783057,-0.981434399152,-0.981416006227,-0.981397604281,-0.981379193314,-0.981360773326,-0.981342344318,-0.981323906289,-0.981305459241,-0.981287003172,-0.981268538084,-0.981250063976,-0.981231580849,-0.981213088702,-0.981194587536,-0.981176077352,-0.981157558148,-0.981139029926,-0.981120492686,-0.981101946427,-0.98108339115,-0.981064826856,-0.981046253543,-0.981027671213,-0.981009079866,-0.980990479502,-0.98097187012,-0.980953251721,-0.980934624306,-0.980915987874,-0.980897342426,-0.980878687962,-0.980860024482,-0.980841351985,-0.980822670473,-0.980803979946,-0.980785280403,-0.980766571845,-0.980747854272,-0.980729127685,-0.980710392082,-0.980691647465,-0.980672893834,-0.980654131189,-0.98063535953,-0.980616578857,-0.98059778917,-0.98057899047,-0.980560182756,-0.98054136603,-0.98052254029,-0.980503705538,-0.980484861773,-0.980466008996,-0.980447147207,-0.980428276405,-0.980409396592,-0.980390507767,-0.98037160993,-0.980352703082,-0.980333787223,-0.980314862353,-0.980295928472,-0.98027698558,-0.980258033678,-0.980239072766,-0.980220102843,-0.980201123911,-0.980182135968,-0.980163139016,-0.980144133055,-0.980125118084,-0.980106094104,-0.980087061115,-0.980068019118,-0.980048968112,-0.980029908097,-0.980010839074,-0.979991761043,-0.979972674005,-0.979953577958,-0.979934472905,-0.979915358843,-0.979896235775,-0.9798771037,-0.979857962617,-0.979838812528,-0.979819653433,-0.979800485331,-0.979781308224,-0.97976212211,-0.979742926991,-0.979723722866,-0.979704509735,-0.979685287599,-0.979666056459,-0.979646816313,-0.979627567163,-0.979608309008,-0.979589041849,-0.979569765685,-0.979550480518,-0.979531186347,-0.979511883172,-0.979492570994,-0.979473249812,-0.979453919628,-0.97943458044,-0.97941523225,-0.979395875057,-0.979376508861,-0.979357133664,-0.979337749464,-0.979318356263,-0.97929895406,-0.979279542855,-0.979260122649,-0.979240693442,-0.979221255234,-0.979201808025,-0.979182351816,-0.979162886606,-0.979143412395,-0.979123929185,-0.979104436975,-0.979084935765,-0.979065425556,-0.979045906347,-0.979026378139,-0.979006840932,-0.978987294726,-0.978967739522,-0.978948175319,-0.978928602118,-0.978909019919,-0.978889428721,-0.978869828527,-0.978850219334,-0.978830601144,-0.978810973957,-0.978791337773,-0.978771692592,-0.978752038415,-0.978732375241,-0.97871270307,-0.978693021904,-0.978673331741,-0.978653632583,-0.978633924429,-0.97861420728,-0.978594481136,-0.978574745997,-0.978555001862,-0.978535248733,-0.97851548661,-0.978495715492,-0.978475935381,-0.978456146275,-0.978436348175,-0.978416541082,-0.978396724996,-0.978376899916,-0.978357065843,-0.978337222778,-0.97831737072,-0.978297509669,-0.978277639626,-0.978257760591,-0.978237872564,-0.978217975545,-0.978198069534,-0.978178154533,-0.97815823054,-0.978138297556,-0.978118355581,-0.978098404615,-0.978078444659,-0.978058475713,-0.978038497777,-0.978018510851,-0.977998514935,-0.977978510029,-0.977958496134,-0.97793847325,-0.977918441377,-0.977898400515,-0.977878350664,-0.977858291825,-0.977838223998,-0.977818147183,-0.977798061379,-0.977777966588,-0.97775786281,-0.977737750044,-0.977717628291,-0.977697497551,-0.977677357825,-0.977657209111,-0.977637051411,-0.977616884725,-0.977596709053,-0.977576524396,-0.977556330752,-0.977536128123,-0.977515916509,-0.977495695909,-0.977475466325,-0.977455227756,-0.977434980202,-0.977414723664,-0.977394458142,-0.977374183635,-0.977353900145,-0.977333607671,-0.977313306214,-0.977292995774,-0.977272676351,-0.977252347944,-0.977232010555,-0.977211664184,-0.97719130883,-0.977170944494,-0.977150571176,-0.977130188876,-0.977109797595,-0.977089397332,-0.977068988088,-0.977048569863,-0.977028142658,-0.977007706471,-0.976987261305,-0.976966807158,-0.976946344031,-0.976925871924,-0.976905390837,-0.976884900771,-0.976864401725,-0.976843893701,-0.976823376697,-0.976802850715,-0.976782315754,-0.976761771815,-0.976741218897,-0.976720657002,-0.976700086129,-0.976679506278,-0.97665891745,-0.976638319644,-0.976617712862,-0.976597097102,-0.976576472366,-0.976555838653,-0.976535195965,-0.9765145443,-0.976493883659,-0.976473214042,-0.97645253545,-0.976431847883,-0.97641115134,-0.976390445822,-0.97636973133,-0.976349007863,-0.976328275422,-0.976307534006,-0.976286783617,-0.976266024253,-0.976245255916,-0.976224478606,-0.976203692322,-0.976182897066,-0.976162092836,-0.976141279634,-0.976120457459,-0.976099626312,-0.976078786193,-0.976057937102,-0.976037079039,-0.976016212005,-0.975995335999,-0.975974451022,-0.975953557075,-0.975932654156,-0.975911742267,-0.975890821408,-0.975869891578,-0.975848952779,-0.975828005009,-0.975807048271,-0.975786082562,-0.975765107885,-0.975744124238,-0.975723131623,-0.975702130039,-0.975681119486,-0.975660099965,-0.975639071476,-0.97561803402,-0.975596987595,-0.975575932204,-0.975554867844,-0.975533794518,-0.975512712225,-0.975491620965,-0.975470520739,-0.975449411546,-0.975428293388,-0.975407166263,-0.975386030173,-0.975364885117,-0.975343731095,-0.975322568109,-0.975301396158,-0.975280215241,-0.975259025361,-0.975237826516,-0.975216618706,-0.975195401933,-0.975174176196,-0.975152941495,-0.975131697831,-0.975110445204,-0.975089183614,-0.975067913061,-0.975046633545,-0.975025345067,-0.975004047627,-0.974982741224,-0.97496142586,-0.974940101534,-0.974918768247,-0.974897425999,-0.974876074789,-0.974854714619,-0.974833345488,-0.974811967396,-0.974790580344,-0.974769184333,-0.974747779361,-0.974726365429,-0.974704942539,-0.974683510689,-0.974662069879,-0.974640620111,-0.974619161384,-0.974597693699,-0.974576217056,-0.974554731454,-0.974533236894,-0.974511733377,-0.974490220902,-0.97446869947,-0.974447169081,-0.974425629735,-0.974404081432,-0.974382524173,-0.974360957957,-0.974339382786,-0.974317798658,-0.974296205575,-0.974274603536,-0.974252992541,-0.974231372592,-0.974209743688,-0.974188105829,-0.974166459015,-0.974144803247,-0.974123138525,-0.97410146485,-0.97407978222,-0.974058090637,-0.9740363901,-0.974014680611,-0.973992962168,-0.973971234773,-0.973949498425,-0.973927753125,-0.973905998872,-0.973884235668,-0.973862463512,-0.973840682405,-0.973818892346,-0.973797093336,-0.973775285375,-0.973753468463,-0.973731642601,-0.973709807788,-0.973687964026,-0.973666111313,-0.973644249651,-0.973622379039,-0.973600499478,-0.973578610967,-0.973556713508,-0.9735348071,-0.973512891744,-0.973490967439,-0.973469034186,-0.973447091985,-0.973425140837,-0.973403180741,-0.973381211697,-0.973359233707,-0.973337246769,-0.973315250885,-0.973293246055,-0.973271232278,-0.973249209555,-0.973227177886,-0.973205137271,-0.973183087711,-0.973161029206,-0.973138961755,-0.97311688536,-0.97309480002,-0.973072705735,-0.973050602507,-0.973028490334,-0.973006369217,-0.972984239157,-0.972962100153,-0.972939952206,-0.972917795315,-0.972895629482,-0.972873454707,-0.972851270989,-0.972829078328,-0.972806876726,-0.972784666182,-0.972762446696,-0.972740218268,-0.9727179809,-0.97269573459,-0.97267347934,-0.972651215149,-0.972628942018,-0.972606659946,-0.972584368935,-0.972562068983,-0.972539760093,-0.972517442262,-0.972495115493,-0.972472779784,-0.972450435137,-0.972428081552,-0.972405719027,-0.972383347565,-0.972360967165,-0.972338577827,-0.972316179552,-0.972293772339,-0.972271356189,-0.972248931102,-0.972226497079,-0.972204054119,-0.972181602223,-0.97215914139,-0.972136671622,-0.972114192918,-0.972091705279,-0.972069208704,-0.972046703195,-0.97202418875,-0.972001665371,-0.971979133057,-0.97195659181,-0.971934041628,-0.971911482512,-0.971888914463,-0.97186633748,-0.971843751564,-0.971821156716,-0.971798552934,-0.97177594022,-0.971753318574,-0.971730687995,-0.971708048484,-0.971685400042,-0.971662742668,-0.971640076363,-0.971617401127,-0.97159471696,-0.971572023862,-0.971549321833,-0.971526610875,-0.971503890986,-0.971481162168,-0.97145842442,-0.971435677742,-0.971412922135,-0.971390157599,-0.971367384135,-0.971344601741,-0.97132181042,-0.97129901017,-0.971276200992,-0.971253382887,-0.971230555853,-0.971207719893,-0.971184875005,-0.971162021191,-0.97113915845,-0.971116286782,-0.971093406188,-0.971070516668,-0.971047618222,-0.97102471085,-0.971001794553,-0.970978869331,-0.970955935184,-0.970932992111,-0.970910040115,-0.970887079193,-0.970864109348,-0.970841130579,-0.970818142886,-0.970795146269,-0.970772140729,-0.970749126266,-0.97072610288,-0.970703070571,-0.97068002934,-0.970656979186,-0.970633920111,-0.970610852113,-0.970587775194,-0.970564689354,-0.970541594592,-0.970518490909,-0.970495378306,-0.970472256781,-0.970449126337,-0.970425986972,-0.970402838688,-0.970379681483,-0.970356515359,-0.970333340316,-0.970310156354,-0.970286963473,-0.970263761673,-0.970240550955,-0.970217331318,-0.970194102763,-0.970170865291,-0.970147618901,-0.970124363594,-0.970101099369,-0.970077826228,-0.970054544169,-0.970031253195,-0.970007953303,-0.969984644496,-0.969961326773,-0.969938000134,-0.96991466458,-0.969891320111,-0.969867966726,-0.969844604427,-0.969821233213,-0.969797853084,-0.969774464042,-0.969751066085,-0.969727659215,-0.969704243431,-0.969680818734,-0.969657385124,-0.969633942601,-0.969610491166,-0.969587030817,-0.969563561557,-0.969540083385,-0.9695165963,-0.969493100305,-0.969469595397,-0.969446081579,-0.96942255885,-0.96939902721,-0.969375486659,-0.969351937199,-0.969328378828,-0.969304811547,-0.969281235357,-0.969257650257,-0.969234056248,-0.96921045333,-0.969186841503,-0.969163220768,-0.969139591124,-0.969115952572,-0.969092305113,-0.969068648745,-0.96904498347,-0.969021309288,-0.968997626199,-0.968973934203,-0.9689502333,-0.968926523492,-0.968902804776,-0.968879077155,-0.968855340629,-0.968831595196,-0.968807840859,-0.968784077616,-0.968760305469,-0.968736524416,-0.96871273446,-0.968688935599,-0.968665127834,-0.968641311166,-0.968617485594,-0.968593651118,-0.96856980774,-0.968545955458,-0.968522094274,-0.968498224188,-0.968474345199,-0.968450457308,-0.968426560516,-0.968402654822,-0.968378740226,-0.96835481673,-0.968330884332,-0.968306943034,-0.968282992836,-0.968259033737,-0.968235065738,-0.968211088839,-0.968187103041,-0.968163108343,-0.968139104746,-0.968115092251,-0.968091070856,-0.968067040563,-0.968043001372,-0.968018953283,-0.967994896296,-0.967970830411,-0.967946755629,-0.96792267195,-0.967898579374,-0.967874477901,-0.967850367531,-0.967826248266,-0.967802120104,-0.967777983047,-0.967753837093,-0.967729682245,-0.967705518501,-0.967681345863,-0.967657164329,-0.967632973902,-0.967608774579,-0.967584566363,-0.967560349253,-0.96753612325,-0.967511888353,-0.967487644563,-0.96746339188,-0.967439130304,-0.967414859835,-0.967390580475,-0.967366292222,-0.967341995078,-0.967317689042,-0.967293374114,-0.967269050296,-0.967244717586,-0.967220375986,-0.967196025496,-0.967171666115,-0.967147297844,-0.967122920683,-0.967098534633,-0.967074139693,-0.967049735864,-0.967025323146,-0.96700090154,-0.966976471045,-0.966952031662,-0.966927583391,-0.966903126232,-0.966878660185,-0.966854185251,-0.96682970143,-0.966805208722,-0.966780707128,-0.966756196647,-0.966731677279,-0.966707149026,-0.966682611887,-0.966658065863,-0.966633510953,-0.966608947158,-0.966584374478,-0.966559792914,-0.966535202465,-0.966510603132,-0.966485994915,-0.966461377814,-0.96643675183,-0.966412116963,-0.966387473212,-0.966362820579,-0.966338159063,-0.966313488665,-0.966288809384,-0.966264121222,-0.966239424178,-0.966214718252,-0.966190003445,-0.966165279758,-0.966140547189,-0.96611580574,-0.96609105541,-0.966066296201,-0.966041528111,-0.966016751142,-0.965991965294,-0.965967170566,-0.965942366959,-0.965917554474,-0.96589273311,-0.965867902868,-0.965843063748,-0.96581821575,-0.965793358874,-0.965768493121,-0.965743618491,-0.965718734984,-0.9656938426,-0.96566894134,-0.965644031204,-0.965619112191,-0.965594184303,-0.965569247539,-0.9655443019,-0.965519347386,-0.965494383997,-0.965469411734,-0.965444430596,-0.965419440584,-0.965394441698,-0.965369433938,-0.965344417305,-0.965319391798,-0.965294357419,-0.965269314167,-0.965244262042,-0.965219201045,-0.965194131176,-0.965169052435,-0.965143964822,-0.965118868338,-0.965093762983,-0.965068648757,-0.96504352566,-0.965018393692,-0.964993252855,-0.964968103147,-0.96494294457,-0.964917777123,-0.964892600807,-0.964867415622,-0.964842221567,-0.964817018645,-0.964791806853,-0.964766586194,-0.964741356667,-0.964716118272,-0.964690871009,-0.96466561488,-0.964640349883,-0.96461507602,-0.96458979329,-0.964564501694,-0.964539201231,-0.964513891903,-0.964488573709,-0.96446324665,-0.964437910726,-0.964412565937,-0.964387212283,-0.964361849765,-0.964336478382,-0.964311098136,-0.964285709025,-0.964260311052,-0.964234904215,-0.964209488515,-0.964184063952,-0.964158630526,-0.964133188239,-0.964107737089,-0.964082277077,-0.964056808204,-0.964031330469,-0.964005843873,-0.963980348416,-0.963954844098,-0.96392933092,-0.963903808882,-0.963878277984,-0.963852738226,-0.963827189608,-0.963801632131,-0.963776065795,-0.963750490601,-0.963724906547,-0.963699313636,-0.963673711866,-0.963648101238,-0.963622481753,-0.96359685341,-0.96357121621,-0.963545570153,-0.96351991524,-0.96349425147,-0.963468578844,-0.963442897361,-0.963417207023,-0.96339150783,-0.963365799781,-0.963340082877,-0.963314357118,-0.963288622505,-0.963262879038,-0.963237126716,-0.96321136554,-0.963185595511,-0.963159816628,-0.963134028893,-0.963108232304,-0.963082426863,-0.963056612569,-0.963030789423,-0.963004957425,-0.962979116575,-0.962953266874,-0.962927408321,-0.962901540918,-0.962875664663,-0.962849779559,-0.962823885603,-0.962797982798,-0.962772071143,-0.962746150638,-0.962720221284,-0.962694283081,-0.962668336029,-0.962642380129,-0.96261641538,-0.962590441782,-0.962564459337,-0.962538468044,-0.962512467904,-0.962486458917,-0.962460441082,-0.962434414401,-0.962408378873,-0.962382334499,-0.962356281279,-0.962330219214,-0.962304148302,-0.962278068546,-0.962251979944,-0.962225882498,-0.962199776207,-0.962173661072,-0.962147537092,-0.962121404269,-0.962095262602,-0.962069112092,-0.962042952739,-0.962016784542,-0.961990607503,-0.961964421622,-0.961938226899,-0.961912023333,-0.961885810926,-0.961859589677,-0.961833359588,-0.961807120657,-0.961780872885,-0.961754616274,-0.961728350821,-0.961702076529,-0.961675793397,-0.961649501426,-0.961623200615,-0.961596890965,-0.961570572477,-0.96154424515,-0.961517908984,-0.961491563981,-0.961465210139,-0.96143884746,-0.961412475944,-0.961386095591,-0.961359706401,-0.961333308374,-0.961306901511,-0.961280485811,-0.961254061276,-0.961227627905,-0.961201185699,-0.961174734658,-0.961148274781,-0.96112180607,-0.961095328525,-0.961068842146,-0.961042346932,-0.961015842885,-0.960989330004,-0.96096280829,-0.960936277743,-0.960909738364,-0.960883190152,-0.960856633108,-0.960830067231,-0.960803492523,-0.960776908984,-0.960750316613,-0.960723715411,-0.960697105379,-0.960670486516,-0.960643858823,-0.960617222299,-0.960590576946,-0.960563922763,-0.960537259752,-0.96051058791,-0.960483907241,-0.960457217742,-0.960430519416,-0.960403812261,-0.960377096278,-0.960350371468,-0.96032363783,-0.960296895366,-0.960270144074,-0.960243383956,-0.960216615012,-0.960189837241,-0.960163050645,-0.960136255223,-0.960109450976,-0.960082637903,-0.960055816006,-0.960028985284,-0.960002145738,-0.959975297367,-0.959948440173,-0.959921574155,-0.959894699313,-0.959867815649,-0.959840923161,-0.959814021851,-0.959787111719,-0.959760192764,-0.959733264988,-0.959706328389,-0.95967938297,-0.959652428729,-0.959625465667,-0.959598493785,-0.959571513082,-0.959544523559,-0.959517525216,-0.959490518053,-0.959463502071,-0.95943647727,-0.95940944365,-0.959382401211,-0.959355349954,-0.959328289878,-0.959301220985,-0.959274143274,-0.959247056745,-0.9592199614,-0.959192857237,-0.959165744258,-0.959138622462,-0.95911149185,-0.959084352422,-0.959057204178,-0.959030047119,-0.959002881245,-0.958975706556,-0.958948523052,-0.958921330733,-0.958894129601,-0.958866919654,-0.958839700894,-0.95881247332,-0.958785236933,-0.958757991733,-0.958730737721,-0.958703474896,-0.958676203259,-0.95864892281,-0.958621633549,-0.958594335476,-0.958567028593,-0.958539712899,-0.958512388394,-0.958485055078,-0.958457712952,-0.958430362017,-0.958403002271,-0.958375633716,-0.958348256352,-0.95832087018,-0.958293475198,-0.958266071408,-0.95823865881,-0.958211237404,-0.95818380719,-0.958156368169,-0.95812892034,-0.958101463705,-0.958073998263,-0.958046524015,-0.95801904096,-0.9579915491,-0.957964048434,-0.957936538962,-0.957909020686,-0.957881493604,-0.957853957718,-0.957826413028,-0.957798859533,-0.957771297234,-0.957743726132,-0.957716146227,-0.957688557518,-0.957660960006,-0.957633353692,-0.957605738576,-0.957578114657,-0.957550481937,-0.957522840414,-0.957495190091,-0.957467530967,-0.957439863041,-0.957412186315,-0.957384500789,-0.957356806463,-0.957329103336,-0.957301391411,-0.957273670686,-0.957245941162,-0.957218202839,-0.957190455717,-0.957162699798,-0.95713493508,-0.957107161564,-0.957079379251,-0.957051588141,-0.957023788234,-0.95699597953,-0.956968162029,-0.956940335732,-0.956912500639,-0.956884656751,-0.956856804067,-0.956828942588,-0.956801072313,-0.956773193244,-0.956745305381,-0.956717408723,-0.956689503272,-0.956661589027,-0.956633665988,-0.956605734156,-0.956577793531,-0.956549844114,-0.956521885904,-0.956493918902,-0.956465943109,-0.956437958523,-0.956409965146,-0.956381962978,-0.95635395202,-0.95632593227,-0.95629790373,-0.956269866401,-0.956241820281,-0.956213765372,-0.956185701673,-0.956157629186,-0.956129547909,-0.956101457844,-0.956073358991,-0.95604525135,-0.956017134921,-0.955989009705,-0.955960875701,-0.95593273291,-0.955904581333,-0.955876420969,-0.955848251819,-0.955820073883,-0.955791887161,-0.955763691654,-0.955735487361,-0.955707274284,-0.955679052422,-0.955650821776,-0.955622582345,-0.955594334131,-0.955566077133,-0.955537811351,-0.955509536787,-0.95548125344,-0.95545296131,-0.955424660398,-0.955396350703,-0.955368032227,-0.95533970497,-0.955311368931,-0.955283024111,-0.955254670511,-0.955226308129,-0.955197936968,-0.955169557027,-0.955141168306,-0.955112770805,-0.955084364526,-0.955055949467,-0.95502752563,-0.954999093014,-0.95497065162,-0.954942201448,-0.954913742499,-0.954885274772,-0.954856798269,-0.954828312988,-0.954799818931,-0.954771316097,-0.954742804488,-0.954714284102,-0.954685754941,-0.954657217005,-0.954628670294,-0.954600114808,-0.954571550548,-0.954542977513,-0.954514395704,-0.954485805122,-0.954457205767,-0.954428597638,-0.954399980736,-0.954371355061,-0.954342720615,-0.954314077396,-0.954285425405,-0.954256764643,-0.954228095109,-0.954199416804,-0.954170729729,-0.954142033883,-0.954113329267,-0.95408461588,-0.954055893724,-0.954027162799,-0.953998423104,-0.95396967464,-0.953940917408,-0.953912151407,-0.953883376638,-0.953854593101,-0.953825800797,-0.953796999725,-0.953768189886,-0.95373937128,-0.953710543908,-0.953681707769,-0.953652862865,-0.953624009194,-0.953595146758,-0.953566275557,-0.953537395591,-0.95350850686,-0.953479609365,-0.953450703105,-0.953421788082,-0.953392864295,-0.953363931744,-0.953334990431,-0.953306040354,-0.953277081515,-0.953248113914,-0.95321913755,-0.953190152425,-0.953161158539,-0.953132155891,-0.953103144482,-0.953074124312,-0.953045095382,-0.953016057692,-0.952987011242,-0.952957956032,-0.952928892063,-0.952899819334,-0.952870737847,-0.952841647601,-0.952812548597,-0.952783440835,-0.952754324315,-0.952725199038,-0.952696065003,-0.952666922211,-0.952637770663,-0.952608610358,-0.952579441297,-0.95255026348,-0.952521076908,-0.95249188158,-0.952462677497,-0.952433464659,-0.952404243066,-0.95237501272,-0.952345773619,-0.952316525765,-0.952287269157,-0.952258003795,-0.952228729681,-0.952199446814,-0.952170155195,-0.952140854824,-0.952111545701,-0.952082227826,-0.9520529012,-0.952023565822,-0.951994221694,-0.951964868816,-0.951935507187,-0.951906136808,-0.951876757679,-0.951847369801,-0.951817973174,-0.951788567798,-0.951759153673,-0.9517297308,-0.951700299179,-0.95167085881,-0.951641409694,-0.95161195183,-0.951582485219,-0.951553009861,-0.951523525757,-0.951494032907,-0.951464531311,-0.951435020969,-0.951405501882,-0.951375974049,-0.951346437472,-0.95131689215,-0.951287338084,-0.951257775274,-0.95122820372,-0.951198623423,-0.951169034383,-0.951139436599,-0.951109830073,-0.951080214804,-0.951050590794,-0.951020958041,-0.950991316547,-0.950961666312,-0.950932007335,-0.950902339618,-0.95087266316,-0.950842977962,-0.950813284024,-0.950783581347,-0.95075386993,-0.950724149774,-0.950694420879,-0.950664683245,-0.950634936874,-0.950605181764,-0.950575417916,-0.950545645331,-0.950515864009,-0.950486073949,-0.950456275154,-0.950426467621,-0.950396651353,-0.950366826349,-0.950336992609,-0.950307150134,-0.950277298924,-0.950247438979,-0.950217570299,-0.950187692886,-0.950157806738,-0.950127911857,-0.950098008243,-0.950068095895,-0.950038174815,-0.950008245002,-0.949978306457,-0.949948359179,-0.94991840317,-0.94988843843,-0.949858464959,-0.949828482756,-0.949798491823,-0.94976849216,-0.949738483766,-0.949708466643,-0.94967844079,-0.949648406208,-0.949618362897,-0.949588310857,-0.949558250089,-0.949528180593,-0.949498102369,-0.949468015417,-0.949437919738,-0.949407815332,-0.9493777022,-0.94934758034,-0.949317449755,-0.949287310444,-0.949257162406,-0.949227005644,-0.949196840157,-0.949166665944,-0.949136483008,-0.949106291347,-0.949076090961,-0.949045881853,-0.949015664021,-0.948985437465,-0.948955202187,-0.948924958186,-0.948894705463,-0.948864444018,-0.948834173851,-0.948803894963,-0.948773607353,-0.948743311023,-0.948713005971,-0.9486826922,-0.948652369708,-0.948622038497,-0.948591698566,-0.948561349916,-0.948530992547,-0.948500626459,-0.948470251652,-0.948439868128,-0.948409475886,-0.948379074926,-0.948348665249,-0.948318246855,-0.948287819744,-0.948257383916,-0.948226939373,-0.948196486113,-0.948166024138,-0.948135553448,-0.948105074043,-0.948074585922,-0.948044089088,-0.948013583539,-0.947983069276,-0.947952546299,-0.947922014609,-0.947891474206,-0.94786092509,-0.947830367262,-0.947799800721,-0.947769225469,-0.947738641505,-0.947708048829,-0.947677447442,-0.947646837344,-0.947616218536,-0.947585591018,-0.947554954789,-0.947524309851,-0.947493656203,-0.947462993846,-0.947432322781,-0.947401643006,-0.947370954524,-0.947340257333,-0.947309551435,-0.947278836829,-0.947248113516,-0.947217381496,-0.947186640769,-0.947155891336,-0.947125133198,-0.947094366353,-0.947063590803,-0.947032806547,-0.947002013587,-0.946971211922,-0.946940401552,-0.946909582479,-0.946878754702,-0.946847918221,-0.946817073037,-0.94678621915,-0.946755356561,-0.946724485269,-0.946693605275,-0.946662716579,-0.946631819182,-0.946600913083,-0.946569998284,-0.946539074784,-0.946508142583,-0.946477201682,-0.946446252082,-0.946415293782,-0.946384326783,-0.946353351084,-0.946322366688,-0.946291373592,-0.946260371799,-0.946229361308,-0.946198342119,-0.946167314233,-0.94613627765,-0.94610523237,-0.946074178394,-0.946043115722,-0.946012044354,-0.945980964291,-0.945949875532,-0.945918778078,-0.94588767193,-0.945856557087,-0.94582543355,-0.945794301319,-0.945763160395,-0.945732010777,-0.945700852467,-0.945669685464,-0.945638509768,-0.945607325381,-0.945576132301,-0.94554493053,-0.945513720068,-0.945482500914,-0.945451273071,-0.945420036536,-0.945388791312,-0.945357537398,-0.945326274794,-0.945295003501,-0.945263723519,-0.945232434848,-0.945201137489,-0.945169831442,-0.945138516708,-0.945107193285,-0.945075861176,-0.945044520379,-0.945013170896,-0.944981812727,-0.944950445871,-0.94491907033,-0.944887686103,-0.944856293191,-0.944824891594,-0.944793481312,-0.944762062346,-0.944730634696,-0.944699198362,-0.944667753345,-0.944636299645,-0.944604837261,-0.944573366196,-0.944541886447,-0.944510398017,-0.944478900905,-0.944447395112,-0.944415880637,-0.944384357482,-0.944352825646,-0.944321285129,-0.944289735933,-0.944258178057,-0.944226611501,-0.944195036267,-0.944163452353,-0.944131859761,-0.944100258491,-0.944068648543,-0.944037029917,-0.944005402614,-0.943973766634,-0.943942121976,-0.943910468643,-0.943878806633,-0.943847135947,-0.943815456586,-0.943783768549,-0.943752071837,-0.94372036645,-0.943688652389,-0.943656929654,-0.943625198245,-0.943593458162,-0.943561709406,-0.943529951977,-0.943498185875,-0.943466411101,-0.943434627654,-0.943402835536,-0.943371034746,-0.943339225285,-0.943307407153,-0.94327558035,-0.943243744877,-0.943211900734,-0.943180047921,-0.943148186438,-0.943116316287,-0.943084437466,-0.943052549977,-0.943020653819,-0.942988748994,-0.9429568355,-0.942924913339,-0.942892982511,-0.942861043016,-0.942829094855,-0.942797138027,-0.942765172533,-0.942733198374,-0.942701215549,-0.942669224059,-0.942637223904,-0.942605215085,-0.942573197601,-0.942541171454,-0.942509136643,-0.942477093168,-0.942445041031,-0.942412980231,-0.942380910768,-0.942348832643,-0.942316745857,-0.942284650408,-0.942252546299,-0.942220433528,-0.942188312097,-0.942156182005,-0.942124043254,-0.942091895842,-0.942059739771,-0.942027575041,-0.941995401652,-0.941963219604,-0.941931028898,-0.941898829534,-0.941866621512,-0.941834404832,-0.941802179496,-0.941769945503,-0.941737702853,-0.941705451547,-0.941673191585,-0.941640922967,-0.941608645694,-0.941576359766,-0.941544065183,-0.941511761946,-0.941479450054,-0.941447129509,-0.94141480031,-0.941382462457,-0.941350115952,-0.941317760794,-0.941285396984,-0.941253024521,-0.941220643407,-0.941188253642,-0.941155855225,-0.941123448157,-0.941091032438,-0.94105860807,-0.941026175051,-0.940993733382,-0.940961283065,-0.940928824098,-0.940896356482,-0.940863880217,-0.940831395305,-0.940798901744,-0.940766399536,-0.940733888681,-0.940701369179,-0.940668841029,-0.940636304234,-0.940603758792,-0.940571204705,-0.940538641972,-0.940506070593,-0.94047349057,-0.940440901902,-0.94040830459,-0.940375698634,-0.940343084034,-0.94031046079,-0.940277828904,-0.940245188375,-0.940212539203,-0.940179881389,-0.940147214933,-0.940114539835,-0.940081856096,-0.940049163716,-0.940016462695,-0.939983753034,-0.939951034733,-0.939918307792,-0.939885572211,-0.939852827991,-0.939820075132,-0.939787313635,-0.939754543499,-0.939721764725,-0.939688977314,-0.939656181265,-0.939623376579,-0.939590563256,-0.939557741296,-0.939524910701,-0.939492071469,-0.939459223602,-0.9394263671,-0.939393501962,-0.93936062819,-0.939327745784,-0.939294854743,-0.939261955069,-0.939229046761,-0.93919612982,-0.939163204246,-0.939130270039,-0.9390973272,-0.939064375729,-0.939031415627,-0.938998446893,-0.938965469528,-0.938932483532,-0.938899488906,-0.938866485649,-0.938833473763,-0.938800453247,-0.938767424102,-0.938734386328,-0.938701339926,-0.938668284895,-0.938635221236,-0.938602148949,-0.938569068035,-0.938535978494,-0.938502880325,-0.938469773531,-0.93843665811,-0.938403534063,-0.938370401391,-0.938337260093,-0.93830411017,-0.938270951623,-0.938237784451,-0.938204608655,-0.938171424236,-0.938138231193,-0.938105029527,-0.938071819238,-0.938038600326,-0.938005372792,-0.937972136636,-0.937938891859,-0.93790563846,-0.93787237644,-0.937839105799,-0.937805826538,-0.937772538657,-0.937739242156,-0.937705937036,-0.937672623297,-0.937639300938,-0.937605969961,-0.937572630366,-0.937539282152,-0.937505925321,-0.937472559873,-0.937439185808,-0.937405803126,-0.937372411827,-0.937339011913,-0.937305603382,-0.937272186236,-0.937238760475,-0.937205326099,-0.937171883108,-0.937138431503,-0.937104971284,-0.937071502452,-0.937038025006,-0.937004538947,-0.936971044275,-0.936937540991,-0.936904029095,-0.936870508586,-0.936836979467,-0.936803441736,-0.936769895394,-0.936736340442,-0.936702776879,-0.936669204707,-0.936635623924,-0.936602034533,-0.936568436532,-0.936534829923,-0.936501214705,-0.936467590879,-0.936433958445,-0.936400317404,-0.936366667756,-0.9363330095,-0.936299342638,-0.93626566717,-0.936231983096,-0.936198290416,-0.936164589131,-0.936130879241,-0.936097160746,-0.936063433647,-0.936029697944,-0.935995953637,-0.935962200726,-0.935928439213,-0.935894669096,-0.935860890377,-0.935827103055,-0.935793307132,-0.935759502607,-0.935725689481,-0.935691867754,-0.935658037426,-0.935624198498,-0.93559035097,-0.935556494841,-0.935522630114,-0.935488756787,-0.935454874862,-0.935420984338,-0.935387085216,-0.935353177496,-0.935319261179,-0.935285336264,-0.935251402752,-0.935217460644,-0.935183509939,-0.935149550638,-0.935115582742,-0.93508160625,-0.935047621163,-0.935013627482,-0.934979625206,-0.934945614336,-0.934911594872,-0.934877566814,-0.934843530163,-0.93480948492,-0.934775431084,-0.934741368655,-0.934707297635,-0.934673218023,-0.93463912982,-0.934605033025,-0.93457092764,-0.934536813665,-0.9345026911,-0.934468559945,-0.9344344202,-0.934400271866,-0.934366114944,-0.934331949433,-0.934297775334,-0.934263592646,-0.934229401372,-0.93419520151,-0.934160993061,-0.934126776026,-0.934092550404,-0.934058316197,-0.934024073403,-0.933989822025,-0.933955562061,-0.933921293513,-0.93388701638,-0.933852730663,-0.933818436362,-0.933784133478,-0.933749822011,-0.933715501961,-0.933681173328,-0.933646836113,-0.933612490317,-0.933578135938,-0.933543772979,-0.933509401438,-0.933475021317,-0.933440632616,-0.933406235335,-0.933371829474,-0.933337415033,-0.933302992014,-0.933268560416,-0.933234120239,-0.933199671485,-0.933165214152,-0.933130748242,-0.933096273755,-0.933061790692,-0.933027299051,-0.932992798835,-0.932958290042,-0.932923772674,-0.932889246731,-0.932854712213,-0.932820169121,-0.932785617454,-0.932751057213,-0.932716488398,-0.93268191101,-0.932647325049,-0.932612730516,-0.93257812741,-0.932543515732,-0.932508895482,-0.932474266661,-0.932439629268,-0.932404983305,-0.932370328772,-0.932335665668,-0.932300993995,-0.932266313752,-0.932231624939,-0.932196927558,-0.932162221609,-0.932127507091,-0.932092784005,-0.932058052351,-0.932023312131,-0.931988563343,-0.931953805989,-0.931919040068,-0.931884265582,-0.931849482529,-0.931814690912,-0.931779890729,-0.931745081982,-0.93171026467,-0.931675438794,-0.931640604354,-0.931605761351,-0.931570909785,-0.931536049656,-0.931501180965,-0.931466303711,-0.931431417895,-0.931396523518,-0.93136162058,-0.931326709081,-0.931291789022,-0.931256860402,-0.931221923222,-0.931186977483,-0.931152023184,-0.931117060326,-0.93108208891,-0.931047108936,-0.931012120403,-0.930977123313,-0.930942117665,-0.930907103461,-0.9308720807,-0.930837049382,-0.930802009508,-0.930766961079,-0.930731904094,-0.930696838554,-0.93066176446,-0.930626681811,-0.930591590607,-0.93055649085,-0.93052138254,-0.930486265676,-0.93045114026,-0.930416006291,-0.93038086377,-0.930345712696,-0.930310553072,-0.930275384896,-0.930240208169,-0.930205022892,-0.930169829065,-0.930134626687,-0.93009941576,-0.930064196284,-0.930028968259,-0.929993731685,-0.929958486563,-0.929923232893,-0.929887970675,-0.92985269991,-0.929817420598,-0.929782132739,-0.929746836334,-0.929711531382,-0.929676217885,-0.929640895843,-0.929605565256,-0.929570226124,-0.929534878447,-0.929499522227,-0.929464157462,-0.929428784155,-0.929393402304,-0.92935801191,-0.929322612974,-0.929287205496,-0.929251789475,-0.929216364914,-0.929180931811,-0.929145490168,-0.929110039984,-0.929074581259,-0.929039113995,-0.929003638192,-0.928968153849,-0.928932660967,-0.928897159547,-0.928861649588,-0.928826131092,-0.928790604058,-0.928755068487,-0.928719524379,-0.928683971734,-0.928648410553,-0.928612840836,-0.928577262584,-0.928541675796,-0.928506080473,-0.928470476616,-0.928434864224,-0.928399243299,-0.928363613839,-0.928327975847,-0.928292329321,-0.928256674263,-0.928221010672,-0.92818533855,-0.928149657895,-0.92811396871,-0.928078270993,-0.928042564746,-0.928006849968,-0.92797112666,-0.927935394823,-0.927899654456,-0.92786390556,-0.927828148135,-0.927792382182,-0.927756607701,-0.927720824692,-0.927685033156,-0.927649233093,-0.927613424502,-0.927577607386,-0.927541781743,-0.927505947575,-0.927470104881,-0.927434253662,-0.927398393919,-0.92736252565,-0.927326648858,-0.927290763542,-0.927254869703,-0.92721896734,-0.927183056455,-0.927147137047,-0.927111209117,-0.927075272665,-0.927039327691,-0.927003374197,-0.926967412182,-0.926931441646,-0.92689546259,-0.926859475014,-0.926823478919,-0.926787474305,-0.926751461171,-0.92671543952,-0.92667940935,-0.926643370662,-0.926607323457,-0.926571267734,-0.926535203495,-0.926499130739,-0.926463049467,-0.926426959679,-0.926390861376,-0.926354754558,-0.926318639224,-0.926282515376,-0.926246383014,-0.926210242138,-0.926174092749,-0.926137934846,-0.926101768431,-0.926065593503,-0.926029410062,-0.92599321811,-0.925957017647,-0.925920808672,-0.925884591186,-0.92584836519,-0.925812130683,-0.925775887667,-0.925739636141,-0.925703376106,-0.925667107562,-0.92563083051,-0.925594544949,-0.925558250881,-0.925521948305,-0.925485637221,-0.925449317631,-0.925412989535,-0.925376652932,-0.925340307823,-0.925303954209,-0.92526759209,-0.925231221465,-0.925194842336,-0.925158454703,-0.925122058567,-0.925085653926,-0.925049240783,-0.925012819136,-0.924976388987,-0.924939950336,-0.924903503183,-0.924867047529,-0.924830583373,-0.924794110717,-0.92475762956,-0.924721139902,-0.924684641745,-0.924648135089,-0.924611619933,-0.924575096279,-0.924538564125,-0.924502023474,-0.924465474325,-0.924428916679,-0.924392350535,-0.924355775895,-0.924319192758,-0.924282601125,-0.924246000996,-0.924209392371,-0.924172775252,-0.924136149637,-0.924099515529,-0.924062872926,-0.924026221829,-0.923989562239,-0.923952894156,-0.92391621758,-0.923879532511,-0.923842838951,-0.923806136898,-0.923769426355,-0.92373270732,-0.923695979794,-0.923659243778,-0.923622499272,-0.923585746276,-0.923548984791,-0.923512214817,-0.923475436354,-0.923438649402,-0.923401853963,-0.923365050036,-0.923328237621,-0.92329141672,-0.923254587331,-0.923217749457,-0.923180903096,-0.92314404825,-0.923107184918,-0.923070313101,-0.9230334328,-0.922996544014,-0.922959646745,-0.922922740991,-0.922885826755,-0.922848904035,-0.922811972833,-0.922775033148,-0.922738084982,-0.922701128334,-0.922664163205,-0.922627189594,-0.922590207503,-0.922553216932,-0.922516217881,-0.922479210351,-0.922442194341,-0.922405169852,-0.922368136885,-0.922331095439,-0.922294045516,-0.922256987115,-0.922219920237,-0.922182844882,-0.922145761051,-0.922108668743,-0.92207156796,-0.922034458701,-0.921997340967,-0.921960214758,-0.921923080075,-0.921885936918,-0.921848785286,-0.921811625182,-0.921774456604,-0.921737279554,-0.921700094031,-0.921662900036,-0.921625697569,-0.921588486631,-0.921551267222,-0.921514039342,-0.921476802992,-0.921439558172,-0.921402304882,-0.921365043123,-0.921327772894,-0.921290494198,-0.921253207033,-0.921215911399,-0.921178607299,-0.921141294731,-0.921103973696,-0.921066644194,-0.921029306227,-0.920991959793,-0.920954604894,-0.920917241529,-0.9208798697,-0.920842489406,-0.920805100648,-0.920767703426,-0.920730297741,-0.920692883592,-0.920655460981,-0.920618029907,-0.920580590371,-0.920543142373,-0.920505685914,-0.920468220994,-0.920430747613,-0.920393265772,-0.92035577547,-0.920318276709,-0.920280769489,-0.920243253809,-0.920205729671,-0.920168197074,-0.92013065602,-0.920093106508,-0.920055548538,-0.920017982112,-0.919980407229,-0.919942823889,-0.919905232094,-0.919867631843,-0.919830023137,-0.919792405976,-0.919754780361,-0.919717146291,-0.919679503768,-0.919641852791,-0.919604193361,-0.919566525478,-0.919528849142,-0.919491164355,-0.919453471116,-0.919415769425,-0.919378059283,-0.919340340691,-0.919302613648,-0.919264878155,-0.919227134212,-0.919189381821,-0.91915162098,-0.91911385169,-0.919076073952,-0.919038287766,-0.919000493133,-0.918962690052,-0.918924878525,-0.918887058551,-0.91884923013,-0.918811393264,-0.918773547952,-0.918735694196,-0.918697831994,-0.918659961348,-0.918622082257,-0.918584194723,-0.918546298746,-0.918508394325,-0.918470481462,-0.918432560156,-0.918394630408,-0.918356692219,-0.918318745588,-0.918280790517,-0.918242827004,-0.918204855051,-0.918166874659,-0.918128885827,-0.918090888555,-0.918052882845,-0.918014868696,-0.917976846109,-0.917938815084,-0.917900775621,-0.917862727722,-0.917824671385,-0.917786606613,-0.917748533404,-0.917710451759,-0.917672361679,-0.917634263164,-0.917596156214,-0.91755804083,-0.917519917012,-0.91748178476,-0.917443644075,-0.917405494957,-0.917367337406,-0.917329171423,-0.917290997008,-0.917252814162,-0.917214622885,-0.917176423176,-0.917138215037,-0.917099998468,-0.91706177347,-0.917023540041,-0.916985298184,-0.916947047898,-0.916908789184,-0.916870522041,-0.916832246471,-0.916793962474,-0.916755670049,-0.916717369198,-0.916679059921,-0.916640742218,-0.916602416089,-0.916564081535,-0.916525738556,-0.916487387153,-0.916449027325,-0.916410659074,-0.916372282399,-0.916333897301,-0.916295503781,-0.916257101838,-0.916218691473,-0.916180272686,-0.916141845478,-0.916103409849,-0.916064965799,-0.916026513329,-0.91598805244,-0.91594958313,-0.915911105402,-0.915872619254,-0.915834124688,-0.915795621704,-0.915757110302,-0.915718590483,-0.915680062246,-0.915641525593,-0.915602980523,-0.915564427038,-0.915525865136,-0.91548729482,-0.915448716088,-0.915410128942,-0.915371533382,-0.915332929407,-0.915294317019,-0.915255696218,-0.915217067005,-0.915178429378,-0.91513978334,-0.915101128889,-0.915062466028,-0.915023794755,-0.914985115072,-0.914946426978,-0.914907730474,-0.914869025561,-0.914830312238,-0.914791590506,-0.914752860366,-0.914714121818,-0.914675374862,-0.914636619498,-0.914597855727,-0.914559083549,-0.914520302965,-0.914481513975,-0.914442716579,-0.914403910778,-0.914365096571,-0.914326273961,-0.914287442945,-0.914248603526,-0.914209755704,-0.914170899478,-0.914132034849,-0.914093161817,-0.914054280384,-0.914015390549,-0.913976492312,-0.913937585674,-0.913898670636,-0.913859747197,-0.913820815358,-0.91378187512,-0.913742926482,-0.913703969445,-0.91366500401,-0.913626030177,-0.913587047945,-0.913548057316,-0.91350905829,-0.913470050868,-0.913431035049,-0.913392010833,-0.913352978222,-0.913313937216,-0.913274887815,-0.913235830019,-0.913196763829,-0.913157689245,-0.913118606267,-0.913079514896,-0.913040415133,-0.913001306977,-0.912962190428,-0.912923065488,-0.912883932157,-0.912844790435,-0.912805640322,-0.912766481818,-0.912727314925,-0.912688139642,-0.91264895597,-0.912609763909,-0.912570563459,-0.912531354622,-0.912492137396,-0.912452911783,-0.912413677783,-0.912374435396,-0.912335184623,-0.912295925464,-0.91225665792,-0.91221738199,-0.912178097675,-0.912138804975,-0.912099503892,-0.912060194424,-0.912020876574,-0.91198155034,-0.911942215723,-0.911902872724,-0.911863521343,-0.91182416158,-0.911784793436,-0.911745416911,-0.911706032005,-0.91166663872,-0.911627237054,-0.911587827009,-0.911548408585,-0.911508981782,-0.911469546601,-0.911430103041,-0.911390651104,-0.91135119079,-0.911311722098,-0.911272245031,-0.911232759586,-0.911193265767,-0.911153763571,-0.911114253001,-0.911074734055,-0.911035206735,-0.910995671042,-0.910956126974,-0.910916574533,-0.91087701372,-0.910837444533,-0.910797866975,-0.910758281044,-0.910718686743,-0.91067908407,-0.910639473026,-0.910599853612,-0.910560225827,-0.910520589673,-0.91048094515,-0.910441292258,-0.910401630997,-0.910361961368,-0.910322283372,-0.910282597007,-0.910242902276,-0.910203199178,-0.910163487713,-0.910123767883,-0.910084039686,-0.910044303125,-0.910004558198,-0.909964804907,-0.909925043252,-0.909885273233,-0.90984549485,-0.909805708105,-0.909765912996,-0.909726109525,-0.909686297693,-0.909646477498,-0.909606648943,-0.909566812026,-0.909526966749,-0.909487113112,-0.909447251114,-0.909407380758,-0.909367502042,-0.909327614968,-0.909287719535,-0.909247815744,-0.909207903596,-0.909167983091,-0.909128054228,-0.909088117009,-0.909048171434,-0.909008217503,-0.908968255217,-0.908928284576,-0.90888830558,-0.908848318229,-0.908808322525,-0.908768318467,-0.908728306056,-0.908688285293,-0.908648256176,-0.908608218708,-0.908568172888,-0.908528118716,-0.908488056194,-0.908447985321,-0.908407906097,-0.908367818524,-0.908327722601,-0.908287618329,-0.908247505709,-0.908207384739,-0.908167255422,-0.908127117757,-0.908086971745,-0.908046817386,-0.90800665468,-0.907966483629,-0.907926304231,-0.907886116488,-0.907845920399,-0.907805715966,-0.907765503189,-0.907725282068,-0.907685052603,-0.907644814795,-0.907604568643,-0.90756431415,-0.907524051314,-0.907483780137,-0.907443500618,-0.907403212758,-0.907362916557,-0.907322612016,-0.907282299136,-0.907241977915,-0.907201648356,-0.907161310458,-0.907120964221,-0.907080609646,-0.907040246734,-0.906999875484,-0.906959495897,-0.906919107974,-0.906878711714,-0.906838307119,-0.906797894188,-0.906757472922,-0.906717043321,-0.906676605386,-0.906636159117,-0.906595704515,-0.906555241579,-0.90651477031,-0.906474290709,-0.906433802776,-0.906393306511,-0.906352801915,-0.906312288987,-0.906271767729,-0.906231238141,-0.906190700223,-0.906150153975,-0.906109599398,-0.906069036493,-0.906028465259,-0.905987885697,-0.905947297807,-0.90590670159,-0.905866097047,-0.905825484176,-0.90578486298,-0.905744233458,-0.90570359561,-0.905662949437,-0.90562229494,-0.905581632118,-0.905540960973,-0.905500281504,-0.905459593711,-0.905418897596,-0.905378193159,-0.905337480399,-0.905296759318,-0.905256029916,-0.905215292192,-0.905174546148,-0.905133791784,-0.9050930291,-0.905052258097,-0.905011478775,-0.904970691134,-0.904929895174,-0.904889090897,-0.904848278302,-0.90480745739,-0.904766628162,-0.904725790616,-0.904684944755,-0.904644090578,-0.904603228086,-0.904562357279,-0.904521478157,-0.904480590721,-0.904439694972,-0.904398790909,-0.904357878533,-0.904316957844,-0.904276028843,-0.90423509153,-0.904194145906,-0.90415319197,-0.904112229724,-0.904071259167,-0.9040302803,-0.903989293123,-0.903948297638,-0.903907293843,-0.90386628174,-0.903825261328,-0.903784232609,-0.903743195583,-0.903702150249,-0.903661096609,-0.903620034663,-0.903578964411,-0.903537885853,-0.90349679899,-0.903455703822,-0.90341460035,-0.903373488574,-0.903332368495,-0.903291240112,-0.903250103426,-0.903208958438,-0.903167805147,-0.903126643555,-0.903085473662,-0.903044295468,-0.903003108973,-0.902961914177,-0.902920711082,-0.902879499688,-0.902838279995,-0.902797052002,-0.902755815712,-0.902714571123,-0.902673318237,-0.902632057054,-0.902590787574,-0.902549509798,-0.902508223725,-0.902466929357,-0.902425626694,-0.902384315735,-0.902342996482,-0.902301668935,-0.902260333095,-0.902218988961,-0.902177636533,-0.902136275814,-0.902094906802,-0.902053529498,-0.902012143902,-0.901970750016,-0.901929347839,-0.901887937371,-0.901846518614,-0.901805091567,-0.901763656231,-0.901722212606,-0.901680760692,-0.90163930049,-0.901597832001,-0.901556355225,-0.901514870161,-0.901473376811,-0.901431875175,-0.901390365253,-0.901348847046,-0.901307320554,-0.901265785777,-0.901224242716,-0.901182691371,-0.901141131742,-0.901099563831,-0.901057987636,-0.90101640316,-0.900974810401,-0.900933209361,-0.90089160004,-0.900849982438,-0.900808356555,-0.900766722392,-0.90072507995,-0.900683429229,-0.900641770228,-0.900600102949,-0.900558427392,-0.900516743558,-0.900475051445,-0.900433351056,-0.900391642391,-0.900349925449,-0.900308200231,-0.900266466738,-0.90022472497,-0.900182974927,-0.90014121661,-0.900099450019,-0.900057675154,-0.900015892016,-0.899974100606,-0.899932300923,-0.899890492968,-0.899848676742,-0.899806852244,-0.899765019475,-0.899723178436,-0.899681329127,-0.899639471549,-0.899597605701,-0.899555731584,-0.899513849198,-0.899471958545,-0.899430059624,-0.899388152435,-0.899346236979,-0.899304313257,-0.899262381269,-0.899220441014,-0.899178492495,-0.89913653571,-0.89909457066,-0.899052597347,-0.899010615769,-0.898968625928,-0.898926627824,-0.898884621457,-0.898842606827,-0.898800583936,-0.898758552783,-0.898716513369,-0.898674465694,-0.898632409759,-0.898590345563,-0.898548273108,-0.898506192394,-0.898464103421,-0.898422006189,-0.898379900699,-0.898337786952,-0.898295664947,-0.898253534685,-0.898211396167,-0.898169249393,-0.898127094362,-0.898084931077,-0.898042759536,-0.898000579741,-0.897958391691,-0.897916195388,-0.897873990831,-0.897831778021,-0.897789556959,-0.897747327644,-0.897705090077,-0.897662844259,-0.89762059019,-0.89757832787,-0.897536057299,-0.897493778479,-0.897451491409,-0.89740919609,-0.897366892522,-0.897324580705,-0.897282260641,-0.897239932329,-0.89719759577,-0.897155250964,-0.897112897911,-0.897070536613,-0.897028167068,-0.896985789279,-0.896943403244,-0.896901008965,-0.896858606442,-0.896816195676,-0.896773776665,-0.896731349412,-0.896688913917,-0.896646470179,-0.896604018199,-0.896561557978,-0.896519089516,-0.896476612813,-0.89643412787,-0.896391634688,-0.896349133266,-0.896306623604,-0.896264105705,-0.896221579567,-0.896179045191,-0.896136502577,-0.896093951727,-0.896051392639,-0.896008825316,-0.895966249756,-0.895923665961,-0.895881073931,-0.895838473666,-0.895795865167,-0.895753248434,-0.895710623467,-0.895667990267,-0.895625348834,-0.895582699169,-0.895540041272,-0.895497375143,-0.895454700783,-0.895412018192,-0.895369327371,-0.89532662832,-0.895283921039,-0.895241205528,-0.895198481789,-0.895155749822,-0.895113009626,-0.895070261203,-0.895027504552,-0.894984739675,-0.894941966571,-0.89489918524,-0.894856395685,-0.894813597903,-0.894770791897,-0.894727977667,-0.894685155212,-0.894642324533,-0.894599485631,-0.894556638506,-0.894513783159,-0.894470919589,-0.894428047798,-0.894385167785,-0.894342279551,-0.894299383097,-0.894256478422,-0.894213565528,-0.894170644414,-0.894127715081,-0.89408477753,-0.89404183176,-0.893998877772,-0.893955915567,-0.893912945145,-0.893869966506,-0.893826979651,-0.893783984581,-0.893740981294,-0.893697969793,-0.893654950077,-0.893611922146,-0.893568886002,-0.893525841644,-0.893482789074,-0.89343972829,-0.893396659294,-0.893353582086,-0.893310496667,-0.893267403037,-0.893224301196,-0.893181191144,-0.893138072883,-0.893094946412,-0.893051811732,-0.893008668843,-0.892965517746,-0.892922358441,-0.892879190928,-0.892836015208,-0.892792831282,-0.892749639149,-0.89270643881,-0.892663230265,-0.892620013516,-0.892576788562,-0.892533555403,-0.89249031404,-0.892447064474,-0.892403806704,-0.892360540732,-0.892317266557,-0.892273984181,-0.892230693602,-0.892187394823,-0.892144087843,-0.892100772662,-0.892057449282,-0.892014117701,-0.891970777922,-0.891927429944,-0.891884073767,-0.891840709392,-0.89179733682,-0.891753956051,-0.891710567084,-0.891667169922,-0.891623764563,-0.891580351009,-0.891536929259,-0.891493499315,-0.891450061176,-0.891406614843,-0.891363160317,-0.891319697597,-0.891276226685,-0.89123274758,-0.891189260283,-0.891145764795,-0.891102261115,-0.891058749244,-0.891015229183,-0.890971700932,-0.890928164492,-0.890884619862,-0.890841067043,-0.890797506036,-0.890753936841,-0.890710359459,-0.890666773889,-0.890623180132,-0.890579578189,-0.89053596806,-0.890492349745,-0.890448723245,-0.89040508856,-0.890361445691,-0.890317794637,-0.890274135401,-0.890230467981,-0.890186792378,-0.890143108592,-0.890099416625,-0.890055716476,-0.890012008146,-0.889968291635,-0.889924566944,-0.889880834073,-0.889837093022,-0.889793343792,-0.889749586383,-0.889705820796,-0.889662047031,-0.889618265088,-0.889574474968,-0.889530676671,-0.889486870198,-0.889443055549,-0.889399232724,-0.889355401724,-0.88931156255,-0.889267715201,-0.889223859678,-0.889179995981,-0.889136124112,-0.889092244069,-0.889048355855,-0.889004459468,-0.88896055491,-0.88891664218,-0.88887272128,-0.88882879221,-0.88878485497,-0.88874090956,-0.888696955981,-0.888652994233,-0.888609024317,-0.888565046233,-0.888521059982,-0.888477065564,-0.888433062978,-0.888389052227,-0.88834503331,-0.888301006227,-0.888256970979,-0.888212927566,-0.88816887599,-0.888124816249,-0.888080748345,-0.888036672278,-0.887992588048,-0.887948495656,-0.887904395102,-0.887860286387,-0.88781616951,-0.887772044473,-0.887727911276,-0.887683769919,-0.887639620403,-0.887595462728,-0.887551296894,-0.887507122901,-0.887462940752,-0.887418750444,-0.88737455198,-0.887330345359,-0.887286130582,-0.88724190765,-0.887197676562,-0.887153437319,-0.887109189921,-0.88706493437,-0.887020670664,-0.886976398806,-0.886932118794,-0.88688783063,-0.886843534314,-0.886799229847,-0.886754917228,-0.886710596458,-0.886666267537,-0.886621930467,-0.886577585247,-0.886533231878,-0.88648887036,-0.886444500693,-0.886400122879,-0.886355736917,-0.886311342807,-0.886266940551,-0.886222530149,-0.8861781116,-0.886133684907,-0.886089250067,-0.886044807084,-0.886000355955,-0.885955896683,-0.885911429268,-0.885866953709,-0.885822470007,-0.885777978164,-0.885733478178,-0.885688970051,-0.885644453783,-0.885599929374,-0.885555396825,-0.885510856136,-0.885466307308,-0.885421750341,-0.885377185235,-0.885332611991,-0.885288030609,-0.885243441089,-0.885198843433,-0.88515423764,-0.885109623711,-0.885065001647,-0.885020371447,-0.884975733112,-0.884931086642,-0.884886432039,-0.884841769301,-0.884797098431,-0.884752419428,-0.884707732292,-0.884663037024,-0.884618333624,-0.884573622094,-0.884528902432,-0.88448417464,-0.884439438718,-0.884394694667,-0.884349942486,-0.884305182177,-0.884260413739,-0.884215637173,-0.88417085248,-0.88412605966,-0.884081258713,-0.884036449639,-0.88399163244,-0.883946807116,-0.883901973666,-0.883857132091,-0.883812282393,-0.883767424571,-0.883722558625,-0.883677684556,-0.883632802365,-0.883587912051,-0.883543013616,-0.883498107059,-0.883453192382,-0.883408269584,-0.883363338666,-0.883318399628,-0.883273452471,-0.883228497195,-0.883183533801,-0.883138562288,-0.883093582658,-0.883048594911,-0.883003599047,-0.882958595066,-0.88291358297,-0.882868562758,-0.882823534431,-0.882778497989,-0.882733453433,-0.882688400763,-0.88264333998,-0.882598271083,-0.882553194074,-0.882508108952,-0.882463015719,-0.882417914374,-0.882372804919,-0.882327687352,-0.882282561676,-0.88223742789,-0.882192285994,-0.88214713599,-0.882101977877,-0.882056811656,-0.882011637327,-0.881966454891,-0.881921264348,-0.881876065699,-0.881830858944,-0.881785644083,-0.881740421117,-0.881695190046,-0.881649950871,-0.881604703592,-0.881559448209,-0.881514184723,-0.881468913135,-0.881423633444,-0.881378345652,-0.881333049758,-0.881287745763,-0.881242433667,-0.881197113471,-0.881151785176,-0.881106448781,-0.881061104287,-0.881015751694,-0.880970391004,-0.880925022216,-0.88087964533,-0.880834260348,-0.880788867269,-0.880743466094,-0.880698056824,-0.880652639458,-0.880607213998,-0.880561780443,-0.880516338794,-0.880470889052,-0.880425431217,-0.880379965289,-0.880334491269,-0.880289009157,-0.880243518953,-0.880198020659,-0.880152514274,-0.880106999798,-0.880061477233,-0.880015946579,-0.879970407836,-0.879924861004,-0.879879306084,-0.879833743076,-0.879788171982,-0.8797425928,-0.879697005532,-0.879651410178,-0.879605806739,-0.879560195214,-0.879514575604,-0.879468947911,-0.879423312133,-0.879377668272,-0.879332016328,-0.879286356301,-0.879240688192,-0.879195012001,-0.879149327729,-0.879103635376,-0.879057934942,-0.879012226429,-0.878966509835,-0.878920785162,-0.878875052411,-0.878829311581,-0.878783562673,-0.878737805687,-0.878692040625,-0.878646267485,-0.878600486269,-0.878554696977,-0.87850889961,-0.878463094168,-0.878417280651,-0.87837145906,-0.878325629395,-0.878279791657,-0.878233945845,-0.878188091961,-0.878142230005,-0.878096359978,-0.878050481879,-0.878004595709,-0.877958701469,-0.877912799159,-0.877866888779,-0.87782097033,-0.877775043812,-0.877729109226,-0.877683166572,-0.877637215851,-0.877591257062,-0.877545290207,-0.877499315286,-0.877453332299,-0.877407341246,-0.877361342129,-0.877315334947,-0.877269319701,-0.877223296392,-0.877177265019,-0.877131225583,-0.877085178085,-0.877039122525,-0.876993058903,-0.87694698722,-0.876900907477,-0.876854819673,-0.876808723809,-0.876762619886,-0.876716507904,-0.876670387863,-0.876624259764,-0.876578123608,-0.876531979394,-0.876485827123,-0.876439666796,-0.876393498412,-0.876347321973,-0.876301137479,-0.87625494493,-0.876208744327,-0.87616253567,-0.876116318959,-0.876070094195,-0.876023861379,-0.87597762051,-0.87593137159,-0.875885114618,-0.875838849595,-0.875792576522,-0.875746295399,-0.875700006226,-0.875653709003,-0.875607403732,-0.875561090413,-0.875514769045,-0.87546843963,-0.875422102168,-0.875375756659,-0.875329403104,-0.875283041503,-0.875236671857,-0.875190294165,-0.87514390843,-0.87509751465,-0.875051112826,-0.875004702959,-0.874958285049,-0.874911859097,-0.874865425102,-0.874818983066,-0.874772532989,-0.874726074872,-0.874679608713,-0.874633134516,-0.874586652278,-0.874540162002,-0.874493663687,-0.874447157334,-0.874400642943,-0.874354120515,-0.87430759005,-0.874261051548,-0.874214505011,-0.874167950438,-0.874121387829,-0.874074817186,-0.874028238509,-0.873981651798,-0.873935057053,-0.873888454276,-0.873841843465,-0.873795224623,-0.873748597749,-0.873701962843,-0.873655319907,-0.87360866894,-0.873562009943,-0.873515342917,-0.873468667861,-0.873421984777,-0.873375293664,-0.873328594524,-0.873281887356,-0.873235172161,-0.873188448939,-0.873141717692,-0.873094978418,-0.87304823112,-0.873001475796,-0.872954712448,-0.872907941076,-0.87286116168,-0.872814374261,-0.87276757882,-0.872720775356,-0.87267396387,-0.872627144363,-0.872580316835,-0.872533481286,-0.872486637717,-0.872439786129,-0.872392926521,-0.872346058894,-0.872299183249,-0.872252299586,-0.872205407906,-0.872158508208,-0.872111600493,-0.872064684763,-0.872017761016,-0.871970829254,-0.871923889477,-0.871876941686,-0.87182998588,-0.871783022061,-0.871736050229,-0.871689070383,-0.871642082526,-0.871595086656,-0.871548082775,-0.871501070883,-0.87145405098,-0.871407023067,-0.871359987144,-0.871312943212,-0.87126589127,-0.871218831321,-0.871171763363,-0.871124687398,-0.871077603425,-0.871030511446,-0.87098341146,-0.870936303469,-0.870889187472,-0.87084206347,-0.870794931464,-0.870747791453,-0.870700643438,-0.870653487421,-0.8706063234,-0.870559151377,-0.870511971352,-0.870464783325,-0.870417587298,-0.870370383269,-0.870323171241,-0.870275951212,-0.870228723184,-0.870181487157,-0.870134243132,-0.870086991109,-0.870039731088,-0.869992463069,-0.869945187054,-0.869897903043,-0.869850611035,-0.869803311033,-0.869756003035,-0.869708687042,-0.869661363056,-0.869614031075,-0.869566691101,-0.869519343135,-0.869471987176,-0.869424623225,-0.869377251282,-0.869329871349,-0.869282483424,-0.86923508751,-0.869187683605,-0.869140271711,-0.869092851828,-0.869045423957,-0.868997988098,-0.868950544251,-0.868903092416,-0.868855632595,-0.868808164788,-0.868760688995,-0.868713205216,-0.868665713452,-0.868618213704,-0.868570705971,-0.868523190255,-0.868475666556,-0.868428134873,-0.868380595209,-0.868333047562,-0.868285491934,-0.868237928324,-0.868190356734,-0.868142777164,-0.868095189614,-0.868047594085,-0.867999990577,-0.86795237909,-0.867904759625,-0.867857132183,-0.867809496763,-0.867761853367,-0.867714201995,-0.867666542646,-0.867618875323,-0.867571200024,-0.867523516751,-0.867475825503,-0.867428126282,-0.867380419088,-0.867332703921,-0.867284980782,-0.867237249671,-0.867189510588,-0.867141763534,-0.86709400851,-0.867046245516,-0.866998474552,-0.866950695618,-0.866902908716,-0.866855113845,-0.866807311007,-0.866759500201,-0.866711681428,-0.866663854688,-0.866616019982,-0.866568177311,-0.866520326674,-0.866472468072,-0.866424601505,-0.866376726975,-0.866328844481,-0.866280954025,-0.866233055605,-0.866185149223,-0.86613723488,-0.866089312575,-0.866041382309,-0.865993444082,-0.865945497896,-0.86589754375,-0.865849581645,-0.865801611581,-0.865753633559,-0.865705647579,-0.865657653642,-0.865609651748,-0.865561641897,-0.865513624091,-0.865465598328,-0.865417564611,-0.865369522938,-0.865321473312,-0.865273415731,-0.865225350198,-0.865177276711,-0.865129195272,-0.86508110588,-0.865033008537,-0.864984903243,-0.864936789998,-0.864888668803,-0.864840539658,-0.864792402563,-0.864744257519,-0.864696104527,-0.864647943587,-0.864599774699,-0.864551597864,-0.864503413082,-0.864455220354,-0.86440701968,-0.864358811061,-0.864310594496,-0.864262369987,-0.864214137534,-0.864165897137,-0.864117648797,-0.864069392514,-0.864021128289,-0.863972856122,-0.863924576013,-0.863876287963,-0.863827991973,-0.863779688043,-0.863731376173,-0.863683056364,-0.863634728616,-0.86358639293,-0.863538049305,-0.863489697744,-0.863441338245,-0.86339297081,-0.863344595439,-0.863296212131,-0.863247820889,-0.863199421712,-0.863151014601,-0.863102599555,-0.863054176577,-0.863005745665,-0.862957306821,-0.862908860044,-0.862860405336,-0.862811942697,-0.862763472126,-0.862714993626,-0.862666507196,-0.862618012836,-0.862569510547,-0.86252100033,-0.862472482184,-0.862423956111,-0.862375422111,-0.862326880184,-0.86227833033,-0.862229772551,-0.862181206846,-0.862132633216,-0.862084051662,-0.862035462184,-0.861986864782,-0.861938259456,-0.861889646209,-0.861841025038,-0.861792395946,-0.861743758933,-0.861695113998,-0.861646461143,-0.861597800368,-0.861549131673,-0.861500455059,-0.861451770527,-0.861403078076,-0.861354377707,-0.861305669421,-0.861256953218,-0.861208229099,-0.861159497063,-0.861110757112,-0.861062009245,-0.861013253464,-0.860964489769,-0.86091571816,-0.860866938638,-0.860818151202,-0.860769355855,-0.860720552595,-0.860671741424,-0.860622922341,-0.860574095348,-0.860525260445,-0.860476417632,-0.860427566909,-0.860378708278,-0.860329841738,-0.860280967291,-0.860232084935,-0.860183194673,-0.860134296504,-0.860085390429,-0.860036476449,-0.859987554563,-0.859938624772,-0.859889687077,-0.859840741477,-0.859791787975,-0.859742826569,-0.859693857261,-0.859644880051,-0.859595894939,-0.859546901926,-0.859497901012,-0.859448892197,-0.859399875483,-0.85935085087,-0.859301818357,-0.859252777946,-0.859203729637,-0.85915467343,-0.859105609326,-0.859056537325,-0.859007457429,-0.858958369636,-0.858909273948,-0.858860170365,-0.858811058887,-0.858761939516,-0.858712812251,-0.858663677093,-0.858614534042,-0.858565383099,-0.858516224264,-0.858467057538,-0.858417882922,-0.858368700414,-0.858319510017,-0.858270311731,-0.858221105555,-0.858171891491,-0.858122669538,-0.858073439698,-0.858024201971,-0.857974956357,-0.857925702856,-0.85787644147,-0.857827172198,-0.857777895041,-0.85772861,-0.857679317075,-0.857630016266,-0.857580707574,-0.857531390999,-0.857482066543,-0.857432734204,-0.857383393984,-0.857334045883,-0.857284689901,-0.85723532604,-0.857185954299,-0.857136574679,-0.857087187181,-0.857037791804,-0.85698838855,-0.856938977418,-0.856889558409,-0.856840131525,-0.856790696764,-0.856741254128,-0.856691803616,-0.856642345231,-0.856592878971,-0.856543404838,-0.856493922831,-0.856444432952,-0.8563949352,-0.856345429577,-0.856295916083,-0.856246394717,-0.856196865481,-0.856147328375,-0.8560977834,-0.856048230555,-0.855998669842,-0.855949101261,-0.855899524812,-0.855849940496,-0.855800348313,-0.855750748263,-0.855701140348,-0.855651524567,-0.855601900922,-0.855552269412,-0.855502630037,-0.8554529828,-0.855403327699,-0.855353664735,-0.855303993909,-0.855254315222,-0.855204628673,-0.855154934263,-0.855105231993,-0.855055521863,-0.855005803873,-0.854956078025,-0.854906344317,-0.854856602752,-0.854806853329,-0.854757096049,-0.854707330912,-0.854657557919,-0.85460777707,-0.854557988365,-0.854508191806,-0.854458387392,-0.854408575125,-0.854358755003,-0.854308927029,-0.854259091202,-0.854209247523,-0.854159395992,-0.85410953661,-0.854059669377,-0.854009794293,-0.85395991136,-0.853910020578,-0.853860121946,-0.853810215466,-0.853760301138,-0.853710378962,-0.85366044894,-0.85361051107,-0.853560565355,-0.853510611793,-0.853460650387,-0.853410681135,-0.853360704039,-0.8533107191,-0.853260726316,-0.85321072569,-0.853160717221,-0.853110700911,-0.853060676758,-0.853010644765,-0.85296060493,-0.852910557256,-0.852860501742,-0.852810438388,-0.852760367196,-0.852710288165,-0.852660201296,-0.85261010659,-0.852560004047,-0.852509893667,-0.852459775451,-0.8524096494,-0.852359515513,-0.852309373792,-0.852259224236,-0.852209066847,-0.852158901624,-0.852108728568,-0.85205854768,-0.85200835896,-0.851958162409,-0.851907958027,-0.851857745814,-0.851807525771,-0.851757297898,-0.851707062196,-0.851656818666,-0.851606567307,-0.85155630812,-0.851506041106,-0.851455766266,-0.851405483598,-0.851355193105,-0.851304894787,-0.851254588643,-0.851204274675,-0.851153952883,-0.851103623267,-0.851053285828,-0.851002940566,-0.850952587482,-0.850902226576,-0.850851857849,-0.850801481302,-0.850751096933,-0.850700704745,-0.850650304737,-0.850599896911,-0.850549481266,-0.850499057802,-0.850448626522,-0.850398187424,-0.850347740509,-0.850297285778,-0.850246823231,-0.850196352869,-0.850145874693,-0.850095388702,-0.850044894897,-0.849994393278,-0.849943883847,-0.849893366603,-0.849842841547,-0.849792308679,-0.849741768001,-0.849691219512,-0.849640663212,-0.849590099103,-0.849539527185,-0.849488947457,-0.849438359922,-0.849387764579,-0.849337161428,-0.84928655047,-0.849235931706,-0.849185305136,-0.84913467076,-0.84908402858,-0.849033378594,-0.848982720805,-0.848932055212,-0.848881381815,-0.848830700616,-0.848780011615,-0.848729314812,-0.848678610207,-0.848627897802,-0.848577177596,-0.848526449591,-0.848475713785,-0.848424970181,-0.848374218779,-0.848323459578,-0.848272692579,-0.848221917784,-0.848171135192,-0.848120344803,-0.848069546619,-0.84801874064,-0.847967926866,-0.847917105297,-0.847866275935,-0.847815438779,-0.84776459383,-0.847713741089,-0.847662880555,-0.847612012231,-0.847561136115,-0.847510252208,-0.847459360512,-0.847408461025,-0.84735755375,-0.847306638686,-0.847255715833,-0.847204785193,-0.847153846766,-0.847102900551,-0.84705194655,-0.847000984764,-0.846950015192,-0.846899037834,-0.846848052693,-0.846797059767,-0.846746059058,-0.846695050565,-0.84664403429,-0.846593010233,-0.846541978394,-0.846490938774,-0.846439891373,-0.846388836192,-0.846337773231,-0.846286702491,-0.846235623971,-0.846184537674,-0.846133443598,-0.846082341745,-0.846031232115,-0.845980114708,-0.845928989525,-0.845877856567,-0.845826715834,-0.845775567326,-0.845724411043,-0.845673246987,-0.845622075158,-0.845570895556,-0.845519708182,-0.845468513036,-0.845417310118,-0.84536609943,-0.845314880971,-0.845263654742,-0.845212420744,-0.845161178976,-0.845109929441,-0.845058672137,-0.845007407065,-0.844956134226,-0.844904853621,-0.84485356525,-0.844802269113,-0.84475096521,-0.844699653543,-0.844648334111,-0.844597006916,-0.844545671957,-0.844494329236,-0.844442978752,-0.844391620506,-0.844340254499,-0.84428888073,-0.844237499201,-0.844186109912,-0.844134712864,-0.844083308056,-0.84403189549,-0.843980475166,-0.843929047084,-0.843877611244,-0.843826167648,-0.843774716296,-0.843723257188,-0.843671790324,-0.843620315706,-0.843568833333,-0.843517343207,-0.843465845327,-0.843414339694,-0.843362826308,-0.843311305171,-0.843259776282,-0.843208239642,-0.843156695251,-0.84310514311,-0.84305358322,-0.84300201558,-0.842950440192,-0.842898857056,-0.842847266172,-0.84279566754,-0.842744061162,-0.842692447037,-0.842640825167,-0.842589195551,-0.84253755819,-0.842485913085,-0.842434260236,-0.842382599643,-0.842330931308,-0.842279255229,-0.842227571409,-0.842175879848,-0.842124180545,-0.842072473501,-0.842020758718,-0.841969036194,-0.841917305932,-0.841865567931,-0.841813822191,-0.841762068714,-0.841710307499,-0.841658538548,-0.84160676186,-0.841554977437,-0.841503185278,-0.841451385384,-0.841399577756,-0.841347762394,-0.841295939298,-0.841244108469,-0.841192269908,-0.841140423614,-0.841088569589,-0.841036707833,-0.840984838347,-0.84093296113,-0.840881076183,-0.840829183508,-0.840777283103,-0.84072537497,-0.84067345911,-0.840621535522,-0.840569604208,-0.840517665167,-0.8404657184,-0.840413763908,-0.840361801691,-0.84030983175,-0.840257854084,-0.840205868695,-0.840153875583,-0.840101874749,-0.840049866193,-0.839997849915,-0.839945825916,-0.839893794196,-0.839841754756,-0.839789707597,-0.839737652718,-0.839685590121,-0.839633519805,-0.839581441772,-0.839529356022,-0.839477262555,-0.839425161371,-0.839373052472,-0.839320935857,-0.839268811527,-0.839216679484,-0.839164539726,-0.839112392254,-0.83906023707,-0.839008074174,-0.838955903565,-0.838903725245,-0.838851539214,-0.838799345472,-0.83874714402,-0.838694934859,-0.838642717989,-0.838590493409,-0.838538261122,-0.838486021127,-0.838433773425,-0.838381518017,-0.838329254902,-0.838276984081,-0.838224705555,-0.838172419324,-0.838120125389,-0.83806782375,-0.838015514408,-0.837963197363,-0.837910872615,-0.837858540166,-0.837806200015,-0.837753852163,-0.837701496611,-0.837649133359,-0.837596762407,-0.837544383757,-0.837491997408,-0.83743960336,-0.837387201616,-0.837334792174,-0.837282375035,-0.837229950201,-0.837177517671,-0.837125077445,-0.837072629525,-0.837020173911,-0.836967710603,-0.836915239602,-0.836862760908,-0.836810274522,-0.836757780444,-0.836705278674,-0.836652769214,-0.836600252064,-0.836547727224,-0.836495194694,-0.836442654475,-0.836390106568,-0.836337550974,-0.836284987691,-0.836232416722,-0.836179838066,-0.836127251725,-0.836074657698,-0.836022055985,-0.835969446589,-0.835916829508,-0.835864204743,-0.835811572296,-0.835758932166,-0.835706284354,-0.83565362886,-0.835600965685,-0.835548294829,-0.835495616294,-0.835442930078,-0.835390236183,-0.83533753461,-0.835284825358,-0.835232108429,-0.835179383822,-0.835126651539,-0.835073911579,-0.835021163943,-0.834968408632,-0.834915645647,-0.834862874986,-0.834810096652,-0.834757310645,-0.834704516965,-0.834651715612,-0.834598906587,-0.834546089891,-0.834493265524,-0.834440433486,-0.834387593778,-0.834334746401,-0.834281891355,-0.83422902864,-0.834176158258,-0.834123280207,-0.83407039449,-0.834017501106,-0.833964600056,-0.83391169134,-0.833858774959,-0.833805850914,-0.833752919204,-0.833699979831,-0.833647032794,-0.833594078095,-0.833541115733,-0.83348814571,-0.833435168026,-0.833382182681,-0.833329189675,-0.83327618901,-0.833223180685,-0.833170164702,-0.83311714106,-0.833064109761,-0.833011070804,-0.83295802419,-0.83290496992,-0.832851907994,-0.832798838413,-0.832745761176,-0.832692676286,-0.832639583741,-0.832586483543,-0.832533375692,-0.832480260188,-0.832427137033,-0.832374006226,-0.832320867768,-0.832267721659,-0.832214567901,-0.832161406493,-0.832108237436,-0.83205506073,-0.832001876376,-0.831948684375,-0.831895484727,-0.831842277432,-0.83178906249,-0.831735839904,-0.831682609672,-0.831629371795,-0.831576126274,-0.83152287311,-0.831469612303,-0.831416343852,-0.83136306776,-0.831309784026,-0.83125649265,-0.831203193634,-0.831149886978,-0.831096572682,-0.831043250746,-0.830989921172,-0.83093658396,-0.83088323911,-0.830829886622,-0.830776526498,-0.830723158737,-0.830669783341,-0.830616400309,-0.830563009642,-0.830509611341,-0.830456205406,-0.830402791838,-0.830349370637,-0.830295941803,-0.830242505338,-0.830189061241,-0.830135609513,-0.830082150155,-0.830028683167,-0.829975208549,-0.829921726303,-0.829868236428,-0.829814738925,-0.829761233795,-0.829707721037,-0.829654200653,-0.829600672643,-0.829547137008,-0.829493593747,-0.829440042862,-0.829386484353,-0.829332918221,-0.829279344465,-0.829225763087,-0.829172174087,-0.829118577465,-0.829064973222,-0.829011361359,-0.828957741875,-0.828904114772,-0.82885048005,-0.828796837709,-0.82874318775,-0.828689530173,-0.828635864979,-0.828582192169,-0.828528511742,-0.8284748237,-0.828421128043,-0.828367424771,-0.828313713884,-0.828259995384,-0.828206269271,-0.828152535545,-0.828098794207,-0.828045045258,-0.827991288697,-0.827937524525,-0.827883752743,-0.827829973352,-0.827776186351,-0.827722391741,-0.827668589524,-0.827614779698,-0.827560962265,-0.827507137226,-0.82745330458,-0.827399464328,-0.827345616471,-0.827291761009,-0.827237897943,-0.827184027274,-0.827130149001,-0.827076263125,-0.827022369647,-0.826968468567,-0.826914559885,-0.826860643603,-0.826806719721,-0.826752788238,-0.826698849157,-0.826644902476,-0.826590948197,-0.826536986321,-0.826483016847,-0.826429039776,-0.826375055109,-0.826321062846,-0.826267062987,-0.826213055534,-0.826159040486,-0.826105017845,-0.82605098761,-0.825996949782,-0.825942904362,-0.82588885135,-0.825834790746,-0.825780722552,-0.825726646767,-0.825672563392,-0.825618472428,-0.825564373875,-0.825510267734,-0.825456154004,-0.825402032688,-0.825347903784,-0.825293767294,-0.825239623218,-0.825185471556,-0.82513131231,-0.825077145479,-0.825022971065,-0.824968789066,-0.824914599485,-0.824860402322,-0.824806197576,-0.824751985249,-0.824697765342,-0.824643537853,-0.824589302785,-0.824535060137,-0.824480809911,-0.824426552106,-0.824372286723,-0.824318013762,-0.824263733225,-0.824209445111,-0.824155149421,-0.824100846156,-0.824046535315,-0.8239922169,-0.823937890912,-0.82388355735,-0.823829216215,-0.823774867507,-0.823720511227,-0.823666147376,-0.823611775954,-0.823557396962,-0.8235030104,-0.823448616268,-0.823394214567,-0.823339805298,-0.82328538846,-0.823230964056,-0.823176532084,-0.823122092546,-0.823067645442,-0.823013190772,-0.822958728538,-0.822904258739,-0.822849781376,-0.822795296449,-0.82274080396,-0.822686303908,-0.822631796295,-0.822577281119,-0.822522758383,-0.822468228087,-0.82241369023,-0.822359144814,-0.822304591839,-0.822250031306,-0.822195463214,-0.822140887565,-0.82208630436,-0.822031713597,-0.821977115279,-0.821922509406,-0.821867895977,-0.821813274994,-0.821758646457,-0.821704010367,-0.821649366724,-0.821594715528,-0.821540056781,-0.821485390482,-0.821430716632,-0.821376035231,-0.821321346281,-0.821266649781,-0.821211945733,-0.821157234136,-0.821102514991,-0.821047788299,-0.82099305406,-0.820938312274,-0.820883562943,-0.820828806066,-0.820774041644,-0.820719269678,-0.820664490168,-0.820609703115,-0.820554908519,-0.82050010638,-0.8204452967,-0.820390479478,-0.820335654715,-0.820280822412,-0.820225982569,-0.820171135187,-0.820116280266,-0.820061417807,-0.82000654781,-0.819951670275,-0.819896785204,-0.819841892596,-0.819786992453,-0.819732084774,-0.819677169561,-0.819622246813,-0.819567316531,-0.819512378716,-0.819457433369,-0.819402480489,-0.819347520077,-0.819292552134,-0.81923757666,-0.819182593656,-0.819127603122,-0.819072605059,-0.819017599467,-0.818962586347,-0.8189075657,-0.818852537525,-0.818797501823,-0.818742458595,-0.818687407842,-0.818632349563,-0.818577283759,-0.818522210432,-0.81846712958,-0.818412041206,-0.818356945309,-0.818301841889,-0.818246730948,-0.818191612486,-0.818136486503,-0.818081353,-0.818026211978,-0.817971063436,-0.817915907376,-0.817860743797,-0.817805572701,-0.817750394088,-0.817695207959,-0.817640014313,-0.817584813152,-0.817529604475,-0.817474388284,-0.817419164579,-0.817363933361,-0.817308694629,-0.817253448385,-0.817198194629,-0.817142933361,-0.817087664583,-0.817032388294,-0.816977104494,-0.816921813186,-0.816866514368,-0.816811208042,-0.816755894208,-0.816700572867,-0.816645244018,-0.816589907664,-0.816534563803,-0.816479212437,-0.816423853566,-0.81636848719,-0.816313113311,-0.816257731928,-0.816202343043,-0.816146946655,-0.816091542765,-0.816036131374,-0.815980712482,-0.81592528609,-0.815869852198,-0.815814410807,-0.815758961917,-0.815703505528,-0.815648041642,-0.815592570259,-0.815537091378,-0.815481605002,-0.81542611113,-0.815370609762,-0.8153151009,-0.815259584544,-0.815204060694,-0.815148529351,-0.815092990515,-0.815037444187,-0.814981890367,-0.814926329057,-0.814870760255,-0.814815183964,-0.814759600182,-0.814704008912,-0.814648410153,-0.814592803906,-0.814537190172,-0.81448156895,-0.814425940242,-0.814370304048,-0.814314660369,-0.814259009204,-0.814203350555,-0.814147684422,-0.814092010805,-0.814036329706,-0.813980641124,-0.81392494506,-0.813869241515,-0.813813530489,-0.813757811982,-0.813702085995,-0.81364635253,-0.813590611585,-0.813534863162,-0.813479107261,-0.813423343883,-0.813367573027,-0.813311794696,-0.813256008889,-0.813200215606,-0.813144414849,-0.813088606618,-0.813032790913,-0.812976967734,-0.812921137083,-0.81286529896,-0.812809453365,-0.812753600299,-0.812697739762,-0.812641871755,-0.812585996278,-0.812530113333,-0.812474222918,-0.812418325036,-0.812362419686,-0.812306506869,-0.812250586585,-0.812194658836,-0.81213872362,-0.81208278094,-0.812026830796,-0.811970873187,-0.811914908115,-0.81185893558,-0.811802955583,-0.811746968123,-0.811690973202,-0.811634970821,-0.811578960979,-0.811522943677,-0.811466918916,-0.811410886695,-0.811354847017,-0.811298799881,-0.811242745287,-0.811186683237,-0.811130613731,-0.811074536768,-0.811018452351,-0.810962360479,-0.810906261152,-0.810850154372,-0.810794040139,-0.810737918453,-0.810681789315,-0.810625652726,-0.810569508685,-0.810513357194,-0.810457198253,-0.810401031862,-0.810344858022,-0.810288676733,-0.810232487997,-0.810176291813,-0.810120088182,-0.810063877105,-0.810007658582,-0.809951432613,-0.809895199199,-0.809838958341,-0.80978271004,-0.809726454294,-0.809670191106,-0.809613920476,-0.809557642404,-0.809501356891,-0.809445063937,-0.809388763542,-0.809332455708,-0.809276140435,-0.809219817723,-0.809163487572,-0.809107149985,-0.80905080496,-0.808994452498,-0.8089380926,-0.808881725267,-0.808825350499,-0.808768968296,-0.808712578659,-0.808656181588,-0.808599777085,-0.808543365149,-0.808486945781,-0.808430518982,-0.808374084751,-0.808317643091,-0.808261194,-0.80820473748,-0.808148273531,-0.808091802154,-0.80803532335,-0.807978837117,-0.807922343458,-0.807865842373,-0.807809333862,-0.807752817926,-0.807696294565,-0.80763976378,-0.807583225572,-0.80752667994,-0.807470126886,-0.807413566409,-0.807356998511,-0.807300423192,-0.807243840452,-0.807187250293,-0.807130652714,-0.807074047716,-0.807017435299,-0.806960815464,-0.806904188213,-0.806847553544,-0.806790911459,-0.806734261958,-0.806677605041,-0.80662094071,-0.806564268965,-0.806507589806,-0.806450903233,-0.806394209248,-0.806337507851,-0.806280799042,-0.806224082821,-0.806167359191,-0.80611062815,-0.806053889699,-0.805997143839,-0.805940390571,-0.805883629895,-0.805826861811,-0.805770086321,-0.805713303423,-0.80565651312,-0.805599715412,-0.805542910298,-0.80548609778,-0.805429277859,-0.805372450534,-0.805315615806,-0.805258773676,-0.805201924144,-0.805145067211,-0.805088202877,-0.805031331143,-0.804974452009,-0.804917565476,-0.804860671545,-0.804803770215,-0.804746861488,-0.804689945364,-0.804633021843,-0.804576090926,-0.804519152614,-0.804462206907,-0.804405253805,-0.804348293309,-0.80429132542,-0.804234350139,-0.804177367464,-0.804120377398,-0.804063379941,-0.804006375093,-0.803949362854,-0.803892343226,-0.803835316209,-0.803778281803,-0.803721240009,-0.803664190827,-0.803607134258,-0.803550070303,-0.803492998961,-0.803435920234,-0.803378834122,-0.803321740625,-0.803264639745,-0.803207531481,-0.803150415834,-0.803093292804,-0.803036162393,-0.802979024601,-0.802921879428,-0.802864726874,-0.802807566941,-0.802750399628,-0.802693224937,-0.802636042867,-0.80257885342,-0.802521656596,-0.802464452395,-0.802407240818,-0.802350021866,-0.802292795538,-0.802235561836,-0.80217832076,-0.802121072311,-0.802063816488,-0.802006553293,-0.801949282727,-0.801892004789,-0.80183471948,-0.801777426801,-0.801720126752,-0.801662819334,-0.801605504547,-0.801548182392,-0.801490852869,-0.80143351598,-0.801376171723,-0.801318820101,-0.801261461113,-0.80120409476,-0.801146721042,-0.80108933996,-0.801031951515,-0.800974555708,-0.800917152537,-0.800859742005,-0.800802324112,-0.800744898857,-0.800687466243,-0.800630026269,-0.800572578935,-0.800515124243,-0.800457662193,-0.800400192785,-0.80034271602,-0.800285231898,-0.80022774042,-0.800170241587,-0.800112735399,-0.800055221856,-0.799997700959,-0.799940172709,-0.799882637106,-0.799825094151,-0.799767543844,-0.799709986186,-0.799652421176,-0.799594848817,-0.799537269108,-0.79947968205,-0.799422087643,-0.799364485888,-0.799306876785,-0.799249260335,-0.799191636539,-0.799134005397,-0.799076366909,-0.799018721077,-0.7989610679,-0.798903407379,-0.798845739515,-0.798788064308,-0.798730381758,-0.798672691867,-0.798614994635,-0.798557290062,-0.798499578149,-0.798441858896,-0.798384132304,-0.798326398373,-0.798268657105,-0.798210908499,-0.798153152556,-0.798095389276,-0.798037618661,-0.79797984071,-0.797922055424,-0.797864262804,-0.79780646285,-0.797748655563,-0.797690840943,-0.797633018991,-0.797575189708,-0.797517353093,-0.797459509147,-0.797401657872,-0.797343799267,-0.797285933333,-0.79722806007,-0.79717017948,-0.797112291562,-0.797054396317,-0.796996493746,-0.796938583849,-0.796880666627,-0.79682274208,-0.796764810208,-0.796706871013,-0.796648924495,-0.796590970655,-0.796533009492,-0.796475041008,-0.796417065202,-0.796359082076,-0.79630109163,-0.796243093865,-0.796185088781,-0.796127076378,-0.796069056658,-0.79601102962,-0.795952995266,-0.795894953595,-0.795836904609,-0.795778848307,-0.795720784691,-0.795662713761,-0.795604635517,-0.79554654996,-0.795488457091,-0.79543035691,-0.795372249417,-0.795314134613,-0.7952560125,-0.795197883076,-0.795139746343,-0.795081602301,-0.795023450951,-0.794965292293,-0.794907126328,-0.794848953057,-0.794790772479,-0.794732584596,-0.794674389408,-0.794616186915,-0.794557977119,-0.794499760019,-0.794441535616,-0.794383303911,-0.794325064904,-0.794266818596,-0.794208564987,-0.794150304078,-0.794092035869,-0.794033760361,-0.793975477554,-0.79391718745,-0.793858890048,-0.793800585349,-0.793742273353,-0.793683954062,-0.793625627475,-0.793567293593,-0.793508952417,-0.793450603948,-0.793392248185,-0.793333885129,-0.793275514781,-0.793217137142,-0.793158752211,-0.79310035999,-0.793041960479,-0.792983553679,-0.79292513959,-0.792866718212,-0.792808289546,-0.792749853593,-0.792691410353,-0.792632959827,-0.792574502015,-0.792516036918,-0.792457564537,-0.792399084871,-0.792340597922,-0.79228210369,-0.792223602175,-0.792165093378,-0.7921065773,-0.792048053941,-0.791989523302,-0.791930985383,-0.791872440184,-0.791813887707,-0.791755327952,-0.791696760919,-0.791638186609,-0.791579605023,-0.79152101616,-0.791462420022,-0.791403816609,-0.791345205921,-0.79128658796,-0.791227962725,-0.791169330218,-0.791110690438,-0.791052043386,-0.790993389064,-0.790934727471,-0.790876058607,-0.790817382474,-0.790758699072,-0.790700008402,-0.790641310463,-0.790582605257,-0.790523892785,-0.790465173046,-0.790406446041,-0.790347711771,-0.790288970236,-0.790230221437,-0.790171465375,-0.790112702049,-0.790053931461,-0.789995153611,-0.789936368499,-0.789877576127,-0.789818776494,-0.789759969601,-0.789701155449,-0.789642334038,-0.789583505369,-0.789524669442,-0.789465826258,-0.789406975818,-0.789348118121,-0.789289253169,-0.789230380962,-0.7891715015,-0.789112614785,-0.789053720816,-0.788994819595,-0.788935911121,-0.788876995395,-0.788818072418,-0.788759142191,-0.788700204714,-0.788641259986,-0.78858230801,-0.788523348786,-0.788464382313,-0.788405408593,-0.788346427627,-0.788287439414,-0.788228443955,-0.788169441251,-0.788110431302,-0.788051414109,-0.787992389673,-0.787933357993,-0.787874319071,-0.787815272907,-0.787756219501,-0.787697158855,-0.787638090968,-0.787579015842,-0.787519933476,-0.787460843872,-0.787401747029,-0.787342642949,-0.787283531631,-0.787224413078,-0.787165287288,-0.787106154262,-0.787047014002,-0.786987866507,-0.786928711779,-0.786869549817,-0.786810380623,-0.786751204196,-0.786692020538,-0.786632829648,-0.786573631529,-0.786514426179,-0.786455213599,-0.786395993791,-0.786336766754,-0.786277532489,-0.786218290997,-0.786159042279,-0.786099786334,-0.786040523163,-0.785981252768,-0.785921975148,-0.785862690303,-0.785803398236,-0.785744098945,-0.785684792432,-0.785625478697,-0.785566157741,-0.785506829564,-0.785447494167,-0.78538815155,-0.785328801714,-0.78526944466,-0.785210080387,-0.785150708897,-0.78509133019,-0.785031944267,-0.784972551128,-0.784913150773,-0.784853743204,-0.78479432842,-0.784734906423,-0.784675477213,-0.78461604079,-0.784556597156,-0.784497146309,-0.784437688252,-0.784378222984,-0.784318750507,-0.78425927082,-0.784199783925,-0.784140289821,-0.78408078851,-0.784021279991,-0.783961764266,-0.783902241336,-0.783842711199,-0.783783173858,-0.783723629312,-0.783664077562,-0.78360451861,-0.783544952454,-0.783485379096,-0.783425798537,-0.783366210777,-0.783306615816,-0.783247013655,-0.783187404294,-0.783127787735,-0.783068163977,-0.783008533022,-0.782948894869,-0.78288924952,-0.782829596975,-0.782769937233,-0.782710270297,-0.782650596167,-0.782590914842,-0.782531226324,-0.782471530613,-0.78241182771,-0.782352117615,-0.782292400329,-0.782232675852,-0.782172944185,-0.782113205328,-0.782053459283,-0.781993706049,-0.781933945627,-0.781874178018,-0.781814403222,-0.781754621239,-0.781694832071,-0.781635035718,-0.78157523218,-0.781515421458,-0.781455603552,-0.781395778464,-0.781335946193,-0.78127610674,-0.781216260106,-0.781156406291,-0.781096545296,-0.781036677122,-0.780976801768,-0.780916919235,-0.780857029525,-0.780797132637,-0.780737228572,-0.780677317331,-0.780617398914,-0.780557473322,-0.780497540555,-0.780437600613,-0.780377653499,-0.780317699211,-0.78025773775,-0.780197769118,-0.780137793314,-0.78007781034,-0.780017820195,-0.77995782288,-0.779897818396,-0.779837806744,-0.779777787923,-0.779717761935,-0.77965772878,-0.779597688458,-0.779537640971,-0.779477586318,-0.7794175245,-0.779357455518,-0.779297379373,-0.779237296064,-0.779177205593,-0.779117107959,-0.779057003164,-0.778996891209,-0.778936772093,-0.778876645817,-0.778816512381,-0.778756371788,-0.778696224036,-0.778636069126,-0.778575907059,-0.778515737836,-0.778455561457,-0.778395377922,-0.778335187233,-0.778274989389,-0.778214784392,-0.778154572241,-0.778094352938,-0.778034126482,-0.777973892876,-0.777913652118,-0.777853404209,-0.777793149151,-0.777732886944,-0.777672617588,-0.777612341083,-0.777552057431,-0.777491766632,-0.777431468687,-0.777371163595,-0.777310851358,-0.777250531976,-0.77719020545,-0.77712987178,-0.777069530967,-0.777009183011,-0.776948827913,-0.776888465673,-0.776828096293,-0.776767719772,-0.776707336111,-0.776646945311,-0.776586547372,-0.776526142295,-0.77646573008,-0.776405310728,-0.776344884239,-0.776284450615,-0.776224009855,-0.77616356196,-0.776103106931,-0.776042644768,-0.775982175472,-0.775921699043,-0.775861215483,-0.77580072479,-0.775740226967,-0.775679722013,-0.775619209929,-0.775558690716,-0.775498164374,-0.775437630904,-0.775377090306,-0.775316542582,-0.77525598773,-0.775195425753,-0.77513485665,-0.775074280423,-0.775013697071,-0.774953106595,-0.774892508996,-0.774831904274,-0.774771292431,-0.774710673466,-0.774650047379,-0.774589414173,-0.774528773846,-0.774468126401,-0.774407471836,-0.774346810154,-0.774286141353,-0.774225465436,-0.774164782402,-0.774104092252,-0.774043394987,-0.773982690607,-0.773921979112,-0.773861260504,-0.773800534783,-0.773739801949,-0.773679062003,-0.773618314946,-0.773557560778,-0.773496799499,-0.77343603111,-0.773375255613,-0.773314473006,-0.773253683291,-0.773192886469,-0.77313208254,-0.773071271504,-0.773010453363,-0.772949628116,-0.772888795764,-0.772827956308,-0.772767109748,-0.772706256086,-0.77264539532,-0.772584527453,-0.772523652484,-0.772462770415,-0.772401881245,-0.772340984975,-0.772280081606,-0.772219171139,-0.772158253573,-0.77209732891,-0.77203639715,-0.771975458294,-0.771914512342,-0.771853559294,-0.771792599152,-0.771731631916,-0.771670657586,-0.771609676163,-0.771548687647,-0.77148769204,-0.771426689341,-0.771365679552,-0.771304662672,-0.771243638702,-0.771182607644,-0.771121569497,-0.771060524262,-0.770999471939,-0.77093841253,-0.770877346034,-0.770816272453,-0.770755191786,-0.770694104035,-0.7706330092,-0.770571907281,-0.77051079828,-0.770449682196,-0.77038855903,-0.770327428783,-0.770266291455,-0.770205147047,-0.77014399556,-0.770082836993,-0.770021671348,-0.769960498626,-0.769899318826,-0.769838131949,-0.769776937996,-0.769715736967,-0.769654528864,-0.769593313685,-0.769532091433,-0.769470862108,-0.76940962571,-0.769348382239,-0.769287131697,-0.769225874083,-0.769164609399,-0.769103337646,-0.769042058822,-0.76898077293,-0.76891947997,-0.768858179941,-0.768796872846,-0.768735558684,-0.768674237456,-0.768612909162,-0.768551573804,-0.768490231381,-0.768428881894,-0.768367525344,-0.768306161731,-0.768244791057,-0.768183413321,-0.768122028523,-0.768060636666,-0.767999237748,-0.767937831772,-0.767876418736,-0.767814998642,-0.767753571491,-0.767692137283,-0.767630696018,-0.767569247698,-0.767507792322,-0.767446329891,-0.767384860406,-0.767323383868,-0.767261900276,-0.767200409632,-0.767138911936,-0.767077407188,-0.76701589539,-0.766954376542,-0.766892850643,-0.766831317696,-0.7667697777,-0.766708230657,-0.766646676565,-0.766585115427,-0.766523547243,-0.766461972013,-0.766400389738,-0.766338800418,-0.766277204054,-0.766215600647,-0.766153990196,-0.766092372704,-0.76603074817,-0.765969116594,-0.765907477978,-0.765845832322,-0.765784179626,-0.765722519892,-0.765660853119,-0.765599179308,-0.76553749846,-0.765475810575,-0.765414115655,-0.765352413699,-0.765290704707,-0.765228988682,-0.765167265622,-0.76510553553,-0.765043798405,-0.764982054247,-0.764920303058,-0.764858544838,-0.764796779588,-0.764735007308,-0.764673227998,-0.76461144166,-0.764549648293,-0.7644878479,-0.764426040479,-0.764364226031,-0.764302404558,-0.764240576059,-0.764178740536,-0.764116897989,-0.764055048418,-0.763993191824,-0.763931328207,-0.763869457569,-0.763807579909,-0.763745695228,-0.763683803528,-0.763621904807,-0.763559999068,-0.76349808631,-0.763436166534,-0.763374239741,-0.763312305931,-0.763250365105,-0.763188417263,-0.763126462407,-0.763064500535,-0.76300253165,-0.762940555752,-0.76287857284,-0.762816582917,-0.762754585981,-0.762692582035,-0.762630571078,-0.762568553112,-0.762506528136,-0.762444496151,-0.762382457158,-0.762320411157,-0.762258358149,-0.762196298135,-0.762134231114,-0.762072157089,-0.762010076058,-0.761947988023,-0.761885892985,-0.761823790943,-0.761761681899,-0.761699565854,-0.761637442806,-0.761575312758,-0.76151317571,-0.761451031662,-0.761388880615,-0.761326722569,-0.761264557525,-0.761202385484,-0.761140206446,-0.761078020412,-0.761015827383,-0.760953627358,-0.760891420339,-0.760829206325,-0.760766985319,-0.760704757319,-0.760642522328,-0.760580280344,-0.76051803137,-0.760455775405,-0.76039351245,-0.760331242506,-0.760268965573,-0.760206681651,-0.760144390742,-0.760082092846,-0.760019787964,-0.759957476095,-0.759895157241,-0.759832831403,-0.75977049858,-0.759708158773,-0.759645811984,-0.759583458211,-0.759521097457,-0.759458729722,-0.759396355006,-0.759333973309,-0.759271584633,-0.759209188978,-0.759146786345,-0.759084376733,-0.759021960145,-0.758959536579,-0.758897106037,-0.75883466852,-0.758772224027,-0.75870977256,-0.75864731412,-0.758584848705,-0.758522376319,-0.75845989696,-0.758397410629,-0.758334917327,-0.758272417055,-0.758209909813,-0.758147395602,-0.758084874422,-0.758022346273,-0.757959811158,-0.757897269075,-0.757834720026,-0.757772164011,-0.75770960103,-0.757647031085,-0.757584454176,-0.757521870303,-0.757459279468,-0.757396681669,-0.75733407691,-0.757271465188,-0.757208846506,-0.757146220865,-0.757083588263,-0.757020948703,-0.756958302184,-0.756895648707,-0.756832988273,-0.756770320883,-0.756707646536,-0.756644965234,-0.756582276977,-0.756519581766,-0.756456879601,-0.756394170483,-0.756331454412,-0.756268731389,-0.756206001414,-0.756143264489,-0.756080520614,-0.756017769788,-0.755955012014,-0.755892247291,-0.75582947562,-0.755766697001,-0.755703911436,-0.755641118924,-0.755578319467,-0.755515513065,-0.755452699718,-0.755389879427,-0.755327052193,-0.755264218016,-0.755201376897,-0.755138528836,-0.755075673834,-0.755012811891,-0.754949943009,-0.754887067187,-0.754824184426,-0.754761294728,-0.754698398092,-0.754635494518,-0.754572584008,-0.754509666563,-0.754446742182,-0.754383810866,-0.754320872617,-0.754257927433,-0.754194975317,-0.754132016268,-0.754069050288,-0.754006077376,-0.753943097533,-0.753880110761,-0.753817117059,-0.753754116428,-0.753691108869,-0.753628094382,-0.753565072968,-0.753502044627,-0.75343900936,-0.753375967167,-0.75331291805,-0.753249862009,-0.753186799044,-0.753123729155,-0.753060652344,-0.752997568612,-0.752934477957,-0.752871380382,-0.752808275887,-0.752745164472,-0.752682046138,-0.752618920886,-0.752555788715,-0.752492649627,-0.752429503623,-0.752366350702,-0.752303190866,-0.752240024115,-0.752176850449,-0.75211366987,-0.752050482377,-0.751987287971,-0.751924086654,-0.751860878424,-0.751797663284,-0.751734441234,-0.751671212274,-0.751607976404,-0.751544733626,-0.75148148394,-0.751418227347,-0.751354963846,-0.75129169344,-0.751228416127,-0.75116513191,-0.751101840788,-0.751038542762,-0.750975237832,-0.750911926,-0.750848607265,-0.750785281629,-0.750721949092,-0.750658609655,-0.750595263317,-0.75053191008,-0.750468549945,-0.750405182911,-0.75034180898,-0.750278428151,-0.750215040427,-0.750151645806,-0.750088244291,-0.75002483588,-0.749961420576,-0.749897998378,-0.749834569287,-0.749771133304,-0.749707690429,-0.749644240663,-0.749580784006,-0.74951732046,-0.749453850024,-0.749390372699,-0.749326888486,-0.749263397385,-0.749199899398,-0.749136394523,-0.749072882763,-0.749009364118,-0.748945838588,-0.748882306173,-0.748818766875,-0.748755220695,-0.748691667631,-0.748628107686,-0.74856454086,-0.748500967153,-0.748437386566,-0.748373799099,-0.748310204754,-0.74824660353,-0.748182995429,-0.74811938045,-0.748055758595,-0.747992129864,-0.747928494258,-0.747864851777,-0.747801202421,-0.747737546192,-0.74767388309,-0.747610213115,-0.747546536269,-0.747482852551,-0.747419161963,-0.747355464504,-0.747291760176,-0.747228048979,-0.747164330913,-0.74710060598,-0.74703687418,-0.746973135513,-0.74690938998,-0.746845637581,-0.746781878318,-0.746718112191,-0.746654339199,-0.746590559345,-0.746526772628,-0.74646297905,-0.74639917861,-0.746335371309,-0.746271557148,-0.746207736127,-0.746143908248,-0.74608007351,-0.746016231914,-0.745952383461,-0.745888528152,-0.745824665986,-0.745760796965,-0.745696921089,-0.745633038359,-0.745569148775,-0.745505252338,-0.745441349049,-0.745377438907,-0.745313521914,-0.745249598071,-0.745185667377,-0.745121729834,-0.745057785441,-0.744993834201,-0.744929876112,-0.744865911176,-0.744801939394,-0.744737960765,-0.744673975291,-0.744609982972,-0.744545983809,-0.744481977802,-0.744417964952,-0.74435394526,-0.744289918725,-0.74422588535,-0.744161845133,-0.744097798076,-0.74403374418,-0.743969683445,-0.743905615871,-0.743841541459,-0.74377746021,-0.743713372125,-0.743649277203,-0.743585175447,-0.743521066855,-0.743456951429,-0.743392829169,-0.743328700076,-0.74326456415,-0.743200421393,-0.743136271804,-0.743072115385,-0.743007952135,-0.742943782056,-0.742879605148,-0.742815421411,-0.742751230847,-0.742687033455,-0.742622829237,-0.742558618193,-0.742494400323,-0.742430175629,-0.74236594411,-0.742301705767,-0.742237460602,-0.742173208614,-0.742108949804,-0.742044684173,-0.741980411721,-0.741916132449,-0.741851846357,-0.741787553447,-0.741723253718,-0.741658947171,-0.741594633807,-0.741530313627,-0.741465986631,-0.741401652819,-0.741337312192,-0.741272964751,-0.741208610497,-0.74114424943,-0.74107988155,-0.741015506858,-0.740951125355,-0.740886737041,-0.740822341918,-0.740757939984,-0.740693531242,-0.740629115692,-0.740564693334,-0.740500264169,-0.740435828197,-0.740371385419,-0.740306935836,-0.740242479449,-0.740178016257,-0.740113546261,-0.740049069463,-0.739984585862,-0.73992009546,-0.739855598256,-0.739791094251,-0.739726583447,-0.739662065843,-0.739597541441,-0.73953301024,-0.739468472242,-0.739403927446,-0.739339375854,-0.739274817467,-0.739210252284,-0.739145680306,-0.739081101534,-0.739016515969,-0.738951923611,-0.738887324461,-0.738822718519,-0.738758105785,-0.738693486262,-0.738628859948,-0.738564226845,-0.738499586954,-0.738434940274,-0.738370286807,-0.738305626552,-0.738240959512,-0.738176285686,-0.738111605074,-0.738046917678,-0.737982223498,-0.737917522535,-0.737852814788,-0.73778810026,-0.73772337895,-0.737658650859,-0.737593915988,-0.737529174337,-0.737464425906,-0.737399670697,-0.73733490871,-0.737270139946,-0.737205364405,-0.737140582087,-0.737075792994,-0.737010997126,-0.736946194484,-0.736881385067,-0.736816568877,-0.736751745915,-0.736686916181,-0.736622079675,-0.736557236398,-0.736492386351,-0.736427529534,-0.736362665948,-0.736297795594,-0.736232918472,-0.736168034582,-0.736103143926,-0.736038246504,-0.735973342316,-0.735908431363,-0.735843513646,-0.735778589166,-0.735713657922,-0.735648719916,-0.735583775147,-0.735518823618,-0.735453865327,-0.735388900277,-0.735323928467,-0.735258949898,-0.73519396457,-0.735128972485,-0.735063973643,-0.734998968044,-0.73493395569,-0.73486893658,-0.734803910715,-0.734738878096,-0.734673838723,-0.734608792598,-0.73454373972,-0.73447868009,-0.73441361371,-0.734348540578,-0.734283460697,-0.734218374066,-0.734153280687,-0.734088180559,-0.734023073684,-0.733957960061,-0.733892839693,-0.733827712578,-0.733762578719,-0.733697438115,-0.733632290766,-0.733567136675,-0.733501975841,-0.733436808264,-0.733371633946,-0.733306452887,-0.733241265087,-0.733176070548,-0.733110869269,-0.733045661252,-0.732980446497,-0.732915225005,-0.732849996775,-0.73278476181,-0.732719520109,-0.732654271672,-0.732589016502,-0.732523754598,-0.73245848596,-0.73239321059,-0.732327928488,-0.732262639654,-0.73219734409,-0.732132041795,-0.732066732771,-0.732001417018,-0.731936094537,-0.731870765327,-0.731805429391,-0.731740086728,-0.731674737338,-0.731609381224,-0.731544018385,-0.731478648821,-0.731413272534,-0.731347889524,-0.731282499791,-0.731217103337,-0.731151700162,-0.731086290265,-0.731020873649,-0.730955450314,-0.73089002026,-0.730824583487,-0.730759139997,-0.73069368979,-0.730628232867,-0.730562769228,-0.730497298874,-0.730431821805,-0.730366338022,-0.730300847526,-0.730235350317,-0.730169846395,-0.730104335763,-0.730038818419,-0.729973294365,-0.729907763601,-0.729842226128,-0.729776681947,-0.729711131057,-0.72964557346,-0.729580009157,-0.729514438147,-0.729448860432,-0.729383276012,-0.729317684887,-0.729252087059,-0.729186482527,-0.729120871293,-0.729055253358,-0.728989628721,-0.728923997383,-0.728858359345,-0.728792714607,-0.728727063171,-0.728661405036,-0.728595740204,-0.728530068674,-0.728464390448,-0.728398705526,-0.728333013909,-0.728267315597,-0.728201610591,-0.728135898892,-0.7280701805,-0.728004455415,-0.727938723639,-0.727872985172,-0.727807240014,-0.727741488167,-0.72767572963,-0.727609964404,-0.727544192491,-0.72747841389,-0.727412628602,-0.727346836628,-0.727281037969,-0.727215232624,-0.727149420595,-0.727083601883,-0.727017776487,-0.726951944408,-0.726886105648,-0.726820260206,-0.726754408083,-0.72668854928,-0.726622683798,-0.726556811636,-0.726490932796,-0.726425047279,-0.726359155084,-0.726293256213,-0.726227350666,-0.726161438444,-0.726095519546,-0.726029593975,-0.72596366173,-0.725897722813,-0.725831777223,-0.725765824961,-0.725699866028,-0.725633900425,-0.725567928152,-0.72550194921,-0.725435963599,-0.72536997132,-0.725303972373,-0.72523796676,-0.72517195448,-0.725105935535,-0.725039909925,-0.72497387765,-0.724907838712,-0.72484179311,-0.724775740846,-0.724709681919,-0.724643616332,-0.724577544084,-0.724511465175,-0.724445379607,-0.72437928738,-0.724313188495,-0.724247082951,-0.724180970751,-0.724114851895,-0.724048726382,-0.723982594214,-0.723916455391,-0.723850309915,-0.723784157784,-0.723717999001,-0.723651833566,-0.723585661479,-0.723519482741,-0.723453297353,-0.723387105314,-0.723320906627,-0.723254701291,-0.723188489307,-0.723122270675,-0.723056045397,-0.722989813472,-0.722923574902,-0.722857329687,-0.722791077828,-0.722724819325,-0.722658554179,-0.72259228239,-0.722526003959,-0.722459718887,-0.722393427175,-0.722327128822,-0.72226082383,-0.722194512199,-0.722128193929,-0.722061869022,-0.721995537478,-0.721929199298,-0.721862854481,-0.72179650303,-0.721730144944,-0.721663780224,-0.72159740887,-0.721531030884,-0.721464646266,-0.721398255016,-0.721331857135,-0.721265452624,-0.721199041483,-0.721132623713,-0.721066199315,-0.720999768288,-0.720933330634,-0.720866886354,-0.720800435448,-0.720733977916,-0.720667513759,-0.720601042978,-0.720534565574,-0.720468081546,-0.720401590897,-0.720335093625,-0.720268589732,-0.720202079219,-0.720135562085,-0.720069038333,-0.720002507961,-0.719935970972,-0.719869427365,-0.719802877141,-0.719736320301,-0.719669756845,-0.719603186774,-0.719536610089,-0.71947002679,-0.719403436878,-0.719336840353,-0.719270237216,-0.719203627467,-0.719137011108,-0.719070388139,-0.71900375856,-0.718937122373,-0.718870479577,-0.718803830173,-0.718737174162,-0.718670511545,-0.718603842322,-0.718537166494,-0.718470484061,-0.718403795023,-0.718337099383,-0.71827039714,-0.718203688294,-0.718136972847,-0.718070250799,-0.718003522151,-0.717936786903,-0.717870045056,-0.71780329661,-0.717736541566,-0.717669779926,-0.717603011688,-0.717536236854,-0.717469455425,-0.717402667402,-0.717335872784,-0.717269071572,-0.717202263767,-0.71713544937,-0.717068628381,-0.717001800802,-0.716934966631,-0.716868125871,-0.716801278521,-0.716734424583,-0.716667564056,-0.716600696943,-0.716533823242,-0.716466942955,-0.716400056082,-0.716333162625,-0.716266262583,-0.716199355957,-0.716132442748,-0.716065522957,-0.715998596584,-0.715931663629,-0.715864724094,-0.715797777979,-0.715730825284,-0.71566386601,-0.715596900158,-0.715529927729,-0.715462948722,-0.715395963139,-0.715328970981,-0.715261972247,-0.715194966939,-0.715127955056,-0.715060936601,-0.714993911573,-0.714926879972,-0.714859841801,-0.714792797058,-0.714725745745,-0.714658687863,-0.714591623411,-0.714524552392,-0.714457474804,-0.714390390649,-0.714323299928,-0.714256202641,-0.714189098789,-0.714121988372,-0.71405487139,-0.713987747846,-0.713920617738,-0.713853481069,-0.713786337838,-0.713719188046,-0.713652031693,-0.713584868781,-0.713517699309,-0.71345052328,-0.713383340692,-0.713316151547,-0.713248955845,-0.713181753587,-0.713114544774,-0.713047329406,-0.712980107484,-0.712912879009,-0.71284564398,-0.712778402399,-0.712711154267,-0.712643899583,-0.712576638349,-0.712509370565,-0.712442096231,-0.71237481535,-0.71230752792,-0.712240233942,-0.712172933418,-0.712105626348,-0.712038312733,-0.711970992572,-0.711903665867,-0.711836332619,-0.711768992827,-0.711701646493,-0.711634293617,-0.7115669342,-0.711499568243,-0.711432195745,-0.711364816708,-0.711297431133,-0.711230039019,-0.711162640368,-0.71109523518,-0.711027823456,-0.710960405196,-0.710892980401,-0.710825549072,-0.710758111209,-0.710690666813,-0.710623215884,-0.710555758424,-0.710488294432,-0.71042082391,-0.710353346857,-0.710285863275,-0.710218373164,-0.710150876526,-0.710083373359,-0.710015863666,-0.709948347446,-0.709880824701,-0.70981329543,-0.709745759636,-0.709678217317,-0.709610668475,-0.70954311311,-0.709475551224,-0.709407982816,-0.709340407888,-0.709272826439,-0.709205238471,-0.709137643984,-0.709070042978,-0.709002435456,-0.708934821416,-0.70886720086,-0.708799573788,-0.7087319402,-0.708664300099,-0.708596653483,-0.708529000354,-0.708461340713,-0.70839367456,-0.708326001895,-0.708258322719,-0.708190637033,-0.708122944838,-0.708055246134,-0.707987540921,-0.707919829201,-0.707852110974,-0.70778438624,-0.707716655,-0.707648917256,-0.707581173006,-0.707513422253,-0.707445664997,-0.707377901238,-0.707310130976,-0.707242354214,-0.70717457095,-0.707106781187,-0.707038984923,-0.706971182161,-0.706903372901,-0.706835557142,-0.706767734887,-0.706699906135,-0.706632070888,-0.706564229145,-0.706496380907,-0.706428526176,-0.706360664951,-0.706292797234,-0.706224923024,-0.706157042323,-0.706089155131,-0.706021261449,-0.705953361278,-0.705885454617,-0.705817541468,-0.705749621831,-0.705681695708,-0.705613763097,-0.705545824001,-0.70547787842,-0.705409926354,-0.705341967804,-0.705274002771,-0.705206031255,-0.705138053257,-0.705070068777,-0.705002077817,-0.704934080376,-0.704866076456,-0.704798066056,-0.704730049179,-0.704662025823,-0.704593995991,-0.704525959682,-0.704457916897,-0.704389867637,-0.704321811903,-0.704253749694,-0.704185681012,-0.704117605858,-0.704049524231,-0.703981436133,-0.703913341564,-0.703845240524,-0.703777133016,-0.703709019038,-0.703640898592,-0.703572771678,-0.703504638297,-0.703436498449,-0.703368352136,-0.703300199358,-0.703232040114,-0.703163874407,-0.703095702237,-0.703027523604,-0.702959338509,-0.702891146952,-0.702822948935,-0.702754744457,-0.70268653352,-0.702618316124,-0.702550092269,-0.702481861957,-0.702413625188,-0.702345381962,-0.702277132281,-0.702208876144,-0.702140613553,-0.702072344508,-0.70200406901,-0.701935787059,-0.701867498656,-0.701799203801,-0.701730902496,-0.70166259474,-0.701594280535,-0.701525959881,-0.701457632779,-0.701389299229,-0.701320959232,-0.701252612789,-0.7011842599,-0.701115900566,-0.701047534787,-0.700979162565,-0.700910783899,-0.700842398791,-0.70077400724,-0.700705609248,-0.700637204816,-0.700568793943,-0.700500376631,-0.70043195288,-0.700363522691,-0.700295086064,-0.700226643001,-0.700158193501,-0.700089737565,-0.700021275194,-0.699952806389,-0.69988433115,-0.699815849477,-0.699747361373,-0.699678866836,-0.699610365868,-0.699541858469,-0.69947334464,-0.699404824382,-0.699336297695,-0.69926776458,-0.699199225037,-0.699130679068,-0.699062126672,-0.698993567851,-0.698925002604,-0.698856430934,-0.698787852839,-0.698719268322,-0.698650677381,-0.69858208002,-0.698513476236,-0.698444866033,-0.698376249409,-0.698307626366,-0.698238996904,-0.698170361024,-0.698101718727,-0.698033070013,-0.697964414883,-0.697895753337,-0.697827085377,-0.697758411002,-0.697689730213,-0.697621043012,-0.697552349398,-0.697483649372,-0.697414942935,-0.697346230088,-0.697277510831,-0.697208785165,-0.69714005309,-0.697071314607,-0.697002569716,-0.696933818419,-0.696865060716,-0.696796296608,-0.696727526095,-0.696658749177,-0.696589965856,-0.696521176132,-0.696452380006,-0.696383577478,-0.69631476855,-0.69624595322,-0.696177131491,-0.696108303363,-0.696039468837,-0.695970627913,-0.695901780591,-0.695832926873,-0.695764066759,-0.695695200249,-0.695626327345,-0.695557448047,-0.695488562356,-0.695419670271,-0.695350771795,-0.695281866927,-0.695212955668,-0.695144038019,-0.69507511398,-0.695006183552,-0.694937246736,-0.694868303532,-0.694799353942,-0.694730397964,-0.694661435601,-0.694592466853,-0.69452349172,-0.694454510203,-0.694385522303,-0.69431652802,-0.694247527356,-0.69417852031,-0.694109506883,-0.694040487076,-0.69397146089,-0.693902428324,-0.693833389381,-0.69376434406,-0.693695292362,-0.693626234288,-0.693557169838,-0.693488099013,-0.693419021814,-0.693349938241,-0.693280848295,-0.693211751976,-0.693142649285,-0.693073540224,-0.693004424791,-0.692935302989,-0.692866174817,-0.692797040277,-0.692727899369,-0.692658752093,-0.692589598451,-0.692520438442,-0.692451272068,-0.692382099329,-0.692312920226,-0.692243734759,-0.692174542929,-0.692105344737,-0.692036140183,-0.691966929269,-0.691897711993,-0.691828488358,-0.691759258364,-0.691690022012,-0.691620779301,-0.691551530233,-0.691482274809,-0.691413013029,-0.691343744893,-0.691274470403,-0.691205189558,-0.691135902361,-0.69106660881,-0.690997308908,-0.690928002653,-0.690858690048,-0.690789371093,-0.690720045788,-0.690650714135,-0.690581376132,-0.690512031783,-0.690442681086,-0.690373324043,-0.690303960654,-0.69023459092,-0.690165214841,-0.690095832419,-0.690026443653,-0.689957048545,-0.689887647095,-0.689818239303,-0.689748825171,-0.689679404699,-0.689609977887,-0.689540544737,-0.689471105249,-0.689401659423,-0.68933220726,-0.689262748761,-0.689193283927,-0.689123812757,-0.689054335254,-0.688984851417,-0.688915361246,-0.688845864744,-0.688776361909,-0.688706852744,-0.688637337248,-0.688567815422,-0.688498287267,-0.688428752784,-0.688359211973,-0.688289664834,-0.688220111369,-0.688150551578,-0.688080985462,-0.68801141302,-0.687941834255,-0.687872249167,-0.687802657755,-0.687733060022,-0.687663455967,-0.687593845591,-0.687524228895,-0.687454605879,-0.687384976545,-0.687315340892,-0.687245698921,-0.687176050634,-0.68710639603,-0.68703673511,-0.686967067875,-0.686897394326,-0.686827714463,-0.686758028287,-0.686688335798,-0.686618636998,-0.686548931886,-0.686479220463,-0.686409502731,-0.686339778689,-0.686270048339,-0.68620031168,-0.686130568714,-0.686060819441,-0.685991063863,-0.685921301978,-0.685851533789,-0.685781759296,-0.685711978499,-0.685642191399,-0.685572397997,-0.685502598293,-0.685432792289,-0.685362979984,-0.685293161379,-0.685223336475,-0.685153505273,-0.685083667773,-0.685013823976,-0.684943973882,-0.684874117492,-0.684804254808,-0.684734385828,-0.684664510555,-0.684594628988,-0.684524741129,-0.684454846978,-0.684384946535,-0.684315039802,-0.684245126779,-0.684175207466,-0.684105281864,-0.684035349975,-0.683965411797,-0.683895467333,-0.683825516583,-0.683755559547,-0.683685596226,-0.683615626621,-0.683545650732,-0.68347566856,-0.683405680106,-0.68333568537,-0.683265684353,-0.683195677056,-0.683125663479,-0.683055643623,-0.682985617488,-0.682915585075,-0.682845546385,-0.682775501419,-0.682705450176,-0.682635392659,-0.682565328866,-0.6824952588,-0.682425182461,-0.682355099848,-0.682285010964,-0.682214915808,-0.682144814381,-0.682074706685,-0.682004592718,-0.681934472483,-0.68186434598,-0.681794213209,-0.681724074172,-0.681653928868,-0.681583777298,-0.681513619464,-0.681443455365,-0.681373285002,-0.681303108377,-0.681232925489,-0.681162736339,-0.681092540928,-0.681022339257,-0.680952131326,-0.680881917135,-0.680811696686,-0.68074146998,-0.680671237016,-0.680600997795,-0.680530752319,-0.680460500587,-0.680390242601,-0.680319978361,-0.680249707867,-0.68017943112,-0.680109148122,-0.680038858872,-0.679968563371,-0.679898261621,-0.67982795362,-0.679757639371,-0.679687318874,-0.679616992129,-0.679546659137,-0.679476319899,-0.679405974416,-0.679335622687,-0.679265264714,-0.679194900498,-0.679124530038,-0.679054153337,-0.678983770393,-0.678913381208,-0.678842985783,-0.678772584118,-0.678702176214,-0.678631762072,-0.678561341691,-0.678490915074,-0.67842048222,-0.67835004313,-0.678279597805,-0.678209146245,-0.678138688451,-0.678068224424,-0.677997754164,-0.677927277673,-0.677856794949,-0.677786305996,-0.677715810812,-0.677645309398,-0.677574801756,-0.677504287886,-0.677433767789,-0.677363241464,-0.677292708913,-0.677222170137,-0.677151625136,-0.677081073911,-0.677010516462,-0.67693995279,-0.676869382896,-0.67679880678,-0.676728224443,-0.676657635886,-0.67658704111,-0.676516440114,-0.6764458329,-0.676375219468,-0.676304599819,-0.676233973953,-0.676163341872,-0.676092703575,-0.676022059064,-0.67595140834,-0.675880751402,-0.675810088251,-0.675739418889,-0.675668743315,-0.675598061531,-0.675527373536,-0.675456679333,-0.675385978921,-0.6753152723,-0.675244559473,-0.675173840439,-0.675103115198,-0.675032383752,-0.674961646102,-0.674890902247,-0.674820152189,-0.674749395929,-0.674678633466,-0.674607864801,-0.674537089936,-0.67446630887,-0.674395521605,-0.674324728141,-0.674253928479,-0.674183122619,-0.674112310562,-0.674041492309,-0.673970667861,-0.673899837217,-0.673829000379,-0.673758157347,-0.673687308122,-0.673616452705,-0.673545591096,-0.673474723296,-0.673403849306,-0.673332969125,-0.673262082756,-0.673191190198,-0.673120291453,-0.67304938652,-0.6729784754,-0.672907558095,-0.672836634605,-0.67276570493,-0.672694769071,-0.672623827029,-0.672552878804,-0.672481924397,-0.672410963809,-0.67233999704,-0.672269024091,-0.672198044963,-0.672127059656,-0.672056068172,-0.671985070509,-0.67191406667,-0.671843056655,-0.671772040465,-0.671701018099,-0.67162998956,-0.671558954847,-0.671487913961,-0.671416866903,-0.671345813674,-0.671274754274,-0.671203688703,-0.671132616963,-0.671061539054,-0.670990454977,-0.670919364732,-0.67084826832,-0.670777165742,-0.670706056998,-0.67063494209,-0.670563821017,-0.67049269378,-0.67042156038,-0.670350420818,-0.670279275094,-0.670208123209,-0.670136965164,-0.670065800959,-0.669994630595,-0.669923454072,-0.669852271392,-0.669781082554,-0.66970988756,-0.66963868641,-0.669567479105,-0.669496265646,-0.669425046032,-0.669353820266,-0.669282588347,-0.669211350276,-0.669140106053,-0.66906885568,-0.668997599157,-0.668926336485,-0.668855067665,-0.668783792696,-0.66871251158,-0.668641224317,-0.668569930908,-0.668498631354,-0.668427325655,-0.668356013813,-0.668284695826,-0.668213371698,-0.668142041427,-0.668070705014,-0.667999362461,-0.667928013768,-0.667856658935,-0.667785297963,-0.667713930854,-0.667642557607,-0.667571178223,-0.667499792702,-0.667428401047,-0.667357003256,-0.667285599331,-0.667214189273,-0.667142773082,-0.667071350759,-0.666999922304,-0.666928487718,-0.666857047002,-0.666785600156,-0.666714147181,-0.666642688078,-0.666571222847,-0.66649975149,-0.666428274006,-0.666356790396,-0.666285300662,-0.666213804803,-0.66614230282,-0.666070794714,-0.665999280486,-0.665927760136,-0.665856233666,-0.665784701074,-0.665713162363,-0.665641617533,-0.665570066585,-0.665498509518,-0.665426946335,-0.665355377035,-0.665283801619,-0.665212220088,-0.665140632443,-0.665069038684,-0.664997438811,-0.664925832826,-0.66485422073,-0.664782602522,-0.664710978203,-0.664639347775,-0.664567711237,-0.664496068591,-0.664424419837,-0.664352764976,-0.664281104008,-0.664209436934,-0.664137763755,-0.664066084472,-0.663994399084,-0.663922707593,-0.663851009999,-0.663779306304,-0.663707596507,-0.66363588061,-0.663564158612,-0.663492430515,-0.66342069632,-0.663348956026,-0.663277209635,-0.663205457148,-0.663133698564,-0.663061933885,-0.662990163111,-0.662918386243,-0.662846603282,-0.662774814228,-0.662703019082,-0.662631217845,-0.662559410516,-0.662487597098,-0.66241577759,-0.662343951994,-0.662272120309,-0.662200282537,-0.662128438678,-0.662056588733,-0.661984732702,-0.661912870587,-0.661841002387,-0.661769128104,-0.661697247738,-0.66162536129,-0.66155346876,-0.66148157015,-0.661409665459,-0.661337754689,-0.66126583784,-0.661193914913,-0.661121985908,-0.661050050826,-0.660978109668,-0.660906162435,-0.660834209126,-0.660762249744,-0.660690284287,-0.660618312758,-0.660546335157,-0.660474351484,-0.66040236174,-0.660330365925,-0.660258364041,-0.660186356089,-0.660114342067,-0.660042321979,-0.659970295823,-0.659898263601,-0.659826225313,-0.659754180961,-0.659682130544,-0.659610074063,-0.659538011519,-0.659465942913,-0.659393868246,-0.659321787517,-0.659249700728,-0.659177607879,-0.659105508972,-0.659033404006,-0.658961292982,-0.658889175901,-0.658817052764,-0.658744923571,-0.658672788323,-0.658600647021,-0.658528499665,-0.658456346256,-0.658384186795,-0.658312021282,-0.658239849717,-0.658167672103,-0.658095488439,-0.658023298725,-0.657951102963,-0.657878901154,-0.657806693297,-0.657734479394,-0.657662259445,-0.657590033451,-0.657517801413,-0.657445563331,-0.657373319206,-0.657301069038,-0.657228812829,-0.657156550578,-0.657084282287,-0.657012007956,-0.656939727587,-0.656867441178,-0.656795148732,-0.656722850249,-0.656650545729,-0.656578235174,-0.656505918583,-0.656433595958,-0.6563612673,-0.656288932608,-0.656216591883,-0.656144245127,-0.65607189234,-0.655999533522,-0.655927168674,-0.655854797797,-0.655782420892,-0.655710037959,-0.655637648999,-0.655565254012,-0.655492853,-0.655420445962,-0.6553480329,-0.655275613814,-0.655203188705,-0.655130757573,-0.65505832042,-0.654985877245,-0.65491342805,-0.654840972835,-0.654768511601,-0.654696044349,-0.654623571078,-0.654551091791,-0.654478606487,-0.654406115167,-0.654333617832,-0.654261114482,-0.654188605119,-0.654116089742,-0.654043568353,-0.653971040953,-0.653898507541,-0.653825968118,-0.653753422686,-0.653680871244,-0.653608313795,-0.653535750337,-0.653463180872,-0.6533906054,-0.653318023923,-0.653245436441,-0.653172842954,-0.653100243463,-0.653027637969,-0.652955026473,-0.652882408975,-0.652809785475,-0.652737155975,-0.652664520476,-0.652591878977,-0.65251923148,-0.652446577984,-0.652373918492,-0.652301253003,-0.652228581519,-0.652155904039,-0.652083220565,-0.652010531097,-0.651937835636,-0.651865134182,-0.651792426737,-0.6517197133,-0.651646993873,-0.651574268456,-0.65150153705,-0.651428799656,-0.651356056274,-0.651283306905,-0.651210551549,-0.651137790207,-0.65106502288,-0.650992249569,-0.650919470274,-0.650846684996,-0.650773893736,-0.650701096494,-0.65062829327,-0.650555484067,-0.650482668883,-0.65040984772,-0.650337020579,-0.65026418746,-0.650191348364,-0.650118503292,-0.650045652244,-0.649972795221,-0.649899932223,-0.649827063252,-0.649754188307,-0.649681307391,-0.649608420502,-0.649535527643,-0.649462628813,-0.649389724013,-0.649316813244,-0.649243896507,-0.649170973802,-0.64909804513,-0.649025110492,-0.648952169888,-0.648879223319,-0.648806270786,-0.648733312289,-0.648660347829,-0.648587377406,-0.648514401022,-0.648441418677,-0.648368430372,-0.648295436107,-0.648222435882,-0.6481494297,-0.64807641756,-0.648003399463,-0.64793037541,-0.647857345401,-0.647784309437,-0.647711267519,-0.647638219647,-0.647565165822,-0.647492106045,-0.647419040316,-0.647345968637,-0.647272891007,-0.647199807427,-0.647126717899,-0.647053622422,-0.646980520998,-0.646907413627,-0.646834300309,-0.646761181046,-0.646688055839,-0.646614924687,-0.646541787591,-0.646468644552,-0.646395495572,-0.64632234065,-0.646249179787,-0.646176012983,-0.646102840241,-0.646029661559,-0.645956476939,-0.645883286382,-0.645810089888,-0.645736887458,-0.645663679092,-0.645590464792,-0.645517244557,-0.645444018389,-0.645370786288,-0.645297548255,-0.645224304291,-0.645151054395,-0.64507779857,-0.645004536816,-0.644931269132,-0.644857995521,-0.644784715982,-0.644711430516,-0.644638139125,-0.644564841807,-0.644491538566,-0.6444182294,-0.644344914311,-0.644271593299,-0.644198266365,-0.64412493351,-0.644051594734,-0.643978250039,-0.643904899424,-0.64383154289,-0.643758180438,-0.643684812069,-0.643611437784,-0.643538057582,-0.643464671465,-0.643391279434,-0.643317881489,-0.64324447763,-0.643171067859,-0.643097652176,-0.643024230582,-0.642950803077,-0.642877369662,-0.642803930339,-0.642730485106,-0.642657033966,-0.642583576919,-0.642510113965,-0.642436645105,-0.642363170341,-0.642289689671,-0.642216203098,-0.642142710622,-0.642069212244,-0.641995707963,-0.641922197782,-0.6418486817,-0.641775159719,-0.641701631838,-0.641628098059,-0.641554558382,-0.641481012809,-0.641407461338,-0.641333903973,-0.641260340712,-0.641186771557,-0.641113196508,-0.641039615566,-0.640966028732,-0.640892436007,-0.64081883739,-0.640745232883,-0.640671622487,-0.640598006201,-0.640524384028,-0.640450755966,-0.640377122018,-0.640303482184,-0.640229836464,-0.64015618486,-0.640082527371,-0.640008863998,-0.639935194743,-0.639861519606,-0.639787838587,-0.639714151688,-0.639640458908,-0.639566760249,-0.639493055711,-0.639419345295,-0.639345629002,-0.639271906831,-0.639198178785,-0.639124444864,-0.639050705068,-0.638976959397,-0.638903207854,-0.638829450437,-0.638755687149,-0.63868191799,-0.63860814296,-0.638534362059,-0.63846057529,-0.638386782652,-0.638312984146,-0.638239179773,-0.638165369533,-0.638091553428,-0.638017731457,-0.637943903622,-0.637870069923,-0.63779623036,-0.637722384936,-0.637648533649,-0.637574676501,-0.637500813493,-0.637426944625,-0.637353069898,-0.637279189313,-0.63720530287,-0.637131410569,-0.637057512413,-0.636983608401,-0.636909698533,-0.636835782812,-0.636761861236,-0.636687933808,-0.636614000527,-0.636540061395,-0.636466116412,-0.636392165579,-0.636318208896,-0.636244246364,-0.636170277984,-0.636096303756,-0.636022323682,-0.635948337761,-0.635874345995,-0.635800348384,-0.635726344929,-0.63565233563,-0.635578320489,-0.635504299505,-0.63543027268,-0.635356240015,-0.635282201509,-0.635208157164,-0.63513410698,-0.635060050958,-0.634985989099,-0.634911921403,-0.634837847872,-0.634763768504,-0.634689683303,-0.634615592267,-0.634541495398,-0.634467392697,-0.634393284164,-0.634319169799,-0.634245049604,-0.634170923579,-0.634096791725,-0.634022654043,-0.633948510532,-0.633874361195,-0.633800206031,-0.633726045041,-0.633651878227,-0.633577705588,-0.633503527125,-0.633429342839,-0.633355152731,-0.633280956801,-0.63320675505,-0.633132547479,-0.633058334088,-0.632984114878,-0.632909889851,-0.632835659005,-0.632761422343,-0.632687179864,-0.63261293157,-0.632538677461,-0.632464417538,-0.632390151801,-0.632315880252,-0.63224160289,-0.632167319717,-0.632093030734,-0.63201873594,-0.631944435337,-0.631870128925,-0.631795816705,-0.631721498678,-0.631647174844,-0.631572845204,-0.631498509759,-0.631424168509,-0.631349821456,-0.631275468599,-0.63120110994,-0.631126745478,-0.631052375216,-0.630977999153,-0.63090361729,-0.630829229628,-0.630754836168,-0.63068043691,-0.630606031855,-0.630531621003,-0.630457204356,-0.630382781914,-0.630308353677,-0.630233919647,-0.630159479824,-0.630085034208,-0.630010582801,-0.629936125603,-0.629861662614,-0.629787193837,-0.62971271927,-0.629638238915,-0.629563752772,-0.629489260843,-0.629414763128,-0.629340259627,-0.629265750341,-0.629191235272,-0.629116714419,-0.629042187783,-0.628967655365,-0.628893117166,-0.628818573186,-0.628744023427,-0.628669467888,-0.62859490657,-0.628520339475,-0.628445766602,-0.628371187953,-0.628296603527,-0.628222013327,-0.628147417352,-0.628072815604,-0.627998208082,-0.627923594788,-0.627848975722,-0.627774350885,-0.627699720278,-0.627625083901,-0.627550441755,-0.627475793841,-0.627401140159,-0.62732648071,-0.627251815495,-0.627177144515,-0.627102467769,-0.627027785259,-0.626953096986,-0.62687840295,-0.626803703152,-0.626728997592,-0.626654286272,-0.626579569192,-0.626504846352,-0.626430117753,-0.626355383397,-0.626280643283,-0.626205897412,-0.626131145786,-0.626056388404,-0.625981625268,-0.625906856378,-0.625832081735,-0.625757301339,-0.625682515191,-0.625607723292,-0.625532925643,-0.625458122244,-0.625383313096,-0.625308498199,-0.625233677555,-0.625158851164,-0.625084019026,-0.625009181143,-0.624934337515,-0.624859488142,-0.624784633026,-0.624709772168,-0.624634905566,-0.624560033224,-0.62448515514,-0.624410271317,-0.624335381754,-0.624260486452,-0.624185585412,-0.624110678635,-0.624035766121,-0.623960847871,-0.623885923886,-0.623810994166,-0.623736058713,-0.623661117526,-0.623586170606,-0.623511217955,-0.623436259572,-0.623361295459,-0.623286325616,-0.623211350044,-0.623136368744,-0.623061381715,-0.62298638896,-0.622911390479,-0.622836386271,-0.622761376339,-0.622686360683,-0.622611339302,-0.622536312199,-0.622461279374,-0.622386240827,-0.62231119656,-0.622236146572,-0.622161090865,-0.622086029439,-0.622010962295,-0.621935889433,-0.621860810855,-0.621785726561,-0.621710636551,-0.621635540827,-0.621560439389,-0.621485332238,-0.621410219374,-0.621335100798,-0.621259976511,-0.621184846514,-0.621109710806,-0.62103456939,-0.620959422265,-0.620884269433,-0.620809110893,-0.620733946647,-0.620658776696,-0.620583601039,-0.620508419679,-0.620433232614,-0.620358039847,-0.620282841378,-0.620207637207,-0.620132427335,-0.620057211763,-0.619981990492,-0.619906763522,-0.619831530854,-0.619756292488,-0.619681048426,-0.619605798668,-0.619530543215,-0.619455282067,-0.619380015225,-0.61930474269,-0.619229464462,-0.619154180543,-0.619078890932,-0.619003595631,-0.618928294641,-0.618852987961,-0.618777675593,-0.618702357537,-0.618627033794,-0.618551704365,-0.61847636925,-0.618401028451,-0.618325681967,-0.6182503298,-0.61817497195,-0.618099608417,-0.618024239204,-0.617948864309,-0.617873483735,-0.617798097481,-0.617722705548,-0.617647307938,-0.61757190465,-0.617496495686,-0.617421081045,-0.61734566073,-0.61727023474,-0.617194803076,-0.617119365739,-0.61704392273,-0.616968474049,-0.616893019697,-0.616817559674,-0.616742093982,-0.616666622621,-0.616591145592,-0.616515662895,-0.616440174531,-0.616364680501,-0.616289180805,-0.616213675445,-0.616138164421,-0.616062647733,-0.615987125382,-0.61591159737,-0.615836063696,-0.615760524361,-0.615684979367,-0.615609428713,-0.615533872401,-0.615458310431,-0.615382742804,-0.61530716952,-0.615231590581,-0.615156005986,-0.615080415737,-0.615004819834,-0.614929218279,-0.614853611071,-0.614777998211,-0.614702379701,-0.61462675554,-0.61455112573,-0.614475490271,-0.614399849164,-0.61432420241,-0.614248550008,-0.614172891961,-0.614097228268,-0.614021558931,-0.61394588395,-0.613870203325,-0.613794517058,-0.613718825149,-0.613643127599,-0.613567424408,-0.613491715578,-0.613416001109,-0.613340281001,-0.613264555255,-0.613188823873,-0.613113086854,-0.613037344199,-0.61296159591,-0.612885841986,-0.612810082429,-0.61273431724,-0.612658546417,-0.612582769964,-0.61250698788,-0.612431200166,-0.612355406822,-0.61227960785,-0.61220380325,-0.612127993022,-0.612052177169,-0.611976355689,-0.611900528584,-0.611824695854,-0.611748857501,-0.611673013525,-0.611597163926,-0.611521308706,-0.611445447865,-0.611369581403,-0.611293709322,-0.611217831622,-0.611141948304,-0.611066059369,-0.610990164816,-0.610914264648,-0.610838358864,-0.610762447465,-0.610686530453,-0.610610607827,-0.610534679588,-0.610458745738,-0.610382806276,-0.610306861204,-0.610230910522,-0.610154954231,-0.610078992332,-0.610003024825,-0.60992705171,-0.60985107299,-0.609775088664,-0.609699098733,-0.609623103198,-0.609547102059,-0.609471095317,-0.609395082973,-0.609319065028,-0.609243041482,-0.609167012336,-0.609090977591,-0.609014937247,-0.608938891305,-0.608862839766,-0.608786782631,-0.608710719899,-0.608634651573,-0.608558577652,-0.608482498137,-0.608406413029,-0.608330322329,-0.608254226037,-0.608178124155,-0.608102016682,-0.608025903619,-0.607949784968,-0.607873660728,-0.607797530901,-0.607721395488,-0.607645254488,-0.607569107903,-0.607492955733,-0.607416797979,-0.607340634643,-0.607264465723,-0.607188291222,-0.607112111139,-0.607035925477,-0.606959734234,-0.606883537412,-0.606807335012,-0.606731127035,-0.60665491348,-0.606578694349,-0.606502469643,-0.606426239361,-0.606350003506,-0.606273762077,-0.606197515076,-0.606121262502,-0.606045004357,-0.605968740642,-0.605892471356,-0.605816196502,-0.605739916078,-0.605663630087,-0.605587338529,-0.605511041404,-0.605434738714,-0.605358430459,-0.605282116639,-0.605205797255,-0.605129472309,-0.605053141801,-0.604976805731,-0.6049004641,-0.604824116909,-0.604747764159,-0.60467140585,-0.604595041983,-0.604518672558,-0.604442297577,-0.60436591704,-0.604289530948,-0.604213139302,-0.604136742101,-0.604060339348,-0.603983931042,-0.603907517184,-0.603831097776,-0.603754672817,-0.603678242308,-0.603601806251,-0.603525364646,-0.603448917493,-0.603372464793,-0.603296006547,-0.603219542756,-0.60314307342,-0.60306659854,-0.602990118117,-0.602913632152,-0.602837140644,-0.602760643596,-0.602684141007,-0.602607632878,-0.60253111921,-0.602454600004,-0.60237807526,-0.602301544979,-0.602225009162,-0.60214846781,-0.602071920922,-0.601995368501,-0.601918810546,-0.601842247059,-0.601765678039,-0.601689103488,-0.601612523407,-0.601535937795,-0.601459346655,-0.601382749986,-0.601306147789,-0.601229540065,-0.601152926815,-0.601076308039,-0.600999683738,-0.600923053913,-0.600846418564,-0.600769777693,-0.600693131299,-0.600616479384,-0.600539821948,-0.600463158992,-0.600386490517,-0.600309816523,-0.600233137011,-0.600156451982,-0.600079761437,-0.600003065375,-0.599926363799,-0.599849656708,-0.599772944104,-0.599696225986,-0.599619502356,-0.599542773215,-0.599466038563,-0.599389298401,-0.599312552729,-0.599235801548,-0.59915904486,-0.599082282664,-0.599005514961,-0.598928741752,-0.598851963039,-0.59877517882,-0.598698389098,-0.598621593873,-0.598544793146,-0.598467986916,-0.598391175186,-0.598314357955,-0.598237535225,-0.598160706996,-0.598083873269,-0.598007034045,-0.597930189323,-0.597853339106,-0.597776483393,-0.597699622186,-0.597622755484,-0.59754588329,-0.597469005603,-0.597392122424,-0.597315233754,-0.597238339593,-0.597161439943,-0.597084534804,-0.597007624177,-0.596930708062,-0.59685378646,-0.596776859373,-0.596699926799,-0.596622988741,-0.596546045199,-0.596469096174,-0.596392141666,-0.596315181676,-0.596238216205,-0.596161245253,-0.596084268822,-0.596007286911,-0.595930299522,-0.595853306656,-0.595776308312,-0.595699304492,-0.595622295197,-0.595545280427,-0.595468260183,-0.595391234465,-0.595314203275,-0.595237166612,-0.595160124479,-0.595083076875,-0.5950060238,-0.594928965257,-0.594851901245,-0.594774831766,-0.594697756819,-0.594620676407,-0.594543590528,-0.594466499185,-0.594389402377,-0.594312300106,-0.594235192372,-0.594158079176,-0.594080960519,-0.594003836401,-0.593926706823,-0.593849571785,-0.59377243129,-0.593695285336,-0.593618133925,-0.593540977058,-0.593463814735,-0.593386646958,-0.593309473725,-0.59323229504,-0.593155110901,-0.593077921311,-0.593000726268,-0.592923525776,-0.592846319833,-0.59276910844,-0.5926918916,-0.592614669311,-0.592537441575,-0.592460208393,-0.592382969764,-0.592305725691,-0.592228476174,-0.592151221212,-0.592073960808,-0.591996694962,-0.591919423674,-0.591842146946,-0.591764864777,-0.591687577169,-0.591610284122,-0.591532985637,-0.591455681715,-0.591378372357,-0.591301057562,-0.591223737333,-0.591146411669,-0.591069080572,-0.590991744041,-0.590914402078,-0.590837054684,-0.590759701859,-0.590682343604,-0.590604979919,-0.590527610805,-0.590450236264,-0.590372856295,-0.5902954709,-0.590218080079,-0.590140683832,-0.590063282161,-0.589985875067,-0.589908462549,-0.589831044609,-0.589753621248,-0.589676192466,-0.589598758263,-0.589521318641,-0.5894438736,-0.589366423141,-0.589288967265,-0.589211505973,-0.589134039264,-0.58905656714,-0.588979089602,-0.58890160665,-0.588824118285,-0.588746624507,-0.588669125318,-0.588591620718,-0.588514110708,-0.588436595288,-0.588359074459,-0.588281548223,-0.588204016579,-0.588126479528,-0.588048937072,-0.58797138921,-0.587893835943,-0.587816277273,-0.5877387132,-0.587661143725,-0.587583568848,-0.587505988569,-0.587428402891,-0.587350811813,-0.587273215337,-0.587195613462,-0.58711800619,-0.587040393521,-0.586962775456,-0.586885151996,-0.586807523142,-0.586729888893,-0.586652249252,-0.586574604218,-0.586496953793,-0.586419297976,-0.58634163677,-0.586263970174,-0.586186298189,-0.586108620815,-0.586030938055,-0.585953249908,-0.585875556375,-0.585797857456,-0.585720153154,-0.585642443467,-0.585564728397,-0.585487007945,-0.585409282111,-0.585331550896,-0.585253814301,-0.585176072327,-0.585098324973,-0.585020572242,-0.584942814133,-0.584865050648,-0.584787281786,-0.584709507549,-0.584631727938,-0.584553942953,-0.584476152595,-0.584398356864,-0.584320555762,-0.584242749289,-0.584164937446,-0.584087120233,-0.584009297651,-0.583931469701,-0.583853636384,-0.5837757977,-0.583697953651,-0.583620104236,-0.583542249456,-0.583464389313,-0.583386523806,-0.583308652938,-0.583230776707,-0.583152895116,-0.583075008164,-0.582997115853,-0.582919218184,-0.582841315156,-0.582763406771,-0.582685493029,-0.582607573931,-0.582529649478,-0.58245171967,-0.582373784509,-0.582295843995,-0.582217898128,-0.58213994691,-0.582061990341,-0.581984028421,-0.581906061153,-0.581828088535,-0.581750110569,-0.581672127256,-0.581594138597,-0.581516144591,-0.581438145241,-0.581360140546,-0.581282130507,-0.581204115125,-0.581126094401,-0.581048068335,-0.580970036929,-0.580892000182,-0.580813958096,-0.580735910671,-0.580657857908,-0.580579799808,-0.580501736371,-0.580423667598,-0.580345593491,-0.580267514049,-0.580189429273,-0.580111339164,-0.580033243723,-0.57995514295,-0.579877036847,-0.579798925413,-0.579720808651,-0.579642686559,-0.579564559139,-0.579486426393,-0.579408288319,-0.57933014492,-0.579251996196,-0.579173842148,-0.579095682775,-0.57901751808,-0.578939348063,-0.578861172724,-0.578782992065,-0.578704806085,-0.578626614786,-0.578548418169,-0.578470216233,-0.578392008981,-0.578313796412,-0.578235578527,-0.578157355327,-0.578079126813,-0.578000892985,-0.577922653845,-0.577844409392,-0.577766159628,-0.577687904553,-0.577609644168,-0.577531378474,-0.577453107472,-0.577374831161,-0.577296549544,-0.57721826262,-0.57713997039,-0.577061672856,-0.576983370017,-0.576905061875,-0.57682674843,-0.576748429682,-0.576670105634,-0.576591776285,-0.576513441636,-0.576435101688,-0.576356756441,-0.576278405897,-0.576200050055,-0.576121688917,-0.576043322484,-0.575964950756,-0.575886573734,-0.575808191418,-0.575729803809,-0.575651410909,-0.575573012717,-0.575494609235,-0.575416200463,-0.575337786402,-0.575259367052,-0.575180942415,-0.575102512491,-0.57502407728,-0.574945636784,-0.574867191004,-0.574788739939,-0.574710283591,-0.57463182196,-0.574553355048,-0.574474882854,-0.57439640538,-0.574317922626,-0.574239434593,-0.574160941282,-0.574082442693,-0.574003938827,-0.573925429686,-0.573846915269,-0.573768395577,-0.573689870611,-0.573611340372,-0.57353280486,-0.573454264077,-0.573375718023,-0.573297166698,-0.573218610104,-0.57314004824,-0.573061481109,-0.57298290871,-0.572904331045,-0.572825748113,-0.572747159916,-0.572668566454,-0.572589967729,-0.572511363741,-0.57243275449,-0.572354139977,-0.572275520204,-0.57219689517,-0.572118264877,-0.572039629325,-0.571960988515,-0.571882342447,-0.571803691123,-0.571725034543,-0.571646372708,-0.571567705618,-0.571489033275,-0.571410355679,-0.57133167283,-0.57125298473,-0.571174291379,-0.571095592778,-0.571016888928,-0.570938179828,-0.570859465481,-0.570780745887,-0.570702021046,-0.57062329096,-0.570544555628,-0.570465815052,-0.570387069232,-0.57030831817,-0.570229561865,-0.570150800319,-0.570072033533,-0.569993261506,-0.56991448424,-0.569835701736,-0.569756913993,-0.569678121014,-0.569599322798,-0.569520519347,-0.569441710661,-0.56936289674,-0.569284077586,-0.5692052532,-0.569126423581,-0.569047588731,-0.568968748651,-0.56888990334,-0.568811052801,-0.568732197033,-0.568653336037,-0.568574469815,-0.568495598366,-0.568416721692,-0.568337839793,-0.56825895267,-0.568180060324,-0.568101162755,-0.568022259964,-0.567943351952,-0.56786443872,-0.567785520268,-0.567706596597,-0.567627667708,-0.567548733601,-0.567469794278,-0.567390849738,-0.567311899983,-0.567232945014,-0.567153984831,-0.567075019434,-0.566996048825,-0.566917073004,-0.566838091973,-0.566759105731,-0.56668011428,-0.566601117619,-0.566522115751,-0.566443108675,-0.566364096393,-0.566285078905,-0.566206056212,-0.566127028314,-0.566047995212,-0.565968956908,-0.565889913401,-0.565810864693,-0.565731810784,-0.565652751674,-0.565573687366,-0.565494617859,-0.565415543154,-0.565336463251,-0.565257378153,-0.565178287858,-0.565099192369,-0.565020091685,-0.564940985808,-0.564861874738,-0.564782758476,-0.564703637022,-0.564624510378,-0.564545378544,-0.564466241521,-0.564387099309,-0.564307951909,-0.564228799323,-0.56414964155,-0.564070478592,-0.563991310449,-0.563912137122,-0.563832958611,-0.563753774918,-0.563674586043,-0.563595391987,-0.56351619275,-0.563436988334,-0.563357778739,-0.563278563965,-0.563199344014,-0.563120118886,-0.563040888582,-0.562961653102,-0.562882412448,-0.56280316662,-0.562723915619,-0.562644659446,-0.562565398101,-0.562486131584,-0.562406859898,-0.562327583042,-0.562248301017,-0.562169013824,-0.562089721464,-0.562010423937,-0.561931121245,-0.561851813387,-0.561772500365,-0.561693182179,-0.56161385883,-0.561534530319,-0.561455196646,-0.561375857813,-0.561296513819,-0.561217164666,-0.561137810355,-0.561058450886,-0.560979086259,-0.560899716477,-0.560820341538,-0.560740961445,-0.560661576197,-0.560582185796,-0.560502790242,-0.560423389537,-0.56034398368,-0.560264572672,-0.560185156514,-0.560105735208,-0.560026308753,-0.55994687715,-0.559867440401,-0.559787998505,-0.559708551464,-0.559629099278,-0.559549641948,-0.559470179475,-0.559390711859,-0.559311239102,-0.559231761203,-0.559152278164,-0.559072789986,-0.558993296668,-0.558913798213,-0.55883429462,-0.55875478589,-0.558675272025,-0.558595753024,-0.558516228889,-0.55843669962,-0.558357165218,-0.558277625683,-0.558198081017,-0.558118531221,-0.558038976294,-0.557959416237,-0.557879851053,-0.55780028074,-0.5577207053,-0.557641124733,-0.557561539041,-0.557481948224,-0.557402352283,-0.557322751218,-0.55724314503,-0.55716353372,-0.557083917289,-0.557004295737,-0.556924669066,-0.556845037275,-0.556765400366,-0.556685758339,-0.556606111196,-0.556526458936,-0.55644680156,-0.55636713907,-0.556287471466,-0.556207798749,-0.556128120919,-0.556048437977,-0.555968749924,-0.555889056761,-0.555809358488,-0.555729655107,-0.555649946617,-0.55557023302,-0.555490514316,-0.555410790506,-0.555331061591,-0.555251327571,-0.555171588448,-0.555091844222,-0.555012094893,-0.554932340463,-0.554852580932,-0.554772816301,-0.55469304657,-0.554613271741,-0.554533491814,-0.55445370679,-0.55437391667,-0.554294121454,-0.554214321142,-0.554134515737,-0.554054705238,-0.553974889647,-0.553895068963,-0.553815243188,-0.553735412323,-0.553655576367,-0.553575735323,-0.55349588919,-0.55341603797,-0.553336181663,-0.55325632027,-0.553176453791,-0.553096582227,-0.55301670558,-0.552936823849,-0.552856937036,-0.552777045142,-0.552697148166,-0.55261724611,-0.552537338974,-0.55245742676,-0.552377509467,-0.552297587097,-0.552217659651,-0.552137727129,-0.552057789531,-0.551977846859,-0.551897899114,-0.551817946295,-0.551737988405,-0.551658025443,-0.55157805741,-0.551498084307,-0.551418106135,-0.551338122894,-0.551258134586,-0.551178141211,-0.551098142769,-0.551018139262,-0.55093813069,-0.550858117053,-0.550778098354,-0.550698074592,-0.550618045768,-0.550538011882,-0.550457972937,-0.550377928931,-0.550297879867,-0.550217825744,-0.550137766564,-0.550057702327,-0.549977633035,-0.549897558687,-0.549817479284,-0.549737394827,-0.549657305318,-0.549577210756,-0.549497111143,-0.549417006478,-0.549336896764,-0.549256782,-0.549176662188,-0.549096537327,-0.54901640742,-0.548936272466,-0.548856132466,-0.548775987421,-0.548695837333,-0.5486156822,-0.548535522025,-0.548455356808,-0.548375186549,-0.54829501125,-0.548214830912,-0.548134645534,-0.548054455118,-0.547974259664,-0.547894059173,-0.547813853646,-0.547733643084,-0.547653427487,-0.547573206857,-0.547492981193,-0.547412750496,-0.547332514768,-0.547252274009,-0.54717202822,-0.547091777401,-0.547011521554,-0.546931260678,-0.546850994775,-0.546770723846,-0.546690447891,-0.546610166911,-0.546529880906,-0.546449589878,-0.546369293827,-0.546288992754,-0.54620868666,-0.546128375545,-0.54604805941,-0.545967738256,-0.545887412083,-0.545807080893,-0.545726744686,-0.545646403463,-0.545566057224,-0.54548570597,-0.545405349703,-0.545324988422,-0.545244622129,-0.545164250824,-0.545083874508,-0.545003493181,-0.544923106845,-0.544842715501,-0.544762319148,-0.544681917788,-0.544601511421,-0.544521100048,-0.544440683671,-0.544360262288,-0.544279835903,-0.544199404514,-0.544118968123,-0.544038526731,-0.543958080338,-0.543877628945,-0.543797172553,-0.543716711162,-0.543636244774,-0.543555773389,-0.543475297007,-0.54339481563,-0.543314329258,-0.543233837893,-0.543153341534,-0.543072840182,-0.542992333838,-0.542911822504,-0.542831306179,-0.542750784865,-0.542670258561,-0.54258972727,-0.542509190991,-0.542428649726,-0.542348103474,-0.542267552238,-0.542186996017,-0.542106434812,-0.542025868625,-0.541945297455,-0.541864721304,-0.541784140172,-0.541703554061,-0.54162296297,-0.5415423669,-0.541461765853,-0.541381159829,-0.541300548828,-0.541219932853,-0.541139311902,-0.541058685977,-0.540978055079,-0.540897419208,-0.540816778366,-0.540736132552,-0.540655481768,-0.540574826015,-0.540494165293,-0.540413499602,-0.540332828945,-0.54025215332,-0.54017147273,-0.540090787174,-0.540010096655,-0.539929401171,-0.539848700725,-0.539767995316,-0.539687284946,-0.539606569616,-0.539525849325,-0.539445124075,-0.539364393867,-0.539283658701,-0.539202918578,-0.539122173499,-0.539041423464,-0.538960668474,-0.538879908531,-0.538799143634,-0.538718373785,-0.538637598984,-0.538556819232,-0.538476034529,-0.538395244877,-0.538314450277,-0.538233650728,-0.538152846232,-0.538072036789,-0.5379912224,-0.537910403067,-0.537829578789,-0.537748749567,-0.537667915402,-0.537587076296,-0.537506232248,-0.537425383259,-0.53734452933,-0.537263670463,-0.537182806656,-0.537101937913,-0.537021064232,-0.536940185615,-0.536859302062,-0.536778413575,-0.536697520154,-0.5366166218,-0.536535718513,-0.536454810295,-0.536373897146,-0.536292979066,-0.536212056057,-0.536131128119,-0.536050195253,-0.53596925746,-0.53588831474,-0.535807367095,-0.535726414524,-0.53564545703,-0.535564494611,-0.53548352727,-0.535402555007,-0.535321577823,-0.535240595718,-0.535159608693,-0.535078616749,-0.534997619887,-0.534916618107,-0.534835611411,-0.534754599798,-0.53467358327,-0.534592561827,-0.534511535471,-0.534430504201,-0.534349468019,-0.534268426926,-0.534187380921,-0.534106330006,-0.534025274182,-0.53394421345,-0.533863147809,-0.533782077261,-0.533701001807,-0.533619921447,-0.533538836183,-0.533457746014,-0.533376650941,-0.533295550966,-0.533214446089,-0.533133336311,-0.533052221633,-0.532971102054,-0.532889977577,-0.532808848202,-0.532727713929,-0.532646574759,-0.532565430693,-0.532484281733,-0.532403127877,-0.532321969128,-0.532240805486,-0.532159636952,-0.532078463526,-0.531997285209,-0.531916102003,-0.531834913907,-0.531753720923,-0.531672523051,-0.531591320292,-0.531510112646,-0.531428900115,-0.5313476827,-0.5312664604,-0.531185233217,-0.531104001151,-0.531022764204,-0.530941522376,-0.530860275667,-0.530779024079,-0.530697767612,-0.530616506266,-0.530535240044,-0.530453968945,-0.53037269297,-0.53029141212,-0.530210126396,-0.530128835798,-0.530047540328,-0.529966239985,-0.529884934771,-0.529803624686,-0.529722309732,-0.529640989908,-0.529559665216,-0.529478335657,-0.52939700123,-0.529315661938,-0.52923431778,-0.529152968758,-0.529071614872,-0.528990256122,-0.52890889251,-0.528827524037,-0.528746150703,-0.528664772508,-0.528583389455,-0.528502001542,-0.528420608772,-0.528339211145,-0.528257808661,-0.528176401321,-0.528094989127,-0.528013572079,-0.527932150177,-0.527850723423,-0.527769291816,-0.527687855359,-0.527606414051,-0.527524967893,-0.527443516887,-0.527362061032,-0.52728060033,-0.527199134782,-0.527117664387,-0.527036189148,-0.526954709064,-0.526873224136,-0.526791734365,-0.526710239753,-0.526628740298,-0.526547236004,-0.526465726869,-0.526384212895,-0.526302694083,-0.526221170433,-0.526139641946,-0.526058108623,-0.525976570464,-0.525895027471,-0.525813479644,-0.525731926984,-0.525650369491,-0.525568807167,-0.525487240012,-0.525405668026,-0.525324091212,-0.525242509568,-0.525160923097,-0.525079331798,-0.524997735673,-0.524916134723,-0.524834528947,-0.524752918347,-0.524671302924,-0.524589682678,-0.524508057611,-0.524426427722,-0.524344793013,-0.524263153484,-0.524181509136,-0.52409985997,-0.524018205986,-0.523936547186,-0.52385488357,-0.523773215139,-0.523691541893,-0.523609863834,-0.523528180962,-0.523446493278,-0.523364800782,-0.523283103476,-0.523201401359,-0.523119694434,-0.5230379827,-0.522956266159,-0.52287454481,-0.522792818656,-0.522711087696,-0.522629351931,-0.522547611363,-0.522465865991,-0.522384115817,-0.522302360841,-0.522220601065,-0.522138836488,-0.522057067112,-0.521975292937,-0.521893513965,-0.521811730195,-0.521729941629,-0.521648148267,-0.52156635011,-0.521484547159,-0.521402739415,-0.521320926879,-0.52123910955,-0.52115728743,-0.52107546052,-0.52099362882,-0.520911792332,-0.520829951055,-0.520748104991,-0.52066625414,-0.520584398504,-0.520502538082,-0.520420672876,-0.520338802887,-0.520256928114,-0.52017504856,-0.520093164224,-0.520011275108,-0.519929381211,-0.519847482536,-0.519765579082,-0.519683670851,-0.519601757843,-0.519519840059,-0.5194379175,-0.519355990166,-0.519274058058,-0.519192121177,-0.519110179524,-0.519028233099,-0.518946281904,-0.518864325938,-0.518782365203,-0.5187003997,-0.518618429429,-0.518536454391,-0.518454474586,-0.518372490016,-0.518290500681,-0.518208506583,-0.518126507721,-0.518044504096,-0.51796249571,-0.517880482562,-0.517798464655,-0.517716441988,-0.517634414562,-0.517552382378,-0.517470345437,-0.51738830374,-0.517306257287,-0.517224206079,-0.517142150116,-0.5170600894,-0.516978023932,-0.516895953711,-0.51681387874,-0.516731799018,-0.516649714546,-0.516567625325,-0.516485531356,-0.51640343264,-0.516321329177,-0.516239220968,-0.516157108014,-0.516074990315,-0.515992867873,-0.515910740688,-0.515828608761,-0.515746472092,-0.515664330683,-0.515582184534,-0.515500033646,-0.515417878019,-0.515335717655,-0.515253552554,-0.515171382717,-0.515089208145,-0.515007028838,-0.514924844797,-0.514842656023,-0.514760462517,-0.514678264279,-0.51459606131,-0.514513853611,-0.514431641183,-0.514349424027,-0.514267202142,-0.514184975531,-0.514102744193,-0.51402050813,-0.513938267342,-0.51385602183,-0.513773771595,-0.513691516637,-0.513609256958,-0.513526992557,-0.513444723437,-0.513362449596,-0.513280171038,-0.513197887761,-0.513115599767,-0.513033307056,-0.51295100963,-0.512868707489,-0.512786400634,-0.512704089065,-0.512621772783,-0.51253945179,-0.512457126086,-0.512374795671,-0.512292460546,-0.512210120713,-0.512127776172,-0.512045426923,-0.511963072967,-0.511880714306,-0.511798350939,-0.511715982869,-0.511633610094,-0.511551232617,-0.511468850438,-0.511386463557,-0.511304071976,-0.511221675695,-0.511139274715,-0.511056869037,-0.510974458661,-0.510892043589,-0.51080962382,-0.510727199357,-0.510644770198,-0.510562336346,-0.510479897801,-0.510397454564,-0.510315006635,-0.510232554016,-0.510150096707,-0.510067634708,-0.509985168021,-0.509902696647,-0.509820220585,-0.509737739837,-0.509655254404,-0.509572764287,-0.509490269485,-0.50940777,-0.509325265833,-0.509242756984,-0.509160243455,-0.509077725245,-0.508995202356,-0.508912674789,-0.508830142543,-0.508747605621,-0.508665064022,-0.508582517748,-0.508499966799,-0.508417411175,-0.508334850879,-0.50825228591,-0.50816971627,-0.508087141958,-0.508004562976,-0.507921979325,-0.507839391005,-0.507756798017,-0.507674200362,-0.50759159804,-0.507508991053,-0.507426379401,-0.507343763084,-0.507261142105,-0.507178516462,-0.507095886158,-0.507013251193,-0.506930611567,-0.506847967282,-0.506765318338,-0.506682664736,-0.506600006476,-0.50651734356,-0.506434675988,-0.506352003761,-0.50626932688,-0.506186645345,-0.506103959158,-0.506021268318,-0.505938572827,-0.505855872686,-0.505773167895,-0.505690458455,-0.505607744367,-0.505525025632,-0.50544230225,-0.505359574222,-0.505276841548,-0.505194104231,-0.505111362269,-0.505028615665,-0.504945864419,-0.504863108531,-0.504780348003,-0.504697582835,-0.504614813028,-0.504532038582,-0.504449259499,-0.50436647578,-0.504283687424,-0.504200894433,-0.504118096807,-0.504035294548,-0.503952487655,-0.503869676131,-0.503786859975,-0.503704039188,-0.503621213772,-0.503538383726,-0.503455549051,-0.50337270975,-0.503289865821,-0.503207017266,-0.503124164086,-0.503041306281,-0.502958443852,-0.5028755768,-0.502792705126,-0.50270982883,-0.502626947914,-0.502544062377,-0.502461172221,-0.502378277447,-0.502295378055,-0.502212474046,-0.50212956542,-0.50204665218,-0.501963734324,-0.501880811855,-0.501797884772,-0.501714953077,-0.50163201677,-0.501549075853,-0.501466130325,-0.501383180188,-0.501300225442,-0.501217266089,-0.501134302128,-0.501051333561,-0.500968360389,-0.500885382611,-0.50080240023,-0.500719413245,-0.500636421658,-0.500553425469,-0.50047042468,-0.50038741929,-0.5003044093,-0.500221394712,-0.500138375526,-0.500055351742,-0.499972323363,-0.499889290387,-0.499806252817,-0.499723210653,-0.499640163895,-0.499557112545,-0.499474056603,-0.49939099607,-0.499307930946,-0.499224861234,-0.499141786932,-0.499058708042,-0.498975624565,-0.498892536502,-0.498809443853,-0.498726346619,-0.4986432448,-0.498560138399,-0.498477027414,-0.498393911848,-0.498310791701,-0.498227666973,-0.498144537665,-0.498061403779,-0.497978265315,-0.497895122273,-0.497811974655,-0.497728822461,-0.497645665692,-0.497562504349,-0.497479338433,-0.497396167943,-0.497312992882,-0.497229813249,-0.497146629046,-0.497063440274,-0.496980246932,-0.496897049023,-0.496813846546,-0.496730639502,-0.496647427893,-0.496564211718,-0.496480990979,-0.496397765677,-0.496314535811,-0.496231301384,-0.496148062396,-0.496064818847,-0.495981570738,-0.495898318071,-0.495815060845,-0.495731799061,-0.495648532722,-0.495565261826,-0.495481986375,-0.49539870637,-0.495315421811,-0.495232132699,-0.495148839035,-0.49506554082,-0.494982238054,-0.494898930739,-0.494815618875,-0.494732302462,-0.494648981502,-0.494565655995,-0.494482325942,-0.494398991344,-0.494315652202,-0.494232308516,-0.494148960287,-0.494065607516,-0.493982250204,-0.493898888351,-0.493815521958,-0.493732151026,-0.493648775556,-0.493565395549,-0.493482011004,-0.493398621924,-0.493315228309,-0.493231830159,-0.493148427475,-0.493065020259,-0.49298160851,-0.49289819223,-0.492814771419,-0.492731346079,-0.492647916209,-0.492564481811,-0.492481042886,-0.492397599433,-0.492314151455,-0.492230698951,-0.492147241923,-0.492063780372,-0.491980314297,-0.4918968437,-0.491813368582,-0.491729888943,-0.491646404784,-0.491562916107,-0.49147942291,-0.491395925197,-0.491312422966,-0.491228916219,-0.491145404957,-0.491061889181,-0.490978368891,-0.490894844088,-0.490811314773,-0.490727780946,-0.490644242608,-0.490560699761,-0.490477152405,-0.49039360054,-0.490310044167,-0.490226483288,-0.490142917903,-0.490059348012,-0.489975773617,-0.489892194719,-0.489808611317,-0.489725023413,-0.489641431007,-0.489557834101,-0.489474232695,-0.48939062679,-0.489307016386,-0.489223401485,-0.489139782087,-0.489056158193,-0.488972529804,-0.48888889692,-0.488805259542,-0.488721617671,-0.488637971309,-0.488554320454,-0.488470665109,-0.488387005274,-0.48830334095,-0.488219672138,-0.488135998838,-0.488052321051,-0.487968638778,-0.487884952019,-0.487801260776,-0.48771756505,-0.48763386484,-0.487550160148,-0.487466450975,-0.487382737321,-0.487299019187,-0.487215296574,-0.487131569483,-0.487047837914,-0.486964101868,-0.486880361346,-0.486796616349,-0.486712866877,-0.486629112932,-0.486545354513,-0.486461591622,-0.48637782426,-0.486294052427,-0.486210276124,-0.486126495353,-0.486042710112,-0.485958920404,-0.48587512623,-0.485791327589,-0.485707524483,-0.485623716912,-0.485539904878,-0.485456088381,-0.485372267421,-0.485288442,-0.485204612119,-0.485120777777,-0.485036938976,-0.484953095717,-0.484869248001,-0.484785395827,-0.484701539198,-0.484617678113,-0.484533812574,-0.484449942581,-0.484366068135,-0.484282189237,-0.484198305888,-0.484114418087,-0.484030525837,-0.483946629138,-0.483862727991,-0.483778822396,-0.483694912354,-0.483610997866,-0.483527078933,-0.483443155555,-0.483359227734,-0.48327529547,-0.483191358763,-0.483107417616,-0.483023472027,-0.482939521999,-0.482855567532,-0.482771608626,-0.482687645283,-0.482603677503,-0.482519705287,-0.482435728636,-0.482351747551,-0.482267762031,-0.482183772079,-0.482099777695,-0.482015778879,-0.481931775633,-0.481847767957,-0.481763755852,-0.481679739319,-0.481595718358,-0.48151169297,-0.481427663157,-0.481343628918,-0.481259590255,-0.481175547168,-0.481091499659,-0.481007447727,-0.480923391374,-0.4808393306,-0.480755265407,-0.480671195795,-0.480587121764,-0.480503043316,-0.480418960451,-0.480334873171,-0.480250781475,-0.480166685365,-0.480082584841,-0.479998479905,-0.479914370556,-0.479830256797,-0.479746138626,-0.479662016046,-0.479577889057,-0.47949375766,-0.479409621856,-0.479325481644,-0.479241337027,-0.479157188005,-0.479073034579,-0.478988876749,-0.478904714516,-0.478820547881,-0.478736376845,-0.478652201409,-0.478568021573,-0.478483837338,-0.478399648705,-0.478315455675,-0.478231258248,-0.478147056425,-0.478062850207,-0.477978639595,-0.477894424589,-0.477810205191,-0.477725981401,-0.47764175322,-0.477557520648,-0.477473283687,-0.477389042337,-0.477304796598,-0.477220546473,-0.477136291961,-0.477052033063,-0.47696776978,-0.476883502114,-0.476799230063,-0.47671495363,-0.476630672816,-0.47654638762,-0.476462098044,-0.476377804088,-0.476293505753,-0.476209203041,-0.476124895951,-0.476040584485,-0.475956268643,-0.475871948427,-0.475787623836,-0.475703294872,-0.475618961535,-0.475534623827,-0.475450281747,-0.475365935297,-0.475281584478,-0.47519722929,-0.475112869735,-0.475028505812,-0.474944137522,-0.474859764868,-0.474775387848,-0.474691006464,-0.474606620717,-0.474522230608,-0.474437836137,-0.474353437305,-0.474269034112,-0.474184626561,-0.474100214651,-0.474015798383,-0.473931377757,-0.473846952776,-0.473762523439,-0.473678089748,-0.473593651702,-0.473509209303,-0.473424762552,-0.47334031145,-0.473255855996,-0.473171396192,-0.473086932039,-0.473002463538,-0.472917990689,-0.472833513493,-0.47274903195,-0.472664546063,-0.47258005583,-0.472495561254,-0.472411062335,-0.472326559073,-0.47224205147,-0.472157539526,-0.472073023242,-0.471988502619,-0.471903977658,-0.471819448359,-0.471734914723,-0.471650376751,-0.471565834443,-0.471481287802,-0.471396736826,-0.471312181517,-0.471227621877,-0.471143057904,-0.471058489601,-0.470973916969,-0.470889340007,-0.470804758717,-0.470720173099,-0.470635583155,-0.470550988884,-0.470466390289,-0.470381787369,-0.470297180125,-0.470212568558,-0.47012795267,-0.47004333246,-0.469958707929,-0.469874079079,-0.46978944591,-0.469704808422,-0.469620166617,-0.469535520496,-0.469450870058,-0.469366215306,-0.469281556239,-0.469196892859,-0.469112225165,-0.46902755316,-0.468942876844,-0.468858196217,-0.468773511281,-0.468688822036,-0.468604128483,-0.468519430622,-0.468434728455,-0.468350021982,-0.468265311204,-0.468180596122,-0.468095876736,-0.468011153048,-0.467926425058,-0.467841692767,-0.467756956176,-0.467672215285,-0.467587470095,-0.467502720608,-0.467417966823,-0.467333208742,-0.467248446365,-0.467163679694,-0.467078908728,-0.466994133469,-0.466909353917,-0.466824570074,-0.46673978194,-0.466654989516,-0.466570192802,-0.466485391799,-0.466400586509,-0.466315776932,-0.466230963068,-0.466146144919,-0.466061322486,-0.465976495768,-0.465891664767,-0.465806829484,-0.465721989919,-0.465637146073,-0.465552297948,-0.465467445543,-0.46538258886,-0.465297727898,-0.46521286266,-0.465127993146,-0.465043119357,-0.464958241293,-0.464873358955,-0.464788472344,-0.464703581461,-0.464618686306,-0.464533786881,-0.464448883186,-0.464363975222,-0.464279062989,-0.464194146489,-0.464109225722,-0.464024300689,-0.463939371391,-0.463854437828,-0.463769500002,-0.463684557913,-0.463599611562,-0.463514660949,-0.463429706076,-0.463344746944,-0.463259783552,-0.463174815902,-0.463089843995,-0.463004867831,-0.462919887411,-0.462834902736,-0.462749913807,-0.462664920624,-0.462579923189,-0.462494921502,-0.462409915563,-0.462324905375,-0.462239890936,-0.462154872249,-0.462069849314,-0.461984822131,-0.461899790702,-0.461814755028,-0.461729715108,-0.461644670945,-0.461559622538,-0.461474569888,-0.461389512997,-0.461304451865,-0.461219386492,-0.46113431688,-0.46104924303,-0.460964164941,-0.460879082616,-0.460793996054,-0.460708905256,-0.460623810224,-0.460538710958,-0.460453607459,-0.460368499727,-0.460283387764,-0.46019827157,-0.460113151146,-0.460028026493,-0.459942897611,-0.459857764501,-0.459772627165,-0.459687485602,-0.459602339814,-0.459517189802,-0.459432035566,-0.459346877106,-0.459261714425,-0.459176547522,-0.459091376398,-0.459006201055,-0.458921021492,-0.458835837712,-0.458750649713,-0.458665457498,-0.458580261067,-0.458495060421,-0.45840985556,-0.458324646486,-0.458239433199,-0.4581542157,-0.45806899399,-0.457983768069,-0.457898537938,-0.457813303599,-0.457728065051,-0.457642822297,-0.457557575335,-0.457472324168,-0.457387068796,-0.457301809219,-0.45721654544,-0.457131277457,-0.457046005273,-0.456960728888,-0.456875448302,-0.456790163517,-0.456704874533,-0.456619581351,-0.456534283972,-0.456448982397,-0.456363676626,-0.45627836666,-0.456193052501,-0.456107734148,-0.456022411602,-0.455937084865,-0.455851753937,-0.455766418819,-0.455681079512,-0.455595736016,-0.455510388333,-0.455425036462,-0.455339680406,-0.455254320163,-0.455168955737,-0.455083587126,-0.454998214333,-0.454912837357,-0.4548274562,-0.454742070862,-0.454656681344,-0.454571287647,-0.454485889772,-0.454400487719,-0.45431508149,-0.454229671084,-0.454144256504,-0.454058837749,-0.45397341482,-0.453887987718,-0.453802556445,-0.453717121,-0.453631681385,-0.4535462376,-0.453460789646,-0.453375337524,-0.453289881235,-0.453204420779,-0.453118956157,-0.453033487371,-0.45294801442,-0.452862537306,-0.452777056029,-0.452691570591,-0.452606080991,-0.452520587231,-0.452435089312,-0.452349587234,-0.452264080998,-0.452178570605,-0.452093056055,-0.45200753735,-0.451922014491,-0.451836487477,-0.45175095631,-0.451665420991,-0.45157988152,-0.451494337898,-0.451408790127,-0.451323238206,-0.451237682136,-0.451152121919,-0.451066557555,-0.450980989045,-0.45089541639,-0.45080983959,-0.450724258646,-0.450638673559,-0.45055308433,-0.45046749096,-0.450381893449,-0.450296291799,-0.450210686009,-0.450125076081,-0.450039462016,-0.449953843814,-0.449868221476,-0.449782595003,-0.449696964395,-0.449611329655,-0.449525690781,-0.449440047776,-0.449354400639,-0.449268749372,-0.449183093975,-0.44909743445,-0.449011770796,-0.448926103016,-0.448840431109,-0.448754755076,-0.448669074918,-0.448583390637,-0.448497702232,-0.448412009704,-0.448326313055,-0.448240612285,-0.448154907395,-0.448069198386,-0.447983485257,-0.447897768012,-0.447812046649,-0.44772632117,-0.447640591575,-0.447554857866,-0.447469120043,-0.447383378108,-0.447297632059,-0.4472118819,-0.447126127629,-0.447040369249,-0.44695460676,-0.446868840162,-0.446783069457,-0.446697294645,-0.446611515728,-0.446525732705,-0.446439945577,-0.446354154346,-0.446268359013,-0.446182559577,-0.44609675604,-0.446010948403,-0.445925136666,-0.44583932083,-0.445753500896,-0.445667676865,-0.445581848737,-0.445496016514,-0.445410180196,-0.445324339783,-0.445238495278,-0.44515264668,-0.44506679399,-0.444980937209,-0.444895076338,-0.444809211377,-0.444723342328,-0.444637469191,-0.444551591967,-0.444465710657,-0.444379825262,-0.444293935782,-0.444208042218,-0.44412214457,-0.444036242841,-0.44395033703,-0.443864427139,-0.443778513167,-0.443692595117,-0.443606672988,-0.443520746781,-0.443434816498,-0.443348882139,-0.443262943705,-0.443177001196,-0.443091054614,-0.443005103959,-0.442919149232,-0.442833190433,-0.442747227565,-0.442661260626,-0.442575289619,-0.442489314544,-0.442403335401,-0.442317352192,-0.442231364918,-0.442145373578,-0.442059378174,-0.441973378707,-0.441887375178,-0.441801367586,-0.441715355934,-0.441629340222,-0.44154332045,-0.44145729662,-0.441371268732,-0.441285236787,-0.441199200785,-0.441113160729,-0.441027116617,-0.440941068452,-0.440855016234,-0.440768959964,-0.440682899642,-0.440596835269,-0.440510766847,-0.440424694375,-0.440338617856,-0.440252537288,-0.440166452675,-0.440080364015,-0.43999427131,-0.43990817456,-0.439822073767,-0.439735968932,-0.439649860054,-0.439563747135,-0.439477630176,-0.439391509178,-0.43930538414,-0.439219255065,-0.439133121952,-0.439046984803,-0.438960843618,-0.438874698398,-0.438788549145,-0.438702395858,-0.438616238539,-0.438530077188,-0.438443911806,-0.438357742394,-0.438271568952,-0.438185391483,-0.438099209985,-0.438013024461,-0.43792683491,-0.437840641334,-0.437754443734,-0.43766824211,-0.437582036463,-0.437495826794,-0.437409613103,-0.437323395392,-0.437237173661,-0.437150947911,-0.437064718143,-0.436978484357,-0.436892246555,-0.436806004737,-0.436719758904,-0.436633509057,-0.436547255196,-0.436460997323,-0.436374735438,-0.436288469542,-0.436202199635,-0.436115925719,-0.436029647794,-0.435943365862,-0.435857079922,-0.435770789976,-0.435684496025,-0.435598198069,-0.435511896108,-0.435425590145,-0.43533928018,-0.435252966213,-0.435166648245,-0.435080326277,-0.43499400031,-0.434907670344,-0.434821336381,-0.434734998422,-0.434648656466,-0.434562310515,-0.43447596057,-0.434389606631,-0.434303248699,-0.434216886775,-0.43413052086,-0.434044150955,-0.43395777706,-0.433871399176,-0.433785017304,-0.433698631444,-0.433612241599,-0.433525847767,-0.433439449951,-0.433353048151,-0.433266642367,-0.433180232601,-0.433093818853,-0.433007401124,-0.432920979416,-0.432834553727,-0.432748124061,-0.432661690416,-0.432575252795,-0.432488811198,-0.432402365625,-0.432315916077,-0.432229462556,-0.432143005062,-0.432056543596,-0.431970078158,-0.43188360875,-0.431797135372,-0.431710658025,-0.43162417671,-0.431537691427,-0.431451202178,-0.431364708963,-0.431278211783,-0.431191710639,-0.431105205531,-0.431018696461,-0.430932183429,-0.430845666436,-0.430759145483,-0.43067262057,-0.430586091698,-0.430499558869,-0.430413022083,-0.43032648134,-0.430239936642,-0.430153387989,-0.430066835383,-0.429980278823,-0.429893718311,-0.429807153847,-0.429720585433,-0.429634013069,-0.429547436756,-0.429460856494,-0.429374272285,-0.42928768413,-0.429201092028,-0.429114495981,-0.42902789599,-0.428941292055,-0.428854684178,-0.428768072359,-0.428681456598,-0.428594836897,-0.428508213257,-0.428421585678,-0.428334954161,-0.428248318707,-0.428161679316,-0.42807503599,-0.427988388729,-0.427901737534,-0.427815082406,-0.427728423345,-0.427641760353,-0.42755509343,-0.427468422577,-0.427381747795,-0.427295069085,-0.427208386447,-0.427121699882,-0.427035009391,-0.426948314975,-0.426861616634,-0.42677491437,-0.426688208183,-0.426601498074,-0.426514784044,-0.426428066093,-0.426341344223,-0.426254618434,-0.426167888727,-0.426081155102,-0.425994417562,-0.425907676105,-0.425820930734,-0.425734181448,-0.42564742825,-0.425560671138,-0.425473910116,-0.425387145182,-0.425300376338,-0.425213603585,-0.425126826924,-0.425040046355,-0.424953261879,-0.424866473496,-0.424779681209,-0.424692885017,-0.424606084922,-0.424519280923,-0.424432473023,-0.424345661221,-0.424258845519,-0.424172025917,-0.424085202416,-0.423998375017,-0.42391154372,-0.423824708528,-0.423737869439,-0.423651026456,-0.423564179578,-0.423477328807,-0.423390474144,-0.423303615589,-0.423216753143,-0.423129886807,-0.423043016581,-0.422956142467,-0.422869264466,-0.422782382577,-0.422695496802,-0.422608607142,-0.422521713598,-0.422434816169,-0.422347914858,-0.422261009665,-0.42217410059,-0.422087187635,-0.4220002708,-0.421913350086,-0.421826425494,-0.421739497024,-0.421652564679,-0.421565628457,-0.42147868836,-0.42139174439,-0.421304796545,-0.421217844829,-0.42113088924,-0.421043929781,-0.420956966452,-0.420869999253,-0.420783028186,-0.42069605325,-0.420609074448,-0.42052209178,-0.420435105247,-0.420348114849,-0.420261120587,-0.420174122462,-0.420087120475,-0.420000114627,-0.419913104918,-0.419826091349,-0.419739073922,-0.419652052636,-0.419565027493,-0.419477998493,-0.419390965638,-0.419303928928,-0.419216888363,-0.419129843945,-0.419042795675,-0.418955743553,-0.41886868758,-0.418781627757,-0.418694564084,-0.418607496563,-0.418520425194,-0.418433349978,-0.418346270916,-0.418259188009,-0.418172101257,-0.418085010662,-0.417997916223,-0.417910817942,-0.41782371582,-0.417736609858,-0.417649500055,-0.417562386414,-0.417475268935,-0.417388147618,-0.417301022464,-0.417213893475,-0.417126760651,-0.417039623993,-0.416952483502,-0.416865339178,-0.416778191022,-0.416691039035,-0.416603883218,-0.416516723572,-0.416429560098,-0.416342392795,-0.416255221666,-0.41616804671,-0.41608086793,-0.415993685324,-0.415906498895,-0.415819308643,-0.415732114569,-0.415644916674,-0.415557714958,-0.415470509422,-0.415383300068,-0.415296086895,-0.415208869905,-0.415121649098,-0.415034424476,-0.414947196039,-0.414859963788,-0.414772727723,-0.414685487846,-0.414598244157,-0.414510996658,-0.414423745348,-0.414336490229,-0.414249231301,-0.414161968566,-0.414074702024,-0.413987431676,-0.413900157523,-0.413812879565,-0.413725597803,-0.413638312238,-0.413551022872,-0.413463729704,-0.413376432736,-0.413289131968,-0.413201827401,-0.413114519036,-0.413027206874,-0.412939890915,-0.412852571161,-0.412765247612,-0.412677920268,-0.412590589132,-0.412503254203,-0.412415915483,-0.412328572971,-0.41224122667,-0.412153876579,-0.4120665227,-0.411979165034,-0.41189180358,-0.41180443834,-0.411717069316,-0.411629696507,-0.411542319914,-0.411454939538,-0.411367555381,-0.411280167442,-0.411192775723,-0.411105380224,-0.411017980946,-0.410930577891,-0.410843171058,-0.410755760449,-0.410668346064,-0.410580927905,-0.410493505971,-0.410406080264,-0.410318650785,-0.410231217535,-0.410143780514,-0.410056339722,-0.409968895162,-0.409881446833,-0.409793994737,-0.409706538874,-0.409619079245,-0.409531615851,-0.409444148692,-0.40935667777,-0.409269203086,-0.409181724639,-0.409094242431,-0.409006756463,-0.408919266736,-0.40883177325,-0.408744276005,-0.408656775004,-0.408569270247,-0.408481761734,-0.408394249466,-0.408306733445,-0.40821921367,-0.408131690143,-0.408044162865,-0.407956631836,-0.407869097057,-0.407781558529,-0.407694016253,-0.40760647023,-0.40751892046,-0.407431366944,-0.407343809683,-0.407256248677,-0.407168683929,-0.407081115438,-0.406993543204,-0.40690596723,-0.406818387516,-0.406730804063,-0.40664321687,-0.40655562594,-0.406468031273,-0.40638043287,-0.406292830732,-0.406205224859,-0.406117615252,-0.406030001912,-0.40594238484,-0.405854764037,-0.405767139503,-0.40567951124,-0.405591879248,-0.405504243527,-0.405416604079,-0.405328960905,-0.405241314005,-0.40515366338,-0.405066009031,-0.404978350959,-0.404890689164,-0.404803023648,-0.40471535441,-0.404627681453,-0.404540004777,-0.404452324382,-0.404364640269,-0.404276952439,-0.404189260894,-0.404101565633,-0.404013866658,-0.403926163969,-0.403838457568,-0.403750747454,-0.403663033629,-0.403575316094,-0.403487594849,-0.403399869896,-0.403312141235,-0.403224408866,-0.403136672791,-0.40304893301,-0.402961189525,-0.402873442336,-0.402785691444,-0.402697936849,-0.402610178553,-0.402522416556,-0.402434650859,-0.402346881464,-0.402259108369,-0.402171331578,-0.40208355109,-0.401995766905,-0.401907979026,-0.401820187453,-0.401732392186,-0.401644593226,-0.401556790575,-0.401468984233,-0.4013811742,-0.401293360478,-0.401205543067,-0.401117721969,-0.401029897184,-0.400942068712,-0.400854236555,-0.400766400714,-0.400678561188,-0.40059071798,-0.40050287109,-0.400415020518,-0.400327166266,-0.400239308334,-0.400151446723,-0.400063581434,-0.399975712468,-0.399887839825,-0.399799963506,-0.399712083513,-0.399624199846,-0.399536312505,-0.399448421492,-0.399360526807,-0.399272628452,-0.399184726426,-0.399096820731,-0.399008911368,-0.398920998337,-0.398833081639,-0.398745161276,-0.398657237247,-0.398569309554,-0.398481378197,-0.398393443177,-0.398305504496,-0.398217562153,-0.39812961615,-0.398041666488,-0.397953713167,-0.397865756188,-0.397777795552,-0.397689831259,-0.397601863311,-0.397513891709,-0.397425916452,-0.397337937543,-0.397249954981,-0.397161968768,-0.397073978904,-0.39698598539,-0.396897988228,-0.396809987417,-0.396721982958,-0.396633974854,-0.396545963103,-0.396457947707,-0.396369928668,-0.396281905985,-0.396193879659,-0.396105849692,-0.396017816083,-0.395929778835,-0.395841737947,-0.395753693421,-0.395665645257,-0.395577593457,-0.39548953802,-0.395401478948,-0.395313416241,-0.395225349901,-0.395137279928,-0.395049206323,-0.394961129087,-0.394873048221,-0.394784963724,-0.394696875599,-0.394608783847,-0.394520688466,-0.39443258946,-0.394344486828,-0.394256380571,-0.394168270691,-0.394080157187,-0.393992040061,-0.393903919314,-0.393815794945,-0.393727666957,-0.39363953535,-0.393551400125,-0.393463261282,-0.393375118823,-0.393286972747,-0.393198823057,-0.393110669753,-0.393022512835,-0.392934352304,-0.392846188162,-0.392758020409,-0.392669849046,-0.392581674073,-0.392493495492,-0.392405313303,-0.392317127507,-0.392228938105,-0.392140745098,-0.392052548486,-0.391964348271,-0.391876144453,-0.391787937033,-0.391699726011,-0.391611511389,-0.391523293168,-0.391435071348,-0.391346845929,-0.391258616914,-0.391170384302,-0.391082148095,-0.390993908293,-0.390905664897,-0.390817417908,-0.390729167326,-0.390640913153,-0.39055265539,-0.390464394036,-0.390376129094,-0.390287860563,-0.390199588444,-0.39011131274,-0.390023033449,-0.389934750573,-0.389846464113,-0.38975817407,-0.389669880444,-0.389581583236,-0.389493282448,-0.389404978079,-0.389316670131,-0.389228358604,-0.3891400435,-0.389051724819,-0.388963402562,-0.388875076729,-0.388786747322,-0.388698414342,-0.388610077788,-0.388521737663,-0.388433393966,-0.388345046699,-0.388256695862,-0.388168341457,-0.388079983483,-0.387991621943,-0.387903256836,-0.387814888164,-0.387726515926,-0.387638140125,-0.387549760761,-0.387461377835,-0.387372991347,-0.387284601299,-0.38719620769,-0.387107810523,-0.387019409797,-0.386931005514,-0.386842597675,-0.38675418628,-0.386665771329,-0.386577352825,-0.386488930767,-0.386400505157,-0.386312075995,-0.386223643282,-0.386135207019,-0.386046767207,-0.385958323846,-0.385869876938,-0.385781426482,-0.385692972481,-0.385604514935,-0.385516053844,-0.38542758921,-0.385339121032,-0.385250649313,-0.385162174053,-0.385073695252,-0.384985212912,-0.384896727034,-0.384808237617,-0.384719744663,-0.384631248173,-0.384542748148,-0.384454244587,-0.384365737494,-0.384277226867,-0.384188712707,-0.384100195017,-0.384011673796,-0.383923149045,-0.383834620765,-0.383746088957,-0.383657553622,-0.38356901476,-0.383480472373,-0.383391926461,-0.383303377024,-0.383214824065,-0.383126267583,-0.383037707579,-0.382949144055,-0.382860577011,-0.382772006447,-0.382683432365,-0.382594854766,-0.382506273649,-0.382417689017,-0.38232910087,-0.382240509209,-0.382151914034,-0.382063315346,-0.381974713147,-0.381886107436,-0.381797498215,-0.381708885485,-0.381620269247,-0.3815316495,-0.381443026247,-0.381354399487,-0.381265769222,-0.381177135453,-0.38108849818,-0.380999857404,-0.380911213126,-0.380822565346,-0.380733914067,-0.380645259287,-0.380556601009,-0.380467939233,-0.380379273959,-0.38029060519,-0.380201932924,-0.380113257164,-0.38002457791,-0.379935895163,-0.379847208924,-0.379758519193,-0.379669825972,-0.37958112926,-0.37949242906,-0.379403725372,-0.379315018196,-0.379226307533,-0.379137593385,-0.379048875752,-0.378960154634,-0.378871430034,-0.37878270195,-0.378693970385,-0.37860523534,-0.378516496814,-0.378427754809,-0.378339009325,-0.378250260364,-0.378161507926,-0.378072752012,-0.377983992623,-0.37789522976,-0.377806463423,-0.377717693613,-0.377628920332,-0.377540143579,-0.377451363356,-0.377362579664,-0.377273792503,-0.377185001874,-0.377096207778,-0.377007410216,-0.376918609189,-0.376829804697,-0.376740996741,-0.376652185323,-0.376563370442,-0.3764745521,-0.376385730298,-0.376296905036,-0.376208076315,-0.376119244136,-0.3760304085,-0.375941569407,-0.375852726859,-0.375763880856,-0.375675031399,-0.375586178489,-0.375497322127,-0.375408462313,-0.375319599049,-0.375230732334,-0.375141862171,-0.37505298856,-0.374964111501,-0.374875230995,-0.374786347044,-0.374697459647,-0.374608568807,-0.374519674523,-0.374430776797,-0.374341875629,-0.37425297102,-0.374164062971,-0.374075151483,-0.373986236557,-0.373897318193,-0.373808396392,-0.373719471155,-0.373630542483,-0.373541610377,-0.373452674837,-0.373363735864,-0.37327479346,-0.373185847624,-0.373096898359,-0.373007945663,-0.37291898954,-0.372830029988,-0.37274106701,-0.372652100605,-0.372563130775,-0.37247415752,-0.372385180842,-0.372296200741,-0.372207217218,-0.372118230273,-0.372029239908,-0.371940246124,-0.37185124892,-0.371762248299,-0.371673244261,-0.371584236806,-0.371495225936,-0.371406211651,-0.371317193952,-0.37122817284,-0.371139148316,-0.37105012038,-0.370961089034,-0.370872054278,-0.370783016113,-0.37069397454,-0.370604929559,-0.370515881172,-0.370426829379,-0.370337774182,-0.37024871558,-0.370159653575,-0.370070588168,-0.369981519359,-0.369892447149,-0.369803371539,-0.36971429253,-0.369625210123,-0.369536124318,-0.369447035117,-0.36935794252,-0.369268846527,-0.369179747141,-0.369090644361,-0.369001538188,-0.368912428624,-0.368823315668,-0.368734199323,-0.368645079588,-0.368555956464,-0.368466829953,-0.368377700055,-0.368288566771,-0.368199430102,-0.368110290049,-0.368021146612,-0.367931999792,-0.36784284959,-0.367753696007,-0.367664539043,-0.3675753787,-0.367486214979,-0.367397047879,-0.367307877403,-0.36721870355,-0.367129526322,-0.36704034572,-0.366951161743,-0.366861974394,-0.366772783673,-0.36668358958,-0.366594392117,-0.366505191284,-0.366415987082,-0.366326779513,-0.366237568576,-0.366148354272,-0.366059136604,-0.36596991557,-0.365880691173,-0.365791463412,-0.365702232289,-0.365612997805,-0.36552375996,-0.365434518755,-0.365345274191,-0.365256026269,-0.36516677499,-0.365077520354,-0.364988262363,-0.364899001016,-0.364809736316,-0.364720468262,-0.364631196856,-0.364541922098,-0.364452643989,-0.364363362531,-0.364274077723,-0.364184789567,-0.364095498064,-0.364006203213,-0.363916905017,-0.363827603476,-0.363738298591,-0.363648990362,-0.36355967879,-0.363470363877,-0.363381045623,-0.363291724029,-0.363202399096,-0.363113070824,-0.363023739214,-0.362934404268,-0.362845065985,-0.362755724367,-0.362666379415,-0.36257703113,-0.362487679511,-0.362398324561,-0.36230896628,-0.362219604668,-0.362130239727,-0.362040871458,-0.36195149986,-0.361862124936,-0.361772746685,-0.361683365109,-0.361593980209,-0.361504591985,-0.361415200438,-0.361325805568,-0.361236407378,-0.361147005867,-0.361057601037,-0.360968192888,-0.360878781421,-0.360789366637,-0.360699948537,-0.360610527121,-0.36052110239,-0.360431674346,-0.360342242988,-0.360252808319,-0.360163370338,-0.360073929046,-0.359984484445,-0.359895036535,-0.359805585317,-0.359716130791,-0.359626672959,-0.359537211822,-0.35944774738,-0.359358279633,-0.359268808584,-0.359179334232,-0.359089856579,-0.359000375625,-0.358910891371,-0.358821403819,-0.358731912968,-0.358642418819,-0.358552921374,-0.358463420634,-0.358373916598,-0.358284409268,-0.358194898645,-0.35810538473,-0.358015867523,-0.357926347025,-0.357836823237,-0.35774729616,-0.357657765795,-0.357568232142,-0.357478695203,-0.357389154977,-0.357299611467,-0.357210064672,-0.357120514594,-0.357030961233,-0.356941404591,-0.356851844668,-0.356762281464,-0.356672714982,-0.35658314522,-0.356493572182,-0.356403995866,-0.356314416274,-0.356224833408,-0.356135247267,-0.356045657852,-0.355956065165,-0.355866469205,-0.355776869975,-0.355687267475,-0.355597661705,-0.355508052666,-0.35541844036,-0.355328824787,-0.355239205948,-0.355149583843,-0.355059958474,-0.354970329842,-0.354880697946,-0.354791062789,-0.35470142437,-0.354611782691,-0.354522137753,-0.354432489556,-0.354342838101,-0.354253183389,-0.35416352542,-0.354073864197,-0.353984199719,-0.353894531987,-0.353804861002,-0.353715186765,-0.353625509277,-0.353535828538,-0.353446144549,-0.353356457312,-0.353266766827,-0.353177073095,-0.353087376116,-0.352997675892,-0.352907972424,-0.352818265711,-0.352728555755,-0.352638842557,-0.352549126118,-0.352459406438,-0.352369683519,-0.35227995736,-0.352190227964,-0.35210049533,-0.35201075946,-0.351921020354,-0.351831278013,-0.351741532439,-0.351651783631,-0.351562031591,-0.35147227632,-0.351382517818,-0.351292756086,-0.351202991125,-0.351113222935,-0.351023451519,-0.350933676876,-0.350843899007,-0.350754117913,-0.350664333596,-0.350574546055,-0.350484755292,-0.350394961307,-0.350305164101,-0.350215363675,-0.350125560031,-0.350035753168,-0.349945943087,-0.34985612979,-0.349766313277,-0.349676493549,-0.349586670607,-0.349496844452,-0.349407015084,-0.349317182505,-0.349227346714,-0.349137507714,-0.349047665505,-0.348957820087,-0.348867971461,-0.348778119629,-0.348688264591,-0.348598406348,-0.3485085449,-0.348418680249,-0.348328812396,-0.348238941341,-0.348149067085,-0.348059189629,-0.347969308973,-0.347879425119,-0.347789538067,-0.347699647819,-0.347609754375,-0.347519857735,-0.347429957901,-0.347340054874,-0.347250148654,-0.347160239242,-0.347070326639,-0.346980410846,-0.346890491863,-0.346800569692,-0.346710644334,-0.346620715788,-0.346530784056,-0.346440849139,-0.346350911038,-0.346260969753,-0.346171025285,-0.346081077636,-0.345991126805,-0.345901172794,-0.345811215604,-0.345721255235,-0.345631291688,-0.345541324964,-0.345451355064,-0.345361381989,-0.345271405739,-0.345181426316,-0.345091443719,-0.345001457951,-0.344911469012,-0.344821476902,-0.344731481622,-0.344641483174,-0.344551481559,-0.344461476776,-0.344371468826,-0.344281457712,-0.344191443433,-0.34410142599,-0.344011405384,-0.343921381616,-0.343831354687,-0.343741324598,-0.343651291349,-0.343561254941,-0.343471215375,-0.343381172652,-0.343291126773,-0.343201077738,-0.343111025549,-0.343020970206,-0.34293091171,-0.342840850062,-0.342750785262,-0.342660717312,-0.342570646212,-0.342480571964,-0.342390494567,-0.342300414024,-0.342210330333,-0.342120243498,-0.342030153518,-0.341940060393,-0.341849964126,-0.341759864717,-0.341669762166,-0.341579656475,-0.341489547644,-0.341399435674,-0.341309320566,-0.34121920232,-0.341129080939,-0.341038956421,-0.340948828769,-0.340858697983,-0.340768564064,-0.340678427013,-0.34058828683,-0.340498143517,-0.340407997074,-0.340317847501,-0.340227694801,-0.340137538974,-0.340047380019,-0.33995721794,-0.339867052735,-0.339776884407,-0.339686712955,-0.339596538381,-0.339506360686,-0.33941617987,-0.339325995934,-0.339235808879,-0.339145618705,-0.339055425415,-0.338965229008,-0.338875029485,-0.338784826848,-0.338694621096,-0.338604412231,-0.338514200254,-0.338423985165,-0.338333766966,-0.338243545656,-0.338153321238,-0.338063093711,-0.337972863077,-0.337882629336,-0.33779239249,-0.337702152538,-0.337611909483,-0.337521663324,-0.337431414063,-0.337341161701,-0.337250906237,-0.337160647674,-0.337070386011,-0.33698012125,-0.336889853392,-0.336799582437,-0.336709308387,-0.336619031241,-0.336528751001,-0.336438467668,-0.336348181243,-0.336257891726,-0.336167599118,-0.33607730342,-0.335987004633,-0.335896702757,-0.335806397794,-0.335716089745,-0.335625778609,-0.335535464389,-0.335445147085,-0.335354826697,-0.335264503226,-0.335174176674,-0.335083847041,-0.334993514328,-0.334903178536,-0.334812839666,-0.334722497718,-0.334632152693,-0.334541804592,-0.334451453417,-0.334361099167,-0.334270741844,-0.334180381448,-0.33409001798,-0.333999651442,-0.333909281834,-0.333818909156,-0.33372853341,-0.333638154596,-0.333547772716,-0.33345738777,-0.333366999759,-0.333276608683,-0.333186214544,-0.333095817343,-0.333005417079,-0.332915013755,-0.332824607371,-0.332734197927,-0.332643785426,-0.332553369866,-0.33246295125,-0.332372529578,-0.33228210485,-0.332191677069,-0.332101246234,-0.332010812346,-0.331920375407,-0.331829935416,-0.331739492376,-0.331649046286,-0.331558597148,-0.331468144962,-0.33137768973,-0.331287231451,-0.331196770128,-0.33110630576,-0.331015838349,-0.330925367895,-0.330834894399,-0.330744417862,-0.330653938285,-0.330563455669,-0.330472970014,-0.330382481322,-0.330291989593,-0.330201494828,-0.330110997028,-0.330020496193,-0.329929992325,-0.329839485424,-0.329748975492,-0.329658462529,-0.329567946535,-0.329477427512,-0.329386905461,-0.329296380382,-0.329205852276,-0.329115321144,-0.329024786987,-0.328934249806,-0.328843709601,-0.328753166373,-0.328662620124,-0.328572070854,-0.328481518563,-0.328390963253,-0.328300404925,-0.328209843579,-0.328119279216,-0.328028711837,-0.327938141443,-0.327847568035,-0.327756991613,-0.327666412179,-0.327575829733,-0.327485244275,-0.327394655808,-0.327304064331,-0.327213469845,-0.327122872352,-0.327032271853,-0.326941668347,-0.326851061836,-0.32676045232,-0.326669839801,-0.32657922428,-0.326488605756,-0.326397984232,-0.326307359707,-0.326216732183,-0.326126101661,-0.32603546814,-0.325944831623,-0.32585419211,-0.325763549602,-0.325672904099,-0.325582255603,-0.325491604115,-0.325400949634,-0.325310292162,-0.3252196317,-0.325128968249,-0.32503830181,-0.324947632382,-0.324856959968,-0.324766284568,-0.324675606182,-0.324584924813,-0.324494240459,-0.324403553123,-0.324312862805,-0.324222169507,-0.324131473228,-0.324040773969,-0.323950071732,-0.323859366518,-0.323768658326,-0.323677947159,-0.323587233016,-0.3234965159,-0.323405795809,-0.323315072746,-0.323224346711,-0.323133617705,-0.323042885729,-0.322952150783,-0.322861412869,-0.322770671988,-0.322679928139,-0.322589181325,-0.322498431545,-0.322407678801,-0.322316923094,-0.322226164423,-0.322135402791,-0.322044638198,-0.321953870645,-0.321863100133,-0.321772326662,-0.321681550233,-0.321590770847,-0.321499988506,-0.321409203209,-0.321318414958,-0.321227623754,-0.321136829597,-0.321046032488,-0.320955232428,-0.320864429418,-0.320773623458,-0.320682814551,-0.320592002695,-0.320501187893,-0.320410370144,-0.320319549451,-0.320228725813,-0.320137899232,-0.320047069708,-0.319956237242,-0.319865401836,-0.319774563489,-0.319683722203,-0.319592877978,-0.319502030816,-0.319411180717,-0.319320327682,-0.319229471712,-0.319138612808,-0.31904775097,-0.318956886199,-0.318866018497,-0.318775147864,-0.318684274301,-0.318593397808,-0.318502518387,-0.318411636039,-0.318320750763,-0.318229862562,-0.318138971436,-0.318048077385,-0.317957180411,-0.317866280514,-0.317775377696,-0.317684471956,-0.317593563297,-0.317502651718,-0.317411737221,-0.317320819806,-0.317229899475,-0.317138976228,-0.317048050065,-0.316957120989,-0.316866188998,-0.316775254096,-0.316684316281,-0.316593375556,-0.316502431921,-0.316411485376,-0.316320535923,-0.316229583563,-0.316138628296,-0.316047670123,-0.315956709045,-0.315865745062,-0.315774778176,-0.315683808388,-0.315592835698,-0.315501860108,-0.315410881617,-0.315319900227,-0.315228915938,-0.315137928753,-0.31504693867,-0.314955945692,-0.314864949818,-0.314773951051,-0.31468294939,-0.314591944836,-0.314500937391,-0.314409927055,-0.314318913829,-0.314227897714,-0.314136878711,-0.31404585682,-0.313954832043,-0.31386380438,-0.313772773831,-0.313681740399,-0.313590704083,-0.313499664885,-0.313408622805,-0.313317577845,-0.313226530004,-0.313135479285,-0.313044425687,-0.312953369212,-0.31286230986,-0.312771247632,-0.312680182529,-0.312589114553,-0.312498043703,-0.31240696998,-0.312315893386,-0.312224813922,-0.312133731587,-0.312042646384,-0.311951558312,-0.311860467372,-0.311769373567,-0.311678276895,-0.311587177359,-0.311496074958,-0.311404969695,-0.311313861569,-0.311222750581,-0.311131636733,-0.311040520025,-0.310949400458,-0.310858278032,-0.31076715275,-0.31067602461,-0.310584893616,-0.310493759766,-0.310402623062,-0.310311483506,-0.310220341096,-0.310129195836,-0.310038047725,-0.309946896764,-0.309855742954,-0.309764586295,-0.30967342679,-0.309582264438,-0.309491099241,-0.309399931198,-0.309308760312,-0.309217586583,-0.309126410011,-0.309035230598,-0.308944048345,-0.308852863252,-0.308761675319,-0.308670484549,-0.308579290942,-0.308488094498,-0.308396895218,-0.308305693104,-0.308214488156,-0.308123280375,-0.308032069761,-0.307940856317,-0.307849640042,-0.307758420937,-0.307667199003,-0.307575974241,-0.307484746652,-0.307393516237,-0.307302282996,-0.307211046931,-0.307119808042,-0.307028566329,-0.306937321795,-0.306846074439,-0.306754824263,-0.306663571267,-0.306572315453,-0.30648105682,-0.306389795371,-0.306298531105,-0.306207264024,-0.306115994128,-0.306024721418,-0.305933445896,-0.305842167561,-0.305750886415,-0.305659602459,-0.305568315693,-0.305477026119,-0.305385733736,-0.305294438547,-0.305203140551,-0.30511183975,-0.305020536145,-0.304929229735,-0.304837920523,-0.304746608509,-0.304655293694,-0.304563976079,-0.304472655663,-0.30438133245,-0.304290006438,-0.30419867763,-0.304107346025,-0.304016011625,-0.303924674431,-0.303833334443,-0.303741991662,-0.30365064609,-0.303559297726,-0.303467946572,-0.303376592629,-0.303285235897,-0.303193876377,-0.30310251407,-0.303011148978,-0.3029197811,-0.302828410438,-0.302737036992,-0.302645660763,-0.302554281753,-0.302462899962,-0.30237151539,-0.302280128039,-0.30218873791,-0.302097345003,-0.302005949319,-0.301914550859,-0.301823149625,-0.301731745615,-0.301640338833,-0.301548929277,-0.30145751695,-0.301366101852,-0.301274683984,-0.301183263347,-0.301091839941,-0.301000413768,-0.300908984828,-0.300817553122,-0.300726118651,-0.300634681416,-0.300543241417,-0.300451798656,-0.300360353133,-0.30026890485,-0.300177453806,-0.300086000003,-0.299994543442,-0.299903084124,-0.299811622048,-0.299720157217,-0.299628689631,-0.299537219291,-0.299445746198,-0.299354270352,-0.299262791754,-0.299171310406,-0.299079826308,-0.298988339461,-0.298896849865,-0.298805357523,-0.298713862433,-0.298622364598,-0.298530864018,-0.298439360694,-0.298347854627,-0.298256345817,-0.298164834266,-0.298073319974,-0.297981802943,-0.297890283172,-0.297798760664,-0.297707235418,-0.297615707435,-0.297524176717,-0.297432643264,-0.297341107077,-0.297249568157,-0.297158026505,-0.297066482122,-0.296974935008,-0.296883385164,-0.296791832591,-0.29670027729,-0.296608719262,-0.296517158508,-0.296425595028,-0.296334028823,-0.296242459895,-0.296150888244,-0.29605931387,-0.295967736775,-0.29587615696,-0.295784574425,-0.295692989171,-0.295601401199,-0.295509810511,-0.295418217106,-0.295326620985,-0.29523502215,-0.295143420601,-0.295051816339,-0.294960209366,-0.294868599681,-0.294776987285,-0.294685372181,-0.294593754367,-0.294502133846,-0.294410510617,-0.294318884683,-0.294227256043,-0.294135624698,-0.29404399065,-0.2939523539,-0.293860714447,-0.293769072293,-0.293677427439,-0.293585779886,-0.293494129634,-0.293402476684,-0.293310821037,-0.293219162694,-0.293127501656,-0.293035837924,-0.292944171498,-0.29285250238,-0.292760830569,-0.292669156068,-0.292577478876,-0.292485798996,-0.292394116426,-0.292302431169,-0.292210743226,-0.292119052596,-0.292027359281,-0.291935663282,-0.2918439646,-0.291752263235,-0.291660559188,-0.291568852461,-0.291477143053,-0.291385430966,-0.291293716201,-0.291201998759,-0.291110278639,-0.291018555844,-0.290926830374,-0.29083510223,-0.290743371412,-0.290651637922,-0.290559901761,-0.290468162928,-0.290376421426,-0.290284677254,-0.290192930415,-0.290101180908,-0.290009428734,-0.289917673895,-0.289825916391,-0.289734156223,-0.289642393391,-0.289550627898,-0.289458859743,-0.289367088927,-0.289275315451,-0.289183539317,-0.289091760524,-0.288999979074,-0.288908194968,-0.288816408206,-0.288724618789,-0.288632826719,-0.288541031995,-0.288449234619,-0.288357434592,-0.288265631915,-0.288173826587,-0.288082018611,-0.287990207987,-0.287898394715,-0.287806578798,-0.287714760235,-0.287622939027,-0.287531115176,-0.287439288681,-0.287347459545,-0.287255627767,-0.287163793349,-0.287071956291,-0.286980116595,-0.286888274261,-0.286796429289,-0.286704581682,-0.286612731439,-0.286520878562,-0.286429023051,-0.286337164908,-0.286245304132,-0.286153440725,-0.286061574688,-0.285969706022,-0.285877834727,-0.285785960804,-0.285694084255,-0.285602205079,-0.285510323278,-0.285418438853,-0.285326551805,-0.285234662133,-0.28514276984,-0.285050874926,-0.284958977392,-0.284867077238,-0.284775174466,-0.284683269077,-0.284591361071,-0.284499450449,-0.284407537211,-0.28431562136,-0.284223702895,-0.284131781818,-0.284039858129,-0.283947931829,-0.283856002919,-0.2837640714,-0.283672137273,-0.283580200538,-0.283488261197,-0.283396319249,-0.283304374697,-0.283212427541,-0.283120477782,-0.28302852542,-0.282936570457,-0.282844612893,-0.282752652729,-0.282660689967,-0.282568724606,-0.282476756647,-0.282384786093,-0.282292812942,-0.282200837197,-0.282108858858,-0.282016877926,-0.281924894402,-0.281832908286,-0.28174091958,-0.281648928284,-0.281556934399,-0.281464937926,-0.281372938866,-0.281280937219,-0.281188932988,-0.281096926171,-0.281004916771,-0.280912904788,-0.280820890222,-0.280728873076,-0.280636853349,-0.280544831042,-0.280452806157,-0.280360778694,-0.280268748654,-0.280176716038,-0.280084680846,-0.27999264308,-0.279900602741,-0.279808559828,-0.279716514344,-0.279624466288,-0.279532415663,-0.279440362467,-0.279348306704,-0.279256248372,-0.279164187474,-0.27907212401,-0.27898005798,-0.278887989387,-0.278795918229,-0.278703844509,-0.278611768228,-0.278519689385,-0.278427607982,-0.27833552402,-0.2782434375,-0.278151348422,-0.278059256787,-0.277967162597,-0.277875065852,-0.277782966552,-0.277690864699,-0.277598760293,-0.277506653336,-0.277414543828,-0.277322431771,-0.277230317164,-0.277138200009,-0.277046080306,-0.276953958057,-0.276861833262,-0.276769705923,-0.276677576039,-0.276585443612,-0.276493308643,-0.276401171132,-0.276309031081,-0.27621688849,-0.27612474336,-0.276032595692,-0.275940445487,-0.275848292746,-0.275756137468,-0.275663979657,-0.275571819311,-0.275479656432,-0.275387491021,-0.275295323079,-0.275203152607,-0.275110979605,-0.275018804074,-0.274926626015,-0.274834445429,-0.274742262317,-0.274650076679,-0.274557888517,-0.274465697831,-0.274373504623,-0.274281308892,-0.274189110641,-0.274096909869,-0.274004706577,-0.273912500767,-0.27382029244,-0.273728081595,-0.273635868234,-0.273543652358,-0.273451433968,-0.273359213064,-0.273266989648,-0.27317476372,-0.273082535281,-0.272990304331,-0.272898070873,-0.272805834906,-0.272713596431,-0.27262135545,-0.272529111963,-0.272436865971,-0.272344617474,-0.272252366475,-0.272160112972,-0.272067856969,-0.271975598464,-0.271883337459,-0.271791073956,-0.271698807954,-0.271606539455,-0.271514268459,-0.271421994967,-0.271329718981,-0.2712374405,-0.271145159527,-0.271052876061,-0.270960590104,-0.270868301656,-0.270776010718,-0.270683717291,-0.270591421377,-0.270499122975,-0.270406822087,-0.270314518713,-0.270222212854,-0.270129904512,-0.270037593687,-0.269945280379,-0.269852964591,-0.269760646322,-0.269668325573,-0.269576002346,-0.26948367664,-0.269391348458,-0.269299017799,-0.269206684665,-0.269114349057,-0.269022010975,-0.26892967042,-0.268837327394,-0.268744981896,-0.268652633928,-0.26856028349,-0.268467930584,-0.268375575211,-0.26828321737,-0.268190857063,-0.268098494292,-0.268006129056,-0.267913761356,-0.267821391194,-0.26772901857,-0.267636643486,-0.267544265941,-0.267451885937,-0.267359503474,-0.267267118554,-0.267174731178,-0.267082341345,-0.266989949058,-0.266897554317,-0.266805157122,-0.266712757475,-0.266620355376,-0.266527950827,-0.266435543828,-0.266343134379,-0.266250722483,-0.266158308139,-0.266065891349,-0.265973472113,-0.265881050432,-0.265788626308,-0.26569619974,-0.26560377073,-0.265511339279,-0.265418905387,-0.265326469056,-0.265234030286,-0.265141589077,-0.265049145432,-0.26495669935,-0.264864250833,-0.264771799882,-0.264679346496,-0.264586890678,-0.264494432428,-0.264401971746,-0.264309508635,-0.264217043093,-0.264124575124,-0.264032104726,-0.263939631901,-0.263847156651,-0.263754678975,-0.263662198875,-0.263569716351,-0.263477231404,-0.263384744036,-0.263292254247,-0.263199762037,-0.263107267409,-0.263014770362,-0.262922270897,-0.262829769016,-0.262737264719,-0.262644758006,-0.26255224888,-0.26245973734,-0.262367223388,-0.262274707024,-0.262182188249,-0.262089667065,-0.261997143471,-0.261904617469,-0.26181208906,-0.261719558244,-0.261627025023,-0.261534489397,-0.261441951366,-0.261349410933,-0.261256868097,-0.26116432286,-0.261071775223,-0.260979225186,-0.260886672749,-0.260794117915,-0.260701560684,-0.260609001056,-0.260516439033,-0.260423874615,-0.260331307804,-0.2602387386,-0.260146167003,-0.260053593015,-0.259961016637,-0.25986843787,-0.259775856714,-0.25968327317,-0.259590687239,-0.259498098922,-0.25940550822,-0.259312915133,-0.259220319663,-0.25912772181,-0.259035121575,-0.258942518959,-0.258849913963,-0.258757306588,-0.258664696834,-0.258572084703,-0.258479470195,-0.258386853311,-0.258294234052,-0.258201612419,-0.258108988413,-0.258016362034,-0.257923733283,-0.257831102162,-0.257738468671,-0.257645832811,-0.257553194582,-0.257460553986,-0.257367911024,-0.257275265696,-0.257182618003,-0.257089967946,-0.256997315526,-0.256904660743,-0.2568120036,-0.256719344096,-0.256626682232,-0.256534018009,-0.256441351428,-0.25634868249,-0.256256011196,-0.256163337546,-0.256070661542,-0.255977983184,-0.255885302473,-0.25579261941,-0.255699933995,-0.255607246231,-0.255514556117,-0.255421863654,-0.255329168844,-0.255236471686,-0.255143772183,-0.255051070334,-0.254958366141,-0.254865659605,-0.254772950725,-0.254680239504,-0.254587525942,-0.25449481004,-0.254402091799,-0.254309371219,-0.254216648301,-0.254123923047,-0.254031195457,-0.253938465532,-0.253845733273,-0.253752998681,-0.253660261756,-0.2535675225,-0.253474780913,-0.253382036996,-0.25328929075,-0.253196542175,-0.253103791274,-0.253011038046,-0.252918282492,-0.252825524613,-0.252732764411,-0.252640001886,-0.252547237038,-0.252454469869,-0.25236170038,-0.25226892857,-0.252176154442,-0.252083377996,-0.251990599233,-0.251897818154,-0.25180503476,-0.25171224905,-0.251619461028,-0.251526670692,-0.251433878044,-0.251341083085,-0.251248285816,-0.251155486238,-0.251062684351,-0.250969880156,-0.250877073654,-0.250784264847,-0.250691453734,-0.250598640317,-0.250505824596,-0.250413006573,-0.250320186248,-0.250227363622,-0.250134538696,-0.250041711471,-0.249948881948,-0.249856050127,-0.24976321601,-0.249670379597,-0.249577540889,-0.249484699886,-0.249391856591,-0.249299011003,-0.249206163124,-0.249113312954,-0.249020460494,-0.248927605746,-0.248834748709,-0.248741889385,-0.248649027775,-0.248556163879,-0.248463297698,-0.248370429234,-0.248277558487,-0.248184685457,-0.248091810146,-0.247998932555,-0.247906052685,-0.247813170535,-0.247720286108,-0.247627399404,-0.247534510423,-0.247441619168,-0.247348725638,-0.247255829834,-0.247162931758,-0.247070031409,-0.24697712879,-0.246884223901,-0.246791316742,-0.246698407315,-0.24660549562,-0.246512581659,-0.246419665431,-0.246326746939,-0.246233826182,-0.246140903162,-0.24604797788,-0.245955050336,-0.245862120531,-0.245769188466,-0.245676254142,-0.245583317561,-0.245490378721,-0.245397437625,-0.245304494274,-0.245211548668,-0.245118600807,-0.245025650694,-0.244932698329,-0.244839743712,-0.244746786844,-0.244653827727,-0.244560866362,-0.244467902748,-0.244374936887,-0.24428196878,-0.244188998427,-0.24409602583,-0.24400305099,-0.243910073906,-0.24381709458,-0.243724113014,-0.243631129207,-0.243538143161,-0.243445154876,-0.243352164353,-0.243259171594,-0.243166176599,-0.243073179368,-0.242980179903,-0.242887178205,-0.242794174274,-0.242701168112,-0.242608159718,-0.242515149095,-0.242422136243,-0.242329121162,-0.242236103854,-0.242143084319,-0.242050062558,-0.241957038573,-0.241864012364,-0.241770983931,-0.241677953276,-0.2415849204,-0.241491885303,-0.241398847986,-0.241305808451,-0.241212766697,-0.241119722726,-0.241026676539,-0.240933628137,-0.24084057752,-0.240747524689,-0.240654469645,-0.240561412389,-0.240468352922,-0.240375291244,-0.240282227358,-0.240189161262,-0.240096092959,-0.240003022449,-0.239909949733,-0.239816874811,-0.239723797685,-0.239630718356,-0.239537636824,-0.239444553091,-0.239351467156,-0.239258379021,-0.239165288687,-0.239072196155,-0.238979101425,-0.238886004499,-0.238792905377,-0.23869980406,-0.238606700549,-0.238513594844,-0.238420486948,-0.238327376859,-0.23823426458,-0.238141150112,-0.238048033454,-0.237954914608,-0.237861793575,-0.237768670356,-0.237675544951,-0.237582417362,-0.237489287588,-0.237396155632,-0.237303021494,-0.237209885174,-0.237116746674,-0.237023605994,-0.236930463136,-0.2368373181,-0.236744170887,-0.236651021498,-0.236557869934,-0.236464716195,-0.236371560283,-0.236278402198,-0.236185241941,-0.236092079513,-0.235998914916,-0.235905748149,-0.235812579213,-0.23571940811,-0.23562623484,-0.235533059405,-0.235439881805,-0.23534670204,-0.235253520112,-0.235160336022,-0.23506714977,-0.234973961358,-0.234880770785,-0.234787578054,-0.234694383165,-0.234601186118,-0.234507986915,-0.234414785556,-0.234321582043,-0.234228376376,-0.234135168556,-0.234041958584,-0.23394874646,-0.233855532186,-0.233762315763,-0.233669097191,-0.233575876471,-0.233482653604,-0.233389428591,-0.233296201432,-0.233202972129,-0.233109740683,-0.233016507094,-0.232923271363,-0.232830033492,-0.23273679348,-0.232643551328,-0.232550307039,-0.232457060612,-0.232363812048,-0.232270561348,-0.232177308513,-0.232084053545,-0.231990796442,-0.231897537208,-0.231804275842,-0.231711012345,-0.231617746719,-0.231524478963,-0.231431209079,-0.231337937069,-0.231244662931,-0.231151386668,-0.231058108281,-0.230964827769,-0.230871545135,-0.230778260378,-0.230684973501,-0.230591684502,-0.230498393385,-0.230405100148,-0.230311804794,-0.230218507323,-0.230125207735,-0.230031906033,-0.229938602216,-0.229845296285,-0.229751988242,-0.229658678087,-0.229565365821,-0.229472051444,-0.229378734959,-0.229285416365,-0.229192095664,-0.229098772856,-0.229005447942,-0.228912120923,-0.2288187918,-0.228725460574,-0.228632127245,-0.228538791815,-0.228445454284,-0.228352114653,-0.228258772924,-0.228165429096,-0.228072083171,-0.22797873515,-0.227885385033,-0.227792032821,-0.227698678516,-0.227605322117,-0.227511963627,-0.227418603045,-0.227325240373,-0.227231875611,-0.227138508761,-0.227045139823,-0.226951768798,-0.226858395687,-0.226765020491,-0.22667164321,-0.226578263846,-0.226484882399,-0.22639149887,-0.22629811326,-0.226204725571,-0.226111335802,-0.226017943954,-0.22592455003,-0.225831154028,-0.225737755951,-0.225644355799,-0.225550953572,-0.225457549273,-0.225364142901,-0.225270734458,-0.225177323944,-0.22508391136,-0.224990496707,-0.224897079986,-0.224803661198,-0.224710240344,-0.224616817424,-0.22452339244,-0.224429965392,-0.22433653628,-0.224243105107,-0.224149671873,-0.224056236578,-0.223962799224,-0.223869359811,-0.223775918341,-0.223682474813,-0.22358902923,-0.223495581591,-0.223402131898,-0.223308680152,-0.223215226353,-0.223121770502,-0.2230283126,-0.222934852648,-0.222841390647,-0.222747926598,-0.222654460502,-0.222560992358,-0.222467522169,-0.222374049935,-0.222280575658,-0.222187099337,-0.222093620973,-0.222000140568,-0.221906658123,-0.221813173638,-0.221719687114,-0.221626198552,-0.221532707953,-0.221439215318,-0.221345720647,-0.221252223942,-0.221158725203,-0.221065224431,-0.220971721627,-0.220878216792,-0.220784709927,-0.220691201032,-0.220597690109,-0.220504177158,-0.22041066218,-0.220317145177,-0.220223626148,-0.220130105095,-0.220036582018,-0.219943056919,-0.219849529799,-0.219756000657,-0.219662469496,-0.219568936315,-0.219475401117,-0.219381863901,-0.219288324668,-0.21919478342,-0.219101240157,-0.21900769488,-0.21891414759,-0.218820598288,-0.218727046974,-0.21863349365,-0.218539938316,-0.218446380974,-0.218352821623,-0.218259260266,-0.218165696902,-0.218072131533,-0.21797856416,-0.217884994783,-0.217791423403,-0.217697850021,-0.217604274638,-0.217510697256,-0.217417117873,-0.217323536493,-0.217229953114,-0.217136367739,-0.217042780369,-0.216949191003,-0.216855599643,-0.216762006289,-0.216668410944,-0.216574813606,-0.216481214278,-0.21638761296,-0.216294009653,-0.216200404358,-0.216106797076,-0.216013187808,-0.215919576553,-0.215825963314,-0.215732348092,-0.215638730886,-0.215545111698,-0.215451490529,-0.21535786738,-0.215264242251,-0.215170615143,-0.215076986058,-0.214983354995,-0.214889721957,-0.214796086943,-0.214702449955,-0.214608810994,-0.21451517006,-0.214421527154,-0.214327882277,-0.21423423543,-0.214140586614,-0.214046935829,-0.213953283078,-0.213859628359,-0.213765971675,-0.213672313026,-0.213578652412,-0.213484989836,-0.213391325297,-0.213297658797,-0.213203990337,-0.213110319916,-0.213016647537,-0.2129229732,-0.212829296905,-0.212735618654,-0.212641938448,-0.212548256288,-0.212454572173,-0.212360886106,-0.212267198087,-0.212173508116,-0.212079816196,-0.211986122326,-0.211892426507,-0.211798728741,-0.211705029028,-0.211611327369,-0.211517623765,-0.211423918217,-0.211330210725,-0.211236501291,-0.211142789916,-0.211049076599,-0.210955361343,-0.210861644147,-0.210767925013,-0.210674203942,-0.210580480935,-0.210486755992,-0.210393029114,-0.210299300302,-0.210205569557,-0.21011183688,-0.210018102272,-0.209924365734,-0.209830627265,-0.209736886868,-0.209643144543,-0.209549400292,-0.209455654114,-0.20936190601,-0.209268155983,-0.209174404032,-0.209080650158,-0.208986894362,-0.208893136645,-0.208799377009,-0.208705615453,-0.208611851978,-0.208518086586,-0.208424319278,-0.208330550053,-0.208236778914,-0.208143005861,-0.208049230894,-0.207955454015,-0.207861675225,-0.207767894524,-0.207674111913,-0.207580327394,-0.207486540966,-0.207392752631,-0.20729896239,-0.207205170243,-0.207111376192,-0.207017580237,-0.20692378238,-0.20682998262,-0.206736180959,-0.206642377398,-0.206548571937,-0.206454764578,-0.206360955321,-0.206267144167,-0.206173331118,-0.206079516173,-0.205985699334,-0.205891880602,-0.205798059977,-0.20570423746,-0.205610413053,-0.205516586756,-0.20542275857,-0.205328928495,-0.205235096533,-0.205141262685,-0.205047426951,-0.204953589332,-0.20485974983,-0.204765908444,-0.204672065176,-0.204578220027,-0.204484372998,-0.204390524089,-0.204296673301,-0.204202820635,-0.204108966093,-0.204015109674,-0.20392125138,-0.203827391212,-0.20373352917,-0.203639665255,-0.203545799469,-0.203451931811,-0.203358062284,-0.203264190887,-0.203170317622,-0.203076442489,-0.20298256549,-0.202888686625,-0.202794805895,-0.202700923302,-0.202607038844,-0.202513152525,-0.202419264344,-0.202325374303,-0.202231482401,-0.202137588641,-0.202043693023,-0.201949795548,-0.201855896217,-0.20176199503,-0.201668091988,-0.201574187093,-0.201480280345,-0.201386371745,-0.201292461294,-0.201198548993,-0.201104634842,-0.201010718843,-0.200916800996,-0.200822881302,-0.200728959763,-0.200635036378,-0.20054111115,-0.200447184078,-0.200353255163,-0.200259324407,-0.20016539181,-0.200071457373,-0.199977521097,-0.199883582983,-0.199789643032,-0.199695701244,-0.199601757621,-0.199507812163,-0.199413864871,-0.199319915747,-0.19922596479,-0.199132012002,-0.199038057383,-0.198944100935,-0.198850142659,-0.198756182554,-0.198662220623,-0.198568256866,-0.198474291283,-0.198380323876,-0.198286354646,-0.198192383593,-0.198098410718,-0.198004436022,-0.197910459507,-0.197816481172,-0.197722501019,-0.197628519048,-0.197534535261,-0.197440549659,-0.197346562241,-0.197252573009,-0.197158581965,-0.197064589108,-0.19697059444,-0.196876597961,-0.196782599672,-0.196688599575,-0.19659459767,-0.196500593958,-0.19640658844,-0.196312581116,-0.196218571988,-0.196124561056,-0.196030548321,-0.195936533785,-0.195842517448,-0.19574849931,-0.195654479373,-0.195560457638,-0.195466434105,-0.195372408776,-0.195278381651,-0.19518435273,-0.195090322016,-0.194996289509,-0.194902255209,-0.194808219117,-0.194714181235,-0.194620141563,-0.194526100103,-0.194432056854,-0.194338011818,-0.194243964996,-0.194149916388,-0.194055865996,-0.19396181382,-0.193867759861,-0.19377370412,-0.193679646598,-0.193585587296,-0.193491526214,-0.193397463354,-0.193303398716,-0.193209332302,-0.193115264111,-0.193021194145,-0.192927122405,-0.192833048892,-0.192738973607,-0.192644896549,-0.192550817721,-0.192456737123,-0.192362654756,-0.192268570621,-0.192174484719,-0.19208039705,-0.191986307615,-0.191892216416,-0.191798123453,-0.191704028728,-0.19160993224,-0.19151583399,-0.191421733981,-0.191327632212,-0.191233528684,-0.191139423398,-0.191045316356,-0.190951207557,-0.190857097004,-0.190762984696,-0.190668870634,-0.19057475482,-0.190480637254,-0.190386517938,-0.190292396871,-0.190198274056,-0.190104149492,-0.19001002318,-0.189915895122,-0.189821765319,-0.18972763377,-0.189633500478,-0.189539365443,-0.189445228665,-0.189351090146,-0.189256949887,-0.189162807888,-0.18906866415,-0.188974518674,-0.188880371462,-0.188786222513,-0.188692071829,-0.18859791941,-0.188503765258,-0.188409609373,-0.188315451757,-0.188221292409,-0.188127131332,-0.188032968525,-0.18793880399,-0.187844637727,-0.187750469738,-0.187656300023,-0.187562128583,-0.187467955419,-0.187373780531,-0.187279603922,-0.187185425591,-0.18709124554,-0.186997063768,-0.186902880278,-0.18680869507,-0.186714508145,-0.186620319504,-0.186526129147,-0.186431937076,-0.186337743291,-0.186243547794,-0.186149350584,-0.186055151663,-0.185960951033,-0.185866748693,-0.185772544644,-0.185678338888,-0.185584131425,-0.185489922257,-0.185395711383,-0.185301498805,-0.185207284524,-0.185113068541,-0.185018850856,-0.18492463147,-0.184830410385,-0.1847361876,-0.184641963118,-0.184547736939,-0.184453509063,-0.184359279491,-0.184265048226,-0.184170815266,-0.184076580613,-0.183982344269,-0.183888106233,-0.183793866507,-0.183699625092,-0.183605381988,-0.183511137197,-0.183416890719,-0.183322642555,-0.183228392705,-0.183134141172,-0.183039887955,-0.182945633056,-0.182851376475,-0.182757118214,-0.182662858272,-0.182568596652,-0.182474333353,-0.182380068377,-0.182285801725,-0.182191533397,-0.182097263395,-0.182002991719,-0.18190871837,-0.181814443348,-0.181720166656,-0.181625888293,-0.181531608261,-0.18143732656,-0.181343043192,-0.181248758156,-0.181154471455,-0.181060183088,-0.180965893058,-0.180871601363,-0.180777308007,-0.180683012988,-0.180588716309,-0.18049441797,-0.180400117972,-0.180305816315,-0.180211513002,-0.180117208031,-0.180022901406,-0.179928593125,-0.179834283191,-0.179739971603,-0.179645658364,-0.179551343473,-0.179457026932,-0.179362708741,-0.179268388902,-0.179174067415,-0.179079744281,-0.1789854195,-0.178891093075,-0.178796765005,-0.178702435292,-0.178608103936,-0.178513770939,-0.178419436301,-0.178325100022,-0.178230762105,-0.178136422549,-0.178042081356,-0.177947738526,-0.177853394061,-0.177759047961,-0.177664700227,-0.17757035086,-0.177475999861,-0.17738164723,-0.177287292969,-0.177192937079,-0.177098579559,-0.177004220412,-0.176909859638,-0.176815497238,-0.176721133212,-0.176626767562,-0.176532400289,-0.176438031393,-0.176343660875,-0.176249288736,-0.176154914977,-0.176060539599,-0.175966162603,-0.175871783989,-0.175777403759,-0.175683021913,-0.175588638452,-0.175494253377,-0.175399866689,-0.175305478389,-0.175211088478,-0.175116696956,-0.175022303824,-0.174927909083,-0.174833512735,-0.17473911478,-0.174644715218,-0.174550314051,-0.17445591128,-0.174361506905,-0.174267100928,-0.174172693348,-0.174078284168,-0.173983873387,-0.173889461008,-0.17379504703,-0.173700631454,-0.173606214282,-0.173511795514,-0.173417375152,-0.173322953195,-0.173228529645,-0.173134104503,-0.173039677769,-0.172945249445,-0.172850819531,-0.172756388029,-0.172661954938,-0.172567520261,-0.172473083997,-0.172378646148,-0.172284206714,-0.172189765697,-0.172095323097,-0.172000878915,-0.171906433152,-0.171811985809,-0.171717536887,-0.171623086386,-0.171528634308,-0.171434180654,-0.171339725423,-0.171245268618,-0.171150810238,-0.171056350285,-0.17096188876,-0.170867425664,-0.170772960997,-0.17067849476,-0.170584026954,-0.170489557581,-0.17039508664,-0.170300614133,-0.170206140061,-0.170111664424,-0.170017187224,-0.169922708461,-0.169828228136,-0.16973374625,-0.169639262803,-0.169544777798,-0.169450291234,-0.169355803112,-0.169261313434,-0.1691668222,-0.169072329411,-0.168977835068,-0.168883339172,-0.168788841724,-0.168694342724,-0.168599842173,-0.168505340073,-0.168410836423,-0.168316331226,-0.168221824482,-0.168127316191,-0.168032806355,-0.167938294975,-0.167843782051,-0.167749267584,-0.167654751575,-0.167560234025,-0.167465714935,-0.167371194305,-0.167276672137,-0.167182148432,-0.16708762319,-0.166993096412,-0.166898568099,-0.166804038252,-0.166709506872,-0.166614973959,-0.166520439515,-0.16642590354,-0.166331366036,-0.166236827003,-0.166142286441,-0.166047744353,-0.165953200738,-0.165858655598,-0.165764108933,-0.165669560745,-0.165575011034,-0.1654804598,-0.165385907046,-0.165291352772,-0.165196796978,-0.165102239666,-0.165007680836,-0.16491312049,-0.164818558628,-0.16472399525,-0.164629430359,-0.164534863954,-0.164440296037,-0.164345726609,-0.16425115567,-0.164156583221,-0.164062009263,-0.163967433797,-0.163872856825,-0.163778278345,-0.163683698361,-0.163589116871,-0.163494533879,-0.163399949383,-0.163305363385,-0.163210775887,-0.163116186888,-0.16302159639,-0.162927004393,-0.162832410899,-0.162737815908,-0.162643219421,-0.162548621439,-0.162454021963,-0.162359420994,-0.162264818533,-0.16217021458,-0.162075609136,-0.161981002202,-0.16188639378,-0.16179178387,-0.161697172472,-0.161602559588,-0.161507945219,-0.161413329366,-0.161318712028,-0.161224093208,-0.161129472906,-0.161034851122,-0.160940227859,-0.160845603116,-0.160750976895,-0.160656349196,-0.160561720021,-0.160467089369,-0.160372457243,-0.160277823642,-0.160183188569,-0.160088552023,-0.159993914005,-0.159899274517,-0.159804633559,-0.159709991132,-0.159615347237,-0.159520701875,-0.159426055047,-0.159331406753,-0.159236756995,-0.159142105773,-0.159047453088,-0.158952798942,-0.158858143334,-0.158763486266,-0.158668827739,-0.158574167753,-0.15847950631,-0.15838484341,-0.158290179054,-0.158195513243,-0.158100845978,-0.15800617726,-0.15791150709,-0.157816835468,-0.157722162395,-0.157627487873,-0.157532811902,-0.157438134483,-0.157343455616,-0.157248775304,-0.157154093546,-0.157059410343,-0.156964725697,-0.156870039608,-0.156775352077,-0.156680663105,-0.156585972693,-0.156491280842,-0.156396587552,-0.156301892824,-0.15620719666,-0.15611249906,-0.156017800025,-0.155923099556,-0.155828397654,-0.15573369432,-0.155638989554,-0.155544283357,-0.155449575731,-0.155354866676,-0.155260156193,-0.155165444282,-0.155070730946,-0.154976016184,-0.154881299997,-0.154786582387,-0.154691863355,-0.1545971429,-0.154502421024,-0.154407697728,-0.154312973013,-0.154218246879,-0.154123519328,-0.154028790361,-0.153934059977,-0.153839328178,-0.153744594966,-0.15364986034,-0.153555124302,-0.153460386852,-0.153365647992,-0.153270907723,-0.153176166044,-0.153081422957,-0.152986678464,-0.152891932564,-0.152797185258,-0.152702436549,-0.152607686435,-0.152512934919,-0.152418182001,-0.152323427682,-0.152228671963,-0.152133914845,-0.152039156328,-0.151944396414,-0.151849635103,-0.151754872397,-0.151660108295,-0.151565342799,-0.151470575911,-0.15137580763,-0.151281037957,-0.151186266894,-0.151091494442,-0.1509967206,-0.150901945371,-0.150807168755,-0.150712390752,-0.150617611364,-0.150522830592,-0.150428048436,-0.150333264897,-0.150238479977,-0.150143693675,-0.150048905994,-0.149954116933,-0.149859326494,-0.149764534677,-0.149669741484,-0.149574946915,-0.149480150972,-0.149385353654,-0.149290554963,-0.1491957549,-0.149100953465,-0.14900615066,-0.148911346486,-0.148816540942,-0.148721734031,-0.148626925753,-0.148532116108,-0.148437305099,-0.148342492725,-0.148247678987,-0.148152863887,-0.148058047424,-0.147963229601,-0.147868410418,-0.147773589876,-0.147678767976,-0.147583944718,-0.147489120103,-0.147394294133,-0.147299466808,-0.147204638129,-0.147109808097,-0.147014976713,-0.146920143977,-0.146825309891,-0.146730474455,-0.146635637671,-0.146540799539,-0.14644596006,-0.146351119234,-0.146256277064,-0.146161433549,-0.146066588691,-0.14597174249,-0.145876894947,-0.145782046064,-0.14568719584,-0.145592344277,-0.145497491376,-0.145402637138,-0.145307781563,-0.145212924653,-0.145118066408,-0.145023206829,-0.144928345916,-0.144833483672,-0.144738620097,-0.144643755191,-0.144548888955,-0.144454021391,-0.144359152499,-0.14426428228,-0.144169410735,-0.144074537865,-0.143979663671,-0.143884788153,-0.143789911312,-0.14369503315,-0.143600153667,-0.143505272865,-0.143410390743,-0.143315507303,-0.143220622545,-0.143125736471,-0.143030849082,-0.142935960378,-0.14284107036,-0.142746179029,-0.142651286386,-0.142556392431,-0.142461497167,-0.142366600593,-0.14227170271,-0.142176803519,-0.142081903022,-0.141987001219,-0.14189209811,-0.141797193698,-0.141702287982,-0.141607380963,-0.141512472643,-0.141417563022,-0.141322652102,-0.141227739882,-0.141132826364,-0.141037911549,-0.140942995437,-0.14084807803,-0.140753159328,-0.140658239333,-0.140563318044,-0.140468395464,-0.140373471592,-0.140278546431,-0.140183619979,-0.14008869224,-0.139993763212,-0.139898832898,-0.139803901298,-0.139708968412,-0.139614034243,-0.13951909879,-0.139424162055,-0.139329224038,-0.139234284741,-0.139139344164,-0.139044402308,-0.138949459173,-0.138854514762,-0.138759569074,-0.138664622111,-0.138569673873,-0.138474724362,-0.138379773578,-0.138284821522,-0.138189868194,-0.138094913597,-0.13799995773,-0.137905000595,-0.137810042192,-0.137715082522,-0.137620121586,-0.137525159386,-0.137430195921,-0.137335231194,-0.137240265204,-0.137145297952,-0.13705032944,-0.136955359668,-0.136860388637,-0.136765416348,-0.136670442802,-0.136575468,-0.136480491942,-0.13638551463,-0.136290536064,-0.136195556246,-0.136100575176,-0.136005592854,-0.135910609283,-0.135815624462,-0.135720638393,-0.135625651076,-0.135530662513,-0.135435672704,-0.13534068165,-0.135245689352,-0.135150695811,-0.135055701028,-0.134960705003,-0.134865707738,-0.134770709233,-0.134675709489,-0.134580708507,-0.134485706288,-0.134390702834,-0.134295698143,-0.134200692219,-0.134105685061,-0.13401067667,-0.133915667047,-0.133820656194,-0.13372564411,-0.133630630797,-0.133535616256,-0.133440600488,-0.133345583493,-0.133250565272,-0.133155545827,-0.133060525157,-0.132965503265,-0.13287048015,-0.132775455814,-0.132680430257,-0.132585403481,-0.132490375487,-0.132395346274,-0.132300315844,-0.132205284199,-0.132110251338,-0.132015217263,-0.131920181974,-0.131825145473,-0.13173010776,-0.131635068837,-0.131540028703,-0.13144498736,-0.131349944809,-0.131254901051,-0.131159856086,-0.131064809916,-0.130969762541,-0.130874713962,-0.13077966418,-0.130684613196,-0.13058956101,-0.130494507625,-0.13039945304,-0.130304397256,-0.130209340275,-0.130114282096,-0.130019222722,-0.129924162153,-0.129829100389,-0.129734037432,-0.129638973283,-0.129543907942,-0.12944884141,-0.129353773688,-0.129258704778,-0.129163634679,-0.129068563393,-0.128973490921,-0.128878417263,-0.12878334242,-0.128688266394,-0.128593189185,-0.128498110794,-0.128403031222,-0.128307950469,-0.128212868537,-0.128117785427,-0.128022701139,-0.127927615674,-0.127832529033,-0.127737441218,-0.127642352228,-0.127547262065,-0.127452170729,-0.127357078222,-0.127261984545,-0.127166889697,-0.127071793681,-0.126976696497,-0.126881598145,-0.126786498628,-0.126691397945,-0.126596296097,-0.126501193086,-0.126406088912,-0.126310983576,-0.126215877079,-0.126120769422,-0.126025660606,-0.125930550631,-0.125835439498,-0.12574032721,-0.125645213765,-0.125550099165,-0.125454983412,-0.125359866505,-0.125264748446,-0.125169629235,-0.125074508874,-0.124979387363,-0.124884264704,-0.124789140897,-0.124694015942,-0.124598889842,-0.124503762596,-0.124408634205,-0.124313504672,-0.124218373995,-0.124123242177,-0.124028109218,-0.123932975119,-0.12383783988,-0.123742703503,-0.123647565989,-0.123552427339,-0.123457287552,-0.123362146631,-0.123267004576,-0.123171861388,-0.123076717068,-0.122981571617,-0.122886425035,-0.122791277323,-0.122696128483,-0.122600978515,-0.12250582742,-0.122410675199,-0.122315521853,-0.122220367383,-0.122125211789,-0.122030055073,-0.121934897235,-0.121839738276,-0.121744578197,-0.121649416999,-0.121554254683,-0.12145909125,-0.1213639267,-0.121268761035,-0.121173594255,-0.121078426361,-0.120983257354,-0.120888087236,-0.120792916006,-0.120697743666,-0.120602570216,-0.120507395658,-0.120412219992,-0.120317043219,-0.120221865341,-0.120126686357,-0.120031506269,-0.119936325078,-0.119841142785,-0.119745959389,-0.119650774894,-0.119555589298,-0.119460402604,-0.119365214811,-0.119270025921,-0.119174835935,-0.119079644854,-0.118984452678,-0.118889259408,-0.118794065045,-0.118698869591,-0.118603673045,-0.11850847541,-0.118413276685,-0.118318076871,-0.11822287597,-0.118127673983,-0.118032470909,-0.117937266751,-0.117842061508,-0.117746855183,-0.117651647775,-0.117556439285,-0.117461229715,-0.117366019066,-0.117270807338,-0.117175594531,-0.117080380648,-0.116985165688,-0.116889949653,-0.116794732544,-0.116699514361,-0.116604295106,-0.116509074778,-0.11641385338,-0.116318630912,-0.116223407374,-0.116128182769,-0.116032957095,-0.115937730356,-0.11584250255,-0.11574727368,-0.115652043746,-0.115556812749,-0.115461580689,-0.115366347569,-0.115271113388,-0.115175878147,-0.115080641848,-0.114985404491,-0.114890166077,-0.114794926607,-0.114699686081,-0.114604444502,-0.114509201869,-0.114413958183,-0.114318713446,-0.114223467658,-0.11412822082,-0.114032972933,-0.113937723998,-0.113842474016,-0.113747222987,-0.113651970913,-0.113556717794,-0.113461463631,-0.113366208425,-0.113270952178,-0.113175694889,-0.113080436559,-0.112985177191,-0.112889916784,-0.112794655339,-0.112699392857,-0.11260412934,-0.112508864787,-0.112413599201,-0.112318332581,-0.112223064928,-0.112127796244,-0.11203252653,-0.111937255786,-0.111841984012,-0.111746711211,-0.111651437383,-0.111556162528,-0.111460886648,-0.111365609743,-0.111270331815,-0.111175052864,-0.111079772891,-0.110984491897,-0.110889209883,-0.11079392685,-0.110698642798,-0.110603357729,-0.110508071643,-0.110412784541,-0.110317496424,-0.110222207294,-0.11012691715,-0.110031625994,-0.109936333827,-0.109841040649,-0.109745746461,-0.109650451265,-0.109555155061,-0.10945985785,-0.109364559632,-0.10926926041,-0.109173960183,-0.109078658952,-0.108983356719,-0.108888053485,-0.108792749249,-0.108697444013,-0.108602137778,-0.108506830545,-0.108411522315,-0.108316213088,-0.108220902865,-0.108125591648,-0.108030279437,-0.107934966233,-0.107839652036,-0.107744336849,-0.107649020671,-0.107553703504,-0.107458385348,-0.107363066204,-0.107267746073,-0.107172424957,-0.107077102855,-0.106981779769,-0.1068864557,-0.106791130648,-0.106695804615,-0.106600477601,-0.106505149607,-0.106409820634,-0.106314490683,-0.106219159755,-0.106123827851,-0.106028494971,-0.105933161116,-0.105837826288,-0.105742490487,-0.105647153713,-0.105551815969,-0.105456477255,-0.105361137571,-0.105265796919,-0.105170455299,-0.105075112713,-0.10497976916,-0.104884424643,-0.104789079162,-0.104693732717,-0.10459838531,-0.104503036942,-0.104407687613,-0.104312337325,-0.104216986077,-0.104121633872,-0.10402628071,-0.103930926591,-0.103835571517,-0.103740215489,-0.103644858507,-0.103549500573,-0.103454141686,-0.103358781849,-0.103263421062,-0.103168059325,-0.10307269664,-0.102977333008,-0.102881968429,-0.102786602905,-0.102691236436,-0.102595869022,-0.102500500666,-0.102405131368,-0.102309761128,-0.102214389948,-0.102119017829,-0.10202364477,-0.101928270774,-0.101832895841,-0.101737519973,-0.101642143168,-0.10154676543,-0.101451386758,-0.101356007154,-0.101260626618,-0.101165245151,-0.101069862755,-0.100974479429,-0.100879095176,-0.100783709995,-0.100688323887,-0.100592936854,-0.100497548897,-0.100402160016,-0.100306770211,-0.100211379485,-0.100115987838,-0.100020595271,-0.0999252017837,-0.0998298073783,-0.0997344120553,-0.0996390158156,-0.0995436186601,-0.0994482205895,-0.0993528216049,-0.099257421707,-0.0991620208967,-0.099066619175,-0.0989712165427,-0.0988758130007,-0.0987804085498,-0.098685003191,-0.098589596925,-0.0984941897529,-0.0983987816754,-0.0983033726934,-0.0982079628079,-0.0981125520196,-0.0980171403296,-0.0979217277385,-0.0978263142474,-0.0977308998571,-0.0976354845685,-0.0975400683825,-0.0974446512998,-0.0973492333215,-0.0972538144484,-0.0971583946813,-0.0970629740212,-0.0969675524688,-0.0968721300252,-0.0967767066912,-0.0966812824676,-0.0965858573553,-0.0964904313553,-0.0963950044683,-0.0962995766952,-0.096204148037,-0.0961087184946,-0.0960132880687,-0.0959178567602,-0.0958224245702,-0.0957269914993,-0.0956315575485,-0.0955361227188,-0.0954406870108,-0.0953452504256,-0.095249812964,-0.0951543746269,-0.0950589354152,-0.0949634953296,-0.0948680543712,-0.0947726125408,-0.0946771698393,-0.0945817262675,-0.0944862818264,-0.0943908365167,-0.0942953903394,-0.0941999432954,-0.0941044953855,-0.0940090466106,-0.0939135969716,-0.0938181464694,-0.0937226951048,-0.0936272428788,-0.0935317897921,-0.0934363358457,-0.0933408810405,-0.0932454253773,-0.093149968857,-0.0930545114805,-0.0929590532487,-0.0928635941624,-0.0927681342225,-0.0926726734299,-0.0925772117855,-0.0924817492901,-0.0923862859447,-0.0922908217501,-0.0921953567071,-0.0920998908167,-0.0920044240798,-0.0919089564971,-0.0918134880697,-0.0917180187983,-0.0916225486839,-0.0915270777273,-0.0914316059294,-0.0913361332911,-0.0912406598132,-0.0911451854967,-0.0910497103424,-0.0909542343511,-0.0908587575239,-0.0907632798615,-0.0906678013648,-0.0905723220347,-0.0904768418721,-0.0903813608779,-0.0902858790529,-0.0901903963979,-0.090094912914,-0.089999428602,-0.0899039434627,-0.089808457497,-0.0897129707058,-0.08961748309,-0.0895219946505,-0.0894265053881,-0.0893310153037,-0.0892355243981,-0.0891400326724,-0.0890445401273,-0.0889490467637,-0.0888535525825,-0.0887580575846,-0.0886625617709,-0.0885670651421,-0.0884715676993,-0.0883760694433,-0.088280570375,-0.0881850704952,-0.0880895698048,-0.0879940683047,-0.0878985659958,-0.0878030628789,-0.087707558955,-0.0876120542249,-0.0875165486895,-0.0874210423496,-0.0873255352062,-0.0872300272601,-0.0871345185122,-0.0870390089634,-0.0869434986145,-0.0868479874665,-0.0867524755202,-0.0866569627765,-0.0865614492363,-0.0864659349003,-0.0863704197697,-0.0862749038451,-0.0861793871275,-0.0860838696177,-0.0859883513167,-0.0858928322253,-0.0857973123444,-0.0857017916749,-0.0856062702176,-0.0855107479735,-0.0854152249433,-0.085319701128,-0.0852241765285,-0.0851286511456,-0.0850331249803,-0.0849375980333,-0.0848420703056,-0.0847465417981,-0.0846510125116,-0.0845554824469,-0.0844599516051,-0.0843644199869,-0.0842688875933,-0.0841733544251,-0.0840778204832,-0.0839822857685,-0.0838867502818,-0.083791214024,-0.0836956769961,-0.0836001391988,-0.0835046006332,-0.0834090612999,-0.0833135212,-0.0832179803343,-0.0831224387036,-0.0830268963089,-0.0829313531511,-0.0828358092309,-0.0827402645494,-0.0826447191073,-0.0825491729056,-0.0824536259451,-0.0823580782266,-0.0822625297512,-0.0821669805197,-0.0820714305328,-0.0819758797916,-0.0818803282969,-0.0817847760496,-0.0816892230505,-0.0815936693005,-0.0814981148006,-0.0814025595515,-0.0813070035542,-0.0812114468096,-0.0811158893185,-0.0810203310817,-0.0809247721003,-0.080829212375,-0.0807336519067,-0.0806380906964,-0.0805425287448,-0.080446966053,-0.0803514026216,-0.0802558384517,-0.0801602735441,-0.0800647078997,-0.0799691415193,-0.0798735744039,-0.0797780065543,-0.0796824379714,-0.0795868686561,-0.0794912986092,-0.0793957278317,-0.0793001563244,-0.0792045840882,-0.0791090111239,-0.0790134374325,-0.0789178630148,-0.0788222878717,-0.0787267120041,-0.0786311354129,-0.0785355580988,-0.078439980063,-0.0783444013061,-0.0782488218291,-0.0781532416328,-0.0780576607182,-0.077962079086,-0.0778664967373,-0.0777709136729,-0.0776753298935,-0.0775797454003,-0.0774841601939,-0.0773885742753,-0.0772929876453,-0.0771974003049,-0.0771018122549,-0.0770062234962,-0.0769106340297,-0.0768150438563,-0.0767194529767,-0.076623861392,-0.076528269103,-0.0764326761105,-0.0763370824155,-0.0762414880189,-0.0761458929214,-0.076050297124,-0.0759547006275,-0.075859103433,-0.0757635055411,-0.0756679069528,-0.075572307669,-0.0754767076906,-0.0753811070184,-0.0752855056533,-0.0751899035962,-0.0750943008479,-0.0749986974094,-0.0749030932816,-0.0748074884652,-0.0747118829613,-0.0746162767706,-0.074520669894,-0.0744250623325,-0.0743294540868,-0.074233845158,-0.0741382355468,-0.0740426252541,-0.0739470142809,-0.073851402628,-0.0737557902962,-0.0736601772865,-0.0735645635997,-0.0734689492367,-0.0733733341984,-0.0732777184857,-0.0731821020994,-0.0730864850405,-0.0729908673097,-0.072895248908,-0.0727996298364,-0.0727040100955,-0.0726083896864,-0.0725127686098,-0.0724171468668,-0.0723215244581,-0.0722259013846,-0.0721302776472,-0.0720346532469,-0.0719390281844,-0.0718434024607,-0.0717477760766,-0.071652149033,-0.0715565213308,-0.0714608929708,-0.0713652639541,-0.0712696342813,-0.0711740039534,-0.0710783729714,-0.070982741336,-0.0708871090481,-0.0707914761086,-0.0706958425185,-0.0706002082785,-0.0705045733896,-0.0704089378526,-0.0703133016685,-0.070217664838,-0.0701220273621,-0.0700263892417,-0.0699307504776,-0.0698351110707,-0.0697394710219,-0.0696438303321,-0.0695481890021,-0.0694525470328,-0.0693569044252,-0.06926126118,-0.0691656172982,-0.0690699727807,-0.0689743276283,-0.0688786818418,-0.0687830354223,-0.0686873883705,-0.0685917406874,-0.0684960923738,-0.0684004434305,-0.0683047938586,-0.0682091436588,-0.0681134928321,-0.0680178413792,-0.0679221893012,-0.0678265365988,-0.067730883273,-0.0676352293246,-0.0675395747545,-0.0674439195637,-0.0673482637529,-0.067252607323,-0.067156950275,-0.0670612926096,-0.0669656343279,-0.0668699754306,-0.0667743159187,-0.066678655793,-0.0665829950544,-0.0664873337038,-0.066391671742,-0.06629600917,-0.0662003459886,-0.0661046821988,-0.0660090178013,-0.065913352797,-0.0658176871869,-0.0657220209718,-0.0656263541526,-0.0655306867302,-0.0654350187054,-0.0653393500792,-0.0652436808524,-0.0651480110259,-0.0650523406005,-0.0649566695772,-0.0648609979569,-0.0647653257403,-0.0646696529285,-0.0645739795222,-0.0644783055224,-0.0643826309299,-0.0642869557456,-0.0641912799704,-0.0640956036051,-0.0639999266507,-0.063904249108,-0.063808570978,-0.0637128922614,-0.0636172129592,-0.0635215330722,-0.0634258526014,-0.0633301715475,-0.0632344899116,-0.0631388076944,-0.0630431248968,-0.0629474415198,-0.0628517575642,-0.0627560730308,-0.0626603879206,-0.0625647022345,-0.0624690159732,-0.0623733291378,-0.062277641729,-0.0621819537478,-0.0620862651951,-0.0619905760716,-0.0618948863784,-0.0617991961162,-0.061703505286,-0.0616078138886,-0.0615121219249,-0.0614164293958,-0.0613207363022,-0.061225042645,-0.0611293484249,-0.061033653643,-0.0609379583001,-0.0608422623971,-0.0607465659348,-0.0606508689141,-0.0605551713359,-0.0604594732012,-0.0603637745107,-0.0602680752653,-0.060172375466,-0.0600766751136,-0.059980974209,-0.059885272753,-0.0597895707466,-0.0596938681907,-0.059598165086,-0.0595024614335,-0.0594067572341,-0.0593110524886,-0.059215347198,-0.059119641363,-0.0590239349847,-0.0589282280638,-0.0588325206012,-0.0587368125979,-0.0586411040547,-0.0585453949724,-0.0584496853521,-0.0583539751944,-0.0582582645004,-0.0581625532709,-0.0580668415068,-0.0579711292089,-0.0578754163782,-0.0577797030155,-0.0576839891217,-0.0575882746977,-0.0574925597444,-0.0573968442626,-0.0573011282532,-0.0572054117171,-0.0571096946552,-0.0570139770683,-0.0569182589574,-0.0568225403233,-0.0567268211669,-0.0566311014891,-0.0565353812907,-0.0564396605727,-0.0563439393359,-0.0562482175812,-0.0561524953095,-0.0560567725216,-0.0559610492185,-0.055865325401,-0.05576960107,-0.0556738762264,-0.055578150871,-0.0554824250048,-0.0553866986286,-0.0552909717432,-0.0551952443497,-0.0550995164488,-0.0550037880415,-0.0549080591285,-0.0548123297109,-0.0547165997894,-0.054620869365,-0.0545251384386,-0.0544294070109,-0.054333675083,-0.0542379426556,-0.0541422097297,-0.0540464763061,-0.0539507423857,-0.0538550079695,-0.0537592730582,-0.0536635376527,-0.053567801754,-0.0534720653629,-0.0533763284804,-0.0532805911071,-0.0531848532442,-0.0530891148924,-0.0529933760526,-0.0528976367257,-0.0528018969125,-0.0527061566141,-0.0526104158311,-0.0525146745646,-0.0524189328154,-0.0523231905843,-0.0522274478723,-0.0521317046803,-0.052035961009,-0.0519402168595,-0.0518444722325,-0.051748727129,-0.0516529815499,-0.0515572354959,-0.051461488968,-0.0513657419672,-0.0512699944941,-0.0511742465499,-0.0510784981352,-0.050982749251,-0.0508869998982,-0.0507912500777,-0.0506954997903,-0.0505997490369,-0.0505039978184,-0.0504082461357,-0.0503124939897,-0.0502167413812,-0.0501209883111,-0.0500252347803,-0.0499294807897,-0.0498337263401,-0.0497379714325,-0.0496422160677,-0.0495464602466,-0.0494507039701,-0.049354947239,-0.0492591900543,-0.0491634324168,-0.0490676743274,-0.048971915787,-0.0488761567964,-0.0487803973566,-0.0486846374684,-0.0485888771327,-0.0484931163504,-0.0483973551224,-0.0483015934495,-0.0482058313326,-0.0481100687726,-0.0480143057704,-0.0479185423269,-0.0478227784429,-0.0477270141193,-0.047631249357,-0.047535484157,-0.0474397185199,-0.0473439524469,-0.0472481859386,-0.0471524189961,-0.0470566516201,-0.0469608838116,-0.0468651155715,-0.0467693469005,-0.0466735777997,-0.0465778082699,-0.0464820383119,-0.0463862679267,-0.0462904971151,-0.046194725878,-0.0460989542163,-0.0460031821309,-0.0459074096226,-0.0458116366924,-0.045715863341,-0.0456200895695,-0.0455243153786,-0.0454285407693,-0.0453327657424,-0.0452369902988,-0.0451412144394,-0.0450454381651,-0.0449496614767,-0.0448538843752,-0.0447581068613,-0.0446623289361,-0.0445665506003,-0.0444707718549,-0.0443749927008,-0.0442792131387,-0.0441834331696,-0.0440876527945,-0.043991872014,-0.0438960908292,-0.0438003092409,-0.0437045272501,-0.0436087448575,-0.043512962064,-0.0434171788706,-0.0433213952781,-0.0432256112874,-0.0431298268994,-0.043034042115,-0.0429382569349,-0.0428424713602,-0.0427466853918,-0.0426508990304,-0.0425551122769,-0.0424593251323,-0.0423635375974,-0.0422677496731,-0.0421719613603,-0.0420761726599,-0.0419803835727,-0.0418845940997,-0.0417888042416,-0.0416930139995,-0.0415972233741,-0.0415014323663,-0.0414056409771,-0.0413098492073,-0.0412140570577,-0.0411182645294,-0.0410224716231,-0.0409266783397,-0.0408308846801,-0.0407350906452,-0.0406392962359,-0.0405435014531,-0.0404477062976,-0.0403519107703,-0.040256114872,-0.0401603186038,-0.0400645219664,-0.0399687249608,-0.0398729275877,-0.0397771298482,-0.039681331743,-0.0395855332731,-0.0394897344394,-0.0393939352426,-0.0392981356838,-0.0392023357637,-0.0391065354833,-0.0390107348435,-0.038914933845,-0.0388191324889,-0.0387233307759,-0.038627528707,-0.0385317262831,-0.038435923505,-0.0383401203736,-0.0382443168897,-0.0381485130544,-0.0380527088683,-0.0379569043325,-0.0378610994479,-0.0377652942152,-0.0376694886353,-0.0375736827093,-0.0374778764378,-0.0373820698219,-0.0372862628624,-0.0371904555601,-0.037094647916,-0.0369988399309,-0.0369030316057,-0.0368072229414,-0.0367114139387,-0.0366156045985,-0.0365197949218,-0.0364239849094,-0.0363281745623,-0.0362323638812,-0.036136552867,-0.0360407415207,-0.0359449298431,-0.0358491178351,-0.0357533054976,-0.0356574928315,-0.0355616798376,-0.0354658665169,-0.0353700528701,-0.0352742388982,-0.0351784246021,-0.0350826099826,-0.0349867950407,-0.0348909797772,-0.034795164193,-0.0346993482889,-0.0346035320659,-0.0345077155248,-0.0344118986665,-0.034316081492,-0.034220264002,-0.0341244461974,-0.0340286280792,-0.0339328096482,-0.0338369909053,-0.0337411718514,-0.0336453524873,-0.033549532814,-0.0334537128323,-0.0333578925431,-0.0332620719473,-0.0331662510457,-0.0330704298393,-0.0329746083289,-0.0328787865154,-0.0327829643997,-0.0326871419827,-0.0325913192652,-0.0324954962481,-0.0323996729324,-0.0323038493188,-0.0322080254083,-0.0321122012018,-0.0320163767,-0.031920551904,-0.0318247268146,-0.0317289014327,-0.0316330757591,-0.0315372497948,-0.0314414235406,-0.0313455969973,-0.031249770166,-0.0311539430474,-0.0310581156424,-0.030962287952,-0.030866459977,-0.0307706317182,-0.0306748031766,-0.0305789743531,-0.0304831452485,-0.0303873158637,-0.0302914861995,-0.030195656257,-0.0300998260369,-0.0300039955401,-0.0299081647675,-0.02981233372,-0.0297165023985,-0.0296206708039,-0.0295248389369,-0.0294290067986,-0.0293331743898,-0.0292373417114,-0.0291415087642,-0.0290456755491,-0.0289498420671,-0.028854008319,-0.0287581743056,-0.028662340028,-0.0285665054868,-0.0284706706831,-0.0283748356177,-0.0282790002914,-0.0281831647053,-0.02808732886,-0.0279914927567,-0.027895656396,-0.0277998197789,-0.0277039829062,-0.027608145779,-0.0275123083979,-0.027416470764,-0.0273206328781,-0.027224794741,-0.0271289563537,-0.027033117717,-0.0269372788319,-0.0268414396991,-0.0267456003196,-0.0266497606943,-0.026553920824,-0.0264580807097,-0.0263622403521,-0.0262663997523,-0.026170558911,-0.0260747178291,-0.0259788765076,-0.0258830349473,-0.025787193149,-0.0256913511138,-0.0255955088423,-0.0254996663357,-0.0254038235946,-0.02530798062,-0.0252121374128,-0.0251162939739,-0.0250204503041,-0.0249246064043,-0.0248287622754,-0.0247329179183,-0.0246370733338,-0.0245412285229,-0.0244453834864,-0.0243495382252,-0.0242536927402,-0.0241578470323,-0.0240620011023,-0.0239661549511,-0.0238703085797,-0.0237744619888,-0.0236786151794,-0.0235827681524,-0.0234869209086,-0.0233910734489,-0.0232952257742,-0.0231993778853,-0.0231035297833,-0.0230076814688,-0.0229118329429,-0.0228159842064,-0.0227201352602,-0.0226242861051,-0.0225284367421,-0.0224325871719,-0.0223367373956,-0.022240887414,-0.022145037228,-0.0220491868384,-0.0219533362461,-0.021857485452,-0.021761634457,-0.021665783262,-0.0215699318679,-0.0214740802755,-0.0213782284857,-0.0212823764994,-0.0211865243174,-0.0210906719408,-0.0209948193702,-0.0208989666067,-0.0208031136511,-0.0207072605043,-0.0206114071671,-0.0205155536405,-0.0204196999253,-0.0203238460224,-0.0202279919327,-0.0201321376571,-0.0200362831964,-0.0199404285515,-0.0198445737234,-0.0197487187128,-0.0196528635207,-0.019557008148,-0.0194611525955,-0.0193652968642,-0.0192694409548,-0.0191735848683,-0.0190777286056,-0.0189818721675,-0.0188860155549,-0.0187901587688,-0.0186943018099,-0.0185984446792,-0.0185025873775,-0.0184067299058,-0.0183108722649,-0.0182150144556,-0.018119156479,-0.0180232983358,-0.0179274400269,-0.0178315815532,-0.0177357229157,-0.0176398641151,-0.0175440051524,-0.0174481460284,-0.017352286744,-0.0172564273001,-0.0171605676976,-0.0170647079374,-0.0169688480203,-0.0168729879473,-0.0167771277191,-0.0166812673368,-0.0165854068011,-0.016489546113,-0.0163936852733,-0.0162978242829,-0.0162019631427,-0.0161061018535,-0.0160102404164,-0.015914378832,-0.0158185171014,-0.0157226552254,-0.0156267932049,-0.0155309310407,-0.0154350687338,-0.015339206285,-0.0152433436952,-0.0151474809653,-0.0150516180961,-0.0149557550886,-0.0148598919437,-0.0147640286621,-0.0146681652449,-0.0145723016928,-0.0144764380067,-0.0143805741876,-0.0142847102364,-0.0141888461538,-0.0140929819408,-0.0139971175982,-0.013901253127,-0.0138053885281,-0.0137095238022,-0.0136136589503,-0.0135177939733,-0.013421928872,-0.0133260636473,-0.0132301983002,-0.0131343328315,-0.013038467242,-0.0129426015327,-0.0128467357044,-0.012750869758,-0.0126550036944,-0.0125591375145,-0.0124632712192,-0.0123674048093,-0.0122715382857,-0.0121756716493,-0.0120798049011,-0.0119839380417,-0.0118880710723,-0.0117922039935,-0.0116963368064,-0.0116004695117,-0.0115046021104,-0.0114087346034,-0.0113128669915,-0.0112169992756,-0.0111211314566,-0.0110252635354,-0.0109293955129,-0.0108335273899,-0.0107376591673,-0.010641790846,-0.0105459224269,-0.0104500539108,-0.0103541852987,-0.0102583165915,-0.0101624477899,-0.0100665788949,-0.00997070990742,-0.00987484082827,-0.00977897165835,-0.00968310239854,-0.00958723304973,-0.00949136361279,-0.00939549408862,-0.00929962447808,-0.00920375478206,-0.00910788500144,-0.00901201513711,-0.00891614518993,-0.00882027516081,-0.00872440505061,-0.00862853486021,-0.00853266459051,-0.00843679424237,-0.00834092381668,-0.00824505331433,-0.00814918273619,-0.00805331208315,-0.00795744135608,-0.00786157055586,-0.00776569968339,-0.00766982873953,-0.00757395772518,-0.0074780866412,-0.00738221548849,-0.00728634426793,-0.00719047298039,-0.00709460162675,-0.00699873020791,-0.00690285872473,-0.0068069871781,-0.00671111556891,-0.00661524389803,-0.00651937216634,-0.00642350037473,-0.00632762852407,-0.00623175661525,-0.00613588464915,-0.00604001262666,-0.00594414054864,-0.00584826841598,-0.00575239622957,-0.00565652399029,-0.00556065169901,-0.00546477935662,-0.005368906964,-0.00527303452202,-0.00517716203158,-0.00508128949356,-0.00498541690882,-0.00488954427826,-0.00479367160276,-0.0046977988832,-0.00460192612045,-0.0045060533154,-0.00441018046894,-0.00431430758194,-0.00421843465528,-0.00412256168984,-0.00402668868652,-0.00393081564618,-0.00383494256971,-0.00373906945799,-0.0036431963119,-0.00354732313232,-0.00345144992014,-0.00335557667623,-0.00325970340148,-0.00316383009676,-0.00306795676297,-0.00297208340097,-0.00287621001166,-0.0027803365959,-0.0026844631546,-0.00258858968861,-0.00249271619884,-0.00239684268615,-0.00230096915143,-0.00220509559556,-0.00210922201942,-0.00201334842389,-0.00191747480986,-0.0018216011782,-0.0017257275298,-0.00162985386553,-0.00153398018629,-0.00143810649294,-0.00134223278637,-0.00124635906747,-0.00115048533711,-0.00105461159618,-0.000958737845554,-0.000862864086114,-0.000766990318743,-0.000671116544322,-0.000575242763732,-0.000479368977855,-0.000383495187572,-0.000287621393764,-0.000191747597311,-9.58737990961e-05,0.0,9.5873799096e-05}; - -}; \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.c b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.c deleted file mode 100644 index b7254e3..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.c +++ /dev/null @@ -1,5042 +0,0 @@ -// Ogg Vorbis I audio decoder -- version 0.99996 -// -// Written in April 2007 by Sean Barrett, sponsored by RAD Game Tools. -// -// Placed in the public domain April 2007 by the author: no copyright is -// claimed, and you may use it for any purpose you like. -// -// No warranty for any purpose is expressed or implied by the author (nor -// by RAD Game Tools). Report bugs and send enhancements to the author. -// -// Get the latest version and other information at: -// http://nothings.org/stb_vorbis/ - - -// Todo: -// -// - seeking (note you can seek yourself using the pushdata API) -// -// Limitations: -// -// - floor 0 not supported (used in old ogg vorbis files) -// - lossless sample-truncation at beginning ignored -// - cannot concatenate multiple vorbis streams -// - sample positions are 32-bit, limiting seekable 192Khz -// files to around 6 hours (Ogg supports 64-bit) -// -// All of these limitations may be removed in future versions. - -#include "stb_vorbis.h" - -#ifndef STB_VORBIS_HEADER_ONLY - -// global configuration settings (e.g. set these in the project/makefile), -// or just set them in this file at the top (although ideally the first few -// should be visible when the header file is compiled too, although it's not -// crucial) - -// STB_VORBIS_NO_PUSHDATA_API -// does not compile the code for the various stb_vorbis_*_pushdata() -// functions -// #define STB_VORBIS_NO_PUSHDATA_API - -// STB_VORBIS_NO_PULLDATA_API -// does not compile the code for the non-pushdata APIs -// #define STB_VORBIS_NO_PULLDATA_API - -// STB_VORBIS_NO_STDIO -// does not compile the code for the APIs that use FILE *s internally -// or externally (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_STDIO - -// STB_VORBIS_NO_INTEGER_CONVERSION -// does not compile the code for converting audio sample data from -// float to integer (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_INTEGER_CONVERSION - -// STB_VORBIS_NO_FAST_SCALED_FLOAT -// does not use a fast float-to-int trick to accelerate float-to-int on -// most platforms which requires endianness be defined correctly. -//#define STB_VORBIS_NO_FAST_SCALED_FLOAT - - -// STB_VORBIS_MAX_CHANNELS [number] -// globally define this to the maximum number of channels you need. -// The spec does not put a restriction on channels except that -// the count is stored in a byte, so 255 is the hard limit. -// Reducing this saves about 16 bytes per value, so using 16 saves -// (255-16)*16 or around 4KB. Plus anything other memory usage -// I forgot to account for. Can probably go as low as 8 (7.1 audio), -// 6 (5.1 audio), or 2 (stereo only). -#ifndef STB_VORBIS_MAX_CHANNELS -#define STB_VORBIS_MAX_CHANNELS 16 // enough for anyone? -#endif - -// STB_VORBIS_PUSHDATA_CRC_COUNT [number] -// after a flush_pushdata(), stb_vorbis begins scanning for the -// next valid page, without backtracking. when it finds something -// that looks like a page, it streams through it and verifies its -// CRC32. Should that validation fail, it keeps scanning. But it's -// possible that _while_ streaming through to check the CRC32 of -// one candidate page, it sees another candidate page. This #define -// determines how many "overlapping" candidate pages it can search -// at once. Note that "real" pages are typically ~4KB to ~8KB, whereas -// garbage pages could be as big as 64KB, but probably average ~16KB. -// So don't hose ourselves by scanning an apparent 64KB page and -// missing a ton of real ones in the interim; so minimum of 2 -#ifndef STB_VORBIS_PUSHDATA_CRC_COUNT -#define STB_VORBIS_PUSHDATA_CRC_COUNT 4 -#endif - -// STB_VORBIS_FAST_HUFFMAN_LENGTH [number] -// sets the log size of the huffman-acceleration table. Maximum -// supported value is 24. with larger numbers, more decodings are O(1), -// but the table size is larger so worse cache missing, so you'll have -// to probe (and try multiple ogg vorbis files) to find the sweet spot. -#ifndef STB_VORBIS_FAST_HUFFMAN_LENGTH -#define STB_VORBIS_FAST_HUFFMAN_LENGTH 10 -#endif - -// STB_VORBIS_FAST_BINARY_LENGTH [number] -// sets the log size of the binary-search acceleration table. this -// is used in similar fashion to the fast-huffman size to set initial -// parameters for the binary search - -// STB_VORBIS_FAST_HUFFMAN_INT -// The fast huffman tables are much more efficient if they can be -// stored as 16-bit results instead of 32-bit results. This restricts -// the codebooks to having only 65535 possible outcomes, though. -// (At least, accelerated by the huffman table.) -#ifndef STB_VORBIS_FAST_HUFFMAN_INT -#define STB_VORBIS_FAST_HUFFMAN_SHORT -#endif - -// STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH -// If the 'fast huffman' search doesn't succeed, then stb_vorbis falls -// back on binary searching for the correct one. This requires storing -// extra tables with the huffman codes in sorted order. Defining this -// symbol trades off space for speed by forcing a linear search in the -// non-fast case, except for "sparse" codebooks. -// #define STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - -// STB_VORBIS_DIVIDES_IN_RESIDUE -// stb_vorbis precomputes the result of the scalar residue decoding -// that would otherwise require a divide per chunk. you can trade off -// space for time by defining this symbol. -// #define STB_VORBIS_DIVIDES_IN_RESIDUE - -// STB_VORBIS_DIVIDES_IN_CODEBOOK -// vorbis VQ codebooks can be encoded two ways: with every case explicitly -// stored, or with all elements being chosen from a small range of values, -// and all values possible in all elements. By default, stb_vorbis expands -// this latter kind out to look like the former kind for ease of decoding, -// because otherwise an integer divide-per-vector-element is required to -// unpack the index. If you define STB_VORBIS_DIVIDES_IN_CODEBOOK, you can -// trade off storage for speed. -//#define STB_VORBIS_DIVIDES_IN_CODEBOOK - -// STB_VORBIS_CODEBOOK_SHORTS -// The vorbis file format encodes VQ codebook floats as ax+b where a and -// b are floating point per-codebook constants, and x is a 16-bit int. -// Normally, stb_vorbis decodes them to floats rather than leaving them -// as 16-bit ints and computing ax+b while decoding. This is a speed/space -// tradeoff; you can save space by defining this flag. -#ifndef STB_VORBIS_CODEBOOK_SHORTS -#define STB_VORBIS_CODEBOOK_FLOATS -#endif - -// STB_VORBIS_DIVIDE_TABLE -// this replaces small integer divides in the floor decode loop with -// table lookups. made less than 1% difference, so disabled by default. - -// STB_VORBIS_NO_INLINE_DECODE -// disables the inlining of the scalar codebook fast-huffman decode. -// might save a little codespace; useful for debugging -// #define STB_VORBIS_NO_INLINE_DECODE - -// STB_VORBIS_NO_DEFER_FLOOR -// Normally we only decode the floor without synthesizing the actual -// full curve. We can instead synthesize the curve immediately. This -// requires more memory and is very likely slower, so I don't think -// you'd ever want to do it except for debugging. -// #define STB_VORBIS_NO_DEFER_FLOOR - - - - -////////////////////////////////////////////////////////////////////////////// - -#ifdef STB_VORBIS_NO_PULLDATA_API - #define STB_VORBIS_NO_INTEGER_CONVERSION - #define STB_VORBIS_NO_STDIO -#endif - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) - #define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - - // only need endianness for fast-float-to-int, which we don't - // use for pushdata - - #ifndef STB_VORBIS_BIG_ENDIAN - #define STB_VORBIS_ENDIAN 0 - #else - #define STB_VORBIS_ENDIAN 1 - #endif - -#endif -#endif - - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifndef STB_VORBIS_NO_CRT -#include -#include -#include -#include -#if !(defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)) -#include -#endif -#else -#define NULL 0 -#endif - -#ifndef _MSC_VER - #if __GNUC__ - #define __forceinline inline - #else - #define __forceinline - #endif -#endif - -#if STB_VORBIS_MAX_CHANNELS > 256 -#error "Value of STB_VORBIS_MAX_CHANNELS outside of allowed range" -#endif - -#if STB_VORBIS_FAST_HUFFMAN_LENGTH > 24 -#error "Value of STB_VORBIS_FAST_HUFFMAN_LENGTH outside of allowed range" -#endif - - -#define MAX_BLOCKSIZE_LOG 13 // from specification -#define MAX_BLOCKSIZE (1 << MAX_BLOCKSIZE_LOG) - - -typedef unsigned char uint8; -typedef signed char int8; -typedef unsigned short uint16; -typedef signed short int16; -typedef unsigned int uint32; -typedef signed int int32; - -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif - -#ifdef STB_VORBIS_CODEBOOK_FLOATS -typedef float codetype; -#else -typedef uint16 codetype; -#endif - -// @NOTE -// -// Some arrays below are tagged "//varies", which means it's actually -// a variable-sized piece of data, but rather than malloc I assume it's -// small enough it's better to just allocate it all together with the -// main thing -// -// Most of the variables are specified with the smallest size I could pack -// them into. It might give better performance to make them all full-sized -// integers. It should be safe to freely rearrange the structures or change -// the sizes larger--nothing relies on silently truncating etc., nor the -// order of variables. - -#define FAST_HUFFMAN_TABLE_SIZE (1 << STB_VORBIS_FAST_HUFFMAN_LENGTH) -#define FAST_HUFFMAN_TABLE_MASK (FAST_HUFFMAN_TABLE_SIZE - 1) - -typedef struct -{ - int dimensions, entries; - uint8 *codeword_lengths; - float minimum_value; - float delta_value; - uint8 value_bits; - uint8 lookup_type; - uint8 sequence_p; - uint8 sparse; - uint32 lookup_values; - codetype *multiplicands; - uint32 *codewords; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - int16 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #else - int32 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #endif - uint32 *sorted_codewords; - int *sorted_values; - int sorted_entries; -} Codebook; - -typedef struct -{ - uint8 order; - uint16 rate; - uint16 bark_map_size; - uint8 amplitude_bits; - uint8 amplitude_offset; - uint8 number_of_books; - uint8 book_list[16]; // varies -} Floor0; - -typedef struct -{ - uint8 partitions; - uint8 partition_class_list[32]; // varies - uint8 class_dimensions[16]; // varies - uint8 class_subclasses[16]; // varies - uint8 class_masterbooks[16]; // varies - int16 subclass_books[16][8]; // varies - uint16 Xlist[31*8+2]; // varies - uint8 sorted_order[31*8+2]; - uint8 neighbors[31*8+2][2]; - uint8 floor1_multiplier; - uint8 rangebits; - int values; -} Floor1; - -typedef union -{ - Floor0 floor0; - Floor1 floor1; -} Floor; - -typedef struct -{ - uint32 begin, end; - uint32 part_size; - uint8 classifications; - uint8 classbook; - uint8 **classdata; - int16 (*residue_books)[8]; -} Residue; - -typedef struct -{ - uint8 magnitude; - uint8 angle; - uint8 mux; -} MappingChannel; - -typedef struct -{ - uint16 coupling_steps; - MappingChannel *chan; - uint8 submaps; - uint8 submap_floor[15]; // varies - uint8 submap_residue[15]; // varies -} Mapping; - -typedef struct -{ - uint8 blockflag; - uint8 mapping; - uint16 windowtype; - uint16 transformtype; -} Mode; - -typedef struct -{ - uint32 goal_crc; // expected crc if match - int bytes_left; // bytes left in packet - uint32 crc_so_far; // running crc - int bytes_done; // bytes processed in _current_ chunk - uint32 sample_loc; // granule pos encoded in page -} CRCscan; - -typedef struct -{ - uint32 page_start, page_end; - uint32 after_previous_page_start; - uint32 first_decoded_sample; - uint32 last_decoded_sample; -} ProbedPage; - -struct stb_vorbis -{ - // user-accessible info - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int temp_memory_required; - unsigned int setup_temp_memory_required; - - // input config -#ifndef STB_VORBIS_NO_STDIO - FILE *f; - uint32 f_start; - int close_on_free; -#endif - - uint8 *stream; - uint8 *stream_start; - uint8 *stream_end; - - uint32 stream_len; - - uint8 push_mode; - - uint32 first_audio_page_offset; - - ProbedPage p_first, p_last; - - // memory management - stb_vorbis_alloc alloc; - int setup_offset; - int temp_offset; - - // run-time results - int eof; - enum STBVorbisError error; - - // user-useful data - - // header info - int blocksize[2]; - int blocksize_0, blocksize_1; - int codebook_count; - Codebook *codebooks; - int floor_count; - uint16 floor_types[64]; // varies - Floor *floor_config; - int residue_count; - uint16 residue_types[64]; // varies - Residue *residue_config; - int mapping_count; - Mapping *mapping; - int mode_count; - Mode mode_config[64]; // varies - - uint32 total_samples; - - // decode buffer - float *channel_buffers[STB_VORBIS_MAX_CHANNELS]; - float *outputs [STB_VORBIS_MAX_CHANNELS]; - - float *previous_window[STB_VORBIS_MAX_CHANNELS]; - int previous_length; - - #ifndef STB_VORBIS_NO_DEFER_FLOOR - int16 *finalY[STB_VORBIS_MAX_CHANNELS]; - #else - float *floor_buffers[STB_VORBIS_MAX_CHANNELS]; - #endif - - uint32 current_loc; // sample location of next frame to decode - int current_loc_valid; - - // per-blocksize precomputed data - - // twiddle factors - float *A[2],*B[2],*C[2]; - float *window[2]; - uint16 *bit_reverse[2]; - - // current page/packet/segment streaming info - uint32 serial; // stream serial number for verification - int last_page; - int segment_count; - uint8 segments[255]; - uint8 page_flag; - uint8 bytes_in_seg; - uint8 first_decode; - int next_seg; - int last_seg; // flag that we're on the last segment - int last_seg_which; // what was the segment number of the last seg? - uint32 acc; - int valid_bits; - int packet_bytes; - int end_seg_with_known_loc; - uint32 known_loc_for_packet; - int discard_samples_deferred; - uint32 samples_output; - - // push mode scanning - int page_crc_tests; // only in push_mode: number of tests active; -1 if not searching -#ifndef STB_VORBIS_NO_PUSHDATA_API - CRCscan scan[STB_VORBIS_PUSHDATA_CRC_COUNT]; -#endif - - // sample-access - int channel_buffer_start; - int channel_buffer_end; -}; - -extern int my_prof(int slot); -//#define stb_prof my_prof - -#ifndef stb_prof -#define stb_prof(x) 0 -#endif - -#if defined(STB_VORBIS_NO_PUSHDATA_API) - #define IS_PUSH_MODE(f) FALSE -#elif defined(STB_VORBIS_NO_PULLDATA_API) - #define IS_PUSH_MODE(f) TRUE -#else - #define IS_PUSH_MODE(f) ((f)->push_mode) -#endif - -typedef struct stb_vorbis vorb; - -static int error(vorb *f, enum STBVorbisError e) -{ - f->error = e; - if (!f->eof && e != VORBIS_need_more_data) { - f->error=e; // breakpoint for debugging - } - return 0; -} - - -// these functions are used for allocating temporary memory -// while decoding. if you can afford the stack space, use -// alloca(); otherwise, provide a temp buffer and it will -// allocate out of those. - -#define array_size_required(count,size) (count*(sizeof(void *)+(size))) - -#define temp_alloc(f,size) (f->alloc.alloc_buffer ? setup_temp_malloc(f,size) : alloca(size)) -#ifdef dealloca -#define temp_free(f,p) (f->alloc.alloc_buffer ? 0 : dealloca(size)) -#else -#define temp_free(f,p) 0 -#endif -#define temp_alloc_save(f) ((f)->temp_offset) -#define temp_alloc_restore(f,p) ((f)->temp_offset = (p)) - -#define temp_block_array(f,count,size) make_block_array(temp_alloc(f,array_size_required(count,size)), count, size) - -// given a sufficiently large block of memory, make an array of pointers to subblocks of it -static void *make_block_array(void *mem, int count, int size) -{ - int i; - void ** p = (void **) mem; - char *q = (char *) (p + count); - for (i=0; i < count; ++i) { - p[i] = q; - q += size; - } - return p; -} - -static void *setup_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - f->setup_memory_required += sz; - if (f->alloc.alloc_buffer) { - void *p = (char *) f->alloc.alloc_buffer + f->setup_offset; - if (f->setup_offset + sz > f->temp_offset) return NULL; - f->setup_offset += sz; - return p; - } - return sz ? malloc(sz) : NULL; -} - -static void setup_free(vorb *f, void *p) -{ - if (f->alloc.alloc_buffer) return; // do nothing; setup mem is not a stack - free(p); -} - -static void *setup_temp_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - if (f->alloc.alloc_buffer) { - if (f->temp_offset - sz < f->setup_offset) return NULL; - f->temp_offset -= sz; - return (char *) f->alloc.alloc_buffer + f->temp_offset; - } - return malloc(sz); -} - -static void setup_temp_free(vorb *f, void *p, size_t sz) -{ - if (f->alloc.alloc_buffer) { - f->temp_offset += (sz+3)&~3; - return; - } - free(p); -} - -#define CRC32_POLY 0x04c11db7 // from spec - -static uint32 crc_table[256]; -static void crc32_init(void) -{ - int i,j; - uint32 s; - for(i=0; i < 256; i++) { - for (s=i<<24, j=0; j < 8; ++j) - s = (s << 1) ^ (s >= (1<<31) ? CRC32_POLY : 0); - crc_table[i] = s; - } -} - -static __forceinline uint32 crc32_update(uint32 crc, uint8 byte) -{ - return (crc << 8) ^ crc_table[byte ^ (crc >> 24)]; -} - - -// used in setup, and for huffman that doesn't go fast path -static unsigned int bit_reverse(unsigned int n) -{ - n = ((n & 0xAAAAAAAA) >> 1) | ((n & 0x55555555) << 1); - n = ((n & 0xCCCCCCCC) >> 2) | ((n & 0x33333333) << 2); - n = ((n & 0xF0F0F0F0) >> 4) | ((n & 0x0F0F0F0F) << 4); - n = ((n & 0xFF00FF00) >> 8) | ((n & 0x00FF00FF) << 8); - return (n >> 16) | (n << 16); -} - -static float square(float x) -{ - return x*x; -} - -// this is a weird definition of log2() for which log2(1) = 1, log2(2) = 2, log2(4) = 3 -// as required by the specification. fast(?) implementation from stb.h -// @OPTIMIZE: called multiple times per-packet with "constants"; move to setup -static int ilog(int32 n) -{ - static signed char log2_4[16] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4 }; - - // 2 compares if n < 16, 3 compares otherwise (4 if signed or n > 1<<29) - if (n < (1U << 14)) - if (n < (1U << 4)) return 0 + log2_4[n ]; - else if (n < (1U << 9)) return 5 + log2_4[n >> 5]; - else return 10 + log2_4[n >> 10]; - else if (n < (1U << 24)) - if (n < (1U << 19)) return 15 + log2_4[n >> 15]; - else return 20 + log2_4[n >> 20]; - else if (n < (1U << 29)) return 25 + log2_4[n >> 25]; - else if (n < (1U << 31)) return 30 + log2_4[n >> 30]; - else return 0; // signed n returns 0 -} - -#ifndef M_PI - #define M_PI 3.14159265358979323846264f // from CRC -#endif - -// code length assigned to a value with no huffman encoding -#define NO_CODE 255 - -/////////////////////// LEAF SETUP FUNCTIONS ////////////////////////// -// -// these functions are only called at setup, and only a few times -// per file - -static float float32_unpack(uint32 x) -{ - // from the specification - uint32 mantissa = x & 0x1fffff; - uint32 sign = x & 0x80000000; - uint32 exp = (x & 0x7fe00000) >> 21; - double res = sign ? -(double)mantissa : (double)mantissa; - return (float) ldexp((float)res, exp-788); -} - - -// zlib & jpeg huffman tables assume that the output symbols -// can either be arbitrarily arranged, or have monotonically -// increasing frequencies--they rely on the lengths being sorted; -// this makes for a very simple generation algorithm. -// vorbis allows a huffman table with non-sorted lengths. This -// requires a more sophisticated construction, since symbols in -// order do not map to huffman codes "in order". -static void add_entry(Codebook *c, uint32 huff_code, int symbol, int count, int len, uint32 *values) -{ - if (!c->sparse) { - c->codewords [symbol] = huff_code; - } else { - c->codewords [count] = huff_code; - c->codeword_lengths[count] = len; - values [count] = symbol; - } -} - -static int compute_codewords(Codebook *c, uint8 *len, int n, uint32 *values) -{ - int i,k,m=0; - uint32 available[32]; - - memset(available, 0, sizeof(available)); - // find the first entry - for (k=0; k < n; ++k) if (len[k] < NO_CODE) break; - if (k == n) { assert(c->sorted_entries == 0); return TRUE; } - // add to the list - add_entry(c, 0, k, m++, len[k], values); - // add all available leaves - for (i=1; i <= len[k]; ++i) - available[i] = 1 << (32-i); - // note that the above code treats the first case specially, - // but it's really the same as the following code, so they - // could probably be combined (except the initial code is 0, - // and I use 0 in available[] to mean 'empty') - for (i=k+1; i < n; ++i) { - uint32 res; - int z = len[i], y; - if (z == NO_CODE) continue; - // find lowest available leaf (should always be earliest, - // which is what the specification calls for) - // note that this property, and the fact we can never have - // more than one free leaf at a given level, isn't totally - // trivial to prove, but it seems true and the assert never - // fires, so! - while (z > 0 && !available[z]) --z; - if (z == 0) { assert(0); return FALSE; } - res = available[z]; - available[z] = 0; - add_entry(c, bit_reverse(res), i, m++, len[i], values); - // propogate availability up the tree - if (z != len[i]) { - for (y=len[i]; y > z; --y) { - assert(available[y] == 0); - available[y] = res + (1 << (32-y)); - } - } - } - return TRUE; -} - -// accelerated huffman table allows fast O(1) match of all symbols -// of length <= STB_VORBIS_FAST_HUFFMAN_LENGTH -static void compute_accelerated_huffman(Codebook *c) -{ - int i, len; - for (i=0; i < FAST_HUFFMAN_TABLE_SIZE; ++i) - c->fast_huffman[i] = -1; - - len = c->sparse ? c->sorted_entries : c->entries; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - if (len > 32767) len = 32767; // largest possible value we can encode! - #endif - for (i=0; i < len; ++i) { - if (c->codeword_lengths[i] <= STB_VORBIS_FAST_HUFFMAN_LENGTH) { - uint32 z = c->sparse ? bit_reverse(c->sorted_codewords[i]) : c->codewords[i]; - // set table entries for all bit combinations in the higher bits - while (z < FAST_HUFFMAN_TABLE_SIZE) { - c->fast_huffman[z] = i; - z += 1 << c->codeword_lengths[i]; - } - } - } -} - -static int uint32_compare(const void *p, const void *q) -{ - uint32 x = * (uint32 *) p; - uint32 y = * (uint32 *) q; - return x < y ? -1 : x > y; -} - -static int include_in_sort(Codebook *c, uint8 len) -{ - if (c->sparse) { assert(len != NO_CODE); return TRUE; } - if (len == NO_CODE) return FALSE; - if (len > STB_VORBIS_FAST_HUFFMAN_LENGTH) return TRUE; - return FALSE; -} - -// if the fast table above doesn't work, we want to binary -// search them... need to reverse the bits -static void compute_sorted_huffman(Codebook *c, uint8 *lengths, uint32 *values) -{ - int i, len; - // build a list of all the entries - // OPTIMIZATION: don't include the short ones, since they'll be caught by FAST_HUFFMAN. - // this is kind of a frivolous optimization--I don't see any performance improvement, - // but it's like 4 extra lines of code, so. - if (!c->sparse) { - int k = 0; - for (i=0; i < c->entries; ++i) - if (include_in_sort(c, lengths[i])) - c->sorted_codewords[k++] = bit_reverse(c->codewords[i]); - assert(k == c->sorted_entries); - } else { - for (i=0; i < c->sorted_entries; ++i) - c->sorted_codewords[i] = bit_reverse(c->codewords[i]); - } - - qsort(c->sorted_codewords, c->sorted_entries, sizeof(c->sorted_codewords[0]), uint32_compare); - c->sorted_codewords[c->sorted_entries] = 0xffffffff; - - len = c->sparse ? c->sorted_entries : c->entries; - // now we need to indicate how they correspond; we could either - // #1: sort a different data structure that says who they correspond to - // #2: for each sorted entry, search the original list to find who corresponds - // #3: for each original entry, find the sorted entry - // #1 requires extra storage, #2 is slow, #3 can use binary search! - for (i=0; i < len; ++i) { - int huff_len = c->sparse ? lengths[values[i]] : lengths[i]; - if (include_in_sort(c,huff_len)) { - uint32 code = bit_reverse(c->codewords[i]); - int x=0, n=c->sorted_entries; - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - assert(c->sorted_codewords[x] == code); - if (c->sparse) { - c->sorted_values[x] = values[i]; - c->codeword_lengths[x] = huff_len; - } else { - c->sorted_values[x] = i; - } - } - } -} - -// only run while parsing the header (3 times) -static int vorbis_validate(uint8 *data) -{ - static uint8 vorbis[6] = { 'v', 'o', 'r', 'b', 'i', 's' }; - return memcmp(data, vorbis, 6) == 0; -} - -// called from setup only, once per code book -// (formula implied by specification) -static int lookup1_values(int entries, int dim) -{ - int r = (int) floor(exp((float) log((float) entries) / dim)); - if ((int) floor(pow((float) r+1, dim)) <= entries) // (int) cast for MinGW warning; - ++r; // floor() to avoid _ftol() when non-CRT - assert(pow((float) r+1, dim) > entries); - assert((int) floor(pow((float) r, dim)) <= entries); // (int),floor() as above - return r; -} - -// called twice per file -static void compute_twiddle_factors(int n, float *A, float *B, float *C) -{ - int n4 = n >> 2, n8 = n >> 3; - int k,k2; - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2) * 0.5f; - B[k2+1] = (float) sin((k2+1)*M_PI/n/2) * 0.5f; - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } -} - -static void compute_window(int n, float *window) -{ - int n2 = n >> 1, i; - for (i=0; i < n2; ++i) - window[i] = (float) sin(0.5 * M_PI * square((float) sin((i - 0 + 0.5) / n2 * 0.5 * M_PI))); -} - -static void compute_bitreverse(int n, uint16 *rev) -{ - int ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - int i, n8 = n >> 3; - for (i=0; i < n8; ++i) - rev[i] = (bit_reverse(i) >> (32-ld+3)) << 2; -} - -static int init_blocksize(vorb *f, int b, int n) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3; - f->A[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->B[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->C[b] = (float *) setup_malloc(f, sizeof(float) * n4); - if (!f->A[b] || !f->B[b] || !f->C[b]) return error(f, VORBIS_outofmem); - compute_twiddle_factors(n, f->A[b], f->B[b], f->C[b]); - f->window[b] = (float *) setup_malloc(f, sizeof(float) * n2); - if (!f->window[b]) return error(f, VORBIS_outofmem); - compute_window(n, f->window[b]); - f->bit_reverse[b] = (uint16 *) setup_malloc(f, sizeof(uint16) * n8); - if (!f->bit_reverse[b]) return error(f, VORBIS_outofmem); - compute_bitreverse(n, f->bit_reverse[b]); - return TRUE; -} - -static void neighbors(uint16 *x, int n, int *plow, int *phigh) -{ - int low = -1; - int high = 65536; - int i; - for (i=0; i < n; ++i) { - if (x[i] > low && x[i] < x[n]) { *plow = i; low = x[i]; } - if (x[i] < high && x[i] > x[n]) { *phigh = i; high = x[i]; } - } -} - -// this has been repurposed so y is now the original index instead of y -typedef struct -{ - uint16 x,y; -} VorbisPoint; - -int point_compare(const void *p, const void *q) -{ - VorbisPoint *a = (VorbisPoint *) p; - VorbisPoint *b = (VorbisPoint *) q; - return a->x < b->x ? -1 : a->x > b->x; -} - -// -/////////////////////// END LEAF SETUP FUNCTIONS ////////////////////////// - - -#if defined(STB_VORBIS_NO_STDIO) - #define USE_MEMORY(z) TRUE -#else - #define USE_MEMORY(z) ((z)->stream) -#endif - -static uint8 get8(vorb *z) -{ - if (USE_MEMORY(z)) { - if (z->stream >= z->stream_end) { z->eof = TRUE; return 0; } - return *z->stream++; - } - - #ifndef STB_VORBIS_NO_STDIO - { - int c = fgetc(z->f); - if (c == EOF) { z->eof = TRUE; return 0; } - return c; - } - #endif -} - -static uint32 get32(vorb *f) -{ - uint32 x; - x = get8(f); - x += get8(f) << 8; - x += get8(f) << 16; - x += get8(f) << 24; - return x; -} - -static int getn(vorb *z, uint8 *data, int n) -{ - if (USE_MEMORY(z)) { - if (z->stream+n > z->stream_end) { z->eof = 1; return 0; } - memcpy(data, z->stream, n); - z->stream += n; - return 1; - } - - #ifndef STB_VORBIS_NO_STDIO - if (fread(data, n, 1, z->f) == 1) - return 1; - else { - z->eof = 1; - return 0; - } - #endif -} - -static void skip(vorb *z, int n) -{ - if (USE_MEMORY(z)) { - z->stream += n; - if (z->stream >= z->stream_end) z->eof = 1; - return; - } - #ifndef STB_VORBIS_NO_STDIO - { - long x = ftell(z->f); - fseek(z->f, x+n, SEEK_SET); - } - #endif -} - -static int set_file_offset(stb_vorbis *f, unsigned int loc) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - f->eof = 0; - if (USE_MEMORY(f)) { - if (f->stream_start + loc >= f->stream_end || f->stream_start + loc < f->stream_start) { - f->stream = f->stream_end; - f->eof = 1; - return 0; - } else { - f->stream = f->stream_start + loc; - return 1; - } - } - #ifndef STB_VORBIS_NO_STDIO - if (loc + f->f_start < loc || loc >= 0x80000000) { - loc = 0x7fffffff; - f->eof = 1; - } else { - loc += f->f_start; - } - if (!fseek(f->f, loc, SEEK_SET)) - return 1; - f->eof = 1; - fseek(f->f, f->f_start, SEEK_END); - return 0; - #endif -} - - -static uint8 ogg_page_header[4] = { 0x4f, 0x67, 0x67, 0x53 }; - -static int capture_pattern(vorb *f) -{ - if (0x4f != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x53 != get8(f)) return FALSE; - return TRUE; -} - -#define PAGEFLAG_continued_packet 1 -#define PAGEFLAG_first_page 2 -#define PAGEFLAG_last_page 4 - -static int start_page_no_capturepattern(vorb *f) -{ - uint32 loc0,loc1,n,i; - // stream structure version - if (0 != get8(f)) return error(f, VORBIS_invalid_stream_structure_version); - // header flag - f->page_flag = get8(f); - // absolute granule position - loc0 = get32(f); - loc1 = get32(f); - // @TODO: validate loc0,loc1 as valid positions? - // stream serial number -- vorbis doesn't interleave, so discard - get32(f); - //if (f->serial != get32(f)) return error(f, VORBIS_incorrect_stream_serial_number); - // page sequence number - n = get32(f); - f->last_page = n; - // CRC32 - get32(f); - // page_segments - f->segment_count = get8(f); - if (!getn(f, f->segments, f->segment_count)) - return error(f, VORBIS_unexpected_eof); - // assume we _don't_ know any the sample position of any segments - f->end_seg_with_known_loc = -2; - if (loc0 != ~0 || loc1 != ~0) { - // determine which packet is the last one that will complete - for (i=f->segment_count-1; i >= 0; --i) - if (f->segments[i] < 255) - break; - // 'i' is now the index of the _last_ segment of a packet that ends - if (i >= 0) { - f->end_seg_with_known_loc = i; - f->known_loc_for_packet = loc0; - } - } - if (f->first_decode) { - int i,len; - ProbedPage p; - len = 0; - for (i=0; i < f->segment_count; ++i) - len += f->segments[i]; - len += 27 + f->segment_count; - p.page_start = f->first_audio_page_offset; - p.page_end = p.page_start + len; - p.after_previous_page_start = p.page_start; - p.first_decoded_sample = 0; - p.last_decoded_sample = loc0; - f->p_first = p; - } - f->next_seg = 0; - return TRUE; -} - -static int start_page(vorb *f) -{ - if (!capture_pattern(f)) return error(f, VORBIS_missing_capture_pattern); - return start_page_no_capturepattern(f); -} - -static int start_packet(vorb *f) -{ - while (f->next_seg == -1) { - if (!start_page(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) - return error(f, VORBIS_continued_packet_flag_invalid); - } - f->last_seg = FALSE; - f->valid_bits = 0; - f->packet_bytes = 0; - f->bytes_in_seg = 0; - // f->next_seg is now valid - return TRUE; -} - -static int maybe_start_packet(vorb *f) -{ - if (f->next_seg == -1) { - int x = get8(f); - if (f->eof) return FALSE; // EOF at page boundary is not an error! - if (0x4f != x ) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x53 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (!start_page_no_capturepattern(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) { - // set up enough state that we can read this packet if we want, - // e.g. during recovery - f->last_seg = FALSE; - f->bytes_in_seg = 0; - return error(f, VORBIS_continued_packet_flag_invalid); - } - } - return start_packet(f); -} - -static int next_segment(vorb *f) -{ - int len; - if (f->last_seg) return 0; - if (f->next_seg == -1) { - f->last_seg_which = f->segment_count-1; // in case start_page fails - if (!start_page(f)) { f->last_seg = 1; return 0; } - if (!(f->page_flag & PAGEFLAG_continued_packet)) return error(f, VORBIS_continued_packet_flag_invalid); - } - len = f->segments[f->next_seg++]; - if (len < 255) { - f->last_seg = TRUE; - f->last_seg_which = f->next_seg-1; - } - if (f->next_seg >= f->segment_count) - f->next_seg = -1; - assert(f->bytes_in_seg == 0); - f->bytes_in_seg = len; - return len; -} - -#define EOP (-1) -#define INVALID_BITS (-1) - -static int get8_packet_raw(vorb *f) -{ - if (!f->bytes_in_seg) - if (f->last_seg) return EOP; - else if (!next_segment(f)) return EOP; - assert(f->bytes_in_seg > 0); - --f->bytes_in_seg; - ++f->packet_bytes; - return get8(f); -} - -static int get8_packet(vorb *f) -{ - int x = get8_packet_raw(f); - f->valid_bits = 0; - return x; -} - -static void flush_packet(vorb *f) -{ - while (get8_packet_raw(f) != EOP); -} - -// @OPTIMIZE: this is the secondary bit decoder, so it's probably not as important -// as the huffman decoder? -static uint32 get_bits(vorb *f, int n) -{ - uint32 z; - - if (f->valid_bits < 0) return 0; - if (f->valid_bits < n) { - if (n > 24) { - // the accumulator technique below would not work correctly in this case - z = get_bits(f, 24); - z += get_bits(f, n-24) << 24; - return z; - } - if (f->valid_bits == 0) f->acc = 0; - while (f->valid_bits < n) { - int z = get8_packet_raw(f); - if (z == EOP) { - f->valid_bits = INVALID_BITS; - return 0; - } - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } - } - if (f->valid_bits < 0) return 0; - z = f->acc & ((1 << n)-1); - f->acc >>= n; - f->valid_bits -= n; - return z; -} - -static int32 get_bits_signed(vorb *f, int n) -{ - uint32 z = get_bits(f, n); - if (z & (1 << (n-1))) - z += ~((1 << n) - 1); - return (int32) z; -} - -// @OPTIMIZE: primary accumulator for huffman -// expand the buffer to as many bits as possible without reading off end of packet -// it might be nice to allow f->valid_bits and f->acc to be stored in registers, -// e.g. cache them locally and decode locally -static __forceinline void prep_huffman(vorb *f) -{ - if (f->valid_bits <= 24) { - if (f->valid_bits == 0) f->acc = 0; - do { - int z; - if (f->last_seg && !f->bytes_in_seg) return; - z = get8_packet_raw(f); - if (z == EOP) return; - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } while (f->valid_bits <= 24); - } -} - -enum -{ - VORBIS_packet_id = 1, - VORBIS_packet_comment = 3, - VORBIS_packet_setup = 5, -}; - -static int codebook_decode_scalar_raw(vorb *f, Codebook *c) -{ - int i; - prep_huffman(f); - - assert(c->sorted_codewords || c->codewords); - // cases to use binary search: sorted_codewords && !c->codewords - // sorted_codewords && c->entries > 8 - if (c->entries > 8 ? c->sorted_codewords!=NULL : !c->codewords) { - // binary search - uint32 code = bit_reverse(f->acc); - int x=0, n=c->sorted_entries, len; - - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - // x is now the sorted index - if (!c->sparse) x = c->sorted_values[x]; - // x is now sorted index if sparse, or symbol otherwise - len = c->codeword_lengths[x]; - if (f->valid_bits >= len) { - f->acc >>= len; - f->valid_bits -= len; - return x; - } - - f->valid_bits = 0; - return -1; - } - - // if small, linear search - assert(!c->sparse); - for (i=0; i < c->entries; ++i) { - if (c->codeword_lengths[i] == NO_CODE) continue; - if (c->codewords[i] == (f->acc & ((1 << c->codeword_lengths[i])-1))) { - if (f->valid_bits >= c->codeword_lengths[i]) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - return i; - } - f->valid_bits = 0; - return -1; - } - } - - error(f, VORBIS_invalid_stream); - f->valid_bits = 0; - return -1; -} - -static int codebook_decode_scalar(vorb *f, Codebook *c) -{ - int i; - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) - prep_huffman(f); - // fast huffman table lookup - i = f->acc & FAST_HUFFMAN_TABLE_MASK; - i = c->fast_huffman[i]; - if (i >= 0) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - if (f->valid_bits < 0) { f->valid_bits = 0; return -1; } - return i; - } - return codebook_decode_scalar_raw(f,c); -} - -#ifndef STB_VORBIS_NO_INLINE_DECODE - -#define DECODE_RAW(var, f,c) \ - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) \ - prep_huffman(f); \ - var = f->acc & FAST_HUFFMAN_TABLE_MASK; \ - var = c->fast_huffman[var]; \ - if (var >= 0) { \ - int n = c->codeword_lengths[var]; \ - f->acc >>= n; \ - f->valid_bits -= n; \ - if (f->valid_bits < 0) { f->valid_bits = 0; var = -1; } \ - } else { \ - var = codebook_decode_scalar_raw(f,c); \ - } - -#else - -#define DECODE_RAW(var,f,c) var = codebook_decode_scalar(f,c); - -#endif - -#define DECODE(var,f,c) \ - DECODE_RAW(var,f,c) \ - if (c->sparse) var = c->sorted_values[var]; - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - #define DECODE_VQ(var,f,c) DECODE_RAW(var,f,c) -#else - #define DECODE_VQ(var,f,c) DECODE(var,f,c) -#endif - - - - - - -// CODEBOOK_ELEMENT_FAST is an optimization for the CODEBOOK_FLOATS case -// where we avoid one addition -#ifndef STB_VORBIS_CODEBOOK_FLOATS - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off] * c->delta_value + c->minimum_value) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off] * c->delta_value) - #define CODEBOOK_ELEMENT_BASE(c) (c->minimum_value) -#else - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_BASE(c) (0) -#endif - -static int codebook_decode_start(vorb *f, Codebook *c, int len) -{ - int z = -1; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) - error(f, VORBIS_invalid_stream); - else { - DECODE_VQ(z,f,c); - if (c->sparse) assert(z < c->sorted_entries); - if (z < 0) { // check for EOP - if (!f->bytes_in_seg) - if (f->last_seg) - return z; - error(f, VORBIS_invalid_stream); - } - } - return z; -} - -static int codebook_decode(vorb *f, Codebook *c, float *output, int len) -{ - int i,z = codebook_decode_start(f,c,len); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - float last = CODEBOOK_ELEMENT_BASE(c); - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i] += val; - if (c->sequence_p) last = val + c->minimum_value; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - if (c->sequence_p) { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i] += val; - last = val + c->minimum_value; - } - } else { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - output[i] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - } - } - - return TRUE; -} - -static int codebook_decode_step(vorb *f, Codebook *c, float *output, int len, int step) -{ - int i,z = codebook_decode_start(f,c,len); - float last = CODEBOOK_ELEMENT_BASE(c); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - } - - return TRUE; -} - -static int codebook_decode_deinterleave_repeat(vorb *f, Codebook *c, float **outputs, int ch, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - #ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - assert(!c->sparse || z < c->sorted_entries); - #endif - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*ch + effective > len * ch) { - effective = len*ch - (p_inter*ch - c_inter); - } - - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < effective; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - } else - #endif - { - z *= c->dimensions; - if (c->sequence_p) { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK -static int codebook_decode_deinterleave_repeat_2(vorb *f, Codebook *c, float **outputs, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*2 + effective > len * 2) { - effective = len*2 - (p_inter*2 - c_inter); - } - - { - z *= c->dimensions; - stb_prof(11); - if (c->sequence_p) { - // haven't optimized this case because I don't have any examples - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - i=0; - if (c_inter == 1) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - c_inter = 0; ++p_inter; - ++i; - } - { - float *z0 = outputs[0]; - float *z1 = outputs[1]; - for (; i+1 < effective;) { - z0[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - z1[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i+1) + last; - ++p_inter; - i += 2; - } - } - if (i < effective) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} -#endif - -static int predict_point(int x, int x0, int x1, int y0, int y1) -{ - int dy = y1 - y0; - int adx = x1 - x0; - // @OPTIMIZE: force int division to round in the right direction... is this necessary on x86? - int err = abs(dy) * (x - x0); - int off = err / adx; - return dy < 0 ? y0 - off : y0 + off; -} - -// the following table is block-copied from the specification -static float inverse_db_table[256] = -{ - 1.0649863e-07f, 1.1341951e-07f, 1.2079015e-07f, 1.2863978e-07f, - 1.3699951e-07f, 1.4590251e-07f, 1.5538408e-07f, 1.6548181e-07f, - 1.7623575e-07f, 1.8768855e-07f, 1.9988561e-07f, 2.1287530e-07f, - 2.2670913e-07f, 2.4144197e-07f, 2.5713223e-07f, 2.7384213e-07f, - 2.9163793e-07f, 3.1059021e-07f, 3.3077411e-07f, 3.5226968e-07f, - 3.7516214e-07f, 3.9954229e-07f, 4.2550680e-07f, 4.5315863e-07f, - 4.8260743e-07f, 5.1396998e-07f, 5.4737065e-07f, 5.8294187e-07f, - 6.2082472e-07f, 6.6116941e-07f, 7.0413592e-07f, 7.4989464e-07f, - 7.9862701e-07f, 8.5052630e-07f, 9.0579828e-07f, 9.6466216e-07f, - 1.0273513e-06f, 1.0941144e-06f, 1.1652161e-06f, 1.2409384e-06f, - 1.3215816e-06f, 1.4074654e-06f, 1.4989305e-06f, 1.5963394e-06f, - 1.7000785e-06f, 1.8105592e-06f, 1.9282195e-06f, 2.0535261e-06f, - 2.1869758e-06f, 2.3290978e-06f, 2.4804557e-06f, 2.6416497e-06f, - 2.8133190e-06f, 2.9961443e-06f, 3.1908506e-06f, 3.3982101e-06f, - 3.6190449e-06f, 3.8542308e-06f, 4.1047004e-06f, 4.3714470e-06f, - 4.6555282e-06f, 4.9580707e-06f, 5.2802740e-06f, 5.6234160e-06f, - 5.9888572e-06f, 6.3780469e-06f, 6.7925283e-06f, 7.2339451e-06f, - 7.7040476e-06f, 8.2047000e-06f, 8.7378876e-06f, 9.3057248e-06f, - 9.9104632e-06f, 1.0554501e-05f, 1.1240392e-05f, 1.1970856e-05f, - 1.2748789e-05f, 1.3577278e-05f, 1.4459606e-05f, 1.5399272e-05f, - 1.6400004e-05f, 1.7465768e-05f, 1.8600792e-05f, 1.9809576e-05f, - 2.1096914e-05f, 2.2467911e-05f, 2.3928002e-05f, 2.5482978e-05f, - 2.7139006e-05f, 2.8902651e-05f, 3.0780908e-05f, 3.2781225e-05f, - 3.4911534e-05f, 3.7180282e-05f, 3.9596466e-05f, 4.2169667e-05f, - 4.4910090e-05f, 4.7828601e-05f, 5.0936773e-05f, 5.4246931e-05f, - 5.7772202e-05f, 6.1526565e-05f, 6.5524908e-05f, 6.9783085e-05f, - 7.4317983e-05f, 7.9147585e-05f, 8.4291040e-05f, 8.9768747e-05f, - 9.5602426e-05f, 0.00010181521f, 0.00010843174f, 0.00011547824f, - 0.00012298267f, 0.00013097477f, 0.00013948625f, 0.00014855085f, - 0.00015820453f, 0.00016848555f, 0.00017943469f, 0.00019109536f, - 0.00020351382f, 0.00021673929f, 0.00023082423f, 0.00024582449f, - 0.00026179955f, 0.00027881276f, 0.00029693158f, 0.00031622787f, - 0.00033677814f, 0.00035866388f, 0.00038197188f, 0.00040679456f, - 0.00043323036f, 0.00046138411f, 0.00049136745f, 0.00052329927f, - 0.00055730621f, 0.00059352311f, 0.00063209358f, 0.00067317058f, - 0.00071691700f, 0.00076350630f, 0.00081312324f, 0.00086596457f, - 0.00092223983f, 0.00098217216f, 0.0010459992f, 0.0011139742f, - 0.0011863665f, 0.0012634633f, 0.0013455702f, 0.0014330129f, - 0.0015261382f, 0.0016253153f, 0.0017309374f, 0.0018434235f, - 0.0019632195f, 0.0020908006f, 0.0022266726f, 0.0023713743f, - 0.0025254795f, 0.0026895994f, 0.0028643847f, 0.0030505286f, - 0.0032487691f, 0.0034598925f, 0.0036847358f, 0.0039241906f, - 0.0041792066f, 0.0044507950f, 0.0047400328f, 0.0050480668f, - 0.0053761186f, 0.0057254891f, 0.0060975636f, 0.0064938176f, - 0.0069158225f, 0.0073652516f, 0.0078438871f, 0.0083536271f, - 0.0088964928f, 0.009474637f, 0.010090352f, 0.010746080f, - 0.011444421f, 0.012188144f, 0.012980198f, 0.013823725f, - 0.014722068f, 0.015678791f, 0.016697687f, 0.017782797f, - 0.018938423f, 0.020169149f, 0.021479854f, 0.022875735f, - 0.024362330f, 0.025945531f, 0.027631618f, 0.029427276f, - 0.031339626f, 0.033376252f, 0.035545228f, 0.037855157f, - 0.040315199f, 0.042935108f, 0.045725273f, 0.048696758f, - 0.051861348f, 0.055231591f, 0.058820850f, 0.062643361f, - 0.066714279f, 0.071049749f, 0.075666962f, 0.080584227f, - 0.085821044f, 0.091398179f, 0.097337747f, 0.10366330f, - 0.11039993f, 0.11757434f, 0.12521498f, 0.13335215f, - 0.14201813f, 0.15124727f, 0.16107617f, 0.17154380f, - 0.18269168f, 0.19456402f, 0.20720788f, 0.22067342f, - 0.23501402f, 0.25028656f, 0.26655159f, 0.28387361f, - 0.30232132f, 0.32196786f, 0.34289114f, 0.36517414f, - 0.38890521f, 0.41417847f, 0.44109412f, 0.46975890f, - 0.50028648f, 0.53279791f, 0.56742212f, 0.60429640f, - 0.64356699f, 0.68538959f, 0.72993007f, 0.77736504f, - 0.82788260f, 0.88168307f, 0.9389798f, 1.0f -}; - - -// @OPTIMIZE: if you want to replace this bresenham line-drawing routine, -// note that you must produce bit-identical output to decode correctly; -// this specific sequence of operations is specified in the spec (it's -// drawing integer-quantized frequency-space lines that the encoder -// expects to be exactly the same) -// ... also, isn't the whole point of Bresenham's algorithm to NOT -// have to divide in the setup? sigh. -#ifndef STB_VORBIS_NO_DEFER_FLOOR -#define LINE_OP(a,b) a *= b -#else -#define LINE_OP(a,b) a = b -#endif - -#ifdef STB_VORBIS_DIVIDE_TABLE -#define DIVTAB_NUMER 32 -#define DIVTAB_DENOM 64 -int8 integer_divide_table[DIVTAB_NUMER][DIVTAB_DENOM]; // 2KB -#endif - -static __forceinline void draw_line(float *output, int x0, int y0, int x1, int y1, int n) -{ - int dy = y1 - y0; - int adx = x1 - x0; - int ady = abs(dy); - int base; - int x=x0,y=y0; - int err = 0; - int sy; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (adx < DIVTAB_DENOM && ady < DIVTAB_NUMER) { - if (dy < 0) { - base = -integer_divide_table[ady][adx]; - sy = base-1; - } else { - base = integer_divide_table[ady][adx]; - sy = base+1; - } - } else { - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; - } -#else - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; -#endif - ady -= abs(base) * adx; - if (x1 > n) x1 = n; - LINE_OP(output[x], inverse_db_table[y]); - for (++x; x < x1; ++x) { - err += ady; - if (err >= adx) { - err -= adx; - y += sy; - } else - y += base; - LINE_OP(output[x], inverse_db_table[y]); - } -} - -static int residue_decode(vorb *f, Codebook *book, float *target, int offset, int n, int rtype) -{ - int k; - if (rtype == 0) { - int step = n / book->dimensions; - for (k=0; k < step; ++k) - if (!codebook_decode_step(f, book, target+offset+k, n-offset-k, step)) - return FALSE; - } else { - for (k=0; k < n; ) { - if (!codebook_decode(f, book, target+offset, n-k)) - return FALSE; - k += book->dimensions; - offset += book->dimensions; - } - } - return TRUE; -} - -static void decode_residue(vorb *f, float *residue_buffers[], int ch, int n, int rn, uint8 *do_not_decode) -{ - int i,j,pass; - Residue *r = f->residue_config + rn; - int rtype = f->residue_types[rn]; - int c = r->classbook; - int classwords = f->codebooks[c].dimensions; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - int temp_alloc_point = temp_alloc_save(f); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - uint8 ***part_classdata = (uint8 ***) temp_block_array(f,f->channels, part_read * sizeof(**part_classdata)); - #else - int **classifications = (int **) temp_block_array(f,f->channels, part_read * sizeof(**classifications)); - #endif - - stb_prof(2); - for (i=0; i < ch; ++i) - if (!do_not_decode[i]) - memset(residue_buffers[i], 0, sizeof(float) * n); - - if (rtype == 2 && ch != 1) { - int len = ch * n; - for (j=0; j < ch; ++j) - if (!do_not_decode[j]) - break; - if (j == ch) - goto done; - - stb_prof(3); - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set = 0; - if (ch == 2) { - stb_prof(13); - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = (z & 1), p_inter = z>>1; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - stb_prof(5); - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(20); // accounts for X time - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - #else - // saves 1% - if (!codebook_decode_deinterleave_repeat_2(f, book, residue_buffers, &c_inter, &p_inter, n, r->part_size)) - goto done; - #endif - stb_prof(7); - } else { - z += r->part_size; - c_inter = z & 1; - p_inter = z >> 1; - } - } - stb_prof(8); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else if (ch == 1) { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = 0, p_inter = z; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = 0; - p_inter = z; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = z % ch, p_inter = z/ch; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = z % ch; - p_inter = z / ch; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - } - goto done; - } - stb_prof(9); - - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set=0; - while (pcount < part_read) { - if (pass == 0) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - Codebook *c = f->codebooks+r->classbook; - int temp; - DECODE(temp,f,c); - if (temp == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[j][class_set] = r->classdata[temp]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[j][i+pcount] = temp % r->classifications; - temp /= r->classifications; - } - #endif - } - } - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[j][class_set][i]; - #else - int c = classifications[j][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - float *target = residue_buffers[j]; - int offset = r->begin + pcount * r->part_size; - int n = r->part_size; - Codebook *book = f->codebooks + b; - if (!residue_decode(f, book, target, offset, n, rtype)) - goto done; - } - } - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - done: - stb_prof(0); - temp_alloc_restore(f,temp_alloc_point); -} - - -#if 0 -// slow way for debugging -void inverse_mdct_slow(float *buffer, int n) -{ - int i,j; - int n2 = n >> 1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - // formula from paper: - //acc += n/4.0f * x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - // formula from wikipedia - //acc += 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - // these are equivalent, except the formula from the paper inverts the multiplier! - // however, what actually works is NO MULTIPLIER!?! - //acc += 64 * 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - acc += x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - buffer[i] = acc; - } - free(x); -} -#elif 0 -// same as above, but just barely able to run in real time on modern machines -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - float mcos[16384]; - int i,j; - int n2 = n >> 1, nmask = (n << 2) -1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < 4*n; ++i) - mcos[i] = (float) cos(M_PI / 2 * i / n); - - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - acc += x[j] * mcos[(2 * i + 1 + n2)*(2*j+1) & nmask]; - buffer[i] = acc; - } - free(x); -} -#else -// transform to use a slow dct-iv; this is STILL basically trivial, -// but only requires half as many ops -void dct_iv_slow(float *buffer, int n) -{ - float mcos[16384]; - float x[2048]; - int i,j; - int n2 = n >> 1, nmask = (n << 3) - 1; - memcpy(x, buffer, sizeof(*x) * n); - for (i=0; i < 8*n; ++i) - mcos[i] = (float) cos(M_PI / 4 * i / n); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n; ++j) - acc += x[j] * mcos[((2 * i + 1)*(2*j+1)) & nmask]; - //acc += x[j] * cos(M_PI / n * (i + 0.5) * (j + 0.5)); - buffer[i] = acc; - } - free(x); -} - -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - int i, n4 = n >> 2, n2 = n >> 1, n3_4 = n - n4; - float temp[4096]; - - memcpy(temp, buffer, n2 * sizeof(float)); - dct_iv_slow(temp, n2); // returns -c'-d, a-b' - - for (i=0; i < n4 ; ++i) buffer[i] = temp[i+n4]; // a-b' - for ( ; i < n3_4; ++i) buffer[i] = -temp[n3_4 - i - 1]; // b-a', c+d' - for ( ; i < n ; ++i) buffer[i] = -temp[i - n3_4]; // c'+d -} -#endif - -#ifndef LIBVORBIS_MDCT -#define LIBVORBIS_MDCT 0 -#endif - -#if LIBVORBIS_MDCT -// directly call the vorbis MDCT using an interface documented -// by Jeff Roberts... useful for performance comparison -typedef struct -{ - int n; - int log2n; - - float *trig; - int *bitrev; - - float scale; -} mdct_lookup; - -extern void mdct_init(mdct_lookup *lookup, int n); -extern void mdct_clear(mdct_lookup *l); -extern void mdct_backward(mdct_lookup *init, float *in, float *out); - -mdct_lookup M1,M2; - -void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - mdct_lookup *M; - if (M1.n == n) M = &M1; - else if (M2.n == n) M = &M2; - else if (M1.n == 0) { mdct_init(&M1, n); M = &M1; } - else { - if (M2.n) __asm int 3; - mdct_init(&M2, n); - M = &M2; - } - - mdct_backward(M, buffer, buffer); -} -#endif - - -// the following were split out into separate functions while optimizing; -// they could be pushed back up but eh. __forceinline showed no change; -// they're probably already being inlined. -static void imdct_step3_iter0_loop(int n, float *e, int i_off, int k_off, float *A) -{ - float *ee0 = e + i_off; - float *ee2 = ee0 + k_off; - int i; - - assert((n & 3) == 0); - for (i=(n>>2); i > 0; --i) { - float k00_20, k01_21; - k00_20 = ee0[ 0] - ee2[ 0]; - k01_21 = ee0[-1] - ee2[-1]; - ee0[ 0] += ee2[ 0];//ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] += ee2[-1];//ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-1] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-2] - ee2[-2]; - k01_21 = ee0[-3] - ee2[-3]; - ee0[-2] += ee2[-2];//ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] += ee2[-3];//ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-3] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-4] - ee2[-4]; - k01_21 = ee0[-5] - ee2[-5]; - ee0[-4] += ee2[-4];//ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] += ee2[-5];//ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-5] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-6] - ee2[-6]; - k01_21 = ee0[-7] - ee2[-7]; - ee0[-6] += ee2[-6];//ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] += ee2[-7];//ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-7] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - ee0 -= 8; - ee2 -= 8; - } -} - -static void imdct_step3_inner_r_loop(int lim, float *e, int d0, int k_off, float *A, int k1) -{ - int i; - float k00_20, k01_21; - - float *e0 = e + d0; - float *e2 = e0 + k_off; - - for (i=lim >> 2; i > 0; --i) { - k00_20 = e0[-0] - e2[-0]; - k01_21 = e0[-1] - e2[-1]; - e0[-0] += e2[-0];//e0[-0] = e0[-0] + e2[-0]; - e0[-1] += e2[-1];//e0[-1] = e0[-1] + e2[-1]; - e2[-0] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-1] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-2] - e2[-2]; - k01_21 = e0[-3] - e2[-3]; - e0[-2] += e2[-2];//e0[-2] = e0[-2] + e2[-2]; - e0[-3] += e2[-3];//e0[-3] = e0[-3] + e2[-3]; - e2[-2] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-3] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-4] - e2[-4]; - k01_21 = e0[-5] - e2[-5]; - e0[-4] += e2[-4];//e0[-4] = e0[-4] + e2[-4]; - e0[-5] += e2[-5];//e0[-5] = e0[-5] + e2[-5]; - e2[-4] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-5] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-6] - e2[-6]; - k01_21 = e0[-7] - e2[-7]; - e0[-6] += e2[-6];//e0[-6] = e0[-6] + e2[-6]; - e0[-7] += e2[-7];//e0[-7] = e0[-7] + e2[-7]; - e2[-6] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-7] = (k01_21)*A[0] + (k00_20) * A[1]; - - e0 -= 8; - e2 -= 8; - - A += k1; - } -} - -static void imdct_step3_inner_s_loop(int n, float *e, int i_off, int k_off, float *A, int a_off, int k0) -{ - int i; - float A0 = A[0]; - float A1 = A[0+1]; - float A2 = A[0+a_off]; - float A3 = A[0+a_off+1]; - float A4 = A[0+a_off*2+0]; - float A5 = A[0+a_off*2+1]; - float A6 = A[0+a_off*3+0]; - float A7 = A[0+a_off*3+1]; - - float k00,k11; - - float *ee0 = e +i_off; - float *ee2 = ee0+k_off; - - for (i=n; i > 0; --i) { - k00 = ee0[ 0] - ee2[ 0]; - k11 = ee0[-1] - ee2[-1]; - ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = (k00) * A0 - (k11) * A1; - ee2[-1] = (k11) * A0 + (k00) * A1; - - k00 = ee0[-2] - ee2[-2]; - k11 = ee0[-3] - ee2[-3]; - ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = (k00) * A2 - (k11) * A3; - ee2[-3] = (k11) * A2 + (k00) * A3; - - k00 = ee0[-4] - ee2[-4]; - k11 = ee0[-5] - ee2[-5]; - ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = (k00) * A4 - (k11) * A5; - ee2[-5] = (k11) * A4 + (k00) * A5; - - k00 = ee0[-6] - ee2[-6]; - k11 = ee0[-7] - ee2[-7]; - ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = (k00) * A6 - (k11) * A7; - ee2[-7] = (k11) * A6 + (k00) * A7; - - ee0 -= k0; - ee2 -= k0; - } -} - -static __forceinline void iter_54(float *z) -{ - float k00,k11,k22,k33; - float y0,y1,y2,y3; - - k00 = z[ 0] - z[-4]; - y0 = z[ 0] + z[-4]; - y2 = z[-2] + z[-6]; - k22 = z[-2] - z[-6]; - - z[-0] = y0 + y2; // z0 + z4 + z2 + z6 - z[-2] = y0 - y2; // z0 + z4 - z2 - z6 - - // done with y0,y2 - - k33 = z[-3] - z[-7]; - - z[-4] = k00 + k33; // z0 - z4 + z3 - z7 - z[-6] = k00 - k33; // z0 - z4 - z3 + z7 - - // done with k33 - - k11 = z[-1] - z[-5]; - y1 = z[-1] + z[-5]; - y3 = z[-3] + z[-7]; - - z[-1] = y1 + y3; // z1 + z5 + z3 + z7 - z[-3] = y1 - y3; // z1 + z5 - z3 - z7 - z[-5] = k11 - k22; // z1 - z5 + z2 - z6 - z[-7] = k11 + k22; // z1 - z5 - z2 + z6 -} - -static void imdct_step3_inner_s_loop_ld654(int n, float *e, int i_off, float *A, int base_n) -{ - int k_off = -8; - int a_off = base_n >> 3; - float A2 = A[0+a_off]; - float *z = e + i_off; - float *base = z - 16 * n; - - while (z > base) { - float k00,k11; - - k00 = z[-0] - z[-8]; - k11 = z[-1] - z[-9]; - z[-0] = z[-0] + z[-8]; - z[-1] = z[-1] + z[-9]; - z[-8] = k00; - z[-9] = k11 ; - - k00 = z[ -2] - z[-10]; - k11 = z[ -3] - z[-11]; - z[ -2] = z[ -2] + z[-10]; - z[ -3] = z[ -3] + z[-11]; - z[-10] = (k00+k11) * A2; - z[-11] = (k11-k00) * A2; - - k00 = z[-12] - z[ -4]; // reverse to avoid a unary negation - k11 = z[ -5] - z[-13]; - z[ -4] = z[ -4] + z[-12]; - z[ -5] = z[ -5] + z[-13]; - z[-12] = k11; - z[-13] = k00; - - k00 = z[-14] - z[ -6]; // reverse to avoid a unary negation - k11 = z[ -7] - z[-15]; - z[ -6] = z[ -6] + z[-14]; - z[ -7] = z[ -7] + z[-15]; - z[-14] = (k00+k11) * A2; - z[-15] = (k00-k11) * A2; - - iter_54(z); - iter_54(z-8); - z -= 16; - } -} - -static void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // @OPTIMIZE: reduce register pressure by using fewer variables? - int save_point = temp_alloc_save(f); - float *buf2 = (float *) temp_alloc(f, n2 * sizeof(*buf2)); - float *u=NULL,*v=NULL; - // twiddle factors - float *A = f->A[blocktype]; - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // See notes about bugs in that paper in less-optimal implementation 'inverse_mdct_old' after this function. - - // kernel from paper - - - // merged: - // copy and reflect spectral data - // step 0 - - // note that it turns out that the items added together during - // this step are, in fact, being added to themselves (as reflected - // by step 0). inexplicable inefficiency! this became obvious - // once I combined the passes. - - // so there's a missing 'times 2' here (for adding X to itself). - // this propogates through linearly to the end, where the numbers - // are 1/2 too small, and need to be compensated for. - - { - float *d,*e, *AA, *e_stop; - d = &buf2[n2-2]; - AA = A; - e = &buffer[0]; - e_stop = &buffer[n2]; - while (e != e_stop) { - d[1] = (e[0] * AA[0] - e[2]*AA[1]); - d[0] = (e[0] * AA[1] + e[2]*AA[0]); - d -= 2; - AA += 2; - e += 4; - } - - e = &buffer[n2-3]; - while (d >= buf2) { - d[1] = (-e[2] * AA[0] - -e[0]*AA[1]); - d[0] = (-e[2] * AA[1] + -e[0]*AA[0]); - d -= 2; - AA += 2; - e -= 4; - } - } - - // now we use symbolic names for these, so that we can - // possibly swap their meaning as we change which operations - // are in place - - u = buffer; - v = buf2; - - // step 2 (paper output is w, now u) - // this could be in place, but the data ends up in the wrong - // place... _somebody_'s got to swap it, so this is nominated - { - float *AA = &A[n2-8]; - float *d0,*d1, *e0, *e1; - - e0 = &v[n4]; - e1 = &v[0]; - - d0 = &u[n4]; - d1 = &u[0]; - - while (AA >= A) { - float v40_20, v41_21; - - v41_21 = e0[1] - e1[1]; - v40_20 = e0[0] - e1[0]; - d0[1] = e0[1] + e1[1]; - d0[0] = e0[0] + e1[0]; - d1[1] = v41_21*AA[4] - v40_20*AA[5]; - d1[0] = v40_20*AA[4] + v41_21*AA[5]; - - v41_21 = e0[3] - e1[3]; - v40_20 = e0[2] - e1[2]; - d0[3] = e0[3] + e1[3]; - d0[2] = e0[2] + e1[2]; - d1[3] = v41_21*AA[0] - v40_20*AA[1]; - d1[2] = v40_20*AA[0] + v41_21*AA[1]; - - AA -= 8; - - d0 += 4; - d1 += 4; - e0 += 4; - e1 += 4; - } - } - - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - - // optimized step 3: - - // the original step3 loop can be nested r inside s or s inside r; - // it's written originally as s inside r, but this is dumb when r - // iterates many times, and s few. So I have two copies of it and - // switch between them halfway. - - // this is iteration 0 of step 3 - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*0, -(n >> 3), A); - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*1, -(n >> 3), A); - - // this is iteration 1 of step 3 - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*0, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*1, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*2, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*3, -(n >> 4), A, 16); - - l=2; - for (; l < (ld-3)>>1; ++l) { - int k0 = n >> (l+2), k0_2 = k0>>1; - int lim = 1 << (l+1); - int i; - for (i=0; i < lim; ++i) - imdct_step3_inner_r_loop(n >> (l+4), u, n2-1 - k0*i, -k0_2, A, 1 << (l+3)); - } - - for (; l < ld-6; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3), k0_2 = k0>>1; - int rlim = n >> (l+6), r; - int lim = 1 << (l+1); - int i_off; - float *A0 = A; - i_off = n2-1; - for (r=rlim; r > 0; --r) { - imdct_step3_inner_s_loop(lim, u, i_off, -k0_2, A0, k1, k0); - A0 += k1*4; - i_off -= 8; - } - } - - // iterations with count: - // ld-6,-5,-4 all interleaved together - // the big win comes from getting rid of needless flops - // due to the constants on pass 5 & 4 being all 1 and 0; - // combining them to be simultaneous to improve cache made little difference - imdct_step3_inner_s_loop_ld654(n >> 5, u, n2-1, A, n); - - // output is u - - // step 4, 5, and 6 - // cannot be in-place because of step 5 - { - uint16 *bitrev = f->bit_reverse[blocktype]; - // weirdly, I'd have thought reading sequentially and writing - // erratically would have been better than vice-versa, but in - // fact that's not what my testing showed. (That is, with - // j = bitreverse(i), do you read i and write j, or read j and write i.) - - float *d0 = &v[n4-4]; - float *d1 = &v[n2-4]; - while (d0 >= v) { - int k4; - - k4 = bitrev[0]; - d1[3] = u[k4+0]; - d1[2] = u[k4+1]; - d0[3] = u[k4+2]; - d0[2] = u[k4+3]; - - k4 = bitrev[1]; - d1[1] = u[k4+0]; - d1[0] = u[k4+1]; - d0[1] = u[k4+2]; - d0[0] = u[k4+3]; - - d0 -= 4; - d1 -= 4; - bitrev += 2; - } - } - // (paper output is u, now v) - - - // data must be in buf2 - assert(v == buf2); - - // step 7 (paper output is v, now v) - // this is now in place - { - float *C = f->C[blocktype]; - float *d, *e; - - d = v; - e = v + n2 - 4; - - while (d < e) { - float a02,a11,b0,b1,b2,b3; - - a02 = d[0] - e[2]; - a11 = d[1] + e[3]; - - b0 = C[1]*a02 + C[0]*a11; - b1 = C[1]*a11 - C[0]*a02; - - b2 = d[0] + e[ 2]; - b3 = d[1] - e[ 3]; - - d[0] = b2 + b0; - d[1] = b3 + b1; - e[2] = b2 - b0; - e[3] = b1 - b3; - - a02 = d[2] - e[0]; - a11 = d[3] + e[1]; - - b0 = C[3]*a02 + C[2]*a11; - b1 = C[3]*a11 - C[2]*a02; - - b2 = d[2] + e[ 0]; - b3 = d[3] - e[ 1]; - - d[2] = b2 + b0; - d[3] = b3 + b1; - e[0] = b2 - b0; - e[1] = b1 - b3; - - C += 4; - d += 4; - e -= 4; - } - } - - // data must be in buf2 - - - // step 8+decode (paper output is X, now buffer) - // this generates pairs of data a la 8 and pushes them directly through - // the decode kernel (pushing rather than pulling) to avoid having - // to make another pass later - - // this cannot POSSIBLY be in place, so we refer to the buffers directly - - { - float *d0,*d1,*d2,*d3; - - float *B = f->B[blocktype] + n2 - 8; - float *e = buf2 + n2 - 8; - d0 = &buffer[0]; - d1 = &buffer[n2-4]; - d2 = &buffer[n2]; - d3 = &buffer[n-4]; - while (e >= v) { - float p0,p1,p2,p3; - - p3 = e[6]*B[7] - e[7]*B[6]; - p2 = -e[6]*B[6] - e[7]*B[7]; - - d0[0] = p3; - d1[3] = - p3; - d2[0] = p2; - d3[3] = p2; - - p1 = e[4]*B[5] - e[5]*B[4]; - p0 = -e[4]*B[4] - e[5]*B[5]; - - d0[1] = p1; - d1[2] = - p1; - d2[1] = p0; - d3[2] = p0; - - p3 = e[2]*B[3] - e[3]*B[2]; - p2 = -e[2]*B[2] - e[3]*B[3]; - - d0[2] = p3; - d1[1] = - p3; - d2[2] = p2; - d3[1] = p2; - - p1 = e[0]*B[1] - e[1]*B[0]; - p0 = -e[0]*B[0] - e[1]*B[1]; - - d0[3] = p1; - d1[0] = - p1; - d2[3] = p0; - d3[0] = p0; - - B -= 8; - e -= 8; - d0 += 4; - d2 += 4; - d1 -= 4; - d3 -= 4; - } - } - - temp_alloc_restore(f,save_point); -} - -#if 0 -// this is the original version of the above code, if you want to optimize it from scratch -void inverse_mdct_naive(float *buffer, int n) -{ - float s; - float A[1 << 12], B[1 << 12], C[1 << 11]; - int i,k,k2,k4, n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // how can they claim this only uses N words?! - // oh, because they're only used sparsely, whoops - float u[1 << 13], X[1 << 13], v[1 << 13], w[1 << 13]; - // set up twiddle factors - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2); - B[k2+1] = (float) sin((k2+1)*M_PI/n/2); - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // Note there are bugs in that pseudocode, presumably due to them attempting - // to rename the arrays nicely rather than representing the way their actual - // implementation bounces buffers back and forth. As a result, even in the - // "some formulars corrected" version, a direct implementation fails. These - // are noted below as "paper bug". - - // copy and reflect spectral data - for (k=0; k < n2; ++k) u[k] = buffer[k]; - for ( ; k < n ; ++k) u[k] = -buffer[n - k - 1]; - // kernel from paper - // step 1 - for (k=k2=k4=0; k < n4; k+=1, k2+=2, k4+=4) { - v[n-k4-1] = (u[k4] - u[n-k4-1]) * A[k2] - (u[k4+2] - u[n-k4-3])*A[k2+1]; - v[n-k4-3] = (u[k4] - u[n-k4-1]) * A[k2+1] + (u[k4+2] - u[n-k4-3])*A[k2]; - } - // step 2 - for (k=k4=0; k < n8; k+=1, k4+=4) { - w[n2+3+k4] = v[n2+3+k4] + v[k4+3]; - w[n2+1+k4] = v[n2+1+k4] + v[k4+1]; - w[k4+3] = (v[n2+3+k4] - v[k4+3])*A[n2-4-k4] - (v[n2+1+k4]-v[k4+1])*A[n2-3-k4]; - w[k4+1] = (v[n2+1+k4] - v[k4+1])*A[n2-4-k4] + (v[n2+3+k4]-v[k4+3])*A[n2-3-k4]; - } - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - for (l=0; l < ld-3; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3); - int rlim = n >> (l+4), r4, r; - int s2lim = 1 << (l+2), s2; - for (r=r4=0; r < rlim; r4+=4,++r) { - for (s2=0; s2 < s2lim; s2+=2) { - u[n-1-k0*s2-r4] = w[n-1-k0*s2-r4] + w[n-1-k0*(s2+1)-r4]; - u[n-3-k0*s2-r4] = w[n-3-k0*s2-r4] + w[n-3-k0*(s2+1)-r4]; - u[n-1-k0*(s2+1)-r4] = (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1] - - (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1+1]; - u[n-3-k0*(s2+1)-r4] = (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1] - + (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1+1]; - } - } - if (l+1 < ld-3) { - // paper bug: ping-ponging of u&w here is omitted - memcpy(w, u, sizeof(u)); - } - } - - // step 4 - for (i=0; i < n8; ++i) { - int j = bit_reverse(i) >> (32-ld+3); - assert(j < n8); - if (i == j) { - // paper bug: original code probably swapped in place; if copying, - // need to directly copy in this case - int i8 = i << 3; - v[i8+1] = u[i8+1]; - v[i8+3] = u[i8+3]; - v[i8+5] = u[i8+5]; - v[i8+7] = u[i8+7]; - } else if (i < j) { - int i8 = i << 3, j8 = j << 3; - v[j8+1] = u[i8+1], v[i8+1] = u[j8 + 1]; - v[j8+3] = u[i8+3], v[i8+3] = u[j8 + 3]; - v[j8+5] = u[i8+5], v[i8+5] = u[j8 + 5]; - v[j8+7] = u[i8+7], v[i8+7] = u[j8 + 7]; - } - } - // step 5 - for (k=0; k < n2; ++k) { - w[k] = v[k*2+1]; - } - // step 6 - for (k=k2=k4=0; k < n8; ++k, k2 += 2, k4 += 4) { - u[n-1-k2] = w[k4]; - u[n-2-k2] = w[k4+1]; - u[n3_4 - 1 - k2] = w[k4+2]; - u[n3_4 - 2 - k2] = w[k4+3]; - } - // step 7 - for (k=k2=0; k < n8; ++k, k2 += 2) { - v[n2 + k2 ] = ( u[n2 + k2] + u[n-2-k2] + C[k2+1]*(u[n2+k2]-u[n-2-k2]) + C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n-2 - k2] = ( u[n2 + k2] + u[n-2-k2] - C[k2+1]*(u[n2+k2]-u[n-2-k2]) - C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n2+1+ k2] = ( u[n2+1+k2] - u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - v[n-1 - k2] = (-u[n2+1+k2] + u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - } - // step 8 - for (k=k2=0; k < n4; ++k,k2 += 2) { - X[k] = v[k2+n2]*B[k2 ] + v[k2+1+n2]*B[k2+1]; - X[n2-1-k] = v[k2+n2]*B[k2+1] - v[k2+1+n2]*B[k2 ]; - } - - // decode kernel to output - // determined the following value experimentally - // (by first figuring out what made inverse_mdct_slow work); then matching that here - // (probably vorbis encoder premultiplies by n or n/2, to save it on the decoder?) - s = 0.5; // theoretically would be n4 - - // [[[ note! the s value of 0.5 is compensated for by the B[] in the current code, - // so it needs to use the "old" B values to behave correctly, or else - // set s to 1.0 ]]] - for (i=0; i < n4 ; ++i) buffer[i] = s * X[i+n4]; - for ( ; i < n3_4; ++i) buffer[i] = -s * X[n3_4 - i - 1]; - for ( ; i < n ; ++i) buffer[i] = -s * X[i - n3_4]; -} -#endif - -static float *get_window(vorb *f, int len) -{ - len <<= 1; - if (len == f->blocksize_0) return f->window[0]; - if (len == f->blocksize_1) return f->window[1]; - assert(0); - return NULL; -} - -#ifndef STB_VORBIS_NO_DEFER_FLOOR -typedef int16 YTYPE; -#else -typedef int YTYPE; -#endif -static int do_floor(vorb *f, Mapping *map, int i, int n, float *target, YTYPE *finalY, uint8 *step2_flag) -{ - int n2 = n >> 1; - int s = map->chan[i].mux, floor; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - int j,q; - int lx = 0, ly = finalY[0] * g->floor1_multiplier; - for (q=1; q < g->values; ++q) { - j = g->sorted_order[q]; - #ifndef STB_VORBIS_NO_DEFER_FLOOR - if (finalY[j] >= 0) - #else - if (step2_flag[j]) - #endif - { - int hy = finalY[j] * g->floor1_multiplier; - int hx = g->Xlist[j]; - draw_line(target, lx,ly, hx,hy, n2); - lx = hx, ly = hy; - } - } - if (lx < n2) - // optimization of: draw_line(target, lx,ly, n,ly, n2); - for (j=lx; j < n2; ++j) - LINE_OP(target[j], inverse_db_table[ly]); - } - return TRUE; -} - -static int vorbis_decode_initial(vorb *f, int *p_left_start, int *p_left_end, int *p_right_start, int *p_right_end, int *mode) -{ - Mode *m; - int i, n, prev, next, window_center; - f->channel_buffer_start = f->channel_buffer_end = 0; - - retry: - if (f->eof) return FALSE; - if (!maybe_start_packet(f)) - return FALSE; - // check packet type - if (get_bits(f,1) != 0) { - if (IS_PUSH_MODE(f)) - return error(f,VORBIS_bad_packet_type); - while (EOP != get8_packet(f)); - goto retry; - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - i = get_bits(f, ilog(f->mode_count-1)); - if (i == EOP) return FALSE; - if (i >= f->mode_count) return FALSE; - *mode = i; - m = f->mode_config + i; - if (m->blockflag) { - n = f->blocksize_1; - prev = get_bits(f,1); - next = get_bits(f,1); - } else { - prev = next = 0; - n = f->blocksize_0; - } - -// WINDOWING - - window_center = n >> 1; - if (m->blockflag && !prev) { - *p_left_start = (n - f->blocksize_0) >> 2; - *p_left_end = (n + f->blocksize_0) >> 2; - } else { - *p_left_start = 0; - *p_left_end = window_center; - } - if (m->blockflag && !next) { - *p_right_start = (n*3 - f->blocksize_0) >> 2; - *p_right_end = (n*3 + f->blocksize_0) >> 2; - } else { - *p_right_start = window_center; - *p_right_end = n; - } - return TRUE; -} - -static int vorbis_decode_packet_rest(vorb *f, int *len, Mode *m, int left_start, int left_end, int right_start, int right_end, int *p_left) -{ - Mapping *map; - int i,j,k,n,n2; - int zero_channel[256]; - int really_zero_channel[256]; - int window_center; - -// WINDOWING - - n = f->blocksize[m->blockflag]; - window_center = n >> 1; - - map = &f->mapping[m->mapping]; - -// FLOORS - n2 = n >> 1; - - stb_prof(1); - for (i=0; i < f->channels; ++i) { - int s = map->chan[i].mux, floor; - zero_channel[i] = FALSE; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - if (get_bits(f, 1)) { - short *finalY; - uint8 step2_flag[256]; - static int range_list[4] = { 256, 128, 86, 64 }; - int range = range_list[g->floor1_multiplier-1]; - int offset = 2; - finalY = f->finalY[i]; - finalY[0] = get_bits(f, ilog(range)-1); - finalY[1] = get_bits(f, ilog(range)-1); - for (j=0; j < g->partitions; ++j) { - int pclass = g->partition_class_list[j]; - int cdim = g->class_dimensions[pclass]; - int cbits = g->class_subclasses[pclass]; - int csub = (1 << cbits)-1; - int cval = 0; - if (cbits) { - Codebook *c = f->codebooks + g->class_masterbooks[pclass]; - DECODE(cval,f,c); - } - for (k=0; k < cdim; ++k) { - int book = g->subclass_books[pclass][cval & csub]; - cval = cval >> cbits; - if (book >= 0) { - int temp; - Codebook *c = f->codebooks + book; - DECODE(temp,f,c); - finalY[offset++] = temp; - } else - finalY[offset++] = 0; - } - } - if (f->valid_bits == INVALID_BITS) goto error; // behavior according to spec - step2_flag[0] = step2_flag[1] = 1; - for (j=2; j < g->values; ++j) { - int low, high, pred, highroom, lowroom, room, val; - low = g->neighbors[j][0]; - high = g->neighbors[j][1]; - //neighbors(g->Xlist, j, &low, &high); - pred = predict_point(g->Xlist[j], g->Xlist[low], g->Xlist[high], finalY[low], finalY[high]); - val = finalY[j]; - highroom = range - pred; - lowroom = pred; - if (highroom < lowroom) - room = highroom * 2; - else - room = lowroom * 2; - if (val) { - step2_flag[low] = step2_flag[high] = 1; - step2_flag[j] = 1; - if (val >= room) - if (highroom > lowroom) - finalY[j] = val - lowroom + pred; - else - finalY[j] = pred - val + highroom - 1; - else - if (val & 1) - finalY[j] = pred - ((val+1)>>1); - else - finalY[j] = pred + (val>>1); - } else { - step2_flag[j] = 0; - finalY[j] = pred; - } - } - -#ifdef STB_VORBIS_NO_DEFER_FLOOR - do_floor(f, map, i, n, f->floor_buffers[i], finalY, step2_flag); -#else - // defer final floor computation until _after_ residue - for (j=0; j < g->values; ++j) { - if (!step2_flag[j]) - finalY[j] = -1; - } -#endif - } else { - error: - zero_channel[i] = TRUE; - } - // So we just defer everything else to later - - // at this point we've decoded the floor into buffer - } - } - stb_prof(0); - // at this point we've decoded all floors - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - // re-enable coupled channels if necessary - memcpy(really_zero_channel, zero_channel, sizeof(really_zero_channel[0]) * f->channels); - for (i=0; i < map->coupling_steps; ++i) - if (!zero_channel[map->chan[i].magnitude] || !zero_channel[map->chan[i].angle]) { - zero_channel[map->chan[i].magnitude] = zero_channel[map->chan[i].angle] = FALSE; - } - -// RESIDUE DECODE - for (i=0; i < map->submaps; ++i) { - float *residue_buffers[STB_VORBIS_MAX_CHANNELS]; - int r,t; - uint8 do_not_decode[256]; - int ch = 0; - for (j=0; j < f->channels; ++j) { - if (map->chan[j].mux == i) { - if (zero_channel[j]) { - do_not_decode[ch] = TRUE; - residue_buffers[ch] = NULL; - } else { - do_not_decode[ch] = FALSE; - residue_buffers[ch] = f->channel_buffers[j]; - } - ++ch; - } - } - r = map->submap_residue[i]; - t = f->residue_types[r]; - decode_residue(f, residue_buffers, ch, n2, r, do_not_decode); - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - -// INVERSE COUPLING - stb_prof(14); - for (i = map->coupling_steps-1; i >= 0; --i) { - int n2 = n >> 1; - float *m = f->channel_buffers[map->chan[i].magnitude]; - float *a = f->channel_buffers[map->chan[i].angle ]; - for (j=0; j < n2; ++j) { - float a2,m2; - if (m[j] > 0) - if (a[j] > 0) - m2 = m[j], a2 = m[j] - a[j]; - else - a2 = m[j], m2 = m[j] + a[j]; - else - if (a[j] > 0) - m2 = m[j], a2 = m[j] + a[j]; - else - a2 = m[j], m2 = m[j] - a[j]; - m[j] = m2; - a[j] = a2; - } - } - - // finish decoding the floors -#ifndef STB_VORBIS_NO_DEFER_FLOOR - stb_prof(15); - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - do_floor(f, map, i, n, f->channel_buffers[i], f->finalY[i], NULL); - } - } -#else - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - for (j=0; j < n2; ++j) - f->channel_buffers[i][j] *= f->floor_buffers[i][j]; - } - } -#endif - -// INVERSE MDCT - stb_prof(16); - for (i=0; i < f->channels; ++i) - inverse_mdct(f->channel_buffers[i], n, f, m->blockflag); - stb_prof(0); - - // this shouldn't be necessary, unless we exited on an error - // and want to flush to get to the next packet - flush_packet(f); - - if (f->first_decode) { - // assume we start so first non-discarded sample is sample 0 - // this isn't to spec, but spec would require us to read ahead - // and decode the size of all current frames--could be done, - // but presumably it's not a commonly used feature - f->current_loc = -n2; // start of first frame is positioned for discard - // we might have to discard samples "from" the next frame too, - // if we're lapping a large block then a small at the start? - f->discard_samples_deferred = n - right_end; - f->current_loc_valid = TRUE; - f->first_decode = FALSE; - } else if (f->discard_samples_deferred) { - left_start += f->discard_samples_deferred; - *p_left = left_start; - f->discard_samples_deferred = 0; - } else if (f->previous_length == 0 && f->current_loc_valid) { - // we're recovering from a seek... that means we're going to discard - // the samples from this packet even though we know our position from - // the last page header, so we need to update the position based on - // the discarded samples here - // but wait, the code below is going to add this in itself even - // on a discard, so we don't need to do it here... - } - - // check if we have ogg information about the sample # for this packet - if (f->last_seg_which == f->end_seg_with_known_loc) { - // if we have a valid current loc, and this is final: - if (f->current_loc_valid && (f->page_flag & PAGEFLAG_last_page)) { - uint32 current_end = f->known_loc_for_packet - (n-right_end); - // then let's infer the size of the (probably) short final frame - if (current_end < f->current_loc + right_end) { - if (current_end < f->current_loc) { - // negative truncation, that's impossible! - *len = 0; - } else { - *len = current_end - f->current_loc; - } - *len += left_start; - f->current_loc += *len; - return TRUE; - } - } - // otherwise, just set our sample loc - // guess that the ogg granule pos refers to the _middle_ of the - // last frame? - // set f->current_loc to the position of left_start - f->current_loc = f->known_loc_for_packet - (n2-left_start); - f->current_loc_valid = TRUE; - } - if (f->current_loc_valid) - f->current_loc += (right_start - left_start); - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - *len = right_end; // ignore samples after the window goes to 0 - return TRUE; -} - -static int vorbis_decode_packet(vorb *f, int *len, int *p_left, int *p_right) -{ - int mode, left_end, right_end; - if (!vorbis_decode_initial(f, p_left, &left_end, p_right, &right_end, &mode)) return 0; - return vorbis_decode_packet_rest(f, len, f->mode_config + mode, *p_left, left_end, *p_right, right_end, p_left); -} - -static int vorbis_finish_frame(stb_vorbis *f, int len, int left, int right) -{ - int prev,i,j; - // we use right&left (the start of the right- and left-window sin()-regions) - // to determine how much to return, rather than inferring from the rules - // (same result, clearer code); 'left' indicates where our sin() window - // starts, therefore where the previous window's right edge starts, and - // therefore where to start mixing from the previous buffer. 'right' - // indicates where our sin() ending-window starts, therefore that's where - // we start saving, and where our returned-data ends. - - // mixin from previous window - if (f->previous_length) { - int i,j, n = f->previous_length; - float *w = get_window(f, n); - for (i=0; i < f->channels; ++i) { - for (j=0; j < n; ++j) - f->channel_buffers[i][left+j] = - f->channel_buffers[i][left+j]*w[ j] + - f->previous_window[i][ j]*w[n-1-j]; - } - } - - prev = f->previous_length; - - // last half of this data becomes previous window - f->previous_length = len - right; - - // @OPTIMIZE: could avoid this copy by double-buffering the - // output (flipping previous_window with channel_buffers), but - // then previous_window would have to be 2x as large, and - // channel_buffers couldn't be temp mem (although they're NOT - // currently temp mem, they could be (unless we want to level - // performance by spreading out the computation)) - for (i=0; i < f->channels; ++i) - for (j=0; right+j < len; ++j) - f->previous_window[i][j] = f->channel_buffers[i][right+j]; - - if (!prev) - // there was no previous packet, so this data isn't valid... - // this isn't entirely true, only the would-have-overlapped data - // isn't valid, but this seems to be what the spec requires - return 0; - - // truncate a short frame - if (len < right) right = len; - - f->samples_output += right-left; - - return right - left; -} - -static void vorbis_pump_first_frame(stb_vorbis *f) -{ - int len, right, left; - if (vorbis_decode_packet(f, &len, &left, &right)) - vorbis_finish_frame(f, len, left, right); -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API -static int is_whole_packet_present(stb_vorbis *f, int end_page) -{ - // make sure that we have the packet available before continuing... - // this requires a full ogg parse, but we know we can fetch from f->stream - - // instead of coding this out explicitly, we could save the current read state, - // read the next packet with get8() until end-of-packet, check f->eof, then - // reset the state? but that would be slower, esp. since we'd have over 256 bytes - // of state to restore (primarily the page segment table) - - int s = f->next_seg, first = TRUE; - uint8 *p = f->stream; - - if (s != -1) { // if we're not starting the packet with a 'continue on next page' flag - for (; s < f->segment_count; ++s) { - p += f->segments[s]; - if (f->segments[s] < 255) // stop at first short segment - break; - } - // either this continues, or it ends it... - if (end_page) - if (s < f->segment_count-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - for (; s == -1;) { - uint8 *q; - int n; - - // check that we have the page header ready - if (p + 26 >= f->stream_end) return error(f, VORBIS_need_more_data); - // validate the page - if (memcmp(p, ogg_page_header, 4)) return error(f, VORBIS_invalid_stream); - if (p[4] != 0) return error(f, VORBIS_invalid_stream); - if (first) { // the first segment must NOT have 'continued_packet', later ones MUST - if (f->previous_length) - if ((p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - // if no previous length, we're resynching, so we can come in on a continued-packet, - // which we'll just drop - } else { - if (!(p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - } - n = p[26]; // segment counts - q = p+27; // q points to segment table - p = q + n; // advance past header - // make sure we've read the segment table - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - for (s=0; s < n; ++s) { - p += q[s]; - if (q[s] < 255) - break; - } - if (end_page) - if (s < n-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - return TRUE; -} -#endif // !STB_VORBIS_NO_PUSHDATA_API - -static int start_decoder(vorb *f) -{ - uint8 header[6], x,y; - int len,i,j,k, max_submaps = 0; - int longest_floorlist=0; - - // first page, first packet - - if (!start_page(f)) return FALSE; - // validate page flag - if (!(f->page_flag & PAGEFLAG_first_page)) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_last_page) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_continued_packet) return error(f, VORBIS_invalid_first_page); - // check for expected packet length - if (f->segment_count != 1) return error(f, VORBIS_invalid_first_page); - if (f->segments[0] != 30) return error(f, VORBIS_invalid_first_page); - // read packet - // check packet header - if (get8(f) != VORBIS_packet_id) return error(f, VORBIS_invalid_first_page); - if (!getn(f, header, 6)) return error(f, VORBIS_unexpected_eof); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_first_page); - // vorbis_version - if (get32(f) != 0) return error(f, VORBIS_invalid_first_page); - f->channels = get8(f); if (!f->channels) return error(f, VORBIS_invalid_first_page); - if (f->channels > STB_VORBIS_MAX_CHANNELS) return error(f, VORBIS_too_many_channels); - f->sample_rate = get32(f); if (!f->sample_rate) return error(f, VORBIS_invalid_first_page); - get32(f); // bitrate_maximum - get32(f); // bitrate_nominal - get32(f); // bitrate_minimum - x = get8(f); - { int log0,log1; - log0 = x & 15; - log1 = x >> 4; - f->blocksize_0 = 1 << log0; - f->blocksize_1 = 1 << log1; - if (log0 < 6 || log0 > 13) return error(f, VORBIS_invalid_setup); - if (log1 < 6 || log1 > 13) return error(f, VORBIS_invalid_setup); - if (log0 > log1) return error(f, VORBIS_invalid_setup); - } - - // framing_flag - x = get8(f); - if (!(x & 1)) return error(f, VORBIS_invalid_first_page); - - // second packet! - if (!start_page(f)) return FALSE; - - if (!start_packet(f)) return FALSE; - do { - len = next_segment(f); - skip(f, len); - f->bytes_in_seg = 0; - } while (len); - - // third packet! - if (!start_packet(f)) return FALSE; - - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (IS_PUSH_MODE(f)) { - if (!is_whole_packet_present(f, TRUE)) { - // convert error in ogg header to write type - if (f->error == VORBIS_invalid_stream) - f->error = VORBIS_invalid_setup; - return FALSE; - } - } - #endif - - crc32_init(); // always init it, to avoid multithread race conditions - - if (get8_packet(f) != VORBIS_packet_setup) return error(f, VORBIS_invalid_setup); - for (i=0; i < 6; ++i) header[i] = get8_packet(f); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_setup); - - // codebooks - - f->codebook_count = get_bits(f,8) + 1; - f->codebooks = (Codebook *) setup_malloc(f, sizeof(*f->codebooks) * f->codebook_count); - if (f->codebooks == NULL) return error(f, VORBIS_outofmem); - memset(f->codebooks, 0, sizeof(*f->codebooks) * f->codebook_count); - for (i=0; i < f->codebook_count; ++i) { - uint32 *values; - int ordered, sorted_count; - int total=0; - uint8 *lengths; - Codebook *c = f->codebooks+i; - x = get_bits(f, 8); if (x != 0x42) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x43) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x56) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); - c->dimensions = (get_bits(f, 8)<<8) + x; - x = get_bits(f, 8); - y = get_bits(f, 8); - c->entries = (get_bits(f, 8)<<16) + (y<<8) + x; - ordered = get_bits(f,1); - c->sparse = ordered ? 0 : get_bits(f,1); - - if (c->sparse) - lengths = (uint8 *) setup_temp_malloc(f, c->entries); - else - lengths = c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - - if (!lengths) return error(f, VORBIS_outofmem); - - if (ordered) { - int current_entry = 0; - int current_length = get_bits(f,5) + 1; - while (current_entry < c->entries) { - int limit = c->entries - current_entry; - int n = get_bits(f, ilog(limit)); - if (current_entry + n > (int) c->entries) { return error(f, VORBIS_invalid_setup); } - memset(lengths + current_entry, current_length, n); - current_entry += n; - ++current_length; - } - } else { - for (j=0; j < c->entries; ++j) { - int present = c->sparse ? get_bits(f,1) : 1; - if (present) { - lengths[j] = get_bits(f, 5) + 1; - ++total; - } else { - lengths[j] = NO_CODE; - } - } - } - - if (c->sparse && total >= c->entries >> 2) { - // convert sparse items to non-sparse! - if (c->entries > (int) f->setup_temp_memory_required) - f->setup_temp_memory_required = c->entries; - - c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - memcpy(c->codeword_lengths, lengths, c->entries); - setup_temp_free(f, lengths, c->entries); // note this is only safe if there have been no intervening temp mallocs! - lengths = c->codeword_lengths; - c->sparse = 0; - } - - // compute the size of the sorted tables - if (c->sparse) { - sorted_count = total; - //assert(total != 0); - } else { - sorted_count = 0; - #ifndef STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - for (j=0; j < c->entries; ++j) - if (lengths[j] > STB_VORBIS_FAST_HUFFMAN_LENGTH && lengths[j] != NO_CODE) - ++sorted_count; - #endif - } - - c->sorted_entries = sorted_count; - values = NULL; - - if (!c->sparse) { - c->codewords = (uint32 *) setup_malloc(f, sizeof(c->codewords[0]) * c->entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - } else { - unsigned int size; - if (c->sorted_entries) { - c->codeword_lengths = (uint8 *) setup_malloc(f, c->sorted_entries); - if (!c->codeword_lengths) return error(f, VORBIS_outofmem); - c->codewords = (uint32 *) setup_temp_malloc(f, sizeof(*c->codewords) * c->sorted_entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - values = (uint32 *) setup_temp_malloc(f, sizeof(*values) * c->sorted_entries); - if (!values) return error(f, VORBIS_outofmem); - } - size = c->entries + (sizeof(*c->codewords) + sizeof(*values)) * c->sorted_entries; - if (size > f->setup_temp_memory_required) - f->setup_temp_memory_required = size; - } - - if (!compute_codewords(c, lengths, c->entries, values)) { - if (c->sparse) setup_temp_free(f, values, 0); - return error(f, VORBIS_invalid_setup); - } - - if (c->sorted_entries) { - // allocate an extra slot for sentinels - c->sorted_codewords = (uint32 *) setup_malloc(f, sizeof(*c->sorted_codewords) * (c->sorted_entries+1)); - // allocate an extra slot at the front so that c->sorted_values[-1] is defined - // so that we can catch that case without an extra if - c->sorted_values = ( int *) setup_malloc(f, sizeof(*c->sorted_values ) * (c->sorted_entries+1)); - if (c->sorted_values) { ++c->sorted_values; c->sorted_values[-1] = -1; } - compute_sorted_huffman(c, lengths, values); - } - - if (c->sparse) { - setup_temp_free(f, values, sizeof(*values)*c->sorted_entries); - setup_temp_free(f, c->codewords, sizeof(*c->codewords)*c->sorted_entries); - setup_temp_free(f, lengths, c->entries); - c->codewords = NULL; - } - - compute_accelerated_huffman(c); - - c->lookup_type = get_bits(f, 4); - if (c->lookup_type > 2) return error(f, VORBIS_invalid_setup); - if (c->lookup_type > 0) { - uint16 *mults; - c->minimum_value = float32_unpack(get_bits(f, 32)); - c->delta_value = float32_unpack(get_bits(f, 32)); - c->value_bits = get_bits(f, 4)+1; - c->sequence_p = get_bits(f,1); - if (c->lookup_type == 1) { - c->lookup_values = lookup1_values(c->entries, c->dimensions); - } else { - c->lookup_values = c->entries * c->dimensions; - } - mults = (uint16 *) setup_temp_malloc(f, sizeof(mults[0]) * c->lookup_values); - if (mults == NULL) return error(f, VORBIS_outofmem); - for (j=0; j < (int) c->lookup_values; ++j) { - int q = get_bits(f, c->value_bits); - if (q == EOP) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_invalid_setup); } - mults[j] = q; - } - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int len, sparse = c->sparse; - // pre-expand the lookup1-style multiplicands, to avoid a divide in the inner loop - if (sparse) { - if (c->sorted_entries == 0) goto skip; - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->sorted_entries * c->dimensions); - } else - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->entries * c->dimensions); - if (c->multiplicands == NULL) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_outofmem); } - len = sparse ? c->sorted_entries : c->entries; - for (j=0; j < len; ++j) { - int z = sparse ? c->sorted_values[j] : j, div=1; - for (k=0; k < c->dimensions; ++k) { - int off = (z / div) % c->lookup_values; - c->multiplicands[j*c->dimensions + k] = - #ifndef STB_VORBIS_CODEBOOK_FLOATS - mults[off]; - #else - mults[off]*c->delta_value + c->minimum_value; - // in this case (and this case only) we could pre-expand c->sequence_p, - // and throw away the decode logic for it; have to ALSO do - // it in the case below, but it can only be done if - // STB_VORBIS_CODEBOOK_FLOATS - // !STB_VORBIS_DIVIDES_IN_CODEBOOK - #endif - div *= c->lookup_values; - } - } - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - c->lookup_type = 2; - } - else -#endif - { - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->lookup_values); - #ifndef STB_VORBIS_CODEBOOK_FLOATS - memcpy(c->multiplicands, mults, sizeof(c->multiplicands[0]) * c->lookup_values); - #else - for (j=0; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = mults[j] * c->delta_value + c->minimum_value; - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - #endif - } - skip:; - - #ifdef STB_VORBIS_CODEBOOK_FLOATS - if (c->lookup_type == 2 && c->sequence_p) { - for (j=1; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = c->multiplicands[j-1]; - c->sequence_p = 0; - } - #endif - } - } - - // time domain transfers (notused) - - x = get_bits(f, 6) + 1; - for (i=0; i < x; ++i) { - uint32 z = get_bits(f, 16); - if (z != 0) return error(f, VORBIS_invalid_setup); - } - - // Floors - f->floor_count = get_bits(f, 6)+1; - f->floor_config = (Floor *) setup_malloc(f, f->floor_count * sizeof(*f->floor_config)); - for (i=0; i < f->floor_count; ++i) { - f->floor_types[i] = get_bits(f, 16); - if (f->floor_types[i] > 1) return error(f, VORBIS_invalid_setup); - if (f->floor_types[i] == 0) { - Floor0 *g = &f->floor_config[i].floor0; - g->order = get_bits(f,8); - g->rate = get_bits(f,16); - g->bark_map_size = get_bits(f,16); - g->amplitude_bits = get_bits(f,6); - g->amplitude_offset = get_bits(f,8); - g->number_of_books = get_bits(f,4) + 1; - for (j=0; j < g->number_of_books; ++j) - g->book_list[j] = get_bits(f,8); - return error(f, VORBIS_feature_not_supported); - } else { - VorbisPoint p[31*8+2]; - Floor1 *g = &f->floor_config[i].floor1; - int max_class = -1; - g->partitions = get_bits(f, 5); - for (j=0; j < g->partitions; ++j) { - g->partition_class_list[j] = get_bits(f, 4); - if (g->partition_class_list[j] > max_class) - max_class = g->partition_class_list[j]; - } - for (j=0; j <= max_class; ++j) { - g->class_dimensions[j] = get_bits(f, 3)+1; - g->class_subclasses[j] = get_bits(f, 2); - if (g->class_subclasses[j]) { - g->class_masterbooks[j] = get_bits(f, 8); - if (g->class_masterbooks[j] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - for (k=0; k < 1 << g->class_subclasses[j]; ++k) { - g->subclass_books[j][k] = get_bits(f,8)-1; - if (g->subclass_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - } - g->floor1_multiplier = get_bits(f,2)+1; - g->rangebits = get_bits(f,4); - g->Xlist[0] = 0; - g->Xlist[1] = 1 << g->rangebits; - g->values = 2; - for (j=0; j < g->partitions; ++j) { - int c = g->partition_class_list[j]; - for (k=0; k < g->class_dimensions[c]; ++k) { - g->Xlist[g->values] = get_bits(f, g->rangebits); - ++g->values; - } - } - // precompute the sorting - for (j=0; j < g->values; ++j) { - p[j].x = g->Xlist[j]; - p[j].y = j; - } - qsort(p, g->values, sizeof(p[0]), point_compare); - for (j=0; j < g->values; ++j) - g->sorted_order[j] = (uint8) p[j].y; - // precompute the neighbors - for (j=2; j < g->values; ++j) { - int low,hi; - neighbors(g->Xlist, j, &low,&hi); - g->neighbors[j][0] = low; - g->neighbors[j][1] = hi; - } - - if (g->values > longest_floorlist) - longest_floorlist = g->values; - } - } - - // Residue - f->residue_count = get_bits(f, 6)+1; - f->residue_config = (Residue *) setup_malloc(f, f->residue_count * sizeof(*f->residue_config)); - for (i=0; i < f->residue_count; ++i) { - uint8 residue_cascade[64]; - Residue *r = f->residue_config+i; - f->residue_types[i] = get_bits(f, 16); - if (f->residue_types[i] > 2) return error(f, VORBIS_invalid_setup); - r->begin = get_bits(f, 24); - r->end = get_bits(f, 24); - r->part_size = get_bits(f,24)+1; - r->classifications = get_bits(f,6)+1; - r->classbook = get_bits(f,8); - for (j=0; j < r->classifications; ++j) { - uint8 high_bits=0; - uint8 low_bits=get_bits(f,3); - if (get_bits(f,1)) - high_bits = get_bits(f,5); - residue_cascade[j] = high_bits*8 + low_bits; - } - r->residue_books = (short (*)[8]) setup_malloc(f, sizeof(r->residue_books[0]) * r->classifications); - for (j=0; j < r->classifications; ++j) { - for (k=0; k < 8; ++k) { - if (residue_cascade[j] & (1 << k)) { - r->residue_books[j][k] = get_bits(f, 8); - if (r->residue_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } else { - r->residue_books[j][k] = -1; - } - } - } - // precompute the classifications[] array to avoid inner-loop mod/divide - // call it 'classdata' since we already have r->classifications - r->classdata = (uint8 **) setup_malloc(f, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - if (!r->classdata) return error(f, VORBIS_outofmem); - memset(r->classdata, 0, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - for (j=0; j < f->codebooks[r->classbook].entries; ++j) { - int classwords = f->codebooks[r->classbook].dimensions; - int temp = j; - r->classdata[j] = (uint8 *) setup_malloc(f, sizeof(r->classdata[j][0]) * classwords); - for (k=classwords-1; k >= 0; --k) { - r->classdata[j][k] = temp % r->classifications; - temp /= r->classifications; - } - } - } - - f->mapping_count = get_bits(f,6)+1; - f->mapping = (Mapping *) setup_malloc(f, f->mapping_count * sizeof(*f->mapping)); - for (i=0; i < f->mapping_count; ++i) { - Mapping *m = f->mapping + i; - int mapping_type = get_bits(f,16); - if (mapping_type != 0) return error(f, VORBIS_invalid_setup); - m->chan = (MappingChannel *) setup_malloc(f, f->channels * sizeof(*m->chan)); - if (get_bits(f,1)) - m->submaps = get_bits(f,4); - else - m->submaps = 1; - if (m->submaps > max_submaps) - max_submaps = m->submaps; - if (get_bits(f,1)) { - m->coupling_steps = get_bits(f,8)+1; - for (k=0; k < m->coupling_steps; ++k) { - m->chan[k].magnitude = get_bits(f, ilog(f->channels)-1); - m->chan[k].angle = get_bits(f, ilog(f->channels)-1); - if (m->chan[k].magnitude >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].angle >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].magnitude == m->chan[k].angle) return error(f, VORBIS_invalid_setup); - } - } else - m->coupling_steps = 0; - - // reserved field - if (get_bits(f,2)) return error(f, VORBIS_invalid_setup); - if (m->submaps > 1) { - for (j=0; j < f->channels; ++j) { - m->chan[j].mux = get_bits(f, 4); - if (m->chan[j].mux >= m->submaps) return error(f, VORBIS_invalid_setup); - } - } else - // @SPECIFICATION: this case is missing from the spec - for (j=0; j < f->channels; ++j) - m->chan[j].mux = 0; - - for (j=0; j < m->submaps; ++j) { - get_bits(f,8); // discard - m->submap_floor[j] = get_bits(f,8); - m->submap_residue[j] = get_bits(f,8); - if (m->submap_floor[j] >= f->floor_count) return error(f, VORBIS_invalid_setup); - if (m->submap_residue[j] >= f->residue_count) return error(f, VORBIS_invalid_setup); - } - } - - // Modes - f->mode_count = get_bits(f, 6)+1; - for (i=0; i < f->mode_count; ++i) { - Mode *m = f->mode_config+i; - m->blockflag = get_bits(f,1); - m->windowtype = get_bits(f,16); - m->transformtype = get_bits(f,16); - m->mapping = get_bits(f,8); - if (m->windowtype != 0) return error(f, VORBIS_invalid_setup); - if (m->transformtype != 0) return error(f, VORBIS_invalid_setup); - if (m->mapping >= f->mapping_count) return error(f, VORBIS_invalid_setup); - } - - flush_packet(f); - - f->previous_length = 0; - - for (i=0; i < f->channels; ++i) { - f->channel_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1); - f->previous_window[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - f->finalY[i] = (int16 *) setup_malloc(f, sizeof(int16) * longest_floorlist); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - f->floor_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - #endif - } - - if (!init_blocksize(f, 0, f->blocksize_0)) return FALSE; - if (!init_blocksize(f, 1, f->blocksize_1)) return FALSE; - f->blocksize[0] = f->blocksize_0; - f->blocksize[1] = f->blocksize_1; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (integer_divide_table[1][1]==0) - for (i=0; i < DIVTAB_NUMER; ++i) - for (j=1; j < DIVTAB_DENOM; ++j) - integer_divide_table[i][j] = i / j; -#endif - - // compute how much temporary memory is needed - - // 1. - { - uint32 imdct_mem = (f->blocksize_1 * sizeof(float) >> 1); - uint32 classify_mem; - int i,max_part_read=0; - for (i=0; i < f->residue_count; ++i) { - Residue *r = f->residue_config + i; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - if (part_read > max_part_read) - max_part_read = part_read; - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(uint8 *)); - #else - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(int *)); - #endif - - f->temp_memory_required = classify_mem; - if (imdct_mem > f->temp_memory_required) - f->temp_memory_required = imdct_mem; - } - - f->first_decode = TRUE; - - if (f->alloc.alloc_buffer) { - assert(f->temp_offset == f->alloc.alloc_buffer_length_in_bytes); - // check if there's enough temp memory so we don't error later - if (f->setup_offset + sizeof(*f) + f->temp_memory_required > (unsigned) f->temp_offset) - return error(f, VORBIS_outofmem); - } - - f->first_audio_page_offset = stb_vorbis_get_file_offset(f); - - return TRUE; -} - -static void vorbis_deinit(stb_vorbis *p) -{ - int i,j; - for (i=0; i < p->residue_count; ++i) { - Residue *r = p->residue_config+i; - if (r->classdata) { - for (j=0; j < p->codebooks[r->classbook].entries; ++j) - setup_free(p, r->classdata[j]); - setup_free(p, r->classdata); - } - setup_free(p, r->residue_books); - } - - if (p->codebooks) { - for (i=0; i < p->codebook_count; ++i) { - Codebook *c = p->codebooks + i; - setup_free(p, c->codeword_lengths); - setup_free(p, c->multiplicands); - setup_free(p, c->codewords); - setup_free(p, c->sorted_codewords); - // c->sorted_values[-1] is the first entry in the array - setup_free(p, c->sorted_values ? c->sorted_values-1 : NULL); - } - setup_free(p, p->codebooks); - } - setup_free(p, p->floor_config); - setup_free(p, p->residue_config); - for (i=0; i < p->mapping_count; ++i) - setup_free(p, p->mapping[i].chan); - setup_free(p, p->mapping); - for (i=0; i < p->channels; ++i) { - setup_free(p, p->channel_buffers[i]); - setup_free(p, p->previous_window[i]); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - setup_free(p, p->floor_buffers[i]); - #endif - setup_free(p, p->finalY[i]); - } - for (i=0; i < 2; ++i) { - setup_free(p, p->A[i]); - setup_free(p, p->B[i]); - setup_free(p, p->C[i]); - setup_free(p, p->window[i]); - } - #ifndef STB_VORBIS_NO_STDIO - if (p->close_on_free) fclose(p->f); - #endif -} - -void stb_vorbis_close(stb_vorbis *p) -{ - if (p == NULL) return; - vorbis_deinit(p); - setup_free(p,p); -} - -static void vorbis_init(stb_vorbis *p, stb_vorbis_alloc *z) -{ - memset(p, 0, sizeof(*p)); // NULL out all malloc'd pointers to start - if (z) { - p->alloc = *z; - p->alloc.alloc_buffer_length_in_bytes = (p->alloc.alloc_buffer_length_in_bytes+3) & ~3; - p->temp_offset = p->alloc.alloc_buffer_length_in_bytes; - } - p->eof = 0; - p->error = VORBIS__no_error; - p->stream = NULL; - p->codebooks = NULL; - p->page_crc_tests = -1; - #ifndef STB_VORBIS_NO_STDIO - p->close_on_free = FALSE; - p->f = NULL; - #endif -} - -int stb_vorbis_get_sample_offset(stb_vorbis *f) -{ - if (f->current_loc_valid) - return f->current_loc; - else - return -1; -} - -stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f) -{ - stb_vorbis_info d; - d.channels = f->channels; - d.sample_rate = f->sample_rate; - d.setup_memory_required = f->setup_memory_required; - d.setup_temp_memory_required = f->setup_temp_memory_required; - d.temp_memory_required = f->temp_memory_required; - d.max_frame_size = f->blocksize_1 >> 1; - return d; -} - -int stb_vorbis_get_error(stb_vorbis *f) -{ - int e = f->error; - f->error = VORBIS__no_error; - return e; -} - -static stb_vorbis * vorbis_alloc(stb_vorbis *f) -{ - stb_vorbis *p = (stb_vorbis *) setup_malloc(f, sizeof(*p)); - return p; -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API - -void stb_vorbis_flush_pushdata(stb_vorbis *f) -{ - f->previous_length = 0; - f->page_crc_tests = 0; - f->discard_samples_deferred = 0; - f->current_loc_valid = FALSE; - f->first_decode = FALSE; - f->samples_output = 0; - f->channel_buffer_start = 0; - f->channel_buffer_end = 0; -} - -static int vorbis_search_for_page_pushdata(vorb *f, uint8 *data, int data_len) -{ - int i,n; - for (i=0; i < f->page_crc_tests; ++i) - f->scan[i].bytes_done = 0; - - // if we have room for more scans, search for them first, because - // they may cause us to stop early if their header is incomplete - if (f->page_crc_tests < STB_VORBIS_PUSHDATA_CRC_COUNT) { - if (data_len < 4) return 0; - data_len -= 3; // need to look for 4-byte sequence, so don't miss - // one that straddles a boundary - for (i=0; i < data_len; ++i) { - if (data[i] == 0x4f) { - if (0==memcmp(data+i, ogg_page_header, 4)) { - int j,len; - uint32 crc; - // make sure we have the whole page header - if (i+26 >= data_len || i+27+data[i+26] >= data_len) { - // only read up to this page start, so hopefully we'll - // have the whole page header start next time - data_len = i; - break; - } - // ok, we have it all; compute the length of the page - len = 27 + data[i+26]; - for (j=0; j < data[i+26]; ++j) - len += data[i+27+j]; - // scan everything up to the embedded crc (which we must 0) - crc = 0; - for (j=0; j < 22; ++j) - crc = crc32_update(crc, data[i+j]); - // now process 4 0-bytes - for ( ; j < 26; ++j) - crc = crc32_update(crc, 0); - // len is the total number of bytes we need to scan - n = f->page_crc_tests++; - f->scan[n].bytes_left = len-j; - f->scan[n].crc_so_far = crc; - f->scan[n].goal_crc = data[i+22] + (data[i+23] << 8) + (data[i+24]<<16) + (data[i+25]<<24); - // if the last frame on a page is continued to the next, then - // we can't recover the sample_loc immediately - if (data[i+27+data[i+26]-1] == 255) - f->scan[n].sample_loc = ~0; - else - f->scan[n].sample_loc = data[i+6] + (data[i+7] << 8) + (data[i+ 8]<<16) + (data[i+ 9]<<24); - f->scan[n].bytes_done = i+j; - if (f->page_crc_tests == STB_VORBIS_PUSHDATA_CRC_COUNT) - break; - // keep going if we still have room for more - } - } - } - } - - for (i=0; i < f->page_crc_tests;) { - uint32 crc; - int j; - int n = f->scan[i].bytes_done; - int m = f->scan[i].bytes_left; - if (m > data_len - n) m = data_len - n; - // m is the bytes to scan in the current chunk - crc = f->scan[i].crc_so_far; - for (j=0; j < m; ++j) - crc = crc32_update(crc, data[n+j]); - f->scan[i].bytes_left -= m; - f->scan[i].crc_so_far = crc; - if (f->scan[i].bytes_left == 0) { - // does it match? - if (f->scan[i].crc_so_far == f->scan[i].goal_crc) { - // Houston, we have page - data_len = n+m; // consumption amount is wherever that scan ended - f->page_crc_tests = -1; // drop out of page scan mode - f->previous_length = 0; // decode-but-don't-output one frame - f->next_seg = -1; // start a new page - f->current_loc = f->scan[i].sample_loc; // set the current sample location - // to the amount we'd have decoded had we decoded this page - f->current_loc_valid = f->current_loc != ~0; - return data_len; - } - // delete entry - f->scan[i] = f->scan[--f->page_crc_tests]; - } else { - ++i; - } - } - - return data_len; -} - -// return value: number of bytes we used -int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, // the file we're decoding - uint8 *data, int data_len, // the memory available for decoding - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ) -{ - int i; - int len,right,left; - - if (!IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (f->page_crc_tests >= 0) { - *samples = 0; - return vorbis_search_for_page_pushdata(f, data, data_len); - } - - f->stream = data; - f->stream_end = data + data_len; - f->error = VORBIS__no_error; - - // check that we have the entire packet in memory - if (!is_whole_packet_present(f, FALSE)) { - *samples = 0; - return 0; - } - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - // save the actual error we encountered - enum STBVorbisError error = f->error; - if (error == VORBIS_bad_packet_type) { - // flush and resynch - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - if (error == VORBIS_continued_packet_flag_invalid) { - if (f->previous_length == 0) { - // we may be resynching, in which case it's ok to hit one - // of these; just discard the packet - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - } - // if we get an error while parsing, what to do? - // well, it DEFINITELY won't work to continue from where we are! - stb_vorbis_flush_pushdata(f); - // restore the error that actually made us bail - f->error = error; - *samples = 0; - return 1; - } - - // success! - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - if (channels) *channels = f->channels; - *samples = len; - *output = f->outputs; - return f->stream - data; -} - -stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *data, int data_len, // the memory available for decoding - int *data_used, // only defined if result is not NULL - int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + data_len; - p.push_mode = TRUE; - if (!start_decoder(&p)) { - if (p.eof) - *error = VORBIS_need_more_data; - else - *error = p.error; - return NULL; - } - f = vorbis_alloc(&p); - if (f) { - *f = p; - *data_used = f->stream - data; - *error = 0; - return f; - } else { - vorbis_deinit(&p); - return NULL; - } -} -#endif // STB_VORBIS_NO_PUSHDATA_API - -unsigned int stb_vorbis_get_file_offset(stb_vorbis *f) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - if (USE_MEMORY(f)) return f->stream - f->stream_start; - #ifndef STB_VORBIS_NO_STDIO - return ftell(f->f) - f->f_start; - #endif -} - -#ifndef STB_VORBIS_NO_PULLDATA_API -// -// DATA-PULLING API -// - -static uint32 vorbis_find_page(stb_vorbis *f, uint32 *end, uint32 *last) -{ - for(;;) { - int n; - if (f->eof) return 0; - n = get8(f); - if (n == 0x4f) { // page header - unsigned int retry_loc = stb_vorbis_get_file_offset(f); - int i; - // check if we're off the end of a file_section stream - if (retry_loc - 25 > f->stream_len) - return 0; - // check the rest of the header - for (i=1; i < 4; ++i) - if (get8(f) != ogg_page_header[i]) - break; - if (f->eof) return 0; - if (i == 4) { - uint8 header[27]; - uint32 i, crc, goal, len; - for (i=0; i < 4; ++i) - header[i] = ogg_page_header[i]; - for (; i < 27; ++i) - header[i] = get8(f); - if (f->eof) return 0; - if (header[4] != 0) goto invalid; - goal = header[22] + (header[23] << 8) + (header[24]<<16) + (header[25]<<24); - for (i=22; i < 26; ++i) - header[i] = 0; - crc = 0; - for (i=0; i < 27; ++i) - crc = crc32_update(crc, header[i]); - len = 0; - for (i=0; i < header[26]; ++i) { - int s = get8(f); - crc = crc32_update(crc, s); - len += s; - } - if (len && f->eof) return 0; - for (i=0; i < len; ++i) - crc = crc32_update(crc, get8(f)); - // finished parsing probable page - if (crc == goal) { - // we could now check that it's either got the last - // page flag set, OR it's followed by the capture - // pattern, but I guess TECHNICALLY you could have - // a file with garbage between each ogg page and recover - // from it automatically? So even though that paranoia - // might decrease the chance of an invalid decode by - // another 2^32, not worth it since it would hose those - // invalid-but-useful files? - if (end) - *end = stb_vorbis_get_file_offset(f); - if (last) - if (header[5] & 0x04) - *last = 1; - else - *last = 0; - set_file_offset(f, retry_loc-1); - return 1; - } - } - invalid: - // not a valid page, so rewind and look for next one - set_file_offset(f, retry_loc); - } - } -} - -// seek is implemented with 'interpolation search'--this is like -// binary search, but we use the data values to estimate the likely -// location of the data item (plus a bit of a bias so when the -// estimation is wrong we don't waste overly much time) - -#define SAMPLE_unknown 0xffffffff - - -// ogg vorbis, in its insane infinite wisdom, only provides -// information about the sample at the END of the page. -// therefore we COULD have the data we need in the current -// page, and not know it. we could just use the end location -// as our only knowledge for bounds, seek back, and eventually -// the binary search finds it. or we can try to be smart and -// not waste time trying to locate more pages. we try to be -// smart, since this data is already in memory anyway, so -// doing needless I/O would be crazy! -static int vorbis_analyze_page(stb_vorbis *f, ProbedPage *z) -{ - uint8 header[27], lacing[255]; - uint8 packet_type[255]; - int num_packet, packet_start, previous =0; - int i,len; - uint32 samples; - - // record where the page starts - z->page_start = stb_vorbis_get_file_offset(f); - - // parse the header - getn(f, header, 27); - assert(header[0] == 'O' && header[1] == 'g' && header[2] == 'g' && header[3] == 'S'); - getn(f, lacing, header[26]); - - // determine the length of the payload - len = 0; - for (i=0; i < header[26]; ++i) - len += lacing[i]; - - // this implies where the page ends - z->page_end = z->page_start + 27 + header[26] + len; - - // read the last-decoded sample out of the data - z->last_decoded_sample = header[6] + (header[7] << 8) + (header[8] << 16) + (header[9] << 16); - - if (header[5] & 4) { - // if this is the last page, it's not possible to work - // backwards to figure out the first sample! whoops! fuck. - z->first_decoded_sample = SAMPLE_unknown; - set_file_offset(f, z->page_start); - return 1; - } - - // scan through the frames to determine the sample-count of each one... - // our goal is the sample # of the first fully-decoded sample on the - // page, which is the first decoded sample of the 2nd page - - num_packet=0; - - packet_start = ((header[5] & 1) == 0); - - for (i=0; i < header[26]; ++i) { - if (packet_start) { - uint8 n,b,m; - if (lacing[i] == 0) goto bail; // trying to read from zero-length packet - n = get8(f); - // if bottom bit is non-zero, we've got corruption - if (n & 1) goto bail; - n >>= 1; - b = ilog(f->mode_count-1); - m = n >> b; - n &= (1 << b)-1; - if (n >= f->mode_count) goto bail; - if (num_packet == 0 && f->mode_config[n].blockflag) - previous = (m & 1); - packet_type[num_packet++] = f->mode_config[n].blockflag; - skip(f, lacing[i]-1); - } else - skip(f, lacing[i]); - packet_start = (lacing[i] < 255); - } - - // now that we know the sizes of all the pages, we can start determining - // how much sample data there is. - - samples = 0; - - // for the last packet, we step by its whole length, because the definition - // is that we encoded the end sample loc of the 'last packet completed', - // where 'completed' refers to packets being split, and we are left to guess - // what 'end sample loc' means. we assume it means ignoring the fact that - // the last half of the data is useless without windowing against the next - // packet... (so it's not REALLY complete in that sense) - if (num_packet > 1) - samples += f->blocksize[packet_type[num_packet-1]]; - - for (i=num_packet-2; i >= 1; --i) { - // now, for this packet, how many samples do we have that - // do not overlap the following packet? - if (packet_type[i] == 1) - if (packet_type[i+1] == 1) - samples += f->blocksize_1 >> 1; - else - samples += ((f->blocksize_1 - f->blocksize_0) >> 2) + (f->blocksize_0 >> 1); - else - samples += f->blocksize_0 >> 1; - } - // now, at this point, we've rewound to the very beginning of the - // _second_ packet. if we entirely discard the first packet after - // a seek, this will be exactly the right sample number. HOWEVER! - // we can't as easily compute this number for the LAST page. The - // only way to get the sample offset of the LAST page is to use - // the end loc from the previous page. But what that returns us - // is _exactly_ the place where we get our first non-overlapped - // sample. (I think. Stupid spec for being ambiguous.) So for - // consistency it's better to do that here, too. However, that - // will then require us to NOT discard all of the first frame we - // decode, in some cases, which means an even weirder frame size - // and extra code. what a fucking pain. - - // we're going to discard the first packet if we - // start the seek here, so we don't care about it. (we could actually - // do better; if the first packet is long, and the previous packet - // is short, there's actually data in the first half of the first - // packet that doesn't need discarding... but not worth paying the - // effort of tracking that of that here and in the seeking logic) - // except crap, if we infer it from the _previous_ packet's end - // location, we DO need to use that definition... and we HAVE to - // infer the start loc of the LAST packet from the previous packet's - // end location. fuck you, ogg vorbis. - - z->first_decoded_sample = z->last_decoded_sample - samples; - - // restore file state to where we were - set_file_offset(f, z->page_start); - return 1; - - // restore file state to where we were - bail: - set_file_offset(f, z->page_start); - return 0; -} - -static int vorbis_seek_frame_from_page(stb_vorbis *f, uint32 page_start, uint32 first_sample, uint32 target_sample, int fine) -{ - int left_start, left_end, right_start, right_end, mode,i; - int frame=0; - uint32 frame_start; - int frames_to_skip, data_to_skip; - - // first_sample is the sample # of the first sample that doesn't - // overlap the previous page... note that this requires us to - // _partially_ discard the first packet! bleh. - set_file_offset(f, page_start); - - f->next_seg = -1; // force page resync - - frame_start = first_sample; - // frame start is where the previous packet's last decoded sample - // was, which corresponds to left_end... EXCEPT if the previous - // packet was long and this packet is short? Probably a bug here. - - - // now, we can start decoding frames... we'll only FAKE decode them, - // until we find the frame that contains our sample; then we'll rewind, - // and try again - for (;;) { - int start; - - if (!vorbis_decode_initial(f, &left_start, &left_end, &right_start, &right_end, &mode)) - return error(f, VORBIS_seek_failed); - - if (frame == 0) - start = left_end; - else - start = left_start; - - // the window starts at left_start; the last valid sample we generate - // before the next frame's window start is right_start-1 - if (target_sample < frame_start + right_start-start) - break; - - flush_packet(f); - if (f->eof) - return error(f, VORBIS_seek_failed); - - frame_start += right_start - start; - - ++frame; - } - - // ok, at this point, the sample we want is contained in frame #'frame' - - // to decode frame #'frame' normally, we have to decode the - // previous frame first... but if it's the FIRST frame of the page - // we can't. if it's the first frame, it means it falls in the part - // of the first frame that doesn't overlap either of the other frames. - // so, if we have to handle that case for the first frame, we might - // as well handle it for all of them, so: - if (target_sample > frame_start + (left_end - left_start)) { - // so what we want to do is go ahead and just immediately decode - // this frame, but then make it so the next get_frame_float() uses - // this already-decoded data? or do we want to go ahead and rewind, - // and leave a flag saying to skip the first N data? let's do that - frames_to_skip = frame; // if this is frame #1, skip 1 frame (#0) - data_to_skip = left_end - left_start; - } else { - // otherwise, we want to skip frames 0, 1, 2, ... frame-2 - // (which means frame-2+1 total frames) then decode frame-1, - // then leave frame pending - frames_to_skip = frame - 1; - assert(frames_to_skip >= 0); - data_to_skip = -1; - } - - set_file_offset(f, page_start); - f->next_seg = - 1; // force page resync - - for (i=0; i < frames_to_skip; ++i) { - maybe_start_packet(f); - flush_packet(f); - } - - if (data_to_skip >= 0) { - int i,j,n = f->blocksize_0 >> 1; - f->discard_samples_deferred = data_to_skip; - for (i=0; i < f->channels; ++i) - for (j=0; j < n; ++j) - f->previous_window[i][j] = 0; - f->previous_length = n; - frame_start += data_to_skip; - } else { - f->previous_length = 0; - vorbis_pump_first_frame(f); - } - - // at this point, the NEXT decoded frame will generate the desired sample - if (fine) { - // so if we're doing sample accurate streaming, we want to go ahead and decode it! - if (target_sample != frame_start) { - int n; - stb_vorbis_get_frame_float(f, &n, NULL); - assert(target_sample > frame_start); - assert(f->channel_buffer_start + (int) (target_sample-frame_start) < f->channel_buffer_end); - f->channel_buffer_start += (target_sample - frame_start); - } - } - - return 0; -} - -static int vorbis_seek_base(stb_vorbis *f, unsigned int sample_number, int fine) -{ - ProbedPage p[2],q; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - // do we know the location of the last page? - if (f->p_last.page_start == 0) { - uint32 z = stb_vorbis_stream_length_in_samples(f); - if (z == 0) return error(f, VORBIS_cant_find_last_page); - } - - p[0] = f->p_first; - p[1] = f->p_last; - - if (sample_number >= f->p_last.last_decoded_sample) - sample_number = f->p_last.last_decoded_sample-1; - - if (sample_number < f->p_first.last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[0].page_start, 0, sample_number, fine); - return 0; - } else { - int attempts=0; - while (p[0].page_end < p[1].page_start) { - uint32 probe; - uint32 start_offset, end_offset; - uint32 start_sample, end_sample; - - // copy these into local variables so we can tweak them - // if any are unknown - start_offset = p[0].page_end; - end_offset = p[1].after_previous_page_start; // an address known to seek to page p[1] - start_sample = p[0].last_decoded_sample; - end_sample = p[1].last_decoded_sample; - - // currently there is no such tweaking logic needed/possible? - if (start_sample == SAMPLE_unknown || end_sample == SAMPLE_unknown) - return error(f, VORBIS_seek_failed); - - // now we want to lerp between these for the target samples... - - // step 1: we need to bias towards the page start... - if (start_offset + 4000 < end_offset) - end_offset -= 4000; - - // now compute an interpolated search loc - probe = start_offset + (int) floor((float) (end_offset - start_offset) / (end_sample - start_sample) * (sample_number - start_sample)); - - // next we need to bias towards binary search... - // code is a little wonky to allow for full 32-bit unsigned values - if (attempts >= 4) { - uint32 probe2 = start_offset + ((end_offset - start_offset) >> 1); - if (attempts >= 8) - probe = probe2; - else if (probe < probe2) - probe = probe + ((probe2 - probe) >> 1); - else - probe = probe2 + ((probe - probe2) >> 1); - } - ++attempts; - - set_file_offset(f, probe); - if (!vorbis_find_page(f, NULL, NULL)) return error(f, VORBIS_seek_failed); - if (!vorbis_analyze_page(f, &q)) return error(f, VORBIS_seek_failed); - q.after_previous_page_start = probe; - - // it's possible we've just found the last page again - if (q.page_start == p[1].page_start) { - p[1] = q; - continue; - } - - if (sample_number < q.last_decoded_sample) - p[1] = q; - else - p[0] = q; - } - - if (p[0].last_decoded_sample <= sample_number && sample_number < p[1].last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[1].page_start, p[0].last_decoded_sample, sample_number, fine); - return 0; - } - return error(f, VORBIS_seek_failed); - } -} - -int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, FALSE); -} - -int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, TRUE); -} - -void stb_vorbis_seek_start(stb_vorbis *f) -{ - if (IS_PUSH_MODE(f)) { error(f, VORBIS_invalid_api_mixing); return; } - set_file_offset(f, f->first_audio_page_offset); - f->previous_length = 0; - f->first_decode = TRUE; - f->next_seg = -1; - vorbis_pump_first_frame(f); -} - -unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f) -{ - unsigned int restore_offset, previous_safe; - unsigned int end, last_page_loc; - - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - if (!f->total_samples) { - int last; - uint32 lo,hi; - char header[6]; - - // first, store the current decode position so we can restore it - restore_offset = stb_vorbis_get_file_offset(f); - - // now we want to seek back 64K from the end (the last page must - // be at most a little less than 64K, but let's allow a little slop) - if (f->stream_len >= 65536 && f->stream_len-65536 >= f->first_audio_page_offset) - previous_safe = f->stream_len - 65536; - else - previous_safe = f->first_audio_page_offset; - - set_file_offset(f, previous_safe); - // previous_safe is now our candidate 'earliest known place that seeking - // to will lead to the final page' - - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // if we can't find a page, we're hosed! - f->error = VORBIS_cant_find_last_page; - f->total_samples = 0xffffffff; - goto done; - } - - // check if there are more pages - last_page_loc = stb_vorbis_get_file_offset(f); - - // stop when the last_page flag is set, not when we reach eof; - // this allows us to stop short of a 'file_section' end without - // explicitly checking the length of the section - while (!last) { - set_file_offset(f, end); - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // the last page we found didn't have the 'last page' flag - // set. whoops! - break; - } - previous_safe = last_page_loc+1; - last_page_loc = stb_vorbis_get_file_offset(f); - } - - set_file_offset(f, last_page_loc); - - // parse the header - getn(f, (unsigned char *)header, 6); - // extract the absolute granule position - lo = get32(f); - hi = get32(f); - if (lo == 0xffffffff && hi == 0xffffffff) { - f->error = VORBIS_cant_find_last_page; - f->total_samples = SAMPLE_unknown; - goto done; - } - if (hi) - lo = 0xfffffffe; // saturate - f->total_samples = lo; - - f->p_last.page_start = last_page_loc; - f->p_last.page_end = end; - f->p_last.last_decoded_sample = lo; - f->p_last.first_decoded_sample = SAMPLE_unknown; - f->p_last.after_previous_page_start = previous_safe; - - done: - set_file_offset(f, restore_offset); - } - return f->total_samples == SAMPLE_unknown ? 0 : f->total_samples; -} - -float stb_vorbis_stream_length_in_seconds(stb_vorbis *f) -{ - return stb_vorbis_stream_length_in_samples(f) / (float) f->sample_rate; -} - - - -int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output) -{ - int len, right,left,i; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - f->channel_buffer_start = f->channel_buffer_end = 0; - return 0; - } - - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - f->channel_buffer_start = left; - f->channel_buffer_end = left+len; - - if (channels) *channels = f->channels; - if (output) *output = f->outputs; - return len; -} - -#ifndef STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_file_section(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc, unsigned int length) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.f = file; - p.f_start = ftell(file); - p.stream_len = length; - p.close_on_free = close_on_free; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -stb_vorbis * stb_vorbis_open_file(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc) -{ - unsigned int len, start; - start = ftell(file); - fseek(file, 0, SEEK_END); - len = ftell(file) - start; - fseek(file, start, SEEK_SET); - return stb_vorbis_open_file_section(file, close_on_free, error, alloc, len); -} - -stb_vorbis * stb_vorbis_open_filename(char *filename, int *error, stb_vorbis_alloc *alloc) -{ - FILE *f = fopen(filename, "rb"); - if (f) - return stb_vorbis_open_file(f, TRUE, error, alloc); - if (error) *error = VORBIS_file_open_failure; - return NULL; -} -#endif // STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - if (data == NULL) return NULL; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + len; - p.stream_start = p.stream; - p.stream_len = len; - p.push_mode = FALSE; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#define PLAYBACK_MONO 1 -#define PLAYBACK_LEFT 2 -#define PLAYBACK_RIGHT 4 - -#define L (PLAYBACK_LEFT | PLAYBACK_MONO) -#define C (PLAYBACK_LEFT | PLAYBACK_RIGHT | PLAYBACK_MONO) -#define R (PLAYBACK_RIGHT | PLAYBACK_MONO) - -static int8 channel_position[7][6] = -{ - { 0 }, - { C }, - { L, R }, - { L, C, R }, - { L, R, L, R }, - { L, C, R, L, R }, - { L, C, R, L, R, C }, -}; - - -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - typedef union { - float f; - int i; - } float_conv; - typedef char stb_vorbis_float_size_test[sizeof(float)==4 && sizeof(int) == 4]; - #define FASTDEF(x) float_conv x - // add (1<<23) to convert to int, then divide by 2^SHIFT, then add 0.5/2^SHIFT to round - #define MAGIC(SHIFT) (1.5f * (1 << (23-SHIFT)) + 0.5f/(1 << SHIFT)) - #define ADDEND(SHIFT) (((150-SHIFT) << 23) + (1 << 22)) - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) (temp.f = (x) + MAGIC(s), temp.i - ADDEND(s)) - #define check_endianness() -#else - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) ((int) ((x) * (1 << (s)))) - #define check_endianness() - #define FASTDEF(x) -#endif - -static void copy_samples(short *dest, float *src, int len) -{ - int i; - check_endianness(); - for (i=0; i < len; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp, src[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - dest[i] = v; - } -} - -static void compute_samples(int mask, short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE; - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE) { - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - if (channel_position[num_c][j] & mask) { - for (i=0; i < n; ++i) - buffer[i] += data[j][d_offset+o+i]; - } - } - for (i=0; i < n; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o+i] = v; - } - } -} - -static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; -static void compute_stereo_samples(short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE >> 1; - // o is the offset in the source data - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE >> 1) { - // o2 is the offset in the output data - int o2 = o << 1; - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - int m = channel_position[num_c][j] & (PLAYBACK_LEFT | PLAYBACK_RIGHT); - if (m == (PLAYBACK_LEFT | PLAYBACK_RIGHT)) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_LEFT) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_RIGHT) { - for (i=0; i < n; ++i) { - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } - } - for (i=0; i < (n<<1); ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o2+i] = v; - } - } -} - -static void convert_samples_short(int buf_c, short **buffer, int b_offset, int data_c, float **data, int d_offset, int samples) -{ - int i; - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; - for (i=0; i < buf_c; ++i) - compute_samples(channel_selector[buf_c][i], buffer[i]+b_offset, data_c, data, d_offset, samples); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - for (i=0; i < limit; ++i) - copy_samples(buffer[i]+b_offset, data[i], samples); - for ( ; i < buf_c; ++i) - memset(buffer[i]+b_offset, 0, sizeof(short) * samples); - } -} - -int stb_vorbis_get_frame_short(stb_vorbis *f, int num_c, short **buffer, int num_samples) -{ - float **output; - int len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len > num_samples) len = num_samples; - if (len) - convert_samples_short(num_c, buffer, 0, f->channels, output, 0, len); - return len; -} - -static void convert_channels_short_interleaved(int buf_c, short *buffer, int data_c, float **data, int d_offset, int len) -{ - int i; - check_endianness(); - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - assert(buf_c == 2); - for (i=0; i < buf_c; ++i) - compute_stereo_samples(buffer, data_c, data, d_offset, len); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - int j; - for (j=0; j < len; ++j) { - for (i=0; i < limit; ++i) { - FASTDEF(temp); - float f = data[i][d_offset+j]; - int v = FAST_SCALED_FLOAT_TO_INT(temp, f,15);//data[i][d_offset+j],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - *buffer++ = v; - } - for ( ; i < buf_c; ++i) - *buffer++ = 0; - } - } -} - -int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts) -{ - float **output; - int len; - if (num_c == 1) return stb_vorbis_get_frame_short(f,num_c,&buffer, num_shorts); - len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len) { - if (len*num_c > num_shorts) len = num_shorts / num_c; - convert_channels_short_interleaved(num_c, buffer, f->channels, output, 0, len); - } - return len; -} - -int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts) -{ - float **outputs; - int len = num_shorts / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_channels_short_interleaved(channels, buffer, f->channels, f->channel_buffers, f->channel_buffer_start, k); - buffer += k*channels; - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int len) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_samples_short(channels, buffer, n, f->channels, f->channel_buffers, f->channel_buffer_start, k); - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -#ifndef STB_VORBIS_NO_STDIO -int stb_vorbis_decode_filename(char *filename, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_filename(filename, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif // NO_STDIO - -int stb_vorbis_decode_memory(uint8 *mem, int len, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_memory(mem, len, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif - -int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats) -{ - float **outputs; - int len = num_floats / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int i,j; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - for (j=0; j < k; ++j) { - for (i=0; i < z; ++i) - *buffer++ = f->channel_buffers[i][f->channel_buffer_start+j]; - for ( ; i < channels; ++i) - *buffer++ = 0; - } - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < num_samples) { - int i; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= num_samples) k = num_samples - n; - if (k) { - for (i=0; i < z; ++i) - memcpy(buffer[i]+n, f->channel_buffers+f->channel_buffer_start, sizeof(float)*k); - for ( ; i < channels; ++i) - memset(buffer[i]+n, 0, sizeof(float) * k); - } - n += k; - f->channel_buffer_start += k; - if (n == num_samples) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} -#endif // STB_VORBIS_NO_PULLDATA_API - -#endif // STB_VORBIS_HEADER_ONLY diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.h deleted file mode 100644 index 94fd6fe..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/libs/stb_vorbis.h +++ /dev/null @@ -1,338 +0,0 @@ -// -// stb_vorbis.h -// oggdecode -// -// Created by Michael Grierson on 04/04/2012. -// Copyright (c) 2012 goldsmiths college. All rights reserved. -// - - - -////////////////////////////////////////////////////////////////////////////// -// -// HEADER BEGINS HERE -// - -#ifndef STB_VORBIS_INCLUDE_STB_VORBIS_H -#define STB_VORBIS_INCLUDE_STB_VORBIS_H - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) -#define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - /////////// THREAD SAFETY - - // Individual stb_vorbis* handles are not thread-safe; you cannot decode from - // them from multiple threads at the same time. However, you can have multiple - // stb_vorbis* handles and decode from them independently in multiple thrads. - - - /////////// MEMORY ALLOCATION - - // normally stb_vorbis uses malloc() to allocate memory at startup, - // and alloca() to allocate temporary memory during a frame on the - // stack. (Memory consumption will depend on the amount of setup - // data in the file and how you set the compile flags for speed - // vs. size. In my test files the maximal-size usage is ~150KB.) - // - // You can modify the wrapper functions in the source (setup_malloc, - // setup_temp_malloc, temp_malloc) to change this behavior, or you - // can use a simpler allocation model: you pass in a buffer from - // which stb_vorbis will allocate _all_ its memory (including the - // temp memory). "open" may fail with a VORBIS_outofmem if you - // do not pass in enough data; there is no way to determine how - // much you do need except to succeed (at which point you can - // query get_info to find the exact amount required. yes I know - // this is lame). - // - // If you pass in a non-NULL buffer of the type below, allocation - // will occur from it as described above. Otherwise just pass NULL - // to use malloc()/alloca() - - typedef struct - { - char *alloc_buffer; - int alloc_buffer_length_in_bytes; - } stb_vorbis_alloc; - - - /////////// FUNCTIONS USEABLE WITH ALL INPUT MODES - - typedef struct stb_vorbis stb_vorbis; - - typedef struct - { - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int setup_temp_memory_required; - unsigned int temp_memory_required; - - int max_frame_size; - } stb_vorbis_info; - - // get general information about the file - extern stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f); - - // get the last error detected (clears it, too) - extern int stb_vorbis_get_error(stb_vorbis *f); - - // close an ogg vorbis file and free all memory in use - extern void stb_vorbis_close(stb_vorbis *f); - - // this function returns the offset (in samples) from the beginning of the - // file that will be returned by the next decode, if it is known, or -1 - // otherwise. after a flush_pushdata() call, this may take a while before - // it becomes valid again. - // NOT WORKING YET after a seek with PULLDATA API - extern int stb_vorbis_get_sample_offset(stb_vorbis *f); - - // returns the current seek point within the file, or offset from the beginning - // of the memory buffer. In pushdata mode it returns 0. - extern unsigned int stb_vorbis_get_file_offset(stb_vorbis *f); - - /////////// PUSHDATA API - -#ifndef STB_VORBIS_NO_PUSHDATA_API - - // this API allows you to get blocks of data from any source and hand - // them to stb_vorbis. you have to buffer them; stb_vorbis will tell - // you how much it used, and you have to give it the rest next time; - // and stb_vorbis may not have enough data to work with and you will - // need to give it the same data again PLUS more. Note that the Vorbis - // specification does not bound the size of an individual frame. - - extern stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *datablock, int datablock_length_in_bytes, - int *datablock_memory_consumed_in_bytes, - int *error, - stb_vorbis_alloc *alloc_buffer); - // create a vorbis decoder by passing in the initial data block containing - // the ogg&vorbis headers (you don't need to do parse them, just provide - // the first N bytes of the file--you're told if it's not enough, see below) - // on success, returns an stb_vorbis *, does not set error, returns the amount of - // data parsed/consumed on this call in *datablock_memory_consumed_in_bytes; - // on failure, returns NULL on error and sets *error, does not change *datablock_memory_consumed - // if returns NULL and *error is VORBIS_need_more_data, then the input block was - // incomplete and you need to pass in a larger block from the start of the file - - extern int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, unsigned char *datablock, int datablock_length_in_bytes, - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ); - // decode a frame of audio sample data if possible from the passed-in data block - // - // return value: number of bytes we used from datablock - // possible cases: - // 0 bytes used, 0 samples output (need more data) - // N bytes used, 0 samples output (resynching the stream, keep going) - // N bytes used, M samples output (one frame of data) - // note that after opening a file, you will ALWAYS get one N-bytes,0-sample - // frame, because Vorbis always "discards" the first frame. - // - // Note that on resynch, stb_vorbis will rarely consume all of the buffer, - // instead only datablock_length_in_bytes-3 or less. This is because it wants - // to avoid missing parts of a page header if they cross a datablock boundary, - // without writing state-machiney code to record a partial detection. - // - // The number of channels returned are stored in *channels (which can be - // NULL--it is always the same as the number of channels reported by - // get_info). *output will contain an array of float* buffers, one per - // channel. In other words, (*output)[0][0] contains the first sample from - // the first channel, and (*output)[1][0] contains the first sample from - // the second channel. - - extern void stb_vorbis_flush_pushdata(stb_vorbis *f); - // inform stb_vorbis that your next datablock will not be contiguous with - // previous ones (e.g. you've seeked in the data); future attempts to decode - // frames will cause stb_vorbis to resynchronize (as noted above), and - // once it sees a valid Ogg page (typically 4-8KB, as large as 64KB), it - // will begin decoding the _next_ frame. - // - // if you want to seek using pushdata, you need to seek in your file, then - // call stb_vorbis_flush_pushdata(), then start calling decoding, then once - // decoding is returning you data, call stb_vorbis_get_sample_offset, and - // if you don't like the result, seek your file again and repeat. -#endif - - - ////////// PULLING INPUT API - -#ifndef STB_VORBIS_NO_PULLDATA_API - // This API assumes stb_vorbis is allowed to pull data from a source-- - // either a block of memory containing the _entire_ vorbis stream, or a - // FILE * that you or it create, or possibly some other reading mechanism - // if you go modify the source to replace the FILE * case with some kind - // of callback to your code. (But if you don't support seeking, you may - // just want to go ahead and use pushdata.) - -#if !defined(STB_VORBIS_NO_STDIO) && !defined(STB_VORBIS_NO_INTEGER_CONVERSION) - extern int stb_vorbis_decode_filename(char *filename, int *channels, short **output); -#endif - extern int stb_vorbis_decode_memory(unsigned char *mem, int len, int *channels, short **output); - // decode an entire file and output the data interleaved into a malloc()ed - // buffer stored in *output. The return value is the number of samples - // decoded, or -1 if the file could not be opened or was not an ogg vorbis file. - // When you're done with it, just free() the pointer returned in *output. - - extern stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an ogg vorbis stream in memory (note - // this must be the entire stream!). on failure, returns NULL and sets *error - -#ifndef STB_VORBIS_NO_STDIO - extern stb_vorbis * stb_vorbis_open_filename(char *filename, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from a filename via fopen(). on failure, - // returns NULL and sets *error (possibly to VORBIS_file_open_failure). - - extern stb_vorbis * stb_vorbis_open_file(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell). on failure, returns NULL and sets *error. - // note that stb_vorbis must "own" this stream; if you seek it in between - // calls to stb_vorbis, it will become confused. Morever, if you attempt to - // perform stb_vorbis_seek_*() operations on this file, it will assume it - // owns the _entire_ rest of the file after the start point. Use the next - // function, stb_vorbis_open_file_section(), to limit it. - - extern stb_vorbis * stb_vorbis_open_file_section(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer, unsigned int len); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell); the stream will be of length 'len' bytes. - // on failure, returns NULL and sets *error. note that stb_vorbis must "own" - // this stream; if you seek it in between calls to stb_vorbis, it will become - // confused. -#endif - - extern int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number); - extern int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number); - // NOT WORKING YET - // these functions seek in the Vorbis file to (approximately) 'sample_number'. - // after calling seek_frame(), the next call to get_frame_*() will include - // the specified sample. after calling stb_vorbis_seek(), the next call to - // stb_vorbis_get_samples_* will start with the specified sample. If you - // do not need to seek to EXACTLY the target sample when using get_samples_*, - // you can also use seek_frame(). - - extern void stb_vorbis_seek_start(stb_vorbis *f); - // this function is equivalent to stb_vorbis_seek(f,0), but it - // actually works - - extern unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f); - extern float stb_vorbis_stream_length_in_seconds(stb_vorbis *f); - // these functions return the total length of the vorbis stream - - extern int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output); - // decode the next frame and return the number of samples. the number of - // channels returned are stored in *channels (which can be NULL--it is always - // the same as the number of channels reported by get_info). *output will - // contain an array of float* buffers, one per channel. These outputs will - // be overwritten on the next call to stb_vorbis_get_frame_*. - // - // You generally should not intermix calls to stb_vorbis_get_frame_*() - // and stb_vorbis_get_samples_*(), since the latter calls the former. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts); - extern int stb_vorbis_get_frame_short (stb_vorbis *f, int num_c, short **buffer, int num_samples); -#endif - // decode the next frame and return the number of samples per channel. the - // data is coerced to the number of channels you request according to the - // channel coercion rules (see below). You must pass in the size of your - // buffer(s) so that stb_vorbis will not overwrite the end of the buffer. - // The maximum buffer size needed can be gotten from get_info(); however, - // the Vorbis I specification implies an absolute maximum of 4096 samples - // per channel. Note that for interleaved data, you pass in the number of - // shorts (the size of your array), but the return value is the number of - // samples per channel, not the total number of samples. - - // Channel coercion rules: - // Let M be the number of channels requested, and N the number of channels present, - // and Cn be the nth channel; let stereo L be the sum of all L and center channels, - // and stereo R be the sum of all R and center channels (channel assignment from the - // vorbis spec). - // M N output - // 1 k sum(Ck) for all k - // 2 * stereo L, stereo R - // k l k > l, the first l channels, then 0s - // k l k <= l, the first k channels - // Note that this is not _good_ surround etc. mixing at all! It's just so - // you get something useful. - - extern int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats); - extern int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples); - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. DOES NOT APPLY THE COERCION RULES. - // Returns the number of samples stored per channel; it may be less than requested - // at the end of the file. If there are no more samples in the file, returns 0. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts); - extern int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int num_samples); -#endif - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. Applies the coercion rules above - // to produce 'channels' channels. Returns the number of samples stored per channel; - // it may be less than requested at the end of the file. If there are no more - // samples in the file, returns 0. - -#endif - - //////// ERROR CODES - - enum STBVorbisError - { - VORBIS__no_error, - - VORBIS_need_more_data=1, // not a real error - - VORBIS_invalid_api_mixing, // can't mix API modes - VORBIS_outofmem, // not enough memory - VORBIS_feature_not_supported, // uses floor 0 - VORBIS_too_many_channels, // STB_VORBIS_MAX_CHANNELS is too small - VORBIS_file_open_failure, // fopen() failed - VORBIS_seek_without_length, // can't seek in unknown-length file - - VORBIS_unexpected_eof=10, // file is truncated? - VORBIS_seek_invalid, // seek past EOF - - // decoding errors (corrupt/invalid stream) -- you probably - // don't care about the exact details of these - - // vorbis errors: - VORBIS_invalid_setup=20, - VORBIS_invalid_stream, - - // ogg errors: - VORBIS_missing_capture_pattern=30, - VORBIS_invalid_stream_structure_version, - VORBIS_continued_packet_flag_invalid, - VORBIS_incorrect_stream_serial_number, - VORBIS_invalid_first_page, - VORBIS_bad_packet_type, - VORBIS_cant_find_last_page, - VORBIS_seek_failed, - }; - - -#ifdef __cplusplus -} -#endif - -#endif // STB_VORBIS_INCLUDE_STB_VORBIS_H -// -// HEADER ENDS HERE -// -////////////////////////////////////////////////////////////////////////////// diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/src/ofxMaxim.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/src/ofxMaxim.h deleted file mode 100644 index b197723..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/ofxMaxim/src/ofxMaxim.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _OFMAXIM_H -#define _OFMAXIM_H - -#include "maximilian.h" -#include "maxiFFT.h" -#include "maxiGrains.h" -#include "maxiMFCC.h" - - -typedef maxiMix ofxMaxiMix; -typedef maxiOsc ofxMaxiOsc; -typedef maxiEnvelope ofxMaxiEnvelope; -typedef maxiDelayline ofxMaxiDelayline; -typedef maxiFilter ofxMaxiFilter; -typedef maxiSample ofxMaxiSample; -typedef maxiFFT ofxMaxiFFT; -typedef maxiIFFT ofxMaxiIFFT; -typedef maxiFFTOctaveAnalyzer ofxMaxiFFTOctaveAnalyzer; -typedef maxiSettings ofxMaxiSettings; -typedef maxiMFCC ofxMaxiMFCC; - - -//typedef maxiSignal vector; -// -//class maxiBase { -// virtual maxiSignal play() = {}; -//}; -// -//class ofMaxiSine : public maxiBase { -// maxiOsc osc; -// double freq; -// -// void update(double freq) { -// freq = freq; -// } -// void play() { -// osc.sine(freq); -// } -//} -// -// -//class maxiNoise : public maxiBase { -// maxiBase* update() { -// //do something? -// }; -// -// double play() { -// return rand() / (float)RAND_MAX; -// } -//}; -// -//class maxiAnotherUGen : public maxiBase { -// maxiBase* update(double param1, bool param2); -//}; -// -//class maxiYetAnotherUGen : public maxiBase { -// maxiBase* update(int something, float somethingElse); -//}; -// -//void maxiProcess(maxiSignal &signal, maxiBase *ugen) { -// double val = ugen->play(); -// for(int i=0; i < signal.size(); i++) { -// signal[i] = val; -// } -//} -// -//void maxiBlock(maxiSignal &signal, maxiBase *ugen) { -// for (int i=0; i < 64; i++) { -// maxiProcess(signal, ugen); -// } -//} -// -//typedef maxiUGens vector -// -//maxiNoise ugen1; -//maxiAnotherUGen ugen2; -//maxiUGens ugen1 = createUGens(maxiNoise, 2); -// -//maxiSignal sig(2); -//maxiProcess(sig, ugen1.update()); -//maxiProcess(sig, ugen2.update(8.2, false)); -// -//ugen.update(2,3)->play(); - - -#endif diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.cpp b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.cpp deleted file mode 100644 index d1d2e83..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#include "testApp.h" - -//-------------------------------------------------------------- -void testApp::setup(){ - maxiSettings::setup(44100, 2, 512); - ofSoundStreamSetup(maxiSettings::channels,0,this,maxiSettings::sampleRate, maxiSettings::bufferSize, 4); - ofSoundStreamStart(); -} - -//-------------------------------------------------------------- -void testApp::update(){ - -} - -//-------------------------------------------------------------- -void testApp::draw(){ - -} - -void testApp::audioRequested( float * output, int bufferSize, int nChannels ){ - for(int i=0; i < bufferSize; i+=2) { - float sawFreq = maxiMap::linexp(mouseX,0, ofGetWidth(), 20, 20000); - float w = sawOsc.saw(sawFreq); - - w = dist.atanDist(w, 10); - - float filtFreq = maxiMap::linexp(mouseY,0, ofGetHeight(), 20, 20000); - w = filt.hires(w, filtFreq, 0.4); - - - output[i] = output[i+1] = w; - } -} - -//-------------------------------------------------------------- -void testApp::keyPressed(int key){ - -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key){ - -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y){ - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - -} - -//-------------------------------------------------------------- -void testApp::gotMessage(ofMessage msg){ - -} - -//-------------------------------------------------------------- -void testApp::dragEvent(ofDragInfo dragInfo){ - -} \ No newline at end of file diff --git a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.h b/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.h deleted file mode 100644 index e503d85..0000000 --- a/ofxMaxim/examples/windows/ofxMaximExampleVS2010-OF0072/src/testApp.h +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "ofMain.h" -#include "ofxMaxim.h" - -class testApp : public ofBaseApp{ - public: - void setup(); - void update(); - void draw(); - - void keyPressed(int key); - void keyReleased(int key); - void mouseMoved(int x, int y); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void windowResized(int w, int h); - void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - - void audioRequested( float * output, int bufferSize, int nChannels ); - - maxiOsc sawOsc; - maxiFilter filt; - maxiDistortion dist; - - -}; diff --git a/ofxMaxim/ofxMaxim/install.xml b/ofxMaxim/ofxMaxim/install.xml deleted file mode 100644 index e42de73..0000000 --- a/ofxMaxim/ofxMaxim/install.xml +++ /dev/null @@ -1,37 +0,0 @@ - - 0.1 - Goldsmiths Creative Computing - http://www.maximilian.strangeloop.co.uk/ - - - - - - - - - - - - ../../../addons/ofxMaxim/src/ofxMaxim.h - - - - ../../../addons/ofxMaxim/libs/fft.h - ../../../addons/ofxMaxim/libs/fft.cpp - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.h - ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.cpp - ../../../addons/ofxMaxim/libs/maxiBark.cpp - ../../../addons/ofxMaxim/libs/maxiBark.h - ../../../addons/ofxMaxim/libs/maximilian.h - ../../../addons/ofxMaxim/libs/maximilian.cpp - - - - - - ../../../addons/ofxMaxim/src - ../../../addons/ofxMaxim/libs - - - \ No newline at end of file diff --git a/ofxMaxim/ofxMaxim/libs/fft.cpp b/ofxMaxim/ofxMaxim/libs/fft.cpp deleted file mode 100644 index 85a7aa9..0000000 --- a/ofxMaxim/ofxMaxim/libs/fft.cpp +++ /dev/null @@ -1,584 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ -/* - - fft.cpp - - Based on K+R Numerical recipes in C and some other stuff hacked about. - - */ - -#include "fft.h" -#include -#include -#include -#include - -int **gFFTBitTable = NULL; -const int MaxFastBits = 16; - -int IsPowerOfTwo(int x) -{ - if (x < 2) - return false; - - if (x & (x - 1)) - return false; - - return true; -} - -int NumberOfBitsNeeded(int PowerOfTwo) -{ - int i; - - if (PowerOfTwo < 2) { - fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); - exit(1); - } - - for (i = 0;; i++) - if (PowerOfTwo & (1 << i)) - return i; -} - -int ReverseBits(int index, int NumBits) -{ - int i, rev; - - for (i = rev = 0; i < NumBits; i++) { - rev = (rev << 1) | (index & 1); - index >>= 1; - } - - return rev; -} - -void InitFFT() -{ - // gFFTBitTable = new int *[MaxFastBits]; - //use malloc for 16 byte alignment - gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); - - int len = 2; - for (int b = 1; b <= MaxFastBits; b++) { - - // gFFTBitTable[b - 1] = new int[len]; - gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); - - for (int i = 0; i < len; i++) - gFFTBitTable[b - 1][i] = ReverseBits(i, b); - - len <<= 1; - } -} - -inline int FastReverseBits(int i, int NumBits) -{ - if (NumBits <= MaxFastBits) - return gFFTBitTable[NumBits - 1][i]; - else - return ReverseBits(i, NumBits); -} - -/* - * Complex Fast Fourier Transform - */ - -void FFT(int NumSamples, - bool InverseTransform, - float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) -{ - int NumBits; /* Number of bits needed to store indices */ - int i, j, k, n; - int BlockSize, BlockEnd; - - double angle_numerator = 2.0 * M_PI; - float tr, ti; /* temp real, temp imaginary */ - - if (!IsPowerOfTwo(NumSamples)) { - fprintf(stderr, "%d is not a power of two\n", NumSamples); - exit(1); - } - - if (!gFFTBitTable) - InitFFT(); - - if (InverseTransform) - angle_numerator = -angle_numerator; - - NumBits = NumberOfBitsNeeded(NumSamples); - - /* - ** Do simultaneous data copy and bit-reversal ordering into outputs... - */ - - for (i = 0; i < NumSamples; i++) { - j = FastReverseBits(i, NumBits); - RealOut[j] = RealIn[i]; - ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; - } - - /* - ** Do the FFT itself... - */ - - BlockEnd = 1; - for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { - - double delta_angle = angle_numerator / (double) BlockSize; - - float sm2 = sin(-2 * delta_angle); - float sm1 = sin(-delta_angle); - float cm2 = cos(-2 * delta_angle); - float cm1 = cos(-delta_angle); - float w = 2 * cm1; - float ar0, ar1, ar2, ai0, ai1, ai2; - - for (i = 0; i < NumSamples; i += BlockSize) { - ar2 = cm2; - ar1 = cm1; - - ai2 = sm2; - ai1 = sm1; - - for (j = i, n = 0; n < BlockEnd; j++, n++) { - ar0 = w * ar1 - ar2; - ar2 = ar1; - ar1 = ar0; - - ai0 = w * ai1 - ai2; - ai2 = ai1; - ai1 = ai0; - - k = j + BlockEnd; - tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; - ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; - - RealOut[k] = RealOut[j] - tr; - ImagOut[k] = ImagOut[j] - ti; - - RealOut[j] += tr; - ImagOut[j] += ti; - } - } - - BlockEnd = BlockSize; - } - - /* - ** Need to normalize if inverse transform... - */ - - if (InverseTransform) { - float denom = (float) NumSamples; - - for (i = 0; i < NumSamples; i++) { - RealOut[i] /= denom; - ImagOut[i] /= denom; - } - } -} - -/* - * Real Fast Fourier Transform - * - * This function was based on the code in Numerical Recipes in C. - * In Num. Rec., the inner loop is based on a single 1-based array - * of interleaved real and imaginary numbers. Because we have two - * separate zero-based arrays, our indices are quite different. - * Here is the correspondence between Num. Rec. indices and our indices: - * - * i1 <-> real[i] - * i2 <-> imag[i] - * i3 <-> real[n/2-i] - * i4 <-> imag[n/2-i] - */ - -void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = (float*) malloc(Half * sizeof(float)); - float *tmpImag = (float*) malloc(Half * sizeof(float)); - - for (i = 0; i < Half; i++) { - tmpReal[i] = RealIn[2 * i]; - tmpImag[i] = RealIn[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - RealOut[i] = h1r + wr * h2r - wi * h2i; - ImagOut[i] = h1i + wr * h2i + wi * h2r; - RealOut[i3] = h1r - wr * h2r + wi * h2i; - ImagOut[i3] = -h1i + wr * h2i + wi * h2r; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - - RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; - ImagOut[0] = h1r - ImagOut[0]; - - free(tmpReal); - free(tmpImag); -} - -/* - * PowerSpectrum - * - * This function computes the same as RealFFT, above, but - * adds the squares of the real and imaginary part of each - * coefficient, extracting the power and throwing away the - * phase. - * - * For speed, it does not call RealFFT, but duplicates some - * of its code. - */ - -void PowerSpectrum(int NumSamples, float *In, float *Out) -{ - int Half = NumSamples / 2; - int i; - - float theta = M_PI / Half; - - float *tmpReal = new float[Half]; - float *tmpImag = new float[Half]; - float *RealOut = new float[Half]; - float *ImagOut = new float[Half]; - - for (i = 0; i < Half; i++) { - tmpReal[i] = In[2 * i]; - tmpImag[i] = In[2 * i + 1]; - } - - FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); - - float wtemp = float (sin(0.5 * theta)); - - float wpr = -2.0 * wtemp * wtemp; - float wpi = float (sin(theta)); - float wr = 1.0 + wpr; - float wi = wpi; - - int i3; - - float h1r, h1i, h2r, h2i, rt, it; - //float total=0; - - for (i = 1; i < Half / 2; i++) { - - i3 = Half - i; - - h1r = 0.5 * (RealOut[i] + RealOut[i3]); - h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); - h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); - h2i = -0.5 * (RealOut[i] - RealOut[i3]); - - rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); - it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); - - Out[i] = rt * rt + it * it; - - rt = h1r - wr * h2r + wi * h2i; - it = -h1i + wr * h2i + wi * h2r; - - Out[i3] = rt * rt + it * it; - - wr = (wtemp = wr) * wpr - wi * wpi + wr; - wi = wi * wpr + wtemp * wpi + wi; - } - //printf("total = %f\n",total); - rt = (h1r = RealOut[0]) + ImagOut[0]; - it = h1r - ImagOut[0]; - Out[0] = rt * rt + it * it; - - rt = RealOut[Half / 2]; - it = ImagOut[Half / 2]; - Out[Half / 2] = rt * rt + it * it; - - delete[]tmpReal; - delete[]tmpImag; - delete[]RealOut; - delete[]ImagOut; -} - -void WindowFunc(int whichFunction, int NumSamples, float *in) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - in[i] *= (i / (float) (NumSamples / 2)); - in[i + (NumSamples / 2)] *= - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -void fft::genWindow(int whichFunction, int NumSamples, float *window) -{ - int i; - - if (whichFunction == 1) { - // Bartlett (triangular) window - for (i = 0; i < NumSamples / 2; i++) { - window[i] = (i / (float) (NumSamples / 2)); - window[i + (NumSamples / 2)] = - (1.0 - (i / (float) (NumSamples / 2))); - } - } - - if (whichFunction == 2) { - // Hamming - for (i = 0; i < NumSamples; i++) - window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); - } - - if (whichFunction == 3) { - // Hanning - for (i = 0; i < NumSamples; i++) - window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); - } -} - -/* constructor */ -fft::fft(int fftSize) { - n = fftSize; - half = fftSize / 2; - //use malloc for 16 byte alignment - in_real = (float *) malloc(n * sizeof(float)); - in_img = (float *) malloc(n * sizeof(float)); - out_real = (float *) malloc(n * sizeof(float)); - out_img = (float *) malloc(n * sizeof(float)); - -#ifdef __APPLE_CC__ - log2n = log2(n); - A.realp = (float *) malloc(half * sizeof(float)); - A.imagp = (float *) malloc(half * sizeof(float)); - setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); - if (setupReal == NULL) { - printf("\nFFT_Setup failed to allocate enough memory for" - "the real FFT.\n"); - } - polar = (float *) malloc(n * sizeof(float)); -#endif -} - -/* destructor */ -fft::~fft() { - delete[] in_real, out_real, in_img, out_img; -#ifdef __APPLE_CC__ - vDSP_destroy_fftsetup(setupReal); - delete[] A.realp; - delete[] A.imagp; - delete[] polar; -#endif - -} - -/* Calculate the power spectrum */ -void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { - int i; - - //windowing - for (i = 0; i < n; i++) { - in_real[i] = data[start + i] * window[i]; - } - - - RealFFT(n, in_real, out_real, out_img); - - for (i = 0; i < half; i++) { - /* compute power */ - float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; - /* compute magnitude and phase */ - magnitude[i] = sqrt(power); - phase[i] = atan2(out_img[i],out_real[i]); - - // if (magnitude[i] < 0.000001){ // less than 0.1 nV - // magnitude[i] = 0; // out of range - // } else { - // magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale - // } - } - -} - -void fft::convToDB(float *in, float *out) { - for (int i = 0; i < half; i++) { - if (in[i] < 0.000001){ // less than 0.1 nV - out[i] = 0; // out of range - } else { - out[i] = 20.0*log10(in[i] + 1); // get to to db scale - } - } -} - - -#ifdef __APPLE_CC__ - -/* Calculate the power spectrum */ -void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { - - uint32_t i; - - //multiply by window - vDSP_vmul(data, 1, window, 1, in_real, 1, n); - - //convert to split complex format - evens and odds - vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); - - - //calc fft - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); - - //scale by 2 (see vDSP docs) - static float scale=0.5 ; - vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); - vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); - - //back to split complex format - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - //convert to polar - vDSP_polar(out_real, 2, polar, 2, half); - - for (i = 0; i < half; i++) { - magnitude[i]=polar[2*i]; - phase[i]=polar[2*i + 1]; - } - - - -} - -void fft::convToDB_vdsp(float *in, float *out) { - float ref = 1.0; - vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); - //get rid of any -infs - float vmin=0.0; - float vmax=9999999.0; - vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); -} - -#endif - -void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { - int i; - - /* get real and imag part */ - for (i = 0; i < half; i++) { - // float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; - // in_real[i] = mag *cos(phase[i]); - // in_img[i] = mag *sin(phase[i]); - in_real[i] = magnitude[i] *cos(phase[i]); - in_img[i] = magnitude[i] *sin(phase[i]); - } - - /* zero negative frequencies */ - memset(in_real+half, half, 0.0); - memset(in_img+half, half, 0.0); - - FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform - - for (i = 0; i < n; i++) { - finalOut[start + i] += out_real[i] * window[i] - ; - } - -} - - -#ifdef __APPLE_CC__ -void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { - uint32_t i; - - for (i = 0; i < half; i++) { - // polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; - polar[2*i] = magnitude[i]; - polar[2*i + 1] = phase[i]; - } - - vDSP_rect(polar, 2, in_real, 2, half); - - vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); - vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); - vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); - - float scale = 1./n; - vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); - - //multiply by window - vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); - -} - -#endif diff --git a/ofxMaxim/ofxMaxim/libs/fft.h b/ofxMaxim/ofxMaxim/libs/fft.h deleted file mode 100644 index 7f0e688..0000000 --- a/ofxMaxim/ofxMaxim/libs/fft.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _FFT -#define _FFT - -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifdef __APPLE_CC__ -#include -#endif - - - -class fft { - -public: - - fft(int fftSize); - ~fft(); - - int n; //fftSize - int half; //halfFFTSize - - float *in_real, *out_real, *in_img, *out_img; - -#ifdef __APPLE_CC__ - int log2n; //log2(n); - FFTSetup setupReal; - COMPLEX_SPLIT A; - float *polar; - void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); - void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB_vdsp(float *in, float *out); -#endif - - /* Calculate the power spectrum */ - void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); - /* ... the inverse */ - void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); - void convToDB(float *in, float *out); - - static void genWindow(int whichFunction, int NumSamples, float *window); - -}; - - -#endif diff --git a/ofxMaxim/ofxMaxim/libs/maxiAtoms.cpp b/ofxMaxim/ofxMaxim/libs/maxiAtoms.cpp deleted file mode 100644 index 14f5ea8..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiAtoms.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/* - * gabor.cpp - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiAtoms.h" -#include -#include -#include "sineTable.h" -#ifdef __APPLE_CC__ -#include -#warning ofxMaxim: Please link against the accelerate framework. -#endif - -//#include "tinyxml.h" - -float sineBuffer2[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - - -maxiGrainWindowCache maxiCollider::envCache = maxiGrainWindowCache(); - -inline void maxiCollider::createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned length, - float startPhase, const float kurtotis, const float amp) { - atom.resize(length); - flArr sine; - sine.resize(length); - -// float gausDivisor = (-2.0 * kurtotis * kurtotis); -// float phase =-1.0; - - double *env = maxiCollider::envCache.getWindow(length); -#ifdef __APPLE_CC__ - vDSP_vdpsp(env, 1, &atom[0], 1, length); -#else - for(unsigned i=0; i < length; i++) { - atom[i] = env[i]; - } -#endif - -//#ifdef __APPLE_CC__ -// vDSP_vramp(&phase, &inc, &atom[0], 1, length); -// vDSP_vsq(&atom[0], 1, &atom[0], 1, length); -// vDSP_vsdiv(&atom[0], 1, &gausDivisor, &atom[0], 1, length); -// for(uint i=0; i < length; i++) atom[i] = exp(atom[i]); -//#else -// for(uint i=0; i < length; i++) { -// //gaussian envelope -// atom[i] = exp((phase* phase) / gausDivisor); -// phase += inc; -// } -//#endif - - float cycleLen = sampleRate / freq; - float maxPhase = length / cycleLen; - float inc = 1.0 / length; - - -#ifdef __APPLE_CC__ - flArr interpConstants; - interpConstants.resize(length); - float phase = 0.0; - vDSP_vramp(&phase, &inc, &interpConstants[0], 1, length); - vDSP_vsmsa(&interpConstants[0], 1, &maxPhase, &startPhase, &interpConstants[0], 1, length); - float waveTableLength = 512; - vDSP_vsmul(&interpConstants[0], 1, &waveTableLength, &interpConstants[0], 1, length); - for(uint i=0; i < length; i++) { - interpConstants[i] = fmod(interpConstants[i], 512.0f); - } - vDSP_vlint(sineBuffer2, &interpConstants[0], 1, &sine[0], 1, length, 514); - vDSP_vmul(&atom[0], 1, &sine[0], 1, &atom[0], 1, length); - vDSP_vsmul(&atom[0], 1, &, &atom[0], 1, length); -#else - maxPhase *= TWOPI; - for(unsigned int i=0; i < length; i++) { - //multiply by sinewave - float x = inc * i; - sine[i] = sin((x * maxPhase) + startPhase); - } - for(unsigned int i=0; i < length; i++) { - atom[i] *= sine[i]; - atom[i] *= amp; - } -#endif -} - - - -maxiAccelerator::maxiAccelerator() { - sampleIdx = 0; -} - -void maxiAccelerator::addAtom(flArr &atom, unsigned int offset) { - queuedAtom quAtom; - quAtom.atom = atom; - quAtom.startTime = sampleIdx + offset; - quAtom.pos = 0; - atomQueue.push_back(quAtom); -} - -void maxiAccelerator::fillNextBuffer(float *buffer, unsigned int bufferLength) { - queuedAtomList::iterator it = atomQueue.begin(); - while(it != atomQueue.end()) { - int atomStart = (*it).startTime + (*it).pos; - //include in this frame? - if (atomStart >= sampleIdx && atomStart < sampleIdx + bufferLength) { - //copy into buffer - int renderLength = min((int)bufferLength,(int)( (*it).atom.size() - (*it).pos)); - for(int i=0; i < renderLength; i++) { - buffer[i] += (*it).atom[i + (*it).pos]; - } - (*it).pos += renderLength; - } - if ((*it).pos == (*it).atom.size()) { - it = atomQueue.erase(it); - }else { - it++; - } - - } - sampleIdx += bufferLength; -} - -//bool maxiAtomBook::loadMPTKXmlBook(string filename, maxiAtomBook &book) { -// bool ok; -// ifstream f; -// f.open(filename.c_str()); -// if (f.fail()) { -// cout << "I couldn't open " << filename << endl; -// ok = false; -// }else { -// cout << "Reading " << filename << endl; -// const int lineBufferSize = 1024; -// char lineBuffer[lineBufferSize]; -// string line(""); -// //get dictionary definition xml -// while("" != line) { -// f.getline(lineBuffer, lineBufferSize); -// line = lineBuffer; -// } -// //this should be "txt" -// f.getline(lineBuffer, lineBufferSize); -// //get rest of data into one string -// string xmlData; -// while(!f.eof()) { -// f.getline(lineBuffer, lineBufferSize); -// xmlData.append(lineBuffer); -// } -// TiXmlDocument doc; -// doc.Parse(xmlData.c_str()); -// cout << "Parsed xml, processing atoms...\n"; -// TiXmlHandle docHandle = TiXmlHandle(&doc); -// -// TiXmlElement *root = docHandle.FirstChildElement("book").ToElement(); -// TiXmlAttribute *nAtomsAtt = root->FirstAttribute(); -// cout << nAtomsAtt->Name() << ", " << nAtomsAtt->Value() << endl; -// int nAtoms = atoi(nAtomsAtt->Value()); -// TiXmlAttribute *numSamplesAtt = nAtomsAtt->Next()->Next(); -// cout << numSamplesAtt->Name() << ", " << numSamplesAtt->Value() << endl; -// book.numSamples = atoi(numSamplesAtt->Value()); -// TiXmlAttribute *sampleRateAtt = numSamplesAtt->Next(); -// cout << sampleRateAtt->Name() << ", " << sampleRateAtt->Value() << endl; -// book.sampleRate = atoi(sampleRateAtt->Value()); -// -// for(int atomIdx=0; atomIdx < nAtoms; atomIdx++) { -// maxiGaborAtom *newAtom = new maxiGaborAtom(); -// newAtom->atomType = GABOR; -// TiXmlElement *atom = docHandle.FirstChildElement("book").ChildElement("atom", atomIdx).ToElement(); -// TiXmlElement *node = atom->FirstChildElement()->NextSibling()->ToElement(); -// newAtom->position = atoi(node->FirstChildElement("p")->FirstChild()->ToText()->Value()); -// newAtom->length = atoi(node->FirstChildElement("l")->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->ToElement(); -// newAtom->amp = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->frequency = atof(node->FirstChild()->ToText()->Value()); -// node = node->NextSibling()->NextSibling()->ToElement(); -// newAtom->phase = atof(node->FirstChild()->ToText()->Value()); -// //cout << "Atom: pos: " << newAtom->position << ", length: " << newAtom->length << ", amp: " << newAtom->amp << ", freq: " << newAtom->frequency << ", phase: " << newAtom->phase << endl; -// book.atoms.push_back(newAtom); -// } -// -// } -// return ok; -//} - -maxiAtomBook::~maxiAtomBook() { - for(int i=0; i < atoms.size(); i++) delete atoms[i]; -} - -maxiAtomBookPlayer::maxiAtomBookPlayer() { - atomIdx = 0; -} - -void maxiAtomBookPlayer::play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize) { - //positions - long idx = atomStream.getSampleIdx(); - int loopedSamplePos = idx % book.numSamples; - - //reset loop? - if (loopedSamplePos < bufferSize) - atomIdx = 0; - - if (atomIdx < book.atoms.size()) { - maxiGaborAtom *atom = (maxiGaborAtom*) book.atoms[atomIdx]; - while(atom->position < (idx + bufferSize) % book.numSamples) { - flArr atomData; - maxiCollider::createGabor(atomData, maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 40.0); - atomStream.addAtom(atomData, loopedSamplePos - atom->position); - atomIdx++; - if (book.atoms.size() == atomIdx) - break; - atom = (maxiGaborAtom*) book.atoms[atomIdx]; - } - } -} diff --git a/ofxMaxim/ofxMaxim/libs/maxiAtoms.h b/ofxMaxim/ofxMaxim/libs/maxiAtoms.h deleted file mode 100644 index 1782d55..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiAtoms.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * gabor.h - * mp - * - * Created by Chris on 01/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - - -#include -#include "maximilian.h" -#include -#include -#include "maxiGrains.h" - - -using namespace std; - -typedef vector flArr; - -enum maxiAtomTypes { - GABOR -}; - -struct maxiAtom { - maxiAtomTypes atomType; - float length; - float position; - float amp; - static bool atomSortPositionAsc(maxiAtom* a, maxiAtom* b) {return a->position < b->position;} -}; - -struct maxiGaborAtom : maxiAtom { - float frequency; - float phase; -}; - -//create atoms -class maxiCollider { -public: - static inline void createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned int length, - float phase, const float kurtotis, const float amp); - static maxiGrainWindowCache envCache; -}; - - -//queue atoms into an audio stream -class maxiAccelerator { -public: - maxiAccelerator(); - void addAtom(flArr &atom, unsigned int offset=0); - void fillNextBuffer(float *buffer, unsigned int bufferLength); - inline long getSampleIdx(){return sampleIdx;} -private: - long sampleIdx; - struct queuedAtom { - flArr atom; - long startTime; - unsigned int pos; - }; - typedef list queuedAtomList; - queuedAtomList atomQueue; -}; - -/*load a book in MPTK XML format - http://mptk.irisa.fr/ - - how to create a book: - mpd -n 1000 -R 10 -d ./dic_gabor_two_scales.xml glockenspiel.wav book.xml -*/ -class maxiAtomBook { -public: - ~maxiAtomBook(); - typedef vector maxiAtomBookData; - unsigned int numSamples; - unsigned int sampleRate; - maxiAtomBookData atoms; - //commented out for now, need to resolve tinyxml linker issues - we need tinyxml in the distrib, but it clashes if you also import ofxXmlSettings -// static bool loadMPTKXmlBook(string filename, maxiAtomBook &book); - -}; - -class maxiAtomBookPlayer { -public: - maxiAtomBookPlayer(); - void play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize); -private: - unsigned int atomIdx; -}; - diff --git a/ofxMaxim/ofxMaxim/libs/maxiBark.cpp b/ofxMaxim/ofxMaxim/libs/maxiBark.cpp deleted file mode 100644 index 634a779..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiBark.cpp +++ /dev/null @@ -1,10 +0,0 @@ -/* - * maxiBark.cpp - * Bark scale loudness - * - * Created by Jakub on 01/12/2014. - * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiBark.h" diff --git a/ofxMaxim/ofxMaxim/libs/maxiBark.h b/ofxMaxim/ofxMaxim/libs/maxiBark.h deleted file mode 100644 index dbb4a86..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiBark.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * maxiBark.cpp - * Bark scale loudness - * - * Created by Jakub on 01/12/2014. - * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -//#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - -//convert to Bark scale (Zwicker, 1961) -inline double hzToBark(double hz) { - return 13.0*atan(hz/1315.8) + 3.5*atan(pow((hz/7518.0),2)); -} - -inline double binToHz(unsigned int bin, unsigned int sR, unsigned int bS) { - return bin*sR/bS; -} - -template - -class maxiBarkScaleAnalyser { -public: - int NUM_BARK_BANDS; - - void setup(unsigned int sR, unsigned int bS) { - this->sampleRate = sR; - this->bufferSize = bS; - specSize = bS/2; - NUM_BARK_BANDS = 24; - for (int i=0; i currentBandEnd) { - bbLimits[currentBand] = i; - currentBand++; - currentBandEnd = currentBand*barkScale[specSize-1]/NUM_BARK_BANDS; - } - } - - bbLimits[NUM_BARK_BANDS] = specSize-1; - }; - - double* specificLoudness(float* normalisedSpectrum) { - for (int i = 0; i < NUM_BARK_BANDS; i++){ - double sum = 0; - for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { - - sum += normalisedSpectrum[j]; - } - specific[i] = pow(sum,0.23); - } - - return specific; - }; - - double* relativeLoudness(float* normalisedSpectrum) { - for (int i = 0; i < NUM_BARK_BANDS; i++){ - double sum = 0; - for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { - - sum += normalisedSpectrum[j]; - } - specific[i] = pow(sum,0.23); - } - - double max = 0; - for (int i = 0; i < NUM_BARK_BANDS; i++){ - if (specific[i] > max) max = specific[i]; - } - - for (int i = 0; i < NUM_BARK_BANDS; i++){ - relative[i] = specific[i]/max; - } - - return relative; - }; - - double* totalLoudness(float* normalisedSpectrum) { - for (int i = 0; i < NUM_BARK_BANDS; i++){ - double sum = 0; - for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { - - sum += normalisedSpectrum[j]; - } - specific[i] = pow(sum,0.23); - } - - total[0] = 0; - - for (int i = 0; i < 24; i++){ - total[0] += specific[i]; - } - - return total; - }; - -private: - int bbLimits[24]; - unsigned int sampleRate, bufferSize, specSize; - double barkScale[2048]; - double specific[24]; - double relative[24]; - double total[1]; - -}; - -typedef maxiBarkScaleAnalyser maxiBark; - - - - - - diff --git a/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp deleted file mode 100644 index c648992..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiFFT.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maxiFFT.h" -#include "maximilian.h" -#include -#include "math.h" - -using namespace std; - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - magnitudes = (float *) malloc(bins * sizeof(float)); - magnitudesDB = (float *) malloc(bins * sizeof(float)); - phases = (float *) malloc(bins * sizeof(float)); - avgPower = new float; - memset(buffer, 0, fftSize * sizeof(float)); - memset(magnitudes, 0, bins * sizeof(float)); - memset(magnitudesDB, 0, bins * sizeof(float)); - memset(phases, 0, bins * sizeof(float)); - *avgPower = 0; - pos =windowSize - hopSize; - newFFT = 0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -bool maxiFFT::process(float value) { - //add value to buffer at current pos - buffer[pos++] = value; - //if buffer full, run fft - newFFT = pos == windowSize; - if (newFFT) { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); -#else - _fft->powerSpectrum(0, buffer, window, magnitudes, phases); -#endif - //shift buffer back by one hop size - memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); - //set the new data to zero (is this necessary?, it will get overwritten) - memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); - //reset pos to start of hop - pos= windowSize - hopSize; - } - return newFFT; -} - -float* maxiFFT::magsToDB() { -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->convToDB_vdsp(magnitudes, magnitudesDB); -#else - _fft->convToDB(magnitudes, magnitudesDB); -#endif - return magnitudesDB; -} - -float maxiFFT::spectralFlatness() { - float geometricMean=0, arithmaticMean=0; - for(int i=0; i < bins; i++) { - if (magnitudes[i] != 0) - geometricMean += logf(magnitudes[i]); - arithmaticMean += magnitudes[i]; - } - geometricMean = expf(geometricMean / (float)bins); - arithmaticMean /= (float)bins; - return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; -} - -float maxiFFT::spectralCentroid() { - float x=0, y=0; - for(int i=0; i < bins; i++) { - x += fabs(magnitudes[i]) * i; - y += fabs(magnitudes[i]); - } - return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; -} - - - -maxiFFT::~maxiFFT() { - delete _fft; - if (buffer) - delete[] buffer,magnitudes,phases,window, avgPower, magnitudesDB; -} - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//I N V E R S E F F T -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { - _fft = new fft(_fftSize); - fftSize = _fftSize; - windowSize = _windowSize; - bins = fftSize / 2; - hopSize = _hopSize; - buffer = (float *) malloc(fftSize * sizeof(float)); - ifftOut = (float *) malloc(fftSize * sizeof(float)); - memset(buffer, 0, windowSize * sizeof(float)); - pos =0; - window = (float*) malloc(fftSize * sizeof(float)); - memset(window, 0, fftSize * sizeof(float)); - fft::genWindow(3, windowSize, window); -} - -float maxiIFFT::process(float *magnitudes, float *phases) { - if (0==pos) { - //do ifft - memset(ifftOut, 0, fftSize * sizeof(float)); -#if defined(__APPLE_CC__) && !defined(_NO_VDSP) - _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); -#else - _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); -#endif - //add to output - //shift back by one hop - memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); - //clear the end chunk - memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); - //merge new output - for(int i=0; i < fftSize; i++) { - buffer[i] += ifftOut[i]; - } - } - - nextValue = buffer[pos]; - //limit the values, this alg seems to spike occasionally (and break the audio drivers) - if (nextValue > 0.99999f) nextValue = 0.99999f; - if (nextValue < -0.99999f) nextValue = -0.99999f; - if (hopSize == ++pos ) { - pos=0; - } - - return nextValue; -} - -maxiIFFT::~maxiIFFT() { - delete _fft; - delete[] ifftOut, buffer, window; -}; - - - - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -//O C T A V E A N A L Y S E R -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - -void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ - - samplingRate = samplingRate; - nSpectrum = nBandsInTheFFT; - spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); - nAverages = nBandsInTheFFT; - // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc - if (nAveragesPerOctave==0) // um, wtf? - nAveragesPerOctave = 1; -// nAveragesPerOctave = nAveragesPerOctave; - averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); - // this isn't currently configurable (used once here then no effect), but here's some reasoning: - // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 - // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 - // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 - // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) - // but don't go much smaller unless you have a huge fft window size (see below for more why) - // keep in mind, if you change it, that the number of actual bands may change +/-1, and - // for some values, the last averaging band may not be very useful (may extend above nyquist) - firstOctaveFrequency = 55.0f; - // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. - // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. - // with more spectrum bins, you can better map into the averaging bins (especially at low - // frequencies) or use more averaging bins per octave. with an fft window size of 2048, - // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave - // analysis. if you don't have enough spectrum bins to map adequately into averaging bins - // at the requested number per octave then you'll end up with "empty" averaging bins, where - // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, - // either increase fft buffer size, or decrease number of averages per octave, etc) - spe2avg = new int[nSpectrum]; - int avgidx = 0; - float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin - // we're looking for the "top" of the first spectrum bin, and i'm just sort of - // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) - // ... either way it's probably close enough for these purposes - float spectrumFreq = spectrumFrequencySpan; - for (int speidx=0; speidx < nSpectrum; speidx++) { - while (spectrumFreq > averageFreq) { - avgidx++; - averageFreq *= averageFrequencyIncrement; - } - spe2avg[speidx] = avgidx; - spectrumFreq += spectrumFrequencySpan; - } - nAverages = avgidx; - averages = new float[nAverages]; - peaks = new float[nAverages]; - peakHoldTimes = new int[nAverages]; - peakHoldTime = 0; // arbitrary - peakDecayRate = 0.9f; // arbitrary - linearEQIntercept = 1.0f; // unity -- no eq by default - linearEQSlope = 0.0f; // unity -- no eq by default -} - -void maxiFFTOctaveAnalyzer::calculate(float * fftData){ - - int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average - float sum = 0.0f; // running total of spectrum data - int count = 0; // count of spectrums accumulated (for averaging) - for (int speidx=0; speidx < nSpectrum; speidx++) { - count++; - sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); - int avgidx = spe2avg[speidx]; - if (avgidx != last_avgidx) { - - for (int j = last_avgidx; j < avgidx; j++){ - averages[j] = sum / (float)(count); - } - count = 0; - sum = 0.0f; - } - last_avgidx = avgidx; - } - // the last average was probably not calculated... - if ((count > 0) && (last_avgidx < nAverages)){ - averages[last_avgidx] = sum / (float)(count); - } - - // update the peaks separately - for (int i=0; i < nAverages; i++) { - if (averages[i] >= peaks[i]) { - // save new peak level, also reset the hold timer - peaks[i] = averages[i]; - peakHoldTimes[i] = peakHoldTime; - } else { - // current average does not exceed peak, so hold or decay the peak - if (peakHoldTimes[i] > 0) { - peakHoldTimes[i]--; - } else { - peaks[i] *= peakDecayRate; - } - } - } -} diff --git a/ofxMaxim/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/ofxMaxim/libs/maxiFFT.h deleted file mode 100644 index d2694f4..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiFFT.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _MAXI_FFT -#define _MAXI_FFT - -//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions - - -#include "fft.h" -#include "stddef.h" - -class maxiFFT { - -public: - maxiFFT(){ - _fft = NULL; - buffer = magnitudes = phases = window = avgPower = NULL; - }; - ~maxiFFT(); - void setup(int fftSize, int windowSize, int hopSize); - bool process(float value); - float* magsToDB(); - float *magnitudes, *phases, *magnitudesDB; - float *avgPower; - int windowSize; - int hopSize; - int bins; - - //features - float spectralFlatness(); - float spectralCentroid(); - -private: - float *buffer, *window; - int pos; - float nextValue; - int fftSize; - fft *_fft; - bool newFFT; - -}; - -class maxiIFFT { - -public: - maxiIFFT(){ - _fft=0; - }; - ~maxiIFFT(); - void setup(int fftSize, int windowSize, int hopSize); - float process(float *magnitudes, float *phases); - -private: - float *ifftOut, *buffer, *window; - int windowSize; - int bins; - int hopSize; - int pos; - float nextValue; - int fftSize; - fft *_fft; -}; - - -class maxiFFTOctaveAnalyzer { - /*based on code by David Bollinger, http://www.davebollinger.com/ - */ -public: - - float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) - int nSpectrum; // number of spectrum bins in the fft - int nAverages; // number of averaging bins here - int nAveragesPerOctave; // number of averages per octave as requested by user - float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz - float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz - float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies - float * averages; // the actual averages - float * peaks; // peaks of the averages, aka "maxAverages" in other implementations - int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 - int peakHoldTime; // how long do we hold peaks? (in fft frames) - float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all - int * spe2avg; // the mapping between spectrum[] indices and averages[] indices - // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale - // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear - // equalizer instead: - float linearEQSlope; // the rate of linear eq - float linearEQIntercept; // the base linear scaling used at the first averaging bin - // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) - // so.. note that clever use of it can also provide a "gain" control of sorts - // (fe: set intercept to 2f and slope to 0f to double gain) - - void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); - - void calculate(float * fftData); - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/ofxMaxim/libs/maxiGrains.cpp b/ofxMaxim/ofxMaxim/libs/maxiGrains.cpp deleted file mode 100644 index 951f3b5..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiGrains.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "maxiGrains.h" - - - - - diff --git a/ofxMaxim/ofxMaxim/libs/maxiGrains.h b/ofxMaxim/ofxMaxim/libs/maxiGrains.h deleted file mode 100644 index fb3e102..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiGrains.h +++ /dev/null @@ -1,467 +0,0 @@ - - -#ifndef _MAXI_GRAINS_H -#define _MAXI_GRAINS_H -#include "maximilian.h" - -#if defined(__APPLE_CC__) -#include "accelerate/accelerate.h" -//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. -//#define MAXIGRAINFAST -#endif - -#include - -typedef unsigned long ulong; - -//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows - -struct hannWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - -//this window can produce clicks -struct hammingWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); - } -}; - - -struct cosineWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return sin((PI * windowPos) / (windowLength - 1)); - } -}; - -struct rectWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 1; - } -}; - -struct triangleWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct triangleNZWinFunctor { - //non zero end points - inline double operator()(ulong windowLength, ulong windowPos) { - return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); - } -}; - -struct blackmanHarrisWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.35875 - - (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct blackmanNutallWinFunctor { - inline double operator()(ulong windowLength, ulong windowPos) { - return 0.3635819 - - (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + - (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + - (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); - } -}; - -struct gaussianWinFunctor { - double gausDivisor; - gaussianWinFunctor() { - init(0.3); - } - gaussianWinFunctor(double kurtosis) { - init(kurtosis); - } - void init(double kurtosis) { - gausDivisor = (-2.0 * kurtosis * kurtosis); - } - inline double operator()(ulong windowLength, ulong windowPos) { - double phase = ((windowPos / (double) windowLength) - 0.5) * 2.0; - return exp((phase * phase) / gausDivisor); - } -}; - - -template -class maxiGrainWindowCache { -public: - unsigned int cacheSize; - - maxiGrainWindowCache() { - cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains - cache = (double**)malloc(cacheSize * sizeof(double*)); - for(int i=0; i < cacheSize; i++) { - cache[i] = NULL; - } - } - - ~maxiGrainWindowCache() { - for(int i=0; i < cacheSize; i++) { - if(NULL != cache[i]) { - free(cache[i]); - } - } - free(cache); - } - - double* getWindow(const unsigned int length) { - if (NULL == cache[length]) { - cache[length] = (double*)malloc(length * sizeof(double)); - for(int i=0; i < length; i++) { - cache[length][i] = F()(length, i); - } - } - return cache[length]; - } - -private: - double** cache; - -}; - -class maxiGrainBase { -public: - virtual double play() {} - virtual ~maxiGrainBase() {} - bool finished; -}; - -template -class maxiGrain : public maxiGrainBase { -public: - maxiSample *sample; - double pos; - double dur; - long sampleStartPos; - long sampleIdx; - long sampleDur; - long sampleEndPos; - double freq; - double speed; - double inc; - double frequency; - double* window; - short* buffer; -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - double* grainSamples; -#endif - /* - position between 0.0 and 1.0 - duration in seconds - */ - maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) - { - buffer = sample->temp; - sampleStartPos = sample->length * pos; - sampleDur = dur * (double)sample->mySampleRate; - sampleDurMinusOne = sampleDur - 1; - sampleIdx = 0; - finished = 0; - freq = 1.0 / dur; - sampleEndPos = min(sample->length, sampleStartPos + sampleDur); - frequency = freq * speed; - if (frequency > 0) { - pos = sampleStartPos; - }else{ - pos = sampleEndPos; - } - if (frequency != 0) { - inc = sampleDur/(maxiSettings::sampleRate/frequency); - }else - inc = 0; - window = windowCache->getWindow(sampleDur); - -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - //premake the grain using fast vector functions, and quadratic interpolation - double *sourceData = (double*)malloc(sampleDur * sizeof(double)); - short* buffer = (short *)sample->temp; - //convert sample to double data - vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); - //todo: wraping code - - grainSamples = (double*)malloc(sampleDur * sizeof(double)); - //make list of interpolation indexes - double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); - double interpPos = sampleStartPos; - for(int i=0; i < sampleDur; i++) { - interpIndexes[i] = interpPos - sampleStartPos; - interpPos += fabs(inc); - } - vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); - if (frequency < 0) { - vDSP_vrvrsD(grainSamples,1, sampleDur); - } - static double divFactor = 32767.0; - vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); - vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); - delete sourceData, interpIndexes; -#endif - } - - ~maxiGrain() { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - delete[] grainSamples; -#endif - } - - inline double play() { - double output = 0.0; - if (!finished) { -#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) - output = grainSamples[sampleIdx]; -#else - envValue = window[sampleIdx]; - double remainder; - pos += inc; - if (pos >= sample->length) - pos -= sample->length; - else if (pos < 0) - pos += sample->length; - - long posl = floor(pos); - remainder = pos - posl; - long a = posl; - long b = posl+1; - if (b >= sample->length) { - b = 0; - } - output = (double) ((1-remainder) * buffer[a] + - remainder * buffer[b])/32767.0;//linear interpolation - output *= envValue; -#endif - } - sampleIdx++; - if (sampleIdx == sampleDur) finished = true; - return output; - } - -protected: - maxiGrain(); - double envValue; - ulong sampleDurMinusOne; -}; - - -typedef list grainList; - -class maxiGrainPlayer { -public: - grainList grains; - maxiSample *sample; - - maxiGrainPlayer(maxiSample *sample) : sample(sample) { - } - - void addGrain(maxiGrainBase *g) { - grains.push_back(g); - } - - inline double play() { - double total = 0.0; - grainList::iterator it = grains.begin(); - while(it != grains.end()) { - total += (*it)->play(); - if ((*it)->finished) { - delete(*it); - it = grains.erase(it); - }else{ - it++; - } - } - return total; - } -}; - -template -class maxiTimestretch { -protected: - double position; -public: - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - double looper; - - - - maxiTimestretch(maxiSample *sample) : sample(sample) { - position=0; - looper = 0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiTimestretch() { - delete grainPlayer; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - - //play at a speed - inline double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + speed; - looper++; - if (position > sample->length) position-= sample->length; - if (position < 0) position += sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - speed = (speed > 0 ? 1 : -1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - - - //provide your own position iteration - inline double play2(double pos, double grainLength, int overlaps) { - looper++; - pos *= sample->length; - if (0 == floor(fmod(looper, grainLength * maxiSettings::sampleRate / overlaps))) { - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); - grainPlayer->addGrain(g); - } - return grainPlayer->play(); - } -}; - -//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position -//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. -//with both high speed values and negative speed values there are some terrific artefacts! - -template -class maxiPitchShift { -public: - double position; - long cycles; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - - maxiPitchShift(maxiSample *sample) : sample(sample) { - position=0; - cycles=0; - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - } - - ~maxiPitchShift() { - delete grainPlayer; - } - - double play(double speed, double grainLength, int overlaps, double posMod=0.0) { - position = position + 1; - cycles++; - if (position > sample->length) position=0; - if (position < 0) position = sample->length; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - double cycleMod = fmod(cycles, cycleLength + randomOffset); - if (0 == floor(cycleMod)) { - // cout << cycleMod << endl; - //speed = (speed > 0 ? 1 : -1); - speed = speed - ((cycleMod / cycleLength) * 0.1); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - // cout << grainPlayer->grains.size() << endl; - // randomOffset = rand() % 10; - // randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. -//the rest is the same. - -template -class maxiPitchStretch { -public: - double position; - maxiSample *sample; - maxiGrainPlayer *grainPlayer; - maxiGrainWindowCache windowCache; - double randomOffset; - long loopStart, loopEnd, loopLength; - double looper; - - maxiPitchStretch(maxiSample *sample) : sample(sample) { - grainPlayer = new maxiGrainPlayer(sample); - randomOffset=0; - loopStart = 0.0; - loopEnd = sample->length; - loopLength =sample->length; - position=0; - looper = 0; - } - - double getNormalisedPosition() { - return position / (double) sample->length; - } - - double getPosition() { - return position; - } - - void setPosition(double pos) { - position = pos * sample->length; - position = maxiMap::clamp(position, 0, sample->length-1); - } - - void setLoopStart(double val) { - loopStart = val * sample->length; - loopLength = loopEnd - loopStart; - } - - void setLoopEnd(double val) { - loopEnd = val * sample->length; - loopLength = loopEnd - loopStart; - } - - ~maxiPitchStretch() { - delete grainPlayer; - } - - inline double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { - position = position + (1 * rate); - looper++; - if (position >= loopEnd) position-= loopLength; - if (position < loopStart) position += loopLength; - double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; - if (looper > cycleLength + randomOffset) { - looper -= (cycleLength + randomOffset); - maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); - grainPlayer->addGrain(g); - randomOffset = rand() % 10; - } - return grainPlayer->play(); - } - -}; - -#endif \ No newline at end of file diff --git a/ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp deleted file mode 100644 index f180fb5..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiMFCC.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * maxiMFCC.cpp - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ - -#include "maxiMFCC.h" - - -#ifdef __APPLE_CC__ -template <> -void maxiMFCCAnalyser::dct(double *mfccs) { - vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - double n = (double) numCoeffs; - vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); -} - -template <> -void maxiMFCCAnalyser::dct(float *mfccs) { - vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); - float n = (float) numCoeffs; - vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); -} -#endif - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - //conv to double - vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); - // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); - vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - - -template <> -void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { -#ifdef __APPLE_CC__ - vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); -#endif - melFilterAndLogSq_Part2(powerSpectrum); -} - -template -void maxiMFCCAnalyser::melFilterAndLogSq_Part2(float *powerSpectrum) { -#ifdef __APPLE_CC__ -#else - for (unsigned int filter = 0;filter < numFilters;filter++) { - melBands[filter] = 0.0; - for (unsigned int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; - } -} - - - - - - - - - - - - diff --git a/ofxMaxim/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/ofxMaxim/libs/maxiMFCC.h deleted file mode 100644 index 19dd72e..0000000 --- a/ofxMaxim/ofxMaxim/libs/maxiMFCC.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - * maxiMFCC.h - * mfccs - * - * Created by Chris on 08/03/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - - Based on Matthew Yee-King's MFCCMYK java class - */ - -#pragma once -#pragma pack(16) - -#include "maxiFFT.h" -#include -#include -#include -#ifdef __APPLE_CC__ -#include -#endif - -using namespace std; - - -// implements this formula: -// mel = 2595 log10(Hz/700 + 1) -inline double hzToMel(double hz){ - return 2595.0 * (log10(hz/700.0 + 1.0)); -} - -// implements this formula -// Hz = 700 (10^(mel/2595) - 1) -inline double melToHz(double mel){ - return 700.0 * (pow(10, mel/2595.0) - 1.0); -} - -template -class maxiMFCCAnalyser { -public: - T *melBands; - maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; - ~maxiMFCCAnalyser() { - if (melFilters) { - delete[] melFilters; - delete[] melBands; - delete[] dctMatrix; -#ifdef __APPLE_CC__ - delete doubleSpec; -#endif - } - } - - void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) - { - this->numFilters = numFilters; - this->numCoeffs = numCoeffs; - this->minFreq = minFreq; - this->maxFreq = maxFreq; - this->sampleRate = sampleRate; - this->numBins = numBins; - melFilters = NULL; - melBands = (T*) malloc(sizeof(T) * numFilters); -#ifdef __APPLE_CC__ - doubleSpec = (T*)malloc(sizeof(T) * numBins); -#endif - //create new matrix - dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); - calcMelFilterBank(sampleRate, numBins); - createDCTCoeffs(); - } - void mfcc(float* powerSpectrum, T *mfccs) { - melFilterAndLogSquare(powerSpectrum); - dct(mfccs); - } - -private: - unsigned int numFilters, numCoeffs; - double minFreq, maxFreq; - unsigned int sampleRate; - T *melFilters; - unsigned int numBins; - T *dctMatrix; -#ifdef __APPLE_CC__ - T *doubleSpec; -#endif - -#ifdef __APPLE_CC__ - void dct(T *mfccs); //define later -#else - void dct(T *mfccs) { - for(int i=0; i < numCoeffs; i++) { - mfccs[i] = 0.0; - } - for(int i=0; i < numCoeffs; i++ ) { - for(int j=0; j < numFilters; j++) { - int idx = i + (j * numCoeffs); - mfccs[i] += (dctMatrix[idx] * melBands[j]); - } - } - for(int i=0; i < numCoeffs; i++) { - mfccs[i] /= numCoeffs; - } - } -#endif - - void melFilterAndLogSquare(float* powerSpectrum); - void melFilterAndLogSq_Part2(float *powerSpectrum); - - - void calcMelFilterBank(double sampleRate, int numBins) { - - double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; - int numValidBins; - - // ignore bins over nyquist - numValidBins = numBins; - - nyquist = sampleRate/2; - if (maxFreq > nyquist) { - maxFreq = nyquist; - } - - maxMel = hzToMel(maxFreq); - minMel = hzToMel(minFreq); - - dMel = (maxMel - minMel) / (numFilters + 2 - 1); - - T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); - - // first generate an array of start and end freqs for each triangle - mel = minMel; - for (int i=0;i nextF || binFreq < prevF) { - // outside this filter - melFilters[idx] = 0; - //cout << "MFCCMYK: filter at " < maxiMFCC; -//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/ofxMaxim/libs/maximilian.cpp deleted file mode 100644 index 18b2af2..0000000 --- a/ofxMaxim/ofxMaxim/libs/maximilian.cpp +++ /dev/null @@ -1,1342 +0,0 @@ - -/* - * maximilian.cpp - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include "maximilian.h" -#include "math.h" - -/* Maximilian can be configured to load ogg vorbis format files using the -* loadOgg() method. -* Uncomment the following to include Sean Barrett's Ogg Vorbis decoder. -* If you're on windows, make sure to add the files std_vorbis.c and std_vorbis.h to your project*/ - -//#define VORBIS - -#ifdef VORBIS -extern "C" { - #include "stb_vorbis.h" -} -#endif - -//This used to be important for dealing with multichannel playback -float chandiv= 1; - -int maxiSettings::sampleRate = 44100; -int maxiSettings::channels = 2; -int maxiSettings::bufferSize = 1024; - - -//this is a 514-point sinewave table that has many uses. -double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 -}; - -// This is a transition table that helps with bandlimited oscs. -double transition[1001]={-0.500003,-0.500003,-0.500023,-0.500063,-0.500121,-0.500179,-0.500259, - -0.50036,-0.500476,-0.500591,-0.500732,-0.500893,-0.501066,-0.501239, - -0.50144,-0.501661,-0.501891,-0.502123,-0.502382,-0.502662,-0.502949, - -0.50324,-0.503555,-0.503895,-0.504238,-0.504587,-0.504958,-0.505356, - -0.505754,-0.506162,-0.506589,-0.507042,-0.507495,-0.50796,-0.508444, - -0.508951,-0.509458,-0.509979,-0.510518,-0.511079,-0.511638,-0.512213, - -0.512808,-0.51342,-0.51403,-0.514659,-0.515307,-0.51597,-0.51663,-0.517312, - -0.518012,-0.518724,-0.519433,-0.520166,-0.520916,-0.521675,-0.522432, - -0.523214,-0.524013,-0.524819,-0.525624,-0.526451,-0.527298,-0.528147, - -0.528999,-0.52987,-0.530762,-0.531654,-0.532551,-0.533464,-0.534399, - -0.535332,-0.536271,-0.537226,-0.538202,-0.539172,-0.540152,-0.541148, - -0.542161,-0.543168,-0.544187,-0.54522,-0.546269,-0.54731,-0.548365, - -0.549434,-0.550516,-0.55159,-0.552679,-0.553781,-0.554893,-0.555997, - -0.557118,-0.558252,-0.559391,-0.560524,-0.561674,-0.562836,-0.564001, - -0.565161,-0.566336,-0.567524,-0.568712,-0.569896,-0.571095,-0.572306, - -0.573514,-0.574721,-0.575939,-0.577171,-0.578396,-0.579622,-0.580858, - -0.582108,-0.583348,-0.58459,-0.585842,-0.587106,-0.588358,-0.589614, - -0.590879,-0.592154,-0.593415,-0.594682,-0.595957,-0.59724,-0.598507, - -0.599782,-0.601064,-0.602351,-0.603623,-0.604902,-0.606189,-0.607476, - -0.60875,-0.610032,-0.611319,-0.612605,-0.613877,-0.615157,-0.616443, - -0.617723,-0.618992,-0.620268,-0.621548,-0.62282,-0.624083,-0.62535, - -0.626622,-0.627882,-0.629135,-0.630391,-0.631652,-0.632898,-0.634138, - -0.63538,-0.636626,-0.637854,-0.639078,-0.640304,-0.641531,-0.642739, - -0.643943,-0.645149,-0.646355,-0.647538,-0.64872,-0.649903,-0.651084, - -0.652241,-0.653397,-0.654553,-0.655705,-0.656834,-0.657961,-0.659087, - -0.660206,-0.661304,-0.662399,-0.663492,-0.664575,-0.665639,-0.666699, - -0.667756,-0.6688,-0.669827,-0.670849,-0.671866,-0.672868,-0.673854, - -0.674835,-0.675811,-0.676767,-0.677709,-0.678646,-0.679576,-0.680484, - -0.68138,-0.682269,-0.683151,-0.684008,-0.684854,-0.685693,-0.686524, - -0.687327,-0.688119,-0.688905,-0.689682,-0.690428,-0.691164,-0.691893, - -0.692613,-0.6933,-0.693978,-0.694647,-0.695305,-0.695932,-0.696549, - -0.697156,-0.697748,-0.698313,-0.698865,-0.699407,-0.699932,-0.700431, - -0.700917,-0.701391,-0.701845,-0.702276,-0.702693,-0.703097,-0.703478, - -0.703837,-0.704183,-0.704514,-0.704819,-0.705105,-0.705378,-0.705633, - -0.70586,-0.706069,-0.706265,-0.706444,-0.706591,-0.706721,-0.706837, - -0.706938,-0.707003,-0.707051,-0.707086,-0.707106,-0.707086,-0.707051, - -0.707001,-0.706935,-0.706832,-0.706711,-0.706576,-0.706421,-0.706233, - -0.706025,-0.705802,-0.705557,-0.705282,-0.704984,-0.704671,-0.704334, - -0.703969,-0.703582,-0.703176,-0.702746,-0.702288,-0.70181,-0.701312, - -0.700785,-0.700234,-0.699664,-0.69907,-0.698447,-0.6978,-0.697135, - -0.696446,-0.695725,-0.694981,-0.694219,-0.693435,-0.692613,-0.691771, - -0.690911,-0.69003,-0.689108,-0.688166,-0.687206,-0.686227,-0.685204, - -0.684162,-0.683101,-0.682019,-0.680898,-0.679755,-0.678592,-0.677407, - -0.676187,-0.674941,-0.673676,-0.672386,-0.671066,-0.669718,-0.66835, - -0.666955,-0.665532,-0.664083,-0.662611,-0.661112,-0.659585,-0.658035, - -0.656459,-0.654854,-0.653223,-0.651572,-0.649892,-0.648181,-0.646446, - -0.644691,-0.642909,-0.641093,-0.639253,-0.637393,-0.63551,-0.633588, - -0.631644,-0.62968,-0.627695,-0.625668,-0.623621,-0.621553,-0.619464, - -0.617334,-0.615183,-0.613011,-0.610817,-0.608587,-0.606333,-0.604058, - -0.60176,-0.599429,-0.597072,-0.594695,-0.592293,-0.589862,-0.587404, - -0.584925,-0.58242,-0.579888,-0.577331,-0.574751,-0.572145,-0.569512, - -0.566858,-0.564178,-0.561471,-0.558739,-0.555988,-0.553209,-0.550402, - -0.547572,-0.544723,-0.54185,-0.538944,-0.536018,-0.533072,-0.530105, - -0.527103,-0.524081,-0.52104,-0.51798,-0.514883,-0.511767,-0.508633, - -0.505479,-0.502291,-0.499083,-0.495857,-0.492611,-0.489335,-0.486037, - -0.48272,-0.479384,-0.476021,-0.472634,-0.46923,-0.465805,-0.462356, - -0.458884,-0.455394,-0.451882,-0.448348,-0.444795,-0.44122,-0.437624, - -0.434008,-0.430374,-0.426718,-0.423041,-0.419344,-0.415631,-0.411897, - -0.40814,-0.404365,-0.400575,-0.396766,-0.392933,-0.389082,-0.385217, - -0.381336,-0.377428,-0.373505,-0.369568,-0.365616,-0.361638,-0.357645, - -0.353638,-0.349617,-0.345572,-0.341512,-0.337438,-0.33335,-0.329242, - -0.325118,-0.32098,-0.316829,-0.31266,-0.308474,-0.304276,-0.300063, - -0.295836,-0.291593,-0.287337,-0.283067,-0.278783,-0.274487,-0.270176, - -0.265852,-0.261515,-0.257168,-0.252806,-0.248431,-0.244045,-0.239649, - -0.23524,-0.230817,-0.226385,-0.221943,-0.21749,-0.213024,-0.208548, - -0.204064,-0.199571,-0.195064,-0.190549,-0.186026,-0.181495,-0.176952, - -0.1724,-0.167842,-0.163277,-0.1587,-0.154117,-0.149527,-0.14493,-0.140325, - -0.135712,-0.131094,-0.12647,-0.121839,-0.117201,-0.112559,-0.10791, - -0.103257,-0.0985979,-0.0939343,-0.0892662,-0.0845935,-0.079917,-0.0752362, - -0.0705516,-0.0658635,-0.0611729,-0.0564786,-0.0517814,-0.0470818,-0.0423802, - -0.0376765,-0.0329703,-0.0282629,-0.0235542,-0.0188445,-0.0141335,-0.00942183, - -0.00470983,2.41979e-06,0.00471481,0.00942681,0.0141384,0.0188494,0.023559, - 0.028268,0.0329754,0.0376813,0.0423851,0.0470868,0.0517863,0.0564836, - 0.0611777,0.0658683,0.0705566,0.0752412,0.0799218,0.0845982,0.0892712, - 0.0939393,0.0986028,0.103262,0.107915,0.112563,0.117206,0.121844,0.126475, - 0.131099,0.135717,0.14033,0.144935,0.149531,0.154122,0.158705,0.163281, - 0.167847,0.172405,0.176956,0.1815,0.18603,0.190553,0.195069,0.199576, - 0.204068,0.208552,0.213028,0.217495,0.221947,0.226389,0.230822,0.235245, - 0.239653,0.244049,0.248436,0.252811,0.257173,0.26152,0.265857,0.270181, - 0.274491,0.278788,0.283071,0.287341,0.291597,0.29584,0.300068,0.30428, - 0.308478,0.312664,0.316833,0.320984,0.325122,0.329246,0.333354,0.337442, - 0.341516,0.345576,0.34962,0.353642,0.357649,0.361642,0.36562,0.369572, - 0.373509,0.377432,0.38134,0.385221,0.389086,0.392936,0.39677,0.400579, - 0.404369,0.408143,0.4119,0.415634,0.419347,0.423044,0.426721,0.430377, - 0.434011,0.437627,0.441223,0.444798,0.448351,0.451885,0.455397,0.458887, - 0.462359,0.465807,0.469232,0.472637,0.476024,0.479386,0.482723,0.486039, - 0.489338,0.492613,0.49586,0.499086,0.502294,0.505481,0.508635,0.511769, - 0.514885,0.517982,0.521042,0.524083,0.527105,0.530107,0.533074,0.53602, - 0.538946,0.541851,0.544725,0.547574,0.550404,0.553211,0.555989,0.55874, - 0.561472,0.564179,0.566859,0.569514,0.572146,0.574753,0.577332,0.579889, - 0.582421,0.584926,0.587405,0.589863,0.592294,0.594696,0.597073,0.59943, - 0.60176,0.604059,0.606333,0.608588,0.610818,0.613012,0.615183,0.617335, - 0.619464,0.621553,0.623621,0.625669,0.627696,0.629681,0.631645,0.633588, - 0.63551,0.637393,0.639253,0.641093,0.642909,0.644691,0.646446,0.648181, - 0.649892,0.651572,0.653223,0.654854,0.656459,0.658035,0.659585,0.661112, - 0.662611,0.664083,0.665532,0.666955,0.66835,0.669718,0.671066,0.672386, - 0.673676,0.674941,0.676187,0.677407,0.678592,0.679755,0.680898,0.682019, - 0.683101,0.684162,0.685204,0.686227,0.687206,0.688166,0.689108,0.69003, - 0.690911,0.691771,0.692613,0.693435,0.694219,0.694981,0.695725,0.696447, - 0.697135,0.6978,0.698447,0.69907,0.699664,0.700234,0.700786,0.701312, - 0.70181,0.702288,0.702746,0.703177,0.703582,0.703969,0.704334,0.704671, - 0.704984,0.705282,0.705557,0.705802,0.706025,0.706233,0.706422,0.706576, - 0.706712,0.706832,0.706936,0.707002,0.707051,0.707086,0.707106,0.707086, - 0.707051,0.707003,0.706939,0.706838,0.706721,0.706592,0.706445,0.706265, - 0.70607,0.705861,0.705634,0.705378,0.705105,0.70482,0.704515,0.704184, - 0.703837,0.703478,0.703097,0.702694,0.702276,0.701846,0.701392,0.700917, - 0.700432,0.699932,0.699408,0.698866,0.698314,0.697749,0.697156,0.696549, - 0.695933,0.695305,0.694648,0.693979,0.693301,0.692613,0.691894,0.691165, - 0.690428,0.689683,0.688905,0.68812,0.687327,0.686525,0.685693,0.684854, - 0.684009,0.683152,0.68227,0.68138,0.680485,0.679577,0.678647,0.67771, - 0.676768,0.675811,0.674836,0.673855,0.672869,0.671867,0.670849,0.669827, - 0.668801,0.667757,0.6667,0.66564,0.664576,0.663493,0.6624,0.661305, - 0.660207,0.659088,0.657962,0.656834,0.655705,0.654553,0.653398,0.652241, - 0.651085,0.649903,0.648721,0.647539,0.646356,0.645149,0.643944,0.642739, - 0.641532,0.640304,0.639079,0.637855,0.636626,0.635381,0.634139,0.632899, - 0.631652,0.630392,0.629136,0.627883,0.626622,0.62535,0.624083,0.62282, - 0.621548,0.620268,0.618993,0.617724,0.616443,0.615158,0.613878,0.612605, - 0.61132,0.610032,0.608751,0.607477,0.606189,0.604903,0.603623,0.602351, - 0.601065,0.599782,0.598508,0.59724,0.595957,0.594682,0.593415,0.592154, - 0.59088,0.589615,0.588359,0.587106,0.585843,0.584591,0.583349,0.582108, - 0.580859,0.579623,0.578397,0.577172,0.575939,0.574721,0.573515,0.572307, - 0.571095,0.569897,0.568713,0.567525,0.566337,0.565161,0.564002,0.562837, - 0.561674,0.560525,0.559392,0.558252,0.557119,0.555998,0.554893,0.553782, - 0.552679,0.55159,0.550516,0.549434,0.548365,0.54731,0.546269,0.54522, - 0.544187,0.543168,0.542161,0.541148,0.540153,0.539173,0.538202,0.537226, - 0.536271,0.535332,0.5344,0.533464,0.532551,0.531654,0.530762,0.52987, - 0.528999,0.528147,0.527298,0.526451,0.525624,0.524819,0.524014,0.523214, - 0.522432,0.521675,0.520916,0.520166,0.519433,0.518724,0.518012,0.517312, - 0.51663,0.51597,0.515307,0.51466,0.51403,0.51342,0.512808,0.512213, - 0.511638,0.511079,0.510518,0.509979,0.509458,0.508951,0.508444,0.50796, - 0.507495,0.507042,0.506589,0.506162,0.505754,0.505356,0.504958,0.504587, - 0.504237,0.503895,0.503555,0.50324,0.502949,0.502662,0.502382,0.502123, - 0.501891,0.501661,0.50144,0.501239,0.501066,0.500893,0.500732,0.500591, - 0.500476,0.50036,0.500259,0.500179,0.500121,0.500063,0.500023,0.500003,0.500003}; - -//This is a lookup table for converting midi to frequency -double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; - -void setup();//use this to do any initialisation if you want. - -void play(double *channels);//run dac! - -maxiOsc::maxiOsc(){ - //When you create an oscillator, the constructor sets the phase of the oscillator to 0. - phase = 0.0; -} - -double maxiOsc::noise() { - //White Noise - //always the same unless you seed it. - float r = rand()/(float)RAND_MAX; - output=r*2-1; - return(output); -} - -void maxiOsc::phaseReset(double phaseIn) { - //This allows you to set the phase of the oscillator to anything you like. - phase=phaseIn; - -} - -double maxiOsc::sinewave(double frequency) { - //This is a sinewave oscillator - output=sin (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::sinebuf4(double frequency) { - //This is a sinewave oscillator that uses 4 point interpolation on a 514 point buffer - double remainder; - double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(frequency)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - - if (phase==0) { - a=sineBuffer[(long) 512]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } else { - a=sineBuffer[(long) phase-1]; - b=sineBuffer[(long) phase]; - c=sineBuffer[(long) phase+1]; - d=sineBuffer[(long) phase+2]; - - } - - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); - return(output); -} - -double maxiOsc::sinebuf(double frequency) { //specify the frequency of the oscillator in Hz / cps etc. - //This is a sinewave oscillator that uses linear interpolation on a 514 point buffer - double remainder; - phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); - if ( phase >= 511 ) phase -=512; - remainder = phase - floor(phase); - output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); - return(output); -} - -double maxiOsc::coswave(double frequency) { - //This is a cosine oscillator - output=cos (phase*(TWOPI)); - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::phasor(double frequency) { - //This produces a floating point linear ramp between 0 and 1 at the desired frequency - output=phase; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::square(double frequency) { - //This is a square wave - if (phase<0.5) output=-1; - if (phase>0.5) output=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); -} - -double maxiOsc::pulse(double frequency, double duty) { - //This is a pulse generator that creates a signal between -1 and 1. - if (duty<0.) duty=0; - if (duty>1.) duty=1; - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phaseduty) output=1.; - return(output); -} - -double maxiOsc::phasor(double frequency, double startphase, double endphase) { - //This is a phasor that takes a value for the start and end of the ramp. - output=phase; - if (phase= endphase ) phase = startphase; - phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); - return(output); -} - - -double maxiOsc::saw(double frequency) { - //Sawtooth generator. This is like a phasor but goes between -1 and 1 - output=phase; - if ( phase >= 1.0 ) phase -= 2.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - return(output); - -} - -double maxiOsc::triangle(double frequency) { - //This is a triangle wave. - if ( phase >= 1.0 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - if (phase <= 0.5 ) { - output =(phase - 0.25) * 4; - } else { - output =((1.0-phase) - 0.25) * 4; - } - return(output); - -} - -double maxiOsc::sawn(double frequency) { - //Bandlimited sawtooth generator. Woohoo. - if ( phase >= 0.5 ) phase -= 1.0; - phase += (1./(maxiSettings::sampleRate/(frequency))); - double temp=(8820.22/frequency)*phase; - if (temp<-0.5) { - temp=-0.5; - } - if (temp>0.5) { - temp=0.5; - } - temp*=1000.0f; - temp+=500.0f; - double remainder = temp - floor(temp); - output = (double) ((1.0f-remainder) * transition[(long)temp] + remainder * transition[1+(long)temp]) - phase; - return(output); - -} - - -double maxiEnvelope::line(int numberofsegments,double segments[1000]) { - //This is a basic multi-segment ramp generator that you can use for more or less anything. - //However, it's not that intuitive. - if (isPlaying==1) {//only make a sound once you've been triggered - period=2./(segments[valindex+1]*0.004); - nextval=segments[valindex+2]; - currentval=segments[valindex]; - if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { - amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); - } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { - amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); - } else if (valindex >numberofsegments-1) { - valindex=numberofsegments-2; - } else { - valindex=valindex+2; - startval=currentval; - } - output=amplitude; - - } - else { - output=0; - - } - return(output); -} - -//and this -void maxiEnvelope::trigger(int index, double amp) { - isPlaying=1;//ok the envelope is being used now. - valindex=index; - amplitude=amp; - -} - -//Delay with feedback -maxiDelayline::maxiDelayline() { - memset( memory, 0, 88200*sizeof (double) ); - phase=0; -} - - -double maxiDelayline::dl(double input, int size, double feedback) { - if ( phase >=size ) { - phase = 0; - } - output=memory[phase]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; - phase+=1; - return(output); - -} - -double maxiDelayline::dl(double input, int size, double feedback, int position) { - if ( phase >=size ) phase = 0; - if ( position >=size ) position = 0; - output=memory[position]; - memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; - phase+=1; - return(output); - -} - -//I particularly like these. cutoff between 0 and 1 -double maxiFilter::lopass(double input, double cutoff) { - output=outputs[0] + cutoff*(input-outputs[0]); - outputs[0]=output; - return(output); -} -//as above -double maxiFilter::hipass(double input, double cutoff) { - output=input-(outputs[0] + cutoff*(input-outputs[0])); - outputs[0]=output; - return(output); -} -//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! -double maxiFilter::lores(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=y; - return(output); -} - -//working hires filter -double maxiFilter::hires(double input,double cutoff1, double resonance) { - cutoff=cutoff1*0.5; - if (cutoff<10) cutoff=10; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance<1.) resonance = 1.; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - c=2-2*z; - double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); - x=x+(input-y)*c; - y=y+x; - x=x*r; - output=input-y; - return(output); -} - -//This works a bit. Needs attention. -double maxiFilter::bandpass(double input,double cutoff1, double resonance) { - cutoff=cutoff1; - if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); - if (resonance>=1.) resonance=0.999999; - z=cos(TWOPI*cutoff/maxiSettings::sampleRate); - inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); - inputs[1] = 2*z*resonance; - inputs[2] = pow((resonance*-1),2); - - output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; - outputs[2]=outputs[1]; - outputs[1]=output; - return(output); -} - -//stereo bus -double *maxiMix::stereo(double input,double two[2],double x) { - if (x>1) x=1; - if (x<0) x=0; - two[0]=input*sqrt(1.0-x); - two[1]=input*sqrt(x); - return(two); -} - -//quad bus -double *maxiMix::quad(double input,double four[4],double x,double y) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - four[0]=input*sqrt((1.0-x)*y); - four[1]=input*sqrt((1.0-x)*(1.0-y)); - four[2]=input*sqrt(x*y); - four[3]=input*sqrt(x*(1.0-y)); - return(four); -} - -//ambisonic bus -double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { - if (x>1) x=1; - if (x<0) x=0; - if (y>1) y=1; - if (y<0) y=0; - if (z>1) y=1; - if (z<0) y=0; - eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); - eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); - eight[2]=input*(sqrt(x*y)*1.0-z); - eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); - eight[4]=input*(sqrt((1.0-x)*y)*z); - eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); - eight[6]=input*sqrt((x*y)*z); - eight[7]=input*sqrt((x*(1.0-y))*z); - return(eight); -} - - -bool maxiSample::load(string fileName, int channel) { - myPath = fileName; - readChannel=channel; - return read(); -} - -bool maxiSample::loadOgg(string fileName, int channel) { -#ifdef VORBIS - bool result; - readChannel=channel; - int channelx; - free(temp); - myDataSize = stb_vorbis_decode_filename(const_cast(fileName.c_str()), &channelx, &temp); - result = myDataSize > 0; - printf("\nchannels = %d\nlength = %d",channelx,myDataSize); - printf("\n"); - myChannels=(short)channelx; - length=myDataSize; - mySampleRate=44100; - - if (myChannels>1) { - int position=0; - int channel=readChannel; - for (int i=channel;i1) { - int position=0; - int channel=readChannel*2; - for (int i=channel;i= length) position=0; - output = (double) temp[(long)position]/32767.0; - return output; -} - -//start end and points are between 0 and 1 -double maxiSample::playLoop(double start, double end) { - position++; - if (position < length * start) position = length * start; - if ((long) position >= length * end) position = length * start; - output = (double) temp[(long)position]/32767.0; - return output; -} - -double maxiSample::playOnce() { - position++; - if ((long) position(newPos, 0.0, 1.0) * length; -} - -double maxiSample::playUntil(double end) { - position++; - if ((long) position=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + remainder * temp[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::play(double frequency, double start, double end) { - return play(frequency, start, end, position); -} - -double maxiSample::play(double frequency, double start, double end, double &pos) { - double remainder; - if (end>=length) end=length-1; - long a,b; - - if (frequency >0.) { - if (pos= end ) pos = start; - pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = pos - floor(pos); - long posl = floor(pos); - if (posl+1=0) { - a=posl-1; - } - else { - a=0; - } - if (posl-2>=0) { - b=posl-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * temp[a] + - remainder * temp[b])/32767;//linear interpolation - - } - - return(output); -} - - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::play4(double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=temp[(int)(floor(position))-1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (positionstart && position < end-1) { - a=temp[(long) position+1]; - - } else { - a=temp[0]; - - } - - b=temp[(long) position]; - if (position>start) { - c=temp[(long) position-1]; - - } else { - c=temp[0]; - - } - if (position>start+1) { - d=temp[(long) position-2]; - - } else { - d=temp[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,long length) { - double remainder; - short* buffer = (short *)&bufferin; - position=(position+1); - remainder = position - (long) position; - if ((long) position>length) position=0; - output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { - double remainder; - long a,b; - short* buffer = (short *)&bufferin; - position=position+((speed*chandiv)/(maxiSettings::sampleRate/mySampleRate)); - if (speed >=0) { - - if ((long) position>=length-1) position=1; - remainder = position - floor(position); - if (position+1=0) { - a=position-1; - - } - else { - a=0; - } - if (position-2>=0) { - b=position-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation - } - return(output); -} - -double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - length=end; - long a,b; - short* buffer = (short *)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - long pos = floor(position); - if (pos+1=0) { - a=pos-1; - } - else { - a=0; - } - if (pos-2>=0) { - b=pos-2; - } - else { - b=0; - } - output = (double) ((-1-remainder) * buffer[a] + - remainder * buffer[b])/32767;//linear interpolation - - } - - return(output); -} - -//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). -double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { - double remainder; - double a,b,c,d,a1,a2,a3; - short* buffer = (short*)&bufferin; - if (frequency >0.) { - if (position= end ) position = start; - position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); - remainder = position - floor(position); - if (position>0) { - a=buffer[(int)(floor(position))-1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (positionstart && position < end-1) { - a=buffer[(long) position+1]; - - } else { - a=buffer[0]; - - } - - b=buffer[(long) position]; - if (position>start) { - c=buffer[(long) position-1]; - - } else { - c=buffer[0]; - - } - if (position>start+1) { - d=buffer[(long) position-2]; - - } else { - d=buffer[0]; - } - a1 = 0.5f * (c - a); - a2 = a - 2.5 * b + 2.f * c - 0.5f * d; - a3 = 0.5f * (d - a) + 1.5f * (b - c); - output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; - - } - - return(output); -} - - -void maxiSample::getLength() { - length=myDataSize*0.5; -} - -void maxiSample::setLength(unsigned long numSamples) { - temp = (short*) realloc(temp, sizeof(short) * numSamples); -// short *newData = (short*) malloc(sizeof(short) * numSamples); -// if (NULL!=temp) { -// unsigned long copyLength = min((unsigned long)length, numSamples); -// memcpy(newData, temp, sizeof(short) * copyLength); -// free(temp); -// } -// temp = newData; - myDataSize = numSamples * 2; - length=numSamples; - position=0; - recordPosition=0; -} - -void maxiSample::clear() { - memset(temp, 0, myDataSize); -} - -void maxiSample::reset() { - position=0; -} - - -void maxiSample::normalise(float maxLevel) { - short maxValue = 0; - for(int i=0; i < length; i++) { - if (abs(temp[i]) > maxValue) { - maxValue = abs(temp[i]); - } - } - float scale = 32767.0 * maxLevel / (float) maxValue; - for(int i=0; i < length; i++) { - temp[i] = round(scale * (float) temp[i]); - } -} - -void maxiSample::autoTrim(float alpha, float threshold, bool trimStart, bool trimEnd) { - - int startMarker=0; - if(trimStart) { - maxiLagExp startLag(alpha, 0); - while(startMarker < length) { - startLag.addSample(abs(temp[startMarker])); - if (startLag.value() > threshold) { - break; - } - startMarker++; - } - } - - int endMarker = length-1; - if(trimEnd) { - maxiLagExp endLag(alpha, 0); - while(endMarker > 0) { - endLag.addSample(abs(temp[endMarker])); - if (endLag.value() > threshold) { - break; - } - endMarker--; - } - } - - cout << "Autotrim: start: " << startMarker << ", end: " << endMarker << endl; - - int newLength = endMarker - startMarker; - if (newLength > 0) { - short *newData = (short*) malloc(sizeof(short) * newLength); - for(int i=0; i < newLength; i++) { - newData[i] = temp[i+startMarker]; - } - free(temp); - temp = newData; - myDataSize = newLength * 2; - length=newLength; - position=0; - recordPosition=0; - //envelope the start - int fadeSize=min((long)100, length); - for(int i=0; i < fadeSize; i++) { - float factor = i / (float) fadeSize; - temp[i] = round(temp[i] * factor); - temp[length - 1 - i] = round(temp[length - 1 - i] * factor); - } - } -} - - - - - - - - - -/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for - incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. - Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ - -double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(amplitude==0) amplitude=0.01; - } - - if (attackphase==1 && amplitude<1) { - amplitude*=(1+attack); - output=input*amplitude; - } - - if (amplitude>=1) { - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - - -double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { - - if (fabs(input)>threshold && attackphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - if(currentRatio==0) currentRatio=ratio; - } - - if (attackphase==1 && currentRatio=ratio-1) { - attackphase=0; - releasephase=1; - } - - if (releasephase==1 && currentRatio>0.) { - currentRatio*=release; - } - - if (input>0.) { - output = input/(1.+currentRatio); - } else { - output = input/(1.+currentRatio); - } - - return output*(1+log(ratio)); -} - - -/* Lots of people struggle with the envelope generators so here's a new easy one. - It takes mental numbers for attack and release tho. Basically, they're exponentials. - I'll map them out later so that it's a bit more intuitive */ -double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1){ - holdcount=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - holdphase=1; - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -/* and here's a new adsr. It's not bad, very simple to use*/ - -double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { - - if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ - holdcount=0; - decayphase=0; - sustainphase=0; - releasephase=0; - attackphase=1; - } - - if (attackphase==1) { - amplitude+=(1*attack); - output=input*amplitude; - } - - if (amplitude>=1) { - amplitude=1; - attackphase=0; - decayphase=1; - } - - if (decayphase==1) { - output=input*(amplitude*=decay); - if (amplitude<=sustain) { - decayphase=0; - holdphase=1; - } - } - - if (holdcount0.) { - output=input*(amplitude*=release); - - } - - return output; -} - -double convert::mtof(int midinote) { - - return mtofarray[midinote]; -} - diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.h b/ofxMaxim/ofxMaxim/libs/maximilian.h deleted file mode 100755 index 03dfea5..0000000 --- a/ofxMaxim/ofxMaxim/libs/maximilian.h +++ /dev/null @@ -1,623 +0,0 @@ -/* - * maximilian.h - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -/* - Feature request: - maxiNANINFAlarm - maxiLimiter - */ - -#ifndef MAXIMILIAN_H -#define MAXIMILIAN_H - -//#define MAXIMILIAN_PORTAUDIO -#define MAXIMILIAN_RT_AUDIO - - -#include -#include -#include -#include -#include "math.h" - -using namespace std; -#ifndef PI -#define PI 3.1415926535897932384626433832795 -#endif -#define TWOPI 6.283185307179586476925286766559 - -class maxiSettings { -public: - static int sampleRate; - static int channels; - static int bufferSize; - static void setup(int initSampleRate, int initChannels, int initBufferSize) { - maxiSettings::sampleRate = initSampleRate; - maxiSettings::channels = initChannels; - maxiSettings::bufferSize = initBufferSize; - } -}; - - -class maxiOsc { - - double frequency; - double phase; - double startphase; - double endphase; - double output; - double tri; - - -public: - maxiOsc(); - double sinewave(double frequency); - double coswave(double frequency); - double phasor(double frequency); - double phasor(double frequency, double startphase, double endphase); - double saw(double frequency); - double triangle(double frequency); - double square(double frequency); - double pulse(double frequency, double duty); - double noise(); - double sinebuf(double frequency); - double sinebuf4(double frequency); - void phaseReset(double phaseIn); - double sawn(double frequency); - -}; - - -class maxiEnvelope { - - double period; - double output; - double startval; - double currentval; - double nextval; - int isPlaying; - -public: - double line(int numberofsegments,double segments[100]); - void trigger(int index,double amp); - int valindex; - double amplitude; - -}; - - -class maxiDelayline { - double frequency; - int phase; - double startphase; - double endphase; - double output; - double memory[88200]; - -public: - maxiDelayline(); - double dl(double input, int size, double feedback); - double dl(double input, int size, double feedback, int position); - - -}; - - -class maxiFilter { - double gain; - double input; - double output; - double inputs[10]; - double outputs[10]; - double cutoff1; - double x;//speed - double y;//pos - double z;//pole - double c;//filter coefficient - -public: - maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; - double cutoff; - double resonance; - double lores(double input,double cutoff1, double resonance); - double hires(double input,double cutoff1, double resonance); - double bandpass(double input,double cutoff1, double resonance); - double lopass(double input,double cutoff); - double hipass(double input,double cutoff); - -}; - -class maxiMix { - double input; - double two[2]; - double four[4]; - double eight[8]; -public: - double x; - double y; - double z; - double *stereo(double input,double two[2],double x); - double *quad(double input,double four[4], double x,double y); - double *ambisonic(double input,double eight[8],double x,double y, double z); - -}; - -//lagging with an exponential moving average -//a lower alpha value gives a slower lag -template -class maxiLagExp { -public: - T alpha, alphaReciprocal; - T val; - - maxiLagExp() { - init(0.5, 0.0); - }; - - maxiLagExp(T initAlpha, T initVal) { - init(initAlpha, initVal); - } - - void init(T initAlpha, T initVal) { - alpha = initAlpha; - alphaReciprocal = 1.0 - alpha; - val = initVal; - } - - inline void addSample(T newVal) { - val = (alpha * newVal) + (alphaReciprocal * val); - } - - inline T value() { - return val; - } -}; - - -class maxiSample { - -private: - string myPath; - int myChunkSize; - int mySubChunk1Size; - int readChannel; - short myFormat; - int myByteRate; - short myBlockAlign; - short myBitsPerSample; - double speed; - double output; - maxiLagExp loopRecordLag; - -public: - double position, recordPosition; - int myDataSize; - short myChannels; - int mySampleRate; - long length; - void getLength(); - void setLength(unsigned long numSamples); - - -// char* myData; - short* temp; - - // get/set for the Path property - - ~maxiSample() - { -// if (myData) free(myData); - if (temp) free(temp); - } - - maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {}; - - maxiSample& operator=(const maxiSample &source) { - if (this == &source) - return *this; - position=0; - recordPosition = 0; - myChannels = source.myChannels; - mySampleRate = maxiSettings::sampleRate; - free(temp); - myDataSize = source.myDataSize; - temp = (short*) malloc(myDataSize * sizeof(char)); - memcpy(temp, source.temp, myDataSize * sizeof(char)); - length = source.length; - return *this; - } - - bool load(string fileName, int channel=0); - - bool loadOgg(string filename,int channel=0); - - void trigger(); - - // read a wav file into this class - bool read(); - - //read an ogg file into this class using stb_vorbis - bool readOgg(); - - void loopRecord(double newSample, const bool recordEnabled, const double recordMix, double start = 0.0, double end = 1.0) { - loopRecordLag.addSample(recordEnabled); - if (recordPosition < start * length) recordPosition = start * length; - if(recordEnabled) { - double currentSample = temp[(unsigned long)recordPosition] / 32767.0; - newSample = (recordMix * currentSample) + ((1.0 - recordMix) * newSample); - newSample *= loopRecordLag.value(); - temp[(unsigned long)recordPosition] = newSample * 32767; - } - ++recordPosition; - if (recordPosition >= end * length) - recordPosition= start * length; - } - - void clear(); - - void reset(); - - double play(); - - double playLoop(double start, double end); // start and end are between 0.0 and 1.0 - - double playOnce(); - - double playOnce(double speed); - - void setPosition(double newPos); // between 0.0 and 1.0 - - double playUntil(double end); - - double play(double speed); - - double play(double frequency, double start, double end, double &pos); - - double play(double frequency, double start, double end); - - double play4(double frequency, double start, double end); - - double bufferPlay(unsigned char &bufferin,long length); - - double bufferPlay(unsigned char &bufferin,double speed,long length); - - double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); - - double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); - bool save() { - return save(myPath); - } - - bool save(string filename) - { - fstream myFile (filename.c_str(), ios::out | ios::binary); - - // write the wav file per the wav file format - myFile.seekp (0, ios::beg); - myFile.write ("RIFF", 4); - myFile.write ((char*) &myChunkSize, 4); - myFile.write ("WAVE", 4); - myFile.write ("fmt ", 4); - myFile.write ((char*) &mySubChunk1Size, 4); - myFile.write ((char*) &myFormat, 2); - myFile.write ((char*) &myChannels, 2); - myFile.write ((char*) &mySampleRate, 4); - myFile.write ((char*) &myByteRate, 4); - myFile.write ((char*) &myBlockAlign, 2); - myFile.write ((char*) &myBitsPerSample, 2); - myFile.write ("data", 4); - myFile.write ((char*) &myDataSize, 4); - myFile.write ((char*) temp, myDataSize); - - return true; - } - - // return a printable summary of the wav file - char *getSummary() - { - char *summary = new char[250]; - sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); - return summary; - } - - void normalise(float maxLevel = 0.99); //0 < maxLevel < 1.0 - void autoTrim(float alpha = 0.3, float threshold = 6000, bool trimStart = true, bool trimEnd = true); //alpha of lag filter (lower == slower reaction), threshold to mark start and end, < 32767 -}; - - -class maxiMap { -public: - static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { - val = max(min(val, inMax), inMin); - return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; - } - - static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; - } - - static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { - //clipping - val = max(min(val, inMax), inMin); - return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; - } - - //changed to templated function, e.g. maxiMap::maxiClamp(v, l, h); - template - static T inline clamp(T v, const T low, const T high) { - if (v > high) - v = high; - else if (v < low) { - v = low; - } - return v; - } - -}; - -class maxiDyn { - - -public: - double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); - double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); - double input; - double ratio; - double currentRatio; - double threshold; - double output; - double attack; - double release; - double amplitude; - long holdtime; - long holdcount; - int attackphase,holdphase,releasephase; -}; - -class maxiEnv { - - -public: - double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); - double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); - double input; - double output; - double attack; - double decay; - double sustain; - double release; - double amplitude; - int trigger; - long holdtime; - long holdcount; - int attackphase,decayphase,sustainphase,holdphase,releasephase; -}; - -class convert { -public: - double mtof(int midinote); -}; - - - -class maxiDistortion { -public: - /*atan distortion, see http://www.musicdsp.org/showArchiveComment.php?ArchiveID=104*/ - /*shape from 1 (soft clipping) to infinity (hard clipping)*/ - double atanDist(const double in, const double shape); - double fastAtanDist(const double in, const double shape); - double fastatan( double x ); -}; - -inline double maxiDistortion::fastatan(double x) -{ - return (x / (1.0 + 0.28 * (x * x))); -} - -inline double maxiDistortion::atanDist(const double in, const double shape) { - double out; - out = (1.0 / atan(shape)) * atan(in * shape); - return out; -} - -inline double maxiDistortion::fastAtanDist(const double in, const double shape) { - double out; - out = (1.0 / fastatan(shape)) * fastatan(in * shape); - return out; -} - - -class maxiFlanger { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl; - maxiOsc lfo; - -}; - -inline double maxiFlanger::flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //todo: needs fixing - double output; - double lfoVal = lfo.triangle(speed); - output = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - double normalise = (1 - fabs(output)); - output *= normalise; - return (output + input) / 2.0; -} - -class maxiChorus { -public: - //delay = delay time - ~800 sounds good - //feedback = 0 - 1 - //speed = lfo speed in Hz, 0.0001 - 10 sounds good - //depth = 0 - 1 - double chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); - maxiDelayline dl, dl2; - maxiOsc lfo; - maxiFilter lopass; - -}; - -inline double maxiChorus::chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) -{ - //this needs fixing - double output1, output2; - double lfoVal = lfo.noise(); - lfoVal = lopass.lores(lfoVal, speed, 1.0) * 2.0; - output1 = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; - output2 = dl2.dl(input, (delay + (lfoVal * depth * delay * 1.02) + 1) * 0.98, feedback * 0.99) ; - output1 *= (1.0 - fabs(output1)); - output2 *= (1.0 - fabs(output2)); - return (output1 + output2 + input) / 3.0; -} - -template -class maxiEnvelopeFollowerType { -public: - maxiEnvelopeFollowerType() { - setAttack(100); - setRelease(100); - env = 0; - } - void setAttack(T attackMS) { - attack = pow( 0.01, 1.0 / (attackMS * maxiSettings::sampleRate * 0.001 ) ); - } - void setRelease(T releaseMS) { - release = pow( 0.01, 1.0 / (releaseMS * maxiSettings::sampleRate * 0.001 ) ); - } - inline T play(T input) { - input = fabs(input); - if (input>env) - env = attack * (env - input) + input; - else - env = release * (env - input) + input; - return env; - } - void reset() {env=0;} - inline T getEnv(){return env;} - inline void setEnv(T val){env = val;} -private: - T attack, release, env; -}; - -typedef maxiEnvelopeFollowerType maxiEnvelopeFollower; -typedef maxiEnvelopeFollowerType maxiEnvelopeFollowerF; - -//from https://ccrma.stanford.edu/~jos/filters/DC_Blocker_Software_Implementations.html -class maxiDCBlocker { -public: - double xm1, ym1; - maxiDCBlocker() : xm1(0), ym1(0) {} - inline double play(double input, double R) { - ym1 = input - xm1 + R * ym1; - xm1 = input; - return ym1; - } -}; - -/* - State Variable Filter - - algorithm from http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised.pdf - usage: - either set the parameters separately as required (to save CPU) - - filter.setCutoff(param1); - filter.setResonance(param2); - - w = filter.play(w, 0.0, 1.0, 0.0, 0.0); - - or set everything together at once - - w = filter.setCutoff(param1).setResonance(param2).play(w, 0.0, 1.0, 0.0, 0.0); - - */ -class maxiSVF { -public: - maxiSVF() : v0z(0), v1(0), v2(0) { setParams(1000, 1);} - - //20 < cutoff < 20000 - inline maxiSVF& setCutoff(double cutoff) { - setParams(cutoff, res); - return *this; - } - - //from 0 upwards, starts to ring from 2-3ish, cracks a bit around 10 - inline maxiSVF& setResonance(double q) { - setParams(freq, q); - return *this; - } - - //run the filter, and get a mixture of lowpass, bandpass, highpass and notch outputs - inline double play(double w, double lpmix, double bpmix, double hpmix, double notchmix) { - double low, band, high, notch; - double v1z = v1; - double v2z = v2; - double v3 = w + v0z - 2.0 * v2z; - v1 += g1*v3-g2*v1z; - v2 += g3*v3+g4*v1z; - v0z = w; - low = v2; - band = v1; - high = w-k*v1-v2; - notch = w-k*v1; - return (low * lpmix) + (band * bpmix) + (high * hpmix) + (notch * notchmix); - } - -private: - inline void setParams(double _freq, double _res) { - freq = _freq; - res = _res; - g = tan(PI * freq / maxiSettings::sampleRate); - damping = res == 0 ? 0 : 1.0 / res; - k = damping; - ginv = g / (1.0 + g * (g + k)); - g1 = ginv; - g2 = 2.0 * (g + k) * ginv; - g3 = g * ginv; - g4 = 2.0 * ginv; - } - - double v0z, v1, v2, g, damping, k, ginv, g1, g2, g3 ,g4; - double freq, res; - -}; - - -#endif diff --git a/ofxMaxim/ofxMaxim/libs/sineTable.h b/ofxMaxim/ofxMaxim/libs/sineTable.h deleted file mode 100644 index de9626e..0000000 --- a/ofxMaxim/ofxMaxim/libs/sineTable.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * sineTable.h - * atomSynthesis - * - * Created by Chris on 10/11/2011. - * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. - * - */ -#pragma once - -namespace waveTable { - -double sine65536[65538] = {0.0,9.5873799096e-05,0.000191747597311,0.000287621393763,0.000383495187571,0.000479368977855,0.000575242763732,0.000671116544322,0.000766990318743,0.000862864086114,0.000958737845553,0.00105461159618,0.00115048533711,0.00124635906747,0.00134223278637,0.00143810649294,0.00153398018628,0.00162985386553,0.0017257275298,0.0018216011782,0.00191747480986,0.00201334842389,0.00210922201942,0.00220509559556,0.00230096915143,0.00239684268615,0.00249271619884,0.00258858968861,0.0026844631546,0.0027803365959,0.00287621001166,0.00297208340097,0.00306795676297,0.00316383009676,0.00325970340148,0.00335557667623,0.00345144992014,0.00354732313232,0.0036431963119,0.00373906945799,0.00383494256971,0.00393081564618,0.00402668868652,0.00412256168984,0.00421843465528,0.00431430758194,0.00441018046894,0.0045060533154,0.00460192612045,0.00469779888319,0.00479367160276,0.00488954427826,0.00498541690882,0.00508128949356,0.00517716203158,0.00527303452202,0.005368906964,0.00546477935662,0.00556065169901,0.00565652399029,0.00575239622957,0.00584826841598,0.00594414054864,0.00604001262666,0.00613588464915,0.00623175661525,0.00632762852407,0.00642350037473,0.00651937216634,0.00661524389803,0.00671111556891,0.0068069871781,0.00690285872473,0.00699873020791,0.00709460162675,0.00719047298039,0.00728634426793,0.00738221548849,0.0074780866412,0.00757395772518,0.00766982873953,0.00776569968339,0.00786157055586,0.00795744135607,0.00805331208314,0.00814918273619,0.00824505331433,0.00834092381668,0.00843679424237,0.00853266459051,0.00862853486021,0.00872440505061,0.00882027516081,0.00891614518993,0.00901201513711,0.00910788500144,0.00920375478206,0.00929962447808,0.00939549408862,0.00949136361279,0.00958723304973,0.00968310239854,0.00977897165835,0.00987484082827,0.00997070990742,0.0100665788949,0.0101624477899,0.0102583165915,0.0103541852987,0.0104500539108,0.0105459224269,0.010641790846,0.0107376591673,0.0108335273899,0.0109293955129,0.0110252635354,0.0111211314566,0.0112169992756,0.0113128669915,0.0114087346034,0.0115046021104,0.0116004695117,0.0116963368064,0.0117922039935,0.0118880710723,0.0119839380417,0.0120798049011,0.0121756716493,0.0122715382857,0.0123674048093,0.0124632712192,0.0125591375145,0.0126550036944,0.012750869758,0.0128467357044,0.0129426015327,0.013038467242,0.0131343328315,0.0132301983002,0.0133260636473,0.013421928872,0.0135177939733,0.0136136589503,0.0137095238022,0.0138053885281,0.013901253127,0.0139971175982,0.0140929819408,0.0141888461538,0.0142847102364,0.0143805741876,0.0144764380067,0.0145723016928,0.0146681652449,0.0147640286621,0.0148598919437,0.0149557550886,0.0150516180961,0.0151474809653,0.0152433436952,0.015339206285,0.0154350687338,0.0155309310407,0.0156267932049,0.0157226552254,0.0158185171014,0.015914378832,0.0160102404164,0.0161061018535,0.0162019631427,0.0162978242829,0.0163936852733,0.016489546113,0.0165854068011,0.0166812673368,0.0167771277191,0.0168729879473,0.0169688480203,0.0170647079374,0.0171605676976,0.0172564273001,0.017352286744,0.0174481460284,0.0175440051524,0.0176398641151,0.0177357229157,0.0178315815532,0.0179274400269,0.0180232983358,0.018119156479,0.0182150144556,0.0183108722649,0.0184067299058,0.0185025873775,0.0185984446792,0.0186943018099,0.0187901587688,0.0188860155549,0.0189818721675,0.0190777286056,0.0191735848683,0.0192694409548,0.0193652968642,0.0194611525955,0.019557008148,0.0196528635207,0.0197487187128,0.0198445737234,0.0199404285515,0.0200362831964,0.0201321376571,0.0202279919327,0.0203238460224,0.0204196999253,0.0205155536405,0.0206114071671,0.0207072605043,0.0208031136511,0.0208989666067,0.0209948193702,0.0210906719408,0.0211865243174,0.0212823764994,0.0213782284857,0.0214740802755,0.0215699318679,0.021665783262,0.021761634457,0.021857485452,0.0219533362461,0.0220491868384,0.022145037228,0.022240887414,0.0223367373956,0.0224325871719,0.0225284367421,0.0226242861051,0.0227201352602,0.0228159842064,0.0229118329429,0.0230076814688,0.0231035297833,0.0231993778853,0.0232952257742,0.0233910734489,0.0234869209086,0.0235827681524,0.0236786151794,0.0237744619888,0.0238703085797,0.0239661549511,0.0240620011023,0.0241578470323,0.0242536927402,0.0243495382252,0.0244453834864,0.0245412285229,0.0246370733338,0.0247329179183,0.0248287622754,0.0249246064043,0.0250204503041,0.0251162939739,0.0252121374128,0.02530798062,0.0254038235946,0.0254996663357,0.0255955088423,0.0256913511138,0.025787193149,0.0258830349473,0.0259788765076,0.0260747178291,0.026170558911,0.0262663997523,0.0263622403521,0.0264580807097,0.026553920824,0.0266497606943,0.0267456003196,0.0268414396991,0.0269372788319,0.027033117717,0.0271289563537,0.027224794741,0.0273206328781,0.027416470764,0.0275123083979,0.027608145779,0.0277039829062,0.0277998197789,0.027895656396,0.0279914927567,0.02808732886,0.0281831647053,0.0282790002914,0.0283748356177,0.0284706706831,0.0285665054868,0.028662340028,0.0287581743056,0.028854008319,0.0289498420671,0.0290456755491,0.0291415087642,0.0292373417114,0.0293331743898,0.0294290067986,0.0295248389369,0.0296206708039,0.0297165023985,0.02981233372,0.0299081647675,0.0300039955401,0.0300998260369,0.030195656257,0.0302914861995,0.0303873158637,0.0304831452485,0.0305789743531,0.0306748031766,0.0307706317182,0.030866459977,0.030962287952,0.0310581156424,0.0311539430474,0.031249770166,0.0313455969973,0.0314414235406,0.0315372497948,0.0316330757591,0.0317289014327,0.0318247268146,0.031920551904,0.0320163767,0.0321122012018,0.0322080254083,0.0323038493188,0.0323996729324,0.0324954962481,0.0325913192652,0.0326871419827,0.0327829643997,0.0328787865154,0.0329746083289,0.0330704298393,0.0331662510457,0.0332620719473,0.0333578925431,0.0334537128323,0.033549532814,0.0336453524873,0.0337411718514,0.0338369909053,0.0339328096482,0.0340286280792,0.0341244461974,0.034220264002,0.034316081492,0.0344118986665,0.0345077155248,0.0346035320659,0.0346993482889,0.034795164193,0.0348909797772,0.0349867950407,0.0350826099826,0.0351784246021,0.0352742388982,0.0353700528701,0.0354658665169,0.0355616798376,0.0356574928315,0.0357533054976,0.0358491178351,0.0359449298431,0.0360407415207,0.036136552867,0.0362323638812,0.0363281745623,0.0364239849094,0.0365197949218,0.0366156045985,0.0367114139387,0.0368072229414,0.0369030316057,0.0369988399309,0.037094647916,0.0371904555601,0.0372862628624,0.0373820698219,0.0374778764378,0.0375736827093,0.0376694886353,0.0377652942152,0.0378610994479,0.0379569043325,0.0380527088683,0.0381485130544,0.0382443168897,0.0383401203736,0.038435923505,0.0385317262831,0.038627528707,0.0387233307759,0.0388191324889,0.038914933845,0.0390107348435,0.0391065354833,0.0392023357637,0.0392981356838,0.0393939352426,0.0394897344394,0.0395855332731,0.039681331743,0.0397771298482,0.0398729275877,0.0399687249608,0.0400645219664,0.0401603186038,0.040256114872,0.0403519107703,0.0404477062976,0.0405435014531,0.0406392962359,0.0407350906452,0.0408308846801,0.0409266783397,0.0410224716231,0.0411182645294,0.0412140570577,0.0413098492073,0.0414056409771,0.0415014323663,0.0415972233741,0.0416930139995,0.0417888042416,0.0418845940997,0.0419803835727,0.0420761726599,0.0421719613603,0.0422677496731,0.0423635375974,0.0424593251323,0.0425551122769,0.0426508990304,0.0427466853918,0.0428424713602,0.0429382569349,0.043034042115,0.0431298268994,0.0432256112874,0.0433213952781,0.0434171788706,0.043512962064,0.0436087448575,0.0437045272501,0.0438003092409,0.0438960908292,0.043991872014,0.0440876527945,0.0441834331696,0.0442792131387,0.0443749927008,0.0444707718549,0.0445665506003,0.0446623289361,0.0447581068613,0.0448538843752,0.0449496614767,0.0450454381651,0.0451412144394,0.0452369902988,0.0453327657424,0.0454285407693,0.0455243153786,0.0456200895695,0.045715863341,0.0458116366924,0.0459074096226,0.0460031821309,0.0460989542163,0.046194725878,0.0462904971151,0.0463862679267,0.0464820383119,0.0465778082699,0.0466735777997,0.0467693469005,0.0468651155715,0.0469608838116,0.0470566516201,0.0471524189961,0.0472481859386,0.0473439524469,0.0474397185199,0.047535484157,0.047631249357,0.0477270141193,0.0478227784429,0.0479185423269,0.0480143057704,0.0481100687726,0.0482058313326,0.0483015934495,0.0483973551224,0.0484931163504,0.0485888771327,0.0486846374684,0.0487803973566,0.0488761567964,0.048971915787,0.0490676743274,0.0491634324168,0.0492591900543,0.049354947239,0.0494507039701,0.0495464602466,0.0496422160677,0.0497379714325,0.0498337263401,0.0499294807897,0.0500252347803,0.0501209883111,0.0502167413812,0.0503124939897,0.0504082461357,0.0505039978184,0.0505997490369,0.0506954997903,0.0507912500777,0.0508869998982,0.050982749251,0.0510784981352,0.0511742465499,0.0512699944941,0.0513657419672,0.051461488968,0.0515572354959,0.0516529815499,0.051748727129,0.0518444722325,0.0519402168595,0.052035961009,0.0521317046803,0.0522274478723,0.0523231905843,0.0524189328154,0.0525146745646,0.0526104158311,0.0527061566141,0.0528018969125,0.0528976367257,0.0529933760526,0.0530891148924,0.0531848532442,0.0532805911071,0.0533763284804,0.0534720653629,0.053567801754,0.0536635376527,0.0537592730582,0.0538550079695,0.0539507423857,0.0540464763061,0.0541422097297,0.0542379426556,0.054333675083,0.0544294070109,0.0545251384386,0.054620869365,0.0547165997894,0.0548123297109,0.0549080591285,0.0550037880415,0.0550995164488,0.0551952443497,0.0552909717432,0.0553866986286,0.0554824250048,0.055578150871,0.0556738762264,0.05576960107,0.055865325401,0.0559610492185,0.0560567725216,0.0561524953095,0.0562482175812,0.0563439393359,0.0564396605727,0.0565353812907,0.0566311014891,0.0567268211669,0.0568225403233,0.0569182589574,0.0570139770683,0.0571096946552,0.0572054117171,0.0573011282532,0.0573968442626,0.0574925597444,0.0575882746977,0.0576839891217,0.0577797030155,0.0578754163782,0.0579711292089,0.0580668415068,0.0581625532709,0.0582582645004,0.0583539751944,0.0584496853521,0.0585453949724,0.0586411040547,0.0587368125979,0.0588325206012,0.0589282280638,0.0590239349847,0.059119641363,0.059215347198,0.0593110524886,0.0594067572341,0.0595024614335,0.059598165086,0.0596938681907,0.0597895707466,0.059885272753,0.059980974209,0.0600766751136,0.060172375466,0.0602680752653,0.0603637745107,0.0604594732012,0.0605551713359,0.0606508689141,0.0607465659348,0.0608422623971,0.0609379583001,0.061033653643,0.0611293484249,0.061225042645,0.0613207363022,0.0614164293958,0.0615121219249,0.0616078138886,0.061703505286,0.0617991961162,0.0618948863784,0.0619905760716,0.0620862651951,0.0621819537478,0.062277641729,0.0623733291378,0.0624690159732,0.0625647022345,0.0626603879206,0.0627560730308,0.0628517575642,0.0629474415198,0.0630431248968,0.0631388076944,0.0632344899116,0.0633301715475,0.0634258526014,0.0635215330722,0.0636172129592,0.0637128922614,0.063808570978,0.063904249108,0.0639999266507,0.0640956036051,0.0641912799704,0.0642869557456,0.0643826309299,0.0644783055224,0.0645739795222,0.0646696529285,0.0647653257403,0.0648609979569,0.0649566695772,0.0650523406005,0.0651480110259,0.0652436808524,0.0653393500792,0.0654350187054,0.0655306867302,0.0656263541526,0.0657220209718,0.0658176871869,0.065913352797,0.0660090178013,0.0661046821988,0.0662003459886,0.06629600917,0.066391671742,0.0664873337038,0.0665829950544,0.066678655793,0.0667743159187,0.0668699754306,0.0669656343279,0.0670612926096,0.067156950275,0.067252607323,0.0673482637529,0.0674439195637,0.0675395747545,0.0676352293246,0.067730883273,0.0678265365988,0.0679221893012,0.0680178413792,0.0681134928321,0.0682091436588,0.0683047938586,0.0684004434305,0.0684960923738,0.0685917406874,0.0686873883705,0.0687830354223,0.0688786818418,0.0689743276283,0.0690699727807,0.0691656172982,0.06926126118,0.0693569044252,0.0694525470328,0.0695481890021,0.0696438303321,0.0697394710219,0.0698351110707,0.0699307504776,0.0700263892417,0.0701220273621,0.070217664838,0.0703133016685,0.0704089378526,0.0705045733896,0.0706002082785,0.0706958425185,0.0707914761086,0.0708871090481,0.070982741336,0.0710783729714,0.0711740039534,0.0712696342813,0.0713652639541,0.0714608929708,0.0715565213308,0.071652149033,0.0717477760766,0.0718434024607,0.0719390281844,0.0720346532469,0.0721302776472,0.0722259013846,0.0723215244581,0.0724171468668,0.0725127686098,0.0726083896864,0.0727040100955,0.0727996298364,0.072895248908,0.0729908673097,0.0730864850405,0.0731821020994,0.0732777184857,0.0733733341984,0.0734689492367,0.0735645635997,0.0736601772865,0.0737557902962,0.073851402628,0.0739470142809,0.0740426252541,0.0741382355468,0.074233845158,0.0743294540868,0.0744250623325,0.074520669894,0.0746162767706,0.0747118829613,0.0748074884652,0.0749030932816,0.0749986974094,0.0750943008479,0.0751899035962,0.0752855056533,0.0753811070184,0.0754767076906,0.075572307669,0.0756679069528,0.0757635055411,0.075859103433,0.0759547006275,0.076050297124,0.0761458929214,0.0762414880189,0.0763370824155,0.0764326761105,0.076528269103,0.076623861392,0.0767194529767,0.0768150438563,0.0769106340297,0.0770062234962,0.0771018122549,0.0771974003049,0.0772929876453,0.0773885742753,0.0774841601939,0.0775797454003,0.0776753298935,0.0777709136729,0.0778664967373,0.077962079086,0.0780576607182,0.0781532416328,0.0782488218291,0.0783444013061,0.078439980063,0.0785355580988,0.0786311354128,0.0787267120041,0.0788222878717,0.0789178630148,0.0790134374325,0.0791090111239,0.0792045840882,0.0793001563244,0.0793957278317,0.0794912986092,0.0795868686561,0.0796824379714,0.0797780065543,0.0798735744039,0.0799691415193,0.0800647078997,0.0801602735441,0.0802558384517,0.0803514026216,0.080446966053,0.0805425287448,0.0806380906964,0.0807336519067,0.080829212375,0.0809247721003,0.0810203310817,0.0811158893185,0.0812114468096,0.0813070035542,0.0814025595515,0.0814981148006,0.0815936693005,0.0816892230505,0.0817847760496,0.0818803282969,0.0819758797916,0.0820714305328,0.0821669805197,0.0822625297512,0.0823580782266,0.0824536259451,0.0825491729056,0.0826447191073,0.0827402645494,0.0828358092309,0.0829313531511,0.0830268963089,0.0831224387036,0.0832179803343,0.0833135212,0.0834090612999,0.0835046006332,0.0836001391988,0.0836956769961,0.083791214024,0.0838867502818,0.0839822857685,0.0840778204832,0.0841733544251,0.0842688875933,0.0843644199869,0.0844599516051,0.0845554824469,0.0846510125116,0.0847465417981,0.0848420703056,0.0849375980333,0.0850331249803,0.0851286511456,0.0852241765285,0.085319701128,0.0854152249433,0.0855107479735,0.0856062702176,0.0857017916749,0.0857973123444,0.0858928322253,0.0859883513167,0.0860838696177,0.0861793871275,0.0862749038451,0.0863704197697,0.0864659349003,0.0865614492363,0.0866569627765,0.0867524755202,0.0868479874665,0.0869434986145,0.0870390089634,0.0871345185122,0.0872300272601,0.0873255352062,0.0874210423496,0.0875165486895,0.0876120542249,0.087707558955,0.0878030628789,0.0878985659958,0.0879940683047,0.0880895698048,0.0881850704952,0.088280570375,0.0883760694433,0.0884715676993,0.0885670651421,0.0886625617709,0.0887580575846,0.0888535525825,0.0889490467637,0.0890445401273,0.0891400326724,0.0892355243981,0.0893310153037,0.0894265053881,0.0895219946505,0.08961748309,0.0897129707058,0.089808457497,0.0899039434627,0.089999428602,0.090094912914,0.0901903963979,0.0902858790529,0.0903813608779,0.0904768418721,0.0905723220347,0.0906678013648,0.0907632798615,0.0908587575239,0.0909542343511,0.0910497103424,0.0911451854967,0.0912406598132,0.0913361332911,0.0914316059294,0.0915270777273,0.0916225486839,0.0917180187983,0.0918134880697,0.0919089564971,0.0920044240798,0.0920998908167,0.0921953567071,0.0922908217501,0.0923862859447,0.0924817492901,0.0925772117855,0.0926726734299,0.0927681342225,0.0928635941624,0.0929590532487,0.0930545114805,0.093149968857,0.0932454253773,0.0933408810405,0.0934363358457,0.0935317897921,0.0936272428788,0.0937226951048,0.0938181464694,0.0939135969716,0.0940090466106,0.0941044953855,0.0941999432954,0.0942953903394,0.0943908365167,0.0944862818264,0.0945817262675,0.0946771698393,0.0947726125408,0.0948680543712,0.0949634953296,0.0950589354152,0.0951543746269,0.095249812964,0.0953452504256,0.0954406870108,0.0955361227188,0.0956315575485,0.0957269914993,0.0958224245702,0.0959178567602,0.0960132880687,0.0961087184946,0.096204148037,0.0962995766952,0.0963950044683,0.0964904313553,0.0965858573553,0.0966812824676,0.0967767066912,0.0968721300252,0.0969675524688,0.0970629740212,0.0971583946813,0.0972538144484,0.0973492333215,0.0974446512998,0.0975400683825,0.0976354845685,0.0977308998571,0.0978263142474,0.0979217277385,0.0980171403296,0.0981125520196,0.0982079628079,0.0983033726934,0.0983987816754,0.0984941897529,0.098589596925,0.098685003191,0.0987804085498,0.0988758130007,0.0989712165427,0.099066619175,0.0991620208967,0.099257421707,0.0993528216049,0.0994482205895,0.0995436186601,0.0996390158156,0.0997344120553,0.0998298073783,0.0999252017837,0.100020595271,0.100115987838,0.100211379485,0.100306770211,0.100402160016,0.100497548897,0.100592936854,0.100688323887,0.100783709995,0.100879095176,0.100974479429,0.101069862755,0.101165245151,0.101260626618,0.101356007154,0.101451386758,0.10154676543,0.101642143168,0.101737519973,0.101832895841,0.101928270774,0.10202364477,0.102119017829,0.102214389948,0.102309761128,0.102405131368,0.102500500666,0.102595869022,0.102691236436,0.102786602905,0.102881968429,0.102977333008,0.10307269664,0.103168059325,0.103263421062,0.103358781849,0.103454141686,0.103549500573,0.103644858507,0.103740215489,0.103835571517,0.103930926591,0.10402628071,0.104121633872,0.104216986077,0.104312337325,0.104407687613,0.104503036942,0.10459838531,0.104693732717,0.104789079162,0.104884424643,0.10497976916,0.105075112713,0.105170455299,0.105265796919,0.105361137571,0.105456477255,0.105551815969,0.105647153713,0.105742490487,0.105837826288,0.105933161116,0.106028494971,0.106123827851,0.106219159755,0.106314490683,0.106409820634,0.106505149607,0.106600477601,0.106695804615,0.106791130648,0.1068864557,0.106981779769,0.107077102855,0.107172424957,0.107267746073,0.107363066204,0.107458385348,0.107553703504,0.107649020671,0.107744336849,0.107839652036,0.107934966233,0.108030279437,0.108125591648,0.108220902865,0.108316213088,0.108411522315,0.108506830545,0.108602137778,0.108697444013,0.108792749249,0.108888053485,0.108983356719,0.109078658952,0.109173960183,0.10926926041,0.109364559632,0.10945985785,0.109555155061,0.109650451265,0.109745746461,0.109841040649,0.109936333827,0.110031625994,0.11012691715,0.110222207294,0.110317496424,0.110412784541,0.110508071643,0.110603357729,0.110698642798,0.11079392685,0.110889209883,0.110984491897,0.111079772891,0.111175052864,0.111270331815,0.111365609743,0.111460886648,0.111556162528,0.111651437383,0.111746711211,0.111841984012,0.111937255786,0.11203252653,0.112127796244,0.112223064928,0.112318332581,0.112413599201,0.112508864787,0.11260412934,0.112699392857,0.112794655339,0.112889916784,0.112985177191,0.113080436559,0.113175694889,0.113270952178,0.113366208425,0.113461463631,0.113556717794,0.113651970913,0.113747222987,0.113842474016,0.113937723998,0.114032972933,0.11412822082,0.114223467658,0.114318713446,0.114413958183,0.114509201869,0.114604444502,0.114699686081,0.114794926607,0.114890166077,0.114985404491,0.115080641848,0.115175878147,0.115271113388,0.115366347569,0.115461580689,0.115556812749,0.115652043746,0.11574727368,0.11584250255,0.115937730356,0.116032957095,0.116128182769,0.116223407374,0.116318630912,0.11641385338,0.116509074778,0.116604295106,0.116699514361,0.116794732544,0.116889949653,0.116985165688,0.117080380648,0.117175594531,0.117270807338,0.117366019066,0.117461229715,0.117556439285,0.117651647775,0.117746855183,0.117842061508,0.117937266751,0.118032470909,0.118127673983,0.11822287597,0.118318076871,0.118413276685,0.11850847541,0.118603673045,0.118698869591,0.118794065045,0.118889259408,0.118984452678,0.119079644854,0.119174835935,0.119270025921,0.119365214811,0.119460402604,0.119555589298,0.119650774894,0.119745959389,0.119841142785,0.119936325078,0.120031506269,0.120126686357,0.120221865341,0.120317043219,0.120412219992,0.120507395658,0.120602570216,0.120697743666,0.120792916006,0.120888087236,0.120983257354,0.121078426361,0.121173594255,0.121268761035,0.1213639267,0.12145909125,0.121554254683,0.121649416999,0.121744578197,0.121839738276,0.121934897235,0.122030055073,0.122125211789,0.122220367383,0.122315521853,0.122410675199,0.12250582742,0.122600978515,0.122696128483,0.122791277323,0.122886425035,0.122981571617,0.123076717068,0.123171861388,0.123267004576,0.123362146631,0.123457287552,0.123552427339,0.123647565989,0.123742703503,0.12383783988,0.123932975119,0.124028109218,0.124123242177,0.124218373995,0.124313504672,0.124408634205,0.124503762596,0.124598889842,0.124694015942,0.124789140897,0.124884264704,0.124979387363,0.125074508874,0.125169629235,0.125264748446,0.125359866505,0.125454983412,0.125550099165,0.125645213765,0.12574032721,0.125835439498,0.125930550631,0.126025660606,0.126120769422,0.126215877079,0.126310983576,0.126406088912,0.126501193086,0.126596296097,0.126691397945,0.126786498628,0.126881598145,0.126976696497,0.127071793681,0.127166889697,0.127261984545,0.127357078222,0.127452170729,0.127547262065,0.127642352228,0.127737441218,0.127832529033,0.127927615674,0.128022701139,0.128117785427,0.128212868537,0.128307950469,0.128403031222,0.128498110794,0.128593189185,0.128688266394,0.12878334242,0.128878417263,0.128973490921,0.129068563393,0.129163634679,0.129258704778,0.129353773688,0.12944884141,0.129543907942,0.129638973283,0.129734037432,0.129829100389,0.129924162153,0.130019222722,0.130114282096,0.130209340275,0.130304397256,0.13039945304,0.130494507625,0.13058956101,0.130684613196,0.13077966418,0.130874713962,0.130969762541,0.131064809916,0.131159856086,0.131254901051,0.131349944809,0.13144498736,0.131540028703,0.131635068837,0.13173010776,0.131825145473,0.131920181974,0.132015217263,0.132110251338,0.132205284199,0.132300315844,0.132395346274,0.132490375487,0.132585403481,0.132680430257,0.132775455814,0.13287048015,0.132965503265,0.133060525157,0.133155545827,0.133250565272,0.133345583493,0.133440600488,0.133535616256,0.133630630797,0.13372564411,0.133820656194,0.133915667047,0.13401067667,0.134105685061,0.134200692219,0.134295698143,0.134390702834,0.134485706288,0.134580708507,0.134675709489,0.134770709233,0.134865707738,0.134960705003,0.135055701028,0.135150695811,0.135245689352,0.13534068165,0.135435672704,0.135530662513,0.135625651076,0.135720638393,0.135815624462,0.135910609283,0.136005592854,0.136100575176,0.136195556246,0.136290536064,0.13638551463,0.136480491942,0.136575468,0.136670442802,0.136765416348,0.136860388637,0.136955359668,0.13705032944,0.137145297952,0.137240265204,0.137335231194,0.137430195921,0.137525159386,0.137620121586,0.137715082522,0.137810042192,0.137905000595,0.13799995773,0.138094913597,0.138189868194,0.138284821522,0.138379773578,0.138474724362,0.138569673873,0.138664622111,0.138759569074,0.138854514762,0.138949459173,0.139044402308,0.139139344164,0.139234284741,0.139329224038,0.139424162055,0.13951909879,0.139614034243,0.139708968412,0.139803901298,0.139898832898,0.139993763212,0.14008869224,0.140183619979,0.140278546431,0.140373471592,0.140468395464,0.140563318044,0.140658239333,0.140753159328,0.14084807803,0.140942995437,0.141037911549,0.141132826364,0.141227739882,0.141322652102,0.141417563022,0.141512472643,0.141607380963,0.141702287982,0.141797193698,0.14189209811,0.141987001219,0.142081903022,0.142176803519,0.14227170271,0.142366600593,0.142461497167,0.142556392431,0.142651286386,0.142746179029,0.14284107036,0.142935960378,0.143030849082,0.143125736471,0.143220622545,0.143315507303,0.143410390743,0.143505272865,0.143600153667,0.14369503315,0.143789911312,0.143884788153,0.143979663671,0.144074537865,0.144169410735,0.14426428228,0.144359152499,0.144454021391,0.144548888955,0.144643755191,0.144738620097,0.144833483672,0.144928345916,0.145023206829,0.145118066408,0.145212924653,0.145307781563,0.145402637138,0.145497491376,0.145592344277,0.14568719584,0.145782046064,0.145876894947,0.14597174249,0.146066588691,0.146161433549,0.146256277064,0.146351119234,0.14644596006,0.146540799539,0.146635637671,0.146730474455,0.146825309891,0.146920143977,0.147014976713,0.147109808097,0.147204638129,0.147299466808,0.147394294133,0.147489120103,0.147583944718,0.147678767976,0.147773589876,0.147868410418,0.147963229601,0.148058047424,0.148152863887,0.148247678987,0.148342492725,0.148437305099,0.148532116108,0.148626925753,0.148721734031,0.148816540942,0.148911346486,0.14900615066,0.149100953465,0.1491957549,0.149290554963,0.149385353654,0.149480150972,0.149574946915,0.149669741484,0.149764534677,0.149859326494,0.149954116933,0.150048905994,0.150143693675,0.150238479977,0.150333264897,0.150428048436,0.150522830592,0.150617611364,0.150712390752,0.150807168755,0.150901945371,0.1509967206,0.151091494442,0.151186266894,0.151281037957,0.15137580763,0.151470575911,0.151565342799,0.151660108295,0.151754872397,0.151849635103,0.151944396414,0.152039156328,0.152133914845,0.152228671963,0.152323427682,0.152418182001,0.152512934919,0.152607686435,0.152702436549,0.152797185258,0.152891932564,0.152986678464,0.153081422957,0.153176166044,0.153270907723,0.153365647992,0.153460386852,0.153555124302,0.15364986034,0.153744594966,0.153839328178,0.153934059977,0.154028790361,0.154123519328,0.154218246879,0.154312973013,0.154407697728,0.154502421024,0.1545971429,0.154691863355,0.154786582387,0.154881299997,0.154976016184,0.155070730946,0.155165444282,0.155260156193,0.155354866676,0.155449575731,0.155544283357,0.155638989554,0.15573369432,0.155828397654,0.155923099556,0.156017800025,0.15611249906,0.15620719666,0.156301892824,0.156396587552,0.156491280842,0.156585972693,0.156680663105,0.156775352077,0.156870039608,0.156964725697,0.157059410343,0.157154093546,0.157248775304,0.157343455616,0.157438134483,0.157532811902,0.157627487873,0.157722162395,0.157816835468,0.15791150709,0.15800617726,0.158100845978,0.158195513243,0.158290179054,0.15838484341,0.15847950631,0.158574167753,0.158668827739,0.158763486266,0.158858143334,0.158952798942,0.159047453088,0.159142105773,0.159236756995,0.159331406753,0.159426055047,0.159520701875,0.159615347237,0.159709991132,0.159804633559,0.159899274517,0.159993914005,0.160088552023,0.160183188569,0.160277823642,0.160372457243,0.160467089369,0.160561720021,0.160656349196,0.160750976895,0.160845603116,0.160940227859,0.161034851122,0.161129472906,0.161224093208,0.161318712028,0.161413329366,0.161507945219,0.161602559588,0.161697172472,0.16179178387,0.16188639378,0.161981002202,0.162075609136,0.16217021458,0.162264818533,0.162359420994,0.162454021963,0.162548621439,0.162643219421,0.162737815908,0.162832410899,0.162927004393,0.16302159639,0.163116186888,0.163210775887,0.163305363385,0.163399949383,0.163494533879,0.163589116871,0.163683698361,0.163778278345,0.163872856825,0.163967433797,0.164062009263,0.164156583221,0.16425115567,0.164345726609,0.164440296037,0.164534863954,0.164629430359,0.16472399525,0.164818558628,0.16491312049,0.165007680836,0.165102239666,0.165196796978,0.165291352772,0.165385907046,0.1654804598,0.165575011034,0.165669560745,0.165764108933,0.165858655598,0.165953200738,0.166047744353,0.166142286441,0.166236827003,0.166331366036,0.16642590354,0.166520439515,0.166614973959,0.166709506872,0.166804038252,0.166898568099,0.166993096412,0.16708762319,0.167182148432,0.167276672137,0.167371194305,0.167465714935,0.167560234025,0.167654751575,0.167749267584,0.167843782051,0.167938294975,0.168032806355,0.168127316191,0.168221824482,0.168316331226,0.168410836423,0.168505340073,0.168599842173,0.168694342724,0.168788841724,0.168883339172,0.168977835068,0.169072329411,0.1691668222,0.169261313434,0.169355803112,0.169450291234,0.169544777798,0.169639262803,0.16973374625,0.169828228136,0.169922708461,0.170017187224,0.170111664424,0.170206140061,0.170300614133,0.17039508664,0.170489557581,0.170584026954,0.17067849476,0.170772960997,0.170867425664,0.17096188876,0.171056350285,0.171150810238,0.171245268618,0.171339725423,0.171434180654,0.171528634308,0.171623086386,0.171717536887,0.171811985809,0.171906433152,0.172000878915,0.172095323097,0.172189765697,0.172284206714,0.172378646148,0.172473083997,0.172567520261,0.172661954938,0.172756388029,0.172850819531,0.172945249445,0.173039677769,0.173134104503,0.173228529645,0.173322953195,0.173417375152,0.173511795514,0.173606214282,0.173700631454,0.17379504703,0.173889461008,0.173983873387,0.174078284168,0.174172693348,0.174267100928,0.174361506905,0.17445591128,0.174550314051,0.174644715218,0.17473911478,0.174833512735,0.174927909083,0.175022303824,0.175116696956,0.175211088478,0.175305478389,0.175399866689,0.175494253377,0.175588638452,0.175683021913,0.175777403759,0.175871783989,0.175966162603,0.176060539599,0.176154914977,0.176249288736,0.176343660875,0.176438031393,0.176532400289,0.176626767562,0.176721133212,0.176815497238,0.176909859638,0.177004220412,0.177098579559,0.177192937079,0.177287292969,0.17738164723,0.177475999861,0.17757035086,0.177664700227,0.177759047961,0.177853394061,0.177947738526,0.178042081356,0.178136422549,0.178230762105,0.178325100022,0.178419436301,0.178513770939,0.178608103936,0.178702435292,0.178796765005,0.178891093075,0.1789854195,0.179079744281,0.179174067415,0.179268388902,0.179362708741,0.179457026932,0.179551343473,0.179645658364,0.179739971603,0.179834283191,0.179928593125,0.180022901406,0.180117208031,0.180211513002,0.180305816315,0.180400117972,0.18049441797,0.180588716309,0.180683012988,0.180777308007,0.180871601363,0.180965893058,0.181060183088,0.181154471455,0.181248758156,0.181343043192,0.18143732656,0.181531608261,0.181625888293,0.181720166656,0.181814443348,0.18190871837,0.182002991719,0.182097263395,0.182191533397,0.182285801725,0.182380068377,0.182474333353,0.182568596652,0.182662858272,0.182757118214,0.182851376475,0.182945633056,0.183039887955,0.183134141172,0.183228392705,0.183322642555,0.183416890719,0.183511137197,0.183605381988,0.183699625092,0.183793866507,0.183888106233,0.183982344269,0.184076580613,0.184170815266,0.184265048226,0.184359279491,0.184453509063,0.184547736939,0.184641963118,0.1847361876,0.184830410385,0.18492463147,0.185018850856,0.185113068541,0.185207284524,0.185301498805,0.185395711383,0.185489922257,0.185584131425,0.185678338888,0.185772544644,0.185866748693,0.185960951033,0.186055151663,0.186149350584,0.186243547794,0.186337743291,0.186431937076,0.186526129147,0.186620319504,0.186714508145,0.18680869507,0.186902880278,0.186997063768,0.18709124554,0.187185425591,0.187279603922,0.187373780531,0.187467955419,0.187562128583,0.187656300023,0.187750469738,0.187844637727,0.18793880399,0.188032968525,0.188127131332,0.188221292409,0.188315451757,0.188409609373,0.188503765258,0.18859791941,0.188692071829,0.188786222513,0.188880371462,0.188974518674,0.18906866415,0.189162807888,0.189256949887,0.189351090146,0.189445228665,0.189539365443,0.189633500478,0.18972763377,0.189821765319,0.189915895122,0.19001002318,0.190104149492,0.190198274056,0.190292396871,0.190386517938,0.190480637254,0.19057475482,0.190668870634,0.190762984696,0.190857097004,0.190951207557,0.191045316356,0.191139423398,0.191233528684,0.191327632212,0.191421733981,0.19151583399,0.19160993224,0.191704028728,0.191798123453,0.191892216416,0.191986307615,0.19208039705,0.192174484719,0.192268570621,0.192362654756,0.192456737123,0.192550817721,0.192644896549,0.192738973607,0.192833048892,0.192927122405,0.193021194145,0.193115264111,0.193209332302,0.193303398716,0.193397463354,0.193491526214,0.193585587296,0.193679646598,0.19377370412,0.193867759861,0.19396181382,0.194055865996,0.194149916388,0.194243964996,0.194338011818,0.194432056854,0.194526100103,0.194620141563,0.194714181235,0.194808219117,0.194902255209,0.194996289509,0.195090322016,0.19518435273,0.195278381651,0.195372408776,0.195466434105,0.195560457638,0.195654479373,0.19574849931,0.195842517448,0.195936533785,0.196030548321,0.196124561056,0.196218571988,0.196312581116,0.19640658844,0.196500593958,0.19659459767,0.196688599575,0.196782599672,0.196876597961,0.19697059444,0.197064589108,0.197158581965,0.197252573009,0.197346562241,0.197440549659,0.197534535261,0.197628519048,0.197722501019,0.197816481172,0.197910459507,0.198004436022,0.198098410718,0.198192383593,0.198286354646,0.198380323876,0.198474291283,0.198568256866,0.198662220623,0.198756182554,0.198850142659,0.198944100935,0.199038057383,0.199132012002,0.19922596479,0.199319915747,0.199413864871,0.199507812163,0.199601757621,0.199695701244,0.199789643032,0.199883582983,0.199977521097,0.200071457373,0.20016539181,0.200259324407,0.200353255163,0.200447184078,0.20054111115,0.200635036378,0.200728959763,0.200822881302,0.200916800996,0.201010718843,0.201104634842,0.201198548993,0.201292461294,0.201386371745,0.201480280345,0.201574187093,0.201668091988,0.20176199503,0.201855896217,0.201949795548,0.202043693023,0.202137588641,0.202231482401,0.202325374303,0.202419264344,0.202513152525,0.202607038844,0.202700923302,0.202794805895,0.202888686625,0.20298256549,0.203076442489,0.203170317622,0.203264190887,0.203358062284,0.203451931811,0.203545799469,0.203639665255,0.20373352917,0.203827391212,0.20392125138,0.204015109674,0.204108966093,0.204202820635,0.204296673301,0.204390524089,0.204484372998,0.204578220027,0.204672065176,0.204765908444,0.20485974983,0.204953589332,0.205047426951,0.205141262685,0.205235096533,0.205328928495,0.20542275857,0.205516586756,0.205610413053,0.20570423746,0.205798059977,0.205891880602,0.205985699334,0.206079516173,0.206173331118,0.206267144167,0.206360955321,0.206454764578,0.206548571937,0.206642377398,0.206736180959,0.20682998262,0.20692378238,0.207017580237,0.207111376192,0.207205170243,0.20729896239,0.207392752631,0.207486540966,0.207580327394,0.207674111913,0.207767894524,0.207861675225,0.207955454015,0.208049230894,0.208143005861,0.208236778914,0.208330550053,0.208424319278,0.208518086586,0.208611851978,0.208705615453,0.208799377009,0.208893136645,0.208986894362,0.209080650158,0.209174404032,0.209268155983,0.20936190601,0.209455654114,0.209549400292,0.209643144543,0.209736886868,0.209830627265,0.209924365734,0.210018102272,0.21011183688,0.210205569557,0.210299300302,0.210393029114,0.210486755992,0.210580480935,0.210674203942,0.210767925013,0.210861644147,0.210955361343,0.211049076599,0.211142789916,0.211236501291,0.211330210725,0.211423918217,0.211517623765,0.211611327369,0.211705029028,0.211798728741,0.211892426507,0.211986122326,0.212079816196,0.212173508116,0.212267198087,0.212360886106,0.212454572173,0.212548256288,0.212641938448,0.212735618654,0.212829296905,0.2129229732,0.213016647537,0.213110319916,0.213203990337,0.213297658797,0.213391325297,0.213484989836,0.213578652412,0.213672313026,0.213765971675,0.213859628359,0.213953283078,0.214046935829,0.214140586614,0.21423423543,0.214327882277,0.214421527154,0.21451517006,0.214608810994,0.214702449955,0.214796086943,0.214889721957,0.214983354995,0.215076986058,0.215170615143,0.215264242251,0.21535786738,0.215451490529,0.215545111698,0.215638730886,0.215732348092,0.215825963314,0.215919576553,0.216013187808,0.216106797076,0.216200404358,0.216294009653,0.21638761296,0.216481214278,0.216574813606,0.216668410944,0.216762006289,0.216855599643,0.216949191003,0.217042780369,0.217136367739,0.217229953114,0.217323536493,0.217417117873,0.217510697256,0.217604274638,0.217697850021,0.217791423403,0.217884994783,0.21797856416,0.218072131533,0.218165696902,0.218259260266,0.218352821623,0.218446380974,0.218539938316,0.21863349365,0.218727046974,0.218820598288,0.21891414759,0.21900769488,0.219101240157,0.21919478342,0.219288324668,0.219381863901,0.219475401117,0.219568936315,0.219662469496,0.219756000657,0.219849529799,0.219943056919,0.220036582018,0.220130105095,0.220223626148,0.220317145177,0.22041066218,0.220504177158,0.220597690109,0.220691201032,0.220784709927,0.220878216792,0.220971721627,0.221065224431,0.221158725203,0.221252223942,0.221345720647,0.221439215318,0.221532707953,0.221626198552,0.221719687114,0.221813173638,0.221906658123,0.222000140568,0.222093620973,0.222187099337,0.222280575658,0.222374049935,0.222467522169,0.222560992358,0.222654460502,0.222747926598,0.222841390647,0.222934852648,0.2230283126,0.223121770502,0.223215226353,0.223308680152,0.223402131898,0.223495581591,0.22358902923,0.223682474813,0.223775918341,0.223869359811,0.223962799224,0.224056236578,0.224149671873,0.224243105107,0.22433653628,0.224429965392,0.22452339244,0.224616817424,0.224710240344,0.224803661198,0.224897079986,0.224990496707,0.22508391136,0.225177323944,0.225270734458,0.225364142901,0.225457549273,0.225550953572,0.225644355799,0.225737755951,0.225831154028,0.22592455003,0.226017943954,0.226111335802,0.226204725571,0.22629811326,0.22639149887,0.226484882399,0.226578263846,0.22667164321,0.226765020491,0.226858395687,0.226951768798,0.227045139823,0.227138508761,0.227231875611,0.227325240373,0.227418603045,0.227511963627,0.227605322117,0.227698678516,0.227792032821,0.227885385033,0.22797873515,0.228072083171,0.228165429096,0.228258772924,0.228352114653,0.228445454284,0.228538791815,0.228632127245,0.228725460574,0.2288187918,0.228912120923,0.229005447942,0.229098772856,0.229192095664,0.229285416365,0.229378734959,0.229472051444,0.229565365821,0.229658678087,0.229751988242,0.229845296285,0.229938602216,0.230031906033,0.230125207735,0.230218507323,0.230311804794,0.230405100148,0.230498393385,0.230591684502,0.230684973501,0.230778260378,0.230871545135,0.230964827769,0.231058108281,0.231151386668,0.231244662931,0.231337937069,0.231431209079,0.231524478963,0.231617746719,0.231711012345,0.231804275842,0.231897537208,0.231990796442,0.232084053545,0.232177308513,0.232270561348,0.232363812048,0.232457060612,0.232550307039,0.232643551328,0.23273679348,0.232830033492,0.232923271363,0.233016507094,0.233109740683,0.233202972129,0.233296201432,0.233389428591,0.233482653604,0.233575876471,0.233669097191,0.233762315763,0.233855532186,0.23394874646,0.234041958584,0.234135168556,0.234228376376,0.234321582043,0.234414785556,0.234507986915,0.234601186118,0.234694383165,0.234787578054,0.234880770785,0.234973961358,0.23506714977,0.235160336022,0.235253520112,0.23534670204,0.235439881805,0.235533059405,0.23562623484,0.23571940811,0.235812579213,0.235905748149,0.235998914916,0.236092079513,0.236185241941,0.236278402198,0.236371560283,0.236464716195,0.236557869934,0.236651021498,0.236744170887,0.2368373181,0.236930463136,0.237023605994,0.237116746674,0.237209885174,0.237303021494,0.237396155632,0.237489287588,0.237582417362,0.237675544951,0.237768670356,0.237861793575,0.237954914608,0.238048033454,0.238141150112,0.23823426458,0.238327376859,0.238420486948,0.238513594844,0.238606700549,0.23869980406,0.238792905377,0.238886004499,0.238979101425,0.239072196155,0.239165288687,0.239258379021,0.239351467156,0.239444553091,0.239537636824,0.239630718356,0.239723797685,0.239816874811,0.239909949733,0.240003022449,0.240096092959,0.240189161262,0.240282227358,0.240375291244,0.240468352922,0.240561412389,0.240654469645,0.240747524689,0.24084057752,0.240933628137,0.241026676539,0.241119722726,0.241212766697,0.241305808451,0.241398847986,0.241491885303,0.2415849204,0.241677953276,0.241770983931,0.241864012364,0.241957038573,0.242050062558,0.242143084319,0.242236103854,0.242329121162,0.242422136243,0.242515149095,0.242608159718,0.242701168112,0.242794174274,0.242887178205,0.242980179903,0.243073179368,0.243166176599,0.243259171594,0.243352164353,0.243445154876,0.243538143161,0.243631129207,0.243724113014,0.24381709458,0.243910073906,0.24400305099,0.24409602583,0.244188998427,0.24428196878,0.244374936887,0.244467902748,0.244560866362,0.244653827727,0.244746786844,0.244839743712,0.244932698329,0.245025650694,0.245118600807,0.245211548668,0.245304494274,0.245397437625,0.245490378721,0.245583317561,0.245676254142,0.245769188466,0.245862120531,0.245955050336,0.24604797788,0.246140903162,0.246233826182,0.246326746939,0.246419665431,0.246512581659,0.24660549562,0.246698407315,0.246791316742,0.246884223901,0.24697712879,0.247070031409,0.247162931758,0.247255829834,0.247348725638,0.247441619168,0.247534510423,0.247627399404,0.247720286108,0.247813170535,0.247906052685,0.247998932555,0.248091810146,0.248184685457,0.248277558487,0.248370429234,0.248463297698,0.248556163879,0.248649027775,0.248741889385,0.248834748709,0.248927605746,0.249020460494,0.249113312954,0.249206163124,0.249299011003,0.249391856591,0.249484699886,0.249577540889,0.249670379597,0.24976321601,0.249856050127,0.249948881948,0.250041711471,0.250134538696,0.250227363622,0.250320186248,0.250413006573,0.250505824596,0.250598640317,0.250691453734,0.250784264847,0.250877073654,0.250969880156,0.251062684351,0.251155486238,0.251248285816,0.251341083085,0.251433878044,0.251526670692,0.251619461028,0.25171224905,0.25180503476,0.251897818154,0.251990599233,0.252083377996,0.252176154442,0.25226892857,0.25236170038,0.252454469869,0.252547237038,0.252640001886,0.252732764411,0.252825524613,0.252918282492,0.253011038046,0.253103791274,0.253196542175,0.25328929075,0.253382036996,0.253474780913,0.2535675225,0.253660261756,0.253752998681,0.253845733273,0.253938465532,0.254031195457,0.254123923047,0.254216648301,0.254309371219,0.254402091799,0.25449481004,0.254587525942,0.254680239504,0.254772950725,0.254865659605,0.254958366141,0.255051070334,0.255143772183,0.255236471686,0.255329168844,0.255421863654,0.255514556117,0.255607246231,0.255699933995,0.25579261941,0.255885302473,0.255977983184,0.256070661542,0.256163337546,0.256256011196,0.25634868249,0.256441351428,0.256534018009,0.256626682232,0.256719344096,0.2568120036,0.256904660743,0.256997315526,0.257089967946,0.257182618003,0.257275265696,0.257367911024,0.257460553986,0.257553194582,0.257645832811,0.257738468671,0.257831102162,0.257923733283,0.258016362034,0.258108988413,0.258201612419,0.258294234052,0.258386853311,0.258479470195,0.258572084703,0.258664696834,0.258757306588,0.258849913963,0.258942518959,0.259035121575,0.25912772181,0.259220319663,0.259312915133,0.25940550822,0.259498098922,0.259590687239,0.25968327317,0.259775856714,0.25986843787,0.259961016637,0.260053593015,0.260146167003,0.2602387386,0.260331307804,0.260423874615,0.260516439033,0.260609001056,0.260701560684,0.260794117915,0.260886672749,0.260979225186,0.261071775223,0.26116432286,0.261256868097,0.261349410933,0.261441951366,0.261534489397,0.261627025023,0.261719558244,0.26181208906,0.261904617469,0.261997143471,0.262089667065,0.262182188249,0.262274707024,0.262367223388,0.26245973734,0.26255224888,0.262644758006,0.262737264719,0.262829769016,0.262922270897,0.263014770362,0.263107267409,0.263199762037,0.263292254247,0.263384744036,0.263477231404,0.263569716351,0.263662198875,0.263754678975,0.263847156651,0.263939631901,0.264032104726,0.264124575124,0.264217043093,0.264309508635,0.264401971746,0.264494432428,0.264586890678,0.264679346496,0.264771799882,0.264864250833,0.26495669935,0.265049145432,0.265141589077,0.265234030286,0.265326469056,0.265418905387,0.265511339279,0.26560377073,0.26569619974,0.265788626308,0.265881050432,0.265973472113,0.266065891349,0.266158308139,0.266250722483,0.266343134379,0.266435543828,0.266527950827,0.266620355376,0.266712757475,0.266805157122,0.266897554317,0.266989949058,0.267082341345,0.267174731178,0.267267118554,0.267359503474,0.267451885937,0.267544265941,0.267636643486,0.26772901857,0.267821391194,0.267913761356,0.268006129056,0.268098494292,0.268190857063,0.26828321737,0.268375575211,0.268467930584,0.26856028349,0.268652633928,0.268744981896,0.268837327394,0.26892967042,0.269022010975,0.269114349057,0.269206684665,0.269299017799,0.269391348458,0.26948367664,0.269576002346,0.269668325573,0.269760646322,0.269852964591,0.269945280379,0.270037593687,0.270129904512,0.270222212854,0.270314518713,0.270406822087,0.270499122975,0.270591421377,0.270683717291,0.270776010718,0.270868301656,0.270960590104,0.271052876061,0.271145159527,0.2712374405,0.271329718981,0.271421994967,0.271514268459,0.271606539455,0.271698807954,0.271791073956,0.271883337459,0.271975598464,0.272067856969,0.272160112972,0.272252366475,0.272344617474,0.272436865971,0.272529111963,0.27262135545,0.272713596431,0.272805834906,0.272898070873,0.272990304331,0.273082535281,0.27317476372,0.273266989648,0.273359213064,0.273451433968,0.273543652358,0.273635868234,0.273728081595,0.27382029244,0.273912500767,0.274004706577,0.274096909869,0.274189110641,0.274281308892,0.274373504623,0.274465697831,0.274557888517,0.274650076679,0.274742262317,0.274834445429,0.274926626015,0.275018804074,0.275110979605,0.275203152607,0.275295323079,0.275387491021,0.275479656432,0.275571819311,0.275663979657,0.275756137468,0.275848292746,0.275940445487,0.276032595692,0.27612474336,0.27621688849,0.276309031081,0.276401171132,0.276493308643,0.276585443612,0.276677576039,0.276769705923,0.276861833262,0.276953958057,0.277046080306,0.277138200009,0.277230317164,0.277322431771,0.277414543828,0.277506653336,0.277598760293,0.277690864699,0.277782966552,0.277875065852,0.277967162597,0.278059256787,0.278151348422,0.2782434375,0.27833552402,0.278427607982,0.278519689385,0.278611768228,0.278703844509,0.278795918229,0.278887989387,0.27898005798,0.27907212401,0.279164187474,0.279256248372,0.279348306704,0.279440362467,0.279532415663,0.279624466288,0.279716514344,0.279808559828,0.279900602741,0.27999264308,0.280084680846,0.280176716038,0.280268748654,0.280360778694,0.280452806157,0.280544831042,0.280636853349,0.280728873076,0.280820890222,0.280912904788,0.281004916771,0.281096926171,0.281188932988,0.281280937219,0.281372938866,0.281464937926,0.281556934399,0.281648928284,0.28174091958,0.281832908286,0.281924894402,0.282016877926,0.282108858858,0.282200837197,0.282292812942,0.282384786093,0.282476756647,0.282568724606,0.282660689967,0.282752652729,0.282844612893,0.282936570457,0.28302852542,0.283120477782,0.283212427541,0.283304374697,0.283396319249,0.283488261197,0.283580200538,0.283672137273,0.2837640714,0.283856002919,0.283947931829,0.284039858129,0.284131781818,0.284223702895,0.28431562136,0.284407537211,0.284499450449,0.284591361071,0.284683269077,0.284775174466,0.284867077238,0.284958977392,0.285050874926,0.28514276984,0.285234662133,0.285326551805,0.285418438853,0.285510323278,0.285602205079,0.285694084255,0.285785960804,0.285877834727,0.285969706022,0.286061574688,0.286153440725,0.286245304132,0.286337164908,0.286429023051,0.286520878562,0.286612731439,0.286704581682,0.286796429289,0.286888274261,0.286980116595,0.287071956291,0.287163793349,0.287255627767,0.287347459545,0.287439288681,0.287531115176,0.287622939027,0.287714760235,0.287806578798,0.287898394715,0.287990207987,0.288082018611,0.288173826587,0.288265631915,0.288357434592,0.288449234619,0.288541031995,0.288632826719,0.288724618789,0.288816408206,0.288908194968,0.288999979074,0.289091760524,0.289183539317,0.289275315451,0.289367088927,0.289458859743,0.289550627898,0.289642393391,0.289734156223,0.289825916391,0.289917673895,0.290009428734,0.290101180908,0.290192930415,0.290284677254,0.290376421426,0.290468162928,0.290559901761,0.290651637922,0.290743371412,0.29083510223,0.290926830374,0.291018555844,0.291110278639,0.291201998759,0.291293716201,0.291385430966,0.291477143053,0.291568852461,0.291660559188,0.291752263235,0.2918439646,0.291935663282,0.292027359281,0.292119052596,0.292210743226,0.292302431169,0.292394116426,0.292485798996,0.292577478876,0.292669156068,0.292760830569,0.29285250238,0.292944171498,0.293035837924,0.293127501656,0.293219162694,0.293310821037,0.293402476684,0.293494129634,0.293585779886,0.293677427439,0.293769072293,0.293860714447,0.2939523539,0.29404399065,0.294135624698,0.294227256043,0.294318884683,0.294410510617,0.294502133846,0.294593754367,0.294685372181,0.294776987285,0.294868599681,0.294960209366,0.295051816339,0.295143420601,0.29523502215,0.295326620985,0.295418217106,0.295509810511,0.295601401199,0.295692989171,0.295784574425,0.29587615696,0.295967736775,0.29605931387,0.296150888244,0.296242459895,0.296334028823,0.296425595028,0.296517158508,0.296608719262,0.29670027729,0.296791832591,0.296883385164,0.296974935008,0.297066482122,0.297158026505,0.297249568157,0.297341107077,0.297432643264,0.297524176717,0.297615707435,0.297707235418,0.297798760664,0.297890283172,0.297981802943,0.298073319974,0.298164834266,0.298256345817,0.298347854627,0.298439360694,0.298530864018,0.298622364598,0.298713862433,0.298805357523,0.298896849865,0.298988339461,0.299079826308,0.299171310406,0.299262791754,0.299354270352,0.299445746198,0.299537219291,0.299628689631,0.299720157217,0.299811622048,0.299903084124,0.299994543442,0.300086000003,0.300177453806,0.30026890485,0.300360353133,0.300451798656,0.300543241417,0.300634681416,0.300726118651,0.300817553122,0.300908984828,0.301000413768,0.301091839941,0.301183263347,0.301274683984,0.301366101852,0.30145751695,0.301548929277,0.301640338833,0.301731745615,0.301823149625,0.301914550859,0.302005949319,0.302097345003,0.30218873791,0.302280128039,0.30237151539,0.302462899962,0.302554281753,0.302645660763,0.302737036992,0.302828410438,0.3029197811,0.303011148978,0.30310251407,0.303193876377,0.303285235897,0.303376592629,0.303467946572,0.303559297726,0.30365064609,0.303741991662,0.303833334443,0.303924674431,0.304016011625,0.304107346025,0.30419867763,0.304290006438,0.30438133245,0.304472655663,0.304563976079,0.304655293694,0.304746608509,0.304837920523,0.304929229735,0.305020536145,0.30511183975,0.305203140551,0.305294438547,0.305385733736,0.305477026119,0.305568315693,0.305659602459,0.305750886415,0.305842167561,0.305933445896,0.306024721418,0.306115994128,0.306207264024,0.306298531105,0.306389795371,0.30648105682,0.306572315453,0.306663571267,0.306754824263,0.306846074439,0.306937321795,0.307028566329,0.307119808042,0.307211046931,0.307302282996,0.307393516237,0.307484746652,0.307575974241,0.307667199003,0.307758420937,0.307849640042,0.307940856317,0.308032069761,0.308123280375,0.308214488156,0.308305693104,0.308396895218,0.308488094498,0.308579290942,0.308670484549,0.308761675319,0.308852863252,0.308944048345,0.309035230598,0.309126410011,0.309217586583,0.309308760312,0.309399931198,0.309491099241,0.309582264438,0.30967342679,0.309764586295,0.309855742954,0.309946896764,0.310038047725,0.310129195836,0.310220341096,0.310311483506,0.310402623062,0.310493759766,0.310584893616,0.31067602461,0.31076715275,0.310858278032,0.310949400458,0.311040520025,0.311131636733,0.311222750581,0.311313861569,0.311404969695,0.311496074958,0.311587177359,0.311678276895,0.311769373567,0.311860467372,0.311951558312,0.312042646384,0.312133731587,0.312224813922,0.312315893386,0.31240696998,0.312498043703,0.312589114553,0.312680182529,0.312771247632,0.31286230986,0.312953369212,0.313044425687,0.313135479285,0.313226530004,0.313317577845,0.313408622805,0.313499664885,0.313590704083,0.313681740399,0.313772773831,0.31386380438,0.313954832043,0.31404585682,0.314136878711,0.314227897714,0.314318913829,0.314409927055,0.314500937391,0.314591944836,0.31468294939,0.314773951051,0.314864949818,0.314955945692,0.31504693867,0.315137928753,0.315228915938,0.315319900227,0.315410881617,0.315501860108,0.315592835698,0.315683808388,0.315774778176,0.315865745062,0.315956709045,0.316047670123,0.316138628296,0.316229583563,0.316320535923,0.316411485376,0.316502431921,0.316593375556,0.316684316281,0.316775254096,0.316866188998,0.316957120989,0.317048050065,0.317138976228,0.317229899475,0.317320819806,0.317411737221,0.317502651718,0.317593563297,0.317684471956,0.317775377696,0.317866280514,0.317957180411,0.318048077385,0.318138971436,0.318229862562,0.318320750763,0.318411636039,0.318502518387,0.318593397808,0.318684274301,0.318775147864,0.318866018497,0.318956886199,0.31904775097,0.319138612808,0.319229471712,0.319320327682,0.319411180717,0.319502030816,0.319592877978,0.319683722203,0.319774563489,0.319865401836,0.319956237242,0.320047069708,0.320137899232,0.320228725813,0.320319549451,0.320410370144,0.320501187893,0.320592002695,0.320682814551,0.320773623458,0.320864429418,0.320955232428,0.321046032488,0.321136829597,0.321227623754,0.321318414958,0.321409203209,0.321499988506,0.321590770847,0.321681550233,0.321772326662,0.321863100133,0.321953870645,0.322044638198,0.322135402791,0.322226164423,0.322316923094,0.322407678801,0.322498431545,0.322589181325,0.322679928139,0.322770671988,0.322861412869,0.322952150783,0.323042885729,0.323133617705,0.323224346711,0.323315072746,0.323405795809,0.3234965159,0.323587233016,0.323677947159,0.323768658326,0.323859366518,0.323950071732,0.324040773969,0.324131473228,0.324222169507,0.324312862805,0.324403553123,0.324494240459,0.324584924813,0.324675606182,0.324766284568,0.324856959968,0.324947632382,0.32503830181,0.325128968249,0.3252196317,0.325310292162,0.325400949634,0.325491604115,0.325582255603,0.325672904099,0.325763549602,0.32585419211,0.325944831623,0.32603546814,0.326126101661,0.326216732183,0.326307359707,0.326397984232,0.326488605756,0.32657922428,0.326669839801,0.32676045232,0.326851061836,0.326941668347,0.327032271853,0.327122872352,0.327213469845,0.327304064331,0.327394655808,0.327485244275,0.327575829733,0.327666412179,0.327756991613,0.327847568035,0.327938141443,0.328028711837,0.328119279216,0.328209843579,0.328300404925,0.328390963253,0.328481518563,0.328572070854,0.328662620124,0.328753166373,0.328843709601,0.328934249806,0.329024786987,0.329115321144,0.329205852276,0.329296380382,0.329386905461,0.329477427512,0.329567946535,0.329658462529,0.329748975492,0.329839485424,0.329929992325,0.330020496193,0.330110997028,0.330201494828,0.330291989593,0.330382481322,0.330472970014,0.330563455669,0.330653938285,0.330744417862,0.330834894399,0.330925367895,0.331015838349,0.33110630576,0.331196770128,0.331287231451,0.33137768973,0.331468144962,0.331558597148,0.331649046286,0.331739492376,0.331829935416,0.331920375407,0.332010812346,0.332101246234,0.332191677069,0.33228210485,0.332372529578,0.33246295125,0.332553369866,0.332643785426,0.332734197927,0.332824607371,0.332915013755,0.333005417079,0.333095817343,0.333186214544,0.333276608683,0.333366999759,0.33345738777,0.333547772716,0.333638154596,0.33372853341,0.333818909156,0.333909281834,0.333999651442,0.33409001798,0.334180381448,0.334270741844,0.334361099167,0.334451453417,0.334541804592,0.334632152693,0.334722497718,0.334812839666,0.334903178536,0.334993514328,0.335083847041,0.335174176674,0.335264503226,0.335354826697,0.335445147085,0.335535464389,0.335625778609,0.335716089745,0.335806397794,0.335896702757,0.335987004633,0.33607730342,0.336167599118,0.336257891726,0.336348181243,0.336438467668,0.336528751001,0.336619031241,0.336709308387,0.336799582437,0.336889853392,0.33698012125,0.337070386011,0.337160647674,0.337250906237,0.337341161701,0.337431414063,0.337521663324,0.337611909483,0.337702152538,0.33779239249,0.337882629336,0.337972863077,0.338063093711,0.338153321238,0.338243545656,0.338333766966,0.338423985165,0.338514200254,0.338604412231,0.338694621096,0.338784826848,0.338875029485,0.338965229008,0.339055425415,0.339145618705,0.339235808879,0.339325995934,0.33941617987,0.339506360686,0.339596538381,0.339686712955,0.339776884407,0.339867052735,0.33995721794,0.340047380019,0.340137538974,0.340227694801,0.340317847501,0.340407997074,0.340498143517,0.34058828683,0.340678427013,0.340768564064,0.340858697983,0.340948828769,0.341038956421,0.341129080939,0.34121920232,0.341309320566,0.341399435674,0.341489547644,0.341579656475,0.341669762166,0.341759864717,0.341849964126,0.341940060393,0.342030153518,0.342120243498,0.342210330333,0.342300414024,0.342390494567,0.342480571964,0.342570646212,0.342660717312,0.342750785262,0.342840850062,0.34293091171,0.343020970206,0.343111025549,0.343201077738,0.343291126773,0.343381172652,0.343471215375,0.343561254941,0.343651291349,0.343741324598,0.343831354687,0.343921381616,0.344011405384,0.34410142599,0.344191443433,0.344281457712,0.344371468826,0.344461476776,0.344551481559,0.344641483174,0.344731481622,0.344821476902,0.344911469012,0.345001457951,0.345091443719,0.345181426316,0.345271405739,0.345361381989,0.345451355064,0.345541324964,0.345631291688,0.345721255235,0.345811215604,0.345901172794,0.345991126805,0.346081077636,0.346171025285,0.346260969753,0.346350911038,0.346440849139,0.346530784056,0.346620715788,0.346710644334,0.346800569692,0.346890491863,0.346980410846,0.347070326639,0.347160239242,0.347250148654,0.347340054874,0.347429957901,0.347519857735,0.347609754375,0.347699647819,0.347789538067,0.347879425119,0.347969308973,0.348059189629,0.348149067085,0.348238941341,0.348328812396,0.348418680249,0.3485085449,0.348598406348,0.348688264591,0.348778119629,0.348867971461,0.348957820087,0.349047665505,0.349137507714,0.349227346714,0.349317182505,0.349407015084,0.349496844452,0.349586670607,0.349676493549,0.349766313277,0.34985612979,0.349945943087,0.350035753168,0.350125560031,0.350215363675,0.350305164101,0.350394961307,0.350484755292,0.350574546055,0.350664333596,0.350754117913,0.350843899007,0.350933676876,0.351023451519,0.351113222935,0.351202991125,0.351292756086,0.351382517818,0.35147227632,0.351562031591,0.351651783631,0.351741532439,0.351831278013,0.351921020354,0.35201075946,0.35210049533,0.352190227964,0.35227995736,0.352369683519,0.352459406438,0.352549126118,0.352638842557,0.352728555755,0.352818265711,0.352907972424,0.352997675892,0.353087376116,0.353177073095,0.353266766827,0.353356457312,0.353446144549,0.353535828538,0.353625509277,0.353715186765,0.353804861002,0.353894531987,0.353984199719,0.354073864197,0.35416352542,0.354253183389,0.354342838101,0.354432489556,0.354522137753,0.354611782691,0.35470142437,0.354791062789,0.354880697946,0.354970329842,0.355059958474,0.355149583843,0.355239205948,0.355328824787,0.35541844036,0.355508052666,0.355597661705,0.355687267475,0.355776869975,0.355866469205,0.355956065165,0.356045657852,0.356135247267,0.356224833408,0.356314416274,0.356403995866,0.356493572182,0.35658314522,0.356672714982,0.356762281464,0.356851844668,0.356941404591,0.357030961233,0.357120514594,0.357210064672,0.357299611467,0.357389154977,0.357478695203,0.357568232142,0.357657765795,0.35774729616,0.357836823237,0.357926347025,0.358015867523,0.35810538473,0.358194898645,0.358284409268,0.358373916598,0.358463420634,0.358552921374,0.358642418819,0.358731912968,0.358821403819,0.358910891371,0.359000375625,0.359089856579,0.359179334232,0.359268808584,0.359358279633,0.35944774738,0.359537211822,0.359626672959,0.359716130791,0.359805585317,0.359895036535,0.359984484445,0.360073929046,0.360163370338,0.360252808319,0.360342242988,0.360431674346,0.36052110239,0.360610527121,0.360699948537,0.360789366637,0.360878781421,0.360968192888,0.361057601037,0.361147005867,0.361236407378,0.361325805568,0.361415200438,0.361504591985,0.361593980209,0.361683365109,0.361772746685,0.361862124936,0.36195149986,0.362040871458,0.362130239727,0.362219604668,0.36230896628,0.362398324561,0.362487679511,0.36257703113,0.362666379415,0.362755724367,0.362845065985,0.362934404268,0.363023739214,0.363113070824,0.363202399096,0.363291724029,0.363381045623,0.363470363877,0.36355967879,0.363648990362,0.363738298591,0.363827603476,0.363916905017,0.364006203213,0.364095498064,0.364184789567,0.364274077723,0.364363362531,0.364452643989,0.364541922098,0.364631196856,0.364720468262,0.364809736316,0.364899001016,0.364988262363,0.365077520354,0.36516677499,0.365256026269,0.365345274191,0.365434518755,0.36552375996,0.365612997805,0.365702232289,0.365791463412,0.365880691173,0.36596991557,0.366059136604,0.366148354272,0.366237568576,0.366326779513,0.366415987082,0.366505191284,0.366594392117,0.36668358958,0.366772783673,0.366861974394,0.366951161743,0.36704034572,0.367129526322,0.36721870355,0.367307877403,0.367397047879,0.367486214979,0.3675753787,0.367664539043,0.367753696007,0.36784284959,0.367931999792,0.368021146612,0.368110290049,0.368199430102,0.368288566771,0.368377700055,0.368466829953,0.368555956464,0.368645079588,0.368734199323,0.368823315668,0.368912428624,0.369001538188,0.369090644361,0.369179747141,0.369268846527,0.36935794252,0.369447035117,0.369536124318,0.369625210123,0.36971429253,0.369803371539,0.369892447149,0.369981519359,0.370070588168,0.370159653575,0.37024871558,0.370337774182,0.370426829379,0.370515881172,0.370604929559,0.37069397454,0.370783016113,0.370872054278,0.370961089034,0.37105012038,0.371139148316,0.37122817284,0.371317193952,0.371406211651,0.371495225936,0.371584236806,0.371673244261,0.371762248299,0.37185124892,0.371940246124,0.372029239908,0.372118230273,0.372207217218,0.372296200741,0.372385180842,0.37247415752,0.372563130775,0.372652100605,0.37274106701,0.372830029988,0.37291898954,0.373007945663,0.373096898359,0.373185847624,0.37327479346,0.373363735864,0.373452674837,0.373541610377,0.373630542483,0.373719471155,0.373808396392,0.373897318193,0.373986236557,0.374075151483,0.374164062971,0.37425297102,0.374341875629,0.374430776797,0.374519674523,0.374608568807,0.374697459647,0.374786347044,0.374875230995,0.374964111501,0.37505298856,0.375141862171,0.375230732334,0.375319599049,0.375408462313,0.375497322127,0.375586178489,0.375675031399,0.375763880856,0.375852726859,0.375941569407,0.3760304085,0.376119244136,0.376208076315,0.376296905036,0.376385730298,0.3764745521,0.376563370442,0.376652185323,0.376740996741,0.376829804697,0.376918609189,0.377007410216,0.377096207778,0.377185001874,0.377273792503,0.377362579664,0.377451363356,0.377540143579,0.377628920332,0.377717693613,0.377806463423,0.37789522976,0.377983992623,0.378072752012,0.378161507926,0.378250260364,0.378339009325,0.378427754809,0.378516496814,0.37860523534,0.378693970385,0.37878270195,0.378871430034,0.378960154634,0.379048875752,0.379137593385,0.379226307533,0.379315018196,0.379403725372,0.37949242906,0.37958112926,0.379669825972,0.379758519193,0.379847208924,0.379935895163,0.38002457791,0.380113257164,0.380201932924,0.38029060519,0.380379273959,0.380467939233,0.380556601009,0.380645259287,0.380733914067,0.380822565346,0.380911213126,0.380999857404,0.38108849818,0.381177135453,0.381265769222,0.381354399487,0.381443026247,0.3815316495,0.381620269247,0.381708885485,0.381797498215,0.381886107436,0.381974713147,0.382063315346,0.382151914034,0.382240509209,0.38232910087,0.382417689017,0.382506273649,0.382594854766,0.382683432365,0.382772006447,0.382860577011,0.382949144055,0.383037707579,0.383126267583,0.383214824065,0.383303377024,0.383391926461,0.383480472373,0.38356901476,0.383657553622,0.383746088957,0.383834620765,0.383923149045,0.384011673796,0.384100195017,0.384188712707,0.384277226867,0.384365737494,0.384454244587,0.384542748148,0.384631248173,0.384719744663,0.384808237617,0.384896727034,0.384985212912,0.385073695252,0.385162174053,0.385250649313,0.385339121032,0.38542758921,0.385516053844,0.385604514935,0.385692972481,0.385781426482,0.385869876938,0.385958323846,0.386046767207,0.386135207019,0.386223643282,0.386312075995,0.386400505157,0.386488930767,0.386577352825,0.386665771329,0.38675418628,0.386842597675,0.386931005514,0.387019409797,0.387107810523,0.38719620769,0.387284601299,0.387372991347,0.387461377835,0.387549760761,0.387638140125,0.387726515926,0.387814888164,0.387903256836,0.387991621943,0.388079983483,0.388168341457,0.388256695862,0.388345046699,0.388433393966,0.388521737663,0.388610077788,0.388698414342,0.388786747322,0.388875076729,0.388963402562,0.389051724819,0.3891400435,0.389228358604,0.389316670131,0.389404978079,0.389493282448,0.389581583236,0.389669880444,0.38975817407,0.389846464113,0.389934750573,0.390023033449,0.39011131274,0.390199588444,0.390287860563,0.390376129094,0.390464394036,0.39055265539,0.390640913153,0.390729167326,0.390817417908,0.390905664897,0.390993908293,0.391082148095,0.391170384302,0.391258616914,0.391346845929,0.391435071348,0.391523293168,0.391611511389,0.391699726011,0.391787937033,0.391876144453,0.391964348271,0.392052548486,0.392140745098,0.392228938105,0.392317127507,0.392405313303,0.392493495492,0.392581674073,0.392669849046,0.392758020409,0.392846188162,0.392934352304,0.393022512835,0.393110669753,0.393198823057,0.393286972747,0.393375118823,0.393463261282,0.393551400125,0.39363953535,0.393727666957,0.393815794945,0.393903919314,0.393992040061,0.394080157187,0.394168270691,0.394256380571,0.394344486828,0.39443258946,0.394520688466,0.394608783847,0.394696875599,0.394784963724,0.394873048221,0.394961129087,0.395049206323,0.395137279928,0.395225349901,0.395313416241,0.395401478948,0.39548953802,0.395577593457,0.395665645257,0.395753693421,0.395841737947,0.395929778835,0.396017816083,0.396105849692,0.396193879659,0.396281905985,0.396369928668,0.396457947707,0.396545963103,0.396633974854,0.396721982958,0.396809987417,0.396897988228,0.39698598539,0.397073978904,0.397161968768,0.397249954981,0.397337937543,0.397425916452,0.397513891709,0.397601863311,0.397689831259,0.397777795552,0.397865756188,0.397953713167,0.398041666488,0.39812961615,0.398217562153,0.398305504496,0.398393443177,0.398481378197,0.398569309554,0.398657237247,0.398745161276,0.398833081639,0.398920998337,0.399008911368,0.399096820731,0.399184726426,0.399272628452,0.399360526807,0.399448421492,0.399536312505,0.399624199846,0.399712083513,0.399799963506,0.399887839825,0.399975712468,0.400063581434,0.400151446723,0.400239308334,0.400327166266,0.400415020518,0.40050287109,0.40059071798,0.400678561188,0.400766400714,0.400854236555,0.400942068712,0.401029897184,0.401117721969,0.401205543067,0.401293360478,0.4013811742,0.401468984233,0.401556790575,0.401644593226,0.401732392186,0.401820187453,0.401907979026,0.401995766905,0.40208355109,0.402171331578,0.402259108369,0.402346881464,0.402434650859,0.402522416556,0.402610178553,0.402697936849,0.402785691444,0.402873442336,0.402961189525,0.40304893301,0.403136672791,0.403224408866,0.403312141235,0.403399869896,0.403487594849,0.403575316094,0.403663033629,0.403750747454,0.403838457568,0.403926163969,0.404013866658,0.404101565633,0.404189260894,0.404276952439,0.404364640269,0.404452324382,0.404540004777,0.404627681453,0.40471535441,0.404803023648,0.404890689164,0.404978350959,0.405066009031,0.40515366338,0.405241314005,0.405328960905,0.405416604079,0.405504243527,0.405591879248,0.40567951124,0.405767139503,0.405854764037,0.40594238484,0.406030001912,0.406117615252,0.406205224859,0.406292830732,0.40638043287,0.406468031273,0.40655562594,0.40664321687,0.406730804063,0.406818387516,0.40690596723,0.406993543204,0.407081115438,0.407168683929,0.407256248677,0.407343809683,0.407431366944,0.40751892046,0.40760647023,0.407694016253,0.407781558529,0.407869097057,0.407956631836,0.408044162865,0.408131690143,0.40821921367,0.408306733445,0.408394249466,0.408481761734,0.408569270247,0.408656775004,0.408744276005,0.40883177325,0.408919266736,0.409006756463,0.409094242431,0.409181724639,0.409269203086,0.40935667777,0.409444148692,0.409531615851,0.409619079245,0.409706538874,0.409793994737,0.409881446833,0.409968895162,0.410056339722,0.410143780514,0.410231217535,0.410318650785,0.410406080264,0.410493505971,0.410580927905,0.410668346064,0.410755760449,0.410843171058,0.410930577891,0.411017980946,0.411105380224,0.411192775723,0.411280167442,0.411367555381,0.411454939538,0.411542319914,0.411629696507,0.411717069316,0.41180443834,0.41189180358,0.411979165034,0.4120665227,0.412153876579,0.41224122667,0.412328572971,0.412415915483,0.412503254203,0.412590589132,0.412677920268,0.412765247612,0.412852571161,0.412939890915,0.413027206874,0.413114519036,0.413201827401,0.413289131968,0.413376432736,0.413463729704,0.413551022872,0.413638312238,0.413725597803,0.413812879565,0.413900157523,0.413987431676,0.414074702024,0.414161968566,0.414249231301,0.414336490229,0.414423745348,0.414510996658,0.414598244157,0.414685487846,0.414772727723,0.414859963788,0.414947196039,0.415034424476,0.415121649098,0.415208869905,0.415296086895,0.415383300068,0.415470509422,0.415557714958,0.415644916674,0.415732114569,0.415819308643,0.415906498895,0.415993685324,0.41608086793,0.41616804671,0.416255221666,0.416342392795,0.416429560098,0.416516723572,0.416603883218,0.416691039035,0.416778191022,0.416865339178,0.416952483502,0.417039623993,0.417126760651,0.417213893475,0.417301022464,0.417388147618,0.417475268935,0.417562386414,0.417649500055,0.417736609858,0.41782371582,0.417910817942,0.417997916223,0.418085010662,0.418172101257,0.418259188009,0.418346270916,0.418433349978,0.418520425194,0.418607496563,0.418694564084,0.418781627757,0.41886868758,0.418955743553,0.419042795675,0.419129843945,0.419216888363,0.419303928928,0.419390965638,0.419477998493,0.419565027493,0.419652052636,0.419739073922,0.419826091349,0.419913104918,0.420000114627,0.420087120475,0.420174122462,0.420261120587,0.420348114849,0.420435105247,0.42052209178,0.420609074448,0.42069605325,0.420783028186,0.420869999253,0.420956966452,0.421043929781,0.42113088924,0.421217844829,0.421304796545,0.42139174439,0.42147868836,0.421565628457,0.421652564679,0.421739497024,0.421826425494,0.421913350086,0.4220002708,0.422087187635,0.42217410059,0.422261009665,0.422347914858,0.422434816169,0.422521713598,0.422608607142,0.422695496802,0.422782382577,0.422869264466,0.422956142467,0.423043016581,0.423129886807,0.423216753143,0.423303615589,0.423390474144,0.423477328807,0.423564179578,0.423651026456,0.423737869439,0.423824708528,0.42391154372,0.423998375017,0.424085202416,0.424172025917,0.424258845519,0.424345661221,0.424432473023,0.424519280923,0.424606084922,0.424692885017,0.424779681209,0.424866473496,0.424953261879,0.425040046355,0.425126826924,0.425213603585,0.425300376338,0.425387145182,0.425473910116,0.425560671138,0.42564742825,0.425734181448,0.425820930734,0.425907676105,0.425994417562,0.426081155102,0.426167888727,0.426254618434,0.426341344223,0.426428066093,0.426514784044,0.426601498074,0.426688208183,0.42677491437,0.426861616634,0.426948314975,0.427035009391,0.427121699882,0.427208386447,0.427295069085,0.427381747795,0.427468422577,0.42755509343,0.427641760353,0.427728423345,0.427815082406,0.427901737534,0.427988388729,0.42807503599,0.428161679316,0.428248318707,0.428334954161,0.428421585678,0.428508213257,0.428594836897,0.428681456598,0.428768072359,0.428854684178,0.428941292055,0.42902789599,0.429114495981,0.429201092028,0.42928768413,0.429374272285,0.429460856494,0.429547436756,0.429634013069,0.429720585433,0.429807153847,0.429893718311,0.429980278823,0.430066835383,0.430153387989,0.430239936642,0.43032648134,0.430413022083,0.430499558869,0.430586091698,0.43067262057,0.430759145483,0.430845666436,0.430932183429,0.431018696461,0.431105205531,0.431191710639,0.431278211783,0.431364708963,0.431451202178,0.431537691427,0.43162417671,0.431710658025,0.431797135372,0.43188360875,0.431970078158,0.432056543596,0.432143005062,0.432229462556,0.432315916077,0.432402365625,0.432488811198,0.432575252795,0.432661690416,0.432748124061,0.432834553727,0.432920979416,0.433007401124,0.433093818853,0.433180232601,0.433266642367,0.433353048151,0.433439449951,0.433525847767,0.433612241599,0.433698631444,0.433785017304,0.433871399176,0.43395777706,0.434044150955,0.43413052086,0.434216886775,0.434303248699,0.434389606631,0.43447596057,0.434562310515,0.434648656466,0.434734998422,0.434821336381,0.434907670344,0.43499400031,0.435080326277,0.435166648245,0.435252966213,0.43533928018,0.435425590145,0.435511896108,0.435598198069,0.435684496025,0.435770789976,0.435857079922,0.435943365862,0.436029647794,0.436115925719,0.436202199635,0.436288469542,0.436374735438,0.436460997323,0.436547255196,0.436633509057,0.436719758904,0.436806004737,0.436892246555,0.436978484357,0.437064718143,0.437150947911,0.437237173661,0.437323395392,0.437409613103,0.437495826794,0.437582036463,0.43766824211,0.437754443734,0.437840641334,0.43792683491,0.438013024461,0.438099209985,0.438185391483,0.438271568952,0.438357742394,0.438443911806,0.438530077188,0.438616238539,0.438702395858,0.438788549145,0.438874698398,0.438960843618,0.439046984803,0.439133121952,0.439219255065,0.43930538414,0.439391509178,0.439477630176,0.439563747135,0.439649860054,0.439735968932,0.439822073767,0.43990817456,0.43999427131,0.440080364015,0.440166452675,0.440252537288,0.440338617856,0.440424694375,0.440510766847,0.440596835269,0.440682899642,0.440768959964,0.440855016234,0.440941068452,0.441027116617,0.441113160729,0.441199200785,0.441285236787,0.441371268732,0.44145729662,0.44154332045,0.441629340222,0.441715355934,0.441801367586,0.441887375178,0.441973378707,0.442059378174,0.442145373578,0.442231364918,0.442317352192,0.442403335401,0.442489314544,0.442575289619,0.442661260626,0.442747227565,0.442833190433,0.442919149232,0.443005103959,0.443091054614,0.443177001196,0.443262943705,0.443348882139,0.443434816498,0.443520746781,0.443606672988,0.443692595117,0.443778513167,0.443864427139,0.44395033703,0.444036242841,0.44412214457,0.444208042218,0.444293935782,0.444379825262,0.444465710657,0.444551591967,0.444637469191,0.444723342328,0.444809211377,0.444895076338,0.444980937209,0.44506679399,0.44515264668,0.445238495278,0.445324339783,0.445410180196,0.445496016514,0.445581848737,0.445667676865,0.445753500896,0.44583932083,0.445925136666,0.446010948403,0.44609675604,0.446182559577,0.446268359013,0.446354154346,0.446439945577,0.446525732705,0.446611515728,0.446697294645,0.446783069457,0.446868840162,0.44695460676,0.447040369249,0.447126127629,0.4472118819,0.447297632059,0.447383378108,0.447469120043,0.447554857866,0.447640591575,0.44772632117,0.447812046649,0.447897768012,0.447983485257,0.448069198386,0.448154907395,0.448240612285,0.448326313055,0.448412009704,0.448497702232,0.448583390637,0.448669074918,0.448754755076,0.448840431109,0.448926103016,0.449011770796,0.44909743445,0.449183093975,0.449268749372,0.449354400639,0.449440047776,0.449525690781,0.449611329655,0.449696964395,0.449782595003,0.449868221476,0.449953843814,0.450039462016,0.450125076081,0.450210686009,0.450296291799,0.450381893449,0.45046749096,0.45055308433,0.450638673559,0.450724258646,0.45080983959,0.45089541639,0.450980989045,0.451066557555,0.451152121919,0.451237682136,0.451323238206,0.451408790127,0.451494337898,0.45157988152,0.451665420991,0.45175095631,0.451836487477,0.451922014491,0.45200753735,0.452093056055,0.452178570605,0.452264080998,0.452349587234,0.452435089312,0.452520587231,0.452606080991,0.452691570591,0.452777056029,0.452862537306,0.45294801442,0.453033487371,0.453118956157,0.453204420779,0.453289881235,0.453375337524,0.453460789646,0.4535462376,0.453631681385,0.453717121,0.453802556445,0.453887987718,0.45397341482,0.454058837749,0.454144256504,0.454229671084,0.45431508149,0.454400487719,0.454485889772,0.454571287647,0.454656681344,0.454742070862,0.4548274562,0.454912837357,0.454998214333,0.455083587126,0.455168955737,0.455254320163,0.455339680406,0.455425036462,0.455510388333,0.455595736016,0.455681079512,0.455766418819,0.455851753937,0.455937084865,0.456022411602,0.456107734148,0.456193052501,0.45627836666,0.456363676626,0.456448982397,0.456534283972,0.456619581351,0.456704874533,0.456790163517,0.456875448302,0.456960728888,0.457046005273,0.457131277457,0.45721654544,0.457301809219,0.457387068796,0.457472324168,0.457557575335,0.457642822297,0.457728065051,0.457813303599,0.457898537938,0.457983768069,0.45806899399,0.4581542157,0.458239433199,0.458324646486,0.45840985556,0.458495060421,0.458580261067,0.458665457498,0.458750649713,0.458835837712,0.458921021492,0.459006201055,0.459091376398,0.459176547522,0.459261714425,0.459346877106,0.459432035566,0.459517189802,0.459602339814,0.459687485602,0.459772627165,0.459857764501,0.459942897611,0.460028026493,0.460113151146,0.46019827157,0.460283387764,0.460368499727,0.460453607459,0.460538710958,0.460623810224,0.460708905256,0.460793996054,0.460879082616,0.460964164941,0.46104924303,0.46113431688,0.461219386492,0.461304451865,0.461389512997,0.461474569888,0.461559622538,0.461644670945,0.461729715108,0.461814755028,0.461899790702,0.461984822131,0.462069849314,0.462154872249,0.462239890936,0.462324905375,0.462409915563,0.462494921502,0.462579923189,0.462664920624,0.462749913807,0.462834902736,0.462919887411,0.463004867831,0.463089843995,0.463174815902,0.463259783552,0.463344746944,0.463429706076,0.463514660949,0.463599611562,0.463684557913,0.463769500002,0.463854437828,0.463939371391,0.464024300689,0.464109225722,0.464194146489,0.464279062989,0.464363975222,0.464448883186,0.464533786881,0.464618686306,0.464703581461,0.464788472344,0.464873358955,0.464958241293,0.465043119357,0.465127993146,0.46521286266,0.465297727898,0.46538258886,0.465467445543,0.465552297948,0.465637146073,0.465721989919,0.465806829484,0.465891664767,0.465976495768,0.466061322486,0.466146144919,0.466230963068,0.466315776932,0.466400586509,0.466485391799,0.466570192802,0.466654989516,0.46673978194,0.466824570074,0.466909353917,0.466994133469,0.467078908728,0.467163679694,0.467248446365,0.467333208742,0.467417966823,0.467502720608,0.467587470095,0.467672215285,0.467756956176,0.467841692767,0.467926425058,0.468011153048,0.468095876736,0.468180596122,0.468265311204,0.468350021982,0.468434728455,0.468519430622,0.468604128483,0.468688822036,0.468773511281,0.468858196217,0.468942876844,0.46902755316,0.469112225165,0.469196892859,0.469281556239,0.469366215306,0.469450870058,0.469535520496,0.469620166617,0.469704808422,0.46978944591,0.469874079079,0.469958707929,0.47004333246,0.47012795267,0.470212568558,0.470297180125,0.470381787369,0.470466390289,0.470550988884,0.470635583155,0.470720173099,0.470804758717,0.470889340007,0.470973916969,0.471058489601,0.471143057904,0.471227621877,0.471312181517,0.471396736826,0.471481287802,0.471565834443,0.471650376751,0.471734914723,0.471819448359,0.471903977658,0.471988502619,0.472073023242,0.472157539526,0.47224205147,0.472326559073,0.472411062335,0.472495561254,0.47258005583,0.472664546063,0.47274903195,0.472833513493,0.472917990689,0.473002463538,0.473086932039,0.473171396192,0.473255855996,0.47334031145,0.473424762552,0.473509209303,0.473593651702,0.473678089748,0.473762523439,0.473846952776,0.473931377757,0.474015798383,0.474100214651,0.474184626561,0.474269034112,0.474353437305,0.474437836137,0.474522230608,0.474606620717,0.474691006464,0.474775387848,0.474859764868,0.474944137522,0.475028505812,0.475112869735,0.47519722929,0.475281584478,0.475365935297,0.475450281747,0.475534623827,0.475618961535,0.475703294872,0.475787623836,0.475871948427,0.475956268643,0.476040584485,0.476124895951,0.476209203041,0.476293505753,0.476377804088,0.476462098044,0.47654638762,0.476630672816,0.47671495363,0.476799230063,0.476883502114,0.47696776978,0.477052033063,0.477136291961,0.477220546473,0.477304796598,0.477389042337,0.477473283687,0.477557520648,0.47764175322,0.477725981401,0.477810205191,0.477894424589,0.477978639595,0.478062850207,0.478147056425,0.478231258248,0.478315455675,0.478399648705,0.478483837338,0.478568021573,0.478652201409,0.478736376845,0.478820547881,0.478904714516,0.478988876749,0.479073034579,0.479157188005,0.479241337027,0.479325481644,0.479409621856,0.47949375766,0.479577889057,0.479662016046,0.479746138626,0.479830256797,0.479914370556,0.479998479905,0.480082584841,0.480166685365,0.480250781475,0.480334873171,0.480418960451,0.480503043316,0.480587121764,0.480671195795,0.480755265407,0.4808393306,0.480923391374,0.481007447727,0.481091499659,0.481175547168,0.481259590255,0.481343628918,0.481427663157,0.48151169297,0.481595718358,0.481679739319,0.481763755852,0.481847767957,0.481931775633,0.482015778879,0.482099777695,0.482183772079,0.482267762031,0.482351747551,0.482435728636,0.482519705287,0.482603677503,0.482687645283,0.482771608626,0.482855567532,0.482939521999,0.483023472027,0.483107417616,0.483191358763,0.48327529547,0.483359227734,0.483443155555,0.483527078933,0.483610997866,0.483694912354,0.483778822396,0.483862727991,0.483946629138,0.484030525837,0.484114418087,0.484198305888,0.484282189237,0.484366068135,0.484449942581,0.484533812574,0.484617678113,0.484701539198,0.484785395827,0.484869248001,0.484953095717,0.485036938976,0.485120777777,0.485204612119,0.485288442,0.485372267421,0.485456088381,0.485539904878,0.485623716912,0.485707524483,0.485791327589,0.48587512623,0.485958920404,0.486042710112,0.486126495353,0.486210276124,0.486294052427,0.48637782426,0.486461591622,0.486545354513,0.486629112932,0.486712866877,0.486796616349,0.486880361346,0.486964101868,0.487047837914,0.487131569483,0.487215296574,0.487299019187,0.487382737321,0.487466450975,0.487550160148,0.48763386484,0.48771756505,0.487801260776,0.487884952019,0.487968638778,0.488052321051,0.488135998838,0.488219672138,0.48830334095,0.488387005274,0.488470665109,0.488554320454,0.488637971309,0.488721617671,0.488805259542,0.48888889692,0.488972529804,0.489056158193,0.489139782087,0.489223401485,0.489307016386,0.48939062679,0.489474232695,0.489557834101,0.489641431007,0.489725023413,0.489808611317,0.489892194719,0.489975773617,0.490059348012,0.490142917903,0.490226483288,0.490310044167,0.49039360054,0.490477152405,0.490560699761,0.490644242608,0.490727780946,0.490811314773,0.490894844088,0.490978368891,0.491061889181,0.491145404957,0.491228916219,0.491312422966,0.491395925197,0.49147942291,0.491562916107,0.491646404784,0.491729888943,0.491813368582,0.4918968437,0.491980314297,0.492063780372,0.492147241923,0.492230698951,0.492314151455,0.492397599433,0.492481042886,0.492564481811,0.492647916209,0.492731346079,0.492814771419,0.49289819223,0.49298160851,0.493065020259,0.493148427475,0.493231830159,0.493315228309,0.493398621924,0.493482011004,0.493565395549,0.493648775556,0.493732151026,0.493815521958,0.493898888351,0.493982250204,0.494065607516,0.494148960287,0.494232308516,0.494315652202,0.494398991344,0.494482325942,0.494565655995,0.494648981502,0.494732302462,0.494815618875,0.494898930739,0.494982238054,0.49506554082,0.495148839035,0.495232132699,0.495315421811,0.49539870637,0.495481986375,0.495565261826,0.495648532722,0.495731799061,0.495815060845,0.495898318071,0.495981570738,0.496064818847,0.496148062396,0.496231301384,0.496314535811,0.496397765677,0.496480990979,0.496564211718,0.496647427893,0.496730639502,0.496813846546,0.496897049023,0.496980246932,0.497063440274,0.497146629046,0.497229813249,0.497312992882,0.497396167943,0.497479338433,0.497562504349,0.497645665692,0.497728822461,0.497811974655,0.497895122273,0.497978265315,0.498061403779,0.498144537665,0.498227666973,0.498310791701,0.498393911848,0.498477027414,0.498560138399,0.4986432448,0.498726346619,0.498809443853,0.498892536502,0.498975624565,0.499058708042,0.499141786932,0.499224861234,0.499307930946,0.49939099607,0.499474056603,0.499557112545,0.499640163895,0.499723210653,0.499806252817,0.499889290387,0.499972323363,0.500055351742,0.500138375526,0.500221394712,0.5003044093,0.50038741929,0.50047042468,0.500553425469,0.500636421658,0.500719413245,0.50080240023,0.500885382611,0.500968360389,0.501051333561,0.501134302128,0.501217266089,0.501300225442,0.501383180188,0.501466130325,0.501549075853,0.50163201677,0.501714953077,0.501797884772,0.501880811855,0.501963734324,0.50204665218,0.50212956542,0.502212474046,0.502295378055,0.502378277447,0.502461172221,0.502544062377,0.502626947914,0.50270982883,0.502792705126,0.5028755768,0.502958443852,0.503041306281,0.503124164086,0.503207017266,0.503289865821,0.50337270975,0.503455549051,0.503538383726,0.503621213772,0.503704039188,0.503786859975,0.503869676131,0.503952487655,0.504035294548,0.504118096807,0.504200894433,0.504283687424,0.50436647578,0.504449259499,0.504532038582,0.504614813028,0.504697582835,0.504780348003,0.504863108531,0.504945864419,0.505028615665,0.505111362269,0.505194104231,0.505276841548,0.505359574222,0.50544230225,0.505525025632,0.505607744367,0.505690458455,0.505773167895,0.505855872686,0.505938572827,0.506021268318,0.506103959158,0.506186645345,0.50626932688,0.506352003761,0.506434675988,0.50651734356,0.506600006476,0.506682664736,0.506765318338,0.506847967282,0.506930611567,0.507013251193,0.507095886158,0.507178516462,0.507261142105,0.507343763084,0.507426379401,0.507508991053,0.50759159804,0.507674200362,0.507756798017,0.507839391005,0.507921979325,0.508004562976,0.508087141958,0.50816971627,0.50825228591,0.508334850879,0.508417411175,0.508499966799,0.508582517748,0.508665064022,0.508747605621,0.508830142543,0.508912674789,0.508995202356,0.509077725245,0.509160243455,0.509242756984,0.509325265833,0.50940777,0.509490269485,0.509572764287,0.509655254404,0.509737739837,0.509820220585,0.509902696647,0.509985168021,0.510067634708,0.510150096707,0.510232554016,0.510315006635,0.510397454564,0.510479897801,0.510562336346,0.510644770198,0.510727199357,0.51080962382,0.510892043589,0.510974458661,0.511056869037,0.511139274715,0.511221675695,0.511304071976,0.511386463557,0.511468850438,0.511551232617,0.511633610094,0.511715982869,0.511798350939,0.511880714306,0.511963072967,0.512045426923,0.512127776172,0.512210120713,0.512292460546,0.512374795671,0.512457126086,0.51253945179,0.512621772783,0.512704089065,0.512786400634,0.512868707489,0.51295100963,0.513033307056,0.513115599767,0.513197887761,0.513280171038,0.513362449596,0.513444723437,0.513526992557,0.513609256958,0.513691516637,0.513773771595,0.51385602183,0.513938267342,0.51402050813,0.514102744193,0.514184975531,0.514267202142,0.514349424027,0.514431641183,0.514513853611,0.51459606131,0.514678264279,0.514760462517,0.514842656023,0.514924844797,0.515007028838,0.515089208145,0.515171382717,0.515253552554,0.515335717655,0.515417878019,0.515500033646,0.515582184534,0.515664330683,0.515746472092,0.515828608761,0.515910740688,0.515992867873,0.516074990315,0.516157108014,0.516239220968,0.516321329177,0.51640343264,0.516485531356,0.516567625325,0.516649714546,0.516731799018,0.51681387874,0.516895953711,0.516978023932,0.5170600894,0.517142150116,0.517224206079,0.517306257287,0.51738830374,0.517470345437,0.517552382378,0.517634414562,0.517716441988,0.517798464655,0.517880482562,0.51796249571,0.518044504096,0.518126507721,0.518208506583,0.518290500681,0.518372490016,0.518454474586,0.518536454391,0.518618429429,0.5187003997,0.518782365203,0.518864325938,0.518946281904,0.519028233099,0.519110179524,0.519192121177,0.519274058058,0.519355990166,0.5194379175,0.519519840059,0.519601757843,0.519683670851,0.519765579082,0.519847482536,0.519929381211,0.520011275108,0.520093164224,0.52017504856,0.520256928114,0.520338802887,0.520420672876,0.520502538082,0.520584398504,0.52066625414,0.520748104991,0.520829951055,0.520911792332,0.52099362882,0.52107546052,0.52115728743,0.52123910955,0.521320926879,0.521402739415,0.521484547159,0.52156635011,0.521648148267,0.521729941629,0.521811730195,0.521893513965,0.521975292937,0.522057067112,0.522138836488,0.522220601065,0.522302360841,0.522384115817,0.522465865991,0.522547611363,0.522629351931,0.522711087696,0.522792818656,0.52287454481,0.522956266159,0.5230379827,0.523119694434,0.523201401359,0.523283103476,0.523364800782,0.523446493278,0.523528180962,0.523609863834,0.523691541893,0.523773215139,0.52385488357,0.523936547186,0.524018205986,0.52409985997,0.524181509136,0.524263153484,0.524344793013,0.524426427722,0.524508057611,0.524589682678,0.524671302924,0.524752918347,0.524834528947,0.524916134723,0.524997735673,0.525079331798,0.525160923097,0.525242509568,0.525324091212,0.525405668026,0.525487240012,0.525568807167,0.525650369491,0.525731926984,0.525813479644,0.525895027471,0.525976570464,0.526058108623,0.526139641946,0.526221170433,0.526302694083,0.526384212895,0.526465726869,0.526547236004,0.526628740298,0.526710239753,0.526791734365,0.526873224136,0.526954709064,0.527036189148,0.527117664387,0.527199134782,0.52728060033,0.527362061032,0.527443516887,0.527524967893,0.527606414051,0.527687855359,0.527769291816,0.527850723423,0.527932150177,0.528013572079,0.528094989127,0.528176401321,0.528257808661,0.528339211145,0.528420608772,0.528502001542,0.528583389455,0.528664772508,0.528746150703,0.528827524037,0.52890889251,0.528990256122,0.529071614872,0.529152968758,0.52923431778,0.529315661938,0.52939700123,0.529478335657,0.529559665216,0.529640989908,0.529722309732,0.529803624686,0.529884934771,0.529966239985,0.530047540328,0.530128835798,0.530210126396,0.53029141212,0.53037269297,0.530453968945,0.530535240044,0.530616506266,0.530697767612,0.530779024079,0.530860275667,0.530941522376,0.531022764204,0.531104001151,0.531185233217,0.5312664604,0.5313476827,0.531428900115,0.531510112646,0.531591320292,0.531672523051,0.531753720923,0.531834913907,0.531916102003,0.531997285209,0.532078463526,0.532159636952,0.532240805486,0.532321969128,0.532403127877,0.532484281733,0.532565430693,0.532646574759,0.532727713929,0.532808848202,0.532889977577,0.532971102054,0.533052221633,0.533133336311,0.533214446089,0.533295550966,0.533376650941,0.533457746014,0.533538836183,0.533619921447,0.533701001807,0.533782077261,0.533863147809,0.53394421345,0.534025274182,0.534106330006,0.534187380921,0.534268426926,0.534349468019,0.534430504201,0.534511535471,0.534592561827,0.53467358327,0.534754599798,0.534835611411,0.534916618107,0.534997619887,0.535078616749,0.535159608693,0.535240595718,0.535321577823,0.535402555007,0.53548352727,0.535564494611,0.53564545703,0.535726414524,0.535807367095,0.53588831474,0.53596925746,0.536050195253,0.536131128119,0.536212056057,0.536292979066,0.536373897146,0.536454810295,0.536535718513,0.5366166218,0.536697520154,0.536778413575,0.536859302062,0.536940185615,0.537021064232,0.537101937913,0.537182806656,0.537263670463,0.53734452933,0.537425383259,0.537506232248,0.537587076296,0.537667915402,0.537748749567,0.537829578789,0.537910403067,0.5379912224,0.538072036789,0.538152846232,0.538233650728,0.538314450277,0.538395244877,0.538476034529,0.538556819232,0.538637598984,0.538718373785,0.538799143634,0.538879908531,0.538960668474,0.539041423464,0.539122173499,0.539202918578,0.539283658701,0.539364393867,0.539445124075,0.539525849325,0.539606569616,0.539687284946,0.539767995316,0.539848700725,0.539929401171,0.540010096655,0.540090787174,0.54017147273,0.54025215332,0.540332828945,0.540413499602,0.540494165293,0.540574826015,0.540655481768,0.540736132552,0.540816778366,0.540897419208,0.540978055079,0.541058685977,0.541139311902,0.541219932853,0.541300548828,0.541381159829,0.541461765853,0.5415423669,0.54162296297,0.541703554061,0.541784140172,0.541864721304,0.541945297455,0.542025868625,0.542106434812,0.542186996017,0.542267552238,0.542348103474,0.542428649726,0.542509190991,0.54258972727,0.542670258561,0.542750784865,0.542831306179,0.542911822504,0.542992333838,0.543072840182,0.543153341534,0.543233837893,0.543314329258,0.54339481563,0.543475297007,0.543555773389,0.543636244774,0.543716711162,0.543797172553,0.543877628945,0.543958080338,0.544038526731,0.544118968123,0.544199404514,0.544279835903,0.544360262288,0.544440683671,0.544521100048,0.544601511421,0.544681917788,0.544762319148,0.544842715501,0.544923106845,0.545003493181,0.545083874508,0.545164250824,0.545244622129,0.545324988422,0.545405349703,0.54548570597,0.545566057224,0.545646403463,0.545726744686,0.545807080893,0.545887412083,0.545967738256,0.54604805941,0.546128375545,0.54620868666,0.546288992754,0.546369293827,0.546449589878,0.546529880906,0.546610166911,0.546690447891,0.546770723846,0.546850994775,0.546931260678,0.547011521554,0.547091777401,0.54717202822,0.547252274009,0.547332514768,0.547412750496,0.547492981193,0.547573206857,0.547653427487,0.547733643084,0.547813853646,0.547894059173,0.547974259664,0.548054455118,0.548134645534,0.548214830912,0.54829501125,0.548375186549,0.548455356808,0.548535522025,0.5486156822,0.548695837333,0.548775987421,0.548856132466,0.548936272466,0.54901640742,0.549096537327,0.549176662188,0.549256782,0.549336896764,0.549417006478,0.549497111143,0.549577210756,0.549657305318,0.549737394827,0.549817479284,0.549897558687,0.549977633035,0.550057702327,0.550137766564,0.550217825744,0.550297879867,0.550377928931,0.550457972937,0.550538011882,0.550618045768,0.550698074592,0.550778098354,0.550858117053,0.55093813069,0.551018139262,0.551098142769,0.551178141211,0.551258134586,0.551338122894,0.551418106135,0.551498084307,0.55157805741,0.551658025443,0.551737988405,0.551817946295,0.551897899114,0.551977846859,0.552057789531,0.552137727129,0.552217659651,0.552297587097,0.552377509467,0.55245742676,0.552537338974,0.55261724611,0.552697148166,0.552777045142,0.552856937036,0.552936823849,0.55301670558,0.553096582227,0.553176453791,0.55325632027,0.553336181663,0.55341603797,0.55349588919,0.553575735323,0.553655576367,0.553735412323,0.553815243188,0.553895068963,0.553974889647,0.554054705238,0.554134515737,0.554214321142,0.554294121454,0.55437391667,0.55445370679,0.554533491814,0.554613271741,0.55469304657,0.554772816301,0.554852580932,0.554932340463,0.555012094893,0.555091844222,0.555171588448,0.555251327571,0.555331061591,0.555410790506,0.555490514316,0.55557023302,0.555649946617,0.555729655107,0.555809358488,0.555889056761,0.555968749924,0.556048437977,0.556128120919,0.556207798749,0.556287471466,0.55636713907,0.55644680156,0.556526458936,0.556606111196,0.556685758339,0.556765400366,0.556845037275,0.556924669066,0.557004295737,0.557083917289,0.55716353372,0.55724314503,0.557322751218,0.557402352283,0.557481948224,0.557561539041,0.557641124733,0.5577207053,0.55780028074,0.557879851053,0.557959416237,0.558038976294,0.558118531221,0.558198081017,0.558277625683,0.558357165218,0.55843669962,0.558516228889,0.558595753024,0.558675272025,0.55875478589,0.55883429462,0.558913798213,0.558993296668,0.559072789986,0.559152278164,0.559231761203,0.559311239102,0.559390711859,0.559470179475,0.559549641948,0.559629099278,0.559708551464,0.559787998505,0.559867440401,0.55994687715,0.560026308753,0.560105735208,0.560185156514,0.560264572672,0.56034398368,0.560423389537,0.560502790242,0.560582185796,0.560661576197,0.560740961445,0.560820341538,0.560899716477,0.560979086259,0.561058450886,0.561137810355,0.561217164666,0.561296513819,0.561375857813,0.561455196646,0.561534530319,0.56161385883,0.561693182179,0.561772500365,0.561851813387,0.561931121245,0.562010423937,0.562089721464,0.562169013824,0.562248301017,0.562327583042,0.562406859898,0.562486131584,0.562565398101,0.562644659446,0.562723915619,0.56280316662,0.562882412448,0.562961653102,0.563040888582,0.563120118886,0.563199344014,0.563278563965,0.563357778739,0.563436988334,0.56351619275,0.563595391987,0.563674586043,0.563753774918,0.563832958611,0.563912137122,0.563991310449,0.564070478592,0.56414964155,0.564228799323,0.564307951909,0.564387099309,0.564466241521,0.564545378544,0.564624510378,0.564703637022,0.564782758476,0.564861874738,0.564940985808,0.565020091685,0.565099192369,0.565178287858,0.565257378153,0.565336463251,0.565415543154,0.565494617859,0.565573687366,0.565652751674,0.565731810784,0.565810864693,0.565889913401,0.565968956908,0.566047995212,0.566127028314,0.566206056212,0.566285078905,0.566364096393,0.566443108675,0.566522115751,0.566601117619,0.56668011428,0.566759105731,0.566838091973,0.566917073004,0.566996048825,0.567075019434,0.567153984831,0.567232945014,0.567311899983,0.567390849738,0.567469794278,0.567548733601,0.567627667708,0.567706596597,0.567785520268,0.56786443872,0.567943351952,0.568022259964,0.568101162755,0.568180060324,0.56825895267,0.568337839793,0.568416721692,0.568495598366,0.568574469815,0.568653336037,0.568732197033,0.568811052801,0.56888990334,0.568968748651,0.569047588731,0.569126423581,0.5692052532,0.569284077586,0.56936289674,0.569441710661,0.569520519347,0.569599322798,0.569678121014,0.569756913993,0.569835701736,0.56991448424,0.569993261506,0.570072033533,0.570150800319,0.570229561865,0.57030831817,0.570387069232,0.570465815052,0.570544555628,0.57062329096,0.570702021046,0.570780745887,0.570859465481,0.570938179828,0.571016888928,0.571095592778,0.571174291379,0.57125298473,0.57133167283,0.571410355679,0.571489033275,0.571567705618,0.571646372708,0.571725034543,0.571803691123,0.571882342447,0.571960988515,0.572039629325,0.572118264877,0.57219689517,0.572275520204,0.572354139977,0.57243275449,0.572511363741,0.572589967729,0.572668566454,0.572747159916,0.572825748113,0.572904331045,0.57298290871,0.573061481109,0.57314004824,0.573218610104,0.573297166698,0.573375718023,0.573454264077,0.57353280486,0.573611340372,0.573689870611,0.573768395577,0.573846915269,0.573925429686,0.574003938827,0.574082442693,0.574160941282,0.574239434593,0.574317922626,0.57439640538,0.574474882854,0.574553355048,0.57463182196,0.574710283591,0.574788739939,0.574867191004,0.574945636784,0.57502407728,0.575102512491,0.575180942415,0.575259367052,0.575337786402,0.575416200463,0.575494609235,0.575573012717,0.575651410909,0.575729803809,0.575808191418,0.575886573734,0.575964950756,0.576043322484,0.576121688917,0.576200050055,0.576278405897,0.576356756441,0.576435101688,0.576513441636,0.576591776285,0.576670105634,0.576748429682,0.57682674843,0.576905061875,0.576983370017,0.577061672856,0.57713997039,0.57721826262,0.577296549544,0.577374831161,0.577453107472,0.577531378474,0.577609644168,0.577687904553,0.577766159628,0.577844409392,0.577922653845,0.578000892985,0.578079126813,0.578157355327,0.578235578527,0.578313796412,0.578392008981,0.578470216233,0.578548418169,0.578626614786,0.578704806085,0.578782992065,0.578861172724,0.578939348063,0.57901751808,0.579095682775,0.579173842148,0.579251996196,0.57933014492,0.579408288319,0.579486426393,0.579564559139,0.579642686559,0.579720808651,0.579798925413,0.579877036847,0.57995514295,0.580033243723,0.580111339164,0.580189429273,0.580267514049,0.580345593491,0.580423667598,0.580501736371,0.580579799808,0.580657857908,0.580735910671,0.580813958096,0.580892000182,0.580970036929,0.581048068335,0.581126094401,0.581204115125,0.581282130507,0.581360140546,0.581438145241,0.581516144591,0.581594138597,0.581672127256,0.581750110569,0.581828088535,0.581906061153,0.581984028421,0.582061990341,0.58213994691,0.582217898128,0.582295843995,0.582373784509,0.58245171967,0.582529649478,0.582607573931,0.582685493029,0.582763406771,0.582841315156,0.582919218184,0.582997115853,0.583075008164,0.583152895116,0.583230776707,0.583308652938,0.583386523806,0.583464389313,0.583542249456,0.583620104236,0.583697953651,0.5837757977,0.583853636384,0.583931469701,0.584009297651,0.584087120233,0.584164937446,0.584242749289,0.584320555762,0.584398356864,0.584476152595,0.584553942953,0.584631727938,0.584709507549,0.584787281786,0.584865050648,0.584942814133,0.585020572242,0.585098324973,0.585176072327,0.585253814301,0.585331550896,0.585409282111,0.585487007945,0.585564728397,0.585642443467,0.585720153154,0.585797857456,0.585875556375,0.585953249908,0.586030938055,0.586108620815,0.586186298189,0.586263970174,0.58634163677,0.586419297976,0.586496953793,0.586574604218,0.586652249252,0.586729888893,0.586807523142,0.586885151996,0.586962775456,0.587040393521,0.58711800619,0.587195613462,0.587273215337,0.587350811813,0.587428402891,0.587505988569,0.587583568848,0.587661143725,0.5877387132,0.587816277273,0.587893835943,0.58797138921,0.588048937072,0.588126479528,0.588204016579,0.588281548223,0.588359074459,0.588436595288,0.588514110708,0.588591620718,0.588669125318,0.588746624507,0.588824118285,0.58890160665,0.588979089602,0.58905656714,0.589134039264,0.589211505973,0.589288967265,0.589366423141,0.5894438736,0.589521318641,0.589598758263,0.589676192466,0.589753621248,0.589831044609,0.589908462549,0.589985875067,0.590063282161,0.590140683832,0.590218080079,0.5902954709,0.590372856295,0.590450236264,0.590527610805,0.590604979919,0.590682343604,0.590759701859,0.590837054684,0.590914402078,0.590991744041,0.591069080572,0.591146411669,0.591223737333,0.591301057562,0.591378372357,0.591455681715,0.591532985637,0.591610284122,0.591687577169,0.591764864777,0.591842146946,0.591919423674,0.591996694962,0.592073960808,0.592151221212,0.592228476174,0.592305725691,0.592382969764,0.592460208393,0.592537441575,0.592614669311,0.5926918916,0.59276910844,0.592846319833,0.592923525776,0.593000726268,0.593077921311,0.593155110901,0.59323229504,0.593309473725,0.593386646958,0.593463814735,0.593540977058,0.593618133925,0.593695285336,0.59377243129,0.593849571785,0.593926706823,0.594003836401,0.594080960519,0.594158079176,0.594235192372,0.594312300106,0.594389402377,0.594466499185,0.594543590528,0.594620676407,0.594697756819,0.594774831766,0.594851901245,0.594928965257,0.5950060238,0.595083076875,0.595160124479,0.595237166612,0.595314203275,0.595391234465,0.595468260183,0.595545280427,0.595622295197,0.595699304492,0.595776308312,0.595853306656,0.595930299522,0.596007286911,0.596084268822,0.596161245253,0.596238216205,0.596315181676,0.596392141666,0.596469096174,0.596546045199,0.596622988741,0.596699926799,0.596776859373,0.59685378646,0.596930708062,0.597007624177,0.597084534804,0.597161439943,0.597238339593,0.597315233754,0.597392122424,0.597469005603,0.59754588329,0.597622755484,0.597699622186,0.597776483393,0.597853339106,0.597930189323,0.598007034045,0.598083873269,0.598160706996,0.598237535225,0.598314357955,0.598391175186,0.598467986916,0.598544793146,0.598621593873,0.598698389098,0.59877517882,0.598851963039,0.598928741752,0.599005514961,0.599082282664,0.59915904486,0.599235801548,0.599312552729,0.599389298401,0.599466038563,0.599542773215,0.599619502356,0.599696225986,0.599772944104,0.599849656708,0.599926363799,0.600003065375,0.600079761437,0.600156451982,0.600233137011,0.600309816523,0.600386490517,0.600463158992,0.600539821948,0.600616479384,0.600693131299,0.600769777693,0.600846418564,0.600923053913,0.600999683738,0.601076308039,0.601152926815,0.601229540065,0.601306147789,0.601382749986,0.601459346655,0.601535937795,0.601612523407,0.601689103488,0.601765678039,0.601842247059,0.601918810546,0.601995368501,0.602071920922,0.60214846781,0.602225009162,0.602301544979,0.60237807526,0.602454600004,0.60253111921,0.602607632878,0.602684141007,0.602760643596,0.602837140644,0.602913632152,0.602990118117,0.60306659854,0.60314307342,0.603219542756,0.603296006547,0.603372464793,0.603448917493,0.603525364646,0.603601806251,0.603678242308,0.603754672817,0.603831097776,0.603907517184,0.603983931042,0.604060339348,0.604136742101,0.604213139302,0.604289530948,0.60436591704,0.604442297577,0.604518672558,0.604595041983,0.60467140585,0.604747764159,0.604824116909,0.6049004641,0.604976805731,0.605053141801,0.605129472309,0.605205797255,0.605282116639,0.605358430459,0.605434738714,0.605511041404,0.605587338529,0.605663630087,0.605739916078,0.605816196502,0.605892471356,0.605968740642,0.606045004357,0.606121262502,0.606197515076,0.606273762077,0.606350003506,0.606426239361,0.606502469643,0.606578694349,0.60665491348,0.606731127035,0.606807335012,0.606883537412,0.606959734234,0.607035925476,0.607112111139,0.607188291222,0.607264465723,0.607340634643,0.607416797979,0.607492955733,0.607569107903,0.607645254488,0.607721395488,0.607797530901,0.607873660728,0.607949784968,0.608025903619,0.608102016682,0.608178124155,0.608254226037,0.608330322329,0.608406413029,0.608482498137,0.608558577652,0.608634651573,0.608710719899,0.608786782631,0.608862839766,0.608938891305,0.609014937247,0.609090977591,0.609167012336,0.609243041482,0.609319065028,0.609395082973,0.609471095317,0.609547102059,0.609623103198,0.609699098733,0.609775088664,0.60985107299,0.60992705171,0.610003024825,0.610078992332,0.610154954231,0.610230910522,0.610306861204,0.610382806276,0.610458745738,0.610534679588,0.610610607827,0.610686530453,0.610762447465,0.610838358864,0.610914264648,0.610990164816,0.611066059369,0.611141948304,0.611217831622,0.611293709322,0.611369581403,0.611445447865,0.611521308706,0.611597163926,0.611673013525,0.611748857501,0.611824695854,0.611900528584,0.611976355689,0.612052177169,0.612127993022,0.61220380325,0.61227960785,0.612355406822,0.612431200166,0.61250698788,0.612582769964,0.612658546417,0.61273431724,0.612810082429,0.612885841986,0.61296159591,0.613037344199,0.613113086854,0.613188823873,0.613264555255,0.613340281001,0.613416001109,0.613491715578,0.613567424408,0.613643127599,0.613718825149,0.613794517058,0.613870203325,0.61394588395,0.614021558931,0.614097228268,0.614172891961,0.614248550008,0.61432420241,0.614399849164,0.614475490271,0.61455112573,0.61462675554,0.614702379701,0.614777998211,0.614853611071,0.614929218279,0.615004819834,0.615080415737,0.615156005986,0.615231590581,0.61530716952,0.615382742804,0.615458310431,0.615533872401,0.615609428713,0.615684979367,0.615760524361,0.615836063696,0.61591159737,0.615987125382,0.616062647733,0.616138164421,0.616213675445,0.616289180805,0.616364680501,0.616440174531,0.616515662895,0.616591145592,0.616666622621,0.616742093982,0.616817559674,0.616893019697,0.616968474049,0.61704392273,0.617119365739,0.617194803076,0.61727023474,0.61734566073,0.617421081045,0.617496495686,0.61757190465,0.617647307938,0.617722705548,0.617798097481,0.617873483735,0.617948864309,0.618024239204,0.618099608417,0.61817497195,0.6182503298,0.618325681967,0.618401028451,0.61847636925,0.618551704365,0.618627033794,0.618702357537,0.618777675593,0.618852987961,0.618928294641,0.619003595631,0.619078890932,0.619154180543,0.619229464462,0.61930474269,0.619380015225,0.619455282067,0.619530543215,0.619605798668,0.619681048426,0.619756292488,0.619831530854,0.619906763522,0.619981990492,0.620057211763,0.620132427335,0.620207637207,0.620282841378,0.620358039847,0.620433232614,0.620508419679,0.620583601039,0.620658776696,0.620733946647,0.620809110893,0.620884269433,0.620959422265,0.62103456939,0.621109710806,0.621184846514,0.621259976511,0.621335100798,0.621410219374,0.621485332238,0.621560439389,0.621635540827,0.621710636551,0.621785726561,0.621860810855,0.621935889433,0.622010962295,0.622086029439,0.622161090865,0.622236146572,0.62231119656,0.622386240827,0.622461279374,0.622536312199,0.622611339302,0.622686360683,0.622761376339,0.622836386271,0.622911390479,0.62298638896,0.623061381715,0.623136368744,0.623211350044,0.623286325616,0.623361295459,0.623436259572,0.623511217955,0.623586170606,0.623661117526,0.623736058713,0.623810994166,0.623885923886,0.623960847871,0.624035766121,0.624110678635,0.624185585412,0.624260486452,0.624335381754,0.624410271317,0.62448515514,0.624560033224,0.624634905566,0.624709772168,0.624784633026,0.624859488142,0.624934337515,0.625009181143,0.625084019026,0.625158851164,0.625233677555,0.625308498199,0.625383313096,0.625458122244,0.625532925643,0.625607723292,0.625682515191,0.625757301339,0.625832081735,0.625906856378,0.625981625268,0.626056388404,0.626131145786,0.626205897412,0.626280643283,0.626355383397,0.626430117753,0.626504846352,0.626579569192,0.626654286272,0.626728997592,0.626803703152,0.62687840295,0.626953096986,0.627027785259,0.627102467769,0.627177144515,0.627251815495,0.62732648071,0.627401140159,0.627475793841,0.627550441755,0.627625083901,0.627699720278,0.627774350885,0.627848975722,0.627923594788,0.627998208082,0.628072815604,0.628147417352,0.628222013327,0.628296603527,0.628371187953,0.628445766602,0.628520339475,0.62859490657,0.628669467888,0.628744023427,0.628818573186,0.628893117166,0.628967655365,0.629042187783,0.629116714419,0.629191235272,0.629265750341,0.629340259627,0.629414763128,0.629489260843,0.629563752772,0.629638238915,0.62971271927,0.629787193837,0.629861662614,0.629936125603,0.630010582801,0.630085034208,0.630159479824,0.630233919647,0.630308353677,0.630382781914,0.630457204356,0.630531621003,0.630606031855,0.63068043691,0.630754836168,0.630829229628,0.63090361729,0.630977999153,0.631052375216,0.631126745478,0.63120110994,0.631275468599,0.631349821456,0.631424168509,0.631498509759,0.631572845204,0.631647174844,0.631721498678,0.631795816705,0.631870128925,0.631944435337,0.63201873594,0.632093030734,0.632167319717,0.63224160289,0.632315880252,0.632390151801,0.632464417538,0.632538677461,0.63261293157,0.632687179864,0.632761422343,0.632835659005,0.632909889851,0.632984114878,0.633058334088,0.633132547479,0.63320675505,0.633280956801,0.633355152731,0.633429342839,0.633503527125,0.633577705588,0.633651878227,0.633726045041,0.633800206031,0.633874361195,0.633948510532,0.634022654043,0.634096791725,0.634170923579,0.634245049604,0.634319169799,0.634393284164,0.634467392697,0.634541495398,0.634615592267,0.634689683303,0.634763768504,0.634837847872,0.634911921403,0.634985989099,0.635060050958,0.63513410698,0.635208157164,0.635282201509,0.635356240015,0.63543027268,0.635504299505,0.635578320489,0.63565233563,0.635726344929,0.635800348384,0.635874345995,0.635948337761,0.636022323682,0.636096303756,0.636170277984,0.636244246364,0.636318208896,0.636392165579,0.636466116412,0.636540061395,0.636614000527,0.636687933808,0.636761861236,0.636835782812,0.636909698533,0.636983608401,0.637057512413,0.637131410569,0.63720530287,0.637279189313,0.637353069898,0.637426944625,0.637500813493,0.637574676501,0.637648533649,0.637722384936,0.63779623036,0.637870069923,0.637943903622,0.638017731457,0.638091553428,0.638165369533,0.638239179773,0.638312984146,0.638386782652,0.63846057529,0.638534362059,0.63860814296,0.63868191799,0.638755687149,0.638829450437,0.638903207854,0.638976959397,0.639050705068,0.639124444864,0.639198178785,0.639271906831,0.639345629002,0.639419345295,0.639493055711,0.639566760249,0.639640458908,0.639714151688,0.639787838587,0.639861519606,0.639935194743,0.640008863998,0.640082527371,0.64015618486,0.640229836464,0.640303482184,0.640377122018,0.640450755966,0.640524384028,0.640598006201,0.640671622487,0.640745232883,0.64081883739,0.640892436007,0.640966028732,0.641039615566,0.641113196508,0.641186771557,0.641260340712,0.641333903973,0.641407461338,0.641481012809,0.641554558382,0.641628098059,0.641701631838,0.641775159719,0.6418486817,0.641922197782,0.641995707963,0.642069212244,0.642142710622,0.642216203098,0.642289689671,0.642363170341,0.642436645105,0.642510113965,0.642583576919,0.642657033966,0.642730485106,0.642803930339,0.642877369662,0.642950803077,0.643024230582,0.643097652176,0.643171067859,0.64324447763,0.643317881489,0.643391279434,0.643464671465,0.643538057582,0.643611437784,0.643684812069,0.643758180438,0.64383154289,0.643904899424,0.643978250039,0.644051594734,0.64412493351,0.644198266365,0.644271593299,0.644344914311,0.6444182294,0.644491538566,0.644564841807,0.644638139125,0.644711430516,0.644784715982,0.644857995521,0.644931269132,0.645004536816,0.64507779857,0.645151054395,0.645224304291,0.645297548255,0.645370786288,0.645444018389,0.645517244557,0.645590464792,0.645663679092,0.645736887458,0.645810089888,0.645883286382,0.645956476939,0.646029661559,0.646102840241,0.646176012983,0.646249179787,0.64632234065,0.646395495572,0.646468644552,0.646541787591,0.646614924687,0.646688055839,0.646761181046,0.646834300309,0.646907413627,0.646980520998,0.647053622422,0.647126717899,0.647199807427,0.647272891007,0.647345968637,0.647419040316,0.647492106045,0.647565165822,0.647638219647,0.647711267519,0.647784309437,0.647857345401,0.64793037541,0.648003399463,0.64807641756,0.6481494297,0.648222435882,0.648295436107,0.648368430372,0.648441418677,0.648514401022,0.648587377406,0.648660347829,0.648733312289,0.648806270786,0.648879223319,0.648952169888,0.649025110492,0.64909804513,0.649170973802,0.649243896507,0.649316813244,0.649389724013,0.649462628813,0.649535527643,0.649608420502,0.649681307391,0.649754188307,0.649827063252,0.649899932223,0.649972795221,0.650045652244,0.650118503292,0.650191348364,0.65026418746,0.650337020579,0.65040984772,0.650482668883,0.650555484067,0.65062829327,0.650701096494,0.650773893736,0.650846684996,0.650919470274,0.650992249569,0.65106502288,0.651137790207,0.651210551549,0.651283306905,0.651356056274,0.651428799656,0.65150153705,0.651574268456,0.651646993873,0.6517197133,0.651792426737,0.651865134182,0.651937835636,0.652010531097,0.652083220565,0.652155904039,0.652228581519,0.652301253003,0.652373918492,0.652446577984,0.65251923148,0.652591878977,0.652664520476,0.652737155975,0.652809785475,0.652882408975,0.652955026473,0.653027637969,0.653100243463,0.653172842954,0.653245436441,0.653318023923,0.6533906054,0.653463180872,0.653535750337,0.653608313795,0.653680871244,0.653753422686,0.653825968118,0.653898507541,0.653971040953,0.654043568353,0.654116089742,0.654188605119,0.654261114482,0.654333617832,0.654406115167,0.654478606487,0.654551091791,0.654623571078,0.654696044349,0.654768511601,0.654840972835,0.65491342805,0.654985877245,0.65505832042,0.655130757573,0.655203188705,0.655275613814,0.6553480329,0.655420445962,0.655492853,0.655565254012,0.655637648999,0.655710037959,0.655782420892,0.655854797797,0.655927168674,0.655999533522,0.65607189234,0.656144245127,0.656216591883,0.656288932608,0.6563612673,0.656433595958,0.656505918583,0.656578235174,0.656650545729,0.656722850249,0.656795148732,0.656867441178,0.656939727587,0.657012007956,0.657084282287,0.657156550578,0.657228812829,0.657301069038,0.657373319206,0.657445563331,0.657517801413,0.657590033451,0.657662259445,0.657734479394,0.657806693297,0.657878901154,0.657951102963,0.658023298725,0.658095488439,0.658167672103,0.658239849717,0.658312021282,0.658384186795,0.658456346256,0.658528499665,0.658600647021,0.658672788323,0.658744923571,0.658817052764,0.658889175901,0.658961292982,0.659033404006,0.659105508972,0.659177607879,0.659249700728,0.659321787517,0.659393868246,0.659465942913,0.659538011519,0.659610074063,0.659682130544,0.659754180961,0.659826225313,0.659898263601,0.659970295823,0.660042321979,0.660114342067,0.660186356089,0.660258364041,0.660330365925,0.66040236174,0.660474351484,0.660546335157,0.660618312758,0.660690284287,0.660762249744,0.660834209126,0.660906162435,0.660978109668,0.661050050826,0.661121985908,0.661193914913,0.66126583784,0.661337754689,0.661409665459,0.66148157015,0.66155346876,0.66162536129,0.661697247738,0.661769128104,0.661841002387,0.661912870587,0.661984732702,0.662056588733,0.662128438678,0.662200282537,0.662272120309,0.662343951994,0.66241577759,0.662487597098,0.662559410516,0.662631217845,0.662703019082,0.662774814228,0.662846603282,0.662918386243,0.662990163111,0.663061933885,0.663133698564,0.663205457148,0.663277209635,0.663348956026,0.66342069632,0.663492430515,0.663564158612,0.66363588061,0.663707596507,0.663779306304,0.663851009999,0.663922707593,0.663994399084,0.664066084472,0.664137763755,0.664209436934,0.664281104008,0.664352764976,0.664424419837,0.664496068591,0.664567711237,0.664639347775,0.664710978203,0.664782602522,0.66485422073,0.664925832826,0.664997438811,0.665069038684,0.665140632443,0.665212220088,0.665283801619,0.665355377035,0.665426946335,0.665498509518,0.665570066585,0.665641617533,0.665713162363,0.665784701074,0.665856233666,0.665927760136,0.665999280486,0.666070794714,0.66614230282,0.666213804803,0.666285300662,0.666356790396,0.666428274006,0.66649975149,0.666571222847,0.666642688078,0.666714147181,0.666785600156,0.666857047002,0.666928487718,0.666999922304,0.667071350759,0.667142773082,0.667214189273,0.667285599331,0.667357003256,0.667428401047,0.667499792702,0.667571178223,0.667642557607,0.667713930854,0.667785297963,0.667856658935,0.667928013768,0.667999362461,0.668070705014,0.668142041427,0.668213371698,0.668284695826,0.668356013813,0.668427325655,0.668498631354,0.668569930908,0.668641224317,0.66871251158,0.668783792696,0.668855067665,0.668926336485,0.668997599157,0.66906885568,0.669140106053,0.669211350276,0.669282588347,0.669353820266,0.669425046032,0.669496265646,0.669567479105,0.66963868641,0.66970988756,0.669781082554,0.669852271392,0.669923454072,0.669994630595,0.670065800959,0.670136965164,0.670208123209,0.670279275094,0.670350420818,0.67042156038,0.67049269378,0.670563821017,0.67063494209,0.670706056998,0.670777165742,0.67084826832,0.670919364732,0.670990454977,0.671061539054,0.671132616963,0.671203688703,0.671274754274,0.671345813674,0.671416866903,0.671487913961,0.671558954847,0.67162998956,0.671701018099,0.671772040465,0.671843056655,0.67191406667,0.671985070509,0.672056068172,0.672127059656,0.672198044963,0.672269024091,0.67233999704,0.672410963809,0.672481924397,0.672552878804,0.672623827029,0.672694769071,0.67276570493,0.672836634605,0.672907558095,0.6729784754,0.67304938652,0.673120291453,0.673191190198,0.673262082756,0.673332969125,0.673403849306,0.673474723296,0.673545591096,0.673616452705,0.673687308122,0.673758157347,0.673829000379,0.673899837217,0.673970667861,0.674041492309,0.674112310562,0.674183122619,0.674253928479,0.674324728141,0.674395521605,0.67446630887,0.674537089936,0.674607864801,0.674678633466,0.674749395929,0.674820152189,0.674890902247,0.674961646102,0.675032383752,0.675103115198,0.675173840439,0.675244559473,0.6753152723,0.675385978921,0.675456679333,0.675527373536,0.675598061531,0.675668743315,0.675739418889,0.675810088251,0.675880751402,0.67595140834,0.676022059064,0.676092703575,0.676163341872,0.676233973953,0.676304599819,0.676375219468,0.6764458329,0.676516440114,0.67658704111,0.676657635886,0.676728224443,0.67679880678,0.676869382896,0.67693995279,0.677010516462,0.677081073911,0.677151625136,0.677222170137,0.677292708913,0.677363241464,0.677433767789,0.677504287886,0.677574801756,0.677645309398,0.677715810812,0.677786305996,0.677856794949,0.677927277673,0.677997754164,0.678068224424,0.678138688451,0.678209146245,0.678279597805,0.67835004313,0.67842048222,0.678490915074,0.678561341691,0.678631762072,0.678702176214,0.678772584118,0.678842985783,0.678913381208,0.678983770393,0.679054153337,0.679124530038,0.679194900498,0.679265264714,0.679335622687,0.679405974416,0.679476319899,0.679546659137,0.679616992129,0.679687318874,0.679757639371,0.67982795362,0.679898261621,0.679968563371,0.680038858872,0.680109148122,0.68017943112,0.680249707867,0.680319978361,0.680390242601,0.680460500587,0.680530752319,0.680600997795,0.680671237016,0.68074146998,0.680811696686,0.680881917135,0.680952131326,0.681022339257,0.681092540928,0.681162736339,0.681232925489,0.681303108377,0.681373285002,0.681443455365,0.681513619464,0.681583777298,0.681653928868,0.681724074172,0.681794213209,0.68186434598,0.681934472483,0.682004592718,0.682074706685,0.682144814381,0.682214915808,0.682285010964,0.682355099848,0.682425182461,0.6824952588,0.682565328866,0.682635392659,0.682705450176,0.682775501419,0.682845546385,0.682915585075,0.682985617488,0.683055643623,0.683125663479,0.683195677056,0.683265684353,0.68333568537,0.683405680106,0.68347566856,0.683545650732,0.683615626621,0.683685596226,0.683755559547,0.683825516583,0.683895467333,0.683965411797,0.684035349975,0.684105281864,0.684175207466,0.684245126779,0.684315039802,0.684384946535,0.684454846978,0.684524741129,0.684594628988,0.684664510555,0.684734385828,0.684804254808,0.684874117492,0.684943973882,0.685013823976,0.685083667773,0.685153505273,0.685223336475,0.685293161379,0.685362979984,0.685432792289,0.685502598293,0.685572397997,0.685642191399,0.685711978499,0.685781759296,0.685851533789,0.685921301978,0.685991063863,0.686060819441,0.686130568714,0.68620031168,0.686270048339,0.686339778689,0.686409502731,0.686479220463,0.686548931886,0.686618636998,0.686688335798,0.686758028287,0.686827714463,0.686897394326,0.686967067875,0.68703673511,0.68710639603,0.687176050634,0.687245698921,0.687315340892,0.687384976545,0.687454605879,0.687524228895,0.687593845591,0.687663455967,0.687733060022,0.687802657755,0.687872249167,0.687941834255,0.68801141302,0.688080985462,0.688150551578,0.688220111369,0.688289664834,0.688359211973,0.688428752784,0.688498287267,0.688567815422,0.688637337248,0.688706852744,0.688776361909,0.688845864744,0.688915361246,0.688984851417,0.689054335254,0.689123812757,0.689193283927,0.689262748761,0.68933220726,0.689401659423,0.689471105249,0.689540544737,0.689609977887,0.689679404699,0.689748825171,0.689818239303,0.689887647095,0.689957048545,0.690026443653,0.690095832419,0.690165214841,0.69023459092,0.690303960654,0.690373324043,0.690442681086,0.690512031783,0.690581376132,0.690650714135,0.690720045788,0.690789371093,0.690858690048,0.690928002653,0.690997308908,0.69106660881,0.691135902361,0.691205189558,0.691274470403,0.691343744893,0.691413013029,0.691482274809,0.691551530233,0.691620779301,0.691690022012,0.691759258364,0.691828488358,0.691897711993,0.691966929269,0.692036140183,0.692105344737,0.692174542929,0.692243734759,0.692312920226,0.692382099329,0.692451272068,0.692520438442,0.692589598451,0.692658752093,0.692727899369,0.692797040277,0.692866174817,0.692935302989,0.693004424791,0.693073540224,0.693142649285,0.693211751976,0.693280848295,0.693349938241,0.693419021814,0.693488099013,0.693557169838,0.693626234288,0.693695292362,0.69376434406,0.693833389381,0.693902428324,0.69397146089,0.694040487076,0.694109506883,0.69417852031,0.694247527356,0.69431652802,0.694385522303,0.694454510203,0.69452349172,0.694592466853,0.694661435601,0.694730397964,0.694799353942,0.694868303532,0.694937246736,0.695006183552,0.69507511398,0.695144038019,0.695212955668,0.695281866927,0.695350771795,0.695419670271,0.695488562356,0.695557448047,0.695626327345,0.695695200249,0.695764066759,0.695832926873,0.695901780591,0.695970627913,0.696039468837,0.696108303363,0.696177131491,0.69624595322,0.69631476855,0.696383577478,0.696452380006,0.696521176132,0.696589965856,0.696658749177,0.696727526095,0.696796296608,0.696865060716,0.696933818419,0.697002569716,0.697071314607,0.69714005309,0.697208785165,0.697277510831,0.697346230088,0.697414942935,0.697483649372,0.697552349398,0.697621043012,0.697689730213,0.697758411002,0.697827085377,0.697895753337,0.697964414883,0.698033070013,0.698101718727,0.698170361024,0.698238996904,0.698307626366,0.698376249409,0.698444866033,0.698513476236,0.69858208002,0.698650677381,0.698719268322,0.698787852839,0.698856430934,0.698925002604,0.698993567851,0.699062126672,0.699130679068,0.699199225037,0.69926776458,0.699336297695,0.699404824382,0.69947334464,0.699541858469,0.699610365868,0.699678866836,0.699747361373,0.699815849477,0.69988433115,0.699952806389,0.700021275194,0.700089737565,0.700158193501,0.700226643001,0.700295086064,0.700363522691,0.70043195288,0.700500376631,0.700568793943,0.700637204816,0.700705609248,0.70077400724,0.700842398791,0.700910783899,0.700979162565,0.701047534787,0.701115900566,0.7011842599,0.701252612789,0.701320959232,0.701389299229,0.701457632779,0.701525959881,0.701594280535,0.70166259474,0.701730902496,0.701799203801,0.701867498656,0.701935787059,0.70200406901,0.702072344508,0.702140613553,0.702208876144,0.702277132281,0.702345381962,0.702413625188,0.702481861957,0.702550092269,0.702618316124,0.70268653352,0.702754744457,0.702822948935,0.702891146952,0.702959338509,0.703027523604,0.703095702237,0.703163874407,0.703232040114,0.703300199358,0.703368352136,0.703436498449,0.703504638297,0.703572771678,0.703640898592,0.703709019038,0.703777133016,0.703845240524,0.703913341564,0.703981436133,0.704049524231,0.704117605858,0.704185681012,0.704253749694,0.704321811903,0.704389867637,0.704457916897,0.704525959682,0.704593995991,0.704662025823,0.704730049179,0.704798066056,0.704866076456,0.704934080376,0.705002077817,0.705070068777,0.705138053257,0.705206031255,0.705274002771,0.705341967804,0.705409926354,0.70547787842,0.705545824001,0.705613763097,0.705681695708,0.705749621831,0.705817541468,0.705885454617,0.705953361278,0.706021261449,0.706089155131,0.706157042323,0.706224923024,0.706292797234,0.706360664951,0.706428526176,0.706496380907,0.706564229145,0.706632070888,0.706699906135,0.706767734887,0.706835557142,0.706903372901,0.706971182161,0.707038984923,0.707106781187,0.70717457095,0.707242354214,0.707310130976,0.707377901238,0.707445664997,0.707513422253,0.707581173006,0.707648917256,0.707716655,0.70778438624,0.707852110974,0.707919829201,0.707987540921,0.708055246134,0.708122944838,0.708190637033,0.708258322719,0.708326001895,0.70839367456,0.708461340713,0.708529000354,0.708596653483,0.708664300099,0.7087319402,0.708799573788,0.70886720086,0.708934821416,0.709002435456,0.709070042978,0.709137643984,0.709205238471,0.709272826439,0.709340407888,0.709407982816,0.709475551224,0.70954311311,0.709610668475,0.709678217317,0.709745759636,0.70981329543,0.709880824701,0.709948347446,0.710015863666,0.710083373359,0.710150876526,0.710218373164,0.710285863275,0.710353346857,0.71042082391,0.710488294432,0.710555758424,0.710623215884,0.710690666813,0.710758111209,0.710825549072,0.710892980401,0.710960405196,0.711027823456,0.71109523518,0.711162640368,0.711230039019,0.711297431133,0.711364816708,0.711432195745,0.711499568243,0.7115669342,0.711634293617,0.711701646493,0.711768992827,0.711836332619,0.711903665867,0.711970992572,0.712038312733,0.712105626348,0.712172933418,0.712240233942,0.71230752792,0.71237481535,0.712442096231,0.712509370565,0.712576638349,0.712643899583,0.712711154267,0.712778402399,0.71284564398,0.712912879009,0.712980107484,0.713047329406,0.713114544774,0.713181753587,0.713248955845,0.713316151547,0.713383340692,0.71345052328,0.713517699309,0.713584868781,0.713652031693,0.713719188046,0.713786337838,0.713853481069,0.713920617738,0.713987747846,0.71405487139,0.714121988372,0.714189098789,0.714256202641,0.714323299928,0.714390390649,0.714457474804,0.714524552392,0.714591623411,0.714658687863,0.714725745745,0.714792797058,0.714859841801,0.714926879972,0.714993911573,0.715060936601,0.715127955056,0.715194966939,0.715261972247,0.715328970981,0.715395963139,0.715462948722,0.715529927729,0.715596900158,0.71566386601,0.715730825284,0.715797777979,0.715864724094,0.715931663629,0.715998596584,0.716065522957,0.716132442748,0.716199355957,0.716266262583,0.716333162625,0.716400056082,0.716466942955,0.716533823242,0.716600696943,0.716667564056,0.716734424583,0.716801278521,0.716868125871,0.716934966631,0.717001800802,0.717068628381,0.71713544937,0.717202263767,0.717269071572,0.717335872784,0.717402667402,0.717469455425,0.717536236854,0.717603011688,0.717669779926,0.717736541566,0.71780329661,0.717870045056,0.717936786903,0.718003522151,0.718070250799,0.718136972847,0.718203688294,0.71827039714,0.718337099383,0.718403795023,0.718470484061,0.718537166494,0.718603842322,0.718670511545,0.718737174162,0.718803830173,0.718870479577,0.718937122373,0.71900375856,0.719070388139,0.719137011108,0.719203627467,0.719270237216,0.719336840353,0.719403436878,0.71947002679,0.719536610089,0.719603186774,0.719669756845,0.719736320301,0.719802877141,0.719869427365,0.719935970972,0.720002507961,0.720069038333,0.720135562085,0.720202079219,0.720268589732,0.720335093625,0.720401590897,0.720468081546,0.720534565574,0.720601042978,0.720667513759,0.720733977916,0.720800435448,0.720866886354,0.720933330634,0.720999768288,0.721066199315,0.721132623713,0.721199041483,0.721265452624,0.721331857135,0.721398255016,0.721464646266,0.721531030884,0.72159740887,0.721663780224,0.721730144944,0.72179650303,0.721862854481,0.721929199298,0.721995537478,0.722061869022,0.722128193929,0.722194512199,0.72226082383,0.722327128822,0.722393427175,0.722459718887,0.722526003959,0.72259228239,0.722658554179,0.722724819325,0.722791077828,0.722857329687,0.722923574902,0.722989813472,0.723056045397,0.723122270675,0.723188489307,0.723254701291,0.723320906627,0.723387105314,0.723453297353,0.723519482741,0.723585661479,0.723651833566,0.723717999001,0.723784157784,0.723850309915,0.723916455391,0.723982594214,0.724048726382,0.724114851895,0.724180970751,0.724247082951,0.724313188495,0.72437928738,0.724445379607,0.724511465175,0.724577544084,0.724643616332,0.724709681919,0.724775740846,0.72484179311,0.724907838712,0.72497387765,0.725039909925,0.725105935535,0.72517195448,0.72523796676,0.725303972373,0.72536997132,0.725435963599,0.72550194921,0.725567928152,0.725633900425,0.725699866028,0.725765824961,0.725831777223,0.725897722813,0.72596366173,0.726029593975,0.726095519546,0.726161438444,0.726227350666,0.726293256213,0.726359155084,0.726425047279,0.726490932796,0.726556811636,0.726622683798,0.72668854928,0.726754408083,0.726820260206,0.726886105648,0.726951944408,0.727017776487,0.727083601883,0.727149420595,0.727215232624,0.727281037969,0.727346836628,0.727412628602,0.72747841389,0.727544192491,0.727609964404,0.72767572963,0.727741488167,0.727807240014,0.727872985172,0.727938723639,0.728004455415,0.7280701805,0.728135898892,0.728201610591,0.728267315597,0.728333013909,0.728398705526,0.728464390448,0.728530068674,0.728595740204,0.728661405036,0.728727063171,0.728792714607,0.728858359345,0.728923997383,0.728989628721,0.729055253358,0.729120871293,0.729186482527,0.729252087059,0.729317684887,0.729383276012,0.729448860432,0.729514438147,0.729580009157,0.72964557346,0.729711131057,0.729776681947,0.729842226128,0.729907763601,0.729973294365,0.730038818419,0.730104335763,0.730169846395,0.730235350317,0.730300847526,0.730366338022,0.730431821805,0.730497298874,0.730562769228,0.730628232867,0.73069368979,0.730759139997,0.730824583487,0.73089002026,0.730955450314,0.731020873649,0.731086290265,0.731151700162,0.731217103337,0.731282499791,0.731347889524,0.731413272534,0.731478648821,0.731544018385,0.731609381224,0.731674737338,0.731740086728,0.731805429391,0.731870765327,0.731936094537,0.732001417018,0.732066732771,0.732132041795,0.73219734409,0.732262639654,0.732327928488,0.73239321059,0.73245848596,0.732523754598,0.732589016502,0.732654271672,0.732719520109,0.73278476181,0.732849996775,0.732915225005,0.732980446497,0.733045661252,0.733110869269,0.733176070548,0.733241265087,0.733306452887,0.733371633946,0.733436808264,0.733501975841,0.733567136675,0.733632290766,0.733697438115,0.733762578719,0.733827712578,0.733892839693,0.733957960061,0.734023073684,0.734088180559,0.734153280687,0.734218374066,0.734283460697,0.734348540578,0.73441361371,0.73447868009,0.73454373972,0.734608792598,0.734673838723,0.734738878096,0.734803910715,0.73486893658,0.73493395569,0.734998968044,0.735063973643,0.735128972485,0.73519396457,0.735258949898,0.735323928467,0.735388900277,0.735453865327,0.735518823618,0.735583775147,0.735648719916,0.735713657922,0.735778589166,0.735843513646,0.735908431363,0.735973342316,0.736038246504,0.736103143926,0.736168034582,0.736232918472,0.736297795594,0.736362665948,0.736427529534,0.736492386351,0.736557236398,0.736622079675,0.736686916181,0.736751745915,0.736816568877,0.736881385067,0.736946194484,0.737010997126,0.737075792994,0.737140582087,0.737205364405,0.737270139946,0.73733490871,0.737399670697,0.737464425906,0.737529174337,0.737593915988,0.737658650859,0.73772337895,0.73778810026,0.737852814788,0.737917522535,0.737982223498,0.738046917678,0.738111605074,0.738176285686,0.738240959512,0.738305626552,0.738370286807,0.738434940274,0.738499586954,0.738564226845,0.738628859948,0.738693486262,0.738758105785,0.738822718519,0.738887324461,0.738951923611,0.739016515969,0.739081101534,0.739145680306,0.739210252284,0.739274817467,0.739339375854,0.739403927446,0.739468472242,0.73953301024,0.739597541441,0.739662065843,0.739726583447,0.739791094251,0.739855598256,0.73992009546,0.739984585862,0.740049069463,0.740113546261,0.740178016257,0.740242479449,0.740306935836,0.740371385419,0.740435828197,0.740500264169,0.740564693334,0.740629115692,0.740693531242,0.740757939984,0.740822341918,0.740886737041,0.740951125355,0.741015506858,0.74107988155,0.74114424943,0.741208610497,0.741272964751,0.741337312192,0.741401652819,0.741465986631,0.741530313627,0.741594633807,0.741658947171,0.741723253718,0.741787553447,0.741851846357,0.741916132449,0.741980411721,0.742044684173,0.742108949804,0.742173208614,0.742237460602,0.742301705767,0.74236594411,0.742430175629,0.742494400323,0.742558618193,0.742622829237,0.742687033455,0.742751230847,0.742815421411,0.742879605148,0.742943782056,0.743007952135,0.743072115385,0.743136271804,0.743200421393,0.74326456415,0.743328700076,0.743392829169,0.743456951429,0.743521066855,0.743585175447,0.743649277203,0.743713372125,0.74377746021,0.743841541459,0.743905615871,0.743969683445,0.74403374418,0.744097798076,0.744161845133,0.74422588535,0.744289918725,0.74435394526,0.744417964952,0.744481977802,0.744545983809,0.744609982972,0.744673975291,0.744737960765,0.744801939394,0.744865911176,0.744929876112,0.744993834201,0.745057785441,0.745121729834,0.745185667377,0.745249598071,0.745313521914,0.745377438907,0.745441349049,0.745505252338,0.745569148775,0.745633038359,0.745696921089,0.745760796965,0.745824665986,0.745888528152,0.745952383461,0.746016231914,0.74608007351,0.746143908248,0.746207736127,0.746271557148,0.746335371309,0.74639917861,0.74646297905,0.746526772628,0.746590559345,0.746654339199,0.746718112191,0.746781878318,0.746845637581,0.74690938998,0.746973135513,0.74703687418,0.74710060598,0.747164330913,0.747228048979,0.747291760176,0.747355464504,0.747419161963,0.747482852551,0.747546536269,0.747610213115,0.74767388309,0.747737546192,0.747801202421,0.747864851777,0.747928494258,0.747992129864,0.748055758595,0.74811938045,0.748182995429,0.74824660353,0.748310204754,0.748373799099,0.748437386566,0.748500967153,0.74856454086,0.748628107686,0.748691667631,0.748755220695,0.748818766875,0.748882306173,0.748945838588,0.749009364118,0.749072882763,0.749136394523,0.749199899398,0.749263397385,0.749326888486,0.749390372699,0.749453850024,0.74951732046,0.749580784006,0.749644240663,0.749707690429,0.749771133304,0.749834569287,0.749897998378,0.749961420576,0.75002483588,0.750088244291,0.750151645806,0.750215040427,0.750278428151,0.75034180898,0.750405182911,0.750468549945,0.75053191008,0.750595263317,0.750658609655,0.750721949092,0.750785281629,0.750848607265,0.750911926,0.750975237832,0.751038542762,0.751101840788,0.75116513191,0.751228416127,0.75129169344,0.751354963846,0.751418227347,0.75148148394,0.751544733626,0.751607976404,0.751671212274,0.751734441234,0.751797663284,0.751860878424,0.751924086654,0.751987287971,0.752050482377,0.75211366987,0.752176850449,0.752240024115,0.752303190866,0.752366350702,0.752429503623,0.752492649627,0.752555788715,0.752618920886,0.752682046138,0.752745164472,0.752808275887,0.752871380382,0.752934477957,0.752997568612,0.753060652344,0.753123729155,0.753186799044,0.753249862009,0.75331291805,0.753375967167,0.75343900936,0.753502044627,0.753565072968,0.753628094382,0.753691108869,0.753754116428,0.753817117059,0.753880110761,0.753943097533,0.754006077376,0.754069050288,0.754132016268,0.754194975317,0.754257927433,0.754320872617,0.754383810866,0.754446742182,0.754509666563,0.754572584008,0.754635494518,0.754698398092,0.754761294728,0.754824184426,0.754887067187,0.754949943009,0.755012811891,0.755075673834,0.755138528836,0.755201376897,0.755264218016,0.755327052193,0.755389879427,0.755452699718,0.755515513065,0.755578319467,0.755641118924,0.755703911436,0.755766697001,0.75582947562,0.755892247291,0.755955012014,0.756017769788,0.756080520614,0.756143264489,0.756206001414,0.756268731389,0.756331454412,0.756394170483,0.756456879601,0.756519581766,0.756582276977,0.756644965234,0.756707646536,0.756770320883,0.756832988273,0.756895648707,0.756958302184,0.757020948703,0.757083588263,0.757146220865,0.757208846506,0.757271465188,0.75733407691,0.757396681669,0.757459279468,0.757521870303,0.757584454176,0.757647031085,0.75770960103,0.757772164011,0.757834720026,0.757897269075,0.757959811158,0.758022346273,0.758084874422,0.758147395602,0.758209909813,0.758272417055,0.758334917327,0.758397410629,0.75845989696,0.758522376319,0.758584848705,0.75864731412,0.75870977256,0.758772224027,0.75883466852,0.758897106037,0.758959536579,0.759021960145,0.759084376733,0.759146786345,0.759209188978,0.759271584633,0.759333973309,0.759396355006,0.759458729722,0.759521097457,0.759583458211,0.759645811984,0.759708158773,0.75977049858,0.759832831403,0.759895157241,0.759957476095,0.760019787964,0.760082092846,0.760144390742,0.760206681651,0.760268965573,0.760331242506,0.76039351245,0.760455775405,0.76051803137,0.760580280344,0.760642522328,0.760704757319,0.760766985319,0.760829206325,0.760891420339,0.760953627358,0.761015827383,0.761078020412,0.761140206446,0.761202385484,0.761264557525,0.761326722569,0.761388880615,0.761451031662,0.76151317571,0.761575312758,0.761637442806,0.761699565854,0.761761681899,0.761823790943,0.761885892985,0.761947988023,0.762010076058,0.762072157089,0.762134231114,0.762196298135,0.762258358149,0.762320411157,0.762382457158,0.762444496151,0.762506528136,0.762568553112,0.762630571078,0.762692582035,0.762754585981,0.762816582917,0.76287857284,0.762940555752,0.76300253165,0.763064500535,0.763126462407,0.763188417263,0.763250365105,0.763312305931,0.763374239741,0.763436166534,0.76349808631,0.763559999068,0.763621904807,0.763683803528,0.763745695228,0.763807579909,0.763869457569,0.763931328207,0.763993191824,0.764055048418,0.764116897989,0.764178740536,0.764240576059,0.764302404558,0.764364226031,0.764426040479,0.7644878479,0.764549648293,0.76461144166,0.764673227998,0.764735007308,0.764796779588,0.764858544838,0.764920303058,0.764982054247,0.765043798405,0.76510553553,0.765167265622,0.765228988682,0.765290704707,0.765352413699,0.765414115655,0.765475810575,0.76553749846,0.765599179308,0.765660853119,0.765722519892,0.765784179626,0.765845832322,0.765907477978,0.765969116594,0.76603074817,0.766092372704,0.766153990196,0.766215600647,0.766277204054,0.766338800418,0.766400389738,0.766461972013,0.766523547243,0.766585115427,0.766646676565,0.766708230657,0.7667697777,0.766831317696,0.766892850643,0.766954376542,0.76701589539,0.767077407188,0.767138911936,0.767200409632,0.767261900276,0.767323383868,0.767384860406,0.767446329891,0.767507792322,0.767569247698,0.767630696018,0.767692137283,0.767753571491,0.767814998642,0.767876418736,0.767937831772,0.767999237748,0.768060636666,0.768122028523,0.768183413321,0.768244791057,0.768306161731,0.768367525344,0.768428881894,0.768490231381,0.768551573804,0.768612909162,0.768674237456,0.768735558684,0.768796872846,0.768858179941,0.76891947997,0.76898077293,0.769042058822,0.769103337646,0.769164609399,0.769225874083,0.769287131697,0.769348382239,0.76940962571,0.769470862108,0.769532091433,0.769593313685,0.769654528864,0.769715736967,0.769776937996,0.769838131949,0.769899318826,0.769960498626,0.770021671348,0.770082836993,0.77014399556,0.770205147047,0.770266291455,0.770327428783,0.77038855903,0.770449682196,0.77051079828,0.770571907281,0.7706330092,0.770694104035,0.770755191786,0.770816272453,0.770877346034,0.77093841253,0.770999471939,0.771060524262,0.771121569497,0.771182607644,0.771243638702,0.771304662672,0.771365679552,0.771426689341,0.77148769204,0.771548687647,0.771609676163,0.771670657586,0.771731631916,0.771792599152,0.771853559294,0.771914512342,0.771975458294,0.77203639715,0.77209732891,0.772158253573,0.772219171139,0.772280081606,0.772340984975,0.772401881245,0.772462770415,0.772523652484,0.772584527453,0.77264539532,0.772706256086,0.772767109748,0.772827956308,0.772888795764,0.772949628116,0.773010453363,0.773071271504,0.77313208254,0.773192886469,0.773253683291,0.773314473006,0.773375255613,0.77343603111,0.773496799499,0.773557560778,0.773618314946,0.773679062003,0.773739801949,0.773800534783,0.773861260504,0.773921979112,0.773982690607,0.774043394987,0.774104092252,0.774164782402,0.774225465436,0.774286141353,0.774346810154,0.774407471836,0.774468126401,0.774528773846,0.774589414173,0.774650047379,0.774710673466,0.774771292431,0.774831904274,0.774892508996,0.774953106595,0.775013697071,0.775074280423,0.77513485665,0.775195425753,0.77525598773,0.775316542582,0.775377090306,0.775437630904,0.775498164374,0.775558690716,0.775619209929,0.775679722013,0.775740226967,0.77580072479,0.775861215483,0.775921699043,0.775982175472,0.776042644768,0.776103106931,0.77616356196,0.776224009855,0.776284450615,0.776344884239,0.776405310728,0.77646573008,0.776526142295,0.776586547372,0.776646945311,0.776707336111,0.776767719772,0.776828096293,0.776888465673,0.776948827913,0.777009183011,0.777069530967,0.77712987178,0.77719020545,0.777250531976,0.777310851358,0.777371163595,0.777431468687,0.777491766632,0.777552057431,0.777612341083,0.777672617588,0.777732886944,0.777793149151,0.777853404209,0.777913652118,0.777973892876,0.778034126482,0.778094352938,0.778154572241,0.778214784392,0.778274989389,0.778335187233,0.778395377922,0.778455561457,0.778515737836,0.778575907059,0.778636069126,0.778696224036,0.778756371788,0.778816512381,0.778876645817,0.778936772093,0.778996891209,0.779057003164,0.779117107959,0.779177205593,0.779237296064,0.779297379373,0.779357455518,0.7794175245,0.779477586318,0.779537640971,0.779597688458,0.77965772878,0.779717761935,0.779777787923,0.779837806744,0.779897818396,0.77995782288,0.780017820195,0.78007781034,0.780137793314,0.780197769118,0.78025773775,0.780317699211,0.780377653499,0.780437600613,0.780497540555,0.780557473322,0.780617398914,0.780677317331,0.780737228572,0.780797132637,0.780857029525,0.780916919235,0.780976801768,0.781036677122,0.781096545296,0.781156406291,0.781216260106,0.78127610674,0.781335946193,0.781395778464,0.781455603552,0.781515421458,0.78157523218,0.781635035718,0.781694832071,0.781754621239,0.781814403222,0.781874178018,0.781933945627,0.781993706049,0.782053459283,0.782113205328,0.782172944185,0.782232675852,0.782292400329,0.782352117615,0.78241182771,0.782471530613,0.782531226324,0.782590914842,0.782650596167,0.782710270297,0.782769937233,0.782829596975,0.78288924952,0.782948894869,0.783008533022,0.783068163977,0.783127787735,0.783187404294,0.783247013655,0.783306615816,0.783366210777,0.783425798537,0.783485379096,0.783544952454,0.78360451861,0.783664077562,0.783723629312,0.783783173858,0.783842711199,0.783902241336,0.783961764266,0.784021279991,0.78408078851,0.784140289821,0.784199783925,0.78425927082,0.784318750507,0.784378222984,0.784437688252,0.784497146309,0.784556597156,0.78461604079,0.784675477213,0.784734906423,0.78479432842,0.784853743204,0.784913150773,0.784972551128,0.785031944267,0.78509133019,0.785150708897,0.785210080387,0.78526944466,0.785328801714,0.78538815155,0.785447494167,0.785506829564,0.785566157741,0.785625478697,0.785684792432,0.785744098945,0.785803398236,0.785862690303,0.785921975148,0.785981252768,0.786040523163,0.786099786334,0.786159042279,0.786218290997,0.786277532489,0.786336766754,0.786395993791,0.786455213599,0.786514426179,0.786573631529,0.786632829648,0.786692020538,0.786751204196,0.786810380623,0.786869549817,0.786928711779,0.786987866507,0.787047014002,0.787106154262,0.787165287288,0.787224413078,0.787283531631,0.787342642949,0.787401747029,0.787460843872,0.787519933476,0.787579015842,0.787638090968,0.787697158855,0.787756219501,0.787815272907,0.787874319071,0.787933357993,0.787992389673,0.788051414109,0.788110431302,0.788169441251,0.788228443955,0.788287439414,0.788346427627,0.788405408593,0.788464382313,0.788523348786,0.78858230801,0.788641259986,0.788700204714,0.788759142191,0.788818072418,0.788876995395,0.788935911121,0.788994819595,0.789053720816,0.789112614785,0.7891715015,0.789230380962,0.789289253169,0.789348118121,0.789406975818,0.789465826258,0.789524669442,0.789583505369,0.789642334038,0.789701155449,0.789759969601,0.789818776494,0.789877576127,0.789936368499,0.789995153611,0.790053931461,0.790112702049,0.790171465375,0.790230221437,0.790288970236,0.790347711771,0.790406446041,0.790465173046,0.790523892785,0.790582605257,0.790641310463,0.790700008402,0.790758699072,0.790817382474,0.790876058607,0.790934727471,0.790993389064,0.791052043386,0.791110690438,0.791169330218,0.791227962725,0.79128658796,0.791345205921,0.791403816609,0.791462420022,0.79152101616,0.791579605023,0.791638186609,0.791696760919,0.791755327952,0.791813887707,0.791872440184,0.791930985383,0.791989523302,0.792048053941,0.7921065773,0.792165093378,0.792223602175,0.79228210369,0.792340597922,0.792399084871,0.792457564537,0.792516036918,0.792574502015,0.792632959827,0.792691410353,0.792749853593,0.792808289546,0.792866718212,0.79292513959,0.792983553679,0.793041960479,0.79310035999,0.793158752211,0.793217137142,0.793275514781,0.793333885129,0.793392248185,0.793450603948,0.793508952417,0.793567293593,0.793625627475,0.793683954062,0.793742273353,0.793800585349,0.793858890048,0.79391718745,0.793975477554,0.794033760361,0.794092035869,0.794150304078,0.794208564987,0.794266818596,0.794325064904,0.794383303911,0.794441535616,0.794499760019,0.794557977119,0.794616186915,0.794674389408,0.794732584596,0.794790772479,0.794848953057,0.794907126328,0.794965292293,0.795023450951,0.795081602301,0.795139746343,0.795197883076,0.7952560125,0.795314134613,0.795372249417,0.79543035691,0.795488457091,0.79554654996,0.795604635517,0.795662713761,0.795720784691,0.795778848307,0.795836904609,0.795894953595,0.795952995266,0.79601102962,0.796069056658,0.796127076378,0.796185088781,0.796243093865,0.79630109163,0.796359082076,0.796417065202,0.796475041008,0.796533009492,0.796590970655,0.796648924495,0.796706871013,0.796764810208,0.79682274208,0.796880666627,0.796938583849,0.796996493746,0.797054396317,0.797112291562,0.79717017948,0.79722806007,0.797285933333,0.797343799267,0.797401657872,0.797459509147,0.797517353093,0.797575189708,0.797633018991,0.797690840943,0.797748655563,0.79780646285,0.797864262804,0.797922055424,0.79797984071,0.798037618661,0.798095389276,0.798153152556,0.798210908499,0.798268657105,0.798326398373,0.798384132304,0.798441858896,0.798499578149,0.798557290062,0.798614994635,0.798672691867,0.798730381758,0.798788064308,0.798845739515,0.798903407379,0.7989610679,0.799018721077,0.799076366909,0.799134005397,0.799191636539,0.799249260335,0.799306876785,0.799364485888,0.799422087643,0.79947968205,0.799537269108,0.799594848817,0.799652421176,0.799709986186,0.799767543844,0.799825094151,0.799882637106,0.799940172709,0.799997700959,0.800055221856,0.800112735399,0.800170241587,0.80022774042,0.800285231898,0.80034271602,0.800400192785,0.800457662193,0.800515124243,0.800572578935,0.800630026269,0.800687466243,0.800744898857,0.800802324112,0.800859742005,0.800917152537,0.800974555708,0.801031951515,0.80108933996,0.801146721042,0.80120409476,0.801261461113,0.801318820101,0.801376171723,0.80143351598,0.801490852869,0.801548182392,0.801605504547,0.801662819334,0.801720126752,0.801777426801,0.80183471948,0.801892004789,0.801949282727,0.802006553293,0.802063816488,0.802121072311,0.80217832076,0.802235561836,0.802292795538,0.802350021866,0.802407240818,0.802464452395,0.802521656596,0.80257885342,0.802636042867,0.802693224937,0.802750399628,0.802807566941,0.802864726874,0.802921879428,0.802979024601,0.803036162393,0.803093292804,0.803150415834,0.803207531481,0.803264639745,0.803321740625,0.803378834122,0.803435920234,0.803492998961,0.803550070303,0.803607134258,0.803664190827,0.803721240009,0.803778281803,0.803835316209,0.803892343226,0.803949362854,0.804006375093,0.804063379941,0.804120377398,0.804177367464,0.804234350139,0.80429132542,0.804348293309,0.804405253805,0.804462206907,0.804519152614,0.804576090926,0.804633021843,0.804689945364,0.804746861488,0.804803770215,0.804860671545,0.804917565476,0.804974452009,0.805031331143,0.805088202877,0.805145067211,0.805201924144,0.805258773676,0.805315615806,0.805372450534,0.805429277859,0.80548609778,0.805542910298,0.805599715412,0.80565651312,0.805713303423,0.805770086321,0.805826861811,0.805883629895,0.805940390571,0.805997143839,0.806053889699,0.80611062815,0.806167359191,0.806224082821,0.806280799042,0.806337507851,0.806394209248,0.806450903233,0.806507589806,0.806564268965,0.80662094071,0.806677605041,0.806734261958,0.806790911459,0.806847553544,0.806904188213,0.806960815464,0.807017435299,0.807074047716,0.807130652714,0.807187250293,0.807243840452,0.807300423192,0.807356998511,0.807413566409,0.807470126886,0.80752667994,0.807583225572,0.80763976378,0.807696294565,0.807752817926,0.807809333862,0.807865842373,0.807922343458,0.807978837117,0.80803532335,0.808091802154,0.808148273531,0.80820473748,0.808261194,0.808317643091,0.808374084751,0.808430518982,0.808486945781,0.808543365149,0.808599777085,0.808656181588,0.808712578659,0.808768968296,0.808825350499,0.808881725267,0.8089380926,0.808994452498,0.80905080496,0.809107149985,0.809163487572,0.809219817723,0.809276140435,0.809332455708,0.809388763542,0.809445063937,0.809501356891,0.809557642404,0.809613920476,0.809670191106,0.809726454294,0.80978271004,0.809838958341,0.809895199199,0.809951432613,0.810007658582,0.810063877105,0.810120088182,0.810176291813,0.810232487997,0.810288676733,0.810344858022,0.810401031862,0.810457198253,0.810513357194,0.810569508685,0.810625652726,0.810681789315,0.810737918453,0.810794040139,0.810850154372,0.810906261152,0.810962360479,0.811018452351,0.811074536768,0.811130613731,0.811186683237,0.811242745287,0.811298799881,0.811354847017,0.811410886695,0.811466918916,0.811522943677,0.811578960979,0.811634970821,0.811690973202,0.811746968123,0.811802955583,0.81185893558,0.811914908115,0.811970873187,0.812026830796,0.81208278094,0.81213872362,0.812194658836,0.812250586585,0.812306506869,0.812362419686,0.812418325036,0.812474222918,0.812530113333,0.812585996278,0.812641871755,0.812697739762,0.812753600299,0.812809453365,0.81286529896,0.812921137083,0.812976967734,0.813032790913,0.813088606618,0.813144414849,0.813200215606,0.813256008889,0.813311794696,0.813367573027,0.813423343883,0.813479107261,0.813534863162,0.813590611585,0.81364635253,0.813702085995,0.813757811982,0.813813530489,0.813869241515,0.81392494506,0.813980641124,0.814036329706,0.814092010805,0.814147684422,0.814203350555,0.814259009204,0.814314660369,0.814370304048,0.814425940242,0.81448156895,0.814537190172,0.814592803906,0.814648410153,0.814704008912,0.814759600182,0.814815183964,0.814870760255,0.814926329057,0.814981890367,0.815037444187,0.815092990515,0.815148529351,0.815204060694,0.815259584544,0.8153151009,0.815370609762,0.81542611113,0.815481605002,0.815537091378,0.815592570259,0.815648041642,0.815703505528,0.815758961917,0.815814410807,0.815869852198,0.81592528609,0.815980712482,0.816036131374,0.816091542765,0.816146946655,0.816202343043,0.816257731928,0.816313113311,0.81636848719,0.816423853566,0.816479212437,0.816534563803,0.816589907664,0.816645244018,0.816700572867,0.816755894208,0.816811208042,0.816866514368,0.816921813186,0.816977104494,0.817032388294,0.817087664583,0.817142933361,0.817198194629,0.817253448385,0.817308694629,0.817363933361,0.817419164579,0.817474388284,0.817529604475,0.817584813152,0.817640014313,0.817695207959,0.817750394088,0.817805572701,0.817860743797,0.817915907376,0.817971063436,0.818026211978,0.818081353,0.818136486503,0.818191612486,0.818246730948,0.818301841889,0.818356945309,0.818412041206,0.81846712958,0.818522210432,0.818577283759,0.818632349563,0.818687407842,0.818742458595,0.818797501823,0.818852537525,0.8189075657,0.818962586347,0.819017599467,0.819072605059,0.819127603122,0.819182593656,0.81923757666,0.819292552134,0.819347520077,0.819402480489,0.819457433369,0.819512378716,0.819567316531,0.819622246813,0.819677169561,0.819732084774,0.819786992453,0.819841892596,0.819896785204,0.819951670275,0.82000654781,0.820061417807,0.820116280266,0.820171135187,0.820225982569,0.820280822412,0.820335654715,0.820390479478,0.8204452967,0.82050010638,0.820554908519,0.820609703115,0.820664490168,0.820719269678,0.820774041644,0.820828806066,0.820883562943,0.820938312274,0.82099305406,0.821047788299,0.821102514991,0.821157234136,0.821211945733,0.821266649781,0.821321346281,0.821376035231,0.821430716632,0.821485390482,0.821540056781,0.821594715528,0.821649366724,0.821704010367,0.821758646457,0.821813274994,0.821867895977,0.821922509406,0.821977115279,0.822031713597,0.82208630436,0.822140887565,0.822195463214,0.822250031306,0.822304591839,0.822359144814,0.82241369023,0.822468228087,0.822522758383,0.822577281119,0.822631796295,0.822686303908,0.82274080396,0.822795296449,0.822849781376,0.822904258739,0.822958728538,0.823013190772,0.823067645442,0.823122092546,0.823176532084,0.823230964056,0.82328538846,0.823339805298,0.823394214567,0.823448616268,0.8235030104,0.823557396962,0.823611775954,0.823666147376,0.823720511227,0.823774867507,0.823829216215,0.82388355735,0.823937890912,0.8239922169,0.824046535315,0.824100846156,0.824155149421,0.824209445111,0.824263733225,0.824318013762,0.824372286723,0.824426552106,0.824480809911,0.824535060137,0.824589302785,0.824643537853,0.824697765342,0.824751985249,0.824806197576,0.824860402322,0.824914599485,0.824968789066,0.825022971065,0.825077145479,0.82513131231,0.825185471556,0.825239623218,0.825293767294,0.825347903784,0.825402032688,0.825456154004,0.825510267734,0.825564373875,0.825618472428,0.825672563392,0.825726646767,0.825780722552,0.825834790746,0.82588885135,0.825942904362,0.825996949782,0.82605098761,0.826105017845,0.826159040486,0.826213055534,0.826267062987,0.826321062846,0.826375055109,0.826429039776,0.826483016847,0.826536986321,0.826590948197,0.826644902476,0.826698849157,0.826752788238,0.826806719721,0.826860643603,0.826914559885,0.826968468567,0.827022369647,0.827076263125,0.827130149001,0.827184027274,0.827237897943,0.827291761009,0.827345616471,0.827399464328,0.82745330458,0.827507137226,0.827560962265,0.827614779698,0.827668589524,0.827722391741,0.827776186351,0.827829973352,0.827883752743,0.827937524525,0.827991288697,0.828045045258,0.828098794207,0.828152535545,0.828206269271,0.828259995384,0.828313713884,0.828367424771,0.828421128043,0.8284748237,0.828528511742,0.828582192169,0.828635864979,0.828689530173,0.82874318775,0.828796837709,0.82885048005,0.828904114772,0.828957741875,0.829011361359,0.829064973222,0.829118577465,0.829172174087,0.829225763087,0.829279344465,0.829332918221,0.829386484353,0.829440042862,0.829493593747,0.829547137008,0.829600672643,0.829654200653,0.829707721037,0.829761233795,0.829814738925,0.829868236428,0.829921726303,0.829975208549,0.830028683167,0.830082150155,0.830135609513,0.830189061241,0.830242505338,0.830295941803,0.830349370637,0.830402791838,0.830456205406,0.830509611341,0.830563009642,0.830616400309,0.830669783341,0.830723158737,0.830776526498,0.830829886622,0.83088323911,0.83093658396,0.830989921172,0.831043250746,0.831096572682,0.831149886978,0.831203193634,0.83125649265,0.831309784026,0.83136306776,0.831416343852,0.831469612303,0.83152287311,0.831576126274,0.831629371795,0.831682609672,0.831735839904,0.83178906249,0.831842277432,0.831895484727,0.831948684375,0.832001876376,0.83205506073,0.832108237436,0.832161406493,0.832214567901,0.832267721659,0.832320867768,0.832374006226,0.832427137033,0.832480260188,0.832533375692,0.832586483543,0.832639583741,0.832692676286,0.832745761176,0.832798838413,0.832851907994,0.83290496992,0.83295802419,0.833011070804,0.833064109761,0.83311714106,0.833170164702,0.833223180685,0.83327618901,0.833329189675,0.833382182681,0.833435168026,0.83348814571,0.833541115733,0.833594078095,0.833647032794,0.833699979831,0.833752919204,0.833805850914,0.833858774959,0.83391169134,0.833964600056,0.834017501106,0.83407039449,0.834123280207,0.834176158258,0.83422902864,0.834281891355,0.834334746401,0.834387593778,0.834440433486,0.834493265524,0.834546089891,0.834598906587,0.834651715612,0.834704516965,0.834757310645,0.834810096652,0.834862874986,0.834915645647,0.834968408632,0.835021163943,0.835073911579,0.835126651539,0.835179383822,0.835232108429,0.835284825358,0.83533753461,0.835390236183,0.835442930078,0.835495616294,0.835548294829,0.835600965685,0.83565362886,0.835706284354,0.835758932166,0.835811572296,0.835864204743,0.835916829508,0.835969446589,0.836022055985,0.836074657698,0.836127251725,0.836179838066,0.836232416722,0.836284987691,0.836337550974,0.836390106568,0.836442654475,0.836495194694,0.836547727224,0.836600252064,0.836652769214,0.836705278674,0.836757780444,0.836810274522,0.836862760908,0.836915239602,0.836967710603,0.837020173911,0.837072629525,0.837125077445,0.837177517671,0.837229950201,0.837282375035,0.837334792174,0.837387201616,0.83743960336,0.837491997408,0.837544383757,0.837596762407,0.837649133359,0.837701496611,0.837753852163,0.837806200015,0.837858540166,0.837910872615,0.837963197363,0.838015514408,0.83806782375,0.838120125389,0.838172419324,0.838224705555,0.838276984081,0.838329254902,0.838381518017,0.838433773425,0.838486021127,0.838538261122,0.838590493409,0.838642717989,0.838694934859,0.83874714402,0.838799345472,0.838851539214,0.838903725245,0.838955903565,0.839008074174,0.83906023707,0.839112392254,0.839164539726,0.839216679484,0.839268811527,0.839320935857,0.839373052472,0.839425161371,0.839477262555,0.839529356022,0.839581441772,0.839633519805,0.839685590121,0.839737652718,0.839789707597,0.839841754756,0.839893794196,0.839945825916,0.839997849915,0.840049866193,0.840101874749,0.840153875583,0.840205868695,0.840257854084,0.84030983175,0.840361801691,0.840413763908,0.8404657184,0.840517665167,0.840569604208,0.840621535522,0.84067345911,0.84072537497,0.840777283103,0.840829183508,0.840881076183,0.84093296113,0.840984838347,0.841036707833,0.841088569589,0.841140423614,0.841192269908,0.841244108469,0.841295939298,0.841347762394,0.841399577756,0.841451385384,0.841503185278,0.841554977437,0.84160676186,0.841658538548,0.841710307499,0.841762068714,0.841813822191,0.841865567931,0.841917305932,0.841969036194,0.842020758718,0.842072473501,0.842124180545,0.842175879848,0.842227571409,0.842279255229,0.842330931308,0.842382599643,0.842434260236,0.842485913085,0.84253755819,0.842589195551,0.842640825167,0.842692447037,0.842744061162,0.84279566754,0.842847266172,0.842898857056,0.842950440192,0.84300201558,0.84305358322,0.84310514311,0.843156695251,0.843208239642,0.843259776282,0.843311305171,0.843362826308,0.843414339694,0.843465845327,0.843517343207,0.843568833333,0.843620315706,0.843671790324,0.843723257188,0.843774716296,0.843826167648,0.843877611244,0.843929047084,0.843980475166,0.84403189549,0.844083308056,0.844134712864,0.844186109912,0.844237499201,0.84428888073,0.844340254499,0.844391620506,0.844442978752,0.844494329236,0.844545671957,0.844597006916,0.844648334111,0.844699653543,0.84475096521,0.844802269113,0.84485356525,0.844904853621,0.844956134226,0.845007407065,0.845058672137,0.845109929441,0.845161178976,0.845212420744,0.845263654742,0.845314880971,0.84536609943,0.845417310118,0.845468513036,0.845519708182,0.845570895556,0.845622075158,0.845673246987,0.845724411043,0.845775567326,0.845826715834,0.845877856567,0.845928989525,0.845980114708,0.846031232115,0.846082341745,0.846133443598,0.846184537674,0.846235623971,0.846286702491,0.846337773231,0.846388836192,0.846439891373,0.846490938774,0.846541978394,0.846593010233,0.84664403429,0.846695050565,0.846746059058,0.846797059767,0.846848052693,0.846899037834,0.846950015192,0.847000984764,0.84705194655,0.847102900551,0.847153846766,0.847204785193,0.847255715833,0.847306638686,0.84735755375,0.847408461025,0.847459360512,0.847510252208,0.847561136115,0.847612012231,0.847662880555,0.847713741089,0.84776459383,0.847815438779,0.847866275935,0.847917105297,0.847967926866,0.84801874064,0.848069546619,0.848120344803,0.848171135192,0.848221917784,0.848272692579,0.848323459578,0.848374218779,0.848424970181,0.848475713785,0.848526449591,0.848577177596,0.848627897802,0.848678610207,0.848729314812,0.848780011615,0.848830700616,0.848881381815,0.848932055212,0.848982720805,0.849033378594,0.84908402858,0.84913467076,0.849185305136,0.849235931706,0.84928655047,0.849337161428,0.849387764579,0.849438359922,0.849488947457,0.849539527185,0.849590099103,0.849640663212,0.849691219512,0.849741768001,0.849792308679,0.849842841547,0.849893366603,0.849943883847,0.849994393278,0.850044894897,0.850095388702,0.850145874693,0.850196352869,0.850246823231,0.850297285778,0.850347740509,0.850398187424,0.850448626522,0.850499057802,0.850549481266,0.850599896911,0.850650304737,0.850700704745,0.850751096933,0.850801481302,0.850851857849,0.850902226576,0.850952587482,0.851002940566,0.851053285828,0.851103623267,0.851153952883,0.851204274675,0.851254588643,0.851304894787,0.851355193105,0.851405483598,0.851455766266,0.851506041106,0.85155630812,0.851606567307,0.851656818666,0.851707062196,0.851757297898,0.851807525771,0.851857745814,0.851907958027,0.851958162409,0.85200835896,0.85205854768,0.852108728568,0.852158901624,0.852209066847,0.852259224236,0.852309373792,0.852359515513,0.8524096494,0.852459775451,0.852509893667,0.852560004047,0.85261010659,0.852660201296,0.852710288165,0.852760367196,0.852810438388,0.852860501742,0.852910557256,0.85296060493,0.853010644765,0.853060676758,0.853110700911,0.853160717221,0.85321072569,0.853260726316,0.8533107191,0.853360704039,0.853410681135,0.853460650387,0.853510611793,0.853560565355,0.85361051107,0.85366044894,0.853710378962,0.853760301138,0.853810215466,0.853860121946,0.853910020578,0.85395991136,0.854009794293,0.854059669377,0.85410953661,0.854159395992,0.854209247523,0.854259091202,0.854308927029,0.854358755003,0.854408575125,0.854458387392,0.854508191806,0.854557988365,0.85460777707,0.854657557919,0.854707330912,0.854757096049,0.854806853329,0.854856602752,0.854906344317,0.854956078025,0.855005803873,0.855055521863,0.855105231993,0.855154934263,0.855204628673,0.855254315222,0.855303993909,0.855353664735,0.855403327699,0.8554529828,0.855502630037,0.855552269412,0.855601900922,0.855651524567,0.855701140348,0.855750748263,0.855800348313,0.855849940496,0.855899524812,0.855949101261,0.855998669842,0.856048230555,0.8560977834,0.856147328375,0.856196865481,0.856246394717,0.856295916083,0.856345429577,0.8563949352,0.856444432952,0.856493922831,0.856543404838,0.856592878971,0.856642345231,0.856691803616,0.856741254128,0.856790696764,0.856840131525,0.856889558409,0.856938977418,0.85698838855,0.857037791804,0.857087187181,0.857136574679,0.857185954299,0.85723532604,0.857284689901,0.857334045883,0.857383393984,0.857432734204,0.857482066543,0.857531390999,0.857580707574,0.857630016266,0.857679317075,0.85772861,0.857777895041,0.857827172198,0.85787644147,0.857925702856,0.857974956357,0.858024201971,0.858073439698,0.858122669538,0.858171891491,0.858221105555,0.858270311731,0.858319510017,0.858368700414,0.858417882922,0.858467057538,0.858516224264,0.858565383099,0.858614534042,0.858663677093,0.858712812251,0.858761939516,0.858811058887,0.858860170365,0.858909273948,0.858958369636,0.859007457429,0.859056537325,0.859105609326,0.85915467343,0.859203729637,0.859252777946,0.859301818357,0.85935085087,0.859399875483,0.859448892197,0.859497901012,0.859546901926,0.859595894939,0.859644880051,0.859693857261,0.859742826569,0.859791787975,0.859840741477,0.859889687077,0.859938624772,0.859987554563,0.860036476449,0.860085390429,0.860134296504,0.860183194673,0.860232084935,0.860280967291,0.860329841738,0.860378708278,0.860427566909,0.860476417632,0.860525260445,0.860574095348,0.860622922341,0.860671741424,0.860720552595,0.860769355855,0.860818151202,0.860866938638,0.86091571816,0.860964489769,0.861013253464,0.861062009245,0.861110757112,0.861159497063,0.861208229099,0.861256953218,0.861305669421,0.861354377707,0.861403078076,0.861451770527,0.861500455059,0.861549131673,0.861597800368,0.861646461143,0.861695113998,0.861743758933,0.861792395946,0.861841025038,0.861889646209,0.861938259456,0.861986864782,0.862035462184,0.862084051662,0.862132633216,0.862181206846,0.862229772551,0.86227833033,0.862326880184,0.862375422111,0.862423956111,0.862472482184,0.86252100033,0.862569510547,0.862618012836,0.862666507196,0.862714993626,0.862763472126,0.862811942697,0.862860405336,0.862908860044,0.862957306821,0.863005745665,0.863054176577,0.863102599555,0.863151014601,0.863199421712,0.863247820889,0.863296212131,0.863344595439,0.86339297081,0.863441338245,0.863489697744,0.863538049305,0.86358639293,0.863634728616,0.863683056364,0.863731376173,0.863779688043,0.863827991973,0.863876287963,0.863924576013,0.863972856122,0.864021128289,0.864069392514,0.864117648797,0.864165897137,0.864214137534,0.864262369987,0.864310594496,0.864358811061,0.86440701968,0.864455220354,0.864503413082,0.864551597864,0.864599774699,0.864647943587,0.864696104527,0.864744257519,0.864792402563,0.864840539658,0.864888668803,0.864936789998,0.864984903243,0.865033008537,0.86508110588,0.865129195272,0.865177276711,0.865225350198,0.865273415731,0.865321473312,0.865369522938,0.865417564611,0.865465598328,0.865513624091,0.865561641897,0.865609651748,0.865657653642,0.865705647579,0.865753633559,0.865801611581,0.865849581645,0.86589754375,0.865945497896,0.865993444082,0.866041382309,0.866089312575,0.86613723488,0.866185149223,0.866233055605,0.866280954025,0.866328844481,0.866376726975,0.866424601505,0.866472468072,0.866520326674,0.866568177311,0.866616019982,0.866663854688,0.866711681428,0.866759500201,0.866807311007,0.866855113845,0.866902908716,0.866950695618,0.866998474552,0.867046245516,0.86709400851,0.867141763534,0.867189510588,0.867237249671,0.867284980782,0.867332703921,0.867380419088,0.867428126282,0.867475825503,0.867523516751,0.867571200024,0.867618875323,0.867666542646,0.867714201995,0.867761853367,0.867809496763,0.867857132183,0.867904759625,0.86795237909,0.867999990577,0.868047594085,0.868095189614,0.868142777164,0.868190356734,0.868237928324,0.868285491934,0.868333047562,0.868380595209,0.868428134873,0.868475666556,0.868523190255,0.868570705971,0.868618213704,0.868665713452,0.868713205216,0.868760688995,0.868808164788,0.868855632595,0.868903092416,0.868950544251,0.868997988098,0.869045423957,0.869092851828,0.869140271711,0.869187683605,0.86923508751,0.869282483424,0.869329871349,0.869377251282,0.869424623225,0.869471987176,0.869519343135,0.869566691101,0.869614031075,0.869661363056,0.869708687042,0.869756003035,0.869803311033,0.869850611035,0.869897903043,0.869945187054,0.869992463069,0.870039731088,0.870086991109,0.870134243132,0.870181487157,0.870228723184,0.870275951212,0.870323171241,0.870370383269,0.870417587298,0.870464783325,0.870511971352,0.870559151377,0.8706063234,0.870653487421,0.870700643438,0.870747791453,0.870794931464,0.87084206347,0.870889187472,0.870936303469,0.87098341146,0.871030511446,0.871077603425,0.871124687398,0.871171763363,0.871218831321,0.87126589127,0.871312943212,0.871359987144,0.871407023067,0.87145405098,0.871501070883,0.871548082775,0.871595086656,0.871642082526,0.871689070383,0.871736050229,0.871783022061,0.87182998588,0.871876941686,0.871923889477,0.871970829254,0.872017761016,0.872064684763,0.872111600493,0.872158508208,0.872205407906,0.872252299586,0.872299183249,0.872346058894,0.872392926521,0.872439786129,0.872486637717,0.872533481286,0.872580316835,0.872627144363,0.87267396387,0.872720775356,0.87276757882,0.872814374261,0.87286116168,0.872907941076,0.872954712448,0.873001475796,0.87304823112,0.873094978418,0.873141717692,0.873188448939,0.873235172161,0.873281887356,0.873328594524,0.873375293664,0.873421984777,0.873468667861,0.873515342917,0.873562009943,0.87360866894,0.873655319907,0.873701962843,0.873748597749,0.873795224623,0.873841843465,0.873888454276,0.873935057053,0.873981651798,0.874028238509,0.874074817186,0.874121387829,0.874167950438,0.874214505011,0.874261051548,0.87430759005,0.874354120515,0.874400642943,0.874447157334,0.874493663687,0.874540162002,0.874586652278,0.874633134516,0.874679608713,0.874726074872,0.874772532989,0.874818983066,0.874865425102,0.874911859097,0.874958285049,0.875004702959,0.875051112826,0.87509751465,0.87514390843,0.875190294165,0.875236671857,0.875283041503,0.875329403104,0.875375756659,0.875422102168,0.87546843963,0.875514769045,0.875561090413,0.875607403732,0.875653709003,0.875700006226,0.875746295399,0.875792576522,0.875838849595,0.875885114618,0.87593137159,0.87597762051,0.876023861379,0.876070094195,0.876116318959,0.87616253567,0.876208744327,0.87625494493,0.876301137479,0.876347321973,0.876393498412,0.876439666796,0.876485827123,0.876531979394,0.876578123608,0.876624259764,0.876670387863,0.876716507904,0.876762619886,0.876808723809,0.876854819673,0.876900907477,0.87694698722,0.876993058903,0.877039122525,0.877085178085,0.877131225583,0.877177265019,0.877223296392,0.877269319701,0.877315334947,0.877361342129,0.877407341246,0.877453332299,0.877499315286,0.877545290207,0.877591257062,0.877637215851,0.877683166572,0.877729109226,0.877775043812,0.87782097033,0.877866888779,0.877912799159,0.877958701469,0.878004595709,0.878050481879,0.878096359978,0.878142230005,0.878188091961,0.878233945845,0.878279791657,0.878325629395,0.87837145906,0.878417280651,0.878463094168,0.87850889961,0.878554696977,0.878600486269,0.878646267485,0.878692040625,0.878737805687,0.878783562673,0.878829311581,0.878875052411,0.878920785162,0.878966509835,0.879012226429,0.879057934942,0.879103635376,0.879149327729,0.879195012001,0.879240688192,0.879286356301,0.879332016328,0.879377668272,0.879423312133,0.879468947911,0.879514575604,0.879560195214,0.879605806739,0.879651410178,0.879697005532,0.8797425928,0.879788171982,0.879833743076,0.879879306084,0.879924861004,0.879970407836,0.880015946579,0.880061477233,0.880106999798,0.880152514274,0.880198020659,0.880243518953,0.880289009157,0.880334491269,0.880379965289,0.880425431217,0.880470889052,0.880516338794,0.880561780443,0.880607213998,0.880652639458,0.880698056824,0.880743466094,0.880788867269,0.880834260348,0.88087964533,0.880925022216,0.880970391004,0.881015751694,0.881061104287,0.881106448781,0.881151785176,0.881197113471,0.881242433667,0.881287745763,0.881333049758,0.881378345652,0.881423633444,0.881468913135,0.881514184723,0.881559448209,0.881604703592,0.881649950871,0.881695190046,0.881740421117,0.881785644083,0.881830858944,0.881876065699,0.881921264348,0.881966454891,0.882011637327,0.882056811656,0.882101977877,0.88214713599,0.882192285994,0.88223742789,0.882282561676,0.882327687352,0.882372804919,0.882417914374,0.882463015719,0.882508108952,0.882553194074,0.882598271083,0.88264333998,0.882688400763,0.882733453433,0.882778497989,0.882823534431,0.882868562758,0.88291358297,0.882958595066,0.883003599047,0.883048594911,0.883093582658,0.883138562288,0.883183533801,0.883228497195,0.883273452471,0.883318399628,0.883363338666,0.883408269584,0.883453192382,0.883498107059,0.883543013616,0.883587912051,0.883632802365,0.883677684556,0.883722558625,0.883767424571,0.883812282393,0.883857132091,0.883901973666,0.883946807116,0.88399163244,0.884036449639,0.884081258713,0.88412605966,0.88417085248,0.884215637173,0.884260413739,0.884305182177,0.884349942486,0.884394694667,0.884439438718,0.88448417464,0.884528902432,0.884573622094,0.884618333624,0.884663037024,0.884707732292,0.884752419428,0.884797098431,0.884841769301,0.884886432039,0.884931086642,0.884975733112,0.885020371447,0.885065001647,0.885109623711,0.88515423764,0.885198843433,0.885243441089,0.885288030609,0.885332611991,0.885377185235,0.885421750341,0.885466307308,0.885510856136,0.885555396825,0.885599929374,0.885644453783,0.885688970051,0.885733478178,0.885777978164,0.885822470007,0.885866953709,0.885911429268,0.885955896683,0.886000355955,0.886044807084,0.886089250067,0.886133684907,0.8861781116,0.886222530149,0.886266940551,0.886311342807,0.886355736917,0.886400122879,0.886444500693,0.88648887036,0.886533231878,0.886577585247,0.886621930467,0.886666267537,0.886710596458,0.886754917228,0.886799229847,0.886843534314,0.88688783063,0.886932118794,0.886976398806,0.887020670664,0.88706493437,0.887109189921,0.887153437319,0.887197676562,0.88724190765,0.887286130582,0.887330345359,0.88737455198,0.887418750444,0.887462940752,0.887507122901,0.887551296894,0.887595462728,0.887639620403,0.887683769919,0.887727911276,0.887772044473,0.88781616951,0.887860286387,0.887904395102,0.887948495656,0.887992588048,0.888036672278,0.888080748345,0.888124816249,0.88816887599,0.888212927566,0.888256970979,0.888301006227,0.88834503331,0.888389052227,0.888433062978,0.888477065564,0.888521059982,0.888565046233,0.888609024317,0.888652994233,0.888696955981,0.88874090956,0.88878485497,0.88882879221,0.88887272128,0.88891664218,0.88896055491,0.889004459468,0.889048355855,0.889092244069,0.889136124112,0.889179995981,0.889223859678,0.889267715201,0.88931156255,0.889355401724,0.889399232724,0.889443055549,0.889486870198,0.889530676671,0.889574474968,0.889618265088,0.889662047031,0.889705820796,0.889749586383,0.889793343792,0.889837093022,0.889880834073,0.889924566944,0.889968291635,0.890012008146,0.890055716476,0.890099416625,0.890143108592,0.890186792378,0.890230467981,0.890274135401,0.890317794637,0.890361445691,0.89040508856,0.890448723245,0.890492349745,0.89053596806,0.890579578189,0.890623180132,0.890666773889,0.890710359459,0.890753936841,0.890797506036,0.890841067043,0.890884619862,0.890928164492,0.890971700932,0.891015229183,0.891058749244,0.891102261115,0.891145764795,0.891189260283,0.89123274758,0.891276226685,0.891319697597,0.891363160317,0.891406614843,0.891450061176,0.891493499315,0.891536929259,0.891580351009,0.891623764563,0.891667169922,0.891710567084,0.891753956051,0.89179733682,0.891840709392,0.891884073767,0.891927429944,0.891970777922,0.892014117701,0.892057449282,0.892100772662,0.892144087843,0.892187394823,0.892230693602,0.892273984181,0.892317266557,0.892360540732,0.892403806704,0.892447064474,0.89249031404,0.892533555403,0.892576788562,0.892620013516,0.892663230265,0.89270643881,0.892749639149,0.892792831282,0.892836015208,0.892879190928,0.892922358441,0.892965517746,0.893008668843,0.893051811732,0.893094946412,0.893138072883,0.893181191144,0.893224301196,0.893267403037,0.893310496667,0.893353582086,0.893396659294,0.89343972829,0.893482789074,0.893525841644,0.893568886002,0.893611922146,0.893654950077,0.893697969793,0.893740981294,0.893783984581,0.893826979651,0.893869966506,0.893912945145,0.893955915567,0.893998877772,0.89404183176,0.89408477753,0.894127715081,0.894170644414,0.894213565528,0.894256478422,0.894299383097,0.894342279551,0.894385167785,0.894428047798,0.894470919589,0.894513783159,0.894556638506,0.894599485631,0.894642324533,0.894685155212,0.894727977667,0.894770791897,0.894813597903,0.894856395685,0.89489918524,0.894941966571,0.894984739675,0.895027504552,0.895070261203,0.895113009626,0.895155749822,0.895198481789,0.895241205528,0.895283921039,0.89532662832,0.895369327371,0.895412018192,0.895454700783,0.895497375143,0.895540041272,0.895582699169,0.895625348834,0.895667990267,0.895710623467,0.895753248434,0.895795865167,0.895838473666,0.895881073931,0.895923665961,0.895966249756,0.896008825316,0.896051392639,0.896093951727,0.896136502577,0.896179045191,0.896221579567,0.896264105705,0.896306623604,0.896349133266,0.896391634688,0.89643412787,0.896476612813,0.896519089516,0.896561557978,0.896604018199,0.896646470179,0.896688913917,0.896731349412,0.896773776665,0.896816195676,0.896858606442,0.896901008965,0.896943403244,0.896985789279,0.897028167068,0.897070536613,0.897112897911,0.897155250964,0.89719759577,0.897239932329,0.897282260641,0.897324580705,0.897366892522,0.89740919609,0.897451491409,0.897493778479,0.897536057299,0.89757832787,0.89762059019,0.897662844259,0.897705090077,0.897747327644,0.897789556959,0.897831778021,0.897873990831,0.897916195388,0.897958391691,0.898000579741,0.898042759536,0.898084931077,0.898127094362,0.898169249393,0.898211396167,0.898253534685,0.898295664947,0.898337786952,0.898379900699,0.898422006189,0.898464103421,0.898506192394,0.898548273108,0.898590345563,0.898632409759,0.898674465694,0.898716513369,0.898758552783,0.898800583936,0.898842606827,0.898884621457,0.898926627824,0.898968625928,0.899010615769,0.899052597347,0.89909457066,0.89913653571,0.899178492495,0.899220441014,0.899262381269,0.899304313257,0.899346236979,0.899388152435,0.899430059624,0.899471958545,0.899513849198,0.899555731584,0.899597605701,0.899639471549,0.899681329127,0.899723178436,0.899765019475,0.899806852244,0.899848676742,0.899890492968,0.899932300923,0.899974100606,0.900015892016,0.900057675154,0.900099450019,0.90014121661,0.900182974927,0.90022472497,0.900266466738,0.900308200231,0.900349925449,0.900391642391,0.900433351056,0.900475051445,0.900516743558,0.900558427392,0.900600102949,0.900641770228,0.900683429229,0.90072507995,0.900766722392,0.900808356555,0.900849982438,0.90089160004,0.900933209361,0.900974810401,0.90101640316,0.901057987636,0.901099563831,0.901141131742,0.901182691371,0.901224242716,0.901265785777,0.901307320554,0.901348847046,0.901390365253,0.901431875175,0.901473376811,0.901514870161,0.901556355225,0.901597832001,0.90163930049,0.901680760692,0.901722212606,0.901763656231,0.901805091567,0.901846518614,0.901887937371,0.901929347839,0.901970750016,0.902012143902,0.902053529498,0.902094906802,0.902136275814,0.902177636533,0.902218988961,0.902260333095,0.902301668935,0.902342996482,0.902384315735,0.902425626694,0.902466929357,0.902508223725,0.902549509798,0.902590787574,0.902632057054,0.902673318237,0.902714571123,0.902755815712,0.902797052002,0.902838279995,0.902879499688,0.902920711082,0.902961914177,0.903003108973,0.903044295468,0.903085473662,0.903126643555,0.903167805147,0.903208958438,0.903250103426,0.903291240112,0.903332368495,0.903373488574,0.90341460035,0.903455703822,0.90349679899,0.903537885853,0.903578964411,0.903620034663,0.903661096609,0.903702150249,0.903743195583,0.903784232609,0.903825261328,0.90386628174,0.903907293843,0.903948297638,0.903989293123,0.9040302803,0.904071259167,0.904112229724,0.90415319197,0.904194145906,0.90423509153,0.904276028843,0.904316957844,0.904357878533,0.904398790909,0.904439694972,0.904480590721,0.904521478157,0.904562357279,0.904603228086,0.904644090578,0.904684944755,0.904725790616,0.904766628162,0.90480745739,0.904848278302,0.904889090897,0.904929895174,0.904970691134,0.905011478775,0.905052258097,0.9050930291,0.905133791784,0.905174546148,0.905215292192,0.905256029916,0.905296759318,0.905337480399,0.905378193159,0.905418897596,0.905459593711,0.905500281504,0.905540960973,0.905581632118,0.90562229494,0.905662949437,0.90570359561,0.905744233458,0.90578486298,0.905825484176,0.905866097047,0.90590670159,0.905947297807,0.905987885697,0.906028465259,0.906069036493,0.906109599398,0.906150153975,0.906190700223,0.906231238141,0.906271767729,0.906312288987,0.906352801915,0.906393306511,0.906433802776,0.906474290709,0.90651477031,0.906555241579,0.906595704515,0.906636159117,0.906676605386,0.906717043321,0.906757472922,0.906797894188,0.906838307119,0.906878711714,0.906919107974,0.906959495897,0.906999875484,0.907040246734,0.907080609646,0.907120964221,0.907161310458,0.907201648356,0.907241977915,0.907282299136,0.907322612016,0.907362916557,0.907403212758,0.907443500618,0.907483780137,0.907524051314,0.90756431415,0.907604568643,0.907644814795,0.907685052603,0.907725282068,0.907765503189,0.907805715966,0.907845920399,0.907886116488,0.907926304231,0.907966483629,0.90800665468,0.908046817386,0.908086971745,0.908127117757,0.908167255422,0.908207384739,0.908247505709,0.908287618329,0.908327722601,0.908367818524,0.908407906097,0.908447985321,0.908488056194,0.908528118716,0.908568172888,0.908608218708,0.908648256176,0.908688285293,0.908728306056,0.908768318467,0.908808322525,0.908848318229,0.90888830558,0.908928284576,0.908968255217,0.909008217503,0.909048171434,0.909088117009,0.909128054228,0.909167983091,0.909207903596,0.909247815744,0.909287719535,0.909327614968,0.909367502042,0.909407380758,0.909447251114,0.909487113112,0.909526966749,0.909566812026,0.909606648943,0.909646477498,0.909686297693,0.909726109525,0.909765912996,0.909805708105,0.90984549485,0.909885273233,0.909925043252,0.909964804907,0.910004558198,0.910044303125,0.910084039686,0.910123767883,0.910163487713,0.910203199178,0.910242902276,0.910282597007,0.910322283372,0.910361961368,0.910401630997,0.910441292258,0.91048094515,0.910520589673,0.910560225827,0.910599853612,0.910639473026,0.91067908407,0.910718686743,0.910758281044,0.910797866975,0.910837444533,0.91087701372,0.910916574533,0.910956126974,0.910995671042,0.911035206735,0.911074734055,0.911114253001,0.911153763571,0.911193265767,0.911232759586,0.911272245031,0.911311722098,0.91135119079,0.911390651104,0.911430103041,0.911469546601,0.911508981782,0.911548408585,0.911587827009,0.911627237054,0.91166663872,0.911706032005,0.911745416911,0.911784793436,0.91182416158,0.911863521343,0.911902872724,0.911942215723,0.91198155034,0.912020876574,0.912060194424,0.912099503892,0.912138804975,0.912178097675,0.91221738199,0.91225665792,0.912295925464,0.912335184623,0.912374435396,0.912413677783,0.912452911783,0.912492137396,0.912531354622,0.912570563459,0.912609763909,0.91264895597,0.912688139642,0.912727314925,0.912766481818,0.912805640322,0.912844790435,0.912883932157,0.912923065488,0.912962190428,0.913001306977,0.913040415133,0.913079514896,0.913118606267,0.913157689245,0.913196763829,0.913235830019,0.913274887815,0.913313937216,0.913352978222,0.913392010833,0.913431035049,0.913470050868,0.91350905829,0.913548057316,0.913587047945,0.913626030177,0.91366500401,0.913703969445,0.913742926482,0.91378187512,0.913820815358,0.913859747197,0.913898670636,0.913937585674,0.913976492312,0.914015390549,0.914054280384,0.914093161817,0.914132034849,0.914170899478,0.914209755704,0.914248603526,0.914287442945,0.914326273961,0.914365096571,0.914403910778,0.914442716579,0.914481513975,0.914520302965,0.914559083549,0.914597855727,0.914636619498,0.914675374862,0.914714121818,0.914752860366,0.914791590506,0.914830312238,0.914869025561,0.914907730474,0.914946426978,0.914985115072,0.915023794755,0.915062466028,0.915101128889,0.91513978334,0.915178429378,0.915217067005,0.915255696218,0.915294317019,0.915332929407,0.915371533382,0.915410128942,0.915448716088,0.91548729482,0.915525865136,0.915564427038,0.915602980523,0.915641525593,0.915680062246,0.915718590483,0.915757110302,0.915795621704,0.915834124688,0.915872619254,0.915911105402,0.91594958313,0.91598805244,0.916026513329,0.916064965799,0.916103409849,0.916141845478,0.916180272686,0.916218691473,0.916257101838,0.916295503781,0.916333897301,0.916372282399,0.916410659074,0.916449027325,0.916487387153,0.916525738556,0.916564081535,0.916602416089,0.916640742218,0.916679059921,0.916717369198,0.916755670049,0.916793962474,0.916832246471,0.916870522041,0.916908789184,0.916947047898,0.916985298184,0.917023540041,0.91706177347,0.917099998468,0.917138215037,0.917176423176,0.917214622885,0.917252814162,0.917290997008,0.917329171423,0.917367337406,0.917405494957,0.917443644075,0.91748178476,0.917519917012,0.91755804083,0.917596156214,0.917634263164,0.917672361679,0.917710451759,0.917748533404,0.917786606613,0.917824671385,0.917862727722,0.917900775621,0.917938815084,0.917976846109,0.918014868696,0.918052882845,0.918090888555,0.918128885827,0.918166874659,0.918204855051,0.918242827004,0.918280790517,0.918318745588,0.918356692219,0.918394630408,0.918432560156,0.918470481462,0.918508394325,0.918546298746,0.918584194723,0.918622082257,0.918659961348,0.918697831994,0.918735694196,0.918773547952,0.918811393264,0.91884923013,0.918887058551,0.918924878525,0.918962690052,0.919000493133,0.919038287766,0.919076073952,0.91911385169,0.91915162098,0.919189381821,0.919227134212,0.919264878155,0.919302613648,0.919340340691,0.919378059283,0.919415769425,0.919453471116,0.919491164355,0.919528849142,0.919566525478,0.919604193361,0.919641852791,0.919679503768,0.919717146291,0.919754780361,0.919792405976,0.919830023137,0.919867631843,0.919905232094,0.919942823889,0.919980407229,0.920017982112,0.920055548538,0.920093106508,0.92013065602,0.920168197074,0.920205729671,0.920243253809,0.920280769489,0.920318276709,0.92035577547,0.920393265772,0.920430747613,0.920468220994,0.920505685914,0.920543142373,0.920580590371,0.920618029907,0.920655460981,0.920692883592,0.920730297741,0.920767703426,0.920805100648,0.920842489406,0.9208798697,0.920917241529,0.920954604894,0.920991959793,0.921029306227,0.921066644194,0.921103973696,0.921141294731,0.921178607299,0.921215911399,0.921253207033,0.921290494198,0.921327772894,0.921365043123,0.921402304882,0.921439558172,0.921476802992,0.921514039342,0.921551267222,0.921588486631,0.921625697569,0.921662900036,0.921700094031,0.921737279554,0.921774456604,0.921811625182,0.921848785286,0.921885936918,0.921923080075,0.921960214758,0.921997340967,0.922034458701,0.92207156796,0.922108668743,0.922145761051,0.922182844882,0.922219920237,0.922256987115,0.922294045516,0.922331095439,0.922368136885,0.922405169852,0.922442194341,0.922479210351,0.922516217881,0.922553216932,0.922590207503,0.922627189594,0.922664163205,0.922701128334,0.922738084982,0.922775033148,0.922811972833,0.922848904035,0.922885826755,0.922922740991,0.922959646745,0.922996544014,0.9230334328,0.923070313101,0.923107184918,0.92314404825,0.923180903096,0.923217749457,0.923254587331,0.92329141672,0.923328237621,0.923365050036,0.923401853963,0.923438649402,0.923475436354,0.923512214817,0.923548984791,0.923585746276,0.923622499272,0.923659243778,0.923695979794,0.92373270732,0.923769426355,0.923806136898,0.923842838951,0.923879532511,0.92391621758,0.923952894156,0.923989562239,0.924026221829,0.924062872926,0.924099515529,0.924136149637,0.924172775252,0.924209392371,0.924246000996,0.924282601125,0.924319192758,0.924355775895,0.924392350535,0.924428916679,0.924465474325,0.924502023474,0.924538564125,0.924575096279,0.924611619933,0.924648135089,0.924684641745,0.924721139902,0.92475762956,0.924794110717,0.924830583373,0.924867047529,0.924903503183,0.924939950336,0.924976388987,0.925012819136,0.925049240783,0.925085653926,0.925122058567,0.925158454703,0.925194842336,0.925231221465,0.92526759209,0.925303954209,0.925340307823,0.925376652932,0.925412989535,0.925449317631,0.925485637221,0.925521948305,0.925558250881,0.925594544949,0.92563083051,0.925667107562,0.925703376106,0.925739636141,0.925775887667,0.925812130683,0.92584836519,0.925884591186,0.925920808672,0.925957017647,0.92599321811,0.926029410062,0.926065593503,0.926101768431,0.926137934846,0.926174092749,0.926210242138,0.926246383014,0.926282515376,0.926318639224,0.926354754558,0.926390861376,0.926426959679,0.926463049467,0.926499130739,0.926535203495,0.926571267734,0.926607323457,0.926643370662,0.92667940935,0.92671543952,0.926751461171,0.926787474305,0.926823478919,0.926859475014,0.92689546259,0.926931441646,0.926967412182,0.927003374197,0.927039327691,0.927075272665,0.927111209117,0.927147137047,0.927183056455,0.92721896734,0.927254869703,0.927290763542,0.927326648858,0.92736252565,0.927398393919,0.927434253662,0.927470104881,0.927505947575,0.927541781743,0.927577607386,0.927613424502,0.927649233093,0.927685033156,0.927720824692,0.927756607701,0.927792382182,0.927828148135,0.92786390556,0.927899654456,0.927935394823,0.92797112666,0.928006849968,0.928042564746,0.928078270993,0.92811396871,0.928149657895,0.92818533855,0.928221010672,0.928256674263,0.928292329321,0.928327975847,0.928363613839,0.928399243299,0.928434864224,0.928470476616,0.928506080473,0.928541675796,0.928577262584,0.928612840836,0.928648410553,0.928683971734,0.928719524379,0.928755068487,0.928790604058,0.928826131092,0.928861649588,0.928897159547,0.928932660967,0.928968153849,0.929003638192,0.929039113995,0.929074581259,0.929110039984,0.929145490168,0.929180931811,0.929216364914,0.929251789475,0.929287205496,0.929322612974,0.92935801191,0.929393402304,0.929428784155,0.929464157462,0.929499522227,0.929534878447,0.929570226124,0.929605565256,0.929640895843,0.929676217885,0.929711531382,0.929746836334,0.929782132739,0.929817420598,0.92985269991,0.929887970675,0.929923232893,0.929958486563,0.929993731685,0.930028968259,0.930064196284,0.93009941576,0.930134626687,0.930169829065,0.930205022892,0.930240208169,0.930275384896,0.930310553072,0.930345712696,0.93038086377,0.930416006291,0.93045114026,0.930486265676,0.93052138254,0.93055649085,0.930591590607,0.930626681811,0.93066176446,0.930696838554,0.930731904094,0.930766961079,0.930802009508,0.930837049382,0.9308720807,0.930907103461,0.930942117665,0.930977123313,0.931012120403,0.931047108936,0.93108208891,0.931117060326,0.931152023184,0.931186977483,0.931221923222,0.931256860402,0.931291789022,0.931326709081,0.93136162058,0.931396523518,0.931431417895,0.931466303711,0.931501180965,0.931536049656,0.931570909785,0.931605761351,0.931640604354,0.931675438794,0.93171026467,0.931745081982,0.931779890729,0.931814690912,0.931849482529,0.931884265582,0.931919040068,0.931953805989,0.931988563343,0.932023312131,0.932058052351,0.932092784005,0.932127507091,0.932162221609,0.932196927558,0.932231624939,0.932266313752,0.932300993995,0.932335665668,0.932370328772,0.932404983305,0.932439629268,0.932474266661,0.932508895482,0.932543515732,0.93257812741,0.932612730516,0.932647325049,0.93268191101,0.932716488398,0.932751057213,0.932785617454,0.932820169121,0.932854712213,0.932889246731,0.932923772674,0.932958290042,0.932992798835,0.933027299051,0.933061790692,0.933096273755,0.933130748242,0.933165214152,0.933199671485,0.933234120239,0.933268560416,0.933302992014,0.933337415033,0.933371829474,0.933406235335,0.933440632616,0.933475021317,0.933509401438,0.933543772979,0.933578135938,0.933612490317,0.933646836113,0.933681173328,0.933715501961,0.933749822011,0.933784133478,0.933818436362,0.933852730663,0.93388701638,0.933921293513,0.933955562061,0.933989822025,0.934024073403,0.934058316197,0.934092550404,0.934126776026,0.934160993061,0.93419520151,0.934229401372,0.934263592646,0.934297775334,0.934331949433,0.934366114944,0.934400271866,0.9344344202,0.934468559945,0.9345026911,0.934536813665,0.93457092764,0.934605033025,0.93463912982,0.934673218023,0.934707297635,0.934741368655,0.934775431084,0.93480948492,0.934843530163,0.934877566814,0.934911594872,0.934945614336,0.934979625206,0.935013627482,0.935047621163,0.93508160625,0.935115582742,0.935149550638,0.935183509939,0.935217460644,0.935251402752,0.935285336264,0.935319261179,0.935353177496,0.935387085216,0.935420984338,0.935454874862,0.935488756787,0.935522630114,0.935556494841,0.93559035097,0.935624198498,0.935658037426,0.935691867754,0.935725689481,0.935759502607,0.935793307132,0.935827103055,0.935860890377,0.935894669096,0.935928439213,0.935962200726,0.935995953637,0.936029697944,0.936063433647,0.936097160746,0.936130879241,0.936164589131,0.936198290416,0.936231983096,0.93626566717,0.936299342638,0.9363330095,0.936366667756,0.936400317404,0.936433958445,0.936467590879,0.936501214705,0.936534829923,0.936568436532,0.936602034533,0.936635623924,0.936669204707,0.936702776879,0.936736340442,0.936769895394,0.936803441736,0.936836979467,0.936870508586,0.936904029095,0.936937540991,0.936971044275,0.937004538947,0.937038025006,0.937071502452,0.937104971284,0.937138431503,0.937171883108,0.937205326099,0.937238760475,0.937272186236,0.937305603382,0.937339011913,0.937372411827,0.937405803126,0.937439185808,0.937472559873,0.937505925321,0.937539282152,0.937572630366,0.937605969961,0.937639300938,0.937672623297,0.937705937036,0.937739242156,0.937772538657,0.937805826538,0.937839105799,0.93787237644,0.93790563846,0.937938891859,0.937972136636,0.938005372792,0.938038600326,0.938071819238,0.938105029527,0.938138231193,0.938171424236,0.938204608655,0.938237784451,0.938270951623,0.93830411017,0.938337260093,0.938370401391,0.938403534063,0.93843665811,0.938469773531,0.938502880325,0.938535978494,0.938569068035,0.938602148949,0.938635221236,0.938668284895,0.938701339926,0.938734386328,0.938767424102,0.938800453247,0.938833473763,0.938866485649,0.938899488906,0.938932483532,0.938965469528,0.938998446893,0.939031415627,0.939064375729,0.9390973272,0.939130270039,0.939163204246,0.93919612982,0.939229046761,0.939261955069,0.939294854743,0.939327745784,0.93936062819,0.939393501962,0.9394263671,0.939459223602,0.939492071469,0.939524910701,0.939557741296,0.939590563256,0.939623376579,0.939656181265,0.939688977314,0.939721764725,0.939754543499,0.939787313635,0.939820075132,0.939852827991,0.939885572211,0.939918307792,0.939951034733,0.939983753034,0.940016462695,0.940049163716,0.940081856096,0.940114539835,0.940147214933,0.940179881389,0.940212539203,0.940245188375,0.940277828904,0.94031046079,0.940343084034,0.940375698634,0.94040830459,0.940440901902,0.94047349057,0.940506070593,0.940538641972,0.940571204705,0.940603758792,0.940636304234,0.940668841029,0.940701369179,0.940733888681,0.940766399536,0.940798901744,0.940831395305,0.940863880217,0.940896356482,0.940928824098,0.940961283065,0.940993733382,0.941026175051,0.94105860807,0.941091032438,0.941123448157,0.941155855225,0.941188253642,0.941220643407,0.941253024521,0.941285396984,0.941317760794,0.941350115952,0.941382462457,0.94141480031,0.941447129509,0.941479450054,0.941511761946,0.941544065183,0.941576359766,0.941608645694,0.941640922967,0.941673191585,0.941705451547,0.941737702853,0.941769945503,0.941802179496,0.941834404832,0.941866621512,0.941898829534,0.941931028898,0.941963219604,0.941995401652,0.942027575041,0.942059739771,0.942091895842,0.942124043254,0.942156182005,0.942188312097,0.942220433528,0.942252546299,0.942284650408,0.942316745857,0.942348832643,0.942380910768,0.942412980231,0.942445041031,0.942477093168,0.942509136643,0.942541171454,0.942573197601,0.942605215085,0.942637223904,0.942669224059,0.942701215549,0.942733198374,0.942765172533,0.942797138027,0.942829094855,0.942861043016,0.942892982511,0.942924913339,0.9429568355,0.942988748994,0.943020653819,0.943052549977,0.943084437466,0.943116316287,0.943148186438,0.943180047921,0.943211900734,0.943243744877,0.94327558035,0.943307407153,0.943339225285,0.943371034746,0.943402835536,0.943434627654,0.943466411101,0.943498185875,0.943529951977,0.943561709406,0.943593458162,0.943625198245,0.943656929654,0.943688652389,0.94372036645,0.943752071837,0.943783768549,0.943815456586,0.943847135947,0.943878806633,0.943910468643,0.943942121976,0.943973766634,0.944005402614,0.944037029917,0.944068648543,0.944100258491,0.944131859761,0.944163452353,0.944195036267,0.944226611501,0.944258178057,0.944289735933,0.944321285129,0.944352825646,0.944384357482,0.944415880637,0.944447395112,0.944478900905,0.944510398017,0.944541886447,0.944573366196,0.944604837261,0.944636299645,0.944667753345,0.944699198362,0.944730634696,0.944762062346,0.944793481312,0.944824891594,0.944856293191,0.944887686103,0.94491907033,0.944950445871,0.944981812727,0.945013170896,0.945044520379,0.945075861176,0.945107193285,0.945138516708,0.945169831442,0.945201137489,0.945232434848,0.945263723519,0.945295003501,0.945326274794,0.945357537398,0.945388791312,0.945420036536,0.945451273071,0.945482500914,0.945513720068,0.94554493053,0.945576132301,0.945607325381,0.945638509768,0.945669685464,0.945700852467,0.945732010777,0.945763160395,0.945794301319,0.94582543355,0.945856557087,0.94588767193,0.945918778078,0.945949875532,0.945980964291,0.946012044354,0.946043115722,0.946074178394,0.94610523237,0.94613627765,0.946167314233,0.946198342119,0.946229361308,0.946260371799,0.946291373592,0.946322366688,0.946353351084,0.946384326783,0.946415293782,0.946446252082,0.946477201682,0.946508142583,0.946539074784,0.946569998284,0.946600913083,0.946631819182,0.946662716579,0.946693605275,0.946724485269,0.946755356561,0.94678621915,0.946817073037,0.946847918221,0.946878754702,0.946909582479,0.946940401552,0.946971211922,0.947002013587,0.947032806547,0.947063590803,0.947094366353,0.947125133198,0.947155891336,0.947186640769,0.947217381496,0.947248113516,0.947278836829,0.947309551435,0.947340257333,0.947370954524,0.947401643006,0.947432322781,0.947462993846,0.947493656203,0.947524309851,0.947554954789,0.947585591018,0.947616218536,0.947646837344,0.947677447442,0.947708048829,0.947738641505,0.947769225469,0.947799800721,0.947830367262,0.94786092509,0.947891474206,0.947922014609,0.947952546299,0.947983069276,0.948013583539,0.948044089088,0.948074585922,0.948105074043,0.948135553448,0.948166024138,0.948196486113,0.948226939373,0.948257383916,0.948287819744,0.948318246855,0.948348665249,0.948379074926,0.948409475886,0.948439868128,0.948470251652,0.948500626459,0.948530992547,0.948561349916,0.948591698566,0.948622038497,0.948652369708,0.9486826922,0.948713005971,0.948743311023,0.948773607353,0.948803894963,0.948834173851,0.948864444018,0.948894705463,0.948924958186,0.948955202187,0.948985437465,0.949015664021,0.949045881853,0.949076090961,0.949106291347,0.949136483008,0.949166665944,0.949196840157,0.949227005644,0.949257162406,0.949287310444,0.949317449755,0.94934758034,0.9493777022,0.949407815332,0.949437919738,0.949468015417,0.949498102369,0.949528180593,0.949558250089,0.949588310857,0.949618362897,0.949648406208,0.94967844079,0.949708466643,0.949738483766,0.94976849216,0.949798491823,0.949828482756,0.949858464959,0.94988843843,0.94991840317,0.949948359179,0.949978306457,0.950008245002,0.950038174815,0.950068095895,0.950098008243,0.950127911857,0.950157806738,0.950187692886,0.950217570299,0.950247438979,0.950277298924,0.950307150134,0.950336992609,0.950366826349,0.950396651353,0.950426467621,0.950456275154,0.950486073949,0.950515864009,0.950545645331,0.950575417916,0.950605181764,0.950634936874,0.950664683245,0.950694420879,0.950724149774,0.95075386993,0.950783581347,0.950813284024,0.950842977962,0.95087266316,0.950902339618,0.950932007335,0.950961666312,0.950991316547,0.951020958041,0.951050590794,0.951080214804,0.951109830073,0.951139436599,0.951169034383,0.951198623423,0.95122820372,0.951257775274,0.951287338084,0.95131689215,0.951346437472,0.951375974049,0.951405501882,0.951435020969,0.951464531311,0.951494032907,0.951523525757,0.951553009861,0.951582485219,0.95161195183,0.951641409694,0.95167085881,0.951700299179,0.9517297308,0.951759153673,0.951788567798,0.951817973174,0.951847369801,0.951876757679,0.951906136808,0.951935507187,0.951964868816,0.951994221694,0.952023565822,0.9520529012,0.952082227826,0.952111545701,0.952140854824,0.952170155195,0.952199446814,0.952228729681,0.952258003795,0.952287269157,0.952316525765,0.952345773619,0.95237501272,0.952404243066,0.952433464659,0.952462677497,0.95249188158,0.952521076908,0.95255026348,0.952579441297,0.952608610358,0.952637770663,0.952666922211,0.952696065003,0.952725199038,0.952754324315,0.952783440835,0.952812548597,0.952841647601,0.952870737847,0.952899819334,0.952928892063,0.952957956032,0.952987011242,0.953016057692,0.953045095382,0.953074124312,0.953103144482,0.953132155891,0.953161158539,0.953190152425,0.95321913755,0.953248113914,0.953277081515,0.953306040354,0.953334990431,0.953363931744,0.953392864295,0.953421788082,0.953450703105,0.953479609365,0.95350850686,0.953537395591,0.953566275557,0.953595146758,0.953624009194,0.953652862865,0.953681707769,0.953710543908,0.95373937128,0.953768189886,0.953796999725,0.953825800797,0.953854593101,0.953883376638,0.953912151407,0.953940917408,0.95396967464,0.953998423104,0.954027162799,0.954055893724,0.95408461588,0.954113329267,0.954142033883,0.954170729729,0.954199416804,0.954228095109,0.954256764643,0.954285425405,0.954314077396,0.954342720615,0.954371355061,0.954399980736,0.954428597638,0.954457205767,0.954485805122,0.954514395704,0.954542977513,0.954571550548,0.954600114808,0.954628670294,0.954657217005,0.954685754941,0.954714284102,0.954742804488,0.954771316097,0.954799818931,0.954828312988,0.954856798269,0.954885274772,0.954913742499,0.954942201448,0.95497065162,0.954999093014,0.95502752563,0.955055949467,0.955084364526,0.955112770805,0.955141168306,0.955169557027,0.955197936968,0.955226308129,0.955254670511,0.955283024111,0.955311368931,0.95533970497,0.955368032227,0.955396350703,0.955424660398,0.95545296131,0.95548125344,0.955509536787,0.955537811351,0.955566077133,0.955594334131,0.955622582345,0.955650821776,0.955679052422,0.955707274284,0.955735487361,0.955763691654,0.955791887161,0.955820073883,0.955848251819,0.955876420969,0.955904581333,0.95593273291,0.955960875701,0.955989009705,0.956017134921,0.95604525135,0.956073358991,0.956101457844,0.956129547909,0.956157629186,0.956185701673,0.956213765372,0.956241820281,0.956269866401,0.95629790373,0.95632593227,0.95635395202,0.956381962978,0.956409965146,0.956437958523,0.956465943109,0.956493918902,0.956521885904,0.956549844114,0.956577793531,0.956605734156,0.956633665988,0.956661589027,0.956689503272,0.956717408723,0.956745305381,0.956773193244,0.956801072313,0.956828942588,0.956856804067,0.956884656751,0.956912500639,0.956940335732,0.956968162029,0.95699597953,0.957023788234,0.957051588141,0.957079379251,0.957107161564,0.95713493508,0.957162699798,0.957190455717,0.957218202839,0.957245941162,0.957273670686,0.957301391411,0.957329103336,0.957356806463,0.957384500789,0.957412186315,0.957439863041,0.957467530967,0.957495190091,0.957522840414,0.957550481937,0.957578114657,0.957605738576,0.957633353692,0.957660960006,0.957688557518,0.957716146227,0.957743726132,0.957771297234,0.957798859533,0.957826413028,0.957853957718,0.957881493604,0.957909020686,0.957936538962,0.957964048434,0.9579915491,0.95801904096,0.958046524015,0.958073998263,0.958101463705,0.95812892034,0.958156368169,0.95818380719,0.958211237404,0.95823865881,0.958266071408,0.958293475198,0.95832087018,0.958348256352,0.958375633716,0.958403002271,0.958430362017,0.958457712952,0.958485055078,0.958512388394,0.958539712899,0.958567028593,0.958594335476,0.958621633549,0.95864892281,0.958676203259,0.958703474896,0.958730737721,0.958757991733,0.958785236933,0.95881247332,0.958839700894,0.958866919654,0.958894129601,0.958921330733,0.958948523052,0.958975706556,0.959002881245,0.959030047119,0.959057204178,0.959084352422,0.95911149185,0.959138622462,0.959165744258,0.959192857237,0.9592199614,0.959247056745,0.959274143274,0.959301220985,0.959328289878,0.959355349954,0.959382401211,0.95940944365,0.95943647727,0.959463502071,0.959490518053,0.959517525216,0.959544523559,0.959571513082,0.959598493785,0.959625465667,0.959652428729,0.95967938297,0.959706328389,0.959733264988,0.959760192764,0.959787111719,0.959814021851,0.959840923161,0.959867815649,0.959894699313,0.959921574155,0.959948440173,0.959975297367,0.960002145738,0.960028985284,0.960055816006,0.960082637903,0.960109450976,0.960136255223,0.960163050645,0.960189837241,0.960216615012,0.960243383956,0.960270144074,0.960296895366,0.96032363783,0.960350371468,0.960377096278,0.960403812261,0.960430519416,0.960457217742,0.960483907241,0.96051058791,0.960537259752,0.960563922763,0.960590576946,0.960617222299,0.960643858823,0.960670486516,0.960697105379,0.960723715411,0.960750316613,0.960776908984,0.960803492523,0.960830067231,0.960856633108,0.960883190152,0.960909738364,0.960936277743,0.96096280829,0.960989330004,0.961015842885,0.961042346932,0.961068842146,0.961095328525,0.96112180607,0.961148274781,0.961174734658,0.961201185699,0.961227627905,0.961254061276,0.961280485811,0.961306901511,0.961333308374,0.961359706401,0.961386095591,0.961412475944,0.96143884746,0.961465210139,0.961491563981,0.961517908984,0.961544245149,0.961570572477,0.961596890965,0.961623200615,0.961649501426,0.961675793397,0.961702076529,0.961728350821,0.961754616274,0.961780872885,0.961807120657,0.961833359588,0.961859589677,0.961885810926,0.961912023333,0.961938226899,0.961964421622,0.961990607503,0.962016784542,0.962042952739,0.962069112092,0.962095262602,0.962121404269,0.962147537092,0.962173661072,0.962199776207,0.962225882498,0.962251979944,0.962278068546,0.962304148302,0.962330219214,0.962356281279,0.962382334499,0.962408378873,0.962434414401,0.962460441082,0.962486458917,0.962512467904,0.962538468044,0.962564459337,0.962590441782,0.96261641538,0.962642380129,0.962668336029,0.962694283081,0.962720221284,0.962746150638,0.962772071143,0.962797982798,0.962823885603,0.962849779559,0.962875664663,0.962901540918,0.962927408321,0.962953266874,0.962979116575,0.963004957425,0.963030789423,0.963056612569,0.963082426863,0.963108232304,0.963134028893,0.963159816628,0.963185595511,0.96321136554,0.963237126716,0.963262879038,0.963288622505,0.963314357118,0.963340082877,0.963365799781,0.96339150783,0.963417207023,0.963442897361,0.963468578844,0.96349425147,0.96351991524,0.963545570153,0.96357121621,0.96359685341,0.963622481753,0.963648101238,0.963673711866,0.963699313636,0.963724906547,0.963750490601,0.963776065795,0.963801632131,0.963827189608,0.963852738226,0.963878277984,0.963903808882,0.96392933092,0.963954844098,0.963980348416,0.964005843873,0.964031330469,0.964056808204,0.964082277077,0.964107737089,0.964133188239,0.964158630526,0.964184063952,0.964209488515,0.964234904215,0.964260311052,0.964285709025,0.964311098136,0.964336478382,0.964361849765,0.964387212283,0.964412565937,0.964437910726,0.96446324665,0.964488573709,0.964513891903,0.964539201231,0.964564501694,0.96458979329,0.96461507602,0.964640349883,0.96466561488,0.964690871009,0.964716118272,0.964741356667,0.964766586194,0.964791806853,0.964817018645,0.964842221567,0.964867415622,0.964892600807,0.964917777123,0.96494294457,0.964968103147,0.964993252855,0.965018393692,0.96504352566,0.965068648757,0.965093762983,0.965118868338,0.965143964822,0.965169052435,0.965194131176,0.965219201045,0.965244262042,0.965269314167,0.965294357419,0.965319391798,0.965344417305,0.965369433938,0.965394441698,0.965419440584,0.965444430596,0.965469411734,0.965494383997,0.965519347386,0.9655443019,0.965569247539,0.965594184303,0.965619112191,0.965644031204,0.96566894134,0.9656938426,0.965718734984,0.965743618491,0.965768493121,0.965793358874,0.96581821575,0.965843063748,0.965867902868,0.96589273311,0.965917554474,0.965942366959,0.965967170566,0.965991965294,0.966016751142,0.966041528111,0.966066296201,0.96609105541,0.96611580574,0.966140547189,0.966165279758,0.966190003445,0.966214718252,0.966239424178,0.966264121222,0.966288809384,0.966313488665,0.966338159063,0.966362820579,0.966387473212,0.966412116963,0.96643675183,0.966461377814,0.966485994915,0.966510603132,0.966535202465,0.966559792914,0.966584374478,0.966608947158,0.966633510953,0.966658065863,0.966682611887,0.966707149026,0.966731677279,0.966756196647,0.966780707128,0.966805208722,0.96682970143,0.966854185251,0.966878660185,0.966903126232,0.966927583391,0.966952031662,0.966976471045,0.96700090154,0.967025323146,0.967049735864,0.967074139693,0.967098534633,0.967122920683,0.967147297844,0.967171666115,0.967196025496,0.967220375986,0.967244717586,0.967269050296,0.967293374114,0.967317689042,0.967341995078,0.967366292222,0.967390580475,0.967414859835,0.967439130304,0.96746339188,0.967487644563,0.967511888353,0.96753612325,0.967560349253,0.967584566363,0.967608774579,0.967632973902,0.967657164329,0.967681345863,0.967705518501,0.967729682245,0.967753837093,0.967777983047,0.967802120104,0.967826248266,0.967850367531,0.967874477901,0.967898579374,0.96792267195,0.967946755629,0.967970830411,0.967994896296,0.968018953283,0.968043001372,0.968067040563,0.968091070856,0.968115092251,0.968139104746,0.968163108343,0.968187103041,0.968211088839,0.968235065738,0.968259033737,0.968282992836,0.968306943034,0.968330884332,0.96835481673,0.968378740226,0.968402654822,0.968426560516,0.968450457308,0.968474345199,0.968498224188,0.968522094274,0.968545955458,0.96856980774,0.968593651118,0.968617485594,0.968641311166,0.968665127834,0.968688935599,0.96871273446,0.968736524416,0.968760305469,0.968784077616,0.968807840859,0.968831595196,0.968855340629,0.968879077155,0.968902804776,0.968926523492,0.9689502333,0.968973934203,0.968997626199,0.969021309288,0.96904498347,0.969068648745,0.969092305113,0.969115952572,0.969139591124,0.969163220768,0.969186841503,0.96921045333,0.969234056248,0.969257650257,0.969281235357,0.969304811547,0.969328378828,0.969351937199,0.969375486659,0.96939902721,0.96942255885,0.969446081579,0.969469595397,0.969493100305,0.9695165963,0.969540083385,0.969563561557,0.969587030817,0.969610491166,0.969633942601,0.969657385124,0.969680818734,0.969704243431,0.969727659215,0.969751066085,0.969774464042,0.969797853084,0.969821233213,0.969844604427,0.969867966726,0.969891320111,0.96991466458,0.969938000134,0.969961326773,0.969984644496,0.970007953303,0.970031253195,0.970054544169,0.970077826228,0.970101099369,0.970124363594,0.970147618901,0.970170865291,0.970194102763,0.970217331318,0.970240550955,0.970263761673,0.970286963473,0.970310156354,0.970333340316,0.970356515359,0.970379681483,0.970402838688,0.970425986972,0.970449126337,0.970472256781,0.970495378306,0.970518490909,0.970541594592,0.970564689354,0.970587775194,0.970610852113,0.970633920111,0.970656979186,0.97068002934,0.970703070571,0.97072610288,0.970749126266,0.970772140729,0.970795146269,0.970818142886,0.970841130579,0.970864109348,0.970887079193,0.970910040115,0.970932992111,0.970955935184,0.970978869331,0.971001794553,0.97102471085,0.971047618222,0.971070516668,0.971093406188,0.971116286782,0.97113915845,0.971162021191,0.971184875005,0.971207719893,0.971230555853,0.971253382887,0.971276200992,0.97129901017,0.97132181042,0.971344601741,0.971367384135,0.971390157599,0.971412922135,0.971435677742,0.97145842442,0.971481162168,0.971503890986,0.971526610875,0.971549321833,0.971572023862,0.97159471696,0.971617401127,0.971640076363,0.971662742668,0.971685400042,0.971708048484,0.971730687995,0.971753318574,0.97177594022,0.971798552934,0.971821156716,0.971843751564,0.97186633748,0.971888914463,0.971911482512,0.971934041628,0.97195659181,0.971979133057,0.972001665371,0.97202418875,0.972046703195,0.972069208704,0.972091705279,0.972114192918,0.972136671622,0.97215914139,0.972181602223,0.972204054119,0.972226497079,0.972248931102,0.972271356189,0.972293772339,0.972316179552,0.972338577827,0.972360967165,0.972383347565,0.972405719027,0.972428081552,0.972450435137,0.972472779784,0.972495115493,0.972517442262,0.972539760093,0.972562068983,0.972584368935,0.972606659946,0.972628942018,0.972651215149,0.97267347934,0.97269573459,0.9727179809,0.972740218268,0.972762446696,0.972784666182,0.972806876726,0.972829078328,0.972851270989,0.972873454707,0.972895629482,0.972917795315,0.972939952206,0.972962100153,0.972984239157,0.973006369217,0.973028490334,0.973050602507,0.973072705735,0.97309480002,0.97311688536,0.973138961755,0.973161029206,0.973183087711,0.973205137271,0.973227177886,0.973249209555,0.973271232278,0.973293246055,0.973315250885,0.973337246769,0.973359233707,0.973381211697,0.973403180741,0.973425140837,0.973447091985,0.973469034186,0.973490967439,0.973512891744,0.9735348071,0.973556713508,0.973578610967,0.973600499478,0.973622379039,0.973644249651,0.973666111313,0.973687964026,0.973709807788,0.973731642601,0.973753468463,0.973775285375,0.973797093336,0.973818892346,0.973840682405,0.973862463512,0.973884235668,0.973905998872,0.973927753125,0.973949498425,0.973971234773,0.973992962168,0.974014680611,0.9740363901,0.974058090637,0.97407978222,0.97410146485,0.974123138525,0.974144803247,0.974166459015,0.974188105829,0.974209743688,0.974231372592,0.974252992541,0.974274603536,0.974296205575,0.974317798658,0.974339382786,0.974360957957,0.974382524173,0.974404081432,0.974425629735,0.974447169081,0.97446869947,0.974490220902,0.974511733377,0.974533236894,0.974554731454,0.974576217056,0.974597693699,0.974619161384,0.974640620111,0.974662069879,0.974683510689,0.974704942539,0.974726365429,0.974747779361,0.974769184333,0.974790580344,0.974811967396,0.974833345488,0.974854714619,0.974876074789,0.974897425999,0.974918768247,0.974940101534,0.97496142586,0.974982741224,0.975004047627,0.975025345067,0.975046633545,0.975067913061,0.975089183614,0.975110445204,0.975131697831,0.975152941495,0.975174176196,0.975195401933,0.975216618706,0.975237826516,0.975259025361,0.975280215241,0.975301396158,0.975322568109,0.975343731095,0.975364885117,0.975386030173,0.975407166263,0.975428293388,0.975449411546,0.975470520739,0.975491620965,0.975512712225,0.975533794518,0.975554867844,0.975575932204,0.975596987595,0.97561803402,0.975639071476,0.975660099965,0.975681119486,0.975702130039,0.975723131623,0.975744124238,0.975765107885,0.975786082562,0.975807048271,0.975828005009,0.975848952779,0.975869891578,0.975890821408,0.975911742267,0.975932654156,0.975953557075,0.975974451022,0.975995335999,0.976016212005,0.976037079039,0.976057937102,0.976078786193,0.976099626312,0.976120457459,0.976141279634,0.976162092836,0.976182897066,0.976203692322,0.976224478606,0.976245255916,0.976266024253,0.976286783617,0.976307534006,0.976328275422,0.976349007863,0.97636973133,0.976390445822,0.97641115134,0.976431847883,0.97645253545,0.976473214042,0.976493883659,0.9765145443,0.976535195965,0.976555838653,0.976576472366,0.976597097102,0.976617712862,0.976638319644,0.97665891745,0.976679506278,0.976700086129,0.976720657002,0.976741218897,0.976761771815,0.976782315754,0.976802850715,0.976823376697,0.976843893701,0.976864401725,0.976884900771,0.976905390837,0.976925871924,0.976946344031,0.976966807158,0.976987261305,0.977007706471,0.977028142658,0.977048569863,0.977068988088,0.977089397332,0.977109797595,0.977130188876,0.977150571176,0.977170944494,0.97719130883,0.977211664184,0.977232010555,0.977252347944,0.977272676351,0.977292995774,0.977313306214,0.977333607671,0.977353900145,0.977374183635,0.977394458142,0.977414723664,0.977434980202,0.977455227756,0.977475466325,0.977495695909,0.977515916509,0.977536128123,0.977556330752,0.977576524396,0.977596709053,0.977616884725,0.977637051411,0.977657209111,0.977677357825,0.977697497551,0.977717628291,0.977737750044,0.97775786281,0.977777966588,0.977798061379,0.977818147183,0.977838223998,0.977858291825,0.977878350664,0.977898400515,0.977918441377,0.97793847325,0.977958496134,0.977978510029,0.977998514935,0.978018510851,0.978038497777,0.978058475713,0.978078444659,0.978098404615,0.978118355581,0.978138297556,0.97815823054,0.978178154533,0.978198069534,0.978217975545,0.978237872564,0.978257760591,0.978277639626,0.978297509669,0.97831737072,0.978337222778,0.978357065843,0.978376899916,0.978396724996,0.978416541082,0.978436348175,0.978456146275,0.978475935381,0.978495715492,0.97851548661,0.978535248733,0.978555001862,0.978574745997,0.978594481136,0.97861420728,0.978633924429,0.978653632583,0.978673331741,0.978693021904,0.97871270307,0.978732375241,0.978752038415,0.978771692592,0.978791337773,0.978810973957,0.978830601144,0.978850219334,0.978869828527,0.978889428721,0.978909019919,0.978928602118,0.978948175319,0.978967739522,0.978987294726,0.979006840932,0.979026378139,0.979045906347,0.979065425556,0.979084935765,0.979104436975,0.979123929185,0.979143412395,0.979162886606,0.979182351816,0.979201808025,0.979221255234,0.979240693442,0.979260122649,0.979279542855,0.97929895406,0.979318356263,0.979337749464,0.979357133664,0.979376508861,0.979395875057,0.97941523225,0.97943458044,0.979453919628,0.979473249812,0.979492570994,0.979511883172,0.979531186347,0.979550480518,0.979569765685,0.979589041849,0.979608309008,0.979627567163,0.979646816313,0.979666056459,0.979685287599,0.979704509735,0.979723722866,0.979742926991,0.97976212211,0.979781308224,0.979800485331,0.979819653433,0.979838812528,0.979857962617,0.9798771037,0.979896235775,0.979915358843,0.979934472905,0.979953577958,0.979972674005,0.979991761043,0.980010839074,0.980029908097,0.980048968112,0.980068019118,0.980087061115,0.980106094104,0.980125118084,0.980144133055,0.980163139016,0.980182135968,0.980201123911,0.980220102843,0.980239072766,0.980258033678,0.98027698558,0.980295928472,0.980314862353,0.980333787223,0.980352703082,0.98037160993,0.980390507767,0.980409396592,0.980428276405,0.980447147207,0.980466008996,0.980484861773,0.980503705538,0.98052254029,0.98054136603,0.980560182756,0.98057899047,0.98059778917,0.980616578857,0.98063535953,0.980654131189,0.980672893834,0.980691647465,0.980710392082,0.980729127685,0.980747854272,0.980766571845,0.980785280403,0.980803979946,0.980822670473,0.980841351985,0.980860024482,0.980878687962,0.980897342426,0.980915987874,0.980934624306,0.980953251721,0.98097187012,0.980990479502,0.981009079866,0.981027671213,0.981046253543,0.981064826856,0.98108339115,0.981101946427,0.981120492686,0.981139029926,0.981157558148,0.981176077352,0.981194587536,0.981213088702,0.981231580849,0.981250063976,0.981268538084,0.981287003172,0.981305459241,0.981323906289,0.981342344318,0.981360773326,0.981379193314,0.981397604281,0.981416006227,0.981434399152,0.981452783057,0.98147115794,0.981489523801,0.981507880641,0.981526228459,0.981544567255,0.981562897028,0.98158121778,0.981599529509,0.981617832215,0.981636125899,0.98165441056,0.981672686197,0.981690952811,0.981709210402,0.981727458969,0.981745698512,0.981763929031,0.981782150526,0.981800362996,0.981818566443,0.981836760864,0.981854946261,0.981873122632,0.981891289979,0.9819094483,0.981927597595,0.981945737865,0.98196386911,0.981981991328,0.98200010452,0.982018208685,0.982036303824,0.982054389937,0.982072467022,0.982090535081,0.982108594113,0.982126644117,0.982144685093,0.982162717042,0.982180739963,0.982198753856,0.982216758721,0.982234754558,0.982252741366,0.982270719146,0.982288687896,0.982306647618,0.982324598311,0.982342539974,0.982360472608,0.982378396212,0.982396310786,0.98241421633,0.982432112845,0.982450000328,0.982467878782,0.982485748205,0.982503608597,0.982521459958,0.982539302287,0.982557135586,0.982574959853,0.982592775089,0.982610581292,0.982628378464,0.982646166604,0.982663945711,0.982681715786,0.982699476829,0.982717228838,0.982734971815,0.982752705758,0.982770430669,0.982788146546,0.982805853389,0.982823551199,0.982841239974,0.982858919716,0.982876590423,0.982894252096,0.982911904735,0.982929548339,0.982947182908,0.982964808441,0.98298242494,0.983000032403,0.983017630831,0.983035220223,0.983052800579,0.983070371899,0.983087934184,0.983105487431,0.983123031642,0.983140566817,0.983158092955,0.983175610055,0.983193118119,0.983210617145,0.983228107134,0.983245588085,0.983263059999,0.983280522874,0.983297976712,0.983315421511,0.983332857272,0.983350283994,0.983367701677,0.983385110322,0.983402509927,0.983419900493,0.98343728202,0.983454654507,0.983472017955,0.983489372362,0.98350671773,0.983524054058,0.983541381345,0.983558699591,0.983576008797,0.983593308962,0.983610600087,0.98362788217,0.983645155211,0.983662419212,0.98367967417,0.983696920087,0.983714156962,0.983731384795,0.983748603586,0.983765813334,0.98378301404,0.983800205703,0.983817388323,0.9838345619,0.983851726434,0.983868881924,0.983886028371,0.983903165774,0.983920294134,0.983937413449,0.983954523721,0.983971624948,0.98398871713,0.984005800268,0.984022874361,0.98403993941,0.984056995413,0.984074042371,0.984091080283,0.98410810915,0.984125128972,0.984142139747,0.984159141476,0.98417613416,0.984193117797,0.984210092387,0.984227057931,0.984244014428,0.984260961878,0.98427790028,0.984294829636,0.984311749944,0.984328661205,0.984345563418,0.984362456583,0.984379340699,0.984396215768,0.984413081789,0.98442993876,0.984446786684,0.984463625558,0.984480455383,0.984497276159,0.984514087886,0.984530890564,0.984547684192,0.98456446877,0.984581244298,0.984598010776,0.984614768204,0.984631516582,0.984648255909,0.984664986185,0.984681707411,0.984698419586,0.984715122709,0.984731816781,0.984748501802,0.984765177771,0.984781844688,0.984798502554,0.984815151367,0.984831791128,0.984848421837,0.984865043494,0.984881656097,0.984898259648,0.984914854146,0.984931439591,0.984948015982,0.98496458332,0.984981141605,0.984997690835,0.985014231012,0.985030762135,0.985047284204,0.985063797218,0.985080301178,0.985096796083,0.985113281933,0.985129758728,0.985146226469,0.985162685154,0.985179134783,0.985195575357,0.985212006876,0.985228429338,0.985244842745,0.985261247095,0.985277642389,0.985294028626,0.985310405807,0.985326773932,0.985343132999,0.985359483009,0.985375823962,0.985392155858,0.985408478696,0.985424792476,0.985441097199,0.985457392864,0.98547367947,0.985489957018,0.985506225508,0.98552248494,0.985538735312,0.985554976626,0.985571208881,0.985587432076,0.985603646213,0.985619851289,0.985636047307,0.985652234264,0.985668412162,0.985684580999,0.985700740776,0.985716891493,0.98573303315,0.985749165746,0.985765289281,0.985781403755,0.985797509168,0.985813605519,0.98582969281,0.985845771038,0.985861840206,0.985877900311,0.985893951354,0.985909993335,0.985926026254,0.985942050111,0.985958064905,0.985974070636,0.985990067304,0.98600605491,0.986022033452,0.986038002931,0.986053963346,0.986069914698,0.986085856986,0.98610179021,0.986117714371,0.986133629467,0.986149535498,0.986165432465,0.986181320368,0.986197199206,0.986213068979,0.986228929686,0.986244781329,0.986260623906,0.986276457418,0.986292281864,0.986308097245,0.986323903559,0.986339700807,0.986355488989,0.986371268105,0.986387038154,0.986402799137,0.986418551053,0.986434293902,0.986450027683,0.986465752398,0.986481468045,0.986497174625,0.986512872136,0.986528560581,0.986544239957,0.986559910265,0.986575571505,0.986591223676,0.986606866779,0.986622500813,0.986638125778,0.986653741675,0.986669348502,0.98668494626,0.986700534949,0.986716114568,0.986731685117,0.986747246597,0.986762799007,0.986778342346,0.986793876615,0.986809401814,0.986824917943,0.986840425,0.986855922987,0.986871411903,0.986886891748,0.986902362521,0.986917824223,0.986933276854,0.986948720413,0.9869641549,0.986979580315,0.986994996658,0.987010403928,0.987025802127,0.987041191253,0.987056571306,0.987071942286,0.987087304193,0.987102657028,0.987118000789,0.987133335477,0.987148661091,0.987163977631,0.987179285098,0.987194583491,0.987209872809,0.987225153054,0.987240424224,0.987255686319,0.98727093934,0.987286183287,0.987301418158,0.987316643954,0.987331860675,0.987347068321,0.987362266891,0.987377456385,0.987392636804,0.987407808147,0.987422970414,0.987438123605,0.987453267719,0.987468402757,0.987483528718,0.987498645603,0.98751375341,0.987528852141,0.987543941794,0.987559022371,0.987574093869,0.987589156291,0.987604209634,0.9876192539,0.987634289087,0.987649315197,0.987664332228,0.987679340181,0.987694339055,0.987709328851,0.987724309568,0.987739281206,0.987754243765,0.987769197244,0.987784141645,0.987799076965,0.987814003206,0.987828920368,0.987843828449,0.987858727451,0.987873617372,0.987888498213,0.987903369973,0.987918232653,0.987933086252,0.98794793077,0.987962766207,0.987977592563,0.987992409838,0.988007218031,0.988022017143,0.988036807173,0.988051588122,0.988066359988,0.988081122772,0.988095876474,0.988110621094,0.988125356631,0.988140083086,0.988154800457,0.988169508746,0.988184207952,0.988198898075,0.988213579114,0.98822825107,0.988242913942,0.988257567731,0.988272212435,0.988286848056,0.988301474593,0.988316092045,0.988330700413,0.988345299697,0.988359889895,0.988374471009,0.988389043038,0.988403605982,0.988418159841,0.988432704615,0.988447240303,0.988461766905,0.988476284422,0.988490792853,0.988505292198,0.988519782456,0.988534263629,0.988548735715,0.988563198714,0.988577652627,0.988592097453,0.988606533192,0.988620959844,0.988635377409,0.988649785887,0.988664185277,0.98867857558,0.988692956794,0.988707328921,0.98872169196,0.988736045911,0.988750390774,0.988764726548,0.988779053234,0.988793370831,0.988807679339,0.988821978758,0.988836269089,0.98885055033,0.988864822482,0.988879085544,0.988893339517,0.9889075844,0.988921820194,0.988936046897,0.98895026451,0.988964473033,0.988978672466,0.988992862808,0.98900704406,0.989021216221,0.989035379291,0.98904953327,0.989063678158,0.989077813955,0.98909194066,0.989106058273,0.989120166796,0.989134266226,0.989148356564,0.989162437811,0.989176509965,0.989190573027,0.989204626996,0.989218671873,0.989232707657,0.989246734349,0.989260751947,0.989274760452,0.989288759865,0.989302750183,0.989316731409,0.989330703541,0.989344666579,0.989358620523,0.989372565373,0.989386501129,0.989400427791,0.989414345359,0.989428253832,0.989442153211,0.989456043494,0.989469924683,0.989483796777,0.989497659776,0.989511513679,0.989525358487,0.9895391942,0.989553020817,0.989566838338,0.989580646764,0.989594446093,0.989608236326,0.989622017463,0.989635789504,0.989649552448,0.989663306295,0.989677051046,0.989690786699,0.989704513256,0.989718230716,0.989731939078,0.989745638343,0.98975932851,0.98977300958,0.989786681552,0.989800344426,0.989813998202,0.989827642879,0.989841278459,0.98985490494,0.989868522322,0.989882130606,0.989895729791,0.989909319878,0.989922900865,0.989936472753,0.989950035542,0.989963589231,0.989977133821,0.989990669311,0.990004195701,0.990017712992,0.990031221182,0.990044720272,0.990058210262,0.990071691152,0.990085162941,0.990098625629,0.990112079217,0.990125523704,0.990138959089,0.990152385374,0.990165802557,0.990179210639,0.99019260962,0.990205999498,0.990219380275,0.99023275195,0.990246114523,0.990259467994,0.990272812363,0.99028614763,0.990299473793,0.990312790855,0.990326098813,0.990339397669,0.990352687421,0.990365968071,0.990379239617,0.99039250206,0.9904057554,0.990418999635,0.990432234768,0.990445460796,0.99045867772,0.99047188554,0.990485084256,0.990498273868,0.990511454375,0.990524625778,0.990537788076,0.990550941269,0.990564085358,0.990577220341,0.990590346219,0.990603462992,0.990616570659,0.990629669221,0.990642758677,0.990655839027,0.990668910272,0.99068197241,0.990695025443,0.990708069369,0.990721104188,0.990734129902,0.990747146508,0.990760154008,0.990773152401,0.990786141687,0.990799121866,0.990812092938,0.990825054902,0.990838007759,0.990850951508,0.99086388615,0.990876811684,0.99088972811,0.990902635428,0.990915533638,0.990928422739,0.990941302732,0.990954173617,0.990967035392,0.99097988806,0.990992731618,0.991005566067,0.991018391407,0.991031207638,0.99104401476,0.991056812772,0.991069601674,0.991082381467,0.99109515215,0.991107913723,0.991120666186,0.991133409539,0.991146143782,0.991158868914,0.991171584936,0.991184291847,0.991196989647,0.991209678336,0.991222357915,0.991235028382,0.991247689738,0.991260341983,0.991272985116,0.991285619138,0.991298244048,0.991310859846,0.991323466532,0.991336064107,0.991348652569,0.991361231919,0.991373802156,0.991386363281,0.991398915294,0.991411458193,0.99142399198,0.991436516654,0.991449032215,0.991461538662,0.991474035997,0.991486524218,0.991499003325,0.991511473319,0.991523934199,0.991536385965,0.991548828617,0.991561262155,0.991573686579,0.991586101888,0.991598508083,0.991610905163,0.991623293129,0.99163567198,0.991648041716,0.991660402337,0.991672753843,0.991685096234,0.991697429509,0.991709753669,0.991722068713,0.991734374642,0.991746671455,0.991758959152,0.991771237732,0.991783507197,0.991795767545,0.991808018777,0.991820260893,0.991832493892,0.991844717774,0.991856932539,0.991869138188,0.991881334719,0.991893522134,0.991905700431,0.99191786961,0.991930029672,0.991942180617,0.991954322444,0.991966455153,0.991978578744,0.991990693216,0.992002798571,0.992014894808,0.992026981926,0.992039059925,0.992051128806,0.992063188569,0.992075239212,0.992087280737,0.992099313142,0.992111336428,0.992123350596,0.992135355643,0.992147351571,0.99215933838,0.992171316069,0.992183284638,0.992195244087,0.992207194416,0.992219135625,0.992231067713,0.992242990681,0.992254904529,0.992266809256,0.992278704863,0.992290591348,0.992302468713,0.992314336957,0.992326196079,0.99233804608,0.99234988696,0.992361718719,0.992373541356,0.992385354871,0.992397159264,0.992408954536,0.992420740685,0.992432517713,0.992444285618,0.992456044401,0.992467794061,0.992479534599,0.992491266014,0.992502988306,0.992514701476,0.992526405522,0.992538100446,0.992549786246,0.992561462923,0.992573130476,0.992584788906,0.992596438213,0.992608078395,0.992619709454,0.992631331389,0.9926429442,0.992654547887,0.992666142449,0.992677727887,0.9926893042,0.992700871389,0.992712429454,0.992723978393,0.992735518208,0.992747048897,0.992758570462,0.992770082901,0.992781586215,0.992793080403,0.992804565466,0.992816041403,0.992827508215,0.9928389659,0.99285041446,0.992861853893,0.992873284201,0.992884705382,0.992896117437,0.992907520365,0.992918914167,0.992930298842,0.99294167439,0.992953040811,0.992964398105,0.992975746273,0.992987085312,0.992998415225,0.99300973601,0.993021047668,0.993032350198,0.9930436436,0.993054927875,0.993066203021,0.993077469039,0.99308872593,0.993099973692,0.993111212325,0.99312244183,0.993133662207,0.993144873455,0.993156075574,0.993167268564,0.993178452426,0.993189627158,0.993200792761,0.993211949235,0.993223096579,0.993234234794,0.993245363879,0.993256483835,0.993267594661,0.993278696356,0.993289788922,0.993300872358,0.993311946664,0.993323011839,0.993334067884,0.993345114798,0.993356152582,0.993367181235,0.993378200757,0.993389211148,0.993400212408,0.993411204537,0.993422187535,0.993433161402,0.993444126137,0.993455081741,0.993466028213,0.993476965553,0.993487893761,0.993498812838,0.993509722782,0.993520623595,0.993531515275,0.993542397822,0.993553271238,0.993564135521,0.993574990671,0.993585836688,0.993596673573,0.993607501325,0.993618319943,0.993629129429,0.993639929781,0.993650721,0.993661503086,0.993672276038,0.993683039856,0.993693794541,0.993704540092,0.993715276509,0.993726003792,0.993736721941,0.993747430955,0.993758130836,0.993768821582,0.993779503193,0.99379017567,0.993800839012,0.993811493219,0.993822138292,0.993832774229,0.993843401031,0.993854018698,0.99386462723,0.993875226626,0.993885816887,0.993896398013,0.993906970002,0.993917532856,0.993928086574,0.993938631156,0.993949166602,0.993959692912,0.993970210085,0.993980718123,0.993991217023,0.994001706787,0.994012187415,0.994022658906,0.99403312126,0.994043574477,0.994054018557,0.994064453499,0.994074879305,0.994085295973,0.994095703504,0.994106101897,0.994116491153,0.994126871271,0.994137242251,0.994147604093,0.994157956798,0.994168300364,0.994178634792,0.994188960082,0.994199276233,0.994209583246,0.994219881121,0.994230169856,0.994240449453,0.994250719911,0.99426098123,0.994271233411,0.994281476452,0.994291710353,0.994301935116,0.994312150739,0.994322357223,0.994332554567,0.994342742771,0.994352921835,0.99436309176,0.994373252545,0.994383404189,0.994393546694,0.994403680058,0.994413804281,0.994423919365,0.994434025308,0.99444412211,0.994454209771,0.994464288292,0.994474357672,0.994484417911,0.994494469008,0.994504510965,0.99451454378,0.994524567454,0.994534581987,0.994544587377,0.994554583627,0.994564570734,0.9945745487,0.994584517524,0.994594477206,0.994604427745,0.994614369143,0.994624301398,0.994634224511,0.994644138481,0.994654043309,0.994663938994,0.994673825536,0.994683702936,0.994693571193,0.994703430306,0.994713280277,0.994723121104,0.994732952788,0.994742775329,0.994752588726,0.99476239298,0.99477218809,0.994781974057,0.994791750879,0.994801518558,0.994811277092,0.994821026483,0.994830766729,0.994840497831,0.994850219789,0.994859932602,0.994869636271,0.994879330795,0.994889016174,0.994898692409,0.994908359498,0.994918017443,0.994927666243,0.994937305897,0.994946936406,0.99495655777,0.994966169989,0.994975773061,0.994985366989,0.99499495177,0.995004527406,0.995014093896,0.99502365124,0.995033199438,0.99504273849,0.995052268396,0.995061789155,0.995071300768,0.995080803234,0.995090296554,0.995099780727,0.995109255754,0.995118721633,0.995128178366,0.995137625952,0.99514706439,0.995156493682,0.995165913826,0.995175324823,0.995184726672,0.995194119374,0.995203502928,0.995212877335,0.995222242594,0.995231598705,0.995240945667,0.995250283482,0.995259612149,0.995268931668,0.995278242038,0.99528754326,0.995296835333,0.995306118258,0.995315392034,0.995324656662,0.99533391214,0.99534315847,0.995352395651,0.995361623683,0.995370842565,0.995380052299,0.995389252883,0.995398444317,0.995407626603,0.995416799738,0.995425963724,0.99543511856,0.995444264247,0.995453400783,0.995462528169,0.995471646406,0.995480755492,0.995489855428,0.995498946213,0.995508027849,0.995517100333,0.995526163668,0.995535217851,0.995544262884,0.995553298766,0.995562325497,0.995571343077,0.995580351506,0.995589350783,0.99559834091,0.995607321885,0.995616293709,0.995625256381,0.995634209902,0.995643154271,0.995652089488,0.995661015554,0.995669932467,0.995678840229,0.995687738838,0.995696628296,0.995705508601,0.995714379754,0.995723241754,0.995732094602,0.995740938298,0.99574977284,0.99575859823,0.995767414468,0.995776221552,0.995785019483,0.995793808262,0.995802587887,0.995811358359,0.995820119678,0.995828871843,0.995837614855,0.995846348714,0.995855073419,0.99586378897,0.995872495367,0.995881192611,0.9958898807,0.995898559636,0.995907229417,0.995915890045,0.995924541518,0.995933183837,0.995941817001,0.995950441011,0.995959055866,0.995967661567,0.995976258113,0.995984845504,0.99599342374,0.996001992822,0.996010552748,0.996019103519,0.996027645135,0.996036177596,0.996044700901,0.996053215051,0.996061720046,0.996070215884,0.996078702568,0.996087180095,0.996095648467,0.996104107682,0.996112557742,0.996120998646,0.996129430393,0.996137852985,0.99614626642,0.996154670699,0.996163065821,0.996171451787,0.996179828596,0.996188196248,0.996196554744,0.996204904083,0.996213244265,0.99622157529,0.996229897158,0.996238209869,0.996246513422,0.996254807819,0.996263093058,0.996271369139,0.996279636063,0.99628789383,0.996296142438,0.99630438189,0.996312612183,0.996320833318,0.996329045295,0.996337248115,0.996345441776,0.996353626279,0.996361801624,0.99636996781,0.996378124838,0.996386272708,0.996394411419,0.996402540971,0.996410661364,0.996418772599,0.996426874675,0.996434967592,0.99644305135,0.996451125949,0.996459191389,0.996467247669,0.99647529479,0.996483332752,0.996491361554,0.996499381197,0.99650739168,0.996515393004,0.996523385167,0.996531368171,0.996539342015,0.996547306699,0.996555262223,0.996563208587,0.996571145791,0.996579073834,0.996586992717,0.99659490244,0.996602803002,0.996610694403,0.996618576644,0.996626449724,0.996634313644,0.996642168402,0.996650014,0.996657850437,0.996665677712,0.996673495827,0.99668130478,0.996689104572,0.996696895203,0.996704676672,0.99671244898,0.996720212126,0.996727966111,0.996735710933,0.996743446594,0.996751173094,0.996758890431,0.996766598606,0.996774297619,0.99678198747,0.996789668159,0.996797339686,0.99680500205,0.996812655252,0.996820299291,0.996827934168,0.996835559882,0.996843176434,0.996850783822,0.996858382048,0.996865971111,0.996873551011,0.996881121748,0.996888683322,0.996896235732,0.99690377898,0.996911313064,0.996918837984,0.996926353741,0.996933860335,0.996941357765,0.996948846031,0.996956325134,0.996963795073,0.996971255848,0.996978707459,0.996986149906,0.996993583189,0.997001007307,0.997008422262,0.997015828052,0.997023224678,0.997030612139,0.997037990436,0.997045359569,0.997052719536,0.997060070339,0.997067411978,0.997074744451,0.99708206776,0.997089381903,0.997096686882,0.997103982696,0.997111269344,0.997118546827,0.997125815145,0.997133074297,0.997140324284,0.997147565106,0.997154796762,0.997162019252,0.997169232576,0.997176436735,0.997183631728,0.997190817555,0.997197994217,0.997205161712,0.997212320041,0.997219469204,0.9972266092,0.99723374003,0.997240861694,0.997247974192,0.997255077523,0.997262171688,0.997269256685,0.997276332517,0.997283399181,0.997290456679,0.997297505009,0.997304544173,0.99731157417,0.997318595,0.997325606662,0.997332609158,0.997339602486,0.997346586647,0.99735356164,0.997360527466,0.997367484124,0.997374431615,0.997381369938,0.997388299094,0.997395219081,0.997402129901,0.997409031553,0.997415924037,0.997422807353,0.997429681501,0.997436546481,0.997443402292,0.997450248935,0.99745708641,0.997463914716,0.997470733854,0.997477543824,0.997484344624,0.997491136257,0.99749791872,0.997504692015,0.99751145614,0.997518211097,0.997524956885,0.997531693504,0.997538420954,0.997545139234,0.997551848346,0.997558548288,0.99756523906,0.997571920664,0.997578593098,0.997585256362,0.997591910457,0.997598555382,0.997605191137,0.997611817723,0.997618435139,0.997625043384,0.99763164246,0.997638232366,0.997644813102,0.997651384668,0.997657947063,0.997664500289,0.997671044343,0.997677579228,0.997684104942,0.997690621486,0.997697128859,0.997703627061,0.997710116093,0.997716595954,0.997723066644,0.997729528164,0.997735980512,0.997742423689,0.997748857696,0.997755282531,0.997761698195,0.997768104688,0.99777450201,0.997780890161,0.99778726914,0.997793638947,0.997799999583,0.997806351048,0.99781269334,0.997819026462,0.997825350411,0.997831665189,0.997837970795,0.997844267228,0.99785055449,0.99785683258,0.997863101498,0.997869361244,0.997875611817,0.997881853218,0.997888085447,0.997894308504,0.997900522388,0.997906727099,0.997912922638,0.997919109005,0.997925286199,0.99793145422,0.997937613068,0.997943762743,0.997949903246,0.997956034576,0.997962156732,0.997968269716,0.997974373526,0.997980468164,0.997986553628,0.997992629919,0.997998697036,0.99800475498,0.998010803751,0.998016843348,0.998022873771,0.998028895021,0.998034907098,0.99804091,0.998046903729,0.998052888284,0.998058863665,0.998064829872,0.998070786905,0.998076734765,0.99808267345,0.99808860296,0.998094523297,0.998100434459,0.998106336447,0.998112229261,0.9981181129,0.998123987365,0.998129852655,0.998135708771,0.998141555712,0.998147393478,0.998153222069,0.998159041486,0.998164851728,0.998170652795,0.998176444686,0.998182227403,0.998188000945,0.998193765312,0.998199520503,0.99820526652,0.99821100336,0.998216731026,0.998222449516,0.998228158831,0.99823385897,0.998239549934,0.998245231722,0.998250904335,0.998256567771,0.998262222032,0.998267867118,0.998273503027,0.99827912976,0.998284747318,0.998290355699,0.998295954905,0.998301544934,0.998307125787,0.998312697464,0.998318259964,0.998323813289,0.998329357436,0.998334892408,0.998340418203,0.998345934821,0.998351442263,0.998356940528,0.998362429617,0.998367909529,0.998373380264,0.998378841822,0.998384294203,0.998389737407,0.998395171435,0.998400596285,0.998406011958,0.998411418454,0.998416815773,0.998422203915,0.998427582879,0.998432952667,0.998438313276,0.998443664708,0.998449006963,0.998454340041,0.99845966394,0.998464978662,0.998470284207,0.998475580573,0.998480867762,0.998486145773,0.998491414606,0.998496674262,0.998501924739,0.998507166038,0.99851239816,0.998517621103,0.998522834868,0.998528039454,0.998533234863,0.998538421093,0.998543598145,0.998548766018,0.998553924713,0.99855907423,0.998564214568,0.998569345727,0.998574467708,0.99857958051,0.998584684133,0.998589778578,0.998594863843,0.99859993993,0.998605006838,0.998610064567,0.998615113117,0.998620152488,0.99862518268,0.998630203693,0.998635215526,0.99864021818,0.998645211655,0.998650195951,0.998655171067,0.998660137004,0.998665093761,0.998670041339,0.998674979737,0.998679908956,0.998684828995,0.998689739854,0.998694641534,0.998699534034,0.998704417353,0.998709291494,0.998714156454,0.998719012234,0.998723858834,0.998728696254,0.998733524494,0.998738343554,0.998743153434,0.998747954133,0.998752745652,0.998757527991,0.99876230115,0.998767065128,0.998771819925,0.998776565542,0.998781301979,0.998786029235,0.99879074731,0.998795456205,0.998800155919,0.998804846452,0.998809527805,0.998814199976,0.998818862967,0.998823516777,0.998828161406,0.998832796854,0.99883742312,0.998842040206,0.99884664811,0.998851246834,0.998855836376,0.998860416737,0.998864987916,0.998869549914,0.998874102731,0.998878646366,0.99888318082,0.998887706093,0.998892222183,0.998896729092,0.99890122682,0.998905715366,0.99891019473,0.998914664912,0.998919125913,0.998923577731,0.998928020368,0.998932453823,0.998936878096,0.998941293187,0.998945699096,0.998950095822,0.998954483367,0.998958861729,0.99896323091,0.998967590908,0.998971941723,0.998976283356,0.998980615807,0.998984939076,0.998989253162,0.998993558066,0.998997853787,0.999002140325,0.999006417681,0.999010685854,0.999014944845,0.999019194652,0.999023435277,0.99902766672,0.999031888979,0.999036102055,0.999040305949,0.999044500659,0.999048686187,0.999052862532,0.999057029693,0.999061187671,0.999065336466,0.999069476078,0.999073606507,0.999077727753,0.999081839815,0.999085942694,0.999090036389,0.999094120901,0.99909819623,0.999102262375,0.999106319336,0.999110367114,0.999114405709,0.999118435119,0.999122455346,0.99912646639,0.999130468249,0.999134460925,0.999138444417,0.999142418725,0.999146383849,0.999150339789,0.999154286545,0.999158224118,0.999162152506,0.99916607171,0.99916998173,0.999173882566,0.999177774217,0.999181656685,0.999185529968,0.999189394067,0.999193248981,0.999197094711,0.999200931257,0.999204758618,0.999208576795,0.999212385787,0.999216185595,0.999219976218,0.999223757657,0.999227529911,0.99923129298,0.999235046865,0.999238791564,0.999242527079,0.999246253409,0.999249970555,0.999253678515,0.999257377291,0.999261066881,0.999264747287,0.999268418507,0.999272080543,0.999275733393,0.999279377058,0.999283011538,0.999286636833,0.999290252943,0.999293859867,0.999297457606,0.99930104616,0.999304625528,0.999308195711,0.999311756709,0.999315308521,0.999318851147,0.999322384588,0.999325908844,0.999329423914,0.999332929798,0.999336426497,0.99933991401,0.999343392337,0.999346861478,0.999350321434,0.999353772204,0.999357213788,0.999360646186,0.999364069399,0.999367483425,0.999370888265,0.99937428392,0.999377670388,0.99938104767,0.999384415766,0.999387774676,0.9993911244,0.999394464938,0.99939779629,0.999401118455,0.999404431434,0.999407735226,0.999411029833,0.999414315253,0.999417591486,0.999420858533,0.999424116394,0.999427365068,0.999430604555,0.999433834857,0.999437055971,0.999440267899,0.99944347064,0.999446664195,0.999449848562,0.999453023744,0.999456189738,0.999459346546,0.999462494166,0.9994656326,0.999468761847,0.999471881907,0.999474992781,0.999478094467,0.999481186966,0.999484270278,0.999487344404,0.999490409342,0.999493465093,0.999496511657,0.999499549033,0.999502577223,0.999505596225,0.99950860604,0.999511606668,0.999514598109,0.999517580362,0.999520553428,0.999523517306,0.999526471997,0.999529417501,0.999532353817,0.999535280946,0.999538198887,0.999541107641,0.999544007207,0.999546897585,0.999549778776,0.999552650779,0.999555513595,0.999558367223,0.999561211663,0.999564046915,0.99956687298,0.999569689857,0.999572497546,0.999575296047,0.99957808536,0.999580865485,0.999583636423,0.999586398172,0.999589150734,0.999591894107,0.999594628292,0.99959735329,0.999600069099,0.99960277572,0.999605473153,0.999608161398,0.999610840455,0.999613510323,0.999616171003,0.999618822495,0.999621464799,0.999624097914,0.999626721841,0.99962933658,0.99963194213,0.999634538492,0.999637125666,0.999639703651,0.999642272447,0.999644832055,0.999647382475,0.999649923706,0.999652455748,0.999654978602,0.999657492267,0.999659996744,0.999662492032,0.999664978131,0.999667455042,0.999669922763,0.999672381297,0.999674830641,0.999677270796,0.999679701763,0.999682123541,0.99968453613,0.99968693953,0.999689333741,0.999691718763,0.999694094597,0.999696461241,0.999698818696,0.999701166963,0.99970350604,0.999705835928,0.999708156627,0.999710468137,0.999712770458,0.99971506359,0.999717347532,0.999719622286,0.99972188785,0.999724144225,0.999726391411,0.999728629407,0.999730858214,0.999733077832,0.999735288261,0.9997374895,0.999739681549,0.99974186441,0.999744038081,0.999746202562,0.999748357855,0.999750503957,0.99975264087,0.999754768594,0.999756887128,0.999758996472,0.999761096627,0.999763187593,0.999765269369,0.999767341955,0.999769405351,0.999771459558,0.999773504575,0.999775540403,0.99977756704,0.999779584488,0.999781592747,0.999783591815,0.999785581694,0.999787562382,0.999789533881,0.999791496191,0.99979344931,0.999795393239,0.999797327979,0.999799253528,0.999801169888,0.999803077058,0.999804975037,0.999806863827,0.999808743427,0.999810613836,0.999812475056,0.999814327085,0.999816169925,0.999818003574,0.999819828034,0.999821643303,0.999823449382,0.99982524627,0.999827033969,0.999828812478,0.999830581796,0.999832341924,0.999834092862,0.999835834609,0.999837567166,0.999839290533,0.99984100471,0.999842709696,0.999844405492,0.999846092098,0.999847769513,0.999849437738,0.999851096772,0.999852746616,0.99985438727,0.999856018733,0.999857641006,0.999859254088,0.99986085798,0.999862452681,0.999864038192,0.999865614512,0.999867181641,0.999868739581,0.999870288329,0.999871827887,0.999873358254,0.999874879431,0.999876391417,0.999877894212,0.999879387817,0.999880872231,0.999882347454,0.999883813487,0.999885270329,0.99988671798,0.99988815644,0.99988958571,0.999891005789,0.999892416677,0.999893818374,0.999895210881,0.999896594197,0.999897968321,0.999899333256,0.999900688999,0.999902035551,0.999903372912,0.999904701083,0.999906020062,0.999907329851,0.999908630449,0.999909921856,0.999911204071,0.999912477096,0.99991374093,0.999914995573,0.999916241025,0.999917477286,0.999918704356,0.999919922235,0.999921130922,0.999922330419,0.999923520725,0.999924701839,0.999925873763,0.999927036495,0.999928190036,0.999929334386,0.999930469545,0.999931595513,0.99993271229,0.999933819875,0.99993491827,0.999936007473,0.999937087485,0.999938158305,0.999939219935,0.999940272373,0.99994131562,0.999942349676,0.999943374541,0.999944390214,0.999945396696,0.999946393987,0.999947382086,0.999948360994,0.999949330711,0.999950291236,0.999951242571,0.999952184714,0.999953117665,0.999954041425,0.999954955994,0.999955861371,0.999956757557,0.999957644552,0.999958522355,0.999959390967,0.999960250387,0.999961100616,0.999961941654,0.9999627735,0.999963596155,0.999964409618,0.99996521389,0.99996600897,0.999966794859,0.999967571556,0.999968339062,0.999969097377,0.9999698465,0.999970586431,0.999971317171,0.999972038719,0.999972751076,0.999973454241,0.999974148215,0.999974832997,0.999975508588,0.999976174987,0.999976832194,0.99997748021,0.999978119035,0.999978748667,0.999979369109,0.999979980358,0.999980582416,0.999981175283,0.999981758957,0.999982333441,0.999982898732,0.999983454832,0.99998400174,0.999984539457,0.999985067982,0.999985587315,0.999986097457,0.999986598407,0.999987090165,0.999987572732,0.999988046107,0.99998851029,0.999988965282,0.999989411082,0.99998984769,0.999990275107,0.999990693332,0.999991102365,0.999991502206,0.999991892856,0.999992274314,0.999992646581,0.999993009655,0.999993363538,0.99999370823,0.999994043729,0.999994370037,0.999994687153,0.999994995077,0.99999529381,0.99999558335,0.999995863699,0.999996134857,0.999996396822,0.999996649596,0.999996893178,0.999997127568,0.999997352767,0.999997568774,0.999997775589,0.999997973212,0.999998161643,0.999998340883,0.999998510931,0.999998671787,0.999998823452,0.999998965924,0.999999099205,0.999999223294,0.999999338192,0.999999443897,0.999999540411,0.999999627733,0.999999705863,0.999999774801,0.999999834548,0.999999885103,0.999999926466,0.999999958637,0.999999981616,0.999999995404,1.0,0.999999995404,0.999999981616,0.999999958637,0.999999926466,0.999999885103,0.999999834548,0.999999774801,0.999999705863,0.999999627733,0.999999540411,0.999999443897,0.999999338192,0.999999223294,0.999999099205,0.999998965924,0.999998823452,0.999998671787,0.999998510931,0.999998340883,0.999998161643,0.999997973212,0.999997775589,0.999997568774,0.999997352767,0.999997127568,0.999996893178,0.999996649596,0.999996396822,0.999996134857,0.999995863699,0.99999558335,0.99999529381,0.999994995077,0.999994687153,0.999994370037,0.999994043729,0.99999370823,0.999993363538,0.999993009655,0.999992646581,0.999992274314,0.999991892856,0.999991502206,0.999991102365,0.999990693332,0.999990275107,0.99998984769,0.999989411082,0.999988965282,0.99998851029,0.999988046107,0.999987572732,0.999987090165,0.999986598407,0.999986097457,0.999985587315,0.999985067982,0.999984539457,0.99998400174,0.999983454832,0.999982898732,0.999982333441,0.999981758957,0.999981175283,0.999980582416,0.999979980358,0.999979369109,0.999978748667,0.999978119035,0.99997748021,0.999976832194,0.999976174987,0.999975508588,0.999974832997,0.999974148215,0.999973454241,0.999972751076,0.999972038719,0.999971317171,0.999970586431,0.9999698465,0.999969097377,0.999968339062,0.999967571556,0.999966794859,0.99996600897,0.99996521389,0.999964409618,0.999963596155,0.9999627735,0.999961941654,0.999961100616,0.999960250387,0.999959390967,0.999958522355,0.999957644552,0.999956757557,0.999955861371,0.999954955994,0.999954041425,0.999953117665,0.999952184714,0.999951242571,0.999950291236,0.999949330711,0.999948360994,0.999947382086,0.999946393987,0.999945396696,0.999944390214,0.999943374541,0.999942349676,0.99994131562,0.999940272373,0.999939219935,0.999938158305,0.999937087485,0.999936007473,0.99993491827,0.999933819875,0.99993271229,0.999931595513,0.999930469545,0.999929334386,0.999928190036,0.999927036495,0.999925873763,0.999924701839,0.999923520725,0.999922330419,0.999921130922,0.999919922235,0.999918704356,0.999917477286,0.999916241025,0.999914995573,0.99991374093,0.999912477096,0.999911204071,0.999909921856,0.999908630449,0.999907329851,0.999906020062,0.999904701083,0.999903372912,0.999902035551,0.999900688999,0.999899333256,0.999897968321,0.999896594197,0.999895210881,0.999893818374,0.999892416677,0.999891005789,0.99988958571,0.99988815644,0.99988671798,0.999885270329,0.999883813487,0.999882347454,0.999880872231,0.999879387817,0.999877894212,0.999876391417,0.999874879431,0.999873358254,0.999871827887,0.999870288329,0.999868739581,0.999867181641,0.999865614512,0.999864038192,0.999862452681,0.99986085798,0.999859254088,0.999857641006,0.999856018733,0.99985438727,0.999852746616,0.999851096772,0.999849437738,0.999847769513,0.999846092098,0.999844405492,0.999842709696,0.99984100471,0.999839290533,0.999837567166,0.999835834609,0.999834092862,0.999832341924,0.999830581796,0.999828812478,0.999827033969,0.99982524627,0.999823449382,0.999821643303,0.999819828034,0.999818003574,0.999816169925,0.999814327085,0.999812475056,0.999810613836,0.999808743427,0.999806863827,0.999804975037,0.999803077058,0.999801169888,0.999799253528,0.999797327979,0.999795393239,0.99979344931,0.999791496191,0.999789533881,0.999787562382,0.999785581694,0.999783591815,0.999781592747,0.999779584488,0.99977756704,0.999775540403,0.999773504575,0.999771459558,0.999769405351,0.999767341955,0.999765269369,0.999763187593,0.999761096627,0.999758996472,0.999756887128,0.999754768594,0.99975264087,0.999750503957,0.999748357855,0.999746202562,0.999744038081,0.99974186441,0.999739681549,0.9997374895,0.999735288261,0.999733077832,0.999730858214,0.999728629407,0.999726391411,0.999724144225,0.99972188785,0.999719622286,0.999717347532,0.99971506359,0.999712770458,0.999710468137,0.999708156627,0.999705835928,0.99970350604,0.999701166963,0.999698818696,0.999696461241,0.999694094597,0.999691718763,0.999689333741,0.99968693953,0.99968453613,0.999682123541,0.999679701763,0.999677270796,0.999674830641,0.999672381297,0.999669922763,0.999667455042,0.999664978131,0.999662492032,0.999659996744,0.999657492267,0.999654978602,0.999652455748,0.999649923706,0.999647382475,0.999644832055,0.999642272447,0.999639703651,0.999637125666,0.999634538492,0.99963194213,0.99962933658,0.999626721841,0.999624097914,0.999621464799,0.999618822495,0.999616171003,0.999613510323,0.999610840455,0.999608161398,0.999605473153,0.99960277572,0.999600069099,0.99959735329,0.999594628292,0.999591894107,0.999589150734,0.999586398172,0.999583636423,0.999580865485,0.99957808536,0.999575296047,0.999572497546,0.999569689857,0.99956687298,0.999564046915,0.999561211663,0.999558367223,0.999555513595,0.999552650779,0.999549778776,0.999546897585,0.999544007207,0.999541107641,0.999538198887,0.999535280946,0.999532353817,0.999529417501,0.999526471997,0.999523517306,0.999520553428,0.999517580362,0.999514598109,0.999511606668,0.99950860604,0.999505596225,0.999502577223,0.999499549033,0.999496511657,0.999493465093,0.999490409342,0.999487344404,0.999484270278,0.999481186966,0.999478094467,0.999474992781,0.999471881907,0.999468761847,0.9994656326,0.999462494166,0.999459346546,0.999456189738,0.999453023744,0.999449848562,0.999446664195,0.99944347064,0.999440267899,0.999437055971,0.999433834857,0.999430604555,0.999427365068,0.999424116394,0.999420858533,0.999417591486,0.999414315253,0.999411029833,0.999407735226,0.999404431434,0.999401118455,0.99939779629,0.999394464938,0.9993911244,0.999387774676,0.999384415766,0.99938104767,0.999377670388,0.99937428392,0.999370888265,0.999367483425,0.999364069399,0.999360646186,0.999357213788,0.999353772204,0.999350321434,0.999346861478,0.999343392337,0.99933991401,0.999336426497,0.999332929798,0.999329423914,0.999325908844,0.999322384588,0.999318851147,0.999315308521,0.999311756709,0.999308195711,0.999304625528,0.99930104616,0.999297457606,0.999293859867,0.999290252943,0.999286636833,0.999283011538,0.999279377058,0.999275733393,0.999272080543,0.999268418507,0.999264747287,0.999261066881,0.999257377291,0.999253678515,0.999249970555,0.999246253409,0.999242527079,0.999238791564,0.999235046865,0.99923129298,0.999227529911,0.999223757657,0.999219976218,0.999216185595,0.999212385787,0.999208576795,0.999204758618,0.999200931257,0.999197094711,0.999193248981,0.999189394067,0.999185529968,0.999181656685,0.999177774217,0.999173882566,0.99916998173,0.99916607171,0.999162152506,0.999158224118,0.999154286545,0.999150339789,0.999146383849,0.999142418725,0.999138444417,0.999134460925,0.999130468249,0.99912646639,0.999122455346,0.999118435119,0.999114405709,0.999110367114,0.999106319336,0.999102262375,0.99909819623,0.999094120901,0.999090036389,0.999085942694,0.999081839815,0.999077727753,0.999073606507,0.999069476078,0.999065336466,0.999061187671,0.999057029693,0.999052862532,0.999048686187,0.999044500659,0.999040305949,0.999036102055,0.999031888979,0.99902766672,0.999023435277,0.999019194652,0.999014944845,0.999010685854,0.999006417681,0.999002140325,0.998997853787,0.998993558066,0.998989253162,0.998984939076,0.998980615807,0.998976283356,0.998971941723,0.998967590908,0.99896323091,0.998958861729,0.998954483367,0.998950095822,0.998945699096,0.998941293187,0.998936878096,0.998932453823,0.998928020368,0.998923577731,0.998919125913,0.998914664912,0.99891019473,0.998905715366,0.99890122682,0.998896729092,0.998892222183,0.998887706093,0.99888318082,0.998878646366,0.998874102731,0.998869549914,0.998864987916,0.998860416737,0.998855836376,0.998851246834,0.99884664811,0.998842040206,0.99883742312,0.998832796854,0.998828161406,0.998823516777,0.998818862967,0.998814199976,0.998809527805,0.998804846452,0.998800155919,0.998795456205,0.99879074731,0.998786029235,0.998781301979,0.998776565542,0.998771819925,0.998767065128,0.99876230115,0.998757527991,0.998752745652,0.998747954133,0.998743153434,0.998738343554,0.998733524494,0.998728696254,0.998723858834,0.998719012234,0.998714156454,0.998709291494,0.998704417353,0.998699534034,0.998694641534,0.998689739854,0.998684828995,0.998679908956,0.998674979737,0.998670041339,0.998665093761,0.998660137004,0.998655171067,0.998650195951,0.998645211655,0.99864021818,0.998635215526,0.998630203693,0.99862518268,0.998620152488,0.998615113117,0.998610064567,0.998605006838,0.99859993993,0.998594863843,0.998589778578,0.998584684133,0.99857958051,0.998574467708,0.998569345727,0.998564214568,0.99855907423,0.998553924713,0.998548766018,0.998543598145,0.998538421093,0.998533234863,0.998528039454,0.998522834868,0.998517621103,0.99851239816,0.998507166038,0.998501924739,0.998496674262,0.998491414606,0.998486145773,0.998480867762,0.998475580573,0.998470284207,0.998464978662,0.99845966394,0.998454340041,0.998449006963,0.998443664708,0.998438313276,0.998432952667,0.998427582879,0.998422203915,0.998416815773,0.998411418454,0.998406011958,0.998400596285,0.998395171435,0.998389737407,0.998384294203,0.998378841822,0.998373380264,0.998367909529,0.998362429617,0.998356940528,0.998351442263,0.998345934821,0.998340418203,0.998334892408,0.998329357436,0.998323813289,0.998318259964,0.998312697464,0.998307125787,0.998301544934,0.998295954905,0.998290355699,0.998284747318,0.99827912976,0.998273503027,0.998267867118,0.998262222032,0.998256567771,0.998250904335,0.998245231722,0.998239549934,0.99823385897,0.998228158831,0.998222449516,0.998216731026,0.99821100336,0.99820526652,0.998199520503,0.998193765312,0.998188000945,0.998182227403,0.998176444686,0.998170652795,0.998164851728,0.998159041486,0.998153222069,0.998147393478,0.998141555712,0.998135708771,0.998129852655,0.998123987365,0.9981181129,0.998112229261,0.998106336447,0.998100434459,0.998094523297,0.99808860296,0.99808267345,0.998076734765,0.998070786905,0.998064829872,0.998058863665,0.998052888284,0.998046903729,0.99804091,0.998034907098,0.998028895021,0.998022873771,0.998016843348,0.998010803751,0.99800475498,0.997998697036,0.997992629919,0.997986553628,0.997980468164,0.997974373526,0.997968269716,0.997962156732,0.997956034576,0.997949903246,0.997943762743,0.997937613068,0.99793145422,0.997925286199,0.997919109005,0.997912922638,0.997906727099,0.997900522388,0.997894308504,0.997888085447,0.997881853218,0.997875611817,0.997869361244,0.997863101498,0.99785683258,0.99785055449,0.997844267228,0.997837970795,0.997831665189,0.997825350411,0.997819026462,0.99781269334,0.997806351048,0.997799999583,0.997793638947,0.99778726914,0.997780890161,0.99777450201,0.997768104688,0.997761698195,0.997755282531,0.997748857696,0.997742423689,0.997735980512,0.997729528164,0.997723066644,0.997716595954,0.997710116093,0.997703627061,0.997697128859,0.997690621486,0.997684104942,0.997677579228,0.997671044343,0.997664500289,0.997657947063,0.997651384668,0.997644813102,0.997638232366,0.99763164246,0.997625043384,0.997618435139,0.997611817723,0.997605191137,0.997598555382,0.997591910457,0.997585256362,0.997578593098,0.997571920664,0.99756523906,0.997558548288,0.997551848346,0.997545139234,0.997538420954,0.997531693504,0.997524956885,0.997518211097,0.99751145614,0.997504692015,0.99749791872,0.997491136257,0.997484344624,0.997477543824,0.997470733854,0.997463914716,0.99745708641,0.997450248935,0.997443402292,0.997436546481,0.997429681501,0.997422807353,0.997415924037,0.997409031553,0.997402129901,0.997395219081,0.997388299094,0.997381369938,0.997374431615,0.997367484124,0.997360527466,0.99735356164,0.997346586647,0.997339602486,0.997332609158,0.997325606662,0.997318595,0.99731157417,0.997304544173,0.997297505009,0.997290456679,0.997283399181,0.997276332517,0.997269256685,0.997262171688,0.997255077523,0.997247974192,0.997240861694,0.99723374003,0.9972266092,0.997219469204,0.997212320041,0.997205161712,0.997197994217,0.997190817555,0.997183631728,0.997176436735,0.997169232576,0.997162019252,0.997154796762,0.997147565106,0.997140324284,0.997133074297,0.997125815145,0.997118546827,0.997111269344,0.997103982696,0.997096686882,0.997089381903,0.99708206776,0.997074744451,0.997067411978,0.997060070339,0.997052719536,0.997045359569,0.997037990436,0.997030612139,0.997023224678,0.997015828052,0.997008422262,0.997001007307,0.996993583189,0.996986149906,0.996978707459,0.996971255848,0.996963795073,0.996956325134,0.996948846031,0.996941357765,0.996933860335,0.996926353741,0.996918837984,0.996911313064,0.99690377898,0.996896235732,0.996888683322,0.996881121748,0.996873551011,0.996865971111,0.996858382048,0.996850783822,0.996843176434,0.996835559882,0.996827934168,0.996820299291,0.996812655252,0.99680500205,0.996797339686,0.996789668159,0.99678198747,0.996774297619,0.996766598606,0.996758890431,0.996751173094,0.996743446594,0.996735710933,0.996727966111,0.996720212126,0.99671244898,0.996704676672,0.996696895203,0.996689104572,0.99668130478,0.996673495827,0.996665677712,0.996657850437,0.996650014,0.996642168402,0.996634313644,0.996626449724,0.996618576644,0.996610694403,0.996602803002,0.99659490244,0.996586992717,0.996579073834,0.996571145791,0.996563208587,0.996555262223,0.996547306699,0.996539342015,0.996531368171,0.996523385167,0.996515393004,0.99650739168,0.996499381197,0.996491361554,0.996483332752,0.99647529479,0.996467247669,0.996459191389,0.996451125949,0.99644305135,0.996434967592,0.996426874675,0.996418772599,0.996410661364,0.996402540971,0.996394411419,0.996386272708,0.996378124838,0.99636996781,0.996361801624,0.996353626279,0.996345441776,0.996337248115,0.996329045295,0.996320833318,0.996312612183,0.99630438189,0.996296142438,0.99628789383,0.996279636063,0.996271369139,0.996263093058,0.996254807819,0.996246513422,0.996238209869,0.996229897158,0.99622157529,0.996213244265,0.996204904083,0.996196554744,0.996188196248,0.996179828596,0.996171451787,0.996163065821,0.996154670699,0.99614626642,0.996137852985,0.996129430393,0.996120998646,0.996112557742,0.996104107682,0.996095648467,0.996087180095,0.996078702568,0.996070215884,0.996061720046,0.996053215051,0.996044700901,0.996036177596,0.996027645135,0.996019103519,0.996010552748,0.996001992822,0.99599342374,0.995984845504,0.995976258113,0.995967661567,0.995959055866,0.995950441011,0.995941817001,0.995933183837,0.995924541518,0.995915890045,0.995907229417,0.995898559636,0.9958898807,0.995881192611,0.995872495367,0.99586378897,0.995855073419,0.995846348714,0.995837614855,0.995828871843,0.995820119678,0.995811358359,0.995802587887,0.995793808262,0.995785019483,0.995776221552,0.995767414468,0.99575859823,0.99574977284,0.995740938298,0.995732094602,0.995723241754,0.995714379754,0.995705508601,0.995696628296,0.995687738838,0.995678840229,0.995669932467,0.995661015554,0.995652089488,0.995643154271,0.995634209902,0.995625256381,0.995616293709,0.995607321885,0.99559834091,0.995589350783,0.995580351506,0.995571343077,0.995562325497,0.995553298766,0.995544262884,0.995535217851,0.995526163668,0.995517100333,0.995508027849,0.995498946213,0.995489855428,0.995480755492,0.995471646406,0.995462528169,0.995453400783,0.995444264247,0.99543511856,0.995425963724,0.995416799738,0.995407626603,0.995398444317,0.995389252883,0.995380052299,0.995370842565,0.995361623683,0.995352395651,0.99534315847,0.99533391214,0.995324656662,0.995315392034,0.995306118258,0.995296835333,0.99528754326,0.995278242038,0.995268931668,0.995259612149,0.995250283482,0.995240945667,0.995231598705,0.995222242594,0.995212877335,0.995203502928,0.995194119374,0.995184726672,0.995175324823,0.995165913826,0.995156493682,0.99514706439,0.995137625952,0.995128178366,0.995118721633,0.995109255754,0.995099780727,0.995090296554,0.995080803234,0.995071300768,0.995061789155,0.995052268396,0.99504273849,0.995033199438,0.99502365124,0.995014093896,0.995004527406,0.99499495177,0.994985366989,0.994975773061,0.994966169989,0.99495655777,0.994946936406,0.994937305897,0.994927666243,0.994918017443,0.994908359498,0.994898692409,0.994889016174,0.994879330795,0.994869636271,0.994859932602,0.994850219789,0.994840497831,0.994830766729,0.994821026483,0.994811277092,0.994801518558,0.994791750879,0.994781974057,0.99477218809,0.99476239298,0.994752588726,0.994742775329,0.994732952788,0.994723121104,0.994713280277,0.994703430306,0.994693571193,0.994683702936,0.994673825536,0.994663938994,0.994654043309,0.994644138481,0.994634224511,0.994624301398,0.994614369143,0.994604427745,0.994594477206,0.994584517524,0.9945745487,0.994564570734,0.994554583627,0.994544587377,0.994534581987,0.994524567454,0.99451454378,0.994504510965,0.994494469008,0.994484417911,0.994474357672,0.994464288292,0.994454209771,0.99444412211,0.994434025308,0.994423919365,0.994413804281,0.994403680058,0.994393546694,0.994383404189,0.994373252545,0.99436309176,0.994352921835,0.994342742771,0.994332554567,0.994322357223,0.994312150739,0.994301935116,0.994291710353,0.994281476452,0.994271233411,0.99426098123,0.994250719911,0.994240449453,0.994230169856,0.994219881121,0.994209583246,0.994199276233,0.994188960082,0.994178634792,0.994168300364,0.994157956798,0.994147604093,0.994137242251,0.994126871271,0.994116491153,0.994106101897,0.994095703504,0.994085295973,0.994074879305,0.994064453499,0.994054018557,0.994043574477,0.99403312126,0.994022658906,0.994012187415,0.994001706787,0.993991217023,0.993980718123,0.993970210085,0.993959692912,0.993949166602,0.993938631156,0.993928086574,0.993917532856,0.993906970002,0.993896398013,0.993885816887,0.993875226626,0.99386462723,0.993854018698,0.993843401031,0.993832774229,0.993822138292,0.993811493219,0.993800839012,0.99379017567,0.993779503193,0.993768821582,0.993758130836,0.993747430955,0.993736721941,0.993726003792,0.993715276509,0.993704540092,0.993693794541,0.993683039856,0.993672276038,0.993661503086,0.993650721,0.993639929781,0.993629129429,0.993618319943,0.993607501325,0.993596673573,0.993585836688,0.993574990671,0.993564135521,0.993553271238,0.993542397822,0.993531515275,0.993520623595,0.993509722782,0.993498812838,0.993487893761,0.993476965553,0.993466028213,0.993455081741,0.993444126137,0.993433161402,0.993422187535,0.993411204537,0.993400212408,0.993389211148,0.993378200757,0.993367181235,0.993356152582,0.993345114798,0.993334067884,0.993323011839,0.993311946664,0.993300872358,0.993289788922,0.993278696356,0.993267594661,0.993256483835,0.993245363879,0.993234234794,0.993223096579,0.993211949235,0.993200792761,0.993189627158,0.993178452426,0.993167268564,0.993156075574,0.993144873455,0.993133662207,0.99312244183,0.993111212325,0.993099973692,0.99308872593,0.993077469039,0.993066203021,0.993054927875,0.9930436436,0.993032350198,0.993021047668,0.99300973601,0.992998415225,0.992987085312,0.992975746273,0.992964398105,0.992953040811,0.99294167439,0.992930298842,0.992918914167,0.992907520365,0.992896117437,0.992884705382,0.992873284201,0.992861853893,0.99285041446,0.9928389659,0.992827508215,0.992816041403,0.992804565466,0.992793080403,0.992781586215,0.992770082901,0.992758570462,0.992747048897,0.992735518208,0.992723978393,0.992712429454,0.992700871389,0.9926893042,0.992677727887,0.992666142449,0.992654547887,0.9926429442,0.992631331389,0.992619709454,0.992608078395,0.992596438213,0.992584788906,0.992573130476,0.992561462923,0.992549786246,0.992538100446,0.992526405522,0.992514701476,0.992502988306,0.992491266014,0.992479534599,0.992467794061,0.992456044401,0.992444285618,0.992432517713,0.992420740685,0.992408954536,0.992397159264,0.992385354871,0.992373541356,0.992361718719,0.99234988696,0.99233804608,0.992326196079,0.992314336957,0.992302468713,0.992290591348,0.992278704863,0.992266809256,0.992254904529,0.992242990681,0.992231067713,0.992219135625,0.992207194416,0.992195244087,0.992183284638,0.992171316069,0.99215933838,0.992147351571,0.992135355643,0.992123350596,0.992111336428,0.992099313142,0.992087280737,0.992075239212,0.992063188569,0.992051128806,0.992039059925,0.992026981926,0.992014894808,0.992002798571,0.991990693216,0.991978578744,0.991966455153,0.991954322444,0.991942180617,0.991930029672,0.99191786961,0.991905700431,0.991893522134,0.991881334719,0.991869138188,0.991856932539,0.991844717774,0.991832493892,0.991820260893,0.991808018777,0.991795767545,0.991783507197,0.991771237732,0.991758959152,0.991746671455,0.991734374642,0.991722068713,0.991709753669,0.991697429509,0.991685096234,0.991672753843,0.991660402337,0.991648041716,0.99163567198,0.991623293129,0.991610905163,0.991598508083,0.991586101888,0.991573686579,0.991561262155,0.991548828617,0.991536385965,0.991523934199,0.991511473319,0.991499003325,0.991486524218,0.991474035997,0.991461538662,0.991449032215,0.991436516654,0.99142399198,0.991411458193,0.991398915294,0.991386363281,0.991373802156,0.991361231919,0.991348652569,0.991336064107,0.991323466532,0.991310859846,0.991298244048,0.991285619138,0.991272985116,0.991260341983,0.991247689738,0.991235028382,0.991222357915,0.991209678336,0.991196989647,0.991184291847,0.991171584936,0.991158868914,0.991146143782,0.991133409539,0.991120666186,0.991107913723,0.99109515215,0.991082381467,0.991069601674,0.991056812772,0.99104401476,0.991031207638,0.991018391407,0.991005566067,0.990992731618,0.99097988806,0.990967035392,0.990954173617,0.990941302732,0.990928422739,0.990915533638,0.990902635428,0.99088972811,0.990876811684,0.99086388615,0.990850951508,0.990838007759,0.990825054902,0.990812092938,0.990799121866,0.990786141687,0.990773152401,0.990760154008,0.990747146508,0.990734129902,0.990721104188,0.990708069369,0.990695025443,0.99068197241,0.990668910272,0.990655839027,0.990642758677,0.990629669221,0.990616570659,0.990603462992,0.990590346219,0.990577220341,0.990564085358,0.990550941269,0.990537788076,0.990524625778,0.990511454375,0.990498273868,0.990485084256,0.99047188554,0.99045867772,0.990445460796,0.990432234768,0.990418999635,0.9904057554,0.99039250206,0.990379239617,0.990365968071,0.990352687421,0.990339397669,0.990326098813,0.990312790855,0.990299473793,0.99028614763,0.990272812363,0.990259467994,0.990246114523,0.99023275195,0.990219380275,0.990205999498,0.99019260962,0.990179210639,0.990165802557,0.990152385374,0.990138959089,0.990125523704,0.990112079217,0.990098625629,0.990085162941,0.990071691152,0.990058210262,0.990044720272,0.990031221182,0.990017712992,0.990004195701,0.989990669311,0.989977133821,0.989963589231,0.989950035542,0.989936472753,0.989922900865,0.989909319878,0.989895729791,0.989882130606,0.989868522322,0.98985490494,0.989841278459,0.989827642879,0.989813998202,0.989800344426,0.989786681552,0.98977300958,0.98975932851,0.989745638343,0.989731939078,0.989718230716,0.989704513256,0.989690786699,0.989677051046,0.989663306295,0.989649552448,0.989635789504,0.989622017463,0.989608236326,0.989594446093,0.989580646764,0.989566838338,0.989553020817,0.9895391942,0.989525358487,0.989511513679,0.989497659776,0.989483796777,0.989469924683,0.989456043494,0.989442153211,0.989428253832,0.989414345359,0.989400427791,0.989386501129,0.989372565373,0.989358620523,0.989344666579,0.989330703541,0.989316731409,0.989302750183,0.989288759865,0.989274760452,0.989260751947,0.989246734349,0.989232707657,0.989218671873,0.989204626996,0.989190573027,0.989176509965,0.989162437811,0.989148356564,0.989134266226,0.989120166796,0.989106058273,0.98909194066,0.989077813955,0.989063678158,0.98904953327,0.989035379291,0.989021216221,0.98900704406,0.988992862808,0.988978672466,0.988964473033,0.98895026451,0.988936046897,0.988921820194,0.9889075844,0.988893339517,0.988879085544,0.988864822482,0.98885055033,0.988836269089,0.988821978758,0.988807679339,0.988793370831,0.988779053234,0.988764726548,0.988750390774,0.988736045911,0.98872169196,0.988707328921,0.988692956794,0.98867857558,0.988664185277,0.988649785887,0.988635377409,0.988620959844,0.988606533192,0.988592097453,0.988577652627,0.988563198714,0.988548735715,0.988534263629,0.988519782456,0.988505292198,0.988490792853,0.988476284422,0.988461766905,0.988447240303,0.988432704615,0.988418159841,0.988403605982,0.988389043038,0.988374471009,0.988359889895,0.988345299697,0.988330700413,0.988316092045,0.988301474593,0.988286848056,0.988272212435,0.988257567731,0.988242913942,0.98822825107,0.988213579114,0.988198898075,0.988184207952,0.988169508746,0.988154800457,0.988140083086,0.988125356631,0.988110621094,0.988095876474,0.988081122772,0.988066359988,0.988051588122,0.988036807173,0.988022017143,0.988007218031,0.987992409838,0.987977592563,0.987962766207,0.98794793077,0.987933086252,0.987918232653,0.987903369973,0.987888498213,0.987873617372,0.987858727451,0.987843828449,0.987828920368,0.987814003206,0.987799076965,0.987784141645,0.987769197244,0.987754243765,0.987739281206,0.987724309568,0.987709328851,0.987694339055,0.987679340181,0.987664332228,0.987649315197,0.987634289087,0.9876192539,0.987604209634,0.987589156291,0.987574093869,0.987559022371,0.987543941794,0.987528852141,0.98751375341,0.987498645603,0.987483528718,0.987468402757,0.987453267719,0.987438123605,0.987422970414,0.987407808147,0.987392636804,0.987377456385,0.987362266891,0.987347068321,0.987331860675,0.987316643954,0.987301418158,0.987286183287,0.98727093934,0.987255686319,0.987240424224,0.987225153054,0.987209872809,0.987194583491,0.987179285098,0.987163977631,0.987148661091,0.987133335477,0.987118000789,0.987102657028,0.987087304193,0.987071942286,0.987056571306,0.987041191253,0.987025802127,0.987010403928,0.986994996658,0.986979580315,0.9869641549,0.986948720413,0.986933276854,0.986917824223,0.986902362521,0.986886891748,0.986871411903,0.986855922987,0.986840425,0.986824917943,0.986809401814,0.986793876615,0.986778342346,0.986762799007,0.986747246597,0.986731685117,0.986716114568,0.986700534949,0.98668494626,0.986669348502,0.986653741675,0.986638125778,0.986622500813,0.986606866779,0.986591223676,0.986575571505,0.986559910265,0.986544239957,0.986528560581,0.986512872136,0.986497174625,0.986481468045,0.986465752398,0.986450027683,0.986434293902,0.986418551053,0.986402799137,0.986387038154,0.986371268105,0.986355488989,0.986339700807,0.986323903559,0.986308097245,0.986292281864,0.986276457418,0.986260623906,0.986244781329,0.986228929686,0.986213068979,0.986197199206,0.986181320368,0.986165432465,0.986149535498,0.986133629467,0.986117714371,0.98610179021,0.986085856986,0.986069914698,0.986053963346,0.986038002931,0.986022033452,0.98600605491,0.985990067304,0.985974070636,0.985958064905,0.985942050111,0.985926026254,0.985909993335,0.985893951354,0.985877900311,0.985861840206,0.985845771038,0.98582969281,0.985813605519,0.985797509168,0.985781403755,0.985765289281,0.985749165746,0.98573303315,0.985716891493,0.985700740776,0.985684580999,0.985668412162,0.985652234264,0.985636047307,0.985619851289,0.985603646213,0.985587432076,0.985571208881,0.985554976626,0.985538735312,0.98552248494,0.985506225508,0.985489957018,0.98547367947,0.985457392864,0.985441097199,0.985424792476,0.985408478696,0.985392155858,0.985375823962,0.985359483009,0.985343132999,0.985326773932,0.985310405807,0.985294028626,0.985277642389,0.985261247095,0.985244842745,0.985228429338,0.985212006876,0.985195575357,0.985179134783,0.985162685154,0.985146226469,0.985129758728,0.985113281933,0.985096796083,0.985080301178,0.985063797218,0.985047284204,0.985030762135,0.985014231012,0.984997690835,0.984981141605,0.98496458332,0.984948015982,0.984931439591,0.984914854146,0.984898259648,0.984881656097,0.984865043494,0.984848421837,0.984831791128,0.984815151367,0.984798502554,0.984781844688,0.984765177771,0.984748501802,0.984731816781,0.984715122709,0.984698419586,0.984681707411,0.984664986185,0.984648255909,0.984631516582,0.984614768204,0.984598010776,0.984581244298,0.98456446877,0.984547684192,0.984530890564,0.984514087886,0.984497276159,0.984480455383,0.984463625558,0.984446786684,0.98442993876,0.984413081789,0.984396215768,0.984379340699,0.984362456583,0.984345563418,0.984328661205,0.984311749944,0.984294829636,0.98427790028,0.984260961878,0.984244014428,0.984227057931,0.984210092387,0.984193117797,0.98417613416,0.984159141476,0.984142139747,0.984125128972,0.98410810915,0.984091080283,0.984074042371,0.984056995413,0.98403993941,0.984022874361,0.984005800268,0.98398871713,0.983971624948,0.983954523721,0.983937413449,0.983920294134,0.983903165774,0.983886028371,0.983868881924,0.983851726434,0.9838345619,0.983817388323,0.983800205703,0.98378301404,0.983765813334,0.983748603586,0.983731384795,0.983714156962,0.983696920087,0.98367967417,0.983662419212,0.983645155211,0.98362788217,0.983610600087,0.983593308962,0.983576008797,0.983558699591,0.983541381345,0.983524054058,0.98350671773,0.983489372362,0.983472017955,0.983454654507,0.98343728202,0.983419900493,0.983402509927,0.983385110322,0.983367701677,0.983350283994,0.983332857272,0.983315421511,0.983297976712,0.983280522874,0.983263059999,0.983245588085,0.983228107134,0.983210617145,0.983193118119,0.983175610055,0.983158092955,0.983140566817,0.983123031642,0.983105487431,0.983087934184,0.983070371899,0.983052800579,0.983035220223,0.983017630831,0.983000032403,0.98298242494,0.982964808441,0.982947182908,0.982929548339,0.982911904735,0.982894252096,0.982876590423,0.982858919716,0.982841239974,0.982823551199,0.982805853389,0.982788146546,0.982770430669,0.982752705758,0.982734971815,0.982717228838,0.982699476829,0.982681715786,0.982663945711,0.982646166604,0.982628378464,0.982610581292,0.982592775089,0.982574959853,0.982557135586,0.982539302287,0.982521459958,0.982503608597,0.982485748205,0.982467878782,0.982450000328,0.982432112845,0.98241421633,0.982396310786,0.982378396212,0.982360472608,0.982342539974,0.982324598311,0.982306647618,0.982288687896,0.982270719146,0.982252741366,0.982234754558,0.982216758721,0.982198753856,0.982180739963,0.982162717042,0.982144685093,0.982126644117,0.982108594113,0.982090535081,0.982072467022,0.982054389937,0.982036303824,0.982018208685,0.98200010452,0.981981991328,0.98196386911,0.981945737865,0.981927597595,0.9819094483,0.981891289979,0.981873122632,0.981854946261,0.981836760864,0.981818566443,0.981800362996,0.981782150526,0.981763929031,0.981745698512,0.981727458969,0.981709210402,0.981690952811,0.981672686197,0.98165441056,0.981636125899,0.981617832215,0.981599529509,0.98158121778,0.981562897028,0.981544567255,0.981526228459,0.981507880641,0.981489523801,0.98147115794,0.981452783057,0.981434399152,0.981416006227,0.981397604281,0.981379193314,0.981360773326,0.981342344318,0.981323906289,0.981305459241,0.981287003172,0.981268538084,0.981250063976,0.981231580849,0.981213088702,0.981194587536,0.981176077352,0.981157558148,0.981139029926,0.981120492686,0.981101946427,0.98108339115,0.981064826856,0.981046253543,0.981027671213,0.981009079866,0.980990479502,0.98097187012,0.980953251721,0.980934624306,0.980915987874,0.980897342426,0.980878687962,0.980860024482,0.980841351985,0.980822670473,0.980803979946,0.980785280403,0.980766571845,0.980747854272,0.980729127685,0.980710392082,0.980691647465,0.980672893834,0.980654131189,0.98063535953,0.980616578857,0.98059778917,0.98057899047,0.980560182756,0.98054136603,0.98052254029,0.980503705538,0.980484861773,0.980466008996,0.980447147207,0.980428276405,0.980409396592,0.980390507767,0.98037160993,0.980352703082,0.980333787223,0.980314862353,0.980295928472,0.98027698558,0.980258033678,0.980239072766,0.980220102843,0.980201123911,0.980182135968,0.980163139016,0.980144133055,0.980125118084,0.980106094104,0.980087061115,0.980068019118,0.980048968112,0.980029908097,0.980010839074,0.979991761043,0.979972674005,0.979953577958,0.979934472905,0.979915358843,0.979896235775,0.9798771037,0.979857962617,0.979838812528,0.979819653433,0.979800485331,0.979781308224,0.97976212211,0.979742926991,0.979723722866,0.979704509735,0.979685287599,0.979666056459,0.979646816313,0.979627567163,0.979608309008,0.979589041849,0.979569765685,0.979550480518,0.979531186347,0.979511883172,0.979492570994,0.979473249812,0.979453919628,0.97943458044,0.97941523225,0.979395875057,0.979376508861,0.979357133664,0.979337749464,0.979318356263,0.97929895406,0.979279542855,0.979260122649,0.979240693442,0.979221255234,0.979201808025,0.979182351816,0.979162886606,0.979143412395,0.979123929185,0.979104436975,0.979084935765,0.979065425556,0.979045906347,0.979026378139,0.979006840932,0.978987294726,0.978967739522,0.978948175319,0.978928602118,0.978909019919,0.978889428721,0.978869828527,0.978850219334,0.978830601144,0.978810973957,0.978791337773,0.978771692592,0.978752038415,0.978732375241,0.97871270307,0.978693021904,0.978673331741,0.978653632583,0.978633924429,0.97861420728,0.978594481136,0.978574745997,0.978555001862,0.978535248733,0.97851548661,0.978495715492,0.978475935381,0.978456146275,0.978436348175,0.978416541082,0.978396724996,0.978376899916,0.978357065843,0.978337222778,0.97831737072,0.978297509669,0.978277639626,0.978257760591,0.978237872564,0.978217975545,0.978198069534,0.978178154533,0.97815823054,0.978138297556,0.978118355581,0.978098404615,0.978078444659,0.978058475713,0.978038497777,0.978018510851,0.977998514935,0.977978510029,0.977958496134,0.97793847325,0.977918441377,0.977898400515,0.977878350664,0.977858291825,0.977838223998,0.977818147183,0.977798061379,0.977777966588,0.97775786281,0.977737750044,0.977717628291,0.977697497551,0.977677357825,0.977657209111,0.977637051411,0.977616884725,0.977596709053,0.977576524396,0.977556330752,0.977536128123,0.977515916509,0.977495695909,0.977475466325,0.977455227756,0.977434980202,0.977414723664,0.977394458142,0.977374183635,0.977353900145,0.977333607671,0.977313306214,0.977292995774,0.977272676351,0.977252347944,0.977232010555,0.977211664184,0.97719130883,0.977170944494,0.977150571176,0.977130188876,0.977109797595,0.977089397332,0.977068988088,0.977048569863,0.977028142658,0.977007706471,0.976987261305,0.976966807158,0.976946344031,0.976925871924,0.976905390837,0.976884900771,0.976864401725,0.976843893701,0.976823376697,0.976802850715,0.976782315754,0.976761771815,0.976741218897,0.976720657002,0.976700086129,0.976679506278,0.97665891745,0.976638319644,0.976617712862,0.976597097102,0.976576472366,0.976555838653,0.976535195965,0.9765145443,0.976493883659,0.976473214042,0.97645253545,0.976431847883,0.97641115134,0.976390445822,0.97636973133,0.976349007863,0.976328275422,0.976307534006,0.976286783617,0.976266024253,0.976245255916,0.976224478606,0.976203692322,0.976182897066,0.976162092836,0.976141279634,0.976120457459,0.976099626312,0.976078786193,0.976057937102,0.976037079039,0.976016212005,0.975995335999,0.975974451022,0.975953557075,0.975932654156,0.975911742267,0.975890821408,0.975869891578,0.975848952779,0.975828005009,0.975807048271,0.975786082562,0.975765107885,0.975744124238,0.975723131623,0.975702130039,0.975681119486,0.975660099965,0.975639071476,0.97561803402,0.975596987595,0.975575932204,0.975554867844,0.975533794518,0.975512712225,0.975491620965,0.975470520739,0.975449411546,0.975428293388,0.975407166263,0.975386030173,0.975364885117,0.975343731095,0.975322568109,0.975301396158,0.975280215241,0.975259025361,0.975237826516,0.975216618706,0.975195401933,0.975174176196,0.975152941495,0.975131697831,0.975110445204,0.975089183614,0.975067913061,0.975046633545,0.975025345067,0.975004047627,0.974982741224,0.97496142586,0.974940101534,0.974918768247,0.974897425999,0.974876074789,0.974854714619,0.974833345488,0.974811967396,0.974790580344,0.974769184333,0.974747779361,0.974726365429,0.974704942539,0.974683510689,0.974662069879,0.974640620111,0.974619161384,0.974597693699,0.974576217056,0.974554731454,0.974533236894,0.974511733377,0.974490220902,0.97446869947,0.974447169081,0.974425629735,0.974404081432,0.974382524173,0.974360957957,0.974339382786,0.974317798658,0.974296205575,0.974274603536,0.974252992541,0.974231372592,0.974209743688,0.974188105829,0.974166459015,0.974144803247,0.974123138525,0.97410146485,0.97407978222,0.974058090637,0.9740363901,0.974014680611,0.973992962168,0.973971234773,0.973949498425,0.973927753125,0.973905998872,0.973884235668,0.973862463512,0.973840682405,0.973818892346,0.973797093336,0.973775285375,0.973753468463,0.973731642601,0.973709807788,0.973687964026,0.973666111313,0.973644249651,0.973622379039,0.973600499478,0.973578610967,0.973556713508,0.9735348071,0.973512891744,0.973490967439,0.973469034186,0.973447091985,0.973425140837,0.973403180741,0.973381211697,0.973359233707,0.973337246769,0.973315250885,0.973293246055,0.973271232278,0.973249209555,0.973227177886,0.973205137271,0.973183087711,0.973161029206,0.973138961755,0.97311688536,0.97309480002,0.973072705735,0.973050602507,0.973028490334,0.973006369217,0.972984239157,0.972962100153,0.972939952206,0.972917795315,0.972895629482,0.972873454707,0.972851270989,0.972829078328,0.972806876726,0.972784666182,0.972762446696,0.972740218268,0.9727179809,0.97269573459,0.97267347934,0.972651215149,0.972628942018,0.972606659946,0.972584368935,0.972562068983,0.972539760093,0.972517442262,0.972495115493,0.972472779784,0.972450435137,0.972428081552,0.972405719027,0.972383347565,0.972360967165,0.972338577827,0.972316179552,0.972293772339,0.972271356189,0.972248931102,0.972226497079,0.972204054119,0.972181602223,0.97215914139,0.972136671622,0.972114192918,0.972091705279,0.972069208704,0.972046703195,0.97202418875,0.972001665371,0.971979133057,0.97195659181,0.971934041628,0.971911482512,0.971888914463,0.97186633748,0.971843751564,0.971821156716,0.971798552934,0.97177594022,0.971753318574,0.971730687995,0.971708048484,0.971685400042,0.971662742668,0.971640076363,0.971617401127,0.97159471696,0.971572023862,0.971549321833,0.971526610875,0.971503890986,0.971481162168,0.97145842442,0.971435677742,0.971412922135,0.971390157599,0.971367384135,0.971344601741,0.97132181042,0.97129901017,0.971276200992,0.971253382887,0.971230555853,0.971207719893,0.971184875005,0.971162021191,0.97113915845,0.971116286782,0.971093406188,0.971070516668,0.971047618222,0.97102471085,0.971001794553,0.970978869331,0.970955935184,0.970932992111,0.970910040115,0.970887079193,0.970864109348,0.970841130579,0.970818142886,0.970795146269,0.970772140729,0.970749126266,0.97072610288,0.970703070571,0.97068002934,0.970656979186,0.970633920111,0.970610852113,0.970587775194,0.970564689354,0.970541594592,0.970518490909,0.970495378306,0.970472256781,0.970449126337,0.970425986972,0.970402838688,0.970379681483,0.970356515359,0.970333340316,0.970310156354,0.970286963473,0.970263761673,0.970240550955,0.970217331318,0.970194102763,0.970170865291,0.970147618901,0.970124363594,0.970101099369,0.970077826228,0.970054544169,0.970031253195,0.970007953303,0.969984644496,0.969961326773,0.969938000134,0.96991466458,0.969891320111,0.969867966726,0.969844604427,0.969821233213,0.969797853084,0.969774464042,0.969751066085,0.969727659215,0.969704243431,0.969680818734,0.969657385124,0.969633942601,0.969610491166,0.969587030817,0.969563561557,0.969540083385,0.9695165963,0.969493100305,0.969469595397,0.969446081579,0.96942255885,0.96939902721,0.969375486659,0.969351937199,0.969328378828,0.969304811547,0.969281235357,0.969257650257,0.969234056248,0.96921045333,0.969186841503,0.969163220768,0.969139591124,0.969115952572,0.969092305113,0.969068648745,0.96904498347,0.969021309288,0.968997626199,0.968973934203,0.9689502333,0.968926523492,0.968902804776,0.968879077155,0.968855340629,0.968831595196,0.968807840859,0.968784077616,0.968760305469,0.968736524416,0.96871273446,0.968688935599,0.968665127834,0.968641311166,0.968617485594,0.968593651118,0.96856980774,0.968545955458,0.968522094274,0.968498224188,0.968474345199,0.968450457308,0.968426560516,0.968402654822,0.968378740226,0.96835481673,0.968330884332,0.968306943034,0.968282992836,0.968259033737,0.968235065738,0.968211088839,0.968187103041,0.968163108343,0.968139104746,0.968115092251,0.968091070856,0.968067040563,0.968043001372,0.968018953283,0.967994896296,0.967970830411,0.967946755629,0.96792267195,0.967898579374,0.967874477901,0.967850367531,0.967826248266,0.967802120104,0.967777983047,0.967753837093,0.967729682245,0.967705518501,0.967681345863,0.967657164329,0.967632973902,0.967608774579,0.967584566363,0.967560349253,0.96753612325,0.967511888353,0.967487644563,0.96746339188,0.967439130304,0.967414859835,0.967390580475,0.967366292222,0.967341995078,0.967317689042,0.967293374114,0.967269050296,0.967244717586,0.967220375986,0.967196025496,0.967171666115,0.967147297844,0.967122920683,0.967098534633,0.967074139693,0.967049735864,0.967025323146,0.96700090154,0.966976471045,0.966952031662,0.966927583391,0.966903126232,0.966878660185,0.966854185251,0.96682970143,0.966805208722,0.966780707128,0.966756196647,0.966731677279,0.966707149026,0.966682611887,0.966658065863,0.966633510953,0.966608947158,0.966584374478,0.966559792914,0.966535202465,0.966510603132,0.966485994915,0.966461377814,0.96643675183,0.966412116963,0.966387473212,0.966362820579,0.966338159063,0.966313488665,0.966288809384,0.966264121222,0.966239424178,0.966214718252,0.966190003445,0.966165279758,0.966140547189,0.96611580574,0.96609105541,0.966066296201,0.966041528111,0.966016751142,0.965991965294,0.965967170566,0.965942366959,0.965917554474,0.96589273311,0.965867902868,0.965843063748,0.96581821575,0.965793358874,0.965768493121,0.965743618491,0.965718734984,0.9656938426,0.96566894134,0.965644031204,0.965619112191,0.965594184303,0.965569247539,0.9655443019,0.965519347386,0.965494383997,0.965469411734,0.965444430596,0.965419440584,0.965394441698,0.965369433938,0.965344417305,0.965319391798,0.965294357419,0.965269314167,0.965244262042,0.965219201045,0.965194131176,0.965169052435,0.965143964822,0.965118868338,0.965093762983,0.965068648757,0.96504352566,0.965018393692,0.964993252855,0.964968103147,0.96494294457,0.964917777123,0.964892600807,0.964867415622,0.964842221567,0.964817018645,0.964791806853,0.964766586194,0.964741356667,0.964716118272,0.964690871009,0.96466561488,0.964640349883,0.96461507602,0.96458979329,0.964564501694,0.964539201231,0.964513891903,0.964488573709,0.96446324665,0.964437910726,0.964412565937,0.964387212283,0.964361849765,0.964336478382,0.964311098136,0.964285709025,0.964260311052,0.964234904215,0.964209488515,0.964184063952,0.964158630526,0.964133188239,0.964107737089,0.964082277077,0.964056808204,0.964031330469,0.964005843873,0.963980348416,0.963954844098,0.96392933092,0.963903808882,0.963878277984,0.963852738226,0.963827189608,0.963801632131,0.963776065795,0.963750490601,0.963724906547,0.963699313636,0.963673711866,0.963648101238,0.963622481753,0.96359685341,0.96357121621,0.963545570153,0.96351991524,0.96349425147,0.963468578844,0.963442897361,0.963417207023,0.96339150783,0.963365799781,0.963340082877,0.963314357118,0.963288622505,0.963262879038,0.963237126716,0.96321136554,0.963185595511,0.963159816628,0.963134028893,0.963108232304,0.963082426863,0.963056612569,0.963030789423,0.963004957425,0.962979116575,0.962953266874,0.962927408321,0.962901540918,0.962875664663,0.962849779559,0.962823885603,0.962797982798,0.962772071143,0.962746150638,0.962720221284,0.962694283081,0.962668336029,0.962642380129,0.96261641538,0.962590441782,0.962564459337,0.962538468044,0.962512467904,0.962486458917,0.962460441082,0.962434414401,0.962408378873,0.962382334499,0.962356281279,0.962330219214,0.962304148302,0.962278068546,0.962251979944,0.962225882498,0.962199776207,0.962173661072,0.962147537092,0.962121404269,0.962095262602,0.962069112092,0.962042952739,0.962016784542,0.961990607503,0.961964421622,0.961938226899,0.961912023333,0.961885810926,0.961859589677,0.961833359588,0.961807120657,0.961780872885,0.961754616274,0.961728350821,0.961702076529,0.961675793397,0.961649501426,0.961623200615,0.961596890965,0.961570572477,0.961544245149,0.961517908984,0.961491563981,0.961465210139,0.96143884746,0.961412475944,0.961386095591,0.961359706401,0.961333308374,0.961306901511,0.961280485811,0.961254061276,0.961227627905,0.961201185699,0.961174734658,0.961148274781,0.96112180607,0.961095328525,0.961068842146,0.961042346932,0.961015842885,0.960989330004,0.96096280829,0.960936277743,0.960909738364,0.960883190152,0.960856633108,0.960830067231,0.960803492523,0.960776908984,0.960750316613,0.960723715411,0.960697105379,0.960670486516,0.960643858823,0.960617222299,0.960590576946,0.960563922763,0.960537259752,0.96051058791,0.960483907241,0.960457217742,0.960430519416,0.960403812261,0.960377096278,0.960350371468,0.96032363783,0.960296895366,0.960270144074,0.960243383956,0.960216615012,0.960189837241,0.960163050645,0.960136255223,0.960109450976,0.960082637903,0.960055816006,0.960028985284,0.960002145738,0.959975297367,0.959948440173,0.959921574155,0.959894699313,0.959867815649,0.959840923161,0.959814021851,0.959787111719,0.959760192764,0.959733264988,0.959706328389,0.95967938297,0.959652428729,0.959625465667,0.959598493785,0.959571513082,0.959544523559,0.959517525216,0.959490518053,0.959463502071,0.95943647727,0.95940944365,0.959382401211,0.959355349954,0.959328289878,0.959301220985,0.959274143274,0.959247056745,0.9592199614,0.959192857237,0.959165744258,0.959138622462,0.95911149185,0.959084352422,0.959057204178,0.959030047119,0.959002881245,0.958975706556,0.958948523052,0.958921330733,0.958894129601,0.958866919654,0.958839700894,0.95881247332,0.958785236933,0.958757991733,0.958730737721,0.958703474896,0.958676203259,0.95864892281,0.958621633549,0.958594335476,0.958567028593,0.958539712899,0.958512388394,0.958485055078,0.958457712952,0.958430362017,0.958403002271,0.958375633716,0.958348256352,0.95832087018,0.958293475198,0.958266071408,0.95823865881,0.958211237404,0.95818380719,0.958156368169,0.95812892034,0.958101463705,0.958073998263,0.958046524015,0.95801904096,0.9579915491,0.957964048434,0.957936538962,0.957909020686,0.957881493604,0.957853957718,0.957826413028,0.957798859533,0.957771297234,0.957743726132,0.957716146227,0.957688557518,0.957660960006,0.957633353692,0.957605738576,0.957578114657,0.957550481937,0.957522840414,0.957495190091,0.957467530967,0.957439863041,0.957412186315,0.957384500789,0.957356806463,0.957329103336,0.957301391411,0.957273670686,0.957245941162,0.957218202839,0.957190455717,0.957162699798,0.95713493508,0.957107161564,0.957079379251,0.957051588141,0.957023788234,0.95699597953,0.956968162029,0.956940335732,0.956912500639,0.956884656751,0.956856804067,0.956828942588,0.956801072313,0.956773193244,0.956745305381,0.956717408723,0.956689503272,0.956661589027,0.956633665988,0.956605734156,0.956577793531,0.956549844114,0.956521885904,0.956493918902,0.956465943109,0.956437958523,0.956409965146,0.956381962978,0.95635395202,0.95632593227,0.95629790373,0.956269866401,0.956241820281,0.956213765372,0.956185701673,0.956157629186,0.956129547909,0.956101457844,0.956073358991,0.95604525135,0.956017134921,0.955989009705,0.955960875701,0.95593273291,0.955904581333,0.955876420969,0.955848251819,0.955820073883,0.955791887161,0.955763691654,0.955735487361,0.955707274284,0.955679052422,0.955650821776,0.955622582345,0.955594334131,0.955566077133,0.955537811351,0.955509536787,0.95548125344,0.95545296131,0.955424660398,0.955396350703,0.955368032227,0.95533970497,0.955311368931,0.955283024111,0.955254670511,0.955226308129,0.955197936968,0.955169557027,0.955141168306,0.955112770805,0.955084364526,0.955055949467,0.95502752563,0.954999093014,0.95497065162,0.954942201448,0.954913742499,0.954885274772,0.954856798269,0.954828312988,0.954799818931,0.954771316097,0.954742804488,0.954714284102,0.954685754941,0.954657217005,0.954628670294,0.954600114808,0.954571550548,0.954542977513,0.954514395704,0.954485805122,0.954457205767,0.954428597638,0.954399980736,0.954371355061,0.954342720615,0.954314077396,0.954285425405,0.954256764643,0.954228095109,0.954199416804,0.954170729729,0.954142033883,0.954113329267,0.95408461588,0.954055893724,0.954027162799,0.953998423104,0.95396967464,0.953940917408,0.953912151407,0.953883376638,0.953854593101,0.953825800797,0.953796999725,0.953768189886,0.95373937128,0.953710543908,0.953681707769,0.953652862865,0.953624009194,0.953595146758,0.953566275557,0.953537395591,0.95350850686,0.953479609365,0.953450703105,0.953421788082,0.953392864295,0.953363931744,0.953334990431,0.953306040354,0.953277081515,0.953248113914,0.95321913755,0.953190152425,0.953161158539,0.953132155891,0.953103144482,0.953074124312,0.953045095382,0.953016057692,0.952987011242,0.952957956032,0.952928892063,0.952899819334,0.952870737847,0.952841647601,0.952812548597,0.952783440835,0.952754324315,0.952725199038,0.952696065003,0.952666922211,0.952637770663,0.952608610358,0.952579441297,0.95255026348,0.952521076908,0.95249188158,0.952462677497,0.952433464659,0.952404243066,0.95237501272,0.952345773619,0.952316525765,0.952287269157,0.952258003795,0.952228729681,0.952199446814,0.952170155195,0.952140854824,0.952111545701,0.952082227826,0.9520529012,0.952023565822,0.951994221694,0.951964868816,0.951935507187,0.951906136808,0.951876757679,0.951847369801,0.951817973174,0.951788567798,0.951759153673,0.9517297308,0.951700299179,0.95167085881,0.951641409694,0.95161195183,0.951582485219,0.951553009861,0.951523525757,0.951494032907,0.951464531311,0.951435020969,0.951405501882,0.951375974049,0.951346437472,0.95131689215,0.951287338084,0.951257775274,0.95122820372,0.951198623423,0.951169034383,0.951139436599,0.951109830073,0.951080214804,0.951050590794,0.951020958041,0.950991316547,0.950961666312,0.950932007335,0.950902339618,0.95087266316,0.950842977962,0.950813284024,0.950783581347,0.95075386993,0.950724149774,0.950694420879,0.950664683245,0.950634936874,0.950605181764,0.950575417916,0.950545645331,0.950515864009,0.950486073949,0.950456275154,0.950426467621,0.950396651353,0.950366826349,0.950336992609,0.950307150134,0.950277298924,0.950247438979,0.950217570299,0.950187692886,0.950157806738,0.950127911857,0.950098008243,0.950068095895,0.950038174815,0.950008245002,0.949978306457,0.949948359179,0.94991840317,0.94988843843,0.949858464959,0.949828482756,0.949798491823,0.94976849216,0.949738483766,0.949708466643,0.94967844079,0.949648406208,0.949618362897,0.949588310857,0.949558250089,0.949528180593,0.949498102369,0.949468015417,0.949437919738,0.949407815332,0.9493777022,0.94934758034,0.949317449755,0.949287310444,0.949257162406,0.949227005644,0.949196840157,0.949166665944,0.949136483008,0.949106291347,0.949076090961,0.949045881853,0.949015664021,0.948985437465,0.948955202187,0.948924958186,0.948894705463,0.948864444018,0.948834173851,0.948803894963,0.948773607353,0.948743311023,0.948713005971,0.9486826922,0.948652369708,0.948622038497,0.948591698566,0.948561349916,0.948530992547,0.948500626459,0.948470251652,0.948439868128,0.948409475886,0.948379074926,0.948348665249,0.948318246855,0.948287819744,0.948257383916,0.948226939373,0.948196486113,0.948166024138,0.948135553448,0.948105074043,0.948074585922,0.948044089088,0.948013583539,0.947983069276,0.947952546299,0.947922014609,0.947891474206,0.94786092509,0.947830367262,0.947799800721,0.947769225469,0.947738641505,0.947708048829,0.947677447442,0.947646837344,0.947616218536,0.947585591018,0.947554954789,0.947524309851,0.947493656203,0.947462993846,0.947432322781,0.947401643006,0.947370954524,0.947340257333,0.947309551435,0.947278836829,0.947248113516,0.947217381496,0.947186640769,0.947155891336,0.947125133198,0.947094366353,0.947063590803,0.947032806547,0.947002013587,0.946971211922,0.946940401552,0.946909582479,0.946878754702,0.946847918221,0.946817073037,0.94678621915,0.946755356561,0.946724485269,0.946693605275,0.946662716579,0.946631819182,0.946600913083,0.946569998284,0.946539074784,0.946508142583,0.946477201682,0.946446252082,0.946415293782,0.946384326783,0.946353351084,0.946322366688,0.946291373592,0.946260371799,0.946229361308,0.946198342119,0.946167314233,0.94613627765,0.94610523237,0.946074178394,0.946043115722,0.946012044354,0.945980964291,0.945949875532,0.945918778078,0.94588767193,0.945856557087,0.94582543355,0.945794301319,0.945763160395,0.945732010777,0.945700852467,0.945669685464,0.945638509768,0.945607325381,0.945576132301,0.94554493053,0.945513720068,0.945482500914,0.945451273071,0.945420036536,0.945388791312,0.945357537398,0.945326274794,0.945295003501,0.945263723519,0.945232434848,0.945201137489,0.945169831442,0.945138516708,0.945107193285,0.945075861176,0.945044520379,0.945013170896,0.944981812727,0.944950445871,0.94491907033,0.944887686103,0.944856293191,0.944824891594,0.944793481312,0.944762062346,0.944730634696,0.944699198362,0.944667753345,0.944636299645,0.944604837261,0.944573366196,0.944541886447,0.944510398017,0.944478900905,0.944447395112,0.944415880637,0.944384357482,0.944352825646,0.944321285129,0.944289735933,0.944258178057,0.944226611501,0.944195036267,0.944163452353,0.944131859761,0.944100258491,0.944068648543,0.944037029917,0.944005402614,0.943973766634,0.943942121976,0.943910468643,0.943878806633,0.943847135947,0.943815456586,0.943783768549,0.943752071837,0.94372036645,0.943688652389,0.943656929654,0.943625198245,0.943593458162,0.943561709406,0.943529951977,0.943498185875,0.943466411101,0.943434627654,0.943402835536,0.943371034746,0.943339225285,0.943307407153,0.94327558035,0.943243744877,0.943211900734,0.943180047921,0.943148186438,0.943116316287,0.943084437466,0.943052549977,0.943020653819,0.942988748994,0.9429568355,0.942924913339,0.942892982511,0.942861043016,0.942829094855,0.942797138027,0.942765172533,0.942733198374,0.942701215549,0.942669224059,0.942637223904,0.942605215085,0.942573197601,0.942541171454,0.942509136643,0.942477093168,0.942445041031,0.942412980231,0.942380910768,0.942348832643,0.942316745857,0.942284650408,0.942252546299,0.942220433528,0.942188312097,0.942156182005,0.942124043254,0.942091895842,0.942059739771,0.942027575041,0.941995401652,0.941963219604,0.941931028898,0.941898829534,0.941866621512,0.941834404832,0.941802179496,0.941769945503,0.941737702853,0.941705451547,0.941673191585,0.941640922967,0.941608645694,0.941576359766,0.941544065183,0.941511761946,0.941479450054,0.941447129509,0.94141480031,0.941382462457,0.941350115952,0.941317760794,0.941285396984,0.941253024521,0.941220643407,0.941188253642,0.941155855225,0.941123448157,0.941091032438,0.94105860807,0.941026175051,0.940993733382,0.940961283065,0.940928824098,0.940896356482,0.940863880217,0.940831395305,0.940798901744,0.940766399536,0.940733888681,0.940701369179,0.940668841029,0.940636304234,0.940603758792,0.940571204705,0.940538641972,0.940506070593,0.94047349057,0.940440901902,0.94040830459,0.940375698634,0.940343084034,0.94031046079,0.940277828904,0.940245188375,0.940212539203,0.940179881389,0.940147214933,0.940114539835,0.940081856096,0.940049163716,0.940016462695,0.939983753034,0.939951034733,0.939918307792,0.939885572211,0.939852827991,0.939820075132,0.939787313635,0.939754543499,0.939721764725,0.939688977314,0.939656181265,0.939623376579,0.939590563256,0.939557741296,0.939524910701,0.939492071469,0.939459223602,0.9394263671,0.939393501962,0.93936062819,0.939327745784,0.939294854743,0.939261955069,0.939229046761,0.93919612982,0.939163204246,0.939130270039,0.9390973272,0.939064375729,0.939031415627,0.938998446893,0.938965469528,0.938932483532,0.938899488906,0.938866485649,0.938833473763,0.938800453247,0.938767424102,0.938734386328,0.938701339926,0.938668284895,0.938635221236,0.938602148949,0.938569068035,0.938535978494,0.938502880325,0.938469773531,0.93843665811,0.938403534063,0.938370401391,0.938337260093,0.93830411017,0.938270951623,0.938237784451,0.938204608655,0.938171424236,0.938138231193,0.938105029527,0.938071819238,0.938038600326,0.938005372792,0.937972136636,0.937938891859,0.93790563846,0.93787237644,0.937839105799,0.937805826538,0.937772538657,0.937739242156,0.937705937036,0.937672623297,0.937639300938,0.937605969961,0.937572630366,0.937539282152,0.937505925321,0.937472559873,0.937439185808,0.937405803126,0.937372411827,0.937339011913,0.937305603382,0.937272186236,0.937238760475,0.937205326099,0.937171883108,0.937138431503,0.937104971284,0.937071502452,0.937038025006,0.937004538947,0.936971044275,0.936937540991,0.936904029095,0.936870508586,0.936836979467,0.936803441736,0.936769895394,0.936736340442,0.936702776879,0.936669204707,0.936635623924,0.936602034533,0.936568436532,0.936534829923,0.936501214705,0.936467590879,0.936433958445,0.936400317404,0.936366667756,0.9363330095,0.936299342638,0.93626566717,0.936231983096,0.936198290416,0.936164589131,0.936130879241,0.936097160746,0.936063433647,0.936029697944,0.935995953637,0.935962200726,0.935928439213,0.935894669096,0.935860890377,0.935827103055,0.935793307132,0.935759502607,0.935725689481,0.935691867754,0.935658037426,0.935624198498,0.93559035097,0.935556494841,0.935522630114,0.935488756787,0.935454874862,0.935420984338,0.935387085216,0.935353177496,0.935319261179,0.935285336264,0.935251402752,0.935217460644,0.935183509939,0.935149550638,0.935115582742,0.93508160625,0.935047621163,0.935013627482,0.934979625206,0.934945614336,0.934911594872,0.934877566814,0.934843530163,0.93480948492,0.934775431084,0.934741368655,0.934707297635,0.934673218023,0.93463912982,0.934605033025,0.93457092764,0.934536813665,0.9345026911,0.934468559945,0.9344344202,0.934400271866,0.934366114944,0.934331949433,0.934297775334,0.934263592646,0.934229401372,0.93419520151,0.934160993061,0.934126776026,0.934092550404,0.934058316197,0.934024073403,0.933989822025,0.933955562061,0.933921293513,0.93388701638,0.933852730663,0.933818436362,0.933784133478,0.933749822011,0.933715501961,0.933681173328,0.933646836113,0.933612490317,0.933578135938,0.933543772979,0.933509401438,0.933475021317,0.933440632616,0.933406235335,0.933371829474,0.933337415033,0.933302992014,0.933268560416,0.933234120239,0.933199671485,0.933165214152,0.933130748242,0.933096273755,0.933061790692,0.933027299051,0.932992798835,0.932958290042,0.932923772674,0.932889246731,0.932854712213,0.932820169121,0.932785617454,0.932751057213,0.932716488398,0.93268191101,0.932647325049,0.932612730516,0.93257812741,0.932543515732,0.932508895482,0.932474266661,0.932439629268,0.932404983305,0.932370328772,0.932335665668,0.932300993995,0.932266313752,0.932231624939,0.932196927558,0.932162221609,0.932127507091,0.932092784005,0.932058052351,0.932023312131,0.931988563343,0.931953805989,0.931919040068,0.931884265582,0.931849482529,0.931814690912,0.931779890729,0.931745081982,0.93171026467,0.931675438794,0.931640604354,0.931605761351,0.931570909785,0.931536049656,0.931501180965,0.931466303711,0.931431417895,0.931396523518,0.93136162058,0.931326709081,0.931291789022,0.931256860402,0.931221923222,0.931186977483,0.931152023184,0.931117060326,0.93108208891,0.931047108936,0.931012120403,0.930977123313,0.930942117665,0.930907103461,0.9308720807,0.930837049382,0.930802009508,0.930766961079,0.930731904094,0.930696838554,0.93066176446,0.930626681811,0.930591590607,0.93055649085,0.93052138254,0.930486265676,0.93045114026,0.930416006291,0.93038086377,0.930345712696,0.930310553072,0.930275384896,0.930240208169,0.930205022892,0.930169829065,0.930134626687,0.93009941576,0.930064196284,0.930028968259,0.929993731685,0.929958486563,0.929923232893,0.929887970675,0.92985269991,0.929817420598,0.929782132739,0.929746836334,0.929711531382,0.929676217885,0.929640895843,0.929605565256,0.929570226124,0.929534878447,0.929499522227,0.929464157462,0.929428784155,0.929393402304,0.92935801191,0.929322612974,0.929287205496,0.929251789475,0.929216364914,0.929180931811,0.929145490168,0.929110039984,0.929074581259,0.929039113995,0.929003638192,0.928968153849,0.928932660967,0.928897159547,0.928861649588,0.928826131092,0.928790604058,0.928755068487,0.928719524379,0.928683971734,0.928648410553,0.928612840836,0.928577262584,0.928541675796,0.928506080473,0.928470476616,0.928434864224,0.928399243299,0.928363613839,0.928327975847,0.928292329321,0.928256674263,0.928221010672,0.92818533855,0.928149657895,0.92811396871,0.928078270993,0.928042564746,0.928006849968,0.92797112666,0.927935394823,0.927899654456,0.92786390556,0.927828148135,0.927792382182,0.927756607701,0.927720824692,0.927685033156,0.927649233093,0.927613424502,0.927577607386,0.927541781743,0.927505947575,0.927470104881,0.927434253662,0.927398393919,0.92736252565,0.927326648858,0.927290763542,0.927254869703,0.92721896734,0.927183056455,0.927147137047,0.927111209117,0.927075272665,0.927039327691,0.927003374197,0.926967412182,0.926931441646,0.92689546259,0.926859475014,0.926823478919,0.926787474305,0.926751461171,0.92671543952,0.92667940935,0.926643370662,0.926607323457,0.926571267734,0.926535203495,0.926499130739,0.926463049467,0.926426959679,0.926390861376,0.926354754558,0.926318639224,0.926282515376,0.926246383014,0.926210242138,0.926174092749,0.926137934846,0.926101768431,0.926065593503,0.926029410062,0.92599321811,0.925957017647,0.925920808672,0.925884591186,0.92584836519,0.925812130683,0.925775887667,0.925739636141,0.925703376106,0.925667107562,0.92563083051,0.925594544949,0.925558250881,0.925521948305,0.925485637221,0.925449317631,0.925412989535,0.925376652932,0.925340307823,0.925303954209,0.92526759209,0.925231221465,0.925194842336,0.925158454703,0.925122058567,0.925085653926,0.925049240783,0.925012819136,0.924976388987,0.924939950336,0.924903503183,0.924867047529,0.924830583373,0.924794110717,0.92475762956,0.924721139902,0.924684641745,0.924648135089,0.924611619933,0.924575096279,0.924538564125,0.924502023474,0.924465474325,0.924428916679,0.924392350535,0.924355775895,0.924319192758,0.924282601125,0.924246000996,0.924209392371,0.924172775252,0.924136149637,0.924099515529,0.924062872926,0.924026221829,0.923989562239,0.923952894156,0.92391621758,0.923879532511,0.923842838951,0.923806136898,0.923769426355,0.92373270732,0.923695979794,0.923659243778,0.923622499272,0.923585746276,0.923548984791,0.923512214817,0.923475436354,0.923438649402,0.923401853963,0.923365050036,0.923328237621,0.92329141672,0.923254587331,0.923217749457,0.923180903096,0.92314404825,0.923107184918,0.923070313101,0.9230334328,0.922996544014,0.922959646745,0.922922740991,0.922885826755,0.922848904035,0.922811972833,0.922775033148,0.922738084982,0.922701128334,0.922664163205,0.922627189594,0.922590207503,0.922553216932,0.922516217881,0.922479210351,0.922442194341,0.922405169852,0.922368136885,0.922331095439,0.922294045516,0.922256987115,0.922219920237,0.922182844882,0.922145761051,0.922108668743,0.92207156796,0.922034458701,0.921997340967,0.921960214758,0.921923080075,0.921885936918,0.921848785286,0.921811625182,0.921774456604,0.921737279554,0.921700094031,0.921662900036,0.921625697569,0.921588486631,0.921551267222,0.921514039342,0.921476802992,0.921439558172,0.921402304882,0.921365043123,0.921327772894,0.921290494198,0.921253207033,0.921215911399,0.921178607299,0.921141294731,0.921103973696,0.921066644194,0.921029306227,0.920991959793,0.920954604894,0.920917241529,0.9208798697,0.920842489406,0.920805100648,0.920767703426,0.920730297741,0.920692883592,0.920655460981,0.920618029907,0.920580590371,0.920543142373,0.920505685914,0.920468220994,0.920430747613,0.920393265772,0.92035577547,0.920318276709,0.920280769489,0.920243253809,0.920205729671,0.920168197074,0.92013065602,0.920093106508,0.920055548538,0.920017982112,0.919980407229,0.919942823889,0.919905232094,0.919867631843,0.919830023137,0.919792405976,0.919754780361,0.919717146291,0.919679503768,0.919641852791,0.919604193361,0.919566525478,0.919528849142,0.919491164355,0.919453471116,0.919415769425,0.919378059283,0.919340340691,0.919302613648,0.919264878155,0.919227134212,0.919189381821,0.91915162098,0.91911385169,0.919076073952,0.919038287766,0.919000493133,0.918962690052,0.918924878525,0.918887058551,0.91884923013,0.918811393264,0.918773547952,0.918735694196,0.918697831994,0.918659961348,0.918622082257,0.918584194723,0.918546298746,0.918508394325,0.918470481462,0.918432560156,0.918394630408,0.918356692219,0.918318745588,0.918280790517,0.918242827004,0.918204855051,0.918166874659,0.918128885827,0.918090888555,0.918052882845,0.918014868696,0.917976846109,0.917938815084,0.917900775621,0.917862727722,0.917824671385,0.917786606613,0.917748533404,0.917710451759,0.917672361679,0.917634263164,0.917596156214,0.91755804083,0.917519917012,0.91748178476,0.917443644075,0.917405494957,0.917367337406,0.917329171423,0.917290997008,0.917252814162,0.917214622885,0.917176423176,0.917138215037,0.917099998468,0.91706177347,0.917023540041,0.916985298184,0.916947047898,0.916908789184,0.916870522041,0.916832246471,0.916793962474,0.916755670049,0.916717369198,0.916679059921,0.916640742218,0.916602416089,0.916564081535,0.916525738556,0.916487387153,0.916449027325,0.916410659074,0.916372282399,0.916333897301,0.916295503781,0.916257101838,0.916218691473,0.916180272686,0.916141845478,0.916103409849,0.916064965799,0.916026513329,0.91598805244,0.91594958313,0.915911105402,0.915872619254,0.915834124688,0.915795621704,0.915757110302,0.915718590483,0.915680062246,0.915641525593,0.915602980523,0.915564427038,0.915525865136,0.91548729482,0.915448716088,0.915410128942,0.915371533382,0.915332929407,0.915294317019,0.915255696218,0.915217067005,0.915178429378,0.91513978334,0.915101128889,0.915062466028,0.915023794755,0.914985115072,0.914946426978,0.914907730474,0.914869025561,0.914830312238,0.914791590506,0.914752860366,0.914714121818,0.914675374862,0.914636619498,0.914597855727,0.914559083549,0.914520302965,0.914481513975,0.914442716579,0.914403910778,0.914365096571,0.914326273961,0.914287442945,0.914248603526,0.914209755704,0.914170899478,0.914132034849,0.914093161817,0.914054280384,0.914015390549,0.913976492312,0.913937585674,0.913898670636,0.913859747197,0.913820815358,0.91378187512,0.913742926482,0.913703969445,0.91366500401,0.913626030177,0.913587047945,0.913548057316,0.91350905829,0.913470050868,0.913431035049,0.913392010833,0.913352978222,0.913313937216,0.913274887815,0.913235830019,0.913196763829,0.913157689245,0.913118606267,0.913079514896,0.913040415133,0.913001306977,0.912962190428,0.912923065488,0.912883932157,0.912844790435,0.912805640322,0.912766481818,0.912727314925,0.912688139642,0.91264895597,0.912609763909,0.912570563459,0.912531354622,0.912492137396,0.912452911783,0.912413677783,0.912374435396,0.912335184623,0.912295925464,0.91225665792,0.91221738199,0.912178097675,0.912138804975,0.912099503892,0.912060194424,0.912020876574,0.91198155034,0.911942215723,0.911902872724,0.911863521343,0.91182416158,0.911784793436,0.911745416911,0.911706032005,0.91166663872,0.911627237054,0.911587827009,0.911548408585,0.911508981782,0.911469546601,0.911430103041,0.911390651104,0.91135119079,0.911311722098,0.911272245031,0.911232759586,0.911193265767,0.911153763571,0.911114253001,0.911074734055,0.911035206735,0.910995671042,0.910956126974,0.910916574533,0.91087701372,0.910837444533,0.910797866975,0.910758281044,0.910718686743,0.91067908407,0.910639473026,0.910599853612,0.910560225827,0.910520589673,0.91048094515,0.910441292258,0.910401630997,0.910361961368,0.910322283372,0.910282597007,0.910242902276,0.910203199178,0.910163487713,0.910123767883,0.910084039686,0.910044303125,0.910004558198,0.909964804907,0.909925043252,0.909885273233,0.90984549485,0.909805708105,0.909765912996,0.909726109525,0.909686297693,0.909646477498,0.909606648943,0.909566812026,0.909526966749,0.909487113112,0.909447251114,0.909407380758,0.909367502042,0.909327614968,0.909287719535,0.909247815744,0.909207903596,0.909167983091,0.909128054228,0.909088117009,0.909048171434,0.909008217503,0.908968255217,0.908928284576,0.90888830558,0.908848318229,0.908808322525,0.908768318467,0.908728306056,0.908688285293,0.908648256176,0.908608218708,0.908568172888,0.908528118716,0.908488056194,0.908447985321,0.908407906097,0.908367818524,0.908327722601,0.908287618329,0.908247505709,0.908207384739,0.908167255422,0.908127117757,0.908086971745,0.908046817386,0.90800665468,0.907966483629,0.907926304231,0.907886116488,0.907845920399,0.907805715966,0.907765503189,0.907725282068,0.907685052603,0.907644814795,0.907604568643,0.90756431415,0.907524051314,0.907483780137,0.907443500618,0.907403212758,0.907362916557,0.907322612016,0.907282299136,0.907241977915,0.907201648356,0.907161310458,0.907120964221,0.907080609646,0.907040246734,0.906999875484,0.906959495897,0.906919107974,0.906878711714,0.906838307119,0.906797894188,0.906757472922,0.906717043321,0.906676605386,0.906636159117,0.906595704515,0.906555241579,0.90651477031,0.906474290709,0.906433802776,0.906393306511,0.906352801915,0.906312288987,0.906271767729,0.906231238141,0.906190700223,0.906150153975,0.906109599398,0.906069036493,0.906028465259,0.905987885697,0.905947297807,0.90590670159,0.905866097047,0.905825484176,0.90578486298,0.905744233458,0.90570359561,0.905662949437,0.90562229494,0.905581632118,0.905540960973,0.905500281504,0.905459593711,0.905418897596,0.905378193159,0.905337480399,0.905296759318,0.905256029916,0.905215292192,0.905174546148,0.905133791784,0.9050930291,0.905052258097,0.905011478775,0.904970691134,0.904929895174,0.904889090897,0.904848278302,0.90480745739,0.904766628162,0.904725790616,0.904684944755,0.904644090578,0.904603228086,0.904562357279,0.904521478157,0.904480590721,0.904439694972,0.904398790909,0.904357878533,0.904316957844,0.904276028843,0.90423509153,0.904194145906,0.90415319197,0.904112229724,0.904071259167,0.9040302803,0.903989293123,0.903948297638,0.903907293843,0.90386628174,0.903825261328,0.903784232609,0.903743195583,0.903702150249,0.903661096609,0.903620034663,0.903578964411,0.903537885853,0.90349679899,0.903455703822,0.90341460035,0.903373488574,0.903332368495,0.903291240112,0.903250103426,0.903208958438,0.903167805147,0.903126643555,0.903085473662,0.903044295468,0.903003108973,0.902961914177,0.902920711082,0.902879499688,0.902838279995,0.902797052002,0.902755815712,0.902714571123,0.902673318237,0.902632057054,0.902590787574,0.902549509798,0.902508223725,0.902466929357,0.902425626694,0.902384315735,0.902342996482,0.902301668935,0.902260333095,0.902218988961,0.902177636533,0.902136275814,0.902094906802,0.902053529498,0.902012143902,0.901970750016,0.901929347839,0.901887937371,0.901846518614,0.901805091567,0.901763656231,0.901722212606,0.901680760692,0.90163930049,0.901597832001,0.901556355225,0.901514870161,0.901473376811,0.901431875175,0.901390365253,0.901348847046,0.901307320554,0.901265785777,0.901224242716,0.901182691371,0.901141131742,0.901099563831,0.901057987636,0.90101640316,0.900974810401,0.900933209361,0.90089160004,0.900849982438,0.900808356555,0.900766722392,0.90072507995,0.900683429229,0.900641770228,0.900600102949,0.900558427392,0.900516743558,0.900475051445,0.900433351056,0.900391642391,0.900349925449,0.900308200231,0.900266466738,0.90022472497,0.900182974927,0.90014121661,0.900099450019,0.900057675154,0.900015892016,0.899974100606,0.899932300923,0.899890492968,0.899848676742,0.899806852244,0.899765019475,0.899723178436,0.899681329127,0.899639471549,0.899597605701,0.899555731584,0.899513849198,0.899471958545,0.899430059624,0.899388152435,0.899346236979,0.899304313257,0.899262381269,0.899220441014,0.899178492495,0.89913653571,0.89909457066,0.899052597347,0.899010615769,0.898968625928,0.898926627824,0.898884621457,0.898842606827,0.898800583936,0.898758552783,0.898716513369,0.898674465694,0.898632409759,0.898590345563,0.898548273108,0.898506192394,0.898464103421,0.898422006189,0.898379900699,0.898337786952,0.898295664947,0.898253534685,0.898211396167,0.898169249393,0.898127094362,0.898084931077,0.898042759536,0.898000579741,0.897958391691,0.897916195388,0.897873990831,0.897831778021,0.897789556959,0.897747327644,0.897705090077,0.897662844259,0.89762059019,0.89757832787,0.897536057299,0.897493778479,0.897451491409,0.89740919609,0.897366892522,0.897324580705,0.897282260641,0.897239932329,0.89719759577,0.897155250964,0.897112897911,0.897070536613,0.897028167068,0.896985789279,0.896943403244,0.896901008965,0.896858606442,0.896816195676,0.896773776665,0.896731349412,0.896688913917,0.896646470179,0.896604018199,0.896561557978,0.896519089516,0.896476612813,0.89643412787,0.896391634688,0.896349133266,0.896306623604,0.896264105705,0.896221579567,0.896179045191,0.896136502577,0.896093951727,0.896051392639,0.896008825316,0.895966249756,0.895923665961,0.895881073931,0.895838473666,0.895795865167,0.895753248434,0.895710623467,0.895667990267,0.895625348834,0.895582699169,0.895540041272,0.895497375143,0.895454700783,0.895412018192,0.895369327371,0.89532662832,0.895283921039,0.895241205528,0.895198481789,0.895155749822,0.895113009626,0.895070261203,0.895027504552,0.894984739675,0.894941966571,0.89489918524,0.894856395685,0.894813597903,0.894770791897,0.894727977667,0.894685155212,0.894642324533,0.894599485631,0.894556638506,0.894513783159,0.894470919589,0.894428047798,0.894385167785,0.894342279551,0.894299383097,0.894256478422,0.894213565528,0.894170644414,0.894127715081,0.89408477753,0.89404183176,0.893998877772,0.893955915567,0.893912945145,0.893869966506,0.893826979651,0.893783984581,0.893740981294,0.893697969793,0.893654950077,0.893611922146,0.893568886002,0.893525841644,0.893482789074,0.89343972829,0.893396659294,0.893353582086,0.893310496667,0.893267403037,0.893224301196,0.893181191144,0.893138072883,0.893094946412,0.893051811732,0.893008668843,0.892965517746,0.892922358441,0.892879190928,0.892836015208,0.892792831282,0.892749639149,0.89270643881,0.892663230265,0.892620013516,0.892576788562,0.892533555403,0.89249031404,0.892447064474,0.892403806704,0.892360540732,0.892317266557,0.892273984181,0.892230693602,0.892187394823,0.892144087843,0.892100772662,0.892057449282,0.892014117701,0.891970777922,0.891927429944,0.891884073767,0.891840709392,0.89179733682,0.891753956051,0.891710567084,0.891667169922,0.891623764563,0.891580351009,0.891536929259,0.891493499315,0.891450061176,0.891406614843,0.891363160317,0.891319697597,0.891276226685,0.89123274758,0.891189260283,0.891145764795,0.891102261115,0.891058749244,0.891015229183,0.890971700932,0.890928164492,0.890884619862,0.890841067043,0.890797506036,0.890753936841,0.890710359459,0.890666773889,0.890623180132,0.890579578189,0.89053596806,0.890492349745,0.890448723245,0.89040508856,0.890361445691,0.890317794637,0.890274135401,0.890230467981,0.890186792378,0.890143108592,0.890099416625,0.890055716476,0.890012008146,0.889968291635,0.889924566944,0.889880834073,0.889837093022,0.889793343792,0.889749586383,0.889705820796,0.889662047031,0.889618265088,0.889574474968,0.889530676671,0.889486870198,0.889443055549,0.889399232724,0.889355401724,0.88931156255,0.889267715201,0.889223859678,0.889179995981,0.889136124112,0.889092244069,0.889048355855,0.889004459468,0.88896055491,0.88891664218,0.88887272128,0.88882879221,0.88878485497,0.88874090956,0.888696955981,0.888652994233,0.888609024317,0.888565046233,0.888521059982,0.888477065564,0.888433062978,0.888389052227,0.88834503331,0.888301006227,0.888256970979,0.888212927566,0.88816887599,0.888124816249,0.888080748345,0.888036672278,0.887992588048,0.887948495656,0.887904395102,0.887860286387,0.88781616951,0.887772044473,0.887727911276,0.887683769919,0.887639620403,0.887595462728,0.887551296894,0.887507122901,0.887462940752,0.887418750444,0.88737455198,0.887330345359,0.887286130582,0.88724190765,0.887197676562,0.887153437319,0.887109189921,0.88706493437,0.887020670664,0.886976398806,0.886932118794,0.88688783063,0.886843534314,0.886799229847,0.886754917228,0.886710596458,0.886666267537,0.886621930467,0.886577585247,0.886533231878,0.88648887036,0.886444500693,0.886400122879,0.886355736917,0.886311342807,0.886266940551,0.886222530149,0.8861781116,0.886133684907,0.886089250067,0.886044807084,0.886000355955,0.885955896683,0.885911429268,0.885866953709,0.885822470007,0.885777978164,0.885733478178,0.885688970051,0.885644453783,0.885599929374,0.885555396825,0.885510856136,0.885466307308,0.885421750341,0.885377185235,0.885332611991,0.885288030609,0.885243441089,0.885198843433,0.88515423764,0.885109623711,0.885065001647,0.885020371447,0.884975733112,0.884931086642,0.884886432039,0.884841769301,0.884797098431,0.884752419428,0.884707732292,0.884663037024,0.884618333624,0.884573622094,0.884528902432,0.88448417464,0.884439438718,0.884394694667,0.884349942486,0.884305182177,0.884260413739,0.884215637173,0.88417085248,0.88412605966,0.884081258713,0.884036449639,0.88399163244,0.883946807116,0.883901973666,0.883857132091,0.883812282393,0.883767424571,0.883722558625,0.883677684556,0.883632802365,0.883587912051,0.883543013616,0.883498107059,0.883453192382,0.883408269584,0.883363338666,0.883318399628,0.883273452471,0.883228497195,0.883183533801,0.883138562288,0.883093582658,0.883048594911,0.883003599047,0.882958595066,0.88291358297,0.882868562758,0.882823534431,0.882778497989,0.882733453433,0.882688400763,0.88264333998,0.882598271083,0.882553194074,0.882508108952,0.882463015719,0.882417914374,0.882372804919,0.882327687352,0.882282561676,0.88223742789,0.882192285994,0.88214713599,0.882101977877,0.882056811656,0.882011637327,0.881966454891,0.881921264348,0.881876065699,0.881830858944,0.881785644083,0.881740421117,0.881695190046,0.881649950871,0.881604703592,0.881559448209,0.881514184723,0.881468913135,0.881423633444,0.881378345652,0.881333049758,0.881287745763,0.881242433667,0.881197113471,0.881151785176,0.881106448781,0.881061104287,0.881015751694,0.880970391004,0.880925022216,0.88087964533,0.880834260348,0.880788867269,0.880743466094,0.880698056824,0.880652639458,0.880607213998,0.880561780443,0.880516338794,0.880470889052,0.880425431217,0.880379965289,0.880334491269,0.880289009157,0.880243518953,0.880198020659,0.880152514274,0.880106999798,0.880061477233,0.880015946579,0.879970407836,0.879924861004,0.879879306084,0.879833743076,0.879788171982,0.8797425928,0.879697005532,0.879651410178,0.879605806739,0.879560195214,0.879514575604,0.879468947911,0.879423312133,0.879377668272,0.879332016328,0.879286356301,0.879240688192,0.879195012001,0.879149327729,0.879103635376,0.879057934942,0.879012226429,0.878966509835,0.878920785162,0.878875052411,0.878829311581,0.878783562673,0.878737805687,0.878692040625,0.878646267485,0.878600486269,0.878554696977,0.87850889961,0.878463094168,0.878417280651,0.87837145906,0.878325629395,0.878279791657,0.878233945845,0.878188091961,0.878142230005,0.878096359978,0.878050481879,0.878004595709,0.877958701469,0.877912799159,0.877866888779,0.87782097033,0.877775043812,0.877729109226,0.877683166572,0.877637215851,0.877591257062,0.877545290207,0.877499315286,0.877453332299,0.877407341246,0.877361342129,0.877315334947,0.877269319701,0.877223296392,0.877177265019,0.877131225583,0.877085178085,0.877039122525,0.876993058903,0.87694698722,0.876900907477,0.876854819673,0.876808723809,0.876762619886,0.876716507904,0.876670387863,0.876624259764,0.876578123608,0.876531979394,0.876485827123,0.876439666796,0.876393498412,0.876347321973,0.876301137479,0.87625494493,0.876208744327,0.87616253567,0.876116318959,0.876070094195,0.876023861379,0.87597762051,0.87593137159,0.875885114618,0.875838849595,0.875792576522,0.875746295399,0.875700006226,0.875653709003,0.875607403732,0.875561090413,0.875514769045,0.87546843963,0.875422102168,0.875375756659,0.875329403104,0.875283041503,0.875236671857,0.875190294165,0.87514390843,0.87509751465,0.875051112826,0.875004702959,0.874958285049,0.874911859097,0.874865425102,0.874818983066,0.874772532989,0.874726074872,0.874679608713,0.874633134516,0.874586652278,0.874540162002,0.874493663687,0.874447157334,0.874400642943,0.874354120515,0.87430759005,0.874261051548,0.874214505011,0.874167950438,0.874121387829,0.874074817186,0.874028238509,0.873981651798,0.873935057053,0.873888454276,0.873841843465,0.873795224623,0.873748597749,0.873701962843,0.873655319907,0.87360866894,0.873562009943,0.873515342917,0.873468667861,0.873421984777,0.873375293664,0.873328594524,0.873281887356,0.873235172161,0.873188448939,0.873141717692,0.873094978418,0.87304823112,0.873001475796,0.872954712448,0.872907941076,0.87286116168,0.872814374261,0.87276757882,0.872720775356,0.87267396387,0.872627144363,0.872580316835,0.872533481286,0.872486637717,0.872439786129,0.872392926521,0.872346058894,0.872299183249,0.872252299586,0.872205407906,0.872158508208,0.872111600493,0.872064684763,0.872017761016,0.871970829254,0.871923889477,0.871876941686,0.87182998588,0.871783022061,0.871736050229,0.871689070383,0.871642082526,0.871595086656,0.871548082775,0.871501070883,0.87145405098,0.871407023067,0.871359987144,0.871312943212,0.87126589127,0.871218831321,0.871171763363,0.871124687398,0.871077603425,0.871030511446,0.87098341146,0.870936303469,0.870889187472,0.87084206347,0.870794931464,0.870747791453,0.870700643438,0.870653487421,0.8706063234,0.870559151377,0.870511971352,0.870464783325,0.870417587298,0.870370383269,0.870323171241,0.870275951212,0.870228723184,0.870181487157,0.870134243132,0.870086991109,0.870039731088,0.869992463069,0.869945187054,0.869897903043,0.869850611035,0.869803311033,0.869756003035,0.869708687042,0.869661363056,0.869614031075,0.869566691101,0.869519343135,0.869471987176,0.869424623225,0.869377251282,0.869329871349,0.869282483424,0.86923508751,0.869187683605,0.869140271711,0.869092851828,0.869045423957,0.868997988098,0.868950544251,0.868903092416,0.868855632595,0.868808164788,0.868760688995,0.868713205216,0.868665713452,0.868618213704,0.868570705971,0.868523190255,0.868475666556,0.868428134873,0.868380595209,0.868333047562,0.868285491934,0.868237928324,0.868190356734,0.868142777164,0.868095189614,0.868047594085,0.867999990577,0.86795237909,0.867904759625,0.867857132183,0.867809496763,0.867761853367,0.867714201995,0.867666542646,0.867618875323,0.867571200024,0.867523516751,0.867475825503,0.867428126282,0.867380419088,0.867332703921,0.867284980782,0.867237249671,0.867189510588,0.867141763534,0.86709400851,0.867046245516,0.866998474552,0.866950695618,0.866902908716,0.866855113845,0.866807311007,0.866759500201,0.866711681428,0.866663854688,0.866616019982,0.866568177311,0.866520326674,0.866472468072,0.866424601505,0.866376726975,0.866328844481,0.866280954025,0.866233055605,0.866185149223,0.86613723488,0.866089312575,0.866041382309,0.865993444082,0.865945497896,0.86589754375,0.865849581645,0.865801611581,0.865753633559,0.865705647579,0.865657653642,0.865609651748,0.865561641897,0.865513624091,0.865465598328,0.865417564611,0.865369522938,0.865321473312,0.865273415731,0.865225350198,0.865177276711,0.865129195272,0.86508110588,0.865033008537,0.864984903243,0.864936789998,0.864888668803,0.864840539658,0.864792402563,0.864744257519,0.864696104527,0.864647943587,0.864599774699,0.864551597864,0.864503413082,0.864455220354,0.86440701968,0.864358811061,0.864310594496,0.864262369987,0.864214137534,0.864165897137,0.864117648797,0.864069392514,0.864021128289,0.863972856122,0.863924576013,0.863876287963,0.863827991973,0.863779688043,0.863731376173,0.863683056364,0.863634728616,0.86358639293,0.863538049305,0.863489697744,0.863441338245,0.86339297081,0.863344595439,0.863296212131,0.863247820889,0.863199421712,0.863151014601,0.863102599555,0.863054176577,0.863005745665,0.862957306821,0.862908860044,0.862860405336,0.862811942697,0.862763472126,0.862714993626,0.862666507196,0.862618012836,0.862569510547,0.86252100033,0.862472482184,0.862423956111,0.862375422111,0.862326880184,0.86227833033,0.862229772551,0.862181206846,0.862132633216,0.862084051662,0.862035462184,0.861986864782,0.861938259456,0.861889646209,0.861841025038,0.861792395946,0.861743758933,0.861695113998,0.861646461143,0.861597800368,0.861549131673,0.861500455059,0.861451770527,0.861403078076,0.861354377707,0.861305669421,0.861256953218,0.861208229099,0.861159497063,0.861110757112,0.861062009245,0.861013253464,0.860964489769,0.86091571816,0.860866938638,0.860818151202,0.860769355855,0.860720552595,0.860671741424,0.860622922341,0.860574095348,0.860525260445,0.860476417632,0.860427566909,0.860378708278,0.860329841738,0.860280967291,0.860232084935,0.860183194673,0.860134296504,0.860085390429,0.860036476449,0.859987554563,0.859938624772,0.859889687077,0.859840741477,0.859791787975,0.859742826569,0.859693857261,0.859644880051,0.859595894939,0.859546901926,0.859497901012,0.859448892197,0.859399875483,0.85935085087,0.859301818357,0.859252777946,0.859203729637,0.85915467343,0.859105609326,0.859056537325,0.859007457429,0.858958369636,0.858909273948,0.858860170365,0.858811058887,0.858761939516,0.858712812251,0.858663677093,0.858614534042,0.858565383099,0.858516224264,0.858467057538,0.858417882922,0.858368700414,0.858319510017,0.858270311731,0.858221105555,0.858171891491,0.858122669538,0.858073439698,0.858024201971,0.857974956357,0.857925702856,0.85787644147,0.857827172198,0.857777895041,0.85772861,0.857679317075,0.857630016266,0.857580707574,0.857531390999,0.857482066543,0.857432734204,0.857383393984,0.857334045883,0.857284689901,0.85723532604,0.857185954299,0.857136574679,0.857087187181,0.857037791804,0.85698838855,0.856938977418,0.856889558409,0.856840131525,0.856790696764,0.856741254128,0.856691803616,0.856642345231,0.856592878971,0.856543404838,0.856493922831,0.856444432952,0.8563949352,0.856345429577,0.856295916083,0.856246394717,0.856196865481,0.856147328375,0.8560977834,0.856048230555,0.855998669842,0.855949101261,0.855899524812,0.855849940496,0.855800348313,0.855750748263,0.855701140348,0.855651524567,0.855601900922,0.855552269412,0.855502630037,0.8554529828,0.855403327699,0.855353664735,0.855303993909,0.855254315222,0.855204628673,0.855154934263,0.855105231993,0.855055521863,0.855005803873,0.854956078025,0.854906344317,0.854856602752,0.854806853329,0.854757096049,0.854707330912,0.854657557919,0.85460777707,0.854557988365,0.854508191806,0.854458387392,0.854408575125,0.854358755003,0.854308927029,0.854259091202,0.854209247523,0.854159395992,0.85410953661,0.854059669377,0.854009794293,0.85395991136,0.853910020578,0.853860121946,0.853810215466,0.853760301138,0.853710378962,0.85366044894,0.85361051107,0.853560565355,0.853510611793,0.853460650387,0.853410681135,0.853360704039,0.8533107191,0.853260726316,0.85321072569,0.853160717221,0.853110700911,0.853060676758,0.853010644765,0.85296060493,0.852910557256,0.852860501742,0.852810438388,0.852760367196,0.852710288165,0.852660201296,0.85261010659,0.852560004047,0.852509893667,0.852459775451,0.8524096494,0.852359515513,0.852309373792,0.852259224236,0.852209066847,0.852158901624,0.852108728568,0.85205854768,0.85200835896,0.851958162409,0.851907958027,0.851857745814,0.851807525771,0.851757297898,0.851707062196,0.851656818666,0.851606567307,0.85155630812,0.851506041106,0.851455766266,0.851405483598,0.851355193105,0.851304894787,0.851254588643,0.851204274675,0.851153952883,0.851103623267,0.851053285828,0.851002940566,0.850952587482,0.850902226576,0.850851857849,0.850801481302,0.850751096933,0.850700704745,0.850650304737,0.850599896911,0.850549481266,0.850499057802,0.850448626522,0.850398187424,0.850347740509,0.850297285778,0.850246823231,0.850196352869,0.850145874693,0.850095388702,0.850044894897,0.849994393278,0.849943883847,0.849893366603,0.849842841547,0.849792308679,0.849741768001,0.849691219512,0.849640663212,0.849590099103,0.849539527185,0.849488947457,0.849438359922,0.849387764579,0.849337161428,0.84928655047,0.849235931706,0.849185305136,0.84913467076,0.84908402858,0.849033378594,0.848982720805,0.848932055212,0.848881381815,0.848830700616,0.848780011615,0.848729314812,0.848678610207,0.848627897802,0.848577177596,0.848526449591,0.848475713785,0.848424970181,0.848374218779,0.848323459578,0.848272692579,0.848221917784,0.848171135192,0.848120344803,0.848069546619,0.84801874064,0.847967926866,0.847917105297,0.847866275935,0.847815438779,0.84776459383,0.847713741089,0.847662880555,0.847612012231,0.847561136115,0.847510252208,0.847459360512,0.847408461025,0.84735755375,0.847306638686,0.847255715833,0.847204785193,0.847153846766,0.847102900551,0.84705194655,0.847000984764,0.846950015192,0.846899037834,0.846848052693,0.846797059767,0.846746059058,0.846695050565,0.84664403429,0.846593010233,0.846541978394,0.846490938774,0.846439891373,0.846388836192,0.846337773231,0.846286702491,0.846235623971,0.846184537674,0.846133443598,0.846082341745,0.846031232115,0.845980114708,0.845928989525,0.845877856567,0.845826715834,0.845775567326,0.845724411043,0.845673246987,0.845622075158,0.845570895556,0.845519708182,0.845468513036,0.845417310118,0.84536609943,0.845314880971,0.845263654742,0.845212420744,0.845161178976,0.845109929441,0.845058672137,0.845007407065,0.844956134226,0.844904853621,0.84485356525,0.844802269113,0.84475096521,0.844699653543,0.844648334111,0.844597006916,0.844545671957,0.844494329236,0.844442978752,0.844391620506,0.844340254499,0.84428888073,0.844237499201,0.844186109912,0.844134712864,0.844083308056,0.84403189549,0.843980475166,0.843929047084,0.843877611244,0.843826167648,0.843774716296,0.843723257188,0.843671790324,0.843620315706,0.843568833333,0.843517343207,0.843465845327,0.843414339694,0.843362826308,0.843311305171,0.843259776282,0.843208239642,0.843156695251,0.84310514311,0.84305358322,0.84300201558,0.842950440192,0.842898857056,0.842847266172,0.84279566754,0.842744061162,0.842692447037,0.842640825167,0.842589195551,0.84253755819,0.842485913085,0.842434260236,0.842382599643,0.842330931308,0.842279255229,0.842227571409,0.842175879848,0.842124180545,0.842072473501,0.842020758718,0.841969036194,0.841917305932,0.841865567931,0.841813822191,0.841762068714,0.841710307499,0.841658538548,0.84160676186,0.841554977437,0.841503185278,0.841451385384,0.841399577756,0.841347762394,0.841295939298,0.841244108469,0.841192269908,0.841140423614,0.841088569589,0.841036707833,0.840984838347,0.84093296113,0.840881076183,0.840829183508,0.840777283103,0.84072537497,0.84067345911,0.840621535522,0.840569604208,0.840517665167,0.8404657184,0.840413763908,0.840361801691,0.84030983175,0.840257854084,0.840205868695,0.840153875583,0.840101874749,0.840049866193,0.839997849915,0.839945825916,0.839893794196,0.839841754756,0.839789707597,0.839737652718,0.839685590121,0.839633519805,0.839581441772,0.839529356022,0.839477262555,0.839425161371,0.839373052472,0.839320935857,0.839268811527,0.839216679484,0.839164539726,0.839112392254,0.83906023707,0.839008074174,0.838955903565,0.838903725245,0.838851539214,0.838799345472,0.83874714402,0.838694934859,0.838642717989,0.838590493409,0.838538261122,0.838486021127,0.838433773425,0.838381518017,0.838329254902,0.838276984081,0.838224705555,0.838172419324,0.838120125389,0.83806782375,0.838015514408,0.837963197363,0.837910872615,0.837858540166,0.837806200015,0.837753852163,0.837701496611,0.837649133359,0.837596762407,0.837544383757,0.837491997408,0.83743960336,0.837387201616,0.837334792174,0.837282375035,0.837229950201,0.837177517671,0.837125077445,0.837072629525,0.837020173911,0.836967710603,0.836915239602,0.836862760908,0.836810274522,0.836757780444,0.836705278674,0.836652769214,0.836600252064,0.836547727224,0.836495194694,0.836442654475,0.836390106568,0.836337550974,0.836284987691,0.836232416722,0.836179838066,0.836127251725,0.836074657698,0.836022055985,0.835969446589,0.835916829508,0.835864204743,0.835811572296,0.835758932166,0.835706284354,0.83565362886,0.835600965685,0.835548294829,0.835495616294,0.835442930078,0.835390236183,0.83533753461,0.835284825358,0.835232108429,0.835179383822,0.835126651539,0.835073911579,0.835021163943,0.834968408632,0.834915645647,0.834862874986,0.834810096652,0.834757310645,0.834704516965,0.834651715612,0.834598906587,0.834546089891,0.834493265524,0.834440433486,0.834387593778,0.834334746401,0.834281891355,0.83422902864,0.834176158258,0.834123280207,0.83407039449,0.834017501106,0.833964600056,0.83391169134,0.833858774959,0.833805850914,0.833752919204,0.833699979831,0.833647032794,0.833594078095,0.833541115733,0.83348814571,0.833435168026,0.833382182681,0.833329189675,0.83327618901,0.833223180685,0.833170164702,0.83311714106,0.833064109761,0.833011070804,0.83295802419,0.83290496992,0.832851907994,0.832798838413,0.832745761176,0.832692676286,0.832639583741,0.832586483543,0.832533375692,0.832480260188,0.832427137033,0.832374006226,0.832320867768,0.832267721659,0.832214567901,0.832161406493,0.832108237436,0.83205506073,0.832001876376,0.831948684375,0.831895484727,0.831842277432,0.83178906249,0.831735839904,0.831682609672,0.831629371795,0.831576126274,0.83152287311,0.831469612303,0.831416343852,0.83136306776,0.831309784026,0.83125649265,0.831203193634,0.831149886978,0.831096572682,0.831043250746,0.830989921172,0.83093658396,0.83088323911,0.830829886622,0.830776526498,0.830723158737,0.830669783341,0.830616400309,0.830563009642,0.830509611341,0.830456205406,0.830402791838,0.830349370637,0.830295941803,0.830242505338,0.830189061241,0.830135609513,0.830082150155,0.830028683167,0.829975208549,0.829921726303,0.829868236428,0.829814738925,0.829761233795,0.829707721037,0.829654200653,0.829600672643,0.829547137008,0.829493593747,0.829440042862,0.829386484353,0.829332918221,0.829279344465,0.829225763087,0.829172174087,0.829118577465,0.829064973222,0.829011361359,0.828957741875,0.828904114772,0.82885048005,0.828796837709,0.82874318775,0.828689530173,0.828635864979,0.828582192169,0.828528511742,0.8284748237,0.828421128043,0.828367424771,0.828313713884,0.828259995384,0.828206269271,0.828152535545,0.828098794207,0.828045045258,0.827991288697,0.827937524525,0.827883752743,0.827829973352,0.827776186351,0.827722391741,0.827668589524,0.827614779698,0.827560962265,0.827507137226,0.82745330458,0.827399464328,0.827345616471,0.827291761009,0.827237897943,0.827184027274,0.827130149001,0.827076263125,0.827022369647,0.826968468567,0.826914559885,0.826860643603,0.826806719721,0.826752788238,0.826698849157,0.826644902476,0.826590948197,0.826536986321,0.826483016847,0.826429039776,0.826375055109,0.826321062846,0.826267062987,0.826213055534,0.826159040486,0.826105017845,0.82605098761,0.825996949782,0.825942904362,0.82588885135,0.825834790746,0.825780722552,0.825726646767,0.825672563392,0.825618472428,0.825564373875,0.825510267734,0.825456154004,0.825402032688,0.825347903784,0.825293767294,0.825239623218,0.825185471556,0.82513131231,0.825077145479,0.825022971065,0.824968789066,0.824914599485,0.824860402322,0.824806197576,0.824751985249,0.824697765342,0.824643537853,0.824589302785,0.824535060137,0.824480809911,0.824426552106,0.824372286723,0.824318013762,0.824263733225,0.824209445111,0.824155149421,0.824100846156,0.824046535315,0.8239922169,0.823937890912,0.82388355735,0.823829216215,0.823774867507,0.823720511227,0.823666147376,0.823611775954,0.823557396962,0.8235030104,0.823448616268,0.823394214567,0.823339805298,0.82328538846,0.823230964056,0.823176532084,0.823122092546,0.823067645442,0.823013190772,0.822958728538,0.822904258739,0.822849781376,0.822795296449,0.82274080396,0.822686303908,0.822631796295,0.822577281119,0.822522758383,0.822468228087,0.82241369023,0.822359144814,0.822304591839,0.822250031306,0.822195463214,0.822140887565,0.82208630436,0.822031713597,0.821977115279,0.821922509406,0.821867895977,0.821813274994,0.821758646457,0.821704010367,0.821649366724,0.821594715528,0.821540056781,0.821485390482,0.821430716632,0.821376035231,0.821321346281,0.821266649781,0.821211945733,0.821157234136,0.821102514991,0.821047788299,0.82099305406,0.820938312274,0.820883562943,0.820828806066,0.820774041644,0.820719269678,0.820664490168,0.820609703115,0.820554908519,0.82050010638,0.8204452967,0.820390479478,0.820335654715,0.820280822412,0.820225982569,0.820171135187,0.820116280266,0.820061417807,0.82000654781,0.819951670275,0.819896785204,0.819841892596,0.819786992453,0.819732084774,0.819677169561,0.819622246813,0.819567316531,0.819512378716,0.819457433369,0.819402480489,0.819347520077,0.819292552134,0.81923757666,0.819182593656,0.819127603122,0.819072605059,0.819017599467,0.818962586347,0.8189075657,0.818852537525,0.818797501823,0.818742458595,0.818687407842,0.818632349563,0.818577283759,0.818522210432,0.81846712958,0.818412041206,0.818356945309,0.818301841889,0.818246730948,0.818191612486,0.818136486503,0.818081353,0.818026211978,0.817971063436,0.817915907376,0.817860743797,0.817805572701,0.817750394088,0.817695207959,0.817640014313,0.817584813152,0.817529604475,0.817474388284,0.817419164579,0.817363933361,0.817308694629,0.817253448385,0.817198194629,0.817142933361,0.817087664583,0.817032388294,0.816977104494,0.816921813186,0.816866514368,0.816811208042,0.816755894208,0.816700572867,0.816645244018,0.816589907664,0.816534563803,0.816479212437,0.816423853566,0.81636848719,0.816313113311,0.816257731928,0.816202343043,0.816146946655,0.816091542765,0.816036131374,0.815980712482,0.81592528609,0.815869852198,0.815814410807,0.815758961917,0.815703505528,0.815648041642,0.815592570259,0.815537091378,0.815481605002,0.81542611113,0.815370609762,0.8153151009,0.815259584544,0.815204060694,0.815148529351,0.815092990515,0.815037444187,0.814981890367,0.814926329057,0.814870760255,0.814815183964,0.814759600182,0.814704008912,0.814648410153,0.814592803906,0.814537190172,0.81448156895,0.814425940242,0.814370304048,0.814314660369,0.814259009204,0.814203350555,0.814147684422,0.814092010805,0.814036329706,0.813980641124,0.81392494506,0.813869241515,0.813813530489,0.813757811982,0.813702085995,0.81364635253,0.813590611585,0.813534863162,0.813479107261,0.813423343883,0.813367573027,0.813311794696,0.813256008889,0.813200215606,0.813144414849,0.813088606618,0.813032790913,0.812976967734,0.812921137083,0.81286529896,0.812809453365,0.812753600299,0.812697739762,0.812641871755,0.812585996278,0.812530113333,0.812474222918,0.812418325036,0.812362419686,0.812306506869,0.812250586585,0.812194658836,0.81213872362,0.81208278094,0.812026830796,0.811970873187,0.811914908115,0.81185893558,0.811802955583,0.811746968123,0.811690973202,0.811634970821,0.811578960979,0.811522943677,0.811466918916,0.811410886695,0.811354847017,0.811298799881,0.811242745287,0.811186683237,0.811130613731,0.811074536768,0.811018452351,0.810962360479,0.810906261152,0.810850154372,0.810794040139,0.810737918453,0.810681789315,0.810625652726,0.810569508685,0.810513357194,0.810457198253,0.810401031862,0.810344858022,0.810288676733,0.810232487997,0.810176291813,0.810120088182,0.810063877105,0.810007658582,0.809951432613,0.809895199199,0.809838958341,0.80978271004,0.809726454294,0.809670191106,0.809613920476,0.809557642404,0.809501356891,0.809445063937,0.809388763542,0.809332455708,0.809276140435,0.809219817723,0.809163487572,0.809107149985,0.80905080496,0.808994452498,0.8089380926,0.808881725267,0.808825350499,0.808768968296,0.808712578659,0.808656181588,0.808599777085,0.808543365149,0.808486945781,0.808430518982,0.808374084751,0.808317643091,0.808261194,0.80820473748,0.808148273531,0.808091802154,0.80803532335,0.807978837117,0.807922343458,0.807865842373,0.807809333862,0.807752817926,0.807696294565,0.80763976378,0.807583225572,0.80752667994,0.807470126886,0.807413566409,0.807356998511,0.807300423192,0.807243840452,0.807187250293,0.807130652714,0.807074047716,0.807017435299,0.806960815464,0.806904188213,0.806847553544,0.806790911459,0.806734261958,0.806677605041,0.80662094071,0.806564268965,0.806507589806,0.806450903233,0.806394209248,0.806337507851,0.806280799042,0.806224082821,0.806167359191,0.80611062815,0.806053889699,0.805997143839,0.805940390571,0.805883629895,0.805826861811,0.805770086321,0.805713303423,0.80565651312,0.805599715412,0.805542910298,0.80548609778,0.805429277859,0.805372450534,0.805315615806,0.805258773676,0.805201924144,0.805145067211,0.805088202877,0.805031331143,0.804974452009,0.804917565476,0.804860671545,0.804803770215,0.804746861488,0.804689945364,0.804633021843,0.804576090926,0.804519152614,0.804462206907,0.804405253805,0.804348293309,0.80429132542,0.804234350139,0.804177367464,0.804120377398,0.804063379941,0.804006375093,0.803949362854,0.803892343226,0.803835316209,0.803778281803,0.803721240009,0.803664190827,0.803607134258,0.803550070303,0.803492998961,0.803435920234,0.803378834122,0.803321740625,0.803264639745,0.803207531481,0.803150415834,0.803093292804,0.803036162393,0.802979024601,0.802921879428,0.802864726874,0.802807566941,0.802750399628,0.802693224937,0.802636042867,0.80257885342,0.802521656596,0.802464452395,0.802407240818,0.802350021866,0.802292795538,0.802235561836,0.80217832076,0.802121072311,0.802063816488,0.802006553293,0.801949282727,0.801892004789,0.80183471948,0.801777426801,0.801720126752,0.801662819334,0.801605504547,0.801548182392,0.801490852869,0.80143351598,0.801376171723,0.801318820101,0.801261461113,0.80120409476,0.801146721042,0.80108933996,0.801031951515,0.800974555708,0.800917152537,0.800859742005,0.800802324112,0.800744898857,0.800687466243,0.800630026269,0.800572578935,0.800515124243,0.800457662193,0.800400192785,0.80034271602,0.800285231898,0.80022774042,0.800170241587,0.800112735399,0.800055221856,0.799997700959,0.799940172709,0.799882637106,0.799825094151,0.799767543844,0.799709986186,0.799652421176,0.799594848817,0.799537269108,0.79947968205,0.799422087643,0.799364485888,0.799306876785,0.799249260335,0.799191636539,0.799134005397,0.799076366909,0.799018721077,0.7989610679,0.798903407379,0.798845739515,0.798788064308,0.798730381758,0.798672691867,0.798614994635,0.798557290062,0.798499578149,0.798441858896,0.798384132304,0.798326398373,0.798268657105,0.798210908499,0.798153152556,0.798095389276,0.798037618661,0.79797984071,0.797922055424,0.797864262804,0.79780646285,0.797748655563,0.797690840943,0.797633018991,0.797575189708,0.797517353093,0.797459509147,0.797401657872,0.797343799267,0.797285933333,0.79722806007,0.79717017948,0.797112291562,0.797054396317,0.796996493746,0.796938583849,0.796880666627,0.79682274208,0.796764810208,0.796706871013,0.796648924495,0.796590970655,0.796533009492,0.796475041008,0.796417065202,0.796359082076,0.79630109163,0.796243093865,0.796185088781,0.796127076378,0.796069056658,0.79601102962,0.795952995266,0.795894953595,0.795836904609,0.795778848307,0.795720784691,0.795662713761,0.795604635517,0.79554654996,0.795488457091,0.79543035691,0.795372249417,0.795314134613,0.7952560125,0.795197883076,0.795139746343,0.795081602301,0.795023450951,0.794965292293,0.794907126328,0.794848953057,0.794790772479,0.794732584596,0.794674389408,0.794616186915,0.794557977119,0.794499760019,0.794441535616,0.794383303911,0.794325064904,0.794266818596,0.794208564987,0.794150304078,0.794092035869,0.794033760361,0.793975477554,0.79391718745,0.793858890048,0.793800585349,0.793742273353,0.793683954062,0.793625627475,0.793567293593,0.793508952417,0.793450603948,0.793392248185,0.793333885129,0.793275514781,0.793217137142,0.793158752211,0.79310035999,0.793041960479,0.792983553679,0.79292513959,0.792866718212,0.792808289546,0.792749853593,0.792691410353,0.792632959827,0.792574502015,0.792516036918,0.792457564537,0.792399084871,0.792340597922,0.79228210369,0.792223602175,0.792165093378,0.7921065773,0.792048053941,0.791989523302,0.791930985383,0.791872440184,0.791813887707,0.791755327952,0.791696760919,0.791638186609,0.791579605023,0.79152101616,0.791462420022,0.791403816609,0.791345205921,0.79128658796,0.791227962725,0.791169330218,0.791110690438,0.791052043386,0.790993389064,0.790934727471,0.790876058607,0.790817382474,0.790758699072,0.790700008402,0.790641310463,0.790582605257,0.790523892785,0.790465173046,0.790406446041,0.790347711771,0.790288970236,0.790230221437,0.790171465375,0.790112702049,0.790053931461,0.789995153611,0.789936368499,0.789877576127,0.789818776494,0.789759969601,0.789701155449,0.789642334038,0.789583505369,0.789524669442,0.789465826258,0.789406975818,0.789348118121,0.789289253169,0.789230380962,0.7891715015,0.789112614785,0.789053720816,0.788994819595,0.788935911121,0.788876995395,0.788818072418,0.788759142191,0.788700204714,0.788641259986,0.78858230801,0.788523348786,0.788464382313,0.788405408593,0.788346427627,0.788287439414,0.788228443955,0.788169441251,0.788110431302,0.788051414109,0.787992389673,0.787933357993,0.787874319071,0.787815272907,0.787756219501,0.787697158855,0.787638090968,0.787579015842,0.787519933476,0.787460843872,0.787401747029,0.787342642949,0.787283531631,0.787224413078,0.787165287288,0.787106154262,0.787047014002,0.786987866507,0.786928711779,0.786869549817,0.786810380623,0.786751204196,0.786692020538,0.786632829648,0.786573631529,0.786514426179,0.786455213599,0.786395993791,0.786336766754,0.786277532489,0.786218290997,0.786159042279,0.786099786334,0.786040523163,0.785981252768,0.785921975148,0.785862690303,0.785803398236,0.785744098945,0.785684792432,0.785625478697,0.785566157741,0.785506829564,0.785447494167,0.78538815155,0.785328801714,0.78526944466,0.785210080387,0.785150708897,0.78509133019,0.785031944267,0.784972551128,0.784913150773,0.784853743204,0.78479432842,0.784734906423,0.784675477213,0.78461604079,0.784556597156,0.784497146309,0.784437688252,0.784378222984,0.784318750507,0.78425927082,0.784199783925,0.784140289821,0.78408078851,0.784021279991,0.783961764266,0.783902241336,0.783842711199,0.783783173858,0.783723629312,0.783664077562,0.78360451861,0.783544952454,0.783485379096,0.783425798537,0.783366210777,0.783306615816,0.783247013655,0.783187404294,0.783127787735,0.783068163977,0.783008533022,0.782948894869,0.78288924952,0.782829596975,0.782769937233,0.782710270297,0.782650596167,0.782590914842,0.782531226324,0.782471530613,0.78241182771,0.782352117615,0.782292400329,0.782232675852,0.782172944185,0.782113205328,0.782053459283,0.781993706049,0.781933945627,0.781874178018,0.781814403222,0.781754621239,0.781694832071,0.781635035718,0.78157523218,0.781515421458,0.781455603552,0.781395778464,0.781335946193,0.78127610674,0.781216260106,0.781156406291,0.781096545296,0.781036677122,0.780976801768,0.780916919235,0.780857029525,0.780797132637,0.780737228572,0.780677317331,0.780617398914,0.780557473322,0.780497540555,0.780437600613,0.780377653499,0.780317699211,0.78025773775,0.780197769118,0.780137793314,0.78007781034,0.780017820195,0.77995782288,0.779897818396,0.779837806744,0.779777787923,0.779717761935,0.77965772878,0.779597688458,0.779537640971,0.779477586318,0.7794175245,0.779357455518,0.779297379373,0.779237296064,0.779177205593,0.779117107959,0.779057003164,0.778996891209,0.778936772093,0.778876645817,0.778816512381,0.778756371788,0.778696224036,0.778636069126,0.778575907059,0.778515737836,0.778455561457,0.778395377922,0.778335187233,0.778274989389,0.778214784392,0.778154572241,0.778094352938,0.778034126482,0.777973892876,0.777913652118,0.777853404209,0.777793149151,0.777732886944,0.777672617588,0.777612341083,0.777552057431,0.777491766632,0.777431468687,0.777371163595,0.777310851358,0.777250531976,0.77719020545,0.77712987178,0.777069530967,0.777009183011,0.776948827913,0.776888465673,0.776828096293,0.776767719772,0.776707336111,0.776646945311,0.776586547372,0.776526142295,0.77646573008,0.776405310728,0.776344884239,0.776284450615,0.776224009855,0.77616356196,0.776103106931,0.776042644768,0.775982175472,0.775921699043,0.775861215483,0.77580072479,0.775740226967,0.775679722013,0.775619209929,0.775558690716,0.775498164374,0.775437630904,0.775377090306,0.775316542582,0.77525598773,0.775195425753,0.77513485665,0.775074280423,0.775013697071,0.774953106595,0.774892508996,0.774831904274,0.774771292431,0.774710673466,0.774650047379,0.774589414173,0.774528773846,0.774468126401,0.774407471836,0.774346810154,0.774286141353,0.774225465436,0.774164782402,0.774104092252,0.774043394987,0.773982690607,0.773921979112,0.773861260504,0.773800534783,0.773739801949,0.773679062003,0.773618314946,0.773557560778,0.773496799499,0.77343603111,0.773375255613,0.773314473006,0.773253683291,0.773192886469,0.77313208254,0.773071271504,0.773010453363,0.772949628116,0.772888795764,0.772827956308,0.772767109748,0.772706256086,0.77264539532,0.772584527453,0.772523652484,0.772462770415,0.772401881245,0.772340984975,0.772280081606,0.772219171139,0.772158253573,0.77209732891,0.77203639715,0.771975458294,0.771914512342,0.771853559294,0.771792599152,0.771731631916,0.771670657586,0.771609676163,0.771548687647,0.77148769204,0.771426689341,0.771365679552,0.771304662672,0.771243638702,0.771182607644,0.771121569497,0.771060524262,0.770999471939,0.77093841253,0.770877346034,0.770816272453,0.770755191786,0.770694104035,0.7706330092,0.770571907281,0.77051079828,0.770449682196,0.77038855903,0.770327428783,0.770266291455,0.770205147047,0.77014399556,0.770082836993,0.770021671348,0.769960498626,0.769899318826,0.769838131949,0.769776937996,0.769715736967,0.769654528864,0.769593313685,0.769532091433,0.769470862108,0.76940962571,0.769348382239,0.769287131697,0.769225874083,0.769164609399,0.769103337646,0.769042058822,0.76898077293,0.76891947997,0.768858179941,0.768796872846,0.768735558684,0.768674237456,0.768612909162,0.768551573804,0.768490231381,0.768428881894,0.768367525344,0.768306161731,0.768244791057,0.768183413321,0.768122028523,0.768060636666,0.767999237748,0.767937831772,0.767876418736,0.767814998642,0.767753571491,0.767692137283,0.767630696018,0.767569247698,0.767507792322,0.767446329891,0.767384860406,0.767323383868,0.767261900276,0.767200409632,0.767138911936,0.767077407188,0.76701589539,0.766954376542,0.766892850643,0.766831317696,0.7667697777,0.766708230657,0.766646676565,0.766585115427,0.766523547243,0.766461972013,0.766400389738,0.766338800418,0.766277204054,0.766215600647,0.766153990196,0.766092372704,0.76603074817,0.765969116594,0.765907477978,0.765845832322,0.765784179626,0.765722519892,0.765660853119,0.765599179308,0.76553749846,0.765475810575,0.765414115655,0.765352413699,0.765290704707,0.765228988682,0.765167265622,0.76510553553,0.765043798405,0.764982054247,0.764920303058,0.764858544838,0.764796779588,0.764735007308,0.764673227998,0.76461144166,0.764549648293,0.7644878479,0.764426040479,0.764364226031,0.764302404558,0.764240576059,0.764178740536,0.764116897989,0.764055048418,0.763993191824,0.763931328207,0.763869457569,0.763807579909,0.763745695228,0.763683803528,0.763621904807,0.763559999068,0.76349808631,0.763436166534,0.763374239741,0.763312305931,0.763250365105,0.763188417263,0.763126462407,0.763064500535,0.76300253165,0.762940555752,0.76287857284,0.762816582917,0.762754585981,0.762692582035,0.762630571078,0.762568553112,0.762506528136,0.762444496151,0.762382457158,0.762320411157,0.762258358149,0.762196298135,0.762134231114,0.762072157089,0.762010076058,0.761947988023,0.761885892985,0.761823790943,0.761761681899,0.761699565854,0.761637442806,0.761575312758,0.76151317571,0.761451031662,0.761388880615,0.761326722569,0.761264557525,0.761202385484,0.761140206446,0.761078020412,0.761015827383,0.760953627358,0.760891420339,0.760829206325,0.760766985319,0.760704757319,0.760642522328,0.760580280344,0.76051803137,0.760455775405,0.76039351245,0.760331242506,0.760268965573,0.760206681651,0.760144390742,0.760082092846,0.760019787964,0.759957476095,0.759895157241,0.759832831403,0.75977049858,0.759708158773,0.759645811984,0.759583458211,0.759521097457,0.759458729722,0.759396355006,0.759333973309,0.759271584633,0.759209188978,0.759146786345,0.759084376733,0.759021960145,0.758959536579,0.758897106037,0.75883466852,0.758772224027,0.75870977256,0.75864731412,0.758584848705,0.758522376319,0.75845989696,0.758397410629,0.758334917327,0.758272417055,0.758209909813,0.758147395602,0.758084874422,0.758022346273,0.757959811158,0.757897269075,0.757834720026,0.757772164011,0.75770960103,0.757647031085,0.757584454176,0.757521870303,0.757459279468,0.757396681669,0.75733407691,0.757271465188,0.757208846506,0.757146220865,0.757083588263,0.757020948703,0.756958302184,0.756895648707,0.756832988273,0.756770320883,0.756707646536,0.756644965234,0.756582276977,0.756519581766,0.756456879601,0.756394170483,0.756331454412,0.756268731389,0.756206001414,0.756143264489,0.756080520614,0.756017769788,0.755955012014,0.755892247291,0.75582947562,0.755766697001,0.755703911436,0.755641118924,0.755578319467,0.755515513065,0.755452699718,0.755389879427,0.755327052193,0.755264218016,0.755201376897,0.755138528836,0.755075673834,0.755012811891,0.754949943009,0.754887067187,0.754824184426,0.754761294728,0.754698398092,0.754635494518,0.754572584008,0.754509666563,0.754446742182,0.754383810866,0.754320872617,0.754257927433,0.754194975317,0.754132016268,0.754069050288,0.754006077376,0.753943097533,0.753880110761,0.753817117059,0.753754116428,0.753691108869,0.753628094382,0.753565072968,0.753502044627,0.75343900936,0.753375967167,0.75331291805,0.753249862009,0.753186799044,0.753123729155,0.753060652344,0.752997568612,0.752934477957,0.752871380382,0.752808275887,0.752745164472,0.752682046138,0.752618920886,0.752555788715,0.752492649627,0.752429503623,0.752366350702,0.752303190866,0.752240024115,0.752176850449,0.75211366987,0.752050482377,0.751987287971,0.751924086654,0.751860878424,0.751797663284,0.751734441234,0.751671212274,0.751607976404,0.751544733626,0.75148148394,0.751418227347,0.751354963846,0.75129169344,0.751228416127,0.75116513191,0.751101840788,0.751038542762,0.750975237832,0.750911926,0.750848607265,0.750785281629,0.750721949092,0.750658609655,0.750595263317,0.75053191008,0.750468549945,0.750405182911,0.75034180898,0.750278428151,0.750215040427,0.750151645806,0.750088244291,0.75002483588,0.749961420576,0.749897998378,0.749834569287,0.749771133304,0.749707690429,0.749644240663,0.749580784006,0.74951732046,0.749453850024,0.749390372699,0.749326888486,0.749263397385,0.749199899398,0.749136394523,0.749072882763,0.749009364118,0.748945838588,0.748882306173,0.748818766875,0.748755220695,0.748691667631,0.748628107686,0.74856454086,0.748500967153,0.748437386566,0.748373799099,0.748310204754,0.74824660353,0.748182995429,0.74811938045,0.748055758595,0.747992129864,0.747928494258,0.747864851777,0.747801202421,0.747737546192,0.74767388309,0.747610213115,0.747546536269,0.747482852551,0.747419161963,0.747355464504,0.747291760176,0.747228048979,0.747164330913,0.74710060598,0.74703687418,0.746973135513,0.74690938998,0.746845637581,0.746781878318,0.746718112191,0.746654339199,0.746590559345,0.746526772628,0.74646297905,0.74639917861,0.746335371309,0.746271557148,0.746207736127,0.746143908248,0.74608007351,0.746016231914,0.745952383461,0.745888528152,0.745824665986,0.745760796965,0.745696921089,0.745633038359,0.745569148775,0.745505252338,0.745441349049,0.745377438907,0.745313521914,0.745249598071,0.745185667377,0.745121729834,0.745057785441,0.744993834201,0.744929876112,0.744865911176,0.744801939394,0.744737960765,0.744673975291,0.744609982972,0.744545983809,0.744481977802,0.744417964952,0.74435394526,0.744289918725,0.74422588535,0.744161845133,0.744097798076,0.74403374418,0.743969683445,0.743905615871,0.743841541459,0.74377746021,0.743713372125,0.743649277203,0.743585175447,0.743521066855,0.743456951429,0.743392829169,0.743328700076,0.74326456415,0.743200421393,0.743136271804,0.743072115385,0.743007952135,0.742943782056,0.742879605148,0.742815421411,0.742751230847,0.742687033455,0.742622829237,0.742558618193,0.742494400323,0.742430175629,0.74236594411,0.742301705767,0.742237460602,0.742173208614,0.742108949804,0.742044684173,0.741980411721,0.741916132449,0.741851846357,0.741787553447,0.741723253718,0.741658947171,0.741594633807,0.741530313627,0.741465986631,0.741401652819,0.741337312192,0.741272964751,0.741208610497,0.74114424943,0.74107988155,0.741015506858,0.740951125355,0.740886737041,0.740822341918,0.740757939984,0.740693531242,0.740629115692,0.740564693334,0.740500264169,0.740435828197,0.740371385419,0.740306935836,0.740242479449,0.740178016257,0.740113546261,0.740049069463,0.739984585862,0.73992009546,0.739855598256,0.739791094251,0.739726583447,0.739662065843,0.739597541441,0.73953301024,0.739468472242,0.739403927446,0.739339375854,0.739274817467,0.739210252284,0.739145680306,0.739081101534,0.739016515969,0.738951923611,0.738887324461,0.738822718519,0.738758105785,0.738693486262,0.738628859948,0.738564226845,0.738499586954,0.738434940274,0.738370286807,0.738305626552,0.738240959512,0.738176285686,0.738111605074,0.738046917678,0.737982223498,0.737917522535,0.737852814788,0.73778810026,0.73772337895,0.737658650859,0.737593915988,0.737529174337,0.737464425906,0.737399670697,0.73733490871,0.737270139946,0.737205364405,0.737140582087,0.737075792994,0.737010997126,0.736946194484,0.736881385067,0.736816568877,0.736751745915,0.736686916181,0.736622079675,0.736557236398,0.736492386351,0.736427529534,0.736362665948,0.736297795594,0.736232918472,0.736168034582,0.736103143926,0.736038246504,0.735973342316,0.735908431363,0.735843513646,0.735778589166,0.735713657922,0.735648719916,0.735583775147,0.735518823618,0.735453865327,0.735388900277,0.735323928467,0.735258949898,0.73519396457,0.735128972485,0.735063973643,0.734998968044,0.73493395569,0.73486893658,0.734803910715,0.734738878096,0.734673838723,0.734608792598,0.73454373972,0.73447868009,0.73441361371,0.734348540578,0.734283460697,0.734218374066,0.734153280687,0.734088180559,0.734023073684,0.733957960061,0.733892839693,0.733827712578,0.733762578719,0.733697438115,0.733632290766,0.733567136675,0.733501975841,0.733436808264,0.733371633946,0.733306452887,0.733241265087,0.733176070548,0.733110869269,0.733045661252,0.732980446497,0.732915225005,0.732849996775,0.73278476181,0.732719520109,0.732654271672,0.732589016502,0.732523754598,0.73245848596,0.73239321059,0.732327928488,0.732262639654,0.73219734409,0.732132041795,0.732066732771,0.732001417018,0.731936094537,0.731870765327,0.731805429391,0.731740086728,0.731674737338,0.731609381224,0.731544018385,0.731478648821,0.731413272534,0.731347889524,0.731282499791,0.731217103337,0.731151700162,0.731086290265,0.731020873649,0.730955450314,0.73089002026,0.730824583487,0.730759139997,0.73069368979,0.730628232867,0.730562769228,0.730497298874,0.730431821805,0.730366338022,0.730300847526,0.730235350317,0.730169846395,0.730104335763,0.730038818419,0.729973294365,0.729907763601,0.729842226128,0.729776681947,0.729711131057,0.72964557346,0.729580009157,0.729514438147,0.729448860432,0.729383276012,0.729317684887,0.729252087059,0.729186482527,0.729120871293,0.729055253358,0.728989628721,0.728923997383,0.728858359345,0.728792714607,0.728727063171,0.728661405036,0.728595740204,0.728530068674,0.728464390448,0.728398705526,0.728333013909,0.728267315597,0.728201610591,0.728135898892,0.7280701805,0.728004455415,0.727938723639,0.727872985172,0.727807240014,0.727741488167,0.72767572963,0.727609964404,0.727544192491,0.72747841389,0.727412628602,0.727346836628,0.727281037969,0.727215232624,0.727149420595,0.727083601883,0.727017776487,0.726951944408,0.726886105648,0.726820260206,0.726754408083,0.72668854928,0.726622683798,0.726556811636,0.726490932796,0.726425047279,0.726359155084,0.726293256213,0.726227350666,0.726161438444,0.726095519546,0.726029593975,0.72596366173,0.725897722813,0.725831777223,0.725765824961,0.725699866028,0.725633900425,0.725567928152,0.72550194921,0.725435963599,0.72536997132,0.725303972373,0.72523796676,0.72517195448,0.725105935535,0.725039909925,0.72497387765,0.724907838712,0.72484179311,0.724775740846,0.724709681919,0.724643616332,0.724577544084,0.724511465175,0.724445379607,0.72437928738,0.724313188495,0.724247082951,0.724180970751,0.724114851895,0.724048726382,0.723982594214,0.723916455391,0.723850309915,0.723784157784,0.723717999001,0.723651833566,0.723585661479,0.723519482741,0.723453297353,0.723387105314,0.723320906627,0.723254701291,0.723188489307,0.723122270675,0.723056045397,0.722989813472,0.722923574902,0.722857329687,0.722791077828,0.722724819325,0.722658554179,0.72259228239,0.722526003959,0.722459718887,0.722393427175,0.722327128822,0.72226082383,0.722194512199,0.722128193929,0.722061869022,0.721995537478,0.721929199298,0.721862854481,0.72179650303,0.721730144944,0.721663780224,0.72159740887,0.721531030884,0.721464646266,0.721398255016,0.721331857135,0.721265452624,0.721199041483,0.721132623713,0.721066199315,0.720999768288,0.720933330634,0.720866886354,0.720800435448,0.720733977916,0.720667513759,0.720601042978,0.720534565574,0.720468081546,0.720401590897,0.720335093625,0.720268589732,0.720202079219,0.720135562085,0.720069038333,0.720002507961,0.719935970972,0.719869427365,0.719802877141,0.719736320301,0.719669756845,0.719603186774,0.719536610089,0.71947002679,0.719403436878,0.719336840353,0.719270237216,0.719203627467,0.719137011108,0.719070388139,0.71900375856,0.718937122373,0.718870479577,0.718803830173,0.718737174162,0.718670511545,0.718603842322,0.718537166494,0.718470484061,0.718403795023,0.718337099383,0.71827039714,0.718203688294,0.718136972847,0.718070250799,0.718003522151,0.717936786903,0.717870045056,0.71780329661,0.717736541566,0.717669779926,0.717603011688,0.717536236854,0.717469455425,0.717402667402,0.717335872784,0.717269071572,0.717202263767,0.71713544937,0.717068628381,0.717001800802,0.716934966631,0.716868125871,0.716801278521,0.716734424583,0.716667564056,0.716600696943,0.716533823242,0.716466942955,0.716400056082,0.716333162625,0.716266262583,0.716199355957,0.716132442748,0.716065522957,0.715998596584,0.715931663629,0.715864724094,0.715797777979,0.715730825284,0.71566386601,0.715596900158,0.715529927729,0.715462948722,0.715395963139,0.715328970981,0.715261972247,0.715194966939,0.715127955056,0.715060936601,0.714993911573,0.714926879972,0.714859841801,0.714792797058,0.714725745745,0.714658687863,0.714591623411,0.714524552392,0.714457474804,0.714390390649,0.714323299928,0.714256202641,0.714189098789,0.714121988372,0.71405487139,0.713987747846,0.713920617738,0.713853481069,0.713786337838,0.713719188046,0.713652031693,0.713584868781,0.713517699309,0.71345052328,0.713383340692,0.713316151547,0.713248955845,0.713181753587,0.713114544774,0.713047329406,0.712980107484,0.712912879009,0.71284564398,0.712778402399,0.712711154267,0.712643899583,0.712576638349,0.712509370565,0.712442096231,0.71237481535,0.71230752792,0.712240233942,0.712172933418,0.712105626348,0.712038312733,0.711970992572,0.711903665867,0.711836332619,0.711768992827,0.711701646493,0.711634293617,0.7115669342,0.711499568243,0.711432195745,0.711364816708,0.711297431133,0.711230039019,0.711162640368,0.71109523518,0.711027823456,0.710960405196,0.710892980401,0.710825549072,0.710758111209,0.710690666813,0.710623215884,0.710555758424,0.710488294432,0.71042082391,0.710353346857,0.710285863275,0.710218373164,0.710150876526,0.710083373359,0.710015863666,0.709948347446,0.709880824701,0.70981329543,0.709745759636,0.709678217317,0.709610668475,0.70954311311,0.709475551224,0.709407982816,0.709340407888,0.709272826439,0.709205238471,0.709137643984,0.709070042978,0.709002435456,0.708934821416,0.70886720086,0.708799573788,0.7087319402,0.708664300099,0.708596653483,0.708529000354,0.708461340713,0.70839367456,0.708326001895,0.708258322719,0.708190637033,0.708122944838,0.708055246134,0.707987540921,0.707919829201,0.707852110974,0.70778438624,0.707716655,0.707648917256,0.707581173006,0.707513422253,0.707445664997,0.707377901238,0.707310130976,0.707242354214,0.70717457095,0.707106781187,0.707038984923,0.706971182161,0.706903372901,0.706835557142,0.706767734887,0.706699906135,0.706632070888,0.706564229145,0.706496380907,0.706428526176,0.706360664951,0.706292797234,0.706224923024,0.706157042323,0.706089155131,0.706021261449,0.705953361278,0.705885454617,0.705817541468,0.705749621831,0.705681695708,0.705613763097,0.705545824001,0.70547787842,0.705409926354,0.705341967804,0.705274002771,0.705206031255,0.705138053257,0.705070068777,0.705002077817,0.704934080376,0.704866076456,0.704798066056,0.704730049179,0.704662025823,0.704593995991,0.704525959682,0.704457916897,0.704389867637,0.704321811903,0.704253749694,0.704185681012,0.704117605858,0.704049524231,0.703981436133,0.703913341564,0.703845240524,0.703777133016,0.703709019038,0.703640898592,0.703572771678,0.703504638297,0.703436498449,0.703368352136,0.703300199358,0.703232040114,0.703163874407,0.703095702237,0.703027523604,0.702959338509,0.702891146952,0.702822948935,0.702754744457,0.70268653352,0.702618316124,0.702550092269,0.702481861957,0.702413625188,0.702345381962,0.702277132281,0.702208876144,0.702140613553,0.702072344508,0.70200406901,0.701935787059,0.701867498656,0.701799203801,0.701730902496,0.70166259474,0.701594280535,0.701525959881,0.701457632779,0.701389299229,0.701320959232,0.701252612789,0.7011842599,0.701115900566,0.701047534787,0.700979162565,0.700910783899,0.700842398791,0.70077400724,0.700705609248,0.700637204816,0.700568793943,0.700500376631,0.70043195288,0.700363522691,0.700295086064,0.700226643001,0.700158193501,0.700089737565,0.700021275194,0.699952806389,0.69988433115,0.699815849477,0.699747361373,0.699678866836,0.699610365868,0.699541858469,0.69947334464,0.699404824382,0.699336297695,0.69926776458,0.699199225037,0.699130679068,0.699062126672,0.698993567851,0.698925002604,0.698856430934,0.698787852839,0.698719268322,0.698650677381,0.69858208002,0.698513476236,0.698444866033,0.698376249409,0.698307626366,0.698238996904,0.698170361024,0.698101718727,0.698033070013,0.697964414883,0.697895753337,0.697827085377,0.697758411002,0.697689730213,0.697621043012,0.697552349398,0.697483649372,0.697414942935,0.697346230088,0.697277510831,0.697208785165,0.69714005309,0.697071314607,0.697002569716,0.696933818419,0.696865060716,0.696796296608,0.696727526095,0.696658749177,0.696589965856,0.696521176132,0.696452380006,0.696383577478,0.69631476855,0.69624595322,0.696177131491,0.696108303363,0.696039468837,0.695970627913,0.695901780591,0.695832926873,0.695764066759,0.695695200249,0.695626327345,0.695557448047,0.695488562356,0.695419670271,0.695350771795,0.695281866927,0.695212955668,0.695144038019,0.69507511398,0.695006183552,0.694937246736,0.694868303532,0.694799353942,0.694730397964,0.694661435601,0.694592466853,0.69452349172,0.694454510203,0.694385522303,0.69431652802,0.694247527356,0.69417852031,0.694109506883,0.694040487076,0.69397146089,0.693902428324,0.693833389381,0.69376434406,0.693695292362,0.693626234288,0.693557169838,0.693488099013,0.693419021814,0.693349938241,0.693280848295,0.693211751976,0.693142649285,0.693073540224,0.693004424791,0.692935302989,0.692866174817,0.692797040277,0.692727899369,0.692658752093,0.692589598451,0.692520438442,0.692451272068,0.692382099329,0.692312920226,0.692243734759,0.692174542929,0.692105344737,0.692036140183,0.691966929269,0.691897711993,0.691828488358,0.691759258364,0.691690022012,0.691620779301,0.691551530233,0.691482274809,0.691413013029,0.691343744893,0.691274470403,0.691205189558,0.691135902361,0.69106660881,0.690997308908,0.690928002653,0.690858690048,0.690789371093,0.690720045788,0.690650714135,0.690581376132,0.690512031783,0.690442681086,0.690373324043,0.690303960654,0.69023459092,0.690165214841,0.690095832419,0.690026443653,0.689957048545,0.689887647095,0.689818239303,0.689748825171,0.689679404699,0.689609977887,0.689540544737,0.689471105249,0.689401659423,0.68933220726,0.689262748761,0.689193283927,0.689123812757,0.689054335254,0.688984851417,0.688915361246,0.688845864744,0.688776361909,0.688706852744,0.688637337248,0.688567815422,0.688498287267,0.688428752784,0.688359211973,0.688289664834,0.688220111369,0.688150551578,0.688080985462,0.68801141302,0.687941834255,0.687872249167,0.687802657755,0.687733060022,0.687663455967,0.687593845591,0.687524228895,0.687454605879,0.687384976545,0.687315340892,0.687245698921,0.687176050634,0.68710639603,0.68703673511,0.686967067875,0.686897394326,0.686827714463,0.686758028287,0.686688335798,0.686618636998,0.686548931886,0.686479220463,0.686409502731,0.686339778689,0.686270048339,0.68620031168,0.686130568714,0.686060819441,0.685991063863,0.685921301978,0.685851533789,0.685781759296,0.685711978499,0.685642191399,0.685572397997,0.685502598293,0.685432792289,0.685362979984,0.685293161379,0.685223336475,0.685153505273,0.685083667773,0.685013823976,0.684943973882,0.684874117492,0.684804254808,0.684734385828,0.684664510555,0.684594628988,0.684524741129,0.684454846978,0.684384946535,0.684315039802,0.684245126779,0.684175207466,0.684105281864,0.684035349975,0.683965411797,0.683895467333,0.683825516583,0.683755559547,0.683685596226,0.683615626621,0.683545650732,0.68347566856,0.683405680106,0.68333568537,0.683265684353,0.683195677056,0.683125663479,0.683055643623,0.682985617488,0.682915585075,0.682845546385,0.682775501419,0.682705450176,0.682635392659,0.682565328866,0.6824952588,0.682425182461,0.682355099848,0.682285010964,0.682214915808,0.682144814381,0.682074706685,0.682004592718,0.681934472483,0.68186434598,0.681794213209,0.681724074172,0.681653928868,0.681583777298,0.681513619464,0.681443455365,0.681373285002,0.681303108377,0.681232925489,0.681162736339,0.681092540928,0.681022339257,0.680952131326,0.680881917135,0.680811696686,0.68074146998,0.680671237016,0.680600997795,0.680530752319,0.680460500587,0.680390242601,0.680319978361,0.680249707867,0.68017943112,0.680109148122,0.680038858872,0.679968563371,0.679898261621,0.67982795362,0.679757639371,0.679687318874,0.679616992129,0.679546659137,0.679476319899,0.679405974416,0.679335622687,0.679265264714,0.679194900498,0.679124530038,0.679054153337,0.678983770393,0.678913381208,0.678842985783,0.678772584118,0.678702176214,0.678631762072,0.678561341691,0.678490915074,0.67842048222,0.67835004313,0.678279597805,0.678209146245,0.678138688451,0.678068224424,0.677997754164,0.677927277673,0.677856794949,0.677786305996,0.677715810812,0.677645309398,0.677574801756,0.677504287886,0.677433767789,0.677363241464,0.677292708913,0.677222170137,0.677151625136,0.677081073911,0.677010516462,0.67693995279,0.676869382896,0.67679880678,0.676728224443,0.676657635886,0.67658704111,0.676516440114,0.6764458329,0.676375219468,0.676304599819,0.676233973953,0.676163341872,0.676092703575,0.676022059064,0.67595140834,0.675880751402,0.675810088251,0.675739418889,0.675668743315,0.675598061531,0.675527373536,0.675456679333,0.675385978921,0.6753152723,0.675244559473,0.675173840439,0.675103115198,0.675032383752,0.674961646102,0.674890902247,0.674820152189,0.674749395929,0.674678633466,0.674607864801,0.674537089936,0.67446630887,0.674395521605,0.674324728141,0.674253928479,0.674183122619,0.674112310562,0.674041492309,0.673970667861,0.673899837217,0.673829000379,0.673758157347,0.673687308122,0.673616452705,0.673545591096,0.673474723296,0.673403849306,0.673332969125,0.673262082756,0.673191190198,0.673120291453,0.67304938652,0.6729784754,0.672907558095,0.672836634605,0.67276570493,0.672694769071,0.672623827029,0.672552878804,0.672481924397,0.672410963809,0.67233999704,0.672269024091,0.672198044963,0.672127059656,0.672056068172,0.671985070509,0.67191406667,0.671843056655,0.671772040465,0.671701018099,0.67162998956,0.671558954847,0.671487913961,0.671416866903,0.671345813674,0.671274754274,0.671203688703,0.671132616963,0.671061539054,0.670990454977,0.670919364732,0.67084826832,0.670777165742,0.670706056998,0.67063494209,0.670563821017,0.67049269378,0.67042156038,0.670350420818,0.670279275094,0.670208123209,0.670136965164,0.670065800959,0.669994630595,0.669923454072,0.669852271392,0.669781082554,0.66970988756,0.66963868641,0.669567479105,0.669496265646,0.669425046032,0.669353820266,0.669282588347,0.669211350276,0.669140106053,0.66906885568,0.668997599157,0.668926336485,0.668855067665,0.668783792696,0.66871251158,0.668641224317,0.668569930908,0.668498631354,0.668427325655,0.668356013813,0.668284695826,0.668213371698,0.668142041427,0.668070705014,0.667999362461,0.667928013768,0.667856658935,0.667785297963,0.667713930854,0.667642557607,0.667571178223,0.667499792702,0.667428401047,0.667357003256,0.667285599331,0.667214189273,0.667142773082,0.667071350759,0.666999922304,0.666928487718,0.666857047002,0.666785600156,0.666714147181,0.666642688078,0.666571222847,0.66649975149,0.666428274006,0.666356790396,0.666285300662,0.666213804803,0.66614230282,0.666070794714,0.665999280486,0.665927760136,0.665856233666,0.665784701074,0.665713162363,0.665641617533,0.665570066585,0.665498509518,0.665426946335,0.665355377035,0.665283801619,0.665212220088,0.665140632443,0.665069038684,0.664997438811,0.664925832826,0.66485422073,0.664782602522,0.664710978203,0.664639347775,0.664567711237,0.664496068591,0.664424419837,0.664352764976,0.664281104008,0.664209436934,0.664137763755,0.664066084472,0.663994399084,0.663922707593,0.663851009999,0.663779306304,0.663707596507,0.66363588061,0.663564158612,0.663492430515,0.66342069632,0.663348956026,0.663277209635,0.663205457148,0.663133698564,0.663061933885,0.662990163111,0.662918386243,0.662846603282,0.662774814228,0.662703019082,0.662631217845,0.662559410516,0.662487597098,0.66241577759,0.662343951994,0.662272120309,0.662200282537,0.662128438678,0.662056588733,0.661984732702,0.661912870587,0.661841002387,0.661769128104,0.661697247738,0.66162536129,0.66155346876,0.66148157015,0.661409665459,0.661337754689,0.66126583784,0.661193914913,0.661121985908,0.661050050826,0.660978109668,0.660906162435,0.660834209126,0.660762249744,0.660690284287,0.660618312758,0.660546335157,0.660474351484,0.66040236174,0.660330365925,0.660258364041,0.660186356089,0.660114342067,0.660042321979,0.659970295823,0.659898263601,0.659826225313,0.659754180961,0.659682130544,0.659610074063,0.659538011519,0.659465942913,0.659393868246,0.659321787517,0.659249700728,0.659177607879,0.659105508972,0.659033404006,0.658961292982,0.658889175901,0.658817052764,0.658744923571,0.658672788323,0.658600647021,0.658528499665,0.658456346256,0.658384186795,0.658312021282,0.658239849717,0.658167672103,0.658095488439,0.658023298725,0.657951102963,0.657878901154,0.657806693297,0.657734479394,0.657662259445,0.657590033451,0.657517801413,0.657445563331,0.657373319206,0.657301069038,0.657228812829,0.657156550578,0.657084282287,0.657012007956,0.656939727587,0.656867441178,0.656795148732,0.656722850249,0.656650545729,0.656578235174,0.656505918583,0.656433595958,0.6563612673,0.656288932608,0.656216591883,0.656144245127,0.65607189234,0.655999533522,0.655927168674,0.655854797797,0.655782420892,0.655710037959,0.655637648999,0.655565254012,0.655492853,0.655420445962,0.6553480329,0.655275613814,0.655203188705,0.655130757573,0.65505832042,0.654985877245,0.65491342805,0.654840972835,0.654768511601,0.654696044349,0.654623571078,0.654551091791,0.654478606487,0.654406115167,0.654333617832,0.654261114482,0.654188605119,0.654116089742,0.654043568353,0.653971040953,0.653898507541,0.653825968118,0.653753422686,0.653680871244,0.653608313795,0.653535750337,0.653463180872,0.6533906054,0.653318023923,0.653245436441,0.653172842954,0.653100243463,0.653027637969,0.652955026473,0.652882408975,0.652809785475,0.652737155975,0.652664520476,0.652591878977,0.65251923148,0.652446577984,0.652373918492,0.652301253003,0.652228581519,0.652155904039,0.652083220565,0.652010531097,0.651937835636,0.651865134182,0.651792426737,0.6517197133,0.651646993873,0.651574268456,0.65150153705,0.651428799656,0.651356056274,0.651283306905,0.651210551549,0.651137790207,0.65106502288,0.650992249569,0.650919470274,0.650846684996,0.650773893736,0.650701096494,0.65062829327,0.650555484067,0.650482668883,0.65040984772,0.650337020579,0.65026418746,0.650191348364,0.650118503292,0.650045652244,0.649972795221,0.649899932223,0.649827063252,0.649754188307,0.649681307391,0.649608420502,0.649535527643,0.649462628813,0.649389724013,0.649316813244,0.649243896507,0.649170973802,0.64909804513,0.649025110492,0.648952169888,0.648879223319,0.648806270786,0.648733312289,0.648660347829,0.648587377406,0.648514401022,0.648441418677,0.648368430372,0.648295436107,0.648222435882,0.6481494297,0.64807641756,0.648003399463,0.64793037541,0.647857345401,0.647784309437,0.647711267519,0.647638219647,0.647565165822,0.647492106045,0.647419040316,0.647345968637,0.647272891007,0.647199807427,0.647126717899,0.647053622422,0.646980520998,0.646907413627,0.646834300309,0.646761181046,0.646688055839,0.646614924687,0.646541787591,0.646468644552,0.646395495572,0.64632234065,0.646249179787,0.646176012983,0.646102840241,0.646029661559,0.645956476939,0.645883286382,0.645810089888,0.645736887458,0.645663679092,0.645590464792,0.645517244557,0.645444018389,0.645370786288,0.645297548255,0.645224304291,0.645151054395,0.64507779857,0.645004536816,0.644931269132,0.644857995521,0.644784715982,0.644711430516,0.644638139125,0.644564841807,0.644491538566,0.6444182294,0.644344914311,0.644271593299,0.644198266365,0.64412493351,0.644051594734,0.643978250039,0.643904899424,0.64383154289,0.643758180438,0.643684812069,0.643611437784,0.643538057582,0.643464671465,0.643391279434,0.643317881489,0.64324447763,0.643171067859,0.643097652176,0.643024230582,0.642950803077,0.642877369662,0.642803930339,0.642730485106,0.642657033966,0.642583576919,0.642510113965,0.642436645105,0.642363170341,0.642289689671,0.642216203098,0.642142710622,0.642069212244,0.641995707963,0.641922197782,0.6418486817,0.641775159719,0.641701631838,0.641628098059,0.641554558382,0.641481012809,0.641407461338,0.641333903973,0.641260340712,0.641186771557,0.641113196508,0.641039615566,0.640966028732,0.640892436007,0.64081883739,0.640745232883,0.640671622487,0.640598006201,0.640524384028,0.640450755966,0.640377122018,0.640303482184,0.640229836464,0.64015618486,0.640082527371,0.640008863998,0.639935194743,0.639861519606,0.639787838587,0.639714151688,0.639640458908,0.639566760249,0.639493055711,0.639419345295,0.639345629002,0.639271906831,0.639198178785,0.639124444864,0.639050705068,0.638976959397,0.638903207854,0.638829450437,0.638755687149,0.63868191799,0.63860814296,0.638534362059,0.63846057529,0.638386782652,0.638312984146,0.638239179773,0.638165369533,0.638091553428,0.638017731457,0.637943903622,0.637870069923,0.63779623036,0.637722384936,0.637648533649,0.637574676501,0.637500813493,0.637426944625,0.637353069898,0.637279189313,0.63720530287,0.637131410569,0.637057512413,0.636983608401,0.636909698533,0.636835782812,0.636761861236,0.636687933808,0.636614000527,0.636540061395,0.636466116412,0.636392165579,0.636318208896,0.636244246364,0.636170277984,0.636096303756,0.636022323682,0.635948337761,0.635874345995,0.635800348384,0.635726344929,0.63565233563,0.635578320489,0.635504299505,0.63543027268,0.635356240015,0.635282201509,0.635208157164,0.63513410698,0.635060050958,0.634985989099,0.634911921403,0.634837847872,0.634763768504,0.634689683303,0.634615592267,0.634541495398,0.634467392697,0.634393284164,0.634319169799,0.634245049604,0.634170923579,0.634096791725,0.634022654043,0.633948510532,0.633874361195,0.633800206031,0.633726045041,0.633651878227,0.633577705588,0.633503527125,0.633429342839,0.633355152731,0.633280956801,0.63320675505,0.633132547479,0.633058334088,0.632984114878,0.632909889851,0.632835659005,0.632761422343,0.632687179864,0.63261293157,0.632538677461,0.632464417538,0.632390151801,0.632315880252,0.63224160289,0.632167319717,0.632093030734,0.63201873594,0.631944435337,0.631870128925,0.631795816705,0.631721498678,0.631647174844,0.631572845204,0.631498509759,0.631424168509,0.631349821456,0.631275468599,0.63120110994,0.631126745478,0.631052375216,0.630977999153,0.63090361729,0.630829229628,0.630754836168,0.63068043691,0.630606031855,0.630531621003,0.630457204356,0.630382781914,0.630308353677,0.630233919647,0.630159479824,0.630085034208,0.630010582801,0.629936125603,0.629861662614,0.629787193837,0.62971271927,0.629638238915,0.629563752772,0.629489260843,0.629414763128,0.629340259627,0.629265750341,0.629191235272,0.629116714419,0.629042187783,0.628967655365,0.628893117166,0.628818573186,0.628744023427,0.628669467888,0.62859490657,0.628520339475,0.628445766602,0.628371187953,0.628296603527,0.628222013327,0.628147417352,0.628072815604,0.627998208082,0.627923594788,0.627848975722,0.627774350885,0.627699720278,0.627625083901,0.627550441755,0.627475793841,0.627401140159,0.62732648071,0.627251815495,0.627177144515,0.627102467769,0.627027785259,0.626953096986,0.62687840295,0.626803703152,0.626728997592,0.626654286272,0.626579569192,0.626504846352,0.626430117753,0.626355383397,0.626280643283,0.626205897412,0.626131145786,0.626056388404,0.625981625268,0.625906856378,0.625832081735,0.625757301339,0.625682515191,0.625607723292,0.625532925643,0.625458122244,0.625383313096,0.625308498199,0.625233677555,0.625158851164,0.625084019026,0.625009181143,0.624934337515,0.624859488142,0.624784633026,0.624709772168,0.624634905566,0.624560033224,0.62448515514,0.624410271317,0.624335381754,0.624260486452,0.624185585412,0.624110678635,0.624035766121,0.623960847871,0.623885923886,0.623810994166,0.623736058713,0.623661117526,0.623586170606,0.623511217955,0.623436259572,0.623361295459,0.623286325616,0.623211350044,0.623136368744,0.623061381715,0.62298638896,0.622911390479,0.622836386271,0.622761376339,0.622686360683,0.622611339302,0.622536312199,0.622461279374,0.622386240827,0.62231119656,0.622236146572,0.622161090865,0.622086029439,0.622010962295,0.621935889433,0.621860810855,0.621785726561,0.621710636551,0.621635540827,0.621560439389,0.621485332238,0.621410219374,0.621335100798,0.621259976511,0.621184846514,0.621109710806,0.62103456939,0.620959422265,0.620884269433,0.620809110893,0.620733946647,0.620658776696,0.620583601039,0.620508419679,0.620433232614,0.620358039847,0.620282841378,0.620207637207,0.620132427335,0.620057211763,0.619981990492,0.619906763522,0.619831530854,0.619756292488,0.619681048426,0.619605798668,0.619530543215,0.619455282067,0.619380015225,0.61930474269,0.619229464462,0.619154180543,0.619078890932,0.619003595631,0.618928294641,0.618852987961,0.618777675593,0.618702357537,0.618627033794,0.618551704365,0.61847636925,0.618401028451,0.618325681967,0.6182503298,0.61817497195,0.618099608417,0.618024239204,0.617948864309,0.617873483735,0.617798097481,0.617722705548,0.617647307938,0.61757190465,0.617496495686,0.617421081045,0.61734566073,0.61727023474,0.617194803076,0.617119365739,0.61704392273,0.616968474049,0.616893019697,0.616817559674,0.616742093982,0.616666622621,0.616591145592,0.616515662895,0.616440174531,0.616364680501,0.616289180805,0.616213675445,0.616138164421,0.616062647733,0.615987125382,0.61591159737,0.615836063696,0.615760524361,0.615684979367,0.615609428713,0.615533872401,0.615458310431,0.615382742804,0.61530716952,0.615231590581,0.615156005986,0.615080415737,0.615004819834,0.614929218279,0.614853611071,0.614777998211,0.614702379701,0.61462675554,0.61455112573,0.614475490271,0.614399849164,0.61432420241,0.614248550008,0.614172891961,0.614097228268,0.614021558931,0.61394588395,0.613870203325,0.613794517058,0.613718825149,0.613643127599,0.613567424408,0.613491715578,0.613416001109,0.613340281001,0.613264555255,0.613188823873,0.613113086854,0.613037344199,0.61296159591,0.612885841986,0.612810082429,0.61273431724,0.612658546417,0.612582769964,0.61250698788,0.612431200166,0.612355406822,0.61227960785,0.61220380325,0.612127993022,0.612052177169,0.611976355689,0.611900528584,0.611824695854,0.611748857501,0.611673013525,0.611597163926,0.611521308706,0.611445447865,0.611369581403,0.611293709322,0.611217831622,0.611141948304,0.611066059369,0.610990164816,0.610914264648,0.610838358864,0.610762447465,0.610686530453,0.610610607827,0.610534679588,0.610458745738,0.610382806276,0.610306861204,0.610230910522,0.610154954231,0.610078992332,0.610003024825,0.60992705171,0.60985107299,0.609775088664,0.609699098733,0.609623103198,0.609547102059,0.609471095317,0.609395082973,0.609319065028,0.609243041482,0.609167012336,0.609090977591,0.609014937247,0.608938891305,0.608862839766,0.608786782631,0.608710719899,0.608634651573,0.608558577652,0.608482498137,0.608406413029,0.608330322329,0.608254226037,0.608178124155,0.608102016682,0.608025903619,0.607949784968,0.607873660728,0.607797530901,0.607721395488,0.607645254488,0.607569107903,0.607492955733,0.607416797979,0.607340634643,0.607264465723,0.607188291222,0.607112111139,0.607035925476,0.606959734234,0.606883537412,0.606807335012,0.606731127035,0.60665491348,0.606578694349,0.606502469643,0.606426239361,0.606350003506,0.606273762077,0.606197515076,0.606121262502,0.606045004357,0.605968740642,0.605892471356,0.605816196502,0.605739916078,0.605663630087,0.605587338529,0.605511041404,0.605434738714,0.605358430459,0.605282116639,0.605205797255,0.605129472309,0.605053141801,0.604976805731,0.6049004641,0.604824116909,0.604747764159,0.60467140585,0.604595041983,0.604518672558,0.604442297577,0.60436591704,0.604289530948,0.604213139302,0.604136742101,0.604060339348,0.603983931042,0.603907517184,0.603831097776,0.603754672817,0.603678242308,0.603601806251,0.603525364646,0.603448917493,0.603372464793,0.603296006547,0.603219542756,0.60314307342,0.60306659854,0.602990118117,0.602913632152,0.602837140644,0.602760643596,0.602684141007,0.602607632878,0.60253111921,0.602454600004,0.60237807526,0.602301544979,0.602225009162,0.60214846781,0.602071920922,0.601995368501,0.601918810546,0.601842247059,0.601765678039,0.601689103488,0.601612523407,0.601535937795,0.601459346655,0.601382749986,0.601306147789,0.601229540065,0.601152926815,0.601076308039,0.600999683738,0.600923053913,0.600846418564,0.600769777693,0.600693131299,0.600616479384,0.600539821948,0.600463158992,0.600386490517,0.600309816523,0.600233137011,0.600156451982,0.600079761437,0.600003065375,0.599926363799,0.599849656708,0.599772944104,0.599696225986,0.599619502356,0.599542773215,0.599466038563,0.599389298401,0.599312552729,0.599235801548,0.59915904486,0.599082282664,0.599005514961,0.598928741752,0.598851963039,0.59877517882,0.598698389098,0.598621593873,0.598544793146,0.598467986916,0.598391175186,0.598314357955,0.598237535225,0.598160706996,0.598083873269,0.598007034045,0.597930189323,0.597853339106,0.597776483393,0.597699622186,0.597622755484,0.59754588329,0.597469005603,0.597392122424,0.597315233754,0.597238339593,0.597161439943,0.597084534804,0.597007624177,0.596930708062,0.59685378646,0.596776859373,0.596699926799,0.596622988741,0.596546045199,0.596469096174,0.596392141666,0.596315181676,0.596238216205,0.596161245253,0.596084268822,0.596007286911,0.595930299522,0.595853306656,0.595776308312,0.595699304492,0.595622295197,0.595545280427,0.595468260183,0.595391234465,0.595314203275,0.595237166612,0.595160124479,0.595083076875,0.5950060238,0.594928965257,0.594851901245,0.594774831766,0.594697756819,0.594620676407,0.594543590528,0.594466499185,0.594389402377,0.594312300106,0.594235192372,0.594158079176,0.594080960519,0.594003836401,0.593926706823,0.593849571785,0.59377243129,0.593695285336,0.593618133925,0.593540977058,0.593463814735,0.593386646958,0.593309473725,0.59323229504,0.593155110901,0.593077921311,0.593000726268,0.592923525776,0.592846319833,0.59276910844,0.5926918916,0.592614669311,0.592537441575,0.592460208393,0.592382969764,0.592305725691,0.592228476174,0.592151221212,0.592073960808,0.591996694962,0.591919423674,0.591842146946,0.591764864777,0.591687577169,0.591610284122,0.591532985637,0.591455681715,0.591378372357,0.591301057562,0.591223737333,0.591146411669,0.591069080572,0.590991744041,0.590914402078,0.590837054684,0.590759701859,0.590682343604,0.590604979919,0.590527610805,0.590450236264,0.590372856295,0.5902954709,0.590218080079,0.590140683832,0.590063282161,0.589985875067,0.589908462549,0.589831044609,0.589753621248,0.589676192466,0.589598758263,0.589521318641,0.5894438736,0.589366423141,0.589288967265,0.589211505973,0.589134039264,0.58905656714,0.588979089602,0.58890160665,0.588824118285,0.588746624507,0.588669125318,0.588591620718,0.588514110708,0.588436595288,0.588359074459,0.588281548223,0.588204016579,0.588126479528,0.588048937072,0.58797138921,0.587893835943,0.587816277273,0.5877387132,0.587661143725,0.587583568848,0.587505988569,0.587428402891,0.587350811813,0.587273215337,0.587195613462,0.58711800619,0.587040393521,0.586962775456,0.586885151996,0.586807523142,0.586729888893,0.586652249252,0.586574604218,0.586496953793,0.586419297976,0.58634163677,0.586263970174,0.586186298189,0.586108620815,0.586030938055,0.585953249908,0.585875556375,0.585797857456,0.585720153154,0.585642443467,0.585564728397,0.585487007945,0.585409282111,0.585331550896,0.585253814301,0.585176072327,0.585098324973,0.585020572242,0.584942814133,0.584865050648,0.584787281786,0.584709507549,0.584631727938,0.584553942953,0.584476152595,0.584398356864,0.584320555762,0.584242749289,0.584164937446,0.584087120233,0.584009297651,0.583931469701,0.583853636384,0.5837757977,0.583697953651,0.583620104236,0.583542249456,0.583464389313,0.583386523806,0.583308652938,0.583230776707,0.583152895116,0.583075008164,0.582997115853,0.582919218184,0.582841315156,0.582763406771,0.582685493029,0.582607573931,0.582529649478,0.58245171967,0.582373784509,0.582295843995,0.582217898128,0.58213994691,0.582061990341,0.581984028421,0.581906061153,0.581828088535,0.581750110569,0.581672127256,0.581594138597,0.581516144591,0.581438145241,0.581360140546,0.581282130507,0.581204115125,0.581126094401,0.581048068335,0.580970036929,0.580892000182,0.580813958096,0.580735910671,0.580657857908,0.580579799808,0.580501736371,0.580423667598,0.580345593491,0.580267514049,0.580189429273,0.580111339164,0.580033243723,0.57995514295,0.579877036847,0.579798925413,0.579720808651,0.579642686559,0.579564559139,0.579486426393,0.579408288319,0.57933014492,0.579251996196,0.579173842148,0.579095682775,0.57901751808,0.578939348063,0.578861172724,0.578782992065,0.578704806085,0.578626614786,0.578548418169,0.578470216233,0.578392008981,0.578313796412,0.578235578527,0.578157355327,0.578079126813,0.578000892985,0.577922653845,0.577844409392,0.577766159628,0.577687904553,0.577609644168,0.577531378474,0.577453107472,0.577374831161,0.577296549544,0.57721826262,0.57713997039,0.577061672856,0.576983370017,0.576905061875,0.57682674843,0.576748429682,0.576670105634,0.576591776285,0.576513441636,0.576435101688,0.576356756441,0.576278405897,0.576200050055,0.576121688917,0.576043322484,0.575964950756,0.575886573734,0.575808191418,0.575729803809,0.575651410909,0.575573012717,0.575494609235,0.575416200463,0.575337786402,0.575259367052,0.575180942415,0.575102512491,0.57502407728,0.574945636784,0.574867191004,0.574788739939,0.574710283591,0.57463182196,0.574553355048,0.574474882854,0.57439640538,0.574317922626,0.574239434593,0.574160941282,0.574082442693,0.574003938827,0.573925429686,0.573846915269,0.573768395577,0.573689870611,0.573611340372,0.57353280486,0.573454264077,0.573375718023,0.573297166698,0.573218610104,0.57314004824,0.573061481109,0.57298290871,0.572904331045,0.572825748113,0.572747159916,0.572668566454,0.572589967729,0.572511363741,0.57243275449,0.572354139977,0.572275520204,0.57219689517,0.572118264877,0.572039629325,0.571960988515,0.571882342447,0.571803691123,0.571725034543,0.571646372708,0.571567705618,0.571489033275,0.571410355679,0.57133167283,0.57125298473,0.571174291379,0.571095592778,0.571016888928,0.570938179828,0.570859465481,0.570780745887,0.570702021046,0.57062329096,0.570544555628,0.570465815052,0.570387069232,0.57030831817,0.570229561865,0.570150800319,0.570072033533,0.569993261506,0.56991448424,0.569835701736,0.569756913993,0.569678121014,0.569599322798,0.569520519347,0.569441710661,0.56936289674,0.569284077586,0.5692052532,0.569126423581,0.569047588731,0.568968748651,0.56888990334,0.568811052801,0.568732197033,0.568653336037,0.568574469815,0.568495598366,0.568416721692,0.568337839793,0.56825895267,0.568180060324,0.568101162755,0.568022259964,0.567943351952,0.56786443872,0.567785520268,0.567706596597,0.567627667708,0.567548733601,0.567469794278,0.567390849738,0.567311899983,0.567232945014,0.567153984831,0.567075019434,0.566996048825,0.566917073004,0.566838091973,0.566759105731,0.56668011428,0.566601117619,0.566522115751,0.566443108675,0.566364096393,0.566285078905,0.566206056212,0.566127028314,0.566047995212,0.565968956908,0.565889913401,0.565810864693,0.565731810784,0.565652751674,0.565573687366,0.565494617859,0.565415543154,0.565336463251,0.565257378153,0.565178287858,0.565099192369,0.565020091685,0.564940985808,0.564861874738,0.564782758476,0.564703637022,0.564624510378,0.564545378544,0.564466241521,0.564387099309,0.564307951909,0.564228799323,0.56414964155,0.564070478592,0.563991310449,0.563912137122,0.563832958611,0.563753774918,0.563674586043,0.563595391987,0.56351619275,0.563436988334,0.563357778739,0.563278563965,0.563199344014,0.563120118886,0.563040888582,0.562961653102,0.562882412448,0.56280316662,0.562723915619,0.562644659446,0.562565398101,0.562486131584,0.562406859898,0.562327583042,0.562248301017,0.562169013824,0.562089721464,0.562010423937,0.561931121245,0.561851813387,0.561772500365,0.561693182179,0.56161385883,0.561534530319,0.561455196646,0.561375857813,0.561296513819,0.561217164666,0.561137810355,0.561058450886,0.560979086259,0.560899716477,0.560820341538,0.560740961445,0.560661576197,0.560582185796,0.560502790242,0.560423389537,0.56034398368,0.560264572672,0.560185156514,0.560105735208,0.560026308753,0.55994687715,0.559867440401,0.559787998505,0.559708551464,0.559629099278,0.559549641948,0.559470179475,0.559390711859,0.559311239102,0.559231761203,0.559152278164,0.559072789986,0.558993296668,0.558913798213,0.55883429462,0.55875478589,0.558675272025,0.558595753024,0.558516228889,0.55843669962,0.558357165218,0.558277625683,0.558198081017,0.558118531221,0.558038976294,0.557959416237,0.557879851053,0.55780028074,0.5577207053,0.557641124733,0.557561539041,0.557481948224,0.557402352283,0.557322751218,0.55724314503,0.55716353372,0.557083917289,0.557004295737,0.556924669066,0.556845037275,0.556765400366,0.556685758339,0.556606111196,0.556526458936,0.55644680156,0.55636713907,0.556287471466,0.556207798749,0.556128120919,0.556048437977,0.555968749924,0.555889056761,0.555809358488,0.555729655107,0.555649946617,0.55557023302,0.555490514316,0.555410790506,0.555331061591,0.555251327571,0.555171588448,0.555091844222,0.555012094893,0.554932340463,0.554852580932,0.554772816301,0.55469304657,0.554613271741,0.554533491814,0.55445370679,0.55437391667,0.554294121454,0.554214321142,0.554134515737,0.554054705238,0.553974889647,0.553895068963,0.553815243188,0.553735412323,0.553655576367,0.553575735323,0.55349588919,0.55341603797,0.553336181663,0.55325632027,0.553176453791,0.553096582227,0.55301670558,0.552936823849,0.552856937036,0.552777045142,0.552697148166,0.55261724611,0.552537338974,0.55245742676,0.552377509467,0.552297587097,0.552217659651,0.552137727129,0.552057789531,0.551977846859,0.551897899114,0.551817946295,0.551737988405,0.551658025443,0.55157805741,0.551498084307,0.551418106135,0.551338122894,0.551258134586,0.551178141211,0.551098142769,0.551018139262,0.55093813069,0.550858117053,0.550778098354,0.550698074592,0.550618045768,0.550538011882,0.550457972937,0.550377928931,0.550297879867,0.550217825744,0.550137766564,0.550057702327,0.549977633035,0.549897558687,0.549817479284,0.549737394827,0.549657305318,0.549577210756,0.549497111143,0.549417006478,0.549336896764,0.549256782,0.549176662188,0.549096537327,0.54901640742,0.548936272466,0.548856132466,0.548775987421,0.548695837333,0.5486156822,0.548535522025,0.548455356808,0.548375186549,0.54829501125,0.548214830912,0.548134645534,0.548054455118,0.547974259664,0.547894059173,0.547813853646,0.547733643084,0.547653427487,0.547573206857,0.547492981193,0.547412750496,0.547332514768,0.547252274009,0.54717202822,0.547091777401,0.547011521554,0.546931260678,0.546850994775,0.546770723846,0.546690447891,0.546610166911,0.546529880906,0.546449589878,0.546369293827,0.546288992754,0.54620868666,0.546128375545,0.54604805941,0.545967738256,0.545887412083,0.545807080893,0.545726744686,0.545646403463,0.545566057224,0.54548570597,0.545405349703,0.545324988422,0.545244622129,0.545164250824,0.545083874508,0.545003493181,0.544923106845,0.544842715501,0.544762319148,0.544681917788,0.544601511421,0.544521100048,0.544440683671,0.544360262288,0.544279835903,0.544199404514,0.544118968123,0.544038526731,0.543958080338,0.543877628945,0.543797172553,0.543716711162,0.543636244774,0.543555773389,0.543475297007,0.54339481563,0.543314329258,0.543233837893,0.543153341534,0.543072840182,0.542992333838,0.542911822504,0.542831306179,0.542750784865,0.542670258561,0.54258972727,0.542509190991,0.542428649726,0.542348103474,0.542267552238,0.542186996017,0.542106434812,0.542025868625,0.541945297455,0.541864721304,0.541784140172,0.541703554061,0.54162296297,0.5415423669,0.541461765853,0.541381159829,0.541300548828,0.541219932853,0.541139311902,0.541058685977,0.540978055079,0.540897419208,0.540816778366,0.540736132552,0.540655481768,0.540574826015,0.540494165293,0.540413499602,0.540332828945,0.54025215332,0.54017147273,0.540090787174,0.540010096655,0.539929401171,0.539848700725,0.539767995316,0.539687284946,0.539606569616,0.539525849325,0.539445124075,0.539364393867,0.539283658701,0.539202918578,0.539122173499,0.539041423464,0.538960668474,0.538879908531,0.538799143634,0.538718373785,0.538637598984,0.538556819232,0.538476034529,0.538395244877,0.538314450277,0.538233650728,0.538152846232,0.538072036789,0.5379912224,0.537910403067,0.537829578789,0.537748749567,0.537667915402,0.537587076296,0.537506232248,0.537425383259,0.53734452933,0.537263670463,0.537182806656,0.537101937913,0.537021064232,0.536940185615,0.536859302062,0.536778413575,0.536697520154,0.5366166218,0.536535718513,0.536454810295,0.536373897146,0.536292979066,0.536212056057,0.536131128119,0.536050195253,0.53596925746,0.53588831474,0.535807367095,0.535726414524,0.53564545703,0.535564494611,0.53548352727,0.535402555007,0.535321577823,0.535240595718,0.535159608693,0.535078616749,0.534997619887,0.534916618107,0.534835611411,0.534754599798,0.53467358327,0.534592561827,0.534511535471,0.534430504201,0.534349468019,0.534268426926,0.534187380921,0.534106330006,0.534025274182,0.53394421345,0.533863147809,0.533782077261,0.533701001807,0.533619921447,0.533538836183,0.533457746014,0.533376650941,0.533295550966,0.533214446089,0.533133336311,0.533052221633,0.532971102054,0.532889977577,0.532808848202,0.532727713929,0.532646574759,0.532565430693,0.532484281733,0.532403127877,0.532321969128,0.532240805486,0.532159636952,0.532078463526,0.531997285209,0.531916102003,0.531834913907,0.531753720923,0.531672523051,0.531591320292,0.531510112646,0.531428900115,0.5313476827,0.5312664604,0.531185233217,0.531104001151,0.531022764204,0.530941522376,0.530860275667,0.530779024079,0.530697767612,0.530616506266,0.530535240044,0.530453968945,0.53037269297,0.53029141212,0.530210126396,0.530128835798,0.530047540328,0.529966239985,0.529884934771,0.529803624686,0.529722309732,0.529640989908,0.529559665216,0.529478335657,0.52939700123,0.529315661938,0.52923431778,0.529152968758,0.529071614872,0.528990256122,0.52890889251,0.528827524037,0.528746150703,0.528664772508,0.528583389455,0.528502001542,0.528420608772,0.528339211145,0.528257808661,0.528176401321,0.528094989127,0.528013572079,0.527932150177,0.527850723423,0.527769291816,0.527687855359,0.527606414051,0.527524967893,0.527443516887,0.527362061032,0.52728060033,0.527199134782,0.527117664387,0.527036189148,0.526954709064,0.526873224136,0.526791734365,0.526710239753,0.526628740298,0.526547236004,0.526465726869,0.526384212895,0.526302694083,0.526221170433,0.526139641946,0.526058108623,0.525976570464,0.525895027471,0.525813479644,0.525731926984,0.525650369491,0.525568807167,0.525487240012,0.525405668026,0.525324091212,0.525242509568,0.525160923097,0.525079331798,0.524997735673,0.524916134723,0.524834528947,0.524752918347,0.524671302924,0.524589682678,0.524508057611,0.524426427722,0.524344793013,0.524263153484,0.524181509136,0.52409985997,0.524018205986,0.523936547186,0.52385488357,0.523773215139,0.523691541893,0.523609863834,0.523528180962,0.523446493278,0.523364800782,0.523283103476,0.523201401359,0.523119694434,0.5230379827,0.522956266159,0.52287454481,0.522792818656,0.522711087696,0.522629351931,0.522547611363,0.522465865991,0.522384115817,0.522302360841,0.522220601065,0.522138836488,0.522057067112,0.521975292937,0.521893513965,0.521811730195,0.521729941629,0.521648148267,0.52156635011,0.521484547159,0.521402739415,0.521320926879,0.52123910955,0.52115728743,0.52107546052,0.52099362882,0.520911792332,0.520829951055,0.520748104991,0.52066625414,0.520584398504,0.520502538082,0.520420672876,0.520338802887,0.520256928114,0.52017504856,0.520093164224,0.520011275108,0.519929381211,0.519847482536,0.519765579082,0.519683670851,0.519601757843,0.519519840059,0.5194379175,0.519355990166,0.519274058058,0.519192121177,0.519110179524,0.519028233099,0.518946281904,0.518864325938,0.518782365203,0.5187003997,0.518618429429,0.518536454391,0.518454474586,0.518372490016,0.518290500681,0.518208506583,0.518126507721,0.518044504096,0.51796249571,0.517880482562,0.517798464655,0.517716441988,0.517634414562,0.517552382378,0.517470345437,0.51738830374,0.517306257287,0.517224206079,0.517142150116,0.5170600894,0.516978023932,0.516895953711,0.51681387874,0.516731799018,0.516649714546,0.516567625325,0.516485531356,0.51640343264,0.516321329177,0.516239220968,0.516157108014,0.516074990315,0.515992867873,0.515910740688,0.515828608761,0.515746472092,0.515664330683,0.515582184534,0.515500033646,0.515417878019,0.515335717655,0.515253552554,0.515171382717,0.515089208145,0.515007028838,0.514924844797,0.514842656023,0.514760462517,0.514678264279,0.51459606131,0.514513853611,0.514431641183,0.514349424027,0.514267202142,0.514184975531,0.514102744193,0.51402050813,0.513938267342,0.51385602183,0.513773771595,0.513691516637,0.513609256958,0.513526992557,0.513444723437,0.513362449596,0.513280171038,0.513197887761,0.513115599767,0.513033307056,0.51295100963,0.512868707489,0.512786400634,0.512704089065,0.512621772783,0.51253945179,0.512457126086,0.512374795671,0.512292460546,0.512210120713,0.512127776172,0.512045426923,0.511963072967,0.511880714306,0.511798350939,0.511715982869,0.511633610094,0.511551232617,0.511468850438,0.511386463557,0.511304071976,0.511221675695,0.511139274715,0.511056869037,0.510974458661,0.510892043589,0.51080962382,0.510727199357,0.510644770198,0.510562336346,0.510479897801,0.510397454564,0.510315006635,0.510232554016,0.510150096707,0.510067634708,0.509985168021,0.509902696647,0.509820220585,0.509737739837,0.509655254404,0.509572764287,0.509490269485,0.50940777,0.509325265833,0.509242756984,0.509160243455,0.509077725245,0.508995202356,0.508912674789,0.508830142543,0.508747605621,0.508665064022,0.508582517748,0.508499966799,0.508417411175,0.508334850879,0.50825228591,0.50816971627,0.508087141958,0.508004562976,0.507921979325,0.507839391005,0.507756798017,0.507674200362,0.50759159804,0.507508991053,0.507426379401,0.507343763084,0.507261142105,0.507178516462,0.507095886158,0.507013251193,0.506930611567,0.506847967282,0.506765318338,0.506682664736,0.506600006476,0.50651734356,0.506434675988,0.506352003761,0.50626932688,0.506186645345,0.506103959158,0.506021268318,0.505938572827,0.505855872686,0.505773167895,0.505690458455,0.505607744367,0.505525025632,0.50544230225,0.505359574222,0.505276841548,0.505194104231,0.505111362269,0.505028615665,0.504945864419,0.504863108531,0.504780348003,0.504697582835,0.504614813028,0.504532038582,0.504449259499,0.50436647578,0.504283687424,0.504200894433,0.504118096807,0.504035294548,0.503952487655,0.503869676131,0.503786859975,0.503704039188,0.503621213772,0.503538383726,0.503455549051,0.50337270975,0.503289865821,0.503207017266,0.503124164086,0.503041306281,0.502958443852,0.5028755768,0.502792705126,0.50270982883,0.502626947914,0.502544062377,0.502461172221,0.502378277447,0.502295378055,0.502212474046,0.50212956542,0.50204665218,0.501963734324,0.501880811855,0.501797884772,0.501714953077,0.50163201677,0.501549075853,0.501466130325,0.501383180188,0.501300225442,0.501217266089,0.501134302128,0.501051333561,0.500968360389,0.500885382611,0.50080240023,0.500719413245,0.500636421658,0.500553425469,0.50047042468,0.50038741929,0.5003044093,0.500221394712,0.500138375526,0.500055351742,0.499972323363,0.499889290387,0.499806252817,0.499723210653,0.499640163895,0.499557112545,0.499474056603,0.49939099607,0.499307930946,0.499224861234,0.499141786932,0.499058708042,0.498975624565,0.498892536502,0.498809443853,0.498726346619,0.4986432448,0.498560138399,0.498477027414,0.498393911848,0.498310791701,0.498227666973,0.498144537665,0.498061403779,0.497978265315,0.497895122273,0.497811974655,0.497728822461,0.497645665692,0.497562504349,0.497479338433,0.497396167943,0.497312992882,0.497229813249,0.497146629046,0.497063440274,0.496980246932,0.496897049023,0.496813846546,0.496730639502,0.496647427893,0.496564211718,0.496480990979,0.496397765677,0.496314535811,0.496231301384,0.496148062396,0.496064818847,0.495981570738,0.495898318071,0.495815060845,0.495731799061,0.495648532722,0.495565261826,0.495481986375,0.49539870637,0.495315421811,0.495232132699,0.495148839035,0.49506554082,0.494982238054,0.494898930739,0.494815618875,0.494732302462,0.494648981502,0.494565655995,0.494482325942,0.494398991344,0.494315652202,0.494232308516,0.494148960287,0.494065607516,0.493982250204,0.493898888351,0.493815521958,0.493732151026,0.493648775556,0.493565395549,0.493482011004,0.493398621924,0.493315228309,0.493231830159,0.493148427475,0.493065020259,0.49298160851,0.49289819223,0.492814771419,0.492731346079,0.492647916209,0.492564481811,0.492481042886,0.492397599433,0.492314151455,0.492230698951,0.492147241923,0.492063780372,0.491980314297,0.4918968437,0.491813368582,0.491729888943,0.491646404784,0.491562916107,0.49147942291,0.491395925197,0.491312422966,0.491228916219,0.491145404957,0.491061889181,0.490978368891,0.490894844088,0.490811314773,0.490727780946,0.490644242608,0.490560699761,0.490477152405,0.49039360054,0.490310044167,0.490226483288,0.490142917903,0.490059348012,0.489975773617,0.489892194719,0.489808611317,0.489725023413,0.489641431007,0.489557834101,0.489474232695,0.48939062679,0.489307016386,0.489223401485,0.489139782087,0.489056158193,0.488972529804,0.48888889692,0.488805259542,0.488721617671,0.488637971309,0.488554320454,0.488470665109,0.488387005274,0.48830334095,0.488219672138,0.488135998838,0.488052321051,0.487968638778,0.487884952019,0.487801260776,0.48771756505,0.48763386484,0.487550160148,0.487466450975,0.487382737321,0.487299019187,0.487215296574,0.487131569483,0.487047837914,0.486964101868,0.486880361346,0.486796616349,0.486712866877,0.486629112932,0.486545354513,0.486461591622,0.48637782426,0.486294052427,0.486210276124,0.486126495353,0.486042710112,0.485958920404,0.48587512623,0.485791327589,0.485707524483,0.485623716912,0.485539904878,0.485456088381,0.485372267421,0.485288442,0.485204612119,0.485120777777,0.485036938976,0.484953095717,0.484869248001,0.484785395827,0.484701539198,0.484617678113,0.484533812574,0.484449942581,0.484366068135,0.484282189237,0.484198305888,0.484114418087,0.484030525837,0.483946629138,0.483862727991,0.483778822396,0.483694912354,0.483610997866,0.483527078933,0.483443155555,0.483359227734,0.48327529547,0.483191358763,0.483107417616,0.483023472027,0.482939521999,0.482855567532,0.482771608626,0.482687645283,0.482603677503,0.482519705287,0.482435728636,0.482351747551,0.482267762031,0.482183772079,0.482099777695,0.482015778879,0.481931775633,0.481847767957,0.481763755852,0.481679739319,0.481595718358,0.48151169297,0.481427663157,0.481343628918,0.481259590255,0.481175547168,0.481091499659,0.481007447727,0.480923391374,0.4808393306,0.480755265407,0.480671195795,0.480587121764,0.480503043316,0.480418960451,0.480334873171,0.480250781475,0.480166685365,0.480082584841,0.479998479905,0.479914370556,0.479830256797,0.479746138626,0.479662016046,0.479577889057,0.47949375766,0.479409621856,0.479325481644,0.479241337027,0.479157188005,0.479073034579,0.478988876749,0.478904714516,0.478820547881,0.478736376845,0.478652201409,0.478568021573,0.478483837338,0.478399648705,0.478315455675,0.478231258248,0.478147056425,0.478062850207,0.477978639595,0.477894424589,0.477810205191,0.477725981401,0.47764175322,0.477557520648,0.477473283687,0.477389042337,0.477304796598,0.477220546473,0.477136291961,0.477052033063,0.47696776978,0.476883502114,0.476799230063,0.47671495363,0.476630672816,0.47654638762,0.476462098044,0.476377804088,0.476293505753,0.476209203041,0.476124895951,0.476040584485,0.475956268643,0.475871948427,0.475787623836,0.475703294872,0.475618961535,0.475534623827,0.475450281747,0.475365935297,0.475281584478,0.47519722929,0.475112869735,0.475028505812,0.474944137522,0.474859764868,0.474775387848,0.474691006464,0.474606620717,0.474522230608,0.474437836137,0.474353437305,0.474269034112,0.474184626561,0.474100214651,0.474015798383,0.473931377757,0.473846952776,0.473762523439,0.473678089748,0.473593651702,0.473509209303,0.473424762552,0.47334031145,0.473255855996,0.473171396192,0.473086932039,0.473002463538,0.472917990689,0.472833513493,0.47274903195,0.472664546063,0.47258005583,0.472495561254,0.472411062335,0.472326559073,0.47224205147,0.472157539526,0.472073023242,0.471988502619,0.471903977658,0.471819448359,0.471734914723,0.471650376751,0.471565834443,0.471481287802,0.471396736826,0.471312181517,0.471227621877,0.471143057904,0.471058489601,0.470973916969,0.470889340007,0.470804758717,0.470720173099,0.470635583155,0.470550988884,0.470466390289,0.470381787369,0.470297180125,0.470212568558,0.47012795267,0.47004333246,0.469958707929,0.469874079079,0.46978944591,0.469704808422,0.469620166617,0.469535520496,0.469450870058,0.469366215306,0.469281556239,0.469196892859,0.469112225165,0.46902755316,0.468942876844,0.468858196217,0.468773511281,0.468688822036,0.468604128483,0.468519430622,0.468434728455,0.468350021982,0.468265311204,0.468180596122,0.468095876736,0.468011153048,0.467926425058,0.467841692767,0.467756956176,0.467672215285,0.467587470095,0.467502720608,0.467417966823,0.467333208742,0.467248446365,0.467163679694,0.467078908728,0.466994133469,0.466909353917,0.466824570074,0.46673978194,0.466654989516,0.466570192802,0.466485391799,0.466400586509,0.466315776932,0.466230963068,0.466146144919,0.466061322486,0.465976495768,0.465891664767,0.465806829484,0.465721989919,0.465637146073,0.465552297948,0.465467445543,0.46538258886,0.465297727898,0.46521286266,0.465127993146,0.465043119357,0.464958241293,0.464873358955,0.464788472344,0.464703581461,0.464618686306,0.464533786881,0.464448883186,0.464363975222,0.464279062989,0.464194146489,0.464109225722,0.464024300689,0.463939371391,0.463854437828,0.463769500002,0.463684557913,0.463599611562,0.463514660949,0.463429706076,0.463344746944,0.463259783552,0.463174815902,0.463089843995,0.463004867831,0.462919887411,0.462834902736,0.462749913807,0.462664920624,0.462579923189,0.462494921502,0.462409915563,0.462324905375,0.462239890936,0.462154872249,0.462069849314,0.461984822131,0.461899790702,0.461814755028,0.461729715108,0.461644670945,0.461559622538,0.461474569888,0.461389512997,0.461304451865,0.461219386492,0.46113431688,0.46104924303,0.460964164941,0.460879082616,0.460793996054,0.460708905256,0.460623810224,0.460538710958,0.460453607459,0.460368499727,0.460283387764,0.46019827157,0.460113151146,0.460028026493,0.459942897611,0.459857764501,0.459772627165,0.459687485602,0.459602339814,0.459517189802,0.459432035566,0.459346877106,0.459261714425,0.459176547522,0.459091376398,0.459006201055,0.458921021492,0.458835837712,0.458750649713,0.458665457498,0.458580261067,0.458495060421,0.45840985556,0.458324646486,0.458239433199,0.4581542157,0.45806899399,0.457983768069,0.457898537938,0.457813303599,0.457728065051,0.457642822297,0.457557575335,0.457472324168,0.457387068796,0.457301809219,0.45721654544,0.457131277457,0.457046005273,0.456960728888,0.456875448302,0.456790163517,0.456704874533,0.456619581351,0.456534283972,0.456448982397,0.456363676626,0.45627836666,0.456193052501,0.456107734148,0.456022411602,0.455937084865,0.455851753937,0.455766418819,0.455681079512,0.455595736016,0.455510388333,0.455425036462,0.455339680406,0.455254320163,0.455168955737,0.455083587126,0.454998214333,0.454912837357,0.4548274562,0.454742070862,0.454656681344,0.454571287647,0.454485889772,0.454400487719,0.45431508149,0.454229671084,0.454144256504,0.454058837749,0.45397341482,0.453887987718,0.453802556445,0.453717121,0.453631681385,0.4535462376,0.453460789646,0.453375337524,0.453289881235,0.453204420779,0.453118956157,0.453033487371,0.45294801442,0.452862537306,0.452777056029,0.452691570591,0.452606080991,0.452520587231,0.452435089312,0.452349587234,0.452264080998,0.452178570605,0.452093056055,0.45200753735,0.451922014491,0.451836487477,0.45175095631,0.451665420991,0.45157988152,0.451494337898,0.451408790127,0.451323238206,0.451237682136,0.451152121919,0.451066557555,0.450980989045,0.45089541639,0.45080983959,0.450724258646,0.450638673559,0.45055308433,0.45046749096,0.450381893449,0.450296291799,0.450210686009,0.450125076081,0.450039462016,0.449953843814,0.449868221476,0.449782595003,0.449696964395,0.449611329655,0.449525690781,0.449440047776,0.449354400639,0.449268749372,0.449183093975,0.44909743445,0.449011770796,0.448926103016,0.448840431109,0.448754755076,0.448669074918,0.448583390637,0.448497702232,0.448412009704,0.448326313055,0.448240612285,0.448154907395,0.448069198386,0.447983485257,0.447897768012,0.447812046649,0.44772632117,0.447640591575,0.447554857866,0.447469120043,0.447383378108,0.447297632059,0.4472118819,0.447126127629,0.447040369249,0.44695460676,0.446868840162,0.446783069457,0.446697294645,0.446611515728,0.446525732705,0.446439945577,0.446354154346,0.446268359013,0.446182559577,0.44609675604,0.446010948403,0.445925136666,0.44583932083,0.445753500896,0.445667676865,0.445581848737,0.445496016514,0.445410180196,0.445324339783,0.445238495278,0.44515264668,0.44506679399,0.444980937209,0.444895076338,0.444809211377,0.444723342328,0.444637469191,0.444551591967,0.444465710657,0.444379825262,0.444293935782,0.444208042218,0.44412214457,0.444036242841,0.44395033703,0.443864427139,0.443778513167,0.443692595117,0.443606672988,0.443520746781,0.443434816498,0.443348882139,0.443262943705,0.443177001196,0.443091054614,0.443005103959,0.442919149232,0.442833190433,0.442747227565,0.442661260626,0.442575289619,0.442489314544,0.442403335401,0.442317352192,0.442231364918,0.442145373578,0.442059378174,0.441973378707,0.441887375178,0.441801367586,0.441715355934,0.441629340222,0.44154332045,0.44145729662,0.441371268732,0.441285236787,0.441199200785,0.441113160729,0.441027116617,0.440941068452,0.440855016234,0.440768959964,0.440682899642,0.440596835269,0.440510766847,0.440424694375,0.440338617856,0.440252537288,0.440166452675,0.440080364015,0.43999427131,0.43990817456,0.439822073767,0.439735968932,0.439649860054,0.439563747135,0.439477630176,0.439391509178,0.43930538414,0.439219255065,0.439133121952,0.439046984803,0.438960843618,0.438874698398,0.438788549145,0.438702395858,0.438616238539,0.438530077188,0.438443911806,0.438357742394,0.438271568952,0.438185391483,0.438099209985,0.438013024461,0.43792683491,0.437840641334,0.437754443734,0.43766824211,0.437582036463,0.437495826794,0.437409613103,0.437323395392,0.437237173661,0.437150947911,0.437064718143,0.436978484357,0.436892246555,0.436806004737,0.436719758904,0.436633509057,0.436547255196,0.436460997323,0.436374735438,0.436288469542,0.436202199635,0.436115925719,0.436029647794,0.435943365862,0.435857079922,0.435770789976,0.435684496025,0.435598198069,0.435511896108,0.435425590145,0.43533928018,0.435252966213,0.435166648245,0.435080326277,0.43499400031,0.434907670344,0.434821336381,0.434734998422,0.434648656466,0.434562310515,0.43447596057,0.434389606631,0.434303248699,0.434216886775,0.43413052086,0.434044150955,0.43395777706,0.433871399176,0.433785017304,0.433698631444,0.433612241599,0.433525847767,0.433439449951,0.433353048151,0.433266642367,0.433180232601,0.433093818853,0.433007401124,0.432920979416,0.432834553727,0.432748124061,0.432661690416,0.432575252795,0.432488811198,0.432402365625,0.432315916077,0.432229462556,0.432143005062,0.432056543596,0.431970078158,0.43188360875,0.431797135372,0.431710658025,0.43162417671,0.431537691427,0.431451202178,0.431364708963,0.431278211783,0.431191710639,0.431105205531,0.431018696461,0.430932183429,0.430845666436,0.430759145483,0.43067262057,0.430586091698,0.430499558869,0.430413022083,0.43032648134,0.430239936642,0.430153387989,0.430066835383,0.429980278823,0.429893718311,0.429807153847,0.429720585433,0.429634013069,0.429547436756,0.429460856494,0.429374272285,0.42928768413,0.429201092028,0.429114495981,0.42902789599,0.428941292055,0.428854684178,0.428768072359,0.428681456598,0.428594836897,0.428508213257,0.428421585678,0.428334954161,0.428248318707,0.428161679316,0.42807503599,0.427988388729,0.427901737534,0.427815082406,0.427728423345,0.427641760353,0.42755509343,0.427468422577,0.427381747795,0.427295069085,0.427208386447,0.427121699882,0.427035009391,0.426948314975,0.426861616634,0.42677491437,0.426688208183,0.426601498074,0.426514784044,0.426428066093,0.426341344223,0.426254618434,0.426167888727,0.426081155102,0.425994417562,0.425907676105,0.425820930734,0.425734181448,0.42564742825,0.425560671138,0.425473910116,0.425387145182,0.425300376338,0.425213603585,0.425126826924,0.425040046355,0.424953261879,0.424866473496,0.424779681209,0.424692885017,0.424606084922,0.424519280923,0.424432473023,0.424345661221,0.424258845519,0.424172025917,0.424085202416,0.423998375017,0.42391154372,0.423824708528,0.423737869439,0.423651026456,0.423564179578,0.423477328807,0.423390474144,0.423303615589,0.423216753143,0.423129886807,0.423043016581,0.422956142467,0.422869264466,0.422782382577,0.422695496802,0.422608607142,0.422521713598,0.422434816169,0.422347914858,0.422261009665,0.42217410059,0.422087187635,0.4220002708,0.421913350086,0.421826425494,0.421739497024,0.421652564679,0.421565628457,0.42147868836,0.42139174439,0.421304796545,0.421217844829,0.42113088924,0.421043929781,0.420956966452,0.420869999253,0.420783028186,0.42069605325,0.420609074448,0.42052209178,0.420435105247,0.420348114849,0.420261120587,0.420174122462,0.420087120475,0.420000114627,0.419913104918,0.419826091349,0.419739073922,0.419652052636,0.419565027493,0.419477998493,0.419390965638,0.419303928928,0.419216888363,0.419129843945,0.419042795675,0.418955743553,0.41886868758,0.418781627757,0.418694564084,0.418607496563,0.418520425194,0.418433349978,0.418346270916,0.418259188009,0.418172101257,0.418085010662,0.417997916223,0.417910817942,0.41782371582,0.417736609858,0.417649500055,0.417562386414,0.417475268935,0.417388147618,0.417301022464,0.417213893475,0.417126760651,0.417039623993,0.416952483502,0.416865339178,0.416778191022,0.416691039035,0.416603883218,0.416516723572,0.416429560098,0.416342392795,0.416255221666,0.41616804671,0.41608086793,0.415993685324,0.415906498895,0.415819308643,0.415732114569,0.415644916674,0.415557714958,0.415470509422,0.415383300068,0.415296086895,0.415208869905,0.415121649098,0.415034424476,0.414947196039,0.414859963788,0.414772727723,0.414685487846,0.414598244157,0.414510996658,0.414423745348,0.414336490229,0.414249231301,0.414161968566,0.414074702024,0.413987431676,0.413900157523,0.413812879565,0.413725597803,0.413638312238,0.413551022872,0.413463729704,0.413376432736,0.413289131968,0.413201827401,0.413114519036,0.413027206874,0.412939890915,0.412852571161,0.412765247612,0.412677920268,0.412590589132,0.412503254203,0.412415915483,0.412328572971,0.41224122667,0.412153876579,0.4120665227,0.411979165034,0.41189180358,0.41180443834,0.411717069316,0.411629696507,0.411542319914,0.411454939538,0.411367555381,0.411280167442,0.411192775723,0.411105380224,0.411017980946,0.410930577891,0.410843171058,0.410755760449,0.410668346064,0.410580927905,0.410493505971,0.410406080264,0.410318650785,0.410231217535,0.410143780514,0.410056339722,0.409968895162,0.409881446833,0.409793994737,0.409706538874,0.409619079245,0.409531615851,0.409444148692,0.40935667777,0.409269203086,0.409181724639,0.409094242431,0.409006756463,0.408919266736,0.40883177325,0.408744276005,0.408656775004,0.408569270247,0.408481761734,0.408394249466,0.408306733445,0.40821921367,0.408131690143,0.408044162865,0.407956631836,0.407869097057,0.407781558529,0.407694016253,0.40760647023,0.40751892046,0.407431366944,0.407343809683,0.407256248677,0.407168683929,0.407081115438,0.406993543204,0.40690596723,0.406818387516,0.406730804063,0.40664321687,0.40655562594,0.406468031273,0.40638043287,0.406292830732,0.406205224859,0.406117615252,0.406030001912,0.40594238484,0.405854764037,0.405767139503,0.40567951124,0.405591879248,0.405504243527,0.405416604079,0.405328960905,0.405241314005,0.40515366338,0.405066009031,0.404978350959,0.404890689164,0.404803023648,0.40471535441,0.404627681453,0.404540004777,0.404452324382,0.404364640269,0.404276952439,0.404189260894,0.404101565633,0.404013866658,0.403926163969,0.403838457568,0.403750747454,0.403663033629,0.403575316094,0.403487594849,0.403399869896,0.403312141235,0.403224408866,0.403136672791,0.40304893301,0.402961189525,0.402873442336,0.402785691444,0.402697936849,0.402610178553,0.402522416556,0.402434650859,0.402346881464,0.402259108369,0.402171331578,0.40208355109,0.401995766905,0.401907979026,0.401820187453,0.401732392186,0.401644593226,0.401556790575,0.401468984233,0.4013811742,0.401293360478,0.401205543067,0.401117721969,0.401029897184,0.400942068712,0.400854236555,0.400766400714,0.400678561188,0.40059071798,0.40050287109,0.400415020518,0.400327166266,0.400239308334,0.400151446723,0.400063581434,0.399975712468,0.399887839825,0.399799963506,0.399712083513,0.399624199846,0.399536312505,0.399448421492,0.399360526807,0.399272628452,0.399184726426,0.399096820731,0.399008911368,0.398920998337,0.398833081639,0.398745161276,0.398657237247,0.398569309554,0.398481378197,0.398393443177,0.398305504496,0.398217562153,0.39812961615,0.398041666488,0.397953713167,0.397865756188,0.397777795552,0.397689831259,0.397601863311,0.397513891709,0.397425916452,0.397337937543,0.397249954981,0.397161968768,0.397073978904,0.39698598539,0.396897988228,0.396809987417,0.396721982958,0.396633974854,0.396545963103,0.396457947707,0.396369928668,0.396281905985,0.396193879659,0.396105849692,0.396017816083,0.395929778835,0.395841737947,0.395753693421,0.395665645257,0.395577593457,0.39548953802,0.395401478948,0.395313416241,0.395225349901,0.395137279928,0.395049206323,0.394961129087,0.394873048221,0.394784963724,0.394696875599,0.394608783847,0.394520688466,0.39443258946,0.394344486828,0.394256380571,0.394168270691,0.394080157187,0.393992040061,0.393903919314,0.393815794945,0.393727666957,0.39363953535,0.393551400125,0.393463261282,0.393375118823,0.393286972747,0.393198823057,0.393110669753,0.393022512835,0.392934352304,0.392846188162,0.392758020409,0.392669849046,0.392581674073,0.392493495492,0.392405313303,0.392317127507,0.392228938105,0.392140745098,0.392052548486,0.391964348271,0.391876144453,0.391787937033,0.391699726011,0.391611511389,0.391523293168,0.391435071348,0.391346845929,0.391258616914,0.391170384302,0.391082148095,0.390993908293,0.390905664897,0.390817417908,0.390729167326,0.390640913153,0.39055265539,0.390464394036,0.390376129094,0.390287860563,0.390199588444,0.39011131274,0.390023033449,0.389934750573,0.389846464113,0.38975817407,0.389669880444,0.389581583236,0.389493282448,0.389404978079,0.389316670131,0.389228358604,0.3891400435,0.389051724819,0.388963402562,0.388875076729,0.388786747322,0.388698414342,0.388610077788,0.388521737663,0.388433393966,0.388345046699,0.388256695862,0.388168341457,0.388079983483,0.387991621943,0.387903256836,0.387814888164,0.387726515926,0.387638140125,0.387549760761,0.387461377835,0.387372991347,0.387284601299,0.38719620769,0.387107810523,0.387019409797,0.386931005514,0.386842597675,0.38675418628,0.386665771329,0.386577352825,0.386488930767,0.386400505157,0.386312075995,0.386223643282,0.386135207019,0.386046767207,0.385958323846,0.385869876938,0.385781426482,0.385692972481,0.385604514935,0.385516053844,0.38542758921,0.385339121032,0.385250649313,0.385162174053,0.385073695252,0.384985212912,0.384896727034,0.384808237617,0.384719744663,0.384631248173,0.384542748148,0.384454244587,0.384365737494,0.384277226867,0.384188712707,0.384100195017,0.384011673796,0.383923149045,0.383834620765,0.383746088957,0.383657553622,0.38356901476,0.383480472373,0.383391926461,0.383303377024,0.383214824065,0.383126267583,0.383037707579,0.382949144055,0.382860577011,0.382772006447,0.382683432365,0.382594854766,0.382506273649,0.382417689017,0.38232910087,0.382240509209,0.382151914034,0.382063315346,0.381974713147,0.381886107436,0.381797498215,0.381708885485,0.381620269247,0.3815316495,0.381443026247,0.381354399487,0.381265769222,0.381177135453,0.38108849818,0.380999857404,0.380911213126,0.380822565346,0.380733914067,0.380645259287,0.380556601009,0.380467939233,0.380379273959,0.38029060519,0.380201932924,0.380113257164,0.38002457791,0.379935895163,0.379847208924,0.379758519193,0.379669825972,0.37958112926,0.37949242906,0.379403725372,0.379315018196,0.379226307533,0.379137593385,0.379048875752,0.378960154634,0.378871430034,0.37878270195,0.378693970385,0.37860523534,0.378516496814,0.378427754809,0.378339009325,0.378250260364,0.378161507926,0.378072752012,0.377983992623,0.37789522976,0.377806463423,0.377717693613,0.377628920332,0.377540143579,0.377451363356,0.377362579664,0.377273792503,0.377185001874,0.377096207778,0.377007410216,0.376918609189,0.376829804697,0.376740996741,0.376652185323,0.376563370442,0.3764745521,0.376385730298,0.376296905036,0.376208076315,0.376119244136,0.3760304085,0.375941569407,0.375852726859,0.375763880856,0.375675031399,0.375586178489,0.375497322127,0.375408462313,0.375319599049,0.375230732334,0.375141862171,0.37505298856,0.374964111501,0.374875230995,0.374786347044,0.374697459647,0.374608568807,0.374519674523,0.374430776797,0.374341875629,0.37425297102,0.374164062971,0.374075151483,0.373986236557,0.373897318193,0.373808396392,0.373719471155,0.373630542483,0.373541610377,0.373452674837,0.373363735864,0.37327479346,0.373185847624,0.373096898359,0.373007945663,0.37291898954,0.372830029988,0.37274106701,0.372652100605,0.372563130775,0.37247415752,0.372385180842,0.372296200741,0.372207217218,0.372118230273,0.372029239908,0.371940246124,0.37185124892,0.371762248299,0.371673244261,0.371584236806,0.371495225936,0.371406211651,0.371317193952,0.37122817284,0.371139148316,0.37105012038,0.370961089034,0.370872054278,0.370783016113,0.37069397454,0.370604929559,0.370515881172,0.370426829379,0.370337774182,0.37024871558,0.370159653575,0.370070588168,0.369981519359,0.369892447149,0.369803371539,0.36971429253,0.369625210123,0.369536124318,0.369447035117,0.36935794252,0.369268846527,0.369179747141,0.369090644361,0.369001538188,0.368912428624,0.368823315668,0.368734199323,0.368645079588,0.368555956464,0.368466829953,0.368377700055,0.368288566771,0.368199430102,0.368110290049,0.368021146612,0.367931999792,0.36784284959,0.367753696007,0.367664539043,0.3675753787,0.367486214979,0.367397047879,0.367307877403,0.36721870355,0.367129526322,0.36704034572,0.366951161743,0.366861974394,0.366772783673,0.36668358958,0.366594392117,0.366505191284,0.366415987082,0.366326779513,0.366237568576,0.366148354272,0.366059136604,0.36596991557,0.365880691173,0.365791463412,0.365702232289,0.365612997805,0.36552375996,0.365434518755,0.365345274191,0.365256026269,0.36516677499,0.365077520354,0.364988262363,0.364899001016,0.364809736316,0.364720468262,0.364631196856,0.364541922098,0.364452643989,0.364363362531,0.364274077723,0.364184789567,0.364095498064,0.364006203213,0.363916905017,0.363827603476,0.363738298591,0.363648990362,0.36355967879,0.363470363877,0.363381045623,0.363291724029,0.363202399096,0.363113070824,0.363023739214,0.362934404268,0.362845065985,0.362755724367,0.362666379415,0.36257703113,0.362487679511,0.362398324561,0.36230896628,0.362219604668,0.362130239727,0.362040871458,0.36195149986,0.361862124936,0.361772746685,0.361683365109,0.361593980209,0.361504591985,0.361415200438,0.361325805568,0.361236407378,0.361147005867,0.361057601037,0.360968192888,0.360878781421,0.360789366637,0.360699948537,0.360610527121,0.36052110239,0.360431674346,0.360342242988,0.360252808319,0.360163370338,0.360073929046,0.359984484445,0.359895036535,0.359805585317,0.359716130791,0.359626672959,0.359537211822,0.35944774738,0.359358279633,0.359268808584,0.359179334232,0.359089856579,0.359000375625,0.358910891371,0.358821403819,0.358731912968,0.358642418819,0.358552921374,0.358463420634,0.358373916598,0.358284409268,0.358194898645,0.35810538473,0.358015867523,0.357926347025,0.357836823237,0.35774729616,0.357657765795,0.357568232142,0.357478695203,0.357389154977,0.357299611467,0.357210064672,0.357120514594,0.357030961233,0.356941404591,0.356851844668,0.356762281464,0.356672714982,0.35658314522,0.356493572182,0.356403995866,0.356314416274,0.356224833408,0.356135247267,0.356045657852,0.355956065165,0.355866469205,0.355776869975,0.355687267475,0.355597661705,0.355508052666,0.35541844036,0.355328824787,0.355239205948,0.355149583843,0.355059958474,0.354970329842,0.354880697946,0.354791062789,0.35470142437,0.354611782691,0.354522137753,0.354432489556,0.354342838101,0.354253183389,0.35416352542,0.354073864197,0.353984199719,0.353894531987,0.353804861002,0.353715186765,0.353625509277,0.353535828538,0.353446144549,0.353356457312,0.353266766827,0.353177073095,0.353087376116,0.352997675892,0.352907972424,0.352818265711,0.352728555755,0.352638842557,0.352549126118,0.352459406438,0.352369683519,0.35227995736,0.352190227964,0.35210049533,0.35201075946,0.351921020354,0.351831278013,0.351741532439,0.351651783631,0.351562031591,0.35147227632,0.351382517818,0.351292756086,0.351202991125,0.351113222935,0.351023451519,0.350933676876,0.350843899007,0.350754117913,0.350664333596,0.350574546055,0.350484755292,0.350394961307,0.350305164101,0.350215363675,0.350125560031,0.350035753168,0.349945943087,0.34985612979,0.349766313277,0.349676493549,0.349586670607,0.349496844452,0.349407015084,0.349317182505,0.349227346714,0.349137507714,0.349047665505,0.348957820087,0.348867971461,0.348778119629,0.348688264591,0.348598406348,0.3485085449,0.348418680249,0.348328812396,0.348238941341,0.348149067085,0.348059189629,0.347969308973,0.347879425119,0.347789538067,0.347699647819,0.347609754375,0.347519857735,0.347429957901,0.347340054874,0.347250148654,0.347160239242,0.347070326639,0.346980410846,0.346890491863,0.346800569692,0.346710644334,0.346620715788,0.346530784056,0.346440849139,0.346350911038,0.346260969753,0.346171025285,0.346081077636,0.345991126805,0.345901172794,0.345811215604,0.345721255235,0.345631291688,0.345541324964,0.345451355064,0.345361381989,0.345271405739,0.345181426316,0.345091443719,0.345001457951,0.344911469012,0.344821476902,0.344731481622,0.344641483174,0.344551481559,0.344461476776,0.344371468826,0.344281457712,0.344191443433,0.34410142599,0.344011405384,0.343921381616,0.343831354687,0.343741324598,0.343651291349,0.343561254941,0.343471215375,0.343381172652,0.343291126773,0.343201077738,0.343111025549,0.343020970206,0.34293091171,0.342840850062,0.342750785262,0.342660717312,0.342570646212,0.342480571964,0.342390494567,0.342300414024,0.342210330333,0.342120243498,0.342030153518,0.341940060393,0.341849964126,0.341759864717,0.341669762166,0.341579656475,0.341489547644,0.341399435674,0.341309320566,0.34121920232,0.341129080939,0.341038956421,0.340948828769,0.340858697983,0.340768564064,0.340678427013,0.34058828683,0.340498143517,0.340407997074,0.340317847501,0.340227694801,0.340137538974,0.340047380019,0.33995721794,0.339867052735,0.339776884407,0.339686712955,0.339596538381,0.339506360686,0.33941617987,0.339325995934,0.339235808879,0.339145618705,0.339055425415,0.338965229008,0.338875029485,0.338784826848,0.338694621096,0.338604412231,0.338514200254,0.338423985165,0.338333766966,0.338243545656,0.338153321238,0.338063093711,0.337972863077,0.337882629336,0.33779239249,0.337702152538,0.337611909483,0.337521663324,0.337431414063,0.337341161701,0.337250906237,0.337160647674,0.337070386011,0.33698012125,0.336889853392,0.336799582437,0.336709308387,0.336619031241,0.336528751001,0.336438467668,0.336348181243,0.336257891726,0.336167599118,0.33607730342,0.335987004633,0.335896702757,0.335806397794,0.335716089745,0.335625778609,0.335535464389,0.335445147085,0.335354826697,0.335264503226,0.335174176674,0.335083847041,0.334993514328,0.334903178536,0.334812839666,0.334722497718,0.334632152693,0.334541804592,0.334451453417,0.334361099167,0.334270741844,0.334180381448,0.33409001798,0.333999651442,0.333909281834,0.333818909156,0.33372853341,0.333638154596,0.333547772716,0.33345738777,0.333366999759,0.333276608683,0.333186214544,0.333095817343,0.333005417079,0.332915013755,0.332824607371,0.332734197927,0.332643785426,0.332553369866,0.33246295125,0.332372529578,0.33228210485,0.332191677069,0.332101246234,0.332010812346,0.331920375407,0.331829935416,0.331739492376,0.331649046286,0.331558597148,0.331468144962,0.33137768973,0.331287231451,0.331196770128,0.33110630576,0.331015838349,0.330925367895,0.330834894399,0.330744417862,0.330653938285,0.330563455669,0.330472970014,0.330382481322,0.330291989593,0.330201494828,0.330110997028,0.330020496193,0.329929992325,0.329839485424,0.329748975492,0.329658462529,0.329567946535,0.329477427512,0.329386905461,0.329296380382,0.329205852276,0.329115321144,0.329024786987,0.328934249806,0.328843709601,0.328753166373,0.328662620124,0.328572070854,0.328481518563,0.328390963253,0.328300404925,0.328209843579,0.328119279216,0.328028711837,0.327938141443,0.327847568035,0.327756991613,0.327666412179,0.327575829733,0.327485244275,0.327394655808,0.327304064331,0.327213469845,0.327122872352,0.327032271853,0.326941668347,0.326851061836,0.32676045232,0.326669839801,0.32657922428,0.326488605756,0.326397984232,0.326307359707,0.326216732183,0.326126101661,0.32603546814,0.325944831623,0.32585419211,0.325763549602,0.325672904099,0.325582255603,0.325491604115,0.325400949634,0.325310292162,0.3252196317,0.325128968249,0.32503830181,0.324947632382,0.324856959968,0.324766284568,0.324675606182,0.324584924813,0.324494240459,0.324403553123,0.324312862805,0.324222169507,0.324131473228,0.324040773969,0.323950071732,0.323859366518,0.323768658326,0.323677947159,0.323587233016,0.3234965159,0.323405795809,0.323315072746,0.323224346711,0.323133617705,0.323042885729,0.322952150783,0.322861412869,0.322770671988,0.322679928139,0.322589181325,0.322498431545,0.322407678801,0.322316923094,0.322226164423,0.322135402791,0.322044638198,0.321953870645,0.321863100133,0.321772326662,0.321681550233,0.321590770847,0.321499988506,0.321409203209,0.321318414958,0.321227623754,0.321136829597,0.321046032488,0.320955232428,0.320864429418,0.320773623458,0.320682814551,0.320592002695,0.320501187893,0.320410370144,0.320319549451,0.320228725813,0.320137899232,0.320047069708,0.319956237242,0.319865401836,0.319774563489,0.319683722203,0.319592877978,0.319502030816,0.319411180717,0.319320327682,0.319229471712,0.319138612808,0.31904775097,0.318956886199,0.318866018497,0.318775147864,0.318684274301,0.318593397808,0.318502518387,0.318411636039,0.318320750763,0.318229862562,0.318138971436,0.318048077385,0.317957180411,0.317866280514,0.317775377696,0.317684471956,0.317593563297,0.317502651718,0.317411737221,0.317320819806,0.317229899475,0.317138976228,0.317048050065,0.316957120989,0.316866188998,0.316775254096,0.316684316281,0.316593375556,0.316502431921,0.316411485376,0.316320535923,0.316229583563,0.316138628296,0.316047670123,0.315956709045,0.315865745062,0.315774778176,0.315683808388,0.315592835698,0.315501860108,0.315410881617,0.315319900227,0.315228915938,0.315137928753,0.31504693867,0.314955945692,0.314864949818,0.314773951051,0.31468294939,0.314591944836,0.314500937391,0.314409927055,0.314318913829,0.314227897714,0.314136878711,0.31404585682,0.313954832043,0.31386380438,0.313772773831,0.313681740399,0.313590704083,0.313499664885,0.313408622805,0.313317577845,0.313226530004,0.313135479285,0.313044425687,0.312953369212,0.31286230986,0.312771247632,0.312680182529,0.312589114553,0.312498043703,0.31240696998,0.312315893386,0.312224813922,0.312133731587,0.312042646384,0.311951558312,0.311860467372,0.311769373567,0.311678276895,0.311587177359,0.311496074958,0.311404969695,0.311313861569,0.311222750581,0.311131636733,0.311040520025,0.310949400458,0.310858278032,0.31076715275,0.31067602461,0.310584893616,0.310493759766,0.310402623062,0.310311483506,0.310220341096,0.310129195836,0.310038047725,0.309946896764,0.309855742954,0.309764586295,0.30967342679,0.309582264438,0.309491099241,0.309399931198,0.309308760312,0.309217586583,0.309126410011,0.309035230598,0.308944048345,0.308852863252,0.308761675319,0.308670484549,0.308579290942,0.308488094498,0.308396895218,0.308305693104,0.308214488156,0.308123280375,0.308032069761,0.307940856317,0.307849640042,0.307758420937,0.307667199003,0.307575974241,0.307484746652,0.307393516237,0.307302282996,0.307211046931,0.307119808042,0.307028566329,0.306937321795,0.306846074439,0.306754824263,0.306663571267,0.306572315453,0.30648105682,0.306389795371,0.306298531105,0.306207264024,0.306115994128,0.306024721418,0.305933445896,0.305842167561,0.305750886415,0.305659602459,0.305568315693,0.305477026119,0.305385733736,0.305294438547,0.305203140551,0.30511183975,0.305020536145,0.304929229735,0.304837920523,0.304746608509,0.304655293694,0.304563976079,0.304472655663,0.30438133245,0.304290006438,0.30419867763,0.304107346025,0.304016011625,0.303924674431,0.303833334443,0.303741991662,0.30365064609,0.303559297726,0.303467946572,0.303376592629,0.303285235897,0.303193876377,0.30310251407,0.303011148978,0.3029197811,0.302828410438,0.302737036992,0.302645660763,0.302554281753,0.302462899962,0.30237151539,0.302280128039,0.30218873791,0.302097345003,0.302005949319,0.301914550859,0.301823149625,0.301731745615,0.301640338833,0.301548929277,0.30145751695,0.301366101852,0.301274683984,0.301183263347,0.301091839941,0.301000413768,0.300908984828,0.300817553122,0.300726118651,0.300634681416,0.300543241417,0.300451798656,0.300360353133,0.30026890485,0.300177453806,0.300086000003,0.299994543442,0.299903084124,0.299811622048,0.299720157217,0.299628689631,0.299537219291,0.299445746198,0.299354270352,0.299262791754,0.299171310406,0.299079826308,0.298988339461,0.298896849865,0.298805357523,0.298713862433,0.298622364598,0.298530864018,0.298439360694,0.298347854627,0.298256345817,0.298164834266,0.298073319974,0.297981802943,0.297890283172,0.297798760664,0.297707235418,0.297615707435,0.297524176717,0.297432643264,0.297341107077,0.297249568157,0.297158026505,0.297066482122,0.296974935008,0.296883385164,0.296791832591,0.29670027729,0.296608719262,0.296517158508,0.296425595028,0.296334028823,0.296242459895,0.296150888244,0.29605931387,0.295967736775,0.29587615696,0.295784574425,0.295692989171,0.295601401199,0.295509810511,0.295418217106,0.295326620985,0.29523502215,0.295143420601,0.295051816339,0.294960209366,0.294868599681,0.294776987285,0.294685372181,0.294593754367,0.294502133846,0.294410510617,0.294318884683,0.294227256043,0.294135624698,0.29404399065,0.2939523539,0.293860714447,0.293769072293,0.293677427439,0.293585779886,0.293494129634,0.293402476684,0.293310821037,0.293219162694,0.293127501656,0.293035837924,0.292944171498,0.29285250238,0.292760830569,0.292669156068,0.292577478876,0.292485798996,0.292394116426,0.292302431169,0.292210743226,0.292119052596,0.292027359281,0.291935663282,0.2918439646,0.291752263235,0.291660559188,0.291568852461,0.291477143053,0.291385430966,0.291293716201,0.291201998759,0.291110278639,0.291018555844,0.290926830374,0.29083510223,0.290743371412,0.290651637922,0.290559901761,0.290468162928,0.290376421426,0.290284677254,0.290192930415,0.290101180908,0.290009428734,0.289917673895,0.289825916391,0.289734156223,0.289642393391,0.289550627898,0.289458859743,0.289367088927,0.289275315451,0.289183539317,0.289091760524,0.288999979074,0.288908194968,0.288816408206,0.288724618789,0.288632826719,0.288541031995,0.288449234619,0.288357434592,0.288265631915,0.288173826587,0.288082018611,0.287990207987,0.287898394715,0.287806578798,0.287714760235,0.287622939027,0.287531115176,0.287439288681,0.287347459545,0.287255627767,0.287163793349,0.287071956291,0.286980116595,0.286888274261,0.286796429289,0.286704581682,0.286612731439,0.286520878562,0.286429023051,0.286337164908,0.286245304132,0.286153440725,0.286061574688,0.285969706022,0.285877834727,0.285785960804,0.285694084255,0.285602205079,0.285510323278,0.285418438853,0.285326551805,0.285234662133,0.28514276984,0.285050874926,0.284958977392,0.284867077238,0.284775174466,0.284683269077,0.284591361071,0.284499450449,0.284407537211,0.28431562136,0.284223702895,0.284131781818,0.284039858129,0.283947931829,0.283856002919,0.2837640714,0.283672137273,0.283580200538,0.283488261197,0.283396319249,0.283304374697,0.283212427541,0.283120477782,0.28302852542,0.282936570457,0.282844612893,0.282752652729,0.282660689967,0.282568724606,0.282476756647,0.282384786093,0.282292812942,0.282200837197,0.282108858858,0.282016877926,0.281924894402,0.281832908286,0.28174091958,0.281648928284,0.281556934399,0.281464937926,0.281372938866,0.281280937219,0.281188932988,0.281096926171,0.281004916771,0.280912904788,0.280820890222,0.280728873076,0.280636853349,0.280544831042,0.280452806157,0.280360778694,0.280268748654,0.280176716038,0.280084680846,0.27999264308,0.279900602741,0.279808559828,0.279716514344,0.279624466288,0.279532415663,0.279440362467,0.279348306704,0.279256248372,0.279164187474,0.27907212401,0.27898005798,0.278887989387,0.278795918229,0.278703844509,0.278611768228,0.278519689385,0.278427607982,0.27833552402,0.2782434375,0.278151348422,0.278059256787,0.277967162597,0.277875065852,0.277782966552,0.277690864699,0.277598760293,0.277506653336,0.277414543828,0.277322431771,0.277230317164,0.277138200009,0.277046080306,0.276953958057,0.276861833262,0.276769705923,0.276677576039,0.276585443612,0.276493308643,0.276401171132,0.276309031081,0.27621688849,0.27612474336,0.276032595692,0.275940445487,0.275848292746,0.275756137468,0.275663979657,0.275571819311,0.275479656432,0.275387491021,0.275295323079,0.275203152607,0.275110979605,0.275018804074,0.274926626015,0.274834445429,0.274742262317,0.274650076679,0.274557888517,0.274465697831,0.274373504623,0.274281308892,0.274189110641,0.274096909869,0.274004706577,0.273912500767,0.27382029244,0.273728081595,0.273635868234,0.273543652358,0.273451433968,0.273359213064,0.273266989648,0.27317476372,0.273082535281,0.272990304331,0.272898070873,0.272805834906,0.272713596431,0.27262135545,0.272529111963,0.272436865971,0.272344617474,0.272252366475,0.272160112972,0.272067856969,0.271975598464,0.271883337459,0.271791073956,0.271698807954,0.271606539455,0.271514268459,0.271421994967,0.271329718981,0.2712374405,0.271145159527,0.271052876061,0.270960590104,0.270868301656,0.270776010718,0.270683717291,0.270591421377,0.270499122975,0.270406822087,0.270314518713,0.270222212854,0.270129904512,0.270037593687,0.269945280379,0.269852964591,0.269760646322,0.269668325573,0.269576002346,0.26948367664,0.269391348458,0.269299017799,0.269206684665,0.269114349057,0.269022010975,0.26892967042,0.268837327394,0.268744981896,0.268652633928,0.26856028349,0.268467930584,0.268375575211,0.26828321737,0.268190857063,0.268098494292,0.268006129056,0.267913761356,0.267821391194,0.26772901857,0.267636643486,0.267544265941,0.267451885937,0.267359503474,0.267267118554,0.267174731178,0.267082341345,0.266989949058,0.266897554317,0.266805157122,0.266712757475,0.266620355376,0.266527950827,0.266435543828,0.266343134379,0.266250722483,0.266158308139,0.266065891349,0.265973472113,0.265881050432,0.265788626308,0.26569619974,0.26560377073,0.265511339279,0.265418905387,0.265326469056,0.265234030286,0.265141589077,0.265049145432,0.26495669935,0.264864250833,0.264771799882,0.264679346496,0.264586890678,0.264494432428,0.264401971746,0.264309508635,0.264217043093,0.264124575124,0.264032104726,0.263939631901,0.263847156651,0.263754678975,0.263662198875,0.263569716351,0.263477231404,0.263384744036,0.263292254247,0.263199762037,0.263107267409,0.263014770362,0.262922270897,0.262829769016,0.262737264719,0.262644758006,0.26255224888,0.26245973734,0.262367223388,0.262274707024,0.262182188249,0.262089667065,0.261997143471,0.261904617469,0.26181208906,0.261719558244,0.261627025023,0.261534489397,0.261441951366,0.261349410933,0.261256868097,0.26116432286,0.261071775223,0.260979225186,0.260886672749,0.260794117915,0.260701560684,0.260609001056,0.260516439033,0.260423874615,0.260331307804,0.2602387386,0.260146167003,0.260053593015,0.259961016637,0.25986843787,0.259775856714,0.25968327317,0.259590687239,0.259498098922,0.25940550822,0.259312915133,0.259220319663,0.25912772181,0.259035121575,0.258942518959,0.258849913963,0.258757306588,0.258664696834,0.258572084703,0.258479470195,0.258386853311,0.258294234052,0.258201612419,0.258108988413,0.258016362034,0.257923733283,0.257831102162,0.257738468671,0.257645832811,0.257553194582,0.257460553986,0.257367911024,0.257275265696,0.257182618003,0.257089967946,0.256997315526,0.256904660743,0.2568120036,0.256719344096,0.256626682232,0.256534018009,0.256441351428,0.25634868249,0.256256011196,0.256163337546,0.256070661542,0.255977983184,0.255885302473,0.25579261941,0.255699933995,0.255607246231,0.255514556117,0.255421863654,0.255329168844,0.255236471686,0.255143772183,0.255051070334,0.254958366141,0.254865659605,0.254772950725,0.254680239504,0.254587525942,0.25449481004,0.254402091799,0.254309371219,0.254216648301,0.254123923047,0.254031195457,0.253938465532,0.253845733273,0.253752998681,0.253660261756,0.2535675225,0.253474780913,0.253382036996,0.25328929075,0.253196542175,0.253103791274,0.253011038046,0.252918282492,0.252825524613,0.252732764411,0.252640001886,0.252547237038,0.252454469869,0.25236170038,0.25226892857,0.252176154442,0.252083377996,0.251990599233,0.251897818154,0.25180503476,0.25171224905,0.251619461028,0.251526670692,0.251433878044,0.251341083085,0.251248285816,0.251155486238,0.251062684351,0.250969880156,0.250877073654,0.250784264847,0.250691453734,0.250598640317,0.250505824596,0.250413006573,0.250320186248,0.250227363622,0.250134538696,0.250041711471,0.249948881948,0.249856050127,0.24976321601,0.249670379597,0.249577540889,0.249484699886,0.249391856591,0.249299011003,0.249206163124,0.249113312954,0.249020460494,0.248927605746,0.248834748709,0.248741889385,0.248649027775,0.248556163879,0.248463297698,0.248370429234,0.248277558487,0.248184685457,0.248091810146,0.247998932555,0.247906052685,0.247813170535,0.247720286108,0.247627399404,0.247534510423,0.247441619168,0.247348725638,0.247255829834,0.247162931758,0.247070031409,0.24697712879,0.246884223901,0.246791316742,0.246698407315,0.24660549562,0.246512581659,0.246419665431,0.246326746939,0.246233826182,0.246140903162,0.24604797788,0.245955050336,0.245862120531,0.245769188466,0.245676254142,0.245583317561,0.245490378721,0.245397437625,0.245304494274,0.245211548668,0.245118600807,0.245025650694,0.244932698329,0.244839743712,0.244746786844,0.244653827727,0.244560866362,0.244467902748,0.244374936887,0.24428196878,0.244188998427,0.24409602583,0.24400305099,0.243910073906,0.24381709458,0.243724113014,0.243631129207,0.243538143161,0.243445154876,0.243352164353,0.243259171594,0.243166176599,0.243073179368,0.242980179903,0.242887178205,0.242794174274,0.242701168112,0.242608159718,0.242515149095,0.242422136243,0.242329121162,0.242236103854,0.242143084319,0.242050062558,0.241957038573,0.241864012364,0.241770983931,0.241677953276,0.2415849204,0.241491885303,0.241398847986,0.241305808451,0.241212766697,0.241119722726,0.241026676539,0.240933628137,0.24084057752,0.240747524689,0.240654469645,0.240561412389,0.240468352922,0.240375291244,0.240282227358,0.240189161262,0.240096092959,0.240003022449,0.239909949733,0.239816874811,0.239723797685,0.239630718356,0.239537636824,0.239444553091,0.239351467156,0.239258379021,0.239165288687,0.239072196155,0.238979101425,0.238886004499,0.238792905377,0.23869980406,0.238606700549,0.238513594844,0.238420486948,0.238327376859,0.23823426458,0.238141150112,0.238048033454,0.237954914608,0.237861793575,0.237768670356,0.237675544951,0.237582417362,0.237489287588,0.237396155632,0.237303021494,0.237209885174,0.237116746674,0.237023605994,0.236930463136,0.2368373181,0.236744170887,0.236651021498,0.236557869934,0.236464716195,0.236371560283,0.236278402198,0.236185241941,0.236092079513,0.235998914916,0.235905748149,0.235812579213,0.23571940811,0.23562623484,0.235533059405,0.235439881805,0.23534670204,0.235253520112,0.235160336022,0.23506714977,0.234973961358,0.234880770785,0.234787578054,0.234694383165,0.234601186118,0.234507986915,0.234414785556,0.234321582043,0.234228376376,0.234135168556,0.234041958584,0.23394874646,0.233855532186,0.233762315763,0.233669097191,0.233575876471,0.233482653604,0.233389428591,0.233296201432,0.233202972129,0.233109740683,0.233016507094,0.232923271363,0.232830033492,0.23273679348,0.232643551328,0.232550307039,0.232457060612,0.232363812048,0.232270561348,0.232177308513,0.232084053545,0.231990796442,0.231897537208,0.231804275842,0.231711012345,0.231617746719,0.231524478963,0.231431209079,0.231337937069,0.231244662931,0.231151386668,0.231058108281,0.230964827769,0.230871545135,0.230778260378,0.230684973501,0.230591684502,0.230498393385,0.230405100148,0.230311804794,0.230218507323,0.230125207735,0.230031906033,0.229938602216,0.229845296285,0.229751988242,0.229658678087,0.229565365821,0.229472051444,0.229378734959,0.229285416365,0.229192095664,0.229098772856,0.229005447942,0.228912120923,0.2288187918,0.228725460574,0.228632127245,0.228538791815,0.228445454284,0.228352114653,0.228258772924,0.228165429096,0.228072083171,0.22797873515,0.227885385033,0.227792032821,0.227698678516,0.227605322117,0.227511963627,0.227418603045,0.227325240373,0.227231875611,0.227138508761,0.227045139823,0.226951768798,0.226858395687,0.226765020491,0.22667164321,0.226578263846,0.226484882399,0.22639149887,0.22629811326,0.226204725571,0.226111335802,0.226017943954,0.22592455003,0.225831154028,0.225737755951,0.225644355799,0.225550953572,0.225457549273,0.225364142901,0.225270734458,0.225177323944,0.22508391136,0.224990496707,0.224897079986,0.224803661198,0.224710240344,0.224616817424,0.22452339244,0.224429965392,0.22433653628,0.224243105107,0.224149671873,0.224056236578,0.223962799224,0.223869359811,0.223775918341,0.223682474813,0.22358902923,0.223495581591,0.223402131898,0.223308680152,0.223215226353,0.223121770502,0.2230283126,0.222934852648,0.222841390647,0.222747926598,0.222654460502,0.222560992358,0.222467522169,0.222374049935,0.222280575658,0.222187099337,0.222093620973,0.222000140568,0.221906658123,0.221813173638,0.221719687114,0.221626198552,0.221532707953,0.221439215318,0.221345720647,0.221252223942,0.221158725203,0.221065224431,0.220971721627,0.220878216792,0.220784709927,0.220691201032,0.220597690109,0.220504177158,0.22041066218,0.220317145177,0.220223626148,0.220130105095,0.220036582018,0.219943056919,0.219849529799,0.219756000657,0.219662469496,0.219568936315,0.219475401117,0.219381863901,0.219288324668,0.21919478342,0.219101240157,0.21900769488,0.21891414759,0.218820598288,0.218727046974,0.21863349365,0.218539938316,0.218446380974,0.218352821623,0.218259260266,0.218165696902,0.218072131533,0.21797856416,0.217884994783,0.217791423403,0.217697850021,0.217604274638,0.217510697256,0.217417117873,0.217323536493,0.217229953114,0.217136367739,0.217042780369,0.216949191003,0.216855599643,0.216762006289,0.216668410944,0.216574813606,0.216481214278,0.21638761296,0.216294009653,0.216200404358,0.216106797076,0.216013187808,0.215919576553,0.215825963314,0.215732348092,0.215638730886,0.215545111698,0.215451490529,0.21535786738,0.215264242251,0.215170615143,0.215076986058,0.214983354995,0.214889721957,0.214796086943,0.214702449955,0.214608810994,0.21451517006,0.214421527154,0.214327882277,0.21423423543,0.214140586614,0.214046935829,0.213953283078,0.213859628359,0.213765971675,0.213672313026,0.213578652412,0.213484989836,0.213391325297,0.213297658797,0.213203990337,0.213110319916,0.213016647537,0.2129229732,0.212829296905,0.212735618654,0.212641938448,0.212548256288,0.212454572173,0.212360886106,0.212267198087,0.212173508116,0.212079816196,0.211986122326,0.211892426507,0.211798728741,0.211705029028,0.211611327369,0.211517623765,0.211423918217,0.211330210725,0.211236501291,0.211142789916,0.211049076599,0.210955361343,0.210861644147,0.210767925013,0.210674203942,0.210580480935,0.210486755992,0.210393029114,0.210299300302,0.210205569557,0.21011183688,0.210018102272,0.209924365734,0.209830627265,0.209736886868,0.209643144543,0.209549400292,0.209455654114,0.20936190601,0.209268155983,0.209174404032,0.209080650158,0.208986894362,0.208893136645,0.208799377009,0.208705615453,0.208611851978,0.208518086586,0.208424319278,0.208330550053,0.208236778914,0.208143005861,0.208049230894,0.207955454015,0.207861675225,0.207767894524,0.207674111913,0.207580327394,0.207486540966,0.207392752631,0.20729896239,0.207205170243,0.207111376192,0.207017580237,0.20692378238,0.20682998262,0.206736180959,0.206642377398,0.206548571937,0.206454764578,0.206360955321,0.206267144167,0.206173331118,0.206079516173,0.205985699334,0.205891880602,0.205798059977,0.20570423746,0.205610413053,0.205516586756,0.20542275857,0.205328928495,0.205235096533,0.205141262685,0.205047426951,0.204953589332,0.20485974983,0.204765908444,0.204672065176,0.204578220027,0.204484372998,0.204390524089,0.204296673301,0.204202820635,0.204108966093,0.204015109674,0.20392125138,0.203827391212,0.20373352917,0.203639665255,0.203545799469,0.203451931811,0.203358062284,0.203264190887,0.203170317622,0.203076442489,0.20298256549,0.202888686625,0.202794805895,0.202700923302,0.202607038844,0.202513152525,0.202419264344,0.202325374303,0.202231482401,0.202137588641,0.202043693023,0.201949795548,0.201855896217,0.20176199503,0.201668091988,0.201574187093,0.201480280345,0.201386371745,0.201292461294,0.201198548993,0.201104634842,0.201010718843,0.200916800996,0.200822881302,0.200728959763,0.200635036378,0.20054111115,0.200447184078,0.200353255163,0.200259324407,0.20016539181,0.200071457373,0.199977521097,0.199883582983,0.199789643032,0.199695701244,0.199601757621,0.199507812163,0.199413864871,0.199319915747,0.19922596479,0.199132012002,0.199038057383,0.198944100935,0.198850142659,0.198756182554,0.198662220623,0.198568256866,0.198474291283,0.198380323876,0.198286354646,0.198192383593,0.198098410718,0.198004436022,0.197910459507,0.197816481172,0.197722501019,0.197628519048,0.197534535261,0.197440549659,0.197346562241,0.197252573009,0.197158581965,0.197064589108,0.19697059444,0.196876597961,0.196782599672,0.196688599575,0.19659459767,0.196500593958,0.19640658844,0.196312581116,0.196218571988,0.196124561056,0.196030548321,0.195936533785,0.195842517448,0.19574849931,0.195654479373,0.195560457638,0.195466434105,0.195372408776,0.195278381651,0.19518435273,0.195090322016,0.194996289509,0.194902255209,0.194808219117,0.194714181235,0.194620141563,0.194526100103,0.194432056854,0.194338011818,0.194243964996,0.194149916388,0.194055865996,0.19396181382,0.193867759861,0.19377370412,0.193679646598,0.193585587296,0.193491526214,0.193397463354,0.193303398716,0.193209332302,0.193115264111,0.193021194145,0.192927122405,0.192833048892,0.192738973607,0.192644896549,0.192550817721,0.192456737123,0.192362654756,0.192268570621,0.192174484719,0.19208039705,0.191986307615,0.191892216416,0.191798123453,0.191704028728,0.19160993224,0.19151583399,0.191421733981,0.191327632212,0.191233528684,0.191139423398,0.191045316356,0.190951207557,0.190857097004,0.190762984696,0.190668870634,0.19057475482,0.190480637254,0.190386517938,0.190292396871,0.190198274056,0.190104149492,0.19001002318,0.189915895122,0.189821765319,0.18972763377,0.189633500478,0.189539365443,0.189445228665,0.189351090146,0.189256949887,0.189162807888,0.18906866415,0.188974518674,0.188880371462,0.188786222513,0.188692071829,0.18859791941,0.188503765258,0.188409609373,0.188315451757,0.188221292409,0.188127131332,0.188032968525,0.18793880399,0.187844637727,0.187750469738,0.187656300023,0.187562128583,0.187467955419,0.187373780531,0.187279603922,0.187185425591,0.18709124554,0.186997063768,0.186902880278,0.18680869507,0.186714508145,0.186620319504,0.186526129147,0.186431937076,0.186337743291,0.186243547794,0.186149350584,0.186055151663,0.185960951033,0.185866748693,0.185772544644,0.185678338888,0.185584131425,0.185489922257,0.185395711383,0.185301498805,0.185207284524,0.185113068541,0.185018850856,0.18492463147,0.184830410385,0.1847361876,0.184641963118,0.184547736939,0.184453509063,0.184359279491,0.184265048226,0.184170815266,0.184076580613,0.183982344269,0.183888106233,0.183793866507,0.183699625092,0.183605381988,0.183511137197,0.183416890719,0.183322642555,0.183228392705,0.183134141172,0.183039887955,0.182945633056,0.182851376475,0.182757118214,0.182662858272,0.182568596652,0.182474333353,0.182380068377,0.182285801725,0.182191533397,0.182097263395,0.182002991719,0.18190871837,0.181814443348,0.181720166656,0.181625888293,0.181531608261,0.18143732656,0.181343043192,0.181248758156,0.181154471455,0.181060183088,0.180965893058,0.180871601363,0.180777308007,0.180683012988,0.180588716309,0.18049441797,0.180400117972,0.180305816315,0.180211513002,0.180117208031,0.180022901406,0.179928593125,0.179834283191,0.179739971603,0.179645658364,0.179551343473,0.179457026932,0.179362708741,0.179268388902,0.179174067415,0.179079744281,0.1789854195,0.178891093075,0.178796765005,0.178702435292,0.178608103936,0.178513770939,0.178419436301,0.178325100022,0.178230762105,0.178136422549,0.178042081356,0.177947738526,0.177853394061,0.177759047961,0.177664700227,0.17757035086,0.177475999861,0.17738164723,0.177287292969,0.177192937079,0.177098579559,0.177004220412,0.176909859638,0.176815497238,0.176721133212,0.176626767562,0.176532400289,0.176438031393,0.176343660875,0.176249288736,0.176154914977,0.176060539599,0.175966162603,0.175871783989,0.175777403759,0.175683021913,0.175588638452,0.175494253377,0.175399866689,0.175305478389,0.175211088478,0.175116696956,0.175022303824,0.174927909083,0.174833512735,0.17473911478,0.174644715218,0.174550314051,0.17445591128,0.174361506905,0.174267100928,0.174172693348,0.174078284168,0.173983873387,0.173889461008,0.17379504703,0.173700631454,0.173606214282,0.173511795514,0.173417375152,0.173322953195,0.173228529645,0.173134104503,0.173039677769,0.172945249445,0.172850819531,0.172756388029,0.172661954938,0.172567520261,0.172473083997,0.172378646148,0.172284206714,0.172189765697,0.172095323097,0.172000878915,0.171906433152,0.171811985809,0.171717536887,0.171623086386,0.171528634308,0.171434180654,0.171339725423,0.171245268618,0.171150810238,0.171056350285,0.17096188876,0.170867425664,0.170772960997,0.17067849476,0.170584026954,0.170489557581,0.17039508664,0.170300614133,0.170206140061,0.170111664424,0.170017187224,0.169922708461,0.169828228136,0.16973374625,0.169639262803,0.169544777798,0.169450291234,0.169355803112,0.169261313434,0.1691668222,0.169072329411,0.168977835068,0.168883339172,0.168788841724,0.168694342724,0.168599842173,0.168505340073,0.168410836423,0.168316331226,0.168221824482,0.168127316191,0.168032806355,0.167938294975,0.167843782051,0.167749267584,0.167654751575,0.167560234025,0.167465714935,0.167371194305,0.167276672137,0.167182148432,0.16708762319,0.166993096412,0.166898568099,0.166804038252,0.166709506872,0.166614973959,0.166520439515,0.16642590354,0.166331366036,0.166236827003,0.166142286441,0.166047744353,0.165953200738,0.165858655598,0.165764108933,0.165669560745,0.165575011034,0.1654804598,0.165385907046,0.165291352772,0.165196796978,0.165102239666,0.165007680836,0.16491312049,0.164818558628,0.16472399525,0.164629430359,0.164534863954,0.164440296037,0.164345726609,0.16425115567,0.164156583221,0.164062009263,0.163967433797,0.163872856825,0.163778278345,0.163683698361,0.163589116871,0.163494533879,0.163399949383,0.163305363385,0.163210775887,0.163116186888,0.16302159639,0.162927004393,0.162832410899,0.162737815908,0.162643219421,0.162548621439,0.162454021963,0.162359420994,0.162264818533,0.16217021458,0.162075609136,0.161981002202,0.16188639378,0.16179178387,0.161697172472,0.161602559588,0.161507945219,0.161413329366,0.161318712028,0.161224093208,0.161129472906,0.161034851122,0.160940227859,0.160845603116,0.160750976895,0.160656349196,0.160561720021,0.160467089369,0.160372457243,0.160277823642,0.160183188569,0.160088552023,0.159993914005,0.159899274517,0.159804633559,0.159709991132,0.159615347237,0.159520701875,0.159426055047,0.159331406753,0.159236756995,0.159142105773,0.159047453088,0.158952798942,0.158858143334,0.158763486266,0.158668827739,0.158574167753,0.15847950631,0.15838484341,0.158290179054,0.158195513243,0.158100845978,0.15800617726,0.15791150709,0.157816835468,0.157722162395,0.157627487873,0.157532811902,0.157438134483,0.157343455616,0.157248775304,0.157154093546,0.157059410343,0.156964725697,0.156870039608,0.156775352077,0.156680663105,0.156585972693,0.156491280842,0.156396587552,0.156301892824,0.15620719666,0.15611249906,0.156017800025,0.155923099556,0.155828397654,0.15573369432,0.155638989554,0.155544283357,0.155449575731,0.155354866676,0.155260156193,0.155165444282,0.155070730946,0.154976016184,0.154881299997,0.154786582387,0.154691863355,0.1545971429,0.154502421024,0.154407697728,0.154312973013,0.154218246879,0.154123519328,0.154028790361,0.153934059977,0.153839328178,0.153744594966,0.15364986034,0.153555124302,0.153460386852,0.153365647992,0.153270907723,0.153176166044,0.153081422957,0.152986678464,0.152891932564,0.152797185258,0.152702436549,0.152607686435,0.152512934919,0.152418182001,0.152323427682,0.152228671963,0.152133914845,0.152039156328,0.151944396414,0.151849635103,0.151754872397,0.151660108295,0.151565342799,0.151470575911,0.15137580763,0.151281037957,0.151186266894,0.151091494442,0.1509967206,0.150901945371,0.150807168755,0.150712390752,0.150617611364,0.150522830592,0.150428048436,0.150333264897,0.150238479977,0.150143693675,0.150048905994,0.149954116933,0.149859326494,0.149764534677,0.149669741484,0.149574946915,0.149480150972,0.149385353654,0.149290554963,0.1491957549,0.149100953465,0.14900615066,0.148911346486,0.148816540942,0.148721734031,0.148626925753,0.148532116108,0.148437305099,0.148342492725,0.148247678987,0.148152863887,0.148058047424,0.147963229601,0.147868410418,0.147773589876,0.147678767976,0.147583944718,0.147489120103,0.147394294133,0.147299466808,0.147204638129,0.147109808097,0.147014976713,0.146920143977,0.146825309891,0.146730474455,0.146635637671,0.146540799539,0.14644596006,0.146351119234,0.146256277064,0.146161433549,0.146066588691,0.14597174249,0.145876894947,0.145782046064,0.14568719584,0.145592344277,0.145497491376,0.145402637138,0.145307781563,0.145212924653,0.145118066408,0.145023206829,0.144928345916,0.144833483672,0.144738620097,0.144643755191,0.144548888955,0.144454021391,0.144359152499,0.14426428228,0.144169410735,0.144074537865,0.143979663671,0.143884788153,0.143789911312,0.14369503315,0.143600153667,0.143505272865,0.143410390743,0.143315507303,0.143220622545,0.143125736471,0.143030849082,0.142935960378,0.14284107036,0.142746179029,0.142651286386,0.142556392431,0.142461497167,0.142366600593,0.14227170271,0.142176803519,0.142081903022,0.141987001219,0.14189209811,0.141797193698,0.141702287982,0.141607380963,0.141512472643,0.141417563022,0.141322652102,0.141227739882,0.141132826364,0.141037911549,0.140942995437,0.14084807803,0.140753159328,0.140658239333,0.140563318044,0.140468395464,0.140373471592,0.140278546431,0.140183619979,0.14008869224,0.139993763212,0.139898832898,0.139803901298,0.139708968412,0.139614034243,0.13951909879,0.139424162055,0.139329224038,0.139234284741,0.139139344164,0.139044402308,0.138949459173,0.138854514762,0.138759569074,0.138664622111,0.138569673873,0.138474724362,0.138379773578,0.138284821522,0.138189868194,0.138094913597,0.13799995773,0.137905000595,0.137810042192,0.137715082522,0.137620121586,0.137525159386,0.137430195921,0.137335231194,0.137240265204,0.137145297952,0.13705032944,0.136955359668,0.136860388637,0.136765416348,0.136670442802,0.136575468,0.136480491942,0.13638551463,0.136290536064,0.136195556246,0.136100575176,0.136005592854,0.135910609283,0.135815624462,0.135720638393,0.135625651076,0.135530662513,0.135435672704,0.13534068165,0.135245689352,0.135150695811,0.135055701028,0.134960705003,0.134865707738,0.134770709233,0.134675709489,0.134580708507,0.134485706288,0.134390702834,0.134295698143,0.134200692219,0.134105685061,0.13401067667,0.133915667047,0.133820656194,0.13372564411,0.133630630797,0.133535616256,0.133440600488,0.133345583493,0.133250565272,0.133155545827,0.133060525157,0.132965503265,0.13287048015,0.132775455814,0.132680430257,0.132585403481,0.132490375487,0.132395346274,0.132300315844,0.132205284199,0.132110251338,0.132015217263,0.131920181974,0.131825145473,0.13173010776,0.131635068837,0.131540028703,0.13144498736,0.131349944809,0.131254901051,0.131159856086,0.131064809916,0.130969762541,0.130874713962,0.13077966418,0.130684613196,0.13058956101,0.130494507625,0.13039945304,0.130304397256,0.130209340275,0.130114282096,0.130019222722,0.129924162153,0.129829100389,0.129734037432,0.129638973283,0.129543907942,0.12944884141,0.129353773688,0.129258704778,0.129163634679,0.129068563393,0.128973490921,0.128878417263,0.12878334242,0.128688266394,0.128593189185,0.128498110794,0.128403031222,0.128307950469,0.128212868537,0.128117785427,0.128022701139,0.127927615674,0.127832529033,0.127737441218,0.127642352228,0.127547262065,0.127452170729,0.127357078222,0.127261984545,0.127166889697,0.127071793681,0.126976696497,0.126881598145,0.126786498628,0.126691397945,0.126596296097,0.126501193086,0.126406088912,0.126310983576,0.126215877079,0.126120769422,0.126025660606,0.125930550631,0.125835439498,0.12574032721,0.125645213765,0.125550099165,0.125454983412,0.125359866505,0.125264748446,0.125169629235,0.125074508874,0.124979387363,0.124884264704,0.124789140897,0.124694015942,0.124598889842,0.124503762596,0.124408634205,0.124313504672,0.124218373995,0.124123242177,0.124028109218,0.123932975119,0.12383783988,0.123742703503,0.123647565989,0.123552427339,0.123457287552,0.123362146631,0.123267004576,0.123171861388,0.123076717068,0.122981571617,0.122886425035,0.122791277323,0.122696128483,0.122600978515,0.12250582742,0.122410675199,0.122315521853,0.122220367383,0.122125211789,0.122030055073,0.121934897235,0.121839738276,0.121744578197,0.121649416999,0.121554254683,0.12145909125,0.1213639267,0.121268761035,0.121173594255,0.121078426361,0.120983257354,0.120888087236,0.120792916006,0.120697743666,0.120602570216,0.120507395658,0.120412219992,0.120317043219,0.120221865341,0.120126686357,0.120031506269,0.119936325078,0.119841142785,0.119745959389,0.119650774894,0.119555589298,0.119460402604,0.119365214811,0.119270025921,0.119174835935,0.119079644854,0.118984452678,0.118889259408,0.118794065045,0.118698869591,0.118603673045,0.11850847541,0.118413276685,0.118318076871,0.11822287597,0.118127673983,0.118032470909,0.117937266751,0.117842061508,0.117746855183,0.117651647775,0.117556439285,0.117461229715,0.117366019066,0.117270807338,0.117175594531,0.117080380648,0.116985165688,0.116889949653,0.116794732544,0.116699514361,0.116604295106,0.116509074778,0.11641385338,0.116318630912,0.116223407374,0.116128182769,0.116032957095,0.115937730356,0.11584250255,0.11574727368,0.115652043746,0.115556812749,0.115461580689,0.115366347569,0.115271113388,0.115175878147,0.115080641848,0.114985404491,0.114890166077,0.114794926607,0.114699686081,0.114604444502,0.114509201869,0.114413958183,0.114318713446,0.114223467658,0.11412822082,0.114032972933,0.113937723998,0.113842474016,0.113747222987,0.113651970913,0.113556717794,0.113461463631,0.113366208425,0.113270952178,0.113175694889,0.113080436559,0.112985177191,0.112889916784,0.112794655339,0.112699392857,0.11260412934,0.112508864787,0.112413599201,0.112318332581,0.112223064928,0.112127796244,0.11203252653,0.111937255786,0.111841984012,0.111746711211,0.111651437383,0.111556162528,0.111460886648,0.111365609743,0.111270331815,0.111175052864,0.111079772891,0.110984491897,0.110889209883,0.11079392685,0.110698642798,0.110603357729,0.110508071643,0.110412784541,0.110317496424,0.110222207294,0.11012691715,0.110031625994,0.109936333827,0.109841040649,0.109745746461,0.109650451265,0.109555155061,0.10945985785,0.109364559632,0.10926926041,0.109173960183,0.109078658952,0.108983356719,0.108888053485,0.108792749249,0.108697444013,0.108602137778,0.108506830545,0.108411522315,0.108316213088,0.108220902865,0.108125591648,0.108030279437,0.107934966233,0.107839652036,0.107744336849,0.107649020671,0.107553703504,0.107458385348,0.107363066204,0.107267746073,0.107172424957,0.107077102855,0.106981779769,0.1068864557,0.106791130648,0.106695804615,0.106600477601,0.106505149607,0.106409820634,0.106314490683,0.106219159755,0.106123827851,0.106028494971,0.105933161116,0.105837826288,0.105742490487,0.105647153713,0.105551815969,0.105456477255,0.105361137571,0.105265796919,0.105170455299,0.105075112713,0.10497976916,0.104884424643,0.104789079162,0.104693732717,0.10459838531,0.104503036942,0.104407687613,0.104312337325,0.104216986077,0.104121633872,0.10402628071,0.103930926591,0.103835571517,0.103740215489,0.103644858507,0.103549500573,0.103454141686,0.103358781849,0.103263421062,0.103168059325,0.10307269664,0.102977333008,0.102881968429,0.102786602905,0.102691236436,0.102595869022,0.102500500666,0.102405131368,0.102309761128,0.102214389948,0.102119017829,0.10202364477,0.101928270774,0.101832895841,0.101737519973,0.101642143168,0.10154676543,0.101451386758,0.101356007154,0.101260626618,0.101165245151,0.101069862755,0.100974479429,0.100879095176,0.100783709995,0.100688323887,0.100592936854,0.100497548897,0.100402160016,0.100306770211,0.100211379485,0.100115987838,0.100020595271,0.0999252017837,0.0998298073783,0.0997344120553,0.0996390158156,0.0995436186601,0.0994482205895,0.0993528216049,0.099257421707,0.0991620208967,0.099066619175,0.0989712165427,0.0988758130007,0.0987804085498,0.098685003191,0.098589596925,0.0984941897529,0.0983987816754,0.0983033726934,0.0982079628079,0.0981125520196,0.0980171403296,0.0979217277385,0.0978263142474,0.0977308998571,0.0976354845685,0.0975400683825,0.0974446512998,0.0973492333215,0.0972538144484,0.0971583946813,0.0970629740212,0.0969675524688,0.0968721300252,0.0967767066912,0.0966812824676,0.0965858573553,0.0964904313553,0.0963950044683,0.0962995766952,0.096204148037,0.0961087184946,0.0960132880687,0.0959178567602,0.0958224245702,0.0957269914993,0.0956315575485,0.0955361227188,0.0954406870108,0.0953452504256,0.095249812964,0.0951543746269,0.0950589354152,0.0949634953296,0.0948680543712,0.0947726125408,0.0946771698393,0.0945817262675,0.0944862818264,0.0943908365167,0.0942953903394,0.0941999432954,0.0941044953855,0.0940090466106,0.0939135969716,0.0938181464694,0.0937226951048,0.0936272428788,0.0935317897921,0.0934363358457,0.0933408810405,0.0932454253773,0.093149968857,0.0930545114805,0.0929590532487,0.0928635941624,0.0927681342225,0.0926726734299,0.0925772117855,0.0924817492901,0.0923862859447,0.0922908217501,0.0921953567071,0.0920998908167,0.0920044240798,0.0919089564971,0.0918134880697,0.0917180187983,0.0916225486839,0.0915270777273,0.0914316059294,0.0913361332911,0.0912406598132,0.0911451854967,0.0910497103424,0.0909542343511,0.0908587575239,0.0907632798615,0.0906678013648,0.0905723220347,0.0904768418721,0.0903813608779,0.0902858790529,0.0901903963979,0.090094912914,0.089999428602,0.0899039434627,0.089808457497,0.0897129707058,0.08961748309,0.0895219946505,0.0894265053881,0.0893310153037,0.0892355243981,0.0891400326724,0.0890445401273,0.0889490467637,0.0888535525825,0.0887580575846,0.0886625617709,0.0885670651421,0.0884715676993,0.0883760694433,0.088280570375,0.0881850704952,0.0880895698048,0.0879940683047,0.0878985659958,0.0878030628789,0.087707558955,0.0876120542249,0.0875165486895,0.0874210423496,0.0873255352062,0.0872300272601,0.0871345185122,0.0870390089634,0.0869434986145,0.0868479874665,0.0867524755202,0.0866569627765,0.0865614492363,0.0864659349003,0.0863704197697,0.0862749038451,0.0861793871275,0.0860838696177,0.0859883513167,0.0858928322253,0.0857973123444,0.0857017916749,0.0856062702176,0.0855107479735,0.0854152249433,0.085319701128,0.0852241765285,0.0851286511456,0.0850331249803,0.0849375980333,0.0848420703056,0.0847465417981,0.0846510125116,0.0845554824469,0.0844599516051,0.0843644199869,0.0842688875933,0.0841733544251,0.0840778204832,0.0839822857685,0.0838867502818,0.083791214024,0.0836956769961,0.0836001391988,0.0835046006332,0.0834090612999,0.0833135212,0.0832179803343,0.0831224387036,0.0830268963089,0.0829313531511,0.0828358092309,0.0827402645494,0.0826447191073,0.0825491729056,0.0824536259451,0.0823580782266,0.0822625297512,0.0821669805197,0.0820714305328,0.0819758797916,0.0818803282969,0.0817847760496,0.0816892230505,0.0815936693005,0.0814981148006,0.0814025595515,0.0813070035542,0.0812114468096,0.0811158893185,0.0810203310817,0.0809247721003,0.080829212375,0.0807336519067,0.0806380906964,0.0805425287448,0.080446966053,0.0803514026216,0.0802558384517,0.0801602735441,0.0800647078997,0.0799691415193,0.0798735744039,0.0797780065543,0.0796824379714,0.0795868686561,0.0794912986092,0.0793957278317,0.0793001563244,0.0792045840882,0.0791090111239,0.0790134374325,0.0789178630148,0.0788222878717,0.0787267120041,0.0786311354128,0.0785355580988,0.078439980063,0.0783444013061,0.0782488218291,0.0781532416328,0.0780576607182,0.077962079086,0.0778664967373,0.0777709136729,0.0776753298935,0.0775797454003,0.0774841601939,0.0773885742753,0.0772929876453,0.0771974003049,0.0771018122549,0.0770062234962,0.0769106340297,0.0768150438563,0.0767194529767,0.076623861392,0.076528269103,0.0764326761105,0.0763370824155,0.0762414880189,0.0761458929214,0.076050297124,0.0759547006275,0.075859103433,0.0757635055411,0.0756679069528,0.075572307669,0.0754767076906,0.0753811070184,0.0752855056533,0.0751899035962,0.0750943008479,0.0749986974094,0.0749030932816,0.0748074884652,0.0747118829613,0.0746162767706,0.074520669894,0.0744250623325,0.0743294540868,0.074233845158,0.0741382355468,0.0740426252541,0.0739470142809,0.073851402628,0.0737557902962,0.0736601772865,0.0735645635997,0.0734689492367,0.0733733341984,0.0732777184857,0.0731821020994,0.0730864850405,0.0729908673097,0.072895248908,0.0727996298364,0.0727040100955,0.0726083896864,0.0725127686098,0.0724171468668,0.0723215244581,0.0722259013846,0.0721302776472,0.0720346532469,0.0719390281844,0.0718434024607,0.0717477760766,0.071652149033,0.0715565213308,0.0714608929708,0.0713652639541,0.0712696342813,0.0711740039534,0.0710783729714,0.070982741336,0.0708871090481,0.0707914761086,0.0706958425185,0.0706002082785,0.0705045733896,0.0704089378526,0.0703133016685,0.070217664838,0.0701220273621,0.0700263892417,0.0699307504776,0.0698351110707,0.0697394710219,0.0696438303321,0.0695481890021,0.0694525470328,0.0693569044252,0.06926126118,0.0691656172982,0.0690699727807,0.0689743276283,0.0688786818418,0.0687830354223,0.0686873883705,0.0685917406874,0.0684960923738,0.0684004434305,0.0683047938586,0.0682091436588,0.0681134928321,0.0680178413792,0.0679221893012,0.0678265365988,0.067730883273,0.0676352293246,0.0675395747545,0.0674439195637,0.0673482637529,0.067252607323,0.067156950275,0.0670612926096,0.0669656343279,0.0668699754306,0.0667743159187,0.066678655793,0.0665829950544,0.0664873337038,0.066391671742,0.06629600917,0.0662003459886,0.0661046821988,0.0660090178013,0.065913352797,0.0658176871869,0.0657220209718,0.0656263541526,0.0655306867302,0.0654350187054,0.0653393500792,0.0652436808524,0.0651480110259,0.0650523406005,0.0649566695772,0.0648609979569,0.0647653257403,0.0646696529285,0.0645739795222,0.0644783055224,0.0643826309299,0.0642869557456,0.0641912799704,0.0640956036051,0.0639999266507,0.063904249108,0.063808570978,0.0637128922614,0.0636172129592,0.0635215330722,0.0634258526014,0.0633301715475,0.0632344899116,0.0631388076944,0.0630431248968,0.0629474415198,0.0628517575642,0.0627560730308,0.0626603879206,0.0625647022345,0.0624690159732,0.0623733291378,0.062277641729,0.0621819537478,0.0620862651951,0.0619905760716,0.0618948863784,0.0617991961162,0.061703505286,0.0616078138886,0.0615121219249,0.0614164293958,0.0613207363022,0.061225042645,0.0611293484249,0.061033653643,0.0609379583001,0.0608422623971,0.0607465659348,0.0606508689141,0.0605551713359,0.0604594732012,0.0603637745107,0.0602680752653,0.060172375466,0.0600766751136,0.059980974209,0.059885272753,0.0597895707466,0.0596938681907,0.059598165086,0.0595024614335,0.0594067572341,0.0593110524886,0.059215347198,0.059119641363,0.0590239349847,0.0589282280638,0.0588325206012,0.0587368125979,0.0586411040547,0.0585453949724,0.0584496853521,0.0583539751944,0.0582582645004,0.0581625532709,0.0580668415068,0.0579711292089,0.0578754163782,0.0577797030155,0.0576839891217,0.0575882746977,0.0574925597444,0.0573968442626,0.0573011282532,0.0572054117171,0.0571096946552,0.0570139770683,0.0569182589574,0.0568225403233,0.0567268211669,0.0566311014891,0.0565353812907,0.0564396605727,0.0563439393359,0.0562482175812,0.0561524953095,0.0560567725216,0.0559610492185,0.055865325401,0.05576960107,0.0556738762264,0.055578150871,0.0554824250048,0.0553866986286,0.0552909717432,0.0551952443497,0.0550995164488,0.0550037880415,0.0549080591285,0.0548123297109,0.0547165997894,0.054620869365,0.0545251384386,0.0544294070109,0.054333675083,0.0542379426556,0.0541422097297,0.0540464763061,0.0539507423857,0.0538550079695,0.0537592730582,0.0536635376527,0.053567801754,0.0534720653629,0.0533763284804,0.0532805911071,0.0531848532442,0.0530891148924,0.0529933760526,0.0528976367257,0.0528018969125,0.0527061566141,0.0526104158311,0.0525146745646,0.0524189328154,0.0523231905843,0.0522274478723,0.0521317046803,0.052035961009,0.0519402168595,0.0518444722325,0.051748727129,0.0516529815499,0.0515572354959,0.051461488968,0.0513657419672,0.0512699944941,0.0511742465499,0.0510784981352,0.050982749251,0.0508869998982,0.0507912500777,0.0506954997903,0.0505997490369,0.0505039978184,0.0504082461357,0.0503124939897,0.0502167413812,0.0501209883111,0.0500252347803,0.0499294807897,0.0498337263401,0.0497379714325,0.0496422160677,0.0495464602466,0.0494507039701,0.049354947239,0.0492591900543,0.0491634324168,0.0490676743274,0.048971915787,0.0488761567964,0.0487803973566,0.0486846374684,0.0485888771327,0.0484931163504,0.0483973551224,0.0483015934495,0.0482058313326,0.0481100687726,0.0480143057704,0.0479185423269,0.0478227784429,0.0477270141193,0.047631249357,0.047535484157,0.0474397185199,0.0473439524469,0.0472481859386,0.0471524189961,0.0470566516201,0.0469608838116,0.0468651155715,0.0467693469005,0.0466735777997,0.0465778082699,0.0464820383119,0.0463862679267,0.0462904971151,0.046194725878,0.0460989542163,0.0460031821309,0.0459074096226,0.0458116366924,0.045715863341,0.0456200895695,0.0455243153786,0.0454285407693,0.0453327657424,0.0452369902988,0.0451412144394,0.0450454381651,0.0449496614767,0.0448538843752,0.0447581068613,0.0446623289361,0.0445665506003,0.0444707718549,0.0443749927008,0.0442792131387,0.0441834331696,0.0440876527945,0.043991872014,0.0438960908292,0.0438003092409,0.0437045272501,0.0436087448575,0.043512962064,0.0434171788706,0.0433213952781,0.0432256112874,0.0431298268994,0.043034042115,0.0429382569349,0.0428424713602,0.0427466853918,0.0426508990304,0.0425551122769,0.0424593251323,0.0423635375974,0.0422677496731,0.0421719613603,0.0420761726599,0.0419803835727,0.0418845940997,0.0417888042416,0.0416930139995,0.0415972233741,0.0415014323663,0.0414056409771,0.0413098492073,0.0412140570577,0.0411182645294,0.0410224716231,0.0409266783397,0.0408308846801,0.0407350906452,0.0406392962359,0.0405435014531,0.0404477062976,0.0403519107703,0.040256114872,0.0401603186038,0.0400645219664,0.0399687249608,0.0398729275877,0.0397771298482,0.039681331743,0.0395855332731,0.0394897344394,0.0393939352426,0.0392981356838,0.0392023357637,0.0391065354833,0.0390107348435,0.038914933845,0.0388191324889,0.0387233307759,0.038627528707,0.0385317262831,0.038435923505,0.0383401203736,0.0382443168897,0.0381485130544,0.0380527088683,0.0379569043325,0.0378610994479,0.0377652942152,0.0376694886353,0.0375736827093,0.0374778764378,0.0373820698219,0.0372862628624,0.0371904555601,0.037094647916,0.0369988399309,0.0369030316057,0.0368072229414,0.0367114139387,0.0366156045985,0.0365197949218,0.0364239849094,0.0363281745623,0.0362323638812,0.036136552867,0.0360407415207,0.0359449298431,0.0358491178351,0.0357533054976,0.0356574928315,0.0355616798376,0.0354658665169,0.0353700528701,0.0352742388982,0.0351784246021,0.0350826099826,0.0349867950407,0.0348909797772,0.034795164193,0.0346993482889,0.0346035320659,0.0345077155248,0.0344118986665,0.034316081492,0.034220264002,0.0341244461974,0.0340286280792,0.0339328096482,0.0338369909053,0.0337411718514,0.0336453524873,0.033549532814,0.0334537128323,0.0333578925431,0.0332620719473,0.0331662510457,0.0330704298393,0.0329746083289,0.0328787865154,0.0327829643997,0.0326871419827,0.0325913192652,0.0324954962481,0.0323996729324,0.0323038493188,0.0322080254083,0.0321122012018,0.0320163767,0.031920551904,0.0318247268146,0.0317289014327,0.0316330757591,0.0315372497948,0.0314414235406,0.0313455969973,0.031249770166,0.0311539430474,0.0310581156424,0.030962287952,0.030866459977,0.0307706317182,0.0306748031766,0.0305789743531,0.0304831452485,0.0303873158637,0.0302914861995,0.030195656257,0.0300998260369,0.0300039955401,0.0299081647675,0.02981233372,0.0297165023985,0.0296206708039,0.0295248389369,0.0294290067986,0.0293331743898,0.0292373417114,0.0291415087642,0.0290456755491,0.0289498420671,0.028854008319,0.0287581743056,0.028662340028,0.0285665054868,0.0284706706831,0.0283748356177,0.0282790002914,0.0281831647053,0.02808732886,0.0279914927567,0.027895656396,0.0277998197789,0.0277039829062,0.027608145779,0.0275123083979,0.027416470764,0.0273206328781,0.027224794741,0.0271289563537,0.027033117717,0.0269372788319,0.0268414396991,0.0267456003196,0.0266497606943,0.026553920824,0.0264580807097,0.0263622403521,0.0262663997523,0.026170558911,0.0260747178291,0.0259788765076,0.0258830349473,0.025787193149,0.0256913511138,0.0255955088423,0.0254996663357,0.0254038235946,0.02530798062,0.0252121374128,0.0251162939739,0.0250204503041,0.0249246064043,0.0248287622754,0.0247329179183,0.0246370733338,0.0245412285229,0.0244453834864,0.0243495382252,0.0242536927402,0.0241578470323,0.0240620011023,0.0239661549511,0.0238703085797,0.0237744619888,0.0236786151794,0.0235827681524,0.0234869209086,0.0233910734489,0.0232952257742,0.0231993778853,0.0231035297833,0.0230076814688,0.0229118329429,0.0228159842064,0.0227201352602,0.0226242861051,0.0225284367421,0.0224325871719,0.0223367373956,0.022240887414,0.022145037228,0.0220491868384,0.0219533362461,0.021857485452,0.021761634457,0.021665783262,0.0215699318679,0.0214740802755,0.0213782284857,0.0212823764994,0.0211865243174,0.0210906719408,0.0209948193702,0.0208989666067,0.0208031136511,0.0207072605043,0.0206114071671,0.0205155536405,0.0204196999253,0.0203238460224,0.0202279919327,0.0201321376571,0.0200362831964,0.0199404285515,0.0198445737234,0.0197487187128,0.0196528635207,0.019557008148,0.0194611525955,0.0193652968642,0.0192694409548,0.0191735848683,0.0190777286056,0.0189818721675,0.0188860155549,0.0187901587688,0.0186943018099,0.0185984446792,0.0185025873775,0.0184067299058,0.0183108722649,0.0182150144556,0.018119156479,0.0180232983358,0.0179274400269,0.0178315815532,0.0177357229157,0.0176398641151,0.0175440051524,0.0174481460284,0.017352286744,0.0172564273001,0.0171605676976,0.0170647079374,0.0169688480203,0.0168729879473,0.0167771277191,0.0166812673368,0.0165854068011,0.016489546113,0.0163936852733,0.0162978242829,0.0162019631427,0.0161061018535,0.0160102404164,0.015914378832,0.0158185171014,0.0157226552254,0.0156267932049,0.0155309310407,0.0154350687338,0.015339206285,0.0152433436952,0.0151474809653,0.0150516180961,0.0149557550886,0.0148598919437,0.0147640286621,0.0146681652449,0.0145723016928,0.0144764380067,0.0143805741876,0.0142847102364,0.0141888461538,0.0140929819408,0.0139971175982,0.013901253127,0.0138053885281,0.0137095238022,0.0136136589503,0.0135177939733,0.013421928872,0.0133260636473,0.0132301983002,0.0131343328315,0.013038467242,0.0129426015327,0.0128467357044,0.012750869758,0.0126550036944,0.0125591375145,0.0124632712192,0.0123674048093,0.0122715382857,0.0121756716493,0.0120798049011,0.0119839380417,0.0118880710723,0.0117922039935,0.0116963368064,0.0116004695117,0.0115046021104,0.0114087346034,0.0113128669915,0.0112169992756,0.0111211314566,0.0110252635354,0.0109293955129,0.0108335273899,0.0107376591673,0.010641790846,0.0105459224269,0.0104500539108,0.0103541852987,0.0102583165915,0.0101624477899,0.0100665788949,0.00997070990742,0.00987484082827,0.00977897165835,0.00968310239854,0.00958723304973,0.00949136361279,0.00939549408862,0.00929962447808,0.00920375478206,0.00910788500144,0.00901201513711,0.00891614518993,0.00882027516081,0.00872440505061,0.00862853486021,0.00853266459051,0.00843679424237,0.00834092381668,0.00824505331433,0.00814918273619,0.00805331208315,0.00795744135607,0.00786157055586,0.00776569968339,0.00766982873953,0.00757395772518,0.0074780866412,0.00738221548849,0.00728634426793,0.00719047298039,0.00709460162675,0.00699873020791,0.00690285872473,0.0068069871781,0.00671111556891,0.00661524389803,0.00651937216634,0.00642350037473,0.00632762852407,0.00623175661525,0.00613588464915,0.00604001262666,0.00594414054864,0.00584826841598,0.00575239622957,0.00565652399029,0.00556065169901,0.00546477935662,0.005368906964,0.00527303452202,0.00517716203158,0.00508128949356,0.00498541690882,0.00488954427826,0.00479367160276,0.00469779888319,0.00460192612045,0.0045060533154,0.00441018046894,0.00431430758194,0.00421843465528,0.00412256168984,0.00402668868652,0.00393081564618,0.00383494256971,0.00373906945799,0.0036431963119,0.00354732313232,0.00345144992014,0.00335557667623,0.00325970340148,0.00316383009676,0.00306795676297,0.00297208340097,0.00287621001166,0.0027803365959,0.0026844631546,0.00258858968861,0.00249271619884,0.00239684268615,0.00230096915143,0.00220509559556,0.00210922201942,0.00201334842389,0.00191747480986,0.0018216011782,0.0017257275298,0.00162985386553,0.00153398018629,0.00143810649294,0.00134223278637,0.00124635906747,0.00115048533711,0.00105461159618,0.000958737845554,0.000862864086114,0.000766990318743,0.000671116544322,0.000575242763732,0.000479368977855,0.000383495187571,0.000287621393763,0.000191747597311,9.58737990959e-05,1.22464679915e-16,-9.58737990957e-05,-0.000191747597311,-0.000287621393763,-0.000383495187571,-0.000479368977855,-0.000575242763732,-0.000671116544321,-0.000766990318743,-0.000862864086113,-0.000958737845553,-0.00105461159618,-0.00115048533711,-0.00124635906747,-0.00134223278637,-0.00143810649294,-0.00153398018628,-0.00162985386553,-0.00172572752979,-0.0018216011782,-0.00191747480986,-0.00201334842389,-0.00210922201942,-0.00220509559555,-0.00230096915143,-0.00239684268615,-0.00249271619884,-0.00258858968861,-0.0026844631546,-0.0027803365959,-0.00287621001166,-0.00297208340097,-0.00306795676297,-0.00316383009676,-0.00325970340148,-0.00335557667623,-0.00345144992014,-0.00354732313232,-0.0036431963119,-0.00373906945799,-0.00383494256971,-0.00393081564618,-0.00402668868652,-0.00412256168984,-0.00421843465528,-0.00431430758194,-0.00441018046894,-0.0045060533154,-0.00460192612045,-0.00469779888319,-0.00479367160276,-0.00488954427826,-0.00498541690882,-0.00508128949356,-0.00517716203158,-0.00527303452202,-0.005368906964,-0.00546477935662,-0.00556065169901,-0.00565652399029,-0.00575239622957,-0.00584826841598,-0.00594414054864,-0.00604001262666,-0.00613588464915,-0.00623175661525,-0.00632762852407,-0.00642350037473,-0.00651937216634,-0.00661524389803,-0.00671111556891,-0.0068069871781,-0.00690285872473,-0.00699873020791,-0.00709460162675,-0.00719047298039,-0.00728634426793,-0.00738221548849,-0.0074780866412,-0.00757395772518,-0.00766982873953,-0.00776569968339,-0.00786157055586,-0.00795744135607,-0.00805331208315,-0.00814918273619,-0.00824505331433,-0.00834092381668,-0.00843679424237,-0.00853266459051,-0.00862853486021,-0.00872440505061,-0.00882027516081,-0.00891614518993,-0.00901201513711,-0.00910788500144,-0.00920375478206,-0.00929962447808,-0.00939549408862,-0.00949136361279,-0.00958723304973,-0.00968310239854,-0.00977897165835,-0.00987484082827,-0.00997070990742,-0.0100665788949,-0.0101624477899,-0.0102583165915,-0.0103541852987,-0.0104500539108,-0.0105459224269,-0.010641790846,-0.0107376591673,-0.0108335273899,-0.0109293955129,-0.0110252635354,-0.0111211314566,-0.0112169992756,-0.0113128669915,-0.0114087346034,-0.0115046021104,-0.0116004695117,-0.0116963368064,-0.0117922039935,-0.0118880710723,-0.0119839380417,-0.0120798049011,-0.0121756716493,-0.0122715382857,-0.0123674048093,-0.0124632712192,-0.0125591375145,-0.0126550036944,-0.012750869758,-0.0128467357044,-0.0129426015327,-0.013038467242,-0.0131343328315,-0.0132301983002,-0.0133260636473,-0.013421928872,-0.0135177939733,-0.0136136589503,-0.0137095238022,-0.0138053885281,-0.013901253127,-0.0139971175982,-0.0140929819408,-0.0141888461538,-0.0142847102364,-0.0143805741876,-0.0144764380067,-0.0145723016928,-0.0146681652449,-0.0147640286621,-0.0148598919437,-0.0149557550886,-0.0150516180961,-0.0151474809653,-0.0152433436952,-0.015339206285,-0.0154350687338,-0.0155309310407,-0.0156267932049,-0.0157226552254,-0.0158185171014,-0.015914378832,-0.0160102404164,-0.0161061018535,-0.0162019631427,-0.0162978242829,-0.0163936852733,-0.016489546113,-0.0165854068011,-0.0166812673368,-0.0167771277191,-0.0168729879473,-0.0169688480203,-0.0170647079374,-0.0171605676976,-0.0172564273001,-0.017352286744,-0.0174481460284,-0.0175440051524,-0.0176398641151,-0.0177357229157,-0.0178315815532,-0.0179274400269,-0.0180232983358,-0.018119156479,-0.0182150144556,-0.0183108722649,-0.0184067299058,-0.0185025873775,-0.0185984446792,-0.0186943018099,-0.0187901587688,-0.0188860155549,-0.0189818721675,-0.0190777286056,-0.0191735848683,-0.0192694409548,-0.0193652968642,-0.0194611525955,-0.019557008148,-0.0196528635207,-0.0197487187128,-0.0198445737234,-0.0199404285515,-0.0200362831964,-0.0201321376571,-0.0202279919327,-0.0203238460224,-0.0204196999253,-0.0205155536405,-0.0206114071671,-0.0207072605043,-0.0208031136511,-0.0208989666067,-0.0209948193702,-0.0210906719408,-0.0211865243174,-0.0212823764994,-0.0213782284857,-0.0214740802755,-0.0215699318679,-0.021665783262,-0.021761634457,-0.021857485452,-0.0219533362461,-0.0220491868384,-0.022145037228,-0.022240887414,-0.0223367373956,-0.0224325871719,-0.0225284367421,-0.0226242861051,-0.0227201352602,-0.0228159842064,-0.0229118329429,-0.0230076814688,-0.0231035297833,-0.0231993778853,-0.0232952257742,-0.0233910734489,-0.0234869209086,-0.0235827681524,-0.0236786151794,-0.0237744619888,-0.0238703085797,-0.0239661549511,-0.0240620011023,-0.0241578470323,-0.0242536927402,-0.0243495382252,-0.0244453834864,-0.0245412285229,-0.0246370733338,-0.0247329179183,-0.0248287622754,-0.0249246064043,-0.0250204503041,-0.0251162939739,-0.0252121374128,-0.02530798062,-0.0254038235946,-0.0254996663357,-0.0255955088423,-0.0256913511138,-0.025787193149,-0.0258830349473,-0.0259788765076,-0.0260747178291,-0.026170558911,-0.0262663997523,-0.0263622403521,-0.0264580807097,-0.026553920824,-0.0266497606943,-0.0267456003196,-0.0268414396991,-0.0269372788319,-0.027033117717,-0.0271289563537,-0.027224794741,-0.0273206328781,-0.027416470764,-0.0275123083979,-0.027608145779,-0.0277039829062,-0.0277998197789,-0.027895656396,-0.0279914927567,-0.02808732886,-0.0281831647053,-0.0282790002914,-0.0283748356177,-0.0284706706831,-0.0285665054868,-0.028662340028,-0.0287581743056,-0.028854008319,-0.0289498420671,-0.0290456755491,-0.0291415087642,-0.0292373417114,-0.0293331743898,-0.0294290067986,-0.0295248389369,-0.0296206708039,-0.0297165023985,-0.02981233372,-0.0299081647675,-0.0300039955401,-0.0300998260369,-0.030195656257,-0.0302914861995,-0.0303873158637,-0.0304831452485,-0.0305789743531,-0.0306748031766,-0.0307706317182,-0.030866459977,-0.030962287952,-0.0310581156424,-0.0311539430474,-0.031249770166,-0.0313455969973,-0.0314414235406,-0.0315372497948,-0.0316330757591,-0.0317289014327,-0.0318247268146,-0.031920551904,-0.0320163767,-0.0321122012018,-0.0322080254083,-0.0323038493188,-0.0323996729324,-0.0324954962481,-0.0325913192652,-0.0326871419827,-0.0327829643997,-0.0328787865154,-0.0329746083289,-0.0330704298393,-0.0331662510457,-0.0332620719473,-0.0333578925431,-0.0334537128323,-0.033549532814,-0.0336453524873,-0.0337411718514,-0.0338369909053,-0.0339328096482,-0.0340286280792,-0.0341244461974,-0.034220264002,-0.034316081492,-0.0344118986665,-0.0345077155248,-0.0346035320659,-0.0346993482889,-0.034795164193,-0.0348909797772,-0.0349867950407,-0.0350826099826,-0.0351784246021,-0.0352742388982,-0.0353700528701,-0.0354658665169,-0.0355616798376,-0.0356574928315,-0.0357533054976,-0.0358491178351,-0.0359449298431,-0.0360407415207,-0.036136552867,-0.0362323638812,-0.0363281745623,-0.0364239849094,-0.0365197949218,-0.0366156045985,-0.0367114139387,-0.0368072229414,-0.0369030316057,-0.0369988399309,-0.037094647916,-0.0371904555601,-0.0372862628624,-0.0373820698219,-0.0374778764378,-0.0375736827093,-0.0376694886353,-0.0377652942152,-0.0378610994479,-0.0379569043325,-0.0380527088683,-0.0381485130544,-0.0382443168897,-0.0383401203736,-0.038435923505,-0.0385317262831,-0.038627528707,-0.0387233307759,-0.0388191324889,-0.038914933845,-0.0390107348435,-0.0391065354833,-0.0392023357637,-0.0392981356838,-0.0393939352426,-0.0394897344394,-0.0395855332731,-0.039681331743,-0.0397771298482,-0.0398729275877,-0.0399687249608,-0.0400645219664,-0.0401603186038,-0.040256114872,-0.0403519107703,-0.0404477062976,-0.0405435014531,-0.0406392962359,-0.0407350906452,-0.0408308846801,-0.0409266783397,-0.0410224716231,-0.0411182645294,-0.0412140570577,-0.0413098492073,-0.0414056409771,-0.0415014323663,-0.0415972233741,-0.0416930139995,-0.0417888042416,-0.0418845940997,-0.0419803835727,-0.0420761726599,-0.0421719613603,-0.0422677496731,-0.0423635375974,-0.0424593251323,-0.0425551122769,-0.0426508990304,-0.0427466853918,-0.0428424713602,-0.0429382569349,-0.043034042115,-0.0431298268994,-0.0432256112874,-0.0433213952781,-0.0434171788706,-0.043512962064,-0.0436087448575,-0.0437045272501,-0.0438003092409,-0.0438960908292,-0.043991872014,-0.0440876527945,-0.0441834331696,-0.0442792131387,-0.0443749927008,-0.0444707718549,-0.0445665506003,-0.0446623289361,-0.0447581068613,-0.0448538843752,-0.0449496614767,-0.0450454381651,-0.0451412144394,-0.0452369902988,-0.0453327657424,-0.0454285407693,-0.0455243153786,-0.0456200895695,-0.045715863341,-0.0458116366924,-0.0459074096226,-0.0460031821309,-0.0460989542163,-0.046194725878,-0.0462904971151,-0.0463862679267,-0.0464820383119,-0.0465778082699,-0.0466735777997,-0.0467693469005,-0.0468651155715,-0.0469608838116,-0.0470566516201,-0.0471524189961,-0.0472481859386,-0.0473439524469,-0.0474397185199,-0.047535484157,-0.047631249357,-0.0477270141193,-0.0478227784429,-0.0479185423269,-0.0480143057704,-0.0481100687726,-0.0482058313326,-0.0483015934495,-0.0483973551224,-0.0484931163504,-0.0485888771327,-0.0486846374684,-0.0487803973566,-0.0488761567964,-0.048971915787,-0.0490676743274,-0.0491634324168,-0.0492591900543,-0.049354947239,-0.0494507039701,-0.0495464602466,-0.0496422160677,-0.0497379714325,-0.0498337263401,-0.0499294807897,-0.0500252347803,-0.0501209883111,-0.0502167413812,-0.0503124939897,-0.0504082461357,-0.0505039978184,-0.0505997490369,-0.0506954997903,-0.0507912500777,-0.0508869998982,-0.050982749251,-0.0510784981352,-0.0511742465499,-0.0512699944941,-0.0513657419672,-0.051461488968,-0.0515572354959,-0.0516529815499,-0.051748727129,-0.0518444722325,-0.0519402168595,-0.052035961009,-0.0521317046803,-0.0522274478723,-0.0523231905843,-0.0524189328154,-0.0525146745646,-0.0526104158311,-0.0527061566141,-0.0528018969125,-0.0528976367257,-0.0529933760526,-0.0530891148924,-0.0531848532442,-0.0532805911071,-0.0533763284804,-0.0534720653629,-0.053567801754,-0.0536635376527,-0.0537592730582,-0.0538550079695,-0.0539507423857,-0.0540464763061,-0.0541422097297,-0.0542379426556,-0.054333675083,-0.0544294070109,-0.0545251384386,-0.054620869365,-0.0547165997894,-0.0548123297109,-0.0549080591285,-0.0550037880415,-0.0550995164488,-0.0551952443497,-0.0552909717432,-0.0553866986286,-0.0554824250048,-0.055578150871,-0.0556738762264,-0.05576960107,-0.055865325401,-0.0559610492185,-0.0560567725216,-0.0561524953095,-0.0562482175812,-0.0563439393359,-0.0564396605727,-0.0565353812907,-0.0566311014891,-0.0567268211669,-0.0568225403233,-0.0569182589574,-0.0570139770683,-0.0571096946552,-0.0572054117171,-0.0573011282532,-0.0573968442626,-0.0574925597444,-0.0575882746977,-0.0576839891217,-0.0577797030155,-0.0578754163782,-0.0579711292089,-0.0580668415068,-0.0581625532709,-0.0582582645004,-0.0583539751944,-0.0584496853521,-0.0585453949724,-0.0586411040547,-0.0587368125979,-0.0588325206012,-0.0589282280638,-0.0590239349847,-0.059119641363,-0.059215347198,-0.0593110524886,-0.0594067572341,-0.0595024614335,-0.059598165086,-0.0596938681907,-0.0597895707466,-0.059885272753,-0.059980974209,-0.0600766751136,-0.060172375466,-0.0602680752653,-0.0603637745107,-0.0604594732012,-0.0605551713359,-0.0606508689141,-0.0607465659348,-0.0608422623971,-0.0609379583001,-0.061033653643,-0.0611293484249,-0.061225042645,-0.0613207363022,-0.0614164293958,-0.0615121219249,-0.0616078138886,-0.061703505286,-0.0617991961162,-0.0618948863784,-0.0619905760716,-0.0620862651951,-0.0621819537478,-0.062277641729,-0.0623733291378,-0.0624690159732,-0.0625647022345,-0.0626603879206,-0.0627560730308,-0.0628517575642,-0.0629474415198,-0.0630431248968,-0.0631388076944,-0.0632344899116,-0.0633301715475,-0.0634258526014,-0.0635215330722,-0.0636172129592,-0.0637128922614,-0.063808570978,-0.063904249108,-0.0639999266507,-0.0640956036051,-0.0641912799704,-0.0642869557456,-0.0643826309299,-0.0644783055224,-0.0645739795222,-0.0646696529285,-0.0647653257403,-0.0648609979569,-0.0649566695772,-0.0650523406005,-0.0651480110259,-0.0652436808524,-0.0653393500792,-0.0654350187054,-0.0655306867302,-0.0656263541526,-0.0657220209718,-0.0658176871869,-0.065913352797,-0.0660090178013,-0.0661046821988,-0.0662003459886,-0.06629600917,-0.066391671742,-0.0664873337038,-0.0665829950544,-0.066678655793,-0.0667743159187,-0.0668699754306,-0.0669656343279,-0.0670612926096,-0.067156950275,-0.067252607323,-0.0673482637529,-0.0674439195637,-0.0675395747545,-0.0676352293246,-0.067730883273,-0.0678265365988,-0.0679221893012,-0.0680178413792,-0.0681134928321,-0.0682091436588,-0.0683047938586,-0.0684004434305,-0.0684960923738,-0.0685917406874,-0.0686873883705,-0.0687830354223,-0.0688786818418,-0.0689743276283,-0.0690699727807,-0.0691656172982,-0.06926126118,-0.0693569044252,-0.0694525470328,-0.0695481890021,-0.0696438303321,-0.0697394710219,-0.0698351110707,-0.0699307504776,-0.0700263892417,-0.0701220273621,-0.070217664838,-0.0703133016685,-0.0704089378526,-0.0705045733896,-0.0706002082785,-0.0706958425185,-0.0707914761086,-0.0708871090481,-0.070982741336,-0.0710783729714,-0.0711740039534,-0.0712696342813,-0.0713652639541,-0.0714608929708,-0.0715565213308,-0.071652149033,-0.0717477760766,-0.0718434024607,-0.0719390281844,-0.0720346532469,-0.0721302776472,-0.0722259013846,-0.0723215244581,-0.0724171468668,-0.0725127686098,-0.0726083896864,-0.0727040100955,-0.0727996298364,-0.072895248908,-0.0729908673097,-0.0730864850405,-0.0731821020994,-0.0732777184857,-0.0733733341984,-0.0734689492367,-0.0735645635997,-0.0736601772865,-0.0737557902962,-0.073851402628,-0.0739470142809,-0.0740426252541,-0.0741382355468,-0.074233845158,-0.0743294540868,-0.0744250623325,-0.074520669894,-0.0746162767706,-0.0747118829613,-0.0748074884652,-0.0749030932816,-0.0749986974094,-0.0750943008479,-0.0751899035962,-0.0752855056533,-0.0753811070184,-0.0754767076906,-0.075572307669,-0.0756679069528,-0.0757635055411,-0.075859103433,-0.0759547006275,-0.076050297124,-0.0761458929214,-0.0762414880189,-0.0763370824155,-0.0764326761105,-0.076528269103,-0.076623861392,-0.0767194529767,-0.0768150438563,-0.0769106340297,-0.0770062234962,-0.0771018122549,-0.0771974003049,-0.0772929876453,-0.0773885742753,-0.0774841601939,-0.0775797454003,-0.0776753298935,-0.0777709136729,-0.0778664967373,-0.077962079086,-0.0780576607182,-0.0781532416328,-0.0782488218291,-0.0783444013061,-0.078439980063,-0.0785355580988,-0.0786311354128,-0.0787267120041,-0.0788222878717,-0.0789178630148,-0.0790134374325,-0.0791090111239,-0.0792045840882,-0.0793001563244,-0.0793957278317,-0.0794912986092,-0.0795868686561,-0.0796824379714,-0.0797780065543,-0.0798735744039,-0.0799691415193,-0.0800647078997,-0.0801602735441,-0.0802558384517,-0.0803514026216,-0.0804469660529,-0.0805425287448,-0.0806380906964,-0.0807336519067,-0.080829212375,-0.0809247721003,-0.0810203310817,-0.0811158893185,-0.0812114468096,-0.0813070035542,-0.0814025595515,-0.0814981148006,-0.0815936693005,-0.0816892230505,-0.0817847760496,-0.0818803282969,-0.0819758797916,-0.0820714305328,-0.0821669805197,-0.0822625297512,-0.0823580782266,-0.0824536259451,-0.0825491729056,-0.0826447191073,-0.0827402645494,-0.0828358092309,-0.0829313531511,-0.0830268963089,-0.0831224387036,-0.0832179803343,-0.0833135212,-0.0834090612999,-0.0835046006332,-0.0836001391988,-0.0836956769961,-0.083791214024,-0.0838867502818,-0.0839822857685,-0.0840778204832,-0.0841733544251,-0.0842688875933,-0.0843644199869,-0.0844599516051,-0.0845554824469,-0.0846510125116,-0.0847465417981,-0.0848420703056,-0.0849375980333,-0.0850331249803,-0.0851286511456,-0.0852241765285,-0.085319701128,-0.0854152249433,-0.0855107479735,-0.0856062702176,-0.0857017916749,-0.0857973123444,-0.0858928322253,-0.0859883513167,-0.0860838696177,-0.0861793871275,-0.0862749038451,-0.0863704197697,-0.0864659349003,-0.0865614492363,-0.0866569627765,-0.0867524755202,-0.0868479874665,-0.0869434986145,-0.0870390089634,-0.0871345185122,-0.0872300272601,-0.0873255352062,-0.0874210423496,-0.0875165486895,-0.0876120542249,-0.087707558955,-0.0878030628789,-0.0878985659958,-0.0879940683047,-0.0880895698048,-0.0881850704952,-0.088280570375,-0.0883760694433,-0.0884715676993,-0.0885670651421,-0.0886625617709,-0.0887580575846,-0.0888535525825,-0.0889490467637,-0.0890445401273,-0.0891400326724,-0.0892355243981,-0.0893310153037,-0.0894265053881,-0.0895219946505,-0.08961748309,-0.0897129707058,-0.089808457497,-0.0899039434627,-0.089999428602,-0.090094912914,-0.0901903963979,-0.0902858790529,-0.0903813608779,-0.0904768418721,-0.0905723220347,-0.0906678013648,-0.0907632798615,-0.0908587575239,-0.0909542343511,-0.0910497103424,-0.0911451854967,-0.0912406598132,-0.0913361332911,-0.0914316059294,-0.0915270777273,-0.0916225486839,-0.0917180187983,-0.0918134880697,-0.0919089564971,-0.0920044240798,-0.0920998908167,-0.0921953567071,-0.0922908217501,-0.0923862859447,-0.0924817492901,-0.0925772117855,-0.0926726734299,-0.0927681342225,-0.0928635941624,-0.0929590532487,-0.0930545114805,-0.093149968857,-0.0932454253773,-0.0933408810405,-0.0934363358457,-0.0935317897921,-0.0936272428788,-0.0937226951048,-0.0938181464694,-0.0939135969716,-0.0940090466106,-0.0941044953855,-0.0941999432954,-0.0942953903394,-0.0943908365167,-0.0944862818264,-0.0945817262675,-0.0946771698393,-0.0947726125408,-0.0948680543712,-0.0949634953296,-0.0950589354152,-0.0951543746269,-0.095249812964,-0.0953452504256,-0.0954406870108,-0.0955361227188,-0.0956315575485,-0.0957269914993,-0.0958224245702,-0.0959178567602,-0.0960132880687,-0.0961087184946,-0.096204148037,-0.0962995766952,-0.0963950044683,-0.0964904313553,-0.0965858573553,-0.0966812824676,-0.0967767066912,-0.0968721300252,-0.0969675524688,-0.0970629740212,-0.0971583946813,-0.0972538144484,-0.0973492333215,-0.0974446512998,-0.0975400683825,-0.0976354845685,-0.0977308998571,-0.0978263142474,-0.0979217277385,-0.0980171403296,-0.0981125520196,-0.0982079628079,-0.0983033726934,-0.0983987816754,-0.0984941897529,-0.098589596925,-0.098685003191,-0.0987804085498,-0.0988758130007,-0.0989712165427,-0.099066619175,-0.0991620208967,-0.099257421707,-0.0993528216049,-0.0994482205895,-0.0995436186601,-0.0996390158156,-0.0997344120553,-0.0998298073783,-0.0999252017837,-0.100020595271,-0.100115987838,-0.100211379485,-0.100306770211,-0.100402160016,-0.100497548897,-0.100592936854,-0.100688323887,-0.100783709995,-0.100879095176,-0.100974479429,-0.101069862755,-0.101165245151,-0.101260626618,-0.101356007154,-0.101451386758,-0.10154676543,-0.101642143168,-0.101737519973,-0.101832895841,-0.101928270774,-0.10202364477,-0.102119017829,-0.102214389948,-0.102309761128,-0.102405131368,-0.102500500666,-0.102595869022,-0.102691236436,-0.102786602905,-0.102881968429,-0.102977333008,-0.10307269664,-0.103168059325,-0.103263421062,-0.103358781849,-0.103454141686,-0.103549500573,-0.103644858507,-0.103740215489,-0.103835571517,-0.103930926591,-0.10402628071,-0.104121633872,-0.104216986077,-0.104312337325,-0.104407687613,-0.104503036942,-0.10459838531,-0.104693732717,-0.104789079162,-0.104884424643,-0.10497976916,-0.105075112713,-0.105170455299,-0.105265796919,-0.105361137571,-0.105456477255,-0.105551815969,-0.105647153713,-0.105742490487,-0.105837826288,-0.105933161116,-0.106028494971,-0.106123827851,-0.106219159755,-0.106314490683,-0.106409820634,-0.106505149607,-0.106600477601,-0.106695804615,-0.106791130648,-0.1068864557,-0.106981779769,-0.107077102855,-0.107172424957,-0.107267746073,-0.107363066204,-0.107458385348,-0.107553703504,-0.107649020671,-0.107744336849,-0.107839652036,-0.107934966233,-0.108030279437,-0.108125591648,-0.108220902865,-0.108316213088,-0.108411522315,-0.108506830545,-0.108602137778,-0.108697444013,-0.108792749249,-0.108888053485,-0.108983356719,-0.109078658952,-0.109173960183,-0.10926926041,-0.109364559632,-0.10945985785,-0.109555155061,-0.109650451265,-0.109745746461,-0.109841040649,-0.109936333827,-0.110031625994,-0.11012691715,-0.110222207294,-0.110317496424,-0.110412784541,-0.110508071643,-0.110603357729,-0.110698642798,-0.11079392685,-0.110889209883,-0.110984491897,-0.111079772891,-0.111175052864,-0.111270331815,-0.111365609743,-0.111460886648,-0.111556162528,-0.111651437383,-0.111746711211,-0.111841984012,-0.111937255786,-0.11203252653,-0.112127796244,-0.112223064928,-0.112318332581,-0.112413599201,-0.112508864787,-0.11260412934,-0.112699392857,-0.112794655339,-0.112889916784,-0.112985177191,-0.113080436559,-0.113175694889,-0.113270952178,-0.113366208425,-0.113461463631,-0.113556717794,-0.113651970913,-0.113747222987,-0.113842474016,-0.113937723998,-0.114032972933,-0.11412822082,-0.114223467658,-0.114318713446,-0.114413958183,-0.114509201869,-0.114604444502,-0.114699686081,-0.114794926607,-0.114890166077,-0.114985404491,-0.115080641848,-0.115175878147,-0.115271113388,-0.115366347569,-0.115461580689,-0.115556812749,-0.115652043746,-0.11574727368,-0.11584250255,-0.115937730356,-0.116032957095,-0.116128182769,-0.116223407374,-0.116318630912,-0.11641385338,-0.116509074778,-0.116604295106,-0.116699514361,-0.116794732544,-0.116889949653,-0.116985165688,-0.117080380648,-0.117175594531,-0.117270807338,-0.117366019066,-0.117461229715,-0.117556439285,-0.117651647775,-0.117746855183,-0.117842061508,-0.117937266751,-0.118032470909,-0.118127673983,-0.11822287597,-0.118318076871,-0.118413276685,-0.11850847541,-0.118603673045,-0.118698869591,-0.118794065045,-0.118889259408,-0.118984452678,-0.119079644854,-0.119174835935,-0.119270025921,-0.119365214811,-0.119460402604,-0.119555589298,-0.119650774894,-0.119745959389,-0.119841142785,-0.119936325078,-0.120031506269,-0.120126686357,-0.120221865341,-0.120317043219,-0.120412219992,-0.120507395658,-0.120602570216,-0.120697743666,-0.120792916006,-0.120888087236,-0.120983257354,-0.121078426361,-0.121173594255,-0.121268761035,-0.1213639267,-0.12145909125,-0.121554254683,-0.121649416999,-0.121744578197,-0.121839738276,-0.121934897235,-0.122030055073,-0.122125211789,-0.122220367383,-0.122315521853,-0.122410675199,-0.12250582742,-0.122600978515,-0.122696128483,-0.122791277323,-0.122886425035,-0.122981571617,-0.123076717068,-0.123171861388,-0.123267004576,-0.123362146631,-0.123457287552,-0.123552427339,-0.123647565989,-0.123742703503,-0.12383783988,-0.123932975119,-0.124028109218,-0.124123242177,-0.124218373995,-0.124313504672,-0.124408634205,-0.124503762596,-0.124598889842,-0.124694015942,-0.124789140897,-0.124884264704,-0.124979387363,-0.125074508874,-0.125169629235,-0.125264748446,-0.125359866505,-0.125454983412,-0.125550099165,-0.125645213765,-0.12574032721,-0.125835439498,-0.125930550631,-0.126025660606,-0.126120769422,-0.126215877079,-0.126310983576,-0.126406088912,-0.126501193086,-0.126596296097,-0.126691397945,-0.126786498628,-0.126881598145,-0.126976696497,-0.127071793681,-0.127166889697,-0.127261984545,-0.127357078222,-0.127452170729,-0.127547262065,-0.127642352228,-0.127737441218,-0.127832529033,-0.127927615674,-0.128022701139,-0.128117785427,-0.128212868537,-0.128307950469,-0.128403031222,-0.128498110794,-0.128593189185,-0.128688266394,-0.12878334242,-0.128878417263,-0.128973490921,-0.129068563393,-0.129163634679,-0.129258704778,-0.129353773688,-0.12944884141,-0.129543907942,-0.129638973283,-0.129734037432,-0.129829100389,-0.129924162153,-0.130019222722,-0.130114282096,-0.130209340275,-0.130304397256,-0.13039945304,-0.130494507625,-0.13058956101,-0.130684613196,-0.13077966418,-0.130874713962,-0.130969762541,-0.131064809916,-0.131159856086,-0.131254901051,-0.131349944809,-0.13144498736,-0.131540028703,-0.131635068837,-0.13173010776,-0.131825145473,-0.131920181974,-0.132015217263,-0.132110251338,-0.132205284199,-0.132300315844,-0.132395346274,-0.132490375487,-0.132585403481,-0.132680430257,-0.132775455814,-0.13287048015,-0.132965503265,-0.133060525157,-0.133155545827,-0.133250565272,-0.133345583493,-0.133440600488,-0.133535616256,-0.133630630797,-0.13372564411,-0.133820656194,-0.133915667047,-0.13401067667,-0.134105685061,-0.134200692219,-0.134295698143,-0.134390702834,-0.134485706288,-0.134580708507,-0.134675709489,-0.134770709233,-0.134865707738,-0.134960705003,-0.135055701028,-0.135150695811,-0.135245689352,-0.13534068165,-0.135435672704,-0.135530662513,-0.135625651076,-0.135720638393,-0.135815624462,-0.135910609283,-0.136005592854,-0.136100575176,-0.136195556246,-0.136290536064,-0.13638551463,-0.136480491942,-0.136575468,-0.136670442802,-0.136765416348,-0.136860388637,-0.136955359668,-0.13705032944,-0.137145297952,-0.137240265204,-0.137335231194,-0.137430195921,-0.137525159386,-0.137620121586,-0.137715082522,-0.137810042192,-0.137905000595,-0.13799995773,-0.138094913597,-0.138189868194,-0.138284821522,-0.138379773578,-0.138474724362,-0.138569673873,-0.138664622111,-0.138759569074,-0.138854514762,-0.138949459173,-0.139044402308,-0.139139344164,-0.139234284741,-0.139329224038,-0.139424162055,-0.13951909879,-0.139614034243,-0.139708968412,-0.139803901298,-0.139898832898,-0.139993763212,-0.14008869224,-0.140183619979,-0.140278546431,-0.140373471592,-0.140468395464,-0.140563318044,-0.140658239333,-0.140753159328,-0.14084807803,-0.140942995437,-0.141037911549,-0.141132826364,-0.141227739882,-0.141322652102,-0.141417563022,-0.141512472643,-0.141607380963,-0.141702287982,-0.141797193698,-0.14189209811,-0.141987001219,-0.142081903022,-0.142176803519,-0.14227170271,-0.142366600593,-0.142461497167,-0.142556392431,-0.142651286386,-0.142746179029,-0.14284107036,-0.142935960378,-0.143030849082,-0.143125736471,-0.143220622545,-0.143315507303,-0.143410390743,-0.143505272865,-0.143600153667,-0.14369503315,-0.143789911312,-0.143884788153,-0.143979663671,-0.144074537865,-0.144169410735,-0.14426428228,-0.144359152499,-0.144454021391,-0.144548888955,-0.144643755191,-0.144738620097,-0.144833483672,-0.144928345916,-0.145023206829,-0.145118066408,-0.145212924653,-0.145307781563,-0.145402637138,-0.145497491376,-0.145592344277,-0.14568719584,-0.145782046064,-0.145876894947,-0.14597174249,-0.146066588691,-0.146161433549,-0.146256277064,-0.146351119234,-0.14644596006,-0.146540799539,-0.146635637671,-0.146730474455,-0.146825309891,-0.146920143977,-0.147014976713,-0.147109808097,-0.147204638129,-0.147299466808,-0.147394294133,-0.147489120103,-0.147583944718,-0.147678767976,-0.147773589876,-0.147868410418,-0.147963229601,-0.148058047424,-0.148152863887,-0.148247678987,-0.148342492725,-0.148437305099,-0.148532116108,-0.148626925753,-0.148721734031,-0.148816540942,-0.148911346486,-0.14900615066,-0.149100953465,-0.1491957549,-0.149290554963,-0.149385353654,-0.149480150972,-0.149574946915,-0.149669741484,-0.149764534677,-0.149859326494,-0.149954116933,-0.150048905994,-0.150143693675,-0.150238479977,-0.150333264897,-0.150428048436,-0.150522830592,-0.150617611364,-0.150712390752,-0.150807168755,-0.150901945371,-0.1509967206,-0.151091494442,-0.151186266894,-0.151281037957,-0.15137580763,-0.151470575911,-0.151565342799,-0.151660108295,-0.151754872397,-0.151849635103,-0.151944396414,-0.152039156328,-0.152133914845,-0.152228671963,-0.152323427682,-0.152418182001,-0.152512934919,-0.152607686435,-0.152702436549,-0.152797185258,-0.152891932564,-0.152986678464,-0.153081422957,-0.153176166044,-0.153270907723,-0.153365647992,-0.153460386852,-0.153555124302,-0.15364986034,-0.153744594966,-0.153839328178,-0.153934059977,-0.154028790361,-0.154123519328,-0.154218246879,-0.154312973013,-0.154407697728,-0.154502421024,-0.1545971429,-0.154691863355,-0.154786582387,-0.154881299997,-0.154976016184,-0.155070730946,-0.155165444282,-0.155260156193,-0.155354866676,-0.155449575731,-0.155544283357,-0.155638989554,-0.15573369432,-0.155828397654,-0.155923099556,-0.156017800025,-0.15611249906,-0.15620719666,-0.156301892824,-0.156396587552,-0.156491280842,-0.156585972693,-0.156680663105,-0.156775352077,-0.156870039608,-0.156964725697,-0.157059410343,-0.157154093546,-0.157248775304,-0.157343455616,-0.157438134483,-0.157532811902,-0.157627487873,-0.157722162395,-0.157816835468,-0.15791150709,-0.15800617726,-0.158100845978,-0.158195513243,-0.158290179054,-0.15838484341,-0.15847950631,-0.158574167753,-0.158668827739,-0.158763486266,-0.158858143334,-0.158952798942,-0.159047453088,-0.159142105773,-0.159236756995,-0.159331406753,-0.159426055047,-0.159520701875,-0.159615347237,-0.159709991132,-0.159804633559,-0.159899274517,-0.159993914005,-0.160088552023,-0.160183188569,-0.160277823642,-0.160372457243,-0.160467089369,-0.160561720021,-0.160656349196,-0.160750976895,-0.160845603116,-0.160940227859,-0.161034851122,-0.161129472906,-0.161224093208,-0.161318712028,-0.161413329366,-0.161507945219,-0.161602559588,-0.161697172472,-0.16179178387,-0.16188639378,-0.161981002202,-0.162075609136,-0.16217021458,-0.162264818533,-0.162359420994,-0.162454021963,-0.162548621439,-0.162643219421,-0.162737815908,-0.162832410899,-0.162927004393,-0.16302159639,-0.163116186888,-0.163210775887,-0.163305363385,-0.163399949383,-0.163494533879,-0.163589116871,-0.163683698361,-0.163778278345,-0.163872856825,-0.163967433797,-0.164062009263,-0.164156583221,-0.16425115567,-0.164345726609,-0.164440296037,-0.164534863954,-0.164629430359,-0.16472399525,-0.164818558628,-0.16491312049,-0.165007680836,-0.165102239666,-0.165196796978,-0.165291352772,-0.165385907046,-0.1654804598,-0.165575011034,-0.165669560745,-0.165764108933,-0.165858655598,-0.165953200738,-0.166047744353,-0.166142286441,-0.166236827003,-0.166331366036,-0.16642590354,-0.166520439515,-0.166614973959,-0.166709506872,-0.166804038252,-0.166898568099,-0.166993096412,-0.16708762319,-0.167182148432,-0.167276672137,-0.167371194305,-0.167465714935,-0.167560234025,-0.167654751575,-0.167749267584,-0.167843782051,-0.167938294975,-0.168032806355,-0.168127316191,-0.168221824482,-0.168316331226,-0.168410836423,-0.168505340073,-0.168599842173,-0.168694342724,-0.168788841724,-0.168883339172,-0.168977835068,-0.169072329411,-0.1691668222,-0.169261313434,-0.169355803112,-0.169450291234,-0.169544777798,-0.169639262803,-0.16973374625,-0.169828228136,-0.169922708461,-0.170017187224,-0.170111664424,-0.170206140061,-0.170300614133,-0.17039508664,-0.170489557581,-0.170584026954,-0.17067849476,-0.170772960997,-0.170867425664,-0.17096188876,-0.171056350285,-0.171150810238,-0.171245268618,-0.171339725423,-0.171434180654,-0.171528634308,-0.171623086386,-0.171717536887,-0.171811985809,-0.171906433152,-0.172000878915,-0.172095323097,-0.172189765697,-0.172284206714,-0.172378646148,-0.172473083997,-0.172567520261,-0.172661954938,-0.172756388029,-0.172850819531,-0.172945249445,-0.173039677769,-0.173134104503,-0.173228529645,-0.173322953195,-0.173417375152,-0.173511795514,-0.173606214282,-0.173700631454,-0.17379504703,-0.173889461008,-0.173983873387,-0.174078284168,-0.174172693348,-0.174267100928,-0.174361506905,-0.17445591128,-0.174550314051,-0.174644715218,-0.17473911478,-0.174833512735,-0.174927909083,-0.175022303824,-0.175116696956,-0.175211088478,-0.175305478389,-0.175399866689,-0.175494253377,-0.175588638452,-0.175683021913,-0.175777403759,-0.175871783989,-0.175966162603,-0.176060539599,-0.176154914977,-0.176249288736,-0.176343660875,-0.176438031393,-0.176532400289,-0.176626767562,-0.176721133212,-0.176815497238,-0.176909859638,-0.177004220412,-0.177098579559,-0.177192937079,-0.177287292969,-0.17738164723,-0.177475999861,-0.17757035086,-0.177664700227,-0.177759047961,-0.177853394061,-0.177947738526,-0.178042081356,-0.178136422549,-0.178230762105,-0.178325100022,-0.178419436301,-0.178513770939,-0.178608103936,-0.178702435292,-0.178796765005,-0.178891093075,-0.1789854195,-0.179079744281,-0.179174067415,-0.179268388902,-0.179362708741,-0.179457026932,-0.179551343473,-0.179645658364,-0.179739971603,-0.179834283191,-0.179928593125,-0.180022901406,-0.180117208031,-0.180211513002,-0.180305816315,-0.180400117972,-0.18049441797,-0.180588716309,-0.180683012988,-0.180777308007,-0.180871601363,-0.180965893058,-0.181060183088,-0.181154471455,-0.181248758156,-0.181343043192,-0.18143732656,-0.181531608261,-0.181625888293,-0.181720166656,-0.181814443348,-0.18190871837,-0.182002991719,-0.182097263395,-0.182191533397,-0.182285801725,-0.182380068377,-0.182474333353,-0.182568596652,-0.182662858272,-0.182757118214,-0.182851376475,-0.182945633056,-0.183039887955,-0.183134141172,-0.183228392705,-0.183322642555,-0.183416890719,-0.183511137197,-0.183605381988,-0.183699625092,-0.183793866507,-0.183888106233,-0.183982344269,-0.184076580613,-0.184170815266,-0.184265048226,-0.184359279491,-0.184453509063,-0.184547736939,-0.184641963118,-0.1847361876,-0.184830410385,-0.18492463147,-0.185018850856,-0.185113068541,-0.185207284524,-0.185301498805,-0.185395711383,-0.185489922257,-0.185584131425,-0.185678338888,-0.185772544644,-0.185866748693,-0.185960951033,-0.186055151663,-0.186149350584,-0.186243547794,-0.186337743291,-0.186431937076,-0.186526129147,-0.186620319504,-0.186714508145,-0.18680869507,-0.186902880278,-0.186997063768,-0.18709124554,-0.187185425591,-0.187279603922,-0.187373780531,-0.187467955419,-0.187562128583,-0.187656300023,-0.187750469738,-0.187844637727,-0.18793880399,-0.188032968525,-0.188127131332,-0.188221292409,-0.188315451757,-0.188409609373,-0.188503765258,-0.18859791941,-0.188692071829,-0.188786222513,-0.188880371462,-0.188974518674,-0.18906866415,-0.189162807888,-0.189256949887,-0.189351090146,-0.189445228665,-0.189539365443,-0.189633500478,-0.18972763377,-0.189821765319,-0.189915895122,-0.19001002318,-0.190104149492,-0.190198274056,-0.190292396871,-0.190386517938,-0.190480637254,-0.19057475482,-0.190668870634,-0.190762984696,-0.190857097004,-0.190951207557,-0.191045316356,-0.191139423398,-0.191233528684,-0.191327632212,-0.191421733981,-0.19151583399,-0.19160993224,-0.191704028728,-0.191798123453,-0.191892216416,-0.191986307615,-0.19208039705,-0.192174484719,-0.192268570621,-0.192362654756,-0.192456737123,-0.192550817721,-0.192644896549,-0.192738973607,-0.192833048892,-0.192927122405,-0.193021194145,-0.193115264111,-0.193209332302,-0.193303398716,-0.193397463354,-0.193491526214,-0.193585587296,-0.193679646598,-0.19377370412,-0.193867759861,-0.19396181382,-0.194055865996,-0.194149916388,-0.194243964996,-0.194338011818,-0.194432056854,-0.194526100103,-0.194620141563,-0.194714181235,-0.194808219117,-0.194902255209,-0.194996289509,-0.195090322016,-0.19518435273,-0.195278381651,-0.195372408776,-0.195466434105,-0.195560457638,-0.195654479373,-0.19574849931,-0.195842517448,-0.195936533785,-0.196030548321,-0.196124561056,-0.196218571988,-0.196312581116,-0.19640658844,-0.196500593958,-0.19659459767,-0.196688599575,-0.196782599672,-0.196876597961,-0.19697059444,-0.197064589108,-0.197158581965,-0.197252573009,-0.197346562241,-0.197440549659,-0.197534535261,-0.197628519048,-0.197722501019,-0.197816481172,-0.197910459507,-0.198004436022,-0.198098410718,-0.198192383593,-0.198286354646,-0.198380323876,-0.198474291283,-0.198568256866,-0.198662220623,-0.198756182554,-0.198850142659,-0.198944100935,-0.199038057383,-0.199132012002,-0.19922596479,-0.199319915747,-0.199413864871,-0.199507812163,-0.199601757621,-0.199695701244,-0.199789643032,-0.199883582983,-0.199977521097,-0.200071457373,-0.20016539181,-0.200259324407,-0.200353255163,-0.200447184078,-0.20054111115,-0.200635036378,-0.200728959763,-0.200822881302,-0.200916800996,-0.201010718843,-0.201104634842,-0.201198548993,-0.201292461294,-0.201386371745,-0.201480280345,-0.201574187093,-0.201668091988,-0.20176199503,-0.201855896217,-0.201949795548,-0.202043693023,-0.202137588641,-0.202231482401,-0.202325374303,-0.202419264344,-0.202513152525,-0.202607038844,-0.202700923302,-0.202794805895,-0.202888686625,-0.20298256549,-0.203076442489,-0.203170317622,-0.203264190887,-0.203358062284,-0.203451931811,-0.203545799469,-0.203639665255,-0.20373352917,-0.203827391212,-0.20392125138,-0.204015109674,-0.204108966093,-0.204202820635,-0.204296673301,-0.204390524089,-0.204484372998,-0.204578220027,-0.204672065176,-0.204765908444,-0.20485974983,-0.204953589332,-0.205047426951,-0.205141262685,-0.205235096533,-0.205328928495,-0.20542275857,-0.205516586756,-0.205610413053,-0.20570423746,-0.205798059977,-0.205891880602,-0.205985699334,-0.206079516173,-0.206173331118,-0.206267144167,-0.206360955321,-0.206454764578,-0.206548571937,-0.206642377398,-0.206736180959,-0.20682998262,-0.20692378238,-0.207017580237,-0.207111376192,-0.207205170243,-0.20729896239,-0.207392752631,-0.207486540966,-0.207580327394,-0.207674111913,-0.207767894524,-0.207861675225,-0.207955454015,-0.208049230894,-0.208143005861,-0.208236778914,-0.208330550053,-0.208424319278,-0.208518086586,-0.208611851978,-0.208705615453,-0.208799377009,-0.208893136645,-0.208986894362,-0.209080650158,-0.209174404032,-0.209268155983,-0.20936190601,-0.209455654114,-0.209549400292,-0.209643144543,-0.209736886868,-0.209830627265,-0.209924365734,-0.210018102272,-0.21011183688,-0.210205569557,-0.210299300302,-0.210393029114,-0.210486755992,-0.210580480935,-0.210674203942,-0.210767925013,-0.210861644147,-0.210955361343,-0.211049076599,-0.211142789916,-0.211236501291,-0.211330210725,-0.211423918217,-0.211517623765,-0.211611327369,-0.211705029028,-0.211798728741,-0.211892426507,-0.211986122326,-0.212079816196,-0.212173508116,-0.212267198087,-0.212360886106,-0.212454572173,-0.212548256288,-0.212641938448,-0.212735618654,-0.212829296905,-0.2129229732,-0.213016647537,-0.213110319916,-0.213203990337,-0.213297658797,-0.213391325297,-0.213484989836,-0.213578652412,-0.213672313026,-0.213765971675,-0.213859628359,-0.213953283078,-0.214046935829,-0.214140586614,-0.21423423543,-0.214327882277,-0.214421527154,-0.21451517006,-0.214608810994,-0.214702449955,-0.214796086943,-0.214889721957,-0.214983354995,-0.215076986058,-0.215170615143,-0.215264242251,-0.21535786738,-0.215451490529,-0.215545111698,-0.215638730886,-0.215732348092,-0.215825963314,-0.215919576553,-0.216013187808,-0.216106797076,-0.216200404358,-0.216294009653,-0.21638761296,-0.216481214278,-0.216574813606,-0.216668410944,-0.216762006289,-0.216855599643,-0.216949191003,-0.217042780369,-0.217136367739,-0.217229953114,-0.217323536493,-0.217417117873,-0.217510697256,-0.217604274638,-0.217697850021,-0.217791423403,-0.217884994783,-0.21797856416,-0.218072131533,-0.218165696902,-0.218259260266,-0.218352821623,-0.218446380974,-0.218539938316,-0.21863349365,-0.218727046974,-0.218820598288,-0.21891414759,-0.21900769488,-0.219101240157,-0.21919478342,-0.219288324668,-0.219381863901,-0.219475401117,-0.219568936315,-0.219662469496,-0.219756000657,-0.219849529799,-0.219943056919,-0.220036582018,-0.220130105095,-0.220223626148,-0.220317145177,-0.22041066218,-0.220504177158,-0.220597690109,-0.220691201032,-0.220784709927,-0.220878216792,-0.220971721627,-0.221065224431,-0.221158725203,-0.221252223942,-0.221345720647,-0.221439215318,-0.221532707953,-0.221626198552,-0.221719687114,-0.221813173638,-0.221906658123,-0.222000140568,-0.222093620973,-0.222187099337,-0.222280575658,-0.222374049935,-0.222467522169,-0.222560992358,-0.222654460502,-0.222747926598,-0.222841390647,-0.222934852648,-0.2230283126,-0.223121770502,-0.223215226353,-0.223308680152,-0.223402131898,-0.223495581591,-0.22358902923,-0.223682474813,-0.223775918341,-0.223869359811,-0.223962799224,-0.224056236578,-0.224149671873,-0.224243105107,-0.22433653628,-0.224429965392,-0.22452339244,-0.224616817424,-0.224710240344,-0.224803661198,-0.224897079986,-0.224990496707,-0.22508391136,-0.225177323944,-0.225270734458,-0.225364142901,-0.225457549273,-0.225550953572,-0.225644355799,-0.225737755951,-0.225831154028,-0.22592455003,-0.226017943954,-0.226111335802,-0.226204725571,-0.22629811326,-0.22639149887,-0.226484882399,-0.226578263846,-0.22667164321,-0.226765020491,-0.226858395687,-0.226951768798,-0.227045139823,-0.227138508761,-0.227231875611,-0.227325240373,-0.227418603045,-0.227511963627,-0.227605322117,-0.227698678516,-0.227792032821,-0.227885385033,-0.22797873515,-0.228072083171,-0.228165429096,-0.228258772924,-0.228352114653,-0.228445454284,-0.228538791815,-0.228632127245,-0.228725460574,-0.2288187918,-0.228912120923,-0.229005447942,-0.229098772856,-0.229192095664,-0.229285416365,-0.229378734959,-0.229472051444,-0.229565365821,-0.229658678087,-0.229751988242,-0.229845296285,-0.229938602216,-0.230031906033,-0.230125207735,-0.230218507323,-0.230311804794,-0.230405100148,-0.230498393385,-0.230591684502,-0.230684973501,-0.230778260378,-0.230871545135,-0.230964827769,-0.231058108281,-0.231151386668,-0.231244662931,-0.231337937069,-0.231431209079,-0.231524478963,-0.231617746719,-0.231711012345,-0.231804275842,-0.231897537208,-0.231990796442,-0.232084053545,-0.232177308513,-0.232270561348,-0.232363812048,-0.232457060612,-0.232550307039,-0.232643551328,-0.23273679348,-0.232830033492,-0.232923271363,-0.233016507094,-0.233109740683,-0.233202972129,-0.233296201432,-0.233389428591,-0.233482653604,-0.233575876471,-0.233669097191,-0.233762315763,-0.233855532186,-0.23394874646,-0.234041958584,-0.234135168556,-0.234228376376,-0.234321582043,-0.234414785556,-0.234507986915,-0.234601186118,-0.234694383165,-0.234787578054,-0.234880770785,-0.234973961358,-0.23506714977,-0.235160336022,-0.235253520112,-0.23534670204,-0.235439881805,-0.235533059405,-0.23562623484,-0.23571940811,-0.235812579213,-0.235905748149,-0.235998914916,-0.236092079513,-0.236185241941,-0.236278402198,-0.236371560283,-0.236464716195,-0.236557869934,-0.236651021498,-0.236744170887,-0.2368373181,-0.236930463136,-0.237023605994,-0.237116746674,-0.237209885174,-0.237303021494,-0.237396155632,-0.237489287588,-0.237582417362,-0.237675544951,-0.237768670356,-0.237861793575,-0.237954914608,-0.238048033454,-0.238141150112,-0.23823426458,-0.238327376859,-0.238420486948,-0.238513594844,-0.238606700549,-0.23869980406,-0.238792905377,-0.238886004499,-0.238979101425,-0.239072196155,-0.239165288687,-0.239258379021,-0.239351467156,-0.239444553091,-0.239537636824,-0.239630718356,-0.239723797685,-0.239816874811,-0.239909949733,-0.240003022449,-0.240096092959,-0.240189161262,-0.240282227358,-0.240375291244,-0.240468352922,-0.240561412389,-0.240654469645,-0.240747524689,-0.24084057752,-0.240933628137,-0.241026676539,-0.241119722726,-0.241212766697,-0.241305808451,-0.241398847986,-0.241491885303,-0.2415849204,-0.241677953276,-0.241770983931,-0.241864012364,-0.241957038573,-0.242050062558,-0.242143084319,-0.242236103854,-0.242329121162,-0.242422136243,-0.242515149095,-0.242608159718,-0.242701168112,-0.242794174274,-0.242887178205,-0.242980179903,-0.243073179368,-0.243166176599,-0.243259171594,-0.243352164353,-0.243445154876,-0.243538143161,-0.243631129207,-0.243724113014,-0.24381709458,-0.243910073906,-0.24400305099,-0.24409602583,-0.244188998427,-0.24428196878,-0.244374936887,-0.244467902748,-0.244560866362,-0.244653827727,-0.244746786844,-0.244839743712,-0.244932698329,-0.245025650694,-0.245118600807,-0.245211548668,-0.245304494274,-0.245397437625,-0.245490378721,-0.245583317561,-0.245676254142,-0.245769188466,-0.245862120531,-0.245955050336,-0.24604797788,-0.246140903162,-0.246233826182,-0.246326746939,-0.246419665431,-0.246512581659,-0.24660549562,-0.246698407315,-0.246791316742,-0.246884223901,-0.24697712879,-0.247070031409,-0.247162931758,-0.247255829834,-0.247348725638,-0.247441619168,-0.247534510423,-0.247627399404,-0.247720286108,-0.247813170535,-0.247906052685,-0.247998932555,-0.248091810146,-0.248184685457,-0.248277558487,-0.248370429234,-0.248463297698,-0.248556163879,-0.248649027775,-0.248741889385,-0.248834748709,-0.248927605746,-0.249020460494,-0.249113312954,-0.249206163124,-0.249299011003,-0.249391856591,-0.249484699886,-0.249577540889,-0.249670379597,-0.24976321601,-0.249856050127,-0.249948881948,-0.250041711471,-0.250134538696,-0.250227363622,-0.250320186248,-0.250413006573,-0.250505824596,-0.250598640317,-0.250691453734,-0.250784264847,-0.250877073654,-0.250969880156,-0.251062684351,-0.251155486238,-0.251248285816,-0.251341083085,-0.251433878044,-0.251526670692,-0.251619461028,-0.25171224905,-0.25180503476,-0.251897818154,-0.251990599233,-0.252083377996,-0.252176154442,-0.25226892857,-0.25236170038,-0.252454469869,-0.252547237038,-0.252640001886,-0.252732764411,-0.252825524613,-0.252918282492,-0.253011038046,-0.253103791274,-0.253196542175,-0.25328929075,-0.253382036996,-0.253474780913,-0.2535675225,-0.253660261756,-0.253752998681,-0.253845733273,-0.253938465532,-0.254031195457,-0.254123923047,-0.254216648301,-0.254309371219,-0.254402091799,-0.25449481004,-0.254587525942,-0.254680239504,-0.254772950725,-0.254865659605,-0.254958366141,-0.255051070334,-0.255143772183,-0.255236471686,-0.255329168844,-0.255421863654,-0.255514556117,-0.255607246231,-0.255699933995,-0.25579261941,-0.255885302473,-0.255977983184,-0.256070661542,-0.256163337546,-0.256256011196,-0.25634868249,-0.256441351428,-0.256534018009,-0.256626682232,-0.256719344096,-0.2568120036,-0.256904660743,-0.256997315526,-0.257089967946,-0.257182618003,-0.257275265696,-0.257367911024,-0.257460553986,-0.257553194582,-0.257645832811,-0.257738468671,-0.257831102162,-0.257923733283,-0.258016362034,-0.258108988413,-0.258201612419,-0.258294234052,-0.258386853311,-0.258479470195,-0.258572084703,-0.258664696834,-0.258757306588,-0.258849913963,-0.258942518959,-0.259035121575,-0.25912772181,-0.259220319663,-0.259312915133,-0.25940550822,-0.259498098922,-0.259590687239,-0.25968327317,-0.259775856714,-0.25986843787,-0.259961016637,-0.260053593015,-0.260146167003,-0.2602387386,-0.260331307804,-0.260423874615,-0.260516439033,-0.260609001056,-0.260701560684,-0.260794117915,-0.260886672749,-0.260979225186,-0.261071775223,-0.26116432286,-0.261256868097,-0.261349410933,-0.261441951366,-0.261534489397,-0.261627025023,-0.261719558244,-0.26181208906,-0.261904617469,-0.261997143471,-0.262089667065,-0.262182188249,-0.262274707024,-0.262367223388,-0.26245973734,-0.26255224888,-0.262644758006,-0.262737264719,-0.262829769016,-0.262922270897,-0.263014770362,-0.263107267409,-0.263199762037,-0.263292254247,-0.263384744036,-0.263477231404,-0.263569716351,-0.263662198875,-0.263754678975,-0.263847156651,-0.263939631901,-0.264032104726,-0.264124575124,-0.264217043093,-0.264309508635,-0.264401971746,-0.264494432428,-0.264586890678,-0.264679346496,-0.264771799882,-0.264864250833,-0.26495669935,-0.265049145432,-0.265141589077,-0.265234030286,-0.265326469056,-0.265418905387,-0.265511339279,-0.26560377073,-0.26569619974,-0.265788626308,-0.265881050432,-0.265973472113,-0.266065891349,-0.266158308139,-0.266250722483,-0.266343134379,-0.266435543828,-0.266527950827,-0.266620355376,-0.266712757475,-0.266805157122,-0.266897554317,-0.266989949058,-0.267082341345,-0.267174731178,-0.267267118554,-0.267359503474,-0.267451885937,-0.267544265941,-0.267636643486,-0.26772901857,-0.267821391194,-0.267913761356,-0.268006129056,-0.268098494292,-0.268190857063,-0.26828321737,-0.268375575211,-0.268467930584,-0.26856028349,-0.268652633928,-0.268744981896,-0.268837327394,-0.26892967042,-0.269022010975,-0.269114349057,-0.269206684665,-0.269299017799,-0.269391348458,-0.26948367664,-0.269576002346,-0.269668325573,-0.269760646322,-0.269852964591,-0.269945280379,-0.270037593687,-0.270129904512,-0.270222212854,-0.270314518713,-0.270406822087,-0.270499122975,-0.270591421377,-0.270683717291,-0.270776010718,-0.270868301656,-0.270960590104,-0.271052876061,-0.271145159527,-0.2712374405,-0.271329718981,-0.271421994967,-0.271514268459,-0.271606539455,-0.271698807954,-0.271791073956,-0.271883337459,-0.271975598464,-0.272067856969,-0.272160112972,-0.272252366475,-0.272344617474,-0.272436865971,-0.272529111963,-0.27262135545,-0.272713596431,-0.272805834906,-0.272898070873,-0.272990304331,-0.273082535281,-0.27317476372,-0.273266989648,-0.273359213064,-0.273451433968,-0.273543652358,-0.273635868234,-0.273728081595,-0.27382029244,-0.273912500767,-0.274004706577,-0.274096909869,-0.274189110641,-0.274281308892,-0.274373504623,-0.274465697831,-0.274557888517,-0.274650076679,-0.274742262317,-0.274834445429,-0.274926626015,-0.275018804074,-0.275110979605,-0.275203152607,-0.275295323079,-0.275387491021,-0.275479656432,-0.275571819311,-0.275663979657,-0.275756137468,-0.275848292746,-0.275940445487,-0.276032595692,-0.27612474336,-0.27621688849,-0.276309031081,-0.276401171132,-0.276493308643,-0.276585443612,-0.276677576039,-0.276769705923,-0.276861833262,-0.276953958057,-0.277046080306,-0.277138200009,-0.277230317164,-0.277322431771,-0.277414543828,-0.277506653336,-0.277598760293,-0.277690864699,-0.277782966552,-0.277875065852,-0.277967162597,-0.278059256787,-0.278151348422,-0.2782434375,-0.27833552402,-0.278427607982,-0.278519689385,-0.278611768228,-0.278703844509,-0.278795918229,-0.278887989387,-0.27898005798,-0.27907212401,-0.279164187474,-0.279256248372,-0.279348306704,-0.279440362467,-0.279532415663,-0.279624466288,-0.279716514344,-0.279808559828,-0.279900602741,-0.27999264308,-0.280084680846,-0.280176716038,-0.280268748654,-0.280360778694,-0.280452806157,-0.280544831042,-0.280636853349,-0.280728873076,-0.280820890222,-0.280912904788,-0.281004916771,-0.281096926171,-0.281188932988,-0.281280937219,-0.281372938866,-0.281464937926,-0.281556934399,-0.281648928284,-0.28174091958,-0.281832908286,-0.281924894402,-0.282016877926,-0.282108858858,-0.282200837197,-0.282292812942,-0.282384786093,-0.282476756647,-0.282568724606,-0.282660689967,-0.282752652729,-0.282844612893,-0.282936570457,-0.28302852542,-0.283120477782,-0.283212427541,-0.283304374697,-0.283396319249,-0.283488261197,-0.283580200538,-0.283672137273,-0.2837640714,-0.283856002919,-0.283947931829,-0.284039858129,-0.284131781818,-0.284223702895,-0.28431562136,-0.284407537211,-0.284499450449,-0.284591361071,-0.284683269077,-0.284775174466,-0.284867077238,-0.284958977392,-0.285050874926,-0.28514276984,-0.285234662133,-0.285326551805,-0.285418438853,-0.285510323278,-0.285602205079,-0.285694084255,-0.285785960804,-0.285877834727,-0.285969706022,-0.286061574688,-0.286153440725,-0.286245304132,-0.286337164908,-0.286429023051,-0.286520878562,-0.286612731439,-0.286704581682,-0.286796429289,-0.286888274261,-0.286980116595,-0.287071956291,-0.287163793349,-0.287255627767,-0.287347459545,-0.287439288681,-0.287531115176,-0.287622939027,-0.287714760235,-0.287806578798,-0.287898394715,-0.287990207987,-0.288082018611,-0.288173826587,-0.288265631915,-0.288357434592,-0.288449234619,-0.288541031995,-0.288632826719,-0.288724618789,-0.288816408206,-0.288908194968,-0.288999979074,-0.289091760524,-0.289183539317,-0.289275315451,-0.289367088927,-0.289458859743,-0.289550627898,-0.289642393391,-0.289734156223,-0.289825916391,-0.289917673895,-0.290009428734,-0.290101180908,-0.290192930415,-0.290284677254,-0.290376421426,-0.290468162928,-0.290559901761,-0.290651637922,-0.290743371412,-0.29083510223,-0.290926830374,-0.291018555844,-0.291110278639,-0.291201998759,-0.291293716201,-0.291385430966,-0.291477143053,-0.291568852461,-0.291660559188,-0.291752263235,-0.2918439646,-0.291935663282,-0.292027359281,-0.292119052596,-0.292210743226,-0.292302431169,-0.292394116426,-0.292485798996,-0.292577478876,-0.292669156068,-0.292760830569,-0.29285250238,-0.292944171498,-0.293035837924,-0.293127501656,-0.293219162694,-0.293310821037,-0.293402476684,-0.293494129634,-0.293585779886,-0.293677427439,-0.293769072293,-0.293860714447,-0.2939523539,-0.29404399065,-0.294135624698,-0.294227256043,-0.294318884683,-0.294410510617,-0.294502133846,-0.294593754367,-0.294685372181,-0.294776987285,-0.294868599681,-0.294960209366,-0.295051816339,-0.295143420601,-0.29523502215,-0.295326620985,-0.295418217106,-0.295509810511,-0.295601401199,-0.295692989171,-0.295784574425,-0.29587615696,-0.295967736775,-0.29605931387,-0.296150888244,-0.296242459895,-0.296334028823,-0.296425595028,-0.296517158508,-0.296608719262,-0.29670027729,-0.296791832591,-0.296883385164,-0.296974935008,-0.297066482122,-0.297158026505,-0.297249568157,-0.297341107077,-0.297432643264,-0.297524176717,-0.297615707435,-0.297707235418,-0.297798760664,-0.297890283172,-0.297981802943,-0.298073319974,-0.298164834266,-0.298256345817,-0.298347854627,-0.298439360694,-0.298530864018,-0.298622364598,-0.298713862433,-0.298805357523,-0.298896849865,-0.298988339461,-0.299079826308,-0.299171310406,-0.299262791754,-0.299354270352,-0.299445746198,-0.299537219291,-0.299628689631,-0.299720157217,-0.299811622048,-0.299903084124,-0.299994543442,-0.300086000003,-0.300177453806,-0.30026890485,-0.300360353133,-0.300451798656,-0.300543241417,-0.300634681416,-0.300726118651,-0.300817553122,-0.300908984828,-0.301000413768,-0.301091839941,-0.301183263347,-0.301274683984,-0.301366101852,-0.30145751695,-0.301548929277,-0.301640338833,-0.301731745615,-0.301823149625,-0.301914550859,-0.302005949319,-0.302097345003,-0.30218873791,-0.302280128039,-0.30237151539,-0.302462899962,-0.302554281753,-0.302645660763,-0.302737036992,-0.302828410438,-0.3029197811,-0.303011148978,-0.30310251407,-0.303193876377,-0.303285235897,-0.303376592629,-0.303467946572,-0.303559297726,-0.30365064609,-0.303741991662,-0.303833334443,-0.303924674431,-0.304016011625,-0.304107346025,-0.30419867763,-0.304290006438,-0.30438133245,-0.304472655663,-0.304563976079,-0.304655293694,-0.304746608509,-0.304837920523,-0.304929229735,-0.305020536145,-0.30511183975,-0.305203140551,-0.305294438547,-0.305385733736,-0.305477026119,-0.305568315693,-0.305659602459,-0.305750886415,-0.305842167561,-0.305933445896,-0.306024721418,-0.306115994128,-0.306207264024,-0.306298531105,-0.306389795371,-0.30648105682,-0.306572315453,-0.306663571267,-0.306754824263,-0.306846074439,-0.306937321795,-0.307028566329,-0.307119808042,-0.307211046931,-0.307302282996,-0.307393516237,-0.307484746652,-0.307575974241,-0.307667199003,-0.307758420937,-0.307849640042,-0.307940856317,-0.308032069761,-0.308123280375,-0.308214488156,-0.308305693104,-0.308396895218,-0.308488094498,-0.308579290942,-0.308670484549,-0.308761675319,-0.308852863252,-0.308944048345,-0.309035230598,-0.309126410011,-0.309217586583,-0.309308760312,-0.309399931198,-0.309491099241,-0.309582264438,-0.30967342679,-0.309764586295,-0.309855742954,-0.309946896764,-0.310038047725,-0.310129195836,-0.310220341096,-0.310311483506,-0.310402623062,-0.310493759766,-0.310584893616,-0.31067602461,-0.31076715275,-0.310858278032,-0.310949400458,-0.311040520025,-0.311131636733,-0.311222750581,-0.311313861569,-0.311404969695,-0.311496074958,-0.311587177359,-0.311678276895,-0.311769373567,-0.311860467372,-0.311951558312,-0.312042646384,-0.312133731587,-0.312224813922,-0.312315893386,-0.31240696998,-0.312498043703,-0.312589114553,-0.312680182529,-0.312771247632,-0.31286230986,-0.312953369212,-0.313044425687,-0.313135479285,-0.313226530004,-0.313317577845,-0.313408622805,-0.313499664885,-0.313590704083,-0.313681740399,-0.313772773831,-0.31386380438,-0.313954832043,-0.31404585682,-0.314136878711,-0.314227897714,-0.314318913829,-0.314409927055,-0.314500937391,-0.314591944836,-0.31468294939,-0.314773951051,-0.314864949818,-0.314955945692,-0.31504693867,-0.315137928753,-0.315228915938,-0.315319900227,-0.315410881617,-0.315501860108,-0.315592835698,-0.315683808388,-0.315774778176,-0.315865745062,-0.315956709045,-0.316047670123,-0.316138628296,-0.316229583563,-0.316320535923,-0.316411485376,-0.316502431921,-0.316593375556,-0.316684316281,-0.316775254096,-0.316866188998,-0.316957120989,-0.317048050065,-0.317138976228,-0.317229899475,-0.317320819806,-0.317411737221,-0.317502651718,-0.317593563297,-0.317684471956,-0.317775377696,-0.317866280514,-0.317957180411,-0.318048077385,-0.318138971436,-0.318229862562,-0.318320750763,-0.318411636039,-0.318502518387,-0.318593397808,-0.318684274301,-0.318775147864,-0.318866018497,-0.318956886199,-0.31904775097,-0.319138612808,-0.319229471712,-0.319320327682,-0.319411180717,-0.319502030816,-0.319592877978,-0.319683722203,-0.319774563489,-0.319865401836,-0.319956237242,-0.320047069708,-0.320137899232,-0.320228725813,-0.320319549451,-0.320410370144,-0.320501187893,-0.320592002695,-0.320682814551,-0.320773623458,-0.320864429418,-0.320955232428,-0.321046032488,-0.321136829597,-0.321227623754,-0.321318414958,-0.321409203209,-0.321499988506,-0.321590770847,-0.321681550233,-0.321772326662,-0.321863100133,-0.321953870645,-0.322044638198,-0.322135402791,-0.322226164423,-0.322316923094,-0.322407678801,-0.322498431545,-0.322589181325,-0.322679928139,-0.322770671988,-0.322861412869,-0.322952150783,-0.323042885729,-0.323133617705,-0.323224346711,-0.323315072746,-0.323405795809,-0.3234965159,-0.323587233016,-0.323677947159,-0.323768658326,-0.323859366518,-0.323950071732,-0.324040773969,-0.324131473228,-0.324222169507,-0.324312862805,-0.324403553123,-0.324494240459,-0.324584924813,-0.324675606182,-0.324766284568,-0.324856959968,-0.324947632382,-0.32503830181,-0.325128968249,-0.3252196317,-0.325310292162,-0.325400949634,-0.325491604115,-0.325582255603,-0.325672904099,-0.325763549602,-0.32585419211,-0.325944831623,-0.32603546814,-0.326126101661,-0.326216732183,-0.326307359707,-0.326397984232,-0.326488605756,-0.32657922428,-0.326669839801,-0.32676045232,-0.326851061836,-0.326941668347,-0.327032271853,-0.327122872352,-0.327213469845,-0.327304064331,-0.327394655808,-0.327485244275,-0.327575829733,-0.327666412179,-0.327756991613,-0.327847568035,-0.327938141443,-0.328028711837,-0.328119279216,-0.328209843579,-0.328300404925,-0.328390963253,-0.328481518563,-0.328572070854,-0.328662620124,-0.328753166373,-0.328843709601,-0.328934249806,-0.329024786987,-0.329115321144,-0.329205852276,-0.329296380382,-0.329386905461,-0.329477427512,-0.329567946535,-0.329658462529,-0.329748975492,-0.329839485424,-0.329929992325,-0.330020496193,-0.330110997028,-0.330201494828,-0.330291989593,-0.330382481322,-0.330472970014,-0.330563455669,-0.330653938285,-0.330744417862,-0.330834894399,-0.330925367895,-0.331015838349,-0.33110630576,-0.331196770128,-0.331287231451,-0.33137768973,-0.331468144962,-0.331558597148,-0.331649046286,-0.331739492376,-0.331829935416,-0.331920375407,-0.332010812346,-0.332101246234,-0.332191677069,-0.33228210485,-0.332372529578,-0.33246295125,-0.332553369866,-0.332643785426,-0.332734197927,-0.332824607371,-0.332915013755,-0.333005417079,-0.333095817343,-0.333186214544,-0.333276608683,-0.333366999759,-0.33345738777,-0.333547772716,-0.333638154596,-0.33372853341,-0.333818909156,-0.333909281834,-0.333999651442,-0.33409001798,-0.334180381448,-0.334270741844,-0.334361099167,-0.334451453417,-0.334541804592,-0.334632152693,-0.334722497718,-0.334812839666,-0.334903178536,-0.334993514328,-0.335083847041,-0.335174176674,-0.335264503226,-0.335354826697,-0.335445147085,-0.335535464389,-0.335625778609,-0.335716089745,-0.335806397794,-0.335896702757,-0.335987004633,-0.33607730342,-0.336167599118,-0.336257891726,-0.336348181243,-0.336438467668,-0.336528751001,-0.336619031241,-0.336709308387,-0.336799582437,-0.336889853392,-0.33698012125,-0.337070386011,-0.337160647674,-0.337250906237,-0.337341161701,-0.337431414063,-0.337521663324,-0.337611909483,-0.337702152538,-0.33779239249,-0.337882629336,-0.337972863077,-0.338063093711,-0.338153321238,-0.338243545656,-0.338333766966,-0.338423985165,-0.338514200254,-0.338604412231,-0.338694621096,-0.338784826848,-0.338875029485,-0.338965229008,-0.339055425415,-0.339145618705,-0.339235808879,-0.339325995934,-0.33941617987,-0.339506360686,-0.339596538381,-0.339686712955,-0.339776884407,-0.339867052735,-0.33995721794,-0.340047380019,-0.340137538974,-0.340227694801,-0.340317847501,-0.340407997074,-0.340498143517,-0.34058828683,-0.340678427013,-0.340768564064,-0.340858697983,-0.340948828769,-0.341038956421,-0.341129080939,-0.34121920232,-0.341309320566,-0.341399435674,-0.341489547644,-0.341579656475,-0.341669762166,-0.341759864717,-0.341849964126,-0.341940060393,-0.342030153518,-0.342120243498,-0.342210330333,-0.342300414024,-0.342390494567,-0.342480571964,-0.342570646212,-0.342660717312,-0.342750785262,-0.342840850062,-0.34293091171,-0.343020970206,-0.343111025549,-0.343201077738,-0.343291126773,-0.343381172652,-0.343471215375,-0.343561254941,-0.343651291349,-0.343741324598,-0.343831354687,-0.343921381616,-0.344011405384,-0.34410142599,-0.344191443433,-0.344281457712,-0.344371468826,-0.344461476776,-0.344551481559,-0.344641483174,-0.344731481622,-0.344821476902,-0.344911469012,-0.345001457951,-0.345091443719,-0.345181426316,-0.345271405739,-0.345361381989,-0.345451355064,-0.345541324964,-0.345631291688,-0.345721255235,-0.345811215604,-0.345901172794,-0.345991126805,-0.346081077636,-0.346171025285,-0.346260969753,-0.346350911038,-0.346440849139,-0.346530784056,-0.346620715788,-0.346710644334,-0.346800569692,-0.346890491863,-0.346980410846,-0.347070326639,-0.347160239242,-0.347250148654,-0.347340054874,-0.347429957901,-0.347519857735,-0.347609754375,-0.347699647819,-0.347789538067,-0.347879425119,-0.347969308973,-0.348059189629,-0.348149067085,-0.348238941341,-0.348328812396,-0.348418680249,-0.3485085449,-0.348598406348,-0.348688264591,-0.348778119629,-0.348867971461,-0.348957820087,-0.349047665505,-0.349137507714,-0.349227346714,-0.349317182505,-0.349407015084,-0.349496844452,-0.349586670607,-0.349676493549,-0.349766313277,-0.34985612979,-0.349945943087,-0.350035753168,-0.350125560031,-0.350215363675,-0.350305164101,-0.350394961307,-0.350484755292,-0.350574546055,-0.350664333596,-0.350754117913,-0.350843899007,-0.350933676876,-0.351023451519,-0.351113222935,-0.351202991125,-0.351292756086,-0.351382517818,-0.35147227632,-0.351562031591,-0.351651783631,-0.351741532439,-0.351831278013,-0.351921020354,-0.35201075946,-0.35210049533,-0.352190227964,-0.35227995736,-0.352369683519,-0.352459406438,-0.352549126118,-0.352638842557,-0.352728555755,-0.352818265711,-0.352907972424,-0.352997675892,-0.353087376116,-0.353177073095,-0.353266766827,-0.353356457312,-0.353446144549,-0.353535828538,-0.353625509277,-0.353715186765,-0.353804861002,-0.353894531987,-0.353984199719,-0.354073864197,-0.35416352542,-0.354253183389,-0.354342838101,-0.354432489556,-0.354522137753,-0.354611782691,-0.35470142437,-0.354791062789,-0.354880697946,-0.354970329842,-0.355059958474,-0.355149583843,-0.355239205948,-0.355328824787,-0.35541844036,-0.355508052666,-0.355597661705,-0.355687267475,-0.355776869975,-0.355866469205,-0.355956065165,-0.356045657852,-0.356135247267,-0.356224833408,-0.356314416274,-0.356403995866,-0.356493572182,-0.35658314522,-0.356672714982,-0.356762281464,-0.356851844668,-0.356941404591,-0.357030961233,-0.357120514594,-0.357210064672,-0.357299611467,-0.357389154977,-0.357478695203,-0.357568232142,-0.357657765795,-0.35774729616,-0.357836823237,-0.357926347025,-0.358015867523,-0.35810538473,-0.358194898645,-0.358284409268,-0.358373916598,-0.358463420634,-0.358552921374,-0.358642418819,-0.358731912968,-0.358821403819,-0.358910891371,-0.359000375625,-0.359089856579,-0.359179334232,-0.359268808584,-0.359358279633,-0.35944774738,-0.359537211822,-0.359626672959,-0.359716130791,-0.359805585317,-0.359895036535,-0.359984484445,-0.360073929046,-0.360163370338,-0.360252808319,-0.360342242988,-0.360431674346,-0.36052110239,-0.360610527121,-0.360699948537,-0.360789366637,-0.360878781421,-0.360968192888,-0.361057601037,-0.361147005867,-0.361236407378,-0.361325805568,-0.361415200438,-0.361504591985,-0.361593980209,-0.361683365109,-0.361772746685,-0.361862124936,-0.36195149986,-0.362040871458,-0.362130239727,-0.362219604668,-0.36230896628,-0.362398324561,-0.362487679511,-0.36257703113,-0.362666379415,-0.362755724367,-0.362845065985,-0.362934404268,-0.363023739214,-0.363113070824,-0.363202399096,-0.363291724029,-0.363381045623,-0.363470363877,-0.36355967879,-0.363648990362,-0.363738298591,-0.363827603476,-0.363916905017,-0.364006203213,-0.364095498064,-0.364184789567,-0.364274077723,-0.364363362531,-0.364452643989,-0.364541922098,-0.364631196856,-0.364720468262,-0.364809736316,-0.364899001016,-0.364988262363,-0.365077520354,-0.36516677499,-0.365256026269,-0.365345274191,-0.365434518755,-0.36552375996,-0.365612997805,-0.365702232289,-0.365791463412,-0.365880691173,-0.36596991557,-0.366059136604,-0.366148354272,-0.366237568576,-0.366326779513,-0.366415987082,-0.366505191284,-0.366594392117,-0.36668358958,-0.366772783673,-0.366861974394,-0.366951161743,-0.36704034572,-0.367129526322,-0.36721870355,-0.367307877403,-0.367397047879,-0.367486214979,-0.3675753787,-0.367664539043,-0.367753696007,-0.36784284959,-0.367931999792,-0.368021146612,-0.368110290049,-0.368199430102,-0.368288566771,-0.368377700055,-0.368466829953,-0.368555956464,-0.368645079588,-0.368734199323,-0.368823315668,-0.368912428624,-0.369001538188,-0.369090644361,-0.369179747141,-0.369268846527,-0.36935794252,-0.369447035117,-0.369536124318,-0.369625210123,-0.36971429253,-0.369803371539,-0.369892447149,-0.369981519359,-0.370070588168,-0.370159653575,-0.37024871558,-0.370337774182,-0.370426829379,-0.370515881172,-0.370604929559,-0.37069397454,-0.370783016113,-0.370872054278,-0.370961089034,-0.37105012038,-0.371139148316,-0.37122817284,-0.371317193952,-0.371406211651,-0.371495225936,-0.371584236806,-0.371673244261,-0.371762248299,-0.37185124892,-0.371940246124,-0.372029239908,-0.372118230273,-0.372207217218,-0.372296200741,-0.372385180842,-0.37247415752,-0.372563130775,-0.372652100605,-0.37274106701,-0.372830029988,-0.37291898954,-0.373007945663,-0.373096898359,-0.373185847624,-0.37327479346,-0.373363735864,-0.373452674837,-0.373541610377,-0.373630542483,-0.373719471155,-0.373808396392,-0.373897318193,-0.373986236557,-0.374075151483,-0.374164062971,-0.37425297102,-0.374341875629,-0.374430776797,-0.374519674523,-0.374608568807,-0.374697459647,-0.374786347044,-0.374875230995,-0.374964111501,-0.37505298856,-0.375141862171,-0.375230732334,-0.375319599049,-0.375408462313,-0.375497322127,-0.375586178489,-0.375675031399,-0.375763880856,-0.375852726859,-0.375941569407,-0.3760304085,-0.376119244136,-0.376208076315,-0.376296905036,-0.376385730298,-0.3764745521,-0.376563370442,-0.376652185323,-0.376740996741,-0.376829804697,-0.376918609189,-0.377007410216,-0.377096207778,-0.377185001874,-0.377273792503,-0.377362579664,-0.377451363356,-0.377540143579,-0.377628920332,-0.377717693613,-0.377806463423,-0.37789522976,-0.377983992623,-0.378072752012,-0.378161507926,-0.378250260364,-0.378339009325,-0.378427754809,-0.378516496814,-0.37860523534,-0.378693970385,-0.37878270195,-0.378871430034,-0.378960154634,-0.379048875752,-0.379137593385,-0.379226307533,-0.379315018196,-0.379403725372,-0.37949242906,-0.37958112926,-0.379669825972,-0.379758519193,-0.379847208924,-0.379935895163,-0.38002457791,-0.380113257164,-0.380201932924,-0.38029060519,-0.380379273959,-0.380467939233,-0.380556601009,-0.380645259287,-0.380733914067,-0.380822565346,-0.380911213126,-0.380999857404,-0.38108849818,-0.381177135453,-0.381265769222,-0.381354399487,-0.381443026247,-0.3815316495,-0.381620269247,-0.381708885485,-0.381797498215,-0.381886107436,-0.381974713147,-0.382063315346,-0.382151914034,-0.382240509209,-0.38232910087,-0.382417689017,-0.382506273649,-0.382594854766,-0.382683432365,-0.382772006447,-0.382860577011,-0.382949144055,-0.383037707579,-0.383126267583,-0.383214824065,-0.383303377024,-0.383391926461,-0.383480472373,-0.38356901476,-0.383657553622,-0.383746088957,-0.383834620765,-0.383923149045,-0.384011673796,-0.384100195017,-0.384188712707,-0.384277226867,-0.384365737494,-0.384454244587,-0.384542748148,-0.384631248173,-0.384719744663,-0.384808237617,-0.384896727034,-0.384985212912,-0.385073695252,-0.385162174053,-0.385250649313,-0.385339121032,-0.38542758921,-0.385516053844,-0.385604514935,-0.385692972481,-0.385781426482,-0.385869876938,-0.385958323846,-0.386046767207,-0.386135207019,-0.386223643282,-0.386312075995,-0.386400505157,-0.386488930767,-0.386577352825,-0.386665771329,-0.38675418628,-0.386842597675,-0.386931005514,-0.387019409797,-0.387107810523,-0.38719620769,-0.387284601299,-0.387372991347,-0.387461377835,-0.387549760761,-0.387638140125,-0.387726515926,-0.387814888164,-0.387903256836,-0.387991621943,-0.388079983483,-0.388168341457,-0.388256695862,-0.388345046699,-0.388433393966,-0.388521737663,-0.388610077788,-0.388698414342,-0.388786747322,-0.388875076729,-0.388963402562,-0.389051724819,-0.3891400435,-0.389228358604,-0.389316670131,-0.389404978079,-0.389493282448,-0.389581583236,-0.389669880444,-0.38975817407,-0.389846464113,-0.389934750573,-0.390023033449,-0.39011131274,-0.390199588444,-0.390287860563,-0.390376129094,-0.390464394036,-0.39055265539,-0.390640913153,-0.390729167326,-0.390817417908,-0.390905664897,-0.390993908293,-0.391082148095,-0.391170384302,-0.391258616914,-0.391346845929,-0.391435071348,-0.391523293168,-0.391611511389,-0.391699726011,-0.391787937033,-0.391876144453,-0.391964348271,-0.392052548486,-0.392140745098,-0.392228938105,-0.392317127507,-0.392405313303,-0.392493495492,-0.392581674073,-0.392669849046,-0.392758020409,-0.392846188162,-0.392934352304,-0.393022512835,-0.393110669753,-0.393198823057,-0.393286972747,-0.393375118823,-0.393463261282,-0.393551400125,-0.39363953535,-0.393727666957,-0.393815794945,-0.393903919314,-0.393992040061,-0.394080157187,-0.394168270691,-0.394256380571,-0.394344486828,-0.39443258946,-0.394520688466,-0.394608783847,-0.394696875599,-0.394784963724,-0.394873048221,-0.394961129087,-0.395049206323,-0.395137279928,-0.395225349901,-0.395313416241,-0.395401478948,-0.39548953802,-0.395577593457,-0.395665645257,-0.395753693421,-0.395841737947,-0.395929778835,-0.396017816083,-0.396105849692,-0.396193879659,-0.396281905985,-0.396369928668,-0.396457947707,-0.396545963103,-0.396633974854,-0.396721982958,-0.396809987417,-0.396897988228,-0.39698598539,-0.397073978904,-0.397161968768,-0.397249954981,-0.397337937543,-0.397425916452,-0.397513891709,-0.397601863311,-0.397689831259,-0.397777795552,-0.397865756188,-0.397953713167,-0.398041666488,-0.39812961615,-0.398217562153,-0.398305504496,-0.398393443177,-0.398481378197,-0.398569309554,-0.398657237247,-0.398745161276,-0.398833081639,-0.398920998337,-0.399008911368,-0.399096820731,-0.399184726426,-0.399272628452,-0.399360526807,-0.399448421492,-0.399536312505,-0.399624199846,-0.399712083513,-0.399799963506,-0.399887839825,-0.399975712468,-0.400063581434,-0.400151446723,-0.400239308334,-0.400327166266,-0.400415020518,-0.40050287109,-0.40059071798,-0.400678561188,-0.400766400714,-0.400854236555,-0.400942068712,-0.401029897184,-0.401117721969,-0.401205543067,-0.401293360478,-0.4013811742,-0.401468984233,-0.401556790575,-0.401644593226,-0.401732392186,-0.401820187453,-0.401907979026,-0.401995766905,-0.40208355109,-0.402171331578,-0.402259108369,-0.402346881464,-0.402434650859,-0.402522416556,-0.402610178553,-0.402697936849,-0.402785691444,-0.402873442336,-0.402961189525,-0.40304893301,-0.403136672791,-0.403224408866,-0.403312141235,-0.403399869896,-0.403487594849,-0.403575316094,-0.403663033629,-0.403750747454,-0.403838457568,-0.403926163969,-0.404013866658,-0.404101565633,-0.404189260894,-0.404276952439,-0.404364640269,-0.404452324382,-0.404540004777,-0.404627681453,-0.40471535441,-0.404803023648,-0.404890689164,-0.404978350959,-0.405066009031,-0.40515366338,-0.405241314005,-0.405328960905,-0.405416604079,-0.405504243527,-0.405591879248,-0.40567951124,-0.405767139503,-0.405854764037,-0.40594238484,-0.406030001912,-0.406117615252,-0.406205224859,-0.406292830732,-0.40638043287,-0.406468031273,-0.40655562594,-0.40664321687,-0.406730804063,-0.406818387516,-0.40690596723,-0.406993543204,-0.407081115438,-0.407168683929,-0.407256248677,-0.407343809683,-0.407431366944,-0.40751892046,-0.40760647023,-0.407694016253,-0.407781558529,-0.407869097057,-0.407956631836,-0.408044162865,-0.408131690143,-0.40821921367,-0.408306733445,-0.408394249466,-0.408481761734,-0.408569270247,-0.408656775004,-0.408744276005,-0.40883177325,-0.408919266736,-0.409006756463,-0.409094242431,-0.409181724639,-0.409269203086,-0.40935667777,-0.409444148692,-0.409531615851,-0.409619079245,-0.409706538874,-0.409793994737,-0.409881446833,-0.409968895162,-0.410056339722,-0.410143780514,-0.410231217535,-0.410318650785,-0.410406080264,-0.410493505971,-0.410580927905,-0.410668346064,-0.410755760449,-0.410843171058,-0.410930577891,-0.411017980946,-0.411105380224,-0.411192775723,-0.411280167442,-0.411367555381,-0.411454939538,-0.411542319914,-0.411629696507,-0.411717069316,-0.41180443834,-0.41189180358,-0.411979165034,-0.4120665227,-0.412153876579,-0.41224122667,-0.412328572971,-0.412415915483,-0.412503254203,-0.412590589132,-0.412677920268,-0.412765247612,-0.412852571161,-0.412939890915,-0.413027206874,-0.413114519036,-0.413201827401,-0.413289131968,-0.413376432736,-0.413463729704,-0.413551022872,-0.413638312238,-0.413725597803,-0.413812879565,-0.413900157523,-0.413987431676,-0.414074702024,-0.414161968566,-0.414249231301,-0.414336490229,-0.414423745348,-0.414510996658,-0.414598244157,-0.414685487846,-0.414772727723,-0.414859963788,-0.414947196039,-0.415034424476,-0.415121649098,-0.415208869905,-0.415296086895,-0.415383300068,-0.415470509422,-0.415557714958,-0.415644916674,-0.415732114569,-0.415819308643,-0.415906498895,-0.415993685324,-0.41608086793,-0.41616804671,-0.416255221666,-0.416342392795,-0.416429560098,-0.416516723572,-0.416603883218,-0.416691039035,-0.416778191022,-0.416865339178,-0.416952483502,-0.417039623993,-0.417126760651,-0.417213893475,-0.417301022464,-0.417388147618,-0.417475268935,-0.417562386414,-0.417649500055,-0.417736609858,-0.41782371582,-0.417910817942,-0.417997916223,-0.418085010662,-0.418172101257,-0.418259188009,-0.418346270916,-0.418433349978,-0.418520425194,-0.418607496563,-0.418694564084,-0.418781627757,-0.41886868758,-0.418955743553,-0.419042795675,-0.419129843945,-0.419216888363,-0.419303928928,-0.419390965638,-0.419477998493,-0.419565027493,-0.419652052636,-0.419739073922,-0.419826091349,-0.419913104918,-0.420000114627,-0.420087120475,-0.420174122462,-0.420261120587,-0.420348114849,-0.420435105247,-0.42052209178,-0.420609074448,-0.42069605325,-0.420783028186,-0.420869999253,-0.420956966452,-0.421043929781,-0.42113088924,-0.421217844829,-0.421304796545,-0.42139174439,-0.42147868836,-0.421565628457,-0.421652564679,-0.421739497024,-0.421826425494,-0.421913350086,-0.4220002708,-0.422087187635,-0.42217410059,-0.422261009665,-0.422347914858,-0.422434816169,-0.422521713598,-0.422608607142,-0.422695496802,-0.422782382577,-0.422869264466,-0.422956142467,-0.423043016581,-0.423129886807,-0.423216753143,-0.423303615589,-0.423390474144,-0.423477328807,-0.423564179578,-0.423651026456,-0.423737869439,-0.423824708528,-0.42391154372,-0.423998375017,-0.424085202416,-0.424172025917,-0.424258845519,-0.424345661221,-0.424432473023,-0.424519280923,-0.424606084922,-0.424692885017,-0.424779681209,-0.424866473496,-0.424953261879,-0.425040046355,-0.425126826924,-0.425213603585,-0.425300376338,-0.425387145182,-0.425473910116,-0.425560671138,-0.42564742825,-0.425734181448,-0.425820930734,-0.425907676105,-0.425994417562,-0.426081155102,-0.426167888727,-0.426254618434,-0.426341344223,-0.426428066093,-0.426514784044,-0.426601498074,-0.426688208183,-0.42677491437,-0.426861616634,-0.426948314975,-0.427035009391,-0.427121699882,-0.427208386447,-0.427295069085,-0.427381747795,-0.427468422577,-0.42755509343,-0.427641760353,-0.427728423345,-0.427815082406,-0.427901737534,-0.427988388729,-0.42807503599,-0.428161679316,-0.428248318707,-0.428334954161,-0.428421585678,-0.428508213257,-0.428594836897,-0.428681456598,-0.428768072359,-0.428854684178,-0.428941292055,-0.42902789599,-0.429114495981,-0.429201092028,-0.42928768413,-0.429374272285,-0.429460856494,-0.429547436756,-0.429634013069,-0.429720585433,-0.429807153847,-0.429893718311,-0.429980278823,-0.430066835383,-0.430153387989,-0.430239936642,-0.43032648134,-0.430413022083,-0.430499558869,-0.430586091698,-0.43067262057,-0.430759145483,-0.430845666436,-0.430932183429,-0.431018696461,-0.431105205531,-0.431191710639,-0.431278211783,-0.431364708963,-0.431451202178,-0.431537691427,-0.43162417671,-0.431710658025,-0.431797135372,-0.43188360875,-0.431970078158,-0.432056543596,-0.432143005062,-0.432229462556,-0.432315916077,-0.432402365625,-0.432488811198,-0.432575252795,-0.432661690416,-0.432748124061,-0.432834553727,-0.432920979416,-0.433007401124,-0.433093818853,-0.433180232601,-0.433266642367,-0.433353048151,-0.433439449951,-0.433525847767,-0.433612241599,-0.433698631444,-0.433785017304,-0.433871399176,-0.43395777706,-0.434044150955,-0.43413052086,-0.434216886775,-0.434303248699,-0.434389606631,-0.43447596057,-0.434562310515,-0.434648656466,-0.434734998422,-0.434821336381,-0.434907670344,-0.43499400031,-0.435080326277,-0.435166648245,-0.435252966213,-0.43533928018,-0.435425590145,-0.435511896108,-0.435598198069,-0.435684496025,-0.435770789976,-0.435857079922,-0.435943365862,-0.436029647794,-0.436115925719,-0.436202199635,-0.436288469542,-0.436374735438,-0.436460997323,-0.436547255196,-0.436633509057,-0.436719758904,-0.436806004737,-0.436892246555,-0.436978484357,-0.437064718143,-0.437150947911,-0.437237173661,-0.437323395392,-0.437409613103,-0.437495826794,-0.437582036463,-0.43766824211,-0.437754443734,-0.437840641334,-0.43792683491,-0.438013024461,-0.438099209985,-0.438185391483,-0.438271568952,-0.438357742394,-0.438443911806,-0.438530077188,-0.438616238539,-0.438702395858,-0.438788549145,-0.438874698398,-0.438960843618,-0.439046984803,-0.439133121952,-0.439219255065,-0.43930538414,-0.439391509178,-0.439477630176,-0.439563747135,-0.439649860054,-0.439735968932,-0.439822073767,-0.43990817456,-0.43999427131,-0.440080364015,-0.440166452675,-0.440252537288,-0.440338617856,-0.440424694375,-0.440510766847,-0.440596835269,-0.440682899642,-0.440768959964,-0.440855016234,-0.440941068452,-0.441027116617,-0.441113160729,-0.441199200785,-0.441285236787,-0.441371268732,-0.44145729662,-0.44154332045,-0.441629340222,-0.441715355934,-0.441801367586,-0.441887375178,-0.441973378707,-0.442059378174,-0.442145373578,-0.442231364918,-0.442317352192,-0.442403335401,-0.442489314544,-0.442575289619,-0.442661260626,-0.442747227565,-0.442833190433,-0.442919149232,-0.443005103959,-0.443091054614,-0.443177001196,-0.443262943705,-0.443348882139,-0.443434816498,-0.443520746781,-0.443606672988,-0.443692595117,-0.443778513167,-0.443864427139,-0.44395033703,-0.444036242841,-0.44412214457,-0.444208042218,-0.444293935782,-0.444379825262,-0.444465710657,-0.444551591967,-0.444637469191,-0.444723342328,-0.444809211377,-0.444895076338,-0.444980937209,-0.44506679399,-0.44515264668,-0.445238495278,-0.445324339783,-0.445410180196,-0.445496016514,-0.445581848737,-0.445667676865,-0.445753500896,-0.44583932083,-0.445925136666,-0.446010948403,-0.44609675604,-0.446182559577,-0.446268359013,-0.446354154346,-0.446439945577,-0.446525732705,-0.446611515728,-0.446697294645,-0.446783069457,-0.446868840162,-0.44695460676,-0.447040369249,-0.447126127629,-0.4472118819,-0.447297632059,-0.447383378108,-0.447469120043,-0.447554857866,-0.447640591575,-0.44772632117,-0.447812046649,-0.447897768012,-0.447983485257,-0.448069198386,-0.448154907395,-0.448240612285,-0.448326313055,-0.448412009704,-0.448497702232,-0.448583390637,-0.448669074918,-0.448754755076,-0.448840431109,-0.448926103016,-0.449011770796,-0.44909743445,-0.449183093975,-0.449268749372,-0.449354400639,-0.449440047776,-0.449525690781,-0.449611329655,-0.449696964395,-0.449782595003,-0.449868221476,-0.449953843814,-0.450039462016,-0.450125076081,-0.450210686009,-0.450296291799,-0.450381893449,-0.45046749096,-0.45055308433,-0.450638673559,-0.450724258646,-0.45080983959,-0.45089541639,-0.450980989045,-0.451066557555,-0.451152121919,-0.451237682136,-0.451323238206,-0.451408790127,-0.451494337898,-0.45157988152,-0.451665420991,-0.45175095631,-0.451836487477,-0.451922014491,-0.45200753735,-0.452093056055,-0.452178570605,-0.452264080998,-0.452349587234,-0.452435089312,-0.452520587231,-0.452606080991,-0.452691570591,-0.452777056029,-0.452862537306,-0.45294801442,-0.453033487371,-0.453118956157,-0.453204420779,-0.453289881235,-0.453375337524,-0.453460789646,-0.4535462376,-0.453631681385,-0.453717121,-0.453802556445,-0.453887987718,-0.45397341482,-0.454058837749,-0.454144256504,-0.454229671084,-0.45431508149,-0.454400487719,-0.454485889772,-0.454571287647,-0.454656681344,-0.454742070862,-0.4548274562,-0.454912837357,-0.454998214333,-0.455083587126,-0.455168955737,-0.455254320163,-0.455339680406,-0.455425036462,-0.455510388333,-0.455595736016,-0.455681079512,-0.455766418819,-0.455851753937,-0.455937084865,-0.456022411602,-0.456107734148,-0.456193052501,-0.45627836666,-0.456363676626,-0.456448982397,-0.456534283972,-0.456619581351,-0.456704874533,-0.456790163517,-0.456875448302,-0.456960728888,-0.457046005273,-0.457131277457,-0.45721654544,-0.457301809219,-0.457387068796,-0.457472324168,-0.457557575335,-0.457642822297,-0.457728065051,-0.457813303599,-0.457898537938,-0.457983768069,-0.45806899399,-0.4581542157,-0.458239433199,-0.458324646486,-0.45840985556,-0.458495060421,-0.458580261067,-0.458665457498,-0.458750649713,-0.458835837712,-0.458921021492,-0.459006201055,-0.459091376398,-0.459176547522,-0.459261714425,-0.459346877106,-0.459432035566,-0.459517189802,-0.459602339814,-0.459687485602,-0.459772627165,-0.459857764501,-0.459942897611,-0.460028026493,-0.460113151146,-0.46019827157,-0.460283387764,-0.460368499727,-0.460453607459,-0.460538710958,-0.460623810224,-0.460708905256,-0.460793996054,-0.460879082616,-0.460964164941,-0.46104924303,-0.46113431688,-0.461219386492,-0.461304451865,-0.461389512997,-0.461474569888,-0.461559622538,-0.461644670945,-0.461729715108,-0.461814755028,-0.461899790702,-0.461984822131,-0.462069849314,-0.462154872249,-0.462239890936,-0.462324905375,-0.462409915563,-0.462494921502,-0.462579923189,-0.462664920624,-0.462749913807,-0.462834902736,-0.462919887411,-0.463004867831,-0.463089843995,-0.463174815902,-0.463259783552,-0.463344746944,-0.463429706076,-0.463514660949,-0.463599611562,-0.463684557913,-0.463769500002,-0.463854437828,-0.463939371391,-0.464024300689,-0.464109225722,-0.464194146489,-0.464279062989,-0.464363975222,-0.464448883186,-0.464533786881,-0.464618686306,-0.464703581461,-0.464788472344,-0.464873358955,-0.464958241293,-0.465043119357,-0.465127993146,-0.46521286266,-0.465297727898,-0.46538258886,-0.465467445543,-0.465552297948,-0.465637146073,-0.465721989919,-0.465806829484,-0.465891664767,-0.465976495768,-0.466061322486,-0.466146144919,-0.466230963068,-0.466315776932,-0.466400586509,-0.466485391799,-0.466570192802,-0.466654989516,-0.46673978194,-0.466824570074,-0.466909353917,-0.466994133469,-0.467078908728,-0.467163679694,-0.467248446365,-0.467333208742,-0.467417966823,-0.467502720608,-0.467587470095,-0.467672215285,-0.467756956176,-0.467841692767,-0.467926425058,-0.468011153048,-0.468095876736,-0.468180596122,-0.468265311204,-0.468350021982,-0.468434728455,-0.468519430622,-0.468604128483,-0.468688822036,-0.468773511281,-0.468858196217,-0.468942876844,-0.46902755316,-0.469112225165,-0.469196892859,-0.469281556239,-0.469366215306,-0.469450870058,-0.469535520496,-0.469620166617,-0.469704808422,-0.46978944591,-0.469874079079,-0.469958707929,-0.47004333246,-0.47012795267,-0.470212568558,-0.470297180125,-0.470381787369,-0.470466390289,-0.470550988884,-0.470635583155,-0.470720173099,-0.470804758717,-0.470889340007,-0.470973916969,-0.471058489601,-0.471143057904,-0.471227621877,-0.471312181517,-0.471396736826,-0.471481287802,-0.471565834443,-0.471650376751,-0.471734914723,-0.471819448359,-0.471903977658,-0.471988502619,-0.472073023242,-0.472157539526,-0.47224205147,-0.472326559073,-0.472411062335,-0.472495561254,-0.47258005583,-0.472664546063,-0.47274903195,-0.472833513493,-0.472917990689,-0.473002463538,-0.473086932039,-0.473171396192,-0.473255855996,-0.47334031145,-0.473424762552,-0.473509209303,-0.473593651702,-0.473678089748,-0.473762523439,-0.473846952776,-0.473931377757,-0.474015798383,-0.474100214651,-0.474184626561,-0.474269034112,-0.474353437305,-0.474437836137,-0.474522230608,-0.474606620717,-0.474691006464,-0.474775387848,-0.474859764868,-0.474944137522,-0.475028505812,-0.475112869735,-0.47519722929,-0.475281584478,-0.475365935297,-0.475450281747,-0.475534623827,-0.475618961535,-0.475703294872,-0.475787623836,-0.475871948427,-0.475956268643,-0.476040584485,-0.476124895951,-0.476209203041,-0.476293505753,-0.476377804088,-0.476462098044,-0.47654638762,-0.476630672816,-0.47671495363,-0.476799230063,-0.476883502114,-0.47696776978,-0.477052033063,-0.477136291961,-0.477220546473,-0.477304796598,-0.477389042337,-0.477473283687,-0.477557520648,-0.47764175322,-0.477725981401,-0.477810205191,-0.477894424589,-0.477978639595,-0.478062850207,-0.478147056425,-0.478231258248,-0.478315455675,-0.478399648705,-0.478483837338,-0.478568021573,-0.478652201409,-0.478736376845,-0.478820547881,-0.478904714516,-0.478988876749,-0.479073034579,-0.479157188005,-0.479241337027,-0.479325481644,-0.479409621856,-0.47949375766,-0.479577889057,-0.479662016046,-0.479746138626,-0.479830256797,-0.479914370556,-0.479998479905,-0.480082584841,-0.480166685365,-0.480250781475,-0.480334873171,-0.480418960451,-0.480503043316,-0.480587121764,-0.480671195795,-0.480755265407,-0.4808393306,-0.480923391374,-0.481007447727,-0.481091499659,-0.481175547168,-0.481259590255,-0.481343628918,-0.481427663157,-0.48151169297,-0.481595718358,-0.481679739319,-0.481763755852,-0.481847767957,-0.481931775633,-0.482015778879,-0.482099777695,-0.482183772079,-0.482267762031,-0.482351747551,-0.482435728636,-0.482519705287,-0.482603677503,-0.482687645283,-0.482771608626,-0.482855567532,-0.482939521999,-0.483023472027,-0.483107417616,-0.483191358763,-0.48327529547,-0.483359227734,-0.483443155555,-0.483527078933,-0.483610997866,-0.483694912354,-0.483778822396,-0.483862727991,-0.483946629138,-0.484030525837,-0.484114418087,-0.484198305888,-0.484282189237,-0.484366068135,-0.484449942581,-0.484533812574,-0.484617678113,-0.484701539198,-0.484785395827,-0.484869248001,-0.484953095717,-0.485036938976,-0.485120777777,-0.485204612119,-0.485288442,-0.485372267421,-0.485456088381,-0.485539904878,-0.485623716912,-0.485707524483,-0.485791327589,-0.48587512623,-0.485958920404,-0.486042710112,-0.486126495353,-0.486210276124,-0.486294052427,-0.48637782426,-0.486461591622,-0.486545354513,-0.486629112932,-0.486712866877,-0.486796616349,-0.486880361346,-0.486964101868,-0.487047837914,-0.487131569483,-0.487215296574,-0.487299019187,-0.487382737321,-0.487466450975,-0.487550160148,-0.48763386484,-0.48771756505,-0.487801260776,-0.487884952019,-0.487968638778,-0.488052321051,-0.488135998838,-0.488219672138,-0.48830334095,-0.488387005274,-0.488470665109,-0.488554320454,-0.488637971309,-0.488721617671,-0.488805259542,-0.48888889692,-0.488972529804,-0.489056158193,-0.489139782087,-0.489223401485,-0.489307016386,-0.48939062679,-0.489474232695,-0.489557834101,-0.489641431007,-0.489725023413,-0.489808611317,-0.489892194719,-0.489975773617,-0.490059348012,-0.490142917903,-0.490226483288,-0.490310044167,-0.49039360054,-0.490477152405,-0.490560699761,-0.490644242608,-0.490727780946,-0.490811314773,-0.490894844088,-0.490978368891,-0.491061889181,-0.491145404957,-0.491228916219,-0.491312422966,-0.491395925197,-0.49147942291,-0.491562916107,-0.491646404784,-0.491729888943,-0.491813368582,-0.4918968437,-0.491980314297,-0.492063780372,-0.492147241923,-0.492230698951,-0.492314151455,-0.492397599433,-0.492481042886,-0.492564481811,-0.492647916209,-0.492731346079,-0.492814771419,-0.49289819223,-0.49298160851,-0.493065020259,-0.493148427475,-0.493231830159,-0.493315228309,-0.493398621924,-0.493482011004,-0.493565395549,-0.493648775556,-0.493732151026,-0.493815521958,-0.493898888351,-0.493982250204,-0.494065607516,-0.494148960287,-0.494232308516,-0.494315652202,-0.494398991344,-0.494482325942,-0.494565655995,-0.494648981502,-0.494732302462,-0.494815618875,-0.494898930739,-0.494982238054,-0.49506554082,-0.495148839035,-0.495232132699,-0.495315421811,-0.49539870637,-0.495481986375,-0.495565261826,-0.495648532722,-0.495731799061,-0.495815060845,-0.495898318071,-0.495981570738,-0.496064818847,-0.496148062396,-0.496231301384,-0.496314535811,-0.496397765677,-0.496480990979,-0.496564211718,-0.496647427893,-0.496730639502,-0.496813846546,-0.496897049023,-0.496980246932,-0.497063440274,-0.497146629046,-0.497229813249,-0.497312992882,-0.497396167943,-0.497479338433,-0.497562504349,-0.497645665692,-0.497728822461,-0.497811974655,-0.497895122273,-0.497978265315,-0.498061403779,-0.498144537665,-0.498227666973,-0.498310791701,-0.498393911848,-0.498477027414,-0.498560138399,-0.4986432448,-0.498726346619,-0.498809443853,-0.498892536502,-0.498975624565,-0.499058708042,-0.499141786932,-0.499224861234,-0.499307930946,-0.49939099607,-0.499474056603,-0.499557112545,-0.499640163895,-0.499723210653,-0.499806252817,-0.499889290387,-0.499972323363,-0.500055351742,-0.500138375526,-0.500221394712,-0.5003044093,-0.50038741929,-0.50047042468,-0.500553425469,-0.500636421658,-0.500719413245,-0.50080240023,-0.500885382611,-0.500968360389,-0.501051333561,-0.501134302128,-0.501217266089,-0.501300225442,-0.501383180188,-0.501466130325,-0.501549075853,-0.50163201677,-0.501714953077,-0.501797884772,-0.501880811855,-0.501963734324,-0.50204665218,-0.50212956542,-0.502212474046,-0.502295378055,-0.502378277447,-0.502461172221,-0.502544062377,-0.502626947914,-0.50270982883,-0.502792705126,-0.5028755768,-0.502958443852,-0.503041306281,-0.503124164086,-0.503207017266,-0.503289865821,-0.50337270975,-0.503455549051,-0.503538383726,-0.503621213772,-0.503704039188,-0.503786859975,-0.503869676131,-0.503952487655,-0.504035294548,-0.504118096807,-0.504200894433,-0.504283687424,-0.50436647578,-0.504449259499,-0.504532038582,-0.504614813028,-0.504697582835,-0.504780348003,-0.504863108531,-0.504945864419,-0.505028615665,-0.505111362269,-0.505194104231,-0.505276841548,-0.505359574222,-0.50544230225,-0.505525025632,-0.505607744367,-0.505690458455,-0.505773167895,-0.505855872686,-0.505938572827,-0.506021268318,-0.506103959158,-0.506186645345,-0.50626932688,-0.506352003761,-0.506434675988,-0.50651734356,-0.506600006476,-0.506682664736,-0.506765318338,-0.506847967282,-0.506930611567,-0.507013251193,-0.507095886158,-0.507178516462,-0.507261142105,-0.507343763084,-0.507426379401,-0.507508991053,-0.50759159804,-0.507674200362,-0.507756798017,-0.507839391005,-0.507921979325,-0.508004562976,-0.508087141958,-0.50816971627,-0.50825228591,-0.508334850879,-0.508417411175,-0.508499966799,-0.508582517748,-0.508665064022,-0.508747605621,-0.508830142543,-0.508912674789,-0.508995202356,-0.509077725245,-0.509160243455,-0.509242756984,-0.509325265833,-0.50940777,-0.509490269485,-0.509572764287,-0.509655254404,-0.509737739837,-0.509820220585,-0.509902696647,-0.509985168021,-0.510067634708,-0.510150096707,-0.510232554016,-0.510315006635,-0.510397454564,-0.510479897801,-0.510562336346,-0.510644770198,-0.510727199357,-0.51080962382,-0.510892043589,-0.510974458661,-0.511056869037,-0.511139274715,-0.511221675695,-0.511304071976,-0.511386463557,-0.511468850438,-0.511551232617,-0.511633610094,-0.511715982869,-0.511798350939,-0.511880714306,-0.511963072967,-0.512045426923,-0.512127776172,-0.512210120713,-0.512292460546,-0.512374795671,-0.512457126086,-0.51253945179,-0.512621772783,-0.512704089065,-0.512786400634,-0.512868707489,-0.51295100963,-0.513033307056,-0.513115599767,-0.513197887761,-0.513280171038,-0.513362449596,-0.513444723437,-0.513526992557,-0.513609256958,-0.513691516637,-0.513773771595,-0.51385602183,-0.513938267342,-0.51402050813,-0.514102744193,-0.514184975531,-0.514267202142,-0.514349424027,-0.514431641183,-0.514513853611,-0.51459606131,-0.514678264279,-0.514760462517,-0.514842656023,-0.514924844797,-0.515007028838,-0.515089208145,-0.515171382717,-0.515253552554,-0.515335717655,-0.515417878019,-0.515500033646,-0.515582184534,-0.515664330683,-0.515746472092,-0.515828608761,-0.515910740688,-0.515992867873,-0.516074990315,-0.516157108014,-0.516239220968,-0.516321329177,-0.51640343264,-0.516485531356,-0.516567625325,-0.516649714546,-0.516731799018,-0.51681387874,-0.516895953711,-0.516978023932,-0.5170600894,-0.517142150116,-0.517224206079,-0.517306257287,-0.51738830374,-0.517470345437,-0.517552382378,-0.517634414562,-0.517716441988,-0.517798464655,-0.517880482562,-0.51796249571,-0.518044504096,-0.518126507721,-0.518208506583,-0.518290500681,-0.518372490016,-0.518454474586,-0.518536454391,-0.518618429429,-0.5187003997,-0.518782365203,-0.518864325938,-0.518946281904,-0.519028233099,-0.519110179524,-0.519192121177,-0.519274058058,-0.519355990166,-0.5194379175,-0.519519840059,-0.519601757843,-0.519683670851,-0.519765579082,-0.519847482536,-0.519929381211,-0.520011275108,-0.520093164224,-0.52017504856,-0.520256928114,-0.520338802887,-0.520420672876,-0.520502538082,-0.520584398504,-0.52066625414,-0.520748104991,-0.520829951055,-0.520911792332,-0.52099362882,-0.52107546052,-0.52115728743,-0.52123910955,-0.521320926879,-0.521402739415,-0.521484547159,-0.52156635011,-0.521648148267,-0.521729941629,-0.521811730195,-0.521893513965,-0.521975292937,-0.522057067112,-0.522138836488,-0.522220601065,-0.522302360841,-0.522384115817,-0.522465865991,-0.522547611363,-0.522629351931,-0.522711087696,-0.522792818656,-0.52287454481,-0.522956266159,-0.5230379827,-0.523119694434,-0.523201401359,-0.523283103476,-0.523364800782,-0.523446493278,-0.523528180962,-0.523609863834,-0.523691541893,-0.523773215139,-0.52385488357,-0.523936547186,-0.524018205986,-0.52409985997,-0.524181509136,-0.524263153484,-0.524344793013,-0.524426427722,-0.524508057611,-0.524589682678,-0.524671302924,-0.524752918347,-0.524834528947,-0.524916134723,-0.524997735673,-0.525079331798,-0.525160923097,-0.525242509568,-0.525324091212,-0.525405668026,-0.525487240012,-0.525568807167,-0.525650369491,-0.525731926984,-0.525813479644,-0.525895027471,-0.525976570464,-0.526058108623,-0.526139641946,-0.526221170433,-0.526302694083,-0.526384212895,-0.526465726869,-0.526547236004,-0.526628740298,-0.526710239753,-0.526791734365,-0.526873224136,-0.526954709064,-0.527036189148,-0.527117664387,-0.527199134782,-0.52728060033,-0.527362061032,-0.527443516887,-0.527524967893,-0.527606414051,-0.527687855359,-0.527769291816,-0.527850723423,-0.527932150177,-0.528013572079,-0.528094989127,-0.528176401321,-0.528257808661,-0.528339211145,-0.528420608772,-0.528502001542,-0.528583389455,-0.528664772508,-0.528746150703,-0.528827524037,-0.52890889251,-0.528990256122,-0.529071614872,-0.529152968758,-0.52923431778,-0.529315661938,-0.52939700123,-0.529478335657,-0.529559665216,-0.529640989908,-0.529722309732,-0.529803624686,-0.529884934771,-0.529966239985,-0.530047540328,-0.530128835798,-0.530210126396,-0.53029141212,-0.53037269297,-0.530453968945,-0.530535240044,-0.530616506266,-0.530697767612,-0.530779024079,-0.530860275667,-0.530941522376,-0.531022764204,-0.531104001151,-0.531185233217,-0.5312664604,-0.5313476827,-0.531428900115,-0.531510112646,-0.531591320292,-0.531672523051,-0.531753720923,-0.531834913907,-0.531916102003,-0.531997285209,-0.532078463526,-0.532159636952,-0.532240805486,-0.532321969128,-0.532403127877,-0.532484281733,-0.532565430693,-0.532646574759,-0.532727713929,-0.532808848202,-0.532889977577,-0.532971102054,-0.533052221633,-0.533133336311,-0.533214446089,-0.533295550966,-0.533376650941,-0.533457746014,-0.533538836183,-0.533619921447,-0.533701001807,-0.533782077261,-0.533863147809,-0.53394421345,-0.534025274182,-0.534106330006,-0.534187380921,-0.534268426926,-0.534349468019,-0.534430504201,-0.534511535471,-0.534592561827,-0.53467358327,-0.534754599798,-0.534835611411,-0.534916618107,-0.534997619887,-0.535078616749,-0.535159608693,-0.535240595718,-0.535321577823,-0.535402555007,-0.53548352727,-0.535564494611,-0.53564545703,-0.535726414524,-0.535807367095,-0.53588831474,-0.53596925746,-0.536050195253,-0.536131128119,-0.536212056057,-0.536292979066,-0.536373897146,-0.536454810295,-0.536535718513,-0.5366166218,-0.536697520154,-0.536778413575,-0.536859302062,-0.536940185615,-0.537021064232,-0.537101937913,-0.537182806656,-0.537263670463,-0.53734452933,-0.537425383259,-0.537506232248,-0.537587076296,-0.537667915402,-0.537748749567,-0.537829578789,-0.537910403067,-0.5379912224,-0.538072036789,-0.538152846232,-0.538233650728,-0.538314450277,-0.538395244877,-0.538476034529,-0.538556819232,-0.538637598984,-0.538718373785,-0.538799143634,-0.538879908531,-0.538960668474,-0.539041423464,-0.539122173499,-0.539202918578,-0.539283658701,-0.539364393867,-0.539445124075,-0.539525849325,-0.539606569616,-0.539687284946,-0.539767995316,-0.539848700725,-0.539929401171,-0.540010096655,-0.540090787174,-0.54017147273,-0.54025215332,-0.540332828945,-0.540413499602,-0.540494165293,-0.540574826015,-0.540655481768,-0.540736132552,-0.540816778366,-0.540897419208,-0.540978055079,-0.541058685977,-0.541139311902,-0.541219932853,-0.541300548828,-0.541381159829,-0.541461765853,-0.5415423669,-0.54162296297,-0.541703554061,-0.541784140172,-0.541864721304,-0.541945297455,-0.542025868625,-0.542106434812,-0.542186996017,-0.542267552238,-0.542348103474,-0.542428649726,-0.542509190991,-0.54258972727,-0.542670258561,-0.542750784865,-0.542831306179,-0.542911822504,-0.542992333838,-0.543072840182,-0.543153341534,-0.543233837893,-0.543314329258,-0.54339481563,-0.543475297007,-0.543555773389,-0.543636244774,-0.543716711162,-0.543797172553,-0.543877628945,-0.543958080338,-0.544038526731,-0.544118968123,-0.544199404514,-0.544279835903,-0.544360262288,-0.544440683671,-0.544521100048,-0.544601511421,-0.544681917788,-0.544762319148,-0.544842715501,-0.544923106845,-0.545003493181,-0.545083874508,-0.545164250824,-0.545244622129,-0.545324988422,-0.545405349703,-0.54548570597,-0.545566057224,-0.545646403463,-0.545726744686,-0.545807080893,-0.545887412083,-0.545967738256,-0.54604805941,-0.546128375545,-0.54620868666,-0.546288992754,-0.546369293827,-0.546449589878,-0.546529880906,-0.546610166911,-0.546690447891,-0.546770723846,-0.546850994775,-0.546931260678,-0.547011521554,-0.547091777401,-0.54717202822,-0.547252274009,-0.547332514768,-0.547412750496,-0.547492981193,-0.547573206857,-0.547653427487,-0.547733643084,-0.547813853646,-0.547894059173,-0.547974259664,-0.548054455118,-0.548134645534,-0.548214830912,-0.54829501125,-0.548375186549,-0.548455356808,-0.548535522025,-0.5486156822,-0.548695837333,-0.548775987421,-0.548856132466,-0.548936272466,-0.54901640742,-0.549096537327,-0.549176662188,-0.549256782,-0.549336896764,-0.549417006478,-0.549497111143,-0.549577210756,-0.549657305318,-0.549737394827,-0.549817479284,-0.549897558687,-0.549977633035,-0.550057702327,-0.550137766564,-0.550217825744,-0.550297879867,-0.550377928931,-0.550457972937,-0.550538011882,-0.550618045768,-0.550698074592,-0.550778098354,-0.550858117053,-0.55093813069,-0.551018139262,-0.551098142769,-0.551178141211,-0.551258134586,-0.551338122894,-0.551418106135,-0.551498084307,-0.55157805741,-0.551658025443,-0.551737988405,-0.551817946295,-0.551897899114,-0.551977846859,-0.552057789531,-0.552137727129,-0.552217659651,-0.552297587097,-0.552377509467,-0.55245742676,-0.552537338974,-0.55261724611,-0.552697148166,-0.552777045142,-0.552856937036,-0.552936823849,-0.55301670558,-0.553096582227,-0.553176453791,-0.55325632027,-0.553336181663,-0.55341603797,-0.55349588919,-0.553575735323,-0.553655576367,-0.553735412323,-0.553815243188,-0.553895068963,-0.553974889647,-0.554054705238,-0.554134515737,-0.554214321142,-0.554294121454,-0.55437391667,-0.55445370679,-0.554533491814,-0.554613271741,-0.55469304657,-0.554772816301,-0.554852580932,-0.554932340463,-0.555012094893,-0.555091844222,-0.555171588448,-0.555251327571,-0.555331061591,-0.555410790506,-0.555490514316,-0.55557023302,-0.555649946617,-0.555729655107,-0.555809358488,-0.555889056761,-0.555968749924,-0.556048437977,-0.556128120919,-0.556207798749,-0.556287471466,-0.55636713907,-0.55644680156,-0.556526458936,-0.556606111196,-0.556685758339,-0.556765400366,-0.556845037275,-0.556924669066,-0.557004295737,-0.557083917289,-0.55716353372,-0.55724314503,-0.557322751218,-0.557402352283,-0.557481948224,-0.557561539041,-0.557641124733,-0.5577207053,-0.55780028074,-0.557879851053,-0.557959416237,-0.558038976294,-0.558118531221,-0.558198081017,-0.558277625683,-0.558357165218,-0.55843669962,-0.558516228889,-0.558595753024,-0.558675272025,-0.55875478589,-0.55883429462,-0.558913798213,-0.558993296668,-0.559072789986,-0.559152278164,-0.559231761203,-0.559311239102,-0.559390711859,-0.559470179475,-0.559549641948,-0.559629099278,-0.559708551464,-0.559787998505,-0.559867440401,-0.55994687715,-0.560026308753,-0.560105735208,-0.560185156514,-0.560264572672,-0.56034398368,-0.560423389537,-0.560502790242,-0.560582185796,-0.560661576197,-0.560740961445,-0.560820341538,-0.560899716477,-0.560979086259,-0.561058450886,-0.561137810355,-0.561217164666,-0.561296513819,-0.561375857813,-0.561455196646,-0.561534530319,-0.56161385883,-0.561693182179,-0.561772500365,-0.561851813387,-0.561931121245,-0.562010423937,-0.562089721464,-0.562169013824,-0.562248301017,-0.562327583042,-0.562406859898,-0.562486131584,-0.562565398101,-0.562644659446,-0.562723915619,-0.56280316662,-0.562882412448,-0.562961653102,-0.563040888582,-0.563120118886,-0.563199344014,-0.563278563965,-0.563357778739,-0.563436988334,-0.56351619275,-0.563595391987,-0.563674586043,-0.563753774918,-0.563832958611,-0.563912137122,-0.563991310449,-0.564070478592,-0.56414964155,-0.564228799323,-0.564307951909,-0.564387099309,-0.564466241521,-0.564545378544,-0.564624510378,-0.564703637022,-0.564782758476,-0.564861874738,-0.564940985808,-0.565020091685,-0.565099192369,-0.565178287858,-0.565257378153,-0.565336463251,-0.565415543154,-0.565494617859,-0.565573687366,-0.565652751674,-0.565731810784,-0.565810864693,-0.565889913401,-0.565968956908,-0.566047995212,-0.566127028314,-0.566206056212,-0.566285078905,-0.566364096393,-0.566443108675,-0.566522115751,-0.566601117619,-0.56668011428,-0.566759105731,-0.566838091973,-0.566917073004,-0.566996048825,-0.567075019434,-0.567153984831,-0.567232945014,-0.567311899983,-0.567390849738,-0.567469794278,-0.567548733601,-0.567627667708,-0.567706596597,-0.567785520268,-0.56786443872,-0.567943351952,-0.568022259964,-0.568101162755,-0.568180060324,-0.56825895267,-0.568337839793,-0.568416721692,-0.568495598366,-0.568574469815,-0.568653336037,-0.568732197033,-0.568811052801,-0.56888990334,-0.568968748651,-0.569047588731,-0.569126423581,-0.5692052532,-0.569284077586,-0.56936289674,-0.569441710661,-0.569520519347,-0.569599322798,-0.569678121014,-0.569756913993,-0.569835701736,-0.56991448424,-0.569993261506,-0.570072033533,-0.570150800319,-0.570229561865,-0.57030831817,-0.570387069232,-0.570465815052,-0.570544555628,-0.57062329096,-0.570702021046,-0.570780745887,-0.570859465481,-0.570938179828,-0.571016888928,-0.571095592778,-0.571174291379,-0.57125298473,-0.57133167283,-0.571410355679,-0.571489033275,-0.571567705618,-0.571646372708,-0.571725034543,-0.571803691123,-0.571882342447,-0.571960988515,-0.572039629325,-0.572118264877,-0.57219689517,-0.572275520204,-0.572354139977,-0.57243275449,-0.572511363741,-0.572589967729,-0.572668566454,-0.572747159916,-0.572825748113,-0.572904331045,-0.57298290871,-0.573061481109,-0.57314004824,-0.573218610104,-0.573297166698,-0.573375718023,-0.573454264077,-0.57353280486,-0.573611340372,-0.573689870611,-0.573768395577,-0.573846915269,-0.573925429686,-0.574003938827,-0.574082442693,-0.574160941282,-0.574239434593,-0.574317922626,-0.57439640538,-0.574474882854,-0.574553355048,-0.57463182196,-0.574710283591,-0.574788739939,-0.574867191004,-0.574945636784,-0.57502407728,-0.575102512491,-0.575180942415,-0.575259367052,-0.575337786402,-0.575416200463,-0.575494609235,-0.575573012717,-0.575651410909,-0.575729803809,-0.575808191418,-0.575886573734,-0.575964950756,-0.576043322484,-0.576121688917,-0.576200050055,-0.576278405897,-0.576356756441,-0.576435101688,-0.576513441636,-0.576591776285,-0.576670105634,-0.576748429682,-0.57682674843,-0.576905061875,-0.576983370017,-0.577061672856,-0.57713997039,-0.57721826262,-0.577296549544,-0.577374831161,-0.577453107472,-0.577531378474,-0.577609644168,-0.577687904553,-0.577766159628,-0.577844409392,-0.577922653845,-0.578000892985,-0.578079126813,-0.578157355327,-0.578235578527,-0.578313796412,-0.578392008981,-0.578470216233,-0.578548418169,-0.578626614786,-0.578704806085,-0.578782992065,-0.578861172724,-0.578939348063,-0.57901751808,-0.579095682775,-0.579173842148,-0.579251996196,-0.57933014492,-0.579408288319,-0.579486426393,-0.579564559139,-0.579642686559,-0.579720808651,-0.579798925413,-0.579877036847,-0.57995514295,-0.580033243723,-0.580111339164,-0.580189429273,-0.580267514049,-0.580345593491,-0.580423667598,-0.580501736371,-0.580579799808,-0.580657857908,-0.580735910671,-0.580813958096,-0.580892000182,-0.580970036929,-0.581048068335,-0.581126094401,-0.581204115125,-0.581282130507,-0.581360140546,-0.581438145241,-0.581516144591,-0.581594138597,-0.581672127256,-0.581750110569,-0.581828088535,-0.581906061153,-0.581984028421,-0.582061990341,-0.58213994691,-0.582217898128,-0.582295843995,-0.582373784509,-0.58245171967,-0.582529649478,-0.582607573931,-0.582685493029,-0.582763406771,-0.582841315156,-0.582919218184,-0.582997115853,-0.583075008164,-0.583152895116,-0.583230776707,-0.583308652938,-0.583386523806,-0.583464389313,-0.583542249456,-0.583620104236,-0.583697953651,-0.5837757977,-0.583853636384,-0.583931469701,-0.584009297651,-0.584087120233,-0.584164937446,-0.584242749289,-0.584320555762,-0.584398356864,-0.584476152595,-0.584553942953,-0.584631727938,-0.584709507549,-0.584787281786,-0.584865050648,-0.584942814133,-0.585020572242,-0.585098324973,-0.585176072327,-0.585253814301,-0.585331550896,-0.585409282111,-0.585487007945,-0.585564728397,-0.585642443467,-0.585720153154,-0.585797857456,-0.585875556375,-0.585953249908,-0.586030938055,-0.586108620815,-0.586186298189,-0.586263970174,-0.58634163677,-0.586419297976,-0.586496953793,-0.586574604218,-0.586652249252,-0.586729888893,-0.586807523142,-0.586885151996,-0.586962775456,-0.587040393521,-0.58711800619,-0.587195613462,-0.587273215337,-0.587350811813,-0.587428402891,-0.587505988569,-0.587583568848,-0.587661143725,-0.5877387132,-0.587816277273,-0.587893835943,-0.58797138921,-0.588048937072,-0.588126479528,-0.588204016579,-0.588281548223,-0.588359074459,-0.588436595288,-0.588514110708,-0.588591620718,-0.588669125318,-0.588746624507,-0.588824118285,-0.58890160665,-0.588979089602,-0.58905656714,-0.589134039264,-0.589211505973,-0.589288967265,-0.589366423141,-0.5894438736,-0.589521318641,-0.589598758263,-0.589676192466,-0.589753621248,-0.589831044609,-0.589908462549,-0.589985875067,-0.590063282161,-0.590140683832,-0.590218080079,-0.5902954709,-0.590372856295,-0.590450236264,-0.590527610805,-0.590604979919,-0.590682343604,-0.590759701859,-0.590837054684,-0.590914402078,-0.590991744041,-0.591069080572,-0.591146411669,-0.591223737333,-0.591301057562,-0.591378372357,-0.591455681715,-0.591532985637,-0.591610284122,-0.591687577169,-0.591764864777,-0.591842146946,-0.591919423674,-0.591996694962,-0.592073960808,-0.592151221212,-0.592228476174,-0.592305725691,-0.592382969764,-0.592460208393,-0.592537441575,-0.592614669311,-0.5926918916,-0.59276910844,-0.592846319833,-0.592923525776,-0.593000726268,-0.593077921311,-0.593155110901,-0.59323229504,-0.593309473725,-0.593386646958,-0.593463814735,-0.593540977058,-0.593618133925,-0.593695285336,-0.59377243129,-0.593849571785,-0.593926706823,-0.594003836401,-0.594080960519,-0.594158079176,-0.594235192372,-0.594312300106,-0.594389402377,-0.594466499185,-0.594543590528,-0.594620676407,-0.594697756819,-0.594774831766,-0.594851901245,-0.594928965257,-0.5950060238,-0.595083076875,-0.595160124479,-0.595237166612,-0.595314203275,-0.595391234465,-0.595468260183,-0.595545280427,-0.595622295197,-0.595699304492,-0.595776308312,-0.595853306656,-0.595930299522,-0.596007286911,-0.596084268822,-0.596161245253,-0.596238216205,-0.596315181676,-0.596392141666,-0.596469096174,-0.596546045199,-0.596622988741,-0.596699926799,-0.596776859373,-0.59685378646,-0.596930708062,-0.597007624177,-0.597084534804,-0.597161439943,-0.597238339593,-0.597315233754,-0.597392122424,-0.597469005603,-0.59754588329,-0.597622755484,-0.597699622186,-0.597776483393,-0.597853339106,-0.597930189323,-0.598007034045,-0.598083873269,-0.598160706996,-0.598237535225,-0.598314357955,-0.598391175186,-0.598467986916,-0.598544793146,-0.598621593873,-0.598698389098,-0.59877517882,-0.598851963039,-0.598928741752,-0.599005514961,-0.599082282664,-0.59915904486,-0.599235801548,-0.599312552729,-0.599389298401,-0.599466038563,-0.599542773215,-0.599619502356,-0.599696225986,-0.599772944104,-0.599849656708,-0.599926363799,-0.600003065375,-0.600079761437,-0.600156451982,-0.600233137011,-0.600309816523,-0.600386490517,-0.600463158992,-0.600539821948,-0.600616479384,-0.600693131299,-0.600769777693,-0.600846418564,-0.600923053913,-0.600999683738,-0.601076308039,-0.601152926815,-0.601229540065,-0.601306147789,-0.601382749986,-0.601459346655,-0.601535937795,-0.601612523407,-0.601689103488,-0.601765678039,-0.601842247059,-0.601918810546,-0.601995368501,-0.602071920922,-0.60214846781,-0.602225009162,-0.602301544979,-0.60237807526,-0.602454600004,-0.60253111921,-0.602607632878,-0.602684141007,-0.602760643596,-0.602837140644,-0.602913632152,-0.602990118117,-0.60306659854,-0.60314307342,-0.603219542756,-0.603296006547,-0.603372464793,-0.603448917493,-0.603525364646,-0.603601806251,-0.603678242308,-0.603754672817,-0.603831097776,-0.603907517184,-0.603983931042,-0.604060339348,-0.604136742101,-0.604213139302,-0.604289530948,-0.60436591704,-0.604442297577,-0.604518672558,-0.604595041983,-0.60467140585,-0.604747764159,-0.604824116909,-0.6049004641,-0.604976805731,-0.605053141801,-0.605129472309,-0.605205797255,-0.605282116639,-0.605358430459,-0.605434738714,-0.605511041404,-0.605587338529,-0.605663630087,-0.605739916078,-0.605816196502,-0.605892471356,-0.605968740642,-0.606045004357,-0.606121262502,-0.606197515076,-0.606273762077,-0.606350003506,-0.606426239361,-0.606502469643,-0.606578694349,-0.60665491348,-0.606731127035,-0.606807335012,-0.606883537412,-0.606959734234,-0.607035925476,-0.607112111139,-0.607188291222,-0.607264465723,-0.607340634643,-0.607416797979,-0.607492955733,-0.607569107903,-0.607645254488,-0.607721395488,-0.607797530901,-0.607873660728,-0.607949784968,-0.608025903619,-0.608102016682,-0.608178124155,-0.608254226037,-0.608330322329,-0.608406413029,-0.608482498137,-0.608558577652,-0.608634651573,-0.608710719899,-0.608786782631,-0.608862839766,-0.608938891305,-0.609014937247,-0.609090977591,-0.609167012336,-0.609243041482,-0.609319065028,-0.609395082973,-0.609471095317,-0.609547102059,-0.609623103198,-0.609699098733,-0.609775088664,-0.60985107299,-0.60992705171,-0.610003024825,-0.610078992332,-0.610154954231,-0.610230910522,-0.610306861204,-0.610382806276,-0.610458745738,-0.610534679588,-0.610610607827,-0.610686530453,-0.610762447465,-0.610838358864,-0.610914264648,-0.610990164816,-0.611066059369,-0.611141948304,-0.611217831622,-0.611293709322,-0.611369581403,-0.611445447865,-0.611521308706,-0.611597163926,-0.611673013525,-0.611748857501,-0.611824695854,-0.611900528584,-0.611976355689,-0.612052177169,-0.612127993022,-0.61220380325,-0.61227960785,-0.612355406822,-0.612431200166,-0.61250698788,-0.612582769964,-0.612658546417,-0.61273431724,-0.612810082429,-0.612885841986,-0.61296159591,-0.613037344199,-0.613113086854,-0.613188823873,-0.613264555255,-0.613340281001,-0.613416001109,-0.613491715578,-0.613567424408,-0.613643127599,-0.613718825149,-0.613794517058,-0.613870203325,-0.61394588395,-0.614021558931,-0.614097228268,-0.614172891961,-0.614248550008,-0.61432420241,-0.614399849164,-0.614475490271,-0.61455112573,-0.61462675554,-0.614702379701,-0.614777998211,-0.614853611071,-0.614929218279,-0.615004819834,-0.615080415737,-0.615156005986,-0.615231590581,-0.61530716952,-0.615382742804,-0.615458310431,-0.615533872401,-0.615609428713,-0.615684979367,-0.615760524361,-0.615836063696,-0.61591159737,-0.615987125382,-0.616062647733,-0.616138164421,-0.616213675445,-0.616289180805,-0.616364680501,-0.616440174531,-0.616515662895,-0.616591145592,-0.616666622621,-0.616742093982,-0.616817559674,-0.616893019697,-0.616968474049,-0.61704392273,-0.617119365739,-0.617194803076,-0.61727023474,-0.61734566073,-0.617421081045,-0.617496495686,-0.61757190465,-0.617647307938,-0.617722705548,-0.617798097481,-0.617873483735,-0.617948864309,-0.618024239204,-0.618099608417,-0.61817497195,-0.6182503298,-0.618325681967,-0.618401028451,-0.61847636925,-0.618551704365,-0.618627033794,-0.618702357537,-0.618777675593,-0.618852987961,-0.618928294641,-0.619003595631,-0.619078890932,-0.619154180543,-0.619229464462,-0.61930474269,-0.619380015225,-0.619455282067,-0.619530543215,-0.619605798668,-0.619681048426,-0.619756292488,-0.619831530854,-0.619906763522,-0.619981990492,-0.620057211763,-0.620132427335,-0.620207637207,-0.620282841378,-0.620358039847,-0.620433232614,-0.620508419679,-0.620583601039,-0.620658776696,-0.620733946647,-0.620809110893,-0.620884269433,-0.620959422265,-0.62103456939,-0.621109710806,-0.621184846514,-0.621259976511,-0.621335100798,-0.621410219374,-0.621485332238,-0.621560439389,-0.621635540827,-0.621710636551,-0.621785726561,-0.621860810855,-0.621935889433,-0.622010962295,-0.622086029439,-0.622161090865,-0.622236146572,-0.62231119656,-0.622386240827,-0.622461279374,-0.622536312199,-0.622611339302,-0.622686360683,-0.622761376339,-0.622836386271,-0.622911390479,-0.62298638896,-0.623061381715,-0.623136368744,-0.623211350044,-0.623286325616,-0.623361295459,-0.623436259572,-0.623511217955,-0.623586170606,-0.623661117526,-0.623736058713,-0.623810994166,-0.623885923886,-0.623960847871,-0.624035766121,-0.624110678635,-0.624185585412,-0.624260486452,-0.624335381754,-0.624410271317,-0.62448515514,-0.624560033224,-0.624634905566,-0.624709772168,-0.624784633026,-0.624859488142,-0.624934337515,-0.625009181143,-0.625084019026,-0.625158851164,-0.625233677555,-0.625308498199,-0.625383313096,-0.625458122244,-0.625532925643,-0.625607723292,-0.625682515191,-0.625757301339,-0.625832081735,-0.625906856378,-0.625981625268,-0.626056388404,-0.626131145786,-0.626205897412,-0.626280643283,-0.626355383397,-0.626430117753,-0.626504846352,-0.626579569192,-0.626654286272,-0.626728997592,-0.626803703152,-0.62687840295,-0.626953096986,-0.627027785259,-0.627102467769,-0.627177144515,-0.627251815495,-0.62732648071,-0.627401140159,-0.627475793841,-0.627550441755,-0.627625083901,-0.627699720278,-0.627774350885,-0.627848975722,-0.627923594788,-0.627998208082,-0.628072815604,-0.628147417352,-0.628222013327,-0.628296603527,-0.628371187953,-0.628445766602,-0.628520339475,-0.62859490657,-0.628669467888,-0.628744023427,-0.628818573186,-0.628893117166,-0.628967655365,-0.629042187783,-0.629116714419,-0.629191235272,-0.629265750341,-0.629340259627,-0.629414763128,-0.629489260843,-0.629563752772,-0.629638238915,-0.62971271927,-0.629787193837,-0.629861662614,-0.629936125603,-0.630010582801,-0.630085034208,-0.630159479824,-0.630233919647,-0.630308353677,-0.630382781914,-0.630457204356,-0.630531621003,-0.630606031855,-0.63068043691,-0.630754836168,-0.630829229628,-0.63090361729,-0.630977999153,-0.631052375216,-0.631126745478,-0.63120110994,-0.631275468599,-0.631349821456,-0.631424168509,-0.631498509759,-0.631572845204,-0.631647174844,-0.631721498678,-0.631795816705,-0.631870128925,-0.631944435337,-0.63201873594,-0.632093030734,-0.632167319717,-0.63224160289,-0.632315880252,-0.632390151801,-0.632464417538,-0.632538677461,-0.63261293157,-0.632687179864,-0.632761422343,-0.632835659005,-0.632909889851,-0.632984114878,-0.633058334088,-0.633132547479,-0.63320675505,-0.633280956801,-0.633355152731,-0.633429342839,-0.633503527125,-0.633577705588,-0.633651878227,-0.633726045041,-0.633800206031,-0.633874361195,-0.633948510532,-0.634022654043,-0.634096791725,-0.634170923579,-0.634245049604,-0.634319169799,-0.634393284164,-0.634467392697,-0.634541495398,-0.634615592267,-0.634689683303,-0.634763768504,-0.634837847872,-0.634911921403,-0.634985989099,-0.635060050958,-0.63513410698,-0.635208157164,-0.635282201509,-0.635356240015,-0.63543027268,-0.635504299505,-0.635578320489,-0.63565233563,-0.635726344929,-0.635800348384,-0.635874345995,-0.635948337761,-0.636022323682,-0.636096303756,-0.636170277984,-0.636244246364,-0.636318208896,-0.636392165579,-0.636466116412,-0.636540061395,-0.636614000527,-0.636687933808,-0.636761861236,-0.636835782812,-0.636909698533,-0.636983608401,-0.637057512413,-0.637131410569,-0.63720530287,-0.637279189313,-0.637353069898,-0.637426944625,-0.637500813493,-0.637574676501,-0.637648533649,-0.637722384936,-0.63779623036,-0.637870069923,-0.637943903622,-0.638017731457,-0.638091553428,-0.638165369533,-0.638239179773,-0.638312984146,-0.638386782652,-0.63846057529,-0.638534362059,-0.63860814296,-0.63868191799,-0.638755687149,-0.638829450437,-0.638903207854,-0.638976959397,-0.639050705068,-0.639124444864,-0.639198178785,-0.639271906831,-0.639345629002,-0.639419345295,-0.639493055711,-0.639566760249,-0.639640458908,-0.639714151688,-0.639787838587,-0.639861519606,-0.639935194743,-0.640008863998,-0.640082527371,-0.64015618486,-0.640229836464,-0.640303482184,-0.640377122018,-0.640450755966,-0.640524384028,-0.640598006201,-0.640671622487,-0.640745232883,-0.64081883739,-0.640892436007,-0.640966028732,-0.641039615566,-0.641113196508,-0.641186771557,-0.641260340712,-0.641333903973,-0.641407461338,-0.641481012809,-0.641554558382,-0.641628098059,-0.641701631838,-0.641775159719,-0.6418486817,-0.641922197782,-0.641995707963,-0.642069212244,-0.642142710622,-0.642216203098,-0.642289689671,-0.642363170341,-0.642436645105,-0.642510113965,-0.642583576919,-0.642657033966,-0.642730485106,-0.642803930339,-0.642877369662,-0.642950803077,-0.643024230582,-0.643097652176,-0.643171067859,-0.64324447763,-0.643317881489,-0.643391279434,-0.643464671465,-0.643538057582,-0.643611437784,-0.643684812069,-0.643758180438,-0.64383154289,-0.643904899424,-0.643978250039,-0.644051594734,-0.64412493351,-0.644198266365,-0.644271593299,-0.644344914311,-0.6444182294,-0.644491538566,-0.644564841807,-0.644638139125,-0.644711430516,-0.644784715982,-0.644857995521,-0.644931269132,-0.645004536816,-0.64507779857,-0.645151054395,-0.645224304291,-0.645297548255,-0.645370786288,-0.645444018389,-0.645517244557,-0.645590464792,-0.645663679092,-0.645736887458,-0.645810089888,-0.645883286382,-0.645956476939,-0.646029661559,-0.646102840241,-0.646176012983,-0.646249179787,-0.64632234065,-0.646395495572,-0.646468644552,-0.646541787591,-0.646614924687,-0.646688055839,-0.646761181046,-0.646834300309,-0.646907413627,-0.646980520998,-0.647053622422,-0.647126717899,-0.647199807427,-0.647272891007,-0.647345968637,-0.647419040316,-0.647492106045,-0.647565165822,-0.647638219647,-0.647711267519,-0.647784309437,-0.647857345401,-0.64793037541,-0.648003399463,-0.64807641756,-0.6481494297,-0.648222435882,-0.648295436107,-0.648368430372,-0.648441418677,-0.648514401022,-0.648587377406,-0.648660347829,-0.648733312289,-0.648806270786,-0.648879223319,-0.648952169888,-0.649025110492,-0.64909804513,-0.649170973802,-0.649243896507,-0.649316813244,-0.649389724013,-0.649462628813,-0.649535527643,-0.649608420502,-0.649681307391,-0.649754188307,-0.649827063252,-0.649899932223,-0.649972795221,-0.650045652244,-0.650118503292,-0.650191348364,-0.65026418746,-0.650337020579,-0.65040984772,-0.650482668883,-0.650555484067,-0.65062829327,-0.650701096494,-0.650773893736,-0.650846684996,-0.650919470274,-0.650992249569,-0.65106502288,-0.651137790207,-0.651210551549,-0.651283306905,-0.651356056274,-0.651428799656,-0.65150153705,-0.651574268456,-0.651646993873,-0.6517197133,-0.651792426737,-0.651865134182,-0.651937835636,-0.652010531097,-0.652083220565,-0.652155904039,-0.652228581519,-0.652301253003,-0.652373918492,-0.652446577984,-0.65251923148,-0.652591878977,-0.652664520476,-0.652737155975,-0.652809785475,-0.652882408975,-0.652955026473,-0.653027637969,-0.653100243463,-0.653172842954,-0.653245436441,-0.653318023923,-0.6533906054,-0.653463180872,-0.653535750337,-0.653608313795,-0.653680871244,-0.653753422686,-0.653825968118,-0.653898507541,-0.653971040953,-0.654043568353,-0.654116089742,-0.654188605119,-0.654261114482,-0.654333617832,-0.654406115167,-0.654478606487,-0.654551091791,-0.654623571078,-0.654696044349,-0.654768511601,-0.654840972835,-0.65491342805,-0.654985877245,-0.65505832042,-0.655130757573,-0.655203188705,-0.655275613814,-0.6553480329,-0.655420445962,-0.655492853,-0.655565254012,-0.655637648999,-0.655710037959,-0.655782420892,-0.655854797797,-0.655927168674,-0.655999533522,-0.65607189234,-0.656144245127,-0.656216591883,-0.656288932608,-0.6563612673,-0.656433595958,-0.656505918583,-0.656578235174,-0.656650545729,-0.656722850249,-0.656795148732,-0.656867441178,-0.656939727587,-0.657012007956,-0.657084282287,-0.657156550578,-0.657228812829,-0.657301069038,-0.657373319206,-0.657445563331,-0.657517801413,-0.657590033451,-0.657662259445,-0.657734479394,-0.657806693297,-0.657878901154,-0.657951102963,-0.658023298725,-0.658095488439,-0.658167672103,-0.658239849717,-0.658312021282,-0.658384186795,-0.658456346256,-0.658528499665,-0.658600647021,-0.658672788323,-0.658744923571,-0.658817052764,-0.658889175901,-0.658961292982,-0.659033404006,-0.659105508972,-0.659177607879,-0.659249700728,-0.659321787517,-0.659393868246,-0.659465942913,-0.659538011519,-0.659610074063,-0.659682130544,-0.659754180961,-0.659826225313,-0.659898263601,-0.659970295823,-0.660042321979,-0.660114342067,-0.660186356089,-0.660258364041,-0.660330365925,-0.66040236174,-0.660474351484,-0.660546335157,-0.660618312758,-0.660690284287,-0.660762249744,-0.660834209126,-0.660906162435,-0.660978109668,-0.661050050826,-0.661121985908,-0.661193914913,-0.66126583784,-0.661337754689,-0.661409665459,-0.66148157015,-0.66155346876,-0.66162536129,-0.661697247738,-0.661769128104,-0.661841002387,-0.661912870587,-0.661984732702,-0.662056588733,-0.662128438678,-0.662200282537,-0.662272120309,-0.662343951994,-0.66241577759,-0.662487597098,-0.662559410516,-0.662631217845,-0.662703019082,-0.662774814228,-0.662846603282,-0.662918386243,-0.662990163111,-0.663061933885,-0.663133698564,-0.663205457148,-0.663277209635,-0.663348956026,-0.66342069632,-0.663492430515,-0.663564158612,-0.66363588061,-0.663707596507,-0.663779306304,-0.663851009999,-0.663922707593,-0.663994399084,-0.664066084472,-0.664137763755,-0.664209436934,-0.664281104008,-0.664352764976,-0.664424419837,-0.664496068591,-0.664567711237,-0.664639347775,-0.664710978203,-0.664782602522,-0.66485422073,-0.664925832826,-0.664997438811,-0.665069038684,-0.665140632443,-0.665212220088,-0.665283801619,-0.665355377035,-0.665426946335,-0.665498509518,-0.665570066585,-0.665641617533,-0.665713162363,-0.665784701074,-0.665856233666,-0.665927760136,-0.665999280486,-0.666070794714,-0.66614230282,-0.666213804803,-0.666285300662,-0.666356790396,-0.666428274006,-0.66649975149,-0.666571222847,-0.666642688078,-0.666714147181,-0.666785600156,-0.666857047002,-0.666928487718,-0.666999922304,-0.667071350759,-0.667142773082,-0.667214189273,-0.667285599331,-0.667357003256,-0.667428401047,-0.667499792702,-0.667571178223,-0.667642557607,-0.667713930854,-0.667785297963,-0.667856658935,-0.667928013768,-0.667999362461,-0.668070705014,-0.668142041427,-0.668213371698,-0.668284695826,-0.668356013813,-0.668427325655,-0.668498631354,-0.668569930908,-0.668641224317,-0.66871251158,-0.668783792696,-0.668855067665,-0.668926336485,-0.668997599157,-0.66906885568,-0.669140106053,-0.669211350276,-0.669282588347,-0.669353820266,-0.669425046032,-0.669496265646,-0.669567479105,-0.66963868641,-0.66970988756,-0.669781082554,-0.669852271392,-0.669923454072,-0.669994630595,-0.670065800959,-0.670136965164,-0.670208123209,-0.670279275094,-0.670350420818,-0.67042156038,-0.67049269378,-0.670563821017,-0.67063494209,-0.670706056998,-0.670777165742,-0.67084826832,-0.670919364732,-0.670990454977,-0.671061539054,-0.671132616963,-0.671203688703,-0.671274754274,-0.671345813674,-0.671416866903,-0.671487913961,-0.671558954847,-0.67162998956,-0.671701018099,-0.671772040465,-0.671843056655,-0.67191406667,-0.671985070509,-0.672056068172,-0.672127059656,-0.672198044963,-0.672269024091,-0.67233999704,-0.672410963809,-0.672481924397,-0.672552878804,-0.672623827029,-0.672694769071,-0.67276570493,-0.672836634605,-0.672907558095,-0.6729784754,-0.67304938652,-0.673120291453,-0.673191190198,-0.673262082756,-0.673332969125,-0.673403849306,-0.673474723296,-0.673545591096,-0.673616452705,-0.673687308122,-0.673758157347,-0.673829000379,-0.673899837217,-0.673970667861,-0.674041492309,-0.674112310562,-0.674183122619,-0.674253928479,-0.674324728141,-0.674395521605,-0.67446630887,-0.674537089936,-0.674607864801,-0.674678633466,-0.674749395929,-0.674820152189,-0.674890902247,-0.674961646102,-0.675032383752,-0.675103115198,-0.675173840439,-0.675244559473,-0.6753152723,-0.675385978921,-0.675456679333,-0.675527373536,-0.675598061531,-0.675668743315,-0.675739418889,-0.675810088251,-0.675880751402,-0.67595140834,-0.676022059064,-0.676092703575,-0.676163341872,-0.676233973953,-0.676304599819,-0.676375219468,-0.6764458329,-0.676516440114,-0.67658704111,-0.676657635886,-0.676728224443,-0.67679880678,-0.676869382896,-0.67693995279,-0.677010516462,-0.677081073911,-0.677151625136,-0.677222170137,-0.677292708913,-0.677363241464,-0.677433767789,-0.677504287886,-0.677574801756,-0.677645309398,-0.677715810812,-0.677786305996,-0.677856794949,-0.677927277673,-0.677997754164,-0.678068224424,-0.678138688451,-0.678209146245,-0.678279597805,-0.67835004313,-0.67842048222,-0.678490915074,-0.678561341691,-0.678631762072,-0.678702176214,-0.678772584118,-0.678842985783,-0.678913381208,-0.678983770393,-0.679054153337,-0.679124530038,-0.679194900498,-0.679265264714,-0.679335622687,-0.679405974416,-0.679476319899,-0.679546659137,-0.679616992129,-0.679687318874,-0.679757639371,-0.67982795362,-0.679898261621,-0.679968563371,-0.680038858872,-0.680109148122,-0.68017943112,-0.680249707867,-0.680319978361,-0.680390242601,-0.680460500587,-0.680530752319,-0.680600997795,-0.680671237016,-0.68074146998,-0.680811696686,-0.680881917135,-0.680952131326,-0.681022339257,-0.681092540928,-0.681162736339,-0.681232925489,-0.681303108377,-0.681373285002,-0.681443455365,-0.681513619464,-0.681583777298,-0.681653928868,-0.681724074172,-0.681794213209,-0.68186434598,-0.681934472483,-0.682004592718,-0.682074706685,-0.682144814381,-0.682214915808,-0.682285010964,-0.682355099848,-0.682425182461,-0.6824952588,-0.682565328866,-0.682635392659,-0.682705450176,-0.682775501419,-0.682845546385,-0.682915585075,-0.682985617488,-0.683055643623,-0.683125663479,-0.683195677056,-0.683265684353,-0.68333568537,-0.683405680106,-0.68347566856,-0.683545650732,-0.683615626621,-0.683685596226,-0.683755559547,-0.683825516583,-0.683895467333,-0.683965411797,-0.684035349975,-0.684105281864,-0.684175207466,-0.684245126779,-0.684315039802,-0.684384946535,-0.684454846978,-0.684524741129,-0.684594628988,-0.684664510555,-0.684734385828,-0.684804254808,-0.684874117492,-0.684943973882,-0.685013823976,-0.685083667773,-0.685153505273,-0.685223336475,-0.685293161379,-0.685362979984,-0.685432792289,-0.685502598293,-0.685572397997,-0.685642191399,-0.685711978499,-0.685781759296,-0.685851533789,-0.685921301978,-0.685991063863,-0.686060819441,-0.686130568714,-0.68620031168,-0.686270048339,-0.686339778689,-0.686409502731,-0.686479220463,-0.686548931886,-0.686618636998,-0.686688335798,-0.686758028287,-0.686827714463,-0.686897394326,-0.686967067875,-0.68703673511,-0.68710639603,-0.687176050634,-0.687245698921,-0.687315340892,-0.687384976545,-0.687454605879,-0.687524228895,-0.687593845591,-0.687663455967,-0.687733060022,-0.687802657755,-0.687872249167,-0.687941834255,-0.68801141302,-0.688080985462,-0.688150551578,-0.688220111369,-0.688289664834,-0.688359211973,-0.688428752784,-0.688498287267,-0.688567815422,-0.688637337248,-0.688706852744,-0.688776361909,-0.688845864744,-0.688915361246,-0.688984851417,-0.689054335254,-0.689123812757,-0.689193283927,-0.689262748761,-0.68933220726,-0.689401659423,-0.689471105249,-0.689540544737,-0.689609977887,-0.689679404699,-0.689748825171,-0.689818239303,-0.689887647095,-0.689957048545,-0.690026443653,-0.690095832419,-0.690165214841,-0.69023459092,-0.690303960654,-0.690373324043,-0.690442681086,-0.690512031783,-0.690581376132,-0.690650714135,-0.690720045788,-0.690789371093,-0.690858690048,-0.690928002653,-0.690997308908,-0.69106660881,-0.691135902361,-0.691205189558,-0.691274470403,-0.691343744893,-0.691413013029,-0.691482274809,-0.691551530233,-0.691620779301,-0.691690022012,-0.691759258364,-0.691828488358,-0.691897711993,-0.691966929269,-0.692036140183,-0.692105344737,-0.692174542929,-0.692243734759,-0.692312920226,-0.692382099329,-0.692451272068,-0.692520438442,-0.692589598451,-0.692658752093,-0.692727899369,-0.692797040277,-0.692866174817,-0.692935302989,-0.693004424791,-0.693073540224,-0.693142649285,-0.693211751976,-0.693280848295,-0.693349938241,-0.693419021814,-0.693488099013,-0.693557169838,-0.693626234288,-0.693695292362,-0.69376434406,-0.693833389381,-0.693902428324,-0.69397146089,-0.694040487076,-0.694109506883,-0.69417852031,-0.694247527356,-0.69431652802,-0.694385522303,-0.694454510203,-0.69452349172,-0.694592466853,-0.694661435601,-0.694730397964,-0.694799353942,-0.694868303532,-0.694937246736,-0.695006183552,-0.69507511398,-0.695144038019,-0.695212955668,-0.695281866927,-0.695350771795,-0.695419670271,-0.695488562356,-0.695557448047,-0.695626327345,-0.695695200249,-0.695764066759,-0.695832926873,-0.695901780591,-0.695970627913,-0.696039468837,-0.696108303363,-0.696177131491,-0.69624595322,-0.69631476855,-0.696383577478,-0.696452380006,-0.696521176132,-0.696589965856,-0.696658749177,-0.696727526095,-0.696796296608,-0.696865060716,-0.696933818419,-0.697002569716,-0.697071314607,-0.69714005309,-0.697208785165,-0.697277510831,-0.697346230088,-0.697414942935,-0.697483649372,-0.697552349398,-0.697621043012,-0.697689730213,-0.697758411002,-0.697827085377,-0.697895753337,-0.697964414883,-0.698033070013,-0.698101718727,-0.698170361024,-0.698238996904,-0.698307626366,-0.698376249409,-0.698444866033,-0.698513476236,-0.69858208002,-0.698650677381,-0.698719268322,-0.698787852839,-0.698856430934,-0.698925002604,-0.698993567851,-0.699062126672,-0.699130679068,-0.699199225037,-0.69926776458,-0.699336297695,-0.699404824382,-0.69947334464,-0.699541858469,-0.699610365868,-0.699678866836,-0.699747361373,-0.699815849477,-0.69988433115,-0.699952806389,-0.700021275194,-0.700089737565,-0.700158193501,-0.700226643001,-0.700295086064,-0.700363522691,-0.70043195288,-0.700500376631,-0.700568793943,-0.700637204816,-0.700705609248,-0.70077400724,-0.700842398791,-0.700910783899,-0.700979162565,-0.701047534787,-0.701115900566,-0.7011842599,-0.701252612789,-0.701320959232,-0.701389299229,-0.701457632779,-0.701525959881,-0.701594280535,-0.70166259474,-0.701730902496,-0.701799203801,-0.701867498656,-0.701935787059,-0.70200406901,-0.702072344508,-0.702140613553,-0.702208876144,-0.702277132281,-0.702345381962,-0.702413625188,-0.702481861957,-0.702550092269,-0.702618316124,-0.70268653352,-0.702754744457,-0.702822948935,-0.702891146952,-0.702959338509,-0.703027523604,-0.703095702237,-0.703163874407,-0.703232040114,-0.703300199358,-0.703368352136,-0.703436498449,-0.703504638297,-0.703572771678,-0.703640898592,-0.703709019038,-0.703777133016,-0.703845240524,-0.703913341564,-0.703981436133,-0.704049524231,-0.704117605858,-0.704185681012,-0.704253749694,-0.704321811903,-0.704389867637,-0.704457916897,-0.704525959682,-0.704593995991,-0.704662025823,-0.704730049179,-0.704798066056,-0.704866076456,-0.704934080376,-0.705002077817,-0.705070068777,-0.705138053257,-0.705206031255,-0.705274002771,-0.705341967804,-0.705409926354,-0.70547787842,-0.705545824001,-0.705613763097,-0.705681695708,-0.705749621831,-0.705817541468,-0.705885454617,-0.705953361278,-0.706021261449,-0.706089155131,-0.706157042323,-0.706224923024,-0.706292797234,-0.706360664951,-0.706428526176,-0.706496380907,-0.706564229145,-0.706632070888,-0.706699906135,-0.706767734887,-0.706835557142,-0.706903372901,-0.706971182161,-0.707038984923,-0.707106781187,-0.70717457095,-0.707242354214,-0.707310130976,-0.707377901238,-0.707445664997,-0.707513422253,-0.707581173006,-0.707648917256,-0.707716655,-0.70778438624,-0.707852110974,-0.707919829201,-0.707987540921,-0.708055246134,-0.708122944838,-0.708190637033,-0.708258322719,-0.708326001895,-0.70839367456,-0.708461340713,-0.708529000354,-0.708596653483,-0.708664300099,-0.7087319402,-0.708799573788,-0.70886720086,-0.708934821416,-0.709002435456,-0.709070042978,-0.709137643984,-0.709205238471,-0.709272826439,-0.709340407888,-0.709407982816,-0.709475551224,-0.70954311311,-0.709610668475,-0.709678217317,-0.709745759636,-0.70981329543,-0.709880824701,-0.709948347446,-0.710015863666,-0.710083373359,-0.710150876526,-0.710218373164,-0.710285863275,-0.710353346857,-0.71042082391,-0.710488294432,-0.710555758424,-0.710623215884,-0.710690666813,-0.710758111209,-0.710825549072,-0.710892980401,-0.710960405196,-0.711027823456,-0.71109523518,-0.711162640368,-0.711230039019,-0.711297431133,-0.711364816708,-0.711432195745,-0.711499568243,-0.7115669342,-0.711634293617,-0.711701646493,-0.711768992827,-0.711836332619,-0.711903665867,-0.711970992572,-0.712038312733,-0.712105626348,-0.712172933418,-0.712240233942,-0.71230752792,-0.71237481535,-0.712442096231,-0.712509370565,-0.712576638349,-0.712643899583,-0.712711154267,-0.712778402399,-0.71284564398,-0.712912879009,-0.712980107484,-0.713047329406,-0.713114544774,-0.713181753587,-0.713248955845,-0.713316151547,-0.713383340692,-0.71345052328,-0.713517699309,-0.713584868781,-0.713652031693,-0.713719188046,-0.713786337838,-0.713853481069,-0.713920617738,-0.713987747846,-0.71405487139,-0.714121988372,-0.714189098789,-0.714256202641,-0.714323299928,-0.714390390649,-0.714457474804,-0.714524552392,-0.714591623411,-0.714658687863,-0.714725745745,-0.714792797058,-0.714859841801,-0.714926879972,-0.714993911573,-0.715060936601,-0.715127955056,-0.715194966939,-0.715261972247,-0.715328970981,-0.715395963139,-0.715462948722,-0.715529927729,-0.715596900158,-0.71566386601,-0.715730825284,-0.715797777979,-0.715864724094,-0.715931663629,-0.715998596584,-0.716065522957,-0.716132442748,-0.716199355957,-0.716266262583,-0.716333162625,-0.716400056082,-0.716466942955,-0.716533823242,-0.716600696943,-0.716667564056,-0.716734424583,-0.716801278521,-0.716868125871,-0.716934966631,-0.717001800802,-0.717068628381,-0.71713544937,-0.717202263767,-0.717269071572,-0.717335872784,-0.717402667402,-0.717469455425,-0.717536236854,-0.717603011688,-0.717669779926,-0.717736541566,-0.71780329661,-0.717870045056,-0.717936786903,-0.718003522151,-0.718070250799,-0.718136972847,-0.718203688294,-0.71827039714,-0.718337099383,-0.718403795023,-0.718470484061,-0.718537166494,-0.718603842322,-0.718670511545,-0.718737174162,-0.718803830173,-0.718870479577,-0.718937122373,-0.71900375856,-0.719070388139,-0.719137011108,-0.719203627467,-0.719270237216,-0.719336840353,-0.719403436878,-0.71947002679,-0.719536610089,-0.719603186774,-0.719669756845,-0.719736320301,-0.719802877141,-0.719869427365,-0.719935970972,-0.720002507961,-0.720069038333,-0.720135562085,-0.720202079219,-0.720268589732,-0.720335093625,-0.720401590897,-0.720468081546,-0.720534565574,-0.720601042978,-0.720667513759,-0.720733977916,-0.720800435448,-0.720866886354,-0.720933330634,-0.720999768288,-0.721066199315,-0.721132623713,-0.721199041483,-0.721265452624,-0.721331857135,-0.721398255016,-0.721464646266,-0.721531030884,-0.72159740887,-0.721663780224,-0.721730144944,-0.72179650303,-0.721862854481,-0.721929199298,-0.721995537478,-0.722061869022,-0.722128193929,-0.722194512199,-0.72226082383,-0.722327128822,-0.722393427175,-0.722459718887,-0.722526003959,-0.72259228239,-0.722658554179,-0.722724819325,-0.722791077828,-0.722857329687,-0.722923574902,-0.722989813472,-0.723056045397,-0.723122270675,-0.723188489307,-0.723254701291,-0.723320906627,-0.723387105314,-0.723453297353,-0.723519482741,-0.723585661479,-0.723651833566,-0.723717999001,-0.723784157784,-0.723850309915,-0.723916455391,-0.723982594214,-0.724048726382,-0.724114851895,-0.724180970751,-0.724247082951,-0.724313188495,-0.72437928738,-0.724445379607,-0.724511465175,-0.724577544084,-0.724643616332,-0.724709681919,-0.724775740846,-0.72484179311,-0.724907838712,-0.72497387765,-0.725039909925,-0.725105935535,-0.72517195448,-0.72523796676,-0.725303972373,-0.72536997132,-0.725435963599,-0.72550194921,-0.725567928152,-0.725633900425,-0.725699866028,-0.725765824961,-0.725831777223,-0.725897722813,-0.72596366173,-0.726029593975,-0.726095519546,-0.726161438444,-0.726227350666,-0.726293256213,-0.726359155084,-0.726425047279,-0.726490932796,-0.726556811636,-0.726622683798,-0.72668854928,-0.726754408083,-0.726820260206,-0.726886105648,-0.726951944408,-0.727017776487,-0.727083601883,-0.727149420595,-0.727215232624,-0.727281037969,-0.727346836628,-0.727412628602,-0.72747841389,-0.727544192491,-0.727609964404,-0.72767572963,-0.727741488167,-0.727807240014,-0.727872985172,-0.727938723639,-0.728004455415,-0.7280701805,-0.728135898892,-0.728201610591,-0.728267315597,-0.728333013909,-0.728398705526,-0.728464390448,-0.728530068674,-0.728595740204,-0.728661405036,-0.728727063171,-0.728792714607,-0.728858359345,-0.728923997383,-0.728989628721,-0.729055253358,-0.729120871293,-0.729186482527,-0.729252087059,-0.729317684887,-0.729383276012,-0.729448860432,-0.729514438147,-0.729580009157,-0.72964557346,-0.729711131057,-0.729776681947,-0.729842226128,-0.729907763601,-0.729973294365,-0.730038818419,-0.730104335763,-0.730169846395,-0.730235350317,-0.730300847526,-0.730366338022,-0.730431821805,-0.730497298874,-0.730562769228,-0.730628232867,-0.73069368979,-0.730759139997,-0.730824583487,-0.73089002026,-0.730955450314,-0.731020873649,-0.731086290265,-0.731151700162,-0.731217103337,-0.731282499791,-0.731347889524,-0.731413272534,-0.731478648821,-0.731544018385,-0.731609381224,-0.731674737338,-0.731740086728,-0.731805429391,-0.731870765327,-0.731936094537,-0.732001417018,-0.732066732771,-0.732132041795,-0.73219734409,-0.732262639654,-0.732327928488,-0.73239321059,-0.73245848596,-0.732523754598,-0.732589016502,-0.732654271672,-0.732719520109,-0.73278476181,-0.732849996775,-0.732915225005,-0.732980446497,-0.733045661252,-0.733110869269,-0.733176070548,-0.733241265087,-0.733306452887,-0.733371633946,-0.733436808264,-0.733501975841,-0.733567136675,-0.733632290766,-0.733697438115,-0.733762578719,-0.733827712578,-0.733892839693,-0.733957960061,-0.734023073684,-0.734088180559,-0.734153280687,-0.734218374066,-0.734283460697,-0.734348540578,-0.73441361371,-0.73447868009,-0.73454373972,-0.734608792598,-0.734673838723,-0.734738878096,-0.734803910715,-0.73486893658,-0.73493395569,-0.734998968044,-0.735063973643,-0.735128972485,-0.73519396457,-0.735258949898,-0.735323928467,-0.735388900277,-0.735453865327,-0.735518823618,-0.735583775147,-0.735648719916,-0.735713657922,-0.735778589166,-0.735843513646,-0.735908431363,-0.735973342316,-0.736038246504,-0.736103143926,-0.736168034582,-0.736232918472,-0.736297795594,-0.736362665948,-0.736427529534,-0.736492386351,-0.736557236398,-0.736622079675,-0.736686916181,-0.736751745915,-0.736816568877,-0.736881385067,-0.736946194484,-0.737010997126,-0.737075792994,-0.737140582087,-0.737205364405,-0.737270139946,-0.73733490871,-0.737399670697,-0.737464425906,-0.737529174337,-0.737593915988,-0.737658650859,-0.73772337895,-0.73778810026,-0.737852814788,-0.737917522535,-0.737982223498,-0.738046917678,-0.738111605074,-0.738176285686,-0.738240959512,-0.738305626552,-0.738370286807,-0.738434940274,-0.738499586954,-0.738564226845,-0.738628859948,-0.738693486262,-0.738758105785,-0.738822718519,-0.738887324461,-0.738951923611,-0.739016515969,-0.739081101534,-0.739145680306,-0.739210252284,-0.739274817467,-0.739339375854,-0.739403927446,-0.739468472242,-0.73953301024,-0.739597541441,-0.739662065843,-0.739726583447,-0.739791094251,-0.739855598256,-0.73992009546,-0.739984585862,-0.740049069463,-0.740113546261,-0.740178016257,-0.740242479449,-0.740306935836,-0.740371385419,-0.740435828197,-0.740500264169,-0.740564693334,-0.740629115692,-0.740693531242,-0.740757939984,-0.740822341918,-0.740886737041,-0.740951125355,-0.741015506858,-0.74107988155,-0.74114424943,-0.741208610497,-0.741272964751,-0.741337312192,-0.741401652819,-0.741465986631,-0.741530313627,-0.741594633807,-0.741658947171,-0.741723253718,-0.741787553447,-0.741851846357,-0.741916132449,-0.741980411721,-0.742044684173,-0.742108949804,-0.742173208614,-0.742237460602,-0.742301705767,-0.74236594411,-0.742430175629,-0.742494400323,-0.742558618193,-0.742622829237,-0.742687033455,-0.742751230847,-0.742815421411,-0.742879605148,-0.742943782056,-0.743007952135,-0.743072115385,-0.743136271804,-0.743200421393,-0.74326456415,-0.743328700076,-0.743392829169,-0.743456951429,-0.743521066855,-0.743585175447,-0.743649277203,-0.743713372125,-0.74377746021,-0.743841541459,-0.743905615871,-0.743969683445,-0.74403374418,-0.744097798076,-0.744161845133,-0.74422588535,-0.744289918725,-0.74435394526,-0.744417964952,-0.744481977802,-0.744545983809,-0.744609982972,-0.744673975291,-0.744737960765,-0.744801939394,-0.744865911176,-0.744929876112,-0.744993834201,-0.745057785441,-0.745121729834,-0.745185667377,-0.745249598071,-0.745313521914,-0.745377438907,-0.745441349049,-0.745505252338,-0.745569148775,-0.745633038359,-0.745696921089,-0.745760796965,-0.745824665986,-0.745888528152,-0.745952383461,-0.746016231914,-0.74608007351,-0.746143908248,-0.746207736127,-0.746271557148,-0.746335371309,-0.74639917861,-0.74646297905,-0.746526772628,-0.746590559345,-0.746654339199,-0.746718112191,-0.746781878318,-0.746845637581,-0.74690938998,-0.746973135513,-0.74703687418,-0.74710060598,-0.747164330913,-0.747228048979,-0.747291760176,-0.747355464504,-0.747419161963,-0.747482852551,-0.747546536269,-0.747610213115,-0.74767388309,-0.747737546192,-0.747801202421,-0.747864851777,-0.747928494258,-0.747992129864,-0.748055758595,-0.74811938045,-0.748182995429,-0.74824660353,-0.748310204754,-0.748373799099,-0.748437386566,-0.748500967153,-0.74856454086,-0.748628107686,-0.748691667631,-0.748755220695,-0.748818766875,-0.748882306173,-0.748945838588,-0.749009364118,-0.749072882763,-0.749136394523,-0.749199899398,-0.749263397385,-0.749326888486,-0.749390372699,-0.749453850024,-0.74951732046,-0.749580784006,-0.749644240663,-0.749707690429,-0.749771133304,-0.749834569287,-0.749897998378,-0.749961420576,-0.75002483588,-0.750088244291,-0.750151645806,-0.750215040427,-0.750278428151,-0.75034180898,-0.750405182911,-0.750468549945,-0.75053191008,-0.750595263317,-0.750658609655,-0.750721949092,-0.750785281629,-0.750848607265,-0.750911926,-0.750975237832,-0.751038542762,-0.751101840788,-0.75116513191,-0.751228416127,-0.75129169344,-0.751354963846,-0.751418227347,-0.75148148394,-0.751544733626,-0.751607976404,-0.751671212274,-0.751734441234,-0.751797663284,-0.751860878424,-0.751924086654,-0.751987287971,-0.752050482377,-0.75211366987,-0.752176850449,-0.752240024115,-0.752303190866,-0.752366350702,-0.752429503623,-0.752492649627,-0.752555788715,-0.752618920886,-0.752682046138,-0.752745164472,-0.752808275887,-0.752871380382,-0.752934477957,-0.752997568612,-0.753060652344,-0.753123729155,-0.753186799044,-0.753249862009,-0.75331291805,-0.753375967167,-0.75343900936,-0.753502044627,-0.753565072968,-0.753628094382,-0.753691108869,-0.753754116428,-0.753817117059,-0.753880110761,-0.753943097533,-0.754006077376,-0.754069050288,-0.754132016268,-0.754194975317,-0.754257927433,-0.754320872617,-0.754383810866,-0.754446742182,-0.754509666563,-0.754572584008,-0.754635494518,-0.754698398092,-0.754761294728,-0.754824184426,-0.754887067187,-0.754949943009,-0.755012811891,-0.755075673834,-0.755138528836,-0.755201376897,-0.755264218016,-0.755327052193,-0.755389879427,-0.755452699718,-0.755515513065,-0.755578319467,-0.755641118924,-0.755703911436,-0.755766697001,-0.75582947562,-0.755892247291,-0.755955012014,-0.756017769788,-0.756080520614,-0.756143264489,-0.756206001414,-0.756268731389,-0.756331454412,-0.756394170483,-0.756456879601,-0.756519581766,-0.756582276977,-0.756644965234,-0.756707646536,-0.756770320883,-0.756832988273,-0.756895648707,-0.756958302184,-0.757020948703,-0.757083588263,-0.757146220865,-0.757208846506,-0.757271465188,-0.75733407691,-0.757396681669,-0.757459279468,-0.757521870303,-0.757584454176,-0.757647031085,-0.75770960103,-0.757772164011,-0.757834720026,-0.757897269075,-0.757959811158,-0.758022346273,-0.758084874422,-0.758147395602,-0.758209909813,-0.758272417055,-0.758334917327,-0.758397410629,-0.75845989696,-0.758522376319,-0.758584848705,-0.75864731412,-0.75870977256,-0.758772224027,-0.75883466852,-0.758897106037,-0.758959536579,-0.759021960145,-0.759084376733,-0.759146786345,-0.759209188978,-0.759271584633,-0.759333973309,-0.759396355006,-0.759458729722,-0.759521097457,-0.759583458211,-0.759645811984,-0.759708158773,-0.75977049858,-0.759832831403,-0.759895157241,-0.759957476095,-0.760019787964,-0.760082092846,-0.760144390742,-0.760206681651,-0.760268965573,-0.760331242506,-0.76039351245,-0.760455775405,-0.76051803137,-0.760580280344,-0.760642522328,-0.760704757319,-0.760766985319,-0.760829206325,-0.760891420339,-0.760953627358,-0.761015827383,-0.761078020412,-0.761140206446,-0.761202385484,-0.761264557525,-0.761326722569,-0.761388880615,-0.761451031662,-0.76151317571,-0.761575312758,-0.761637442806,-0.761699565854,-0.761761681899,-0.761823790943,-0.761885892985,-0.761947988023,-0.762010076058,-0.762072157089,-0.762134231114,-0.762196298135,-0.762258358149,-0.762320411157,-0.762382457158,-0.762444496151,-0.762506528136,-0.762568553112,-0.762630571078,-0.762692582035,-0.762754585981,-0.762816582917,-0.76287857284,-0.762940555752,-0.76300253165,-0.763064500535,-0.763126462407,-0.763188417263,-0.763250365105,-0.763312305931,-0.763374239741,-0.763436166534,-0.76349808631,-0.763559999068,-0.763621904807,-0.763683803528,-0.763745695228,-0.763807579909,-0.763869457569,-0.763931328207,-0.763993191824,-0.764055048418,-0.764116897989,-0.764178740536,-0.764240576059,-0.764302404558,-0.764364226031,-0.764426040479,-0.7644878479,-0.764549648293,-0.76461144166,-0.764673227998,-0.764735007308,-0.764796779588,-0.764858544838,-0.764920303058,-0.764982054247,-0.765043798405,-0.76510553553,-0.765167265622,-0.765228988682,-0.765290704707,-0.765352413699,-0.765414115655,-0.765475810575,-0.76553749846,-0.765599179308,-0.765660853119,-0.765722519892,-0.765784179626,-0.765845832322,-0.765907477978,-0.765969116594,-0.76603074817,-0.766092372704,-0.766153990196,-0.766215600647,-0.766277204054,-0.766338800418,-0.766400389738,-0.766461972013,-0.766523547243,-0.766585115427,-0.766646676565,-0.766708230657,-0.7667697777,-0.766831317696,-0.766892850643,-0.766954376542,-0.76701589539,-0.767077407188,-0.767138911936,-0.767200409632,-0.767261900276,-0.767323383868,-0.767384860406,-0.767446329891,-0.767507792322,-0.767569247698,-0.767630696018,-0.767692137283,-0.767753571491,-0.767814998642,-0.767876418736,-0.767937831772,-0.767999237748,-0.768060636666,-0.768122028523,-0.768183413321,-0.768244791057,-0.768306161731,-0.768367525344,-0.768428881894,-0.768490231381,-0.768551573804,-0.768612909162,-0.768674237456,-0.768735558684,-0.768796872846,-0.768858179941,-0.76891947997,-0.76898077293,-0.769042058822,-0.769103337646,-0.769164609399,-0.769225874083,-0.769287131697,-0.769348382239,-0.76940962571,-0.769470862108,-0.769532091433,-0.769593313685,-0.769654528864,-0.769715736967,-0.769776937996,-0.769838131949,-0.769899318826,-0.769960498626,-0.770021671348,-0.770082836993,-0.77014399556,-0.770205147047,-0.770266291455,-0.770327428783,-0.77038855903,-0.770449682196,-0.77051079828,-0.770571907281,-0.7706330092,-0.770694104035,-0.770755191786,-0.770816272453,-0.770877346034,-0.77093841253,-0.770999471939,-0.771060524262,-0.771121569497,-0.771182607644,-0.771243638702,-0.771304662672,-0.771365679552,-0.771426689341,-0.77148769204,-0.771548687647,-0.771609676163,-0.771670657586,-0.771731631916,-0.771792599152,-0.771853559294,-0.771914512342,-0.771975458294,-0.77203639715,-0.77209732891,-0.772158253573,-0.772219171139,-0.772280081606,-0.772340984975,-0.772401881245,-0.772462770415,-0.772523652484,-0.772584527453,-0.77264539532,-0.772706256086,-0.772767109748,-0.772827956308,-0.772888795764,-0.772949628116,-0.773010453363,-0.773071271504,-0.77313208254,-0.773192886469,-0.773253683291,-0.773314473006,-0.773375255613,-0.77343603111,-0.773496799499,-0.773557560778,-0.773618314946,-0.773679062003,-0.773739801949,-0.773800534783,-0.773861260504,-0.773921979112,-0.773982690607,-0.774043394987,-0.774104092252,-0.774164782402,-0.774225465436,-0.774286141353,-0.774346810154,-0.774407471836,-0.774468126401,-0.774528773846,-0.774589414173,-0.774650047379,-0.774710673466,-0.774771292431,-0.774831904274,-0.774892508996,-0.774953106595,-0.775013697071,-0.775074280423,-0.77513485665,-0.775195425753,-0.77525598773,-0.775316542582,-0.775377090306,-0.775437630904,-0.775498164374,-0.775558690716,-0.775619209929,-0.775679722013,-0.775740226967,-0.77580072479,-0.775861215483,-0.775921699043,-0.775982175472,-0.776042644768,-0.776103106931,-0.77616356196,-0.776224009855,-0.776284450615,-0.776344884239,-0.776405310728,-0.77646573008,-0.776526142295,-0.776586547372,-0.776646945311,-0.776707336111,-0.776767719772,-0.776828096293,-0.776888465673,-0.776948827913,-0.777009183011,-0.777069530967,-0.77712987178,-0.77719020545,-0.777250531976,-0.777310851358,-0.777371163595,-0.777431468687,-0.777491766632,-0.777552057431,-0.777612341083,-0.777672617588,-0.777732886944,-0.777793149151,-0.777853404209,-0.777913652118,-0.777973892876,-0.778034126482,-0.778094352938,-0.778154572241,-0.778214784392,-0.778274989389,-0.778335187233,-0.778395377922,-0.778455561457,-0.778515737836,-0.778575907059,-0.778636069126,-0.778696224036,-0.778756371788,-0.778816512381,-0.778876645817,-0.778936772093,-0.778996891209,-0.779057003164,-0.779117107959,-0.779177205593,-0.779237296064,-0.779297379373,-0.779357455518,-0.7794175245,-0.779477586318,-0.779537640971,-0.779597688458,-0.77965772878,-0.779717761935,-0.779777787923,-0.779837806744,-0.779897818396,-0.77995782288,-0.780017820195,-0.78007781034,-0.780137793314,-0.780197769118,-0.78025773775,-0.780317699211,-0.780377653499,-0.780437600613,-0.780497540555,-0.780557473322,-0.780617398914,-0.780677317331,-0.780737228572,-0.780797132637,-0.780857029525,-0.780916919235,-0.780976801768,-0.781036677122,-0.781096545296,-0.781156406291,-0.781216260106,-0.78127610674,-0.781335946193,-0.781395778464,-0.781455603552,-0.781515421458,-0.78157523218,-0.781635035718,-0.781694832071,-0.781754621239,-0.781814403222,-0.781874178018,-0.781933945627,-0.781993706049,-0.782053459283,-0.782113205328,-0.782172944185,-0.782232675852,-0.782292400329,-0.782352117615,-0.78241182771,-0.782471530613,-0.782531226324,-0.782590914842,-0.782650596167,-0.782710270297,-0.782769937233,-0.782829596975,-0.78288924952,-0.782948894869,-0.783008533022,-0.783068163977,-0.783127787735,-0.783187404294,-0.783247013655,-0.783306615816,-0.783366210777,-0.783425798537,-0.783485379096,-0.783544952454,-0.78360451861,-0.783664077562,-0.783723629312,-0.783783173858,-0.783842711199,-0.783902241336,-0.783961764266,-0.784021279991,-0.78408078851,-0.784140289821,-0.784199783925,-0.78425927082,-0.784318750507,-0.784378222984,-0.784437688252,-0.784497146309,-0.784556597156,-0.78461604079,-0.784675477213,-0.784734906423,-0.78479432842,-0.784853743204,-0.784913150773,-0.784972551128,-0.785031944267,-0.78509133019,-0.785150708897,-0.785210080387,-0.78526944466,-0.785328801714,-0.78538815155,-0.785447494167,-0.785506829564,-0.785566157741,-0.785625478697,-0.785684792432,-0.785744098945,-0.785803398236,-0.785862690303,-0.785921975148,-0.785981252768,-0.786040523163,-0.786099786334,-0.786159042279,-0.786218290997,-0.786277532489,-0.786336766754,-0.786395993791,-0.786455213599,-0.786514426179,-0.786573631529,-0.786632829648,-0.786692020538,-0.786751204196,-0.786810380623,-0.786869549817,-0.786928711779,-0.786987866507,-0.787047014002,-0.787106154262,-0.787165287288,-0.787224413078,-0.787283531631,-0.787342642949,-0.787401747029,-0.787460843872,-0.787519933476,-0.787579015842,-0.787638090968,-0.787697158855,-0.787756219501,-0.787815272907,-0.787874319071,-0.787933357993,-0.787992389673,-0.788051414109,-0.788110431302,-0.788169441251,-0.788228443955,-0.788287439414,-0.788346427627,-0.788405408593,-0.788464382313,-0.788523348786,-0.78858230801,-0.788641259986,-0.788700204714,-0.788759142191,-0.788818072418,-0.788876995395,-0.788935911121,-0.788994819595,-0.789053720816,-0.789112614785,-0.7891715015,-0.789230380962,-0.789289253169,-0.789348118121,-0.789406975818,-0.789465826258,-0.789524669442,-0.789583505369,-0.789642334038,-0.789701155449,-0.789759969601,-0.789818776494,-0.789877576127,-0.789936368499,-0.789995153611,-0.790053931461,-0.790112702049,-0.790171465375,-0.790230221437,-0.790288970236,-0.790347711771,-0.790406446041,-0.790465173046,-0.790523892785,-0.790582605257,-0.790641310463,-0.790700008402,-0.790758699072,-0.790817382474,-0.790876058607,-0.790934727471,-0.790993389064,-0.791052043386,-0.791110690438,-0.791169330218,-0.791227962725,-0.79128658796,-0.791345205921,-0.791403816609,-0.791462420022,-0.79152101616,-0.791579605023,-0.791638186609,-0.791696760919,-0.791755327952,-0.791813887707,-0.791872440184,-0.791930985383,-0.791989523302,-0.792048053941,-0.7921065773,-0.792165093378,-0.792223602175,-0.79228210369,-0.792340597922,-0.792399084871,-0.792457564537,-0.792516036918,-0.792574502015,-0.792632959827,-0.792691410353,-0.792749853593,-0.792808289546,-0.792866718212,-0.79292513959,-0.792983553679,-0.793041960479,-0.79310035999,-0.793158752211,-0.793217137142,-0.793275514781,-0.793333885129,-0.793392248185,-0.793450603948,-0.793508952417,-0.793567293593,-0.793625627475,-0.793683954062,-0.793742273353,-0.793800585349,-0.793858890048,-0.79391718745,-0.793975477554,-0.794033760361,-0.794092035869,-0.794150304078,-0.794208564987,-0.794266818596,-0.794325064904,-0.794383303911,-0.794441535616,-0.794499760019,-0.794557977119,-0.794616186915,-0.794674389408,-0.794732584596,-0.794790772479,-0.794848953057,-0.794907126328,-0.794965292293,-0.795023450951,-0.795081602301,-0.795139746343,-0.795197883076,-0.7952560125,-0.795314134613,-0.795372249417,-0.79543035691,-0.795488457091,-0.79554654996,-0.795604635517,-0.795662713761,-0.795720784691,-0.795778848307,-0.795836904609,-0.795894953595,-0.795952995266,-0.79601102962,-0.796069056658,-0.796127076378,-0.796185088781,-0.796243093865,-0.79630109163,-0.796359082076,-0.796417065202,-0.796475041008,-0.796533009492,-0.796590970655,-0.796648924495,-0.796706871013,-0.796764810208,-0.79682274208,-0.796880666627,-0.796938583849,-0.796996493746,-0.797054396317,-0.797112291562,-0.79717017948,-0.79722806007,-0.797285933333,-0.797343799267,-0.797401657872,-0.797459509147,-0.797517353093,-0.797575189708,-0.797633018991,-0.797690840943,-0.797748655563,-0.79780646285,-0.797864262804,-0.797922055424,-0.79797984071,-0.798037618661,-0.798095389276,-0.798153152556,-0.798210908499,-0.798268657105,-0.798326398373,-0.798384132304,-0.798441858896,-0.798499578149,-0.798557290062,-0.798614994635,-0.798672691867,-0.798730381758,-0.798788064308,-0.798845739515,-0.798903407379,-0.7989610679,-0.799018721077,-0.799076366909,-0.799134005397,-0.799191636539,-0.799249260335,-0.799306876785,-0.799364485888,-0.799422087643,-0.79947968205,-0.799537269108,-0.799594848817,-0.799652421176,-0.799709986186,-0.799767543844,-0.799825094151,-0.799882637106,-0.799940172709,-0.799997700959,-0.800055221856,-0.800112735399,-0.800170241587,-0.80022774042,-0.800285231898,-0.80034271602,-0.800400192785,-0.800457662193,-0.800515124243,-0.800572578935,-0.800630026269,-0.800687466243,-0.800744898857,-0.800802324112,-0.800859742005,-0.800917152537,-0.800974555708,-0.801031951515,-0.80108933996,-0.801146721042,-0.80120409476,-0.801261461113,-0.801318820101,-0.801376171723,-0.80143351598,-0.801490852869,-0.801548182392,-0.801605504547,-0.801662819334,-0.801720126752,-0.801777426801,-0.80183471948,-0.801892004789,-0.801949282727,-0.802006553293,-0.802063816488,-0.802121072311,-0.80217832076,-0.802235561836,-0.802292795538,-0.802350021866,-0.802407240818,-0.802464452395,-0.802521656596,-0.80257885342,-0.802636042867,-0.802693224937,-0.802750399628,-0.802807566941,-0.802864726874,-0.802921879428,-0.802979024601,-0.803036162393,-0.803093292804,-0.803150415834,-0.803207531481,-0.803264639745,-0.803321740625,-0.803378834122,-0.803435920234,-0.803492998961,-0.803550070303,-0.803607134258,-0.803664190827,-0.803721240009,-0.803778281803,-0.803835316209,-0.803892343226,-0.803949362854,-0.804006375093,-0.804063379941,-0.804120377398,-0.804177367464,-0.804234350139,-0.80429132542,-0.804348293309,-0.804405253805,-0.804462206907,-0.804519152614,-0.804576090926,-0.804633021843,-0.804689945364,-0.804746861488,-0.804803770215,-0.804860671545,-0.804917565476,-0.804974452009,-0.805031331143,-0.805088202877,-0.805145067211,-0.805201924144,-0.805258773676,-0.805315615806,-0.805372450534,-0.805429277859,-0.80548609778,-0.805542910298,-0.805599715412,-0.80565651312,-0.805713303423,-0.805770086321,-0.805826861811,-0.805883629895,-0.805940390571,-0.805997143839,-0.806053889699,-0.80611062815,-0.806167359191,-0.806224082821,-0.806280799042,-0.806337507851,-0.806394209248,-0.806450903233,-0.806507589806,-0.806564268965,-0.80662094071,-0.806677605041,-0.806734261958,-0.806790911459,-0.806847553544,-0.806904188213,-0.806960815464,-0.807017435299,-0.807074047716,-0.807130652714,-0.807187250293,-0.807243840452,-0.807300423192,-0.807356998511,-0.807413566409,-0.807470126886,-0.80752667994,-0.807583225572,-0.80763976378,-0.807696294565,-0.807752817926,-0.807809333862,-0.807865842373,-0.807922343458,-0.807978837117,-0.80803532335,-0.808091802154,-0.808148273531,-0.80820473748,-0.808261194,-0.808317643091,-0.808374084751,-0.808430518982,-0.808486945781,-0.808543365149,-0.808599777085,-0.808656181588,-0.808712578659,-0.808768968296,-0.808825350499,-0.808881725267,-0.8089380926,-0.808994452498,-0.80905080496,-0.809107149985,-0.809163487572,-0.809219817723,-0.809276140435,-0.809332455708,-0.809388763542,-0.809445063937,-0.809501356891,-0.809557642404,-0.809613920476,-0.809670191106,-0.809726454294,-0.80978271004,-0.809838958341,-0.809895199199,-0.809951432613,-0.810007658582,-0.810063877105,-0.810120088182,-0.810176291813,-0.810232487997,-0.810288676733,-0.810344858022,-0.810401031862,-0.810457198253,-0.810513357194,-0.810569508685,-0.810625652726,-0.810681789315,-0.810737918453,-0.810794040139,-0.810850154372,-0.810906261152,-0.810962360479,-0.811018452351,-0.811074536768,-0.811130613731,-0.811186683237,-0.811242745287,-0.811298799881,-0.811354847017,-0.811410886695,-0.811466918916,-0.811522943677,-0.811578960979,-0.811634970821,-0.811690973202,-0.811746968123,-0.811802955583,-0.81185893558,-0.811914908115,-0.811970873187,-0.812026830796,-0.81208278094,-0.81213872362,-0.812194658836,-0.812250586585,-0.812306506869,-0.812362419686,-0.812418325036,-0.812474222918,-0.812530113333,-0.812585996278,-0.812641871755,-0.812697739762,-0.812753600299,-0.812809453365,-0.81286529896,-0.812921137083,-0.812976967734,-0.813032790913,-0.813088606618,-0.813144414849,-0.813200215606,-0.813256008889,-0.813311794696,-0.813367573027,-0.813423343883,-0.813479107261,-0.813534863162,-0.813590611585,-0.81364635253,-0.813702085995,-0.813757811982,-0.813813530489,-0.813869241515,-0.81392494506,-0.813980641124,-0.814036329706,-0.814092010805,-0.814147684422,-0.814203350555,-0.814259009204,-0.814314660369,-0.814370304048,-0.814425940242,-0.81448156895,-0.814537190172,-0.814592803906,-0.814648410153,-0.814704008912,-0.814759600182,-0.814815183964,-0.814870760255,-0.814926329057,-0.814981890367,-0.815037444187,-0.815092990515,-0.815148529351,-0.815204060694,-0.815259584544,-0.8153151009,-0.815370609762,-0.81542611113,-0.815481605002,-0.815537091378,-0.815592570259,-0.815648041642,-0.815703505528,-0.815758961917,-0.815814410807,-0.815869852198,-0.81592528609,-0.815980712482,-0.816036131374,-0.816091542765,-0.816146946655,-0.816202343043,-0.816257731928,-0.816313113311,-0.81636848719,-0.816423853566,-0.816479212437,-0.816534563803,-0.816589907664,-0.816645244018,-0.816700572867,-0.816755894208,-0.816811208042,-0.816866514368,-0.816921813186,-0.816977104494,-0.817032388294,-0.817087664583,-0.817142933361,-0.817198194629,-0.817253448385,-0.817308694629,-0.817363933361,-0.817419164579,-0.817474388284,-0.817529604475,-0.817584813152,-0.817640014313,-0.817695207959,-0.817750394088,-0.817805572701,-0.817860743797,-0.817915907376,-0.817971063436,-0.818026211978,-0.818081353,-0.818136486503,-0.818191612486,-0.818246730948,-0.818301841889,-0.818356945309,-0.818412041206,-0.81846712958,-0.818522210432,-0.818577283759,-0.818632349563,-0.818687407842,-0.818742458595,-0.818797501823,-0.818852537525,-0.8189075657,-0.818962586347,-0.819017599467,-0.819072605059,-0.819127603122,-0.819182593656,-0.81923757666,-0.819292552134,-0.819347520077,-0.819402480489,-0.819457433369,-0.819512378716,-0.819567316531,-0.819622246813,-0.819677169561,-0.819732084774,-0.819786992453,-0.819841892596,-0.819896785204,-0.819951670275,-0.82000654781,-0.820061417807,-0.820116280266,-0.820171135187,-0.820225982569,-0.820280822412,-0.820335654715,-0.820390479478,-0.8204452967,-0.82050010638,-0.820554908519,-0.820609703115,-0.820664490168,-0.820719269678,-0.820774041644,-0.820828806066,-0.820883562943,-0.820938312274,-0.82099305406,-0.821047788299,-0.821102514991,-0.821157234136,-0.821211945733,-0.821266649781,-0.821321346281,-0.821376035231,-0.821430716632,-0.821485390482,-0.821540056781,-0.821594715528,-0.821649366724,-0.821704010367,-0.821758646457,-0.821813274994,-0.821867895977,-0.821922509406,-0.821977115279,-0.822031713597,-0.82208630436,-0.822140887565,-0.822195463214,-0.822250031306,-0.822304591839,-0.822359144814,-0.82241369023,-0.822468228087,-0.822522758383,-0.822577281119,-0.822631796295,-0.822686303908,-0.82274080396,-0.822795296449,-0.822849781376,-0.822904258739,-0.822958728538,-0.823013190772,-0.823067645442,-0.823122092546,-0.823176532084,-0.823230964056,-0.82328538846,-0.823339805298,-0.823394214567,-0.823448616268,-0.8235030104,-0.823557396962,-0.823611775954,-0.823666147376,-0.823720511227,-0.823774867507,-0.823829216215,-0.82388355735,-0.823937890912,-0.8239922169,-0.824046535315,-0.824100846156,-0.824155149421,-0.824209445111,-0.824263733225,-0.824318013762,-0.824372286723,-0.824426552106,-0.824480809911,-0.824535060137,-0.824589302785,-0.824643537853,-0.824697765342,-0.824751985249,-0.824806197576,-0.824860402322,-0.824914599485,-0.824968789066,-0.825022971065,-0.825077145479,-0.82513131231,-0.825185471556,-0.825239623218,-0.825293767294,-0.825347903784,-0.825402032688,-0.825456154004,-0.825510267734,-0.825564373875,-0.825618472428,-0.825672563392,-0.825726646767,-0.825780722552,-0.825834790746,-0.82588885135,-0.825942904362,-0.825996949782,-0.82605098761,-0.826105017845,-0.826159040486,-0.826213055534,-0.826267062987,-0.826321062846,-0.826375055109,-0.826429039776,-0.826483016847,-0.826536986321,-0.826590948197,-0.826644902476,-0.826698849157,-0.826752788238,-0.826806719721,-0.826860643603,-0.826914559885,-0.826968468567,-0.827022369647,-0.827076263125,-0.827130149001,-0.827184027274,-0.827237897943,-0.827291761009,-0.827345616471,-0.827399464328,-0.82745330458,-0.827507137226,-0.827560962265,-0.827614779698,-0.827668589524,-0.827722391741,-0.827776186351,-0.827829973352,-0.827883752743,-0.827937524525,-0.827991288697,-0.828045045258,-0.828098794207,-0.828152535545,-0.828206269271,-0.828259995384,-0.828313713884,-0.828367424771,-0.828421128043,-0.8284748237,-0.828528511742,-0.828582192169,-0.828635864979,-0.828689530173,-0.82874318775,-0.828796837709,-0.82885048005,-0.828904114772,-0.828957741875,-0.829011361359,-0.829064973222,-0.829118577465,-0.829172174087,-0.829225763087,-0.829279344465,-0.829332918221,-0.829386484353,-0.829440042862,-0.829493593747,-0.829547137008,-0.829600672643,-0.829654200653,-0.829707721037,-0.829761233795,-0.829814738925,-0.829868236428,-0.829921726303,-0.829975208549,-0.830028683167,-0.830082150155,-0.830135609513,-0.830189061241,-0.830242505338,-0.830295941803,-0.830349370637,-0.830402791838,-0.830456205406,-0.830509611341,-0.830563009642,-0.830616400309,-0.830669783341,-0.830723158737,-0.830776526498,-0.830829886622,-0.83088323911,-0.83093658396,-0.830989921172,-0.831043250746,-0.831096572682,-0.831149886978,-0.831203193634,-0.83125649265,-0.831309784026,-0.83136306776,-0.831416343852,-0.831469612303,-0.83152287311,-0.831576126274,-0.831629371795,-0.831682609672,-0.831735839904,-0.83178906249,-0.831842277432,-0.831895484727,-0.831948684375,-0.832001876376,-0.83205506073,-0.832108237436,-0.832161406493,-0.832214567901,-0.832267721659,-0.832320867768,-0.832374006226,-0.832427137033,-0.832480260188,-0.832533375692,-0.832586483543,-0.832639583741,-0.832692676286,-0.832745761176,-0.832798838413,-0.832851907994,-0.83290496992,-0.83295802419,-0.833011070804,-0.833064109761,-0.83311714106,-0.833170164702,-0.833223180685,-0.83327618901,-0.833329189675,-0.833382182681,-0.833435168026,-0.83348814571,-0.833541115733,-0.833594078095,-0.833647032794,-0.833699979831,-0.833752919204,-0.833805850914,-0.833858774959,-0.83391169134,-0.833964600056,-0.834017501106,-0.83407039449,-0.834123280207,-0.834176158258,-0.83422902864,-0.834281891355,-0.834334746401,-0.834387593778,-0.834440433486,-0.834493265524,-0.834546089891,-0.834598906587,-0.834651715612,-0.834704516965,-0.834757310645,-0.834810096652,-0.834862874986,-0.834915645647,-0.834968408632,-0.835021163943,-0.835073911579,-0.835126651539,-0.835179383822,-0.835232108429,-0.835284825358,-0.83533753461,-0.835390236183,-0.835442930078,-0.835495616294,-0.835548294829,-0.835600965685,-0.83565362886,-0.835706284354,-0.835758932166,-0.835811572296,-0.835864204743,-0.835916829508,-0.835969446589,-0.836022055985,-0.836074657698,-0.836127251725,-0.836179838066,-0.836232416722,-0.836284987691,-0.836337550974,-0.836390106568,-0.836442654475,-0.836495194694,-0.836547727224,-0.836600252064,-0.836652769214,-0.836705278674,-0.836757780444,-0.836810274522,-0.836862760908,-0.836915239602,-0.836967710603,-0.837020173911,-0.837072629525,-0.837125077445,-0.837177517671,-0.837229950201,-0.837282375035,-0.837334792174,-0.837387201616,-0.83743960336,-0.837491997408,-0.837544383757,-0.837596762407,-0.837649133359,-0.837701496611,-0.837753852163,-0.837806200015,-0.837858540166,-0.837910872615,-0.837963197363,-0.838015514408,-0.83806782375,-0.838120125389,-0.838172419324,-0.838224705555,-0.838276984081,-0.838329254902,-0.838381518017,-0.838433773425,-0.838486021127,-0.838538261122,-0.838590493409,-0.838642717989,-0.838694934859,-0.83874714402,-0.838799345472,-0.838851539214,-0.838903725245,-0.838955903565,-0.839008074174,-0.83906023707,-0.839112392254,-0.839164539726,-0.839216679484,-0.839268811527,-0.839320935857,-0.839373052472,-0.839425161371,-0.839477262555,-0.839529356022,-0.839581441772,-0.839633519805,-0.839685590121,-0.839737652718,-0.839789707597,-0.839841754756,-0.839893794196,-0.839945825916,-0.839997849915,-0.840049866193,-0.840101874749,-0.840153875583,-0.840205868695,-0.840257854084,-0.84030983175,-0.840361801691,-0.840413763908,-0.8404657184,-0.840517665167,-0.840569604208,-0.840621535522,-0.84067345911,-0.84072537497,-0.840777283103,-0.840829183508,-0.840881076183,-0.84093296113,-0.840984838347,-0.841036707833,-0.841088569589,-0.841140423614,-0.841192269908,-0.841244108469,-0.841295939298,-0.841347762394,-0.841399577756,-0.841451385384,-0.841503185278,-0.841554977437,-0.84160676186,-0.841658538548,-0.841710307499,-0.841762068714,-0.841813822191,-0.841865567931,-0.841917305932,-0.841969036194,-0.842020758718,-0.842072473501,-0.842124180545,-0.842175879848,-0.842227571409,-0.842279255229,-0.842330931308,-0.842382599643,-0.842434260236,-0.842485913085,-0.84253755819,-0.842589195551,-0.842640825167,-0.842692447037,-0.842744061162,-0.84279566754,-0.842847266172,-0.842898857056,-0.842950440192,-0.84300201558,-0.84305358322,-0.84310514311,-0.843156695251,-0.843208239642,-0.843259776282,-0.843311305171,-0.843362826308,-0.843414339694,-0.843465845327,-0.843517343207,-0.843568833333,-0.843620315706,-0.843671790324,-0.843723257188,-0.843774716296,-0.843826167648,-0.843877611244,-0.843929047084,-0.843980475166,-0.84403189549,-0.844083308056,-0.844134712864,-0.844186109912,-0.844237499201,-0.84428888073,-0.844340254499,-0.844391620506,-0.844442978752,-0.844494329236,-0.844545671957,-0.844597006916,-0.844648334111,-0.844699653543,-0.84475096521,-0.844802269113,-0.84485356525,-0.844904853621,-0.844956134226,-0.845007407065,-0.845058672137,-0.845109929441,-0.845161178976,-0.845212420744,-0.845263654742,-0.845314880971,-0.84536609943,-0.845417310118,-0.845468513036,-0.845519708182,-0.845570895556,-0.845622075158,-0.845673246987,-0.845724411043,-0.845775567326,-0.845826715834,-0.845877856567,-0.845928989525,-0.845980114708,-0.846031232115,-0.846082341745,-0.846133443598,-0.846184537674,-0.846235623971,-0.846286702491,-0.846337773231,-0.846388836192,-0.846439891373,-0.846490938774,-0.846541978394,-0.846593010233,-0.84664403429,-0.846695050565,-0.846746059058,-0.846797059767,-0.846848052693,-0.846899037834,-0.846950015192,-0.847000984764,-0.84705194655,-0.847102900551,-0.847153846766,-0.847204785193,-0.847255715833,-0.847306638686,-0.84735755375,-0.847408461025,-0.847459360512,-0.847510252208,-0.847561136115,-0.847612012231,-0.847662880555,-0.847713741089,-0.84776459383,-0.847815438779,-0.847866275935,-0.847917105297,-0.847967926866,-0.84801874064,-0.848069546619,-0.848120344803,-0.848171135192,-0.848221917784,-0.848272692579,-0.848323459578,-0.848374218779,-0.848424970181,-0.848475713785,-0.848526449591,-0.848577177596,-0.848627897802,-0.848678610207,-0.848729314812,-0.848780011615,-0.848830700616,-0.848881381815,-0.848932055212,-0.848982720805,-0.849033378594,-0.84908402858,-0.84913467076,-0.849185305136,-0.849235931706,-0.84928655047,-0.849337161428,-0.849387764579,-0.849438359922,-0.849488947457,-0.849539527185,-0.849590099103,-0.849640663212,-0.849691219512,-0.849741768001,-0.849792308679,-0.849842841547,-0.849893366603,-0.849943883847,-0.849994393278,-0.850044894897,-0.850095388702,-0.850145874693,-0.850196352869,-0.850246823231,-0.850297285778,-0.850347740509,-0.850398187424,-0.850448626522,-0.850499057802,-0.850549481266,-0.850599896911,-0.850650304737,-0.850700704745,-0.850751096933,-0.850801481302,-0.850851857849,-0.850902226576,-0.850952587482,-0.851002940566,-0.851053285828,-0.851103623267,-0.851153952883,-0.851204274675,-0.851254588643,-0.851304894787,-0.851355193105,-0.851405483598,-0.851455766266,-0.851506041106,-0.85155630812,-0.851606567307,-0.851656818666,-0.851707062196,-0.851757297898,-0.851807525771,-0.851857745814,-0.851907958027,-0.851958162409,-0.85200835896,-0.85205854768,-0.852108728568,-0.852158901624,-0.852209066847,-0.852259224236,-0.852309373792,-0.852359515513,-0.8524096494,-0.852459775451,-0.852509893667,-0.852560004047,-0.85261010659,-0.852660201296,-0.852710288165,-0.852760367196,-0.852810438388,-0.852860501742,-0.852910557256,-0.85296060493,-0.853010644765,-0.853060676758,-0.853110700911,-0.853160717221,-0.85321072569,-0.853260726316,-0.8533107191,-0.853360704039,-0.853410681135,-0.853460650387,-0.853510611793,-0.853560565355,-0.85361051107,-0.85366044894,-0.853710378962,-0.853760301138,-0.853810215466,-0.853860121946,-0.853910020578,-0.85395991136,-0.854009794293,-0.854059669377,-0.85410953661,-0.854159395992,-0.854209247523,-0.854259091202,-0.854308927029,-0.854358755003,-0.854408575125,-0.854458387392,-0.854508191806,-0.854557988365,-0.85460777707,-0.854657557919,-0.854707330912,-0.854757096049,-0.854806853329,-0.854856602752,-0.854906344317,-0.854956078025,-0.855005803873,-0.855055521863,-0.855105231993,-0.855154934263,-0.855204628673,-0.855254315222,-0.855303993909,-0.855353664735,-0.855403327699,-0.8554529828,-0.855502630037,-0.855552269412,-0.855601900922,-0.855651524567,-0.855701140348,-0.855750748263,-0.855800348313,-0.855849940496,-0.855899524812,-0.855949101261,-0.855998669842,-0.856048230555,-0.8560977834,-0.856147328375,-0.856196865481,-0.856246394717,-0.856295916083,-0.856345429577,-0.8563949352,-0.856444432952,-0.856493922831,-0.856543404838,-0.856592878971,-0.856642345231,-0.856691803616,-0.856741254128,-0.856790696764,-0.856840131525,-0.856889558409,-0.856938977418,-0.85698838855,-0.857037791804,-0.857087187181,-0.857136574679,-0.857185954299,-0.85723532604,-0.857284689901,-0.857334045883,-0.857383393984,-0.857432734204,-0.857482066543,-0.857531390999,-0.857580707574,-0.857630016266,-0.857679317075,-0.85772861,-0.857777895041,-0.857827172198,-0.85787644147,-0.857925702856,-0.857974956357,-0.858024201971,-0.858073439698,-0.858122669538,-0.858171891491,-0.858221105555,-0.858270311731,-0.858319510017,-0.858368700414,-0.858417882922,-0.858467057538,-0.858516224264,-0.858565383099,-0.858614534042,-0.858663677093,-0.858712812251,-0.858761939516,-0.858811058887,-0.858860170365,-0.858909273948,-0.858958369636,-0.859007457429,-0.859056537325,-0.859105609326,-0.85915467343,-0.859203729637,-0.859252777946,-0.859301818357,-0.85935085087,-0.859399875483,-0.859448892197,-0.859497901012,-0.859546901926,-0.859595894939,-0.859644880051,-0.859693857261,-0.859742826569,-0.859791787975,-0.859840741477,-0.859889687077,-0.859938624772,-0.859987554563,-0.860036476449,-0.860085390429,-0.860134296504,-0.860183194673,-0.860232084935,-0.860280967291,-0.860329841738,-0.860378708278,-0.860427566909,-0.860476417632,-0.860525260445,-0.860574095348,-0.860622922341,-0.860671741424,-0.860720552595,-0.860769355855,-0.860818151202,-0.860866938638,-0.86091571816,-0.860964489769,-0.861013253464,-0.861062009245,-0.861110757112,-0.861159497063,-0.861208229099,-0.861256953218,-0.861305669421,-0.861354377707,-0.861403078076,-0.861451770527,-0.861500455059,-0.861549131673,-0.861597800368,-0.861646461143,-0.861695113998,-0.861743758933,-0.861792395946,-0.861841025038,-0.861889646209,-0.861938259456,-0.861986864782,-0.862035462184,-0.862084051662,-0.862132633216,-0.862181206846,-0.862229772551,-0.86227833033,-0.862326880184,-0.862375422111,-0.862423956111,-0.862472482184,-0.86252100033,-0.862569510547,-0.862618012836,-0.862666507196,-0.862714993626,-0.862763472126,-0.862811942697,-0.862860405336,-0.862908860044,-0.862957306821,-0.863005745665,-0.863054176577,-0.863102599555,-0.863151014601,-0.863199421712,-0.863247820889,-0.863296212131,-0.863344595439,-0.86339297081,-0.863441338245,-0.863489697744,-0.863538049305,-0.86358639293,-0.863634728616,-0.863683056364,-0.863731376173,-0.863779688043,-0.863827991973,-0.863876287963,-0.863924576013,-0.863972856122,-0.864021128289,-0.864069392514,-0.864117648797,-0.864165897137,-0.864214137534,-0.864262369987,-0.864310594496,-0.864358811061,-0.86440701968,-0.864455220354,-0.864503413082,-0.864551597864,-0.864599774699,-0.864647943587,-0.864696104527,-0.864744257519,-0.864792402563,-0.864840539658,-0.864888668803,-0.864936789998,-0.864984903243,-0.865033008537,-0.86508110588,-0.865129195272,-0.865177276711,-0.865225350198,-0.865273415731,-0.865321473312,-0.865369522938,-0.865417564611,-0.865465598328,-0.865513624091,-0.865561641897,-0.865609651748,-0.865657653642,-0.865705647579,-0.865753633559,-0.865801611581,-0.865849581645,-0.86589754375,-0.865945497896,-0.865993444082,-0.866041382309,-0.866089312575,-0.86613723488,-0.866185149223,-0.866233055605,-0.866280954025,-0.866328844481,-0.866376726975,-0.866424601505,-0.866472468072,-0.866520326674,-0.866568177311,-0.866616019982,-0.866663854688,-0.866711681428,-0.866759500201,-0.866807311007,-0.866855113845,-0.866902908716,-0.866950695618,-0.866998474552,-0.867046245516,-0.86709400851,-0.867141763534,-0.867189510588,-0.867237249671,-0.867284980782,-0.867332703921,-0.867380419088,-0.867428126282,-0.867475825503,-0.867523516751,-0.867571200024,-0.867618875323,-0.867666542646,-0.867714201995,-0.867761853367,-0.867809496763,-0.867857132183,-0.867904759625,-0.86795237909,-0.867999990577,-0.868047594085,-0.868095189614,-0.868142777164,-0.868190356734,-0.868237928324,-0.868285491934,-0.868333047562,-0.868380595209,-0.868428134873,-0.868475666556,-0.868523190255,-0.868570705971,-0.868618213704,-0.868665713452,-0.868713205216,-0.868760688995,-0.868808164788,-0.868855632595,-0.868903092416,-0.868950544251,-0.868997988098,-0.869045423957,-0.869092851828,-0.869140271711,-0.869187683605,-0.86923508751,-0.869282483424,-0.869329871349,-0.869377251282,-0.869424623225,-0.869471987176,-0.869519343135,-0.869566691101,-0.869614031075,-0.869661363056,-0.869708687042,-0.869756003035,-0.869803311033,-0.869850611035,-0.869897903043,-0.869945187054,-0.869992463069,-0.870039731088,-0.870086991109,-0.870134243132,-0.870181487157,-0.870228723184,-0.870275951212,-0.870323171241,-0.870370383269,-0.870417587298,-0.870464783325,-0.870511971352,-0.870559151377,-0.8706063234,-0.870653487421,-0.870700643438,-0.870747791453,-0.870794931464,-0.87084206347,-0.870889187472,-0.870936303469,-0.87098341146,-0.871030511446,-0.871077603425,-0.871124687398,-0.871171763363,-0.871218831321,-0.87126589127,-0.871312943212,-0.871359987144,-0.871407023067,-0.87145405098,-0.871501070883,-0.871548082775,-0.871595086656,-0.871642082526,-0.871689070383,-0.871736050229,-0.871783022061,-0.87182998588,-0.871876941686,-0.871923889477,-0.871970829254,-0.872017761016,-0.872064684763,-0.872111600493,-0.872158508208,-0.872205407906,-0.872252299586,-0.872299183249,-0.872346058894,-0.872392926521,-0.872439786129,-0.872486637717,-0.872533481286,-0.872580316835,-0.872627144363,-0.87267396387,-0.872720775356,-0.87276757882,-0.872814374261,-0.87286116168,-0.872907941076,-0.872954712448,-0.873001475796,-0.87304823112,-0.873094978418,-0.873141717692,-0.873188448939,-0.873235172161,-0.873281887356,-0.873328594524,-0.873375293664,-0.873421984777,-0.873468667861,-0.873515342917,-0.873562009943,-0.87360866894,-0.873655319907,-0.873701962843,-0.873748597749,-0.873795224623,-0.873841843465,-0.873888454276,-0.873935057053,-0.873981651798,-0.874028238509,-0.874074817186,-0.874121387829,-0.874167950438,-0.874214505011,-0.874261051548,-0.87430759005,-0.874354120515,-0.874400642943,-0.874447157334,-0.874493663687,-0.874540162002,-0.874586652278,-0.874633134516,-0.874679608713,-0.874726074872,-0.874772532989,-0.874818983066,-0.874865425102,-0.874911859097,-0.874958285049,-0.875004702959,-0.875051112826,-0.87509751465,-0.87514390843,-0.875190294165,-0.875236671857,-0.875283041503,-0.875329403104,-0.875375756659,-0.875422102168,-0.87546843963,-0.875514769045,-0.875561090413,-0.875607403732,-0.875653709003,-0.875700006226,-0.875746295399,-0.875792576522,-0.875838849595,-0.875885114618,-0.87593137159,-0.87597762051,-0.876023861379,-0.876070094195,-0.876116318959,-0.87616253567,-0.876208744327,-0.87625494493,-0.876301137479,-0.876347321973,-0.876393498412,-0.876439666796,-0.876485827123,-0.876531979394,-0.876578123608,-0.876624259764,-0.876670387863,-0.876716507904,-0.876762619886,-0.876808723809,-0.876854819673,-0.876900907477,-0.87694698722,-0.876993058903,-0.877039122525,-0.877085178085,-0.877131225583,-0.877177265019,-0.877223296392,-0.877269319701,-0.877315334947,-0.877361342129,-0.877407341246,-0.877453332299,-0.877499315286,-0.877545290207,-0.877591257062,-0.877637215851,-0.877683166572,-0.877729109226,-0.877775043812,-0.87782097033,-0.877866888779,-0.877912799159,-0.877958701469,-0.878004595709,-0.878050481879,-0.878096359978,-0.878142230005,-0.878188091961,-0.878233945845,-0.878279791657,-0.878325629395,-0.87837145906,-0.878417280651,-0.878463094168,-0.87850889961,-0.878554696977,-0.878600486269,-0.878646267485,-0.878692040625,-0.878737805687,-0.878783562673,-0.878829311581,-0.878875052411,-0.878920785162,-0.878966509835,-0.879012226429,-0.879057934942,-0.879103635376,-0.879149327729,-0.879195012001,-0.879240688192,-0.879286356301,-0.879332016328,-0.879377668272,-0.879423312133,-0.879468947911,-0.879514575604,-0.879560195214,-0.879605806739,-0.879651410178,-0.879697005532,-0.8797425928,-0.879788171982,-0.879833743076,-0.879879306084,-0.879924861004,-0.879970407836,-0.880015946579,-0.880061477233,-0.880106999798,-0.880152514274,-0.880198020659,-0.880243518953,-0.880289009157,-0.880334491269,-0.880379965289,-0.880425431217,-0.880470889052,-0.880516338794,-0.880561780443,-0.880607213998,-0.880652639458,-0.880698056824,-0.880743466094,-0.880788867269,-0.880834260348,-0.88087964533,-0.880925022216,-0.880970391004,-0.881015751694,-0.881061104287,-0.881106448781,-0.881151785176,-0.881197113471,-0.881242433667,-0.881287745763,-0.881333049758,-0.881378345652,-0.881423633444,-0.881468913135,-0.881514184723,-0.881559448209,-0.881604703592,-0.881649950871,-0.881695190046,-0.881740421117,-0.881785644083,-0.881830858944,-0.881876065699,-0.881921264348,-0.881966454891,-0.882011637327,-0.882056811656,-0.882101977877,-0.88214713599,-0.882192285994,-0.88223742789,-0.882282561676,-0.882327687352,-0.882372804919,-0.882417914374,-0.882463015719,-0.882508108952,-0.882553194074,-0.882598271083,-0.88264333998,-0.882688400763,-0.882733453433,-0.882778497989,-0.882823534431,-0.882868562758,-0.88291358297,-0.882958595066,-0.883003599047,-0.883048594911,-0.883093582658,-0.883138562288,-0.883183533801,-0.883228497195,-0.883273452471,-0.883318399628,-0.883363338666,-0.883408269584,-0.883453192382,-0.883498107059,-0.883543013616,-0.883587912051,-0.883632802365,-0.883677684556,-0.883722558625,-0.883767424571,-0.883812282393,-0.883857132091,-0.883901973666,-0.883946807116,-0.88399163244,-0.884036449639,-0.884081258713,-0.88412605966,-0.88417085248,-0.884215637173,-0.884260413739,-0.884305182177,-0.884349942486,-0.884394694667,-0.884439438718,-0.88448417464,-0.884528902432,-0.884573622094,-0.884618333624,-0.884663037024,-0.884707732292,-0.884752419428,-0.884797098431,-0.884841769301,-0.884886432039,-0.884931086642,-0.884975733112,-0.885020371447,-0.885065001647,-0.885109623711,-0.88515423764,-0.885198843433,-0.885243441089,-0.885288030609,-0.885332611991,-0.885377185235,-0.885421750341,-0.885466307308,-0.885510856136,-0.885555396825,-0.885599929374,-0.885644453783,-0.885688970051,-0.885733478178,-0.885777978164,-0.885822470007,-0.885866953709,-0.885911429268,-0.885955896683,-0.886000355955,-0.886044807084,-0.886089250067,-0.886133684907,-0.8861781116,-0.886222530149,-0.886266940551,-0.886311342807,-0.886355736917,-0.886400122879,-0.886444500693,-0.88648887036,-0.886533231878,-0.886577585247,-0.886621930467,-0.886666267537,-0.886710596458,-0.886754917228,-0.886799229847,-0.886843534314,-0.88688783063,-0.886932118794,-0.886976398806,-0.887020670664,-0.88706493437,-0.887109189921,-0.887153437319,-0.887197676562,-0.88724190765,-0.887286130582,-0.887330345359,-0.88737455198,-0.887418750444,-0.887462940752,-0.887507122901,-0.887551296894,-0.887595462728,-0.887639620403,-0.887683769919,-0.887727911276,-0.887772044473,-0.88781616951,-0.887860286387,-0.887904395102,-0.887948495656,-0.887992588048,-0.888036672278,-0.888080748345,-0.888124816249,-0.88816887599,-0.888212927566,-0.888256970979,-0.888301006227,-0.88834503331,-0.888389052227,-0.888433062978,-0.888477065564,-0.888521059982,-0.888565046233,-0.888609024317,-0.888652994233,-0.888696955981,-0.88874090956,-0.88878485497,-0.88882879221,-0.88887272128,-0.88891664218,-0.88896055491,-0.889004459468,-0.889048355855,-0.889092244069,-0.889136124112,-0.889179995981,-0.889223859678,-0.889267715201,-0.88931156255,-0.889355401724,-0.889399232724,-0.889443055549,-0.889486870198,-0.889530676671,-0.889574474968,-0.889618265088,-0.889662047031,-0.889705820796,-0.889749586383,-0.889793343792,-0.889837093022,-0.889880834073,-0.889924566944,-0.889968291635,-0.890012008146,-0.890055716476,-0.890099416625,-0.890143108592,-0.890186792378,-0.890230467981,-0.890274135401,-0.890317794637,-0.890361445691,-0.89040508856,-0.890448723245,-0.890492349745,-0.89053596806,-0.890579578189,-0.890623180132,-0.890666773889,-0.890710359459,-0.890753936841,-0.890797506036,-0.890841067043,-0.890884619862,-0.890928164492,-0.890971700932,-0.891015229183,-0.891058749244,-0.891102261115,-0.891145764795,-0.891189260283,-0.89123274758,-0.891276226685,-0.891319697597,-0.891363160317,-0.891406614843,-0.891450061176,-0.891493499315,-0.891536929259,-0.891580351009,-0.891623764563,-0.891667169922,-0.891710567084,-0.891753956051,-0.89179733682,-0.891840709392,-0.891884073767,-0.891927429944,-0.891970777922,-0.892014117701,-0.892057449282,-0.892100772662,-0.892144087843,-0.892187394823,-0.892230693602,-0.892273984181,-0.892317266557,-0.892360540732,-0.892403806704,-0.892447064474,-0.89249031404,-0.892533555403,-0.892576788562,-0.892620013516,-0.892663230265,-0.89270643881,-0.892749639149,-0.892792831282,-0.892836015208,-0.892879190928,-0.892922358441,-0.892965517746,-0.893008668843,-0.893051811732,-0.893094946412,-0.893138072883,-0.893181191144,-0.893224301196,-0.893267403037,-0.893310496667,-0.893353582086,-0.893396659294,-0.89343972829,-0.893482789074,-0.893525841644,-0.893568886002,-0.893611922146,-0.893654950077,-0.893697969793,-0.893740981294,-0.893783984581,-0.893826979651,-0.893869966506,-0.893912945145,-0.893955915567,-0.893998877772,-0.89404183176,-0.89408477753,-0.894127715081,-0.894170644414,-0.894213565528,-0.894256478422,-0.894299383097,-0.894342279551,-0.894385167785,-0.894428047798,-0.894470919589,-0.894513783159,-0.894556638506,-0.894599485631,-0.894642324533,-0.894685155212,-0.894727977667,-0.894770791897,-0.894813597903,-0.894856395685,-0.89489918524,-0.894941966571,-0.894984739675,-0.895027504552,-0.895070261203,-0.895113009626,-0.895155749822,-0.895198481789,-0.895241205528,-0.895283921039,-0.89532662832,-0.895369327371,-0.895412018192,-0.895454700783,-0.895497375143,-0.895540041272,-0.895582699169,-0.895625348834,-0.895667990267,-0.895710623467,-0.895753248434,-0.895795865167,-0.895838473666,-0.895881073931,-0.895923665961,-0.895966249756,-0.896008825316,-0.896051392639,-0.896093951727,-0.896136502577,-0.896179045191,-0.896221579567,-0.896264105705,-0.896306623604,-0.896349133266,-0.896391634688,-0.89643412787,-0.896476612813,-0.896519089516,-0.896561557978,-0.896604018199,-0.896646470179,-0.896688913917,-0.896731349412,-0.896773776665,-0.896816195676,-0.896858606442,-0.896901008965,-0.896943403244,-0.896985789279,-0.897028167068,-0.897070536613,-0.897112897911,-0.897155250964,-0.89719759577,-0.897239932329,-0.897282260641,-0.897324580705,-0.897366892522,-0.89740919609,-0.897451491409,-0.897493778479,-0.897536057299,-0.89757832787,-0.89762059019,-0.897662844259,-0.897705090077,-0.897747327644,-0.897789556959,-0.897831778021,-0.897873990831,-0.897916195388,-0.897958391691,-0.898000579741,-0.898042759536,-0.898084931077,-0.898127094362,-0.898169249393,-0.898211396167,-0.898253534685,-0.898295664947,-0.898337786952,-0.898379900699,-0.898422006189,-0.898464103421,-0.898506192394,-0.898548273108,-0.898590345563,-0.898632409759,-0.898674465694,-0.898716513369,-0.898758552783,-0.898800583936,-0.898842606827,-0.898884621457,-0.898926627824,-0.898968625928,-0.899010615769,-0.899052597347,-0.89909457066,-0.89913653571,-0.899178492495,-0.899220441014,-0.899262381269,-0.899304313257,-0.899346236979,-0.899388152435,-0.899430059624,-0.899471958545,-0.899513849198,-0.899555731584,-0.899597605701,-0.899639471549,-0.899681329127,-0.899723178436,-0.899765019475,-0.899806852244,-0.899848676742,-0.899890492968,-0.899932300923,-0.899974100606,-0.900015892016,-0.900057675154,-0.900099450019,-0.90014121661,-0.900182974927,-0.90022472497,-0.900266466738,-0.900308200231,-0.900349925449,-0.900391642391,-0.900433351056,-0.900475051445,-0.900516743558,-0.900558427392,-0.900600102949,-0.900641770228,-0.900683429229,-0.90072507995,-0.900766722392,-0.900808356555,-0.900849982438,-0.90089160004,-0.900933209361,-0.900974810401,-0.90101640316,-0.901057987636,-0.901099563831,-0.901141131742,-0.901182691371,-0.901224242716,-0.901265785777,-0.901307320554,-0.901348847046,-0.901390365253,-0.901431875175,-0.901473376811,-0.901514870161,-0.901556355225,-0.901597832001,-0.90163930049,-0.901680760692,-0.901722212606,-0.901763656231,-0.901805091567,-0.901846518614,-0.901887937371,-0.901929347839,-0.901970750016,-0.902012143902,-0.902053529498,-0.902094906802,-0.902136275814,-0.902177636533,-0.902218988961,-0.902260333095,-0.902301668935,-0.902342996482,-0.902384315735,-0.902425626694,-0.902466929357,-0.902508223725,-0.902549509798,-0.902590787574,-0.902632057054,-0.902673318237,-0.902714571123,-0.902755815712,-0.902797052002,-0.902838279995,-0.902879499688,-0.902920711082,-0.902961914177,-0.903003108973,-0.903044295468,-0.903085473662,-0.903126643555,-0.903167805147,-0.903208958438,-0.903250103426,-0.903291240112,-0.903332368495,-0.903373488574,-0.90341460035,-0.903455703822,-0.90349679899,-0.903537885853,-0.903578964411,-0.903620034663,-0.903661096609,-0.903702150249,-0.903743195583,-0.903784232609,-0.903825261328,-0.90386628174,-0.903907293843,-0.903948297638,-0.903989293123,-0.9040302803,-0.904071259167,-0.904112229724,-0.90415319197,-0.904194145906,-0.90423509153,-0.904276028843,-0.904316957844,-0.904357878533,-0.904398790909,-0.904439694972,-0.904480590721,-0.904521478157,-0.904562357279,-0.904603228086,-0.904644090578,-0.904684944755,-0.904725790616,-0.904766628162,-0.90480745739,-0.904848278302,-0.904889090897,-0.904929895174,-0.904970691134,-0.905011478775,-0.905052258097,-0.9050930291,-0.905133791784,-0.905174546148,-0.905215292192,-0.905256029916,-0.905296759318,-0.905337480399,-0.905378193159,-0.905418897596,-0.905459593711,-0.905500281504,-0.905540960973,-0.905581632118,-0.90562229494,-0.905662949437,-0.90570359561,-0.905744233458,-0.90578486298,-0.905825484176,-0.905866097047,-0.90590670159,-0.905947297807,-0.905987885697,-0.906028465259,-0.906069036493,-0.906109599398,-0.906150153975,-0.906190700223,-0.906231238141,-0.906271767729,-0.906312288987,-0.906352801915,-0.906393306511,-0.906433802776,-0.906474290709,-0.90651477031,-0.906555241579,-0.906595704515,-0.906636159117,-0.906676605386,-0.906717043321,-0.906757472922,-0.906797894188,-0.906838307119,-0.906878711714,-0.906919107974,-0.906959495897,-0.906999875484,-0.907040246734,-0.907080609646,-0.907120964221,-0.907161310458,-0.907201648356,-0.907241977915,-0.907282299136,-0.907322612016,-0.907362916557,-0.907403212758,-0.907443500618,-0.907483780137,-0.907524051314,-0.90756431415,-0.907604568643,-0.907644814795,-0.907685052603,-0.907725282068,-0.907765503189,-0.907805715966,-0.907845920399,-0.907886116488,-0.907926304231,-0.907966483629,-0.90800665468,-0.908046817386,-0.908086971745,-0.908127117757,-0.908167255422,-0.908207384739,-0.908247505709,-0.908287618329,-0.908327722601,-0.908367818524,-0.908407906097,-0.908447985321,-0.908488056194,-0.908528118716,-0.908568172888,-0.908608218708,-0.908648256176,-0.908688285293,-0.908728306056,-0.908768318467,-0.908808322525,-0.908848318229,-0.90888830558,-0.908928284576,-0.908968255217,-0.909008217503,-0.909048171434,-0.909088117009,-0.909128054228,-0.909167983091,-0.909207903596,-0.909247815744,-0.909287719535,-0.909327614968,-0.909367502042,-0.909407380758,-0.909447251114,-0.909487113112,-0.909526966749,-0.909566812026,-0.909606648943,-0.909646477498,-0.909686297693,-0.909726109525,-0.909765912996,-0.909805708105,-0.90984549485,-0.909885273233,-0.909925043252,-0.909964804907,-0.910004558198,-0.910044303125,-0.910084039686,-0.910123767883,-0.910163487713,-0.910203199178,-0.910242902276,-0.910282597007,-0.910322283372,-0.910361961368,-0.910401630997,-0.910441292258,-0.91048094515,-0.910520589673,-0.910560225827,-0.910599853612,-0.910639473026,-0.91067908407,-0.910718686743,-0.910758281044,-0.910797866975,-0.910837444533,-0.91087701372,-0.910916574533,-0.910956126974,-0.910995671042,-0.911035206735,-0.911074734055,-0.911114253001,-0.911153763571,-0.911193265767,-0.911232759586,-0.911272245031,-0.911311722098,-0.91135119079,-0.911390651104,-0.911430103041,-0.911469546601,-0.911508981782,-0.911548408585,-0.911587827009,-0.911627237054,-0.91166663872,-0.911706032005,-0.911745416911,-0.911784793436,-0.91182416158,-0.911863521343,-0.911902872724,-0.911942215723,-0.91198155034,-0.912020876574,-0.912060194424,-0.912099503892,-0.912138804975,-0.912178097675,-0.91221738199,-0.91225665792,-0.912295925464,-0.912335184623,-0.912374435396,-0.912413677783,-0.912452911783,-0.912492137396,-0.912531354622,-0.912570563459,-0.912609763909,-0.91264895597,-0.912688139642,-0.912727314925,-0.912766481818,-0.912805640322,-0.912844790435,-0.912883932157,-0.912923065488,-0.912962190428,-0.913001306977,-0.913040415133,-0.913079514896,-0.913118606267,-0.913157689245,-0.913196763829,-0.913235830019,-0.913274887815,-0.913313937216,-0.913352978222,-0.913392010833,-0.913431035049,-0.913470050868,-0.91350905829,-0.913548057316,-0.913587047945,-0.913626030177,-0.91366500401,-0.913703969445,-0.913742926482,-0.91378187512,-0.913820815358,-0.913859747197,-0.913898670636,-0.913937585674,-0.913976492312,-0.914015390549,-0.914054280384,-0.914093161817,-0.914132034849,-0.914170899478,-0.914209755704,-0.914248603526,-0.914287442945,-0.914326273961,-0.914365096571,-0.914403910778,-0.914442716579,-0.914481513975,-0.914520302965,-0.914559083549,-0.914597855727,-0.914636619498,-0.914675374862,-0.914714121818,-0.914752860366,-0.914791590506,-0.914830312238,-0.914869025561,-0.914907730474,-0.914946426978,-0.914985115072,-0.915023794755,-0.915062466028,-0.915101128889,-0.91513978334,-0.915178429378,-0.915217067005,-0.915255696218,-0.915294317019,-0.915332929407,-0.915371533382,-0.915410128942,-0.915448716088,-0.91548729482,-0.915525865136,-0.915564427038,-0.915602980523,-0.915641525593,-0.915680062246,-0.915718590483,-0.915757110302,-0.915795621704,-0.915834124688,-0.915872619254,-0.915911105402,-0.91594958313,-0.91598805244,-0.916026513329,-0.916064965799,-0.916103409849,-0.916141845478,-0.916180272686,-0.916218691473,-0.916257101838,-0.916295503781,-0.916333897301,-0.916372282399,-0.916410659074,-0.916449027325,-0.916487387153,-0.916525738556,-0.916564081535,-0.916602416089,-0.916640742218,-0.916679059921,-0.916717369198,-0.916755670049,-0.916793962474,-0.916832246471,-0.916870522041,-0.916908789184,-0.916947047898,-0.916985298184,-0.917023540041,-0.91706177347,-0.917099998468,-0.917138215037,-0.917176423176,-0.917214622885,-0.917252814162,-0.917290997008,-0.917329171423,-0.917367337406,-0.917405494957,-0.917443644075,-0.91748178476,-0.917519917012,-0.91755804083,-0.917596156214,-0.917634263164,-0.917672361679,-0.917710451759,-0.917748533404,-0.917786606613,-0.917824671385,-0.917862727722,-0.917900775621,-0.917938815084,-0.917976846109,-0.918014868696,-0.918052882845,-0.918090888555,-0.918128885827,-0.918166874659,-0.918204855051,-0.918242827004,-0.918280790517,-0.918318745588,-0.918356692219,-0.918394630408,-0.918432560156,-0.918470481462,-0.918508394325,-0.918546298746,-0.918584194723,-0.918622082257,-0.918659961348,-0.918697831994,-0.918735694196,-0.918773547952,-0.918811393264,-0.91884923013,-0.918887058551,-0.918924878525,-0.918962690052,-0.919000493133,-0.919038287766,-0.919076073952,-0.91911385169,-0.91915162098,-0.919189381821,-0.919227134212,-0.919264878155,-0.919302613648,-0.919340340691,-0.919378059283,-0.919415769425,-0.919453471116,-0.919491164355,-0.919528849142,-0.919566525478,-0.919604193361,-0.919641852791,-0.919679503768,-0.919717146291,-0.919754780361,-0.919792405976,-0.919830023137,-0.919867631843,-0.919905232094,-0.919942823889,-0.919980407229,-0.920017982112,-0.920055548538,-0.920093106508,-0.92013065602,-0.920168197074,-0.920205729671,-0.920243253809,-0.920280769489,-0.920318276709,-0.92035577547,-0.920393265772,-0.920430747613,-0.920468220994,-0.920505685914,-0.920543142373,-0.920580590371,-0.920618029907,-0.920655460981,-0.920692883592,-0.920730297741,-0.920767703426,-0.920805100648,-0.920842489406,-0.9208798697,-0.920917241529,-0.920954604894,-0.920991959793,-0.921029306227,-0.921066644194,-0.921103973696,-0.921141294731,-0.921178607299,-0.921215911399,-0.921253207033,-0.921290494198,-0.921327772894,-0.921365043123,-0.921402304882,-0.921439558172,-0.921476802992,-0.921514039342,-0.921551267222,-0.921588486631,-0.921625697569,-0.921662900036,-0.921700094031,-0.921737279554,-0.921774456604,-0.921811625182,-0.921848785286,-0.921885936918,-0.921923080075,-0.921960214758,-0.921997340967,-0.922034458701,-0.92207156796,-0.922108668743,-0.922145761051,-0.922182844882,-0.922219920237,-0.922256987115,-0.922294045516,-0.922331095439,-0.922368136885,-0.922405169852,-0.922442194341,-0.922479210351,-0.922516217881,-0.922553216932,-0.922590207503,-0.922627189594,-0.922664163205,-0.922701128334,-0.922738084982,-0.922775033148,-0.922811972833,-0.922848904035,-0.922885826755,-0.922922740991,-0.922959646745,-0.922996544014,-0.9230334328,-0.923070313101,-0.923107184918,-0.92314404825,-0.923180903096,-0.923217749457,-0.923254587331,-0.92329141672,-0.923328237621,-0.923365050036,-0.923401853963,-0.923438649402,-0.923475436354,-0.923512214817,-0.923548984791,-0.923585746276,-0.923622499272,-0.923659243778,-0.923695979794,-0.92373270732,-0.923769426355,-0.923806136898,-0.923842838951,-0.923879532511,-0.92391621758,-0.923952894156,-0.923989562239,-0.924026221829,-0.924062872926,-0.924099515529,-0.924136149637,-0.924172775252,-0.924209392371,-0.924246000996,-0.924282601125,-0.924319192758,-0.924355775895,-0.924392350535,-0.924428916679,-0.924465474325,-0.924502023474,-0.924538564125,-0.924575096279,-0.924611619933,-0.924648135089,-0.924684641745,-0.924721139902,-0.92475762956,-0.924794110717,-0.924830583373,-0.924867047529,-0.924903503183,-0.924939950336,-0.924976388987,-0.925012819136,-0.925049240783,-0.925085653926,-0.925122058567,-0.925158454703,-0.925194842336,-0.925231221465,-0.92526759209,-0.925303954209,-0.925340307823,-0.925376652932,-0.925412989535,-0.925449317631,-0.925485637221,-0.925521948305,-0.925558250881,-0.925594544949,-0.92563083051,-0.925667107562,-0.925703376106,-0.925739636141,-0.925775887667,-0.925812130683,-0.92584836519,-0.925884591186,-0.925920808672,-0.925957017647,-0.92599321811,-0.926029410062,-0.926065593503,-0.926101768431,-0.926137934846,-0.926174092749,-0.926210242138,-0.926246383014,-0.926282515376,-0.926318639224,-0.926354754558,-0.926390861376,-0.926426959679,-0.926463049467,-0.926499130739,-0.926535203495,-0.926571267734,-0.926607323457,-0.926643370662,-0.92667940935,-0.92671543952,-0.926751461171,-0.926787474305,-0.926823478919,-0.926859475014,-0.92689546259,-0.926931441646,-0.926967412182,-0.927003374197,-0.927039327691,-0.927075272665,-0.927111209117,-0.927147137047,-0.927183056455,-0.92721896734,-0.927254869703,-0.927290763542,-0.927326648858,-0.92736252565,-0.927398393919,-0.927434253662,-0.927470104881,-0.927505947575,-0.927541781743,-0.927577607386,-0.927613424502,-0.927649233093,-0.927685033156,-0.927720824692,-0.927756607701,-0.927792382182,-0.927828148135,-0.92786390556,-0.927899654456,-0.927935394823,-0.92797112666,-0.928006849968,-0.928042564746,-0.928078270993,-0.92811396871,-0.928149657895,-0.92818533855,-0.928221010672,-0.928256674263,-0.928292329321,-0.928327975847,-0.928363613839,-0.928399243299,-0.928434864224,-0.928470476616,-0.928506080473,-0.928541675796,-0.928577262584,-0.928612840836,-0.928648410553,-0.928683971734,-0.928719524379,-0.928755068487,-0.928790604058,-0.928826131092,-0.928861649588,-0.928897159547,-0.928932660967,-0.928968153849,-0.929003638192,-0.929039113995,-0.929074581259,-0.929110039984,-0.929145490168,-0.929180931811,-0.929216364914,-0.929251789475,-0.929287205496,-0.929322612974,-0.92935801191,-0.929393402304,-0.929428784155,-0.929464157462,-0.929499522227,-0.929534878447,-0.929570226124,-0.929605565256,-0.929640895843,-0.929676217885,-0.929711531382,-0.929746836334,-0.929782132739,-0.929817420598,-0.92985269991,-0.929887970675,-0.929923232893,-0.929958486563,-0.929993731685,-0.930028968259,-0.930064196284,-0.93009941576,-0.930134626687,-0.930169829065,-0.930205022892,-0.930240208169,-0.930275384896,-0.930310553072,-0.930345712696,-0.93038086377,-0.930416006291,-0.93045114026,-0.930486265676,-0.93052138254,-0.93055649085,-0.930591590607,-0.930626681811,-0.93066176446,-0.930696838554,-0.930731904094,-0.930766961079,-0.930802009508,-0.930837049382,-0.9308720807,-0.930907103461,-0.930942117665,-0.930977123313,-0.931012120403,-0.931047108936,-0.93108208891,-0.931117060326,-0.931152023184,-0.931186977483,-0.931221923222,-0.931256860402,-0.931291789022,-0.931326709081,-0.93136162058,-0.931396523518,-0.931431417895,-0.931466303711,-0.931501180965,-0.931536049656,-0.931570909785,-0.931605761351,-0.931640604354,-0.931675438794,-0.93171026467,-0.931745081982,-0.931779890729,-0.931814690912,-0.931849482529,-0.931884265582,-0.931919040068,-0.931953805989,-0.931988563343,-0.932023312131,-0.932058052351,-0.932092784005,-0.932127507091,-0.932162221609,-0.932196927558,-0.932231624939,-0.932266313752,-0.932300993995,-0.932335665668,-0.932370328772,-0.932404983305,-0.932439629268,-0.932474266661,-0.932508895482,-0.932543515732,-0.93257812741,-0.932612730516,-0.932647325049,-0.93268191101,-0.932716488398,-0.932751057213,-0.932785617454,-0.932820169121,-0.932854712213,-0.932889246731,-0.932923772674,-0.932958290042,-0.932992798835,-0.933027299051,-0.933061790692,-0.933096273755,-0.933130748242,-0.933165214152,-0.933199671485,-0.933234120239,-0.933268560416,-0.933302992014,-0.933337415033,-0.933371829474,-0.933406235335,-0.933440632616,-0.933475021317,-0.933509401438,-0.933543772979,-0.933578135938,-0.933612490317,-0.933646836113,-0.933681173328,-0.933715501961,-0.933749822011,-0.933784133478,-0.933818436362,-0.933852730663,-0.93388701638,-0.933921293513,-0.933955562061,-0.933989822025,-0.934024073403,-0.934058316197,-0.934092550404,-0.934126776026,-0.934160993061,-0.93419520151,-0.934229401372,-0.934263592646,-0.934297775334,-0.934331949433,-0.934366114944,-0.934400271866,-0.9344344202,-0.934468559945,-0.9345026911,-0.934536813665,-0.93457092764,-0.934605033025,-0.93463912982,-0.934673218023,-0.934707297635,-0.934741368655,-0.934775431084,-0.93480948492,-0.934843530163,-0.934877566814,-0.934911594872,-0.934945614336,-0.934979625206,-0.935013627482,-0.935047621163,-0.93508160625,-0.935115582742,-0.935149550638,-0.935183509939,-0.935217460644,-0.935251402752,-0.935285336264,-0.935319261179,-0.935353177496,-0.935387085216,-0.935420984338,-0.935454874862,-0.935488756787,-0.935522630114,-0.935556494841,-0.93559035097,-0.935624198498,-0.935658037426,-0.935691867754,-0.935725689481,-0.935759502607,-0.935793307132,-0.935827103055,-0.935860890377,-0.935894669096,-0.935928439213,-0.935962200726,-0.935995953637,-0.936029697944,-0.936063433647,-0.936097160746,-0.936130879241,-0.936164589131,-0.936198290416,-0.936231983096,-0.93626566717,-0.936299342638,-0.9363330095,-0.936366667756,-0.936400317404,-0.936433958445,-0.936467590879,-0.936501214705,-0.936534829923,-0.936568436532,-0.936602034533,-0.936635623924,-0.936669204707,-0.936702776879,-0.936736340442,-0.936769895394,-0.936803441736,-0.936836979467,-0.936870508586,-0.936904029095,-0.936937540991,-0.936971044275,-0.937004538947,-0.937038025006,-0.937071502452,-0.937104971284,-0.937138431503,-0.937171883108,-0.937205326099,-0.937238760475,-0.937272186236,-0.937305603382,-0.937339011913,-0.937372411827,-0.937405803126,-0.937439185808,-0.937472559873,-0.937505925321,-0.937539282152,-0.937572630366,-0.937605969961,-0.937639300938,-0.937672623297,-0.937705937036,-0.937739242156,-0.937772538657,-0.937805826538,-0.937839105799,-0.93787237644,-0.93790563846,-0.937938891859,-0.937972136636,-0.938005372792,-0.938038600326,-0.938071819238,-0.938105029527,-0.938138231193,-0.938171424236,-0.938204608655,-0.938237784451,-0.938270951623,-0.93830411017,-0.938337260093,-0.938370401391,-0.938403534063,-0.93843665811,-0.938469773531,-0.938502880325,-0.938535978494,-0.938569068035,-0.938602148949,-0.938635221236,-0.938668284895,-0.938701339926,-0.938734386328,-0.938767424102,-0.938800453247,-0.938833473763,-0.938866485649,-0.938899488906,-0.938932483532,-0.938965469528,-0.938998446893,-0.939031415627,-0.939064375729,-0.9390973272,-0.939130270039,-0.939163204246,-0.93919612982,-0.939229046761,-0.939261955069,-0.939294854743,-0.939327745784,-0.93936062819,-0.939393501962,-0.9394263671,-0.939459223602,-0.939492071469,-0.939524910701,-0.939557741296,-0.939590563256,-0.939623376579,-0.939656181265,-0.939688977314,-0.939721764725,-0.939754543499,-0.939787313635,-0.939820075132,-0.939852827991,-0.939885572211,-0.939918307792,-0.939951034733,-0.939983753034,-0.940016462695,-0.940049163716,-0.940081856096,-0.940114539835,-0.940147214933,-0.940179881389,-0.940212539203,-0.940245188375,-0.940277828904,-0.94031046079,-0.940343084034,-0.940375698634,-0.94040830459,-0.940440901902,-0.94047349057,-0.940506070593,-0.940538641972,-0.940571204705,-0.940603758792,-0.940636304234,-0.940668841029,-0.940701369179,-0.940733888681,-0.940766399536,-0.940798901744,-0.940831395305,-0.940863880217,-0.940896356482,-0.940928824098,-0.940961283065,-0.940993733382,-0.941026175051,-0.94105860807,-0.941091032438,-0.941123448157,-0.941155855225,-0.941188253642,-0.941220643407,-0.941253024521,-0.941285396984,-0.941317760794,-0.941350115952,-0.941382462457,-0.94141480031,-0.941447129509,-0.941479450054,-0.941511761946,-0.941544065183,-0.941576359766,-0.941608645694,-0.941640922967,-0.941673191585,-0.941705451547,-0.941737702853,-0.941769945503,-0.941802179496,-0.941834404832,-0.941866621512,-0.941898829534,-0.941931028898,-0.941963219604,-0.941995401652,-0.942027575041,-0.942059739771,-0.942091895842,-0.942124043254,-0.942156182005,-0.942188312097,-0.942220433528,-0.942252546299,-0.942284650408,-0.942316745857,-0.942348832643,-0.942380910768,-0.942412980231,-0.942445041031,-0.942477093168,-0.942509136643,-0.942541171454,-0.942573197601,-0.942605215085,-0.942637223904,-0.942669224059,-0.942701215549,-0.942733198374,-0.942765172533,-0.942797138027,-0.942829094855,-0.942861043016,-0.942892982511,-0.942924913339,-0.9429568355,-0.942988748994,-0.943020653819,-0.943052549977,-0.943084437466,-0.943116316287,-0.943148186438,-0.943180047921,-0.943211900734,-0.943243744877,-0.94327558035,-0.943307407153,-0.943339225285,-0.943371034746,-0.943402835536,-0.943434627654,-0.943466411101,-0.943498185875,-0.943529951977,-0.943561709406,-0.943593458162,-0.943625198245,-0.943656929654,-0.943688652389,-0.94372036645,-0.943752071837,-0.943783768549,-0.943815456586,-0.943847135947,-0.943878806633,-0.943910468643,-0.943942121976,-0.943973766634,-0.944005402614,-0.944037029917,-0.944068648543,-0.944100258491,-0.944131859761,-0.944163452353,-0.944195036267,-0.944226611501,-0.944258178057,-0.944289735933,-0.944321285129,-0.944352825646,-0.944384357482,-0.944415880637,-0.944447395112,-0.944478900905,-0.944510398017,-0.944541886447,-0.944573366196,-0.944604837261,-0.944636299645,-0.944667753345,-0.944699198362,-0.944730634696,-0.944762062346,-0.944793481312,-0.944824891594,-0.944856293191,-0.944887686103,-0.94491907033,-0.944950445871,-0.944981812727,-0.945013170896,-0.945044520379,-0.945075861176,-0.945107193285,-0.945138516708,-0.945169831442,-0.945201137489,-0.945232434848,-0.945263723519,-0.945295003501,-0.945326274794,-0.945357537398,-0.945388791312,-0.945420036536,-0.945451273071,-0.945482500914,-0.945513720068,-0.94554493053,-0.945576132301,-0.945607325381,-0.945638509768,-0.945669685464,-0.945700852467,-0.945732010777,-0.945763160395,-0.945794301319,-0.94582543355,-0.945856557087,-0.94588767193,-0.945918778078,-0.945949875532,-0.945980964291,-0.946012044354,-0.946043115722,-0.946074178394,-0.94610523237,-0.94613627765,-0.946167314233,-0.946198342119,-0.946229361308,-0.946260371799,-0.946291373592,-0.946322366688,-0.946353351084,-0.946384326783,-0.946415293782,-0.946446252082,-0.946477201682,-0.946508142583,-0.946539074784,-0.946569998284,-0.946600913083,-0.946631819182,-0.946662716579,-0.946693605275,-0.946724485269,-0.946755356561,-0.94678621915,-0.946817073037,-0.946847918221,-0.946878754702,-0.946909582479,-0.946940401552,-0.946971211922,-0.947002013587,-0.947032806547,-0.947063590803,-0.947094366353,-0.947125133198,-0.947155891336,-0.947186640769,-0.947217381496,-0.947248113516,-0.947278836829,-0.947309551435,-0.947340257333,-0.947370954524,-0.947401643006,-0.947432322781,-0.947462993846,-0.947493656203,-0.947524309851,-0.947554954789,-0.947585591018,-0.947616218536,-0.947646837344,-0.947677447442,-0.947708048829,-0.947738641505,-0.947769225469,-0.947799800721,-0.947830367262,-0.94786092509,-0.947891474206,-0.947922014609,-0.947952546299,-0.947983069276,-0.948013583539,-0.948044089088,-0.948074585922,-0.948105074043,-0.948135553448,-0.948166024138,-0.948196486113,-0.948226939373,-0.948257383916,-0.948287819744,-0.948318246855,-0.948348665249,-0.948379074926,-0.948409475886,-0.948439868128,-0.948470251652,-0.948500626459,-0.948530992547,-0.948561349916,-0.948591698566,-0.948622038497,-0.948652369708,-0.9486826922,-0.948713005971,-0.948743311023,-0.948773607353,-0.948803894963,-0.948834173851,-0.948864444018,-0.948894705463,-0.948924958186,-0.948955202187,-0.948985437465,-0.949015664021,-0.949045881853,-0.949076090961,-0.949106291347,-0.949136483008,-0.949166665944,-0.949196840157,-0.949227005644,-0.949257162406,-0.949287310444,-0.949317449755,-0.94934758034,-0.9493777022,-0.949407815332,-0.949437919738,-0.949468015417,-0.949498102369,-0.949528180593,-0.949558250089,-0.949588310857,-0.949618362897,-0.949648406208,-0.94967844079,-0.949708466643,-0.949738483766,-0.94976849216,-0.949798491823,-0.949828482756,-0.949858464959,-0.94988843843,-0.94991840317,-0.949948359179,-0.949978306457,-0.950008245002,-0.950038174815,-0.950068095895,-0.950098008243,-0.950127911857,-0.950157806738,-0.950187692886,-0.950217570299,-0.950247438979,-0.950277298924,-0.950307150134,-0.950336992609,-0.950366826349,-0.950396651353,-0.950426467621,-0.950456275154,-0.950486073949,-0.950515864009,-0.950545645331,-0.950575417916,-0.950605181764,-0.950634936874,-0.950664683245,-0.950694420879,-0.950724149774,-0.95075386993,-0.950783581347,-0.950813284024,-0.950842977962,-0.95087266316,-0.950902339618,-0.950932007335,-0.950961666312,-0.950991316547,-0.951020958041,-0.951050590794,-0.951080214804,-0.951109830073,-0.951139436599,-0.951169034383,-0.951198623423,-0.95122820372,-0.951257775274,-0.951287338084,-0.95131689215,-0.951346437472,-0.951375974049,-0.951405501882,-0.951435020969,-0.951464531311,-0.951494032907,-0.951523525757,-0.951553009861,-0.951582485219,-0.95161195183,-0.951641409694,-0.95167085881,-0.951700299179,-0.9517297308,-0.951759153673,-0.951788567798,-0.951817973174,-0.951847369801,-0.951876757679,-0.951906136808,-0.951935507187,-0.951964868816,-0.951994221694,-0.952023565822,-0.9520529012,-0.952082227826,-0.952111545701,-0.952140854824,-0.952170155195,-0.952199446814,-0.952228729681,-0.952258003795,-0.952287269157,-0.952316525765,-0.952345773619,-0.95237501272,-0.952404243066,-0.952433464659,-0.952462677497,-0.95249188158,-0.952521076908,-0.95255026348,-0.952579441297,-0.952608610358,-0.952637770663,-0.952666922211,-0.952696065003,-0.952725199038,-0.952754324315,-0.952783440835,-0.952812548597,-0.952841647601,-0.952870737847,-0.952899819334,-0.952928892063,-0.952957956032,-0.952987011242,-0.953016057692,-0.953045095382,-0.953074124312,-0.953103144482,-0.953132155891,-0.953161158539,-0.953190152425,-0.95321913755,-0.953248113914,-0.953277081515,-0.953306040354,-0.953334990431,-0.953363931744,-0.953392864295,-0.953421788082,-0.953450703105,-0.953479609365,-0.95350850686,-0.953537395591,-0.953566275557,-0.953595146758,-0.953624009194,-0.953652862865,-0.953681707769,-0.953710543908,-0.95373937128,-0.953768189886,-0.953796999725,-0.953825800797,-0.953854593101,-0.953883376638,-0.953912151407,-0.953940917408,-0.95396967464,-0.953998423104,-0.954027162799,-0.954055893724,-0.95408461588,-0.954113329267,-0.954142033883,-0.954170729729,-0.954199416804,-0.954228095109,-0.954256764643,-0.954285425405,-0.954314077396,-0.954342720615,-0.954371355061,-0.954399980736,-0.954428597638,-0.954457205767,-0.954485805122,-0.954514395704,-0.954542977513,-0.954571550548,-0.954600114808,-0.954628670294,-0.954657217005,-0.954685754941,-0.954714284102,-0.954742804488,-0.954771316097,-0.954799818931,-0.954828312988,-0.954856798269,-0.954885274772,-0.954913742499,-0.954942201448,-0.95497065162,-0.954999093014,-0.95502752563,-0.955055949467,-0.955084364526,-0.955112770805,-0.955141168306,-0.955169557027,-0.955197936968,-0.955226308129,-0.955254670511,-0.955283024111,-0.955311368931,-0.95533970497,-0.955368032227,-0.955396350703,-0.955424660398,-0.95545296131,-0.95548125344,-0.955509536787,-0.955537811351,-0.955566077133,-0.955594334131,-0.955622582345,-0.955650821776,-0.955679052422,-0.955707274284,-0.955735487361,-0.955763691654,-0.955791887161,-0.955820073883,-0.955848251819,-0.955876420969,-0.955904581333,-0.95593273291,-0.955960875701,-0.955989009705,-0.956017134921,-0.95604525135,-0.956073358991,-0.956101457844,-0.956129547909,-0.956157629186,-0.956185701673,-0.956213765372,-0.956241820281,-0.956269866401,-0.95629790373,-0.95632593227,-0.95635395202,-0.956381962978,-0.956409965146,-0.956437958523,-0.956465943109,-0.956493918902,-0.956521885904,-0.956549844114,-0.956577793531,-0.956605734156,-0.956633665988,-0.956661589027,-0.956689503272,-0.956717408723,-0.956745305381,-0.956773193244,-0.956801072313,-0.956828942588,-0.956856804067,-0.956884656751,-0.956912500639,-0.956940335732,-0.956968162029,-0.95699597953,-0.957023788234,-0.957051588141,-0.957079379251,-0.957107161564,-0.95713493508,-0.957162699798,-0.957190455717,-0.957218202839,-0.957245941162,-0.957273670686,-0.957301391411,-0.957329103336,-0.957356806463,-0.957384500789,-0.957412186315,-0.957439863041,-0.957467530967,-0.957495190091,-0.957522840414,-0.957550481937,-0.957578114657,-0.957605738576,-0.957633353692,-0.957660960006,-0.957688557518,-0.957716146227,-0.957743726132,-0.957771297234,-0.957798859533,-0.957826413028,-0.957853957718,-0.957881493604,-0.957909020686,-0.957936538962,-0.957964048434,-0.9579915491,-0.95801904096,-0.958046524015,-0.958073998263,-0.958101463705,-0.95812892034,-0.958156368169,-0.95818380719,-0.958211237404,-0.95823865881,-0.958266071408,-0.958293475198,-0.95832087018,-0.958348256352,-0.958375633716,-0.958403002271,-0.958430362017,-0.958457712952,-0.958485055078,-0.958512388394,-0.958539712899,-0.958567028593,-0.958594335476,-0.958621633549,-0.95864892281,-0.958676203259,-0.958703474896,-0.958730737721,-0.958757991733,-0.958785236933,-0.95881247332,-0.958839700894,-0.958866919654,-0.958894129601,-0.958921330733,-0.958948523052,-0.958975706556,-0.959002881245,-0.959030047119,-0.959057204178,-0.959084352422,-0.95911149185,-0.959138622462,-0.959165744258,-0.959192857237,-0.9592199614,-0.959247056745,-0.959274143274,-0.959301220985,-0.959328289878,-0.959355349954,-0.959382401211,-0.95940944365,-0.95943647727,-0.959463502071,-0.959490518053,-0.959517525216,-0.959544523559,-0.959571513082,-0.959598493785,-0.959625465667,-0.959652428729,-0.95967938297,-0.959706328389,-0.959733264988,-0.959760192764,-0.959787111719,-0.959814021851,-0.959840923161,-0.959867815649,-0.959894699313,-0.959921574155,-0.959948440173,-0.959975297367,-0.960002145738,-0.960028985284,-0.960055816006,-0.960082637903,-0.960109450976,-0.960136255223,-0.960163050645,-0.960189837241,-0.960216615012,-0.960243383956,-0.960270144074,-0.960296895366,-0.96032363783,-0.960350371468,-0.960377096278,-0.960403812261,-0.960430519416,-0.960457217742,-0.960483907241,-0.96051058791,-0.960537259752,-0.960563922763,-0.960590576946,-0.960617222299,-0.960643858823,-0.960670486516,-0.960697105379,-0.960723715411,-0.960750316613,-0.960776908984,-0.960803492523,-0.960830067231,-0.960856633108,-0.960883190152,-0.960909738364,-0.960936277743,-0.96096280829,-0.960989330004,-0.961015842885,-0.961042346932,-0.961068842146,-0.961095328525,-0.96112180607,-0.961148274781,-0.961174734658,-0.961201185699,-0.961227627905,-0.961254061276,-0.961280485811,-0.961306901511,-0.961333308374,-0.961359706401,-0.961386095591,-0.961412475944,-0.96143884746,-0.961465210139,-0.961491563981,-0.961517908984,-0.961544245149,-0.961570572477,-0.961596890965,-0.961623200615,-0.961649501426,-0.961675793397,-0.961702076529,-0.961728350821,-0.961754616274,-0.961780872885,-0.961807120657,-0.961833359588,-0.961859589677,-0.961885810926,-0.961912023333,-0.961938226899,-0.961964421622,-0.961990607503,-0.962016784542,-0.962042952739,-0.962069112092,-0.962095262602,-0.962121404269,-0.962147537092,-0.962173661072,-0.962199776207,-0.962225882498,-0.962251979944,-0.962278068546,-0.962304148302,-0.962330219214,-0.962356281279,-0.962382334499,-0.962408378873,-0.962434414401,-0.962460441082,-0.962486458917,-0.962512467904,-0.962538468044,-0.962564459337,-0.962590441782,-0.96261641538,-0.962642380129,-0.962668336029,-0.962694283081,-0.962720221284,-0.962746150638,-0.962772071143,-0.962797982798,-0.962823885603,-0.962849779559,-0.962875664663,-0.962901540918,-0.962927408321,-0.962953266874,-0.962979116575,-0.963004957425,-0.963030789423,-0.963056612569,-0.963082426863,-0.963108232304,-0.963134028893,-0.963159816628,-0.963185595511,-0.96321136554,-0.963237126716,-0.963262879038,-0.963288622505,-0.963314357118,-0.963340082877,-0.963365799781,-0.96339150783,-0.963417207023,-0.963442897361,-0.963468578844,-0.96349425147,-0.96351991524,-0.963545570153,-0.96357121621,-0.96359685341,-0.963622481753,-0.963648101238,-0.963673711866,-0.963699313636,-0.963724906547,-0.963750490601,-0.963776065795,-0.963801632131,-0.963827189608,-0.963852738226,-0.963878277984,-0.963903808882,-0.96392933092,-0.963954844098,-0.963980348416,-0.964005843873,-0.964031330469,-0.964056808204,-0.964082277077,-0.964107737089,-0.964133188239,-0.964158630526,-0.964184063952,-0.964209488515,-0.964234904215,-0.964260311052,-0.964285709025,-0.964311098136,-0.964336478382,-0.964361849765,-0.964387212283,-0.964412565937,-0.964437910726,-0.96446324665,-0.964488573709,-0.964513891903,-0.964539201231,-0.964564501694,-0.96458979329,-0.96461507602,-0.964640349883,-0.96466561488,-0.964690871009,-0.964716118272,-0.964741356667,-0.964766586194,-0.964791806853,-0.964817018645,-0.964842221567,-0.964867415622,-0.964892600807,-0.964917777123,-0.96494294457,-0.964968103147,-0.964993252855,-0.965018393692,-0.96504352566,-0.965068648757,-0.965093762983,-0.965118868338,-0.965143964822,-0.965169052435,-0.965194131176,-0.965219201045,-0.965244262042,-0.965269314167,-0.965294357419,-0.965319391798,-0.965344417305,-0.965369433938,-0.965394441698,-0.965419440584,-0.965444430596,-0.965469411734,-0.965494383997,-0.965519347386,-0.9655443019,-0.965569247539,-0.965594184303,-0.965619112191,-0.965644031204,-0.96566894134,-0.9656938426,-0.965718734984,-0.965743618491,-0.965768493121,-0.965793358874,-0.96581821575,-0.965843063748,-0.965867902868,-0.96589273311,-0.965917554474,-0.965942366959,-0.965967170566,-0.965991965294,-0.966016751142,-0.966041528111,-0.966066296201,-0.96609105541,-0.96611580574,-0.966140547189,-0.966165279758,-0.966190003445,-0.966214718252,-0.966239424178,-0.966264121222,-0.966288809384,-0.966313488665,-0.966338159063,-0.966362820579,-0.966387473212,-0.966412116963,-0.96643675183,-0.966461377814,-0.966485994915,-0.966510603132,-0.966535202465,-0.966559792914,-0.966584374478,-0.966608947158,-0.966633510953,-0.966658065863,-0.966682611887,-0.966707149026,-0.966731677279,-0.966756196647,-0.966780707128,-0.966805208722,-0.96682970143,-0.966854185251,-0.966878660185,-0.966903126232,-0.966927583391,-0.966952031662,-0.966976471045,-0.96700090154,-0.967025323146,-0.967049735864,-0.967074139693,-0.967098534633,-0.967122920683,-0.967147297844,-0.967171666115,-0.967196025496,-0.967220375986,-0.967244717586,-0.967269050296,-0.967293374114,-0.967317689042,-0.967341995078,-0.967366292222,-0.967390580475,-0.967414859835,-0.967439130304,-0.96746339188,-0.967487644563,-0.967511888353,-0.96753612325,-0.967560349253,-0.967584566363,-0.967608774579,-0.967632973902,-0.967657164329,-0.967681345863,-0.967705518501,-0.967729682245,-0.967753837093,-0.967777983047,-0.967802120104,-0.967826248266,-0.967850367531,-0.967874477901,-0.967898579374,-0.96792267195,-0.967946755629,-0.967970830411,-0.967994896296,-0.968018953283,-0.968043001372,-0.968067040563,-0.968091070856,-0.968115092251,-0.968139104746,-0.968163108343,-0.968187103041,-0.968211088839,-0.968235065738,-0.968259033737,-0.968282992836,-0.968306943034,-0.968330884332,-0.96835481673,-0.968378740226,-0.968402654822,-0.968426560516,-0.968450457308,-0.968474345199,-0.968498224188,-0.968522094274,-0.968545955458,-0.96856980774,-0.968593651118,-0.968617485594,-0.968641311166,-0.968665127834,-0.968688935599,-0.96871273446,-0.968736524416,-0.968760305469,-0.968784077616,-0.968807840859,-0.968831595196,-0.968855340629,-0.968879077155,-0.968902804776,-0.968926523492,-0.9689502333,-0.968973934203,-0.968997626199,-0.969021309288,-0.96904498347,-0.969068648745,-0.969092305113,-0.969115952572,-0.969139591124,-0.969163220768,-0.969186841503,-0.96921045333,-0.969234056248,-0.969257650257,-0.969281235357,-0.969304811547,-0.969328378828,-0.969351937199,-0.969375486659,-0.96939902721,-0.96942255885,-0.969446081579,-0.969469595397,-0.969493100305,-0.9695165963,-0.969540083385,-0.969563561557,-0.969587030817,-0.969610491166,-0.969633942601,-0.969657385124,-0.969680818734,-0.969704243431,-0.969727659215,-0.969751066085,-0.969774464042,-0.969797853084,-0.969821233213,-0.969844604427,-0.969867966726,-0.969891320111,-0.96991466458,-0.969938000134,-0.969961326773,-0.969984644496,-0.970007953303,-0.970031253195,-0.970054544169,-0.970077826228,-0.970101099369,-0.970124363594,-0.970147618901,-0.970170865291,-0.970194102763,-0.970217331318,-0.970240550955,-0.970263761673,-0.970286963473,-0.970310156354,-0.970333340316,-0.970356515359,-0.970379681483,-0.970402838688,-0.970425986972,-0.970449126337,-0.970472256781,-0.970495378306,-0.970518490909,-0.970541594592,-0.970564689354,-0.970587775194,-0.970610852113,-0.970633920111,-0.970656979186,-0.97068002934,-0.970703070571,-0.97072610288,-0.970749126266,-0.970772140729,-0.970795146269,-0.970818142886,-0.970841130579,-0.970864109348,-0.970887079193,-0.970910040115,-0.970932992111,-0.970955935184,-0.970978869331,-0.971001794553,-0.97102471085,-0.971047618222,-0.971070516668,-0.971093406188,-0.971116286782,-0.97113915845,-0.971162021191,-0.971184875005,-0.971207719893,-0.971230555853,-0.971253382887,-0.971276200992,-0.97129901017,-0.97132181042,-0.971344601741,-0.971367384135,-0.971390157599,-0.971412922135,-0.971435677742,-0.97145842442,-0.971481162168,-0.971503890986,-0.971526610875,-0.971549321833,-0.971572023862,-0.97159471696,-0.971617401127,-0.971640076363,-0.971662742668,-0.971685400042,-0.971708048484,-0.971730687995,-0.971753318574,-0.97177594022,-0.971798552934,-0.971821156716,-0.971843751564,-0.97186633748,-0.971888914463,-0.971911482512,-0.971934041628,-0.97195659181,-0.971979133057,-0.972001665371,-0.97202418875,-0.972046703195,-0.972069208704,-0.972091705279,-0.972114192918,-0.972136671622,-0.97215914139,-0.972181602223,-0.972204054119,-0.972226497079,-0.972248931102,-0.972271356189,-0.972293772339,-0.972316179552,-0.972338577827,-0.972360967165,-0.972383347565,-0.972405719027,-0.972428081552,-0.972450435137,-0.972472779784,-0.972495115493,-0.972517442262,-0.972539760093,-0.972562068983,-0.972584368935,-0.972606659946,-0.972628942018,-0.972651215149,-0.97267347934,-0.97269573459,-0.9727179809,-0.972740218268,-0.972762446696,-0.972784666182,-0.972806876726,-0.972829078328,-0.972851270989,-0.972873454707,-0.972895629482,-0.972917795315,-0.972939952206,-0.972962100153,-0.972984239157,-0.973006369217,-0.973028490334,-0.973050602507,-0.973072705735,-0.97309480002,-0.97311688536,-0.973138961755,-0.973161029206,-0.973183087711,-0.973205137271,-0.973227177886,-0.973249209555,-0.973271232278,-0.973293246055,-0.973315250885,-0.973337246769,-0.973359233707,-0.973381211697,-0.973403180741,-0.973425140837,-0.973447091985,-0.973469034186,-0.973490967439,-0.973512891744,-0.9735348071,-0.973556713508,-0.973578610967,-0.973600499478,-0.973622379039,-0.973644249651,-0.973666111313,-0.973687964026,-0.973709807788,-0.973731642601,-0.973753468463,-0.973775285375,-0.973797093336,-0.973818892346,-0.973840682405,-0.973862463512,-0.973884235668,-0.973905998872,-0.973927753125,-0.973949498425,-0.973971234773,-0.973992962168,-0.974014680611,-0.9740363901,-0.974058090637,-0.97407978222,-0.97410146485,-0.974123138525,-0.974144803247,-0.974166459015,-0.974188105829,-0.974209743688,-0.974231372592,-0.974252992541,-0.974274603536,-0.974296205575,-0.974317798658,-0.974339382786,-0.974360957957,-0.974382524173,-0.974404081432,-0.974425629735,-0.974447169081,-0.97446869947,-0.974490220902,-0.974511733377,-0.974533236894,-0.974554731454,-0.974576217056,-0.974597693699,-0.974619161384,-0.974640620111,-0.974662069879,-0.974683510689,-0.974704942539,-0.974726365429,-0.974747779361,-0.974769184333,-0.974790580344,-0.974811967396,-0.974833345488,-0.974854714619,-0.974876074789,-0.974897425999,-0.974918768247,-0.974940101534,-0.97496142586,-0.974982741224,-0.975004047627,-0.975025345067,-0.975046633545,-0.975067913061,-0.975089183614,-0.975110445204,-0.975131697831,-0.975152941495,-0.975174176196,-0.975195401933,-0.975216618706,-0.975237826516,-0.975259025361,-0.975280215241,-0.975301396158,-0.975322568109,-0.975343731095,-0.975364885117,-0.975386030173,-0.975407166263,-0.975428293388,-0.975449411546,-0.975470520739,-0.975491620965,-0.975512712225,-0.975533794518,-0.975554867844,-0.975575932204,-0.975596987595,-0.97561803402,-0.975639071476,-0.975660099965,-0.975681119486,-0.975702130039,-0.975723131623,-0.975744124238,-0.975765107885,-0.975786082562,-0.975807048271,-0.975828005009,-0.975848952779,-0.975869891578,-0.975890821408,-0.975911742267,-0.975932654156,-0.975953557075,-0.975974451022,-0.975995335999,-0.976016212005,-0.976037079039,-0.976057937102,-0.976078786193,-0.976099626312,-0.976120457459,-0.976141279634,-0.976162092836,-0.976182897066,-0.976203692322,-0.976224478606,-0.976245255916,-0.976266024253,-0.976286783617,-0.976307534006,-0.976328275422,-0.976349007863,-0.97636973133,-0.976390445822,-0.97641115134,-0.976431847883,-0.97645253545,-0.976473214042,-0.976493883659,-0.9765145443,-0.976535195965,-0.976555838653,-0.976576472366,-0.976597097102,-0.976617712862,-0.976638319644,-0.97665891745,-0.976679506278,-0.976700086129,-0.976720657002,-0.976741218897,-0.976761771815,-0.976782315754,-0.976802850715,-0.976823376697,-0.976843893701,-0.976864401725,-0.976884900771,-0.976905390837,-0.976925871924,-0.976946344031,-0.976966807158,-0.976987261305,-0.977007706471,-0.977028142658,-0.977048569863,-0.977068988088,-0.977089397332,-0.977109797595,-0.977130188876,-0.977150571176,-0.977170944494,-0.97719130883,-0.977211664184,-0.977232010555,-0.977252347944,-0.977272676351,-0.977292995774,-0.977313306214,-0.977333607671,-0.977353900145,-0.977374183635,-0.977394458142,-0.977414723664,-0.977434980202,-0.977455227756,-0.977475466325,-0.977495695909,-0.977515916509,-0.977536128123,-0.977556330752,-0.977576524396,-0.977596709053,-0.977616884725,-0.977637051411,-0.977657209111,-0.977677357825,-0.977697497551,-0.977717628291,-0.977737750044,-0.97775786281,-0.977777966588,-0.977798061379,-0.977818147183,-0.977838223998,-0.977858291825,-0.977878350664,-0.977898400515,-0.977918441377,-0.97793847325,-0.977958496134,-0.977978510029,-0.977998514935,-0.978018510851,-0.978038497777,-0.978058475713,-0.978078444659,-0.978098404615,-0.978118355581,-0.978138297556,-0.97815823054,-0.978178154533,-0.978198069534,-0.978217975545,-0.978237872564,-0.978257760591,-0.978277639626,-0.978297509669,-0.97831737072,-0.978337222778,-0.978357065843,-0.978376899916,-0.978396724996,-0.978416541082,-0.978436348175,-0.978456146275,-0.978475935381,-0.978495715492,-0.97851548661,-0.978535248733,-0.978555001862,-0.978574745997,-0.978594481136,-0.97861420728,-0.978633924429,-0.978653632583,-0.978673331741,-0.978693021904,-0.97871270307,-0.978732375241,-0.978752038415,-0.978771692592,-0.978791337773,-0.978810973957,-0.978830601144,-0.978850219334,-0.978869828527,-0.978889428721,-0.978909019919,-0.978928602118,-0.978948175319,-0.978967739522,-0.978987294726,-0.979006840932,-0.979026378139,-0.979045906347,-0.979065425556,-0.979084935765,-0.979104436975,-0.979123929185,-0.979143412395,-0.979162886606,-0.979182351816,-0.979201808025,-0.979221255234,-0.979240693442,-0.979260122649,-0.979279542855,-0.97929895406,-0.979318356263,-0.979337749464,-0.979357133664,-0.979376508861,-0.979395875057,-0.97941523225,-0.97943458044,-0.979453919628,-0.979473249812,-0.979492570994,-0.979511883172,-0.979531186347,-0.979550480518,-0.979569765685,-0.979589041849,-0.979608309008,-0.979627567163,-0.979646816313,-0.979666056459,-0.979685287599,-0.979704509735,-0.979723722866,-0.979742926991,-0.97976212211,-0.979781308224,-0.979800485331,-0.979819653433,-0.979838812528,-0.979857962617,-0.9798771037,-0.979896235775,-0.979915358843,-0.979934472905,-0.979953577958,-0.979972674005,-0.979991761043,-0.980010839074,-0.980029908097,-0.980048968112,-0.980068019118,-0.980087061115,-0.980106094104,-0.980125118084,-0.980144133055,-0.980163139016,-0.980182135968,-0.980201123911,-0.980220102843,-0.980239072766,-0.980258033678,-0.98027698558,-0.980295928472,-0.980314862353,-0.980333787223,-0.980352703082,-0.98037160993,-0.980390507767,-0.980409396592,-0.980428276405,-0.980447147207,-0.980466008996,-0.980484861773,-0.980503705538,-0.98052254029,-0.98054136603,-0.980560182756,-0.98057899047,-0.98059778917,-0.980616578857,-0.98063535953,-0.980654131189,-0.980672893834,-0.980691647465,-0.980710392082,-0.980729127685,-0.980747854272,-0.980766571845,-0.980785280403,-0.980803979946,-0.980822670473,-0.980841351985,-0.980860024482,-0.980878687962,-0.980897342426,-0.980915987874,-0.980934624306,-0.980953251721,-0.98097187012,-0.980990479502,-0.981009079866,-0.981027671213,-0.981046253543,-0.981064826856,-0.98108339115,-0.981101946427,-0.981120492686,-0.981139029926,-0.981157558148,-0.981176077352,-0.981194587536,-0.981213088702,-0.981231580849,-0.981250063976,-0.981268538084,-0.981287003172,-0.981305459241,-0.981323906289,-0.981342344318,-0.981360773326,-0.981379193314,-0.981397604281,-0.981416006227,-0.981434399152,-0.981452783057,-0.98147115794,-0.981489523801,-0.981507880641,-0.981526228459,-0.981544567255,-0.981562897028,-0.98158121778,-0.981599529509,-0.981617832215,-0.981636125899,-0.98165441056,-0.981672686197,-0.981690952811,-0.981709210402,-0.981727458969,-0.981745698512,-0.981763929031,-0.981782150526,-0.981800362996,-0.981818566443,-0.981836760864,-0.981854946261,-0.981873122632,-0.981891289979,-0.9819094483,-0.981927597595,-0.981945737865,-0.98196386911,-0.981981991328,-0.98200010452,-0.982018208685,-0.982036303824,-0.982054389937,-0.982072467022,-0.982090535081,-0.982108594113,-0.982126644117,-0.982144685093,-0.982162717042,-0.982180739963,-0.982198753856,-0.982216758721,-0.982234754558,-0.982252741366,-0.982270719146,-0.982288687896,-0.982306647618,-0.982324598311,-0.982342539974,-0.982360472608,-0.982378396212,-0.982396310786,-0.98241421633,-0.982432112845,-0.982450000328,-0.982467878782,-0.982485748205,-0.982503608597,-0.982521459958,-0.982539302287,-0.982557135586,-0.982574959853,-0.982592775089,-0.982610581292,-0.982628378464,-0.982646166604,-0.982663945711,-0.982681715786,-0.982699476829,-0.982717228838,-0.982734971815,-0.982752705758,-0.982770430669,-0.982788146546,-0.982805853389,-0.982823551199,-0.982841239974,-0.982858919716,-0.982876590423,-0.982894252096,-0.982911904735,-0.982929548339,-0.982947182908,-0.982964808441,-0.98298242494,-0.983000032403,-0.983017630831,-0.983035220223,-0.983052800579,-0.983070371899,-0.983087934184,-0.983105487431,-0.983123031642,-0.983140566817,-0.983158092955,-0.983175610055,-0.983193118119,-0.983210617145,-0.983228107134,-0.983245588085,-0.983263059999,-0.983280522874,-0.983297976712,-0.983315421511,-0.983332857272,-0.983350283994,-0.983367701677,-0.983385110322,-0.983402509927,-0.983419900493,-0.98343728202,-0.983454654507,-0.983472017955,-0.983489372362,-0.98350671773,-0.983524054058,-0.983541381345,-0.983558699591,-0.983576008797,-0.983593308962,-0.983610600087,-0.98362788217,-0.983645155211,-0.983662419212,-0.98367967417,-0.983696920087,-0.983714156962,-0.983731384795,-0.983748603586,-0.983765813334,-0.98378301404,-0.983800205703,-0.983817388323,-0.9838345619,-0.983851726434,-0.983868881924,-0.983886028371,-0.983903165774,-0.983920294134,-0.983937413449,-0.983954523721,-0.983971624948,-0.98398871713,-0.984005800268,-0.984022874361,-0.98403993941,-0.984056995413,-0.984074042371,-0.984091080283,-0.98410810915,-0.984125128972,-0.984142139747,-0.984159141476,-0.98417613416,-0.984193117797,-0.984210092387,-0.984227057931,-0.984244014428,-0.984260961878,-0.98427790028,-0.984294829636,-0.984311749944,-0.984328661205,-0.984345563418,-0.984362456583,-0.984379340699,-0.984396215768,-0.984413081789,-0.98442993876,-0.984446786684,-0.984463625558,-0.984480455383,-0.984497276159,-0.984514087886,-0.984530890564,-0.984547684192,-0.98456446877,-0.984581244298,-0.984598010776,-0.984614768204,-0.984631516582,-0.984648255909,-0.984664986185,-0.984681707411,-0.984698419586,-0.984715122709,-0.984731816781,-0.984748501802,-0.984765177771,-0.984781844688,-0.984798502554,-0.984815151367,-0.984831791128,-0.984848421837,-0.984865043494,-0.984881656097,-0.984898259648,-0.984914854146,-0.984931439591,-0.984948015982,-0.98496458332,-0.984981141605,-0.984997690835,-0.985014231012,-0.985030762135,-0.985047284204,-0.985063797218,-0.985080301178,-0.985096796083,-0.985113281933,-0.985129758728,-0.985146226469,-0.985162685154,-0.985179134783,-0.985195575357,-0.985212006876,-0.985228429338,-0.985244842745,-0.985261247095,-0.985277642389,-0.985294028626,-0.985310405807,-0.985326773932,-0.985343132999,-0.985359483009,-0.985375823962,-0.985392155858,-0.985408478696,-0.985424792476,-0.985441097199,-0.985457392864,-0.98547367947,-0.985489957018,-0.985506225508,-0.98552248494,-0.985538735312,-0.985554976626,-0.985571208881,-0.985587432076,-0.985603646213,-0.985619851289,-0.985636047307,-0.985652234264,-0.985668412162,-0.985684580999,-0.985700740776,-0.985716891493,-0.98573303315,-0.985749165746,-0.985765289281,-0.985781403755,-0.985797509168,-0.985813605519,-0.98582969281,-0.985845771038,-0.985861840206,-0.985877900311,-0.985893951354,-0.985909993335,-0.985926026254,-0.985942050111,-0.985958064905,-0.985974070636,-0.985990067304,-0.98600605491,-0.986022033452,-0.986038002931,-0.986053963346,-0.986069914698,-0.986085856986,-0.98610179021,-0.986117714371,-0.986133629467,-0.986149535498,-0.986165432465,-0.986181320368,-0.986197199206,-0.986213068979,-0.986228929686,-0.986244781329,-0.986260623906,-0.986276457418,-0.986292281864,-0.986308097245,-0.986323903559,-0.986339700807,-0.986355488989,-0.986371268105,-0.986387038154,-0.986402799137,-0.986418551053,-0.986434293902,-0.986450027683,-0.986465752398,-0.986481468045,-0.986497174625,-0.986512872136,-0.986528560581,-0.986544239957,-0.986559910265,-0.986575571505,-0.986591223676,-0.986606866779,-0.986622500813,-0.986638125778,-0.986653741675,-0.986669348502,-0.98668494626,-0.986700534949,-0.986716114568,-0.986731685117,-0.986747246597,-0.986762799007,-0.986778342346,-0.986793876615,-0.986809401814,-0.986824917943,-0.986840425,-0.986855922987,-0.986871411903,-0.986886891748,-0.986902362521,-0.986917824223,-0.986933276854,-0.986948720413,-0.9869641549,-0.986979580315,-0.986994996658,-0.987010403928,-0.987025802127,-0.987041191253,-0.987056571306,-0.987071942286,-0.987087304193,-0.987102657028,-0.987118000789,-0.987133335477,-0.987148661091,-0.987163977631,-0.987179285098,-0.987194583491,-0.987209872809,-0.987225153054,-0.987240424224,-0.987255686319,-0.98727093934,-0.987286183287,-0.987301418158,-0.987316643954,-0.987331860675,-0.987347068321,-0.987362266891,-0.987377456385,-0.987392636804,-0.987407808147,-0.987422970414,-0.987438123605,-0.987453267719,-0.987468402757,-0.987483528718,-0.987498645603,-0.98751375341,-0.987528852141,-0.987543941794,-0.987559022371,-0.987574093869,-0.987589156291,-0.987604209634,-0.9876192539,-0.987634289087,-0.987649315197,-0.987664332228,-0.987679340181,-0.987694339055,-0.987709328851,-0.987724309568,-0.987739281206,-0.987754243765,-0.987769197244,-0.987784141645,-0.987799076965,-0.987814003206,-0.987828920368,-0.987843828449,-0.987858727451,-0.987873617372,-0.987888498213,-0.987903369973,-0.987918232653,-0.987933086252,-0.98794793077,-0.987962766207,-0.987977592563,-0.987992409838,-0.988007218031,-0.988022017143,-0.988036807173,-0.988051588122,-0.988066359988,-0.988081122772,-0.988095876474,-0.988110621094,-0.988125356631,-0.988140083086,-0.988154800457,-0.988169508746,-0.988184207952,-0.988198898075,-0.988213579114,-0.98822825107,-0.988242913942,-0.988257567731,-0.988272212435,-0.988286848056,-0.988301474593,-0.988316092045,-0.988330700413,-0.988345299697,-0.988359889895,-0.988374471009,-0.988389043038,-0.988403605982,-0.988418159841,-0.988432704615,-0.988447240303,-0.988461766905,-0.988476284422,-0.988490792853,-0.988505292198,-0.988519782456,-0.988534263629,-0.988548735715,-0.988563198714,-0.988577652627,-0.988592097453,-0.988606533192,-0.988620959844,-0.988635377409,-0.988649785887,-0.988664185277,-0.98867857558,-0.988692956794,-0.988707328921,-0.98872169196,-0.988736045911,-0.988750390774,-0.988764726548,-0.988779053234,-0.988793370831,-0.988807679339,-0.988821978758,-0.988836269089,-0.98885055033,-0.988864822482,-0.988879085544,-0.988893339517,-0.9889075844,-0.988921820194,-0.988936046897,-0.98895026451,-0.988964473033,-0.988978672466,-0.988992862808,-0.98900704406,-0.989021216221,-0.989035379291,-0.98904953327,-0.989063678158,-0.989077813955,-0.98909194066,-0.989106058273,-0.989120166796,-0.989134266226,-0.989148356564,-0.989162437811,-0.989176509965,-0.989190573027,-0.989204626996,-0.989218671873,-0.989232707657,-0.989246734349,-0.989260751947,-0.989274760452,-0.989288759865,-0.989302750183,-0.989316731409,-0.989330703541,-0.989344666579,-0.989358620523,-0.989372565373,-0.989386501129,-0.989400427791,-0.989414345359,-0.989428253832,-0.989442153211,-0.989456043494,-0.989469924683,-0.989483796777,-0.989497659776,-0.989511513679,-0.989525358487,-0.9895391942,-0.989553020817,-0.989566838338,-0.989580646764,-0.989594446093,-0.989608236326,-0.989622017463,-0.989635789504,-0.989649552448,-0.989663306295,-0.989677051046,-0.989690786699,-0.989704513256,-0.989718230716,-0.989731939078,-0.989745638343,-0.98975932851,-0.98977300958,-0.989786681552,-0.989800344426,-0.989813998202,-0.989827642879,-0.989841278459,-0.98985490494,-0.989868522322,-0.989882130606,-0.989895729791,-0.989909319878,-0.989922900865,-0.989936472753,-0.989950035542,-0.989963589231,-0.989977133821,-0.989990669311,-0.990004195701,-0.990017712992,-0.990031221182,-0.990044720272,-0.990058210262,-0.990071691152,-0.990085162941,-0.990098625629,-0.990112079217,-0.990125523704,-0.990138959089,-0.990152385374,-0.990165802557,-0.990179210639,-0.99019260962,-0.990205999498,-0.990219380275,-0.99023275195,-0.990246114523,-0.990259467994,-0.990272812363,-0.99028614763,-0.990299473793,-0.990312790855,-0.990326098813,-0.990339397669,-0.990352687421,-0.990365968071,-0.990379239617,-0.99039250206,-0.9904057554,-0.990418999635,-0.990432234768,-0.990445460796,-0.99045867772,-0.99047188554,-0.990485084256,-0.990498273868,-0.990511454375,-0.990524625778,-0.990537788076,-0.990550941269,-0.990564085358,-0.990577220341,-0.990590346219,-0.990603462992,-0.990616570659,-0.990629669221,-0.990642758677,-0.990655839027,-0.990668910272,-0.99068197241,-0.990695025443,-0.990708069369,-0.990721104188,-0.990734129902,-0.990747146508,-0.990760154008,-0.990773152401,-0.990786141687,-0.990799121866,-0.990812092938,-0.990825054902,-0.990838007759,-0.990850951508,-0.99086388615,-0.990876811684,-0.99088972811,-0.990902635428,-0.990915533638,-0.990928422739,-0.990941302732,-0.990954173617,-0.990967035392,-0.99097988806,-0.990992731618,-0.991005566067,-0.991018391407,-0.991031207638,-0.99104401476,-0.991056812772,-0.991069601674,-0.991082381467,-0.99109515215,-0.991107913723,-0.991120666186,-0.991133409539,-0.991146143782,-0.991158868914,-0.991171584936,-0.991184291847,-0.991196989647,-0.991209678336,-0.991222357915,-0.991235028382,-0.991247689738,-0.991260341983,-0.991272985116,-0.991285619138,-0.991298244048,-0.991310859846,-0.991323466532,-0.991336064107,-0.991348652569,-0.991361231919,-0.991373802156,-0.991386363281,-0.991398915294,-0.991411458193,-0.99142399198,-0.991436516654,-0.991449032215,-0.991461538662,-0.991474035997,-0.991486524218,-0.991499003325,-0.991511473319,-0.991523934199,-0.991536385965,-0.991548828617,-0.991561262155,-0.991573686579,-0.991586101888,-0.991598508083,-0.991610905163,-0.991623293129,-0.99163567198,-0.991648041716,-0.991660402337,-0.991672753843,-0.991685096234,-0.991697429509,-0.991709753669,-0.991722068713,-0.991734374642,-0.991746671455,-0.991758959152,-0.991771237732,-0.991783507197,-0.991795767545,-0.991808018777,-0.991820260893,-0.991832493892,-0.991844717774,-0.991856932539,-0.991869138188,-0.991881334719,-0.991893522134,-0.991905700431,-0.99191786961,-0.991930029672,-0.991942180617,-0.991954322444,-0.991966455153,-0.991978578744,-0.991990693216,-0.992002798571,-0.992014894808,-0.992026981926,-0.992039059925,-0.992051128806,-0.992063188569,-0.992075239212,-0.992087280737,-0.992099313142,-0.992111336428,-0.992123350596,-0.992135355643,-0.992147351571,-0.99215933838,-0.992171316069,-0.992183284638,-0.992195244087,-0.992207194416,-0.992219135625,-0.992231067713,-0.992242990681,-0.992254904529,-0.992266809256,-0.992278704863,-0.992290591348,-0.992302468713,-0.992314336957,-0.992326196079,-0.99233804608,-0.99234988696,-0.992361718719,-0.992373541356,-0.992385354871,-0.992397159264,-0.992408954536,-0.992420740685,-0.992432517713,-0.992444285618,-0.992456044401,-0.992467794061,-0.992479534599,-0.992491266014,-0.992502988306,-0.992514701476,-0.992526405522,-0.992538100446,-0.992549786246,-0.992561462923,-0.992573130476,-0.992584788906,-0.992596438213,-0.992608078395,-0.992619709454,-0.992631331389,-0.9926429442,-0.992654547887,-0.992666142449,-0.992677727887,-0.9926893042,-0.992700871389,-0.992712429454,-0.992723978393,-0.992735518208,-0.992747048897,-0.992758570462,-0.992770082901,-0.992781586215,-0.992793080403,-0.992804565466,-0.992816041403,-0.992827508215,-0.9928389659,-0.99285041446,-0.992861853893,-0.992873284201,-0.992884705382,-0.992896117437,-0.992907520365,-0.992918914167,-0.992930298842,-0.99294167439,-0.992953040811,-0.992964398105,-0.992975746273,-0.992987085312,-0.992998415225,-0.99300973601,-0.993021047668,-0.993032350198,-0.9930436436,-0.993054927875,-0.993066203021,-0.993077469039,-0.99308872593,-0.993099973692,-0.993111212325,-0.99312244183,-0.993133662207,-0.993144873455,-0.993156075574,-0.993167268564,-0.993178452426,-0.993189627158,-0.993200792761,-0.993211949235,-0.993223096579,-0.993234234794,-0.993245363879,-0.993256483835,-0.993267594661,-0.993278696356,-0.993289788922,-0.993300872358,-0.993311946664,-0.993323011839,-0.993334067884,-0.993345114798,-0.993356152582,-0.993367181235,-0.993378200757,-0.993389211148,-0.993400212408,-0.993411204537,-0.993422187535,-0.993433161402,-0.993444126137,-0.993455081741,-0.993466028213,-0.993476965553,-0.993487893761,-0.993498812838,-0.993509722782,-0.993520623595,-0.993531515275,-0.993542397822,-0.993553271238,-0.993564135521,-0.993574990671,-0.993585836688,-0.993596673573,-0.993607501325,-0.993618319943,-0.993629129429,-0.993639929781,-0.993650721,-0.993661503086,-0.993672276038,-0.993683039856,-0.993693794541,-0.993704540092,-0.993715276509,-0.993726003792,-0.993736721941,-0.993747430955,-0.993758130836,-0.993768821582,-0.993779503193,-0.99379017567,-0.993800839012,-0.993811493219,-0.993822138292,-0.993832774229,-0.993843401031,-0.993854018698,-0.99386462723,-0.993875226626,-0.993885816887,-0.993896398013,-0.993906970002,-0.993917532856,-0.993928086574,-0.993938631156,-0.993949166602,-0.993959692912,-0.993970210085,-0.993980718123,-0.993991217023,-0.994001706787,-0.994012187415,-0.994022658906,-0.99403312126,-0.994043574477,-0.994054018557,-0.994064453499,-0.994074879305,-0.994085295973,-0.994095703504,-0.994106101897,-0.994116491153,-0.994126871271,-0.994137242251,-0.994147604093,-0.994157956798,-0.994168300364,-0.994178634792,-0.994188960082,-0.994199276233,-0.994209583246,-0.994219881121,-0.994230169856,-0.994240449453,-0.994250719911,-0.99426098123,-0.994271233411,-0.994281476452,-0.994291710353,-0.994301935116,-0.994312150739,-0.994322357223,-0.994332554567,-0.994342742771,-0.994352921835,-0.99436309176,-0.994373252545,-0.994383404189,-0.994393546694,-0.994403680058,-0.994413804281,-0.994423919365,-0.994434025308,-0.99444412211,-0.994454209771,-0.994464288292,-0.994474357672,-0.994484417911,-0.994494469008,-0.994504510965,-0.99451454378,-0.994524567454,-0.994534581987,-0.994544587377,-0.994554583627,-0.994564570734,-0.9945745487,-0.994584517524,-0.994594477206,-0.994604427745,-0.994614369143,-0.994624301398,-0.994634224511,-0.994644138481,-0.994654043309,-0.994663938994,-0.994673825536,-0.994683702936,-0.994693571193,-0.994703430306,-0.994713280277,-0.994723121104,-0.994732952788,-0.994742775329,-0.994752588726,-0.99476239298,-0.99477218809,-0.994781974057,-0.994791750879,-0.994801518558,-0.994811277092,-0.994821026483,-0.994830766729,-0.994840497831,-0.994850219789,-0.994859932602,-0.994869636271,-0.994879330795,-0.994889016174,-0.994898692409,-0.994908359498,-0.994918017443,-0.994927666243,-0.994937305897,-0.994946936406,-0.99495655777,-0.994966169989,-0.994975773061,-0.994985366989,-0.99499495177,-0.995004527406,-0.995014093896,-0.99502365124,-0.995033199438,-0.99504273849,-0.995052268396,-0.995061789155,-0.995071300768,-0.995080803234,-0.995090296554,-0.995099780727,-0.995109255754,-0.995118721633,-0.995128178366,-0.995137625952,-0.99514706439,-0.995156493682,-0.995165913826,-0.995175324823,-0.995184726672,-0.995194119374,-0.995203502928,-0.995212877335,-0.995222242594,-0.995231598705,-0.995240945667,-0.995250283482,-0.995259612149,-0.995268931668,-0.995278242038,-0.99528754326,-0.995296835333,-0.995306118258,-0.995315392034,-0.995324656662,-0.99533391214,-0.99534315847,-0.995352395651,-0.995361623683,-0.995370842565,-0.995380052299,-0.995389252883,-0.995398444317,-0.995407626603,-0.995416799738,-0.995425963724,-0.99543511856,-0.995444264247,-0.995453400783,-0.995462528169,-0.995471646406,-0.995480755492,-0.995489855428,-0.995498946213,-0.995508027849,-0.995517100333,-0.995526163668,-0.995535217851,-0.995544262884,-0.995553298766,-0.995562325497,-0.995571343077,-0.995580351506,-0.995589350783,-0.99559834091,-0.995607321885,-0.995616293709,-0.995625256381,-0.995634209902,-0.995643154271,-0.995652089488,-0.995661015554,-0.995669932467,-0.995678840229,-0.995687738838,-0.995696628296,-0.995705508601,-0.995714379754,-0.995723241754,-0.995732094602,-0.995740938298,-0.99574977284,-0.99575859823,-0.995767414468,-0.995776221552,-0.995785019483,-0.995793808262,-0.995802587887,-0.995811358359,-0.995820119678,-0.995828871843,-0.995837614855,-0.995846348714,-0.995855073419,-0.99586378897,-0.995872495367,-0.995881192611,-0.9958898807,-0.995898559636,-0.995907229417,-0.995915890045,-0.995924541518,-0.995933183837,-0.995941817001,-0.995950441011,-0.995959055866,-0.995967661567,-0.995976258113,-0.995984845504,-0.99599342374,-0.996001992822,-0.996010552748,-0.996019103519,-0.996027645135,-0.996036177596,-0.996044700901,-0.996053215051,-0.996061720046,-0.996070215884,-0.996078702568,-0.996087180095,-0.996095648467,-0.996104107682,-0.996112557742,-0.996120998646,-0.996129430393,-0.996137852985,-0.99614626642,-0.996154670699,-0.996163065821,-0.996171451787,-0.996179828596,-0.996188196248,-0.996196554744,-0.996204904083,-0.996213244265,-0.99622157529,-0.996229897158,-0.996238209869,-0.996246513422,-0.996254807819,-0.996263093058,-0.996271369139,-0.996279636063,-0.99628789383,-0.996296142438,-0.99630438189,-0.996312612183,-0.996320833318,-0.996329045295,-0.996337248115,-0.996345441776,-0.996353626279,-0.996361801624,-0.99636996781,-0.996378124838,-0.996386272708,-0.996394411419,-0.996402540971,-0.996410661364,-0.996418772599,-0.996426874675,-0.996434967592,-0.99644305135,-0.996451125949,-0.996459191389,-0.996467247669,-0.99647529479,-0.996483332752,-0.996491361554,-0.996499381197,-0.99650739168,-0.996515393004,-0.996523385167,-0.996531368171,-0.996539342015,-0.996547306699,-0.996555262223,-0.996563208587,-0.996571145791,-0.996579073834,-0.996586992717,-0.99659490244,-0.996602803002,-0.996610694403,-0.996618576644,-0.996626449724,-0.996634313644,-0.996642168402,-0.996650014,-0.996657850437,-0.996665677712,-0.996673495827,-0.99668130478,-0.996689104572,-0.996696895203,-0.996704676672,-0.99671244898,-0.996720212126,-0.996727966111,-0.996735710933,-0.996743446594,-0.996751173094,-0.996758890431,-0.996766598606,-0.996774297619,-0.99678198747,-0.996789668159,-0.996797339686,-0.99680500205,-0.996812655252,-0.996820299291,-0.996827934168,-0.996835559882,-0.996843176434,-0.996850783822,-0.996858382048,-0.996865971111,-0.996873551011,-0.996881121748,-0.996888683322,-0.996896235732,-0.99690377898,-0.996911313064,-0.996918837984,-0.996926353741,-0.996933860335,-0.996941357765,-0.996948846031,-0.996956325134,-0.996963795073,-0.996971255848,-0.996978707459,-0.996986149906,-0.996993583189,-0.997001007307,-0.997008422262,-0.997015828052,-0.997023224678,-0.997030612139,-0.997037990436,-0.997045359569,-0.997052719536,-0.997060070339,-0.997067411978,-0.997074744451,-0.99708206776,-0.997089381903,-0.997096686882,-0.997103982696,-0.997111269344,-0.997118546827,-0.997125815145,-0.997133074297,-0.997140324284,-0.997147565106,-0.997154796762,-0.997162019252,-0.997169232576,-0.997176436735,-0.997183631728,-0.997190817555,-0.997197994217,-0.997205161712,-0.997212320041,-0.997219469204,-0.9972266092,-0.99723374003,-0.997240861694,-0.997247974192,-0.997255077523,-0.997262171688,-0.997269256685,-0.997276332517,-0.997283399181,-0.997290456679,-0.997297505009,-0.997304544173,-0.99731157417,-0.997318595,-0.997325606662,-0.997332609158,-0.997339602486,-0.997346586647,-0.99735356164,-0.997360527466,-0.997367484124,-0.997374431615,-0.997381369938,-0.997388299094,-0.997395219081,-0.997402129901,-0.997409031553,-0.997415924037,-0.997422807353,-0.997429681501,-0.997436546481,-0.997443402292,-0.997450248935,-0.99745708641,-0.997463914716,-0.997470733854,-0.997477543824,-0.997484344624,-0.997491136257,-0.99749791872,-0.997504692015,-0.99751145614,-0.997518211097,-0.997524956885,-0.997531693504,-0.997538420954,-0.997545139234,-0.997551848346,-0.997558548288,-0.99756523906,-0.997571920664,-0.997578593098,-0.997585256362,-0.997591910457,-0.997598555382,-0.997605191137,-0.997611817723,-0.997618435139,-0.997625043384,-0.99763164246,-0.997638232366,-0.997644813102,-0.997651384668,-0.997657947063,-0.997664500289,-0.997671044343,-0.997677579228,-0.997684104942,-0.997690621486,-0.997697128859,-0.997703627061,-0.997710116093,-0.997716595954,-0.997723066644,-0.997729528164,-0.997735980512,-0.997742423689,-0.997748857696,-0.997755282531,-0.997761698195,-0.997768104688,-0.99777450201,-0.997780890161,-0.99778726914,-0.997793638947,-0.997799999583,-0.997806351048,-0.99781269334,-0.997819026462,-0.997825350411,-0.997831665189,-0.997837970795,-0.997844267228,-0.99785055449,-0.99785683258,-0.997863101498,-0.997869361244,-0.997875611817,-0.997881853218,-0.997888085447,-0.997894308504,-0.997900522388,-0.997906727099,-0.997912922638,-0.997919109005,-0.997925286199,-0.99793145422,-0.997937613068,-0.997943762743,-0.997949903246,-0.997956034576,-0.997962156732,-0.997968269716,-0.997974373526,-0.997980468164,-0.997986553628,-0.997992629919,-0.997998697036,-0.99800475498,-0.998010803751,-0.998016843348,-0.998022873771,-0.998028895021,-0.998034907098,-0.99804091,-0.998046903729,-0.998052888284,-0.998058863665,-0.998064829872,-0.998070786905,-0.998076734765,-0.99808267345,-0.99808860296,-0.998094523297,-0.998100434459,-0.998106336447,-0.998112229261,-0.9981181129,-0.998123987365,-0.998129852655,-0.998135708771,-0.998141555712,-0.998147393478,-0.998153222069,-0.998159041486,-0.998164851728,-0.998170652795,-0.998176444686,-0.998182227403,-0.998188000945,-0.998193765312,-0.998199520503,-0.99820526652,-0.99821100336,-0.998216731026,-0.998222449516,-0.998228158831,-0.99823385897,-0.998239549934,-0.998245231722,-0.998250904335,-0.998256567771,-0.998262222032,-0.998267867118,-0.998273503027,-0.99827912976,-0.998284747318,-0.998290355699,-0.998295954905,-0.998301544934,-0.998307125787,-0.998312697464,-0.998318259964,-0.998323813289,-0.998329357436,-0.998334892408,-0.998340418203,-0.998345934821,-0.998351442263,-0.998356940528,-0.998362429617,-0.998367909529,-0.998373380264,-0.998378841822,-0.998384294203,-0.998389737407,-0.998395171435,-0.998400596285,-0.998406011958,-0.998411418454,-0.998416815773,-0.998422203915,-0.998427582879,-0.998432952667,-0.998438313276,-0.998443664708,-0.998449006963,-0.998454340041,-0.99845966394,-0.998464978662,-0.998470284207,-0.998475580573,-0.998480867762,-0.998486145773,-0.998491414606,-0.998496674262,-0.998501924739,-0.998507166038,-0.99851239816,-0.998517621103,-0.998522834868,-0.998528039454,-0.998533234863,-0.998538421093,-0.998543598145,-0.998548766018,-0.998553924713,-0.99855907423,-0.998564214568,-0.998569345727,-0.998574467708,-0.99857958051,-0.998584684133,-0.998589778578,-0.998594863843,-0.99859993993,-0.998605006838,-0.998610064567,-0.998615113117,-0.998620152488,-0.99862518268,-0.998630203693,-0.998635215526,-0.99864021818,-0.998645211655,-0.998650195951,-0.998655171067,-0.998660137004,-0.998665093761,-0.998670041339,-0.998674979737,-0.998679908956,-0.998684828995,-0.998689739854,-0.998694641534,-0.998699534034,-0.998704417353,-0.998709291494,-0.998714156454,-0.998719012234,-0.998723858834,-0.998728696254,-0.998733524494,-0.998738343554,-0.998743153434,-0.998747954133,-0.998752745652,-0.998757527991,-0.99876230115,-0.998767065128,-0.998771819925,-0.998776565542,-0.998781301979,-0.998786029235,-0.99879074731,-0.998795456205,-0.998800155919,-0.998804846452,-0.998809527805,-0.998814199976,-0.998818862967,-0.998823516777,-0.998828161406,-0.998832796854,-0.99883742312,-0.998842040206,-0.99884664811,-0.998851246834,-0.998855836376,-0.998860416737,-0.998864987916,-0.998869549914,-0.998874102731,-0.998878646366,-0.99888318082,-0.998887706093,-0.998892222183,-0.998896729092,-0.99890122682,-0.998905715366,-0.99891019473,-0.998914664912,-0.998919125913,-0.998923577731,-0.998928020368,-0.998932453823,-0.998936878096,-0.998941293187,-0.998945699096,-0.998950095822,-0.998954483367,-0.998958861729,-0.99896323091,-0.998967590908,-0.998971941723,-0.998976283356,-0.998980615807,-0.998984939076,-0.998989253162,-0.998993558066,-0.998997853787,-0.999002140325,-0.999006417681,-0.999010685854,-0.999014944845,-0.999019194652,-0.999023435277,-0.99902766672,-0.999031888979,-0.999036102055,-0.999040305949,-0.999044500659,-0.999048686187,-0.999052862532,-0.999057029693,-0.999061187671,-0.999065336466,-0.999069476078,-0.999073606507,-0.999077727753,-0.999081839815,-0.999085942694,-0.999090036389,-0.999094120901,-0.99909819623,-0.999102262375,-0.999106319336,-0.999110367114,-0.999114405709,-0.999118435119,-0.999122455346,-0.99912646639,-0.999130468249,-0.999134460925,-0.999138444417,-0.999142418725,-0.999146383849,-0.999150339789,-0.999154286545,-0.999158224118,-0.999162152506,-0.99916607171,-0.99916998173,-0.999173882566,-0.999177774217,-0.999181656685,-0.999185529968,-0.999189394067,-0.999193248981,-0.999197094711,-0.999200931257,-0.999204758618,-0.999208576795,-0.999212385787,-0.999216185595,-0.999219976218,-0.999223757657,-0.999227529911,-0.99923129298,-0.999235046865,-0.999238791564,-0.999242527079,-0.999246253409,-0.999249970555,-0.999253678515,-0.999257377291,-0.999261066881,-0.999264747287,-0.999268418507,-0.999272080543,-0.999275733393,-0.999279377058,-0.999283011538,-0.999286636833,-0.999290252943,-0.999293859867,-0.999297457606,-0.99930104616,-0.999304625528,-0.999308195711,-0.999311756709,-0.999315308521,-0.999318851147,-0.999322384588,-0.999325908844,-0.999329423914,-0.999332929798,-0.999336426497,-0.99933991401,-0.999343392337,-0.999346861478,-0.999350321434,-0.999353772204,-0.999357213788,-0.999360646186,-0.999364069399,-0.999367483425,-0.999370888265,-0.99937428392,-0.999377670388,-0.99938104767,-0.999384415766,-0.999387774676,-0.9993911244,-0.999394464938,-0.99939779629,-0.999401118455,-0.999404431434,-0.999407735226,-0.999411029833,-0.999414315253,-0.999417591486,-0.999420858533,-0.999424116394,-0.999427365068,-0.999430604555,-0.999433834857,-0.999437055971,-0.999440267899,-0.99944347064,-0.999446664195,-0.999449848562,-0.999453023744,-0.999456189738,-0.999459346546,-0.999462494166,-0.9994656326,-0.999468761847,-0.999471881907,-0.999474992781,-0.999478094467,-0.999481186966,-0.999484270278,-0.999487344404,-0.999490409342,-0.999493465093,-0.999496511657,-0.999499549033,-0.999502577223,-0.999505596225,-0.99950860604,-0.999511606668,-0.999514598109,-0.999517580362,-0.999520553428,-0.999523517306,-0.999526471997,-0.999529417501,-0.999532353817,-0.999535280946,-0.999538198887,-0.999541107641,-0.999544007207,-0.999546897585,-0.999549778776,-0.999552650779,-0.999555513595,-0.999558367223,-0.999561211663,-0.999564046915,-0.99956687298,-0.999569689857,-0.999572497546,-0.999575296047,-0.99957808536,-0.999580865485,-0.999583636423,-0.999586398172,-0.999589150734,-0.999591894107,-0.999594628292,-0.99959735329,-0.999600069099,-0.99960277572,-0.999605473153,-0.999608161398,-0.999610840455,-0.999613510323,-0.999616171003,-0.999618822495,-0.999621464799,-0.999624097914,-0.999626721841,-0.99962933658,-0.99963194213,-0.999634538492,-0.999637125666,-0.999639703651,-0.999642272447,-0.999644832055,-0.999647382475,-0.999649923706,-0.999652455748,-0.999654978602,-0.999657492267,-0.999659996744,-0.999662492032,-0.999664978131,-0.999667455042,-0.999669922763,-0.999672381297,-0.999674830641,-0.999677270796,-0.999679701763,-0.999682123541,-0.99968453613,-0.99968693953,-0.999689333741,-0.999691718763,-0.999694094597,-0.999696461241,-0.999698818696,-0.999701166963,-0.99970350604,-0.999705835928,-0.999708156627,-0.999710468137,-0.999712770458,-0.99971506359,-0.999717347532,-0.999719622286,-0.99972188785,-0.999724144225,-0.999726391411,-0.999728629407,-0.999730858214,-0.999733077832,-0.999735288261,-0.9997374895,-0.999739681549,-0.99974186441,-0.999744038081,-0.999746202562,-0.999748357855,-0.999750503957,-0.99975264087,-0.999754768594,-0.999756887128,-0.999758996472,-0.999761096627,-0.999763187593,-0.999765269369,-0.999767341955,-0.999769405351,-0.999771459558,-0.999773504575,-0.999775540403,-0.99977756704,-0.999779584488,-0.999781592747,-0.999783591815,-0.999785581694,-0.999787562382,-0.999789533881,-0.999791496191,-0.99979344931,-0.999795393239,-0.999797327979,-0.999799253528,-0.999801169888,-0.999803077058,-0.999804975037,-0.999806863827,-0.999808743427,-0.999810613836,-0.999812475056,-0.999814327085,-0.999816169925,-0.999818003574,-0.999819828034,-0.999821643303,-0.999823449382,-0.99982524627,-0.999827033969,-0.999828812478,-0.999830581796,-0.999832341924,-0.999834092862,-0.999835834609,-0.999837567166,-0.999839290533,-0.99984100471,-0.999842709696,-0.999844405492,-0.999846092098,-0.999847769513,-0.999849437738,-0.999851096772,-0.999852746616,-0.99985438727,-0.999856018733,-0.999857641006,-0.999859254088,-0.99986085798,-0.999862452681,-0.999864038192,-0.999865614512,-0.999867181641,-0.999868739581,-0.999870288329,-0.999871827887,-0.999873358254,-0.999874879431,-0.999876391417,-0.999877894212,-0.999879387817,-0.999880872231,-0.999882347454,-0.999883813487,-0.999885270329,-0.99988671798,-0.99988815644,-0.99988958571,-0.999891005789,-0.999892416677,-0.999893818374,-0.999895210881,-0.999896594197,-0.999897968321,-0.999899333256,-0.999900688999,-0.999902035551,-0.999903372912,-0.999904701083,-0.999906020062,-0.999907329851,-0.999908630449,-0.999909921856,-0.999911204071,-0.999912477096,-0.99991374093,-0.999914995573,-0.999916241025,-0.999917477286,-0.999918704356,-0.999919922235,-0.999921130922,-0.999922330419,-0.999923520725,-0.999924701839,-0.999925873763,-0.999927036495,-0.999928190036,-0.999929334386,-0.999930469545,-0.999931595513,-0.99993271229,-0.999933819875,-0.99993491827,-0.999936007473,-0.999937087485,-0.999938158305,-0.999939219935,-0.999940272373,-0.99994131562,-0.999942349676,-0.999943374541,-0.999944390214,-0.999945396696,-0.999946393987,-0.999947382086,-0.999948360994,-0.999949330711,-0.999950291236,-0.999951242571,-0.999952184714,-0.999953117665,-0.999954041425,-0.999954955994,-0.999955861371,-0.999956757557,-0.999957644552,-0.999958522355,-0.999959390967,-0.999960250387,-0.999961100616,-0.999961941654,-0.9999627735,-0.999963596155,-0.999964409618,-0.99996521389,-0.99996600897,-0.999966794859,-0.999967571556,-0.999968339062,-0.999969097377,-0.9999698465,-0.999970586431,-0.999971317171,-0.999972038719,-0.999972751076,-0.999973454241,-0.999974148215,-0.999974832997,-0.999975508588,-0.999976174987,-0.999976832194,-0.99997748021,-0.999978119035,-0.999978748667,-0.999979369109,-0.999979980358,-0.999980582416,-0.999981175283,-0.999981758957,-0.999982333441,-0.999982898732,-0.999983454832,-0.99998400174,-0.999984539457,-0.999985067982,-0.999985587315,-0.999986097457,-0.999986598407,-0.999987090165,-0.999987572732,-0.999988046107,-0.99998851029,-0.999988965282,-0.999989411082,-0.99998984769,-0.999990275107,-0.999990693332,-0.999991102365,-0.999991502206,-0.999991892856,-0.999992274314,-0.999992646581,-0.999993009655,-0.999993363538,-0.99999370823,-0.999994043729,-0.999994370037,-0.999994687153,-0.999994995077,-0.99999529381,-0.99999558335,-0.999995863699,-0.999996134857,-0.999996396822,-0.999996649596,-0.999996893178,-0.999997127568,-0.999997352767,-0.999997568774,-0.999997775589,-0.999997973212,-0.999998161643,-0.999998340883,-0.999998510931,-0.999998671787,-0.999998823452,-0.999998965924,-0.999999099205,-0.999999223294,-0.999999338192,-0.999999443897,-0.999999540411,-0.999999627733,-0.999999705863,-0.999999774801,-0.999999834548,-0.999999885103,-0.999999926466,-0.999999958637,-0.999999981616,-0.999999995404,-1.0,-0.999999995404,-0.999999981616,-0.999999958637,-0.999999926466,-0.999999885103,-0.999999834548,-0.999999774801,-0.999999705863,-0.999999627733,-0.999999540411,-0.999999443897,-0.999999338192,-0.999999223294,-0.999999099205,-0.999998965924,-0.999998823452,-0.999998671787,-0.999998510931,-0.999998340883,-0.999998161643,-0.999997973212,-0.999997775589,-0.999997568774,-0.999997352767,-0.999997127568,-0.999996893178,-0.999996649596,-0.999996396822,-0.999996134857,-0.999995863699,-0.99999558335,-0.99999529381,-0.999994995077,-0.999994687153,-0.999994370037,-0.999994043729,-0.99999370823,-0.999993363538,-0.999993009655,-0.999992646581,-0.999992274314,-0.999991892856,-0.999991502206,-0.999991102365,-0.999990693332,-0.999990275107,-0.99998984769,-0.999989411082,-0.999988965282,-0.99998851029,-0.999988046107,-0.999987572732,-0.999987090165,-0.999986598407,-0.999986097457,-0.999985587315,-0.999985067982,-0.999984539457,-0.99998400174,-0.999983454832,-0.999982898732,-0.999982333441,-0.999981758957,-0.999981175283,-0.999980582416,-0.999979980358,-0.999979369109,-0.999978748667,-0.999978119035,-0.99997748021,-0.999976832194,-0.999976174987,-0.999975508588,-0.999974832997,-0.999974148215,-0.999973454241,-0.999972751076,-0.999972038719,-0.999971317171,-0.999970586431,-0.9999698465,-0.999969097377,-0.999968339062,-0.999967571556,-0.999966794859,-0.99996600897,-0.99996521389,-0.999964409618,-0.999963596155,-0.9999627735,-0.999961941654,-0.999961100616,-0.999960250387,-0.999959390967,-0.999958522355,-0.999957644552,-0.999956757557,-0.999955861371,-0.999954955994,-0.999954041425,-0.999953117665,-0.999952184714,-0.999951242571,-0.999950291236,-0.999949330711,-0.999948360994,-0.999947382086,-0.999946393987,-0.999945396696,-0.999944390214,-0.999943374541,-0.999942349676,-0.99994131562,-0.999940272373,-0.999939219935,-0.999938158305,-0.999937087485,-0.999936007473,-0.99993491827,-0.999933819875,-0.99993271229,-0.999931595513,-0.999930469545,-0.999929334386,-0.999928190036,-0.999927036495,-0.999925873763,-0.999924701839,-0.999923520725,-0.999922330419,-0.999921130922,-0.999919922235,-0.999918704356,-0.999917477286,-0.999916241025,-0.999914995573,-0.99991374093,-0.999912477096,-0.999911204071,-0.999909921856,-0.999908630449,-0.999907329851,-0.999906020062,-0.999904701083,-0.999903372912,-0.999902035551,-0.999900688999,-0.999899333256,-0.999897968321,-0.999896594197,-0.999895210881,-0.999893818374,-0.999892416677,-0.999891005789,-0.99988958571,-0.99988815644,-0.99988671798,-0.999885270329,-0.999883813487,-0.999882347454,-0.999880872231,-0.999879387817,-0.999877894212,-0.999876391417,-0.999874879431,-0.999873358254,-0.999871827887,-0.999870288329,-0.999868739581,-0.999867181641,-0.999865614512,-0.999864038192,-0.999862452681,-0.99986085798,-0.999859254088,-0.999857641006,-0.999856018733,-0.99985438727,-0.999852746616,-0.999851096772,-0.999849437738,-0.999847769513,-0.999846092098,-0.999844405492,-0.999842709696,-0.99984100471,-0.999839290533,-0.999837567166,-0.999835834609,-0.999834092862,-0.999832341924,-0.999830581796,-0.999828812478,-0.999827033969,-0.99982524627,-0.999823449382,-0.999821643303,-0.999819828034,-0.999818003574,-0.999816169925,-0.999814327085,-0.999812475056,-0.999810613836,-0.999808743427,-0.999806863827,-0.999804975037,-0.999803077058,-0.999801169888,-0.999799253528,-0.999797327979,-0.999795393239,-0.99979344931,-0.999791496191,-0.999789533881,-0.999787562382,-0.999785581694,-0.999783591815,-0.999781592747,-0.999779584488,-0.99977756704,-0.999775540403,-0.999773504575,-0.999771459558,-0.999769405351,-0.999767341955,-0.999765269369,-0.999763187593,-0.999761096627,-0.999758996472,-0.999756887128,-0.999754768594,-0.99975264087,-0.999750503957,-0.999748357855,-0.999746202562,-0.999744038081,-0.99974186441,-0.999739681549,-0.9997374895,-0.999735288261,-0.999733077832,-0.999730858214,-0.999728629407,-0.999726391411,-0.999724144225,-0.99972188785,-0.999719622286,-0.999717347532,-0.99971506359,-0.999712770458,-0.999710468137,-0.999708156627,-0.999705835928,-0.99970350604,-0.999701166963,-0.999698818696,-0.999696461241,-0.999694094597,-0.999691718763,-0.999689333741,-0.99968693953,-0.99968453613,-0.999682123541,-0.999679701763,-0.999677270796,-0.999674830641,-0.999672381297,-0.999669922763,-0.999667455042,-0.999664978131,-0.999662492032,-0.999659996744,-0.999657492267,-0.999654978602,-0.999652455748,-0.999649923706,-0.999647382475,-0.999644832055,-0.999642272447,-0.999639703651,-0.999637125666,-0.999634538492,-0.99963194213,-0.99962933658,-0.999626721841,-0.999624097914,-0.999621464799,-0.999618822495,-0.999616171003,-0.999613510323,-0.999610840455,-0.999608161398,-0.999605473153,-0.99960277572,-0.999600069099,-0.99959735329,-0.999594628292,-0.999591894107,-0.999589150734,-0.999586398172,-0.999583636423,-0.999580865485,-0.99957808536,-0.999575296047,-0.999572497546,-0.999569689857,-0.99956687298,-0.999564046915,-0.999561211663,-0.999558367223,-0.999555513595,-0.999552650779,-0.999549778776,-0.999546897585,-0.999544007207,-0.999541107641,-0.999538198887,-0.999535280946,-0.999532353817,-0.999529417501,-0.999526471997,-0.999523517306,-0.999520553428,-0.999517580362,-0.999514598109,-0.999511606668,-0.99950860604,-0.999505596225,-0.999502577223,-0.999499549033,-0.999496511657,-0.999493465093,-0.999490409342,-0.999487344404,-0.999484270278,-0.999481186966,-0.999478094467,-0.999474992781,-0.999471881907,-0.999468761847,-0.9994656326,-0.999462494166,-0.999459346546,-0.999456189738,-0.999453023744,-0.999449848562,-0.999446664195,-0.99944347064,-0.999440267899,-0.999437055971,-0.999433834857,-0.999430604555,-0.999427365068,-0.999424116394,-0.999420858533,-0.999417591486,-0.999414315253,-0.999411029833,-0.999407735226,-0.999404431434,-0.999401118455,-0.99939779629,-0.999394464938,-0.9993911244,-0.999387774676,-0.999384415766,-0.99938104767,-0.999377670388,-0.99937428392,-0.999370888265,-0.999367483425,-0.999364069399,-0.999360646186,-0.999357213788,-0.999353772204,-0.999350321434,-0.999346861478,-0.999343392337,-0.99933991401,-0.999336426497,-0.999332929798,-0.999329423914,-0.999325908844,-0.999322384588,-0.999318851147,-0.999315308521,-0.999311756709,-0.999308195711,-0.999304625528,-0.99930104616,-0.999297457606,-0.999293859867,-0.999290252943,-0.999286636833,-0.999283011538,-0.999279377058,-0.999275733393,-0.999272080543,-0.999268418507,-0.999264747287,-0.999261066881,-0.999257377291,-0.999253678515,-0.999249970555,-0.999246253409,-0.999242527079,-0.999238791564,-0.999235046865,-0.99923129298,-0.999227529911,-0.999223757657,-0.999219976218,-0.999216185595,-0.999212385787,-0.999208576795,-0.999204758618,-0.999200931257,-0.999197094711,-0.999193248981,-0.999189394067,-0.999185529968,-0.999181656685,-0.999177774217,-0.999173882566,-0.99916998173,-0.99916607171,-0.999162152506,-0.999158224118,-0.999154286545,-0.999150339789,-0.999146383849,-0.999142418725,-0.999138444417,-0.999134460925,-0.999130468249,-0.99912646639,-0.999122455346,-0.999118435119,-0.999114405709,-0.999110367114,-0.999106319336,-0.999102262375,-0.99909819623,-0.999094120901,-0.999090036389,-0.999085942694,-0.999081839815,-0.999077727753,-0.999073606507,-0.999069476078,-0.999065336466,-0.999061187671,-0.999057029693,-0.999052862532,-0.999048686187,-0.999044500659,-0.999040305949,-0.999036102055,-0.999031888979,-0.99902766672,-0.999023435277,-0.999019194652,-0.999014944845,-0.999010685854,-0.999006417681,-0.999002140325,-0.998997853787,-0.998993558066,-0.998989253162,-0.998984939076,-0.998980615807,-0.998976283356,-0.998971941723,-0.998967590908,-0.99896323091,-0.998958861729,-0.998954483367,-0.998950095822,-0.998945699096,-0.998941293187,-0.998936878096,-0.998932453823,-0.998928020368,-0.998923577731,-0.998919125913,-0.998914664912,-0.99891019473,-0.998905715366,-0.99890122682,-0.998896729092,-0.998892222183,-0.998887706093,-0.99888318082,-0.998878646366,-0.998874102731,-0.998869549914,-0.998864987916,-0.998860416737,-0.998855836376,-0.998851246834,-0.99884664811,-0.998842040206,-0.99883742312,-0.998832796854,-0.998828161406,-0.998823516777,-0.998818862967,-0.998814199976,-0.998809527805,-0.998804846452,-0.998800155919,-0.998795456205,-0.99879074731,-0.998786029235,-0.998781301979,-0.998776565542,-0.998771819925,-0.998767065128,-0.99876230115,-0.998757527991,-0.998752745652,-0.998747954133,-0.998743153434,-0.998738343554,-0.998733524494,-0.998728696254,-0.998723858834,-0.998719012234,-0.998714156454,-0.998709291494,-0.998704417353,-0.998699534034,-0.998694641534,-0.998689739854,-0.998684828995,-0.998679908956,-0.998674979737,-0.998670041339,-0.998665093761,-0.998660137004,-0.998655171067,-0.998650195951,-0.998645211655,-0.99864021818,-0.998635215526,-0.998630203693,-0.99862518268,-0.998620152488,-0.998615113117,-0.998610064567,-0.998605006838,-0.99859993993,-0.998594863843,-0.998589778578,-0.998584684133,-0.99857958051,-0.998574467708,-0.998569345727,-0.998564214568,-0.99855907423,-0.998553924713,-0.998548766018,-0.998543598145,-0.998538421093,-0.998533234863,-0.998528039454,-0.998522834868,-0.998517621103,-0.99851239816,-0.998507166038,-0.998501924739,-0.998496674262,-0.998491414606,-0.998486145773,-0.998480867762,-0.998475580573,-0.998470284207,-0.998464978662,-0.99845966394,-0.998454340041,-0.998449006963,-0.998443664708,-0.998438313276,-0.998432952667,-0.998427582879,-0.998422203915,-0.998416815773,-0.998411418454,-0.998406011958,-0.998400596285,-0.998395171435,-0.998389737407,-0.998384294203,-0.998378841822,-0.998373380264,-0.998367909529,-0.998362429617,-0.998356940528,-0.998351442263,-0.998345934821,-0.998340418203,-0.998334892408,-0.998329357436,-0.998323813289,-0.998318259964,-0.998312697464,-0.998307125787,-0.998301544934,-0.998295954905,-0.998290355699,-0.998284747318,-0.99827912976,-0.998273503027,-0.998267867118,-0.998262222032,-0.998256567771,-0.998250904335,-0.998245231722,-0.998239549934,-0.99823385897,-0.998228158831,-0.998222449516,-0.998216731026,-0.99821100336,-0.99820526652,-0.998199520503,-0.998193765312,-0.998188000945,-0.998182227403,-0.998176444686,-0.998170652795,-0.998164851728,-0.998159041486,-0.998153222069,-0.998147393478,-0.998141555712,-0.998135708771,-0.998129852655,-0.998123987365,-0.9981181129,-0.998112229261,-0.998106336447,-0.998100434459,-0.998094523297,-0.99808860296,-0.99808267345,-0.998076734765,-0.998070786905,-0.998064829872,-0.998058863665,-0.998052888284,-0.998046903729,-0.99804091,-0.998034907098,-0.998028895021,-0.998022873771,-0.998016843348,-0.998010803751,-0.99800475498,-0.997998697036,-0.997992629919,-0.997986553628,-0.997980468164,-0.997974373526,-0.997968269716,-0.997962156732,-0.997956034576,-0.997949903246,-0.997943762743,-0.997937613068,-0.99793145422,-0.997925286199,-0.997919109005,-0.997912922638,-0.997906727099,-0.997900522388,-0.997894308504,-0.997888085447,-0.997881853218,-0.997875611817,-0.997869361244,-0.997863101498,-0.99785683258,-0.99785055449,-0.997844267228,-0.997837970795,-0.997831665189,-0.997825350411,-0.997819026462,-0.99781269334,-0.997806351048,-0.997799999583,-0.997793638947,-0.99778726914,-0.997780890161,-0.99777450201,-0.997768104688,-0.997761698195,-0.997755282531,-0.997748857696,-0.997742423689,-0.997735980512,-0.997729528164,-0.997723066644,-0.997716595954,-0.997710116093,-0.997703627061,-0.997697128859,-0.997690621486,-0.997684104942,-0.997677579228,-0.997671044343,-0.997664500289,-0.997657947063,-0.997651384668,-0.997644813102,-0.997638232366,-0.99763164246,-0.997625043384,-0.997618435139,-0.997611817723,-0.997605191137,-0.997598555382,-0.997591910457,-0.997585256362,-0.997578593098,-0.997571920664,-0.99756523906,-0.997558548288,-0.997551848346,-0.997545139234,-0.997538420954,-0.997531693504,-0.997524956885,-0.997518211097,-0.99751145614,-0.997504692015,-0.99749791872,-0.997491136257,-0.997484344624,-0.997477543824,-0.997470733854,-0.997463914716,-0.99745708641,-0.997450248935,-0.997443402292,-0.997436546481,-0.997429681501,-0.997422807353,-0.997415924037,-0.997409031553,-0.997402129901,-0.997395219081,-0.997388299094,-0.997381369938,-0.997374431615,-0.997367484124,-0.997360527466,-0.99735356164,-0.997346586647,-0.997339602486,-0.997332609158,-0.997325606662,-0.997318595,-0.99731157417,-0.997304544173,-0.997297505009,-0.997290456679,-0.997283399181,-0.997276332517,-0.997269256685,-0.997262171688,-0.997255077523,-0.997247974192,-0.997240861694,-0.99723374003,-0.9972266092,-0.997219469204,-0.997212320041,-0.997205161712,-0.997197994217,-0.997190817555,-0.997183631728,-0.997176436735,-0.997169232576,-0.997162019252,-0.997154796762,-0.997147565106,-0.997140324284,-0.997133074297,-0.997125815145,-0.997118546827,-0.997111269344,-0.997103982696,-0.997096686882,-0.997089381903,-0.99708206776,-0.997074744451,-0.997067411978,-0.997060070339,-0.997052719536,-0.997045359569,-0.997037990436,-0.997030612139,-0.997023224678,-0.997015828052,-0.997008422262,-0.997001007307,-0.996993583189,-0.996986149906,-0.996978707459,-0.996971255848,-0.996963795073,-0.996956325134,-0.996948846031,-0.996941357765,-0.996933860335,-0.996926353741,-0.996918837984,-0.996911313064,-0.99690377898,-0.996896235732,-0.996888683322,-0.996881121748,-0.996873551011,-0.996865971111,-0.996858382048,-0.996850783822,-0.996843176434,-0.996835559882,-0.996827934168,-0.996820299291,-0.996812655252,-0.99680500205,-0.996797339686,-0.996789668159,-0.99678198747,-0.996774297619,-0.996766598606,-0.996758890431,-0.996751173094,-0.996743446594,-0.996735710933,-0.996727966111,-0.996720212126,-0.99671244898,-0.996704676672,-0.996696895203,-0.996689104572,-0.99668130478,-0.996673495827,-0.996665677712,-0.996657850437,-0.996650014,-0.996642168402,-0.996634313644,-0.996626449724,-0.996618576644,-0.996610694403,-0.996602803002,-0.99659490244,-0.996586992717,-0.996579073834,-0.996571145791,-0.996563208587,-0.996555262223,-0.996547306699,-0.996539342015,-0.996531368171,-0.996523385167,-0.996515393004,-0.99650739168,-0.996499381197,-0.996491361554,-0.996483332752,-0.99647529479,-0.996467247669,-0.996459191389,-0.996451125949,-0.99644305135,-0.996434967592,-0.996426874675,-0.996418772599,-0.996410661364,-0.996402540971,-0.996394411419,-0.996386272708,-0.996378124838,-0.99636996781,-0.996361801624,-0.996353626279,-0.996345441776,-0.996337248115,-0.996329045295,-0.996320833318,-0.996312612183,-0.99630438189,-0.996296142438,-0.99628789383,-0.996279636063,-0.996271369139,-0.996263093058,-0.996254807819,-0.996246513422,-0.996238209869,-0.996229897158,-0.99622157529,-0.996213244265,-0.996204904083,-0.996196554744,-0.996188196248,-0.996179828596,-0.996171451787,-0.996163065821,-0.996154670699,-0.99614626642,-0.996137852985,-0.996129430393,-0.996120998646,-0.996112557742,-0.996104107682,-0.996095648467,-0.996087180095,-0.996078702568,-0.996070215884,-0.996061720046,-0.996053215051,-0.996044700901,-0.996036177596,-0.996027645135,-0.996019103519,-0.996010552748,-0.996001992822,-0.99599342374,-0.995984845504,-0.995976258113,-0.995967661567,-0.995959055866,-0.995950441011,-0.995941817001,-0.995933183837,-0.995924541518,-0.995915890045,-0.995907229417,-0.995898559636,-0.9958898807,-0.995881192611,-0.995872495367,-0.99586378897,-0.995855073419,-0.995846348714,-0.995837614855,-0.995828871843,-0.995820119678,-0.995811358359,-0.995802587887,-0.995793808262,-0.995785019483,-0.995776221552,-0.995767414468,-0.99575859823,-0.99574977284,-0.995740938298,-0.995732094602,-0.995723241754,-0.995714379754,-0.995705508601,-0.995696628296,-0.995687738838,-0.995678840229,-0.995669932467,-0.995661015554,-0.995652089488,-0.995643154271,-0.995634209902,-0.995625256381,-0.995616293709,-0.995607321885,-0.99559834091,-0.995589350783,-0.995580351506,-0.995571343077,-0.995562325497,-0.995553298766,-0.995544262884,-0.995535217851,-0.995526163668,-0.995517100333,-0.995508027849,-0.995498946213,-0.995489855428,-0.995480755492,-0.995471646406,-0.995462528169,-0.995453400783,-0.995444264247,-0.99543511856,-0.995425963724,-0.995416799738,-0.995407626603,-0.995398444317,-0.995389252883,-0.995380052299,-0.995370842565,-0.995361623683,-0.995352395651,-0.99534315847,-0.99533391214,-0.995324656662,-0.995315392034,-0.995306118258,-0.995296835333,-0.99528754326,-0.995278242038,-0.995268931668,-0.995259612149,-0.995250283482,-0.995240945667,-0.995231598705,-0.995222242594,-0.995212877335,-0.995203502928,-0.995194119374,-0.995184726672,-0.995175324823,-0.995165913826,-0.995156493682,-0.99514706439,-0.995137625952,-0.995128178366,-0.995118721633,-0.995109255754,-0.995099780727,-0.995090296554,-0.995080803234,-0.995071300768,-0.995061789155,-0.995052268396,-0.99504273849,-0.995033199438,-0.99502365124,-0.995014093896,-0.995004527406,-0.99499495177,-0.994985366989,-0.994975773061,-0.994966169989,-0.99495655777,-0.994946936406,-0.994937305897,-0.994927666243,-0.994918017443,-0.994908359498,-0.994898692409,-0.994889016174,-0.994879330795,-0.994869636271,-0.994859932602,-0.994850219789,-0.994840497831,-0.994830766729,-0.994821026483,-0.994811277092,-0.994801518558,-0.994791750879,-0.994781974057,-0.99477218809,-0.99476239298,-0.994752588726,-0.994742775329,-0.994732952788,-0.994723121104,-0.994713280277,-0.994703430306,-0.994693571193,-0.994683702936,-0.994673825536,-0.994663938994,-0.994654043309,-0.994644138481,-0.994634224511,-0.994624301398,-0.994614369143,-0.994604427745,-0.994594477206,-0.994584517524,-0.9945745487,-0.994564570734,-0.994554583627,-0.994544587377,-0.994534581987,-0.994524567454,-0.99451454378,-0.994504510965,-0.994494469008,-0.994484417911,-0.994474357672,-0.994464288292,-0.994454209771,-0.99444412211,-0.994434025308,-0.994423919365,-0.994413804281,-0.994403680058,-0.994393546694,-0.994383404189,-0.994373252545,-0.99436309176,-0.994352921835,-0.994342742771,-0.994332554567,-0.994322357223,-0.994312150739,-0.994301935116,-0.994291710353,-0.994281476452,-0.994271233411,-0.99426098123,-0.994250719911,-0.994240449453,-0.994230169856,-0.994219881121,-0.994209583246,-0.994199276233,-0.994188960082,-0.994178634792,-0.994168300364,-0.994157956798,-0.994147604093,-0.994137242251,-0.994126871271,-0.994116491153,-0.994106101897,-0.994095703504,-0.994085295973,-0.994074879305,-0.994064453499,-0.994054018557,-0.994043574477,-0.99403312126,-0.994022658906,-0.994012187415,-0.994001706787,-0.993991217023,-0.993980718123,-0.993970210085,-0.993959692912,-0.993949166602,-0.993938631156,-0.993928086574,-0.993917532856,-0.993906970002,-0.993896398013,-0.993885816887,-0.993875226626,-0.99386462723,-0.993854018698,-0.993843401031,-0.993832774229,-0.993822138292,-0.993811493219,-0.993800839012,-0.99379017567,-0.993779503193,-0.993768821582,-0.993758130836,-0.993747430955,-0.993736721941,-0.993726003792,-0.993715276509,-0.993704540092,-0.993693794541,-0.993683039856,-0.993672276038,-0.993661503086,-0.993650721,-0.993639929781,-0.993629129429,-0.993618319943,-0.993607501325,-0.993596673573,-0.993585836688,-0.993574990671,-0.993564135521,-0.993553271238,-0.993542397822,-0.993531515275,-0.993520623595,-0.993509722782,-0.993498812838,-0.993487893761,-0.993476965553,-0.993466028213,-0.993455081741,-0.993444126137,-0.993433161402,-0.993422187535,-0.993411204537,-0.993400212408,-0.993389211148,-0.993378200757,-0.993367181235,-0.993356152582,-0.993345114798,-0.993334067884,-0.993323011839,-0.993311946664,-0.993300872358,-0.993289788922,-0.993278696356,-0.993267594661,-0.993256483835,-0.993245363879,-0.993234234794,-0.993223096579,-0.993211949235,-0.993200792761,-0.993189627158,-0.993178452426,-0.993167268564,-0.993156075574,-0.993144873455,-0.993133662207,-0.99312244183,-0.993111212325,-0.993099973692,-0.99308872593,-0.993077469039,-0.993066203021,-0.993054927875,-0.9930436436,-0.993032350198,-0.993021047668,-0.99300973601,-0.992998415225,-0.992987085312,-0.992975746273,-0.992964398105,-0.992953040811,-0.99294167439,-0.992930298842,-0.992918914167,-0.992907520365,-0.992896117437,-0.992884705382,-0.992873284201,-0.992861853893,-0.99285041446,-0.9928389659,-0.992827508215,-0.992816041403,-0.992804565466,-0.992793080403,-0.992781586215,-0.992770082901,-0.992758570462,-0.992747048897,-0.992735518208,-0.992723978393,-0.992712429454,-0.992700871389,-0.9926893042,-0.992677727887,-0.992666142449,-0.992654547887,-0.9926429442,-0.992631331389,-0.992619709454,-0.992608078395,-0.992596438213,-0.992584788906,-0.992573130476,-0.992561462923,-0.992549786246,-0.992538100446,-0.992526405522,-0.992514701476,-0.992502988306,-0.992491266014,-0.992479534599,-0.992467794061,-0.992456044401,-0.992444285618,-0.992432517713,-0.992420740685,-0.992408954536,-0.992397159264,-0.992385354871,-0.992373541356,-0.992361718719,-0.99234988696,-0.99233804608,-0.992326196079,-0.992314336957,-0.992302468713,-0.992290591348,-0.992278704863,-0.992266809256,-0.992254904529,-0.992242990681,-0.992231067713,-0.992219135625,-0.992207194416,-0.992195244087,-0.992183284638,-0.992171316069,-0.99215933838,-0.992147351571,-0.992135355643,-0.992123350596,-0.992111336428,-0.992099313142,-0.992087280737,-0.992075239212,-0.992063188569,-0.992051128806,-0.992039059925,-0.992026981926,-0.992014894808,-0.992002798571,-0.991990693216,-0.991978578744,-0.991966455153,-0.991954322444,-0.991942180617,-0.991930029672,-0.99191786961,-0.991905700431,-0.991893522134,-0.991881334719,-0.991869138188,-0.991856932539,-0.991844717774,-0.991832493892,-0.991820260893,-0.991808018777,-0.991795767545,-0.991783507197,-0.991771237732,-0.991758959152,-0.991746671455,-0.991734374642,-0.991722068713,-0.991709753669,-0.991697429509,-0.991685096234,-0.991672753843,-0.991660402337,-0.991648041716,-0.99163567198,-0.991623293129,-0.991610905163,-0.991598508083,-0.991586101888,-0.991573686579,-0.991561262155,-0.991548828617,-0.991536385965,-0.991523934199,-0.991511473319,-0.991499003325,-0.991486524218,-0.991474035997,-0.991461538662,-0.991449032215,-0.991436516654,-0.99142399198,-0.991411458193,-0.991398915294,-0.991386363281,-0.991373802156,-0.991361231919,-0.991348652569,-0.991336064107,-0.991323466532,-0.991310859846,-0.991298244048,-0.991285619138,-0.991272985116,-0.991260341983,-0.991247689738,-0.991235028382,-0.991222357915,-0.991209678336,-0.991196989647,-0.991184291847,-0.991171584936,-0.991158868914,-0.991146143782,-0.991133409539,-0.991120666186,-0.991107913723,-0.99109515215,-0.991082381467,-0.991069601674,-0.991056812772,-0.99104401476,-0.991031207638,-0.991018391407,-0.991005566067,-0.990992731618,-0.99097988806,-0.990967035392,-0.990954173617,-0.990941302732,-0.990928422739,-0.990915533638,-0.990902635428,-0.99088972811,-0.990876811684,-0.99086388615,-0.990850951508,-0.990838007759,-0.990825054902,-0.990812092938,-0.990799121866,-0.990786141687,-0.990773152401,-0.990760154008,-0.990747146508,-0.990734129902,-0.990721104188,-0.990708069369,-0.990695025443,-0.99068197241,-0.990668910272,-0.990655839027,-0.990642758677,-0.990629669221,-0.990616570659,-0.990603462992,-0.990590346219,-0.990577220341,-0.990564085358,-0.990550941269,-0.990537788076,-0.990524625778,-0.990511454375,-0.990498273868,-0.990485084256,-0.99047188554,-0.99045867772,-0.990445460796,-0.990432234768,-0.990418999635,-0.9904057554,-0.99039250206,-0.990379239617,-0.990365968071,-0.990352687421,-0.990339397669,-0.990326098813,-0.990312790855,-0.990299473793,-0.99028614763,-0.990272812363,-0.990259467994,-0.990246114523,-0.99023275195,-0.990219380275,-0.990205999498,-0.99019260962,-0.990179210639,-0.990165802557,-0.990152385374,-0.990138959089,-0.990125523704,-0.990112079217,-0.990098625629,-0.990085162941,-0.990071691152,-0.990058210262,-0.990044720272,-0.990031221182,-0.990017712992,-0.990004195701,-0.989990669311,-0.989977133821,-0.989963589231,-0.989950035542,-0.989936472753,-0.989922900865,-0.989909319878,-0.989895729791,-0.989882130606,-0.989868522322,-0.98985490494,-0.989841278459,-0.989827642879,-0.989813998202,-0.989800344426,-0.989786681552,-0.98977300958,-0.98975932851,-0.989745638343,-0.989731939078,-0.989718230716,-0.989704513256,-0.989690786699,-0.989677051046,-0.989663306295,-0.989649552448,-0.989635789504,-0.989622017463,-0.989608236326,-0.989594446093,-0.989580646764,-0.989566838338,-0.989553020817,-0.9895391942,-0.989525358487,-0.989511513679,-0.989497659776,-0.989483796777,-0.989469924683,-0.989456043494,-0.989442153211,-0.989428253832,-0.989414345359,-0.989400427791,-0.989386501129,-0.989372565373,-0.989358620523,-0.989344666579,-0.989330703541,-0.989316731409,-0.989302750183,-0.989288759865,-0.989274760452,-0.989260751947,-0.989246734349,-0.989232707657,-0.989218671873,-0.989204626996,-0.989190573027,-0.989176509965,-0.989162437811,-0.989148356564,-0.989134266226,-0.989120166796,-0.989106058273,-0.98909194066,-0.989077813955,-0.989063678158,-0.98904953327,-0.989035379291,-0.989021216221,-0.98900704406,-0.988992862808,-0.988978672466,-0.988964473033,-0.98895026451,-0.988936046897,-0.988921820194,-0.9889075844,-0.988893339517,-0.988879085544,-0.988864822482,-0.98885055033,-0.988836269089,-0.988821978758,-0.988807679339,-0.988793370831,-0.988779053234,-0.988764726548,-0.988750390774,-0.988736045911,-0.98872169196,-0.988707328921,-0.988692956794,-0.98867857558,-0.988664185277,-0.988649785887,-0.988635377409,-0.988620959844,-0.988606533192,-0.988592097453,-0.988577652627,-0.988563198714,-0.988548735715,-0.988534263629,-0.988519782456,-0.988505292198,-0.988490792853,-0.988476284422,-0.988461766905,-0.988447240303,-0.988432704615,-0.988418159841,-0.988403605982,-0.988389043038,-0.988374471009,-0.988359889895,-0.988345299697,-0.988330700413,-0.988316092045,-0.988301474593,-0.988286848056,-0.988272212435,-0.988257567731,-0.988242913942,-0.98822825107,-0.988213579114,-0.988198898075,-0.988184207952,-0.988169508746,-0.988154800457,-0.988140083086,-0.988125356631,-0.988110621094,-0.988095876474,-0.988081122772,-0.988066359988,-0.988051588122,-0.988036807173,-0.988022017143,-0.988007218031,-0.987992409838,-0.987977592563,-0.987962766207,-0.98794793077,-0.987933086252,-0.987918232653,-0.987903369973,-0.987888498213,-0.987873617372,-0.987858727451,-0.987843828449,-0.987828920368,-0.987814003206,-0.987799076965,-0.987784141645,-0.987769197244,-0.987754243765,-0.987739281206,-0.987724309568,-0.987709328851,-0.987694339055,-0.987679340181,-0.987664332228,-0.987649315197,-0.987634289087,-0.9876192539,-0.987604209634,-0.987589156291,-0.987574093869,-0.987559022371,-0.987543941794,-0.987528852141,-0.98751375341,-0.987498645603,-0.987483528718,-0.987468402757,-0.987453267719,-0.987438123605,-0.987422970414,-0.987407808147,-0.987392636804,-0.987377456385,-0.987362266891,-0.987347068321,-0.987331860675,-0.987316643954,-0.987301418158,-0.987286183287,-0.98727093934,-0.987255686319,-0.987240424224,-0.987225153054,-0.987209872809,-0.987194583491,-0.987179285098,-0.987163977631,-0.987148661091,-0.987133335477,-0.987118000789,-0.987102657028,-0.987087304193,-0.987071942286,-0.987056571306,-0.987041191253,-0.987025802127,-0.987010403928,-0.986994996658,-0.986979580315,-0.9869641549,-0.986948720413,-0.986933276854,-0.986917824223,-0.986902362521,-0.986886891748,-0.986871411903,-0.986855922987,-0.986840425,-0.986824917943,-0.986809401814,-0.986793876615,-0.986778342346,-0.986762799007,-0.986747246597,-0.986731685117,-0.986716114568,-0.986700534949,-0.98668494626,-0.986669348502,-0.986653741675,-0.986638125778,-0.986622500813,-0.986606866779,-0.986591223676,-0.986575571505,-0.986559910265,-0.986544239957,-0.986528560581,-0.986512872136,-0.986497174625,-0.986481468045,-0.986465752398,-0.986450027683,-0.986434293902,-0.986418551053,-0.986402799137,-0.986387038154,-0.986371268105,-0.986355488989,-0.986339700807,-0.986323903559,-0.986308097245,-0.986292281864,-0.986276457418,-0.986260623906,-0.986244781329,-0.986228929686,-0.986213068979,-0.986197199206,-0.986181320368,-0.986165432465,-0.986149535498,-0.986133629467,-0.986117714371,-0.98610179021,-0.986085856986,-0.986069914698,-0.986053963346,-0.986038002931,-0.986022033452,-0.98600605491,-0.985990067304,-0.985974070636,-0.985958064905,-0.985942050111,-0.985926026254,-0.985909993335,-0.985893951354,-0.985877900311,-0.985861840206,-0.985845771038,-0.98582969281,-0.985813605519,-0.985797509168,-0.985781403755,-0.985765289281,-0.985749165746,-0.98573303315,-0.985716891493,-0.985700740776,-0.985684580999,-0.985668412162,-0.985652234264,-0.985636047307,-0.985619851289,-0.985603646213,-0.985587432076,-0.985571208881,-0.985554976626,-0.985538735312,-0.98552248494,-0.985506225508,-0.985489957018,-0.98547367947,-0.985457392864,-0.985441097199,-0.985424792476,-0.985408478696,-0.985392155858,-0.985375823962,-0.985359483009,-0.985343132999,-0.985326773932,-0.985310405807,-0.985294028626,-0.985277642389,-0.985261247095,-0.985244842745,-0.985228429338,-0.985212006876,-0.985195575357,-0.985179134783,-0.985162685154,-0.985146226469,-0.985129758728,-0.985113281933,-0.985096796083,-0.985080301178,-0.985063797218,-0.985047284204,-0.985030762135,-0.985014231012,-0.984997690835,-0.984981141605,-0.98496458332,-0.984948015982,-0.984931439591,-0.984914854146,-0.984898259648,-0.984881656097,-0.984865043494,-0.984848421837,-0.984831791128,-0.984815151367,-0.984798502554,-0.984781844688,-0.984765177771,-0.984748501802,-0.984731816781,-0.984715122709,-0.984698419586,-0.984681707411,-0.984664986185,-0.984648255909,-0.984631516582,-0.984614768204,-0.984598010776,-0.984581244298,-0.98456446877,-0.984547684192,-0.984530890564,-0.984514087886,-0.984497276159,-0.984480455383,-0.984463625558,-0.984446786684,-0.98442993876,-0.984413081789,-0.984396215768,-0.984379340699,-0.984362456583,-0.984345563418,-0.984328661205,-0.984311749944,-0.984294829636,-0.98427790028,-0.984260961878,-0.984244014428,-0.984227057931,-0.984210092387,-0.984193117797,-0.98417613416,-0.984159141476,-0.984142139747,-0.984125128972,-0.98410810915,-0.984091080283,-0.984074042371,-0.984056995413,-0.98403993941,-0.984022874361,-0.984005800268,-0.98398871713,-0.983971624948,-0.983954523721,-0.983937413449,-0.983920294134,-0.983903165774,-0.983886028371,-0.983868881924,-0.983851726434,-0.9838345619,-0.983817388323,-0.983800205703,-0.98378301404,-0.983765813334,-0.983748603586,-0.983731384795,-0.983714156962,-0.983696920087,-0.98367967417,-0.983662419212,-0.983645155211,-0.98362788217,-0.983610600087,-0.983593308962,-0.983576008797,-0.983558699591,-0.983541381345,-0.983524054058,-0.98350671773,-0.983489372362,-0.983472017955,-0.983454654507,-0.98343728202,-0.983419900493,-0.983402509927,-0.983385110322,-0.983367701677,-0.983350283994,-0.983332857272,-0.983315421511,-0.983297976712,-0.983280522874,-0.983263059999,-0.983245588085,-0.983228107134,-0.983210617145,-0.983193118119,-0.983175610055,-0.983158092955,-0.983140566817,-0.983123031642,-0.983105487431,-0.983087934184,-0.983070371899,-0.983052800579,-0.983035220223,-0.983017630831,-0.983000032403,-0.98298242494,-0.982964808441,-0.982947182908,-0.982929548339,-0.982911904735,-0.982894252096,-0.982876590423,-0.982858919716,-0.982841239974,-0.982823551199,-0.982805853389,-0.982788146546,-0.982770430669,-0.982752705758,-0.982734971815,-0.982717228838,-0.982699476829,-0.982681715786,-0.982663945711,-0.982646166604,-0.982628378464,-0.982610581292,-0.982592775089,-0.982574959853,-0.982557135586,-0.982539302287,-0.982521459958,-0.982503608597,-0.982485748205,-0.982467878782,-0.982450000328,-0.982432112845,-0.98241421633,-0.982396310786,-0.982378396212,-0.982360472608,-0.982342539974,-0.982324598311,-0.982306647618,-0.982288687896,-0.982270719146,-0.982252741366,-0.982234754558,-0.982216758721,-0.982198753856,-0.982180739963,-0.982162717042,-0.982144685093,-0.982126644117,-0.982108594113,-0.982090535081,-0.982072467022,-0.982054389937,-0.982036303824,-0.982018208685,-0.98200010452,-0.981981991328,-0.98196386911,-0.981945737865,-0.981927597595,-0.9819094483,-0.981891289979,-0.981873122632,-0.981854946261,-0.981836760864,-0.981818566443,-0.981800362996,-0.981782150526,-0.981763929031,-0.981745698512,-0.981727458969,-0.981709210402,-0.981690952811,-0.981672686197,-0.98165441056,-0.981636125899,-0.981617832215,-0.981599529509,-0.98158121778,-0.981562897028,-0.981544567255,-0.981526228459,-0.981507880641,-0.981489523801,-0.98147115794,-0.981452783057,-0.981434399152,-0.981416006227,-0.981397604281,-0.981379193314,-0.981360773326,-0.981342344318,-0.981323906289,-0.981305459241,-0.981287003172,-0.981268538084,-0.981250063976,-0.981231580849,-0.981213088702,-0.981194587536,-0.981176077352,-0.981157558148,-0.981139029926,-0.981120492686,-0.981101946427,-0.98108339115,-0.981064826856,-0.981046253543,-0.981027671213,-0.981009079866,-0.980990479502,-0.98097187012,-0.980953251721,-0.980934624306,-0.980915987874,-0.980897342426,-0.980878687962,-0.980860024482,-0.980841351985,-0.980822670473,-0.980803979946,-0.980785280403,-0.980766571845,-0.980747854272,-0.980729127685,-0.980710392082,-0.980691647465,-0.980672893834,-0.980654131189,-0.98063535953,-0.980616578857,-0.98059778917,-0.98057899047,-0.980560182756,-0.98054136603,-0.98052254029,-0.980503705538,-0.980484861773,-0.980466008996,-0.980447147207,-0.980428276405,-0.980409396592,-0.980390507767,-0.98037160993,-0.980352703082,-0.980333787223,-0.980314862353,-0.980295928472,-0.98027698558,-0.980258033678,-0.980239072766,-0.980220102843,-0.980201123911,-0.980182135968,-0.980163139016,-0.980144133055,-0.980125118084,-0.980106094104,-0.980087061115,-0.980068019118,-0.980048968112,-0.980029908097,-0.980010839074,-0.979991761043,-0.979972674005,-0.979953577958,-0.979934472905,-0.979915358843,-0.979896235775,-0.9798771037,-0.979857962617,-0.979838812528,-0.979819653433,-0.979800485331,-0.979781308224,-0.97976212211,-0.979742926991,-0.979723722866,-0.979704509735,-0.979685287599,-0.979666056459,-0.979646816313,-0.979627567163,-0.979608309008,-0.979589041849,-0.979569765685,-0.979550480518,-0.979531186347,-0.979511883172,-0.979492570994,-0.979473249812,-0.979453919628,-0.97943458044,-0.97941523225,-0.979395875057,-0.979376508861,-0.979357133664,-0.979337749464,-0.979318356263,-0.97929895406,-0.979279542855,-0.979260122649,-0.979240693442,-0.979221255234,-0.979201808025,-0.979182351816,-0.979162886606,-0.979143412395,-0.979123929185,-0.979104436975,-0.979084935765,-0.979065425556,-0.979045906347,-0.979026378139,-0.979006840932,-0.978987294726,-0.978967739522,-0.978948175319,-0.978928602118,-0.978909019919,-0.978889428721,-0.978869828527,-0.978850219334,-0.978830601144,-0.978810973957,-0.978791337773,-0.978771692592,-0.978752038415,-0.978732375241,-0.97871270307,-0.978693021904,-0.978673331741,-0.978653632583,-0.978633924429,-0.97861420728,-0.978594481136,-0.978574745997,-0.978555001862,-0.978535248733,-0.97851548661,-0.978495715492,-0.978475935381,-0.978456146275,-0.978436348175,-0.978416541082,-0.978396724996,-0.978376899916,-0.978357065843,-0.978337222778,-0.97831737072,-0.978297509669,-0.978277639626,-0.978257760591,-0.978237872564,-0.978217975545,-0.978198069534,-0.978178154533,-0.97815823054,-0.978138297556,-0.978118355581,-0.978098404615,-0.978078444659,-0.978058475713,-0.978038497777,-0.978018510851,-0.977998514935,-0.977978510029,-0.977958496134,-0.97793847325,-0.977918441377,-0.977898400515,-0.977878350664,-0.977858291825,-0.977838223998,-0.977818147183,-0.977798061379,-0.977777966588,-0.97775786281,-0.977737750044,-0.977717628291,-0.977697497551,-0.977677357825,-0.977657209111,-0.977637051411,-0.977616884725,-0.977596709053,-0.977576524396,-0.977556330752,-0.977536128123,-0.977515916509,-0.977495695909,-0.977475466325,-0.977455227756,-0.977434980202,-0.977414723664,-0.977394458142,-0.977374183635,-0.977353900145,-0.977333607671,-0.977313306214,-0.977292995774,-0.977272676351,-0.977252347944,-0.977232010555,-0.977211664184,-0.97719130883,-0.977170944494,-0.977150571176,-0.977130188876,-0.977109797595,-0.977089397332,-0.977068988088,-0.977048569863,-0.977028142658,-0.977007706471,-0.976987261305,-0.976966807158,-0.976946344031,-0.976925871924,-0.976905390837,-0.976884900771,-0.976864401725,-0.976843893701,-0.976823376697,-0.976802850715,-0.976782315754,-0.976761771815,-0.976741218897,-0.976720657002,-0.976700086129,-0.976679506278,-0.97665891745,-0.976638319644,-0.976617712862,-0.976597097102,-0.976576472366,-0.976555838653,-0.976535195965,-0.9765145443,-0.976493883659,-0.976473214042,-0.97645253545,-0.976431847883,-0.97641115134,-0.976390445822,-0.97636973133,-0.976349007863,-0.976328275422,-0.976307534006,-0.976286783617,-0.976266024253,-0.976245255916,-0.976224478606,-0.976203692322,-0.976182897066,-0.976162092836,-0.976141279634,-0.976120457459,-0.976099626312,-0.976078786193,-0.976057937102,-0.976037079039,-0.976016212005,-0.975995335999,-0.975974451022,-0.975953557075,-0.975932654156,-0.975911742267,-0.975890821408,-0.975869891578,-0.975848952779,-0.975828005009,-0.975807048271,-0.975786082562,-0.975765107885,-0.975744124238,-0.975723131623,-0.975702130039,-0.975681119486,-0.975660099965,-0.975639071476,-0.97561803402,-0.975596987595,-0.975575932204,-0.975554867844,-0.975533794518,-0.975512712225,-0.975491620965,-0.975470520739,-0.975449411546,-0.975428293388,-0.975407166263,-0.975386030173,-0.975364885117,-0.975343731095,-0.975322568109,-0.975301396158,-0.975280215241,-0.975259025361,-0.975237826516,-0.975216618706,-0.975195401933,-0.975174176196,-0.975152941495,-0.975131697831,-0.975110445204,-0.975089183614,-0.975067913061,-0.975046633545,-0.975025345067,-0.975004047627,-0.974982741224,-0.97496142586,-0.974940101534,-0.974918768247,-0.974897425999,-0.974876074789,-0.974854714619,-0.974833345488,-0.974811967396,-0.974790580344,-0.974769184333,-0.974747779361,-0.974726365429,-0.974704942539,-0.974683510689,-0.974662069879,-0.974640620111,-0.974619161384,-0.974597693699,-0.974576217056,-0.974554731454,-0.974533236894,-0.974511733377,-0.974490220902,-0.97446869947,-0.974447169081,-0.974425629735,-0.974404081432,-0.974382524173,-0.974360957957,-0.974339382786,-0.974317798658,-0.974296205575,-0.974274603536,-0.974252992541,-0.974231372592,-0.974209743688,-0.974188105829,-0.974166459015,-0.974144803247,-0.974123138525,-0.97410146485,-0.97407978222,-0.974058090637,-0.9740363901,-0.974014680611,-0.973992962168,-0.973971234773,-0.973949498425,-0.973927753125,-0.973905998872,-0.973884235668,-0.973862463512,-0.973840682405,-0.973818892346,-0.973797093336,-0.973775285375,-0.973753468463,-0.973731642601,-0.973709807788,-0.973687964026,-0.973666111313,-0.973644249651,-0.973622379039,-0.973600499478,-0.973578610967,-0.973556713508,-0.9735348071,-0.973512891744,-0.973490967439,-0.973469034186,-0.973447091985,-0.973425140837,-0.973403180741,-0.973381211697,-0.973359233707,-0.973337246769,-0.973315250885,-0.973293246055,-0.973271232278,-0.973249209555,-0.973227177886,-0.973205137271,-0.973183087711,-0.973161029206,-0.973138961755,-0.97311688536,-0.97309480002,-0.973072705735,-0.973050602507,-0.973028490334,-0.973006369217,-0.972984239157,-0.972962100153,-0.972939952206,-0.972917795315,-0.972895629482,-0.972873454707,-0.972851270989,-0.972829078328,-0.972806876726,-0.972784666182,-0.972762446696,-0.972740218268,-0.9727179809,-0.97269573459,-0.97267347934,-0.972651215149,-0.972628942018,-0.972606659946,-0.972584368935,-0.972562068983,-0.972539760093,-0.972517442262,-0.972495115493,-0.972472779784,-0.972450435137,-0.972428081552,-0.972405719027,-0.972383347565,-0.972360967165,-0.972338577827,-0.972316179552,-0.972293772339,-0.972271356189,-0.972248931102,-0.972226497079,-0.972204054119,-0.972181602223,-0.97215914139,-0.972136671622,-0.972114192918,-0.972091705279,-0.972069208704,-0.972046703195,-0.97202418875,-0.972001665371,-0.971979133057,-0.97195659181,-0.971934041628,-0.971911482512,-0.971888914463,-0.97186633748,-0.971843751564,-0.971821156716,-0.971798552934,-0.97177594022,-0.971753318574,-0.971730687995,-0.971708048484,-0.971685400042,-0.971662742668,-0.971640076363,-0.971617401127,-0.97159471696,-0.971572023862,-0.971549321833,-0.971526610875,-0.971503890986,-0.971481162168,-0.97145842442,-0.971435677742,-0.971412922135,-0.971390157599,-0.971367384135,-0.971344601741,-0.97132181042,-0.97129901017,-0.971276200992,-0.971253382887,-0.971230555853,-0.971207719893,-0.971184875005,-0.971162021191,-0.97113915845,-0.971116286782,-0.971093406188,-0.971070516668,-0.971047618222,-0.97102471085,-0.971001794553,-0.970978869331,-0.970955935184,-0.970932992111,-0.970910040115,-0.970887079193,-0.970864109348,-0.970841130579,-0.970818142886,-0.970795146269,-0.970772140729,-0.970749126266,-0.97072610288,-0.970703070571,-0.97068002934,-0.970656979186,-0.970633920111,-0.970610852113,-0.970587775194,-0.970564689354,-0.970541594592,-0.970518490909,-0.970495378306,-0.970472256781,-0.970449126337,-0.970425986972,-0.970402838688,-0.970379681483,-0.970356515359,-0.970333340316,-0.970310156354,-0.970286963473,-0.970263761673,-0.970240550955,-0.970217331318,-0.970194102763,-0.970170865291,-0.970147618901,-0.970124363594,-0.970101099369,-0.970077826228,-0.970054544169,-0.970031253195,-0.970007953303,-0.969984644496,-0.969961326773,-0.969938000134,-0.96991466458,-0.969891320111,-0.969867966726,-0.969844604427,-0.969821233213,-0.969797853084,-0.969774464042,-0.969751066085,-0.969727659215,-0.969704243431,-0.969680818734,-0.969657385124,-0.969633942601,-0.969610491166,-0.969587030817,-0.969563561557,-0.969540083385,-0.9695165963,-0.969493100305,-0.969469595397,-0.969446081579,-0.96942255885,-0.96939902721,-0.969375486659,-0.969351937199,-0.969328378828,-0.969304811547,-0.969281235357,-0.969257650257,-0.969234056248,-0.96921045333,-0.969186841503,-0.969163220768,-0.969139591124,-0.969115952572,-0.969092305113,-0.969068648745,-0.96904498347,-0.969021309288,-0.968997626199,-0.968973934203,-0.9689502333,-0.968926523492,-0.968902804776,-0.968879077155,-0.968855340629,-0.968831595196,-0.968807840859,-0.968784077616,-0.968760305469,-0.968736524416,-0.96871273446,-0.968688935599,-0.968665127834,-0.968641311166,-0.968617485594,-0.968593651118,-0.96856980774,-0.968545955458,-0.968522094274,-0.968498224188,-0.968474345199,-0.968450457308,-0.968426560516,-0.968402654822,-0.968378740226,-0.96835481673,-0.968330884332,-0.968306943034,-0.968282992836,-0.968259033737,-0.968235065738,-0.968211088839,-0.968187103041,-0.968163108343,-0.968139104746,-0.968115092251,-0.968091070856,-0.968067040563,-0.968043001372,-0.968018953283,-0.967994896296,-0.967970830411,-0.967946755629,-0.96792267195,-0.967898579374,-0.967874477901,-0.967850367531,-0.967826248266,-0.967802120104,-0.967777983047,-0.967753837093,-0.967729682245,-0.967705518501,-0.967681345863,-0.967657164329,-0.967632973902,-0.967608774579,-0.967584566363,-0.967560349253,-0.96753612325,-0.967511888353,-0.967487644563,-0.96746339188,-0.967439130304,-0.967414859835,-0.967390580475,-0.967366292222,-0.967341995078,-0.967317689042,-0.967293374114,-0.967269050296,-0.967244717586,-0.967220375986,-0.967196025496,-0.967171666115,-0.967147297844,-0.967122920683,-0.967098534633,-0.967074139693,-0.967049735864,-0.967025323146,-0.96700090154,-0.966976471045,-0.966952031662,-0.966927583391,-0.966903126232,-0.966878660185,-0.966854185251,-0.96682970143,-0.966805208722,-0.966780707128,-0.966756196647,-0.966731677279,-0.966707149026,-0.966682611887,-0.966658065863,-0.966633510953,-0.966608947158,-0.966584374478,-0.966559792914,-0.966535202465,-0.966510603132,-0.966485994915,-0.966461377814,-0.96643675183,-0.966412116963,-0.966387473212,-0.966362820579,-0.966338159063,-0.966313488665,-0.966288809384,-0.966264121222,-0.966239424178,-0.966214718252,-0.966190003445,-0.966165279758,-0.966140547189,-0.96611580574,-0.96609105541,-0.966066296201,-0.966041528111,-0.966016751142,-0.965991965294,-0.965967170566,-0.965942366959,-0.965917554474,-0.96589273311,-0.965867902868,-0.965843063748,-0.96581821575,-0.965793358874,-0.965768493121,-0.965743618491,-0.965718734984,-0.9656938426,-0.96566894134,-0.965644031204,-0.965619112191,-0.965594184303,-0.965569247539,-0.9655443019,-0.965519347386,-0.965494383997,-0.965469411734,-0.965444430596,-0.965419440584,-0.965394441698,-0.965369433938,-0.965344417305,-0.965319391798,-0.965294357419,-0.965269314167,-0.965244262042,-0.965219201045,-0.965194131176,-0.965169052435,-0.965143964822,-0.965118868338,-0.965093762983,-0.965068648757,-0.96504352566,-0.965018393692,-0.964993252855,-0.964968103147,-0.96494294457,-0.964917777123,-0.964892600807,-0.964867415622,-0.964842221567,-0.964817018645,-0.964791806853,-0.964766586194,-0.964741356667,-0.964716118272,-0.964690871009,-0.96466561488,-0.964640349883,-0.96461507602,-0.96458979329,-0.964564501694,-0.964539201231,-0.964513891903,-0.964488573709,-0.96446324665,-0.964437910726,-0.964412565937,-0.964387212283,-0.964361849765,-0.964336478382,-0.964311098136,-0.964285709025,-0.964260311052,-0.964234904215,-0.964209488515,-0.964184063952,-0.964158630526,-0.964133188239,-0.964107737089,-0.964082277077,-0.964056808204,-0.964031330469,-0.964005843873,-0.963980348416,-0.963954844098,-0.96392933092,-0.963903808882,-0.963878277984,-0.963852738226,-0.963827189608,-0.963801632131,-0.963776065795,-0.963750490601,-0.963724906547,-0.963699313636,-0.963673711866,-0.963648101238,-0.963622481753,-0.96359685341,-0.96357121621,-0.963545570153,-0.96351991524,-0.96349425147,-0.963468578844,-0.963442897361,-0.963417207023,-0.96339150783,-0.963365799781,-0.963340082877,-0.963314357118,-0.963288622505,-0.963262879038,-0.963237126716,-0.96321136554,-0.963185595511,-0.963159816628,-0.963134028893,-0.963108232304,-0.963082426863,-0.963056612569,-0.963030789423,-0.963004957425,-0.962979116575,-0.962953266874,-0.962927408321,-0.962901540918,-0.962875664663,-0.962849779559,-0.962823885603,-0.962797982798,-0.962772071143,-0.962746150638,-0.962720221284,-0.962694283081,-0.962668336029,-0.962642380129,-0.96261641538,-0.962590441782,-0.962564459337,-0.962538468044,-0.962512467904,-0.962486458917,-0.962460441082,-0.962434414401,-0.962408378873,-0.962382334499,-0.962356281279,-0.962330219214,-0.962304148302,-0.962278068546,-0.962251979944,-0.962225882498,-0.962199776207,-0.962173661072,-0.962147537092,-0.962121404269,-0.962095262602,-0.962069112092,-0.962042952739,-0.962016784542,-0.961990607503,-0.961964421622,-0.961938226899,-0.961912023333,-0.961885810926,-0.961859589677,-0.961833359588,-0.961807120657,-0.961780872885,-0.961754616274,-0.961728350821,-0.961702076529,-0.961675793397,-0.961649501426,-0.961623200615,-0.961596890965,-0.961570572477,-0.96154424515,-0.961517908984,-0.961491563981,-0.961465210139,-0.96143884746,-0.961412475944,-0.961386095591,-0.961359706401,-0.961333308374,-0.961306901511,-0.961280485811,-0.961254061276,-0.961227627905,-0.961201185699,-0.961174734658,-0.961148274781,-0.96112180607,-0.961095328525,-0.961068842146,-0.961042346932,-0.961015842885,-0.960989330004,-0.96096280829,-0.960936277743,-0.960909738364,-0.960883190152,-0.960856633108,-0.960830067231,-0.960803492523,-0.960776908984,-0.960750316613,-0.960723715411,-0.960697105379,-0.960670486516,-0.960643858823,-0.960617222299,-0.960590576946,-0.960563922763,-0.960537259752,-0.96051058791,-0.960483907241,-0.960457217742,-0.960430519416,-0.960403812261,-0.960377096278,-0.960350371468,-0.96032363783,-0.960296895366,-0.960270144074,-0.960243383956,-0.960216615012,-0.960189837241,-0.960163050645,-0.960136255223,-0.960109450976,-0.960082637903,-0.960055816006,-0.960028985284,-0.960002145738,-0.959975297367,-0.959948440173,-0.959921574155,-0.959894699313,-0.959867815649,-0.959840923161,-0.959814021851,-0.959787111719,-0.959760192764,-0.959733264988,-0.959706328389,-0.95967938297,-0.959652428729,-0.959625465667,-0.959598493785,-0.959571513082,-0.959544523559,-0.959517525216,-0.959490518053,-0.959463502071,-0.95943647727,-0.95940944365,-0.959382401211,-0.959355349954,-0.959328289878,-0.959301220985,-0.959274143274,-0.959247056745,-0.9592199614,-0.959192857237,-0.959165744258,-0.959138622462,-0.95911149185,-0.959084352422,-0.959057204178,-0.959030047119,-0.959002881245,-0.958975706556,-0.958948523052,-0.958921330733,-0.958894129601,-0.958866919654,-0.958839700894,-0.95881247332,-0.958785236933,-0.958757991733,-0.958730737721,-0.958703474896,-0.958676203259,-0.95864892281,-0.958621633549,-0.958594335476,-0.958567028593,-0.958539712899,-0.958512388394,-0.958485055078,-0.958457712952,-0.958430362017,-0.958403002271,-0.958375633716,-0.958348256352,-0.95832087018,-0.958293475198,-0.958266071408,-0.95823865881,-0.958211237404,-0.95818380719,-0.958156368169,-0.95812892034,-0.958101463705,-0.958073998263,-0.958046524015,-0.95801904096,-0.9579915491,-0.957964048434,-0.957936538962,-0.957909020686,-0.957881493604,-0.957853957718,-0.957826413028,-0.957798859533,-0.957771297234,-0.957743726132,-0.957716146227,-0.957688557518,-0.957660960006,-0.957633353692,-0.957605738576,-0.957578114657,-0.957550481937,-0.957522840414,-0.957495190091,-0.957467530967,-0.957439863041,-0.957412186315,-0.957384500789,-0.957356806463,-0.957329103336,-0.957301391411,-0.957273670686,-0.957245941162,-0.957218202839,-0.957190455717,-0.957162699798,-0.95713493508,-0.957107161564,-0.957079379251,-0.957051588141,-0.957023788234,-0.95699597953,-0.956968162029,-0.956940335732,-0.956912500639,-0.956884656751,-0.956856804067,-0.956828942588,-0.956801072313,-0.956773193244,-0.956745305381,-0.956717408723,-0.956689503272,-0.956661589027,-0.956633665988,-0.956605734156,-0.956577793531,-0.956549844114,-0.956521885904,-0.956493918902,-0.956465943109,-0.956437958523,-0.956409965146,-0.956381962978,-0.95635395202,-0.95632593227,-0.95629790373,-0.956269866401,-0.956241820281,-0.956213765372,-0.956185701673,-0.956157629186,-0.956129547909,-0.956101457844,-0.956073358991,-0.95604525135,-0.956017134921,-0.955989009705,-0.955960875701,-0.95593273291,-0.955904581333,-0.955876420969,-0.955848251819,-0.955820073883,-0.955791887161,-0.955763691654,-0.955735487361,-0.955707274284,-0.955679052422,-0.955650821776,-0.955622582345,-0.955594334131,-0.955566077133,-0.955537811351,-0.955509536787,-0.95548125344,-0.95545296131,-0.955424660398,-0.955396350703,-0.955368032227,-0.95533970497,-0.955311368931,-0.955283024111,-0.955254670511,-0.955226308129,-0.955197936968,-0.955169557027,-0.955141168306,-0.955112770805,-0.955084364526,-0.955055949467,-0.95502752563,-0.954999093014,-0.95497065162,-0.954942201448,-0.954913742499,-0.954885274772,-0.954856798269,-0.954828312988,-0.954799818931,-0.954771316097,-0.954742804488,-0.954714284102,-0.954685754941,-0.954657217005,-0.954628670294,-0.954600114808,-0.954571550548,-0.954542977513,-0.954514395704,-0.954485805122,-0.954457205767,-0.954428597638,-0.954399980736,-0.954371355061,-0.954342720615,-0.954314077396,-0.954285425405,-0.954256764643,-0.954228095109,-0.954199416804,-0.954170729729,-0.954142033883,-0.954113329267,-0.95408461588,-0.954055893724,-0.954027162799,-0.953998423104,-0.95396967464,-0.953940917408,-0.953912151407,-0.953883376638,-0.953854593101,-0.953825800797,-0.953796999725,-0.953768189886,-0.95373937128,-0.953710543908,-0.953681707769,-0.953652862865,-0.953624009194,-0.953595146758,-0.953566275557,-0.953537395591,-0.95350850686,-0.953479609365,-0.953450703105,-0.953421788082,-0.953392864295,-0.953363931744,-0.953334990431,-0.953306040354,-0.953277081515,-0.953248113914,-0.95321913755,-0.953190152425,-0.953161158539,-0.953132155891,-0.953103144482,-0.953074124312,-0.953045095382,-0.953016057692,-0.952987011242,-0.952957956032,-0.952928892063,-0.952899819334,-0.952870737847,-0.952841647601,-0.952812548597,-0.952783440835,-0.952754324315,-0.952725199038,-0.952696065003,-0.952666922211,-0.952637770663,-0.952608610358,-0.952579441297,-0.95255026348,-0.952521076908,-0.95249188158,-0.952462677497,-0.952433464659,-0.952404243066,-0.95237501272,-0.952345773619,-0.952316525765,-0.952287269157,-0.952258003795,-0.952228729681,-0.952199446814,-0.952170155195,-0.952140854824,-0.952111545701,-0.952082227826,-0.9520529012,-0.952023565822,-0.951994221694,-0.951964868816,-0.951935507187,-0.951906136808,-0.951876757679,-0.951847369801,-0.951817973174,-0.951788567798,-0.951759153673,-0.9517297308,-0.951700299179,-0.95167085881,-0.951641409694,-0.95161195183,-0.951582485219,-0.951553009861,-0.951523525757,-0.951494032907,-0.951464531311,-0.951435020969,-0.951405501882,-0.951375974049,-0.951346437472,-0.95131689215,-0.951287338084,-0.951257775274,-0.95122820372,-0.951198623423,-0.951169034383,-0.951139436599,-0.951109830073,-0.951080214804,-0.951050590794,-0.951020958041,-0.950991316547,-0.950961666312,-0.950932007335,-0.950902339618,-0.95087266316,-0.950842977962,-0.950813284024,-0.950783581347,-0.95075386993,-0.950724149774,-0.950694420879,-0.950664683245,-0.950634936874,-0.950605181764,-0.950575417916,-0.950545645331,-0.950515864009,-0.950486073949,-0.950456275154,-0.950426467621,-0.950396651353,-0.950366826349,-0.950336992609,-0.950307150134,-0.950277298924,-0.950247438979,-0.950217570299,-0.950187692886,-0.950157806738,-0.950127911857,-0.950098008243,-0.950068095895,-0.950038174815,-0.950008245002,-0.949978306457,-0.949948359179,-0.94991840317,-0.94988843843,-0.949858464959,-0.949828482756,-0.949798491823,-0.94976849216,-0.949738483766,-0.949708466643,-0.94967844079,-0.949648406208,-0.949618362897,-0.949588310857,-0.949558250089,-0.949528180593,-0.949498102369,-0.949468015417,-0.949437919738,-0.949407815332,-0.9493777022,-0.94934758034,-0.949317449755,-0.949287310444,-0.949257162406,-0.949227005644,-0.949196840157,-0.949166665944,-0.949136483008,-0.949106291347,-0.949076090961,-0.949045881853,-0.949015664021,-0.948985437465,-0.948955202187,-0.948924958186,-0.948894705463,-0.948864444018,-0.948834173851,-0.948803894963,-0.948773607353,-0.948743311023,-0.948713005971,-0.9486826922,-0.948652369708,-0.948622038497,-0.948591698566,-0.948561349916,-0.948530992547,-0.948500626459,-0.948470251652,-0.948439868128,-0.948409475886,-0.948379074926,-0.948348665249,-0.948318246855,-0.948287819744,-0.948257383916,-0.948226939373,-0.948196486113,-0.948166024138,-0.948135553448,-0.948105074043,-0.948074585922,-0.948044089088,-0.948013583539,-0.947983069276,-0.947952546299,-0.947922014609,-0.947891474206,-0.94786092509,-0.947830367262,-0.947799800721,-0.947769225469,-0.947738641505,-0.947708048829,-0.947677447442,-0.947646837344,-0.947616218536,-0.947585591018,-0.947554954789,-0.947524309851,-0.947493656203,-0.947462993846,-0.947432322781,-0.947401643006,-0.947370954524,-0.947340257333,-0.947309551435,-0.947278836829,-0.947248113516,-0.947217381496,-0.947186640769,-0.947155891336,-0.947125133198,-0.947094366353,-0.947063590803,-0.947032806547,-0.947002013587,-0.946971211922,-0.946940401552,-0.946909582479,-0.946878754702,-0.946847918221,-0.946817073037,-0.94678621915,-0.946755356561,-0.946724485269,-0.946693605275,-0.946662716579,-0.946631819182,-0.946600913083,-0.946569998284,-0.946539074784,-0.946508142583,-0.946477201682,-0.946446252082,-0.946415293782,-0.946384326783,-0.946353351084,-0.946322366688,-0.946291373592,-0.946260371799,-0.946229361308,-0.946198342119,-0.946167314233,-0.94613627765,-0.94610523237,-0.946074178394,-0.946043115722,-0.946012044354,-0.945980964291,-0.945949875532,-0.945918778078,-0.94588767193,-0.945856557087,-0.94582543355,-0.945794301319,-0.945763160395,-0.945732010777,-0.945700852467,-0.945669685464,-0.945638509768,-0.945607325381,-0.945576132301,-0.94554493053,-0.945513720068,-0.945482500914,-0.945451273071,-0.945420036536,-0.945388791312,-0.945357537398,-0.945326274794,-0.945295003501,-0.945263723519,-0.945232434848,-0.945201137489,-0.945169831442,-0.945138516708,-0.945107193285,-0.945075861176,-0.945044520379,-0.945013170896,-0.944981812727,-0.944950445871,-0.94491907033,-0.944887686103,-0.944856293191,-0.944824891594,-0.944793481312,-0.944762062346,-0.944730634696,-0.944699198362,-0.944667753345,-0.944636299645,-0.944604837261,-0.944573366196,-0.944541886447,-0.944510398017,-0.944478900905,-0.944447395112,-0.944415880637,-0.944384357482,-0.944352825646,-0.944321285129,-0.944289735933,-0.944258178057,-0.944226611501,-0.944195036267,-0.944163452353,-0.944131859761,-0.944100258491,-0.944068648543,-0.944037029917,-0.944005402614,-0.943973766634,-0.943942121976,-0.943910468643,-0.943878806633,-0.943847135947,-0.943815456586,-0.943783768549,-0.943752071837,-0.94372036645,-0.943688652389,-0.943656929654,-0.943625198245,-0.943593458162,-0.943561709406,-0.943529951977,-0.943498185875,-0.943466411101,-0.943434627654,-0.943402835536,-0.943371034746,-0.943339225285,-0.943307407153,-0.94327558035,-0.943243744877,-0.943211900734,-0.943180047921,-0.943148186438,-0.943116316287,-0.943084437466,-0.943052549977,-0.943020653819,-0.942988748994,-0.9429568355,-0.942924913339,-0.942892982511,-0.942861043016,-0.942829094855,-0.942797138027,-0.942765172533,-0.942733198374,-0.942701215549,-0.942669224059,-0.942637223904,-0.942605215085,-0.942573197601,-0.942541171454,-0.942509136643,-0.942477093168,-0.942445041031,-0.942412980231,-0.942380910768,-0.942348832643,-0.942316745857,-0.942284650408,-0.942252546299,-0.942220433528,-0.942188312097,-0.942156182005,-0.942124043254,-0.942091895842,-0.942059739771,-0.942027575041,-0.941995401652,-0.941963219604,-0.941931028898,-0.941898829534,-0.941866621512,-0.941834404832,-0.941802179496,-0.941769945503,-0.941737702853,-0.941705451547,-0.941673191585,-0.941640922967,-0.941608645694,-0.941576359766,-0.941544065183,-0.941511761946,-0.941479450054,-0.941447129509,-0.94141480031,-0.941382462457,-0.941350115952,-0.941317760794,-0.941285396984,-0.941253024521,-0.941220643407,-0.941188253642,-0.941155855225,-0.941123448157,-0.941091032438,-0.94105860807,-0.941026175051,-0.940993733382,-0.940961283065,-0.940928824098,-0.940896356482,-0.940863880217,-0.940831395305,-0.940798901744,-0.940766399536,-0.940733888681,-0.940701369179,-0.940668841029,-0.940636304234,-0.940603758792,-0.940571204705,-0.940538641972,-0.940506070593,-0.94047349057,-0.940440901902,-0.94040830459,-0.940375698634,-0.940343084034,-0.94031046079,-0.940277828904,-0.940245188375,-0.940212539203,-0.940179881389,-0.940147214933,-0.940114539835,-0.940081856096,-0.940049163716,-0.940016462695,-0.939983753034,-0.939951034733,-0.939918307792,-0.939885572211,-0.939852827991,-0.939820075132,-0.939787313635,-0.939754543499,-0.939721764725,-0.939688977314,-0.939656181265,-0.939623376579,-0.939590563256,-0.939557741296,-0.939524910701,-0.939492071469,-0.939459223602,-0.9394263671,-0.939393501962,-0.93936062819,-0.939327745784,-0.939294854743,-0.939261955069,-0.939229046761,-0.93919612982,-0.939163204246,-0.939130270039,-0.9390973272,-0.939064375729,-0.939031415627,-0.938998446893,-0.938965469528,-0.938932483532,-0.938899488906,-0.938866485649,-0.938833473763,-0.938800453247,-0.938767424102,-0.938734386328,-0.938701339926,-0.938668284895,-0.938635221236,-0.938602148949,-0.938569068035,-0.938535978494,-0.938502880325,-0.938469773531,-0.93843665811,-0.938403534063,-0.938370401391,-0.938337260093,-0.93830411017,-0.938270951623,-0.938237784451,-0.938204608655,-0.938171424236,-0.938138231193,-0.938105029527,-0.938071819238,-0.938038600326,-0.938005372792,-0.937972136636,-0.937938891859,-0.93790563846,-0.93787237644,-0.937839105799,-0.937805826538,-0.937772538657,-0.937739242156,-0.937705937036,-0.937672623297,-0.937639300938,-0.937605969961,-0.937572630366,-0.937539282152,-0.937505925321,-0.937472559873,-0.937439185808,-0.937405803126,-0.937372411827,-0.937339011913,-0.937305603382,-0.937272186236,-0.937238760475,-0.937205326099,-0.937171883108,-0.937138431503,-0.937104971284,-0.937071502452,-0.937038025006,-0.937004538947,-0.936971044275,-0.936937540991,-0.936904029095,-0.936870508586,-0.936836979467,-0.936803441736,-0.936769895394,-0.936736340442,-0.936702776879,-0.936669204707,-0.936635623924,-0.936602034533,-0.936568436532,-0.936534829923,-0.936501214705,-0.936467590879,-0.936433958445,-0.936400317404,-0.936366667756,-0.9363330095,-0.936299342638,-0.93626566717,-0.936231983096,-0.936198290416,-0.936164589131,-0.936130879241,-0.936097160746,-0.936063433647,-0.936029697944,-0.935995953637,-0.935962200726,-0.935928439213,-0.935894669096,-0.935860890377,-0.935827103055,-0.935793307132,-0.935759502607,-0.935725689481,-0.935691867754,-0.935658037426,-0.935624198498,-0.93559035097,-0.935556494841,-0.935522630114,-0.935488756787,-0.935454874862,-0.935420984338,-0.935387085216,-0.935353177496,-0.935319261179,-0.935285336264,-0.935251402752,-0.935217460644,-0.935183509939,-0.935149550638,-0.935115582742,-0.93508160625,-0.935047621163,-0.935013627482,-0.934979625206,-0.934945614336,-0.934911594872,-0.934877566814,-0.934843530163,-0.93480948492,-0.934775431084,-0.934741368655,-0.934707297635,-0.934673218023,-0.93463912982,-0.934605033025,-0.93457092764,-0.934536813665,-0.9345026911,-0.934468559945,-0.9344344202,-0.934400271866,-0.934366114944,-0.934331949433,-0.934297775334,-0.934263592646,-0.934229401372,-0.93419520151,-0.934160993061,-0.934126776026,-0.934092550404,-0.934058316197,-0.934024073403,-0.933989822025,-0.933955562061,-0.933921293513,-0.93388701638,-0.933852730663,-0.933818436362,-0.933784133478,-0.933749822011,-0.933715501961,-0.933681173328,-0.933646836113,-0.933612490317,-0.933578135938,-0.933543772979,-0.933509401438,-0.933475021317,-0.933440632616,-0.933406235335,-0.933371829474,-0.933337415033,-0.933302992014,-0.933268560416,-0.933234120239,-0.933199671485,-0.933165214152,-0.933130748242,-0.933096273755,-0.933061790692,-0.933027299051,-0.932992798835,-0.932958290042,-0.932923772674,-0.932889246731,-0.932854712213,-0.932820169121,-0.932785617454,-0.932751057213,-0.932716488398,-0.93268191101,-0.932647325049,-0.932612730516,-0.93257812741,-0.932543515732,-0.932508895482,-0.932474266661,-0.932439629268,-0.932404983305,-0.932370328772,-0.932335665668,-0.932300993995,-0.932266313752,-0.932231624939,-0.932196927558,-0.932162221609,-0.932127507091,-0.932092784005,-0.932058052351,-0.932023312131,-0.931988563343,-0.931953805989,-0.931919040068,-0.931884265582,-0.931849482529,-0.931814690912,-0.931779890729,-0.931745081982,-0.93171026467,-0.931675438794,-0.931640604354,-0.931605761351,-0.931570909785,-0.931536049656,-0.931501180965,-0.931466303711,-0.931431417895,-0.931396523518,-0.93136162058,-0.931326709081,-0.931291789022,-0.931256860402,-0.931221923222,-0.931186977483,-0.931152023184,-0.931117060326,-0.93108208891,-0.931047108936,-0.931012120403,-0.930977123313,-0.930942117665,-0.930907103461,-0.9308720807,-0.930837049382,-0.930802009508,-0.930766961079,-0.930731904094,-0.930696838554,-0.93066176446,-0.930626681811,-0.930591590607,-0.93055649085,-0.93052138254,-0.930486265676,-0.93045114026,-0.930416006291,-0.93038086377,-0.930345712696,-0.930310553072,-0.930275384896,-0.930240208169,-0.930205022892,-0.930169829065,-0.930134626687,-0.93009941576,-0.930064196284,-0.930028968259,-0.929993731685,-0.929958486563,-0.929923232893,-0.929887970675,-0.92985269991,-0.929817420598,-0.929782132739,-0.929746836334,-0.929711531382,-0.929676217885,-0.929640895843,-0.929605565256,-0.929570226124,-0.929534878447,-0.929499522227,-0.929464157462,-0.929428784155,-0.929393402304,-0.92935801191,-0.929322612974,-0.929287205496,-0.929251789475,-0.929216364914,-0.929180931811,-0.929145490168,-0.929110039984,-0.929074581259,-0.929039113995,-0.929003638192,-0.928968153849,-0.928932660967,-0.928897159547,-0.928861649588,-0.928826131092,-0.928790604058,-0.928755068487,-0.928719524379,-0.928683971734,-0.928648410553,-0.928612840836,-0.928577262584,-0.928541675796,-0.928506080473,-0.928470476616,-0.928434864224,-0.928399243299,-0.928363613839,-0.928327975847,-0.928292329321,-0.928256674263,-0.928221010672,-0.92818533855,-0.928149657895,-0.92811396871,-0.928078270993,-0.928042564746,-0.928006849968,-0.92797112666,-0.927935394823,-0.927899654456,-0.92786390556,-0.927828148135,-0.927792382182,-0.927756607701,-0.927720824692,-0.927685033156,-0.927649233093,-0.927613424502,-0.927577607386,-0.927541781743,-0.927505947575,-0.927470104881,-0.927434253662,-0.927398393919,-0.92736252565,-0.927326648858,-0.927290763542,-0.927254869703,-0.92721896734,-0.927183056455,-0.927147137047,-0.927111209117,-0.927075272665,-0.927039327691,-0.927003374197,-0.926967412182,-0.926931441646,-0.92689546259,-0.926859475014,-0.926823478919,-0.926787474305,-0.926751461171,-0.92671543952,-0.92667940935,-0.926643370662,-0.926607323457,-0.926571267734,-0.926535203495,-0.926499130739,-0.926463049467,-0.926426959679,-0.926390861376,-0.926354754558,-0.926318639224,-0.926282515376,-0.926246383014,-0.926210242138,-0.926174092749,-0.926137934846,-0.926101768431,-0.926065593503,-0.926029410062,-0.92599321811,-0.925957017647,-0.925920808672,-0.925884591186,-0.92584836519,-0.925812130683,-0.925775887667,-0.925739636141,-0.925703376106,-0.925667107562,-0.92563083051,-0.925594544949,-0.925558250881,-0.925521948305,-0.925485637221,-0.925449317631,-0.925412989535,-0.925376652932,-0.925340307823,-0.925303954209,-0.92526759209,-0.925231221465,-0.925194842336,-0.925158454703,-0.925122058567,-0.925085653926,-0.925049240783,-0.925012819136,-0.924976388987,-0.924939950336,-0.924903503183,-0.924867047529,-0.924830583373,-0.924794110717,-0.92475762956,-0.924721139902,-0.924684641745,-0.924648135089,-0.924611619933,-0.924575096279,-0.924538564125,-0.924502023474,-0.924465474325,-0.924428916679,-0.924392350535,-0.924355775895,-0.924319192758,-0.924282601125,-0.924246000996,-0.924209392371,-0.924172775252,-0.924136149637,-0.924099515529,-0.924062872926,-0.924026221829,-0.923989562239,-0.923952894156,-0.92391621758,-0.923879532511,-0.923842838951,-0.923806136898,-0.923769426355,-0.92373270732,-0.923695979794,-0.923659243778,-0.923622499272,-0.923585746276,-0.923548984791,-0.923512214817,-0.923475436354,-0.923438649402,-0.923401853963,-0.923365050036,-0.923328237621,-0.92329141672,-0.923254587331,-0.923217749457,-0.923180903096,-0.92314404825,-0.923107184918,-0.923070313101,-0.9230334328,-0.922996544014,-0.922959646745,-0.922922740991,-0.922885826755,-0.922848904035,-0.922811972833,-0.922775033148,-0.922738084982,-0.922701128334,-0.922664163205,-0.922627189594,-0.922590207503,-0.922553216932,-0.922516217881,-0.922479210351,-0.922442194341,-0.922405169852,-0.922368136885,-0.922331095439,-0.922294045516,-0.922256987115,-0.922219920237,-0.922182844882,-0.922145761051,-0.922108668743,-0.92207156796,-0.922034458701,-0.921997340967,-0.921960214758,-0.921923080075,-0.921885936918,-0.921848785286,-0.921811625182,-0.921774456604,-0.921737279554,-0.921700094031,-0.921662900036,-0.921625697569,-0.921588486631,-0.921551267222,-0.921514039342,-0.921476802992,-0.921439558172,-0.921402304882,-0.921365043123,-0.921327772894,-0.921290494198,-0.921253207033,-0.921215911399,-0.921178607299,-0.921141294731,-0.921103973696,-0.921066644194,-0.921029306227,-0.920991959793,-0.920954604894,-0.920917241529,-0.9208798697,-0.920842489406,-0.920805100648,-0.920767703426,-0.920730297741,-0.920692883592,-0.920655460981,-0.920618029907,-0.920580590371,-0.920543142373,-0.920505685914,-0.920468220994,-0.920430747613,-0.920393265772,-0.92035577547,-0.920318276709,-0.920280769489,-0.920243253809,-0.920205729671,-0.920168197074,-0.92013065602,-0.920093106508,-0.920055548538,-0.920017982112,-0.919980407229,-0.919942823889,-0.919905232094,-0.919867631843,-0.919830023137,-0.919792405976,-0.919754780361,-0.919717146291,-0.919679503768,-0.919641852791,-0.919604193361,-0.919566525478,-0.919528849142,-0.919491164355,-0.919453471116,-0.919415769425,-0.919378059283,-0.919340340691,-0.919302613648,-0.919264878155,-0.919227134212,-0.919189381821,-0.91915162098,-0.91911385169,-0.919076073952,-0.919038287766,-0.919000493133,-0.918962690052,-0.918924878525,-0.918887058551,-0.91884923013,-0.918811393264,-0.918773547952,-0.918735694196,-0.918697831994,-0.918659961348,-0.918622082257,-0.918584194723,-0.918546298746,-0.918508394325,-0.918470481462,-0.918432560156,-0.918394630408,-0.918356692219,-0.918318745588,-0.918280790517,-0.918242827004,-0.918204855051,-0.918166874659,-0.918128885827,-0.918090888555,-0.918052882845,-0.918014868696,-0.917976846109,-0.917938815084,-0.917900775621,-0.917862727722,-0.917824671385,-0.917786606613,-0.917748533404,-0.917710451759,-0.917672361679,-0.917634263164,-0.917596156214,-0.91755804083,-0.917519917012,-0.91748178476,-0.917443644075,-0.917405494957,-0.917367337406,-0.917329171423,-0.917290997008,-0.917252814162,-0.917214622885,-0.917176423176,-0.917138215037,-0.917099998468,-0.91706177347,-0.917023540041,-0.916985298184,-0.916947047898,-0.916908789184,-0.916870522041,-0.916832246471,-0.916793962474,-0.916755670049,-0.916717369198,-0.916679059921,-0.916640742218,-0.916602416089,-0.916564081535,-0.916525738556,-0.916487387153,-0.916449027325,-0.916410659074,-0.916372282399,-0.916333897301,-0.916295503781,-0.916257101838,-0.916218691473,-0.916180272686,-0.916141845478,-0.916103409849,-0.916064965799,-0.916026513329,-0.91598805244,-0.91594958313,-0.915911105402,-0.915872619254,-0.915834124688,-0.915795621704,-0.915757110302,-0.915718590483,-0.915680062246,-0.915641525593,-0.915602980523,-0.915564427038,-0.915525865136,-0.91548729482,-0.915448716088,-0.915410128942,-0.915371533382,-0.915332929407,-0.915294317019,-0.915255696218,-0.915217067005,-0.915178429378,-0.91513978334,-0.915101128889,-0.915062466028,-0.915023794755,-0.914985115072,-0.914946426978,-0.914907730474,-0.914869025561,-0.914830312238,-0.914791590506,-0.914752860366,-0.914714121818,-0.914675374862,-0.914636619498,-0.914597855727,-0.914559083549,-0.914520302965,-0.914481513975,-0.914442716579,-0.914403910778,-0.914365096571,-0.914326273961,-0.914287442945,-0.914248603526,-0.914209755704,-0.914170899478,-0.914132034849,-0.914093161817,-0.914054280384,-0.914015390549,-0.913976492312,-0.913937585674,-0.913898670636,-0.913859747197,-0.913820815358,-0.91378187512,-0.913742926482,-0.913703969445,-0.91366500401,-0.913626030177,-0.913587047945,-0.913548057316,-0.91350905829,-0.913470050868,-0.913431035049,-0.913392010833,-0.913352978222,-0.913313937216,-0.913274887815,-0.913235830019,-0.913196763829,-0.913157689245,-0.913118606267,-0.913079514896,-0.913040415133,-0.913001306977,-0.912962190428,-0.912923065488,-0.912883932157,-0.912844790435,-0.912805640322,-0.912766481818,-0.912727314925,-0.912688139642,-0.91264895597,-0.912609763909,-0.912570563459,-0.912531354622,-0.912492137396,-0.912452911783,-0.912413677783,-0.912374435396,-0.912335184623,-0.912295925464,-0.91225665792,-0.91221738199,-0.912178097675,-0.912138804975,-0.912099503892,-0.912060194424,-0.912020876574,-0.91198155034,-0.911942215723,-0.911902872724,-0.911863521343,-0.91182416158,-0.911784793436,-0.911745416911,-0.911706032005,-0.91166663872,-0.911627237054,-0.911587827009,-0.911548408585,-0.911508981782,-0.911469546601,-0.911430103041,-0.911390651104,-0.91135119079,-0.911311722098,-0.911272245031,-0.911232759586,-0.911193265767,-0.911153763571,-0.911114253001,-0.911074734055,-0.911035206735,-0.910995671042,-0.910956126974,-0.910916574533,-0.91087701372,-0.910837444533,-0.910797866975,-0.910758281044,-0.910718686743,-0.91067908407,-0.910639473026,-0.910599853612,-0.910560225827,-0.910520589673,-0.91048094515,-0.910441292258,-0.910401630997,-0.910361961368,-0.910322283372,-0.910282597007,-0.910242902276,-0.910203199178,-0.910163487713,-0.910123767883,-0.910084039686,-0.910044303125,-0.910004558198,-0.909964804907,-0.909925043252,-0.909885273233,-0.90984549485,-0.909805708105,-0.909765912996,-0.909726109525,-0.909686297693,-0.909646477498,-0.909606648943,-0.909566812026,-0.909526966749,-0.909487113112,-0.909447251114,-0.909407380758,-0.909367502042,-0.909327614968,-0.909287719535,-0.909247815744,-0.909207903596,-0.909167983091,-0.909128054228,-0.909088117009,-0.909048171434,-0.909008217503,-0.908968255217,-0.908928284576,-0.90888830558,-0.908848318229,-0.908808322525,-0.908768318467,-0.908728306056,-0.908688285293,-0.908648256176,-0.908608218708,-0.908568172888,-0.908528118716,-0.908488056194,-0.908447985321,-0.908407906097,-0.908367818524,-0.908327722601,-0.908287618329,-0.908247505709,-0.908207384739,-0.908167255422,-0.908127117757,-0.908086971745,-0.908046817386,-0.90800665468,-0.907966483629,-0.907926304231,-0.907886116488,-0.907845920399,-0.907805715966,-0.907765503189,-0.907725282068,-0.907685052603,-0.907644814795,-0.907604568643,-0.90756431415,-0.907524051314,-0.907483780137,-0.907443500618,-0.907403212758,-0.907362916557,-0.907322612016,-0.907282299136,-0.907241977915,-0.907201648356,-0.907161310458,-0.907120964221,-0.907080609646,-0.907040246734,-0.906999875484,-0.906959495897,-0.906919107974,-0.906878711714,-0.906838307119,-0.906797894188,-0.906757472922,-0.906717043321,-0.906676605386,-0.906636159117,-0.906595704515,-0.906555241579,-0.90651477031,-0.906474290709,-0.906433802776,-0.906393306511,-0.906352801915,-0.906312288987,-0.906271767729,-0.906231238141,-0.906190700223,-0.906150153975,-0.906109599398,-0.906069036493,-0.906028465259,-0.905987885697,-0.905947297807,-0.90590670159,-0.905866097047,-0.905825484176,-0.90578486298,-0.905744233458,-0.90570359561,-0.905662949437,-0.90562229494,-0.905581632118,-0.905540960973,-0.905500281504,-0.905459593711,-0.905418897596,-0.905378193159,-0.905337480399,-0.905296759318,-0.905256029916,-0.905215292192,-0.905174546148,-0.905133791784,-0.9050930291,-0.905052258097,-0.905011478775,-0.904970691134,-0.904929895174,-0.904889090897,-0.904848278302,-0.90480745739,-0.904766628162,-0.904725790616,-0.904684944755,-0.904644090578,-0.904603228086,-0.904562357279,-0.904521478157,-0.904480590721,-0.904439694972,-0.904398790909,-0.904357878533,-0.904316957844,-0.904276028843,-0.90423509153,-0.904194145906,-0.90415319197,-0.904112229724,-0.904071259167,-0.9040302803,-0.903989293123,-0.903948297638,-0.903907293843,-0.90386628174,-0.903825261328,-0.903784232609,-0.903743195583,-0.903702150249,-0.903661096609,-0.903620034663,-0.903578964411,-0.903537885853,-0.90349679899,-0.903455703822,-0.90341460035,-0.903373488574,-0.903332368495,-0.903291240112,-0.903250103426,-0.903208958438,-0.903167805147,-0.903126643555,-0.903085473662,-0.903044295468,-0.903003108973,-0.902961914177,-0.902920711082,-0.902879499688,-0.902838279995,-0.902797052002,-0.902755815712,-0.902714571123,-0.902673318237,-0.902632057054,-0.902590787574,-0.902549509798,-0.902508223725,-0.902466929357,-0.902425626694,-0.902384315735,-0.902342996482,-0.902301668935,-0.902260333095,-0.902218988961,-0.902177636533,-0.902136275814,-0.902094906802,-0.902053529498,-0.902012143902,-0.901970750016,-0.901929347839,-0.901887937371,-0.901846518614,-0.901805091567,-0.901763656231,-0.901722212606,-0.901680760692,-0.90163930049,-0.901597832001,-0.901556355225,-0.901514870161,-0.901473376811,-0.901431875175,-0.901390365253,-0.901348847046,-0.901307320554,-0.901265785777,-0.901224242716,-0.901182691371,-0.901141131742,-0.901099563831,-0.901057987636,-0.90101640316,-0.900974810401,-0.900933209361,-0.90089160004,-0.900849982438,-0.900808356555,-0.900766722392,-0.90072507995,-0.900683429229,-0.900641770228,-0.900600102949,-0.900558427392,-0.900516743558,-0.900475051445,-0.900433351056,-0.900391642391,-0.900349925449,-0.900308200231,-0.900266466738,-0.90022472497,-0.900182974927,-0.90014121661,-0.900099450019,-0.900057675154,-0.900015892016,-0.899974100606,-0.899932300923,-0.899890492968,-0.899848676742,-0.899806852244,-0.899765019475,-0.899723178436,-0.899681329127,-0.899639471549,-0.899597605701,-0.899555731584,-0.899513849198,-0.899471958545,-0.899430059624,-0.899388152435,-0.899346236979,-0.899304313257,-0.899262381269,-0.899220441014,-0.899178492495,-0.89913653571,-0.89909457066,-0.899052597347,-0.899010615769,-0.898968625928,-0.898926627824,-0.898884621457,-0.898842606827,-0.898800583936,-0.898758552783,-0.898716513369,-0.898674465694,-0.898632409759,-0.898590345563,-0.898548273108,-0.898506192394,-0.898464103421,-0.898422006189,-0.898379900699,-0.898337786952,-0.898295664947,-0.898253534685,-0.898211396167,-0.898169249393,-0.898127094362,-0.898084931077,-0.898042759536,-0.898000579741,-0.897958391691,-0.897916195388,-0.897873990831,-0.897831778021,-0.897789556959,-0.897747327644,-0.897705090077,-0.897662844259,-0.89762059019,-0.89757832787,-0.897536057299,-0.897493778479,-0.897451491409,-0.89740919609,-0.897366892522,-0.897324580705,-0.897282260641,-0.897239932329,-0.89719759577,-0.897155250964,-0.897112897911,-0.897070536613,-0.897028167068,-0.896985789279,-0.896943403244,-0.896901008965,-0.896858606442,-0.896816195676,-0.896773776665,-0.896731349412,-0.896688913917,-0.896646470179,-0.896604018199,-0.896561557978,-0.896519089516,-0.896476612813,-0.89643412787,-0.896391634688,-0.896349133266,-0.896306623604,-0.896264105705,-0.896221579567,-0.896179045191,-0.896136502577,-0.896093951727,-0.896051392639,-0.896008825316,-0.895966249756,-0.895923665961,-0.895881073931,-0.895838473666,-0.895795865167,-0.895753248434,-0.895710623467,-0.895667990267,-0.895625348834,-0.895582699169,-0.895540041272,-0.895497375143,-0.895454700783,-0.895412018192,-0.895369327371,-0.89532662832,-0.895283921039,-0.895241205528,-0.895198481789,-0.895155749822,-0.895113009626,-0.895070261203,-0.895027504552,-0.894984739675,-0.894941966571,-0.89489918524,-0.894856395685,-0.894813597903,-0.894770791897,-0.894727977667,-0.894685155212,-0.894642324533,-0.894599485631,-0.894556638506,-0.894513783159,-0.894470919589,-0.894428047798,-0.894385167785,-0.894342279551,-0.894299383097,-0.894256478422,-0.894213565528,-0.894170644414,-0.894127715081,-0.89408477753,-0.89404183176,-0.893998877772,-0.893955915567,-0.893912945145,-0.893869966506,-0.893826979651,-0.893783984581,-0.893740981294,-0.893697969793,-0.893654950077,-0.893611922146,-0.893568886002,-0.893525841644,-0.893482789074,-0.89343972829,-0.893396659294,-0.893353582086,-0.893310496667,-0.893267403037,-0.893224301196,-0.893181191144,-0.893138072883,-0.893094946412,-0.893051811732,-0.893008668843,-0.892965517746,-0.892922358441,-0.892879190928,-0.892836015208,-0.892792831282,-0.892749639149,-0.89270643881,-0.892663230265,-0.892620013516,-0.892576788562,-0.892533555403,-0.89249031404,-0.892447064474,-0.892403806704,-0.892360540732,-0.892317266557,-0.892273984181,-0.892230693602,-0.892187394823,-0.892144087843,-0.892100772662,-0.892057449282,-0.892014117701,-0.891970777922,-0.891927429944,-0.891884073767,-0.891840709392,-0.89179733682,-0.891753956051,-0.891710567084,-0.891667169922,-0.891623764563,-0.891580351009,-0.891536929259,-0.891493499315,-0.891450061176,-0.891406614843,-0.891363160317,-0.891319697597,-0.891276226685,-0.89123274758,-0.891189260283,-0.891145764795,-0.891102261115,-0.891058749244,-0.891015229183,-0.890971700932,-0.890928164492,-0.890884619862,-0.890841067043,-0.890797506036,-0.890753936841,-0.890710359459,-0.890666773889,-0.890623180132,-0.890579578189,-0.89053596806,-0.890492349745,-0.890448723245,-0.89040508856,-0.890361445691,-0.890317794637,-0.890274135401,-0.890230467981,-0.890186792378,-0.890143108592,-0.890099416625,-0.890055716476,-0.890012008146,-0.889968291635,-0.889924566944,-0.889880834073,-0.889837093022,-0.889793343792,-0.889749586383,-0.889705820796,-0.889662047031,-0.889618265088,-0.889574474968,-0.889530676671,-0.889486870198,-0.889443055549,-0.889399232724,-0.889355401724,-0.88931156255,-0.889267715201,-0.889223859678,-0.889179995981,-0.889136124112,-0.889092244069,-0.889048355855,-0.889004459468,-0.88896055491,-0.88891664218,-0.88887272128,-0.88882879221,-0.88878485497,-0.88874090956,-0.888696955981,-0.888652994233,-0.888609024317,-0.888565046233,-0.888521059982,-0.888477065564,-0.888433062978,-0.888389052227,-0.88834503331,-0.888301006227,-0.888256970979,-0.888212927566,-0.88816887599,-0.888124816249,-0.888080748345,-0.888036672278,-0.887992588048,-0.887948495656,-0.887904395102,-0.887860286387,-0.88781616951,-0.887772044473,-0.887727911276,-0.887683769919,-0.887639620403,-0.887595462728,-0.887551296894,-0.887507122901,-0.887462940752,-0.887418750444,-0.88737455198,-0.887330345359,-0.887286130582,-0.88724190765,-0.887197676562,-0.887153437319,-0.887109189921,-0.88706493437,-0.887020670664,-0.886976398806,-0.886932118794,-0.88688783063,-0.886843534314,-0.886799229847,-0.886754917228,-0.886710596458,-0.886666267537,-0.886621930467,-0.886577585247,-0.886533231878,-0.88648887036,-0.886444500693,-0.886400122879,-0.886355736917,-0.886311342807,-0.886266940551,-0.886222530149,-0.8861781116,-0.886133684907,-0.886089250067,-0.886044807084,-0.886000355955,-0.885955896683,-0.885911429268,-0.885866953709,-0.885822470007,-0.885777978164,-0.885733478178,-0.885688970051,-0.885644453783,-0.885599929374,-0.885555396825,-0.885510856136,-0.885466307308,-0.885421750341,-0.885377185235,-0.885332611991,-0.885288030609,-0.885243441089,-0.885198843433,-0.88515423764,-0.885109623711,-0.885065001647,-0.885020371447,-0.884975733112,-0.884931086642,-0.884886432039,-0.884841769301,-0.884797098431,-0.884752419428,-0.884707732292,-0.884663037024,-0.884618333624,-0.884573622094,-0.884528902432,-0.88448417464,-0.884439438718,-0.884394694667,-0.884349942486,-0.884305182177,-0.884260413739,-0.884215637173,-0.88417085248,-0.88412605966,-0.884081258713,-0.884036449639,-0.88399163244,-0.883946807116,-0.883901973666,-0.883857132091,-0.883812282393,-0.883767424571,-0.883722558625,-0.883677684556,-0.883632802365,-0.883587912051,-0.883543013616,-0.883498107059,-0.883453192382,-0.883408269584,-0.883363338666,-0.883318399628,-0.883273452471,-0.883228497195,-0.883183533801,-0.883138562288,-0.883093582658,-0.883048594911,-0.883003599047,-0.882958595066,-0.88291358297,-0.882868562758,-0.882823534431,-0.882778497989,-0.882733453433,-0.882688400763,-0.88264333998,-0.882598271083,-0.882553194074,-0.882508108952,-0.882463015719,-0.882417914374,-0.882372804919,-0.882327687352,-0.882282561676,-0.88223742789,-0.882192285994,-0.88214713599,-0.882101977877,-0.882056811656,-0.882011637327,-0.881966454891,-0.881921264348,-0.881876065699,-0.881830858944,-0.881785644083,-0.881740421117,-0.881695190046,-0.881649950871,-0.881604703592,-0.881559448209,-0.881514184723,-0.881468913135,-0.881423633444,-0.881378345652,-0.881333049758,-0.881287745763,-0.881242433667,-0.881197113471,-0.881151785176,-0.881106448781,-0.881061104287,-0.881015751694,-0.880970391004,-0.880925022216,-0.88087964533,-0.880834260348,-0.880788867269,-0.880743466094,-0.880698056824,-0.880652639458,-0.880607213998,-0.880561780443,-0.880516338794,-0.880470889052,-0.880425431217,-0.880379965289,-0.880334491269,-0.880289009157,-0.880243518953,-0.880198020659,-0.880152514274,-0.880106999798,-0.880061477233,-0.880015946579,-0.879970407836,-0.879924861004,-0.879879306084,-0.879833743076,-0.879788171982,-0.8797425928,-0.879697005532,-0.879651410178,-0.879605806739,-0.879560195214,-0.879514575604,-0.879468947911,-0.879423312133,-0.879377668272,-0.879332016328,-0.879286356301,-0.879240688192,-0.879195012001,-0.879149327729,-0.879103635376,-0.879057934942,-0.879012226429,-0.878966509835,-0.878920785162,-0.878875052411,-0.878829311581,-0.878783562673,-0.878737805687,-0.878692040625,-0.878646267485,-0.878600486269,-0.878554696977,-0.87850889961,-0.878463094168,-0.878417280651,-0.87837145906,-0.878325629395,-0.878279791657,-0.878233945845,-0.878188091961,-0.878142230005,-0.878096359978,-0.878050481879,-0.878004595709,-0.877958701469,-0.877912799159,-0.877866888779,-0.87782097033,-0.877775043812,-0.877729109226,-0.877683166572,-0.877637215851,-0.877591257062,-0.877545290207,-0.877499315286,-0.877453332299,-0.877407341246,-0.877361342129,-0.877315334947,-0.877269319701,-0.877223296392,-0.877177265019,-0.877131225583,-0.877085178085,-0.877039122525,-0.876993058903,-0.87694698722,-0.876900907477,-0.876854819673,-0.876808723809,-0.876762619886,-0.876716507904,-0.876670387863,-0.876624259764,-0.876578123608,-0.876531979394,-0.876485827123,-0.876439666796,-0.876393498412,-0.876347321973,-0.876301137479,-0.87625494493,-0.876208744327,-0.87616253567,-0.876116318959,-0.876070094195,-0.876023861379,-0.87597762051,-0.87593137159,-0.875885114618,-0.875838849595,-0.875792576522,-0.875746295399,-0.875700006226,-0.875653709003,-0.875607403732,-0.875561090413,-0.875514769045,-0.87546843963,-0.875422102168,-0.875375756659,-0.875329403104,-0.875283041503,-0.875236671857,-0.875190294165,-0.87514390843,-0.87509751465,-0.875051112826,-0.875004702959,-0.874958285049,-0.874911859097,-0.874865425102,-0.874818983066,-0.874772532989,-0.874726074872,-0.874679608713,-0.874633134516,-0.874586652278,-0.874540162002,-0.874493663687,-0.874447157334,-0.874400642943,-0.874354120515,-0.87430759005,-0.874261051548,-0.874214505011,-0.874167950438,-0.874121387829,-0.874074817186,-0.874028238509,-0.873981651798,-0.873935057053,-0.873888454276,-0.873841843465,-0.873795224623,-0.873748597749,-0.873701962843,-0.873655319907,-0.87360866894,-0.873562009943,-0.873515342917,-0.873468667861,-0.873421984777,-0.873375293664,-0.873328594524,-0.873281887356,-0.873235172161,-0.873188448939,-0.873141717692,-0.873094978418,-0.87304823112,-0.873001475796,-0.872954712448,-0.872907941076,-0.87286116168,-0.872814374261,-0.87276757882,-0.872720775356,-0.87267396387,-0.872627144363,-0.872580316835,-0.872533481286,-0.872486637717,-0.872439786129,-0.872392926521,-0.872346058894,-0.872299183249,-0.872252299586,-0.872205407906,-0.872158508208,-0.872111600493,-0.872064684763,-0.872017761016,-0.871970829254,-0.871923889477,-0.871876941686,-0.87182998588,-0.871783022061,-0.871736050229,-0.871689070383,-0.871642082526,-0.871595086656,-0.871548082775,-0.871501070883,-0.87145405098,-0.871407023067,-0.871359987144,-0.871312943212,-0.87126589127,-0.871218831321,-0.871171763363,-0.871124687398,-0.871077603425,-0.871030511446,-0.87098341146,-0.870936303469,-0.870889187472,-0.87084206347,-0.870794931464,-0.870747791453,-0.870700643438,-0.870653487421,-0.8706063234,-0.870559151377,-0.870511971352,-0.870464783325,-0.870417587298,-0.870370383269,-0.870323171241,-0.870275951212,-0.870228723184,-0.870181487157,-0.870134243132,-0.870086991109,-0.870039731088,-0.869992463069,-0.869945187054,-0.869897903043,-0.869850611035,-0.869803311033,-0.869756003035,-0.869708687042,-0.869661363056,-0.869614031075,-0.869566691101,-0.869519343135,-0.869471987176,-0.869424623225,-0.869377251282,-0.869329871349,-0.869282483424,-0.86923508751,-0.869187683605,-0.869140271711,-0.869092851828,-0.869045423957,-0.868997988098,-0.868950544251,-0.868903092416,-0.868855632595,-0.868808164788,-0.868760688995,-0.868713205216,-0.868665713452,-0.868618213704,-0.868570705971,-0.868523190255,-0.868475666556,-0.868428134873,-0.868380595209,-0.868333047562,-0.868285491934,-0.868237928324,-0.868190356734,-0.868142777164,-0.868095189614,-0.868047594085,-0.867999990577,-0.86795237909,-0.867904759625,-0.867857132183,-0.867809496763,-0.867761853367,-0.867714201995,-0.867666542646,-0.867618875323,-0.867571200024,-0.867523516751,-0.867475825503,-0.867428126282,-0.867380419088,-0.867332703921,-0.867284980782,-0.867237249671,-0.867189510588,-0.867141763534,-0.86709400851,-0.867046245516,-0.866998474552,-0.866950695618,-0.866902908716,-0.866855113845,-0.866807311007,-0.866759500201,-0.866711681428,-0.866663854688,-0.866616019982,-0.866568177311,-0.866520326674,-0.866472468072,-0.866424601505,-0.866376726975,-0.866328844481,-0.866280954025,-0.866233055605,-0.866185149223,-0.86613723488,-0.866089312575,-0.866041382309,-0.865993444082,-0.865945497896,-0.86589754375,-0.865849581645,-0.865801611581,-0.865753633559,-0.865705647579,-0.865657653642,-0.865609651748,-0.865561641897,-0.865513624091,-0.865465598328,-0.865417564611,-0.865369522938,-0.865321473312,-0.865273415731,-0.865225350198,-0.865177276711,-0.865129195272,-0.86508110588,-0.865033008537,-0.864984903243,-0.864936789998,-0.864888668803,-0.864840539658,-0.864792402563,-0.864744257519,-0.864696104527,-0.864647943587,-0.864599774699,-0.864551597864,-0.864503413082,-0.864455220354,-0.86440701968,-0.864358811061,-0.864310594496,-0.864262369987,-0.864214137534,-0.864165897137,-0.864117648797,-0.864069392514,-0.864021128289,-0.863972856122,-0.863924576013,-0.863876287963,-0.863827991973,-0.863779688043,-0.863731376173,-0.863683056364,-0.863634728616,-0.86358639293,-0.863538049305,-0.863489697744,-0.863441338245,-0.86339297081,-0.863344595439,-0.863296212131,-0.863247820889,-0.863199421712,-0.863151014601,-0.863102599555,-0.863054176577,-0.863005745665,-0.862957306821,-0.862908860044,-0.862860405336,-0.862811942697,-0.862763472126,-0.862714993626,-0.862666507196,-0.862618012836,-0.862569510547,-0.86252100033,-0.862472482184,-0.862423956111,-0.862375422111,-0.862326880184,-0.86227833033,-0.862229772551,-0.862181206846,-0.862132633216,-0.862084051662,-0.862035462184,-0.861986864782,-0.861938259456,-0.861889646209,-0.861841025038,-0.861792395946,-0.861743758933,-0.861695113998,-0.861646461143,-0.861597800368,-0.861549131673,-0.861500455059,-0.861451770527,-0.861403078076,-0.861354377707,-0.861305669421,-0.861256953218,-0.861208229099,-0.861159497063,-0.861110757112,-0.861062009245,-0.861013253464,-0.860964489769,-0.86091571816,-0.860866938638,-0.860818151202,-0.860769355855,-0.860720552595,-0.860671741424,-0.860622922341,-0.860574095348,-0.860525260445,-0.860476417632,-0.860427566909,-0.860378708278,-0.860329841738,-0.860280967291,-0.860232084935,-0.860183194673,-0.860134296504,-0.860085390429,-0.860036476449,-0.859987554563,-0.859938624772,-0.859889687077,-0.859840741477,-0.859791787975,-0.859742826569,-0.859693857261,-0.859644880051,-0.859595894939,-0.859546901926,-0.859497901012,-0.859448892197,-0.859399875483,-0.85935085087,-0.859301818357,-0.859252777946,-0.859203729637,-0.85915467343,-0.859105609326,-0.859056537325,-0.859007457429,-0.858958369636,-0.858909273948,-0.858860170365,-0.858811058887,-0.858761939516,-0.858712812251,-0.858663677093,-0.858614534042,-0.858565383099,-0.858516224264,-0.858467057538,-0.858417882922,-0.858368700414,-0.858319510017,-0.858270311731,-0.858221105555,-0.858171891491,-0.858122669538,-0.858073439698,-0.858024201971,-0.857974956357,-0.857925702856,-0.85787644147,-0.857827172198,-0.857777895041,-0.85772861,-0.857679317075,-0.857630016266,-0.857580707574,-0.857531390999,-0.857482066543,-0.857432734204,-0.857383393984,-0.857334045883,-0.857284689901,-0.85723532604,-0.857185954299,-0.857136574679,-0.857087187181,-0.857037791804,-0.85698838855,-0.856938977418,-0.856889558409,-0.856840131525,-0.856790696764,-0.856741254128,-0.856691803616,-0.856642345231,-0.856592878971,-0.856543404838,-0.856493922831,-0.856444432952,-0.8563949352,-0.856345429577,-0.856295916083,-0.856246394717,-0.856196865481,-0.856147328375,-0.8560977834,-0.856048230555,-0.855998669842,-0.855949101261,-0.855899524812,-0.855849940496,-0.855800348313,-0.855750748263,-0.855701140348,-0.855651524567,-0.855601900922,-0.855552269412,-0.855502630037,-0.8554529828,-0.855403327699,-0.855353664735,-0.855303993909,-0.855254315222,-0.855204628673,-0.855154934263,-0.855105231993,-0.855055521863,-0.855005803873,-0.854956078025,-0.854906344317,-0.854856602752,-0.854806853329,-0.854757096049,-0.854707330912,-0.854657557919,-0.85460777707,-0.854557988365,-0.854508191806,-0.854458387392,-0.854408575125,-0.854358755003,-0.854308927029,-0.854259091202,-0.854209247523,-0.854159395992,-0.85410953661,-0.854059669377,-0.854009794293,-0.85395991136,-0.853910020578,-0.853860121946,-0.853810215466,-0.853760301138,-0.853710378962,-0.85366044894,-0.85361051107,-0.853560565355,-0.853510611793,-0.853460650387,-0.853410681135,-0.853360704039,-0.8533107191,-0.853260726316,-0.85321072569,-0.853160717221,-0.853110700911,-0.853060676758,-0.853010644765,-0.85296060493,-0.852910557256,-0.852860501742,-0.852810438388,-0.852760367196,-0.852710288165,-0.852660201296,-0.85261010659,-0.852560004047,-0.852509893667,-0.852459775451,-0.8524096494,-0.852359515513,-0.852309373792,-0.852259224236,-0.852209066847,-0.852158901624,-0.852108728568,-0.85205854768,-0.85200835896,-0.851958162409,-0.851907958027,-0.851857745814,-0.851807525771,-0.851757297898,-0.851707062196,-0.851656818666,-0.851606567307,-0.85155630812,-0.851506041106,-0.851455766266,-0.851405483598,-0.851355193105,-0.851304894787,-0.851254588643,-0.851204274675,-0.851153952883,-0.851103623267,-0.851053285828,-0.851002940566,-0.850952587482,-0.850902226576,-0.850851857849,-0.850801481302,-0.850751096933,-0.850700704745,-0.850650304737,-0.850599896911,-0.850549481266,-0.850499057802,-0.850448626522,-0.850398187424,-0.850347740509,-0.850297285778,-0.850246823231,-0.850196352869,-0.850145874693,-0.850095388702,-0.850044894897,-0.849994393278,-0.849943883847,-0.849893366603,-0.849842841547,-0.849792308679,-0.849741768001,-0.849691219512,-0.849640663212,-0.849590099103,-0.849539527185,-0.849488947457,-0.849438359922,-0.849387764579,-0.849337161428,-0.84928655047,-0.849235931706,-0.849185305136,-0.84913467076,-0.84908402858,-0.849033378594,-0.848982720805,-0.848932055212,-0.848881381815,-0.848830700616,-0.848780011615,-0.848729314812,-0.848678610207,-0.848627897802,-0.848577177596,-0.848526449591,-0.848475713785,-0.848424970181,-0.848374218779,-0.848323459578,-0.848272692579,-0.848221917784,-0.848171135192,-0.848120344803,-0.848069546619,-0.84801874064,-0.847967926866,-0.847917105297,-0.847866275935,-0.847815438779,-0.84776459383,-0.847713741089,-0.847662880555,-0.847612012231,-0.847561136115,-0.847510252208,-0.847459360512,-0.847408461025,-0.84735755375,-0.847306638686,-0.847255715833,-0.847204785193,-0.847153846766,-0.847102900551,-0.84705194655,-0.847000984764,-0.846950015192,-0.846899037834,-0.846848052693,-0.846797059767,-0.846746059058,-0.846695050565,-0.84664403429,-0.846593010233,-0.846541978394,-0.846490938774,-0.846439891373,-0.846388836192,-0.846337773231,-0.846286702491,-0.846235623971,-0.846184537674,-0.846133443598,-0.846082341745,-0.846031232115,-0.845980114708,-0.845928989525,-0.845877856567,-0.845826715834,-0.845775567326,-0.845724411043,-0.845673246987,-0.845622075158,-0.845570895556,-0.845519708182,-0.845468513036,-0.845417310118,-0.84536609943,-0.845314880971,-0.845263654742,-0.845212420744,-0.845161178976,-0.845109929441,-0.845058672137,-0.845007407065,-0.844956134226,-0.844904853621,-0.84485356525,-0.844802269113,-0.84475096521,-0.844699653543,-0.844648334111,-0.844597006916,-0.844545671957,-0.844494329236,-0.844442978752,-0.844391620506,-0.844340254499,-0.84428888073,-0.844237499201,-0.844186109912,-0.844134712864,-0.844083308056,-0.84403189549,-0.843980475166,-0.843929047084,-0.843877611244,-0.843826167648,-0.843774716296,-0.843723257188,-0.843671790324,-0.843620315706,-0.843568833333,-0.843517343207,-0.843465845327,-0.843414339694,-0.843362826308,-0.843311305171,-0.843259776282,-0.843208239642,-0.843156695251,-0.84310514311,-0.84305358322,-0.84300201558,-0.842950440192,-0.842898857056,-0.842847266172,-0.84279566754,-0.842744061162,-0.842692447037,-0.842640825167,-0.842589195551,-0.84253755819,-0.842485913085,-0.842434260236,-0.842382599643,-0.842330931308,-0.842279255229,-0.842227571409,-0.842175879848,-0.842124180545,-0.842072473501,-0.842020758718,-0.841969036194,-0.841917305932,-0.841865567931,-0.841813822191,-0.841762068714,-0.841710307499,-0.841658538548,-0.84160676186,-0.841554977437,-0.841503185278,-0.841451385384,-0.841399577756,-0.841347762394,-0.841295939298,-0.841244108469,-0.841192269908,-0.841140423614,-0.841088569589,-0.841036707833,-0.840984838347,-0.84093296113,-0.840881076183,-0.840829183508,-0.840777283103,-0.84072537497,-0.84067345911,-0.840621535522,-0.840569604208,-0.840517665167,-0.8404657184,-0.840413763908,-0.840361801691,-0.84030983175,-0.840257854084,-0.840205868695,-0.840153875583,-0.840101874749,-0.840049866193,-0.839997849915,-0.839945825916,-0.839893794196,-0.839841754756,-0.839789707597,-0.839737652718,-0.839685590121,-0.839633519805,-0.839581441772,-0.839529356022,-0.839477262555,-0.839425161371,-0.839373052472,-0.839320935857,-0.839268811527,-0.839216679484,-0.839164539726,-0.839112392254,-0.83906023707,-0.839008074174,-0.838955903565,-0.838903725245,-0.838851539214,-0.838799345472,-0.83874714402,-0.838694934859,-0.838642717989,-0.838590493409,-0.838538261122,-0.838486021127,-0.838433773425,-0.838381518017,-0.838329254902,-0.838276984081,-0.838224705555,-0.838172419324,-0.838120125389,-0.83806782375,-0.838015514408,-0.837963197363,-0.837910872615,-0.837858540166,-0.837806200015,-0.837753852163,-0.837701496611,-0.837649133359,-0.837596762407,-0.837544383757,-0.837491997408,-0.83743960336,-0.837387201616,-0.837334792174,-0.837282375035,-0.837229950201,-0.837177517671,-0.837125077445,-0.837072629525,-0.837020173911,-0.836967710603,-0.836915239602,-0.836862760908,-0.836810274522,-0.836757780444,-0.836705278674,-0.836652769214,-0.836600252064,-0.836547727224,-0.836495194694,-0.836442654475,-0.836390106568,-0.836337550974,-0.836284987691,-0.836232416722,-0.836179838066,-0.836127251725,-0.836074657698,-0.836022055985,-0.835969446589,-0.835916829508,-0.835864204743,-0.835811572296,-0.835758932166,-0.835706284354,-0.83565362886,-0.835600965685,-0.835548294829,-0.835495616294,-0.835442930078,-0.835390236183,-0.83533753461,-0.835284825358,-0.835232108429,-0.835179383822,-0.835126651539,-0.835073911579,-0.835021163943,-0.834968408632,-0.834915645647,-0.834862874986,-0.834810096652,-0.834757310645,-0.834704516965,-0.834651715612,-0.834598906587,-0.834546089891,-0.834493265524,-0.834440433486,-0.834387593778,-0.834334746401,-0.834281891355,-0.83422902864,-0.834176158258,-0.834123280207,-0.83407039449,-0.834017501106,-0.833964600056,-0.83391169134,-0.833858774959,-0.833805850914,-0.833752919204,-0.833699979831,-0.833647032794,-0.833594078095,-0.833541115733,-0.83348814571,-0.833435168026,-0.833382182681,-0.833329189675,-0.83327618901,-0.833223180685,-0.833170164702,-0.83311714106,-0.833064109761,-0.833011070804,-0.83295802419,-0.83290496992,-0.832851907994,-0.832798838413,-0.832745761176,-0.832692676286,-0.832639583741,-0.832586483543,-0.832533375692,-0.832480260188,-0.832427137033,-0.832374006226,-0.832320867768,-0.832267721659,-0.832214567901,-0.832161406493,-0.832108237436,-0.83205506073,-0.832001876376,-0.831948684375,-0.831895484727,-0.831842277432,-0.83178906249,-0.831735839904,-0.831682609672,-0.831629371795,-0.831576126274,-0.83152287311,-0.831469612303,-0.831416343852,-0.83136306776,-0.831309784026,-0.83125649265,-0.831203193634,-0.831149886978,-0.831096572682,-0.831043250746,-0.830989921172,-0.83093658396,-0.83088323911,-0.830829886622,-0.830776526498,-0.830723158737,-0.830669783341,-0.830616400309,-0.830563009642,-0.830509611341,-0.830456205406,-0.830402791838,-0.830349370637,-0.830295941803,-0.830242505338,-0.830189061241,-0.830135609513,-0.830082150155,-0.830028683167,-0.829975208549,-0.829921726303,-0.829868236428,-0.829814738925,-0.829761233795,-0.829707721037,-0.829654200653,-0.829600672643,-0.829547137008,-0.829493593747,-0.829440042862,-0.829386484353,-0.829332918221,-0.829279344465,-0.829225763087,-0.829172174087,-0.829118577465,-0.829064973222,-0.829011361359,-0.828957741875,-0.828904114772,-0.82885048005,-0.828796837709,-0.82874318775,-0.828689530173,-0.828635864979,-0.828582192169,-0.828528511742,-0.8284748237,-0.828421128043,-0.828367424771,-0.828313713884,-0.828259995384,-0.828206269271,-0.828152535545,-0.828098794207,-0.828045045258,-0.827991288697,-0.827937524525,-0.827883752743,-0.827829973352,-0.827776186351,-0.827722391741,-0.827668589524,-0.827614779698,-0.827560962265,-0.827507137226,-0.82745330458,-0.827399464328,-0.827345616471,-0.827291761009,-0.827237897943,-0.827184027274,-0.827130149001,-0.827076263125,-0.827022369647,-0.826968468567,-0.826914559885,-0.826860643603,-0.826806719721,-0.826752788238,-0.826698849157,-0.826644902476,-0.826590948197,-0.826536986321,-0.826483016847,-0.826429039776,-0.826375055109,-0.826321062846,-0.826267062987,-0.826213055534,-0.826159040486,-0.826105017845,-0.82605098761,-0.825996949782,-0.825942904362,-0.82588885135,-0.825834790746,-0.825780722552,-0.825726646767,-0.825672563392,-0.825618472428,-0.825564373875,-0.825510267734,-0.825456154004,-0.825402032688,-0.825347903784,-0.825293767294,-0.825239623218,-0.825185471556,-0.82513131231,-0.825077145479,-0.825022971065,-0.824968789066,-0.824914599485,-0.824860402322,-0.824806197576,-0.824751985249,-0.824697765342,-0.824643537853,-0.824589302785,-0.824535060137,-0.824480809911,-0.824426552106,-0.824372286723,-0.824318013762,-0.824263733225,-0.824209445111,-0.824155149421,-0.824100846156,-0.824046535315,-0.8239922169,-0.823937890912,-0.82388355735,-0.823829216215,-0.823774867507,-0.823720511227,-0.823666147376,-0.823611775954,-0.823557396962,-0.8235030104,-0.823448616268,-0.823394214567,-0.823339805298,-0.82328538846,-0.823230964056,-0.823176532084,-0.823122092546,-0.823067645442,-0.823013190772,-0.822958728538,-0.822904258739,-0.822849781376,-0.822795296449,-0.82274080396,-0.822686303908,-0.822631796295,-0.822577281119,-0.822522758383,-0.822468228087,-0.82241369023,-0.822359144814,-0.822304591839,-0.822250031306,-0.822195463214,-0.822140887565,-0.82208630436,-0.822031713597,-0.821977115279,-0.821922509406,-0.821867895977,-0.821813274994,-0.821758646457,-0.821704010367,-0.821649366724,-0.821594715528,-0.821540056781,-0.821485390482,-0.821430716632,-0.821376035231,-0.821321346281,-0.821266649781,-0.821211945733,-0.821157234136,-0.821102514991,-0.821047788299,-0.82099305406,-0.820938312274,-0.820883562943,-0.820828806066,-0.820774041644,-0.820719269678,-0.820664490168,-0.820609703115,-0.820554908519,-0.82050010638,-0.8204452967,-0.820390479478,-0.820335654715,-0.820280822412,-0.820225982569,-0.820171135187,-0.820116280266,-0.820061417807,-0.82000654781,-0.819951670275,-0.819896785204,-0.819841892596,-0.819786992453,-0.819732084774,-0.819677169561,-0.819622246813,-0.819567316531,-0.819512378716,-0.819457433369,-0.819402480489,-0.819347520077,-0.819292552134,-0.81923757666,-0.819182593656,-0.819127603122,-0.819072605059,-0.819017599467,-0.818962586347,-0.8189075657,-0.818852537525,-0.818797501823,-0.818742458595,-0.818687407842,-0.818632349563,-0.818577283759,-0.818522210432,-0.81846712958,-0.818412041206,-0.818356945309,-0.818301841889,-0.818246730948,-0.818191612486,-0.818136486503,-0.818081353,-0.818026211978,-0.817971063436,-0.817915907376,-0.817860743797,-0.817805572701,-0.817750394088,-0.817695207959,-0.817640014313,-0.817584813152,-0.817529604475,-0.817474388284,-0.817419164579,-0.817363933361,-0.817308694629,-0.817253448385,-0.817198194629,-0.817142933361,-0.817087664583,-0.817032388294,-0.816977104494,-0.816921813186,-0.816866514368,-0.816811208042,-0.816755894208,-0.816700572867,-0.816645244018,-0.816589907664,-0.816534563803,-0.816479212437,-0.816423853566,-0.81636848719,-0.816313113311,-0.816257731928,-0.816202343043,-0.816146946655,-0.816091542765,-0.816036131374,-0.815980712482,-0.81592528609,-0.815869852198,-0.815814410807,-0.815758961917,-0.815703505528,-0.815648041642,-0.815592570259,-0.815537091378,-0.815481605002,-0.81542611113,-0.815370609762,-0.8153151009,-0.815259584544,-0.815204060694,-0.815148529351,-0.815092990515,-0.815037444187,-0.814981890367,-0.814926329057,-0.814870760255,-0.814815183964,-0.814759600182,-0.814704008912,-0.814648410153,-0.814592803906,-0.814537190172,-0.81448156895,-0.814425940242,-0.814370304048,-0.814314660369,-0.814259009204,-0.814203350555,-0.814147684422,-0.814092010805,-0.814036329706,-0.813980641124,-0.81392494506,-0.813869241515,-0.813813530489,-0.813757811982,-0.813702085995,-0.81364635253,-0.813590611585,-0.813534863162,-0.813479107261,-0.813423343883,-0.813367573027,-0.813311794696,-0.813256008889,-0.813200215606,-0.813144414849,-0.813088606618,-0.813032790913,-0.812976967734,-0.812921137083,-0.81286529896,-0.812809453365,-0.812753600299,-0.812697739762,-0.812641871755,-0.812585996278,-0.812530113333,-0.812474222918,-0.812418325036,-0.812362419686,-0.812306506869,-0.812250586585,-0.812194658836,-0.81213872362,-0.81208278094,-0.812026830796,-0.811970873187,-0.811914908115,-0.81185893558,-0.811802955583,-0.811746968123,-0.811690973202,-0.811634970821,-0.811578960979,-0.811522943677,-0.811466918916,-0.811410886695,-0.811354847017,-0.811298799881,-0.811242745287,-0.811186683237,-0.811130613731,-0.811074536768,-0.811018452351,-0.810962360479,-0.810906261152,-0.810850154372,-0.810794040139,-0.810737918453,-0.810681789315,-0.810625652726,-0.810569508685,-0.810513357194,-0.810457198253,-0.810401031862,-0.810344858022,-0.810288676733,-0.810232487997,-0.810176291813,-0.810120088182,-0.810063877105,-0.810007658582,-0.809951432613,-0.809895199199,-0.809838958341,-0.80978271004,-0.809726454294,-0.809670191106,-0.809613920476,-0.809557642404,-0.809501356891,-0.809445063937,-0.809388763542,-0.809332455708,-0.809276140435,-0.809219817723,-0.809163487572,-0.809107149985,-0.80905080496,-0.808994452498,-0.8089380926,-0.808881725267,-0.808825350499,-0.808768968296,-0.808712578659,-0.808656181588,-0.808599777085,-0.808543365149,-0.808486945781,-0.808430518982,-0.808374084751,-0.808317643091,-0.808261194,-0.80820473748,-0.808148273531,-0.808091802154,-0.80803532335,-0.807978837117,-0.807922343458,-0.807865842373,-0.807809333862,-0.807752817926,-0.807696294565,-0.80763976378,-0.807583225572,-0.80752667994,-0.807470126886,-0.807413566409,-0.807356998511,-0.807300423192,-0.807243840452,-0.807187250293,-0.807130652714,-0.807074047716,-0.807017435299,-0.806960815464,-0.806904188213,-0.806847553544,-0.806790911459,-0.806734261958,-0.806677605041,-0.80662094071,-0.806564268965,-0.806507589806,-0.806450903233,-0.806394209248,-0.806337507851,-0.806280799042,-0.806224082821,-0.806167359191,-0.80611062815,-0.806053889699,-0.805997143839,-0.805940390571,-0.805883629895,-0.805826861811,-0.805770086321,-0.805713303423,-0.80565651312,-0.805599715412,-0.805542910298,-0.80548609778,-0.805429277859,-0.805372450534,-0.805315615806,-0.805258773676,-0.805201924144,-0.805145067211,-0.805088202877,-0.805031331143,-0.804974452009,-0.804917565476,-0.804860671545,-0.804803770215,-0.804746861488,-0.804689945364,-0.804633021843,-0.804576090926,-0.804519152614,-0.804462206907,-0.804405253805,-0.804348293309,-0.80429132542,-0.804234350139,-0.804177367464,-0.804120377398,-0.804063379941,-0.804006375093,-0.803949362854,-0.803892343226,-0.803835316209,-0.803778281803,-0.803721240009,-0.803664190827,-0.803607134258,-0.803550070303,-0.803492998961,-0.803435920234,-0.803378834122,-0.803321740625,-0.803264639745,-0.803207531481,-0.803150415834,-0.803093292804,-0.803036162393,-0.802979024601,-0.802921879428,-0.802864726874,-0.802807566941,-0.802750399628,-0.802693224937,-0.802636042867,-0.80257885342,-0.802521656596,-0.802464452395,-0.802407240818,-0.802350021866,-0.802292795538,-0.802235561836,-0.80217832076,-0.802121072311,-0.802063816488,-0.802006553293,-0.801949282727,-0.801892004789,-0.80183471948,-0.801777426801,-0.801720126752,-0.801662819334,-0.801605504547,-0.801548182392,-0.801490852869,-0.80143351598,-0.801376171723,-0.801318820101,-0.801261461113,-0.80120409476,-0.801146721042,-0.80108933996,-0.801031951515,-0.800974555708,-0.800917152537,-0.800859742005,-0.800802324112,-0.800744898857,-0.800687466243,-0.800630026269,-0.800572578935,-0.800515124243,-0.800457662193,-0.800400192785,-0.80034271602,-0.800285231898,-0.80022774042,-0.800170241587,-0.800112735399,-0.800055221856,-0.799997700959,-0.799940172709,-0.799882637106,-0.799825094151,-0.799767543844,-0.799709986186,-0.799652421176,-0.799594848817,-0.799537269108,-0.79947968205,-0.799422087643,-0.799364485888,-0.799306876785,-0.799249260335,-0.799191636539,-0.799134005397,-0.799076366909,-0.799018721077,-0.7989610679,-0.798903407379,-0.798845739515,-0.798788064308,-0.798730381758,-0.798672691867,-0.798614994635,-0.798557290062,-0.798499578149,-0.798441858896,-0.798384132304,-0.798326398373,-0.798268657105,-0.798210908499,-0.798153152556,-0.798095389276,-0.798037618661,-0.79797984071,-0.797922055424,-0.797864262804,-0.79780646285,-0.797748655563,-0.797690840943,-0.797633018991,-0.797575189708,-0.797517353093,-0.797459509147,-0.797401657872,-0.797343799267,-0.797285933333,-0.79722806007,-0.79717017948,-0.797112291562,-0.797054396317,-0.796996493746,-0.796938583849,-0.796880666627,-0.79682274208,-0.796764810208,-0.796706871013,-0.796648924495,-0.796590970655,-0.796533009492,-0.796475041008,-0.796417065202,-0.796359082076,-0.79630109163,-0.796243093865,-0.796185088781,-0.796127076378,-0.796069056658,-0.79601102962,-0.795952995266,-0.795894953595,-0.795836904609,-0.795778848307,-0.795720784691,-0.795662713761,-0.795604635517,-0.79554654996,-0.795488457091,-0.79543035691,-0.795372249417,-0.795314134613,-0.7952560125,-0.795197883076,-0.795139746343,-0.795081602301,-0.795023450951,-0.794965292293,-0.794907126328,-0.794848953057,-0.794790772479,-0.794732584596,-0.794674389408,-0.794616186915,-0.794557977119,-0.794499760019,-0.794441535616,-0.794383303911,-0.794325064904,-0.794266818596,-0.794208564987,-0.794150304078,-0.794092035869,-0.794033760361,-0.793975477554,-0.79391718745,-0.793858890048,-0.793800585349,-0.793742273353,-0.793683954062,-0.793625627475,-0.793567293593,-0.793508952417,-0.793450603948,-0.793392248185,-0.793333885129,-0.793275514781,-0.793217137142,-0.793158752211,-0.79310035999,-0.793041960479,-0.792983553679,-0.79292513959,-0.792866718212,-0.792808289546,-0.792749853593,-0.792691410353,-0.792632959827,-0.792574502015,-0.792516036918,-0.792457564537,-0.792399084871,-0.792340597922,-0.79228210369,-0.792223602175,-0.792165093378,-0.7921065773,-0.792048053941,-0.791989523302,-0.791930985383,-0.791872440184,-0.791813887707,-0.791755327952,-0.791696760919,-0.791638186609,-0.791579605023,-0.79152101616,-0.791462420022,-0.791403816609,-0.791345205921,-0.79128658796,-0.791227962725,-0.791169330218,-0.791110690438,-0.791052043386,-0.790993389064,-0.790934727471,-0.790876058607,-0.790817382474,-0.790758699072,-0.790700008402,-0.790641310463,-0.790582605257,-0.790523892785,-0.790465173046,-0.790406446041,-0.790347711771,-0.790288970236,-0.790230221437,-0.790171465375,-0.790112702049,-0.790053931461,-0.789995153611,-0.789936368499,-0.789877576127,-0.789818776494,-0.789759969601,-0.789701155449,-0.789642334038,-0.789583505369,-0.789524669442,-0.789465826258,-0.789406975818,-0.789348118121,-0.789289253169,-0.789230380962,-0.7891715015,-0.789112614785,-0.789053720816,-0.788994819595,-0.788935911121,-0.788876995395,-0.788818072418,-0.788759142191,-0.788700204714,-0.788641259986,-0.78858230801,-0.788523348786,-0.788464382313,-0.788405408593,-0.788346427627,-0.788287439414,-0.788228443955,-0.788169441251,-0.788110431302,-0.788051414109,-0.787992389673,-0.787933357993,-0.787874319071,-0.787815272907,-0.787756219501,-0.787697158855,-0.787638090968,-0.787579015842,-0.787519933476,-0.787460843872,-0.787401747029,-0.787342642949,-0.787283531631,-0.787224413078,-0.787165287288,-0.787106154262,-0.787047014002,-0.786987866507,-0.786928711779,-0.786869549817,-0.786810380623,-0.786751204196,-0.786692020538,-0.786632829648,-0.786573631529,-0.786514426179,-0.786455213599,-0.786395993791,-0.786336766754,-0.786277532489,-0.786218290997,-0.786159042279,-0.786099786334,-0.786040523163,-0.785981252768,-0.785921975148,-0.785862690303,-0.785803398236,-0.785744098945,-0.785684792432,-0.785625478697,-0.785566157741,-0.785506829564,-0.785447494167,-0.78538815155,-0.785328801714,-0.78526944466,-0.785210080387,-0.785150708897,-0.78509133019,-0.785031944267,-0.784972551128,-0.784913150773,-0.784853743204,-0.78479432842,-0.784734906423,-0.784675477213,-0.78461604079,-0.784556597156,-0.784497146309,-0.784437688252,-0.784378222984,-0.784318750507,-0.78425927082,-0.784199783925,-0.784140289821,-0.78408078851,-0.784021279991,-0.783961764266,-0.783902241336,-0.783842711199,-0.783783173858,-0.783723629312,-0.783664077562,-0.78360451861,-0.783544952454,-0.783485379096,-0.783425798537,-0.783366210777,-0.783306615816,-0.783247013655,-0.783187404294,-0.783127787735,-0.783068163977,-0.783008533022,-0.782948894869,-0.78288924952,-0.782829596975,-0.782769937233,-0.782710270297,-0.782650596167,-0.782590914842,-0.782531226324,-0.782471530613,-0.78241182771,-0.782352117615,-0.782292400329,-0.782232675852,-0.782172944185,-0.782113205328,-0.782053459283,-0.781993706049,-0.781933945627,-0.781874178018,-0.781814403222,-0.781754621239,-0.781694832071,-0.781635035718,-0.78157523218,-0.781515421458,-0.781455603552,-0.781395778464,-0.781335946193,-0.78127610674,-0.781216260106,-0.781156406291,-0.781096545296,-0.781036677122,-0.780976801768,-0.780916919235,-0.780857029525,-0.780797132637,-0.780737228572,-0.780677317331,-0.780617398914,-0.780557473322,-0.780497540555,-0.780437600613,-0.780377653499,-0.780317699211,-0.78025773775,-0.780197769118,-0.780137793314,-0.78007781034,-0.780017820195,-0.77995782288,-0.779897818396,-0.779837806744,-0.779777787923,-0.779717761935,-0.77965772878,-0.779597688458,-0.779537640971,-0.779477586318,-0.7794175245,-0.779357455518,-0.779297379373,-0.779237296064,-0.779177205593,-0.779117107959,-0.779057003164,-0.778996891209,-0.778936772093,-0.778876645817,-0.778816512381,-0.778756371788,-0.778696224036,-0.778636069126,-0.778575907059,-0.778515737836,-0.778455561457,-0.778395377922,-0.778335187233,-0.778274989389,-0.778214784392,-0.778154572241,-0.778094352938,-0.778034126482,-0.777973892876,-0.777913652118,-0.777853404209,-0.777793149151,-0.777732886944,-0.777672617588,-0.777612341083,-0.777552057431,-0.777491766632,-0.777431468687,-0.777371163595,-0.777310851358,-0.777250531976,-0.77719020545,-0.77712987178,-0.777069530967,-0.777009183011,-0.776948827913,-0.776888465673,-0.776828096293,-0.776767719772,-0.776707336111,-0.776646945311,-0.776586547372,-0.776526142295,-0.77646573008,-0.776405310728,-0.776344884239,-0.776284450615,-0.776224009855,-0.77616356196,-0.776103106931,-0.776042644768,-0.775982175472,-0.775921699043,-0.775861215483,-0.77580072479,-0.775740226967,-0.775679722013,-0.775619209929,-0.775558690716,-0.775498164374,-0.775437630904,-0.775377090306,-0.775316542582,-0.77525598773,-0.775195425753,-0.77513485665,-0.775074280423,-0.775013697071,-0.774953106595,-0.774892508996,-0.774831904274,-0.774771292431,-0.774710673466,-0.774650047379,-0.774589414173,-0.774528773846,-0.774468126401,-0.774407471836,-0.774346810154,-0.774286141353,-0.774225465436,-0.774164782402,-0.774104092252,-0.774043394987,-0.773982690607,-0.773921979112,-0.773861260504,-0.773800534783,-0.773739801949,-0.773679062003,-0.773618314946,-0.773557560778,-0.773496799499,-0.77343603111,-0.773375255613,-0.773314473006,-0.773253683291,-0.773192886469,-0.77313208254,-0.773071271504,-0.773010453363,-0.772949628116,-0.772888795764,-0.772827956308,-0.772767109748,-0.772706256086,-0.77264539532,-0.772584527453,-0.772523652484,-0.772462770415,-0.772401881245,-0.772340984975,-0.772280081606,-0.772219171139,-0.772158253573,-0.77209732891,-0.77203639715,-0.771975458294,-0.771914512342,-0.771853559294,-0.771792599152,-0.771731631916,-0.771670657586,-0.771609676163,-0.771548687647,-0.77148769204,-0.771426689341,-0.771365679552,-0.771304662672,-0.771243638702,-0.771182607644,-0.771121569497,-0.771060524262,-0.770999471939,-0.77093841253,-0.770877346034,-0.770816272453,-0.770755191786,-0.770694104035,-0.7706330092,-0.770571907281,-0.77051079828,-0.770449682196,-0.77038855903,-0.770327428783,-0.770266291455,-0.770205147047,-0.77014399556,-0.770082836993,-0.770021671348,-0.769960498626,-0.769899318826,-0.769838131949,-0.769776937996,-0.769715736967,-0.769654528864,-0.769593313685,-0.769532091433,-0.769470862108,-0.76940962571,-0.769348382239,-0.769287131697,-0.769225874083,-0.769164609399,-0.769103337646,-0.769042058822,-0.76898077293,-0.76891947997,-0.768858179941,-0.768796872846,-0.768735558684,-0.768674237456,-0.768612909162,-0.768551573804,-0.768490231381,-0.768428881894,-0.768367525344,-0.768306161731,-0.768244791057,-0.768183413321,-0.768122028523,-0.768060636666,-0.767999237748,-0.767937831772,-0.767876418736,-0.767814998642,-0.767753571491,-0.767692137283,-0.767630696018,-0.767569247698,-0.767507792322,-0.767446329891,-0.767384860406,-0.767323383868,-0.767261900276,-0.767200409632,-0.767138911936,-0.767077407188,-0.76701589539,-0.766954376542,-0.766892850643,-0.766831317696,-0.7667697777,-0.766708230657,-0.766646676565,-0.766585115427,-0.766523547243,-0.766461972013,-0.766400389738,-0.766338800418,-0.766277204054,-0.766215600647,-0.766153990196,-0.766092372704,-0.76603074817,-0.765969116594,-0.765907477978,-0.765845832322,-0.765784179626,-0.765722519892,-0.765660853119,-0.765599179308,-0.76553749846,-0.765475810575,-0.765414115655,-0.765352413699,-0.765290704707,-0.765228988682,-0.765167265622,-0.76510553553,-0.765043798405,-0.764982054247,-0.764920303058,-0.764858544838,-0.764796779588,-0.764735007308,-0.764673227998,-0.76461144166,-0.764549648293,-0.7644878479,-0.764426040479,-0.764364226031,-0.764302404558,-0.764240576059,-0.764178740536,-0.764116897989,-0.764055048418,-0.763993191824,-0.763931328207,-0.763869457569,-0.763807579909,-0.763745695228,-0.763683803528,-0.763621904807,-0.763559999068,-0.76349808631,-0.763436166534,-0.763374239741,-0.763312305931,-0.763250365105,-0.763188417263,-0.763126462407,-0.763064500535,-0.76300253165,-0.762940555752,-0.76287857284,-0.762816582917,-0.762754585981,-0.762692582035,-0.762630571078,-0.762568553112,-0.762506528136,-0.762444496151,-0.762382457158,-0.762320411157,-0.762258358149,-0.762196298135,-0.762134231114,-0.762072157089,-0.762010076058,-0.761947988023,-0.761885892985,-0.761823790943,-0.761761681899,-0.761699565854,-0.761637442806,-0.761575312758,-0.76151317571,-0.761451031662,-0.761388880615,-0.761326722569,-0.761264557525,-0.761202385484,-0.761140206446,-0.761078020412,-0.761015827383,-0.760953627358,-0.760891420339,-0.760829206325,-0.760766985319,-0.760704757319,-0.760642522328,-0.760580280344,-0.76051803137,-0.760455775405,-0.76039351245,-0.760331242506,-0.760268965573,-0.760206681651,-0.760144390742,-0.760082092846,-0.760019787964,-0.759957476095,-0.759895157241,-0.759832831403,-0.75977049858,-0.759708158773,-0.759645811984,-0.759583458211,-0.759521097457,-0.759458729722,-0.759396355006,-0.759333973309,-0.759271584633,-0.759209188978,-0.759146786345,-0.759084376733,-0.759021960145,-0.758959536579,-0.758897106037,-0.75883466852,-0.758772224027,-0.75870977256,-0.75864731412,-0.758584848705,-0.758522376319,-0.75845989696,-0.758397410629,-0.758334917327,-0.758272417055,-0.758209909813,-0.758147395602,-0.758084874422,-0.758022346273,-0.757959811158,-0.757897269075,-0.757834720026,-0.757772164011,-0.75770960103,-0.757647031085,-0.757584454176,-0.757521870303,-0.757459279468,-0.757396681669,-0.75733407691,-0.757271465188,-0.757208846506,-0.757146220865,-0.757083588263,-0.757020948703,-0.756958302184,-0.756895648707,-0.756832988273,-0.756770320883,-0.756707646536,-0.756644965234,-0.756582276977,-0.756519581766,-0.756456879601,-0.756394170483,-0.756331454412,-0.756268731389,-0.756206001414,-0.756143264489,-0.756080520614,-0.756017769788,-0.755955012014,-0.755892247291,-0.75582947562,-0.755766697001,-0.755703911436,-0.755641118924,-0.755578319467,-0.755515513065,-0.755452699718,-0.755389879427,-0.755327052193,-0.755264218016,-0.755201376897,-0.755138528836,-0.755075673834,-0.755012811891,-0.754949943009,-0.754887067187,-0.754824184426,-0.754761294728,-0.754698398092,-0.754635494518,-0.754572584008,-0.754509666563,-0.754446742182,-0.754383810866,-0.754320872617,-0.754257927433,-0.754194975317,-0.754132016268,-0.754069050288,-0.754006077376,-0.753943097533,-0.753880110761,-0.753817117059,-0.753754116428,-0.753691108869,-0.753628094382,-0.753565072968,-0.753502044627,-0.75343900936,-0.753375967167,-0.75331291805,-0.753249862009,-0.753186799044,-0.753123729155,-0.753060652344,-0.752997568612,-0.752934477957,-0.752871380382,-0.752808275887,-0.752745164472,-0.752682046138,-0.752618920886,-0.752555788715,-0.752492649627,-0.752429503623,-0.752366350702,-0.752303190866,-0.752240024115,-0.752176850449,-0.75211366987,-0.752050482377,-0.751987287971,-0.751924086654,-0.751860878424,-0.751797663284,-0.751734441234,-0.751671212274,-0.751607976404,-0.751544733626,-0.75148148394,-0.751418227347,-0.751354963846,-0.75129169344,-0.751228416127,-0.75116513191,-0.751101840788,-0.751038542762,-0.750975237832,-0.750911926,-0.750848607265,-0.750785281629,-0.750721949092,-0.750658609655,-0.750595263317,-0.75053191008,-0.750468549945,-0.750405182911,-0.75034180898,-0.750278428151,-0.750215040427,-0.750151645806,-0.750088244291,-0.75002483588,-0.749961420576,-0.749897998378,-0.749834569287,-0.749771133304,-0.749707690429,-0.749644240663,-0.749580784006,-0.74951732046,-0.749453850024,-0.749390372699,-0.749326888486,-0.749263397385,-0.749199899398,-0.749136394523,-0.749072882763,-0.749009364118,-0.748945838588,-0.748882306173,-0.748818766875,-0.748755220695,-0.748691667631,-0.748628107686,-0.74856454086,-0.748500967153,-0.748437386566,-0.748373799099,-0.748310204754,-0.74824660353,-0.748182995429,-0.74811938045,-0.748055758595,-0.747992129864,-0.747928494258,-0.747864851777,-0.747801202421,-0.747737546192,-0.74767388309,-0.747610213115,-0.747546536269,-0.747482852551,-0.747419161963,-0.747355464504,-0.747291760176,-0.747228048979,-0.747164330913,-0.74710060598,-0.74703687418,-0.746973135513,-0.74690938998,-0.746845637581,-0.746781878318,-0.746718112191,-0.746654339199,-0.746590559345,-0.746526772628,-0.74646297905,-0.74639917861,-0.746335371309,-0.746271557148,-0.746207736127,-0.746143908248,-0.74608007351,-0.746016231914,-0.745952383461,-0.745888528152,-0.745824665986,-0.745760796965,-0.745696921089,-0.745633038359,-0.745569148775,-0.745505252338,-0.745441349049,-0.745377438907,-0.745313521914,-0.745249598071,-0.745185667377,-0.745121729834,-0.745057785441,-0.744993834201,-0.744929876112,-0.744865911176,-0.744801939394,-0.744737960765,-0.744673975291,-0.744609982972,-0.744545983809,-0.744481977802,-0.744417964952,-0.74435394526,-0.744289918725,-0.74422588535,-0.744161845133,-0.744097798076,-0.74403374418,-0.743969683445,-0.743905615871,-0.743841541459,-0.74377746021,-0.743713372125,-0.743649277203,-0.743585175447,-0.743521066855,-0.743456951429,-0.743392829169,-0.743328700076,-0.74326456415,-0.743200421393,-0.743136271804,-0.743072115385,-0.743007952135,-0.742943782056,-0.742879605148,-0.742815421411,-0.742751230847,-0.742687033455,-0.742622829237,-0.742558618193,-0.742494400323,-0.742430175629,-0.74236594411,-0.742301705767,-0.742237460602,-0.742173208614,-0.742108949804,-0.742044684173,-0.741980411721,-0.741916132449,-0.741851846357,-0.741787553447,-0.741723253718,-0.741658947171,-0.741594633807,-0.741530313627,-0.741465986631,-0.741401652819,-0.741337312192,-0.741272964751,-0.741208610497,-0.74114424943,-0.74107988155,-0.741015506858,-0.740951125355,-0.740886737041,-0.740822341918,-0.740757939984,-0.740693531242,-0.740629115692,-0.740564693334,-0.740500264169,-0.740435828197,-0.740371385419,-0.740306935836,-0.740242479449,-0.740178016257,-0.740113546261,-0.740049069463,-0.739984585862,-0.73992009546,-0.739855598256,-0.739791094251,-0.739726583447,-0.739662065843,-0.739597541441,-0.73953301024,-0.739468472242,-0.739403927446,-0.739339375854,-0.739274817467,-0.739210252284,-0.739145680306,-0.739081101534,-0.739016515969,-0.738951923611,-0.738887324461,-0.738822718519,-0.738758105785,-0.738693486262,-0.738628859948,-0.738564226845,-0.738499586954,-0.738434940274,-0.738370286807,-0.738305626552,-0.738240959512,-0.738176285686,-0.738111605074,-0.738046917678,-0.737982223498,-0.737917522535,-0.737852814788,-0.73778810026,-0.73772337895,-0.737658650859,-0.737593915988,-0.737529174337,-0.737464425906,-0.737399670697,-0.73733490871,-0.737270139946,-0.737205364405,-0.737140582087,-0.737075792994,-0.737010997126,-0.736946194484,-0.736881385067,-0.736816568877,-0.736751745915,-0.736686916181,-0.736622079675,-0.736557236398,-0.736492386351,-0.736427529534,-0.736362665948,-0.736297795594,-0.736232918472,-0.736168034582,-0.736103143926,-0.736038246504,-0.735973342316,-0.735908431363,-0.735843513646,-0.735778589166,-0.735713657922,-0.735648719916,-0.735583775147,-0.735518823618,-0.735453865327,-0.735388900277,-0.735323928467,-0.735258949898,-0.73519396457,-0.735128972485,-0.735063973643,-0.734998968044,-0.73493395569,-0.73486893658,-0.734803910715,-0.734738878096,-0.734673838723,-0.734608792598,-0.73454373972,-0.73447868009,-0.73441361371,-0.734348540578,-0.734283460697,-0.734218374066,-0.734153280687,-0.734088180559,-0.734023073684,-0.733957960061,-0.733892839693,-0.733827712578,-0.733762578719,-0.733697438115,-0.733632290766,-0.733567136675,-0.733501975841,-0.733436808264,-0.733371633946,-0.733306452887,-0.733241265087,-0.733176070548,-0.733110869269,-0.733045661252,-0.732980446497,-0.732915225005,-0.732849996775,-0.73278476181,-0.732719520109,-0.732654271672,-0.732589016502,-0.732523754598,-0.73245848596,-0.73239321059,-0.732327928488,-0.732262639654,-0.73219734409,-0.732132041795,-0.732066732771,-0.732001417018,-0.731936094537,-0.731870765327,-0.731805429391,-0.731740086728,-0.731674737338,-0.731609381224,-0.731544018385,-0.731478648821,-0.731413272534,-0.731347889524,-0.731282499791,-0.731217103337,-0.731151700162,-0.731086290265,-0.731020873649,-0.730955450314,-0.73089002026,-0.730824583487,-0.730759139997,-0.73069368979,-0.730628232867,-0.730562769228,-0.730497298874,-0.730431821805,-0.730366338022,-0.730300847526,-0.730235350317,-0.730169846395,-0.730104335763,-0.730038818419,-0.729973294365,-0.729907763601,-0.729842226128,-0.729776681947,-0.729711131057,-0.72964557346,-0.729580009157,-0.729514438147,-0.729448860432,-0.729383276012,-0.729317684887,-0.729252087059,-0.729186482527,-0.729120871293,-0.729055253358,-0.728989628721,-0.728923997383,-0.728858359345,-0.728792714607,-0.728727063171,-0.728661405036,-0.728595740204,-0.728530068674,-0.728464390448,-0.728398705526,-0.728333013909,-0.728267315597,-0.728201610591,-0.728135898892,-0.7280701805,-0.728004455415,-0.727938723639,-0.727872985172,-0.727807240014,-0.727741488167,-0.72767572963,-0.727609964404,-0.727544192491,-0.72747841389,-0.727412628602,-0.727346836628,-0.727281037969,-0.727215232624,-0.727149420595,-0.727083601883,-0.727017776487,-0.726951944408,-0.726886105648,-0.726820260206,-0.726754408083,-0.72668854928,-0.726622683798,-0.726556811636,-0.726490932796,-0.726425047279,-0.726359155084,-0.726293256213,-0.726227350666,-0.726161438444,-0.726095519546,-0.726029593975,-0.72596366173,-0.725897722813,-0.725831777223,-0.725765824961,-0.725699866028,-0.725633900425,-0.725567928152,-0.72550194921,-0.725435963599,-0.72536997132,-0.725303972373,-0.72523796676,-0.72517195448,-0.725105935535,-0.725039909925,-0.72497387765,-0.724907838712,-0.72484179311,-0.724775740846,-0.724709681919,-0.724643616332,-0.724577544084,-0.724511465175,-0.724445379607,-0.72437928738,-0.724313188495,-0.724247082951,-0.724180970751,-0.724114851895,-0.724048726382,-0.723982594214,-0.723916455391,-0.723850309915,-0.723784157784,-0.723717999001,-0.723651833566,-0.723585661479,-0.723519482741,-0.723453297353,-0.723387105314,-0.723320906627,-0.723254701291,-0.723188489307,-0.723122270675,-0.723056045397,-0.722989813472,-0.722923574902,-0.722857329687,-0.722791077828,-0.722724819325,-0.722658554179,-0.72259228239,-0.722526003959,-0.722459718887,-0.722393427175,-0.722327128822,-0.72226082383,-0.722194512199,-0.722128193929,-0.722061869022,-0.721995537478,-0.721929199298,-0.721862854481,-0.72179650303,-0.721730144944,-0.721663780224,-0.72159740887,-0.721531030884,-0.721464646266,-0.721398255016,-0.721331857135,-0.721265452624,-0.721199041483,-0.721132623713,-0.721066199315,-0.720999768288,-0.720933330634,-0.720866886354,-0.720800435448,-0.720733977916,-0.720667513759,-0.720601042978,-0.720534565574,-0.720468081546,-0.720401590897,-0.720335093625,-0.720268589732,-0.720202079219,-0.720135562085,-0.720069038333,-0.720002507961,-0.719935970972,-0.719869427365,-0.719802877141,-0.719736320301,-0.719669756845,-0.719603186774,-0.719536610089,-0.71947002679,-0.719403436878,-0.719336840353,-0.719270237216,-0.719203627467,-0.719137011108,-0.719070388139,-0.71900375856,-0.718937122373,-0.718870479577,-0.718803830173,-0.718737174162,-0.718670511545,-0.718603842322,-0.718537166494,-0.718470484061,-0.718403795023,-0.718337099383,-0.71827039714,-0.718203688294,-0.718136972847,-0.718070250799,-0.718003522151,-0.717936786903,-0.717870045056,-0.71780329661,-0.717736541566,-0.717669779926,-0.717603011688,-0.717536236854,-0.717469455425,-0.717402667402,-0.717335872784,-0.717269071572,-0.717202263767,-0.71713544937,-0.717068628381,-0.717001800802,-0.716934966631,-0.716868125871,-0.716801278521,-0.716734424583,-0.716667564056,-0.716600696943,-0.716533823242,-0.716466942955,-0.716400056082,-0.716333162625,-0.716266262583,-0.716199355957,-0.716132442748,-0.716065522957,-0.715998596584,-0.715931663629,-0.715864724094,-0.715797777979,-0.715730825284,-0.71566386601,-0.715596900158,-0.715529927729,-0.715462948722,-0.715395963139,-0.715328970981,-0.715261972247,-0.715194966939,-0.715127955056,-0.715060936601,-0.714993911573,-0.714926879972,-0.714859841801,-0.714792797058,-0.714725745745,-0.714658687863,-0.714591623411,-0.714524552392,-0.714457474804,-0.714390390649,-0.714323299928,-0.714256202641,-0.714189098789,-0.714121988372,-0.71405487139,-0.713987747846,-0.713920617738,-0.713853481069,-0.713786337838,-0.713719188046,-0.713652031693,-0.713584868781,-0.713517699309,-0.71345052328,-0.713383340692,-0.713316151547,-0.713248955845,-0.713181753587,-0.713114544774,-0.713047329406,-0.712980107484,-0.712912879009,-0.71284564398,-0.712778402399,-0.712711154267,-0.712643899583,-0.712576638349,-0.712509370565,-0.712442096231,-0.71237481535,-0.71230752792,-0.712240233942,-0.712172933418,-0.712105626348,-0.712038312733,-0.711970992572,-0.711903665867,-0.711836332619,-0.711768992827,-0.711701646493,-0.711634293617,-0.7115669342,-0.711499568243,-0.711432195745,-0.711364816708,-0.711297431133,-0.711230039019,-0.711162640368,-0.71109523518,-0.711027823456,-0.710960405196,-0.710892980401,-0.710825549072,-0.710758111209,-0.710690666813,-0.710623215884,-0.710555758424,-0.710488294432,-0.71042082391,-0.710353346857,-0.710285863275,-0.710218373164,-0.710150876526,-0.710083373359,-0.710015863666,-0.709948347446,-0.709880824701,-0.70981329543,-0.709745759636,-0.709678217317,-0.709610668475,-0.70954311311,-0.709475551224,-0.709407982816,-0.709340407888,-0.709272826439,-0.709205238471,-0.709137643984,-0.709070042978,-0.709002435456,-0.708934821416,-0.70886720086,-0.708799573788,-0.7087319402,-0.708664300099,-0.708596653483,-0.708529000354,-0.708461340713,-0.70839367456,-0.708326001895,-0.708258322719,-0.708190637033,-0.708122944838,-0.708055246134,-0.707987540921,-0.707919829201,-0.707852110974,-0.70778438624,-0.707716655,-0.707648917256,-0.707581173006,-0.707513422253,-0.707445664997,-0.707377901238,-0.707310130976,-0.707242354214,-0.70717457095,-0.707106781187,-0.707038984923,-0.706971182161,-0.706903372901,-0.706835557142,-0.706767734887,-0.706699906135,-0.706632070888,-0.706564229145,-0.706496380907,-0.706428526176,-0.706360664951,-0.706292797234,-0.706224923024,-0.706157042323,-0.706089155131,-0.706021261449,-0.705953361278,-0.705885454617,-0.705817541468,-0.705749621831,-0.705681695708,-0.705613763097,-0.705545824001,-0.70547787842,-0.705409926354,-0.705341967804,-0.705274002771,-0.705206031255,-0.705138053257,-0.705070068777,-0.705002077817,-0.704934080376,-0.704866076456,-0.704798066056,-0.704730049179,-0.704662025823,-0.704593995991,-0.704525959682,-0.704457916897,-0.704389867637,-0.704321811903,-0.704253749694,-0.704185681012,-0.704117605858,-0.704049524231,-0.703981436133,-0.703913341564,-0.703845240524,-0.703777133016,-0.703709019038,-0.703640898592,-0.703572771678,-0.703504638297,-0.703436498449,-0.703368352136,-0.703300199358,-0.703232040114,-0.703163874407,-0.703095702237,-0.703027523604,-0.702959338509,-0.702891146952,-0.702822948935,-0.702754744457,-0.70268653352,-0.702618316124,-0.702550092269,-0.702481861957,-0.702413625188,-0.702345381962,-0.702277132281,-0.702208876144,-0.702140613553,-0.702072344508,-0.70200406901,-0.701935787059,-0.701867498656,-0.701799203801,-0.701730902496,-0.70166259474,-0.701594280535,-0.701525959881,-0.701457632779,-0.701389299229,-0.701320959232,-0.701252612789,-0.7011842599,-0.701115900566,-0.701047534787,-0.700979162565,-0.700910783899,-0.700842398791,-0.70077400724,-0.700705609248,-0.700637204816,-0.700568793943,-0.700500376631,-0.70043195288,-0.700363522691,-0.700295086064,-0.700226643001,-0.700158193501,-0.700089737565,-0.700021275194,-0.699952806389,-0.69988433115,-0.699815849477,-0.699747361373,-0.699678866836,-0.699610365868,-0.699541858469,-0.69947334464,-0.699404824382,-0.699336297695,-0.69926776458,-0.699199225037,-0.699130679068,-0.699062126672,-0.698993567851,-0.698925002604,-0.698856430934,-0.698787852839,-0.698719268322,-0.698650677381,-0.69858208002,-0.698513476236,-0.698444866033,-0.698376249409,-0.698307626366,-0.698238996904,-0.698170361024,-0.698101718727,-0.698033070013,-0.697964414883,-0.697895753337,-0.697827085377,-0.697758411002,-0.697689730213,-0.697621043012,-0.697552349398,-0.697483649372,-0.697414942935,-0.697346230088,-0.697277510831,-0.697208785165,-0.69714005309,-0.697071314607,-0.697002569716,-0.696933818419,-0.696865060716,-0.696796296608,-0.696727526095,-0.696658749177,-0.696589965856,-0.696521176132,-0.696452380006,-0.696383577478,-0.69631476855,-0.69624595322,-0.696177131491,-0.696108303363,-0.696039468837,-0.695970627913,-0.695901780591,-0.695832926873,-0.695764066759,-0.695695200249,-0.695626327345,-0.695557448047,-0.695488562356,-0.695419670271,-0.695350771795,-0.695281866927,-0.695212955668,-0.695144038019,-0.69507511398,-0.695006183552,-0.694937246736,-0.694868303532,-0.694799353942,-0.694730397964,-0.694661435601,-0.694592466853,-0.69452349172,-0.694454510203,-0.694385522303,-0.69431652802,-0.694247527356,-0.69417852031,-0.694109506883,-0.694040487076,-0.69397146089,-0.693902428324,-0.693833389381,-0.69376434406,-0.693695292362,-0.693626234288,-0.693557169838,-0.693488099013,-0.693419021814,-0.693349938241,-0.693280848295,-0.693211751976,-0.693142649285,-0.693073540224,-0.693004424791,-0.692935302989,-0.692866174817,-0.692797040277,-0.692727899369,-0.692658752093,-0.692589598451,-0.692520438442,-0.692451272068,-0.692382099329,-0.692312920226,-0.692243734759,-0.692174542929,-0.692105344737,-0.692036140183,-0.691966929269,-0.691897711993,-0.691828488358,-0.691759258364,-0.691690022012,-0.691620779301,-0.691551530233,-0.691482274809,-0.691413013029,-0.691343744893,-0.691274470403,-0.691205189558,-0.691135902361,-0.69106660881,-0.690997308908,-0.690928002653,-0.690858690048,-0.690789371093,-0.690720045788,-0.690650714135,-0.690581376132,-0.690512031783,-0.690442681086,-0.690373324043,-0.690303960654,-0.69023459092,-0.690165214841,-0.690095832419,-0.690026443653,-0.689957048545,-0.689887647095,-0.689818239303,-0.689748825171,-0.689679404699,-0.689609977887,-0.689540544737,-0.689471105249,-0.689401659423,-0.68933220726,-0.689262748761,-0.689193283927,-0.689123812757,-0.689054335254,-0.688984851417,-0.688915361246,-0.688845864744,-0.688776361909,-0.688706852744,-0.688637337248,-0.688567815422,-0.688498287267,-0.688428752784,-0.688359211973,-0.688289664834,-0.688220111369,-0.688150551578,-0.688080985462,-0.68801141302,-0.687941834255,-0.687872249167,-0.687802657755,-0.687733060022,-0.687663455967,-0.687593845591,-0.687524228895,-0.687454605879,-0.687384976545,-0.687315340892,-0.687245698921,-0.687176050634,-0.68710639603,-0.68703673511,-0.686967067875,-0.686897394326,-0.686827714463,-0.686758028287,-0.686688335798,-0.686618636998,-0.686548931886,-0.686479220463,-0.686409502731,-0.686339778689,-0.686270048339,-0.68620031168,-0.686130568714,-0.686060819441,-0.685991063863,-0.685921301978,-0.685851533789,-0.685781759296,-0.685711978499,-0.685642191399,-0.685572397997,-0.685502598293,-0.685432792289,-0.685362979984,-0.685293161379,-0.685223336475,-0.685153505273,-0.685083667773,-0.685013823976,-0.684943973882,-0.684874117492,-0.684804254808,-0.684734385828,-0.684664510555,-0.684594628988,-0.684524741129,-0.684454846978,-0.684384946535,-0.684315039802,-0.684245126779,-0.684175207466,-0.684105281864,-0.684035349975,-0.683965411797,-0.683895467333,-0.683825516583,-0.683755559547,-0.683685596226,-0.683615626621,-0.683545650732,-0.68347566856,-0.683405680106,-0.68333568537,-0.683265684353,-0.683195677056,-0.683125663479,-0.683055643623,-0.682985617488,-0.682915585075,-0.682845546385,-0.682775501419,-0.682705450176,-0.682635392659,-0.682565328866,-0.6824952588,-0.682425182461,-0.682355099848,-0.682285010964,-0.682214915808,-0.682144814381,-0.682074706685,-0.682004592718,-0.681934472483,-0.68186434598,-0.681794213209,-0.681724074172,-0.681653928868,-0.681583777298,-0.681513619464,-0.681443455365,-0.681373285002,-0.681303108377,-0.681232925489,-0.681162736339,-0.681092540928,-0.681022339257,-0.680952131326,-0.680881917135,-0.680811696686,-0.68074146998,-0.680671237016,-0.680600997795,-0.680530752319,-0.680460500587,-0.680390242601,-0.680319978361,-0.680249707867,-0.68017943112,-0.680109148122,-0.680038858872,-0.679968563371,-0.679898261621,-0.67982795362,-0.679757639371,-0.679687318874,-0.679616992129,-0.679546659137,-0.679476319899,-0.679405974416,-0.679335622687,-0.679265264714,-0.679194900498,-0.679124530038,-0.679054153337,-0.678983770393,-0.678913381208,-0.678842985783,-0.678772584118,-0.678702176214,-0.678631762072,-0.678561341691,-0.678490915074,-0.67842048222,-0.67835004313,-0.678279597805,-0.678209146245,-0.678138688451,-0.678068224424,-0.677997754164,-0.677927277673,-0.677856794949,-0.677786305996,-0.677715810812,-0.677645309398,-0.677574801756,-0.677504287886,-0.677433767789,-0.677363241464,-0.677292708913,-0.677222170137,-0.677151625136,-0.677081073911,-0.677010516462,-0.67693995279,-0.676869382896,-0.67679880678,-0.676728224443,-0.676657635886,-0.67658704111,-0.676516440114,-0.6764458329,-0.676375219468,-0.676304599819,-0.676233973953,-0.676163341872,-0.676092703575,-0.676022059064,-0.67595140834,-0.675880751402,-0.675810088251,-0.675739418889,-0.675668743315,-0.675598061531,-0.675527373536,-0.675456679333,-0.675385978921,-0.6753152723,-0.675244559473,-0.675173840439,-0.675103115198,-0.675032383752,-0.674961646102,-0.674890902247,-0.674820152189,-0.674749395929,-0.674678633466,-0.674607864801,-0.674537089936,-0.67446630887,-0.674395521605,-0.674324728141,-0.674253928479,-0.674183122619,-0.674112310562,-0.674041492309,-0.673970667861,-0.673899837217,-0.673829000379,-0.673758157347,-0.673687308122,-0.673616452705,-0.673545591096,-0.673474723296,-0.673403849306,-0.673332969125,-0.673262082756,-0.673191190198,-0.673120291453,-0.67304938652,-0.6729784754,-0.672907558095,-0.672836634605,-0.67276570493,-0.672694769071,-0.672623827029,-0.672552878804,-0.672481924397,-0.672410963809,-0.67233999704,-0.672269024091,-0.672198044963,-0.672127059656,-0.672056068172,-0.671985070509,-0.67191406667,-0.671843056655,-0.671772040465,-0.671701018099,-0.67162998956,-0.671558954847,-0.671487913961,-0.671416866903,-0.671345813674,-0.671274754274,-0.671203688703,-0.671132616963,-0.671061539054,-0.670990454977,-0.670919364732,-0.67084826832,-0.670777165742,-0.670706056998,-0.67063494209,-0.670563821017,-0.67049269378,-0.67042156038,-0.670350420818,-0.670279275094,-0.670208123209,-0.670136965164,-0.670065800959,-0.669994630595,-0.669923454072,-0.669852271392,-0.669781082554,-0.66970988756,-0.66963868641,-0.669567479105,-0.669496265646,-0.669425046032,-0.669353820266,-0.669282588347,-0.669211350276,-0.669140106053,-0.66906885568,-0.668997599157,-0.668926336485,-0.668855067665,-0.668783792696,-0.66871251158,-0.668641224317,-0.668569930908,-0.668498631354,-0.668427325655,-0.668356013813,-0.668284695826,-0.668213371698,-0.668142041427,-0.668070705014,-0.667999362461,-0.667928013768,-0.667856658935,-0.667785297963,-0.667713930854,-0.667642557607,-0.667571178223,-0.667499792702,-0.667428401047,-0.667357003256,-0.667285599331,-0.667214189273,-0.667142773082,-0.667071350759,-0.666999922304,-0.666928487718,-0.666857047002,-0.666785600156,-0.666714147181,-0.666642688078,-0.666571222847,-0.66649975149,-0.666428274006,-0.666356790396,-0.666285300662,-0.666213804803,-0.66614230282,-0.666070794714,-0.665999280486,-0.665927760136,-0.665856233666,-0.665784701074,-0.665713162363,-0.665641617533,-0.665570066585,-0.665498509518,-0.665426946335,-0.665355377035,-0.665283801619,-0.665212220088,-0.665140632443,-0.665069038684,-0.664997438811,-0.664925832826,-0.66485422073,-0.664782602522,-0.664710978203,-0.664639347775,-0.664567711237,-0.664496068591,-0.664424419837,-0.664352764976,-0.664281104008,-0.664209436934,-0.664137763755,-0.664066084472,-0.663994399084,-0.663922707593,-0.663851009999,-0.663779306304,-0.663707596507,-0.66363588061,-0.663564158612,-0.663492430515,-0.66342069632,-0.663348956026,-0.663277209635,-0.663205457148,-0.663133698564,-0.663061933885,-0.662990163111,-0.662918386243,-0.662846603282,-0.662774814228,-0.662703019082,-0.662631217845,-0.662559410516,-0.662487597098,-0.66241577759,-0.662343951994,-0.662272120309,-0.662200282537,-0.662128438678,-0.662056588733,-0.661984732702,-0.661912870587,-0.661841002387,-0.661769128104,-0.661697247738,-0.66162536129,-0.66155346876,-0.66148157015,-0.661409665459,-0.661337754689,-0.66126583784,-0.661193914913,-0.661121985908,-0.661050050826,-0.660978109668,-0.660906162435,-0.660834209126,-0.660762249744,-0.660690284287,-0.660618312758,-0.660546335157,-0.660474351484,-0.66040236174,-0.660330365925,-0.660258364041,-0.660186356089,-0.660114342067,-0.660042321979,-0.659970295823,-0.659898263601,-0.659826225313,-0.659754180961,-0.659682130544,-0.659610074063,-0.659538011519,-0.659465942913,-0.659393868246,-0.659321787517,-0.659249700728,-0.659177607879,-0.659105508972,-0.659033404006,-0.658961292982,-0.658889175901,-0.658817052764,-0.658744923571,-0.658672788323,-0.658600647021,-0.658528499665,-0.658456346256,-0.658384186795,-0.658312021282,-0.658239849717,-0.658167672103,-0.658095488439,-0.658023298725,-0.657951102963,-0.657878901154,-0.657806693297,-0.657734479394,-0.657662259445,-0.657590033451,-0.657517801413,-0.657445563331,-0.657373319206,-0.657301069038,-0.657228812829,-0.657156550578,-0.657084282287,-0.657012007956,-0.656939727587,-0.656867441178,-0.656795148732,-0.656722850249,-0.656650545729,-0.656578235174,-0.656505918583,-0.656433595958,-0.6563612673,-0.656288932608,-0.656216591883,-0.656144245127,-0.65607189234,-0.655999533522,-0.655927168674,-0.655854797797,-0.655782420892,-0.655710037959,-0.655637648999,-0.655565254012,-0.655492853,-0.655420445962,-0.6553480329,-0.655275613814,-0.655203188705,-0.655130757573,-0.65505832042,-0.654985877245,-0.65491342805,-0.654840972835,-0.654768511601,-0.654696044349,-0.654623571078,-0.654551091791,-0.654478606487,-0.654406115167,-0.654333617832,-0.654261114482,-0.654188605119,-0.654116089742,-0.654043568353,-0.653971040953,-0.653898507541,-0.653825968118,-0.653753422686,-0.653680871244,-0.653608313795,-0.653535750337,-0.653463180872,-0.6533906054,-0.653318023923,-0.653245436441,-0.653172842954,-0.653100243463,-0.653027637969,-0.652955026473,-0.652882408975,-0.652809785475,-0.652737155975,-0.652664520476,-0.652591878977,-0.65251923148,-0.652446577984,-0.652373918492,-0.652301253003,-0.652228581519,-0.652155904039,-0.652083220565,-0.652010531097,-0.651937835636,-0.651865134182,-0.651792426737,-0.6517197133,-0.651646993873,-0.651574268456,-0.65150153705,-0.651428799656,-0.651356056274,-0.651283306905,-0.651210551549,-0.651137790207,-0.65106502288,-0.650992249569,-0.650919470274,-0.650846684996,-0.650773893736,-0.650701096494,-0.65062829327,-0.650555484067,-0.650482668883,-0.65040984772,-0.650337020579,-0.65026418746,-0.650191348364,-0.650118503292,-0.650045652244,-0.649972795221,-0.649899932223,-0.649827063252,-0.649754188307,-0.649681307391,-0.649608420502,-0.649535527643,-0.649462628813,-0.649389724013,-0.649316813244,-0.649243896507,-0.649170973802,-0.64909804513,-0.649025110492,-0.648952169888,-0.648879223319,-0.648806270786,-0.648733312289,-0.648660347829,-0.648587377406,-0.648514401022,-0.648441418677,-0.648368430372,-0.648295436107,-0.648222435882,-0.6481494297,-0.64807641756,-0.648003399463,-0.64793037541,-0.647857345401,-0.647784309437,-0.647711267519,-0.647638219647,-0.647565165822,-0.647492106045,-0.647419040316,-0.647345968637,-0.647272891007,-0.647199807427,-0.647126717899,-0.647053622422,-0.646980520998,-0.646907413627,-0.646834300309,-0.646761181046,-0.646688055839,-0.646614924687,-0.646541787591,-0.646468644552,-0.646395495572,-0.64632234065,-0.646249179787,-0.646176012983,-0.646102840241,-0.646029661559,-0.645956476939,-0.645883286382,-0.645810089888,-0.645736887458,-0.645663679092,-0.645590464792,-0.645517244557,-0.645444018389,-0.645370786288,-0.645297548255,-0.645224304291,-0.645151054395,-0.64507779857,-0.645004536816,-0.644931269132,-0.644857995521,-0.644784715982,-0.644711430516,-0.644638139125,-0.644564841807,-0.644491538566,-0.6444182294,-0.644344914311,-0.644271593299,-0.644198266365,-0.64412493351,-0.644051594734,-0.643978250039,-0.643904899424,-0.64383154289,-0.643758180438,-0.643684812069,-0.643611437784,-0.643538057582,-0.643464671465,-0.643391279434,-0.643317881489,-0.64324447763,-0.643171067859,-0.643097652176,-0.643024230582,-0.642950803077,-0.642877369662,-0.642803930339,-0.642730485106,-0.642657033966,-0.642583576919,-0.642510113965,-0.642436645105,-0.642363170341,-0.642289689671,-0.642216203098,-0.642142710622,-0.642069212244,-0.641995707963,-0.641922197782,-0.6418486817,-0.641775159719,-0.641701631838,-0.641628098059,-0.641554558382,-0.641481012809,-0.641407461338,-0.641333903973,-0.641260340712,-0.641186771557,-0.641113196508,-0.641039615566,-0.640966028732,-0.640892436007,-0.64081883739,-0.640745232883,-0.640671622487,-0.640598006201,-0.640524384028,-0.640450755966,-0.640377122018,-0.640303482184,-0.640229836464,-0.64015618486,-0.640082527371,-0.640008863998,-0.639935194743,-0.639861519606,-0.639787838587,-0.639714151688,-0.639640458908,-0.639566760249,-0.639493055711,-0.639419345295,-0.639345629002,-0.639271906831,-0.639198178785,-0.639124444864,-0.639050705068,-0.638976959397,-0.638903207854,-0.638829450437,-0.638755687149,-0.63868191799,-0.63860814296,-0.638534362059,-0.63846057529,-0.638386782652,-0.638312984146,-0.638239179773,-0.638165369533,-0.638091553428,-0.638017731457,-0.637943903622,-0.637870069923,-0.63779623036,-0.637722384936,-0.637648533649,-0.637574676501,-0.637500813493,-0.637426944625,-0.637353069898,-0.637279189313,-0.63720530287,-0.637131410569,-0.637057512413,-0.636983608401,-0.636909698533,-0.636835782812,-0.636761861236,-0.636687933808,-0.636614000527,-0.636540061395,-0.636466116412,-0.636392165579,-0.636318208896,-0.636244246364,-0.636170277984,-0.636096303756,-0.636022323682,-0.635948337761,-0.635874345995,-0.635800348384,-0.635726344929,-0.63565233563,-0.635578320489,-0.635504299505,-0.63543027268,-0.635356240015,-0.635282201509,-0.635208157164,-0.63513410698,-0.635060050958,-0.634985989099,-0.634911921403,-0.634837847872,-0.634763768504,-0.634689683303,-0.634615592267,-0.634541495398,-0.634467392697,-0.634393284164,-0.634319169799,-0.634245049604,-0.634170923579,-0.634096791725,-0.634022654043,-0.633948510532,-0.633874361195,-0.633800206031,-0.633726045041,-0.633651878227,-0.633577705588,-0.633503527125,-0.633429342839,-0.633355152731,-0.633280956801,-0.63320675505,-0.633132547479,-0.633058334088,-0.632984114878,-0.632909889851,-0.632835659005,-0.632761422343,-0.632687179864,-0.63261293157,-0.632538677461,-0.632464417538,-0.632390151801,-0.632315880252,-0.63224160289,-0.632167319717,-0.632093030734,-0.63201873594,-0.631944435337,-0.631870128925,-0.631795816705,-0.631721498678,-0.631647174844,-0.631572845204,-0.631498509759,-0.631424168509,-0.631349821456,-0.631275468599,-0.63120110994,-0.631126745478,-0.631052375216,-0.630977999153,-0.63090361729,-0.630829229628,-0.630754836168,-0.63068043691,-0.630606031855,-0.630531621003,-0.630457204356,-0.630382781914,-0.630308353677,-0.630233919647,-0.630159479824,-0.630085034208,-0.630010582801,-0.629936125603,-0.629861662614,-0.629787193837,-0.62971271927,-0.629638238915,-0.629563752772,-0.629489260843,-0.629414763128,-0.629340259627,-0.629265750341,-0.629191235272,-0.629116714419,-0.629042187783,-0.628967655365,-0.628893117166,-0.628818573186,-0.628744023427,-0.628669467888,-0.62859490657,-0.628520339475,-0.628445766602,-0.628371187953,-0.628296603527,-0.628222013327,-0.628147417352,-0.628072815604,-0.627998208082,-0.627923594788,-0.627848975722,-0.627774350885,-0.627699720278,-0.627625083901,-0.627550441755,-0.627475793841,-0.627401140159,-0.62732648071,-0.627251815495,-0.627177144515,-0.627102467769,-0.627027785259,-0.626953096986,-0.62687840295,-0.626803703152,-0.626728997592,-0.626654286272,-0.626579569192,-0.626504846352,-0.626430117753,-0.626355383397,-0.626280643283,-0.626205897412,-0.626131145786,-0.626056388404,-0.625981625268,-0.625906856378,-0.625832081735,-0.625757301339,-0.625682515191,-0.625607723292,-0.625532925643,-0.625458122244,-0.625383313096,-0.625308498199,-0.625233677555,-0.625158851164,-0.625084019026,-0.625009181143,-0.624934337515,-0.624859488142,-0.624784633026,-0.624709772168,-0.624634905566,-0.624560033224,-0.62448515514,-0.624410271317,-0.624335381754,-0.624260486452,-0.624185585412,-0.624110678635,-0.624035766121,-0.623960847871,-0.623885923886,-0.623810994166,-0.623736058713,-0.623661117526,-0.623586170606,-0.623511217955,-0.623436259572,-0.623361295459,-0.623286325616,-0.623211350044,-0.623136368744,-0.623061381715,-0.62298638896,-0.622911390479,-0.622836386271,-0.622761376339,-0.622686360683,-0.622611339302,-0.622536312199,-0.622461279374,-0.622386240827,-0.62231119656,-0.622236146572,-0.622161090865,-0.622086029439,-0.622010962295,-0.621935889433,-0.621860810855,-0.621785726561,-0.621710636551,-0.621635540827,-0.621560439389,-0.621485332238,-0.621410219374,-0.621335100798,-0.621259976511,-0.621184846514,-0.621109710806,-0.62103456939,-0.620959422265,-0.620884269433,-0.620809110893,-0.620733946647,-0.620658776696,-0.620583601039,-0.620508419679,-0.620433232614,-0.620358039847,-0.620282841378,-0.620207637207,-0.620132427335,-0.620057211763,-0.619981990492,-0.619906763522,-0.619831530854,-0.619756292488,-0.619681048426,-0.619605798668,-0.619530543215,-0.619455282067,-0.619380015225,-0.61930474269,-0.619229464462,-0.619154180543,-0.619078890932,-0.619003595631,-0.618928294641,-0.618852987961,-0.618777675593,-0.618702357537,-0.618627033794,-0.618551704365,-0.61847636925,-0.618401028451,-0.618325681967,-0.6182503298,-0.61817497195,-0.618099608417,-0.618024239204,-0.617948864309,-0.617873483735,-0.617798097481,-0.617722705548,-0.617647307938,-0.61757190465,-0.617496495686,-0.617421081045,-0.61734566073,-0.61727023474,-0.617194803076,-0.617119365739,-0.61704392273,-0.616968474049,-0.616893019697,-0.616817559674,-0.616742093982,-0.616666622621,-0.616591145592,-0.616515662895,-0.616440174531,-0.616364680501,-0.616289180805,-0.616213675445,-0.616138164421,-0.616062647733,-0.615987125382,-0.61591159737,-0.615836063696,-0.615760524361,-0.615684979367,-0.615609428713,-0.615533872401,-0.615458310431,-0.615382742804,-0.61530716952,-0.615231590581,-0.615156005986,-0.615080415737,-0.615004819834,-0.614929218279,-0.614853611071,-0.614777998211,-0.614702379701,-0.61462675554,-0.61455112573,-0.614475490271,-0.614399849164,-0.61432420241,-0.614248550008,-0.614172891961,-0.614097228268,-0.614021558931,-0.61394588395,-0.613870203325,-0.613794517058,-0.613718825149,-0.613643127599,-0.613567424408,-0.613491715578,-0.613416001109,-0.613340281001,-0.613264555255,-0.613188823873,-0.613113086854,-0.613037344199,-0.61296159591,-0.612885841986,-0.612810082429,-0.61273431724,-0.612658546417,-0.612582769964,-0.61250698788,-0.612431200166,-0.612355406822,-0.61227960785,-0.61220380325,-0.612127993022,-0.612052177169,-0.611976355689,-0.611900528584,-0.611824695854,-0.611748857501,-0.611673013525,-0.611597163926,-0.611521308706,-0.611445447865,-0.611369581403,-0.611293709322,-0.611217831622,-0.611141948304,-0.611066059369,-0.610990164816,-0.610914264648,-0.610838358864,-0.610762447465,-0.610686530453,-0.610610607827,-0.610534679588,-0.610458745738,-0.610382806276,-0.610306861204,-0.610230910522,-0.610154954231,-0.610078992332,-0.610003024825,-0.60992705171,-0.60985107299,-0.609775088664,-0.609699098733,-0.609623103198,-0.609547102059,-0.609471095317,-0.609395082973,-0.609319065028,-0.609243041482,-0.609167012336,-0.609090977591,-0.609014937247,-0.608938891305,-0.608862839766,-0.608786782631,-0.608710719899,-0.608634651573,-0.608558577652,-0.608482498137,-0.608406413029,-0.608330322329,-0.608254226037,-0.608178124155,-0.608102016682,-0.608025903619,-0.607949784968,-0.607873660728,-0.607797530901,-0.607721395488,-0.607645254488,-0.607569107903,-0.607492955733,-0.607416797979,-0.607340634643,-0.607264465723,-0.607188291222,-0.607112111139,-0.607035925477,-0.606959734234,-0.606883537412,-0.606807335012,-0.606731127035,-0.60665491348,-0.606578694349,-0.606502469643,-0.606426239361,-0.606350003506,-0.606273762077,-0.606197515076,-0.606121262502,-0.606045004357,-0.605968740642,-0.605892471356,-0.605816196502,-0.605739916078,-0.605663630087,-0.605587338529,-0.605511041404,-0.605434738714,-0.605358430459,-0.605282116639,-0.605205797255,-0.605129472309,-0.605053141801,-0.604976805731,-0.6049004641,-0.604824116909,-0.604747764159,-0.60467140585,-0.604595041983,-0.604518672558,-0.604442297577,-0.60436591704,-0.604289530948,-0.604213139302,-0.604136742101,-0.604060339348,-0.603983931042,-0.603907517184,-0.603831097776,-0.603754672817,-0.603678242308,-0.603601806251,-0.603525364646,-0.603448917493,-0.603372464793,-0.603296006547,-0.603219542756,-0.60314307342,-0.60306659854,-0.602990118117,-0.602913632152,-0.602837140644,-0.602760643596,-0.602684141007,-0.602607632878,-0.60253111921,-0.602454600004,-0.60237807526,-0.602301544979,-0.602225009162,-0.60214846781,-0.602071920922,-0.601995368501,-0.601918810546,-0.601842247059,-0.601765678039,-0.601689103488,-0.601612523407,-0.601535937795,-0.601459346655,-0.601382749986,-0.601306147789,-0.601229540065,-0.601152926815,-0.601076308039,-0.600999683738,-0.600923053913,-0.600846418564,-0.600769777693,-0.600693131299,-0.600616479384,-0.600539821948,-0.600463158992,-0.600386490517,-0.600309816523,-0.600233137011,-0.600156451982,-0.600079761437,-0.600003065375,-0.599926363799,-0.599849656708,-0.599772944104,-0.599696225986,-0.599619502356,-0.599542773215,-0.599466038563,-0.599389298401,-0.599312552729,-0.599235801548,-0.59915904486,-0.599082282664,-0.599005514961,-0.598928741752,-0.598851963039,-0.59877517882,-0.598698389098,-0.598621593873,-0.598544793146,-0.598467986916,-0.598391175186,-0.598314357955,-0.598237535225,-0.598160706996,-0.598083873269,-0.598007034045,-0.597930189323,-0.597853339106,-0.597776483393,-0.597699622186,-0.597622755484,-0.59754588329,-0.597469005603,-0.597392122424,-0.597315233754,-0.597238339593,-0.597161439943,-0.597084534804,-0.597007624177,-0.596930708062,-0.59685378646,-0.596776859373,-0.596699926799,-0.596622988741,-0.596546045199,-0.596469096174,-0.596392141666,-0.596315181676,-0.596238216205,-0.596161245253,-0.596084268822,-0.596007286911,-0.595930299522,-0.595853306656,-0.595776308312,-0.595699304492,-0.595622295197,-0.595545280427,-0.595468260183,-0.595391234465,-0.595314203275,-0.595237166612,-0.595160124479,-0.595083076875,-0.5950060238,-0.594928965257,-0.594851901245,-0.594774831766,-0.594697756819,-0.594620676407,-0.594543590528,-0.594466499185,-0.594389402377,-0.594312300106,-0.594235192372,-0.594158079176,-0.594080960519,-0.594003836401,-0.593926706823,-0.593849571785,-0.59377243129,-0.593695285336,-0.593618133925,-0.593540977058,-0.593463814735,-0.593386646958,-0.593309473725,-0.59323229504,-0.593155110901,-0.593077921311,-0.593000726268,-0.592923525776,-0.592846319833,-0.59276910844,-0.5926918916,-0.592614669311,-0.592537441575,-0.592460208393,-0.592382969764,-0.592305725691,-0.592228476174,-0.592151221212,-0.592073960808,-0.591996694962,-0.591919423674,-0.591842146946,-0.591764864777,-0.591687577169,-0.591610284122,-0.591532985637,-0.591455681715,-0.591378372357,-0.591301057562,-0.591223737333,-0.591146411669,-0.591069080572,-0.590991744041,-0.590914402078,-0.590837054684,-0.590759701859,-0.590682343604,-0.590604979919,-0.590527610805,-0.590450236264,-0.590372856295,-0.5902954709,-0.590218080079,-0.590140683832,-0.590063282161,-0.589985875067,-0.589908462549,-0.589831044609,-0.589753621248,-0.589676192466,-0.589598758263,-0.589521318641,-0.5894438736,-0.589366423141,-0.589288967265,-0.589211505973,-0.589134039264,-0.58905656714,-0.588979089602,-0.58890160665,-0.588824118285,-0.588746624507,-0.588669125318,-0.588591620718,-0.588514110708,-0.588436595288,-0.588359074459,-0.588281548223,-0.588204016579,-0.588126479528,-0.588048937072,-0.58797138921,-0.587893835943,-0.587816277273,-0.5877387132,-0.587661143725,-0.587583568848,-0.587505988569,-0.587428402891,-0.587350811813,-0.587273215337,-0.587195613462,-0.58711800619,-0.587040393521,-0.586962775456,-0.586885151996,-0.586807523142,-0.586729888893,-0.586652249252,-0.586574604218,-0.586496953793,-0.586419297976,-0.58634163677,-0.586263970174,-0.586186298189,-0.586108620815,-0.586030938055,-0.585953249908,-0.585875556375,-0.585797857456,-0.585720153154,-0.585642443467,-0.585564728397,-0.585487007945,-0.585409282111,-0.585331550896,-0.585253814301,-0.585176072327,-0.585098324973,-0.585020572242,-0.584942814133,-0.584865050648,-0.584787281786,-0.584709507549,-0.584631727938,-0.584553942953,-0.584476152595,-0.584398356864,-0.584320555762,-0.584242749289,-0.584164937446,-0.584087120233,-0.584009297651,-0.583931469701,-0.583853636384,-0.5837757977,-0.583697953651,-0.583620104236,-0.583542249456,-0.583464389313,-0.583386523806,-0.583308652938,-0.583230776707,-0.583152895116,-0.583075008164,-0.582997115853,-0.582919218184,-0.582841315156,-0.582763406771,-0.582685493029,-0.582607573931,-0.582529649478,-0.58245171967,-0.582373784509,-0.582295843995,-0.582217898128,-0.58213994691,-0.582061990341,-0.581984028421,-0.581906061153,-0.581828088535,-0.581750110569,-0.581672127256,-0.581594138597,-0.581516144591,-0.581438145241,-0.581360140546,-0.581282130507,-0.581204115125,-0.581126094401,-0.581048068335,-0.580970036929,-0.580892000182,-0.580813958096,-0.580735910671,-0.580657857908,-0.580579799808,-0.580501736371,-0.580423667598,-0.580345593491,-0.580267514049,-0.580189429273,-0.580111339164,-0.580033243723,-0.57995514295,-0.579877036847,-0.579798925413,-0.579720808651,-0.579642686559,-0.579564559139,-0.579486426393,-0.579408288319,-0.57933014492,-0.579251996196,-0.579173842148,-0.579095682775,-0.57901751808,-0.578939348063,-0.578861172724,-0.578782992065,-0.578704806085,-0.578626614786,-0.578548418169,-0.578470216233,-0.578392008981,-0.578313796412,-0.578235578527,-0.578157355327,-0.578079126813,-0.578000892985,-0.577922653845,-0.577844409392,-0.577766159628,-0.577687904553,-0.577609644168,-0.577531378474,-0.577453107472,-0.577374831161,-0.577296549544,-0.57721826262,-0.57713997039,-0.577061672856,-0.576983370017,-0.576905061875,-0.57682674843,-0.576748429682,-0.576670105634,-0.576591776285,-0.576513441636,-0.576435101688,-0.576356756441,-0.576278405897,-0.576200050055,-0.576121688917,-0.576043322484,-0.575964950756,-0.575886573734,-0.575808191418,-0.575729803809,-0.575651410909,-0.575573012717,-0.575494609235,-0.575416200463,-0.575337786402,-0.575259367052,-0.575180942415,-0.575102512491,-0.57502407728,-0.574945636784,-0.574867191004,-0.574788739939,-0.574710283591,-0.57463182196,-0.574553355048,-0.574474882854,-0.57439640538,-0.574317922626,-0.574239434593,-0.574160941282,-0.574082442693,-0.574003938827,-0.573925429686,-0.573846915269,-0.573768395577,-0.573689870611,-0.573611340372,-0.57353280486,-0.573454264077,-0.573375718023,-0.573297166698,-0.573218610104,-0.57314004824,-0.573061481109,-0.57298290871,-0.572904331045,-0.572825748113,-0.572747159916,-0.572668566454,-0.572589967729,-0.572511363741,-0.57243275449,-0.572354139977,-0.572275520204,-0.57219689517,-0.572118264877,-0.572039629325,-0.571960988515,-0.571882342447,-0.571803691123,-0.571725034543,-0.571646372708,-0.571567705618,-0.571489033275,-0.571410355679,-0.57133167283,-0.57125298473,-0.571174291379,-0.571095592778,-0.571016888928,-0.570938179828,-0.570859465481,-0.570780745887,-0.570702021046,-0.57062329096,-0.570544555628,-0.570465815052,-0.570387069232,-0.57030831817,-0.570229561865,-0.570150800319,-0.570072033533,-0.569993261506,-0.56991448424,-0.569835701736,-0.569756913993,-0.569678121014,-0.569599322798,-0.569520519347,-0.569441710661,-0.56936289674,-0.569284077586,-0.5692052532,-0.569126423581,-0.569047588731,-0.568968748651,-0.56888990334,-0.568811052801,-0.568732197033,-0.568653336037,-0.568574469815,-0.568495598366,-0.568416721692,-0.568337839793,-0.56825895267,-0.568180060324,-0.568101162755,-0.568022259964,-0.567943351952,-0.56786443872,-0.567785520268,-0.567706596597,-0.567627667708,-0.567548733601,-0.567469794278,-0.567390849738,-0.567311899983,-0.567232945014,-0.567153984831,-0.567075019434,-0.566996048825,-0.566917073004,-0.566838091973,-0.566759105731,-0.56668011428,-0.566601117619,-0.566522115751,-0.566443108675,-0.566364096393,-0.566285078905,-0.566206056212,-0.566127028314,-0.566047995212,-0.565968956908,-0.565889913401,-0.565810864693,-0.565731810784,-0.565652751674,-0.565573687366,-0.565494617859,-0.565415543154,-0.565336463251,-0.565257378153,-0.565178287858,-0.565099192369,-0.565020091685,-0.564940985808,-0.564861874738,-0.564782758476,-0.564703637022,-0.564624510378,-0.564545378544,-0.564466241521,-0.564387099309,-0.564307951909,-0.564228799323,-0.56414964155,-0.564070478592,-0.563991310449,-0.563912137122,-0.563832958611,-0.563753774918,-0.563674586043,-0.563595391987,-0.56351619275,-0.563436988334,-0.563357778739,-0.563278563965,-0.563199344014,-0.563120118886,-0.563040888582,-0.562961653102,-0.562882412448,-0.56280316662,-0.562723915619,-0.562644659446,-0.562565398101,-0.562486131584,-0.562406859898,-0.562327583042,-0.562248301017,-0.562169013824,-0.562089721464,-0.562010423937,-0.561931121245,-0.561851813387,-0.561772500365,-0.561693182179,-0.56161385883,-0.561534530319,-0.561455196646,-0.561375857813,-0.561296513819,-0.561217164666,-0.561137810355,-0.561058450886,-0.560979086259,-0.560899716477,-0.560820341538,-0.560740961445,-0.560661576197,-0.560582185796,-0.560502790242,-0.560423389537,-0.56034398368,-0.560264572672,-0.560185156514,-0.560105735208,-0.560026308753,-0.55994687715,-0.559867440401,-0.559787998505,-0.559708551464,-0.559629099278,-0.559549641948,-0.559470179475,-0.559390711859,-0.559311239102,-0.559231761203,-0.559152278164,-0.559072789986,-0.558993296668,-0.558913798213,-0.55883429462,-0.55875478589,-0.558675272025,-0.558595753024,-0.558516228889,-0.55843669962,-0.558357165218,-0.558277625683,-0.558198081017,-0.558118531221,-0.558038976294,-0.557959416237,-0.557879851053,-0.55780028074,-0.5577207053,-0.557641124733,-0.557561539041,-0.557481948224,-0.557402352283,-0.557322751218,-0.55724314503,-0.55716353372,-0.557083917289,-0.557004295737,-0.556924669066,-0.556845037275,-0.556765400366,-0.556685758339,-0.556606111196,-0.556526458936,-0.55644680156,-0.55636713907,-0.556287471466,-0.556207798749,-0.556128120919,-0.556048437977,-0.555968749924,-0.555889056761,-0.555809358488,-0.555729655107,-0.555649946617,-0.55557023302,-0.555490514316,-0.555410790506,-0.555331061591,-0.555251327571,-0.555171588448,-0.555091844222,-0.555012094893,-0.554932340463,-0.554852580932,-0.554772816301,-0.55469304657,-0.554613271741,-0.554533491814,-0.55445370679,-0.55437391667,-0.554294121454,-0.554214321142,-0.554134515737,-0.554054705238,-0.553974889647,-0.553895068963,-0.553815243188,-0.553735412323,-0.553655576367,-0.553575735323,-0.55349588919,-0.55341603797,-0.553336181663,-0.55325632027,-0.553176453791,-0.553096582227,-0.55301670558,-0.552936823849,-0.552856937036,-0.552777045142,-0.552697148166,-0.55261724611,-0.552537338974,-0.55245742676,-0.552377509467,-0.552297587097,-0.552217659651,-0.552137727129,-0.552057789531,-0.551977846859,-0.551897899114,-0.551817946295,-0.551737988405,-0.551658025443,-0.55157805741,-0.551498084307,-0.551418106135,-0.551338122894,-0.551258134586,-0.551178141211,-0.551098142769,-0.551018139262,-0.55093813069,-0.550858117053,-0.550778098354,-0.550698074592,-0.550618045768,-0.550538011882,-0.550457972937,-0.550377928931,-0.550297879867,-0.550217825744,-0.550137766564,-0.550057702327,-0.549977633035,-0.549897558687,-0.549817479284,-0.549737394827,-0.549657305318,-0.549577210756,-0.549497111143,-0.549417006478,-0.549336896764,-0.549256782,-0.549176662188,-0.549096537327,-0.54901640742,-0.548936272466,-0.548856132466,-0.548775987421,-0.548695837333,-0.5486156822,-0.548535522025,-0.548455356808,-0.548375186549,-0.54829501125,-0.548214830912,-0.548134645534,-0.548054455118,-0.547974259664,-0.547894059173,-0.547813853646,-0.547733643084,-0.547653427487,-0.547573206857,-0.547492981193,-0.547412750496,-0.547332514768,-0.547252274009,-0.54717202822,-0.547091777401,-0.547011521554,-0.546931260678,-0.546850994775,-0.546770723846,-0.546690447891,-0.546610166911,-0.546529880906,-0.546449589878,-0.546369293827,-0.546288992754,-0.54620868666,-0.546128375545,-0.54604805941,-0.545967738256,-0.545887412083,-0.545807080893,-0.545726744686,-0.545646403463,-0.545566057224,-0.54548570597,-0.545405349703,-0.545324988422,-0.545244622129,-0.545164250824,-0.545083874508,-0.545003493181,-0.544923106845,-0.544842715501,-0.544762319148,-0.544681917788,-0.544601511421,-0.544521100048,-0.544440683671,-0.544360262288,-0.544279835903,-0.544199404514,-0.544118968123,-0.544038526731,-0.543958080338,-0.543877628945,-0.543797172553,-0.543716711162,-0.543636244774,-0.543555773389,-0.543475297007,-0.54339481563,-0.543314329258,-0.543233837893,-0.543153341534,-0.543072840182,-0.542992333838,-0.542911822504,-0.542831306179,-0.542750784865,-0.542670258561,-0.54258972727,-0.542509190991,-0.542428649726,-0.542348103474,-0.542267552238,-0.542186996017,-0.542106434812,-0.542025868625,-0.541945297455,-0.541864721304,-0.541784140172,-0.541703554061,-0.54162296297,-0.5415423669,-0.541461765853,-0.541381159829,-0.541300548828,-0.541219932853,-0.541139311902,-0.541058685977,-0.540978055079,-0.540897419208,-0.540816778366,-0.540736132552,-0.540655481768,-0.540574826015,-0.540494165293,-0.540413499602,-0.540332828945,-0.54025215332,-0.54017147273,-0.540090787174,-0.540010096655,-0.539929401171,-0.539848700725,-0.539767995316,-0.539687284946,-0.539606569616,-0.539525849325,-0.539445124075,-0.539364393867,-0.539283658701,-0.539202918578,-0.539122173499,-0.539041423464,-0.538960668474,-0.538879908531,-0.538799143634,-0.538718373785,-0.538637598984,-0.538556819232,-0.538476034529,-0.538395244877,-0.538314450277,-0.538233650728,-0.538152846232,-0.538072036789,-0.5379912224,-0.537910403067,-0.537829578789,-0.537748749567,-0.537667915402,-0.537587076296,-0.537506232248,-0.537425383259,-0.53734452933,-0.537263670463,-0.537182806656,-0.537101937913,-0.537021064232,-0.536940185615,-0.536859302062,-0.536778413575,-0.536697520154,-0.5366166218,-0.536535718513,-0.536454810295,-0.536373897146,-0.536292979066,-0.536212056057,-0.536131128119,-0.536050195253,-0.53596925746,-0.53588831474,-0.535807367095,-0.535726414524,-0.53564545703,-0.535564494611,-0.53548352727,-0.535402555007,-0.535321577823,-0.535240595718,-0.535159608693,-0.535078616749,-0.534997619887,-0.534916618107,-0.534835611411,-0.534754599798,-0.53467358327,-0.534592561827,-0.534511535471,-0.534430504201,-0.534349468019,-0.534268426926,-0.534187380921,-0.534106330006,-0.534025274182,-0.53394421345,-0.533863147809,-0.533782077261,-0.533701001807,-0.533619921447,-0.533538836183,-0.533457746014,-0.533376650941,-0.533295550966,-0.533214446089,-0.533133336311,-0.533052221633,-0.532971102054,-0.532889977577,-0.532808848202,-0.532727713929,-0.532646574759,-0.532565430693,-0.532484281733,-0.532403127877,-0.532321969128,-0.532240805486,-0.532159636952,-0.532078463526,-0.531997285209,-0.531916102003,-0.531834913907,-0.531753720923,-0.531672523051,-0.531591320292,-0.531510112646,-0.531428900115,-0.5313476827,-0.5312664604,-0.531185233217,-0.531104001151,-0.531022764204,-0.530941522376,-0.530860275667,-0.530779024079,-0.530697767612,-0.530616506266,-0.530535240044,-0.530453968945,-0.53037269297,-0.53029141212,-0.530210126396,-0.530128835798,-0.530047540328,-0.529966239985,-0.529884934771,-0.529803624686,-0.529722309732,-0.529640989908,-0.529559665216,-0.529478335657,-0.52939700123,-0.529315661938,-0.52923431778,-0.529152968758,-0.529071614872,-0.528990256122,-0.52890889251,-0.528827524037,-0.528746150703,-0.528664772508,-0.528583389455,-0.528502001542,-0.528420608772,-0.528339211145,-0.528257808661,-0.528176401321,-0.528094989127,-0.528013572079,-0.527932150177,-0.527850723423,-0.527769291816,-0.527687855359,-0.527606414051,-0.527524967893,-0.527443516887,-0.527362061032,-0.52728060033,-0.527199134782,-0.527117664387,-0.527036189148,-0.526954709064,-0.526873224136,-0.526791734365,-0.526710239753,-0.526628740298,-0.526547236004,-0.526465726869,-0.526384212895,-0.526302694083,-0.526221170433,-0.526139641946,-0.526058108623,-0.525976570464,-0.525895027471,-0.525813479644,-0.525731926984,-0.525650369491,-0.525568807167,-0.525487240012,-0.525405668026,-0.525324091212,-0.525242509568,-0.525160923097,-0.525079331798,-0.524997735673,-0.524916134723,-0.524834528947,-0.524752918347,-0.524671302924,-0.524589682678,-0.524508057611,-0.524426427722,-0.524344793013,-0.524263153484,-0.524181509136,-0.52409985997,-0.524018205986,-0.523936547186,-0.52385488357,-0.523773215139,-0.523691541893,-0.523609863834,-0.523528180962,-0.523446493278,-0.523364800782,-0.523283103476,-0.523201401359,-0.523119694434,-0.5230379827,-0.522956266159,-0.52287454481,-0.522792818656,-0.522711087696,-0.522629351931,-0.522547611363,-0.522465865991,-0.522384115817,-0.522302360841,-0.522220601065,-0.522138836488,-0.522057067112,-0.521975292937,-0.521893513965,-0.521811730195,-0.521729941629,-0.521648148267,-0.52156635011,-0.521484547159,-0.521402739415,-0.521320926879,-0.52123910955,-0.52115728743,-0.52107546052,-0.52099362882,-0.520911792332,-0.520829951055,-0.520748104991,-0.52066625414,-0.520584398504,-0.520502538082,-0.520420672876,-0.520338802887,-0.520256928114,-0.52017504856,-0.520093164224,-0.520011275108,-0.519929381211,-0.519847482536,-0.519765579082,-0.519683670851,-0.519601757843,-0.519519840059,-0.5194379175,-0.519355990166,-0.519274058058,-0.519192121177,-0.519110179524,-0.519028233099,-0.518946281904,-0.518864325938,-0.518782365203,-0.5187003997,-0.518618429429,-0.518536454391,-0.518454474586,-0.518372490016,-0.518290500681,-0.518208506583,-0.518126507721,-0.518044504096,-0.51796249571,-0.517880482562,-0.517798464655,-0.517716441988,-0.517634414562,-0.517552382378,-0.517470345437,-0.51738830374,-0.517306257287,-0.517224206079,-0.517142150116,-0.5170600894,-0.516978023932,-0.516895953711,-0.51681387874,-0.516731799018,-0.516649714546,-0.516567625325,-0.516485531356,-0.51640343264,-0.516321329177,-0.516239220968,-0.516157108014,-0.516074990315,-0.515992867873,-0.515910740688,-0.515828608761,-0.515746472092,-0.515664330683,-0.515582184534,-0.515500033646,-0.515417878019,-0.515335717655,-0.515253552554,-0.515171382717,-0.515089208145,-0.515007028838,-0.514924844797,-0.514842656023,-0.514760462517,-0.514678264279,-0.51459606131,-0.514513853611,-0.514431641183,-0.514349424027,-0.514267202142,-0.514184975531,-0.514102744193,-0.51402050813,-0.513938267342,-0.51385602183,-0.513773771595,-0.513691516637,-0.513609256958,-0.513526992557,-0.513444723437,-0.513362449596,-0.513280171038,-0.513197887761,-0.513115599767,-0.513033307056,-0.51295100963,-0.512868707489,-0.512786400634,-0.512704089065,-0.512621772783,-0.51253945179,-0.512457126086,-0.512374795671,-0.512292460546,-0.512210120713,-0.512127776172,-0.512045426923,-0.511963072967,-0.511880714306,-0.511798350939,-0.511715982869,-0.511633610094,-0.511551232617,-0.511468850438,-0.511386463557,-0.511304071976,-0.511221675695,-0.511139274715,-0.511056869037,-0.510974458661,-0.510892043589,-0.51080962382,-0.510727199357,-0.510644770198,-0.510562336346,-0.510479897801,-0.510397454564,-0.510315006635,-0.510232554016,-0.510150096707,-0.510067634708,-0.509985168021,-0.509902696647,-0.509820220585,-0.509737739837,-0.509655254404,-0.509572764287,-0.509490269485,-0.50940777,-0.509325265833,-0.509242756984,-0.509160243455,-0.509077725245,-0.508995202356,-0.508912674789,-0.508830142543,-0.508747605621,-0.508665064022,-0.508582517748,-0.508499966799,-0.508417411175,-0.508334850879,-0.50825228591,-0.50816971627,-0.508087141958,-0.508004562976,-0.507921979325,-0.507839391005,-0.507756798017,-0.507674200362,-0.50759159804,-0.507508991053,-0.507426379401,-0.507343763084,-0.507261142105,-0.507178516462,-0.507095886158,-0.507013251193,-0.506930611567,-0.506847967282,-0.506765318338,-0.506682664736,-0.506600006476,-0.50651734356,-0.506434675988,-0.506352003761,-0.50626932688,-0.506186645345,-0.506103959158,-0.506021268318,-0.505938572827,-0.505855872686,-0.505773167895,-0.505690458455,-0.505607744367,-0.505525025632,-0.50544230225,-0.505359574222,-0.505276841548,-0.505194104231,-0.505111362269,-0.505028615665,-0.504945864419,-0.504863108531,-0.504780348003,-0.504697582835,-0.504614813028,-0.504532038582,-0.504449259499,-0.50436647578,-0.504283687424,-0.504200894433,-0.504118096807,-0.504035294548,-0.503952487655,-0.503869676131,-0.503786859975,-0.503704039188,-0.503621213772,-0.503538383726,-0.503455549051,-0.50337270975,-0.503289865821,-0.503207017266,-0.503124164086,-0.503041306281,-0.502958443852,-0.5028755768,-0.502792705126,-0.50270982883,-0.502626947914,-0.502544062377,-0.502461172221,-0.502378277447,-0.502295378055,-0.502212474046,-0.50212956542,-0.50204665218,-0.501963734324,-0.501880811855,-0.501797884772,-0.501714953077,-0.50163201677,-0.501549075853,-0.501466130325,-0.501383180188,-0.501300225442,-0.501217266089,-0.501134302128,-0.501051333561,-0.500968360389,-0.500885382611,-0.50080240023,-0.500719413245,-0.500636421658,-0.500553425469,-0.50047042468,-0.50038741929,-0.5003044093,-0.500221394712,-0.500138375526,-0.500055351742,-0.499972323363,-0.499889290387,-0.499806252817,-0.499723210653,-0.499640163895,-0.499557112545,-0.499474056603,-0.49939099607,-0.499307930946,-0.499224861234,-0.499141786932,-0.499058708042,-0.498975624565,-0.498892536502,-0.498809443853,-0.498726346619,-0.4986432448,-0.498560138399,-0.498477027414,-0.498393911848,-0.498310791701,-0.498227666973,-0.498144537665,-0.498061403779,-0.497978265315,-0.497895122273,-0.497811974655,-0.497728822461,-0.497645665692,-0.497562504349,-0.497479338433,-0.497396167943,-0.497312992882,-0.497229813249,-0.497146629046,-0.497063440274,-0.496980246932,-0.496897049023,-0.496813846546,-0.496730639502,-0.496647427893,-0.496564211718,-0.496480990979,-0.496397765677,-0.496314535811,-0.496231301384,-0.496148062396,-0.496064818847,-0.495981570738,-0.495898318071,-0.495815060845,-0.495731799061,-0.495648532722,-0.495565261826,-0.495481986375,-0.49539870637,-0.495315421811,-0.495232132699,-0.495148839035,-0.49506554082,-0.494982238054,-0.494898930739,-0.494815618875,-0.494732302462,-0.494648981502,-0.494565655995,-0.494482325942,-0.494398991344,-0.494315652202,-0.494232308516,-0.494148960287,-0.494065607516,-0.493982250204,-0.493898888351,-0.493815521958,-0.493732151026,-0.493648775556,-0.493565395549,-0.493482011004,-0.493398621924,-0.493315228309,-0.493231830159,-0.493148427475,-0.493065020259,-0.49298160851,-0.49289819223,-0.492814771419,-0.492731346079,-0.492647916209,-0.492564481811,-0.492481042886,-0.492397599433,-0.492314151455,-0.492230698951,-0.492147241923,-0.492063780372,-0.491980314297,-0.4918968437,-0.491813368582,-0.491729888943,-0.491646404784,-0.491562916107,-0.49147942291,-0.491395925197,-0.491312422966,-0.491228916219,-0.491145404957,-0.491061889181,-0.490978368891,-0.490894844088,-0.490811314773,-0.490727780946,-0.490644242608,-0.490560699761,-0.490477152405,-0.49039360054,-0.490310044167,-0.490226483288,-0.490142917903,-0.490059348012,-0.489975773617,-0.489892194719,-0.489808611317,-0.489725023413,-0.489641431007,-0.489557834101,-0.489474232695,-0.48939062679,-0.489307016386,-0.489223401485,-0.489139782087,-0.489056158193,-0.488972529804,-0.48888889692,-0.488805259542,-0.488721617671,-0.488637971309,-0.488554320454,-0.488470665109,-0.488387005274,-0.48830334095,-0.488219672138,-0.488135998838,-0.488052321051,-0.487968638778,-0.487884952019,-0.487801260776,-0.48771756505,-0.48763386484,-0.487550160148,-0.487466450975,-0.487382737321,-0.487299019187,-0.487215296574,-0.487131569483,-0.487047837914,-0.486964101868,-0.486880361346,-0.486796616349,-0.486712866877,-0.486629112932,-0.486545354513,-0.486461591622,-0.48637782426,-0.486294052427,-0.486210276124,-0.486126495353,-0.486042710112,-0.485958920404,-0.48587512623,-0.485791327589,-0.485707524483,-0.485623716912,-0.485539904878,-0.485456088381,-0.485372267421,-0.485288442,-0.485204612119,-0.485120777777,-0.485036938976,-0.484953095717,-0.484869248001,-0.484785395827,-0.484701539198,-0.484617678113,-0.484533812574,-0.484449942581,-0.484366068135,-0.484282189237,-0.484198305888,-0.484114418087,-0.484030525837,-0.483946629138,-0.483862727991,-0.483778822396,-0.483694912354,-0.483610997866,-0.483527078933,-0.483443155555,-0.483359227734,-0.48327529547,-0.483191358763,-0.483107417616,-0.483023472027,-0.482939521999,-0.482855567532,-0.482771608626,-0.482687645283,-0.482603677503,-0.482519705287,-0.482435728636,-0.482351747551,-0.482267762031,-0.482183772079,-0.482099777695,-0.482015778879,-0.481931775633,-0.481847767957,-0.481763755852,-0.481679739319,-0.481595718358,-0.48151169297,-0.481427663157,-0.481343628918,-0.481259590255,-0.481175547168,-0.481091499659,-0.481007447727,-0.480923391374,-0.4808393306,-0.480755265407,-0.480671195795,-0.480587121764,-0.480503043316,-0.480418960451,-0.480334873171,-0.480250781475,-0.480166685365,-0.480082584841,-0.479998479905,-0.479914370556,-0.479830256797,-0.479746138626,-0.479662016046,-0.479577889057,-0.47949375766,-0.479409621856,-0.479325481644,-0.479241337027,-0.479157188005,-0.479073034579,-0.478988876749,-0.478904714516,-0.478820547881,-0.478736376845,-0.478652201409,-0.478568021573,-0.478483837338,-0.478399648705,-0.478315455675,-0.478231258248,-0.478147056425,-0.478062850207,-0.477978639595,-0.477894424589,-0.477810205191,-0.477725981401,-0.47764175322,-0.477557520648,-0.477473283687,-0.477389042337,-0.477304796598,-0.477220546473,-0.477136291961,-0.477052033063,-0.47696776978,-0.476883502114,-0.476799230063,-0.47671495363,-0.476630672816,-0.47654638762,-0.476462098044,-0.476377804088,-0.476293505753,-0.476209203041,-0.476124895951,-0.476040584485,-0.475956268643,-0.475871948427,-0.475787623836,-0.475703294872,-0.475618961535,-0.475534623827,-0.475450281747,-0.475365935297,-0.475281584478,-0.47519722929,-0.475112869735,-0.475028505812,-0.474944137522,-0.474859764868,-0.474775387848,-0.474691006464,-0.474606620717,-0.474522230608,-0.474437836137,-0.474353437305,-0.474269034112,-0.474184626561,-0.474100214651,-0.474015798383,-0.473931377757,-0.473846952776,-0.473762523439,-0.473678089748,-0.473593651702,-0.473509209303,-0.473424762552,-0.47334031145,-0.473255855996,-0.473171396192,-0.473086932039,-0.473002463538,-0.472917990689,-0.472833513493,-0.47274903195,-0.472664546063,-0.47258005583,-0.472495561254,-0.472411062335,-0.472326559073,-0.47224205147,-0.472157539526,-0.472073023242,-0.471988502619,-0.471903977658,-0.471819448359,-0.471734914723,-0.471650376751,-0.471565834443,-0.471481287802,-0.471396736826,-0.471312181517,-0.471227621877,-0.471143057904,-0.471058489601,-0.470973916969,-0.470889340007,-0.470804758717,-0.470720173099,-0.470635583155,-0.470550988884,-0.470466390289,-0.470381787369,-0.470297180125,-0.470212568558,-0.47012795267,-0.47004333246,-0.469958707929,-0.469874079079,-0.46978944591,-0.469704808422,-0.469620166617,-0.469535520496,-0.469450870058,-0.469366215306,-0.469281556239,-0.469196892859,-0.469112225165,-0.46902755316,-0.468942876844,-0.468858196217,-0.468773511281,-0.468688822036,-0.468604128483,-0.468519430622,-0.468434728455,-0.468350021982,-0.468265311204,-0.468180596122,-0.468095876736,-0.468011153048,-0.467926425058,-0.467841692767,-0.467756956176,-0.467672215285,-0.467587470095,-0.467502720608,-0.467417966823,-0.467333208742,-0.467248446365,-0.467163679694,-0.467078908728,-0.466994133469,-0.466909353917,-0.466824570074,-0.46673978194,-0.466654989516,-0.466570192802,-0.466485391799,-0.466400586509,-0.466315776932,-0.466230963068,-0.466146144919,-0.466061322486,-0.465976495768,-0.465891664767,-0.465806829484,-0.465721989919,-0.465637146073,-0.465552297948,-0.465467445543,-0.46538258886,-0.465297727898,-0.46521286266,-0.465127993146,-0.465043119357,-0.464958241293,-0.464873358955,-0.464788472344,-0.464703581461,-0.464618686306,-0.464533786881,-0.464448883186,-0.464363975222,-0.464279062989,-0.464194146489,-0.464109225722,-0.464024300689,-0.463939371391,-0.463854437828,-0.463769500002,-0.463684557913,-0.463599611562,-0.463514660949,-0.463429706076,-0.463344746944,-0.463259783552,-0.463174815902,-0.463089843995,-0.463004867831,-0.462919887411,-0.462834902736,-0.462749913807,-0.462664920624,-0.462579923189,-0.462494921502,-0.462409915563,-0.462324905375,-0.462239890936,-0.462154872249,-0.462069849314,-0.461984822131,-0.461899790702,-0.461814755028,-0.461729715108,-0.461644670945,-0.461559622538,-0.461474569888,-0.461389512997,-0.461304451865,-0.461219386492,-0.46113431688,-0.46104924303,-0.460964164941,-0.460879082616,-0.460793996054,-0.460708905256,-0.460623810224,-0.460538710958,-0.460453607459,-0.460368499727,-0.460283387764,-0.46019827157,-0.460113151146,-0.460028026493,-0.459942897611,-0.459857764501,-0.459772627165,-0.459687485602,-0.459602339814,-0.459517189802,-0.459432035566,-0.459346877106,-0.459261714425,-0.459176547522,-0.459091376398,-0.459006201055,-0.458921021492,-0.458835837712,-0.458750649713,-0.458665457498,-0.458580261067,-0.458495060421,-0.45840985556,-0.458324646486,-0.458239433199,-0.4581542157,-0.45806899399,-0.457983768069,-0.457898537938,-0.457813303599,-0.457728065051,-0.457642822297,-0.457557575335,-0.457472324168,-0.457387068796,-0.457301809219,-0.45721654544,-0.457131277457,-0.457046005273,-0.456960728888,-0.456875448302,-0.456790163517,-0.456704874533,-0.456619581351,-0.456534283972,-0.456448982397,-0.456363676626,-0.45627836666,-0.456193052501,-0.456107734148,-0.456022411602,-0.455937084865,-0.455851753937,-0.455766418819,-0.455681079512,-0.455595736016,-0.455510388333,-0.455425036462,-0.455339680406,-0.455254320163,-0.455168955737,-0.455083587126,-0.454998214333,-0.454912837357,-0.4548274562,-0.454742070862,-0.454656681344,-0.454571287647,-0.454485889772,-0.454400487719,-0.45431508149,-0.454229671084,-0.454144256504,-0.454058837749,-0.45397341482,-0.453887987718,-0.453802556445,-0.453717121,-0.453631681385,-0.4535462376,-0.453460789646,-0.453375337524,-0.453289881235,-0.453204420779,-0.453118956157,-0.453033487371,-0.45294801442,-0.452862537306,-0.452777056029,-0.452691570591,-0.452606080991,-0.452520587231,-0.452435089312,-0.452349587234,-0.452264080998,-0.452178570605,-0.452093056055,-0.45200753735,-0.451922014491,-0.451836487477,-0.45175095631,-0.451665420991,-0.45157988152,-0.451494337898,-0.451408790127,-0.451323238206,-0.451237682136,-0.451152121919,-0.451066557555,-0.450980989045,-0.45089541639,-0.45080983959,-0.450724258646,-0.450638673559,-0.45055308433,-0.45046749096,-0.450381893449,-0.450296291799,-0.450210686009,-0.450125076081,-0.450039462016,-0.449953843814,-0.449868221476,-0.449782595003,-0.449696964395,-0.449611329655,-0.449525690781,-0.449440047776,-0.449354400639,-0.449268749372,-0.449183093975,-0.44909743445,-0.449011770796,-0.448926103016,-0.448840431109,-0.448754755076,-0.448669074918,-0.448583390637,-0.448497702232,-0.448412009704,-0.448326313055,-0.448240612285,-0.448154907395,-0.448069198386,-0.447983485257,-0.447897768012,-0.447812046649,-0.44772632117,-0.447640591575,-0.447554857866,-0.447469120043,-0.447383378108,-0.447297632059,-0.4472118819,-0.447126127629,-0.447040369249,-0.44695460676,-0.446868840162,-0.446783069457,-0.446697294645,-0.446611515728,-0.446525732705,-0.446439945577,-0.446354154346,-0.446268359013,-0.446182559577,-0.44609675604,-0.446010948403,-0.445925136666,-0.44583932083,-0.445753500896,-0.445667676865,-0.445581848737,-0.445496016514,-0.445410180196,-0.445324339783,-0.445238495278,-0.44515264668,-0.44506679399,-0.444980937209,-0.444895076338,-0.444809211377,-0.444723342328,-0.444637469191,-0.444551591967,-0.444465710657,-0.444379825262,-0.444293935782,-0.444208042218,-0.44412214457,-0.444036242841,-0.44395033703,-0.443864427139,-0.443778513167,-0.443692595117,-0.443606672988,-0.443520746781,-0.443434816498,-0.443348882139,-0.443262943705,-0.443177001196,-0.443091054614,-0.443005103959,-0.442919149232,-0.442833190433,-0.442747227565,-0.442661260626,-0.442575289619,-0.442489314544,-0.442403335401,-0.442317352192,-0.442231364918,-0.442145373578,-0.442059378174,-0.441973378707,-0.441887375178,-0.441801367586,-0.441715355934,-0.441629340222,-0.44154332045,-0.44145729662,-0.441371268732,-0.441285236787,-0.441199200785,-0.441113160729,-0.441027116617,-0.440941068452,-0.440855016234,-0.440768959964,-0.440682899642,-0.440596835269,-0.440510766847,-0.440424694375,-0.440338617856,-0.440252537288,-0.440166452675,-0.440080364015,-0.43999427131,-0.43990817456,-0.439822073767,-0.439735968932,-0.439649860054,-0.439563747135,-0.439477630176,-0.439391509178,-0.43930538414,-0.439219255065,-0.439133121952,-0.439046984803,-0.438960843618,-0.438874698398,-0.438788549145,-0.438702395858,-0.438616238539,-0.438530077188,-0.438443911806,-0.438357742394,-0.438271568952,-0.438185391483,-0.438099209985,-0.438013024461,-0.43792683491,-0.437840641334,-0.437754443734,-0.43766824211,-0.437582036463,-0.437495826794,-0.437409613103,-0.437323395392,-0.437237173661,-0.437150947911,-0.437064718143,-0.436978484357,-0.436892246555,-0.436806004737,-0.436719758904,-0.436633509057,-0.436547255196,-0.436460997323,-0.436374735438,-0.436288469542,-0.436202199635,-0.436115925719,-0.436029647794,-0.435943365862,-0.435857079922,-0.435770789976,-0.435684496025,-0.435598198069,-0.435511896108,-0.435425590145,-0.43533928018,-0.435252966213,-0.435166648245,-0.435080326277,-0.43499400031,-0.434907670344,-0.434821336381,-0.434734998422,-0.434648656466,-0.434562310515,-0.43447596057,-0.434389606631,-0.434303248699,-0.434216886775,-0.43413052086,-0.434044150955,-0.43395777706,-0.433871399176,-0.433785017304,-0.433698631444,-0.433612241599,-0.433525847767,-0.433439449951,-0.433353048151,-0.433266642367,-0.433180232601,-0.433093818853,-0.433007401124,-0.432920979416,-0.432834553727,-0.432748124061,-0.432661690416,-0.432575252795,-0.432488811198,-0.432402365625,-0.432315916077,-0.432229462556,-0.432143005062,-0.432056543596,-0.431970078158,-0.43188360875,-0.431797135372,-0.431710658025,-0.43162417671,-0.431537691427,-0.431451202178,-0.431364708963,-0.431278211783,-0.431191710639,-0.431105205531,-0.431018696461,-0.430932183429,-0.430845666436,-0.430759145483,-0.43067262057,-0.430586091698,-0.430499558869,-0.430413022083,-0.43032648134,-0.430239936642,-0.430153387989,-0.430066835383,-0.429980278823,-0.429893718311,-0.429807153847,-0.429720585433,-0.429634013069,-0.429547436756,-0.429460856494,-0.429374272285,-0.42928768413,-0.429201092028,-0.429114495981,-0.42902789599,-0.428941292055,-0.428854684178,-0.428768072359,-0.428681456598,-0.428594836897,-0.428508213257,-0.428421585678,-0.428334954161,-0.428248318707,-0.428161679316,-0.42807503599,-0.427988388729,-0.427901737534,-0.427815082406,-0.427728423345,-0.427641760353,-0.42755509343,-0.427468422577,-0.427381747795,-0.427295069085,-0.427208386447,-0.427121699882,-0.427035009391,-0.426948314975,-0.426861616634,-0.42677491437,-0.426688208183,-0.426601498074,-0.426514784044,-0.426428066093,-0.426341344223,-0.426254618434,-0.426167888727,-0.426081155102,-0.425994417562,-0.425907676105,-0.425820930734,-0.425734181448,-0.42564742825,-0.425560671138,-0.425473910116,-0.425387145182,-0.425300376338,-0.425213603585,-0.425126826924,-0.425040046355,-0.424953261879,-0.424866473496,-0.424779681209,-0.424692885017,-0.424606084922,-0.424519280923,-0.424432473023,-0.424345661221,-0.424258845519,-0.424172025917,-0.424085202416,-0.423998375017,-0.42391154372,-0.423824708528,-0.423737869439,-0.423651026456,-0.423564179578,-0.423477328807,-0.423390474144,-0.423303615589,-0.423216753143,-0.423129886807,-0.423043016581,-0.422956142467,-0.422869264466,-0.422782382577,-0.422695496802,-0.422608607142,-0.422521713598,-0.422434816169,-0.422347914858,-0.422261009665,-0.42217410059,-0.422087187635,-0.4220002708,-0.421913350086,-0.421826425494,-0.421739497024,-0.421652564679,-0.421565628457,-0.42147868836,-0.42139174439,-0.421304796545,-0.421217844829,-0.42113088924,-0.421043929781,-0.420956966452,-0.420869999253,-0.420783028186,-0.42069605325,-0.420609074448,-0.42052209178,-0.420435105247,-0.420348114849,-0.420261120587,-0.420174122462,-0.420087120475,-0.420000114627,-0.419913104918,-0.419826091349,-0.419739073922,-0.419652052636,-0.419565027493,-0.419477998493,-0.419390965638,-0.419303928928,-0.419216888363,-0.419129843945,-0.419042795675,-0.418955743553,-0.41886868758,-0.418781627757,-0.418694564084,-0.418607496563,-0.418520425194,-0.418433349978,-0.418346270916,-0.418259188009,-0.418172101257,-0.418085010662,-0.417997916223,-0.417910817942,-0.41782371582,-0.417736609858,-0.417649500055,-0.417562386414,-0.417475268935,-0.417388147618,-0.417301022464,-0.417213893475,-0.417126760651,-0.417039623993,-0.416952483502,-0.416865339178,-0.416778191022,-0.416691039035,-0.416603883218,-0.416516723572,-0.416429560098,-0.416342392795,-0.416255221666,-0.41616804671,-0.41608086793,-0.415993685324,-0.415906498895,-0.415819308643,-0.415732114569,-0.415644916674,-0.415557714958,-0.415470509422,-0.415383300068,-0.415296086895,-0.415208869905,-0.415121649098,-0.415034424476,-0.414947196039,-0.414859963788,-0.414772727723,-0.414685487846,-0.414598244157,-0.414510996658,-0.414423745348,-0.414336490229,-0.414249231301,-0.414161968566,-0.414074702024,-0.413987431676,-0.413900157523,-0.413812879565,-0.413725597803,-0.413638312238,-0.413551022872,-0.413463729704,-0.413376432736,-0.413289131968,-0.413201827401,-0.413114519036,-0.413027206874,-0.412939890915,-0.412852571161,-0.412765247612,-0.412677920268,-0.412590589132,-0.412503254203,-0.412415915483,-0.412328572971,-0.41224122667,-0.412153876579,-0.4120665227,-0.411979165034,-0.41189180358,-0.41180443834,-0.411717069316,-0.411629696507,-0.411542319914,-0.411454939538,-0.411367555381,-0.411280167442,-0.411192775723,-0.411105380224,-0.411017980946,-0.410930577891,-0.410843171058,-0.410755760449,-0.410668346064,-0.410580927905,-0.410493505971,-0.410406080264,-0.410318650785,-0.410231217535,-0.410143780514,-0.410056339722,-0.409968895162,-0.409881446833,-0.409793994737,-0.409706538874,-0.409619079245,-0.409531615851,-0.409444148692,-0.40935667777,-0.409269203086,-0.409181724639,-0.409094242431,-0.409006756463,-0.408919266736,-0.40883177325,-0.408744276005,-0.408656775004,-0.408569270247,-0.408481761734,-0.408394249466,-0.408306733445,-0.40821921367,-0.408131690143,-0.408044162865,-0.407956631836,-0.407869097057,-0.407781558529,-0.407694016253,-0.40760647023,-0.40751892046,-0.407431366944,-0.407343809683,-0.407256248677,-0.407168683929,-0.407081115438,-0.406993543204,-0.40690596723,-0.406818387516,-0.406730804063,-0.40664321687,-0.40655562594,-0.406468031273,-0.40638043287,-0.406292830732,-0.406205224859,-0.406117615252,-0.406030001912,-0.40594238484,-0.405854764037,-0.405767139503,-0.40567951124,-0.405591879248,-0.405504243527,-0.405416604079,-0.405328960905,-0.405241314005,-0.40515366338,-0.405066009031,-0.404978350959,-0.404890689164,-0.404803023648,-0.40471535441,-0.404627681453,-0.404540004777,-0.404452324382,-0.404364640269,-0.404276952439,-0.404189260894,-0.404101565633,-0.404013866658,-0.403926163969,-0.403838457568,-0.403750747454,-0.403663033629,-0.403575316094,-0.403487594849,-0.403399869896,-0.403312141235,-0.403224408866,-0.403136672791,-0.40304893301,-0.402961189525,-0.402873442336,-0.402785691444,-0.402697936849,-0.402610178553,-0.402522416556,-0.402434650859,-0.402346881464,-0.402259108369,-0.402171331578,-0.40208355109,-0.401995766905,-0.401907979026,-0.401820187453,-0.401732392186,-0.401644593226,-0.401556790575,-0.401468984233,-0.4013811742,-0.401293360478,-0.401205543067,-0.401117721969,-0.401029897184,-0.400942068712,-0.400854236555,-0.400766400714,-0.400678561188,-0.40059071798,-0.40050287109,-0.400415020518,-0.400327166266,-0.400239308334,-0.400151446723,-0.400063581434,-0.399975712468,-0.399887839825,-0.399799963506,-0.399712083513,-0.399624199846,-0.399536312505,-0.399448421492,-0.399360526807,-0.399272628452,-0.399184726426,-0.399096820731,-0.399008911368,-0.398920998337,-0.398833081639,-0.398745161276,-0.398657237247,-0.398569309554,-0.398481378197,-0.398393443177,-0.398305504496,-0.398217562153,-0.39812961615,-0.398041666488,-0.397953713167,-0.397865756188,-0.397777795552,-0.397689831259,-0.397601863311,-0.397513891709,-0.397425916452,-0.397337937543,-0.397249954981,-0.397161968768,-0.397073978904,-0.39698598539,-0.396897988228,-0.396809987417,-0.396721982958,-0.396633974854,-0.396545963103,-0.396457947707,-0.396369928668,-0.396281905985,-0.396193879659,-0.396105849692,-0.396017816083,-0.395929778835,-0.395841737947,-0.395753693421,-0.395665645257,-0.395577593457,-0.39548953802,-0.395401478948,-0.395313416241,-0.395225349901,-0.395137279928,-0.395049206323,-0.394961129087,-0.394873048221,-0.394784963724,-0.394696875599,-0.394608783847,-0.394520688466,-0.39443258946,-0.394344486828,-0.394256380571,-0.394168270691,-0.394080157187,-0.393992040061,-0.393903919314,-0.393815794945,-0.393727666957,-0.39363953535,-0.393551400125,-0.393463261282,-0.393375118823,-0.393286972747,-0.393198823057,-0.393110669753,-0.393022512835,-0.392934352304,-0.392846188162,-0.392758020409,-0.392669849046,-0.392581674073,-0.392493495492,-0.392405313303,-0.392317127507,-0.392228938105,-0.392140745098,-0.392052548486,-0.391964348271,-0.391876144453,-0.391787937033,-0.391699726011,-0.391611511389,-0.391523293168,-0.391435071348,-0.391346845929,-0.391258616914,-0.391170384302,-0.391082148095,-0.390993908293,-0.390905664897,-0.390817417908,-0.390729167326,-0.390640913153,-0.39055265539,-0.390464394036,-0.390376129094,-0.390287860563,-0.390199588444,-0.39011131274,-0.390023033449,-0.389934750573,-0.389846464113,-0.38975817407,-0.389669880444,-0.389581583236,-0.389493282448,-0.389404978079,-0.389316670131,-0.389228358604,-0.3891400435,-0.389051724819,-0.388963402562,-0.388875076729,-0.388786747322,-0.388698414342,-0.388610077788,-0.388521737663,-0.388433393966,-0.388345046699,-0.388256695862,-0.388168341457,-0.388079983483,-0.387991621943,-0.387903256836,-0.387814888164,-0.387726515926,-0.387638140125,-0.387549760761,-0.387461377835,-0.387372991347,-0.387284601299,-0.38719620769,-0.387107810523,-0.387019409797,-0.386931005514,-0.386842597675,-0.38675418628,-0.386665771329,-0.386577352825,-0.386488930767,-0.386400505157,-0.386312075995,-0.386223643282,-0.386135207019,-0.386046767207,-0.385958323846,-0.385869876938,-0.385781426482,-0.385692972481,-0.385604514935,-0.385516053844,-0.38542758921,-0.385339121032,-0.385250649313,-0.385162174053,-0.385073695252,-0.384985212912,-0.384896727034,-0.384808237617,-0.384719744663,-0.384631248173,-0.384542748148,-0.384454244587,-0.384365737494,-0.384277226867,-0.384188712707,-0.384100195017,-0.384011673796,-0.383923149045,-0.383834620765,-0.383746088957,-0.383657553622,-0.38356901476,-0.383480472373,-0.383391926461,-0.383303377024,-0.383214824065,-0.383126267583,-0.383037707579,-0.382949144055,-0.382860577011,-0.382772006447,-0.382683432365,-0.382594854766,-0.382506273649,-0.382417689017,-0.38232910087,-0.382240509209,-0.382151914034,-0.382063315346,-0.381974713147,-0.381886107436,-0.381797498215,-0.381708885485,-0.381620269247,-0.3815316495,-0.381443026247,-0.381354399487,-0.381265769222,-0.381177135453,-0.38108849818,-0.380999857404,-0.380911213126,-0.380822565346,-0.380733914067,-0.380645259287,-0.380556601009,-0.380467939233,-0.380379273959,-0.38029060519,-0.380201932924,-0.380113257164,-0.38002457791,-0.379935895163,-0.379847208924,-0.379758519193,-0.379669825972,-0.37958112926,-0.37949242906,-0.379403725372,-0.379315018196,-0.379226307533,-0.379137593385,-0.379048875752,-0.378960154634,-0.378871430034,-0.37878270195,-0.378693970385,-0.37860523534,-0.378516496814,-0.378427754809,-0.378339009325,-0.378250260364,-0.378161507926,-0.378072752012,-0.377983992623,-0.37789522976,-0.377806463423,-0.377717693613,-0.377628920332,-0.377540143579,-0.377451363356,-0.377362579664,-0.377273792503,-0.377185001874,-0.377096207778,-0.377007410216,-0.376918609189,-0.376829804697,-0.376740996741,-0.376652185323,-0.376563370442,-0.3764745521,-0.376385730298,-0.376296905036,-0.376208076315,-0.376119244136,-0.3760304085,-0.375941569407,-0.375852726859,-0.375763880856,-0.375675031399,-0.375586178489,-0.375497322127,-0.375408462313,-0.375319599049,-0.375230732334,-0.375141862171,-0.37505298856,-0.374964111501,-0.374875230995,-0.374786347044,-0.374697459647,-0.374608568807,-0.374519674523,-0.374430776797,-0.374341875629,-0.37425297102,-0.374164062971,-0.374075151483,-0.373986236557,-0.373897318193,-0.373808396392,-0.373719471155,-0.373630542483,-0.373541610377,-0.373452674837,-0.373363735864,-0.37327479346,-0.373185847624,-0.373096898359,-0.373007945663,-0.37291898954,-0.372830029988,-0.37274106701,-0.372652100605,-0.372563130775,-0.37247415752,-0.372385180842,-0.372296200741,-0.372207217218,-0.372118230273,-0.372029239908,-0.371940246124,-0.37185124892,-0.371762248299,-0.371673244261,-0.371584236806,-0.371495225936,-0.371406211651,-0.371317193952,-0.37122817284,-0.371139148316,-0.37105012038,-0.370961089034,-0.370872054278,-0.370783016113,-0.37069397454,-0.370604929559,-0.370515881172,-0.370426829379,-0.370337774182,-0.37024871558,-0.370159653575,-0.370070588168,-0.369981519359,-0.369892447149,-0.369803371539,-0.36971429253,-0.369625210123,-0.369536124318,-0.369447035117,-0.36935794252,-0.369268846527,-0.369179747141,-0.369090644361,-0.369001538188,-0.368912428624,-0.368823315668,-0.368734199323,-0.368645079588,-0.368555956464,-0.368466829953,-0.368377700055,-0.368288566771,-0.368199430102,-0.368110290049,-0.368021146612,-0.367931999792,-0.36784284959,-0.367753696007,-0.367664539043,-0.3675753787,-0.367486214979,-0.367397047879,-0.367307877403,-0.36721870355,-0.367129526322,-0.36704034572,-0.366951161743,-0.366861974394,-0.366772783673,-0.36668358958,-0.366594392117,-0.366505191284,-0.366415987082,-0.366326779513,-0.366237568576,-0.366148354272,-0.366059136604,-0.36596991557,-0.365880691173,-0.365791463412,-0.365702232289,-0.365612997805,-0.36552375996,-0.365434518755,-0.365345274191,-0.365256026269,-0.36516677499,-0.365077520354,-0.364988262363,-0.364899001016,-0.364809736316,-0.364720468262,-0.364631196856,-0.364541922098,-0.364452643989,-0.364363362531,-0.364274077723,-0.364184789567,-0.364095498064,-0.364006203213,-0.363916905017,-0.363827603476,-0.363738298591,-0.363648990362,-0.36355967879,-0.363470363877,-0.363381045623,-0.363291724029,-0.363202399096,-0.363113070824,-0.363023739214,-0.362934404268,-0.362845065985,-0.362755724367,-0.362666379415,-0.36257703113,-0.362487679511,-0.362398324561,-0.36230896628,-0.362219604668,-0.362130239727,-0.362040871458,-0.36195149986,-0.361862124936,-0.361772746685,-0.361683365109,-0.361593980209,-0.361504591985,-0.361415200438,-0.361325805568,-0.361236407378,-0.361147005867,-0.361057601037,-0.360968192888,-0.360878781421,-0.360789366637,-0.360699948537,-0.360610527121,-0.36052110239,-0.360431674346,-0.360342242988,-0.360252808319,-0.360163370338,-0.360073929046,-0.359984484445,-0.359895036535,-0.359805585317,-0.359716130791,-0.359626672959,-0.359537211822,-0.35944774738,-0.359358279633,-0.359268808584,-0.359179334232,-0.359089856579,-0.359000375625,-0.358910891371,-0.358821403819,-0.358731912968,-0.358642418819,-0.358552921374,-0.358463420634,-0.358373916598,-0.358284409268,-0.358194898645,-0.35810538473,-0.358015867523,-0.357926347025,-0.357836823237,-0.35774729616,-0.357657765795,-0.357568232142,-0.357478695203,-0.357389154977,-0.357299611467,-0.357210064672,-0.357120514594,-0.357030961233,-0.356941404591,-0.356851844668,-0.356762281464,-0.356672714982,-0.35658314522,-0.356493572182,-0.356403995866,-0.356314416274,-0.356224833408,-0.356135247267,-0.356045657852,-0.355956065165,-0.355866469205,-0.355776869975,-0.355687267475,-0.355597661705,-0.355508052666,-0.35541844036,-0.355328824787,-0.355239205948,-0.355149583843,-0.355059958474,-0.354970329842,-0.354880697946,-0.354791062789,-0.35470142437,-0.354611782691,-0.354522137753,-0.354432489556,-0.354342838101,-0.354253183389,-0.35416352542,-0.354073864197,-0.353984199719,-0.353894531987,-0.353804861002,-0.353715186765,-0.353625509277,-0.353535828538,-0.353446144549,-0.353356457312,-0.353266766827,-0.353177073095,-0.353087376116,-0.352997675892,-0.352907972424,-0.352818265711,-0.352728555755,-0.352638842557,-0.352549126118,-0.352459406438,-0.352369683519,-0.35227995736,-0.352190227964,-0.35210049533,-0.35201075946,-0.351921020354,-0.351831278013,-0.351741532439,-0.351651783631,-0.351562031591,-0.35147227632,-0.351382517818,-0.351292756086,-0.351202991125,-0.351113222935,-0.351023451519,-0.350933676876,-0.350843899007,-0.350754117913,-0.350664333596,-0.350574546055,-0.350484755292,-0.350394961307,-0.350305164101,-0.350215363675,-0.350125560031,-0.350035753168,-0.349945943087,-0.34985612979,-0.349766313277,-0.349676493549,-0.349586670607,-0.349496844452,-0.349407015084,-0.349317182505,-0.349227346714,-0.349137507714,-0.349047665505,-0.348957820087,-0.348867971461,-0.348778119629,-0.348688264591,-0.348598406348,-0.3485085449,-0.348418680249,-0.348328812396,-0.348238941341,-0.348149067085,-0.348059189629,-0.347969308973,-0.347879425119,-0.347789538067,-0.347699647819,-0.347609754375,-0.347519857735,-0.347429957901,-0.347340054874,-0.347250148654,-0.347160239242,-0.347070326639,-0.346980410846,-0.346890491863,-0.346800569692,-0.346710644334,-0.346620715788,-0.346530784056,-0.346440849139,-0.346350911038,-0.346260969753,-0.346171025285,-0.346081077636,-0.345991126805,-0.345901172794,-0.345811215604,-0.345721255235,-0.345631291688,-0.345541324964,-0.345451355064,-0.345361381989,-0.345271405739,-0.345181426316,-0.345091443719,-0.345001457951,-0.344911469012,-0.344821476902,-0.344731481622,-0.344641483174,-0.344551481559,-0.344461476776,-0.344371468826,-0.344281457712,-0.344191443433,-0.34410142599,-0.344011405384,-0.343921381616,-0.343831354687,-0.343741324598,-0.343651291349,-0.343561254941,-0.343471215375,-0.343381172652,-0.343291126773,-0.343201077738,-0.343111025549,-0.343020970206,-0.34293091171,-0.342840850062,-0.342750785262,-0.342660717312,-0.342570646212,-0.342480571964,-0.342390494567,-0.342300414024,-0.342210330333,-0.342120243498,-0.342030153518,-0.341940060393,-0.341849964126,-0.341759864717,-0.341669762166,-0.341579656475,-0.341489547644,-0.341399435674,-0.341309320566,-0.34121920232,-0.341129080939,-0.341038956421,-0.340948828769,-0.340858697983,-0.340768564064,-0.340678427013,-0.34058828683,-0.340498143517,-0.340407997074,-0.340317847501,-0.340227694801,-0.340137538974,-0.340047380019,-0.33995721794,-0.339867052735,-0.339776884407,-0.339686712955,-0.339596538381,-0.339506360686,-0.33941617987,-0.339325995934,-0.339235808879,-0.339145618705,-0.339055425415,-0.338965229008,-0.338875029485,-0.338784826848,-0.338694621096,-0.338604412231,-0.338514200254,-0.338423985165,-0.338333766966,-0.338243545656,-0.338153321238,-0.338063093711,-0.337972863077,-0.337882629336,-0.33779239249,-0.337702152538,-0.337611909483,-0.337521663324,-0.337431414063,-0.337341161701,-0.337250906237,-0.337160647674,-0.337070386011,-0.33698012125,-0.336889853392,-0.336799582437,-0.336709308387,-0.336619031241,-0.336528751001,-0.336438467668,-0.336348181243,-0.336257891726,-0.336167599118,-0.33607730342,-0.335987004633,-0.335896702757,-0.335806397794,-0.335716089745,-0.335625778609,-0.335535464389,-0.335445147085,-0.335354826697,-0.335264503226,-0.335174176674,-0.335083847041,-0.334993514328,-0.334903178536,-0.334812839666,-0.334722497718,-0.334632152693,-0.334541804592,-0.334451453417,-0.334361099167,-0.334270741844,-0.334180381448,-0.33409001798,-0.333999651442,-0.333909281834,-0.333818909156,-0.33372853341,-0.333638154596,-0.333547772716,-0.33345738777,-0.333366999759,-0.333276608683,-0.333186214544,-0.333095817343,-0.333005417079,-0.332915013755,-0.332824607371,-0.332734197927,-0.332643785426,-0.332553369866,-0.33246295125,-0.332372529578,-0.33228210485,-0.332191677069,-0.332101246234,-0.332010812346,-0.331920375407,-0.331829935416,-0.331739492376,-0.331649046286,-0.331558597148,-0.331468144962,-0.33137768973,-0.331287231451,-0.331196770128,-0.33110630576,-0.331015838349,-0.330925367895,-0.330834894399,-0.330744417862,-0.330653938285,-0.330563455669,-0.330472970014,-0.330382481322,-0.330291989593,-0.330201494828,-0.330110997028,-0.330020496193,-0.329929992325,-0.329839485424,-0.329748975492,-0.329658462529,-0.329567946535,-0.329477427512,-0.329386905461,-0.329296380382,-0.329205852276,-0.329115321144,-0.329024786987,-0.328934249806,-0.328843709601,-0.328753166373,-0.328662620124,-0.328572070854,-0.328481518563,-0.328390963253,-0.328300404925,-0.328209843579,-0.328119279216,-0.328028711837,-0.327938141443,-0.327847568035,-0.327756991613,-0.327666412179,-0.327575829733,-0.327485244275,-0.327394655808,-0.327304064331,-0.327213469845,-0.327122872352,-0.327032271853,-0.326941668347,-0.326851061836,-0.32676045232,-0.326669839801,-0.32657922428,-0.326488605756,-0.326397984232,-0.326307359707,-0.326216732183,-0.326126101661,-0.32603546814,-0.325944831623,-0.32585419211,-0.325763549602,-0.325672904099,-0.325582255603,-0.325491604115,-0.325400949634,-0.325310292162,-0.3252196317,-0.325128968249,-0.32503830181,-0.324947632382,-0.324856959968,-0.324766284568,-0.324675606182,-0.324584924813,-0.324494240459,-0.324403553123,-0.324312862805,-0.324222169507,-0.324131473228,-0.324040773969,-0.323950071732,-0.323859366518,-0.323768658326,-0.323677947159,-0.323587233016,-0.3234965159,-0.323405795809,-0.323315072746,-0.323224346711,-0.323133617705,-0.323042885729,-0.322952150783,-0.322861412869,-0.322770671988,-0.322679928139,-0.322589181325,-0.322498431545,-0.322407678801,-0.322316923094,-0.322226164423,-0.322135402791,-0.322044638198,-0.321953870645,-0.321863100133,-0.321772326662,-0.321681550233,-0.321590770847,-0.321499988506,-0.321409203209,-0.321318414958,-0.321227623754,-0.321136829597,-0.321046032488,-0.320955232428,-0.320864429418,-0.320773623458,-0.320682814551,-0.320592002695,-0.320501187893,-0.320410370144,-0.320319549451,-0.320228725813,-0.320137899232,-0.320047069708,-0.319956237242,-0.319865401836,-0.319774563489,-0.319683722203,-0.319592877978,-0.319502030816,-0.319411180717,-0.319320327682,-0.319229471712,-0.319138612808,-0.31904775097,-0.318956886199,-0.318866018497,-0.318775147864,-0.318684274301,-0.318593397808,-0.318502518387,-0.318411636039,-0.318320750763,-0.318229862562,-0.318138971436,-0.318048077385,-0.317957180411,-0.317866280514,-0.317775377696,-0.317684471956,-0.317593563297,-0.317502651718,-0.317411737221,-0.317320819806,-0.317229899475,-0.317138976228,-0.317048050065,-0.316957120989,-0.316866188998,-0.316775254096,-0.316684316281,-0.316593375556,-0.316502431921,-0.316411485376,-0.316320535923,-0.316229583563,-0.316138628296,-0.316047670123,-0.315956709045,-0.315865745062,-0.315774778176,-0.315683808388,-0.315592835698,-0.315501860108,-0.315410881617,-0.315319900227,-0.315228915938,-0.315137928753,-0.31504693867,-0.314955945692,-0.314864949818,-0.314773951051,-0.31468294939,-0.314591944836,-0.314500937391,-0.314409927055,-0.314318913829,-0.314227897714,-0.314136878711,-0.31404585682,-0.313954832043,-0.31386380438,-0.313772773831,-0.313681740399,-0.313590704083,-0.313499664885,-0.313408622805,-0.313317577845,-0.313226530004,-0.313135479285,-0.313044425687,-0.312953369212,-0.31286230986,-0.312771247632,-0.312680182529,-0.312589114553,-0.312498043703,-0.31240696998,-0.312315893386,-0.312224813922,-0.312133731587,-0.312042646384,-0.311951558312,-0.311860467372,-0.311769373567,-0.311678276895,-0.311587177359,-0.311496074958,-0.311404969695,-0.311313861569,-0.311222750581,-0.311131636733,-0.311040520025,-0.310949400458,-0.310858278032,-0.31076715275,-0.31067602461,-0.310584893616,-0.310493759766,-0.310402623062,-0.310311483506,-0.310220341096,-0.310129195836,-0.310038047725,-0.309946896764,-0.309855742954,-0.309764586295,-0.30967342679,-0.309582264438,-0.309491099241,-0.309399931198,-0.309308760312,-0.309217586583,-0.309126410011,-0.309035230598,-0.308944048345,-0.308852863252,-0.308761675319,-0.308670484549,-0.308579290942,-0.308488094498,-0.308396895218,-0.308305693104,-0.308214488156,-0.308123280375,-0.308032069761,-0.307940856317,-0.307849640042,-0.307758420937,-0.307667199003,-0.307575974241,-0.307484746652,-0.307393516237,-0.307302282996,-0.307211046931,-0.307119808042,-0.307028566329,-0.306937321795,-0.306846074439,-0.306754824263,-0.306663571267,-0.306572315453,-0.30648105682,-0.306389795371,-0.306298531105,-0.306207264024,-0.306115994128,-0.306024721418,-0.305933445896,-0.305842167561,-0.305750886415,-0.305659602459,-0.305568315693,-0.305477026119,-0.305385733736,-0.305294438547,-0.305203140551,-0.30511183975,-0.305020536145,-0.304929229735,-0.304837920523,-0.304746608509,-0.304655293694,-0.304563976079,-0.304472655663,-0.30438133245,-0.304290006438,-0.30419867763,-0.304107346025,-0.304016011625,-0.303924674431,-0.303833334443,-0.303741991662,-0.30365064609,-0.303559297726,-0.303467946572,-0.303376592629,-0.303285235897,-0.303193876377,-0.30310251407,-0.303011148978,-0.3029197811,-0.302828410438,-0.302737036992,-0.302645660763,-0.302554281753,-0.302462899962,-0.30237151539,-0.302280128039,-0.30218873791,-0.302097345003,-0.302005949319,-0.301914550859,-0.301823149625,-0.301731745615,-0.301640338833,-0.301548929277,-0.30145751695,-0.301366101852,-0.301274683984,-0.301183263347,-0.301091839941,-0.301000413768,-0.300908984828,-0.300817553122,-0.300726118651,-0.300634681416,-0.300543241417,-0.300451798656,-0.300360353133,-0.30026890485,-0.300177453806,-0.300086000003,-0.299994543442,-0.299903084124,-0.299811622048,-0.299720157217,-0.299628689631,-0.299537219291,-0.299445746198,-0.299354270352,-0.299262791754,-0.299171310406,-0.299079826308,-0.298988339461,-0.298896849865,-0.298805357523,-0.298713862433,-0.298622364598,-0.298530864018,-0.298439360694,-0.298347854627,-0.298256345817,-0.298164834266,-0.298073319974,-0.297981802943,-0.297890283172,-0.297798760664,-0.297707235418,-0.297615707435,-0.297524176717,-0.297432643264,-0.297341107077,-0.297249568157,-0.297158026505,-0.297066482122,-0.296974935008,-0.296883385164,-0.296791832591,-0.29670027729,-0.296608719262,-0.296517158508,-0.296425595028,-0.296334028823,-0.296242459895,-0.296150888244,-0.29605931387,-0.295967736775,-0.29587615696,-0.295784574425,-0.295692989171,-0.295601401199,-0.295509810511,-0.295418217106,-0.295326620985,-0.29523502215,-0.295143420601,-0.295051816339,-0.294960209366,-0.294868599681,-0.294776987285,-0.294685372181,-0.294593754367,-0.294502133846,-0.294410510617,-0.294318884683,-0.294227256043,-0.294135624698,-0.29404399065,-0.2939523539,-0.293860714447,-0.293769072293,-0.293677427439,-0.293585779886,-0.293494129634,-0.293402476684,-0.293310821037,-0.293219162694,-0.293127501656,-0.293035837924,-0.292944171498,-0.29285250238,-0.292760830569,-0.292669156068,-0.292577478876,-0.292485798996,-0.292394116426,-0.292302431169,-0.292210743226,-0.292119052596,-0.292027359281,-0.291935663282,-0.2918439646,-0.291752263235,-0.291660559188,-0.291568852461,-0.291477143053,-0.291385430966,-0.291293716201,-0.291201998759,-0.291110278639,-0.291018555844,-0.290926830374,-0.29083510223,-0.290743371412,-0.290651637922,-0.290559901761,-0.290468162928,-0.290376421426,-0.290284677254,-0.290192930415,-0.290101180908,-0.290009428734,-0.289917673895,-0.289825916391,-0.289734156223,-0.289642393391,-0.289550627898,-0.289458859743,-0.289367088927,-0.289275315451,-0.289183539317,-0.289091760524,-0.288999979074,-0.288908194968,-0.288816408206,-0.288724618789,-0.288632826719,-0.288541031995,-0.288449234619,-0.288357434592,-0.288265631915,-0.288173826587,-0.288082018611,-0.287990207987,-0.287898394715,-0.287806578798,-0.287714760235,-0.287622939027,-0.287531115176,-0.287439288681,-0.287347459545,-0.287255627767,-0.287163793349,-0.287071956291,-0.286980116595,-0.286888274261,-0.286796429289,-0.286704581682,-0.286612731439,-0.286520878562,-0.286429023051,-0.286337164908,-0.286245304132,-0.286153440725,-0.286061574688,-0.285969706022,-0.285877834727,-0.285785960804,-0.285694084255,-0.285602205079,-0.285510323278,-0.285418438853,-0.285326551805,-0.285234662133,-0.28514276984,-0.285050874926,-0.284958977392,-0.284867077238,-0.284775174466,-0.284683269077,-0.284591361071,-0.284499450449,-0.284407537211,-0.28431562136,-0.284223702895,-0.284131781818,-0.284039858129,-0.283947931829,-0.283856002919,-0.2837640714,-0.283672137273,-0.283580200538,-0.283488261197,-0.283396319249,-0.283304374697,-0.283212427541,-0.283120477782,-0.28302852542,-0.282936570457,-0.282844612893,-0.282752652729,-0.282660689967,-0.282568724606,-0.282476756647,-0.282384786093,-0.282292812942,-0.282200837197,-0.282108858858,-0.282016877926,-0.281924894402,-0.281832908286,-0.28174091958,-0.281648928284,-0.281556934399,-0.281464937926,-0.281372938866,-0.281280937219,-0.281188932988,-0.281096926171,-0.281004916771,-0.280912904788,-0.280820890222,-0.280728873076,-0.280636853349,-0.280544831042,-0.280452806157,-0.280360778694,-0.280268748654,-0.280176716038,-0.280084680846,-0.27999264308,-0.279900602741,-0.279808559828,-0.279716514344,-0.279624466288,-0.279532415663,-0.279440362467,-0.279348306704,-0.279256248372,-0.279164187474,-0.27907212401,-0.27898005798,-0.278887989387,-0.278795918229,-0.278703844509,-0.278611768228,-0.278519689385,-0.278427607982,-0.27833552402,-0.2782434375,-0.278151348422,-0.278059256787,-0.277967162597,-0.277875065852,-0.277782966552,-0.277690864699,-0.277598760293,-0.277506653336,-0.277414543828,-0.277322431771,-0.277230317164,-0.277138200009,-0.277046080306,-0.276953958057,-0.276861833262,-0.276769705923,-0.276677576039,-0.276585443612,-0.276493308643,-0.276401171132,-0.276309031081,-0.27621688849,-0.27612474336,-0.276032595692,-0.275940445487,-0.275848292746,-0.275756137468,-0.275663979657,-0.275571819311,-0.275479656432,-0.275387491021,-0.275295323079,-0.275203152607,-0.275110979605,-0.275018804074,-0.274926626015,-0.274834445429,-0.274742262317,-0.274650076679,-0.274557888517,-0.274465697831,-0.274373504623,-0.274281308892,-0.274189110641,-0.274096909869,-0.274004706577,-0.273912500767,-0.27382029244,-0.273728081595,-0.273635868234,-0.273543652358,-0.273451433968,-0.273359213064,-0.273266989648,-0.27317476372,-0.273082535281,-0.272990304331,-0.272898070873,-0.272805834906,-0.272713596431,-0.27262135545,-0.272529111963,-0.272436865971,-0.272344617474,-0.272252366475,-0.272160112972,-0.272067856969,-0.271975598464,-0.271883337459,-0.271791073956,-0.271698807954,-0.271606539455,-0.271514268459,-0.271421994967,-0.271329718981,-0.2712374405,-0.271145159527,-0.271052876061,-0.270960590104,-0.270868301656,-0.270776010718,-0.270683717291,-0.270591421377,-0.270499122975,-0.270406822087,-0.270314518713,-0.270222212854,-0.270129904512,-0.270037593687,-0.269945280379,-0.269852964591,-0.269760646322,-0.269668325573,-0.269576002346,-0.26948367664,-0.269391348458,-0.269299017799,-0.269206684665,-0.269114349057,-0.269022010975,-0.26892967042,-0.268837327394,-0.268744981896,-0.268652633928,-0.26856028349,-0.268467930584,-0.268375575211,-0.26828321737,-0.268190857063,-0.268098494292,-0.268006129056,-0.267913761356,-0.267821391194,-0.26772901857,-0.267636643486,-0.267544265941,-0.267451885937,-0.267359503474,-0.267267118554,-0.267174731178,-0.267082341345,-0.266989949058,-0.266897554317,-0.266805157122,-0.266712757475,-0.266620355376,-0.266527950827,-0.266435543828,-0.266343134379,-0.266250722483,-0.266158308139,-0.266065891349,-0.265973472113,-0.265881050432,-0.265788626308,-0.26569619974,-0.26560377073,-0.265511339279,-0.265418905387,-0.265326469056,-0.265234030286,-0.265141589077,-0.265049145432,-0.26495669935,-0.264864250833,-0.264771799882,-0.264679346496,-0.264586890678,-0.264494432428,-0.264401971746,-0.264309508635,-0.264217043093,-0.264124575124,-0.264032104726,-0.263939631901,-0.263847156651,-0.263754678975,-0.263662198875,-0.263569716351,-0.263477231404,-0.263384744036,-0.263292254247,-0.263199762037,-0.263107267409,-0.263014770362,-0.262922270897,-0.262829769016,-0.262737264719,-0.262644758006,-0.26255224888,-0.26245973734,-0.262367223388,-0.262274707024,-0.262182188249,-0.262089667065,-0.261997143471,-0.261904617469,-0.26181208906,-0.261719558244,-0.261627025023,-0.261534489397,-0.261441951366,-0.261349410933,-0.261256868097,-0.26116432286,-0.261071775223,-0.260979225186,-0.260886672749,-0.260794117915,-0.260701560684,-0.260609001056,-0.260516439033,-0.260423874615,-0.260331307804,-0.2602387386,-0.260146167003,-0.260053593015,-0.259961016637,-0.25986843787,-0.259775856714,-0.25968327317,-0.259590687239,-0.259498098922,-0.25940550822,-0.259312915133,-0.259220319663,-0.25912772181,-0.259035121575,-0.258942518959,-0.258849913963,-0.258757306588,-0.258664696834,-0.258572084703,-0.258479470195,-0.258386853311,-0.258294234052,-0.258201612419,-0.258108988413,-0.258016362034,-0.257923733283,-0.257831102162,-0.257738468671,-0.257645832811,-0.257553194582,-0.257460553986,-0.257367911024,-0.257275265696,-0.257182618003,-0.257089967946,-0.256997315526,-0.256904660743,-0.2568120036,-0.256719344096,-0.256626682232,-0.256534018009,-0.256441351428,-0.25634868249,-0.256256011196,-0.256163337546,-0.256070661542,-0.255977983184,-0.255885302473,-0.25579261941,-0.255699933995,-0.255607246231,-0.255514556117,-0.255421863654,-0.255329168844,-0.255236471686,-0.255143772183,-0.255051070334,-0.254958366141,-0.254865659605,-0.254772950725,-0.254680239504,-0.254587525942,-0.25449481004,-0.254402091799,-0.254309371219,-0.254216648301,-0.254123923047,-0.254031195457,-0.253938465532,-0.253845733273,-0.253752998681,-0.253660261756,-0.2535675225,-0.253474780913,-0.253382036996,-0.25328929075,-0.253196542175,-0.253103791274,-0.253011038046,-0.252918282492,-0.252825524613,-0.252732764411,-0.252640001886,-0.252547237038,-0.252454469869,-0.25236170038,-0.25226892857,-0.252176154442,-0.252083377996,-0.251990599233,-0.251897818154,-0.25180503476,-0.25171224905,-0.251619461028,-0.251526670692,-0.251433878044,-0.251341083085,-0.251248285816,-0.251155486238,-0.251062684351,-0.250969880156,-0.250877073654,-0.250784264847,-0.250691453734,-0.250598640317,-0.250505824596,-0.250413006573,-0.250320186248,-0.250227363622,-0.250134538696,-0.250041711471,-0.249948881948,-0.249856050127,-0.24976321601,-0.249670379597,-0.249577540889,-0.249484699886,-0.249391856591,-0.249299011003,-0.249206163124,-0.249113312954,-0.249020460494,-0.248927605746,-0.248834748709,-0.248741889385,-0.248649027775,-0.248556163879,-0.248463297698,-0.248370429234,-0.248277558487,-0.248184685457,-0.248091810146,-0.247998932555,-0.247906052685,-0.247813170535,-0.247720286108,-0.247627399404,-0.247534510423,-0.247441619168,-0.247348725638,-0.247255829834,-0.247162931758,-0.247070031409,-0.24697712879,-0.246884223901,-0.246791316742,-0.246698407315,-0.24660549562,-0.246512581659,-0.246419665431,-0.246326746939,-0.246233826182,-0.246140903162,-0.24604797788,-0.245955050336,-0.245862120531,-0.245769188466,-0.245676254142,-0.245583317561,-0.245490378721,-0.245397437625,-0.245304494274,-0.245211548668,-0.245118600807,-0.245025650694,-0.244932698329,-0.244839743712,-0.244746786844,-0.244653827727,-0.244560866362,-0.244467902748,-0.244374936887,-0.24428196878,-0.244188998427,-0.24409602583,-0.24400305099,-0.243910073906,-0.24381709458,-0.243724113014,-0.243631129207,-0.243538143161,-0.243445154876,-0.243352164353,-0.243259171594,-0.243166176599,-0.243073179368,-0.242980179903,-0.242887178205,-0.242794174274,-0.242701168112,-0.242608159718,-0.242515149095,-0.242422136243,-0.242329121162,-0.242236103854,-0.242143084319,-0.242050062558,-0.241957038573,-0.241864012364,-0.241770983931,-0.241677953276,-0.2415849204,-0.241491885303,-0.241398847986,-0.241305808451,-0.241212766697,-0.241119722726,-0.241026676539,-0.240933628137,-0.24084057752,-0.240747524689,-0.240654469645,-0.240561412389,-0.240468352922,-0.240375291244,-0.240282227358,-0.240189161262,-0.240096092959,-0.240003022449,-0.239909949733,-0.239816874811,-0.239723797685,-0.239630718356,-0.239537636824,-0.239444553091,-0.239351467156,-0.239258379021,-0.239165288687,-0.239072196155,-0.238979101425,-0.238886004499,-0.238792905377,-0.23869980406,-0.238606700549,-0.238513594844,-0.238420486948,-0.238327376859,-0.23823426458,-0.238141150112,-0.238048033454,-0.237954914608,-0.237861793575,-0.237768670356,-0.237675544951,-0.237582417362,-0.237489287588,-0.237396155632,-0.237303021494,-0.237209885174,-0.237116746674,-0.237023605994,-0.236930463136,-0.2368373181,-0.236744170887,-0.236651021498,-0.236557869934,-0.236464716195,-0.236371560283,-0.236278402198,-0.236185241941,-0.236092079513,-0.235998914916,-0.235905748149,-0.235812579213,-0.23571940811,-0.23562623484,-0.235533059405,-0.235439881805,-0.23534670204,-0.235253520112,-0.235160336022,-0.23506714977,-0.234973961358,-0.234880770785,-0.234787578054,-0.234694383165,-0.234601186118,-0.234507986915,-0.234414785556,-0.234321582043,-0.234228376376,-0.234135168556,-0.234041958584,-0.23394874646,-0.233855532186,-0.233762315763,-0.233669097191,-0.233575876471,-0.233482653604,-0.233389428591,-0.233296201432,-0.233202972129,-0.233109740683,-0.233016507094,-0.232923271363,-0.232830033492,-0.23273679348,-0.232643551328,-0.232550307039,-0.232457060612,-0.232363812048,-0.232270561348,-0.232177308513,-0.232084053545,-0.231990796442,-0.231897537208,-0.231804275842,-0.231711012345,-0.231617746719,-0.231524478963,-0.231431209079,-0.231337937069,-0.231244662931,-0.231151386668,-0.231058108281,-0.230964827769,-0.230871545135,-0.230778260378,-0.230684973501,-0.230591684502,-0.230498393385,-0.230405100148,-0.230311804794,-0.230218507323,-0.230125207735,-0.230031906033,-0.229938602216,-0.229845296285,-0.229751988242,-0.229658678087,-0.229565365821,-0.229472051444,-0.229378734959,-0.229285416365,-0.229192095664,-0.229098772856,-0.229005447942,-0.228912120923,-0.2288187918,-0.228725460574,-0.228632127245,-0.228538791815,-0.228445454284,-0.228352114653,-0.228258772924,-0.228165429096,-0.228072083171,-0.22797873515,-0.227885385033,-0.227792032821,-0.227698678516,-0.227605322117,-0.227511963627,-0.227418603045,-0.227325240373,-0.227231875611,-0.227138508761,-0.227045139823,-0.226951768798,-0.226858395687,-0.226765020491,-0.22667164321,-0.226578263846,-0.226484882399,-0.22639149887,-0.22629811326,-0.226204725571,-0.226111335802,-0.226017943954,-0.22592455003,-0.225831154028,-0.225737755951,-0.225644355799,-0.225550953572,-0.225457549273,-0.225364142901,-0.225270734458,-0.225177323944,-0.22508391136,-0.224990496707,-0.224897079986,-0.224803661198,-0.224710240344,-0.224616817424,-0.22452339244,-0.224429965392,-0.22433653628,-0.224243105107,-0.224149671873,-0.224056236578,-0.223962799224,-0.223869359811,-0.223775918341,-0.223682474813,-0.22358902923,-0.223495581591,-0.223402131898,-0.223308680152,-0.223215226353,-0.223121770502,-0.2230283126,-0.222934852648,-0.222841390647,-0.222747926598,-0.222654460502,-0.222560992358,-0.222467522169,-0.222374049935,-0.222280575658,-0.222187099337,-0.222093620973,-0.222000140568,-0.221906658123,-0.221813173638,-0.221719687114,-0.221626198552,-0.221532707953,-0.221439215318,-0.221345720647,-0.221252223942,-0.221158725203,-0.221065224431,-0.220971721627,-0.220878216792,-0.220784709927,-0.220691201032,-0.220597690109,-0.220504177158,-0.22041066218,-0.220317145177,-0.220223626148,-0.220130105095,-0.220036582018,-0.219943056919,-0.219849529799,-0.219756000657,-0.219662469496,-0.219568936315,-0.219475401117,-0.219381863901,-0.219288324668,-0.21919478342,-0.219101240157,-0.21900769488,-0.21891414759,-0.218820598288,-0.218727046974,-0.21863349365,-0.218539938316,-0.218446380974,-0.218352821623,-0.218259260266,-0.218165696902,-0.218072131533,-0.21797856416,-0.217884994783,-0.217791423403,-0.217697850021,-0.217604274638,-0.217510697256,-0.217417117873,-0.217323536493,-0.217229953114,-0.217136367739,-0.217042780369,-0.216949191003,-0.216855599643,-0.216762006289,-0.216668410944,-0.216574813606,-0.216481214278,-0.21638761296,-0.216294009653,-0.216200404358,-0.216106797076,-0.216013187808,-0.215919576553,-0.215825963314,-0.215732348092,-0.215638730886,-0.215545111698,-0.215451490529,-0.21535786738,-0.215264242251,-0.215170615143,-0.215076986058,-0.214983354995,-0.214889721957,-0.214796086943,-0.214702449955,-0.214608810994,-0.21451517006,-0.214421527154,-0.214327882277,-0.21423423543,-0.214140586614,-0.214046935829,-0.213953283078,-0.213859628359,-0.213765971675,-0.213672313026,-0.213578652412,-0.213484989836,-0.213391325297,-0.213297658797,-0.213203990337,-0.213110319916,-0.213016647537,-0.2129229732,-0.212829296905,-0.212735618654,-0.212641938448,-0.212548256288,-0.212454572173,-0.212360886106,-0.212267198087,-0.212173508116,-0.212079816196,-0.211986122326,-0.211892426507,-0.211798728741,-0.211705029028,-0.211611327369,-0.211517623765,-0.211423918217,-0.211330210725,-0.211236501291,-0.211142789916,-0.211049076599,-0.210955361343,-0.210861644147,-0.210767925013,-0.210674203942,-0.210580480935,-0.210486755992,-0.210393029114,-0.210299300302,-0.210205569557,-0.21011183688,-0.210018102272,-0.209924365734,-0.209830627265,-0.209736886868,-0.209643144543,-0.209549400292,-0.209455654114,-0.20936190601,-0.209268155983,-0.209174404032,-0.209080650158,-0.208986894362,-0.208893136645,-0.208799377009,-0.208705615453,-0.208611851978,-0.208518086586,-0.208424319278,-0.208330550053,-0.208236778914,-0.208143005861,-0.208049230894,-0.207955454015,-0.207861675225,-0.207767894524,-0.207674111913,-0.207580327394,-0.207486540966,-0.207392752631,-0.20729896239,-0.207205170243,-0.207111376192,-0.207017580237,-0.20692378238,-0.20682998262,-0.206736180959,-0.206642377398,-0.206548571937,-0.206454764578,-0.206360955321,-0.206267144167,-0.206173331118,-0.206079516173,-0.205985699334,-0.205891880602,-0.205798059977,-0.20570423746,-0.205610413053,-0.205516586756,-0.20542275857,-0.205328928495,-0.205235096533,-0.205141262685,-0.205047426951,-0.204953589332,-0.20485974983,-0.204765908444,-0.204672065176,-0.204578220027,-0.204484372998,-0.204390524089,-0.204296673301,-0.204202820635,-0.204108966093,-0.204015109674,-0.20392125138,-0.203827391212,-0.20373352917,-0.203639665255,-0.203545799469,-0.203451931811,-0.203358062284,-0.203264190887,-0.203170317622,-0.203076442489,-0.20298256549,-0.202888686625,-0.202794805895,-0.202700923302,-0.202607038844,-0.202513152525,-0.202419264344,-0.202325374303,-0.202231482401,-0.202137588641,-0.202043693023,-0.201949795548,-0.201855896217,-0.20176199503,-0.201668091988,-0.201574187093,-0.201480280345,-0.201386371745,-0.201292461294,-0.201198548993,-0.201104634842,-0.201010718843,-0.200916800996,-0.200822881302,-0.200728959763,-0.200635036378,-0.20054111115,-0.200447184078,-0.200353255163,-0.200259324407,-0.20016539181,-0.200071457373,-0.199977521097,-0.199883582983,-0.199789643032,-0.199695701244,-0.199601757621,-0.199507812163,-0.199413864871,-0.199319915747,-0.19922596479,-0.199132012002,-0.199038057383,-0.198944100935,-0.198850142659,-0.198756182554,-0.198662220623,-0.198568256866,-0.198474291283,-0.198380323876,-0.198286354646,-0.198192383593,-0.198098410718,-0.198004436022,-0.197910459507,-0.197816481172,-0.197722501019,-0.197628519048,-0.197534535261,-0.197440549659,-0.197346562241,-0.197252573009,-0.197158581965,-0.197064589108,-0.19697059444,-0.196876597961,-0.196782599672,-0.196688599575,-0.19659459767,-0.196500593958,-0.19640658844,-0.196312581116,-0.196218571988,-0.196124561056,-0.196030548321,-0.195936533785,-0.195842517448,-0.19574849931,-0.195654479373,-0.195560457638,-0.195466434105,-0.195372408776,-0.195278381651,-0.19518435273,-0.195090322016,-0.194996289509,-0.194902255209,-0.194808219117,-0.194714181235,-0.194620141563,-0.194526100103,-0.194432056854,-0.194338011818,-0.194243964996,-0.194149916388,-0.194055865996,-0.19396181382,-0.193867759861,-0.19377370412,-0.193679646598,-0.193585587296,-0.193491526214,-0.193397463354,-0.193303398716,-0.193209332302,-0.193115264111,-0.193021194145,-0.192927122405,-0.192833048892,-0.192738973607,-0.192644896549,-0.192550817721,-0.192456737123,-0.192362654756,-0.192268570621,-0.192174484719,-0.19208039705,-0.191986307615,-0.191892216416,-0.191798123453,-0.191704028728,-0.19160993224,-0.19151583399,-0.191421733981,-0.191327632212,-0.191233528684,-0.191139423398,-0.191045316356,-0.190951207557,-0.190857097004,-0.190762984696,-0.190668870634,-0.19057475482,-0.190480637254,-0.190386517938,-0.190292396871,-0.190198274056,-0.190104149492,-0.19001002318,-0.189915895122,-0.189821765319,-0.18972763377,-0.189633500478,-0.189539365443,-0.189445228665,-0.189351090146,-0.189256949887,-0.189162807888,-0.18906866415,-0.188974518674,-0.188880371462,-0.188786222513,-0.188692071829,-0.18859791941,-0.188503765258,-0.188409609373,-0.188315451757,-0.188221292409,-0.188127131332,-0.188032968525,-0.18793880399,-0.187844637727,-0.187750469738,-0.187656300023,-0.187562128583,-0.187467955419,-0.187373780531,-0.187279603922,-0.187185425591,-0.18709124554,-0.186997063768,-0.186902880278,-0.18680869507,-0.186714508145,-0.186620319504,-0.186526129147,-0.186431937076,-0.186337743291,-0.186243547794,-0.186149350584,-0.186055151663,-0.185960951033,-0.185866748693,-0.185772544644,-0.185678338888,-0.185584131425,-0.185489922257,-0.185395711383,-0.185301498805,-0.185207284524,-0.185113068541,-0.185018850856,-0.18492463147,-0.184830410385,-0.1847361876,-0.184641963118,-0.184547736939,-0.184453509063,-0.184359279491,-0.184265048226,-0.184170815266,-0.184076580613,-0.183982344269,-0.183888106233,-0.183793866507,-0.183699625092,-0.183605381988,-0.183511137197,-0.183416890719,-0.183322642555,-0.183228392705,-0.183134141172,-0.183039887955,-0.182945633056,-0.182851376475,-0.182757118214,-0.182662858272,-0.182568596652,-0.182474333353,-0.182380068377,-0.182285801725,-0.182191533397,-0.182097263395,-0.182002991719,-0.18190871837,-0.181814443348,-0.181720166656,-0.181625888293,-0.181531608261,-0.18143732656,-0.181343043192,-0.181248758156,-0.181154471455,-0.181060183088,-0.180965893058,-0.180871601363,-0.180777308007,-0.180683012988,-0.180588716309,-0.18049441797,-0.180400117972,-0.180305816315,-0.180211513002,-0.180117208031,-0.180022901406,-0.179928593125,-0.179834283191,-0.179739971603,-0.179645658364,-0.179551343473,-0.179457026932,-0.179362708741,-0.179268388902,-0.179174067415,-0.179079744281,-0.1789854195,-0.178891093075,-0.178796765005,-0.178702435292,-0.178608103936,-0.178513770939,-0.178419436301,-0.178325100022,-0.178230762105,-0.178136422549,-0.178042081356,-0.177947738526,-0.177853394061,-0.177759047961,-0.177664700227,-0.17757035086,-0.177475999861,-0.17738164723,-0.177287292969,-0.177192937079,-0.177098579559,-0.177004220412,-0.176909859638,-0.176815497238,-0.176721133212,-0.176626767562,-0.176532400289,-0.176438031393,-0.176343660875,-0.176249288736,-0.176154914977,-0.176060539599,-0.175966162603,-0.175871783989,-0.175777403759,-0.175683021913,-0.175588638452,-0.175494253377,-0.175399866689,-0.175305478389,-0.175211088478,-0.175116696956,-0.175022303824,-0.174927909083,-0.174833512735,-0.17473911478,-0.174644715218,-0.174550314051,-0.17445591128,-0.174361506905,-0.174267100928,-0.174172693348,-0.174078284168,-0.173983873387,-0.173889461008,-0.17379504703,-0.173700631454,-0.173606214282,-0.173511795514,-0.173417375152,-0.173322953195,-0.173228529645,-0.173134104503,-0.173039677769,-0.172945249445,-0.172850819531,-0.172756388029,-0.172661954938,-0.172567520261,-0.172473083997,-0.172378646148,-0.172284206714,-0.172189765697,-0.172095323097,-0.172000878915,-0.171906433152,-0.171811985809,-0.171717536887,-0.171623086386,-0.171528634308,-0.171434180654,-0.171339725423,-0.171245268618,-0.171150810238,-0.171056350285,-0.17096188876,-0.170867425664,-0.170772960997,-0.17067849476,-0.170584026954,-0.170489557581,-0.17039508664,-0.170300614133,-0.170206140061,-0.170111664424,-0.170017187224,-0.169922708461,-0.169828228136,-0.16973374625,-0.169639262803,-0.169544777798,-0.169450291234,-0.169355803112,-0.169261313434,-0.1691668222,-0.169072329411,-0.168977835068,-0.168883339172,-0.168788841724,-0.168694342724,-0.168599842173,-0.168505340073,-0.168410836423,-0.168316331226,-0.168221824482,-0.168127316191,-0.168032806355,-0.167938294975,-0.167843782051,-0.167749267584,-0.167654751575,-0.167560234025,-0.167465714935,-0.167371194305,-0.167276672137,-0.167182148432,-0.16708762319,-0.166993096412,-0.166898568099,-0.166804038252,-0.166709506872,-0.166614973959,-0.166520439515,-0.16642590354,-0.166331366036,-0.166236827003,-0.166142286441,-0.166047744353,-0.165953200738,-0.165858655598,-0.165764108933,-0.165669560745,-0.165575011034,-0.1654804598,-0.165385907046,-0.165291352772,-0.165196796978,-0.165102239666,-0.165007680836,-0.16491312049,-0.164818558628,-0.16472399525,-0.164629430359,-0.164534863954,-0.164440296037,-0.164345726609,-0.16425115567,-0.164156583221,-0.164062009263,-0.163967433797,-0.163872856825,-0.163778278345,-0.163683698361,-0.163589116871,-0.163494533879,-0.163399949383,-0.163305363385,-0.163210775887,-0.163116186888,-0.16302159639,-0.162927004393,-0.162832410899,-0.162737815908,-0.162643219421,-0.162548621439,-0.162454021963,-0.162359420994,-0.162264818533,-0.16217021458,-0.162075609136,-0.161981002202,-0.16188639378,-0.16179178387,-0.161697172472,-0.161602559588,-0.161507945219,-0.161413329366,-0.161318712028,-0.161224093208,-0.161129472906,-0.161034851122,-0.160940227859,-0.160845603116,-0.160750976895,-0.160656349196,-0.160561720021,-0.160467089369,-0.160372457243,-0.160277823642,-0.160183188569,-0.160088552023,-0.159993914005,-0.159899274517,-0.159804633559,-0.159709991132,-0.159615347237,-0.159520701875,-0.159426055047,-0.159331406753,-0.159236756995,-0.159142105773,-0.159047453088,-0.158952798942,-0.158858143334,-0.158763486266,-0.158668827739,-0.158574167753,-0.15847950631,-0.15838484341,-0.158290179054,-0.158195513243,-0.158100845978,-0.15800617726,-0.15791150709,-0.157816835468,-0.157722162395,-0.157627487873,-0.157532811902,-0.157438134483,-0.157343455616,-0.157248775304,-0.157154093546,-0.157059410343,-0.156964725697,-0.156870039608,-0.156775352077,-0.156680663105,-0.156585972693,-0.156491280842,-0.156396587552,-0.156301892824,-0.15620719666,-0.15611249906,-0.156017800025,-0.155923099556,-0.155828397654,-0.15573369432,-0.155638989554,-0.155544283357,-0.155449575731,-0.155354866676,-0.155260156193,-0.155165444282,-0.155070730946,-0.154976016184,-0.154881299997,-0.154786582387,-0.154691863355,-0.1545971429,-0.154502421024,-0.154407697728,-0.154312973013,-0.154218246879,-0.154123519328,-0.154028790361,-0.153934059977,-0.153839328178,-0.153744594966,-0.15364986034,-0.153555124302,-0.153460386852,-0.153365647992,-0.153270907723,-0.153176166044,-0.153081422957,-0.152986678464,-0.152891932564,-0.152797185258,-0.152702436549,-0.152607686435,-0.152512934919,-0.152418182001,-0.152323427682,-0.152228671963,-0.152133914845,-0.152039156328,-0.151944396414,-0.151849635103,-0.151754872397,-0.151660108295,-0.151565342799,-0.151470575911,-0.15137580763,-0.151281037957,-0.151186266894,-0.151091494442,-0.1509967206,-0.150901945371,-0.150807168755,-0.150712390752,-0.150617611364,-0.150522830592,-0.150428048436,-0.150333264897,-0.150238479977,-0.150143693675,-0.150048905994,-0.149954116933,-0.149859326494,-0.149764534677,-0.149669741484,-0.149574946915,-0.149480150972,-0.149385353654,-0.149290554963,-0.1491957549,-0.149100953465,-0.14900615066,-0.148911346486,-0.148816540942,-0.148721734031,-0.148626925753,-0.148532116108,-0.148437305099,-0.148342492725,-0.148247678987,-0.148152863887,-0.148058047424,-0.147963229601,-0.147868410418,-0.147773589876,-0.147678767976,-0.147583944718,-0.147489120103,-0.147394294133,-0.147299466808,-0.147204638129,-0.147109808097,-0.147014976713,-0.146920143977,-0.146825309891,-0.146730474455,-0.146635637671,-0.146540799539,-0.14644596006,-0.146351119234,-0.146256277064,-0.146161433549,-0.146066588691,-0.14597174249,-0.145876894947,-0.145782046064,-0.14568719584,-0.145592344277,-0.145497491376,-0.145402637138,-0.145307781563,-0.145212924653,-0.145118066408,-0.145023206829,-0.144928345916,-0.144833483672,-0.144738620097,-0.144643755191,-0.144548888955,-0.144454021391,-0.144359152499,-0.14426428228,-0.144169410735,-0.144074537865,-0.143979663671,-0.143884788153,-0.143789911312,-0.14369503315,-0.143600153667,-0.143505272865,-0.143410390743,-0.143315507303,-0.143220622545,-0.143125736471,-0.143030849082,-0.142935960378,-0.14284107036,-0.142746179029,-0.142651286386,-0.142556392431,-0.142461497167,-0.142366600593,-0.14227170271,-0.142176803519,-0.142081903022,-0.141987001219,-0.14189209811,-0.141797193698,-0.141702287982,-0.141607380963,-0.141512472643,-0.141417563022,-0.141322652102,-0.141227739882,-0.141132826364,-0.141037911549,-0.140942995437,-0.14084807803,-0.140753159328,-0.140658239333,-0.140563318044,-0.140468395464,-0.140373471592,-0.140278546431,-0.140183619979,-0.14008869224,-0.139993763212,-0.139898832898,-0.139803901298,-0.139708968412,-0.139614034243,-0.13951909879,-0.139424162055,-0.139329224038,-0.139234284741,-0.139139344164,-0.139044402308,-0.138949459173,-0.138854514762,-0.138759569074,-0.138664622111,-0.138569673873,-0.138474724362,-0.138379773578,-0.138284821522,-0.138189868194,-0.138094913597,-0.13799995773,-0.137905000595,-0.137810042192,-0.137715082522,-0.137620121586,-0.137525159386,-0.137430195921,-0.137335231194,-0.137240265204,-0.137145297952,-0.13705032944,-0.136955359668,-0.136860388637,-0.136765416348,-0.136670442802,-0.136575468,-0.136480491942,-0.13638551463,-0.136290536064,-0.136195556246,-0.136100575176,-0.136005592854,-0.135910609283,-0.135815624462,-0.135720638393,-0.135625651076,-0.135530662513,-0.135435672704,-0.13534068165,-0.135245689352,-0.135150695811,-0.135055701028,-0.134960705003,-0.134865707738,-0.134770709233,-0.134675709489,-0.134580708507,-0.134485706288,-0.134390702834,-0.134295698143,-0.134200692219,-0.134105685061,-0.13401067667,-0.133915667047,-0.133820656194,-0.13372564411,-0.133630630797,-0.133535616256,-0.133440600488,-0.133345583493,-0.133250565272,-0.133155545827,-0.133060525157,-0.132965503265,-0.13287048015,-0.132775455814,-0.132680430257,-0.132585403481,-0.132490375487,-0.132395346274,-0.132300315844,-0.132205284199,-0.132110251338,-0.132015217263,-0.131920181974,-0.131825145473,-0.13173010776,-0.131635068837,-0.131540028703,-0.13144498736,-0.131349944809,-0.131254901051,-0.131159856086,-0.131064809916,-0.130969762541,-0.130874713962,-0.13077966418,-0.130684613196,-0.13058956101,-0.130494507625,-0.13039945304,-0.130304397256,-0.130209340275,-0.130114282096,-0.130019222722,-0.129924162153,-0.129829100389,-0.129734037432,-0.129638973283,-0.129543907942,-0.12944884141,-0.129353773688,-0.129258704778,-0.129163634679,-0.129068563393,-0.128973490921,-0.128878417263,-0.12878334242,-0.128688266394,-0.128593189185,-0.128498110794,-0.128403031222,-0.128307950469,-0.128212868537,-0.128117785427,-0.128022701139,-0.127927615674,-0.127832529033,-0.127737441218,-0.127642352228,-0.127547262065,-0.127452170729,-0.127357078222,-0.127261984545,-0.127166889697,-0.127071793681,-0.126976696497,-0.126881598145,-0.126786498628,-0.126691397945,-0.126596296097,-0.126501193086,-0.126406088912,-0.126310983576,-0.126215877079,-0.126120769422,-0.126025660606,-0.125930550631,-0.125835439498,-0.12574032721,-0.125645213765,-0.125550099165,-0.125454983412,-0.125359866505,-0.125264748446,-0.125169629235,-0.125074508874,-0.124979387363,-0.124884264704,-0.124789140897,-0.124694015942,-0.124598889842,-0.124503762596,-0.124408634205,-0.124313504672,-0.124218373995,-0.124123242177,-0.124028109218,-0.123932975119,-0.12383783988,-0.123742703503,-0.123647565989,-0.123552427339,-0.123457287552,-0.123362146631,-0.123267004576,-0.123171861388,-0.123076717068,-0.122981571617,-0.122886425035,-0.122791277323,-0.122696128483,-0.122600978515,-0.12250582742,-0.122410675199,-0.122315521853,-0.122220367383,-0.122125211789,-0.122030055073,-0.121934897235,-0.121839738276,-0.121744578197,-0.121649416999,-0.121554254683,-0.12145909125,-0.1213639267,-0.121268761035,-0.121173594255,-0.121078426361,-0.120983257354,-0.120888087236,-0.120792916006,-0.120697743666,-0.120602570216,-0.120507395658,-0.120412219992,-0.120317043219,-0.120221865341,-0.120126686357,-0.120031506269,-0.119936325078,-0.119841142785,-0.119745959389,-0.119650774894,-0.119555589298,-0.119460402604,-0.119365214811,-0.119270025921,-0.119174835935,-0.119079644854,-0.118984452678,-0.118889259408,-0.118794065045,-0.118698869591,-0.118603673045,-0.11850847541,-0.118413276685,-0.118318076871,-0.11822287597,-0.118127673983,-0.118032470909,-0.117937266751,-0.117842061508,-0.117746855183,-0.117651647775,-0.117556439285,-0.117461229715,-0.117366019066,-0.117270807338,-0.117175594531,-0.117080380648,-0.116985165688,-0.116889949653,-0.116794732544,-0.116699514361,-0.116604295106,-0.116509074778,-0.11641385338,-0.116318630912,-0.116223407374,-0.116128182769,-0.116032957095,-0.115937730356,-0.11584250255,-0.11574727368,-0.115652043746,-0.115556812749,-0.115461580689,-0.115366347569,-0.115271113388,-0.115175878147,-0.115080641848,-0.114985404491,-0.114890166077,-0.114794926607,-0.114699686081,-0.114604444502,-0.114509201869,-0.114413958183,-0.114318713446,-0.114223467658,-0.11412822082,-0.114032972933,-0.113937723998,-0.113842474016,-0.113747222987,-0.113651970913,-0.113556717794,-0.113461463631,-0.113366208425,-0.113270952178,-0.113175694889,-0.113080436559,-0.112985177191,-0.112889916784,-0.112794655339,-0.112699392857,-0.11260412934,-0.112508864787,-0.112413599201,-0.112318332581,-0.112223064928,-0.112127796244,-0.11203252653,-0.111937255786,-0.111841984012,-0.111746711211,-0.111651437383,-0.111556162528,-0.111460886648,-0.111365609743,-0.111270331815,-0.111175052864,-0.111079772891,-0.110984491897,-0.110889209883,-0.11079392685,-0.110698642798,-0.110603357729,-0.110508071643,-0.110412784541,-0.110317496424,-0.110222207294,-0.11012691715,-0.110031625994,-0.109936333827,-0.109841040649,-0.109745746461,-0.109650451265,-0.109555155061,-0.10945985785,-0.109364559632,-0.10926926041,-0.109173960183,-0.109078658952,-0.108983356719,-0.108888053485,-0.108792749249,-0.108697444013,-0.108602137778,-0.108506830545,-0.108411522315,-0.108316213088,-0.108220902865,-0.108125591648,-0.108030279437,-0.107934966233,-0.107839652036,-0.107744336849,-0.107649020671,-0.107553703504,-0.107458385348,-0.107363066204,-0.107267746073,-0.107172424957,-0.107077102855,-0.106981779769,-0.1068864557,-0.106791130648,-0.106695804615,-0.106600477601,-0.106505149607,-0.106409820634,-0.106314490683,-0.106219159755,-0.106123827851,-0.106028494971,-0.105933161116,-0.105837826288,-0.105742490487,-0.105647153713,-0.105551815969,-0.105456477255,-0.105361137571,-0.105265796919,-0.105170455299,-0.105075112713,-0.10497976916,-0.104884424643,-0.104789079162,-0.104693732717,-0.10459838531,-0.104503036942,-0.104407687613,-0.104312337325,-0.104216986077,-0.104121633872,-0.10402628071,-0.103930926591,-0.103835571517,-0.103740215489,-0.103644858507,-0.103549500573,-0.103454141686,-0.103358781849,-0.103263421062,-0.103168059325,-0.10307269664,-0.102977333008,-0.102881968429,-0.102786602905,-0.102691236436,-0.102595869022,-0.102500500666,-0.102405131368,-0.102309761128,-0.102214389948,-0.102119017829,-0.10202364477,-0.101928270774,-0.101832895841,-0.101737519973,-0.101642143168,-0.10154676543,-0.101451386758,-0.101356007154,-0.101260626618,-0.101165245151,-0.101069862755,-0.100974479429,-0.100879095176,-0.100783709995,-0.100688323887,-0.100592936854,-0.100497548897,-0.100402160016,-0.100306770211,-0.100211379485,-0.100115987838,-0.100020595271,-0.0999252017837,-0.0998298073783,-0.0997344120553,-0.0996390158156,-0.0995436186601,-0.0994482205895,-0.0993528216049,-0.099257421707,-0.0991620208967,-0.099066619175,-0.0989712165427,-0.0988758130007,-0.0987804085498,-0.098685003191,-0.098589596925,-0.0984941897529,-0.0983987816754,-0.0983033726934,-0.0982079628079,-0.0981125520196,-0.0980171403296,-0.0979217277385,-0.0978263142474,-0.0977308998571,-0.0976354845685,-0.0975400683825,-0.0974446512998,-0.0973492333215,-0.0972538144484,-0.0971583946813,-0.0970629740212,-0.0969675524688,-0.0968721300252,-0.0967767066912,-0.0966812824676,-0.0965858573553,-0.0964904313553,-0.0963950044683,-0.0962995766952,-0.096204148037,-0.0961087184946,-0.0960132880687,-0.0959178567602,-0.0958224245702,-0.0957269914993,-0.0956315575485,-0.0955361227188,-0.0954406870108,-0.0953452504256,-0.095249812964,-0.0951543746269,-0.0950589354152,-0.0949634953296,-0.0948680543712,-0.0947726125408,-0.0946771698393,-0.0945817262675,-0.0944862818264,-0.0943908365167,-0.0942953903394,-0.0941999432954,-0.0941044953855,-0.0940090466106,-0.0939135969716,-0.0938181464694,-0.0937226951048,-0.0936272428788,-0.0935317897921,-0.0934363358457,-0.0933408810405,-0.0932454253773,-0.093149968857,-0.0930545114805,-0.0929590532487,-0.0928635941624,-0.0927681342225,-0.0926726734299,-0.0925772117855,-0.0924817492901,-0.0923862859447,-0.0922908217501,-0.0921953567071,-0.0920998908167,-0.0920044240798,-0.0919089564971,-0.0918134880697,-0.0917180187983,-0.0916225486839,-0.0915270777273,-0.0914316059294,-0.0913361332911,-0.0912406598132,-0.0911451854967,-0.0910497103424,-0.0909542343511,-0.0908587575239,-0.0907632798615,-0.0906678013648,-0.0905723220347,-0.0904768418721,-0.0903813608779,-0.0902858790529,-0.0901903963979,-0.090094912914,-0.089999428602,-0.0899039434627,-0.089808457497,-0.0897129707058,-0.08961748309,-0.0895219946505,-0.0894265053881,-0.0893310153037,-0.0892355243981,-0.0891400326724,-0.0890445401273,-0.0889490467637,-0.0888535525825,-0.0887580575846,-0.0886625617709,-0.0885670651421,-0.0884715676993,-0.0883760694433,-0.088280570375,-0.0881850704952,-0.0880895698048,-0.0879940683047,-0.0878985659958,-0.0878030628789,-0.087707558955,-0.0876120542249,-0.0875165486895,-0.0874210423496,-0.0873255352062,-0.0872300272601,-0.0871345185122,-0.0870390089634,-0.0869434986145,-0.0868479874665,-0.0867524755202,-0.0866569627765,-0.0865614492363,-0.0864659349003,-0.0863704197697,-0.0862749038451,-0.0861793871275,-0.0860838696177,-0.0859883513167,-0.0858928322253,-0.0857973123444,-0.0857017916749,-0.0856062702176,-0.0855107479735,-0.0854152249433,-0.085319701128,-0.0852241765285,-0.0851286511456,-0.0850331249803,-0.0849375980333,-0.0848420703056,-0.0847465417981,-0.0846510125116,-0.0845554824469,-0.0844599516051,-0.0843644199869,-0.0842688875933,-0.0841733544251,-0.0840778204832,-0.0839822857685,-0.0838867502818,-0.083791214024,-0.0836956769961,-0.0836001391988,-0.0835046006332,-0.0834090612999,-0.0833135212,-0.0832179803343,-0.0831224387036,-0.0830268963089,-0.0829313531511,-0.0828358092309,-0.0827402645494,-0.0826447191073,-0.0825491729056,-0.0824536259451,-0.0823580782266,-0.0822625297512,-0.0821669805197,-0.0820714305328,-0.0819758797916,-0.0818803282969,-0.0817847760496,-0.0816892230505,-0.0815936693005,-0.0814981148006,-0.0814025595515,-0.0813070035542,-0.0812114468096,-0.0811158893185,-0.0810203310817,-0.0809247721003,-0.080829212375,-0.0807336519067,-0.0806380906964,-0.0805425287448,-0.080446966053,-0.0803514026216,-0.0802558384517,-0.0801602735441,-0.0800647078997,-0.0799691415193,-0.0798735744039,-0.0797780065543,-0.0796824379714,-0.0795868686561,-0.0794912986092,-0.0793957278317,-0.0793001563244,-0.0792045840882,-0.0791090111239,-0.0790134374325,-0.0789178630148,-0.0788222878717,-0.0787267120041,-0.0786311354129,-0.0785355580988,-0.078439980063,-0.0783444013061,-0.0782488218291,-0.0781532416328,-0.0780576607182,-0.077962079086,-0.0778664967373,-0.0777709136729,-0.0776753298935,-0.0775797454003,-0.0774841601939,-0.0773885742753,-0.0772929876453,-0.0771974003049,-0.0771018122549,-0.0770062234962,-0.0769106340297,-0.0768150438563,-0.0767194529767,-0.076623861392,-0.076528269103,-0.0764326761105,-0.0763370824155,-0.0762414880189,-0.0761458929214,-0.076050297124,-0.0759547006275,-0.075859103433,-0.0757635055411,-0.0756679069528,-0.075572307669,-0.0754767076906,-0.0753811070184,-0.0752855056533,-0.0751899035962,-0.0750943008479,-0.0749986974094,-0.0749030932816,-0.0748074884652,-0.0747118829613,-0.0746162767706,-0.074520669894,-0.0744250623325,-0.0743294540868,-0.074233845158,-0.0741382355468,-0.0740426252541,-0.0739470142809,-0.073851402628,-0.0737557902962,-0.0736601772865,-0.0735645635997,-0.0734689492367,-0.0733733341984,-0.0732777184857,-0.0731821020994,-0.0730864850405,-0.0729908673097,-0.072895248908,-0.0727996298364,-0.0727040100955,-0.0726083896864,-0.0725127686098,-0.0724171468668,-0.0723215244581,-0.0722259013846,-0.0721302776472,-0.0720346532469,-0.0719390281844,-0.0718434024607,-0.0717477760766,-0.071652149033,-0.0715565213308,-0.0714608929708,-0.0713652639541,-0.0712696342813,-0.0711740039534,-0.0710783729714,-0.070982741336,-0.0708871090481,-0.0707914761086,-0.0706958425185,-0.0706002082785,-0.0705045733896,-0.0704089378526,-0.0703133016685,-0.070217664838,-0.0701220273621,-0.0700263892417,-0.0699307504776,-0.0698351110707,-0.0697394710219,-0.0696438303321,-0.0695481890021,-0.0694525470328,-0.0693569044252,-0.06926126118,-0.0691656172982,-0.0690699727807,-0.0689743276283,-0.0688786818418,-0.0687830354223,-0.0686873883705,-0.0685917406874,-0.0684960923738,-0.0684004434305,-0.0683047938586,-0.0682091436588,-0.0681134928321,-0.0680178413792,-0.0679221893012,-0.0678265365988,-0.067730883273,-0.0676352293246,-0.0675395747545,-0.0674439195637,-0.0673482637529,-0.067252607323,-0.067156950275,-0.0670612926096,-0.0669656343279,-0.0668699754306,-0.0667743159187,-0.066678655793,-0.0665829950544,-0.0664873337038,-0.066391671742,-0.06629600917,-0.0662003459886,-0.0661046821988,-0.0660090178013,-0.065913352797,-0.0658176871869,-0.0657220209718,-0.0656263541526,-0.0655306867302,-0.0654350187054,-0.0653393500792,-0.0652436808524,-0.0651480110259,-0.0650523406005,-0.0649566695772,-0.0648609979569,-0.0647653257403,-0.0646696529285,-0.0645739795222,-0.0644783055224,-0.0643826309299,-0.0642869557456,-0.0641912799704,-0.0640956036051,-0.0639999266507,-0.063904249108,-0.063808570978,-0.0637128922614,-0.0636172129592,-0.0635215330722,-0.0634258526014,-0.0633301715475,-0.0632344899116,-0.0631388076944,-0.0630431248968,-0.0629474415198,-0.0628517575642,-0.0627560730308,-0.0626603879206,-0.0625647022345,-0.0624690159732,-0.0623733291378,-0.062277641729,-0.0621819537478,-0.0620862651951,-0.0619905760716,-0.0618948863784,-0.0617991961162,-0.061703505286,-0.0616078138886,-0.0615121219249,-0.0614164293958,-0.0613207363022,-0.061225042645,-0.0611293484249,-0.061033653643,-0.0609379583001,-0.0608422623971,-0.0607465659348,-0.0606508689141,-0.0605551713359,-0.0604594732012,-0.0603637745107,-0.0602680752653,-0.060172375466,-0.0600766751136,-0.059980974209,-0.059885272753,-0.0597895707466,-0.0596938681907,-0.059598165086,-0.0595024614335,-0.0594067572341,-0.0593110524886,-0.059215347198,-0.059119641363,-0.0590239349847,-0.0589282280638,-0.0588325206012,-0.0587368125979,-0.0586411040547,-0.0585453949724,-0.0584496853521,-0.0583539751944,-0.0582582645004,-0.0581625532709,-0.0580668415068,-0.0579711292089,-0.0578754163782,-0.0577797030155,-0.0576839891217,-0.0575882746977,-0.0574925597444,-0.0573968442626,-0.0573011282532,-0.0572054117171,-0.0571096946552,-0.0570139770683,-0.0569182589574,-0.0568225403233,-0.0567268211669,-0.0566311014891,-0.0565353812907,-0.0564396605727,-0.0563439393359,-0.0562482175812,-0.0561524953095,-0.0560567725216,-0.0559610492185,-0.055865325401,-0.05576960107,-0.0556738762264,-0.055578150871,-0.0554824250048,-0.0553866986286,-0.0552909717432,-0.0551952443497,-0.0550995164488,-0.0550037880415,-0.0549080591285,-0.0548123297109,-0.0547165997894,-0.054620869365,-0.0545251384386,-0.0544294070109,-0.054333675083,-0.0542379426556,-0.0541422097297,-0.0540464763061,-0.0539507423857,-0.0538550079695,-0.0537592730582,-0.0536635376527,-0.053567801754,-0.0534720653629,-0.0533763284804,-0.0532805911071,-0.0531848532442,-0.0530891148924,-0.0529933760526,-0.0528976367257,-0.0528018969125,-0.0527061566141,-0.0526104158311,-0.0525146745646,-0.0524189328154,-0.0523231905843,-0.0522274478723,-0.0521317046803,-0.052035961009,-0.0519402168595,-0.0518444722325,-0.051748727129,-0.0516529815499,-0.0515572354959,-0.051461488968,-0.0513657419672,-0.0512699944941,-0.0511742465499,-0.0510784981352,-0.050982749251,-0.0508869998982,-0.0507912500777,-0.0506954997903,-0.0505997490369,-0.0505039978184,-0.0504082461357,-0.0503124939897,-0.0502167413812,-0.0501209883111,-0.0500252347803,-0.0499294807897,-0.0498337263401,-0.0497379714325,-0.0496422160677,-0.0495464602466,-0.0494507039701,-0.049354947239,-0.0492591900543,-0.0491634324168,-0.0490676743274,-0.048971915787,-0.0488761567964,-0.0487803973566,-0.0486846374684,-0.0485888771327,-0.0484931163504,-0.0483973551224,-0.0483015934495,-0.0482058313326,-0.0481100687726,-0.0480143057704,-0.0479185423269,-0.0478227784429,-0.0477270141193,-0.047631249357,-0.047535484157,-0.0474397185199,-0.0473439524469,-0.0472481859386,-0.0471524189961,-0.0470566516201,-0.0469608838116,-0.0468651155715,-0.0467693469005,-0.0466735777997,-0.0465778082699,-0.0464820383119,-0.0463862679267,-0.0462904971151,-0.046194725878,-0.0460989542163,-0.0460031821309,-0.0459074096226,-0.0458116366924,-0.045715863341,-0.0456200895695,-0.0455243153786,-0.0454285407693,-0.0453327657424,-0.0452369902988,-0.0451412144394,-0.0450454381651,-0.0449496614767,-0.0448538843752,-0.0447581068613,-0.0446623289361,-0.0445665506003,-0.0444707718549,-0.0443749927008,-0.0442792131387,-0.0441834331696,-0.0440876527945,-0.043991872014,-0.0438960908292,-0.0438003092409,-0.0437045272501,-0.0436087448575,-0.043512962064,-0.0434171788706,-0.0433213952781,-0.0432256112874,-0.0431298268994,-0.043034042115,-0.0429382569349,-0.0428424713602,-0.0427466853918,-0.0426508990304,-0.0425551122769,-0.0424593251323,-0.0423635375974,-0.0422677496731,-0.0421719613603,-0.0420761726599,-0.0419803835727,-0.0418845940997,-0.0417888042416,-0.0416930139995,-0.0415972233741,-0.0415014323663,-0.0414056409771,-0.0413098492073,-0.0412140570577,-0.0411182645294,-0.0410224716231,-0.0409266783397,-0.0408308846801,-0.0407350906452,-0.0406392962359,-0.0405435014531,-0.0404477062976,-0.0403519107703,-0.040256114872,-0.0401603186038,-0.0400645219664,-0.0399687249608,-0.0398729275877,-0.0397771298482,-0.039681331743,-0.0395855332731,-0.0394897344394,-0.0393939352426,-0.0392981356838,-0.0392023357637,-0.0391065354833,-0.0390107348435,-0.038914933845,-0.0388191324889,-0.0387233307759,-0.038627528707,-0.0385317262831,-0.038435923505,-0.0383401203736,-0.0382443168897,-0.0381485130544,-0.0380527088683,-0.0379569043325,-0.0378610994479,-0.0377652942152,-0.0376694886353,-0.0375736827093,-0.0374778764378,-0.0373820698219,-0.0372862628624,-0.0371904555601,-0.037094647916,-0.0369988399309,-0.0369030316057,-0.0368072229414,-0.0367114139387,-0.0366156045985,-0.0365197949218,-0.0364239849094,-0.0363281745623,-0.0362323638812,-0.036136552867,-0.0360407415207,-0.0359449298431,-0.0358491178351,-0.0357533054976,-0.0356574928315,-0.0355616798376,-0.0354658665169,-0.0353700528701,-0.0352742388982,-0.0351784246021,-0.0350826099826,-0.0349867950407,-0.0348909797772,-0.034795164193,-0.0346993482889,-0.0346035320659,-0.0345077155248,-0.0344118986665,-0.034316081492,-0.034220264002,-0.0341244461974,-0.0340286280792,-0.0339328096482,-0.0338369909053,-0.0337411718514,-0.0336453524873,-0.033549532814,-0.0334537128323,-0.0333578925431,-0.0332620719473,-0.0331662510457,-0.0330704298393,-0.0329746083289,-0.0328787865154,-0.0327829643997,-0.0326871419827,-0.0325913192652,-0.0324954962481,-0.0323996729324,-0.0323038493188,-0.0322080254083,-0.0321122012018,-0.0320163767,-0.031920551904,-0.0318247268146,-0.0317289014327,-0.0316330757591,-0.0315372497948,-0.0314414235406,-0.0313455969973,-0.031249770166,-0.0311539430474,-0.0310581156424,-0.030962287952,-0.030866459977,-0.0307706317182,-0.0306748031766,-0.0305789743531,-0.0304831452485,-0.0303873158637,-0.0302914861995,-0.030195656257,-0.0300998260369,-0.0300039955401,-0.0299081647675,-0.02981233372,-0.0297165023985,-0.0296206708039,-0.0295248389369,-0.0294290067986,-0.0293331743898,-0.0292373417114,-0.0291415087642,-0.0290456755491,-0.0289498420671,-0.028854008319,-0.0287581743056,-0.028662340028,-0.0285665054868,-0.0284706706831,-0.0283748356177,-0.0282790002914,-0.0281831647053,-0.02808732886,-0.0279914927567,-0.027895656396,-0.0277998197789,-0.0277039829062,-0.027608145779,-0.0275123083979,-0.027416470764,-0.0273206328781,-0.027224794741,-0.0271289563537,-0.027033117717,-0.0269372788319,-0.0268414396991,-0.0267456003196,-0.0266497606943,-0.026553920824,-0.0264580807097,-0.0263622403521,-0.0262663997523,-0.026170558911,-0.0260747178291,-0.0259788765076,-0.0258830349473,-0.025787193149,-0.0256913511138,-0.0255955088423,-0.0254996663357,-0.0254038235946,-0.02530798062,-0.0252121374128,-0.0251162939739,-0.0250204503041,-0.0249246064043,-0.0248287622754,-0.0247329179183,-0.0246370733338,-0.0245412285229,-0.0244453834864,-0.0243495382252,-0.0242536927402,-0.0241578470323,-0.0240620011023,-0.0239661549511,-0.0238703085797,-0.0237744619888,-0.0236786151794,-0.0235827681524,-0.0234869209086,-0.0233910734489,-0.0232952257742,-0.0231993778853,-0.0231035297833,-0.0230076814688,-0.0229118329429,-0.0228159842064,-0.0227201352602,-0.0226242861051,-0.0225284367421,-0.0224325871719,-0.0223367373956,-0.022240887414,-0.022145037228,-0.0220491868384,-0.0219533362461,-0.021857485452,-0.021761634457,-0.021665783262,-0.0215699318679,-0.0214740802755,-0.0213782284857,-0.0212823764994,-0.0211865243174,-0.0210906719408,-0.0209948193702,-0.0208989666067,-0.0208031136511,-0.0207072605043,-0.0206114071671,-0.0205155536405,-0.0204196999253,-0.0203238460224,-0.0202279919327,-0.0201321376571,-0.0200362831964,-0.0199404285515,-0.0198445737234,-0.0197487187128,-0.0196528635207,-0.019557008148,-0.0194611525955,-0.0193652968642,-0.0192694409548,-0.0191735848683,-0.0190777286056,-0.0189818721675,-0.0188860155549,-0.0187901587688,-0.0186943018099,-0.0185984446792,-0.0185025873775,-0.0184067299058,-0.0183108722649,-0.0182150144556,-0.018119156479,-0.0180232983358,-0.0179274400269,-0.0178315815532,-0.0177357229157,-0.0176398641151,-0.0175440051524,-0.0174481460284,-0.017352286744,-0.0172564273001,-0.0171605676976,-0.0170647079374,-0.0169688480203,-0.0168729879473,-0.0167771277191,-0.0166812673368,-0.0165854068011,-0.016489546113,-0.0163936852733,-0.0162978242829,-0.0162019631427,-0.0161061018535,-0.0160102404164,-0.015914378832,-0.0158185171014,-0.0157226552254,-0.0156267932049,-0.0155309310407,-0.0154350687338,-0.015339206285,-0.0152433436952,-0.0151474809653,-0.0150516180961,-0.0149557550886,-0.0148598919437,-0.0147640286621,-0.0146681652449,-0.0145723016928,-0.0144764380067,-0.0143805741876,-0.0142847102364,-0.0141888461538,-0.0140929819408,-0.0139971175982,-0.013901253127,-0.0138053885281,-0.0137095238022,-0.0136136589503,-0.0135177939733,-0.013421928872,-0.0133260636473,-0.0132301983002,-0.0131343328315,-0.013038467242,-0.0129426015327,-0.0128467357044,-0.012750869758,-0.0126550036944,-0.0125591375145,-0.0124632712192,-0.0123674048093,-0.0122715382857,-0.0121756716493,-0.0120798049011,-0.0119839380417,-0.0118880710723,-0.0117922039935,-0.0116963368064,-0.0116004695117,-0.0115046021104,-0.0114087346034,-0.0113128669915,-0.0112169992756,-0.0111211314566,-0.0110252635354,-0.0109293955129,-0.0108335273899,-0.0107376591673,-0.010641790846,-0.0105459224269,-0.0104500539108,-0.0103541852987,-0.0102583165915,-0.0101624477899,-0.0100665788949,-0.00997070990742,-0.00987484082827,-0.00977897165835,-0.00968310239854,-0.00958723304973,-0.00949136361279,-0.00939549408862,-0.00929962447808,-0.00920375478206,-0.00910788500144,-0.00901201513711,-0.00891614518993,-0.00882027516081,-0.00872440505061,-0.00862853486021,-0.00853266459051,-0.00843679424237,-0.00834092381668,-0.00824505331433,-0.00814918273619,-0.00805331208315,-0.00795744135608,-0.00786157055586,-0.00776569968339,-0.00766982873953,-0.00757395772518,-0.0074780866412,-0.00738221548849,-0.00728634426793,-0.00719047298039,-0.00709460162675,-0.00699873020791,-0.00690285872473,-0.0068069871781,-0.00671111556891,-0.00661524389803,-0.00651937216634,-0.00642350037473,-0.00632762852407,-0.00623175661525,-0.00613588464915,-0.00604001262666,-0.00594414054864,-0.00584826841598,-0.00575239622957,-0.00565652399029,-0.00556065169901,-0.00546477935662,-0.005368906964,-0.00527303452202,-0.00517716203158,-0.00508128949356,-0.00498541690882,-0.00488954427826,-0.00479367160276,-0.0046977988832,-0.00460192612045,-0.0045060533154,-0.00441018046894,-0.00431430758194,-0.00421843465528,-0.00412256168984,-0.00402668868652,-0.00393081564618,-0.00383494256971,-0.00373906945799,-0.0036431963119,-0.00354732313232,-0.00345144992014,-0.00335557667623,-0.00325970340148,-0.00316383009676,-0.00306795676297,-0.00297208340097,-0.00287621001166,-0.0027803365959,-0.0026844631546,-0.00258858968861,-0.00249271619884,-0.00239684268615,-0.00230096915143,-0.00220509559556,-0.00210922201942,-0.00201334842389,-0.00191747480986,-0.0018216011782,-0.0017257275298,-0.00162985386553,-0.00153398018629,-0.00143810649294,-0.00134223278637,-0.00124635906747,-0.00115048533711,-0.00105461159618,-0.000958737845554,-0.000862864086114,-0.000766990318743,-0.000671116544322,-0.000575242763732,-0.000479368977855,-0.000383495187572,-0.000287621393764,-0.000191747597311,-9.58737990961e-05,0.0,9.5873799096e-05}; - -}; \ No newline at end of file diff --git a/ofxMaxim/ofxMaxim/libs/stb_vorbis.c b/ofxMaxim/ofxMaxim/libs/stb_vorbis.c deleted file mode 100644 index d98b4a8..0000000 --- a/ofxMaxim/ofxMaxim/libs/stb_vorbis.c +++ /dev/null @@ -1,5042 +0,0 @@ -// Ogg Vorbis I audio decoder -- version 0.99996 -// -// Written in April 2007 by Sean Barrett, sponsored by RAD Game Tools. -// -// Placed in the public domain April 2007 by the author: no copyright is -// claimed, and you may use it for any purpose you like. -// -// No warranty for any purpose is expressed or implied by the author (nor -// by RAD Game Tools). Report bugs and send enhancements to the author. -// -// Get the latest version and other information at: -// http://nothings.org/stb_vorbis/ - - -// Todo: -// -// - seeking (note you can seek yourself using the pushdata API) -// -// Limitations: -// -// - floor 0 not supported (used in old ogg vorbis files) -// - lossless sample-truncation at beginning ignored -// - cannot concatenate multiple vorbis streams -// - sample positions are 32-bit, limiting seekable 192Khz -// files to around 6 hours (Ogg supports 64-bit) -// -// All of these limitations may be removed in future versions. - -#include "stb_vorbis.h" - -#ifndef STB_VORBIS_HEADER_ONLY - -// global configuration settings (e.g. set these in the project/makefile), -// or just set them in this file at the top (although ideally the first few -// should be visible when the header file is compiled too, although it's not -// crucial) - -// STB_VORBIS_NO_PUSHDATA_API -// does not compile the code for the various stb_vorbis_*_pushdata() -// functions -// #define STB_VORBIS_NO_PUSHDATA_API - -// STB_VORBIS_NO_PULLDATA_API -// does not compile the code for the non-pushdata APIs -// #define STB_VORBIS_NO_PULLDATA_API - -// STB_VORBIS_NO_STDIO -// does not compile the code for the APIs that use FILE *s internally -// or externally (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_STDIO - -// STB_VORBIS_NO_INTEGER_CONVERSION -// does not compile the code for converting audio sample data from -// float to integer (implied by STB_VORBIS_NO_PULLDATA_API) -// #define STB_VORBIS_NO_INTEGER_CONVERSION - -// STB_VORBIS_NO_FAST_SCALED_FLOAT -// does not use a fast float-to-int trick to accelerate float-to-int on -// most platforms which requires endianness be defined correctly. -//#define STB_VORBIS_NO_FAST_SCALED_FLOAT - - -// STB_VORBIS_MAX_CHANNELS [number] -// globally define this to the maximum number of channels you need. -// The spec does not put a restriction on channels except that -// the count is stored in a byte, so 255 is the hard limit. -// Reducing this saves about 16 bytes per value, so using 16 saves -// (255-16)*16 or around 4KB. Plus anything other memory usage -// I forgot to account for. Can probably go as low as 8 (7.1 audio), -// 6 (5.1 audio), or 2 (stereo only). -#ifndef STB_VORBIS_MAX_CHANNELS -#define STB_VORBIS_MAX_CHANNELS 16 // enough for anyone? -#endif - -// STB_VORBIS_PUSHDATA_CRC_COUNT [number] -// after a flush_pushdata(), stb_vorbis begins scanning for the -// next valid page, without backtracking. when it finds something -// that looks like a page, it streams through it and verifies its -// CRC32. Should that validation fail, it keeps scanning. But it's -// possible that _while_ streaming through to check the CRC32 of -// one candidate page, it sees another candidate page. This #define -// determines how many "overlapping" candidate pages it can search -// at once. Note that "real" pages are typically ~4KB to ~8KB, whereas -// garbage pages could be as big as 64KB, but probably average ~16KB. -// So don't hose ourselves by scanning an apparent 64KB page and -// missing a ton of real ones in the interim; so minimum of 2 -#ifndef STB_VORBIS_PUSHDATA_CRC_COUNT -#define STB_VORBIS_PUSHDATA_CRC_COUNT 4 -#endif - -// STB_VORBIS_FAST_HUFFMAN_LENGTH [number] -// sets the log size of the huffman-acceleration table. Maximum -// supported value is 24. with larger numbers, more decodings are O(1), -// but the table size is larger so worse cache missing, so you'll have -// to probe (and try multiple ogg vorbis files) to find the sweet spot. -#ifndef STB_VORBIS_FAST_HUFFMAN_LENGTH -#define STB_VORBIS_FAST_HUFFMAN_LENGTH 10 -#endif - -// STB_VORBIS_FAST_BINARY_LENGTH [number] -// sets the log size of the binary-search acceleration table. this -// is used in similar fashion to the fast-huffman size to set initial -// parameters for the binary search - -// STB_VORBIS_FAST_HUFFMAN_INT -// The fast huffman tables are much more efficient if they can be -// stored as 16-bit results instead of 32-bit results. This restricts -// the codebooks to having only 65535 possible outcomes, though. -// (At least, accelerated by the huffman table.) -#ifndef STB_VORBIS_FAST_HUFFMAN_INT -#define STB_VORBIS_FAST_HUFFMAN_SHORT -#endif - -// STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH -// If the 'fast huffman' search doesn't succeed, then stb_vorbis falls -// back on binary searching for the correct one. This requires storing -// extra tables with the huffman codes in sorted order. Defining this -// symbol trades off space for speed by forcing a linear search in the -// non-fast case, except for "sparse" codebooks. -// #define STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - -// STB_VORBIS_DIVIDES_IN_RESIDUE -// stb_vorbis precomputes the result of the scalar residue decoding -// that would otherwise require a divide per chunk. you can trade off -// space for time by defining this symbol. -// #define STB_VORBIS_DIVIDES_IN_RESIDUE - -// STB_VORBIS_DIVIDES_IN_CODEBOOK -// vorbis VQ codebooks can be encoded two ways: with every case explicitly -// stored, or with all elements being chosen from a small range of values, -// and all values possible in all elements. By default, stb_vorbis expands -// this latter kind out to look like the former kind for ease of decoding, -// because otherwise an integer divide-per-vector-element is required to -// unpack the index. If you define STB_VORBIS_DIVIDES_IN_CODEBOOK, you can -// trade off storage for speed. -//#define STB_VORBIS_DIVIDES_IN_CODEBOOK - -// STB_VORBIS_CODEBOOK_SHORTS -// The vorbis file format encodes VQ codebook floats as ax+b where a and -// b are floating point per-codebook constants, and x is a 16-bit int. -// Normally, stb_vorbis decodes them to floats rather than leaving them -// as 16-bit ints and computing ax+b while decoding. This is a speed/space -// tradeoff; you can save space by defining this flag. -#ifndef STB_VORBIS_CODEBOOK_SHORTS -#define STB_VORBIS_CODEBOOK_FLOATS -#endif - -// STB_VORBIS_DIVIDE_TABLE -// this replaces small integer divides in the floor decode loop with -// table lookups. made less than 1% difference, so disabled by default. - -// STB_VORBIS_NO_INLINE_DECODE -// disables the inlining of the scalar codebook fast-huffman decode. -// might save a little codespace; useful for debugging -// #define STB_VORBIS_NO_INLINE_DECODE - -// STB_VORBIS_NO_DEFER_FLOOR -// Normally we only decode the floor without synthesizing the actual -// full curve. We can instead synthesize the curve immediately. This -// requires more memory and is very likely slower, so I don't think -// you'd ever want to do it except for debugging. -// #define STB_VORBIS_NO_DEFER_FLOOR - - - - -////////////////////////////////////////////////////////////////////////////// - -#ifdef STB_VORBIS_NO_PULLDATA_API - #define STB_VORBIS_NO_INTEGER_CONVERSION - #define STB_VORBIS_NO_STDIO -#endif - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) - #define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - - // only need endianness for fast-float-to-int, which we don't - // use for pushdata - - #ifndef STB_VORBIS_BIG_ENDIAN - #define STB_VORBIS_ENDIAN 0 - #else - #define STB_VORBIS_ENDIAN 1 - #endif - -#endif -#endif - - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifndef STB_VORBIS_NO_CRT -#include -#include -#include -#include -#if !(defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)) -#include -#endif -#else -#define NULL 0 -#endif - -#ifndef _MSC_VER - #if __GNUC__ - #define __forceinline inline - #else - #define __forceinline - #endif -#endif - -#if STB_VORBIS_MAX_CHANNELS > 256 -#error "Value of STB_VORBIS_MAX_CHANNELS outside of allowed range" -#endif - -#if STB_VORBIS_FAST_HUFFMAN_LENGTH > 24 -#error "Value of STB_VORBIS_FAST_HUFFMAN_LENGTH outside of allowed range" -#endif - - -#define MAX_BLOCKSIZE_LOG 13 // from specification -#define MAX_BLOCKSIZE (1 << MAX_BLOCKSIZE_LOG) - - -typedef unsigned char uint8; -typedef signed char int8; -typedef unsigned short uint16; -typedef signed short int16; -typedef unsigned int uint32; -typedef signed int int32; - -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif - -#ifdef STB_VORBIS_CODEBOOK_FLOATS -typedef float codetype; -#else -typedef uint16 codetype; -#endif - -// @NOTE -// -// Some arrays below are tagged "//varies", which means it's actually -// a variable-sized piece of data, but rather than malloc I assume it's -// small enough it's better to just allocate it all together with the -// main thing -// -// Most of the variables are specified with the smallest size I could pack -// them into. It might give better performance to make them all full-sized -// integers. It should be safe to freely rearrange the structures or change -// the sizes larger--nothing relies on silently truncating etc., nor the -// order of variables. - -#define FAST_HUFFMAN_TABLE_SIZE (1 << STB_VORBIS_FAST_HUFFMAN_LENGTH) -#define FAST_HUFFMAN_TABLE_MASK (FAST_HUFFMAN_TABLE_SIZE - 1) - -typedef struct -{ - int dimensions, entries; - uint8 *codeword_lengths; - float minimum_value; - float delta_value; - uint8 value_bits; - uint8 lookup_type; - uint8 sequence_p; - uint8 sparse; - uint32 lookup_values; - codetype *multiplicands; - uint32 *codewords; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - int16 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #else - int32 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; - #endif - uint32 *sorted_codewords; - int *sorted_values; - int sorted_entries; -} Codebook; - -typedef struct -{ - uint8 order; - uint16 rate; - uint16 bark_map_size; - uint8 amplitude_bits; - uint8 amplitude_offset; - uint8 number_of_books; - uint8 book_list[16]; // varies -} Floor0; - -typedef struct -{ - uint8 partitions; - uint8 partition_class_list[32]; // varies - uint8 class_dimensions[16]; // varies - uint8 class_subclasses[16]; // varies - uint8 class_masterbooks[16]; // varies - int16 subclass_books[16][8]; // varies - uint16 Xlist[31*8+2]; // varies - uint8 sorted_order[31*8+2]; - uint8 neighbors[31*8+2][2]; - uint8 floor1_multiplier; - uint8 rangebits; - int values; -} Floor1; - -typedef union -{ - Floor0 floor0; - Floor1 floor1; -} Floor; - -typedef struct -{ - uint32 begin, end; - uint32 part_size; - uint8 classifications; - uint8 classbook; - uint8 **classdata; - int16 (*residue_books)[8]; -} Residue; - -typedef struct -{ - uint8 magnitude; - uint8 angle; - uint8 mux; -} MappingChannel; - -typedef struct -{ - uint16 coupling_steps; - MappingChannel *chan; - uint8 submaps; - uint8 submap_floor[15]; // varies - uint8 submap_residue[15]; // varies -} Mapping; - -typedef struct -{ - uint8 blockflag; - uint8 mapping; - uint16 windowtype; - uint16 transformtype; -} Mode; - -typedef struct -{ - uint32 goal_crc; // expected crc if match - int bytes_left; // bytes left in packet - uint32 crc_so_far; // running crc - int bytes_done; // bytes processed in _current_ chunk - uint32 sample_loc; // granule pos encoded in page -} CRCscan; - -typedef struct -{ - uint32 page_start, page_end; - uint32 after_previous_page_start; - uint32 first_decoded_sample; - uint32 last_decoded_sample; -} ProbedPage; - -struct stb_vorbis -{ - // user-accessible info - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int temp_memory_required; - unsigned int setup_temp_memory_required; - - // input config -#ifndef STB_VORBIS_NO_STDIO - FILE *f; - uint32 f_start; - int close_on_free; -#endif - - uint8 *stream; - uint8 *stream_start; - uint8 *stream_end; - - uint32 stream_len; - - uint8 push_mode; - - uint32 first_audio_page_offset; - - ProbedPage p_first, p_last; - - // memory management - stb_vorbis_alloc alloc; - int setup_offset; - int temp_offset; - - // run-time results - int eof; - enum STBVorbisError error; - - // user-useful data - - // header info - int blocksize[2]; - int blocksize_0, blocksize_1; - int codebook_count; - Codebook *codebooks; - int floor_count; - uint16 floor_types[64]; // varies - Floor *floor_config; - int residue_count; - uint16 residue_types[64]; // varies - Residue *residue_config; - int mapping_count; - Mapping *mapping; - int mode_count; - Mode mode_config[64]; // varies - - uint32 total_samples; - - // decode buffer - float *channel_buffers[STB_VORBIS_MAX_CHANNELS]; - float *outputs [STB_VORBIS_MAX_CHANNELS]; - - float *previous_window[STB_VORBIS_MAX_CHANNELS]; - int previous_length; - - #ifndef STB_VORBIS_NO_DEFER_FLOOR - int16 *finalY[STB_VORBIS_MAX_CHANNELS]; - #else - float *floor_buffers[STB_VORBIS_MAX_CHANNELS]; - #endif - - uint32 current_loc; // sample location of next frame to decode - int current_loc_valid; - - // per-blocksize precomputed data - - // twiddle factors - float *A[2],*B[2],*C[2]; - float *window[2]; - uint16 *bit_reverse[2]; - - // current page/packet/segment streaming info - uint32 serial; // stream serial number for verification - int last_page; - int segment_count; - uint8 segments[255]; - uint8 page_flag; - uint8 bytes_in_seg; - uint8 first_decode; - int next_seg; - int last_seg; // flag that we're on the last segment - int last_seg_which; // what was the segment number of the last seg? - uint32 acc; - int valid_bits; - int packet_bytes; - int end_seg_with_known_loc; - uint32 known_loc_for_packet; - int discard_samples_deferred; - uint32 samples_output; - - // push mode scanning - int page_crc_tests; // only in push_mode: number of tests active; -1 if not searching -#ifndef STB_VORBIS_NO_PUSHDATA_API - CRCscan scan[STB_VORBIS_PUSHDATA_CRC_COUNT]; -#endif - - // sample-access - int channel_buffer_start; - int channel_buffer_end; -}; - -extern int my_prof(int slot); -//#define stb_prof my_prof - -#ifndef stb_prof -#define stb_prof(x) 0 -#endif - -#if defined(STB_VORBIS_NO_PUSHDATA_API) - #define IS_PUSH_MODE(f) FALSE -#elif defined(STB_VORBIS_NO_PULLDATA_API) - #define IS_PUSH_MODE(f) TRUE -#else - #define IS_PUSH_MODE(f) ((f)->push_mode) -#endif - -typedef struct stb_vorbis vorb; - -static int error(vorb *f, enum STBVorbisError e) -{ - f->error = e; - if (!f->eof && e != VORBIS_need_more_data) { - f->error=e; // breakpoint for debugging - } - return 0; -} - - -// these functions are used for allocating temporary memory -// while decoding. if you can afford the stack space, use -// alloca(); otherwise, provide a temp buffer and it will -// allocate out of those. - -#define array_size_required(count,size) (count*(sizeof(void *)+(size))) - -#define temp_alloc(f,size) (f->alloc.alloc_buffer ? setup_temp_malloc(f,size) : alloca(size)) -#ifdef dealloca -#define temp_free(f,p) (f->alloc.alloc_buffer ? 0 : dealloca(size)) -#else -#define temp_free(f,p) 0 -#endif -#define temp_alloc_save(f) ((f)->temp_offset) -#define temp_alloc_restore(f,p) ((f)->temp_offset = (p)) - -#define temp_block_array(f,count,size) make_block_array(temp_alloc(f,array_size_required(count,size)), count, size) - -// given a sufficiently large block of memory, make an array of pointers to subblocks of it -static void *make_block_array(void *mem, int count, int size) -{ - int i; - void ** p = (void **) mem; - char *q = (char *) (p + count); - for (i=0; i < count; ++i) { - p[i] = q; - q += size; - } - return p; -} - -static void *setup_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - f->setup_memory_required += sz; - if (f->alloc.alloc_buffer) { - void *p = (char *) f->alloc.alloc_buffer + f->setup_offset; - if (f->setup_offset + sz > f->temp_offset) return NULL; - f->setup_offset += sz; - return p; - } - return sz ? malloc(sz) : NULL; -} - -static void setup_free(vorb *f, void *p) -{ - if (f->alloc.alloc_buffer) return; // do nothing; setup mem is not a stack - free(p); -} - -static void *setup_temp_malloc(vorb *f, int sz) -{ - sz = (sz+3) & ~3; - if (f->alloc.alloc_buffer) { - if (f->temp_offset - sz < f->setup_offset) return NULL; - f->temp_offset -= sz; - return (char *) f->alloc.alloc_buffer + f->temp_offset; - } - return malloc(sz); -} - -static void setup_temp_free(vorb *f, void *p, size_t sz) -{ - if (f->alloc.alloc_buffer) { - f->temp_offset += (sz+3)&~3; - return; - } - free(p); -} - -#define CRC32_POLY 0x04c11db7 // from spec - -static uint32 crc_table[256]; -static void crc32_init(void) -{ - int i,j; - uint32 s; - for(i=0; i < 256; i++) { - for (s=i<<24, j=0; j < 8; ++j) - s = (s << 1) ^ (s >= (1<<31) ? CRC32_POLY : 0); - crc_table[i] = s; - } -} - -static __forceinline uint32 crc32_update(uint32 crc, uint8 byte) -{ - return (crc << 8) ^ crc_table[byte ^ (crc >> 24)]; -} - - -// used in setup, and for huffman that doesn't go fast path -static unsigned int bit_reverse(unsigned int n) -{ - n = ((n & 0xAAAAAAAA) >> 1) | ((n & 0x55555555) << 1); - n = ((n & 0xCCCCCCCC) >> 2) | ((n & 0x33333333) << 2); - n = ((n & 0xF0F0F0F0) >> 4) | ((n & 0x0F0F0F0F) << 4); - n = ((n & 0xFF00FF00) >> 8) | ((n & 0x00FF00FF) << 8); - return (n >> 16) | (n << 16); -} - -static float square(float x) -{ - return x*x; -} - -// this is a weird definition of log2() for which log2(1) = 1, log2(2) = 2, log2(4) = 3 -// as required by the specification. fast(?) implementation from stb.h -// @OPTIMIZE: called multiple times per-packet with "constants"; move to setup -static int ilog(int32 n) -{ - static signed char log2_4[16] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4 }; - - // 2 compares if n < 16, 3 compares otherwise (4 if signed or n > 1<<29) - if (n < (1U << 14)) - if (n < (1U << 4)) return 0 + log2_4[n ]; - else if (n < (1U << 9)) return 5 + log2_4[n >> 5]; - else return 10 + log2_4[n >> 10]; - else if (n < (1U << 24)) - if (n < (1U << 19)) return 15 + log2_4[n >> 15]; - else return 20 + log2_4[n >> 20]; - else if (n < (1U << 29)) return 25 + log2_4[n >> 25]; - else if (n < (1U << 31)) return 30 + log2_4[n >> 30]; - else return 0; // signed n returns 0 -} - -#ifndef M_PI - #define M_PI 3.14159265358979323846264f // from CRC -#endif - -// code length assigned to a value with no huffman encoding -#define NO_CODE 255 - -/////////////////////// LEAF SETUP FUNCTIONS ////////////////////////// -// -// these functions are only called at setup, and only a few times -// per file - -static float float32_unpack(uint32 x) -{ - // from the specification - uint32 mantissa = x & 0x1fffff; - uint32 sign = x & 0x80000000; - uint32 exp = (x & 0x7fe00000) >> 21; - double res = sign ? -(double)mantissa : (double)mantissa; - return (float) ldexp((float)res, exp-788); -} - - -// zlib & jpeg huffman tables assume that the output symbols -// can either be arbitrarily arranged, or have monotonically -// increasing frequencies--they rely on the lengths being sorted; -// this makes for a very simple generation algorithm. -// vorbis allows a huffman table with non-sorted lengths. This -// requires a more sophisticated construction, since symbols in -// order do not map to huffman codes "in order". -static void add_entry(Codebook *c, uint32 huff_code, int symbol, int count, int len, uint32 *values) -{ - if (!c->sparse) { - c->codewords [symbol] = huff_code; - } else { - c->codewords [count] = huff_code; - c->codeword_lengths[count] = len; - values [count] = symbol; - } -} - -static int compute_codewords(Codebook *c, uint8 *len, int n, uint32 *values) -{ - int i,k,m=0; - uint32 available[32]; - - memset(available, 0, sizeof(available)); - // find the first entry - for (k=0; k < n; ++k) if (len[k] < NO_CODE) break; - if (k == n) { assert(c->sorted_entries == 0); return TRUE; } - // add to the list - add_entry(c, 0, k, m++, len[k], values); - // add all available leaves - for (i=1; i <= len[k]; ++i) - available[i] = 1 << (32-i); - // note that the above code treats the first case specially, - // but it's really the same as the following code, so they - // could probably be combined (except the initial code is 0, - // and I use 0 in available[] to mean 'empty') - for (i=k+1; i < n; ++i) { - uint32 res; - int z = len[i], y; - if (z == NO_CODE) continue; - // find lowest available leaf (should always be earliest, - // which is what the specification calls for) - // note that this property, and the fact we can never have - // more than one free leaf at a given level, isn't totally - // trivial to prove, but it seems true and the assert never - // fires, so! - while (z > 0 && !available[z]) --z; - if (z == 0) { assert(0); return FALSE; } - res = available[z]; - available[z] = 0; - add_entry(c, bit_reverse(res), i, m++, len[i], values); - // propogate availability up the tree - if (z != len[i]) { - for (y=len[i]; y > z; --y) { - assert(available[y] == 0); - available[y] = res + (1 << (32-y)); - } - } - } - return TRUE; -} - -// accelerated huffman table allows fast O(1) match of all symbols -// of length <= STB_VORBIS_FAST_HUFFMAN_LENGTH -static void compute_accelerated_huffman(Codebook *c) -{ - int i, len; - for (i=0; i < FAST_HUFFMAN_TABLE_SIZE; ++i) - c->fast_huffman[i] = -1; - - len = c->sparse ? c->sorted_entries : c->entries; - #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT - if (len > 32767) len = 32767; // largest possible value we can encode! - #endif - for (i=0; i < len; ++i) { - if (c->codeword_lengths[i] <= STB_VORBIS_FAST_HUFFMAN_LENGTH) { - uint32 z = c->sparse ? bit_reverse(c->sorted_codewords[i]) : c->codewords[i]; - // set table entries for all bit combinations in the higher bits - while (z < FAST_HUFFMAN_TABLE_SIZE) { - c->fast_huffman[z] = i; - z += 1 << c->codeword_lengths[i]; - } - } - } -} - -static int uint32_compare(const void *p, const void *q) -{ - uint32 x = * (uint32 *) p; - uint32 y = * (uint32 *) q; - return x < y ? -1 : x > y; -} - -static int include_in_sort(Codebook *c, uint8 len) -{ - if (c->sparse) { assert(len != NO_CODE); return TRUE; } - if (len == NO_CODE) return FALSE; - if (len > STB_VORBIS_FAST_HUFFMAN_LENGTH) return TRUE; - return FALSE; -} - -// if the fast table above doesn't work, we want to binary -// search them... need to reverse the bits -static void compute_sorted_huffman(Codebook *c, uint8 *lengths, uint32 *values) -{ - int i, len; - // build a list of all the entries - // OPTIMIZATION: don't include the short ones, since they'll be caught by FAST_HUFFMAN. - // this is kind of a frivolous optimization--I don't see any performance improvement, - // but it's like 4 extra lines of code, so. - if (!c->sparse) { - int k = 0; - for (i=0; i < c->entries; ++i) - if (include_in_sort(c, lengths[i])) - c->sorted_codewords[k++] = bit_reverse(c->codewords[i]); - assert(k == c->sorted_entries); - } else { - for (i=0; i < c->sorted_entries; ++i) - c->sorted_codewords[i] = bit_reverse(c->codewords[i]); - } - - qsort(c->sorted_codewords, c->sorted_entries, sizeof(c->sorted_codewords[0]), uint32_compare); - c->sorted_codewords[c->sorted_entries] = 0xffffffff; - - len = c->sparse ? c->sorted_entries : c->entries; - // now we need to indicate how they correspond; we could either - // #1: sort a different data structure that says who they correspond to - // #2: for each sorted entry, search the original list to find who corresponds - // #3: for each original entry, find the sorted entry - // #1 requires extra storage, #2 is slow, #3 can use binary search! - for (i=0; i < len; ++i) { - int huff_len = c->sparse ? lengths[values[i]] : lengths[i]; - if (include_in_sort(c,huff_len)) { - uint32 code = bit_reverse(c->codewords[i]); - int x=0, n=c->sorted_entries; - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - assert(c->sorted_codewords[x] == code); - if (c->sparse) { - c->sorted_values[x] = values[i]; - c->codeword_lengths[x] = huff_len; - } else { - c->sorted_values[x] = i; - } - } - } -} - -// only run while parsing the header (3 times) -static int vorbis_validate(uint8 *data) -{ - static uint8 vorbis[6] = { 'v', 'o', 'r', 'b', 'i', 's' }; - return memcmp(data, vorbis, 6) == 0; -} - -// called from setup only, once per code book -// (formula implied by specification) -static int lookup1_values(int entries, int dim) -{ - int r = (int) floor(exp((float) log((float) entries) / dim)); - if ((int) floor(pow((float) r+1, dim)) <= entries) // (int) cast for MinGW warning; - ++r; // floor() to avoid _ftol() when non-CRT - assert(pow((float) r+1, dim) > entries); - assert((int) floor(pow((float) r, dim)) <= entries); // (int),floor() as above - return r; -} - -// called twice per file -static void compute_twiddle_factors(int n, float *A, float *B, float *C) -{ - int n4 = n >> 2, n8 = n >> 3; - int k,k2; - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2) * 0.5f; - B[k2+1] = (float) sin((k2+1)*M_PI/n/2) * 0.5f; - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } -} - -static void compute_window(int n, float *window) -{ - int n2 = n >> 1, i; - for (i=0; i < n2; ++i) - window[i] = (float) sin(0.5 * M_PI * square((float) sin((i - 0 + 0.5) / n2 * 0.5 * M_PI))); -} - -static void compute_bitreverse(int n, uint16 *rev) -{ - int ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - int i, n8 = n >> 3; - for (i=0; i < n8; ++i) - rev[i] = (bit_reverse(i) >> (32-ld+3)) << 2; -} - -static int init_blocksize(vorb *f, int b, int n) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3; - f->A[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->B[b] = (float *) setup_malloc(f, sizeof(float) * n2); - f->C[b] = (float *) setup_malloc(f, sizeof(float) * n4); - if (!f->A[b] || !f->B[b] || !f->C[b]) return error(f, VORBIS_outofmem); - compute_twiddle_factors(n, f->A[b], f->B[b], f->C[b]); - f->window[b] = (float *) setup_malloc(f, sizeof(float) * n2); - if (!f->window[b]) return error(f, VORBIS_outofmem); - compute_window(n, f->window[b]); - f->bit_reverse[b] = (uint16 *) setup_malloc(f, sizeof(uint16) * n8); - if (!f->bit_reverse[b]) return error(f, VORBIS_outofmem); - compute_bitreverse(n, f->bit_reverse[b]); - return TRUE; -} - -static void neighbors(uint16 *x, int n, int *plow, int *phigh) -{ - int low = -1; - int high = 65536; - int i; - for (i=0; i < n; ++i) { - if (x[i] > low && x[i] < x[n]) { *plow = i; low = x[i]; } - if (x[i] < high && x[i] > x[n]) { *phigh = i; high = x[i]; } - } -} - -// this has been repurposed so y is now the original index instead of y -typedef struct -{ - uint16 x,y; -} VorbisPoint; - -int point_compare(const void *p, const void *q) -{ - VorbisPoint *a = (VorbisPoint *) p; - VorbisPoint *b = (VorbisPoint *) q; - return a->x < b->x ? -1 : a->x > b->x; -} - -// -/////////////////////// END LEAF SETUP FUNCTIONS ////////////////////////// - - -#if defined(STB_VORBIS_NO_STDIO) - #define USE_MEMORY(z) TRUE -#else - #define USE_MEMORY(z) ((z)->stream) -#endif - -static uint8 get8(vorb *z) -{ - if (USE_MEMORY(z)) { - if (z->stream >= z->stream_end) { z->eof = TRUE; return 0; } - return *z->stream++; - } - - #ifndef STB_VORBIS_NO_STDIO - { - int c = fgetc(z->f); - if (c == EOF) { z->eof = TRUE; return 0; } - return c; - } - #endif -} - -static uint32 get32(vorb *f) -{ - uint32 x; - x = get8(f); - x += get8(f) << 8; - x += get8(f) << 16; - x += get8(f) << 24; - return x; -} - -static int getn(vorb *z, uint8 *data, int n) -{ - if (USE_MEMORY(z)) { - if (z->stream+n > z->stream_end) { z->eof = 1; return 0; } - memcpy(data, z->stream, n); - z->stream += n; - return 1; - } - - #ifndef STB_VORBIS_NO_STDIO - if (fread(data, n, 1, z->f) == 1) - return 1; - else { - z->eof = 1; - return 0; - } - #endif -} - -static void skip(vorb *z, int n) -{ - if (USE_MEMORY(z)) { - z->stream += n; - if (z->stream >= z->stream_end) z->eof = 1; - return; - } - #ifndef STB_VORBIS_NO_STDIO - { - long x = ftell(z->f); - fseek(z->f, x+n, SEEK_SET); - } - #endif -} - -static int set_file_offset(stb_vorbis *f, unsigned int loc) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - f->eof = 0; - if (USE_MEMORY(f)) { - if (f->stream_start + loc >= f->stream_end || f->stream_start + loc < f->stream_start) { - f->stream = f->stream_end; - f->eof = 1; - return 0; - } else { - f->stream = f->stream_start + loc; - return 1; - } - } - #ifndef STB_VORBIS_NO_STDIO - if (loc + f->f_start < loc || loc >= 0x80000000) { - loc = 0x7fffffff; - f->eof = 1; - } else { - loc += f->f_start; - } - if (!fseek(f->f, loc, SEEK_SET)) - return 1; - f->eof = 1; - fseek(f->f, f->f_start, SEEK_END); - return 0; - #endif -} - - -static uint8 ogg_page_header[4] = { 0x4f, 0x67, 0x67, 0x53 }; - -static int capture_pattern(vorb *f) -{ - if (0x4f != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x67 != get8(f)) return FALSE; - if (0x53 != get8(f)) return FALSE; - return TRUE; -} - -#define PAGEFLAG_continued_packet 1 -#define PAGEFLAG_first_page 2 -#define PAGEFLAG_last_page 4 - -static int start_page_no_capturepattern(vorb *f) -{ - uint32 loc0,loc1,n,i; - // stream structure version - if (0 != get8(f)) return error(f, VORBIS_invalid_stream_structure_version); - // header flag - f->page_flag = get8(f); - // absolute granule position - loc0 = get32(f); - loc1 = get32(f); - // @TODO: validate loc0,loc1 as valid positions? - // stream serial number -- vorbis doesn't interleave, so discard - get32(f); - //if (f->serial != get32(f)) return error(f, VORBIS_incorrect_stream_serial_number); - // page sequence number - n = get32(f); - f->last_page = n; - // CRC32 - get32(f); - // page_segments - f->segment_count = get8(f); - if (!getn(f, f->segments, f->segment_count)) - return error(f, VORBIS_unexpected_eof); - // assume we _don't_ know any the sample position of any segments - f->end_seg_with_known_loc = -2; - if (loc0 != ~0 || loc1 != ~0) { - // determine which packet is the last one that will complete - for (i=f->segment_count-1; i >= 0; --i) - if (f->segments[i] < 255) - break; - // 'i' is now the index of the _last_ segment of a packet that ends - if (i >= 0) { - f->end_seg_with_known_loc = i; - f->known_loc_for_packet = loc0; - } - } - if (f->first_decode) { - int i,len; - ProbedPage p; - len = 0; - for (i=0; i < f->segment_count; ++i) - len += f->segments[i]; - len += 27 + f->segment_count; - p.page_start = f->first_audio_page_offset; - p.page_end = p.page_start + len; - p.after_previous_page_start = p.page_start; - p.first_decoded_sample = 0; - p.last_decoded_sample = loc0; - f->p_first = p; - } - f->next_seg = 0; - return TRUE; -} - -static int start_page(vorb *f) -{ - if (!capture_pattern(f)) return error(f, VORBIS_missing_capture_pattern); - return start_page_no_capturepattern(f); -} - -static int start_packet(vorb *f) -{ - while (f->next_seg == -1) { - if (!start_page(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) - return error(f, VORBIS_continued_packet_flag_invalid); - } - f->last_seg = FALSE; - f->valid_bits = 0; - f->packet_bytes = 0; - f->bytes_in_seg = 0; - // f->next_seg is now valid - return TRUE; -} - -static int maybe_start_packet(vorb *f) -{ - if (f->next_seg == -1) { - int x = get8(f); - if (f->eof) return FALSE; // EOF at page boundary is not an error! - if (0x4f != x ) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (0x53 != get8(f)) return error(f, VORBIS_missing_capture_pattern); - if (!start_page_no_capturepattern(f)) return FALSE; - if (f->page_flag & PAGEFLAG_continued_packet) { - // set up enough state that we can read this packet if we want, - // e.g. during recovery - f->last_seg = FALSE; - f->bytes_in_seg = 0; - return error(f, VORBIS_continued_packet_flag_invalid); - } - } - return start_packet(f); -} - -static int next_segment(vorb *f) -{ - int len; - if (f->last_seg) return 0; - if (f->next_seg == -1) { - f->last_seg_which = f->segment_count-1; // in case start_page fails - if (!start_page(f)) { f->last_seg = 1; return 0; } - if (!(f->page_flag & PAGEFLAG_continued_packet)) return error(f, VORBIS_continued_packet_flag_invalid); - } - len = f->segments[f->next_seg++]; - if (len < 255) { - f->last_seg = TRUE; - f->last_seg_which = f->next_seg-1; - } - if (f->next_seg >= f->segment_count) - f->next_seg = -1; - assert(f->bytes_in_seg == 0); - f->bytes_in_seg = len; - return len; -} - -#define EOP (-1) -#define INVALID_BITS (-1) - -static int get8_packet_raw(vorb *f) -{ - if (!f->bytes_in_seg) - if (f->last_seg) return EOP; - else if (!next_segment(f)) return EOP; - assert(f->bytes_in_seg > 0); - --f->bytes_in_seg; - ++f->packet_bytes; - return get8(f); -} - -static int get8_packet(vorb *f) -{ - int x = get8_packet_raw(f); - f->valid_bits = 0; - return x; -} - -static void flush_packet(vorb *f) -{ - while (get8_packet_raw(f) != EOP); -} - -// @OPTIMIZE: this is the secondary bit decoder, so it's probably not as important -// as the huffman decoder? -static uint32 get_bits(vorb *f, int n) -{ - uint32 z; - - if (f->valid_bits < 0) return 0; - if (f->valid_bits < n) { - if (n > 24) { - // the accumulator technique below would not work correctly in this case - z = get_bits(f, 24); - z += get_bits(f, n-24) << 24; - return z; - } - if (f->valid_bits == 0) f->acc = 0; - while (f->valid_bits < n) { - int z = get8_packet_raw(f); - if (z == EOP) { - f->valid_bits = INVALID_BITS; - return 0; - } - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } - } - if (f->valid_bits < 0) return 0; - z = f->acc & ((1 << n)-1); - f->acc >>= n; - f->valid_bits -= n; - return z; -} - -static int32 get_bits_signed(vorb *f, int n) -{ - uint32 z = get_bits(f, n); - if (z & (1 << (n-1))) - z += ~((1 << n) - 1); - return (int32) z; -} - -// @OPTIMIZE: primary accumulator for huffman -// expand the buffer to as many bits as possible without reading off end of packet -// it might be nice to allow f->valid_bits and f->acc to be stored in registers, -// e.g. cache them locally and decode locally -static __forceinline void prep_huffman(vorb *f) -{ - if (f->valid_bits <= 24) { - if (f->valid_bits == 0) f->acc = 0; - do { - int z; - if (f->last_seg && !f->bytes_in_seg) return; - z = get8_packet_raw(f); - if (z == EOP) return; - f->acc += z << f->valid_bits; - f->valid_bits += 8; - } while (f->valid_bits <= 24); - } -} - -enum -{ - VORBIS_packet_id = 1, - VORBIS_packet_comment = 3, - VORBIS_packet_setup = 5, -}; - -static int codebook_decode_scalar_raw(vorb *f, Codebook *c) -{ - int i; - prep_huffman(f); - - assert(c->sorted_codewords || c->codewords); - // cases to use binary search: sorted_codewords && !c->codewords - // sorted_codewords && c->entries > 8 - if (c->entries > 8 ? c->sorted_codewords!=NULL : !c->codewords) { - // binary search - uint32 code = bit_reverse(f->acc); - int x=0, n=c->sorted_entries, len; - - while (n > 1) { - // invariant: sc[x] <= code < sc[x+n] - int m = x + (n >> 1); - if (c->sorted_codewords[m] <= code) { - x = m; - n -= (n>>1); - } else { - n >>= 1; - } - } - // x is now the sorted index - if (!c->sparse) x = c->sorted_values[x]; - // x is now sorted index if sparse, or symbol otherwise - len = c->codeword_lengths[x]; - if (f->valid_bits >= len) { - f->acc >>= len; - f->valid_bits -= len; - return x; - } - - f->valid_bits = 0; - return -1; - } - - // if small, linear search - assert(!c->sparse); - for (i=0; i < c->entries; ++i) { - if (c->codeword_lengths[i] == NO_CODE) continue; - if (c->codewords[i] == (f->acc & ((1 << c->codeword_lengths[i])-1))) { - if (f->valid_bits >= c->codeword_lengths[i]) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - return i; - } - f->valid_bits = 0; - return -1; - } - } - - error(f, VORBIS_invalid_stream); - f->valid_bits = 0; - return -1; -} - -static int codebook_decode_scalar(vorb *f, Codebook *c) -{ - int i; - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) - prep_huffman(f); - // fast huffman table lookup - i = f->acc & FAST_HUFFMAN_TABLE_MASK; - i = c->fast_huffman[i]; - if (i >= 0) { - f->acc >>= c->codeword_lengths[i]; - f->valid_bits -= c->codeword_lengths[i]; - if (f->valid_bits < 0) { f->valid_bits = 0; return -1; } - return i; - } - return codebook_decode_scalar_raw(f,c); -} - -#ifndef STB_VORBIS_NO_INLINE_DECODE - -#define DECODE_RAW(var, f,c) \ - if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) \ - prep_huffman(f); \ - var = f->acc & FAST_HUFFMAN_TABLE_MASK; \ - var = c->fast_huffman[var]; \ - if (var >= 0) { \ - int n = c->codeword_lengths[var]; \ - f->acc >>= n; \ - f->valid_bits -= n; \ - if (f->valid_bits < 0) { f->valid_bits = 0; var = -1; } \ - } else { \ - var = codebook_decode_scalar_raw(f,c); \ - } - -#else - -#define DECODE_RAW(var,f,c) var = codebook_decode_scalar(f,c); - -#endif - -#define DECODE(var,f,c) \ - DECODE_RAW(var,f,c) \ - if (c->sparse) var = c->sorted_values[var]; - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - #define DECODE_VQ(var,f,c) DECODE_RAW(var,f,c) -#else - #define DECODE_VQ(var,f,c) DECODE(var,f,c) -#endif - - - - - - -// CODEBOOK_ELEMENT_FAST is an optimization for the CODEBOOK_FLOATS case -// where we avoid one addition -#ifndef STB_VORBIS_CODEBOOK_FLOATS - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off] * c->delta_value + c->minimum_value) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off] * c->delta_value) - #define CODEBOOK_ELEMENT_BASE(c) (c->minimum_value) -#else - #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off]) - #define CODEBOOK_ELEMENT_BASE(c) (0) -#endif - -static int codebook_decode_start(vorb *f, Codebook *c, int len) -{ - int z = -1; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) - error(f, VORBIS_invalid_stream); - else { - DECODE_VQ(z,f,c); - if (c->sparse) assert(z < c->sorted_entries); - if (z < 0) { // check for EOP - if (!f->bytes_in_seg) - if (f->last_seg) - return z; - error(f, VORBIS_invalid_stream); - } - } - return z; -} - -static int codebook_decode(vorb *f, Codebook *c, float *output, int len) -{ - int i,z = codebook_decode_start(f,c,len); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - float last = CODEBOOK_ELEMENT_BASE(c); - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i] += val; - if (c->sequence_p) last = val + c->minimum_value; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - if (c->sequence_p) { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i] += val; - last = val + c->minimum_value; - } - } else { - float last = CODEBOOK_ELEMENT_BASE(c); - for (i=0; i < len; ++i) { - output[i] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - } - } - - return TRUE; -} - -static int codebook_decode_step(vorb *f, Codebook *c, float *output, int len, int step) -{ - int i,z = codebook_decode_start(f,c,len); - float last = CODEBOOK_ELEMENT_BASE(c); - if (z < 0) return FALSE; - if (len > c->dimensions) len = c->dimensions; - -#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < len; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - return TRUE; - } -#endif - - z *= c->dimensions; - for (i=0; i < len; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - output[i*step] += val; - if (c->sequence_p) last = val; - } - - return TRUE; -} - -static int codebook_decode_deinterleave_repeat(vorb *f, Codebook *c, float **outputs, int ch, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - #ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - assert(!c->sparse || z < c->sorted_entries); - #endif - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*ch + effective > len * ch) { - effective = len*ch - (p_inter*ch - c_inter); - } - - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int div = 1; - for (i=0; i < effective; ++i) { - int off = (z / div) % c->lookup_values; - float val = CODEBOOK_ELEMENT_FAST(c,off) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - if (c->sequence_p) last = val; - div *= c->lookup_values; - } - } else - #endif - { - z *= c->dimensions; - if (c->sequence_p) { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == ch) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK -static int codebook_decode_deinterleave_repeat_2(vorb *f, Codebook *c, float **outputs, int *c_inter_p, int *p_inter_p, int len, int total_decode) -{ - int c_inter = *c_inter_p; - int p_inter = *p_inter_p; - int i,z, effective = c->dimensions; - - // type 0 is only legal in a scalar context - if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); - - while (total_decode > 0) { - float last = CODEBOOK_ELEMENT_BASE(c); - DECODE_VQ(z,f,c); - - if (z < 0) { - if (!f->bytes_in_seg) - if (f->last_seg) return FALSE; - return error(f, VORBIS_invalid_stream); - } - - // if this will take us off the end of the buffers, stop short! - // we check by computing the length of the virtual interleaved - // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), - // and the length we'll be using (effective) - if (c_inter + p_inter*2 + effective > len * 2) { - effective = len*2 - (p_inter*2 - c_inter); - } - - { - z *= c->dimensions; - stb_prof(11); - if (c->sequence_p) { - // haven't optimized this case because I don't have any examples - for (i=0; i < effective; ++i) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - last = val; - } - } else { - i=0; - if (c_inter == 1) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - c_inter = 0; ++p_inter; - ++i; - } - { - float *z0 = outputs[0]; - float *z1 = outputs[1]; - for (; i+1 < effective;) { - z0[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; - z1[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i+1) + last; - ++p_inter; - i += 2; - } - } - if (i < effective) { - float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; - outputs[c_inter][p_inter] += val; - if (++c_inter == 2) { c_inter = 0; ++p_inter; } - } - } - } - - total_decode -= effective; - } - *c_inter_p = c_inter; - *p_inter_p = p_inter; - return TRUE; -} -#endif - -static int predict_point(int x, int x0, int x1, int y0, int y1) -{ - int dy = y1 - y0; - int adx = x1 - x0; - // @OPTIMIZE: force int division to round in the right direction... is this necessary on x86? - int err = abs(dy) * (x - x0); - int off = err / adx; - return dy < 0 ? y0 - off : y0 + off; -} - -// the following table is block-copied from the specification -static float inverse_db_table[256] = -{ - 1.0649863e-07f, 1.1341951e-07f, 1.2079015e-07f, 1.2863978e-07f, - 1.3699951e-07f, 1.4590251e-07f, 1.5538408e-07f, 1.6548181e-07f, - 1.7623575e-07f, 1.8768855e-07f, 1.9988561e-07f, 2.1287530e-07f, - 2.2670913e-07f, 2.4144197e-07f, 2.5713223e-07f, 2.7384213e-07f, - 2.9163793e-07f, 3.1059021e-07f, 3.3077411e-07f, 3.5226968e-07f, - 3.7516214e-07f, 3.9954229e-07f, 4.2550680e-07f, 4.5315863e-07f, - 4.8260743e-07f, 5.1396998e-07f, 5.4737065e-07f, 5.8294187e-07f, - 6.2082472e-07f, 6.6116941e-07f, 7.0413592e-07f, 7.4989464e-07f, - 7.9862701e-07f, 8.5052630e-07f, 9.0579828e-07f, 9.6466216e-07f, - 1.0273513e-06f, 1.0941144e-06f, 1.1652161e-06f, 1.2409384e-06f, - 1.3215816e-06f, 1.4074654e-06f, 1.4989305e-06f, 1.5963394e-06f, - 1.7000785e-06f, 1.8105592e-06f, 1.9282195e-06f, 2.0535261e-06f, - 2.1869758e-06f, 2.3290978e-06f, 2.4804557e-06f, 2.6416497e-06f, - 2.8133190e-06f, 2.9961443e-06f, 3.1908506e-06f, 3.3982101e-06f, - 3.6190449e-06f, 3.8542308e-06f, 4.1047004e-06f, 4.3714470e-06f, - 4.6555282e-06f, 4.9580707e-06f, 5.2802740e-06f, 5.6234160e-06f, - 5.9888572e-06f, 6.3780469e-06f, 6.7925283e-06f, 7.2339451e-06f, - 7.7040476e-06f, 8.2047000e-06f, 8.7378876e-06f, 9.3057248e-06f, - 9.9104632e-06f, 1.0554501e-05f, 1.1240392e-05f, 1.1970856e-05f, - 1.2748789e-05f, 1.3577278e-05f, 1.4459606e-05f, 1.5399272e-05f, - 1.6400004e-05f, 1.7465768e-05f, 1.8600792e-05f, 1.9809576e-05f, - 2.1096914e-05f, 2.2467911e-05f, 2.3928002e-05f, 2.5482978e-05f, - 2.7139006e-05f, 2.8902651e-05f, 3.0780908e-05f, 3.2781225e-05f, - 3.4911534e-05f, 3.7180282e-05f, 3.9596466e-05f, 4.2169667e-05f, - 4.4910090e-05f, 4.7828601e-05f, 5.0936773e-05f, 5.4246931e-05f, - 5.7772202e-05f, 6.1526565e-05f, 6.5524908e-05f, 6.9783085e-05f, - 7.4317983e-05f, 7.9147585e-05f, 8.4291040e-05f, 8.9768747e-05f, - 9.5602426e-05f, 0.00010181521f, 0.00010843174f, 0.00011547824f, - 0.00012298267f, 0.00013097477f, 0.00013948625f, 0.00014855085f, - 0.00015820453f, 0.00016848555f, 0.00017943469f, 0.00019109536f, - 0.00020351382f, 0.00021673929f, 0.00023082423f, 0.00024582449f, - 0.00026179955f, 0.00027881276f, 0.00029693158f, 0.00031622787f, - 0.00033677814f, 0.00035866388f, 0.00038197188f, 0.00040679456f, - 0.00043323036f, 0.00046138411f, 0.00049136745f, 0.00052329927f, - 0.00055730621f, 0.00059352311f, 0.00063209358f, 0.00067317058f, - 0.00071691700f, 0.00076350630f, 0.00081312324f, 0.00086596457f, - 0.00092223983f, 0.00098217216f, 0.0010459992f, 0.0011139742f, - 0.0011863665f, 0.0012634633f, 0.0013455702f, 0.0014330129f, - 0.0015261382f, 0.0016253153f, 0.0017309374f, 0.0018434235f, - 0.0019632195f, 0.0020908006f, 0.0022266726f, 0.0023713743f, - 0.0025254795f, 0.0026895994f, 0.0028643847f, 0.0030505286f, - 0.0032487691f, 0.0034598925f, 0.0036847358f, 0.0039241906f, - 0.0041792066f, 0.0044507950f, 0.0047400328f, 0.0050480668f, - 0.0053761186f, 0.0057254891f, 0.0060975636f, 0.0064938176f, - 0.0069158225f, 0.0073652516f, 0.0078438871f, 0.0083536271f, - 0.0088964928f, 0.009474637f, 0.010090352f, 0.010746080f, - 0.011444421f, 0.012188144f, 0.012980198f, 0.013823725f, - 0.014722068f, 0.015678791f, 0.016697687f, 0.017782797f, - 0.018938423f, 0.020169149f, 0.021479854f, 0.022875735f, - 0.024362330f, 0.025945531f, 0.027631618f, 0.029427276f, - 0.031339626f, 0.033376252f, 0.035545228f, 0.037855157f, - 0.040315199f, 0.042935108f, 0.045725273f, 0.048696758f, - 0.051861348f, 0.055231591f, 0.058820850f, 0.062643361f, - 0.066714279f, 0.071049749f, 0.075666962f, 0.080584227f, - 0.085821044f, 0.091398179f, 0.097337747f, 0.10366330f, - 0.11039993f, 0.11757434f, 0.12521498f, 0.13335215f, - 0.14201813f, 0.15124727f, 0.16107617f, 0.17154380f, - 0.18269168f, 0.19456402f, 0.20720788f, 0.22067342f, - 0.23501402f, 0.25028656f, 0.26655159f, 0.28387361f, - 0.30232132f, 0.32196786f, 0.34289114f, 0.36517414f, - 0.38890521f, 0.41417847f, 0.44109412f, 0.46975890f, - 0.50028648f, 0.53279791f, 0.56742212f, 0.60429640f, - 0.64356699f, 0.68538959f, 0.72993007f, 0.77736504f, - 0.82788260f, 0.88168307f, 0.9389798f, 1.0f -}; - - -// @OPTIMIZE: if you want to replace this bresenham line-drawing routine, -// note that you must produce bit-identical output to decode correctly; -// this specific sequence of operations is specified in the spec (it's -// drawing integer-quantized frequency-space lines that the encoder -// expects to be exactly the same) -// ... also, isn't the whole point of Bresenham's algorithm to NOT -// have to divide in the setup? sigh. -#ifndef STB_VORBIS_NO_DEFER_FLOOR -#define LINE_OP(a,b) a *= b -#else -#define LINE_OP(a,b) a = b -#endif - -#ifdef STB_VORBIS_DIVIDE_TABLE -#define DIVTAB_NUMER 32 -#define DIVTAB_DENOM 64 -int8 integer_divide_table[DIVTAB_NUMER][DIVTAB_DENOM]; // 2KB -#endif - -static __forceinline void draw_line(float *output, int x0, int y0, int x1, int y1, int n) -{ - int dy = y1 - y0; - int adx = x1 - x0; - int ady = abs(dy); - int base; - int x=x0,y=y0; - int err = 0; - int sy; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (adx < DIVTAB_DENOM && ady < DIVTAB_NUMER) { - if (dy < 0) { - base = -integer_divide_table[ady][adx]; - sy = base-1; - } else { - base = integer_divide_table[ady][adx]; - sy = base+1; - } - } else { - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; - } -#else - base = dy / adx; - if (dy < 0) - sy = base - 1; - else - sy = base+1; -#endif - ady -= abs(base) * adx; - if (x1 > n) x1 = n; - LINE_OP(output[x], inverse_db_table[y]); - for (++x; x < x1; ++x) { - err += ady; - if (err >= adx) { - err -= adx; - y += sy; - } else - y += base; - LINE_OP(output[x], inverse_db_table[y]); - } -} - -static int residue_decode(vorb *f, Codebook *book, float *target, int offset, int n, int rtype) -{ - int k; - if (rtype == 0) { - int step = n / book->dimensions; - for (k=0; k < step; ++k) - if (!codebook_decode_step(f, book, target+offset+k, n-offset-k, step)) - return FALSE; - } else { - for (k=0; k < n; ) { - if (!codebook_decode(f, book, target+offset, n-k)) - return FALSE; - k += book->dimensions; - offset += book->dimensions; - } - } - return TRUE; -} - -static void decode_residue(vorb *f, float *residue_buffers[], int ch, int n, int rn, uint8 *do_not_decode) -{ - int i,j,pass; - Residue *r = f->residue_config + rn; - int rtype = f->residue_types[rn]; - int c = r->classbook; - int classwords = f->codebooks[c].dimensions; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - int temp_alloc_point = temp_alloc_save(f); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - uint8 ***part_classdata = (uint8 ***) temp_block_array(f,f->channels, part_read * sizeof(**part_classdata)); - #else - int **classifications = (int **) temp_block_array(f,f->channels, part_read * sizeof(**classifications)); - #endif - - stb_prof(2); - for (i=0; i < ch; ++i) - if (!do_not_decode[i]) - memset(residue_buffers[i], 0, sizeof(float) * n); - - if (rtype == 2 && ch != 1) { - int len = ch * n; - for (j=0; j < ch; ++j) - if (!do_not_decode[j]) - break; - if (j == ch) - goto done; - - stb_prof(3); - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set = 0; - if (ch == 2) { - stb_prof(13); - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = (z & 1), p_inter = z>>1; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - stb_prof(5); - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(20); // accounts for X time - #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - #else - // saves 1% - if (!codebook_decode_deinterleave_repeat_2(f, book, residue_buffers, &c_inter, &p_inter, n, r->part_size)) - goto done; - #endif - stb_prof(7); - } else { - z += r->part_size; - c_inter = z & 1; - p_inter = z >> 1; - } - } - stb_prof(8); - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else if (ch == 1) { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = 0, p_inter = z; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = 0; - p_inter = z; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } else { - while (pcount < part_read) { - int z = r->begin + pcount*r->part_size; - int c_inter = z % ch, p_inter = z/ch; - if (pass == 0) { - Codebook *c = f->codebooks+r->classbook; - int q; - DECODE(q,f,c); - if (q == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[0][class_set] = r->classdata[q]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[0][i+pcount] = q % r->classifications; - q /= r->classifications; - } - #endif - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - int z = r->begin + pcount*r->part_size; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[0][class_set][i]; - #else - int c = classifications[0][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - Codebook *book = f->codebooks + b; - stb_prof(22); - if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) - goto done; - stb_prof(3); - } else { - z += r->part_size; - c_inter = z % ch; - p_inter = z / ch; - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - } - goto done; - } - stb_prof(9); - - for (pass=0; pass < 8; ++pass) { - int pcount = 0, class_set=0; - while (pcount < part_read) { - if (pass == 0) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - Codebook *c = f->codebooks+r->classbook; - int temp; - DECODE(temp,f,c); - if (temp == EOP) goto done; - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - part_classdata[j][class_set] = r->classdata[temp]; - #else - for (i=classwords-1; i >= 0; --i) { - classifications[j][i+pcount] = temp % r->classifications; - temp /= r->classifications; - } - #endif - } - } - } - for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { - for (j=0; j < ch; ++j) { - if (!do_not_decode[j]) { - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - int c = part_classdata[j][class_set][i]; - #else - int c = classifications[j][pcount]; - #endif - int b = r->residue_books[c][pass]; - if (b >= 0) { - float *target = residue_buffers[j]; - int offset = r->begin + pcount * r->part_size; - int n = r->part_size; - Codebook *book = f->codebooks + b; - if (!residue_decode(f, book, target, offset, n, rtype)) - goto done; - } - } - } - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - ++class_set; - #endif - } - } - done: - stb_prof(0); - temp_alloc_restore(f,temp_alloc_point); -} - - -#if 0 -// slow way for debugging -void inverse_mdct_slow(float *buffer, int n) -{ - int i,j; - int n2 = n >> 1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - // formula from paper: - //acc += n/4.0f * x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - // formula from wikipedia - //acc += 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - // these are equivalent, except the formula from the paper inverts the multiplier! - // however, what actually works is NO MULTIPLIER!?! - //acc += 64 * 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); - acc += x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); - buffer[i] = acc; - } - free(x); -} -#elif 0 -// same as above, but just barely able to run in real time on modern machines -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - float mcos[16384]; - int i,j; - int n2 = n >> 1, nmask = (n << 2) -1; - float *x = (float *) malloc(sizeof(*x) * n2); - memcpy(x, buffer, sizeof(*x) * n2); - for (i=0; i < 4*n; ++i) - mcos[i] = (float) cos(M_PI / 2 * i / n); - - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n2; ++j) - acc += x[j] * mcos[(2 * i + 1 + n2)*(2*j+1) & nmask]; - buffer[i] = acc; - } - free(x); -} -#else -// transform to use a slow dct-iv; this is STILL basically trivial, -// but only requires half as many ops -void dct_iv_slow(float *buffer, int n) -{ - float mcos[16384]; - float x[2048]; - int i,j; - int n2 = n >> 1, nmask = (n << 3) - 1; - memcpy(x, buffer, sizeof(*x) * n); - for (i=0; i < 8*n; ++i) - mcos[i] = (float) cos(M_PI / 4 * i / n); - for (i=0; i < n; ++i) { - float acc = 0; - for (j=0; j < n; ++j) - acc += x[j] * mcos[((2 * i + 1)*(2*j+1)) & nmask]; - //acc += x[j] * cos(M_PI / n * (i + 0.5) * (j + 0.5)); - buffer[i] = acc; - } - free(x); -} - -void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) -{ - int i, n4 = n >> 2, n2 = n >> 1, n3_4 = n - n4; - float temp[4096]; - - memcpy(temp, buffer, n2 * sizeof(float)); - dct_iv_slow(temp, n2); // returns -c'-d, a-b' - - for (i=0; i < n4 ; ++i) buffer[i] = temp[i+n4]; // a-b' - for ( ; i < n3_4; ++i) buffer[i] = -temp[n3_4 - i - 1]; // b-a', c+d' - for ( ; i < n ; ++i) buffer[i] = -temp[i - n3_4]; // c'+d -} -#endif - -#ifndef LIBVORBIS_MDCT -#define LIBVORBIS_MDCT 0 -#endif - -#if LIBVORBIS_MDCT -// directly call the vorbis MDCT using an interface documented -// by Jeff Roberts... useful for performance comparison -typedef struct -{ - int n; - int log2n; - - float *trig; - int *bitrev; - - float scale; -} mdct_lookup; - -extern void mdct_init(mdct_lookup *lookup, int n); -extern void mdct_clear(mdct_lookup *l); -extern void mdct_backward(mdct_lookup *init, float *in, float *out); - -mdct_lookup M1,M2; - -void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - mdct_lookup *M; - if (M1.n == n) M = &M1; - else if (M2.n == n) M = &M2; - else if (M1.n == 0) { mdct_init(&M1, n); M = &M1; } - else { - if (M2.n) __asm int 3; - mdct_init(&M2, n); - M = &M2; - } - - mdct_backward(M, buffer, buffer); -} -#endif - - -// the following were split out into separate functions while optimizing; -// they could be pushed back up but eh. __forceinline showed no change; -// they're probably already being inlined. -static void imdct_step3_iter0_loop(int n, float *e, int i_off, int k_off, float *A) -{ - float *ee0 = e + i_off; - float *ee2 = ee0 + k_off; - int i; - - assert((n & 3) == 0); - for (i=(n>>2); i > 0; --i) { - float k00_20, k01_21; - k00_20 = ee0[ 0] - ee2[ 0]; - k01_21 = ee0[-1] - ee2[-1]; - ee0[ 0] += ee2[ 0];//ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] += ee2[-1];//ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-1] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-2] - ee2[-2]; - k01_21 = ee0[-3] - ee2[-3]; - ee0[-2] += ee2[-2];//ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] += ee2[-3];//ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-3] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-4] - ee2[-4]; - k01_21 = ee0[-5] - ee2[-5]; - ee0[-4] += ee2[-4];//ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] += ee2[-5];//ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-5] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - - k00_20 = ee0[-6] - ee2[-6]; - k01_21 = ee0[-7] - ee2[-7]; - ee0[-6] += ee2[-6];//ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] += ee2[-7];//ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = k00_20 * A[0] - k01_21 * A[1]; - ee2[-7] = k01_21 * A[0] + k00_20 * A[1]; - A += 8; - ee0 -= 8; - ee2 -= 8; - } -} - -static void imdct_step3_inner_r_loop(int lim, float *e, int d0, int k_off, float *A, int k1) -{ - int i; - float k00_20, k01_21; - - float *e0 = e + d0; - float *e2 = e0 + k_off; - - for (i=lim >> 2; i > 0; --i) { - k00_20 = e0[-0] - e2[-0]; - k01_21 = e0[-1] - e2[-1]; - e0[-0] += e2[-0];//e0[-0] = e0[-0] + e2[-0]; - e0[-1] += e2[-1];//e0[-1] = e0[-1] + e2[-1]; - e2[-0] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-1] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-2] - e2[-2]; - k01_21 = e0[-3] - e2[-3]; - e0[-2] += e2[-2];//e0[-2] = e0[-2] + e2[-2]; - e0[-3] += e2[-3];//e0[-3] = e0[-3] + e2[-3]; - e2[-2] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-3] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-4] - e2[-4]; - k01_21 = e0[-5] - e2[-5]; - e0[-4] += e2[-4];//e0[-4] = e0[-4] + e2[-4]; - e0[-5] += e2[-5];//e0[-5] = e0[-5] + e2[-5]; - e2[-4] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-5] = (k01_21)*A[0] + (k00_20) * A[1]; - - A += k1; - - k00_20 = e0[-6] - e2[-6]; - k01_21 = e0[-7] - e2[-7]; - e0[-6] += e2[-6];//e0[-6] = e0[-6] + e2[-6]; - e0[-7] += e2[-7];//e0[-7] = e0[-7] + e2[-7]; - e2[-6] = (k00_20)*A[0] - (k01_21) * A[1]; - e2[-7] = (k01_21)*A[0] + (k00_20) * A[1]; - - e0 -= 8; - e2 -= 8; - - A += k1; - } -} - -static void imdct_step3_inner_s_loop(int n, float *e, int i_off, int k_off, float *A, int a_off, int k0) -{ - int i; - float A0 = A[0]; - float A1 = A[0+1]; - float A2 = A[0+a_off]; - float A3 = A[0+a_off+1]; - float A4 = A[0+a_off*2+0]; - float A5 = A[0+a_off*2+1]; - float A6 = A[0+a_off*3+0]; - float A7 = A[0+a_off*3+1]; - - float k00,k11; - - float *ee0 = e +i_off; - float *ee2 = ee0+k_off; - - for (i=n; i > 0; --i) { - k00 = ee0[ 0] - ee2[ 0]; - k11 = ee0[-1] - ee2[-1]; - ee0[ 0] = ee0[ 0] + ee2[ 0]; - ee0[-1] = ee0[-1] + ee2[-1]; - ee2[ 0] = (k00) * A0 - (k11) * A1; - ee2[-1] = (k11) * A0 + (k00) * A1; - - k00 = ee0[-2] - ee2[-2]; - k11 = ee0[-3] - ee2[-3]; - ee0[-2] = ee0[-2] + ee2[-2]; - ee0[-3] = ee0[-3] + ee2[-3]; - ee2[-2] = (k00) * A2 - (k11) * A3; - ee2[-3] = (k11) * A2 + (k00) * A3; - - k00 = ee0[-4] - ee2[-4]; - k11 = ee0[-5] - ee2[-5]; - ee0[-4] = ee0[-4] + ee2[-4]; - ee0[-5] = ee0[-5] + ee2[-5]; - ee2[-4] = (k00) * A4 - (k11) * A5; - ee2[-5] = (k11) * A4 + (k00) * A5; - - k00 = ee0[-6] - ee2[-6]; - k11 = ee0[-7] - ee2[-7]; - ee0[-6] = ee0[-6] + ee2[-6]; - ee0[-7] = ee0[-7] + ee2[-7]; - ee2[-6] = (k00) * A6 - (k11) * A7; - ee2[-7] = (k11) * A6 + (k00) * A7; - - ee0 -= k0; - ee2 -= k0; - } -} - -static __forceinline void iter_54(float *z) -{ - float k00,k11,k22,k33; - float y0,y1,y2,y3; - - k00 = z[ 0] - z[-4]; - y0 = z[ 0] + z[-4]; - y2 = z[-2] + z[-6]; - k22 = z[-2] - z[-6]; - - z[-0] = y0 + y2; // z0 + z4 + z2 + z6 - z[-2] = y0 - y2; // z0 + z4 - z2 - z6 - - // done with y0,y2 - - k33 = z[-3] - z[-7]; - - z[-4] = k00 + k33; // z0 - z4 + z3 - z7 - z[-6] = k00 - k33; // z0 - z4 - z3 + z7 - - // done with k33 - - k11 = z[-1] - z[-5]; - y1 = z[-1] + z[-5]; - y3 = z[-3] + z[-7]; - - z[-1] = y1 + y3; // z1 + z5 + z3 + z7 - z[-3] = y1 - y3; // z1 + z5 - z3 - z7 - z[-5] = k11 - k22; // z1 - z5 + z2 - z6 - z[-7] = k11 + k22; // z1 - z5 - z2 + z6 -} - -static void imdct_step3_inner_s_loop_ld654(int n, float *e, int i_off, float *A, int base_n) -{ - int k_off = -8; - int a_off = base_n >> 3; - float A2 = A[0+a_off]; - float *z = e + i_off; - float *base = z - 16 * n; - - while (z > base) { - float k00,k11; - - k00 = z[-0] - z[-8]; - k11 = z[-1] - z[-9]; - z[-0] = z[-0] + z[-8]; - z[-1] = z[-1] + z[-9]; - z[-8] = k00; - z[-9] = k11 ; - - k00 = z[ -2] - z[-10]; - k11 = z[ -3] - z[-11]; - z[ -2] = z[ -2] + z[-10]; - z[ -3] = z[ -3] + z[-11]; - z[-10] = (k00+k11) * A2; - z[-11] = (k11-k00) * A2; - - k00 = z[-12] - z[ -4]; // reverse to avoid a unary negation - k11 = z[ -5] - z[-13]; - z[ -4] = z[ -4] + z[-12]; - z[ -5] = z[ -5] + z[-13]; - z[-12] = k11; - z[-13] = k00; - - k00 = z[-14] - z[ -6]; // reverse to avoid a unary negation - k11 = z[ -7] - z[-15]; - z[ -6] = z[ -6] + z[-14]; - z[ -7] = z[ -7] + z[-15]; - z[-14] = (k00+k11) * A2; - z[-15] = (k00-k11) * A2; - - iter_54(z); - iter_54(z-8); - z -= 16; - } -} - -static void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) -{ - int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // @OPTIMIZE: reduce register pressure by using fewer variables? - int save_point = temp_alloc_save(f); - float *buf2 = (float *) temp_alloc(f, n2 * sizeof(*buf2)); - float *u=NULL,*v=NULL; - // twiddle factors - float *A = f->A[blocktype]; - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // See notes about bugs in that paper in less-optimal implementation 'inverse_mdct_old' after this function. - - // kernel from paper - - - // merged: - // copy and reflect spectral data - // step 0 - - // note that it turns out that the items added together during - // this step are, in fact, being added to themselves (as reflected - // by step 0). inexplicable inefficiency! this became obvious - // once I combined the passes. - - // so there's a missing 'times 2' here (for adding X to itself). - // this propogates through linearly to the end, where the numbers - // are 1/2 too small, and need to be compensated for. - - { - float *d,*e, *AA, *e_stop; - d = &buf2[n2-2]; - AA = A; - e = &buffer[0]; - e_stop = &buffer[n2]; - while (e != e_stop) { - d[1] = (e[0] * AA[0] - e[2]*AA[1]); - d[0] = (e[0] * AA[1] + e[2]*AA[0]); - d -= 2; - AA += 2; - e += 4; - } - - e = &buffer[n2-3]; - while (d >= buf2) { - d[1] = (-e[2] * AA[0] - -e[0]*AA[1]); - d[0] = (-e[2] * AA[1] + -e[0]*AA[0]); - d -= 2; - AA += 2; - e -= 4; - } - } - - // now we use symbolic names for these, so that we can - // possibly swap their meaning as we change which operations - // are in place - - u = buffer; - v = buf2; - - // step 2 (paper output is w, now u) - // this could be in place, but the data ends up in the wrong - // place... _somebody_'s got to swap it, so this is nominated - { - float *AA = &A[n2-8]; - float *d0,*d1, *e0, *e1; - - e0 = &v[n4]; - e1 = &v[0]; - - d0 = &u[n4]; - d1 = &u[0]; - - while (AA >= A) { - float v40_20, v41_21; - - v41_21 = e0[1] - e1[1]; - v40_20 = e0[0] - e1[0]; - d0[1] = e0[1] + e1[1]; - d0[0] = e0[0] + e1[0]; - d1[1] = v41_21*AA[4] - v40_20*AA[5]; - d1[0] = v40_20*AA[4] + v41_21*AA[5]; - - v41_21 = e0[3] - e1[3]; - v40_20 = e0[2] - e1[2]; - d0[3] = e0[3] + e1[3]; - d0[2] = e0[2] + e1[2]; - d1[3] = v41_21*AA[0] - v40_20*AA[1]; - d1[2] = v40_20*AA[0] + v41_21*AA[1]; - - AA -= 8; - - d0 += 4; - d1 += 4; - e0 += 4; - e1 += 4; - } - } - - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - - // optimized step 3: - - // the original step3 loop can be nested r inside s or s inside r; - // it's written originally as s inside r, but this is dumb when r - // iterates many times, and s few. So I have two copies of it and - // switch between them halfway. - - // this is iteration 0 of step 3 - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*0, -(n >> 3), A); - imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*1, -(n >> 3), A); - - // this is iteration 1 of step 3 - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*0, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*1, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*2, -(n >> 4), A, 16); - imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*3, -(n >> 4), A, 16); - - l=2; - for (; l < (ld-3)>>1; ++l) { - int k0 = n >> (l+2), k0_2 = k0>>1; - int lim = 1 << (l+1); - int i; - for (i=0; i < lim; ++i) - imdct_step3_inner_r_loop(n >> (l+4), u, n2-1 - k0*i, -k0_2, A, 1 << (l+3)); - } - - for (; l < ld-6; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3), k0_2 = k0>>1; - int rlim = n >> (l+6), r; - int lim = 1 << (l+1); - int i_off; - float *A0 = A; - i_off = n2-1; - for (r=rlim; r > 0; --r) { - imdct_step3_inner_s_loop(lim, u, i_off, -k0_2, A0, k1, k0); - A0 += k1*4; - i_off -= 8; - } - } - - // iterations with count: - // ld-6,-5,-4 all interleaved together - // the big win comes from getting rid of needless flops - // due to the constants on pass 5 & 4 being all 1 and 0; - // combining them to be simultaneous to improve cache made little difference - imdct_step3_inner_s_loop_ld654(n >> 5, u, n2-1, A, n); - - // output is u - - // step 4, 5, and 6 - // cannot be in-place because of step 5 - { - uint16 *bitrev = f->bit_reverse[blocktype]; - // weirdly, I'd have thought reading sequentially and writing - // erratically would have been better than vice-versa, but in - // fact that's not what my testing showed. (That is, with - // j = bitreverse(i), do you read i and write j, or read j and write i.) - - float *d0 = &v[n4-4]; - float *d1 = &v[n2-4]; - while (d0 >= v) { - int k4; - - k4 = bitrev[0]; - d1[3] = u[k4+0]; - d1[2] = u[k4+1]; - d0[3] = u[k4+2]; - d0[2] = u[k4+3]; - - k4 = bitrev[1]; - d1[1] = u[k4+0]; - d1[0] = u[k4+1]; - d0[1] = u[k4+2]; - d0[0] = u[k4+3]; - - d0 -= 4; - d1 -= 4; - bitrev += 2; - } - } - // (paper output is u, now v) - - - // data must be in buf2 - assert(v == buf2); - - // step 7 (paper output is v, now v) - // this is now in place - { - float *C = f->C[blocktype]; - float *d, *e; - - d = v; - e = v + n2 - 4; - - while (d < e) { - float a02,a11,b0,b1,b2,b3; - - a02 = d[0] - e[2]; - a11 = d[1] + e[3]; - - b0 = C[1]*a02 + C[0]*a11; - b1 = C[1]*a11 - C[0]*a02; - - b2 = d[0] + e[ 2]; - b3 = d[1] - e[ 3]; - - d[0] = b2 + b0; - d[1] = b3 + b1; - e[2] = b2 - b0; - e[3] = b1 - b3; - - a02 = d[2] - e[0]; - a11 = d[3] + e[1]; - - b0 = C[3]*a02 + C[2]*a11; - b1 = C[3]*a11 - C[2]*a02; - - b2 = d[2] + e[ 0]; - b3 = d[3] - e[ 1]; - - d[2] = b2 + b0; - d[3] = b3 + b1; - e[0] = b2 - b0; - e[1] = b1 - b3; - - C += 4; - d += 4; - e -= 4; - } - } - - // data must be in buf2 - - - // step 8+decode (paper output is X, now buffer) - // this generates pairs of data a la 8 and pushes them directly through - // the decode kernel (pushing rather than pulling) to avoid having - // to make another pass later - - // this cannot POSSIBLY be in place, so we refer to the buffers directly - - { - float *d0,*d1,*d2,*d3; - - float *B = f->B[blocktype] + n2 - 8; - float *e = buf2 + n2 - 8; - d0 = &buffer[0]; - d1 = &buffer[n2-4]; - d2 = &buffer[n2]; - d3 = &buffer[n-4]; - while (e >= v) { - float p0,p1,p2,p3; - - p3 = e[6]*B[7] - e[7]*B[6]; - p2 = -e[6]*B[6] - e[7]*B[7]; - - d0[0] = p3; - d1[3] = - p3; - d2[0] = p2; - d3[3] = p2; - - p1 = e[4]*B[5] - e[5]*B[4]; - p0 = -e[4]*B[4] - e[5]*B[5]; - - d0[1] = p1; - d1[2] = - p1; - d2[1] = p0; - d3[2] = p0; - - p3 = e[2]*B[3] - e[3]*B[2]; - p2 = -e[2]*B[2] - e[3]*B[3]; - - d0[2] = p3; - d1[1] = - p3; - d2[2] = p2; - d3[1] = p2; - - p1 = e[0]*B[1] - e[1]*B[0]; - p0 = -e[0]*B[0] - e[1]*B[1]; - - d0[3] = p1; - d1[0] = - p1; - d2[3] = p0; - d3[0] = p0; - - B -= 8; - e -= 8; - d0 += 4; - d2 += 4; - d1 -= 4; - d3 -= 4; - } - } - - temp_alloc_restore(f,save_point); -} - -#if 0 -// this is the original version of the above code, if you want to optimize it from scratch -void inverse_mdct_naive(float *buffer, int n) -{ - float s; - float A[1 << 12], B[1 << 12], C[1 << 11]; - int i,k,k2,k4, n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; - int n3_4 = n - n4, ld; - // how can they claim this only uses N words?! - // oh, because they're only used sparsely, whoops - float u[1 << 13], X[1 << 13], v[1 << 13], w[1 << 13]; - // set up twiddle factors - - for (k=k2=0; k < n4; ++k,k2+=2) { - A[k2 ] = (float) cos(4*k*M_PI/n); - A[k2+1] = (float) -sin(4*k*M_PI/n); - B[k2 ] = (float) cos((k2+1)*M_PI/n/2); - B[k2+1] = (float) sin((k2+1)*M_PI/n/2); - } - for (k=k2=0; k < n8; ++k,k2+=2) { - C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); - C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); - } - - // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" - // Note there are bugs in that pseudocode, presumably due to them attempting - // to rename the arrays nicely rather than representing the way their actual - // implementation bounces buffers back and forth. As a result, even in the - // "some formulars corrected" version, a direct implementation fails. These - // are noted below as "paper bug". - - // copy and reflect spectral data - for (k=0; k < n2; ++k) u[k] = buffer[k]; - for ( ; k < n ; ++k) u[k] = -buffer[n - k - 1]; - // kernel from paper - // step 1 - for (k=k2=k4=0; k < n4; k+=1, k2+=2, k4+=4) { - v[n-k4-1] = (u[k4] - u[n-k4-1]) * A[k2] - (u[k4+2] - u[n-k4-3])*A[k2+1]; - v[n-k4-3] = (u[k4] - u[n-k4-1]) * A[k2+1] + (u[k4+2] - u[n-k4-3])*A[k2]; - } - // step 2 - for (k=k4=0; k < n8; k+=1, k4+=4) { - w[n2+3+k4] = v[n2+3+k4] + v[k4+3]; - w[n2+1+k4] = v[n2+1+k4] + v[k4+1]; - w[k4+3] = (v[n2+3+k4] - v[k4+3])*A[n2-4-k4] - (v[n2+1+k4]-v[k4+1])*A[n2-3-k4]; - w[k4+1] = (v[n2+1+k4] - v[k4+1])*A[n2-4-k4] + (v[n2+3+k4]-v[k4+3])*A[n2-3-k4]; - } - // step 3 - ld = ilog(n) - 1; // ilog is off-by-one from normal definitions - for (l=0; l < ld-3; ++l) { - int k0 = n >> (l+2), k1 = 1 << (l+3); - int rlim = n >> (l+4), r4, r; - int s2lim = 1 << (l+2), s2; - for (r=r4=0; r < rlim; r4+=4,++r) { - for (s2=0; s2 < s2lim; s2+=2) { - u[n-1-k0*s2-r4] = w[n-1-k0*s2-r4] + w[n-1-k0*(s2+1)-r4]; - u[n-3-k0*s2-r4] = w[n-3-k0*s2-r4] + w[n-3-k0*(s2+1)-r4]; - u[n-1-k0*(s2+1)-r4] = (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1] - - (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1+1]; - u[n-3-k0*(s2+1)-r4] = (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1] - + (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1+1]; - } - } - if (l+1 < ld-3) { - // paper bug: ping-ponging of u&w here is omitted - memcpy(w, u, sizeof(u)); - } - } - - // step 4 - for (i=0; i < n8; ++i) { - int j = bit_reverse(i) >> (32-ld+3); - assert(j < n8); - if (i == j) { - // paper bug: original code probably swapped in place; if copying, - // need to directly copy in this case - int i8 = i << 3; - v[i8+1] = u[i8+1]; - v[i8+3] = u[i8+3]; - v[i8+5] = u[i8+5]; - v[i8+7] = u[i8+7]; - } else if (i < j) { - int i8 = i << 3, j8 = j << 3; - v[j8+1] = u[i8+1], v[i8+1] = u[j8 + 1]; - v[j8+3] = u[i8+3], v[i8+3] = u[j8 + 3]; - v[j8+5] = u[i8+5], v[i8+5] = u[j8 + 5]; - v[j8+7] = u[i8+7], v[i8+7] = u[j8 + 7]; - } - } - // step 5 - for (k=0; k < n2; ++k) { - w[k] = v[k*2+1]; - } - // step 6 - for (k=k2=k4=0; k < n8; ++k, k2 += 2, k4 += 4) { - u[n-1-k2] = w[k4]; - u[n-2-k2] = w[k4+1]; - u[n3_4 - 1 - k2] = w[k4+2]; - u[n3_4 - 2 - k2] = w[k4+3]; - } - // step 7 - for (k=k2=0; k < n8; ++k, k2 += 2) { - v[n2 + k2 ] = ( u[n2 + k2] + u[n-2-k2] + C[k2+1]*(u[n2+k2]-u[n-2-k2]) + C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n-2 - k2] = ( u[n2 + k2] + u[n-2-k2] - C[k2+1]*(u[n2+k2]-u[n-2-k2]) - C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; - v[n2+1+ k2] = ( u[n2+1+k2] - u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - v[n-1 - k2] = (-u[n2+1+k2] + u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; - } - // step 8 - for (k=k2=0; k < n4; ++k,k2 += 2) { - X[k] = v[k2+n2]*B[k2 ] + v[k2+1+n2]*B[k2+1]; - X[n2-1-k] = v[k2+n2]*B[k2+1] - v[k2+1+n2]*B[k2 ]; - } - - // decode kernel to output - // determined the following value experimentally - // (by first figuring out what made inverse_mdct_slow work); then matching that here - // (probably vorbis encoder premultiplies by n or n/2, to save it on the decoder?) - s = 0.5; // theoretically would be n4 - - // [[[ note! the s value of 0.5 is compensated for by the B[] in the current code, - // so it needs to use the "old" B values to behave correctly, or else - // set s to 1.0 ]]] - for (i=0; i < n4 ; ++i) buffer[i] = s * X[i+n4]; - for ( ; i < n3_4; ++i) buffer[i] = -s * X[n3_4 - i - 1]; - for ( ; i < n ; ++i) buffer[i] = -s * X[i - n3_4]; -} -#endif - -static float *get_window(vorb *f, int len) -{ - len <<= 1; - if (len == f->blocksize_0) return f->window[0]; - if (len == f->blocksize_1) return f->window[1]; - assert(0); - return NULL; -} - -#ifndef STB_VORBIS_NO_DEFER_FLOOR -typedef int16 YTYPE; -#else -typedef int YTYPE; -#endif -static int do_floor(vorb *f, Mapping *map, int i, int n, float *target, YTYPE *finalY, uint8 *step2_flag) -{ - int n2 = n >> 1; - int s = map->chan[i].mux, floor; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - int j,q; - int lx = 0, ly = finalY[0] * g->floor1_multiplier; - for (q=1; q < g->values; ++q) { - j = g->sorted_order[q]; - #ifndef STB_VORBIS_NO_DEFER_FLOOR - if (finalY[j] >= 0) - #else - if (step2_flag[j]) - #endif - { - int hy = finalY[j] * g->floor1_multiplier; - int hx = g->Xlist[j]; - draw_line(target, lx,ly, hx,hy, n2); - lx = hx, ly = hy; - } - } - if (lx < n2) - // optimization of: draw_line(target, lx,ly, n,ly, n2); - for (j=lx; j < n2; ++j) - LINE_OP(target[j], inverse_db_table[ly]); - } - return TRUE; -} - -static int vorbis_decode_initial(vorb *f, int *p_left_start, int *p_left_end, int *p_right_start, int *p_right_end, int *mode) -{ - Mode *m; - int i, n, prev, next, window_center; - f->channel_buffer_start = f->channel_buffer_end = 0; - - retry: - if (f->eof) return FALSE; - if (!maybe_start_packet(f)) - return FALSE; - // check packet type - if (get_bits(f,1) != 0) { - if (IS_PUSH_MODE(f)) - return error(f,VORBIS_bad_packet_type); - while (EOP != get8_packet(f)); - goto retry; - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - i = get_bits(f, ilog(f->mode_count-1)); - if (i == EOP) return FALSE; - if (i >= f->mode_count) return FALSE; - *mode = i; - m = f->mode_config + i; - if (m->blockflag) { - n = f->blocksize_1; - prev = get_bits(f,1); - next = get_bits(f,1); - } else { - prev = next = 0; - n = f->blocksize_0; - } - -// WINDOWING - - window_center = n >> 1; - if (m->blockflag && !prev) { - *p_left_start = (n - f->blocksize_0) >> 2; - *p_left_end = (n + f->blocksize_0) >> 2; - } else { - *p_left_start = 0; - *p_left_end = window_center; - } - if (m->blockflag && !next) { - *p_right_start = (n*3 - f->blocksize_0) >> 2; - *p_right_end = (n*3 + f->blocksize_0) >> 2; - } else { - *p_right_start = window_center; - *p_right_end = n; - } - return TRUE; -} - -static int vorbis_decode_packet_rest(vorb *f, int *len, Mode *m, int left_start, int left_end, int right_start, int right_end, int *p_left) -{ - Mapping *map; - int i,j,k,n,n2; - int zero_channel[256]; - int really_zero_channel[256]; - int window_center; - -// WINDOWING - - n = f->blocksize[m->blockflag]; - window_center = n >> 1; - - map = &f->mapping[m->mapping]; - -// FLOORS - n2 = n >> 1; - - stb_prof(1); - for (i=0; i < f->channels; ++i) { - int s = map->chan[i].mux, floor; - zero_channel[i] = FALSE; - floor = map->submap_floor[s]; - if (f->floor_types[floor] == 0) { - return error(f, VORBIS_invalid_stream); - } else { - Floor1 *g = &f->floor_config[floor].floor1; - if (get_bits(f, 1)) { - short *finalY; - uint8 step2_flag[256]; - static int range_list[4] = { 256, 128, 86, 64 }; - int range = range_list[g->floor1_multiplier-1]; - int offset = 2; - finalY = f->finalY[i]; - finalY[0] = get_bits(f, ilog(range)-1); - finalY[1] = get_bits(f, ilog(range)-1); - for (j=0; j < g->partitions; ++j) { - int pclass = g->partition_class_list[j]; - int cdim = g->class_dimensions[pclass]; - int cbits = g->class_subclasses[pclass]; - int csub = (1 << cbits)-1; - int cval = 0; - if (cbits) { - Codebook *c = f->codebooks + g->class_masterbooks[pclass]; - DECODE(cval,f,c); - } - for (k=0; k < cdim; ++k) { - int book = g->subclass_books[pclass][cval & csub]; - cval = cval >> cbits; - if (book >= 0) { - int temp; - Codebook *c = f->codebooks + book; - DECODE(temp,f,c); - finalY[offset++] = temp; - } else - finalY[offset++] = 0; - } - } - if (f->valid_bits == INVALID_BITS) goto error; // behavior according to spec - step2_flag[0] = step2_flag[1] = 1; - for (j=2; j < g->values; ++j) { - int low, high, pred, highroom, lowroom, room, val; - low = g->neighbors[j][0]; - high = g->neighbors[j][1]; - //neighbors(g->Xlist, j, &low, &high); - pred = predict_point(g->Xlist[j], g->Xlist[low], g->Xlist[high], finalY[low], finalY[high]); - val = finalY[j]; - highroom = range - pred; - lowroom = pred; - if (highroom < lowroom) - room = highroom * 2; - else - room = lowroom * 2; - if (val) { - step2_flag[low] = step2_flag[high] = 1; - step2_flag[j] = 1; - if (val >= room) - if (highroom > lowroom) - finalY[j] = val - lowroom + pred; - else - finalY[j] = pred - val + highroom - 1; - else - if (val & 1) - finalY[j] = pred - ((val+1)>>1); - else - finalY[j] = pred + (val>>1); - } else { - step2_flag[j] = 0; - finalY[j] = pred; - } - } - -#ifdef STB_VORBIS_NO_DEFER_FLOOR - do_floor(f, map, i, n, f->floor_buffers[i], finalY, step2_flag); -#else - // defer final floor computation until _after_ residue - for (j=0; j < g->values; ++j) { - if (!step2_flag[j]) - finalY[j] = -1; - } -#endif - } else { - error: - zero_channel[i] = TRUE; - } - // So we just defer everything else to later - - // at this point we've decoded the floor into buffer - } - } - stb_prof(0); - // at this point we've decoded all floors - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - - // re-enable coupled channels if necessary - memcpy(really_zero_channel, zero_channel, sizeof(really_zero_channel[0]) * f->channels); - for (i=0; i < map->coupling_steps; ++i) - if (!zero_channel[map->chan[i].magnitude] || !zero_channel[map->chan[i].angle]) { - zero_channel[map->chan[i].magnitude] = zero_channel[map->chan[i].angle] = FALSE; - } - -// RESIDUE DECODE - for (i=0; i < map->submaps; ++i) { - float *residue_buffers[STB_VORBIS_MAX_CHANNELS]; - int r,t; - uint8 do_not_decode[256]; - int ch = 0; - for (j=0; j < f->channels; ++j) { - if (map->chan[j].mux == i) { - if (zero_channel[j]) { - do_not_decode[ch] = TRUE; - residue_buffers[ch] = NULL; - } else { - do_not_decode[ch] = FALSE; - residue_buffers[ch] = f->channel_buffers[j]; - } - ++ch; - } - } - r = map->submap_residue[i]; - t = f->residue_types[r]; - decode_residue(f, residue_buffers, ch, n2, r, do_not_decode); - } - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - -// INVERSE COUPLING - stb_prof(14); - for (i = map->coupling_steps-1; i >= 0; --i) { - int n2 = n >> 1; - float *m = f->channel_buffers[map->chan[i].magnitude]; - float *a = f->channel_buffers[map->chan[i].angle ]; - for (j=0; j < n2; ++j) { - float a2,m2; - if (m[j] > 0) - if (a[j] > 0) - m2 = m[j], a2 = m[j] - a[j]; - else - a2 = m[j], m2 = m[j] + a[j]; - else - if (a[j] > 0) - m2 = m[j], a2 = m[j] + a[j]; - else - a2 = m[j], m2 = m[j] - a[j]; - m[j] = m2; - a[j] = a2; - } - } - - // finish decoding the floors -#ifndef STB_VORBIS_NO_DEFER_FLOOR - stb_prof(15); - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - do_floor(f, map, i, n, f->channel_buffers[i], f->finalY[i], NULL); - } - } -#else - for (i=0; i < f->channels; ++i) { - if (really_zero_channel[i]) { - memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); - } else { - for (j=0; j < n2; ++j) - f->channel_buffers[i][j] *= f->floor_buffers[i][j]; - } - } -#endif - -// INVERSE MDCT - stb_prof(16); - for (i=0; i < f->channels; ++i) - inverse_mdct(f->channel_buffers[i], n, f, m->blockflag); - stb_prof(0); - - // this shouldn't be necessary, unless we exited on an error - // and want to flush to get to the next packet - flush_packet(f); - - if (f->first_decode) { - // assume we start so first non-discarded sample is sample 0 - // this isn't to spec, but spec would require us to read ahead - // and decode the size of all current frames--could be done, - // but presumably it's not a commonly used feature - f->current_loc = -n2; // start of first frame is positioned for discard - // we might have to discard samples "from" the next frame too, - // if we're lapping a large block then a small at the start? - f->discard_samples_deferred = n - right_end; - f->current_loc_valid = TRUE; - f->first_decode = FALSE; - } else if (f->discard_samples_deferred) { - left_start += f->discard_samples_deferred; - *p_left = left_start; - f->discard_samples_deferred = 0; - } else if (f->previous_length == 0 && f->current_loc_valid) { - // we're recovering from a seek... that means we're going to discard - // the samples from this packet even though we know our position from - // the last page header, so we need to update the position based on - // the discarded samples here - // but wait, the code below is going to add this in itself even - // on a discard, so we don't need to do it here... - } - - // check if we have ogg information about the sample # for this packet - if (f->last_seg_which == f->end_seg_with_known_loc) { - // if we have a valid current loc, and this is final: - if (f->current_loc_valid && (f->page_flag & PAGEFLAG_last_page)) { - uint32 current_end = f->known_loc_for_packet - (n-right_end); - // then let's infer the size of the (probably) short final frame - if (current_end < f->current_loc + right_end) { - if (current_end < f->current_loc) { - // negative truncation, that's impossible! - *len = 0; - } else { - *len = current_end - f->current_loc; - } - *len += left_start; - f->current_loc += *len; - return TRUE; - } - } - // otherwise, just set our sample loc - // guess that the ogg granule pos refers to the _middle_ of the - // last frame? - // set f->current_loc to the position of left_start - f->current_loc = f->known_loc_for_packet - (n2-left_start); - f->current_loc_valid = TRUE; - } - if (f->current_loc_valid) - f->current_loc += (right_start - left_start); - - if (f->alloc.alloc_buffer) - assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); - *len = right_end; // ignore samples after the window goes to 0 - return TRUE; -} - -static int vorbis_decode_packet(vorb *f, int *len, int *p_left, int *p_right) -{ - int mode, left_end, right_end; - if (!vorbis_decode_initial(f, p_left, &left_end, p_right, &right_end, &mode)) return 0; - return vorbis_decode_packet_rest(f, len, f->mode_config + mode, *p_left, left_end, *p_right, right_end, p_left); -} - -static int vorbis_finish_frame(stb_vorbis *f, int len, int left, int right) -{ - int prev,i,j; - // we use right&left (the start of the right- and left-window sin()-regions) - // to determine how much to return, rather than inferring from the rules - // (same result, clearer code); 'left' indicates where our sin() window - // starts, therefore where the previous window's right edge starts, and - // therefore where to start mixing from the previous buffer. 'right' - // indicates where our sin() ending-window starts, therefore that's where - // we start saving, and where our returned-data ends. - - // mixin from previous window - if (f->previous_length) { - int i,j, n = f->previous_length; - float *w = get_window(f, n); - for (i=0; i < f->channels; ++i) { - for (j=0; j < n; ++j) - f->channel_buffers[i][left+j] = - f->channel_buffers[i][left+j]*w[ j] + - f->previous_window[i][ j]*w[n-1-j]; - } - } - - prev = f->previous_length; - - // last half of this data becomes previous window - f->previous_length = len - right; - - // @OPTIMIZE: could avoid this copy by double-buffering the - // output (flipping previous_window with channel_buffers), but - // then previous_window would have to be 2x as large, and - // channel_buffers couldn't be temp mem (although they're NOT - // currently temp mem, they could be (unless we want to level - // performance by spreading out the computation)) - for (i=0; i < f->channels; ++i) - for (j=0; right+j < len; ++j) - f->previous_window[i][j] = f->channel_buffers[i][right+j]; - - if (!prev) - // there was no previous packet, so this data isn't valid... - // this isn't entirely true, only the would-have-overlapped data - // isn't valid, but this seems to be what the spec requires - return 0; - - // truncate a short frame - if (len < right) right = len; - - f->samples_output += right-left; - - return right - left; -} - -static void vorbis_pump_first_frame(stb_vorbis *f) -{ - int len, right, left; - if (vorbis_decode_packet(f, &len, &left, &right)) - vorbis_finish_frame(f, len, left, right); -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API -static int is_whole_packet_present(stb_vorbis *f, int end_page) -{ - // make sure that we have the packet available before continuing... - // this requires a full ogg parse, but we know we can fetch from f->stream - - // instead of coding this out explicitly, we could save the current read state, - // read the next packet with get8() until end-of-packet, check f->eof, then - // reset the state? but that would be slower, esp. since we'd have over 256 bytes - // of state to restore (primarily the page segment table) - - int s = f->next_seg, first = TRUE; - uint8 *p = f->stream; - - if (s != -1) { // if we're not starting the packet with a 'continue on next page' flag - for (; s < f->segment_count; ++s) { - p += f->segments[s]; - if (f->segments[s] < 255) // stop at first short segment - break; - } - // either this continues, or it ends it... - if (end_page) - if (s < f->segment_count-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - for (; s == -1;) { - uint8 *q; - int n; - - // check that we have the page header ready - if (p + 26 >= f->stream_end) return error(f, VORBIS_need_more_data); - // validate the page - if (memcmp(p, ogg_page_header, 4)) return error(f, VORBIS_invalid_stream); - if (p[4] != 0) return error(f, VORBIS_invalid_stream); - if (first) { // the first segment must NOT have 'continued_packet', later ones MUST - if (f->previous_length) - if ((p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - // if no previous length, we're resynching, so we can come in on a continued-packet, - // which we'll just drop - } else { - if (!(p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); - } - n = p[26]; // segment counts - q = p+27; // q points to segment table - p = q + n; // advance past header - // make sure we've read the segment table - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - for (s=0; s < n; ++s) { - p += q[s]; - if (q[s] < 255) - break; - } - if (end_page) - if (s < n-1) return error(f, VORBIS_invalid_stream); - if (s == f->segment_count) - s = -1; // set 'crosses page' flag - if (p > f->stream_end) return error(f, VORBIS_need_more_data); - first = FALSE; - } - return TRUE; -} -#endif // !STB_VORBIS_NO_PUSHDATA_API - -static int start_decoder(vorb *f) -{ - uint8 header[6], x,y; - int len,i,j,k, max_submaps = 0; - int longest_floorlist=0; - - // first page, first packet - - if (!start_page(f)) return FALSE; - // validate page flag - if (!(f->page_flag & PAGEFLAG_first_page)) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_last_page) return error(f, VORBIS_invalid_first_page); - if (f->page_flag & PAGEFLAG_continued_packet) return error(f, VORBIS_invalid_first_page); - // check for expected packet length - if (f->segment_count != 1) return error(f, VORBIS_invalid_first_page); - if (f->segments[0] != 30) return error(f, VORBIS_invalid_first_page); - // read packet - // check packet header - if (get8(f) != VORBIS_packet_id) return error(f, VORBIS_invalid_first_page); - if (!getn(f, header, 6)) return error(f, VORBIS_unexpected_eof); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_first_page); - // vorbis_version - if (get32(f) != 0) return error(f, VORBIS_invalid_first_page); - f->channels = get8(f); if (!f->channels) return error(f, VORBIS_invalid_first_page); - if (f->channels > STB_VORBIS_MAX_CHANNELS) return error(f, VORBIS_too_many_channels); - f->sample_rate = get32(f); if (!f->sample_rate) return error(f, VORBIS_invalid_first_page); - get32(f); // bitrate_maximum - get32(f); // bitrate_nominal - get32(f); // bitrate_minimum - x = get8(f); - { int log0,log1; - log0 = x & 15; - log1 = x >> 4; - f->blocksize_0 = 1 << log0; - f->blocksize_1 = 1 << log1; - if (log0 < 6 || log0 > 13) return error(f, VORBIS_invalid_setup); - if (log1 < 6 || log1 > 13) return error(f, VORBIS_invalid_setup); - if (log0 > log1) return error(f, VORBIS_invalid_setup); - } - - // framing_flag - x = get8(f); - if (!(x & 1)) return error(f, VORBIS_invalid_first_page); - - // second packet! - if (!start_page(f)) return FALSE; - - if (!start_packet(f)) return FALSE; - do { - len = next_segment(f); - skip(f, len); - f->bytes_in_seg = 0; - } while (len); - - // third packet! - if (!start_packet(f)) return FALSE; - - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (IS_PUSH_MODE(f)) { - if (!is_whole_packet_present(f, TRUE)) { - // convert error in ogg header to write type - if (f->error == VORBIS_invalid_stream) - f->error = VORBIS_invalid_setup; - return FALSE; - } - } - #endif - - crc32_init(); // always init it, to avoid multithread race conditions - - if (get8_packet(f) != VORBIS_packet_setup) return error(f, VORBIS_invalid_setup); - for (i=0; i < 6; ++i) header[i] = get8_packet(f); - if (!vorbis_validate(header)) return error(f, VORBIS_invalid_setup); - - // codebooks - - f->codebook_count = get_bits(f,8) + 1; - f->codebooks = (Codebook *) setup_malloc(f, sizeof(*f->codebooks) * f->codebook_count); - if (f->codebooks == NULL) return error(f, VORBIS_outofmem); - memset(f->codebooks, 0, sizeof(*f->codebooks) * f->codebook_count); - for (i=0; i < f->codebook_count; ++i) { - uint32 *values; - int ordered, sorted_count; - int total=0; - uint8 *lengths; - Codebook *c = f->codebooks+i; - x = get_bits(f, 8); if (x != 0x42) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x43) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); if (x != 0x56) return error(f, VORBIS_invalid_setup); - x = get_bits(f, 8); - c->dimensions = (get_bits(f, 8)<<8) + x; - x = get_bits(f, 8); - y = get_bits(f, 8); - c->entries = (get_bits(f, 8)<<16) + (y<<8) + x; - ordered = get_bits(f,1); - c->sparse = ordered ? 0 : get_bits(f,1); - - if (c->sparse) - lengths = (uint8 *) setup_temp_malloc(f, c->entries); - else - lengths = c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - - if (!lengths) return error(f, VORBIS_outofmem); - - if (ordered) { - int current_entry = 0; - int current_length = get_bits(f,5) + 1; - while (current_entry < c->entries) { - int limit = c->entries - current_entry; - int n = get_bits(f, ilog(limit)); - if (current_entry + n > (int) c->entries) { return error(f, VORBIS_invalid_setup); } - memset(lengths + current_entry, current_length, n); - current_entry += n; - ++current_length; - } - } else { - for (j=0; j < c->entries; ++j) { - int present = c->sparse ? get_bits(f,1) : 1; - if (present) { - lengths[j] = get_bits(f, 5) + 1; - ++total; - } else { - lengths[j] = NO_CODE; - } - } - } - - if (c->sparse && total >= c->entries >> 2) { - // convert sparse items to non-sparse! - if (c->entries > (int) f->setup_temp_memory_required) - f->setup_temp_memory_required = c->entries; - - c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); - memcpy(c->codeword_lengths, lengths, c->entries); - setup_temp_free(f, lengths, c->entries); // note this is only safe if there have been no intervening temp mallocs! - lengths = c->codeword_lengths; - c->sparse = 0; - } - - // compute the size of the sorted tables - if (c->sparse) { - sorted_count = total; - //assert(total != 0); - } else { - sorted_count = 0; - #ifndef STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH - for (j=0; j < c->entries; ++j) - if (lengths[j] > STB_VORBIS_FAST_HUFFMAN_LENGTH && lengths[j] != NO_CODE) - ++sorted_count; - #endif - } - - c->sorted_entries = sorted_count; - values = NULL; - - if (!c->sparse) { - c->codewords = (uint32 *) setup_malloc(f, sizeof(c->codewords[0]) * c->entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - } else { - unsigned int size; - if (c->sorted_entries) { - c->codeword_lengths = (uint8 *) setup_malloc(f, c->sorted_entries); - if (!c->codeword_lengths) return error(f, VORBIS_outofmem); - c->codewords = (uint32 *) setup_temp_malloc(f, sizeof(*c->codewords) * c->sorted_entries); - if (!c->codewords) return error(f, VORBIS_outofmem); - values = (uint32 *) setup_temp_malloc(f, sizeof(*values) * c->sorted_entries); - if (!values) return error(f, VORBIS_outofmem); - } - size = c->entries + (sizeof(*c->codewords) + sizeof(*values)) * c->sorted_entries; - if (size > f->setup_temp_memory_required) - f->setup_temp_memory_required = size; - } - - if (!compute_codewords(c, lengths, c->entries, values)) { - if (c->sparse) setup_temp_free(f, values, 0); - return error(f, VORBIS_invalid_setup); - } - - if (c->sorted_entries) { - // allocate an extra slot for sentinels - c->sorted_codewords = (uint32 *) setup_malloc(f, sizeof(*c->sorted_codewords) * (c->sorted_entries+1)); - // allocate an extra slot at the front so that c->sorted_values[-1] is defined - // so that we can catch that case without an extra if - c->sorted_values = ( int *) setup_malloc(f, sizeof(*c->sorted_values ) * (c->sorted_entries+1)); - if (c->sorted_values) { ++c->sorted_values; c->sorted_values[-1] = -1; } - compute_sorted_huffman(c, lengths, values); - } - - if (c->sparse) { - setup_temp_free(f, values, sizeof(*values)*c->sorted_entries); - setup_temp_free(f, c->codewords, sizeof(*c->codewords)*c->sorted_entries); - setup_temp_free(f, lengths, c->entries); - c->codewords = NULL; - } - - compute_accelerated_huffman(c); - - c->lookup_type = get_bits(f, 4); - if (c->lookup_type > 2) return error(f, VORBIS_invalid_setup); - if (c->lookup_type > 0) { - uint16 *mults; - c->minimum_value = float32_unpack(get_bits(f, 32)); - c->delta_value = float32_unpack(get_bits(f, 32)); - c->value_bits = get_bits(f, 4)+1; - c->sequence_p = get_bits(f,1); - if (c->lookup_type == 1) { - c->lookup_values = lookup1_values(c->entries, c->dimensions); - } else { - c->lookup_values = c->entries * c->dimensions; - } - mults = (uint16 *) setup_temp_malloc(f, sizeof(mults[0]) * c->lookup_values); - if (mults == NULL) return error(f, VORBIS_outofmem); - for (j=0; j < (int) c->lookup_values; ++j) { - int q = get_bits(f, c->value_bits); - if (q == EOP) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_invalid_setup); } - mults[j] = q; - } - -#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK - if (c->lookup_type == 1) { - int len, sparse = c->sparse; - // pre-expand the lookup1-style multiplicands, to avoid a divide in the inner loop - if (sparse) { - if (c->sorted_entries == 0) goto skip; - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->sorted_entries * c->dimensions); - } else - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->entries * c->dimensions); - if (c->multiplicands == NULL) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_outofmem); } - len = sparse ? c->sorted_entries : c->entries; - for (j=0; j < len; ++j) { - int z = sparse ? c->sorted_values[j] : j, div=1; - for (k=0; k < c->dimensions; ++k) { - int off = (z / div) % c->lookup_values; - c->multiplicands[j*c->dimensions + k] = - #ifndef STB_VORBIS_CODEBOOK_FLOATS - mults[off]; - #else - mults[off]*c->delta_value + c->minimum_value; - // in this case (and this case only) we could pre-expand c->sequence_p, - // and throw away the decode logic for it; have to ALSO do - // it in the case below, but it can only be done if - // STB_VORBIS_CODEBOOK_FLOATS - // !STB_VORBIS_DIVIDES_IN_CODEBOOK - #endif - div *= c->lookup_values; - } - } - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - c->lookup_type = 2; - } - else -#endif - { - c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->lookup_values); - #ifndef STB_VORBIS_CODEBOOK_FLOATS - memcpy(c->multiplicands, mults, sizeof(c->multiplicands[0]) * c->lookup_values); - #else - for (j=0; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = mults[j] * c->delta_value + c->minimum_value; - setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); - #endif - } - skip:; - - #ifdef STB_VORBIS_CODEBOOK_FLOATS - if (c->lookup_type == 2 && c->sequence_p) { - for (j=1; j < (int) c->lookup_values; ++j) - c->multiplicands[j] = c->multiplicands[j-1]; - c->sequence_p = 0; - } - #endif - } - } - - // time domain transfers (notused) - - x = get_bits(f, 6) + 1; - for (i=0; i < x; ++i) { - uint32 z = get_bits(f, 16); - if (z != 0) return error(f, VORBIS_invalid_setup); - } - - // Floors - f->floor_count = get_bits(f, 6)+1; - f->floor_config = (Floor *) setup_malloc(f, f->floor_count * sizeof(*f->floor_config)); - for (i=0; i < f->floor_count; ++i) { - f->floor_types[i] = get_bits(f, 16); - if (f->floor_types[i] > 1) return error(f, VORBIS_invalid_setup); - if (f->floor_types[i] == 0) { - Floor0 *g = &f->floor_config[i].floor0; - g->order = get_bits(f,8); - g->rate = get_bits(f,16); - g->bark_map_size = get_bits(f,16); - g->amplitude_bits = get_bits(f,6); - g->amplitude_offset = get_bits(f,8); - g->number_of_books = get_bits(f,4) + 1; - for (j=0; j < g->number_of_books; ++j) - g->book_list[j] = get_bits(f,8); - return error(f, VORBIS_feature_not_supported); - } else { - VorbisPoint p[31*8+2]; - Floor1 *g = &f->floor_config[i].floor1; - int max_class = -1; - g->partitions = get_bits(f, 5); - for (j=0; j < g->partitions; ++j) { - g->partition_class_list[j] = get_bits(f, 4); - if (g->partition_class_list[j] > max_class) - max_class = g->partition_class_list[j]; - } - for (j=0; j <= max_class; ++j) { - g->class_dimensions[j] = get_bits(f, 3)+1; - g->class_subclasses[j] = get_bits(f, 2); - if (g->class_subclasses[j]) { - g->class_masterbooks[j] = get_bits(f, 8); - if (g->class_masterbooks[j] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - for (k=0; k < 1 << g->class_subclasses[j]; ++k) { - g->subclass_books[j][k] = get_bits(f,8)-1; - if (g->subclass_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } - } - g->floor1_multiplier = get_bits(f,2)+1; - g->rangebits = get_bits(f,4); - g->Xlist[0] = 0; - g->Xlist[1] = 1 << g->rangebits; - g->values = 2; - for (j=0; j < g->partitions; ++j) { - int c = g->partition_class_list[j]; - for (k=0; k < g->class_dimensions[c]; ++k) { - g->Xlist[g->values] = get_bits(f, g->rangebits); - ++g->values; - } - } - // precompute the sorting - for (j=0; j < g->values; ++j) { - p[j].x = g->Xlist[j]; - p[j].y = j; - } - qsort(p, g->values, sizeof(p[0]), point_compare); - for (j=0; j < g->values; ++j) - g->sorted_order[j] = (uint8) p[j].y; - // precompute the neighbors - for (j=2; j < g->values; ++j) { - int low,hi; - neighbors(g->Xlist, j, &low,&hi); - g->neighbors[j][0] = low; - g->neighbors[j][1] = hi; - } - - if (g->values > longest_floorlist) - longest_floorlist = g->values; - } - } - - // Residue - f->residue_count = get_bits(f, 6)+1; - f->residue_config = (Residue *) setup_malloc(f, f->residue_count * sizeof(*f->residue_config)); - for (i=0; i < f->residue_count; ++i) { - uint8 residue_cascade[64]; - Residue *r = f->residue_config+i; - f->residue_types[i] = get_bits(f, 16); - if (f->residue_types[i] > 2) return error(f, VORBIS_invalid_setup); - r->begin = get_bits(f, 24); - r->end = get_bits(f, 24); - r->part_size = get_bits(f,24)+1; - r->classifications = get_bits(f,6)+1; - r->classbook = get_bits(f,8); - for (j=0; j < r->classifications; ++j) { - uint8 high_bits=0; - uint8 low_bits=get_bits(f,3); - if (get_bits(f,1)) - high_bits = get_bits(f,5); - residue_cascade[j] = high_bits*8 + low_bits; - } - r->residue_books = (short (*)[8]) setup_malloc(f, sizeof(r->residue_books[0]) * r->classifications); - for (j=0; j < r->classifications; ++j) { - for (k=0; k < 8; ++k) { - if (residue_cascade[j] & (1 << k)) { - r->residue_books[j][k] = get_bits(f, 8); - if (r->residue_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); - } else { - r->residue_books[j][k] = -1; - } - } - } - // precompute the classifications[] array to avoid inner-loop mod/divide - // call it 'classdata' since we already have r->classifications - r->classdata = (uint8 **) setup_malloc(f, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - if (!r->classdata) return error(f, VORBIS_outofmem); - memset(r->classdata, 0, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); - for (j=0; j < f->codebooks[r->classbook].entries; ++j) { - int classwords = f->codebooks[r->classbook].dimensions; - int temp = j; - r->classdata[j] = (uint8 *) setup_malloc(f, sizeof(r->classdata[j][0]) * classwords); - for (k=classwords-1; k >= 0; --k) { - r->classdata[j][k] = temp % r->classifications; - temp /= r->classifications; - } - } - } - - f->mapping_count = get_bits(f,6)+1; - f->mapping = (Mapping *) setup_malloc(f, f->mapping_count * sizeof(*f->mapping)); - for (i=0; i < f->mapping_count; ++i) { - Mapping *m = f->mapping + i; - int mapping_type = get_bits(f,16); - if (mapping_type != 0) return error(f, VORBIS_invalid_setup); - m->chan = (MappingChannel *) setup_malloc(f, f->channels * sizeof(*m->chan)); - if (get_bits(f,1)) - m->submaps = get_bits(f,4); - else - m->submaps = 1; - if (m->submaps > max_submaps) - max_submaps = m->submaps; - if (get_bits(f,1)) { - m->coupling_steps = get_bits(f,8)+1; - for (k=0; k < m->coupling_steps; ++k) { - m->chan[k].magnitude = get_bits(f, ilog(f->channels)-1); - m->chan[k].angle = get_bits(f, ilog(f->channels)-1); - if (m->chan[k].magnitude >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].angle >= f->channels) return error(f, VORBIS_invalid_setup); - if (m->chan[k].magnitude == m->chan[k].angle) return error(f, VORBIS_invalid_setup); - } - } else - m->coupling_steps = 0; - - // reserved field - if (get_bits(f,2)) return error(f, VORBIS_invalid_setup); - if (m->submaps > 1) { - for (j=0; j < f->channels; ++j) { - m->chan[j].mux = get_bits(f, 4); - if (m->chan[j].mux >= m->submaps) return error(f, VORBIS_invalid_setup); - } - } else - // @SPECIFICATION: this case is missing from the spec - for (j=0; j < f->channels; ++j) - m->chan[j].mux = 0; - - for (j=0; j < m->submaps; ++j) { - get_bits(f,8); // discard - m->submap_floor[j] = get_bits(f,8); - m->submap_residue[j] = get_bits(f,8); - if (m->submap_floor[j] >= f->floor_count) return error(f, VORBIS_invalid_setup); - if (m->submap_residue[j] >= f->residue_count) return error(f, VORBIS_invalid_setup); - } - } - - // Modes - f->mode_count = get_bits(f, 6)+1; - for (i=0; i < f->mode_count; ++i) { - Mode *m = f->mode_config+i; - m->blockflag = get_bits(f,1); - m->windowtype = get_bits(f,16); - m->transformtype = get_bits(f,16); - m->mapping = get_bits(f,8); - if (m->windowtype != 0) return error(f, VORBIS_invalid_setup); - if (m->transformtype != 0) return error(f, VORBIS_invalid_setup); - if (m->mapping >= f->mapping_count) return error(f, VORBIS_invalid_setup); - } - - flush_packet(f); - - f->previous_length = 0; - - for (i=0; i < f->channels; ++i) { - f->channel_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1); - f->previous_window[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - f->finalY[i] = (int16 *) setup_malloc(f, sizeof(int16) * longest_floorlist); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - f->floor_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); - #endif - } - - if (!init_blocksize(f, 0, f->blocksize_0)) return FALSE; - if (!init_blocksize(f, 1, f->blocksize_1)) return FALSE; - f->blocksize[0] = f->blocksize_0; - f->blocksize[1] = f->blocksize_1; - -#ifdef STB_VORBIS_DIVIDE_TABLE - if (integer_divide_table[1][1]==0) - for (i=0; i < DIVTAB_NUMER; ++i) - for (j=1; j < DIVTAB_DENOM; ++j) - integer_divide_table[i][j] = i / j; -#endif - - // compute how much temporary memory is needed - - // 1. - { - uint32 imdct_mem = (f->blocksize_1 * sizeof(float) >> 1); - uint32 classify_mem; - int i,max_part_read=0; - for (i=0; i < f->residue_count; ++i) { - Residue *r = f->residue_config + i; - int n_read = r->end - r->begin; - int part_read = n_read / r->part_size; - if (part_read > max_part_read) - max_part_read = part_read; - } - #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(uint8 *)); - #else - classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(int *)); - #endif - - f->temp_memory_required = classify_mem; - if (imdct_mem > f->temp_memory_required) - f->temp_memory_required = imdct_mem; - } - - f->first_decode = TRUE; - - if (f->alloc.alloc_buffer) { - assert(f->temp_offset == f->alloc.alloc_buffer_length_in_bytes); - // check if there's enough temp memory so we don't error later - if (f->setup_offset + sizeof(*f) + f->temp_memory_required > (unsigned) f->temp_offset) - return error(f, VORBIS_outofmem); - } - - f->first_audio_page_offset = stb_vorbis_get_file_offset(f); - - return TRUE; -} - -static void vorbis_deinit(stb_vorbis *p) -{ - int i,j; - for (i=0; i < p->residue_count; ++i) { - Residue *r = p->residue_config+i; - if (r->classdata) { - for (j=0; j < p->codebooks[r->classbook].entries; ++j) - setup_free(p, r->classdata[j]); - setup_free(p, r->classdata); - } - setup_free(p, r->residue_books); - } - - if (p->codebooks) { - for (i=0; i < p->codebook_count; ++i) { - Codebook *c = p->codebooks + i; - setup_free(p, c->codeword_lengths); - setup_free(p, c->multiplicands); - setup_free(p, c->codewords); - setup_free(p, c->sorted_codewords); - // c->sorted_values[-1] is the first entry in the array - setup_free(p, c->sorted_values ? c->sorted_values-1 : NULL); - } - setup_free(p, p->codebooks); - } - setup_free(p, p->floor_config); - setup_free(p, p->residue_config); - for (i=0; i < p->mapping_count; ++i) - setup_free(p, p->mapping[i].chan); - setup_free(p, p->mapping); - for (i=0; i < p->channels; ++i) { - setup_free(p, p->channel_buffers[i]); - setup_free(p, p->previous_window[i]); - #ifdef STB_VORBIS_NO_DEFER_FLOOR - setup_free(p, p->floor_buffers[i]); - #endif - setup_free(p, p->finalY[i]); - } - for (i=0; i < 2; ++i) { - setup_free(p, p->A[i]); - setup_free(p, p->B[i]); - setup_free(p, p->C[i]); - setup_free(p, p->window[i]); - } - #ifndef STB_VORBIS_NO_STDIO - if (p->close_on_free) fclose(p->f); - #endif -} - -void stb_vorbis_close(stb_vorbis *p) -{ - if (p == NULL) return; - vorbis_deinit(p); - setup_free(p,p); -} - -static void vorbis_init(stb_vorbis *p, stb_vorbis_alloc *z) -{ - memset(p, 0, sizeof(*p)); // NULL out all malloc'd pointers to start - if (z) { - p->alloc = *z; - p->alloc.alloc_buffer_length_in_bytes = (p->alloc.alloc_buffer_length_in_bytes+3) & ~3; - p->temp_offset = p->alloc.alloc_buffer_length_in_bytes; - } - p->eof = 0; - p->error = VORBIS__no_error; - p->stream = NULL; - p->codebooks = NULL; - p->page_crc_tests = -1; - #ifndef STB_VORBIS_NO_STDIO - p->close_on_free = FALSE; - p->f = NULL; - #endif -} - -int stb_vorbis_get_sample_offset(stb_vorbis *f) -{ - if (f->current_loc_valid) - return f->current_loc; - else - return -1; -} - -stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f) -{ - stb_vorbis_info d; - d.channels = f->channels; - d.sample_rate = f->sample_rate; - d.setup_memory_required = f->setup_memory_required; - d.setup_temp_memory_required = f->setup_temp_memory_required; - d.temp_memory_required = f->temp_memory_required; - d.max_frame_size = f->blocksize_1 >> 1; - return d; -} - -int stb_vorbis_get_error(stb_vorbis *f) -{ - int e = f->error; - f->error = VORBIS__no_error; - return e; -} - -static stb_vorbis * vorbis_alloc(stb_vorbis *f) -{ - stb_vorbis *p = (stb_vorbis *) setup_malloc(f, sizeof(*p)); - return p; -} - -#ifndef STB_VORBIS_NO_PUSHDATA_API - -void stb_vorbis_flush_pushdata(stb_vorbis *f) -{ - f->previous_length = 0; - f->page_crc_tests = 0; - f->discard_samples_deferred = 0; - f->current_loc_valid = FALSE; - f->first_decode = FALSE; - f->samples_output = 0; - f->channel_buffer_start = 0; - f->channel_buffer_end = 0; -} - -static int vorbis_search_for_page_pushdata(vorb *f, uint8 *data, int data_len) -{ - int i,n; - for (i=0; i < f->page_crc_tests; ++i) - f->scan[i].bytes_done = 0; - - // if we have room for more scans, search for them first, because - // they may cause us to stop early if their header is incomplete - if (f->page_crc_tests < STB_VORBIS_PUSHDATA_CRC_COUNT) { - if (data_len < 4) return 0; - data_len -= 3; // need to look for 4-byte sequence, so don't miss - // one that straddles a boundary - for (i=0; i < data_len; ++i) { - if (data[i] == 0x4f) { - if (0==memcmp(data+i, ogg_page_header, 4)) { - int j,len; - uint32 crc; - // make sure we have the whole page header - if (i+26 >= data_len || i+27+data[i+26] >= data_len) { - // only read up to this page start, so hopefully we'll - // have the whole page header start next time - data_len = i; - break; - } - // ok, we have it all; compute the length of the page - len = 27 + data[i+26]; - for (j=0; j < data[i+26]; ++j) - len += data[i+27+j]; - // scan everything up to the embedded crc (which we must 0) - crc = 0; - for (j=0; j < 22; ++j) - crc = crc32_update(crc, data[i+j]); - // now process 4 0-bytes - for ( ; j < 26; ++j) - crc = crc32_update(crc, 0); - // len is the total number of bytes we need to scan - n = f->page_crc_tests++; - f->scan[n].bytes_left = len-j; - f->scan[n].crc_so_far = crc; - f->scan[n].goal_crc = data[i+22] + (data[i+23] << 8) + (data[i+24]<<16) + (data[i+25]<<24); - // if the last frame on a page is continued to the next, then - // we can't recover the sample_loc immediately - if (data[i+27+data[i+26]-1] == 255) - f->scan[n].sample_loc = ~0; - else - f->scan[n].sample_loc = data[i+6] + (data[i+7] << 8) + (data[i+ 8]<<16) + (data[i+ 9]<<24); - f->scan[n].bytes_done = i+j; - if (f->page_crc_tests == STB_VORBIS_PUSHDATA_CRC_COUNT) - break; - // keep going if we still have room for more - } - } - } - } - - for (i=0; i < f->page_crc_tests;) { - uint32 crc; - int j; - int n = f->scan[i].bytes_done; - int m = f->scan[i].bytes_left; - if (m > data_len - n) m = data_len - n; - // m is the bytes to scan in the current chunk - crc = f->scan[i].crc_so_far; - for (j=0; j < m; ++j) - crc = crc32_update(crc, data[n+j]); - f->scan[i].bytes_left -= m; - f->scan[i].crc_so_far = crc; - if (f->scan[i].bytes_left == 0) { - // does it match? - if (f->scan[i].crc_so_far == f->scan[i].goal_crc) { - // Houston, we have page - data_len = n+m; // consumption amount is wherever that scan ended - f->page_crc_tests = -1; // drop out of page scan mode - f->previous_length = 0; // decode-but-don't-output one frame - f->next_seg = -1; // start a new page - f->current_loc = f->scan[i].sample_loc; // set the current sample location - // to the amount we'd have decoded had we decoded this page - f->current_loc_valid = f->current_loc != ~0; - return data_len; - } - // delete entry - f->scan[i] = f->scan[--f->page_crc_tests]; - } else { - ++i; - } - } - - return data_len; -} - -// return value: number of bytes we used -int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, // the file we're decoding - uint8 *data, int data_len, // the memory available for decoding - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ) -{ - int i; - int len,right,left; - - if (!IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (f->page_crc_tests >= 0) { - *samples = 0; - return vorbis_search_for_page_pushdata(f, data, data_len); - } - - f->stream = data; - f->stream_end = data + data_len; - f->error = VORBIS__no_error; - - // check that we have the entire packet in memory - if (!is_whole_packet_present(f, FALSE)) { - *samples = 0; - return 0; - } - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - // save the actual error we encountered - enum STBVorbisError error = f->error; - if (error == VORBIS_bad_packet_type) { - // flush and resynch - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - if (error == VORBIS_continued_packet_flag_invalid) { - if (f->previous_length == 0) { - // we may be resynching, in which case it's ok to hit one - // of these; just discard the packet - f->error = VORBIS__no_error; - while (get8_packet(f) != EOP) - if (f->eof) break; - *samples = 0; - return f->stream - data; - } - } - // if we get an error while parsing, what to do? - // well, it DEFINITELY won't work to continue from where we are! - stb_vorbis_flush_pushdata(f); - // restore the error that actually made us bail - f->error = error; - *samples = 0; - return 1; - } - - // success! - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - if (channels) *channels = f->channels; - *samples = len; - *output = f->outputs; - return f->stream - data; -} - -stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *data, int data_len, // the memory available for decoding - int *data_used, // only defined if result is not NULL - int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + data_len; - p.push_mode = TRUE; - if (!start_decoder(&p)) { - if (p.eof) - *error = VORBIS_need_more_data; - else - *error = p.error; - return NULL; - } - f = vorbis_alloc(&p); - if (f) { - *f = p; - *data_used = f->stream - data; - *error = 0; - return f; - } else { - vorbis_deinit(&p); - return NULL; - } -} -#endif // STB_VORBIS_NO_PUSHDATA_API - -unsigned int stb_vorbis_get_file_offset(stb_vorbis *f) -{ - #ifndef STB_VORBIS_NO_PUSHDATA_API - if (f->push_mode) return 0; - #endif - if (USE_MEMORY(f)) return f->stream - f->stream_start; - #ifndef STB_VORBIS_NO_STDIO - return ftell(f->f) - f->f_start; - #endif -} - -#ifndef STB_VORBIS_NO_PULLDATA_API -// -// DATA-PULLING API -// - -static uint32 vorbis_find_page(stb_vorbis *f, uint32 *end, uint32 *last) -{ - for(;;) { - int n; - if (f->eof) return 0; - n = get8(f); - if (n == 0x4f) { // page header - unsigned int retry_loc = stb_vorbis_get_file_offset(f); - int i; - // check if we're off the end of a file_section stream - if (retry_loc - 25 > f->stream_len) - return 0; - // check the rest of the header - for (i=1; i < 4; ++i) - if (get8(f) != ogg_page_header[i]) - break; - if (f->eof) return 0; - if (i == 4) { - uint8 header[27]; - uint32 i, crc, goal, len; - for (i=0; i < 4; ++i) - header[i] = ogg_page_header[i]; - for (; i < 27; ++i) - header[i] = get8(f); - if (f->eof) return 0; - if (header[4] != 0) goto invalid; - goal = header[22] + (header[23] << 8) + (header[24]<<16) + (header[25]<<24); - for (i=22; i < 26; ++i) - header[i] = 0; - crc = 0; - for (i=0; i < 27; ++i) - crc = crc32_update(crc, header[i]); - len = 0; - for (i=0; i < header[26]; ++i) { - int s = get8(f); - crc = crc32_update(crc, s); - len += s; - } - if (len && f->eof) return 0; - for (i=0; i < len; ++i) - crc = crc32_update(crc, get8(f)); - // finished parsing probable page - if (crc == goal) { - // we could now check that it's either got the last - // page flag set, OR it's followed by the capture - // pattern, but I guess TECHNICALLY you could have - // a file with garbage between each ogg page and recover - // from it automatically? So even though that paranoia - // might decrease the chance of an invalid decode by - // another 2^32, not worth it since it would hose those - // invalid-but-useful files? - if (end) - *end = stb_vorbis_get_file_offset(f); - if (last) - if (header[5] & 0x04) - *last = 1; - else - *last = 0; - set_file_offset(f, retry_loc-1); - return 1; - } - } - invalid: - // not a valid page, so rewind and look for next one - set_file_offset(f, retry_loc); - } - } -} - -// seek is implemented with 'interpolation search'--this is like -// binary search, but we use the data values to estimate the likely -// location of the data item (plus a bit of a bias so when the -// estimation is wrong we don't waste overly much time) - -#define SAMPLE_unknown 0xffffffff - - -// ogg vorbis, in its insane infinite wisdom, only provides -// information about the sample at the END of the page. -// therefore we COULD have the data we need in the current -// page, and not know it. we could just use the end location -// as our only knowledge for bounds, seek back, and eventually -// the binary search finds it. or we can try to be smart and -// not waste time trying to locate more pages. we try to be -// smart, since this data is already in memory anyway, so -// doing needless I/O would be crazy! -static int vorbis_analyze_page(stb_vorbis *f, ProbedPage *z) -{ - uint8 header[27], lacing[255]; - uint8 packet_type[255]; - int num_packet, packet_start, previous =0; - int i,len; - uint32 samples; - - // record where the page starts - z->page_start = stb_vorbis_get_file_offset(f); - - // parse the header - getn(f, header, 27); - assert(header[0] == 'O' && header[1] == 'g' && header[2] == 'g' && header[3] == 'S'); - getn(f, lacing, header[26]); - - // determine the length of the payload - len = 0; - for (i=0; i < header[26]; ++i) - len += lacing[i]; - - // this implies where the page ends - z->page_end = z->page_start + 27 + header[26] + len; - - // read the last-decoded sample out of the data - z->last_decoded_sample = header[6] + (header[7] << 8) + (header[8] << 16) + (header[9] << 16); - - if (header[5] & 4) { - // if this is the last page, it's not possible to work - // backwards to figure out the first sample! whoops! fuck. - z->first_decoded_sample = SAMPLE_unknown; - set_file_offset(f, z->page_start); - return 1; - } - - // scan through the frames to determine the sample-count of each one... - // our goal is the sample # of the first fully-decoded sample on the - // page, which is the first decoded sample of the 2nd page - - num_packet=0; - - packet_start = ((header[5] & 1) == 0); - - for (i=0; i < header[26]; ++i) { - if (packet_start) { - uint8 n,b,m; - if (lacing[i] == 0) goto bail; // trying to read from zero-length packet - n = get8(f); - // if bottom bit is non-zero, we've got corruption - if (n & 1) goto bail; - n >>= 1; - b = ilog(f->mode_count-1); - m = n >> b; - n &= (1 << b)-1; - if (n >= f->mode_count) goto bail; - if (num_packet == 0 && f->mode_config[n].blockflag) - previous = (m & 1); - packet_type[num_packet++] = f->mode_config[n].blockflag; - skip(f, lacing[i]-1); - } else - skip(f, lacing[i]); - packet_start = (lacing[i] < 255); - } - - // now that we know the sizes of all the pages, we can start determining - // how much sample data there is. - - samples = 0; - - // for the last packet, we step by its whole length, because the definition - // is that we encoded the end sample loc of the 'last packet completed', - // where 'completed' refers to packets being split, and we are left to guess - // what 'end sample loc' means. we assume it means ignoring the fact that - // the last half of the data is useless without windowing against the next - // packet... (so it's not REALLY complete in that sense) - if (num_packet > 1) - samples += f->blocksize[packet_type[num_packet-1]]; - - for (i=num_packet-2; i >= 1; --i) { - // now, for this packet, how many samples do we have that - // do not overlap the following packet? - if (packet_type[i] == 1) - if (packet_type[i+1] == 1) - samples += f->blocksize_1 >> 1; - else - samples += ((f->blocksize_1 - f->blocksize_0) >> 2) + (f->blocksize_0 >> 1); - else - samples += f->blocksize_0 >> 1; - } - // now, at this point, we've rewound to the very beginning of the - // _second_ packet. if we entirely discard the first packet after - // a seek, this will be exactly the right sample number. HOWEVER! - // we can't as easily compute this number for the LAST page. The - // only way to get the sample offset of the LAST page is to use - // the end loc from the previous page. But what that returns us - // is _exactly_ the place where we get our first non-overlapped - // sample. (I think. Stupid spec for being ambiguous.) So for - // consistency it's better to do that here, too. However, that - // will then require us to NOT discard all of the first frame we - // decode, in some cases, which means an even weirder frame size - // and extra code. what a fucking pain. - - // we're going to discard the first packet if we - // start the seek here, so we don't care about it. (we could actually - // do better; if the first packet is long, and the previous packet - // is short, there's actually data in the first half of the first - // packet that doesn't need discarding... but not worth paying the - // effort of tracking that of that here and in the seeking logic) - // except crap, if we infer it from the _previous_ packet's end - // location, we DO need to use that definition... and we HAVE to - // infer the start loc of the LAST packet from the previous packet's - // end location. fuck you, ogg vorbis. - - z->first_decoded_sample = z->last_decoded_sample - samples; - - // restore file state to where we were - set_file_offset(f, z->page_start); - return 1; - - // restore file state to where we were - bail: - set_file_offset(f, z->page_start); - return 0; -} - -static int vorbis_seek_frame_from_page(stb_vorbis *f, uint32 page_start, uint32 first_sample, uint32 target_sample, int fine) -{ - int left_start, left_end, right_start, right_end, mode,i; - int frame=0; - uint32 frame_start; - int frames_to_skip, data_to_skip; - - // first_sample is the sample # of the first sample that doesn't - // overlap the previous page... note that this requires us to - // _partially_ discard the first packet! bleh. - set_file_offset(f, page_start); - - f->next_seg = -1; // force page resync - - frame_start = first_sample; - // frame start is where the previous packet's last decoded sample - // was, which corresponds to left_end... EXCEPT if the previous - // packet was long and this packet is short? Probably a bug here. - - - // now, we can start decoding frames... we'll only FAKE decode them, - // until we find the frame that contains our sample; then we'll rewind, - // and try again - for (;;) { - int start; - - if (!vorbis_decode_initial(f, &left_start, &left_end, &right_start, &right_end, &mode)) - return error(f, VORBIS_seek_failed); - - if (frame == 0) - start = left_end; - else - start = left_start; - - // the window starts at left_start; the last valid sample we generate - // before the next frame's window start is right_start-1 - if (target_sample < frame_start + right_start-start) - break; - - flush_packet(f); - if (f->eof) - return error(f, VORBIS_seek_failed); - - frame_start += right_start - start; - - ++frame; - } - - // ok, at this point, the sample we want is contained in frame #'frame' - - // to decode frame #'frame' normally, we have to decode the - // previous frame first... but if it's the FIRST frame of the page - // we can't. if it's the first frame, it means it falls in the part - // of the first frame that doesn't overlap either of the other frames. - // so, if we have to handle that case for the first frame, we might - // as well handle it for all of them, so: - if (target_sample > frame_start + (left_end - left_start)) { - // so what we want to do is go ahead and just immediately decode - // this frame, but then make it so the next get_frame_float() uses - // this already-decoded data? or do we want to go ahead and rewind, - // and leave a flag saying to skip the first N data? let's do that - frames_to_skip = frame; // if this is frame #1, skip 1 frame (#0) - data_to_skip = left_end - left_start; - } else { - // otherwise, we want to skip frames 0, 1, 2, ... frame-2 - // (which means frame-2+1 total frames) then decode frame-1, - // then leave frame pending - frames_to_skip = frame - 1; - assert(frames_to_skip >= 0); - data_to_skip = -1; - } - - set_file_offset(f, page_start); - f->next_seg = - 1; // force page resync - - for (i=0; i < frames_to_skip; ++i) { - maybe_start_packet(f); - flush_packet(f); - } - - if (data_to_skip >= 0) { - int i,j,n = f->blocksize_0 >> 1; - f->discard_samples_deferred = data_to_skip; - for (i=0; i < f->channels; ++i) - for (j=0; j < n; ++j) - f->previous_window[i][j] = 0; - f->previous_length = n; - frame_start += data_to_skip; - } else { - f->previous_length = 0; - vorbis_pump_first_frame(f); - } - - // at this point, the NEXT decoded frame will generate the desired sample - if (fine) { - // so if we're doing sample accurate streaming, we want to go ahead and decode it! - if (target_sample != frame_start) { - int n; - stb_vorbis_get_frame_float(f, &n, NULL); - assert(target_sample > frame_start); - assert(f->channel_buffer_start + (int) (target_sample-frame_start) < f->channel_buffer_end); - f->channel_buffer_start += (target_sample - frame_start); - } - } - - return 0; -} - -static int vorbis_seek_base(stb_vorbis *f, unsigned int sample_number, int fine) -{ - ProbedPage p[2],q; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - // do we know the location of the last page? - if (f->p_last.page_start == 0) { - uint32 z = stb_vorbis_stream_length_in_samples(f); - if (z == 0) return error(f, VORBIS_cant_find_last_page); - } - - p[0] = f->p_first; - p[1] = f->p_last; - - if (sample_number >= f->p_last.last_decoded_sample) - sample_number = f->p_last.last_decoded_sample-1; - - if (sample_number < f->p_first.last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[0].page_start, 0, sample_number, fine); - return 0; - } else { - int attempts=0; - while (p[0].page_end < p[1].page_start) { - uint32 probe; - uint32 start_offset, end_offset; - uint32 start_sample, end_sample; - - // copy these into local variables so we can tweak them - // if any are unknown - start_offset = p[0].page_end; - end_offset = p[1].after_previous_page_start; // an address known to seek to page p[1] - start_sample = p[0].last_decoded_sample; - end_sample = p[1].last_decoded_sample; - - // currently there is no such tweaking logic needed/possible? - if (start_sample == SAMPLE_unknown || end_sample == SAMPLE_unknown) - return error(f, VORBIS_seek_failed); - - // now we want to lerp between these for the target samples... - - // step 1: we need to bias towards the page start... - if (start_offset + 4000 < end_offset) - end_offset -= 4000; - - // now compute an interpolated search loc - probe = start_offset + (int) floor((float) (end_offset - start_offset) / (end_sample - start_sample) * (sample_number - start_sample)); - - // next we need to bias towards binary search... - // code is a little wonky to allow for full 32-bit unsigned values - if (attempts >= 4) { - uint32 probe2 = start_offset + ((end_offset - start_offset) >> 1); - if (attempts >= 8) - probe = probe2; - else if (probe < probe2) - probe = probe + ((probe2 - probe) >> 1); - else - probe = probe2 + ((probe - probe2) >> 1); - } - ++attempts; - - set_file_offset(f, probe); - if (!vorbis_find_page(f, NULL, NULL)) return error(f, VORBIS_seek_failed); - if (!vorbis_analyze_page(f, &q)) return error(f, VORBIS_seek_failed); - q.after_previous_page_start = probe; - - // it's possible we've just found the last page again - if (q.page_start == p[1].page_start) { - p[1] = q; - continue; - } - - if (sample_number < q.last_decoded_sample) - p[1] = q; - else - p[0] = q; - } - - if (p[0].last_decoded_sample <= sample_number && sample_number < p[1].last_decoded_sample) { - vorbis_seek_frame_from_page(f, p[1].page_start, p[0].last_decoded_sample, sample_number, fine); - return 0; - } - return error(f, VORBIS_seek_failed); - } -} - -int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, FALSE); -} - -int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number) -{ - return vorbis_seek_base(f, sample_number, TRUE); -} - -void stb_vorbis_seek_start(stb_vorbis *f) -{ - if (IS_PUSH_MODE(f)) { error(f, VORBIS_invalid_api_mixing); return; } - set_file_offset(f, f->first_audio_page_offset); - f->previous_length = 0; - f->first_decode = TRUE; - f->next_seg = -1; - vorbis_pump_first_frame(f); -} - -unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f) -{ - unsigned int restore_offset, previous_safe; - unsigned int end, last_page_loc; - - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - if (!f->total_samples) { - int last; - uint32 lo,hi; - char header[6]; - - // first, store the current decode position so we can restore it - restore_offset = stb_vorbis_get_file_offset(f); - - // now we want to seek back 64K from the end (the last page must - // be at most a little less than 64K, but let's allow a little slop) - if (f->stream_len >= 65536 && f->stream_len-65536 >= f->first_audio_page_offset) - previous_safe = f->stream_len - 65536; - else - previous_safe = f->first_audio_page_offset; - - set_file_offset(f, previous_safe); - // previous_safe is now our candidate 'earliest known place that seeking - // to will lead to the final page' - - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // if we can't find a page, we're hosed! - f->error = VORBIS_cant_find_last_page; - f->total_samples = 0xffffffff; - goto done; - } - - // check if there are more pages - last_page_loc = stb_vorbis_get_file_offset(f); - - // stop when the last_page flag is set, not when we reach eof; - // this allows us to stop short of a 'file_section' end without - // explicitly checking the length of the section - while (!last) { - set_file_offset(f, end); - if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { - // the last page we found didn't have the 'last page' flag - // set. whoops! - break; - } - previous_safe = last_page_loc+1; - last_page_loc = stb_vorbis_get_file_offset(f); - } - - set_file_offset(f, last_page_loc); - - // parse the header - getn(f, (unsigned char *)header, 6); - // extract the absolute granule position - lo = get32(f); - hi = get32(f); - if (lo == 0xffffffff && hi == 0xffffffff) { - f->error = VORBIS_cant_find_last_page; - f->total_samples = SAMPLE_unknown; - goto done; - } - if (hi) - lo = 0xfffffffe; // saturate - f->total_samples = lo; - - f->p_last.page_start = last_page_loc; - f->p_last.page_end = end; - f->p_last.last_decoded_sample = lo; - f->p_last.first_decoded_sample = SAMPLE_unknown; - f->p_last.after_previous_page_start = previous_safe; - - done: - set_file_offset(f, restore_offset); - } - return f->total_samples == SAMPLE_unknown ? 0 : f->total_samples; -} - -float stb_vorbis_stream_length_in_seconds(stb_vorbis *f) -{ - return stb_vorbis_stream_length_in_samples(f) / (float) f->sample_rate; -} - - - -int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output) -{ - int len, right,left,i; - if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); - - if (!vorbis_decode_packet(f, &len, &left, &right)) { - f->channel_buffer_start = f->channel_buffer_end = 0; - return 0; - } - - len = vorbis_finish_frame(f, len, left, right); - for (i=0; i < f->channels; ++i) - f->outputs[i] = f->channel_buffers[i] + left; - - f->channel_buffer_start = left; - f->channel_buffer_end = left+len; - - if (channels) *channels = f->channels; - if (output) *output = f->outputs; - return len; -} - -#ifndef STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_file_section(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc, unsigned int length) -{ - stb_vorbis *f, p; - vorbis_init(&p, alloc); - p.f = file; - p.f_start = ftell(file); - p.stream_len = length; - p.close_on_free = close_on_free; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -stb_vorbis * stb_vorbis_open_file(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc) -{ - unsigned int len, start; - start = ftell(file); - fseek(file, 0, SEEK_END); - len = ftell(file) - start; - fseek(file, start, SEEK_SET); - return stb_vorbis_open_file_section(file, close_on_free, error, alloc, len); -} - -stb_vorbis * stb_vorbis_open_filename(char *filename, int *error, stb_vorbis_alloc *alloc) -{ - FILE *f = fopen(filename, "rb"); - if (f) - return stb_vorbis_open_file(f, TRUE, error, alloc); - if (error) *error = VORBIS_file_open_failure; - return NULL; -} -#endif // STB_VORBIS_NO_STDIO - -stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, int *error, stb_vorbis_alloc *alloc) -{ - stb_vorbis *f, p; - if (data == NULL) return NULL; - vorbis_init(&p, alloc); - p.stream = data; - p.stream_end = data + len; - p.stream_start = p.stream; - p.stream_len = len; - p.push_mode = FALSE; - if (start_decoder(&p)) { - f = vorbis_alloc(&p); - if (f) { - *f = p; - vorbis_pump_first_frame(f); - return f; - } - } - if (error) *error = p.error; - vorbis_deinit(&p); - return NULL; -} - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION -#define PLAYBACK_MONO 1 -#define PLAYBACK_LEFT 2 -#define PLAYBACK_RIGHT 4 - -#define L (PLAYBACK_LEFT | PLAYBACK_MONO) -#define C (PLAYBACK_LEFT | PLAYBACK_RIGHT | PLAYBACK_MONO) -#define R (PLAYBACK_RIGHT | PLAYBACK_MONO) - -static int8 channel_position[7][6] = -{ - { 0 }, - { C }, - { L, R }, - { L, C, R }, - { L, R, L, R }, - { L, C, R, L, R }, - { L, C, R, L, R, C }, -}; - - -#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT - typedef union { - float f; - int i; - } float_conv; - typedef char stb_vorbis_float_size_test[sizeof(float)==4 && sizeof(int) == 4]; - #define FASTDEF(x) float_conv x - // add (1<<23) to convert to int, then divide by 2^SHIFT, then add 0.5/2^SHIFT to round - #define MAGIC(SHIFT) (1.5f * (1 << (23-SHIFT)) + 0.5f/(1 << SHIFT)) - #define ADDEND(SHIFT) (((150-SHIFT) << 23) + (1 << 22)) - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) (temp.f = (x) + MAGIC(s), temp.i - ADDEND(s)) - #define check_endianness() -#else - #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) ((int) ((x) * (1 << (s)))) - #define check_endianness() - #define FASTDEF(x) -#endif - -static void copy_samples(short *dest, float *src, int len) -{ - int i; - check_endianness(); - for (i=0; i < len; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp, src[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - dest[i] = v; - } -} - -static void compute_samples(int mask, short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE; - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE) { - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - if (channel_position[num_c][j] & mask) { - for (i=0; i < n; ++i) - buffer[i] += data[j][d_offset+o+i]; - } - } - for (i=0; i < n; ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o+i] = v; - } - } -} - -static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; -static void compute_stereo_samples(short *output, int num_c, float **data, int d_offset, int len) -{ - #define BUFFER_SIZE 32 - float buffer[BUFFER_SIZE]; - int i,j,o,n = BUFFER_SIZE >> 1; - // o is the offset in the source data - check_endianness(); - for (o = 0; o < len; o += BUFFER_SIZE >> 1) { - // o2 is the offset in the output data - int o2 = o << 1; - memset(buffer, 0, sizeof(buffer)); - if (o + n > len) n = len - o; - for (j=0; j < num_c; ++j) { - int m = channel_position[num_c][j] & (PLAYBACK_LEFT | PLAYBACK_RIGHT); - if (m == (PLAYBACK_LEFT | PLAYBACK_RIGHT)) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_LEFT) { - for (i=0; i < n; ++i) { - buffer[i*2+0] += data[j][d_offset+o+i]; - } - } else if (m == PLAYBACK_RIGHT) { - for (i=0; i < n; ++i) { - buffer[i*2+1] += data[j][d_offset+o+i]; - } - } - } - for (i=0; i < (n<<1); ++i) { - FASTDEF(temp); - int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - output[o2+i] = v; - } - } -} - -static void convert_samples_short(int buf_c, short **buffer, int b_offset, int data_c, float **data, int d_offset, int samples) -{ - int i; - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; - for (i=0; i < buf_c; ++i) - compute_samples(channel_selector[buf_c][i], buffer[i]+b_offset, data_c, data, d_offset, samples); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - for (i=0; i < limit; ++i) - copy_samples(buffer[i]+b_offset, data[i], samples); - for ( ; i < buf_c; ++i) - memset(buffer[i]+b_offset, 0, sizeof(short) * samples); - } -} - -int stb_vorbis_get_frame_short(stb_vorbis *f, int num_c, short **buffer, int num_samples) -{ - float **output; - int len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len > num_samples) len = num_samples; - if (len) - convert_samples_short(num_c, buffer, 0, f->channels, output, 0, len); - return len; -} - -static void convert_channels_short_interleaved(int buf_c, short *buffer, int data_c, float **data, int d_offset, int len) -{ - int i; - check_endianness(); - if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { - assert(buf_c == 2); - for (i=0; i < buf_c; ++i) - compute_stereo_samples(buffer, data_c, data, d_offset, len); - } else { - int limit = buf_c < data_c ? buf_c : data_c; - int j; - for (j=0; j < len; ++j) { - for (i=0; i < limit; ++i) { - FASTDEF(temp); - float f = data[i][d_offset+j]; - int v = FAST_SCALED_FLOAT_TO_INT(temp, f,15);//data[i][d_offset+j],15); - if ((unsigned int) (v + 32768) > 65535) - v = v < 0 ? -32768 : 32767; - *buffer++ = v; - } - for ( ; i < buf_c; ++i) - *buffer++ = 0; - } - } -} - -int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts) -{ - float **output; - int len; - if (num_c == 1) return stb_vorbis_get_frame_short(f,num_c,&buffer, num_shorts); - len = stb_vorbis_get_frame_float(f, NULL, &output); - if (len) { - if (len*num_c > num_shorts) len = num_shorts / num_c; - convert_channels_short_interleaved(num_c, buffer, f->channels, output, 0, len); - } - return len; -} - -int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts) -{ - float **outputs; - int len = num_shorts / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_channels_short_interleaved(channels, buffer, f->channels, f->channel_buffers, f->channel_buffer_start, k); - buffer += k*channels; - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int len) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - if (k) - convert_samples_short(channels, buffer, n, f->channels, f->channel_buffers, f->channel_buffer_start, k); - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -#ifndef STB_VORBIS_NO_STDIO -int stb_vorbis_decode_filename(char *filename, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_filename(filename, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif // NO_STDIO - -int stb_vorbis_decode_memory(uint8 *mem, int len, int *channels, short **output) -{ - int data_len, offset, total, limit, error; - short *data; - stb_vorbis *v = stb_vorbis_open_memory(mem, len, &error, NULL); - if (v == NULL) return -1; - limit = v->channels * 4096; - *channels = v->channels; - offset = data_len = 0; - total = limit; - data = (short *) malloc(total * sizeof(*data)); - if (data == NULL) { - stb_vorbis_close(v); - return -2; - } - for (;;) { - int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); - if (n == 0) break; - data_len += n; - offset += n * v->channels; - if (offset + limit > total) { - short *data2; - total *= 2; - data2 = (short *) realloc(data, total * sizeof(*data)); - if (data2 == NULL) { - free(data); - stb_vorbis_close(v); - return -2; - } - data = data2; - } - } - *output = data; - return data_len; -} -#endif - -int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats) -{ - float **outputs; - int len = num_floats / channels; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < len) { - int i,j; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= len) k = len - n; - for (j=0; j < k; ++j) { - for (i=0; i < z; ++i) - *buffer++ = f->channel_buffers[i][f->channel_buffer_start+j]; - for ( ; i < channels; ++i) - *buffer++ = 0; - } - n += k; - f->channel_buffer_start += k; - if (n == len) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} - -int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples) -{ - float **outputs; - int n=0; - int z = f->channels; - if (z > channels) z = channels; - while (n < num_samples) { - int i; - int k = f->channel_buffer_end - f->channel_buffer_start; - if (n+k >= num_samples) k = num_samples - n; - if (k) { - for (i=0; i < z; ++i) - memcpy(buffer[i]+n, f->channel_buffers+f->channel_buffer_start, sizeof(float)*k); - for ( ; i < channels; ++i) - memset(buffer[i]+n, 0, sizeof(float) * k); - } - n += k; - f->channel_buffer_start += k; - if (n == num_samples) break; - if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; - } - return n; -} -#endif // STB_VORBIS_NO_PULLDATA_API - -#endif // STB_VORBIS_HEADER_ONLY diff --git a/ofxMaxim/ofxMaxim/libs/stb_vorbis.h b/ofxMaxim/ofxMaxim/libs/stb_vorbis.h deleted file mode 100644 index 94fd6fe..0000000 --- a/ofxMaxim/ofxMaxim/libs/stb_vorbis.h +++ /dev/null @@ -1,338 +0,0 @@ -// -// stb_vorbis.h -// oggdecode -// -// Created by Michael Grierson on 04/04/2012. -// Copyright (c) 2012 goldsmiths college. All rights reserved. -// - - - -////////////////////////////////////////////////////////////////////////////// -// -// HEADER BEGINS HERE -// - -#ifndef STB_VORBIS_INCLUDE_STB_VORBIS_H -#define STB_VORBIS_INCLUDE_STB_VORBIS_H - -#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) -#define STB_VORBIS_NO_STDIO 1 -#endif - -#ifndef STB_VORBIS_NO_STDIO -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - /////////// THREAD SAFETY - - // Individual stb_vorbis* handles are not thread-safe; you cannot decode from - // them from multiple threads at the same time. However, you can have multiple - // stb_vorbis* handles and decode from them independently in multiple thrads. - - - /////////// MEMORY ALLOCATION - - // normally stb_vorbis uses malloc() to allocate memory at startup, - // and alloca() to allocate temporary memory during a frame on the - // stack. (Memory consumption will depend on the amount of setup - // data in the file and how you set the compile flags for speed - // vs. size. In my test files the maximal-size usage is ~150KB.) - // - // You can modify the wrapper functions in the source (setup_malloc, - // setup_temp_malloc, temp_malloc) to change this behavior, or you - // can use a simpler allocation model: you pass in a buffer from - // which stb_vorbis will allocate _all_ its memory (including the - // temp memory). "open" may fail with a VORBIS_outofmem if you - // do not pass in enough data; there is no way to determine how - // much you do need except to succeed (at which point you can - // query get_info to find the exact amount required. yes I know - // this is lame). - // - // If you pass in a non-NULL buffer of the type below, allocation - // will occur from it as described above. Otherwise just pass NULL - // to use malloc()/alloca() - - typedef struct - { - char *alloc_buffer; - int alloc_buffer_length_in_bytes; - } stb_vorbis_alloc; - - - /////////// FUNCTIONS USEABLE WITH ALL INPUT MODES - - typedef struct stb_vorbis stb_vorbis; - - typedef struct - { - unsigned int sample_rate; - int channels; - - unsigned int setup_memory_required; - unsigned int setup_temp_memory_required; - unsigned int temp_memory_required; - - int max_frame_size; - } stb_vorbis_info; - - // get general information about the file - extern stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f); - - // get the last error detected (clears it, too) - extern int stb_vorbis_get_error(stb_vorbis *f); - - // close an ogg vorbis file and free all memory in use - extern void stb_vorbis_close(stb_vorbis *f); - - // this function returns the offset (in samples) from the beginning of the - // file that will be returned by the next decode, if it is known, or -1 - // otherwise. after a flush_pushdata() call, this may take a while before - // it becomes valid again. - // NOT WORKING YET after a seek with PULLDATA API - extern int stb_vorbis_get_sample_offset(stb_vorbis *f); - - // returns the current seek point within the file, or offset from the beginning - // of the memory buffer. In pushdata mode it returns 0. - extern unsigned int stb_vorbis_get_file_offset(stb_vorbis *f); - - /////////// PUSHDATA API - -#ifndef STB_VORBIS_NO_PUSHDATA_API - - // this API allows you to get blocks of data from any source and hand - // them to stb_vorbis. you have to buffer them; stb_vorbis will tell - // you how much it used, and you have to give it the rest next time; - // and stb_vorbis may not have enough data to work with and you will - // need to give it the same data again PLUS more. Note that the Vorbis - // specification does not bound the size of an individual frame. - - extern stb_vorbis *stb_vorbis_open_pushdata( - unsigned char *datablock, int datablock_length_in_bytes, - int *datablock_memory_consumed_in_bytes, - int *error, - stb_vorbis_alloc *alloc_buffer); - // create a vorbis decoder by passing in the initial data block containing - // the ogg&vorbis headers (you don't need to do parse them, just provide - // the first N bytes of the file--you're told if it's not enough, see below) - // on success, returns an stb_vorbis *, does not set error, returns the amount of - // data parsed/consumed on this call in *datablock_memory_consumed_in_bytes; - // on failure, returns NULL on error and sets *error, does not change *datablock_memory_consumed - // if returns NULL and *error is VORBIS_need_more_data, then the input block was - // incomplete and you need to pass in a larger block from the start of the file - - extern int stb_vorbis_decode_frame_pushdata( - stb_vorbis *f, unsigned char *datablock, int datablock_length_in_bytes, - int *channels, // place to write number of float * buffers - float ***output, // place to write float ** array of float * buffers - int *samples // place to write number of output samples - ); - // decode a frame of audio sample data if possible from the passed-in data block - // - // return value: number of bytes we used from datablock - // possible cases: - // 0 bytes used, 0 samples output (need more data) - // N bytes used, 0 samples output (resynching the stream, keep going) - // N bytes used, M samples output (one frame of data) - // note that after opening a file, you will ALWAYS get one N-bytes,0-sample - // frame, because Vorbis always "discards" the first frame. - // - // Note that on resynch, stb_vorbis will rarely consume all of the buffer, - // instead only datablock_length_in_bytes-3 or less. This is because it wants - // to avoid missing parts of a page header if they cross a datablock boundary, - // without writing state-machiney code to record a partial detection. - // - // The number of channels returned are stored in *channels (which can be - // NULL--it is always the same as the number of channels reported by - // get_info). *output will contain an array of float* buffers, one per - // channel. In other words, (*output)[0][0] contains the first sample from - // the first channel, and (*output)[1][0] contains the first sample from - // the second channel. - - extern void stb_vorbis_flush_pushdata(stb_vorbis *f); - // inform stb_vorbis that your next datablock will not be contiguous with - // previous ones (e.g. you've seeked in the data); future attempts to decode - // frames will cause stb_vorbis to resynchronize (as noted above), and - // once it sees a valid Ogg page (typically 4-8KB, as large as 64KB), it - // will begin decoding the _next_ frame. - // - // if you want to seek using pushdata, you need to seek in your file, then - // call stb_vorbis_flush_pushdata(), then start calling decoding, then once - // decoding is returning you data, call stb_vorbis_get_sample_offset, and - // if you don't like the result, seek your file again and repeat. -#endif - - - ////////// PULLING INPUT API - -#ifndef STB_VORBIS_NO_PULLDATA_API - // This API assumes stb_vorbis is allowed to pull data from a source-- - // either a block of memory containing the _entire_ vorbis stream, or a - // FILE * that you or it create, or possibly some other reading mechanism - // if you go modify the source to replace the FILE * case with some kind - // of callback to your code. (But if you don't support seeking, you may - // just want to go ahead and use pushdata.) - -#if !defined(STB_VORBIS_NO_STDIO) && !defined(STB_VORBIS_NO_INTEGER_CONVERSION) - extern int stb_vorbis_decode_filename(char *filename, int *channels, short **output); -#endif - extern int stb_vorbis_decode_memory(unsigned char *mem, int len, int *channels, short **output); - // decode an entire file and output the data interleaved into a malloc()ed - // buffer stored in *output. The return value is the number of samples - // decoded, or -1 if the file could not be opened or was not an ogg vorbis file. - // When you're done with it, just free() the pointer returned in *output. - - extern stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an ogg vorbis stream in memory (note - // this must be the entire stream!). on failure, returns NULL and sets *error - -#ifndef STB_VORBIS_NO_STDIO - extern stb_vorbis * stb_vorbis_open_filename(char *filename, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from a filename via fopen(). on failure, - // returns NULL and sets *error (possibly to VORBIS_file_open_failure). - - extern stb_vorbis * stb_vorbis_open_file(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell). on failure, returns NULL and sets *error. - // note that stb_vorbis must "own" this stream; if you seek it in between - // calls to stb_vorbis, it will become confused. Morever, if you attempt to - // perform stb_vorbis_seek_*() operations on this file, it will assume it - // owns the _entire_ rest of the file after the start point. Use the next - // function, stb_vorbis_open_file_section(), to limit it. - - extern stb_vorbis * stb_vorbis_open_file_section(FILE *f, int close_handle_on_close, - int *error, stb_vorbis_alloc *alloc_buffer, unsigned int len); - // create an ogg vorbis decoder from an open FILE *, looking for a stream at - // the _current_ seek point (ftell); the stream will be of length 'len' bytes. - // on failure, returns NULL and sets *error. note that stb_vorbis must "own" - // this stream; if you seek it in between calls to stb_vorbis, it will become - // confused. -#endif - - extern int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number); - extern int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number); - // NOT WORKING YET - // these functions seek in the Vorbis file to (approximately) 'sample_number'. - // after calling seek_frame(), the next call to get_frame_*() will include - // the specified sample. after calling stb_vorbis_seek(), the next call to - // stb_vorbis_get_samples_* will start with the specified sample. If you - // do not need to seek to EXACTLY the target sample when using get_samples_*, - // you can also use seek_frame(). - - extern void stb_vorbis_seek_start(stb_vorbis *f); - // this function is equivalent to stb_vorbis_seek(f,0), but it - // actually works - - extern unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f); - extern float stb_vorbis_stream_length_in_seconds(stb_vorbis *f); - // these functions return the total length of the vorbis stream - - extern int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output); - // decode the next frame and return the number of samples. the number of - // channels returned are stored in *channels (which can be NULL--it is always - // the same as the number of channels reported by get_info). *output will - // contain an array of float* buffers, one per channel. These outputs will - // be overwritten on the next call to stb_vorbis_get_frame_*. - // - // You generally should not intermix calls to stb_vorbis_get_frame_*() - // and stb_vorbis_get_samples_*(), since the latter calls the former. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts); - extern int stb_vorbis_get_frame_short (stb_vorbis *f, int num_c, short **buffer, int num_samples); -#endif - // decode the next frame and return the number of samples per channel. the - // data is coerced to the number of channels you request according to the - // channel coercion rules (see below). You must pass in the size of your - // buffer(s) so that stb_vorbis will not overwrite the end of the buffer. - // The maximum buffer size needed can be gotten from get_info(); however, - // the Vorbis I specification implies an absolute maximum of 4096 samples - // per channel. Note that for interleaved data, you pass in the number of - // shorts (the size of your array), but the return value is the number of - // samples per channel, not the total number of samples. - - // Channel coercion rules: - // Let M be the number of channels requested, and N the number of channels present, - // and Cn be the nth channel; let stereo L be the sum of all L and center channels, - // and stereo R be the sum of all R and center channels (channel assignment from the - // vorbis spec). - // M N output - // 1 k sum(Ck) for all k - // 2 * stereo L, stereo R - // k l k > l, the first l channels, then 0s - // k l k <= l, the first k channels - // Note that this is not _good_ surround etc. mixing at all! It's just so - // you get something useful. - - extern int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats); - extern int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples); - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. DOES NOT APPLY THE COERCION RULES. - // Returns the number of samples stored per channel; it may be less than requested - // at the end of the file. If there are no more samples in the file, returns 0. - -#ifndef STB_VORBIS_NO_INTEGER_CONVERSION - extern int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts); - extern int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int num_samples); -#endif - // gets num_samples samples, not necessarily on a frame boundary--this requires - // buffering so you have to supply the buffers. Applies the coercion rules above - // to produce 'channels' channels. Returns the number of samples stored per channel; - // it may be less than requested at the end of the file. If there are no more - // samples in the file, returns 0. - -#endif - - //////// ERROR CODES - - enum STBVorbisError - { - VORBIS__no_error, - - VORBIS_need_more_data=1, // not a real error - - VORBIS_invalid_api_mixing, // can't mix API modes - VORBIS_outofmem, // not enough memory - VORBIS_feature_not_supported, // uses floor 0 - VORBIS_too_many_channels, // STB_VORBIS_MAX_CHANNELS is too small - VORBIS_file_open_failure, // fopen() failed - VORBIS_seek_without_length, // can't seek in unknown-length file - - VORBIS_unexpected_eof=10, // file is truncated? - VORBIS_seek_invalid, // seek past EOF - - // decoding errors (corrupt/invalid stream) -- you probably - // don't care about the exact details of these - - // vorbis errors: - VORBIS_invalid_setup=20, - VORBIS_invalid_stream, - - // ogg errors: - VORBIS_missing_capture_pattern=30, - VORBIS_invalid_stream_structure_version, - VORBIS_continued_packet_flag_invalid, - VORBIS_incorrect_stream_serial_number, - VORBIS_invalid_first_page, - VORBIS_bad_packet_type, - VORBIS_cant_find_last_page, - VORBIS_seek_failed, - }; - - -#ifdef __cplusplus -} -#endif - -#endif // STB_VORBIS_INCLUDE_STB_VORBIS_H -// -// HEADER ENDS HERE -// -////////////////////////////////////////////////////////////////////////////// diff --git a/ofxMaxim/ofxMaxim/src/ofxMaxim.h b/ofxMaxim/ofxMaxim/src/ofxMaxim.h deleted file mode 100644 index e902f14..0000000 --- a/ofxMaxim/ofxMaxim/src/ofxMaxim.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * maximilian - * platform independent synthesis library using portaudio or rtaudio - * - * Created by Mick Grierson on 29/12/2009. - * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. - * Thanks to the Goldsmiths Creative Computing Team. - * Special thanks to Arturo Castro for the PortAudio implementation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#ifndef _OFMAXIM_H -#define _OFMAXIM_H - -#include "maximilian.h" -#include "maxiFFT.h" -#include "maxiGrains.h" -#include "maxiMFCC.h" -#include "maxiBark.h" - - -typedef maxiMix ofxMaxiMix; -typedef maxiOsc ofxMaxiOsc; -typedef maxiEnvelope ofxMaxiEnvelope; -typedef maxiDelayline ofxMaxiDelayline; -typedef maxiFilter ofxMaxiFilter; -typedef maxiSample ofxMaxiSample; -typedef maxiFFT ofxMaxiFFT; -typedef maxiIFFT ofxMaxiIFFT; -typedef maxiFFTOctaveAnalyzer ofxMaxiFFTOctaveAnalyzer; -typedef maxiSettings ofxMaxiSettings; -typedef maxiMFCC ofxMaxiMFCC; - - -//typedef maxiSignal vector; -// -//class maxiBase { -// virtual maxiSignal play() = {}; -//}; -// -//class ofMaxiSine : public maxiBase { -// maxiOsc osc; -// double freq; -// -// void update(double freq) { -// freq = freq; -// } -// void play() { -// osc.sine(freq); -// } -//} -// -// -//class maxiNoise : public maxiBase { -// maxiBase* update() { -// //do something? -// }; -// -// double play() { -// return rand() / (float)RAND_MAX; -// } -//}; -// -//class maxiAnotherUGen : public maxiBase { -// maxiBase* update(double param1, bool param2); -//}; -// -//class maxiYetAnotherUGen : public maxiBase { -// maxiBase* update(int something, float somethingElse); -//}; -// -//void maxiProcess(maxiSignal &signal, maxiBase *ugen) { -// double val = ugen->play(); -// for(int i=0; i < signal.size(); i++) { -// signal[i] = val; -// } -//} -// -//void maxiBlock(maxiSignal &signal, maxiBase *ugen) { -// for (int i=0; i < 64; i++) { -// maxiProcess(signal, ugen); -// } -//} -// -//typedef maxiUGens vector -// -//maxiNoise ugen1; -//maxiAnotherUGen ugen2; -//maxiUGens ugen1 = createUGens(maxiNoise, 2); -// -//maxiSignal sig(2); -//maxiProcess(sig, ugen1.update()); -//maxiProcess(sig, ugen2.update(8.2, false)); -// -//ugen.update(2,3)->play(); - - -#endif -- cgit v1.3 From 00840fe549f867eb8e4ab0f94ec3b11dd1b38272 Mon Sep 17 00:00:00 2001 From: micknoise Date: Sat, 8 Aug 2015 21:37:11 +0100 Subject: Tested and Working in Visual Studio 2015. Commit! --- main.cpp | 34 +--- maximilian.cpp | 2 +- maximilian.h | 4 + .../maximilianTestWindowsVS2010.sln | 20 --- .../maximilianTestWindowsVS2010.vcxproj | 196 +++++++++++---------- .../maximilianTestWindowsVS2010.vcxproj.filters | 118 +++++++------ .../maximilianTestWindowsVS2015.sln | 20 +++ 7 files changed, 189 insertions(+), 205 deletions(-) delete mode 100644 maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.sln create mode 100644 maximilianTestWindowsVS2010/maximilianTestWindowsVS2015.sln (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 07795df..e3e50cb 100755 --- a/main.cpp +++ b/main.cpp @@ -1,5 +1,4 @@ #include "maximilian.h" -#include "libs/maxim.h" //This shows how to use maximilian to build a polyphonic synth. @@ -17,27 +16,9 @@ int currentCount,lastCount,voice=0;//these values are used to check if we have a double VCO1out[6],VCO2out[6],LFO1out[6],LFO2out[6],VCFout[6],ADSRout[6],mix,pitch[6]; -maxiFFTOctaveAnalyzer octo; -int nAverages; -float *ifftOutput; -int ifftSize; - -maxiIFFT ifft; -maxiFFT mfft; -int fftSize; -int bins, dataSize; - void setup() {//some inits - fftSize = 1024; - mfft.setup(fftSize, 1024, 256); - ifft.setup(fftSize, 1024, 256); - - - nAverages = 12; - octo.setup(44100, fftSize/2, nAverages); - for (int i=0;i<6;i++) { ADSR[i].setAttack(0); @@ -66,13 +47,6 @@ void play(double *output) { pitch[voice]=voice+1; voice++; - lastCount=0; - cout << mfft.spectralFlatness() << ", " << mfft.spectralCentroid() << endl; - - for (int i=0; i #include "math.h" +#ifdef _WIN32 || _WIN64 +#include +#endif + using namespace std; #ifndef PI #define PI 3.1415926535897932384626433832795 diff --git a/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.sln b/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.sln deleted file mode 100644 index 9a258d6..0000000 --- a/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maximilianTestWindowsVS2010", "maximilianTestWindowsVS2010\maximilianTestWindowsVS2010.vcxproj", "{599B9B87-ABE8-4096-A0E7-A68775D8A284}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Debug|Win32.ActiveCfg = Debug|Win32 - {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Debug|Win32.Build.0 = Debug|Win32 - {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Release|Win32.ActiveCfg = Release|Win32 - {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj b/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj index 54a6575..896dfc4 100644 --- a/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj +++ b/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj @@ -1,96 +1,102 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {599B9B87-ABE8-4096-A0E7-A68775D8A284} - Win32Proj - maximilianTestWindowsVS2010 - - - - Application - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - NotUsing - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;__WINDOWS_DS__;%(PreprocessorDefinitions) - - - Console - true - DSound.lib;%(AdditionalDependencies) - - - - - Level3 - Use - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - true - true - true - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Win32 + + + Release + Win32 + + + + {599B9B87-ABE8-4096-A0E7-A68775D8A284} + Win32Proj + maximilianTestWindowsVS2010 + 8.1 + maximilianTestWindowsVS2015 + + + + Application + true + Unicode + v140 + + + Application + false + true + Unicode + + + + + + + + + + + + + true + + + false + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;__WINDOWS_DS__;%(PreprocessorDefinitions) + C:\Users\dev\Documents\GitHubVisualStudio\Maximilian\libs;%(AdditionalIncludeDirectories) + + + Console + true + DSound.lib;%(AdditionalDependencies) + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj.filters b/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj.filters index 6f24e7e..c88fc8b 100644 --- a/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj.filters +++ b/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010/maximilianTestWindowsVS2010.vcxproj.filters @@ -1,57 +1,63 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - - - - Header Files - - - Header Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + + + + Header Files + + + Header Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Header Files + + + Source Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + \ No newline at end of file diff --git a/maximilianTestWindowsVS2010/maximilianTestWindowsVS2015.sln b/maximilianTestWindowsVS2010/maximilianTestWindowsVS2015.sln new file mode 100644 index 0000000..9a258d6 --- /dev/null +++ b/maximilianTestWindowsVS2010/maximilianTestWindowsVS2015.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maximilianTestWindowsVS2010", "maximilianTestWindowsVS2010\maximilianTestWindowsVS2010.vcxproj", "{599B9B87-ABE8-4096-A0E7-A68775D8A284}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Debug|Win32.ActiveCfg = Debug|Win32 + {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Debug|Win32.Build.0 = Debug|Win32 + {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Release|Win32.ActiveCfg = Release|Win32 + {599B9B87-ABE8-4096-A0E7-A68775D8A284}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal -- cgit v1.3 From 5b37d13616c303538a61b520e6930b322e4ff378 Mon Sep 17 00:00:00 2001 From: mick grierson Date: Thu, 27 Aug 2015 13:33:41 +0100 Subject: redoing tutorials a bit --- main.cpp | 112 +++++++++------------ maximilian.cpp | 1 + .../UserInterfaceState.xcuserstate | Bin 89334 -> 60853 bytes maximilian_examples/1.TestTone.cpp | 13 ++- maximilian_examples/10.Filters.cpp | 59 +++++++---- maximilian_examples/11.Mixing.cpp | 40 ++------ maximilian_examples/14.monosynth.cpp | 2 +- maximilian_examples/15.polysynth.cpp | 6 +- maximilian_examples/2.TwoTones.cpp | 11 +- maximilian_examples/3.AM1.cpp | 16 ++- maximilian_examples/4.AM2.cpp | 18 +++- maximilian_examples/5.FM1.cpp | 28 +++++- maximilian_examples/6.FM2.cpp | 10 +- maximilian_examples/7.Counting.cpp | 26 ++++- maximilian_examples/9.Envelopes.cpp | 60 +++++++---- 15 files changed, 230 insertions(+), 172 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index e3e50cb..5cfdb74 100755 --- a/main.cpp +++ b/main.cpp @@ -1,81 +1,65 @@ #include "maximilian.h" -//This shows how to use maximilian to build a polyphonic synth. - -//These are the synthesiser bits -maxiOsc VCO1[6],VCO2[6],LFO1[6],LFO2[6]; -maxiFilter VCF[6]; -maxiEnv ADSR[6]; - -//This is a bunch of control signals so that we can hear something - -maxiOsc timer;//this is the metronome -int currentCount,lastCount,voice=0;//these values are used to check if we have a new beat this sample - -//and these are some variables we can use to pass stuff around - -double VCO1out[6],VCO2out[6],LFO1out[6],LFO2out[6],VCFout[6],ADSRout[6],mix,pitch[6]; - +double outputs[2],moreoutputs[2]; //some track outputs +double filtered,patch1,patch2,tune,delayed, +mixed,ramp,filtered2,noise,pan,more;//a bunch of patch cables +int beat,lastbeat,morebeats,lastmorebeats;//some rhythmic elemts +double env[4]={200,0,0,50};//the kick drum pitch envelope data +double env2[6]={10000,0,9000,5,0,5};//the hi hat pitch envelope dat +double melody[14]={600,0,0,650,0,0,400,0,0,425,0,300,0,315};//the melody data +int rhythm1[16]={1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0};//another way of doing a rhythm +maxiOsc a,c,d,e,g,h,i,j,squarewave;//some oscillators +maxiEnvelope b,f;//two envelopers +maxiDelayline delay;//a delay line +maxiFilter myfilter,antia;// a FAT filter +maxiMix mymix,bobbins;//some panning busses +maxiSample beats; void setup() {//some inits + b.amplitude=env[0];//starting value for envelope b + f.amplitude=env2[0];//same for f + beats.load("/Users/michaelgrierson/Documents/workspace/Maximilian/beat2.wav");//put a path to a soundfile here. Wav format only. - for (int i=0;i<6;i++) { - - ADSR[i].setAttack(0); - ADSR[i].setDecay(200); - ADSR[i].setSustain(0.2); - ADSR[i].setRelease(2000); - - } } -void play(double *output) { - - mix=0;//we're adding up the samples each update and it makes sense to clear them each time first. - - //so this first bit is just a basic metronome so we can hear what we're doing. +void play(double *output) {//this is where the magic happens. Very slow magic. + beat=((int) c.phasor(8));//this oscillator is now a counter + morebeats=((int) e.phasor(0.5,0,16));//so is this one + patch1=b.line(4,env);//here's envelope b + patch2=f.line(6,env2);//here's envelop f + tune=g.saw(melody[morebeats]*0.25);//here's the melody, which occurs at certain times - currentCount=(int)timer.phasor(8);//this sets up a metronome that ticks 8 times a second - - if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound - - if (voice==6) { - voice=0; - } + if (lastbeat!=beat) {//this is a nice sample and hold routine for the kick drum + f.trigger(0, env2[0]);//it runs off the hi hat. - ADSR[voice].trigger=1;//trigger the envelope from the start - pitch[voice]=voice+1; - voice++; + if (rhythm1[morebeats]==1) { + b.trigger(0, env[0]);//and gets played when it's time. + } } + lastbeat=beat;//let's start again. It's a loop + ramp=i.phasor(0.5,1,2048);//create a basic ramp + pan=j.phasor(0.25);//some panning from a phasor (object is equal power) + delayed=delay.dl(tune, ramp, 0.9)*0.125;//the delay line + //then it all gets mixed. + mixed=((a.sinewave(patch1)*0.5)+((d.saw(patch2))*0.125)+(delayed*0.3)*0.5); + //add some noise + noise=i.noise()*0.25; + filtered2=beats.play(1*(1./16.),0,beats.length); + // filtered2=beats.play(-1); - //and this is where we build the synth + more=squarewave.pulse(melody[morebeats],pan)*0.05; + //filter the noise! this lores takes values between 1 and 100 for res, and freq for cutoff. + filtered=myfilter.lores(filtered2, 1+(pan*10000), 10)*0.4; - for (int i=0; i<6; i++) { - - - ADSRout[i]=ADSR[i].adsr(1.,ADSR[i].trigger);//our ADSR env is passed a constant signal of 1 to generate the transient. - - LFO1out[i]=LFO1[i].sinebuf(0.2);//this lfo is a sinewave at 0.2 hz - - VCO1out[i]=VCO1[i].pulse(55*pitch[i],0.6);//here's VCO1. it's a pulse wave at 55 hz, with a pulse width of 0.6 - VCO2out[i]=VCO2[i].pulse((110*pitch[i])+LFO1out[i],0.2);//here's VCO2. it's a pulse wave at 110hz with LFO modulation on the frequency, and width of 0.2 - - - VCFout[i]=VCF[i].lores((VCO1out[i]+VCO2out[i])*0.5, 250+((pitch[i]+LFO1out[i])*1000), 10);//now we stick the VCO's into the VCF, using the ADSR as the filter cutoff - - mix+=VCFout[i]*ADSRout[i]/6;//finally we add the ADSR as an amplitude modulator - - - } + //now we send the sounds to some stereo busses. + mymix.stereo(more+mixed+delayed, outputs, 1-pan); + bobbins.stereo(filtered, moreoutputs, pan);//invert the pan - output[0]=mix*0.5;//left channel - output[1]=mix*0.5;//right channel - + //mixing - // This just sends note-off messages. - for (int i=0; i<6; i++) { - ADSR[i].trigger=0; - } + output[0]=outputs[0]+moreoutputs[0]/10;//stick it in the out!! + output[1]=outputs[1]+moreoutputs[1]/10; } + diff --git a/maximilian.cpp b/maximilian.cpp index 7ba4978..1a79129 100644 --- a/maximilian.cpp +++ b/maximilian.cpp @@ -432,6 +432,7 @@ double maxiFilter::lopass(double input, double cutoff) { outputs[0]=output; return(output); } + //as above double maxiFilter::hipass(double input, double cutoff) { output=input-(outputs[0] + cutoff*(input-outputs[0])); diff --git a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate index 8959558..ec304f1 100644 Binary files a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate and b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/maximilian_examples/1.TestTone.cpp b/maximilian_examples/1.TestTone.cpp index 77783b4..b8da07c 100755 --- a/maximilian_examples/1.TestTone.cpp +++ b/maximilian_examples/1.TestTone.cpp @@ -1,14 +1,19 @@ +//This example shows how to create one of the most fundamental building blocks in computer audio. The sine wave. +//The sine wave is an oscillator - it oscillates back and forth between two values in a particular shape. + + #include "maximilian.h" maxiOsc mySine;//let's create an oscillator and give it a name. void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) {//this is where the magic happens. Very slow magic. - - *output=mySine.sinewave(440);//simple as that! - + + //output[0] is the left output. output[1] is the right output + output[0]=mySine.sinewave(440);//simple as that! + } diff --git a/maximilian_examples/10.Filters.cpp b/maximilian_examples/10.Filters.cpp index b80b512..41e779a 100755 --- a/maximilian_examples/10.Filters.cpp +++ b/maximilian_examples/10.Filters.cpp @@ -1,33 +1,48 @@ +// Here is an example of a Maximilian filter being used. +// There are a number of filters in Maximilian, including low and high pass filters. +// There are also resonant filters and a state variable filter. + + #include "maximilian.h" maxiOsc myCounter,mySwitchableOsc;// int CurrentCount;// -double myOscOutput,myFilteredOutput;// -double myEnvelopeData[6] = {500,0,1000,500,0,500};//this data will be used to make an envelope. Value and time to value in ms. -maxiEnvelope myEnvelope; +double myOscOutput,myCurrentVolume, myFilteredOutput;// +maxiEnv myEnvelope; maxiFilter myFilter; void setup() {//some inits - myEnvelope.amplitude=myEnvelopeData[0]; //initialise the envelope + + //Timing is in ms + + myEnvelope.setAttack(0); + myEnvelope.setDecay(1); // Needs to be at least 1 + myEnvelope.setSustain(1); + myEnvelope.setRelease(1000); + } void play(double *output) { - - CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - - if (CurrentCount<5)//simple if statement - - myOscOutput=mySwitchableOsc.square(CurrentCount*100); - - else if (CurrentCount>=5)//and the 'else' bit. - - myOscOutput=mySwitchableOsc.saw(CurrentCount*50);//one osc object can produce whichever waveform you want. - - if (CurrentCount==1) - - myEnvelope.trigger(0,myEnvelopeData[0]); //trigger the envelope - - myFilteredOutput=myFilter.lores(myOscOutput,(myEnvelope.line(6, myEnvelopeData)),10);//lores takes an audio input, a frequency and a resonance factor (1-100) - - *output=myFilteredOutput;//point me at your speakers and fire. + + myCurrentVolume=myEnvelope.adsr(1.,myEnvelope.trigger); + + CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. + + // You'll notice that these 'if' statements don't require curly braces "{}". + // This is because there is only one outcome if the statement is true. + + if (CurrentCount==1) myEnvelope.trigger=1; //trigger the envelope + + else myEnvelope.trigger=0;//release the envelope to make it fade out only if it's been triggered + + myOscOutput=mySwitchableOsc.sawn(100); + + // Below, the oscilator signals are being passed through a low pass filter. + // The middle input is the filter cutoff. It is being controlled by the envelope. + // Notice that the envelope is being amplified so that it scales between 0 and 1000. + // The last input is the resonance. + myFilteredOutput=myFilter.lores(myOscOutput,myCurrentVolume*1000,10); + + output[0]=myFilteredOutput;//left speaker + } diff --git a/maximilian_examples/11.Mixing.cpp b/maximilian_examples/11.Mixing.cpp index 6fd7a34..8f6e33c 100755 --- a/maximilian_examples/11.Mixing.cpp +++ b/maximilian_examples/11.Mixing.cpp @@ -1,40 +1,18 @@ #include "maximilian.h" -maxiOsc myCounter,mySwitchableOsc,myAutoPanner;// -int CurrentCount;// -double myOscOutput,myFilteredOutput,myPanPosition;// -double myStereoOutput[2];// we need an output for each channel. -double myEnvelopeData[6] = {500,0,1000,500,0,500};//this data will be used to make an envelope. Value and time to value in ms. -maxiEnvelope myEnvelope; -maxiFilter myFilter; +maxiOsc myOsc,myAutoPanner;// +double myStereoOutput[2]; maxiMix myOutputs;//this is the stereo mixer channel. void setup() {//some inits - myEnvelope.amplitude=myEnvelopeData[0]; //initialise the envelope + } void play(double *output) { - - CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - - if (CurrentCount<5)//simple if statement - - myOscOutput=mySwitchableOsc.square(CurrentCount*100); - - else if (CurrentCount>=5)//and the 'else' bit. - - myOscOutput=mySwitchableOsc.saw(CurrentCount*50);//one osc object can produce whichever waveform you want. - - if (CurrentCount==1) - - myEnvelope.trigger(0,myEnvelopeData[0]); //trigger the envelope - - myFilteredOutput=myFilter.lores(myOscOutput,(myEnvelope.line(6, myEnvelopeData)),10);//lores takes an audio input, a frequency and a resonance factor (1-100) - - myPanPosition=myAutoPanner.sinewave(1); - - myOutputs.stereo(myFilteredOutput,myStereoOutput,myPanPosition);//Stereo, Quad or 8 Channel. Specify the input to be mixed, the output[numberofchannels], and the pan (0-1,equal power). - output[0]=myStereoOutput[0];//When working with mixing, you need to specify the outputs explicityly - output[1]=myStereoOutput[1];// - + + + myOutputs.stereo(myOsc.noise(),myStereoOutput,(myAutoPanner.sinewave(1)+1)/2);//Stereo, Quad or 8 Channel. Specify the input to be mixed, the output[numberofchannels], and the pan (0-1,equal power). + output[0]=myStereoOutput[0];//When working with mixing, you need to specify the outputs explicitly + output[1]=myStereoOutput[1];// + } diff --git a/maximilian_examples/14.monosynth.cpp b/maximilian_examples/14.monosynth.cpp index 897c41a..265e3e4 100755 --- a/maximilian_examples/14.monosynth.cpp +++ b/maximilian_examples/14.monosynth.cpp @@ -42,7 +42,7 @@ void play(double *output) { //and this is where we build the synth - ADSRout=ADSR.adsr(1.0,ADSR.trigger);//our ADSR env has 8 value/time pairs. + ADSRout=ADSR.adsr(1.0,ADSR.trigger); LFO1out=LFO1.sinebuf(0.2);//this lfo is a sinewave at 0.2 hz diff --git a/maximilian_examples/15.polysynth.cpp b/maximilian_examples/15.polysynth.cpp index 3e278cb..fefc261 100644 --- a/maximilian_examples/15.polysynth.cpp +++ b/maximilian_examples/15.polysynth.cpp @@ -47,8 +47,6 @@ void play(double *output) { pitch[voice]=voice+1; voice++; - lastCount=0; - } //and this is where we build the synth @@ -56,7 +54,7 @@ void play(double *output) { for (int i=0; i<6; i++) { - ADSRout[i]=ADSR[i].adsr(1.,ADSR[i].trigger);//our ADSR env has 8 value/time pairs. + ADSRout[i]=ADSR[i].adsr(1.,ADSR[i].trigger);//our ADSR env is passed a constant signal of 1 to generate the transient. LFO1out[i]=LFO1[i].sinebuf(0.2);//this lfo is a sinewave at 0.2 hz @@ -74,6 +72,8 @@ void play(double *output) { output[0]=mix*0.5;//left channel output[1]=mix*0.5;//right channel + + // This just sends note-off messages. for (int i=0; i<6; i++) { ADSR[i].trigger=0; } diff --git a/maximilian_examples/2.TwoTones.cpp b/maximilian_examples/2.TwoTones.cpp index 4e22994..fb29288 100755 --- a/maximilian_examples/2.TwoTones.cpp +++ b/maximilian_examples/2.TwoTones.cpp @@ -1,14 +1,17 @@ +//This examples shows another fundamental building block of digital audio - adding two sine waves together. When you add waves together they create a new wave whose amplitude at any time is computed by adding the current amplitudes of each wave together. So, if one wave has an amplitude of 1, and the other has an amplitude of 1, the new wave will be equal to 2 at that point in time. Whereas, later, if one wave has an amplitude of -1, and the other has an amplitude of 1, the new wave - the one you hear - will equal 0. This can create some interesting effects, including 'beating', when the waves interact to create a single wave that fades up and down based on the frequencies of the two interacting waves. The frequency of the 'beating' i.e. the fading in and out, is equal to the difference in frequency between the two waves. + #include "maximilian.h" maxiOsc mySine,myOtherSine;//Two oscillators with names. void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) {//this is where the magic happens. Very slow magic. - - *output=mySine.sinewave(440)+myOtherSine.sinewave(441);//these two sines will beat together. They're now a bit too loud though.. - + + //output[0] is the left output. output[1] is the right output + output[0]=mySine.sinewave(440)+myOtherSine.sinewave(441);//these two sines will beat together. They're now a bit too loud though.. + } diff --git a/maximilian_examples/3.AM1.cpp b/maximilian_examples/3.AM1.cpp index ec96c7f..384a7f5 100755 --- a/maximilian_examples/3.AM1.cpp +++ b/maximilian_examples/3.AM1.cpp @@ -1,15 +1,21 @@ #include "maximilian.h" -//This shows how to use maximilian to do basic amplitude modulation +//This shows how to use maximilian to do basic amplitude modulation. Amplitude modulation is when you multiply waves together. In maximilian you just use the * inbetween the two waveforms. maxiOsc mySine,myOtherSine;//Two oscillators. They can be called anything. They can be any of the available waveforms. These ones will be sinewaves void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) { - - *output=mySine.sinewave(440)*myOtherSine.sinewave(10); - + + // This form of amplitude modulation is straightforward multiplication of two waveforms. + // Notice that the maths is different to when you add waves. + // The waves aren't 'beating'. Instead, the amplitude of one is modulating the amplitude of the other + // Remember that the sine wave has positive and negative sections as it oscillates. + // When you multiply something by -1, its phase is inverted but it retains its amplitude. + // So you hear 2 waves per second, not 1, even though the frequency is 1. + output[0]=mySine.sinewave(440)*myOtherSine.sinewave(1); + } diff --git a/maximilian_examples/4.AM2.cpp b/maximilian_examples/4.AM2.cpp index 4e783d3..7e80f38 100755 --- a/maximilian_examples/4.AM2.cpp +++ b/maximilian_examples/4.AM2.cpp @@ -1,16 +1,24 @@ #include "maximilian.h" -//This shows how to use maximilian to do basic amplitude modulation +//This shows how to use maximilian to do basic amplitude modulation. +//It also shows what happens when you modulate waves with waves that have frequencies over 20 hz. +//You start to get interesting effects. maxiOsc mySine,myOtherSine,myPhasor;//Three oscillators. They can be called anything. They can be any of the available waveforms. void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) { - - *output=mySine.sinewave(440)*myOtherSine.sinewave(myPhasor.phasor(0.1,0,440)); - + + //Using the phasor we can create a ramp, and use this ramp to set the frequency of one of the waves. + //When the frequency of the lower waveform passes over the threshold of 20hz, we start to hear two new waveforms. + //The frequency of the first new wave is the sum of the two original waves. + //The frequency of the second new wave is the difference of the two original waves. + //So you hear two new waves, one going up, one going down. + + output[0]=mySine.sinewave(440)*myOtherSine.sinewave(myPhasor.phasor(0.01,0,440)); + } diff --git a/maximilian_examples/5.FM1.cpp b/maximilian_examples/5.FM1.cpp index c734dcf..14f6593 100755 --- a/maximilian_examples/5.FM1.cpp +++ b/maximilian_examples/5.FM1.cpp @@ -1,14 +1,34 @@ +// One way of thinking about FM synthesis is to see it as vibrato. +// You make a pitch, then vary it up and down at some rate. +// You can change the speed of the pitch variation (modulation frequency), and also the amount of variation (modulation index). +// In FM, usually only one of the waveforms - the carrier that provides the initial pitch - is sent to the output. +// The frequency of the the carrier wave is continually adjusted at a rate equal to the frequency of the second wave (the modulator). +// So at any given point in time, the frequency of the carrier can increase by an amount equal to the current amp of the modulator. +// This has some interesting effects. + #include "maximilian.h" maxiOsc mySine,myOtherSine;//Two oscillators void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) { - - *output=mySine.sinewave(myOtherSine.sinewave(1)*440); - + + // In this example, the 'myOtherSine.sinewave' is at an amplitude of 1, it's original amplitude. + // This is pretty simple and not too useful. + //output[0]=mySine.sinewave(440*myOtherSine.sinewave(1)); + + // Perhaps you should comment out the above line and uncomment the below one instead + // It shows how the frequency of the carrier is altered by ADDING a second waveform to its frequency value. + // The carrier frequency is 440, and the modulation frequency is 1. + // It also shows how the modulation index works. In this case the modulation index is 100 + // Try adjusting the modolation index. Also, try altering the modulation frequency. + output[0]=mySine.sinewave(440+(myOtherSine.sinewave(1)*100)); + } + +// In complex FM systems you can have lots of modulators stacked together in interesting ways, and theoretically this can make any sound. +// John Chowning is the guy you probably want to talk to about that. \ No newline at end of file diff --git a/maximilian_examples/6.FM2.cpp b/maximilian_examples/6.FM2.cpp index d9acd72..d9eddf5 100755 --- a/maximilian_examples/6.FM2.cpp +++ b/maximilian_examples/6.FM2.cpp @@ -1,14 +1,16 @@ +// Nothing much to say about this other than I like it. + #include "maximilian.h" maxiOsc mySine,myOtherSine,myLastSine,myPhasor;//Three oscillators void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) { - - *output=mySine.sinewave(myOtherSine.sinewave(myLastSine.sinewave(0.1)*30)*440);//awesome bassline - + + output[0]=mySine.sinewave(myOtherSine.sinewave(myLastSine.sinewave(0.1)*30)*440);//awesome bassline + } diff --git a/maximilian_examples/7.Counting.cpp b/maximilian_examples/7.Counting.cpp index 7de2f0e..e620b3a 100755 --- a/maximilian_examples/7.Counting.cpp +++ b/maximilian_examples/7.Counting.cpp @@ -1,3 +1,10 @@ +// This example shows how you can create a basic counter with a phasor. +// A phasor oscillator can create a ramp between any two values. +// It takes three inputs - frequency, start value and stop value. +// These are all double precision floats, so it's a continuous slide. +// If you write it into an integer, it will round it off for you. +// This creates a bunch of steps. + #include "maximilian.h" maxiOsc myCounter,mySquare;//these oscillators will help us count and play sound @@ -5,11 +12,22 @@ int CurrentCount;//we're going to put the current count in this variable so that void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) { - - CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - *output=mySquare.square(CurrentCount*100); + + // Here you can see that CurrentCount is an int. It's taking the continuous output of the phasor and convering it. + // You don't need to explicityly 'cast' (i.e. change) the value from a float to an int. + // It happens automagically in these cases. + + // Once every second, CurrentCount counts from 1 until it gets to 9, then resets itself. + // When it reaches 9 it resets, so the values you get are 1-8. + + CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. + + // If we multiply the output of CurrentCount by 100, we get 100,200,300,400,500,600,700,800 in that order. + // These become the frequency of the oscillator. + // In this case, the oscillator is an antialiased sawtooth wave. Yum. + output[0]=mySquare.sawn(CurrentCount*100); } diff --git a/maximilian_examples/9.Envelopes.cpp b/maximilian_examples/9.Envelopes.cpp index 806e14f..2cf74f6 100755 --- a/maximilian_examples/9.Envelopes.cpp +++ b/maximilian_examples/9.Envelopes.cpp @@ -1,33 +1,51 @@ +//Envelopes allow you to shape the sound. The basic idea is that a sound has the following shape +// Attack: This is how long it takes to fade up to maximum volume +// Decay: This is how long it takes to reach the sustain level. +// Sustain: This is the sustain level +// Release: This is how long it takes to fade out. + #include "maximilian.h" maxiOsc myCounter,mySwitchableOsc;// int CurrentCount;// double myOscOutput,myCurrentVolume;// -double myEnvelopeData[4] = {1,0,0,500};//this data will be used to make an envelope. Value and time to value in ms. -maxiEnvelope myEnvelope; +maxiEnv myEnvelope; void setup() {//some inits - myEnvelope.amplitude=myEnvelopeData[0]; //initialise the envelope + + //Timing is in ms + + myEnvelope.setAttack(0); + myEnvelope.setDecay(1); // Needs to be at least 1 + myEnvelope.setSustain(1); + myEnvelope.setRelease(1000); + } void play(double *output) { - - myCurrentVolume=myEnvelope.line(4,myEnvelopeData); - - CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - - if (CurrentCount<5)//simple if statement - - myOscOutput=mySwitchableOsc.square(CurrentCount*100); - - else if (CurrentCount>=5)//and the 'else' bit. - - myOscOutput=mySwitchableOsc.sinewave(CurrentCount*50);//one osc object can produce whichever waveform you want. - - if (CurrentCount==1) - - myEnvelope.trigger(0,myEnvelopeData[0]); //trigger the envelope - - *output=myOscOutput*myCurrentVolume;//point me at your speakers and fire. + + //notice that we feed in a value of 1. to create an envelope shape we can apply later. + myCurrentVolume=myEnvelope.adsr(1.,myEnvelope.trigger); + + CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. + + // You'll notice that these 'if' statements don't require curly braces "{}". + // This is because there is only one outcome if the statement is true. + + if (CurrentCount==1) myEnvelope.trigger=1; //trigger the envelope + + else myEnvelope.trigger=0;//release the envelope to make it fade out only if it's been triggered + + if (CurrentCount<5) + + myOscOutput=mySwitchableOsc.sawn(CurrentCount*100); + + else if (CurrentCount>=5)//and the 'else' bit. + + myOscOutput=mySwitchableOsc.sinewave(CurrentCount*50);//one osc object can produce whichever waveform you want. + + + output[0]=myOscOutput*myCurrentVolume;//left speaker + } -- cgit v1.3 From c814dd99dc3c347914c2057b77d1390ba41cfae5 Mon Sep 17 00:00:00 2001 From: mick grierson Date: Thu, 27 Aug 2015 13:35:02 +0100 Subject: main.cpp contains new envelope example --- main.cpp | 88 +++++++++------------ .../UserInterfaceState.xcuserstate | Bin 60853 -> 60691 bytes 2 files changed, 37 insertions(+), 51 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 5cfdb74..2cf74f6 100755 --- a/main.cpp +++ b/main.cpp @@ -1,65 +1,51 @@ +//Envelopes allow you to shape the sound. The basic idea is that a sound has the following shape +// Attack: This is how long it takes to fade up to maximum volume +// Decay: This is how long it takes to reach the sustain level. +// Sustain: This is the sustain level +// Release: This is how long it takes to fade out. + #include "maximilian.h" -double outputs[2],moreoutputs[2]; //some track outputs -double filtered,patch1,patch2,tune,delayed, -mixed,ramp,filtered2,noise,pan,more;//a bunch of patch cables -int beat,lastbeat,morebeats,lastmorebeats;//some rhythmic elemts -double env[4]={200,0,0,50};//the kick drum pitch envelope data -double env2[6]={10000,0,9000,5,0,5};//the hi hat pitch envelope dat -double melody[14]={600,0,0,650,0,0,400,0,0,425,0,300,0,315};//the melody data -int rhythm1[16]={1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0};//another way of doing a rhythm -maxiOsc a,c,d,e,g,h,i,j,squarewave;//some oscillators -maxiEnvelope b,f;//two envelopers -maxiDelayline delay;//a delay line -maxiFilter myfilter,antia;// a FAT filter -maxiMix mymix,bobbins;//some panning busses -maxiSample beats; +maxiOsc myCounter,mySwitchableOsc;// +int CurrentCount;// +double myOscOutput,myCurrentVolume;// +maxiEnv myEnvelope; + void setup() {//some inits - b.amplitude=env[0];//starting value for envelope b - f.amplitude=env2[0];//same for f - beats.load("/Users/michaelgrierson/Documents/workspace/Maximilian/beat2.wav");//put a path to a soundfile here. Wav format only. + + //Timing is in ms + + myEnvelope.setAttack(0); + myEnvelope.setDecay(1); // Needs to be at least 1 + myEnvelope.setSustain(1); + myEnvelope.setRelease(1000); } -void play(double *output) {//this is where the magic happens. Very slow magic. - beat=((int) c.phasor(8));//this oscillator is now a counter - morebeats=((int) e.phasor(0.5,0,16));//so is this one - patch1=b.line(4,env);//here's envelope b - patch2=f.line(6,env2);//here's envelop f - tune=g.saw(melody[morebeats]*0.25);//here's the melody, which occurs at certain times +void play(double *output) { - if (lastbeat!=beat) {//this is a nice sample and hold routine for the kick drum - f.trigger(0, env2[0]);//it runs off the hi hat. - - - if (rhythm1[morebeats]==1) { - b.trigger(0, env[0]);//and gets played when it's time. - } - } - lastbeat=beat;//let's start again. It's a loop - ramp=i.phasor(0.5,1,2048);//create a basic ramp - pan=j.phasor(0.25);//some panning from a phasor (object is equal power) - delayed=delay.dl(tune, ramp, 0.9)*0.125;//the delay line - //then it all gets mixed. - mixed=((a.sinewave(patch1)*0.5)+((d.saw(patch2))*0.125)+(delayed*0.3)*0.5); - //add some noise - noise=i.noise()*0.25; - filtered2=beats.play(1*(1./16.),0,beats.length); - // filtered2=beats.play(-1); + //notice that we feed in a value of 1. to create an envelope shape we can apply later. + myCurrentVolume=myEnvelope.adsr(1.,myEnvelope.trigger); - more=squarewave.pulse(melody[morebeats],pan)*0.05; - //filter the noise! this lores takes values between 1 and 100 for res, and freq for cutoff. - filtered=myfilter.lores(filtered2, 1+(pan*10000), 10)*0.4; + CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - //now we send the sounds to some stereo busses. - mymix.stereo(more+mixed+delayed, outputs, 1-pan); - bobbins.stereo(filtered, moreoutputs, pan);//invert the pan + // You'll notice that these 'if' statements don't require curly braces "{}". + // This is because there is only one outcome if the statement is true. - //mixing + if (CurrentCount==1) myEnvelope.trigger=1; //trigger the envelope - output[0]=outputs[0]+moreoutputs[0]/10;//stick it in the out!! - output[1]=outputs[1]+moreoutputs[1]/10; + else myEnvelope.trigger=0;//release the envelope to make it fade out only if it's been triggered + + if (CurrentCount<5) + + myOscOutput=mySwitchableOsc.sawn(CurrentCount*100); + + else if (CurrentCount>=5)//and the 'else' bit. + + myOscOutput=mySwitchableOsc.sinewave(CurrentCount*50);//one osc object can produce whichever waveform you want. + + + output[0]=myOscOutput*myCurrentVolume;//left speaker } - diff --git a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate index ec304f1..eb5ae8d 100644 Binary files a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate and b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate differ -- cgit v1.3 From 5be3472f0f61d2e479f42759fed6fafd2a0e739a Mon Sep 17 00:00:00 2001 From: mick grierson Date: Tue, 22 Sep 2015 09:21:43 +0100 Subject: more work for kadenze mooc --- libs/maxiSynths.cpp | 534 +++ libs/maxiSynths.h | 187 + libs/maxim.h | 1 - main.cpp | 46 +- maximilian.cpp | 526 ++ maximilian.h | 169 +- maximilianTest.xcodeproj/project.pbxproj | 4 +- .../UserInterfaceState.xcuserstate | Bin 60691 -> 63022 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 56216 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 33060 bytes maximilian_examples/1.TestTone.cpp | 18 +- maximilian_examples/10.Filters.cpp | 1 + maximilian_examples/16.Replicant.cpp | 70 +- maximilian_examples/2.TwoTones.cpp | 3 +- maximilian_examples/3.AM1.cpp | 3 +- maximilian_examples/4.AM2.cpp | 1 + maximilian_examples/5.FM1.cpp | 3 +- maximilian_examples/6.FM2.cpp | 3 +- maximilian_examples/7.Counting.cpp | 33 - maximilian_examples/7.Counting1.cpp | 33 + maximilian_examples/8.Counting2.cpp | 41 +- maximilian_examples/8.Counting3.cpp | 28 + maximilian_examples/8.Counting4.cpp | 28 + maximilian_examples/9.Envelopes.cpp | 1 + maximilian_examples/arrays.cpp | 60 + .../OSX/emptyExample/Makefile | 13 + .../OSX/emptyExample/Project.xcconfig | 17 + .../Contents/Frameworks/GLUT.framework/GLUT | Bin 0 -> 603504 bytes .../Frameworks/GLUT.framework/Headers/copy.h | 18 + .../Frameworks/GLUT.framework/Headers/extrude.h | 96 + .../Frameworks/GLUT.framework/Headers/glsmap.h | 137 + .../Frameworks/GLUT.framework/Headers/glsmapint.h | 102 + .../Frameworks/GLUT.framework/Headers/glut.h | 648 +++ .../Frameworks/GLUT.framework/Headers/glutbitmap.h | 30 + .../Frameworks/GLUT.framework/Headers/glutf90.h | 90 + .../Frameworks/GLUT.framework/Headers/glutstroke.h | 42 + .../Frameworks/GLUT.framework/Headers/gutil.h | 89 + .../Frameworks/GLUT.framework/Headers/intersect.h | 391 ++ .../Frameworks/GLUT.framework/Headers/port.h | 298 ++ .../Frameworks/GLUT.framework/Headers/rot.h | 98 + .../Frameworks/GLUT.framework/Headers/segment.h | 98 + .../Frameworks/GLUT.framework/Headers/tube.h | 203 + .../Frameworks/GLUT.framework/Headers/tube_gc.h | 78 + .../Frameworks/GLUT.framework/Headers/vvector.h | 1339 ++++++ .../GLUT.framework/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../Resources/English.lproj/GLUT.nib/info.nib | 25 + .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../Frameworks/GLUT.framework/Resources/Info.plist | 24 + .../GLUT.framework/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../GLUT.framework/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../GLUT.framework/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../GLUT.framework/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../GLUT.framework/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../GLUT.framework/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../GLUT.framework/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../GLUT.framework/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../GLUT.framework/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../GLUT.framework/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../GLUT.framework/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../GLUT.framework/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../GLUT.framework/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../GLUT.framework/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../GLUT.framework/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../GLUT.framework/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../GLUT.framework/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../GLUT.framework/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../Frameworks/GLUT.framework/Versions/A/GLUT | Bin 0 -> 603504 bytes .../GLUT.framework/Versions/A/Headers/copy.h | 18 + .../GLUT.framework/Versions/A/Headers/extrude.h | 96 + .../GLUT.framework/Versions/A/Headers/glsmap.h | 137 + .../GLUT.framework/Versions/A/Headers/glsmapint.h | 102 + .../GLUT.framework/Versions/A/Headers/glut.h | 648 +++ .../GLUT.framework/Versions/A/Headers/glutbitmap.h | 30 + .../GLUT.framework/Versions/A/Headers/glutf90.h | 90 + .../GLUT.framework/Versions/A/Headers/glutstroke.h | 42 + .../GLUT.framework/Versions/A/Headers/gutil.h | 89 + .../GLUT.framework/Versions/A/Headers/intersect.h | 391 ++ .../GLUT.framework/Versions/A/Headers/port.h | 298 ++ .../GLUT.framework/Versions/A/Headers/rot.h | 98 + .../GLUT.framework/Versions/A/Headers/segment.h | 98 + .../GLUT.framework/Versions/A/Headers/tube.h | 203 + .../GLUT.framework/Versions/A/Headers/tube_gc.h | 78 + .../GLUT.framework/Versions/A/Headers/vvector.h | 1339 ++++++ .../Versions/A/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../A/Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../A/Resources/English.lproj/GLUT.nib/info.nib | 25 + .../A/Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../A/Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../A/Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../GLUT.framework/Versions/A/Resources/Info.plist | 24 + .../Versions/A/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../Versions/A/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../Versions/A/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../Versions/A/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../Versions/A/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../Versions/A/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../Versions/A/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../Versions/A/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../Versions/A/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../Versions/A/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../Versions/A/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../Versions/A/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../Versions/A/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../Versions/A/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/A/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../Versions/A/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../Versions/A/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../GLUT.framework/Versions/Current/GLUT | Bin 0 -> 603504 bytes .../GLUT.framework/Versions/Current/Headers/copy.h | 18 + .../Versions/Current/Headers/extrude.h | 96 + .../Versions/Current/Headers/glsmap.h | 137 + .../Versions/Current/Headers/glsmapint.h | 102 + .../GLUT.framework/Versions/Current/Headers/glut.h | 648 +++ .../Versions/Current/Headers/glutbitmap.h | 30 + .../Versions/Current/Headers/glutf90.h | 90 + .../Versions/Current/Headers/glutstroke.h | 42 + .../Versions/Current/Headers/gutil.h | 89 + .../Versions/Current/Headers/intersect.h | 391 ++ .../GLUT.framework/Versions/Current/Headers/port.h | 298 ++ .../GLUT.framework/Versions/Current/Headers/rot.h | 98 + .../Versions/Current/Headers/segment.h | 98 + .../GLUT.framework/Versions/Current/Headers/tube.h | 203 + .../Versions/Current/Headers/tube_gc.h | 78 + .../Versions/Current/Headers/vvector.h | 1339 ++++++ .../Versions/Current/Resources/Caution.tiff | Bin 0 -> 18804 bytes .../Resources/English.lproj/GLUT.nib/classes.nib | 55 + .../Resources/English.lproj/GLUT.nib/info.nib | 25 + .../Resources/English.lproj/GLUT.nib/objects.nib | Bin 0 -> 3908 bytes .../English.lproj/GLUTClipboard.nib/classes.nib | 13 + .../English.lproj/GLUTClipboard.nib/info.nib | 12 + .../English.lproj/GLUTClipboard.nib/objects.nib | Bin 0 -> 1652 bytes .../English.lproj/GLUTPreferences.nib/classes.nib | 73 + .../English.lproj/GLUTPreferences.nib/info.nib | 16 + .../English.lproj/GLUTPreferences.nib/objects.nib | Bin 0 -> 17418 bytes .../Current/Resources/English.lproj/GLUTUI.strings | Bin 0 -> 3594 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 0 -> 268 bytes .../Versions/Current/Resources/Info.plist | 24 + .../Versions/Current/Resources/blankCursor.tiff | Bin 0 -> 260 bytes .../Versions/Current/Resources/bottomCursor.tiff | Bin 0 -> 374 bytes .../Current/Resources/bottomleftCursor.tiff | Bin 0 -> 386 bytes .../Current/Resources/bottomrightCursor.tiff | Bin 0 -> 386 bytes .../Versions/Current/Resources/crossCursor.tiff | Bin 0 -> 380 bytes .../Versions/Current/Resources/cycleCursor.tiff | Bin 0 -> 410 bytes .../Versions/Current/Resources/destroyCursor.tiff | Bin 0 -> 414 bytes .../Versions/Current/Resources/fingerCursor.tiff | Bin 0 -> 674 bytes .../Versions/Current/Resources/helpCursor.tiff | Bin 0 -> 322 bytes .../Versions/Current/Resources/leftCursor.tiff | Bin 0 -> 384 bytes .../Current/Resources/leftRightCursor.tiff | Bin 0 -> 400 bytes .../Current/Resources/rightArrowCursor.tiff | Bin 0 -> 344 bytes .../Versions/Current/Resources/rightCursor.tiff | Bin 0 -> 384 bytes .../Versions/Current/Resources/sprayCursor.tiff | Bin 0 -> 404 bytes .../Versions/Current/Resources/topCursor.tiff | Bin 0 -> 374 bytes .../Versions/Current/Resources/topleftCursor.tiff | Bin 0 -> 386 bytes .../Versions/Current/Resources/toprightCursor.tiff | Bin 0 -> 392 bytes .../Versions/Current/Resources/upDownCursor.tiff | Bin 0 -> 388 bytes .../Versions/Current/Resources/waitCursor.tiff | Bin 0 -> 818 bytes .../bin/emptyExampleDebug.app/Contents/Info.plist | 38 + .../Contents/MacOS/emptyExampleDebug | Bin 0 -> 7927072 bytes .../Contents/MacOS/libfmodex.dylib | Bin 0 -> 1956044 bytes .../bin/emptyExampleDebug.app/Contents/PkgInfo | 1 + .../Contents/Resources/icon-debug.icns | Bin 0 -> 762563 bytes .../OSX/emptyExample/config.make | 142 + .../emptyExample.xcodeproj/project.pbxproj | 644 +++ .../UserInterfaceState.xcuserstate | Bin 0 -> 10905 bytes .../xcschemes/emptyExample Debug.xcscheme | 86 + .../xcschemes/emptyExample Release.xcscheme | 86 + .../xcschemes/xcschememanagement.plist | 14 + .../OSX/emptyExample/ofxMaxim/install.xml | 37 + .../OSX/emptyExample/ofxMaxim/libs/fft.cpp | 584 +++ .../OSX/emptyExample/ofxMaxim/libs/fft.h | 79 + .../OSX/emptyExample/ofxMaxim/libs/maxiAtoms.cpp | 219 + .../OSX/emptyExample/ofxMaxim/libs/maxiAtoms.h | 91 + .../OSX/emptyExample/ofxMaxim/libs/maxiBark.cpp | 10 + .../OSX/emptyExample/ofxMaxim/libs/maxiBark.h | 133 + .../OSX/emptyExample/ofxMaxim/libs/maxiFFT.cpp | 290 ++ .../OSX/emptyExample/ofxMaxim/libs/maxiFFT.h | 128 + .../OSX/emptyExample/ofxMaxim/libs/maxiGrains.cpp | 6 + .../OSX/emptyExample/ofxMaxim/libs/maxiGrains.h | 467 ++ .../OSX/emptyExample/ofxMaxim/libs/maxiMFCC.cpp | 79 + .../OSX/emptyExample/ofxMaxim/libs/maxiMFCC.h | 205 + .../OSX/emptyExample/ofxMaxim/libs/maximilian.cpp | 1342 ++++++ .../OSX/emptyExample/ofxMaxim/libs/maximilian.h | 623 +++ .../OSX/emptyExample/ofxMaxim/libs/sineTable.h | 15 + .../OSX/emptyExample/ofxMaxim/libs/stb_vorbis.c | 5042 ++++++++++++++++++++ .../OSX/emptyExample/ofxMaxim/libs/stb_vorbis.h | 338 ++ .../OSX/emptyExample/ofxMaxim/src/ofxMaxim.h | 119 + .../OSX/emptyExample/openFrameworks-Info.plist | 22 + .../OSX/emptyExample/src/main.cpp | 14 + .../OSX/emptyExample/src/ofApp.cpp | 61 + .../OSX/emptyExample/src/ofApp.h | 23 + player.cpp | 2 - 209 files changed, 24544 insertions(+), 144 deletions(-) create mode 100644 libs/maxiSynths.cpp create mode 100644 libs/maxiSynths.h create mode 100644 maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100755 maximilian_examples/7.Counting.cpp create mode 100755 maximilian_examples/7.Counting1.cpp create mode 100755 maximilian_examples/8.Counting3.cpp create mode 100755 maximilian_examples/8.Counting4.cpp create mode 100644 maximilian_examples/arrays.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/Makefile create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/Project.xcconfig create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Caution.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Caution.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Caution.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Info.plist create mode 100755 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/PkgInfo create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/config.make create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.pbxproj create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/install.xml create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.cpp create mode 100755 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/sineTable.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.c create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/src/ofxMaxim.h create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/openFrameworks-Info.plist create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/main.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.cpp create mode 100644 ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.h (limited to 'main.cpp') diff --git a/libs/maxiSynths.cpp b/libs/maxiSynths.cpp new file mode 100644 index 0000000..cd32a53 --- /dev/null +++ b/libs/maxiSynths.cpp @@ -0,0 +1,534 @@ +// +// maxiSynths.cpp +// granular +// +// Created by Michael Grierson on 16/08/2015. +// +// + +double pitchRatios[256]= {0.0006517771980725,0.0006905338959768,0.0007315951515920, 0.0007750981021672, 0.0008211878011934, 0.0008700182079338, 0.0009217521874234, 0.0009765623835847, 0.0010346318595111, 0.0010961542138830, 0.0011613349197432, 0.0012303915573284, 0.0013035543961450, 0.0013810677919537, 0.0014631903031841, 0.0015501962043345, 0.0016423756023869, 0.0017400364158675, 0.0018435043748468, 0.0019531247671694, 0.0020692637190223, 0.0021923084277660, 0.0023226698394865, 0.0024607831146568, 0.0026071087922901, 0.0027621355839074, 0.0029263808391988, 0.0031003924086690, 0.0032847514376044, 0.0034800728317350, 0.0036870087496936, 0.0039062497671694, 0.0041385274380445, 0.0043846168555319, 0.0046453396789730, 0.0049215662293136, 0.0052142175845802, 0.0055242711678147, 0.0058527616783977, 0.0062007848173380, 0.0065695028752089, 0.0069601456634700, 0.0073740174993873, 0.0078124995343387, 0.0082770548760891, 0.0087692337110639, 0.0092906802892685, 0.0098431324586272, 0.0104284351691604, 0.0110485423356295, 0.0117055233567953, 0.0124015696346760, 0.0131390057504177, 0.0139202913269401, 0.0147480349987745, 0.0156249990686774, 0.0165541097521782, 0.0175384692847729, 0.0185813605785370, 0.0196862649172544, 0.0208568722009659, 0.0220970865339041, 0.0234110467135906, 0.0248031392693520, 0.0262780115008354, 0.0278405826538801, 0.0294960699975491, 0.0312499981373549, 0.0331082195043564, 0.0350769385695457, 0.0371627211570740, 0.0393725298345089, 0.0417137444019318, 0.0441941730678082, 0.0468220934271812, 0.0496062822639942, 0.0525560230016708, 0.0556811690330505, 0.0589921437203884, 0.0624999962747097, 0.0662164390087128, 0.0701538771390915, 0.0743254423141479, 0.0787450596690178, 0.0834274888038635, 0.0883883461356163, 0.0936441868543625, 0.0992125645279884, 0.1051120460033417, 0.1113623380661011, 0.1179842874407768, 0.1249999925494194, 0.1324328780174255, 0.1403077542781830, 0.1486508846282959, 0.1574901193380356, 0.1668549776077271, 0.1767766922712326, 0.1872883737087250, 0.1984251290559769, 0.2102240920066833, 0.2227246761322021, 0.2359685748815536, 0.2500000000000000, 0.2648657560348511, 0.2806155085563660, 0.2973017692565918, 0.3149802684783936, 0.3337099552154541, 0.3535533845424652, 0.3745767772197723, 0.3968502581119537, 0.4204482138156891, 0.4454493522644043, 0.4719371497631073, 0.5000000000000000, 0.5297315716743469, 0.5612310171127319, 0.5946035385131836, 0.6299605369567871, 0.6674199104309082, 0.7071067690849304, 0.7491535544395447, 0.7937005162239075, 0.8408964276313782, 0.8908987045288086, 0.9438742995262146, 1.0000000000000000, 1.0594631433486938, 1.1224620342254639, 1.1892070770263672, 1.2599210739135742, 1.3348398208618164, 1.4142135381698608, 1.4983071088790894, 1.5874010324478149, 1.6817928552627563, 1.7817974090576172, 1.8877485990524292, 2.0000000000000000, 2.1189262866973877, 2.2449240684509277, 2.3784141540527344, 2.5198421478271484, 2.6696796417236328, 2.8284270763397217, 2.9966142177581787, 3.1748020648956299, 3.3635857105255127, 3.5635950565338135, 3.7754974365234375, 4.0000000000000000, 4.2378525733947754, 4.4898481369018555, 4.7568287849426270, 5.0396842956542969, 5.3393597602844238, 5.6568546295166016, 5.9932284355163574, 6.3496046066284180, 6.7271714210510254, 7.1271901130676270, 7.5509948730468750, 8.0000000000000000, 8.4757051467895508, 8.9796962738037109, 9.5136575698852539, 10.0793685913085938, 10.6787195205688477, 11.3137092590332031, 11.9864568710327148, 12.6992092132568359, 13.4543428421020508, 14.2543802261352539, 15.1019897460937500, 16.0000000000000000, 16.9514102935791016, 17.9593944549560547, 19.0273151397705078, 20.1587371826171875, 21.3574390411376953, 22.6274185180664062, 23.9729137420654297, 25.3984184265136719, 26.9086875915527344, 28.5087604522705078, 30.2039794921875000, 32.0000000000000000, 33.9028205871582031, 35.9187889099121094, 38.0546302795410156, 40.3174743652343750, 42.7148780822753906, 45.2548370361328125, 47.9458274841308594, 50.7968368530273438, 53.8173751831054688, 57.0175209045410156, 60.4079589843750000, 64.0000076293945312, 67.8056411743164062, 71.8375778198242188, 76.1092605590820312, 80.6349563598632812, 85.4297561645507812, 90.5096740722656250, 95.8916625976562500, 101.5936737060546875, 107.6347503662109375, 114.0350418090820312, 120.8159179687500000, 128.0000152587890625, 135.6112823486328125, 143.6751556396484375, 152.2185211181640625, 161.2699127197265625, 170.8595123291015625, 181.0193481445312500, 191.7833251953125000, 203.1873474121093750, 215.2695007324218750, 228.0700836181640625, 241.6318511962890625, 256.0000305175781250, 271.2225646972656250, 287.3503112792968750, 304.4370422363281250, 322.5398254394531250, 341.7190246582031250, 362.0386962890625000, 383.5666503906250000, 406.3746948242187500, 430.5390014648437500, 456.1401977539062500, 483.2637023925781250, 512.0000610351562500, 542.4451293945312500, 574.7006225585937500, 608.8740844726562500, 645.0796508789062500, 683.4380493164062500, 724.0773925781250000, 767.1333007812500000, 812.7494506835937500, 861.0780029296875000, 912.2803955078125000, 966.5274047851562500, 1024.0001220703125000, 1084.8903808593750000, 1149.4012451171875000, 1217.7481689453125000, 1290.1593017578125000, 1366.8762207031250000, 1448.1549072265625000, 1534.2666015625000000, 1625.4989013671875000}; + +#include "maxiSynths.h" + +maxiKick::maxiKick(){ + + maxiKick::envelope.setAttack(0); + maxiKick::setPitch(200); + maxiKick::envelope.setDecay(1); + maxiKick::envelope.setSustain(1); + maxiKick::envelope.setRelease(500); + maxiKick::envelope.holdtime=1; + maxiKick::envelope.trigger=0; + +}; + +double maxiKick::play(){ + + envOut=envelope.adsr(1.,envelope.trigger); + + if (inverse) { + + envOut=fabs(1-envOut); + + } + + output=kick.sinewave(pitch*envOut)*envOut; + + if (envelope.trigger==1) { + envelope.trigger=0; + } + + if (useDistortion) { + + output=distort.fastAtanDist(output, distortion); + } + + if (useFilter) { + + output=filter.lores(output, cutoff, resonance); + + } + + if (useLimiter) { + + if (output*gain > 1) { + + return 1.; + + } else if (output*gain < -1) { + + return -1.; + + } else { + + return output*gain; + + } + + + + } else { + + return output*gain; + + } +}; + +void maxiKick::setRelease(double release) { + + envelope.setRelease(release); + +} + +void maxiKick::setPitch(double newPitch) { + + pitch=newPitch; + +} + +void maxiKick::trigger() { + + envelope.trigger=1; + +} + +maxiSnare::maxiSnare(){ + + maxiSnare::envelope.setAttack(0); + maxiSnare::setPitch(800); + maxiSnare::envelope.setDecay(20); + maxiSnare::envelope.setSustain(0.05); + maxiSnare::envelope.setRelease(300); + maxiSnare::envelope.holdtime=1; + maxiSnare::envelope.trigger=0; + +}; + +double maxiSnare::play(){ + + envOut=envelope.adsr(1.,envelope.trigger); + + if (inverse) { + + envOut=fabs(1-envOut); + + } + + output=(tone.triangle(pitch*(0.1+(envOut*0.85)))+noise.noise())*envOut; + + if (envelope.trigger==1) { + envelope.trigger=0; + } + + if (useDistortion) { + + output=distort.fastAtanDist(output, distortion); + } + + if (useFilter) { + + output=filter.lores(output, cutoff, resonance); + + } + + if (useLimiter) { + + if (output*gain > 1) { + + return 1.; + + } else if (output*gain < -1) { + + return -1.; + + } else { + + return output*gain; + + } + + + + } else { + + return output*gain; + + } + +}; + +void maxiSnare::setRelease(double release) { + + envelope.setRelease(release); + +} + +void maxiSnare::setPitch(double newPitch) { + + pitch=newPitch; + +} + +void maxiSnare::trigger() { + + envelope.trigger=1; + +} + +maxiHats::maxiHats(){ + + maxiHats::envelope.setAttack(0); + maxiHats::setPitch(12000); + maxiHats::envelope.setDecay(20); + maxiHats::envelope.setSustain(0.1); + maxiHats::envelope.setRelease(300); + maxiHats::envelope.holdtime=1; + maxiHats::envelope.trigger=0; + maxiHats::filter.setCutoff(8000); + maxiHats::filter.setResonance(1); + +}; + +double maxiHats::play(){ + + envOut=envelope.adsr(1.,envelope.trigger); + + if (inverse) { + + envOut=fabs(1-envOut); + + } + + output=(tone.sinebuf(pitch)+noise.noise())*envOut; + + if (envelope.trigger==1) { + envelope.trigger=0; + } + + if (useDistortion) { + + output=distort.fastAtanDist(output, distortion); + } + + if (useFilter) { + + output=filter.play(output, 0., 0., 1., 0.); + + } + + if (useLimiter) { + + if (output*gain > 1) { + + return 1.; + + } else if (output*gain < -1) { + + return -1.; + + } else { + + return output*gain; + + } + + + + } else { + + return output*gain; + + } + +}; + +void maxiHats::setRelease(double release) { + + envelope.setRelease(release); + +} + +void maxiHats::setPitch(double newPitch) { + + pitch=newPitch; + +} + +void maxiHats::trigger() { + + envelope.trigger=1; + +} + + + +maxiClock::maxiClock() { + + playHead=0; + currentCount=0; + lastCount=0; + bpm=120; + ticks=1; + maxiClock::setTempo(bpm); + +} + + +void maxiClock::ticker() { + + tick=false; + currentCount=floor(timer.phasor(bps));//this sets up a metronome that ticks n times a second + + if (lastCount!=currentCount) {//if we have a new timer int this sample, + + tick=true; + playHead++;//iterate the playhead + + } + +} + + +void maxiClock::setTempo(double bpmIn) { + + bpm=bpmIn; + bps=(bpm/60.)*ticks; +} + + +void maxiClock::setTicksPerBeat(int ticksPerBeat) { + + ticks=ticksPerBeat; + maxiClock::setTempo(bpm); + +} + +maxiSampler::maxiSampler() { + + maxiSampler::voices=32; + maxiSampler::currentVoice=0; + + + for (int i=0;i0.) { + outputs[i]=samples[i].play(pitchRatios[(int)pitch[i]+originalPitch]*((1./samples[i].length)*maxiSettings::sampleRate),0,samples[i].length)*envOut[i]; + output+=outputs[i]/voices; + + if (envelopes[i].trigger==1 && !sustain) { + envelopes[i].trigger=0; + + } + + } + + } return output; + +} + +void maxiSampler::load(string inFile, bool setall) { + + if (setall) { + for (int i=0;i +#include +#include +#include +#include +#include "math.h" +#include "maximilian.h" + + +class maxiKick { + +public: + maxiKick(); + double play(); + void setPitch(double pitch); + void setRelease(double releaseD); + void trigger(); + double pitch; + double output = 0 ; + double outputD =0 ; + double envOut; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = false; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + maxiOsc kick; + maxiEnv envelope; + maxiDistortion distort; + maxiFilter filter; +}; + +class maxiSnare { +public: + maxiSnare(); + double play(); + void setPitch(double pitch); + void setRelease(double releaseD); + void trigger(); + double pitch; + double output = 0 ; + double outputD = 0 ; + double envOut; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = true; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + maxiOsc tone; + maxiOsc noise; + maxiEnv envelope; + maxiDistortion distort; + maxiFilter filter; + + + +}; + +class maxiHats { + +public: + maxiHats(); + double play(); + void setPitch(double pitch); + void setRelease(double releaseD); + void trigger(); + double pitch; + double output = 0; + double outputD = 0; + double envOut; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = false; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + maxiOsc tone; + maxiOsc noise; + maxiEnv envelope; + maxiDistortion distort; + maxiSVF filter; + + +}; + + +class maxiSynth { + + + +}; + + +class granularSynth { + + + +}; + + +class maxiSampler { + +public: + maxiSampler(); + double play(); + void setPitch(double pitch, bool setall=false); + void midiNoteOn(double pitch, double velocity, bool setall=false); + void midiNoteOff(double pitch, double velocity, bool setall=false); + void setAttack(double attackD,bool setall=true); + void setDecay(double decayD,bool setall=true); + void setSustain(double sustainD,bool setall=true); + void setRelease(double releaseD,bool setall=true); + void setPosition(double positionD,bool setall=true); + void load(string inFile,bool setall=true); + void setNumVoices(int numVoices); + double position; + void trigger(); + double pitch[32]; + int originalPitch=67; + double outputs[32]; + double outputD = 0; + double envOut[32]; + double envOutGain[32]; + double output; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = false; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + int voices; + int currentVoice=0; + convert mtof; + maxiOsc LFO1; + maxiOsc LFO2; + maxiOsc LFO3; + maxiOsc LFO4; + maxiSample samples[32]; + maxiEnv envelopes[32]; + maxiDistortion distort; + maxiSVF filters[32]; + bool sustain = true; + + +}; + +class maxiClock { +public: + maxiClock(); + void ticker(); + void setTempo(double bpm); + void setTicksPerBeat(int ticksPerBeat); + maxiOsc timer; + int currentCount; + int lastCount; + int playHead; + double bps; + double bpm; + int ticks; + bool tick; + +}; + + + +#endif \ No newline at end of file diff --git a/libs/maxim.h b/libs/maxim.h index 3b0ee06..3bfcbda 100644 --- a/libs/maxim.h +++ b/libs/maxim.h @@ -41,7 +41,6 @@ #include "maxiAtoms.h" - //typedef maxiSignal vector; // //class maxiBase { diff --git a/main.cpp b/main.cpp index 2cf74f6..ea51186 100755 --- a/main.cpp +++ b/main.cpp @@ -1,51 +1,21 @@ -//Envelopes allow you to shape the sound. The basic idea is that a sound has the following shape -// Attack: This is how long it takes to fade up to maximum volume -// Decay: This is how long it takes to reach the sustain level. -// Sustain: This is the sustain level -// Release: This is how long it takes to fade out. - #include "maximilian.h" -maxiOsc myCounter,mySwitchableOsc;// -int CurrentCount;// -double myOscOutput,myCurrentVolume;// -maxiEnv myEnvelope; +maxiSample mySample; void setup() {//some inits - //Timing is in ms - - myEnvelope.setAttack(0); - myEnvelope.setDecay(1); // Needs to be at least 1 - myEnvelope.setSustain(1); - myEnvelope.setRelease(1000); - + mySample.load("/Users/michaelgrierson/Documents/workspace/coursera2/full-stack-mooc-5/code/week2/music_machine_2015/public/bassline32bit.wav"); + cout << mySample.myBitsPerSample; + } void play(double *output) { - //notice that we feed in a value of 1. to create an envelope shape we can apply later. - myCurrentVolume=myEnvelope.adsr(1.,myEnvelope.trigger); - - CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - - // You'll notice that these 'if' statements don't require curly braces "{}". - // This is because there is only one outcome if the statement is true. - - if (CurrentCount==1) myEnvelope.trigger=1; //trigger the envelope - else myEnvelope.trigger=0;//release the envelope to make it fade out only if it's been triggered - - if (CurrentCount<5) - - myOscOutput=mySwitchableOsc.sawn(CurrentCount*100); - - else if (CurrentCount>=5)//and the 'else' bit. - - myOscOutput=mySwitchableOsc.sinewave(CurrentCount*50);//one osc object can produce whichever waveform you want. - - - output[0]=myOscOutput*myCurrentVolume;//left speaker + output[0]=mySample.play(2); + output[1]=output[0]; + } + diff --git a/maximilian.cpp b/maximilian.cpp index 1a79129..adbb97d 100644 --- a/maximilian.cpp +++ b/maximilian.cpp @@ -1480,3 +1480,529 @@ template<> void maxiEnvelopeFollower::setRelease(double releaseMS) { release = pow( 0.01, 1.0 / ( releaseMS * maxiSettings::sampleRate * 0.001 ) ); } +double pitchRatios[256]= {0.0006517771980725,0.0006905338959768,0.0007315951515920, 0.0007750981021672, 0.0008211878011934, 0.0008700182079338, 0.0009217521874234, 0.0009765623835847, 0.0010346318595111, 0.0010961542138830, 0.0011613349197432, 0.0012303915573284, 0.0013035543961450, 0.0013810677919537, 0.0014631903031841, 0.0015501962043345, 0.0016423756023869, 0.0017400364158675, 0.0018435043748468, 0.0019531247671694, 0.0020692637190223, 0.0021923084277660, 0.0023226698394865, 0.0024607831146568, 0.0026071087922901, 0.0027621355839074, 0.0029263808391988, 0.0031003924086690, 0.0032847514376044, 0.0034800728317350, 0.0036870087496936, 0.0039062497671694, 0.0041385274380445, 0.0043846168555319, 0.0046453396789730, 0.0049215662293136, 0.0052142175845802, 0.0055242711678147, 0.0058527616783977, 0.0062007848173380, 0.0065695028752089, 0.0069601456634700, 0.0073740174993873, 0.0078124995343387, 0.0082770548760891, 0.0087692337110639, 0.0092906802892685, 0.0098431324586272, 0.0104284351691604, 0.0110485423356295, 0.0117055233567953, 0.0124015696346760, 0.0131390057504177, 0.0139202913269401, 0.0147480349987745, 0.0156249990686774, 0.0165541097521782, 0.0175384692847729, 0.0185813605785370, 0.0196862649172544, 0.0208568722009659, 0.0220970865339041, 0.0234110467135906, 0.0248031392693520, 0.0262780115008354, 0.0278405826538801, 0.0294960699975491, 0.0312499981373549, 0.0331082195043564, 0.0350769385695457, 0.0371627211570740, 0.0393725298345089, 0.0417137444019318, 0.0441941730678082, 0.0468220934271812, 0.0496062822639942, 0.0525560230016708, 0.0556811690330505, 0.0589921437203884, 0.0624999962747097, 0.0662164390087128, 0.0701538771390915, 0.0743254423141479, 0.0787450596690178, 0.0834274888038635, 0.0883883461356163, 0.0936441868543625, 0.0992125645279884, 0.1051120460033417, 0.1113623380661011, 0.1179842874407768, 0.1249999925494194, 0.1324328780174255, 0.1403077542781830, 0.1486508846282959, 0.1574901193380356, 0.1668549776077271, 0.1767766922712326, 0.1872883737087250, 0.1984251290559769, 0.2102240920066833, 0.2227246761322021, 0.2359685748815536, 0.2500000000000000, 0.2648657560348511, 0.2806155085563660, 0.2973017692565918, 0.3149802684783936, 0.3337099552154541, 0.3535533845424652, 0.3745767772197723, 0.3968502581119537, 0.4204482138156891, 0.4454493522644043, 0.4719371497631073, 0.5000000000000000, 0.5297315716743469, 0.5612310171127319, 0.5946035385131836, 0.6299605369567871, 0.6674199104309082, 0.7071067690849304, 0.7491535544395447, 0.7937005162239075, 0.8408964276313782, 0.8908987045288086, 0.9438742995262146, 1.0000000000000000, 1.0594631433486938, 1.1224620342254639, 1.1892070770263672, 1.2599210739135742, 1.3348398208618164, 1.4142135381698608, 1.4983071088790894, 1.5874010324478149, 1.6817928552627563, 1.7817974090576172, 1.8877485990524292, 2.0000000000000000, 2.1189262866973877, 2.2449240684509277, 2.3784141540527344, 2.5198421478271484, 2.6696796417236328, 2.8284270763397217, 2.9966142177581787, 3.1748020648956299, 3.3635857105255127, 3.5635950565338135, 3.7754974365234375, 4.0000000000000000, 4.2378525733947754, 4.4898481369018555, 4.7568287849426270, 5.0396842956542969, 5.3393597602844238, 5.6568546295166016, 5.9932284355163574, 6.3496046066284180, 6.7271714210510254, 7.1271901130676270, 7.5509948730468750, 8.0000000000000000, 8.4757051467895508, 8.9796962738037109, 9.5136575698852539, 10.0793685913085938, 10.6787195205688477, 11.3137092590332031, 11.9864568710327148, 12.6992092132568359, 13.4543428421020508, 14.2543802261352539, 15.1019897460937500, 16.0000000000000000, 16.9514102935791016, 17.9593944549560547, 19.0273151397705078, 20.1587371826171875, 21.3574390411376953, 22.6274185180664062, 23.9729137420654297, 25.3984184265136719, 26.9086875915527344, 28.5087604522705078, 30.2039794921875000, 32.0000000000000000, 33.9028205871582031, 35.9187889099121094, 38.0546302795410156, 40.3174743652343750, 42.7148780822753906, 45.2548370361328125, 47.9458274841308594, 50.7968368530273438, 53.8173751831054688, 57.0175209045410156, 60.4079589843750000, 64.0000076293945312, 67.8056411743164062, 71.8375778198242188, 76.1092605590820312, 80.6349563598632812, 85.4297561645507812, 90.5096740722656250, 95.8916625976562500, 101.5936737060546875, 107.6347503662109375, 114.0350418090820312, 120.8159179687500000, 128.0000152587890625, 135.6112823486328125, 143.6751556396484375, 152.2185211181640625, 161.2699127197265625, 170.8595123291015625, 181.0193481445312500, 191.7833251953125000, 203.1873474121093750, 215.2695007324218750, 228.0700836181640625, 241.6318511962890625, 256.0000305175781250, 271.2225646972656250, 287.3503112792968750, 304.4370422363281250, 322.5398254394531250, 341.7190246582031250, 362.0386962890625000, 383.5666503906250000, 406.3746948242187500, 430.5390014648437500, 456.1401977539062500, 483.2637023925781250, 512.0000610351562500, 542.4451293945312500, 574.7006225585937500, 608.8740844726562500, 645.0796508789062500, 683.4380493164062500, 724.0773925781250000, 767.1333007812500000, 812.7494506835937500, 861.0780029296875000, 912.2803955078125000, 966.5274047851562500, 1024.0001220703125000, 1084.8903808593750000, 1149.4012451171875000, 1217.7481689453125000, 1290.1593017578125000, 1366.8762207031250000, 1448.1549072265625000, 1534.2666015625000000, 1625.4989013671875000}; + +maxiKick::maxiKick(){ + + maxiKick::envelope.setAttack(0); + maxiKick::setPitch(200); + maxiKick::envelope.setDecay(1); + maxiKick::envelope.setSustain(1); + maxiKick::envelope.setRelease(500); + maxiKick::envelope.holdtime=1; + maxiKick::envelope.trigger=0; + +}; + +double maxiKick::play(){ + + envOut=envelope.adsr(1.,envelope.trigger); + + if (inverse) { + + envOut=fabs(1-envOut); + + } + + output=kick.sinewave(pitch*envOut)*envOut; + + if (envelope.trigger==1) { + envelope.trigger=0; + } + + if (useDistortion) { + + output=distort.fastAtanDist(output, distortion); + } + + if (useFilter) { + + output=filter.lores(output, cutoff, resonance); + + } + + if (useLimiter) { + + if (output*gain > 1) { + + return 1.; + + } else if (output*gain < -1) { + + return -1.; + + } else { + + return output*gain; + + } + + + + } else { + + return output*gain; + + } +}; + +void maxiKick::setRelease(double release) { + + envelope.setRelease(release); + +} + +void maxiKick::setPitch(double newPitch) { + + pitch=newPitch; + +} + +void maxiKick::trigger() { + + envelope.trigger=1; + +} + +maxiSnare::maxiSnare(){ + + maxiSnare::envelope.setAttack(0); + maxiSnare::setPitch(800); + maxiSnare::envelope.setDecay(20); + maxiSnare::envelope.setSustain(0.05); + maxiSnare::envelope.setRelease(300); + maxiSnare::envelope.holdtime=1; + maxiSnare::envelope.trigger=0; + +}; + +double maxiSnare::play(){ + + envOut=envelope.adsr(1.,envelope.trigger); + + if (inverse) { + + envOut=fabs(1-envOut); + + } + + output=(tone.triangle(pitch*(0.1+(envOut*0.85)))+noise.noise())*envOut; + + if (envelope.trigger==1) { + envelope.trigger=0; + } + + if (useDistortion) { + + output=distort.fastAtanDist(output, distortion); + } + + if (useFilter) { + + output=filter.lores(output, cutoff, resonance); + + } + + if (useLimiter) { + + if (output*gain > 1) { + + return 1.; + + } else if (output*gain < -1) { + + return -1.; + + } else { + + return output*gain; + + } + + + + } else { + + return output*gain; + + } + +}; + +void maxiSnare::setRelease(double release) { + + envelope.setRelease(release); + +} + +void maxiSnare::setPitch(double newPitch) { + + pitch=newPitch; + +} + +void maxiSnare::trigger() { + + envelope.trigger=1; + +} + +maxiHats::maxiHats(){ + + maxiHats::envelope.setAttack(0); + maxiHats::setPitch(12000); + maxiHats::envelope.setDecay(20); + maxiHats::envelope.setSustain(0.1); + maxiHats::envelope.setRelease(300); + maxiHats::envelope.holdtime=1; + maxiHats::envelope.trigger=0; + maxiHats::filter.setCutoff(8000); + maxiHats::filter.setResonance(1); + +}; + +double maxiHats::play(){ + + envOut=envelope.adsr(1.,envelope.trigger); + + if (inverse) { + + envOut=fabs(1-envOut); + + } + + output=(tone.sinebuf(pitch)+noise.noise())*envOut; + + if (envelope.trigger==1) { + envelope.trigger=0; + } + + if (useDistortion) { + + output=distort.fastAtanDist(output, distortion); + } + + if (useFilter) { + + output=filter.play(output, 0., 0., 1., 0.); + + } + + if (useLimiter) { + + if (output*gain > 1) { + + return 1.; + + } else if (output*gain < -1) { + + return -1.; + + } else { + + return output*gain; + + } + + + + } else { + + return output*gain; + + } + +}; + +void maxiHats::setRelease(double release) { + + envelope.setRelease(release); + +} + +void maxiHats::setPitch(double newPitch) { + + pitch=newPitch; + +} + +void maxiHats::trigger() { + + envelope.trigger=1; + +} + + + +maxiClock::maxiClock() { + + playHead=0; + currentCount=0; + lastCount=0; + bpm=120; + ticks=1; + maxiClock::setTempo(bpm); + +} + + +void maxiClock::ticker() { + + tick=false; + currentCount=floor(timer.phasor(bps));//this sets up a metronome that ticks n times a second + + if (lastCount!=currentCount) {//if we have a new timer int this sample, + + tick=true; + playHead++;//iterate the playhead + + } + +} + + +void maxiClock::setTempo(double bpmIn) { + + bpm=bpmIn; + bps=(bpm/60.)*ticks; +} + + +void maxiClock::setTicksPerBeat(int ticksPerBeat) { + + ticks=ticksPerBeat; + maxiClock::setTempo(bpm); + +} + +maxiSampler::maxiSampler() { + + maxiSampler::voices=32; + maxiSampler::currentVoice=0; + + + for (int i=0;i0.) { + outputs[i]=samples[i].play(pitchRatios[(int)pitch[i]+originalPitch]*((1./samples[i].length)*maxiSettings::sampleRate),0,samples[i].length)*envOut[i]; + output+=outputs[i]/voices; + + if (envelopes[i].trigger==1 && !sustain) { + envelopes[i].trigger=0; + + } + + } + + } return output; + +} + +void maxiSampler::load(string inFile, bool setall) { + + if (setall) { + for (int i=0;i #include #include "math.h" - #ifdef _WIN32 //|| _WIN64 #include #endif @@ -212,7 +211,6 @@ private: short myFormat; int myByteRate; short myBlockAlign; - short myBitsPerSample; double position, recordPosition; double speed; double output; @@ -225,7 +223,8 @@ public: long length; void getLength(); void setLength(unsigned long numSamples); - + short myBitsPerSample; + // char* myData; short* temp; @@ -633,5 +632,169 @@ private: }; +class maxiKick { + +public: + maxiKick(); + double play(); + void setPitch(double pitch); + void setRelease(double releaseD); + void trigger(); + double pitch; + double output = 0 ; + double outputD =0 ; + double envOut; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = false; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + maxiOsc kick; + maxiEnv envelope; + maxiDistortion distort; + maxiFilter filter; +}; + +class maxiSnare { +public: + maxiSnare(); + double play(); + void setPitch(double pitch); + void setRelease(double releaseD); + void trigger(); + double pitch; + double output = 0 ; + double outputD = 0 ; + double envOut; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = true; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + maxiOsc tone; + maxiOsc noise; + maxiEnv envelope; + maxiDistortion distort; + maxiFilter filter; + + + +}; + +class maxiHats { + +public: + maxiHats(); + double play(); + void setPitch(double pitch); + void setRelease(double releaseD); + void trigger(); + double pitch; + double output = 0; + double outputD = 0; + double envOut; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = false; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + maxiOsc tone; + maxiOsc noise; + maxiEnv envelope; + maxiDistortion distort; + maxiSVF filter; + + +}; + + +class maxiSynth { + + + +}; + + +class granularSynth { + + + +}; + + +class maxiSampler { + +public: + maxiSampler(); + double play(); + void setPitch(double pitch, bool setall=false); + void midiNoteOn(double pitch, double velocity, bool setall=false); + void midiNoteOff(double pitch, double velocity, bool setall=false); + void setAttack(double attackD,bool setall=true); + void setDecay(double decayD,bool setall=true); + void setSustain(double sustainD,bool setall=true); + void setRelease(double releaseD,bool setall=true); + void setPosition(double positionD,bool setall=true); + void load(string inFile,bool setall=true); + void setNumVoices(int numVoices); + double position; + void trigger(); + double pitch[32]; + int originalPitch=67; + double outputs[32]; + double outputD = 0; + double envOut[32]; + double envOutGain[32]; + double output; + bool useDistortion = false; + bool useLimiter = false; + bool useFilter = false; + double distortion = 0; + bool inverse = false; + double cutoff; + double resonance; + double gain = 1; + int voices; + int currentVoice=0; + convert mtof; + maxiOsc LFO1; + maxiOsc LFO2; + maxiOsc LFO3; + maxiOsc LFO4; + maxiSample samples[32]; + maxiEnv envelopes[32]; + maxiDistortion distort; + maxiSVF filters[32]; + bool sustain = true; + + +}; + +class maxiClock { +public: + maxiClock(); + void ticker(); + void setTempo(double bpm); + void setTicksPerBeat(int ticksPerBeat); + maxiOsc timer; + int currentCount; + int lastCount; + int playHead; + double bps; + double bpm; + int ticks; + bool tick; + +}; + #endif diff --git a/maximilianTest.xcodeproj/project.pbxproj b/maximilianTest.xcodeproj/project.pbxproj index 4283e89..b398724 100755 --- a/maximilianTest.xcodeproj/project.pbxproj +++ b/maximilianTest.xcodeproj/project.pbxproj @@ -197,7 +197,7 @@ isa = PBXProject; attributes = { }; - buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "maximilianTest_10.8" */; + buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "maximilianTest" */; compatibilityVersion = "Xcode 3.1"; developmentRegion = English; hasScannedForEncodings = 1; @@ -335,7 +335,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "maximilianTest_10.8" */ = { + 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "maximilianTest" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB923608733DC60010E9CD /* Debug */, diff --git a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate index eb5ae8d..c3b8e23 100644 Binary files a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate and b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..ae40604 Binary files /dev/null and b/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..948bac4 Binary files /dev/null and b/maximilianTest_10.8.xcodeproj/project.xcworkspace/xcuserdata/mick.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/maximilian_examples/1.TestTone.cpp b/maximilian_examples/1.TestTone.cpp index b8da07c..c27941c 100755 --- a/maximilian_examples/1.TestTone.cpp +++ b/maximilian_examples/1.TestTone.cpp @@ -1,19 +1,15 @@ -//This example shows how to create one of the most fundamental building blocks in computer audio. The sine wave. -//The sine wave is an oscillator - it oscillates back and forth between two values in a particular shape. - - #include "maximilian.h" -maxiOsc mySine;//let's create an oscillator and give it a name. - +//This shows how the fundamental building block of digital audio - the sine wave. +// +maxiOsc mySine;//One oscillator - can be called anything. Can be any of the available waveforms. void setup() {//some inits //nothing to go here this time } -void play(double *output) {//this is where the magic happens. Very slow magic. - - //output[0] is the left output. output[1] is the right output - output[0]=mySine.sinewave(440);//simple as that! +void play(double *output) { + + output[0]=mySine.sinewave(440); + output[1]=output[0]; } - diff --git a/maximilian_examples/10.Filters.cpp b/maximilian_examples/10.Filters.cpp index 41e779a..2c1240c 100755 --- a/maximilian_examples/10.Filters.cpp +++ b/maximilian_examples/10.Filters.cpp @@ -44,5 +44,6 @@ void play(double *output) { myFilteredOutput=myFilter.lores(myOscOutput,myCurrentVolume*1000,10); output[0]=myFilteredOutput;//left speaker + output[1]=output[0]; } diff --git a/maximilian_examples/16.Replicant.cpp b/maximilian_examples/16.Replicant.cpp index ae166bd..7684902 100644 --- a/maximilian_examples/16.Replicant.cpp +++ b/maximilian_examples/16.Replicant.cpp @@ -1,6 +1,6 @@ #include "maximilian.h" -//Bizarelly, this sounds a little bit like Kraftwerk's 'Metropolis', although it isn't. Funny that. +//Bizarelly, this sounds a little bit like Kraftwerk's 'Metropolis', although it isn't. Funny that. maxiOsc sound,bass,timer,mod,lead,lead2,leadmod;//here are the synth bits maxiEnv envelope, leadenvelope;//some envelopes @@ -21,41 +21,41 @@ int leadLinePitch[15]={69,67,65,64,67,66,64,62,65,64,62,57,55,60,57}; void setup() {//some inits - + } void play(double *output) {//this is where the magic happens. Very slow magic. - - currentCount=(int)timer.phasor(9);//this sets up a metronome that ticks every so often - - if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound - trigger=1;//play the arpeggiator line - trigger2=leadLineTrigger[playHead%256];//play the lead line - if (trigger2==1) {//if we are going to play a note - leadPitch=mtof.mtof(leadLinePitch[newnote]);//get the next pitch val - newnote++;//and iterate - if (newnote>14) { - newnote=0;//make sure we don't go over the edge of the array - } - } - currentPitch=mtof.mtof(pitch[(playHead%4)]+chord[currentChord%8]);//write the frequency val into currentPitch - playHead++;//iterate the playhead - if (playHead%32==0) {//wrap every 4 bars - currentChord++;//change the chord - } - //cout << "tick\n";//the clock ticks - lastCount=0;//set lastCount to 0 - } - - bassout=filter2.lores(envelope.adsr(bass.saw(currentPitch*0.5)+sound.pulse(currentPitch*0.5,mod.phasor(1)),1,0.9995, 0.25, 0.9995, 1, trigger),9250,2);//new, simple ADSR. - leadout=filter.lores(leadenvelope.ar(lead2.saw(leadPitch*4)+lead.pulse(leadPitch+(leadmod.sinebuf(1.9)*1.5), 0.6), 0.00005, 0.999975, 50000, trigger2),5900,10);//leadline - - delayout=(leadout+(delay.dl(leadout, 14000, 0.8)*0.5))/2;//add some delay - - if(trigger!=0)trigger=0;//set the trigger to off if you want it to trigger immediately next time. - - - output[0]=(bassout+delayout)/2;//sum output - output[1]=(bassout+delayout)/2; - + + currentCount=(int)timer.phasor(9);//this sets up a metronome that ticks every so often + + if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound + trigger=1;//play the arpeggiator line + trigger2=leadLineTrigger[playHead%256];//play the lead line + if (trigger2==1) {//if we are going to play a note + leadPitch=mtof.mtof(leadLinePitch[newnote]);//get the next pitch val + newnote++;//and iterate + if (newnote>14) { + newnote=0;//make sure we don't go over the edge of the array + } + } + currentPitch=mtof.mtof(pitch[(playHead%4)]+chord[currentChord%8]);//write the frequency val into currentPitch + playHead++;//iterate the playhead + if (playHead%32==0) {//wrap every 4 bars + currentChord++;//change the chord + } + //cout << "tick\n";//the clock ticks + lastCount=0;//set lastCount to 0 + } + + bassout=filter2.lores(envelope.adsr(bass.saw(currentPitch*0.5)+sound.pulse(currentPitch*0.5,mod.phasor(1)),1,0.9995, 0.25, 0.9995, 1, trigger),9250,2);//new, simple ADSR. + leadout=filter.lores(leadenvelope.ar(lead2.saw(leadPitch*4)+lead.pulse(leadPitch+(leadmod.sinebuf(1.9)*1.5), 0.6), 0.00005, 0.999975, 50000, trigger2),5900,10);//leadline + + delayout=(leadout+(delay.dl(leadout, 14000, 0.8)*0.5))/2;//add some delay + + if(trigger!=0)trigger=0;//set the trigger to off if you want it to trigger immediately next time. + + + output[0]=(bassout)/2;//sum output + output[1]=(bassout)/2; + } \ No newline at end of file diff --git a/maximilian_examples/2.TwoTones.cpp b/maximilian_examples/2.TwoTones.cpp index fb29288..2c94711 100755 --- a/maximilian_examples/2.TwoTones.cpp +++ b/maximilian_examples/2.TwoTones.cpp @@ -12,6 +12,7 @@ void play(double *output) {//this is where the magic happens. Very slow magic. //output[0] is the left output. output[1] is the right output output[0]=mySine.sinewave(440)+myOtherSine.sinewave(441);//these two sines will beat together. They're now a bit too loud though.. - + output[1]=output[0]; + } diff --git a/maximilian_examples/3.AM1.cpp b/maximilian_examples/3.AM1.cpp index 384a7f5..5d75942 100755 --- a/maximilian_examples/3.AM1.cpp +++ b/maximilian_examples/3.AM1.cpp @@ -17,5 +17,6 @@ void play(double *output) { // When you multiply something by -1, its phase is inverted but it retains its amplitude. // So you hear 2 waves per second, not 1, even though the frequency is 1. output[0]=mySine.sinewave(440)*myOtherSine.sinewave(1); - + output[1]=output[0]; + } diff --git a/maximilian_examples/4.AM2.cpp b/maximilian_examples/4.AM2.cpp index 7e80f38..2827a28 100755 --- a/maximilian_examples/4.AM2.cpp +++ b/maximilian_examples/4.AM2.cpp @@ -20,5 +20,6 @@ void play(double *output) { //So you hear two new waves, one going up, one going down. output[0]=mySine.sinewave(440)*myOtherSine.sinewave(myPhasor.phasor(0.01,0,440)); + output[1]=output[0]; } diff --git a/maximilian_examples/5.FM1.cpp b/maximilian_examples/5.FM1.cpp index 14f6593..d0ce736 100755 --- a/maximilian_examples/5.FM1.cpp +++ b/maximilian_examples/5.FM1.cpp @@ -31,4 +31,5 @@ void play(double *output) { } // In complex FM systems you can have lots of modulators stacked together in interesting ways, and theoretically this can make any sound. -// John Chowning is the guy you probably want to talk to about that. \ No newline at end of file +// John Chowning is the guy you probably want to talk to about that. +output[1]=output[0]; diff --git a/maximilian_examples/6.FM2.cpp b/maximilian_examples/6.FM2.cpp index d9eddf5..4c6ec8a 100755 --- a/maximilian_examples/6.FM2.cpp +++ b/maximilian_examples/6.FM2.cpp @@ -12,5 +12,6 @@ void setup() {//some inits void play(double *output) { output[0]=mySine.sinewave(myOtherSine.sinewave(myLastSine.sinewave(0.1)*30)*440);//awesome bassline - + output[1]=output[0]; + } diff --git a/maximilian_examples/7.Counting.cpp b/maximilian_examples/7.Counting.cpp deleted file mode 100755 index e620b3a..0000000 --- a/maximilian_examples/7.Counting.cpp +++ /dev/null @@ -1,33 +0,0 @@ -// This example shows how you can create a basic counter with a phasor. -// A phasor oscillator can create a ramp between any two values. -// It takes three inputs - frequency, start value and stop value. -// These are all double precision floats, so it's a continuous slide. -// If you write it into an integer, it will round it off for you. -// This creates a bunch of steps. - -#include "maximilian.h" - -maxiOsc myCounter,mySquare;//these oscillators will help us count and play sound -int CurrentCount;//we're going to put the current count in this variable so that we can use it more easily. - - -void setup() {//some inits - //nothing to go here this time -} - -void play(double *output) { - - // Here you can see that CurrentCount is an int. It's taking the continuous output of the phasor and convering it. - // You don't need to explicityly 'cast' (i.e. change) the value from a float to an int. - // It happens automagically in these cases. - - // Once every second, CurrentCount counts from 1 until it gets to 9, then resets itself. - // When it reaches 9 it resets, so the values you get are 1-8. - - CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - - // If we multiply the output of CurrentCount by 100, we get 100,200,300,400,500,600,700,800 in that order. - // These become the frequency of the oscillator. - // In this case, the oscillator is an antialiased sawtooth wave. Yum. - output[0]=mySquare.sawn(CurrentCount*100); -} diff --git a/maximilian_examples/7.Counting1.cpp b/maximilian_examples/7.Counting1.cpp new file mode 100755 index 0000000..6bdfd85 --- /dev/null +++ b/maximilian_examples/7.Counting1.cpp @@ -0,0 +1,33 @@ + +#include "maximilian.h" + +maxiOsc mySine; // This is the oscillator we will use to generate the test tone +maxiClock myClock; // This will allow us to generate a clock signal and do things at specific times +double freq; // This is a variable that we will use to hold and set the current frequency of the oscillator + +void setup() { + + myClock.setTicksPerBeat(1);//This sets the number of ticks per beat + myClock.setTempo(120);// This sets the tempo in Beats Per Minute + freq=20; // Here we initialise the variable +} + +void play(double *output) { + + myClock.ticker(); // This makes the clock object count at the current samplerate + + //This is a 'conditional'. It does a test and then does something if the test is true + + if (myClock.tick) { // If there is an actual tick at this time, this will be true. + + freq+=100; // DO SOMETHING + + } // The curly braces close the conditional + + //output[0] is the left output. output[1] is the right output + + output[0]=mySine.sinewave(freq);//simple as that! + output[1]=output[0]; + +} + diff --git a/maximilian_examples/8.Counting2.cpp b/maximilian_examples/8.Counting2.cpp index ce016d0..05984c5 100755 --- a/maximilian_examples/8.Counting2.cpp +++ b/maximilian_examples/8.Counting2.cpp @@ -1,24 +1,35 @@ +// This example shows how you can create a basic counter with a phasor. +// A phasor oscillator can create a ramp between any two values. +// It takes three inputs - frequency, start value and stop value. +// These are all double precision floats, so it's a continuous slide. +// If you write it into an integer, it will round it off for you. +// This creates a bunch of steps. + #include "maximilian.h" -maxiOsc myCounter,mySwitchableOsc;//these oscillators will help us count and make sound. +maxiOsc myCounter,mySquare;//these oscillators will help us count and play sound int CurrentCount;//we're going to put the current count in this variable so that we can use it more easily. -double myOscOutput;//we're going to stick the output here to make it easier to mess with stuff. + void setup() {//some inits - //nothing to go here this time + //nothing to go here this time } void play(double *output) { - - CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. - - if (CurrentCount<5)//simple if statement - - myOscOutput=mySwitchableOsc.square(CurrentCount*100); - - else if (CurrentCount>=5)//and the 'else' bit. - - myOscOutput=mySwitchableOsc.sinewave(CurrentCount*50);//one osc object can produce whichever waveform you want. - - *output=myOscOutput;//point me at your speakers and fire. + + // Here you can see that CurrentCount is an int. It's taking the continuous output of the phasor and convering it. + // You don't need to explicityly 'cast' (i.e. change) the value from a float to an int. + // It happens automagically in these cases. + + // Once every second, CurrentCount counts from 1 until it gets to 9, then resets itself. + // When it reaches 9 it resets, so the values you get are 1-8. + + CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. + + // If we multiply the output of CurrentCount by 100, we get 100,200,300,400,500,600,700,800 in that order. + // These become the frequency of the oscillator. + // In this case, the oscillator is an antialiased sawtooth wave. Yum. + output[0]=mySquare.sawn(CurrentCount*100); + output[1]=output[0]; + } diff --git a/maximilian_examples/8.Counting3.cpp b/maximilian_examples/8.Counting3.cpp new file mode 100755 index 0000000..36adc01 --- /dev/null +++ b/maximilian_examples/8.Counting3.cpp @@ -0,0 +1,28 @@ +#include "maximilian.h" + +maxiOsc myCounter,mySwitchableOsc;//these oscillators will help us count and make sound. +int CurrentCount;//we're going to put the current count in this variable so that we can use it more easily. +double myOscOutput;//we're going to stick the output here to make it easier to mess with stuff. + +void setup() {//some inits + //nothing to go here this time +} + +void play(double *output) { + + CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. + +// here we use a conditional to make something happen at a specific time. + + if (CurrentCount<5)//simple if statement + + myOscOutput=mySwitchableOsc.square(CurrentCount*100); + + else if (CurrentCount>=5)//and the 'else' bit. + + myOscOutput=mySwitchableOsc.sinewave(CurrentCount*50);//one osc object can produce whichever waveform you want. + + output[0]=myOscOutput; + output[1]=output[0]; + +} diff --git a/maximilian_examples/8.Counting4.cpp b/maximilian_examples/8.Counting4.cpp new file mode 100755 index 0000000..cecf548 --- /dev/null +++ b/maximilian_examples/8.Counting4.cpp @@ -0,0 +1,28 @@ +#include "maximilian.h" + +maxiOsc myCounter,mySwitchableOsc,another;//these oscillators will help us count and make sound. +int CurrentCount;//we're going to put the current count in this variable so that we can use it more easily. +double myOscOutput;//we're going to stick the output here to make it easier to mess with stuff. +int myArray[10]={100,200,300,400,300,200,100,240,640,360}; + +void setup() {//some inits + //nothing to go here this time +} + +void play(double *output) { + + CurrentCount=myCounter.phasor(1*((another.sawn(0.1)+1)/2), 1, 9);//phasor can take three arguments; frequency, start value and end value. + + if (CurrentCount<5) {//simple if statement + + myOscOutput=mySwitchableOsc.square(myArray[CurrentCount]); + } + + else if (CurrentCount>=5) {//and the 'else' bit. + + myOscOutput=mySwitchableOsc.sawn(myArray[CurrentCount]);//one osc object can produce whichever waveform you want. + } + output[0]=myOscOutput;//point me at your speakers and fire. + output[1]=output[0]; + +} diff --git a/maximilian_examples/9.Envelopes.cpp b/maximilian_examples/9.Envelopes.cpp index 2cf74f6..138fb0d 100755 --- a/maximilian_examples/9.Envelopes.cpp +++ b/maximilian_examples/9.Envelopes.cpp @@ -47,5 +47,6 @@ void play(double *output) { output[0]=myOscOutput*myCurrentVolume;//left speaker + output[1]=output[0]; } diff --git a/maximilian_examples/arrays.cpp b/maximilian_examples/arrays.cpp new file mode 100644 index 0000000..1badd9b --- /dev/null +++ b/maximilian_examples/arrays.cpp @@ -0,0 +1,60 @@ +// +// arrays.cpp +// +// +// Created by Michael Grierson on 14/09/2015. +// +// + +#include "maximilian.h" + +currentChord=0;//some other control variables +int pitch[8]={57,57,59,60};//the bassline for the arpeggio +int chord[8]={0,0,7,2,5,5,0,0};//the root chords for the arpeggio +float currentPitch,leadPitch;//the final pitch variables + +//here's the lead line trigger array, followed by the pitches +int leadLineTrigger[256]={1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; +int leadLinePitch[15]={69,67,65,64,67,66,64,62,65,64,62,57,55,60,57}; + + + +void setup() {//some inits + +} + +void play(double *output) {//this is where the magic happens. Very slow magic. + + currentCount=(int)timer.phasor(9);//this sets up a metronome that ticks every so often + + if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound + trigger=1;//play the arpeggiator line + trigger2=leadLineTrigger[playHead%256];//play the lead line + if (trigger2==1) {//if we are going to play a note + leadPitch=mtof.mtof(leadLinePitch[newnote]);//get the next pitch val + newnote++;//and iterate + if (newnote>14) { + newnote=0;//make sure we don't go over the edge of the array + } + } + currentPitch=mtof.mtof(pitch[(playHead%4)]+chord[currentChord%8]);//write the frequency val into currentPitch + playHead++;//iterate the playhead + if (playHead%32==0) {//wrap every 4 bars + currentChord++;//change the chord + } + //cout << "tick\n";//the clock ticks + lastCount=0;//set lastCount to 0 + } + + bassout=filter2.lores(envelope.adsr(bass.saw(currentPitch*0.5)+sound.pulse(currentPitch*0.5,mod.phasor(1)),1,0.9995, 0.25, 0.9995, 1, trigger),9250,2);//new, simple ADSR. + leadout=filter.lores(leadenvelope.ar(lead2.saw(leadPitch*4)+lead.pulse(leadPitch+(leadmod.sinebuf(1.9)*1.5), 0.6), 0.00005, 0.999975, 50000, trigger2),5900,10);//leadline + + delayout=(leadout+(delay.dl(leadout, 14000, 0.8)*0.5))/2;//add some delay + + if(trigger!=0)trigger=0;//set the trigger to off if you want it to trigger immediately next time. + + + output[0]=(bassout+delayout)/2;//sum output + output[1]=(bassout+delayout)/2; + +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/Makefile b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/Makefile new file mode 100644 index 0000000..7a7fe8b --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/Makefile @@ -0,0 +1,13 @@ +# Attempt to load a config.make file. +# If none is found, project defaults in config.project.make will be used. +ifneq ($(wildcard config.make),) + include config.make +endif + +# make sure the the OF_ROOT location is defined +ifndef OF_ROOT + OF_ROOT=../../.. +endif + +# call the project makefile! +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/Project.xcconfig b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/Project.xcconfig new file mode 100644 index 0000000..c90f7b1 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/Project.xcconfig @@ -0,0 +1,17 @@ +//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. +//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED +OF_PATH = ../../.. + +//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE +#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" + +//ICONS - NEW IN 0072 +ICON_NAME_DEBUG = icon-debug.icns +ICON_NAME_RELEASE = icon.icns +ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ + +//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: +//ICON_FILE_PATH = bin/data/ + +OTHER_LDFLAGS = $(OF_CORE_LIBS) +HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/GLUT differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/GLUTUI.strings differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/English.lproj/InfoPlist.strings differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/blankCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomleftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/bottomrightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/crossCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/cycleCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/destroyCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/fingerCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/helpCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/leftRightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightArrowCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/rightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/sprayCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/topleftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/toprightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/upDownCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Resources/waitCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT new file mode 100644 index 0000000..babc6b1 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/GLUT differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h new file mode 100644 index 0000000..a5116e2 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/copy.h @@ -0,0 +1,18 @@ + +/* + * + * Written By Linas Vepstas November 1991 + */ + + +#define COPY_THREE_WORDS(A,B) { \ + struct three_words { int a, b, c, }; \ + *(struct three_words *) (A) = *(struct three_words *) (B); \ +} + +#define COPY_FOUR_WORDS(A,B) { \ + struct four_words { int a, b, c, d, }; \ + *(struct four_words *) (A) = *(struct four_words *) (B); \ +} + +/* ============================================================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h new file mode 100644 index 0000000..658699e --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/extrude.h @@ -0,0 +1,96 @@ + +/* + * extrude.h + * + * FUNCTION: + * prototypes for privately used subroutines for the tubing library + * + * HISTORY: + * Linas Vepstas 1991 + */ + +#include "port.h" /* for gleDouble */ + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ============================================================ */ +/* + * Provides choice of calling subroutine, vs. invoking macro. + * Basically, inlines the source, or not. + * Trades performance for executable size. + */ + +#define INLINE_INTERSECT +#ifdef INLINE_INTERSECT +#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); } +#else +#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2) +#endif /* INLINE_INTERSECT */ + +/* ============================================================ */ +/* The folowing defines give a kludgy way of accessing the qmesh primitive */ + +/* +#define bgntmesh _emu_qmesh_bgnqmesh +#define endtmesh _emu_qmesh_endqmesh +#define c3f _emu_qmesh_c3f +#define n3f _emu_qmesh_n3f +#define v3f _emu_qmesh_v3f +*/ + +/* ============================================================ */ + +extern void up_sanity_check (gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3]); /* polyline */ + + +extern void draw_raw_style_end_cap (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble zval, /* where to draw cap */ + int frontwards); /* front or back cap */ + +extern void draw_round_style_cap_callback (int iloop, + double cap[][3], + float face_color[3], + gleDouble cut_vector[3], + gleDouble bisect_vector[3], + double norms[][3], + int frontwards); + +extern void draw_angle_style_front_cap (int ncp, + gleDouble bi[3], + gleDouble point_array[][3]); + +extern void extrusion_raw_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + + +extern void extrusion_angle_join (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2],/* 2D contour normal vecs */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline */ + float color_array[][3], /* color of polyline */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* -------------------------- end of file -------------------------------- */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h new file mode 100644 index 0000000..baf54a7 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmap.h @@ -0,0 +1,137 @@ +#ifndef __glsmap_h__ +#define __glsmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* Try hard to avoid including to avoid name space pollution, + but Win32's needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef CALLBACK + /* XXX This is from Win32's */ +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif /* _WIN32 */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + SMAP_CLEAR_SMAP_TEXTURE = 0x1, + SMAP_GENERATE_VIEW_MIPMAPS = 0x2, + SMAP_GENERATE_SMAP_MIPMAPS = 0x4, + SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */ +} SphereMapFlags; + +/* Cube view enumerants. */ +enum { + SMAP_FRONT = 0, + SMAP_TOP = 1, + SMAP_BOTTOM = 2, + SMAP_LEFT = 3, + SMAP_RIGHT = 4, + SMAP_BACK = 5 +}; + +typedef struct _SphereMap SphereMap; + +extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap); +extern void smapDestroySphereMap(SphereMap *smap); + +extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend); + +extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj); +extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); +extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj); +extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]); + +extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags); +extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags); + +extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y); +extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y); +extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y); + +extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez); +extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz); +extern void smapSetUpVector(SphereMap *smap, GLfloat *up); +extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz); +extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj); +extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez); +extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye); +extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz); +extern void smapGetUpVector(SphereMap *smap, GLfloat *up); +extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz); +extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj); + +extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar); +extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar); + +extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim); +extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim); +extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim); +extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim); + +extern void smapSetContextData(SphereMap *smap, void *context); +extern void smapGetContextData(SphereMap *smap, void **context); + +extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context)); +extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context)); +extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context)); +extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context)); + +extern void smapGenViewTex(SphereMap *smap, int view); +extern void smapGenViewTexs(SphereMap *smap); +extern void smapGenSphereMapFromViewTexs(SphereMap *smap); +extern void smapGenSphereMap(SphereMap *smap); +extern void smapGenSphereMapWithOneViewTex(SphereMap *smap); + +extern int smapRvecToSt(float rvec[3], float st[2]); +extern void smapStToRvec(float *st, float *rvec); + +#ifdef __cplusplus +} + +#endif +#endif /* __glsmap_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h new file mode 100644 index 0000000..3620e7d --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glsmapint.h @@ -0,0 +1,102 @@ +#ifndef __glsmapint_h__ +#define __glsmapint_h__ + +/* Copyright (c) Mark J. Kilgard, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glsmap.h" + +enum { X = 0, Y = 1, Z = 2 }; + +#define INITFACE(mesh) \ + int steps = mesh->steps; \ + int sqsteps = mesh->steps * mesh->steps + +#define FACE(side,y,x) \ + mesh->face[(side)*sqsteps + (y)*steps + (x)] + +#define FACExy(side,i,j) \ + (&FACE(side,i,j).x) + +#define FACEst(side,i,j) \ + (&FACE(side,i,j).s) + +#define INITBACK(mesh) \ + int allrings = mesh->rings + mesh->edgeExtend; \ + int ringedspokes = allrings * mesh->steps + +#define BACK(edge,ring,spoke) \ + mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)] + +#define BACKxy(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).x) + +#define BACKst(edge,ring,spoke) \ + (&BACK(edge,ring,spoke).s) + +typedef struct _STXY { + GLfloat s, t; + GLfloat x, y; +} STXY; + +typedef struct _SphereMapMesh { + + int refcnt; + + int steps; + int rings; + int edgeExtend; + + STXY *face; + STXY *back; + +} SphereMapMesh; + +struct _SphereMap { + + /* Shared sphere map mesh vertex data. */ + SphereMapMesh *mesh; + + /* Texture object ids. */ + GLuint smapTexObj; + GLuint viewTexObjs[6]; + GLuint viewTexObj; + + /* Flags */ + SphereMapFlags flags; + + /* Texture dimensions must be a power of two. */ + int viewTexDim; /* view texture dimension */ + int smapTexDim; /* sphere map texture dimension */ + + /* Viewport origins for view and sphere map rendering. */ + int viewOrigin[2]; + int smapOrigin[2]; + + /* Viewing vectors. */ + GLfloat eye[3]; + GLfloat up[3]; + GLfloat obj[3]; + + /* Projection parameters. */ + GLfloat viewNear; + GLfloat viewFar; + + /* Rendering callbacks. */ + void (*positionLights)(int view, void *context); + void (*drawView)(int view, void *context); + + /* Application specified callback data. */ + void *context; + +}; + +/* Library internal routines. */ +extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side); +extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh); +extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh); + +#endif /* __glsmapint_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h new file mode 100644 index 0000000..cbc6ebe --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glut.h @@ -0,0 +1,648 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ +//#define GLUT_OF_007_HACK + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including + to avoid name space pollution, but Win32's + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 +# define WIN32_LEAN_AND_MEAN +# include +# else + /* XXX This is from Win32's */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX This is from Win32's and */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif + /* XXX This is from Win32's */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ +#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ + +#pragma warning (disable:4244) /* Disable bogus conversion warnings. */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ + +#endif + +#if defined(__APPLE__) || defined(MACOSX) +#include +#include +#include +#else +#include +#include +#endif + +/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */ +#if !defined(_WIN32) +#define APIENTRY +#define GLUT_APIENTRY_DEFINED +#define CALLBACK +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). + + GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP) +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 5 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/** + MacOS X GLUT implementation revision history: + + GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X + specific GLUT API revisions and implementation revisions + (ie, bug fixes). + + GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture. + + GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop. + +**/ +#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_MACOSX_IMPLEMENTATION 2 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif +#define GLUT_NO_RECOVERY 1024 + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +/* Layers for use. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +extern void *glutStrokeRoman; +extern void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +extern void *glutBitmap9By15; +extern void *glutBitmap8By13; +extern void *glutBitmapTimesRoman10; +extern void *glutBitmapTimesRoman24; +extern void *glutBitmapHelvetica10; +extern void *glutBitmapHelvetica12; +extern void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X 100 +#define GLUT_WINDOW_Y 101 +#define GLUT_WINDOW_WIDTH 102 +#define GLUT_WINDOW_HEIGHT 103 +#define GLUT_WINDOW_BUFFER_SIZE 104 +#define GLUT_WINDOW_STENCIL_SIZE 105 +#define GLUT_WINDOW_DEPTH_SIZE 106 +#define GLUT_WINDOW_RED_SIZE 107 +#define GLUT_WINDOW_GREEN_SIZE 108 +#define GLUT_WINDOW_BLUE_SIZE 109 +#define GLUT_WINDOW_ALPHA_SIZE 110 +#define GLUT_WINDOW_ACCUM_RED_SIZE 111 +#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112 +#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113 +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114 +#define GLUT_WINDOW_DOUBLEBUFFER 115 +#define GLUT_WINDOW_RGBA 116 +#define GLUT_WINDOW_PARENT 117 +#define GLUT_WINDOW_NUM_CHILDREN 118 +#define GLUT_WINDOW_COLORMAP_SIZE 119 +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES 120 +#define GLUT_WINDOW_STEREO 121 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR 122 +#endif +#define GLUT_SCREEN_WIDTH 200 +#define GLUT_SCREEN_HEIGHT 201 +#define GLUT_SCREEN_WIDTH_MM 202 +#define GLUT_SCREEN_HEIGHT_MM 203 +#define GLUT_MENU_NUM_ITEMS 300 +#define GLUT_DISPLAY_MODE_POSSIBLE 400 +#define GLUT_INIT_WINDOW_X 500 +#define GLUT_INIT_WINDOW_Y 501 +#define GLUT_INIT_WINDOW_WIDTH 502 +#define GLUT_INIT_WINDOW_HEIGHT 503 +#define GLUT_INIT_DISPLAY_MODE 504 +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME 700 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID 123 +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD 600 +#define GLUT_HAS_MOUSE 601 +#define GLUT_HAS_SPACEBALL 602 +#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603 +#define GLUT_HAS_TABLET 604 +#define GLUT_NUM_MOUSE_BUTTONS 605 +#define GLUT_NUM_SPACEBALL_BUTTONS 606 +#define GLUT_NUM_BUTTON_BOX_BUTTONS 607 +#define GLUT_NUM_DIALS 608 +#define GLUT_NUM_TABLET_BUTTONS 609 +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610 +#define GLUT_DEVICE_KEY_REPEAT 611 +#define GLUT_HAS_JOYSTICK 612 +#define GLUT_OWNS_JOYSTICK 613 +#define GLUT_JOYSTICK_BUTTONS 614 +#define GLUT_JOYSTICK_AXES 615 +#define GLUT_JOYSTICK_POLL_RATE 616 +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE 800 +#define GLUT_LAYER_IN_USE 801 +#define GLUT_HAS_OVERLAY 802 +#define GLUT_TRANSPARENT_INDEX 803 +#define GLUT_NORMAL_DAMAGED 804 +#define GLUT_OVERLAY_DAMAGED 805 + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE 900 +#define GLUT_VIDEO_RESIZE_IN_USE 901 +#define GLUT_VIDEO_RESIZE_X_DELTA 902 +#define GLUT_VIDEO_RESIZE_Y_DELTA 903 +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904 +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905 +#define GLUT_VIDEO_RESIZE_X 906 +#define GLUT_VIDEO_RESIZE_Y 907 +#define GLUT_VIDEO_RESIZE_WIDTH 908 +#define GLUT_VIDEO_RESIZE_HEIGHT 909 +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL 0 +#define GLUT_OVERLAY 1 + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +extern void APIENTRY glutInit(int *argcp, char **argv); +extern void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutInitDisplayString(const char *string); +#endif +extern void APIENTRY glutInitWindowPosition(int x, int y); +extern void APIENTRY glutInitWindowSize(int width, int height); +extern void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +extern int APIENTRY glutCreateWindow(const char *title); +extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +extern void APIENTRY glutDestroyWindow(int win); +extern void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowRedisplay(int win); +#endif +extern void APIENTRY glutSwapBuffers(void); +extern int APIENTRY glutGetWindow(void); +extern void APIENTRY glutSetWindow(int win); +extern void APIENTRY glutSetWindowTitle(const char *title); +extern void APIENTRY glutSetIconTitle(const char *title); +extern void APIENTRY glutPositionWindow(int x, int y); +extern void APIENTRY glutReshapeWindow(int width, int height); +extern void APIENTRY glutPopWindow(void); +extern void APIENTRY glutPushWindow(void); +extern void APIENTRY glutIconifyWindow(void); +extern void APIENTRY glutShowWindow(void); +extern void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutFullScreen(void); +extern void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWarpPointer(int x, int y); +#if (GLUT_MACOSX_IMPLEMENTATION >= 1) +/* surface texturing API Mac OS X specific +* Note: +* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object +*/ +#ifdef MAC_OS_X_VERSION_10_5 +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 +#else +extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); +#endif +#endif +#if (GLUT_MACOSX_IMPLEMENTATION >= 2) +/* Mac OS X specific API */ +extern void APIENTRY glutWMCloseFunc(void (*func)(void)); +extern void APIENTRY glutCheckLoop(void); +#endif +#endif + +/* GLUT overlay sub-API. */ +extern void APIENTRY glutEstablishOverlay(void); +extern void APIENTRY glutRemoveOverlay(void); +extern void APIENTRY glutUseLayer(GLenum layer); +extern void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +extern void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +extern void APIENTRY glutShowOverlay(void); +extern void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +extern int APIENTRY glutCreateMenu(void (*)(int)); +extern void APIENTRY glutDestroyMenu(int menu); +extern int APIENTRY glutGetMenu(void); +extern void APIENTRY glutSetMenu(int menu); +extern void APIENTRY glutAddMenuEntry(const char *label, int value); +extern void APIENTRY glutAddSubMenu(const char *label, int submenu); +extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +extern void APIENTRY glutRemoveMenuItem(int item); +extern void APIENTRY glutAttachMenu(int button); +extern void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +extern void APIENTRY glutDisplayFunc(void (*func)(void)); +extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height)); +extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y)); +extern void APIENTRY glutMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutEntryFunc(void (*func)(int state)); +extern void APIENTRY glutVisibilityFunc(void (*func)(int state)); +extern void APIENTRY glutIdleFunc(void (*func)(void)); +extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value); +extern void APIENTRY glutMenuStateFunc(void (*func)(int state)); +#if (GLUT_API_VERSION >= 2) +extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z)); +extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state)); +extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state)); +extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value)); +extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y)); +extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y)); +extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern void APIENTRY glutWindowStatusFunc(void (*func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)); +extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y)); +extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +//#ifdef GLUT_OF_007_HACK +extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY)); +//#endif +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +extern GLfloat APIENTRY glutGetColor(int ndx, int component); +extern void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +extern int APIENTRY glutGet(GLenum type); +extern int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +extern int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +extern int APIENTRY glutGetModifiers(void); +extern int APIENTRY glutLayerGet(GLenum type); +#endif +#if (GLUT_API_VERSION >= 5) +extern void * APIENTRY glutGetProcAddress(const char *procName); +#endif + +/* GLUT font sub-API */ +extern void APIENTRY glutBitmapCharacter(void *font, int character); +extern int APIENTRY glutBitmapWidth(void *font, int character); +extern void APIENTRY glutStrokeCharacter(void *font, int character); +extern int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +extern void APIENTRY glutWireCube(GLdouble size); +extern void APIENTRY glutSolidCube(GLdouble size); +extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +extern void APIENTRY glutWireDodecahedron(void); +extern void APIENTRY glutSolidDodecahedron(void); +extern void APIENTRY glutWireTeapot(GLdouble size); +extern void APIENTRY glutSolidTeapot(GLdouble size); +extern void APIENTRY glutWireOctahedron(void); +extern void APIENTRY glutSolidOctahedron(void); +extern void APIENTRY glutWireTetrahedron(void); +extern void APIENTRY glutSolidTetrahedron(void); +extern void APIENTRY glutWireIcosahedron(void); +extern void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +extern int APIENTRY glutVideoResizeGet(GLenum param); +extern void APIENTRY glutSetupVideoResizing(void); +extern void APIENTRY glutStopVideoResizing(void); +extern void APIENTRY glutVideoResize(int x, int y, int width, int height); +extern void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +extern void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +extern void APIENTRY glutIgnoreKeyRepeat(int ignore); +extern void APIENTRY glutSetKeyRepeat(int repeatMode); +extern void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE 0 +#define GLUT_GAME_MODE_POSSIBLE 1 +#define GLUT_GAME_MODE_WIDTH 2 +#define GLUT_GAME_MODE_HEIGHT 3 +#define GLUT_GAME_MODE_PIXEL_DEPTH 4 +#define GLUT_GAME_MODE_REFRESH_RATE 5 +#define GLUT_GAME_MODE_DISPLAY_CHANGED 6 + +extern void APIENTRY glutGameModeString(const char *string); +extern int APIENTRY glutEnterGameMode(void); +extern void APIENTRY glutLeaveGameMode(void); +extern int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif /* __glut_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h new file mode 100644 index 0000000..e29a016 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutbitmap.h @@ -0,0 +1,30 @@ +#ifndef __glutbitmap_h__ +#define __glutbitmap_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#include "glut.h" + +typedef struct { + const GLsizei width; + const GLsizei height; + const GLfloat xorig; + const GLfloat yorig; + const GLfloat advance; + const GLubyte *bitmap; +} BitmapCharRec, *BitmapCharPtr; + +typedef struct { + const char *name; + const int num_chars; + const int first; + const BitmapCharRec * const *ch; +} BitmapFontRec, *BitmapFontPtr; + +typedef void *GLUTbitmapFont; + +#endif /* __glutbitmap_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h new file mode 100644 index 0000000..f8a170b --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutf90.h @@ -0,0 +1,90 @@ +#ifndef __glutf90_h__ +#define __glutf90_h__ + +/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +/* This header provides the binding interface for William Mitchell's + f90gl Fortran 90 GLUT binding. Other GLUT language bindings + can and should use this interace. */ + +/* I appreciate the guidance from William Mitchell + (mitchell@cam.nist.gov) in developing this friend interface + for use by the f90gl package. See ../../README.fortran */ + +#include + +#ifndef GLUTCALLBACK + #define GLUTCALLBACK +#endif +#ifndef APIENTRY + #define APIENTRY +#endif + +/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */ +/* NOTE These values are part of a binary interface for the f90gl Fortran + 90 binding and so must NOT changes (additions are allowed). */ + +/* GLUTwindow callbacks. */ +#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */ +#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */ +#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */ +#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */ +#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */ +#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */ +#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */ +#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */ +#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */ +#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */ +#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */ +#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */ +#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */ +#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */ +#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */ +#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */ +#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */ +#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */ +#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */ +#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */ +#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */ +/* Non-GLUTwindow callbacks. */ +#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */ +#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */ +#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */ + +/* GLUT Fortran callback function types. */ +typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void); +typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void); +typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *); +/* NOTE the pressed key is int, not unsigned char for Fortran! */ +typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTentryFCB) (int *); +typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *); +typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *); +typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *); +typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z); + +typedef void (GLUTCALLBACK *GLUTselectFCB) (int *); +typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *); +typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */ +typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *); +typedef void (GLUTCALLBACK *GLUTidleFCB) (void); + +/* Functions that set and return Fortran callback functions. */ +extern void* APIENTRY __glutGetFCB(int which); +extern void APIENTRY __glutSetFCB(int which, void *func); + +#endif /* __glutf90_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h new file mode 100644 index 0000000..cbc9e15 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/glutstroke.h @@ -0,0 +1,42 @@ +#ifndef __glutstroke_h__ +#define __glutstroke_h__ + +/* Copyright (c) Mark J. Kilgard, 1994. */ + +/* This program is freely distributable without licensing fees + and is provided without guarantee or warrantee expressed or + implied. This program is -not- in the public domain. */ + +#if defined(_WIN32) +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +#endif + +typedef struct { + float x; + float y; +} CoordRec, *CoordPtr; + +typedef struct { + int num_coords; + const CoordRec *coord; +} StrokeRec, *StrokePtr; + +typedef struct { + int num_strokes; + const StrokeRec *stroke; + float center; + float right; +} StrokeCharRec, *StrokeCharPtr; + +typedef struct { + const char *name; + int num_chars; + const StrokeCharRec *ch; + float top; + float bottom; +} StrokeFontRec, *StrokeFontPtr; + +typedef void *GLUTstrokeFont; + +#endif /* __glutstroke_h__ */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h new file mode 100644 index 0000000..f7ffcf3 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/gutil.h @@ -0,0 +1,89 @@ + +/* + * gutil.h + * + * FUNCTION: + * Provide utilities that allow rotation to occur + * around any axis. + * + * HISTORY: + * created by Linas Vepstas 1990 + * added single & double precision, June 1991, Linas Vepstas + */ + +#ifndef __GUTIL_H__ +#define __GUTIL_H__ + +#ifdef __GUTIL_DOUBLE +#define gutDouble double +#else +#define gutDouble float +#endif + + +#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (); +extern void rot_about_axis_f (); +extern void rot_omega_f (); +extern void urot_axis_f (); +extern void urot_about_axis_f (); +extern void urot_omega_f (); + +/* double-precision versions */ +extern void rot_axis_d (); +extern void rot_about_axis_d (); +extern void rot_omega_d (); +extern void urot_axis_d (); +extern void urot_about_axis_d (); +extern void urot_omega_d (); + +/* viewpoint functions */ +extern void uview_direction_d (); +extern void uview_direction_f (); +extern void uviewpoint_d (); +extern void uviewpoint_f (); + +#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */ + +/* Rotation Utilities */ +extern void rot_axis_f (float omega, float axis[3]); +extern void rot_about_axis_f (float angle, float axis[3]); +extern void rot_omega_f (float axis[3]); +extern void urot_axis_f (float m[4][4], float omega, float axis[3]); +extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]); +extern void urot_omega_f (float m[4][4], float axis[3]); + +/* double-precision versions */ +extern void rot_axis_d (double omega, double axis[3]); +extern void rot_about_axis_d (double angle, double axis[3]); +extern void rot_omega_d (double axis[3]); +extern void urot_axis_d (double m[4][4], double omega, double axis[3]); +extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]); +extern void urot_omega_d (double m[4][4], double axis[3]); + +/* viewpoint functions */ +extern void uview_direction_d (double m[4][4], /* returned */ + double v21[3], /* input */ + double up[3]); /* input */ + +extern void uview_direction_f (float m[4][4], /* returned */ + float v21[3], /* input */ + float up[3]); /* input */ + +extern void uviewpoint_d (double m[4][4], /* returned */ + double v1[3], /* input */ + double v2[3], /* input */ + double up[3]); /* input */ + +extern void uviewpoint_f (float m[4][4], /* returned */ + float v1[3], /* input */ + float v2[3], /* input */ + float up[3]); /* input */ + +#endif /* _NO_PROTO */ + +#endif /* _GUTIL_H__ */ + +/* ------------------- end of file ---------------------- */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h new file mode 100644 index 0000000..f5ff7a5 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/intersect.h @@ -0,0 +1,391 @@ +/* + * FUNCTION: + * This file contains a number of utilities useful to 3D graphics in + * general, and to the generation of tubing and extrusions in particular + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Updated to correctly handle degenerate cases, Linas, February 1993 + */ + +#include +#include "port.h" +#include "vvector.h" + +#define BACKWARDS_INTERSECT (2) + +/* ========================================================== */ +/* + * the Degenerate_Tolerance token represents the greatest amount by + * which different scales in a graphics environment can differ before + * they should be considered "degenerate". That is, when one vector is + * a million times longer than another, changces are that the second will + * be less than a pixel int, and therefore was probably meant to be + * degenerate (by the CAD package, etc.) But what should this tolerance + * be? At least 1 in onethousand (since screen sizes are 1K pixels), but + * les than 1 in 4 million (since this is the limit of single-precision + * floating point accuracy). Of course, if double precision were used, + * then the tolerance could be increased. + * + * Potentially, this naive assumption could cause problems if the CAD + * package attempts to zoom in on small details, and turns out, certain + * points should not hvae been degenerate. The problem presented here + * is that the tolerance could run out before single-precision ran + * out, and so the CAD packages would perceive this as a "bug". + * One alternative is to fiddle around & try to tighten the tolerance. + * However, the right alternative is to code the graphics pipeline in + * double-precision (and tighten the tolerance). + * + * By the way, note that Degernate Tolerance is a "dimensionless" + * quantitiy -- it has no units -- it does not measure feet, inches, + * millimeters or pixels. It is used only in the computations of ratios + * and relative lengths. + */ + +/* + * Right now, the tolerance is set to 2 parts in a million, which + * corresponds to a 19-bit distinction of mantissas. Note that + * single-precsion numbers have 24 bit mantissas. + */ + +#define DEGENERATE_TOLERANCE (0.000002) + +/* ========================================================== */ +/* + * The macro and subroutine INTERSECT are designed to compute the + * intersection of a line (defined by the points v1 and v2) and a plane + * (defined as plane which is normal to the vector n, and contains the + * point p). Both return the point sect, which is the point of + * interesection. + * + * This MACRO attemps to be fairly robust by checking for a divide by + * zero. + */ + +/* ========================================================== */ +/* + * HACK ALERT + * The intersection parameter t has the nice property that if t>1, + * then the intersection is "in front of" p1, and if t<0, then the + * intersection is "behind" p2. Unfortunately, as the intersecting plane + * and the line become parallel, t wraps through infinity -- i.e. t can + * become so large that t becomes "greater than infinity" and comes back + * as a negative number (i.e. winding number hopped by one unit). We + * have no way of detecting this situation without adding gazzillions + * of lines of code of topological algebra to detect the winding number; + * and this would be incredibly difficult, and ruin performance. + * + * Thus, we've installed a cheap hack for use by the "cut style" drawing + * routines. If t proves to be a large negative number (more negative + * than -5), then we assume that t was positive and wound through + * infinity. This makes most cuts look good, without introducing bogus + * cuts at infinity. + */ +/* ========================================================== */ + +#define INTERSECT(sect,p,n,v1,v2) \ +{ \ + gleDouble deno, numer, t, omt; \ + \ + deno = (v1[0] - v2[0]) * n[0]; \ + deno += (v1[1] - v2[1]) * n[1]; \ + deno += (v1[2] - v2[2]) * n[2]; \ + \ + if (deno == 0.0) { \ + VEC_COPY (n, v1); \ + /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \ + } else { \ + \ + numer = (p[0] - v2[0]) * n[0]; \ + numer += (p[1] - v2[1]) * n[1]; \ + numer += (p[2] - v2[2]) * n[2]; \ + \ + t = numer / deno; \ + omt = 1.0 - t; \ + \ + sect[0] = t * v1[0] + omt * v2[0]; \ + sect[1] = t * v1[1] + omt * v2[1]; \ + sect[2] = t * v1[2] + omt * v2[2]; \ + } \ +} + +/* ========================================================== */ +/* + * The macro and subroutine BISECTING_PLANE compute a normal vector that + * describes the bisecting plane between three points (v1, v2 and v3). + * This bisecting plane has the following properties: + * 1) it contains the point v2 + * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it + * makes with v32 == v3 - v2 + * 3) it is perpendicular to the plane defined by v1, v2, v3. + * + * Having input v1, v2, and v3, it returns a unit vector n. + * + * In some cases, the user may specify degenerate points, and still + * expect "reasonable" or "obvious" behaviour. The "expected" + * behaviour for these degenerate cases is: + * + * 1) if v1 == v2 == v3, then return n=0 + * 2) if v1 == v2, then return v32 (normalized). + * 3) if v2 == v3, then return v21 (normalized). + * 4) if v1, v2 and v3 co-linear, then return v21 (normalized). + * + * Mathematically, these special cases "make sense" -- we just have to + * code around potential divide-by-zero's in the code below. + */ + +/* ========================================================== */ + +#define BISECTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as bisector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \ + (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ +/* + * The block of code below is ifdef'd out, and is here for reference + * purposes only. It performs the "mathematically right thing" for + * computing a bisecting plane, but is, unfortunately, subject ot noise + * in the presence of near degenerate points. Since computer graphics, + * due to sloppy coding, laziness, or correctness, is filled with + * degenerate points, we can't really use this version. The code above + * is far more appropriate for graphics. + */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define BISECTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double vdot; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 == 0.0) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as bisector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + } \ + \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + if (len32 == 0.0) { \ + /* return a normalized copy of v21 as bisector */ \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DOT_PRODUCT (vdot, v32, v21); \ + \ + /* if vdot == 1 or -1, then points are colinear */ \ + if ((vdot == 1.0) || (vdot == -1.0)) { \ + VEC_COPY (n, v21); \ + } else { \ + \ + /* go do the full computation */ \ + n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \ + n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \ + n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \ + \ + /* if above if-test's passed, \ + * n should NEVER be of zero length */ \ + VEC_NORMALIZE (n); \ + } \ + } \ + } \ +} +#endif + +/* ========================================================== */ +/* + * This macro computes the plane perpendicular to the the plane + * defined by three points, and whose normal vector is givven as the + * difference between the two vectors ... + * + * (See way below for the "math" model if you want to understand this. + * The comments about relative errors above apply here.) + */ + +#define CUTTING_PLANE(valid,n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + double len21, len32; \ + double lendiff; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_LENGTH (len21, v21); \ + VEC_LENGTH (len32, v32); \ + \ + if (len21 <= DEGENERATE_TOLERANCE * len32) { \ + \ + if (len32 == 0.0) { \ + /* all three points lie ontop of one-another */ \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + /* return a normalized copy of v32 as cut-vector */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (n, len32, v32); \ + valid = TRUE; \ + } \ + \ + } else { \ + \ + valid = TRUE; \ + \ + if (len32 <= DEGENERATE_TOLERANCE * len21) { \ + /* return a normalized copy of v21 as cut vector */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (n, len21, v21); \ + } else { \ + \ + /* normalize v21 to be of unit length */ \ + len21 = 1.0 / len21; \ + VEC_SCALE (v21, len21, v21); \ + \ + /* normalize v32 to be of unit length */ \ + len32 = 1.0 / len32; \ + VEC_SCALE (v32, len32, v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_LENGTH (lendiff, n); \ + \ + /* if the perp vector is very small, then the two \ + * vectors are darn near collinear, and the cut \ + * vector is probably poorly defined. */ \ + if (lendiff < DEGENERATE_TOLERANCE) { \ + VEC_ZERO (n); \ + valid = FALSE; \ + } else { \ + lendiff = 1.0 / lendiff; \ + VEC_SCALE (n, lendiff, n); \ + } \ + } \ + } \ +} + +/* ========================================================== */ + +#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER +#define CUTTING_PLANE(n,v1,v2,v3) \ +{ \ + double v21[3], v32[3]; \ + \ + VEC_DIFF (v21, v2, v1); \ + VEC_DIFF (v32, v3, v2); \ + \ + VEC_NORMALIZE (v21); \ + VEC_NORMALIZE (v32); \ + \ + VEC_DIFF (n, v21, v32); \ + VEC_NORMALIZE (n); \ +} +#endif + + +/* ============================================================ */ +/* This macro is used in several places to cycle through a series of + * points to find the next non-degenerate point in a series */ + +#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \ +{ \ + gleDouble slen; \ + gleDouble summa[3]; \ + \ + do { \ + /* get distance to next point */ \ + VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (len, diff); \ + VEC_SUM (summa, point_array[inext+1], point_array[inext]); \ + VEC_LENGTH (slen, summa); \ + slen *= DEGENERATE_TOLERANCE; \ + inext ++; \ + } while ((len <= slen) && (inext < npoints-1)); \ +} + +/* ========================================================== */ + +extern int bisecting_plane (gleDouble n[3], /* returned */ + gleDouble v1[3], /* input */ + gleDouble v2[3], /* input */ + gleDouble v3[3]); /* input */ + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h new file mode 100644 index 0000000..2827bbf --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/port.h @@ -0,0 +1,298 @@ + +/* + * port.h + * + * FUNCTION: + * This file contains defines for porting the tubing toolkit from GL to + * OpenGL to some callback scheme. + * + * HISTORY: + * Created by Linas Vepstas -- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + */ + +#ifndef __GLE_PORT_H__ +#define __GLE_PORT_H__ + + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +/* ====================================================== */ +/* Some compilers can't handle multiply-subscripted array's */ + +#ifdef FUNKY_C +typedef gleDouble gleVector; +#define AVAL(arr,n,i,j) arr(6*n+3*i+j) +#define VVAL(arr,n,i) arr(3*n+i) + +#else /* FUNKY_C */ +typedef double gleVector[3]; +typedef double glePoint[2]; +#define AVAL(arr,n,i,j) arr[n][i][j] +#define VVAL(arr,n,i) arr[n][i]; + +#endif /* FUNKY_C */ + +/* ====================================================== */ +/* These are used to convey info about topography to the + * texture mapping routines */ + +#define FRONT 1 +#define BACK 2 +#define FRONT_CAP 3 +#define BACK_CAP 4 +#define FILLET 5 + +/* ====================================================== */ + +#define __GLE_DOUBLE + +/* ====================================================== */ + +#ifdef __GLE_DOUBLE +#ifndef gleDouble + #define gleDouble double +#endif +#define urot_axis(a,b,c) urot_axis_d(a,b,c) +#define uview_direction(a,b,c) uview_direction_d(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_D(m) +#define LOADMATRIX(m) LOADMATRIX_D(m) +#define V3F(x,j,id) V3F_D(x,j,id) +#define N3F(x) N3F_D(x) +#define T2F(x,y) T2F_D(x,y) +#else +#define gleDouble float +#define urot_axis(a,b,c) urot_axis_f(a,b,c) +#define uview_direction(a,b,c) uview_direction_f(a,b,c) +#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d) +#define MULTMATRIX(m) MULTMATRIX_F(m) +#define LOADMATRIX(m) LOADMATRIX_F(m) +#define V3F(x,j,id) V3F_F(x,j,id) +#define N3F(x) N3F_F(x) +#define T2F(x,y) T2F_F(x,y) +#endif + +/* ====================================================== */ + +#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10) +#undef GL_32 +#undef OPENGL_10 + +#define BGNTMESH(i,len) printf ("bgntmesh() \n"); +#define ENDTMESH() printf ("endtmesh() \n"); +#define BGNPOLYGON() printf ("bgnpolygon() \n"); +#define ENDPOLYGON() printf ("endpolygon() \n"); +#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]); +#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]); +#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]); + +#define POPMATRIX() printf ("popmatrix () \n"); +#define PUSHMATRIX() printf ("pushmatrix() \n"); +#define MULTMATRIX_F(x) MULTMATRIX_D(x) +#define LOADMATRIX_F(x) LOADMATRIX_D(x) + + +#define LOADMATRIX_D(x) { \ + int i, j; \ + printf ("loadmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + printf ("multmatrix (x) \n"); \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ( "%f ", x[i][j]); \ + } \ + printf (" \n"); \ + } \ +} + +#define __IS_LIGHTING_ON (1) + +#endif + +/* ====================================================== */ + +#ifdef GL_32 + +#include + +#define BGNTMESH(i,len) bgntmesh() +#define ENDTMESH() endtmesh() +#define BGNPOLYGON() bgnpolygon() +#define ENDPOLYGON() endpolygon() +#define V3F_F(x,j,id) v3f(x) +#define V3F_D(x,j,id) v3d(x) +#define N3F_F(x) n3f(x) +#define T2F_F(x,y) +#define T2F_D(x,y) +#define C3F(x) c3f(x) + +#define POPMATRIX() popmatrix () +#define PUSHMATRIX() pushmatrix() +#define MULTMATRIX_F(x) multmatrix (x) +#define LOADMATRIX_F(x) loadmatrix (x) + +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = (float) x[0]; \ + nnn[1] = (float) x[1]; \ + nnn[2] = (float) x[2]; \ + n3f (nnn); \ +} + +#define LOADMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + loadmatrix(mmm); \ +} + +#define MULTMATRIX_D(x) { \ + int i, j; \ + float mmm[4][4]; \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + mmm[i][j] = (float) x[i][j]; \ + } \ + } \ + multmatrix(mmm); \ +} + +/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */ +#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON) + +#endif /* GL_32 */ + +/* ====================================================== */ +#ifdef OPENGL_10 + +#if defined(_WIN32) +#include +#pragma warning (disable:4244) /* disable bogus conversion warnings */ +#endif +#include +#include + +/* +#define N3F_F(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +#define N3F_D(x) { \ + float nnn[3]; \ + nnn[0] = - (float) x[0]; \ + nnn[1] = - (float) x[1]; \ + nnn[2] = - (float) x[2]; \ + glNormal3fv (nnn); \ +} +*/ + +#define C3F(x) glColor3fv(x) +#define T2F_F(x,y) glTexCoord2f(x,y) +#define T2F_D(x,y) glTexCoord2d(x,y) + +#define POPMATRIX() glPopMatrix() +#define PUSHMATRIX() glPushMatrix() + +#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x) +#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x) + +#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x) +#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x) + +#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING)) + +/* ====================================================== */ +#ifdef AUTO_TEXTURE + +#define BGNTMESH(i,len) { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\ + glBegin (GL_TRIANGLE_STRIP); \ +} + +#define BGNPOLYGON() { \ + if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\ + glBegin (GL_POLYGON); \ +} + +#define N3F_F(x) { \ + if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \ + glNormal3fv(x); \ +} + +#define N3F_D(x) { \ + if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \ + glNormal3dv(x); \ +} + +#define V3F_F(x,j,id) { \ + if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\ + glVertex3fv(x); \ +} + +#define V3F_D(x,j,id) { \ + if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \ + glVertex3dv(x); \ +} + +#define ENDTMESH() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +#define ENDPOLYGON() { \ + if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \ + glEnd (); \ +} + +/* ====================================================== */ +#else /* AUTO_TEXTURE */ + +#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP); +#define BGNPOLYGON() glBegin (GL_POLYGON); + +#define N3F_F(x) glNormal3fv(x) +#define N3F_D(x) glNormal3dv(x) +#define V3F_F(x,j,id) glVertex3fv(x); +#define V3F_D(x,j,id) glVertex3dv(x); + +#define ENDTMESH() glEnd () +#define ENDPOLYGON() glEnd() + +#endif /* AUTO_TEXTURE */ + +#endif /* OPENGL_10 */ + +/* ====================================================== */ + + +#endif /* __GLE_PORT_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h new file mode 100644 index 0000000..91083e9 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/rot.h @@ -0,0 +1,98 @@ + +/* + * rot.h + * + * FUNCTION: + * rotation matrix utilities + * + * HISTORY: + * Linas Vepstas Aug 1990 + */ + +/* ========================================================== */ +/* + * The MACROS below generate and return more traditional rotation + * matrices -- matrices for rotations about principal axes. + */ +/* ========================================================== */ + +#define ROTX_CS(m,cosine,sine) \ +{ \ + /* rotation about the x-axis */ \ + \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = (cosine); \ + m[1][2] = (sine); \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = -(sine); \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTY_CS(m,cosine,sine) \ +{ \ + /* rotation about the y-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = 0.0; \ + m[0][2] = -(sine); \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = (sine); \ + m[2][1] = 0.0; \ + m[2][2] = (cosine); \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ + +#define ROTZ_CS(m,cosine,sine) \ +{ \ + /* rotation about the z-axis */ \ + \ + m[0][0] = (cosine); \ + m[0][1] = (sine); \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = -(sine); \ + m[1][1] = (cosine); \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h new file mode 100644 index 0000000..8d1cf04 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/segment.h @@ -0,0 +1,98 @@ + +/* + * MODULE: segment.h + * + * FUNCTION: + * Contains function prototypes for segment drawing subroutines. + * These are used only internally, and are not to be exported to + * the user. + * + * HISTORY: + * Create by Linas Vepstas + * Added tube.h include to define gleDouble, tad February 2002 + */ + +/* ============================================================ */ + +#include "tube.h" + +extern void draw_segment_plain (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + int inext, double len); + +extern void draw_segment_color (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_edge_n (int ncp, /* number of contour points */ + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_edge_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_segment_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + int inext, double len); + +extern void draw_segment_c_and_facet_n (int ncp, + gleDouble front_contour[][3], + gleDouble back_contour[][3], + double norm_cont[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +/* ============================================================ */ + +extern void draw_binorm_segment_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_edge_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_binorm_segment_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + int inext, double len); + +extern void draw_binorm_segment_c_and_facet_n (int ncp, + double front_contour[][3], + double back_contour[][3], + double front_norm[][3], + double back_norm[][3], + float color_last[3], + float color_next[3], + int inext, double len); + +extern void draw_angle_style_back_cap (int ncp, /* number of contour points */ + gleDouble bi[3], /* biscetor */ + gleDouble point_array[][3]); /* polyline */ + +/* -------------------------- end of file -------------------------------- */ + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h new file mode 100644 index 0000000..c303e19 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube.h @@ -0,0 +1,203 @@ +/* + * tube.h + * + * FUNCTION: + * Tubing and Extrusion header file. + * This file provides protypes and defines for the extrusion + * and tubing primitives. + * + * HISTORY: + * Linas Vepstas 1990, 1991 + */ + +#ifndef __TUBE_H__ +#define __TUBE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + GLE API revision history: + + GLE_API_VERSION is updated to reflect GLE API changes (interface + changes, semantic changes, deletions, or additions). + + GLE_API_VERSION=228 GLUT 3.7 release of GLE. +**/ +#ifndef GLE_API_VERSION /* allow this to be overriden */ +#define GLE_API_VERSION 228 +#endif + +/* some types */ +#ifndef gleDouble + #define gleDouble double +#endif +typedef gleDouble gleAffine[2][3]; + +/* ====================================================== */ + +/* defines for tubing join styles */ +#define TUBE_JN_RAW 0x1 +#define TUBE_JN_ANGLE 0x2 +#define TUBE_JN_CUT 0x3 +#define TUBE_JN_ROUND 0x4 +#define TUBE_JN_MASK 0xf /* mask bits */ +#define TUBE_JN_CAP 0x10 + +/* determine how normal vectors are to be handled */ +#define TUBE_NORM_FACET 0x100 +#define TUBE_NORM_EDGE 0x200 +#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */ +#define TUBE_NORM_MASK 0xf00 /* mask bits */ + +/* closed or open countours */ +#define TUBE_CONTOUR_CLOSED 0x1000 + +#define GLE_TEXTURE_ENABLE 0x10000 +#define GLE_TEXTURE_STYLE_MASK 0xff +#define GLE_TEXTURE_VERTEX_FLAT 1 +#define GLE_TEXTURE_NORMAL_FLAT 2 +#define GLE_TEXTURE_VERTEX_CYL 3 +#define GLE_TEXTURE_NORMAL_CYL 4 +#define GLE_TEXTURE_VERTEX_SPH 5 +#define GLE_TEXTURE_NORMAL_SPH 6 +#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7 +#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8 +#define GLE_TEXTURE_VERTEX_MODEL_CYL 9 +#define GLE_TEXTURE_NORMAL_MODEL_CYL 10 +#define GLE_TEXTURE_VERTEX_MODEL_SPH 11 +#define GLE_TEXTURE_NORMAL_MODEL_SPH 12 + +#ifdef GL_32 +/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */ +#define TUBE_LIGHTING_ON 0x80000000 + +#define gleExtrusion extrusion +#define gleSetJoinStyle setjoinstyle +#define gleGetJoinStyle getjoinstyle +#define glePolyCone polycone +#define glePolyCylinder polycylinder +#define gleSuperExtrusion super_extrusion +#define gleTwistExtrusion twist_extrusion +#define gleSpiral spiral +#define gleLathe lathe +#define gleHelicoid helicoid +#define gleToroid toroid +#define gleScrew screw + +#endif /* GL_32 */ + +extern int gleGetJoinStyle (void); +extern void gleSetJoinStyle (int style); /* bitwise OR of flags */ +extern int gleGetNumSlices(void); +extern void gleSetNumSlices(int slices); + +/* draw polyclinder, specified as a polyline */ +extern void glePolyCylinder (int npoints, /* num points in polyline */ + gleDouble point_array[][3], /* polyline vertces */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius); /* radius of polycylinder */ + +/* draw polycone, specified as a polyline with radii */ +extern void glePolyCone (int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* colors at polyline verts */ + gleDouble radius_array[]); /* cone radii at polyline verts */ + +/* extrude arbitrary 2D contour along arbitrary 3D path */ +extern void gleExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3]); /* colors at polyline verts */ + +/* extrude 2D contour, specifying local rotations (twists) */ +extern void gleTwistExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble twist_array[]); /* countour twists (in degrees) */ + +/* extrude 2D contour, specifying local affine tranformations */ +extern void gleSuperExtrusion (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + int npoints, /* numpoints in poly-line */ + gleDouble point_array[][3], /* polyline vertices */ + float color_array[][3], /* color at polyline verts */ + gleDouble xform_array[][2][3]); /* 2D contour xforms */ + +/* spiral moves contour along helical path by parallel transport */ +extern void gleSpiral (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* lathe moves contour along helical path by helically shearing 3D space */ +extern void gleLathe (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to spiral, except contour is a circle */ +extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* similar to lathe, except contour is a circle */ +extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */ + gleDouble startRadius, /* spiral starts in x-y plane */ + gleDouble drdTheta, /* change in radius per revolution */ + gleDouble startZ, /* starting z value */ + gleDouble dzdTheta, /* change in Z per revolution */ + gleDouble startXform[2][3], /* starting contour affine xform */ + gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */ + gleDouble startTheta, /* start angle in x-y plane */ + gleDouble sweepTheta); /* degrees to spiral around */ + +/* draws a screw shape */ +extern void gleScrew (int ncp, /* number of contour points */ + gleDouble contour[][2], /* 2D contour */ + gleDouble cont_normal[][2], /* 2D contour normals */ + gleDouble up[3], /* up vector for contour */ + gleDouble startz, /* start of segment */ + gleDouble endz, /* end of segment */ + gleDouble twist); /* number of rotations */ + +extern void gleTextureMode (int mode); + +#ifdef __cplusplus +} + +#endif +#endif /* __TUBE_H__ */ +/* ================== END OF FILE ======================= */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h new file mode 100644 index 0000000..ccd2853 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/tube_gc.h @@ -0,0 +1,78 @@ + +/* + * tube_gc.h + * + * FUNCTION: + * This file allows for easy changes to changes in the way the extrusion + * library handles state info (i.e. context). + * + * HISTORY: + * Linas Vepstas --- February 1993 + * Added auto texture coord generation hacks, Linas April 1994 + * Added tube.h include to define gleDouble, tad February 2002 + */ + +#include "tube.h" +#include "port.h" /* for gleVector */ + +typedef float gleColor[3]; +typedef double gleTwoVec[2]; + +typedef struct { + + /* public methods */ + void (*bgn_gen_texture) (int, double); + void (*n3f_gen_texture) (float *); + void (*n3d_gen_texture) (double *); + void (*v3f_gen_texture) (float *, int, int); + void (*v3d_gen_texture) (double *, int, int); + void (*end_gen_texture) (void); + + /* protected members -- "general knowledge" stuff */ + int join_style; + + /* arguments passed into extrusion code */ + int ncp; /* number of contour points */ + gleTwoVec *contour; /* 2D contour */ + gleTwoVec *cont_normal; /* 2D contour normals */ + gleDouble *up; /* up vector */ + int npoints; /* number of points in polyline */ + gleVector *point_array; /* path */ + gleColor *color_array; /* path colors */ + gleAffine *xform_array; /* contour xforms */ + + /* private members, used by texturing code */ + int num_vert; + int segment_number; + double segment_length; + double accum_seg_len; + double prev_x; + double prev_y; + + void (*save_bgn_gen_texture) (int, double); + void (*save_n3f_gen_texture) (float *); + void (*save_n3d_gen_texture) (double *); + void (*save_v3f_gen_texture) (float *, int, int); + void (*save_v3d_gen_texture) (double *, int, int); + void (*save_end_gen_texture) (void); + +} gleGC; + +extern gleGC *_gle_gc; +extern gleGC * gleCreateGC (void); + +#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); } +#define extrusion_join_style (_gle_gc->join_style) + +#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED) +#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP) +#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET) +#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE) + +#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK) +#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW) +#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT) +#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE) +#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND) + +/* ======================= END OF FILE ========================== */ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h new file mode 100644 index 0000000..b58dcd6 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Headers/vvector.h @@ -0,0 +1,1339 @@ + +/* + * vvector.h + * + * FUNCTION: + * This file contains a number of utilities useful for handling + * 3D vectors + * + * HISTORY: + * Written by Linas Vepstas, August 1991 + * Added 2D code, March 1993 + * Added Outer products, C++ proofed, Linas Vepstas October 1993 + */ + +#ifndef __GUTIL_VECTOR_H__ +#define __GUTIL_VECTOR_H__ + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + + +#include +#include "port.h" + +/* ========================================================== */ +/* Zero out a 2D vector */ + +#define VEC_ZERO_2(a) \ +{ \ + (a)[0] = (a)[1] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 3D vector */ + +#define VEC_ZERO(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = 0.0; \ +} + +/* ========================================================== */ +/* Zero out a 4D vector */ + +#define VEC_ZERO_4(a) \ +{ \ + (a)[0] = (a)[1] = (a)[2] = (a)[3] = 0.0; \ +} + +/* ========================================================== */ +/* Vector copy */ + +#define VEC_COPY_2(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ +} + +/* ========================================================== */ +/* Copy 3D vector */ + +#define VEC_COPY(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ +} + +/* ========================================================== */ +/* Copy 4D vector */ + +#define VEC_COPY_4(b,a) \ +{ \ + (b)[0] = (a)[0]; \ + (b)[1] = (a)[1]; \ + (b)[2] = (a)[2]; \ + (b)[3] = (a)[3]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector difference */ + +#define VEC_DIFF_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] - (v1)[0]; \ + (v21)[1] = (v2)[1] - (v1)[1]; \ + (v21)[2] = (v2)[2] - (v1)[2]; \ + (v21)[3] = (v2)[3] - (v1)[3]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_2(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ +} + +/* ========================================================== */ +/* Vector sum */ + +#define VEC_SUM_4(v21,v2,v1) \ +{ \ + (v21)[0] = (v2)[0] + (v1)[0]; \ + (v21)[1] = (v2)[1] + (v1)[1]; \ + (v21)[2] = (v2)[2] + (v1)[2]; \ + (v21)[3] = (v2)[3] + (v1)[3]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_2(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* scalar times vector */ + +#define VEC_SCALE_4(c,a,b) \ +{ \ + (c)[0] = (a)*(b)[0]; \ + (c)[1] = (a)*(b)[1]; \ + (c)[2] = (a)*(b)[2]; \ + (c)[3] = (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_2(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ +} + +/* ========================================================== */ +/* accumulate scaled vector */ + +#define VEC_ACCUM_4(c,a,b) \ +{ \ + (c)[0] += (a)*(b)[0]; \ + (c)[1] += (a)*(b)[1]; \ + (c)[2] += (a)*(b)[2]; \ + (c)[3] += (a)*(b)[3]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_2(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]; \ +} + +/* ========================================================== */ +/* Vector dot product */ + +#define VEC_DOT_PRODUCT_4(c,a,b) \ +{ \ + c = (a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3] ; \ +} + +/* ========================================================== */ +/* vector impact parameter (squared) */ + +#define VEC_IMPACT_SQ(bsq,direction,position) \ +{ \ + gleDouble vlen, llel; \ + VEC_DOT_PRODUCT (vlen, position, position); \ + VEC_DOT_PRODUCT (llel, direction, position); \ + bsq = vlen - llel*llel; \ +} + +/* ========================================================== */ +/* vector impact parameter */ + +#define VEC_IMPACT(bsq,direction,position) \ +{ \ + VEC_IMPACT_SQ(bsq,direction,position); \ + bsq = sqrt (bsq); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_2(vlen,a) \ +{ \ + vlen = a[0]*a[0] + a[1]*a[1]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_LENGTH_4(vlen,a) \ +{ \ + vlen = (a)[0]*(a)[0] + (a)[1]*(a)[1]; \ + vlen += (a)[2]*(a)[2]; \ + vlen += (a)[3] * (a)[3]; \ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* distance between two points */ + +#define VEC_DISTANCE(vlen,va,vb) \ +{ \ + gleDouble tmp[4]; \ + VEC_DIFF (tmp, vb, va); \ + VEC_LENGTH (vlen, tmp); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_CONJUGATE_LENGTH(vlen,a) \ +{ \ + vlen = 1.0 - a[0]*a[0] - a[1]*a[1] - a[2]*a[2];\ + vlen = sqrt (vlen); \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_NORMALIZE(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = 1.0 / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* Vector length */ + +#define VEC_RENORMALIZE(a,newlen) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen,a); \ + if (vlen != 0.0) { \ + vlen = newlen / vlen; \ + a[0] *= vlen; \ + a[1] *= vlen; \ + a[2] *= vlen; \ + } \ +} + +/* ========================================================== */ +/* 3D Vector cross product yeilding vector */ + +#define VEC_CROSS_PRODUCT(c,a,b) \ +{ \ + c[0] = (a)[1] * (b)[2] - (a)[2] * (b)[1]; \ + c[1] = (a)[2] * (b)[0] - (a)[0] * (b)[2]; \ + c[2] = (a)[0] * (b)[1] - (a)[1] * (b)[0]; \ +} + +/* ========================================================== */ +/* Vector perp -- assumes that n is of unit length + * accepts vector v, subtracts out any component parallel to n */ + +#define VEC_PERP(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (v)[0] - (vdot) * (n)[0]; \ + vp[1] = (v)[1] - (vdot) * (n)[1]; \ + vp[2] = (v)[2] - (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector parallel -- assumes that n is of unit length + * accepts vector v, subtracts out any component perpendicular to n */ + +#define VEC_PARALLEL(vp,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vp[0] = (vdot) * (n)[0]; \ + vp[1] = (vdot) * (n)[1]; \ + vp[2] = (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector reflection -- assumes n is of unit length */ +/* Takes vector v, reflects it against reflector n, and returns vr */ + +#define VEC_REFLECT(vr,v,n) \ +{ \ + double vdot; \ + \ + VEC_DOT_PRODUCT (vdot, v, n); \ + vr[0] = (v)[0] - 2.0 * (vdot) * (n)[0]; \ + vr[1] = (v)[1] - 2.0 * (vdot) * (n)[1]; \ + vr[2] = (v)[2] - 2.0 * (vdot) * (n)[2]; \ +} + +/* ========================================================== */ +/* Vector blending */ +/* Takes two vectors a, b, blends them together */ + +#define VEC_BLEND(vr,sa,a,sb,b) \ +{ \ + \ + vr[0] = (sa) * (a)[0] + (sb) * (b)[0]; \ + vr[1] = (sa) * (a)[1] + (sb) * (b)[1]; \ + vr[2] = (sa) * (a)[2] + (sb) * (b)[2]; \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_2(a) \ +{ \ + double vlen; \ + VEC_LENGTH_2 (vlen, a); \ + printf (" a is %f %f length of a is %f \n", a[0], a[1], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT(a) \ +{ \ + double vlen; \ + VEC_LENGTH (vlen, (a)); \ + printf (" a is %f %f %f length of a is %f \n", (a)[0], (a)[1], (a)[2], vlen); \ +} + +/* ========================================================== */ +/* Vector print */ + +#define VEC_PRINT_4(a) \ +{ \ + double vlen; \ + VEC_LENGTH_4 (vlen, (a)); \ + printf (" a is %f %f %f %f length of a is %f \n", \ + (a)[0], (a)[1], (a)[2], (a)[3], vlen); \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_4X4(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<4; i++) { \ + for (j=0; j<4; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_3X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<3; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* print matrix */ + +#define MAT_PRINT_2X3(mmm) { \ + int i,j; \ + printf ("matrix mmm is \n"); \ + if (mmm == NULL) { \ + printf (" Null \n"); \ + } else { \ + for (i=0; i<2; i++) { \ + for (j=0; j<3; j++) { \ + printf ("%f ", mmm[i][j]); \ + } \ + printf (" \n"); \ + } \ + } \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_3X3(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ +} + +/* ========================================================== */ +/* initialize matrix */ + +#define IDENTIFY_MATRIX_4X4(m) \ +{ \ + m[0][0] = 1.0; \ + m[0][1] = 0.0; \ + m[0][2] = 0.0; \ + m[0][3] = 0.0; \ + \ + m[1][0] = 0.0; \ + m[1][1] = 1.0; \ + m[1][2] = 0.0; \ + m[1][3] = 0.0; \ + \ + m[2][0] = 0.0; \ + m[2][1] = 0.0; \ + m[2][2] = 1.0; \ + m[2][3] = 0.0; \ + \ + m[3][0] = 0.0; \ + m[3][1] = 0.0; \ + m[3][2] = 0.0; \ + m[3][3] = 1.0; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_2X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix copy */ + +#define COPY_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[0][1]; \ + b[0][2] = a[0][2]; \ + b[0][3] = a[0][3]; \ + \ + b[1][0] = a[1][0]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[1][2]; \ + b[1][3] = a[1][3]; \ + \ + b[2][0] = a[2][0]; \ + b[2][1] = a[2][1]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[2][3]; \ + \ + b[3][0] = a[3][0]; \ + b[3][1] = a[3][1]; \ + b[3][2] = a[3][2]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_2X2(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_3X3(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ +} + +/* ========================================================== */ +/* matrix transpose */ + +#define TRANSPOSE_MATRIX_4X4(b,a) \ +{ \ + b[0][0] = a[0][0]; \ + b[0][1] = a[1][0]; \ + b[0][2] = a[2][0]; \ + b[0][3] = a[3][0]; \ + \ + b[1][0] = a[0][1]; \ + b[1][1] = a[1][1]; \ + b[1][2] = a[2][1]; \ + b[1][3] = a[3][1]; \ + \ + b[2][0] = a[0][2]; \ + b[2][1] = a[1][2]; \ + b[2][2] = a[2][2]; \ + b[2][3] = a[3][2]; \ + \ + b[3][0] = a[0][3]; \ + b[3][1] = a[1][3]; \ + b[3][2] = a[2][3]; \ + b[3][3] = a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] = (s) * a[0][0]; \ + b[0][1] = (s) * a[0][1]; \ + b[0][2] = (s) * a[0][2]; \ + b[0][3] = (s) * a[0][3]; \ + \ + b[1][0] = (s) * a[1][0]; \ + b[1][1] = (s) * a[1][1]; \ + b[1][2] = (s) * a[1][2]; \ + b[1][3] = (s) * a[1][3]; \ + \ + b[2][0] = (s) * a[2][0]; \ + b[2][1] = (s) * a[2][1]; \ + b[2][2] = (s) * a[2][2]; \ + b[2][3] = (s) * a[2][3]; \ + \ + b[3][0] = s * a[3][0]; \ + b[3][1] = s * a[3][1]; \ + b[3][2] = s * a[3][2]; \ + b[3][3] = s * a[3][3]; \ +} + +/* ========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_2X2(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_3X3(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ +} + +/* +========================================================== */ +/* multiply matrix by scalar */ + +#define ACCUM_SCALE_MATRIX_4X4(b,s,a) \ +{ \ + b[0][0] += (s) * a[0][0]; \ + b[0][1] += (s) * a[0][1]; \ + b[0][2] += (s) * a[0][2]; \ + b[0][3] += (s) * a[0][3]; \ + \ + b[1][0] += (s) * a[1][0]; \ + b[1][1] += (s) * a[1][1]; \ + b[1][2] += (s) * a[1][2]; \ + b[1][3] += (s) * a[1][3]; \ + \ + b[2][0] += (s) * a[2][0]; \ + b[2][1] += (s) * a[2][1]; \ + b[2][2] += (s) * a[2][2]; \ + b[2][3] += (s) * a[2][3]; \ + \ + b[3][0] += (s) * a[3][0]; \ + b[3][1] += (s) * a[3][1]; \ + b[3][2] += (s) * a[3][2]; \ + b[3][3] += (s) * a[3][3]; \ +} + +/* +========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_2X2(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]; \ + \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_3X3(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]; \ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]; \ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]; \ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]; \ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]; \ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]; \ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]; \ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]; \ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]; \ +} + +/* ========================================================== */ +/* matrix product */ +/* c[x][y] = a[x][0]*b[0][y]+a[x][1]*b[1][y]+a[x][2]*b[2][y]+a[x][3]*b[3][y];*/ + +#define MATRIX_PRODUCT_4X4(c,a,b) \ +{ \ + c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0]+a[0][3]*b[3][0];\ + c[0][1] = a[0][0]*b[0][1]+a[0][1]*b[1][1]+a[0][2]*b[2][1]+a[0][3]*b[3][1];\ + c[0][2] = a[0][0]*b[0][2]+a[0][1]*b[1][2]+a[0][2]*b[2][2]+a[0][3]*b[3][2];\ + c[0][3] = a[0][0]*b[0][3]+a[0][1]*b[1][3]+a[0][2]*b[2][3]+a[0][3]*b[3][3];\ + \ + c[1][0] = a[1][0]*b[0][0]+a[1][1]*b[1][0]+a[1][2]*b[2][0]+a[1][3]*b[3][0];\ + c[1][1] = a[1][0]*b[0][1]+a[1][1]*b[1][1]+a[1][2]*b[2][1]+a[1][3]*b[3][1];\ + c[1][2] = a[1][0]*b[0][2]+a[1][1]*b[1][2]+a[1][2]*b[2][2]+a[1][3]*b[3][2];\ + c[1][3] = a[1][0]*b[0][3]+a[1][1]*b[1][3]+a[1][2]*b[2][3]+a[1][3]*b[3][3];\ + \ + c[2][0] = a[2][0]*b[0][0]+a[2][1]*b[1][0]+a[2][2]*b[2][0]+a[2][3]*b[3][0];\ + c[2][1] = a[2][0]*b[0][1]+a[2][1]*b[1][1]+a[2][2]*b[2][1]+a[2][3]*b[3][1];\ + c[2][2] = a[2][0]*b[0][2]+a[2][1]*b[1][2]+a[2][2]*b[2][2]+a[2][3]*b[3][2];\ + c[2][3] = a[2][0]*b[0][3]+a[2][1]*b[1][3]+a[2][2]*b[2][3]+a[2][3]*b[3][3];\ + \ + c[3][0] = a[3][0]*b[0][0]+a[3][1]*b[1][0]+a[3][2]*b[2][0]+a[3][3]*b[3][0];\ + c[3][1] = a[3][0]*b[0][1]+a[3][1]*b[1][1]+a[3][2]*b[2][1]+a[3][3]*b[3][1];\ + c[3][2] = a[3][0]*b[0][2]+a[3][1]*b[1][2]+a[3][2]*b[2][2]+a[3][3]*b[3][2];\ + c[3][3] = a[3][0]*b[0][3]+a[3][1]*b[1][3]+a[3][2]*b[2][3]+a[3][3]*b[3][3];\ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_3X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2]; \ +} + +/* ========================================================== */ +/* matrix times vector */ + +#define MAT_DOT_VEC_4X4(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2] + m[0][3]*v[3]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2] + m[1][3]*v[3]; \ + p[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2] + m[2][3]*v[3]; \ + p[3] = m[3][0]*v[0] + m[3][1]*v[1] + m[3][2]*v[2] + m[3][3]*v[3]; \ +} + +/* ========================================================== */ +/* vector transpose times matrix */ +/* p[j] = v[0]*m[0][j] + v[1]*m[1][j] + v[2]*m[2][j]; */ + +#define VEC_DOT_MAT_3X3(p,v,m) \ +{ \ + p[0] = v[0]*m[0][0] + v[1]*m[1][0] + v[2]*m[2][0]; \ + p[1] = v[0]*m[0][1] + v[1]*m[1][1] + v[2]*m[2][1]; \ + p[2] = v[0]*m[0][2] + v[1]*m[1][2] + v[2]*m[2][2]; \ +} + +/* ========================================================== */ +/* affine matrix times vector */ +/* The matrix is assumed to be an affine matrix, with last two + * entries representing a translation */ + +#define MAT_DOT_VEC_2X3(p,m,v) \ +{ \ + p[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]; \ + p[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]; \ +} + +/* ========================================================== */ +/* inverse transpose of matrix times vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * + * DANGER !!! Do Not use this on normal vectors!!! + * It will leave normals the wrong length !!! + * See macro below for use on normals. + */ + +#define INV_TRANSP_MAT_DOT_VEC_2X2(p,m,v) \ +{ \ + gleDouble det; \ + \ + det = m[0][0]*m[1][1] - m[0][1]*m[1][0]; \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + /* if matrix not singular, and not orthonormal, then renormalize */ \ + if ((det!=1.0) && (det != 0.0)) { \ + det = 1.0 / det; \ + p[0] *= det; \ + p[1] *= det; \ + } \ +} + +/* ========================================================== */ +/* transform normal vector by inverse transpose of matrix + * and then renormalize the vector + * + * This macro computes inverse transpose of matrix m, + * and multiplies vector v into it, to yeild vector p + * Vector p is then normalized. + */ + + +#define NORM_XFORM_2X2(p,m,v) \ +{ \ + double mlen; \ + \ + /* do nothing if off-diagonals are zero and diagonals are \ + * equal */ \ + if ((m[0][1] != 0.0) || (m[1][0] != 0.0) || (m[0][0] != m[1][1])) { \ + p[0] = m[1][1]*v[0] - m[1][0]*v[1]; \ + p[1] = - m[0][1]*v[0] + m[0][0]*v[1]; \ + \ + mlen = p[0]*p[0] + p[1]*p[1]; \ + mlen = 1.0 / sqrt (mlen); \ + p[0] *= mlen; \ + p[1] *= mlen; \ + } else { \ + VEC_COPY_2 (p, v); \ + } \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ +} + +/* ========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] = v[0] * t[0]; \ + m[0][1] = v[0] * t[1]; \ + m[0][2] = v[0] * t[2]; \ + m[0][3] = v[0] * t[3]; \ + \ + m[1][0] = v[1] * t[0]; \ + m[1][1] = v[1] * t[1]; \ + m[1][2] = v[1] * t[2]; \ + m[1][3] = v[1] * t[3]; \ + \ + m[2][0] = v[2] * t[0]; \ + m[2][1] = v[2] * t[1]; \ + m[2][2] = v[2] * t[2]; \ + m[2][3] = v[2] * t[3]; \ + \ + m[3][0] = v[3] * t[0]; \ + m[3][1] = v[3] * t[1]; \ + m[3][2] = v[3] * t[2]; \ + m[3][3] = v[3] * t[3]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_2X2(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_3X3(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ +} + +/* +========================================================== */ +/* outer product of vector times vector transpose + * + * The outer product of vector v and vector transpose t yeilds + * dyadic matrix m. + */ + +#define ACCUM_OUTER_PRODUCT_4X4(m,v,t) \ +{ \ + m[0][0] += v[0] * t[0]; \ + m[0][1] += v[0] * t[1]; \ + m[0][2] += v[0] * t[2]; \ + m[0][3] += v[0] * t[3]; \ + \ + m[1][0] += v[1] * t[0]; \ + m[1][1] += v[1] * t[1]; \ + m[1][2] += v[1] * t[2]; \ + m[1][3] += v[1] * t[3]; \ + \ + m[2][0] += v[2] * t[0]; \ + m[2][1] += v[2] * t[1]; \ + m[2][2] += v[2] * t[2]; \ + m[2][3] += v[2] * t[3]; \ + \ + m[3][0] += v[3] * t[0]; \ + m[3][1] += v[3] * t[1]; \ + m[3][2] += v[3] * t[2]; \ + m[3][3] += v[3] * t[3]; \ +} + +/* +========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_2X2(d,m) \ +{ \ + d = m[0][0] * m[1][1] - m[0][1] * m[1][0]; \ +} + +/* ========================================================== */ +/* determinant of matrix + * + * Computes determinant of matrix m, returning d + */ + +#define DETERMINANT_3X3(d,m) \ +{ \ + d = m[0][0] * (m[1][1]*m[2][2] - m[1][2] * m[2][1]); \ + d -= m[0][1] * (m[1][0]*m[2][2] - m[1][2] * m[2][0]); \ + d += m[0][2] * (m[1][0]*m[2][1] - m[1][1] * m[2][0]); \ +} + +/* ========================================================== */ +/* i,j,th cofactor of a 4x4 matrix + * + */ + +#define COFACTOR_4X4_IJ(fac,m,i,j) \ +{ \ + int ii[4], jj[4], k; \ + \ + /* compute which row, columnt to skip */ \ + for (k=0; k + + + + IBDocumentLocation + 4 104 410 240 0 0 1152 848 + IBEditorPositions + + 29 + 19 615 246 44 0 0 1152 848 + + IBFramework Version + 291.0 + IBGroupedObjects + + IBLastGroupID + 1 + IBOpenObjects + + 29 + + IBSystem Version + 6I32 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib new file mode 100644 index 0000000..8a7140e Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUT.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib new file mode 100644 index 0000000..7e85eb1 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/classes.nib @@ -0,0 +1,13 @@ +{ + IBClasses = ( + {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + { + ACTIONS = {toggleWindow = id; }; + CLASS = GLUTClipboardController; + LANGUAGE = ObjC; + OUTLETS = {_infoText = id; _scrollView = id; }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib new file mode 100644 index 0000000..867735d --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/info.nib @@ -0,0 +1,12 @@ + + + + + IBDocumentLocation + 63 221 356 240 0 0 1600 1178 + IBFramework Version + 263.2 + IBSystem Version + 5S41 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib new file mode 100644 index 0000000..29125d4 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTClipboard.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib new file mode 100644 index 0000000..c675963 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/classes.nib @@ -0,0 +1,73 @@ +{ + IBClasses = ( + { + ACTIONS = {save = id; saveAs = id; }; + CLASS = FirstResponder; + LANGUAGE = ObjC; + SUPERCLASS = NSObject; + }, + { + ACTIONS = { + cancel = id; + joyAssign = id; + joyDevice = id; + joyElement = id; + joyInvert = id; + launchDebugMode = id; + launchGamemodeCaptureSingle = id; + launchIconic = id; + launchUseCurrWD = id; + launchUseExtDesktop = id; + launchUseMacOSCoords = id; + mouseEanbleEmulation = id; + mouseMiddleMenu = id; + mouseRightMenu = id; + ok = id; + spaceAssign = id; + spaceDevice = id; + spaceElement = id; + spaceInvert = id; + }; + CLASS = GLUTPreferencesController; + LANGUAGE = ObjC; + OUTLETS = { + joyAssign = NSButton; + joyAssignNote = NSTextField; + joyAssignWarningIcon = NSImageView; + joyDeviceMenu = NSPopUpButton; + joyElement = NSTextField; + joyInputMenu = NSPopUpButton; + joyInverted = NSButton; + launchDebugMode = NSButton; + launchFadeTime = NSTextField; + launchGamemodeCaptureSingle = NSButton; + launchIconic = NSButton; + launchInitHeight = NSTextField; + launchInitWidth = NSTextField; + launchInitX = NSTextField; + launchInitY = NSTextField; + launchMenuIdle = NSTextField; + launchSyncToVBL = NSButton; + launchUseCurrWD = NSButton; + launchUseExtendedDesktop = NSButton; + launchUseMacOSXCoords = NSButton; + mouseAssignWarningIcon = NSImageView; + mouseAssignWarningText = NSTextField; + mouseDetected = NSTextField; + mouseEmulation = NSButton; + mouseMiddleConfigMenu = NSPopUpButton; + mouseRightConfigMenu = NSPopUpButton; + prefsTabView = NSTabView; + spaceAssign = NSButton; + spaceAssignNote = NSTextField; + spaceAssignWarningIcon = NSImageView; + spaceDeviceMenu = NSPopUpButton; + spaceElement = NSTextField; + spaceInputMenu = NSPopUpButton; + spaceInverted = NSButton; + }; + SUPERCLASS = NSWindowController; + } + ); + IBVersion = 1; +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib new file mode 100644 index 0000000..216c8dc --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/info.nib @@ -0,0 +1,16 @@ + + + + + IBDocumentLocation + 16 329 410 240 0 0 1920 1178 + IBFramework Version + 439.0 + IBOpenObjects + + 205 + + IBSystem Version + 8G32 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib new file mode 100644 index 0000000..7598f2c Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTPreferences.nib/objects.nib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings new file mode 100644 index 0000000..6db3c5c Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/GLUTUI.strings differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..6f78b89 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist new file mode 100644 index 0000000..e8fc9d6 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + GLUT + CFBundleGetInfoString + 3.4.0, Copyright (c) 2001-2008 Apple Inc., All Rights Reserved + CFBundleIdentifier + com.apple.glut + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.4.0 + CFBundleSignature + ???? + CFBundleVersion + GLUT-3.4.0 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff new file mode 100644 index 0000000..a2b0cf1 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/blankCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff new file mode 100644 index 0000000..c3f4795 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff new file mode 100644 index 0000000..274529f Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomleftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff new file mode 100644 index 0000000..dec4252 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/bottomrightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff new file mode 100644 index 0000000..8536c0e Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/crossCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff new file mode 100644 index 0000000..34b52f6 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/cycleCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff new file mode 100644 index 0000000..9e3a1cb Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/destroyCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff new file mode 100644 index 0000000..0087c66 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/fingerCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff new file mode 100644 index 0000000..fc4a88a Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/helpCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff new file mode 100644 index 0000000..852b69b Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff new file mode 100644 index 0000000..37fe393 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/leftRightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff new file mode 100644 index 0000000..d852616 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightArrowCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff new file mode 100644 index 0000000..9781f22 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/rightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff new file mode 100644 index 0000000..9bec966 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/sprayCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff new file mode 100644 index 0000000..e4df0de Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff new file mode 100644 index 0000000..43cf97f Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/topleftCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff new file mode 100644 index 0000000..429b01b Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/toprightCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff new file mode 100644 index 0000000..1605063 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/upDownCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff new file mode 100644 index 0000000..81ba1aa Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current/Resources/waitCursor.tiff differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Info.plist b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Info.plist new file mode 100644 index 0000000..d7ae794 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Info.plist @@ -0,0 +1,38 @@ + + + + + BuildMachineOSBuild + 14D2134 + CFBundleDevelopmentRegion + English + CFBundleExecutable + emptyExampleDebug + CFBundleIconFile + icon-debug.icns + CFBundleIdentifier + cc.openFrameworks.ofapp + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 6D2105 + DTPlatformVersion + GM + DTSDKBuild + 14D125 + DTSDKName + macosx10.10 + DTXcode + 0632 + DTXcodeBuild + 6D2105 + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug new file mode 100755 index 0000000..3784d27 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/emptyExampleDebug differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib new file mode 100644 index 0000000..bea90a1 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/MacOS/libfmodex.dylib differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/PkgInfo b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/PkgInfo new file mode 100644 index 0000000..bd04210 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/PkgInfo @@ -0,0 +1 @@ +APPL???? \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns new file mode 100644 index 0000000..9b2d976 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/bin/emptyExampleDebug.app/Contents/Resources/icon-debug.icns differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/config.make b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/config.make new file mode 100644 index 0000000..df10f64 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/config.make @@ -0,0 +1,142 @@ +################################################################################ +# CONFIGURE PROJECT MAKEFILE (optional) +# This file is where we make project specific configurations. +################################################################################ + +################################################################################ +# OF ROOT +# The location of your root openFrameworks installation +# (default) OF_ROOT = ../../.. +################################################################################ +# OF_ROOT = ../../.. + +################################################################################ +# PROJECT ROOT +# The location of the project - a starting place for searching for files +# (default) PROJECT_ROOT = . (this directory) +# +################################################################################ +# PROJECT_ROOT = . + +################################################################################ +# PROJECT SPECIFIC CHECKS +# This is a project defined section to create internal makefile flags to +# conditionally enable or disable the addition of various features within +# this makefile. For instance, if you want to make changes based on whether +# GTK is installed, one might test that here and create a variable to check. +################################################################################ +# None + +################################################################################ +# PROJECT EXTERNAL SOURCE PATHS +# These are fully qualified paths that are not within the PROJECT_ROOT folder. +# Like source folders in the PROJECT_ROOT, these paths are subject to +# exlclusion via the PROJECT_EXLCUSIONS list. +# +# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXTERNAL_SOURCE_PATHS = + +################################################################################ +# PROJECT EXCLUSIONS +# These makefiles assume that all folders in your current project directory +# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations +# to look for source code. The any folders or files that match any of the +# items in the PROJECT_EXCLUSIONS list below will be ignored. +# +# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete +# string unless teh user adds a wildcard (%) operator to match subdirectories. +# GNU make only allows one wildcard for matching. The second wildcard (%) is +# treated literally. +# +# (default) PROJECT_EXCLUSIONS = (blank) +# +# Will automatically exclude the following: +# +# $(PROJECT_ROOT)/bin% +# $(PROJECT_ROOT)/obj% +# $(PROJECT_ROOT)/%.xcodeproj +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXCLUSIONS = + +################################################################################ +# PROJECT LINKER FLAGS +# These flags will be sent to the linker when compiling the executable. +# +# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ + +# Currently, shared libraries that are needed are copied to the +# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to +# add a runtime path to search for those shared libraries, since they aren't +# incorporated directly into the final executable application binary. +# TODO: should this be a default setting? +# PROJECT_LDFLAGS=-Wl,-rpath=./libs + +################################################################################ +# PROJECT DEFINES +# Create a space-delimited list of DEFINES. The list will be converted into +# CFLAGS with the "-D" flag later in the makefile. +# +# (default) PROJECT_DEFINES = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_DEFINES = + +################################################################################ +# PROJECT CFLAGS +# This is a list of fully qualified CFLAGS required when compiling for this +# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS +# defined in your platform specific core configuration files. These flags are +# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. +# +# (default) PROJECT_CFLAGS = (blank) +# +# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in +# your platform specific configuration file will be applied by default and +# further flags here may not be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CFLAGS = + +################################################################################ +# PROJECT OPTIMIZATION CFLAGS +# These are lists of CFLAGS that are target-specific. While any flags could +# be conditionally added, they are usually limited to optimization flags. +# These flags are added BEFORE the PROJECT_CFLAGS. +# +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) +# +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) +# +# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the +# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration +# file will be applied by default and further optimization flags here may not +# be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = + +################################################################################ +# PROJECT COMPILERS +# Custom compilers can be set for CC and CXX +# (default) PROJECT_CXX = (blank) +# (default) PROJECT_CC = (blank) +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CXX = +# PROJECT_CC = diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.pbxproj b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000..0768c9d --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.pbxproj @@ -0,0 +1,644 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 8AAB6B911B2F3C2A00F5E531 /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B7E1B2F3C2A00F5E531 /* fft.cpp */; }; + 8AAB6B921B2F3C2A00F5E531 /* maxiAtoms.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B801B2F3C2A00F5E531 /* maxiAtoms.cpp */; }; + 8AAB6B931B2F3C2A00F5E531 /* maxiBark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B821B2F3C2A00F5E531 /* maxiBark.cpp */; }; + 8AAB6B941B2F3C2A00F5E531 /* maxiFFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B841B2F3C2A00F5E531 /* maxiFFT.cpp */; }; + 8AAB6B951B2F3C2A00F5E531 /* maxiGrains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B861B2F3C2A00F5E531 /* maxiGrains.cpp */; }; + 8AAB6B961B2F3C2A00F5E531 /* maxiMFCC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B881B2F3C2A00F5E531 /* maxiMFCC.cpp */; }; + 8AAB6B971B2F3C2A00F5E531 /* maximilian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B8A1B2F3C2A00F5E531 /* maximilian.cpp */; }; + 8AAB6B981B2F3C2A00F5E531 /* stb_vorbis.c in Sources */ = {isa = PBXBuildFile; fileRef = 8AAB6B8D1B2F3C2A00F5E531 /* stb_vorbis.c */; }; + BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; + E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; + E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; + E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; + E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; + E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; + E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; + E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; + E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; + E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; + E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; + E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; + E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; + E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; + E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; + E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; + E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; + E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = E4B27C1510CBEB8E00536013; + remoteInfo = openFrameworks; + }; + E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = E4B27C1410CBEB8E00536013; + remoteInfo = openFrameworks; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + E4C2427710CC5ABF004149E2 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 8AAB6B7C1B2F3C2A00F5E531 /* install.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = install.xml; sourceTree = ""; }; + 8AAB6B7E1B2F3C2A00F5E531 /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = ""; }; + 8AAB6B7F1B2F3C2A00F5E531 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; + 8AAB6B801B2F3C2A00F5E531 /* maxiAtoms.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiAtoms.cpp; sourceTree = ""; }; + 8AAB6B811B2F3C2A00F5E531 /* maxiAtoms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiAtoms.h; sourceTree = ""; }; + 8AAB6B821B2F3C2A00F5E531 /* maxiBark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiBark.cpp; sourceTree = ""; }; + 8AAB6B831B2F3C2A00F5E531 /* maxiBark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiBark.h; sourceTree = ""; }; + 8AAB6B841B2F3C2A00F5E531 /* maxiFFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiFFT.cpp; sourceTree = ""; }; + 8AAB6B851B2F3C2A00F5E531 /* maxiFFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiFFT.h; sourceTree = ""; }; + 8AAB6B861B2F3C2A00F5E531 /* maxiGrains.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiGrains.cpp; sourceTree = ""; }; + 8AAB6B871B2F3C2A00F5E531 /* maxiGrains.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiGrains.h; sourceTree = ""; }; + 8AAB6B881B2F3C2A00F5E531 /* maxiMFCC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maxiMFCC.cpp; sourceTree = ""; }; + 8AAB6B891B2F3C2A00F5E531 /* maxiMFCC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxiMFCC.h; sourceTree = ""; }; + 8AAB6B8A1B2F3C2A00F5E531 /* maximilian.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = maximilian.cpp; sourceTree = ""; }; + 8AAB6B8B1B2F3C2A00F5E531 /* maximilian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maximilian.h; sourceTree = ""; }; + 8AAB6B8C1B2F3C2A00F5E531 /* sineTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sineTable.h; sourceTree = ""; }; + 8AAB6B8D1B2F3C2A00F5E531 /* stb_vorbis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stb_vorbis.c; sourceTree = ""; }; + 8AAB6B8E1B2F3C2A00F5E531 /* stb_vorbis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stb_vorbis.h; sourceTree = ""; }; + 8AAB6B901B2F3C2A00F5E531 /* ofxMaxim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMaxim.h; sourceTree = ""; }; + BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; + E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; + E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; + E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; + E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; + E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; + E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = emptyExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; + E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; + E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; + E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; + E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; + E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; + E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; + E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; + E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E4B69B590A3A1756003C02F2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, + E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, + E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, + E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, + E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, + E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, + E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, + E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, + E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, + E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, + E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, + E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, + E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, + E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, + E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, + E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 8AAB6B7B1B2F3C2A00F5E531 /* ofxMaxim */ = { + isa = PBXGroup; + children = ( + 8AAB6B7C1B2F3C2A00F5E531 /* install.xml */, + 8AAB6B7D1B2F3C2A00F5E531 /* libs */, + 8AAB6B8F1B2F3C2A00F5E531 /* src */, + ); + path = ofxMaxim; + sourceTree = ""; + }; + 8AAB6B7D1B2F3C2A00F5E531 /* libs */ = { + isa = PBXGroup; + children = ( + 8AAB6B7E1B2F3C2A00F5E531 /* fft.cpp */, + 8AAB6B7F1B2F3C2A00F5E531 /* fft.h */, + 8AAB6B801B2F3C2A00F5E531 /* maxiAtoms.cpp */, + 8AAB6B811B2F3C2A00F5E531 /* maxiAtoms.h */, + 8AAB6B821B2F3C2A00F5E531 /* maxiBark.cpp */, + 8AAB6B831B2F3C2A00F5E531 /* maxiBark.h */, + 8AAB6B841B2F3C2A00F5E531 /* maxiFFT.cpp */, + 8AAB6B851B2F3C2A00F5E531 /* maxiFFT.h */, + 8AAB6B861B2F3C2A00F5E531 /* maxiGrains.cpp */, + 8AAB6B871B2F3C2A00F5E531 /* maxiGrains.h */, + 8AAB6B881B2F3C2A00F5E531 /* maxiMFCC.cpp */, + 8AAB6B891B2F3C2A00F5E531 /* maxiMFCC.h */, + 8AAB6B8A1B2F3C2A00F5E531 /* maximilian.cpp */, + 8AAB6B8B1B2F3C2A00F5E531 /* maximilian.h */, + 8AAB6B8C1B2F3C2A00F5E531 /* sineTable.h */, + 8AAB6B8D1B2F3C2A00F5E531 /* stb_vorbis.c */, + 8AAB6B8E1B2F3C2A00F5E531 /* stb_vorbis.h */, + ); + path = libs; + sourceTree = ""; + }; + 8AAB6B8F1B2F3C2A00F5E531 /* src */ = { + isa = PBXGroup; + children = ( + 8AAB6B901B2F3C2A00F5E531 /* ofxMaxim.h */, + ); + path = src; + sourceTree = ""; + }; + BB4B014C10F69532006C3DED /* addons */ = { + isa = PBXGroup; + children = ( + 8AAB6B7B1B2F3C2A00F5E531 /* ofxMaxim */, + ); + name = addons; + sourceTree = ""; + }; + BBAB23C913894ECA00AA2426 /* system frameworks */ = { + isa = PBXGroup; + children = ( + E7F985F515E0DE99003869B5 /* Accelerate.framework */, + E4C2424410CC5A17004149E2 /* AppKit.framework */, + E4C2424510CC5A17004149E2 /* Cocoa.framework */, + E4C2424610CC5A17004149E2 /* IOKit.framework */, + E45BE9710E8CC7DD009D7055 /* AGL.framework */, + E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, + E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, + E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, + E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, + E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, + E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, + E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, + E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, + E7E077E715D3B6510020DFD4 /* QTKit.framework */, + ); + name = "system frameworks"; + sourceTree = ""; + }; + BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { + isa = PBXGroup; + children = ( + BBAB23BE13894E4700AA2426 /* GLUT.framework */, + ); + name = "3rd party frameworks"; + sourceTree = ""; + }; + E4328144138ABC890047C5CB /* Products */ = { + isa = PBXGroup; + children = ( + E4328148138ABC890047C5CB /* openFrameworksDebug.a */, + ); + name = Products; + sourceTree = ""; + }; + E45BE5980E8CC70C009D7055 /* frameworks */ = { + isa = PBXGroup; + children = ( + BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, + BBAB23C913894ECA00AA2426 /* system frameworks */, + ); + name = frameworks; + sourceTree = ""; + }; + E4B69B4A0A3A1720003C02F2 = { + isa = PBXGroup; + children = ( + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, + E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, + E4B69E1C0A3A1BDC003C02F2 /* src */, + E4EEC9E9138DF44700A80321 /* openFrameworks */, + BB4B014C10F69532006C3DED /* addons */, + E45BE5980E8CC70C009D7055 /* frameworks */, + E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */, + ); + sourceTree = ""; + }; + E4B69E1C0A3A1BDC003C02F2 /* src */ = { + isa = PBXGroup; + children = ( + E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, + E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, + E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, + ); + path = src; + sourceTree = SOURCE_ROOT; + }; + E4EEC9E9138DF44700A80321 /* openFrameworks */ = { + isa = PBXGroup; + children = ( + E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, + E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, + ); + name = openFrameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E4B69B5A0A3A1756003C02F2 /* emptyExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */; + buildPhases = ( + E4B69B580A3A1756003C02F2 /* Sources */, + E4B69B590A3A1756003C02F2 /* Frameworks */, + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, + E4C2427710CC5ABF004149E2 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, + ); + name = emptyExample; + productName = myOFApp; + productReference = E4B69B5B0A3A1756003C02F2 /* emptyExampleDebug.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E4B69B4C0A3A1720003C02F2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0460; + }; + buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = E4B69B4A0A3A1720003C02F2; + productRefGroup = E4B69B4A0A3A1720003C02F2; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = E4328144138ABC890047C5CB /* Products */; + ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + E4B69B5A0A3A1756003C02F2 /* emptyExample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = openFrameworksDebug.a; + remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXShellScriptBuildPhase section */ + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\ncp -f \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E4B69B580A3A1756003C02F2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8AAB6B981B2F3C2A00F5E531 /* stb_vorbis.c in Sources */, + 8AAB6B911B2F3C2A00F5E531 /* fft.cpp in Sources */, + 8AAB6B941B2F3C2A00F5E531 /* maxiFFT.cpp in Sources */, + 8AAB6B921B2F3C2A00F5E531 /* maxiAtoms.cpp in Sources */, + 8AAB6B931B2F3C2A00F5E531 /* maxiBark.cpp in Sources */, + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, + 8AAB6B971B2F3C2A00F5E531 /* maximilian.cpp in Sources */, + 8AAB6B961B2F3C2A00F5E531 /* maxiMFCC.cpp in Sources */, + 8AAB6B951B2F3C2A00F5E531 /* maxiGrains.cpp in Sources */, + E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = openFrameworks; + targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + E4B69B4E0A3A1720003C02F2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = ( + "$(OF_CORE_HEADERS)", + src, + ); + MACOSX_DEPLOYMENT_TARGET = 10.6; + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-lpthread", + "-mtune=native", + ); + SDKROOT = macosx; + }; + name = Debug; + }; + E4B69B4F0A3A1720003C02F2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_UNROLL_LOOPS = YES; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = ( + "$(OF_CORE_HEADERS)", + src, + ); + MACOSX_DEPLOYMENT_TARGET = 10.6; + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-lpthread", + "-mtune=native", + ); + SDKROOT = macosx; + }; + name = Release; + }; + E4B69B600A3A1757003C02F2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = NONE; + ICON = "$(ICON_NAME_DEBUG)"; + ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", + ); + PRODUCT_NAME = "$(TARGET_NAME)Debug"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + E4B69B610A3A1757003C02F2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = NONE; + ICON = "$(ICON_NAME_RELEASE)"; + ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "emptyExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E4B69B4E0A3A1720003C02F2 /* Debug */, + E4B69B4F0A3A1720003C02F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "emptyExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E4B69B600A3A1757003C02F2 /* Debug */, + E4B69B610A3A1757003C02F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; +} diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..dc98145 Binary files /dev/null and b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme new file mode 100644 index 0000000..06ebf54 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Debug.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme new file mode 100644 index 0000000..6d32390 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcshareddata/xcschemes/emptyExample Release.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..13dfb6e --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/emptyExample.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SuppressBuildableAutocreation + + E4B69B5A0A3A1756003C02F2 + + primary + + + + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/install.xml b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/install.xml new file mode 100644 index 0000000..e42de73 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/install.xml @@ -0,0 +1,37 @@ + + 0.1 + Goldsmiths Creative Computing + http://www.maximilian.strangeloop.co.uk/ + + + + + + + + + + + + ../../../addons/ofxMaxim/src/ofxMaxim.h + + + + ../../../addons/ofxMaxim/libs/fft.h + ../../../addons/ofxMaxim/libs/fft.cpp + ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.h + ../../../addons/ofxMaxim/libs/fftOctaveAnalyzer.cpp + ../../../addons/ofxMaxim/libs/maxiBark.cpp + ../../../addons/ofxMaxim/libs/maxiBark.h + ../../../addons/ofxMaxim/libs/maximilian.h + ../../../addons/ofxMaxim/libs/maximilian.cpp + + + + + + ../../../addons/ofxMaxim/src + ../../../addons/ofxMaxim/libs + + + \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.cpp new file mode 100644 index 0000000..85a7aa9 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.cpp @@ -0,0 +1,584 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ +/* + + fft.cpp + + Based on K+R Numerical recipes in C and some other stuff hacked about. + + */ + +#include "fft.h" +#include +#include +#include +#include + +int **gFFTBitTable = NULL; +const int MaxFastBits = 16; + +int IsPowerOfTwo(int x) +{ + if (x < 2) + return false; + + if (x & (x - 1)) + return false; + + return true; +} + +int NumberOfBitsNeeded(int PowerOfTwo) +{ + int i; + + if (PowerOfTwo < 2) { + fprintf(stderr, "Error: FFT called with size %d\n", PowerOfTwo); + exit(1); + } + + for (i = 0;; i++) + if (PowerOfTwo & (1 << i)) + return i; +} + +int ReverseBits(int index, int NumBits) +{ + int i, rev; + + for (i = rev = 0; i < NumBits; i++) { + rev = (rev << 1) | (index & 1); + index >>= 1; + } + + return rev; +} + +void InitFFT() +{ + // gFFTBitTable = new int *[MaxFastBits]; + //use malloc for 16 byte alignment + gFFTBitTable = (int**) malloc(MaxFastBits * sizeof(int*)); + + int len = 2; + for (int b = 1; b <= MaxFastBits; b++) { + + // gFFTBitTable[b - 1] = new int[len]; + gFFTBitTable[b - 1] = (int*) malloc(len * sizeof(int)); + + for (int i = 0; i < len; i++) + gFFTBitTable[b - 1][i] = ReverseBits(i, b); + + len <<= 1; + } +} + +inline int FastReverseBits(int i, int NumBits) +{ + if (NumBits <= MaxFastBits) + return gFFTBitTable[NumBits - 1][i]; + else + return ReverseBits(i, NumBits); +} + +/* + * Complex Fast Fourier Transform + */ + +void FFT(int NumSamples, + bool InverseTransform, + float *RealIn, float *ImagIn, float *RealOut, float *ImagOut) +{ + int NumBits; /* Number of bits needed to store indices */ + int i, j, k, n; + int BlockSize, BlockEnd; + + double angle_numerator = 2.0 * M_PI; + float tr, ti; /* temp real, temp imaginary */ + + if (!IsPowerOfTwo(NumSamples)) { + fprintf(stderr, "%d is not a power of two\n", NumSamples); + exit(1); + } + + if (!gFFTBitTable) + InitFFT(); + + if (InverseTransform) + angle_numerator = -angle_numerator; + + NumBits = NumberOfBitsNeeded(NumSamples); + + /* + ** Do simultaneous data copy and bit-reversal ordering into outputs... + */ + + for (i = 0; i < NumSamples; i++) { + j = FastReverseBits(i, NumBits); + RealOut[j] = RealIn[i]; + ImagOut[j] = (ImagIn == NULL) ? 0.0 : ImagIn[i]; + } + + /* + ** Do the FFT itself... + */ + + BlockEnd = 1; + for (BlockSize = 2; BlockSize <= NumSamples; BlockSize <<= 1) { + + double delta_angle = angle_numerator / (double) BlockSize; + + float sm2 = sin(-2 * delta_angle); + float sm1 = sin(-delta_angle); + float cm2 = cos(-2 * delta_angle); + float cm1 = cos(-delta_angle); + float w = 2 * cm1; + float ar0, ar1, ar2, ai0, ai1, ai2; + + for (i = 0; i < NumSamples; i += BlockSize) { + ar2 = cm2; + ar1 = cm1; + + ai2 = sm2; + ai1 = sm1; + + for (j = i, n = 0; n < BlockEnd; j++, n++) { + ar0 = w * ar1 - ar2; + ar2 = ar1; + ar1 = ar0; + + ai0 = w * ai1 - ai2; + ai2 = ai1; + ai1 = ai0; + + k = j + BlockEnd; + tr = ar0 * RealOut[k] - ai0 * ImagOut[k]; + ti = ar0 * ImagOut[k] + ai0 * RealOut[k]; + + RealOut[k] = RealOut[j] - tr; + ImagOut[k] = ImagOut[j] - ti; + + RealOut[j] += tr; + ImagOut[j] += ti; + } + } + + BlockEnd = BlockSize; + } + + /* + ** Need to normalize if inverse transform... + */ + + if (InverseTransform) { + float denom = (float) NumSamples; + + for (i = 0; i < NumSamples; i++) { + RealOut[i] /= denom; + ImagOut[i] /= denom; + } + } +} + +/* + * Real Fast Fourier Transform + * + * This function was based on the code in Numerical Recipes in C. + * In Num. Rec., the inner loop is based on a single 1-based array + * of interleaved real and imaginary numbers. Because we have two + * separate zero-based arrays, our indices are quite different. + * Here is the correspondence between Num. Rec. indices and our indices: + * + * i1 <-> real[i] + * i2 <-> imag[i] + * i3 <-> real[n/2-i] + * i4 <-> imag[n/2-i] + */ + +void RealFFT(int NumSamples, float *RealIn, float *RealOut, float *ImagOut) +{ + int Half = NumSamples / 2; + int i; + + float theta = M_PI / Half; + + float *tmpReal = (float*) malloc(Half * sizeof(float)); + float *tmpImag = (float*) malloc(Half * sizeof(float)); + + for (i = 0; i < Half; i++) { + tmpReal[i] = RealIn[2 * i]; + tmpImag[i] = RealIn[2 * i + 1]; + } + + FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); + + float wtemp = float (sin(0.5 * theta)); + + float wpr = -2.0 * wtemp * wtemp; + float wpi = float (sin(theta)); + float wr = 1.0 + wpr; + float wi = wpi; + + int i3; + + float h1r, h1i, h2r, h2i; + + for (i = 1; i < Half / 2; i++) { + + i3 = Half - i; + + h1r = 0.5 * (RealOut[i] + RealOut[i3]); + h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); + h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); + h2i = -0.5 * (RealOut[i] - RealOut[i3]); + + RealOut[i] = h1r + wr * h2r - wi * h2i; + ImagOut[i] = h1i + wr * h2i + wi * h2r; + RealOut[i3] = h1r - wr * h2r + wi * h2i; + ImagOut[i3] = -h1i + wr * h2i + wi * h2r; + + wr = (wtemp = wr) * wpr - wi * wpi + wr; + wi = wi * wpr + wtemp * wpi + wi; + } + + RealOut[0] = (h1r = RealOut[0]) + ImagOut[0]; + ImagOut[0] = h1r - ImagOut[0]; + + free(tmpReal); + free(tmpImag); +} + +/* + * PowerSpectrum + * + * This function computes the same as RealFFT, above, but + * adds the squares of the real and imaginary part of each + * coefficient, extracting the power and throwing away the + * phase. + * + * For speed, it does not call RealFFT, but duplicates some + * of its code. + */ + +void PowerSpectrum(int NumSamples, float *In, float *Out) +{ + int Half = NumSamples / 2; + int i; + + float theta = M_PI / Half; + + float *tmpReal = new float[Half]; + float *tmpImag = new float[Half]; + float *RealOut = new float[Half]; + float *ImagOut = new float[Half]; + + for (i = 0; i < Half; i++) { + tmpReal[i] = In[2 * i]; + tmpImag[i] = In[2 * i + 1]; + } + + FFT(Half, 0, tmpReal, tmpImag, RealOut, ImagOut); + + float wtemp = float (sin(0.5 * theta)); + + float wpr = -2.0 * wtemp * wtemp; + float wpi = float (sin(theta)); + float wr = 1.0 + wpr; + float wi = wpi; + + int i3; + + float h1r, h1i, h2r, h2i, rt, it; + //float total=0; + + for (i = 1; i < Half / 2; i++) { + + i3 = Half - i; + + h1r = 0.5 * (RealOut[i] + RealOut[i3]); + h1i = 0.5 * (ImagOut[i] - ImagOut[i3]); + h2r = 0.5 * (ImagOut[i] + ImagOut[i3]); + h2i = -0.5 * (RealOut[i] - RealOut[i3]); + + rt = h1r + wr * h2r - wi * h2i; //printf("Realout%i = %f",i,rt);total+=fabs(rt); + it = h1i + wr * h2i + wi * h2r; // printf(" Imageout%i = %f\n",i,it); + + Out[i] = rt * rt + it * it; + + rt = h1r - wr * h2r + wi * h2i; + it = -h1i + wr * h2i + wi * h2r; + + Out[i3] = rt * rt + it * it; + + wr = (wtemp = wr) * wpr - wi * wpi + wr; + wi = wi * wpr + wtemp * wpi + wi; + } + //printf("total = %f\n",total); + rt = (h1r = RealOut[0]) + ImagOut[0]; + it = h1r - ImagOut[0]; + Out[0] = rt * rt + it * it; + + rt = RealOut[Half / 2]; + it = ImagOut[Half / 2]; + Out[Half / 2] = rt * rt + it * it; + + delete[]tmpReal; + delete[]tmpImag; + delete[]RealOut; + delete[]ImagOut; +} + +void WindowFunc(int whichFunction, int NumSamples, float *in) +{ + int i; + + if (whichFunction == 1) { + // Bartlett (triangular) window + for (i = 0; i < NumSamples / 2; i++) { + in[i] *= (i / (float) (NumSamples / 2)); + in[i + (NumSamples / 2)] *= + (1.0 - (i / (float) (NumSamples / 2))); + } + } + + if (whichFunction == 2) { + // Hamming + for (i = 0; i < NumSamples; i++) + in[i] *= 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); + } + + if (whichFunction == 3) { + // Hanning + for (i = 0; i < NumSamples; i++) + in[i] *= 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); + } +} + +void fft::genWindow(int whichFunction, int NumSamples, float *window) +{ + int i; + + if (whichFunction == 1) { + // Bartlett (triangular) window + for (i = 0; i < NumSamples / 2; i++) { + window[i] = (i / (float) (NumSamples / 2)); + window[i + (NumSamples / 2)] = + (1.0 - (i / (float) (NumSamples / 2))); + } + } + + if (whichFunction == 2) { + // Hamming + for (i = 0; i < NumSamples; i++) + window[i] = 0.54 - 0.46 * cos(2 * M_PI * i / (NumSamples - 1)); + } + + if (whichFunction == 3) { + // Hanning + for (i = 0; i < NumSamples; i++) + window[i] = 0.50 - 0.50 * cos(2 * M_PI * i / (NumSamples - 1)); + } +} + +/* constructor */ +fft::fft(int fftSize) { + n = fftSize; + half = fftSize / 2; + //use malloc for 16 byte alignment + in_real = (float *) malloc(n * sizeof(float)); + in_img = (float *) malloc(n * sizeof(float)); + out_real = (float *) malloc(n * sizeof(float)); + out_img = (float *) malloc(n * sizeof(float)); + +#ifdef __APPLE_CC__ + log2n = log2(n); + A.realp = (float *) malloc(half * sizeof(float)); + A.imagp = (float *) malloc(half * sizeof(float)); + setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2); + if (setupReal == NULL) { + printf("\nFFT_Setup failed to allocate enough memory for" + "the real FFT.\n"); + } + polar = (float *) malloc(n * sizeof(float)); +#endif +} + +/* destructor */ +fft::~fft() { + delete[] in_real, out_real, in_img, out_img; +#ifdef __APPLE_CC__ + vDSP_destroy_fftsetup(setupReal); + delete[] A.realp; + delete[] A.imagp; + delete[] polar; +#endif + +} + +/* Calculate the power spectrum */ +void fft::powerSpectrum(int start, float *data, float *window, float *magnitude,float *phase) { + int i; + + //windowing + for (i = 0; i < n; i++) { + in_real[i] = data[start + i] * window[i]; + } + + + RealFFT(n, in_real, out_real, out_img); + + for (i = 0; i < half; i++) { + /* compute power */ + float power = out_real[i]*out_real[i] + out_img[i]*out_img[i]; + /* compute magnitude and phase */ + magnitude[i] = sqrt(power); + phase[i] = atan2(out_img[i],out_real[i]); + + // if (magnitude[i] < 0.000001){ // less than 0.1 nV + // magnitude[i] = 0; // out of range + // } else { + // magnitude[i] = 20.0*log10(magnitude[i] + 1); // get to to db scale + // } + } + +} + +void fft::convToDB(float *in, float *out) { + for (int i = 0; i < half; i++) { + if (in[i] < 0.000001){ // less than 0.1 nV + out[i] = 0; // out of range + } else { + out[i] = 20.0*log10(in[i] + 1); // get to to db scale + } + } +} + + +#ifdef __APPLE_CC__ + +/* Calculate the power spectrum */ +void fft::powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase) { + + uint32_t i; + + //multiply by window + vDSP_vmul(data, 1, window, 1, in_real, 1, n); + + //convert to split complex format - evens and odds + vDSP_ctoz((COMPLEX *) in_real, 2, &A, 1, half); + + + //calc fft + vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_FORWARD); + + //scale by 2 (see vDSP docs) + static float scale=0.5 ; + vDSP_vsmul(A.realp, 1, &scale, A.realp, 1, half); + vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, half); + + //back to split complex format + vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); + + //convert to polar + vDSP_polar(out_real, 2, polar, 2, half); + + for (i = 0; i < half; i++) { + magnitude[i]=polar[2*i]; + phase[i]=polar[2*i + 1]; + } + + + +} + +void fft::convToDB_vdsp(float *in, float *out) { + float ref = 1.0; + vDSP_vdbcon(in, 1, &ref, out, 1, half, 1); + //get rid of any -infs + float vmin=0.0; + float vmax=9999999.0; + vDSP_vclip(out, 1, &vmin, &vmax, out, 1, half); +} + +#endif + +void fft::inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase) { + int i; + + /* get real and imag part */ + for (i = 0; i < half; i++) { + // float mag = pow(10.0, magnitude[i] / 20.0) - 1.0; + // in_real[i] = mag *cos(phase[i]); + // in_img[i] = mag *sin(phase[i]); + in_real[i] = magnitude[i] *cos(phase[i]); + in_img[i] = magnitude[i] *sin(phase[i]); + } + + /* zero negative frequencies */ + memset(in_real+half, half, 0.0); + memset(in_img+half, half, 0.0); + + FFT(n, 1, in_real, in_img, out_real, out_img); // second parameter indicates inverse transform + + for (i = 0; i < n; i++) { + finalOut[start + i] += out_real[i] * window[i] + ; + } + +} + + +#ifdef __APPLE_CC__ +void fft::inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase) { + uint32_t i; + + for (i = 0; i < half; i++) { + // polar[2*i] = pow(10.0, magnitude[i] / 20.0) - 1.0; + polar[2*i] = magnitude[i]; + polar[2*i + 1] = phase[i]; + } + + vDSP_rect(polar, 2, in_real, 2, half); + + vDSP_ctoz((COMPLEX*) in_real, 2, &A, 1, half); + vDSP_fft_zrip(setupReal, &A, 1, log2n, FFT_INVERSE); + vDSP_ztoc(&A, 1, (COMPLEX*) out_real, 2, half); + + float scale = 1./n; + vDSP_vsmul(out_real, 1, &scale, out_real, 1, n); + + //multiply by window + vDSP_vmul(out_real, 1, window, 1, finalOut, 1, n); + +} + +#endif diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.h new file mode 100644 index 0000000..7f0e688 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/fft.h @@ -0,0 +1,79 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _FFT +#define _FFT + +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif + +#ifdef __APPLE_CC__ +#include +#endif + + + +class fft { + +public: + + fft(int fftSize); + ~fft(); + + int n; //fftSize + int half; //halfFFTSize + + float *in_real, *out_real, *in_img, *out_img; + +#ifdef __APPLE_CC__ + int log2n; //log2(n); + FFTSetup setupReal; + COMPLEX_SPLIT A; + float *polar; + void powerSpectrum_vdsp(int start, float *data, float *window, float *magnitude,float *phase); + void inversePowerSpectrum_vdsp(int start, float *finalOut, float *window, float *magnitude,float *phase); + void convToDB_vdsp(float *in, float *out); +#endif + + /* Calculate the power spectrum */ + void powerSpectrum(int start, float *data, float *window, float *magnitude, float *phase); + /* ... the inverse */ + void inversePowerSpectrum(int start, float *finalOut, float *window, float *magnitude,float *phase); + void convToDB(float *in, float *out); + + static void genWindow(int whichFunction, int NumSamples, float *window); + +}; + + +#endif diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.cpp new file mode 100644 index 0000000..14f5ea8 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.cpp @@ -0,0 +1,219 @@ +/* + * gabor.cpp + * mp + * + * Created by Chris on 01/11/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#include "maxiAtoms.h" +#include +#include +#include "sineTable.h" +#ifdef __APPLE_CC__ +#include +#warning ofxMaxim: Please link against the accelerate framework. +#endif + +//#include "tinyxml.h" + +float sineBuffer2[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 +}; + + +maxiGrainWindowCache maxiCollider::envCache = maxiGrainWindowCache(); + +inline void maxiCollider::createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned length, + float startPhase, const float kurtotis, const float amp) { + atom.resize(length); + flArr sine; + sine.resize(length); + +// float gausDivisor = (-2.0 * kurtotis * kurtotis); +// float phase =-1.0; + + double *env = maxiCollider::envCache.getWindow(length); +#ifdef __APPLE_CC__ + vDSP_vdpsp(env, 1, &atom[0], 1, length); +#else + for(unsigned i=0; i < length; i++) { + atom[i] = env[i]; + } +#endif + +//#ifdef __APPLE_CC__ +// vDSP_vramp(&phase, &inc, &atom[0], 1, length); +// vDSP_vsq(&atom[0], 1, &atom[0], 1, length); +// vDSP_vsdiv(&atom[0], 1, &gausDivisor, &atom[0], 1, length); +// for(uint i=0; i < length; i++) atom[i] = exp(atom[i]); +//#else +// for(uint i=0; i < length; i++) { +// //gaussian envelope +// atom[i] = exp((phase* phase) / gausDivisor); +// phase += inc; +// } +//#endif + + float cycleLen = sampleRate / freq; + float maxPhase = length / cycleLen; + float inc = 1.0 / length; + + +#ifdef __APPLE_CC__ + flArr interpConstants; + interpConstants.resize(length); + float phase = 0.0; + vDSP_vramp(&phase, &inc, &interpConstants[0], 1, length); + vDSP_vsmsa(&interpConstants[0], 1, &maxPhase, &startPhase, &interpConstants[0], 1, length); + float waveTableLength = 512; + vDSP_vsmul(&interpConstants[0], 1, &waveTableLength, &interpConstants[0], 1, length); + for(uint i=0; i < length; i++) { + interpConstants[i] = fmod(interpConstants[i], 512.0f); + } + vDSP_vlint(sineBuffer2, &interpConstants[0], 1, &sine[0], 1, length, 514); + vDSP_vmul(&atom[0], 1, &sine[0], 1, &atom[0], 1, length); + vDSP_vsmul(&atom[0], 1, &, &atom[0], 1, length); +#else + maxPhase *= TWOPI; + for(unsigned int i=0; i < length; i++) { + //multiply by sinewave + float x = inc * i; + sine[i] = sin((x * maxPhase) + startPhase); + } + for(unsigned int i=0; i < length; i++) { + atom[i] *= sine[i]; + atom[i] *= amp; + } +#endif +} + + + +maxiAccelerator::maxiAccelerator() { + sampleIdx = 0; +} + +void maxiAccelerator::addAtom(flArr &atom, unsigned int offset) { + queuedAtom quAtom; + quAtom.atom = atom; + quAtom.startTime = sampleIdx + offset; + quAtom.pos = 0; + atomQueue.push_back(quAtom); +} + +void maxiAccelerator::fillNextBuffer(float *buffer, unsigned int bufferLength) { + queuedAtomList::iterator it = atomQueue.begin(); + while(it != atomQueue.end()) { + int atomStart = (*it).startTime + (*it).pos; + //include in this frame? + if (atomStart >= sampleIdx && atomStart < sampleIdx + bufferLength) { + //copy into buffer + int renderLength = min((int)bufferLength,(int)( (*it).atom.size() - (*it).pos)); + for(int i=0; i < renderLength; i++) { + buffer[i] += (*it).atom[i + (*it).pos]; + } + (*it).pos += renderLength; + } + if ((*it).pos == (*it).atom.size()) { + it = atomQueue.erase(it); + }else { + it++; + } + + } + sampleIdx += bufferLength; +} + +//bool maxiAtomBook::loadMPTKXmlBook(string filename, maxiAtomBook &book) { +// bool ok; +// ifstream f; +// f.open(filename.c_str()); +// if (f.fail()) { +// cout << "I couldn't open " << filename << endl; +// ok = false; +// }else { +// cout << "Reading " << filename << endl; +// const int lineBufferSize = 1024; +// char lineBuffer[lineBufferSize]; +// string line(""); +// //get dictionary definition xml +// while("" != line) { +// f.getline(lineBuffer, lineBufferSize); +// line = lineBuffer; +// } +// //this should be "txt" +// f.getline(lineBuffer, lineBufferSize); +// //get rest of data into one string +// string xmlData; +// while(!f.eof()) { +// f.getline(lineBuffer, lineBufferSize); +// xmlData.append(lineBuffer); +// } +// TiXmlDocument doc; +// doc.Parse(xmlData.c_str()); +// cout << "Parsed xml, processing atoms...\n"; +// TiXmlHandle docHandle = TiXmlHandle(&doc); +// +// TiXmlElement *root = docHandle.FirstChildElement("book").ToElement(); +// TiXmlAttribute *nAtomsAtt = root->FirstAttribute(); +// cout << nAtomsAtt->Name() << ", " << nAtomsAtt->Value() << endl; +// int nAtoms = atoi(nAtomsAtt->Value()); +// TiXmlAttribute *numSamplesAtt = nAtomsAtt->Next()->Next(); +// cout << numSamplesAtt->Name() << ", " << numSamplesAtt->Value() << endl; +// book.numSamples = atoi(numSamplesAtt->Value()); +// TiXmlAttribute *sampleRateAtt = numSamplesAtt->Next(); +// cout << sampleRateAtt->Name() << ", " << sampleRateAtt->Value() << endl; +// book.sampleRate = atoi(sampleRateAtt->Value()); +// +// for(int atomIdx=0; atomIdx < nAtoms; atomIdx++) { +// maxiGaborAtom *newAtom = new maxiGaborAtom(); +// newAtom->atomType = GABOR; +// TiXmlElement *atom = docHandle.FirstChildElement("book").ChildElement("atom", atomIdx).ToElement(); +// TiXmlElement *node = atom->FirstChildElement()->NextSibling()->ToElement(); +// newAtom->position = atoi(node->FirstChildElement("p")->FirstChild()->ToText()->Value()); +// newAtom->length = atoi(node->FirstChildElement("l")->FirstChild()->ToText()->Value()); +// node = node->NextSibling()->ToElement(); +// newAtom->amp = atof(node->FirstChild()->ToText()->Value()); +// node = node->NextSibling()->NextSibling()->ToElement(); +// newAtom->frequency = atof(node->FirstChild()->ToText()->Value()); +// node = node->NextSibling()->NextSibling()->ToElement(); +// newAtom->phase = atof(node->FirstChild()->ToText()->Value()); +// //cout << "Atom: pos: " << newAtom->position << ", length: " << newAtom->length << ", amp: " << newAtom->amp << ", freq: " << newAtom->frequency << ", phase: " << newAtom->phase << endl; +// book.atoms.push_back(newAtom); +// } +// +// } +// return ok; +//} + +maxiAtomBook::~maxiAtomBook() { + for(int i=0; i < atoms.size(); i++) delete atoms[i]; +} + +maxiAtomBookPlayer::maxiAtomBookPlayer() { + atomIdx = 0; +} + +void maxiAtomBookPlayer::play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize) { + //positions + long idx = atomStream.getSampleIdx(); + int loopedSamplePos = idx % book.numSamples; + + //reset loop? + if (loopedSamplePos < bufferSize) + atomIdx = 0; + + if (atomIdx < book.atoms.size()) { + maxiGaborAtom *atom = (maxiGaborAtom*) book.atoms[atomIdx]; + while(atom->position < (idx + bufferSize) % book.numSamples) { + flArr atomData; + maxiCollider::createGabor(atomData, maxiMap::linlin(atom->frequency, 0.0, 1.0, 20, 20000), 44100, atom->length, atom->phase, 0.3, atom->amp / 40.0); + atomStream.addAtom(atomData, loopedSamplePos - atom->position); + atomIdx++; + if (book.atoms.size() == atomIdx) + break; + atom = (maxiGaborAtom*) book.atoms[atomIdx]; + } + } +} diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.h new file mode 100644 index 0000000..1782d55 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiAtoms.h @@ -0,0 +1,91 @@ +/* + * gabor.h + * mp + * + * Created by Chris on 01/11/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ + + +#include +#include "maximilian.h" +#include +#include +#include "maxiGrains.h" + + +using namespace std; + +typedef vector flArr; + +enum maxiAtomTypes { + GABOR +}; + +struct maxiAtom { + maxiAtomTypes atomType; + float length; + float position; + float amp; + static bool atomSortPositionAsc(maxiAtom* a, maxiAtom* b) {return a->position < b->position;} +}; + +struct maxiGaborAtom : maxiAtom { + float frequency; + float phase; +}; + +//create atoms +class maxiCollider { +public: + static inline void createGabor(flArr &atom, const float freq, const float sampleRate, const unsigned int length, + float phase, const float kurtotis, const float amp); + static maxiGrainWindowCache envCache; +}; + + +//queue atoms into an audio stream +class maxiAccelerator { +public: + maxiAccelerator(); + void addAtom(flArr &atom, unsigned int offset=0); + void fillNextBuffer(float *buffer, unsigned int bufferLength); + inline long getSampleIdx(){return sampleIdx;} +private: + long sampleIdx; + struct queuedAtom { + flArr atom; + long startTime; + unsigned int pos; + }; + typedef list queuedAtomList; + queuedAtomList atomQueue; +}; + +/*load a book in MPTK XML format + http://mptk.irisa.fr/ + + how to create a book: + mpd -n 1000 -R 10 -d ./dic_gabor_two_scales.xml glockenspiel.wav book.xml +*/ +class maxiAtomBook { +public: + ~maxiAtomBook(); + typedef vector maxiAtomBookData; + unsigned int numSamples; + unsigned int sampleRate; + maxiAtomBookData atoms; + //commented out for now, need to resolve tinyxml linker issues - we need tinyxml in the distrib, but it clashes if you also import ofxXmlSettings +// static bool loadMPTKXmlBook(string filename, maxiAtomBook &book); + +}; + +class maxiAtomBookPlayer { +public: + maxiAtomBookPlayer(); + void play(maxiAtomBook &book, maxiAccelerator &atomStream, float *output, int bufferSize); +private: + unsigned int atomIdx; +}; + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.cpp new file mode 100644 index 0000000..634a779 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.cpp @@ -0,0 +1,10 @@ +/* + * maxiBark.cpp + * Bark scale loudness + * + * Created by Jakub on 01/12/2014. + * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#include "maxiBark.h" diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.h new file mode 100644 index 0000000..dbb4a86 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiBark.h @@ -0,0 +1,133 @@ +/* + * maxiBark.cpp + * Bark scale loudness + * + * Created by Jakub on 01/12/2014. + * Copyright 2014 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#pragma once +#pragma pack(16) + +#include "maxiFFT.h" +#include +#include +//#include +#include +#ifdef __APPLE_CC__ +#include +#endif + +using namespace std; + +//convert to Bark scale (Zwicker, 1961) +inline double hzToBark(double hz) { + return 13.0*atan(hz/1315.8) + 3.5*atan(pow((hz/7518.0),2)); +} + +inline double binToHz(unsigned int bin, unsigned int sR, unsigned int bS) { + return bin*sR/bS; +} + +template + +class maxiBarkScaleAnalyser { +public: + int NUM_BARK_BANDS; + + void setup(unsigned int sR, unsigned int bS) { + this->sampleRate = sR; + this->bufferSize = bS; + specSize = bS/2; + NUM_BARK_BANDS = 24; + for (int i=0; i currentBandEnd) { + bbLimits[currentBand] = i; + currentBand++; + currentBandEnd = currentBand*barkScale[specSize-1]/NUM_BARK_BANDS; + } + } + + bbLimits[NUM_BARK_BANDS] = specSize-1; + }; + + double* specificLoudness(float* normalisedSpectrum) { + for (int i = 0; i < NUM_BARK_BANDS; i++){ + double sum = 0; + for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { + + sum += normalisedSpectrum[j]; + } + specific[i] = pow(sum,0.23); + } + + return specific; + }; + + double* relativeLoudness(float* normalisedSpectrum) { + for (int i = 0; i < NUM_BARK_BANDS; i++){ + double sum = 0; + for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { + + sum += normalisedSpectrum[j]; + } + specific[i] = pow(sum,0.23); + } + + double max = 0; + for (int i = 0; i < NUM_BARK_BANDS; i++){ + if (specific[i] > max) max = specific[i]; + } + + for (int i = 0; i < NUM_BARK_BANDS; i++){ + relative[i] = specific[i]/max; + } + + return relative; + }; + + double* totalLoudness(float* normalisedSpectrum) { + for (int i = 0; i < NUM_BARK_BANDS; i++){ + double sum = 0; + for (int j = bbLimits[i] ; j < bbLimits[i+1] ; j++) { + + sum += normalisedSpectrum[j]; + } + specific[i] = pow(sum,0.23); + } + + total[0] = 0; + + for (int i = 0; i < 24; i++){ + total[0] += specific[i]; + } + + return total; + }; + +private: + int bbLimits[24]; + unsigned int sampleRate, bufferSize, specSize; + double barkScale[2048]; + double specific[24]; + double relative[24]; + double total[1]; + +}; + +typedef maxiBarkScaleAnalyser maxiBark; + + + + + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.cpp new file mode 100644 index 0000000..c648992 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.cpp @@ -0,0 +1,290 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "maxiFFT.h" +#include "maximilian.h" +#include +#include "math.h" + +using namespace std; + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//F F T +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void maxiFFT::setup(int _fftSize, int _windowSize, int _hopSize) { + _fft = new fft(_fftSize); + fftSize = _fftSize; + windowSize = _windowSize; + bins = fftSize / 2; + hopSize = _hopSize; + buffer = (float *) malloc(fftSize * sizeof(float)); + magnitudes = (float *) malloc(bins * sizeof(float)); + magnitudesDB = (float *) malloc(bins * sizeof(float)); + phases = (float *) malloc(bins * sizeof(float)); + avgPower = new float; + memset(buffer, 0, fftSize * sizeof(float)); + memset(magnitudes, 0, bins * sizeof(float)); + memset(magnitudesDB, 0, bins * sizeof(float)); + memset(phases, 0, bins * sizeof(float)); + *avgPower = 0; + pos =windowSize - hopSize; + newFFT = 0; + window = (float*) malloc(fftSize * sizeof(float)); + memset(window, 0, fftSize * sizeof(float)); + fft::genWindow(3, windowSize, window); +} + +bool maxiFFT::process(float value) { + //add value to buffer at current pos + buffer[pos++] = value; + //if buffer full, run fft + newFFT = pos == windowSize; + if (newFFT) { +#if defined(__APPLE_CC__) && !defined(_NO_VDSP) + _fft->powerSpectrum_vdsp(0, buffer, window, magnitudes, phases); +#else + _fft->powerSpectrum(0, buffer, window, magnitudes, phases); +#endif + //shift buffer back by one hop size + memcpy(buffer, buffer + hopSize, (windowSize - hopSize) * sizeof(float)); + //set the new data to zero (is this necessary?, it will get overwritten) + memset(buffer + windowSize - hopSize, 0, hopSize * sizeof(float)); + //reset pos to start of hop + pos= windowSize - hopSize; + } + return newFFT; +} + +float* maxiFFT::magsToDB() { +#if defined(__APPLE_CC__) && !defined(_NO_VDSP) + _fft->convToDB_vdsp(magnitudes, magnitudesDB); +#else + _fft->convToDB(magnitudes, magnitudesDB); +#endif + return magnitudesDB; +} + +float maxiFFT::spectralFlatness() { + float geometricMean=0, arithmaticMean=0; + for(int i=0; i < bins; i++) { + if (magnitudes[i] != 0) + geometricMean += logf(magnitudes[i]); + arithmaticMean += magnitudes[i]; + } + geometricMean = expf(geometricMean / (float)bins); + arithmaticMean /= (float)bins; + return arithmaticMean !=0 ? geometricMean / arithmaticMean : 0; +} + +float maxiFFT::spectralCentroid() { + float x=0, y=0; + for(int i=0; i < bins; i++) { + x += fabs(magnitudes[i]) * i; + y += fabs(magnitudes[i]); + } + return y != 0 ? x / y * ((float) maxiSettings::sampleRate / fftSize) : 0; +} + + + +maxiFFT::~maxiFFT() { + delete _fft; + if (buffer) + delete[] buffer,magnitudes,phases,window, avgPower, magnitudesDB; +} + + + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//I N V E R S E F F T +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +void maxiIFFT::setup(int _fftSize, int _windowSize, int _hopSize) { + _fft = new fft(_fftSize); + fftSize = _fftSize; + windowSize = _windowSize; + bins = fftSize / 2; + hopSize = _hopSize; + buffer = (float *) malloc(fftSize * sizeof(float)); + ifftOut = (float *) malloc(fftSize * sizeof(float)); + memset(buffer, 0, windowSize * sizeof(float)); + pos =0; + window = (float*) malloc(fftSize * sizeof(float)); + memset(window, 0, fftSize * sizeof(float)); + fft::genWindow(3, windowSize, window); +} + +float maxiIFFT::process(float *magnitudes, float *phases) { + if (0==pos) { + //do ifft + memset(ifftOut, 0, fftSize * sizeof(float)); +#if defined(__APPLE_CC__) && !defined(_NO_VDSP) + _fft->inversePowerSpectrum_vdsp(0, ifftOut, window, magnitudes, phases); +#else + _fft->inversePowerSpectrum(0, ifftOut, window, magnitudes, phases); +#endif + //add to output + //shift back by one hop + memcpy(buffer, buffer+hopSize, (fftSize - hopSize) * sizeof(float)); + //clear the end chunk + memset(buffer + (fftSize - hopSize), 0, hopSize * sizeof(float)); + //merge new output + for(int i=0; i < fftSize; i++) { + buffer[i] += ifftOut[i]; + } + } + + nextValue = buffer[pos]; + //limit the values, this alg seems to spike occasionally (and break the audio drivers) + if (nextValue > 0.99999f) nextValue = 0.99999f; + if (nextValue < -0.99999f) nextValue = -0.99999f; + if (hopSize == ++pos ) { + pos=0; + } + + return nextValue; +} + +maxiIFFT::~maxiIFFT() { + delete _fft; + delete[] ifftOut, buffer, window; +}; + + + + + + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//O C T A V E A N A L Y S E R +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + +void maxiFFTOctaveAnalyzer::setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave){ + + samplingRate = samplingRate; + nSpectrum = nBandsInTheFFT; + spectrumFrequencySpan = (samplingRate / 2.0f) / (float)(nSpectrum); + nAverages = nBandsInTheFFT; + // fe: 2f for octave bands, sqrt(2) for half-octave bands, cuberoot(2) for third-octave bands, etc + if (nAveragesPerOctave==0) // um, wtf? + nAveragesPerOctave = 1; +// nAveragesPerOctave = nAveragesPerOctave; + averageFrequencyIncrement = pow(2.0f, 1.0f/(float)(nAveragesPerOctave)); + // this isn't currently configurable (used once here then no effect), but here's some reasoning: + // 43 is a good value if you want to approximate "computer" octaves: 44100/2/2/2/2/2/2/2/2/2/2 + // 55 is a good value if you'd rather approximate A-440 octaves: 440/2/2/2 + // 65 is a good value if you'd rather approximate "middle-C" octaves: ~262/2/2 + // you could easily double it if you felt the lowest band was just rumble noise (as it probably is) + // but don't go much smaller unless you have a huge fft window size (see below for more why) + // keep in mind, if you change it, that the number of actual bands may change +/-1, and + // for some values, the last averaging band may not be very useful (may extend above nyquist) + firstOctaveFrequency = 55.0f; + // for each spectrum[] bin, calculate the mapping into the appropriate average[] bin. + // this gives us roughly log-sized averaging bins, subject to how "fine" the spectrum bins are. + // with more spectrum bins, you can better map into the averaging bins (especially at low + // frequencies) or use more averaging bins per octave. with an fft window size of 2048, + // sampling rate of 44100, and first octave around 55, that's about enough to do half-octave + // analysis. if you don't have enough spectrum bins to map adequately into averaging bins + // at the requested number per octave then you'll end up with "empty" averaging bins, where + // there is no spectrum available to map into it. (so... if you have "nonreactive" averages, + // either increase fft buffer size, or decrease number of averages per octave, etc) + spe2avg = new int[nSpectrum]; + int avgidx = 0; + float averageFreq = firstOctaveFrequency; // the "top" of the first averaging bin + // we're looking for the "top" of the first spectrum bin, and i'm just sort of + // guessing that this is where it is (or possibly spectrumFrequencySpan/2?) + // ... either way it's probably close enough for these purposes + float spectrumFreq = spectrumFrequencySpan; + for (int speidx=0; speidx < nSpectrum; speidx++) { + while (spectrumFreq > averageFreq) { + avgidx++; + averageFreq *= averageFrequencyIncrement; + } + spe2avg[speidx] = avgidx; + spectrumFreq += spectrumFrequencySpan; + } + nAverages = avgidx; + averages = new float[nAverages]; + peaks = new float[nAverages]; + peakHoldTimes = new int[nAverages]; + peakHoldTime = 0; // arbitrary + peakDecayRate = 0.9f; // arbitrary + linearEQIntercept = 1.0f; // unity -- no eq by default + linearEQSlope = 0.0f; // unity -- no eq by default +} + +void maxiFFTOctaveAnalyzer::calculate(float * fftData){ + + int last_avgidx = 0; // tracks when we've crossed into a new averaging bin, so store current average + float sum = 0.0f; // running total of spectrum data + int count = 0; // count of spectrums accumulated (for averaging) + for (int speidx=0; speidx < nSpectrum; speidx++) { + count++; + sum += fftData[speidx] * (linearEQIntercept + (float)(speidx) * linearEQSlope); + int avgidx = spe2avg[speidx]; + if (avgidx != last_avgidx) { + + for (int j = last_avgidx; j < avgidx; j++){ + averages[j] = sum / (float)(count); + } + count = 0; + sum = 0.0f; + } + last_avgidx = avgidx; + } + // the last average was probably not calculated... + if ((count > 0) && (last_avgidx < nAverages)){ + averages[last_avgidx] = sum / (float)(count); + } + + // update the peaks separately + for (int i=0; i < nAverages; i++) { + if (averages[i] >= peaks[i]) { + // save new peak level, also reset the hold timer + peaks[i] = averages[i]; + peakHoldTimes[i] = peakHoldTime; + } else { + // current average does not exceed peak, so hold or decay the peak + if (peakHoldTimes[i] > 0) { + peakHoldTimes[i]--; + } else { + peaks[i] *= peakDecayRate; + } + } + } +} diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.h new file mode 100644 index 0000000..d2694f4 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiFFT.h @@ -0,0 +1,128 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _MAXI_FFT +#define _MAXI_FFT + +//#define _NO_VDSP //set this if you don't want to use apple's vDSP fft functions + + +#include "fft.h" +#include "stddef.h" + +class maxiFFT { + +public: + maxiFFT(){ + _fft = NULL; + buffer = magnitudes = phases = window = avgPower = NULL; + }; + ~maxiFFT(); + void setup(int fftSize, int windowSize, int hopSize); + bool process(float value); + float* magsToDB(); + float *magnitudes, *phases, *magnitudesDB; + float *avgPower; + int windowSize; + int hopSize; + int bins; + + //features + float spectralFlatness(); + float spectralCentroid(); + +private: + float *buffer, *window; + int pos; + float nextValue; + int fftSize; + fft *_fft; + bool newFFT; + +}; + +class maxiIFFT { + +public: + maxiIFFT(){ + _fft=0; + }; + ~maxiIFFT(); + void setup(int fftSize, int windowSize, int hopSize); + float process(float *magnitudes, float *phases); + +private: + float *ifftOut, *buffer, *window; + int windowSize; + int bins; + int hopSize; + int pos; + float nextValue; + int fftSize; + fft *_fft; +}; + + +class maxiFFTOctaveAnalyzer { + /*based on code by David Bollinger, http://www.davebollinger.com/ + */ +public: + + float samplingRate; // sampling rate in Hz (needed to calculate frequency spans) + int nSpectrum; // number of spectrum bins in the fft + int nAverages; // number of averaging bins here + int nAveragesPerOctave; // number of averages per octave as requested by user + float spectrumFrequencySpan; // the "width" of an fft spectrum bin in Hz + float firstOctaveFrequency; // the "top" of the first averaging bin here in Hz + float averageFrequencyIncrement; // the root-of-two multiplier between averaging bin frequencies + float * averages; // the actual averages + float * peaks; // peaks of the averages, aka "maxAverages" in other implementations + int * peakHoldTimes; // how long to hold THIS peak meter? decay if == 0 + int peakHoldTime; // how long do we hold peaks? (in fft frames) + float peakDecayRate; // how quickly the peaks decay: 0f=instantly .. 1f=not at all + int * spe2avg; // the mapping between spectrum[] indices and averages[] indices + // the fft's log equalizer() is no longer of any use (it would be nonsense to log scale + // the spectrum values into log-sized average bins) so here's a quick-and-dirty linear + // equalizer instead: + float linearEQSlope; // the rate of linear eq + float linearEQIntercept; // the base linear scaling used at the first averaging bin + // the formula is: spectrum[i] * (linearEQIntercept + i * linearEQSlope) + // so.. note that clever use of it can also provide a "gain" control of sorts + // (fe: set intercept to 2f and slope to 0f to double gain) + + void setup(float samplingRate, int nBandsInTheFFT, int nAveragesPerOctave); + + void calculate(float * fftData); + +}; + +#endif \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.cpp new file mode 100644 index 0000000..951f3b5 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.cpp @@ -0,0 +1,6 @@ +#include "maxiGrains.h" + + + + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.h new file mode 100644 index 0000000..fb3e102 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiGrains.h @@ -0,0 +1,467 @@ + + +#ifndef _MAXI_GRAINS_H +#define _MAXI_GRAINS_H +#include "maximilian.h" + +#if defined(__APPLE_CC__) +#include "accelerate/accelerate.h" +//Mac users can uncommment the line below to use Apple's accelerate framework for calculating grains. This gives ~300% speed improvement and better sound quality, but doesn't work well on all machines. +//#define MAXIGRAINFAST +#endif + +#include + +typedef unsigned long ulong; + +//window functions from http://en.wikipedia.org/wiki/Window_function#High-_and_moderate-resolution_windows + +struct hannWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.5 * (1.0 - cos((2.0 * PI * windowPos) / (windowLength - 1))); + } +}; + +//this window can produce clicks +struct hammingWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.54 - (0.46 * cos((2.0 * PI * windowPos) / (windowLength - 1))); + } +}; + + +struct cosineWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return sin((PI * windowPos) / (windowLength - 1)); + } +}; + +struct rectWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 1; + } +}; + +struct triangleWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return (2.0 / (windowLength-1.0)) * (((windowLength-1.0)/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); + } +}; + +struct triangleNZWinFunctor { + //non zero end points + inline double operator()(ulong windowLength, ulong windowPos) { + return (2.0 / windowLength) * ((windowLength/2.0) - fabs(windowPos - ((windowLength-1.0)/2.0))); + } +}; + +struct blackmanHarrisWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.35875 - + (0.48829 * cos((2 * PI * windowPos) / (windowLength-1))) + + (0.14128 * cos((4 * PI * windowPos) / (windowLength-1))) + + (0.01168 * cos((6 * PI * windowPos) / (windowLength-1))); + } +}; + +struct blackmanNutallWinFunctor { + inline double operator()(ulong windowLength, ulong windowPos) { + return 0.3635819 - + (0.4891775 * cos((2 * PI * windowPos) / (windowLength-1))) + + (0.1365995 * cos((4 * PI * windowPos) / (windowLength-1))) + + (0.0106411 * cos((6 * PI * windowPos) / (windowLength-1))); + } +}; + +struct gaussianWinFunctor { + double gausDivisor; + gaussianWinFunctor() { + init(0.3); + } + gaussianWinFunctor(double kurtosis) { + init(kurtosis); + } + void init(double kurtosis) { + gausDivisor = (-2.0 * kurtosis * kurtosis); + } + inline double operator()(ulong windowLength, ulong windowPos) { + double phase = ((windowPos / (double) windowLength) - 0.5) * 2.0; + return exp((phase * phase) / gausDivisor); + } +}; + + +template +class maxiGrainWindowCache { +public: + unsigned int cacheSize; + + maxiGrainWindowCache() { + cacheSize = maxiSettings::sampleRate / 2.0; //allocate mem for up to 500ms grains + cache = (double**)malloc(cacheSize * sizeof(double*)); + for(int i=0; i < cacheSize; i++) { + cache[i] = NULL; + } + } + + ~maxiGrainWindowCache() { + for(int i=0; i < cacheSize; i++) { + if(NULL != cache[i]) { + free(cache[i]); + } + } + free(cache); + } + + double* getWindow(const unsigned int length) { + if (NULL == cache[length]) { + cache[length] = (double*)malloc(length * sizeof(double)); + for(int i=0; i < length; i++) { + cache[length][i] = F()(length, i); + } + } + return cache[length]; + } + +private: + double** cache; + +}; + +class maxiGrainBase { +public: + virtual double play() {} + virtual ~maxiGrainBase() {} + bool finished; +}; + +template +class maxiGrain : public maxiGrainBase { +public: + maxiSample *sample; + double pos; + double dur; + long sampleStartPos; + long sampleIdx; + long sampleDur; + long sampleEndPos; + double freq; + double speed; + double inc; + double frequency; + double* window; + short* buffer; +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + double* grainSamples; +#endif + /* + position between 0.0 and 1.0 + duration in seconds + */ + maxiGrain(maxiSample *sample, const double position, const double duration, const double speed, maxiGrainWindowCache *windowCache) :sample(sample), pos(position), dur(duration), speed(speed) + { + buffer = sample->temp; + sampleStartPos = sample->length * pos; + sampleDur = dur * (double)sample->mySampleRate; + sampleDurMinusOne = sampleDur - 1; + sampleIdx = 0; + finished = 0; + freq = 1.0 / dur; + sampleEndPos = min(sample->length, sampleStartPos + sampleDur); + frequency = freq * speed; + if (frequency > 0) { + pos = sampleStartPos; + }else{ + pos = sampleEndPos; + } + if (frequency != 0) { + inc = sampleDur/(maxiSettings::sampleRate/frequency); + }else + inc = 0; + window = windowCache->getWindow(sampleDur); + +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + //premake the grain using fast vector functions, and quadratic interpolation + double *sourceData = (double*)malloc(sampleDur * sizeof(double)); + short* buffer = (short *)sample->temp; + //convert sample to double data + vDSP_vflt16D(buffer + sampleStartPos, 1, sourceData, 1, min(sampleDur, sample->length - sampleStartPos)); + //todo: wraping code + + grainSamples = (double*)malloc(sampleDur * sizeof(double)); + //make list of interpolation indexes + double* interpIndexes = (double*)malloc(sampleDur * sizeof(double)); + double interpPos = sampleStartPos; + for(int i=0; i < sampleDur; i++) { + interpIndexes[i] = interpPos - sampleStartPos; + interpPos += fabs(inc); + } + vDSP_vqintD(sourceData, interpIndexes, 1, grainSamples, 1, sampleDur, sampleDur); + if (frequency < 0) { + vDSP_vrvrsD(grainSamples,1, sampleDur); + } + static double divFactor = 32767.0; + vDSP_vsdivD(grainSamples, 1, &divFactor, grainSamples, 1, sampleDur); + vDSP_vmulD(grainSamples, 1, window, 1, grainSamples, 1, sampleDur); + delete sourceData, interpIndexes; +#endif + } + + ~maxiGrain() { +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + delete[] grainSamples; +#endif + } + + inline double play() { + double output = 0.0; + if (!finished) { +#if defined(__APPLE_CC__) && defined(MAXIGRAINFAST) + output = grainSamples[sampleIdx]; +#else + envValue = window[sampleIdx]; + double remainder; + pos += inc; + if (pos >= sample->length) + pos -= sample->length; + else if (pos < 0) + pos += sample->length; + + long posl = floor(pos); + remainder = pos - posl; + long a = posl; + long b = posl+1; + if (b >= sample->length) { + b = 0; + } + output = (double) ((1-remainder) * buffer[a] + + remainder * buffer[b])/32767.0;//linear interpolation + output *= envValue; +#endif + } + sampleIdx++; + if (sampleIdx == sampleDur) finished = true; + return output; + } + +protected: + maxiGrain(); + double envValue; + ulong sampleDurMinusOne; +}; + + +typedef list grainList; + +class maxiGrainPlayer { +public: + grainList grains; + maxiSample *sample; + + maxiGrainPlayer(maxiSample *sample) : sample(sample) { + } + + void addGrain(maxiGrainBase *g) { + grains.push_back(g); + } + + inline double play() { + double total = 0.0; + grainList::iterator it = grains.begin(); + while(it != grains.end()) { + total += (*it)->play(); + if ((*it)->finished) { + delete(*it); + it = grains.erase(it); + }else{ + it++; + } + } + return total; + } +}; + +template +class maxiTimestretch { +protected: + double position; +public: + maxiSample *sample; + maxiGrainPlayer *grainPlayer; + maxiGrainWindowCache windowCache; + double randomOffset; + double looper; + + + + maxiTimestretch(maxiSample *sample) : sample(sample) { + position=0; + looper = 0; + grainPlayer = new maxiGrainPlayer(sample); + randomOffset=0; + } + + ~maxiTimestretch() { + delete grainPlayer; + } + + double getNormalisedPosition() { + return position / (double) sample->length; + } + + double getPosition() { + return position; + } + + void setPosition(double pos) { + position = pos * sample->length; + position = maxiMap::clamp(position, 0, sample->length-1); + } + + + //play at a speed + inline double play(double speed, double grainLength, int overlaps, double posMod=0.0) { + position = position + speed; + looper++; + if (position > sample->length) position-= sample->length; + if (position < 0) position += sample->length; + double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; + if (looper > cycleLength + randomOffset) { + looper -= (cycleLength + randomOffset); + speed = (speed > 0 ? 1 : -1); + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); + grainPlayer->addGrain(g); + randomOffset = rand() % 10; + } + return grainPlayer->play(); + } + + + //provide your own position iteration + inline double play2(double pos, double grainLength, int overlaps) { + looper++; + pos *= sample->length; + if (0 == floor(fmod(looper, grainLength * maxiSettings::sampleRate / overlaps))) { + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(pos / sample->length)),0.0), grainLength, 1, &windowCache); + grainPlayer->addGrain(g); + } + return grainPlayer->play(); + } +}; + +//in maxiTimeStretch, the speed is either 1 or -1, and the actual speed value only affects the grain position +//in maxiPitchShift, speed is uncoupled from position and allowed to set it's value incrementally, resulting in pitchshift. +//with both high speed values and negative speed values there are some terrific artefacts! + +template +class maxiPitchShift { +public: + double position; + long cycles; + maxiSample *sample; + maxiGrainPlayer *grainPlayer; + maxiGrainWindowCache windowCache; + double randomOffset; + + maxiPitchShift(maxiSample *sample) : sample(sample) { + position=0; + cycles=0; + grainPlayer = new maxiGrainPlayer(sample); + randomOffset=0; + } + + ~maxiPitchShift() { + delete grainPlayer; + } + + double play(double speed, double grainLength, int overlaps, double posMod=0.0) { + position = position + 1; + cycles++; + if (position > sample->length) position=0; + if (position < 0) position = sample->length; + double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; + double cycleMod = fmod(cycles, cycleLength + randomOffset); + if (0 == floor(cycleMod)) { + // cout << cycleMod << endl; + //speed = (speed > 0 ? 1 : -1); + speed = speed - ((cycleMod / cycleLength) * 0.1); + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); + grainPlayer->addGrain(g); + // cout << grainPlayer->grains.size() << endl; + // randomOffset = rand() % 10; + // randomOffset = rand() % 10; + } + return grainPlayer->play(); + } + +}; + +//and here's maxiPitchStretch. Args to the play function are basically speed for 'pitch' and rate for playback rate. +//the rest is the same. + +template +class maxiPitchStretch { +public: + double position; + maxiSample *sample; + maxiGrainPlayer *grainPlayer; + maxiGrainWindowCache windowCache; + double randomOffset; + long loopStart, loopEnd, loopLength; + double looper; + + maxiPitchStretch(maxiSample *sample) : sample(sample) { + grainPlayer = new maxiGrainPlayer(sample); + randomOffset=0; + loopStart = 0.0; + loopEnd = sample->length; + loopLength =sample->length; + position=0; + looper = 0; + } + + double getNormalisedPosition() { + return position / (double) sample->length; + } + + double getPosition() { + return position; + } + + void setPosition(double pos) { + position = pos * sample->length; + position = maxiMap::clamp(position, 0, sample->length-1); + } + + void setLoopStart(double val) { + loopStart = val * sample->length; + loopLength = loopEnd - loopStart; + } + + void setLoopEnd(double val) { + loopEnd = val * sample->length; + loopLength = loopEnd - loopStart; + } + + ~maxiPitchStretch() { + delete grainPlayer; + } + + inline double play(double speed, double rate, double grainLength, int overlaps, double posMod=0.0) { + position = position + (1 * rate); + looper++; + if (position >= loopEnd) position-= loopLength; + if (position < loopStart) position += loopLength; + double cycleLength = grainLength * maxiSettings::sampleRate / overlaps; + if (looper > cycleLength + randomOffset) { + looper -= (cycleLength + randomOffset); + maxiGrain *g = new maxiGrain(sample, max(min(1.0,(position / sample->length) + posMod),0.0), grainLength, speed, &windowCache); + grainPlayer->addGrain(g); + randomOffset = rand() % 10; + } + return grainPlayer->play(); + } + +}; + +#endif \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.cpp new file mode 100644 index 0000000..f180fb5 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.cpp @@ -0,0 +1,79 @@ +/* + * maxiMFCC.cpp + * mfccs + * + * Created by Chris on 08/03/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ + +#include "maxiMFCC.h" + + +#ifdef __APPLE_CC__ +template <> +void maxiMFCCAnalyser::dct(double *mfccs) { + vDSP_mmulD(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); + double n = (double) numCoeffs; + vDSP_vsdivD(mfccs, 1, &n, mfccs, 1, numCoeffs); +} + +template <> +void maxiMFCCAnalyser::dct(float *mfccs) { + vDSP_mmul(melBands, 1, dctMatrix, 1, mfccs, 1, 1, numCoeffs, numFilters); + float n = (float) numCoeffs; + vDSP_vsdiv(mfccs, 1, &n, mfccs, 1, numCoeffs); +} +#endif + +template <> +void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { +#ifdef __APPLE_CC__ + //conv to double + vDSP_vspdp(powerSpectrum, 1, doubleSpec, 1, numBins); + // vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, 42, 512); + vDSP_mmulD(doubleSpec, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); +#endif + melFilterAndLogSq_Part2(powerSpectrum); +} + + +template <> +void maxiMFCCAnalyser::melFilterAndLogSquare(float* powerSpectrum) { +#ifdef __APPLE_CC__ + vDSP_mmul(powerSpectrum, 1, melFilters, 1, melBands, 1, 1, numFilters, numBins); +#endif + melFilterAndLogSq_Part2(powerSpectrum); +} + +template +void maxiMFCCAnalyser::melFilterAndLogSq_Part2(float *powerSpectrum) { +#ifdef __APPLE_CC__ +#else + for (unsigned int filter = 0;filter < numFilters;filter++) { + melBands[filter] = 0.0; + for (unsigned int bin=0;bin 0.000001 ? log(melBands[filter] * melBands[filter]) : 0.0; + } +} + + + + + + + + + + + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.h new file mode 100644 index 0000000..19dd72e --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maxiMFCC.h @@ -0,0 +1,205 @@ +/* + * maxiMFCC.h + * mfccs + * + * Created by Chris on 08/03/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + + Based on Matthew Yee-King's MFCCMYK java class + */ + +#pragma once +#pragma pack(16) + +#include "maxiFFT.h" +#include +#include +#include +#ifdef __APPLE_CC__ +#include +#endif + +using namespace std; + + +// implements this formula: +// mel = 2595 log10(Hz/700 + 1) +inline double hzToMel(double hz){ + return 2595.0 * (log10(hz/700.0 + 1.0)); +} + +// implements this formula +// Hz = 700 (10^(mel/2595) - 1) +inline double melToHz(double mel){ + return 700.0 * (pow(10, mel/2595.0) - 1.0); +} + +template +class maxiMFCCAnalyser { +public: + T *melBands; + maxiMFCCAnalyser():melFilters(NULL),dctMatrix(NULL), melBands(NULL){}; + ~maxiMFCCAnalyser() { + if (melFilters) { + delete[] melFilters; + delete[] melBands; + delete[] dctMatrix; +#ifdef __APPLE_CC__ + delete doubleSpec; +#endif + } + } + + void setup(unsigned int numBins, unsigned int numFilters, unsigned int numCoeffs, double minFreq, double maxFreq, unsigned int sampleRate) + { + this->numFilters = numFilters; + this->numCoeffs = numCoeffs; + this->minFreq = minFreq; + this->maxFreq = maxFreq; + this->sampleRate = sampleRate; + this->numBins = numBins; + melFilters = NULL; + melBands = (T*) malloc(sizeof(T) * numFilters); +#ifdef __APPLE_CC__ + doubleSpec = (T*)malloc(sizeof(T) * numBins); +#endif + //create new matrix + dctMatrix = (T*)malloc(sizeof(T) * numCoeffs * numFilters); + calcMelFilterBank(sampleRate, numBins); + createDCTCoeffs(); + } + void mfcc(float* powerSpectrum, T *mfccs) { + melFilterAndLogSquare(powerSpectrum); + dct(mfccs); + } + +private: + unsigned int numFilters, numCoeffs; + double minFreq, maxFreq; + unsigned int sampleRate; + T *melFilters; + unsigned int numBins; + T *dctMatrix; +#ifdef __APPLE_CC__ + T *doubleSpec; +#endif + +#ifdef __APPLE_CC__ + void dct(T *mfccs); //define later +#else + void dct(T *mfccs) { + for(int i=0; i < numCoeffs; i++) { + mfccs[i] = 0.0; + } + for(int i=0; i < numCoeffs; i++ ) { + for(int j=0; j < numFilters; j++) { + int idx = i + (j * numCoeffs); + mfccs[i] += (dctMatrix[idx] * melBands[j]); + } + } + for(int i=0; i < numCoeffs; i++) { + mfccs[i] /= numCoeffs; + } + } +#endif + + void melFilterAndLogSquare(float* powerSpectrum); + void melFilterAndLogSq_Part2(float *powerSpectrum); + + + void calcMelFilterBank(double sampleRate, int numBins) { + + double mel, dMel, maxMel, minMel, nyquist, binFreq, start, end, thisF, nextF, prevF; + int numValidBins; + + // ignore bins over nyquist + numValidBins = numBins; + + nyquist = sampleRate/2; + if (maxFreq > nyquist) { + maxFreq = nyquist; + } + + maxMel = hzToMel(maxFreq); + minMel = hzToMel(minFreq); + + dMel = (maxMel - minMel) / (numFilters + 2 - 1); + + T *filtPos = (T*) malloc(sizeof(double) * (numFilters + 2)); + + // first generate an array of start and end freqs for each triangle + mel = minMel; + for (int i=0;i nextF || binFreq < prevF) { + // outside this filter + melFilters[idx] = 0; + //cout << "MFCCMYK: filter at " < maxiMFCC; +//typedef maxiMFCCAnalyser maxiFloatMFCC; diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.cpp new file mode 100644 index 0000000..18b2af2 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.cpp @@ -0,0 +1,1342 @@ + +/* + * maximilian.cpp + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "maximilian.h" +#include "math.h" + +/* Maximilian can be configured to load ogg vorbis format files using the +* loadOgg() method. +* Uncomment the following to include Sean Barrett's Ogg Vorbis decoder. +* If you're on windows, make sure to add the files std_vorbis.c and std_vorbis.h to your project*/ + +//#define VORBIS + +#ifdef VORBIS +extern "C" { + #include "stb_vorbis.h" +} +#endif + +//This used to be important for dealing with multichannel playback +float chandiv= 1; + +int maxiSettings::sampleRate = 44100; +int maxiSettings::channels = 2; +int maxiSettings::bufferSize = 1024; + + +//this is a 514-point sinewave table that has many uses. +double sineBuffer[514]={0,0.012268,0.024536,0.036804,0.049042,0.06131,0.073547,0.085785,0.097992,0.1102,0.12241,0.13455,0.1467,0.15884,0.17093,0.18301,0.19507,0.20709,0.21909,0.23105,0.24295,0.25485,0.26669,0.2785,0.29025,0.30197,0.31366,0.32529,0.33685,0.34839,0.35986,0.37128,0.38266,0.39395,0.40521,0.41641,0.42752,0.4386,0.44958,0.46051,0.47137,0.48215,0.49286,0.50351,0.51407,0.52457,0.53497,0.54529,0.55554,0.5657,0.57578,0.58575,0.59567,0.60547,0.6152,0.62482,0.63437,0.6438,0.65314,0.66238,0.67151,0.68057,0.68951,0.69833,0.70706,0.7157,0.72421,0.7326,0.74091,0.74908,0.75717,0.76514,0.77298,0.7807,0.7883,0.79581,0.80316,0.81042,0.81754,0.82455,0.83142,0.8382,0.84482,0.85132,0.8577,0.86392,0.87006,0.87604,0.88187,0.8876,0.89319,0.89862,0.90396,0.90912,0.91415,0.91907,0.92383,0.92847,0.93295,0.93729,0.9415,0.94556,0.94949,0.95325,0.95691,0.96039,0.96375,0.96692,0.97,0.9729,0.97565,0.97827,0.98074,0.98306,0.98523,0.98724,0.98914,0.99084,0.99243,0.99387,0.99515,0.99628,0.99725,0.99808,0.99875,0.99927,0.99966,0.99988,0.99997,0.99988,0.99966,0.99927,0.99875,0.99808,0.99725,0.99628,0.99515,0.99387,0.99243,0.99084,0.98914,0.98724,0.98523,0.98306,0.98074,0.97827,0.97565,0.9729,0.97,0.96692,0.96375,0.96039,0.95691,0.95325,0.94949,0.94556,0.9415,0.93729,0.93295,0.92847,0.92383,0.91907,0.91415,0.90912,0.90396,0.89862,0.89319,0.8876,0.88187,0.87604,0.87006,0.86392,0.8577,0.85132,0.84482,0.8382,0.83142,0.82455,0.81754,0.81042,0.80316,0.79581,0.7883,0.7807,0.77298,0.76514,0.75717,0.74908,0.74091,0.7326,0.72421,0.7157,0.70706,0.69833,0.68951,0.68057,0.67151,0.66238,0.65314,0.6438,0.63437,0.62482,0.6152,0.60547,0.59567,0.58575,0.57578,0.5657,0.55554,0.54529,0.53497,0.52457,0.51407,0.50351,0.49286,0.48215,0.47137,0.46051,0.44958,0.4386,0.42752,0.41641,0.40521,0.39395,0.38266,0.37128,0.35986,0.34839,0.33685,0.32529,0.31366,0.30197,0.29025,0.2785,0.26669,0.25485,0.24295,0.23105,0.21909,0.20709,0.19507,0.18301,0.17093,0.15884,0.1467,0.13455,0.12241,0.1102,0.097992,0.085785,0.073547,0.06131,0.049042,0.036804,0.024536,0.012268,0,-0.012268,-0.024536,-0.036804,-0.049042,-0.06131,-0.073547,-0.085785,-0.097992,-0.1102,-0.12241,-0.13455,-0.1467,-0.15884,-0.17093,-0.18301,-0.19507,-0.20709,-0.21909,-0.23105,-0.24295,-0.25485,-0.26669,-0.2785,-0.29025,-0.30197,-0.31366,-0.32529,-0.33685,-0.34839,-0.35986,-0.37128,-0.38266,-0.39395,-0.40521,-0.41641,-0.42752,-0.4386,-0.44958,-0.46051,-0.47137,-0.48215,-0.49286,-0.50351,-0.51407,-0.52457,-0.53497,-0.54529,-0.55554,-0.5657,-0.57578,-0.58575,-0.59567,-0.60547,-0.6152,-0.62482,-0.63437,-0.6438,-0.65314,-0.66238,-0.67151,-0.68057,-0.68951,-0.69833,-0.70706,-0.7157,-0.72421,-0.7326,-0.74091,-0.74908,-0.75717,-0.76514,-0.77298,-0.7807,-0.7883,-0.79581,-0.80316,-0.81042,-0.81754,-0.82455,-0.83142,-0.8382,-0.84482,-0.85132,-0.8577,-0.86392,-0.87006,-0.87604,-0.88187,-0.8876,-0.89319,-0.89862,-0.90396,-0.90912,-0.91415,-0.91907,-0.92383,-0.92847,-0.93295,-0.93729,-0.9415,-0.94556,-0.94949,-0.95325,-0.95691,-0.96039,-0.96375,-0.96692,-0.97,-0.9729,-0.97565,-0.97827,-0.98074,-0.98306,-0.98523,-0.98724,-0.98914,-0.99084,-0.99243,-0.99387,-0.99515,-0.99628,-0.99725,-0.99808,-0.99875,-0.99927,-0.99966,-0.99988,-0.99997,-0.99988,-0.99966,-0.99927,-0.99875,-0.99808,-0.99725,-0.99628,-0.99515,-0.99387,-0.99243,-0.99084,-0.98914,-0.98724,-0.98523,-0.98306,-0.98074,-0.97827,-0.97565,-0.9729,-0.97,-0.96692,-0.96375,-0.96039,-0.95691,-0.95325,-0.94949,-0.94556,-0.9415,-0.93729,-0.93295,-0.92847,-0.92383,-0.91907,-0.91415,-0.90912,-0.90396,-0.89862,-0.89319,-0.8876,-0.88187,-0.87604,-0.87006,-0.86392,-0.8577,-0.85132,-0.84482,-0.8382,-0.83142,-0.82455,-0.81754,-0.81042,-0.80316,-0.79581,-0.7883,-0.7807,-0.77298,-0.76514,-0.75717,-0.74908,-0.74091,-0.7326,-0.72421,-0.7157,-0.70706,-0.69833,-0.68951,-0.68057,-0.67151,-0.66238,-0.65314,-0.6438,-0.63437,-0.62482,-0.6152,-0.60547,-0.59567,-0.58575,-0.57578,-0.5657,-0.55554,-0.54529,-0.53497,-0.52457,-0.51407,-0.50351,-0.49286,-0.48215,-0.47137,-0.46051,-0.44958,-0.4386,-0.42752,-0.41641,-0.40521,-0.39395,-0.38266,-0.37128,-0.35986,-0.34839,-0.33685,-0.32529,-0.31366,-0.30197,-0.29025,-0.2785,-0.26669,-0.25485,-0.24295,-0.23105,-0.21909,-0.20709,-0.19507,-0.18301,-0.17093,-0.15884,-0.1467,-0.13455,-0.12241,-0.1102,-0.097992,-0.085785,-0.073547,-0.06131,-0.049042,-0.036804,-0.024536,-0.012268,0,0.012268 +}; + +// This is a transition table that helps with bandlimited oscs. +double transition[1001]={-0.500003,-0.500003,-0.500023,-0.500063,-0.500121,-0.500179,-0.500259, + -0.50036,-0.500476,-0.500591,-0.500732,-0.500893,-0.501066,-0.501239, + -0.50144,-0.501661,-0.501891,-0.502123,-0.502382,-0.502662,-0.502949, + -0.50324,-0.503555,-0.503895,-0.504238,-0.504587,-0.504958,-0.505356, + -0.505754,-0.506162,-0.506589,-0.507042,-0.507495,-0.50796,-0.508444, + -0.508951,-0.509458,-0.509979,-0.510518,-0.511079,-0.511638,-0.512213, + -0.512808,-0.51342,-0.51403,-0.514659,-0.515307,-0.51597,-0.51663,-0.517312, + -0.518012,-0.518724,-0.519433,-0.520166,-0.520916,-0.521675,-0.522432, + -0.523214,-0.524013,-0.524819,-0.525624,-0.526451,-0.527298,-0.528147, + -0.528999,-0.52987,-0.530762,-0.531654,-0.532551,-0.533464,-0.534399, + -0.535332,-0.536271,-0.537226,-0.538202,-0.539172,-0.540152,-0.541148, + -0.542161,-0.543168,-0.544187,-0.54522,-0.546269,-0.54731,-0.548365, + -0.549434,-0.550516,-0.55159,-0.552679,-0.553781,-0.554893,-0.555997, + -0.557118,-0.558252,-0.559391,-0.560524,-0.561674,-0.562836,-0.564001, + -0.565161,-0.566336,-0.567524,-0.568712,-0.569896,-0.571095,-0.572306, + -0.573514,-0.574721,-0.575939,-0.577171,-0.578396,-0.579622,-0.580858, + -0.582108,-0.583348,-0.58459,-0.585842,-0.587106,-0.588358,-0.589614, + -0.590879,-0.592154,-0.593415,-0.594682,-0.595957,-0.59724,-0.598507, + -0.599782,-0.601064,-0.602351,-0.603623,-0.604902,-0.606189,-0.607476, + -0.60875,-0.610032,-0.611319,-0.612605,-0.613877,-0.615157,-0.616443, + -0.617723,-0.618992,-0.620268,-0.621548,-0.62282,-0.624083,-0.62535, + -0.626622,-0.627882,-0.629135,-0.630391,-0.631652,-0.632898,-0.634138, + -0.63538,-0.636626,-0.637854,-0.639078,-0.640304,-0.641531,-0.642739, + -0.643943,-0.645149,-0.646355,-0.647538,-0.64872,-0.649903,-0.651084, + -0.652241,-0.653397,-0.654553,-0.655705,-0.656834,-0.657961,-0.659087, + -0.660206,-0.661304,-0.662399,-0.663492,-0.664575,-0.665639,-0.666699, + -0.667756,-0.6688,-0.669827,-0.670849,-0.671866,-0.672868,-0.673854, + -0.674835,-0.675811,-0.676767,-0.677709,-0.678646,-0.679576,-0.680484, + -0.68138,-0.682269,-0.683151,-0.684008,-0.684854,-0.685693,-0.686524, + -0.687327,-0.688119,-0.688905,-0.689682,-0.690428,-0.691164,-0.691893, + -0.692613,-0.6933,-0.693978,-0.694647,-0.695305,-0.695932,-0.696549, + -0.697156,-0.697748,-0.698313,-0.698865,-0.699407,-0.699932,-0.700431, + -0.700917,-0.701391,-0.701845,-0.702276,-0.702693,-0.703097,-0.703478, + -0.703837,-0.704183,-0.704514,-0.704819,-0.705105,-0.705378,-0.705633, + -0.70586,-0.706069,-0.706265,-0.706444,-0.706591,-0.706721,-0.706837, + -0.706938,-0.707003,-0.707051,-0.707086,-0.707106,-0.707086,-0.707051, + -0.707001,-0.706935,-0.706832,-0.706711,-0.706576,-0.706421,-0.706233, + -0.706025,-0.705802,-0.705557,-0.705282,-0.704984,-0.704671,-0.704334, + -0.703969,-0.703582,-0.703176,-0.702746,-0.702288,-0.70181,-0.701312, + -0.700785,-0.700234,-0.699664,-0.69907,-0.698447,-0.6978,-0.697135, + -0.696446,-0.695725,-0.694981,-0.694219,-0.693435,-0.692613,-0.691771, + -0.690911,-0.69003,-0.689108,-0.688166,-0.687206,-0.686227,-0.685204, + -0.684162,-0.683101,-0.682019,-0.680898,-0.679755,-0.678592,-0.677407, + -0.676187,-0.674941,-0.673676,-0.672386,-0.671066,-0.669718,-0.66835, + -0.666955,-0.665532,-0.664083,-0.662611,-0.661112,-0.659585,-0.658035, + -0.656459,-0.654854,-0.653223,-0.651572,-0.649892,-0.648181,-0.646446, + -0.644691,-0.642909,-0.641093,-0.639253,-0.637393,-0.63551,-0.633588, + -0.631644,-0.62968,-0.627695,-0.625668,-0.623621,-0.621553,-0.619464, + -0.617334,-0.615183,-0.613011,-0.610817,-0.608587,-0.606333,-0.604058, + -0.60176,-0.599429,-0.597072,-0.594695,-0.592293,-0.589862,-0.587404, + -0.584925,-0.58242,-0.579888,-0.577331,-0.574751,-0.572145,-0.569512, + -0.566858,-0.564178,-0.561471,-0.558739,-0.555988,-0.553209,-0.550402, + -0.547572,-0.544723,-0.54185,-0.538944,-0.536018,-0.533072,-0.530105, + -0.527103,-0.524081,-0.52104,-0.51798,-0.514883,-0.511767,-0.508633, + -0.505479,-0.502291,-0.499083,-0.495857,-0.492611,-0.489335,-0.486037, + -0.48272,-0.479384,-0.476021,-0.472634,-0.46923,-0.465805,-0.462356, + -0.458884,-0.455394,-0.451882,-0.448348,-0.444795,-0.44122,-0.437624, + -0.434008,-0.430374,-0.426718,-0.423041,-0.419344,-0.415631,-0.411897, + -0.40814,-0.404365,-0.400575,-0.396766,-0.392933,-0.389082,-0.385217, + -0.381336,-0.377428,-0.373505,-0.369568,-0.365616,-0.361638,-0.357645, + -0.353638,-0.349617,-0.345572,-0.341512,-0.337438,-0.33335,-0.329242, + -0.325118,-0.32098,-0.316829,-0.31266,-0.308474,-0.304276,-0.300063, + -0.295836,-0.291593,-0.287337,-0.283067,-0.278783,-0.274487,-0.270176, + -0.265852,-0.261515,-0.257168,-0.252806,-0.248431,-0.244045,-0.239649, + -0.23524,-0.230817,-0.226385,-0.221943,-0.21749,-0.213024,-0.208548, + -0.204064,-0.199571,-0.195064,-0.190549,-0.186026,-0.181495,-0.176952, + -0.1724,-0.167842,-0.163277,-0.1587,-0.154117,-0.149527,-0.14493,-0.140325, + -0.135712,-0.131094,-0.12647,-0.121839,-0.117201,-0.112559,-0.10791, + -0.103257,-0.0985979,-0.0939343,-0.0892662,-0.0845935,-0.079917,-0.0752362, + -0.0705516,-0.0658635,-0.0611729,-0.0564786,-0.0517814,-0.0470818,-0.0423802, + -0.0376765,-0.0329703,-0.0282629,-0.0235542,-0.0188445,-0.0141335,-0.00942183, + -0.00470983,2.41979e-06,0.00471481,0.00942681,0.0141384,0.0188494,0.023559, + 0.028268,0.0329754,0.0376813,0.0423851,0.0470868,0.0517863,0.0564836, + 0.0611777,0.0658683,0.0705566,0.0752412,0.0799218,0.0845982,0.0892712, + 0.0939393,0.0986028,0.103262,0.107915,0.112563,0.117206,0.121844,0.126475, + 0.131099,0.135717,0.14033,0.144935,0.149531,0.154122,0.158705,0.163281, + 0.167847,0.172405,0.176956,0.1815,0.18603,0.190553,0.195069,0.199576, + 0.204068,0.208552,0.213028,0.217495,0.221947,0.226389,0.230822,0.235245, + 0.239653,0.244049,0.248436,0.252811,0.257173,0.26152,0.265857,0.270181, + 0.274491,0.278788,0.283071,0.287341,0.291597,0.29584,0.300068,0.30428, + 0.308478,0.312664,0.316833,0.320984,0.325122,0.329246,0.333354,0.337442, + 0.341516,0.345576,0.34962,0.353642,0.357649,0.361642,0.36562,0.369572, + 0.373509,0.377432,0.38134,0.385221,0.389086,0.392936,0.39677,0.400579, + 0.404369,0.408143,0.4119,0.415634,0.419347,0.423044,0.426721,0.430377, + 0.434011,0.437627,0.441223,0.444798,0.448351,0.451885,0.455397,0.458887, + 0.462359,0.465807,0.469232,0.472637,0.476024,0.479386,0.482723,0.486039, + 0.489338,0.492613,0.49586,0.499086,0.502294,0.505481,0.508635,0.511769, + 0.514885,0.517982,0.521042,0.524083,0.527105,0.530107,0.533074,0.53602, + 0.538946,0.541851,0.544725,0.547574,0.550404,0.553211,0.555989,0.55874, + 0.561472,0.564179,0.566859,0.569514,0.572146,0.574753,0.577332,0.579889, + 0.582421,0.584926,0.587405,0.589863,0.592294,0.594696,0.597073,0.59943, + 0.60176,0.604059,0.606333,0.608588,0.610818,0.613012,0.615183,0.617335, + 0.619464,0.621553,0.623621,0.625669,0.627696,0.629681,0.631645,0.633588, + 0.63551,0.637393,0.639253,0.641093,0.642909,0.644691,0.646446,0.648181, + 0.649892,0.651572,0.653223,0.654854,0.656459,0.658035,0.659585,0.661112, + 0.662611,0.664083,0.665532,0.666955,0.66835,0.669718,0.671066,0.672386, + 0.673676,0.674941,0.676187,0.677407,0.678592,0.679755,0.680898,0.682019, + 0.683101,0.684162,0.685204,0.686227,0.687206,0.688166,0.689108,0.69003, + 0.690911,0.691771,0.692613,0.693435,0.694219,0.694981,0.695725,0.696447, + 0.697135,0.6978,0.698447,0.69907,0.699664,0.700234,0.700786,0.701312, + 0.70181,0.702288,0.702746,0.703177,0.703582,0.703969,0.704334,0.704671, + 0.704984,0.705282,0.705557,0.705802,0.706025,0.706233,0.706422,0.706576, + 0.706712,0.706832,0.706936,0.707002,0.707051,0.707086,0.707106,0.707086, + 0.707051,0.707003,0.706939,0.706838,0.706721,0.706592,0.706445,0.706265, + 0.70607,0.705861,0.705634,0.705378,0.705105,0.70482,0.704515,0.704184, + 0.703837,0.703478,0.703097,0.702694,0.702276,0.701846,0.701392,0.700917, + 0.700432,0.699932,0.699408,0.698866,0.698314,0.697749,0.697156,0.696549, + 0.695933,0.695305,0.694648,0.693979,0.693301,0.692613,0.691894,0.691165, + 0.690428,0.689683,0.688905,0.68812,0.687327,0.686525,0.685693,0.684854, + 0.684009,0.683152,0.68227,0.68138,0.680485,0.679577,0.678647,0.67771, + 0.676768,0.675811,0.674836,0.673855,0.672869,0.671867,0.670849,0.669827, + 0.668801,0.667757,0.6667,0.66564,0.664576,0.663493,0.6624,0.661305, + 0.660207,0.659088,0.657962,0.656834,0.655705,0.654553,0.653398,0.652241, + 0.651085,0.649903,0.648721,0.647539,0.646356,0.645149,0.643944,0.642739, + 0.641532,0.640304,0.639079,0.637855,0.636626,0.635381,0.634139,0.632899, + 0.631652,0.630392,0.629136,0.627883,0.626622,0.62535,0.624083,0.62282, + 0.621548,0.620268,0.618993,0.617724,0.616443,0.615158,0.613878,0.612605, + 0.61132,0.610032,0.608751,0.607477,0.606189,0.604903,0.603623,0.602351, + 0.601065,0.599782,0.598508,0.59724,0.595957,0.594682,0.593415,0.592154, + 0.59088,0.589615,0.588359,0.587106,0.585843,0.584591,0.583349,0.582108, + 0.580859,0.579623,0.578397,0.577172,0.575939,0.574721,0.573515,0.572307, + 0.571095,0.569897,0.568713,0.567525,0.566337,0.565161,0.564002,0.562837, + 0.561674,0.560525,0.559392,0.558252,0.557119,0.555998,0.554893,0.553782, + 0.552679,0.55159,0.550516,0.549434,0.548365,0.54731,0.546269,0.54522, + 0.544187,0.543168,0.542161,0.541148,0.540153,0.539173,0.538202,0.537226, + 0.536271,0.535332,0.5344,0.533464,0.532551,0.531654,0.530762,0.52987, + 0.528999,0.528147,0.527298,0.526451,0.525624,0.524819,0.524014,0.523214, + 0.522432,0.521675,0.520916,0.520166,0.519433,0.518724,0.518012,0.517312, + 0.51663,0.51597,0.515307,0.51466,0.51403,0.51342,0.512808,0.512213, + 0.511638,0.511079,0.510518,0.509979,0.509458,0.508951,0.508444,0.50796, + 0.507495,0.507042,0.506589,0.506162,0.505754,0.505356,0.504958,0.504587, + 0.504237,0.503895,0.503555,0.50324,0.502949,0.502662,0.502382,0.502123, + 0.501891,0.501661,0.50144,0.501239,0.501066,0.500893,0.500732,0.500591, + 0.500476,0.50036,0.500259,0.500179,0.500121,0.500063,0.500023,0.500003,0.500003}; + +//This is a lookup table for converting midi to frequency +double mtofarray[129]={0, 8.661957, 9.177024, 9.722718, 10.3, 10.913383, 11.562325, 12.25, 12.978271, 13.75, 14.567617, 15.433853, 16.351599, 17.323914, 18.354048, 19.445436, 20.601723, 21.826765, 23.124651, 24.5, 25.956543, 27.5, 29.135235, 30.867706, 32.703197, 34.647827, 36.708096, 38.890873, 41.203445, 43.65353, 46.249302, 49., 51.913086, 55., 58.27047, 61.735413, 65.406395, 69.295654, 73.416191, 77.781746, 82.406891, 87.30706, 92.498604, 97.998856, 103.826172, 110., 116.540939, 123.470825, 130.81279, 138.591309, 146.832382, 155.563492, 164.813782, 174.61412, 184.997208, 195.997711, 207.652344, 220., 233.081879, 246.94165, 261.62558, 277.182617,293.664764, 311.126984, 329.627563, 349.228241, 369.994415, 391.995422, 415.304688, 440., 466.163757, 493.883301, 523.25116, 554.365234, 587.329529, 622.253967, 659.255127, 698.456482, 739.988831, 783.990845, 830.609375, 880., 932.327515, 987.766602, 1046.502319, 1108.730469, 1174.659058, 1244.507935, 1318.510254, 1396.912964, 1479.977661, 1567.981689, 1661.21875, 1760., 1864.655029, 1975.533203, 2093.004639, 2217.460938, 2349.318115, 2489.015869, 2637.020508, 2793.825928, 2959.955322, 3135.963379, 3322.4375, 3520., 3729.31, 3951.066406, 4186.009277, 4434.921875, 4698.63623, 4978.031738, 5274.041016, 5587.651855, 5919.910645, 6271.926758, 6644.875, 7040., 7458.620117, 7902.132812, 8372.018555, 8869.84375, 9397.272461, 9956.063477, 10548.082031, 11175.303711, 11839.821289, 12543.853516, 13289.75}; + +void setup();//use this to do any initialisation if you want. + +void play(double *channels);//run dac! + +maxiOsc::maxiOsc(){ + //When you create an oscillator, the constructor sets the phase of the oscillator to 0. + phase = 0.0; +} + +double maxiOsc::noise() { + //White Noise + //always the same unless you seed it. + float r = rand()/(float)RAND_MAX; + output=r*2-1; + return(output); +} + +void maxiOsc::phaseReset(double phaseIn) { + //This allows you to set the phase of the oscillator to anything you like. + phase=phaseIn; + +} + +double maxiOsc::sinewave(double frequency) { + //This is a sinewave oscillator + output=sin (phase*(TWOPI)); + if ( phase >= 1.0 ) phase -= 1.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + return(output); + +} + +double maxiOsc::sinebuf4(double frequency) { + //This is a sinewave oscillator that uses 4 point interpolation on a 514 point buffer + double remainder; + double a,b,c,d,a1,a2,a3; + phase += 512./(maxiSettings::sampleRate/(frequency)); + if ( phase >= 511 ) phase -=512; + remainder = phase - floor(phase); + + if (phase==0) { + a=sineBuffer[(long) 512]; + b=sineBuffer[(long) phase]; + c=sineBuffer[(long) phase+1]; + d=sineBuffer[(long) phase+2]; + + } else { + a=sineBuffer[(long) phase-1]; + b=sineBuffer[(long) phase]; + c=sineBuffer[(long) phase+1]; + d=sineBuffer[(long) phase+2]; + + } + + a1 = 0.5f * (c - a); + a2 = a - 2.5 * b + 2.f * c - 0.5f * d; + a3 = 0.5f * (d - a) + 1.5f * (b - c); + output = double (((a3 * remainder + a2) * remainder + a1) * remainder + b); + return(output); +} + +double maxiOsc::sinebuf(double frequency) { //specify the frequency of the oscillator in Hz / cps etc. + //This is a sinewave oscillator that uses linear interpolation on a 514 point buffer + double remainder; + phase += 512./(maxiSettings::sampleRate/(frequency*chandiv)); + if ( phase >= 511 ) phase -=512; + remainder = phase - floor(phase); + output = (double) ((1-remainder) * sineBuffer[1+ (long) phase] + remainder * sineBuffer[2+(long) phase]); + return(output); +} + +double maxiOsc::coswave(double frequency) { + //This is a cosine oscillator + output=cos (phase*(TWOPI)); + if ( phase >= 1.0 ) phase -= 1.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + return(output); + +} + +double maxiOsc::phasor(double frequency) { + //This produces a floating point linear ramp between 0 and 1 at the desired frequency + output=phase; + if ( phase >= 1.0 ) phase -= 1.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + return(output); +} + +double maxiOsc::square(double frequency) { + //This is a square wave + if (phase<0.5) output=-1; + if (phase>0.5) output=1; + if ( phase >= 1.0 ) phase -= 1.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + return(output); +} + +double maxiOsc::pulse(double frequency, double duty) { + //This is a pulse generator that creates a signal between -1 and 1. + if (duty<0.) duty=0; + if (duty>1.) duty=1; + if ( phase >= 1.0 ) phase -= 1.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + if (phaseduty) output=1.; + return(output); +} + +double maxiOsc::phasor(double frequency, double startphase, double endphase) { + //This is a phasor that takes a value for the start and end of the ramp. + output=phase; + if (phase= endphase ) phase = startphase; + phase += ((endphase-startphase)/(maxiSettings::sampleRate/(frequency))); + return(output); +} + + +double maxiOsc::saw(double frequency) { + //Sawtooth generator. This is like a phasor but goes between -1 and 1 + output=phase; + if ( phase >= 1.0 ) phase -= 2.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + return(output); + +} + +double maxiOsc::triangle(double frequency) { + //This is a triangle wave. + if ( phase >= 1.0 ) phase -= 1.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + if (phase <= 0.5 ) { + output =(phase - 0.25) * 4; + } else { + output =((1.0-phase) - 0.25) * 4; + } + return(output); + +} + +double maxiOsc::sawn(double frequency) { + //Bandlimited sawtooth generator. Woohoo. + if ( phase >= 0.5 ) phase -= 1.0; + phase += (1./(maxiSettings::sampleRate/(frequency))); + double temp=(8820.22/frequency)*phase; + if (temp<-0.5) { + temp=-0.5; + } + if (temp>0.5) { + temp=0.5; + } + temp*=1000.0f; + temp+=500.0f; + double remainder = temp - floor(temp); + output = (double) ((1.0f-remainder) * transition[(long)temp] + remainder * transition[1+(long)temp]) - phase; + return(output); + +} + + +double maxiEnvelope::line(int numberofsegments,double segments[1000]) { + //This is a basic multi-segment ramp generator that you can use for more or less anything. + //However, it's not that intuitive. + if (isPlaying==1) {//only make a sound once you've been triggered + period=2./(segments[valindex+1]*0.004); + nextval=segments[valindex+2]; + currentval=segments[valindex]; + if (currentval-amplitude > 0.0000001 && valindex < numberofsegments) { + amplitude += ((currentval-startval)/(maxiSettings::sampleRate/period)); + } else if (currentval-amplitude < -0.0000001 && valindex < numberofsegments) { + amplitude -= (((currentval-startval)*(-1))/(maxiSettings::sampleRate/period)); + } else if (valindex >numberofsegments-1) { + valindex=numberofsegments-2; + } else { + valindex=valindex+2; + startval=currentval; + } + output=amplitude; + + } + else { + output=0; + + } + return(output); +} + +//and this +void maxiEnvelope::trigger(int index, double amp) { + isPlaying=1;//ok the envelope is being used now. + valindex=index; + amplitude=amp; + +} + +//Delay with feedback +maxiDelayline::maxiDelayline() { + memset( memory, 0, 88200*sizeof (double) ); + phase=0; +} + + +double maxiDelayline::dl(double input, int size, double feedback) { + if ( phase >=size ) { + phase = 0; + } + output=memory[phase]; + memory[phase]=(memory[phase]*feedback)+(input*feedback)*0.5; + phase+=1; + return(output); + +} + +double maxiDelayline::dl(double input, int size, double feedback, int position) { + if ( phase >=size ) phase = 0; + if ( position >=size ) position = 0; + output=memory[position]; + memory[phase]=(memory[phase]*feedback)+(input*feedback)*chandiv; + phase+=1; + return(output); + +} + +//I particularly like these. cutoff between 0 and 1 +double maxiFilter::lopass(double input, double cutoff) { + output=outputs[0] + cutoff*(input-outputs[0]); + outputs[0]=output; + return(output); +} +//as above +double maxiFilter::hipass(double input, double cutoff) { + output=input-(outputs[0] + cutoff*(input-outputs[0])); + outputs[0]=output; + return(output); +} +//awesome. cuttof is freq in hz. res is between 1 and whatever. Watch out! +double maxiFilter::lores(double input,double cutoff1, double resonance) { + cutoff=cutoff1*0.5; + if (cutoff<10) cutoff=10; + if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); + if (resonance<1.) resonance = 1.; + z=cos(TWOPI*cutoff/maxiSettings::sampleRate); + c=2-2*z; + double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); + x=x+(input-y)*c; + y=y+x; + x=x*r; + output=y; + return(output); +} + +//working hires filter +double maxiFilter::hires(double input,double cutoff1, double resonance) { + cutoff=cutoff1*0.5; + if (cutoff<10) cutoff=10; + if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); + if (resonance<1.) resonance = 1.; + z=cos(TWOPI*cutoff/maxiSettings::sampleRate); + c=2-2*z; + double r=(sqrt(2.0)*sqrt(-pow((z-1.0),3.0))+resonance*(z-1))/(resonance*(z-1)); + x=x+(input-y)*c; + y=y+x; + x=x*r; + output=input-y; + return(output); +} + +//This works a bit. Needs attention. +double maxiFilter::bandpass(double input,double cutoff1, double resonance) { + cutoff=cutoff1; + if (cutoff>(maxiSettings::sampleRate*0.5)) cutoff=(maxiSettings::sampleRate*0.5); + if (resonance>=1.) resonance=0.999999; + z=cos(TWOPI*cutoff/maxiSettings::sampleRate); + inputs[0] = (1-resonance)*(sqrt(resonance*(resonance-4.0*pow(z,2.0)+2.0)+1)); + inputs[1] = 2*z*resonance; + inputs[2] = pow((resonance*-1),2); + + output=inputs[0]*input+inputs[1]*outputs[1]+inputs[2]*outputs[2]; + outputs[2]=outputs[1]; + outputs[1]=output; + return(output); +} + +//stereo bus +double *maxiMix::stereo(double input,double two[2],double x) { + if (x>1) x=1; + if (x<0) x=0; + two[0]=input*sqrt(1.0-x); + two[1]=input*sqrt(x); + return(two); +} + +//quad bus +double *maxiMix::quad(double input,double four[4],double x,double y) { + if (x>1) x=1; + if (x<0) x=0; + if (y>1) y=1; + if (y<0) y=0; + four[0]=input*sqrt((1.0-x)*y); + four[1]=input*sqrt((1.0-x)*(1.0-y)); + four[2]=input*sqrt(x*y); + four[3]=input*sqrt(x*(1.0-y)); + return(four); +} + +//ambisonic bus +double *maxiMix::ambisonic(double input,double eight[8],double x,double y,double z) { + if (x>1) x=1; + if (x<0) x=0; + if (y>1) y=1; + if (y<0) y=0; + if (z>1) y=1; + if (z<0) y=0; + eight[0]=input*(sqrt((1.0-x)*y)*1.0-z); + eight[1]=input*(sqrt((1.0-x)*(1.0-y))*1.0-z); + eight[2]=input*(sqrt(x*y)*1.0-z); + eight[3]=input*(sqrt(x*(1.0-y))*1.0-z); + eight[4]=input*(sqrt((1.0-x)*y)*z); + eight[5]=input*(sqrt((1.0-x)*(1.0-y))*z); + eight[6]=input*sqrt((x*y)*z); + eight[7]=input*sqrt((x*(1.0-y))*z); + return(eight); +} + + +bool maxiSample::load(string fileName, int channel) { + myPath = fileName; + readChannel=channel; + return read(); +} + +bool maxiSample::loadOgg(string fileName, int channel) { +#ifdef VORBIS + bool result; + readChannel=channel; + int channelx; + free(temp); + myDataSize = stb_vorbis_decode_filename(const_cast(fileName.c_str()), &channelx, &temp); + result = myDataSize > 0; + printf("\nchannels = %d\nlength = %d",channelx,myDataSize); + printf("\n"); + myChannels=(short)channelx; + length=myDataSize; + mySampleRate=44100; + + if (myChannels>1) { + int position=0; + int channel=readChannel; + for (int i=channel;i1) { + int position=0; + int channel=readChannel*2; + for (int i=channel;i= length) position=0; + output = (double) temp[(long)position]/32767.0; + return output; +} + +//start end and points are between 0 and 1 +double maxiSample::playLoop(double start, double end) { + position++; + if (position < length * start) position = length * start; + if ((long) position >= length * end) position = length * start; + output = (double) temp[(long)position]/32767.0; + return output; +} + +double maxiSample::playOnce() { + position++; + if ((long) position(newPos, 0.0, 1.0) * length; +} + +double maxiSample::playUntil(double end) { + position++; + if ((long) position=0) { + + if ((long) position>=length-1) position=1; + remainder = position - floor(position); + if (position+1=0) { + a=position-1; + + } + else { + a=0; + } + if (position-2>=0) { + b=position-2; + } + else { + b=0; + } + output = (double) ((-1-remainder) * temp[a] + remainder * temp[b])/32767;//linear interpolation + } + return(output); +} + +double maxiSample::play(double frequency, double start, double end) { + return play(frequency, start, end, position); +} + +double maxiSample::play(double frequency, double start, double end, double &pos) { + double remainder; + if (end>=length) end=length-1; + long a,b; + + if (frequency >0.) { + if (pos= end ) pos = start; + pos += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); + remainder = pos - floor(pos); + long posl = floor(pos); + if (posl+1=0) { + a=posl-1; + } + else { + a=0; + } + if (posl-2>=0) { + b=posl-2; + } + else { + b=0; + } + output = (double) ((-1-remainder) * temp[a] + + remainder * temp[b])/32767;//linear interpolation + + } + + return(output); +} + + +//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). +double maxiSample::play4(double frequency, double start, double end) { + double remainder; + double a,b,c,d,a1,a2,a3; + if (frequency >0.) { + if (position= end ) position = start; + position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); + remainder = position - floor(position); + if (position>0) { + a=temp[(int)(floor(position))-1]; + + } else { + a=temp[0]; + + } + + b=temp[(long) position]; + if (positionstart && position < end-1) { + a=temp[(long) position+1]; + + } else { + a=temp[0]; + + } + + b=temp[(long) position]; + if (position>start) { + c=temp[(long) position-1]; + + } else { + c=temp[0]; + + } + if (position>start+1) { + d=temp[(long) position-2]; + + } else { + d=temp[0]; + } + a1 = 0.5f * (c - a); + a2 = a - 2.5 * b + 2.f * c - 0.5f * d; + a3 = 0.5f * (d - a) + 1.5f * (b - c); + output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; + + } + + return(output); +} + +double maxiSample::bufferPlay(unsigned char &bufferin,long length) { + double remainder; + short* buffer = (short *)&bufferin; + position=(position+1); + remainder = position - (long) position; + if ((long) position>length) position=0; + output = (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation + return(output); +} + +double maxiSample::bufferPlay(unsigned char &bufferin,double speed,long length) { + double remainder; + long a,b; + short* buffer = (short *)&bufferin; + position=position+((speed*chandiv)/(maxiSettings::sampleRate/mySampleRate)); + if (speed >=0) { + + if ((long) position>=length-1) position=1; + remainder = position - floor(position); + if (position+1=0) { + a=position-1; + + } + else { + a=0; + } + if (position-2>=0) { + b=position-2; + } + else { + b=0; + } + output = (double) ((-1-remainder) * buffer[a] + remainder * buffer[b])/32767;//linear interpolation + } + return(output); +} + +double maxiSample::bufferPlay(unsigned char &bufferin,double frequency, double start, double end) { + double remainder; + length=end; + long a,b; + short* buffer = (short *)&bufferin; + if (frequency >0.) { + if (position= end ) position = start; + position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); + remainder = position - floor(position); + long pos = floor(position); + if (pos+1=0) { + a=pos-1; + } + else { + a=0; + } + if (pos-2>=0) { + b=pos-2; + } + else { + b=0; + } + output = (double) ((-1-remainder) * buffer[a] + + remainder * buffer[b])/32767;//linear interpolation + + } + + return(output); +} + +//better cubic inerpolation. Cobbled together from various (pd externals, yehar, other places). +double maxiSample::bufferPlay4(unsigned char &bufferin,double frequency, double start, double end) { + double remainder; + double a,b,c,d,a1,a2,a3; + short* buffer = (short*)&bufferin; + if (frequency >0.) { + if (position= end ) position = start; + position += ((end-start)/(maxiSettings::sampleRate/(frequency*chandiv))); + remainder = position - floor(position); + if (position>0) { + a=buffer[(int)(floor(position))-1]; + + } else { + a=buffer[0]; + + } + + b=buffer[(long) position]; + if (positionstart && position < end-1) { + a=buffer[(long) position+1]; + + } else { + a=buffer[0]; + + } + + b=buffer[(long) position]; + if (position>start) { + c=buffer[(long) position-1]; + + } else { + c=buffer[0]; + + } + if (position>start+1) { + d=buffer[(long) position-2]; + + } else { + d=buffer[0]; + } + a1 = 0.5f * (c - a); + a2 = a - 2.5 * b + 2.f * c - 0.5f * d; + a3 = 0.5f * (d - a) + 1.5f * (b - c); + output = (double) (((a3 * remainder + a2) * -remainder + a1) * -remainder + b) / 32767; + + } + + return(output); +} + + +void maxiSample::getLength() { + length=myDataSize*0.5; +} + +void maxiSample::setLength(unsigned long numSamples) { + temp = (short*) realloc(temp, sizeof(short) * numSamples); +// short *newData = (short*) malloc(sizeof(short) * numSamples); +// if (NULL!=temp) { +// unsigned long copyLength = min((unsigned long)length, numSamples); +// memcpy(newData, temp, sizeof(short) * copyLength); +// free(temp); +// } +// temp = newData; + myDataSize = numSamples * 2; + length=numSamples; + position=0; + recordPosition=0; +} + +void maxiSample::clear() { + memset(temp, 0, myDataSize); +} + +void maxiSample::reset() { + position=0; +} + + +void maxiSample::normalise(float maxLevel) { + short maxValue = 0; + for(int i=0; i < length; i++) { + if (abs(temp[i]) > maxValue) { + maxValue = abs(temp[i]); + } + } + float scale = 32767.0 * maxLevel / (float) maxValue; + for(int i=0; i < length; i++) { + temp[i] = round(scale * (float) temp[i]); + } +} + +void maxiSample::autoTrim(float alpha, float threshold, bool trimStart, bool trimEnd) { + + int startMarker=0; + if(trimStart) { + maxiLagExp startLag(alpha, 0); + while(startMarker < length) { + startLag.addSample(abs(temp[startMarker])); + if (startLag.value() > threshold) { + break; + } + startMarker++; + } + } + + int endMarker = length-1; + if(trimEnd) { + maxiLagExp endLag(alpha, 0); + while(endMarker > 0) { + endLag.addSample(abs(temp[endMarker])); + if (endLag.value() > threshold) { + break; + } + endMarker--; + } + } + + cout << "Autotrim: start: " << startMarker << ", end: " << endMarker << endl; + + int newLength = endMarker - startMarker; + if (newLength > 0) { + short *newData = (short*) malloc(sizeof(short) * newLength); + for(int i=0; i < newLength; i++) { + newData[i] = temp[i+startMarker]; + } + free(temp); + temp = newData; + myDataSize = newLength * 2; + length=newLength; + position=0; + recordPosition=0; + //envelope the start + int fadeSize=min((long)100, length); + for(int i=0; i < fadeSize; i++) { + float factor = i / (float) fadeSize; + temp[i] = round(temp[i] * factor); + temp[length - 1 - i] = round(temp[length - 1 - i] * factor); + } + } +} + + + + + + + + + +/* OK this compressor and gate are now ready to use. The envelopes, like all the envelopes in this recent update, use stupid algorithms for + incrementing - consequently a long attack is something like 0.0001 and a long release is like 0.9999. + Annoyingly, a short attack is 0.1, and a short release is 0.99. I'll sort this out laters */ + +double maxiDyn::gate(double input, double threshold, long holdtime, double attack, double release) { + + if (fabs(input)>threshold && attackphase!=1){ + holdcount=0; + releasephase=0; + attackphase=1; + if(amplitude==0) amplitude=0.01; + } + + if (attackphase==1 && amplitude<1) { + amplitude*=(1+attack); + output=input*amplitude; + } + + if (amplitude>=1) { + attackphase=0; + holdphase=1; + } + + if (holdcount0.) { + output=input*(amplitude*=release); + + } + + return output; +} + + +double maxiDyn::compressor(double input, double ratio, double threshold, double attack, double release) { + + if (fabs(input)>threshold && attackphase!=1){ + holdcount=0; + releasephase=0; + attackphase=1; + if(currentRatio==0) currentRatio=ratio; + } + + if (attackphase==1 && currentRatio=ratio-1) { + attackphase=0; + releasephase=1; + } + + if (releasephase==1 && currentRatio>0.) { + currentRatio*=release; + } + + if (input>0.) { + output = input/(1.+currentRatio); + } else { + output = input/(1.+currentRatio); + } + + return output*(1+log(ratio)); +} + + +/* Lots of people struggle with the envelope generators so here's a new easy one. + It takes mental numbers for attack and release tho. Basically, they're exponentials. + I'll map them out later so that it's a bit more intuitive */ +double maxiEnv::ar(double input, double attack, double release, long holdtime, int trigger) { + + if (trigger==1 && attackphase!=1 && holdphase!=1){ + holdcount=0; + releasephase=0; + attackphase=1; + } + + if (attackphase==1) { + amplitude+=(1*attack); + output=input*amplitude; + } + + if (amplitude>=1) { + amplitude=1; + attackphase=0; + holdphase=1; + } + + if (holdcount0.) { + output=input*(amplitude*=release); + + } + + return output; +} + +/* and here's a new adsr. It's not bad, very simple to use*/ + +double maxiEnv::adsr(double input, double attack, double decay, double sustain, double release, long holdtime, int trigger) { + + if (trigger==1 && attackphase!=1 && holdphase!=1 && decayphase!=1){ + holdcount=0; + decayphase=0; + sustainphase=0; + releasephase=0; + attackphase=1; + } + + if (attackphase==1) { + amplitude+=(1*attack); + output=input*amplitude; + } + + if (amplitude>=1) { + amplitude=1; + attackphase=0; + decayphase=1; + } + + if (decayphase==1) { + output=input*(amplitude*=decay); + if (amplitude<=sustain) { + decayphase=0; + holdphase=1; + } + } + + if (holdcount0.) { + output=input*(amplitude*=release); + + } + + return output; +} + +double convert::mtof(int midinote) { + + return mtofarray[midinote]; +} + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.h new file mode 100755 index 0000000..03dfea5 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/maximilian.h @@ -0,0 +1,623 @@ +/* + * maximilian.h + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/* + Feature request: + maxiNANINFAlarm + maxiLimiter + */ + +#ifndef MAXIMILIAN_H +#define MAXIMILIAN_H + +//#define MAXIMILIAN_PORTAUDIO +#define MAXIMILIAN_RT_AUDIO + + +#include +#include +#include +#include +#include "math.h" + +using namespace std; +#ifndef PI +#define PI 3.1415926535897932384626433832795 +#endif +#define TWOPI 6.283185307179586476925286766559 + +class maxiSettings { +public: + static int sampleRate; + static int channels; + static int bufferSize; + static void setup(int initSampleRate, int initChannels, int initBufferSize) { + maxiSettings::sampleRate = initSampleRate; + maxiSettings::channels = initChannels; + maxiSettings::bufferSize = initBufferSize; + } +}; + + +class maxiOsc { + + double frequency; + double phase; + double startphase; + double endphase; + double output; + double tri; + + +public: + maxiOsc(); + double sinewave(double frequency); + double coswave(double frequency); + double phasor(double frequency); + double phasor(double frequency, double startphase, double endphase); + double saw(double frequency); + double triangle(double frequency); + double square(double frequency); + double pulse(double frequency, double duty); + double noise(); + double sinebuf(double frequency); + double sinebuf4(double frequency); + void phaseReset(double phaseIn); + double sawn(double frequency); + +}; + + +class maxiEnvelope { + + double period; + double output; + double startval; + double currentval; + double nextval; + int isPlaying; + +public: + double line(int numberofsegments,double segments[100]); + void trigger(int index,double amp); + int valindex; + double amplitude; + +}; + + +class maxiDelayline { + double frequency; + int phase; + double startphase; + double endphase; + double output; + double memory[88200]; + +public: + maxiDelayline(); + double dl(double input, int size, double feedback); + double dl(double input, int size, double feedback, int position); + + +}; + + +class maxiFilter { + double gain; + double input; + double output; + double inputs[10]; + double outputs[10]; + double cutoff1; + double x;//speed + double y;//pos + double z;//pole + double c;//filter coefficient + +public: + maxiFilter():x(0.0), y(0.0), z(0.0), c(0.0){}; + double cutoff; + double resonance; + double lores(double input,double cutoff1, double resonance); + double hires(double input,double cutoff1, double resonance); + double bandpass(double input,double cutoff1, double resonance); + double lopass(double input,double cutoff); + double hipass(double input,double cutoff); + +}; + +class maxiMix { + double input; + double two[2]; + double four[4]; + double eight[8]; +public: + double x; + double y; + double z; + double *stereo(double input,double two[2],double x); + double *quad(double input,double four[4], double x,double y); + double *ambisonic(double input,double eight[8],double x,double y, double z); + +}; + +//lagging with an exponential moving average +//a lower alpha value gives a slower lag +template +class maxiLagExp { +public: + T alpha, alphaReciprocal; + T val; + + maxiLagExp() { + init(0.5, 0.0); + }; + + maxiLagExp(T initAlpha, T initVal) { + init(initAlpha, initVal); + } + + void init(T initAlpha, T initVal) { + alpha = initAlpha; + alphaReciprocal = 1.0 - alpha; + val = initVal; + } + + inline void addSample(T newVal) { + val = (alpha * newVal) + (alphaReciprocal * val); + } + + inline T value() { + return val; + } +}; + + +class maxiSample { + +private: + string myPath; + int myChunkSize; + int mySubChunk1Size; + int readChannel; + short myFormat; + int myByteRate; + short myBlockAlign; + short myBitsPerSample; + double speed; + double output; + maxiLagExp loopRecordLag; + +public: + double position, recordPosition; + int myDataSize; + short myChannels; + int mySampleRate; + long length; + void getLength(); + void setLength(unsigned long numSamples); + + +// char* myData; + short* temp; + + // get/set for the Path property + + ~maxiSample() + { +// if (myData) free(myData); + if (temp) free(temp); + } + + maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {}; + + maxiSample& operator=(const maxiSample &source) { + if (this == &source) + return *this; + position=0; + recordPosition = 0; + myChannels = source.myChannels; + mySampleRate = maxiSettings::sampleRate; + free(temp); + myDataSize = source.myDataSize; + temp = (short*) malloc(myDataSize * sizeof(char)); + memcpy(temp, source.temp, myDataSize * sizeof(char)); + length = source.length; + return *this; + } + + bool load(string fileName, int channel=0); + + bool loadOgg(string filename,int channel=0); + + void trigger(); + + // read a wav file into this class + bool read(); + + //read an ogg file into this class using stb_vorbis + bool readOgg(); + + void loopRecord(double newSample, const bool recordEnabled, const double recordMix, double start = 0.0, double end = 1.0) { + loopRecordLag.addSample(recordEnabled); + if (recordPosition < start * length) recordPosition = start * length; + if(recordEnabled) { + double currentSample = temp[(unsigned long)recordPosition] / 32767.0; + newSample = (recordMix * currentSample) + ((1.0 - recordMix) * newSample); + newSample *= loopRecordLag.value(); + temp[(unsigned long)recordPosition] = newSample * 32767; + } + ++recordPosition; + if (recordPosition >= end * length) + recordPosition= start * length; + } + + void clear(); + + void reset(); + + double play(); + + double playLoop(double start, double end); // start and end are between 0.0 and 1.0 + + double playOnce(); + + double playOnce(double speed); + + void setPosition(double newPos); // between 0.0 and 1.0 + + double playUntil(double end); + + double play(double speed); + + double play(double frequency, double start, double end, double &pos); + + double play(double frequency, double start, double end); + + double play4(double frequency, double start, double end); + + double bufferPlay(unsigned char &bufferin,long length); + + double bufferPlay(unsigned char &bufferin,double speed,long length); + + double bufferPlay(unsigned char &bufferin,double frequency, double start, double end); + + double bufferPlay4(unsigned char &bufferin,double frequency, double start, double end); + bool save() { + return save(myPath); + } + + bool save(string filename) + { + fstream myFile (filename.c_str(), ios::out | ios::binary); + + // write the wav file per the wav file format + myFile.seekp (0, ios::beg); + myFile.write ("RIFF", 4); + myFile.write ((char*) &myChunkSize, 4); + myFile.write ("WAVE", 4); + myFile.write ("fmt ", 4); + myFile.write ((char*) &mySubChunk1Size, 4); + myFile.write ((char*) &myFormat, 2); + myFile.write ((char*) &myChannels, 2); + myFile.write ((char*) &mySampleRate, 4); + myFile.write ((char*) &myByteRate, 4); + myFile.write ((char*) &myBlockAlign, 2); + myFile.write ((char*) &myBitsPerSample, 2); + myFile.write ("data", 4); + myFile.write ((char*) &myDataSize, 4); + myFile.write ((char*) temp, myDataSize); + + return true; + } + + // return a printable summary of the wav file + char *getSummary() + { + char *summary = new char[250]; + sprintf(summary, " Format: %d\n Channels: %d\n SampleRate: %d\n ByteRate: %d\n BlockAlign: %d\n BitsPerSample: %d\n DataSize: %d\n", myFormat, myChannels, mySampleRate, myByteRate, myBlockAlign, myBitsPerSample, myDataSize); + return summary; + } + + void normalise(float maxLevel = 0.99); //0 < maxLevel < 1.0 + void autoTrim(float alpha = 0.3, float threshold = 6000, bool trimStart = true, bool trimEnd = true); //alpha of lag filter (lower == slower reaction), threshold to mark start and end, < 32767 +}; + + +class maxiMap { +public: + static double inline linlin(double val, double inMin, double inMax, double outMin, double outMax) { + val = max(min(val, inMax), inMin); + return ((val - inMin) / (inMax - inMin) * (outMax - outMin)) + outMin; + } + + static double inline linexp(double val, double inMin, double inMax, double outMin, double outMax) { + //clipping + val = max(min(val, inMax), inMin); + return pow((outMax / outMin), (val - inMin) / (inMax - inMin)) * outMin; + } + + static double inline explin(double val, double inMin, double inMax, double outMin, double outMax) { + //clipping + val = max(min(val, inMax), inMin); + return (log(val/inMin) / log(inMax/inMin) * (outMax - outMin)) + outMin; + } + + //changed to templated function, e.g. maxiMap::maxiClamp(v, l, h); + template + static T inline clamp(T v, const T low, const T high) { + if (v > high) + v = high; + else if (v < low) { + v = low; + } + return v; + } + +}; + +class maxiDyn { + + +public: + double gate(double input, double threshold=0.9, long holdtime=1, double attack=1, double release=0.9995); + double compressor(double input, double ratio, double threshold=0.9, double attack=1, double release=0.9995); + double input; + double ratio; + double currentRatio; + double threshold; + double output; + double attack; + double release; + double amplitude; + long holdtime; + long holdcount; + int attackphase,holdphase,releasephase; +}; + +class maxiEnv { + + +public: + double ar(double input, double attack=1, double release=0.9, long holdtime=1, int trigger=0); + double adsr(double input, double attack=1, double decay=0.99, double sustain=0.125, double release=0.9, long holdtime=1, int trigger=0); + double input; + double output; + double attack; + double decay; + double sustain; + double release; + double amplitude; + int trigger; + long holdtime; + long holdcount; + int attackphase,decayphase,sustainphase,holdphase,releasephase; +}; + +class convert { +public: + double mtof(int midinote); +}; + + + +class maxiDistortion { +public: + /*atan distortion, see http://www.musicdsp.org/showArchiveComment.php?ArchiveID=104*/ + /*shape from 1 (soft clipping) to infinity (hard clipping)*/ + double atanDist(const double in, const double shape); + double fastAtanDist(const double in, const double shape); + double fastatan( double x ); +}; + +inline double maxiDistortion::fastatan(double x) +{ + return (x / (1.0 + 0.28 * (x * x))); +} + +inline double maxiDistortion::atanDist(const double in, const double shape) { + double out; + out = (1.0 / atan(shape)) * atan(in * shape); + return out; +} + +inline double maxiDistortion::fastAtanDist(const double in, const double shape) { + double out; + out = (1.0 / fastatan(shape)) * fastatan(in * shape); + return out; +} + + +class maxiFlanger { +public: + //delay = delay time - ~800 sounds good + //feedback = 0 - 1 + //speed = lfo speed in Hz, 0.0001 - 10 sounds good + //depth = 0 - 1 + double flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); + maxiDelayline dl; + maxiOsc lfo; + +}; + +inline double maxiFlanger::flange(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) +{ + //todo: needs fixing + double output; + double lfoVal = lfo.triangle(speed); + output = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; + double normalise = (1 - fabs(output)); + output *= normalise; + return (output + input) / 2.0; +} + +class maxiChorus { +public: + //delay = delay time - ~800 sounds good + //feedback = 0 - 1 + //speed = lfo speed in Hz, 0.0001 - 10 sounds good + //depth = 0 - 1 + double chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); + maxiDelayline dl, dl2; + maxiOsc lfo; + maxiFilter lopass; + +}; + +inline double maxiChorus::chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) +{ + //this needs fixing + double output1, output2; + double lfoVal = lfo.noise(); + lfoVal = lopass.lores(lfoVal, speed, 1.0) * 2.0; + output1 = dl.dl(input, delay + (lfoVal * depth * delay) + 1, feedback) ; + output2 = dl2.dl(input, (delay + (lfoVal * depth * delay * 1.02) + 1) * 0.98, feedback * 0.99) ; + output1 *= (1.0 - fabs(output1)); + output2 *= (1.0 - fabs(output2)); + return (output1 + output2 + input) / 3.0; +} + +template +class maxiEnvelopeFollowerType { +public: + maxiEnvelopeFollowerType() { + setAttack(100); + setRelease(100); + env = 0; + } + void setAttack(T attackMS) { + attack = pow( 0.01, 1.0 / (attackMS * maxiSettings::sampleRate * 0.001 ) ); + } + void setRelease(T releaseMS) { + release = pow( 0.01, 1.0 / (releaseMS * maxiSettings::sampleRate * 0.001 ) ); + } + inline T play(T input) { + input = fabs(input); + if (input>env) + env = attack * (env - input) + input; + else + env = release * (env - input) + input; + return env; + } + void reset() {env=0;} + inline T getEnv(){return env;} + inline void setEnv(T val){env = val;} +private: + T attack, release, env; +}; + +typedef maxiEnvelopeFollowerType maxiEnvelopeFollower; +typedef maxiEnvelopeFollowerType maxiEnvelopeFollowerF; + +//from https://ccrma.stanford.edu/~jos/filters/DC_Blocker_Software_Implementations.html +class maxiDCBlocker { +public: + double xm1, ym1; + maxiDCBlocker() : xm1(0), ym1(0) {} + inline double play(double input, double R) { + ym1 = input - xm1 + R * ym1; + xm1 = input; + return ym1; + } +}; + +/* + State Variable Filter + + algorithm from http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised.pdf + usage: + either set the parameters separately as required (to save CPU) + + filter.setCutoff(param1); + filter.setResonance(param2); + + w = filter.play(w, 0.0, 1.0, 0.0, 0.0); + + or set everything together at once + + w = filter.setCutoff(param1).setResonance(param2).play(w, 0.0, 1.0, 0.0, 0.0); + + */ +class maxiSVF { +public: + maxiSVF() : v0z(0), v1(0), v2(0) { setParams(1000, 1);} + + //20 < cutoff < 20000 + inline maxiSVF& setCutoff(double cutoff) { + setParams(cutoff, res); + return *this; + } + + //from 0 upwards, starts to ring from 2-3ish, cracks a bit around 10 + inline maxiSVF& setResonance(double q) { + setParams(freq, q); + return *this; + } + + //run the filter, and get a mixture of lowpass, bandpass, highpass and notch outputs + inline double play(double w, double lpmix, double bpmix, double hpmix, double notchmix) { + double low, band, high, notch; + double v1z = v1; + double v2z = v2; + double v3 = w + v0z - 2.0 * v2z; + v1 += g1*v3-g2*v1z; + v2 += g3*v3+g4*v1z; + v0z = w; + low = v2; + band = v1; + high = w-k*v1-v2; + notch = w-k*v1; + return (low * lpmix) + (band * bpmix) + (high * hpmix) + (notch * notchmix); + } + +private: + inline void setParams(double _freq, double _res) { + freq = _freq; + res = _res; + g = tan(PI * freq / maxiSettings::sampleRate); + damping = res == 0 ? 0 : 1.0 / res; + k = damping; + ginv = g / (1.0 + g * (g + k)); + g1 = ginv; + g2 = 2.0 * (g + k) * ginv; + g3 = g * ginv; + g4 = 2.0 * ginv; + } + + double v0z, v1, v2, g, damping, k, ginv, g1, g2, g3 ,g4; + double freq, res; + +}; + + +#endif diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/sineTable.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/sineTable.h new file mode 100644 index 0000000..de9626e --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/sineTable.h @@ -0,0 +1,15 @@ +/* + * sineTable.h + * atomSynthesis + * + * Created by Chris on 10/11/2011. + * Copyright 2011 Goldsmiths Creative Computing. All rights reserved. + * + */ +#pragma once + +namespace waveTable { + +double sine65536[65538] = {0.0,9.5873799096e-05,0.000191747597311,0.000287621393763,0.000383495187571,0.000479368977855,0.000575242763732,0.000671116544322,0.000766990318743,0.000862864086114,0.000958737845553,0.00105461159618,0.00115048533711,0.00124635906747,0.00134223278637,0.00143810649294,0.00153398018628,0.00162985386553,0.0017257275298,0.0018216011782,0.00191747480986,0.00201334842389,0.00210922201942,0.00220509559556,0.00230096915143,0.00239684268615,0.00249271619884,0.00258858968861,0.0026844631546,0.0027803365959,0.00287621001166,0.00297208340097,0.00306795676297,0.00316383009676,0.00325970340148,0.00335557667623,0.00345144992014,0.00354732313232,0.0036431963119,0.00373906945799,0.00383494256971,0.00393081564618,0.00402668868652,0.00412256168984,0.00421843465528,0.00431430758194,0.00441018046894,0.0045060533154,0.00460192612045,0.00469779888319,0.00479367160276,0.00488954427826,0.00498541690882,0.00508128949356,0.00517716203158,0.00527303452202,0.005368906964,0.00546477935662,0.00556065169901,0.00565652399029,0.00575239622957,0.00584826841598,0.00594414054864,0.00604001262666,0.00613588464915,0.00623175661525,0.00632762852407,0.00642350037473,0.00651937216634,0.00661524389803,0.00671111556891,0.0068069871781,0.00690285872473,0.00699873020791,0.00709460162675,0.00719047298039,0.00728634426793,0.00738221548849,0.0074780866412,0.00757395772518,0.00766982873953,0.00776569968339,0.00786157055586,0.00795744135607,0.00805331208314,0.00814918273619,0.00824505331433,0.00834092381668,0.00843679424237,0.00853266459051,0.00862853486021,0.00872440505061,0.00882027516081,0.00891614518993,0.00901201513711,0.00910788500144,0.00920375478206,0.00929962447808,0.00939549408862,0.00949136361279,0.00958723304973,0.00968310239854,0.00977897165835,0.00987484082827,0.00997070990742,0.0100665788949,0.0101624477899,0.0102583165915,0.0103541852987,0.0104500539108,0.0105459224269,0.010641790846,0.0107376591673,0.0108335273899,0.0109293955129,0.0110252635354,0.0111211314566,0.0112169992756,0.0113128669915,0.0114087346034,0.0115046021104,0.0116004695117,0.0116963368064,0.0117922039935,0.0118880710723,0.0119839380417,0.0120798049011,0.0121756716493,0.0122715382857,0.0123674048093,0.0124632712192,0.0125591375145,0.0126550036944,0.012750869758,0.0128467357044,0.0129426015327,0.013038467242,0.0131343328315,0.0132301983002,0.0133260636473,0.013421928872,0.0135177939733,0.0136136589503,0.0137095238022,0.0138053885281,0.013901253127,0.0139971175982,0.0140929819408,0.0141888461538,0.0142847102364,0.0143805741876,0.0144764380067,0.0145723016928,0.0146681652449,0.0147640286621,0.0148598919437,0.0149557550886,0.0150516180961,0.0151474809653,0.0152433436952,0.015339206285,0.0154350687338,0.0155309310407,0.0156267932049,0.0157226552254,0.0158185171014,0.015914378832,0.0160102404164,0.0161061018535,0.0162019631427,0.0162978242829,0.0163936852733,0.016489546113,0.0165854068011,0.0166812673368,0.0167771277191,0.0168729879473,0.0169688480203,0.0170647079374,0.0171605676976,0.0172564273001,0.017352286744,0.0174481460284,0.0175440051524,0.0176398641151,0.0177357229157,0.0178315815532,0.0179274400269,0.0180232983358,0.018119156479,0.0182150144556,0.0183108722649,0.0184067299058,0.0185025873775,0.0185984446792,0.0186943018099,0.0187901587688,0.0188860155549,0.0189818721675,0.0190777286056,0.0191735848683,0.0192694409548,0.0193652968642,0.0194611525955,0.019557008148,0.0196528635207,0.0197487187128,0.0198445737234,0.0199404285515,0.0200362831964,0.0201321376571,0.0202279919327,0.0203238460224,0.0204196999253,0.0205155536405,0.0206114071671,0.0207072605043,0.0208031136511,0.0208989666067,0.0209948193702,0.0210906719408,0.0211865243174,0.0212823764994,0.0213782284857,0.0214740802755,0.0215699318679,0.021665783262,0.021761634457,0.021857485452,0.0219533362461,0.0220491868384,0.022145037228,0.022240887414,0.0223367373956,0.0224325871719,0.0225284367421,0.0226242861051,0.0227201352602,0.0228159842064,0.0229118329429,0.0230076814688,0.0231035297833,0.0231993778853,0.0232952257742,0.0233910734489,0.0234869209086,0.0235827681524,0.0236786151794,0.0237744619888,0.0238703085797,0.0239661549511,0.0240620011023,0.0241578470323,0.0242536927402,0.0243495382252,0.0244453834864,0.0245412285229,0.0246370733338,0.0247329179183,0.0248287622754,0.0249246064043,0.0250204503041,0.0251162939739,0.0252121374128,0.02530798062,0.0254038235946,0.0254996663357,0.0255955088423,0.0256913511138,0.025787193149,0.0258830349473,0.0259788765076,0.0260747178291,0.026170558911,0.0262663997523,0.0263622403521,0.0264580807097,0.026553920824,0.0266497606943,0.0267456003196,0.0268414396991,0.0269372788319,0.027033117717,0.0271289563537,0.027224794741,0.0273206328781,0.027416470764,0.0275123083979,0.027608145779,0.0277039829062,0.0277998197789,0.027895656396,0.0279914927567,0.02808732886,0.0281831647053,0.0282790002914,0.0283748356177,0.0284706706831,0.0285665054868,0.028662340028,0.0287581743056,0.028854008319,0.0289498420671,0.0290456755491,0.0291415087642,0.0292373417114,0.0293331743898,0.0294290067986,0.0295248389369,0.0296206708039,0.0297165023985,0.02981233372,0.0299081647675,0.0300039955401,0.0300998260369,0.030195656257,0.0302914861995,0.0303873158637,0.0304831452485,0.0305789743531,0.0306748031766,0.0307706317182,0.030866459977,0.030962287952,0.0310581156424,0.0311539430474,0.031249770166,0.0313455969973,0.0314414235406,0.0315372497948,0.0316330757591,0.0317289014327,0.0318247268146,0.031920551904,0.0320163767,0.0321122012018,0.0322080254083,0.0323038493188,0.0323996729324,0.0324954962481,0.0325913192652,0.0326871419827,0.0327829643997,0.0328787865154,0.0329746083289,0.0330704298393,0.0331662510457,0.0332620719473,0.0333578925431,0.0334537128323,0.033549532814,0.0336453524873,0.0337411718514,0.0338369909053,0.0339328096482,0.0340286280792,0.0341244461974,0.034220264002,0.034316081492,0.0344118986665,0.0345077155248,0.0346035320659,0.0346993482889,0.034795164193,0.0348909797772,0.0349867950407,0.0350826099826,0.0351784246021,0.0352742388982,0.0353700528701,0.0354658665169,0.0355616798376,0.0356574928315,0.0357533054976,0.0358491178351,0.0359449298431,0.0360407415207,0.036136552867,0.0362323638812,0.0363281745623,0.0364239849094,0.0365197949218,0.0366156045985,0.0367114139387,0.0368072229414,0.0369030316057,0.0369988399309,0.037094647916,0.0371904555601,0.0372862628624,0.0373820698219,0.0374778764378,0.0375736827093,0.0376694886353,0.0377652942152,0.0378610994479,0.0379569043325,0.0380527088683,0.0381485130544,0.0382443168897,0.0383401203736,0.038435923505,0.0385317262831,0.038627528707,0.0387233307759,0.0388191324889,0.038914933845,0.0390107348435,0.0391065354833,0.0392023357637,0.0392981356838,0.0393939352426,0.0394897344394,0.0395855332731,0.039681331743,0.0397771298482,0.0398729275877,0.0399687249608,0.0400645219664,0.0401603186038,0.040256114872,0.0403519107703,0.0404477062976,0.0405435014531,0.0406392962359,0.0407350906452,0.0408308846801,0.0409266783397,0.0410224716231,0.0411182645294,0.0412140570577,0.0413098492073,0.0414056409771,0.0415014323663,0.0415972233741,0.0416930139995,0.0417888042416,0.0418845940997,0.0419803835727,0.0420761726599,0.0421719613603,0.0422677496731,0.0423635375974,0.0424593251323,0.0425551122769,0.0426508990304,0.0427466853918,0.0428424713602,0.0429382569349,0.043034042115,0.0431298268994,0.0432256112874,0.0433213952781,0.0434171788706,0.043512962064,0.0436087448575,0.0437045272501,0.0438003092409,0.0438960908292,0.043991872014,0.0440876527945,0.0441834331696,0.0442792131387,0.0443749927008,0.0444707718549,0.0445665506003,0.0446623289361,0.0447581068613,0.0448538843752,0.0449496614767,0.0450454381651,0.0451412144394,0.0452369902988,0.0453327657424,0.0454285407693,0.0455243153786,0.0456200895695,0.045715863341,0.0458116366924,0.0459074096226,0.0460031821309,0.0460989542163,0.046194725878,0.0462904971151,0.0463862679267,0.0464820383119,0.0465778082699,0.0466735777997,0.0467693469005,0.0468651155715,0.0469608838116,0.0470566516201,0.0471524189961,0.0472481859386,0.0473439524469,0.0474397185199,0.047535484157,0.047631249357,0.0477270141193,0.0478227784429,0.0479185423269,0.0480143057704,0.0481100687726,0.0482058313326,0.0483015934495,0.0483973551224,0.0484931163504,0.0485888771327,0.0486846374684,0.0487803973566,0.0488761567964,0.048971915787,0.0490676743274,0.0491634324168,0.0492591900543,0.049354947239,0.0494507039701,0.0495464602466,0.0496422160677,0.0497379714325,0.0498337263401,0.0499294807897,0.0500252347803,0.0501209883111,0.0502167413812,0.0503124939897,0.0504082461357,0.0505039978184,0.0505997490369,0.0506954997903,0.0507912500777,0.0508869998982,0.050982749251,0.0510784981352,0.0511742465499,0.0512699944941,0.0513657419672,0.051461488968,0.0515572354959,0.0516529815499,0.051748727129,0.0518444722325,0.0519402168595,0.052035961009,0.0521317046803,0.0522274478723,0.0523231905843,0.0524189328154,0.0525146745646,0.0526104158311,0.0527061566141,0.0528018969125,0.0528976367257,0.0529933760526,0.0530891148924,0.0531848532442,0.0532805911071,0.0533763284804,0.0534720653629,0.053567801754,0.0536635376527,0.0537592730582,0.0538550079695,0.0539507423857,0.0540464763061,0.0541422097297,0.0542379426556,0.054333675083,0.0544294070109,0.0545251384386,0.054620869365,0.0547165997894,0.0548123297109,0.0549080591285,0.0550037880415,0.0550995164488,0.0551952443497,0.0552909717432,0.0553866986286,0.0554824250048,0.055578150871,0.0556738762264,0.05576960107,0.055865325401,0.0559610492185,0.0560567725216,0.0561524953095,0.0562482175812,0.0563439393359,0.0564396605727,0.0565353812907,0.0566311014891,0.0567268211669,0.0568225403233,0.0569182589574,0.0570139770683,0.0571096946552,0.0572054117171,0.0573011282532,0.0573968442626,0.0574925597444,0.0575882746977,0.0576839891217,0.0577797030155,0.0578754163782,0.0579711292089,0.0580668415068,0.0581625532709,0.0582582645004,0.0583539751944,0.0584496853521,0.0585453949724,0.0586411040547,0.0587368125979,0.0588325206012,0.0589282280638,0.0590239349847,0.059119641363,0.059215347198,0.0593110524886,0.0594067572341,0.0595024614335,0.059598165086,0.0596938681907,0.0597895707466,0.059885272753,0.059980974209,0.0600766751136,0.060172375466,0.0602680752653,0.0603637745107,0.0604594732012,0.0605551713359,0.0606508689141,0.0607465659348,0.0608422623971,0.0609379583001,0.061033653643,0.0611293484249,0.061225042645,0.0613207363022,0.0614164293958,0.0615121219249,0.0616078138886,0.061703505286,0.0617991961162,0.0618948863784,0.0619905760716,0.0620862651951,0.0621819537478,0.062277641729,0.0623733291378,0.0624690159732,0.0625647022345,0.0626603879206,0.0627560730308,0.0628517575642,0.0629474415198,0.0630431248968,0.0631388076944,0.0632344899116,0.0633301715475,0.0634258526014,0.0635215330722,0.0636172129592,0.0637128922614,0.063808570978,0.063904249108,0.0639999266507,0.0640956036051,0.0641912799704,0.0642869557456,0.0643826309299,0.0644783055224,0.0645739795222,0.0646696529285,0.0647653257403,0.0648609979569,0.0649566695772,0.0650523406005,0.0651480110259,0.0652436808524,0.0653393500792,0.0654350187054,0.0655306867302,0.0656263541526,0.0657220209718,0.0658176871869,0.065913352797,0.0660090178013,0.0661046821988,0.0662003459886,0.06629600917,0.066391671742,0.0664873337038,0.0665829950544,0.066678655793,0.0667743159187,0.0668699754306,0.0669656343279,0.0670612926096,0.067156950275,0.067252607323,0.0673482637529,0.0674439195637,0.0675395747545,0.0676352293246,0.067730883273,0.0678265365988,0.0679221893012,0.0680178413792,0.0681134928321,0.0682091436588,0.0683047938586,0.0684004434305,0.0684960923738,0.0685917406874,0.0686873883705,0.0687830354223,0.0688786818418,0.0689743276283,0.0690699727807,0.0691656172982,0.06926126118,0.0693569044252,0.0694525470328,0.0695481890021,0.0696438303321,0.0697394710219,0.0698351110707,0.0699307504776,0.0700263892417,0.0701220273621,0.070217664838,0.0703133016685,0.0704089378526,0.0705045733896,0.0706002082785,0.0706958425185,0.0707914761086,0.0708871090481,0.070982741336,0.0710783729714,0.0711740039534,0.0712696342813,0.0713652639541,0.0714608929708,0.0715565213308,0.071652149033,0.0717477760766,0.0718434024607,0.0719390281844,0.0720346532469,0.0721302776472,0.0722259013846,0.0723215244581,0.0724171468668,0.0725127686098,0.0726083896864,0.0727040100955,0.0727996298364,0.072895248908,0.0729908673097,0.0730864850405,0.0731821020994,0.0732777184857,0.0733733341984,0.0734689492367,0.0735645635997,0.0736601772865,0.0737557902962,0.073851402628,0.0739470142809,0.0740426252541,0.0741382355468,0.074233845158,0.0743294540868,0.0744250623325,0.074520669894,0.0746162767706,0.0747118829613,0.0748074884652,0.0749030932816,0.0749986974094,0.0750943008479,0.0751899035962,0.0752855056533,0.0753811070184,0.0754767076906,0.075572307669,0.0756679069528,0.0757635055411,0.075859103433,0.0759547006275,0.076050297124,0.0761458929214,0.0762414880189,0.0763370824155,0.0764326761105,0.076528269103,0.076623861392,0.0767194529767,0.0768150438563,0.0769106340297,0.0770062234962,0.0771018122549,0.0771974003049,0.0772929876453,0.0773885742753,0.0774841601939,0.0775797454003,0.0776753298935,0.0777709136729,0.0778664967373,0.077962079086,0.0780576607182,0.0781532416328,0.0782488218291,0.0783444013061,0.078439980063,0.0785355580988,0.0786311354128,0.0787267120041,0.0788222878717,0.0789178630148,0.0790134374325,0.0791090111239,0.0792045840882,0.0793001563244,0.0793957278317,0.0794912986092,0.0795868686561,0.0796824379714,0.0797780065543,0.0798735744039,0.0799691415193,0.0800647078997,0.0801602735441,0.0802558384517,0.0803514026216,0.080446966053,0.0805425287448,0.0806380906964,0.0807336519067,0.080829212375,0.0809247721003,0.0810203310817,0.0811158893185,0.0812114468096,0.0813070035542,0.0814025595515,0.0814981148006,0.0815936693005,0.0816892230505,0.0817847760496,0.0818803282969,0.0819758797916,0.0820714305328,0.0821669805197,0.0822625297512,0.0823580782266,0.0824536259451,0.0825491729056,0.0826447191073,0.0827402645494,0.0828358092309,0.0829313531511,0.0830268963089,0.0831224387036,0.0832179803343,0.0833135212,0.0834090612999,0.0835046006332,0.0836001391988,0.0836956769961,0.083791214024,0.0838867502818,0.0839822857685,0.0840778204832,0.0841733544251,0.0842688875933,0.0843644199869,0.0844599516051,0.0845554824469,0.0846510125116,0.0847465417981,0.0848420703056,0.0849375980333,0.0850331249803,0.0851286511456,0.0852241765285,0.085319701128,0.0854152249433,0.0855107479735,0.0856062702176,0.0857017916749,0.0857973123444,0.0858928322253,0.0859883513167,0.0860838696177,0.0861793871275,0.0862749038451,0.0863704197697,0.0864659349003,0.0865614492363,0.0866569627765,0.0867524755202,0.0868479874665,0.0869434986145,0.0870390089634,0.0871345185122,0.0872300272601,0.0873255352062,0.0874210423496,0.0875165486895,0.0876120542249,0.087707558955,0.0878030628789,0.0878985659958,0.0879940683047,0.0880895698048,0.0881850704952,0.088280570375,0.0883760694433,0.0884715676993,0.0885670651421,0.0886625617709,0.0887580575846,0.0888535525825,0.0889490467637,0.0890445401273,0.0891400326724,0.0892355243981,0.0893310153037,0.0894265053881,0.0895219946505,0.08961748309,0.0897129707058,0.089808457497,0.0899039434627,0.089999428602,0.090094912914,0.0901903963979,0.0902858790529,0.0903813608779,0.0904768418721,0.0905723220347,0.0906678013648,0.0907632798615,0.0908587575239,0.0909542343511,0.0910497103424,0.0911451854967,0.0912406598132,0.0913361332911,0.0914316059294,0.0915270777273,0.0916225486839,0.0917180187983,0.0918134880697,0.0919089564971,0.0920044240798,0.0920998908167,0.0921953567071,0.0922908217501,0.0923862859447,0.0924817492901,0.0925772117855,0.0926726734299,0.0927681342225,0.0928635941624,0.0929590532487,0.0930545114805,0.093149968857,0.0932454253773,0.0933408810405,0.0934363358457,0.0935317897921,0.0936272428788,0.0937226951048,0.0938181464694,0.0939135969716,0.0940090466106,0.0941044953855,0.0941999432954,0.0942953903394,0.0943908365167,0.0944862818264,0.0945817262675,0.0946771698393,0.0947726125408,0.0948680543712,0.0949634953296,0.0950589354152,0.0951543746269,0.095249812964,0.0953452504256,0.0954406870108,0.0955361227188,0.0956315575485,0.0957269914993,0.0958224245702,0.0959178567602,0.0960132880687,0.0961087184946,0.096204148037,0.0962995766952,0.0963950044683,0.0964904313553,0.0965858573553,0.0966812824676,0.0967767066912,0.0968721300252,0.0969675524688,0.0970629740212,0.0971583946813,0.0972538144484,0.0973492333215,0.0974446512998,0.0975400683825,0.0976354845685,0.0977308998571,0.0978263142474,0.0979217277385,0.0980171403296,0.0981125520196,0.0982079628079,0.0983033726934,0.0983987816754,0.0984941897529,0.098589596925,0.098685003191,0.0987804085498,0.0988758130007,0.0989712165427,0.099066619175,0.0991620208967,0.099257421707,0.0993528216049,0.0994482205895,0.0995436186601,0.0996390158156,0.0997344120553,0.0998298073783,0.0999252017837,0.100020595271,0.100115987838,0.100211379485,0.100306770211,0.100402160016,0.100497548897,0.100592936854,0.100688323887,0.100783709995,0.100879095176,0.100974479429,0.101069862755,0.101165245151,0.101260626618,0.101356007154,0.101451386758,0.10154676543,0.101642143168,0.101737519973,0.101832895841,0.101928270774,0.10202364477,0.102119017829,0.102214389948,0.102309761128,0.102405131368,0.102500500666,0.102595869022,0.102691236436,0.102786602905,0.102881968429,0.102977333008,0.10307269664,0.103168059325,0.103263421062,0.103358781849,0.103454141686,0.103549500573,0.103644858507,0.103740215489,0.103835571517,0.103930926591,0.10402628071,0.104121633872,0.104216986077,0.104312337325,0.104407687613,0.104503036942,0.10459838531,0.104693732717,0.104789079162,0.104884424643,0.10497976916,0.105075112713,0.105170455299,0.105265796919,0.105361137571,0.105456477255,0.105551815969,0.105647153713,0.105742490487,0.105837826288,0.105933161116,0.106028494971,0.106123827851,0.106219159755,0.106314490683,0.106409820634,0.106505149607,0.106600477601,0.106695804615,0.106791130648,0.1068864557,0.106981779769,0.107077102855,0.107172424957,0.107267746073,0.107363066204,0.107458385348,0.107553703504,0.107649020671,0.107744336849,0.107839652036,0.107934966233,0.108030279437,0.108125591648,0.108220902865,0.108316213088,0.108411522315,0.108506830545,0.108602137778,0.108697444013,0.108792749249,0.108888053485,0.108983356719,0.109078658952,0.109173960183,0.10926926041,0.109364559632,0.10945985785,0.109555155061,0.109650451265,0.109745746461,0.109841040649,0.109936333827,0.110031625994,0.11012691715,0.110222207294,0.110317496424,0.110412784541,0.110508071643,0.110603357729,0.110698642798,0.11079392685,0.110889209883,0.110984491897,0.111079772891,0.111175052864,0.111270331815,0.111365609743,0.111460886648,0.111556162528,0.111651437383,0.111746711211,0.111841984012,0.111937255786,0.11203252653,0.112127796244,0.112223064928,0.112318332581,0.112413599201,0.112508864787,0.11260412934,0.112699392857,0.112794655339,0.112889916784,0.112985177191,0.113080436559,0.113175694889,0.113270952178,0.113366208425,0.113461463631,0.113556717794,0.113651970913,0.113747222987,0.113842474016,0.113937723998,0.114032972933,0.11412822082,0.114223467658,0.114318713446,0.114413958183,0.114509201869,0.114604444502,0.114699686081,0.114794926607,0.114890166077,0.114985404491,0.115080641848,0.115175878147,0.115271113388,0.115366347569,0.115461580689,0.115556812749,0.115652043746,0.11574727368,0.11584250255,0.115937730356,0.116032957095,0.116128182769,0.116223407374,0.116318630912,0.11641385338,0.116509074778,0.116604295106,0.116699514361,0.116794732544,0.116889949653,0.116985165688,0.117080380648,0.117175594531,0.117270807338,0.117366019066,0.117461229715,0.117556439285,0.117651647775,0.117746855183,0.117842061508,0.117937266751,0.118032470909,0.118127673983,0.11822287597,0.118318076871,0.118413276685,0.11850847541,0.118603673045,0.118698869591,0.118794065045,0.118889259408,0.118984452678,0.119079644854,0.119174835935,0.119270025921,0.119365214811,0.119460402604,0.119555589298,0.119650774894,0.119745959389,0.119841142785,0.119936325078,0.120031506269,0.120126686357,0.120221865341,0.120317043219,0.120412219992,0.120507395658,0.120602570216,0.120697743666,0.120792916006,0.120888087236,0.120983257354,0.121078426361,0.121173594255,0.121268761035,0.1213639267,0.12145909125,0.121554254683,0.121649416999,0.121744578197,0.121839738276,0.121934897235,0.122030055073,0.122125211789,0.122220367383,0.122315521853,0.122410675199,0.12250582742,0.122600978515,0.122696128483,0.122791277323,0.122886425035,0.122981571617,0.123076717068,0.123171861388,0.123267004576,0.123362146631,0.123457287552,0.123552427339,0.123647565989,0.123742703503,0.12383783988,0.123932975119,0.124028109218,0.124123242177,0.124218373995,0.124313504672,0.124408634205,0.124503762596,0.124598889842,0.124694015942,0.124789140897,0.124884264704,0.124979387363,0.125074508874,0.125169629235,0.125264748446,0.125359866505,0.125454983412,0.125550099165,0.125645213765,0.12574032721,0.125835439498,0.125930550631,0.126025660606,0.126120769422,0.126215877079,0.126310983576,0.126406088912,0.126501193086,0.126596296097,0.126691397945,0.126786498628,0.126881598145,0.126976696497,0.127071793681,0.127166889697,0.127261984545,0.127357078222,0.127452170729,0.127547262065,0.127642352228,0.127737441218,0.127832529033,0.127927615674,0.128022701139,0.128117785427,0.128212868537,0.128307950469,0.128403031222,0.128498110794,0.128593189185,0.128688266394,0.12878334242,0.128878417263,0.128973490921,0.129068563393,0.129163634679,0.129258704778,0.129353773688,0.12944884141,0.129543907942,0.129638973283,0.129734037432,0.129829100389,0.129924162153,0.130019222722,0.130114282096,0.130209340275,0.130304397256,0.13039945304,0.130494507625,0.13058956101,0.130684613196,0.13077966418,0.130874713962,0.130969762541,0.131064809916,0.131159856086,0.131254901051,0.131349944809,0.13144498736,0.131540028703,0.131635068837,0.13173010776,0.131825145473,0.131920181974,0.132015217263,0.132110251338,0.132205284199,0.132300315844,0.132395346274,0.132490375487,0.132585403481,0.132680430257,0.132775455814,0.13287048015,0.132965503265,0.133060525157,0.133155545827,0.133250565272,0.133345583493,0.133440600488,0.133535616256,0.133630630797,0.13372564411,0.133820656194,0.133915667047,0.13401067667,0.134105685061,0.134200692219,0.134295698143,0.134390702834,0.134485706288,0.134580708507,0.134675709489,0.134770709233,0.134865707738,0.134960705003,0.135055701028,0.135150695811,0.135245689352,0.13534068165,0.135435672704,0.135530662513,0.135625651076,0.135720638393,0.135815624462,0.135910609283,0.136005592854,0.136100575176,0.136195556246,0.136290536064,0.13638551463,0.136480491942,0.136575468,0.136670442802,0.136765416348,0.136860388637,0.136955359668,0.13705032944,0.137145297952,0.137240265204,0.137335231194,0.137430195921,0.137525159386,0.137620121586,0.137715082522,0.137810042192,0.137905000595,0.13799995773,0.138094913597,0.138189868194,0.138284821522,0.138379773578,0.138474724362,0.138569673873,0.138664622111,0.138759569074,0.138854514762,0.138949459173,0.139044402308,0.139139344164,0.139234284741,0.139329224038,0.139424162055,0.13951909879,0.139614034243,0.139708968412,0.139803901298,0.139898832898,0.139993763212,0.14008869224,0.140183619979,0.140278546431,0.140373471592,0.140468395464,0.140563318044,0.140658239333,0.140753159328,0.14084807803,0.140942995437,0.141037911549,0.141132826364,0.141227739882,0.141322652102,0.141417563022,0.141512472643,0.141607380963,0.141702287982,0.141797193698,0.14189209811,0.141987001219,0.142081903022,0.142176803519,0.14227170271,0.142366600593,0.142461497167,0.142556392431,0.142651286386,0.142746179029,0.14284107036,0.142935960378,0.143030849082,0.143125736471,0.143220622545,0.143315507303,0.143410390743,0.143505272865,0.143600153667,0.14369503315,0.143789911312,0.143884788153,0.143979663671,0.144074537865,0.144169410735,0.14426428228,0.144359152499,0.144454021391,0.144548888955,0.144643755191,0.144738620097,0.144833483672,0.144928345916,0.145023206829,0.145118066408,0.145212924653,0.145307781563,0.145402637138,0.145497491376,0.145592344277,0.14568719584,0.145782046064,0.145876894947,0.14597174249,0.146066588691,0.146161433549,0.146256277064,0.146351119234,0.14644596006,0.146540799539,0.146635637671,0.146730474455,0.146825309891,0.146920143977,0.147014976713,0.147109808097,0.147204638129,0.147299466808,0.147394294133,0.147489120103,0.147583944718,0.147678767976,0.147773589876,0.147868410418,0.147963229601,0.148058047424,0.148152863887,0.148247678987,0.148342492725,0.148437305099,0.148532116108,0.148626925753,0.148721734031,0.148816540942,0.148911346486,0.14900615066,0.149100953465,0.1491957549,0.149290554963,0.149385353654,0.149480150972,0.149574946915,0.149669741484,0.149764534677,0.149859326494,0.149954116933,0.150048905994,0.150143693675,0.150238479977,0.150333264897,0.150428048436,0.150522830592,0.150617611364,0.150712390752,0.150807168755,0.150901945371,0.1509967206,0.151091494442,0.151186266894,0.151281037957,0.15137580763,0.151470575911,0.151565342799,0.151660108295,0.151754872397,0.151849635103,0.151944396414,0.152039156328,0.152133914845,0.152228671963,0.152323427682,0.152418182001,0.152512934919,0.152607686435,0.152702436549,0.152797185258,0.152891932564,0.152986678464,0.153081422957,0.153176166044,0.153270907723,0.153365647992,0.153460386852,0.153555124302,0.15364986034,0.153744594966,0.153839328178,0.153934059977,0.154028790361,0.154123519328,0.154218246879,0.154312973013,0.154407697728,0.154502421024,0.1545971429,0.154691863355,0.154786582387,0.154881299997,0.154976016184,0.155070730946,0.155165444282,0.155260156193,0.155354866676,0.155449575731,0.155544283357,0.155638989554,0.15573369432,0.155828397654,0.155923099556,0.156017800025,0.15611249906,0.15620719666,0.156301892824,0.156396587552,0.156491280842,0.156585972693,0.156680663105,0.156775352077,0.156870039608,0.156964725697,0.157059410343,0.157154093546,0.157248775304,0.157343455616,0.157438134483,0.157532811902,0.157627487873,0.157722162395,0.157816835468,0.15791150709,0.15800617726,0.158100845978,0.158195513243,0.158290179054,0.15838484341,0.15847950631,0.158574167753,0.158668827739,0.158763486266,0.158858143334,0.158952798942,0.159047453088,0.159142105773,0.159236756995,0.159331406753,0.159426055047,0.159520701875,0.159615347237,0.159709991132,0.159804633559,0.159899274517,0.159993914005,0.160088552023,0.160183188569,0.160277823642,0.160372457243,0.160467089369,0.160561720021,0.160656349196,0.160750976895,0.160845603116,0.160940227859,0.161034851122,0.161129472906,0.161224093208,0.161318712028,0.161413329366,0.161507945219,0.161602559588,0.161697172472,0.16179178387,0.16188639378,0.161981002202,0.162075609136,0.16217021458,0.162264818533,0.162359420994,0.162454021963,0.162548621439,0.162643219421,0.162737815908,0.162832410899,0.162927004393,0.16302159639,0.163116186888,0.163210775887,0.163305363385,0.163399949383,0.163494533879,0.163589116871,0.163683698361,0.163778278345,0.163872856825,0.163967433797,0.164062009263,0.164156583221,0.16425115567,0.164345726609,0.164440296037,0.164534863954,0.164629430359,0.16472399525,0.164818558628,0.16491312049,0.165007680836,0.165102239666,0.165196796978,0.165291352772,0.165385907046,0.1654804598,0.165575011034,0.165669560745,0.165764108933,0.165858655598,0.165953200738,0.166047744353,0.166142286441,0.166236827003,0.166331366036,0.16642590354,0.166520439515,0.166614973959,0.166709506872,0.166804038252,0.166898568099,0.166993096412,0.16708762319,0.167182148432,0.167276672137,0.167371194305,0.167465714935,0.167560234025,0.167654751575,0.167749267584,0.167843782051,0.167938294975,0.168032806355,0.168127316191,0.168221824482,0.168316331226,0.168410836423,0.168505340073,0.168599842173,0.168694342724,0.168788841724,0.168883339172,0.168977835068,0.169072329411,0.1691668222,0.169261313434,0.169355803112,0.169450291234,0.169544777798,0.169639262803,0.16973374625,0.169828228136,0.169922708461,0.170017187224,0.170111664424,0.170206140061,0.170300614133,0.17039508664,0.170489557581,0.170584026954,0.17067849476,0.170772960997,0.170867425664,0.17096188876,0.171056350285,0.171150810238,0.171245268618,0.171339725423,0.171434180654,0.171528634308,0.171623086386,0.171717536887,0.171811985809,0.171906433152,0.172000878915,0.172095323097,0.172189765697,0.172284206714,0.172378646148,0.172473083997,0.172567520261,0.172661954938,0.172756388029,0.172850819531,0.172945249445,0.173039677769,0.173134104503,0.173228529645,0.173322953195,0.173417375152,0.173511795514,0.173606214282,0.173700631454,0.17379504703,0.173889461008,0.173983873387,0.174078284168,0.174172693348,0.174267100928,0.174361506905,0.17445591128,0.174550314051,0.174644715218,0.17473911478,0.174833512735,0.174927909083,0.175022303824,0.175116696956,0.175211088478,0.175305478389,0.175399866689,0.175494253377,0.175588638452,0.175683021913,0.175777403759,0.175871783989,0.175966162603,0.176060539599,0.176154914977,0.176249288736,0.176343660875,0.176438031393,0.176532400289,0.176626767562,0.176721133212,0.176815497238,0.176909859638,0.177004220412,0.177098579559,0.177192937079,0.177287292969,0.17738164723,0.177475999861,0.17757035086,0.177664700227,0.177759047961,0.177853394061,0.177947738526,0.178042081356,0.178136422549,0.178230762105,0.178325100022,0.178419436301,0.178513770939,0.178608103936,0.178702435292,0.178796765005,0.178891093075,0.1789854195,0.179079744281,0.179174067415,0.179268388902,0.179362708741,0.179457026932,0.179551343473,0.179645658364,0.179739971603,0.179834283191,0.179928593125,0.180022901406,0.180117208031,0.180211513002,0.180305816315,0.180400117972,0.18049441797,0.180588716309,0.180683012988,0.180777308007,0.180871601363,0.180965893058,0.181060183088,0.181154471455,0.181248758156,0.181343043192,0.18143732656,0.181531608261,0.181625888293,0.181720166656,0.181814443348,0.18190871837,0.182002991719,0.182097263395,0.182191533397,0.182285801725,0.182380068377,0.182474333353,0.182568596652,0.182662858272,0.182757118214,0.182851376475,0.182945633056,0.183039887955,0.183134141172,0.183228392705,0.183322642555,0.183416890719,0.183511137197,0.183605381988,0.183699625092,0.183793866507,0.183888106233,0.183982344269,0.184076580613,0.184170815266,0.184265048226,0.184359279491,0.184453509063,0.184547736939,0.184641963118,0.1847361876,0.184830410385,0.18492463147,0.185018850856,0.185113068541,0.185207284524,0.185301498805,0.185395711383,0.185489922257,0.185584131425,0.185678338888,0.185772544644,0.185866748693,0.185960951033,0.186055151663,0.186149350584,0.186243547794,0.186337743291,0.186431937076,0.186526129147,0.186620319504,0.186714508145,0.18680869507,0.186902880278,0.186997063768,0.18709124554,0.187185425591,0.187279603922,0.187373780531,0.187467955419,0.187562128583,0.187656300023,0.187750469738,0.187844637727,0.18793880399,0.188032968525,0.188127131332,0.188221292409,0.188315451757,0.188409609373,0.188503765258,0.18859791941,0.188692071829,0.188786222513,0.188880371462,0.188974518674,0.18906866415,0.189162807888,0.189256949887,0.189351090146,0.189445228665,0.189539365443,0.189633500478,0.18972763377,0.189821765319,0.189915895122,0.19001002318,0.190104149492,0.190198274056,0.190292396871,0.190386517938,0.190480637254,0.19057475482,0.190668870634,0.190762984696,0.190857097004,0.190951207557,0.191045316356,0.191139423398,0.191233528684,0.191327632212,0.191421733981,0.19151583399,0.19160993224,0.191704028728,0.191798123453,0.191892216416,0.191986307615,0.19208039705,0.192174484719,0.192268570621,0.192362654756,0.192456737123,0.192550817721,0.192644896549,0.192738973607,0.192833048892,0.192927122405,0.193021194145,0.193115264111,0.193209332302,0.193303398716,0.193397463354,0.193491526214,0.193585587296,0.193679646598,0.19377370412,0.193867759861,0.19396181382,0.194055865996,0.194149916388,0.194243964996,0.194338011818,0.194432056854,0.194526100103,0.194620141563,0.194714181235,0.194808219117,0.194902255209,0.194996289509,0.195090322016,0.19518435273,0.195278381651,0.195372408776,0.195466434105,0.195560457638,0.195654479373,0.19574849931,0.195842517448,0.195936533785,0.196030548321,0.196124561056,0.196218571988,0.196312581116,0.19640658844,0.196500593958,0.19659459767,0.196688599575,0.196782599672,0.196876597961,0.19697059444,0.197064589108,0.197158581965,0.197252573009,0.197346562241,0.197440549659,0.197534535261,0.197628519048,0.197722501019,0.197816481172,0.197910459507,0.198004436022,0.198098410718,0.198192383593,0.198286354646,0.198380323876,0.198474291283,0.198568256866,0.198662220623,0.198756182554,0.198850142659,0.198944100935,0.199038057383,0.199132012002,0.19922596479,0.199319915747,0.199413864871,0.199507812163,0.199601757621,0.199695701244,0.199789643032,0.199883582983,0.199977521097,0.200071457373,0.20016539181,0.200259324407,0.200353255163,0.200447184078,0.20054111115,0.200635036378,0.200728959763,0.200822881302,0.200916800996,0.201010718843,0.201104634842,0.201198548993,0.201292461294,0.201386371745,0.201480280345,0.201574187093,0.201668091988,0.20176199503,0.201855896217,0.201949795548,0.202043693023,0.202137588641,0.202231482401,0.202325374303,0.202419264344,0.202513152525,0.202607038844,0.202700923302,0.202794805895,0.202888686625,0.20298256549,0.203076442489,0.203170317622,0.203264190887,0.203358062284,0.203451931811,0.203545799469,0.203639665255,0.20373352917,0.203827391212,0.20392125138,0.204015109674,0.204108966093,0.204202820635,0.204296673301,0.204390524089,0.204484372998,0.204578220027,0.204672065176,0.204765908444,0.20485974983,0.204953589332,0.205047426951,0.205141262685,0.205235096533,0.205328928495,0.20542275857,0.205516586756,0.205610413053,0.20570423746,0.205798059977,0.205891880602,0.205985699334,0.206079516173,0.206173331118,0.206267144167,0.206360955321,0.206454764578,0.206548571937,0.206642377398,0.206736180959,0.20682998262,0.20692378238,0.207017580237,0.207111376192,0.207205170243,0.20729896239,0.207392752631,0.207486540966,0.207580327394,0.207674111913,0.207767894524,0.207861675225,0.207955454015,0.208049230894,0.208143005861,0.208236778914,0.208330550053,0.208424319278,0.208518086586,0.208611851978,0.208705615453,0.208799377009,0.208893136645,0.208986894362,0.209080650158,0.209174404032,0.209268155983,0.20936190601,0.209455654114,0.209549400292,0.209643144543,0.209736886868,0.209830627265,0.209924365734,0.210018102272,0.21011183688,0.210205569557,0.210299300302,0.210393029114,0.210486755992,0.210580480935,0.210674203942,0.210767925013,0.210861644147,0.210955361343,0.211049076599,0.211142789916,0.211236501291,0.211330210725,0.211423918217,0.211517623765,0.211611327369,0.211705029028,0.211798728741,0.211892426507,0.211986122326,0.212079816196,0.212173508116,0.212267198087,0.212360886106,0.212454572173,0.212548256288,0.212641938448,0.212735618654,0.212829296905,0.2129229732,0.213016647537,0.213110319916,0.213203990337,0.213297658797,0.213391325297,0.213484989836,0.213578652412,0.213672313026,0.213765971675,0.213859628359,0.213953283078,0.214046935829,0.214140586614,0.21423423543,0.214327882277,0.214421527154,0.21451517006,0.214608810994,0.214702449955,0.214796086943,0.214889721957,0.214983354995,0.215076986058,0.215170615143,0.215264242251,0.21535786738,0.215451490529,0.215545111698,0.215638730886,0.215732348092,0.215825963314,0.215919576553,0.216013187808,0.216106797076,0.216200404358,0.216294009653,0.21638761296,0.216481214278,0.216574813606,0.216668410944,0.216762006289,0.216855599643,0.216949191003,0.217042780369,0.217136367739,0.217229953114,0.217323536493,0.217417117873,0.217510697256,0.217604274638,0.217697850021,0.217791423403,0.217884994783,0.21797856416,0.218072131533,0.218165696902,0.218259260266,0.218352821623,0.218446380974,0.218539938316,0.21863349365,0.218727046974,0.218820598288,0.21891414759,0.21900769488,0.219101240157,0.21919478342,0.219288324668,0.219381863901,0.219475401117,0.219568936315,0.219662469496,0.219756000657,0.219849529799,0.219943056919,0.220036582018,0.220130105095,0.220223626148,0.220317145177,0.22041066218,0.220504177158,0.220597690109,0.220691201032,0.220784709927,0.220878216792,0.220971721627,0.221065224431,0.221158725203,0.221252223942,0.221345720647,0.221439215318,0.221532707953,0.221626198552,0.221719687114,0.221813173638,0.221906658123,0.222000140568,0.222093620973,0.222187099337,0.222280575658,0.222374049935,0.222467522169,0.222560992358,0.222654460502,0.222747926598,0.222841390647,0.222934852648,0.2230283126,0.223121770502,0.223215226353,0.223308680152,0.223402131898,0.223495581591,0.22358902923,0.223682474813,0.223775918341,0.223869359811,0.223962799224,0.224056236578,0.224149671873,0.224243105107,0.22433653628,0.224429965392,0.22452339244,0.224616817424,0.224710240344,0.224803661198,0.224897079986,0.224990496707,0.22508391136,0.225177323944,0.225270734458,0.225364142901,0.225457549273,0.225550953572,0.225644355799,0.225737755951,0.225831154028,0.22592455003,0.226017943954,0.226111335802,0.226204725571,0.22629811326,0.22639149887,0.226484882399,0.226578263846,0.22667164321,0.226765020491,0.226858395687,0.226951768798,0.227045139823,0.227138508761,0.227231875611,0.227325240373,0.227418603045,0.227511963627,0.227605322117,0.227698678516,0.227792032821,0.227885385033,0.22797873515,0.228072083171,0.228165429096,0.228258772924,0.228352114653,0.228445454284,0.228538791815,0.228632127245,0.228725460574,0.2288187918,0.228912120923,0.229005447942,0.229098772856,0.229192095664,0.229285416365,0.229378734959,0.229472051444,0.229565365821,0.229658678087,0.229751988242,0.229845296285,0.229938602216,0.230031906033,0.230125207735,0.230218507323,0.230311804794,0.230405100148,0.230498393385,0.230591684502,0.230684973501,0.230778260378,0.230871545135,0.230964827769,0.231058108281,0.231151386668,0.231244662931,0.231337937069,0.231431209079,0.231524478963,0.231617746719,0.231711012345,0.231804275842,0.231897537208,0.231990796442,0.232084053545,0.232177308513,0.232270561348,0.232363812048,0.232457060612,0.232550307039,0.232643551328,0.23273679348,0.232830033492,0.232923271363,0.233016507094,0.233109740683,0.233202972129,0.233296201432,0.233389428591,0.233482653604,0.233575876471,0.233669097191,0.233762315763,0.233855532186,0.23394874646,0.234041958584,0.234135168556,0.234228376376,0.234321582043,0.234414785556,0.234507986915,0.234601186118,0.234694383165,0.234787578054,0.234880770785,0.234973961358,0.23506714977,0.235160336022,0.235253520112,0.23534670204,0.235439881805,0.235533059405,0.23562623484,0.23571940811,0.235812579213,0.235905748149,0.235998914916,0.236092079513,0.236185241941,0.236278402198,0.236371560283,0.236464716195,0.236557869934,0.236651021498,0.236744170887,0.2368373181,0.236930463136,0.237023605994,0.237116746674,0.237209885174,0.237303021494,0.237396155632,0.237489287588,0.237582417362,0.237675544951,0.237768670356,0.237861793575,0.237954914608,0.238048033454,0.238141150112,0.23823426458,0.238327376859,0.238420486948,0.238513594844,0.238606700549,0.23869980406,0.238792905377,0.238886004499,0.238979101425,0.239072196155,0.239165288687,0.239258379021,0.239351467156,0.239444553091,0.239537636824,0.239630718356,0.239723797685,0.239816874811,0.239909949733,0.240003022449,0.240096092959,0.240189161262,0.240282227358,0.240375291244,0.240468352922,0.240561412389,0.240654469645,0.240747524689,0.24084057752,0.240933628137,0.241026676539,0.241119722726,0.241212766697,0.241305808451,0.241398847986,0.241491885303,0.2415849204,0.241677953276,0.241770983931,0.241864012364,0.241957038573,0.242050062558,0.242143084319,0.242236103854,0.242329121162,0.242422136243,0.242515149095,0.242608159718,0.242701168112,0.242794174274,0.242887178205,0.242980179903,0.243073179368,0.243166176599,0.243259171594,0.243352164353,0.243445154876,0.243538143161,0.243631129207,0.243724113014,0.24381709458,0.243910073906,0.24400305099,0.24409602583,0.244188998427,0.24428196878,0.244374936887,0.244467902748,0.244560866362,0.244653827727,0.244746786844,0.244839743712,0.244932698329,0.245025650694,0.245118600807,0.245211548668,0.245304494274,0.245397437625,0.245490378721,0.245583317561,0.245676254142,0.245769188466,0.245862120531,0.245955050336,0.24604797788,0.246140903162,0.246233826182,0.246326746939,0.246419665431,0.246512581659,0.24660549562,0.246698407315,0.246791316742,0.246884223901,0.24697712879,0.247070031409,0.247162931758,0.247255829834,0.247348725638,0.247441619168,0.247534510423,0.247627399404,0.247720286108,0.247813170535,0.247906052685,0.247998932555,0.248091810146,0.248184685457,0.248277558487,0.248370429234,0.248463297698,0.248556163879,0.248649027775,0.248741889385,0.248834748709,0.248927605746,0.249020460494,0.249113312954,0.249206163124,0.249299011003,0.249391856591,0.249484699886,0.249577540889,0.249670379597,0.24976321601,0.249856050127,0.249948881948,0.250041711471,0.250134538696,0.250227363622,0.250320186248,0.250413006573,0.250505824596,0.250598640317,0.250691453734,0.250784264847,0.250877073654,0.250969880156,0.251062684351,0.251155486238,0.251248285816,0.251341083085,0.251433878044,0.251526670692,0.251619461028,0.25171224905,0.25180503476,0.251897818154,0.251990599233,0.252083377996,0.252176154442,0.25226892857,0.25236170038,0.252454469869,0.252547237038,0.252640001886,0.252732764411,0.252825524613,0.252918282492,0.253011038046,0.253103791274,0.253196542175,0.25328929075,0.253382036996,0.253474780913,0.2535675225,0.253660261756,0.253752998681,0.253845733273,0.253938465532,0.254031195457,0.254123923047,0.254216648301,0.254309371219,0.254402091799,0.25449481004,0.254587525942,0.254680239504,0.254772950725,0.254865659605,0.254958366141,0.255051070334,0.255143772183,0.255236471686,0.255329168844,0.255421863654,0.255514556117,0.255607246231,0.255699933995,0.25579261941,0.255885302473,0.255977983184,0.256070661542,0.256163337546,0.256256011196,0.25634868249,0.256441351428,0.256534018009,0.256626682232,0.256719344096,0.2568120036,0.256904660743,0.256997315526,0.257089967946,0.257182618003,0.257275265696,0.257367911024,0.257460553986,0.257553194582,0.257645832811,0.257738468671,0.257831102162,0.257923733283,0.258016362034,0.258108988413,0.258201612419,0.258294234052,0.258386853311,0.258479470195,0.258572084703,0.258664696834,0.258757306588,0.258849913963,0.258942518959,0.259035121575,0.25912772181,0.259220319663,0.259312915133,0.25940550822,0.259498098922,0.259590687239,0.25968327317,0.259775856714,0.25986843787,0.259961016637,0.260053593015,0.260146167003,0.2602387386,0.260331307804,0.260423874615,0.260516439033,0.260609001056,0.260701560684,0.260794117915,0.260886672749,0.260979225186,0.261071775223,0.26116432286,0.261256868097,0.261349410933,0.261441951366,0.261534489397,0.261627025023,0.261719558244,0.26181208906,0.261904617469,0.261997143471,0.262089667065,0.262182188249,0.262274707024,0.262367223388,0.26245973734,0.26255224888,0.262644758006,0.262737264719,0.262829769016,0.262922270897,0.263014770362,0.263107267409,0.263199762037,0.263292254247,0.263384744036,0.263477231404,0.263569716351,0.263662198875,0.263754678975,0.263847156651,0.263939631901,0.264032104726,0.264124575124,0.264217043093,0.264309508635,0.264401971746,0.264494432428,0.264586890678,0.264679346496,0.264771799882,0.264864250833,0.26495669935,0.265049145432,0.265141589077,0.265234030286,0.265326469056,0.265418905387,0.265511339279,0.26560377073,0.26569619974,0.265788626308,0.265881050432,0.265973472113,0.266065891349,0.266158308139,0.266250722483,0.266343134379,0.266435543828,0.266527950827,0.266620355376,0.266712757475,0.266805157122,0.266897554317,0.266989949058,0.267082341345,0.267174731178,0.267267118554,0.267359503474,0.267451885937,0.267544265941,0.267636643486,0.26772901857,0.267821391194,0.267913761356,0.268006129056,0.268098494292,0.268190857063,0.26828321737,0.268375575211,0.268467930584,0.26856028349,0.268652633928,0.268744981896,0.268837327394,0.26892967042,0.269022010975,0.269114349057,0.269206684665,0.269299017799,0.269391348458,0.26948367664,0.269576002346,0.269668325573,0.269760646322,0.269852964591,0.269945280379,0.270037593687,0.270129904512,0.270222212854,0.270314518713,0.270406822087,0.270499122975,0.270591421377,0.270683717291,0.270776010718,0.270868301656,0.270960590104,0.271052876061,0.271145159527,0.2712374405,0.271329718981,0.271421994967,0.271514268459,0.271606539455,0.271698807954,0.271791073956,0.271883337459,0.271975598464,0.272067856969,0.272160112972,0.272252366475,0.272344617474,0.272436865971,0.272529111963,0.27262135545,0.272713596431,0.272805834906,0.272898070873,0.272990304331,0.273082535281,0.27317476372,0.273266989648,0.273359213064,0.273451433968,0.273543652358,0.273635868234,0.273728081595,0.27382029244,0.273912500767,0.274004706577,0.274096909869,0.274189110641,0.274281308892,0.274373504623,0.274465697831,0.274557888517,0.274650076679,0.274742262317,0.274834445429,0.274926626015,0.275018804074,0.275110979605,0.275203152607,0.275295323079,0.275387491021,0.275479656432,0.275571819311,0.275663979657,0.275756137468,0.275848292746,0.275940445487,0.276032595692,0.27612474336,0.27621688849,0.276309031081,0.276401171132,0.276493308643,0.276585443612,0.276677576039,0.276769705923,0.276861833262,0.276953958057,0.277046080306,0.277138200009,0.277230317164,0.277322431771,0.277414543828,0.277506653336,0.277598760293,0.277690864699,0.277782966552,0.277875065852,0.277967162597,0.278059256787,0.278151348422,0.2782434375,0.27833552402,0.278427607982,0.278519689385,0.278611768228,0.278703844509,0.278795918229,0.278887989387,0.27898005798,0.27907212401,0.279164187474,0.279256248372,0.279348306704,0.279440362467,0.279532415663,0.279624466288,0.279716514344,0.279808559828,0.279900602741,0.27999264308,0.280084680846,0.280176716038,0.280268748654,0.280360778694,0.280452806157,0.280544831042,0.280636853349,0.280728873076,0.280820890222,0.280912904788,0.281004916771,0.281096926171,0.281188932988,0.281280937219,0.281372938866,0.281464937926,0.281556934399,0.281648928284,0.28174091958,0.281832908286,0.281924894402,0.282016877926,0.282108858858,0.282200837197,0.282292812942,0.282384786093,0.282476756647,0.282568724606,0.282660689967,0.282752652729,0.282844612893,0.282936570457,0.28302852542,0.283120477782,0.283212427541,0.283304374697,0.283396319249,0.283488261197,0.283580200538,0.283672137273,0.2837640714,0.283856002919,0.283947931829,0.284039858129,0.284131781818,0.284223702895,0.28431562136,0.284407537211,0.284499450449,0.284591361071,0.284683269077,0.284775174466,0.284867077238,0.284958977392,0.285050874926,0.28514276984,0.285234662133,0.285326551805,0.285418438853,0.285510323278,0.285602205079,0.285694084255,0.285785960804,0.285877834727,0.285969706022,0.286061574688,0.286153440725,0.286245304132,0.286337164908,0.286429023051,0.286520878562,0.286612731439,0.286704581682,0.286796429289,0.286888274261,0.286980116595,0.287071956291,0.287163793349,0.287255627767,0.287347459545,0.287439288681,0.287531115176,0.287622939027,0.287714760235,0.287806578798,0.287898394715,0.287990207987,0.288082018611,0.288173826587,0.288265631915,0.288357434592,0.288449234619,0.288541031995,0.288632826719,0.288724618789,0.288816408206,0.288908194968,0.288999979074,0.289091760524,0.289183539317,0.289275315451,0.289367088927,0.289458859743,0.289550627898,0.289642393391,0.289734156223,0.289825916391,0.289917673895,0.290009428734,0.290101180908,0.290192930415,0.290284677254,0.290376421426,0.290468162928,0.290559901761,0.290651637922,0.290743371412,0.29083510223,0.290926830374,0.291018555844,0.291110278639,0.291201998759,0.291293716201,0.291385430966,0.291477143053,0.291568852461,0.291660559188,0.291752263235,0.2918439646,0.291935663282,0.292027359281,0.292119052596,0.292210743226,0.292302431169,0.292394116426,0.292485798996,0.292577478876,0.292669156068,0.292760830569,0.29285250238,0.292944171498,0.293035837924,0.293127501656,0.293219162694,0.293310821037,0.293402476684,0.293494129634,0.293585779886,0.293677427439,0.293769072293,0.293860714447,0.2939523539,0.29404399065,0.294135624698,0.294227256043,0.294318884683,0.294410510617,0.294502133846,0.294593754367,0.294685372181,0.294776987285,0.294868599681,0.294960209366,0.295051816339,0.295143420601,0.29523502215,0.295326620985,0.295418217106,0.295509810511,0.295601401199,0.295692989171,0.295784574425,0.29587615696,0.295967736775,0.29605931387,0.296150888244,0.296242459895,0.296334028823,0.296425595028,0.296517158508,0.296608719262,0.29670027729,0.296791832591,0.296883385164,0.296974935008,0.297066482122,0.297158026505,0.297249568157,0.297341107077,0.297432643264,0.297524176717,0.297615707435,0.297707235418,0.297798760664,0.297890283172,0.297981802943,0.298073319974,0.298164834266,0.298256345817,0.298347854627,0.298439360694,0.298530864018,0.298622364598,0.298713862433,0.298805357523,0.298896849865,0.298988339461,0.299079826308,0.299171310406,0.299262791754,0.299354270352,0.299445746198,0.299537219291,0.299628689631,0.299720157217,0.299811622048,0.299903084124,0.299994543442,0.300086000003,0.300177453806,0.30026890485,0.300360353133,0.300451798656,0.300543241417,0.300634681416,0.300726118651,0.300817553122,0.300908984828,0.301000413768,0.301091839941,0.301183263347,0.301274683984,0.301366101852,0.30145751695,0.301548929277,0.301640338833,0.301731745615,0.301823149625,0.301914550859,0.302005949319,0.302097345003,0.30218873791,0.302280128039,0.30237151539,0.302462899962,0.302554281753,0.302645660763,0.302737036992,0.302828410438,0.3029197811,0.303011148978,0.30310251407,0.303193876377,0.303285235897,0.303376592629,0.303467946572,0.303559297726,0.30365064609,0.303741991662,0.303833334443,0.303924674431,0.304016011625,0.304107346025,0.30419867763,0.304290006438,0.30438133245,0.304472655663,0.304563976079,0.304655293694,0.304746608509,0.304837920523,0.304929229735,0.305020536145,0.30511183975,0.305203140551,0.305294438547,0.305385733736,0.305477026119,0.305568315693,0.305659602459,0.305750886415,0.305842167561,0.305933445896,0.306024721418,0.306115994128,0.306207264024,0.306298531105,0.306389795371,0.30648105682,0.306572315453,0.306663571267,0.306754824263,0.306846074439,0.306937321795,0.307028566329,0.307119808042,0.307211046931,0.307302282996,0.307393516237,0.307484746652,0.307575974241,0.307667199003,0.307758420937,0.307849640042,0.307940856317,0.308032069761,0.308123280375,0.308214488156,0.308305693104,0.308396895218,0.308488094498,0.308579290942,0.308670484549,0.308761675319,0.308852863252,0.308944048345,0.309035230598,0.309126410011,0.309217586583,0.309308760312,0.309399931198,0.309491099241,0.309582264438,0.30967342679,0.309764586295,0.309855742954,0.309946896764,0.310038047725,0.310129195836,0.310220341096,0.310311483506,0.310402623062,0.310493759766,0.310584893616,0.31067602461,0.31076715275,0.310858278032,0.310949400458,0.311040520025,0.311131636733,0.311222750581,0.311313861569,0.311404969695,0.311496074958,0.311587177359,0.311678276895,0.311769373567,0.311860467372,0.311951558312,0.312042646384,0.312133731587,0.312224813922,0.312315893386,0.31240696998,0.312498043703,0.312589114553,0.312680182529,0.312771247632,0.31286230986,0.312953369212,0.313044425687,0.313135479285,0.313226530004,0.313317577845,0.313408622805,0.313499664885,0.313590704083,0.313681740399,0.313772773831,0.31386380438,0.313954832043,0.31404585682,0.314136878711,0.314227897714,0.314318913829,0.314409927055,0.314500937391,0.314591944836,0.31468294939,0.314773951051,0.314864949818,0.314955945692,0.31504693867,0.315137928753,0.315228915938,0.315319900227,0.315410881617,0.315501860108,0.315592835698,0.315683808388,0.315774778176,0.315865745062,0.315956709045,0.316047670123,0.316138628296,0.316229583563,0.316320535923,0.316411485376,0.316502431921,0.316593375556,0.316684316281,0.316775254096,0.316866188998,0.316957120989,0.317048050065,0.317138976228,0.317229899475,0.317320819806,0.317411737221,0.317502651718,0.317593563297,0.317684471956,0.317775377696,0.317866280514,0.317957180411,0.318048077385,0.318138971436,0.318229862562,0.318320750763,0.318411636039,0.318502518387,0.318593397808,0.318684274301,0.318775147864,0.318866018497,0.318956886199,0.31904775097,0.319138612808,0.319229471712,0.319320327682,0.319411180717,0.319502030816,0.319592877978,0.319683722203,0.319774563489,0.319865401836,0.319956237242,0.320047069708,0.320137899232,0.320228725813,0.320319549451,0.320410370144,0.320501187893,0.320592002695,0.320682814551,0.320773623458,0.320864429418,0.320955232428,0.321046032488,0.321136829597,0.321227623754,0.321318414958,0.321409203209,0.321499988506,0.321590770847,0.321681550233,0.321772326662,0.321863100133,0.321953870645,0.322044638198,0.322135402791,0.322226164423,0.322316923094,0.322407678801,0.322498431545,0.322589181325,0.322679928139,0.322770671988,0.322861412869,0.322952150783,0.323042885729,0.323133617705,0.323224346711,0.323315072746,0.323405795809,0.3234965159,0.323587233016,0.323677947159,0.323768658326,0.323859366518,0.323950071732,0.324040773969,0.324131473228,0.324222169507,0.324312862805,0.324403553123,0.324494240459,0.324584924813,0.324675606182,0.324766284568,0.324856959968,0.324947632382,0.32503830181,0.325128968249,0.3252196317,0.325310292162,0.325400949634,0.325491604115,0.325582255603,0.325672904099,0.325763549602,0.32585419211,0.325944831623,0.32603546814,0.326126101661,0.326216732183,0.326307359707,0.326397984232,0.326488605756,0.32657922428,0.326669839801,0.32676045232,0.326851061836,0.326941668347,0.327032271853,0.327122872352,0.327213469845,0.327304064331,0.327394655808,0.327485244275,0.327575829733,0.327666412179,0.327756991613,0.327847568035,0.327938141443,0.328028711837,0.328119279216,0.328209843579,0.328300404925,0.328390963253,0.328481518563,0.328572070854,0.328662620124,0.328753166373,0.328843709601,0.328934249806,0.329024786987,0.329115321144,0.329205852276,0.329296380382,0.329386905461,0.329477427512,0.329567946535,0.329658462529,0.329748975492,0.329839485424,0.329929992325,0.330020496193,0.330110997028,0.330201494828,0.330291989593,0.330382481322,0.330472970014,0.330563455669,0.330653938285,0.330744417862,0.330834894399,0.330925367895,0.331015838349,0.33110630576,0.331196770128,0.331287231451,0.33137768973,0.331468144962,0.331558597148,0.331649046286,0.331739492376,0.331829935416,0.331920375407,0.332010812346,0.332101246234,0.332191677069,0.33228210485,0.332372529578,0.33246295125,0.332553369866,0.332643785426,0.332734197927,0.332824607371,0.332915013755,0.333005417079,0.333095817343,0.333186214544,0.333276608683,0.333366999759,0.33345738777,0.333547772716,0.333638154596,0.33372853341,0.333818909156,0.333909281834,0.333999651442,0.33409001798,0.334180381448,0.334270741844,0.334361099167,0.334451453417,0.334541804592,0.334632152693,0.334722497718,0.334812839666,0.334903178536,0.334993514328,0.335083847041,0.335174176674,0.335264503226,0.335354826697,0.335445147085,0.335535464389,0.335625778609,0.335716089745,0.335806397794,0.335896702757,0.335987004633,0.33607730342,0.336167599118,0.336257891726,0.336348181243,0.336438467668,0.336528751001,0.336619031241,0.336709308387,0.336799582437,0.336889853392,0.33698012125,0.337070386011,0.337160647674,0.337250906237,0.337341161701,0.337431414063,0.337521663324,0.337611909483,0.337702152538,0.33779239249,0.337882629336,0.337972863077,0.338063093711,0.338153321238,0.338243545656,0.338333766966,0.338423985165,0.338514200254,0.338604412231,0.338694621096,0.338784826848,0.338875029485,0.338965229008,0.339055425415,0.339145618705,0.339235808879,0.339325995934,0.33941617987,0.339506360686,0.339596538381,0.339686712955,0.339776884407,0.339867052735,0.33995721794,0.340047380019,0.340137538974,0.340227694801,0.340317847501,0.340407997074,0.340498143517,0.34058828683,0.340678427013,0.340768564064,0.340858697983,0.340948828769,0.341038956421,0.341129080939,0.34121920232,0.341309320566,0.341399435674,0.341489547644,0.341579656475,0.341669762166,0.341759864717,0.341849964126,0.341940060393,0.342030153518,0.342120243498,0.342210330333,0.342300414024,0.342390494567,0.342480571964,0.342570646212,0.342660717312,0.342750785262,0.342840850062,0.34293091171,0.343020970206,0.343111025549,0.343201077738,0.343291126773,0.343381172652,0.343471215375,0.343561254941,0.343651291349,0.343741324598,0.343831354687,0.343921381616,0.344011405384,0.34410142599,0.344191443433,0.344281457712,0.344371468826,0.344461476776,0.344551481559,0.344641483174,0.344731481622,0.344821476902,0.344911469012,0.345001457951,0.345091443719,0.345181426316,0.345271405739,0.345361381989,0.345451355064,0.345541324964,0.345631291688,0.345721255235,0.345811215604,0.345901172794,0.345991126805,0.346081077636,0.346171025285,0.346260969753,0.346350911038,0.346440849139,0.346530784056,0.346620715788,0.346710644334,0.346800569692,0.346890491863,0.346980410846,0.347070326639,0.347160239242,0.347250148654,0.347340054874,0.347429957901,0.347519857735,0.347609754375,0.347699647819,0.347789538067,0.347879425119,0.347969308973,0.348059189629,0.348149067085,0.348238941341,0.348328812396,0.348418680249,0.3485085449,0.348598406348,0.348688264591,0.348778119629,0.348867971461,0.348957820087,0.349047665505,0.349137507714,0.349227346714,0.349317182505,0.349407015084,0.349496844452,0.349586670607,0.349676493549,0.349766313277,0.34985612979,0.349945943087,0.350035753168,0.350125560031,0.350215363675,0.350305164101,0.350394961307,0.350484755292,0.350574546055,0.350664333596,0.350754117913,0.350843899007,0.350933676876,0.351023451519,0.351113222935,0.351202991125,0.351292756086,0.351382517818,0.35147227632,0.351562031591,0.351651783631,0.351741532439,0.351831278013,0.351921020354,0.35201075946,0.35210049533,0.352190227964,0.35227995736,0.352369683519,0.352459406438,0.352549126118,0.352638842557,0.352728555755,0.352818265711,0.352907972424,0.352997675892,0.353087376116,0.353177073095,0.353266766827,0.353356457312,0.353446144549,0.353535828538,0.353625509277,0.353715186765,0.353804861002,0.353894531987,0.353984199719,0.354073864197,0.35416352542,0.354253183389,0.354342838101,0.354432489556,0.354522137753,0.354611782691,0.35470142437,0.354791062789,0.354880697946,0.354970329842,0.355059958474,0.355149583843,0.355239205948,0.355328824787,0.35541844036,0.355508052666,0.355597661705,0.355687267475,0.355776869975,0.355866469205,0.355956065165,0.356045657852,0.356135247267,0.356224833408,0.356314416274,0.356403995866,0.356493572182,0.35658314522,0.356672714982,0.356762281464,0.356851844668,0.356941404591,0.357030961233,0.357120514594,0.357210064672,0.357299611467,0.357389154977,0.357478695203,0.357568232142,0.357657765795,0.35774729616,0.357836823237,0.357926347025,0.358015867523,0.35810538473,0.358194898645,0.358284409268,0.358373916598,0.358463420634,0.358552921374,0.358642418819,0.358731912968,0.358821403819,0.358910891371,0.359000375625,0.359089856579,0.359179334232,0.359268808584,0.359358279633,0.35944774738,0.359537211822,0.359626672959,0.359716130791,0.359805585317,0.359895036535,0.359984484445,0.360073929046,0.360163370338,0.360252808319,0.360342242988,0.360431674346,0.36052110239,0.360610527121,0.360699948537,0.360789366637,0.360878781421,0.360968192888,0.361057601037,0.361147005867,0.361236407378,0.361325805568,0.361415200438,0.361504591985,0.361593980209,0.361683365109,0.361772746685,0.361862124936,0.36195149986,0.362040871458,0.362130239727,0.362219604668,0.36230896628,0.362398324561,0.362487679511,0.36257703113,0.362666379415,0.362755724367,0.362845065985,0.362934404268,0.363023739214,0.363113070824,0.363202399096,0.363291724029,0.363381045623,0.363470363877,0.36355967879,0.363648990362,0.363738298591,0.363827603476,0.363916905017,0.364006203213,0.364095498064,0.364184789567,0.364274077723,0.364363362531,0.364452643989,0.364541922098,0.364631196856,0.364720468262,0.364809736316,0.364899001016,0.364988262363,0.365077520354,0.36516677499,0.365256026269,0.365345274191,0.365434518755,0.36552375996,0.365612997805,0.365702232289,0.365791463412,0.365880691173,0.36596991557,0.366059136604,0.366148354272,0.366237568576,0.366326779513,0.366415987082,0.366505191284,0.366594392117,0.36668358958,0.366772783673,0.366861974394,0.366951161743,0.36704034572,0.367129526322,0.36721870355,0.367307877403,0.367397047879,0.367486214979,0.3675753787,0.367664539043,0.367753696007,0.36784284959,0.367931999792,0.368021146612,0.368110290049,0.368199430102,0.368288566771,0.368377700055,0.368466829953,0.368555956464,0.368645079588,0.368734199323,0.368823315668,0.368912428624,0.369001538188,0.369090644361,0.369179747141,0.369268846527,0.36935794252,0.369447035117,0.369536124318,0.369625210123,0.36971429253,0.369803371539,0.369892447149,0.369981519359,0.370070588168,0.370159653575,0.37024871558,0.370337774182,0.370426829379,0.370515881172,0.370604929559,0.37069397454,0.370783016113,0.370872054278,0.370961089034,0.37105012038,0.371139148316,0.37122817284,0.371317193952,0.371406211651,0.371495225936,0.371584236806,0.371673244261,0.371762248299,0.37185124892,0.371940246124,0.372029239908,0.372118230273,0.372207217218,0.372296200741,0.372385180842,0.37247415752,0.372563130775,0.372652100605,0.37274106701,0.372830029988,0.37291898954,0.373007945663,0.373096898359,0.373185847624,0.37327479346,0.373363735864,0.373452674837,0.373541610377,0.373630542483,0.373719471155,0.373808396392,0.373897318193,0.373986236557,0.374075151483,0.374164062971,0.37425297102,0.374341875629,0.374430776797,0.374519674523,0.374608568807,0.374697459647,0.374786347044,0.374875230995,0.374964111501,0.37505298856,0.375141862171,0.375230732334,0.375319599049,0.375408462313,0.375497322127,0.375586178489,0.375675031399,0.375763880856,0.375852726859,0.375941569407,0.3760304085,0.376119244136,0.376208076315,0.376296905036,0.376385730298,0.3764745521,0.376563370442,0.376652185323,0.376740996741,0.376829804697,0.376918609189,0.377007410216,0.377096207778,0.377185001874,0.377273792503,0.377362579664,0.377451363356,0.377540143579,0.377628920332,0.377717693613,0.377806463423,0.37789522976,0.377983992623,0.378072752012,0.378161507926,0.378250260364,0.378339009325,0.378427754809,0.378516496814,0.37860523534,0.378693970385,0.37878270195,0.378871430034,0.378960154634,0.379048875752,0.379137593385,0.379226307533,0.379315018196,0.379403725372,0.37949242906,0.37958112926,0.379669825972,0.379758519193,0.379847208924,0.379935895163,0.38002457791,0.380113257164,0.380201932924,0.38029060519,0.380379273959,0.380467939233,0.380556601009,0.380645259287,0.380733914067,0.380822565346,0.380911213126,0.380999857404,0.38108849818,0.381177135453,0.381265769222,0.381354399487,0.381443026247,0.3815316495,0.381620269247,0.381708885485,0.381797498215,0.381886107436,0.381974713147,0.382063315346,0.382151914034,0.382240509209,0.38232910087,0.382417689017,0.382506273649,0.382594854766,0.382683432365,0.382772006447,0.382860577011,0.382949144055,0.383037707579,0.383126267583,0.383214824065,0.383303377024,0.383391926461,0.383480472373,0.38356901476,0.383657553622,0.383746088957,0.383834620765,0.383923149045,0.384011673796,0.384100195017,0.384188712707,0.384277226867,0.384365737494,0.384454244587,0.384542748148,0.384631248173,0.384719744663,0.384808237617,0.384896727034,0.384985212912,0.385073695252,0.385162174053,0.385250649313,0.385339121032,0.38542758921,0.385516053844,0.385604514935,0.385692972481,0.385781426482,0.385869876938,0.385958323846,0.386046767207,0.386135207019,0.386223643282,0.386312075995,0.386400505157,0.386488930767,0.386577352825,0.386665771329,0.38675418628,0.386842597675,0.386931005514,0.387019409797,0.387107810523,0.38719620769,0.387284601299,0.387372991347,0.387461377835,0.387549760761,0.387638140125,0.387726515926,0.387814888164,0.387903256836,0.387991621943,0.388079983483,0.388168341457,0.388256695862,0.388345046699,0.388433393966,0.388521737663,0.388610077788,0.388698414342,0.388786747322,0.388875076729,0.388963402562,0.389051724819,0.3891400435,0.389228358604,0.389316670131,0.389404978079,0.389493282448,0.389581583236,0.389669880444,0.38975817407,0.389846464113,0.389934750573,0.390023033449,0.39011131274,0.390199588444,0.390287860563,0.390376129094,0.390464394036,0.39055265539,0.390640913153,0.390729167326,0.390817417908,0.390905664897,0.390993908293,0.391082148095,0.391170384302,0.391258616914,0.391346845929,0.391435071348,0.391523293168,0.391611511389,0.391699726011,0.391787937033,0.391876144453,0.391964348271,0.392052548486,0.392140745098,0.392228938105,0.392317127507,0.392405313303,0.392493495492,0.392581674073,0.392669849046,0.392758020409,0.392846188162,0.392934352304,0.393022512835,0.393110669753,0.393198823057,0.393286972747,0.393375118823,0.393463261282,0.393551400125,0.39363953535,0.393727666957,0.393815794945,0.393903919314,0.393992040061,0.394080157187,0.394168270691,0.394256380571,0.394344486828,0.39443258946,0.394520688466,0.394608783847,0.394696875599,0.394784963724,0.394873048221,0.394961129087,0.395049206323,0.395137279928,0.395225349901,0.395313416241,0.395401478948,0.39548953802,0.395577593457,0.395665645257,0.395753693421,0.395841737947,0.395929778835,0.396017816083,0.396105849692,0.396193879659,0.396281905985,0.396369928668,0.396457947707,0.396545963103,0.396633974854,0.396721982958,0.396809987417,0.396897988228,0.39698598539,0.397073978904,0.397161968768,0.397249954981,0.397337937543,0.397425916452,0.397513891709,0.397601863311,0.397689831259,0.397777795552,0.397865756188,0.397953713167,0.398041666488,0.39812961615,0.398217562153,0.398305504496,0.398393443177,0.398481378197,0.398569309554,0.398657237247,0.398745161276,0.398833081639,0.398920998337,0.399008911368,0.399096820731,0.399184726426,0.399272628452,0.399360526807,0.399448421492,0.399536312505,0.399624199846,0.399712083513,0.399799963506,0.399887839825,0.399975712468,0.400063581434,0.400151446723,0.400239308334,0.400327166266,0.400415020518,0.40050287109,0.40059071798,0.400678561188,0.400766400714,0.400854236555,0.400942068712,0.401029897184,0.401117721969,0.401205543067,0.401293360478,0.4013811742,0.401468984233,0.401556790575,0.401644593226,0.401732392186,0.401820187453,0.401907979026,0.401995766905,0.40208355109,0.402171331578,0.402259108369,0.402346881464,0.402434650859,0.402522416556,0.402610178553,0.402697936849,0.402785691444,0.402873442336,0.402961189525,0.40304893301,0.403136672791,0.403224408866,0.403312141235,0.403399869896,0.403487594849,0.403575316094,0.403663033629,0.403750747454,0.403838457568,0.403926163969,0.404013866658,0.404101565633,0.404189260894,0.404276952439,0.404364640269,0.404452324382,0.404540004777,0.404627681453,0.40471535441,0.404803023648,0.404890689164,0.404978350959,0.405066009031,0.40515366338,0.405241314005,0.405328960905,0.405416604079,0.405504243527,0.405591879248,0.40567951124,0.405767139503,0.405854764037,0.40594238484,0.406030001912,0.406117615252,0.406205224859,0.406292830732,0.40638043287,0.406468031273,0.40655562594,0.40664321687,0.406730804063,0.406818387516,0.40690596723,0.406993543204,0.407081115438,0.407168683929,0.407256248677,0.407343809683,0.407431366944,0.40751892046,0.40760647023,0.407694016253,0.407781558529,0.407869097057,0.407956631836,0.408044162865,0.408131690143,0.40821921367,0.408306733445,0.408394249466,0.408481761734,0.408569270247,0.408656775004,0.408744276005,0.40883177325,0.408919266736,0.409006756463,0.409094242431,0.409181724639,0.409269203086,0.40935667777,0.409444148692,0.409531615851,0.409619079245,0.409706538874,0.409793994737,0.409881446833,0.409968895162,0.410056339722,0.410143780514,0.410231217535,0.410318650785,0.410406080264,0.410493505971,0.410580927905,0.410668346064,0.410755760449,0.410843171058,0.410930577891,0.411017980946,0.411105380224,0.411192775723,0.411280167442,0.411367555381,0.411454939538,0.411542319914,0.411629696507,0.411717069316,0.41180443834,0.41189180358,0.411979165034,0.4120665227,0.412153876579,0.41224122667,0.412328572971,0.412415915483,0.412503254203,0.412590589132,0.412677920268,0.412765247612,0.412852571161,0.412939890915,0.413027206874,0.413114519036,0.413201827401,0.413289131968,0.413376432736,0.413463729704,0.413551022872,0.413638312238,0.413725597803,0.413812879565,0.413900157523,0.413987431676,0.414074702024,0.414161968566,0.414249231301,0.414336490229,0.414423745348,0.414510996658,0.414598244157,0.414685487846,0.414772727723,0.414859963788,0.414947196039,0.415034424476,0.415121649098,0.415208869905,0.415296086895,0.415383300068,0.415470509422,0.415557714958,0.415644916674,0.415732114569,0.415819308643,0.415906498895,0.415993685324,0.41608086793,0.41616804671,0.416255221666,0.416342392795,0.416429560098,0.416516723572,0.416603883218,0.416691039035,0.416778191022,0.416865339178,0.416952483502,0.417039623993,0.417126760651,0.417213893475,0.417301022464,0.417388147618,0.417475268935,0.417562386414,0.417649500055,0.417736609858,0.41782371582,0.417910817942,0.417997916223,0.418085010662,0.418172101257,0.418259188009,0.418346270916,0.418433349978,0.418520425194,0.418607496563,0.418694564084,0.418781627757,0.41886868758,0.418955743553,0.419042795675,0.419129843945,0.419216888363,0.419303928928,0.419390965638,0.419477998493,0.419565027493,0.419652052636,0.419739073922,0.419826091349,0.419913104918,0.420000114627,0.420087120475,0.420174122462,0.420261120587,0.420348114849,0.420435105247,0.42052209178,0.420609074448,0.42069605325,0.420783028186,0.420869999253,0.420956966452,0.421043929781,0.42113088924,0.421217844829,0.421304796545,0.42139174439,0.42147868836,0.421565628457,0.421652564679,0.421739497024,0.421826425494,0.421913350086,0.4220002708,0.422087187635,0.42217410059,0.422261009665,0.422347914858,0.422434816169,0.422521713598,0.422608607142,0.422695496802,0.422782382577,0.422869264466,0.422956142467,0.423043016581,0.423129886807,0.423216753143,0.423303615589,0.423390474144,0.423477328807,0.423564179578,0.423651026456,0.423737869439,0.423824708528,0.42391154372,0.423998375017,0.424085202416,0.424172025917,0.424258845519,0.424345661221,0.424432473023,0.424519280923,0.424606084922,0.424692885017,0.424779681209,0.424866473496,0.424953261879,0.425040046355,0.425126826924,0.425213603585,0.425300376338,0.425387145182,0.425473910116,0.425560671138,0.42564742825,0.425734181448,0.425820930734,0.425907676105,0.425994417562,0.426081155102,0.426167888727,0.426254618434,0.426341344223,0.426428066093,0.426514784044,0.426601498074,0.426688208183,0.42677491437,0.426861616634,0.426948314975,0.427035009391,0.427121699882,0.427208386447,0.427295069085,0.427381747795,0.427468422577,0.42755509343,0.427641760353,0.427728423345,0.427815082406,0.427901737534,0.427988388729,0.42807503599,0.428161679316,0.428248318707,0.428334954161,0.428421585678,0.428508213257,0.428594836897,0.428681456598,0.428768072359,0.428854684178,0.428941292055,0.42902789599,0.429114495981,0.429201092028,0.42928768413,0.429374272285,0.429460856494,0.429547436756,0.429634013069,0.429720585433,0.429807153847,0.429893718311,0.429980278823,0.430066835383,0.430153387989,0.430239936642,0.43032648134,0.430413022083,0.430499558869,0.430586091698,0.43067262057,0.430759145483,0.430845666436,0.430932183429,0.431018696461,0.431105205531,0.431191710639,0.431278211783,0.431364708963,0.431451202178,0.431537691427,0.43162417671,0.431710658025,0.431797135372,0.43188360875,0.431970078158,0.432056543596,0.432143005062,0.432229462556,0.432315916077,0.432402365625,0.432488811198,0.432575252795,0.432661690416,0.432748124061,0.432834553727,0.432920979416,0.433007401124,0.433093818853,0.433180232601,0.433266642367,0.433353048151,0.433439449951,0.433525847767,0.433612241599,0.433698631444,0.433785017304,0.433871399176,0.43395777706,0.434044150955,0.43413052086,0.434216886775,0.434303248699,0.434389606631,0.43447596057,0.434562310515,0.434648656466,0.434734998422,0.434821336381,0.434907670344,0.43499400031,0.435080326277,0.435166648245,0.435252966213,0.43533928018,0.435425590145,0.435511896108,0.435598198069,0.435684496025,0.435770789976,0.435857079922,0.435943365862,0.436029647794,0.436115925719,0.436202199635,0.436288469542,0.436374735438,0.436460997323,0.436547255196,0.436633509057,0.436719758904,0.436806004737,0.436892246555,0.436978484357,0.437064718143,0.437150947911,0.437237173661,0.437323395392,0.437409613103,0.437495826794,0.437582036463,0.43766824211,0.437754443734,0.437840641334,0.43792683491,0.438013024461,0.438099209985,0.438185391483,0.438271568952,0.438357742394,0.438443911806,0.438530077188,0.438616238539,0.438702395858,0.438788549145,0.438874698398,0.438960843618,0.439046984803,0.439133121952,0.439219255065,0.43930538414,0.439391509178,0.439477630176,0.439563747135,0.439649860054,0.439735968932,0.439822073767,0.43990817456,0.43999427131,0.440080364015,0.440166452675,0.440252537288,0.440338617856,0.440424694375,0.440510766847,0.440596835269,0.440682899642,0.440768959964,0.440855016234,0.440941068452,0.441027116617,0.441113160729,0.441199200785,0.441285236787,0.441371268732,0.44145729662,0.44154332045,0.441629340222,0.441715355934,0.441801367586,0.441887375178,0.441973378707,0.442059378174,0.442145373578,0.442231364918,0.442317352192,0.442403335401,0.442489314544,0.442575289619,0.442661260626,0.442747227565,0.442833190433,0.442919149232,0.443005103959,0.443091054614,0.443177001196,0.443262943705,0.443348882139,0.443434816498,0.443520746781,0.443606672988,0.443692595117,0.443778513167,0.443864427139,0.44395033703,0.444036242841,0.44412214457,0.444208042218,0.444293935782,0.444379825262,0.444465710657,0.444551591967,0.444637469191,0.444723342328,0.444809211377,0.444895076338,0.444980937209,0.44506679399,0.44515264668,0.445238495278,0.445324339783,0.445410180196,0.445496016514,0.445581848737,0.445667676865,0.445753500896,0.44583932083,0.445925136666,0.446010948403,0.44609675604,0.446182559577,0.446268359013,0.446354154346,0.446439945577,0.446525732705,0.446611515728,0.446697294645,0.446783069457,0.446868840162,0.44695460676,0.447040369249,0.447126127629,0.4472118819,0.447297632059,0.447383378108,0.447469120043,0.447554857866,0.447640591575,0.44772632117,0.447812046649,0.447897768012,0.447983485257,0.448069198386,0.448154907395,0.448240612285,0.448326313055,0.448412009704,0.448497702232,0.448583390637,0.448669074918,0.448754755076,0.448840431109,0.448926103016,0.449011770796,0.44909743445,0.449183093975,0.449268749372,0.449354400639,0.449440047776,0.449525690781,0.449611329655,0.449696964395,0.449782595003,0.449868221476,0.449953843814,0.450039462016,0.450125076081,0.450210686009,0.450296291799,0.450381893449,0.45046749096,0.45055308433,0.450638673559,0.450724258646,0.45080983959,0.45089541639,0.450980989045,0.451066557555,0.451152121919,0.451237682136,0.451323238206,0.451408790127,0.451494337898,0.45157988152,0.451665420991,0.45175095631,0.451836487477,0.451922014491,0.45200753735,0.452093056055,0.452178570605,0.452264080998,0.452349587234,0.452435089312,0.452520587231,0.452606080991,0.452691570591,0.452777056029,0.452862537306,0.45294801442,0.453033487371,0.453118956157,0.453204420779,0.453289881235,0.453375337524,0.453460789646,0.4535462376,0.453631681385,0.453717121,0.453802556445,0.453887987718,0.45397341482,0.454058837749,0.454144256504,0.454229671084,0.45431508149,0.454400487719,0.454485889772,0.454571287647,0.454656681344,0.454742070862,0.4548274562,0.454912837357,0.454998214333,0.455083587126,0.455168955737,0.455254320163,0.455339680406,0.455425036462,0.455510388333,0.455595736016,0.455681079512,0.455766418819,0.455851753937,0.455937084865,0.456022411602,0.456107734148,0.456193052501,0.45627836666,0.456363676626,0.456448982397,0.456534283972,0.456619581351,0.456704874533,0.456790163517,0.456875448302,0.456960728888,0.457046005273,0.457131277457,0.45721654544,0.457301809219,0.457387068796,0.457472324168,0.457557575335,0.457642822297,0.457728065051,0.457813303599,0.457898537938,0.457983768069,0.45806899399,0.4581542157,0.458239433199,0.458324646486,0.45840985556,0.458495060421,0.458580261067,0.458665457498,0.458750649713,0.458835837712,0.458921021492,0.459006201055,0.459091376398,0.459176547522,0.459261714425,0.459346877106,0.459432035566,0.459517189802,0.459602339814,0.459687485602,0.459772627165,0.459857764501,0.459942897611,0.460028026493,0.460113151146,0.46019827157,0.460283387764,0.460368499727,0.460453607459,0.460538710958,0.460623810224,0.460708905256,0.460793996054,0.460879082616,0.460964164941,0.46104924303,0.46113431688,0.461219386492,0.461304451865,0.461389512997,0.461474569888,0.461559622538,0.461644670945,0.461729715108,0.461814755028,0.461899790702,0.461984822131,0.462069849314,0.462154872249,0.462239890936,0.462324905375,0.462409915563,0.462494921502,0.462579923189,0.462664920624,0.462749913807,0.462834902736,0.462919887411,0.463004867831,0.463089843995,0.463174815902,0.463259783552,0.463344746944,0.463429706076,0.463514660949,0.463599611562,0.463684557913,0.463769500002,0.463854437828,0.463939371391,0.464024300689,0.464109225722,0.464194146489,0.464279062989,0.464363975222,0.464448883186,0.464533786881,0.464618686306,0.464703581461,0.464788472344,0.464873358955,0.464958241293,0.465043119357,0.465127993146,0.46521286266,0.465297727898,0.46538258886,0.465467445543,0.465552297948,0.465637146073,0.465721989919,0.465806829484,0.465891664767,0.465976495768,0.466061322486,0.466146144919,0.466230963068,0.466315776932,0.466400586509,0.466485391799,0.466570192802,0.466654989516,0.46673978194,0.466824570074,0.466909353917,0.466994133469,0.467078908728,0.467163679694,0.467248446365,0.467333208742,0.467417966823,0.467502720608,0.467587470095,0.467672215285,0.467756956176,0.467841692767,0.467926425058,0.468011153048,0.468095876736,0.468180596122,0.468265311204,0.468350021982,0.468434728455,0.468519430622,0.468604128483,0.468688822036,0.468773511281,0.468858196217,0.468942876844,0.46902755316,0.469112225165,0.469196892859,0.469281556239,0.469366215306,0.469450870058,0.469535520496,0.469620166617,0.469704808422,0.46978944591,0.469874079079,0.469958707929,0.47004333246,0.47012795267,0.470212568558,0.470297180125,0.470381787369,0.470466390289,0.470550988884,0.470635583155,0.470720173099,0.470804758717,0.470889340007,0.470973916969,0.471058489601,0.471143057904,0.471227621877,0.471312181517,0.471396736826,0.471481287802,0.471565834443,0.471650376751,0.471734914723,0.471819448359,0.471903977658,0.471988502619,0.472073023242,0.472157539526,0.47224205147,0.472326559073,0.472411062335,0.472495561254,0.47258005583,0.472664546063,0.47274903195,0.472833513493,0.472917990689,0.473002463538,0.473086932039,0.473171396192,0.473255855996,0.47334031145,0.473424762552,0.473509209303,0.473593651702,0.473678089748,0.473762523439,0.473846952776,0.473931377757,0.474015798383,0.474100214651,0.474184626561,0.474269034112,0.474353437305,0.474437836137,0.474522230608,0.474606620717,0.474691006464,0.474775387848,0.474859764868,0.474944137522,0.475028505812,0.475112869735,0.47519722929,0.475281584478,0.475365935297,0.475450281747,0.475534623827,0.475618961535,0.475703294872,0.475787623836,0.475871948427,0.475956268643,0.476040584485,0.476124895951,0.476209203041,0.476293505753,0.476377804088,0.476462098044,0.47654638762,0.476630672816,0.47671495363,0.476799230063,0.476883502114,0.47696776978,0.477052033063,0.477136291961,0.477220546473,0.477304796598,0.477389042337,0.477473283687,0.477557520648,0.47764175322,0.477725981401,0.477810205191,0.477894424589,0.477978639595,0.478062850207,0.478147056425,0.478231258248,0.478315455675,0.478399648705,0.478483837338,0.478568021573,0.478652201409,0.478736376845,0.478820547881,0.478904714516,0.478988876749,0.479073034579,0.479157188005,0.479241337027,0.479325481644,0.479409621856,0.47949375766,0.479577889057,0.479662016046,0.479746138626,0.479830256797,0.479914370556,0.479998479905,0.480082584841,0.480166685365,0.480250781475,0.480334873171,0.480418960451,0.480503043316,0.480587121764,0.480671195795,0.480755265407,0.4808393306,0.480923391374,0.481007447727,0.481091499659,0.481175547168,0.481259590255,0.481343628918,0.481427663157,0.48151169297,0.481595718358,0.481679739319,0.481763755852,0.481847767957,0.481931775633,0.482015778879,0.482099777695,0.482183772079,0.482267762031,0.482351747551,0.482435728636,0.482519705287,0.482603677503,0.482687645283,0.482771608626,0.482855567532,0.482939521999,0.483023472027,0.483107417616,0.483191358763,0.48327529547,0.483359227734,0.483443155555,0.483527078933,0.483610997866,0.483694912354,0.483778822396,0.483862727991,0.483946629138,0.484030525837,0.484114418087,0.484198305888,0.484282189237,0.484366068135,0.484449942581,0.484533812574,0.484617678113,0.484701539198,0.484785395827,0.484869248001,0.484953095717,0.485036938976,0.485120777777,0.485204612119,0.485288442,0.485372267421,0.485456088381,0.485539904878,0.485623716912,0.485707524483,0.485791327589,0.48587512623,0.485958920404,0.486042710112,0.486126495353,0.486210276124,0.486294052427,0.48637782426,0.486461591622,0.486545354513,0.486629112932,0.486712866877,0.486796616349,0.486880361346,0.486964101868,0.487047837914,0.487131569483,0.487215296574,0.487299019187,0.487382737321,0.487466450975,0.487550160148,0.48763386484,0.48771756505,0.487801260776,0.487884952019,0.487968638778,0.488052321051,0.488135998838,0.488219672138,0.48830334095,0.488387005274,0.488470665109,0.488554320454,0.488637971309,0.488721617671,0.488805259542,0.48888889692,0.488972529804,0.489056158193,0.489139782087,0.489223401485,0.489307016386,0.48939062679,0.489474232695,0.489557834101,0.489641431007,0.489725023413,0.489808611317,0.489892194719,0.489975773617,0.490059348012,0.490142917903,0.490226483288,0.490310044167,0.49039360054,0.490477152405,0.490560699761,0.490644242608,0.490727780946,0.490811314773,0.490894844088,0.490978368891,0.491061889181,0.491145404957,0.491228916219,0.491312422966,0.491395925197,0.49147942291,0.491562916107,0.491646404784,0.491729888943,0.491813368582,0.4918968437,0.491980314297,0.492063780372,0.492147241923,0.492230698951,0.492314151455,0.492397599433,0.492481042886,0.492564481811,0.492647916209,0.492731346079,0.492814771419,0.49289819223,0.49298160851,0.493065020259,0.493148427475,0.493231830159,0.493315228309,0.493398621924,0.493482011004,0.493565395549,0.493648775556,0.493732151026,0.493815521958,0.493898888351,0.493982250204,0.494065607516,0.494148960287,0.494232308516,0.494315652202,0.494398991344,0.494482325942,0.494565655995,0.494648981502,0.494732302462,0.494815618875,0.494898930739,0.494982238054,0.49506554082,0.495148839035,0.495232132699,0.495315421811,0.49539870637,0.495481986375,0.495565261826,0.495648532722,0.495731799061,0.495815060845,0.495898318071,0.495981570738,0.496064818847,0.496148062396,0.496231301384,0.496314535811,0.496397765677,0.496480990979,0.496564211718,0.496647427893,0.496730639502,0.496813846546,0.496897049023,0.496980246932,0.497063440274,0.497146629046,0.497229813249,0.497312992882,0.497396167943,0.497479338433,0.497562504349,0.497645665692,0.497728822461,0.497811974655,0.497895122273,0.497978265315,0.498061403779,0.498144537665,0.498227666973,0.498310791701,0.498393911848,0.498477027414,0.498560138399,0.4986432448,0.498726346619,0.498809443853,0.498892536502,0.498975624565,0.499058708042,0.499141786932,0.499224861234,0.499307930946,0.49939099607,0.499474056603,0.499557112545,0.499640163895,0.499723210653,0.499806252817,0.499889290387,0.499972323363,0.500055351742,0.500138375526,0.500221394712,0.5003044093,0.50038741929,0.50047042468,0.500553425469,0.500636421658,0.500719413245,0.50080240023,0.500885382611,0.500968360389,0.501051333561,0.501134302128,0.501217266089,0.501300225442,0.501383180188,0.501466130325,0.501549075853,0.50163201677,0.501714953077,0.501797884772,0.501880811855,0.501963734324,0.50204665218,0.50212956542,0.502212474046,0.502295378055,0.502378277447,0.502461172221,0.502544062377,0.502626947914,0.50270982883,0.502792705126,0.5028755768,0.502958443852,0.503041306281,0.503124164086,0.503207017266,0.503289865821,0.50337270975,0.503455549051,0.503538383726,0.503621213772,0.503704039188,0.503786859975,0.503869676131,0.503952487655,0.504035294548,0.504118096807,0.504200894433,0.504283687424,0.50436647578,0.504449259499,0.504532038582,0.504614813028,0.504697582835,0.504780348003,0.504863108531,0.504945864419,0.505028615665,0.505111362269,0.505194104231,0.505276841548,0.505359574222,0.50544230225,0.505525025632,0.505607744367,0.505690458455,0.505773167895,0.505855872686,0.505938572827,0.506021268318,0.506103959158,0.506186645345,0.50626932688,0.506352003761,0.506434675988,0.50651734356,0.506600006476,0.506682664736,0.506765318338,0.506847967282,0.506930611567,0.507013251193,0.507095886158,0.507178516462,0.507261142105,0.507343763084,0.507426379401,0.507508991053,0.50759159804,0.507674200362,0.507756798017,0.507839391005,0.507921979325,0.508004562976,0.508087141958,0.50816971627,0.50825228591,0.508334850879,0.508417411175,0.508499966799,0.508582517748,0.508665064022,0.508747605621,0.508830142543,0.508912674789,0.508995202356,0.509077725245,0.509160243455,0.509242756984,0.509325265833,0.50940777,0.509490269485,0.509572764287,0.509655254404,0.509737739837,0.509820220585,0.509902696647,0.509985168021,0.510067634708,0.510150096707,0.510232554016,0.510315006635,0.510397454564,0.510479897801,0.510562336346,0.510644770198,0.510727199357,0.51080962382,0.510892043589,0.510974458661,0.511056869037,0.511139274715,0.511221675695,0.511304071976,0.511386463557,0.511468850438,0.511551232617,0.511633610094,0.511715982869,0.511798350939,0.511880714306,0.511963072967,0.512045426923,0.512127776172,0.512210120713,0.512292460546,0.512374795671,0.512457126086,0.51253945179,0.512621772783,0.512704089065,0.512786400634,0.512868707489,0.51295100963,0.513033307056,0.513115599767,0.513197887761,0.513280171038,0.513362449596,0.513444723437,0.513526992557,0.513609256958,0.513691516637,0.513773771595,0.51385602183,0.513938267342,0.51402050813,0.514102744193,0.514184975531,0.514267202142,0.514349424027,0.514431641183,0.514513853611,0.51459606131,0.514678264279,0.514760462517,0.514842656023,0.514924844797,0.515007028838,0.515089208145,0.515171382717,0.515253552554,0.515335717655,0.515417878019,0.515500033646,0.515582184534,0.515664330683,0.515746472092,0.515828608761,0.515910740688,0.515992867873,0.516074990315,0.516157108014,0.516239220968,0.516321329177,0.51640343264,0.516485531356,0.516567625325,0.516649714546,0.516731799018,0.51681387874,0.516895953711,0.516978023932,0.5170600894,0.517142150116,0.517224206079,0.517306257287,0.51738830374,0.517470345437,0.517552382378,0.517634414562,0.517716441988,0.517798464655,0.517880482562,0.51796249571,0.518044504096,0.518126507721,0.518208506583,0.518290500681,0.518372490016,0.518454474586,0.518536454391,0.518618429429,0.5187003997,0.518782365203,0.518864325938,0.518946281904,0.519028233099,0.519110179524,0.519192121177,0.519274058058,0.519355990166,0.5194379175,0.519519840059,0.519601757843,0.519683670851,0.519765579082,0.519847482536,0.519929381211,0.520011275108,0.520093164224,0.52017504856,0.520256928114,0.520338802887,0.520420672876,0.520502538082,0.520584398504,0.52066625414,0.520748104991,0.520829951055,0.520911792332,0.52099362882,0.52107546052,0.52115728743,0.52123910955,0.521320926879,0.521402739415,0.521484547159,0.52156635011,0.521648148267,0.521729941629,0.521811730195,0.521893513965,0.521975292937,0.522057067112,0.522138836488,0.522220601065,0.522302360841,0.522384115817,0.522465865991,0.522547611363,0.522629351931,0.522711087696,0.522792818656,0.52287454481,0.522956266159,0.5230379827,0.523119694434,0.523201401359,0.523283103476,0.523364800782,0.523446493278,0.523528180962,0.523609863834,0.523691541893,0.523773215139,0.52385488357,0.523936547186,0.524018205986,0.52409985997,0.524181509136,0.524263153484,0.524344793013,0.524426427722,0.524508057611,0.524589682678,0.524671302924,0.524752918347,0.524834528947,0.524916134723,0.524997735673,0.525079331798,0.525160923097,0.525242509568,0.525324091212,0.525405668026,0.525487240012,0.525568807167,0.525650369491,0.525731926984,0.525813479644,0.525895027471,0.525976570464,0.526058108623,0.526139641946,0.526221170433,0.526302694083,0.526384212895,0.526465726869,0.526547236004,0.526628740298,0.526710239753,0.526791734365,0.526873224136,0.526954709064,0.527036189148,0.527117664387,0.527199134782,0.52728060033,0.527362061032,0.527443516887,0.527524967893,0.527606414051,0.527687855359,0.527769291816,0.527850723423,0.527932150177,0.528013572079,0.528094989127,0.528176401321,0.528257808661,0.528339211145,0.528420608772,0.528502001542,0.528583389455,0.528664772508,0.528746150703,0.528827524037,0.52890889251,0.528990256122,0.529071614872,0.529152968758,0.52923431778,0.529315661938,0.52939700123,0.529478335657,0.529559665216,0.529640989908,0.529722309732,0.529803624686,0.529884934771,0.529966239985,0.530047540328,0.530128835798,0.530210126396,0.53029141212,0.53037269297,0.530453968945,0.530535240044,0.530616506266,0.530697767612,0.530779024079,0.530860275667,0.530941522376,0.531022764204,0.531104001151,0.531185233217,0.5312664604,0.5313476827,0.531428900115,0.531510112646,0.531591320292,0.531672523051,0.531753720923,0.531834913907,0.531916102003,0.531997285209,0.532078463526,0.532159636952,0.532240805486,0.532321969128,0.532403127877,0.532484281733,0.532565430693,0.532646574759,0.532727713929,0.532808848202,0.532889977577,0.532971102054,0.533052221633,0.533133336311,0.533214446089,0.533295550966,0.533376650941,0.533457746014,0.533538836183,0.533619921447,0.533701001807,0.533782077261,0.533863147809,0.53394421345,0.534025274182,0.534106330006,0.534187380921,0.534268426926,0.534349468019,0.534430504201,0.534511535471,0.534592561827,0.53467358327,0.534754599798,0.534835611411,0.534916618107,0.534997619887,0.535078616749,0.535159608693,0.535240595718,0.535321577823,0.535402555007,0.53548352727,0.535564494611,0.53564545703,0.535726414524,0.535807367095,0.53588831474,0.53596925746,0.536050195253,0.536131128119,0.536212056057,0.536292979066,0.536373897146,0.536454810295,0.536535718513,0.5366166218,0.536697520154,0.536778413575,0.536859302062,0.536940185615,0.537021064232,0.537101937913,0.537182806656,0.537263670463,0.53734452933,0.537425383259,0.537506232248,0.537587076296,0.537667915402,0.537748749567,0.537829578789,0.537910403067,0.5379912224,0.538072036789,0.538152846232,0.538233650728,0.538314450277,0.538395244877,0.538476034529,0.538556819232,0.538637598984,0.538718373785,0.538799143634,0.538879908531,0.538960668474,0.539041423464,0.539122173499,0.539202918578,0.539283658701,0.539364393867,0.539445124075,0.539525849325,0.539606569616,0.539687284946,0.539767995316,0.539848700725,0.539929401171,0.540010096655,0.540090787174,0.54017147273,0.54025215332,0.540332828945,0.540413499602,0.540494165293,0.540574826015,0.540655481768,0.540736132552,0.540816778366,0.540897419208,0.540978055079,0.541058685977,0.541139311902,0.541219932853,0.541300548828,0.541381159829,0.541461765853,0.5415423669,0.54162296297,0.541703554061,0.541784140172,0.541864721304,0.541945297455,0.542025868625,0.542106434812,0.542186996017,0.542267552238,0.542348103474,0.542428649726,0.542509190991,0.54258972727,0.542670258561,0.542750784865,0.542831306179,0.542911822504,0.542992333838,0.543072840182,0.543153341534,0.543233837893,0.543314329258,0.54339481563,0.543475297007,0.543555773389,0.543636244774,0.543716711162,0.543797172553,0.543877628945,0.543958080338,0.544038526731,0.544118968123,0.544199404514,0.544279835903,0.544360262288,0.544440683671,0.544521100048,0.544601511421,0.544681917788,0.544762319148,0.544842715501,0.544923106845,0.545003493181,0.545083874508,0.545164250824,0.545244622129,0.545324988422,0.545405349703,0.54548570597,0.545566057224,0.545646403463,0.545726744686,0.545807080893,0.545887412083,0.545967738256,0.54604805941,0.546128375545,0.54620868666,0.546288992754,0.546369293827,0.546449589878,0.546529880906,0.546610166911,0.546690447891,0.546770723846,0.546850994775,0.546931260678,0.547011521554,0.547091777401,0.54717202822,0.547252274009,0.547332514768,0.547412750496,0.547492981193,0.547573206857,0.547653427487,0.547733643084,0.547813853646,0.547894059173,0.547974259664,0.548054455118,0.548134645534,0.548214830912,0.54829501125,0.548375186549,0.548455356808,0.548535522025,0.5486156822,0.548695837333,0.548775987421,0.548856132466,0.548936272466,0.54901640742,0.549096537327,0.549176662188,0.549256782,0.549336896764,0.549417006478,0.549497111143,0.549577210756,0.549657305318,0.549737394827,0.549817479284,0.549897558687,0.549977633035,0.550057702327,0.550137766564,0.550217825744,0.550297879867,0.550377928931,0.550457972937,0.550538011882,0.550618045768,0.550698074592,0.550778098354,0.550858117053,0.55093813069,0.551018139262,0.551098142769,0.551178141211,0.551258134586,0.551338122894,0.551418106135,0.551498084307,0.55157805741,0.551658025443,0.551737988405,0.551817946295,0.551897899114,0.551977846859,0.552057789531,0.552137727129,0.552217659651,0.552297587097,0.552377509467,0.55245742676,0.552537338974,0.55261724611,0.552697148166,0.552777045142,0.552856937036,0.552936823849,0.55301670558,0.553096582227,0.553176453791,0.55325632027,0.553336181663,0.55341603797,0.55349588919,0.553575735323,0.553655576367,0.553735412323,0.553815243188,0.553895068963,0.553974889647,0.554054705238,0.554134515737,0.554214321142,0.554294121454,0.55437391667,0.55445370679,0.554533491814,0.554613271741,0.55469304657,0.554772816301,0.554852580932,0.554932340463,0.555012094893,0.555091844222,0.555171588448,0.555251327571,0.555331061591,0.555410790506,0.555490514316,0.55557023302,0.555649946617,0.555729655107,0.555809358488,0.555889056761,0.555968749924,0.556048437977,0.556128120919,0.556207798749,0.556287471466,0.55636713907,0.55644680156,0.556526458936,0.556606111196,0.556685758339,0.556765400366,0.556845037275,0.556924669066,0.557004295737,0.557083917289,0.55716353372,0.55724314503,0.557322751218,0.557402352283,0.557481948224,0.557561539041,0.557641124733,0.5577207053,0.55780028074,0.557879851053,0.557959416237,0.558038976294,0.558118531221,0.558198081017,0.558277625683,0.558357165218,0.55843669962,0.558516228889,0.558595753024,0.558675272025,0.55875478589,0.55883429462,0.558913798213,0.558993296668,0.559072789986,0.559152278164,0.559231761203,0.559311239102,0.559390711859,0.559470179475,0.559549641948,0.559629099278,0.559708551464,0.559787998505,0.559867440401,0.55994687715,0.560026308753,0.560105735208,0.560185156514,0.560264572672,0.56034398368,0.560423389537,0.560502790242,0.560582185796,0.560661576197,0.560740961445,0.560820341538,0.560899716477,0.560979086259,0.561058450886,0.561137810355,0.561217164666,0.561296513819,0.561375857813,0.561455196646,0.561534530319,0.56161385883,0.561693182179,0.561772500365,0.561851813387,0.561931121245,0.562010423937,0.562089721464,0.562169013824,0.562248301017,0.562327583042,0.562406859898,0.562486131584,0.562565398101,0.562644659446,0.562723915619,0.56280316662,0.562882412448,0.562961653102,0.563040888582,0.563120118886,0.563199344014,0.563278563965,0.563357778739,0.563436988334,0.56351619275,0.563595391987,0.563674586043,0.563753774918,0.563832958611,0.563912137122,0.563991310449,0.564070478592,0.56414964155,0.564228799323,0.564307951909,0.564387099309,0.564466241521,0.564545378544,0.564624510378,0.564703637022,0.564782758476,0.564861874738,0.564940985808,0.565020091685,0.565099192369,0.565178287858,0.565257378153,0.565336463251,0.565415543154,0.565494617859,0.565573687366,0.565652751674,0.565731810784,0.565810864693,0.565889913401,0.565968956908,0.566047995212,0.566127028314,0.566206056212,0.566285078905,0.566364096393,0.566443108675,0.566522115751,0.566601117619,0.56668011428,0.566759105731,0.566838091973,0.566917073004,0.566996048825,0.567075019434,0.567153984831,0.567232945014,0.567311899983,0.567390849738,0.567469794278,0.567548733601,0.567627667708,0.567706596597,0.567785520268,0.56786443872,0.567943351952,0.568022259964,0.568101162755,0.568180060324,0.56825895267,0.568337839793,0.568416721692,0.568495598366,0.568574469815,0.568653336037,0.568732197033,0.568811052801,0.56888990334,0.568968748651,0.569047588731,0.569126423581,0.5692052532,0.569284077586,0.56936289674,0.569441710661,0.569520519347,0.569599322798,0.569678121014,0.569756913993,0.569835701736,0.56991448424,0.569993261506,0.570072033533,0.570150800319,0.570229561865,0.57030831817,0.570387069232,0.570465815052,0.570544555628,0.57062329096,0.570702021046,0.570780745887,0.570859465481,0.570938179828,0.571016888928,0.571095592778,0.571174291379,0.57125298473,0.57133167283,0.571410355679,0.571489033275,0.571567705618,0.571646372708,0.571725034543,0.571803691123,0.571882342447,0.571960988515,0.572039629325,0.572118264877,0.57219689517,0.572275520204,0.572354139977,0.57243275449,0.572511363741,0.572589967729,0.572668566454,0.572747159916,0.572825748113,0.572904331045,0.57298290871,0.573061481109,0.57314004824,0.573218610104,0.573297166698,0.573375718023,0.573454264077,0.57353280486,0.573611340372,0.573689870611,0.573768395577,0.573846915269,0.573925429686,0.574003938827,0.574082442693,0.574160941282,0.574239434593,0.574317922626,0.57439640538,0.574474882854,0.574553355048,0.57463182196,0.574710283591,0.574788739939,0.574867191004,0.574945636784,0.57502407728,0.575102512491,0.575180942415,0.575259367052,0.575337786402,0.575416200463,0.575494609235,0.575573012717,0.575651410909,0.575729803809,0.575808191418,0.575886573734,0.575964950756,0.576043322484,0.576121688917,0.576200050055,0.576278405897,0.576356756441,0.576435101688,0.576513441636,0.576591776285,0.576670105634,0.576748429682,0.57682674843,0.576905061875,0.576983370017,0.577061672856,0.57713997039,0.57721826262,0.577296549544,0.577374831161,0.577453107472,0.577531378474,0.577609644168,0.577687904553,0.577766159628,0.577844409392,0.577922653845,0.578000892985,0.578079126813,0.578157355327,0.578235578527,0.578313796412,0.578392008981,0.578470216233,0.578548418169,0.578626614786,0.578704806085,0.578782992065,0.578861172724,0.578939348063,0.57901751808,0.579095682775,0.579173842148,0.579251996196,0.57933014492,0.579408288319,0.579486426393,0.579564559139,0.579642686559,0.579720808651,0.579798925413,0.579877036847,0.57995514295,0.580033243723,0.580111339164,0.580189429273,0.580267514049,0.580345593491,0.580423667598,0.580501736371,0.580579799808,0.580657857908,0.580735910671,0.580813958096,0.580892000182,0.580970036929,0.581048068335,0.581126094401,0.581204115125,0.581282130507,0.581360140546,0.581438145241,0.581516144591,0.581594138597,0.581672127256,0.581750110569,0.581828088535,0.581906061153,0.581984028421,0.582061990341,0.58213994691,0.582217898128,0.582295843995,0.582373784509,0.58245171967,0.582529649478,0.582607573931,0.582685493029,0.582763406771,0.582841315156,0.582919218184,0.582997115853,0.583075008164,0.583152895116,0.583230776707,0.583308652938,0.583386523806,0.583464389313,0.583542249456,0.583620104236,0.583697953651,0.5837757977,0.583853636384,0.583931469701,0.584009297651,0.584087120233,0.584164937446,0.584242749289,0.584320555762,0.584398356864,0.584476152595,0.584553942953,0.584631727938,0.584709507549,0.584787281786,0.584865050648,0.584942814133,0.585020572242,0.585098324973,0.585176072327,0.585253814301,0.585331550896,0.585409282111,0.585487007945,0.585564728397,0.585642443467,0.585720153154,0.585797857456,0.585875556375,0.585953249908,0.586030938055,0.586108620815,0.586186298189,0.586263970174,0.58634163677,0.586419297976,0.586496953793,0.586574604218,0.586652249252,0.586729888893,0.586807523142,0.586885151996,0.586962775456,0.587040393521,0.58711800619,0.587195613462,0.587273215337,0.587350811813,0.587428402891,0.587505988569,0.587583568848,0.587661143725,0.5877387132,0.587816277273,0.587893835943,0.58797138921,0.588048937072,0.588126479528,0.588204016579,0.588281548223,0.588359074459,0.588436595288,0.588514110708,0.588591620718,0.588669125318,0.588746624507,0.588824118285,0.58890160665,0.588979089602,0.58905656714,0.589134039264,0.589211505973,0.589288967265,0.589366423141,0.5894438736,0.589521318641,0.589598758263,0.589676192466,0.589753621248,0.589831044609,0.589908462549,0.589985875067,0.590063282161,0.590140683832,0.590218080079,0.5902954709,0.590372856295,0.590450236264,0.590527610805,0.590604979919,0.590682343604,0.590759701859,0.590837054684,0.590914402078,0.590991744041,0.591069080572,0.591146411669,0.591223737333,0.591301057562,0.591378372357,0.591455681715,0.591532985637,0.591610284122,0.591687577169,0.591764864777,0.591842146946,0.591919423674,0.591996694962,0.592073960808,0.592151221212,0.592228476174,0.592305725691,0.592382969764,0.592460208393,0.592537441575,0.592614669311,0.5926918916,0.59276910844,0.592846319833,0.592923525776,0.593000726268,0.593077921311,0.593155110901,0.59323229504,0.593309473725,0.593386646958,0.593463814735,0.593540977058,0.593618133925,0.593695285336,0.59377243129,0.593849571785,0.593926706823,0.594003836401,0.594080960519,0.594158079176,0.594235192372,0.594312300106,0.594389402377,0.594466499185,0.594543590528,0.594620676407,0.594697756819,0.594774831766,0.594851901245,0.594928965257,0.5950060238,0.595083076875,0.595160124479,0.595237166612,0.595314203275,0.595391234465,0.595468260183,0.595545280427,0.595622295197,0.595699304492,0.595776308312,0.595853306656,0.595930299522,0.596007286911,0.596084268822,0.596161245253,0.596238216205,0.596315181676,0.596392141666,0.596469096174,0.596546045199,0.596622988741,0.596699926799,0.596776859373,0.59685378646,0.596930708062,0.597007624177,0.597084534804,0.597161439943,0.597238339593,0.597315233754,0.597392122424,0.597469005603,0.59754588329,0.597622755484,0.597699622186,0.597776483393,0.597853339106,0.597930189323,0.598007034045,0.598083873269,0.598160706996,0.598237535225,0.598314357955,0.598391175186,0.598467986916,0.598544793146,0.598621593873,0.598698389098,0.59877517882,0.598851963039,0.598928741752,0.599005514961,0.599082282664,0.59915904486,0.599235801548,0.599312552729,0.599389298401,0.599466038563,0.599542773215,0.599619502356,0.599696225986,0.599772944104,0.599849656708,0.599926363799,0.600003065375,0.600079761437,0.600156451982,0.600233137011,0.600309816523,0.600386490517,0.600463158992,0.600539821948,0.600616479384,0.600693131299,0.600769777693,0.600846418564,0.600923053913,0.600999683738,0.601076308039,0.601152926815,0.601229540065,0.601306147789,0.601382749986,0.601459346655,0.601535937795,0.601612523407,0.601689103488,0.601765678039,0.601842247059,0.601918810546,0.601995368501,0.602071920922,0.60214846781,0.602225009162,0.602301544979,0.60237807526,0.602454600004,0.60253111921,0.602607632878,0.602684141007,0.602760643596,0.602837140644,0.602913632152,0.602990118117,0.60306659854,0.60314307342,0.603219542756,0.603296006547,0.603372464793,0.603448917493,0.603525364646,0.603601806251,0.603678242308,0.603754672817,0.603831097776,0.603907517184,0.603983931042,0.604060339348,0.604136742101,0.604213139302,0.604289530948,0.60436591704,0.604442297577,0.604518672558,0.604595041983,0.60467140585,0.604747764159,0.604824116909,0.6049004641,0.604976805731,0.605053141801,0.605129472309,0.605205797255,0.605282116639,0.605358430459,0.605434738714,0.605511041404,0.605587338529,0.605663630087,0.605739916078,0.605816196502,0.605892471356,0.605968740642,0.606045004357,0.606121262502,0.606197515076,0.606273762077,0.606350003506,0.606426239361,0.606502469643,0.606578694349,0.60665491348,0.606731127035,0.606807335012,0.606883537412,0.606959734234,0.607035925476,0.607112111139,0.607188291222,0.607264465723,0.607340634643,0.607416797979,0.607492955733,0.607569107903,0.607645254488,0.607721395488,0.607797530901,0.607873660728,0.607949784968,0.608025903619,0.608102016682,0.608178124155,0.608254226037,0.608330322329,0.608406413029,0.608482498137,0.608558577652,0.608634651573,0.608710719899,0.608786782631,0.608862839766,0.608938891305,0.609014937247,0.609090977591,0.609167012336,0.609243041482,0.609319065028,0.609395082973,0.609471095317,0.609547102059,0.609623103198,0.609699098733,0.609775088664,0.60985107299,0.60992705171,0.610003024825,0.610078992332,0.610154954231,0.610230910522,0.610306861204,0.610382806276,0.610458745738,0.610534679588,0.610610607827,0.610686530453,0.610762447465,0.610838358864,0.610914264648,0.610990164816,0.611066059369,0.611141948304,0.611217831622,0.611293709322,0.611369581403,0.611445447865,0.611521308706,0.611597163926,0.611673013525,0.611748857501,0.611824695854,0.611900528584,0.611976355689,0.612052177169,0.612127993022,0.61220380325,0.61227960785,0.612355406822,0.612431200166,0.61250698788,0.612582769964,0.612658546417,0.61273431724,0.612810082429,0.612885841986,0.61296159591,0.613037344199,0.613113086854,0.613188823873,0.613264555255,0.613340281001,0.613416001109,0.613491715578,0.613567424408,0.613643127599,0.613718825149,0.613794517058,0.613870203325,0.61394588395,0.614021558931,0.614097228268,0.614172891961,0.614248550008,0.61432420241,0.614399849164,0.614475490271,0.61455112573,0.61462675554,0.614702379701,0.614777998211,0.614853611071,0.614929218279,0.615004819834,0.615080415737,0.615156005986,0.615231590581,0.61530716952,0.615382742804,0.615458310431,0.615533872401,0.615609428713,0.615684979367,0.615760524361,0.615836063696,0.61591159737,0.615987125382,0.616062647733,0.616138164421,0.616213675445,0.616289180805,0.616364680501,0.616440174531,0.616515662895,0.616591145592,0.616666622621,0.616742093982,0.616817559674,0.616893019697,0.616968474049,0.61704392273,0.617119365739,0.617194803076,0.61727023474,0.61734566073,0.617421081045,0.617496495686,0.61757190465,0.617647307938,0.617722705548,0.617798097481,0.617873483735,0.617948864309,0.618024239204,0.618099608417,0.61817497195,0.6182503298,0.618325681967,0.618401028451,0.61847636925,0.618551704365,0.618627033794,0.618702357537,0.618777675593,0.618852987961,0.618928294641,0.619003595631,0.619078890932,0.619154180543,0.619229464462,0.61930474269,0.619380015225,0.619455282067,0.619530543215,0.619605798668,0.619681048426,0.619756292488,0.619831530854,0.619906763522,0.619981990492,0.620057211763,0.620132427335,0.620207637207,0.620282841378,0.620358039847,0.620433232614,0.620508419679,0.620583601039,0.620658776696,0.620733946647,0.620809110893,0.620884269433,0.620959422265,0.62103456939,0.621109710806,0.621184846514,0.621259976511,0.621335100798,0.621410219374,0.621485332238,0.621560439389,0.621635540827,0.621710636551,0.621785726561,0.621860810855,0.621935889433,0.622010962295,0.622086029439,0.622161090865,0.622236146572,0.62231119656,0.622386240827,0.622461279374,0.622536312199,0.622611339302,0.622686360683,0.622761376339,0.622836386271,0.622911390479,0.62298638896,0.623061381715,0.623136368744,0.623211350044,0.623286325616,0.623361295459,0.623436259572,0.623511217955,0.623586170606,0.623661117526,0.623736058713,0.623810994166,0.623885923886,0.623960847871,0.624035766121,0.624110678635,0.624185585412,0.624260486452,0.624335381754,0.624410271317,0.62448515514,0.624560033224,0.624634905566,0.624709772168,0.624784633026,0.624859488142,0.624934337515,0.625009181143,0.625084019026,0.625158851164,0.625233677555,0.625308498199,0.625383313096,0.625458122244,0.625532925643,0.625607723292,0.625682515191,0.625757301339,0.625832081735,0.625906856378,0.625981625268,0.626056388404,0.626131145786,0.626205897412,0.626280643283,0.626355383397,0.626430117753,0.626504846352,0.626579569192,0.626654286272,0.626728997592,0.626803703152,0.62687840295,0.626953096986,0.627027785259,0.627102467769,0.627177144515,0.627251815495,0.62732648071,0.627401140159,0.627475793841,0.627550441755,0.627625083901,0.627699720278,0.627774350885,0.627848975722,0.627923594788,0.627998208082,0.628072815604,0.628147417352,0.628222013327,0.628296603527,0.628371187953,0.628445766602,0.628520339475,0.62859490657,0.628669467888,0.628744023427,0.628818573186,0.628893117166,0.628967655365,0.629042187783,0.629116714419,0.629191235272,0.629265750341,0.629340259627,0.629414763128,0.629489260843,0.629563752772,0.629638238915,0.62971271927,0.629787193837,0.629861662614,0.629936125603,0.630010582801,0.630085034208,0.630159479824,0.630233919647,0.630308353677,0.630382781914,0.630457204356,0.630531621003,0.630606031855,0.63068043691,0.630754836168,0.630829229628,0.63090361729,0.630977999153,0.631052375216,0.631126745478,0.63120110994,0.631275468599,0.631349821456,0.631424168509,0.631498509759,0.631572845204,0.631647174844,0.631721498678,0.631795816705,0.631870128925,0.631944435337,0.63201873594,0.632093030734,0.632167319717,0.63224160289,0.632315880252,0.632390151801,0.632464417538,0.632538677461,0.63261293157,0.632687179864,0.632761422343,0.632835659005,0.632909889851,0.632984114878,0.633058334088,0.633132547479,0.63320675505,0.633280956801,0.633355152731,0.633429342839,0.633503527125,0.633577705588,0.633651878227,0.633726045041,0.633800206031,0.633874361195,0.633948510532,0.634022654043,0.634096791725,0.634170923579,0.634245049604,0.634319169799,0.634393284164,0.634467392697,0.634541495398,0.634615592267,0.634689683303,0.634763768504,0.634837847872,0.634911921403,0.634985989099,0.635060050958,0.63513410698,0.635208157164,0.635282201509,0.635356240015,0.63543027268,0.635504299505,0.635578320489,0.63565233563,0.635726344929,0.635800348384,0.635874345995,0.635948337761,0.636022323682,0.636096303756,0.636170277984,0.636244246364,0.636318208896,0.636392165579,0.636466116412,0.636540061395,0.636614000527,0.636687933808,0.636761861236,0.636835782812,0.636909698533,0.636983608401,0.637057512413,0.637131410569,0.63720530287,0.637279189313,0.637353069898,0.637426944625,0.637500813493,0.637574676501,0.637648533649,0.637722384936,0.63779623036,0.637870069923,0.637943903622,0.638017731457,0.638091553428,0.638165369533,0.638239179773,0.638312984146,0.638386782652,0.63846057529,0.638534362059,0.63860814296,0.63868191799,0.638755687149,0.638829450437,0.638903207854,0.638976959397,0.639050705068,0.639124444864,0.639198178785,0.639271906831,0.639345629002,0.639419345295,0.639493055711,0.639566760249,0.639640458908,0.639714151688,0.639787838587,0.639861519606,0.639935194743,0.640008863998,0.640082527371,0.64015618486,0.640229836464,0.640303482184,0.640377122018,0.640450755966,0.640524384028,0.640598006201,0.640671622487,0.640745232883,0.64081883739,0.640892436007,0.640966028732,0.641039615566,0.641113196508,0.641186771557,0.641260340712,0.641333903973,0.641407461338,0.641481012809,0.641554558382,0.641628098059,0.641701631838,0.641775159719,0.6418486817,0.641922197782,0.641995707963,0.642069212244,0.642142710622,0.642216203098,0.642289689671,0.642363170341,0.642436645105,0.642510113965,0.642583576919,0.642657033966,0.642730485106,0.642803930339,0.642877369662,0.642950803077,0.643024230582,0.643097652176,0.643171067859,0.64324447763,0.643317881489,0.643391279434,0.643464671465,0.643538057582,0.643611437784,0.643684812069,0.643758180438,0.64383154289,0.643904899424,0.643978250039,0.644051594734,0.64412493351,0.644198266365,0.644271593299,0.644344914311,0.6444182294,0.644491538566,0.644564841807,0.644638139125,0.644711430516,0.644784715982,0.644857995521,0.644931269132,0.645004536816,0.64507779857,0.645151054395,0.645224304291,0.645297548255,0.645370786288,0.645444018389,0.645517244557,0.645590464792,0.645663679092,0.645736887458,0.645810089888,0.645883286382,0.645956476939,0.646029661559,0.646102840241,0.646176012983,0.646249179787,0.64632234065,0.646395495572,0.646468644552,0.646541787591,0.646614924687,0.646688055839,0.646761181046,0.646834300309,0.646907413627,0.646980520998,0.647053622422,0.647126717899,0.647199807427,0.647272891007,0.647345968637,0.647419040316,0.647492106045,0.647565165822,0.647638219647,0.647711267519,0.647784309437,0.647857345401,0.64793037541,0.648003399463,0.64807641756,0.6481494297,0.648222435882,0.648295436107,0.648368430372,0.648441418677,0.648514401022,0.648587377406,0.648660347829,0.648733312289,0.648806270786,0.648879223319,0.648952169888,0.649025110492,0.64909804513,0.649170973802,0.649243896507,0.649316813244,0.649389724013,0.649462628813,0.649535527643,0.649608420502,0.649681307391,0.649754188307,0.649827063252,0.649899932223,0.649972795221,0.650045652244,0.650118503292,0.650191348364,0.65026418746,0.650337020579,0.65040984772,0.650482668883,0.650555484067,0.65062829327,0.650701096494,0.650773893736,0.650846684996,0.650919470274,0.650992249569,0.65106502288,0.651137790207,0.651210551549,0.651283306905,0.651356056274,0.651428799656,0.65150153705,0.651574268456,0.651646993873,0.6517197133,0.651792426737,0.651865134182,0.651937835636,0.652010531097,0.652083220565,0.652155904039,0.652228581519,0.652301253003,0.652373918492,0.652446577984,0.65251923148,0.652591878977,0.652664520476,0.652737155975,0.652809785475,0.652882408975,0.652955026473,0.653027637969,0.653100243463,0.653172842954,0.653245436441,0.653318023923,0.6533906054,0.653463180872,0.653535750337,0.653608313795,0.653680871244,0.653753422686,0.653825968118,0.653898507541,0.653971040953,0.654043568353,0.654116089742,0.654188605119,0.654261114482,0.654333617832,0.654406115167,0.654478606487,0.654551091791,0.654623571078,0.654696044349,0.654768511601,0.654840972835,0.65491342805,0.654985877245,0.65505832042,0.655130757573,0.655203188705,0.655275613814,0.6553480329,0.655420445962,0.655492853,0.655565254012,0.655637648999,0.655710037959,0.655782420892,0.655854797797,0.655927168674,0.655999533522,0.65607189234,0.656144245127,0.656216591883,0.656288932608,0.6563612673,0.656433595958,0.656505918583,0.656578235174,0.656650545729,0.656722850249,0.656795148732,0.656867441178,0.656939727587,0.657012007956,0.657084282287,0.657156550578,0.657228812829,0.657301069038,0.657373319206,0.657445563331,0.657517801413,0.657590033451,0.657662259445,0.657734479394,0.657806693297,0.657878901154,0.657951102963,0.658023298725,0.658095488439,0.658167672103,0.658239849717,0.658312021282,0.658384186795,0.658456346256,0.658528499665,0.658600647021,0.658672788323,0.658744923571,0.658817052764,0.658889175901,0.658961292982,0.659033404006,0.659105508972,0.659177607879,0.659249700728,0.659321787517,0.659393868246,0.659465942913,0.659538011519,0.659610074063,0.659682130544,0.659754180961,0.659826225313,0.659898263601,0.659970295823,0.660042321979,0.660114342067,0.660186356089,0.660258364041,0.660330365925,0.66040236174,0.660474351484,0.660546335157,0.660618312758,0.660690284287,0.660762249744,0.660834209126,0.660906162435,0.660978109668,0.661050050826,0.661121985908,0.661193914913,0.66126583784,0.661337754689,0.661409665459,0.66148157015,0.66155346876,0.66162536129,0.661697247738,0.661769128104,0.661841002387,0.661912870587,0.661984732702,0.662056588733,0.662128438678,0.662200282537,0.662272120309,0.662343951994,0.66241577759,0.662487597098,0.662559410516,0.662631217845,0.662703019082,0.662774814228,0.662846603282,0.662918386243,0.662990163111,0.663061933885,0.663133698564,0.663205457148,0.663277209635,0.663348956026,0.66342069632,0.663492430515,0.663564158612,0.66363588061,0.663707596507,0.663779306304,0.663851009999,0.663922707593,0.663994399084,0.664066084472,0.664137763755,0.664209436934,0.664281104008,0.664352764976,0.664424419837,0.664496068591,0.664567711237,0.664639347775,0.664710978203,0.664782602522,0.66485422073,0.664925832826,0.664997438811,0.665069038684,0.665140632443,0.665212220088,0.665283801619,0.665355377035,0.665426946335,0.665498509518,0.665570066585,0.665641617533,0.665713162363,0.665784701074,0.665856233666,0.665927760136,0.665999280486,0.666070794714,0.66614230282,0.666213804803,0.666285300662,0.666356790396,0.666428274006,0.66649975149,0.666571222847,0.666642688078,0.666714147181,0.666785600156,0.666857047002,0.666928487718,0.666999922304,0.667071350759,0.667142773082,0.667214189273,0.667285599331,0.667357003256,0.667428401047,0.667499792702,0.667571178223,0.667642557607,0.667713930854,0.667785297963,0.667856658935,0.667928013768,0.667999362461,0.668070705014,0.668142041427,0.668213371698,0.668284695826,0.668356013813,0.668427325655,0.668498631354,0.668569930908,0.668641224317,0.66871251158,0.668783792696,0.668855067665,0.668926336485,0.668997599157,0.66906885568,0.669140106053,0.669211350276,0.669282588347,0.669353820266,0.669425046032,0.669496265646,0.669567479105,0.66963868641,0.66970988756,0.669781082554,0.669852271392,0.669923454072,0.669994630595,0.670065800959,0.670136965164,0.670208123209,0.670279275094,0.670350420818,0.67042156038,0.67049269378,0.670563821017,0.67063494209,0.670706056998,0.670777165742,0.67084826832,0.670919364732,0.670990454977,0.671061539054,0.671132616963,0.671203688703,0.671274754274,0.671345813674,0.671416866903,0.671487913961,0.671558954847,0.67162998956,0.671701018099,0.671772040465,0.671843056655,0.67191406667,0.671985070509,0.672056068172,0.672127059656,0.672198044963,0.672269024091,0.67233999704,0.672410963809,0.672481924397,0.672552878804,0.672623827029,0.672694769071,0.67276570493,0.672836634605,0.672907558095,0.6729784754,0.67304938652,0.673120291453,0.673191190198,0.673262082756,0.673332969125,0.673403849306,0.673474723296,0.673545591096,0.673616452705,0.673687308122,0.673758157347,0.673829000379,0.673899837217,0.673970667861,0.674041492309,0.674112310562,0.674183122619,0.674253928479,0.674324728141,0.674395521605,0.67446630887,0.674537089936,0.674607864801,0.674678633466,0.674749395929,0.674820152189,0.674890902247,0.674961646102,0.675032383752,0.675103115198,0.675173840439,0.675244559473,0.6753152723,0.675385978921,0.675456679333,0.675527373536,0.675598061531,0.675668743315,0.675739418889,0.675810088251,0.675880751402,0.67595140834,0.676022059064,0.676092703575,0.676163341872,0.676233973953,0.676304599819,0.676375219468,0.6764458329,0.676516440114,0.67658704111,0.676657635886,0.676728224443,0.67679880678,0.676869382896,0.67693995279,0.677010516462,0.677081073911,0.677151625136,0.677222170137,0.677292708913,0.677363241464,0.677433767789,0.677504287886,0.677574801756,0.677645309398,0.677715810812,0.677786305996,0.677856794949,0.677927277673,0.677997754164,0.678068224424,0.678138688451,0.678209146245,0.678279597805,0.67835004313,0.67842048222,0.678490915074,0.678561341691,0.678631762072,0.678702176214,0.678772584118,0.678842985783,0.678913381208,0.678983770393,0.679054153337,0.679124530038,0.679194900498,0.679265264714,0.679335622687,0.679405974416,0.679476319899,0.679546659137,0.679616992129,0.679687318874,0.679757639371,0.67982795362,0.679898261621,0.679968563371,0.680038858872,0.680109148122,0.68017943112,0.680249707867,0.680319978361,0.680390242601,0.680460500587,0.680530752319,0.680600997795,0.680671237016,0.68074146998,0.680811696686,0.680881917135,0.680952131326,0.681022339257,0.681092540928,0.681162736339,0.681232925489,0.681303108377,0.681373285002,0.681443455365,0.681513619464,0.681583777298,0.681653928868,0.681724074172,0.681794213209,0.68186434598,0.681934472483,0.682004592718,0.682074706685,0.682144814381,0.682214915808,0.682285010964,0.682355099848,0.682425182461,0.6824952588,0.682565328866,0.682635392659,0.682705450176,0.682775501419,0.682845546385,0.682915585075,0.682985617488,0.683055643623,0.683125663479,0.683195677056,0.683265684353,0.68333568537,0.683405680106,0.68347566856,0.683545650732,0.683615626621,0.683685596226,0.683755559547,0.683825516583,0.683895467333,0.683965411797,0.684035349975,0.684105281864,0.684175207466,0.684245126779,0.684315039802,0.684384946535,0.684454846978,0.684524741129,0.684594628988,0.684664510555,0.684734385828,0.684804254808,0.684874117492,0.684943973882,0.685013823976,0.685083667773,0.685153505273,0.685223336475,0.685293161379,0.685362979984,0.685432792289,0.685502598293,0.685572397997,0.685642191399,0.685711978499,0.685781759296,0.685851533789,0.685921301978,0.685991063863,0.686060819441,0.686130568714,0.68620031168,0.686270048339,0.686339778689,0.686409502731,0.686479220463,0.686548931886,0.686618636998,0.686688335798,0.686758028287,0.686827714463,0.686897394326,0.686967067875,0.68703673511,0.68710639603,0.687176050634,0.687245698921,0.687315340892,0.687384976545,0.687454605879,0.687524228895,0.687593845591,0.687663455967,0.687733060022,0.687802657755,0.687872249167,0.687941834255,0.68801141302,0.688080985462,0.688150551578,0.688220111369,0.688289664834,0.688359211973,0.688428752784,0.688498287267,0.688567815422,0.688637337248,0.688706852744,0.688776361909,0.688845864744,0.688915361246,0.688984851417,0.689054335254,0.689123812757,0.689193283927,0.689262748761,0.68933220726,0.689401659423,0.689471105249,0.689540544737,0.689609977887,0.689679404699,0.689748825171,0.689818239303,0.689887647095,0.689957048545,0.690026443653,0.690095832419,0.690165214841,0.69023459092,0.690303960654,0.690373324043,0.690442681086,0.690512031783,0.690581376132,0.690650714135,0.690720045788,0.690789371093,0.690858690048,0.690928002653,0.690997308908,0.69106660881,0.691135902361,0.691205189558,0.691274470403,0.691343744893,0.691413013029,0.691482274809,0.691551530233,0.691620779301,0.691690022012,0.691759258364,0.691828488358,0.691897711993,0.691966929269,0.692036140183,0.692105344737,0.692174542929,0.692243734759,0.692312920226,0.692382099329,0.692451272068,0.692520438442,0.692589598451,0.692658752093,0.692727899369,0.692797040277,0.692866174817,0.692935302989,0.693004424791,0.693073540224,0.693142649285,0.693211751976,0.693280848295,0.693349938241,0.693419021814,0.693488099013,0.693557169838,0.693626234288,0.693695292362,0.69376434406,0.693833389381,0.693902428324,0.69397146089,0.694040487076,0.694109506883,0.69417852031,0.694247527356,0.69431652802,0.694385522303,0.694454510203,0.69452349172,0.694592466853,0.694661435601,0.694730397964,0.694799353942,0.694868303532,0.694937246736,0.695006183552,0.69507511398,0.695144038019,0.695212955668,0.695281866927,0.695350771795,0.695419670271,0.695488562356,0.695557448047,0.695626327345,0.695695200249,0.695764066759,0.695832926873,0.695901780591,0.695970627913,0.696039468837,0.696108303363,0.696177131491,0.69624595322,0.69631476855,0.696383577478,0.696452380006,0.696521176132,0.696589965856,0.696658749177,0.696727526095,0.696796296608,0.696865060716,0.696933818419,0.697002569716,0.697071314607,0.69714005309,0.697208785165,0.697277510831,0.697346230088,0.697414942935,0.697483649372,0.697552349398,0.697621043012,0.697689730213,0.697758411002,0.697827085377,0.697895753337,0.697964414883,0.698033070013,0.698101718727,0.698170361024,0.698238996904,0.698307626366,0.698376249409,0.698444866033,0.698513476236,0.69858208002,0.698650677381,0.698719268322,0.698787852839,0.698856430934,0.698925002604,0.698993567851,0.699062126672,0.699130679068,0.699199225037,0.69926776458,0.699336297695,0.699404824382,0.69947334464,0.699541858469,0.699610365868,0.699678866836,0.699747361373,0.699815849477,0.69988433115,0.699952806389,0.700021275194,0.700089737565,0.700158193501,0.700226643001,0.700295086064,0.700363522691,0.70043195288,0.700500376631,0.700568793943,0.700637204816,0.700705609248,0.70077400724,0.700842398791,0.700910783899,0.700979162565,0.701047534787,0.701115900566,0.7011842599,0.701252612789,0.701320959232,0.701389299229,0.701457632779,0.701525959881,0.701594280535,0.70166259474,0.701730902496,0.701799203801,0.701867498656,0.701935787059,0.70200406901,0.702072344508,0.702140613553,0.702208876144,0.702277132281,0.702345381962,0.702413625188,0.702481861957,0.702550092269,0.702618316124,0.70268653352,0.702754744457,0.702822948935,0.702891146952,0.702959338509,0.703027523604,0.703095702237,0.703163874407,0.703232040114,0.703300199358,0.703368352136,0.703436498449,0.703504638297,0.703572771678,0.703640898592,0.703709019038,0.703777133016,0.703845240524,0.703913341564,0.703981436133,0.704049524231,0.704117605858,0.704185681012,0.704253749694,0.704321811903,0.704389867637,0.704457916897,0.704525959682,0.704593995991,0.704662025823,0.704730049179,0.704798066056,0.704866076456,0.704934080376,0.705002077817,0.705070068777,0.705138053257,0.705206031255,0.705274002771,0.705341967804,0.705409926354,0.70547787842,0.705545824001,0.705613763097,0.705681695708,0.705749621831,0.705817541468,0.705885454617,0.705953361278,0.706021261449,0.706089155131,0.706157042323,0.706224923024,0.706292797234,0.706360664951,0.706428526176,0.706496380907,0.706564229145,0.706632070888,0.706699906135,0.706767734887,0.706835557142,0.706903372901,0.706971182161,0.707038984923,0.707106781187,0.70717457095,0.707242354214,0.707310130976,0.707377901238,0.707445664997,0.707513422253,0.707581173006,0.707648917256,0.707716655,0.70778438624,0.707852110974,0.707919829201,0.707987540921,0.708055246134,0.708122944838,0.708190637033,0.708258322719,0.708326001895,0.70839367456,0.708461340713,0.708529000354,0.708596653483,0.708664300099,0.7087319402,0.708799573788,0.70886720086,0.708934821416,0.709002435456,0.709070042978,0.709137643984,0.709205238471,0.709272826439,0.709340407888,0.709407982816,0.709475551224,0.70954311311,0.709610668475,0.709678217317,0.709745759636,0.70981329543,0.709880824701,0.709948347446,0.710015863666,0.710083373359,0.710150876526,0.710218373164,0.710285863275,0.710353346857,0.71042082391,0.710488294432,0.710555758424,0.710623215884,0.710690666813,0.710758111209,0.710825549072,0.710892980401,0.710960405196,0.711027823456,0.71109523518,0.711162640368,0.711230039019,0.711297431133,0.711364816708,0.711432195745,0.711499568243,0.7115669342,0.711634293617,0.711701646493,0.711768992827,0.711836332619,0.711903665867,0.711970992572,0.712038312733,0.712105626348,0.712172933418,0.712240233942,0.71230752792,0.71237481535,0.712442096231,0.712509370565,0.712576638349,0.712643899583,0.712711154267,0.712778402399,0.71284564398,0.712912879009,0.712980107484,0.713047329406,0.713114544774,0.713181753587,0.713248955845,0.713316151547,0.713383340692,0.71345052328,0.713517699309,0.713584868781,0.713652031693,0.713719188046,0.713786337838,0.713853481069,0.713920617738,0.713987747846,0.71405487139,0.714121988372,0.714189098789,0.714256202641,0.714323299928,0.714390390649,0.714457474804,0.714524552392,0.714591623411,0.714658687863,0.714725745745,0.714792797058,0.714859841801,0.714926879972,0.714993911573,0.715060936601,0.715127955056,0.715194966939,0.715261972247,0.715328970981,0.715395963139,0.715462948722,0.715529927729,0.715596900158,0.71566386601,0.715730825284,0.715797777979,0.715864724094,0.715931663629,0.715998596584,0.716065522957,0.716132442748,0.716199355957,0.716266262583,0.716333162625,0.716400056082,0.716466942955,0.716533823242,0.716600696943,0.716667564056,0.716734424583,0.716801278521,0.716868125871,0.716934966631,0.717001800802,0.717068628381,0.71713544937,0.717202263767,0.717269071572,0.717335872784,0.717402667402,0.717469455425,0.717536236854,0.717603011688,0.717669779926,0.717736541566,0.71780329661,0.717870045056,0.717936786903,0.718003522151,0.718070250799,0.718136972847,0.718203688294,0.71827039714,0.718337099383,0.718403795023,0.718470484061,0.718537166494,0.718603842322,0.718670511545,0.718737174162,0.718803830173,0.718870479577,0.718937122373,0.71900375856,0.719070388139,0.719137011108,0.719203627467,0.719270237216,0.719336840353,0.719403436878,0.71947002679,0.719536610089,0.719603186774,0.719669756845,0.719736320301,0.719802877141,0.719869427365,0.719935970972,0.720002507961,0.720069038333,0.720135562085,0.720202079219,0.720268589732,0.720335093625,0.720401590897,0.720468081546,0.720534565574,0.720601042978,0.720667513759,0.720733977916,0.720800435448,0.720866886354,0.720933330634,0.720999768288,0.721066199315,0.721132623713,0.721199041483,0.721265452624,0.721331857135,0.721398255016,0.721464646266,0.721531030884,0.72159740887,0.721663780224,0.721730144944,0.72179650303,0.721862854481,0.721929199298,0.721995537478,0.722061869022,0.722128193929,0.722194512199,0.72226082383,0.722327128822,0.722393427175,0.722459718887,0.722526003959,0.72259228239,0.722658554179,0.722724819325,0.722791077828,0.722857329687,0.722923574902,0.722989813472,0.723056045397,0.723122270675,0.723188489307,0.723254701291,0.723320906627,0.723387105314,0.723453297353,0.723519482741,0.723585661479,0.723651833566,0.723717999001,0.723784157784,0.723850309915,0.723916455391,0.723982594214,0.724048726382,0.724114851895,0.724180970751,0.724247082951,0.724313188495,0.72437928738,0.724445379607,0.724511465175,0.724577544084,0.724643616332,0.724709681919,0.724775740846,0.72484179311,0.724907838712,0.72497387765,0.725039909925,0.725105935535,0.72517195448,0.72523796676,0.725303972373,0.72536997132,0.725435963599,0.72550194921,0.725567928152,0.725633900425,0.725699866028,0.725765824961,0.725831777223,0.725897722813,0.72596366173,0.726029593975,0.726095519546,0.726161438444,0.726227350666,0.726293256213,0.726359155084,0.726425047279,0.726490932796,0.726556811636,0.726622683798,0.72668854928,0.726754408083,0.726820260206,0.726886105648,0.726951944408,0.727017776487,0.727083601883,0.727149420595,0.727215232624,0.727281037969,0.727346836628,0.727412628602,0.72747841389,0.727544192491,0.727609964404,0.72767572963,0.727741488167,0.727807240014,0.727872985172,0.727938723639,0.728004455415,0.7280701805,0.728135898892,0.728201610591,0.728267315597,0.728333013909,0.728398705526,0.728464390448,0.728530068674,0.728595740204,0.728661405036,0.728727063171,0.728792714607,0.728858359345,0.728923997383,0.728989628721,0.729055253358,0.729120871293,0.729186482527,0.729252087059,0.729317684887,0.729383276012,0.729448860432,0.729514438147,0.729580009157,0.72964557346,0.729711131057,0.729776681947,0.729842226128,0.729907763601,0.729973294365,0.730038818419,0.730104335763,0.730169846395,0.730235350317,0.730300847526,0.730366338022,0.730431821805,0.730497298874,0.730562769228,0.730628232867,0.73069368979,0.730759139997,0.730824583487,0.73089002026,0.730955450314,0.731020873649,0.731086290265,0.731151700162,0.731217103337,0.731282499791,0.731347889524,0.731413272534,0.731478648821,0.731544018385,0.731609381224,0.731674737338,0.731740086728,0.731805429391,0.731870765327,0.731936094537,0.732001417018,0.732066732771,0.732132041795,0.73219734409,0.732262639654,0.732327928488,0.73239321059,0.73245848596,0.732523754598,0.732589016502,0.732654271672,0.732719520109,0.73278476181,0.732849996775,0.732915225005,0.732980446497,0.733045661252,0.733110869269,0.733176070548,0.733241265087,0.733306452887,0.733371633946,0.733436808264,0.733501975841,0.733567136675,0.733632290766,0.733697438115,0.733762578719,0.733827712578,0.733892839693,0.733957960061,0.734023073684,0.734088180559,0.734153280687,0.734218374066,0.734283460697,0.734348540578,0.73441361371,0.73447868009,0.73454373972,0.734608792598,0.734673838723,0.734738878096,0.734803910715,0.73486893658,0.73493395569,0.734998968044,0.735063973643,0.735128972485,0.73519396457,0.735258949898,0.735323928467,0.735388900277,0.735453865327,0.735518823618,0.735583775147,0.735648719916,0.735713657922,0.735778589166,0.735843513646,0.735908431363,0.735973342316,0.736038246504,0.736103143926,0.736168034582,0.736232918472,0.736297795594,0.736362665948,0.736427529534,0.736492386351,0.736557236398,0.736622079675,0.736686916181,0.736751745915,0.736816568877,0.736881385067,0.736946194484,0.737010997126,0.737075792994,0.737140582087,0.737205364405,0.737270139946,0.73733490871,0.737399670697,0.737464425906,0.737529174337,0.737593915988,0.737658650859,0.73772337895,0.73778810026,0.737852814788,0.737917522535,0.737982223498,0.738046917678,0.738111605074,0.738176285686,0.738240959512,0.738305626552,0.738370286807,0.738434940274,0.738499586954,0.738564226845,0.738628859948,0.738693486262,0.738758105785,0.738822718519,0.738887324461,0.738951923611,0.739016515969,0.739081101534,0.739145680306,0.739210252284,0.739274817467,0.739339375854,0.739403927446,0.739468472242,0.73953301024,0.739597541441,0.739662065843,0.739726583447,0.739791094251,0.739855598256,0.73992009546,0.739984585862,0.740049069463,0.740113546261,0.740178016257,0.740242479449,0.740306935836,0.740371385419,0.740435828197,0.740500264169,0.740564693334,0.740629115692,0.740693531242,0.740757939984,0.740822341918,0.740886737041,0.740951125355,0.741015506858,0.74107988155,0.74114424943,0.741208610497,0.741272964751,0.741337312192,0.741401652819,0.741465986631,0.741530313627,0.741594633807,0.741658947171,0.741723253718,0.741787553447,0.741851846357,0.741916132449,0.741980411721,0.742044684173,0.742108949804,0.742173208614,0.742237460602,0.742301705767,0.74236594411,0.742430175629,0.742494400323,0.742558618193,0.742622829237,0.742687033455,0.742751230847,0.742815421411,0.742879605148,0.742943782056,0.743007952135,0.743072115385,0.743136271804,0.743200421393,0.74326456415,0.743328700076,0.743392829169,0.743456951429,0.743521066855,0.743585175447,0.743649277203,0.743713372125,0.74377746021,0.743841541459,0.743905615871,0.743969683445,0.74403374418,0.744097798076,0.744161845133,0.74422588535,0.744289918725,0.74435394526,0.744417964952,0.744481977802,0.744545983809,0.744609982972,0.744673975291,0.744737960765,0.744801939394,0.744865911176,0.744929876112,0.744993834201,0.745057785441,0.745121729834,0.745185667377,0.745249598071,0.745313521914,0.745377438907,0.745441349049,0.745505252338,0.745569148775,0.745633038359,0.745696921089,0.745760796965,0.745824665986,0.745888528152,0.745952383461,0.746016231914,0.74608007351,0.746143908248,0.746207736127,0.746271557148,0.746335371309,0.74639917861,0.74646297905,0.746526772628,0.746590559345,0.746654339199,0.746718112191,0.746781878318,0.746845637581,0.74690938998,0.746973135513,0.74703687418,0.74710060598,0.747164330913,0.747228048979,0.747291760176,0.747355464504,0.747419161963,0.747482852551,0.747546536269,0.747610213115,0.74767388309,0.747737546192,0.747801202421,0.747864851777,0.747928494258,0.747992129864,0.748055758595,0.74811938045,0.748182995429,0.74824660353,0.748310204754,0.748373799099,0.748437386566,0.748500967153,0.74856454086,0.748628107686,0.748691667631,0.748755220695,0.748818766875,0.748882306173,0.748945838588,0.749009364118,0.749072882763,0.749136394523,0.749199899398,0.749263397385,0.749326888486,0.749390372699,0.749453850024,0.74951732046,0.749580784006,0.749644240663,0.749707690429,0.749771133304,0.749834569287,0.749897998378,0.749961420576,0.75002483588,0.750088244291,0.750151645806,0.750215040427,0.750278428151,0.75034180898,0.750405182911,0.750468549945,0.75053191008,0.750595263317,0.750658609655,0.750721949092,0.750785281629,0.750848607265,0.750911926,0.750975237832,0.751038542762,0.751101840788,0.75116513191,0.751228416127,0.75129169344,0.751354963846,0.751418227347,0.75148148394,0.751544733626,0.751607976404,0.751671212274,0.751734441234,0.751797663284,0.751860878424,0.751924086654,0.751987287971,0.752050482377,0.75211366987,0.752176850449,0.752240024115,0.752303190866,0.752366350702,0.752429503623,0.752492649627,0.752555788715,0.752618920886,0.752682046138,0.752745164472,0.752808275887,0.752871380382,0.752934477957,0.752997568612,0.753060652344,0.753123729155,0.753186799044,0.753249862009,0.75331291805,0.753375967167,0.75343900936,0.753502044627,0.753565072968,0.753628094382,0.753691108869,0.753754116428,0.753817117059,0.753880110761,0.753943097533,0.754006077376,0.754069050288,0.754132016268,0.754194975317,0.754257927433,0.754320872617,0.754383810866,0.754446742182,0.754509666563,0.754572584008,0.754635494518,0.754698398092,0.754761294728,0.754824184426,0.754887067187,0.754949943009,0.755012811891,0.755075673834,0.755138528836,0.755201376897,0.755264218016,0.755327052193,0.755389879427,0.755452699718,0.755515513065,0.755578319467,0.755641118924,0.755703911436,0.755766697001,0.75582947562,0.755892247291,0.755955012014,0.756017769788,0.756080520614,0.756143264489,0.756206001414,0.756268731389,0.756331454412,0.756394170483,0.756456879601,0.756519581766,0.756582276977,0.756644965234,0.756707646536,0.756770320883,0.756832988273,0.756895648707,0.756958302184,0.757020948703,0.757083588263,0.757146220865,0.757208846506,0.757271465188,0.75733407691,0.757396681669,0.757459279468,0.757521870303,0.757584454176,0.757647031085,0.75770960103,0.757772164011,0.757834720026,0.757897269075,0.757959811158,0.758022346273,0.758084874422,0.758147395602,0.758209909813,0.758272417055,0.758334917327,0.758397410629,0.75845989696,0.758522376319,0.758584848705,0.75864731412,0.75870977256,0.758772224027,0.75883466852,0.758897106037,0.758959536579,0.759021960145,0.759084376733,0.759146786345,0.759209188978,0.759271584633,0.759333973309,0.759396355006,0.759458729722,0.759521097457,0.759583458211,0.759645811984,0.759708158773,0.75977049858,0.759832831403,0.759895157241,0.759957476095,0.760019787964,0.760082092846,0.760144390742,0.760206681651,0.760268965573,0.760331242506,0.76039351245,0.760455775405,0.76051803137,0.760580280344,0.760642522328,0.760704757319,0.760766985319,0.760829206325,0.760891420339,0.760953627358,0.761015827383,0.761078020412,0.761140206446,0.761202385484,0.761264557525,0.761326722569,0.761388880615,0.761451031662,0.76151317571,0.761575312758,0.761637442806,0.761699565854,0.761761681899,0.761823790943,0.761885892985,0.761947988023,0.762010076058,0.762072157089,0.762134231114,0.762196298135,0.762258358149,0.762320411157,0.762382457158,0.762444496151,0.762506528136,0.762568553112,0.762630571078,0.762692582035,0.762754585981,0.762816582917,0.76287857284,0.762940555752,0.76300253165,0.763064500535,0.763126462407,0.763188417263,0.763250365105,0.763312305931,0.763374239741,0.763436166534,0.76349808631,0.763559999068,0.763621904807,0.763683803528,0.763745695228,0.763807579909,0.763869457569,0.763931328207,0.763993191824,0.764055048418,0.764116897989,0.764178740536,0.764240576059,0.764302404558,0.764364226031,0.764426040479,0.7644878479,0.764549648293,0.76461144166,0.764673227998,0.764735007308,0.764796779588,0.764858544838,0.764920303058,0.764982054247,0.765043798405,0.76510553553,0.765167265622,0.765228988682,0.765290704707,0.765352413699,0.765414115655,0.765475810575,0.76553749846,0.765599179308,0.765660853119,0.765722519892,0.765784179626,0.765845832322,0.765907477978,0.765969116594,0.76603074817,0.766092372704,0.766153990196,0.766215600647,0.766277204054,0.766338800418,0.766400389738,0.766461972013,0.766523547243,0.766585115427,0.766646676565,0.766708230657,0.7667697777,0.766831317696,0.766892850643,0.766954376542,0.76701589539,0.767077407188,0.767138911936,0.767200409632,0.767261900276,0.767323383868,0.767384860406,0.767446329891,0.767507792322,0.767569247698,0.767630696018,0.767692137283,0.767753571491,0.767814998642,0.767876418736,0.767937831772,0.767999237748,0.768060636666,0.768122028523,0.768183413321,0.768244791057,0.768306161731,0.768367525344,0.768428881894,0.768490231381,0.768551573804,0.768612909162,0.768674237456,0.768735558684,0.768796872846,0.768858179941,0.76891947997,0.76898077293,0.769042058822,0.769103337646,0.769164609399,0.769225874083,0.769287131697,0.769348382239,0.76940962571,0.769470862108,0.769532091433,0.769593313685,0.769654528864,0.769715736967,0.769776937996,0.769838131949,0.769899318826,0.769960498626,0.770021671348,0.770082836993,0.77014399556,0.770205147047,0.770266291455,0.770327428783,0.77038855903,0.770449682196,0.77051079828,0.770571907281,0.7706330092,0.770694104035,0.770755191786,0.770816272453,0.770877346034,0.77093841253,0.770999471939,0.771060524262,0.771121569497,0.771182607644,0.771243638702,0.771304662672,0.771365679552,0.771426689341,0.77148769204,0.771548687647,0.771609676163,0.771670657586,0.771731631916,0.771792599152,0.771853559294,0.771914512342,0.771975458294,0.77203639715,0.77209732891,0.772158253573,0.772219171139,0.772280081606,0.772340984975,0.772401881245,0.772462770415,0.772523652484,0.772584527453,0.77264539532,0.772706256086,0.772767109748,0.772827956308,0.772888795764,0.772949628116,0.773010453363,0.773071271504,0.77313208254,0.773192886469,0.773253683291,0.773314473006,0.773375255613,0.77343603111,0.773496799499,0.773557560778,0.773618314946,0.773679062003,0.773739801949,0.773800534783,0.773861260504,0.773921979112,0.773982690607,0.774043394987,0.774104092252,0.774164782402,0.774225465436,0.774286141353,0.774346810154,0.774407471836,0.774468126401,0.774528773846,0.774589414173,0.774650047379,0.774710673466,0.774771292431,0.774831904274,0.774892508996,0.774953106595,0.775013697071,0.775074280423,0.77513485665,0.775195425753,0.77525598773,0.775316542582,0.775377090306,0.775437630904,0.775498164374,0.775558690716,0.775619209929,0.775679722013,0.775740226967,0.77580072479,0.775861215483,0.775921699043,0.775982175472,0.776042644768,0.776103106931,0.77616356196,0.776224009855,0.776284450615,0.776344884239,0.776405310728,0.77646573008,0.776526142295,0.776586547372,0.776646945311,0.776707336111,0.776767719772,0.776828096293,0.776888465673,0.776948827913,0.777009183011,0.777069530967,0.77712987178,0.77719020545,0.777250531976,0.777310851358,0.777371163595,0.777431468687,0.777491766632,0.777552057431,0.777612341083,0.777672617588,0.777732886944,0.777793149151,0.777853404209,0.777913652118,0.777973892876,0.778034126482,0.778094352938,0.778154572241,0.778214784392,0.778274989389,0.778335187233,0.778395377922,0.778455561457,0.778515737836,0.778575907059,0.778636069126,0.778696224036,0.778756371788,0.778816512381,0.778876645817,0.778936772093,0.778996891209,0.779057003164,0.779117107959,0.779177205593,0.779237296064,0.779297379373,0.779357455518,0.7794175245,0.779477586318,0.779537640971,0.779597688458,0.77965772878,0.779717761935,0.779777787923,0.779837806744,0.779897818396,0.77995782288,0.780017820195,0.78007781034,0.780137793314,0.780197769118,0.78025773775,0.780317699211,0.780377653499,0.780437600613,0.780497540555,0.780557473322,0.780617398914,0.780677317331,0.780737228572,0.780797132637,0.780857029525,0.780916919235,0.780976801768,0.781036677122,0.781096545296,0.781156406291,0.781216260106,0.78127610674,0.781335946193,0.781395778464,0.781455603552,0.781515421458,0.78157523218,0.781635035718,0.781694832071,0.781754621239,0.781814403222,0.781874178018,0.781933945627,0.781993706049,0.782053459283,0.782113205328,0.782172944185,0.782232675852,0.782292400329,0.782352117615,0.78241182771,0.782471530613,0.782531226324,0.782590914842,0.782650596167,0.782710270297,0.782769937233,0.782829596975,0.78288924952,0.782948894869,0.783008533022,0.783068163977,0.783127787735,0.783187404294,0.783247013655,0.783306615816,0.783366210777,0.783425798537,0.783485379096,0.783544952454,0.78360451861,0.783664077562,0.783723629312,0.783783173858,0.783842711199,0.783902241336,0.783961764266,0.784021279991,0.78408078851,0.784140289821,0.784199783925,0.78425927082,0.784318750507,0.784378222984,0.784437688252,0.784497146309,0.784556597156,0.78461604079,0.784675477213,0.784734906423,0.78479432842,0.784853743204,0.784913150773,0.784972551128,0.785031944267,0.78509133019,0.785150708897,0.785210080387,0.78526944466,0.785328801714,0.78538815155,0.785447494167,0.785506829564,0.785566157741,0.785625478697,0.785684792432,0.785744098945,0.785803398236,0.785862690303,0.785921975148,0.785981252768,0.786040523163,0.786099786334,0.786159042279,0.786218290997,0.786277532489,0.786336766754,0.786395993791,0.786455213599,0.786514426179,0.786573631529,0.786632829648,0.786692020538,0.786751204196,0.786810380623,0.786869549817,0.786928711779,0.786987866507,0.787047014002,0.787106154262,0.787165287288,0.787224413078,0.787283531631,0.787342642949,0.787401747029,0.787460843872,0.787519933476,0.787579015842,0.787638090968,0.787697158855,0.787756219501,0.787815272907,0.787874319071,0.787933357993,0.787992389673,0.788051414109,0.788110431302,0.788169441251,0.788228443955,0.788287439414,0.788346427627,0.788405408593,0.788464382313,0.788523348786,0.78858230801,0.788641259986,0.788700204714,0.788759142191,0.788818072418,0.788876995395,0.788935911121,0.788994819595,0.789053720816,0.789112614785,0.7891715015,0.789230380962,0.789289253169,0.789348118121,0.789406975818,0.789465826258,0.789524669442,0.789583505369,0.789642334038,0.789701155449,0.789759969601,0.789818776494,0.789877576127,0.789936368499,0.789995153611,0.790053931461,0.790112702049,0.790171465375,0.790230221437,0.790288970236,0.790347711771,0.790406446041,0.790465173046,0.790523892785,0.790582605257,0.790641310463,0.790700008402,0.790758699072,0.790817382474,0.790876058607,0.790934727471,0.790993389064,0.791052043386,0.791110690438,0.791169330218,0.791227962725,0.79128658796,0.791345205921,0.791403816609,0.791462420022,0.79152101616,0.791579605023,0.791638186609,0.791696760919,0.791755327952,0.791813887707,0.791872440184,0.791930985383,0.791989523302,0.792048053941,0.7921065773,0.792165093378,0.792223602175,0.79228210369,0.792340597922,0.792399084871,0.792457564537,0.792516036918,0.792574502015,0.792632959827,0.792691410353,0.792749853593,0.792808289546,0.792866718212,0.79292513959,0.792983553679,0.793041960479,0.79310035999,0.793158752211,0.793217137142,0.793275514781,0.793333885129,0.793392248185,0.793450603948,0.793508952417,0.793567293593,0.793625627475,0.793683954062,0.793742273353,0.793800585349,0.793858890048,0.79391718745,0.793975477554,0.794033760361,0.794092035869,0.794150304078,0.794208564987,0.794266818596,0.794325064904,0.794383303911,0.794441535616,0.794499760019,0.794557977119,0.794616186915,0.794674389408,0.794732584596,0.794790772479,0.794848953057,0.794907126328,0.794965292293,0.795023450951,0.795081602301,0.795139746343,0.795197883076,0.7952560125,0.795314134613,0.795372249417,0.79543035691,0.795488457091,0.79554654996,0.795604635517,0.795662713761,0.795720784691,0.795778848307,0.795836904609,0.795894953595,0.795952995266,0.79601102962,0.796069056658,0.796127076378,0.796185088781,0.796243093865,0.79630109163,0.796359082076,0.796417065202,0.796475041008,0.796533009492,0.796590970655,0.796648924495,0.796706871013,0.796764810208,0.79682274208,0.796880666627,0.796938583849,0.796996493746,0.797054396317,0.797112291562,0.79717017948,0.79722806007,0.797285933333,0.797343799267,0.797401657872,0.797459509147,0.797517353093,0.797575189708,0.797633018991,0.797690840943,0.797748655563,0.79780646285,0.797864262804,0.797922055424,0.79797984071,0.798037618661,0.798095389276,0.798153152556,0.798210908499,0.798268657105,0.798326398373,0.798384132304,0.798441858896,0.798499578149,0.798557290062,0.798614994635,0.798672691867,0.798730381758,0.798788064308,0.798845739515,0.798903407379,0.7989610679,0.799018721077,0.799076366909,0.799134005397,0.799191636539,0.799249260335,0.799306876785,0.799364485888,0.799422087643,0.79947968205,0.799537269108,0.799594848817,0.799652421176,0.799709986186,0.799767543844,0.799825094151,0.799882637106,0.799940172709,0.799997700959,0.800055221856,0.800112735399,0.800170241587,0.80022774042,0.800285231898,0.80034271602,0.800400192785,0.800457662193,0.800515124243,0.800572578935,0.800630026269,0.800687466243,0.800744898857,0.800802324112,0.800859742005,0.800917152537,0.800974555708,0.801031951515,0.80108933996,0.801146721042,0.80120409476,0.801261461113,0.801318820101,0.801376171723,0.80143351598,0.801490852869,0.801548182392,0.801605504547,0.801662819334,0.801720126752,0.801777426801,0.80183471948,0.801892004789,0.801949282727,0.802006553293,0.802063816488,0.802121072311,0.80217832076,0.802235561836,0.802292795538,0.802350021866,0.802407240818,0.802464452395,0.802521656596,0.80257885342,0.802636042867,0.802693224937,0.802750399628,0.802807566941,0.802864726874,0.802921879428,0.802979024601,0.803036162393,0.803093292804,0.803150415834,0.803207531481,0.803264639745,0.803321740625,0.803378834122,0.803435920234,0.803492998961,0.803550070303,0.803607134258,0.803664190827,0.803721240009,0.803778281803,0.803835316209,0.803892343226,0.803949362854,0.804006375093,0.804063379941,0.804120377398,0.804177367464,0.804234350139,0.80429132542,0.804348293309,0.804405253805,0.804462206907,0.804519152614,0.804576090926,0.804633021843,0.804689945364,0.804746861488,0.804803770215,0.804860671545,0.804917565476,0.804974452009,0.805031331143,0.805088202877,0.805145067211,0.805201924144,0.805258773676,0.805315615806,0.805372450534,0.805429277859,0.80548609778,0.805542910298,0.805599715412,0.80565651312,0.805713303423,0.805770086321,0.805826861811,0.805883629895,0.805940390571,0.805997143839,0.806053889699,0.80611062815,0.806167359191,0.806224082821,0.806280799042,0.806337507851,0.806394209248,0.806450903233,0.806507589806,0.806564268965,0.80662094071,0.806677605041,0.806734261958,0.806790911459,0.806847553544,0.806904188213,0.806960815464,0.807017435299,0.807074047716,0.807130652714,0.807187250293,0.807243840452,0.807300423192,0.807356998511,0.807413566409,0.807470126886,0.80752667994,0.807583225572,0.80763976378,0.807696294565,0.807752817926,0.807809333862,0.807865842373,0.807922343458,0.807978837117,0.80803532335,0.808091802154,0.808148273531,0.80820473748,0.808261194,0.808317643091,0.808374084751,0.808430518982,0.808486945781,0.808543365149,0.808599777085,0.808656181588,0.808712578659,0.808768968296,0.808825350499,0.808881725267,0.8089380926,0.808994452498,0.80905080496,0.809107149985,0.809163487572,0.809219817723,0.809276140435,0.809332455708,0.809388763542,0.809445063937,0.809501356891,0.809557642404,0.809613920476,0.809670191106,0.809726454294,0.80978271004,0.809838958341,0.809895199199,0.809951432613,0.810007658582,0.810063877105,0.810120088182,0.810176291813,0.810232487997,0.810288676733,0.810344858022,0.810401031862,0.810457198253,0.810513357194,0.810569508685,0.810625652726,0.810681789315,0.810737918453,0.810794040139,0.810850154372,0.810906261152,0.810962360479,0.811018452351,0.811074536768,0.811130613731,0.811186683237,0.811242745287,0.811298799881,0.811354847017,0.811410886695,0.811466918916,0.811522943677,0.811578960979,0.811634970821,0.811690973202,0.811746968123,0.811802955583,0.81185893558,0.811914908115,0.811970873187,0.812026830796,0.81208278094,0.81213872362,0.812194658836,0.812250586585,0.812306506869,0.812362419686,0.812418325036,0.812474222918,0.812530113333,0.812585996278,0.812641871755,0.812697739762,0.812753600299,0.812809453365,0.81286529896,0.812921137083,0.812976967734,0.813032790913,0.813088606618,0.813144414849,0.813200215606,0.813256008889,0.813311794696,0.813367573027,0.813423343883,0.813479107261,0.813534863162,0.813590611585,0.81364635253,0.813702085995,0.813757811982,0.813813530489,0.813869241515,0.81392494506,0.813980641124,0.814036329706,0.814092010805,0.814147684422,0.814203350555,0.814259009204,0.814314660369,0.814370304048,0.814425940242,0.81448156895,0.814537190172,0.814592803906,0.814648410153,0.814704008912,0.814759600182,0.814815183964,0.814870760255,0.814926329057,0.814981890367,0.815037444187,0.815092990515,0.815148529351,0.815204060694,0.815259584544,0.8153151009,0.815370609762,0.81542611113,0.815481605002,0.815537091378,0.815592570259,0.815648041642,0.815703505528,0.815758961917,0.815814410807,0.815869852198,0.81592528609,0.815980712482,0.816036131374,0.816091542765,0.816146946655,0.816202343043,0.816257731928,0.816313113311,0.81636848719,0.816423853566,0.816479212437,0.816534563803,0.816589907664,0.816645244018,0.816700572867,0.816755894208,0.816811208042,0.816866514368,0.816921813186,0.816977104494,0.817032388294,0.817087664583,0.817142933361,0.817198194629,0.817253448385,0.817308694629,0.817363933361,0.817419164579,0.817474388284,0.817529604475,0.817584813152,0.817640014313,0.817695207959,0.817750394088,0.817805572701,0.817860743797,0.817915907376,0.817971063436,0.818026211978,0.818081353,0.818136486503,0.818191612486,0.818246730948,0.818301841889,0.818356945309,0.818412041206,0.81846712958,0.818522210432,0.818577283759,0.818632349563,0.818687407842,0.818742458595,0.818797501823,0.818852537525,0.8189075657,0.818962586347,0.819017599467,0.819072605059,0.819127603122,0.819182593656,0.81923757666,0.819292552134,0.819347520077,0.819402480489,0.819457433369,0.819512378716,0.819567316531,0.819622246813,0.819677169561,0.819732084774,0.819786992453,0.819841892596,0.819896785204,0.819951670275,0.82000654781,0.820061417807,0.820116280266,0.820171135187,0.820225982569,0.820280822412,0.820335654715,0.820390479478,0.8204452967,0.82050010638,0.820554908519,0.820609703115,0.820664490168,0.820719269678,0.820774041644,0.820828806066,0.820883562943,0.820938312274,0.82099305406,0.821047788299,0.821102514991,0.821157234136,0.821211945733,0.821266649781,0.821321346281,0.821376035231,0.821430716632,0.821485390482,0.821540056781,0.821594715528,0.821649366724,0.821704010367,0.821758646457,0.821813274994,0.821867895977,0.821922509406,0.821977115279,0.822031713597,0.82208630436,0.822140887565,0.822195463214,0.822250031306,0.822304591839,0.822359144814,0.82241369023,0.822468228087,0.822522758383,0.822577281119,0.822631796295,0.822686303908,0.82274080396,0.822795296449,0.822849781376,0.822904258739,0.822958728538,0.823013190772,0.823067645442,0.823122092546,0.823176532084,0.823230964056,0.82328538846,0.823339805298,0.823394214567,0.823448616268,0.8235030104,0.823557396962,0.823611775954,0.823666147376,0.823720511227,0.823774867507,0.823829216215,0.82388355735,0.823937890912,0.8239922169,0.824046535315,0.824100846156,0.824155149421,0.824209445111,0.824263733225,0.824318013762,0.824372286723,0.824426552106,0.824480809911,0.824535060137,0.824589302785,0.824643537853,0.824697765342,0.824751985249,0.824806197576,0.824860402322,0.824914599485,0.824968789066,0.825022971065,0.825077145479,0.82513131231,0.825185471556,0.825239623218,0.825293767294,0.825347903784,0.825402032688,0.825456154004,0.825510267734,0.825564373875,0.825618472428,0.825672563392,0.825726646767,0.825780722552,0.825834790746,0.82588885135,0.825942904362,0.825996949782,0.82605098761,0.826105017845,0.826159040486,0.826213055534,0.826267062987,0.826321062846,0.826375055109,0.826429039776,0.826483016847,0.826536986321,0.826590948197,0.826644902476,0.826698849157,0.826752788238,0.826806719721,0.826860643603,0.826914559885,0.826968468567,0.827022369647,0.827076263125,0.827130149001,0.827184027274,0.827237897943,0.827291761009,0.827345616471,0.827399464328,0.82745330458,0.827507137226,0.827560962265,0.827614779698,0.827668589524,0.827722391741,0.827776186351,0.827829973352,0.827883752743,0.827937524525,0.827991288697,0.828045045258,0.828098794207,0.828152535545,0.828206269271,0.828259995384,0.828313713884,0.828367424771,0.828421128043,0.8284748237,0.828528511742,0.828582192169,0.828635864979,0.828689530173,0.82874318775,0.828796837709,0.82885048005,0.828904114772,0.828957741875,0.829011361359,0.829064973222,0.829118577465,0.829172174087,0.829225763087,0.829279344465,0.829332918221,0.829386484353,0.829440042862,0.829493593747,0.829547137008,0.829600672643,0.829654200653,0.829707721037,0.829761233795,0.829814738925,0.829868236428,0.829921726303,0.829975208549,0.830028683167,0.830082150155,0.830135609513,0.830189061241,0.830242505338,0.830295941803,0.830349370637,0.830402791838,0.830456205406,0.830509611341,0.830563009642,0.830616400309,0.830669783341,0.830723158737,0.830776526498,0.830829886622,0.83088323911,0.83093658396,0.830989921172,0.831043250746,0.831096572682,0.831149886978,0.831203193634,0.83125649265,0.831309784026,0.83136306776,0.831416343852,0.831469612303,0.83152287311,0.831576126274,0.831629371795,0.831682609672,0.831735839904,0.83178906249,0.831842277432,0.831895484727,0.831948684375,0.832001876376,0.83205506073,0.832108237436,0.832161406493,0.832214567901,0.832267721659,0.832320867768,0.832374006226,0.832427137033,0.832480260188,0.832533375692,0.832586483543,0.832639583741,0.832692676286,0.832745761176,0.832798838413,0.832851907994,0.83290496992,0.83295802419,0.833011070804,0.833064109761,0.83311714106,0.833170164702,0.833223180685,0.83327618901,0.833329189675,0.833382182681,0.833435168026,0.83348814571,0.833541115733,0.833594078095,0.833647032794,0.833699979831,0.833752919204,0.833805850914,0.833858774959,0.83391169134,0.833964600056,0.834017501106,0.83407039449,0.834123280207,0.834176158258,0.83422902864,0.834281891355,0.834334746401,0.834387593778,0.834440433486,0.834493265524,0.834546089891,0.834598906587,0.834651715612,0.834704516965,0.834757310645,0.834810096652,0.834862874986,0.834915645647,0.834968408632,0.835021163943,0.835073911579,0.835126651539,0.835179383822,0.835232108429,0.835284825358,0.83533753461,0.835390236183,0.835442930078,0.835495616294,0.835548294829,0.835600965685,0.83565362886,0.835706284354,0.835758932166,0.835811572296,0.835864204743,0.835916829508,0.835969446589,0.836022055985,0.836074657698,0.836127251725,0.836179838066,0.836232416722,0.836284987691,0.836337550974,0.836390106568,0.836442654475,0.836495194694,0.836547727224,0.836600252064,0.836652769214,0.836705278674,0.836757780444,0.836810274522,0.836862760908,0.836915239602,0.836967710603,0.837020173911,0.837072629525,0.837125077445,0.837177517671,0.837229950201,0.837282375035,0.837334792174,0.837387201616,0.83743960336,0.837491997408,0.837544383757,0.837596762407,0.837649133359,0.837701496611,0.837753852163,0.837806200015,0.837858540166,0.837910872615,0.837963197363,0.838015514408,0.83806782375,0.838120125389,0.838172419324,0.838224705555,0.838276984081,0.838329254902,0.838381518017,0.838433773425,0.838486021127,0.838538261122,0.838590493409,0.838642717989,0.838694934859,0.83874714402,0.838799345472,0.838851539214,0.838903725245,0.838955903565,0.839008074174,0.83906023707,0.839112392254,0.839164539726,0.839216679484,0.839268811527,0.839320935857,0.839373052472,0.839425161371,0.839477262555,0.839529356022,0.839581441772,0.839633519805,0.839685590121,0.839737652718,0.839789707597,0.839841754756,0.839893794196,0.839945825916,0.839997849915,0.840049866193,0.840101874749,0.840153875583,0.840205868695,0.840257854084,0.84030983175,0.840361801691,0.840413763908,0.8404657184,0.840517665167,0.840569604208,0.840621535522,0.84067345911,0.84072537497,0.840777283103,0.840829183508,0.840881076183,0.84093296113,0.840984838347,0.841036707833,0.841088569589,0.841140423614,0.841192269908,0.841244108469,0.841295939298,0.841347762394,0.841399577756,0.841451385384,0.841503185278,0.841554977437,0.84160676186,0.841658538548,0.841710307499,0.841762068714,0.841813822191,0.841865567931,0.841917305932,0.841969036194,0.842020758718,0.842072473501,0.842124180545,0.842175879848,0.842227571409,0.842279255229,0.842330931308,0.842382599643,0.842434260236,0.842485913085,0.84253755819,0.842589195551,0.842640825167,0.842692447037,0.842744061162,0.84279566754,0.842847266172,0.842898857056,0.842950440192,0.84300201558,0.84305358322,0.84310514311,0.843156695251,0.843208239642,0.843259776282,0.843311305171,0.843362826308,0.843414339694,0.843465845327,0.843517343207,0.843568833333,0.843620315706,0.843671790324,0.843723257188,0.843774716296,0.843826167648,0.843877611244,0.843929047084,0.843980475166,0.84403189549,0.844083308056,0.844134712864,0.844186109912,0.844237499201,0.84428888073,0.844340254499,0.844391620506,0.844442978752,0.844494329236,0.844545671957,0.844597006916,0.844648334111,0.844699653543,0.84475096521,0.844802269113,0.84485356525,0.844904853621,0.844956134226,0.845007407065,0.845058672137,0.845109929441,0.845161178976,0.845212420744,0.845263654742,0.845314880971,0.84536609943,0.845417310118,0.845468513036,0.845519708182,0.845570895556,0.845622075158,0.845673246987,0.845724411043,0.845775567326,0.845826715834,0.845877856567,0.845928989525,0.845980114708,0.846031232115,0.846082341745,0.846133443598,0.846184537674,0.846235623971,0.846286702491,0.846337773231,0.846388836192,0.846439891373,0.846490938774,0.846541978394,0.846593010233,0.84664403429,0.846695050565,0.846746059058,0.846797059767,0.846848052693,0.846899037834,0.846950015192,0.847000984764,0.84705194655,0.847102900551,0.847153846766,0.847204785193,0.847255715833,0.847306638686,0.84735755375,0.847408461025,0.847459360512,0.847510252208,0.847561136115,0.847612012231,0.847662880555,0.847713741089,0.84776459383,0.847815438779,0.847866275935,0.847917105297,0.847967926866,0.84801874064,0.848069546619,0.848120344803,0.848171135192,0.848221917784,0.848272692579,0.848323459578,0.848374218779,0.848424970181,0.848475713785,0.848526449591,0.848577177596,0.848627897802,0.848678610207,0.848729314812,0.848780011615,0.848830700616,0.848881381815,0.848932055212,0.848982720805,0.849033378594,0.84908402858,0.84913467076,0.849185305136,0.849235931706,0.84928655047,0.849337161428,0.849387764579,0.849438359922,0.849488947457,0.849539527185,0.849590099103,0.849640663212,0.849691219512,0.849741768001,0.849792308679,0.849842841547,0.849893366603,0.849943883847,0.849994393278,0.850044894897,0.850095388702,0.850145874693,0.850196352869,0.850246823231,0.850297285778,0.850347740509,0.850398187424,0.850448626522,0.850499057802,0.850549481266,0.850599896911,0.850650304737,0.850700704745,0.850751096933,0.850801481302,0.850851857849,0.850902226576,0.850952587482,0.851002940566,0.851053285828,0.851103623267,0.851153952883,0.851204274675,0.851254588643,0.851304894787,0.851355193105,0.851405483598,0.851455766266,0.851506041106,0.85155630812,0.851606567307,0.851656818666,0.851707062196,0.851757297898,0.851807525771,0.851857745814,0.851907958027,0.851958162409,0.85200835896,0.85205854768,0.852108728568,0.852158901624,0.852209066847,0.852259224236,0.852309373792,0.852359515513,0.8524096494,0.852459775451,0.852509893667,0.852560004047,0.85261010659,0.852660201296,0.852710288165,0.852760367196,0.852810438388,0.852860501742,0.852910557256,0.85296060493,0.853010644765,0.853060676758,0.853110700911,0.853160717221,0.85321072569,0.853260726316,0.8533107191,0.853360704039,0.853410681135,0.853460650387,0.853510611793,0.853560565355,0.85361051107,0.85366044894,0.853710378962,0.853760301138,0.853810215466,0.853860121946,0.853910020578,0.85395991136,0.854009794293,0.854059669377,0.85410953661,0.854159395992,0.854209247523,0.854259091202,0.854308927029,0.854358755003,0.854408575125,0.854458387392,0.854508191806,0.854557988365,0.85460777707,0.854657557919,0.854707330912,0.854757096049,0.854806853329,0.854856602752,0.854906344317,0.854956078025,0.855005803873,0.855055521863,0.855105231993,0.855154934263,0.855204628673,0.855254315222,0.855303993909,0.855353664735,0.855403327699,0.8554529828,0.855502630037,0.855552269412,0.855601900922,0.855651524567,0.855701140348,0.855750748263,0.855800348313,0.855849940496,0.855899524812,0.855949101261,0.855998669842,0.856048230555,0.8560977834,0.856147328375,0.856196865481,0.856246394717,0.856295916083,0.856345429577,0.8563949352,0.856444432952,0.856493922831,0.856543404838,0.856592878971,0.856642345231,0.856691803616,0.856741254128,0.856790696764,0.856840131525,0.856889558409,0.856938977418,0.85698838855,0.857037791804,0.857087187181,0.857136574679,0.857185954299,0.85723532604,0.857284689901,0.857334045883,0.857383393984,0.857432734204,0.857482066543,0.857531390999,0.857580707574,0.857630016266,0.857679317075,0.85772861,0.857777895041,0.857827172198,0.85787644147,0.857925702856,0.857974956357,0.858024201971,0.858073439698,0.858122669538,0.858171891491,0.858221105555,0.858270311731,0.858319510017,0.858368700414,0.858417882922,0.858467057538,0.858516224264,0.858565383099,0.858614534042,0.858663677093,0.858712812251,0.858761939516,0.858811058887,0.858860170365,0.858909273948,0.858958369636,0.859007457429,0.859056537325,0.859105609326,0.85915467343,0.859203729637,0.859252777946,0.859301818357,0.85935085087,0.859399875483,0.859448892197,0.859497901012,0.859546901926,0.859595894939,0.859644880051,0.859693857261,0.859742826569,0.859791787975,0.859840741477,0.859889687077,0.859938624772,0.859987554563,0.860036476449,0.860085390429,0.860134296504,0.860183194673,0.860232084935,0.860280967291,0.860329841738,0.860378708278,0.860427566909,0.860476417632,0.860525260445,0.860574095348,0.860622922341,0.860671741424,0.860720552595,0.860769355855,0.860818151202,0.860866938638,0.86091571816,0.860964489769,0.861013253464,0.861062009245,0.861110757112,0.861159497063,0.861208229099,0.861256953218,0.861305669421,0.861354377707,0.861403078076,0.861451770527,0.861500455059,0.861549131673,0.861597800368,0.861646461143,0.861695113998,0.861743758933,0.861792395946,0.861841025038,0.861889646209,0.861938259456,0.861986864782,0.862035462184,0.862084051662,0.862132633216,0.862181206846,0.862229772551,0.86227833033,0.862326880184,0.862375422111,0.862423956111,0.862472482184,0.86252100033,0.862569510547,0.862618012836,0.862666507196,0.862714993626,0.862763472126,0.862811942697,0.862860405336,0.862908860044,0.862957306821,0.863005745665,0.863054176577,0.863102599555,0.863151014601,0.863199421712,0.863247820889,0.863296212131,0.863344595439,0.86339297081,0.863441338245,0.863489697744,0.863538049305,0.86358639293,0.863634728616,0.863683056364,0.863731376173,0.863779688043,0.863827991973,0.863876287963,0.863924576013,0.863972856122,0.864021128289,0.864069392514,0.864117648797,0.864165897137,0.864214137534,0.864262369987,0.864310594496,0.864358811061,0.86440701968,0.864455220354,0.864503413082,0.864551597864,0.864599774699,0.864647943587,0.864696104527,0.864744257519,0.864792402563,0.864840539658,0.864888668803,0.864936789998,0.864984903243,0.865033008537,0.86508110588,0.865129195272,0.865177276711,0.865225350198,0.865273415731,0.865321473312,0.865369522938,0.865417564611,0.865465598328,0.865513624091,0.865561641897,0.865609651748,0.865657653642,0.865705647579,0.865753633559,0.865801611581,0.865849581645,0.86589754375,0.865945497896,0.865993444082,0.866041382309,0.866089312575,0.86613723488,0.866185149223,0.866233055605,0.866280954025,0.866328844481,0.866376726975,0.866424601505,0.866472468072,0.866520326674,0.866568177311,0.866616019982,0.866663854688,0.866711681428,0.866759500201,0.866807311007,0.866855113845,0.866902908716,0.866950695618,0.866998474552,0.867046245516,0.86709400851,0.867141763534,0.867189510588,0.867237249671,0.867284980782,0.867332703921,0.867380419088,0.867428126282,0.867475825503,0.867523516751,0.867571200024,0.867618875323,0.867666542646,0.867714201995,0.867761853367,0.867809496763,0.867857132183,0.867904759625,0.86795237909,0.867999990577,0.868047594085,0.868095189614,0.868142777164,0.868190356734,0.868237928324,0.868285491934,0.868333047562,0.868380595209,0.868428134873,0.868475666556,0.868523190255,0.868570705971,0.868618213704,0.868665713452,0.868713205216,0.868760688995,0.868808164788,0.868855632595,0.868903092416,0.868950544251,0.868997988098,0.869045423957,0.869092851828,0.869140271711,0.869187683605,0.86923508751,0.869282483424,0.869329871349,0.869377251282,0.869424623225,0.869471987176,0.869519343135,0.869566691101,0.869614031075,0.869661363056,0.869708687042,0.869756003035,0.869803311033,0.869850611035,0.869897903043,0.869945187054,0.869992463069,0.870039731088,0.870086991109,0.870134243132,0.870181487157,0.870228723184,0.870275951212,0.870323171241,0.870370383269,0.870417587298,0.870464783325,0.870511971352,0.870559151377,0.8706063234,0.870653487421,0.870700643438,0.870747791453,0.870794931464,0.87084206347,0.870889187472,0.870936303469,0.87098341146,0.871030511446,0.871077603425,0.871124687398,0.871171763363,0.871218831321,0.87126589127,0.871312943212,0.871359987144,0.871407023067,0.87145405098,0.871501070883,0.871548082775,0.871595086656,0.871642082526,0.871689070383,0.871736050229,0.871783022061,0.87182998588,0.871876941686,0.871923889477,0.871970829254,0.872017761016,0.872064684763,0.872111600493,0.872158508208,0.872205407906,0.872252299586,0.872299183249,0.872346058894,0.872392926521,0.872439786129,0.872486637717,0.872533481286,0.872580316835,0.872627144363,0.87267396387,0.872720775356,0.87276757882,0.872814374261,0.87286116168,0.872907941076,0.872954712448,0.873001475796,0.87304823112,0.873094978418,0.873141717692,0.873188448939,0.873235172161,0.873281887356,0.873328594524,0.873375293664,0.873421984777,0.873468667861,0.873515342917,0.873562009943,0.87360866894,0.873655319907,0.873701962843,0.873748597749,0.873795224623,0.873841843465,0.873888454276,0.873935057053,0.873981651798,0.874028238509,0.874074817186,0.874121387829,0.874167950438,0.874214505011,0.874261051548,0.87430759005,0.874354120515,0.874400642943,0.874447157334,0.874493663687,0.874540162002,0.874586652278,0.874633134516,0.874679608713,0.874726074872,0.874772532989,0.874818983066,0.874865425102,0.874911859097,0.874958285049,0.875004702959,0.875051112826,0.87509751465,0.87514390843,0.875190294165,0.875236671857,0.875283041503,0.875329403104,0.875375756659,0.875422102168,0.87546843963,0.875514769045,0.875561090413,0.875607403732,0.875653709003,0.875700006226,0.875746295399,0.875792576522,0.875838849595,0.875885114618,0.87593137159,0.87597762051,0.876023861379,0.876070094195,0.876116318959,0.87616253567,0.876208744327,0.87625494493,0.876301137479,0.876347321973,0.876393498412,0.876439666796,0.876485827123,0.876531979394,0.876578123608,0.876624259764,0.876670387863,0.876716507904,0.876762619886,0.876808723809,0.876854819673,0.876900907477,0.87694698722,0.876993058903,0.877039122525,0.877085178085,0.877131225583,0.877177265019,0.877223296392,0.877269319701,0.877315334947,0.877361342129,0.877407341246,0.877453332299,0.877499315286,0.877545290207,0.877591257062,0.877637215851,0.877683166572,0.877729109226,0.877775043812,0.87782097033,0.877866888779,0.877912799159,0.877958701469,0.878004595709,0.878050481879,0.878096359978,0.878142230005,0.878188091961,0.878233945845,0.878279791657,0.878325629395,0.87837145906,0.878417280651,0.878463094168,0.87850889961,0.878554696977,0.878600486269,0.878646267485,0.878692040625,0.878737805687,0.878783562673,0.878829311581,0.878875052411,0.878920785162,0.878966509835,0.879012226429,0.879057934942,0.879103635376,0.879149327729,0.879195012001,0.879240688192,0.879286356301,0.879332016328,0.879377668272,0.879423312133,0.879468947911,0.879514575604,0.879560195214,0.879605806739,0.879651410178,0.879697005532,0.8797425928,0.879788171982,0.879833743076,0.879879306084,0.879924861004,0.879970407836,0.880015946579,0.880061477233,0.880106999798,0.880152514274,0.880198020659,0.880243518953,0.880289009157,0.880334491269,0.880379965289,0.880425431217,0.880470889052,0.880516338794,0.880561780443,0.880607213998,0.880652639458,0.880698056824,0.880743466094,0.880788867269,0.880834260348,0.88087964533,0.880925022216,0.880970391004,0.881015751694,0.881061104287,0.881106448781,0.881151785176,0.881197113471,0.881242433667,0.881287745763,0.881333049758,0.881378345652,0.881423633444,0.881468913135,0.881514184723,0.881559448209,0.881604703592,0.881649950871,0.881695190046,0.881740421117,0.881785644083,0.881830858944,0.881876065699,0.881921264348,0.881966454891,0.882011637327,0.882056811656,0.882101977877,0.88214713599,0.882192285994,0.88223742789,0.882282561676,0.882327687352,0.882372804919,0.882417914374,0.882463015719,0.882508108952,0.882553194074,0.882598271083,0.88264333998,0.882688400763,0.882733453433,0.882778497989,0.882823534431,0.882868562758,0.88291358297,0.882958595066,0.883003599047,0.883048594911,0.883093582658,0.883138562288,0.883183533801,0.883228497195,0.883273452471,0.883318399628,0.883363338666,0.883408269584,0.883453192382,0.883498107059,0.883543013616,0.883587912051,0.883632802365,0.883677684556,0.883722558625,0.883767424571,0.883812282393,0.883857132091,0.883901973666,0.883946807116,0.88399163244,0.884036449639,0.884081258713,0.88412605966,0.88417085248,0.884215637173,0.884260413739,0.884305182177,0.884349942486,0.884394694667,0.884439438718,0.88448417464,0.884528902432,0.884573622094,0.884618333624,0.884663037024,0.884707732292,0.884752419428,0.884797098431,0.884841769301,0.884886432039,0.884931086642,0.884975733112,0.885020371447,0.885065001647,0.885109623711,0.88515423764,0.885198843433,0.885243441089,0.885288030609,0.885332611991,0.885377185235,0.885421750341,0.885466307308,0.885510856136,0.885555396825,0.885599929374,0.885644453783,0.885688970051,0.885733478178,0.885777978164,0.885822470007,0.885866953709,0.885911429268,0.885955896683,0.886000355955,0.886044807084,0.886089250067,0.886133684907,0.8861781116,0.886222530149,0.886266940551,0.886311342807,0.886355736917,0.886400122879,0.886444500693,0.88648887036,0.886533231878,0.886577585247,0.886621930467,0.886666267537,0.886710596458,0.886754917228,0.886799229847,0.886843534314,0.88688783063,0.886932118794,0.886976398806,0.887020670664,0.88706493437,0.887109189921,0.887153437319,0.887197676562,0.88724190765,0.887286130582,0.887330345359,0.88737455198,0.887418750444,0.887462940752,0.887507122901,0.887551296894,0.887595462728,0.887639620403,0.887683769919,0.887727911276,0.887772044473,0.88781616951,0.887860286387,0.887904395102,0.887948495656,0.887992588048,0.888036672278,0.888080748345,0.888124816249,0.88816887599,0.888212927566,0.888256970979,0.888301006227,0.88834503331,0.888389052227,0.888433062978,0.888477065564,0.888521059982,0.888565046233,0.888609024317,0.888652994233,0.888696955981,0.88874090956,0.88878485497,0.88882879221,0.88887272128,0.88891664218,0.88896055491,0.889004459468,0.889048355855,0.889092244069,0.889136124112,0.889179995981,0.889223859678,0.889267715201,0.88931156255,0.889355401724,0.889399232724,0.889443055549,0.889486870198,0.889530676671,0.889574474968,0.889618265088,0.889662047031,0.889705820796,0.889749586383,0.889793343792,0.889837093022,0.889880834073,0.889924566944,0.889968291635,0.890012008146,0.890055716476,0.890099416625,0.890143108592,0.890186792378,0.890230467981,0.890274135401,0.890317794637,0.890361445691,0.89040508856,0.890448723245,0.890492349745,0.89053596806,0.890579578189,0.890623180132,0.890666773889,0.890710359459,0.890753936841,0.890797506036,0.890841067043,0.890884619862,0.890928164492,0.890971700932,0.891015229183,0.891058749244,0.891102261115,0.891145764795,0.891189260283,0.89123274758,0.891276226685,0.891319697597,0.891363160317,0.891406614843,0.891450061176,0.891493499315,0.891536929259,0.891580351009,0.891623764563,0.891667169922,0.891710567084,0.891753956051,0.89179733682,0.891840709392,0.891884073767,0.891927429944,0.891970777922,0.892014117701,0.892057449282,0.892100772662,0.892144087843,0.892187394823,0.892230693602,0.892273984181,0.892317266557,0.892360540732,0.892403806704,0.892447064474,0.89249031404,0.892533555403,0.892576788562,0.892620013516,0.892663230265,0.89270643881,0.892749639149,0.892792831282,0.892836015208,0.892879190928,0.892922358441,0.892965517746,0.893008668843,0.893051811732,0.893094946412,0.893138072883,0.893181191144,0.893224301196,0.893267403037,0.893310496667,0.893353582086,0.893396659294,0.89343972829,0.893482789074,0.893525841644,0.893568886002,0.893611922146,0.893654950077,0.893697969793,0.893740981294,0.893783984581,0.893826979651,0.893869966506,0.893912945145,0.893955915567,0.893998877772,0.89404183176,0.89408477753,0.894127715081,0.894170644414,0.894213565528,0.894256478422,0.894299383097,0.894342279551,0.894385167785,0.894428047798,0.894470919589,0.894513783159,0.894556638506,0.894599485631,0.894642324533,0.894685155212,0.894727977667,0.894770791897,0.894813597903,0.894856395685,0.89489918524,0.894941966571,0.894984739675,0.895027504552,0.895070261203,0.895113009626,0.895155749822,0.895198481789,0.895241205528,0.895283921039,0.89532662832,0.895369327371,0.895412018192,0.895454700783,0.895497375143,0.895540041272,0.895582699169,0.895625348834,0.895667990267,0.895710623467,0.895753248434,0.895795865167,0.895838473666,0.895881073931,0.895923665961,0.895966249756,0.896008825316,0.896051392639,0.896093951727,0.896136502577,0.896179045191,0.896221579567,0.896264105705,0.896306623604,0.896349133266,0.896391634688,0.89643412787,0.896476612813,0.896519089516,0.896561557978,0.896604018199,0.896646470179,0.896688913917,0.896731349412,0.896773776665,0.896816195676,0.896858606442,0.896901008965,0.896943403244,0.896985789279,0.897028167068,0.897070536613,0.897112897911,0.897155250964,0.89719759577,0.897239932329,0.897282260641,0.897324580705,0.897366892522,0.89740919609,0.897451491409,0.897493778479,0.897536057299,0.89757832787,0.89762059019,0.897662844259,0.897705090077,0.897747327644,0.897789556959,0.897831778021,0.897873990831,0.897916195388,0.897958391691,0.898000579741,0.898042759536,0.898084931077,0.898127094362,0.898169249393,0.898211396167,0.898253534685,0.898295664947,0.898337786952,0.898379900699,0.898422006189,0.898464103421,0.898506192394,0.898548273108,0.898590345563,0.898632409759,0.898674465694,0.898716513369,0.898758552783,0.898800583936,0.898842606827,0.898884621457,0.898926627824,0.898968625928,0.899010615769,0.899052597347,0.89909457066,0.89913653571,0.899178492495,0.899220441014,0.899262381269,0.899304313257,0.899346236979,0.899388152435,0.899430059624,0.899471958545,0.899513849198,0.899555731584,0.899597605701,0.899639471549,0.899681329127,0.899723178436,0.899765019475,0.899806852244,0.899848676742,0.899890492968,0.899932300923,0.899974100606,0.900015892016,0.900057675154,0.900099450019,0.90014121661,0.900182974927,0.90022472497,0.900266466738,0.900308200231,0.900349925449,0.900391642391,0.900433351056,0.900475051445,0.900516743558,0.900558427392,0.900600102949,0.900641770228,0.900683429229,0.90072507995,0.900766722392,0.900808356555,0.900849982438,0.90089160004,0.900933209361,0.900974810401,0.90101640316,0.901057987636,0.901099563831,0.901141131742,0.901182691371,0.901224242716,0.901265785777,0.901307320554,0.901348847046,0.901390365253,0.901431875175,0.901473376811,0.901514870161,0.901556355225,0.901597832001,0.90163930049,0.901680760692,0.901722212606,0.901763656231,0.901805091567,0.901846518614,0.901887937371,0.901929347839,0.901970750016,0.902012143902,0.902053529498,0.902094906802,0.902136275814,0.902177636533,0.902218988961,0.902260333095,0.902301668935,0.902342996482,0.902384315735,0.902425626694,0.902466929357,0.902508223725,0.902549509798,0.902590787574,0.902632057054,0.902673318237,0.902714571123,0.902755815712,0.902797052002,0.902838279995,0.902879499688,0.902920711082,0.902961914177,0.903003108973,0.903044295468,0.903085473662,0.903126643555,0.903167805147,0.903208958438,0.903250103426,0.903291240112,0.903332368495,0.903373488574,0.90341460035,0.903455703822,0.90349679899,0.903537885853,0.903578964411,0.903620034663,0.903661096609,0.903702150249,0.903743195583,0.903784232609,0.903825261328,0.90386628174,0.903907293843,0.903948297638,0.903989293123,0.9040302803,0.904071259167,0.904112229724,0.90415319197,0.904194145906,0.90423509153,0.904276028843,0.904316957844,0.904357878533,0.904398790909,0.904439694972,0.904480590721,0.904521478157,0.904562357279,0.904603228086,0.904644090578,0.904684944755,0.904725790616,0.904766628162,0.90480745739,0.904848278302,0.904889090897,0.904929895174,0.904970691134,0.905011478775,0.905052258097,0.9050930291,0.905133791784,0.905174546148,0.905215292192,0.905256029916,0.905296759318,0.905337480399,0.905378193159,0.905418897596,0.905459593711,0.905500281504,0.905540960973,0.905581632118,0.90562229494,0.905662949437,0.90570359561,0.905744233458,0.90578486298,0.905825484176,0.905866097047,0.90590670159,0.905947297807,0.905987885697,0.906028465259,0.906069036493,0.906109599398,0.906150153975,0.906190700223,0.906231238141,0.906271767729,0.906312288987,0.906352801915,0.906393306511,0.906433802776,0.906474290709,0.90651477031,0.906555241579,0.906595704515,0.906636159117,0.906676605386,0.906717043321,0.906757472922,0.906797894188,0.906838307119,0.906878711714,0.906919107974,0.906959495897,0.906999875484,0.907040246734,0.907080609646,0.907120964221,0.907161310458,0.907201648356,0.907241977915,0.907282299136,0.907322612016,0.907362916557,0.907403212758,0.907443500618,0.907483780137,0.907524051314,0.90756431415,0.907604568643,0.907644814795,0.907685052603,0.907725282068,0.907765503189,0.907805715966,0.907845920399,0.907886116488,0.907926304231,0.907966483629,0.90800665468,0.908046817386,0.908086971745,0.908127117757,0.908167255422,0.908207384739,0.908247505709,0.908287618329,0.908327722601,0.908367818524,0.908407906097,0.908447985321,0.908488056194,0.908528118716,0.908568172888,0.908608218708,0.908648256176,0.908688285293,0.908728306056,0.908768318467,0.908808322525,0.908848318229,0.90888830558,0.908928284576,0.908968255217,0.909008217503,0.909048171434,0.909088117009,0.909128054228,0.909167983091,0.909207903596,0.909247815744,0.909287719535,0.909327614968,0.909367502042,0.909407380758,0.909447251114,0.909487113112,0.909526966749,0.909566812026,0.909606648943,0.909646477498,0.909686297693,0.909726109525,0.909765912996,0.909805708105,0.90984549485,0.909885273233,0.909925043252,0.909964804907,0.910004558198,0.910044303125,0.910084039686,0.910123767883,0.910163487713,0.910203199178,0.910242902276,0.910282597007,0.910322283372,0.910361961368,0.910401630997,0.910441292258,0.91048094515,0.910520589673,0.910560225827,0.910599853612,0.910639473026,0.91067908407,0.910718686743,0.910758281044,0.910797866975,0.910837444533,0.91087701372,0.910916574533,0.910956126974,0.910995671042,0.911035206735,0.911074734055,0.911114253001,0.911153763571,0.911193265767,0.911232759586,0.911272245031,0.911311722098,0.91135119079,0.911390651104,0.911430103041,0.911469546601,0.911508981782,0.911548408585,0.911587827009,0.911627237054,0.91166663872,0.911706032005,0.911745416911,0.911784793436,0.91182416158,0.911863521343,0.911902872724,0.911942215723,0.91198155034,0.912020876574,0.912060194424,0.912099503892,0.912138804975,0.912178097675,0.91221738199,0.91225665792,0.912295925464,0.912335184623,0.912374435396,0.912413677783,0.912452911783,0.912492137396,0.912531354622,0.912570563459,0.912609763909,0.91264895597,0.912688139642,0.912727314925,0.912766481818,0.912805640322,0.912844790435,0.912883932157,0.912923065488,0.912962190428,0.913001306977,0.913040415133,0.913079514896,0.913118606267,0.913157689245,0.913196763829,0.913235830019,0.913274887815,0.913313937216,0.913352978222,0.913392010833,0.913431035049,0.913470050868,0.91350905829,0.913548057316,0.913587047945,0.913626030177,0.91366500401,0.913703969445,0.913742926482,0.91378187512,0.913820815358,0.913859747197,0.913898670636,0.913937585674,0.913976492312,0.914015390549,0.914054280384,0.914093161817,0.914132034849,0.914170899478,0.914209755704,0.914248603526,0.914287442945,0.914326273961,0.914365096571,0.914403910778,0.914442716579,0.914481513975,0.914520302965,0.914559083549,0.914597855727,0.914636619498,0.914675374862,0.914714121818,0.914752860366,0.914791590506,0.914830312238,0.914869025561,0.914907730474,0.914946426978,0.914985115072,0.915023794755,0.915062466028,0.915101128889,0.91513978334,0.915178429378,0.915217067005,0.915255696218,0.915294317019,0.915332929407,0.915371533382,0.915410128942,0.915448716088,0.91548729482,0.915525865136,0.915564427038,0.915602980523,0.915641525593,0.915680062246,0.915718590483,0.915757110302,0.915795621704,0.915834124688,0.915872619254,0.915911105402,0.91594958313,0.91598805244,0.916026513329,0.916064965799,0.916103409849,0.916141845478,0.916180272686,0.916218691473,0.916257101838,0.916295503781,0.916333897301,0.916372282399,0.916410659074,0.916449027325,0.916487387153,0.916525738556,0.916564081535,0.916602416089,0.916640742218,0.916679059921,0.916717369198,0.916755670049,0.916793962474,0.916832246471,0.916870522041,0.916908789184,0.916947047898,0.916985298184,0.917023540041,0.91706177347,0.917099998468,0.917138215037,0.917176423176,0.917214622885,0.917252814162,0.917290997008,0.917329171423,0.917367337406,0.917405494957,0.917443644075,0.91748178476,0.917519917012,0.91755804083,0.917596156214,0.917634263164,0.917672361679,0.917710451759,0.917748533404,0.917786606613,0.917824671385,0.917862727722,0.917900775621,0.917938815084,0.917976846109,0.918014868696,0.918052882845,0.918090888555,0.918128885827,0.918166874659,0.918204855051,0.918242827004,0.918280790517,0.918318745588,0.918356692219,0.918394630408,0.918432560156,0.918470481462,0.918508394325,0.918546298746,0.918584194723,0.918622082257,0.918659961348,0.918697831994,0.918735694196,0.918773547952,0.918811393264,0.91884923013,0.918887058551,0.918924878525,0.918962690052,0.919000493133,0.919038287766,0.919076073952,0.91911385169,0.91915162098,0.919189381821,0.919227134212,0.919264878155,0.919302613648,0.919340340691,0.919378059283,0.919415769425,0.919453471116,0.919491164355,0.919528849142,0.919566525478,0.919604193361,0.919641852791,0.919679503768,0.919717146291,0.919754780361,0.919792405976,0.919830023137,0.919867631843,0.919905232094,0.919942823889,0.919980407229,0.920017982112,0.920055548538,0.920093106508,0.92013065602,0.920168197074,0.920205729671,0.920243253809,0.920280769489,0.920318276709,0.92035577547,0.920393265772,0.920430747613,0.920468220994,0.920505685914,0.920543142373,0.920580590371,0.920618029907,0.920655460981,0.920692883592,0.920730297741,0.920767703426,0.920805100648,0.920842489406,0.9208798697,0.920917241529,0.920954604894,0.920991959793,0.921029306227,0.921066644194,0.921103973696,0.921141294731,0.921178607299,0.921215911399,0.921253207033,0.921290494198,0.921327772894,0.921365043123,0.921402304882,0.921439558172,0.921476802992,0.921514039342,0.921551267222,0.921588486631,0.921625697569,0.921662900036,0.921700094031,0.921737279554,0.921774456604,0.921811625182,0.921848785286,0.921885936918,0.921923080075,0.921960214758,0.921997340967,0.922034458701,0.92207156796,0.922108668743,0.922145761051,0.922182844882,0.922219920237,0.922256987115,0.922294045516,0.922331095439,0.922368136885,0.922405169852,0.922442194341,0.922479210351,0.922516217881,0.922553216932,0.922590207503,0.922627189594,0.922664163205,0.922701128334,0.922738084982,0.922775033148,0.922811972833,0.922848904035,0.922885826755,0.922922740991,0.922959646745,0.922996544014,0.9230334328,0.923070313101,0.923107184918,0.92314404825,0.923180903096,0.923217749457,0.923254587331,0.92329141672,0.923328237621,0.923365050036,0.923401853963,0.923438649402,0.923475436354,0.923512214817,0.923548984791,0.923585746276,0.923622499272,0.923659243778,0.923695979794,0.92373270732,0.923769426355,0.923806136898,0.923842838951,0.923879532511,0.92391621758,0.923952894156,0.923989562239,0.924026221829,0.924062872926,0.924099515529,0.924136149637,0.924172775252,0.924209392371,0.924246000996,0.924282601125,0.924319192758,0.924355775895,0.924392350535,0.924428916679,0.924465474325,0.924502023474,0.924538564125,0.924575096279,0.924611619933,0.924648135089,0.924684641745,0.924721139902,0.92475762956,0.924794110717,0.924830583373,0.924867047529,0.924903503183,0.924939950336,0.924976388987,0.925012819136,0.925049240783,0.925085653926,0.925122058567,0.925158454703,0.925194842336,0.925231221465,0.92526759209,0.925303954209,0.925340307823,0.925376652932,0.925412989535,0.925449317631,0.925485637221,0.925521948305,0.925558250881,0.925594544949,0.92563083051,0.925667107562,0.925703376106,0.925739636141,0.925775887667,0.925812130683,0.92584836519,0.925884591186,0.925920808672,0.925957017647,0.92599321811,0.926029410062,0.926065593503,0.926101768431,0.926137934846,0.926174092749,0.926210242138,0.926246383014,0.926282515376,0.926318639224,0.926354754558,0.926390861376,0.926426959679,0.926463049467,0.926499130739,0.926535203495,0.926571267734,0.926607323457,0.926643370662,0.92667940935,0.92671543952,0.926751461171,0.926787474305,0.926823478919,0.926859475014,0.92689546259,0.926931441646,0.926967412182,0.927003374197,0.927039327691,0.927075272665,0.927111209117,0.927147137047,0.927183056455,0.92721896734,0.927254869703,0.927290763542,0.927326648858,0.92736252565,0.927398393919,0.927434253662,0.927470104881,0.927505947575,0.927541781743,0.927577607386,0.927613424502,0.927649233093,0.927685033156,0.927720824692,0.927756607701,0.927792382182,0.927828148135,0.92786390556,0.927899654456,0.927935394823,0.92797112666,0.928006849968,0.928042564746,0.928078270993,0.92811396871,0.928149657895,0.92818533855,0.928221010672,0.928256674263,0.928292329321,0.928327975847,0.928363613839,0.928399243299,0.928434864224,0.928470476616,0.928506080473,0.928541675796,0.928577262584,0.928612840836,0.928648410553,0.928683971734,0.928719524379,0.928755068487,0.928790604058,0.928826131092,0.928861649588,0.928897159547,0.928932660967,0.928968153849,0.929003638192,0.929039113995,0.929074581259,0.929110039984,0.929145490168,0.929180931811,0.929216364914,0.929251789475,0.929287205496,0.929322612974,0.92935801191,0.929393402304,0.929428784155,0.929464157462,0.929499522227,0.929534878447,0.929570226124,0.929605565256,0.929640895843,0.929676217885,0.929711531382,0.929746836334,0.929782132739,0.929817420598,0.92985269991,0.929887970675,0.929923232893,0.929958486563,0.929993731685,0.930028968259,0.930064196284,0.93009941576,0.930134626687,0.930169829065,0.930205022892,0.930240208169,0.930275384896,0.930310553072,0.930345712696,0.93038086377,0.930416006291,0.93045114026,0.930486265676,0.93052138254,0.93055649085,0.930591590607,0.930626681811,0.93066176446,0.930696838554,0.930731904094,0.930766961079,0.930802009508,0.930837049382,0.9308720807,0.930907103461,0.930942117665,0.930977123313,0.931012120403,0.931047108936,0.93108208891,0.931117060326,0.931152023184,0.931186977483,0.931221923222,0.931256860402,0.931291789022,0.931326709081,0.93136162058,0.931396523518,0.931431417895,0.931466303711,0.931501180965,0.931536049656,0.931570909785,0.931605761351,0.931640604354,0.931675438794,0.93171026467,0.931745081982,0.931779890729,0.931814690912,0.931849482529,0.931884265582,0.931919040068,0.931953805989,0.931988563343,0.932023312131,0.932058052351,0.932092784005,0.932127507091,0.932162221609,0.932196927558,0.932231624939,0.932266313752,0.932300993995,0.932335665668,0.932370328772,0.932404983305,0.932439629268,0.932474266661,0.932508895482,0.932543515732,0.93257812741,0.932612730516,0.932647325049,0.93268191101,0.932716488398,0.932751057213,0.932785617454,0.932820169121,0.932854712213,0.932889246731,0.932923772674,0.932958290042,0.932992798835,0.933027299051,0.933061790692,0.933096273755,0.933130748242,0.933165214152,0.933199671485,0.933234120239,0.933268560416,0.933302992014,0.933337415033,0.933371829474,0.933406235335,0.933440632616,0.933475021317,0.933509401438,0.933543772979,0.933578135938,0.933612490317,0.933646836113,0.933681173328,0.933715501961,0.933749822011,0.933784133478,0.933818436362,0.933852730663,0.93388701638,0.933921293513,0.933955562061,0.933989822025,0.934024073403,0.934058316197,0.934092550404,0.934126776026,0.934160993061,0.93419520151,0.934229401372,0.934263592646,0.934297775334,0.934331949433,0.934366114944,0.934400271866,0.9344344202,0.934468559945,0.9345026911,0.934536813665,0.93457092764,0.934605033025,0.93463912982,0.934673218023,0.934707297635,0.934741368655,0.934775431084,0.93480948492,0.934843530163,0.934877566814,0.934911594872,0.934945614336,0.934979625206,0.935013627482,0.935047621163,0.93508160625,0.935115582742,0.935149550638,0.935183509939,0.935217460644,0.935251402752,0.935285336264,0.935319261179,0.935353177496,0.935387085216,0.935420984338,0.935454874862,0.935488756787,0.935522630114,0.935556494841,0.93559035097,0.935624198498,0.935658037426,0.935691867754,0.935725689481,0.935759502607,0.935793307132,0.935827103055,0.935860890377,0.935894669096,0.935928439213,0.935962200726,0.935995953637,0.936029697944,0.936063433647,0.936097160746,0.936130879241,0.936164589131,0.936198290416,0.936231983096,0.93626566717,0.936299342638,0.9363330095,0.936366667756,0.936400317404,0.936433958445,0.936467590879,0.936501214705,0.936534829923,0.936568436532,0.936602034533,0.936635623924,0.936669204707,0.936702776879,0.936736340442,0.936769895394,0.936803441736,0.936836979467,0.936870508586,0.936904029095,0.936937540991,0.936971044275,0.937004538947,0.937038025006,0.937071502452,0.937104971284,0.937138431503,0.937171883108,0.937205326099,0.937238760475,0.937272186236,0.937305603382,0.937339011913,0.937372411827,0.937405803126,0.937439185808,0.937472559873,0.937505925321,0.937539282152,0.937572630366,0.937605969961,0.937639300938,0.937672623297,0.937705937036,0.937739242156,0.937772538657,0.937805826538,0.937839105799,0.93787237644,0.93790563846,0.937938891859,0.937972136636,0.938005372792,0.938038600326,0.938071819238,0.938105029527,0.938138231193,0.938171424236,0.938204608655,0.938237784451,0.938270951623,0.93830411017,0.938337260093,0.938370401391,0.938403534063,0.93843665811,0.938469773531,0.938502880325,0.938535978494,0.938569068035,0.938602148949,0.938635221236,0.938668284895,0.938701339926,0.938734386328,0.938767424102,0.938800453247,0.938833473763,0.938866485649,0.938899488906,0.938932483532,0.938965469528,0.938998446893,0.939031415627,0.939064375729,0.9390973272,0.939130270039,0.939163204246,0.93919612982,0.939229046761,0.939261955069,0.939294854743,0.939327745784,0.93936062819,0.939393501962,0.9394263671,0.939459223602,0.939492071469,0.939524910701,0.939557741296,0.939590563256,0.939623376579,0.939656181265,0.939688977314,0.939721764725,0.939754543499,0.939787313635,0.939820075132,0.939852827991,0.939885572211,0.939918307792,0.939951034733,0.939983753034,0.940016462695,0.940049163716,0.940081856096,0.940114539835,0.940147214933,0.940179881389,0.940212539203,0.940245188375,0.940277828904,0.94031046079,0.940343084034,0.940375698634,0.94040830459,0.940440901902,0.94047349057,0.940506070593,0.940538641972,0.940571204705,0.940603758792,0.940636304234,0.940668841029,0.940701369179,0.940733888681,0.940766399536,0.940798901744,0.940831395305,0.940863880217,0.940896356482,0.940928824098,0.940961283065,0.940993733382,0.941026175051,0.94105860807,0.941091032438,0.941123448157,0.941155855225,0.941188253642,0.941220643407,0.941253024521,0.941285396984,0.941317760794,0.941350115952,0.941382462457,0.94141480031,0.941447129509,0.941479450054,0.941511761946,0.941544065183,0.941576359766,0.941608645694,0.941640922967,0.941673191585,0.941705451547,0.941737702853,0.941769945503,0.941802179496,0.941834404832,0.941866621512,0.941898829534,0.941931028898,0.941963219604,0.941995401652,0.942027575041,0.942059739771,0.942091895842,0.942124043254,0.942156182005,0.942188312097,0.942220433528,0.942252546299,0.942284650408,0.942316745857,0.942348832643,0.942380910768,0.942412980231,0.942445041031,0.942477093168,0.942509136643,0.942541171454,0.942573197601,0.942605215085,0.942637223904,0.942669224059,0.942701215549,0.942733198374,0.942765172533,0.942797138027,0.942829094855,0.942861043016,0.942892982511,0.942924913339,0.9429568355,0.942988748994,0.943020653819,0.943052549977,0.943084437466,0.943116316287,0.943148186438,0.943180047921,0.943211900734,0.943243744877,0.94327558035,0.943307407153,0.943339225285,0.943371034746,0.943402835536,0.943434627654,0.943466411101,0.943498185875,0.943529951977,0.943561709406,0.943593458162,0.943625198245,0.943656929654,0.943688652389,0.94372036645,0.943752071837,0.943783768549,0.943815456586,0.943847135947,0.943878806633,0.943910468643,0.943942121976,0.943973766634,0.944005402614,0.944037029917,0.944068648543,0.944100258491,0.944131859761,0.944163452353,0.944195036267,0.944226611501,0.944258178057,0.944289735933,0.944321285129,0.944352825646,0.944384357482,0.944415880637,0.944447395112,0.944478900905,0.944510398017,0.944541886447,0.944573366196,0.944604837261,0.944636299645,0.944667753345,0.944699198362,0.944730634696,0.944762062346,0.944793481312,0.944824891594,0.944856293191,0.944887686103,0.94491907033,0.944950445871,0.944981812727,0.945013170896,0.945044520379,0.945075861176,0.945107193285,0.945138516708,0.945169831442,0.945201137489,0.945232434848,0.945263723519,0.945295003501,0.945326274794,0.945357537398,0.945388791312,0.945420036536,0.945451273071,0.945482500914,0.945513720068,0.94554493053,0.945576132301,0.945607325381,0.945638509768,0.945669685464,0.945700852467,0.945732010777,0.945763160395,0.945794301319,0.94582543355,0.945856557087,0.94588767193,0.945918778078,0.945949875532,0.945980964291,0.946012044354,0.946043115722,0.946074178394,0.94610523237,0.94613627765,0.946167314233,0.946198342119,0.946229361308,0.946260371799,0.946291373592,0.946322366688,0.946353351084,0.946384326783,0.946415293782,0.946446252082,0.946477201682,0.946508142583,0.946539074784,0.946569998284,0.946600913083,0.946631819182,0.946662716579,0.946693605275,0.946724485269,0.946755356561,0.94678621915,0.946817073037,0.946847918221,0.946878754702,0.946909582479,0.946940401552,0.946971211922,0.947002013587,0.947032806547,0.947063590803,0.947094366353,0.947125133198,0.947155891336,0.947186640769,0.947217381496,0.947248113516,0.947278836829,0.947309551435,0.947340257333,0.947370954524,0.947401643006,0.947432322781,0.947462993846,0.947493656203,0.947524309851,0.947554954789,0.947585591018,0.947616218536,0.947646837344,0.947677447442,0.947708048829,0.947738641505,0.947769225469,0.947799800721,0.947830367262,0.94786092509,0.947891474206,0.947922014609,0.947952546299,0.947983069276,0.948013583539,0.948044089088,0.948074585922,0.948105074043,0.948135553448,0.948166024138,0.948196486113,0.948226939373,0.948257383916,0.948287819744,0.948318246855,0.948348665249,0.948379074926,0.948409475886,0.948439868128,0.948470251652,0.948500626459,0.948530992547,0.948561349916,0.948591698566,0.948622038497,0.948652369708,0.9486826922,0.948713005971,0.948743311023,0.948773607353,0.948803894963,0.948834173851,0.948864444018,0.948894705463,0.948924958186,0.948955202187,0.948985437465,0.949015664021,0.949045881853,0.949076090961,0.949106291347,0.949136483008,0.949166665944,0.949196840157,0.949227005644,0.949257162406,0.949287310444,0.949317449755,0.94934758034,0.9493777022,0.949407815332,0.949437919738,0.949468015417,0.949498102369,0.949528180593,0.949558250089,0.949588310857,0.949618362897,0.949648406208,0.94967844079,0.949708466643,0.949738483766,0.94976849216,0.949798491823,0.949828482756,0.949858464959,0.94988843843,0.94991840317,0.949948359179,0.949978306457,0.950008245002,0.950038174815,0.950068095895,0.950098008243,0.950127911857,0.950157806738,0.950187692886,0.950217570299,0.950247438979,0.950277298924,0.950307150134,0.950336992609,0.950366826349,0.950396651353,0.950426467621,0.950456275154,0.950486073949,0.950515864009,0.950545645331,0.950575417916,0.950605181764,0.950634936874,0.950664683245,0.950694420879,0.950724149774,0.95075386993,0.950783581347,0.950813284024,0.950842977962,0.95087266316,0.950902339618,0.950932007335,0.950961666312,0.950991316547,0.951020958041,0.951050590794,0.951080214804,0.951109830073,0.951139436599,0.951169034383,0.951198623423,0.95122820372,0.951257775274,0.951287338084,0.95131689215,0.951346437472,0.951375974049,0.951405501882,0.951435020969,0.951464531311,0.951494032907,0.951523525757,0.951553009861,0.951582485219,0.95161195183,0.951641409694,0.95167085881,0.951700299179,0.9517297308,0.951759153673,0.951788567798,0.951817973174,0.951847369801,0.951876757679,0.951906136808,0.951935507187,0.951964868816,0.951994221694,0.952023565822,0.9520529012,0.952082227826,0.952111545701,0.952140854824,0.952170155195,0.952199446814,0.952228729681,0.952258003795,0.952287269157,0.952316525765,0.952345773619,0.95237501272,0.952404243066,0.952433464659,0.952462677497,0.95249188158,0.952521076908,0.95255026348,0.952579441297,0.952608610358,0.952637770663,0.952666922211,0.952696065003,0.952725199038,0.952754324315,0.952783440835,0.952812548597,0.952841647601,0.952870737847,0.952899819334,0.952928892063,0.952957956032,0.952987011242,0.953016057692,0.953045095382,0.953074124312,0.953103144482,0.953132155891,0.953161158539,0.953190152425,0.95321913755,0.953248113914,0.953277081515,0.953306040354,0.953334990431,0.953363931744,0.953392864295,0.953421788082,0.953450703105,0.953479609365,0.95350850686,0.953537395591,0.953566275557,0.953595146758,0.953624009194,0.953652862865,0.953681707769,0.953710543908,0.95373937128,0.953768189886,0.953796999725,0.953825800797,0.953854593101,0.953883376638,0.953912151407,0.953940917408,0.95396967464,0.953998423104,0.954027162799,0.954055893724,0.95408461588,0.954113329267,0.954142033883,0.954170729729,0.954199416804,0.954228095109,0.954256764643,0.954285425405,0.954314077396,0.954342720615,0.954371355061,0.954399980736,0.954428597638,0.954457205767,0.954485805122,0.954514395704,0.954542977513,0.954571550548,0.954600114808,0.954628670294,0.954657217005,0.954685754941,0.954714284102,0.954742804488,0.954771316097,0.954799818931,0.954828312988,0.954856798269,0.954885274772,0.954913742499,0.954942201448,0.95497065162,0.954999093014,0.95502752563,0.955055949467,0.955084364526,0.955112770805,0.955141168306,0.955169557027,0.955197936968,0.955226308129,0.955254670511,0.955283024111,0.955311368931,0.95533970497,0.955368032227,0.955396350703,0.955424660398,0.95545296131,0.95548125344,0.955509536787,0.955537811351,0.955566077133,0.955594334131,0.955622582345,0.955650821776,0.955679052422,0.955707274284,0.955735487361,0.955763691654,0.955791887161,0.955820073883,0.955848251819,0.955876420969,0.955904581333,0.95593273291,0.955960875701,0.955989009705,0.956017134921,0.95604525135,0.956073358991,0.956101457844,0.956129547909,0.956157629186,0.956185701673,0.956213765372,0.956241820281,0.956269866401,0.95629790373,0.95632593227,0.95635395202,0.956381962978,0.956409965146,0.956437958523,0.956465943109,0.956493918902,0.956521885904,0.956549844114,0.956577793531,0.956605734156,0.956633665988,0.956661589027,0.956689503272,0.956717408723,0.956745305381,0.956773193244,0.956801072313,0.956828942588,0.956856804067,0.956884656751,0.956912500639,0.956940335732,0.956968162029,0.95699597953,0.957023788234,0.957051588141,0.957079379251,0.957107161564,0.95713493508,0.957162699798,0.957190455717,0.957218202839,0.957245941162,0.957273670686,0.957301391411,0.957329103336,0.957356806463,0.957384500789,0.957412186315,0.957439863041,0.957467530967,0.957495190091,0.957522840414,0.957550481937,0.957578114657,0.957605738576,0.957633353692,0.957660960006,0.957688557518,0.957716146227,0.957743726132,0.957771297234,0.957798859533,0.957826413028,0.957853957718,0.957881493604,0.957909020686,0.957936538962,0.957964048434,0.9579915491,0.95801904096,0.958046524015,0.958073998263,0.958101463705,0.95812892034,0.958156368169,0.95818380719,0.958211237404,0.95823865881,0.958266071408,0.958293475198,0.95832087018,0.958348256352,0.958375633716,0.958403002271,0.958430362017,0.958457712952,0.958485055078,0.958512388394,0.958539712899,0.958567028593,0.958594335476,0.958621633549,0.95864892281,0.958676203259,0.958703474896,0.958730737721,0.958757991733,0.958785236933,0.95881247332,0.958839700894,0.958866919654,0.958894129601,0.958921330733,0.958948523052,0.958975706556,0.959002881245,0.959030047119,0.959057204178,0.959084352422,0.95911149185,0.959138622462,0.959165744258,0.959192857237,0.9592199614,0.959247056745,0.959274143274,0.959301220985,0.959328289878,0.959355349954,0.959382401211,0.95940944365,0.95943647727,0.959463502071,0.959490518053,0.959517525216,0.959544523559,0.959571513082,0.959598493785,0.959625465667,0.959652428729,0.95967938297,0.959706328389,0.959733264988,0.959760192764,0.959787111719,0.959814021851,0.959840923161,0.959867815649,0.959894699313,0.959921574155,0.959948440173,0.959975297367,0.960002145738,0.960028985284,0.960055816006,0.960082637903,0.960109450976,0.960136255223,0.960163050645,0.960189837241,0.960216615012,0.960243383956,0.960270144074,0.960296895366,0.96032363783,0.960350371468,0.960377096278,0.960403812261,0.960430519416,0.960457217742,0.960483907241,0.96051058791,0.960537259752,0.960563922763,0.960590576946,0.960617222299,0.960643858823,0.960670486516,0.960697105379,0.960723715411,0.960750316613,0.960776908984,0.960803492523,0.960830067231,0.960856633108,0.960883190152,0.960909738364,0.960936277743,0.96096280829,0.960989330004,0.961015842885,0.961042346932,0.961068842146,0.961095328525,0.96112180607,0.961148274781,0.961174734658,0.961201185699,0.961227627905,0.961254061276,0.961280485811,0.961306901511,0.961333308374,0.961359706401,0.961386095591,0.961412475944,0.96143884746,0.961465210139,0.961491563981,0.961517908984,0.961544245149,0.961570572477,0.961596890965,0.961623200615,0.961649501426,0.961675793397,0.961702076529,0.961728350821,0.961754616274,0.961780872885,0.961807120657,0.961833359588,0.961859589677,0.961885810926,0.961912023333,0.961938226899,0.961964421622,0.961990607503,0.962016784542,0.962042952739,0.962069112092,0.962095262602,0.962121404269,0.962147537092,0.962173661072,0.962199776207,0.962225882498,0.962251979944,0.962278068546,0.962304148302,0.962330219214,0.962356281279,0.962382334499,0.962408378873,0.962434414401,0.962460441082,0.962486458917,0.962512467904,0.962538468044,0.962564459337,0.962590441782,0.96261641538,0.962642380129,0.962668336029,0.962694283081,0.962720221284,0.962746150638,0.962772071143,0.962797982798,0.962823885603,0.962849779559,0.962875664663,0.962901540918,0.962927408321,0.962953266874,0.962979116575,0.963004957425,0.963030789423,0.963056612569,0.963082426863,0.963108232304,0.963134028893,0.963159816628,0.963185595511,0.96321136554,0.963237126716,0.963262879038,0.963288622505,0.963314357118,0.963340082877,0.963365799781,0.96339150783,0.963417207023,0.963442897361,0.963468578844,0.96349425147,0.96351991524,0.963545570153,0.96357121621,0.96359685341,0.963622481753,0.963648101238,0.963673711866,0.963699313636,0.963724906547,0.963750490601,0.963776065795,0.963801632131,0.963827189608,0.963852738226,0.963878277984,0.963903808882,0.96392933092,0.963954844098,0.963980348416,0.964005843873,0.964031330469,0.964056808204,0.964082277077,0.964107737089,0.964133188239,0.964158630526,0.964184063952,0.964209488515,0.964234904215,0.964260311052,0.964285709025,0.964311098136,0.964336478382,0.964361849765,0.964387212283,0.964412565937,0.964437910726,0.96446324665,0.964488573709,0.964513891903,0.964539201231,0.964564501694,0.96458979329,0.96461507602,0.964640349883,0.96466561488,0.964690871009,0.964716118272,0.964741356667,0.964766586194,0.964791806853,0.964817018645,0.964842221567,0.964867415622,0.964892600807,0.964917777123,0.96494294457,0.964968103147,0.964993252855,0.965018393692,0.96504352566,0.965068648757,0.965093762983,0.965118868338,0.965143964822,0.965169052435,0.965194131176,0.965219201045,0.965244262042,0.965269314167,0.965294357419,0.965319391798,0.965344417305,0.965369433938,0.965394441698,0.965419440584,0.965444430596,0.965469411734,0.965494383997,0.965519347386,0.9655443019,0.965569247539,0.965594184303,0.965619112191,0.965644031204,0.96566894134,0.9656938426,0.965718734984,0.965743618491,0.965768493121,0.965793358874,0.96581821575,0.965843063748,0.965867902868,0.96589273311,0.965917554474,0.965942366959,0.965967170566,0.965991965294,0.966016751142,0.966041528111,0.966066296201,0.96609105541,0.96611580574,0.966140547189,0.966165279758,0.966190003445,0.966214718252,0.966239424178,0.966264121222,0.966288809384,0.966313488665,0.966338159063,0.966362820579,0.966387473212,0.966412116963,0.96643675183,0.966461377814,0.966485994915,0.966510603132,0.966535202465,0.966559792914,0.966584374478,0.966608947158,0.966633510953,0.966658065863,0.966682611887,0.966707149026,0.966731677279,0.966756196647,0.966780707128,0.966805208722,0.96682970143,0.966854185251,0.966878660185,0.966903126232,0.966927583391,0.966952031662,0.966976471045,0.96700090154,0.967025323146,0.967049735864,0.967074139693,0.967098534633,0.967122920683,0.967147297844,0.967171666115,0.967196025496,0.967220375986,0.967244717586,0.967269050296,0.967293374114,0.967317689042,0.967341995078,0.967366292222,0.967390580475,0.967414859835,0.967439130304,0.96746339188,0.967487644563,0.967511888353,0.96753612325,0.967560349253,0.967584566363,0.967608774579,0.967632973902,0.967657164329,0.967681345863,0.967705518501,0.967729682245,0.967753837093,0.967777983047,0.967802120104,0.967826248266,0.967850367531,0.967874477901,0.967898579374,0.96792267195,0.967946755629,0.967970830411,0.967994896296,0.968018953283,0.968043001372,0.968067040563,0.968091070856,0.968115092251,0.968139104746,0.968163108343,0.968187103041,0.968211088839,0.968235065738,0.968259033737,0.968282992836,0.968306943034,0.968330884332,0.96835481673,0.968378740226,0.968402654822,0.968426560516,0.968450457308,0.968474345199,0.968498224188,0.968522094274,0.968545955458,0.96856980774,0.968593651118,0.968617485594,0.968641311166,0.968665127834,0.968688935599,0.96871273446,0.968736524416,0.968760305469,0.968784077616,0.968807840859,0.968831595196,0.968855340629,0.968879077155,0.968902804776,0.968926523492,0.9689502333,0.968973934203,0.968997626199,0.969021309288,0.96904498347,0.969068648745,0.969092305113,0.969115952572,0.969139591124,0.969163220768,0.969186841503,0.96921045333,0.969234056248,0.969257650257,0.969281235357,0.969304811547,0.969328378828,0.969351937199,0.969375486659,0.96939902721,0.96942255885,0.969446081579,0.969469595397,0.969493100305,0.9695165963,0.969540083385,0.969563561557,0.969587030817,0.969610491166,0.969633942601,0.969657385124,0.969680818734,0.969704243431,0.969727659215,0.969751066085,0.969774464042,0.969797853084,0.969821233213,0.969844604427,0.969867966726,0.969891320111,0.96991466458,0.969938000134,0.969961326773,0.969984644496,0.970007953303,0.970031253195,0.970054544169,0.970077826228,0.970101099369,0.970124363594,0.970147618901,0.970170865291,0.970194102763,0.970217331318,0.970240550955,0.970263761673,0.970286963473,0.970310156354,0.970333340316,0.970356515359,0.970379681483,0.970402838688,0.970425986972,0.970449126337,0.970472256781,0.970495378306,0.970518490909,0.970541594592,0.970564689354,0.970587775194,0.970610852113,0.970633920111,0.970656979186,0.97068002934,0.970703070571,0.97072610288,0.970749126266,0.970772140729,0.970795146269,0.970818142886,0.970841130579,0.970864109348,0.970887079193,0.970910040115,0.970932992111,0.970955935184,0.970978869331,0.971001794553,0.97102471085,0.971047618222,0.971070516668,0.971093406188,0.971116286782,0.97113915845,0.971162021191,0.971184875005,0.971207719893,0.971230555853,0.971253382887,0.971276200992,0.97129901017,0.97132181042,0.971344601741,0.971367384135,0.971390157599,0.971412922135,0.971435677742,0.97145842442,0.971481162168,0.971503890986,0.971526610875,0.971549321833,0.971572023862,0.97159471696,0.971617401127,0.971640076363,0.971662742668,0.971685400042,0.971708048484,0.971730687995,0.971753318574,0.97177594022,0.971798552934,0.971821156716,0.971843751564,0.97186633748,0.971888914463,0.971911482512,0.971934041628,0.97195659181,0.971979133057,0.972001665371,0.97202418875,0.972046703195,0.972069208704,0.972091705279,0.972114192918,0.972136671622,0.97215914139,0.972181602223,0.972204054119,0.972226497079,0.972248931102,0.972271356189,0.972293772339,0.972316179552,0.972338577827,0.972360967165,0.972383347565,0.972405719027,0.972428081552,0.972450435137,0.972472779784,0.972495115493,0.972517442262,0.972539760093,0.972562068983,0.972584368935,0.972606659946,0.972628942018,0.972651215149,0.97267347934,0.97269573459,0.9727179809,0.972740218268,0.972762446696,0.972784666182,0.972806876726,0.972829078328,0.972851270989,0.972873454707,0.972895629482,0.972917795315,0.972939952206,0.972962100153,0.972984239157,0.973006369217,0.973028490334,0.973050602507,0.973072705735,0.97309480002,0.97311688536,0.973138961755,0.973161029206,0.973183087711,0.973205137271,0.973227177886,0.973249209555,0.973271232278,0.973293246055,0.973315250885,0.973337246769,0.973359233707,0.973381211697,0.973403180741,0.973425140837,0.973447091985,0.973469034186,0.973490967439,0.973512891744,0.9735348071,0.973556713508,0.973578610967,0.973600499478,0.973622379039,0.973644249651,0.973666111313,0.973687964026,0.973709807788,0.973731642601,0.973753468463,0.973775285375,0.973797093336,0.973818892346,0.973840682405,0.973862463512,0.973884235668,0.973905998872,0.973927753125,0.973949498425,0.973971234773,0.973992962168,0.974014680611,0.9740363901,0.974058090637,0.97407978222,0.97410146485,0.974123138525,0.974144803247,0.974166459015,0.974188105829,0.974209743688,0.974231372592,0.974252992541,0.974274603536,0.974296205575,0.974317798658,0.974339382786,0.974360957957,0.974382524173,0.974404081432,0.974425629735,0.974447169081,0.97446869947,0.974490220902,0.974511733377,0.974533236894,0.974554731454,0.974576217056,0.974597693699,0.974619161384,0.974640620111,0.974662069879,0.974683510689,0.974704942539,0.974726365429,0.974747779361,0.974769184333,0.974790580344,0.974811967396,0.974833345488,0.974854714619,0.974876074789,0.974897425999,0.974918768247,0.974940101534,0.97496142586,0.974982741224,0.975004047627,0.975025345067,0.975046633545,0.975067913061,0.975089183614,0.975110445204,0.975131697831,0.975152941495,0.975174176196,0.975195401933,0.975216618706,0.975237826516,0.975259025361,0.975280215241,0.975301396158,0.975322568109,0.975343731095,0.975364885117,0.975386030173,0.975407166263,0.975428293388,0.975449411546,0.975470520739,0.975491620965,0.975512712225,0.975533794518,0.975554867844,0.975575932204,0.975596987595,0.97561803402,0.975639071476,0.975660099965,0.975681119486,0.975702130039,0.975723131623,0.975744124238,0.975765107885,0.975786082562,0.975807048271,0.975828005009,0.975848952779,0.975869891578,0.975890821408,0.975911742267,0.975932654156,0.975953557075,0.975974451022,0.975995335999,0.976016212005,0.976037079039,0.976057937102,0.976078786193,0.976099626312,0.976120457459,0.976141279634,0.976162092836,0.976182897066,0.976203692322,0.976224478606,0.976245255916,0.976266024253,0.976286783617,0.976307534006,0.976328275422,0.976349007863,0.97636973133,0.976390445822,0.97641115134,0.976431847883,0.97645253545,0.976473214042,0.976493883659,0.9765145443,0.976535195965,0.976555838653,0.976576472366,0.976597097102,0.976617712862,0.976638319644,0.97665891745,0.976679506278,0.976700086129,0.976720657002,0.976741218897,0.976761771815,0.976782315754,0.976802850715,0.976823376697,0.976843893701,0.976864401725,0.976884900771,0.976905390837,0.976925871924,0.976946344031,0.976966807158,0.976987261305,0.977007706471,0.977028142658,0.977048569863,0.977068988088,0.977089397332,0.977109797595,0.977130188876,0.977150571176,0.977170944494,0.97719130883,0.977211664184,0.977232010555,0.977252347944,0.977272676351,0.977292995774,0.977313306214,0.977333607671,0.977353900145,0.977374183635,0.977394458142,0.977414723664,0.977434980202,0.977455227756,0.977475466325,0.977495695909,0.977515916509,0.977536128123,0.977556330752,0.977576524396,0.977596709053,0.977616884725,0.977637051411,0.977657209111,0.977677357825,0.977697497551,0.977717628291,0.977737750044,0.97775786281,0.977777966588,0.977798061379,0.977818147183,0.977838223998,0.977858291825,0.977878350664,0.977898400515,0.977918441377,0.97793847325,0.977958496134,0.977978510029,0.977998514935,0.978018510851,0.978038497777,0.978058475713,0.978078444659,0.978098404615,0.978118355581,0.978138297556,0.97815823054,0.978178154533,0.978198069534,0.978217975545,0.978237872564,0.978257760591,0.978277639626,0.978297509669,0.97831737072,0.978337222778,0.978357065843,0.978376899916,0.978396724996,0.978416541082,0.978436348175,0.978456146275,0.978475935381,0.978495715492,0.97851548661,0.978535248733,0.978555001862,0.978574745997,0.978594481136,0.97861420728,0.978633924429,0.978653632583,0.978673331741,0.978693021904,0.97871270307,0.978732375241,0.978752038415,0.978771692592,0.978791337773,0.978810973957,0.978830601144,0.978850219334,0.978869828527,0.978889428721,0.978909019919,0.978928602118,0.978948175319,0.978967739522,0.978987294726,0.979006840932,0.979026378139,0.979045906347,0.979065425556,0.979084935765,0.979104436975,0.979123929185,0.979143412395,0.979162886606,0.979182351816,0.979201808025,0.979221255234,0.979240693442,0.979260122649,0.979279542855,0.97929895406,0.979318356263,0.979337749464,0.979357133664,0.979376508861,0.979395875057,0.97941523225,0.97943458044,0.979453919628,0.979473249812,0.979492570994,0.979511883172,0.979531186347,0.979550480518,0.979569765685,0.979589041849,0.979608309008,0.979627567163,0.979646816313,0.979666056459,0.979685287599,0.979704509735,0.979723722866,0.979742926991,0.97976212211,0.979781308224,0.979800485331,0.979819653433,0.979838812528,0.979857962617,0.9798771037,0.979896235775,0.979915358843,0.979934472905,0.979953577958,0.979972674005,0.979991761043,0.980010839074,0.980029908097,0.980048968112,0.980068019118,0.980087061115,0.980106094104,0.980125118084,0.980144133055,0.980163139016,0.980182135968,0.980201123911,0.980220102843,0.980239072766,0.980258033678,0.98027698558,0.980295928472,0.980314862353,0.980333787223,0.980352703082,0.98037160993,0.980390507767,0.980409396592,0.980428276405,0.980447147207,0.980466008996,0.980484861773,0.980503705538,0.98052254029,0.98054136603,0.980560182756,0.98057899047,0.98059778917,0.980616578857,0.98063535953,0.980654131189,0.980672893834,0.980691647465,0.980710392082,0.980729127685,0.980747854272,0.980766571845,0.980785280403,0.980803979946,0.980822670473,0.980841351985,0.980860024482,0.980878687962,0.980897342426,0.980915987874,0.980934624306,0.980953251721,0.98097187012,0.980990479502,0.981009079866,0.981027671213,0.981046253543,0.981064826856,0.98108339115,0.981101946427,0.981120492686,0.981139029926,0.981157558148,0.981176077352,0.981194587536,0.981213088702,0.981231580849,0.981250063976,0.981268538084,0.981287003172,0.981305459241,0.981323906289,0.981342344318,0.981360773326,0.981379193314,0.981397604281,0.981416006227,0.981434399152,0.981452783057,0.98147115794,0.981489523801,0.981507880641,0.981526228459,0.981544567255,0.981562897028,0.98158121778,0.981599529509,0.981617832215,0.981636125899,0.98165441056,0.981672686197,0.981690952811,0.981709210402,0.981727458969,0.981745698512,0.981763929031,0.981782150526,0.981800362996,0.981818566443,0.981836760864,0.981854946261,0.981873122632,0.981891289979,0.9819094483,0.981927597595,0.981945737865,0.98196386911,0.981981991328,0.98200010452,0.982018208685,0.982036303824,0.982054389937,0.982072467022,0.982090535081,0.982108594113,0.982126644117,0.982144685093,0.982162717042,0.982180739963,0.982198753856,0.982216758721,0.982234754558,0.982252741366,0.982270719146,0.982288687896,0.982306647618,0.982324598311,0.982342539974,0.982360472608,0.982378396212,0.982396310786,0.98241421633,0.982432112845,0.982450000328,0.982467878782,0.982485748205,0.982503608597,0.982521459958,0.982539302287,0.982557135586,0.982574959853,0.982592775089,0.982610581292,0.982628378464,0.982646166604,0.982663945711,0.982681715786,0.982699476829,0.982717228838,0.982734971815,0.982752705758,0.982770430669,0.982788146546,0.982805853389,0.982823551199,0.982841239974,0.982858919716,0.982876590423,0.982894252096,0.982911904735,0.982929548339,0.982947182908,0.982964808441,0.98298242494,0.983000032403,0.983017630831,0.983035220223,0.983052800579,0.983070371899,0.983087934184,0.983105487431,0.983123031642,0.983140566817,0.983158092955,0.983175610055,0.983193118119,0.983210617145,0.983228107134,0.983245588085,0.983263059999,0.983280522874,0.983297976712,0.983315421511,0.983332857272,0.983350283994,0.983367701677,0.983385110322,0.983402509927,0.983419900493,0.98343728202,0.983454654507,0.983472017955,0.983489372362,0.98350671773,0.983524054058,0.983541381345,0.983558699591,0.983576008797,0.983593308962,0.983610600087,0.98362788217,0.983645155211,0.983662419212,0.98367967417,0.983696920087,0.983714156962,0.983731384795,0.983748603586,0.983765813334,0.98378301404,0.983800205703,0.983817388323,0.9838345619,0.983851726434,0.983868881924,0.983886028371,0.983903165774,0.983920294134,0.983937413449,0.983954523721,0.983971624948,0.98398871713,0.984005800268,0.984022874361,0.98403993941,0.984056995413,0.984074042371,0.984091080283,0.98410810915,0.984125128972,0.984142139747,0.984159141476,0.98417613416,0.984193117797,0.984210092387,0.984227057931,0.984244014428,0.984260961878,0.98427790028,0.984294829636,0.984311749944,0.984328661205,0.984345563418,0.984362456583,0.984379340699,0.984396215768,0.984413081789,0.98442993876,0.984446786684,0.984463625558,0.984480455383,0.984497276159,0.984514087886,0.984530890564,0.984547684192,0.98456446877,0.984581244298,0.984598010776,0.984614768204,0.984631516582,0.984648255909,0.984664986185,0.984681707411,0.984698419586,0.984715122709,0.984731816781,0.984748501802,0.984765177771,0.984781844688,0.984798502554,0.984815151367,0.984831791128,0.984848421837,0.984865043494,0.984881656097,0.984898259648,0.984914854146,0.984931439591,0.984948015982,0.98496458332,0.984981141605,0.984997690835,0.985014231012,0.985030762135,0.985047284204,0.985063797218,0.985080301178,0.985096796083,0.985113281933,0.985129758728,0.985146226469,0.985162685154,0.985179134783,0.985195575357,0.985212006876,0.985228429338,0.985244842745,0.985261247095,0.985277642389,0.985294028626,0.985310405807,0.985326773932,0.985343132999,0.985359483009,0.985375823962,0.985392155858,0.985408478696,0.985424792476,0.985441097199,0.985457392864,0.98547367947,0.985489957018,0.985506225508,0.98552248494,0.985538735312,0.985554976626,0.985571208881,0.985587432076,0.985603646213,0.985619851289,0.985636047307,0.985652234264,0.985668412162,0.985684580999,0.985700740776,0.985716891493,0.98573303315,0.985749165746,0.985765289281,0.985781403755,0.985797509168,0.985813605519,0.98582969281,0.985845771038,0.985861840206,0.985877900311,0.985893951354,0.985909993335,0.985926026254,0.985942050111,0.985958064905,0.985974070636,0.985990067304,0.98600605491,0.986022033452,0.986038002931,0.986053963346,0.986069914698,0.986085856986,0.98610179021,0.986117714371,0.986133629467,0.986149535498,0.986165432465,0.986181320368,0.986197199206,0.986213068979,0.986228929686,0.986244781329,0.986260623906,0.986276457418,0.986292281864,0.986308097245,0.986323903559,0.986339700807,0.986355488989,0.986371268105,0.986387038154,0.986402799137,0.986418551053,0.986434293902,0.986450027683,0.986465752398,0.986481468045,0.986497174625,0.986512872136,0.986528560581,0.986544239957,0.986559910265,0.986575571505,0.986591223676,0.986606866779,0.986622500813,0.986638125778,0.986653741675,0.986669348502,0.98668494626,0.986700534949,0.986716114568,0.986731685117,0.986747246597,0.986762799007,0.986778342346,0.986793876615,0.986809401814,0.986824917943,0.986840425,0.986855922987,0.986871411903,0.986886891748,0.986902362521,0.986917824223,0.986933276854,0.986948720413,0.9869641549,0.986979580315,0.986994996658,0.987010403928,0.987025802127,0.987041191253,0.987056571306,0.987071942286,0.987087304193,0.987102657028,0.987118000789,0.987133335477,0.987148661091,0.987163977631,0.987179285098,0.987194583491,0.987209872809,0.987225153054,0.987240424224,0.987255686319,0.98727093934,0.987286183287,0.987301418158,0.987316643954,0.987331860675,0.987347068321,0.987362266891,0.987377456385,0.987392636804,0.987407808147,0.987422970414,0.987438123605,0.987453267719,0.987468402757,0.987483528718,0.987498645603,0.98751375341,0.987528852141,0.987543941794,0.987559022371,0.987574093869,0.987589156291,0.987604209634,0.9876192539,0.987634289087,0.987649315197,0.987664332228,0.987679340181,0.987694339055,0.987709328851,0.987724309568,0.987739281206,0.987754243765,0.987769197244,0.987784141645,0.987799076965,0.987814003206,0.987828920368,0.987843828449,0.987858727451,0.987873617372,0.987888498213,0.987903369973,0.987918232653,0.987933086252,0.98794793077,0.987962766207,0.987977592563,0.987992409838,0.988007218031,0.988022017143,0.988036807173,0.988051588122,0.988066359988,0.988081122772,0.988095876474,0.988110621094,0.988125356631,0.988140083086,0.988154800457,0.988169508746,0.988184207952,0.988198898075,0.988213579114,0.98822825107,0.988242913942,0.988257567731,0.988272212435,0.988286848056,0.988301474593,0.988316092045,0.988330700413,0.988345299697,0.988359889895,0.988374471009,0.988389043038,0.988403605982,0.988418159841,0.988432704615,0.988447240303,0.988461766905,0.988476284422,0.988490792853,0.988505292198,0.988519782456,0.988534263629,0.988548735715,0.988563198714,0.988577652627,0.988592097453,0.988606533192,0.988620959844,0.988635377409,0.988649785887,0.988664185277,0.98867857558,0.988692956794,0.988707328921,0.98872169196,0.988736045911,0.988750390774,0.988764726548,0.988779053234,0.988793370831,0.988807679339,0.988821978758,0.988836269089,0.98885055033,0.988864822482,0.988879085544,0.988893339517,0.9889075844,0.988921820194,0.988936046897,0.98895026451,0.988964473033,0.988978672466,0.988992862808,0.98900704406,0.989021216221,0.989035379291,0.98904953327,0.989063678158,0.989077813955,0.98909194066,0.989106058273,0.989120166796,0.989134266226,0.989148356564,0.989162437811,0.989176509965,0.989190573027,0.989204626996,0.989218671873,0.989232707657,0.989246734349,0.989260751947,0.989274760452,0.989288759865,0.989302750183,0.989316731409,0.989330703541,0.989344666579,0.989358620523,0.989372565373,0.989386501129,0.989400427791,0.989414345359,0.989428253832,0.989442153211,0.989456043494,0.989469924683,0.989483796777,0.989497659776,0.989511513679,0.989525358487,0.9895391942,0.989553020817,0.989566838338,0.989580646764,0.989594446093,0.989608236326,0.989622017463,0.989635789504,0.989649552448,0.989663306295,0.989677051046,0.989690786699,0.989704513256,0.989718230716,0.989731939078,0.989745638343,0.98975932851,0.98977300958,0.989786681552,0.989800344426,0.989813998202,0.989827642879,0.989841278459,0.98985490494,0.989868522322,0.989882130606,0.989895729791,0.989909319878,0.989922900865,0.989936472753,0.989950035542,0.989963589231,0.989977133821,0.989990669311,0.990004195701,0.990017712992,0.990031221182,0.990044720272,0.990058210262,0.990071691152,0.990085162941,0.990098625629,0.990112079217,0.990125523704,0.990138959089,0.990152385374,0.990165802557,0.990179210639,0.99019260962,0.990205999498,0.990219380275,0.99023275195,0.990246114523,0.990259467994,0.990272812363,0.99028614763,0.990299473793,0.990312790855,0.990326098813,0.990339397669,0.990352687421,0.990365968071,0.990379239617,0.99039250206,0.9904057554,0.990418999635,0.990432234768,0.990445460796,0.99045867772,0.99047188554,0.990485084256,0.990498273868,0.990511454375,0.990524625778,0.990537788076,0.990550941269,0.990564085358,0.990577220341,0.990590346219,0.990603462992,0.990616570659,0.990629669221,0.990642758677,0.990655839027,0.990668910272,0.99068197241,0.990695025443,0.990708069369,0.990721104188,0.990734129902,0.990747146508,0.990760154008,0.990773152401,0.990786141687,0.990799121866,0.990812092938,0.990825054902,0.990838007759,0.990850951508,0.99086388615,0.990876811684,0.99088972811,0.990902635428,0.990915533638,0.990928422739,0.990941302732,0.990954173617,0.990967035392,0.99097988806,0.990992731618,0.991005566067,0.991018391407,0.991031207638,0.99104401476,0.991056812772,0.991069601674,0.991082381467,0.99109515215,0.991107913723,0.991120666186,0.991133409539,0.991146143782,0.991158868914,0.991171584936,0.991184291847,0.991196989647,0.991209678336,0.991222357915,0.991235028382,0.991247689738,0.991260341983,0.991272985116,0.991285619138,0.991298244048,0.991310859846,0.991323466532,0.991336064107,0.991348652569,0.991361231919,0.991373802156,0.991386363281,0.991398915294,0.991411458193,0.99142399198,0.991436516654,0.991449032215,0.991461538662,0.991474035997,0.991486524218,0.991499003325,0.991511473319,0.991523934199,0.991536385965,0.991548828617,0.991561262155,0.991573686579,0.991586101888,0.991598508083,0.991610905163,0.991623293129,0.99163567198,0.991648041716,0.991660402337,0.991672753843,0.991685096234,0.991697429509,0.991709753669,0.991722068713,0.991734374642,0.991746671455,0.991758959152,0.991771237732,0.991783507197,0.991795767545,0.991808018777,0.991820260893,0.991832493892,0.991844717774,0.991856932539,0.991869138188,0.991881334719,0.991893522134,0.991905700431,0.99191786961,0.991930029672,0.991942180617,0.991954322444,0.991966455153,0.991978578744,0.991990693216,0.992002798571,0.992014894808,0.992026981926,0.992039059925,0.992051128806,0.992063188569,0.992075239212,0.992087280737,0.992099313142,0.992111336428,0.992123350596,0.992135355643,0.992147351571,0.99215933838,0.992171316069,0.992183284638,0.992195244087,0.992207194416,0.992219135625,0.992231067713,0.992242990681,0.992254904529,0.992266809256,0.992278704863,0.992290591348,0.992302468713,0.992314336957,0.992326196079,0.99233804608,0.99234988696,0.992361718719,0.992373541356,0.992385354871,0.992397159264,0.992408954536,0.992420740685,0.992432517713,0.992444285618,0.992456044401,0.992467794061,0.992479534599,0.992491266014,0.992502988306,0.992514701476,0.992526405522,0.992538100446,0.992549786246,0.992561462923,0.992573130476,0.992584788906,0.992596438213,0.992608078395,0.992619709454,0.992631331389,0.9926429442,0.992654547887,0.992666142449,0.992677727887,0.9926893042,0.992700871389,0.992712429454,0.992723978393,0.992735518208,0.992747048897,0.992758570462,0.992770082901,0.992781586215,0.992793080403,0.992804565466,0.992816041403,0.992827508215,0.9928389659,0.99285041446,0.992861853893,0.992873284201,0.992884705382,0.992896117437,0.992907520365,0.992918914167,0.992930298842,0.99294167439,0.992953040811,0.992964398105,0.992975746273,0.992987085312,0.992998415225,0.99300973601,0.993021047668,0.993032350198,0.9930436436,0.993054927875,0.993066203021,0.993077469039,0.99308872593,0.993099973692,0.993111212325,0.99312244183,0.993133662207,0.993144873455,0.993156075574,0.993167268564,0.993178452426,0.993189627158,0.993200792761,0.993211949235,0.993223096579,0.993234234794,0.993245363879,0.993256483835,0.993267594661,0.993278696356,0.993289788922,0.993300872358,0.993311946664,0.993323011839,0.993334067884,0.993345114798,0.993356152582,0.993367181235,0.993378200757,0.993389211148,0.993400212408,0.993411204537,0.993422187535,0.993433161402,0.993444126137,0.993455081741,0.993466028213,0.993476965553,0.993487893761,0.993498812838,0.993509722782,0.993520623595,0.993531515275,0.993542397822,0.993553271238,0.993564135521,0.993574990671,0.993585836688,0.993596673573,0.993607501325,0.993618319943,0.993629129429,0.993639929781,0.993650721,0.993661503086,0.993672276038,0.993683039856,0.993693794541,0.993704540092,0.993715276509,0.993726003792,0.993736721941,0.993747430955,0.993758130836,0.993768821582,0.993779503193,0.99379017567,0.993800839012,0.993811493219,0.993822138292,0.993832774229,0.993843401031,0.993854018698,0.99386462723,0.993875226626,0.993885816887,0.993896398013,0.993906970002,0.993917532856,0.993928086574,0.993938631156,0.993949166602,0.993959692912,0.993970210085,0.993980718123,0.993991217023,0.994001706787,0.994012187415,0.994022658906,0.99403312126,0.994043574477,0.994054018557,0.994064453499,0.994074879305,0.994085295973,0.994095703504,0.994106101897,0.994116491153,0.994126871271,0.994137242251,0.994147604093,0.994157956798,0.994168300364,0.994178634792,0.994188960082,0.994199276233,0.994209583246,0.994219881121,0.994230169856,0.994240449453,0.994250719911,0.99426098123,0.994271233411,0.994281476452,0.994291710353,0.994301935116,0.994312150739,0.994322357223,0.994332554567,0.994342742771,0.994352921835,0.99436309176,0.994373252545,0.994383404189,0.994393546694,0.994403680058,0.994413804281,0.994423919365,0.994434025308,0.99444412211,0.994454209771,0.994464288292,0.994474357672,0.994484417911,0.994494469008,0.994504510965,0.99451454378,0.994524567454,0.994534581987,0.994544587377,0.994554583627,0.994564570734,0.9945745487,0.994584517524,0.994594477206,0.994604427745,0.994614369143,0.994624301398,0.994634224511,0.994644138481,0.994654043309,0.994663938994,0.994673825536,0.994683702936,0.994693571193,0.994703430306,0.994713280277,0.994723121104,0.994732952788,0.994742775329,0.994752588726,0.99476239298,0.99477218809,0.994781974057,0.994791750879,0.994801518558,0.994811277092,0.994821026483,0.994830766729,0.994840497831,0.994850219789,0.994859932602,0.994869636271,0.994879330795,0.994889016174,0.994898692409,0.994908359498,0.994918017443,0.994927666243,0.994937305897,0.994946936406,0.99495655777,0.994966169989,0.994975773061,0.994985366989,0.99499495177,0.995004527406,0.995014093896,0.99502365124,0.995033199438,0.99504273849,0.995052268396,0.995061789155,0.995071300768,0.995080803234,0.995090296554,0.995099780727,0.995109255754,0.995118721633,0.995128178366,0.995137625952,0.99514706439,0.995156493682,0.995165913826,0.995175324823,0.995184726672,0.995194119374,0.995203502928,0.995212877335,0.995222242594,0.995231598705,0.995240945667,0.995250283482,0.995259612149,0.995268931668,0.995278242038,0.99528754326,0.995296835333,0.995306118258,0.995315392034,0.995324656662,0.99533391214,0.99534315847,0.995352395651,0.995361623683,0.995370842565,0.995380052299,0.995389252883,0.995398444317,0.995407626603,0.995416799738,0.995425963724,0.99543511856,0.995444264247,0.995453400783,0.995462528169,0.995471646406,0.995480755492,0.995489855428,0.995498946213,0.995508027849,0.995517100333,0.995526163668,0.995535217851,0.995544262884,0.995553298766,0.995562325497,0.995571343077,0.995580351506,0.995589350783,0.99559834091,0.995607321885,0.995616293709,0.995625256381,0.995634209902,0.995643154271,0.995652089488,0.995661015554,0.995669932467,0.995678840229,0.995687738838,0.995696628296,0.995705508601,0.995714379754,0.995723241754,0.995732094602,0.995740938298,0.99574977284,0.99575859823,0.995767414468,0.995776221552,0.995785019483,0.995793808262,0.995802587887,0.995811358359,0.995820119678,0.995828871843,0.995837614855,0.995846348714,0.995855073419,0.99586378897,0.995872495367,0.995881192611,0.9958898807,0.995898559636,0.995907229417,0.995915890045,0.995924541518,0.995933183837,0.995941817001,0.995950441011,0.995959055866,0.995967661567,0.995976258113,0.995984845504,0.99599342374,0.996001992822,0.996010552748,0.996019103519,0.996027645135,0.996036177596,0.996044700901,0.996053215051,0.996061720046,0.996070215884,0.996078702568,0.996087180095,0.996095648467,0.996104107682,0.996112557742,0.996120998646,0.996129430393,0.996137852985,0.99614626642,0.996154670699,0.996163065821,0.996171451787,0.996179828596,0.996188196248,0.996196554744,0.996204904083,0.996213244265,0.99622157529,0.996229897158,0.996238209869,0.996246513422,0.996254807819,0.996263093058,0.996271369139,0.996279636063,0.99628789383,0.996296142438,0.99630438189,0.996312612183,0.996320833318,0.996329045295,0.996337248115,0.996345441776,0.996353626279,0.996361801624,0.99636996781,0.996378124838,0.996386272708,0.996394411419,0.996402540971,0.996410661364,0.996418772599,0.996426874675,0.996434967592,0.99644305135,0.996451125949,0.996459191389,0.996467247669,0.99647529479,0.996483332752,0.996491361554,0.996499381197,0.99650739168,0.996515393004,0.996523385167,0.996531368171,0.996539342015,0.996547306699,0.996555262223,0.996563208587,0.996571145791,0.996579073834,0.996586992717,0.99659490244,0.996602803002,0.996610694403,0.996618576644,0.996626449724,0.996634313644,0.996642168402,0.996650014,0.996657850437,0.996665677712,0.996673495827,0.99668130478,0.996689104572,0.996696895203,0.996704676672,0.99671244898,0.996720212126,0.996727966111,0.996735710933,0.996743446594,0.996751173094,0.996758890431,0.996766598606,0.996774297619,0.99678198747,0.996789668159,0.996797339686,0.99680500205,0.996812655252,0.996820299291,0.996827934168,0.996835559882,0.996843176434,0.996850783822,0.996858382048,0.996865971111,0.996873551011,0.996881121748,0.996888683322,0.996896235732,0.99690377898,0.996911313064,0.996918837984,0.996926353741,0.996933860335,0.996941357765,0.996948846031,0.996956325134,0.996963795073,0.996971255848,0.996978707459,0.996986149906,0.996993583189,0.997001007307,0.997008422262,0.997015828052,0.997023224678,0.997030612139,0.997037990436,0.997045359569,0.997052719536,0.997060070339,0.997067411978,0.997074744451,0.99708206776,0.997089381903,0.997096686882,0.997103982696,0.997111269344,0.997118546827,0.997125815145,0.997133074297,0.997140324284,0.997147565106,0.997154796762,0.997162019252,0.997169232576,0.997176436735,0.997183631728,0.997190817555,0.997197994217,0.997205161712,0.997212320041,0.997219469204,0.9972266092,0.99723374003,0.997240861694,0.997247974192,0.997255077523,0.997262171688,0.997269256685,0.997276332517,0.997283399181,0.997290456679,0.997297505009,0.997304544173,0.99731157417,0.997318595,0.997325606662,0.997332609158,0.997339602486,0.997346586647,0.99735356164,0.997360527466,0.997367484124,0.997374431615,0.997381369938,0.997388299094,0.997395219081,0.997402129901,0.997409031553,0.997415924037,0.997422807353,0.997429681501,0.997436546481,0.997443402292,0.997450248935,0.99745708641,0.997463914716,0.997470733854,0.997477543824,0.997484344624,0.997491136257,0.99749791872,0.997504692015,0.99751145614,0.997518211097,0.997524956885,0.997531693504,0.997538420954,0.997545139234,0.997551848346,0.997558548288,0.99756523906,0.997571920664,0.997578593098,0.997585256362,0.997591910457,0.997598555382,0.997605191137,0.997611817723,0.997618435139,0.997625043384,0.99763164246,0.997638232366,0.997644813102,0.997651384668,0.997657947063,0.997664500289,0.997671044343,0.997677579228,0.997684104942,0.997690621486,0.997697128859,0.997703627061,0.997710116093,0.997716595954,0.997723066644,0.997729528164,0.997735980512,0.997742423689,0.997748857696,0.997755282531,0.997761698195,0.997768104688,0.99777450201,0.997780890161,0.99778726914,0.997793638947,0.997799999583,0.997806351048,0.99781269334,0.997819026462,0.997825350411,0.997831665189,0.997837970795,0.997844267228,0.99785055449,0.99785683258,0.997863101498,0.997869361244,0.997875611817,0.997881853218,0.997888085447,0.997894308504,0.997900522388,0.997906727099,0.997912922638,0.997919109005,0.997925286199,0.99793145422,0.997937613068,0.997943762743,0.997949903246,0.997956034576,0.997962156732,0.997968269716,0.997974373526,0.997980468164,0.997986553628,0.997992629919,0.997998697036,0.99800475498,0.998010803751,0.998016843348,0.998022873771,0.998028895021,0.998034907098,0.99804091,0.998046903729,0.998052888284,0.998058863665,0.998064829872,0.998070786905,0.998076734765,0.99808267345,0.99808860296,0.998094523297,0.998100434459,0.998106336447,0.998112229261,0.9981181129,0.998123987365,0.998129852655,0.998135708771,0.998141555712,0.998147393478,0.998153222069,0.998159041486,0.998164851728,0.998170652795,0.998176444686,0.998182227403,0.998188000945,0.998193765312,0.998199520503,0.99820526652,0.99821100336,0.998216731026,0.998222449516,0.998228158831,0.99823385897,0.998239549934,0.998245231722,0.998250904335,0.998256567771,0.998262222032,0.998267867118,0.998273503027,0.99827912976,0.998284747318,0.998290355699,0.998295954905,0.998301544934,0.998307125787,0.998312697464,0.998318259964,0.998323813289,0.998329357436,0.998334892408,0.998340418203,0.998345934821,0.998351442263,0.998356940528,0.998362429617,0.998367909529,0.998373380264,0.998378841822,0.998384294203,0.998389737407,0.998395171435,0.998400596285,0.998406011958,0.998411418454,0.998416815773,0.998422203915,0.998427582879,0.998432952667,0.998438313276,0.998443664708,0.998449006963,0.998454340041,0.99845966394,0.998464978662,0.998470284207,0.998475580573,0.998480867762,0.998486145773,0.998491414606,0.998496674262,0.998501924739,0.998507166038,0.99851239816,0.998517621103,0.998522834868,0.998528039454,0.998533234863,0.998538421093,0.998543598145,0.998548766018,0.998553924713,0.99855907423,0.998564214568,0.998569345727,0.998574467708,0.99857958051,0.998584684133,0.998589778578,0.998594863843,0.99859993993,0.998605006838,0.998610064567,0.998615113117,0.998620152488,0.99862518268,0.998630203693,0.998635215526,0.99864021818,0.998645211655,0.998650195951,0.998655171067,0.998660137004,0.998665093761,0.998670041339,0.998674979737,0.998679908956,0.998684828995,0.998689739854,0.998694641534,0.998699534034,0.998704417353,0.998709291494,0.998714156454,0.998719012234,0.998723858834,0.998728696254,0.998733524494,0.998738343554,0.998743153434,0.998747954133,0.998752745652,0.998757527991,0.99876230115,0.998767065128,0.998771819925,0.998776565542,0.998781301979,0.998786029235,0.99879074731,0.998795456205,0.998800155919,0.998804846452,0.998809527805,0.998814199976,0.998818862967,0.998823516777,0.998828161406,0.998832796854,0.99883742312,0.998842040206,0.99884664811,0.998851246834,0.998855836376,0.998860416737,0.998864987916,0.998869549914,0.998874102731,0.998878646366,0.99888318082,0.998887706093,0.998892222183,0.998896729092,0.99890122682,0.998905715366,0.99891019473,0.998914664912,0.998919125913,0.998923577731,0.998928020368,0.998932453823,0.998936878096,0.998941293187,0.998945699096,0.998950095822,0.998954483367,0.998958861729,0.99896323091,0.998967590908,0.998971941723,0.998976283356,0.998980615807,0.998984939076,0.998989253162,0.998993558066,0.998997853787,0.999002140325,0.999006417681,0.999010685854,0.999014944845,0.999019194652,0.999023435277,0.99902766672,0.999031888979,0.999036102055,0.999040305949,0.999044500659,0.999048686187,0.999052862532,0.999057029693,0.999061187671,0.999065336466,0.999069476078,0.999073606507,0.999077727753,0.999081839815,0.999085942694,0.999090036389,0.999094120901,0.99909819623,0.999102262375,0.999106319336,0.999110367114,0.999114405709,0.999118435119,0.999122455346,0.99912646639,0.999130468249,0.999134460925,0.999138444417,0.999142418725,0.999146383849,0.999150339789,0.999154286545,0.999158224118,0.999162152506,0.99916607171,0.99916998173,0.999173882566,0.999177774217,0.999181656685,0.999185529968,0.999189394067,0.999193248981,0.999197094711,0.999200931257,0.999204758618,0.999208576795,0.999212385787,0.999216185595,0.999219976218,0.999223757657,0.999227529911,0.99923129298,0.999235046865,0.999238791564,0.999242527079,0.999246253409,0.999249970555,0.999253678515,0.999257377291,0.999261066881,0.999264747287,0.999268418507,0.999272080543,0.999275733393,0.999279377058,0.999283011538,0.999286636833,0.999290252943,0.999293859867,0.999297457606,0.99930104616,0.999304625528,0.999308195711,0.999311756709,0.999315308521,0.999318851147,0.999322384588,0.999325908844,0.999329423914,0.999332929798,0.999336426497,0.99933991401,0.999343392337,0.999346861478,0.999350321434,0.999353772204,0.999357213788,0.999360646186,0.999364069399,0.999367483425,0.999370888265,0.99937428392,0.999377670388,0.99938104767,0.999384415766,0.999387774676,0.9993911244,0.999394464938,0.99939779629,0.999401118455,0.999404431434,0.999407735226,0.999411029833,0.999414315253,0.999417591486,0.999420858533,0.999424116394,0.999427365068,0.999430604555,0.999433834857,0.999437055971,0.999440267899,0.99944347064,0.999446664195,0.999449848562,0.999453023744,0.999456189738,0.999459346546,0.999462494166,0.9994656326,0.999468761847,0.999471881907,0.999474992781,0.999478094467,0.999481186966,0.999484270278,0.999487344404,0.999490409342,0.999493465093,0.999496511657,0.999499549033,0.999502577223,0.999505596225,0.99950860604,0.999511606668,0.999514598109,0.999517580362,0.999520553428,0.999523517306,0.999526471997,0.999529417501,0.999532353817,0.999535280946,0.999538198887,0.999541107641,0.999544007207,0.999546897585,0.999549778776,0.999552650779,0.999555513595,0.999558367223,0.999561211663,0.999564046915,0.99956687298,0.999569689857,0.999572497546,0.999575296047,0.99957808536,0.999580865485,0.999583636423,0.999586398172,0.999589150734,0.999591894107,0.999594628292,0.99959735329,0.999600069099,0.99960277572,0.999605473153,0.999608161398,0.999610840455,0.999613510323,0.999616171003,0.999618822495,0.999621464799,0.999624097914,0.999626721841,0.99962933658,0.99963194213,0.999634538492,0.999637125666,0.999639703651,0.999642272447,0.999644832055,0.999647382475,0.999649923706,0.999652455748,0.999654978602,0.999657492267,0.999659996744,0.999662492032,0.999664978131,0.999667455042,0.999669922763,0.999672381297,0.999674830641,0.999677270796,0.999679701763,0.999682123541,0.99968453613,0.99968693953,0.999689333741,0.999691718763,0.999694094597,0.999696461241,0.999698818696,0.999701166963,0.99970350604,0.999705835928,0.999708156627,0.999710468137,0.999712770458,0.99971506359,0.999717347532,0.999719622286,0.99972188785,0.999724144225,0.999726391411,0.999728629407,0.999730858214,0.999733077832,0.999735288261,0.9997374895,0.999739681549,0.99974186441,0.999744038081,0.999746202562,0.999748357855,0.999750503957,0.99975264087,0.999754768594,0.999756887128,0.999758996472,0.999761096627,0.999763187593,0.999765269369,0.999767341955,0.999769405351,0.999771459558,0.999773504575,0.999775540403,0.99977756704,0.999779584488,0.999781592747,0.999783591815,0.999785581694,0.999787562382,0.999789533881,0.999791496191,0.99979344931,0.999795393239,0.999797327979,0.999799253528,0.999801169888,0.999803077058,0.999804975037,0.999806863827,0.999808743427,0.999810613836,0.999812475056,0.999814327085,0.999816169925,0.999818003574,0.999819828034,0.999821643303,0.999823449382,0.99982524627,0.999827033969,0.999828812478,0.999830581796,0.999832341924,0.999834092862,0.999835834609,0.999837567166,0.999839290533,0.99984100471,0.999842709696,0.999844405492,0.999846092098,0.999847769513,0.999849437738,0.999851096772,0.999852746616,0.99985438727,0.999856018733,0.999857641006,0.999859254088,0.99986085798,0.999862452681,0.999864038192,0.999865614512,0.999867181641,0.999868739581,0.999870288329,0.999871827887,0.999873358254,0.999874879431,0.999876391417,0.999877894212,0.999879387817,0.999880872231,0.999882347454,0.999883813487,0.999885270329,0.99988671798,0.99988815644,0.99988958571,0.999891005789,0.999892416677,0.999893818374,0.999895210881,0.999896594197,0.999897968321,0.999899333256,0.999900688999,0.999902035551,0.999903372912,0.999904701083,0.999906020062,0.999907329851,0.999908630449,0.999909921856,0.999911204071,0.999912477096,0.99991374093,0.999914995573,0.999916241025,0.999917477286,0.999918704356,0.999919922235,0.999921130922,0.999922330419,0.999923520725,0.999924701839,0.999925873763,0.999927036495,0.999928190036,0.999929334386,0.999930469545,0.999931595513,0.99993271229,0.999933819875,0.99993491827,0.999936007473,0.999937087485,0.999938158305,0.999939219935,0.999940272373,0.99994131562,0.999942349676,0.999943374541,0.999944390214,0.999945396696,0.999946393987,0.999947382086,0.999948360994,0.999949330711,0.999950291236,0.999951242571,0.999952184714,0.999953117665,0.999954041425,0.999954955994,0.999955861371,0.999956757557,0.999957644552,0.999958522355,0.999959390967,0.999960250387,0.999961100616,0.999961941654,0.9999627735,0.999963596155,0.999964409618,0.99996521389,0.99996600897,0.999966794859,0.999967571556,0.999968339062,0.999969097377,0.9999698465,0.999970586431,0.999971317171,0.999972038719,0.999972751076,0.999973454241,0.999974148215,0.999974832997,0.999975508588,0.999976174987,0.999976832194,0.99997748021,0.999978119035,0.999978748667,0.999979369109,0.999979980358,0.999980582416,0.999981175283,0.999981758957,0.999982333441,0.999982898732,0.999983454832,0.99998400174,0.999984539457,0.999985067982,0.999985587315,0.999986097457,0.999986598407,0.999987090165,0.999987572732,0.999988046107,0.99998851029,0.999988965282,0.999989411082,0.99998984769,0.999990275107,0.999990693332,0.999991102365,0.999991502206,0.999991892856,0.999992274314,0.999992646581,0.999993009655,0.999993363538,0.99999370823,0.999994043729,0.999994370037,0.999994687153,0.999994995077,0.99999529381,0.99999558335,0.999995863699,0.999996134857,0.999996396822,0.999996649596,0.999996893178,0.999997127568,0.999997352767,0.999997568774,0.999997775589,0.999997973212,0.999998161643,0.999998340883,0.999998510931,0.999998671787,0.999998823452,0.999998965924,0.999999099205,0.999999223294,0.999999338192,0.999999443897,0.999999540411,0.999999627733,0.999999705863,0.999999774801,0.999999834548,0.999999885103,0.999999926466,0.999999958637,0.999999981616,0.999999995404,1.0,0.999999995404,0.999999981616,0.999999958637,0.999999926466,0.999999885103,0.999999834548,0.999999774801,0.999999705863,0.999999627733,0.999999540411,0.999999443897,0.999999338192,0.999999223294,0.999999099205,0.999998965924,0.999998823452,0.999998671787,0.999998510931,0.999998340883,0.999998161643,0.999997973212,0.999997775589,0.999997568774,0.999997352767,0.999997127568,0.999996893178,0.999996649596,0.999996396822,0.999996134857,0.999995863699,0.99999558335,0.99999529381,0.999994995077,0.999994687153,0.999994370037,0.999994043729,0.99999370823,0.999993363538,0.999993009655,0.999992646581,0.999992274314,0.999991892856,0.999991502206,0.999991102365,0.999990693332,0.999990275107,0.99998984769,0.999989411082,0.999988965282,0.99998851029,0.999988046107,0.999987572732,0.999987090165,0.999986598407,0.999986097457,0.999985587315,0.999985067982,0.999984539457,0.99998400174,0.999983454832,0.999982898732,0.999982333441,0.999981758957,0.999981175283,0.999980582416,0.999979980358,0.999979369109,0.999978748667,0.999978119035,0.99997748021,0.999976832194,0.999976174987,0.999975508588,0.999974832997,0.999974148215,0.999973454241,0.999972751076,0.999972038719,0.999971317171,0.999970586431,0.9999698465,0.999969097377,0.999968339062,0.999967571556,0.999966794859,0.99996600897,0.99996521389,0.999964409618,0.999963596155,0.9999627735,0.999961941654,0.999961100616,0.999960250387,0.999959390967,0.999958522355,0.999957644552,0.999956757557,0.999955861371,0.999954955994,0.999954041425,0.999953117665,0.999952184714,0.999951242571,0.999950291236,0.999949330711,0.999948360994,0.999947382086,0.999946393987,0.999945396696,0.999944390214,0.999943374541,0.999942349676,0.99994131562,0.999940272373,0.999939219935,0.999938158305,0.999937087485,0.999936007473,0.99993491827,0.999933819875,0.99993271229,0.999931595513,0.999930469545,0.999929334386,0.999928190036,0.999927036495,0.999925873763,0.999924701839,0.999923520725,0.999922330419,0.999921130922,0.999919922235,0.999918704356,0.999917477286,0.999916241025,0.999914995573,0.99991374093,0.999912477096,0.999911204071,0.999909921856,0.999908630449,0.999907329851,0.999906020062,0.999904701083,0.999903372912,0.999902035551,0.999900688999,0.999899333256,0.999897968321,0.999896594197,0.999895210881,0.999893818374,0.999892416677,0.999891005789,0.99988958571,0.99988815644,0.99988671798,0.999885270329,0.999883813487,0.999882347454,0.999880872231,0.999879387817,0.999877894212,0.999876391417,0.999874879431,0.999873358254,0.999871827887,0.999870288329,0.999868739581,0.999867181641,0.999865614512,0.999864038192,0.999862452681,0.99986085798,0.999859254088,0.999857641006,0.999856018733,0.99985438727,0.999852746616,0.999851096772,0.999849437738,0.999847769513,0.999846092098,0.999844405492,0.999842709696,0.99984100471,0.999839290533,0.999837567166,0.999835834609,0.999834092862,0.999832341924,0.999830581796,0.999828812478,0.999827033969,0.99982524627,0.999823449382,0.999821643303,0.999819828034,0.999818003574,0.999816169925,0.999814327085,0.999812475056,0.999810613836,0.999808743427,0.999806863827,0.999804975037,0.999803077058,0.999801169888,0.999799253528,0.999797327979,0.999795393239,0.99979344931,0.999791496191,0.999789533881,0.999787562382,0.999785581694,0.999783591815,0.999781592747,0.999779584488,0.99977756704,0.999775540403,0.999773504575,0.999771459558,0.999769405351,0.999767341955,0.999765269369,0.999763187593,0.999761096627,0.999758996472,0.999756887128,0.999754768594,0.99975264087,0.999750503957,0.999748357855,0.999746202562,0.999744038081,0.99974186441,0.999739681549,0.9997374895,0.999735288261,0.999733077832,0.999730858214,0.999728629407,0.999726391411,0.999724144225,0.99972188785,0.999719622286,0.999717347532,0.99971506359,0.999712770458,0.999710468137,0.999708156627,0.999705835928,0.99970350604,0.999701166963,0.999698818696,0.999696461241,0.999694094597,0.999691718763,0.999689333741,0.99968693953,0.99968453613,0.999682123541,0.999679701763,0.999677270796,0.999674830641,0.999672381297,0.999669922763,0.999667455042,0.999664978131,0.999662492032,0.999659996744,0.999657492267,0.999654978602,0.999652455748,0.999649923706,0.999647382475,0.999644832055,0.999642272447,0.999639703651,0.999637125666,0.999634538492,0.99963194213,0.99962933658,0.999626721841,0.999624097914,0.999621464799,0.999618822495,0.999616171003,0.999613510323,0.999610840455,0.999608161398,0.999605473153,0.99960277572,0.999600069099,0.99959735329,0.999594628292,0.999591894107,0.999589150734,0.999586398172,0.999583636423,0.999580865485,0.99957808536,0.999575296047,0.999572497546,0.999569689857,0.99956687298,0.999564046915,0.999561211663,0.999558367223,0.999555513595,0.999552650779,0.999549778776,0.999546897585,0.999544007207,0.999541107641,0.999538198887,0.999535280946,0.999532353817,0.999529417501,0.999526471997,0.999523517306,0.999520553428,0.999517580362,0.999514598109,0.999511606668,0.99950860604,0.999505596225,0.999502577223,0.999499549033,0.999496511657,0.999493465093,0.999490409342,0.999487344404,0.999484270278,0.999481186966,0.999478094467,0.999474992781,0.999471881907,0.999468761847,0.9994656326,0.999462494166,0.999459346546,0.999456189738,0.999453023744,0.999449848562,0.999446664195,0.99944347064,0.999440267899,0.999437055971,0.999433834857,0.999430604555,0.999427365068,0.999424116394,0.999420858533,0.999417591486,0.999414315253,0.999411029833,0.999407735226,0.999404431434,0.999401118455,0.99939779629,0.999394464938,0.9993911244,0.999387774676,0.999384415766,0.99938104767,0.999377670388,0.99937428392,0.999370888265,0.999367483425,0.999364069399,0.999360646186,0.999357213788,0.999353772204,0.999350321434,0.999346861478,0.999343392337,0.99933991401,0.999336426497,0.999332929798,0.999329423914,0.999325908844,0.999322384588,0.999318851147,0.999315308521,0.999311756709,0.999308195711,0.999304625528,0.99930104616,0.999297457606,0.999293859867,0.999290252943,0.999286636833,0.999283011538,0.999279377058,0.999275733393,0.999272080543,0.999268418507,0.999264747287,0.999261066881,0.999257377291,0.999253678515,0.999249970555,0.999246253409,0.999242527079,0.999238791564,0.999235046865,0.99923129298,0.999227529911,0.999223757657,0.999219976218,0.999216185595,0.999212385787,0.999208576795,0.999204758618,0.999200931257,0.999197094711,0.999193248981,0.999189394067,0.999185529968,0.999181656685,0.999177774217,0.999173882566,0.99916998173,0.99916607171,0.999162152506,0.999158224118,0.999154286545,0.999150339789,0.999146383849,0.999142418725,0.999138444417,0.999134460925,0.999130468249,0.99912646639,0.999122455346,0.999118435119,0.999114405709,0.999110367114,0.999106319336,0.999102262375,0.99909819623,0.999094120901,0.999090036389,0.999085942694,0.999081839815,0.999077727753,0.999073606507,0.999069476078,0.999065336466,0.999061187671,0.999057029693,0.999052862532,0.999048686187,0.999044500659,0.999040305949,0.999036102055,0.999031888979,0.99902766672,0.999023435277,0.999019194652,0.999014944845,0.999010685854,0.999006417681,0.999002140325,0.998997853787,0.998993558066,0.998989253162,0.998984939076,0.998980615807,0.998976283356,0.998971941723,0.998967590908,0.99896323091,0.998958861729,0.998954483367,0.998950095822,0.998945699096,0.998941293187,0.998936878096,0.998932453823,0.998928020368,0.998923577731,0.998919125913,0.998914664912,0.99891019473,0.998905715366,0.99890122682,0.998896729092,0.998892222183,0.998887706093,0.99888318082,0.998878646366,0.998874102731,0.998869549914,0.998864987916,0.998860416737,0.998855836376,0.998851246834,0.99884664811,0.998842040206,0.99883742312,0.998832796854,0.998828161406,0.998823516777,0.998818862967,0.998814199976,0.998809527805,0.998804846452,0.998800155919,0.998795456205,0.99879074731,0.998786029235,0.998781301979,0.998776565542,0.998771819925,0.998767065128,0.99876230115,0.998757527991,0.998752745652,0.998747954133,0.998743153434,0.998738343554,0.998733524494,0.998728696254,0.998723858834,0.998719012234,0.998714156454,0.998709291494,0.998704417353,0.998699534034,0.998694641534,0.998689739854,0.998684828995,0.998679908956,0.998674979737,0.998670041339,0.998665093761,0.998660137004,0.998655171067,0.998650195951,0.998645211655,0.99864021818,0.998635215526,0.998630203693,0.99862518268,0.998620152488,0.998615113117,0.998610064567,0.998605006838,0.99859993993,0.998594863843,0.998589778578,0.998584684133,0.99857958051,0.998574467708,0.998569345727,0.998564214568,0.99855907423,0.998553924713,0.998548766018,0.998543598145,0.998538421093,0.998533234863,0.998528039454,0.998522834868,0.998517621103,0.99851239816,0.998507166038,0.998501924739,0.998496674262,0.998491414606,0.998486145773,0.998480867762,0.998475580573,0.998470284207,0.998464978662,0.99845966394,0.998454340041,0.998449006963,0.998443664708,0.998438313276,0.998432952667,0.998427582879,0.998422203915,0.998416815773,0.998411418454,0.998406011958,0.998400596285,0.998395171435,0.998389737407,0.998384294203,0.998378841822,0.998373380264,0.998367909529,0.998362429617,0.998356940528,0.998351442263,0.998345934821,0.998340418203,0.998334892408,0.998329357436,0.998323813289,0.998318259964,0.998312697464,0.998307125787,0.998301544934,0.998295954905,0.998290355699,0.998284747318,0.99827912976,0.998273503027,0.998267867118,0.998262222032,0.998256567771,0.998250904335,0.998245231722,0.998239549934,0.99823385897,0.998228158831,0.998222449516,0.998216731026,0.99821100336,0.99820526652,0.998199520503,0.998193765312,0.998188000945,0.998182227403,0.998176444686,0.998170652795,0.998164851728,0.998159041486,0.998153222069,0.998147393478,0.998141555712,0.998135708771,0.998129852655,0.998123987365,0.9981181129,0.998112229261,0.998106336447,0.998100434459,0.998094523297,0.99808860296,0.99808267345,0.998076734765,0.998070786905,0.998064829872,0.998058863665,0.998052888284,0.998046903729,0.99804091,0.998034907098,0.998028895021,0.998022873771,0.998016843348,0.998010803751,0.99800475498,0.997998697036,0.997992629919,0.997986553628,0.997980468164,0.997974373526,0.997968269716,0.997962156732,0.997956034576,0.997949903246,0.997943762743,0.997937613068,0.99793145422,0.997925286199,0.997919109005,0.997912922638,0.997906727099,0.997900522388,0.997894308504,0.997888085447,0.997881853218,0.997875611817,0.997869361244,0.997863101498,0.99785683258,0.99785055449,0.997844267228,0.997837970795,0.997831665189,0.997825350411,0.997819026462,0.99781269334,0.997806351048,0.997799999583,0.997793638947,0.99778726914,0.997780890161,0.99777450201,0.997768104688,0.997761698195,0.997755282531,0.997748857696,0.997742423689,0.997735980512,0.997729528164,0.997723066644,0.997716595954,0.997710116093,0.997703627061,0.997697128859,0.997690621486,0.997684104942,0.997677579228,0.997671044343,0.997664500289,0.997657947063,0.997651384668,0.997644813102,0.997638232366,0.99763164246,0.997625043384,0.997618435139,0.997611817723,0.997605191137,0.997598555382,0.997591910457,0.997585256362,0.997578593098,0.997571920664,0.99756523906,0.997558548288,0.997551848346,0.997545139234,0.997538420954,0.997531693504,0.997524956885,0.997518211097,0.99751145614,0.997504692015,0.99749791872,0.997491136257,0.997484344624,0.997477543824,0.997470733854,0.997463914716,0.99745708641,0.997450248935,0.997443402292,0.997436546481,0.997429681501,0.997422807353,0.997415924037,0.997409031553,0.997402129901,0.997395219081,0.997388299094,0.997381369938,0.997374431615,0.997367484124,0.997360527466,0.99735356164,0.997346586647,0.997339602486,0.997332609158,0.997325606662,0.997318595,0.99731157417,0.997304544173,0.997297505009,0.997290456679,0.997283399181,0.997276332517,0.997269256685,0.997262171688,0.997255077523,0.997247974192,0.997240861694,0.99723374003,0.9972266092,0.997219469204,0.997212320041,0.997205161712,0.997197994217,0.997190817555,0.997183631728,0.997176436735,0.997169232576,0.997162019252,0.997154796762,0.997147565106,0.997140324284,0.997133074297,0.997125815145,0.997118546827,0.997111269344,0.997103982696,0.997096686882,0.997089381903,0.99708206776,0.997074744451,0.997067411978,0.997060070339,0.997052719536,0.997045359569,0.997037990436,0.997030612139,0.997023224678,0.997015828052,0.997008422262,0.997001007307,0.996993583189,0.996986149906,0.996978707459,0.996971255848,0.996963795073,0.996956325134,0.996948846031,0.996941357765,0.996933860335,0.996926353741,0.996918837984,0.996911313064,0.99690377898,0.996896235732,0.996888683322,0.996881121748,0.996873551011,0.996865971111,0.996858382048,0.996850783822,0.996843176434,0.996835559882,0.996827934168,0.996820299291,0.996812655252,0.99680500205,0.996797339686,0.996789668159,0.99678198747,0.996774297619,0.996766598606,0.996758890431,0.996751173094,0.996743446594,0.996735710933,0.996727966111,0.996720212126,0.99671244898,0.996704676672,0.996696895203,0.996689104572,0.99668130478,0.996673495827,0.996665677712,0.996657850437,0.996650014,0.996642168402,0.996634313644,0.996626449724,0.996618576644,0.996610694403,0.996602803002,0.99659490244,0.996586992717,0.996579073834,0.996571145791,0.996563208587,0.996555262223,0.996547306699,0.996539342015,0.996531368171,0.996523385167,0.996515393004,0.99650739168,0.996499381197,0.996491361554,0.996483332752,0.99647529479,0.996467247669,0.996459191389,0.996451125949,0.99644305135,0.996434967592,0.996426874675,0.996418772599,0.996410661364,0.996402540971,0.996394411419,0.996386272708,0.996378124838,0.99636996781,0.996361801624,0.996353626279,0.996345441776,0.996337248115,0.996329045295,0.996320833318,0.996312612183,0.99630438189,0.996296142438,0.99628789383,0.996279636063,0.996271369139,0.996263093058,0.996254807819,0.996246513422,0.996238209869,0.996229897158,0.99622157529,0.996213244265,0.996204904083,0.996196554744,0.996188196248,0.996179828596,0.996171451787,0.996163065821,0.996154670699,0.99614626642,0.996137852985,0.996129430393,0.996120998646,0.996112557742,0.996104107682,0.996095648467,0.996087180095,0.996078702568,0.996070215884,0.996061720046,0.996053215051,0.996044700901,0.996036177596,0.996027645135,0.996019103519,0.996010552748,0.996001992822,0.99599342374,0.995984845504,0.995976258113,0.995967661567,0.995959055866,0.995950441011,0.995941817001,0.995933183837,0.995924541518,0.995915890045,0.995907229417,0.995898559636,0.9958898807,0.995881192611,0.995872495367,0.99586378897,0.995855073419,0.995846348714,0.995837614855,0.995828871843,0.995820119678,0.995811358359,0.995802587887,0.995793808262,0.995785019483,0.995776221552,0.995767414468,0.99575859823,0.99574977284,0.995740938298,0.995732094602,0.995723241754,0.995714379754,0.995705508601,0.995696628296,0.995687738838,0.995678840229,0.995669932467,0.995661015554,0.995652089488,0.995643154271,0.995634209902,0.995625256381,0.995616293709,0.995607321885,0.99559834091,0.995589350783,0.995580351506,0.995571343077,0.995562325497,0.995553298766,0.995544262884,0.995535217851,0.995526163668,0.995517100333,0.995508027849,0.995498946213,0.995489855428,0.995480755492,0.995471646406,0.995462528169,0.995453400783,0.995444264247,0.99543511856,0.995425963724,0.995416799738,0.995407626603,0.995398444317,0.995389252883,0.995380052299,0.995370842565,0.995361623683,0.995352395651,0.99534315847,0.99533391214,0.995324656662,0.995315392034,0.995306118258,0.995296835333,0.99528754326,0.995278242038,0.995268931668,0.995259612149,0.995250283482,0.995240945667,0.995231598705,0.995222242594,0.995212877335,0.995203502928,0.995194119374,0.995184726672,0.995175324823,0.995165913826,0.995156493682,0.99514706439,0.995137625952,0.995128178366,0.995118721633,0.995109255754,0.995099780727,0.995090296554,0.995080803234,0.995071300768,0.995061789155,0.995052268396,0.99504273849,0.995033199438,0.99502365124,0.995014093896,0.995004527406,0.99499495177,0.994985366989,0.994975773061,0.994966169989,0.99495655777,0.994946936406,0.994937305897,0.994927666243,0.994918017443,0.994908359498,0.994898692409,0.994889016174,0.994879330795,0.994869636271,0.994859932602,0.994850219789,0.994840497831,0.994830766729,0.994821026483,0.994811277092,0.994801518558,0.994791750879,0.994781974057,0.99477218809,0.99476239298,0.994752588726,0.994742775329,0.994732952788,0.994723121104,0.994713280277,0.994703430306,0.994693571193,0.994683702936,0.994673825536,0.994663938994,0.994654043309,0.994644138481,0.994634224511,0.994624301398,0.994614369143,0.994604427745,0.994594477206,0.994584517524,0.9945745487,0.994564570734,0.994554583627,0.994544587377,0.994534581987,0.994524567454,0.99451454378,0.994504510965,0.994494469008,0.994484417911,0.994474357672,0.994464288292,0.994454209771,0.99444412211,0.994434025308,0.994423919365,0.994413804281,0.994403680058,0.994393546694,0.994383404189,0.994373252545,0.99436309176,0.994352921835,0.994342742771,0.994332554567,0.994322357223,0.994312150739,0.994301935116,0.994291710353,0.994281476452,0.994271233411,0.99426098123,0.994250719911,0.994240449453,0.994230169856,0.994219881121,0.994209583246,0.994199276233,0.994188960082,0.994178634792,0.994168300364,0.994157956798,0.994147604093,0.994137242251,0.994126871271,0.994116491153,0.994106101897,0.994095703504,0.994085295973,0.994074879305,0.994064453499,0.994054018557,0.994043574477,0.99403312126,0.994022658906,0.994012187415,0.994001706787,0.993991217023,0.993980718123,0.993970210085,0.993959692912,0.993949166602,0.993938631156,0.993928086574,0.993917532856,0.993906970002,0.993896398013,0.993885816887,0.993875226626,0.99386462723,0.993854018698,0.993843401031,0.993832774229,0.993822138292,0.993811493219,0.993800839012,0.99379017567,0.993779503193,0.993768821582,0.993758130836,0.993747430955,0.993736721941,0.993726003792,0.993715276509,0.993704540092,0.993693794541,0.993683039856,0.993672276038,0.993661503086,0.993650721,0.993639929781,0.993629129429,0.993618319943,0.993607501325,0.993596673573,0.993585836688,0.993574990671,0.993564135521,0.993553271238,0.993542397822,0.993531515275,0.993520623595,0.993509722782,0.993498812838,0.993487893761,0.993476965553,0.993466028213,0.993455081741,0.993444126137,0.993433161402,0.993422187535,0.993411204537,0.993400212408,0.993389211148,0.993378200757,0.993367181235,0.993356152582,0.993345114798,0.993334067884,0.993323011839,0.993311946664,0.993300872358,0.993289788922,0.993278696356,0.993267594661,0.993256483835,0.993245363879,0.993234234794,0.993223096579,0.993211949235,0.993200792761,0.993189627158,0.993178452426,0.993167268564,0.993156075574,0.993144873455,0.993133662207,0.99312244183,0.993111212325,0.993099973692,0.99308872593,0.993077469039,0.993066203021,0.993054927875,0.9930436436,0.993032350198,0.993021047668,0.99300973601,0.992998415225,0.992987085312,0.992975746273,0.992964398105,0.992953040811,0.99294167439,0.992930298842,0.992918914167,0.992907520365,0.992896117437,0.992884705382,0.992873284201,0.992861853893,0.99285041446,0.9928389659,0.992827508215,0.992816041403,0.992804565466,0.992793080403,0.992781586215,0.992770082901,0.992758570462,0.992747048897,0.992735518208,0.992723978393,0.992712429454,0.992700871389,0.9926893042,0.992677727887,0.992666142449,0.992654547887,0.9926429442,0.992631331389,0.992619709454,0.992608078395,0.992596438213,0.992584788906,0.992573130476,0.992561462923,0.992549786246,0.992538100446,0.992526405522,0.992514701476,0.992502988306,0.992491266014,0.992479534599,0.992467794061,0.992456044401,0.992444285618,0.992432517713,0.992420740685,0.992408954536,0.992397159264,0.992385354871,0.992373541356,0.992361718719,0.99234988696,0.99233804608,0.992326196079,0.992314336957,0.992302468713,0.992290591348,0.992278704863,0.992266809256,0.992254904529,0.992242990681,0.992231067713,0.992219135625,0.992207194416,0.992195244087,0.992183284638,0.992171316069,0.99215933838,0.992147351571,0.992135355643,0.992123350596,0.992111336428,0.992099313142,0.992087280737,0.992075239212,0.992063188569,0.992051128806,0.992039059925,0.992026981926,0.992014894808,0.992002798571,0.991990693216,0.991978578744,0.991966455153,0.991954322444,0.991942180617,0.991930029672,0.99191786961,0.991905700431,0.991893522134,0.991881334719,0.991869138188,0.991856932539,0.991844717774,0.991832493892,0.991820260893,0.991808018777,0.991795767545,0.991783507197,0.991771237732,0.991758959152,0.991746671455,0.991734374642,0.991722068713,0.991709753669,0.991697429509,0.991685096234,0.991672753843,0.991660402337,0.991648041716,0.99163567198,0.991623293129,0.991610905163,0.991598508083,0.991586101888,0.991573686579,0.991561262155,0.991548828617,0.991536385965,0.991523934199,0.991511473319,0.991499003325,0.991486524218,0.991474035997,0.991461538662,0.991449032215,0.991436516654,0.99142399198,0.991411458193,0.991398915294,0.991386363281,0.991373802156,0.991361231919,0.991348652569,0.991336064107,0.991323466532,0.991310859846,0.991298244048,0.991285619138,0.991272985116,0.991260341983,0.991247689738,0.991235028382,0.991222357915,0.991209678336,0.991196989647,0.991184291847,0.991171584936,0.991158868914,0.991146143782,0.991133409539,0.991120666186,0.991107913723,0.99109515215,0.991082381467,0.991069601674,0.991056812772,0.99104401476,0.991031207638,0.991018391407,0.991005566067,0.990992731618,0.99097988806,0.990967035392,0.990954173617,0.990941302732,0.990928422739,0.990915533638,0.990902635428,0.99088972811,0.990876811684,0.99086388615,0.990850951508,0.990838007759,0.990825054902,0.990812092938,0.990799121866,0.990786141687,0.990773152401,0.990760154008,0.990747146508,0.990734129902,0.990721104188,0.990708069369,0.990695025443,0.99068197241,0.990668910272,0.990655839027,0.990642758677,0.990629669221,0.990616570659,0.990603462992,0.990590346219,0.990577220341,0.990564085358,0.990550941269,0.990537788076,0.990524625778,0.990511454375,0.990498273868,0.990485084256,0.99047188554,0.99045867772,0.990445460796,0.990432234768,0.990418999635,0.9904057554,0.99039250206,0.990379239617,0.990365968071,0.990352687421,0.990339397669,0.990326098813,0.990312790855,0.990299473793,0.99028614763,0.990272812363,0.990259467994,0.990246114523,0.99023275195,0.990219380275,0.990205999498,0.99019260962,0.990179210639,0.990165802557,0.990152385374,0.990138959089,0.990125523704,0.990112079217,0.990098625629,0.990085162941,0.990071691152,0.990058210262,0.990044720272,0.990031221182,0.990017712992,0.990004195701,0.989990669311,0.989977133821,0.989963589231,0.989950035542,0.989936472753,0.989922900865,0.989909319878,0.989895729791,0.989882130606,0.989868522322,0.98985490494,0.989841278459,0.989827642879,0.989813998202,0.989800344426,0.989786681552,0.98977300958,0.98975932851,0.989745638343,0.989731939078,0.989718230716,0.989704513256,0.989690786699,0.989677051046,0.989663306295,0.989649552448,0.989635789504,0.989622017463,0.989608236326,0.989594446093,0.989580646764,0.989566838338,0.989553020817,0.9895391942,0.989525358487,0.989511513679,0.989497659776,0.989483796777,0.989469924683,0.989456043494,0.989442153211,0.989428253832,0.989414345359,0.989400427791,0.989386501129,0.989372565373,0.989358620523,0.989344666579,0.989330703541,0.989316731409,0.989302750183,0.989288759865,0.989274760452,0.989260751947,0.989246734349,0.989232707657,0.989218671873,0.989204626996,0.989190573027,0.989176509965,0.989162437811,0.989148356564,0.989134266226,0.989120166796,0.989106058273,0.98909194066,0.989077813955,0.989063678158,0.98904953327,0.989035379291,0.989021216221,0.98900704406,0.988992862808,0.988978672466,0.988964473033,0.98895026451,0.988936046897,0.988921820194,0.9889075844,0.988893339517,0.988879085544,0.988864822482,0.98885055033,0.988836269089,0.988821978758,0.988807679339,0.988793370831,0.988779053234,0.988764726548,0.988750390774,0.988736045911,0.98872169196,0.988707328921,0.988692956794,0.98867857558,0.988664185277,0.988649785887,0.988635377409,0.988620959844,0.988606533192,0.988592097453,0.988577652627,0.988563198714,0.988548735715,0.988534263629,0.988519782456,0.988505292198,0.988490792853,0.988476284422,0.988461766905,0.988447240303,0.988432704615,0.988418159841,0.988403605982,0.988389043038,0.988374471009,0.988359889895,0.988345299697,0.988330700413,0.988316092045,0.988301474593,0.988286848056,0.988272212435,0.988257567731,0.988242913942,0.98822825107,0.988213579114,0.988198898075,0.988184207952,0.988169508746,0.988154800457,0.988140083086,0.988125356631,0.988110621094,0.988095876474,0.988081122772,0.988066359988,0.988051588122,0.988036807173,0.988022017143,0.988007218031,0.987992409838,0.987977592563,0.987962766207,0.98794793077,0.987933086252,0.987918232653,0.987903369973,0.987888498213,0.987873617372,0.987858727451,0.987843828449,0.987828920368,0.987814003206,0.987799076965,0.987784141645,0.987769197244,0.987754243765,0.987739281206,0.987724309568,0.987709328851,0.987694339055,0.987679340181,0.987664332228,0.987649315197,0.987634289087,0.9876192539,0.987604209634,0.987589156291,0.987574093869,0.987559022371,0.987543941794,0.987528852141,0.98751375341,0.987498645603,0.987483528718,0.987468402757,0.987453267719,0.987438123605,0.987422970414,0.987407808147,0.987392636804,0.987377456385,0.987362266891,0.987347068321,0.987331860675,0.987316643954,0.987301418158,0.987286183287,0.98727093934,0.987255686319,0.987240424224,0.987225153054,0.987209872809,0.987194583491,0.987179285098,0.987163977631,0.987148661091,0.987133335477,0.987118000789,0.987102657028,0.987087304193,0.987071942286,0.987056571306,0.987041191253,0.987025802127,0.987010403928,0.986994996658,0.986979580315,0.9869641549,0.986948720413,0.986933276854,0.986917824223,0.986902362521,0.986886891748,0.986871411903,0.986855922987,0.986840425,0.986824917943,0.986809401814,0.986793876615,0.986778342346,0.986762799007,0.986747246597,0.986731685117,0.986716114568,0.986700534949,0.98668494626,0.986669348502,0.986653741675,0.986638125778,0.986622500813,0.986606866779,0.986591223676,0.986575571505,0.986559910265,0.986544239957,0.986528560581,0.986512872136,0.986497174625,0.986481468045,0.986465752398,0.986450027683,0.986434293902,0.986418551053,0.986402799137,0.986387038154,0.986371268105,0.986355488989,0.986339700807,0.986323903559,0.986308097245,0.986292281864,0.986276457418,0.986260623906,0.986244781329,0.986228929686,0.986213068979,0.986197199206,0.986181320368,0.986165432465,0.986149535498,0.986133629467,0.986117714371,0.98610179021,0.986085856986,0.986069914698,0.986053963346,0.986038002931,0.986022033452,0.98600605491,0.985990067304,0.985974070636,0.985958064905,0.985942050111,0.985926026254,0.985909993335,0.985893951354,0.985877900311,0.985861840206,0.985845771038,0.98582969281,0.985813605519,0.985797509168,0.985781403755,0.985765289281,0.985749165746,0.98573303315,0.985716891493,0.985700740776,0.985684580999,0.985668412162,0.985652234264,0.985636047307,0.985619851289,0.985603646213,0.985587432076,0.985571208881,0.985554976626,0.985538735312,0.98552248494,0.985506225508,0.985489957018,0.98547367947,0.985457392864,0.985441097199,0.985424792476,0.985408478696,0.985392155858,0.985375823962,0.985359483009,0.985343132999,0.985326773932,0.985310405807,0.985294028626,0.985277642389,0.985261247095,0.985244842745,0.985228429338,0.985212006876,0.985195575357,0.985179134783,0.985162685154,0.985146226469,0.985129758728,0.985113281933,0.985096796083,0.985080301178,0.985063797218,0.985047284204,0.985030762135,0.985014231012,0.984997690835,0.984981141605,0.98496458332,0.984948015982,0.984931439591,0.984914854146,0.984898259648,0.984881656097,0.984865043494,0.984848421837,0.984831791128,0.984815151367,0.984798502554,0.984781844688,0.984765177771,0.984748501802,0.984731816781,0.984715122709,0.984698419586,0.984681707411,0.984664986185,0.984648255909,0.984631516582,0.984614768204,0.984598010776,0.984581244298,0.98456446877,0.984547684192,0.984530890564,0.984514087886,0.984497276159,0.984480455383,0.984463625558,0.984446786684,0.98442993876,0.984413081789,0.984396215768,0.984379340699,0.984362456583,0.984345563418,0.984328661205,0.984311749944,0.984294829636,0.98427790028,0.984260961878,0.984244014428,0.984227057931,0.984210092387,0.984193117797,0.98417613416,0.984159141476,0.984142139747,0.984125128972,0.98410810915,0.984091080283,0.984074042371,0.984056995413,0.98403993941,0.984022874361,0.984005800268,0.98398871713,0.983971624948,0.983954523721,0.983937413449,0.983920294134,0.983903165774,0.983886028371,0.983868881924,0.983851726434,0.9838345619,0.983817388323,0.983800205703,0.98378301404,0.983765813334,0.983748603586,0.983731384795,0.983714156962,0.983696920087,0.98367967417,0.983662419212,0.983645155211,0.98362788217,0.983610600087,0.983593308962,0.983576008797,0.983558699591,0.983541381345,0.983524054058,0.98350671773,0.983489372362,0.983472017955,0.983454654507,0.98343728202,0.983419900493,0.983402509927,0.983385110322,0.983367701677,0.983350283994,0.983332857272,0.983315421511,0.983297976712,0.983280522874,0.983263059999,0.983245588085,0.983228107134,0.983210617145,0.983193118119,0.983175610055,0.983158092955,0.983140566817,0.983123031642,0.983105487431,0.983087934184,0.983070371899,0.983052800579,0.983035220223,0.983017630831,0.983000032403,0.98298242494,0.982964808441,0.982947182908,0.982929548339,0.982911904735,0.982894252096,0.982876590423,0.982858919716,0.982841239974,0.982823551199,0.982805853389,0.982788146546,0.982770430669,0.982752705758,0.982734971815,0.982717228838,0.982699476829,0.982681715786,0.982663945711,0.982646166604,0.982628378464,0.982610581292,0.982592775089,0.982574959853,0.982557135586,0.982539302287,0.982521459958,0.982503608597,0.982485748205,0.982467878782,0.982450000328,0.982432112845,0.98241421633,0.982396310786,0.982378396212,0.982360472608,0.982342539974,0.982324598311,0.982306647618,0.982288687896,0.982270719146,0.982252741366,0.982234754558,0.982216758721,0.982198753856,0.982180739963,0.982162717042,0.982144685093,0.982126644117,0.982108594113,0.982090535081,0.982072467022,0.982054389937,0.982036303824,0.982018208685,0.98200010452,0.981981991328,0.98196386911,0.981945737865,0.981927597595,0.9819094483,0.981891289979,0.981873122632,0.981854946261,0.981836760864,0.981818566443,0.981800362996,0.981782150526,0.981763929031,0.981745698512,0.981727458969,0.981709210402,0.981690952811,0.981672686197,0.98165441056,0.981636125899,0.981617832215,0.981599529509,0.98158121778,0.981562897028,0.981544567255,0.981526228459,0.981507880641,0.981489523801,0.98147115794,0.981452783057,0.981434399152,0.981416006227,0.981397604281,0.981379193314,0.981360773326,0.981342344318,0.981323906289,0.981305459241,0.981287003172,0.981268538084,0.981250063976,0.981231580849,0.981213088702,0.981194587536,0.981176077352,0.981157558148,0.981139029926,0.981120492686,0.981101946427,0.98108339115,0.981064826856,0.981046253543,0.981027671213,0.981009079866,0.980990479502,0.98097187012,0.980953251721,0.980934624306,0.980915987874,0.980897342426,0.980878687962,0.980860024482,0.980841351985,0.980822670473,0.980803979946,0.980785280403,0.980766571845,0.980747854272,0.980729127685,0.980710392082,0.980691647465,0.980672893834,0.980654131189,0.98063535953,0.980616578857,0.98059778917,0.98057899047,0.980560182756,0.98054136603,0.98052254029,0.980503705538,0.980484861773,0.980466008996,0.980447147207,0.980428276405,0.980409396592,0.980390507767,0.98037160993,0.980352703082,0.980333787223,0.980314862353,0.980295928472,0.98027698558,0.980258033678,0.980239072766,0.980220102843,0.980201123911,0.980182135968,0.980163139016,0.980144133055,0.980125118084,0.980106094104,0.980087061115,0.980068019118,0.980048968112,0.980029908097,0.980010839074,0.979991761043,0.979972674005,0.979953577958,0.979934472905,0.979915358843,0.979896235775,0.9798771037,0.979857962617,0.979838812528,0.979819653433,0.979800485331,0.979781308224,0.97976212211,0.979742926991,0.979723722866,0.979704509735,0.979685287599,0.979666056459,0.979646816313,0.979627567163,0.979608309008,0.979589041849,0.979569765685,0.979550480518,0.979531186347,0.979511883172,0.979492570994,0.979473249812,0.979453919628,0.97943458044,0.97941523225,0.979395875057,0.979376508861,0.979357133664,0.979337749464,0.979318356263,0.97929895406,0.979279542855,0.979260122649,0.979240693442,0.979221255234,0.979201808025,0.979182351816,0.979162886606,0.979143412395,0.979123929185,0.979104436975,0.979084935765,0.979065425556,0.979045906347,0.979026378139,0.979006840932,0.978987294726,0.978967739522,0.978948175319,0.978928602118,0.978909019919,0.978889428721,0.978869828527,0.978850219334,0.978830601144,0.978810973957,0.978791337773,0.978771692592,0.978752038415,0.978732375241,0.97871270307,0.978693021904,0.978673331741,0.978653632583,0.978633924429,0.97861420728,0.978594481136,0.978574745997,0.978555001862,0.978535248733,0.97851548661,0.978495715492,0.978475935381,0.978456146275,0.978436348175,0.978416541082,0.978396724996,0.978376899916,0.978357065843,0.978337222778,0.97831737072,0.978297509669,0.978277639626,0.978257760591,0.978237872564,0.978217975545,0.978198069534,0.978178154533,0.97815823054,0.978138297556,0.978118355581,0.978098404615,0.978078444659,0.978058475713,0.978038497777,0.978018510851,0.977998514935,0.977978510029,0.977958496134,0.97793847325,0.977918441377,0.977898400515,0.977878350664,0.977858291825,0.977838223998,0.977818147183,0.977798061379,0.977777966588,0.97775786281,0.977737750044,0.977717628291,0.977697497551,0.977677357825,0.977657209111,0.977637051411,0.977616884725,0.977596709053,0.977576524396,0.977556330752,0.977536128123,0.977515916509,0.977495695909,0.977475466325,0.977455227756,0.977434980202,0.977414723664,0.977394458142,0.977374183635,0.977353900145,0.977333607671,0.977313306214,0.977292995774,0.977272676351,0.977252347944,0.977232010555,0.977211664184,0.97719130883,0.977170944494,0.977150571176,0.977130188876,0.977109797595,0.977089397332,0.977068988088,0.977048569863,0.977028142658,0.977007706471,0.976987261305,0.976966807158,0.976946344031,0.976925871924,0.976905390837,0.976884900771,0.976864401725,0.976843893701,0.976823376697,0.976802850715,0.976782315754,0.976761771815,0.976741218897,0.976720657002,0.976700086129,0.976679506278,0.97665891745,0.976638319644,0.976617712862,0.976597097102,0.976576472366,0.976555838653,0.976535195965,0.9765145443,0.976493883659,0.976473214042,0.97645253545,0.976431847883,0.97641115134,0.976390445822,0.97636973133,0.976349007863,0.976328275422,0.976307534006,0.976286783617,0.976266024253,0.976245255916,0.976224478606,0.976203692322,0.976182897066,0.976162092836,0.976141279634,0.976120457459,0.976099626312,0.976078786193,0.976057937102,0.976037079039,0.976016212005,0.975995335999,0.975974451022,0.975953557075,0.975932654156,0.975911742267,0.975890821408,0.975869891578,0.975848952779,0.975828005009,0.975807048271,0.975786082562,0.975765107885,0.975744124238,0.975723131623,0.975702130039,0.975681119486,0.975660099965,0.975639071476,0.97561803402,0.975596987595,0.975575932204,0.975554867844,0.975533794518,0.975512712225,0.975491620965,0.975470520739,0.975449411546,0.975428293388,0.975407166263,0.975386030173,0.975364885117,0.975343731095,0.975322568109,0.975301396158,0.975280215241,0.975259025361,0.975237826516,0.975216618706,0.975195401933,0.975174176196,0.975152941495,0.975131697831,0.975110445204,0.975089183614,0.975067913061,0.975046633545,0.975025345067,0.975004047627,0.974982741224,0.97496142586,0.974940101534,0.974918768247,0.974897425999,0.974876074789,0.974854714619,0.974833345488,0.974811967396,0.974790580344,0.974769184333,0.974747779361,0.974726365429,0.974704942539,0.974683510689,0.974662069879,0.974640620111,0.974619161384,0.974597693699,0.974576217056,0.974554731454,0.974533236894,0.974511733377,0.974490220902,0.97446869947,0.974447169081,0.974425629735,0.974404081432,0.974382524173,0.974360957957,0.974339382786,0.974317798658,0.974296205575,0.974274603536,0.974252992541,0.974231372592,0.974209743688,0.974188105829,0.974166459015,0.974144803247,0.974123138525,0.97410146485,0.97407978222,0.974058090637,0.9740363901,0.974014680611,0.973992962168,0.973971234773,0.973949498425,0.973927753125,0.973905998872,0.973884235668,0.973862463512,0.973840682405,0.973818892346,0.973797093336,0.973775285375,0.973753468463,0.973731642601,0.973709807788,0.973687964026,0.973666111313,0.973644249651,0.973622379039,0.973600499478,0.973578610967,0.973556713508,0.9735348071,0.973512891744,0.973490967439,0.973469034186,0.973447091985,0.973425140837,0.973403180741,0.973381211697,0.973359233707,0.973337246769,0.973315250885,0.973293246055,0.973271232278,0.973249209555,0.973227177886,0.973205137271,0.973183087711,0.973161029206,0.973138961755,0.97311688536,0.97309480002,0.973072705735,0.973050602507,0.973028490334,0.973006369217,0.972984239157,0.972962100153,0.972939952206,0.972917795315,0.972895629482,0.972873454707,0.972851270989,0.972829078328,0.972806876726,0.972784666182,0.972762446696,0.972740218268,0.9727179809,0.97269573459,0.97267347934,0.972651215149,0.972628942018,0.972606659946,0.972584368935,0.972562068983,0.972539760093,0.972517442262,0.972495115493,0.972472779784,0.972450435137,0.972428081552,0.972405719027,0.972383347565,0.972360967165,0.972338577827,0.972316179552,0.972293772339,0.972271356189,0.972248931102,0.972226497079,0.972204054119,0.972181602223,0.97215914139,0.972136671622,0.972114192918,0.972091705279,0.972069208704,0.972046703195,0.97202418875,0.972001665371,0.971979133057,0.97195659181,0.971934041628,0.971911482512,0.971888914463,0.97186633748,0.971843751564,0.971821156716,0.971798552934,0.97177594022,0.971753318574,0.971730687995,0.971708048484,0.971685400042,0.971662742668,0.971640076363,0.971617401127,0.97159471696,0.971572023862,0.971549321833,0.971526610875,0.971503890986,0.971481162168,0.97145842442,0.971435677742,0.971412922135,0.971390157599,0.971367384135,0.971344601741,0.97132181042,0.97129901017,0.971276200992,0.971253382887,0.971230555853,0.971207719893,0.971184875005,0.971162021191,0.97113915845,0.971116286782,0.971093406188,0.971070516668,0.971047618222,0.97102471085,0.971001794553,0.970978869331,0.970955935184,0.970932992111,0.970910040115,0.970887079193,0.970864109348,0.970841130579,0.970818142886,0.970795146269,0.970772140729,0.970749126266,0.97072610288,0.970703070571,0.97068002934,0.970656979186,0.970633920111,0.970610852113,0.970587775194,0.970564689354,0.970541594592,0.970518490909,0.970495378306,0.970472256781,0.970449126337,0.970425986972,0.970402838688,0.970379681483,0.970356515359,0.970333340316,0.970310156354,0.970286963473,0.970263761673,0.970240550955,0.970217331318,0.970194102763,0.970170865291,0.970147618901,0.970124363594,0.970101099369,0.970077826228,0.970054544169,0.970031253195,0.970007953303,0.969984644496,0.969961326773,0.969938000134,0.96991466458,0.969891320111,0.969867966726,0.969844604427,0.969821233213,0.969797853084,0.969774464042,0.969751066085,0.969727659215,0.969704243431,0.969680818734,0.969657385124,0.969633942601,0.969610491166,0.969587030817,0.969563561557,0.969540083385,0.9695165963,0.969493100305,0.969469595397,0.969446081579,0.96942255885,0.96939902721,0.969375486659,0.969351937199,0.969328378828,0.969304811547,0.969281235357,0.969257650257,0.969234056248,0.96921045333,0.969186841503,0.969163220768,0.969139591124,0.969115952572,0.969092305113,0.969068648745,0.96904498347,0.969021309288,0.968997626199,0.968973934203,0.9689502333,0.968926523492,0.968902804776,0.968879077155,0.968855340629,0.968831595196,0.968807840859,0.968784077616,0.968760305469,0.968736524416,0.96871273446,0.968688935599,0.968665127834,0.968641311166,0.968617485594,0.968593651118,0.96856980774,0.968545955458,0.968522094274,0.968498224188,0.968474345199,0.968450457308,0.968426560516,0.968402654822,0.968378740226,0.96835481673,0.968330884332,0.968306943034,0.968282992836,0.968259033737,0.968235065738,0.968211088839,0.968187103041,0.968163108343,0.968139104746,0.968115092251,0.968091070856,0.968067040563,0.968043001372,0.968018953283,0.967994896296,0.967970830411,0.967946755629,0.96792267195,0.967898579374,0.967874477901,0.967850367531,0.967826248266,0.967802120104,0.967777983047,0.967753837093,0.967729682245,0.967705518501,0.967681345863,0.967657164329,0.967632973902,0.967608774579,0.967584566363,0.967560349253,0.96753612325,0.967511888353,0.967487644563,0.96746339188,0.967439130304,0.967414859835,0.967390580475,0.967366292222,0.967341995078,0.967317689042,0.967293374114,0.967269050296,0.967244717586,0.967220375986,0.967196025496,0.967171666115,0.967147297844,0.967122920683,0.967098534633,0.967074139693,0.967049735864,0.967025323146,0.96700090154,0.966976471045,0.966952031662,0.966927583391,0.966903126232,0.966878660185,0.966854185251,0.96682970143,0.966805208722,0.966780707128,0.966756196647,0.966731677279,0.966707149026,0.966682611887,0.966658065863,0.966633510953,0.966608947158,0.966584374478,0.966559792914,0.966535202465,0.966510603132,0.966485994915,0.966461377814,0.96643675183,0.966412116963,0.966387473212,0.966362820579,0.966338159063,0.966313488665,0.966288809384,0.966264121222,0.966239424178,0.966214718252,0.966190003445,0.966165279758,0.966140547189,0.96611580574,0.96609105541,0.966066296201,0.966041528111,0.966016751142,0.965991965294,0.965967170566,0.965942366959,0.965917554474,0.96589273311,0.965867902868,0.965843063748,0.96581821575,0.965793358874,0.965768493121,0.965743618491,0.965718734984,0.9656938426,0.96566894134,0.965644031204,0.965619112191,0.965594184303,0.965569247539,0.9655443019,0.965519347386,0.965494383997,0.965469411734,0.965444430596,0.965419440584,0.965394441698,0.965369433938,0.965344417305,0.965319391798,0.965294357419,0.965269314167,0.965244262042,0.965219201045,0.965194131176,0.965169052435,0.965143964822,0.965118868338,0.965093762983,0.965068648757,0.96504352566,0.965018393692,0.964993252855,0.964968103147,0.96494294457,0.964917777123,0.964892600807,0.964867415622,0.964842221567,0.964817018645,0.964791806853,0.964766586194,0.964741356667,0.964716118272,0.964690871009,0.96466561488,0.964640349883,0.96461507602,0.96458979329,0.964564501694,0.964539201231,0.964513891903,0.964488573709,0.96446324665,0.964437910726,0.964412565937,0.964387212283,0.964361849765,0.964336478382,0.964311098136,0.964285709025,0.964260311052,0.964234904215,0.964209488515,0.964184063952,0.964158630526,0.964133188239,0.964107737089,0.964082277077,0.964056808204,0.964031330469,0.964005843873,0.963980348416,0.963954844098,0.96392933092,0.963903808882,0.963878277984,0.963852738226,0.963827189608,0.963801632131,0.963776065795,0.963750490601,0.963724906547,0.963699313636,0.963673711866,0.963648101238,0.963622481753,0.96359685341,0.96357121621,0.963545570153,0.96351991524,0.96349425147,0.963468578844,0.963442897361,0.963417207023,0.96339150783,0.963365799781,0.963340082877,0.963314357118,0.963288622505,0.963262879038,0.963237126716,0.96321136554,0.963185595511,0.963159816628,0.963134028893,0.963108232304,0.963082426863,0.963056612569,0.963030789423,0.963004957425,0.962979116575,0.962953266874,0.962927408321,0.962901540918,0.962875664663,0.962849779559,0.962823885603,0.962797982798,0.962772071143,0.962746150638,0.962720221284,0.962694283081,0.962668336029,0.962642380129,0.96261641538,0.962590441782,0.962564459337,0.962538468044,0.962512467904,0.962486458917,0.962460441082,0.962434414401,0.962408378873,0.962382334499,0.962356281279,0.962330219214,0.962304148302,0.962278068546,0.962251979944,0.962225882498,0.962199776207,0.962173661072,0.962147537092,0.962121404269,0.962095262602,0.962069112092,0.962042952739,0.962016784542,0.961990607503,0.961964421622,0.961938226899,0.961912023333,0.961885810926,0.961859589677,0.961833359588,0.961807120657,0.961780872885,0.961754616274,0.961728350821,0.961702076529,0.961675793397,0.961649501426,0.961623200615,0.961596890965,0.961570572477,0.961544245149,0.961517908984,0.961491563981,0.961465210139,0.96143884746,0.961412475944,0.961386095591,0.961359706401,0.961333308374,0.961306901511,0.961280485811,0.961254061276,0.961227627905,0.961201185699,0.961174734658,0.961148274781,0.96112180607,0.961095328525,0.961068842146,0.961042346932,0.961015842885,0.960989330004,0.96096280829,0.960936277743,0.960909738364,0.960883190152,0.960856633108,0.960830067231,0.960803492523,0.960776908984,0.960750316613,0.960723715411,0.960697105379,0.960670486516,0.960643858823,0.960617222299,0.960590576946,0.960563922763,0.960537259752,0.96051058791,0.960483907241,0.960457217742,0.960430519416,0.960403812261,0.960377096278,0.960350371468,0.96032363783,0.960296895366,0.960270144074,0.960243383956,0.960216615012,0.960189837241,0.960163050645,0.960136255223,0.960109450976,0.960082637903,0.960055816006,0.960028985284,0.960002145738,0.959975297367,0.959948440173,0.959921574155,0.959894699313,0.959867815649,0.959840923161,0.959814021851,0.959787111719,0.959760192764,0.959733264988,0.959706328389,0.95967938297,0.959652428729,0.959625465667,0.959598493785,0.959571513082,0.959544523559,0.959517525216,0.959490518053,0.959463502071,0.95943647727,0.95940944365,0.959382401211,0.959355349954,0.959328289878,0.959301220985,0.959274143274,0.959247056745,0.9592199614,0.959192857237,0.959165744258,0.959138622462,0.95911149185,0.959084352422,0.959057204178,0.959030047119,0.959002881245,0.958975706556,0.958948523052,0.958921330733,0.958894129601,0.958866919654,0.958839700894,0.95881247332,0.958785236933,0.958757991733,0.958730737721,0.958703474896,0.958676203259,0.95864892281,0.958621633549,0.958594335476,0.958567028593,0.958539712899,0.958512388394,0.958485055078,0.958457712952,0.958430362017,0.958403002271,0.958375633716,0.958348256352,0.95832087018,0.958293475198,0.958266071408,0.95823865881,0.958211237404,0.95818380719,0.958156368169,0.95812892034,0.958101463705,0.958073998263,0.958046524015,0.95801904096,0.9579915491,0.957964048434,0.957936538962,0.957909020686,0.957881493604,0.957853957718,0.957826413028,0.957798859533,0.957771297234,0.957743726132,0.957716146227,0.957688557518,0.957660960006,0.957633353692,0.957605738576,0.957578114657,0.957550481937,0.957522840414,0.957495190091,0.957467530967,0.957439863041,0.957412186315,0.957384500789,0.957356806463,0.957329103336,0.957301391411,0.957273670686,0.957245941162,0.957218202839,0.957190455717,0.957162699798,0.95713493508,0.957107161564,0.957079379251,0.957051588141,0.957023788234,0.95699597953,0.956968162029,0.956940335732,0.956912500639,0.956884656751,0.956856804067,0.956828942588,0.956801072313,0.956773193244,0.956745305381,0.956717408723,0.956689503272,0.956661589027,0.956633665988,0.956605734156,0.956577793531,0.956549844114,0.956521885904,0.956493918902,0.956465943109,0.956437958523,0.956409965146,0.956381962978,0.95635395202,0.95632593227,0.95629790373,0.956269866401,0.956241820281,0.956213765372,0.956185701673,0.956157629186,0.956129547909,0.956101457844,0.956073358991,0.95604525135,0.956017134921,0.955989009705,0.955960875701,0.95593273291,0.955904581333,0.955876420969,0.955848251819,0.955820073883,0.955791887161,0.955763691654,0.955735487361,0.955707274284,0.955679052422,0.955650821776,0.955622582345,0.955594334131,0.955566077133,0.955537811351,0.955509536787,0.95548125344,0.95545296131,0.955424660398,0.955396350703,0.955368032227,0.95533970497,0.955311368931,0.955283024111,0.955254670511,0.955226308129,0.955197936968,0.955169557027,0.955141168306,0.955112770805,0.955084364526,0.955055949467,0.95502752563,0.954999093014,0.95497065162,0.954942201448,0.954913742499,0.954885274772,0.954856798269,0.954828312988,0.954799818931,0.954771316097,0.954742804488,0.954714284102,0.954685754941,0.954657217005,0.954628670294,0.954600114808,0.954571550548,0.954542977513,0.954514395704,0.954485805122,0.954457205767,0.954428597638,0.954399980736,0.954371355061,0.954342720615,0.954314077396,0.954285425405,0.954256764643,0.954228095109,0.954199416804,0.954170729729,0.954142033883,0.954113329267,0.95408461588,0.954055893724,0.954027162799,0.953998423104,0.95396967464,0.953940917408,0.953912151407,0.953883376638,0.953854593101,0.953825800797,0.953796999725,0.953768189886,0.95373937128,0.953710543908,0.953681707769,0.953652862865,0.953624009194,0.953595146758,0.953566275557,0.953537395591,0.95350850686,0.953479609365,0.953450703105,0.953421788082,0.953392864295,0.953363931744,0.953334990431,0.953306040354,0.953277081515,0.953248113914,0.95321913755,0.953190152425,0.953161158539,0.953132155891,0.953103144482,0.953074124312,0.953045095382,0.953016057692,0.952987011242,0.952957956032,0.952928892063,0.952899819334,0.952870737847,0.952841647601,0.952812548597,0.952783440835,0.952754324315,0.952725199038,0.952696065003,0.952666922211,0.952637770663,0.952608610358,0.952579441297,0.95255026348,0.952521076908,0.95249188158,0.952462677497,0.952433464659,0.952404243066,0.95237501272,0.952345773619,0.952316525765,0.952287269157,0.952258003795,0.952228729681,0.952199446814,0.952170155195,0.952140854824,0.952111545701,0.952082227826,0.9520529012,0.952023565822,0.951994221694,0.951964868816,0.951935507187,0.951906136808,0.951876757679,0.951847369801,0.951817973174,0.951788567798,0.951759153673,0.9517297308,0.951700299179,0.95167085881,0.951641409694,0.95161195183,0.951582485219,0.951553009861,0.951523525757,0.951494032907,0.951464531311,0.951435020969,0.951405501882,0.951375974049,0.951346437472,0.95131689215,0.951287338084,0.951257775274,0.95122820372,0.951198623423,0.951169034383,0.951139436599,0.951109830073,0.951080214804,0.951050590794,0.951020958041,0.950991316547,0.950961666312,0.950932007335,0.950902339618,0.95087266316,0.950842977962,0.950813284024,0.950783581347,0.95075386993,0.950724149774,0.950694420879,0.950664683245,0.950634936874,0.950605181764,0.950575417916,0.950545645331,0.950515864009,0.950486073949,0.950456275154,0.950426467621,0.950396651353,0.950366826349,0.950336992609,0.950307150134,0.950277298924,0.950247438979,0.950217570299,0.950187692886,0.950157806738,0.950127911857,0.950098008243,0.950068095895,0.950038174815,0.950008245002,0.949978306457,0.949948359179,0.94991840317,0.94988843843,0.949858464959,0.949828482756,0.949798491823,0.94976849216,0.949738483766,0.949708466643,0.94967844079,0.949648406208,0.949618362897,0.949588310857,0.949558250089,0.949528180593,0.949498102369,0.949468015417,0.949437919738,0.949407815332,0.9493777022,0.94934758034,0.949317449755,0.949287310444,0.949257162406,0.949227005644,0.949196840157,0.949166665944,0.949136483008,0.949106291347,0.949076090961,0.949045881853,0.949015664021,0.948985437465,0.948955202187,0.948924958186,0.948894705463,0.948864444018,0.948834173851,0.948803894963,0.948773607353,0.948743311023,0.948713005971,0.9486826922,0.948652369708,0.948622038497,0.948591698566,0.948561349916,0.948530992547,0.948500626459,0.948470251652,0.948439868128,0.948409475886,0.948379074926,0.948348665249,0.948318246855,0.948287819744,0.948257383916,0.948226939373,0.948196486113,0.948166024138,0.948135553448,0.948105074043,0.948074585922,0.948044089088,0.948013583539,0.947983069276,0.947952546299,0.947922014609,0.947891474206,0.94786092509,0.947830367262,0.947799800721,0.947769225469,0.947738641505,0.947708048829,0.947677447442,0.947646837344,0.947616218536,0.947585591018,0.947554954789,0.947524309851,0.947493656203,0.947462993846,0.947432322781,0.947401643006,0.947370954524,0.947340257333,0.947309551435,0.947278836829,0.947248113516,0.947217381496,0.947186640769,0.947155891336,0.947125133198,0.947094366353,0.947063590803,0.947032806547,0.947002013587,0.946971211922,0.946940401552,0.946909582479,0.946878754702,0.946847918221,0.946817073037,0.94678621915,0.946755356561,0.946724485269,0.946693605275,0.946662716579,0.946631819182,0.946600913083,0.946569998284,0.946539074784,0.946508142583,0.946477201682,0.946446252082,0.946415293782,0.946384326783,0.946353351084,0.946322366688,0.946291373592,0.946260371799,0.946229361308,0.946198342119,0.946167314233,0.94613627765,0.94610523237,0.946074178394,0.946043115722,0.946012044354,0.945980964291,0.945949875532,0.945918778078,0.94588767193,0.945856557087,0.94582543355,0.945794301319,0.945763160395,0.945732010777,0.945700852467,0.945669685464,0.945638509768,0.945607325381,0.945576132301,0.94554493053,0.945513720068,0.945482500914,0.945451273071,0.945420036536,0.945388791312,0.945357537398,0.945326274794,0.945295003501,0.945263723519,0.945232434848,0.945201137489,0.945169831442,0.945138516708,0.945107193285,0.945075861176,0.945044520379,0.945013170896,0.944981812727,0.944950445871,0.94491907033,0.944887686103,0.944856293191,0.944824891594,0.944793481312,0.944762062346,0.944730634696,0.944699198362,0.944667753345,0.944636299645,0.944604837261,0.944573366196,0.944541886447,0.944510398017,0.944478900905,0.944447395112,0.944415880637,0.944384357482,0.944352825646,0.944321285129,0.944289735933,0.944258178057,0.944226611501,0.944195036267,0.944163452353,0.944131859761,0.944100258491,0.944068648543,0.944037029917,0.944005402614,0.943973766634,0.943942121976,0.943910468643,0.943878806633,0.943847135947,0.943815456586,0.943783768549,0.943752071837,0.94372036645,0.943688652389,0.943656929654,0.943625198245,0.943593458162,0.943561709406,0.943529951977,0.943498185875,0.943466411101,0.943434627654,0.943402835536,0.943371034746,0.943339225285,0.943307407153,0.94327558035,0.943243744877,0.943211900734,0.943180047921,0.943148186438,0.943116316287,0.943084437466,0.943052549977,0.943020653819,0.942988748994,0.9429568355,0.942924913339,0.942892982511,0.942861043016,0.942829094855,0.942797138027,0.942765172533,0.942733198374,0.942701215549,0.942669224059,0.942637223904,0.942605215085,0.942573197601,0.942541171454,0.942509136643,0.942477093168,0.942445041031,0.942412980231,0.942380910768,0.942348832643,0.942316745857,0.942284650408,0.942252546299,0.942220433528,0.942188312097,0.942156182005,0.942124043254,0.942091895842,0.942059739771,0.942027575041,0.941995401652,0.941963219604,0.941931028898,0.941898829534,0.941866621512,0.941834404832,0.941802179496,0.941769945503,0.941737702853,0.941705451547,0.941673191585,0.941640922967,0.941608645694,0.941576359766,0.941544065183,0.941511761946,0.941479450054,0.941447129509,0.94141480031,0.941382462457,0.941350115952,0.941317760794,0.941285396984,0.941253024521,0.941220643407,0.941188253642,0.941155855225,0.941123448157,0.941091032438,0.94105860807,0.941026175051,0.940993733382,0.940961283065,0.940928824098,0.940896356482,0.940863880217,0.940831395305,0.940798901744,0.940766399536,0.940733888681,0.940701369179,0.940668841029,0.940636304234,0.940603758792,0.940571204705,0.940538641972,0.940506070593,0.94047349057,0.940440901902,0.94040830459,0.940375698634,0.940343084034,0.94031046079,0.940277828904,0.940245188375,0.940212539203,0.940179881389,0.940147214933,0.940114539835,0.940081856096,0.940049163716,0.940016462695,0.939983753034,0.939951034733,0.939918307792,0.939885572211,0.939852827991,0.939820075132,0.939787313635,0.939754543499,0.939721764725,0.939688977314,0.939656181265,0.939623376579,0.939590563256,0.939557741296,0.939524910701,0.939492071469,0.939459223602,0.9394263671,0.939393501962,0.93936062819,0.939327745784,0.939294854743,0.939261955069,0.939229046761,0.93919612982,0.939163204246,0.939130270039,0.9390973272,0.939064375729,0.939031415627,0.938998446893,0.938965469528,0.938932483532,0.938899488906,0.938866485649,0.938833473763,0.938800453247,0.938767424102,0.938734386328,0.938701339926,0.938668284895,0.938635221236,0.938602148949,0.938569068035,0.938535978494,0.938502880325,0.938469773531,0.93843665811,0.938403534063,0.938370401391,0.938337260093,0.93830411017,0.938270951623,0.938237784451,0.938204608655,0.938171424236,0.938138231193,0.938105029527,0.938071819238,0.938038600326,0.938005372792,0.937972136636,0.937938891859,0.93790563846,0.93787237644,0.937839105799,0.937805826538,0.937772538657,0.937739242156,0.937705937036,0.937672623297,0.937639300938,0.937605969961,0.937572630366,0.937539282152,0.937505925321,0.937472559873,0.937439185808,0.937405803126,0.937372411827,0.937339011913,0.937305603382,0.937272186236,0.937238760475,0.937205326099,0.937171883108,0.937138431503,0.937104971284,0.937071502452,0.937038025006,0.937004538947,0.936971044275,0.936937540991,0.936904029095,0.936870508586,0.936836979467,0.936803441736,0.936769895394,0.936736340442,0.936702776879,0.936669204707,0.936635623924,0.936602034533,0.936568436532,0.936534829923,0.936501214705,0.936467590879,0.936433958445,0.936400317404,0.936366667756,0.9363330095,0.936299342638,0.93626566717,0.936231983096,0.936198290416,0.936164589131,0.936130879241,0.936097160746,0.936063433647,0.936029697944,0.935995953637,0.935962200726,0.935928439213,0.935894669096,0.935860890377,0.935827103055,0.935793307132,0.935759502607,0.935725689481,0.935691867754,0.935658037426,0.935624198498,0.93559035097,0.935556494841,0.935522630114,0.935488756787,0.935454874862,0.935420984338,0.935387085216,0.935353177496,0.935319261179,0.935285336264,0.935251402752,0.935217460644,0.935183509939,0.935149550638,0.935115582742,0.93508160625,0.935047621163,0.935013627482,0.934979625206,0.934945614336,0.934911594872,0.934877566814,0.934843530163,0.93480948492,0.934775431084,0.934741368655,0.934707297635,0.934673218023,0.93463912982,0.934605033025,0.93457092764,0.934536813665,0.9345026911,0.934468559945,0.9344344202,0.934400271866,0.934366114944,0.934331949433,0.934297775334,0.934263592646,0.934229401372,0.93419520151,0.934160993061,0.934126776026,0.934092550404,0.934058316197,0.934024073403,0.933989822025,0.933955562061,0.933921293513,0.93388701638,0.933852730663,0.933818436362,0.933784133478,0.933749822011,0.933715501961,0.933681173328,0.933646836113,0.933612490317,0.933578135938,0.933543772979,0.933509401438,0.933475021317,0.933440632616,0.933406235335,0.933371829474,0.933337415033,0.933302992014,0.933268560416,0.933234120239,0.933199671485,0.933165214152,0.933130748242,0.933096273755,0.933061790692,0.933027299051,0.932992798835,0.932958290042,0.932923772674,0.932889246731,0.932854712213,0.932820169121,0.932785617454,0.932751057213,0.932716488398,0.93268191101,0.932647325049,0.932612730516,0.93257812741,0.932543515732,0.932508895482,0.932474266661,0.932439629268,0.932404983305,0.932370328772,0.932335665668,0.932300993995,0.932266313752,0.932231624939,0.932196927558,0.932162221609,0.932127507091,0.932092784005,0.932058052351,0.932023312131,0.931988563343,0.931953805989,0.931919040068,0.931884265582,0.931849482529,0.931814690912,0.931779890729,0.931745081982,0.93171026467,0.931675438794,0.931640604354,0.931605761351,0.931570909785,0.931536049656,0.931501180965,0.931466303711,0.931431417895,0.931396523518,0.93136162058,0.931326709081,0.931291789022,0.931256860402,0.931221923222,0.931186977483,0.931152023184,0.931117060326,0.93108208891,0.931047108936,0.931012120403,0.930977123313,0.930942117665,0.930907103461,0.9308720807,0.930837049382,0.930802009508,0.930766961079,0.930731904094,0.930696838554,0.93066176446,0.930626681811,0.930591590607,0.93055649085,0.93052138254,0.930486265676,0.93045114026,0.930416006291,0.93038086377,0.930345712696,0.930310553072,0.930275384896,0.930240208169,0.930205022892,0.930169829065,0.930134626687,0.93009941576,0.930064196284,0.930028968259,0.929993731685,0.929958486563,0.929923232893,0.929887970675,0.92985269991,0.929817420598,0.929782132739,0.929746836334,0.929711531382,0.929676217885,0.929640895843,0.929605565256,0.929570226124,0.929534878447,0.929499522227,0.929464157462,0.929428784155,0.929393402304,0.92935801191,0.929322612974,0.929287205496,0.929251789475,0.929216364914,0.929180931811,0.929145490168,0.929110039984,0.929074581259,0.929039113995,0.929003638192,0.928968153849,0.928932660967,0.928897159547,0.928861649588,0.928826131092,0.928790604058,0.928755068487,0.928719524379,0.928683971734,0.928648410553,0.928612840836,0.928577262584,0.928541675796,0.928506080473,0.928470476616,0.928434864224,0.928399243299,0.928363613839,0.928327975847,0.928292329321,0.928256674263,0.928221010672,0.92818533855,0.928149657895,0.92811396871,0.928078270993,0.928042564746,0.928006849968,0.92797112666,0.927935394823,0.927899654456,0.92786390556,0.927828148135,0.927792382182,0.927756607701,0.927720824692,0.927685033156,0.927649233093,0.927613424502,0.927577607386,0.927541781743,0.927505947575,0.927470104881,0.927434253662,0.927398393919,0.92736252565,0.927326648858,0.927290763542,0.927254869703,0.92721896734,0.927183056455,0.927147137047,0.927111209117,0.927075272665,0.927039327691,0.927003374197,0.926967412182,0.926931441646,0.92689546259,0.926859475014,0.926823478919,0.926787474305,0.926751461171,0.92671543952,0.92667940935,0.926643370662,0.926607323457,0.926571267734,0.926535203495,0.926499130739,0.926463049467,0.926426959679,0.926390861376,0.926354754558,0.926318639224,0.926282515376,0.926246383014,0.926210242138,0.926174092749,0.926137934846,0.926101768431,0.926065593503,0.926029410062,0.92599321811,0.925957017647,0.925920808672,0.925884591186,0.92584836519,0.925812130683,0.925775887667,0.925739636141,0.925703376106,0.925667107562,0.92563083051,0.925594544949,0.925558250881,0.925521948305,0.925485637221,0.925449317631,0.925412989535,0.925376652932,0.925340307823,0.925303954209,0.92526759209,0.925231221465,0.925194842336,0.925158454703,0.925122058567,0.925085653926,0.925049240783,0.925012819136,0.924976388987,0.924939950336,0.924903503183,0.924867047529,0.924830583373,0.924794110717,0.92475762956,0.924721139902,0.924684641745,0.924648135089,0.924611619933,0.924575096279,0.924538564125,0.924502023474,0.924465474325,0.924428916679,0.924392350535,0.924355775895,0.924319192758,0.924282601125,0.924246000996,0.924209392371,0.924172775252,0.924136149637,0.924099515529,0.924062872926,0.924026221829,0.923989562239,0.923952894156,0.92391621758,0.923879532511,0.923842838951,0.923806136898,0.923769426355,0.92373270732,0.923695979794,0.923659243778,0.923622499272,0.923585746276,0.923548984791,0.923512214817,0.923475436354,0.923438649402,0.923401853963,0.923365050036,0.923328237621,0.92329141672,0.923254587331,0.923217749457,0.923180903096,0.92314404825,0.923107184918,0.923070313101,0.9230334328,0.922996544014,0.922959646745,0.922922740991,0.922885826755,0.922848904035,0.922811972833,0.922775033148,0.922738084982,0.922701128334,0.922664163205,0.922627189594,0.922590207503,0.922553216932,0.922516217881,0.922479210351,0.922442194341,0.922405169852,0.922368136885,0.922331095439,0.922294045516,0.922256987115,0.922219920237,0.922182844882,0.922145761051,0.922108668743,0.92207156796,0.922034458701,0.921997340967,0.921960214758,0.921923080075,0.921885936918,0.921848785286,0.921811625182,0.921774456604,0.921737279554,0.921700094031,0.921662900036,0.921625697569,0.921588486631,0.921551267222,0.921514039342,0.921476802992,0.921439558172,0.921402304882,0.921365043123,0.921327772894,0.921290494198,0.921253207033,0.921215911399,0.921178607299,0.921141294731,0.921103973696,0.921066644194,0.921029306227,0.920991959793,0.920954604894,0.920917241529,0.9208798697,0.920842489406,0.920805100648,0.920767703426,0.920730297741,0.920692883592,0.920655460981,0.920618029907,0.920580590371,0.920543142373,0.920505685914,0.920468220994,0.920430747613,0.920393265772,0.92035577547,0.920318276709,0.920280769489,0.920243253809,0.920205729671,0.920168197074,0.92013065602,0.920093106508,0.920055548538,0.920017982112,0.919980407229,0.919942823889,0.919905232094,0.919867631843,0.919830023137,0.919792405976,0.919754780361,0.919717146291,0.919679503768,0.919641852791,0.919604193361,0.919566525478,0.919528849142,0.919491164355,0.919453471116,0.919415769425,0.919378059283,0.919340340691,0.919302613648,0.919264878155,0.919227134212,0.919189381821,0.91915162098,0.91911385169,0.919076073952,0.919038287766,0.919000493133,0.918962690052,0.918924878525,0.918887058551,0.91884923013,0.918811393264,0.918773547952,0.918735694196,0.918697831994,0.918659961348,0.918622082257,0.918584194723,0.918546298746,0.918508394325,0.918470481462,0.918432560156,0.918394630408,0.918356692219,0.918318745588,0.918280790517,0.918242827004,0.918204855051,0.918166874659,0.918128885827,0.918090888555,0.918052882845,0.918014868696,0.917976846109,0.917938815084,0.917900775621,0.917862727722,0.917824671385,0.917786606613,0.917748533404,0.917710451759,0.917672361679,0.917634263164,0.917596156214,0.91755804083,0.917519917012,0.91748178476,0.917443644075,0.917405494957,0.917367337406,0.917329171423,0.917290997008,0.917252814162,0.917214622885,0.917176423176,0.917138215037,0.917099998468,0.91706177347,0.917023540041,0.916985298184,0.916947047898,0.916908789184,0.916870522041,0.916832246471,0.916793962474,0.916755670049,0.916717369198,0.916679059921,0.916640742218,0.916602416089,0.916564081535,0.916525738556,0.916487387153,0.916449027325,0.916410659074,0.916372282399,0.916333897301,0.916295503781,0.916257101838,0.916218691473,0.916180272686,0.916141845478,0.916103409849,0.916064965799,0.916026513329,0.91598805244,0.91594958313,0.915911105402,0.915872619254,0.915834124688,0.915795621704,0.915757110302,0.915718590483,0.915680062246,0.915641525593,0.915602980523,0.915564427038,0.915525865136,0.91548729482,0.915448716088,0.915410128942,0.915371533382,0.915332929407,0.915294317019,0.915255696218,0.915217067005,0.915178429378,0.91513978334,0.915101128889,0.915062466028,0.915023794755,0.914985115072,0.914946426978,0.914907730474,0.914869025561,0.914830312238,0.914791590506,0.914752860366,0.914714121818,0.914675374862,0.914636619498,0.914597855727,0.914559083549,0.914520302965,0.914481513975,0.914442716579,0.914403910778,0.914365096571,0.914326273961,0.914287442945,0.914248603526,0.914209755704,0.914170899478,0.914132034849,0.914093161817,0.914054280384,0.914015390549,0.913976492312,0.913937585674,0.913898670636,0.913859747197,0.913820815358,0.91378187512,0.913742926482,0.913703969445,0.91366500401,0.913626030177,0.913587047945,0.913548057316,0.91350905829,0.913470050868,0.913431035049,0.913392010833,0.913352978222,0.913313937216,0.913274887815,0.913235830019,0.913196763829,0.913157689245,0.913118606267,0.913079514896,0.913040415133,0.913001306977,0.912962190428,0.912923065488,0.912883932157,0.912844790435,0.912805640322,0.912766481818,0.912727314925,0.912688139642,0.91264895597,0.912609763909,0.912570563459,0.912531354622,0.912492137396,0.912452911783,0.912413677783,0.912374435396,0.912335184623,0.912295925464,0.91225665792,0.91221738199,0.912178097675,0.912138804975,0.912099503892,0.912060194424,0.912020876574,0.91198155034,0.911942215723,0.911902872724,0.911863521343,0.91182416158,0.911784793436,0.911745416911,0.911706032005,0.91166663872,0.911627237054,0.911587827009,0.911548408585,0.911508981782,0.911469546601,0.911430103041,0.911390651104,0.91135119079,0.911311722098,0.911272245031,0.911232759586,0.911193265767,0.911153763571,0.911114253001,0.911074734055,0.911035206735,0.910995671042,0.910956126974,0.910916574533,0.91087701372,0.910837444533,0.910797866975,0.910758281044,0.910718686743,0.91067908407,0.910639473026,0.910599853612,0.910560225827,0.910520589673,0.91048094515,0.910441292258,0.910401630997,0.910361961368,0.910322283372,0.910282597007,0.910242902276,0.910203199178,0.910163487713,0.910123767883,0.910084039686,0.910044303125,0.910004558198,0.909964804907,0.909925043252,0.909885273233,0.90984549485,0.909805708105,0.909765912996,0.909726109525,0.909686297693,0.909646477498,0.909606648943,0.909566812026,0.909526966749,0.909487113112,0.909447251114,0.909407380758,0.909367502042,0.909327614968,0.909287719535,0.909247815744,0.909207903596,0.909167983091,0.909128054228,0.909088117009,0.909048171434,0.909008217503,0.908968255217,0.908928284576,0.90888830558,0.908848318229,0.908808322525,0.908768318467,0.908728306056,0.908688285293,0.908648256176,0.908608218708,0.908568172888,0.908528118716,0.908488056194,0.908447985321,0.908407906097,0.908367818524,0.908327722601,0.908287618329,0.908247505709,0.908207384739,0.908167255422,0.908127117757,0.908086971745,0.908046817386,0.90800665468,0.907966483629,0.907926304231,0.907886116488,0.907845920399,0.907805715966,0.907765503189,0.907725282068,0.907685052603,0.907644814795,0.907604568643,0.90756431415,0.907524051314,0.907483780137,0.907443500618,0.907403212758,0.907362916557,0.907322612016,0.907282299136,0.907241977915,0.907201648356,0.907161310458,0.907120964221,0.907080609646,0.907040246734,0.906999875484,0.906959495897,0.906919107974,0.906878711714,0.906838307119,0.906797894188,0.906757472922,0.906717043321,0.906676605386,0.906636159117,0.906595704515,0.906555241579,0.90651477031,0.906474290709,0.906433802776,0.906393306511,0.906352801915,0.906312288987,0.906271767729,0.906231238141,0.906190700223,0.906150153975,0.906109599398,0.906069036493,0.906028465259,0.905987885697,0.905947297807,0.90590670159,0.905866097047,0.905825484176,0.90578486298,0.905744233458,0.90570359561,0.905662949437,0.90562229494,0.905581632118,0.905540960973,0.905500281504,0.905459593711,0.905418897596,0.905378193159,0.905337480399,0.905296759318,0.905256029916,0.905215292192,0.905174546148,0.905133791784,0.9050930291,0.905052258097,0.905011478775,0.904970691134,0.904929895174,0.904889090897,0.904848278302,0.90480745739,0.904766628162,0.904725790616,0.904684944755,0.904644090578,0.904603228086,0.904562357279,0.904521478157,0.904480590721,0.904439694972,0.904398790909,0.904357878533,0.904316957844,0.904276028843,0.90423509153,0.904194145906,0.90415319197,0.904112229724,0.904071259167,0.9040302803,0.903989293123,0.903948297638,0.903907293843,0.90386628174,0.903825261328,0.903784232609,0.903743195583,0.903702150249,0.903661096609,0.903620034663,0.903578964411,0.903537885853,0.90349679899,0.903455703822,0.90341460035,0.903373488574,0.903332368495,0.903291240112,0.903250103426,0.903208958438,0.903167805147,0.903126643555,0.903085473662,0.903044295468,0.903003108973,0.902961914177,0.902920711082,0.902879499688,0.902838279995,0.902797052002,0.902755815712,0.902714571123,0.902673318237,0.902632057054,0.902590787574,0.902549509798,0.902508223725,0.902466929357,0.902425626694,0.902384315735,0.902342996482,0.902301668935,0.902260333095,0.902218988961,0.902177636533,0.902136275814,0.902094906802,0.902053529498,0.902012143902,0.901970750016,0.901929347839,0.901887937371,0.901846518614,0.901805091567,0.901763656231,0.901722212606,0.901680760692,0.90163930049,0.901597832001,0.901556355225,0.901514870161,0.901473376811,0.901431875175,0.901390365253,0.901348847046,0.901307320554,0.901265785777,0.901224242716,0.901182691371,0.901141131742,0.901099563831,0.901057987636,0.90101640316,0.900974810401,0.900933209361,0.90089160004,0.900849982438,0.900808356555,0.900766722392,0.90072507995,0.900683429229,0.900641770228,0.900600102949,0.900558427392,0.900516743558,0.900475051445,0.900433351056,0.900391642391,0.900349925449,0.900308200231,0.900266466738,0.90022472497,0.900182974927,0.90014121661,0.900099450019,0.900057675154,0.900015892016,0.899974100606,0.899932300923,0.899890492968,0.899848676742,0.899806852244,0.899765019475,0.899723178436,0.899681329127,0.899639471549,0.899597605701,0.899555731584,0.899513849198,0.899471958545,0.899430059624,0.899388152435,0.899346236979,0.899304313257,0.899262381269,0.899220441014,0.899178492495,0.89913653571,0.89909457066,0.899052597347,0.899010615769,0.898968625928,0.898926627824,0.898884621457,0.898842606827,0.898800583936,0.898758552783,0.898716513369,0.898674465694,0.898632409759,0.898590345563,0.898548273108,0.898506192394,0.898464103421,0.898422006189,0.898379900699,0.898337786952,0.898295664947,0.898253534685,0.898211396167,0.898169249393,0.898127094362,0.898084931077,0.898042759536,0.898000579741,0.897958391691,0.897916195388,0.897873990831,0.897831778021,0.897789556959,0.897747327644,0.897705090077,0.897662844259,0.89762059019,0.89757832787,0.897536057299,0.897493778479,0.897451491409,0.89740919609,0.897366892522,0.897324580705,0.897282260641,0.897239932329,0.89719759577,0.897155250964,0.897112897911,0.897070536613,0.897028167068,0.896985789279,0.896943403244,0.896901008965,0.896858606442,0.896816195676,0.896773776665,0.896731349412,0.896688913917,0.896646470179,0.896604018199,0.896561557978,0.896519089516,0.896476612813,0.89643412787,0.896391634688,0.896349133266,0.896306623604,0.896264105705,0.896221579567,0.896179045191,0.896136502577,0.896093951727,0.896051392639,0.896008825316,0.895966249756,0.895923665961,0.895881073931,0.895838473666,0.895795865167,0.895753248434,0.895710623467,0.895667990267,0.895625348834,0.895582699169,0.895540041272,0.895497375143,0.895454700783,0.895412018192,0.895369327371,0.89532662832,0.895283921039,0.895241205528,0.895198481789,0.895155749822,0.895113009626,0.895070261203,0.895027504552,0.894984739675,0.894941966571,0.89489918524,0.894856395685,0.894813597903,0.894770791897,0.894727977667,0.894685155212,0.894642324533,0.894599485631,0.894556638506,0.894513783159,0.894470919589,0.894428047798,0.894385167785,0.894342279551,0.894299383097,0.894256478422,0.894213565528,0.894170644414,0.894127715081,0.89408477753,0.89404183176,0.893998877772,0.893955915567,0.893912945145,0.893869966506,0.893826979651,0.893783984581,0.893740981294,0.893697969793,0.893654950077,0.893611922146,0.893568886002,0.893525841644,0.893482789074,0.89343972829,0.893396659294,0.893353582086,0.893310496667,0.893267403037,0.893224301196,0.893181191144,0.893138072883,0.893094946412,0.893051811732,0.893008668843,0.892965517746,0.892922358441,0.892879190928,0.892836015208,0.892792831282,0.892749639149,0.89270643881,0.892663230265,0.892620013516,0.892576788562,0.892533555403,0.89249031404,0.892447064474,0.892403806704,0.892360540732,0.892317266557,0.892273984181,0.892230693602,0.892187394823,0.892144087843,0.892100772662,0.892057449282,0.892014117701,0.891970777922,0.891927429944,0.891884073767,0.891840709392,0.89179733682,0.891753956051,0.891710567084,0.891667169922,0.891623764563,0.891580351009,0.891536929259,0.891493499315,0.891450061176,0.891406614843,0.891363160317,0.891319697597,0.891276226685,0.89123274758,0.891189260283,0.891145764795,0.891102261115,0.891058749244,0.891015229183,0.890971700932,0.890928164492,0.890884619862,0.890841067043,0.890797506036,0.890753936841,0.890710359459,0.890666773889,0.890623180132,0.890579578189,0.89053596806,0.890492349745,0.890448723245,0.89040508856,0.890361445691,0.890317794637,0.890274135401,0.890230467981,0.890186792378,0.890143108592,0.890099416625,0.890055716476,0.890012008146,0.889968291635,0.889924566944,0.889880834073,0.889837093022,0.889793343792,0.889749586383,0.889705820796,0.889662047031,0.889618265088,0.889574474968,0.889530676671,0.889486870198,0.889443055549,0.889399232724,0.889355401724,0.88931156255,0.889267715201,0.889223859678,0.889179995981,0.889136124112,0.889092244069,0.889048355855,0.889004459468,0.88896055491,0.88891664218,0.88887272128,0.88882879221,0.88878485497,0.88874090956,0.888696955981,0.888652994233,0.888609024317,0.888565046233,0.888521059982,0.888477065564,0.888433062978,0.888389052227,0.88834503331,0.888301006227,0.888256970979,0.888212927566,0.88816887599,0.888124816249,0.888080748345,0.888036672278,0.887992588048,0.887948495656,0.887904395102,0.887860286387,0.88781616951,0.887772044473,0.887727911276,0.887683769919,0.887639620403,0.887595462728,0.887551296894,0.887507122901,0.887462940752,0.887418750444,0.88737455198,0.887330345359,0.887286130582,0.88724190765,0.887197676562,0.887153437319,0.887109189921,0.88706493437,0.887020670664,0.886976398806,0.886932118794,0.88688783063,0.886843534314,0.886799229847,0.886754917228,0.886710596458,0.886666267537,0.886621930467,0.886577585247,0.886533231878,0.88648887036,0.886444500693,0.886400122879,0.886355736917,0.886311342807,0.886266940551,0.886222530149,0.8861781116,0.886133684907,0.886089250067,0.886044807084,0.886000355955,0.885955896683,0.885911429268,0.885866953709,0.885822470007,0.885777978164,0.885733478178,0.885688970051,0.885644453783,0.885599929374,0.885555396825,0.885510856136,0.885466307308,0.885421750341,0.885377185235,0.885332611991,0.885288030609,0.885243441089,0.885198843433,0.88515423764,0.885109623711,0.885065001647,0.885020371447,0.884975733112,0.884931086642,0.884886432039,0.884841769301,0.884797098431,0.884752419428,0.884707732292,0.884663037024,0.884618333624,0.884573622094,0.884528902432,0.88448417464,0.884439438718,0.884394694667,0.884349942486,0.884305182177,0.884260413739,0.884215637173,0.88417085248,0.88412605966,0.884081258713,0.884036449639,0.88399163244,0.883946807116,0.883901973666,0.883857132091,0.883812282393,0.883767424571,0.883722558625,0.883677684556,0.883632802365,0.883587912051,0.883543013616,0.883498107059,0.883453192382,0.883408269584,0.883363338666,0.883318399628,0.883273452471,0.883228497195,0.883183533801,0.883138562288,0.883093582658,0.883048594911,0.883003599047,0.882958595066,0.88291358297,0.882868562758,0.882823534431,0.882778497989,0.882733453433,0.882688400763,0.88264333998,0.882598271083,0.882553194074,0.882508108952,0.882463015719,0.882417914374,0.882372804919,0.882327687352,0.882282561676,0.88223742789,0.882192285994,0.88214713599,0.882101977877,0.882056811656,0.882011637327,0.881966454891,0.881921264348,0.881876065699,0.881830858944,0.881785644083,0.881740421117,0.881695190046,0.881649950871,0.881604703592,0.881559448209,0.881514184723,0.881468913135,0.881423633444,0.881378345652,0.881333049758,0.881287745763,0.881242433667,0.881197113471,0.881151785176,0.881106448781,0.881061104287,0.881015751694,0.880970391004,0.880925022216,0.88087964533,0.880834260348,0.880788867269,0.880743466094,0.880698056824,0.880652639458,0.880607213998,0.880561780443,0.880516338794,0.880470889052,0.880425431217,0.880379965289,0.880334491269,0.880289009157,0.880243518953,0.880198020659,0.880152514274,0.880106999798,0.880061477233,0.880015946579,0.879970407836,0.879924861004,0.879879306084,0.879833743076,0.879788171982,0.8797425928,0.879697005532,0.879651410178,0.879605806739,0.879560195214,0.879514575604,0.879468947911,0.879423312133,0.879377668272,0.879332016328,0.879286356301,0.879240688192,0.879195012001,0.879149327729,0.879103635376,0.879057934942,0.879012226429,0.878966509835,0.878920785162,0.878875052411,0.878829311581,0.878783562673,0.878737805687,0.878692040625,0.878646267485,0.878600486269,0.878554696977,0.87850889961,0.878463094168,0.878417280651,0.87837145906,0.878325629395,0.878279791657,0.878233945845,0.878188091961,0.878142230005,0.878096359978,0.878050481879,0.878004595709,0.877958701469,0.877912799159,0.877866888779,0.87782097033,0.877775043812,0.877729109226,0.877683166572,0.877637215851,0.877591257062,0.877545290207,0.877499315286,0.877453332299,0.877407341246,0.877361342129,0.877315334947,0.877269319701,0.877223296392,0.877177265019,0.877131225583,0.877085178085,0.877039122525,0.876993058903,0.87694698722,0.876900907477,0.876854819673,0.876808723809,0.876762619886,0.876716507904,0.876670387863,0.876624259764,0.876578123608,0.876531979394,0.876485827123,0.876439666796,0.876393498412,0.876347321973,0.876301137479,0.87625494493,0.876208744327,0.87616253567,0.876116318959,0.876070094195,0.876023861379,0.87597762051,0.87593137159,0.875885114618,0.875838849595,0.875792576522,0.875746295399,0.875700006226,0.875653709003,0.875607403732,0.875561090413,0.875514769045,0.87546843963,0.875422102168,0.875375756659,0.875329403104,0.875283041503,0.875236671857,0.875190294165,0.87514390843,0.87509751465,0.875051112826,0.875004702959,0.874958285049,0.874911859097,0.874865425102,0.874818983066,0.874772532989,0.874726074872,0.874679608713,0.874633134516,0.874586652278,0.874540162002,0.874493663687,0.874447157334,0.874400642943,0.874354120515,0.87430759005,0.874261051548,0.874214505011,0.874167950438,0.874121387829,0.874074817186,0.874028238509,0.873981651798,0.873935057053,0.873888454276,0.873841843465,0.873795224623,0.873748597749,0.873701962843,0.873655319907,0.87360866894,0.873562009943,0.873515342917,0.873468667861,0.873421984777,0.873375293664,0.873328594524,0.873281887356,0.873235172161,0.873188448939,0.873141717692,0.873094978418,0.87304823112,0.873001475796,0.872954712448,0.872907941076,0.87286116168,0.872814374261,0.87276757882,0.872720775356,0.87267396387,0.872627144363,0.872580316835,0.872533481286,0.872486637717,0.872439786129,0.872392926521,0.872346058894,0.872299183249,0.872252299586,0.872205407906,0.872158508208,0.872111600493,0.872064684763,0.872017761016,0.871970829254,0.871923889477,0.871876941686,0.87182998588,0.871783022061,0.871736050229,0.871689070383,0.871642082526,0.871595086656,0.871548082775,0.871501070883,0.87145405098,0.871407023067,0.871359987144,0.871312943212,0.87126589127,0.871218831321,0.871171763363,0.871124687398,0.871077603425,0.871030511446,0.87098341146,0.870936303469,0.870889187472,0.87084206347,0.870794931464,0.870747791453,0.870700643438,0.870653487421,0.8706063234,0.870559151377,0.870511971352,0.870464783325,0.870417587298,0.870370383269,0.870323171241,0.870275951212,0.870228723184,0.870181487157,0.870134243132,0.870086991109,0.870039731088,0.869992463069,0.869945187054,0.869897903043,0.869850611035,0.869803311033,0.869756003035,0.869708687042,0.869661363056,0.869614031075,0.869566691101,0.869519343135,0.869471987176,0.869424623225,0.869377251282,0.869329871349,0.869282483424,0.86923508751,0.869187683605,0.869140271711,0.869092851828,0.869045423957,0.868997988098,0.868950544251,0.868903092416,0.868855632595,0.868808164788,0.868760688995,0.868713205216,0.868665713452,0.868618213704,0.868570705971,0.868523190255,0.868475666556,0.868428134873,0.868380595209,0.868333047562,0.868285491934,0.868237928324,0.868190356734,0.868142777164,0.868095189614,0.868047594085,0.867999990577,0.86795237909,0.867904759625,0.867857132183,0.867809496763,0.867761853367,0.867714201995,0.867666542646,0.867618875323,0.867571200024,0.867523516751,0.867475825503,0.867428126282,0.867380419088,0.867332703921,0.867284980782,0.867237249671,0.867189510588,0.867141763534,0.86709400851,0.867046245516,0.866998474552,0.866950695618,0.866902908716,0.866855113845,0.866807311007,0.866759500201,0.866711681428,0.866663854688,0.866616019982,0.866568177311,0.866520326674,0.866472468072,0.866424601505,0.866376726975,0.866328844481,0.866280954025,0.866233055605,0.866185149223,0.86613723488,0.866089312575,0.866041382309,0.865993444082,0.865945497896,0.86589754375,0.865849581645,0.865801611581,0.865753633559,0.865705647579,0.865657653642,0.865609651748,0.865561641897,0.865513624091,0.865465598328,0.865417564611,0.865369522938,0.865321473312,0.865273415731,0.865225350198,0.865177276711,0.865129195272,0.86508110588,0.865033008537,0.864984903243,0.864936789998,0.864888668803,0.864840539658,0.864792402563,0.864744257519,0.864696104527,0.864647943587,0.864599774699,0.864551597864,0.864503413082,0.864455220354,0.86440701968,0.864358811061,0.864310594496,0.864262369987,0.864214137534,0.864165897137,0.864117648797,0.864069392514,0.864021128289,0.863972856122,0.863924576013,0.863876287963,0.863827991973,0.863779688043,0.863731376173,0.863683056364,0.863634728616,0.86358639293,0.863538049305,0.863489697744,0.863441338245,0.86339297081,0.863344595439,0.863296212131,0.863247820889,0.863199421712,0.863151014601,0.863102599555,0.863054176577,0.863005745665,0.862957306821,0.862908860044,0.862860405336,0.862811942697,0.862763472126,0.862714993626,0.862666507196,0.862618012836,0.862569510547,0.86252100033,0.862472482184,0.862423956111,0.862375422111,0.862326880184,0.86227833033,0.862229772551,0.862181206846,0.862132633216,0.862084051662,0.862035462184,0.861986864782,0.861938259456,0.861889646209,0.861841025038,0.861792395946,0.861743758933,0.861695113998,0.861646461143,0.861597800368,0.861549131673,0.861500455059,0.861451770527,0.861403078076,0.861354377707,0.861305669421,0.861256953218,0.861208229099,0.861159497063,0.861110757112,0.861062009245,0.861013253464,0.860964489769,0.86091571816,0.860866938638,0.860818151202,0.860769355855,0.860720552595,0.860671741424,0.860622922341,0.860574095348,0.860525260445,0.860476417632,0.860427566909,0.860378708278,0.860329841738,0.860280967291,0.860232084935,0.860183194673,0.860134296504,0.860085390429,0.860036476449,0.859987554563,0.859938624772,0.859889687077,0.859840741477,0.859791787975,0.859742826569,0.859693857261,0.859644880051,0.859595894939,0.859546901926,0.859497901012,0.859448892197,0.859399875483,0.85935085087,0.859301818357,0.859252777946,0.859203729637,0.85915467343,0.859105609326,0.859056537325,0.859007457429,0.858958369636,0.858909273948,0.858860170365,0.858811058887,0.858761939516,0.858712812251,0.858663677093,0.858614534042,0.858565383099,0.858516224264,0.858467057538,0.858417882922,0.858368700414,0.858319510017,0.858270311731,0.858221105555,0.858171891491,0.858122669538,0.858073439698,0.858024201971,0.857974956357,0.857925702856,0.85787644147,0.857827172198,0.857777895041,0.85772861,0.857679317075,0.857630016266,0.857580707574,0.857531390999,0.857482066543,0.857432734204,0.857383393984,0.857334045883,0.857284689901,0.85723532604,0.857185954299,0.857136574679,0.857087187181,0.857037791804,0.85698838855,0.856938977418,0.856889558409,0.856840131525,0.856790696764,0.856741254128,0.856691803616,0.856642345231,0.856592878971,0.856543404838,0.856493922831,0.856444432952,0.8563949352,0.856345429577,0.856295916083,0.856246394717,0.856196865481,0.856147328375,0.8560977834,0.856048230555,0.855998669842,0.855949101261,0.855899524812,0.855849940496,0.855800348313,0.855750748263,0.855701140348,0.855651524567,0.855601900922,0.855552269412,0.855502630037,0.8554529828,0.855403327699,0.855353664735,0.855303993909,0.855254315222,0.855204628673,0.855154934263,0.855105231993,0.855055521863,0.855005803873,0.854956078025,0.854906344317,0.854856602752,0.854806853329,0.854757096049,0.854707330912,0.854657557919,0.85460777707,0.854557988365,0.854508191806,0.854458387392,0.854408575125,0.854358755003,0.854308927029,0.854259091202,0.854209247523,0.854159395992,0.85410953661,0.854059669377,0.854009794293,0.85395991136,0.853910020578,0.853860121946,0.853810215466,0.853760301138,0.853710378962,0.85366044894,0.85361051107,0.853560565355,0.853510611793,0.853460650387,0.853410681135,0.853360704039,0.8533107191,0.853260726316,0.85321072569,0.853160717221,0.853110700911,0.853060676758,0.853010644765,0.85296060493,0.852910557256,0.852860501742,0.852810438388,0.852760367196,0.852710288165,0.852660201296,0.85261010659,0.852560004047,0.852509893667,0.852459775451,0.8524096494,0.852359515513,0.852309373792,0.852259224236,0.852209066847,0.852158901624,0.852108728568,0.85205854768,0.85200835896,0.851958162409,0.851907958027,0.851857745814,0.851807525771,0.851757297898,0.851707062196,0.851656818666,0.851606567307,0.85155630812,0.851506041106,0.851455766266,0.851405483598,0.851355193105,0.851304894787,0.851254588643,0.851204274675,0.851153952883,0.851103623267,0.851053285828,0.851002940566,0.850952587482,0.850902226576,0.850851857849,0.850801481302,0.850751096933,0.850700704745,0.850650304737,0.850599896911,0.850549481266,0.850499057802,0.850448626522,0.850398187424,0.850347740509,0.850297285778,0.850246823231,0.850196352869,0.850145874693,0.850095388702,0.850044894897,0.849994393278,0.849943883847,0.849893366603,0.849842841547,0.849792308679,0.849741768001,0.849691219512,0.849640663212,0.849590099103,0.849539527185,0.849488947457,0.849438359922,0.849387764579,0.849337161428,0.84928655047,0.849235931706,0.849185305136,0.84913467076,0.84908402858,0.849033378594,0.848982720805,0.848932055212,0.848881381815,0.848830700616,0.848780011615,0.848729314812,0.848678610207,0.848627897802,0.848577177596,0.848526449591,0.848475713785,0.848424970181,0.848374218779,0.848323459578,0.848272692579,0.848221917784,0.848171135192,0.848120344803,0.848069546619,0.84801874064,0.847967926866,0.847917105297,0.847866275935,0.847815438779,0.84776459383,0.847713741089,0.847662880555,0.847612012231,0.847561136115,0.847510252208,0.847459360512,0.847408461025,0.84735755375,0.847306638686,0.847255715833,0.847204785193,0.847153846766,0.847102900551,0.84705194655,0.847000984764,0.846950015192,0.846899037834,0.846848052693,0.846797059767,0.846746059058,0.846695050565,0.84664403429,0.846593010233,0.846541978394,0.846490938774,0.846439891373,0.846388836192,0.846337773231,0.846286702491,0.846235623971,0.846184537674,0.846133443598,0.846082341745,0.846031232115,0.845980114708,0.845928989525,0.845877856567,0.845826715834,0.845775567326,0.845724411043,0.845673246987,0.845622075158,0.845570895556,0.845519708182,0.845468513036,0.845417310118,0.84536609943,0.845314880971,0.845263654742,0.845212420744,0.845161178976,0.845109929441,0.845058672137,0.845007407065,0.844956134226,0.844904853621,0.84485356525,0.844802269113,0.84475096521,0.844699653543,0.844648334111,0.844597006916,0.844545671957,0.844494329236,0.844442978752,0.844391620506,0.844340254499,0.84428888073,0.844237499201,0.844186109912,0.844134712864,0.844083308056,0.84403189549,0.843980475166,0.843929047084,0.843877611244,0.843826167648,0.843774716296,0.843723257188,0.843671790324,0.843620315706,0.843568833333,0.843517343207,0.843465845327,0.843414339694,0.843362826308,0.843311305171,0.843259776282,0.843208239642,0.843156695251,0.84310514311,0.84305358322,0.84300201558,0.842950440192,0.842898857056,0.842847266172,0.84279566754,0.842744061162,0.842692447037,0.842640825167,0.842589195551,0.84253755819,0.842485913085,0.842434260236,0.842382599643,0.842330931308,0.842279255229,0.842227571409,0.842175879848,0.842124180545,0.842072473501,0.842020758718,0.841969036194,0.841917305932,0.841865567931,0.841813822191,0.841762068714,0.841710307499,0.841658538548,0.84160676186,0.841554977437,0.841503185278,0.841451385384,0.841399577756,0.841347762394,0.841295939298,0.841244108469,0.841192269908,0.841140423614,0.841088569589,0.841036707833,0.840984838347,0.84093296113,0.840881076183,0.840829183508,0.840777283103,0.84072537497,0.84067345911,0.840621535522,0.840569604208,0.840517665167,0.8404657184,0.840413763908,0.840361801691,0.84030983175,0.840257854084,0.840205868695,0.840153875583,0.840101874749,0.840049866193,0.839997849915,0.839945825916,0.839893794196,0.839841754756,0.839789707597,0.839737652718,0.839685590121,0.839633519805,0.839581441772,0.839529356022,0.839477262555,0.839425161371,0.839373052472,0.839320935857,0.839268811527,0.839216679484,0.839164539726,0.839112392254,0.83906023707,0.839008074174,0.838955903565,0.838903725245,0.838851539214,0.838799345472,0.83874714402,0.838694934859,0.838642717989,0.838590493409,0.838538261122,0.838486021127,0.838433773425,0.838381518017,0.838329254902,0.838276984081,0.838224705555,0.838172419324,0.838120125389,0.83806782375,0.838015514408,0.837963197363,0.837910872615,0.837858540166,0.837806200015,0.837753852163,0.837701496611,0.837649133359,0.837596762407,0.837544383757,0.837491997408,0.83743960336,0.837387201616,0.837334792174,0.837282375035,0.837229950201,0.837177517671,0.837125077445,0.837072629525,0.837020173911,0.836967710603,0.836915239602,0.836862760908,0.836810274522,0.836757780444,0.836705278674,0.836652769214,0.836600252064,0.836547727224,0.836495194694,0.836442654475,0.836390106568,0.836337550974,0.836284987691,0.836232416722,0.836179838066,0.836127251725,0.836074657698,0.836022055985,0.835969446589,0.835916829508,0.835864204743,0.835811572296,0.835758932166,0.835706284354,0.83565362886,0.835600965685,0.835548294829,0.835495616294,0.835442930078,0.835390236183,0.83533753461,0.835284825358,0.835232108429,0.835179383822,0.835126651539,0.835073911579,0.835021163943,0.834968408632,0.834915645647,0.834862874986,0.834810096652,0.834757310645,0.834704516965,0.834651715612,0.834598906587,0.834546089891,0.834493265524,0.834440433486,0.834387593778,0.834334746401,0.834281891355,0.83422902864,0.834176158258,0.834123280207,0.83407039449,0.834017501106,0.833964600056,0.83391169134,0.833858774959,0.833805850914,0.833752919204,0.833699979831,0.833647032794,0.833594078095,0.833541115733,0.83348814571,0.833435168026,0.833382182681,0.833329189675,0.83327618901,0.833223180685,0.833170164702,0.83311714106,0.833064109761,0.833011070804,0.83295802419,0.83290496992,0.832851907994,0.832798838413,0.832745761176,0.832692676286,0.832639583741,0.832586483543,0.832533375692,0.832480260188,0.832427137033,0.832374006226,0.832320867768,0.832267721659,0.832214567901,0.832161406493,0.832108237436,0.83205506073,0.832001876376,0.831948684375,0.831895484727,0.831842277432,0.83178906249,0.831735839904,0.831682609672,0.831629371795,0.831576126274,0.83152287311,0.831469612303,0.831416343852,0.83136306776,0.831309784026,0.83125649265,0.831203193634,0.831149886978,0.831096572682,0.831043250746,0.830989921172,0.83093658396,0.83088323911,0.830829886622,0.830776526498,0.830723158737,0.830669783341,0.830616400309,0.830563009642,0.830509611341,0.830456205406,0.830402791838,0.830349370637,0.830295941803,0.830242505338,0.830189061241,0.830135609513,0.830082150155,0.830028683167,0.829975208549,0.829921726303,0.829868236428,0.829814738925,0.829761233795,0.829707721037,0.829654200653,0.829600672643,0.829547137008,0.829493593747,0.829440042862,0.829386484353,0.829332918221,0.829279344465,0.829225763087,0.829172174087,0.829118577465,0.829064973222,0.829011361359,0.828957741875,0.828904114772,0.82885048005,0.828796837709,0.82874318775,0.828689530173,0.828635864979,0.828582192169,0.828528511742,0.8284748237,0.828421128043,0.828367424771,0.828313713884,0.828259995384,0.828206269271,0.828152535545,0.828098794207,0.828045045258,0.827991288697,0.827937524525,0.827883752743,0.827829973352,0.827776186351,0.827722391741,0.827668589524,0.827614779698,0.827560962265,0.827507137226,0.82745330458,0.827399464328,0.827345616471,0.827291761009,0.827237897943,0.827184027274,0.827130149001,0.827076263125,0.827022369647,0.826968468567,0.826914559885,0.826860643603,0.826806719721,0.826752788238,0.826698849157,0.826644902476,0.826590948197,0.826536986321,0.826483016847,0.826429039776,0.826375055109,0.826321062846,0.826267062987,0.826213055534,0.826159040486,0.826105017845,0.82605098761,0.825996949782,0.825942904362,0.82588885135,0.825834790746,0.825780722552,0.825726646767,0.825672563392,0.825618472428,0.825564373875,0.825510267734,0.825456154004,0.825402032688,0.825347903784,0.825293767294,0.825239623218,0.825185471556,0.82513131231,0.825077145479,0.825022971065,0.824968789066,0.824914599485,0.824860402322,0.824806197576,0.824751985249,0.824697765342,0.824643537853,0.824589302785,0.824535060137,0.824480809911,0.824426552106,0.824372286723,0.824318013762,0.824263733225,0.824209445111,0.824155149421,0.824100846156,0.824046535315,0.8239922169,0.823937890912,0.82388355735,0.823829216215,0.823774867507,0.823720511227,0.823666147376,0.823611775954,0.823557396962,0.8235030104,0.823448616268,0.823394214567,0.823339805298,0.82328538846,0.823230964056,0.823176532084,0.823122092546,0.823067645442,0.823013190772,0.822958728538,0.822904258739,0.822849781376,0.822795296449,0.82274080396,0.822686303908,0.822631796295,0.822577281119,0.822522758383,0.822468228087,0.82241369023,0.822359144814,0.822304591839,0.822250031306,0.822195463214,0.822140887565,0.82208630436,0.822031713597,0.821977115279,0.821922509406,0.821867895977,0.821813274994,0.821758646457,0.821704010367,0.821649366724,0.821594715528,0.821540056781,0.821485390482,0.821430716632,0.821376035231,0.821321346281,0.821266649781,0.821211945733,0.821157234136,0.821102514991,0.821047788299,0.82099305406,0.820938312274,0.820883562943,0.820828806066,0.820774041644,0.820719269678,0.820664490168,0.820609703115,0.820554908519,0.82050010638,0.8204452967,0.820390479478,0.820335654715,0.820280822412,0.820225982569,0.820171135187,0.820116280266,0.820061417807,0.82000654781,0.819951670275,0.819896785204,0.819841892596,0.819786992453,0.819732084774,0.819677169561,0.819622246813,0.819567316531,0.819512378716,0.819457433369,0.819402480489,0.819347520077,0.819292552134,0.81923757666,0.819182593656,0.819127603122,0.819072605059,0.819017599467,0.818962586347,0.8189075657,0.818852537525,0.818797501823,0.818742458595,0.818687407842,0.818632349563,0.818577283759,0.818522210432,0.81846712958,0.818412041206,0.818356945309,0.818301841889,0.818246730948,0.818191612486,0.818136486503,0.818081353,0.818026211978,0.817971063436,0.817915907376,0.817860743797,0.817805572701,0.817750394088,0.817695207959,0.817640014313,0.817584813152,0.817529604475,0.817474388284,0.817419164579,0.817363933361,0.817308694629,0.817253448385,0.817198194629,0.817142933361,0.817087664583,0.817032388294,0.816977104494,0.816921813186,0.816866514368,0.816811208042,0.816755894208,0.816700572867,0.816645244018,0.816589907664,0.816534563803,0.816479212437,0.816423853566,0.81636848719,0.816313113311,0.816257731928,0.816202343043,0.816146946655,0.816091542765,0.816036131374,0.815980712482,0.81592528609,0.815869852198,0.815814410807,0.815758961917,0.815703505528,0.815648041642,0.815592570259,0.815537091378,0.815481605002,0.81542611113,0.815370609762,0.8153151009,0.815259584544,0.815204060694,0.815148529351,0.815092990515,0.815037444187,0.814981890367,0.814926329057,0.814870760255,0.814815183964,0.814759600182,0.814704008912,0.814648410153,0.814592803906,0.814537190172,0.81448156895,0.814425940242,0.814370304048,0.814314660369,0.814259009204,0.814203350555,0.814147684422,0.814092010805,0.814036329706,0.813980641124,0.81392494506,0.813869241515,0.813813530489,0.813757811982,0.813702085995,0.81364635253,0.813590611585,0.813534863162,0.813479107261,0.813423343883,0.813367573027,0.813311794696,0.813256008889,0.813200215606,0.813144414849,0.813088606618,0.813032790913,0.812976967734,0.812921137083,0.81286529896,0.812809453365,0.812753600299,0.812697739762,0.812641871755,0.812585996278,0.812530113333,0.812474222918,0.812418325036,0.812362419686,0.812306506869,0.812250586585,0.812194658836,0.81213872362,0.81208278094,0.812026830796,0.811970873187,0.811914908115,0.81185893558,0.811802955583,0.811746968123,0.811690973202,0.811634970821,0.811578960979,0.811522943677,0.811466918916,0.811410886695,0.811354847017,0.811298799881,0.811242745287,0.811186683237,0.811130613731,0.811074536768,0.811018452351,0.810962360479,0.810906261152,0.810850154372,0.810794040139,0.810737918453,0.810681789315,0.810625652726,0.810569508685,0.810513357194,0.810457198253,0.810401031862,0.810344858022,0.810288676733,0.810232487997,0.810176291813,0.810120088182,0.810063877105,0.810007658582,0.809951432613,0.809895199199,0.809838958341,0.80978271004,0.809726454294,0.809670191106,0.809613920476,0.809557642404,0.809501356891,0.809445063937,0.809388763542,0.809332455708,0.809276140435,0.809219817723,0.809163487572,0.809107149985,0.80905080496,0.808994452498,0.8089380926,0.808881725267,0.808825350499,0.808768968296,0.808712578659,0.808656181588,0.808599777085,0.808543365149,0.808486945781,0.808430518982,0.808374084751,0.808317643091,0.808261194,0.80820473748,0.808148273531,0.808091802154,0.80803532335,0.807978837117,0.807922343458,0.807865842373,0.807809333862,0.807752817926,0.807696294565,0.80763976378,0.807583225572,0.80752667994,0.807470126886,0.807413566409,0.807356998511,0.807300423192,0.807243840452,0.807187250293,0.807130652714,0.807074047716,0.807017435299,0.806960815464,0.806904188213,0.806847553544,0.806790911459,0.806734261958,0.806677605041,0.80662094071,0.806564268965,0.806507589806,0.806450903233,0.806394209248,0.806337507851,0.806280799042,0.806224082821,0.806167359191,0.80611062815,0.806053889699,0.805997143839,0.805940390571,0.805883629895,0.805826861811,0.805770086321,0.805713303423,0.80565651312,0.805599715412,0.805542910298,0.80548609778,0.805429277859,0.805372450534,0.805315615806,0.805258773676,0.805201924144,0.805145067211,0.805088202877,0.805031331143,0.804974452009,0.804917565476,0.804860671545,0.804803770215,0.804746861488,0.804689945364,0.804633021843,0.804576090926,0.804519152614,0.804462206907,0.804405253805,0.804348293309,0.80429132542,0.804234350139,0.804177367464,0.804120377398,0.804063379941,0.804006375093,0.803949362854,0.803892343226,0.803835316209,0.803778281803,0.803721240009,0.803664190827,0.803607134258,0.803550070303,0.803492998961,0.803435920234,0.803378834122,0.803321740625,0.803264639745,0.803207531481,0.803150415834,0.803093292804,0.803036162393,0.802979024601,0.802921879428,0.802864726874,0.802807566941,0.802750399628,0.802693224937,0.802636042867,0.80257885342,0.802521656596,0.802464452395,0.802407240818,0.802350021866,0.802292795538,0.802235561836,0.80217832076,0.802121072311,0.802063816488,0.802006553293,0.801949282727,0.801892004789,0.80183471948,0.801777426801,0.801720126752,0.801662819334,0.801605504547,0.801548182392,0.801490852869,0.80143351598,0.801376171723,0.801318820101,0.801261461113,0.80120409476,0.801146721042,0.80108933996,0.801031951515,0.800974555708,0.800917152537,0.800859742005,0.800802324112,0.800744898857,0.800687466243,0.800630026269,0.800572578935,0.800515124243,0.800457662193,0.800400192785,0.80034271602,0.800285231898,0.80022774042,0.800170241587,0.800112735399,0.800055221856,0.799997700959,0.799940172709,0.799882637106,0.799825094151,0.799767543844,0.799709986186,0.799652421176,0.799594848817,0.799537269108,0.79947968205,0.799422087643,0.799364485888,0.799306876785,0.799249260335,0.799191636539,0.799134005397,0.799076366909,0.799018721077,0.7989610679,0.798903407379,0.798845739515,0.798788064308,0.798730381758,0.798672691867,0.798614994635,0.798557290062,0.798499578149,0.798441858896,0.798384132304,0.798326398373,0.798268657105,0.798210908499,0.798153152556,0.798095389276,0.798037618661,0.79797984071,0.797922055424,0.797864262804,0.79780646285,0.797748655563,0.797690840943,0.797633018991,0.797575189708,0.797517353093,0.797459509147,0.797401657872,0.797343799267,0.797285933333,0.79722806007,0.79717017948,0.797112291562,0.797054396317,0.796996493746,0.796938583849,0.796880666627,0.79682274208,0.796764810208,0.796706871013,0.796648924495,0.796590970655,0.796533009492,0.796475041008,0.796417065202,0.796359082076,0.79630109163,0.796243093865,0.796185088781,0.796127076378,0.796069056658,0.79601102962,0.795952995266,0.795894953595,0.795836904609,0.795778848307,0.795720784691,0.795662713761,0.795604635517,0.79554654996,0.795488457091,0.79543035691,0.795372249417,0.795314134613,0.7952560125,0.795197883076,0.795139746343,0.795081602301,0.795023450951,0.794965292293,0.794907126328,0.794848953057,0.794790772479,0.794732584596,0.794674389408,0.794616186915,0.794557977119,0.794499760019,0.794441535616,0.794383303911,0.794325064904,0.794266818596,0.794208564987,0.794150304078,0.794092035869,0.794033760361,0.793975477554,0.79391718745,0.793858890048,0.793800585349,0.793742273353,0.793683954062,0.793625627475,0.793567293593,0.793508952417,0.793450603948,0.793392248185,0.793333885129,0.793275514781,0.793217137142,0.793158752211,0.79310035999,0.793041960479,0.792983553679,0.79292513959,0.792866718212,0.792808289546,0.792749853593,0.792691410353,0.792632959827,0.792574502015,0.792516036918,0.792457564537,0.792399084871,0.792340597922,0.79228210369,0.792223602175,0.792165093378,0.7921065773,0.792048053941,0.791989523302,0.791930985383,0.791872440184,0.791813887707,0.791755327952,0.791696760919,0.791638186609,0.791579605023,0.79152101616,0.791462420022,0.791403816609,0.791345205921,0.79128658796,0.791227962725,0.791169330218,0.791110690438,0.791052043386,0.790993389064,0.790934727471,0.790876058607,0.790817382474,0.790758699072,0.790700008402,0.790641310463,0.790582605257,0.790523892785,0.790465173046,0.790406446041,0.790347711771,0.790288970236,0.790230221437,0.790171465375,0.790112702049,0.790053931461,0.789995153611,0.789936368499,0.789877576127,0.789818776494,0.789759969601,0.789701155449,0.789642334038,0.789583505369,0.789524669442,0.789465826258,0.789406975818,0.789348118121,0.789289253169,0.789230380962,0.7891715015,0.789112614785,0.789053720816,0.788994819595,0.788935911121,0.788876995395,0.788818072418,0.788759142191,0.788700204714,0.788641259986,0.78858230801,0.788523348786,0.788464382313,0.788405408593,0.788346427627,0.788287439414,0.788228443955,0.788169441251,0.788110431302,0.788051414109,0.787992389673,0.787933357993,0.787874319071,0.787815272907,0.787756219501,0.787697158855,0.787638090968,0.787579015842,0.787519933476,0.787460843872,0.787401747029,0.787342642949,0.787283531631,0.787224413078,0.787165287288,0.787106154262,0.787047014002,0.786987866507,0.786928711779,0.786869549817,0.786810380623,0.786751204196,0.786692020538,0.786632829648,0.786573631529,0.786514426179,0.786455213599,0.786395993791,0.786336766754,0.786277532489,0.786218290997,0.786159042279,0.786099786334,0.786040523163,0.785981252768,0.785921975148,0.785862690303,0.785803398236,0.785744098945,0.785684792432,0.785625478697,0.785566157741,0.785506829564,0.785447494167,0.78538815155,0.785328801714,0.78526944466,0.785210080387,0.785150708897,0.78509133019,0.785031944267,0.784972551128,0.784913150773,0.784853743204,0.78479432842,0.784734906423,0.784675477213,0.78461604079,0.784556597156,0.784497146309,0.784437688252,0.784378222984,0.784318750507,0.78425927082,0.784199783925,0.784140289821,0.78408078851,0.784021279991,0.783961764266,0.783902241336,0.783842711199,0.783783173858,0.783723629312,0.783664077562,0.78360451861,0.783544952454,0.783485379096,0.783425798537,0.783366210777,0.783306615816,0.783247013655,0.783187404294,0.783127787735,0.783068163977,0.783008533022,0.782948894869,0.78288924952,0.782829596975,0.782769937233,0.782710270297,0.782650596167,0.782590914842,0.782531226324,0.782471530613,0.78241182771,0.782352117615,0.782292400329,0.782232675852,0.782172944185,0.782113205328,0.782053459283,0.781993706049,0.781933945627,0.781874178018,0.781814403222,0.781754621239,0.781694832071,0.781635035718,0.78157523218,0.781515421458,0.781455603552,0.781395778464,0.781335946193,0.78127610674,0.781216260106,0.781156406291,0.781096545296,0.781036677122,0.780976801768,0.780916919235,0.780857029525,0.780797132637,0.780737228572,0.780677317331,0.780617398914,0.780557473322,0.780497540555,0.780437600613,0.780377653499,0.780317699211,0.78025773775,0.780197769118,0.780137793314,0.78007781034,0.780017820195,0.77995782288,0.779897818396,0.779837806744,0.779777787923,0.779717761935,0.77965772878,0.779597688458,0.779537640971,0.779477586318,0.7794175245,0.779357455518,0.779297379373,0.779237296064,0.779177205593,0.779117107959,0.779057003164,0.778996891209,0.778936772093,0.778876645817,0.778816512381,0.778756371788,0.778696224036,0.778636069126,0.778575907059,0.778515737836,0.778455561457,0.778395377922,0.778335187233,0.778274989389,0.778214784392,0.778154572241,0.778094352938,0.778034126482,0.777973892876,0.777913652118,0.777853404209,0.777793149151,0.777732886944,0.777672617588,0.777612341083,0.777552057431,0.777491766632,0.777431468687,0.777371163595,0.777310851358,0.777250531976,0.77719020545,0.77712987178,0.777069530967,0.777009183011,0.776948827913,0.776888465673,0.776828096293,0.776767719772,0.776707336111,0.776646945311,0.776586547372,0.776526142295,0.77646573008,0.776405310728,0.776344884239,0.776284450615,0.776224009855,0.77616356196,0.776103106931,0.776042644768,0.775982175472,0.775921699043,0.775861215483,0.77580072479,0.775740226967,0.775679722013,0.775619209929,0.775558690716,0.775498164374,0.775437630904,0.775377090306,0.775316542582,0.77525598773,0.775195425753,0.77513485665,0.775074280423,0.775013697071,0.774953106595,0.774892508996,0.774831904274,0.774771292431,0.774710673466,0.774650047379,0.774589414173,0.774528773846,0.774468126401,0.774407471836,0.774346810154,0.774286141353,0.774225465436,0.774164782402,0.774104092252,0.774043394987,0.773982690607,0.773921979112,0.773861260504,0.773800534783,0.773739801949,0.773679062003,0.773618314946,0.773557560778,0.773496799499,0.77343603111,0.773375255613,0.773314473006,0.773253683291,0.773192886469,0.77313208254,0.773071271504,0.773010453363,0.772949628116,0.772888795764,0.772827956308,0.772767109748,0.772706256086,0.77264539532,0.772584527453,0.772523652484,0.772462770415,0.772401881245,0.772340984975,0.772280081606,0.772219171139,0.772158253573,0.77209732891,0.77203639715,0.771975458294,0.771914512342,0.771853559294,0.771792599152,0.771731631916,0.771670657586,0.771609676163,0.771548687647,0.77148769204,0.771426689341,0.771365679552,0.771304662672,0.771243638702,0.771182607644,0.771121569497,0.771060524262,0.770999471939,0.77093841253,0.770877346034,0.770816272453,0.770755191786,0.770694104035,0.7706330092,0.770571907281,0.77051079828,0.770449682196,0.77038855903,0.770327428783,0.770266291455,0.770205147047,0.77014399556,0.770082836993,0.770021671348,0.769960498626,0.769899318826,0.769838131949,0.769776937996,0.769715736967,0.769654528864,0.769593313685,0.769532091433,0.769470862108,0.76940962571,0.769348382239,0.769287131697,0.769225874083,0.769164609399,0.769103337646,0.769042058822,0.76898077293,0.76891947997,0.768858179941,0.768796872846,0.768735558684,0.768674237456,0.768612909162,0.768551573804,0.768490231381,0.768428881894,0.768367525344,0.768306161731,0.768244791057,0.768183413321,0.768122028523,0.768060636666,0.767999237748,0.767937831772,0.767876418736,0.767814998642,0.767753571491,0.767692137283,0.767630696018,0.767569247698,0.767507792322,0.767446329891,0.767384860406,0.767323383868,0.767261900276,0.767200409632,0.767138911936,0.767077407188,0.76701589539,0.766954376542,0.766892850643,0.766831317696,0.7667697777,0.766708230657,0.766646676565,0.766585115427,0.766523547243,0.766461972013,0.766400389738,0.766338800418,0.766277204054,0.766215600647,0.766153990196,0.766092372704,0.76603074817,0.765969116594,0.765907477978,0.765845832322,0.765784179626,0.765722519892,0.765660853119,0.765599179308,0.76553749846,0.765475810575,0.765414115655,0.765352413699,0.765290704707,0.765228988682,0.765167265622,0.76510553553,0.765043798405,0.764982054247,0.764920303058,0.764858544838,0.764796779588,0.764735007308,0.764673227998,0.76461144166,0.764549648293,0.7644878479,0.764426040479,0.764364226031,0.764302404558,0.764240576059,0.764178740536,0.764116897989,0.764055048418,0.763993191824,0.763931328207,0.763869457569,0.763807579909,0.763745695228,0.763683803528,0.763621904807,0.763559999068,0.76349808631,0.763436166534,0.763374239741,0.763312305931,0.763250365105,0.763188417263,0.763126462407,0.763064500535,0.76300253165,0.762940555752,0.76287857284,0.762816582917,0.762754585981,0.762692582035,0.762630571078,0.762568553112,0.762506528136,0.762444496151,0.762382457158,0.762320411157,0.762258358149,0.762196298135,0.762134231114,0.762072157089,0.762010076058,0.761947988023,0.761885892985,0.761823790943,0.761761681899,0.761699565854,0.761637442806,0.761575312758,0.76151317571,0.761451031662,0.761388880615,0.761326722569,0.761264557525,0.761202385484,0.761140206446,0.761078020412,0.761015827383,0.760953627358,0.760891420339,0.760829206325,0.760766985319,0.760704757319,0.760642522328,0.760580280344,0.76051803137,0.760455775405,0.76039351245,0.760331242506,0.760268965573,0.760206681651,0.760144390742,0.760082092846,0.760019787964,0.759957476095,0.759895157241,0.759832831403,0.75977049858,0.759708158773,0.759645811984,0.759583458211,0.759521097457,0.759458729722,0.759396355006,0.759333973309,0.759271584633,0.759209188978,0.759146786345,0.759084376733,0.759021960145,0.758959536579,0.758897106037,0.75883466852,0.758772224027,0.75870977256,0.75864731412,0.758584848705,0.758522376319,0.75845989696,0.758397410629,0.758334917327,0.758272417055,0.758209909813,0.758147395602,0.758084874422,0.758022346273,0.757959811158,0.757897269075,0.757834720026,0.757772164011,0.75770960103,0.757647031085,0.757584454176,0.757521870303,0.757459279468,0.757396681669,0.75733407691,0.757271465188,0.757208846506,0.757146220865,0.757083588263,0.757020948703,0.756958302184,0.756895648707,0.756832988273,0.756770320883,0.756707646536,0.756644965234,0.756582276977,0.756519581766,0.756456879601,0.756394170483,0.756331454412,0.756268731389,0.756206001414,0.756143264489,0.756080520614,0.756017769788,0.755955012014,0.755892247291,0.75582947562,0.755766697001,0.755703911436,0.755641118924,0.755578319467,0.755515513065,0.755452699718,0.755389879427,0.755327052193,0.755264218016,0.755201376897,0.755138528836,0.755075673834,0.755012811891,0.754949943009,0.754887067187,0.754824184426,0.754761294728,0.754698398092,0.754635494518,0.754572584008,0.754509666563,0.754446742182,0.754383810866,0.754320872617,0.754257927433,0.754194975317,0.754132016268,0.754069050288,0.754006077376,0.753943097533,0.753880110761,0.753817117059,0.753754116428,0.753691108869,0.753628094382,0.753565072968,0.753502044627,0.75343900936,0.753375967167,0.75331291805,0.753249862009,0.753186799044,0.753123729155,0.753060652344,0.752997568612,0.752934477957,0.752871380382,0.752808275887,0.752745164472,0.752682046138,0.752618920886,0.752555788715,0.752492649627,0.752429503623,0.752366350702,0.752303190866,0.752240024115,0.752176850449,0.75211366987,0.752050482377,0.751987287971,0.751924086654,0.751860878424,0.751797663284,0.751734441234,0.751671212274,0.751607976404,0.751544733626,0.75148148394,0.751418227347,0.751354963846,0.75129169344,0.751228416127,0.75116513191,0.751101840788,0.751038542762,0.750975237832,0.750911926,0.750848607265,0.750785281629,0.750721949092,0.750658609655,0.750595263317,0.75053191008,0.750468549945,0.750405182911,0.75034180898,0.750278428151,0.750215040427,0.750151645806,0.750088244291,0.75002483588,0.749961420576,0.749897998378,0.749834569287,0.749771133304,0.749707690429,0.749644240663,0.749580784006,0.74951732046,0.749453850024,0.749390372699,0.749326888486,0.749263397385,0.749199899398,0.749136394523,0.749072882763,0.749009364118,0.748945838588,0.748882306173,0.748818766875,0.748755220695,0.748691667631,0.748628107686,0.74856454086,0.748500967153,0.748437386566,0.748373799099,0.748310204754,0.74824660353,0.748182995429,0.74811938045,0.748055758595,0.747992129864,0.747928494258,0.747864851777,0.747801202421,0.747737546192,0.74767388309,0.747610213115,0.747546536269,0.747482852551,0.747419161963,0.747355464504,0.747291760176,0.747228048979,0.747164330913,0.74710060598,0.74703687418,0.746973135513,0.74690938998,0.746845637581,0.746781878318,0.746718112191,0.746654339199,0.746590559345,0.746526772628,0.74646297905,0.74639917861,0.746335371309,0.746271557148,0.746207736127,0.746143908248,0.74608007351,0.746016231914,0.745952383461,0.745888528152,0.745824665986,0.745760796965,0.745696921089,0.745633038359,0.745569148775,0.745505252338,0.745441349049,0.745377438907,0.745313521914,0.745249598071,0.745185667377,0.745121729834,0.745057785441,0.744993834201,0.744929876112,0.744865911176,0.744801939394,0.744737960765,0.744673975291,0.744609982972,0.744545983809,0.744481977802,0.744417964952,0.74435394526,0.744289918725,0.74422588535,0.744161845133,0.744097798076,0.74403374418,0.743969683445,0.743905615871,0.743841541459,0.74377746021,0.743713372125,0.743649277203,0.743585175447,0.743521066855,0.743456951429,0.743392829169,0.743328700076,0.74326456415,0.743200421393,0.743136271804,0.743072115385,0.743007952135,0.742943782056,0.742879605148,0.742815421411,0.742751230847,0.742687033455,0.742622829237,0.742558618193,0.742494400323,0.742430175629,0.74236594411,0.742301705767,0.742237460602,0.742173208614,0.742108949804,0.742044684173,0.741980411721,0.741916132449,0.741851846357,0.741787553447,0.741723253718,0.741658947171,0.741594633807,0.741530313627,0.741465986631,0.741401652819,0.741337312192,0.741272964751,0.741208610497,0.74114424943,0.74107988155,0.741015506858,0.740951125355,0.740886737041,0.740822341918,0.740757939984,0.740693531242,0.740629115692,0.740564693334,0.740500264169,0.740435828197,0.740371385419,0.740306935836,0.740242479449,0.740178016257,0.740113546261,0.740049069463,0.739984585862,0.73992009546,0.739855598256,0.739791094251,0.739726583447,0.739662065843,0.739597541441,0.73953301024,0.739468472242,0.739403927446,0.739339375854,0.739274817467,0.739210252284,0.739145680306,0.739081101534,0.739016515969,0.738951923611,0.738887324461,0.738822718519,0.738758105785,0.738693486262,0.738628859948,0.738564226845,0.738499586954,0.738434940274,0.738370286807,0.738305626552,0.738240959512,0.738176285686,0.738111605074,0.738046917678,0.737982223498,0.737917522535,0.737852814788,0.73778810026,0.73772337895,0.737658650859,0.737593915988,0.737529174337,0.737464425906,0.737399670697,0.73733490871,0.737270139946,0.737205364405,0.737140582087,0.737075792994,0.737010997126,0.736946194484,0.736881385067,0.736816568877,0.736751745915,0.736686916181,0.736622079675,0.736557236398,0.736492386351,0.736427529534,0.736362665948,0.736297795594,0.736232918472,0.736168034582,0.736103143926,0.736038246504,0.735973342316,0.735908431363,0.735843513646,0.735778589166,0.735713657922,0.735648719916,0.735583775147,0.735518823618,0.735453865327,0.735388900277,0.735323928467,0.735258949898,0.73519396457,0.735128972485,0.735063973643,0.734998968044,0.73493395569,0.73486893658,0.734803910715,0.734738878096,0.734673838723,0.734608792598,0.73454373972,0.73447868009,0.73441361371,0.734348540578,0.734283460697,0.734218374066,0.734153280687,0.734088180559,0.734023073684,0.733957960061,0.733892839693,0.733827712578,0.733762578719,0.733697438115,0.733632290766,0.733567136675,0.733501975841,0.733436808264,0.733371633946,0.733306452887,0.733241265087,0.733176070548,0.733110869269,0.733045661252,0.732980446497,0.732915225005,0.732849996775,0.73278476181,0.732719520109,0.732654271672,0.732589016502,0.732523754598,0.73245848596,0.73239321059,0.732327928488,0.732262639654,0.73219734409,0.732132041795,0.732066732771,0.732001417018,0.731936094537,0.731870765327,0.731805429391,0.731740086728,0.731674737338,0.731609381224,0.731544018385,0.731478648821,0.731413272534,0.731347889524,0.731282499791,0.731217103337,0.731151700162,0.731086290265,0.731020873649,0.730955450314,0.73089002026,0.730824583487,0.730759139997,0.73069368979,0.730628232867,0.730562769228,0.730497298874,0.730431821805,0.730366338022,0.730300847526,0.730235350317,0.730169846395,0.730104335763,0.730038818419,0.729973294365,0.729907763601,0.729842226128,0.729776681947,0.729711131057,0.72964557346,0.729580009157,0.729514438147,0.729448860432,0.729383276012,0.729317684887,0.729252087059,0.729186482527,0.729120871293,0.729055253358,0.728989628721,0.728923997383,0.728858359345,0.728792714607,0.728727063171,0.728661405036,0.728595740204,0.728530068674,0.728464390448,0.728398705526,0.728333013909,0.728267315597,0.728201610591,0.728135898892,0.7280701805,0.728004455415,0.727938723639,0.727872985172,0.727807240014,0.727741488167,0.72767572963,0.727609964404,0.727544192491,0.72747841389,0.727412628602,0.727346836628,0.727281037969,0.727215232624,0.727149420595,0.727083601883,0.727017776487,0.726951944408,0.726886105648,0.726820260206,0.726754408083,0.72668854928,0.726622683798,0.726556811636,0.726490932796,0.726425047279,0.726359155084,0.726293256213,0.726227350666,0.726161438444,0.726095519546,0.726029593975,0.72596366173,0.725897722813,0.725831777223,0.725765824961,0.725699866028,0.725633900425,0.725567928152,0.72550194921,0.725435963599,0.72536997132,0.725303972373,0.72523796676,0.72517195448,0.725105935535,0.725039909925,0.72497387765,0.724907838712,0.72484179311,0.724775740846,0.724709681919,0.724643616332,0.724577544084,0.724511465175,0.724445379607,0.72437928738,0.724313188495,0.724247082951,0.724180970751,0.724114851895,0.724048726382,0.723982594214,0.723916455391,0.723850309915,0.723784157784,0.723717999001,0.723651833566,0.723585661479,0.723519482741,0.723453297353,0.723387105314,0.723320906627,0.723254701291,0.723188489307,0.723122270675,0.723056045397,0.722989813472,0.722923574902,0.722857329687,0.722791077828,0.722724819325,0.722658554179,0.72259228239,0.722526003959,0.722459718887,0.722393427175,0.722327128822,0.72226082383,0.722194512199,0.722128193929,0.722061869022,0.721995537478,0.721929199298,0.721862854481,0.72179650303,0.721730144944,0.721663780224,0.72159740887,0.721531030884,0.721464646266,0.721398255016,0.721331857135,0.721265452624,0.721199041483,0.721132623713,0.721066199315,0.720999768288,0.720933330634,0.720866886354,0.720800435448,0.720733977916,0.720667513759,0.720601042978,0.720534565574,0.720468081546,0.720401590897,0.720335093625,0.720268589732,0.720202079219,0.720135562085,0.720069038333,0.720002507961,0.719935970972,0.719869427365,0.719802877141,0.719736320301,0.719669756845,0.719603186774,0.719536610089,0.71947002679,0.719403436878,0.719336840353,0.719270237216,0.719203627467,0.719137011108,0.719070388139,0.71900375856,0.718937122373,0.718870479577,0.718803830173,0.718737174162,0.718670511545,0.718603842322,0.718537166494,0.718470484061,0.718403795023,0.718337099383,0.71827039714,0.718203688294,0.718136972847,0.718070250799,0.718003522151,0.717936786903,0.717870045056,0.71780329661,0.717736541566,0.717669779926,0.717603011688,0.717536236854,0.717469455425,0.717402667402,0.717335872784,0.717269071572,0.717202263767,0.71713544937,0.717068628381,0.717001800802,0.716934966631,0.716868125871,0.716801278521,0.716734424583,0.716667564056,0.716600696943,0.716533823242,0.716466942955,0.716400056082,0.716333162625,0.716266262583,0.716199355957,0.716132442748,0.716065522957,0.715998596584,0.715931663629,0.715864724094,0.715797777979,0.715730825284,0.71566386601,0.715596900158,0.715529927729,0.715462948722,0.715395963139,0.715328970981,0.715261972247,0.715194966939,0.715127955056,0.715060936601,0.714993911573,0.714926879972,0.714859841801,0.714792797058,0.714725745745,0.714658687863,0.714591623411,0.714524552392,0.714457474804,0.714390390649,0.714323299928,0.714256202641,0.714189098789,0.714121988372,0.71405487139,0.713987747846,0.713920617738,0.713853481069,0.713786337838,0.713719188046,0.713652031693,0.713584868781,0.713517699309,0.71345052328,0.713383340692,0.713316151547,0.713248955845,0.713181753587,0.713114544774,0.713047329406,0.712980107484,0.712912879009,0.71284564398,0.712778402399,0.712711154267,0.712643899583,0.712576638349,0.712509370565,0.712442096231,0.71237481535,0.71230752792,0.712240233942,0.712172933418,0.712105626348,0.712038312733,0.711970992572,0.711903665867,0.711836332619,0.711768992827,0.711701646493,0.711634293617,0.7115669342,0.711499568243,0.711432195745,0.711364816708,0.711297431133,0.711230039019,0.711162640368,0.71109523518,0.711027823456,0.710960405196,0.710892980401,0.710825549072,0.710758111209,0.710690666813,0.710623215884,0.710555758424,0.710488294432,0.71042082391,0.710353346857,0.710285863275,0.710218373164,0.710150876526,0.710083373359,0.710015863666,0.709948347446,0.709880824701,0.70981329543,0.709745759636,0.709678217317,0.709610668475,0.70954311311,0.709475551224,0.709407982816,0.709340407888,0.709272826439,0.709205238471,0.709137643984,0.709070042978,0.709002435456,0.708934821416,0.70886720086,0.708799573788,0.7087319402,0.708664300099,0.708596653483,0.708529000354,0.708461340713,0.70839367456,0.708326001895,0.708258322719,0.708190637033,0.708122944838,0.708055246134,0.707987540921,0.707919829201,0.707852110974,0.70778438624,0.707716655,0.707648917256,0.707581173006,0.707513422253,0.707445664997,0.707377901238,0.707310130976,0.707242354214,0.70717457095,0.707106781187,0.707038984923,0.706971182161,0.706903372901,0.706835557142,0.706767734887,0.706699906135,0.706632070888,0.706564229145,0.706496380907,0.706428526176,0.706360664951,0.706292797234,0.706224923024,0.706157042323,0.706089155131,0.706021261449,0.705953361278,0.705885454617,0.705817541468,0.705749621831,0.705681695708,0.705613763097,0.705545824001,0.70547787842,0.705409926354,0.705341967804,0.705274002771,0.705206031255,0.705138053257,0.705070068777,0.705002077817,0.704934080376,0.704866076456,0.704798066056,0.704730049179,0.704662025823,0.704593995991,0.704525959682,0.704457916897,0.704389867637,0.704321811903,0.704253749694,0.704185681012,0.704117605858,0.704049524231,0.703981436133,0.703913341564,0.703845240524,0.703777133016,0.703709019038,0.703640898592,0.703572771678,0.703504638297,0.703436498449,0.703368352136,0.703300199358,0.703232040114,0.703163874407,0.703095702237,0.703027523604,0.702959338509,0.702891146952,0.702822948935,0.702754744457,0.70268653352,0.702618316124,0.702550092269,0.702481861957,0.702413625188,0.702345381962,0.702277132281,0.702208876144,0.702140613553,0.702072344508,0.70200406901,0.701935787059,0.701867498656,0.701799203801,0.701730902496,0.70166259474,0.701594280535,0.701525959881,0.701457632779,0.701389299229,0.701320959232,0.701252612789,0.7011842599,0.701115900566,0.701047534787,0.700979162565,0.700910783899,0.700842398791,0.70077400724,0.700705609248,0.700637204816,0.700568793943,0.700500376631,0.70043195288,0.700363522691,0.700295086064,0.700226643001,0.700158193501,0.700089737565,0.700021275194,0.699952806389,0.69988433115,0.699815849477,0.699747361373,0.699678866836,0.699610365868,0.699541858469,0.69947334464,0.699404824382,0.699336297695,0.69926776458,0.699199225037,0.699130679068,0.699062126672,0.698993567851,0.698925002604,0.698856430934,0.698787852839,0.698719268322,0.698650677381,0.69858208002,0.698513476236,0.698444866033,0.698376249409,0.698307626366,0.698238996904,0.698170361024,0.698101718727,0.698033070013,0.697964414883,0.697895753337,0.697827085377,0.697758411002,0.697689730213,0.697621043012,0.697552349398,0.697483649372,0.697414942935,0.697346230088,0.697277510831,0.697208785165,0.69714005309,0.697071314607,0.697002569716,0.696933818419,0.696865060716,0.696796296608,0.696727526095,0.696658749177,0.696589965856,0.696521176132,0.696452380006,0.696383577478,0.69631476855,0.69624595322,0.696177131491,0.696108303363,0.696039468837,0.695970627913,0.695901780591,0.695832926873,0.695764066759,0.695695200249,0.695626327345,0.695557448047,0.695488562356,0.695419670271,0.695350771795,0.695281866927,0.695212955668,0.695144038019,0.69507511398,0.695006183552,0.694937246736,0.694868303532,0.694799353942,0.694730397964,0.694661435601,0.694592466853,0.69452349172,0.694454510203,0.694385522303,0.69431652802,0.694247527356,0.69417852031,0.694109506883,0.694040487076,0.69397146089,0.693902428324,0.693833389381,0.69376434406,0.693695292362,0.693626234288,0.693557169838,0.693488099013,0.693419021814,0.693349938241,0.693280848295,0.693211751976,0.693142649285,0.693073540224,0.693004424791,0.692935302989,0.692866174817,0.692797040277,0.692727899369,0.692658752093,0.692589598451,0.692520438442,0.692451272068,0.692382099329,0.692312920226,0.692243734759,0.692174542929,0.692105344737,0.692036140183,0.691966929269,0.691897711993,0.691828488358,0.691759258364,0.691690022012,0.691620779301,0.691551530233,0.691482274809,0.691413013029,0.691343744893,0.691274470403,0.691205189558,0.691135902361,0.69106660881,0.690997308908,0.690928002653,0.690858690048,0.690789371093,0.690720045788,0.690650714135,0.690581376132,0.690512031783,0.690442681086,0.690373324043,0.690303960654,0.69023459092,0.690165214841,0.690095832419,0.690026443653,0.689957048545,0.689887647095,0.689818239303,0.689748825171,0.689679404699,0.689609977887,0.689540544737,0.689471105249,0.689401659423,0.68933220726,0.689262748761,0.689193283927,0.689123812757,0.689054335254,0.688984851417,0.688915361246,0.688845864744,0.688776361909,0.688706852744,0.688637337248,0.688567815422,0.688498287267,0.688428752784,0.688359211973,0.688289664834,0.688220111369,0.688150551578,0.688080985462,0.68801141302,0.687941834255,0.687872249167,0.687802657755,0.687733060022,0.687663455967,0.687593845591,0.687524228895,0.687454605879,0.687384976545,0.687315340892,0.687245698921,0.687176050634,0.68710639603,0.68703673511,0.686967067875,0.686897394326,0.686827714463,0.686758028287,0.686688335798,0.686618636998,0.686548931886,0.686479220463,0.686409502731,0.686339778689,0.686270048339,0.68620031168,0.686130568714,0.686060819441,0.685991063863,0.685921301978,0.685851533789,0.685781759296,0.685711978499,0.685642191399,0.685572397997,0.685502598293,0.685432792289,0.685362979984,0.685293161379,0.685223336475,0.685153505273,0.685083667773,0.685013823976,0.684943973882,0.684874117492,0.684804254808,0.684734385828,0.684664510555,0.684594628988,0.684524741129,0.684454846978,0.684384946535,0.684315039802,0.684245126779,0.684175207466,0.684105281864,0.684035349975,0.683965411797,0.683895467333,0.683825516583,0.683755559547,0.683685596226,0.683615626621,0.683545650732,0.68347566856,0.683405680106,0.68333568537,0.683265684353,0.683195677056,0.683125663479,0.683055643623,0.682985617488,0.682915585075,0.682845546385,0.682775501419,0.682705450176,0.682635392659,0.682565328866,0.6824952588,0.682425182461,0.682355099848,0.682285010964,0.682214915808,0.682144814381,0.682074706685,0.682004592718,0.681934472483,0.68186434598,0.681794213209,0.681724074172,0.681653928868,0.681583777298,0.681513619464,0.681443455365,0.681373285002,0.681303108377,0.681232925489,0.681162736339,0.681092540928,0.681022339257,0.680952131326,0.680881917135,0.680811696686,0.68074146998,0.680671237016,0.680600997795,0.680530752319,0.680460500587,0.680390242601,0.680319978361,0.680249707867,0.68017943112,0.680109148122,0.680038858872,0.679968563371,0.679898261621,0.67982795362,0.679757639371,0.679687318874,0.679616992129,0.679546659137,0.679476319899,0.679405974416,0.679335622687,0.679265264714,0.679194900498,0.679124530038,0.679054153337,0.678983770393,0.678913381208,0.678842985783,0.678772584118,0.678702176214,0.678631762072,0.678561341691,0.678490915074,0.67842048222,0.67835004313,0.678279597805,0.678209146245,0.678138688451,0.678068224424,0.677997754164,0.677927277673,0.677856794949,0.677786305996,0.677715810812,0.677645309398,0.677574801756,0.677504287886,0.677433767789,0.677363241464,0.677292708913,0.677222170137,0.677151625136,0.677081073911,0.677010516462,0.67693995279,0.676869382896,0.67679880678,0.676728224443,0.676657635886,0.67658704111,0.676516440114,0.6764458329,0.676375219468,0.676304599819,0.676233973953,0.676163341872,0.676092703575,0.676022059064,0.67595140834,0.675880751402,0.675810088251,0.675739418889,0.675668743315,0.675598061531,0.675527373536,0.675456679333,0.675385978921,0.6753152723,0.675244559473,0.675173840439,0.675103115198,0.675032383752,0.674961646102,0.674890902247,0.674820152189,0.674749395929,0.674678633466,0.674607864801,0.674537089936,0.67446630887,0.674395521605,0.674324728141,0.674253928479,0.674183122619,0.674112310562,0.674041492309,0.673970667861,0.673899837217,0.673829000379,0.673758157347,0.673687308122,0.673616452705,0.673545591096,0.673474723296,0.673403849306,0.673332969125,0.673262082756,0.673191190198,0.673120291453,0.67304938652,0.6729784754,0.672907558095,0.672836634605,0.67276570493,0.672694769071,0.672623827029,0.672552878804,0.672481924397,0.672410963809,0.67233999704,0.672269024091,0.672198044963,0.672127059656,0.672056068172,0.671985070509,0.67191406667,0.671843056655,0.671772040465,0.671701018099,0.67162998956,0.671558954847,0.671487913961,0.671416866903,0.671345813674,0.671274754274,0.671203688703,0.671132616963,0.671061539054,0.670990454977,0.670919364732,0.67084826832,0.670777165742,0.670706056998,0.67063494209,0.670563821017,0.67049269378,0.67042156038,0.670350420818,0.670279275094,0.670208123209,0.670136965164,0.670065800959,0.669994630595,0.669923454072,0.669852271392,0.669781082554,0.66970988756,0.66963868641,0.669567479105,0.669496265646,0.669425046032,0.669353820266,0.669282588347,0.669211350276,0.669140106053,0.66906885568,0.668997599157,0.668926336485,0.668855067665,0.668783792696,0.66871251158,0.668641224317,0.668569930908,0.668498631354,0.668427325655,0.668356013813,0.668284695826,0.668213371698,0.668142041427,0.668070705014,0.667999362461,0.667928013768,0.667856658935,0.667785297963,0.667713930854,0.667642557607,0.667571178223,0.667499792702,0.667428401047,0.667357003256,0.667285599331,0.667214189273,0.667142773082,0.667071350759,0.666999922304,0.666928487718,0.666857047002,0.666785600156,0.666714147181,0.666642688078,0.666571222847,0.66649975149,0.666428274006,0.666356790396,0.666285300662,0.666213804803,0.66614230282,0.666070794714,0.665999280486,0.665927760136,0.665856233666,0.665784701074,0.665713162363,0.665641617533,0.665570066585,0.665498509518,0.665426946335,0.665355377035,0.665283801619,0.665212220088,0.665140632443,0.665069038684,0.664997438811,0.664925832826,0.66485422073,0.664782602522,0.664710978203,0.664639347775,0.664567711237,0.664496068591,0.664424419837,0.664352764976,0.664281104008,0.664209436934,0.664137763755,0.664066084472,0.663994399084,0.663922707593,0.663851009999,0.663779306304,0.663707596507,0.66363588061,0.663564158612,0.663492430515,0.66342069632,0.663348956026,0.663277209635,0.663205457148,0.663133698564,0.663061933885,0.662990163111,0.662918386243,0.662846603282,0.662774814228,0.662703019082,0.662631217845,0.662559410516,0.662487597098,0.66241577759,0.662343951994,0.662272120309,0.662200282537,0.662128438678,0.662056588733,0.661984732702,0.661912870587,0.661841002387,0.661769128104,0.661697247738,0.66162536129,0.66155346876,0.66148157015,0.661409665459,0.661337754689,0.66126583784,0.661193914913,0.661121985908,0.661050050826,0.660978109668,0.660906162435,0.660834209126,0.660762249744,0.660690284287,0.660618312758,0.660546335157,0.660474351484,0.66040236174,0.660330365925,0.660258364041,0.660186356089,0.660114342067,0.660042321979,0.659970295823,0.659898263601,0.659826225313,0.659754180961,0.659682130544,0.659610074063,0.659538011519,0.659465942913,0.659393868246,0.659321787517,0.659249700728,0.659177607879,0.659105508972,0.659033404006,0.658961292982,0.658889175901,0.658817052764,0.658744923571,0.658672788323,0.658600647021,0.658528499665,0.658456346256,0.658384186795,0.658312021282,0.658239849717,0.658167672103,0.658095488439,0.658023298725,0.657951102963,0.657878901154,0.657806693297,0.657734479394,0.657662259445,0.657590033451,0.657517801413,0.657445563331,0.657373319206,0.657301069038,0.657228812829,0.657156550578,0.657084282287,0.657012007956,0.656939727587,0.656867441178,0.656795148732,0.656722850249,0.656650545729,0.656578235174,0.656505918583,0.656433595958,0.6563612673,0.656288932608,0.656216591883,0.656144245127,0.65607189234,0.655999533522,0.655927168674,0.655854797797,0.655782420892,0.655710037959,0.655637648999,0.655565254012,0.655492853,0.655420445962,0.6553480329,0.655275613814,0.655203188705,0.655130757573,0.65505832042,0.654985877245,0.65491342805,0.654840972835,0.654768511601,0.654696044349,0.654623571078,0.654551091791,0.654478606487,0.654406115167,0.654333617832,0.654261114482,0.654188605119,0.654116089742,0.654043568353,0.653971040953,0.653898507541,0.653825968118,0.653753422686,0.653680871244,0.653608313795,0.653535750337,0.653463180872,0.6533906054,0.653318023923,0.653245436441,0.653172842954,0.653100243463,0.653027637969,0.652955026473,0.652882408975,0.652809785475,0.652737155975,0.652664520476,0.652591878977,0.65251923148,0.652446577984,0.652373918492,0.652301253003,0.652228581519,0.652155904039,0.652083220565,0.652010531097,0.651937835636,0.651865134182,0.651792426737,0.6517197133,0.651646993873,0.651574268456,0.65150153705,0.651428799656,0.651356056274,0.651283306905,0.651210551549,0.651137790207,0.65106502288,0.650992249569,0.650919470274,0.650846684996,0.650773893736,0.650701096494,0.65062829327,0.650555484067,0.650482668883,0.65040984772,0.650337020579,0.65026418746,0.650191348364,0.650118503292,0.650045652244,0.649972795221,0.649899932223,0.649827063252,0.649754188307,0.649681307391,0.649608420502,0.649535527643,0.649462628813,0.649389724013,0.649316813244,0.649243896507,0.649170973802,0.64909804513,0.649025110492,0.648952169888,0.648879223319,0.648806270786,0.648733312289,0.648660347829,0.648587377406,0.648514401022,0.648441418677,0.648368430372,0.648295436107,0.648222435882,0.6481494297,0.64807641756,0.648003399463,0.64793037541,0.647857345401,0.647784309437,0.647711267519,0.647638219647,0.647565165822,0.647492106045,0.647419040316,0.647345968637,0.647272891007,0.647199807427,0.647126717899,0.647053622422,0.646980520998,0.646907413627,0.646834300309,0.646761181046,0.646688055839,0.646614924687,0.646541787591,0.646468644552,0.646395495572,0.64632234065,0.646249179787,0.646176012983,0.646102840241,0.646029661559,0.645956476939,0.645883286382,0.645810089888,0.645736887458,0.645663679092,0.645590464792,0.645517244557,0.645444018389,0.645370786288,0.645297548255,0.645224304291,0.645151054395,0.64507779857,0.645004536816,0.644931269132,0.644857995521,0.644784715982,0.644711430516,0.644638139125,0.644564841807,0.644491538566,0.6444182294,0.644344914311,0.644271593299,0.644198266365,0.64412493351,0.644051594734,0.643978250039,0.643904899424,0.64383154289,0.643758180438,0.643684812069,0.643611437784,0.643538057582,0.643464671465,0.643391279434,0.643317881489,0.64324447763,0.643171067859,0.643097652176,0.643024230582,0.642950803077,0.642877369662,0.642803930339,0.642730485106,0.642657033966,0.642583576919,0.642510113965,0.642436645105,0.642363170341,0.642289689671,0.642216203098,0.642142710622,0.642069212244,0.641995707963,0.641922197782,0.6418486817,0.641775159719,0.641701631838,0.641628098059,0.641554558382,0.641481012809,0.641407461338,0.641333903973,0.641260340712,0.641186771557,0.641113196508,0.641039615566,0.640966028732,0.640892436007,0.64081883739,0.640745232883,0.640671622487,0.640598006201,0.640524384028,0.640450755966,0.640377122018,0.640303482184,0.640229836464,0.64015618486,0.640082527371,0.640008863998,0.639935194743,0.639861519606,0.639787838587,0.639714151688,0.639640458908,0.639566760249,0.639493055711,0.639419345295,0.639345629002,0.639271906831,0.639198178785,0.639124444864,0.639050705068,0.638976959397,0.638903207854,0.638829450437,0.638755687149,0.63868191799,0.63860814296,0.638534362059,0.63846057529,0.638386782652,0.638312984146,0.638239179773,0.638165369533,0.638091553428,0.638017731457,0.637943903622,0.637870069923,0.63779623036,0.637722384936,0.637648533649,0.637574676501,0.637500813493,0.637426944625,0.637353069898,0.637279189313,0.63720530287,0.637131410569,0.637057512413,0.636983608401,0.636909698533,0.636835782812,0.636761861236,0.636687933808,0.636614000527,0.636540061395,0.636466116412,0.636392165579,0.636318208896,0.636244246364,0.636170277984,0.636096303756,0.636022323682,0.635948337761,0.635874345995,0.635800348384,0.635726344929,0.63565233563,0.635578320489,0.635504299505,0.63543027268,0.635356240015,0.635282201509,0.635208157164,0.63513410698,0.635060050958,0.634985989099,0.634911921403,0.634837847872,0.634763768504,0.634689683303,0.634615592267,0.634541495398,0.634467392697,0.634393284164,0.634319169799,0.634245049604,0.634170923579,0.634096791725,0.634022654043,0.633948510532,0.633874361195,0.633800206031,0.633726045041,0.633651878227,0.633577705588,0.633503527125,0.633429342839,0.633355152731,0.633280956801,0.63320675505,0.633132547479,0.633058334088,0.632984114878,0.632909889851,0.632835659005,0.632761422343,0.632687179864,0.63261293157,0.632538677461,0.632464417538,0.632390151801,0.632315880252,0.63224160289,0.632167319717,0.632093030734,0.63201873594,0.631944435337,0.631870128925,0.631795816705,0.631721498678,0.631647174844,0.631572845204,0.631498509759,0.631424168509,0.631349821456,0.631275468599,0.63120110994,0.631126745478,0.631052375216,0.630977999153,0.63090361729,0.630829229628,0.630754836168,0.63068043691,0.630606031855,0.630531621003,0.630457204356,0.630382781914,0.630308353677,0.630233919647,0.630159479824,0.630085034208,0.630010582801,0.629936125603,0.629861662614,0.629787193837,0.62971271927,0.629638238915,0.629563752772,0.629489260843,0.629414763128,0.629340259627,0.629265750341,0.629191235272,0.629116714419,0.629042187783,0.628967655365,0.628893117166,0.628818573186,0.628744023427,0.628669467888,0.62859490657,0.628520339475,0.628445766602,0.628371187953,0.628296603527,0.628222013327,0.628147417352,0.628072815604,0.627998208082,0.627923594788,0.627848975722,0.627774350885,0.627699720278,0.627625083901,0.627550441755,0.627475793841,0.627401140159,0.62732648071,0.627251815495,0.627177144515,0.627102467769,0.627027785259,0.626953096986,0.62687840295,0.626803703152,0.626728997592,0.626654286272,0.626579569192,0.626504846352,0.626430117753,0.626355383397,0.626280643283,0.626205897412,0.626131145786,0.626056388404,0.625981625268,0.625906856378,0.625832081735,0.625757301339,0.625682515191,0.625607723292,0.625532925643,0.625458122244,0.625383313096,0.625308498199,0.625233677555,0.625158851164,0.625084019026,0.625009181143,0.624934337515,0.624859488142,0.624784633026,0.624709772168,0.624634905566,0.624560033224,0.62448515514,0.624410271317,0.624335381754,0.624260486452,0.624185585412,0.624110678635,0.624035766121,0.623960847871,0.623885923886,0.623810994166,0.623736058713,0.623661117526,0.623586170606,0.623511217955,0.623436259572,0.623361295459,0.623286325616,0.623211350044,0.623136368744,0.623061381715,0.62298638896,0.622911390479,0.622836386271,0.622761376339,0.622686360683,0.622611339302,0.622536312199,0.622461279374,0.622386240827,0.62231119656,0.622236146572,0.622161090865,0.622086029439,0.622010962295,0.621935889433,0.621860810855,0.621785726561,0.621710636551,0.621635540827,0.621560439389,0.621485332238,0.621410219374,0.621335100798,0.621259976511,0.621184846514,0.621109710806,0.62103456939,0.620959422265,0.620884269433,0.620809110893,0.620733946647,0.620658776696,0.620583601039,0.620508419679,0.620433232614,0.620358039847,0.620282841378,0.620207637207,0.620132427335,0.620057211763,0.619981990492,0.619906763522,0.619831530854,0.619756292488,0.619681048426,0.619605798668,0.619530543215,0.619455282067,0.619380015225,0.61930474269,0.619229464462,0.619154180543,0.619078890932,0.619003595631,0.618928294641,0.618852987961,0.618777675593,0.618702357537,0.618627033794,0.618551704365,0.61847636925,0.618401028451,0.618325681967,0.6182503298,0.61817497195,0.618099608417,0.618024239204,0.617948864309,0.617873483735,0.617798097481,0.617722705548,0.617647307938,0.61757190465,0.617496495686,0.617421081045,0.61734566073,0.61727023474,0.617194803076,0.617119365739,0.61704392273,0.616968474049,0.616893019697,0.616817559674,0.616742093982,0.616666622621,0.616591145592,0.616515662895,0.616440174531,0.616364680501,0.616289180805,0.616213675445,0.616138164421,0.616062647733,0.615987125382,0.61591159737,0.615836063696,0.615760524361,0.615684979367,0.615609428713,0.615533872401,0.615458310431,0.615382742804,0.61530716952,0.615231590581,0.615156005986,0.615080415737,0.615004819834,0.614929218279,0.614853611071,0.614777998211,0.614702379701,0.61462675554,0.61455112573,0.614475490271,0.614399849164,0.61432420241,0.614248550008,0.614172891961,0.614097228268,0.614021558931,0.61394588395,0.613870203325,0.613794517058,0.613718825149,0.613643127599,0.613567424408,0.613491715578,0.613416001109,0.613340281001,0.613264555255,0.613188823873,0.613113086854,0.613037344199,0.61296159591,0.612885841986,0.612810082429,0.61273431724,0.612658546417,0.612582769964,0.61250698788,0.612431200166,0.612355406822,0.61227960785,0.61220380325,0.612127993022,0.612052177169,0.611976355689,0.611900528584,0.611824695854,0.611748857501,0.611673013525,0.611597163926,0.611521308706,0.611445447865,0.611369581403,0.611293709322,0.611217831622,0.611141948304,0.611066059369,0.610990164816,0.610914264648,0.610838358864,0.610762447465,0.610686530453,0.610610607827,0.610534679588,0.610458745738,0.610382806276,0.610306861204,0.610230910522,0.610154954231,0.610078992332,0.610003024825,0.60992705171,0.60985107299,0.609775088664,0.609699098733,0.609623103198,0.609547102059,0.609471095317,0.609395082973,0.609319065028,0.609243041482,0.609167012336,0.609090977591,0.609014937247,0.608938891305,0.608862839766,0.608786782631,0.608710719899,0.608634651573,0.608558577652,0.608482498137,0.608406413029,0.608330322329,0.608254226037,0.608178124155,0.608102016682,0.608025903619,0.607949784968,0.607873660728,0.607797530901,0.607721395488,0.607645254488,0.607569107903,0.607492955733,0.607416797979,0.607340634643,0.607264465723,0.607188291222,0.607112111139,0.607035925476,0.606959734234,0.606883537412,0.606807335012,0.606731127035,0.60665491348,0.606578694349,0.606502469643,0.606426239361,0.606350003506,0.606273762077,0.606197515076,0.606121262502,0.606045004357,0.605968740642,0.605892471356,0.605816196502,0.605739916078,0.605663630087,0.605587338529,0.605511041404,0.605434738714,0.605358430459,0.605282116639,0.605205797255,0.605129472309,0.605053141801,0.604976805731,0.6049004641,0.604824116909,0.604747764159,0.60467140585,0.604595041983,0.604518672558,0.604442297577,0.60436591704,0.604289530948,0.604213139302,0.604136742101,0.604060339348,0.603983931042,0.603907517184,0.603831097776,0.603754672817,0.603678242308,0.603601806251,0.603525364646,0.603448917493,0.603372464793,0.603296006547,0.603219542756,0.60314307342,0.60306659854,0.602990118117,0.602913632152,0.602837140644,0.602760643596,0.602684141007,0.602607632878,0.60253111921,0.602454600004,0.60237807526,0.602301544979,0.602225009162,0.60214846781,0.602071920922,0.601995368501,0.601918810546,0.601842247059,0.601765678039,0.601689103488,0.601612523407,0.601535937795,0.601459346655,0.601382749986,0.601306147789,0.601229540065,0.601152926815,0.601076308039,0.600999683738,0.600923053913,0.600846418564,0.600769777693,0.600693131299,0.600616479384,0.600539821948,0.600463158992,0.600386490517,0.600309816523,0.600233137011,0.600156451982,0.600079761437,0.600003065375,0.599926363799,0.599849656708,0.599772944104,0.599696225986,0.599619502356,0.599542773215,0.599466038563,0.599389298401,0.599312552729,0.599235801548,0.59915904486,0.599082282664,0.599005514961,0.598928741752,0.598851963039,0.59877517882,0.598698389098,0.598621593873,0.598544793146,0.598467986916,0.598391175186,0.598314357955,0.598237535225,0.598160706996,0.598083873269,0.598007034045,0.597930189323,0.597853339106,0.597776483393,0.597699622186,0.597622755484,0.59754588329,0.597469005603,0.597392122424,0.597315233754,0.597238339593,0.597161439943,0.597084534804,0.597007624177,0.596930708062,0.59685378646,0.596776859373,0.596699926799,0.596622988741,0.596546045199,0.596469096174,0.596392141666,0.596315181676,0.596238216205,0.596161245253,0.596084268822,0.596007286911,0.595930299522,0.595853306656,0.595776308312,0.595699304492,0.595622295197,0.595545280427,0.595468260183,0.595391234465,0.595314203275,0.595237166612,0.595160124479,0.595083076875,0.5950060238,0.594928965257,0.594851901245,0.594774831766,0.594697756819,0.594620676407,0.594543590528,0.594466499185,0.594389402377,0.594312300106,0.594235192372,0.594158079176,0.594080960519,0.594003836401,0.593926706823,0.593849571785,0.59377243129,0.593695285336,0.593618133925,0.593540977058,0.593463814735,0.593386646958,0.593309473725,0.59323229504,0.593155110901,0.593077921311,0.593000726268,0.592923525776,0.592846319833,0.59276910844,0.5926918916,0.592614669311,0.592537441575,0.592460208393,0.592382969764,0.592305725691,0.592228476174,0.592151221212,0.592073960808,0.591996694962,0.591919423674,0.591842146946,0.591764864777,0.591687577169,0.591610284122,0.591532985637,0.591455681715,0.591378372357,0.591301057562,0.591223737333,0.591146411669,0.591069080572,0.590991744041,0.590914402078,0.590837054684,0.590759701859,0.590682343604,0.590604979919,0.590527610805,0.590450236264,0.590372856295,0.5902954709,0.590218080079,0.590140683832,0.590063282161,0.589985875067,0.589908462549,0.589831044609,0.589753621248,0.589676192466,0.589598758263,0.589521318641,0.5894438736,0.589366423141,0.589288967265,0.589211505973,0.589134039264,0.58905656714,0.588979089602,0.58890160665,0.588824118285,0.588746624507,0.588669125318,0.588591620718,0.588514110708,0.588436595288,0.588359074459,0.588281548223,0.588204016579,0.588126479528,0.588048937072,0.58797138921,0.587893835943,0.587816277273,0.5877387132,0.587661143725,0.587583568848,0.587505988569,0.587428402891,0.587350811813,0.587273215337,0.587195613462,0.58711800619,0.587040393521,0.586962775456,0.586885151996,0.586807523142,0.586729888893,0.586652249252,0.586574604218,0.586496953793,0.586419297976,0.58634163677,0.586263970174,0.586186298189,0.586108620815,0.586030938055,0.585953249908,0.585875556375,0.585797857456,0.585720153154,0.585642443467,0.585564728397,0.585487007945,0.585409282111,0.585331550896,0.585253814301,0.585176072327,0.585098324973,0.585020572242,0.584942814133,0.584865050648,0.584787281786,0.584709507549,0.584631727938,0.584553942953,0.584476152595,0.584398356864,0.584320555762,0.584242749289,0.584164937446,0.584087120233,0.584009297651,0.583931469701,0.583853636384,0.5837757977,0.583697953651,0.583620104236,0.583542249456,0.583464389313,0.583386523806,0.583308652938,0.583230776707,0.583152895116,0.583075008164,0.582997115853,0.582919218184,0.582841315156,0.582763406771,0.582685493029,0.582607573931,0.582529649478,0.58245171967,0.582373784509,0.582295843995,0.582217898128,0.58213994691,0.582061990341,0.581984028421,0.581906061153,0.581828088535,0.581750110569,0.581672127256,0.581594138597,0.581516144591,0.581438145241,0.581360140546,0.581282130507,0.581204115125,0.581126094401,0.581048068335,0.580970036929,0.580892000182,0.580813958096,0.580735910671,0.580657857908,0.580579799808,0.580501736371,0.580423667598,0.580345593491,0.580267514049,0.580189429273,0.580111339164,0.580033243723,0.57995514295,0.579877036847,0.579798925413,0.579720808651,0.579642686559,0.579564559139,0.579486426393,0.579408288319,0.57933014492,0.579251996196,0.579173842148,0.579095682775,0.57901751808,0.578939348063,0.578861172724,0.578782992065,0.578704806085,0.578626614786,0.578548418169,0.578470216233,0.578392008981,0.578313796412,0.578235578527,0.578157355327,0.578079126813,0.578000892985,0.577922653845,0.577844409392,0.577766159628,0.577687904553,0.577609644168,0.577531378474,0.577453107472,0.577374831161,0.577296549544,0.57721826262,0.57713997039,0.577061672856,0.576983370017,0.576905061875,0.57682674843,0.576748429682,0.576670105634,0.576591776285,0.576513441636,0.576435101688,0.576356756441,0.576278405897,0.576200050055,0.576121688917,0.576043322484,0.575964950756,0.575886573734,0.575808191418,0.575729803809,0.575651410909,0.575573012717,0.575494609235,0.575416200463,0.575337786402,0.575259367052,0.575180942415,0.575102512491,0.57502407728,0.574945636784,0.574867191004,0.574788739939,0.574710283591,0.57463182196,0.574553355048,0.574474882854,0.57439640538,0.574317922626,0.574239434593,0.574160941282,0.574082442693,0.574003938827,0.573925429686,0.573846915269,0.573768395577,0.573689870611,0.573611340372,0.57353280486,0.573454264077,0.573375718023,0.573297166698,0.573218610104,0.57314004824,0.573061481109,0.57298290871,0.572904331045,0.572825748113,0.572747159916,0.572668566454,0.572589967729,0.572511363741,0.57243275449,0.572354139977,0.572275520204,0.57219689517,0.572118264877,0.572039629325,0.571960988515,0.571882342447,0.571803691123,0.571725034543,0.571646372708,0.571567705618,0.571489033275,0.571410355679,0.57133167283,0.57125298473,0.571174291379,0.571095592778,0.571016888928,0.570938179828,0.570859465481,0.570780745887,0.570702021046,0.57062329096,0.570544555628,0.570465815052,0.570387069232,0.57030831817,0.570229561865,0.570150800319,0.570072033533,0.569993261506,0.56991448424,0.569835701736,0.569756913993,0.569678121014,0.569599322798,0.569520519347,0.569441710661,0.56936289674,0.569284077586,0.5692052532,0.569126423581,0.569047588731,0.568968748651,0.56888990334,0.568811052801,0.568732197033,0.568653336037,0.568574469815,0.568495598366,0.568416721692,0.568337839793,0.56825895267,0.568180060324,0.568101162755,0.568022259964,0.567943351952,0.56786443872,0.567785520268,0.567706596597,0.567627667708,0.567548733601,0.567469794278,0.567390849738,0.567311899983,0.567232945014,0.567153984831,0.567075019434,0.566996048825,0.566917073004,0.566838091973,0.566759105731,0.56668011428,0.566601117619,0.566522115751,0.566443108675,0.566364096393,0.566285078905,0.566206056212,0.566127028314,0.566047995212,0.565968956908,0.565889913401,0.565810864693,0.565731810784,0.565652751674,0.565573687366,0.565494617859,0.565415543154,0.565336463251,0.565257378153,0.565178287858,0.565099192369,0.565020091685,0.564940985808,0.564861874738,0.564782758476,0.564703637022,0.564624510378,0.564545378544,0.564466241521,0.564387099309,0.564307951909,0.564228799323,0.56414964155,0.564070478592,0.563991310449,0.563912137122,0.563832958611,0.563753774918,0.563674586043,0.563595391987,0.56351619275,0.563436988334,0.563357778739,0.563278563965,0.563199344014,0.563120118886,0.563040888582,0.562961653102,0.562882412448,0.56280316662,0.562723915619,0.562644659446,0.562565398101,0.562486131584,0.562406859898,0.562327583042,0.562248301017,0.562169013824,0.562089721464,0.562010423937,0.561931121245,0.561851813387,0.561772500365,0.561693182179,0.56161385883,0.561534530319,0.561455196646,0.561375857813,0.561296513819,0.561217164666,0.561137810355,0.561058450886,0.560979086259,0.560899716477,0.560820341538,0.560740961445,0.560661576197,0.560582185796,0.560502790242,0.560423389537,0.56034398368,0.560264572672,0.560185156514,0.560105735208,0.560026308753,0.55994687715,0.559867440401,0.559787998505,0.559708551464,0.559629099278,0.559549641948,0.559470179475,0.559390711859,0.559311239102,0.559231761203,0.559152278164,0.559072789986,0.558993296668,0.558913798213,0.55883429462,0.55875478589,0.558675272025,0.558595753024,0.558516228889,0.55843669962,0.558357165218,0.558277625683,0.558198081017,0.558118531221,0.558038976294,0.557959416237,0.557879851053,0.55780028074,0.5577207053,0.557641124733,0.557561539041,0.557481948224,0.557402352283,0.557322751218,0.55724314503,0.55716353372,0.557083917289,0.557004295737,0.556924669066,0.556845037275,0.556765400366,0.556685758339,0.556606111196,0.556526458936,0.55644680156,0.55636713907,0.556287471466,0.556207798749,0.556128120919,0.556048437977,0.555968749924,0.555889056761,0.555809358488,0.555729655107,0.555649946617,0.55557023302,0.555490514316,0.555410790506,0.555331061591,0.555251327571,0.555171588448,0.555091844222,0.555012094893,0.554932340463,0.554852580932,0.554772816301,0.55469304657,0.554613271741,0.554533491814,0.55445370679,0.55437391667,0.554294121454,0.554214321142,0.554134515737,0.554054705238,0.553974889647,0.553895068963,0.553815243188,0.553735412323,0.553655576367,0.553575735323,0.55349588919,0.55341603797,0.553336181663,0.55325632027,0.553176453791,0.553096582227,0.55301670558,0.552936823849,0.552856937036,0.552777045142,0.552697148166,0.55261724611,0.552537338974,0.55245742676,0.552377509467,0.552297587097,0.552217659651,0.552137727129,0.552057789531,0.551977846859,0.551897899114,0.551817946295,0.551737988405,0.551658025443,0.55157805741,0.551498084307,0.551418106135,0.551338122894,0.551258134586,0.551178141211,0.551098142769,0.551018139262,0.55093813069,0.550858117053,0.550778098354,0.550698074592,0.550618045768,0.550538011882,0.550457972937,0.550377928931,0.550297879867,0.550217825744,0.550137766564,0.550057702327,0.549977633035,0.549897558687,0.549817479284,0.549737394827,0.549657305318,0.549577210756,0.549497111143,0.549417006478,0.549336896764,0.549256782,0.549176662188,0.549096537327,0.54901640742,0.548936272466,0.548856132466,0.548775987421,0.548695837333,0.5486156822,0.548535522025,0.548455356808,0.548375186549,0.54829501125,0.548214830912,0.548134645534,0.548054455118,0.547974259664,0.547894059173,0.547813853646,0.547733643084,0.547653427487,0.547573206857,0.547492981193,0.547412750496,0.547332514768,0.547252274009,0.54717202822,0.547091777401,0.547011521554,0.546931260678,0.546850994775,0.546770723846,0.546690447891,0.546610166911,0.546529880906,0.546449589878,0.546369293827,0.546288992754,0.54620868666,0.546128375545,0.54604805941,0.545967738256,0.545887412083,0.545807080893,0.545726744686,0.545646403463,0.545566057224,0.54548570597,0.545405349703,0.545324988422,0.545244622129,0.545164250824,0.545083874508,0.545003493181,0.544923106845,0.544842715501,0.544762319148,0.544681917788,0.544601511421,0.544521100048,0.544440683671,0.544360262288,0.544279835903,0.544199404514,0.544118968123,0.544038526731,0.543958080338,0.543877628945,0.543797172553,0.543716711162,0.543636244774,0.543555773389,0.543475297007,0.54339481563,0.543314329258,0.543233837893,0.543153341534,0.543072840182,0.542992333838,0.542911822504,0.542831306179,0.542750784865,0.542670258561,0.54258972727,0.542509190991,0.542428649726,0.542348103474,0.542267552238,0.542186996017,0.542106434812,0.542025868625,0.541945297455,0.541864721304,0.541784140172,0.541703554061,0.54162296297,0.5415423669,0.541461765853,0.541381159829,0.541300548828,0.541219932853,0.541139311902,0.541058685977,0.540978055079,0.540897419208,0.540816778366,0.540736132552,0.540655481768,0.540574826015,0.540494165293,0.540413499602,0.540332828945,0.54025215332,0.54017147273,0.540090787174,0.540010096655,0.539929401171,0.539848700725,0.539767995316,0.539687284946,0.539606569616,0.539525849325,0.539445124075,0.539364393867,0.539283658701,0.539202918578,0.539122173499,0.539041423464,0.538960668474,0.538879908531,0.538799143634,0.538718373785,0.538637598984,0.538556819232,0.538476034529,0.538395244877,0.538314450277,0.538233650728,0.538152846232,0.538072036789,0.5379912224,0.537910403067,0.537829578789,0.537748749567,0.537667915402,0.537587076296,0.537506232248,0.537425383259,0.53734452933,0.537263670463,0.537182806656,0.537101937913,0.537021064232,0.536940185615,0.536859302062,0.536778413575,0.536697520154,0.5366166218,0.536535718513,0.536454810295,0.536373897146,0.536292979066,0.536212056057,0.536131128119,0.536050195253,0.53596925746,0.53588831474,0.535807367095,0.535726414524,0.53564545703,0.535564494611,0.53548352727,0.535402555007,0.535321577823,0.535240595718,0.535159608693,0.535078616749,0.534997619887,0.534916618107,0.534835611411,0.534754599798,0.53467358327,0.534592561827,0.534511535471,0.534430504201,0.534349468019,0.534268426926,0.534187380921,0.534106330006,0.534025274182,0.53394421345,0.533863147809,0.533782077261,0.533701001807,0.533619921447,0.533538836183,0.533457746014,0.533376650941,0.533295550966,0.533214446089,0.533133336311,0.533052221633,0.532971102054,0.532889977577,0.532808848202,0.532727713929,0.532646574759,0.532565430693,0.532484281733,0.532403127877,0.532321969128,0.532240805486,0.532159636952,0.532078463526,0.531997285209,0.531916102003,0.531834913907,0.531753720923,0.531672523051,0.531591320292,0.531510112646,0.531428900115,0.5313476827,0.5312664604,0.531185233217,0.531104001151,0.531022764204,0.530941522376,0.530860275667,0.530779024079,0.530697767612,0.530616506266,0.530535240044,0.530453968945,0.53037269297,0.53029141212,0.530210126396,0.530128835798,0.530047540328,0.529966239985,0.529884934771,0.529803624686,0.529722309732,0.529640989908,0.529559665216,0.529478335657,0.52939700123,0.529315661938,0.52923431778,0.529152968758,0.529071614872,0.528990256122,0.52890889251,0.528827524037,0.528746150703,0.528664772508,0.528583389455,0.528502001542,0.528420608772,0.528339211145,0.528257808661,0.528176401321,0.528094989127,0.528013572079,0.527932150177,0.527850723423,0.527769291816,0.527687855359,0.527606414051,0.527524967893,0.527443516887,0.527362061032,0.52728060033,0.527199134782,0.527117664387,0.527036189148,0.526954709064,0.526873224136,0.526791734365,0.526710239753,0.526628740298,0.526547236004,0.526465726869,0.526384212895,0.526302694083,0.526221170433,0.526139641946,0.526058108623,0.525976570464,0.525895027471,0.525813479644,0.525731926984,0.525650369491,0.525568807167,0.525487240012,0.525405668026,0.525324091212,0.525242509568,0.525160923097,0.525079331798,0.524997735673,0.524916134723,0.524834528947,0.524752918347,0.524671302924,0.524589682678,0.524508057611,0.524426427722,0.524344793013,0.524263153484,0.524181509136,0.52409985997,0.524018205986,0.523936547186,0.52385488357,0.523773215139,0.523691541893,0.523609863834,0.523528180962,0.523446493278,0.523364800782,0.523283103476,0.523201401359,0.523119694434,0.5230379827,0.522956266159,0.52287454481,0.522792818656,0.522711087696,0.522629351931,0.522547611363,0.522465865991,0.522384115817,0.522302360841,0.522220601065,0.522138836488,0.522057067112,0.521975292937,0.521893513965,0.521811730195,0.521729941629,0.521648148267,0.52156635011,0.521484547159,0.521402739415,0.521320926879,0.52123910955,0.52115728743,0.52107546052,0.52099362882,0.520911792332,0.520829951055,0.520748104991,0.52066625414,0.520584398504,0.520502538082,0.520420672876,0.520338802887,0.520256928114,0.52017504856,0.520093164224,0.520011275108,0.519929381211,0.519847482536,0.519765579082,0.519683670851,0.519601757843,0.519519840059,0.5194379175,0.519355990166,0.519274058058,0.519192121177,0.519110179524,0.519028233099,0.518946281904,0.518864325938,0.518782365203,0.5187003997,0.518618429429,0.518536454391,0.518454474586,0.518372490016,0.518290500681,0.518208506583,0.518126507721,0.518044504096,0.51796249571,0.517880482562,0.517798464655,0.517716441988,0.517634414562,0.517552382378,0.517470345437,0.51738830374,0.517306257287,0.517224206079,0.517142150116,0.5170600894,0.516978023932,0.516895953711,0.51681387874,0.516731799018,0.516649714546,0.516567625325,0.516485531356,0.51640343264,0.516321329177,0.516239220968,0.516157108014,0.516074990315,0.515992867873,0.515910740688,0.515828608761,0.515746472092,0.515664330683,0.515582184534,0.515500033646,0.515417878019,0.515335717655,0.515253552554,0.515171382717,0.515089208145,0.515007028838,0.514924844797,0.514842656023,0.514760462517,0.514678264279,0.51459606131,0.514513853611,0.514431641183,0.514349424027,0.514267202142,0.514184975531,0.514102744193,0.51402050813,0.513938267342,0.51385602183,0.513773771595,0.513691516637,0.513609256958,0.513526992557,0.513444723437,0.513362449596,0.513280171038,0.513197887761,0.513115599767,0.513033307056,0.51295100963,0.512868707489,0.512786400634,0.512704089065,0.512621772783,0.51253945179,0.512457126086,0.512374795671,0.512292460546,0.512210120713,0.512127776172,0.512045426923,0.511963072967,0.511880714306,0.511798350939,0.511715982869,0.511633610094,0.511551232617,0.511468850438,0.511386463557,0.511304071976,0.511221675695,0.511139274715,0.511056869037,0.510974458661,0.510892043589,0.51080962382,0.510727199357,0.510644770198,0.510562336346,0.510479897801,0.510397454564,0.510315006635,0.510232554016,0.510150096707,0.510067634708,0.509985168021,0.509902696647,0.509820220585,0.509737739837,0.509655254404,0.509572764287,0.509490269485,0.50940777,0.509325265833,0.509242756984,0.509160243455,0.509077725245,0.508995202356,0.508912674789,0.508830142543,0.508747605621,0.508665064022,0.508582517748,0.508499966799,0.508417411175,0.508334850879,0.50825228591,0.50816971627,0.508087141958,0.508004562976,0.507921979325,0.507839391005,0.507756798017,0.507674200362,0.50759159804,0.507508991053,0.507426379401,0.507343763084,0.507261142105,0.507178516462,0.507095886158,0.507013251193,0.506930611567,0.506847967282,0.506765318338,0.506682664736,0.506600006476,0.50651734356,0.506434675988,0.506352003761,0.50626932688,0.506186645345,0.506103959158,0.506021268318,0.505938572827,0.505855872686,0.505773167895,0.505690458455,0.505607744367,0.505525025632,0.50544230225,0.505359574222,0.505276841548,0.505194104231,0.505111362269,0.505028615665,0.504945864419,0.504863108531,0.504780348003,0.504697582835,0.504614813028,0.504532038582,0.504449259499,0.50436647578,0.504283687424,0.504200894433,0.504118096807,0.504035294548,0.503952487655,0.503869676131,0.503786859975,0.503704039188,0.503621213772,0.503538383726,0.503455549051,0.50337270975,0.503289865821,0.503207017266,0.503124164086,0.503041306281,0.502958443852,0.5028755768,0.502792705126,0.50270982883,0.502626947914,0.502544062377,0.502461172221,0.502378277447,0.502295378055,0.502212474046,0.50212956542,0.50204665218,0.501963734324,0.501880811855,0.501797884772,0.501714953077,0.50163201677,0.501549075853,0.501466130325,0.501383180188,0.501300225442,0.501217266089,0.501134302128,0.501051333561,0.500968360389,0.500885382611,0.50080240023,0.500719413245,0.500636421658,0.500553425469,0.50047042468,0.50038741929,0.5003044093,0.500221394712,0.500138375526,0.500055351742,0.499972323363,0.499889290387,0.499806252817,0.499723210653,0.499640163895,0.499557112545,0.499474056603,0.49939099607,0.499307930946,0.499224861234,0.499141786932,0.499058708042,0.498975624565,0.498892536502,0.498809443853,0.498726346619,0.4986432448,0.498560138399,0.498477027414,0.498393911848,0.498310791701,0.498227666973,0.498144537665,0.498061403779,0.497978265315,0.497895122273,0.497811974655,0.497728822461,0.497645665692,0.497562504349,0.497479338433,0.497396167943,0.497312992882,0.497229813249,0.497146629046,0.497063440274,0.496980246932,0.496897049023,0.496813846546,0.496730639502,0.496647427893,0.496564211718,0.496480990979,0.496397765677,0.496314535811,0.496231301384,0.496148062396,0.496064818847,0.495981570738,0.495898318071,0.495815060845,0.495731799061,0.495648532722,0.495565261826,0.495481986375,0.49539870637,0.495315421811,0.495232132699,0.495148839035,0.49506554082,0.494982238054,0.494898930739,0.494815618875,0.494732302462,0.494648981502,0.494565655995,0.494482325942,0.494398991344,0.494315652202,0.494232308516,0.494148960287,0.494065607516,0.493982250204,0.493898888351,0.493815521958,0.493732151026,0.493648775556,0.493565395549,0.493482011004,0.493398621924,0.493315228309,0.493231830159,0.493148427475,0.493065020259,0.49298160851,0.49289819223,0.492814771419,0.492731346079,0.492647916209,0.492564481811,0.492481042886,0.492397599433,0.492314151455,0.492230698951,0.492147241923,0.492063780372,0.491980314297,0.4918968437,0.491813368582,0.491729888943,0.491646404784,0.491562916107,0.49147942291,0.491395925197,0.491312422966,0.491228916219,0.491145404957,0.491061889181,0.490978368891,0.490894844088,0.490811314773,0.490727780946,0.490644242608,0.490560699761,0.490477152405,0.49039360054,0.490310044167,0.490226483288,0.490142917903,0.490059348012,0.489975773617,0.489892194719,0.489808611317,0.489725023413,0.489641431007,0.489557834101,0.489474232695,0.48939062679,0.489307016386,0.489223401485,0.489139782087,0.489056158193,0.488972529804,0.48888889692,0.488805259542,0.488721617671,0.488637971309,0.488554320454,0.488470665109,0.488387005274,0.48830334095,0.488219672138,0.488135998838,0.488052321051,0.487968638778,0.487884952019,0.487801260776,0.48771756505,0.48763386484,0.487550160148,0.487466450975,0.487382737321,0.487299019187,0.487215296574,0.487131569483,0.487047837914,0.486964101868,0.486880361346,0.486796616349,0.486712866877,0.486629112932,0.486545354513,0.486461591622,0.48637782426,0.486294052427,0.486210276124,0.486126495353,0.486042710112,0.485958920404,0.48587512623,0.485791327589,0.485707524483,0.485623716912,0.485539904878,0.485456088381,0.485372267421,0.485288442,0.485204612119,0.485120777777,0.485036938976,0.484953095717,0.484869248001,0.484785395827,0.484701539198,0.484617678113,0.484533812574,0.484449942581,0.484366068135,0.484282189237,0.484198305888,0.484114418087,0.484030525837,0.483946629138,0.483862727991,0.483778822396,0.483694912354,0.483610997866,0.483527078933,0.483443155555,0.483359227734,0.48327529547,0.483191358763,0.483107417616,0.483023472027,0.482939521999,0.482855567532,0.482771608626,0.482687645283,0.482603677503,0.482519705287,0.482435728636,0.482351747551,0.482267762031,0.482183772079,0.482099777695,0.482015778879,0.481931775633,0.481847767957,0.481763755852,0.481679739319,0.481595718358,0.48151169297,0.481427663157,0.481343628918,0.481259590255,0.481175547168,0.481091499659,0.481007447727,0.480923391374,0.4808393306,0.480755265407,0.480671195795,0.480587121764,0.480503043316,0.480418960451,0.480334873171,0.480250781475,0.480166685365,0.480082584841,0.479998479905,0.479914370556,0.479830256797,0.479746138626,0.479662016046,0.479577889057,0.47949375766,0.479409621856,0.479325481644,0.479241337027,0.479157188005,0.479073034579,0.478988876749,0.478904714516,0.478820547881,0.478736376845,0.478652201409,0.478568021573,0.478483837338,0.478399648705,0.478315455675,0.478231258248,0.478147056425,0.478062850207,0.477978639595,0.477894424589,0.477810205191,0.477725981401,0.47764175322,0.477557520648,0.477473283687,0.477389042337,0.477304796598,0.477220546473,0.477136291961,0.477052033063,0.47696776978,0.476883502114,0.476799230063,0.47671495363,0.476630672816,0.47654638762,0.476462098044,0.476377804088,0.476293505753,0.476209203041,0.476124895951,0.476040584485,0.475956268643,0.475871948427,0.475787623836,0.475703294872,0.475618961535,0.475534623827,0.475450281747,0.475365935297,0.475281584478,0.47519722929,0.475112869735,0.475028505812,0.474944137522,0.474859764868,0.474775387848,0.474691006464,0.474606620717,0.474522230608,0.474437836137,0.474353437305,0.474269034112,0.474184626561,0.474100214651,0.474015798383,0.473931377757,0.473846952776,0.473762523439,0.473678089748,0.473593651702,0.473509209303,0.473424762552,0.47334031145,0.473255855996,0.473171396192,0.473086932039,0.473002463538,0.472917990689,0.472833513493,0.47274903195,0.472664546063,0.47258005583,0.472495561254,0.472411062335,0.472326559073,0.47224205147,0.472157539526,0.472073023242,0.471988502619,0.471903977658,0.471819448359,0.471734914723,0.471650376751,0.471565834443,0.471481287802,0.471396736826,0.471312181517,0.471227621877,0.471143057904,0.471058489601,0.470973916969,0.470889340007,0.470804758717,0.470720173099,0.470635583155,0.470550988884,0.470466390289,0.470381787369,0.470297180125,0.470212568558,0.47012795267,0.47004333246,0.469958707929,0.469874079079,0.46978944591,0.469704808422,0.469620166617,0.469535520496,0.469450870058,0.469366215306,0.469281556239,0.469196892859,0.469112225165,0.46902755316,0.468942876844,0.468858196217,0.468773511281,0.468688822036,0.468604128483,0.468519430622,0.468434728455,0.468350021982,0.468265311204,0.468180596122,0.468095876736,0.468011153048,0.467926425058,0.467841692767,0.467756956176,0.467672215285,0.467587470095,0.467502720608,0.467417966823,0.467333208742,0.467248446365,0.467163679694,0.467078908728,0.466994133469,0.466909353917,0.466824570074,0.46673978194,0.466654989516,0.466570192802,0.466485391799,0.466400586509,0.466315776932,0.466230963068,0.466146144919,0.466061322486,0.465976495768,0.465891664767,0.465806829484,0.465721989919,0.465637146073,0.465552297948,0.465467445543,0.46538258886,0.465297727898,0.46521286266,0.465127993146,0.465043119357,0.464958241293,0.464873358955,0.464788472344,0.464703581461,0.464618686306,0.464533786881,0.464448883186,0.464363975222,0.464279062989,0.464194146489,0.464109225722,0.464024300689,0.463939371391,0.463854437828,0.463769500002,0.463684557913,0.463599611562,0.463514660949,0.463429706076,0.463344746944,0.463259783552,0.463174815902,0.463089843995,0.463004867831,0.462919887411,0.462834902736,0.462749913807,0.462664920624,0.462579923189,0.462494921502,0.462409915563,0.462324905375,0.462239890936,0.462154872249,0.462069849314,0.461984822131,0.461899790702,0.461814755028,0.461729715108,0.461644670945,0.461559622538,0.461474569888,0.461389512997,0.461304451865,0.461219386492,0.46113431688,0.46104924303,0.460964164941,0.460879082616,0.460793996054,0.460708905256,0.460623810224,0.460538710958,0.460453607459,0.460368499727,0.460283387764,0.46019827157,0.460113151146,0.460028026493,0.459942897611,0.459857764501,0.459772627165,0.459687485602,0.459602339814,0.459517189802,0.459432035566,0.459346877106,0.459261714425,0.459176547522,0.459091376398,0.459006201055,0.458921021492,0.458835837712,0.458750649713,0.458665457498,0.458580261067,0.458495060421,0.45840985556,0.458324646486,0.458239433199,0.4581542157,0.45806899399,0.457983768069,0.457898537938,0.457813303599,0.457728065051,0.457642822297,0.457557575335,0.457472324168,0.457387068796,0.457301809219,0.45721654544,0.457131277457,0.457046005273,0.456960728888,0.456875448302,0.456790163517,0.456704874533,0.456619581351,0.456534283972,0.456448982397,0.456363676626,0.45627836666,0.456193052501,0.456107734148,0.456022411602,0.455937084865,0.455851753937,0.455766418819,0.455681079512,0.455595736016,0.455510388333,0.455425036462,0.455339680406,0.455254320163,0.455168955737,0.455083587126,0.454998214333,0.454912837357,0.4548274562,0.454742070862,0.454656681344,0.454571287647,0.454485889772,0.454400487719,0.45431508149,0.454229671084,0.454144256504,0.454058837749,0.45397341482,0.453887987718,0.453802556445,0.453717121,0.453631681385,0.4535462376,0.453460789646,0.453375337524,0.453289881235,0.453204420779,0.453118956157,0.453033487371,0.45294801442,0.452862537306,0.452777056029,0.452691570591,0.452606080991,0.452520587231,0.452435089312,0.452349587234,0.452264080998,0.452178570605,0.452093056055,0.45200753735,0.451922014491,0.451836487477,0.45175095631,0.451665420991,0.45157988152,0.451494337898,0.451408790127,0.451323238206,0.451237682136,0.451152121919,0.451066557555,0.450980989045,0.45089541639,0.45080983959,0.450724258646,0.450638673559,0.45055308433,0.45046749096,0.450381893449,0.450296291799,0.450210686009,0.450125076081,0.450039462016,0.449953843814,0.449868221476,0.449782595003,0.449696964395,0.449611329655,0.449525690781,0.449440047776,0.449354400639,0.449268749372,0.449183093975,0.44909743445,0.449011770796,0.448926103016,0.448840431109,0.448754755076,0.448669074918,0.448583390637,0.448497702232,0.448412009704,0.448326313055,0.448240612285,0.448154907395,0.448069198386,0.447983485257,0.447897768012,0.447812046649,0.44772632117,0.447640591575,0.447554857866,0.447469120043,0.447383378108,0.447297632059,0.4472118819,0.447126127629,0.447040369249,0.44695460676,0.446868840162,0.446783069457,0.446697294645,0.446611515728,0.446525732705,0.446439945577,0.446354154346,0.446268359013,0.446182559577,0.44609675604,0.446010948403,0.445925136666,0.44583932083,0.445753500896,0.445667676865,0.445581848737,0.445496016514,0.445410180196,0.445324339783,0.445238495278,0.44515264668,0.44506679399,0.444980937209,0.444895076338,0.444809211377,0.444723342328,0.444637469191,0.444551591967,0.444465710657,0.444379825262,0.444293935782,0.444208042218,0.44412214457,0.444036242841,0.44395033703,0.443864427139,0.443778513167,0.443692595117,0.443606672988,0.443520746781,0.443434816498,0.443348882139,0.443262943705,0.443177001196,0.443091054614,0.443005103959,0.442919149232,0.442833190433,0.442747227565,0.442661260626,0.442575289619,0.442489314544,0.442403335401,0.442317352192,0.442231364918,0.442145373578,0.442059378174,0.441973378707,0.441887375178,0.441801367586,0.441715355934,0.441629340222,0.44154332045,0.44145729662,0.441371268732,0.441285236787,0.441199200785,0.441113160729,0.441027116617,0.440941068452,0.440855016234,0.440768959964,0.440682899642,0.440596835269,0.440510766847,0.440424694375,0.440338617856,0.440252537288,0.440166452675,0.440080364015,0.43999427131,0.43990817456,0.439822073767,0.439735968932,0.439649860054,0.439563747135,0.439477630176,0.439391509178,0.43930538414,0.439219255065,0.439133121952,0.439046984803,0.438960843618,0.438874698398,0.438788549145,0.438702395858,0.438616238539,0.438530077188,0.438443911806,0.438357742394,0.438271568952,0.438185391483,0.438099209985,0.438013024461,0.43792683491,0.437840641334,0.437754443734,0.43766824211,0.437582036463,0.437495826794,0.437409613103,0.437323395392,0.437237173661,0.437150947911,0.437064718143,0.436978484357,0.436892246555,0.436806004737,0.436719758904,0.436633509057,0.436547255196,0.436460997323,0.436374735438,0.436288469542,0.436202199635,0.436115925719,0.436029647794,0.435943365862,0.435857079922,0.435770789976,0.435684496025,0.435598198069,0.435511896108,0.435425590145,0.43533928018,0.435252966213,0.435166648245,0.435080326277,0.43499400031,0.434907670344,0.434821336381,0.434734998422,0.434648656466,0.434562310515,0.43447596057,0.434389606631,0.434303248699,0.434216886775,0.43413052086,0.434044150955,0.43395777706,0.433871399176,0.433785017304,0.433698631444,0.433612241599,0.433525847767,0.433439449951,0.433353048151,0.433266642367,0.433180232601,0.433093818853,0.433007401124,0.432920979416,0.432834553727,0.432748124061,0.432661690416,0.432575252795,0.432488811198,0.432402365625,0.432315916077,0.432229462556,0.432143005062,0.432056543596,0.431970078158,0.43188360875,0.431797135372,0.431710658025,0.43162417671,0.431537691427,0.431451202178,0.431364708963,0.431278211783,0.431191710639,0.431105205531,0.431018696461,0.430932183429,0.430845666436,0.430759145483,0.43067262057,0.430586091698,0.430499558869,0.430413022083,0.43032648134,0.430239936642,0.430153387989,0.430066835383,0.429980278823,0.429893718311,0.429807153847,0.429720585433,0.429634013069,0.429547436756,0.429460856494,0.429374272285,0.42928768413,0.429201092028,0.429114495981,0.42902789599,0.428941292055,0.428854684178,0.428768072359,0.428681456598,0.428594836897,0.428508213257,0.428421585678,0.428334954161,0.428248318707,0.428161679316,0.42807503599,0.427988388729,0.427901737534,0.427815082406,0.427728423345,0.427641760353,0.42755509343,0.427468422577,0.427381747795,0.427295069085,0.427208386447,0.427121699882,0.427035009391,0.426948314975,0.426861616634,0.42677491437,0.426688208183,0.426601498074,0.426514784044,0.426428066093,0.426341344223,0.426254618434,0.426167888727,0.426081155102,0.425994417562,0.425907676105,0.425820930734,0.425734181448,0.42564742825,0.425560671138,0.425473910116,0.425387145182,0.425300376338,0.425213603585,0.425126826924,0.425040046355,0.424953261879,0.424866473496,0.424779681209,0.424692885017,0.424606084922,0.424519280923,0.424432473023,0.424345661221,0.424258845519,0.424172025917,0.424085202416,0.423998375017,0.42391154372,0.423824708528,0.423737869439,0.423651026456,0.423564179578,0.423477328807,0.423390474144,0.423303615589,0.423216753143,0.423129886807,0.423043016581,0.422956142467,0.422869264466,0.422782382577,0.422695496802,0.422608607142,0.422521713598,0.422434816169,0.422347914858,0.422261009665,0.42217410059,0.422087187635,0.4220002708,0.421913350086,0.421826425494,0.421739497024,0.421652564679,0.421565628457,0.42147868836,0.42139174439,0.421304796545,0.421217844829,0.42113088924,0.421043929781,0.420956966452,0.420869999253,0.420783028186,0.42069605325,0.420609074448,0.42052209178,0.420435105247,0.420348114849,0.420261120587,0.420174122462,0.420087120475,0.420000114627,0.419913104918,0.419826091349,0.419739073922,0.419652052636,0.419565027493,0.419477998493,0.419390965638,0.419303928928,0.419216888363,0.419129843945,0.419042795675,0.418955743553,0.41886868758,0.418781627757,0.418694564084,0.418607496563,0.418520425194,0.418433349978,0.418346270916,0.418259188009,0.418172101257,0.418085010662,0.417997916223,0.417910817942,0.41782371582,0.417736609858,0.417649500055,0.417562386414,0.417475268935,0.417388147618,0.417301022464,0.417213893475,0.417126760651,0.417039623993,0.416952483502,0.416865339178,0.416778191022,0.416691039035,0.416603883218,0.416516723572,0.416429560098,0.416342392795,0.416255221666,0.41616804671,0.41608086793,0.415993685324,0.415906498895,0.415819308643,0.415732114569,0.415644916674,0.415557714958,0.415470509422,0.415383300068,0.415296086895,0.415208869905,0.415121649098,0.415034424476,0.414947196039,0.414859963788,0.414772727723,0.414685487846,0.414598244157,0.414510996658,0.414423745348,0.414336490229,0.414249231301,0.414161968566,0.414074702024,0.413987431676,0.413900157523,0.413812879565,0.413725597803,0.413638312238,0.413551022872,0.413463729704,0.413376432736,0.413289131968,0.413201827401,0.413114519036,0.413027206874,0.412939890915,0.412852571161,0.412765247612,0.412677920268,0.412590589132,0.412503254203,0.412415915483,0.412328572971,0.41224122667,0.412153876579,0.4120665227,0.411979165034,0.41189180358,0.41180443834,0.411717069316,0.411629696507,0.411542319914,0.411454939538,0.411367555381,0.411280167442,0.411192775723,0.411105380224,0.411017980946,0.410930577891,0.410843171058,0.410755760449,0.410668346064,0.410580927905,0.410493505971,0.410406080264,0.410318650785,0.410231217535,0.410143780514,0.410056339722,0.409968895162,0.409881446833,0.409793994737,0.409706538874,0.409619079245,0.409531615851,0.409444148692,0.40935667777,0.409269203086,0.409181724639,0.409094242431,0.409006756463,0.408919266736,0.40883177325,0.408744276005,0.408656775004,0.408569270247,0.408481761734,0.408394249466,0.408306733445,0.40821921367,0.408131690143,0.408044162865,0.407956631836,0.407869097057,0.407781558529,0.407694016253,0.40760647023,0.40751892046,0.407431366944,0.407343809683,0.407256248677,0.407168683929,0.407081115438,0.406993543204,0.40690596723,0.406818387516,0.406730804063,0.40664321687,0.40655562594,0.406468031273,0.40638043287,0.406292830732,0.406205224859,0.406117615252,0.406030001912,0.40594238484,0.405854764037,0.405767139503,0.40567951124,0.405591879248,0.405504243527,0.405416604079,0.405328960905,0.405241314005,0.40515366338,0.405066009031,0.404978350959,0.404890689164,0.404803023648,0.40471535441,0.404627681453,0.404540004777,0.404452324382,0.404364640269,0.404276952439,0.404189260894,0.404101565633,0.404013866658,0.403926163969,0.403838457568,0.403750747454,0.403663033629,0.403575316094,0.403487594849,0.403399869896,0.403312141235,0.403224408866,0.403136672791,0.40304893301,0.402961189525,0.402873442336,0.402785691444,0.402697936849,0.402610178553,0.402522416556,0.402434650859,0.402346881464,0.402259108369,0.402171331578,0.40208355109,0.401995766905,0.401907979026,0.401820187453,0.401732392186,0.401644593226,0.401556790575,0.401468984233,0.4013811742,0.401293360478,0.401205543067,0.401117721969,0.401029897184,0.400942068712,0.400854236555,0.400766400714,0.400678561188,0.40059071798,0.40050287109,0.400415020518,0.400327166266,0.400239308334,0.400151446723,0.400063581434,0.399975712468,0.399887839825,0.399799963506,0.399712083513,0.399624199846,0.399536312505,0.399448421492,0.399360526807,0.399272628452,0.399184726426,0.399096820731,0.399008911368,0.398920998337,0.398833081639,0.398745161276,0.398657237247,0.398569309554,0.398481378197,0.398393443177,0.398305504496,0.398217562153,0.39812961615,0.398041666488,0.397953713167,0.397865756188,0.397777795552,0.397689831259,0.397601863311,0.397513891709,0.397425916452,0.397337937543,0.397249954981,0.397161968768,0.397073978904,0.39698598539,0.396897988228,0.396809987417,0.396721982958,0.396633974854,0.396545963103,0.396457947707,0.396369928668,0.396281905985,0.396193879659,0.396105849692,0.396017816083,0.395929778835,0.395841737947,0.395753693421,0.395665645257,0.395577593457,0.39548953802,0.395401478948,0.395313416241,0.395225349901,0.395137279928,0.395049206323,0.394961129087,0.394873048221,0.394784963724,0.394696875599,0.394608783847,0.394520688466,0.39443258946,0.394344486828,0.394256380571,0.394168270691,0.394080157187,0.393992040061,0.393903919314,0.393815794945,0.393727666957,0.39363953535,0.393551400125,0.393463261282,0.393375118823,0.393286972747,0.393198823057,0.393110669753,0.393022512835,0.392934352304,0.392846188162,0.392758020409,0.392669849046,0.392581674073,0.392493495492,0.392405313303,0.392317127507,0.392228938105,0.392140745098,0.392052548486,0.391964348271,0.391876144453,0.391787937033,0.391699726011,0.391611511389,0.391523293168,0.391435071348,0.391346845929,0.391258616914,0.391170384302,0.391082148095,0.390993908293,0.390905664897,0.390817417908,0.390729167326,0.390640913153,0.39055265539,0.390464394036,0.390376129094,0.390287860563,0.390199588444,0.39011131274,0.390023033449,0.389934750573,0.389846464113,0.38975817407,0.389669880444,0.389581583236,0.389493282448,0.389404978079,0.389316670131,0.389228358604,0.3891400435,0.389051724819,0.388963402562,0.388875076729,0.388786747322,0.388698414342,0.388610077788,0.388521737663,0.388433393966,0.388345046699,0.388256695862,0.388168341457,0.388079983483,0.387991621943,0.387903256836,0.387814888164,0.387726515926,0.387638140125,0.387549760761,0.387461377835,0.387372991347,0.387284601299,0.38719620769,0.387107810523,0.387019409797,0.386931005514,0.386842597675,0.38675418628,0.386665771329,0.386577352825,0.386488930767,0.386400505157,0.386312075995,0.386223643282,0.386135207019,0.386046767207,0.385958323846,0.385869876938,0.385781426482,0.385692972481,0.385604514935,0.385516053844,0.38542758921,0.385339121032,0.385250649313,0.385162174053,0.385073695252,0.384985212912,0.384896727034,0.384808237617,0.384719744663,0.384631248173,0.384542748148,0.384454244587,0.384365737494,0.384277226867,0.384188712707,0.384100195017,0.384011673796,0.383923149045,0.383834620765,0.383746088957,0.383657553622,0.38356901476,0.383480472373,0.383391926461,0.383303377024,0.383214824065,0.383126267583,0.383037707579,0.382949144055,0.382860577011,0.382772006447,0.382683432365,0.382594854766,0.382506273649,0.382417689017,0.38232910087,0.382240509209,0.382151914034,0.382063315346,0.381974713147,0.381886107436,0.381797498215,0.381708885485,0.381620269247,0.3815316495,0.381443026247,0.381354399487,0.381265769222,0.381177135453,0.38108849818,0.380999857404,0.380911213126,0.380822565346,0.380733914067,0.380645259287,0.380556601009,0.380467939233,0.380379273959,0.38029060519,0.380201932924,0.380113257164,0.38002457791,0.379935895163,0.379847208924,0.379758519193,0.379669825972,0.37958112926,0.37949242906,0.379403725372,0.379315018196,0.379226307533,0.379137593385,0.379048875752,0.378960154634,0.378871430034,0.37878270195,0.378693970385,0.37860523534,0.378516496814,0.378427754809,0.378339009325,0.378250260364,0.378161507926,0.378072752012,0.377983992623,0.37789522976,0.377806463423,0.377717693613,0.377628920332,0.377540143579,0.377451363356,0.377362579664,0.377273792503,0.377185001874,0.377096207778,0.377007410216,0.376918609189,0.376829804697,0.376740996741,0.376652185323,0.376563370442,0.3764745521,0.376385730298,0.376296905036,0.376208076315,0.376119244136,0.3760304085,0.375941569407,0.375852726859,0.375763880856,0.375675031399,0.375586178489,0.375497322127,0.375408462313,0.375319599049,0.375230732334,0.375141862171,0.37505298856,0.374964111501,0.374875230995,0.374786347044,0.374697459647,0.374608568807,0.374519674523,0.374430776797,0.374341875629,0.37425297102,0.374164062971,0.374075151483,0.373986236557,0.373897318193,0.373808396392,0.373719471155,0.373630542483,0.373541610377,0.373452674837,0.373363735864,0.37327479346,0.373185847624,0.373096898359,0.373007945663,0.37291898954,0.372830029988,0.37274106701,0.372652100605,0.372563130775,0.37247415752,0.372385180842,0.372296200741,0.372207217218,0.372118230273,0.372029239908,0.371940246124,0.37185124892,0.371762248299,0.371673244261,0.371584236806,0.371495225936,0.371406211651,0.371317193952,0.37122817284,0.371139148316,0.37105012038,0.370961089034,0.370872054278,0.370783016113,0.37069397454,0.370604929559,0.370515881172,0.370426829379,0.370337774182,0.37024871558,0.370159653575,0.370070588168,0.369981519359,0.369892447149,0.369803371539,0.36971429253,0.369625210123,0.369536124318,0.369447035117,0.36935794252,0.369268846527,0.369179747141,0.369090644361,0.369001538188,0.368912428624,0.368823315668,0.368734199323,0.368645079588,0.368555956464,0.368466829953,0.368377700055,0.368288566771,0.368199430102,0.368110290049,0.368021146612,0.367931999792,0.36784284959,0.367753696007,0.367664539043,0.3675753787,0.367486214979,0.367397047879,0.367307877403,0.36721870355,0.367129526322,0.36704034572,0.366951161743,0.366861974394,0.366772783673,0.36668358958,0.366594392117,0.366505191284,0.366415987082,0.366326779513,0.366237568576,0.366148354272,0.366059136604,0.36596991557,0.365880691173,0.365791463412,0.365702232289,0.365612997805,0.36552375996,0.365434518755,0.365345274191,0.365256026269,0.36516677499,0.365077520354,0.364988262363,0.364899001016,0.364809736316,0.364720468262,0.364631196856,0.364541922098,0.364452643989,0.364363362531,0.364274077723,0.364184789567,0.364095498064,0.364006203213,0.363916905017,0.363827603476,0.363738298591,0.363648990362,0.36355967879,0.363470363877,0.363381045623,0.363291724029,0.363202399096,0.363113070824,0.363023739214,0.362934404268,0.362845065985,0.362755724367,0.362666379415,0.36257703113,0.362487679511,0.362398324561,0.36230896628,0.362219604668,0.362130239727,0.362040871458,0.36195149986,0.361862124936,0.361772746685,0.361683365109,0.361593980209,0.361504591985,0.361415200438,0.361325805568,0.361236407378,0.361147005867,0.361057601037,0.360968192888,0.360878781421,0.360789366637,0.360699948537,0.360610527121,0.36052110239,0.360431674346,0.360342242988,0.360252808319,0.360163370338,0.360073929046,0.359984484445,0.359895036535,0.359805585317,0.359716130791,0.359626672959,0.359537211822,0.35944774738,0.359358279633,0.359268808584,0.359179334232,0.359089856579,0.359000375625,0.358910891371,0.358821403819,0.358731912968,0.358642418819,0.358552921374,0.358463420634,0.358373916598,0.358284409268,0.358194898645,0.35810538473,0.358015867523,0.357926347025,0.357836823237,0.35774729616,0.357657765795,0.357568232142,0.357478695203,0.357389154977,0.357299611467,0.357210064672,0.357120514594,0.357030961233,0.356941404591,0.356851844668,0.356762281464,0.356672714982,0.35658314522,0.356493572182,0.356403995866,0.356314416274,0.356224833408,0.356135247267,0.356045657852,0.355956065165,0.355866469205,0.355776869975,0.355687267475,0.355597661705,0.355508052666,0.35541844036,0.355328824787,0.355239205948,0.355149583843,0.355059958474,0.354970329842,0.354880697946,0.354791062789,0.35470142437,0.354611782691,0.354522137753,0.354432489556,0.354342838101,0.354253183389,0.35416352542,0.354073864197,0.353984199719,0.353894531987,0.353804861002,0.353715186765,0.353625509277,0.353535828538,0.353446144549,0.353356457312,0.353266766827,0.353177073095,0.353087376116,0.352997675892,0.352907972424,0.352818265711,0.352728555755,0.352638842557,0.352549126118,0.352459406438,0.352369683519,0.35227995736,0.352190227964,0.35210049533,0.35201075946,0.351921020354,0.351831278013,0.351741532439,0.351651783631,0.351562031591,0.35147227632,0.351382517818,0.351292756086,0.351202991125,0.351113222935,0.351023451519,0.350933676876,0.350843899007,0.350754117913,0.350664333596,0.350574546055,0.350484755292,0.350394961307,0.350305164101,0.350215363675,0.350125560031,0.350035753168,0.349945943087,0.34985612979,0.349766313277,0.349676493549,0.349586670607,0.349496844452,0.349407015084,0.349317182505,0.349227346714,0.349137507714,0.349047665505,0.348957820087,0.348867971461,0.348778119629,0.348688264591,0.348598406348,0.3485085449,0.348418680249,0.348328812396,0.348238941341,0.348149067085,0.348059189629,0.347969308973,0.347879425119,0.347789538067,0.347699647819,0.347609754375,0.347519857735,0.347429957901,0.347340054874,0.347250148654,0.347160239242,0.347070326639,0.346980410846,0.346890491863,0.346800569692,0.346710644334,0.346620715788,0.346530784056,0.346440849139,0.346350911038,0.346260969753,0.346171025285,0.346081077636,0.345991126805,0.345901172794,0.345811215604,0.345721255235,0.345631291688,0.345541324964,0.345451355064,0.345361381989,0.345271405739,0.345181426316,0.345091443719,0.345001457951,0.344911469012,0.344821476902,0.344731481622,0.344641483174,0.344551481559,0.344461476776,0.344371468826,0.344281457712,0.344191443433,0.34410142599,0.344011405384,0.343921381616,0.343831354687,0.343741324598,0.343651291349,0.343561254941,0.343471215375,0.343381172652,0.343291126773,0.343201077738,0.343111025549,0.343020970206,0.34293091171,0.342840850062,0.342750785262,0.342660717312,0.342570646212,0.342480571964,0.342390494567,0.342300414024,0.342210330333,0.342120243498,0.342030153518,0.341940060393,0.341849964126,0.341759864717,0.341669762166,0.341579656475,0.341489547644,0.341399435674,0.341309320566,0.34121920232,0.341129080939,0.341038956421,0.340948828769,0.340858697983,0.340768564064,0.340678427013,0.34058828683,0.340498143517,0.340407997074,0.340317847501,0.340227694801,0.340137538974,0.340047380019,0.33995721794,0.339867052735,0.339776884407,0.339686712955,0.339596538381,0.339506360686,0.33941617987,0.339325995934,0.339235808879,0.339145618705,0.339055425415,0.338965229008,0.338875029485,0.338784826848,0.338694621096,0.338604412231,0.338514200254,0.338423985165,0.338333766966,0.338243545656,0.338153321238,0.338063093711,0.337972863077,0.337882629336,0.33779239249,0.337702152538,0.337611909483,0.337521663324,0.337431414063,0.337341161701,0.337250906237,0.337160647674,0.337070386011,0.33698012125,0.336889853392,0.336799582437,0.336709308387,0.336619031241,0.336528751001,0.336438467668,0.336348181243,0.336257891726,0.336167599118,0.33607730342,0.335987004633,0.335896702757,0.335806397794,0.335716089745,0.335625778609,0.335535464389,0.335445147085,0.335354826697,0.335264503226,0.335174176674,0.335083847041,0.334993514328,0.334903178536,0.334812839666,0.334722497718,0.334632152693,0.334541804592,0.334451453417,0.334361099167,0.334270741844,0.334180381448,0.33409001798,0.333999651442,0.333909281834,0.333818909156,0.33372853341,0.333638154596,0.333547772716,0.33345738777,0.333366999759,0.333276608683,0.333186214544,0.333095817343,0.333005417079,0.332915013755,0.332824607371,0.332734197927,0.332643785426,0.332553369866,0.33246295125,0.332372529578,0.33228210485,0.332191677069,0.332101246234,0.332010812346,0.331920375407,0.331829935416,0.331739492376,0.331649046286,0.331558597148,0.331468144962,0.33137768973,0.331287231451,0.331196770128,0.33110630576,0.331015838349,0.330925367895,0.330834894399,0.330744417862,0.330653938285,0.330563455669,0.330472970014,0.330382481322,0.330291989593,0.330201494828,0.330110997028,0.330020496193,0.329929992325,0.329839485424,0.329748975492,0.329658462529,0.329567946535,0.329477427512,0.329386905461,0.329296380382,0.329205852276,0.329115321144,0.329024786987,0.328934249806,0.328843709601,0.328753166373,0.328662620124,0.328572070854,0.328481518563,0.328390963253,0.328300404925,0.328209843579,0.328119279216,0.328028711837,0.327938141443,0.327847568035,0.327756991613,0.327666412179,0.327575829733,0.327485244275,0.327394655808,0.327304064331,0.327213469845,0.327122872352,0.327032271853,0.326941668347,0.326851061836,0.32676045232,0.326669839801,0.32657922428,0.326488605756,0.326397984232,0.326307359707,0.326216732183,0.326126101661,0.32603546814,0.325944831623,0.32585419211,0.325763549602,0.325672904099,0.325582255603,0.325491604115,0.325400949634,0.325310292162,0.3252196317,0.325128968249,0.32503830181,0.324947632382,0.324856959968,0.324766284568,0.324675606182,0.324584924813,0.324494240459,0.324403553123,0.324312862805,0.324222169507,0.324131473228,0.324040773969,0.323950071732,0.323859366518,0.323768658326,0.323677947159,0.323587233016,0.3234965159,0.323405795809,0.323315072746,0.323224346711,0.323133617705,0.323042885729,0.322952150783,0.322861412869,0.322770671988,0.322679928139,0.322589181325,0.322498431545,0.322407678801,0.322316923094,0.322226164423,0.322135402791,0.322044638198,0.321953870645,0.321863100133,0.321772326662,0.321681550233,0.321590770847,0.321499988506,0.321409203209,0.321318414958,0.321227623754,0.321136829597,0.321046032488,0.320955232428,0.320864429418,0.320773623458,0.320682814551,0.320592002695,0.320501187893,0.320410370144,0.320319549451,0.320228725813,0.320137899232,0.320047069708,0.319956237242,0.319865401836,0.319774563489,0.319683722203,0.319592877978,0.319502030816,0.319411180717,0.319320327682,0.319229471712,0.319138612808,0.31904775097,0.318956886199,0.318866018497,0.318775147864,0.318684274301,0.318593397808,0.318502518387,0.318411636039,0.318320750763,0.318229862562,0.318138971436,0.318048077385,0.317957180411,0.317866280514,0.317775377696,0.317684471956,0.317593563297,0.317502651718,0.317411737221,0.317320819806,0.317229899475,0.317138976228,0.317048050065,0.316957120989,0.316866188998,0.316775254096,0.316684316281,0.316593375556,0.316502431921,0.316411485376,0.316320535923,0.316229583563,0.316138628296,0.316047670123,0.315956709045,0.315865745062,0.315774778176,0.315683808388,0.315592835698,0.315501860108,0.315410881617,0.315319900227,0.315228915938,0.315137928753,0.31504693867,0.314955945692,0.314864949818,0.314773951051,0.31468294939,0.314591944836,0.314500937391,0.314409927055,0.314318913829,0.314227897714,0.314136878711,0.31404585682,0.313954832043,0.31386380438,0.313772773831,0.313681740399,0.313590704083,0.313499664885,0.313408622805,0.313317577845,0.313226530004,0.313135479285,0.313044425687,0.312953369212,0.31286230986,0.312771247632,0.312680182529,0.312589114553,0.312498043703,0.31240696998,0.312315893386,0.312224813922,0.312133731587,0.312042646384,0.311951558312,0.311860467372,0.311769373567,0.311678276895,0.311587177359,0.311496074958,0.311404969695,0.311313861569,0.311222750581,0.311131636733,0.311040520025,0.310949400458,0.310858278032,0.31076715275,0.31067602461,0.310584893616,0.310493759766,0.310402623062,0.310311483506,0.310220341096,0.310129195836,0.310038047725,0.309946896764,0.309855742954,0.309764586295,0.30967342679,0.309582264438,0.309491099241,0.309399931198,0.309308760312,0.309217586583,0.309126410011,0.309035230598,0.308944048345,0.308852863252,0.308761675319,0.308670484549,0.308579290942,0.308488094498,0.308396895218,0.308305693104,0.308214488156,0.308123280375,0.308032069761,0.307940856317,0.307849640042,0.307758420937,0.307667199003,0.307575974241,0.307484746652,0.307393516237,0.307302282996,0.307211046931,0.307119808042,0.307028566329,0.306937321795,0.306846074439,0.306754824263,0.306663571267,0.306572315453,0.30648105682,0.306389795371,0.306298531105,0.306207264024,0.306115994128,0.306024721418,0.305933445896,0.305842167561,0.305750886415,0.305659602459,0.305568315693,0.305477026119,0.305385733736,0.305294438547,0.305203140551,0.30511183975,0.305020536145,0.304929229735,0.304837920523,0.304746608509,0.304655293694,0.304563976079,0.304472655663,0.30438133245,0.304290006438,0.30419867763,0.304107346025,0.304016011625,0.303924674431,0.303833334443,0.303741991662,0.30365064609,0.303559297726,0.303467946572,0.303376592629,0.303285235897,0.303193876377,0.30310251407,0.303011148978,0.3029197811,0.302828410438,0.302737036992,0.302645660763,0.302554281753,0.302462899962,0.30237151539,0.302280128039,0.30218873791,0.302097345003,0.302005949319,0.301914550859,0.301823149625,0.301731745615,0.301640338833,0.301548929277,0.30145751695,0.301366101852,0.301274683984,0.301183263347,0.301091839941,0.301000413768,0.300908984828,0.300817553122,0.300726118651,0.300634681416,0.300543241417,0.300451798656,0.300360353133,0.30026890485,0.300177453806,0.300086000003,0.299994543442,0.299903084124,0.299811622048,0.299720157217,0.299628689631,0.299537219291,0.299445746198,0.299354270352,0.299262791754,0.299171310406,0.299079826308,0.298988339461,0.298896849865,0.298805357523,0.298713862433,0.298622364598,0.298530864018,0.298439360694,0.298347854627,0.298256345817,0.298164834266,0.298073319974,0.297981802943,0.297890283172,0.297798760664,0.297707235418,0.297615707435,0.297524176717,0.297432643264,0.297341107077,0.297249568157,0.297158026505,0.297066482122,0.296974935008,0.296883385164,0.296791832591,0.29670027729,0.296608719262,0.296517158508,0.296425595028,0.296334028823,0.296242459895,0.296150888244,0.29605931387,0.295967736775,0.29587615696,0.295784574425,0.295692989171,0.295601401199,0.295509810511,0.295418217106,0.295326620985,0.29523502215,0.295143420601,0.295051816339,0.294960209366,0.294868599681,0.294776987285,0.294685372181,0.294593754367,0.294502133846,0.294410510617,0.294318884683,0.294227256043,0.294135624698,0.29404399065,0.2939523539,0.293860714447,0.293769072293,0.293677427439,0.293585779886,0.293494129634,0.293402476684,0.293310821037,0.293219162694,0.293127501656,0.293035837924,0.292944171498,0.29285250238,0.292760830569,0.292669156068,0.292577478876,0.292485798996,0.292394116426,0.292302431169,0.292210743226,0.292119052596,0.292027359281,0.291935663282,0.2918439646,0.291752263235,0.291660559188,0.291568852461,0.291477143053,0.291385430966,0.291293716201,0.291201998759,0.291110278639,0.291018555844,0.290926830374,0.29083510223,0.290743371412,0.290651637922,0.290559901761,0.290468162928,0.290376421426,0.290284677254,0.290192930415,0.290101180908,0.290009428734,0.289917673895,0.289825916391,0.289734156223,0.289642393391,0.289550627898,0.289458859743,0.289367088927,0.289275315451,0.289183539317,0.289091760524,0.288999979074,0.288908194968,0.288816408206,0.288724618789,0.288632826719,0.288541031995,0.288449234619,0.288357434592,0.288265631915,0.288173826587,0.288082018611,0.287990207987,0.287898394715,0.287806578798,0.287714760235,0.287622939027,0.287531115176,0.287439288681,0.287347459545,0.287255627767,0.287163793349,0.287071956291,0.286980116595,0.286888274261,0.286796429289,0.286704581682,0.286612731439,0.286520878562,0.286429023051,0.286337164908,0.286245304132,0.286153440725,0.286061574688,0.285969706022,0.285877834727,0.285785960804,0.285694084255,0.285602205079,0.285510323278,0.285418438853,0.285326551805,0.285234662133,0.28514276984,0.285050874926,0.284958977392,0.284867077238,0.284775174466,0.284683269077,0.284591361071,0.284499450449,0.284407537211,0.28431562136,0.284223702895,0.284131781818,0.284039858129,0.283947931829,0.283856002919,0.2837640714,0.283672137273,0.283580200538,0.283488261197,0.283396319249,0.283304374697,0.283212427541,0.283120477782,0.28302852542,0.282936570457,0.282844612893,0.282752652729,0.282660689967,0.282568724606,0.282476756647,0.282384786093,0.282292812942,0.282200837197,0.282108858858,0.282016877926,0.281924894402,0.281832908286,0.28174091958,0.281648928284,0.281556934399,0.281464937926,0.281372938866,0.281280937219,0.281188932988,0.281096926171,0.281004916771,0.280912904788,0.280820890222,0.280728873076,0.280636853349,0.280544831042,0.280452806157,0.280360778694,0.280268748654,0.280176716038,0.280084680846,0.27999264308,0.279900602741,0.279808559828,0.279716514344,0.279624466288,0.279532415663,0.279440362467,0.279348306704,0.279256248372,0.279164187474,0.27907212401,0.27898005798,0.278887989387,0.278795918229,0.278703844509,0.278611768228,0.278519689385,0.278427607982,0.27833552402,0.2782434375,0.278151348422,0.278059256787,0.277967162597,0.277875065852,0.277782966552,0.277690864699,0.277598760293,0.277506653336,0.277414543828,0.277322431771,0.277230317164,0.277138200009,0.277046080306,0.276953958057,0.276861833262,0.276769705923,0.276677576039,0.276585443612,0.276493308643,0.276401171132,0.276309031081,0.27621688849,0.27612474336,0.276032595692,0.275940445487,0.275848292746,0.275756137468,0.275663979657,0.275571819311,0.275479656432,0.275387491021,0.275295323079,0.275203152607,0.275110979605,0.275018804074,0.274926626015,0.274834445429,0.274742262317,0.274650076679,0.274557888517,0.274465697831,0.274373504623,0.274281308892,0.274189110641,0.274096909869,0.274004706577,0.273912500767,0.27382029244,0.273728081595,0.273635868234,0.273543652358,0.273451433968,0.273359213064,0.273266989648,0.27317476372,0.273082535281,0.272990304331,0.272898070873,0.272805834906,0.272713596431,0.27262135545,0.272529111963,0.272436865971,0.272344617474,0.272252366475,0.272160112972,0.272067856969,0.271975598464,0.271883337459,0.271791073956,0.271698807954,0.271606539455,0.271514268459,0.271421994967,0.271329718981,0.2712374405,0.271145159527,0.271052876061,0.270960590104,0.270868301656,0.270776010718,0.270683717291,0.270591421377,0.270499122975,0.270406822087,0.270314518713,0.270222212854,0.270129904512,0.270037593687,0.269945280379,0.269852964591,0.269760646322,0.269668325573,0.269576002346,0.26948367664,0.269391348458,0.269299017799,0.269206684665,0.269114349057,0.269022010975,0.26892967042,0.268837327394,0.268744981896,0.268652633928,0.26856028349,0.268467930584,0.268375575211,0.26828321737,0.268190857063,0.268098494292,0.268006129056,0.267913761356,0.267821391194,0.26772901857,0.267636643486,0.267544265941,0.267451885937,0.267359503474,0.267267118554,0.267174731178,0.267082341345,0.266989949058,0.266897554317,0.266805157122,0.266712757475,0.266620355376,0.266527950827,0.266435543828,0.266343134379,0.266250722483,0.266158308139,0.266065891349,0.265973472113,0.265881050432,0.265788626308,0.26569619974,0.26560377073,0.265511339279,0.265418905387,0.265326469056,0.265234030286,0.265141589077,0.265049145432,0.26495669935,0.264864250833,0.264771799882,0.264679346496,0.264586890678,0.264494432428,0.264401971746,0.264309508635,0.264217043093,0.264124575124,0.264032104726,0.263939631901,0.263847156651,0.263754678975,0.263662198875,0.263569716351,0.263477231404,0.263384744036,0.263292254247,0.263199762037,0.263107267409,0.263014770362,0.262922270897,0.262829769016,0.262737264719,0.262644758006,0.26255224888,0.26245973734,0.262367223388,0.262274707024,0.262182188249,0.262089667065,0.261997143471,0.261904617469,0.26181208906,0.261719558244,0.261627025023,0.261534489397,0.261441951366,0.261349410933,0.261256868097,0.26116432286,0.261071775223,0.260979225186,0.260886672749,0.260794117915,0.260701560684,0.260609001056,0.260516439033,0.260423874615,0.260331307804,0.2602387386,0.260146167003,0.260053593015,0.259961016637,0.25986843787,0.259775856714,0.25968327317,0.259590687239,0.259498098922,0.25940550822,0.259312915133,0.259220319663,0.25912772181,0.259035121575,0.258942518959,0.258849913963,0.258757306588,0.258664696834,0.258572084703,0.258479470195,0.258386853311,0.258294234052,0.258201612419,0.258108988413,0.258016362034,0.257923733283,0.257831102162,0.257738468671,0.257645832811,0.257553194582,0.257460553986,0.257367911024,0.257275265696,0.257182618003,0.257089967946,0.256997315526,0.256904660743,0.2568120036,0.256719344096,0.256626682232,0.256534018009,0.256441351428,0.25634868249,0.256256011196,0.256163337546,0.256070661542,0.255977983184,0.255885302473,0.25579261941,0.255699933995,0.255607246231,0.255514556117,0.255421863654,0.255329168844,0.255236471686,0.255143772183,0.255051070334,0.254958366141,0.254865659605,0.254772950725,0.254680239504,0.254587525942,0.25449481004,0.254402091799,0.254309371219,0.254216648301,0.254123923047,0.254031195457,0.253938465532,0.253845733273,0.253752998681,0.253660261756,0.2535675225,0.253474780913,0.253382036996,0.25328929075,0.253196542175,0.253103791274,0.253011038046,0.252918282492,0.252825524613,0.252732764411,0.252640001886,0.252547237038,0.252454469869,0.25236170038,0.25226892857,0.252176154442,0.252083377996,0.251990599233,0.251897818154,0.25180503476,0.25171224905,0.251619461028,0.251526670692,0.251433878044,0.251341083085,0.251248285816,0.251155486238,0.251062684351,0.250969880156,0.250877073654,0.250784264847,0.250691453734,0.250598640317,0.250505824596,0.250413006573,0.250320186248,0.250227363622,0.250134538696,0.250041711471,0.249948881948,0.249856050127,0.24976321601,0.249670379597,0.249577540889,0.249484699886,0.249391856591,0.249299011003,0.249206163124,0.249113312954,0.249020460494,0.248927605746,0.248834748709,0.248741889385,0.248649027775,0.248556163879,0.248463297698,0.248370429234,0.248277558487,0.248184685457,0.248091810146,0.247998932555,0.247906052685,0.247813170535,0.247720286108,0.247627399404,0.247534510423,0.247441619168,0.247348725638,0.247255829834,0.247162931758,0.247070031409,0.24697712879,0.246884223901,0.246791316742,0.246698407315,0.24660549562,0.246512581659,0.246419665431,0.246326746939,0.246233826182,0.246140903162,0.24604797788,0.245955050336,0.245862120531,0.245769188466,0.245676254142,0.245583317561,0.245490378721,0.245397437625,0.245304494274,0.245211548668,0.245118600807,0.245025650694,0.244932698329,0.244839743712,0.244746786844,0.244653827727,0.244560866362,0.244467902748,0.244374936887,0.24428196878,0.244188998427,0.24409602583,0.24400305099,0.243910073906,0.24381709458,0.243724113014,0.243631129207,0.243538143161,0.243445154876,0.243352164353,0.243259171594,0.243166176599,0.243073179368,0.242980179903,0.242887178205,0.242794174274,0.242701168112,0.242608159718,0.242515149095,0.242422136243,0.242329121162,0.242236103854,0.242143084319,0.242050062558,0.241957038573,0.241864012364,0.241770983931,0.241677953276,0.2415849204,0.241491885303,0.241398847986,0.241305808451,0.241212766697,0.241119722726,0.241026676539,0.240933628137,0.24084057752,0.240747524689,0.240654469645,0.240561412389,0.240468352922,0.240375291244,0.240282227358,0.240189161262,0.240096092959,0.240003022449,0.239909949733,0.239816874811,0.239723797685,0.239630718356,0.239537636824,0.239444553091,0.239351467156,0.239258379021,0.239165288687,0.239072196155,0.238979101425,0.238886004499,0.238792905377,0.23869980406,0.238606700549,0.238513594844,0.238420486948,0.238327376859,0.23823426458,0.238141150112,0.238048033454,0.237954914608,0.237861793575,0.237768670356,0.237675544951,0.237582417362,0.237489287588,0.237396155632,0.237303021494,0.237209885174,0.237116746674,0.237023605994,0.236930463136,0.2368373181,0.236744170887,0.236651021498,0.236557869934,0.236464716195,0.236371560283,0.236278402198,0.236185241941,0.236092079513,0.235998914916,0.235905748149,0.235812579213,0.23571940811,0.23562623484,0.235533059405,0.235439881805,0.23534670204,0.235253520112,0.235160336022,0.23506714977,0.234973961358,0.234880770785,0.234787578054,0.234694383165,0.234601186118,0.234507986915,0.234414785556,0.234321582043,0.234228376376,0.234135168556,0.234041958584,0.23394874646,0.233855532186,0.233762315763,0.233669097191,0.233575876471,0.233482653604,0.233389428591,0.233296201432,0.233202972129,0.233109740683,0.233016507094,0.232923271363,0.232830033492,0.23273679348,0.232643551328,0.232550307039,0.232457060612,0.232363812048,0.232270561348,0.232177308513,0.232084053545,0.231990796442,0.231897537208,0.231804275842,0.231711012345,0.231617746719,0.231524478963,0.231431209079,0.231337937069,0.231244662931,0.231151386668,0.231058108281,0.230964827769,0.230871545135,0.230778260378,0.230684973501,0.230591684502,0.230498393385,0.230405100148,0.230311804794,0.230218507323,0.230125207735,0.230031906033,0.229938602216,0.229845296285,0.229751988242,0.229658678087,0.229565365821,0.229472051444,0.229378734959,0.229285416365,0.229192095664,0.229098772856,0.229005447942,0.228912120923,0.2288187918,0.228725460574,0.228632127245,0.228538791815,0.228445454284,0.228352114653,0.228258772924,0.228165429096,0.228072083171,0.22797873515,0.227885385033,0.227792032821,0.227698678516,0.227605322117,0.227511963627,0.227418603045,0.227325240373,0.227231875611,0.227138508761,0.227045139823,0.226951768798,0.226858395687,0.226765020491,0.22667164321,0.226578263846,0.226484882399,0.22639149887,0.22629811326,0.226204725571,0.226111335802,0.226017943954,0.22592455003,0.225831154028,0.225737755951,0.225644355799,0.225550953572,0.225457549273,0.225364142901,0.225270734458,0.225177323944,0.22508391136,0.224990496707,0.224897079986,0.224803661198,0.224710240344,0.224616817424,0.22452339244,0.224429965392,0.22433653628,0.224243105107,0.224149671873,0.224056236578,0.223962799224,0.223869359811,0.223775918341,0.223682474813,0.22358902923,0.223495581591,0.223402131898,0.223308680152,0.223215226353,0.223121770502,0.2230283126,0.222934852648,0.222841390647,0.222747926598,0.222654460502,0.222560992358,0.222467522169,0.222374049935,0.222280575658,0.222187099337,0.222093620973,0.222000140568,0.221906658123,0.221813173638,0.221719687114,0.221626198552,0.221532707953,0.221439215318,0.221345720647,0.221252223942,0.221158725203,0.221065224431,0.220971721627,0.220878216792,0.220784709927,0.220691201032,0.220597690109,0.220504177158,0.22041066218,0.220317145177,0.220223626148,0.220130105095,0.220036582018,0.219943056919,0.219849529799,0.219756000657,0.219662469496,0.219568936315,0.219475401117,0.219381863901,0.219288324668,0.21919478342,0.219101240157,0.21900769488,0.21891414759,0.218820598288,0.218727046974,0.21863349365,0.218539938316,0.218446380974,0.218352821623,0.218259260266,0.218165696902,0.218072131533,0.21797856416,0.217884994783,0.217791423403,0.217697850021,0.217604274638,0.217510697256,0.217417117873,0.217323536493,0.217229953114,0.217136367739,0.217042780369,0.216949191003,0.216855599643,0.216762006289,0.216668410944,0.216574813606,0.216481214278,0.21638761296,0.216294009653,0.216200404358,0.216106797076,0.216013187808,0.215919576553,0.215825963314,0.215732348092,0.215638730886,0.215545111698,0.215451490529,0.21535786738,0.215264242251,0.215170615143,0.215076986058,0.214983354995,0.214889721957,0.214796086943,0.214702449955,0.214608810994,0.21451517006,0.214421527154,0.214327882277,0.21423423543,0.214140586614,0.214046935829,0.213953283078,0.213859628359,0.213765971675,0.213672313026,0.213578652412,0.213484989836,0.213391325297,0.213297658797,0.213203990337,0.213110319916,0.213016647537,0.2129229732,0.212829296905,0.212735618654,0.212641938448,0.212548256288,0.212454572173,0.212360886106,0.212267198087,0.212173508116,0.212079816196,0.211986122326,0.211892426507,0.211798728741,0.211705029028,0.211611327369,0.211517623765,0.211423918217,0.211330210725,0.211236501291,0.211142789916,0.211049076599,0.210955361343,0.210861644147,0.210767925013,0.210674203942,0.210580480935,0.210486755992,0.210393029114,0.210299300302,0.210205569557,0.21011183688,0.210018102272,0.209924365734,0.209830627265,0.209736886868,0.209643144543,0.209549400292,0.209455654114,0.20936190601,0.209268155983,0.209174404032,0.209080650158,0.208986894362,0.208893136645,0.208799377009,0.208705615453,0.208611851978,0.208518086586,0.208424319278,0.208330550053,0.208236778914,0.208143005861,0.208049230894,0.207955454015,0.207861675225,0.207767894524,0.207674111913,0.207580327394,0.207486540966,0.207392752631,0.20729896239,0.207205170243,0.207111376192,0.207017580237,0.20692378238,0.20682998262,0.206736180959,0.206642377398,0.206548571937,0.206454764578,0.206360955321,0.206267144167,0.206173331118,0.206079516173,0.205985699334,0.205891880602,0.205798059977,0.20570423746,0.205610413053,0.205516586756,0.20542275857,0.205328928495,0.205235096533,0.205141262685,0.205047426951,0.204953589332,0.20485974983,0.204765908444,0.204672065176,0.204578220027,0.204484372998,0.204390524089,0.204296673301,0.204202820635,0.204108966093,0.204015109674,0.20392125138,0.203827391212,0.20373352917,0.203639665255,0.203545799469,0.203451931811,0.203358062284,0.203264190887,0.203170317622,0.203076442489,0.20298256549,0.202888686625,0.202794805895,0.202700923302,0.202607038844,0.202513152525,0.202419264344,0.202325374303,0.202231482401,0.202137588641,0.202043693023,0.201949795548,0.201855896217,0.20176199503,0.201668091988,0.201574187093,0.201480280345,0.201386371745,0.201292461294,0.201198548993,0.201104634842,0.201010718843,0.200916800996,0.200822881302,0.200728959763,0.200635036378,0.20054111115,0.200447184078,0.200353255163,0.200259324407,0.20016539181,0.200071457373,0.199977521097,0.199883582983,0.199789643032,0.199695701244,0.199601757621,0.199507812163,0.199413864871,0.199319915747,0.19922596479,0.199132012002,0.199038057383,0.198944100935,0.198850142659,0.198756182554,0.198662220623,0.198568256866,0.198474291283,0.198380323876,0.198286354646,0.198192383593,0.198098410718,0.198004436022,0.197910459507,0.197816481172,0.197722501019,0.197628519048,0.197534535261,0.197440549659,0.197346562241,0.197252573009,0.197158581965,0.197064589108,0.19697059444,0.196876597961,0.196782599672,0.196688599575,0.19659459767,0.196500593958,0.19640658844,0.196312581116,0.196218571988,0.196124561056,0.196030548321,0.195936533785,0.195842517448,0.19574849931,0.195654479373,0.195560457638,0.195466434105,0.195372408776,0.195278381651,0.19518435273,0.195090322016,0.194996289509,0.194902255209,0.194808219117,0.194714181235,0.194620141563,0.194526100103,0.194432056854,0.194338011818,0.194243964996,0.194149916388,0.194055865996,0.19396181382,0.193867759861,0.19377370412,0.193679646598,0.193585587296,0.193491526214,0.193397463354,0.193303398716,0.193209332302,0.193115264111,0.193021194145,0.192927122405,0.192833048892,0.192738973607,0.192644896549,0.192550817721,0.192456737123,0.192362654756,0.192268570621,0.192174484719,0.19208039705,0.191986307615,0.191892216416,0.191798123453,0.191704028728,0.19160993224,0.19151583399,0.191421733981,0.191327632212,0.191233528684,0.191139423398,0.191045316356,0.190951207557,0.190857097004,0.190762984696,0.190668870634,0.19057475482,0.190480637254,0.190386517938,0.190292396871,0.190198274056,0.190104149492,0.19001002318,0.189915895122,0.189821765319,0.18972763377,0.189633500478,0.189539365443,0.189445228665,0.189351090146,0.189256949887,0.189162807888,0.18906866415,0.188974518674,0.188880371462,0.188786222513,0.188692071829,0.18859791941,0.188503765258,0.188409609373,0.188315451757,0.188221292409,0.188127131332,0.188032968525,0.18793880399,0.187844637727,0.187750469738,0.187656300023,0.187562128583,0.187467955419,0.187373780531,0.187279603922,0.187185425591,0.18709124554,0.186997063768,0.186902880278,0.18680869507,0.186714508145,0.186620319504,0.186526129147,0.186431937076,0.186337743291,0.186243547794,0.186149350584,0.186055151663,0.185960951033,0.185866748693,0.185772544644,0.185678338888,0.185584131425,0.185489922257,0.185395711383,0.185301498805,0.185207284524,0.185113068541,0.185018850856,0.18492463147,0.184830410385,0.1847361876,0.184641963118,0.184547736939,0.184453509063,0.184359279491,0.184265048226,0.184170815266,0.184076580613,0.183982344269,0.183888106233,0.183793866507,0.183699625092,0.183605381988,0.183511137197,0.183416890719,0.183322642555,0.183228392705,0.183134141172,0.183039887955,0.182945633056,0.182851376475,0.182757118214,0.182662858272,0.182568596652,0.182474333353,0.182380068377,0.182285801725,0.182191533397,0.182097263395,0.182002991719,0.18190871837,0.181814443348,0.181720166656,0.181625888293,0.181531608261,0.18143732656,0.181343043192,0.181248758156,0.181154471455,0.181060183088,0.180965893058,0.180871601363,0.180777308007,0.180683012988,0.180588716309,0.18049441797,0.180400117972,0.180305816315,0.180211513002,0.180117208031,0.180022901406,0.179928593125,0.179834283191,0.179739971603,0.179645658364,0.179551343473,0.179457026932,0.179362708741,0.179268388902,0.179174067415,0.179079744281,0.1789854195,0.178891093075,0.178796765005,0.178702435292,0.178608103936,0.178513770939,0.178419436301,0.178325100022,0.178230762105,0.178136422549,0.178042081356,0.177947738526,0.177853394061,0.177759047961,0.177664700227,0.17757035086,0.177475999861,0.17738164723,0.177287292969,0.177192937079,0.177098579559,0.177004220412,0.176909859638,0.176815497238,0.176721133212,0.176626767562,0.176532400289,0.176438031393,0.176343660875,0.176249288736,0.176154914977,0.176060539599,0.175966162603,0.175871783989,0.175777403759,0.175683021913,0.175588638452,0.175494253377,0.175399866689,0.175305478389,0.175211088478,0.175116696956,0.175022303824,0.174927909083,0.174833512735,0.17473911478,0.174644715218,0.174550314051,0.17445591128,0.174361506905,0.174267100928,0.174172693348,0.174078284168,0.173983873387,0.173889461008,0.17379504703,0.173700631454,0.173606214282,0.173511795514,0.173417375152,0.173322953195,0.173228529645,0.173134104503,0.173039677769,0.172945249445,0.172850819531,0.172756388029,0.172661954938,0.172567520261,0.172473083997,0.172378646148,0.172284206714,0.172189765697,0.172095323097,0.172000878915,0.171906433152,0.171811985809,0.171717536887,0.171623086386,0.171528634308,0.171434180654,0.171339725423,0.171245268618,0.171150810238,0.171056350285,0.17096188876,0.170867425664,0.170772960997,0.17067849476,0.170584026954,0.170489557581,0.17039508664,0.170300614133,0.170206140061,0.170111664424,0.170017187224,0.169922708461,0.169828228136,0.16973374625,0.169639262803,0.169544777798,0.169450291234,0.169355803112,0.169261313434,0.1691668222,0.169072329411,0.168977835068,0.168883339172,0.168788841724,0.168694342724,0.168599842173,0.168505340073,0.168410836423,0.168316331226,0.168221824482,0.168127316191,0.168032806355,0.167938294975,0.167843782051,0.167749267584,0.167654751575,0.167560234025,0.167465714935,0.167371194305,0.167276672137,0.167182148432,0.16708762319,0.166993096412,0.166898568099,0.166804038252,0.166709506872,0.166614973959,0.166520439515,0.16642590354,0.166331366036,0.166236827003,0.166142286441,0.166047744353,0.165953200738,0.165858655598,0.165764108933,0.165669560745,0.165575011034,0.1654804598,0.165385907046,0.165291352772,0.165196796978,0.165102239666,0.165007680836,0.16491312049,0.164818558628,0.16472399525,0.164629430359,0.164534863954,0.164440296037,0.164345726609,0.16425115567,0.164156583221,0.164062009263,0.163967433797,0.163872856825,0.163778278345,0.163683698361,0.163589116871,0.163494533879,0.163399949383,0.163305363385,0.163210775887,0.163116186888,0.16302159639,0.162927004393,0.162832410899,0.162737815908,0.162643219421,0.162548621439,0.162454021963,0.162359420994,0.162264818533,0.16217021458,0.162075609136,0.161981002202,0.16188639378,0.16179178387,0.161697172472,0.161602559588,0.161507945219,0.161413329366,0.161318712028,0.161224093208,0.161129472906,0.161034851122,0.160940227859,0.160845603116,0.160750976895,0.160656349196,0.160561720021,0.160467089369,0.160372457243,0.160277823642,0.160183188569,0.160088552023,0.159993914005,0.159899274517,0.159804633559,0.159709991132,0.159615347237,0.159520701875,0.159426055047,0.159331406753,0.159236756995,0.159142105773,0.159047453088,0.158952798942,0.158858143334,0.158763486266,0.158668827739,0.158574167753,0.15847950631,0.15838484341,0.158290179054,0.158195513243,0.158100845978,0.15800617726,0.15791150709,0.157816835468,0.157722162395,0.157627487873,0.157532811902,0.157438134483,0.157343455616,0.157248775304,0.157154093546,0.157059410343,0.156964725697,0.156870039608,0.156775352077,0.156680663105,0.156585972693,0.156491280842,0.156396587552,0.156301892824,0.15620719666,0.15611249906,0.156017800025,0.155923099556,0.155828397654,0.15573369432,0.155638989554,0.155544283357,0.155449575731,0.155354866676,0.155260156193,0.155165444282,0.155070730946,0.154976016184,0.154881299997,0.154786582387,0.154691863355,0.1545971429,0.154502421024,0.154407697728,0.154312973013,0.154218246879,0.154123519328,0.154028790361,0.153934059977,0.153839328178,0.153744594966,0.15364986034,0.153555124302,0.153460386852,0.153365647992,0.153270907723,0.153176166044,0.153081422957,0.152986678464,0.152891932564,0.152797185258,0.152702436549,0.152607686435,0.152512934919,0.152418182001,0.152323427682,0.152228671963,0.152133914845,0.152039156328,0.151944396414,0.151849635103,0.151754872397,0.151660108295,0.151565342799,0.151470575911,0.15137580763,0.151281037957,0.151186266894,0.151091494442,0.1509967206,0.150901945371,0.150807168755,0.150712390752,0.150617611364,0.150522830592,0.150428048436,0.150333264897,0.150238479977,0.150143693675,0.150048905994,0.149954116933,0.149859326494,0.149764534677,0.149669741484,0.149574946915,0.149480150972,0.149385353654,0.149290554963,0.1491957549,0.149100953465,0.14900615066,0.148911346486,0.148816540942,0.148721734031,0.148626925753,0.148532116108,0.148437305099,0.148342492725,0.148247678987,0.148152863887,0.148058047424,0.147963229601,0.147868410418,0.147773589876,0.147678767976,0.147583944718,0.147489120103,0.147394294133,0.147299466808,0.147204638129,0.147109808097,0.147014976713,0.146920143977,0.146825309891,0.146730474455,0.146635637671,0.146540799539,0.14644596006,0.146351119234,0.146256277064,0.146161433549,0.146066588691,0.14597174249,0.145876894947,0.145782046064,0.14568719584,0.145592344277,0.145497491376,0.145402637138,0.145307781563,0.145212924653,0.145118066408,0.145023206829,0.144928345916,0.144833483672,0.144738620097,0.144643755191,0.144548888955,0.144454021391,0.144359152499,0.14426428228,0.144169410735,0.144074537865,0.143979663671,0.143884788153,0.143789911312,0.14369503315,0.143600153667,0.143505272865,0.143410390743,0.143315507303,0.143220622545,0.143125736471,0.143030849082,0.142935960378,0.14284107036,0.142746179029,0.142651286386,0.142556392431,0.142461497167,0.142366600593,0.14227170271,0.142176803519,0.142081903022,0.141987001219,0.14189209811,0.141797193698,0.141702287982,0.141607380963,0.141512472643,0.141417563022,0.141322652102,0.141227739882,0.141132826364,0.141037911549,0.140942995437,0.14084807803,0.140753159328,0.140658239333,0.140563318044,0.140468395464,0.140373471592,0.140278546431,0.140183619979,0.14008869224,0.139993763212,0.139898832898,0.139803901298,0.139708968412,0.139614034243,0.13951909879,0.139424162055,0.139329224038,0.139234284741,0.139139344164,0.139044402308,0.138949459173,0.138854514762,0.138759569074,0.138664622111,0.138569673873,0.138474724362,0.138379773578,0.138284821522,0.138189868194,0.138094913597,0.13799995773,0.137905000595,0.137810042192,0.137715082522,0.137620121586,0.137525159386,0.137430195921,0.137335231194,0.137240265204,0.137145297952,0.13705032944,0.136955359668,0.136860388637,0.136765416348,0.136670442802,0.136575468,0.136480491942,0.13638551463,0.136290536064,0.136195556246,0.136100575176,0.136005592854,0.135910609283,0.135815624462,0.135720638393,0.135625651076,0.135530662513,0.135435672704,0.13534068165,0.135245689352,0.135150695811,0.135055701028,0.134960705003,0.134865707738,0.134770709233,0.134675709489,0.134580708507,0.134485706288,0.134390702834,0.134295698143,0.134200692219,0.134105685061,0.13401067667,0.133915667047,0.133820656194,0.13372564411,0.133630630797,0.133535616256,0.133440600488,0.133345583493,0.133250565272,0.133155545827,0.133060525157,0.132965503265,0.13287048015,0.132775455814,0.132680430257,0.132585403481,0.132490375487,0.132395346274,0.132300315844,0.132205284199,0.132110251338,0.132015217263,0.131920181974,0.131825145473,0.13173010776,0.131635068837,0.131540028703,0.13144498736,0.131349944809,0.131254901051,0.131159856086,0.131064809916,0.130969762541,0.130874713962,0.13077966418,0.130684613196,0.13058956101,0.130494507625,0.13039945304,0.130304397256,0.130209340275,0.130114282096,0.130019222722,0.129924162153,0.129829100389,0.129734037432,0.129638973283,0.129543907942,0.12944884141,0.129353773688,0.129258704778,0.129163634679,0.129068563393,0.128973490921,0.128878417263,0.12878334242,0.128688266394,0.128593189185,0.128498110794,0.128403031222,0.128307950469,0.128212868537,0.128117785427,0.128022701139,0.127927615674,0.127832529033,0.127737441218,0.127642352228,0.127547262065,0.127452170729,0.127357078222,0.127261984545,0.127166889697,0.127071793681,0.126976696497,0.126881598145,0.126786498628,0.126691397945,0.126596296097,0.126501193086,0.126406088912,0.126310983576,0.126215877079,0.126120769422,0.126025660606,0.125930550631,0.125835439498,0.12574032721,0.125645213765,0.125550099165,0.125454983412,0.125359866505,0.125264748446,0.125169629235,0.125074508874,0.124979387363,0.124884264704,0.124789140897,0.124694015942,0.124598889842,0.124503762596,0.124408634205,0.124313504672,0.124218373995,0.124123242177,0.124028109218,0.123932975119,0.12383783988,0.123742703503,0.123647565989,0.123552427339,0.123457287552,0.123362146631,0.123267004576,0.123171861388,0.123076717068,0.122981571617,0.122886425035,0.122791277323,0.122696128483,0.122600978515,0.12250582742,0.122410675199,0.122315521853,0.122220367383,0.122125211789,0.122030055073,0.121934897235,0.121839738276,0.121744578197,0.121649416999,0.121554254683,0.12145909125,0.1213639267,0.121268761035,0.121173594255,0.121078426361,0.120983257354,0.120888087236,0.120792916006,0.120697743666,0.120602570216,0.120507395658,0.120412219992,0.120317043219,0.120221865341,0.120126686357,0.120031506269,0.119936325078,0.119841142785,0.119745959389,0.119650774894,0.119555589298,0.119460402604,0.119365214811,0.119270025921,0.119174835935,0.119079644854,0.118984452678,0.118889259408,0.118794065045,0.118698869591,0.118603673045,0.11850847541,0.118413276685,0.118318076871,0.11822287597,0.118127673983,0.118032470909,0.117937266751,0.117842061508,0.117746855183,0.117651647775,0.117556439285,0.117461229715,0.117366019066,0.117270807338,0.117175594531,0.117080380648,0.116985165688,0.116889949653,0.116794732544,0.116699514361,0.116604295106,0.116509074778,0.11641385338,0.116318630912,0.116223407374,0.116128182769,0.116032957095,0.115937730356,0.11584250255,0.11574727368,0.115652043746,0.115556812749,0.115461580689,0.115366347569,0.115271113388,0.115175878147,0.115080641848,0.114985404491,0.114890166077,0.114794926607,0.114699686081,0.114604444502,0.114509201869,0.114413958183,0.114318713446,0.114223467658,0.11412822082,0.114032972933,0.113937723998,0.113842474016,0.113747222987,0.113651970913,0.113556717794,0.113461463631,0.113366208425,0.113270952178,0.113175694889,0.113080436559,0.112985177191,0.112889916784,0.112794655339,0.112699392857,0.11260412934,0.112508864787,0.112413599201,0.112318332581,0.112223064928,0.112127796244,0.11203252653,0.111937255786,0.111841984012,0.111746711211,0.111651437383,0.111556162528,0.111460886648,0.111365609743,0.111270331815,0.111175052864,0.111079772891,0.110984491897,0.110889209883,0.11079392685,0.110698642798,0.110603357729,0.110508071643,0.110412784541,0.110317496424,0.110222207294,0.11012691715,0.110031625994,0.109936333827,0.109841040649,0.109745746461,0.109650451265,0.109555155061,0.10945985785,0.109364559632,0.10926926041,0.109173960183,0.109078658952,0.108983356719,0.108888053485,0.108792749249,0.108697444013,0.108602137778,0.108506830545,0.108411522315,0.108316213088,0.108220902865,0.108125591648,0.108030279437,0.107934966233,0.107839652036,0.107744336849,0.107649020671,0.107553703504,0.107458385348,0.107363066204,0.107267746073,0.107172424957,0.107077102855,0.106981779769,0.1068864557,0.106791130648,0.106695804615,0.106600477601,0.106505149607,0.106409820634,0.106314490683,0.106219159755,0.106123827851,0.106028494971,0.105933161116,0.105837826288,0.105742490487,0.105647153713,0.105551815969,0.105456477255,0.105361137571,0.105265796919,0.105170455299,0.105075112713,0.10497976916,0.104884424643,0.104789079162,0.104693732717,0.10459838531,0.104503036942,0.104407687613,0.104312337325,0.104216986077,0.104121633872,0.10402628071,0.103930926591,0.103835571517,0.103740215489,0.103644858507,0.103549500573,0.103454141686,0.103358781849,0.103263421062,0.103168059325,0.10307269664,0.102977333008,0.102881968429,0.102786602905,0.102691236436,0.102595869022,0.102500500666,0.102405131368,0.102309761128,0.102214389948,0.102119017829,0.10202364477,0.101928270774,0.101832895841,0.101737519973,0.101642143168,0.10154676543,0.101451386758,0.101356007154,0.101260626618,0.101165245151,0.101069862755,0.100974479429,0.100879095176,0.100783709995,0.100688323887,0.100592936854,0.100497548897,0.100402160016,0.100306770211,0.100211379485,0.100115987838,0.100020595271,0.0999252017837,0.0998298073783,0.0997344120553,0.0996390158156,0.0995436186601,0.0994482205895,0.0993528216049,0.099257421707,0.0991620208967,0.099066619175,0.0989712165427,0.0988758130007,0.0987804085498,0.098685003191,0.098589596925,0.0984941897529,0.0983987816754,0.0983033726934,0.0982079628079,0.0981125520196,0.0980171403296,0.0979217277385,0.0978263142474,0.0977308998571,0.0976354845685,0.0975400683825,0.0974446512998,0.0973492333215,0.0972538144484,0.0971583946813,0.0970629740212,0.0969675524688,0.0968721300252,0.0967767066912,0.0966812824676,0.0965858573553,0.0964904313553,0.0963950044683,0.0962995766952,0.096204148037,0.0961087184946,0.0960132880687,0.0959178567602,0.0958224245702,0.0957269914993,0.0956315575485,0.0955361227188,0.0954406870108,0.0953452504256,0.095249812964,0.0951543746269,0.0950589354152,0.0949634953296,0.0948680543712,0.0947726125408,0.0946771698393,0.0945817262675,0.0944862818264,0.0943908365167,0.0942953903394,0.0941999432954,0.0941044953855,0.0940090466106,0.0939135969716,0.0938181464694,0.0937226951048,0.0936272428788,0.0935317897921,0.0934363358457,0.0933408810405,0.0932454253773,0.093149968857,0.0930545114805,0.0929590532487,0.0928635941624,0.0927681342225,0.0926726734299,0.0925772117855,0.0924817492901,0.0923862859447,0.0922908217501,0.0921953567071,0.0920998908167,0.0920044240798,0.0919089564971,0.0918134880697,0.0917180187983,0.0916225486839,0.0915270777273,0.0914316059294,0.0913361332911,0.0912406598132,0.0911451854967,0.0910497103424,0.0909542343511,0.0908587575239,0.0907632798615,0.0906678013648,0.0905723220347,0.0904768418721,0.0903813608779,0.0902858790529,0.0901903963979,0.090094912914,0.089999428602,0.0899039434627,0.089808457497,0.0897129707058,0.08961748309,0.0895219946505,0.0894265053881,0.0893310153037,0.0892355243981,0.0891400326724,0.0890445401273,0.0889490467637,0.0888535525825,0.0887580575846,0.0886625617709,0.0885670651421,0.0884715676993,0.0883760694433,0.088280570375,0.0881850704952,0.0880895698048,0.0879940683047,0.0878985659958,0.0878030628789,0.087707558955,0.0876120542249,0.0875165486895,0.0874210423496,0.0873255352062,0.0872300272601,0.0871345185122,0.0870390089634,0.0869434986145,0.0868479874665,0.0867524755202,0.0866569627765,0.0865614492363,0.0864659349003,0.0863704197697,0.0862749038451,0.0861793871275,0.0860838696177,0.0859883513167,0.0858928322253,0.0857973123444,0.0857017916749,0.0856062702176,0.0855107479735,0.0854152249433,0.085319701128,0.0852241765285,0.0851286511456,0.0850331249803,0.0849375980333,0.0848420703056,0.0847465417981,0.0846510125116,0.0845554824469,0.0844599516051,0.0843644199869,0.0842688875933,0.0841733544251,0.0840778204832,0.0839822857685,0.0838867502818,0.083791214024,0.0836956769961,0.0836001391988,0.0835046006332,0.0834090612999,0.0833135212,0.0832179803343,0.0831224387036,0.0830268963089,0.0829313531511,0.0828358092309,0.0827402645494,0.0826447191073,0.0825491729056,0.0824536259451,0.0823580782266,0.0822625297512,0.0821669805197,0.0820714305328,0.0819758797916,0.0818803282969,0.0817847760496,0.0816892230505,0.0815936693005,0.0814981148006,0.0814025595515,0.0813070035542,0.0812114468096,0.0811158893185,0.0810203310817,0.0809247721003,0.080829212375,0.0807336519067,0.0806380906964,0.0805425287448,0.080446966053,0.0803514026216,0.0802558384517,0.0801602735441,0.0800647078997,0.0799691415193,0.0798735744039,0.0797780065543,0.0796824379714,0.0795868686561,0.0794912986092,0.0793957278317,0.0793001563244,0.0792045840882,0.0791090111239,0.0790134374325,0.0789178630148,0.0788222878717,0.0787267120041,0.0786311354128,0.0785355580988,0.078439980063,0.0783444013061,0.0782488218291,0.0781532416328,0.0780576607182,0.077962079086,0.0778664967373,0.0777709136729,0.0776753298935,0.0775797454003,0.0774841601939,0.0773885742753,0.0772929876453,0.0771974003049,0.0771018122549,0.0770062234962,0.0769106340297,0.0768150438563,0.0767194529767,0.076623861392,0.076528269103,0.0764326761105,0.0763370824155,0.0762414880189,0.0761458929214,0.076050297124,0.0759547006275,0.075859103433,0.0757635055411,0.0756679069528,0.075572307669,0.0754767076906,0.0753811070184,0.0752855056533,0.0751899035962,0.0750943008479,0.0749986974094,0.0749030932816,0.0748074884652,0.0747118829613,0.0746162767706,0.074520669894,0.0744250623325,0.0743294540868,0.074233845158,0.0741382355468,0.0740426252541,0.0739470142809,0.073851402628,0.0737557902962,0.0736601772865,0.0735645635997,0.0734689492367,0.0733733341984,0.0732777184857,0.0731821020994,0.0730864850405,0.0729908673097,0.072895248908,0.0727996298364,0.0727040100955,0.0726083896864,0.0725127686098,0.0724171468668,0.0723215244581,0.0722259013846,0.0721302776472,0.0720346532469,0.0719390281844,0.0718434024607,0.0717477760766,0.071652149033,0.0715565213308,0.0714608929708,0.0713652639541,0.0712696342813,0.0711740039534,0.0710783729714,0.070982741336,0.0708871090481,0.0707914761086,0.0706958425185,0.0706002082785,0.0705045733896,0.0704089378526,0.0703133016685,0.070217664838,0.0701220273621,0.0700263892417,0.0699307504776,0.0698351110707,0.0697394710219,0.0696438303321,0.0695481890021,0.0694525470328,0.0693569044252,0.06926126118,0.0691656172982,0.0690699727807,0.0689743276283,0.0688786818418,0.0687830354223,0.0686873883705,0.0685917406874,0.0684960923738,0.0684004434305,0.0683047938586,0.0682091436588,0.0681134928321,0.0680178413792,0.0679221893012,0.0678265365988,0.067730883273,0.0676352293246,0.0675395747545,0.0674439195637,0.0673482637529,0.067252607323,0.067156950275,0.0670612926096,0.0669656343279,0.0668699754306,0.0667743159187,0.066678655793,0.0665829950544,0.0664873337038,0.066391671742,0.06629600917,0.0662003459886,0.0661046821988,0.0660090178013,0.065913352797,0.0658176871869,0.0657220209718,0.0656263541526,0.0655306867302,0.0654350187054,0.0653393500792,0.0652436808524,0.0651480110259,0.0650523406005,0.0649566695772,0.0648609979569,0.0647653257403,0.0646696529285,0.0645739795222,0.0644783055224,0.0643826309299,0.0642869557456,0.0641912799704,0.0640956036051,0.0639999266507,0.063904249108,0.063808570978,0.0637128922614,0.0636172129592,0.0635215330722,0.0634258526014,0.0633301715475,0.0632344899116,0.0631388076944,0.0630431248968,0.0629474415198,0.0628517575642,0.0627560730308,0.0626603879206,0.0625647022345,0.0624690159732,0.0623733291378,0.062277641729,0.0621819537478,0.0620862651951,0.0619905760716,0.0618948863784,0.0617991961162,0.061703505286,0.0616078138886,0.0615121219249,0.0614164293958,0.0613207363022,0.061225042645,0.0611293484249,0.061033653643,0.0609379583001,0.0608422623971,0.0607465659348,0.0606508689141,0.0605551713359,0.0604594732012,0.0603637745107,0.0602680752653,0.060172375466,0.0600766751136,0.059980974209,0.059885272753,0.0597895707466,0.0596938681907,0.059598165086,0.0595024614335,0.0594067572341,0.0593110524886,0.059215347198,0.059119641363,0.0590239349847,0.0589282280638,0.0588325206012,0.0587368125979,0.0586411040547,0.0585453949724,0.0584496853521,0.0583539751944,0.0582582645004,0.0581625532709,0.0580668415068,0.0579711292089,0.0578754163782,0.0577797030155,0.0576839891217,0.0575882746977,0.0574925597444,0.0573968442626,0.0573011282532,0.0572054117171,0.0571096946552,0.0570139770683,0.0569182589574,0.0568225403233,0.0567268211669,0.0566311014891,0.0565353812907,0.0564396605727,0.0563439393359,0.0562482175812,0.0561524953095,0.0560567725216,0.0559610492185,0.055865325401,0.05576960107,0.0556738762264,0.055578150871,0.0554824250048,0.0553866986286,0.0552909717432,0.0551952443497,0.0550995164488,0.0550037880415,0.0549080591285,0.0548123297109,0.0547165997894,0.054620869365,0.0545251384386,0.0544294070109,0.054333675083,0.0542379426556,0.0541422097297,0.0540464763061,0.0539507423857,0.0538550079695,0.0537592730582,0.0536635376527,0.053567801754,0.0534720653629,0.0533763284804,0.0532805911071,0.0531848532442,0.0530891148924,0.0529933760526,0.0528976367257,0.0528018969125,0.0527061566141,0.0526104158311,0.0525146745646,0.0524189328154,0.0523231905843,0.0522274478723,0.0521317046803,0.052035961009,0.0519402168595,0.0518444722325,0.051748727129,0.0516529815499,0.0515572354959,0.051461488968,0.0513657419672,0.0512699944941,0.0511742465499,0.0510784981352,0.050982749251,0.0508869998982,0.0507912500777,0.0506954997903,0.0505997490369,0.0505039978184,0.0504082461357,0.0503124939897,0.0502167413812,0.0501209883111,0.0500252347803,0.0499294807897,0.0498337263401,0.0497379714325,0.0496422160677,0.0495464602466,0.0494507039701,0.049354947239,0.0492591900543,0.0491634324168,0.0490676743274,0.048971915787,0.0488761567964,0.0487803973566,0.0486846374684,0.0485888771327,0.0484931163504,0.0483973551224,0.0483015934495,0.0482058313326,0.0481100687726,0.0480143057704,0.0479185423269,0.0478227784429,0.0477270141193,0.047631249357,0.047535484157,0.0474397185199,0.0473439524469,0.0472481859386,0.0471524189961,0.0470566516201,0.0469608838116,0.0468651155715,0.0467693469005,0.0466735777997,0.0465778082699,0.0464820383119,0.0463862679267,0.0462904971151,0.046194725878,0.0460989542163,0.0460031821309,0.0459074096226,0.0458116366924,0.045715863341,0.0456200895695,0.0455243153786,0.0454285407693,0.0453327657424,0.0452369902988,0.0451412144394,0.0450454381651,0.0449496614767,0.0448538843752,0.0447581068613,0.0446623289361,0.0445665506003,0.0444707718549,0.0443749927008,0.0442792131387,0.0441834331696,0.0440876527945,0.043991872014,0.0438960908292,0.0438003092409,0.0437045272501,0.0436087448575,0.043512962064,0.0434171788706,0.0433213952781,0.0432256112874,0.0431298268994,0.043034042115,0.0429382569349,0.0428424713602,0.0427466853918,0.0426508990304,0.0425551122769,0.0424593251323,0.0423635375974,0.0422677496731,0.0421719613603,0.0420761726599,0.0419803835727,0.0418845940997,0.0417888042416,0.0416930139995,0.0415972233741,0.0415014323663,0.0414056409771,0.0413098492073,0.0412140570577,0.0411182645294,0.0410224716231,0.0409266783397,0.0408308846801,0.0407350906452,0.0406392962359,0.0405435014531,0.0404477062976,0.0403519107703,0.040256114872,0.0401603186038,0.0400645219664,0.0399687249608,0.0398729275877,0.0397771298482,0.039681331743,0.0395855332731,0.0394897344394,0.0393939352426,0.0392981356838,0.0392023357637,0.0391065354833,0.0390107348435,0.038914933845,0.0388191324889,0.0387233307759,0.038627528707,0.0385317262831,0.038435923505,0.0383401203736,0.0382443168897,0.0381485130544,0.0380527088683,0.0379569043325,0.0378610994479,0.0377652942152,0.0376694886353,0.0375736827093,0.0374778764378,0.0373820698219,0.0372862628624,0.0371904555601,0.037094647916,0.0369988399309,0.0369030316057,0.0368072229414,0.0367114139387,0.0366156045985,0.0365197949218,0.0364239849094,0.0363281745623,0.0362323638812,0.036136552867,0.0360407415207,0.0359449298431,0.0358491178351,0.0357533054976,0.0356574928315,0.0355616798376,0.0354658665169,0.0353700528701,0.0352742388982,0.0351784246021,0.0350826099826,0.0349867950407,0.0348909797772,0.034795164193,0.0346993482889,0.0346035320659,0.0345077155248,0.0344118986665,0.034316081492,0.034220264002,0.0341244461974,0.0340286280792,0.0339328096482,0.0338369909053,0.0337411718514,0.0336453524873,0.033549532814,0.0334537128323,0.0333578925431,0.0332620719473,0.0331662510457,0.0330704298393,0.0329746083289,0.0328787865154,0.0327829643997,0.0326871419827,0.0325913192652,0.0324954962481,0.0323996729324,0.0323038493188,0.0322080254083,0.0321122012018,0.0320163767,0.031920551904,0.0318247268146,0.0317289014327,0.0316330757591,0.0315372497948,0.0314414235406,0.0313455969973,0.031249770166,0.0311539430474,0.0310581156424,0.030962287952,0.030866459977,0.0307706317182,0.0306748031766,0.0305789743531,0.0304831452485,0.0303873158637,0.0302914861995,0.030195656257,0.0300998260369,0.0300039955401,0.0299081647675,0.02981233372,0.0297165023985,0.0296206708039,0.0295248389369,0.0294290067986,0.0293331743898,0.0292373417114,0.0291415087642,0.0290456755491,0.0289498420671,0.028854008319,0.0287581743056,0.028662340028,0.0285665054868,0.0284706706831,0.0283748356177,0.0282790002914,0.0281831647053,0.02808732886,0.0279914927567,0.027895656396,0.0277998197789,0.0277039829062,0.027608145779,0.0275123083979,0.027416470764,0.0273206328781,0.027224794741,0.0271289563537,0.027033117717,0.0269372788319,0.0268414396991,0.0267456003196,0.0266497606943,0.026553920824,0.0264580807097,0.0263622403521,0.0262663997523,0.026170558911,0.0260747178291,0.0259788765076,0.0258830349473,0.025787193149,0.0256913511138,0.0255955088423,0.0254996663357,0.0254038235946,0.02530798062,0.0252121374128,0.0251162939739,0.0250204503041,0.0249246064043,0.0248287622754,0.0247329179183,0.0246370733338,0.0245412285229,0.0244453834864,0.0243495382252,0.0242536927402,0.0241578470323,0.0240620011023,0.0239661549511,0.0238703085797,0.0237744619888,0.0236786151794,0.0235827681524,0.0234869209086,0.0233910734489,0.0232952257742,0.0231993778853,0.0231035297833,0.0230076814688,0.0229118329429,0.0228159842064,0.0227201352602,0.0226242861051,0.0225284367421,0.0224325871719,0.0223367373956,0.022240887414,0.022145037228,0.0220491868384,0.0219533362461,0.021857485452,0.021761634457,0.021665783262,0.0215699318679,0.0214740802755,0.0213782284857,0.0212823764994,0.0211865243174,0.0210906719408,0.0209948193702,0.0208989666067,0.0208031136511,0.0207072605043,0.0206114071671,0.0205155536405,0.0204196999253,0.0203238460224,0.0202279919327,0.0201321376571,0.0200362831964,0.0199404285515,0.0198445737234,0.0197487187128,0.0196528635207,0.019557008148,0.0194611525955,0.0193652968642,0.0192694409548,0.0191735848683,0.0190777286056,0.0189818721675,0.0188860155549,0.0187901587688,0.0186943018099,0.0185984446792,0.0185025873775,0.0184067299058,0.0183108722649,0.0182150144556,0.018119156479,0.0180232983358,0.0179274400269,0.0178315815532,0.0177357229157,0.0176398641151,0.0175440051524,0.0174481460284,0.017352286744,0.0172564273001,0.0171605676976,0.0170647079374,0.0169688480203,0.0168729879473,0.0167771277191,0.0166812673368,0.0165854068011,0.016489546113,0.0163936852733,0.0162978242829,0.0162019631427,0.0161061018535,0.0160102404164,0.015914378832,0.0158185171014,0.0157226552254,0.0156267932049,0.0155309310407,0.0154350687338,0.015339206285,0.0152433436952,0.0151474809653,0.0150516180961,0.0149557550886,0.0148598919437,0.0147640286621,0.0146681652449,0.0145723016928,0.0144764380067,0.0143805741876,0.0142847102364,0.0141888461538,0.0140929819408,0.0139971175982,0.013901253127,0.0138053885281,0.0137095238022,0.0136136589503,0.0135177939733,0.013421928872,0.0133260636473,0.0132301983002,0.0131343328315,0.013038467242,0.0129426015327,0.0128467357044,0.012750869758,0.0126550036944,0.0125591375145,0.0124632712192,0.0123674048093,0.0122715382857,0.0121756716493,0.0120798049011,0.0119839380417,0.0118880710723,0.0117922039935,0.0116963368064,0.0116004695117,0.0115046021104,0.0114087346034,0.0113128669915,0.0112169992756,0.0111211314566,0.0110252635354,0.0109293955129,0.0108335273899,0.0107376591673,0.010641790846,0.0105459224269,0.0104500539108,0.0103541852987,0.0102583165915,0.0101624477899,0.0100665788949,0.00997070990742,0.00987484082827,0.00977897165835,0.00968310239854,0.00958723304973,0.00949136361279,0.00939549408862,0.00929962447808,0.00920375478206,0.00910788500144,0.00901201513711,0.00891614518993,0.00882027516081,0.00872440505061,0.00862853486021,0.00853266459051,0.00843679424237,0.00834092381668,0.00824505331433,0.00814918273619,0.00805331208315,0.00795744135607,0.00786157055586,0.00776569968339,0.00766982873953,0.00757395772518,0.0074780866412,0.00738221548849,0.00728634426793,0.00719047298039,0.00709460162675,0.00699873020791,0.00690285872473,0.0068069871781,0.00671111556891,0.00661524389803,0.00651937216634,0.00642350037473,0.00632762852407,0.00623175661525,0.00613588464915,0.00604001262666,0.00594414054864,0.00584826841598,0.00575239622957,0.00565652399029,0.00556065169901,0.00546477935662,0.005368906964,0.00527303452202,0.00517716203158,0.00508128949356,0.00498541690882,0.00488954427826,0.00479367160276,0.00469779888319,0.00460192612045,0.0045060533154,0.00441018046894,0.00431430758194,0.00421843465528,0.00412256168984,0.00402668868652,0.00393081564618,0.00383494256971,0.00373906945799,0.0036431963119,0.00354732313232,0.00345144992014,0.00335557667623,0.00325970340148,0.00316383009676,0.00306795676297,0.00297208340097,0.00287621001166,0.0027803365959,0.0026844631546,0.00258858968861,0.00249271619884,0.00239684268615,0.00230096915143,0.00220509559556,0.00210922201942,0.00201334842389,0.00191747480986,0.0018216011782,0.0017257275298,0.00162985386553,0.00153398018629,0.00143810649294,0.00134223278637,0.00124635906747,0.00115048533711,0.00105461159618,0.000958737845554,0.000862864086114,0.000766990318743,0.000671116544322,0.000575242763732,0.000479368977855,0.000383495187571,0.000287621393763,0.000191747597311,9.58737990959e-05,1.22464679915e-16,-9.58737990957e-05,-0.000191747597311,-0.000287621393763,-0.000383495187571,-0.000479368977855,-0.000575242763732,-0.000671116544321,-0.000766990318743,-0.000862864086113,-0.000958737845553,-0.00105461159618,-0.00115048533711,-0.00124635906747,-0.00134223278637,-0.00143810649294,-0.00153398018628,-0.00162985386553,-0.00172572752979,-0.0018216011782,-0.00191747480986,-0.00201334842389,-0.00210922201942,-0.00220509559555,-0.00230096915143,-0.00239684268615,-0.00249271619884,-0.00258858968861,-0.0026844631546,-0.0027803365959,-0.00287621001166,-0.00297208340097,-0.00306795676297,-0.00316383009676,-0.00325970340148,-0.00335557667623,-0.00345144992014,-0.00354732313232,-0.0036431963119,-0.00373906945799,-0.00383494256971,-0.00393081564618,-0.00402668868652,-0.00412256168984,-0.00421843465528,-0.00431430758194,-0.00441018046894,-0.0045060533154,-0.00460192612045,-0.00469779888319,-0.00479367160276,-0.00488954427826,-0.00498541690882,-0.00508128949356,-0.00517716203158,-0.00527303452202,-0.005368906964,-0.00546477935662,-0.00556065169901,-0.00565652399029,-0.00575239622957,-0.00584826841598,-0.00594414054864,-0.00604001262666,-0.00613588464915,-0.00623175661525,-0.00632762852407,-0.00642350037473,-0.00651937216634,-0.00661524389803,-0.00671111556891,-0.0068069871781,-0.00690285872473,-0.00699873020791,-0.00709460162675,-0.00719047298039,-0.00728634426793,-0.00738221548849,-0.0074780866412,-0.00757395772518,-0.00766982873953,-0.00776569968339,-0.00786157055586,-0.00795744135607,-0.00805331208315,-0.00814918273619,-0.00824505331433,-0.00834092381668,-0.00843679424237,-0.00853266459051,-0.00862853486021,-0.00872440505061,-0.00882027516081,-0.00891614518993,-0.00901201513711,-0.00910788500144,-0.00920375478206,-0.00929962447808,-0.00939549408862,-0.00949136361279,-0.00958723304973,-0.00968310239854,-0.00977897165835,-0.00987484082827,-0.00997070990742,-0.0100665788949,-0.0101624477899,-0.0102583165915,-0.0103541852987,-0.0104500539108,-0.0105459224269,-0.010641790846,-0.0107376591673,-0.0108335273899,-0.0109293955129,-0.0110252635354,-0.0111211314566,-0.0112169992756,-0.0113128669915,-0.0114087346034,-0.0115046021104,-0.0116004695117,-0.0116963368064,-0.0117922039935,-0.0118880710723,-0.0119839380417,-0.0120798049011,-0.0121756716493,-0.0122715382857,-0.0123674048093,-0.0124632712192,-0.0125591375145,-0.0126550036944,-0.012750869758,-0.0128467357044,-0.0129426015327,-0.013038467242,-0.0131343328315,-0.0132301983002,-0.0133260636473,-0.013421928872,-0.0135177939733,-0.0136136589503,-0.0137095238022,-0.0138053885281,-0.013901253127,-0.0139971175982,-0.0140929819408,-0.0141888461538,-0.0142847102364,-0.0143805741876,-0.0144764380067,-0.0145723016928,-0.0146681652449,-0.0147640286621,-0.0148598919437,-0.0149557550886,-0.0150516180961,-0.0151474809653,-0.0152433436952,-0.015339206285,-0.0154350687338,-0.0155309310407,-0.0156267932049,-0.0157226552254,-0.0158185171014,-0.015914378832,-0.0160102404164,-0.0161061018535,-0.0162019631427,-0.0162978242829,-0.0163936852733,-0.016489546113,-0.0165854068011,-0.0166812673368,-0.0167771277191,-0.0168729879473,-0.0169688480203,-0.0170647079374,-0.0171605676976,-0.0172564273001,-0.017352286744,-0.0174481460284,-0.0175440051524,-0.0176398641151,-0.0177357229157,-0.0178315815532,-0.0179274400269,-0.0180232983358,-0.018119156479,-0.0182150144556,-0.0183108722649,-0.0184067299058,-0.0185025873775,-0.0185984446792,-0.0186943018099,-0.0187901587688,-0.0188860155549,-0.0189818721675,-0.0190777286056,-0.0191735848683,-0.0192694409548,-0.0193652968642,-0.0194611525955,-0.019557008148,-0.0196528635207,-0.0197487187128,-0.0198445737234,-0.0199404285515,-0.0200362831964,-0.0201321376571,-0.0202279919327,-0.0203238460224,-0.0204196999253,-0.0205155536405,-0.0206114071671,-0.0207072605043,-0.0208031136511,-0.0208989666067,-0.0209948193702,-0.0210906719408,-0.0211865243174,-0.0212823764994,-0.0213782284857,-0.0214740802755,-0.0215699318679,-0.021665783262,-0.021761634457,-0.021857485452,-0.0219533362461,-0.0220491868384,-0.022145037228,-0.022240887414,-0.0223367373956,-0.0224325871719,-0.0225284367421,-0.0226242861051,-0.0227201352602,-0.0228159842064,-0.0229118329429,-0.0230076814688,-0.0231035297833,-0.0231993778853,-0.0232952257742,-0.0233910734489,-0.0234869209086,-0.0235827681524,-0.0236786151794,-0.0237744619888,-0.0238703085797,-0.0239661549511,-0.0240620011023,-0.0241578470323,-0.0242536927402,-0.0243495382252,-0.0244453834864,-0.0245412285229,-0.0246370733338,-0.0247329179183,-0.0248287622754,-0.0249246064043,-0.0250204503041,-0.0251162939739,-0.0252121374128,-0.02530798062,-0.0254038235946,-0.0254996663357,-0.0255955088423,-0.0256913511138,-0.025787193149,-0.0258830349473,-0.0259788765076,-0.0260747178291,-0.026170558911,-0.0262663997523,-0.0263622403521,-0.0264580807097,-0.026553920824,-0.0266497606943,-0.0267456003196,-0.0268414396991,-0.0269372788319,-0.027033117717,-0.0271289563537,-0.027224794741,-0.0273206328781,-0.027416470764,-0.0275123083979,-0.027608145779,-0.0277039829062,-0.0277998197789,-0.027895656396,-0.0279914927567,-0.02808732886,-0.0281831647053,-0.0282790002914,-0.0283748356177,-0.0284706706831,-0.0285665054868,-0.028662340028,-0.0287581743056,-0.028854008319,-0.0289498420671,-0.0290456755491,-0.0291415087642,-0.0292373417114,-0.0293331743898,-0.0294290067986,-0.0295248389369,-0.0296206708039,-0.0297165023985,-0.02981233372,-0.0299081647675,-0.0300039955401,-0.0300998260369,-0.030195656257,-0.0302914861995,-0.0303873158637,-0.0304831452485,-0.0305789743531,-0.0306748031766,-0.0307706317182,-0.030866459977,-0.030962287952,-0.0310581156424,-0.0311539430474,-0.031249770166,-0.0313455969973,-0.0314414235406,-0.0315372497948,-0.0316330757591,-0.0317289014327,-0.0318247268146,-0.031920551904,-0.0320163767,-0.0321122012018,-0.0322080254083,-0.0323038493188,-0.0323996729324,-0.0324954962481,-0.0325913192652,-0.0326871419827,-0.0327829643997,-0.0328787865154,-0.0329746083289,-0.0330704298393,-0.0331662510457,-0.0332620719473,-0.0333578925431,-0.0334537128323,-0.033549532814,-0.0336453524873,-0.0337411718514,-0.0338369909053,-0.0339328096482,-0.0340286280792,-0.0341244461974,-0.034220264002,-0.034316081492,-0.0344118986665,-0.0345077155248,-0.0346035320659,-0.0346993482889,-0.034795164193,-0.0348909797772,-0.0349867950407,-0.0350826099826,-0.0351784246021,-0.0352742388982,-0.0353700528701,-0.0354658665169,-0.0355616798376,-0.0356574928315,-0.0357533054976,-0.0358491178351,-0.0359449298431,-0.0360407415207,-0.036136552867,-0.0362323638812,-0.0363281745623,-0.0364239849094,-0.0365197949218,-0.0366156045985,-0.0367114139387,-0.0368072229414,-0.0369030316057,-0.0369988399309,-0.037094647916,-0.0371904555601,-0.0372862628624,-0.0373820698219,-0.0374778764378,-0.0375736827093,-0.0376694886353,-0.0377652942152,-0.0378610994479,-0.0379569043325,-0.0380527088683,-0.0381485130544,-0.0382443168897,-0.0383401203736,-0.038435923505,-0.0385317262831,-0.038627528707,-0.0387233307759,-0.0388191324889,-0.038914933845,-0.0390107348435,-0.0391065354833,-0.0392023357637,-0.0392981356838,-0.0393939352426,-0.0394897344394,-0.0395855332731,-0.039681331743,-0.0397771298482,-0.0398729275877,-0.0399687249608,-0.0400645219664,-0.0401603186038,-0.040256114872,-0.0403519107703,-0.0404477062976,-0.0405435014531,-0.0406392962359,-0.0407350906452,-0.0408308846801,-0.0409266783397,-0.0410224716231,-0.0411182645294,-0.0412140570577,-0.0413098492073,-0.0414056409771,-0.0415014323663,-0.0415972233741,-0.0416930139995,-0.0417888042416,-0.0418845940997,-0.0419803835727,-0.0420761726599,-0.0421719613603,-0.0422677496731,-0.0423635375974,-0.0424593251323,-0.0425551122769,-0.0426508990304,-0.0427466853918,-0.0428424713602,-0.0429382569349,-0.043034042115,-0.0431298268994,-0.0432256112874,-0.0433213952781,-0.0434171788706,-0.043512962064,-0.0436087448575,-0.0437045272501,-0.0438003092409,-0.0438960908292,-0.043991872014,-0.0440876527945,-0.0441834331696,-0.0442792131387,-0.0443749927008,-0.0444707718549,-0.0445665506003,-0.0446623289361,-0.0447581068613,-0.0448538843752,-0.0449496614767,-0.0450454381651,-0.0451412144394,-0.0452369902988,-0.0453327657424,-0.0454285407693,-0.0455243153786,-0.0456200895695,-0.045715863341,-0.0458116366924,-0.0459074096226,-0.0460031821309,-0.0460989542163,-0.046194725878,-0.0462904971151,-0.0463862679267,-0.0464820383119,-0.0465778082699,-0.0466735777997,-0.0467693469005,-0.0468651155715,-0.0469608838116,-0.0470566516201,-0.0471524189961,-0.0472481859386,-0.0473439524469,-0.0474397185199,-0.047535484157,-0.047631249357,-0.0477270141193,-0.0478227784429,-0.0479185423269,-0.0480143057704,-0.0481100687726,-0.0482058313326,-0.0483015934495,-0.0483973551224,-0.0484931163504,-0.0485888771327,-0.0486846374684,-0.0487803973566,-0.0488761567964,-0.048971915787,-0.0490676743274,-0.0491634324168,-0.0492591900543,-0.049354947239,-0.0494507039701,-0.0495464602466,-0.0496422160677,-0.0497379714325,-0.0498337263401,-0.0499294807897,-0.0500252347803,-0.0501209883111,-0.0502167413812,-0.0503124939897,-0.0504082461357,-0.0505039978184,-0.0505997490369,-0.0506954997903,-0.0507912500777,-0.0508869998982,-0.050982749251,-0.0510784981352,-0.0511742465499,-0.0512699944941,-0.0513657419672,-0.051461488968,-0.0515572354959,-0.0516529815499,-0.051748727129,-0.0518444722325,-0.0519402168595,-0.052035961009,-0.0521317046803,-0.0522274478723,-0.0523231905843,-0.0524189328154,-0.0525146745646,-0.0526104158311,-0.0527061566141,-0.0528018969125,-0.0528976367257,-0.0529933760526,-0.0530891148924,-0.0531848532442,-0.0532805911071,-0.0533763284804,-0.0534720653629,-0.053567801754,-0.0536635376527,-0.0537592730582,-0.0538550079695,-0.0539507423857,-0.0540464763061,-0.0541422097297,-0.0542379426556,-0.054333675083,-0.0544294070109,-0.0545251384386,-0.054620869365,-0.0547165997894,-0.0548123297109,-0.0549080591285,-0.0550037880415,-0.0550995164488,-0.0551952443497,-0.0552909717432,-0.0553866986286,-0.0554824250048,-0.055578150871,-0.0556738762264,-0.05576960107,-0.055865325401,-0.0559610492185,-0.0560567725216,-0.0561524953095,-0.0562482175812,-0.0563439393359,-0.0564396605727,-0.0565353812907,-0.0566311014891,-0.0567268211669,-0.0568225403233,-0.0569182589574,-0.0570139770683,-0.0571096946552,-0.0572054117171,-0.0573011282532,-0.0573968442626,-0.0574925597444,-0.0575882746977,-0.0576839891217,-0.0577797030155,-0.0578754163782,-0.0579711292089,-0.0580668415068,-0.0581625532709,-0.0582582645004,-0.0583539751944,-0.0584496853521,-0.0585453949724,-0.0586411040547,-0.0587368125979,-0.0588325206012,-0.0589282280638,-0.0590239349847,-0.059119641363,-0.059215347198,-0.0593110524886,-0.0594067572341,-0.0595024614335,-0.059598165086,-0.0596938681907,-0.0597895707466,-0.059885272753,-0.059980974209,-0.0600766751136,-0.060172375466,-0.0602680752653,-0.0603637745107,-0.0604594732012,-0.0605551713359,-0.0606508689141,-0.0607465659348,-0.0608422623971,-0.0609379583001,-0.061033653643,-0.0611293484249,-0.061225042645,-0.0613207363022,-0.0614164293958,-0.0615121219249,-0.0616078138886,-0.061703505286,-0.0617991961162,-0.0618948863784,-0.0619905760716,-0.0620862651951,-0.0621819537478,-0.062277641729,-0.0623733291378,-0.0624690159732,-0.0625647022345,-0.0626603879206,-0.0627560730308,-0.0628517575642,-0.0629474415198,-0.0630431248968,-0.0631388076944,-0.0632344899116,-0.0633301715475,-0.0634258526014,-0.0635215330722,-0.0636172129592,-0.0637128922614,-0.063808570978,-0.063904249108,-0.0639999266507,-0.0640956036051,-0.0641912799704,-0.0642869557456,-0.0643826309299,-0.0644783055224,-0.0645739795222,-0.0646696529285,-0.0647653257403,-0.0648609979569,-0.0649566695772,-0.0650523406005,-0.0651480110259,-0.0652436808524,-0.0653393500792,-0.0654350187054,-0.0655306867302,-0.0656263541526,-0.0657220209718,-0.0658176871869,-0.065913352797,-0.0660090178013,-0.0661046821988,-0.0662003459886,-0.06629600917,-0.066391671742,-0.0664873337038,-0.0665829950544,-0.066678655793,-0.0667743159187,-0.0668699754306,-0.0669656343279,-0.0670612926096,-0.067156950275,-0.067252607323,-0.0673482637529,-0.0674439195637,-0.0675395747545,-0.0676352293246,-0.067730883273,-0.0678265365988,-0.0679221893012,-0.0680178413792,-0.0681134928321,-0.0682091436588,-0.0683047938586,-0.0684004434305,-0.0684960923738,-0.0685917406874,-0.0686873883705,-0.0687830354223,-0.0688786818418,-0.0689743276283,-0.0690699727807,-0.0691656172982,-0.06926126118,-0.0693569044252,-0.0694525470328,-0.0695481890021,-0.0696438303321,-0.0697394710219,-0.0698351110707,-0.0699307504776,-0.0700263892417,-0.0701220273621,-0.070217664838,-0.0703133016685,-0.0704089378526,-0.0705045733896,-0.0706002082785,-0.0706958425185,-0.0707914761086,-0.0708871090481,-0.070982741336,-0.0710783729714,-0.0711740039534,-0.0712696342813,-0.0713652639541,-0.0714608929708,-0.0715565213308,-0.071652149033,-0.0717477760766,-0.0718434024607,-0.0719390281844,-0.0720346532469,-0.0721302776472,-0.0722259013846,-0.0723215244581,-0.0724171468668,-0.0725127686098,-0.0726083896864,-0.0727040100955,-0.0727996298364,-0.072895248908,-0.0729908673097,-0.0730864850405,-0.0731821020994,-0.0732777184857,-0.0733733341984,-0.0734689492367,-0.0735645635997,-0.0736601772865,-0.0737557902962,-0.073851402628,-0.0739470142809,-0.0740426252541,-0.0741382355468,-0.074233845158,-0.0743294540868,-0.0744250623325,-0.074520669894,-0.0746162767706,-0.0747118829613,-0.0748074884652,-0.0749030932816,-0.0749986974094,-0.0750943008479,-0.0751899035962,-0.0752855056533,-0.0753811070184,-0.0754767076906,-0.075572307669,-0.0756679069528,-0.0757635055411,-0.075859103433,-0.0759547006275,-0.076050297124,-0.0761458929214,-0.0762414880189,-0.0763370824155,-0.0764326761105,-0.076528269103,-0.076623861392,-0.0767194529767,-0.0768150438563,-0.0769106340297,-0.0770062234962,-0.0771018122549,-0.0771974003049,-0.0772929876453,-0.0773885742753,-0.0774841601939,-0.0775797454003,-0.0776753298935,-0.0777709136729,-0.0778664967373,-0.077962079086,-0.0780576607182,-0.0781532416328,-0.0782488218291,-0.0783444013061,-0.078439980063,-0.0785355580988,-0.0786311354128,-0.0787267120041,-0.0788222878717,-0.0789178630148,-0.0790134374325,-0.0791090111239,-0.0792045840882,-0.0793001563244,-0.0793957278317,-0.0794912986092,-0.0795868686561,-0.0796824379714,-0.0797780065543,-0.0798735744039,-0.0799691415193,-0.0800647078997,-0.0801602735441,-0.0802558384517,-0.0803514026216,-0.0804469660529,-0.0805425287448,-0.0806380906964,-0.0807336519067,-0.080829212375,-0.0809247721003,-0.0810203310817,-0.0811158893185,-0.0812114468096,-0.0813070035542,-0.0814025595515,-0.0814981148006,-0.0815936693005,-0.0816892230505,-0.0817847760496,-0.0818803282969,-0.0819758797916,-0.0820714305328,-0.0821669805197,-0.0822625297512,-0.0823580782266,-0.0824536259451,-0.0825491729056,-0.0826447191073,-0.0827402645494,-0.0828358092309,-0.0829313531511,-0.0830268963089,-0.0831224387036,-0.0832179803343,-0.0833135212,-0.0834090612999,-0.0835046006332,-0.0836001391988,-0.0836956769961,-0.083791214024,-0.0838867502818,-0.0839822857685,-0.0840778204832,-0.0841733544251,-0.0842688875933,-0.0843644199869,-0.0844599516051,-0.0845554824469,-0.0846510125116,-0.0847465417981,-0.0848420703056,-0.0849375980333,-0.0850331249803,-0.0851286511456,-0.0852241765285,-0.085319701128,-0.0854152249433,-0.0855107479735,-0.0856062702176,-0.0857017916749,-0.0857973123444,-0.0858928322253,-0.0859883513167,-0.0860838696177,-0.0861793871275,-0.0862749038451,-0.0863704197697,-0.0864659349003,-0.0865614492363,-0.0866569627765,-0.0867524755202,-0.0868479874665,-0.0869434986145,-0.0870390089634,-0.0871345185122,-0.0872300272601,-0.0873255352062,-0.0874210423496,-0.0875165486895,-0.0876120542249,-0.087707558955,-0.0878030628789,-0.0878985659958,-0.0879940683047,-0.0880895698048,-0.0881850704952,-0.088280570375,-0.0883760694433,-0.0884715676993,-0.0885670651421,-0.0886625617709,-0.0887580575846,-0.0888535525825,-0.0889490467637,-0.0890445401273,-0.0891400326724,-0.0892355243981,-0.0893310153037,-0.0894265053881,-0.0895219946505,-0.08961748309,-0.0897129707058,-0.089808457497,-0.0899039434627,-0.089999428602,-0.090094912914,-0.0901903963979,-0.0902858790529,-0.0903813608779,-0.0904768418721,-0.0905723220347,-0.0906678013648,-0.0907632798615,-0.0908587575239,-0.0909542343511,-0.0910497103424,-0.0911451854967,-0.0912406598132,-0.0913361332911,-0.0914316059294,-0.0915270777273,-0.0916225486839,-0.0917180187983,-0.0918134880697,-0.0919089564971,-0.0920044240798,-0.0920998908167,-0.0921953567071,-0.0922908217501,-0.0923862859447,-0.0924817492901,-0.0925772117855,-0.0926726734299,-0.0927681342225,-0.0928635941624,-0.0929590532487,-0.0930545114805,-0.093149968857,-0.0932454253773,-0.0933408810405,-0.0934363358457,-0.0935317897921,-0.0936272428788,-0.0937226951048,-0.0938181464694,-0.0939135969716,-0.0940090466106,-0.0941044953855,-0.0941999432954,-0.0942953903394,-0.0943908365167,-0.0944862818264,-0.0945817262675,-0.0946771698393,-0.0947726125408,-0.0948680543712,-0.0949634953296,-0.0950589354152,-0.0951543746269,-0.095249812964,-0.0953452504256,-0.0954406870108,-0.0955361227188,-0.0956315575485,-0.0957269914993,-0.0958224245702,-0.0959178567602,-0.0960132880687,-0.0961087184946,-0.096204148037,-0.0962995766952,-0.0963950044683,-0.0964904313553,-0.0965858573553,-0.0966812824676,-0.0967767066912,-0.0968721300252,-0.0969675524688,-0.0970629740212,-0.0971583946813,-0.0972538144484,-0.0973492333215,-0.0974446512998,-0.0975400683825,-0.0976354845685,-0.0977308998571,-0.0978263142474,-0.0979217277385,-0.0980171403296,-0.0981125520196,-0.0982079628079,-0.0983033726934,-0.0983987816754,-0.0984941897529,-0.098589596925,-0.098685003191,-0.0987804085498,-0.0988758130007,-0.0989712165427,-0.099066619175,-0.0991620208967,-0.099257421707,-0.0993528216049,-0.0994482205895,-0.0995436186601,-0.0996390158156,-0.0997344120553,-0.0998298073783,-0.0999252017837,-0.100020595271,-0.100115987838,-0.100211379485,-0.100306770211,-0.100402160016,-0.100497548897,-0.100592936854,-0.100688323887,-0.100783709995,-0.100879095176,-0.100974479429,-0.101069862755,-0.101165245151,-0.101260626618,-0.101356007154,-0.101451386758,-0.10154676543,-0.101642143168,-0.101737519973,-0.101832895841,-0.101928270774,-0.10202364477,-0.102119017829,-0.102214389948,-0.102309761128,-0.102405131368,-0.102500500666,-0.102595869022,-0.102691236436,-0.102786602905,-0.102881968429,-0.102977333008,-0.10307269664,-0.103168059325,-0.103263421062,-0.103358781849,-0.103454141686,-0.103549500573,-0.103644858507,-0.103740215489,-0.103835571517,-0.103930926591,-0.10402628071,-0.104121633872,-0.104216986077,-0.104312337325,-0.104407687613,-0.104503036942,-0.10459838531,-0.104693732717,-0.104789079162,-0.104884424643,-0.10497976916,-0.105075112713,-0.105170455299,-0.105265796919,-0.105361137571,-0.105456477255,-0.105551815969,-0.105647153713,-0.105742490487,-0.105837826288,-0.105933161116,-0.106028494971,-0.106123827851,-0.106219159755,-0.106314490683,-0.106409820634,-0.106505149607,-0.106600477601,-0.106695804615,-0.106791130648,-0.1068864557,-0.106981779769,-0.107077102855,-0.107172424957,-0.107267746073,-0.107363066204,-0.107458385348,-0.107553703504,-0.107649020671,-0.107744336849,-0.107839652036,-0.107934966233,-0.108030279437,-0.108125591648,-0.108220902865,-0.108316213088,-0.108411522315,-0.108506830545,-0.108602137778,-0.108697444013,-0.108792749249,-0.108888053485,-0.108983356719,-0.109078658952,-0.109173960183,-0.10926926041,-0.109364559632,-0.10945985785,-0.109555155061,-0.109650451265,-0.109745746461,-0.109841040649,-0.109936333827,-0.110031625994,-0.11012691715,-0.110222207294,-0.110317496424,-0.110412784541,-0.110508071643,-0.110603357729,-0.110698642798,-0.11079392685,-0.110889209883,-0.110984491897,-0.111079772891,-0.111175052864,-0.111270331815,-0.111365609743,-0.111460886648,-0.111556162528,-0.111651437383,-0.111746711211,-0.111841984012,-0.111937255786,-0.11203252653,-0.112127796244,-0.112223064928,-0.112318332581,-0.112413599201,-0.112508864787,-0.11260412934,-0.112699392857,-0.112794655339,-0.112889916784,-0.112985177191,-0.113080436559,-0.113175694889,-0.113270952178,-0.113366208425,-0.113461463631,-0.113556717794,-0.113651970913,-0.113747222987,-0.113842474016,-0.113937723998,-0.114032972933,-0.11412822082,-0.114223467658,-0.114318713446,-0.114413958183,-0.114509201869,-0.114604444502,-0.114699686081,-0.114794926607,-0.114890166077,-0.114985404491,-0.115080641848,-0.115175878147,-0.115271113388,-0.115366347569,-0.115461580689,-0.115556812749,-0.115652043746,-0.11574727368,-0.11584250255,-0.115937730356,-0.116032957095,-0.116128182769,-0.116223407374,-0.116318630912,-0.11641385338,-0.116509074778,-0.116604295106,-0.116699514361,-0.116794732544,-0.116889949653,-0.116985165688,-0.117080380648,-0.117175594531,-0.117270807338,-0.117366019066,-0.117461229715,-0.117556439285,-0.117651647775,-0.117746855183,-0.117842061508,-0.117937266751,-0.118032470909,-0.118127673983,-0.11822287597,-0.118318076871,-0.118413276685,-0.11850847541,-0.118603673045,-0.118698869591,-0.118794065045,-0.118889259408,-0.118984452678,-0.119079644854,-0.119174835935,-0.119270025921,-0.119365214811,-0.119460402604,-0.119555589298,-0.119650774894,-0.119745959389,-0.119841142785,-0.119936325078,-0.120031506269,-0.120126686357,-0.120221865341,-0.120317043219,-0.120412219992,-0.120507395658,-0.120602570216,-0.120697743666,-0.120792916006,-0.120888087236,-0.120983257354,-0.121078426361,-0.121173594255,-0.121268761035,-0.1213639267,-0.12145909125,-0.121554254683,-0.121649416999,-0.121744578197,-0.121839738276,-0.121934897235,-0.122030055073,-0.122125211789,-0.122220367383,-0.122315521853,-0.122410675199,-0.12250582742,-0.122600978515,-0.122696128483,-0.122791277323,-0.122886425035,-0.122981571617,-0.123076717068,-0.123171861388,-0.123267004576,-0.123362146631,-0.123457287552,-0.123552427339,-0.123647565989,-0.123742703503,-0.12383783988,-0.123932975119,-0.124028109218,-0.124123242177,-0.124218373995,-0.124313504672,-0.124408634205,-0.124503762596,-0.124598889842,-0.124694015942,-0.124789140897,-0.124884264704,-0.124979387363,-0.125074508874,-0.125169629235,-0.125264748446,-0.125359866505,-0.125454983412,-0.125550099165,-0.125645213765,-0.12574032721,-0.125835439498,-0.125930550631,-0.126025660606,-0.126120769422,-0.126215877079,-0.126310983576,-0.126406088912,-0.126501193086,-0.126596296097,-0.126691397945,-0.126786498628,-0.126881598145,-0.126976696497,-0.127071793681,-0.127166889697,-0.127261984545,-0.127357078222,-0.127452170729,-0.127547262065,-0.127642352228,-0.127737441218,-0.127832529033,-0.127927615674,-0.128022701139,-0.128117785427,-0.128212868537,-0.128307950469,-0.128403031222,-0.128498110794,-0.128593189185,-0.128688266394,-0.12878334242,-0.128878417263,-0.128973490921,-0.129068563393,-0.129163634679,-0.129258704778,-0.129353773688,-0.12944884141,-0.129543907942,-0.129638973283,-0.129734037432,-0.129829100389,-0.129924162153,-0.130019222722,-0.130114282096,-0.130209340275,-0.130304397256,-0.13039945304,-0.130494507625,-0.13058956101,-0.130684613196,-0.13077966418,-0.130874713962,-0.130969762541,-0.131064809916,-0.131159856086,-0.131254901051,-0.131349944809,-0.13144498736,-0.131540028703,-0.131635068837,-0.13173010776,-0.131825145473,-0.131920181974,-0.132015217263,-0.132110251338,-0.132205284199,-0.132300315844,-0.132395346274,-0.132490375487,-0.132585403481,-0.132680430257,-0.132775455814,-0.13287048015,-0.132965503265,-0.133060525157,-0.133155545827,-0.133250565272,-0.133345583493,-0.133440600488,-0.133535616256,-0.133630630797,-0.13372564411,-0.133820656194,-0.133915667047,-0.13401067667,-0.134105685061,-0.134200692219,-0.134295698143,-0.134390702834,-0.134485706288,-0.134580708507,-0.134675709489,-0.134770709233,-0.134865707738,-0.134960705003,-0.135055701028,-0.135150695811,-0.135245689352,-0.13534068165,-0.135435672704,-0.135530662513,-0.135625651076,-0.135720638393,-0.135815624462,-0.135910609283,-0.136005592854,-0.136100575176,-0.136195556246,-0.136290536064,-0.13638551463,-0.136480491942,-0.136575468,-0.136670442802,-0.136765416348,-0.136860388637,-0.136955359668,-0.13705032944,-0.137145297952,-0.137240265204,-0.137335231194,-0.137430195921,-0.137525159386,-0.137620121586,-0.137715082522,-0.137810042192,-0.137905000595,-0.13799995773,-0.138094913597,-0.138189868194,-0.138284821522,-0.138379773578,-0.138474724362,-0.138569673873,-0.138664622111,-0.138759569074,-0.138854514762,-0.138949459173,-0.139044402308,-0.139139344164,-0.139234284741,-0.139329224038,-0.139424162055,-0.13951909879,-0.139614034243,-0.139708968412,-0.139803901298,-0.139898832898,-0.139993763212,-0.14008869224,-0.140183619979,-0.140278546431,-0.140373471592,-0.140468395464,-0.140563318044,-0.140658239333,-0.140753159328,-0.14084807803,-0.140942995437,-0.141037911549,-0.141132826364,-0.141227739882,-0.141322652102,-0.141417563022,-0.141512472643,-0.141607380963,-0.141702287982,-0.141797193698,-0.14189209811,-0.141987001219,-0.142081903022,-0.142176803519,-0.14227170271,-0.142366600593,-0.142461497167,-0.142556392431,-0.142651286386,-0.142746179029,-0.14284107036,-0.142935960378,-0.143030849082,-0.143125736471,-0.143220622545,-0.143315507303,-0.143410390743,-0.143505272865,-0.143600153667,-0.14369503315,-0.143789911312,-0.143884788153,-0.143979663671,-0.144074537865,-0.144169410735,-0.14426428228,-0.144359152499,-0.144454021391,-0.144548888955,-0.144643755191,-0.144738620097,-0.144833483672,-0.144928345916,-0.145023206829,-0.145118066408,-0.145212924653,-0.145307781563,-0.145402637138,-0.145497491376,-0.145592344277,-0.14568719584,-0.145782046064,-0.145876894947,-0.14597174249,-0.146066588691,-0.146161433549,-0.146256277064,-0.146351119234,-0.14644596006,-0.146540799539,-0.146635637671,-0.146730474455,-0.146825309891,-0.146920143977,-0.147014976713,-0.147109808097,-0.147204638129,-0.147299466808,-0.147394294133,-0.147489120103,-0.147583944718,-0.147678767976,-0.147773589876,-0.147868410418,-0.147963229601,-0.148058047424,-0.148152863887,-0.148247678987,-0.148342492725,-0.148437305099,-0.148532116108,-0.148626925753,-0.148721734031,-0.148816540942,-0.148911346486,-0.14900615066,-0.149100953465,-0.1491957549,-0.149290554963,-0.149385353654,-0.149480150972,-0.149574946915,-0.149669741484,-0.149764534677,-0.149859326494,-0.149954116933,-0.150048905994,-0.150143693675,-0.150238479977,-0.150333264897,-0.150428048436,-0.150522830592,-0.150617611364,-0.150712390752,-0.150807168755,-0.150901945371,-0.1509967206,-0.151091494442,-0.151186266894,-0.151281037957,-0.15137580763,-0.151470575911,-0.151565342799,-0.151660108295,-0.151754872397,-0.151849635103,-0.151944396414,-0.152039156328,-0.152133914845,-0.152228671963,-0.152323427682,-0.152418182001,-0.152512934919,-0.152607686435,-0.152702436549,-0.152797185258,-0.152891932564,-0.152986678464,-0.153081422957,-0.153176166044,-0.153270907723,-0.153365647992,-0.153460386852,-0.153555124302,-0.15364986034,-0.153744594966,-0.153839328178,-0.153934059977,-0.154028790361,-0.154123519328,-0.154218246879,-0.154312973013,-0.154407697728,-0.154502421024,-0.1545971429,-0.154691863355,-0.154786582387,-0.154881299997,-0.154976016184,-0.155070730946,-0.155165444282,-0.155260156193,-0.155354866676,-0.155449575731,-0.155544283357,-0.155638989554,-0.15573369432,-0.155828397654,-0.155923099556,-0.156017800025,-0.15611249906,-0.15620719666,-0.156301892824,-0.156396587552,-0.156491280842,-0.156585972693,-0.156680663105,-0.156775352077,-0.156870039608,-0.156964725697,-0.157059410343,-0.157154093546,-0.157248775304,-0.157343455616,-0.157438134483,-0.157532811902,-0.157627487873,-0.157722162395,-0.157816835468,-0.15791150709,-0.15800617726,-0.158100845978,-0.158195513243,-0.158290179054,-0.15838484341,-0.15847950631,-0.158574167753,-0.158668827739,-0.158763486266,-0.158858143334,-0.158952798942,-0.159047453088,-0.159142105773,-0.159236756995,-0.159331406753,-0.159426055047,-0.159520701875,-0.159615347237,-0.159709991132,-0.159804633559,-0.159899274517,-0.159993914005,-0.160088552023,-0.160183188569,-0.160277823642,-0.160372457243,-0.160467089369,-0.160561720021,-0.160656349196,-0.160750976895,-0.160845603116,-0.160940227859,-0.161034851122,-0.161129472906,-0.161224093208,-0.161318712028,-0.161413329366,-0.161507945219,-0.161602559588,-0.161697172472,-0.16179178387,-0.16188639378,-0.161981002202,-0.162075609136,-0.16217021458,-0.162264818533,-0.162359420994,-0.162454021963,-0.162548621439,-0.162643219421,-0.162737815908,-0.162832410899,-0.162927004393,-0.16302159639,-0.163116186888,-0.163210775887,-0.163305363385,-0.163399949383,-0.163494533879,-0.163589116871,-0.163683698361,-0.163778278345,-0.163872856825,-0.163967433797,-0.164062009263,-0.164156583221,-0.16425115567,-0.164345726609,-0.164440296037,-0.164534863954,-0.164629430359,-0.16472399525,-0.164818558628,-0.16491312049,-0.165007680836,-0.165102239666,-0.165196796978,-0.165291352772,-0.165385907046,-0.1654804598,-0.165575011034,-0.165669560745,-0.165764108933,-0.165858655598,-0.165953200738,-0.166047744353,-0.166142286441,-0.166236827003,-0.166331366036,-0.16642590354,-0.166520439515,-0.166614973959,-0.166709506872,-0.166804038252,-0.166898568099,-0.166993096412,-0.16708762319,-0.167182148432,-0.167276672137,-0.167371194305,-0.167465714935,-0.167560234025,-0.167654751575,-0.167749267584,-0.167843782051,-0.167938294975,-0.168032806355,-0.168127316191,-0.168221824482,-0.168316331226,-0.168410836423,-0.168505340073,-0.168599842173,-0.168694342724,-0.168788841724,-0.168883339172,-0.168977835068,-0.169072329411,-0.1691668222,-0.169261313434,-0.169355803112,-0.169450291234,-0.169544777798,-0.169639262803,-0.16973374625,-0.169828228136,-0.169922708461,-0.170017187224,-0.170111664424,-0.170206140061,-0.170300614133,-0.17039508664,-0.170489557581,-0.170584026954,-0.17067849476,-0.170772960997,-0.170867425664,-0.17096188876,-0.171056350285,-0.171150810238,-0.171245268618,-0.171339725423,-0.171434180654,-0.171528634308,-0.171623086386,-0.171717536887,-0.171811985809,-0.171906433152,-0.172000878915,-0.172095323097,-0.172189765697,-0.172284206714,-0.172378646148,-0.172473083997,-0.172567520261,-0.172661954938,-0.172756388029,-0.172850819531,-0.172945249445,-0.173039677769,-0.173134104503,-0.173228529645,-0.173322953195,-0.173417375152,-0.173511795514,-0.173606214282,-0.173700631454,-0.17379504703,-0.173889461008,-0.173983873387,-0.174078284168,-0.174172693348,-0.174267100928,-0.174361506905,-0.17445591128,-0.174550314051,-0.174644715218,-0.17473911478,-0.174833512735,-0.174927909083,-0.175022303824,-0.175116696956,-0.175211088478,-0.175305478389,-0.175399866689,-0.175494253377,-0.175588638452,-0.175683021913,-0.175777403759,-0.175871783989,-0.175966162603,-0.176060539599,-0.176154914977,-0.176249288736,-0.176343660875,-0.176438031393,-0.176532400289,-0.176626767562,-0.176721133212,-0.176815497238,-0.176909859638,-0.177004220412,-0.177098579559,-0.177192937079,-0.177287292969,-0.17738164723,-0.177475999861,-0.17757035086,-0.177664700227,-0.177759047961,-0.177853394061,-0.177947738526,-0.178042081356,-0.178136422549,-0.178230762105,-0.178325100022,-0.178419436301,-0.178513770939,-0.178608103936,-0.178702435292,-0.178796765005,-0.178891093075,-0.1789854195,-0.179079744281,-0.179174067415,-0.179268388902,-0.179362708741,-0.179457026932,-0.179551343473,-0.179645658364,-0.179739971603,-0.179834283191,-0.179928593125,-0.180022901406,-0.180117208031,-0.180211513002,-0.180305816315,-0.180400117972,-0.18049441797,-0.180588716309,-0.180683012988,-0.180777308007,-0.180871601363,-0.180965893058,-0.181060183088,-0.181154471455,-0.181248758156,-0.181343043192,-0.18143732656,-0.181531608261,-0.181625888293,-0.181720166656,-0.181814443348,-0.18190871837,-0.182002991719,-0.182097263395,-0.182191533397,-0.182285801725,-0.182380068377,-0.182474333353,-0.182568596652,-0.182662858272,-0.182757118214,-0.182851376475,-0.182945633056,-0.183039887955,-0.183134141172,-0.183228392705,-0.183322642555,-0.183416890719,-0.183511137197,-0.183605381988,-0.183699625092,-0.183793866507,-0.183888106233,-0.183982344269,-0.184076580613,-0.184170815266,-0.184265048226,-0.184359279491,-0.184453509063,-0.184547736939,-0.184641963118,-0.1847361876,-0.184830410385,-0.18492463147,-0.185018850856,-0.185113068541,-0.185207284524,-0.185301498805,-0.185395711383,-0.185489922257,-0.185584131425,-0.185678338888,-0.185772544644,-0.185866748693,-0.185960951033,-0.186055151663,-0.186149350584,-0.186243547794,-0.186337743291,-0.186431937076,-0.186526129147,-0.186620319504,-0.186714508145,-0.18680869507,-0.186902880278,-0.186997063768,-0.18709124554,-0.187185425591,-0.187279603922,-0.187373780531,-0.187467955419,-0.187562128583,-0.187656300023,-0.187750469738,-0.187844637727,-0.18793880399,-0.188032968525,-0.188127131332,-0.188221292409,-0.188315451757,-0.188409609373,-0.188503765258,-0.18859791941,-0.188692071829,-0.188786222513,-0.188880371462,-0.188974518674,-0.18906866415,-0.189162807888,-0.189256949887,-0.189351090146,-0.189445228665,-0.189539365443,-0.189633500478,-0.18972763377,-0.189821765319,-0.189915895122,-0.19001002318,-0.190104149492,-0.190198274056,-0.190292396871,-0.190386517938,-0.190480637254,-0.19057475482,-0.190668870634,-0.190762984696,-0.190857097004,-0.190951207557,-0.191045316356,-0.191139423398,-0.191233528684,-0.191327632212,-0.191421733981,-0.19151583399,-0.19160993224,-0.191704028728,-0.191798123453,-0.191892216416,-0.191986307615,-0.19208039705,-0.192174484719,-0.192268570621,-0.192362654756,-0.192456737123,-0.192550817721,-0.192644896549,-0.192738973607,-0.192833048892,-0.192927122405,-0.193021194145,-0.193115264111,-0.193209332302,-0.193303398716,-0.193397463354,-0.193491526214,-0.193585587296,-0.193679646598,-0.19377370412,-0.193867759861,-0.19396181382,-0.194055865996,-0.194149916388,-0.194243964996,-0.194338011818,-0.194432056854,-0.194526100103,-0.194620141563,-0.194714181235,-0.194808219117,-0.194902255209,-0.194996289509,-0.195090322016,-0.19518435273,-0.195278381651,-0.195372408776,-0.195466434105,-0.195560457638,-0.195654479373,-0.19574849931,-0.195842517448,-0.195936533785,-0.196030548321,-0.196124561056,-0.196218571988,-0.196312581116,-0.19640658844,-0.196500593958,-0.19659459767,-0.196688599575,-0.196782599672,-0.196876597961,-0.19697059444,-0.197064589108,-0.197158581965,-0.197252573009,-0.197346562241,-0.197440549659,-0.197534535261,-0.197628519048,-0.197722501019,-0.197816481172,-0.197910459507,-0.198004436022,-0.198098410718,-0.198192383593,-0.198286354646,-0.198380323876,-0.198474291283,-0.198568256866,-0.198662220623,-0.198756182554,-0.198850142659,-0.198944100935,-0.199038057383,-0.199132012002,-0.19922596479,-0.199319915747,-0.199413864871,-0.199507812163,-0.199601757621,-0.199695701244,-0.199789643032,-0.199883582983,-0.199977521097,-0.200071457373,-0.20016539181,-0.200259324407,-0.200353255163,-0.200447184078,-0.20054111115,-0.200635036378,-0.200728959763,-0.200822881302,-0.200916800996,-0.201010718843,-0.201104634842,-0.201198548993,-0.201292461294,-0.201386371745,-0.201480280345,-0.201574187093,-0.201668091988,-0.20176199503,-0.201855896217,-0.201949795548,-0.202043693023,-0.202137588641,-0.202231482401,-0.202325374303,-0.202419264344,-0.202513152525,-0.202607038844,-0.202700923302,-0.202794805895,-0.202888686625,-0.20298256549,-0.203076442489,-0.203170317622,-0.203264190887,-0.203358062284,-0.203451931811,-0.203545799469,-0.203639665255,-0.20373352917,-0.203827391212,-0.20392125138,-0.204015109674,-0.204108966093,-0.204202820635,-0.204296673301,-0.204390524089,-0.204484372998,-0.204578220027,-0.204672065176,-0.204765908444,-0.20485974983,-0.204953589332,-0.205047426951,-0.205141262685,-0.205235096533,-0.205328928495,-0.20542275857,-0.205516586756,-0.205610413053,-0.20570423746,-0.205798059977,-0.205891880602,-0.205985699334,-0.206079516173,-0.206173331118,-0.206267144167,-0.206360955321,-0.206454764578,-0.206548571937,-0.206642377398,-0.206736180959,-0.20682998262,-0.20692378238,-0.207017580237,-0.207111376192,-0.207205170243,-0.20729896239,-0.207392752631,-0.207486540966,-0.207580327394,-0.207674111913,-0.207767894524,-0.207861675225,-0.207955454015,-0.208049230894,-0.208143005861,-0.208236778914,-0.208330550053,-0.208424319278,-0.208518086586,-0.208611851978,-0.208705615453,-0.208799377009,-0.208893136645,-0.208986894362,-0.209080650158,-0.209174404032,-0.209268155983,-0.20936190601,-0.209455654114,-0.209549400292,-0.209643144543,-0.209736886868,-0.209830627265,-0.209924365734,-0.210018102272,-0.21011183688,-0.210205569557,-0.210299300302,-0.210393029114,-0.210486755992,-0.210580480935,-0.210674203942,-0.210767925013,-0.210861644147,-0.210955361343,-0.211049076599,-0.211142789916,-0.211236501291,-0.211330210725,-0.211423918217,-0.211517623765,-0.211611327369,-0.211705029028,-0.211798728741,-0.211892426507,-0.211986122326,-0.212079816196,-0.212173508116,-0.212267198087,-0.212360886106,-0.212454572173,-0.212548256288,-0.212641938448,-0.212735618654,-0.212829296905,-0.2129229732,-0.213016647537,-0.213110319916,-0.213203990337,-0.213297658797,-0.213391325297,-0.213484989836,-0.213578652412,-0.213672313026,-0.213765971675,-0.213859628359,-0.213953283078,-0.214046935829,-0.214140586614,-0.21423423543,-0.214327882277,-0.214421527154,-0.21451517006,-0.214608810994,-0.214702449955,-0.214796086943,-0.214889721957,-0.214983354995,-0.215076986058,-0.215170615143,-0.215264242251,-0.21535786738,-0.215451490529,-0.215545111698,-0.215638730886,-0.215732348092,-0.215825963314,-0.215919576553,-0.216013187808,-0.216106797076,-0.216200404358,-0.216294009653,-0.21638761296,-0.216481214278,-0.216574813606,-0.216668410944,-0.216762006289,-0.216855599643,-0.216949191003,-0.217042780369,-0.217136367739,-0.217229953114,-0.217323536493,-0.217417117873,-0.217510697256,-0.217604274638,-0.217697850021,-0.217791423403,-0.217884994783,-0.21797856416,-0.218072131533,-0.218165696902,-0.218259260266,-0.218352821623,-0.218446380974,-0.218539938316,-0.21863349365,-0.218727046974,-0.218820598288,-0.21891414759,-0.21900769488,-0.219101240157,-0.21919478342,-0.219288324668,-0.219381863901,-0.219475401117,-0.219568936315,-0.219662469496,-0.219756000657,-0.219849529799,-0.219943056919,-0.220036582018,-0.220130105095,-0.220223626148,-0.220317145177,-0.22041066218,-0.220504177158,-0.220597690109,-0.220691201032,-0.220784709927,-0.220878216792,-0.220971721627,-0.221065224431,-0.221158725203,-0.221252223942,-0.221345720647,-0.221439215318,-0.221532707953,-0.221626198552,-0.221719687114,-0.221813173638,-0.221906658123,-0.222000140568,-0.222093620973,-0.222187099337,-0.222280575658,-0.222374049935,-0.222467522169,-0.222560992358,-0.222654460502,-0.222747926598,-0.222841390647,-0.222934852648,-0.2230283126,-0.223121770502,-0.223215226353,-0.223308680152,-0.223402131898,-0.223495581591,-0.22358902923,-0.223682474813,-0.223775918341,-0.223869359811,-0.223962799224,-0.224056236578,-0.224149671873,-0.224243105107,-0.22433653628,-0.224429965392,-0.22452339244,-0.224616817424,-0.224710240344,-0.224803661198,-0.224897079986,-0.224990496707,-0.22508391136,-0.225177323944,-0.225270734458,-0.225364142901,-0.225457549273,-0.225550953572,-0.225644355799,-0.225737755951,-0.225831154028,-0.22592455003,-0.226017943954,-0.226111335802,-0.226204725571,-0.22629811326,-0.22639149887,-0.226484882399,-0.226578263846,-0.22667164321,-0.226765020491,-0.226858395687,-0.226951768798,-0.227045139823,-0.227138508761,-0.227231875611,-0.227325240373,-0.227418603045,-0.227511963627,-0.227605322117,-0.227698678516,-0.227792032821,-0.227885385033,-0.22797873515,-0.228072083171,-0.228165429096,-0.228258772924,-0.228352114653,-0.228445454284,-0.228538791815,-0.228632127245,-0.228725460574,-0.2288187918,-0.228912120923,-0.229005447942,-0.229098772856,-0.229192095664,-0.229285416365,-0.229378734959,-0.229472051444,-0.229565365821,-0.229658678087,-0.229751988242,-0.229845296285,-0.229938602216,-0.230031906033,-0.230125207735,-0.230218507323,-0.230311804794,-0.230405100148,-0.230498393385,-0.230591684502,-0.230684973501,-0.230778260378,-0.230871545135,-0.230964827769,-0.231058108281,-0.231151386668,-0.231244662931,-0.231337937069,-0.231431209079,-0.231524478963,-0.231617746719,-0.231711012345,-0.231804275842,-0.231897537208,-0.231990796442,-0.232084053545,-0.232177308513,-0.232270561348,-0.232363812048,-0.232457060612,-0.232550307039,-0.232643551328,-0.23273679348,-0.232830033492,-0.232923271363,-0.233016507094,-0.233109740683,-0.233202972129,-0.233296201432,-0.233389428591,-0.233482653604,-0.233575876471,-0.233669097191,-0.233762315763,-0.233855532186,-0.23394874646,-0.234041958584,-0.234135168556,-0.234228376376,-0.234321582043,-0.234414785556,-0.234507986915,-0.234601186118,-0.234694383165,-0.234787578054,-0.234880770785,-0.234973961358,-0.23506714977,-0.235160336022,-0.235253520112,-0.23534670204,-0.235439881805,-0.235533059405,-0.23562623484,-0.23571940811,-0.235812579213,-0.235905748149,-0.235998914916,-0.236092079513,-0.236185241941,-0.236278402198,-0.236371560283,-0.236464716195,-0.236557869934,-0.236651021498,-0.236744170887,-0.2368373181,-0.236930463136,-0.237023605994,-0.237116746674,-0.237209885174,-0.237303021494,-0.237396155632,-0.237489287588,-0.237582417362,-0.237675544951,-0.237768670356,-0.237861793575,-0.237954914608,-0.238048033454,-0.238141150112,-0.23823426458,-0.238327376859,-0.238420486948,-0.238513594844,-0.238606700549,-0.23869980406,-0.238792905377,-0.238886004499,-0.238979101425,-0.239072196155,-0.239165288687,-0.239258379021,-0.239351467156,-0.239444553091,-0.239537636824,-0.239630718356,-0.239723797685,-0.239816874811,-0.239909949733,-0.240003022449,-0.240096092959,-0.240189161262,-0.240282227358,-0.240375291244,-0.240468352922,-0.240561412389,-0.240654469645,-0.240747524689,-0.24084057752,-0.240933628137,-0.241026676539,-0.241119722726,-0.241212766697,-0.241305808451,-0.241398847986,-0.241491885303,-0.2415849204,-0.241677953276,-0.241770983931,-0.241864012364,-0.241957038573,-0.242050062558,-0.242143084319,-0.242236103854,-0.242329121162,-0.242422136243,-0.242515149095,-0.242608159718,-0.242701168112,-0.242794174274,-0.242887178205,-0.242980179903,-0.243073179368,-0.243166176599,-0.243259171594,-0.243352164353,-0.243445154876,-0.243538143161,-0.243631129207,-0.243724113014,-0.24381709458,-0.243910073906,-0.24400305099,-0.24409602583,-0.244188998427,-0.24428196878,-0.244374936887,-0.244467902748,-0.244560866362,-0.244653827727,-0.244746786844,-0.244839743712,-0.244932698329,-0.245025650694,-0.245118600807,-0.245211548668,-0.245304494274,-0.245397437625,-0.245490378721,-0.245583317561,-0.245676254142,-0.245769188466,-0.245862120531,-0.245955050336,-0.24604797788,-0.246140903162,-0.246233826182,-0.246326746939,-0.246419665431,-0.246512581659,-0.24660549562,-0.246698407315,-0.246791316742,-0.246884223901,-0.24697712879,-0.247070031409,-0.247162931758,-0.247255829834,-0.247348725638,-0.247441619168,-0.247534510423,-0.247627399404,-0.247720286108,-0.247813170535,-0.247906052685,-0.247998932555,-0.248091810146,-0.248184685457,-0.248277558487,-0.248370429234,-0.248463297698,-0.248556163879,-0.248649027775,-0.248741889385,-0.248834748709,-0.248927605746,-0.249020460494,-0.249113312954,-0.249206163124,-0.249299011003,-0.249391856591,-0.249484699886,-0.249577540889,-0.249670379597,-0.24976321601,-0.249856050127,-0.249948881948,-0.250041711471,-0.250134538696,-0.250227363622,-0.250320186248,-0.250413006573,-0.250505824596,-0.250598640317,-0.250691453734,-0.250784264847,-0.250877073654,-0.250969880156,-0.251062684351,-0.251155486238,-0.251248285816,-0.251341083085,-0.251433878044,-0.251526670692,-0.251619461028,-0.25171224905,-0.25180503476,-0.251897818154,-0.251990599233,-0.252083377996,-0.252176154442,-0.25226892857,-0.25236170038,-0.252454469869,-0.252547237038,-0.252640001886,-0.252732764411,-0.252825524613,-0.252918282492,-0.253011038046,-0.253103791274,-0.253196542175,-0.25328929075,-0.253382036996,-0.253474780913,-0.2535675225,-0.253660261756,-0.253752998681,-0.253845733273,-0.253938465532,-0.254031195457,-0.254123923047,-0.254216648301,-0.254309371219,-0.254402091799,-0.25449481004,-0.254587525942,-0.254680239504,-0.254772950725,-0.254865659605,-0.254958366141,-0.255051070334,-0.255143772183,-0.255236471686,-0.255329168844,-0.255421863654,-0.255514556117,-0.255607246231,-0.255699933995,-0.25579261941,-0.255885302473,-0.255977983184,-0.256070661542,-0.256163337546,-0.256256011196,-0.25634868249,-0.256441351428,-0.256534018009,-0.256626682232,-0.256719344096,-0.2568120036,-0.256904660743,-0.256997315526,-0.257089967946,-0.257182618003,-0.257275265696,-0.257367911024,-0.257460553986,-0.257553194582,-0.257645832811,-0.257738468671,-0.257831102162,-0.257923733283,-0.258016362034,-0.258108988413,-0.258201612419,-0.258294234052,-0.258386853311,-0.258479470195,-0.258572084703,-0.258664696834,-0.258757306588,-0.258849913963,-0.258942518959,-0.259035121575,-0.25912772181,-0.259220319663,-0.259312915133,-0.25940550822,-0.259498098922,-0.259590687239,-0.25968327317,-0.259775856714,-0.25986843787,-0.259961016637,-0.260053593015,-0.260146167003,-0.2602387386,-0.260331307804,-0.260423874615,-0.260516439033,-0.260609001056,-0.260701560684,-0.260794117915,-0.260886672749,-0.260979225186,-0.261071775223,-0.26116432286,-0.261256868097,-0.261349410933,-0.261441951366,-0.261534489397,-0.261627025023,-0.261719558244,-0.26181208906,-0.261904617469,-0.261997143471,-0.262089667065,-0.262182188249,-0.262274707024,-0.262367223388,-0.26245973734,-0.26255224888,-0.262644758006,-0.262737264719,-0.262829769016,-0.262922270897,-0.263014770362,-0.263107267409,-0.263199762037,-0.263292254247,-0.263384744036,-0.263477231404,-0.263569716351,-0.263662198875,-0.263754678975,-0.263847156651,-0.263939631901,-0.264032104726,-0.264124575124,-0.264217043093,-0.264309508635,-0.264401971746,-0.264494432428,-0.264586890678,-0.264679346496,-0.264771799882,-0.264864250833,-0.26495669935,-0.265049145432,-0.265141589077,-0.265234030286,-0.265326469056,-0.265418905387,-0.265511339279,-0.26560377073,-0.26569619974,-0.265788626308,-0.265881050432,-0.265973472113,-0.266065891349,-0.266158308139,-0.266250722483,-0.266343134379,-0.266435543828,-0.266527950827,-0.266620355376,-0.266712757475,-0.266805157122,-0.266897554317,-0.266989949058,-0.267082341345,-0.267174731178,-0.267267118554,-0.267359503474,-0.267451885937,-0.267544265941,-0.267636643486,-0.26772901857,-0.267821391194,-0.267913761356,-0.268006129056,-0.268098494292,-0.268190857063,-0.26828321737,-0.268375575211,-0.268467930584,-0.26856028349,-0.268652633928,-0.268744981896,-0.268837327394,-0.26892967042,-0.269022010975,-0.269114349057,-0.269206684665,-0.269299017799,-0.269391348458,-0.26948367664,-0.269576002346,-0.269668325573,-0.269760646322,-0.269852964591,-0.269945280379,-0.270037593687,-0.270129904512,-0.270222212854,-0.270314518713,-0.270406822087,-0.270499122975,-0.270591421377,-0.270683717291,-0.270776010718,-0.270868301656,-0.270960590104,-0.271052876061,-0.271145159527,-0.2712374405,-0.271329718981,-0.271421994967,-0.271514268459,-0.271606539455,-0.271698807954,-0.271791073956,-0.271883337459,-0.271975598464,-0.272067856969,-0.272160112972,-0.272252366475,-0.272344617474,-0.272436865971,-0.272529111963,-0.27262135545,-0.272713596431,-0.272805834906,-0.272898070873,-0.272990304331,-0.273082535281,-0.27317476372,-0.273266989648,-0.273359213064,-0.273451433968,-0.273543652358,-0.273635868234,-0.273728081595,-0.27382029244,-0.273912500767,-0.274004706577,-0.274096909869,-0.274189110641,-0.274281308892,-0.274373504623,-0.274465697831,-0.274557888517,-0.274650076679,-0.274742262317,-0.274834445429,-0.274926626015,-0.275018804074,-0.275110979605,-0.275203152607,-0.275295323079,-0.275387491021,-0.275479656432,-0.275571819311,-0.275663979657,-0.275756137468,-0.275848292746,-0.275940445487,-0.276032595692,-0.27612474336,-0.27621688849,-0.276309031081,-0.276401171132,-0.276493308643,-0.276585443612,-0.276677576039,-0.276769705923,-0.276861833262,-0.276953958057,-0.277046080306,-0.277138200009,-0.277230317164,-0.277322431771,-0.277414543828,-0.277506653336,-0.277598760293,-0.277690864699,-0.277782966552,-0.277875065852,-0.277967162597,-0.278059256787,-0.278151348422,-0.2782434375,-0.27833552402,-0.278427607982,-0.278519689385,-0.278611768228,-0.278703844509,-0.278795918229,-0.278887989387,-0.27898005798,-0.27907212401,-0.279164187474,-0.279256248372,-0.279348306704,-0.279440362467,-0.279532415663,-0.279624466288,-0.279716514344,-0.279808559828,-0.279900602741,-0.27999264308,-0.280084680846,-0.280176716038,-0.280268748654,-0.280360778694,-0.280452806157,-0.280544831042,-0.280636853349,-0.280728873076,-0.280820890222,-0.280912904788,-0.281004916771,-0.281096926171,-0.281188932988,-0.281280937219,-0.281372938866,-0.281464937926,-0.281556934399,-0.281648928284,-0.28174091958,-0.281832908286,-0.281924894402,-0.282016877926,-0.282108858858,-0.282200837197,-0.282292812942,-0.282384786093,-0.282476756647,-0.282568724606,-0.282660689967,-0.282752652729,-0.282844612893,-0.282936570457,-0.28302852542,-0.283120477782,-0.283212427541,-0.283304374697,-0.283396319249,-0.283488261197,-0.283580200538,-0.283672137273,-0.2837640714,-0.283856002919,-0.283947931829,-0.284039858129,-0.284131781818,-0.284223702895,-0.28431562136,-0.284407537211,-0.284499450449,-0.284591361071,-0.284683269077,-0.284775174466,-0.284867077238,-0.284958977392,-0.285050874926,-0.28514276984,-0.285234662133,-0.285326551805,-0.285418438853,-0.285510323278,-0.285602205079,-0.285694084255,-0.285785960804,-0.285877834727,-0.285969706022,-0.286061574688,-0.286153440725,-0.286245304132,-0.286337164908,-0.286429023051,-0.286520878562,-0.286612731439,-0.286704581682,-0.286796429289,-0.286888274261,-0.286980116595,-0.287071956291,-0.287163793349,-0.287255627767,-0.287347459545,-0.287439288681,-0.287531115176,-0.287622939027,-0.287714760235,-0.287806578798,-0.287898394715,-0.287990207987,-0.288082018611,-0.288173826587,-0.288265631915,-0.288357434592,-0.288449234619,-0.288541031995,-0.288632826719,-0.288724618789,-0.288816408206,-0.288908194968,-0.288999979074,-0.289091760524,-0.289183539317,-0.289275315451,-0.289367088927,-0.289458859743,-0.289550627898,-0.289642393391,-0.289734156223,-0.289825916391,-0.289917673895,-0.290009428734,-0.290101180908,-0.290192930415,-0.290284677254,-0.290376421426,-0.290468162928,-0.290559901761,-0.290651637922,-0.290743371412,-0.29083510223,-0.290926830374,-0.291018555844,-0.291110278639,-0.291201998759,-0.291293716201,-0.291385430966,-0.291477143053,-0.291568852461,-0.291660559188,-0.291752263235,-0.2918439646,-0.291935663282,-0.292027359281,-0.292119052596,-0.292210743226,-0.292302431169,-0.292394116426,-0.292485798996,-0.292577478876,-0.292669156068,-0.292760830569,-0.29285250238,-0.292944171498,-0.293035837924,-0.293127501656,-0.293219162694,-0.293310821037,-0.293402476684,-0.293494129634,-0.293585779886,-0.293677427439,-0.293769072293,-0.293860714447,-0.2939523539,-0.29404399065,-0.294135624698,-0.294227256043,-0.294318884683,-0.294410510617,-0.294502133846,-0.294593754367,-0.294685372181,-0.294776987285,-0.294868599681,-0.294960209366,-0.295051816339,-0.295143420601,-0.29523502215,-0.295326620985,-0.295418217106,-0.295509810511,-0.295601401199,-0.295692989171,-0.295784574425,-0.29587615696,-0.295967736775,-0.29605931387,-0.296150888244,-0.296242459895,-0.296334028823,-0.296425595028,-0.296517158508,-0.296608719262,-0.29670027729,-0.296791832591,-0.296883385164,-0.296974935008,-0.297066482122,-0.297158026505,-0.297249568157,-0.297341107077,-0.297432643264,-0.297524176717,-0.297615707435,-0.297707235418,-0.297798760664,-0.297890283172,-0.297981802943,-0.298073319974,-0.298164834266,-0.298256345817,-0.298347854627,-0.298439360694,-0.298530864018,-0.298622364598,-0.298713862433,-0.298805357523,-0.298896849865,-0.298988339461,-0.299079826308,-0.299171310406,-0.299262791754,-0.299354270352,-0.299445746198,-0.299537219291,-0.299628689631,-0.299720157217,-0.299811622048,-0.299903084124,-0.299994543442,-0.300086000003,-0.300177453806,-0.30026890485,-0.300360353133,-0.300451798656,-0.300543241417,-0.300634681416,-0.300726118651,-0.300817553122,-0.300908984828,-0.301000413768,-0.301091839941,-0.301183263347,-0.301274683984,-0.301366101852,-0.30145751695,-0.301548929277,-0.301640338833,-0.301731745615,-0.301823149625,-0.301914550859,-0.302005949319,-0.302097345003,-0.30218873791,-0.302280128039,-0.30237151539,-0.302462899962,-0.302554281753,-0.302645660763,-0.302737036992,-0.302828410438,-0.3029197811,-0.303011148978,-0.30310251407,-0.303193876377,-0.303285235897,-0.303376592629,-0.303467946572,-0.303559297726,-0.30365064609,-0.303741991662,-0.303833334443,-0.303924674431,-0.304016011625,-0.304107346025,-0.30419867763,-0.304290006438,-0.30438133245,-0.304472655663,-0.304563976079,-0.304655293694,-0.304746608509,-0.304837920523,-0.304929229735,-0.305020536145,-0.30511183975,-0.305203140551,-0.305294438547,-0.305385733736,-0.305477026119,-0.305568315693,-0.305659602459,-0.305750886415,-0.305842167561,-0.305933445896,-0.306024721418,-0.306115994128,-0.306207264024,-0.306298531105,-0.306389795371,-0.30648105682,-0.306572315453,-0.306663571267,-0.306754824263,-0.306846074439,-0.306937321795,-0.307028566329,-0.307119808042,-0.307211046931,-0.307302282996,-0.307393516237,-0.307484746652,-0.307575974241,-0.307667199003,-0.307758420937,-0.307849640042,-0.307940856317,-0.308032069761,-0.308123280375,-0.308214488156,-0.308305693104,-0.308396895218,-0.308488094498,-0.308579290942,-0.308670484549,-0.308761675319,-0.308852863252,-0.308944048345,-0.309035230598,-0.309126410011,-0.309217586583,-0.309308760312,-0.309399931198,-0.309491099241,-0.309582264438,-0.30967342679,-0.309764586295,-0.309855742954,-0.309946896764,-0.310038047725,-0.310129195836,-0.310220341096,-0.310311483506,-0.310402623062,-0.310493759766,-0.310584893616,-0.31067602461,-0.31076715275,-0.310858278032,-0.310949400458,-0.311040520025,-0.311131636733,-0.311222750581,-0.311313861569,-0.311404969695,-0.311496074958,-0.311587177359,-0.311678276895,-0.311769373567,-0.311860467372,-0.311951558312,-0.312042646384,-0.312133731587,-0.312224813922,-0.312315893386,-0.31240696998,-0.312498043703,-0.312589114553,-0.312680182529,-0.312771247632,-0.31286230986,-0.312953369212,-0.313044425687,-0.313135479285,-0.313226530004,-0.313317577845,-0.313408622805,-0.313499664885,-0.313590704083,-0.313681740399,-0.313772773831,-0.31386380438,-0.313954832043,-0.31404585682,-0.314136878711,-0.314227897714,-0.314318913829,-0.314409927055,-0.314500937391,-0.314591944836,-0.31468294939,-0.314773951051,-0.314864949818,-0.314955945692,-0.31504693867,-0.315137928753,-0.315228915938,-0.315319900227,-0.315410881617,-0.315501860108,-0.315592835698,-0.315683808388,-0.315774778176,-0.315865745062,-0.315956709045,-0.316047670123,-0.316138628296,-0.316229583563,-0.316320535923,-0.316411485376,-0.316502431921,-0.316593375556,-0.316684316281,-0.316775254096,-0.316866188998,-0.316957120989,-0.317048050065,-0.317138976228,-0.317229899475,-0.317320819806,-0.317411737221,-0.317502651718,-0.317593563297,-0.317684471956,-0.317775377696,-0.317866280514,-0.317957180411,-0.318048077385,-0.318138971436,-0.318229862562,-0.318320750763,-0.318411636039,-0.318502518387,-0.318593397808,-0.318684274301,-0.318775147864,-0.318866018497,-0.318956886199,-0.31904775097,-0.319138612808,-0.319229471712,-0.319320327682,-0.319411180717,-0.319502030816,-0.319592877978,-0.319683722203,-0.319774563489,-0.319865401836,-0.319956237242,-0.320047069708,-0.320137899232,-0.320228725813,-0.320319549451,-0.320410370144,-0.320501187893,-0.320592002695,-0.320682814551,-0.320773623458,-0.320864429418,-0.320955232428,-0.321046032488,-0.321136829597,-0.321227623754,-0.321318414958,-0.321409203209,-0.321499988506,-0.321590770847,-0.321681550233,-0.321772326662,-0.321863100133,-0.321953870645,-0.322044638198,-0.322135402791,-0.322226164423,-0.322316923094,-0.322407678801,-0.322498431545,-0.322589181325,-0.322679928139,-0.322770671988,-0.322861412869,-0.322952150783,-0.323042885729,-0.323133617705,-0.323224346711,-0.323315072746,-0.323405795809,-0.3234965159,-0.323587233016,-0.323677947159,-0.323768658326,-0.323859366518,-0.323950071732,-0.324040773969,-0.324131473228,-0.324222169507,-0.324312862805,-0.324403553123,-0.324494240459,-0.324584924813,-0.324675606182,-0.324766284568,-0.324856959968,-0.324947632382,-0.32503830181,-0.325128968249,-0.3252196317,-0.325310292162,-0.325400949634,-0.325491604115,-0.325582255603,-0.325672904099,-0.325763549602,-0.32585419211,-0.325944831623,-0.32603546814,-0.326126101661,-0.326216732183,-0.326307359707,-0.326397984232,-0.326488605756,-0.32657922428,-0.326669839801,-0.32676045232,-0.326851061836,-0.326941668347,-0.327032271853,-0.327122872352,-0.327213469845,-0.327304064331,-0.327394655808,-0.327485244275,-0.327575829733,-0.327666412179,-0.327756991613,-0.327847568035,-0.327938141443,-0.328028711837,-0.328119279216,-0.328209843579,-0.328300404925,-0.328390963253,-0.328481518563,-0.328572070854,-0.328662620124,-0.328753166373,-0.328843709601,-0.328934249806,-0.329024786987,-0.329115321144,-0.329205852276,-0.329296380382,-0.329386905461,-0.329477427512,-0.329567946535,-0.329658462529,-0.329748975492,-0.329839485424,-0.329929992325,-0.330020496193,-0.330110997028,-0.330201494828,-0.330291989593,-0.330382481322,-0.330472970014,-0.330563455669,-0.330653938285,-0.330744417862,-0.330834894399,-0.330925367895,-0.331015838349,-0.33110630576,-0.331196770128,-0.331287231451,-0.33137768973,-0.331468144962,-0.331558597148,-0.331649046286,-0.331739492376,-0.331829935416,-0.331920375407,-0.332010812346,-0.332101246234,-0.332191677069,-0.33228210485,-0.332372529578,-0.33246295125,-0.332553369866,-0.332643785426,-0.332734197927,-0.332824607371,-0.332915013755,-0.333005417079,-0.333095817343,-0.333186214544,-0.333276608683,-0.333366999759,-0.33345738777,-0.333547772716,-0.333638154596,-0.33372853341,-0.333818909156,-0.333909281834,-0.333999651442,-0.33409001798,-0.334180381448,-0.334270741844,-0.334361099167,-0.334451453417,-0.334541804592,-0.334632152693,-0.334722497718,-0.334812839666,-0.334903178536,-0.334993514328,-0.335083847041,-0.335174176674,-0.335264503226,-0.335354826697,-0.335445147085,-0.335535464389,-0.335625778609,-0.335716089745,-0.335806397794,-0.335896702757,-0.335987004633,-0.33607730342,-0.336167599118,-0.336257891726,-0.336348181243,-0.336438467668,-0.336528751001,-0.336619031241,-0.336709308387,-0.336799582437,-0.336889853392,-0.33698012125,-0.337070386011,-0.337160647674,-0.337250906237,-0.337341161701,-0.337431414063,-0.337521663324,-0.337611909483,-0.337702152538,-0.33779239249,-0.337882629336,-0.337972863077,-0.338063093711,-0.338153321238,-0.338243545656,-0.338333766966,-0.338423985165,-0.338514200254,-0.338604412231,-0.338694621096,-0.338784826848,-0.338875029485,-0.338965229008,-0.339055425415,-0.339145618705,-0.339235808879,-0.339325995934,-0.33941617987,-0.339506360686,-0.339596538381,-0.339686712955,-0.339776884407,-0.339867052735,-0.33995721794,-0.340047380019,-0.340137538974,-0.340227694801,-0.340317847501,-0.340407997074,-0.340498143517,-0.34058828683,-0.340678427013,-0.340768564064,-0.340858697983,-0.340948828769,-0.341038956421,-0.341129080939,-0.34121920232,-0.341309320566,-0.341399435674,-0.341489547644,-0.341579656475,-0.341669762166,-0.341759864717,-0.341849964126,-0.341940060393,-0.342030153518,-0.342120243498,-0.342210330333,-0.342300414024,-0.342390494567,-0.342480571964,-0.342570646212,-0.342660717312,-0.342750785262,-0.342840850062,-0.34293091171,-0.343020970206,-0.343111025549,-0.343201077738,-0.343291126773,-0.343381172652,-0.343471215375,-0.343561254941,-0.343651291349,-0.343741324598,-0.343831354687,-0.343921381616,-0.344011405384,-0.34410142599,-0.344191443433,-0.344281457712,-0.344371468826,-0.344461476776,-0.344551481559,-0.344641483174,-0.344731481622,-0.344821476902,-0.344911469012,-0.345001457951,-0.345091443719,-0.345181426316,-0.345271405739,-0.345361381989,-0.345451355064,-0.345541324964,-0.345631291688,-0.345721255235,-0.345811215604,-0.345901172794,-0.345991126805,-0.346081077636,-0.346171025285,-0.346260969753,-0.346350911038,-0.346440849139,-0.346530784056,-0.346620715788,-0.346710644334,-0.346800569692,-0.346890491863,-0.346980410846,-0.347070326639,-0.347160239242,-0.347250148654,-0.347340054874,-0.347429957901,-0.347519857735,-0.347609754375,-0.347699647819,-0.347789538067,-0.347879425119,-0.347969308973,-0.348059189629,-0.348149067085,-0.348238941341,-0.348328812396,-0.348418680249,-0.3485085449,-0.348598406348,-0.348688264591,-0.348778119629,-0.348867971461,-0.348957820087,-0.349047665505,-0.349137507714,-0.349227346714,-0.349317182505,-0.349407015084,-0.349496844452,-0.349586670607,-0.349676493549,-0.349766313277,-0.34985612979,-0.349945943087,-0.350035753168,-0.350125560031,-0.350215363675,-0.350305164101,-0.350394961307,-0.350484755292,-0.350574546055,-0.350664333596,-0.350754117913,-0.350843899007,-0.350933676876,-0.351023451519,-0.351113222935,-0.351202991125,-0.351292756086,-0.351382517818,-0.35147227632,-0.351562031591,-0.351651783631,-0.351741532439,-0.351831278013,-0.351921020354,-0.35201075946,-0.35210049533,-0.352190227964,-0.35227995736,-0.352369683519,-0.352459406438,-0.352549126118,-0.352638842557,-0.352728555755,-0.352818265711,-0.352907972424,-0.352997675892,-0.353087376116,-0.353177073095,-0.353266766827,-0.353356457312,-0.353446144549,-0.353535828538,-0.353625509277,-0.353715186765,-0.353804861002,-0.353894531987,-0.353984199719,-0.354073864197,-0.35416352542,-0.354253183389,-0.354342838101,-0.354432489556,-0.354522137753,-0.354611782691,-0.35470142437,-0.354791062789,-0.354880697946,-0.354970329842,-0.355059958474,-0.355149583843,-0.355239205948,-0.355328824787,-0.35541844036,-0.355508052666,-0.355597661705,-0.355687267475,-0.355776869975,-0.355866469205,-0.355956065165,-0.356045657852,-0.356135247267,-0.356224833408,-0.356314416274,-0.356403995866,-0.356493572182,-0.35658314522,-0.356672714982,-0.356762281464,-0.356851844668,-0.356941404591,-0.357030961233,-0.357120514594,-0.357210064672,-0.357299611467,-0.357389154977,-0.357478695203,-0.357568232142,-0.357657765795,-0.35774729616,-0.357836823237,-0.357926347025,-0.358015867523,-0.35810538473,-0.358194898645,-0.358284409268,-0.358373916598,-0.358463420634,-0.358552921374,-0.358642418819,-0.358731912968,-0.358821403819,-0.358910891371,-0.359000375625,-0.359089856579,-0.359179334232,-0.359268808584,-0.359358279633,-0.35944774738,-0.359537211822,-0.359626672959,-0.359716130791,-0.359805585317,-0.359895036535,-0.359984484445,-0.360073929046,-0.360163370338,-0.360252808319,-0.360342242988,-0.360431674346,-0.36052110239,-0.360610527121,-0.360699948537,-0.360789366637,-0.360878781421,-0.360968192888,-0.361057601037,-0.361147005867,-0.361236407378,-0.361325805568,-0.361415200438,-0.361504591985,-0.361593980209,-0.361683365109,-0.361772746685,-0.361862124936,-0.36195149986,-0.362040871458,-0.362130239727,-0.362219604668,-0.36230896628,-0.362398324561,-0.362487679511,-0.36257703113,-0.362666379415,-0.362755724367,-0.362845065985,-0.362934404268,-0.363023739214,-0.363113070824,-0.363202399096,-0.363291724029,-0.363381045623,-0.363470363877,-0.36355967879,-0.363648990362,-0.363738298591,-0.363827603476,-0.363916905017,-0.364006203213,-0.364095498064,-0.364184789567,-0.364274077723,-0.364363362531,-0.364452643989,-0.364541922098,-0.364631196856,-0.364720468262,-0.364809736316,-0.364899001016,-0.364988262363,-0.365077520354,-0.36516677499,-0.365256026269,-0.365345274191,-0.365434518755,-0.36552375996,-0.365612997805,-0.365702232289,-0.365791463412,-0.365880691173,-0.36596991557,-0.366059136604,-0.366148354272,-0.366237568576,-0.366326779513,-0.366415987082,-0.366505191284,-0.366594392117,-0.36668358958,-0.366772783673,-0.366861974394,-0.366951161743,-0.36704034572,-0.367129526322,-0.36721870355,-0.367307877403,-0.367397047879,-0.367486214979,-0.3675753787,-0.367664539043,-0.367753696007,-0.36784284959,-0.367931999792,-0.368021146612,-0.368110290049,-0.368199430102,-0.368288566771,-0.368377700055,-0.368466829953,-0.368555956464,-0.368645079588,-0.368734199323,-0.368823315668,-0.368912428624,-0.369001538188,-0.369090644361,-0.369179747141,-0.369268846527,-0.36935794252,-0.369447035117,-0.369536124318,-0.369625210123,-0.36971429253,-0.369803371539,-0.369892447149,-0.369981519359,-0.370070588168,-0.370159653575,-0.37024871558,-0.370337774182,-0.370426829379,-0.370515881172,-0.370604929559,-0.37069397454,-0.370783016113,-0.370872054278,-0.370961089034,-0.37105012038,-0.371139148316,-0.37122817284,-0.371317193952,-0.371406211651,-0.371495225936,-0.371584236806,-0.371673244261,-0.371762248299,-0.37185124892,-0.371940246124,-0.372029239908,-0.372118230273,-0.372207217218,-0.372296200741,-0.372385180842,-0.37247415752,-0.372563130775,-0.372652100605,-0.37274106701,-0.372830029988,-0.37291898954,-0.373007945663,-0.373096898359,-0.373185847624,-0.37327479346,-0.373363735864,-0.373452674837,-0.373541610377,-0.373630542483,-0.373719471155,-0.373808396392,-0.373897318193,-0.373986236557,-0.374075151483,-0.374164062971,-0.37425297102,-0.374341875629,-0.374430776797,-0.374519674523,-0.374608568807,-0.374697459647,-0.374786347044,-0.374875230995,-0.374964111501,-0.37505298856,-0.375141862171,-0.375230732334,-0.375319599049,-0.375408462313,-0.375497322127,-0.375586178489,-0.375675031399,-0.375763880856,-0.375852726859,-0.375941569407,-0.3760304085,-0.376119244136,-0.376208076315,-0.376296905036,-0.376385730298,-0.3764745521,-0.376563370442,-0.376652185323,-0.376740996741,-0.376829804697,-0.376918609189,-0.377007410216,-0.377096207778,-0.377185001874,-0.377273792503,-0.377362579664,-0.377451363356,-0.377540143579,-0.377628920332,-0.377717693613,-0.377806463423,-0.37789522976,-0.377983992623,-0.378072752012,-0.378161507926,-0.378250260364,-0.378339009325,-0.378427754809,-0.378516496814,-0.37860523534,-0.378693970385,-0.37878270195,-0.378871430034,-0.378960154634,-0.379048875752,-0.379137593385,-0.379226307533,-0.379315018196,-0.379403725372,-0.37949242906,-0.37958112926,-0.379669825972,-0.379758519193,-0.379847208924,-0.379935895163,-0.38002457791,-0.380113257164,-0.380201932924,-0.38029060519,-0.380379273959,-0.380467939233,-0.380556601009,-0.380645259287,-0.380733914067,-0.380822565346,-0.380911213126,-0.380999857404,-0.38108849818,-0.381177135453,-0.381265769222,-0.381354399487,-0.381443026247,-0.3815316495,-0.381620269247,-0.381708885485,-0.381797498215,-0.381886107436,-0.381974713147,-0.382063315346,-0.382151914034,-0.382240509209,-0.38232910087,-0.382417689017,-0.382506273649,-0.382594854766,-0.382683432365,-0.382772006447,-0.382860577011,-0.382949144055,-0.383037707579,-0.383126267583,-0.383214824065,-0.383303377024,-0.383391926461,-0.383480472373,-0.38356901476,-0.383657553622,-0.383746088957,-0.383834620765,-0.383923149045,-0.384011673796,-0.384100195017,-0.384188712707,-0.384277226867,-0.384365737494,-0.384454244587,-0.384542748148,-0.384631248173,-0.384719744663,-0.384808237617,-0.384896727034,-0.384985212912,-0.385073695252,-0.385162174053,-0.385250649313,-0.385339121032,-0.38542758921,-0.385516053844,-0.385604514935,-0.385692972481,-0.385781426482,-0.385869876938,-0.385958323846,-0.386046767207,-0.386135207019,-0.386223643282,-0.386312075995,-0.386400505157,-0.386488930767,-0.386577352825,-0.386665771329,-0.38675418628,-0.386842597675,-0.386931005514,-0.387019409797,-0.387107810523,-0.38719620769,-0.387284601299,-0.387372991347,-0.387461377835,-0.387549760761,-0.387638140125,-0.387726515926,-0.387814888164,-0.387903256836,-0.387991621943,-0.388079983483,-0.388168341457,-0.388256695862,-0.388345046699,-0.388433393966,-0.388521737663,-0.388610077788,-0.388698414342,-0.388786747322,-0.388875076729,-0.388963402562,-0.389051724819,-0.3891400435,-0.389228358604,-0.389316670131,-0.389404978079,-0.389493282448,-0.389581583236,-0.389669880444,-0.38975817407,-0.389846464113,-0.389934750573,-0.390023033449,-0.39011131274,-0.390199588444,-0.390287860563,-0.390376129094,-0.390464394036,-0.39055265539,-0.390640913153,-0.390729167326,-0.390817417908,-0.390905664897,-0.390993908293,-0.391082148095,-0.391170384302,-0.391258616914,-0.391346845929,-0.391435071348,-0.391523293168,-0.391611511389,-0.391699726011,-0.391787937033,-0.391876144453,-0.391964348271,-0.392052548486,-0.392140745098,-0.392228938105,-0.392317127507,-0.392405313303,-0.392493495492,-0.392581674073,-0.392669849046,-0.392758020409,-0.392846188162,-0.392934352304,-0.393022512835,-0.393110669753,-0.393198823057,-0.393286972747,-0.393375118823,-0.393463261282,-0.393551400125,-0.39363953535,-0.393727666957,-0.393815794945,-0.393903919314,-0.393992040061,-0.394080157187,-0.394168270691,-0.394256380571,-0.394344486828,-0.39443258946,-0.394520688466,-0.394608783847,-0.394696875599,-0.394784963724,-0.394873048221,-0.394961129087,-0.395049206323,-0.395137279928,-0.395225349901,-0.395313416241,-0.395401478948,-0.39548953802,-0.395577593457,-0.395665645257,-0.395753693421,-0.395841737947,-0.395929778835,-0.396017816083,-0.396105849692,-0.396193879659,-0.396281905985,-0.396369928668,-0.396457947707,-0.396545963103,-0.396633974854,-0.396721982958,-0.396809987417,-0.396897988228,-0.39698598539,-0.397073978904,-0.397161968768,-0.397249954981,-0.397337937543,-0.397425916452,-0.397513891709,-0.397601863311,-0.397689831259,-0.397777795552,-0.397865756188,-0.397953713167,-0.398041666488,-0.39812961615,-0.398217562153,-0.398305504496,-0.398393443177,-0.398481378197,-0.398569309554,-0.398657237247,-0.398745161276,-0.398833081639,-0.398920998337,-0.399008911368,-0.399096820731,-0.399184726426,-0.399272628452,-0.399360526807,-0.399448421492,-0.399536312505,-0.399624199846,-0.399712083513,-0.399799963506,-0.399887839825,-0.399975712468,-0.400063581434,-0.400151446723,-0.400239308334,-0.400327166266,-0.400415020518,-0.40050287109,-0.40059071798,-0.400678561188,-0.400766400714,-0.400854236555,-0.400942068712,-0.401029897184,-0.401117721969,-0.401205543067,-0.401293360478,-0.4013811742,-0.401468984233,-0.401556790575,-0.401644593226,-0.401732392186,-0.401820187453,-0.401907979026,-0.401995766905,-0.40208355109,-0.402171331578,-0.402259108369,-0.402346881464,-0.402434650859,-0.402522416556,-0.402610178553,-0.402697936849,-0.402785691444,-0.402873442336,-0.402961189525,-0.40304893301,-0.403136672791,-0.403224408866,-0.403312141235,-0.403399869896,-0.403487594849,-0.403575316094,-0.403663033629,-0.403750747454,-0.403838457568,-0.403926163969,-0.404013866658,-0.404101565633,-0.404189260894,-0.404276952439,-0.404364640269,-0.404452324382,-0.404540004777,-0.404627681453,-0.40471535441,-0.404803023648,-0.404890689164,-0.404978350959,-0.405066009031,-0.40515366338,-0.405241314005,-0.405328960905,-0.405416604079,-0.405504243527,-0.405591879248,-0.40567951124,-0.405767139503,-0.405854764037,-0.40594238484,-0.406030001912,-0.406117615252,-0.406205224859,-0.406292830732,-0.40638043287,-0.406468031273,-0.40655562594,-0.40664321687,-0.406730804063,-0.406818387516,-0.40690596723,-0.406993543204,-0.407081115438,-0.407168683929,-0.407256248677,-0.407343809683,-0.407431366944,-0.40751892046,-0.40760647023,-0.407694016253,-0.407781558529,-0.407869097057,-0.407956631836,-0.408044162865,-0.408131690143,-0.40821921367,-0.408306733445,-0.408394249466,-0.408481761734,-0.408569270247,-0.408656775004,-0.408744276005,-0.40883177325,-0.408919266736,-0.409006756463,-0.409094242431,-0.409181724639,-0.409269203086,-0.40935667777,-0.409444148692,-0.409531615851,-0.409619079245,-0.409706538874,-0.409793994737,-0.409881446833,-0.409968895162,-0.410056339722,-0.410143780514,-0.410231217535,-0.410318650785,-0.410406080264,-0.410493505971,-0.410580927905,-0.410668346064,-0.410755760449,-0.410843171058,-0.410930577891,-0.411017980946,-0.411105380224,-0.411192775723,-0.411280167442,-0.411367555381,-0.411454939538,-0.411542319914,-0.411629696507,-0.411717069316,-0.41180443834,-0.41189180358,-0.411979165034,-0.4120665227,-0.412153876579,-0.41224122667,-0.412328572971,-0.412415915483,-0.412503254203,-0.412590589132,-0.412677920268,-0.412765247612,-0.412852571161,-0.412939890915,-0.413027206874,-0.413114519036,-0.413201827401,-0.413289131968,-0.413376432736,-0.413463729704,-0.413551022872,-0.413638312238,-0.413725597803,-0.413812879565,-0.413900157523,-0.413987431676,-0.414074702024,-0.414161968566,-0.414249231301,-0.414336490229,-0.414423745348,-0.414510996658,-0.414598244157,-0.414685487846,-0.414772727723,-0.414859963788,-0.414947196039,-0.415034424476,-0.415121649098,-0.415208869905,-0.415296086895,-0.415383300068,-0.415470509422,-0.415557714958,-0.415644916674,-0.415732114569,-0.415819308643,-0.415906498895,-0.415993685324,-0.41608086793,-0.41616804671,-0.416255221666,-0.416342392795,-0.416429560098,-0.416516723572,-0.416603883218,-0.416691039035,-0.416778191022,-0.416865339178,-0.416952483502,-0.417039623993,-0.417126760651,-0.417213893475,-0.417301022464,-0.417388147618,-0.417475268935,-0.417562386414,-0.417649500055,-0.417736609858,-0.41782371582,-0.417910817942,-0.417997916223,-0.418085010662,-0.418172101257,-0.418259188009,-0.418346270916,-0.418433349978,-0.418520425194,-0.418607496563,-0.418694564084,-0.418781627757,-0.41886868758,-0.418955743553,-0.419042795675,-0.419129843945,-0.419216888363,-0.419303928928,-0.419390965638,-0.419477998493,-0.419565027493,-0.419652052636,-0.419739073922,-0.419826091349,-0.419913104918,-0.420000114627,-0.420087120475,-0.420174122462,-0.420261120587,-0.420348114849,-0.420435105247,-0.42052209178,-0.420609074448,-0.42069605325,-0.420783028186,-0.420869999253,-0.420956966452,-0.421043929781,-0.42113088924,-0.421217844829,-0.421304796545,-0.42139174439,-0.42147868836,-0.421565628457,-0.421652564679,-0.421739497024,-0.421826425494,-0.421913350086,-0.4220002708,-0.422087187635,-0.42217410059,-0.422261009665,-0.422347914858,-0.422434816169,-0.422521713598,-0.422608607142,-0.422695496802,-0.422782382577,-0.422869264466,-0.422956142467,-0.423043016581,-0.423129886807,-0.423216753143,-0.423303615589,-0.423390474144,-0.423477328807,-0.423564179578,-0.423651026456,-0.423737869439,-0.423824708528,-0.42391154372,-0.423998375017,-0.424085202416,-0.424172025917,-0.424258845519,-0.424345661221,-0.424432473023,-0.424519280923,-0.424606084922,-0.424692885017,-0.424779681209,-0.424866473496,-0.424953261879,-0.425040046355,-0.425126826924,-0.425213603585,-0.425300376338,-0.425387145182,-0.425473910116,-0.425560671138,-0.42564742825,-0.425734181448,-0.425820930734,-0.425907676105,-0.425994417562,-0.426081155102,-0.426167888727,-0.426254618434,-0.426341344223,-0.426428066093,-0.426514784044,-0.426601498074,-0.426688208183,-0.42677491437,-0.426861616634,-0.426948314975,-0.427035009391,-0.427121699882,-0.427208386447,-0.427295069085,-0.427381747795,-0.427468422577,-0.42755509343,-0.427641760353,-0.427728423345,-0.427815082406,-0.427901737534,-0.427988388729,-0.42807503599,-0.428161679316,-0.428248318707,-0.428334954161,-0.428421585678,-0.428508213257,-0.428594836897,-0.428681456598,-0.428768072359,-0.428854684178,-0.428941292055,-0.42902789599,-0.429114495981,-0.429201092028,-0.42928768413,-0.429374272285,-0.429460856494,-0.429547436756,-0.429634013069,-0.429720585433,-0.429807153847,-0.429893718311,-0.429980278823,-0.430066835383,-0.430153387989,-0.430239936642,-0.43032648134,-0.430413022083,-0.430499558869,-0.430586091698,-0.43067262057,-0.430759145483,-0.430845666436,-0.430932183429,-0.431018696461,-0.431105205531,-0.431191710639,-0.431278211783,-0.431364708963,-0.431451202178,-0.431537691427,-0.43162417671,-0.431710658025,-0.431797135372,-0.43188360875,-0.431970078158,-0.432056543596,-0.432143005062,-0.432229462556,-0.432315916077,-0.432402365625,-0.432488811198,-0.432575252795,-0.432661690416,-0.432748124061,-0.432834553727,-0.432920979416,-0.433007401124,-0.433093818853,-0.433180232601,-0.433266642367,-0.433353048151,-0.433439449951,-0.433525847767,-0.433612241599,-0.433698631444,-0.433785017304,-0.433871399176,-0.43395777706,-0.434044150955,-0.43413052086,-0.434216886775,-0.434303248699,-0.434389606631,-0.43447596057,-0.434562310515,-0.434648656466,-0.434734998422,-0.434821336381,-0.434907670344,-0.43499400031,-0.435080326277,-0.435166648245,-0.435252966213,-0.43533928018,-0.435425590145,-0.435511896108,-0.435598198069,-0.435684496025,-0.435770789976,-0.435857079922,-0.435943365862,-0.436029647794,-0.436115925719,-0.436202199635,-0.436288469542,-0.436374735438,-0.436460997323,-0.436547255196,-0.436633509057,-0.436719758904,-0.436806004737,-0.436892246555,-0.436978484357,-0.437064718143,-0.437150947911,-0.437237173661,-0.437323395392,-0.437409613103,-0.437495826794,-0.437582036463,-0.43766824211,-0.437754443734,-0.437840641334,-0.43792683491,-0.438013024461,-0.438099209985,-0.438185391483,-0.438271568952,-0.438357742394,-0.438443911806,-0.438530077188,-0.438616238539,-0.438702395858,-0.438788549145,-0.438874698398,-0.438960843618,-0.439046984803,-0.439133121952,-0.439219255065,-0.43930538414,-0.439391509178,-0.439477630176,-0.439563747135,-0.439649860054,-0.439735968932,-0.439822073767,-0.43990817456,-0.43999427131,-0.440080364015,-0.440166452675,-0.440252537288,-0.440338617856,-0.440424694375,-0.440510766847,-0.440596835269,-0.440682899642,-0.440768959964,-0.440855016234,-0.440941068452,-0.441027116617,-0.441113160729,-0.441199200785,-0.441285236787,-0.441371268732,-0.44145729662,-0.44154332045,-0.441629340222,-0.441715355934,-0.441801367586,-0.441887375178,-0.441973378707,-0.442059378174,-0.442145373578,-0.442231364918,-0.442317352192,-0.442403335401,-0.442489314544,-0.442575289619,-0.442661260626,-0.442747227565,-0.442833190433,-0.442919149232,-0.443005103959,-0.443091054614,-0.443177001196,-0.443262943705,-0.443348882139,-0.443434816498,-0.443520746781,-0.443606672988,-0.443692595117,-0.443778513167,-0.443864427139,-0.44395033703,-0.444036242841,-0.44412214457,-0.444208042218,-0.444293935782,-0.444379825262,-0.444465710657,-0.444551591967,-0.444637469191,-0.444723342328,-0.444809211377,-0.444895076338,-0.444980937209,-0.44506679399,-0.44515264668,-0.445238495278,-0.445324339783,-0.445410180196,-0.445496016514,-0.445581848737,-0.445667676865,-0.445753500896,-0.44583932083,-0.445925136666,-0.446010948403,-0.44609675604,-0.446182559577,-0.446268359013,-0.446354154346,-0.446439945577,-0.446525732705,-0.446611515728,-0.446697294645,-0.446783069457,-0.446868840162,-0.44695460676,-0.447040369249,-0.447126127629,-0.4472118819,-0.447297632059,-0.447383378108,-0.447469120043,-0.447554857866,-0.447640591575,-0.44772632117,-0.447812046649,-0.447897768012,-0.447983485257,-0.448069198386,-0.448154907395,-0.448240612285,-0.448326313055,-0.448412009704,-0.448497702232,-0.448583390637,-0.448669074918,-0.448754755076,-0.448840431109,-0.448926103016,-0.449011770796,-0.44909743445,-0.449183093975,-0.449268749372,-0.449354400639,-0.449440047776,-0.449525690781,-0.449611329655,-0.449696964395,-0.449782595003,-0.449868221476,-0.449953843814,-0.450039462016,-0.450125076081,-0.450210686009,-0.450296291799,-0.450381893449,-0.45046749096,-0.45055308433,-0.450638673559,-0.450724258646,-0.45080983959,-0.45089541639,-0.450980989045,-0.451066557555,-0.451152121919,-0.451237682136,-0.451323238206,-0.451408790127,-0.451494337898,-0.45157988152,-0.451665420991,-0.45175095631,-0.451836487477,-0.451922014491,-0.45200753735,-0.452093056055,-0.452178570605,-0.452264080998,-0.452349587234,-0.452435089312,-0.452520587231,-0.452606080991,-0.452691570591,-0.452777056029,-0.452862537306,-0.45294801442,-0.453033487371,-0.453118956157,-0.453204420779,-0.453289881235,-0.453375337524,-0.453460789646,-0.4535462376,-0.453631681385,-0.453717121,-0.453802556445,-0.453887987718,-0.45397341482,-0.454058837749,-0.454144256504,-0.454229671084,-0.45431508149,-0.454400487719,-0.454485889772,-0.454571287647,-0.454656681344,-0.454742070862,-0.4548274562,-0.454912837357,-0.454998214333,-0.455083587126,-0.455168955737,-0.455254320163,-0.455339680406,-0.455425036462,-0.455510388333,-0.455595736016,-0.455681079512,-0.455766418819,-0.455851753937,-0.455937084865,-0.456022411602,-0.456107734148,-0.456193052501,-0.45627836666,-0.456363676626,-0.456448982397,-0.456534283972,-0.456619581351,-0.456704874533,-0.456790163517,-0.456875448302,-0.456960728888,-0.457046005273,-0.457131277457,-0.45721654544,-0.457301809219,-0.457387068796,-0.457472324168,-0.457557575335,-0.457642822297,-0.457728065051,-0.457813303599,-0.457898537938,-0.457983768069,-0.45806899399,-0.4581542157,-0.458239433199,-0.458324646486,-0.45840985556,-0.458495060421,-0.458580261067,-0.458665457498,-0.458750649713,-0.458835837712,-0.458921021492,-0.459006201055,-0.459091376398,-0.459176547522,-0.459261714425,-0.459346877106,-0.459432035566,-0.459517189802,-0.459602339814,-0.459687485602,-0.459772627165,-0.459857764501,-0.459942897611,-0.460028026493,-0.460113151146,-0.46019827157,-0.460283387764,-0.460368499727,-0.460453607459,-0.460538710958,-0.460623810224,-0.460708905256,-0.460793996054,-0.460879082616,-0.460964164941,-0.46104924303,-0.46113431688,-0.461219386492,-0.461304451865,-0.461389512997,-0.461474569888,-0.461559622538,-0.461644670945,-0.461729715108,-0.461814755028,-0.461899790702,-0.461984822131,-0.462069849314,-0.462154872249,-0.462239890936,-0.462324905375,-0.462409915563,-0.462494921502,-0.462579923189,-0.462664920624,-0.462749913807,-0.462834902736,-0.462919887411,-0.463004867831,-0.463089843995,-0.463174815902,-0.463259783552,-0.463344746944,-0.463429706076,-0.463514660949,-0.463599611562,-0.463684557913,-0.463769500002,-0.463854437828,-0.463939371391,-0.464024300689,-0.464109225722,-0.464194146489,-0.464279062989,-0.464363975222,-0.464448883186,-0.464533786881,-0.464618686306,-0.464703581461,-0.464788472344,-0.464873358955,-0.464958241293,-0.465043119357,-0.465127993146,-0.46521286266,-0.465297727898,-0.46538258886,-0.465467445543,-0.465552297948,-0.465637146073,-0.465721989919,-0.465806829484,-0.465891664767,-0.465976495768,-0.466061322486,-0.466146144919,-0.466230963068,-0.466315776932,-0.466400586509,-0.466485391799,-0.466570192802,-0.466654989516,-0.46673978194,-0.466824570074,-0.466909353917,-0.466994133469,-0.467078908728,-0.467163679694,-0.467248446365,-0.467333208742,-0.467417966823,-0.467502720608,-0.467587470095,-0.467672215285,-0.467756956176,-0.467841692767,-0.467926425058,-0.468011153048,-0.468095876736,-0.468180596122,-0.468265311204,-0.468350021982,-0.468434728455,-0.468519430622,-0.468604128483,-0.468688822036,-0.468773511281,-0.468858196217,-0.468942876844,-0.46902755316,-0.469112225165,-0.469196892859,-0.469281556239,-0.469366215306,-0.469450870058,-0.469535520496,-0.469620166617,-0.469704808422,-0.46978944591,-0.469874079079,-0.469958707929,-0.47004333246,-0.47012795267,-0.470212568558,-0.470297180125,-0.470381787369,-0.470466390289,-0.470550988884,-0.470635583155,-0.470720173099,-0.470804758717,-0.470889340007,-0.470973916969,-0.471058489601,-0.471143057904,-0.471227621877,-0.471312181517,-0.471396736826,-0.471481287802,-0.471565834443,-0.471650376751,-0.471734914723,-0.471819448359,-0.471903977658,-0.471988502619,-0.472073023242,-0.472157539526,-0.47224205147,-0.472326559073,-0.472411062335,-0.472495561254,-0.47258005583,-0.472664546063,-0.47274903195,-0.472833513493,-0.472917990689,-0.473002463538,-0.473086932039,-0.473171396192,-0.473255855996,-0.47334031145,-0.473424762552,-0.473509209303,-0.473593651702,-0.473678089748,-0.473762523439,-0.473846952776,-0.473931377757,-0.474015798383,-0.474100214651,-0.474184626561,-0.474269034112,-0.474353437305,-0.474437836137,-0.474522230608,-0.474606620717,-0.474691006464,-0.474775387848,-0.474859764868,-0.474944137522,-0.475028505812,-0.475112869735,-0.47519722929,-0.475281584478,-0.475365935297,-0.475450281747,-0.475534623827,-0.475618961535,-0.475703294872,-0.475787623836,-0.475871948427,-0.475956268643,-0.476040584485,-0.476124895951,-0.476209203041,-0.476293505753,-0.476377804088,-0.476462098044,-0.47654638762,-0.476630672816,-0.47671495363,-0.476799230063,-0.476883502114,-0.47696776978,-0.477052033063,-0.477136291961,-0.477220546473,-0.477304796598,-0.477389042337,-0.477473283687,-0.477557520648,-0.47764175322,-0.477725981401,-0.477810205191,-0.477894424589,-0.477978639595,-0.478062850207,-0.478147056425,-0.478231258248,-0.478315455675,-0.478399648705,-0.478483837338,-0.478568021573,-0.478652201409,-0.478736376845,-0.478820547881,-0.478904714516,-0.478988876749,-0.479073034579,-0.479157188005,-0.479241337027,-0.479325481644,-0.479409621856,-0.47949375766,-0.479577889057,-0.479662016046,-0.479746138626,-0.479830256797,-0.479914370556,-0.479998479905,-0.480082584841,-0.480166685365,-0.480250781475,-0.480334873171,-0.480418960451,-0.480503043316,-0.480587121764,-0.480671195795,-0.480755265407,-0.4808393306,-0.480923391374,-0.481007447727,-0.481091499659,-0.481175547168,-0.481259590255,-0.481343628918,-0.481427663157,-0.48151169297,-0.481595718358,-0.481679739319,-0.481763755852,-0.481847767957,-0.481931775633,-0.482015778879,-0.482099777695,-0.482183772079,-0.482267762031,-0.482351747551,-0.482435728636,-0.482519705287,-0.482603677503,-0.482687645283,-0.482771608626,-0.482855567532,-0.482939521999,-0.483023472027,-0.483107417616,-0.483191358763,-0.48327529547,-0.483359227734,-0.483443155555,-0.483527078933,-0.483610997866,-0.483694912354,-0.483778822396,-0.483862727991,-0.483946629138,-0.484030525837,-0.484114418087,-0.484198305888,-0.484282189237,-0.484366068135,-0.484449942581,-0.484533812574,-0.484617678113,-0.484701539198,-0.484785395827,-0.484869248001,-0.484953095717,-0.485036938976,-0.485120777777,-0.485204612119,-0.485288442,-0.485372267421,-0.485456088381,-0.485539904878,-0.485623716912,-0.485707524483,-0.485791327589,-0.48587512623,-0.485958920404,-0.486042710112,-0.486126495353,-0.486210276124,-0.486294052427,-0.48637782426,-0.486461591622,-0.486545354513,-0.486629112932,-0.486712866877,-0.486796616349,-0.486880361346,-0.486964101868,-0.487047837914,-0.487131569483,-0.487215296574,-0.487299019187,-0.487382737321,-0.487466450975,-0.487550160148,-0.48763386484,-0.48771756505,-0.487801260776,-0.487884952019,-0.487968638778,-0.488052321051,-0.488135998838,-0.488219672138,-0.48830334095,-0.488387005274,-0.488470665109,-0.488554320454,-0.488637971309,-0.488721617671,-0.488805259542,-0.48888889692,-0.488972529804,-0.489056158193,-0.489139782087,-0.489223401485,-0.489307016386,-0.48939062679,-0.489474232695,-0.489557834101,-0.489641431007,-0.489725023413,-0.489808611317,-0.489892194719,-0.489975773617,-0.490059348012,-0.490142917903,-0.490226483288,-0.490310044167,-0.49039360054,-0.490477152405,-0.490560699761,-0.490644242608,-0.490727780946,-0.490811314773,-0.490894844088,-0.490978368891,-0.491061889181,-0.491145404957,-0.491228916219,-0.491312422966,-0.491395925197,-0.49147942291,-0.491562916107,-0.491646404784,-0.491729888943,-0.491813368582,-0.4918968437,-0.491980314297,-0.492063780372,-0.492147241923,-0.492230698951,-0.492314151455,-0.492397599433,-0.492481042886,-0.492564481811,-0.492647916209,-0.492731346079,-0.492814771419,-0.49289819223,-0.49298160851,-0.493065020259,-0.493148427475,-0.493231830159,-0.493315228309,-0.493398621924,-0.493482011004,-0.493565395549,-0.493648775556,-0.493732151026,-0.493815521958,-0.493898888351,-0.493982250204,-0.494065607516,-0.494148960287,-0.494232308516,-0.494315652202,-0.494398991344,-0.494482325942,-0.494565655995,-0.494648981502,-0.494732302462,-0.494815618875,-0.494898930739,-0.494982238054,-0.49506554082,-0.495148839035,-0.495232132699,-0.495315421811,-0.49539870637,-0.495481986375,-0.495565261826,-0.495648532722,-0.495731799061,-0.495815060845,-0.495898318071,-0.495981570738,-0.496064818847,-0.496148062396,-0.496231301384,-0.496314535811,-0.496397765677,-0.496480990979,-0.496564211718,-0.496647427893,-0.496730639502,-0.496813846546,-0.496897049023,-0.496980246932,-0.497063440274,-0.497146629046,-0.497229813249,-0.497312992882,-0.497396167943,-0.497479338433,-0.497562504349,-0.497645665692,-0.497728822461,-0.497811974655,-0.497895122273,-0.497978265315,-0.498061403779,-0.498144537665,-0.498227666973,-0.498310791701,-0.498393911848,-0.498477027414,-0.498560138399,-0.4986432448,-0.498726346619,-0.498809443853,-0.498892536502,-0.498975624565,-0.499058708042,-0.499141786932,-0.499224861234,-0.499307930946,-0.49939099607,-0.499474056603,-0.499557112545,-0.499640163895,-0.499723210653,-0.499806252817,-0.499889290387,-0.499972323363,-0.500055351742,-0.500138375526,-0.500221394712,-0.5003044093,-0.50038741929,-0.50047042468,-0.500553425469,-0.500636421658,-0.500719413245,-0.50080240023,-0.500885382611,-0.500968360389,-0.501051333561,-0.501134302128,-0.501217266089,-0.501300225442,-0.501383180188,-0.501466130325,-0.501549075853,-0.50163201677,-0.501714953077,-0.501797884772,-0.501880811855,-0.501963734324,-0.50204665218,-0.50212956542,-0.502212474046,-0.502295378055,-0.502378277447,-0.502461172221,-0.502544062377,-0.502626947914,-0.50270982883,-0.502792705126,-0.5028755768,-0.502958443852,-0.503041306281,-0.503124164086,-0.503207017266,-0.503289865821,-0.50337270975,-0.503455549051,-0.503538383726,-0.503621213772,-0.503704039188,-0.503786859975,-0.503869676131,-0.503952487655,-0.504035294548,-0.504118096807,-0.504200894433,-0.504283687424,-0.50436647578,-0.504449259499,-0.504532038582,-0.504614813028,-0.504697582835,-0.504780348003,-0.504863108531,-0.504945864419,-0.505028615665,-0.505111362269,-0.505194104231,-0.505276841548,-0.505359574222,-0.50544230225,-0.505525025632,-0.505607744367,-0.505690458455,-0.505773167895,-0.505855872686,-0.505938572827,-0.506021268318,-0.506103959158,-0.506186645345,-0.50626932688,-0.506352003761,-0.506434675988,-0.50651734356,-0.506600006476,-0.506682664736,-0.506765318338,-0.506847967282,-0.506930611567,-0.507013251193,-0.507095886158,-0.507178516462,-0.507261142105,-0.507343763084,-0.507426379401,-0.507508991053,-0.50759159804,-0.507674200362,-0.507756798017,-0.507839391005,-0.507921979325,-0.508004562976,-0.508087141958,-0.50816971627,-0.50825228591,-0.508334850879,-0.508417411175,-0.508499966799,-0.508582517748,-0.508665064022,-0.508747605621,-0.508830142543,-0.508912674789,-0.508995202356,-0.509077725245,-0.509160243455,-0.509242756984,-0.509325265833,-0.50940777,-0.509490269485,-0.509572764287,-0.509655254404,-0.509737739837,-0.509820220585,-0.509902696647,-0.509985168021,-0.510067634708,-0.510150096707,-0.510232554016,-0.510315006635,-0.510397454564,-0.510479897801,-0.510562336346,-0.510644770198,-0.510727199357,-0.51080962382,-0.510892043589,-0.510974458661,-0.511056869037,-0.511139274715,-0.511221675695,-0.511304071976,-0.511386463557,-0.511468850438,-0.511551232617,-0.511633610094,-0.511715982869,-0.511798350939,-0.511880714306,-0.511963072967,-0.512045426923,-0.512127776172,-0.512210120713,-0.512292460546,-0.512374795671,-0.512457126086,-0.51253945179,-0.512621772783,-0.512704089065,-0.512786400634,-0.512868707489,-0.51295100963,-0.513033307056,-0.513115599767,-0.513197887761,-0.513280171038,-0.513362449596,-0.513444723437,-0.513526992557,-0.513609256958,-0.513691516637,-0.513773771595,-0.51385602183,-0.513938267342,-0.51402050813,-0.514102744193,-0.514184975531,-0.514267202142,-0.514349424027,-0.514431641183,-0.514513853611,-0.51459606131,-0.514678264279,-0.514760462517,-0.514842656023,-0.514924844797,-0.515007028838,-0.515089208145,-0.515171382717,-0.515253552554,-0.515335717655,-0.515417878019,-0.515500033646,-0.515582184534,-0.515664330683,-0.515746472092,-0.515828608761,-0.515910740688,-0.515992867873,-0.516074990315,-0.516157108014,-0.516239220968,-0.516321329177,-0.51640343264,-0.516485531356,-0.516567625325,-0.516649714546,-0.516731799018,-0.51681387874,-0.516895953711,-0.516978023932,-0.5170600894,-0.517142150116,-0.517224206079,-0.517306257287,-0.51738830374,-0.517470345437,-0.517552382378,-0.517634414562,-0.517716441988,-0.517798464655,-0.517880482562,-0.51796249571,-0.518044504096,-0.518126507721,-0.518208506583,-0.518290500681,-0.518372490016,-0.518454474586,-0.518536454391,-0.518618429429,-0.5187003997,-0.518782365203,-0.518864325938,-0.518946281904,-0.519028233099,-0.519110179524,-0.519192121177,-0.519274058058,-0.519355990166,-0.5194379175,-0.519519840059,-0.519601757843,-0.519683670851,-0.519765579082,-0.519847482536,-0.519929381211,-0.520011275108,-0.520093164224,-0.52017504856,-0.520256928114,-0.520338802887,-0.520420672876,-0.520502538082,-0.520584398504,-0.52066625414,-0.520748104991,-0.520829951055,-0.520911792332,-0.52099362882,-0.52107546052,-0.52115728743,-0.52123910955,-0.521320926879,-0.521402739415,-0.521484547159,-0.52156635011,-0.521648148267,-0.521729941629,-0.521811730195,-0.521893513965,-0.521975292937,-0.522057067112,-0.522138836488,-0.522220601065,-0.522302360841,-0.522384115817,-0.522465865991,-0.522547611363,-0.522629351931,-0.522711087696,-0.522792818656,-0.52287454481,-0.522956266159,-0.5230379827,-0.523119694434,-0.523201401359,-0.523283103476,-0.523364800782,-0.523446493278,-0.523528180962,-0.523609863834,-0.523691541893,-0.523773215139,-0.52385488357,-0.523936547186,-0.524018205986,-0.52409985997,-0.524181509136,-0.524263153484,-0.524344793013,-0.524426427722,-0.524508057611,-0.524589682678,-0.524671302924,-0.524752918347,-0.524834528947,-0.524916134723,-0.524997735673,-0.525079331798,-0.525160923097,-0.525242509568,-0.525324091212,-0.525405668026,-0.525487240012,-0.525568807167,-0.525650369491,-0.525731926984,-0.525813479644,-0.525895027471,-0.525976570464,-0.526058108623,-0.526139641946,-0.526221170433,-0.526302694083,-0.526384212895,-0.526465726869,-0.526547236004,-0.526628740298,-0.526710239753,-0.526791734365,-0.526873224136,-0.526954709064,-0.527036189148,-0.527117664387,-0.527199134782,-0.52728060033,-0.527362061032,-0.527443516887,-0.527524967893,-0.527606414051,-0.527687855359,-0.527769291816,-0.527850723423,-0.527932150177,-0.528013572079,-0.528094989127,-0.528176401321,-0.528257808661,-0.528339211145,-0.528420608772,-0.528502001542,-0.528583389455,-0.528664772508,-0.528746150703,-0.528827524037,-0.52890889251,-0.528990256122,-0.529071614872,-0.529152968758,-0.52923431778,-0.529315661938,-0.52939700123,-0.529478335657,-0.529559665216,-0.529640989908,-0.529722309732,-0.529803624686,-0.529884934771,-0.529966239985,-0.530047540328,-0.530128835798,-0.530210126396,-0.53029141212,-0.53037269297,-0.530453968945,-0.530535240044,-0.530616506266,-0.530697767612,-0.530779024079,-0.530860275667,-0.530941522376,-0.531022764204,-0.531104001151,-0.531185233217,-0.5312664604,-0.5313476827,-0.531428900115,-0.531510112646,-0.531591320292,-0.531672523051,-0.531753720923,-0.531834913907,-0.531916102003,-0.531997285209,-0.532078463526,-0.532159636952,-0.532240805486,-0.532321969128,-0.532403127877,-0.532484281733,-0.532565430693,-0.532646574759,-0.532727713929,-0.532808848202,-0.532889977577,-0.532971102054,-0.533052221633,-0.533133336311,-0.533214446089,-0.533295550966,-0.533376650941,-0.533457746014,-0.533538836183,-0.533619921447,-0.533701001807,-0.533782077261,-0.533863147809,-0.53394421345,-0.534025274182,-0.534106330006,-0.534187380921,-0.534268426926,-0.534349468019,-0.534430504201,-0.534511535471,-0.534592561827,-0.53467358327,-0.534754599798,-0.534835611411,-0.534916618107,-0.534997619887,-0.535078616749,-0.535159608693,-0.535240595718,-0.535321577823,-0.535402555007,-0.53548352727,-0.535564494611,-0.53564545703,-0.535726414524,-0.535807367095,-0.53588831474,-0.53596925746,-0.536050195253,-0.536131128119,-0.536212056057,-0.536292979066,-0.536373897146,-0.536454810295,-0.536535718513,-0.5366166218,-0.536697520154,-0.536778413575,-0.536859302062,-0.536940185615,-0.537021064232,-0.537101937913,-0.537182806656,-0.537263670463,-0.53734452933,-0.537425383259,-0.537506232248,-0.537587076296,-0.537667915402,-0.537748749567,-0.537829578789,-0.537910403067,-0.5379912224,-0.538072036789,-0.538152846232,-0.538233650728,-0.538314450277,-0.538395244877,-0.538476034529,-0.538556819232,-0.538637598984,-0.538718373785,-0.538799143634,-0.538879908531,-0.538960668474,-0.539041423464,-0.539122173499,-0.539202918578,-0.539283658701,-0.539364393867,-0.539445124075,-0.539525849325,-0.539606569616,-0.539687284946,-0.539767995316,-0.539848700725,-0.539929401171,-0.540010096655,-0.540090787174,-0.54017147273,-0.54025215332,-0.540332828945,-0.540413499602,-0.540494165293,-0.540574826015,-0.540655481768,-0.540736132552,-0.540816778366,-0.540897419208,-0.540978055079,-0.541058685977,-0.541139311902,-0.541219932853,-0.541300548828,-0.541381159829,-0.541461765853,-0.5415423669,-0.54162296297,-0.541703554061,-0.541784140172,-0.541864721304,-0.541945297455,-0.542025868625,-0.542106434812,-0.542186996017,-0.542267552238,-0.542348103474,-0.542428649726,-0.542509190991,-0.54258972727,-0.542670258561,-0.542750784865,-0.542831306179,-0.542911822504,-0.542992333838,-0.543072840182,-0.543153341534,-0.543233837893,-0.543314329258,-0.54339481563,-0.543475297007,-0.543555773389,-0.543636244774,-0.543716711162,-0.543797172553,-0.543877628945,-0.543958080338,-0.544038526731,-0.544118968123,-0.544199404514,-0.544279835903,-0.544360262288,-0.544440683671,-0.544521100048,-0.544601511421,-0.544681917788,-0.544762319148,-0.544842715501,-0.544923106845,-0.545003493181,-0.545083874508,-0.545164250824,-0.545244622129,-0.545324988422,-0.545405349703,-0.54548570597,-0.545566057224,-0.545646403463,-0.545726744686,-0.545807080893,-0.545887412083,-0.545967738256,-0.54604805941,-0.546128375545,-0.54620868666,-0.546288992754,-0.546369293827,-0.546449589878,-0.546529880906,-0.546610166911,-0.546690447891,-0.546770723846,-0.546850994775,-0.546931260678,-0.547011521554,-0.547091777401,-0.54717202822,-0.547252274009,-0.547332514768,-0.547412750496,-0.547492981193,-0.547573206857,-0.547653427487,-0.547733643084,-0.547813853646,-0.547894059173,-0.547974259664,-0.548054455118,-0.548134645534,-0.548214830912,-0.54829501125,-0.548375186549,-0.548455356808,-0.548535522025,-0.5486156822,-0.548695837333,-0.548775987421,-0.548856132466,-0.548936272466,-0.54901640742,-0.549096537327,-0.549176662188,-0.549256782,-0.549336896764,-0.549417006478,-0.549497111143,-0.549577210756,-0.549657305318,-0.549737394827,-0.549817479284,-0.549897558687,-0.549977633035,-0.550057702327,-0.550137766564,-0.550217825744,-0.550297879867,-0.550377928931,-0.550457972937,-0.550538011882,-0.550618045768,-0.550698074592,-0.550778098354,-0.550858117053,-0.55093813069,-0.551018139262,-0.551098142769,-0.551178141211,-0.551258134586,-0.551338122894,-0.551418106135,-0.551498084307,-0.55157805741,-0.551658025443,-0.551737988405,-0.551817946295,-0.551897899114,-0.551977846859,-0.552057789531,-0.552137727129,-0.552217659651,-0.552297587097,-0.552377509467,-0.55245742676,-0.552537338974,-0.55261724611,-0.552697148166,-0.552777045142,-0.552856937036,-0.552936823849,-0.55301670558,-0.553096582227,-0.553176453791,-0.55325632027,-0.553336181663,-0.55341603797,-0.55349588919,-0.553575735323,-0.553655576367,-0.553735412323,-0.553815243188,-0.553895068963,-0.553974889647,-0.554054705238,-0.554134515737,-0.554214321142,-0.554294121454,-0.55437391667,-0.55445370679,-0.554533491814,-0.554613271741,-0.55469304657,-0.554772816301,-0.554852580932,-0.554932340463,-0.555012094893,-0.555091844222,-0.555171588448,-0.555251327571,-0.555331061591,-0.555410790506,-0.555490514316,-0.55557023302,-0.555649946617,-0.555729655107,-0.555809358488,-0.555889056761,-0.555968749924,-0.556048437977,-0.556128120919,-0.556207798749,-0.556287471466,-0.55636713907,-0.55644680156,-0.556526458936,-0.556606111196,-0.556685758339,-0.556765400366,-0.556845037275,-0.556924669066,-0.557004295737,-0.557083917289,-0.55716353372,-0.55724314503,-0.557322751218,-0.557402352283,-0.557481948224,-0.557561539041,-0.557641124733,-0.5577207053,-0.55780028074,-0.557879851053,-0.557959416237,-0.558038976294,-0.558118531221,-0.558198081017,-0.558277625683,-0.558357165218,-0.55843669962,-0.558516228889,-0.558595753024,-0.558675272025,-0.55875478589,-0.55883429462,-0.558913798213,-0.558993296668,-0.559072789986,-0.559152278164,-0.559231761203,-0.559311239102,-0.559390711859,-0.559470179475,-0.559549641948,-0.559629099278,-0.559708551464,-0.559787998505,-0.559867440401,-0.55994687715,-0.560026308753,-0.560105735208,-0.560185156514,-0.560264572672,-0.56034398368,-0.560423389537,-0.560502790242,-0.560582185796,-0.560661576197,-0.560740961445,-0.560820341538,-0.560899716477,-0.560979086259,-0.561058450886,-0.561137810355,-0.561217164666,-0.561296513819,-0.561375857813,-0.561455196646,-0.561534530319,-0.56161385883,-0.561693182179,-0.561772500365,-0.561851813387,-0.561931121245,-0.562010423937,-0.562089721464,-0.562169013824,-0.562248301017,-0.562327583042,-0.562406859898,-0.562486131584,-0.562565398101,-0.562644659446,-0.562723915619,-0.56280316662,-0.562882412448,-0.562961653102,-0.563040888582,-0.563120118886,-0.563199344014,-0.563278563965,-0.563357778739,-0.563436988334,-0.56351619275,-0.563595391987,-0.563674586043,-0.563753774918,-0.563832958611,-0.563912137122,-0.563991310449,-0.564070478592,-0.56414964155,-0.564228799323,-0.564307951909,-0.564387099309,-0.564466241521,-0.564545378544,-0.564624510378,-0.564703637022,-0.564782758476,-0.564861874738,-0.564940985808,-0.565020091685,-0.565099192369,-0.565178287858,-0.565257378153,-0.565336463251,-0.565415543154,-0.565494617859,-0.565573687366,-0.565652751674,-0.565731810784,-0.565810864693,-0.565889913401,-0.565968956908,-0.566047995212,-0.566127028314,-0.566206056212,-0.566285078905,-0.566364096393,-0.566443108675,-0.566522115751,-0.566601117619,-0.56668011428,-0.566759105731,-0.566838091973,-0.566917073004,-0.566996048825,-0.567075019434,-0.567153984831,-0.567232945014,-0.567311899983,-0.567390849738,-0.567469794278,-0.567548733601,-0.567627667708,-0.567706596597,-0.567785520268,-0.56786443872,-0.567943351952,-0.568022259964,-0.568101162755,-0.568180060324,-0.56825895267,-0.568337839793,-0.568416721692,-0.568495598366,-0.568574469815,-0.568653336037,-0.568732197033,-0.568811052801,-0.56888990334,-0.568968748651,-0.569047588731,-0.569126423581,-0.5692052532,-0.569284077586,-0.56936289674,-0.569441710661,-0.569520519347,-0.569599322798,-0.569678121014,-0.569756913993,-0.569835701736,-0.56991448424,-0.569993261506,-0.570072033533,-0.570150800319,-0.570229561865,-0.57030831817,-0.570387069232,-0.570465815052,-0.570544555628,-0.57062329096,-0.570702021046,-0.570780745887,-0.570859465481,-0.570938179828,-0.571016888928,-0.571095592778,-0.571174291379,-0.57125298473,-0.57133167283,-0.571410355679,-0.571489033275,-0.571567705618,-0.571646372708,-0.571725034543,-0.571803691123,-0.571882342447,-0.571960988515,-0.572039629325,-0.572118264877,-0.57219689517,-0.572275520204,-0.572354139977,-0.57243275449,-0.572511363741,-0.572589967729,-0.572668566454,-0.572747159916,-0.572825748113,-0.572904331045,-0.57298290871,-0.573061481109,-0.57314004824,-0.573218610104,-0.573297166698,-0.573375718023,-0.573454264077,-0.57353280486,-0.573611340372,-0.573689870611,-0.573768395577,-0.573846915269,-0.573925429686,-0.574003938827,-0.574082442693,-0.574160941282,-0.574239434593,-0.574317922626,-0.57439640538,-0.574474882854,-0.574553355048,-0.57463182196,-0.574710283591,-0.574788739939,-0.574867191004,-0.574945636784,-0.57502407728,-0.575102512491,-0.575180942415,-0.575259367052,-0.575337786402,-0.575416200463,-0.575494609235,-0.575573012717,-0.575651410909,-0.575729803809,-0.575808191418,-0.575886573734,-0.575964950756,-0.576043322484,-0.576121688917,-0.576200050055,-0.576278405897,-0.576356756441,-0.576435101688,-0.576513441636,-0.576591776285,-0.576670105634,-0.576748429682,-0.57682674843,-0.576905061875,-0.576983370017,-0.577061672856,-0.57713997039,-0.57721826262,-0.577296549544,-0.577374831161,-0.577453107472,-0.577531378474,-0.577609644168,-0.577687904553,-0.577766159628,-0.577844409392,-0.577922653845,-0.578000892985,-0.578079126813,-0.578157355327,-0.578235578527,-0.578313796412,-0.578392008981,-0.578470216233,-0.578548418169,-0.578626614786,-0.578704806085,-0.578782992065,-0.578861172724,-0.578939348063,-0.57901751808,-0.579095682775,-0.579173842148,-0.579251996196,-0.57933014492,-0.579408288319,-0.579486426393,-0.579564559139,-0.579642686559,-0.579720808651,-0.579798925413,-0.579877036847,-0.57995514295,-0.580033243723,-0.580111339164,-0.580189429273,-0.580267514049,-0.580345593491,-0.580423667598,-0.580501736371,-0.580579799808,-0.580657857908,-0.580735910671,-0.580813958096,-0.580892000182,-0.580970036929,-0.581048068335,-0.581126094401,-0.581204115125,-0.581282130507,-0.581360140546,-0.581438145241,-0.581516144591,-0.581594138597,-0.581672127256,-0.581750110569,-0.581828088535,-0.581906061153,-0.581984028421,-0.582061990341,-0.58213994691,-0.582217898128,-0.582295843995,-0.582373784509,-0.58245171967,-0.582529649478,-0.582607573931,-0.582685493029,-0.582763406771,-0.582841315156,-0.582919218184,-0.582997115853,-0.583075008164,-0.583152895116,-0.583230776707,-0.583308652938,-0.583386523806,-0.583464389313,-0.583542249456,-0.583620104236,-0.583697953651,-0.5837757977,-0.583853636384,-0.583931469701,-0.584009297651,-0.584087120233,-0.584164937446,-0.584242749289,-0.584320555762,-0.584398356864,-0.584476152595,-0.584553942953,-0.584631727938,-0.584709507549,-0.584787281786,-0.584865050648,-0.584942814133,-0.585020572242,-0.585098324973,-0.585176072327,-0.585253814301,-0.585331550896,-0.585409282111,-0.585487007945,-0.585564728397,-0.585642443467,-0.585720153154,-0.585797857456,-0.585875556375,-0.585953249908,-0.586030938055,-0.586108620815,-0.586186298189,-0.586263970174,-0.58634163677,-0.586419297976,-0.586496953793,-0.586574604218,-0.586652249252,-0.586729888893,-0.586807523142,-0.586885151996,-0.586962775456,-0.587040393521,-0.58711800619,-0.587195613462,-0.587273215337,-0.587350811813,-0.587428402891,-0.587505988569,-0.587583568848,-0.587661143725,-0.5877387132,-0.587816277273,-0.587893835943,-0.58797138921,-0.588048937072,-0.588126479528,-0.588204016579,-0.588281548223,-0.588359074459,-0.588436595288,-0.588514110708,-0.588591620718,-0.588669125318,-0.588746624507,-0.588824118285,-0.58890160665,-0.588979089602,-0.58905656714,-0.589134039264,-0.589211505973,-0.589288967265,-0.589366423141,-0.5894438736,-0.589521318641,-0.589598758263,-0.589676192466,-0.589753621248,-0.589831044609,-0.589908462549,-0.589985875067,-0.590063282161,-0.590140683832,-0.590218080079,-0.5902954709,-0.590372856295,-0.590450236264,-0.590527610805,-0.590604979919,-0.590682343604,-0.590759701859,-0.590837054684,-0.590914402078,-0.590991744041,-0.591069080572,-0.591146411669,-0.591223737333,-0.591301057562,-0.591378372357,-0.591455681715,-0.591532985637,-0.591610284122,-0.591687577169,-0.591764864777,-0.591842146946,-0.591919423674,-0.591996694962,-0.592073960808,-0.592151221212,-0.592228476174,-0.592305725691,-0.592382969764,-0.592460208393,-0.592537441575,-0.592614669311,-0.5926918916,-0.59276910844,-0.592846319833,-0.592923525776,-0.593000726268,-0.593077921311,-0.593155110901,-0.59323229504,-0.593309473725,-0.593386646958,-0.593463814735,-0.593540977058,-0.593618133925,-0.593695285336,-0.59377243129,-0.593849571785,-0.593926706823,-0.594003836401,-0.594080960519,-0.594158079176,-0.594235192372,-0.594312300106,-0.594389402377,-0.594466499185,-0.594543590528,-0.594620676407,-0.594697756819,-0.594774831766,-0.594851901245,-0.594928965257,-0.5950060238,-0.595083076875,-0.595160124479,-0.595237166612,-0.595314203275,-0.595391234465,-0.595468260183,-0.595545280427,-0.595622295197,-0.595699304492,-0.595776308312,-0.595853306656,-0.595930299522,-0.596007286911,-0.596084268822,-0.596161245253,-0.596238216205,-0.596315181676,-0.596392141666,-0.596469096174,-0.596546045199,-0.596622988741,-0.596699926799,-0.596776859373,-0.59685378646,-0.596930708062,-0.597007624177,-0.597084534804,-0.597161439943,-0.597238339593,-0.597315233754,-0.597392122424,-0.597469005603,-0.59754588329,-0.597622755484,-0.597699622186,-0.597776483393,-0.597853339106,-0.597930189323,-0.598007034045,-0.598083873269,-0.598160706996,-0.598237535225,-0.598314357955,-0.598391175186,-0.598467986916,-0.598544793146,-0.598621593873,-0.598698389098,-0.59877517882,-0.598851963039,-0.598928741752,-0.599005514961,-0.599082282664,-0.59915904486,-0.599235801548,-0.599312552729,-0.599389298401,-0.599466038563,-0.599542773215,-0.599619502356,-0.599696225986,-0.599772944104,-0.599849656708,-0.599926363799,-0.600003065375,-0.600079761437,-0.600156451982,-0.600233137011,-0.600309816523,-0.600386490517,-0.600463158992,-0.600539821948,-0.600616479384,-0.600693131299,-0.600769777693,-0.600846418564,-0.600923053913,-0.600999683738,-0.601076308039,-0.601152926815,-0.601229540065,-0.601306147789,-0.601382749986,-0.601459346655,-0.601535937795,-0.601612523407,-0.601689103488,-0.601765678039,-0.601842247059,-0.601918810546,-0.601995368501,-0.602071920922,-0.60214846781,-0.602225009162,-0.602301544979,-0.60237807526,-0.602454600004,-0.60253111921,-0.602607632878,-0.602684141007,-0.602760643596,-0.602837140644,-0.602913632152,-0.602990118117,-0.60306659854,-0.60314307342,-0.603219542756,-0.603296006547,-0.603372464793,-0.603448917493,-0.603525364646,-0.603601806251,-0.603678242308,-0.603754672817,-0.603831097776,-0.603907517184,-0.603983931042,-0.604060339348,-0.604136742101,-0.604213139302,-0.604289530948,-0.60436591704,-0.604442297577,-0.604518672558,-0.604595041983,-0.60467140585,-0.604747764159,-0.604824116909,-0.6049004641,-0.604976805731,-0.605053141801,-0.605129472309,-0.605205797255,-0.605282116639,-0.605358430459,-0.605434738714,-0.605511041404,-0.605587338529,-0.605663630087,-0.605739916078,-0.605816196502,-0.605892471356,-0.605968740642,-0.606045004357,-0.606121262502,-0.606197515076,-0.606273762077,-0.606350003506,-0.606426239361,-0.606502469643,-0.606578694349,-0.60665491348,-0.606731127035,-0.606807335012,-0.606883537412,-0.606959734234,-0.607035925476,-0.607112111139,-0.607188291222,-0.607264465723,-0.607340634643,-0.607416797979,-0.607492955733,-0.607569107903,-0.607645254488,-0.607721395488,-0.607797530901,-0.607873660728,-0.607949784968,-0.608025903619,-0.608102016682,-0.608178124155,-0.608254226037,-0.608330322329,-0.608406413029,-0.608482498137,-0.608558577652,-0.608634651573,-0.608710719899,-0.608786782631,-0.608862839766,-0.608938891305,-0.609014937247,-0.609090977591,-0.609167012336,-0.609243041482,-0.609319065028,-0.609395082973,-0.609471095317,-0.609547102059,-0.609623103198,-0.609699098733,-0.609775088664,-0.60985107299,-0.60992705171,-0.610003024825,-0.610078992332,-0.610154954231,-0.610230910522,-0.610306861204,-0.610382806276,-0.610458745738,-0.610534679588,-0.610610607827,-0.610686530453,-0.610762447465,-0.610838358864,-0.610914264648,-0.610990164816,-0.611066059369,-0.611141948304,-0.611217831622,-0.611293709322,-0.611369581403,-0.611445447865,-0.611521308706,-0.611597163926,-0.611673013525,-0.611748857501,-0.611824695854,-0.611900528584,-0.611976355689,-0.612052177169,-0.612127993022,-0.61220380325,-0.61227960785,-0.612355406822,-0.612431200166,-0.61250698788,-0.612582769964,-0.612658546417,-0.61273431724,-0.612810082429,-0.612885841986,-0.61296159591,-0.613037344199,-0.613113086854,-0.613188823873,-0.613264555255,-0.613340281001,-0.613416001109,-0.613491715578,-0.613567424408,-0.613643127599,-0.613718825149,-0.613794517058,-0.613870203325,-0.61394588395,-0.614021558931,-0.614097228268,-0.614172891961,-0.614248550008,-0.61432420241,-0.614399849164,-0.614475490271,-0.61455112573,-0.61462675554,-0.614702379701,-0.614777998211,-0.614853611071,-0.614929218279,-0.615004819834,-0.615080415737,-0.615156005986,-0.615231590581,-0.61530716952,-0.615382742804,-0.615458310431,-0.615533872401,-0.615609428713,-0.615684979367,-0.615760524361,-0.615836063696,-0.61591159737,-0.615987125382,-0.616062647733,-0.616138164421,-0.616213675445,-0.616289180805,-0.616364680501,-0.616440174531,-0.616515662895,-0.616591145592,-0.616666622621,-0.616742093982,-0.616817559674,-0.616893019697,-0.616968474049,-0.61704392273,-0.617119365739,-0.617194803076,-0.61727023474,-0.61734566073,-0.617421081045,-0.617496495686,-0.61757190465,-0.617647307938,-0.617722705548,-0.617798097481,-0.617873483735,-0.617948864309,-0.618024239204,-0.618099608417,-0.61817497195,-0.6182503298,-0.618325681967,-0.618401028451,-0.61847636925,-0.618551704365,-0.618627033794,-0.618702357537,-0.618777675593,-0.618852987961,-0.618928294641,-0.619003595631,-0.619078890932,-0.619154180543,-0.619229464462,-0.61930474269,-0.619380015225,-0.619455282067,-0.619530543215,-0.619605798668,-0.619681048426,-0.619756292488,-0.619831530854,-0.619906763522,-0.619981990492,-0.620057211763,-0.620132427335,-0.620207637207,-0.620282841378,-0.620358039847,-0.620433232614,-0.620508419679,-0.620583601039,-0.620658776696,-0.620733946647,-0.620809110893,-0.620884269433,-0.620959422265,-0.62103456939,-0.621109710806,-0.621184846514,-0.621259976511,-0.621335100798,-0.621410219374,-0.621485332238,-0.621560439389,-0.621635540827,-0.621710636551,-0.621785726561,-0.621860810855,-0.621935889433,-0.622010962295,-0.622086029439,-0.622161090865,-0.622236146572,-0.62231119656,-0.622386240827,-0.622461279374,-0.622536312199,-0.622611339302,-0.622686360683,-0.622761376339,-0.622836386271,-0.622911390479,-0.62298638896,-0.623061381715,-0.623136368744,-0.623211350044,-0.623286325616,-0.623361295459,-0.623436259572,-0.623511217955,-0.623586170606,-0.623661117526,-0.623736058713,-0.623810994166,-0.623885923886,-0.623960847871,-0.624035766121,-0.624110678635,-0.624185585412,-0.624260486452,-0.624335381754,-0.624410271317,-0.62448515514,-0.624560033224,-0.624634905566,-0.624709772168,-0.624784633026,-0.624859488142,-0.624934337515,-0.625009181143,-0.625084019026,-0.625158851164,-0.625233677555,-0.625308498199,-0.625383313096,-0.625458122244,-0.625532925643,-0.625607723292,-0.625682515191,-0.625757301339,-0.625832081735,-0.625906856378,-0.625981625268,-0.626056388404,-0.626131145786,-0.626205897412,-0.626280643283,-0.626355383397,-0.626430117753,-0.626504846352,-0.626579569192,-0.626654286272,-0.626728997592,-0.626803703152,-0.62687840295,-0.626953096986,-0.627027785259,-0.627102467769,-0.627177144515,-0.627251815495,-0.62732648071,-0.627401140159,-0.627475793841,-0.627550441755,-0.627625083901,-0.627699720278,-0.627774350885,-0.627848975722,-0.627923594788,-0.627998208082,-0.628072815604,-0.628147417352,-0.628222013327,-0.628296603527,-0.628371187953,-0.628445766602,-0.628520339475,-0.62859490657,-0.628669467888,-0.628744023427,-0.628818573186,-0.628893117166,-0.628967655365,-0.629042187783,-0.629116714419,-0.629191235272,-0.629265750341,-0.629340259627,-0.629414763128,-0.629489260843,-0.629563752772,-0.629638238915,-0.62971271927,-0.629787193837,-0.629861662614,-0.629936125603,-0.630010582801,-0.630085034208,-0.630159479824,-0.630233919647,-0.630308353677,-0.630382781914,-0.630457204356,-0.630531621003,-0.630606031855,-0.63068043691,-0.630754836168,-0.630829229628,-0.63090361729,-0.630977999153,-0.631052375216,-0.631126745478,-0.63120110994,-0.631275468599,-0.631349821456,-0.631424168509,-0.631498509759,-0.631572845204,-0.631647174844,-0.631721498678,-0.631795816705,-0.631870128925,-0.631944435337,-0.63201873594,-0.632093030734,-0.632167319717,-0.63224160289,-0.632315880252,-0.632390151801,-0.632464417538,-0.632538677461,-0.63261293157,-0.632687179864,-0.632761422343,-0.632835659005,-0.632909889851,-0.632984114878,-0.633058334088,-0.633132547479,-0.63320675505,-0.633280956801,-0.633355152731,-0.633429342839,-0.633503527125,-0.633577705588,-0.633651878227,-0.633726045041,-0.633800206031,-0.633874361195,-0.633948510532,-0.634022654043,-0.634096791725,-0.634170923579,-0.634245049604,-0.634319169799,-0.634393284164,-0.634467392697,-0.634541495398,-0.634615592267,-0.634689683303,-0.634763768504,-0.634837847872,-0.634911921403,-0.634985989099,-0.635060050958,-0.63513410698,-0.635208157164,-0.635282201509,-0.635356240015,-0.63543027268,-0.635504299505,-0.635578320489,-0.63565233563,-0.635726344929,-0.635800348384,-0.635874345995,-0.635948337761,-0.636022323682,-0.636096303756,-0.636170277984,-0.636244246364,-0.636318208896,-0.636392165579,-0.636466116412,-0.636540061395,-0.636614000527,-0.636687933808,-0.636761861236,-0.636835782812,-0.636909698533,-0.636983608401,-0.637057512413,-0.637131410569,-0.63720530287,-0.637279189313,-0.637353069898,-0.637426944625,-0.637500813493,-0.637574676501,-0.637648533649,-0.637722384936,-0.63779623036,-0.637870069923,-0.637943903622,-0.638017731457,-0.638091553428,-0.638165369533,-0.638239179773,-0.638312984146,-0.638386782652,-0.63846057529,-0.638534362059,-0.63860814296,-0.63868191799,-0.638755687149,-0.638829450437,-0.638903207854,-0.638976959397,-0.639050705068,-0.639124444864,-0.639198178785,-0.639271906831,-0.639345629002,-0.639419345295,-0.639493055711,-0.639566760249,-0.639640458908,-0.639714151688,-0.639787838587,-0.639861519606,-0.639935194743,-0.640008863998,-0.640082527371,-0.64015618486,-0.640229836464,-0.640303482184,-0.640377122018,-0.640450755966,-0.640524384028,-0.640598006201,-0.640671622487,-0.640745232883,-0.64081883739,-0.640892436007,-0.640966028732,-0.641039615566,-0.641113196508,-0.641186771557,-0.641260340712,-0.641333903973,-0.641407461338,-0.641481012809,-0.641554558382,-0.641628098059,-0.641701631838,-0.641775159719,-0.6418486817,-0.641922197782,-0.641995707963,-0.642069212244,-0.642142710622,-0.642216203098,-0.642289689671,-0.642363170341,-0.642436645105,-0.642510113965,-0.642583576919,-0.642657033966,-0.642730485106,-0.642803930339,-0.642877369662,-0.642950803077,-0.643024230582,-0.643097652176,-0.643171067859,-0.64324447763,-0.643317881489,-0.643391279434,-0.643464671465,-0.643538057582,-0.643611437784,-0.643684812069,-0.643758180438,-0.64383154289,-0.643904899424,-0.643978250039,-0.644051594734,-0.64412493351,-0.644198266365,-0.644271593299,-0.644344914311,-0.6444182294,-0.644491538566,-0.644564841807,-0.644638139125,-0.644711430516,-0.644784715982,-0.644857995521,-0.644931269132,-0.645004536816,-0.64507779857,-0.645151054395,-0.645224304291,-0.645297548255,-0.645370786288,-0.645444018389,-0.645517244557,-0.645590464792,-0.645663679092,-0.645736887458,-0.645810089888,-0.645883286382,-0.645956476939,-0.646029661559,-0.646102840241,-0.646176012983,-0.646249179787,-0.64632234065,-0.646395495572,-0.646468644552,-0.646541787591,-0.646614924687,-0.646688055839,-0.646761181046,-0.646834300309,-0.646907413627,-0.646980520998,-0.647053622422,-0.647126717899,-0.647199807427,-0.647272891007,-0.647345968637,-0.647419040316,-0.647492106045,-0.647565165822,-0.647638219647,-0.647711267519,-0.647784309437,-0.647857345401,-0.64793037541,-0.648003399463,-0.64807641756,-0.6481494297,-0.648222435882,-0.648295436107,-0.648368430372,-0.648441418677,-0.648514401022,-0.648587377406,-0.648660347829,-0.648733312289,-0.648806270786,-0.648879223319,-0.648952169888,-0.649025110492,-0.64909804513,-0.649170973802,-0.649243896507,-0.649316813244,-0.649389724013,-0.649462628813,-0.649535527643,-0.649608420502,-0.649681307391,-0.649754188307,-0.649827063252,-0.649899932223,-0.649972795221,-0.650045652244,-0.650118503292,-0.650191348364,-0.65026418746,-0.650337020579,-0.65040984772,-0.650482668883,-0.650555484067,-0.65062829327,-0.650701096494,-0.650773893736,-0.650846684996,-0.650919470274,-0.650992249569,-0.65106502288,-0.651137790207,-0.651210551549,-0.651283306905,-0.651356056274,-0.651428799656,-0.65150153705,-0.651574268456,-0.651646993873,-0.6517197133,-0.651792426737,-0.651865134182,-0.651937835636,-0.652010531097,-0.652083220565,-0.652155904039,-0.652228581519,-0.652301253003,-0.652373918492,-0.652446577984,-0.65251923148,-0.652591878977,-0.652664520476,-0.652737155975,-0.652809785475,-0.652882408975,-0.652955026473,-0.653027637969,-0.653100243463,-0.653172842954,-0.653245436441,-0.653318023923,-0.6533906054,-0.653463180872,-0.653535750337,-0.653608313795,-0.653680871244,-0.653753422686,-0.653825968118,-0.653898507541,-0.653971040953,-0.654043568353,-0.654116089742,-0.654188605119,-0.654261114482,-0.654333617832,-0.654406115167,-0.654478606487,-0.654551091791,-0.654623571078,-0.654696044349,-0.654768511601,-0.654840972835,-0.65491342805,-0.654985877245,-0.65505832042,-0.655130757573,-0.655203188705,-0.655275613814,-0.6553480329,-0.655420445962,-0.655492853,-0.655565254012,-0.655637648999,-0.655710037959,-0.655782420892,-0.655854797797,-0.655927168674,-0.655999533522,-0.65607189234,-0.656144245127,-0.656216591883,-0.656288932608,-0.6563612673,-0.656433595958,-0.656505918583,-0.656578235174,-0.656650545729,-0.656722850249,-0.656795148732,-0.656867441178,-0.656939727587,-0.657012007956,-0.657084282287,-0.657156550578,-0.657228812829,-0.657301069038,-0.657373319206,-0.657445563331,-0.657517801413,-0.657590033451,-0.657662259445,-0.657734479394,-0.657806693297,-0.657878901154,-0.657951102963,-0.658023298725,-0.658095488439,-0.658167672103,-0.658239849717,-0.658312021282,-0.658384186795,-0.658456346256,-0.658528499665,-0.658600647021,-0.658672788323,-0.658744923571,-0.658817052764,-0.658889175901,-0.658961292982,-0.659033404006,-0.659105508972,-0.659177607879,-0.659249700728,-0.659321787517,-0.659393868246,-0.659465942913,-0.659538011519,-0.659610074063,-0.659682130544,-0.659754180961,-0.659826225313,-0.659898263601,-0.659970295823,-0.660042321979,-0.660114342067,-0.660186356089,-0.660258364041,-0.660330365925,-0.66040236174,-0.660474351484,-0.660546335157,-0.660618312758,-0.660690284287,-0.660762249744,-0.660834209126,-0.660906162435,-0.660978109668,-0.661050050826,-0.661121985908,-0.661193914913,-0.66126583784,-0.661337754689,-0.661409665459,-0.66148157015,-0.66155346876,-0.66162536129,-0.661697247738,-0.661769128104,-0.661841002387,-0.661912870587,-0.661984732702,-0.662056588733,-0.662128438678,-0.662200282537,-0.662272120309,-0.662343951994,-0.66241577759,-0.662487597098,-0.662559410516,-0.662631217845,-0.662703019082,-0.662774814228,-0.662846603282,-0.662918386243,-0.662990163111,-0.663061933885,-0.663133698564,-0.663205457148,-0.663277209635,-0.663348956026,-0.66342069632,-0.663492430515,-0.663564158612,-0.66363588061,-0.663707596507,-0.663779306304,-0.663851009999,-0.663922707593,-0.663994399084,-0.664066084472,-0.664137763755,-0.664209436934,-0.664281104008,-0.664352764976,-0.664424419837,-0.664496068591,-0.664567711237,-0.664639347775,-0.664710978203,-0.664782602522,-0.66485422073,-0.664925832826,-0.664997438811,-0.665069038684,-0.665140632443,-0.665212220088,-0.665283801619,-0.665355377035,-0.665426946335,-0.665498509518,-0.665570066585,-0.665641617533,-0.665713162363,-0.665784701074,-0.665856233666,-0.665927760136,-0.665999280486,-0.666070794714,-0.66614230282,-0.666213804803,-0.666285300662,-0.666356790396,-0.666428274006,-0.66649975149,-0.666571222847,-0.666642688078,-0.666714147181,-0.666785600156,-0.666857047002,-0.666928487718,-0.666999922304,-0.667071350759,-0.667142773082,-0.667214189273,-0.667285599331,-0.667357003256,-0.667428401047,-0.667499792702,-0.667571178223,-0.667642557607,-0.667713930854,-0.667785297963,-0.667856658935,-0.667928013768,-0.667999362461,-0.668070705014,-0.668142041427,-0.668213371698,-0.668284695826,-0.668356013813,-0.668427325655,-0.668498631354,-0.668569930908,-0.668641224317,-0.66871251158,-0.668783792696,-0.668855067665,-0.668926336485,-0.668997599157,-0.66906885568,-0.669140106053,-0.669211350276,-0.669282588347,-0.669353820266,-0.669425046032,-0.669496265646,-0.669567479105,-0.66963868641,-0.66970988756,-0.669781082554,-0.669852271392,-0.669923454072,-0.669994630595,-0.670065800959,-0.670136965164,-0.670208123209,-0.670279275094,-0.670350420818,-0.67042156038,-0.67049269378,-0.670563821017,-0.67063494209,-0.670706056998,-0.670777165742,-0.67084826832,-0.670919364732,-0.670990454977,-0.671061539054,-0.671132616963,-0.671203688703,-0.671274754274,-0.671345813674,-0.671416866903,-0.671487913961,-0.671558954847,-0.67162998956,-0.671701018099,-0.671772040465,-0.671843056655,-0.67191406667,-0.671985070509,-0.672056068172,-0.672127059656,-0.672198044963,-0.672269024091,-0.67233999704,-0.672410963809,-0.672481924397,-0.672552878804,-0.672623827029,-0.672694769071,-0.67276570493,-0.672836634605,-0.672907558095,-0.6729784754,-0.67304938652,-0.673120291453,-0.673191190198,-0.673262082756,-0.673332969125,-0.673403849306,-0.673474723296,-0.673545591096,-0.673616452705,-0.673687308122,-0.673758157347,-0.673829000379,-0.673899837217,-0.673970667861,-0.674041492309,-0.674112310562,-0.674183122619,-0.674253928479,-0.674324728141,-0.674395521605,-0.67446630887,-0.674537089936,-0.674607864801,-0.674678633466,-0.674749395929,-0.674820152189,-0.674890902247,-0.674961646102,-0.675032383752,-0.675103115198,-0.675173840439,-0.675244559473,-0.6753152723,-0.675385978921,-0.675456679333,-0.675527373536,-0.675598061531,-0.675668743315,-0.675739418889,-0.675810088251,-0.675880751402,-0.67595140834,-0.676022059064,-0.676092703575,-0.676163341872,-0.676233973953,-0.676304599819,-0.676375219468,-0.6764458329,-0.676516440114,-0.67658704111,-0.676657635886,-0.676728224443,-0.67679880678,-0.676869382896,-0.67693995279,-0.677010516462,-0.677081073911,-0.677151625136,-0.677222170137,-0.677292708913,-0.677363241464,-0.677433767789,-0.677504287886,-0.677574801756,-0.677645309398,-0.677715810812,-0.677786305996,-0.677856794949,-0.677927277673,-0.677997754164,-0.678068224424,-0.678138688451,-0.678209146245,-0.678279597805,-0.67835004313,-0.67842048222,-0.678490915074,-0.678561341691,-0.678631762072,-0.678702176214,-0.678772584118,-0.678842985783,-0.678913381208,-0.678983770393,-0.679054153337,-0.679124530038,-0.679194900498,-0.679265264714,-0.679335622687,-0.679405974416,-0.679476319899,-0.679546659137,-0.679616992129,-0.679687318874,-0.679757639371,-0.67982795362,-0.679898261621,-0.679968563371,-0.680038858872,-0.680109148122,-0.68017943112,-0.680249707867,-0.680319978361,-0.680390242601,-0.680460500587,-0.680530752319,-0.680600997795,-0.680671237016,-0.68074146998,-0.680811696686,-0.680881917135,-0.680952131326,-0.681022339257,-0.681092540928,-0.681162736339,-0.681232925489,-0.681303108377,-0.681373285002,-0.681443455365,-0.681513619464,-0.681583777298,-0.681653928868,-0.681724074172,-0.681794213209,-0.68186434598,-0.681934472483,-0.682004592718,-0.682074706685,-0.682144814381,-0.682214915808,-0.682285010964,-0.682355099848,-0.682425182461,-0.6824952588,-0.682565328866,-0.682635392659,-0.682705450176,-0.682775501419,-0.682845546385,-0.682915585075,-0.682985617488,-0.683055643623,-0.683125663479,-0.683195677056,-0.683265684353,-0.68333568537,-0.683405680106,-0.68347566856,-0.683545650732,-0.683615626621,-0.683685596226,-0.683755559547,-0.683825516583,-0.683895467333,-0.683965411797,-0.684035349975,-0.684105281864,-0.684175207466,-0.684245126779,-0.684315039802,-0.684384946535,-0.684454846978,-0.684524741129,-0.684594628988,-0.684664510555,-0.684734385828,-0.684804254808,-0.684874117492,-0.684943973882,-0.685013823976,-0.685083667773,-0.685153505273,-0.685223336475,-0.685293161379,-0.685362979984,-0.685432792289,-0.685502598293,-0.685572397997,-0.685642191399,-0.685711978499,-0.685781759296,-0.685851533789,-0.685921301978,-0.685991063863,-0.686060819441,-0.686130568714,-0.68620031168,-0.686270048339,-0.686339778689,-0.686409502731,-0.686479220463,-0.686548931886,-0.686618636998,-0.686688335798,-0.686758028287,-0.686827714463,-0.686897394326,-0.686967067875,-0.68703673511,-0.68710639603,-0.687176050634,-0.687245698921,-0.687315340892,-0.687384976545,-0.687454605879,-0.687524228895,-0.687593845591,-0.687663455967,-0.687733060022,-0.687802657755,-0.687872249167,-0.687941834255,-0.68801141302,-0.688080985462,-0.688150551578,-0.688220111369,-0.688289664834,-0.688359211973,-0.688428752784,-0.688498287267,-0.688567815422,-0.688637337248,-0.688706852744,-0.688776361909,-0.688845864744,-0.688915361246,-0.688984851417,-0.689054335254,-0.689123812757,-0.689193283927,-0.689262748761,-0.68933220726,-0.689401659423,-0.689471105249,-0.689540544737,-0.689609977887,-0.689679404699,-0.689748825171,-0.689818239303,-0.689887647095,-0.689957048545,-0.690026443653,-0.690095832419,-0.690165214841,-0.69023459092,-0.690303960654,-0.690373324043,-0.690442681086,-0.690512031783,-0.690581376132,-0.690650714135,-0.690720045788,-0.690789371093,-0.690858690048,-0.690928002653,-0.690997308908,-0.69106660881,-0.691135902361,-0.691205189558,-0.691274470403,-0.691343744893,-0.691413013029,-0.691482274809,-0.691551530233,-0.691620779301,-0.691690022012,-0.691759258364,-0.691828488358,-0.691897711993,-0.691966929269,-0.692036140183,-0.692105344737,-0.692174542929,-0.692243734759,-0.692312920226,-0.692382099329,-0.692451272068,-0.692520438442,-0.692589598451,-0.692658752093,-0.692727899369,-0.692797040277,-0.692866174817,-0.692935302989,-0.693004424791,-0.693073540224,-0.693142649285,-0.693211751976,-0.693280848295,-0.693349938241,-0.693419021814,-0.693488099013,-0.693557169838,-0.693626234288,-0.693695292362,-0.69376434406,-0.693833389381,-0.693902428324,-0.69397146089,-0.694040487076,-0.694109506883,-0.69417852031,-0.694247527356,-0.69431652802,-0.694385522303,-0.694454510203,-0.69452349172,-0.694592466853,-0.694661435601,-0.694730397964,-0.694799353942,-0.694868303532,-0.694937246736,-0.695006183552,-0.69507511398,-0.695144038019,-0.695212955668,-0.695281866927,-0.695350771795,-0.695419670271,-0.695488562356,-0.695557448047,-0.695626327345,-0.695695200249,-0.695764066759,-0.695832926873,-0.695901780591,-0.695970627913,-0.696039468837,-0.696108303363,-0.696177131491,-0.69624595322,-0.69631476855,-0.696383577478,-0.696452380006,-0.696521176132,-0.696589965856,-0.696658749177,-0.696727526095,-0.696796296608,-0.696865060716,-0.696933818419,-0.697002569716,-0.697071314607,-0.69714005309,-0.697208785165,-0.697277510831,-0.697346230088,-0.697414942935,-0.697483649372,-0.697552349398,-0.697621043012,-0.697689730213,-0.697758411002,-0.697827085377,-0.697895753337,-0.697964414883,-0.698033070013,-0.698101718727,-0.698170361024,-0.698238996904,-0.698307626366,-0.698376249409,-0.698444866033,-0.698513476236,-0.69858208002,-0.698650677381,-0.698719268322,-0.698787852839,-0.698856430934,-0.698925002604,-0.698993567851,-0.699062126672,-0.699130679068,-0.699199225037,-0.69926776458,-0.699336297695,-0.699404824382,-0.69947334464,-0.699541858469,-0.699610365868,-0.699678866836,-0.699747361373,-0.699815849477,-0.69988433115,-0.699952806389,-0.700021275194,-0.700089737565,-0.700158193501,-0.700226643001,-0.700295086064,-0.700363522691,-0.70043195288,-0.700500376631,-0.700568793943,-0.700637204816,-0.700705609248,-0.70077400724,-0.700842398791,-0.700910783899,-0.700979162565,-0.701047534787,-0.701115900566,-0.7011842599,-0.701252612789,-0.701320959232,-0.701389299229,-0.701457632779,-0.701525959881,-0.701594280535,-0.70166259474,-0.701730902496,-0.701799203801,-0.701867498656,-0.701935787059,-0.70200406901,-0.702072344508,-0.702140613553,-0.702208876144,-0.702277132281,-0.702345381962,-0.702413625188,-0.702481861957,-0.702550092269,-0.702618316124,-0.70268653352,-0.702754744457,-0.702822948935,-0.702891146952,-0.702959338509,-0.703027523604,-0.703095702237,-0.703163874407,-0.703232040114,-0.703300199358,-0.703368352136,-0.703436498449,-0.703504638297,-0.703572771678,-0.703640898592,-0.703709019038,-0.703777133016,-0.703845240524,-0.703913341564,-0.703981436133,-0.704049524231,-0.704117605858,-0.704185681012,-0.704253749694,-0.704321811903,-0.704389867637,-0.704457916897,-0.704525959682,-0.704593995991,-0.704662025823,-0.704730049179,-0.704798066056,-0.704866076456,-0.704934080376,-0.705002077817,-0.705070068777,-0.705138053257,-0.705206031255,-0.705274002771,-0.705341967804,-0.705409926354,-0.70547787842,-0.705545824001,-0.705613763097,-0.705681695708,-0.705749621831,-0.705817541468,-0.705885454617,-0.705953361278,-0.706021261449,-0.706089155131,-0.706157042323,-0.706224923024,-0.706292797234,-0.706360664951,-0.706428526176,-0.706496380907,-0.706564229145,-0.706632070888,-0.706699906135,-0.706767734887,-0.706835557142,-0.706903372901,-0.706971182161,-0.707038984923,-0.707106781187,-0.70717457095,-0.707242354214,-0.707310130976,-0.707377901238,-0.707445664997,-0.707513422253,-0.707581173006,-0.707648917256,-0.707716655,-0.70778438624,-0.707852110974,-0.707919829201,-0.707987540921,-0.708055246134,-0.708122944838,-0.708190637033,-0.708258322719,-0.708326001895,-0.70839367456,-0.708461340713,-0.708529000354,-0.708596653483,-0.708664300099,-0.7087319402,-0.708799573788,-0.70886720086,-0.708934821416,-0.709002435456,-0.709070042978,-0.709137643984,-0.709205238471,-0.709272826439,-0.709340407888,-0.709407982816,-0.709475551224,-0.70954311311,-0.709610668475,-0.709678217317,-0.709745759636,-0.70981329543,-0.709880824701,-0.709948347446,-0.710015863666,-0.710083373359,-0.710150876526,-0.710218373164,-0.710285863275,-0.710353346857,-0.71042082391,-0.710488294432,-0.710555758424,-0.710623215884,-0.710690666813,-0.710758111209,-0.710825549072,-0.710892980401,-0.710960405196,-0.711027823456,-0.71109523518,-0.711162640368,-0.711230039019,-0.711297431133,-0.711364816708,-0.711432195745,-0.711499568243,-0.7115669342,-0.711634293617,-0.711701646493,-0.711768992827,-0.711836332619,-0.711903665867,-0.711970992572,-0.712038312733,-0.712105626348,-0.712172933418,-0.712240233942,-0.71230752792,-0.71237481535,-0.712442096231,-0.712509370565,-0.712576638349,-0.712643899583,-0.712711154267,-0.712778402399,-0.71284564398,-0.712912879009,-0.712980107484,-0.713047329406,-0.713114544774,-0.713181753587,-0.713248955845,-0.713316151547,-0.713383340692,-0.71345052328,-0.713517699309,-0.713584868781,-0.713652031693,-0.713719188046,-0.713786337838,-0.713853481069,-0.713920617738,-0.713987747846,-0.71405487139,-0.714121988372,-0.714189098789,-0.714256202641,-0.714323299928,-0.714390390649,-0.714457474804,-0.714524552392,-0.714591623411,-0.714658687863,-0.714725745745,-0.714792797058,-0.714859841801,-0.714926879972,-0.714993911573,-0.715060936601,-0.715127955056,-0.715194966939,-0.715261972247,-0.715328970981,-0.715395963139,-0.715462948722,-0.715529927729,-0.715596900158,-0.71566386601,-0.715730825284,-0.715797777979,-0.715864724094,-0.715931663629,-0.715998596584,-0.716065522957,-0.716132442748,-0.716199355957,-0.716266262583,-0.716333162625,-0.716400056082,-0.716466942955,-0.716533823242,-0.716600696943,-0.716667564056,-0.716734424583,-0.716801278521,-0.716868125871,-0.716934966631,-0.717001800802,-0.717068628381,-0.71713544937,-0.717202263767,-0.717269071572,-0.717335872784,-0.717402667402,-0.717469455425,-0.717536236854,-0.717603011688,-0.717669779926,-0.717736541566,-0.71780329661,-0.717870045056,-0.717936786903,-0.718003522151,-0.718070250799,-0.718136972847,-0.718203688294,-0.71827039714,-0.718337099383,-0.718403795023,-0.718470484061,-0.718537166494,-0.718603842322,-0.718670511545,-0.718737174162,-0.718803830173,-0.718870479577,-0.718937122373,-0.71900375856,-0.719070388139,-0.719137011108,-0.719203627467,-0.719270237216,-0.719336840353,-0.719403436878,-0.71947002679,-0.719536610089,-0.719603186774,-0.719669756845,-0.719736320301,-0.719802877141,-0.719869427365,-0.719935970972,-0.720002507961,-0.720069038333,-0.720135562085,-0.720202079219,-0.720268589732,-0.720335093625,-0.720401590897,-0.720468081546,-0.720534565574,-0.720601042978,-0.720667513759,-0.720733977916,-0.720800435448,-0.720866886354,-0.720933330634,-0.720999768288,-0.721066199315,-0.721132623713,-0.721199041483,-0.721265452624,-0.721331857135,-0.721398255016,-0.721464646266,-0.721531030884,-0.72159740887,-0.721663780224,-0.721730144944,-0.72179650303,-0.721862854481,-0.721929199298,-0.721995537478,-0.722061869022,-0.722128193929,-0.722194512199,-0.72226082383,-0.722327128822,-0.722393427175,-0.722459718887,-0.722526003959,-0.72259228239,-0.722658554179,-0.722724819325,-0.722791077828,-0.722857329687,-0.722923574902,-0.722989813472,-0.723056045397,-0.723122270675,-0.723188489307,-0.723254701291,-0.723320906627,-0.723387105314,-0.723453297353,-0.723519482741,-0.723585661479,-0.723651833566,-0.723717999001,-0.723784157784,-0.723850309915,-0.723916455391,-0.723982594214,-0.724048726382,-0.724114851895,-0.724180970751,-0.724247082951,-0.724313188495,-0.72437928738,-0.724445379607,-0.724511465175,-0.724577544084,-0.724643616332,-0.724709681919,-0.724775740846,-0.72484179311,-0.724907838712,-0.72497387765,-0.725039909925,-0.725105935535,-0.72517195448,-0.72523796676,-0.725303972373,-0.72536997132,-0.725435963599,-0.72550194921,-0.725567928152,-0.725633900425,-0.725699866028,-0.725765824961,-0.725831777223,-0.725897722813,-0.72596366173,-0.726029593975,-0.726095519546,-0.726161438444,-0.726227350666,-0.726293256213,-0.726359155084,-0.726425047279,-0.726490932796,-0.726556811636,-0.726622683798,-0.72668854928,-0.726754408083,-0.726820260206,-0.726886105648,-0.726951944408,-0.727017776487,-0.727083601883,-0.727149420595,-0.727215232624,-0.727281037969,-0.727346836628,-0.727412628602,-0.72747841389,-0.727544192491,-0.727609964404,-0.72767572963,-0.727741488167,-0.727807240014,-0.727872985172,-0.727938723639,-0.728004455415,-0.7280701805,-0.728135898892,-0.728201610591,-0.728267315597,-0.728333013909,-0.728398705526,-0.728464390448,-0.728530068674,-0.728595740204,-0.728661405036,-0.728727063171,-0.728792714607,-0.728858359345,-0.728923997383,-0.728989628721,-0.729055253358,-0.729120871293,-0.729186482527,-0.729252087059,-0.729317684887,-0.729383276012,-0.729448860432,-0.729514438147,-0.729580009157,-0.72964557346,-0.729711131057,-0.729776681947,-0.729842226128,-0.729907763601,-0.729973294365,-0.730038818419,-0.730104335763,-0.730169846395,-0.730235350317,-0.730300847526,-0.730366338022,-0.730431821805,-0.730497298874,-0.730562769228,-0.730628232867,-0.73069368979,-0.730759139997,-0.730824583487,-0.73089002026,-0.730955450314,-0.731020873649,-0.731086290265,-0.731151700162,-0.731217103337,-0.731282499791,-0.731347889524,-0.731413272534,-0.731478648821,-0.731544018385,-0.731609381224,-0.731674737338,-0.731740086728,-0.731805429391,-0.731870765327,-0.731936094537,-0.732001417018,-0.732066732771,-0.732132041795,-0.73219734409,-0.732262639654,-0.732327928488,-0.73239321059,-0.73245848596,-0.732523754598,-0.732589016502,-0.732654271672,-0.732719520109,-0.73278476181,-0.732849996775,-0.732915225005,-0.732980446497,-0.733045661252,-0.733110869269,-0.733176070548,-0.733241265087,-0.733306452887,-0.733371633946,-0.733436808264,-0.733501975841,-0.733567136675,-0.733632290766,-0.733697438115,-0.733762578719,-0.733827712578,-0.733892839693,-0.733957960061,-0.734023073684,-0.734088180559,-0.734153280687,-0.734218374066,-0.734283460697,-0.734348540578,-0.73441361371,-0.73447868009,-0.73454373972,-0.734608792598,-0.734673838723,-0.734738878096,-0.734803910715,-0.73486893658,-0.73493395569,-0.734998968044,-0.735063973643,-0.735128972485,-0.73519396457,-0.735258949898,-0.735323928467,-0.735388900277,-0.735453865327,-0.735518823618,-0.735583775147,-0.735648719916,-0.735713657922,-0.735778589166,-0.735843513646,-0.735908431363,-0.735973342316,-0.736038246504,-0.736103143926,-0.736168034582,-0.736232918472,-0.736297795594,-0.736362665948,-0.736427529534,-0.736492386351,-0.736557236398,-0.736622079675,-0.736686916181,-0.736751745915,-0.736816568877,-0.736881385067,-0.736946194484,-0.737010997126,-0.737075792994,-0.737140582087,-0.737205364405,-0.737270139946,-0.73733490871,-0.737399670697,-0.737464425906,-0.737529174337,-0.737593915988,-0.737658650859,-0.73772337895,-0.73778810026,-0.737852814788,-0.737917522535,-0.737982223498,-0.738046917678,-0.738111605074,-0.738176285686,-0.738240959512,-0.738305626552,-0.738370286807,-0.738434940274,-0.738499586954,-0.738564226845,-0.738628859948,-0.738693486262,-0.738758105785,-0.738822718519,-0.738887324461,-0.738951923611,-0.739016515969,-0.739081101534,-0.739145680306,-0.739210252284,-0.739274817467,-0.739339375854,-0.739403927446,-0.739468472242,-0.73953301024,-0.739597541441,-0.739662065843,-0.739726583447,-0.739791094251,-0.739855598256,-0.73992009546,-0.739984585862,-0.740049069463,-0.740113546261,-0.740178016257,-0.740242479449,-0.740306935836,-0.740371385419,-0.740435828197,-0.740500264169,-0.740564693334,-0.740629115692,-0.740693531242,-0.740757939984,-0.740822341918,-0.740886737041,-0.740951125355,-0.741015506858,-0.74107988155,-0.74114424943,-0.741208610497,-0.741272964751,-0.741337312192,-0.741401652819,-0.741465986631,-0.741530313627,-0.741594633807,-0.741658947171,-0.741723253718,-0.741787553447,-0.741851846357,-0.741916132449,-0.741980411721,-0.742044684173,-0.742108949804,-0.742173208614,-0.742237460602,-0.742301705767,-0.74236594411,-0.742430175629,-0.742494400323,-0.742558618193,-0.742622829237,-0.742687033455,-0.742751230847,-0.742815421411,-0.742879605148,-0.742943782056,-0.743007952135,-0.743072115385,-0.743136271804,-0.743200421393,-0.74326456415,-0.743328700076,-0.743392829169,-0.743456951429,-0.743521066855,-0.743585175447,-0.743649277203,-0.743713372125,-0.74377746021,-0.743841541459,-0.743905615871,-0.743969683445,-0.74403374418,-0.744097798076,-0.744161845133,-0.74422588535,-0.744289918725,-0.74435394526,-0.744417964952,-0.744481977802,-0.744545983809,-0.744609982972,-0.744673975291,-0.744737960765,-0.744801939394,-0.744865911176,-0.744929876112,-0.744993834201,-0.745057785441,-0.745121729834,-0.745185667377,-0.745249598071,-0.745313521914,-0.745377438907,-0.745441349049,-0.745505252338,-0.745569148775,-0.745633038359,-0.745696921089,-0.745760796965,-0.745824665986,-0.745888528152,-0.745952383461,-0.746016231914,-0.74608007351,-0.746143908248,-0.746207736127,-0.746271557148,-0.746335371309,-0.74639917861,-0.74646297905,-0.746526772628,-0.746590559345,-0.746654339199,-0.746718112191,-0.746781878318,-0.746845637581,-0.74690938998,-0.746973135513,-0.74703687418,-0.74710060598,-0.747164330913,-0.747228048979,-0.747291760176,-0.747355464504,-0.747419161963,-0.747482852551,-0.747546536269,-0.747610213115,-0.74767388309,-0.747737546192,-0.747801202421,-0.747864851777,-0.747928494258,-0.747992129864,-0.748055758595,-0.74811938045,-0.748182995429,-0.74824660353,-0.748310204754,-0.748373799099,-0.748437386566,-0.748500967153,-0.74856454086,-0.748628107686,-0.748691667631,-0.748755220695,-0.748818766875,-0.748882306173,-0.748945838588,-0.749009364118,-0.749072882763,-0.749136394523,-0.749199899398,-0.749263397385,-0.749326888486,-0.749390372699,-0.749453850024,-0.74951732046,-0.749580784006,-0.749644240663,-0.749707690429,-0.749771133304,-0.749834569287,-0.749897998378,-0.749961420576,-0.75002483588,-0.750088244291,-0.750151645806,-0.750215040427,-0.750278428151,-0.75034180898,-0.750405182911,-0.750468549945,-0.75053191008,-0.750595263317,-0.750658609655,-0.750721949092,-0.750785281629,-0.750848607265,-0.750911926,-0.750975237832,-0.751038542762,-0.751101840788,-0.75116513191,-0.751228416127,-0.75129169344,-0.751354963846,-0.751418227347,-0.75148148394,-0.751544733626,-0.751607976404,-0.751671212274,-0.751734441234,-0.751797663284,-0.751860878424,-0.751924086654,-0.751987287971,-0.752050482377,-0.75211366987,-0.752176850449,-0.752240024115,-0.752303190866,-0.752366350702,-0.752429503623,-0.752492649627,-0.752555788715,-0.752618920886,-0.752682046138,-0.752745164472,-0.752808275887,-0.752871380382,-0.752934477957,-0.752997568612,-0.753060652344,-0.753123729155,-0.753186799044,-0.753249862009,-0.75331291805,-0.753375967167,-0.75343900936,-0.753502044627,-0.753565072968,-0.753628094382,-0.753691108869,-0.753754116428,-0.753817117059,-0.753880110761,-0.753943097533,-0.754006077376,-0.754069050288,-0.754132016268,-0.754194975317,-0.754257927433,-0.754320872617,-0.754383810866,-0.754446742182,-0.754509666563,-0.754572584008,-0.754635494518,-0.754698398092,-0.754761294728,-0.754824184426,-0.754887067187,-0.754949943009,-0.755012811891,-0.755075673834,-0.755138528836,-0.755201376897,-0.755264218016,-0.755327052193,-0.755389879427,-0.755452699718,-0.755515513065,-0.755578319467,-0.755641118924,-0.755703911436,-0.755766697001,-0.75582947562,-0.755892247291,-0.755955012014,-0.756017769788,-0.756080520614,-0.756143264489,-0.756206001414,-0.756268731389,-0.756331454412,-0.756394170483,-0.756456879601,-0.756519581766,-0.756582276977,-0.756644965234,-0.756707646536,-0.756770320883,-0.756832988273,-0.756895648707,-0.756958302184,-0.757020948703,-0.757083588263,-0.757146220865,-0.757208846506,-0.757271465188,-0.75733407691,-0.757396681669,-0.757459279468,-0.757521870303,-0.757584454176,-0.757647031085,-0.75770960103,-0.757772164011,-0.757834720026,-0.757897269075,-0.757959811158,-0.758022346273,-0.758084874422,-0.758147395602,-0.758209909813,-0.758272417055,-0.758334917327,-0.758397410629,-0.75845989696,-0.758522376319,-0.758584848705,-0.75864731412,-0.75870977256,-0.758772224027,-0.75883466852,-0.758897106037,-0.758959536579,-0.759021960145,-0.759084376733,-0.759146786345,-0.759209188978,-0.759271584633,-0.759333973309,-0.759396355006,-0.759458729722,-0.759521097457,-0.759583458211,-0.759645811984,-0.759708158773,-0.75977049858,-0.759832831403,-0.759895157241,-0.759957476095,-0.760019787964,-0.760082092846,-0.760144390742,-0.760206681651,-0.760268965573,-0.760331242506,-0.76039351245,-0.760455775405,-0.76051803137,-0.760580280344,-0.760642522328,-0.760704757319,-0.760766985319,-0.760829206325,-0.760891420339,-0.760953627358,-0.761015827383,-0.761078020412,-0.761140206446,-0.761202385484,-0.761264557525,-0.761326722569,-0.761388880615,-0.761451031662,-0.76151317571,-0.761575312758,-0.761637442806,-0.761699565854,-0.761761681899,-0.761823790943,-0.761885892985,-0.761947988023,-0.762010076058,-0.762072157089,-0.762134231114,-0.762196298135,-0.762258358149,-0.762320411157,-0.762382457158,-0.762444496151,-0.762506528136,-0.762568553112,-0.762630571078,-0.762692582035,-0.762754585981,-0.762816582917,-0.76287857284,-0.762940555752,-0.76300253165,-0.763064500535,-0.763126462407,-0.763188417263,-0.763250365105,-0.763312305931,-0.763374239741,-0.763436166534,-0.76349808631,-0.763559999068,-0.763621904807,-0.763683803528,-0.763745695228,-0.763807579909,-0.763869457569,-0.763931328207,-0.763993191824,-0.764055048418,-0.764116897989,-0.764178740536,-0.764240576059,-0.764302404558,-0.764364226031,-0.764426040479,-0.7644878479,-0.764549648293,-0.76461144166,-0.764673227998,-0.764735007308,-0.764796779588,-0.764858544838,-0.764920303058,-0.764982054247,-0.765043798405,-0.76510553553,-0.765167265622,-0.765228988682,-0.765290704707,-0.765352413699,-0.765414115655,-0.765475810575,-0.76553749846,-0.765599179308,-0.765660853119,-0.765722519892,-0.765784179626,-0.765845832322,-0.765907477978,-0.765969116594,-0.76603074817,-0.766092372704,-0.766153990196,-0.766215600647,-0.766277204054,-0.766338800418,-0.766400389738,-0.766461972013,-0.766523547243,-0.766585115427,-0.766646676565,-0.766708230657,-0.7667697777,-0.766831317696,-0.766892850643,-0.766954376542,-0.76701589539,-0.767077407188,-0.767138911936,-0.767200409632,-0.767261900276,-0.767323383868,-0.767384860406,-0.767446329891,-0.767507792322,-0.767569247698,-0.767630696018,-0.767692137283,-0.767753571491,-0.767814998642,-0.767876418736,-0.767937831772,-0.767999237748,-0.768060636666,-0.768122028523,-0.768183413321,-0.768244791057,-0.768306161731,-0.768367525344,-0.768428881894,-0.768490231381,-0.768551573804,-0.768612909162,-0.768674237456,-0.768735558684,-0.768796872846,-0.768858179941,-0.76891947997,-0.76898077293,-0.769042058822,-0.769103337646,-0.769164609399,-0.769225874083,-0.769287131697,-0.769348382239,-0.76940962571,-0.769470862108,-0.769532091433,-0.769593313685,-0.769654528864,-0.769715736967,-0.769776937996,-0.769838131949,-0.769899318826,-0.769960498626,-0.770021671348,-0.770082836993,-0.77014399556,-0.770205147047,-0.770266291455,-0.770327428783,-0.77038855903,-0.770449682196,-0.77051079828,-0.770571907281,-0.7706330092,-0.770694104035,-0.770755191786,-0.770816272453,-0.770877346034,-0.77093841253,-0.770999471939,-0.771060524262,-0.771121569497,-0.771182607644,-0.771243638702,-0.771304662672,-0.771365679552,-0.771426689341,-0.77148769204,-0.771548687647,-0.771609676163,-0.771670657586,-0.771731631916,-0.771792599152,-0.771853559294,-0.771914512342,-0.771975458294,-0.77203639715,-0.77209732891,-0.772158253573,-0.772219171139,-0.772280081606,-0.772340984975,-0.772401881245,-0.772462770415,-0.772523652484,-0.772584527453,-0.77264539532,-0.772706256086,-0.772767109748,-0.772827956308,-0.772888795764,-0.772949628116,-0.773010453363,-0.773071271504,-0.77313208254,-0.773192886469,-0.773253683291,-0.773314473006,-0.773375255613,-0.77343603111,-0.773496799499,-0.773557560778,-0.773618314946,-0.773679062003,-0.773739801949,-0.773800534783,-0.773861260504,-0.773921979112,-0.773982690607,-0.774043394987,-0.774104092252,-0.774164782402,-0.774225465436,-0.774286141353,-0.774346810154,-0.774407471836,-0.774468126401,-0.774528773846,-0.774589414173,-0.774650047379,-0.774710673466,-0.774771292431,-0.774831904274,-0.774892508996,-0.774953106595,-0.775013697071,-0.775074280423,-0.77513485665,-0.775195425753,-0.77525598773,-0.775316542582,-0.775377090306,-0.775437630904,-0.775498164374,-0.775558690716,-0.775619209929,-0.775679722013,-0.775740226967,-0.77580072479,-0.775861215483,-0.775921699043,-0.775982175472,-0.776042644768,-0.776103106931,-0.77616356196,-0.776224009855,-0.776284450615,-0.776344884239,-0.776405310728,-0.77646573008,-0.776526142295,-0.776586547372,-0.776646945311,-0.776707336111,-0.776767719772,-0.776828096293,-0.776888465673,-0.776948827913,-0.777009183011,-0.777069530967,-0.77712987178,-0.77719020545,-0.777250531976,-0.777310851358,-0.777371163595,-0.777431468687,-0.777491766632,-0.777552057431,-0.777612341083,-0.777672617588,-0.777732886944,-0.777793149151,-0.777853404209,-0.777913652118,-0.777973892876,-0.778034126482,-0.778094352938,-0.778154572241,-0.778214784392,-0.778274989389,-0.778335187233,-0.778395377922,-0.778455561457,-0.778515737836,-0.778575907059,-0.778636069126,-0.778696224036,-0.778756371788,-0.778816512381,-0.778876645817,-0.778936772093,-0.778996891209,-0.779057003164,-0.779117107959,-0.779177205593,-0.779237296064,-0.779297379373,-0.779357455518,-0.7794175245,-0.779477586318,-0.779537640971,-0.779597688458,-0.77965772878,-0.779717761935,-0.779777787923,-0.779837806744,-0.779897818396,-0.77995782288,-0.780017820195,-0.78007781034,-0.780137793314,-0.780197769118,-0.78025773775,-0.780317699211,-0.780377653499,-0.780437600613,-0.780497540555,-0.780557473322,-0.780617398914,-0.780677317331,-0.780737228572,-0.780797132637,-0.780857029525,-0.780916919235,-0.780976801768,-0.781036677122,-0.781096545296,-0.781156406291,-0.781216260106,-0.78127610674,-0.781335946193,-0.781395778464,-0.781455603552,-0.781515421458,-0.78157523218,-0.781635035718,-0.781694832071,-0.781754621239,-0.781814403222,-0.781874178018,-0.781933945627,-0.781993706049,-0.782053459283,-0.782113205328,-0.782172944185,-0.782232675852,-0.782292400329,-0.782352117615,-0.78241182771,-0.782471530613,-0.782531226324,-0.782590914842,-0.782650596167,-0.782710270297,-0.782769937233,-0.782829596975,-0.78288924952,-0.782948894869,-0.783008533022,-0.783068163977,-0.783127787735,-0.783187404294,-0.783247013655,-0.783306615816,-0.783366210777,-0.783425798537,-0.783485379096,-0.783544952454,-0.78360451861,-0.783664077562,-0.783723629312,-0.783783173858,-0.783842711199,-0.783902241336,-0.783961764266,-0.784021279991,-0.78408078851,-0.784140289821,-0.784199783925,-0.78425927082,-0.784318750507,-0.784378222984,-0.784437688252,-0.784497146309,-0.784556597156,-0.78461604079,-0.784675477213,-0.784734906423,-0.78479432842,-0.784853743204,-0.784913150773,-0.784972551128,-0.785031944267,-0.78509133019,-0.785150708897,-0.785210080387,-0.78526944466,-0.785328801714,-0.78538815155,-0.785447494167,-0.785506829564,-0.785566157741,-0.785625478697,-0.785684792432,-0.785744098945,-0.785803398236,-0.785862690303,-0.785921975148,-0.785981252768,-0.786040523163,-0.786099786334,-0.786159042279,-0.786218290997,-0.786277532489,-0.786336766754,-0.786395993791,-0.786455213599,-0.786514426179,-0.786573631529,-0.786632829648,-0.786692020538,-0.786751204196,-0.786810380623,-0.786869549817,-0.786928711779,-0.786987866507,-0.787047014002,-0.787106154262,-0.787165287288,-0.787224413078,-0.787283531631,-0.787342642949,-0.787401747029,-0.787460843872,-0.787519933476,-0.787579015842,-0.787638090968,-0.787697158855,-0.787756219501,-0.787815272907,-0.787874319071,-0.787933357993,-0.787992389673,-0.788051414109,-0.788110431302,-0.788169441251,-0.788228443955,-0.788287439414,-0.788346427627,-0.788405408593,-0.788464382313,-0.788523348786,-0.78858230801,-0.788641259986,-0.788700204714,-0.788759142191,-0.788818072418,-0.788876995395,-0.788935911121,-0.788994819595,-0.789053720816,-0.789112614785,-0.7891715015,-0.789230380962,-0.789289253169,-0.789348118121,-0.789406975818,-0.789465826258,-0.789524669442,-0.789583505369,-0.789642334038,-0.789701155449,-0.789759969601,-0.789818776494,-0.789877576127,-0.789936368499,-0.789995153611,-0.790053931461,-0.790112702049,-0.790171465375,-0.790230221437,-0.790288970236,-0.790347711771,-0.790406446041,-0.790465173046,-0.790523892785,-0.790582605257,-0.790641310463,-0.790700008402,-0.790758699072,-0.790817382474,-0.790876058607,-0.790934727471,-0.790993389064,-0.791052043386,-0.791110690438,-0.791169330218,-0.791227962725,-0.79128658796,-0.791345205921,-0.791403816609,-0.791462420022,-0.79152101616,-0.791579605023,-0.791638186609,-0.791696760919,-0.791755327952,-0.791813887707,-0.791872440184,-0.791930985383,-0.791989523302,-0.792048053941,-0.7921065773,-0.792165093378,-0.792223602175,-0.79228210369,-0.792340597922,-0.792399084871,-0.792457564537,-0.792516036918,-0.792574502015,-0.792632959827,-0.792691410353,-0.792749853593,-0.792808289546,-0.792866718212,-0.79292513959,-0.792983553679,-0.793041960479,-0.79310035999,-0.793158752211,-0.793217137142,-0.793275514781,-0.793333885129,-0.793392248185,-0.793450603948,-0.793508952417,-0.793567293593,-0.793625627475,-0.793683954062,-0.793742273353,-0.793800585349,-0.793858890048,-0.79391718745,-0.793975477554,-0.794033760361,-0.794092035869,-0.794150304078,-0.794208564987,-0.794266818596,-0.794325064904,-0.794383303911,-0.794441535616,-0.794499760019,-0.794557977119,-0.794616186915,-0.794674389408,-0.794732584596,-0.794790772479,-0.794848953057,-0.794907126328,-0.794965292293,-0.795023450951,-0.795081602301,-0.795139746343,-0.795197883076,-0.7952560125,-0.795314134613,-0.795372249417,-0.79543035691,-0.795488457091,-0.79554654996,-0.795604635517,-0.795662713761,-0.795720784691,-0.795778848307,-0.795836904609,-0.795894953595,-0.795952995266,-0.79601102962,-0.796069056658,-0.796127076378,-0.796185088781,-0.796243093865,-0.79630109163,-0.796359082076,-0.796417065202,-0.796475041008,-0.796533009492,-0.796590970655,-0.796648924495,-0.796706871013,-0.796764810208,-0.79682274208,-0.796880666627,-0.796938583849,-0.796996493746,-0.797054396317,-0.797112291562,-0.79717017948,-0.79722806007,-0.797285933333,-0.797343799267,-0.797401657872,-0.797459509147,-0.797517353093,-0.797575189708,-0.797633018991,-0.797690840943,-0.797748655563,-0.79780646285,-0.797864262804,-0.797922055424,-0.79797984071,-0.798037618661,-0.798095389276,-0.798153152556,-0.798210908499,-0.798268657105,-0.798326398373,-0.798384132304,-0.798441858896,-0.798499578149,-0.798557290062,-0.798614994635,-0.798672691867,-0.798730381758,-0.798788064308,-0.798845739515,-0.798903407379,-0.7989610679,-0.799018721077,-0.799076366909,-0.799134005397,-0.799191636539,-0.799249260335,-0.799306876785,-0.799364485888,-0.799422087643,-0.79947968205,-0.799537269108,-0.799594848817,-0.799652421176,-0.799709986186,-0.799767543844,-0.799825094151,-0.799882637106,-0.799940172709,-0.799997700959,-0.800055221856,-0.800112735399,-0.800170241587,-0.80022774042,-0.800285231898,-0.80034271602,-0.800400192785,-0.800457662193,-0.800515124243,-0.800572578935,-0.800630026269,-0.800687466243,-0.800744898857,-0.800802324112,-0.800859742005,-0.800917152537,-0.800974555708,-0.801031951515,-0.80108933996,-0.801146721042,-0.80120409476,-0.801261461113,-0.801318820101,-0.801376171723,-0.80143351598,-0.801490852869,-0.801548182392,-0.801605504547,-0.801662819334,-0.801720126752,-0.801777426801,-0.80183471948,-0.801892004789,-0.801949282727,-0.802006553293,-0.802063816488,-0.802121072311,-0.80217832076,-0.802235561836,-0.802292795538,-0.802350021866,-0.802407240818,-0.802464452395,-0.802521656596,-0.80257885342,-0.802636042867,-0.802693224937,-0.802750399628,-0.802807566941,-0.802864726874,-0.802921879428,-0.802979024601,-0.803036162393,-0.803093292804,-0.803150415834,-0.803207531481,-0.803264639745,-0.803321740625,-0.803378834122,-0.803435920234,-0.803492998961,-0.803550070303,-0.803607134258,-0.803664190827,-0.803721240009,-0.803778281803,-0.803835316209,-0.803892343226,-0.803949362854,-0.804006375093,-0.804063379941,-0.804120377398,-0.804177367464,-0.804234350139,-0.80429132542,-0.804348293309,-0.804405253805,-0.804462206907,-0.804519152614,-0.804576090926,-0.804633021843,-0.804689945364,-0.804746861488,-0.804803770215,-0.804860671545,-0.804917565476,-0.804974452009,-0.805031331143,-0.805088202877,-0.805145067211,-0.805201924144,-0.805258773676,-0.805315615806,-0.805372450534,-0.805429277859,-0.80548609778,-0.805542910298,-0.805599715412,-0.80565651312,-0.805713303423,-0.805770086321,-0.805826861811,-0.805883629895,-0.805940390571,-0.805997143839,-0.806053889699,-0.80611062815,-0.806167359191,-0.806224082821,-0.806280799042,-0.806337507851,-0.806394209248,-0.806450903233,-0.806507589806,-0.806564268965,-0.80662094071,-0.806677605041,-0.806734261958,-0.806790911459,-0.806847553544,-0.806904188213,-0.806960815464,-0.807017435299,-0.807074047716,-0.807130652714,-0.807187250293,-0.807243840452,-0.807300423192,-0.807356998511,-0.807413566409,-0.807470126886,-0.80752667994,-0.807583225572,-0.80763976378,-0.807696294565,-0.807752817926,-0.807809333862,-0.807865842373,-0.807922343458,-0.807978837117,-0.80803532335,-0.808091802154,-0.808148273531,-0.80820473748,-0.808261194,-0.808317643091,-0.808374084751,-0.808430518982,-0.808486945781,-0.808543365149,-0.808599777085,-0.808656181588,-0.808712578659,-0.808768968296,-0.808825350499,-0.808881725267,-0.8089380926,-0.808994452498,-0.80905080496,-0.809107149985,-0.809163487572,-0.809219817723,-0.809276140435,-0.809332455708,-0.809388763542,-0.809445063937,-0.809501356891,-0.809557642404,-0.809613920476,-0.809670191106,-0.809726454294,-0.80978271004,-0.809838958341,-0.809895199199,-0.809951432613,-0.810007658582,-0.810063877105,-0.810120088182,-0.810176291813,-0.810232487997,-0.810288676733,-0.810344858022,-0.810401031862,-0.810457198253,-0.810513357194,-0.810569508685,-0.810625652726,-0.810681789315,-0.810737918453,-0.810794040139,-0.810850154372,-0.810906261152,-0.810962360479,-0.811018452351,-0.811074536768,-0.811130613731,-0.811186683237,-0.811242745287,-0.811298799881,-0.811354847017,-0.811410886695,-0.811466918916,-0.811522943677,-0.811578960979,-0.811634970821,-0.811690973202,-0.811746968123,-0.811802955583,-0.81185893558,-0.811914908115,-0.811970873187,-0.812026830796,-0.81208278094,-0.81213872362,-0.812194658836,-0.812250586585,-0.812306506869,-0.812362419686,-0.812418325036,-0.812474222918,-0.812530113333,-0.812585996278,-0.812641871755,-0.812697739762,-0.812753600299,-0.812809453365,-0.81286529896,-0.812921137083,-0.812976967734,-0.813032790913,-0.813088606618,-0.813144414849,-0.813200215606,-0.813256008889,-0.813311794696,-0.813367573027,-0.813423343883,-0.813479107261,-0.813534863162,-0.813590611585,-0.81364635253,-0.813702085995,-0.813757811982,-0.813813530489,-0.813869241515,-0.81392494506,-0.813980641124,-0.814036329706,-0.814092010805,-0.814147684422,-0.814203350555,-0.814259009204,-0.814314660369,-0.814370304048,-0.814425940242,-0.81448156895,-0.814537190172,-0.814592803906,-0.814648410153,-0.814704008912,-0.814759600182,-0.814815183964,-0.814870760255,-0.814926329057,-0.814981890367,-0.815037444187,-0.815092990515,-0.815148529351,-0.815204060694,-0.815259584544,-0.8153151009,-0.815370609762,-0.81542611113,-0.815481605002,-0.815537091378,-0.815592570259,-0.815648041642,-0.815703505528,-0.815758961917,-0.815814410807,-0.815869852198,-0.81592528609,-0.815980712482,-0.816036131374,-0.816091542765,-0.816146946655,-0.816202343043,-0.816257731928,-0.816313113311,-0.81636848719,-0.816423853566,-0.816479212437,-0.816534563803,-0.816589907664,-0.816645244018,-0.816700572867,-0.816755894208,-0.816811208042,-0.816866514368,-0.816921813186,-0.816977104494,-0.817032388294,-0.817087664583,-0.817142933361,-0.817198194629,-0.817253448385,-0.817308694629,-0.817363933361,-0.817419164579,-0.817474388284,-0.817529604475,-0.817584813152,-0.817640014313,-0.817695207959,-0.817750394088,-0.817805572701,-0.817860743797,-0.817915907376,-0.817971063436,-0.818026211978,-0.818081353,-0.818136486503,-0.818191612486,-0.818246730948,-0.818301841889,-0.818356945309,-0.818412041206,-0.81846712958,-0.818522210432,-0.818577283759,-0.818632349563,-0.818687407842,-0.818742458595,-0.818797501823,-0.818852537525,-0.8189075657,-0.818962586347,-0.819017599467,-0.819072605059,-0.819127603122,-0.819182593656,-0.81923757666,-0.819292552134,-0.819347520077,-0.819402480489,-0.819457433369,-0.819512378716,-0.819567316531,-0.819622246813,-0.819677169561,-0.819732084774,-0.819786992453,-0.819841892596,-0.819896785204,-0.819951670275,-0.82000654781,-0.820061417807,-0.820116280266,-0.820171135187,-0.820225982569,-0.820280822412,-0.820335654715,-0.820390479478,-0.8204452967,-0.82050010638,-0.820554908519,-0.820609703115,-0.820664490168,-0.820719269678,-0.820774041644,-0.820828806066,-0.820883562943,-0.820938312274,-0.82099305406,-0.821047788299,-0.821102514991,-0.821157234136,-0.821211945733,-0.821266649781,-0.821321346281,-0.821376035231,-0.821430716632,-0.821485390482,-0.821540056781,-0.821594715528,-0.821649366724,-0.821704010367,-0.821758646457,-0.821813274994,-0.821867895977,-0.821922509406,-0.821977115279,-0.822031713597,-0.82208630436,-0.822140887565,-0.822195463214,-0.822250031306,-0.822304591839,-0.822359144814,-0.82241369023,-0.822468228087,-0.822522758383,-0.822577281119,-0.822631796295,-0.822686303908,-0.82274080396,-0.822795296449,-0.822849781376,-0.822904258739,-0.822958728538,-0.823013190772,-0.823067645442,-0.823122092546,-0.823176532084,-0.823230964056,-0.82328538846,-0.823339805298,-0.823394214567,-0.823448616268,-0.8235030104,-0.823557396962,-0.823611775954,-0.823666147376,-0.823720511227,-0.823774867507,-0.823829216215,-0.82388355735,-0.823937890912,-0.8239922169,-0.824046535315,-0.824100846156,-0.824155149421,-0.824209445111,-0.824263733225,-0.824318013762,-0.824372286723,-0.824426552106,-0.824480809911,-0.824535060137,-0.824589302785,-0.824643537853,-0.824697765342,-0.824751985249,-0.824806197576,-0.824860402322,-0.824914599485,-0.824968789066,-0.825022971065,-0.825077145479,-0.82513131231,-0.825185471556,-0.825239623218,-0.825293767294,-0.825347903784,-0.825402032688,-0.825456154004,-0.825510267734,-0.825564373875,-0.825618472428,-0.825672563392,-0.825726646767,-0.825780722552,-0.825834790746,-0.82588885135,-0.825942904362,-0.825996949782,-0.82605098761,-0.826105017845,-0.826159040486,-0.826213055534,-0.826267062987,-0.826321062846,-0.826375055109,-0.826429039776,-0.826483016847,-0.826536986321,-0.826590948197,-0.826644902476,-0.826698849157,-0.826752788238,-0.826806719721,-0.826860643603,-0.826914559885,-0.826968468567,-0.827022369647,-0.827076263125,-0.827130149001,-0.827184027274,-0.827237897943,-0.827291761009,-0.827345616471,-0.827399464328,-0.82745330458,-0.827507137226,-0.827560962265,-0.827614779698,-0.827668589524,-0.827722391741,-0.827776186351,-0.827829973352,-0.827883752743,-0.827937524525,-0.827991288697,-0.828045045258,-0.828098794207,-0.828152535545,-0.828206269271,-0.828259995384,-0.828313713884,-0.828367424771,-0.828421128043,-0.8284748237,-0.828528511742,-0.828582192169,-0.828635864979,-0.828689530173,-0.82874318775,-0.828796837709,-0.82885048005,-0.828904114772,-0.828957741875,-0.829011361359,-0.829064973222,-0.829118577465,-0.829172174087,-0.829225763087,-0.829279344465,-0.829332918221,-0.829386484353,-0.829440042862,-0.829493593747,-0.829547137008,-0.829600672643,-0.829654200653,-0.829707721037,-0.829761233795,-0.829814738925,-0.829868236428,-0.829921726303,-0.829975208549,-0.830028683167,-0.830082150155,-0.830135609513,-0.830189061241,-0.830242505338,-0.830295941803,-0.830349370637,-0.830402791838,-0.830456205406,-0.830509611341,-0.830563009642,-0.830616400309,-0.830669783341,-0.830723158737,-0.830776526498,-0.830829886622,-0.83088323911,-0.83093658396,-0.830989921172,-0.831043250746,-0.831096572682,-0.831149886978,-0.831203193634,-0.83125649265,-0.831309784026,-0.83136306776,-0.831416343852,-0.831469612303,-0.83152287311,-0.831576126274,-0.831629371795,-0.831682609672,-0.831735839904,-0.83178906249,-0.831842277432,-0.831895484727,-0.831948684375,-0.832001876376,-0.83205506073,-0.832108237436,-0.832161406493,-0.832214567901,-0.832267721659,-0.832320867768,-0.832374006226,-0.832427137033,-0.832480260188,-0.832533375692,-0.832586483543,-0.832639583741,-0.832692676286,-0.832745761176,-0.832798838413,-0.832851907994,-0.83290496992,-0.83295802419,-0.833011070804,-0.833064109761,-0.83311714106,-0.833170164702,-0.833223180685,-0.83327618901,-0.833329189675,-0.833382182681,-0.833435168026,-0.83348814571,-0.833541115733,-0.833594078095,-0.833647032794,-0.833699979831,-0.833752919204,-0.833805850914,-0.833858774959,-0.83391169134,-0.833964600056,-0.834017501106,-0.83407039449,-0.834123280207,-0.834176158258,-0.83422902864,-0.834281891355,-0.834334746401,-0.834387593778,-0.834440433486,-0.834493265524,-0.834546089891,-0.834598906587,-0.834651715612,-0.834704516965,-0.834757310645,-0.834810096652,-0.834862874986,-0.834915645647,-0.834968408632,-0.835021163943,-0.835073911579,-0.835126651539,-0.835179383822,-0.835232108429,-0.835284825358,-0.83533753461,-0.835390236183,-0.835442930078,-0.835495616294,-0.835548294829,-0.835600965685,-0.83565362886,-0.835706284354,-0.835758932166,-0.835811572296,-0.835864204743,-0.835916829508,-0.835969446589,-0.836022055985,-0.836074657698,-0.836127251725,-0.836179838066,-0.836232416722,-0.836284987691,-0.836337550974,-0.836390106568,-0.836442654475,-0.836495194694,-0.836547727224,-0.836600252064,-0.836652769214,-0.836705278674,-0.836757780444,-0.836810274522,-0.836862760908,-0.836915239602,-0.836967710603,-0.837020173911,-0.837072629525,-0.837125077445,-0.837177517671,-0.837229950201,-0.837282375035,-0.837334792174,-0.837387201616,-0.83743960336,-0.837491997408,-0.837544383757,-0.837596762407,-0.837649133359,-0.837701496611,-0.837753852163,-0.837806200015,-0.837858540166,-0.837910872615,-0.837963197363,-0.838015514408,-0.83806782375,-0.838120125389,-0.838172419324,-0.838224705555,-0.838276984081,-0.838329254902,-0.838381518017,-0.838433773425,-0.838486021127,-0.838538261122,-0.838590493409,-0.838642717989,-0.838694934859,-0.83874714402,-0.838799345472,-0.838851539214,-0.838903725245,-0.838955903565,-0.839008074174,-0.83906023707,-0.839112392254,-0.839164539726,-0.839216679484,-0.839268811527,-0.839320935857,-0.839373052472,-0.839425161371,-0.839477262555,-0.839529356022,-0.839581441772,-0.839633519805,-0.839685590121,-0.839737652718,-0.839789707597,-0.839841754756,-0.839893794196,-0.839945825916,-0.839997849915,-0.840049866193,-0.840101874749,-0.840153875583,-0.840205868695,-0.840257854084,-0.84030983175,-0.840361801691,-0.840413763908,-0.8404657184,-0.840517665167,-0.840569604208,-0.840621535522,-0.84067345911,-0.84072537497,-0.840777283103,-0.840829183508,-0.840881076183,-0.84093296113,-0.840984838347,-0.841036707833,-0.841088569589,-0.841140423614,-0.841192269908,-0.841244108469,-0.841295939298,-0.841347762394,-0.841399577756,-0.841451385384,-0.841503185278,-0.841554977437,-0.84160676186,-0.841658538548,-0.841710307499,-0.841762068714,-0.841813822191,-0.841865567931,-0.841917305932,-0.841969036194,-0.842020758718,-0.842072473501,-0.842124180545,-0.842175879848,-0.842227571409,-0.842279255229,-0.842330931308,-0.842382599643,-0.842434260236,-0.842485913085,-0.84253755819,-0.842589195551,-0.842640825167,-0.842692447037,-0.842744061162,-0.84279566754,-0.842847266172,-0.842898857056,-0.842950440192,-0.84300201558,-0.84305358322,-0.84310514311,-0.843156695251,-0.843208239642,-0.843259776282,-0.843311305171,-0.843362826308,-0.843414339694,-0.843465845327,-0.843517343207,-0.843568833333,-0.843620315706,-0.843671790324,-0.843723257188,-0.843774716296,-0.843826167648,-0.843877611244,-0.843929047084,-0.843980475166,-0.84403189549,-0.844083308056,-0.844134712864,-0.844186109912,-0.844237499201,-0.84428888073,-0.844340254499,-0.844391620506,-0.844442978752,-0.844494329236,-0.844545671957,-0.844597006916,-0.844648334111,-0.844699653543,-0.84475096521,-0.844802269113,-0.84485356525,-0.844904853621,-0.844956134226,-0.845007407065,-0.845058672137,-0.845109929441,-0.845161178976,-0.845212420744,-0.845263654742,-0.845314880971,-0.84536609943,-0.845417310118,-0.845468513036,-0.845519708182,-0.845570895556,-0.845622075158,-0.845673246987,-0.845724411043,-0.845775567326,-0.845826715834,-0.845877856567,-0.845928989525,-0.845980114708,-0.846031232115,-0.846082341745,-0.846133443598,-0.846184537674,-0.846235623971,-0.846286702491,-0.846337773231,-0.846388836192,-0.846439891373,-0.846490938774,-0.846541978394,-0.846593010233,-0.84664403429,-0.846695050565,-0.846746059058,-0.846797059767,-0.846848052693,-0.846899037834,-0.846950015192,-0.847000984764,-0.84705194655,-0.847102900551,-0.847153846766,-0.847204785193,-0.847255715833,-0.847306638686,-0.84735755375,-0.847408461025,-0.847459360512,-0.847510252208,-0.847561136115,-0.847612012231,-0.847662880555,-0.847713741089,-0.84776459383,-0.847815438779,-0.847866275935,-0.847917105297,-0.847967926866,-0.84801874064,-0.848069546619,-0.848120344803,-0.848171135192,-0.848221917784,-0.848272692579,-0.848323459578,-0.848374218779,-0.848424970181,-0.848475713785,-0.848526449591,-0.848577177596,-0.848627897802,-0.848678610207,-0.848729314812,-0.848780011615,-0.848830700616,-0.848881381815,-0.848932055212,-0.848982720805,-0.849033378594,-0.84908402858,-0.84913467076,-0.849185305136,-0.849235931706,-0.84928655047,-0.849337161428,-0.849387764579,-0.849438359922,-0.849488947457,-0.849539527185,-0.849590099103,-0.849640663212,-0.849691219512,-0.849741768001,-0.849792308679,-0.849842841547,-0.849893366603,-0.849943883847,-0.849994393278,-0.850044894897,-0.850095388702,-0.850145874693,-0.850196352869,-0.850246823231,-0.850297285778,-0.850347740509,-0.850398187424,-0.850448626522,-0.850499057802,-0.850549481266,-0.850599896911,-0.850650304737,-0.850700704745,-0.850751096933,-0.850801481302,-0.850851857849,-0.850902226576,-0.850952587482,-0.851002940566,-0.851053285828,-0.851103623267,-0.851153952883,-0.851204274675,-0.851254588643,-0.851304894787,-0.851355193105,-0.851405483598,-0.851455766266,-0.851506041106,-0.85155630812,-0.851606567307,-0.851656818666,-0.851707062196,-0.851757297898,-0.851807525771,-0.851857745814,-0.851907958027,-0.851958162409,-0.85200835896,-0.85205854768,-0.852108728568,-0.852158901624,-0.852209066847,-0.852259224236,-0.852309373792,-0.852359515513,-0.8524096494,-0.852459775451,-0.852509893667,-0.852560004047,-0.85261010659,-0.852660201296,-0.852710288165,-0.852760367196,-0.852810438388,-0.852860501742,-0.852910557256,-0.85296060493,-0.853010644765,-0.853060676758,-0.853110700911,-0.853160717221,-0.85321072569,-0.853260726316,-0.8533107191,-0.853360704039,-0.853410681135,-0.853460650387,-0.853510611793,-0.853560565355,-0.85361051107,-0.85366044894,-0.853710378962,-0.853760301138,-0.853810215466,-0.853860121946,-0.853910020578,-0.85395991136,-0.854009794293,-0.854059669377,-0.85410953661,-0.854159395992,-0.854209247523,-0.854259091202,-0.854308927029,-0.854358755003,-0.854408575125,-0.854458387392,-0.854508191806,-0.854557988365,-0.85460777707,-0.854657557919,-0.854707330912,-0.854757096049,-0.854806853329,-0.854856602752,-0.854906344317,-0.854956078025,-0.855005803873,-0.855055521863,-0.855105231993,-0.855154934263,-0.855204628673,-0.855254315222,-0.855303993909,-0.855353664735,-0.855403327699,-0.8554529828,-0.855502630037,-0.855552269412,-0.855601900922,-0.855651524567,-0.855701140348,-0.855750748263,-0.855800348313,-0.855849940496,-0.855899524812,-0.855949101261,-0.855998669842,-0.856048230555,-0.8560977834,-0.856147328375,-0.856196865481,-0.856246394717,-0.856295916083,-0.856345429577,-0.8563949352,-0.856444432952,-0.856493922831,-0.856543404838,-0.856592878971,-0.856642345231,-0.856691803616,-0.856741254128,-0.856790696764,-0.856840131525,-0.856889558409,-0.856938977418,-0.85698838855,-0.857037791804,-0.857087187181,-0.857136574679,-0.857185954299,-0.85723532604,-0.857284689901,-0.857334045883,-0.857383393984,-0.857432734204,-0.857482066543,-0.857531390999,-0.857580707574,-0.857630016266,-0.857679317075,-0.85772861,-0.857777895041,-0.857827172198,-0.85787644147,-0.857925702856,-0.857974956357,-0.858024201971,-0.858073439698,-0.858122669538,-0.858171891491,-0.858221105555,-0.858270311731,-0.858319510017,-0.858368700414,-0.858417882922,-0.858467057538,-0.858516224264,-0.858565383099,-0.858614534042,-0.858663677093,-0.858712812251,-0.858761939516,-0.858811058887,-0.858860170365,-0.858909273948,-0.858958369636,-0.859007457429,-0.859056537325,-0.859105609326,-0.85915467343,-0.859203729637,-0.859252777946,-0.859301818357,-0.85935085087,-0.859399875483,-0.859448892197,-0.859497901012,-0.859546901926,-0.859595894939,-0.859644880051,-0.859693857261,-0.859742826569,-0.859791787975,-0.859840741477,-0.859889687077,-0.859938624772,-0.859987554563,-0.860036476449,-0.860085390429,-0.860134296504,-0.860183194673,-0.860232084935,-0.860280967291,-0.860329841738,-0.860378708278,-0.860427566909,-0.860476417632,-0.860525260445,-0.860574095348,-0.860622922341,-0.860671741424,-0.860720552595,-0.860769355855,-0.860818151202,-0.860866938638,-0.86091571816,-0.860964489769,-0.861013253464,-0.861062009245,-0.861110757112,-0.861159497063,-0.861208229099,-0.861256953218,-0.861305669421,-0.861354377707,-0.861403078076,-0.861451770527,-0.861500455059,-0.861549131673,-0.861597800368,-0.861646461143,-0.861695113998,-0.861743758933,-0.861792395946,-0.861841025038,-0.861889646209,-0.861938259456,-0.861986864782,-0.862035462184,-0.862084051662,-0.862132633216,-0.862181206846,-0.862229772551,-0.86227833033,-0.862326880184,-0.862375422111,-0.862423956111,-0.862472482184,-0.86252100033,-0.862569510547,-0.862618012836,-0.862666507196,-0.862714993626,-0.862763472126,-0.862811942697,-0.862860405336,-0.862908860044,-0.862957306821,-0.863005745665,-0.863054176577,-0.863102599555,-0.863151014601,-0.863199421712,-0.863247820889,-0.863296212131,-0.863344595439,-0.86339297081,-0.863441338245,-0.863489697744,-0.863538049305,-0.86358639293,-0.863634728616,-0.863683056364,-0.863731376173,-0.863779688043,-0.863827991973,-0.863876287963,-0.863924576013,-0.863972856122,-0.864021128289,-0.864069392514,-0.864117648797,-0.864165897137,-0.864214137534,-0.864262369987,-0.864310594496,-0.864358811061,-0.86440701968,-0.864455220354,-0.864503413082,-0.864551597864,-0.864599774699,-0.864647943587,-0.864696104527,-0.864744257519,-0.864792402563,-0.864840539658,-0.864888668803,-0.864936789998,-0.864984903243,-0.865033008537,-0.86508110588,-0.865129195272,-0.865177276711,-0.865225350198,-0.865273415731,-0.865321473312,-0.865369522938,-0.865417564611,-0.865465598328,-0.865513624091,-0.865561641897,-0.865609651748,-0.865657653642,-0.865705647579,-0.865753633559,-0.865801611581,-0.865849581645,-0.86589754375,-0.865945497896,-0.865993444082,-0.866041382309,-0.866089312575,-0.86613723488,-0.866185149223,-0.866233055605,-0.866280954025,-0.866328844481,-0.866376726975,-0.866424601505,-0.866472468072,-0.866520326674,-0.866568177311,-0.866616019982,-0.866663854688,-0.866711681428,-0.866759500201,-0.866807311007,-0.866855113845,-0.866902908716,-0.866950695618,-0.866998474552,-0.867046245516,-0.86709400851,-0.867141763534,-0.867189510588,-0.867237249671,-0.867284980782,-0.867332703921,-0.867380419088,-0.867428126282,-0.867475825503,-0.867523516751,-0.867571200024,-0.867618875323,-0.867666542646,-0.867714201995,-0.867761853367,-0.867809496763,-0.867857132183,-0.867904759625,-0.86795237909,-0.867999990577,-0.868047594085,-0.868095189614,-0.868142777164,-0.868190356734,-0.868237928324,-0.868285491934,-0.868333047562,-0.868380595209,-0.868428134873,-0.868475666556,-0.868523190255,-0.868570705971,-0.868618213704,-0.868665713452,-0.868713205216,-0.868760688995,-0.868808164788,-0.868855632595,-0.868903092416,-0.868950544251,-0.868997988098,-0.869045423957,-0.869092851828,-0.869140271711,-0.869187683605,-0.86923508751,-0.869282483424,-0.869329871349,-0.869377251282,-0.869424623225,-0.869471987176,-0.869519343135,-0.869566691101,-0.869614031075,-0.869661363056,-0.869708687042,-0.869756003035,-0.869803311033,-0.869850611035,-0.869897903043,-0.869945187054,-0.869992463069,-0.870039731088,-0.870086991109,-0.870134243132,-0.870181487157,-0.870228723184,-0.870275951212,-0.870323171241,-0.870370383269,-0.870417587298,-0.870464783325,-0.870511971352,-0.870559151377,-0.8706063234,-0.870653487421,-0.870700643438,-0.870747791453,-0.870794931464,-0.87084206347,-0.870889187472,-0.870936303469,-0.87098341146,-0.871030511446,-0.871077603425,-0.871124687398,-0.871171763363,-0.871218831321,-0.87126589127,-0.871312943212,-0.871359987144,-0.871407023067,-0.87145405098,-0.871501070883,-0.871548082775,-0.871595086656,-0.871642082526,-0.871689070383,-0.871736050229,-0.871783022061,-0.87182998588,-0.871876941686,-0.871923889477,-0.871970829254,-0.872017761016,-0.872064684763,-0.872111600493,-0.872158508208,-0.872205407906,-0.872252299586,-0.872299183249,-0.872346058894,-0.872392926521,-0.872439786129,-0.872486637717,-0.872533481286,-0.872580316835,-0.872627144363,-0.87267396387,-0.872720775356,-0.87276757882,-0.872814374261,-0.87286116168,-0.872907941076,-0.872954712448,-0.873001475796,-0.87304823112,-0.873094978418,-0.873141717692,-0.873188448939,-0.873235172161,-0.873281887356,-0.873328594524,-0.873375293664,-0.873421984777,-0.873468667861,-0.873515342917,-0.873562009943,-0.87360866894,-0.873655319907,-0.873701962843,-0.873748597749,-0.873795224623,-0.873841843465,-0.873888454276,-0.873935057053,-0.873981651798,-0.874028238509,-0.874074817186,-0.874121387829,-0.874167950438,-0.874214505011,-0.874261051548,-0.87430759005,-0.874354120515,-0.874400642943,-0.874447157334,-0.874493663687,-0.874540162002,-0.874586652278,-0.874633134516,-0.874679608713,-0.874726074872,-0.874772532989,-0.874818983066,-0.874865425102,-0.874911859097,-0.874958285049,-0.875004702959,-0.875051112826,-0.87509751465,-0.87514390843,-0.875190294165,-0.875236671857,-0.875283041503,-0.875329403104,-0.875375756659,-0.875422102168,-0.87546843963,-0.875514769045,-0.875561090413,-0.875607403732,-0.875653709003,-0.875700006226,-0.875746295399,-0.875792576522,-0.875838849595,-0.875885114618,-0.87593137159,-0.87597762051,-0.876023861379,-0.876070094195,-0.876116318959,-0.87616253567,-0.876208744327,-0.87625494493,-0.876301137479,-0.876347321973,-0.876393498412,-0.876439666796,-0.876485827123,-0.876531979394,-0.876578123608,-0.876624259764,-0.876670387863,-0.876716507904,-0.876762619886,-0.876808723809,-0.876854819673,-0.876900907477,-0.87694698722,-0.876993058903,-0.877039122525,-0.877085178085,-0.877131225583,-0.877177265019,-0.877223296392,-0.877269319701,-0.877315334947,-0.877361342129,-0.877407341246,-0.877453332299,-0.877499315286,-0.877545290207,-0.877591257062,-0.877637215851,-0.877683166572,-0.877729109226,-0.877775043812,-0.87782097033,-0.877866888779,-0.877912799159,-0.877958701469,-0.878004595709,-0.878050481879,-0.878096359978,-0.878142230005,-0.878188091961,-0.878233945845,-0.878279791657,-0.878325629395,-0.87837145906,-0.878417280651,-0.878463094168,-0.87850889961,-0.878554696977,-0.878600486269,-0.878646267485,-0.878692040625,-0.878737805687,-0.878783562673,-0.878829311581,-0.878875052411,-0.878920785162,-0.878966509835,-0.879012226429,-0.879057934942,-0.879103635376,-0.879149327729,-0.879195012001,-0.879240688192,-0.879286356301,-0.879332016328,-0.879377668272,-0.879423312133,-0.879468947911,-0.879514575604,-0.879560195214,-0.879605806739,-0.879651410178,-0.879697005532,-0.8797425928,-0.879788171982,-0.879833743076,-0.879879306084,-0.879924861004,-0.879970407836,-0.880015946579,-0.880061477233,-0.880106999798,-0.880152514274,-0.880198020659,-0.880243518953,-0.880289009157,-0.880334491269,-0.880379965289,-0.880425431217,-0.880470889052,-0.880516338794,-0.880561780443,-0.880607213998,-0.880652639458,-0.880698056824,-0.880743466094,-0.880788867269,-0.880834260348,-0.88087964533,-0.880925022216,-0.880970391004,-0.881015751694,-0.881061104287,-0.881106448781,-0.881151785176,-0.881197113471,-0.881242433667,-0.881287745763,-0.881333049758,-0.881378345652,-0.881423633444,-0.881468913135,-0.881514184723,-0.881559448209,-0.881604703592,-0.881649950871,-0.881695190046,-0.881740421117,-0.881785644083,-0.881830858944,-0.881876065699,-0.881921264348,-0.881966454891,-0.882011637327,-0.882056811656,-0.882101977877,-0.88214713599,-0.882192285994,-0.88223742789,-0.882282561676,-0.882327687352,-0.882372804919,-0.882417914374,-0.882463015719,-0.882508108952,-0.882553194074,-0.882598271083,-0.88264333998,-0.882688400763,-0.882733453433,-0.882778497989,-0.882823534431,-0.882868562758,-0.88291358297,-0.882958595066,-0.883003599047,-0.883048594911,-0.883093582658,-0.883138562288,-0.883183533801,-0.883228497195,-0.883273452471,-0.883318399628,-0.883363338666,-0.883408269584,-0.883453192382,-0.883498107059,-0.883543013616,-0.883587912051,-0.883632802365,-0.883677684556,-0.883722558625,-0.883767424571,-0.883812282393,-0.883857132091,-0.883901973666,-0.883946807116,-0.88399163244,-0.884036449639,-0.884081258713,-0.88412605966,-0.88417085248,-0.884215637173,-0.884260413739,-0.884305182177,-0.884349942486,-0.884394694667,-0.884439438718,-0.88448417464,-0.884528902432,-0.884573622094,-0.884618333624,-0.884663037024,-0.884707732292,-0.884752419428,-0.884797098431,-0.884841769301,-0.884886432039,-0.884931086642,-0.884975733112,-0.885020371447,-0.885065001647,-0.885109623711,-0.88515423764,-0.885198843433,-0.885243441089,-0.885288030609,-0.885332611991,-0.885377185235,-0.885421750341,-0.885466307308,-0.885510856136,-0.885555396825,-0.885599929374,-0.885644453783,-0.885688970051,-0.885733478178,-0.885777978164,-0.885822470007,-0.885866953709,-0.885911429268,-0.885955896683,-0.886000355955,-0.886044807084,-0.886089250067,-0.886133684907,-0.8861781116,-0.886222530149,-0.886266940551,-0.886311342807,-0.886355736917,-0.886400122879,-0.886444500693,-0.88648887036,-0.886533231878,-0.886577585247,-0.886621930467,-0.886666267537,-0.886710596458,-0.886754917228,-0.886799229847,-0.886843534314,-0.88688783063,-0.886932118794,-0.886976398806,-0.887020670664,-0.88706493437,-0.887109189921,-0.887153437319,-0.887197676562,-0.88724190765,-0.887286130582,-0.887330345359,-0.88737455198,-0.887418750444,-0.887462940752,-0.887507122901,-0.887551296894,-0.887595462728,-0.887639620403,-0.887683769919,-0.887727911276,-0.887772044473,-0.88781616951,-0.887860286387,-0.887904395102,-0.887948495656,-0.887992588048,-0.888036672278,-0.888080748345,-0.888124816249,-0.88816887599,-0.888212927566,-0.888256970979,-0.888301006227,-0.88834503331,-0.888389052227,-0.888433062978,-0.888477065564,-0.888521059982,-0.888565046233,-0.888609024317,-0.888652994233,-0.888696955981,-0.88874090956,-0.88878485497,-0.88882879221,-0.88887272128,-0.88891664218,-0.88896055491,-0.889004459468,-0.889048355855,-0.889092244069,-0.889136124112,-0.889179995981,-0.889223859678,-0.889267715201,-0.88931156255,-0.889355401724,-0.889399232724,-0.889443055549,-0.889486870198,-0.889530676671,-0.889574474968,-0.889618265088,-0.889662047031,-0.889705820796,-0.889749586383,-0.889793343792,-0.889837093022,-0.889880834073,-0.889924566944,-0.889968291635,-0.890012008146,-0.890055716476,-0.890099416625,-0.890143108592,-0.890186792378,-0.890230467981,-0.890274135401,-0.890317794637,-0.890361445691,-0.89040508856,-0.890448723245,-0.890492349745,-0.89053596806,-0.890579578189,-0.890623180132,-0.890666773889,-0.890710359459,-0.890753936841,-0.890797506036,-0.890841067043,-0.890884619862,-0.890928164492,-0.890971700932,-0.891015229183,-0.891058749244,-0.891102261115,-0.891145764795,-0.891189260283,-0.89123274758,-0.891276226685,-0.891319697597,-0.891363160317,-0.891406614843,-0.891450061176,-0.891493499315,-0.891536929259,-0.891580351009,-0.891623764563,-0.891667169922,-0.891710567084,-0.891753956051,-0.89179733682,-0.891840709392,-0.891884073767,-0.891927429944,-0.891970777922,-0.892014117701,-0.892057449282,-0.892100772662,-0.892144087843,-0.892187394823,-0.892230693602,-0.892273984181,-0.892317266557,-0.892360540732,-0.892403806704,-0.892447064474,-0.89249031404,-0.892533555403,-0.892576788562,-0.892620013516,-0.892663230265,-0.89270643881,-0.892749639149,-0.892792831282,-0.892836015208,-0.892879190928,-0.892922358441,-0.892965517746,-0.893008668843,-0.893051811732,-0.893094946412,-0.893138072883,-0.893181191144,-0.893224301196,-0.893267403037,-0.893310496667,-0.893353582086,-0.893396659294,-0.89343972829,-0.893482789074,-0.893525841644,-0.893568886002,-0.893611922146,-0.893654950077,-0.893697969793,-0.893740981294,-0.893783984581,-0.893826979651,-0.893869966506,-0.893912945145,-0.893955915567,-0.893998877772,-0.89404183176,-0.89408477753,-0.894127715081,-0.894170644414,-0.894213565528,-0.894256478422,-0.894299383097,-0.894342279551,-0.894385167785,-0.894428047798,-0.894470919589,-0.894513783159,-0.894556638506,-0.894599485631,-0.894642324533,-0.894685155212,-0.894727977667,-0.894770791897,-0.894813597903,-0.894856395685,-0.89489918524,-0.894941966571,-0.894984739675,-0.895027504552,-0.895070261203,-0.895113009626,-0.895155749822,-0.895198481789,-0.895241205528,-0.895283921039,-0.89532662832,-0.895369327371,-0.895412018192,-0.895454700783,-0.895497375143,-0.895540041272,-0.895582699169,-0.895625348834,-0.895667990267,-0.895710623467,-0.895753248434,-0.895795865167,-0.895838473666,-0.895881073931,-0.895923665961,-0.895966249756,-0.896008825316,-0.896051392639,-0.896093951727,-0.896136502577,-0.896179045191,-0.896221579567,-0.896264105705,-0.896306623604,-0.896349133266,-0.896391634688,-0.89643412787,-0.896476612813,-0.896519089516,-0.896561557978,-0.896604018199,-0.896646470179,-0.896688913917,-0.896731349412,-0.896773776665,-0.896816195676,-0.896858606442,-0.896901008965,-0.896943403244,-0.896985789279,-0.897028167068,-0.897070536613,-0.897112897911,-0.897155250964,-0.89719759577,-0.897239932329,-0.897282260641,-0.897324580705,-0.897366892522,-0.89740919609,-0.897451491409,-0.897493778479,-0.897536057299,-0.89757832787,-0.89762059019,-0.897662844259,-0.897705090077,-0.897747327644,-0.897789556959,-0.897831778021,-0.897873990831,-0.897916195388,-0.897958391691,-0.898000579741,-0.898042759536,-0.898084931077,-0.898127094362,-0.898169249393,-0.898211396167,-0.898253534685,-0.898295664947,-0.898337786952,-0.898379900699,-0.898422006189,-0.898464103421,-0.898506192394,-0.898548273108,-0.898590345563,-0.898632409759,-0.898674465694,-0.898716513369,-0.898758552783,-0.898800583936,-0.898842606827,-0.898884621457,-0.898926627824,-0.898968625928,-0.899010615769,-0.899052597347,-0.89909457066,-0.89913653571,-0.899178492495,-0.899220441014,-0.899262381269,-0.899304313257,-0.899346236979,-0.899388152435,-0.899430059624,-0.899471958545,-0.899513849198,-0.899555731584,-0.899597605701,-0.899639471549,-0.899681329127,-0.899723178436,-0.899765019475,-0.899806852244,-0.899848676742,-0.899890492968,-0.899932300923,-0.899974100606,-0.900015892016,-0.900057675154,-0.900099450019,-0.90014121661,-0.900182974927,-0.90022472497,-0.900266466738,-0.900308200231,-0.900349925449,-0.900391642391,-0.900433351056,-0.900475051445,-0.900516743558,-0.900558427392,-0.900600102949,-0.900641770228,-0.900683429229,-0.90072507995,-0.900766722392,-0.900808356555,-0.900849982438,-0.90089160004,-0.900933209361,-0.900974810401,-0.90101640316,-0.901057987636,-0.901099563831,-0.901141131742,-0.901182691371,-0.901224242716,-0.901265785777,-0.901307320554,-0.901348847046,-0.901390365253,-0.901431875175,-0.901473376811,-0.901514870161,-0.901556355225,-0.901597832001,-0.90163930049,-0.901680760692,-0.901722212606,-0.901763656231,-0.901805091567,-0.901846518614,-0.901887937371,-0.901929347839,-0.901970750016,-0.902012143902,-0.902053529498,-0.902094906802,-0.902136275814,-0.902177636533,-0.902218988961,-0.902260333095,-0.902301668935,-0.902342996482,-0.902384315735,-0.902425626694,-0.902466929357,-0.902508223725,-0.902549509798,-0.902590787574,-0.902632057054,-0.902673318237,-0.902714571123,-0.902755815712,-0.902797052002,-0.902838279995,-0.902879499688,-0.902920711082,-0.902961914177,-0.903003108973,-0.903044295468,-0.903085473662,-0.903126643555,-0.903167805147,-0.903208958438,-0.903250103426,-0.903291240112,-0.903332368495,-0.903373488574,-0.90341460035,-0.903455703822,-0.90349679899,-0.903537885853,-0.903578964411,-0.903620034663,-0.903661096609,-0.903702150249,-0.903743195583,-0.903784232609,-0.903825261328,-0.90386628174,-0.903907293843,-0.903948297638,-0.903989293123,-0.9040302803,-0.904071259167,-0.904112229724,-0.90415319197,-0.904194145906,-0.90423509153,-0.904276028843,-0.904316957844,-0.904357878533,-0.904398790909,-0.904439694972,-0.904480590721,-0.904521478157,-0.904562357279,-0.904603228086,-0.904644090578,-0.904684944755,-0.904725790616,-0.904766628162,-0.90480745739,-0.904848278302,-0.904889090897,-0.904929895174,-0.904970691134,-0.905011478775,-0.905052258097,-0.9050930291,-0.905133791784,-0.905174546148,-0.905215292192,-0.905256029916,-0.905296759318,-0.905337480399,-0.905378193159,-0.905418897596,-0.905459593711,-0.905500281504,-0.905540960973,-0.905581632118,-0.90562229494,-0.905662949437,-0.90570359561,-0.905744233458,-0.90578486298,-0.905825484176,-0.905866097047,-0.90590670159,-0.905947297807,-0.905987885697,-0.906028465259,-0.906069036493,-0.906109599398,-0.906150153975,-0.906190700223,-0.906231238141,-0.906271767729,-0.906312288987,-0.906352801915,-0.906393306511,-0.906433802776,-0.906474290709,-0.90651477031,-0.906555241579,-0.906595704515,-0.906636159117,-0.906676605386,-0.906717043321,-0.906757472922,-0.906797894188,-0.906838307119,-0.906878711714,-0.906919107974,-0.906959495897,-0.906999875484,-0.907040246734,-0.907080609646,-0.907120964221,-0.907161310458,-0.907201648356,-0.907241977915,-0.907282299136,-0.907322612016,-0.907362916557,-0.907403212758,-0.907443500618,-0.907483780137,-0.907524051314,-0.90756431415,-0.907604568643,-0.907644814795,-0.907685052603,-0.907725282068,-0.907765503189,-0.907805715966,-0.907845920399,-0.907886116488,-0.907926304231,-0.907966483629,-0.90800665468,-0.908046817386,-0.908086971745,-0.908127117757,-0.908167255422,-0.908207384739,-0.908247505709,-0.908287618329,-0.908327722601,-0.908367818524,-0.908407906097,-0.908447985321,-0.908488056194,-0.908528118716,-0.908568172888,-0.908608218708,-0.908648256176,-0.908688285293,-0.908728306056,-0.908768318467,-0.908808322525,-0.908848318229,-0.90888830558,-0.908928284576,-0.908968255217,-0.909008217503,-0.909048171434,-0.909088117009,-0.909128054228,-0.909167983091,-0.909207903596,-0.909247815744,-0.909287719535,-0.909327614968,-0.909367502042,-0.909407380758,-0.909447251114,-0.909487113112,-0.909526966749,-0.909566812026,-0.909606648943,-0.909646477498,-0.909686297693,-0.909726109525,-0.909765912996,-0.909805708105,-0.90984549485,-0.909885273233,-0.909925043252,-0.909964804907,-0.910004558198,-0.910044303125,-0.910084039686,-0.910123767883,-0.910163487713,-0.910203199178,-0.910242902276,-0.910282597007,-0.910322283372,-0.910361961368,-0.910401630997,-0.910441292258,-0.91048094515,-0.910520589673,-0.910560225827,-0.910599853612,-0.910639473026,-0.91067908407,-0.910718686743,-0.910758281044,-0.910797866975,-0.910837444533,-0.91087701372,-0.910916574533,-0.910956126974,-0.910995671042,-0.911035206735,-0.911074734055,-0.911114253001,-0.911153763571,-0.911193265767,-0.911232759586,-0.911272245031,-0.911311722098,-0.91135119079,-0.911390651104,-0.911430103041,-0.911469546601,-0.911508981782,-0.911548408585,-0.911587827009,-0.911627237054,-0.91166663872,-0.911706032005,-0.911745416911,-0.911784793436,-0.91182416158,-0.911863521343,-0.911902872724,-0.911942215723,-0.91198155034,-0.912020876574,-0.912060194424,-0.912099503892,-0.912138804975,-0.912178097675,-0.91221738199,-0.91225665792,-0.912295925464,-0.912335184623,-0.912374435396,-0.912413677783,-0.912452911783,-0.912492137396,-0.912531354622,-0.912570563459,-0.912609763909,-0.91264895597,-0.912688139642,-0.912727314925,-0.912766481818,-0.912805640322,-0.912844790435,-0.912883932157,-0.912923065488,-0.912962190428,-0.913001306977,-0.913040415133,-0.913079514896,-0.913118606267,-0.913157689245,-0.913196763829,-0.913235830019,-0.913274887815,-0.913313937216,-0.913352978222,-0.913392010833,-0.913431035049,-0.913470050868,-0.91350905829,-0.913548057316,-0.913587047945,-0.913626030177,-0.91366500401,-0.913703969445,-0.913742926482,-0.91378187512,-0.913820815358,-0.913859747197,-0.913898670636,-0.913937585674,-0.913976492312,-0.914015390549,-0.914054280384,-0.914093161817,-0.914132034849,-0.914170899478,-0.914209755704,-0.914248603526,-0.914287442945,-0.914326273961,-0.914365096571,-0.914403910778,-0.914442716579,-0.914481513975,-0.914520302965,-0.914559083549,-0.914597855727,-0.914636619498,-0.914675374862,-0.914714121818,-0.914752860366,-0.914791590506,-0.914830312238,-0.914869025561,-0.914907730474,-0.914946426978,-0.914985115072,-0.915023794755,-0.915062466028,-0.915101128889,-0.91513978334,-0.915178429378,-0.915217067005,-0.915255696218,-0.915294317019,-0.915332929407,-0.915371533382,-0.915410128942,-0.915448716088,-0.91548729482,-0.915525865136,-0.915564427038,-0.915602980523,-0.915641525593,-0.915680062246,-0.915718590483,-0.915757110302,-0.915795621704,-0.915834124688,-0.915872619254,-0.915911105402,-0.91594958313,-0.91598805244,-0.916026513329,-0.916064965799,-0.916103409849,-0.916141845478,-0.916180272686,-0.916218691473,-0.916257101838,-0.916295503781,-0.916333897301,-0.916372282399,-0.916410659074,-0.916449027325,-0.916487387153,-0.916525738556,-0.916564081535,-0.916602416089,-0.916640742218,-0.916679059921,-0.916717369198,-0.916755670049,-0.916793962474,-0.916832246471,-0.916870522041,-0.916908789184,-0.916947047898,-0.916985298184,-0.917023540041,-0.91706177347,-0.917099998468,-0.917138215037,-0.917176423176,-0.917214622885,-0.917252814162,-0.917290997008,-0.917329171423,-0.917367337406,-0.917405494957,-0.917443644075,-0.91748178476,-0.917519917012,-0.91755804083,-0.917596156214,-0.917634263164,-0.917672361679,-0.917710451759,-0.917748533404,-0.917786606613,-0.917824671385,-0.917862727722,-0.917900775621,-0.917938815084,-0.917976846109,-0.918014868696,-0.918052882845,-0.918090888555,-0.918128885827,-0.918166874659,-0.918204855051,-0.918242827004,-0.918280790517,-0.918318745588,-0.918356692219,-0.918394630408,-0.918432560156,-0.918470481462,-0.918508394325,-0.918546298746,-0.918584194723,-0.918622082257,-0.918659961348,-0.918697831994,-0.918735694196,-0.918773547952,-0.918811393264,-0.91884923013,-0.918887058551,-0.918924878525,-0.918962690052,-0.919000493133,-0.919038287766,-0.919076073952,-0.91911385169,-0.91915162098,-0.919189381821,-0.919227134212,-0.919264878155,-0.919302613648,-0.919340340691,-0.919378059283,-0.919415769425,-0.919453471116,-0.919491164355,-0.919528849142,-0.919566525478,-0.919604193361,-0.919641852791,-0.919679503768,-0.919717146291,-0.919754780361,-0.919792405976,-0.919830023137,-0.919867631843,-0.919905232094,-0.919942823889,-0.919980407229,-0.920017982112,-0.920055548538,-0.920093106508,-0.92013065602,-0.920168197074,-0.920205729671,-0.920243253809,-0.920280769489,-0.920318276709,-0.92035577547,-0.920393265772,-0.920430747613,-0.920468220994,-0.920505685914,-0.920543142373,-0.920580590371,-0.920618029907,-0.920655460981,-0.920692883592,-0.920730297741,-0.920767703426,-0.920805100648,-0.920842489406,-0.9208798697,-0.920917241529,-0.920954604894,-0.920991959793,-0.921029306227,-0.921066644194,-0.921103973696,-0.921141294731,-0.921178607299,-0.921215911399,-0.921253207033,-0.921290494198,-0.921327772894,-0.921365043123,-0.921402304882,-0.921439558172,-0.921476802992,-0.921514039342,-0.921551267222,-0.921588486631,-0.921625697569,-0.921662900036,-0.921700094031,-0.921737279554,-0.921774456604,-0.921811625182,-0.921848785286,-0.921885936918,-0.921923080075,-0.921960214758,-0.921997340967,-0.922034458701,-0.92207156796,-0.922108668743,-0.922145761051,-0.922182844882,-0.922219920237,-0.922256987115,-0.922294045516,-0.922331095439,-0.922368136885,-0.922405169852,-0.922442194341,-0.922479210351,-0.922516217881,-0.922553216932,-0.922590207503,-0.922627189594,-0.922664163205,-0.922701128334,-0.922738084982,-0.922775033148,-0.922811972833,-0.922848904035,-0.922885826755,-0.922922740991,-0.922959646745,-0.922996544014,-0.9230334328,-0.923070313101,-0.923107184918,-0.92314404825,-0.923180903096,-0.923217749457,-0.923254587331,-0.92329141672,-0.923328237621,-0.923365050036,-0.923401853963,-0.923438649402,-0.923475436354,-0.923512214817,-0.923548984791,-0.923585746276,-0.923622499272,-0.923659243778,-0.923695979794,-0.92373270732,-0.923769426355,-0.923806136898,-0.923842838951,-0.923879532511,-0.92391621758,-0.923952894156,-0.923989562239,-0.924026221829,-0.924062872926,-0.924099515529,-0.924136149637,-0.924172775252,-0.924209392371,-0.924246000996,-0.924282601125,-0.924319192758,-0.924355775895,-0.924392350535,-0.924428916679,-0.924465474325,-0.924502023474,-0.924538564125,-0.924575096279,-0.924611619933,-0.924648135089,-0.924684641745,-0.924721139902,-0.92475762956,-0.924794110717,-0.924830583373,-0.924867047529,-0.924903503183,-0.924939950336,-0.924976388987,-0.925012819136,-0.925049240783,-0.925085653926,-0.925122058567,-0.925158454703,-0.925194842336,-0.925231221465,-0.92526759209,-0.925303954209,-0.925340307823,-0.925376652932,-0.925412989535,-0.925449317631,-0.925485637221,-0.925521948305,-0.925558250881,-0.925594544949,-0.92563083051,-0.925667107562,-0.925703376106,-0.925739636141,-0.925775887667,-0.925812130683,-0.92584836519,-0.925884591186,-0.925920808672,-0.925957017647,-0.92599321811,-0.926029410062,-0.926065593503,-0.926101768431,-0.926137934846,-0.926174092749,-0.926210242138,-0.926246383014,-0.926282515376,-0.926318639224,-0.926354754558,-0.926390861376,-0.926426959679,-0.926463049467,-0.926499130739,-0.926535203495,-0.926571267734,-0.926607323457,-0.926643370662,-0.92667940935,-0.92671543952,-0.926751461171,-0.926787474305,-0.926823478919,-0.926859475014,-0.92689546259,-0.926931441646,-0.926967412182,-0.927003374197,-0.927039327691,-0.927075272665,-0.927111209117,-0.927147137047,-0.927183056455,-0.92721896734,-0.927254869703,-0.927290763542,-0.927326648858,-0.92736252565,-0.927398393919,-0.927434253662,-0.927470104881,-0.927505947575,-0.927541781743,-0.927577607386,-0.927613424502,-0.927649233093,-0.927685033156,-0.927720824692,-0.927756607701,-0.927792382182,-0.927828148135,-0.92786390556,-0.927899654456,-0.927935394823,-0.92797112666,-0.928006849968,-0.928042564746,-0.928078270993,-0.92811396871,-0.928149657895,-0.92818533855,-0.928221010672,-0.928256674263,-0.928292329321,-0.928327975847,-0.928363613839,-0.928399243299,-0.928434864224,-0.928470476616,-0.928506080473,-0.928541675796,-0.928577262584,-0.928612840836,-0.928648410553,-0.928683971734,-0.928719524379,-0.928755068487,-0.928790604058,-0.928826131092,-0.928861649588,-0.928897159547,-0.928932660967,-0.928968153849,-0.929003638192,-0.929039113995,-0.929074581259,-0.929110039984,-0.929145490168,-0.929180931811,-0.929216364914,-0.929251789475,-0.929287205496,-0.929322612974,-0.92935801191,-0.929393402304,-0.929428784155,-0.929464157462,-0.929499522227,-0.929534878447,-0.929570226124,-0.929605565256,-0.929640895843,-0.929676217885,-0.929711531382,-0.929746836334,-0.929782132739,-0.929817420598,-0.92985269991,-0.929887970675,-0.929923232893,-0.929958486563,-0.929993731685,-0.930028968259,-0.930064196284,-0.93009941576,-0.930134626687,-0.930169829065,-0.930205022892,-0.930240208169,-0.930275384896,-0.930310553072,-0.930345712696,-0.93038086377,-0.930416006291,-0.93045114026,-0.930486265676,-0.93052138254,-0.93055649085,-0.930591590607,-0.930626681811,-0.93066176446,-0.930696838554,-0.930731904094,-0.930766961079,-0.930802009508,-0.930837049382,-0.9308720807,-0.930907103461,-0.930942117665,-0.930977123313,-0.931012120403,-0.931047108936,-0.93108208891,-0.931117060326,-0.931152023184,-0.931186977483,-0.931221923222,-0.931256860402,-0.931291789022,-0.931326709081,-0.93136162058,-0.931396523518,-0.931431417895,-0.931466303711,-0.931501180965,-0.931536049656,-0.931570909785,-0.931605761351,-0.931640604354,-0.931675438794,-0.93171026467,-0.931745081982,-0.931779890729,-0.931814690912,-0.931849482529,-0.931884265582,-0.931919040068,-0.931953805989,-0.931988563343,-0.932023312131,-0.932058052351,-0.932092784005,-0.932127507091,-0.932162221609,-0.932196927558,-0.932231624939,-0.932266313752,-0.932300993995,-0.932335665668,-0.932370328772,-0.932404983305,-0.932439629268,-0.932474266661,-0.932508895482,-0.932543515732,-0.93257812741,-0.932612730516,-0.932647325049,-0.93268191101,-0.932716488398,-0.932751057213,-0.932785617454,-0.932820169121,-0.932854712213,-0.932889246731,-0.932923772674,-0.932958290042,-0.932992798835,-0.933027299051,-0.933061790692,-0.933096273755,-0.933130748242,-0.933165214152,-0.933199671485,-0.933234120239,-0.933268560416,-0.933302992014,-0.933337415033,-0.933371829474,-0.933406235335,-0.933440632616,-0.933475021317,-0.933509401438,-0.933543772979,-0.933578135938,-0.933612490317,-0.933646836113,-0.933681173328,-0.933715501961,-0.933749822011,-0.933784133478,-0.933818436362,-0.933852730663,-0.93388701638,-0.933921293513,-0.933955562061,-0.933989822025,-0.934024073403,-0.934058316197,-0.934092550404,-0.934126776026,-0.934160993061,-0.93419520151,-0.934229401372,-0.934263592646,-0.934297775334,-0.934331949433,-0.934366114944,-0.934400271866,-0.9344344202,-0.934468559945,-0.9345026911,-0.934536813665,-0.93457092764,-0.934605033025,-0.93463912982,-0.934673218023,-0.934707297635,-0.934741368655,-0.934775431084,-0.93480948492,-0.934843530163,-0.934877566814,-0.934911594872,-0.934945614336,-0.934979625206,-0.935013627482,-0.935047621163,-0.93508160625,-0.935115582742,-0.935149550638,-0.935183509939,-0.935217460644,-0.935251402752,-0.935285336264,-0.935319261179,-0.935353177496,-0.935387085216,-0.935420984338,-0.935454874862,-0.935488756787,-0.935522630114,-0.935556494841,-0.93559035097,-0.935624198498,-0.935658037426,-0.935691867754,-0.935725689481,-0.935759502607,-0.935793307132,-0.935827103055,-0.935860890377,-0.935894669096,-0.935928439213,-0.935962200726,-0.935995953637,-0.936029697944,-0.936063433647,-0.936097160746,-0.936130879241,-0.936164589131,-0.936198290416,-0.936231983096,-0.93626566717,-0.936299342638,-0.9363330095,-0.936366667756,-0.936400317404,-0.936433958445,-0.936467590879,-0.936501214705,-0.936534829923,-0.936568436532,-0.936602034533,-0.936635623924,-0.936669204707,-0.936702776879,-0.936736340442,-0.936769895394,-0.936803441736,-0.936836979467,-0.936870508586,-0.936904029095,-0.936937540991,-0.936971044275,-0.937004538947,-0.937038025006,-0.937071502452,-0.937104971284,-0.937138431503,-0.937171883108,-0.937205326099,-0.937238760475,-0.937272186236,-0.937305603382,-0.937339011913,-0.937372411827,-0.937405803126,-0.937439185808,-0.937472559873,-0.937505925321,-0.937539282152,-0.937572630366,-0.937605969961,-0.937639300938,-0.937672623297,-0.937705937036,-0.937739242156,-0.937772538657,-0.937805826538,-0.937839105799,-0.93787237644,-0.93790563846,-0.937938891859,-0.937972136636,-0.938005372792,-0.938038600326,-0.938071819238,-0.938105029527,-0.938138231193,-0.938171424236,-0.938204608655,-0.938237784451,-0.938270951623,-0.93830411017,-0.938337260093,-0.938370401391,-0.938403534063,-0.93843665811,-0.938469773531,-0.938502880325,-0.938535978494,-0.938569068035,-0.938602148949,-0.938635221236,-0.938668284895,-0.938701339926,-0.938734386328,-0.938767424102,-0.938800453247,-0.938833473763,-0.938866485649,-0.938899488906,-0.938932483532,-0.938965469528,-0.938998446893,-0.939031415627,-0.939064375729,-0.9390973272,-0.939130270039,-0.939163204246,-0.93919612982,-0.939229046761,-0.939261955069,-0.939294854743,-0.939327745784,-0.93936062819,-0.939393501962,-0.9394263671,-0.939459223602,-0.939492071469,-0.939524910701,-0.939557741296,-0.939590563256,-0.939623376579,-0.939656181265,-0.939688977314,-0.939721764725,-0.939754543499,-0.939787313635,-0.939820075132,-0.939852827991,-0.939885572211,-0.939918307792,-0.939951034733,-0.939983753034,-0.940016462695,-0.940049163716,-0.940081856096,-0.940114539835,-0.940147214933,-0.940179881389,-0.940212539203,-0.940245188375,-0.940277828904,-0.94031046079,-0.940343084034,-0.940375698634,-0.94040830459,-0.940440901902,-0.94047349057,-0.940506070593,-0.940538641972,-0.940571204705,-0.940603758792,-0.940636304234,-0.940668841029,-0.940701369179,-0.940733888681,-0.940766399536,-0.940798901744,-0.940831395305,-0.940863880217,-0.940896356482,-0.940928824098,-0.940961283065,-0.940993733382,-0.941026175051,-0.94105860807,-0.941091032438,-0.941123448157,-0.941155855225,-0.941188253642,-0.941220643407,-0.941253024521,-0.941285396984,-0.941317760794,-0.941350115952,-0.941382462457,-0.94141480031,-0.941447129509,-0.941479450054,-0.941511761946,-0.941544065183,-0.941576359766,-0.941608645694,-0.941640922967,-0.941673191585,-0.941705451547,-0.941737702853,-0.941769945503,-0.941802179496,-0.941834404832,-0.941866621512,-0.941898829534,-0.941931028898,-0.941963219604,-0.941995401652,-0.942027575041,-0.942059739771,-0.942091895842,-0.942124043254,-0.942156182005,-0.942188312097,-0.942220433528,-0.942252546299,-0.942284650408,-0.942316745857,-0.942348832643,-0.942380910768,-0.942412980231,-0.942445041031,-0.942477093168,-0.942509136643,-0.942541171454,-0.942573197601,-0.942605215085,-0.942637223904,-0.942669224059,-0.942701215549,-0.942733198374,-0.942765172533,-0.942797138027,-0.942829094855,-0.942861043016,-0.942892982511,-0.942924913339,-0.9429568355,-0.942988748994,-0.943020653819,-0.943052549977,-0.943084437466,-0.943116316287,-0.943148186438,-0.943180047921,-0.943211900734,-0.943243744877,-0.94327558035,-0.943307407153,-0.943339225285,-0.943371034746,-0.943402835536,-0.943434627654,-0.943466411101,-0.943498185875,-0.943529951977,-0.943561709406,-0.943593458162,-0.943625198245,-0.943656929654,-0.943688652389,-0.94372036645,-0.943752071837,-0.943783768549,-0.943815456586,-0.943847135947,-0.943878806633,-0.943910468643,-0.943942121976,-0.943973766634,-0.944005402614,-0.944037029917,-0.944068648543,-0.944100258491,-0.944131859761,-0.944163452353,-0.944195036267,-0.944226611501,-0.944258178057,-0.944289735933,-0.944321285129,-0.944352825646,-0.944384357482,-0.944415880637,-0.944447395112,-0.944478900905,-0.944510398017,-0.944541886447,-0.944573366196,-0.944604837261,-0.944636299645,-0.944667753345,-0.944699198362,-0.944730634696,-0.944762062346,-0.944793481312,-0.944824891594,-0.944856293191,-0.944887686103,-0.94491907033,-0.944950445871,-0.944981812727,-0.945013170896,-0.945044520379,-0.945075861176,-0.945107193285,-0.945138516708,-0.945169831442,-0.945201137489,-0.945232434848,-0.945263723519,-0.945295003501,-0.945326274794,-0.945357537398,-0.945388791312,-0.945420036536,-0.945451273071,-0.945482500914,-0.945513720068,-0.94554493053,-0.945576132301,-0.945607325381,-0.945638509768,-0.945669685464,-0.945700852467,-0.945732010777,-0.945763160395,-0.945794301319,-0.94582543355,-0.945856557087,-0.94588767193,-0.945918778078,-0.945949875532,-0.945980964291,-0.946012044354,-0.946043115722,-0.946074178394,-0.94610523237,-0.94613627765,-0.946167314233,-0.946198342119,-0.946229361308,-0.946260371799,-0.946291373592,-0.946322366688,-0.946353351084,-0.946384326783,-0.946415293782,-0.946446252082,-0.946477201682,-0.946508142583,-0.946539074784,-0.946569998284,-0.946600913083,-0.946631819182,-0.946662716579,-0.946693605275,-0.946724485269,-0.946755356561,-0.94678621915,-0.946817073037,-0.946847918221,-0.946878754702,-0.946909582479,-0.946940401552,-0.946971211922,-0.947002013587,-0.947032806547,-0.947063590803,-0.947094366353,-0.947125133198,-0.947155891336,-0.947186640769,-0.947217381496,-0.947248113516,-0.947278836829,-0.947309551435,-0.947340257333,-0.947370954524,-0.947401643006,-0.947432322781,-0.947462993846,-0.947493656203,-0.947524309851,-0.947554954789,-0.947585591018,-0.947616218536,-0.947646837344,-0.947677447442,-0.947708048829,-0.947738641505,-0.947769225469,-0.947799800721,-0.947830367262,-0.94786092509,-0.947891474206,-0.947922014609,-0.947952546299,-0.947983069276,-0.948013583539,-0.948044089088,-0.948074585922,-0.948105074043,-0.948135553448,-0.948166024138,-0.948196486113,-0.948226939373,-0.948257383916,-0.948287819744,-0.948318246855,-0.948348665249,-0.948379074926,-0.948409475886,-0.948439868128,-0.948470251652,-0.948500626459,-0.948530992547,-0.948561349916,-0.948591698566,-0.948622038497,-0.948652369708,-0.9486826922,-0.948713005971,-0.948743311023,-0.948773607353,-0.948803894963,-0.948834173851,-0.948864444018,-0.948894705463,-0.948924958186,-0.948955202187,-0.948985437465,-0.949015664021,-0.949045881853,-0.949076090961,-0.949106291347,-0.949136483008,-0.949166665944,-0.949196840157,-0.949227005644,-0.949257162406,-0.949287310444,-0.949317449755,-0.94934758034,-0.9493777022,-0.949407815332,-0.949437919738,-0.949468015417,-0.949498102369,-0.949528180593,-0.949558250089,-0.949588310857,-0.949618362897,-0.949648406208,-0.94967844079,-0.949708466643,-0.949738483766,-0.94976849216,-0.949798491823,-0.949828482756,-0.949858464959,-0.94988843843,-0.94991840317,-0.949948359179,-0.949978306457,-0.950008245002,-0.950038174815,-0.950068095895,-0.950098008243,-0.950127911857,-0.950157806738,-0.950187692886,-0.950217570299,-0.950247438979,-0.950277298924,-0.950307150134,-0.950336992609,-0.950366826349,-0.950396651353,-0.950426467621,-0.950456275154,-0.950486073949,-0.950515864009,-0.950545645331,-0.950575417916,-0.950605181764,-0.950634936874,-0.950664683245,-0.950694420879,-0.950724149774,-0.95075386993,-0.950783581347,-0.950813284024,-0.950842977962,-0.95087266316,-0.950902339618,-0.950932007335,-0.950961666312,-0.950991316547,-0.951020958041,-0.951050590794,-0.951080214804,-0.951109830073,-0.951139436599,-0.951169034383,-0.951198623423,-0.95122820372,-0.951257775274,-0.951287338084,-0.95131689215,-0.951346437472,-0.951375974049,-0.951405501882,-0.951435020969,-0.951464531311,-0.951494032907,-0.951523525757,-0.951553009861,-0.951582485219,-0.95161195183,-0.951641409694,-0.95167085881,-0.951700299179,-0.9517297308,-0.951759153673,-0.951788567798,-0.951817973174,-0.951847369801,-0.951876757679,-0.951906136808,-0.951935507187,-0.951964868816,-0.951994221694,-0.952023565822,-0.9520529012,-0.952082227826,-0.952111545701,-0.952140854824,-0.952170155195,-0.952199446814,-0.952228729681,-0.952258003795,-0.952287269157,-0.952316525765,-0.952345773619,-0.95237501272,-0.952404243066,-0.952433464659,-0.952462677497,-0.95249188158,-0.952521076908,-0.95255026348,-0.952579441297,-0.952608610358,-0.952637770663,-0.952666922211,-0.952696065003,-0.952725199038,-0.952754324315,-0.952783440835,-0.952812548597,-0.952841647601,-0.952870737847,-0.952899819334,-0.952928892063,-0.952957956032,-0.952987011242,-0.953016057692,-0.953045095382,-0.953074124312,-0.953103144482,-0.953132155891,-0.953161158539,-0.953190152425,-0.95321913755,-0.953248113914,-0.953277081515,-0.953306040354,-0.953334990431,-0.953363931744,-0.953392864295,-0.953421788082,-0.953450703105,-0.953479609365,-0.95350850686,-0.953537395591,-0.953566275557,-0.953595146758,-0.953624009194,-0.953652862865,-0.953681707769,-0.953710543908,-0.95373937128,-0.953768189886,-0.953796999725,-0.953825800797,-0.953854593101,-0.953883376638,-0.953912151407,-0.953940917408,-0.95396967464,-0.953998423104,-0.954027162799,-0.954055893724,-0.95408461588,-0.954113329267,-0.954142033883,-0.954170729729,-0.954199416804,-0.954228095109,-0.954256764643,-0.954285425405,-0.954314077396,-0.954342720615,-0.954371355061,-0.954399980736,-0.954428597638,-0.954457205767,-0.954485805122,-0.954514395704,-0.954542977513,-0.954571550548,-0.954600114808,-0.954628670294,-0.954657217005,-0.954685754941,-0.954714284102,-0.954742804488,-0.954771316097,-0.954799818931,-0.954828312988,-0.954856798269,-0.954885274772,-0.954913742499,-0.954942201448,-0.95497065162,-0.954999093014,-0.95502752563,-0.955055949467,-0.955084364526,-0.955112770805,-0.955141168306,-0.955169557027,-0.955197936968,-0.955226308129,-0.955254670511,-0.955283024111,-0.955311368931,-0.95533970497,-0.955368032227,-0.955396350703,-0.955424660398,-0.95545296131,-0.95548125344,-0.955509536787,-0.955537811351,-0.955566077133,-0.955594334131,-0.955622582345,-0.955650821776,-0.955679052422,-0.955707274284,-0.955735487361,-0.955763691654,-0.955791887161,-0.955820073883,-0.955848251819,-0.955876420969,-0.955904581333,-0.95593273291,-0.955960875701,-0.955989009705,-0.956017134921,-0.95604525135,-0.956073358991,-0.956101457844,-0.956129547909,-0.956157629186,-0.956185701673,-0.956213765372,-0.956241820281,-0.956269866401,-0.95629790373,-0.95632593227,-0.95635395202,-0.956381962978,-0.956409965146,-0.956437958523,-0.956465943109,-0.956493918902,-0.956521885904,-0.956549844114,-0.956577793531,-0.956605734156,-0.956633665988,-0.956661589027,-0.956689503272,-0.956717408723,-0.956745305381,-0.956773193244,-0.956801072313,-0.956828942588,-0.956856804067,-0.956884656751,-0.956912500639,-0.956940335732,-0.956968162029,-0.95699597953,-0.957023788234,-0.957051588141,-0.957079379251,-0.957107161564,-0.95713493508,-0.957162699798,-0.957190455717,-0.957218202839,-0.957245941162,-0.957273670686,-0.957301391411,-0.957329103336,-0.957356806463,-0.957384500789,-0.957412186315,-0.957439863041,-0.957467530967,-0.957495190091,-0.957522840414,-0.957550481937,-0.957578114657,-0.957605738576,-0.957633353692,-0.957660960006,-0.957688557518,-0.957716146227,-0.957743726132,-0.957771297234,-0.957798859533,-0.957826413028,-0.957853957718,-0.957881493604,-0.957909020686,-0.957936538962,-0.957964048434,-0.9579915491,-0.95801904096,-0.958046524015,-0.958073998263,-0.958101463705,-0.95812892034,-0.958156368169,-0.95818380719,-0.958211237404,-0.95823865881,-0.958266071408,-0.958293475198,-0.95832087018,-0.958348256352,-0.958375633716,-0.958403002271,-0.958430362017,-0.958457712952,-0.958485055078,-0.958512388394,-0.958539712899,-0.958567028593,-0.958594335476,-0.958621633549,-0.95864892281,-0.958676203259,-0.958703474896,-0.958730737721,-0.958757991733,-0.958785236933,-0.95881247332,-0.958839700894,-0.958866919654,-0.958894129601,-0.958921330733,-0.958948523052,-0.958975706556,-0.959002881245,-0.959030047119,-0.959057204178,-0.959084352422,-0.95911149185,-0.959138622462,-0.959165744258,-0.959192857237,-0.9592199614,-0.959247056745,-0.959274143274,-0.959301220985,-0.959328289878,-0.959355349954,-0.959382401211,-0.95940944365,-0.95943647727,-0.959463502071,-0.959490518053,-0.959517525216,-0.959544523559,-0.959571513082,-0.959598493785,-0.959625465667,-0.959652428729,-0.95967938297,-0.959706328389,-0.959733264988,-0.959760192764,-0.959787111719,-0.959814021851,-0.959840923161,-0.959867815649,-0.959894699313,-0.959921574155,-0.959948440173,-0.959975297367,-0.960002145738,-0.960028985284,-0.960055816006,-0.960082637903,-0.960109450976,-0.960136255223,-0.960163050645,-0.960189837241,-0.960216615012,-0.960243383956,-0.960270144074,-0.960296895366,-0.96032363783,-0.960350371468,-0.960377096278,-0.960403812261,-0.960430519416,-0.960457217742,-0.960483907241,-0.96051058791,-0.960537259752,-0.960563922763,-0.960590576946,-0.960617222299,-0.960643858823,-0.960670486516,-0.960697105379,-0.960723715411,-0.960750316613,-0.960776908984,-0.960803492523,-0.960830067231,-0.960856633108,-0.960883190152,-0.960909738364,-0.960936277743,-0.96096280829,-0.960989330004,-0.961015842885,-0.961042346932,-0.961068842146,-0.961095328525,-0.96112180607,-0.961148274781,-0.961174734658,-0.961201185699,-0.961227627905,-0.961254061276,-0.961280485811,-0.961306901511,-0.961333308374,-0.961359706401,-0.961386095591,-0.961412475944,-0.96143884746,-0.961465210139,-0.961491563981,-0.961517908984,-0.961544245149,-0.961570572477,-0.961596890965,-0.961623200615,-0.961649501426,-0.961675793397,-0.961702076529,-0.961728350821,-0.961754616274,-0.961780872885,-0.961807120657,-0.961833359588,-0.961859589677,-0.961885810926,-0.961912023333,-0.961938226899,-0.961964421622,-0.961990607503,-0.962016784542,-0.962042952739,-0.962069112092,-0.962095262602,-0.962121404269,-0.962147537092,-0.962173661072,-0.962199776207,-0.962225882498,-0.962251979944,-0.962278068546,-0.962304148302,-0.962330219214,-0.962356281279,-0.962382334499,-0.962408378873,-0.962434414401,-0.962460441082,-0.962486458917,-0.962512467904,-0.962538468044,-0.962564459337,-0.962590441782,-0.96261641538,-0.962642380129,-0.962668336029,-0.962694283081,-0.962720221284,-0.962746150638,-0.962772071143,-0.962797982798,-0.962823885603,-0.962849779559,-0.962875664663,-0.962901540918,-0.962927408321,-0.962953266874,-0.962979116575,-0.963004957425,-0.963030789423,-0.963056612569,-0.963082426863,-0.963108232304,-0.963134028893,-0.963159816628,-0.963185595511,-0.96321136554,-0.963237126716,-0.963262879038,-0.963288622505,-0.963314357118,-0.963340082877,-0.963365799781,-0.96339150783,-0.963417207023,-0.963442897361,-0.963468578844,-0.96349425147,-0.96351991524,-0.963545570153,-0.96357121621,-0.96359685341,-0.963622481753,-0.963648101238,-0.963673711866,-0.963699313636,-0.963724906547,-0.963750490601,-0.963776065795,-0.963801632131,-0.963827189608,-0.963852738226,-0.963878277984,-0.963903808882,-0.96392933092,-0.963954844098,-0.963980348416,-0.964005843873,-0.964031330469,-0.964056808204,-0.964082277077,-0.964107737089,-0.964133188239,-0.964158630526,-0.964184063952,-0.964209488515,-0.964234904215,-0.964260311052,-0.964285709025,-0.964311098136,-0.964336478382,-0.964361849765,-0.964387212283,-0.964412565937,-0.964437910726,-0.96446324665,-0.964488573709,-0.964513891903,-0.964539201231,-0.964564501694,-0.96458979329,-0.96461507602,-0.964640349883,-0.96466561488,-0.964690871009,-0.964716118272,-0.964741356667,-0.964766586194,-0.964791806853,-0.964817018645,-0.964842221567,-0.964867415622,-0.964892600807,-0.964917777123,-0.96494294457,-0.964968103147,-0.964993252855,-0.965018393692,-0.96504352566,-0.965068648757,-0.965093762983,-0.965118868338,-0.965143964822,-0.965169052435,-0.965194131176,-0.965219201045,-0.965244262042,-0.965269314167,-0.965294357419,-0.965319391798,-0.965344417305,-0.965369433938,-0.965394441698,-0.965419440584,-0.965444430596,-0.965469411734,-0.965494383997,-0.965519347386,-0.9655443019,-0.965569247539,-0.965594184303,-0.965619112191,-0.965644031204,-0.96566894134,-0.9656938426,-0.965718734984,-0.965743618491,-0.965768493121,-0.965793358874,-0.96581821575,-0.965843063748,-0.965867902868,-0.96589273311,-0.965917554474,-0.965942366959,-0.965967170566,-0.965991965294,-0.966016751142,-0.966041528111,-0.966066296201,-0.96609105541,-0.96611580574,-0.966140547189,-0.966165279758,-0.966190003445,-0.966214718252,-0.966239424178,-0.966264121222,-0.966288809384,-0.966313488665,-0.966338159063,-0.966362820579,-0.966387473212,-0.966412116963,-0.96643675183,-0.966461377814,-0.966485994915,-0.966510603132,-0.966535202465,-0.966559792914,-0.966584374478,-0.966608947158,-0.966633510953,-0.966658065863,-0.966682611887,-0.966707149026,-0.966731677279,-0.966756196647,-0.966780707128,-0.966805208722,-0.96682970143,-0.966854185251,-0.966878660185,-0.966903126232,-0.966927583391,-0.966952031662,-0.966976471045,-0.96700090154,-0.967025323146,-0.967049735864,-0.967074139693,-0.967098534633,-0.967122920683,-0.967147297844,-0.967171666115,-0.967196025496,-0.967220375986,-0.967244717586,-0.967269050296,-0.967293374114,-0.967317689042,-0.967341995078,-0.967366292222,-0.967390580475,-0.967414859835,-0.967439130304,-0.96746339188,-0.967487644563,-0.967511888353,-0.96753612325,-0.967560349253,-0.967584566363,-0.967608774579,-0.967632973902,-0.967657164329,-0.967681345863,-0.967705518501,-0.967729682245,-0.967753837093,-0.967777983047,-0.967802120104,-0.967826248266,-0.967850367531,-0.967874477901,-0.967898579374,-0.96792267195,-0.967946755629,-0.967970830411,-0.967994896296,-0.968018953283,-0.968043001372,-0.968067040563,-0.968091070856,-0.968115092251,-0.968139104746,-0.968163108343,-0.968187103041,-0.968211088839,-0.968235065738,-0.968259033737,-0.968282992836,-0.968306943034,-0.968330884332,-0.96835481673,-0.968378740226,-0.968402654822,-0.968426560516,-0.968450457308,-0.968474345199,-0.968498224188,-0.968522094274,-0.968545955458,-0.96856980774,-0.968593651118,-0.968617485594,-0.968641311166,-0.968665127834,-0.968688935599,-0.96871273446,-0.968736524416,-0.968760305469,-0.968784077616,-0.968807840859,-0.968831595196,-0.968855340629,-0.968879077155,-0.968902804776,-0.968926523492,-0.9689502333,-0.968973934203,-0.968997626199,-0.969021309288,-0.96904498347,-0.969068648745,-0.969092305113,-0.969115952572,-0.969139591124,-0.969163220768,-0.969186841503,-0.96921045333,-0.969234056248,-0.969257650257,-0.969281235357,-0.969304811547,-0.969328378828,-0.969351937199,-0.969375486659,-0.96939902721,-0.96942255885,-0.969446081579,-0.969469595397,-0.969493100305,-0.9695165963,-0.969540083385,-0.969563561557,-0.969587030817,-0.969610491166,-0.969633942601,-0.969657385124,-0.969680818734,-0.969704243431,-0.969727659215,-0.969751066085,-0.969774464042,-0.969797853084,-0.969821233213,-0.969844604427,-0.969867966726,-0.969891320111,-0.96991466458,-0.969938000134,-0.969961326773,-0.969984644496,-0.970007953303,-0.970031253195,-0.970054544169,-0.970077826228,-0.970101099369,-0.970124363594,-0.970147618901,-0.970170865291,-0.970194102763,-0.970217331318,-0.970240550955,-0.970263761673,-0.970286963473,-0.970310156354,-0.970333340316,-0.970356515359,-0.970379681483,-0.970402838688,-0.970425986972,-0.970449126337,-0.970472256781,-0.970495378306,-0.970518490909,-0.970541594592,-0.970564689354,-0.970587775194,-0.970610852113,-0.970633920111,-0.970656979186,-0.97068002934,-0.970703070571,-0.97072610288,-0.970749126266,-0.970772140729,-0.970795146269,-0.970818142886,-0.970841130579,-0.970864109348,-0.970887079193,-0.970910040115,-0.970932992111,-0.970955935184,-0.970978869331,-0.971001794553,-0.97102471085,-0.971047618222,-0.971070516668,-0.971093406188,-0.971116286782,-0.97113915845,-0.971162021191,-0.971184875005,-0.971207719893,-0.971230555853,-0.971253382887,-0.971276200992,-0.97129901017,-0.97132181042,-0.971344601741,-0.971367384135,-0.971390157599,-0.971412922135,-0.971435677742,-0.97145842442,-0.971481162168,-0.971503890986,-0.971526610875,-0.971549321833,-0.971572023862,-0.97159471696,-0.971617401127,-0.971640076363,-0.971662742668,-0.971685400042,-0.971708048484,-0.971730687995,-0.971753318574,-0.97177594022,-0.971798552934,-0.971821156716,-0.971843751564,-0.97186633748,-0.971888914463,-0.971911482512,-0.971934041628,-0.97195659181,-0.971979133057,-0.972001665371,-0.97202418875,-0.972046703195,-0.972069208704,-0.972091705279,-0.972114192918,-0.972136671622,-0.97215914139,-0.972181602223,-0.972204054119,-0.972226497079,-0.972248931102,-0.972271356189,-0.972293772339,-0.972316179552,-0.972338577827,-0.972360967165,-0.972383347565,-0.972405719027,-0.972428081552,-0.972450435137,-0.972472779784,-0.972495115493,-0.972517442262,-0.972539760093,-0.972562068983,-0.972584368935,-0.972606659946,-0.972628942018,-0.972651215149,-0.97267347934,-0.97269573459,-0.9727179809,-0.972740218268,-0.972762446696,-0.972784666182,-0.972806876726,-0.972829078328,-0.972851270989,-0.972873454707,-0.972895629482,-0.972917795315,-0.972939952206,-0.972962100153,-0.972984239157,-0.973006369217,-0.973028490334,-0.973050602507,-0.973072705735,-0.97309480002,-0.97311688536,-0.973138961755,-0.973161029206,-0.973183087711,-0.973205137271,-0.973227177886,-0.973249209555,-0.973271232278,-0.973293246055,-0.973315250885,-0.973337246769,-0.973359233707,-0.973381211697,-0.973403180741,-0.973425140837,-0.973447091985,-0.973469034186,-0.973490967439,-0.973512891744,-0.9735348071,-0.973556713508,-0.973578610967,-0.973600499478,-0.973622379039,-0.973644249651,-0.973666111313,-0.973687964026,-0.973709807788,-0.973731642601,-0.973753468463,-0.973775285375,-0.973797093336,-0.973818892346,-0.973840682405,-0.973862463512,-0.973884235668,-0.973905998872,-0.973927753125,-0.973949498425,-0.973971234773,-0.973992962168,-0.974014680611,-0.9740363901,-0.974058090637,-0.97407978222,-0.97410146485,-0.974123138525,-0.974144803247,-0.974166459015,-0.974188105829,-0.974209743688,-0.974231372592,-0.974252992541,-0.974274603536,-0.974296205575,-0.974317798658,-0.974339382786,-0.974360957957,-0.974382524173,-0.974404081432,-0.974425629735,-0.974447169081,-0.97446869947,-0.974490220902,-0.974511733377,-0.974533236894,-0.974554731454,-0.974576217056,-0.974597693699,-0.974619161384,-0.974640620111,-0.974662069879,-0.974683510689,-0.974704942539,-0.974726365429,-0.974747779361,-0.974769184333,-0.974790580344,-0.974811967396,-0.974833345488,-0.974854714619,-0.974876074789,-0.974897425999,-0.974918768247,-0.974940101534,-0.97496142586,-0.974982741224,-0.975004047627,-0.975025345067,-0.975046633545,-0.975067913061,-0.975089183614,-0.975110445204,-0.975131697831,-0.975152941495,-0.975174176196,-0.975195401933,-0.975216618706,-0.975237826516,-0.975259025361,-0.975280215241,-0.975301396158,-0.975322568109,-0.975343731095,-0.975364885117,-0.975386030173,-0.975407166263,-0.975428293388,-0.975449411546,-0.975470520739,-0.975491620965,-0.975512712225,-0.975533794518,-0.975554867844,-0.975575932204,-0.975596987595,-0.97561803402,-0.975639071476,-0.975660099965,-0.975681119486,-0.975702130039,-0.975723131623,-0.975744124238,-0.975765107885,-0.975786082562,-0.975807048271,-0.975828005009,-0.975848952779,-0.975869891578,-0.975890821408,-0.975911742267,-0.975932654156,-0.975953557075,-0.975974451022,-0.975995335999,-0.976016212005,-0.976037079039,-0.976057937102,-0.976078786193,-0.976099626312,-0.976120457459,-0.976141279634,-0.976162092836,-0.976182897066,-0.976203692322,-0.976224478606,-0.976245255916,-0.976266024253,-0.976286783617,-0.976307534006,-0.976328275422,-0.976349007863,-0.97636973133,-0.976390445822,-0.97641115134,-0.976431847883,-0.97645253545,-0.976473214042,-0.976493883659,-0.9765145443,-0.976535195965,-0.976555838653,-0.976576472366,-0.976597097102,-0.976617712862,-0.976638319644,-0.97665891745,-0.976679506278,-0.976700086129,-0.976720657002,-0.976741218897,-0.976761771815,-0.976782315754,-0.976802850715,-0.976823376697,-0.976843893701,-0.976864401725,-0.976884900771,-0.976905390837,-0.976925871924,-0.976946344031,-0.976966807158,-0.976987261305,-0.977007706471,-0.977028142658,-0.977048569863,-0.977068988088,-0.977089397332,-0.977109797595,-0.977130188876,-0.977150571176,-0.977170944494,-0.97719130883,-0.977211664184,-0.977232010555,-0.977252347944,-0.977272676351,-0.977292995774,-0.977313306214,-0.977333607671,-0.977353900145,-0.977374183635,-0.977394458142,-0.977414723664,-0.977434980202,-0.977455227756,-0.977475466325,-0.977495695909,-0.977515916509,-0.977536128123,-0.977556330752,-0.977576524396,-0.977596709053,-0.977616884725,-0.977637051411,-0.977657209111,-0.977677357825,-0.977697497551,-0.977717628291,-0.977737750044,-0.97775786281,-0.977777966588,-0.977798061379,-0.977818147183,-0.977838223998,-0.977858291825,-0.977878350664,-0.977898400515,-0.977918441377,-0.97793847325,-0.977958496134,-0.977978510029,-0.977998514935,-0.978018510851,-0.978038497777,-0.978058475713,-0.978078444659,-0.978098404615,-0.978118355581,-0.978138297556,-0.97815823054,-0.978178154533,-0.978198069534,-0.978217975545,-0.978237872564,-0.978257760591,-0.978277639626,-0.978297509669,-0.97831737072,-0.978337222778,-0.978357065843,-0.978376899916,-0.978396724996,-0.978416541082,-0.978436348175,-0.978456146275,-0.978475935381,-0.978495715492,-0.97851548661,-0.978535248733,-0.978555001862,-0.978574745997,-0.978594481136,-0.97861420728,-0.978633924429,-0.978653632583,-0.978673331741,-0.978693021904,-0.97871270307,-0.978732375241,-0.978752038415,-0.978771692592,-0.978791337773,-0.978810973957,-0.978830601144,-0.978850219334,-0.978869828527,-0.978889428721,-0.978909019919,-0.978928602118,-0.978948175319,-0.978967739522,-0.978987294726,-0.979006840932,-0.979026378139,-0.979045906347,-0.979065425556,-0.979084935765,-0.979104436975,-0.979123929185,-0.979143412395,-0.979162886606,-0.979182351816,-0.979201808025,-0.979221255234,-0.979240693442,-0.979260122649,-0.979279542855,-0.97929895406,-0.979318356263,-0.979337749464,-0.979357133664,-0.979376508861,-0.979395875057,-0.97941523225,-0.97943458044,-0.979453919628,-0.979473249812,-0.979492570994,-0.979511883172,-0.979531186347,-0.979550480518,-0.979569765685,-0.979589041849,-0.979608309008,-0.979627567163,-0.979646816313,-0.979666056459,-0.979685287599,-0.979704509735,-0.979723722866,-0.979742926991,-0.97976212211,-0.979781308224,-0.979800485331,-0.979819653433,-0.979838812528,-0.979857962617,-0.9798771037,-0.979896235775,-0.979915358843,-0.979934472905,-0.979953577958,-0.979972674005,-0.979991761043,-0.980010839074,-0.980029908097,-0.980048968112,-0.980068019118,-0.980087061115,-0.980106094104,-0.980125118084,-0.980144133055,-0.980163139016,-0.980182135968,-0.980201123911,-0.980220102843,-0.980239072766,-0.980258033678,-0.98027698558,-0.980295928472,-0.980314862353,-0.980333787223,-0.980352703082,-0.98037160993,-0.980390507767,-0.980409396592,-0.980428276405,-0.980447147207,-0.980466008996,-0.980484861773,-0.980503705538,-0.98052254029,-0.98054136603,-0.980560182756,-0.98057899047,-0.98059778917,-0.980616578857,-0.98063535953,-0.980654131189,-0.980672893834,-0.980691647465,-0.980710392082,-0.980729127685,-0.980747854272,-0.980766571845,-0.980785280403,-0.980803979946,-0.980822670473,-0.980841351985,-0.980860024482,-0.980878687962,-0.980897342426,-0.980915987874,-0.980934624306,-0.980953251721,-0.98097187012,-0.980990479502,-0.981009079866,-0.981027671213,-0.981046253543,-0.981064826856,-0.98108339115,-0.981101946427,-0.981120492686,-0.981139029926,-0.981157558148,-0.981176077352,-0.981194587536,-0.981213088702,-0.981231580849,-0.981250063976,-0.981268538084,-0.981287003172,-0.981305459241,-0.981323906289,-0.981342344318,-0.981360773326,-0.981379193314,-0.981397604281,-0.981416006227,-0.981434399152,-0.981452783057,-0.98147115794,-0.981489523801,-0.981507880641,-0.981526228459,-0.981544567255,-0.981562897028,-0.98158121778,-0.981599529509,-0.981617832215,-0.981636125899,-0.98165441056,-0.981672686197,-0.981690952811,-0.981709210402,-0.981727458969,-0.981745698512,-0.981763929031,-0.981782150526,-0.981800362996,-0.981818566443,-0.981836760864,-0.981854946261,-0.981873122632,-0.981891289979,-0.9819094483,-0.981927597595,-0.981945737865,-0.98196386911,-0.981981991328,-0.98200010452,-0.982018208685,-0.982036303824,-0.982054389937,-0.982072467022,-0.982090535081,-0.982108594113,-0.982126644117,-0.982144685093,-0.982162717042,-0.982180739963,-0.982198753856,-0.982216758721,-0.982234754558,-0.982252741366,-0.982270719146,-0.982288687896,-0.982306647618,-0.982324598311,-0.982342539974,-0.982360472608,-0.982378396212,-0.982396310786,-0.98241421633,-0.982432112845,-0.982450000328,-0.982467878782,-0.982485748205,-0.982503608597,-0.982521459958,-0.982539302287,-0.982557135586,-0.982574959853,-0.982592775089,-0.982610581292,-0.982628378464,-0.982646166604,-0.982663945711,-0.982681715786,-0.982699476829,-0.982717228838,-0.982734971815,-0.982752705758,-0.982770430669,-0.982788146546,-0.982805853389,-0.982823551199,-0.982841239974,-0.982858919716,-0.982876590423,-0.982894252096,-0.982911904735,-0.982929548339,-0.982947182908,-0.982964808441,-0.98298242494,-0.983000032403,-0.983017630831,-0.983035220223,-0.983052800579,-0.983070371899,-0.983087934184,-0.983105487431,-0.983123031642,-0.983140566817,-0.983158092955,-0.983175610055,-0.983193118119,-0.983210617145,-0.983228107134,-0.983245588085,-0.983263059999,-0.983280522874,-0.983297976712,-0.983315421511,-0.983332857272,-0.983350283994,-0.983367701677,-0.983385110322,-0.983402509927,-0.983419900493,-0.98343728202,-0.983454654507,-0.983472017955,-0.983489372362,-0.98350671773,-0.983524054058,-0.983541381345,-0.983558699591,-0.983576008797,-0.983593308962,-0.983610600087,-0.98362788217,-0.983645155211,-0.983662419212,-0.98367967417,-0.983696920087,-0.983714156962,-0.983731384795,-0.983748603586,-0.983765813334,-0.98378301404,-0.983800205703,-0.983817388323,-0.9838345619,-0.983851726434,-0.983868881924,-0.983886028371,-0.983903165774,-0.983920294134,-0.983937413449,-0.983954523721,-0.983971624948,-0.98398871713,-0.984005800268,-0.984022874361,-0.98403993941,-0.984056995413,-0.984074042371,-0.984091080283,-0.98410810915,-0.984125128972,-0.984142139747,-0.984159141476,-0.98417613416,-0.984193117797,-0.984210092387,-0.984227057931,-0.984244014428,-0.984260961878,-0.98427790028,-0.984294829636,-0.984311749944,-0.984328661205,-0.984345563418,-0.984362456583,-0.984379340699,-0.984396215768,-0.984413081789,-0.98442993876,-0.984446786684,-0.984463625558,-0.984480455383,-0.984497276159,-0.984514087886,-0.984530890564,-0.984547684192,-0.98456446877,-0.984581244298,-0.984598010776,-0.984614768204,-0.984631516582,-0.984648255909,-0.984664986185,-0.984681707411,-0.984698419586,-0.984715122709,-0.984731816781,-0.984748501802,-0.984765177771,-0.984781844688,-0.984798502554,-0.984815151367,-0.984831791128,-0.984848421837,-0.984865043494,-0.984881656097,-0.984898259648,-0.984914854146,-0.984931439591,-0.984948015982,-0.98496458332,-0.984981141605,-0.984997690835,-0.985014231012,-0.985030762135,-0.985047284204,-0.985063797218,-0.985080301178,-0.985096796083,-0.985113281933,-0.985129758728,-0.985146226469,-0.985162685154,-0.985179134783,-0.985195575357,-0.985212006876,-0.985228429338,-0.985244842745,-0.985261247095,-0.985277642389,-0.985294028626,-0.985310405807,-0.985326773932,-0.985343132999,-0.985359483009,-0.985375823962,-0.985392155858,-0.985408478696,-0.985424792476,-0.985441097199,-0.985457392864,-0.98547367947,-0.985489957018,-0.985506225508,-0.98552248494,-0.985538735312,-0.985554976626,-0.985571208881,-0.985587432076,-0.985603646213,-0.985619851289,-0.985636047307,-0.985652234264,-0.985668412162,-0.985684580999,-0.985700740776,-0.985716891493,-0.98573303315,-0.985749165746,-0.985765289281,-0.985781403755,-0.985797509168,-0.985813605519,-0.98582969281,-0.985845771038,-0.985861840206,-0.985877900311,-0.985893951354,-0.985909993335,-0.985926026254,-0.985942050111,-0.985958064905,-0.985974070636,-0.985990067304,-0.98600605491,-0.986022033452,-0.986038002931,-0.986053963346,-0.986069914698,-0.986085856986,-0.98610179021,-0.986117714371,-0.986133629467,-0.986149535498,-0.986165432465,-0.986181320368,-0.986197199206,-0.986213068979,-0.986228929686,-0.986244781329,-0.986260623906,-0.986276457418,-0.986292281864,-0.986308097245,-0.986323903559,-0.986339700807,-0.986355488989,-0.986371268105,-0.986387038154,-0.986402799137,-0.986418551053,-0.986434293902,-0.986450027683,-0.986465752398,-0.986481468045,-0.986497174625,-0.986512872136,-0.986528560581,-0.986544239957,-0.986559910265,-0.986575571505,-0.986591223676,-0.986606866779,-0.986622500813,-0.986638125778,-0.986653741675,-0.986669348502,-0.98668494626,-0.986700534949,-0.986716114568,-0.986731685117,-0.986747246597,-0.986762799007,-0.986778342346,-0.986793876615,-0.986809401814,-0.986824917943,-0.986840425,-0.986855922987,-0.986871411903,-0.986886891748,-0.986902362521,-0.986917824223,-0.986933276854,-0.986948720413,-0.9869641549,-0.986979580315,-0.986994996658,-0.987010403928,-0.987025802127,-0.987041191253,-0.987056571306,-0.987071942286,-0.987087304193,-0.987102657028,-0.987118000789,-0.987133335477,-0.987148661091,-0.987163977631,-0.987179285098,-0.987194583491,-0.987209872809,-0.987225153054,-0.987240424224,-0.987255686319,-0.98727093934,-0.987286183287,-0.987301418158,-0.987316643954,-0.987331860675,-0.987347068321,-0.987362266891,-0.987377456385,-0.987392636804,-0.987407808147,-0.987422970414,-0.987438123605,-0.987453267719,-0.987468402757,-0.987483528718,-0.987498645603,-0.98751375341,-0.987528852141,-0.987543941794,-0.987559022371,-0.987574093869,-0.987589156291,-0.987604209634,-0.9876192539,-0.987634289087,-0.987649315197,-0.987664332228,-0.987679340181,-0.987694339055,-0.987709328851,-0.987724309568,-0.987739281206,-0.987754243765,-0.987769197244,-0.987784141645,-0.987799076965,-0.987814003206,-0.987828920368,-0.987843828449,-0.987858727451,-0.987873617372,-0.987888498213,-0.987903369973,-0.987918232653,-0.987933086252,-0.98794793077,-0.987962766207,-0.987977592563,-0.987992409838,-0.988007218031,-0.988022017143,-0.988036807173,-0.988051588122,-0.988066359988,-0.988081122772,-0.988095876474,-0.988110621094,-0.988125356631,-0.988140083086,-0.988154800457,-0.988169508746,-0.988184207952,-0.988198898075,-0.988213579114,-0.98822825107,-0.988242913942,-0.988257567731,-0.988272212435,-0.988286848056,-0.988301474593,-0.988316092045,-0.988330700413,-0.988345299697,-0.988359889895,-0.988374471009,-0.988389043038,-0.988403605982,-0.988418159841,-0.988432704615,-0.988447240303,-0.988461766905,-0.988476284422,-0.988490792853,-0.988505292198,-0.988519782456,-0.988534263629,-0.988548735715,-0.988563198714,-0.988577652627,-0.988592097453,-0.988606533192,-0.988620959844,-0.988635377409,-0.988649785887,-0.988664185277,-0.98867857558,-0.988692956794,-0.988707328921,-0.98872169196,-0.988736045911,-0.988750390774,-0.988764726548,-0.988779053234,-0.988793370831,-0.988807679339,-0.988821978758,-0.988836269089,-0.98885055033,-0.988864822482,-0.988879085544,-0.988893339517,-0.9889075844,-0.988921820194,-0.988936046897,-0.98895026451,-0.988964473033,-0.988978672466,-0.988992862808,-0.98900704406,-0.989021216221,-0.989035379291,-0.98904953327,-0.989063678158,-0.989077813955,-0.98909194066,-0.989106058273,-0.989120166796,-0.989134266226,-0.989148356564,-0.989162437811,-0.989176509965,-0.989190573027,-0.989204626996,-0.989218671873,-0.989232707657,-0.989246734349,-0.989260751947,-0.989274760452,-0.989288759865,-0.989302750183,-0.989316731409,-0.989330703541,-0.989344666579,-0.989358620523,-0.989372565373,-0.989386501129,-0.989400427791,-0.989414345359,-0.989428253832,-0.989442153211,-0.989456043494,-0.989469924683,-0.989483796777,-0.989497659776,-0.989511513679,-0.989525358487,-0.9895391942,-0.989553020817,-0.989566838338,-0.989580646764,-0.989594446093,-0.989608236326,-0.989622017463,-0.989635789504,-0.989649552448,-0.989663306295,-0.989677051046,-0.989690786699,-0.989704513256,-0.989718230716,-0.989731939078,-0.989745638343,-0.98975932851,-0.98977300958,-0.989786681552,-0.989800344426,-0.989813998202,-0.989827642879,-0.989841278459,-0.98985490494,-0.989868522322,-0.989882130606,-0.989895729791,-0.989909319878,-0.989922900865,-0.989936472753,-0.989950035542,-0.989963589231,-0.989977133821,-0.989990669311,-0.990004195701,-0.990017712992,-0.990031221182,-0.990044720272,-0.990058210262,-0.990071691152,-0.990085162941,-0.990098625629,-0.990112079217,-0.990125523704,-0.990138959089,-0.990152385374,-0.990165802557,-0.990179210639,-0.99019260962,-0.990205999498,-0.990219380275,-0.99023275195,-0.990246114523,-0.990259467994,-0.990272812363,-0.99028614763,-0.990299473793,-0.990312790855,-0.990326098813,-0.990339397669,-0.990352687421,-0.990365968071,-0.990379239617,-0.99039250206,-0.9904057554,-0.990418999635,-0.990432234768,-0.990445460796,-0.99045867772,-0.99047188554,-0.990485084256,-0.990498273868,-0.990511454375,-0.990524625778,-0.990537788076,-0.990550941269,-0.990564085358,-0.990577220341,-0.990590346219,-0.990603462992,-0.990616570659,-0.990629669221,-0.990642758677,-0.990655839027,-0.990668910272,-0.99068197241,-0.990695025443,-0.990708069369,-0.990721104188,-0.990734129902,-0.990747146508,-0.990760154008,-0.990773152401,-0.990786141687,-0.990799121866,-0.990812092938,-0.990825054902,-0.990838007759,-0.990850951508,-0.99086388615,-0.990876811684,-0.99088972811,-0.990902635428,-0.990915533638,-0.990928422739,-0.990941302732,-0.990954173617,-0.990967035392,-0.99097988806,-0.990992731618,-0.991005566067,-0.991018391407,-0.991031207638,-0.99104401476,-0.991056812772,-0.991069601674,-0.991082381467,-0.99109515215,-0.991107913723,-0.991120666186,-0.991133409539,-0.991146143782,-0.991158868914,-0.991171584936,-0.991184291847,-0.991196989647,-0.991209678336,-0.991222357915,-0.991235028382,-0.991247689738,-0.991260341983,-0.991272985116,-0.991285619138,-0.991298244048,-0.991310859846,-0.991323466532,-0.991336064107,-0.991348652569,-0.991361231919,-0.991373802156,-0.991386363281,-0.991398915294,-0.991411458193,-0.99142399198,-0.991436516654,-0.991449032215,-0.991461538662,-0.991474035997,-0.991486524218,-0.991499003325,-0.991511473319,-0.991523934199,-0.991536385965,-0.991548828617,-0.991561262155,-0.991573686579,-0.991586101888,-0.991598508083,-0.991610905163,-0.991623293129,-0.99163567198,-0.991648041716,-0.991660402337,-0.991672753843,-0.991685096234,-0.991697429509,-0.991709753669,-0.991722068713,-0.991734374642,-0.991746671455,-0.991758959152,-0.991771237732,-0.991783507197,-0.991795767545,-0.991808018777,-0.991820260893,-0.991832493892,-0.991844717774,-0.991856932539,-0.991869138188,-0.991881334719,-0.991893522134,-0.991905700431,-0.99191786961,-0.991930029672,-0.991942180617,-0.991954322444,-0.991966455153,-0.991978578744,-0.991990693216,-0.992002798571,-0.992014894808,-0.992026981926,-0.992039059925,-0.992051128806,-0.992063188569,-0.992075239212,-0.992087280737,-0.992099313142,-0.992111336428,-0.992123350596,-0.992135355643,-0.992147351571,-0.99215933838,-0.992171316069,-0.992183284638,-0.992195244087,-0.992207194416,-0.992219135625,-0.992231067713,-0.992242990681,-0.992254904529,-0.992266809256,-0.992278704863,-0.992290591348,-0.992302468713,-0.992314336957,-0.992326196079,-0.99233804608,-0.99234988696,-0.992361718719,-0.992373541356,-0.992385354871,-0.992397159264,-0.992408954536,-0.992420740685,-0.992432517713,-0.992444285618,-0.992456044401,-0.992467794061,-0.992479534599,-0.992491266014,-0.992502988306,-0.992514701476,-0.992526405522,-0.992538100446,-0.992549786246,-0.992561462923,-0.992573130476,-0.992584788906,-0.992596438213,-0.992608078395,-0.992619709454,-0.992631331389,-0.9926429442,-0.992654547887,-0.992666142449,-0.992677727887,-0.9926893042,-0.992700871389,-0.992712429454,-0.992723978393,-0.992735518208,-0.992747048897,-0.992758570462,-0.992770082901,-0.992781586215,-0.992793080403,-0.992804565466,-0.992816041403,-0.992827508215,-0.9928389659,-0.99285041446,-0.992861853893,-0.992873284201,-0.992884705382,-0.992896117437,-0.992907520365,-0.992918914167,-0.992930298842,-0.99294167439,-0.992953040811,-0.992964398105,-0.992975746273,-0.992987085312,-0.992998415225,-0.99300973601,-0.993021047668,-0.993032350198,-0.9930436436,-0.993054927875,-0.993066203021,-0.993077469039,-0.99308872593,-0.993099973692,-0.993111212325,-0.99312244183,-0.993133662207,-0.993144873455,-0.993156075574,-0.993167268564,-0.993178452426,-0.993189627158,-0.993200792761,-0.993211949235,-0.993223096579,-0.993234234794,-0.993245363879,-0.993256483835,-0.993267594661,-0.993278696356,-0.993289788922,-0.993300872358,-0.993311946664,-0.993323011839,-0.993334067884,-0.993345114798,-0.993356152582,-0.993367181235,-0.993378200757,-0.993389211148,-0.993400212408,-0.993411204537,-0.993422187535,-0.993433161402,-0.993444126137,-0.993455081741,-0.993466028213,-0.993476965553,-0.993487893761,-0.993498812838,-0.993509722782,-0.993520623595,-0.993531515275,-0.993542397822,-0.993553271238,-0.993564135521,-0.993574990671,-0.993585836688,-0.993596673573,-0.993607501325,-0.993618319943,-0.993629129429,-0.993639929781,-0.993650721,-0.993661503086,-0.993672276038,-0.993683039856,-0.993693794541,-0.993704540092,-0.993715276509,-0.993726003792,-0.993736721941,-0.993747430955,-0.993758130836,-0.993768821582,-0.993779503193,-0.99379017567,-0.993800839012,-0.993811493219,-0.993822138292,-0.993832774229,-0.993843401031,-0.993854018698,-0.99386462723,-0.993875226626,-0.993885816887,-0.993896398013,-0.993906970002,-0.993917532856,-0.993928086574,-0.993938631156,-0.993949166602,-0.993959692912,-0.993970210085,-0.993980718123,-0.993991217023,-0.994001706787,-0.994012187415,-0.994022658906,-0.99403312126,-0.994043574477,-0.994054018557,-0.994064453499,-0.994074879305,-0.994085295973,-0.994095703504,-0.994106101897,-0.994116491153,-0.994126871271,-0.994137242251,-0.994147604093,-0.994157956798,-0.994168300364,-0.994178634792,-0.994188960082,-0.994199276233,-0.994209583246,-0.994219881121,-0.994230169856,-0.994240449453,-0.994250719911,-0.99426098123,-0.994271233411,-0.994281476452,-0.994291710353,-0.994301935116,-0.994312150739,-0.994322357223,-0.994332554567,-0.994342742771,-0.994352921835,-0.99436309176,-0.994373252545,-0.994383404189,-0.994393546694,-0.994403680058,-0.994413804281,-0.994423919365,-0.994434025308,-0.99444412211,-0.994454209771,-0.994464288292,-0.994474357672,-0.994484417911,-0.994494469008,-0.994504510965,-0.99451454378,-0.994524567454,-0.994534581987,-0.994544587377,-0.994554583627,-0.994564570734,-0.9945745487,-0.994584517524,-0.994594477206,-0.994604427745,-0.994614369143,-0.994624301398,-0.994634224511,-0.994644138481,-0.994654043309,-0.994663938994,-0.994673825536,-0.994683702936,-0.994693571193,-0.994703430306,-0.994713280277,-0.994723121104,-0.994732952788,-0.994742775329,-0.994752588726,-0.99476239298,-0.99477218809,-0.994781974057,-0.994791750879,-0.994801518558,-0.994811277092,-0.994821026483,-0.994830766729,-0.994840497831,-0.994850219789,-0.994859932602,-0.994869636271,-0.994879330795,-0.994889016174,-0.994898692409,-0.994908359498,-0.994918017443,-0.994927666243,-0.994937305897,-0.994946936406,-0.99495655777,-0.994966169989,-0.994975773061,-0.994985366989,-0.99499495177,-0.995004527406,-0.995014093896,-0.99502365124,-0.995033199438,-0.99504273849,-0.995052268396,-0.995061789155,-0.995071300768,-0.995080803234,-0.995090296554,-0.995099780727,-0.995109255754,-0.995118721633,-0.995128178366,-0.995137625952,-0.99514706439,-0.995156493682,-0.995165913826,-0.995175324823,-0.995184726672,-0.995194119374,-0.995203502928,-0.995212877335,-0.995222242594,-0.995231598705,-0.995240945667,-0.995250283482,-0.995259612149,-0.995268931668,-0.995278242038,-0.99528754326,-0.995296835333,-0.995306118258,-0.995315392034,-0.995324656662,-0.99533391214,-0.99534315847,-0.995352395651,-0.995361623683,-0.995370842565,-0.995380052299,-0.995389252883,-0.995398444317,-0.995407626603,-0.995416799738,-0.995425963724,-0.99543511856,-0.995444264247,-0.995453400783,-0.995462528169,-0.995471646406,-0.995480755492,-0.995489855428,-0.995498946213,-0.995508027849,-0.995517100333,-0.995526163668,-0.995535217851,-0.995544262884,-0.995553298766,-0.995562325497,-0.995571343077,-0.995580351506,-0.995589350783,-0.99559834091,-0.995607321885,-0.995616293709,-0.995625256381,-0.995634209902,-0.995643154271,-0.995652089488,-0.995661015554,-0.995669932467,-0.995678840229,-0.995687738838,-0.995696628296,-0.995705508601,-0.995714379754,-0.995723241754,-0.995732094602,-0.995740938298,-0.99574977284,-0.99575859823,-0.995767414468,-0.995776221552,-0.995785019483,-0.995793808262,-0.995802587887,-0.995811358359,-0.995820119678,-0.995828871843,-0.995837614855,-0.995846348714,-0.995855073419,-0.99586378897,-0.995872495367,-0.995881192611,-0.9958898807,-0.995898559636,-0.995907229417,-0.995915890045,-0.995924541518,-0.995933183837,-0.995941817001,-0.995950441011,-0.995959055866,-0.995967661567,-0.995976258113,-0.995984845504,-0.99599342374,-0.996001992822,-0.996010552748,-0.996019103519,-0.996027645135,-0.996036177596,-0.996044700901,-0.996053215051,-0.996061720046,-0.996070215884,-0.996078702568,-0.996087180095,-0.996095648467,-0.996104107682,-0.996112557742,-0.996120998646,-0.996129430393,-0.996137852985,-0.99614626642,-0.996154670699,-0.996163065821,-0.996171451787,-0.996179828596,-0.996188196248,-0.996196554744,-0.996204904083,-0.996213244265,-0.99622157529,-0.996229897158,-0.996238209869,-0.996246513422,-0.996254807819,-0.996263093058,-0.996271369139,-0.996279636063,-0.99628789383,-0.996296142438,-0.99630438189,-0.996312612183,-0.996320833318,-0.996329045295,-0.996337248115,-0.996345441776,-0.996353626279,-0.996361801624,-0.99636996781,-0.996378124838,-0.996386272708,-0.996394411419,-0.996402540971,-0.996410661364,-0.996418772599,-0.996426874675,-0.996434967592,-0.99644305135,-0.996451125949,-0.996459191389,-0.996467247669,-0.99647529479,-0.996483332752,-0.996491361554,-0.996499381197,-0.99650739168,-0.996515393004,-0.996523385167,-0.996531368171,-0.996539342015,-0.996547306699,-0.996555262223,-0.996563208587,-0.996571145791,-0.996579073834,-0.996586992717,-0.99659490244,-0.996602803002,-0.996610694403,-0.996618576644,-0.996626449724,-0.996634313644,-0.996642168402,-0.996650014,-0.996657850437,-0.996665677712,-0.996673495827,-0.99668130478,-0.996689104572,-0.996696895203,-0.996704676672,-0.99671244898,-0.996720212126,-0.996727966111,-0.996735710933,-0.996743446594,-0.996751173094,-0.996758890431,-0.996766598606,-0.996774297619,-0.99678198747,-0.996789668159,-0.996797339686,-0.99680500205,-0.996812655252,-0.996820299291,-0.996827934168,-0.996835559882,-0.996843176434,-0.996850783822,-0.996858382048,-0.996865971111,-0.996873551011,-0.996881121748,-0.996888683322,-0.996896235732,-0.99690377898,-0.996911313064,-0.996918837984,-0.996926353741,-0.996933860335,-0.996941357765,-0.996948846031,-0.996956325134,-0.996963795073,-0.996971255848,-0.996978707459,-0.996986149906,-0.996993583189,-0.997001007307,-0.997008422262,-0.997015828052,-0.997023224678,-0.997030612139,-0.997037990436,-0.997045359569,-0.997052719536,-0.997060070339,-0.997067411978,-0.997074744451,-0.99708206776,-0.997089381903,-0.997096686882,-0.997103982696,-0.997111269344,-0.997118546827,-0.997125815145,-0.997133074297,-0.997140324284,-0.997147565106,-0.997154796762,-0.997162019252,-0.997169232576,-0.997176436735,-0.997183631728,-0.997190817555,-0.997197994217,-0.997205161712,-0.997212320041,-0.997219469204,-0.9972266092,-0.99723374003,-0.997240861694,-0.997247974192,-0.997255077523,-0.997262171688,-0.997269256685,-0.997276332517,-0.997283399181,-0.997290456679,-0.997297505009,-0.997304544173,-0.99731157417,-0.997318595,-0.997325606662,-0.997332609158,-0.997339602486,-0.997346586647,-0.99735356164,-0.997360527466,-0.997367484124,-0.997374431615,-0.997381369938,-0.997388299094,-0.997395219081,-0.997402129901,-0.997409031553,-0.997415924037,-0.997422807353,-0.997429681501,-0.997436546481,-0.997443402292,-0.997450248935,-0.99745708641,-0.997463914716,-0.997470733854,-0.997477543824,-0.997484344624,-0.997491136257,-0.99749791872,-0.997504692015,-0.99751145614,-0.997518211097,-0.997524956885,-0.997531693504,-0.997538420954,-0.997545139234,-0.997551848346,-0.997558548288,-0.99756523906,-0.997571920664,-0.997578593098,-0.997585256362,-0.997591910457,-0.997598555382,-0.997605191137,-0.997611817723,-0.997618435139,-0.997625043384,-0.99763164246,-0.997638232366,-0.997644813102,-0.997651384668,-0.997657947063,-0.997664500289,-0.997671044343,-0.997677579228,-0.997684104942,-0.997690621486,-0.997697128859,-0.997703627061,-0.997710116093,-0.997716595954,-0.997723066644,-0.997729528164,-0.997735980512,-0.997742423689,-0.997748857696,-0.997755282531,-0.997761698195,-0.997768104688,-0.99777450201,-0.997780890161,-0.99778726914,-0.997793638947,-0.997799999583,-0.997806351048,-0.99781269334,-0.997819026462,-0.997825350411,-0.997831665189,-0.997837970795,-0.997844267228,-0.99785055449,-0.99785683258,-0.997863101498,-0.997869361244,-0.997875611817,-0.997881853218,-0.997888085447,-0.997894308504,-0.997900522388,-0.997906727099,-0.997912922638,-0.997919109005,-0.997925286199,-0.99793145422,-0.997937613068,-0.997943762743,-0.997949903246,-0.997956034576,-0.997962156732,-0.997968269716,-0.997974373526,-0.997980468164,-0.997986553628,-0.997992629919,-0.997998697036,-0.99800475498,-0.998010803751,-0.998016843348,-0.998022873771,-0.998028895021,-0.998034907098,-0.99804091,-0.998046903729,-0.998052888284,-0.998058863665,-0.998064829872,-0.998070786905,-0.998076734765,-0.99808267345,-0.99808860296,-0.998094523297,-0.998100434459,-0.998106336447,-0.998112229261,-0.9981181129,-0.998123987365,-0.998129852655,-0.998135708771,-0.998141555712,-0.998147393478,-0.998153222069,-0.998159041486,-0.998164851728,-0.998170652795,-0.998176444686,-0.998182227403,-0.998188000945,-0.998193765312,-0.998199520503,-0.99820526652,-0.99821100336,-0.998216731026,-0.998222449516,-0.998228158831,-0.99823385897,-0.998239549934,-0.998245231722,-0.998250904335,-0.998256567771,-0.998262222032,-0.998267867118,-0.998273503027,-0.99827912976,-0.998284747318,-0.998290355699,-0.998295954905,-0.998301544934,-0.998307125787,-0.998312697464,-0.998318259964,-0.998323813289,-0.998329357436,-0.998334892408,-0.998340418203,-0.998345934821,-0.998351442263,-0.998356940528,-0.998362429617,-0.998367909529,-0.998373380264,-0.998378841822,-0.998384294203,-0.998389737407,-0.998395171435,-0.998400596285,-0.998406011958,-0.998411418454,-0.998416815773,-0.998422203915,-0.998427582879,-0.998432952667,-0.998438313276,-0.998443664708,-0.998449006963,-0.998454340041,-0.99845966394,-0.998464978662,-0.998470284207,-0.998475580573,-0.998480867762,-0.998486145773,-0.998491414606,-0.998496674262,-0.998501924739,-0.998507166038,-0.99851239816,-0.998517621103,-0.998522834868,-0.998528039454,-0.998533234863,-0.998538421093,-0.998543598145,-0.998548766018,-0.998553924713,-0.99855907423,-0.998564214568,-0.998569345727,-0.998574467708,-0.99857958051,-0.998584684133,-0.998589778578,-0.998594863843,-0.99859993993,-0.998605006838,-0.998610064567,-0.998615113117,-0.998620152488,-0.99862518268,-0.998630203693,-0.998635215526,-0.99864021818,-0.998645211655,-0.998650195951,-0.998655171067,-0.998660137004,-0.998665093761,-0.998670041339,-0.998674979737,-0.998679908956,-0.998684828995,-0.998689739854,-0.998694641534,-0.998699534034,-0.998704417353,-0.998709291494,-0.998714156454,-0.998719012234,-0.998723858834,-0.998728696254,-0.998733524494,-0.998738343554,-0.998743153434,-0.998747954133,-0.998752745652,-0.998757527991,-0.99876230115,-0.998767065128,-0.998771819925,-0.998776565542,-0.998781301979,-0.998786029235,-0.99879074731,-0.998795456205,-0.998800155919,-0.998804846452,-0.998809527805,-0.998814199976,-0.998818862967,-0.998823516777,-0.998828161406,-0.998832796854,-0.99883742312,-0.998842040206,-0.99884664811,-0.998851246834,-0.998855836376,-0.998860416737,-0.998864987916,-0.998869549914,-0.998874102731,-0.998878646366,-0.99888318082,-0.998887706093,-0.998892222183,-0.998896729092,-0.99890122682,-0.998905715366,-0.99891019473,-0.998914664912,-0.998919125913,-0.998923577731,-0.998928020368,-0.998932453823,-0.998936878096,-0.998941293187,-0.998945699096,-0.998950095822,-0.998954483367,-0.998958861729,-0.99896323091,-0.998967590908,-0.998971941723,-0.998976283356,-0.998980615807,-0.998984939076,-0.998989253162,-0.998993558066,-0.998997853787,-0.999002140325,-0.999006417681,-0.999010685854,-0.999014944845,-0.999019194652,-0.999023435277,-0.99902766672,-0.999031888979,-0.999036102055,-0.999040305949,-0.999044500659,-0.999048686187,-0.999052862532,-0.999057029693,-0.999061187671,-0.999065336466,-0.999069476078,-0.999073606507,-0.999077727753,-0.999081839815,-0.999085942694,-0.999090036389,-0.999094120901,-0.99909819623,-0.999102262375,-0.999106319336,-0.999110367114,-0.999114405709,-0.999118435119,-0.999122455346,-0.99912646639,-0.999130468249,-0.999134460925,-0.999138444417,-0.999142418725,-0.999146383849,-0.999150339789,-0.999154286545,-0.999158224118,-0.999162152506,-0.99916607171,-0.99916998173,-0.999173882566,-0.999177774217,-0.999181656685,-0.999185529968,-0.999189394067,-0.999193248981,-0.999197094711,-0.999200931257,-0.999204758618,-0.999208576795,-0.999212385787,-0.999216185595,-0.999219976218,-0.999223757657,-0.999227529911,-0.99923129298,-0.999235046865,-0.999238791564,-0.999242527079,-0.999246253409,-0.999249970555,-0.999253678515,-0.999257377291,-0.999261066881,-0.999264747287,-0.999268418507,-0.999272080543,-0.999275733393,-0.999279377058,-0.999283011538,-0.999286636833,-0.999290252943,-0.999293859867,-0.999297457606,-0.99930104616,-0.999304625528,-0.999308195711,-0.999311756709,-0.999315308521,-0.999318851147,-0.999322384588,-0.999325908844,-0.999329423914,-0.999332929798,-0.999336426497,-0.99933991401,-0.999343392337,-0.999346861478,-0.999350321434,-0.999353772204,-0.999357213788,-0.999360646186,-0.999364069399,-0.999367483425,-0.999370888265,-0.99937428392,-0.999377670388,-0.99938104767,-0.999384415766,-0.999387774676,-0.9993911244,-0.999394464938,-0.99939779629,-0.999401118455,-0.999404431434,-0.999407735226,-0.999411029833,-0.999414315253,-0.999417591486,-0.999420858533,-0.999424116394,-0.999427365068,-0.999430604555,-0.999433834857,-0.999437055971,-0.999440267899,-0.99944347064,-0.999446664195,-0.999449848562,-0.999453023744,-0.999456189738,-0.999459346546,-0.999462494166,-0.9994656326,-0.999468761847,-0.999471881907,-0.999474992781,-0.999478094467,-0.999481186966,-0.999484270278,-0.999487344404,-0.999490409342,-0.999493465093,-0.999496511657,-0.999499549033,-0.999502577223,-0.999505596225,-0.99950860604,-0.999511606668,-0.999514598109,-0.999517580362,-0.999520553428,-0.999523517306,-0.999526471997,-0.999529417501,-0.999532353817,-0.999535280946,-0.999538198887,-0.999541107641,-0.999544007207,-0.999546897585,-0.999549778776,-0.999552650779,-0.999555513595,-0.999558367223,-0.999561211663,-0.999564046915,-0.99956687298,-0.999569689857,-0.999572497546,-0.999575296047,-0.99957808536,-0.999580865485,-0.999583636423,-0.999586398172,-0.999589150734,-0.999591894107,-0.999594628292,-0.99959735329,-0.999600069099,-0.99960277572,-0.999605473153,-0.999608161398,-0.999610840455,-0.999613510323,-0.999616171003,-0.999618822495,-0.999621464799,-0.999624097914,-0.999626721841,-0.99962933658,-0.99963194213,-0.999634538492,-0.999637125666,-0.999639703651,-0.999642272447,-0.999644832055,-0.999647382475,-0.999649923706,-0.999652455748,-0.999654978602,-0.999657492267,-0.999659996744,-0.999662492032,-0.999664978131,-0.999667455042,-0.999669922763,-0.999672381297,-0.999674830641,-0.999677270796,-0.999679701763,-0.999682123541,-0.99968453613,-0.99968693953,-0.999689333741,-0.999691718763,-0.999694094597,-0.999696461241,-0.999698818696,-0.999701166963,-0.99970350604,-0.999705835928,-0.999708156627,-0.999710468137,-0.999712770458,-0.99971506359,-0.999717347532,-0.999719622286,-0.99972188785,-0.999724144225,-0.999726391411,-0.999728629407,-0.999730858214,-0.999733077832,-0.999735288261,-0.9997374895,-0.999739681549,-0.99974186441,-0.999744038081,-0.999746202562,-0.999748357855,-0.999750503957,-0.99975264087,-0.999754768594,-0.999756887128,-0.999758996472,-0.999761096627,-0.999763187593,-0.999765269369,-0.999767341955,-0.999769405351,-0.999771459558,-0.999773504575,-0.999775540403,-0.99977756704,-0.999779584488,-0.999781592747,-0.999783591815,-0.999785581694,-0.999787562382,-0.999789533881,-0.999791496191,-0.99979344931,-0.999795393239,-0.999797327979,-0.999799253528,-0.999801169888,-0.999803077058,-0.999804975037,-0.999806863827,-0.999808743427,-0.999810613836,-0.999812475056,-0.999814327085,-0.999816169925,-0.999818003574,-0.999819828034,-0.999821643303,-0.999823449382,-0.99982524627,-0.999827033969,-0.999828812478,-0.999830581796,-0.999832341924,-0.999834092862,-0.999835834609,-0.999837567166,-0.999839290533,-0.99984100471,-0.999842709696,-0.999844405492,-0.999846092098,-0.999847769513,-0.999849437738,-0.999851096772,-0.999852746616,-0.99985438727,-0.999856018733,-0.999857641006,-0.999859254088,-0.99986085798,-0.999862452681,-0.999864038192,-0.999865614512,-0.999867181641,-0.999868739581,-0.999870288329,-0.999871827887,-0.999873358254,-0.999874879431,-0.999876391417,-0.999877894212,-0.999879387817,-0.999880872231,-0.999882347454,-0.999883813487,-0.999885270329,-0.99988671798,-0.99988815644,-0.99988958571,-0.999891005789,-0.999892416677,-0.999893818374,-0.999895210881,-0.999896594197,-0.999897968321,-0.999899333256,-0.999900688999,-0.999902035551,-0.999903372912,-0.999904701083,-0.999906020062,-0.999907329851,-0.999908630449,-0.999909921856,-0.999911204071,-0.999912477096,-0.99991374093,-0.999914995573,-0.999916241025,-0.999917477286,-0.999918704356,-0.999919922235,-0.999921130922,-0.999922330419,-0.999923520725,-0.999924701839,-0.999925873763,-0.999927036495,-0.999928190036,-0.999929334386,-0.999930469545,-0.999931595513,-0.99993271229,-0.999933819875,-0.99993491827,-0.999936007473,-0.999937087485,-0.999938158305,-0.999939219935,-0.999940272373,-0.99994131562,-0.999942349676,-0.999943374541,-0.999944390214,-0.999945396696,-0.999946393987,-0.999947382086,-0.999948360994,-0.999949330711,-0.999950291236,-0.999951242571,-0.999952184714,-0.999953117665,-0.999954041425,-0.999954955994,-0.999955861371,-0.999956757557,-0.999957644552,-0.999958522355,-0.999959390967,-0.999960250387,-0.999961100616,-0.999961941654,-0.9999627735,-0.999963596155,-0.999964409618,-0.99996521389,-0.99996600897,-0.999966794859,-0.999967571556,-0.999968339062,-0.999969097377,-0.9999698465,-0.999970586431,-0.999971317171,-0.999972038719,-0.999972751076,-0.999973454241,-0.999974148215,-0.999974832997,-0.999975508588,-0.999976174987,-0.999976832194,-0.99997748021,-0.999978119035,-0.999978748667,-0.999979369109,-0.999979980358,-0.999980582416,-0.999981175283,-0.999981758957,-0.999982333441,-0.999982898732,-0.999983454832,-0.99998400174,-0.999984539457,-0.999985067982,-0.999985587315,-0.999986097457,-0.999986598407,-0.999987090165,-0.999987572732,-0.999988046107,-0.99998851029,-0.999988965282,-0.999989411082,-0.99998984769,-0.999990275107,-0.999990693332,-0.999991102365,-0.999991502206,-0.999991892856,-0.999992274314,-0.999992646581,-0.999993009655,-0.999993363538,-0.99999370823,-0.999994043729,-0.999994370037,-0.999994687153,-0.999994995077,-0.99999529381,-0.99999558335,-0.999995863699,-0.999996134857,-0.999996396822,-0.999996649596,-0.999996893178,-0.999997127568,-0.999997352767,-0.999997568774,-0.999997775589,-0.999997973212,-0.999998161643,-0.999998340883,-0.999998510931,-0.999998671787,-0.999998823452,-0.999998965924,-0.999999099205,-0.999999223294,-0.999999338192,-0.999999443897,-0.999999540411,-0.999999627733,-0.999999705863,-0.999999774801,-0.999999834548,-0.999999885103,-0.999999926466,-0.999999958637,-0.999999981616,-0.999999995404,-1.0,-0.999999995404,-0.999999981616,-0.999999958637,-0.999999926466,-0.999999885103,-0.999999834548,-0.999999774801,-0.999999705863,-0.999999627733,-0.999999540411,-0.999999443897,-0.999999338192,-0.999999223294,-0.999999099205,-0.999998965924,-0.999998823452,-0.999998671787,-0.999998510931,-0.999998340883,-0.999998161643,-0.999997973212,-0.999997775589,-0.999997568774,-0.999997352767,-0.999997127568,-0.999996893178,-0.999996649596,-0.999996396822,-0.999996134857,-0.999995863699,-0.99999558335,-0.99999529381,-0.999994995077,-0.999994687153,-0.999994370037,-0.999994043729,-0.99999370823,-0.999993363538,-0.999993009655,-0.999992646581,-0.999992274314,-0.999991892856,-0.999991502206,-0.999991102365,-0.999990693332,-0.999990275107,-0.99998984769,-0.999989411082,-0.999988965282,-0.99998851029,-0.999988046107,-0.999987572732,-0.999987090165,-0.999986598407,-0.999986097457,-0.999985587315,-0.999985067982,-0.999984539457,-0.99998400174,-0.999983454832,-0.999982898732,-0.999982333441,-0.999981758957,-0.999981175283,-0.999980582416,-0.999979980358,-0.999979369109,-0.999978748667,-0.999978119035,-0.99997748021,-0.999976832194,-0.999976174987,-0.999975508588,-0.999974832997,-0.999974148215,-0.999973454241,-0.999972751076,-0.999972038719,-0.999971317171,-0.999970586431,-0.9999698465,-0.999969097377,-0.999968339062,-0.999967571556,-0.999966794859,-0.99996600897,-0.99996521389,-0.999964409618,-0.999963596155,-0.9999627735,-0.999961941654,-0.999961100616,-0.999960250387,-0.999959390967,-0.999958522355,-0.999957644552,-0.999956757557,-0.999955861371,-0.999954955994,-0.999954041425,-0.999953117665,-0.999952184714,-0.999951242571,-0.999950291236,-0.999949330711,-0.999948360994,-0.999947382086,-0.999946393987,-0.999945396696,-0.999944390214,-0.999943374541,-0.999942349676,-0.99994131562,-0.999940272373,-0.999939219935,-0.999938158305,-0.999937087485,-0.999936007473,-0.99993491827,-0.999933819875,-0.99993271229,-0.999931595513,-0.999930469545,-0.999929334386,-0.999928190036,-0.999927036495,-0.999925873763,-0.999924701839,-0.999923520725,-0.999922330419,-0.999921130922,-0.999919922235,-0.999918704356,-0.999917477286,-0.999916241025,-0.999914995573,-0.99991374093,-0.999912477096,-0.999911204071,-0.999909921856,-0.999908630449,-0.999907329851,-0.999906020062,-0.999904701083,-0.999903372912,-0.999902035551,-0.999900688999,-0.999899333256,-0.999897968321,-0.999896594197,-0.999895210881,-0.999893818374,-0.999892416677,-0.999891005789,-0.99988958571,-0.99988815644,-0.99988671798,-0.999885270329,-0.999883813487,-0.999882347454,-0.999880872231,-0.999879387817,-0.999877894212,-0.999876391417,-0.999874879431,-0.999873358254,-0.999871827887,-0.999870288329,-0.999868739581,-0.999867181641,-0.999865614512,-0.999864038192,-0.999862452681,-0.99986085798,-0.999859254088,-0.999857641006,-0.999856018733,-0.99985438727,-0.999852746616,-0.999851096772,-0.999849437738,-0.999847769513,-0.999846092098,-0.999844405492,-0.999842709696,-0.99984100471,-0.999839290533,-0.999837567166,-0.999835834609,-0.999834092862,-0.999832341924,-0.999830581796,-0.999828812478,-0.999827033969,-0.99982524627,-0.999823449382,-0.999821643303,-0.999819828034,-0.999818003574,-0.999816169925,-0.999814327085,-0.999812475056,-0.999810613836,-0.999808743427,-0.999806863827,-0.999804975037,-0.999803077058,-0.999801169888,-0.999799253528,-0.999797327979,-0.999795393239,-0.99979344931,-0.999791496191,-0.999789533881,-0.999787562382,-0.999785581694,-0.999783591815,-0.999781592747,-0.999779584488,-0.99977756704,-0.999775540403,-0.999773504575,-0.999771459558,-0.999769405351,-0.999767341955,-0.999765269369,-0.999763187593,-0.999761096627,-0.999758996472,-0.999756887128,-0.999754768594,-0.99975264087,-0.999750503957,-0.999748357855,-0.999746202562,-0.999744038081,-0.99974186441,-0.999739681549,-0.9997374895,-0.999735288261,-0.999733077832,-0.999730858214,-0.999728629407,-0.999726391411,-0.999724144225,-0.99972188785,-0.999719622286,-0.999717347532,-0.99971506359,-0.999712770458,-0.999710468137,-0.999708156627,-0.999705835928,-0.99970350604,-0.999701166963,-0.999698818696,-0.999696461241,-0.999694094597,-0.999691718763,-0.999689333741,-0.99968693953,-0.99968453613,-0.999682123541,-0.999679701763,-0.999677270796,-0.999674830641,-0.999672381297,-0.999669922763,-0.999667455042,-0.999664978131,-0.999662492032,-0.999659996744,-0.999657492267,-0.999654978602,-0.999652455748,-0.999649923706,-0.999647382475,-0.999644832055,-0.999642272447,-0.999639703651,-0.999637125666,-0.999634538492,-0.99963194213,-0.99962933658,-0.999626721841,-0.999624097914,-0.999621464799,-0.999618822495,-0.999616171003,-0.999613510323,-0.999610840455,-0.999608161398,-0.999605473153,-0.99960277572,-0.999600069099,-0.99959735329,-0.999594628292,-0.999591894107,-0.999589150734,-0.999586398172,-0.999583636423,-0.999580865485,-0.99957808536,-0.999575296047,-0.999572497546,-0.999569689857,-0.99956687298,-0.999564046915,-0.999561211663,-0.999558367223,-0.999555513595,-0.999552650779,-0.999549778776,-0.999546897585,-0.999544007207,-0.999541107641,-0.999538198887,-0.999535280946,-0.999532353817,-0.999529417501,-0.999526471997,-0.999523517306,-0.999520553428,-0.999517580362,-0.999514598109,-0.999511606668,-0.99950860604,-0.999505596225,-0.999502577223,-0.999499549033,-0.999496511657,-0.999493465093,-0.999490409342,-0.999487344404,-0.999484270278,-0.999481186966,-0.999478094467,-0.999474992781,-0.999471881907,-0.999468761847,-0.9994656326,-0.999462494166,-0.999459346546,-0.999456189738,-0.999453023744,-0.999449848562,-0.999446664195,-0.99944347064,-0.999440267899,-0.999437055971,-0.999433834857,-0.999430604555,-0.999427365068,-0.999424116394,-0.999420858533,-0.999417591486,-0.999414315253,-0.999411029833,-0.999407735226,-0.999404431434,-0.999401118455,-0.99939779629,-0.999394464938,-0.9993911244,-0.999387774676,-0.999384415766,-0.99938104767,-0.999377670388,-0.99937428392,-0.999370888265,-0.999367483425,-0.999364069399,-0.999360646186,-0.999357213788,-0.999353772204,-0.999350321434,-0.999346861478,-0.999343392337,-0.99933991401,-0.999336426497,-0.999332929798,-0.999329423914,-0.999325908844,-0.999322384588,-0.999318851147,-0.999315308521,-0.999311756709,-0.999308195711,-0.999304625528,-0.99930104616,-0.999297457606,-0.999293859867,-0.999290252943,-0.999286636833,-0.999283011538,-0.999279377058,-0.999275733393,-0.999272080543,-0.999268418507,-0.999264747287,-0.999261066881,-0.999257377291,-0.999253678515,-0.999249970555,-0.999246253409,-0.999242527079,-0.999238791564,-0.999235046865,-0.99923129298,-0.999227529911,-0.999223757657,-0.999219976218,-0.999216185595,-0.999212385787,-0.999208576795,-0.999204758618,-0.999200931257,-0.999197094711,-0.999193248981,-0.999189394067,-0.999185529968,-0.999181656685,-0.999177774217,-0.999173882566,-0.99916998173,-0.99916607171,-0.999162152506,-0.999158224118,-0.999154286545,-0.999150339789,-0.999146383849,-0.999142418725,-0.999138444417,-0.999134460925,-0.999130468249,-0.99912646639,-0.999122455346,-0.999118435119,-0.999114405709,-0.999110367114,-0.999106319336,-0.999102262375,-0.99909819623,-0.999094120901,-0.999090036389,-0.999085942694,-0.999081839815,-0.999077727753,-0.999073606507,-0.999069476078,-0.999065336466,-0.999061187671,-0.999057029693,-0.999052862532,-0.999048686187,-0.999044500659,-0.999040305949,-0.999036102055,-0.999031888979,-0.99902766672,-0.999023435277,-0.999019194652,-0.999014944845,-0.999010685854,-0.999006417681,-0.999002140325,-0.998997853787,-0.998993558066,-0.998989253162,-0.998984939076,-0.998980615807,-0.998976283356,-0.998971941723,-0.998967590908,-0.99896323091,-0.998958861729,-0.998954483367,-0.998950095822,-0.998945699096,-0.998941293187,-0.998936878096,-0.998932453823,-0.998928020368,-0.998923577731,-0.998919125913,-0.998914664912,-0.99891019473,-0.998905715366,-0.99890122682,-0.998896729092,-0.998892222183,-0.998887706093,-0.99888318082,-0.998878646366,-0.998874102731,-0.998869549914,-0.998864987916,-0.998860416737,-0.998855836376,-0.998851246834,-0.99884664811,-0.998842040206,-0.99883742312,-0.998832796854,-0.998828161406,-0.998823516777,-0.998818862967,-0.998814199976,-0.998809527805,-0.998804846452,-0.998800155919,-0.998795456205,-0.99879074731,-0.998786029235,-0.998781301979,-0.998776565542,-0.998771819925,-0.998767065128,-0.99876230115,-0.998757527991,-0.998752745652,-0.998747954133,-0.998743153434,-0.998738343554,-0.998733524494,-0.998728696254,-0.998723858834,-0.998719012234,-0.998714156454,-0.998709291494,-0.998704417353,-0.998699534034,-0.998694641534,-0.998689739854,-0.998684828995,-0.998679908956,-0.998674979737,-0.998670041339,-0.998665093761,-0.998660137004,-0.998655171067,-0.998650195951,-0.998645211655,-0.99864021818,-0.998635215526,-0.998630203693,-0.99862518268,-0.998620152488,-0.998615113117,-0.998610064567,-0.998605006838,-0.99859993993,-0.998594863843,-0.998589778578,-0.998584684133,-0.99857958051,-0.998574467708,-0.998569345727,-0.998564214568,-0.99855907423,-0.998553924713,-0.998548766018,-0.998543598145,-0.998538421093,-0.998533234863,-0.998528039454,-0.998522834868,-0.998517621103,-0.99851239816,-0.998507166038,-0.998501924739,-0.998496674262,-0.998491414606,-0.998486145773,-0.998480867762,-0.998475580573,-0.998470284207,-0.998464978662,-0.99845966394,-0.998454340041,-0.998449006963,-0.998443664708,-0.998438313276,-0.998432952667,-0.998427582879,-0.998422203915,-0.998416815773,-0.998411418454,-0.998406011958,-0.998400596285,-0.998395171435,-0.998389737407,-0.998384294203,-0.998378841822,-0.998373380264,-0.998367909529,-0.998362429617,-0.998356940528,-0.998351442263,-0.998345934821,-0.998340418203,-0.998334892408,-0.998329357436,-0.998323813289,-0.998318259964,-0.998312697464,-0.998307125787,-0.998301544934,-0.998295954905,-0.998290355699,-0.998284747318,-0.99827912976,-0.998273503027,-0.998267867118,-0.998262222032,-0.998256567771,-0.998250904335,-0.998245231722,-0.998239549934,-0.99823385897,-0.998228158831,-0.998222449516,-0.998216731026,-0.99821100336,-0.99820526652,-0.998199520503,-0.998193765312,-0.998188000945,-0.998182227403,-0.998176444686,-0.998170652795,-0.998164851728,-0.998159041486,-0.998153222069,-0.998147393478,-0.998141555712,-0.998135708771,-0.998129852655,-0.998123987365,-0.9981181129,-0.998112229261,-0.998106336447,-0.998100434459,-0.998094523297,-0.99808860296,-0.99808267345,-0.998076734765,-0.998070786905,-0.998064829872,-0.998058863665,-0.998052888284,-0.998046903729,-0.99804091,-0.998034907098,-0.998028895021,-0.998022873771,-0.998016843348,-0.998010803751,-0.99800475498,-0.997998697036,-0.997992629919,-0.997986553628,-0.997980468164,-0.997974373526,-0.997968269716,-0.997962156732,-0.997956034576,-0.997949903246,-0.997943762743,-0.997937613068,-0.99793145422,-0.997925286199,-0.997919109005,-0.997912922638,-0.997906727099,-0.997900522388,-0.997894308504,-0.997888085447,-0.997881853218,-0.997875611817,-0.997869361244,-0.997863101498,-0.99785683258,-0.99785055449,-0.997844267228,-0.997837970795,-0.997831665189,-0.997825350411,-0.997819026462,-0.99781269334,-0.997806351048,-0.997799999583,-0.997793638947,-0.99778726914,-0.997780890161,-0.99777450201,-0.997768104688,-0.997761698195,-0.997755282531,-0.997748857696,-0.997742423689,-0.997735980512,-0.997729528164,-0.997723066644,-0.997716595954,-0.997710116093,-0.997703627061,-0.997697128859,-0.997690621486,-0.997684104942,-0.997677579228,-0.997671044343,-0.997664500289,-0.997657947063,-0.997651384668,-0.997644813102,-0.997638232366,-0.99763164246,-0.997625043384,-0.997618435139,-0.997611817723,-0.997605191137,-0.997598555382,-0.997591910457,-0.997585256362,-0.997578593098,-0.997571920664,-0.99756523906,-0.997558548288,-0.997551848346,-0.997545139234,-0.997538420954,-0.997531693504,-0.997524956885,-0.997518211097,-0.99751145614,-0.997504692015,-0.99749791872,-0.997491136257,-0.997484344624,-0.997477543824,-0.997470733854,-0.997463914716,-0.99745708641,-0.997450248935,-0.997443402292,-0.997436546481,-0.997429681501,-0.997422807353,-0.997415924037,-0.997409031553,-0.997402129901,-0.997395219081,-0.997388299094,-0.997381369938,-0.997374431615,-0.997367484124,-0.997360527466,-0.99735356164,-0.997346586647,-0.997339602486,-0.997332609158,-0.997325606662,-0.997318595,-0.99731157417,-0.997304544173,-0.997297505009,-0.997290456679,-0.997283399181,-0.997276332517,-0.997269256685,-0.997262171688,-0.997255077523,-0.997247974192,-0.997240861694,-0.99723374003,-0.9972266092,-0.997219469204,-0.997212320041,-0.997205161712,-0.997197994217,-0.997190817555,-0.997183631728,-0.997176436735,-0.997169232576,-0.997162019252,-0.997154796762,-0.997147565106,-0.997140324284,-0.997133074297,-0.997125815145,-0.997118546827,-0.997111269344,-0.997103982696,-0.997096686882,-0.997089381903,-0.99708206776,-0.997074744451,-0.997067411978,-0.997060070339,-0.997052719536,-0.997045359569,-0.997037990436,-0.997030612139,-0.997023224678,-0.997015828052,-0.997008422262,-0.997001007307,-0.996993583189,-0.996986149906,-0.996978707459,-0.996971255848,-0.996963795073,-0.996956325134,-0.996948846031,-0.996941357765,-0.996933860335,-0.996926353741,-0.996918837984,-0.996911313064,-0.99690377898,-0.996896235732,-0.996888683322,-0.996881121748,-0.996873551011,-0.996865971111,-0.996858382048,-0.996850783822,-0.996843176434,-0.996835559882,-0.996827934168,-0.996820299291,-0.996812655252,-0.99680500205,-0.996797339686,-0.996789668159,-0.99678198747,-0.996774297619,-0.996766598606,-0.996758890431,-0.996751173094,-0.996743446594,-0.996735710933,-0.996727966111,-0.996720212126,-0.99671244898,-0.996704676672,-0.996696895203,-0.996689104572,-0.99668130478,-0.996673495827,-0.996665677712,-0.996657850437,-0.996650014,-0.996642168402,-0.996634313644,-0.996626449724,-0.996618576644,-0.996610694403,-0.996602803002,-0.99659490244,-0.996586992717,-0.996579073834,-0.996571145791,-0.996563208587,-0.996555262223,-0.996547306699,-0.996539342015,-0.996531368171,-0.996523385167,-0.996515393004,-0.99650739168,-0.996499381197,-0.996491361554,-0.996483332752,-0.99647529479,-0.996467247669,-0.996459191389,-0.996451125949,-0.99644305135,-0.996434967592,-0.996426874675,-0.996418772599,-0.996410661364,-0.996402540971,-0.996394411419,-0.996386272708,-0.996378124838,-0.99636996781,-0.996361801624,-0.996353626279,-0.996345441776,-0.996337248115,-0.996329045295,-0.996320833318,-0.996312612183,-0.99630438189,-0.996296142438,-0.99628789383,-0.996279636063,-0.996271369139,-0.996263093058,-0.996254807819,-0.996246513422,-0.996238209869,-0.996229897158,-0.99622157529,-0.996213244265,-0.996204904083,-0.996196554744,-0.996188196248,-0.996179828596,-0.996171451787,-0.996163065821,-0.996154670699,-0.99614626642,-0.996137852985,-0.996129430393,-0.996120998646,-0.996112557742,-0.996104107682,-0.996095648467,-0.996087180095,-0.996078702568,-0.996070215884,-0.996061720046,-0.996053215051,-0.996044700901,-0.996036177596,-0.996027645135,-0.996019103519,-0.996010552748,-0.996001992822,-0.99599342374,-0.995984845504,-0.995976258113,-0.995967661567,-0.995959055866,-0.995950441011,-0.995941817001,-0.995933183837,-0.995924541518,-0.995915890045,-0.995907229417,-0.995898559636,-0.9958898807,-0.995881192611,-0.995872495367,-0.99586378897,-0.995855073419,-0.995846348714,-0.995837614855,-0.995828871843,-0.995820119678,-0.995811358359,-0.995802587887,-0.995793808262,-0.995785019483,-0.995776221552,-0.995767414468,-0.99575859823,-0.99574977284,-0.995740938298,-0.995732094602,-0.995723241754,-0.995714379754,-0.995705508601,-0.995696628296,-0.995687738838,-0.995678840229,-0.995669932467,-0.995661015554,-0.995652089488,-0.995643154271,-0.995634209902,-0.995625256381,-0.995616293709,-0.995607321885,-0.99559834091,-0.995589350783,-0.995580351506,-0.995571343077,-0.995562325497,-0.995553298766,-0.995544262884,-0.995535217851,-0.995526163668,-0.995517100333,-0.995508027849,-0.995498946213,-0.995489855428,-0.995480755492,-0.995471646406,-0.995462528169,-0.995453400783,-0.995444264247,-0.99543511856,-0.995425963724,-0.995416799738,-0.995407626603,-0.995398444317,-0.995389252883,-0.995380052299,-0.995370842565,-0.995361623683,-0.995352395651,-0.99534315847,-0.99533391214,-0.995324656662,-0.995315392034,-0.995306118258,-0.995296835333,-0.99528754326,-0.995278242038,-0.995268931668,-0.995259612149,-0.995250283482,-0.995240945667,-0.995231598705,-0.995222242594,-0.995212877335,-0.995203502928,-0.995194119374,-0.995184726672,-0.995175324823,-0.995165913826,-0.995156493682,-0.99514706439,-0.995137625952,-0.995128178366,-0.995118721633,-0.995109255754,-0.995099780727,-0.995090296554,-0.995080803234,-0.995071300768,-0.995061789155,-0.995052268396,-0.99504273849,-0.995033199438,-0.99502365124,-0.995014093896,-0.995004527406,-0.99499495177,-0.994985366989,-0.994975773061,-0.994966169989,-0.99495655777,-0.994946936406,-0.994937305897,-0.994927666243,-0.994918017443,-0.994908359498,-0.994898692409,-0.994889016174,-0.994879330795,-0.994869636271,-0.994859932602,-0.994850219789,-0.994840497831,-0.994830766729,-0.994821026483,-0.994811277092,-0.994801518558,-0.994791750879,-0.994781974057,-0.99477218809,-0.99476239298,-0.994752588726,-0.994742775329,-0.994732952788,-0.994723121104,-0.994713280277,-0.994703430306,-0.994693571193,-0.994683702936,-0.994673825536,-0.994663938994,-0.994654043309,-0.994644138481,-0.994634224511,-0.994624301398,-0.994614369143,-0.994604427745,-0.994594477206,-0.994584517524,-0.9945745487,-0.994564570734,-0.994554583627,-0.994544587377,-0.994534581987,-0.994524567454,-0.99451454378,-0.994504510965,-0.994494469008,-0.994484417911,-0.994474357672,-0.994464288292,-0.994454209771,-0.99444412211,-0.994434025308,-0.994423919365,-0.994413804281,-0.994403680058,-0.994393546694,-0.994383404189,-0.994373252545,-0.99436309176,-0.994352921835,-0.994342742771,-0.994332554567,-0.994322357223,-0.994312150739,-0.994301935116,-0.994291710353,-0.994281476452,-0.994271233411,-0.99426098123,-0.994250719911,-0.994240449453,-0.994230169856,-0.994219881121,-0.994209583246,-0.994199276233,-0.994188960082,-0.994178634792,-0.994168300364,-0.994157956798,-0.994147604093,-0.994137242251,-0.994126871271,-0.994116491153,-0.994106101897,-0.994095703504,-0.994085295973,-0.994074879305,-0.994064453499,-0.994054018557,-0.994043574477,-0.99403312126,-0.994022658906,-0.994012187415,-0.994001706787,-0.993991217023,-0.993980718123,-0.993970210085,-0.993959692912,-0.993949166602,-0.993938631156,-0.993928086574,-0.993917532856,-0.993906970002,-0.993896398013,-0.993885816887,-0.993875226626,-0.99386462723,-0.993854018698,-0.993843401031,-0.993832774229,-0.993822138292,-0.993811493219,-0.993800839012,-0.99379017567,-0.993779503193,-0.993768821582,-0.993758130836,-0.993747430955,-0.993736721941,-0.993726003792,-0.993715276509,-0.993704540092,-0.993693794541,-0.993683039856,-0.993672276038,-0.993661503086,-0.993650721,-0.993639929781,-0.993629129429,-0.993618319943,-0.993607501325,-0.993596673573,-0.993585836688,-0.993574990671,-0.993564135521,-0.993553271238,-0.993542397822,-0.993531515275,-0.993520623595,-0.993509722782,-0.993498812838,-0.993487893761,-0.993476965553,-0.993466028213,-0.993455081741,-0.993444126137,-0.993433161402,-0.993422187535,-0.993411204537,-0.993400212408,-0.993389211148,-0.993378200757,-0.993367181235,-0.993356152582,-0.993345114798,-0.993334067884,-0.993323011839,-0.993311946664,-0.993300872358,-0.993289788922,-0.993278696356,-0.993267594661,-0.993256483835,-0.993245363879,-0.993234234794,-0.993223096579,-0.993211949235,-0.993200792761,-0.993189627158,-0.993178452426,-0.993167268564,-0.993156075574,-0.993144873455,-0.993133662207,-0.99312244183,-0.993111212325,-0.993099973692,-0.99308872593,-0.993077469039,-0.993066203021,-0.993054927875,-0.9930436436,-0.993032350198,-0.993021047668,-0.99300973601,-0.992998415225,-0.992987085312,-0.992975746273,-0.992964398105,-0.992953040811,-0.99294167439,-0.992930298842,-0.992918914167,-0.992907520365,-0.992896117437,-0.992884705382,-0.992873284201,-0.992861853893,-0.99285041446,-0.9928389659,-0.992827508215,-0.992816041403,-0.992804565466,-0.992793080403,-0.992781586215,-0.992770082901,-0.992758570462,-0.992747048897,-0.992735518208,-0.992723978393,-0.992712429454,-0.992700871389,-0.9926893042,-0.992677727887,-0.992666142449,-0.992654547887,-0.9926429442,-0.992631331389,-0.992619709454,-0.992608078395,-0.992596438213,-0.992584788906,-0.992573130476,-0.992561462923,-0.992549786246,-0.992538100446,-0.992526405522,-0.992514701476,-0.992502988306,-0.992491266014,-0.992479534599,-0.992467794061,-0.992456044401,-0.992444285618,-0.992432517713,-0.992420740685,-0.992408954536,-0.992397159264,-0.992385354871,-0.992373541356,-0.992361718719,-0.99234988696,-0.99233804608,-0.992326196079,-0.992314336957,-0.992302468713,-0.992290591348,-0.992278704863,-0.992266809256,-0.992254904529,-0.992242990681,-0.992231067713,-0.992219135625,-0.992207194416,-0.992195244087,-0.992183284638,-0.992171316069,-0.99215933838,-0.992147351571,-0.992135355643,-0.992123350596,-0.992111336428,-0.992099313142,-0.992087280737,-0.992075239212,-0.992063188569,-0.992051128806,-0.992039059925,-0.992026981926,-0.992014894808,-0.992002798571,-0.991990693216,-0.991978578744,-0.991966455153,-0.991954322444,-0.991942180617,-0.991930029672,-0.99191786961,-0.991905700431,-0.991893522134,-0.991881334719,-0.991869138188,-0.991856932539,-0.991844717774,-0.991832493892,-0.991820260893,-0.991808018777,-0.991795767545,-0.991783507197,-0.991771237732,-0.991758959152,-0.991746671455,-0.991734374642,-0.991722068713,-0.991709753669,-0.991697429509,-0.991685096234,-0.991672753843,-0.991660402337,-0.991648041716,-0.99163567198,-0.991623293129,-0.991610905163,-0.991598508083,-0.991586101888,-0.991573686579,-0.991561262155,-0.991548828617,-0.991536385965,-0.991523934199,-0.991511473319,-0.991499003325,-0.991486524218,-0.991474035997,-0.991461538662,-0.991449032215,-0.991436516654,-0.99142399198,-0.991411458193,-0.991398915294,-0.991386363281,-0.991373802156,-0.991361231919,-0.991348652569,-0.991336064107,-0.991323466532,-0.991310859846,-0.991298244048,-0.991285619138,-0.991272985116,-0.991260341983,-0.991247689738,-0.991235028382,-0.991222357915,-0.991209678336,-0.991196989647,-0.991184291847,-0.991171584936,-0.991158868914,-0.991146143782,-0.991133409539,-0.991120666186,-0.991107913723,-0.99109515215,-0.991082381467,-0.991069601674,-0.991056812772,-0.99104401476,-0.991031207638,-0.991018391407,-0.991005566067,-0.990992731618,-0.99097988806,-0.990967035392,-0.990954173617,-0.990941302732,-0.990928422739,-0.990915533638,-0.990902635428,-0.99088972811,-0.990876811684,-0.99086388615,-0.990850951508,-0.990838007759,-0.990825054902,-0.990812092938,-0.990799121866,-0.990786141687,-0.990773152401,-0.990760154008,-0.990747146508,-0.990734129902,-0.990721104188,-0.990708069369,-0.990695025443,-0.99068197241,-0.990668910272,-0.990655839027,-0.990642758677,-0.990629669221,-0.990616570659,-0.990603462992,-0.990590346219,-0.990577220341,-0.990564085358,-0.990550941269,-0.990537788076,-0.990524625778,-0.990511454375,-0.990498273868,-0.990485084256,-0.99047188554,-0.99045867772,-0.990445460796,-0.990432234768,-0.990418999635,-0.9904057554,-0.99039250206,-0.990379239617,-0.990365968071,-0.990352687421,-0.990339397669,-0.990326098813,-0.990312790855,-0.990299473793,-0.99028614763,-0.990272812363,-0.990259467994,-0.990246114523,-0.99023275195,-0.990219380275,-0.990205999498,-0.99019260962,-0.990179210639,-0.990165802557,-0.990152385374,-0.990138959089,-0.990125523704,-0.990112079217,-0.990098625629,-0.990085162941,-0.990071691152,-0.990058210262,-0.990044720272,-0.990031221182,-0.990017712992,-0.990004195701,-0.989990669311,-0.989977133821,-0.989963589231,-0.989950035542,-0.989936472753,-0.989922900865,-0.989909319878,-0.989895729791,-0.989882130606,-0.989868522322,-0.98985490494,-0.989841278459,-0.989827642879,-0.989813998202,-0.989800344426,-0.989786681552,-0.98977300958,-0.98975932851,-0.989745638343,-0.989731939078,-0.989718230716,-0.989704513256,-0.989690786699,-0.989677051046,-0.989663306295,-0.989649552448,-0.989635789504,-0.989622017463,-0.989608236326,-0.989594446093,-0.989580646764,-0.989566838338,-0.989553020817,-0.9895391942,-0.989525358487,-0.989511513679,-0.989497659776,-0.989483796777,-0.989469924683,-0.989456043494,-0.989442153211,-0.989428253832,-0.989414345359,-0.989400427791,-0.989386501129,-0.989372565373,-0.989358620523,-0.989344666579,-0.989330703541,-0.989316731409,-0.989302750183,-0.989288759865,-0.989274760452,-0.989260751947,-0.989246734349,-0.989232707657,-0.989218671873,-0.989204626996,-0.989190573027,-0.989176509965,-0.989162437811,-0.989148356564,-0.989134266226,-0.989120166796,-0.989106058273,-0.98909194066,-0.989077813955,-0.989063678158,-0.98904953327,-0.989035379291,-0.989021216221,-0.98900704406,-0.988992862808,-0.988978672466,-0.988964473033,-0.98895026451,-0.988936046897,-0.988921820194,-0.9889075844,-0.988893339517,-0.988879085544,-0.988864822482,-0.98885055033,-0.988836269089,-0.988821978758,-0.988807679339,-0.988793370831,-0.988779053234,-0.988764726548,-0.988750390774,-0.988736045911,-0.98872169196,-0.988707328921,-0.988692956794,-0.98867857558,-0.988664185277,-0.988649785887,-0.988635377409,-0.988620959844,-0.988606533192,-0.988592097453,-0.988577652627,-0.988563198714,-0.988548735715,-0.988534263629,-0.988519782456,-0.988505292198,-0.988490792853,-0.988476284422,-0.988461766905,-0.988447240303,-0.988432704615,-0.988418159841,-0.988403605982,-0.988389043038,-0.988374471009,-0.988359889895,-0.988345299697,-0.988330700413,-0.988316092045,-0.988301474593,-0.988286848056,-0.988272212435,-0.988257567731,-0.988242913942,-0.98822825107,-0.988213579114,-0.988198898075,-0.988184207952,-0.988169508746,-0.988154800457,-0.988140083086,-0.988125356631,-0.988110621094,-0.988095876474,-0.988081122772,-0.988066359988,-0.988051588122,-0.988036807173,-0.988022017143,-0.988007218031,-0.987992409838,-0.987977592563,-0.987962766207,-0.98794793077,-0.987933086252,-0.987918232653,-0.987903369973,-0.987888498213,-0.987873617372,-0.987858727451,-0.987843828449,-0.987828920368,-0.987814003206,-0.987799076965,-0.987784141645,-0.987769197244,-0.987754243765,-0.987739281206,-0.987724309568,-0.987709328851,-0.987694339055,-0.987679340181,-0.987664332228,-0.987649315197,-0.987634289087,-0.9876192539,-0.987604209634,-0.987589156291,-0.987574093869,-0.987559022371,-0.987543941794,-0.987528852141,-0.98751375341,-0.987498645603,-0.987483528718,-0.987468402757,-0.987453267719,-0.987438123605,-0.987422970414,-0.987407808147,-0.987392636804,-0.987377456385,-0.987362266891,-0.987347068321,-0.987331860675,-0.987316643954,-0.987301418158,-0.987286183287,-0.98727093934,-0.987255686319,-0.987240424224,-0.987225153054,-0.987209872809,-0.987194583491,-0.987179285098,-0.987163977631,-0.987148661091,-0.987133335477,-0.987118000789,-0.987102657028,-0.987087304193,-0.987071942286,-0.987056571306,-0.987041191253,-0.987025802127,-0.987010403928,-0.986994996658,-0.986979580315,-0.9869641549,-0.986948720413,-0.986933276854,-0.986917824223,-0.986902362521,-0.986886891748,-0.986871411903,-0.986855922987,-0.986840425,-0.986824917943,-0.986809401814,-0.986793876615,-0.986778342346,-0.986762799007,-0.986747246597,-0.986731685117,-0.986716114568,-0.986700534949,-0.98668494626,-0.986669348502,-0.986653741675,-0.986638125778,-0.986622500813,-0.986606866779,-0.986591223676,-0.986575571505,-0.986559910265,-0.986544239957,-0.986528560581,-0.986512872136,-0.986497174625,-0.986481468045,-0.986465752398,-0.986450027683,-0.986434293902,-0.986418551053,-0.986402799137,-0.986387038154,-0.986371268105,-0.986355488989,-0.986339700807,-0.986323903559,-0.986308097245,-0.986292281864,-0.986276457418,-0.986260623906,-0.986244781329,-0.986228929686,-0.986213068979,-0.986197199206,-0.986181320368,-0.986165432465,-0.986149535498,-0.986133629467,-0.986117714371,-0.98610179021,-0.986085856986,-0.986069914698,-0.986053963346,-0.986038002931,-0.986022033452,-0.98600605491,-0.985990067304,-0.985974070636,-0.985958064905,-0.985942050111,-0.985926026254,-0.985909993335,-0.985893951354,-0.985877900311,-0.985861840206,-0.985845771038,-0.98582969281,-0.985813605519,-0.985797509168,-0.985781403755,-0.985765289281,-0.985749165746,-0.98573303315,-0.985716891493,-0.985700740776,-0.985684580999,-0.985668412162,-0.985652234264,-0.985636047307,-0.985619851289,-0.985603646213,-0.985587432076,-0.985571208881,-0.985554976626,-0.985538735312,-0.98552248494,-0.985506225508,-0.985489957018,-0.98547367947,-0.985457392864,-0.985441097199,-0.985424792476,-0.985408478696,-0.985392155858,-0.985375823962,-0.985359483009,-0.985343132999,-0.985326773932,-0.985310405807,-0.985294028626,-0.985277642389,-0.985261247095,-0.985244842745,-0.985228429338,-0.985212006876,-0.985195575357,-0.985179134783,-0.985162685154,-0.985146226469,-0.985129758728,-0.985113281933,-0.985096796083,-0.985080301178,-0.985063797218,-0.985047284204,-0.985030762135,-0.985014231012,-0.984997690835,-0.984981141605,-0.98496458332,-0.984948015982,-0.984931439591,-0.984914854146,-0.984898259648,-0.984881656097,-0.984865043494,-0.984848421837,-0.984831791128,-0.984815151367,-0.984798502554,-0.984781844688,-0.984765177771,-0.984748501802,-0.984731816781,-0.984715122709,-0.984698419586,-0.984681707411,-0.984664986185,-0.984648255909,-0.984631516582,-0.984614768204,-0.984598010776,-0.984581244298,-0.98456446877,-0.984547684192,-0.984530890564,-0.984514087886,-0.984497276159,-0.984480455383,-0.984463625558,-0.984446786684,-0.98442993876,-0.984413081789,-0.984396215768,-0.984379340699,-0.984362456583,-0.984345563418,-0.984328661205,-0.984311749944,-0.984294829636,-0.98427790028,-0.984260961878,-0.984244014428,-0.984227057931,-0.984210092387,-0.984193117797,-0.98417613416,-0.984159141476,-0.984142139747,-0.984125128972,-0.98410810915,-0.984091080283,-0.984074042371,-0.984056995413,-0.98403993941,-0.984022874361,-0.984005800268,-0.98398871713,-0.983971624948,-0.983954523721,-0.983937413449,-0.983920294134,-0.983903165774,-0.983886028371,-0.983868881924,-0.983851726434,-0.9838345619,-0.983817388323,-0.983800205703,-0.98378301404,-0.983765813334,-0.983748603586,-0.983731384795,-0.983714156962,-0.983696920087,-0.98367967417,-0.983662419212,-0.983645155211,-0.98362788217,-0.983610600087,-0.983593308962,-0.983576008797,-0.983558699591,-0.983541381345,-0.983524054058,-0.98350671773,-0.983489372362,-0.983472017955,-0.983454654507,-0.98343728202,-0.983419900493,-0.983402509927,-0.983385110322,-0.983367701677,-0.983350283994,-0.983332857272,-0.983315421511,-0.983297976712,-0.983280522874,-0.983263059999,-0.983245588085,-0.983228107134,-0.983210617145,-0.983193118119,-0.983175610055,-0.983158092955,-0.983140566817,-0.983123031642,-0.983105487431,-0.983087934184,-0.983070371899,-0.983052800579,-0.983035220223,-0.983017630831,-0.983000032403,-0.98298242494,-0.982964808441,-0.982947182908,-0.982929548339,-0.982911904735,-0.982894252096,-0.982876590423,-0.982858919716,-0.982841239974,-0.982823551199,-0.982805853389,-0.982788146546,-0.982770430669,-0.982752705758,-0.982734971815,-0.982717228838,-0.982699476829,-0.982681715786,-0.982663945711,-0.982646166604,-0.982628378464,-0.982610581292,-0.982592775089,-0.982574959853,-0.982557135586,-0.982539302287,-0.982521459958,-0.982503608597,-0.982485748205,-0.982467878782,-0.982450000328,-0.982432112845,-0.98241421633,-0.982396310786,-0.982378396212,-0.982360472608,-0.982342539974,-0.982324598311,-0.982306647618,-0.982288687896,-0.982270719146,-0.982252741366,-0.982234754558,-0.982216758721,-0.982198753856,-0.982180739963,-0.982162717042,-0.982144685093,-0.982126644117,-0.982108594113,-0.982090535081,-0.982072467022,-0.982054389937,-0.982036303824,-0.982018208685,-0.98200010452,-0.981981991328,-0.98196386911,-0.981945737865,-0.981927597595,-0.9819094483,-0.981891289979,-0.981873122632,-0.981854946261,-0.981836760864,-0.981818566443,-0.981800362996,-0.981782150526,-0.981763929031,-0.981745698512,-0.981727458969,-0.981709210402,-0.981690952811,-0.981672686197,-0.98165441056,-0.981636125899,-0.981617832215,-0.981599529509,-0.98158121778,-0.981562897028,-0.981544567255,-0.981526228459,-0.981507880641,-0.981489523801,-0.98147115794,-0.981452783057,-0.981434399152,-0.981416006227,-0.981397604281,-0.981379193314,-0.981360773326,-0.981342344318,-0.981323906289,-0.981305459241,-0.981287003172,-0.981268538084,-0.981250063976,-0.981231580849,-0.981213088702,-0.981194587536,-0.981176077352,-0.981157558148,-0.981139029926,-0.981120492686,-0.981101946427,-0.98108339115,-0.981064826856,-0.981046253543,-0.981027671213,-0.981009079866,-0.980990479502,-0.98097187012,-0.980953251721,-0.980934624306,-0.980915987874,-0.980897342426,-0.980878687962,-0.980860024482,-0.980841351985,-0.980822670473,-0.980803979946,-0.980785280403,-0.980766571845,-0.980747854272,-0.980729127685,-0.980710392082,-0.980691647465,-0.980672893834,-0.980654131189,-0.98063535953,-0.980616578857,-0.98059778917,-0.98057899047,-0.980560182756,-0.98054136603,-0.98052254029,-0.980503705538,-0.980484861773,-0.980466008996,-0.980447147207,-0.980428276405,-0.980409396592,-0.980390507767,-0.98037160993,-0.980352703082,-0.980333787223,-0.980314862353,-0.980295928472,-0.98027698558,-0.980258033678,-0.980239072766,-0.980220102843,-0.980201123911,-0.980182135968,-0.980163139016,-0.980144133055,-0.980125118084,-0.980106094104,-0.980087061115,-0.980068019118,-0.980048968112,-0.980029908097,-0.980010839074,-0.979991761043,-0.979972674005,-0.979953577958,-0.979934472905,-0.979915358843,-0.979896235775,-0.9798771037,-0.979857962617,-0.979838812528,-0.979819653433,-0.979800485331,-0.979781308224,-0.97976212211,-0.979742926991,-0.979723722866,-0.979704509735,-0.979685287599,-0.979666056459,-0.979646816313,-0.979627567163,-0.979608309008,-0.979589041849,-0.979569765685,-0.979550480518,-0.979531186347,-0.979511883172,-0.979492570994,-0.979473249812,-0.979453919628,-0.97943458044,-0.97941523225,-0.979395875057,-0.979376508861,-0.979357133664,-0.979337749464,-0.979318356263,-0.97929895406,-0.979279542855,-0.979260122649,-0.979240693442,-0.979221255234,-0.979201808025,-0.979182351816,-0.979162886606,-0.979143412395,-0.979123929185,-0.979104436975,-0.979084935765,-0.979065425556,-0.979045906347,-0.979026378139,-0.979006840932,-0.978987294726,-0.978967739522,-0.978948175319,-0.978928602118,-0.978909019919,-0.978889428721,-0.978869828527,-0.978850219334,-0.978830601144,-0.978810973957,-0.978791337773,-0.978771692592,-0.978752038415,-0.978732375241,-0.97871270307,-0.978693021904,-0.978673331741,-0.978653632583,-0.978633924429,-0.97861420728,-0.978594481136,-0.978574745997,-0.978555001862,-0.978535248733,-0.97851548661,-0.978495715492,-0.978475935381,-0.978456146275,-0.978436348175,-0.978416541082,-0.978396724996,-0.978376899916,-0.978357065843,-0.978337222778,-0.97831737072,-0.978297509669,-0.978277639626,-0.978257760591,-0.978237872564,-0.978217975545,-0.978198069534,-0.978178154533,-0.97815823054,-0.978138297556,-0.978118355581,-0.978098404615,-0.978078444659,-0.978058475713,-0.978038497777,-0.978018510851,-0.977998514935,-0.977978510029,-0.977958496134,-0.97793847325,-0.977918441377,-0.977898400515,-0.977878350664,-0.977858291825,-0.977838223998,-0.977818147183,-0.977798061379,-0.977777966588,-0.97775786281,-0.977737750044,-0.977717628291,-0.977697497551,-0.977677357825,-0.977657209111,-0.977637051411,-0.977616884725,-0.977596709053,-0.977576524396,-0.977556330752,-0.977536128123,-0.977515916509,-0.977495695909,-0.977475466325,-0.977455227756,-0.977434980202,-0.977414723664,-0.977394458142,-0.977374183635,-0.977353900145,-0.977333607671,-0.977313306214,-0.977292995774,-0.977272676351,-0.977252347944,-0.977232010555,-0.977211664184,-0.97719130883,-0.977170944494,-0.977150571176,-0.977130188876,-0.977109797595,-0.977089397332,-0.977068988088,-0.977048569863,-0.977028142658,-0.977007706471,-0.976987261305,-0.976966807158,-0.976946344031,-0.976925871924,-0.976905390837,-0.976884900771,-0.976864401725,-0.976843893701,-0.976823376697,-0.976802850715,-0.976782315754,-0.976761771815,-0.976741218897,-0.976720657002,-0.976700086129,-0.976679506278,-0.97665891745,-0.976638319644,-0.976617712862,-0.976597097102,-0.976576472366,-0.976555838653,-0.976535195965,-0.9765145443,-0.976493883659,-0.976473214042,-0.97645253545,-0.976431847883,-0.97641115134,-0.976390445822,-0.97636973133,-0.976349007863,-0.976328275422,-0.976307534006,-0.976286783617,-0.976266024253,-0.976245255916,-0.976224478606,-0.976203692322,-0.976182897066,-0.976162092836,-0.976141279634,-0.976120457459,-0.976099626312,-0.976078786193,-0.976057937102,-0.976037079039,-0.976016212005,-0.975995335999,-0.975974451022,-0.975953557075,-0.975932654156,-0.975911742267,-0.975890821408,-0.975869891578,-0.975848952779,-0.975828005009,-0.975807048271,-0.975786082562,-0.975765107885,-0.975744124238,-0.975723131623,-0.975702130039,-0.975681119486,-0.975660099965,-0.975639071476,-0.97561803402,-0.975596987595,-0.975575932204,-0.975554867844,-0.975533794518,-0.975512712225,-0.975491620965,-0.975470520739,-0.975449411546,-0.975428293388,-0.975407166263,-0.975386030173,-0.975364885117,-0.975343731095,-0.975322568109,-0.975301396158,-0.975280215241,-0.975259025361,-0.975237826516,-0.975216618706,-0.975195401933,-0.975174176196,-0.975152941495,-0.975131697831,-0.975110445204,-0.975089183614,-0.975067913061,-0.975046633545,-0.975025345067,-0.975004047627,-0.974982741224,-0.97496142586,-0.974940101534,-0.974918768247,-0.974897425999,-0.974876074789,-0.974854714619,-0.974833345488,-0.974811967396,-0.974790580344,-0.974769184333,-0.974747779361,-0.974726365429,-0.974704942539,-0.974683510689,-0.974662069879,-0.974640620111,-0.974619161384,-0.974597693699,-0.974576217056,-0.974554731454,-0.974533236894,-0.974511733377,-0.974490220902,-0.97446869947,-0.974447169081,-0.974425629735,-0.974404081432,-0.974382524173,-0.974360957957,-0.974339382786,-0.974317798658,-0.974296205575,-0.974274603536,-0.974252992541,-0.974231372592,-0.974209743688,-0.974188105829,-0.974166459015,-0.974144803247,-0.974123138525,-0.97410146485,-0.97407978222,-0.974058090637,-0.9740363901,-0.974014680611,-0.973992962168,-0.973971234773,-0.973949498425,-0.973927753125,-0.973905998872,-0.973884235668,-0.973862463512,-0.973840682405,-0.973818892346,-0.973797093336,-0.973775285375,-0.973753468463,-0.973731642601,-0.973709807788,-0.973687964026,-0.973666111313,-0.973644249651,-0.973622379039,-0.973600499478,-0.973578610967,-0.973556713508,-0.9735348071,-0.973512891744,-0.973490967439,-0.973469034186,-0.973447091985,-0.973425140837,-0.973403180741,-0.973381211697,-0.973359233707,-0.973337246769,-0.973315250885,-0.973293246055,-0.973271232278,-0.973249209555,-0.973227177886,-0.973205137271,-0.973183087711,-0.973161029206,-0.973138961755,-0.97311688536,-0.97309480002,-0.973072705735,-0.973050602507,-0.973028490334,-0.973006369217,-0.972984239157,-0.972962100153,-0.972939952206,-0.972917795315,-0.972895629482,-0.972873454707,-0.972851270989,-0.972829078328,-0.972806876726,-0.972784666182,-0.972762446696,-0.972740218268,-0.9727179809,-0.97269573459,-0.97267347934,-0.972651215149,-0.972628942018,-0.972606659946,-0.972584368935,-0.972562068983,-0.972539760093,-0.972517442262,-0.972495115493,-0.972472779784,-0.972450435137,-0.972428081552,-0.972405719027,-0.972383347565,-0.972360967165,-0.972338577827,-0.972316179552,-0.972293772339,-0.972271356189,-0.972248931102,-0.972226497079,-0.972204054119,-0.972181602223,-0.97215914139,-0.972136671622,-0.972114192918,-0.972091705279,-0.972069208704,-0.972046703195,-0.97202418875,-0.972001665371,-0.971979133057,-0.97195659181,-0.971934041628,-0.971911482512,-0.971888914463,-0.97186633748,-0.971843751564,-0.971821156716,-0.971798552934,-0.97177594022,-0.971753318574,-0.971730687995,-0.971708048484,-0.971685400042,-0.971662742668,-0.971640076363,-0.971617401127,-0.97159471696,-0.971572023862,-0.971549321833,-0.971526610875,-0.971503890986,-0.971481162168,-0.97145842442,-0.971435677742,-0.971412922135,-0.971390157599,-0.971367384135,-0.971344601741,-0.97132181042,-0.97129901017,-0.971276200992,-0.971253382887,-0.971230555853,-0.971207719893,-0.971184875005,-0.971162021191,-0.97113915845,-0.971116286782,-0.971093406188,-0.971070516668,-0.971047618222,-0.97102471085,-0.971001794553,-0.970978869331,-0.970955935184,-0.970932992111,-0.970910040115,-0.970887079193,-0.970864109348,-0.970841130579,-0.970818142886,-0.970795146269,-0.970772140729,-0.970749126266,-0.97072610288,-0.970703070571,-0.97068002934,-0.970656979186,-0.970633920111,-0.970610852113,-0.970587775194,-0.970564689354,-0.970541594592,-0.970518490909,-0.970495378306,-0.970472256781,-0.970449126337,-0.970425986972,-0.970402838688,-0.970379681483,-0.970356515359,-0.970333340316,-0.970310156354,-0.970286963473,-0.970263761673,-0.970240550955,-0.970217331318,-0.970194102763,-0.970170865291,-0.970147618901,-0.970124363594,-0.970101099369,-0.970077826228,-0.970054544169,-0.970031253195,-0.970007953303,-0.969984644496,-0.969961326773,-0.969938000134,-0.96991466458,-0.969891320111,-0.969867966726,-0.969844604427,-0.969821233213,-0.969797853084,-0.969774464042,-0.969751066085,-0.969727659215,-0.969704243431,-0.969680818734,-0.969657385124,-0.969633942601,-0.969610491166,-0.969587030817,-0.969563561557,-0.969540083385,-0.9695165963,-0.969493100305,-0.969469595397,-0.969446081579,-0.96942255885,-0.96939902721,-0.969375486659,-0.969351937199,-0.969328378828,-0.969304811547,-0.969281235357,-0.969257650257,-0.969234056248,-0.96921045333,-0.969186841503,-0.969163220768,-0.969139591124,-0.969115952572,-0.969092305113,-0.969068648745,-0.96904498347,-0.969021309288,-0.968997626199,-0.968973934203,-0.9689502333,-0.968926523492,-0.968902804776,-0.968879077155,-0.968855340629,-0.968831595196,-0.968807840859,-0.968784077616,-0.968760305469,-0.968736524416,-0.96871273446,-0.968688935599,-0.968665127834,-0.968641311166,-0.968617485594,-0.968593651118,-0.96856980774,-0.968545955458,-0.968522094274,-0.968498224188,-0.968474345199,-0.968450457308,-0.968426560516,-0.968402654822,-0.968378740226,-0.96835481673,-0.968330884332,-0.968306943034,-0.968282992836,-0.968259033737,-0.968235065738,-0.968211088839,-0.968187103041,-0.968163108343,-0.968139104746,-0.968115092251,-0.968091070856,-0.968067040563,-0.968043001372,-0.968018953283,-0.967994896296,-0.967970830411,-0.967946755629,-0.96792267195,-0.967898579374,-0.967874477901,-0.967850367531,-0.967826248266,-0.967802120104,-0.967777983047,-0.967753837093,-0.967729682245,-0.967705518501,-0.967681345863,-0.967657164329,-0.967632973902,-0.967608774579,-0.967584566363,-0.967560349253,-0.96753612325,-0.967511888353,-0.967487644563,-0.96746339188,-0.967439130304,-0.967414859835,-0.967390580475,-0.967366292222,-0.967341995078,-0.967317689042,-0.967293374114,-0.967269050296,-0.967244717586,-0.967220375986,-0.967196025496,-0.967171666115,-0.967147297844,-0.967122920683,-0.967098534633,-0.967074139693,-0.967049735864,-0.967025323146,-0.96700090154,-0.966976471045,-0.966952031662,-0.966927583391,-0.966903126232,-0.966878660185,-0.966854185251,-0.96682970143,-0.966805208722,-0.966780707128,-0.966756196647,-0.966731677279,-0.966707149026,-0.966682611887,-0.966658065863,-0.966633510953,-0.966608947158,-0.966584374478,-0.966559792914,-0.966535202465,-0.966510603132,-0.966485994915,-0.966461377814,-0.96643675183,-0.966412116963,-0.966387473212,-0.966362820579,-0.966338159063,-0.966313488665,-0.966288809384,-0.966264121222,-0.966239424178,-0.966214718252,-0.966190003445,-0.966165279758,-0.966140547189,-0.96611580574,-0.96609105541,-0.966066296201,-0.966041528111,-0.966016751142,-0.965991965294,-0.965967170566,-0.965942366959,-0.965917554474,-0.96589273311,-0.965867902868,-0.965843063748,-0.96581821575,-0.965793358874,-0.965768493121,-0.965743618491,-0.965718734984,-0.9656938426,-0.96566894134,-0.965644031204,-0.965619112191,-0.965594184303,-0.965569247539,-0.9655443019,-0.965519347386,-0.965494383997,-0.965469411734,-0.965444430596,-0.965419440584,-0.965394441698,-0.965369433938,-0.965344417305,-0.965319391798,-0.965294357419,-0.965269314167,-0.965244262042,-0.965219201045,-0.965194131176,-0.965169052435,-0.965143964822,-0.965118868338,-0.965093762983,-0.965068648757,-0.96504352566,-0.965018393692,-0.964993252855,-0.964968103147,-0.96494294457,-0.964917777123,-0.964892600807,-0.964867415622,-0.964842221567,-0.964817018645,-0.964791806853,-0.964766586194,-0.964741356667,-0.964716118272,-0.964690871009,-0.96466561488,-0.964640349883,-0.96461507602,-0.96458979329,-0.964564501694,-0.964539201231,-0.964513891903,-0.964488573709,-0.96446324665,-0.964437910726,-0.964412565937,-0.964387212283,-0.964361849765,-0.964336478382,-0.964311098136,-0.964285709025,-0.964260311052,-0.964234904215,-0.964209488515,-0.964184063952,-0.964158630526,-0.964133188239,-0.964107737089,-0.964082277077,-0.964056808204,-0.964031330469,-0.964005843873,-0.963980348416,-0.963954844098,-0.96392933092,-0.963903808882,-0.963878277984,-0.963852738226,-0.963827189608,-0.963801632131,-0.963776065795,-0.963750490601,-0.963724906547,-0.963699313636,-0.963673711866,-0.963648101238,-0.963622481753,-0.96359685341,-0.96357121621,-0.963545570153,-0.96351991524,-0.96349425147,-0.963468578844,-0.963442897361,-0.963417207023,-0.96339150783,-0.963365799781,-0.963340082877,-0.963314357118,-0.963288622505,-0.963262879038,-0.963237126716,-0.96321136554,-0.963185595511,-0.963159816628,-0.963134028893,-0.963108232304,-0.963082426863,-0.963056612569,-0.963030789423,-0.963004957425,-0.962979116575,-0.962953266874,-0.962927408321,-0.962901540918,-0.962875664663,-0.962849779559,-0.962823885603,-0.962797982798,-0.962772071143,-0.962746150638,-0.962720221284,-0.962694283081,-0.962668336029,-0.962642380129,-0.96261641538,-0.962590441782,-0.962564459337,-0.962538468044,-0.962512467904,-0.962486458917,-0.962460441082,-0.962434414401,-0.962408378873,-0.962382334499,-0.962356281279,-0.962330219214,-0.962304148302,-0.962278068546,-0.962251979944,-0.962225882498,-0.962199776207,-0.962173661072,-0.962147537092,-0.962121404269,-0.962095262602,-0.962069112092,-0.962042952739,-0.962016784542,-0.961990607503,-0.961964421622,-0.961938226899,-0.961912023333,-0.961885810926,-0.961859589677,-0.961833359588,-0.961807120657,-0.961780872885,-0.961754616274,-0.961728350821,-0.961702076529,-0.961675793397,-0.961649501426,-0.961623200615,-0.961596890965,-0.961570572477,-0.96154424515,-0.961517908984,-0.961491563981,-0.961465210139,-0.96143884746,-0.961412475944,-0.961386095591,-0.961359706401,-0.961333308374,-0.961306901511,-0.961280485811,-0.961254061276,-0.961227627905,-0.961201185699,-0.961174734658,-0.961148274781,-0.96112180607,-0.961095328525,-0.961068842146,-0.961042346932,-0.961015842885,-0.960989330004,-0.96096280829,-0.960936277743,-0.960909738364,-0.960883190152,-0.960856633108,-0.960830067231,-0.960803492523,-0.960776908984,-0.960750316613,-0.960723715411,-0.960697105379,-0.960670486516,-0.960643858823,-0.960617222299,-0.960590576946,-0.960563922763,-0.960537259752,-0.96051058791,-0.960483907241,-0.960457217742,-0.960430519416,-0.960403812261,-0.960377096278,-0.960350371468,-0.96032363783,-0.960296895366,-0.960270144074,-0.960243383956,-0.960216615012,-0.960189837241,-0.960163050645,-0.960136255223,-0.960109450976,-0.960082637903,-0.960055816006,-0.960028985284,-0.960002145738,-0.959975297367,-0.959948440173,-0.959921574155,-0.959894699313,-0.959867815649,-0.959840923161,-0.959814021851,-0.959787111719,-0.959760192764,-0.959733264988,-0.959706328389,-0.95967938297,-0.959652428729,-0.959625465667,-0.959598493785,-0.959571513082,-0.959544523559,-0.959517525216,-0.959490518053,-0.959463502071,-0.95943647727,-0.95940944365,-0.959382401211,-0.959355349954,-0.959328289878,-0.959301220985,-0.959274143274,-0.959247056745,-0.9592199614,-0.959192857237,-0.959165744258,-0.959138622462,-0.95911149185,-0.959084352422,-0.959057204178,-0.959030047119,-0.959002881245,-0.958975706556,-0.958948523052,-0.958921330733,-0.958894129601,-0.958866919654,-0.958839700894,-0.95881247332,-0.958785236933,-0.958757991733,-0.958730737721,-0.958703474896,-0.958676203259,-0.95864892281,-0.958621633549,-0.958594335476,-0.958567028593,-0.958539712899,-0.958512388394,-0.958485055078,-0.958457712952,-0.958430362017,-0.958403002271,-0.958375633716,-0.958348256352,-0.95832087018,-0.958293475198,-0.958266071408,-0.95823865881,-0.958211237404,-0.95818380719,-0.958156368169,-0.95812892034,-0.958101463705,-0.958073998263,-0.958046524015,-0.95801904096,-0.9579915491,-0.957964048434,-0.957936538962,-0.957909020686,-0.957881493604,-0.957853957718,-0.957826413028,-0.957798859533,-0.957771297234,-0.957743726132,-0.957716146227,-0.957688557518,-0.957660960006,-0.957633353692,-0.957605738576,-0.957578114657,-0.957550481937,-0.957522840414,-0.957495190091,-0.957467530967,-0.957439863041,-0.957412186315,-0.957384500789,-0.957356806463,-0.957329103336,-0.957301391411,-0.957273670686,-0.957245941162,-0.957218202839,-0.957190455717,-0.957162699798,-0.95713493508,-0.957107161564,-0.957079379251,-0.957051588141,-0.957023788234,-0.95699597953,-0.956968162029,-0.956940335732,-0.956912500639,-0.956884656751,-0.956856804067,-0.956828942588,-0.956801072313,-0.956773193244,-0.956745305381,-0.956717408723,-0.956689503272,-0.956661589027,-0.956633665988,-0.956605734156,-0.956577793531,-0.956549844114,-0.956521885904,-0.956493918902,-0.956465943109,-0.956437958523,-0.956409965146,-0.956381962978,-0.95635395202,-0.95632593227,-0.95629790373,-0.956269866401,-0.956241820281,-0.956213765372,-0.956185701673,-0.956157629186,-0.956129547909,-0.956101457844,-0.956073358991,-0.95604525135,-0.956017134921,-0.955989009705,-0.955960875701,-0.95593273291,-0.955904581333,-0.955876420969,-0.955848251819,-0.955820073883,-0.955791887161,-0.955763691654,-0.955735487361,-0.955707274284,-0.955679052422,-0.955650821776,-0.955622582345,-0.955594334131,-0.955566077133,-0.955537811351,-0.955509536787,-0.95548125344,-0.95545296131,-0.955424660398,-0.955396350703,-0.955368032227,-0.95533970497,-0.955311368931,-0.955283024111,-0.955254670511,-0.955226308129,-0.955197936968,-0.955169557027,-0.955141168306,-0.955112770805,-0.955084364526,-0.955055949467,-0.95502752563,-0.954999093014,-0.95497065162,-0.954942201448,-0.954913742499,-0.954885274772,-0.954856798269,-0.954828312988,-0.954799818931,-0.954771316097,-0.954742804488,-0.954714284102,-0.954685754941,-0.954657217005,-0.954628670294,-0.954600114808,-0.954571550548,-0.954542977513,-0.954514395704,-0.954485805122,-0.954457205767,-0.954428597638,-0.954399980736,-0.954371355061,-0.954342720615,-0.954314077396,-0.954285425405,-0.954256764643,-0.954228095109,-0.954199416804,-0.954170729729,-0.954142033883,-0.954113329267,-0.95408461588,-0.954055893724,-0.954027162799,-0.953998423104,-0.95396967464,-0.953940917408,-0.953912151407,-0.953883376638,-0.953854593101,-0.953825800797,-0.953796999725,-0.953768189886,-0.95373937128,-0.953710543908,-0.953681707769,-0.953652862865,-0.953624009194,-0.953595146758,-0.953566275557,-0.953537395591,-0.95350850686,-0.953479609365,-0.953450703105,-0.953421788082,-0.953392864295,-0.953363931744,-0.953334990431,-0.953306040354,-0.953277081515,-0.953248113914,-0.95321913755,-0.953190152425,-0.953161158539,-0.953132155891,-0.953103144482,-0.953074124312,-0.953045095382,-0.953016057692,-0.952987011242,-0.952957956032,-0.952928892063,-0.952899819334,-0.952870737847,-0.952841647601,-0.952812548597,-0.952783440835,-0.952754324315,-0.952725199038,-0.952696065003,-0.952666922211,-0.952637770663,-0.952608610358,-0.952579441297,-0.95255026348,-0.952521076908,-0.95249188158,-0.952462677497,-0.952433464659,-0.952404243066,-0.95237501272,-0.952345773619,-0.952316525765,-0.952287269157,-0.952258003795,-0.952228729681,-0.952199446814,-0.952170155195,-0.952140854824,-0.952111545701,-0.952082227826,-0.9520529012,-0.952023565822,-0.951994221694,-0.951964868816,-0.951935507187,-0.951906136808,-0.951876757679,-0.951847369801,-0.951817973174,-0.951788567798,-0.951759153673,-0.9517297308,-0.951700299179,-0.95167085881,-0.951641409694,-0.95161195183,-0.951582485219,-0.951553009861,-0.951523525757,-0.951494032907,-0.951464531311,-0.951435020969,-0.951405501882,-0.951375974049,-0.951346437472,-0.95131689215,-0.951287338084,-0.951257775274,-0.95122820372,-0.951198623423,-0.951169034383,-0.951139436599,-0.951109830073,-0.951080214804,-0.951050590794,-0.951020958041,-0.950991316547,-0.950961666312,-0.950932007335,-0.950902339618,-0.95087266316,-0.950842977962,-0.950813284024,-0.950783581347,-0.95075386993,-0.950724149774,-0.950694420879,-0.950664683245,-0.950634936874,-0.950605181764,-0.950575417916,-0.950545645331,-0.950515864009,-0.950486073949,-0.950456275154,-0.950426467621,-0.950396651353,-0.950366826349,-0.950336992609,-0.950307150134,-0.950277298924,-0.950247438979,-0.950217570299,-0.950187692886,-0.950157806738,-0.950127911857,-0.950098008243,-0.950068095895,-0.950038174815,-0.950008245002,-0.949978306457,-0.949948359179,-0.94991840317,-0.94988843843,-0.949858464959,-0.949828482756,-0.949798491823,-0.94976849216,-0.949738483766,-0.949708466643,-0.94967844079,-0.949648406208,-0.949618362897,-0.949588310857,-0.949558250089,-0.949528180593,-0.949498102369,-0.949468015417,-0.949437919738,-0.949407815332,-0.9493777022,-0.94934758034,-0.949317449755,-0.949287310444,-0.949257162406,-0.949227005644,-0.949196840157,-0.949166665944,-0.949136483008,-0.949106291347,-0.949076090961,-0.949045881853,-0.949015664021,-0.948985437465,-0.948955202187,-0.948924958186,-0.948894705463,-0.948864444018,-0.948834173851,-0.948803894963,-0.948773607353,-0.948743311023,-0.948713005971,-0.9486826922,-0.948652369708,-0.948622038497,-0.948591698566,-0.948561349916,-0.948530992547,-0.948500626459,-0.948470251652,-0.948439868128,-0.948409475886,-0.948379074926,-0.948348665249,-0.948318246855,-0.948287819744,-0.948257383916,-0.948226939373,-0.948196486113,-0.948166024138,-0.948135553448,-0.948105074043,-0.948074585922,-0.948044089088,-0.948013583539,-0.947983069276,-0.947952546299,-0.947922014609,-0.947891474206,-0.94786092509,-0.947830367262,-0.947799800721,-0.947769225469,-0.947738641505,-0.947708048829,-0.947677447442,-0.947646837344,-0.947616218536,-0.947585591018,-0.947554954789,-0.947524309851,-0.947493656203,-0.947462993846,-0.947432322781,-0.947401643006,-0.947370954524,-0.947340257333,-0.947309551435,-0.947278836829,-0.947248113516,-0.947217381496,-0.947186640769,-0.947155891336,-0.947125133198,-0.947094366353,-0.947063590803,-0.947032806547,-0.947002013587,-0.946971211922,-0.946940401552,-0.946909582479,-0.946878754702,-0.946847918221,-0.946817073037,-0.94678621915,-0.946755356561,-0.946724485269,-0.946693605275,-0.946662716579,-0.946631819182,-0.946600913083,-0.946569998284,-0.946539074784,-0.946508142583,-0.946477201682,-0.946446252082,-0.946415293782,-0.946384326783,-0.946353351084,-0.946322366688,-0.946291373592,-0.946260371799,-0.946229361308,-0.946198342119,-0.946167314233,-0.94613627765,-0.94610523237,-0.946074178394,-0.946043115722,-0.946012044354,-0.945980964291,-0.945949875532,-0.945918778078,-0.94588767193,-0.945856557087,-0.94582543355,-0.945794301319,-0.945763160395,-0.945732010777,-0.945700852467,-0.945669685464,-0.945638509768,-0.945607325381,-0.945576132301,-0.94554493053,-0.945513720068,-0.945482500914,-0.945451273071,-0.945420036536,-0.945388791312,-0.945357537398,-0.945326274794,-0.945295003501,-0.945263723519,-0.945232434848,-0.945201137489,-0.945169831442,-0.945138516708,-0.945107193285,-0.945075861176,-0.945044520379,-0.945013170896,-0.944981812727,-0.944950445871,-0.94491907033,-0.944887686103,-0.944856293191,-0.944824891594,-0.944793481312,-0.944762062346,-0.944730634696,-0.944699198362,-0.944667753345,-0.944636299645,-0.944604837261,-0.944573366196,-0.944541886447,-0.944510398017,-0.944478900905,-0.944447395112,-0.944415880637,-0.944384357482,-0.944352825646,-0.944321285129,-0.944289735933,-0.944258178057,-0.944226611501,-0.944195036267,-0.944163452353,-0.944131859761,-0.944100258491,-0.944068648543,-0.944037029917,-0.944005402614,-0.943973766634,-0.943942121976,-0.943910468643,-0.943878806633,-0.943847135947,-0.943815456586,-0.943783768549,-0.943752071837,-0.94372036645,-0.943688652389,-0.943656929654,-0.943625198245,-0.943593458162,-0.943561709406,-0.943529951977,-0.943498185875,-0.943466411101,-0.943434627654,-0.943402835536,-0.943371034746,-0.943339225285,-0.943307407153,-0.94327558035,-0.943243744877,-0.943211900734,-0.943180047921,-0.943148186438,-0.943116316287,-0.943084437466,-0.943052549977,-0.943020653819,-0.942988748994,-0.9429568355,-0.942924913339,-0.942892982511,-0.942861043016,-0.942829094855,-0.942797138027,-0.942765172533,-0.942733198374,-0.942701215549,-0.942669224059,-0.942637223904,-0.942605215085,-0.942573197601,-0.942541171454,-0.942509136643,-0.942477093168,-0.942445041031,-0.942412980231,-0.942380910768,-0.942348832643,-0.942316745857,-0.942284650408,-0.942252546299,-0.942220433528,-0.942188312097,-0.942156182005,-0.942124043254,-0.942091895842,-0.942059739771,-0.942027575041,-0.941995401652,-0.941963219604,-0.941931028898,-0.941898829534,-0.941866621512,-0.941834404832,-0.941802179496,-0.941769945503,-0.941737702853,-0.941705451547,-0.941673191585,-0.941640922967,-0.941608645694,-0.941576359766,-0.941544065183,-0.941511761946,-0.941479450054,-0.941447129509,-0.94141480031,-0.941382462457,-0.941350115952,-0.941317760794,-0.941285396984,-0.941253024521,-0.941220643407,-0.941188253642,-0.941155855225,-0.941123448157,-0.941091032438,-0.94105860807,-0.941026175051,-0.940993733382,-0.940961283065,-0.940928824098,-0.940896356482,-0.940863880217,-0.940831395305,-0.940798901744,-0.940766399536,-0.940733888681,-0.940701369179,-0.940668841029,-0.940636304234,-0.940603758792,-0.940571204705,-0.940538641972,-0.940506070593,-0.94047349057,-0.940440901902,-0.94040830459,-0.940375698634,-0.940343084034,-0.94031046079,-0.940277828904,-0.940245188375,-0.940212539203,-0.940179881389,-0.940147214933,-0.940114539835,-0.940081856096,-0.940049163716,-0.940016462695,-0.939983753034,-0.939951034733,-0.939918307792,-0.939885572211,-0.939852827991,-0.939820075132,-0.939787313635,-0.939754543499,-0.939721764725,-0.939688977314,-0.939656181265,-0.939623376579,-0.939590563256,-0.939557741296,-0.939524910701,-0.939492071469,-0.939459223602,-0.9394263671,-0.939393501962,-0.93936062819,-0.939327745784,-0.939294854743,-0.939261955069,-0.939229046761,-0.93919612982,-0.939163204246,-0.939130270039,-0.9390973272,-0.939064375729,-0.939031415627,-0.938998446893,-0.938965469528,-0.938932483532,-0.938899488906,-0.938866485649,-0.938833473763,-0.938800453247,-0.938767424102,-0.938734386328,-0.938701339926,-0.938668284895,-0.938635221236,-0.938602148949,-0.938569068035,-0.938535978494,-0.938502880325,-0.938469773531,-0.93843665811,-0.938403534063,-0.938370401391,-0.938337260093,-0.93830411017,-0.938270951623,-0.938237784451,-0.938204608655,-0.938171424236,-0.938138231193,-0.938105029527,-0.938071819238,-0.938038600326,-0.938005372792,-0.937972136636,-0.937938891859,-0.93790563846,-0.93787237644,-0.937839105799,-0.937805826538,-0.937772538657,-0.937739242156,-0.937705937036,-0.937672623297,-0.937639300938,-0.937605969961,-0.937572630366,-0.937539282152,-0.937505925321,-0.937472559873,-0.937439185808,-0.937405803126,-0.937372411827,-0.937339011913,-0.937305603382,-0.937272186236,-0.937238760475,-0.937205326099,-0.937171883108,-0.937138431503,-0.937104971284,-0.937071502452,-0.937038025006,-0.937004538947,-0.936971044275,-0.936937540991,-0.936904029095,-0.936870508586,-0.936836979467,-0.936803441736,-0.936769895394,-0.936736340442,-0.936702776879,-0.936669204707,-0.936635623924,-0.936602034533,-0.936568436532,-0.936534829923,-0.936501214705,-0.936467590879,-0.936433958445,-0.936400317404,-0.936366667756,-0.9363330095,-0.936299342638,-0.93626566717,-0.936231983096,-0.936198290416,-0.936164589131,-0.936130879241,-0.936097160746,-0.936063433647,-0.936029697944,-0.935995953637,-0.935962200726,-0.935928439213,-0.935894669096,-0.935860890377,-0.935827103055,-0.935793307132,-0.935759502607,-0.935725689481,-0.935691867754,-0.935658037426,-0.935624198498,-0.93559035097,-0.935556494841,-0.935522630114,-0.935488756787,-0.935454874862,-0.935420984338,-0.935387085216,-0.935353177496,-0.935319261179,-0.935285336264,-0.935251402752,-0.935217460644,-0.935183509939,-0.935149550638,-0.935115582742,-0.93508160625,-0.935047621163,-0.935013627482,-0.934979625206,-0.934945614336,-0.934911594872,-0.934877566814,-0.934843530163,-0.93480948492,-0.934775431084,-0.934741368655,-0.934707297635,-0.934673218023,-0.93463912982,-0.934605033025,-0.93457092764,-0.934536813665,-0.9345026911,-0.934468559945,-0.9344344202,-0.934400271866,-0.934366114944,-0.934331949433,-0.934297775334,-0.934263592646,-0.934229401372,-0.93419520151,-0.934160993061,-0.934126776026,-0.934092550404,-0.934058316197,-0.934024073403,-0.933989822025,-0.933955562061,-0.933921293513,-0.93388701638,-0.933852730663,-0.933818436362,-0.933784133478,-0.933749822011,-0.933715501961,-0.933681173328,-0.933646836113,-0.933612490317,-0.933578135938,-0.933543772979,-0.933509401438,-0.933475021317,-0.933440632616,-0.933406235335,-0.933371829474,-0.933337415033,-0.933302992014,-0.933268560416,-0.933234120239,-0.933199671485,-0.933165214152,-0.933130748242,-0.933096273755,-0.933061790692,-0.933027299051,-0.932992798835,-0.932958290042,-0.932923772674,-0.932889246731,-0.932854712213,-0.932820169121,-0.932785617454,-0.932751057213,-0.932716488398,-0.93268191101,-0.932647325049,-0.932612730516,-0.93257812741,-0.932543515732,-0.932508895482,-0.932474266661,-0.932439629268,-0.932404983305,-0.932370328772,-0.932335665668,-0.932300993995,-0.932266313752,-0.932231624939,-0.932196927558,-0.932162221609,-0.932127507091,-0.932092784005,-0.932058052351,-0.932023312131,-0.931988563343,-0.931953805989,-0.931919040068,-0.931884265582,-0.931849482529,-0.931814690912,-0.931779890729,-0.931745081982,-0.93171026467,-0.931675438794,-0.931640604354,-0.931605761351,-0.931570909785,-0.931536049656,-0.931501180965,-0.931466303711,-0.931431417895,-0.931396523518,-0.93136162058,-0.931326709081,-0.931291789022,-0.931256860402,-0.931221923222,-0.931186977483,-0.931152023184,-0.931117060326,-0.93108208891,-0.931047108936,-0.931012120403,-0.930977123313,-0.930942117665,-0.930907103461,-0.9308720807,-0.930837049382,-0.930802009508,-0.930766961079,-0.930731904094,-0.930696838554,-0.93066176446,-0.930626681811,-0.930591590607,-0.93055649085,-0.93052138254,-0.930486265676,-0.93045114026,-0.930416006291,-0.93038086377,-0.930345712696,-0.930310553072,-0.930275384896,-0.930240208169,-0.930205022892,-0.930169829065,-0.930134626687,-0.93009941576,-0.930064196284,-0.930028968259,-0.929993731685,-0.929958486563,-0.929923232893,-0.929887970675,-0.92985269991,-0.929817420598,-0.929782132739,-0.929746836334,-0.929711531382,-0.929676217885,-0.929640895843,-0.929605565256,-0.929570226124,-0.929534878447,-0.929499522227,-0.929464157462,-0.929428784155,-0.929393402304,-0.92935801191,-0.929322612974,-0.929287205496,-0.929251789475,-0.929216364914,-0.929180931811,-0.929145490168,-0.929110039984,-0.929074581259,-0.929039113995,-0.929003638192,-0.928968153849,-0.928932660967,-0.928897159547,-0.928861649588,-0.928826131092,-0.928790604058,-0.928755068487,-0.928719524379,-0.928683971734,-0.928648410553,-0.928612840836,-0.928577262584,-0.928541675796,-0.928506080473,-0.928470476616,-0.928434864224,-0.928399243299,-0.928363613839,-0.928327975847,-0.928292329321,-0.928256674263,-0.928221010672,-0.92818533855,-0.928149657895,-0.92811396871,-0.928078270993,-0.928042564746,-0.928006849968,-0.92797112666,-0.927935394823,-0.927899654456,-0.92786390556,-0.927828148135,-0.927792382182,-0.927756607701,-0.927720824692,-0.927685033156,-0.927649233093,-0.927613424502,-0.927577607386,-0.927541781743,-0.927505947575,-0.927470104881,-0.927434253662,-0.927398393919,-0.92736252565,-0.927326648858,-0.927290763542,-0.927254869703,-0.92721896734,-0.927183056455,-0.927147137047,-0.927111209117,-0.927075272665,-0.927039327691,-0.927003374197,-0.926967412182,-0.926931441646,-0.92689546259,-0.926859475014,-0.926823478919,-0.926787474305,-0.926751461171,-0.92671543952,-0.92667940935,-0.926643370662,-0.926607323457,-0.926571267734,-0.926535203495,-0.926499130739,-0.926463049467,-0.926426959679,-0.926390861376,-0.926354754558,-0.926318639224,-0.926282515376,-0.926246383014,-0.926210242138,-0.926174092749,-0.926137934846,-0.926101768431,-0.926065593503,-0.926029410062,-0.92599321811,-0.925957017647,-0.925920808672,-0.925884591186,-0.92584836519,-0.925812130683,-0.925775887667,-0.925739636141,-0.925703376106,-0.925667107562,-0.92563083051,-0.925594544949,-0.925558250881,-0.925521948305,-0.925485637221,-0.925449317631,-0.925412989535,-0.925376652932,-0.925340307823,-0.925303954209,-0.92526759209,-0.925231221465,-0.925194842336,-0.925158454703,-0.925122058567,-0.925085653926,-0.925049240783,-0.925012819136,-0.924976388987,-0.924939950336,-0.924903503183,-0.924867047529,-0.924830583373,-0.924794110717,-0.92475762956,-0.924721139902,-0.924684641745,-0.924648135089,-0.924611619933,-0.924575096279,-0.924538564125,-0.924502023474,-0.924465474325,-0.924428916679,-0.924392350535,-0.924355775895,-0.924319192758,-0.924282601125,-0.924246000996,-0.924209392371,-0.924172775252,-0.924136149637,-0.924099515529,-0.924062872926,-0.924026221829,-0.923989562239,-0.923952894156,-0.92391621758,-0.923879532511,-0.923842838951,-0.923806136898,-0.923769426355,-0.92373270732,-0.923695979794,-0.923659243778,-0.923622499272,-0.923585746276,-0.923548984791,-0.923512214817,-0.923475436354,-0.923438649402,-0.923401853963,-0.923365050036,-0.923328237621,-0.92329141672,-0.923254587331,-0.923217749457,-0.923180903096,-0.92314404825,-0.923107184918,-0.923070313101,-0.9230334328,-0.922996544014,-0.922959646745,-0.922922740991,-0.922885826755,-0.922848904035,-0.922811972833,-0.922775033148,-0.922738084982,-0.922701128334,-0.922664163205,-0.922627189594,-0.922590207503,-0.922553216932,-0.922516217881,-0.922479210351,-0.922442194341,-0.922405169852,-0.922368136885,-0.922331095439,-0.922294045516,-0.922256987115,-0.922219920237,-0.922182844882,-0.922145761051,-0.922108668743,-0.92207156796,-0.922034458701,-0.921997340967,-0.921960214758,-0.921923080075,-0.921885936918,-0.921848785286,-0.921811625182,-0.921774456604,-0.921737279554,-0.921700094031,-0.921662900036,-0.921625697569,-0.921588486631,-0.921551267222,-0.921514039342,-0.921476802992,-0.921439558172,-0.921402304882,-0.921365043123,-0.921327772894,-0.921290494198,-0.921253207033,-0.921215911399,-0.921178607299,-0.921141294731,-0.921103973696,-0.921066644194,-0.921029306227,-0.920991959793,-0.920954604894,-0.920917241529,-0.9208798697,-0.920842489406,-0.920805100648,-0.920767703426,-0.920730297741,-0.920692883592,-0.920655460981,-0.920618029907,-0.920580590371,-0.920543142373,-0.920505685914,-0.920468220994,-0.920430747613,-0.920393265772,-0.92035577547,-0.920318276709,-0.920280769489,-0.920243253809,-0.920205729671,-0.920168197074,-0.92013065602,-0.920093106508,-0.920055548538,-0.920017982112,-0.919980407229,-0.919942823889,-0.919905232094,-0.919867631843,-0.919830023137,-0.919792405976,-0.919754780361,-0.919717146291,-0.919679503768,-0.919641852791,-0.919604193361,-0.919566525478,-0.919528849142,-0.919491164355,-0.919453471116,-0.919415769425,-0.919378059283,-0.919340340691,-0.919302613648,-0.919264878155,-0.919227134212,-0.919189381821,-0.91915162098,-0.91911385169,-0.919076073952,-0.919038287766,-0.919000493133,-0.918962690052,-0.918924878525,-0.918887058551,-0.91884923013,-0.918811393264,-0.918773547952,-0.918735694196,-0.918697831994,-0.918659961348,-0.918622082257,-0.918584194723,-0.918546298746,-0.918508394325,-0.918470481462,-0.918432560156,-0.918394630408,-0.918356692219,-0.918318745588,-0.918280790517,-0.918242827004,-0.918204855051,-0.918166874659,-0.918128885827,-0.918090888555,-0.918052882845,-0.918014868696,-0.917976846109,-0.917938815084,-0.917900775621,-0.917862727722,-0.917824671385,-0.917786606613,-0.917748533404,-0.917710451759,-0.917672361679,-0.917634263164,-0.917596156214,-0.91755804083,-0.917519917012,-0.91748178476,-0.917443644075,-0.917405494957,-0.917367337406,-0.917329171423,-0.917290997008,-0.917252814162,-0.917214622885,-0.917176423176,-0.917138215037,-0.917099998468,-0.91706177347,-0.917023540041,-0.916985298184,-0.916947047898,-0.916908789184,-0.916870522041,-0.916832246471,-0.916793962474,-0.916755670049,-0.916717369198,-0.916679059921,-0.916640742218,-0.916602416089,-0.916564081535,-0.916525738556,-0.916487387153,-0.916449027325,-0.916410659074,-0.916372282399,-0.916333897301,-0.916295503781,-0.916257101838,-0.916218691473,-0.916180272686,-0.916141845478,-0.916103409849,-0.916064965799,-0.916026513329,-0.91598805244,-0.91594958313,-0.915911105402,-0.915872619254,-0.915834124688,-0.915795621704,-0.915757110302,-0.915718590483,-0.915680062246,-0.915641525593,-0.915602980523,-0.915564427038,-0.915525865136,-0.91548729482,-0.915448716088,-0.915410128942,-0.915371533382,-0.915332929407,-0.915294317019,-0.915255696218,-0.915217067005,-0.915178429378,-0.91513978334,-0.915101128889,-0.915062466028,-0.915023794755,-0.914985115072,-0.914946426978,-0.914907730474,-0.914869025561,-0.914830312238,-0.914791590506,-0.914752860366,-0.914714121818,-0.914675374862,-0.914636619498,-0.914597855727,-0.914559083549,-0.914520302965,-0.914481513975,-0.914442716579,-0.914403910778,-0.914365096571,-0.914326273961,-0.914287442945,-0.914248603526,-0.914209755704,-0.914170899478,-0.914132034849,-0.914093161817,-0.914054280384,-0.914015390549,-0.913976492312,-0.913937585674,-0.913898670636,-0.913859747197,-0.913820815358,-0.91378187512,-0.913742926482,-0.913703969445,-0.91366500401,-0.913626030177,-0.913587047945,-0.913548057316,-0.91350905829,-0.913470050868,-0.913431035049,-0.913392010833,-0.913352978222,-0.913313937216,-0.913274887815,-0.913235830019,-0.913196763829,-0.913157689245,-0.913118606267,-0.913079514896,-0.913040415133,-0.913001306977,-0.912962190428,-0.912923065488,-0.912883932157,-0.912844790435,-0.912805640322,-0.912766481818,-0.912727314925,-0.912688139642,-0.91264895597,-0.912609763909,-0.912570563459,-0.912531354622,-0.912492137396,-0.912452911783,-0.912413677783,-0.912374435396,-0.912335184623,-0.912295925464,-0.91225665792,-0.91221738199,-0.912178097675,-0.912138804975,-0.912099503892,-0.912060194424,-0.912020876574,-0.91198155034,-0.911942215723,-0.911902872724,-0.911863521343,-0.91182416158,-0.911784793436,-0.911745416911,-0.911706032005,-0.91166663872,-0.911627237054,-0.911587827009,-0.911548408585,-0.911508981782,-0.911469546601,-0.911430103041,-0.911390651104,-0.91135119079,-0.911311722098,-0.911272245031,-0.911232759586,-0.911193265767,-0.911153763571,-0.911114253001,-0.911074734055,-0.911035206735,-0.910995671042,-0.910956126974,-0.910916574533,-0.91087701372,-0.910837444533,-0.910797866975,-0.910758281044,-0.910718686743,-0.91067908407,-0.910639473026,-0.910599853612,-0.910560225827,-0.910520589673,-0.91048094515,-0.910441292258,-0.910401630997,-0.910361961368,-0.910322283372,-0.910282597007,-0.910242902276,-0.910203199178,-0.910163487713,-0.910123767883,-0.910084039686,-0.910044303125,-0.910004558198,-0.909964804907,-0.909925043252,-0.909885273233,-0.90984549485,-0.909805708105,-0.909765912996,-0.909726109525,-0.909686297693,-0.909646477498,-0.909606648943,-0.909566812026,-0.909526966749,-0.909487113112,-0.909447251114,-0.909407380758,-0.909367502042,-0.909327614968,-0.909287719535,-0.909247815744,-0.909207903596,-0.909167983091,-0.909128054228,-0.909088117009,-0.909048171434,-0.909008217503,-0.908968255217,-0.908928284576,-0.90888830558,-0.908848318229,-0.908808322525,-0.908768318467,-0.908728306056,-0.908688285293,-0.908648256176,-0.908608218708,-0.908568172888,-0.908528118716,-0.908488056194,-0.908447985321,-0.908407906097,-0.908367818524,-0.908327722601,-0.908287618329,-0.908247505709,-0.908207384739,-0.908167255422,-0.908127117757,-0.908086971745,-0.908046817386,-0.90800665468,-0.907966483629,-0.907926304231,-0.907886116488,-0.907845920399,-0.907805715966,-0.907765503189,-0.907725282068,-0.907685052603,-0.907644814795,-0.907604568643,-0.90756431415,-0.907524051314,-0.907483780137,-0.907443500618,-0.907403212758,-0.907362916557,-0.907322612016,-0.907282299136,-0.907241977915,-0.907201648356,-0.907161310458,-0.907120964221,-0.907080609646,-0.907040246734,-0.906999875484,-0.906959495897,-0.906919107974,-0.906878711714,-0.906838307119,-0.906797894188,-0.906757472922,-0.906717043321,-0.906676605386,-0.906636159117,-0.906595704515,-0.906555241579,-0.90651477031,-0.906474290709,-0.906433802776,-0.906393306511,-0.906352801915,-0.906312288987,-0.906271767729,-0.906231238141,-0.906190700223,-0.906150153975,-0.906109599398,-0.906069036493,-0.906028465259,-0.905987885697,-0.905947297807,-0.90590670159,-0.905866097047,-0.905825484176,-0.90578486298,-0.905744233458,-0.90570359561,-0.905662949437,-0.90562229494,-0.905581632118,-0.905540960973,-0.905500281504,-0.905459593711,-0.905418897596,-0.905378193159,-0.905337480399,-0.905296759318,-0.905256029916,-0.905215292192,-0.905174546148,-0.905133791784,-0.9050930291,-0.905052258097,-0.905011478775,-0.904970691134,-0.904929895174,-0.904889090897,-0.904848278302,-0.90480745739,-0.904766628162,-0.904725790616,-0.904684944755,-0.904644090578,-0.904603228086,-0.904562357279,-0.904521478157,-0.904480590721,-0.904439694972,-0.904398790909,-0.904357878533,-0.904316957844,-0.904276028843,-0.90423509153,-0.904194145906,-0.90415319197,-0.904112229724,-0.904071259167,-0.9040302803,-0.903989293123,-0.903948297638,-0.903907293843,-0.90386628174,-0.903825261328,-0.903784232609,-0.903743195583,-0.903702150249,-0.903661096609,-0.903620034663,-0.903578964411,-0.903537885853,-0.90349679899,-0.903455703822,-0.90341460035,-0.903373488574,-0.903332368495,-0.903291240112,-0.903250103426,-0.903208958438,-0.903167805147,-0.903126643555,-0.903085473662,-0.903044295468,-0.903003108973,-0.902961914177,-0.902920711082,-0.902879499688,-0.902838279995,-0.902797052002,-0.902755815712,-0.902714571123,-0.902673318237,-0.902632057054,-0.902590787574,-0.902549509798,-0.902508223725,-0.902466929357,-0.902425626694,-0.902384315735,-0.902342996482,-0.902301668935,-0.902260333095,-0.902218988961,-0.902177636533,-0.902136275814,-0.902094906802,-0.902053529498,-0.902012143902,-0.901970750016,-0.901929347839,-0.901887937371,-0.901846518614,-0.901805091567,-0.901763656231,-0.901722212606,-0.901680760692,-0.90163930049,-0.901597832001,-0.901556355225,-0.901514870161,-0.901473376811,-0.901431875175,-0.901390365253,-0.901348847046,-0.901307320554,-0.901265785777,-0.901224242716,-0.901182691371,-0.901141131742,-0.901099563831,-0.901057987636,-0.90101640316,-0.900974810401,-0.900933209361,-0.90089160004,-0.900849982438,-0.900808356555,-0.900766722392,-0.90072507995,-0.900683429229,-0.900641770228,-0.900600102949,-0.900558427392,-0.900516743558,-0.900475051445,-0.900433351056,-0.900391642391,-0.900349925449,-0.900308200231,-0.900266466738,-0.90022472497,-0.900182974927,-0.90014121661,-0.900099450019,-0.900057675154,-0.900015892016,-0.899974100606,-0.899932300923,-0.899890492968,-0.899848676742,-0.899806852244,-0.899765019475,-0.899723178436,-0.899681329127,-0.899639471549,-0.899597605701,-0.899555731584,-0.899513849198,-0.899471958545,-0.899430059624,-0.899388152435,-0.899346236979,-0.899304313257,-0.899262381269,-0.899220441014,-0.899178492495,-0.89913653571,-0.89909457066,-0.899052597347,-0.899010615769,-0.898968625928,-0.898926627824,-0.898884621457,-0.898842606827,-0.898800583936,-0.898758552783,-0.898716513369,-0.898674465694,-0.898632409759,-0.898590345563,-0.898548273108,-0.898506192394,-0.898464103421,-0.898422006189,-0.898379900699,-0.898337786952,-0.898295664947,-0.898253534685,-0.898211396167,-0.898169249393,-0.898127094362,-0.898084931077,-0.898042759536,-0.898000579741,-0.897958391691,-0.897916195388,-0.897873990831,-0.897831778021,-0.897789556959,-0.897747327644,-0.897705090077,-0.897662844259,-0.89762059019,-0.89757832787,-0.897536057299,-0.897493778479,-0.897451491409,-0.89740919609,-0.897366892522,-0.897324580705,-0.897282260641,-0.897239932329,-0.89719759577,-0.897155250964,-0.897112897911,-0.897070536613,-0.897028167068,-0.896985789279,-0.896943403244,-0.896901008965,-0.896858606442,-0.896816195676,-0.896773776665,-0.896731349412,-0.896688913917,-0.896646470179,-0.896604018199,-0.896561557978,-0.896519089516,-0.896476612813,-0.89643412787,-0.896391634688,-0.896349133266,-0.896306623604,-0.896264105705,-0.896221579567,-0.896179045191,-0.896136502577,-0.896093951727,-0.896051392639,-0.896008825316,-0.895966249756,-0.895923665961,-0.895881073931,-0.895838473666,-0.895795865167,-0.895753248434,-0.895710623467,-0.895667990267,-0.895625348834,-0.895582699169,-0.895540041272,-0.895497375143,-0.895454700783,-0.895412018192,-0.895369327371,-0.89532662832,-0.895283921039,-0.895241205528,-0.895198481789,-0.895155749822,-0.895113009626,-0.895070261203,-0.895027504552,-0.894984739675,-0.894941966571,-0.89489918524,-0.894856395685,-0.894813597903,-0.894770791897,-0.894727977667,-0.894685155212,-0.894642324533,-0.894599485631,-0.894556638506,-0.894513783159,-0.894470919589,-0.894428047798,-0.894385167785,-0.894342279551,-0.894299383097,-0.894256478422,-0.894213565528,-0.894170644414,-0.894127715081,-0.89408477753,-0.89404183176,-0.893998877772,-0.893955915567,-0.893912945145,-0.893869966506,-0.893826979651,-0.893783984581,-0.893740981294,-0.893697969793,-0.893654950077,-0.893611922146,-0.893568886002,-0.893525841644,-0.893482789074,-0.89343972829,-0.893396659294,-0.893353582086,-0.893310496667,-0.893267403037,-0.893224301196,-0.893181191144,-0.893138072883,-0.893094946412,-0.893051811732,-0.893008668843,-0.892965517746,-0.892922358441,-0.892879190928,-0.892836015208,-0.892792831282,-0.892749639149,-0.89270643881,-0.892663230265,-0.892620013516,-0.892576788562,-0.892533555403,-0.89249031404,-0.892447064474,-0.892403806704,-0.892360540732,-0.892317266557,-0.892273984181,-0.892230693602,-0.892187394823,-0.892144087843,-0.892100772662,-0.892057449282,-0.892014117701,-0.891970777922,-0.891927429944,-0.891884073767,-0.891840709392,-0.89179733682,-0.891753956051,-0.891710567084,-0.891667169922,-0.891623764563,-0.891580351009,-0.891536929259,-0.891493499315,-0.891450061176,-0.891406614843,-0.891363160317,-0.891319697597,-0.891276226685,-0.89123274758,-0.891189260283,-0.891145764795,-0.891102261115,-0.891058749244,-0.891015229183,-0.890971700932,-0.890928164492,-0.890884619862,-0.890841067043,-0.890797506036,-0.890753936841,-0.890710359459,-0.890666773889,-0.890623180132,-0.890579578189,-0.89053596806,-0.890492349745,-0.890448723245,-0.89040508856,-0.890361445691,-0.890317794637,-0.890274135401,-0.890230467981,-0.890186792378,-0.890143108592,-0.890099416625,-0.890055716476,-0.890012008146,-0.889968291635,-0.889924566944,-0.889880834073,-0.889837093022,-0.889793343792,-0.889749586383,-0.889705820796,-0.889662047031,-0.889618265088,-0.889574474968,-0.889530676671,-0.889486870198,-0.889443055549,-0.889399232724,-0.889355401724,-0.88931156255,-0.889267715201,-0.889223859678,-0.889179995981,-0.889136124112,-0.889092244069,-0.889048355855,-0.889004459468,-0.88896055491,-0.88891664218,-0.88887272128,-0.88882879221,-0.88878485497,-0.88874090956,-0.888696955981,-0.888652994233,-0.888609024317,-0.888565046233,-0.888521059982,-0.888477065564,-0.888433062978,-0.888389052227,-0.88834503331,-0.888301006227,-0.888256970979,-0.888212927566,-0.88816887599,-0.888124816249,-0.888080748345,-0.888036672278,-0.887992588048,-0.887948495656,-0.887904395102,-0.887860286387,-0.88781616951,-0.887772044473,-0.887727911276,-0.887683769919,-0.887639620403,-0.887595462728,-0.887551296894,-0.887507122901,-0.887462940752,-0.887418750444,-0.88737455198,-0.887330345359,-0.887286130582,-0.88724190765,-0.887197676562,-0.887153437319,-0.887109189921,-0.88706493437,-0.887020670664,-0.886976398806,-0.886932118794,-0.88688783063,-0.886843534314,-0.886799229847,-0.886754917228,-0.886710596458,-0.886666267537,-0.886621930467,-0.886577585247,-0.886533231878,-0.88648887036,-0.886444500693,-0.886400122879,-0.886355736917,-0.886311342807,-0.886266940551,-0.886222530149,-0.8861781116,-0.886133684907,-0.886089250067,-0.886044807084,-0.886000355955,-0.885955896683,-0.885911429268,-0.885866953709,-0.885822470007,-0.885777978164,-0.885733478178,-0.885688970051,-0.885644453783,-0.885599929374,-0.885555396825,-0.885510856136,-0.885466307308,-0.885421750341,-0.885377185235,-0.885332611991,-0.885288030609,-0.885243441089,-0.885198843433,-0.88515423764,-0.885109623711,-0.885065001647,-0.885020371447,-0.884975733112,-0.884931086642,-0.884886432039,-0.884841769301,-0.884797098431,-0.884752419428,-0.884707732292,-0.884663037024,-0.884618333624,-0.884573622094,-0.884528902432,-0.88448417464,-0.884439438718,-0.884394694667,-0.884349942486,-0.884305182177,-0.884260413739,-0.884215637173,-0.88417085248,-0.88412605966,-0.884081258713,-0.884036449639,-0.88399163244,-0.883946807116,-0.883901973666,-0.883857132091,-0.883812282393,-0.883767424571,-0.883722558625,-0.883677684556,-0.883632802365,-0.883587912051,-0.883543013616,-0.883498107059,-0.883453192382,-0.883408269584,-0.883363338666,-0.883318399628,-0.883273452471,-0.883228497195,-0.883183533801,-0.883138562288,-0.883093582658,-0.883048594911,-0.883003599047,-0.882958595066,-0.88291358297,-0.882868562758,-0.882823534431,-0.882778497989,-0.882733453433,-0.882688400763,-0.88264333998,-0.882598271083,-0.882553194074,-0.882508108952,-0.882463015719,-0.882417914374,-0.882372804919,-0.882327687352,-0.882282561676,-0.88223742789,-0.882192285994,-0.88214713599,-0.882101977877,-0.882056811656,-0.882011637327,-0.881966454891,-0.881921264348,-0.881876065699,-0.881830858944,-0.881785644083,-0.881740421117,-0.881695190046,-0.881649950871,-0.881604703592,-0.881559448209,-0.881514184723,-0.881468913135,-0.881423633444,-0.881378345652,-0.881333049758,-0.881287745763,-0.881242433667,-0.881197113471,-0.881151785176,-0.881106448781,-0.881061104287,-0.881015751694,-0.880970391004,-0.880925022216,-0.88087964533,-0.880834260348,-0.880788867269,-0.880743466094,-0.880698056824,-0.880652639458,-0.880607213998,-0.880561780443,-0.880516338794,-0.880470889052,-0.880425431217,-0.880379965289,-0.880334491269,-0.880289009157,-0.880243518953,-0.880198020659,-0.880152514274,-0.880106999798,-0.880061477233,-0.880015946579,-0.879970407836,-0.879924861004,-0.879879306084,-0.879833743076,-0.879788171982,-0.8797425928,-0.879697005532,-0.879651410178,-0.879605806739,-0.879560195214,-0.879514575604,-0.879468947911,-0.879423312133,-0.879377668272,-0.879332016328,-0.879286356301,-0.879240688192,-0.879195012001,-0.879149327729,-0.879103635376,-0.879057934942,-0.879012226429,-0.878966509835,-0.878920785162,-0.878875052411,-0.878829311581,-0.878783562673,-0.878737805687,-0.878692040625,-0.878646267485,-0.878600486269,-0.878554696977,-0.87850889961,-0.878463094168,-0.878417280651,-0.87837145906,-0.878325629395,-0.878279791657,-0.878233945845,-0.878188091961,-0.878142230005,-0.878096359978,-0.878050481879,-0.878004595709,-0.877958701469,-0.877912799159,-0.877866888779,-0.87782097033,-0.877775043812,-0.877729109226,-0.877683166572,-0.877637215851,-0.877591257062,-0.877545290207,-0.877499315286,-0.877453332299,-0.877407341246,-0.877361342129,-0.877315334947,-0.877269319701,-0.877223296392,-0.877177265019,-0.877131225583,-0.877085178085,-0.877039122525,-0.876993058903,-0.87694698722,-0.876900907477,-0.876854819673,-0.876808723809,-0.876762619886,-0.876716507904,-0.876670387863,-0.876624259764,-0.876578123608,-0.876531979394,-0.876485827123,-0.876439666796,-0.876393498412,-0.876347321973,-0.876301137479,-0.87625494493,-0.876208744327,-0.87616253567,-0.876116318959,-0.876070094195,-0.876023861379,-0.87597762051,-0.87593137159,-0.875885114618,-0.875838849595,-0.875792576522,-0.875746295399,-0.875700006226,-0.875653709003,-0.875607403732,-0.875561090413,-0.875514769045,-0.87546843963,-0.875422102168,-0.875375756659,-0.875329403104,-0.875283041503,-0.875236671857,-0.875190294165,-0.87514390843,-0.87509751465,-0.875051112826,-0.875004702959,-0.874958285049,-0.874911859097,-0.874865425102,-0.874818983066,-0.874772532989,-0.874726074872,-0.874679608713,-0.874633134516,-0.874586652278,-0.874540162002,-0.874493663687,-0.874447157334,-0.874400642943,-0.874354120515,-0.87430759005,-0.874261051548,-0.874214505011,-0.874167950438,-0.874121387829,-0.874074817186,-0.874028238509,-0.873981651798,-0.873935057053,-0.873888454276,-0.873841843465,-0.873795224623,-0.873748597749,-0.873701962843,-0.873655319907,-0.87360866894,-0.873562009943,-0.873515342917,-0.873468667861,-0.873421984777,-0.873375293664,-0.873328594524,-0.873281887356,-0.873235172161,-0.873188448939,-0.873141717692,-0.873094978418,-0.87304823112,-0.873001475796,-0.872954712448,-0.872907941076,-0.87286116168,-0.872814374261,-0.87276757882,-0.872720775356,-0.87267396387,-0.872627144363,-0.872580316835,-0.872533481286,-0.872486637717,-0.872439786129,-0.872392926521,-0.872346058894,-0.872299183249,-0.872252299586,-0.872205407906,-0.872158508208,-0.872111600493,-0.872064684763,-0.872017761016,-0.871970829254,-0.871923889477,-0.871876941686,-0.87182998588,-0.871783022061,-0.871736050229,-0.871689070383,-0.871642082526,-0.871595086656,-0.871548082775,-0.871501070883,-0.87145405098,-0.871407023067,-0.871359987144,-0.871312943212,-0.87126589127,-0.871218831321,-0.871171763363,-0.871124687398,-0.871077603425,-0.871030511446,-0.87098341146,-0.870936303469,-0.870889187472,-0.87084206347,-0.870794931464,-0.870747791453,-0.870700643438,-0.870653487421,-0.8706063234,-0.870559151377,-0.870511971352,-0.870464783325,-0.870417587298,-0.870370383269,-0.870323171241,-0.870275951212,-0.870228723184,-0.870181487157,-0.870134243132,-0.870086991109,-0.870039731088,-0.869992463069,-0.869945187054,-0.869897903043,-0.869850611035,-0.869803311033,-0.869756003035,-0.869708687042,-0.869661363056,-0.869614031075,-0.869566691101,-0.869519343135,-0.869471987176,-0.869424623225,-0.869377251282,-0.869329871349,-0.869282483424,-0.86923508751,-0.869187683605,-0.869140271711,-0.869092851828,-0.869045423957,-0.868997988098,-0.868950544251,-0.868903092416,-0.868855632595,-0.868808164788,-0.868760688995,-0.868713205216,-0.868665713452,-0.868618213704,-0.868570705971,-0.868523190255,-0.868475666556,-0.868428134873,-0.868380595209,-0.868333047562,-0.868285491934,-0.868237928324,-0.868190356734,-0.868142777164,-0.868095189614,-0.868047594085,-0.867999990577,-0.86795237909,-0.867904759625,-0.867857132183,-0.867809496763,-0.867761853367,-0.867714201995,-0.867666542646,-0.867618875323,-0.867571200024,-0.867523516751,-0.867475825503,-0.867428126282,-0.867380419088,-0.867332703921,-0.867284980782,-0.867237249671,-0.867189510588,-0.867141763534,-0.86709400851,-0.867046245516,-0.866998474552,-0.866950695618,-0.866902908716,-0.866855113845,-0.866807311007,-0.866759500201,-0.866711681428,-0.866663854688,-0.866616019982,-0.866568177311,-0.866520326674,-0.866472468072,-0.866424601505,-0.866376726975,-0.866328844481,-0.866280954025,-0.866233055605,-0.866185149223,-0.86613723488,-0.866089312575,-0.866041382309,-0.865993444082,-0.865945497896,-0.86589754375,-0.865849581645,-0.865801611581,-0.865753633559,-0.865705647579,-0.865657653642,-0.865609651748,-0.865561641897,-0.865513624091,-0.865465598328,-0.865417564611,-0.865369522938,-0.865321473312,-0.865273415731,-0.865225350198,-0.865177276711,-0.865129195272,-0.86508110588,-0.865033008537,-0.864984903243,-0.864936789998,-0.864888668803,-0.864840539658,-0.864792402563,-0.864744257519,-0.864696104527,-0.864647943587,-0.864599774699,-0.864551597864,-0.864503413082,-0.864455220354,-0.86440701968,-0.864358811061,-0.864310594496,-0.864262369987,-0.864214137534,-0.864165897137,-0.864117648797,-0.864069392514,-0.864021128289,-0.863972856122,-0.863924576013,-0.863876287963,-0.863827991973,-0.863779688043,-0.863731376173,-0.863683056364,-0.863634728616,-0.86358639293,-0.863538049305,-0.863489697744,-0.863441338245,-0.86339297081,-0.863344595439,-0.863296212131,-0.863247820889,-0.863199421712,-0.863151014601,-0.863102599555,-0.863054176577,-0.863005745665,-0.862957306821,-0.862908860044,-0.862860405336,-0.862811942697,-0.862763472126,-0.862714993626,-0.862666507196,-0.862618012836,-0.862569510547,-0.86252100033,-0.862472482184,-0.862423956111,-0.862375422111,-0.862326880184,-0.86227833033,-0.862229772551,-0.862181206846,-0.862132633216,-0.862084051662,-0.862035462184,-0.861986864782,-0.861938259456,-0.861889646209,-0.861841025038,-0.861792395946,-0.861743758933,-0.861695113998,-0.861646461143,-0.861597800368,-0.861549131673,-0.861500455059,-0.861451770527,-0.861403078076,-0.861354377707,-0.861305669421,-0.861256953218,-0.861208229099,-0.861159497063,-0.861110757112,-0.861062009245,-0.861013253464,-0.860964489769,-0.86091571816,-0.860866938638,-0.860818151202,-0.860769355855,-0.860720552595,-0.860671741424,-0.860622922341,-0.860574095348,-0.860525260445,-0.860476417632,-0.860427566909,-0.860378708278,-0.860329841738,-0.860280967291,-0.860232084935,-0.860183194673,-0.860134296504,-0.860085390429,-0.860036476449,-0.859987554563,-0.859938624772,-0.859889687077,-0.859840741477,-0.859791787975,-0.859742826569,-0.859693857261,-0.859644880051,-0.859595894939,-0.859546901926,-0.859497901012,-0.859448892197,-0.859399875483,-0.85935085087,-0.859301818357,-0.859252777946,-0.859203729637,-0.85915467343,-0.859105609326,-0.859056537325,-0.859007457429,-0.858958369636,-0.858909273948,-0.858860170365,-0.858811058887,-0.858761939516,-0.858712812251,-0.858663677093,-0.858614534042,-0.858565383099,-0.858516224264,-0.858467057538,-0.858417882922,-0.858368700414,-0.858319510017,-0.858270311731,-0.858221105555,-0.858171891491,-0.858122669538,-0.858073439698,-0.858024201971,-0.857974956357,-0.857925702856,-0.85787644147,-0.857827172198,-0.857777895041,-0.85772861,-0.857679317075,-0.857630016266,-0.857580707574,-0.857531390999,-0.857482066543,-0.857432734204,-0.857383393984,-0.857334045883,-0.857284689901,-0.85723532604,-0.857185954299,-0.857136574679,-0.857087187181,-0.857037791804,-0.85698838855,-0.856938977418,-0.856889558409,-0.856840131525,-0.856790696764,-0.856741254128,-0.856691803616,-0.856642345231,-0.856592878971,-0.856543404838,-0.856493922831,-0.856444432952,-0.8563949352,-0.856345429577,-0.856295916083,-0.856246394717,-0.856196865481,-0.856147328375,-0.8560977834,-0.856048230555,-0.855998669842,-0.855949101261,-0.855899524812,-0.855849940496,-0.855800348313,-0.855750748263,-0.855701140348,-0.855651524567,-0.855601900922,-0.855552269412,-0.855502630037,-0.8554529828,-0.855403327699,-0.855353664735,-0.855303993909,-0.855254315222,-0.855204628673,-0.855154934263,-0.855105231993,-0.855055521863,-0.855005803873,-0.854956078025,-0.854906344317,-0.854856602752,-0.854806853329,-0.854757096049,-0.854707330912,-0.854657557919,-0.85460777707,-0.854557988365,-0.854508191806,-0.854458387392,-0.854408575125,-0.854358755003,-0.854308927029,-0.854259091202,-0.854209247523,-0.854159395992,-0.85410953661,-0.854059669377,-0.854009794293,-0.85395991136,-0.853910020578,-0.853860121946,-0.853810215466,-0.853760301138,-0.853710378962,-0.85366044894,-0.85361051107,-0.853560565355,-0.853510611793,-0.853460650387,-0.853410681135,-0.853360704039,-0.8533107191,-0.853260726316,-0.85321072569,-0.853160717221,-0.853110700911,-0.853060676758,-0.853010644765,-0.85296060493,-0.852910557256,-0.852860501742,-0.852810438388,-0.852760367196,-0.852710288165,-0.852660201296,-0.85261010659,-0.852560004047,-0.852509893667,-0.852459775451,-0.8524096494,-0.852359515513,-0.852309373792,-0.852259224236,-0.852209066847,-0.852158901624,-0.852108728568,-0.85205854768,-0.85200835896,-0.851958162409,-0.851907958027,-0.851857745814,-0.851807525771,-0.851757297898,-0.851707062196,-0.851656818666,-0.851606567307,-0.85155630812,-0.851506041106,-0.851455766266,-0.851405483598,-0.851355193105,-0.851304894787,-0.851254588643,-0.851204274675,-0.851153952883,-0.851103623267,-0.851053285828,-0.851002940566,-0.850952587482,-0.850902226576,-0.850851857849,-0.850801481302,-0.850751096933,-0.850700704745,-0.850650304737,-0.850599896911,-0.850549481266,-0.850499057802,-0.850448626522,-0.850398187424,-0.850347740509,-0.850297285778,-0.850246823231,-0.850196352869,-0.850145874693,-0.850095388702,-0.850044894897,-0.849994393278,-0.849943883847,-0.849893366603,-0.849842841547,-0.849792308679,-0.849741768001,-0.849691219512,-0.849640663212,-0.849590099103,-0.849539527185,-0.849488947457,-0.849438359922,-0.849387764579,-0.849337161428,-0.84928655047,-0.849235931706,-0.849185305136,-0.84913467076,-0.84908402858,-0.849033378594,-0.848982720805,-0.848932055212,-0.848881381815,-0.848830700616,-0.848780011615,-0.848729314812,-0.848678610207,-0.848627897802,-0.848577177596,-0.848526449591,-0.848475713785,-0.848424970181,-0.848374218779,-0.848323459578,-0.848272692579,-0.848221917784,-0.848171135192,-0.848120344803,-0.848069546619,-0.84801874064,-0.847967926866,-0.847917105297,-0.847866275935,-0.847815438779,-0.84776459383,-0.847713741089,-0.847662880555,-0.847612012231,-0.847561136115,-0.847510252208,-0.847459360512,-0.847408461025,-0.84735755375,-0.847306638686,-0.847255715833,-0.847204785193,-0.847153846766,-0.847102900551,-0.84705194655,-0.847000984764,-0.846950015192,-0.846899037834,-0.846848052693,-0.846797059767,-0.846746059058,-0.846695050565,-0.84664403429,-0.846593010233,-0.846541978394,-0.846490938774,-0.846439891373,-0.846388836192,-0.846337773231,-0.846286702491,-0.846235623971,-0.846184537674,-0.846133443598,-0.846082341745,-0.846031232115,-0.845980114708,-0.845928989525,-0.845877856567,-0.845826715834,-0.845775567326,-0.845724411043,-0.845673246987,-0.845622075158,-0.845570895556,-0.845519708182,-0.845468513036,-0.845417310118,-0.84536609943,-0.845314880971,-0.845263654742,-0.845212420744,-0.845161178976,-0.845109929441,-0.845058672137,-0.845007407065,-0.844956134226,-0.844904853621,-0.84485356525,-0.844802269113,-0.84475096521,-0.844699653543,-0.844648334111,-0.844597006916,-0.844545671957,-0.844494329236,-0.844442978752,-0.844391620506,-0.844340254499,-0.84428888073,-0.844237499201,-0.844186109912,-0.844134712864,-0.844083308056,-0.84403189549,-0.843980475166,-0.843929047084,-0.843877611244,-0.843826167648,-0.843774716296,-0.843723257188,-0.843671790324,-0.843620315706,-0.843568833333,-0.843517343207,-0.843465845327,-0.843414339694,-0.843362826308,-0.843311305171,-0.843259776282,-0.843208239642,-0.843156695251,-0.84310514311,-0.84305358322,-0.84300201558,-0.842950440192,-0.842898857056,-0.842847266172,-0.84279566754,-0.842744061162,-0.842692447037,-0.842640825167,-0.842589195551,-0.84253755819,-0.842485913085,-0.842434260236,-0.842382599643,-0.842330931308,-0.842279255229,-0.842227571409,-0.842175879848,-0.842124180545,-0.842072473501,-0.842020758718,-0.841969036194,-0.841917305932,-0.841865567931,-0.841813822191,-0.841762068714,-0.841710307499,-0.841658538548,-0.84160676186,-0.841554977437,-0.841503185278,-0.841451385384,-0.841399577756,-0.841347762394,-0.841295939298,-0.841244108469,-0.841192269908,-0.841140423614,-0.841088569589,-0.841036707833,-0.840984838347,-0.84093296113,-0.840881076183,-0.840829183508,-0.840777283103,-0.84072537497,-0.84067345911,-0.840621535522,-0.840569604208,-0.840517665167,-0.8404657184,-0.840413763908,-0.840361801691,-0.84030983175,-0.840257854084,-0.840205868695,-0.840153875583,-0.840101874749,-0.840049866193,-0.839997849915,-0.839945825916,-0.839893794196,-0.839841754756,-0.839789707597,-0.839737652718,-0.839685590121,-0.839633519805,-0.839581441772,-0.839529356022,-0.839477262555,-0.839425161371,-0.839373052472,-0.839320935857,-0.839268811527,-0.839216679484,-0.839164539726,-0.839112392254,-0.83906023707,-0.839008074174,-0.838955903565,-0.838903725245,-0.838851539214,-0.838799345472,-0.83874714402,-0.838694934859,-0.838642717989,-0.838590493409,-0.838538261122,-0.838486021127,-0.838433773425,-0.838381518017,-0.838329254902,-0.838276984081,-0.838224705555,-0.838172419324,-0.838120125389,-0.83806782375,-0.838015514408,-0.837963197363,-0.837910872615,-0.837858540166,-0.837806200015,-0.837753852163,-0.837701496611,-0.837649133359,-0.837596762407,-0.837544383757,-0.837491997408,-0.83743960336,-0.837387201616,-0.837334792174,-0.837282375035,-0.837229950201,-0.837177517671,-0.837125077445,-0.837072629525,-0.837020173911,-0.836967710603,-0.836915239602,-0.836862760908,-0.836810274522,-0.836757780444,-0.836705278674,-0.836652769214,-0.836600252064,-0.836547727224,-0.836495194694,-0.836442654475,-0.836390106568,-0.836337550974,-0.836284987691,-0.836232416722,-0.836179838066,-0.836127251725,-0.836074657698,-0.836022055985,-0.835969446589,-0.835916829508,-0.835864204743,-0.835811572296,-0.835758932166,-0.835706284354,-0.83565362886,-0.835600965685,-0.835548294829,-0.835495616294,-0.835442930078,-0.835390236183,-0.83533753461,-0.835284825358,-0.835232108429,-0.835179383822,-0.835126651539,-0.835073911579,-0.835021163943,-0.834968408632,-0.834915645647,-0.834862874986,-0.834810096652,-0.834757310645,-0.834704516965,-0.834651715612,-0.834598906587,-0.834546089891,-0.834493265524,-0.834440433486,-0.834387593778,-0.834334746401,-0.834281891355,-0.83422902864,-0.834176158258,-0.834123280207,-0.83407039449,-0.834017501106,-0.833964600056,-0.83391169134,-0.833858774959,-0.833805850914,-0.833752919204,-0.833699979831,-0.833647032794,-0.833594078095,-0.833541115733,-0.83348814571,-0.833435168026,-0.833382182681,-0.833329189675,-0.83327618901,-0.833223180685,-0.833170164702,-0.83311714106,-0.833064109761,-0.833011070804,-0.83295802419,-0.83290496992,-0.832851907994,-0.832798838413,-0.832745761176,-0.832692676286,-0.832639583741,-0.832586483543,-0.832533375692,-0.832480260188,-0.832427137033,-0.832374006226,-0.832320867768,-0.832267721659,-0.832214567901,-0.832161406493,-0.832108237436,-0.83205506073,-0.832001876376,-0.831948684375,-0.831895484727,-0.831842277432,-0.83178906249,-0.831735839904,-0.831682609672,-0.831629371795,-0.831576126274,-0.83152287311,-0.831469612303,-0.831416343852,-0.83136306776,-0.831309784026,-0.83125649265,-0.831203193634,-0.831149886978,-0.831096572682,-0.831043250746,-0.830989921172,-0.83093658396,-0.83088323911,-0.830829886622,-0.830776526498,-0.830723158737,-0.830669783341,-0.830616400309,-0.830563009642,-0.830509611341,-0.830456205406,-0.830402791838,-0.830349370637,-0.830295941803,-0.830242505338,-0.830189061241,-0.830135609513,-0.830082150155,-0.830028683167,-0.829975208549,-0.829921726303,-0.829868236428,-0.829814738925,-0.829761233795,-0.829707721037,-0.829654200653,-0.829600672643,-0.829547137008,-0.829493593747,-0.829440042862,-0.829386484353,-0.829332918221,-0.829279344465,-0.829225763087,-0.829172174087,-0.829118577465,-0.829064973222,-0.829011361359,-0.828957741875,-0.828904114772,-0.82885048005,-0.828796837709,-0.82874318775,-0.828689530173,-0.828635864979,-0.828582192169,-0.828528511742,-0.8284748237,-0.828421128043,-0.828367424771,-0.828313713884,-0.828259995384,-0.828206269271,-0.828152535545,-0.828098794207,-0.828045045258,-0.827991288697,-0.827937524525,-0.827883752743,-0.827829973352,-0.827776186351,-0.827722391741,-0.827668589524,-0.827614779698,-0.827560962265,-0.827507137226,-0.82745330458,-0.827399464328,-0.827345616471,-0.827291761009,-0.827237897943,-0.827184027274,-0.827130149001,-0.827076263125,-0.827022369647,-0.826968468567,-0.826914559885,-0.826860643603,-0.826806719721,-0.826752788238,-0.826698849157,-0.826644902476,-0.826590948197,-0.826536986321,-0.826483016847,-0.826429039776,-0.826375055109,-0.826321062846,-0.826267062987,-0.826213055534,-0.826159040486,-0.826105017845,-0.82605098761,-0.825996949782,-0.825942904362,-0.82588885135,-0.825834790746,-0.825780722552,-0.825726646767,-0.825672563392,-0.825618472428,-0.825564373875,-0.825510267734,-0.825456154004,-0.825402032688,-0.825347903784,-0.825293767294,-0.825239623218,-0.825185471556,-0.82513131231,-0.825077145479,-0.825022971065,-0.824968789066,-0.824914599485,-0.824860402322,-0.824806197576,-0.824751985249,-0.824697765342,-0.824643537853,-0.824589302785,-0.824535060137,-0.824480809911,-0.824426552106,-0.824372286723,-0.824318013762,-0.824263733225,-0.824209445111,-0.824155149421,-0.824100846156,-0.824046535315,-0.8239922169,-0.823937890912,-0.82388355735,-0.823829216215,-0.823774867507,-0.823720511227,-0.823666147376,-0.823611775954,-0.823557396962,-0.8235030104,-0.823448616268,-0.823394214567,-0.823339805298,-0.82328538846,-0.823230964056,-0.823176532084,-0.823122092546,-0.823067645442,-0.823013190772,-0.822958728538,-0.822904258739,-0.822849781376,-0.822795296449,-0.82274080396,-0.822686303908,-0.822631796295,-0.822577281119,-0.822522758383,-0.822468228087,-0.82241369023,-0.822359144814,-0.822304591839,-0.822250031306,-0.822195463214,-0.822140887565,-0.82208630436,-0.822031713597,-0.821977115279,-0.821922509406,-0.821867895977,-0.821813274994,-0.821758646457,-0.821704010367,-0.821649366724,-0.821594715528,-0.821540056781,-0.821485390482,-0.821430716632,-0.821376035231,-0.821321346281,-0.821266649781,-0.821211945733,-0.821157234136,-0.821102514991,-0.821047788299,-0.82099305406,-0.820938312274,-0.820883562943,-0.820828806066,-0.820774041644,-0.820719269678,-0.820664490168,-0.820609703115,-0.820554908519,-0.82050010638,-0.8204452967,-0.820390479478,-0.820335654715,-0.820280822412,-0.820225982569,-0.820171135187,-0.820116280266,-0.820061417807,-0.82000654781,-0.819951670275,-0.819896785204,-0.819841892596,-0.819786992453,-0.819732084774,-0.819677169561,-0.819622246813,-0.819567316531,-0.819512378716,-0.819457433369,-0.819402480489,-0.819347520077,-0.819292552134,-0.81923757666,-0.819182593656,-0.819127603122,-0.819072605059,-0.819017599467,-0.818962586347,-0.8189075657,-0.818852537525,-0.818797501823,-0.818742458595,-0.818687407842,-0.818632349563,-0.818577283759,-0.818522210432,-0.81846712958,-0.818412041206,-0.818356945309,-0.818301841889,-0.818246730948,-0.818191612486,-0.818136486503,-0.818081353,-0.818026211978,-0.817971063436,-0.817915907376,-0.817860743797,-0.817805572701,-0.817750394088,-0.817695207959,-0.817640014313,-0.817584813152,-0.817529604475,-0.817474388284,-0.817419164579,-0.817363933361,-0.817308694629,-0.817253448385,-0.817198194629,-0.817142933361,-0.817087664583,-0.817032388294,-0.816977104494,-0.816921813186,-0.816866514368,-0.816811208042,-0.816755894208,-0.816700572867,-0.816645244018,-0.816589907664,-0.816534563803,-0.816479212437,-0.816423853566,-0.81636848719,-0.816313113311,-0.816257731928,-0.816202343043,-0.816146946655,-0.816091542765,-0.816036131374,-0.815980712482,-0.81592528609,-0.815869852198,-0.815814410807,-0.815758961917,-0.815703505528,-0.815648041642,-0.815592570259,-0.815537091378,-0.815481605002,-0.81542611113,-0.815370609762,-0.8153151009,-0.815259584544,-0.815204060694,-0.815148529351,-0.815092990515,-0.815037444187,-0.814981890367,-0.814926329057,-0.814870760255,-0.814815183964,-0.814759600182,-0.814704008912,-0.814648410153,-0.814592803906,-0.814537190172,-0.81448156895,-0.814425940242,-0.814370304048,-0.814314660369,-0.814259009204,-0.814203350555,-0.814147684422,-0.814092010805,-0.814036329706,-0.813980641124,-0.81392494506,-0.813869241515,-0.813813530489,-0.813757811982,-0.813702085995,-0.81364635253,-0.813590611585,-0.813534863162,-0.813479107261,-0.813423343883,-0.813367573027,-0.813311794696,-0.813256008889,-0.813200215606,-0.813144414849,-0.813088606618,-0.813032790913,-0.812976967734,-0.812921137083,-0.81286529896,-0.812809453365,-0.812753600299,-0.812697739762,-0.812641871755,-0.812585996278,-0.812530113333,-0.812474222918,-0.812418325036,-0.812362419686,-0.812306506869,-0.812250586585,-0.812194658836,-0.81213872362,-0.81208278094,-0.812026830796,-0.811970873187,-0.811914908115,-0.81185893558,-0.811802955583,-0.811746968123,-0.811690973202,-0.811634970821,-0.811578960979,-0.811522943677,-0.811466918916,-0.811410886695,-0.811354847017,-0.811298799881,-0.811242745287,-0.811186683237,-0.811130613731,-0.811074536768,-0.811018452351,-0.810962360479,-0.810906261152,-0.810850154372,-0.810794040139,-0.810737918453,-0.810681789315,-0.810625652726,-0.810569508685,-0.810513357194,-0.810457198253,-0.810401031862,-0.810344858022,-0.810288676733,-0.810232487997,-0.810176291813,-0.810120088182,-0.810063877105,-0.810007658582,-0.809951432613,-0.809895199199,-0.809838958341,-0.80978271004,-0.809726454294,-0.809670191106,-0.809613920476,-0.809557642404,-0.809501356891,-0.809445063937,-0.809388763542,-0.809332455708,-0.809276140435,-0.809219817723,-0.809163487572,-0.809107149985,-0.80905080496,-0.808994452498,-0.8089380926,-0.808881725267,-0.808825350499,-0.808768968296,-0.808712578659,-0.808656181588,-0.808599777085,-0.808543365149,-0.808486945781,-0.808430518982,-0.808374084751,-0.808317643091,-0.808261194,-0.80820473748,-0.808148273531,-0.808091802154,-0.80803532335,-0.807978837117,-0.807922343458,-0.807865842373,-0.807809333862,-0.807752817926,-0.807696294565,-0.80763976378,-0.807583225572,-0.80752667994,-0.807470126886,-0.807413566409,-0.807356998511,-0.807300423192,-0.807243840452,-0.807187250293,-0.807130652714,-0.807074047716,-0.807017435299,-0.806960815464,-0.806904188213,-0.806847553544,-0.806790911459,-0.806734261958,-0.806677605041,-0.80662094071,-0.806564268965,-0.806507589806,-0.806450903233,-0.806394209248,-0.806337507851,-0.806280799042,-0.806224082821,-0.806167359191,-0.80611062815,-0.806053889699,-0.805997143839,-0.805940390571,-0.805883629895,-0.805826861811,-0.805770086321,-0.805713303423,-0.80565651312,-0.805599715412,-0.805542910298,-0.80548609778,-0.805429277859,-0.805372450534,-0.805315615806,-0.805258773676,-0.805201924144,-0.805145067211,-0.805088202877,-0.805031331143,-0.804974452009,-0.804917565476,-0.804860671545,-0.804803770215,-0.804746861488,-0.804689945364,-0.804633021843,-0.804576090926,-0.804519152614,-0.804462206907,-0.804405253805,-0.804348293309,-0.80429132542,-0.804234350139,-0.804177367464,-0.804120377398,-0.804063379941,-0.804006375093,-0.803949362854,-0.803892343226,-0.803835316209,-0.803778281803,-0.803721240009,-0.803664190827,-0.803607134258,-0.803550070303,-0.803492998961,-0.803435920234,-0.803378834122,-0.803321740625,-0.803264639745,-0.803207531481,-0.803150415834,-0.803093292804,-0.803036162393,-0.802979024601,-0.802921879428,-0.802864726874,-0.802807566941,-0.802750399628,-0.802693224937,-0.802636042867,-0.80257885342,-0.802521656596,-0.802464452395,-0.802407240818,-0.802350021866,-0.802292795538,-0.802235561836,-0.80217832076,-0.802121072311,-0.802063816488,-0.802006553293,-0.801949282727,-0.801892004789,-0.80183471948,-0.801777426801,-0.801720126752,-0.801662819334,-0.801605504547,-0.801548182392,-0.801490852869,-0.80143351598,-0.801376171723,-0.801318820101,-0.801261461113,-0.80120409476,-0.801146721042,-0.80108933996,-0.801031951515,-0.800974555708,-0.800917152537,-0.800859742005,-0.800802324112,-0.800744898857,-0.800687466243,-0.800630026269,-0.800572578935,-0.800515124243,-0.800457662193,-0.800400192785,-0.80034271602,-0.800285231898,-0.80022774042,-0.800170241587,-0.800112735399,-0.800055221856,-0.799997700959,-0.799940172709,-0.799882637106,-0.799825094151,-0.799767543844,-0.799709986186,-0.799652421176,-0.799594848817,-0.799537269108,-0.79947968205,-0.799422087643,-0.799364485888,-0.799306876785,-0.799249260335,-0.799191636539,-0.799134005397,-0.799076366909,-0.799018721077,-0.7989610679,-0.798903407379,-0.798845739515,-0.798788064308,-0.798730381758,-0.798672691867,-0.798614994635,-0.798557290062,-0.798499578149,-0.798441858896,-0.798384132304,-0.798326398373,-0.798268657105,-0.798210908499,-0.798153152556,-0.798095389276,-0.798037618661,-0.79797984071,-0.797922055424,-0.797864262804,-0.79780646285,-0.797748655563,-0.797690840943,-0.797633018991,-0.797575189708,-0.797517353093,-0.797459509147,-0.797401657872,-0.797343799267,-0.797285933333,-0.79722806007,-0.79717017948,-0.797112291562,-0.797054396317,-0.796996493746,-0.796938583849,-0.796880666627,-0.79682274208,-0.796764810208,-0.796706871013,-0.796648924495,-0.796590970655,-0.796533009492,-0.796475041008,-0.796417065202,-0.796359082076,-0.79630109163,-0.796243093865,-0.796185088781,-0.796127076378,-0.796069056658,-0.79601102962,-0.795952995266,-0.795894953595,-0.795836904609,-0.795778848307,-0.795720784691,-0.795662713761,-0.795604635517,-0.79554654996,-0.795488457091,-0.79543035691,-0.795372249417,-0.795314134613,-0.7952560125,-0.795197883076,-0.795139746343,-0.795081602301,-0.795023450951,-0.794965292293,-0.794907126328,-0.794848953057,-0.794790772479,-0.794732584596,-0.794674389408,-0.794616186915,-0.794557977119,-0.794499760019,-0.794441535616,-0.794383303911,-0.794325064904,-0.794266818596,-0.794208564987,-0.794150304078,-0.794092035869,-0.794033760361,-0.793975477554,-0.79391718745,-0.793858890048,-0.793800585349,-0.793742273353,-0.793683954062,-0.793625627475,-0.793567293593,-0.793508952417,-0.793450603948,-0.793392248185,-0.793333885129,-0.793275514781,-0.793217137142,-0.793158752211,-0.79310035999,-0.793041960479,-0.792983553679,-0.79292513959,-0.792866718212,-0.792808289546,-0.792749853593,-0.792691410353,-0.792632959827,-0.792574502015,-0.792516036918,-0.792457564537,-0.792399084871,-0.792340597922,-0.79228210369,-0.792223602175,-0.792165093378,-0.7921065773,-0.792048053941,-0.791989523302,-0.791930985383,-0.791872440184,-0.791813887707,-0.791755327952,-0.791696760919,-0.791638186609,-0.791579605023,-0.79152101616,-0.791462420022,-0.791403816609,-0.791345205921,-0.79128658796,-0.791227962725,-0.791169330218,-0.791110690438,-0.791052043386,-0.790993389064,-0.790934727471,-0.790876058607,-0.790817382474,-0.790758699072,-0.790700008402,-0.790641310463,-0.790582605257,-0.790523892785,-0.790465173046,-0.790406446041,-0.790347711771,-0.790288970236,-0.790230221437,-0.790171465375,-0.790112702049,-0.790053931461,-0.789995153611,-0.789936368499,-0.789877576127,-0.789818776494,-0.789759969601,-0.789701155449,-0.789642334038,-0.789583505369,-0.789524669442,-0.789465826258,-0.789406975818,-0.789348118121,-0.789289253169,-0.789230380962,-0.7891715015,-0.789112614785,-0.789053720816,-0.788994819595,-0.788935911121,-0.788876995395,-0.788818072418,-0.788759142191,-0.788700204714,-0.788641259986,-0.78858230801,-0.788523348786,-0.788464382313,-0.788405408593,-0.788346427627,-0.788287439414,-0.788228443955,-0.788169441251,-0.788110431302,-0.788051414109,-0.787992389673,-0.787933357993,-0.787874319071,-0.787815272907,-0.787756219501,-0.787697158855,-0.787638090968,-0.787579015842,-0.787519933476,-0.787460843872,-0.787401747029,-0.787342642949,-0.787283531631,-0.787224413078,-0.787165287288,-0.787106154262,-0.787047014002,-0.786987866507,-0.786928711779,-0.786869549817,-0.786810380623,-0.786751204196,-0.786692020538,-0.786632829648,-0.786573631529,-0.786514426179,-0.786455213599,-0.786395993791,-0.786336766754,-0.786277532489,-0.786218290997,-0.786159042279,-0.786099786334,-0.786040523163,-0.785981252768,-0.785921975148,-0.785862690303,-0.785803398236,-0.785744098945,-0.785684792432,-0.785625478697,-0.785566157741,-0.785506829564,-0.785447494167,-0.78538815155,-0.785328801714,-0.78526944466,-0.785210080387,-0.785150708897,-0.78509133019,-0.785031944267,-0.784972551128,-0.784913150773,-0.784853743204,-0.78479432842,-0.784734906423,-0.784675477213,-0.78461604079,-0.784556597156,-0.784497146309,-0.784437688252,-0.784378222984,-0.784318750507,-0.78425927082,-0.784199783925,-0.784140289821,-0.78408078851,-0.784021279991,-0.783961764266,-0.783902241336,-0.783842711199,-0.783783173858,-0.783723629312,-0.783664077562,-0.78360451861,-0.783544952454,-0.783485379096,-0.783425798537,-0.783366210777,-0.783306615816,-0.783247013655,-0.783187404294,-0.783127787735,-0.783068163977,-0.783008533022,-0.782948894869,-0.78288924952,-0.782829596975,-0.782769937233,-0.782710270297,-0.782650596167,-0.782590914842,-0.782531226324,-0.782471530613,-0.78241182771,-0.782352117615,-0.782292400329,-0.782232675852,-0.782172944185,-0.782113205328,-0.782053459283,-0.781993706049,-0.781933945627,-0.781874178018,-0.781814403222,-0.781754621239,-0.781694832071,-0.781635035718,-0.78157523218,-0.781515421458,-0.781455603552,-0.781395778464,-0.781335946193,-0.78127610674,-0.781216260106,-0.781156406291,-0.781096545296,-0.781036677122,-0.780976801768,-0.780916919235,-0.780857029525,-0.780797132637,-0.780737228572,-0.780677317331,-0.780617398914,-0.780557473322,-0.780497540555,-0.780437600613,-0.780377653499,-0.780317699211,-0.78025773775,-0.780197769118,-0.780137793314,-0.78007781034,-0.780017820195,-0.77995782288,-0.779897818396,-0.779837806744,-0.779777787923,-0.779717761935,-0.77965772878,-0.779597688458,-0.779537640971,-0.779477586318,-0.7794175245,-0.779357455518,-0.779297379373,-0.779237296064,-0.779177205593,-0.779117107959,-0.779057003164,-0.778996891209,-0.778936772093,-0.778876645817,-0.778816512381,-0.778756371788,-0.778696224036,-0.778636069126,-0.778575907059,-0.778515737836,-0.778455561457,-0.778395377922,-0.778335187233,-0.778274989389,-0.778214784392,-0.778154572241,-0.778094352938,-0.778034126482,-0.777973892876,-0.777913652118,-0.777853404209,-0.777793149151,-0.777732886944,-0.777672617588,-0.777612341083,-0.777552057431,-0.777491766632,-0.777431468687,-0.777371163595,-0.777310851358,-0.777250531976,-0.77719020545,-0.77712987178,-0.777069530967,-0.777009183011,-0.776948827913,-0.776888465673,-0.776828096293,-0.776767719772,-0.776707336111,-0.776646945311,-0.776586547372,-0.776526142295,-0.77646573008,-0.776405310728,-0.776344884239,-0.776284450615,-0.776224009855,-0.77616356196,-0.776103106931,-0.776042644768,-0.775982175472,-0.775921699043,-0.775861215483,-0.77580072479,-0.775740226967,-0.775679722013,-0.775619209929,-0.775558690716,-0.775498164374,-0.775437630904,-0.775377090306,-0.775316542582,-0.77525598773,-0.775195425753,-0.77513485665,-0.775074280423,-0.775013697071,-0.774953106595,-0.774892508996,-0.774831904274,-0.774771292431,-0.774710673466,-0.774650047379,-0.774589414173,-0.774528773846,-0.774468126401,-0.774407471836,-0.774346810154,-0.774286141353,-0.774225465436,-0.774164782402,-0.774104092252,-0.774043394987,-0.773982690607,-0.773921979112,-0.773861260504,-0.773800534783,-0.773739801949,-0.773679062003,-0.773618314946,-0.773557560778,-0.773496799499,-0.77343603111,-0.773375255613,-0.773314473006,-0.773253683291,-0.773192886469,-0.77313208254,-0.773071271504,-0.773010453363,-0.772949628116,-0.772888795764,-0.772827956308,-0.772767109748,-0.772706256086,-0.77264539532,-0.772584527453,-0.772523652484,-0.772462770415,-0.772401881245,-0.772340984975,-0.772280081606,-0.772219171139,-0.772158253573,-0.77209732891,-0.77203639715,-0.771975458294,-0.771914512342,-0.771853559294,-0.771792599152,-0.771731631916,-0.771670657586,-0.771609676163,-0.771548687647,-0.77148769204,-0.771426689341,-0.771365679552,-0.771304662672,-0.771243638702,-0.771182607644,-0.771121569497,-0.771060524262,-0.770999471939,-0.77093841253,-0.770877346034,-0.770816272453,-0.770755191786,-0.770694104035,-0.7706330092,-0.770571907281,-0.77051079828,-0.770449682196,-0.77038855903,-0.770327428783,-0.770266291455,-0.770205147047,-0.77014399556,-0.770082836993,-0.770021671348,-0.769960498626,-0.769899318826,-0.769838131949,-0.769776937996,-0.769715736967,-0.769654528864,-0.769593313685,-0.769532091433,-0.769470862108,-0.76940962571,-0.769348382239,-0.769287131697,-0.769225874083,-0.769164609399,-0.769103337646,-0.769042058822,-0.76898077293,-0.76891947997,-0.768858179941,-0.768796872846,-0.768735558684,-0.768674237456,-0.768612909162,-0.768551573804,-0.768490231381,-0.768428881894,-0.768367525344,-0.768306161731,-0.768244791057,-0.768183413321,-0.768122028523,-0.768060636666,-0.767999237748,-0.767937831772,-0.767876418736,-0.767814998642,-0.767753571491,-0.767692137283,-0.767630696018,-0.767569247698,-0.767507792322,-0.767446329891,-0.767384860406,-0.767323383868,-0.767261900276,-0.767200409632,-0.767138911936,-0.767077407188,-0.76701589539,-0.766954376542,-0.766892850643,-0.766831317696,-0.7667697777,-0.766708230657,-0.766646676565,-0.766585115427,-0.766523547243,-0.766461972013,-0.766400389738,-0.766338800418,-0.766277204054,-0.766215600647,-0.766153990196,-0.766092372704,-0.76603074817,-0.765969116594,-0.765907477978,-0.765845832322,-0.765784179626,-0.765722519892,-0.765660853119,-0.765599179308,-0.76553749846,-0.765475810575,-0.765414115655,-0.765352413699,-0.765290704707,-0.765228988682,-0.765167265622,-0.76510553553,-0.765043798405,-0.764982054247,-0.764920303058,-0.764858544838,-0.764796779588,-0.764735007308,-0.764673227998,-0.76461144166,-0.764549648293,-0.7644878479,-0.764426040479,-0.764364226031,-0.764302404558,-0.764240576059,-0.764178740536,-0.764116897989,-0.764055048418,-0.763993191824,-0.763931328207,-0.763869457569,-0.763807579909,-0.763745695228,-0.763683803528,-0.763621904807,-0.763559999068,-0.76349808631,-0.763436166534,-0.763374239741,-0.763312305931,-0.763250365105,-0.763188417263,-0.763126462407,-0.763064500535,-0.76300253165,-0.762940555752,-0.76287857284,-0.762816582917,-0.762754585981,-0.762692582035,-0.762630571078,-0.762568553112,-0.762506528136,-0.762444496151,-0.762382457158,-0.762320411157,-0.762258358149,-0.762196298135,-0.762134231114,-0.762072157089,-0.762010076058,-0.761947988023,-0.761885892985,-0.761823790943,-0.761761681899,-0.761699565854,-0.761637442806,-0.761575312758,-0.76151317571,-0.761451031662,-0.761388880615,-0.761326722569,-0.761264557525,-0.761202385484,-0.761140206446,-0.761078020412,-0.761015827383,-0.760953627358,-0.760891420339,-0.760829206325,-0.760766985319,-0.760704757319,-0.760642522328,-0.760580280344,-0.76051803137,-0.760455775405,-0.76039351245,-0.760331242506,-0.760268965573,-0.760206681651,-0.760144390742,-0.760082092846,-0.760019787964,-0.759957476095,-0.759895157241,-0.759832831403,-0.75977049858,-0.759708158773,-0.759645811984,-0.759583458211,-0.759521097457,-0.759458729722,-0.759396355006,-0.759333973309,-0.759271584633,-0.759209188978,-0.759146786345,-0.759084376733,-0.759021960145,-0.758959536579,-0.758897106037,-0.75883466852,-0.758772224027,-0.75870977256,-0.75864731412,-0.758584848705,-0.758522376319,-0.75845989696,-0.758397410629,-0.758334917327,-0.758272417055,-0.758209909813,-0.758147395602,-0.758084874422,-0.758022346273,-0.757959811158,-0.757897269075,-0.757834720026,-0.757772164011,-0.75770960103,-0.757647031085,-0.757584454176,-0.757521870303,-0.757459279468,-0.757396681669,-0.75733407691,-0.757271465188,-0.757208846506,-0.757146220865,-0.757083588263,-0.757020948703,-0.756958302184,-0.756895648707,-0.756832988273,-0.756770320883,-0.756707646536,-0.756644965234,-0.756582276977,-0.756519581766,-0.756456879601,-0.756394170483,-0.756331454412,-0.756268731389,-0.756206001414,-0.756143264489,-0.756080520614,-0.756017769788,-0.755955012014,-0.755892247291,-0.75582947562,-0.755766697001,-0.755703911436,-0.755641118924,-0.755578319467,-0.755515513065,-0.755452699718,-0.755389879427,-0.755327052193,-0.755264218016,-0.755201376897,-0.755138528836,-0.755075673834,-0.755012811891,-0.754949943009,-0.754887067187,-0.754824184426,-0.754761294728,-0.754698398092,-0.754635494518,-0.754572584008,-0.754509666563,-0.754446742182,-0.754383810866,-0.754320872617,-0.754257927433,-0.754194975317,-0.754132016268,-0.754069050288,-0.754006077376,-0.753943097533,-0.753880110761,-0.753817117059,-0.753754116428,-0.753691108869,-0.753628094382,-0.753565072968,-0.753502044627,-0.75343900936,-0.753375967167,-0.75331291805,-0.753249862009,-0.753186799044,-0.753123729155,-0.753060652344,-0.752997568612,-0.752934477957,-0.752871380382,-0.752808275887,-0.752745164472,-0.752682046138,-0.752618920886,-0.752555788715,-0.752492649627,-0.752429503623,-0.752366350702,-0.752303190866,-0.752240024115,-0.752176850449,-0.75211366987,-0.752050482377,-0.751987287971,-0.751924086654,-0.751860878424,-0.751797663284,-0.751734441234,-0.751671212274,-0.751607976404,-0.751544733626,-0.75148148394,-0.751418227347,-0.751354963846,-0.75129169344,-0.751228416127,-0.75116513191,-0.751101840788,-0.751038542762,-0.750975237832,-0.750911926,-0.750848607265,-0.750785281629,-0.750721949092,-0.750658609655,-0.750595263317,-0.75053191008,-0.750468549945,-0.750405182911,-0.75034180898,-0.750278428151,-0.750215040427,-0.750151645806,-0.750088244291,-0.75002483588,-0.749961420576,-0.749897998378,-0.749834569287,-0.749771133304,-0.749707690429,-0.749644240663,-0.749580784006,-0.74951732046,-0.749453850024,-0.749390372699,-0.749326888486,-0.749263397385,-0.749199899398,-0.749136394523,-0.749072882763,-0.749009364118,-0.748945838588,-0.748882306173,-0.748818766875,-0.748755220695,-0.748691667631,-0.748628107686,-0.74856454086,-0.748500967153,-0.748437386566,-0.748373799099,-0.748310204754,-0.74824660353,-0.748182995429,-0.74811938045,-0.748055758595,-0.747992129864,-0.747928494258,-0.747864851777,-0.747801202421,-0.747737546192,-0.74767388309,-0.747610213115,-0.747546536269,-0.747482852551,-0.747419161963,-0.747355464504,-0.747291760176,-0.747228048979,-0.747164330913,-0.74710060598,-0.74703687418,-0.746973135513,-0.74690938998,-0.746845637581,-0.746781878318,-0.746718112191,-0.746654339199,-0.746590559345,-0.746526772628,-0.74646297905,-0.74639917861,-0.746335371309,-0.746271557148,-0.746207736127,-0.746143908248,-0.74608007351,-0.746016231914,-0.745952383461,-0.745888528152,-0.745824665986,-0.745760796965,-0.745696921089,-0.745633038359,-0.745569148775,-0.745505252338,-0.745441349049,-0.745377438907,-0.745313521914,-0.745249598071,-0.745185667377,-0.745121729834,-0.745057785441,-0.744993834201,-0.744929876112,-0.744865911176,-0.744801939394,-0.744737960765,-0.744673975291,-0.744609982972,-0.744545983809,-0.744481977802,-0.744417964952,-0.74435394526,-0.744289918725,-0.74422588535,-0.744161845133,-0.744097798076,-0.74403374418,-0.743969683445,-0.743905615871,-0.743841541459,-0.74377746021,-0.743713372125,-0.743649277203,-0.743585175447,-0.743521066855,-0.743456951429,-0.743392829169,-0.743328700076,-0.74326456415,-0.743200421393,-0.743136271804,-0.743072115385,-0.743007952135,-0.742943782056,-0.742879605148,-0.742815421411,-0.742751230847,-0.742687033455,-0.742622829237,-0.742558618193,-0.742494400323,-0.742430175629,-0.74236594411,-0.742301705767,-0.742237460602,-0.742173208614,-0.742108949804,-0.742044684173,-0.741980411721,-0.741916132449,-0.741851846357,-0.741787553447,-0.741723253718,-0.741658947171,-0.741594633807,-0.741530313627,-0.741465986631,-0.741401652819,-0.741337312192,-0.741272964751,-0.741208610497,-0.74114424943,-0.74107988155,-0.741015506858,-0.740951125355,-0.740886737041,-0.740822341918,-0.740757939984,-0.740693531242,-0.740629115692,-0.740564693334,-0.740500264169,-0.740435828197,-0.740371385419,-0.740306935836,-0.740242479449,-0.740178016257,-0.740113546261,-0.740049069463,-0.739984585862,-0.73992009546,-0.739855598256,-0.739791094251,-0.739726583447,-0.739662065843,-0.739597541441,-0.73953301024,-0.739468472242,-0.739403927446,-0.739339375854,-0.739274817467,-0.739210252284,-0.739145680306,-0.739081101534,-0.739016515969,-0.738951923611,-0.738887324461,-0.738822718519,-0.738758105785,-0.738693486262,-0.738628859948,-0.738564226845,-0.738499586954,-0.738434940274,-0.738370286807,-0.738305626552,-0.738240959512,-0.738176285686,-0.738111605074,-0.738046917678,-0.737982223498,-0.737917522535,-0.737852814788,-0.73778810026,-0.73772337895,-0.737658650859,-0.737593915988,-0.737529174337,-0.737464425906,-0.737399670697,-0.73733490871,-0.737270139946,-0.737205364405,-0.737140582087,-0.737075792994,-0.737010997126,-0.736946194484,-0.736881385067,-0.736816568877,-0.736751745915,-0.736686916181,-0.736622079675,-0.736557236398,-0.736492386351,-0.736427529534,-0.736362665948,-0.736297795594,-0.736232918472,-0.736168034582,-0.736103143926,-0.736038246504,-0.735973342316,-0.735908431363,-0.735843513646,-0.735778589166,-0.735713657922,-0.735648719916,-0.735583775147,-0.735518823618,-0.735453865327,-0.735388900277,-0.735323928467,-0.735258949898,-0.73519396457,-0.735128972485,-0.735063973643,-0.734998968044,-0.73493395569,-0.73486893658,-0.734803910715,-0.734738878096,-0.734673838723,-0.734608792598,-0.73454373972,-0.73447868009,-0.73441361371,-0.734348540578,-0.734283460697,-0.734218374066,-0.734153280687,-0.734088180559,-0.734023073684,-0.733957960061,-0.733892839693,-0.733827712578,-0.733762578719,-0.733697438115,-0.733632290766,-0.733567136675,-0.733501975841,-0.733436808264,-0.733371633946,-0.733306452887,-0.733241265087,-0.733176070548,-0.733110869269,-0.733045661252,-0.732980446497,-0.732915225005,-0.732849996775,-0.73278476181,-0.732719520109,-0.732654271672,-0.732589016502,-0.732523754598,-0.73245848596,-0.73239321059,-0.732327928488,-0.732262639654,-0.73219734409,-0.732132041795,-0.732066732771,-0.732001417018,-0.731936094537,-0.731870765327,-0.731805429391,-0.731740086728,-0.731674737338,-0.731609381224,-0.731544018385,-0.731478648821,-0.731413272534,-0.731347889524,-0.731282499791,-0.731217103337,-0.731151700162,-0.731086290265,-0.731020873649,-0.730955450314,-0.73089002026,-0.730824583487,-0.730759139997,-0.73069368979,-0.730628232867,-0.730562769228,-0.730497298874,-0.730431821805,-0.730366338022,-0.730300847526,-0.730235350317,-0.730169846395,-0.730104335763,-0.730038818419,-0.729973294365,-0.729907763601,-0.729842226128,-0.729776681947,-0.729711131057,-0.72964557346,-0.729580009157,-0.729514438147,-0.729448860432,-0.729383276012,-0.729317684887,-0.729252087059,-0.729186482527,-0.729120871293,-0.729055253358,-0.728989628721,-0.728923997383,-0.728858359345,-0.728792714607,-0.728727063171,-0.728661405036,-0.728595740204,-0.728530068674,-0.728464390448,-0.728398705526,-0.728333013909,-0.728267315597,-0.728201610591,-0.728135898892,-0.7280701805,-0.728004455415,-0.727938723639,-0.727872985172,-0.727807240014,-0.727741488167,-0.72767572963,-0.727609964404,-0.727544192491,-0.72747841389,-0.727412628602,-0.727346836628,-0.727281037969,-0.727215232624,-0.727149420595,-0.727083601883,-0.727017776487,-0.726951944408,-0.726886105648,-0.726820260206,-0.726754408083,-0.72668854928,-0.726622683798,-0.726556811636,-0.726490932796,-0.726425047279,-0.726359155084,-0.726293256213,-0.726227350666,-0.726161438444,-0.726095519546,-0.726029593975,-0.72596366173,-0.725897722813,-0.725831777223,-0.725765824961,-0.725699866028,-0.725633900425,-0.725567928152,-0.72550194921,-0.725435963599,-0.72536997132,-0.725303972373,-0.72523796676,-0.72517195448,-0.725105935535,-0.725039909925,-0.72497387765,-0.724907838712,-0.72484179311,-0.724775740846,-0.724709681919,-0.724643616332,-0.724577544084,-0.724511465175,-0.724445379607,-0.72437928738,-0.724313188495,-0.724247082951,-0.724180970751,-0.724114851895,-0.724048726382,-0.723982594214,-0.723916455391,-0.723850309915,-0.723784157784,-0.723717999001,-0.723651833566,-0.723585661479,-0.723519482741,-0.723453297353,-0.723387105314,-0.723320906627,-0.723254701291,-0.723188489307,-0.723122270675,-0.723056045397,-0.722989813472,-0.722923574902,-0.722857329687,-0.722791077828,-0.722724819325,-0.722658554179,-0.72259228239,-0.722526003959,-0.722459718887,-0.722393427175,-0.722327128822,-0.72226082383,-0.722194512199,-0.722128193929,-0.722061869022,-0.721995537478,-0.721929199298,-0.721862854481,-0.72179650303,-0.721730144944,-0.721663780224,-0.72159740887,-0.721531030884,-0.721464646266,-0.721398255016,-0.721331857135,-0.721265452624,-0.721199041483,-0.721132623713,-0.721066199315,-0.720999768288,-0.720933330634,-0.720866886354,-0.720800435448,-0.720733977916,-0.720667513759,-0.720601042978,-0.720534565574,-0.720468081546,-0.720401590897,-0.720335093625,-0.720268589732,-0.720202079219,-0.720135562085,-0.720069038333,-0.720002507961,-0.719935970972,-0.719869427365,-0.719802877141,-0.719736320301,-0.719669756845,-0.719603186774,-0.719536610089,-0.71947002679,-0.719403436878,-0.719336840353,-0.719270237216,-0.719203627467,-0.719137011108,-0.719070388139,-0.71900375856,-0.718937122373,-0.718870479577,-0.718803830173,-0.718737174162,-0.718670511545,-0.718603842322,-0.718537166494,-0.718470484061,-0.718403795023,-0.718337099383,-0.71827039714,-0.718203688294,-0.718136972847,-0.718070250799,-0.718003522151,-0.717936786903,-0.717870045056,-0.71780329661,-0.717736541566,-0.717669779926,-0.717603011688,-0.717536236854,-0.717469455425,-0.717402667402,-0.717335872784,-0.717269071572,-0.717202263767,-0.71713544937,-0.717068628381,-0.717001800802,-0.716934966631,-0.716868125871,-0.716801278521,-0.716734424583,-0.716667564056,-0.716600696943,-0.716533823242,-0.716466942955,-0.716400056082,-0.716333162625,-0.716266262583,-0.716199355957,-0.716132442748,-0.716065522957,-0.715998596584,-0.715931663629,-0.715864724094,-0.715797777979,-0.715730825284,-0.71566386601,-0.715596900158,-0.715529927729,-0.715462948722,-0.715395963139,-0.715328970981,-0.715261972247,-0.715194966939,-0.715127955056,-0.715060936601,-0.714993911573,-0.714926879972,-0.714859841801,-0.714792797058,-0.714725745745,-0.714658687863,-0.714591623411,-0.714524552392,-0.714457474804,-0.714390390649,-0.714323299928,-0.714256202641,-0.714189098789,-0.714121988372,-0.71405487139,-0.713987747846,-0.713920617738,-0.713853481069,-0.713786337838,-0.713719188046,-0.713652031693,-0.713584868781,-0.713517699309,-0.71345052328,-0.713383340692,-0.713316151547,-0.713248955845,-0.713181753587,-0.713114544774,-0.713047329406,-0.712980107484,-0.712912879009,-0.71284564398,-0.712778402399,-0.712711154267,-0.712643899583,-0.712576638349,-0.712509370565,-0.712442096231,-0.71237481535,-0.71230752792,-0.712240233942,-0.712172933418,-0.712105626348,-0.712038312733,-0.711970992572,-0.711903665867,-0.711836332619,-0.711768992827,-0.711701646493,-0.711634293617,-0.7115669342,-0.711499568243,-0.711432195745,-0.711364816708,-0.711297431133,-0.711230039019,-0.711162640368,-0.71109523518,-0.711027823456,-0.710960405196,-0.710892980401,-0.710825549072,-0.710758111209,-0.710690666813,-0.710623215884,-0.710555758424,-0.710488294432,-0.71042082391,-0.710353346857,-0.710285863275,-0.710218373164,-0.710150876526,-0.710083373359,-0.710015863666,-0.709948347446,-0.709880824701,-0.70981329543,-0.709745759636,-0.709678217317,-0.709610668475,-0.70954311311,-0.709475551224,-0.709407982816,-0.709340407888,-0.709272826439,-0.709205238471,-0.709137643984,-0.709070042978,-0.709002435456,-0.708934821416,-0.70886720086,-0.708799573788,-0.7087319402,-0.708664300099,-0.708596653483,-0.708529000354,-0.708461340713,-0.70839367456,-0.708326001895,-0.708258322719,-0.708190637033,-0.708122944838,-0.708055246134,-0.707987540921,-0.707919829201,-0.707852110974,-0.70778438624,-0.707716655,-0.707648917256,-0.707581173006,-0.707513422253,-0.707445664997,-0.707377901238,-0.707310130976,-0.707242354214,-0.70717457095,-0.707106781187,-0.707038984923,-0.706971182161,-0.706903372901,-0.706835557142,-0.706767734887,-0.706699906135,-0.706632070888,-0.706564229145,-0.706496380907,-0.706428526176,-0.706360664951,-0.706292797234,-0.706224923024,-0.706157042323,-0.706089155131,-0.706021261449,-0.705953361278,-0.705885454617,-0.705817541468,-0.705749621831,-0.705681695708,-0.705613763097,-0.705545824001,-0.70547787842,-0.705409926354,-0.705341967804,-0.705274002771,-0.705206031255,-0.705138053257,-0.705070068777,-0.705002077817,-0.704934080376,-0.704866076456,-0.704798066056,-0.704730049179,-0.704662025823,-0.704593995991,-0.704525959682,-0.704457916897,-0.704389867637,-0.704321811903,-0.704253749694,-0.704185681012,-0.704117605858,-0.704049524231,-0.703981436133,-0.703913341564,-0.703845240524,-0.703777133016,-0.703709019038,-0.703640898592,-0.703572771678,-0.703504638297,-0.703436498449,-0.703368352136,-0.703300199358,-0.703232040114,-0.703163874407,-0.703095702237,-0.703027523604,-0.702959338509,-0.702891146952,-0.702822948935,-0.702754744457,-0.70268653352,-0.702618316124,-0.702550092269,-0.702481861957,-0.702413625188,-0.702345381962,-0.702277132281,-0.702208876144,-0.702140613553,-0.702072344508,-0.70200406901,-0.701935787059,-0.701867498656,-0.701799203801,-0.701730902496,-0.70166259474,-0.701594280535,-0.701525959881,-0.701457632779,-0.701389299229,-0.701320959232,-0.701252612789,-0.7011842599,-0.701115900566,-0.701047534787,-0.700979162565,-0.700910783899,-0.700842398791,-0.70077400724,-0.700705609248,-0.700637204816,-0.700568793943,-0.700500376631,-0.70043195288,-0.700363522691,-0.700295086064,-0.700226643001,-0.700158193501,-0.700089737565,-0.700021275194,-0.699952806389,-0.69988433115,-0.699815849477,-0.699747361373,-0.699678866836,-0.699610365868,-0.699541858469,-0.69947334464,-0.699404824382,-0.699336297695,-0.69926776458,-0.699199225037,-0.699130679068,-0.699062126672,-0.698993567851,-0.698925002604,-0.698856430934,-0.698787852839,-0.698719268322,-0.698650677381,-0.69858208002,-0.698513476236,-0.698444866033,-0.698376249409,-0.698307626366,-0.698238996904,-0.698170361024,-0.698101718727,-0.698033070013,-0.697964414883,-0.697895753337,-0.697827085377,-0.697758411002,-0.697689730213,-0.697621043012,-0.697552349398,-0.697483649372,-0.697414942935,-0.697346230088,-0.697277510831,-0.697208785165,-0.69714005309,-0.697071314607,-0.697002569716,-0.696933818419,-0.696865060716,-0.696796296608,-0.696727526095,-0.696658749177,-0.696589965856,-0.696521176132,-0.696452380006,-0.696383577478,-0.69631476855,-0.69624595322,-0.696177131491,-0.696108303363,-0.696039468837,-0.695970627913,-0.695901780591,-0.695832926873,-0.695764066759,-0.695695200249,-0.695626327345,-0.695557448047,-0.695488562356,-0.695419670271,-0.695350771795,-0.695281866927,-0.695212955668,-0.695144038019,-0.69507511398,-0.695006183552,-0.694937246736,-0.694868303532,-0.694799353942,-0.694730397964,-0.694661435601,-0.694592466853,-0.69452349172,-0.694454510203,-0.694385522303,-0.69431652802,-0.694247527356,-0.69417852031,-0.694109506883,-0.694040487076,-0.69397146089,-0.693902428324,-0.693833389381,-0.69376434406,-0.693695292362,-0.693626234288,-0.693557169838,-0.693488099013,-0.693419021814,-0.693349938241,-0.693280848295,-0.693211751976,-0.693142649285,-0.693073540224,-0.693004424791,-0.692935302989,-0.692866174817,-0.692797040277,-0.692727899369,-0.692658752093,-0.692589598451,-0.692520438442,-0.692451272068,-0.692382099329,-0.692312920226,-0.692243734759,-0.692174542929,-0.692105344737,-0.692036140183,-0.691966929269,-0.691897711993,-0.691828488358,-0.691759258364,-0.691690022012,-0.691620779301,-0.691551530233,-0.691482274809,-0.691413013029,-0.691343744893,-0.691274470403,-0.691205189558,-0.691135902361,-0.69106660881,-0.690997308908,-0.690928002653,-0.690858690048,-0.690789371093,-0.690720045788,-0.690650714135,-0.690581376132,-0.690512031783,-0.690442681086,-0.690373324043,-0.690303960654,-0.69023459092,-0.690165214841,-0.690095832419,-0.690026443653,-0.689957048545,-0.689887647095,-0.689818239303,-0.689748825171,-0.689679404699,-0.689609977887,-0.689540544737,-0.689471105249,-0.689401659423,-0.68933220726,-0.689262748761,-0.689193283927,-0.689123812757,-0.689054335254,-0.688984851417,-0.688915361246,-0.688845864744,-0.688776361909,-0.688706852744,-0.688637337248,-0.688567815422,-0.688498287267,-0.688428752784,-0.688359211973,-0.688289664834,-0.688220111369,-0.688150551578,-0.688080985462,-0.68801141302,-0.687941834255,-0.687872249167,-0.687802657755,-0.687733060022,-0.687663455967,-0.687593845591,-0.687524228895,-0.687454605879,-0.687384976545,-0.687315340892,-0.687245698921,-0.687176050634,-0.68710639603,-0.68703673511,-0.686967067875,-0.686897394326,-0.686827714463,-0.686758028287,-0.686688335798,-0.686618636998,-0.686548931886,-0.686479220463,-0.686409502731,-0.686339778689,-0.686270048339,-0.68620031168,-0.686130568714,-0.686060819441,-0.685991063863,-0.685921301978,-0.685851533789,-0.685781759296,-0.685711978499,-0.685642191399,-0.685572397997,-0.685502598293,-0.685432792289,-0.685362979984,-0.685293161379,-0.685223336475,-0.685153505273,-0.685083667773,-0.685013823976,-0.684943973882,-0.684874117492,-0.684804254808,-0.684734385828,-0.684664510555,-0.684594628988,-0.684524741129,-0.684454846978,-0.684384946535,-0.684315039802,-0.684245126779,-0.684175207466,-0.684105281864,-0.684035349975,-0.683965411797,-0.683895467333,-0.683825516583,-0.683755559547,-0.683685596226,-0.683615626621,-0.683545650732,-0.68347566856,-0.683405680106,-0.68333568537,-0.683265684353,-0.683195677056,-0.683125663479,-0.683055643623,-0.682985617488,-0.682915585075,-0.682845546385,-0.682775501419,-0.682705450176,-0.682635392659,-0.682565328866,-0.6824952588,-0.682425182461,-0.682355099848,-0.682285010964,-0.682214915808,-0.682144814381,-0.682074706685,-0.682004592718,-0.681934472483,-0.68186434598,-0.681794213209,-0.681724074172,-0.681653928868,-0.681583777298,-0.681513619464,-0.681443455365,-0.681373285002,-0.681303108377,-0.681232925489,-0.681162736339,-0.681092540928,-0.681022339257,-0.680952131326,-0.680881917135,-0.680811696686,-0.68074146998,-0.680671237016,-0.680600997795,-0.680530752319,-0.680460500587,-0.680390242601,-0.680319978361,-0.680249707867,-0.68017943112,-0.680109148122,-0.680038858872,-0.679968563371,-0.679898261621,-0.67982795362,-0.679757639371,-0.679687318874,-0.679616992129,-0.679546659137,-0.679476319899,-0.679405974416,-0.679335622687,-0.679265264714,-0.679194900498,-0.679124530038,-0.679054153337,-0.678983770393,-0.678913381208,-0.678842985783,-0.678772584118,-0.678702176214,-0.678631762072,-0.678561341691,-0.678490915074,-0.67842048222,-0.67835004313,-0.678279597805,-0.678209146245,-0.678138688451,-0.678068224424,-0.677997754164,-0.677927277673,-0.677856794949,-0.677786305996,-0.677715810812,-0.677645309398,-0.677574801756,-0.677504287886,-0.677433767789,-0.677363241464,-0.677292708913,-0.677222170137,-0.677151625136,-0.677081073911,-0.677010516462,-0.67693995279,-0.676869382896,-0.67679880678,-0.676728224443,-0.676657635886,-0.67658704111,-0.676516440114,-0.6764458329,-0.676375219468,-0.676304599819,-0.676233973953,-0.676163341872,-0.676092703575,-0.676022059064,-0.67595140834,-0.675880751402,-0.675810088251,-0.675739418889,-0.675668743315,-0.675598061531,-0.675527373536,-0.675456679333,-0.675385978921,-0.6753152723,-0.675244559473,-0.675173840439,-0.675103115198,-0.675032383752,-0.674961646102,-0.674890902247,-0.674820152189,-0.674749395929,-0.674678633466,-0.674607864801,-0.674537089936,-0.67446630887,-0.674395521605,-0.674324728141,-0.674253928479,-0.674183122619,-0.674112310562,-0.674041492309,-0.673970667861,-0.673899837217,-0.673829000379,-0.673758157347,-0.673687308122,-0.673616452705,-0.673545591096,-0.673474723296,-0.673403849306,-0.673332969125,-0.673262082756,-0.673191190198,-0.673120291453,-0.67304938652,-0.6729784754,-0.672907558095,-0.672836634605,-0.67276570493,-0.672694769071,-0.672623827029,-0.672552878804,-0.672481924397,-0.672410963809,-0.67233999704,-0.672269024091,-0.672198044963,-0.672127059656,-0.672056068172,-0.671985070509,-0.67191406667,-0.671843056655,-0.671772040465,-0.671701018099,-0.67162998956,-0.671558954847,-0.671487913961,-0.671416866903,-0.671345813674,-0.671274754274,-0.671203688703,-0.671132616963,-0.671061539054,-0.670990454977,-0.670919364732,-0.67084826832,-0.670777165742,-0.670706056998,-0.67063494209,-0.670563821017,-0.67049269378,-0.67042156038,-0.670350420818,-0.670279275094,-0.670208123209,-0.670136965164,-0.670065800959,-0.669994630595,-0.669923454072,-0.669852271392,-0.669781082554,-0.66970988756,-0.66963868641,-0.669567479105,-0.669496265646,-0.669425046032,-0.669353820266,-0.669282588347,-0.669211350276,-0.669140106053,-0.66906885568,-0.668997599157,-0.668926336485,-0.668855067665,-0.668783792696,-0.66871251158,-0.668641224317,-0.668569930908,-0.668498631354,-0.668427325655,-0.668356013813,-0.668284695826,-0.668213371698,-0.668142041427,-0.668070705014,-0.667999362461,-0.667928013768,-0.667856658935,-0.667785297963,-0.667713930854,-0.667642557607,-0.667571178223,-0.667499792702,-0.667428401047,-0.667357003256,-0.667285599331,-0.667214189273,-0.667142773082,-0.667071350759,-0.666999922304,-0.666928487718,-0.666857047002,-0.666785600156,-0.666714147181,-0.666642688078,-0.666571222847,-0.66649975149,-0.666428274006,-0.666356790396,-0.666285300662,-0.666213804803,-0.66614230282,-0.666070794714,-0.665999280486,-0.665927760136,-0.665856233666,-0.665784701074,-0.665713162363,-0.665641617533,-0.665570066585,-0.665498509518,-0.665426946335,-0.665355377035,-0.665283801619,-0.665212220088,-0.665140632443,-0.665069038684,-0.664997438811,-0.664925832826,-0.66485422073,-0.664782602522,-0.664710978203,-0.664639347775,-0.664567711237,-0.664496068591,-0.664424419837,-0.664352764976,-0.664281104008,-0.664209436934,-0.664137763755,-0.664066084472,-0.663994399084,-0.663922707593,-0.663851009999,-0.663779306304,-0.663707596507,-0.66363588061,-0.663564158612,-0.663492430515,-0.66342069632,-0.663348956026,-0.663277209635,-0.663205457148,-0.663133698564,-0.663061933885,-0.662990163111,-0.662918386243,-0.662846603282,-0.662774814228,-0.662703019082,-0.662631217845,-0.662559410516,-0.662487597098,-0.66241577759,-0.662343951994,-0.662272120309,-0.662200282537,-0.662128438678,-0.662056588733,-0.661984732702,-0.661912870587,-0.661841002387,-0.661769128104,-0.661697247738,-0.66162536129,-0.66155346876,-0.66148157015,-0.661409665459,-0.661337754689,-0.66126583784,-0.661193914913,-0.661121985908,-0.661050050826,-0.660978109668,-0.660906162435,-0.660834209126,-0.660762249744,-0.660690284287,-0.660618312758,-0.660546335157,-0.660474351484,-0.66040236174,-0.660330365925,-0.660258364041,-0.660186356089,-0.660114342067,-0.660042321979,-0.659970295823,-0.659898263601,-0.659826225313,-0.659754180961,-0.659682130544,-0.659610074063,-0.659538011519,-0.659465942913,-0.659393868246,-0.659321787517,-0.659249700728,-0.659177607879,-0.659105508972,-0.659033404006,-0.658961292982,-0.658889175901,-0.658817052764,-0.658744923571,-0.658672788323,-0.658600647021,-0.658528499665,-0.658456346256,-0.658384186795,-0.658312021282,-0.658239849717,-0.658167672103,-0.658095488439,-0.658023298725,-0.657951102963,-0.657878901154,-0.657806693297,-0.657734479394,-0.657662259445,-0.657590033451,-0.657517801413,-0.657445563331,-0.657373319206,-0.657301069038,-0.657228812829,-0.657156550578,-0.657084282287,-0.657012007956,-0.656939727587,-0.656867441178,-0.656795148732,-0.656722850249,-0.656650545729,-0.656578235174,-0.656505918583,-0.656433595958,-0.6563612673,-0.656288932608,-0.656216591883,-0.656144245127,-0.65607189234,-0.655999533522,-0.655927168674,-0.655854797797,-0.655782420892,-0.655710037959,-0.655637648999,-0.655565254012,-0.655492853,-0.655420445962,-0.6553480329,-0.655275613814,-0.655203188705,-0.655130757573,-0.65505832042,-0.654985877245,-0.65491342805,-0.654840972835,-0.654768511601,-0.654696044349,-0.654623571078,-0.654551091791,-0.654478606487,-0.654406115167,-0.654333617832,-0.654261114482,-0.654188605119,-0.654116089742,-0.654043568353,-0.653971040953,-0.653898507541,-0.653825968118,-0.653753422686,-0.653680871244,-0.653608313795,-0.653535750337,-0.653463180872,-0.6533906054,-0.653318023923,-0.653245436441,-0.653172842954,-0.653100243463,-0.653027637969,-0.652955026473,-0.652882408975,-0.652809785475,-0.652737155975,-0.652664520476,-0.652591878977,-0.65251923148,-0.652446577984,-0.652373918492,-0.652301253003,-0.652228581519,-0.652155904039,-0.652083220565,-0.652010531097,-0.651937835636,-0.651865134182,-0.651792426737,-0.6517197133,-0.651646993873,-0.651574268456,-0.65150153705,-0.651428799656,-0.651356056274,-0.651283306905,-0.651210551549,-0.651137790207,-0.65106502288,-0.650992249569,-0.650919470274,-0.650846684996,-0.650773893736,-0.650701096494,-0.65062829327,-0.650555484067,-0.650482668883,-0.65040984772,-0.650337020579,-0.65026418746,-0.650191348364,-0.650118503292,-0.650045652244,-0.649972795221,-0.649899932223,-0.649827063252,-0.649754188307,-0.649681307391,-0.649608420502,-0.649535527643,-0.649462628813,-0.649389724013,-0.649316813244,-0.649243896507,-0.649170973802,-0.64909804513,-0.649025110492,-0.648952169888,-0.648879223319,-0.648806270786,-0.648733312289,-0.648660347829,-0.648587377406,-0.648514401022,-0.648441418677,-0.648368430372,-0.648295436107,-0.648222435882,-0.6481494297,-0.64807641756,-0.648003399463,-0.64793037541,-0.647857345401,-0.647784309437,-0.647711267519,-0.647638219647,-0.647565165822,-0.647492106045,-0.647419040316,-0.647345968637,-0.647272891007,-0.647199807427,-0.647126717899,-0.647053622422,-0.646980520998,-0.646907413627,-0.646834300309,-0.646761181046,-0.646688055839,-0.646614924687,-0.646541787591,-0.646468644552,-0.646395495572,-0.64632234065,-0.646249179787,-0.646176012983,-0.646102840241,-0.646029661559,-0.645956476939,-0.645883286382,-0.645810089888,-0.645736887458,-0.645663679092,-0.645590464792,-0.645517244557,-0.645444018389,-0.645370786288,-0.645297548255,-0.645224304291,-0.645151054395,-0.64507779857,-0.645004536816,-0.644931269132,-0.644857995521,-0.644784715982,-0.644711430516,-0.644638139125,-0.644564841807,-0.644491538566,-0.6444182294,-0.644344914311,-0.644271593299,-0.644198266365,-0.64412493351,-0.644051594734,-0.643978250039,-0.643904899424,-0.64383154289,-0.643758180438,-0.643684812069,-0.643611437784,-0.643538057582,-0.643464671465,-0.643391279434,-0.643317881489,-0.64324447763,-0.643171067859,-0.643097652176,-0.643024230582,-0.642950803077,-0.642877369662,-0.642803930339,-0.642730485106,-0.642657033966,-0.642583576919,-0.642510113965,-0.642436645105,-0.642363170341,-0.642289689671,-0.642216203098,-0.642142710622,-0.642069212244,-0.641995707963,-0.641922197782,-0.6418486817,-0.641775159719,-0.641701631838,-0.641628098059,-0.641554558382,-0.641481012809,-0.641407461338,-0.641333903973,-0.641260340712,-0.641186771557,-0.641113196508,-0.641039615566,-0.640966028732,-0.640892436007,-0.64081883739,-0.640745232883,-0.640671622487,-0.640598006201,-0.640524384028,-0.640450755966,-0.640377122018,-0.640303482184,-0.640229836464,-0.64015618486,-0.640082527371,-0.640008863998,-0.639935194743,-0.639861519606,-0.639787838587,-0.639714151688,-0.639640458908,-0.639566760249,-0.639493055711,-0.639419345295,-0.639345629002,-0.639271906831,-0.639198178785,-0.639124444864,-0.639050705068,-0.638976959397,-0.638903207854,-0.638829450437,-0.638755687149,-0.63868191799,-0.63860814296,-0.638534362059,-0.63846057529,-0.638386782652,-0.638312984146,-0.638239179773,-0.638165369533,-0.638091553428,-0.638017731457,-0.637943903622,-0.637870069923,-0.63779623036,-0.637722384936,-0.637648533649,-0.637574676501,-0.637500813493,-0.637426944625,-0.637353069898,-0.637279189313,-0.63720530287,-0.637131410569,-0.637057512413,-0.636983608401,-0.636909698533,-0.636835782812,-0.636761861236,-0.636687933808,-0.636614000527,-0.636540061395,-0.636466116412,-0.636392165579,-0.636318208896,-0.636244246364,-0.636170277984,-0.636096303756,-0.636022323682,-0.635948337761,-0.635874345995,-0.635800348384,-0.635726344929,-0.63565233563,-0.635578320489,-0.635504299505,-0.63543027268,-0.635356240015,-0.635282201509,-0.635208157164,-0.63513410698,-0.635060050958,-0.634985989099,-0.634911921403,-0.634837847872,-0.634763768504,-0.634689683303,-0.634615592267,-0.634541495398,-0.634467392697,-0.634393284164,-0.634319169799,-0.634245049604,-0.634170923579,-0.634096791725,-0.634022654043,-0.633948510532,-0.633874361195,-0.633800206031,-0.633726045041,-0.633651878227,-0.633577705588,-0.633503527125,-0.633429342839,-0.633355152731,-0.633280956801,-0.63320675505,-0.633132547479,-0.633058334088,-0.632984114878,-0.632909889851,-0.632835659005,-0.632761422343,-0.632687179864,-0.63261293157,-0.632538677461,-0.632464417538,-0.632390151801,-0.632315880252,-0.63224160289,-0.632167319717,-0.632093030734,-0.63201873594,-0.631944435337,-0.631870128925,-0.631795816705,-0.631721498678,-0.631647174844,-0.631572845204,-0.631498509759,-0.631424168509,-0.631349821456,-0.631275468599,-0.63120110994,-0.631126745478,-0.631052375216,-0.630977999153,-0.63090361729,-0.630829229628,-0.630754836168,-0.63068043691,-0.630606031855,-0.630531621003,-0.630457204356,-0.630382781914,-0.630308353677,-0.630233919647,-0.630159479824,-0.630085034208,-0.630010582801,-0.629936125603,-0.629861662614,-0.629787193837,-0.62971271927,-0.629638238915,-0.629563752772,-0.629489260843,-0.629414763128,-0.629340259627,-0.629265750341,-0.629191235272,-0.629116714419,-0.629042187783,-0.628967655365,-0.628893117166,-0.628818573186,-0.628744023427,-0.628669467888,-0.62859490657,-0.628520339475,-0.628445766602,-0.628371187953,-0.628296603527,-0.628222013327,-0.628147417352,-0.628072815604,-0.627998208082,-0.627923594788,-0.627848975722,-0.627774350885,-0.627699720278,-0.627625083901,-0.627550441755,-0.627475793841,-0.627401140159,-0.62732648071,-0.627251815495,-0.627177144515,-0.627102467769,-0.627027785259,-0.626953096986,-0.62687840295,-0.626803703152,-0.626728997592,-0.626654286272,-0.626579569192,-0.626504846352,-0.626430117753,-0.626355383397,-0.626280643283,-0.626205897412,-0.626131145786,-0.626056388404,-0.625981625268,-0.625906856378,-0.625832081735,-0.625757301339,-0.625682515191,-0.625607723292,-0.625532925643,-0.625458122244,-0.625383313096,-0.625308498199,-0.625233677555,-0.625158851164,-0.625084019026,-0.625009181143,-0.624934337515,-0.624859488142,-0.624784633026,-0.624709772168,-0.624634905566,-0.624560033224,-0.62448515514,-0.624410271317,-0.624335381754,-0.624260486452,-0.624185585412,-0.624110678635,-0.624035766121,-0.623960847871,-0.623885923886,-0.623810994166,-0.623736058713,-0.623661117526,-0.623586170606,-0.623511217955,-0.623436259572,-0.623361295459,-0.623286325616,-0.623211350044,-0.623136368744,-0.623061381715,-0.62298638896,-0.622911390479,-0.622836386271,-0.622761376339,-0.622686360683,-0.622611339302,-0.622536312199,-0.622461279374,-0.622386240827,-0.62231119656,-0.622236146572,-0.622161090865,-0.622086029439,-0.622010962295,-0.621935889433,-0.621860810855,-0.621785726561,-0.621710636551,-0.621635540827,-0.621560439389,-0.621485332238,-0.621410219374,-0.621335100798,-0.621259976511,-0.621184846514,-0.621109710806,-0.62103456939,-0.620959422265,-0.620884269433,-0.620809110893,-0.620733946647,-0.620658776696,-0.620583601039,-0.620508419679,-0.620433232614,-0.620358039847,-0.620282841378,-0.620207637207,-0.620132427335,-0.620057211763,-0.619981990492,-0.619906763522,-0.619831530854,-0.619756292488,-0.619681048426,-0.619605798668,-0.619530543215,-0.619455282067,-0.619380015225,-0.61930474269,-0.619229464462,-0.619154180543,-0.619078890932,-0.619003595631,-0.618928294641,-0.618852987961,-0.618777675593,-0.618702357537,-0.618627033794,-0.618551704365,-0.61847636925,-0.618401028451,-0.618325681967,-0.6182503298,-0.61817497195,-0.618099608417,-0.618024239204,-0.617948864309,-0.617873483735,-0.617798097481,-0.617722705548,-0.617647307938,-0.61757190465,-0.617496495686,-0.617421081045,-0.61734566073,-0.61727023474,-0.617194803076,-0.617119365739,-0.61704392273,-0.616968474049,-0.616893019697,-0.616817559674,-0.616742093982,-0.616666622621,-0.616591145592,-0.616515662895,-0.616440174531,-0.616364680501,-0.616289180805,-0.616213675445,-0.616138164421,-0.616062647733,-0.615987125382,-0.61591159737,-0.615836063696,-0.615760524361,-0.615684979367,-0.615609428713,-0.615533872401,-0.615458310431,-0.615382742804,-0.61530716952,-0.615231590581,-0.615156005986,-0.615080415737,-0.615004819834,-0.614929218279,-0.614853611071,-0.614777998211,-0.614702379701,-0.61462675554,-0.61455112573,-0.614475490271,-0.614399849164,-0.61432420241,-0.614248550008,-0.614172891961,-0.614097228268,-0.614021558931,-0.61394588395,-0.613870203325,-0.613794517058,-0.613718825149,-0.613643127599,-0.613567424408,-0.613491715578,-0.613416001109,-0.613340281001,-0.613264555255,-0.613188823873,-0.613113086854,-0.613037344199,-0.61296159591,-0.612885841986,-0.612810082429,-0.61273431724,-0.612658546417,-0.612582769964,-0.61250698788,-0.612431200166,-0.612355406822,-0.61227960785,-0.61220380325,-0.612127993022,-0.612052177169,-0.611976355689,-0.611900528584,-0.611824695854,-0.611748857501,-0.611673013525,-0.611597163926,-0.611521308706,-0.611445447865,-0.611369581403,-0.611293709322,-0.611217831622,-0.611141948304,-0.611066059369,-0.610990164816,-0.610914264648,-0.610838358864,-0.610762447465,-0.610686530453,-0.610610607827,-0.610534679588,-0.610458745738,-0.610382806276,-0.610306861204,-0.610230910522,-0.610154954231,-0.610078992332,-0.610003024825,-0.60992705171,-0.60985107299,-0.609775088664,-0.609699098733,-0.609623103198,-0.609547102059,-0.609471095317,-0.609395082973,-0.609319065028,-0.609243041482,-0.609167012336,-0.609090977591,-0.609014937247,-0.608938891305,-0.608862839766,-0.608786782631,-0.608710719899,-0.608634651573,-0.608558577652,-0.608482498137,-0.608406413029,-0.608330322329,-0.608254226037,-0.608178124155,-0.608102016682,-0.608025903619,-0.607949784968,-0.607873660728,-0.607797530901,-0.607721395488,-0.607645254488,-0.607569107903,-0.607492955733,-0.607416797979,-0.607340634643,-0.607264465723,-0.607188291222,-0.607112111139,-0.607035925477,-0.606959734234,-0.606883537412,-0.606807335012,-0.606731127035,-0.60665491348,-0.606578694349,-0.606502469643,-0.606426239361,-0.606350003506,-0.606273762077,-0.606197515076,-0.606121262502,-0.606045004357,-0.605968740642,-0.605892471356,-0.605816196502,-0.605739916078,-0.605663630087,-0.605587338529,-0.605511041404,-0.605434738714,-0.605358430459,-0.605282116639,-0.605205797255,-0.605129472309,-0.605053141801,-0.604976805731,-0.6049004641,-0.604824116909,-0.604747764159,-0.60467140585,-0.604595041983,-0.604518672558,-0.604442297577,-0.60436591704,-0.604289530948,-0.604213139302,-0.604136742101,-0.604060339348,-0.603983931042,-0.603907517184,-0.603831097776,-0.603754672817,-0.603678242308,-0.603601806251,-0.603525364646,-0.603448917493,-0.603372464793,-0.603296006547,-0.603219542756,-0.60314307342,-0.60306659854,-0.602990118117,-0.602913632152,-0.602837140644,-0.602760643596,-0.602684141007,-0.602607632878,-0.60253111921,-0.602454600004,-0.60237807526,-0.602301544979,-0.602225009162,-0.60214846781,-0.602071920922,-0.601995368501,-0.601918810546,-0.601842247059,-0.601765678039,-0.601689103488,-0.601612523407,-0.601535937795,-0.601459346655,-0.601382749986,-0.601306147789,-0.601229540065,-0.601152926815,-0.601076308039,-0.600999683738,-0.600923053913,-0.600846418564,-0.600769777693,-0.600693131299,-0.600616479384,-0.600539821948,-0.600463158992,-0.600386490517,-0.600309816523,-0.600233137011,-0.600156451982,-0.600079761437,-0.600003065375,-0.599926363799,-0.599849656708,-0.599772944104,-0.599696225986,-0.599619502356,-0.599542773215,-0.599466038563,-0.599389298401,-0.599312552729,-0.599235801548,-0.59915904486,-0.599082282664,-0.599005514961,-0.598928741752,-0.598851963039,-0.59877517882,-0.598698389098,-0.598621593873,-0.598544793146,-0.598467986916,-0.598391175186,-0.598314357955,-0.598237535225,-0.598160706996,-0.598083873269,-0.598007034045,-0.597930189323,-0.597853339106,-0.597776483393,-0.597699622186,-0.597622755484,-0.59754588329,-0.597469005603,-0.597392122424,-0.597315233754,-0.597238339593,-0.597161439943,-0.597084534804,-0.597007624177,-0.596930708062,-0.59685378646,-0.596776859373,-0.596699926799,-0.596622988741,-0.596546045199,-0.596469096174,-0.596392141666,-0.596315181676,-0.596238216205,-0.596161245253,-0.596084268822,-0.596007286911,-0.595930299522,-0.595853306656,-0.595776308312,-0.595699304492,-0.595622295197,-0.595545280427,-0.595468260183,-0.595391234465,-0.595314203275,-0.595237166612,-0.595160124479,-0.595083076875,-0.5950060238,-0.594928965257,-0.594851901245,-0.594774831766,-0.594697756819,-0.594620676407,-0.594543590528,-0.594466499185,-0.594389402377,-0.594312300106,-0.594235192372,-0.594158079176,-0.594080960519,-0.594003836401,-0.593926706823,-0.593849571785,-0.59377243129,-0.593695285336,-0.593618133925,-0.593540977058,-0.593463814735,-0.593386646958,-0.593309473725,-0.59323229504,-0.593155110901,-0.593077921311,-0.593000726268,-0.592923525776,-0.592846319833,-0.59276910844,-0.5926918916,-0.592614669311,-0.592537441575,-0.592460208393,-0.592382969764,-0.592305725691,-0.592228476174,-0.592151221212,-0.592073960808,-0.591996694962,-0.591919423674,-0.591842146946,-0.591764864777,-0.591687577169,-0.591610284122,-0.591532985637,-0.591455681715,-0.591378372357,-0.591301057562,-0.591223737333,-0.591146411669,-0.591069080572,-0.590991744041,-0.590914402078,-0.590837054684,-0.590759701859,-0.590682343604,-0.590604979919,-0.590527610805,-0.590450236264,-0.590372856295,-0.5902954709,-0.590218080079,-0.590140683832,-0.590063282161,-0.589985875067,-0.589908462549,-0.589831044609,-0.589753621248,-0.589676192466,-0.589598758263,-0.589521318641,-0.5894438736,-0.589366423141,-0.589288967265,-0.589211505973,-0.589134039264,-0.58905656714,-0.588979089602,-0.58890160665,-0.588824118285,-0.588746624507,-0.588669125318,-0.588591620718,-0.588514110708,-0.588436595288,-0.588359074459,-0.588281548223,-0.588204016579,-0.588126479528,-0.588048937072,-0.58797138921,-0.587893835943,-0.587816277273,-0.5877387132,-0.587661143725,-0.587583568848,-0.587505988569,-0.587428402891,-0.587350811813,-0.587273215337,-0.587195613462,-0.58711800619,-0.587040393521,-0.586962775456,-0.586885151996,-0.586807523142,-0.586729888893,-0.586652249252,-0.586574604218,-0.586496953793,-0.586419297976,-0.58634163677,-0.586263970174,-0.586186298189,-0.586108620815,-0.586030938055,-0.585953249908,-0.585875556375,-0.585797857456,-0.585720153154,-0.585642443467,-0.585564728397,-0.585487007945,-0.585409282111,-0.585331550896,-0.585253814301,-0.585176072327,-0.585098324973,-0.585020572242,-0.584942814133,-0.584865050648,-0.584787281786,-0.584709507549,-0.584631727938,-0.584553942953,-0.584476152595,-0.584398356864,-0.584320555762,-0.584242749289,-0.584164937446,-0.584087120233,-0.584009297651,-0.583931469701,-0.583853636384,-0.5837757977,-0.583697953651,-0.583620104236,-0.583542249456,-0.583464389313,-0.583386523806,-0.583308652938,-0.583230776707,-0.583152895116,-0.583075008164,-0.582997115853,-0.582919218184,-0.582841315156,-0.582763406771,-0.582685493029,-0.582607573931,-0.582529649478,-0.58245171967,-0.582373784509,-0.582295843995,-0.582217898128,-0.58213994691,-0.582061990341,-0.581984028421,-0.581906061153,-0.581828088535,-0.581750110569,-0.581672127256,-0.581594138597,-0.581516144591,-0.581438145241,-0.581360140546,-0.581282130507,-0.581204115125,-0.581126094401,-0.581048068335,-0.580970036929,-0.580892000182,-0.580813958096,-0.580735910671,-0.580657857908,-0.580579799808,-0.580501736371,-0.580423667598,-0.580345593491,-0.580267514049,-0.580189429273,-0.580111339164,-0.580033243723,-0.57995514295,-0.579877036847,-0.579798925413,-0.579720808651,-0.579642686559,-0.579564559139,-0.579486426393,-0.579408288319,-0.57933014492,-0.579251996196,-0.579173842148,-0.579095682775,-0.57901751808,-0.578939348063,-0.578861172724,-0.578782992065,-0.578704806085,-0.578626614786,-0.578548418169,-0.578470216233,-0.578392008981,-0.578313796412,-0.578235578527,-0.578157355327,-0.578079126813,-0.578000892985,-0.577922653845,-0.577844409392,-0.577766159628,-0.577687904553,-0.577609644168,-0.577531378474,-0.577453107472,-0.577374831161,-0.577296549544,-0.57721826262,-0.57713997039,-0.577061672856,-0.576983370017,-0.576905061875,-0.57682674843,-0.576748429682,-0.576670105634,-0.576591776285,-0.576513441636,-0.576435101688,-0.576356756441,-0.576278405897,-0.576200050055,-0.576121688917,-0.576043322484,-0.575964950756,-0.575886573734,-0.575808191418,-0.575729803809,-0.575651410909,-0.575573012717,-0.575494609235,-0.575416200463,-0.575337786402,-0.575259367052,-0.575180942415,-0.575102512491,-0.57502407728,-0.574945636784,-0.574867191004,-0.574788739939,-0.574710283591,-0.57463182196,-0.574553355048,-0.574474882854,-0.57439640538,-0.574317922626,-0.574239434593,-0.574160941282,-0.574082442693,-0.574003938827,-0.573925429686,-0.573846915269,-0.573768395577,-0.573689870611,-0.573611340372,-0.57353280486,-0.573454264077,-0.573375718023,-0.573297166698,-0.573218610104,-0.57314004824,-0.573061481109,-0.57298290871,-0.572904331045,-0.572825748113,-0.572747159916,-0.572668566454,-0.572589967729,-0.572511363741,-0.57243275449,-0.572354139977,-0.572275520204,-0.57219689517,-0.572118264877,-0.572039629325,-0.571960988515,-0.571882342447,-0.571803691123,-0.571725034543,-0.571646372708,-0.571567705618,-0.571489033275,-0.571410355679,-0.57133167283,-0.57125298473,-0.571174291379,-0.571095592778,-0.571016888928,-0.570938179828,-0.570859465481,-0.570780745887,-0.570702021046,-0.57062329096,-0.570544555628,-0.570465815052,-0.570387069232,-0.57030831817,-0.570229561865,-0.570150800319,-0.570072033533,-0.569993261506,-0.56991448424,-0.569835701736,-0.569756913993,-0.569678121014,-0.569599322798,-0.569520519347,-0.569441710661,-0.56936289674,-0.569284077586,-0.5692052532,-0.569126423581,-0.569047588731,-0.568968748651,-0.56888990334,-0.568811052801,-0.568732197033,-0.568653336037,-0.568574469815,-0.568495598366,-0.568416721692,-0.568337839793,-0.56825895267,-0.568180060324,-0.568101162755,-0.568022259964,-0.567943351952,-0.56786443872,-0.567785520268,-0.567706596597,-0.567627667708,-0.567548733601,-0.567469794278,-0.567390849738,-0.567311899983,-0.567232945014,-0.567153984831,-0.567075019434,-0.566996048825,-0.566917073004,-0.566838091973,-0.566759105731,-0.56668011428,-0.566601117619,-0.566522115751,-0.566443108675,-0.566364096393,-0.566285078905,-0.566206056212,-0.566127028314,-0.566047995212,-0.565968956908,-0.565889913401,-0.565810864693,-0.565731810784,-0.565652751674,-0.565573687366,-0.565494617859,-0.565415543154,-0.565336463251,-0.565257378153,-0.565178287858,-0.565099192369,-0.565020091685,-0.564940985808,-0.564861874738,-0.564782758476,-0.564703637022,-0.564624510378,-0.564545378544,-0.564466241521,-0.564387099309,-0.564307951909,-0.564228799323,-0.56414964155,-0.564070478592,-0.563991310449,-0.563912137122,-0.563832958611,-0.563753774918,-0.563674586043,-0.563595391987,-0.56351619275,-0.563436988334,-0.563357778739,-0.563278563965,-0.563199344014,-0.563120118886,-0.563040888582,-0.562961653102,-0.562882412448,-0.56280316662,-0.562723915619,-0.562644659446,-0.562565398101,-0.562486131584,-0.562406859898,-0.562327583042,-0.562248301017,-0.562169013824,-0.562089721464,-0.562010423937,-0.561931121245,-0.561851813387,-0.561772500365,-0.561693182179,-0.56161385883,-0.561534530319,-0.561455196646,-0.561375857813,-0.561296513819,-0.561217164666,-0.561137810355,-0.561058450886,-0.560979086259,-0.560899716477,-0.560820341538,-0.560740961445,-0.560661576197,-0.560582185796,-0.560502790242,-0.560423389537,-0.56034398368,-0.560264572672,-0.560185156514,-0.560105735208,-0.560026308753,-0.55994687715,-0.559867440401,-0.559787998505,-0.559708551464,-0.559629099278,-0.559549641948,-0.559470179475,-0.559390711859,-0.559311239102,-0.559231761203,-0.559152278164,-0.559072789986,-0.558993296668,-0.558913798213,-0.55883429462,-0.55875478589,-0.558675272025,-0.558595753024,-0.558516228889,-0.55843669962,-0.558357165218,-0.558277625683,-0.558198081017,-0.558118531221,-0.558038976294,-0.557959416237,-0.557879851053,-0.55780028074,-0.5577207053,-0.557641124733,-0.557561539041,-0.557481948224,-0.557402352283,-0.557322751218,-0.55724314503,-0.55716353372,-0.557083917289,-0.557004295737,-0.556924669066,-0.556845037275,-0.556765400366,-0.556685758339,-0.556606111196,-0.556526458936,-0.55644680156,-0.55636713907,-0.556287471466,-0.556207798749,-0.556128120919,-0.556048437977,-0.555968749924,-0.555889056761,-0.555809358488,-0.555729655107,-0.555649946617,-0.55557023302,-0.555490514316,-0.555410790506,-0.555331061591,-0.555251327571,-0.555171588448,-0.555091844222,-0.555012094893,-0.554932340463,-0.554852580932,-0.554772816301,-0.55469304657,-0.554613271741,-0.554533491814,-0.55445370679,-0.55437391667,-0.554294121454,-0.554214321142,-0.554134515737,-0.554054705238,-0.553974889647,-0.553895068963,-0.553815243188,-0.553735412323,-0.553655576367,-0.553575735323,-0.55349588919,-0.55341603797,-0.553336181663,-0.55325632027,-0.553176453791,-0.553096582227,-0.55301670558,-0.552936823849,-0.552856937036,-0.552777045142,-0.552697148166,-0.55261724611,-0.552537338974,-0.55245742676,-0.552377509467,-0.552297587097,-0.552217659651,-0.552137727129,-0.552057789531,-0.551977846859,-0.551897899114,-0.551817946295,-0.551737988405,-0.551658025443,-0.55157805741,-0.551498084307,-0.551418106135,-0.551338122894,-0.551258134586,-0.551178141211,-0.551098142769,-0.551018139262,-0.55093813069,-0.550858117053,-0.550778098354,-0.550698074592,-0.550618045768,-0.550538011882,-0.550457972937,-0.550377928931,-0.550297879867,-0.550217825744,-0.550137766564,-0.550057702327,-0.549977633035,-0.549897558687,-0.549817479284,-0.549737394827,-0.549657305318,-0.549577210756,-0.549497111143,-0.549417006478,-0.549336896764,-0.549256782,-0.549176662188,-0.549096537327,-0.54901640742,-0.548936272466,-0.548856132466,-0.548775987421,-0.548695837333,-0.5486156822,-0.548535522025,-0.548455356808,-0.548375186549,-0.54829501125,-0.548214830912,-0.548134645534,-0.548054455118,-0.547974259664,-0.547894059173,-0.547813853646,-0.547733643084,-0.547653427487,-0.547573206857,-0.547492981193,-0.547412750496,-0.547332514768,-0.547252274009,-0.54717202822,-0.547091777401,-0.547011521554,-0.546931260678,-0.546850994775,-0.546770723846,-0.546690447891,-0.546610166911,-0.546529880906,-0.546449589878,-0.546369293827,-0.546288992754,-0.54620868666,-0.546128375545,-0.54604805941,-0.545967738256,-0.545887412083,-0.545807080893,-0.545726744686,-0.545646403463,-0.545566057224,-0.54548570597,-0.545405349703,-0.545324988422,-0.545244622129,-0.545164250824,-0.545083874508,-0.545003493181,-0.544923106845,-0.544842715501,-0.544762319148,-0.544681917788,-0.544601511421,-0.544521100048,-0.544440683671,-0.544360262288,-0.544279835903,-0.544199404514,-0.544118968123,-0.544038526731,-0.543958080338,-0.543877628945,-0.543797172553,-0.543716711162,-0.543636244774,-0.543555773389,-0.543475297007,-0.54339481563,-0.543314329258,-0.543233837893,-0.543153341534,-0.543072840182,-0.542992333838,-0.542911822504,-0.542831306179,-0.542750784865,-0.542670258561,-0.54258972727,-0.542509190991,-0.542428649726,-0.542348103474,-0.542267552238,-0.542186996017,-0.542106434812,-0.542025868625,-0.541945297455,-0.541864721304,-0.541784140172,-0.541703554061,-0.54162296297,-0.5415423669,-0.541461765853,-0.541381159829,-0.541300548828,-0.541219932853,-0.541139311902,-0.541058685977,-0.540978055079,-0.540897419208,-0.540816778366,-0.540736132552,-0.540655481768,-0.540574826015,-0.540494165293,-0.540413499602,-0.540332828945,-0.54025215332,-0.54017147273,-0.540090787174,-0.540010096655,-0.539929401171,-0.539848700725,-0.539767995316,-0.539687284946,-0.539606569616,-0.539525849325,-0.539445124075,-0.539364393867,-0.539283658701,-0.539202918578,-0.539122173499,-0.539041423464,-0.538960668474,-0.538879908531,-0.538799143634,-0.538718373785,-0.538637598984,-0.538556819232,-0.538476034529,-0.538395244877,-0.538314450277,-0.538233650728,-0.538152846232,-0.538072036789,-0.5379912224,-0.537910403067,-0.537829578789,-0.537748749567,-0.537667915402,-0.537587076296,-0.537506232248,-0.537425383259,-0.53734452933,-0.537263670463,-0.537182806656,-0.537101937913,-0.537021064232,-0.536940185615,-0.536859302062,-0.536778413575,-0.536697520154,-0.5366166218,-0.536535718513,-0.536454810295,-0.536373897146,-0.536292979066,-0.536212056057,-0.536131128119,-0.536050195253,-0.53596925746,-0.53588831474,-0.535807367095,-0.535726414524,-0.53564545703,-0.535564494611,-0.53548352727,-0.535402555007,-0.535321577823,-0.535240595718,-0.535159608693,-0.535078616749,-0.534997619887,-0.534916618107,-0.534835611411,-0.534754599798,-0.53467358327,-0.534592561827,-0.534511535471,-0.534430504201,-0.534349468019,-0.534268426926,-0.534187380921,-0.534106330006,-0.534025274182,-0.53394421345,-0.533863147809,-0.533782077261,-0.533701001807,-0.533619921447,-0.533538836183,-0.533457746014,-0.533376650941,-0.533295550966,-0.533214446089,-0.533133336311,-0.533052221633,-0.532971102054,-0.532889977577,-0.532808848202,-0.532727713929,-0.532646574759,-0.532565430693,-0.532484281733,-0.532403127877,-0.532321969128,-0.532240805486,-0.532159636952,-0.532078463526,-0.531997285209,-0.531916102003,-0.531834913907,-0.531753720923,-0.531672523051,-0.531591320292,-0.531510112646,-0.531428900115,-0.5313476827,-0.5312664604,-0.531185233217,-0.531104001151,-0.531022764204,-0.530941522376,-0.530860275667,-0.530779024079,-0.530697767612,-0.530616506266,-0.530535240044,-0.530453968945,-0.53037269297,-0.53029141212,-0.530210126396,-0.530128835798,-0.530047540328,-0.529966239985,-0.529884934771,-0.529803624686,-0.529722309732,-0.529640989908,-0.529559665216,-0.529478335657,-0.52939700123,-0.529315661938,-0.52923431778,-0.529152968758,-0.529071614872,-0.528990256122,-0.52890889251,-0.528827524037,-0.528746150703,-0.528664772508,-0.528583389455,-0.528502001542,-0.528420608772,-0.528339211145,-0.528257808661,-0.528176401321,-0.528094989127,-0.528013572079,-0.527932150177,-0.527850723423,-0.527769291816,-0.527687855359,-0.527606414051,-0.527524967893,-0.527443516887,-0.527362061032,-0.52728060033,-0.527199134782,-0.527117664387,-0.527036189148,-0.526954709064,-0.526873224136,-0.526791734365,-0.526710239753,-0.526628740298,-0.526547236004,-0.526465726869,-0.526384212895,-0.526302694083,-0.526221170433,-0.526139641946,-0.526058108623,-0.525976570464,-0.525895027471,-0.525813479644,-0.525731926984,-0.525650369491,-0.525568807167,-0.525487240012,-0.525405668026,-0.525324091212,-0.525242509568,-0.525160923097,-0.525079331798,-0.524997735673,-0.524916134723,-0.524834528947,-0.524752918347,-0.524671302924,-0.524589682678,-0.524508057611,-0.524426427722,-0.524344793013,-0.524263153484,-0.524181509136,-0.52409985997,-0.524018205986,-0.523936547186,-0.52385488357,-0.523773215139,-0.523691541893,-0.523609863834,-0.523528180962,-0.523446493278,-0.523364800782,-0.523283103476,-0.523201401359,-0.523119694434,-0.5230379827,-0.522956266159,-0.52287454481,-0.522792818656,-0.522711087696,-0.522629351931,-0.522547611363,-0.522465865991,-0.522384115817,-0.522302360841,-0.522220601065,-0.522138836488,-0.522057067112,-0.521975292937,-0.521893513965,-0.521811730195,-0.521729941629,-0.521648148267,-0.52156635011,-0.521484547159,-0.521402739415,-0.521320926879,-0.52123910955,-0.52115728743,-0.52107546052,-0.52099362882,-0.520911792332,-0.520829951055,-0.520748104991,-0.52066625414,-0.520584398504,-0.520502538082,-0.520420672876,-0.520338802887,-0.520256928114,-0.52017504856,-0.520093164224,-0.520011275108,-0.519929381211,-0.519847482536,-0.519765579082,-0.519683670851,-0.519601757843,-0.519519840059,-0.5194379175,-0.519355990166,-0.519274058058,-0.519192121177,-0.519110179524,-0.519028233099,-0.518946281904,-0.518864325938,-0.518782365203,-0.5187003997,-0.518618429429,-0.518536454391,-0.518454474586,-0.518372490016,-0.518290500681,-0.518208506583,-0.518126507721,-0.518044504096,-0.51796249571,-0.517880482562,-0.517798464655,-0.517716441988,-0.517634414562,-0.517552382378,-0.517470345437,-0.51738830374,-0.517306257287,-0.517224206079,-0.517142150116,-0.5170600894,-0.516978023932,-0.516895953711,-0.51681387874,-0.516731799018,-0.516649714546,-0.516567625325,-0.516485531356,-0.51640343264,-0.516321329177,-0.516239220968,-0.516157108014,-0.516074990315,-0.515992867873,-0.515910740688,-0.515828608761,-0.515746472092,-0.515664330683,-0.515582184534,-0.515500033646,-0.515417878019,-0.515335717655,-0.515253552554,-0.515171382717,-0.515089208145,-0.515007028838,-0.514924844797,-0.514842656023,-0.514760462517,-0.514678264279,-0.51459606131,-0.514513853611,-0.514431641183,-0.514349424027,-0.514267202142,-0.514184975531,-0.514102744193,-0.51402050813,-0.513938267342,-0.51385602183,-0.513773771595,-0.513691516637,-0.513609256958,-0.513526992557,-0.513444723437,-0.513362449596,-0.513280171038,-0.513197887761,-0.513115599767,-0.513033307056,-0.51295100963,-0.512868707489,-0.512786400634,-0.512704089065,-0.512621772783,-0.51253945179,-0.512457126086,-0.512374795671,-0.512292460546,-0.512210120713,-0.512127776172,-0.512045426923,-0.511963072967,-0.511880714306,-0.511798350939,-0.511715982869,-0.511633610094,-0.511551232617,-0.511468850438,-0.511386463557,-0.511304071976,-0.511221675695,-0.511139274715,-0.511056869037,-0.510974458661,-0.510892043589,-0.51080962382,-0.510727199357,-0.510644770198,-0.510562336346,-0.510479897801,-0.510397454564,-0.510315006635,-0.510232554016,-0.510150096707,-0.510067634708,-0.509985168021,-0.509902696647,-0.509820220585,-0.509737739837,-0.509655254404,-0.509572764287,-0.509490269485,-0.50940777,-0.509325265833,-0.509242756984,-0.509160243455,-0.509077725245,-0.508995202356,-0.508912674789,-0.508830142543,-0.508747605621,-0.508665064022,-0.508582517748,-0.508499966799,-0.508417411175,-0.508334850879,-0.50825228591,-0.50816971627,-0.508087141958,-0.508004562976,-0.507921979325,-0.507839391005,-0.507756798017,-0.507674200362,-0.50759159804,-0.507508991053,-0.507426379401,-0.507343763084,-0.507261142105,-0.507178516462,-0.507095886158,-0.507013251193,-0.506930611567,-0.506847967282,-0.506765318338,-0.506682664736,-0.506600006476,-0.50651734356,-0.506434675988,-0.506352003761,-0.50626932688,-0.506186645345,-0.506103959158,-0.506021268318,-0.505938572827,-0.505855872686,-0.505773167895,-0.505690458455,-0.505607744367,-0.505525025632,-0.50544230225,-0.505359574222,-0.505276841548,-0.505194104231,-0.505111362269,-0.505028615665,-0.504945864419,-0.504863108531,-0.504780348003,-0.504697582835,-0.504614813028,-0.504532038582,-0.504449259499,-0.50436647578,-0.504283687424,-0.504200894433,-0.504118096807,-0.504035294548,-0.503952487655,-0.503869676131,-0.503786859975,-0.503704039188,-0.503621213772,-0.503538383726,-0.503455549051,-0.50337270975,-0.503289865821,-0.503207017266,-0.503124164086,-0.503041306281,-0.502958443852,-0.5028755768,-0.502792705126,-0.50270982883,-0.502626947914,-0.502544062377,-0.502461172221,-0.502378277447,-0.502295378055,-0.502212474046,-0.50212956542,-0.50204665218,-0.501963734324,-0.501880811855,-0.501797884772,-0.501714953077,-0.50163201677,-0.501549075853,-0.501466130325,-0.501383180188,-0.501300225442,-0.501217266089,-0.501134302128,-0.501051333561,-0.500968360389,-0.500885382611,-0.50080240023,-0.500719413245,-0.500636421658,-0.500553425469,-0.50047042468,-0.50038741929,-0.5003044093,-0.500221394712,-0.500138375526,-0.500055351742,-0.499972323363,-0.499889290387,-0.499806252817,-0.499723210653,-0.499640163895,-0.499557112545,-0.499474056603,-0.49939099607,-0.499307930946,-0.499224861234,-0.499141786932,-0.499058708042,-0.498975624565,-0.498892536502,-0.498809443853,-0.498726346619,-0.4986432448,-0.498560138399,-0.498477027414,-0.498393911848,-0.498310791701,-0.498227666973,-0.498144537665,-0.498061403779,-0.497978265315,-0.497895122273,-0.497811974655,-0.497728822461,-0.497645665692,-0.497562504349,-0.497479338433,-0.497396167943,-0.497312992882,-0.497229813249,-0.497146629046,-0.497063440274,-0.496980246932,-0.496897049023,-0.496813846546,-0.496730639502,-0.496647427893,-0.496564211718,-0.496480990979,-0.496397765677,-0.496314535811,-0.496231301384,-0.496148062396,-0.496064818847,-0.495981570738,-0.495898318071,-0.495815060845,-0.495731799061,-0.495648532722,-0.495565261826,-0.495481986375,-0.49539870637,-0.495315421811,-0.495232132699,-0.495148839035,-0.49506554082,-0.494982238054,-0.494898930739,-0.494815618875,-0.494732302462,-0.494648981502,-0.494565655995,-0.494482325942,-0.494398991344,-0.494315652202,-0.494232308516,-0.494148960287,-0.494065607516,-0.493982250204,-0.493898888351,-0.493815521958,-0.493732151026,-0.493648775556,-0.493565395549,-0.493482011004,-0.493398621924,-0.493315228309,-0.493231830159,-0.493148427475,-0.493065020259,-0.49298160851,-0.49289819223,-0.492814771419,-0.492731346079,-0.492647916209,-0.492564481811,-0.492481042886,-0.492397599433,-0.492314151455,-0.492230698951,-0.492147241923,-0.492063780372,-0.491980314297,-0.4918968437,-0.491813368582,-0.491729888943,-0.491646404784,-0.491562916107,-0.49147942291,-0.491395925197,-0.491312422966,-0.491228916219,-0.491145404957,-0.491061889181,-0.490978368891,-0.490894844088,-0.490811314773,-0.490727780946,-0.490644242608,-0.490560699761,-0.490477152405,-0.49039360054,-0.490310044167,-0.490226483288,-0.490142917903,-0.490059348012,-0.489975773617,-0.489892194719,-0.489808611317,-0.489725023413,-0.489641431007,-0.489557834101,-0.489474232695,-0.48939062679,-0.489307016386,-0.489223401485,-0.489139782087,-0.489056158193,-0.488972529804,-0.48888889692,-0.488805259542,-0.488721617671,-0.488637971309,-0.488554320454,-0.488470665109,-0.488387005274,-0.48830334095,-0.488219672138,-0.488135998838,-0.488052321051,-0.487968638778,-0.487884952019,-0.487801260776,-0.48771756505,-0.48763386484,-0.487550160148,-0.487466450975,-0.487382737321,-0.487299019187,-0.487215296574,-0.487131569483,-0.487047837914,-0.486964101868,-0.486880361346,-0.486796616349,-0.486712866877,-0.486629112932,-0.486545354513,-0.486461591622,-0.48637782426,-0.486294052427,-0.486210276124,-0.486126495353,-0.486042710112,-0.485958920404,-0.48587512623,-0.485791327589,-0.485707524483,-0.485623716912,-0.485539904878,-0.485456088381,-0.485372267421,-0.485288442,-0.485204612119,-0.485120777777,-0.485036938976,-0.484953095717,-0.484869248001,-0.484785395827,-0.484701539198,-0.484617678113,-0.484533812574,-0.484449942581,-0.484366068135,-0.484282189237,-0.484198305888,-0.484114418087,-0.484030525837,-0.483946629138,-0.483862727991,-0.483778822396,-0.483694912354,-0.483610997866,-0.483527078933,-0.483443155555,-0.483359227734,-0.48327529547,-0.483191358763,-0.483107417616,-0.483023472027,-0.482939521999,-0.482855567532,-0.482771608626,-0.482687645283,-0.482603677503,-0.482519705287,-0.482435728636,-0.482351747551,-0.482267762031,-0.482183772079,-0.482099777695,-0.482015778879,-0.481931775633,-0.481847767957,-0.481763755852,-0.481679739319,-0.481595718358,-0.48151169297,-0.481427663157,-0.481343628918,-0.481259590255,-0.481175547168,-0.481091499659,-0.481007447727,-0.480923391374,-0.4808393306,-0.480755265407,-0.480671195795,-0.480587121764,-0.480503043316,-0.480418960451,-0.480334873171,-0.480250781475,-0.480166685365,-0.480082584841,-0.479998479905,-0.479914370556,-0.479830256797,-0.479746138626,-0.479662016046,-0.479577889057,-0.47949375766,-0.479409621856,-0.479325481644,-0.479241337027,-0.479157188005,-0.479073034579,-0.478988876749,-0.478904714516,-0.478820547881,-0.478736376845,-0.478652201409,-0.478568021573,-0.478483837338,-0.478399648705,-0.478315455675,-0.478231258248,-0.478147056425,-0.478062850207,-0.477978639595,-0.477894424589,-0.477810205191,-0.477725981401,-0.47764175322,-0.477557520648,-0.477473283687,-0.477389042337,-0.477304796598,-0.477220546473,-0.477136291961,-0.477052033063,-0.47696776978,-0.476883502114,-0.476799230063,-0.47671495363,-0.476630672816,-0.47654638762,-0.476462098044,-0.476377804088,-0.476293505753,-0.476209203041,-0.476124895951,-0.476040584485,-0.475956268643,-0.475871948427,-0.475787623836,-0.475703294872,-0.475618961535,-0.475534623827,-0.475450281747,-0.475365935297,-0.475281584478,-0.47519722929,-0.475112869735,-0.475028505812,-0.474944137522,-0.474859764868,-0.474775387848,-0.474691006464,-0.474606620717,-0.474522230608,-0.474437836137,-0.474353437305,-0.474269034112,-0.474184626561,-0.474100214651,-0.474015798383,-0.473931377757,-0.473846952776,-0.473762523439,-0.473678089748,-0.473593651702,-0.473509209303,-0.473424762552,-0.47334031145,-0.473255855996,-0.473171396192,-0.473086932039,-0.473002463538,-0.472917990689,-0.472833513493,-0.47274903195,-0.472664546063,-0.47258005583,-0.472495561254,-0.472411062335,-0.472326559073,-0.47224205147,-0.472157539526,-0.472073023242,-0.471988502619,-0.471903977658,-0.471819448359,-0.471734914723,-0.471650376751,-0.471565834443,-0.471481287802,-0.471396736826,-0.471312181517,-0.471227621877,-0.471143057904,-0.471058489601,-0.470973916969,-0.470889340007,-0.470804758717,-0.470720173099,-0.470635583155,-0.470550988884,-0.470466390289,-0.470381787369,-0.470297180125,-0.470212568558,-0.47012795267,-0.47004333246,-0.469958707929,-0.469874079079,-0.46978944591,-0.469704808422,-0.469620166617,-0.469535520496,-0.469450870058,-0.469366215306,-0.469281556239,-0.469196892859,-0.469112225165,-0.46902755316,-0.468942876844,-0.468858196217,-0.468773511281,-0.468688822036,-0.468604128483,-0.468519430622,-0.468434728455,-0.468350021982,-0.468265311204,-0.468180596122,-0.468095876736,-0.468011153048,-0.467926425058,-0.467841692767,-0.467756956176,-0.467672215285,-0.467587470095,-0.467502720608,-0.467417966823,-0.467333208742,-0.467248446365,-0.467163679694,-0.467078908728,-0.466994133469,-0.466909353917,-0.466824570074,-0.46673978194,-0.466654989516,-0.466570192802,-0.466485391799,-0.466400586509,-0.466315776932,-0.466230963068,-0.466146144919,-0.466061322486,-0.465976495768,-0.465891664767,-0.465806829484,-0.465721989919,-0.465637146073,-0.465552297948,-0.465467445543,-0.46538258886,-0.465297727898,-0.46521286266,-0.465127993146,-0.465043119357,-0.464958241293,-0.464873358955,-0.464788472344,-0.464703581461,-0.464618686306,-0.464533786881,-0.464448883186,-0.464363975222,-0.464279062989,-0.464194146489,-0.464109225722,-0.464024300689,-0.463939371391,-0.463854437828,-0.463769500002,-0.463684557913,-0.463599611562,-0.463514660949,-0.463429706076,-0.463344746944,-0.463259783552,-0.463174815902,-0.463089843995,-0.463004867831,-0.462919887411,-0.462834902736,-0.462749913807,-0.462664920624,-0.462579923189,-0.462494921502,-0.462409915563,-0.462324905375,-0.462239890936,-0.462154872249,-0.462069849314,-0.461984822131,-0.461899790702,-0.461814755028,-0.461729715108,-0.461644670945,-0.461559622538,-0.461474569888,-0.461389512997,-0.461304451865,-0.461219386492,-0.46113431688,-0.46104924303,-0.460964164941,-0.460879082616,-0.460793996054,-0.460708905256,-0.460623810224,-0.460538710958,-0.460453607459,-0.460368499727,-0.460283387764,-0.46019827157,-0.460113151146,-0.460028026493,-0.459942897611,-0.459857764501,-0.459772627165,-0.459687485602,-0.459602339814,-0.459517189802,-0.459432035566,-0.459346877106,-0.459261714425,-0.459176547522,-0.459091376398,-0.459006201055,-0.458921021492,-0.458835837712,-0.458750649713,-0.458665457498,-0.458580261067,-0.458495060421,-0.45840985556,-0.458324646486,-0.458239433199,-0.4581542157,-0.45806899399,-0.457983768069,-0.457898537938,-0.457813303599,-0.457728065051,-0.457642822297,-0.457557575335,-0.457472324168,-0.457387068796,-0.457301809219,-0.45721654544,-0.457131277457,-0.457046005273,-0.456960728888,-0.456875448302,-0.456790163517,-0.456704874533,-0.456619581351,-0.456534283972,-0.456448982397,-0.456363676626,-0.45627836666,-0.456193052501,-0.456107734148,-0.456022411602,-0.455937084865,-0.455851753937,-0.455766418819,-0.455681079512,-0.455595736016,-0.455510388333,-0.455425036462,-0.455339680406,-0.455254320163,-0.455168955737,-0.455083587126,-0.454998214333,-0.454912837357,-0.4548274562,-0.454742070862,-0.454656681344,-0.454571287647,-0.454485889772,-0.454400487719,-0.45431508149,-0.454229671084,-0.454144256504,-0.454058837749,-0.45397341482,-0.453887987718,-0.453802556445,-0.453717121,-0.453631681385,-0.4535462376,-0.453460789646,-0.453375337524,-0.453289881235,-0.453204420779,-0.453118956157,-0.453033487371,-0.45294801442,-0.452862537306,-0.452777056029,-0.452691570591,-0.452606080991,-0.452520587231,-0.452435089312,-0.452349587234,-0.452264080998,-0.452178570605,-0.452093056055,-0.45200753735,-0.451922014491,-0.451836487477,-0.45175095631,-0.451665420991,-0.45157988152,-0.451494337898,-0.451408790127,-0.451323238206,-0.451237682136,-0.451152121919,-0.451066557555,-0.450980989045,-0.45089541639,-0.45080983959,-0.450724258646,-0.450638673559,-0.45055308433,-0.45046749096,-0.450381893449,-0.450296291799,-0.450210686009,-0.450125076081,-0.450039462016,-0.449953843814,-0.449868221476,-0.449782595003,-0.449696964395,-0.449611329655,-0.449525690781,-0.449440047776,-0.449354400639,-0.449268749372,-0.449183093975,-0.44909743445,-0.449011770796,-0.448926103016,-0.448840431109,-0.448754755076,-0.448669074918,-0.448583390637,-0.448497702232,-0.448412009704,-0.448326313055,-0.448240612285,-0.448154907395,-0.448069198386,-0.447983485257,-0.447897768012,-0.447812046649,-0.44772632117,-0.447640591575,-0.447554857866,-0.447469120043,-0.447383378108,-0.447297632059,-0.4472118819,-0.447126127629,-0.447040369249,-0.44695460676,-0.446868840162,-0.446783069457,-0.446697294645,-0.446611515728,-0.446525732705,-0.446439945577,-0.446354154346,-0.446268359013,-0.446182559577,-0.44609675604,-0.446010948403,-0.445925136666,-0.44583932083,-0.445753500896,-0.445667676865,-0.445581848737,-0.445496016514,-0.445410180196,-0.445324339783,-0.445238495278,-0.44515264668,-0.44506679399,-0.444980937209,-0.444895076338,-0.444809211377,-0.444723342328,-0.444637469191,-0.444551591967,-0.444465710657,-0.444379825262,-0.444293935782,-0.444208042218,-0.44412214457,-0.444036242841,-0.44395033703,-0.443864427139,-0.443778513167,-0.443692595117,-0.443606672988,-0.443520746781,-0.443434816498,-0.443348882139,-0.443262943705,-0.443177001196,-0.443091054614,-0.443005103959,-0.442919149232,-0.442833190433,-0.442747227565,-0.442661260626,-0.442575289619,-0.442489314544,-0.442403335401,-0.442317352192,-0.442231364918,-0.442145373578,-0.442059378174,-0.441973378707,-0.441887375178,-0.441801367586,-0.441715355934,-0.441629340222,-0.44154332045,-0.44145729662,-0.441371268732,-0.441285236787,-0.441199200785,-0.441113160729,-0.441027116617,-0.440941068452,-0.440855016234,-0.440768959964,-0.440682899642,-0.440596835269,-0.440510766847,-0.440424694375,-0.440338617856,-0.440252537288,-0.440166452675,-0.440080364015,-0.43999427131,-0.43990817456,-0.439822073767,-0.439735968932,-0.439649860054,-0.439563747135,-0.439477630176,-0.439391509178,-0.43930538414,-0.439219255065,-0.439133121952,-0.439046984803,-0.438960843618,-0.438874698398,-0.438788549145,-0.438702395858,-0.438616238539,-0.438530077188,-0.438443911806,-0.438357742394,-0.438271568952,-0.438185391483,-0.438099209985,-0.438013024461,-0.43792683491,-0.437840641334,-0.437754443734,-0.43766824211,-0.437582036463,-0.437495826794,-0.437409613103,-0.437323395392,-0.437237173661,-0.437150947911,-0.437064718143,-0.436978484357,-0.436892246555,-0.436806004737,-0.436719758904,-0.436633509057,-0.436547255196,-0.436460997323,-0.436374735438,-0.436288469542,-0.436202199635,-0.436115925719,-0.436029647794,-0.435943365862,-0.435857079922,-0.435770789976,-0.435684496025,-0.435598198069,-0.435511896108,-0.435425590145,-0.43533928018,-0.435252966213,-0.435166648245,-0.435080326277,-0.43499400031,-0.434907670344,-0.434821336381,-0.434734998422,-0.434648656466,-0.434562310515,-0.43447596057,-0.434389606631,-0.434303248699,-0.434216886775,-0.43413052086,-0.434044150955,-0.43395777706,-0.433871399176,-0.433785017304,-0.433698631444,-0.433612241599,-0.433525847767,-0.433439449951,-0.433353048151,-0.433266642367,-0.433180232601,-0.433093818853,-0.433007401124,-0.432920979416,-0.432834553727,-0.432748124061,-0.432661690416,-0.432575252795,-0.432488811198,-0.432402365625,-0.432315916077,-0.432229462556,-0.432143005062,-0.432056543596,-0.431970078158,-0.43188360875,-0.431797135372,-0.431710658025,-0.43162417671,-0.431537691427,-0.431451202178,-0.431364708963,-0.431278211783,-0.431191710639,-0.431105205531,-0.431018696461,-0.430932183429,-0.430845666436,-0.430759145483,-0.43067262057,-0.430586091698,-0.430499558869,-0.430413022083,-0.43032648134,-0.430239936642,-0.430153387989,-0.430066835383,-0.429980278823,-0.429893718311,-0.429807153847,-0.429720585433,-0.429634013069,-0.429547436756,-0.429460856494,-0.429374272285,-0.42928768413,-0.429201092028,-0.429114495981,-0.42902789599,-0.428941292055,-0.428854684178,-0.428768072359,-0.428681456598,-0.428594836897,-0.428508213257,-0.428421585678,-0.428334954161,-0.428248318707,-0.428161679316,-0.42807503599,-0.427988388729,-0.427901737534,-0.427815082406,-0.427728423345,-0.427641760353,-0.42755509343,-0.427468422577,-0.427381747795,-0.427295069085,-0.427208386447,-0.427121699882,-0.427035009391,-0.426948314975,-0.426861616634,-0.42677491437,-0.426688208183,-0.426601498074,-0.426514784044,-0.426428066093,-0.426341344223,-0.426254618434,-0.426167888727,-0.426081155102,-0.425994417562,-0.425907676105,-0.425820930734,-0.425734181448,-0.42564742825,-0.425560671138,-0.425473910116,-0.425387145182,-0.425300376338,-0.425213603585,-0.425126826924,-0.425040046355,-0.424953261879,-0.424866473496,-0.424779681209,-0.424692885017,-0.424606084922,-0.424519280923,-0.424432473023,-0.424345661221,-0.424258845519,-0.424172025917,-0.424085202416,-0.423998375017,-0.42391154372,-0.423824708528,-0.423737869439,-0.423651026456,-0.423564179578,-0.423477328807,-0.423390474144,-0.423303615589,-0.423216753143,-0.423129886807,-0.423043016581,-0.422956142467,-0.422869264466,-0.422782382577,-0.422695496802,-0.422608607142,-0.422521713598,-0.422434816169,-0.422347914858,-0.422261009665,-0.42217410059,-0.422087187635,-0.4220002708,-0.421913350086,-0.421826425494,-0.421739497024,-0.421652564679,-0.421565628457,-0.42147868836,-0.42139174439,-0.421304796545,-0.421217844829,-0.42113088924,-0.421043929781,-0.420956966452,-0.420869999253,-0.420783028186,-0.42069605325,-0.420609074448,-0.42052209178,-0.420435105247,-0.420348114849,-0.420261120587,-0.420174122462,-0.420087120475,-0.420000114627,-0.419913104918,-0.419826091349,-0.419739073922,-0.419652052636,-0.419565027493,-0.419477998493,-0.419390965638,-0.419303928928,-0.419216888363,-0.419129843945,-0.419042795675,-0.418955743553,-0.41886868758,-0.418781627757,-0.418694564084,-0.418607496563,-0.418520425194,-0.418433349978,-0.418346270916,-0.418259188009,-0.418172101257,-0.418085010662,-0.417997916223,-0.417910817942,-0.41782371582,-0.417736609858,-0.417649500055,-0.417562386414,-0.417475268935,-0.417388147618,-0.417301022464,-0.417213893475,-0.417126760651,-0.417039623993,-0.416952483502,-0.416865339178,-0.416778191022,-0.416691039035,-0.416603883218,-0.416516723572,-0.416429560098,-0.416342392795,-0.416255221666,-0.41616804671,-0.41608086793,-0.415993685324,-0.415906498895,-0.415819308643,-0.415732114569,-0.415644916674,-0.415557714958,-0.415470509422,-0.415383300068,-0.415296086895,-0.415208869905,-0.415121649098,-0.415034424476,-0.414947196039,-0.414859963788,-0.414772727723,-0.414685487846,-0.414598244157,-0.414510996658,-0.414423745348,-0.414336490229,-0.414249231301,-0.414161968566,-0.414074702024,-0.413987431676,-0.413900157523,-0.413812879565,-0.413725597803,-0.413638312238,-0.413551022872,-0.413463729704,-0.413376432736,-0.413289131968,-0.413201827401,-0.413114519036,-0.413027206874,-0.412939890915,-0.412852571161,-0.412765247612,-0.412677920268,-0.412590589132,-0.412503254203,-0.412415915483,-0.412328572971,-0.41224122667,-0.412153876579,-0.4120665227,-0.411979165034,-0.41189180358,-0.41180443834,-0.411717069316,-0.411629696507,-0.411542319914,-0.411454939538,-0.411367555381,-0.411280167442,-0.411192775723,-0.411105380224,-0.411017980946,-0.410930577891,-0.410843171058,-0.410755760449,-0.410668346064,-0.410580927905,-0.410493505971,-0.410406080264,-0.410318650785,-0.410231217535,-0.410143780514,-0.410056339722,-0.409968895162,-0.409881446833,-0.409793994737,-0.409706538874,-0.409619079245,-0.409531615851,-0.409444148692,-0.40935667777,-0.409269203086,-0.409181724639,-0.409094242431,-0.409006756463,-0.408919266736,-0.40883177325,-0.408744276005,-0.408656775004,-0.408569270247,-0.408481761734,-0.408394249466,-0.408306733445,-0.40821921367,-0.408131690143,-0.408044162865,-0.407956631836,-0.407869097057,-0.407781558529,-0.407694016253,-0.40760647023,-0.40751892046,-0.407431366944,-0.407343809683,-0.407256248677,-0.407168683929,-0.407081115438,-0.406993543204,-0.40690596723,-0.406818387516,-0.406730804063,-0.40664321687,-0.40655562594,-0.406468031273,-0.40638043287,-0.406292830732,-0.406205224859,-0.406117615252,-0.406030001912,-0.40594238484,-0.405854764037,-0.405767139503,-0.40567951124,-0.405591879248,-0.405504243527,-0.405416604079,-0.405328960905,-0.405241314005,-0.40515366338,-0.405066009031,-0.404978350959,-0.404890689164,-0.404803023648,-0.40471535441,-0.404627681453,-0.404540004777,-0.404452324382,-0.404364640269,-0.404276952439,-0.404189260894,-0.404101565633,-0.404013866658,-0.403926163969,-0.403838457568,-0.403750747454,-0.403663033629,-0.403575316094,-0.403487594849,-0.403399869896,-0.403312141235,-0.403224408866,-0.403136672791,-0.40304893301,-0.402961189525,-0.402873442336,-0.402785691444,-0.402697936849,-0.402610178553,-0.402522416556,-0.402434650859,-0.402346881464,-0.402259108369,-0.402171331578,-0.40208355109,-0.401995766905,-0.401907979026,-0.401820187453,-0.401732392186,-0.401644593226,-0.401556790575,-0.401468984233,-0.4013811742,-0.401293360478,-0.401205543067,-0.401117721969,-0.401029897184,-0.400942068712,-0.400854236555,-0.400766400714,-0.400678561188,-0.40059071798,-0.40050287109,-0.400415020518,-0.400327166266,-0.400239308334,-0.400151446723,-0.400063581434,-0.399975712468,-0.399887839825,-0.399799963506,-0.399712083513,-0.399624199846,-0.399536312505,-0.399448421492,-0.399360526807,-0.399272628452,-0.399184726426,-0.399096820731,-0.399008911368,-0.398920998337,-0.398833081639,-0.398745161276,-0.398657237247,-0.398569309554,-0.398481378197,-0.398393443177,-0.398305504496,-0.398217562153,-0.39812961615,-0.398041666488,-0.397953713167,-0.397865756188,-0.397777795552,-0.397689831259,-0.397601863311,-0.397513891709,-0.397425916452,-0.397337937543,-0.397249954981,-0.397161968768,-0.397073978904,-0.39698598539,-0.396897988228,-0.396809987417,-0.396721982958,-0.396633974854,-0.396545963103,-0.396457947707,-0.396369928668,-0.396281905985,-0.396193879659,-0.396105849692,-0.396017816083,-0.395929778835,-0.395841737947,-0.395753693421,-0.395665645257,-0.395577593457,-0.39548953802,-0.395401478948,-0.395313416241,-0.395225349901,-0.395137279928,-0.395049206323,-0.394961129087,-0.394873048221,-0.394784963724,-0.394696875599,-0.394608783847,-0.394520688466,-0.39443258946,-0.394344486828,-0.394256380571,-0.394168270691,-0.394080157187,-0.393992040061,-0.393903919314,-0.393815794945,-0.393727666957,-0.39363953535,-0.393551400125,-0.393463261282,-0.393375118823,-0.393286972747,-0.393198823057,-0.393110669753,-0.393022512835,-0.392934352304,-0.392846188162,-0.392758020409,-0.392669849046,-0.392581674073,-0.392493495492,-0.392405313303,-0.392317127507,-0.392228938105,-0.392140745098,-0.392052548486,-0.391964348271,-0.391876144453,-0.391787937033,-0.391699726011,-0.391611511389,-0.391523293168,-0.391435071348,-0.391346845929,-0.391258616914,-0.391170384302,-0.391082148095,-0.390993908293,-0.390905664897,-0.390817417908,-0.390729167326,-0.390640913153,-0.39055265539,-0.390464394036,-0.390376129094,-0.390287860563,-0.390199588444,-0.39011131274,-0.390023033449,-0.389934750573,-0.389846464113,-0.38975817407,-0.389669880444,-0.389581583236,-0.389493282448,-0.389404978079,-0.389316670131,-0.389228358604,-0.3891400435,-0.389051724819,-0.388963402562,-0.388875076729,-0.388786747322,-0.388698414342,-0.388610077788,-0.388521737663,-0.388433393966,-0.388345046699,-0.388256695862,-0.388168341457,-0.388079983483,-0.387991621943,-0.387903256836,-0.387814888164,-0.387726515926,-0.387638140125,-0.387549760761,-0.387461377835,-0.387372991347,-0.387284601299,-0.38719620769,-0.387107810523,-0.387019409797,-0.386931005514,-0.386842597675,-0.38675418628,-0.386665771329,-0.386577352825,-0.386488930767,-0.386400505157,-0.386312075995,-0.386223643282,-0.386135207019,-0.386046767207,-0.385958323846,-0.385869876938,-0.385781426482,-0.385692972481,-0.385604514935,-0.385516053844,-0.38542758921,-0.385339121032,-0.385250649313,-0.385162174053,-0.385073695252,-0.384985212912,-0.384896727034,-0.384808237617,-0.384719744663,-0.384631248173,-0.384542748148,-0.384454244587,-0.384365737494,-0.384277226867,-0.384188712707,-0.384100195017,-0.384011673796,-0.383923149045,-0.383834620765,-0.383746088957,-0.383657553622,-0.38356901476,-0.383480472373,-0.383391926461,-0.383303377024,-0.383214824065,-0.383126267583,-0.383037707579,-0.382949144055,-0.382860577011,-0.382772006447,-0.382683432365,-0.382594854766,-0.382506273649,-0.382417689017,-0.38232910087,-0.382240509209,-0.382151914034,-0.382063315346,-0.381974713147,-0.381886107436,-0.381797498215,-0.381708885485,-0.381620269247,-0.3815316495,-0.381443026247,-0.381354399487,-0.381265769222,-0.381177135453,-0.38108849818,-0.380999857404,-0.380911213126,-0.380822565346,-0.380733914067,-0.380645259287,-0.380556601009,-0.380467939233,-0.380379273959,-0.38029060519,-0.380201932924,-0.380113257164,-0.38002457791,-0.379935895163,-0.379847208924,-0.379758519193,-0.379669825972,-0.37958112926,-0.37949242906,-0.379403725372,-0.379315018196,-0.379226307533,-0.379137593385,-0.379048875752,-0.378960154634,-0.378871430034,-0.37878270195,-0.378693970385,-0.37860523534,-0.378516496814,-0.378427754809,-0.378339009325,-0.378250260364,-0.378161507926,-0.378072752012,-0.377983992623,-0.37789522976,-0.377806463423,-0.377717693613,-0.377628920332,-0.377540143579,-0.377451363356,-0.377362579664,-0.377273792503,-0.377185001874,-0.377096207778,-0.377007410216,-0.376918609189,-0.376829804697,-0.376740996741,-0.376652185323,-0.376563370442,-0.3764745521,-0.376385730298,-0.376296905036,-0.376208076315,-0.376119244136,-0.3760304085,-0.375941569407,-0.375852726859,-0.375763880856,-0.375675031399,-0.375586178489,-0.375497322127,-0.375408462313,-0.375319599049,-0.375230732334,-0.375141862171,-0.37505298856,-0.374964111501,-0.374875230995,-0.374786347044,-0.374697459647,-0.374608568807,-0.374519674523,-0.374430776797,-0.374341875629,-0.37425297102,-0.374164062971,-0.374075151483,-0.373986236557,-0.373897318193,-0.373808396392,-0.373719471155,-0.373630542483,-0.373541610377,-0.373452674837,-0.373363735864,-0.37327479346,-0.373185847624,-0.373096898359,-0.373007945663,-0.37291898954,-0.372830029988,-0.37274106701,-0.372652100605,-0.372563130775,-0.37247415752,-0.372385180842,-0.372296200741,-0.372207217218,-0.372118230273,-0.372029239908,-0.371940246124,-0.37185124892,-0.371762248299,-0.371673244261,-0.371584236806,-0.371495225936,-0.371406211651,-0.371317193952,-0.37122817284,-0.371139148316,-0.37105012038,-0.370961089034,-0.370872054278,-0.370783016113,-0.37069397454,-0.370604929559,-0.370515881172,-0.370426829379,-0.370337774182,-0.37024871558,-0.370159653575,-0.370070588168,-0.369981519359,-0.369892447149,-0.369803371539,-0.36971429253,-0.369625210123,-0.369536124318,-0.369447035117,-0.36935794252,-0.369268846527,-0.369179747141,-0.369090644361,-0.369001538188,-0.368912428624,-0.368823315668,-0.368734199323,-0.368645079588,-0.368555956464,-0.368466829953,-0.368377700055,-0.368288566771,-0.368199430102,-0.368110290049,-0.368021146612,-0.367931999792,-0.36784284959,-0.367753696007,-0.367664539043,-0.3675753787,-0.367486214979,-0.367397047879,-0.367307877403,-0.36721870355,-0.367129526322,-0.36704034572,-0.366951161743,-0.366861974394,-0.366772783673,-0.36668358958,-0.366594392117,-0.366505191284,-0.366415987082,-0.366326779513,-0.366237568576,-0.366148354272,-0.366059136604,-0.36596991557,-0.365880691173,-0.365791463412,-0.365702232289,-0.365612997805,-0.36552375996,-0.365434518755,-0.365345274191,-0.365256026269,-0.36516677499,-0.365077520354,-0.364988262363,-0.364899001016,-0.364809736316,-0.364720468262,-0.364631196856,-0.364541922098,-0.364452643989,-0.364363362531,-0.364274077723,-0.364184789567,-0.364095498064,-0.364006203213,-0.363916905017,-0.363827603476,-0.363738298591,-0.363648990362,-0.36355967879,-0.363470363877,-0.363381045623,-0.363291724029,-0.363202399096,-0.363113070824,-0.363023739214,-0.362934404268,-0.362845065985,-0.362755724367,-0.362666379415,-0.36257703113,-0.362487679511,-0.362398324561,-0.36230896628,-0.362219604668,-0.362130239727,-0.362040871458,-0.36195149986,-0.361862124936,-0.361772746685,-0.361683365109,-0.361593980209,-0.361504591985,-0.361415200438,-0.361325805568,-0.361236407378,-0.361147005867,-0.361057601037,-0.360968192888,-0.360878781421,-0.360789366637,-0.360699948537,-0.360610527121,-0.36052110239,-0.360431674346,-0.360342242988,-0.360252808319,-0.360163370338,-0.360073929046,-0.359984484445,-0.359895036535,-0.359805585317,-0.359716130791,-0.359626672959,-0.359537211822,-0.35944774738,-0.359358279633,-0.359268808584,-0.359179334232,-0.359089856579,-0.359000375625,-0.358910891371,-0.358821403819,-0.358731912968,-0.358642418819,-0.358552921374,-0.358463420634,-0.358373916598,-0.358284409268,-0.358194898645,-0.35810538473,-0.358015867523,-0.357926347025,-0.357836823237,-0.35774729616,-0.357657765795,-0.357568232142,-0.357478695203,-0.357389154977,-0.357299611467,-0.357210064672,-0.357120514594,-0.357030961233,-0.356941404591,-0.356851844668,-0.356762281464,-0.356672714982,-0.35658314522,-0.356493572182,-0.356403995866,-0.356314416274,-0.356224833408,-0.356135247267,-0.356045657852,-0.355956065165,-0.355866469205,-0.355776869975,-0.355687267475,-0.355597661705,-0.355508052666,-0.35541844036,-0.355328824787,-0.355239205948,-0.355149583843,-0.355059958474,-0.354970329842,-0.354880697946,-0.354791062789,-0.35470142437,-0.354611782691,-0.354522137753,-0.354432489556,-0.354342838101,-0.354253183389,-0.35416352542,-0.354073864197,-0.353984199719,-0.353894531987,-0.353804861002,-0.353715186765,-0.353625509277,-0.353535828538,-0.353446144549,-0.353356457312,-0.353266766827,-0.353177073095,-0.353087376116,-0.352997675892,-0.352907972424,-0.352818265711,-0.352728555755,-0.352638842557,-0.352549126118,-0.352459406438,-0.352369683519,-0.35227995736,-0.352190227964,-0.35210049533,-0.35201075946,-0.351921020354,-0.351831278013,-0.351741532439,-0.351651783631,-0.351562031591,-0.35147227632,-0.351382517818,-0.351292756086,-0.351202991125,-0.351113222935,-0.351023451519,-0.350933676876,-0.350843899007,-0.350754117913,-0.350664333596,-0.350574546055,-0.350484755292,-0.350394961307,-0.350305164101,-0.350215363675,-0.350125560031,-0.350035753168,-0.349945943087,-0.34985612979,-0.349766313277,-0.349676493549,-0.349586670607,-0.349496844452,-0.349407015084,-0.349317182505,-0.349227346714,-0.349137507714,-0.349047665505,-0.348957820087,-0.348867971461,-0.348778119629,-0.348688264591,-0.348598406348,-0.3485085449,-0.348418680249,-0.348328812396,-0.348238941341,-0.348149067085,-0.348059189629,-0.347969308973,-0.347879425119,-0.347789538067,-0.347699647819,-0.347609754375,-0.347519857735,-0.347429957901,-0.347340054874,-0.347250148654,-0.347160239242,-0.347070326639,-0.346980410846,-0.346890491863,-0.346800569692,-0.346710644334,-0.346620715788,-0.346530784056,-0.346440849139,-0.346350911038,-0.346260969753,-0.346171025285,-0.346081077636,-0.345991126805,-0.345901172794,-0.345811215604,-0.345721255235,-0.345631291688,-0.345541324964,-0.345451355064,-0.345361381989,-0.345271405739,-0.345181426316,-0.345091443719,-0.345001457951,-0.344911469012,-0.344821476902,-0.344731481622,-0.344641483174,-0.344551481559,-0.344461476776,-0.344371468826,-0.344281457712,-0.344191443433,-0.34410142599,-0.344011405384,-0.343921381616,-0.343831354687,-0.343741324598,-0.343651291349,-0.343561254941,-0.343471215375,-0.343381172652,-0.343291126773,-0.343201077738,-0.343111025549,-0.343020970206,-0.34293091171,-0.342840850062,-0.342750785262,-0.342660717312,-0.342570646212,-0.342480571964,-0.342390494567,-0.342300414024,-0.342210330333,-0.342120243498,-0.342030153518,-0.341940060393,-0.341849964126,-0.341759864717,-0.341669762166,-0.341579656475,-0.341489547644,-0.341399435674,-0.341309320566,-0.34121920232,-0.341129080939,-0.341038956421,-0.340948828769,-0.340858697983,-0.340768564064,-0.340678427013,-0.34058828683,-0.340498143517,-0.340407997074,-0.340317847501,-0.340227694801,-0.340137538974,-0.340047380019,-0.33995721794,-0.339867052735,-0.339776884407,-0.339686712955,-0.339596538381,-0.339506360686,-0.33941617987,-0.339325995934,-0.339235808879,-0.339145618705,-0.339055425415,-0.338965229008,-0.338875029485,-0.338784826848,-0.338694621096,-0.338604412231,-0.338514200254,-0.338423985165,-0.338333766966,-0.338243545656,-0.338153321238,-0.338063093711,-0.337972863077,-0.337882629336,-0.33779239249,-0.337702152538,-0.337611909483,-0.337521663324,-0.337431414063,-0.337341161701,-0.337250906237,-0.337160647674,-0.337070386011,-0.33698012125,-0.336889853392,-0.336799582437,-0.336709308387,-0.336619031241,-0.336528751001,-0.336438467668,-0.336348181243,-0.336257891726,-0.336167599118,-0.33607730342,-0.335987004633,-0.335896702757,-0.335806397794,-0.335716089745,-0.335625778609,-0.335535464389,-0.335445147085,-0.335354826697,-0.335264503226,-0.335174176674,-0.335083847041,-0.334993514328,-0.334903178536,-0.334812839666,-0.334722497718,-0.334632152693,-0.334541804592,-0.334451453417,-0.334361099167,-0.334270741844,-0.334180381448,-0.33409001798,-0.333999651442,-0.333909281834,-0.333818909156,-0.33372853341,-0.333638154596,-0.333547772716,-0.33345738777,-0.333366999759,-0.333276608683,-0.333186214544,-0.333095817343,-0.333005417079,-0.332915013755,-0.332824607371,-0.332734197927,-0.332643785426,-0.332553369866,-0.33246295125,-0.332372529578,-0.33228210485,-0.332191677069,-0.332101246234,-0.332010812346,-0.331920375407,-0.331829935416,-0.331739492376,-0.331649046286,-0.331558597148,-0.331468144962,-0.33137768973,-0.331287231451,-0.331196770128,-0.33110630576,-0.331015838349,-0.330925367895,-0.330834894399,-0.330744417862,-0.330653938285,-0.330563455669,-0.330472970014,-0.330382481322,-0.330291989593,-0.330201494828,-0.330110997028,-0.330020496193,-0.329929992325,-0.329839485424,-0.329748975492,-0.329658462529,-0.329567946535,-0.329477427512,-0.329386905461,-0.329296380382,-0.329205852276,-0.329115321144,-0.329024786987,-0.328934249806,-0.328843709601,-0.328753166373,-0.328662620124,-0.328572070854,-0.328481518563,-0.328390963253,-0.328300404925,-0.328209843579,-0.328119279216,-0.328028711837,-0.327938141443,-0.327847568035,-0.327756991613,-0.327666412179,-0.327575829733,-0.327485244275,-0.327394655808,-0.327304064331,-0.327213469845,-0.327122872352,-0.327032271853,-0.326941668347,-0.326851061836,-0.32676045232,-0.326669839801,-0.32657922428,-0.326488605756,-0.326397984232,-0.326307359707,-0.326216732183,-0.326126101661,-0.32603546814,-0.325944831623,-0.32585419211,-0.325763549602,-0.325672904099,-0.325582255603,-0.325491604115,-0.325400949634,-0.325310292162,-0.3252196317,-0.325128968249,-0.32503830181,-0.324947632382,-0.324856959968,-0.324766284568,-0.324675606182,-0.324584924813,-0.324494240459,-0.324403553123,-0.324312862805,-0.324222169507,-0.324131473228,-0.324040773969,-0.323950071732,-0.323859366518,-0.323768658326,-0.323677947159,-0.323587233016,-0.3234965159,-0.323405795809,-0.323315072746,-0.323224346711,-0.323133617705,-0.323042885729,-0.322952150783,-0.322861412869,-0.322770671988,-0.322679928139,-0.322589181325,-0.322498431545,-0.322407678801,-0.322316923094,-0.322226164423,-0.322135402791,-0.322044638198,-0.321953870645,-0.321863100133,-0.321772326662,-0.321681550233,-0.321590770847,-0.321499988506,-0.321409203209,-0.321318414958,-0.321227623754,-0.321136829597,-0.321046032488,-0.320955232428,-0.320864429418,-0.320773623458,-0.320682814551,-0.320592002695,-0.320501187893,-0.320410370144,-0.320319549451,-0.320228725813,-0.320137899232,-0.320047069708,-0.319956237242,-0.319865401836,-0.319774563489,-0.319683722203,-0.319592877978,-0.319502030816,-0.319411180717,-0.319320327682,-0.319229471712,-0.319138612808,-0.31904775097,-0.318956886199,-0.318866018497,-0.318775147864,-0.318684274301,-0.318593397808,-0.318502518387,-0.318411636039,-0.318320750763,-0.318229862562,-0.318138971436,-0.318048077385,-0.317957180411,-0.317866280514,-0.317775377696,-0.317684471956,-0.317593563297,-0.317502651718,-0.317411737221,-0.317320819806,-0.317229899475,-0.317138976228,-0.317048050065,-0.316957120989,-0.316866188998,-0.316775254096,-0.316684316281,-0.316593375556,-0.316502431921,-0.316411485376,-0.316320535923,-0.316229583563,-0.316138628296,-0.316047670123,-0.315956709045,-0.315865745062,-0.315774778176,-0.315683808388,-0.315592835698,-0.315501860108,-0.315410881617,-0.315319900227,-0.315228915938,-0.315137928753,-0.31504693867,-0.314955945692,-0.314864949818,-0.314773951051,-0.31468294939,-0.314591944836,-0.314500937391,-0.314409927055,-0.314318913829,-0.314227897714,-0.314136878711,-0.31404585682,-0.313954832043,-0.31386380438,-0.313772773831,-0.313681740399,-0.313590704083,-0.313499664885,-0.313408622805,-0.313317577845,-0.313226530004,-0.313135479285,-0.313044425687,-0.312953369212,-0.31286230986,-0.312771247632,-0.312680182529,-0.312589114553,-0.312498043703,-0.31240696998,-0.312315893386,-0.312224813922,-0.312133731587,-0.312042646384,-0.311951558312,-0.311860467372,-0.311769373567,-0.311678276895,-0.311587177359,-0.311496074958,-0.311404969695,-0.311313861569,-0.311222750581,-0.311131636733,-0.311040520025,-0.310949400458,-0.310858278032,-0.31076715275,-0.31067602461,-0.310584893616,-0.310493759766,-0.310402623062,-0.310311483506,-0.310220341096,-0.310129195836,-0.310038047725,-0.309946896764,-0.309855742954,-0.309764586295,-0.30967342679,-0.309582264438,-0.309491099241,-0.309399931198,-0.309308760312,-0.309217586583,-0.309126410011,-0.309035230598,-0.308944048345,-0.308852863252,-0.308761675319,-0.308670484549,-0.308579290942,-0.308488094498,-0.308396895218,-0.308305693104,-0.308214488156,-0.308123280375,-0.308032069761,-0.307940856317,-0.307849640042,-0.307758420937,-0.307667199003,-0.307575974241,-0.307484746652,-0.307393516237,-0.307302282996,-0.307211046931,-0.307119808042,-0.307028566329,-0.306937321795,-0.306846074439,-0.306754824263,-0.306663571267,-0.306572315453,-0.30648105682,-0.306389795371,-0.306298531105,-0.306207264024,-0.306115994128,-0.306024721418,-0.305933445896,-0.305842167561,-0.305750886415,-0.305659602459,-0.305568315693,-0.305477026119,-0.305385733736,-0.305294438547,-0.305203140551,-0.30511183975,-0.305020536145,-0.304929229735,-0.304837920523,-0.304746608509,-0.304655293694,-0.304563976079,-0.304472655663,-0.30438133245,-0.304290006438,-0.30419867763,-0.304107346025,-0.304016011625,-0.303924674431,-0.303833334443,-0.303741991662,-0.30365064609,-0.303559297726,-0.303467946572,-0.303376592629,-0.303285235897,-0.303193876377,-0.30310251407,-0.303011148978,-0.3029197811,-0.302828410438,-0.302737036992,-0.302645660763,-0.302554281753,-0.302462899962,-0.30237151539,-0.302280128039,-0.30218873791,-0.302097345003,-0.302005949319,-0.301914550859,-0.301823149625,-0.301731745615,-0.301640338833,-0.301548929277,-0.30145751695,-0.301366101852,-0.301274683984,-0.301183263347,-0.301091839941,-0.301000413768,-0.300908984828,-0.300817553122,-0.300726118651,-0.300634681416,-0.300543241417,-0.300451798656,-0.300360353133,-0.30026890485,-0.300177453806,-0.300086000003,-0.299994543442,-0.299903084124,-0.299811622048,-0.299720157217,-0.299628689631,-0.299537219291,-0.299445746198,-0.299354270352,-0.299262791754,-0.299171310406,-0.299079826308,-0.298988339461,-0.298896849865,-0.298805357523,-0.298713862433,-0.298622364598,-0.298530864018,-0.298439360694,-0.298347854627,-0.298256345817,-0.298164834266,-0.298073319974,-0.297981802943,-0.297890283172,-0.297798760664,-0.297707235418,-0.297615707435,-0.297524176717,-0.297432643264,-0.297341107077,-0.297249568157,-0.297158026505,-0.297066482122,-0.296974935008,-0.296883385164,-0.296791832591,-0.29670027729,-0.296608719262,-0.296517158508,-0.296425595028,-0.296334028823,-0.296242459895,-0.296150888244,-0.29605931387,-0.295967736775,-0.29587615696,-0.295784574425,-0.295692989171,-0.295601401199,-0.295509810511,-0.295418217106,-0.295326620985,-0.29523502215,-0.295143420601,-0.295051816339,-0.294960209366,-0.294868599681,-0.294776987285,-0.294685372181,-0.294593754367,-0.294502133846,-0.294410510617,-0.294318884683,-0.294227256043,-0.294135624698,-0.29404399065,-0.2939523539,-0.293860714447,-0.293769072293,-0.293677427439,-0.293585779886,-0.293494129634,-0.293402476684,-0.293310821037,-0.293219162694,-0.293127501656,-0.293035837924,-0.292944171498,-0.29285250238,-0.292760830569,-0.292669156068,-0.292577478876,-0.292485798996,-0.292394116426,-0.292302431169,-0.292210743226,-0.292119052596,-0.292027359281,-0.291935663282,-0.2918439646,-0.291752263235,-0.291660559188,-0.291568852461,-0.291477143053,-0.291385430966,-0.291293716201,-0.291201998759,-0.291110278639,-0.291018555844,-0.290926830374,-0.29083510223,-0.290743371412,-0.290651637922,-0.290559901761,-0.290468162928,-0.290376421426,-0.290284677254,-0.290192930415,-0.290101180908,-0.290009428734,-0.289917673895,-0.289825916391,-0.289734156223,-0.289642393391,-0.289550627898,-0.289458859743,-0.289367088927,-0.289275315451,-0.289183539317,-0.289091760524,-0.288999979074,-0.288908194968,-0.288816408206,-0.288724618789,-0.288632826719,-0.288541031995,-0.288449234619,-0.288357434592,-0.288265631915,-0.288173826587,-0.288082018611,-0.287990207987,-0.287898394715,-0.287806578798,-0.287714760235,-0.287622939027,-0.287531115176,-0.287439288681,-0.287347459545,-0.287255627767,-0.287163793349,-0.287071956291,-0.286980116595,-0.286888274261,-0.286796429289,-0.286704581682,-0.286612731439,-0.286520878562,-0.286429023051,-0.286337164908,-0.286245304132,-0.286153440725,-0.286061574688,-0.285969706022,-0.285877834727,-0.285785960804,-0.285694084255,-0.285602205079,-0.285510323278,-0.285418438853,-0.285326551805,-0.285234662133,-0.28514276984,-0.285050874926,-0.284958977392,-0.284867077238,-0.284775174466,-0.284683269077,-0.284591361071,-0.284499450449,-0.284407537211,-0.28431562136,-0.284223702895,-0.284131781818,-0.284039858129,-0.283947931829,-0.283856002919,-0.2837640714,-0.283672137273,-0.283580200538,-0.283488261197,-0.283396319249,-0.283304374697,-0.283212427541,-0.283120477782,-0.28302852542,-0.282936570457,-0.282844612893,-0.282752652729,-0.282660689967,-0.282568724606,-0.282476756647,-0.282384786093,-0.282292812942,-0.282200837197,-0.282108858858,-0.282016877926,-0.281924894402,-0.281832908286,-0.28174091958,-0.281648928284,-0.281556934399,-0.281464937926,-0.281372938866,-0.281280937219,-0.281188932988,-0.281096926171,-0.281004916771,-0.280912904788,-0.280820890222,-0.280728873076,-0.280636853349,-0.280544831042,-0.280452806157,-0.280360778694,-0.280268748654,-0.280176716038,-0.280084680846,-0.27999264308,-0.279900602741,-0.279808559828,-0.279716514344,-0.279624466288,-0.279532415663,-0.279440362467,-0.279348306704,-0.279256248372,-0.279164187474,-0.27907212401,-0.27898005798,-0.278887989387,-0.278795918229,-0.278703844509,-0.278611768228,-0.278519689385,-0.278427607982,-0.27833552402,-0.2782434375,-0.278151348422,-0.278059256787,-0.277967162597,-0.277875065852,-0.277782966552,-0.277690864699,-0.277598760293,-0.277506653336,-0.277414543828,-0.277322431771,-0.277230317164,-0.277138200009,-0.277046080306,-0.276953958057,-0.276861833262,-0.276769705923,-0.276677576039,-0.276585443612,-0.276493308643,-0.276401171132,-0.276309031081,-0.27621688849,-0.27612474336,-0.276032595692,-0.275940445487,-0.275848292746,-0.275756137468,-0.275663979657,-0.275571819311,-0.275479656432,-0.275387491021,-0.275295323079,-0.275203152607,-0.275110979605,-0.275018804074,-0.274926626015,-0.274834445429,-0.274742262317,-0.274650076679,-0.274557888517,-0.274465697831,-0.274373504623,-0.274281308892,-0.274189110641,-0.274096909869,-0.274004706577,-0.273912500767,-0.27382029244,-0.273728081595,-0.273635868234,-0.273543652358,-0.273451433968,-0.273359213064,-0.273266989648,-0.27317476372,-0.273082535281,-0.272990304331,-0.272898070873,-0.272805834906,-0.272713596431,-0.27262135545,-0.272529111963,-0.272436865971,-0.272344617474,-0.272252366475,-0.272160112972,-0.272067856969,-0.271975598464,-0.271883337459,-0.271791073956,-0.271698807954,-0.271606539455,-0.271514268459,-0.271421994967,-0.271329718981,-0.2712374405,-0.271145159527,-0.271052876061,-0.270960590104,-0.270868301656,-0.270776010718,-0.270683717291,-0.270591421377,-0.270499122975,-0.270406822087,-0.270314518713,-0.270222212854,-0.270129904512,-0.270037593687,-0.269945280379,-0.269852964591,-0.269760646322,-0.269668325573,-0.269576002346,-0.26948367664,-0.269391348458,-0.269299017799,-0.269206684665,-0.269114349057,-0.269022010975,-0.26892967042,-0.268837327394,-0.268744981896,-0.268652633928,-0.26856028349,-0.268467930584,-0.268375575211,-0.26828321737,-0.268190857063,-0.268098494292,-0.268006129056,-0.267913761356,-0.267821391194,-0.26772901857,-0.267636643486,-0.267544265941,-0.267451885937,-0.267359503474,-0.267267118554,-0.267174731178,-0.267082341345,-0.266989949058,-0.266897554317,-0.266805157122,-0.266712757475,-0.266620355376,-0.266527950827,-0.266435543828,-0.266343134379,-0.266250722483,-0.266158308139,-0.266065891349,-0.265973472113,-0.265881050432,-0.265788626308,-0.26569619974,-0.26560377073,-0.265511339279,-0.265418905387,-0.265326469056,-0.265234030286,-0.265141589077,-0.265049145432,-0.26495669935,-0.264864250833,-0.264771799882,-0.264679346496,-0.264586890678,-0.264494432428,-0.264401971746,-0.264309508635,-0.264217043093,-0.264124575124,-0.264032104726,-0.263939631901,-0.263847156651,-0.263754678975,-0.263662198875,-0.263569716351,-0.263477231404,-0.263384744036,-0.263292254247,-0.263199762037,-0.263107267409,-0.263014770362,-0.262922270897,-0.262829769016,-0.262737264719,-0.262644758006,-0.26255224888,-0.26245973734,-0.262367223388,-0.262274707024,-0.262182188249,-0.262089667065,-0.261997143471,-0.261904617469,-0.26181208906,-0.261719558244,-0.261627025023,-0.261534489397,-0.261441951366,-0.261349410933,-0.261256868097,-0.26116432286,-0.261071775223,-0.260979225186,-0.260886672749,-0.260794117915,-0.260701560684,-0.260609001056,-0.260516439033,-0.260423874615,-0.260331307804,-0.2602387386,-0.260146167003,-0.260053593015,-0.259961016637,-0.25986843787,-0.259775856714,-0.25968327317,-0.259590687239,-0.259498098922,-0.25940550822,-0.259312915133,-0.259220319663,-0.25912772181,-0.259035121575,-0.258942518959,-0.258849913963,-0.258757306588,-0.258664696834,-0.258572084703,-0.258479470195,-0.258386853311,-0.258294234052,-0.258201612419,-0.258108988413,-0.258016362034,-0.257923733283,-0.257831102162,-0.257738468671,-0.257645832811,-0.257553194582,-0.257460553986,-0.257367911024,-0.257275265696,-0.257182618003,-0.257089967946,-0.256997315526,-0.256904660743,-0.2568120036,-0.256719344096,-0.256626682232,-0.256534018009,-0.256441351428,-0.25634868249,-0.256256011196,-0.256163337546,-0.256070661542,-0.255977983184,-0.255885302473,-0.25579261941,-0.255699933995,-0.255607246231,-0.255514556117,-0.255421863654,-0.255329168844,-0.255236471686,-0.255143772183,-0.255051070334,-0.254958366141,-0.254865659605,-0.254772950725,-0.254680239504,-0.254587525942,-0.25449481004,-0.254402091799,-0.254309371219,-0.254216648301,-0.254123923047,-0.254031195457,-0.253938465532,-0.253845733273,-0.253752998681,-0.253660261756,-0.2535675225,-0.253474780913,-0.253382036996,-0.25328929075,-0.253196542175,-0.253103791274,-0.253011038046,-0.252918282492,-0.252825524613,-0.252732764411,-0.252640001886,-0.252547237038,-0.252454469869,-0.25236170038,-0.25226892857,-0.252176154442,-0.252083377996,-0.251990599233,-0.251897818154,-0.25180503476,-0.25171224905,-0.251619461028,-0.251526670692,-0.251433878044,-0.251341083085,-0.251248285816,-0.251155486238,-0.251062684351,-0.250969880156,-0.250877073654,-0.250784264847,-0.250691453734,-0.250598640317,-0.250505824596,-0.250413006573,-0.250320186248,-0.250227363622,-0.250134538696,-0.250041711471,-0.249948881948,-0.249856050127,-0.24976321601,-0.249670379597,-0.249577540889,-0.249484699886,-0.249391856591,-0.249299011003,-0.249206163124,-0.249113312954,-0.249020460494,-0.248927605746,-0.248834748709,-0.248741889385,-0.248649027775,-0.248556163879,-0.248463297698,-0.248370429234,-0.248277558487,-0.248184685457,-0.248091810146,-0.247998932555,-0.247906052685,-0.247813170535,-0.247720286108,-0.247627399404,-0.247534510423,-0.247441619168,-0.247348725638,-0.247255829834,-0.247162931758,-0.247070031409,-0.24697712879,-0.246884223901,-0.246791316742,-0.246698407315,-0.24660549562,-0.246512581659,-0.246419665431,-0.246326746939,-0.246233826182,-0.246140903162,-0.24604797788,-0.245955050336,-0.245862120531,-0.245769188466,-0.245676254142,-0.245583317561,-0.245490378721,-0.245397437625,-0.245304494274,-0.245211548668,-0.245118600807,-0.245025650694,-0.244932698329,-0.244839743712,-0.244746786844,-0.244653827727,-0.244560866362,-0.244467902748,-0.244374936887,-0.24428196878,-0.244188998427,-0.24409602583,-0.24400305099,-0.243910073906,-0.24381709458,-0.243724113014,-0.243631129207,-0.243538143161,-0.243445154876,-0.243352164353,-0.243259171594,-0.243166176599,-0.243073179368,-0.242980179903,-0.242887178205,-0.242794174274,-0.242701168112,-0.242608159718,-0.242515149095,-0.242422136243,-0.242329121162,-0.242236103854,-0.242143084319,-0.242050062558,-0.241957038573,-0.241864012364,-0.241770983931,-0.241677953276,-0.2415849204,-0.241491885303,-0.241398847986,-0.241305808451,-0.241212766697,-0.241119722726,-0.241026676539,-0.240933628137,-0.24084057752,-0.240747524689,-0.240654469645,-0.240561412389,-0.240468352922,-0.240375291244,-0.240282227358,-0.240189161262,-0.240096092959,-0.240003022449,-0.239909949733,-0.239816874811,-0.239723797685,-0.239630718356,-0.239537636824,-0.239444553091,-0.239351467156,-0.239258379021,-0.239165288687,-0.239072196155,-0.238979101425,-0.238886004499,-0.238792905377,-0.23869980406,-0.238606700549,-0.238513594844,-0.238420486948,-0.238327376859,-0.23823426458,-0.238141150112,-0.238048033454,-0.237954914608,-0.237861793575,-0.237768670356,-0.237675544951,-0.237582417362,-0.237489287588,-0.237396155632,-0.237303021494,-0.237209885174,-0.237116746674,-0.237023605994,-0.236930463136,-0.2368373181,-0.236744170887,-0.236651021498,-0.236557869934,-0.236464716195,-0.236371560283,-0.236278402198,-0.236185241941,-0.236092079513,-0.235998914916,-0.235905748149,-0.235812579213,-0.23571940811,-0.23562623484,-0.235533059405,-0.235439881805,-0.23534670204,-0.235253520112,-0.235160336022,-0.23506714977,-0.234973961358,-0.234880770785,-0.234787578054,-0.234694383165,-0.234601186118,-0.234507986915,-0.234414785556,-0.234321582043,-0.234228376376,-0.234135168556,-0.234041958584,-0.23394874646,-0.233855532186,-0.233762315763,-0.233669097191,-0.233575876471,-0.233482653604,-0.233389428591,-0.233296201432,-0.233202972129,-0.233109740683,-0.233016507094,-0.232923271363,-0.232830033492,-0.23273679348,-0.232643551328,-0.232550307039,-0.232457060612,-0.232363812048,-0.232270561348,-0.232177308513,-0.232084053545,-0.231990796442,-0.231897537208,-0.231804275842,-0.231711012345,-0.231617746719,-0.231524478963,-0.231431209079,-0.231337937069,-0.231244662931,-0.231151386668,-0.231058108281,-0.230964827769,-0.230871545135,-0.230778260378,-0.230684973501,-0.230591684502,-0.230498393385,-0.230405100148,-0.230311804794,-0.230218507323,-0.230125207735,-0.230031906033,-0.229938602216,-0.229845296285,-0.229751988242,-0.229658678087,-0.229565365821,-0.229472051444,-0.229378734959,-0.229285416365,-0.229192095664,-0.229098772856,-0.229005447942,-0.228912120923,-0.2288187918,-0.228725460574,-0.228632127245,-0.228538791815,-0.228445454284,-0.228352114653,-0.228258772924,-0.228165429096,-0.228072083171,-0.22797873515,-0.227885385033,-0.227792032821,-0.227698678516,-0.227605322117,-0.227511963627,-0.227418603045,-0.227325240373,-0.227231875611,-0.227138508761,-0.227045139823,-0.226951768798,-0.226858395687,-0.226765020491,-0.22667164321,-0.226578263846,-0.226484882399,-0.22639149887,-0.22629811326,-0.226204725571,-0.226111335802,-0.226017943954,-0.22592455003,-0.225831154028,-0.225737755951,-0.225644355799,-0.225550953572,-0.225457549273,-0.225364142901,-0.225270734458,-0.225177323944,-0.22508391136,-0.224990496707,-0.224897079986,-0.224803661198,-0.224710240344,-0.224616817424,-0.22452339244,-0.224429965392,-0.22433653628,-0.224243105107,-0.224149671873,-0.224056236578,-0.223962799224,-0.223869359811,-0.223775918341,-0.223682474813,-0.22358902923,-0.223495581591,-0.223402131898,-0.223308680152,-0.223215226353,-0.223121770502,-0.2230283126,-0.222934852648,-0.222841390647,-0.222747926598,-0.222654460502,-0.222560992358,-0.222467522169,-0.222374049935,-0.222280575658,-0.222187099337,-0.222093620973,-0.222000140568,-0.221906658123,-0.221813173638,-0.221719687114,-0.221626198552,-0.221532707953,-0.221439215318,-0.221345720647,-0.221252223942,-0.221158725203,-0.221065224431,-0.220971721627,-0.220878216792,-0.220784709927,-0.220691201032,-0.220597690109,-0.220504177158,-0.22041066218,-0.220317145177,-0.220223626148,-0.220130105095,-0.220036582018,-0.219943056919,-0.219849529799,-0.219756000657,-0.219662469496,-0.219568936315,-0.219475401117,-0.219381863901,-0.219288324668,-0.21919478342,-0.219101240157,-0.21900769488,-0.21891414759,-0.218820598288,-0.218727046974,-0.21863349365,-0.218539938316,-0.218446380974,-0.218352821623,-0.218259260266,-0.218165696902,-0.218072131533,-0.21797856416,-0.217884994783,-0.217791423403,-0.217697850021,-0.217604274638,-0.217510697256,-0.217417117873,-0.217323536493,-0.217229953114,-0.217136367739,-0.217042780369,-0.216949191003,-0.216855599643,-0.216762006289,-0.216668410944,-0.216574813606,-0.216481214278,-0.21638761296,-0.216294009653,-0.216200404358,-0.216106797076,-0.216013187808,-0.215919576553,-0.215825963314,-0.215732348092,-0.215638730886,-0.215545111698,-0.215451490529,-0.21535786738,-0.215264242251,-0.215170615143,-0.215076986058,-0.214983354995,-0.214889721957,-0.214796086943,-0.214702449955,-0.214608810994,-0.21451517006,-0.214421527154,-0.214327882277,-0.21423423543,-0.214140586614,-0.214046935829,-0.213953283078,-0.213859628359,-0.213765971675,-0.213672313026,-0.213578652412,-0.213484989836,-0.213391325297,-0.213297658797,-0.213203990337,-0.213110319916,-0.213016647537,-0.2129229732,-0.212829296905,-0.212735618654,-0.212641938448,-0.212548256288,-0.212454572173,-0.212360886106,-0.212267198087,-0.212173508116,-0.212079816196,-0.211986122326,-0.211892426507,-0.211798728741,-0.211705029028,-0.211611327369,-0.211517623765,-0.211423918217,-0.211330210725,-0.211236501291,-0.211142789916,-0.211049076599,-0.210955361343,-0.210861644147,-0.210767925013,-0.210674203942,-0.210580480935,-0.210486755992,-0.210393029114,-0.210299300302,-0.210205569557,-0.21011183688,-0.210018102272,-0.209924365734,-0.209830627265,-0.209736886868,-0.209643144543,-0.209549400292,-0.209455654114,-0.20936190601,-0.209268155983,-0.209174404032,-0.209080650158,-0.208986894362,-0.208893136645,-0.208799377009,-0.208705615453,-0.208611851978,-0.208518086586,-0.208424319278,-0.208330550053,-0.208236778914,-0.208143005861,-0.208049230894,-0.207955454015,-0.207861675225,-0.207767894524,-0.207674111913,-0.207580327394,-0.207486540966,-0.207392752631,-0.20729896239,-0.207205170243,-0.207111376192,-0.207017580237,-0.20692378238,-0.20682998262,-0.206736180959,-0.206642377398,-0.206548571937,-0.206454764578,-0.206360955321,-0.206267144167,-0.206173331118,-0.206079516173,-0.205985699334,-0.205891880602,-0.205798059977,-0.20570423746,-0.205610413053,-0.205516586756,-0.20542275857,-0.205328928495,-0.205235096533,-0.205141262685,-0.205047426951,-0.204953589332,-0.20485974983,-0.204765908444,-0.204672065176,-0.204578220027,-0.204484372998,-0.204390524089,-0.204296673301,-0.204202820635,-0.204108966093,-0.204015109674,-0.20392125138,-0.203827391212,-0.20373352917,-0.203639665255,-0.203545799469,-0.203451931811,-0.203358062284,-0.203264190887,-0.203170317622,-0.203076442489,-0.20298256549,-0.202888686625,-0.202794805895,-0.202700923302,-0.202607038844,-0.202513152525,-0.202419264344,-0.202325374303,-0.202231482401,-0.202137588641,-0.202043693023,-0.201949795548,-0.201855896217,-0.20176199503,-0.201668091988,-0.201574187093,-0.201480280345,-0.201386371745,-0.201292461294,-0.201198548993,-0.201104634842,-0.201010718843,-0.200916800996,-0.200822881302,-0.200728959763,-0.200635036378,-0.20054111115,-0.200447184078,-0.200353255163,-0.200259324407,-0.20016539181,-0.200071457373,-0.199977521097,-0.199883582983,-0.199789643032,-0.199695701244,-0.199601757621,-0.199507812163,-0.199413864871,-0.199319915747,-0.19922596479,-0.199132012002,-0.199038057383,-0.198944100935,-0.198850142659,-0.198756182554,-0.198662220623,-0.198568256866,-0.198474291283,-0.198380323876,-0.198286354646,-0.198192383593,-0.198098410718,-0.198004436022,-0.197910459507,-0.197816481172,-0.197722501019,-0.197628519048,-0.197534535261,-0.197440549659,-0.197346562241,-0.197252573009,-0.197158581965,-0.197064589108,-0.19697059444,-0.196876597961,-0.196782599672,-0.196688599575,-0.19659459767,-0.196500593958,-0.19640658844,-0.196312581116,-0.196218571988,-0.196124561056,-0.196030548321,-0.195936533785,-0.195842517448,-0.19574849931,-0.195654479373,-0.195560457638,-0.195466434105,-0.195372408776,-0.195278381651,-0.19518435273,-0.195090322016,-0.194996289509,-0.194902255209,-0.194808219117,-0.194714181235,-0.194620141563,-0.194526100103,-0.194432056854,-0.194338011818,-0.194243964996,-0.194149916388,-0.194055865996,-0.19396181382,-0.193867759861,-0.19377370412,-0.193679646598,-0.193585587296,-0.193491526214,-0.193397463354,-0.193303398716,-0.193209332302,-0.193115264111,-0.193021194145,-0.192927122405,-0.192833048892,-0.192738973607,-0.192644896549,-0.192550817721,-0.192456737123,-0.192362654756,-0.192268570621,-0.192174484719,-0.19208039705,-0.191986307615,-0.191892216416,-0.191798123453,-0.191704028728,-0.19160993224,-0.19151583399,-0.191421733981,-0.191327632212,-0.191233528684,-0.191139423398,-0.191045316356,-0.190951207557,-0.190857097004,-0.190762984696,-0.190668870634,-0.19057475482,-0.190480637254,-0.190386517938,-0.190292396871,-0.190198274056,-0.190104149492,-0.19001002318,-0.189915895122,-0.189821765319,-0.18972763377,-0.189633500478,-0.189539365443,-0.189445228665,-0.189351090146,-0.189256949887,-0.189162807888,-0.18906866415,-0.188974518674,-0.188880371462,-0.188786222513,-0.188692071829,-0.18859791941,-0.188503765258,-0.188409609373,-0.188315451757,-0.188221292409,-0.188127131332,-0.188032968525,-0.18793880399,-0.187844637727,-0.187750469738,-0.187656300023,-0.187562128583,-0.187467955419,-0.187373780531,-0.187279603922,-0.187185425591,-0.18709124554,-0.186997063768,-0.186902880278,-0.18680869507,-0.186714508145,-0.186620319504,-0.186526129147,-0.186431937076,-0.186337743291,-0.186243547794,-0.186149350584,-0.186055151663,-0.185960951033,-0.185866748693,-0.185772544644,-0.185678338888,-0.185584131425,-0.185489922257,-0.185395711383,-0.185301498805,-0.185207284524,-0.185113068541,-0.185018850856,-0.18492463147,-0.184830410385,-0.1847361876,-0.184641963118,-0.184547736939,-0.184453509063,-0.184359279491,-0.184265048226,-0.184170815266,-0.184076580613,-0.183982344269,-0.183888106233,-0.183793866507,-0.183699625092,-0.183605381988,-0.183511137197,-0.183416890719,-0.183322642555,-0.183228392705,-0.183134141172,-0.183039887955,-0.182945633056,-0.182851376475,-0.182757118214,-0.182662858272,-0.182568596652,-0.182474333353,-0.182380068377,-0.182285801725,-0.182191533397,-0.182097263395,-0.182002991719,-0.18190871837,-0.181814443348,-0.181720166656,-0.181625888293,-0.181531608261,-0.18143732656,-0.181343043192,-0.181248758156,-0.181154471455,-0.181060183088,-0.180965893058,-0.180871601363,-0.180777308007,-0.180683012988,-0.180588716309,-0.18049441797,-0.180400117972,-0.180305816315,-0.180211513002,-0.180117208031,-0.180022901406,-0.179928593125,-0.179834283191,-0.179739971603,-0.179645658364,-0.179551343473,-0.179457026932,-0.179362708741,-0.179268388902,-0.179174067415,-0.179079744281,-0.1789854195,-0.178891093075,-0.178796765005,-0.178702435292,-0.178608103936,-0.178513770939,-0.178419436301,-0.178325100022,-0.178230762105,-0.178136422549,-0.178042081356,-0.177947738526,-0.177853394061,-0.177759047961,-0.177664700227,-0.17757035086,-0.177475999861,-0.17738164723,-0.177287292969,-0.177192937079,-0.177098579559,-0.177004220412,-0.176909859638,-0.176815497238,-0.176721133212,-0.176626767562,-0.176532400289,-0.176438031393,-0.176343660875,-0.176249288736,-0.176154914977,-0.176060539599,-0.175966162603,-0.175871783989,-0.175777403759,-0.175683021913,-0.175588638452,-0.175494253377,-0.175399866689,-0.175305478389,-0.175211088478,-0.175116696956,-0.175022303824,-0.174927909083,-0.174833512735,-0.17473911478,-0.174644715218,-0.174550314051,-0.17445591128,-0.174361506905,-0.174267100928,-0.174172693348,-0.174078284168,-0.173983873387,-0.173889461008,-0.17379504703,-0.173700631454,-0.173606214282,-0.173511795514,-0.173417375152,-0.173322953195,-0.173228529645,-0.173134104503,-0.173039677769,-0.172945249445,-0.172850819531,-0.172756388029,-0.172661954938,-0.172567520261,-0.172473083997,-0.172378646148,-0.172284206714,-0.172189765697,-0.172095323097,-0.172000878915,-0.171906433152,-0.171811985809,-0.171717536887,-0.171623086386,-0.171528634308,-0.171434180654,-0.171339725423,-0.171245268618,-0.171150810238,-0.171056350285,-0.17096188876,-0.170867425664,-0.170772960997,-0.17067849476,-0.170584026954,-0.170489557581,-0.17039508664,-0.170300614133,-0.170206140061,-0.170111664424,-0.170017187224,-0.169922708461,-0.169828228136,-0.16973374625,-0.169639262803,-0.169544777798,-0.169450291234,-0.169355803112,-0.169261313434,-0.1691668222,-0.169072329411,-0.168977835068,-0.168883339172,-0.168788841724,-0.168694342724,-0.168599842173,-0.168505340073,-0.168410836423,-0.168316331226,-0.168221824482,-0.168127316191,-0.168032806355,-0.167938294975,-0.167843782051,-0.167749267584,-0.167654751575,-0.167560234025,-0.167465714935,-0.167371194305,-0.167276672137,-0.167182148432,-0.16708762319,-0.166993096412,-0.166898568099,-0.166804038252,-0.166709506872,-0.166614973959,-0.166520439515,-0.16642590354,-0.166331366036,-0.166236827003,-0.166142286441,-0.166047744353,-0.165953200738,-0.165858655598,-0.165764108933,-0.165669560745,-0.165575011034,-0.1654804598,-0.165385907046,-0.165291352772,-0.165196796978,-0.165102239666,-0.165007680836,-0.16491312049,-0.164818558628,-0.16472399525,-0.164629430359,-0.164534863954,-0.164440296037,-0.164345726609,-0.16425115567,-0.164156583221,-0.164062009263,-0.163967433797,-0.163872856825,-0.163778278345,-0.163683698361,-0.163589116871,-0.163494533879,-0.163399949383,-0.163305363385,-0.163210775887,-0.163116186888,-0.16302159639,-0.162927004393,-0.162832410899,-0.162737815908,-0.162643219421,-0.162548621439,-0.162454021963,-0.162359420994,-0.162264818533,-0.16217021458,-0.162075609136,-0.161981002202,-0.16188639378,-0.16179178387,-0.161697172472,-0.161602559588,-0.161507945219,-0.161413329366,-0.161318712028,-0.161224093208,-0.161129472906,-0.161034851122,-0.160940227859,-0.160845603116,-0.160750976895,-0.160656349196,-0.160561720021,-0.160467089369,-0.160372457243,-0.160277823642,-0.160183188569,-0.160088552023,-0.159993914005,-0.159899274517,-0.159804633559,-0.159709991132,-0.159615347237,-0.159520701875,-0.159426055047,-0.159331406753,-0.159236756995,-0.159142105773,-0.159047453088,-0.158952798942,-0.158858143334,-0.158763486266,-0.158668827739,-0.158574167753,-0.15847950631,-0.15838484341,-0.158290179054,-0.158195513243,-0.158100845978,-0.15800617726,-0.15791150709,-0.157816835468,-0.157722162395,-0.157627487873,-0.157532811902,-0.157438134483,-0.157343455616,-0.157248775304,-0.157154093546,-0.157059410343,-0.156964725697,-0.156870039608,-0.156775352077,-0.156680663105,-0.156585972693,-0.156491280842,-0.156396587552,-0.156301892824,-0.15620719666,-0.15611249906,-0.156017800025,-0.155923099556,-0.155828397654,-0.15573369432,-0.155638989554,-0.155544283357,-0.155449575731,-0.155354866676,-0.155260156193,-0.155165444282,-0.155070730946,-0.154976016184,-0.154881299997,-0.154786582387,-0.154691863355,-0.1545971429,-0.154502421024,-0.154407697728,-0.154312973013,-0.154218246879,-0.154123519328,-0.154028790361,-0.153934059977,-0.153839328178,-0.153744594966,-0.15364986034,-0.153555124302,-0.153460386852,-0.153365647992,-0.153270907723,-0.153176166044,-0.153081422957,-0.152986678464,-0.152891932564,-0.152797185258,-0.152702436549,-0.152607686435,-0.152512934919,-0.152418182001,-0.152323427682,-0.152228671963,-0.152133914845,-0.152039156328,-0.151944396414,-0.151849635103,-0.151754872397,-0.151660108295,-0.151565342799,-0.151470575911,-0.15137580763,-0.151281037957,-0.151186266894,-0.151091494442,-0.1509967206,-0.150901945371,-0.150807168755,-0.150712390752,-0.150617611364,-0.150522830592,-0.150428048436,-0.150333264897,-0.150238479977,-0.150143693675,-0.150048905994,-0.149954116933,-0.149859326494,-0.149764534677,-0.149669741484,-0.149574946915,-0.149480150972,-0.149385353654,-0.149290554963,-0.1491957549,-0.149100953465,-0.14900615066,-0.148911346486,-0.148816540942,-0.148721734031,-0.148626925753,-0.148532116108,-0.148437305099,-0.148342492725,-0.148247678987,-0.148152863887,-0.148058047424,-0.147963229601,-0.147868410418,-0.147773589876,-0.147678767976,-0.147583944718,-0.147489120103,-0.147394294133,-0.147299466808,-0.147204638129,-0.147109808097,-0.147014976713,-0.146920143977,-0.146825309891,-0.146730474455,-0.146635637671,-0.146540799539,-0.14644596006,-0.146351119234,-0.146256277064,-0.146161433549,-0.146066588691,-0.14597174249,-0.145876894947,-0.145782046064,-0.14568719584,-0.145592344277,-0.145497491376,-0.145402637138,-0.145307781563,-0.145212924653,-0.145118066408,-0.145023206829,-0.144928345916,-0.144833483672,-0.144738620097,-0.144643755191,-0.144548888955,-0.144454021391,-0.144359152499,-0.14426428228,-0.144169410735,-0.144074537865,-0.143979663671,-0.143884788153,-0.143789911312,-0.14369503315,-0.143600153667,-0.143505272865,-0.143410390743,-0.143315507303,-0.143220622545,-0.143125736471,-0.143030849082,-0.142935960378,-0.14284107036,-0.142746179029,-0.142651286386,-0.142556392431,-0.142461497167,-0.142366600593,-0.14227170271,-0.142176803519,-0.142081903022,-0.141987001219,-0.14189209811,-0.141797193698,-0.141702287982,-0.141607380963,-0.141512472643,-0.141417563022,-0.141322652102,-0.141227739882,-0.141132826364,-0.141037911549,-0.140942995437,-0.14084807803,-0.140753159328,-0.140658239333,-0.140563318044,-0.140468395464,-0.140373471592,-0.140278546431,-0.140183619979,-0.14008869224,-0.139993763212,-0.139898832898,-0.139803901298,-0.139708968412,-0.139614034243,-0.13951909879,-0.139424162055,-0.139329224038,-0.139234284741,-0.139139344164,-0.139044402308,-0.138949459173,-0.138854514762,-0.138759569074,-0.138664622111,-0.138569673873,-0.138474724362,-0.138379773578,-0.138284821522,-0.138189868194,-0.138094913597,-0.13799995773,-0.137905000595,-0.137810042192,-0.137715082522,-0.137620121586,-0.137525159386,-0.137430195921,-0.137335231194,-0.137240265204,-0.137145297952,-0.13705032944,-0.136955359668,-0.136860388637,-0.136765416348,-0.136670442802,-0.136575468,-0.136480491942,-0.13638551463,-0.136290536064,-0.136195556246,-0.136100575176,-0.136005592854,-0.135910609283,-0.135815624462,-0.135720638393,-0.135625651076,-0.135530662513,-0.135435672704,-0.13534068165,-0.135245689352,-0.135150695811,-0.135055701028,-0.134960705003,-0.134865707738,-0.134770709233,-0.134675709489,-0.134580708507,-0.134485706288,-0.134390702834,-0.134295698143,-0.134200692219,-0.134105685061,-0.13401067667,-0.133915667047,-0.133820656194,-0.13372564411,-0.133630630797,-0.133535616256,-0.133440600488,-0.133345583493,-0.133250565272,-0.133155545827,-0.133060525157,-0.132965503265,-0.13287048015,-0.132775455814,-0.132680430257,-0.132585403481,-0.132490375487,-0.132395346274,-0.132300315844,-0.132205284199,-0.132110251338,-0.132015217263,-0.131920181974,-0.131825145473,-0.13173010776,-0.131635068837,-0.131540028703,-0.13144498736,-0.131349944809,-0.131254901051,-0.131159856086,-0.131064809916,-0.130969762541,-0.130874713962,-0.13077966418,-0.130684613196,-0.13058956101,-0.130494507625,-0.13039945304,-0.130304397256,-0.130209340275,-0.130114282096,-0.130019222722,-0.129924162153,-0.129829100389,-0.129734037432,-0.129638973283,-0.129543907942,-0.12944884141,-0.129353773688,-0.129258704778,-0.129163634679,-0.129068563393,-0.128973490921,-0.128878417263,-0.12878334242,-0.128688266394,-0.128593189185,-0.128498110794,-0.128403031222,-0.128307950469,-0.128212868537,-0.128117785427,-0.128022701139,-0.127927615674,-0.127832529033,-0.127737441218,-0.127642352228,-0.127547262065,-0.127452170729,-0.127357078222,-0.127261984545,-0.127166889697,-0.127071793681,-0.126976696497,-0.126881598145,-0.126786498628,-0.126691397945,-0.126596296097,-0.126501193086,-0.126406088912,-0.126310983576,-0.126215877079,-0.126120769422,-0.126025660606,-0.125930550631,-0.125835439498,-0.12574032721,-0.125645213765,-0.125550099165,-0.125454983412,-0.125359866505,-0.125264748446,-0.125169629235,-0.125074508874,-0.124979387363,-0.124884264704,-0.124789140897,-0.124694015942,-0.124598889842,-0.124503762596,-0.124408634205,-0.124313504672,-0.124218373995,-0.124123242177,-0.124028109218,-0.123932975119,-0.12383783988,-0.123742703503,-0.123647565989,-0.123552427339,-0.123457287552,-0.123362146631,-0.123267004576,-0.123171861388,-0.123076717068,-0.122981571617,-0.122886425035,-0.122791277323,-0.122696128483,-0.122600978515,-0.12250582742,-0.122410675199,-0.122315521853,-0.122220367383,-0.122125211789,-0.122030055073,-0.121934897235,-0.121839738276,-0.121744578197,-0.121649416999,-0.121554254683,-0.12145909125,-0.1213639267,-0.121268761035,-0.121173594255,-0.121078426361,-0.120983257354,-0.120888087236,-0.120792916006,-0.120697743666,-0.120602570216,-0.120507395658,-0.120412219992,-0.120317043219,-0.120221865341,-0.120126686357,-0.120031506269,-0.119936325078,-0.119841142785,-0.119745959389,-0.119650774894,-0.119555589298,-0.119460402604,-0.119365214811,-0.119270025921,-0.119174835935,-0.119079644854,-0.118984452678,-0.118889259408,-0.118794065045,-0.118698869591,-0.118603673045,-0.11850847541,-0.118413276685,-0.118318076871,-0.11822287597,-0.118127673983,-0.118032470909,-0.117937266751,-0.117842061508,-0.117746855183,-0.117651647775,-0.117556439285,-0.117461229715,-0.117366019066,-0.117270807338,-0.117175594531,-0.117080380648,-0.116985165688,-0.116889949653,-0.116794732544,-0.116699514361,-0.116604295106,-0.116509074778,-0.11641385338,-0.116318630912,-0.116223407374,-0.116128182769,-0.116032957095,-0.115937730356,-0.11584250255,-0.11574727368,-0.115652043746,-0.115556812749,-0.115461580689,-0.115366347569,-0.115271113388,-0.115175878147,-0.115080641848,-0.114985404491,-0.114890166077,-0.114794926607,-0.114699686081,-0.114604444502,-0.114509201869,-0.114413958183,-0.114318713446,-0.114223467658,-0.11412822082,-0.114032972933,-0.113937723998,-0.113842474016,-0.113747222987,-0.113651970913,-0.113556717794,-0.113461463631,-0.113366208425,-0.113270952178,-0.113175694889,-0.113080436559,-0.112985177191,-0.112889916784,-0.112794655339,-0.112699392857,-0.11260412934,-0.112508864787,-0.112413599201,-0.112318332581,-0.112223064928,-0.112127796244,-0.11203252653,-0.111937255786,-0.111841984012,-0.111746711211,-0.111651437383,-0.111556162528,-0.111460886648,-0.111365609743,-0.111270331815,-0.111175052864,-0.111079772891,-0.110984491897,-0.110889209883,-0.11079392685,-0.110698642798,-0.110603357729,-0.110508071643,-0.110412784541,-0.110317496424,-0.110222207294,-0.11012691715,-0.110031625994,-0.109936333827,-0.109841040649,-0.109745746461,-0.109650451265,-0.109555155061,-0.10945985785,-0.109364559632,-0.10926926041,-0.109173960183,-0.109078658952,-0.108983356719,-0.108888053485,-0.108792749249,-0.108697444013,-0.108602137778,-0.108506830545,-0.108411522315,-0.108316213088,-0.108220902865,-0.108125591648,-0.108030279437,-0.107934966233,-0.107839652036,-0.107744336849,-0.107649020671,-0.107553703504,-0.107458385348,-0.107363066204,-0.107267746073,-0.107172424957,-0.107077102855,-0.106981779769,-0.1068864557,-0.106791130648,-0.106695804615,-0.106600477601,-0.106505149607,-0.106409820634,-0.106314490683,-0.106219159755,-0.106123827851,-0.106028494971,-0.105933161116,-0.105837826288,-0.105742490487,-0.105647153713,-0.105551815969,-0.105456477255,-0.105361137571,-0.105265796919,-0.105170455299,-0.105075112713,-0.10497976916,-0.104884424643,-0.104789079162,-0.104693732717,-0.10459838531,-0.104503036942,-0.104407687613,-0.104312337325,-0.104216986077,-0.104121633872,-0.10402628071,-0.103930926591,-0.103835571517,-0.103740215489,-0.103644858507,-0.103549500573,-0.103454141686,-0.103358781849,-0.103263421062,-0.103168059325,-0.10307269664,-0.102977333008,-0.102881968429,-0.102786602905,-0.102691236436,-0.102595869022,-0.102500500666,-0.102405131368,-0.102309761128,-0.102214389948,-0.102119017829,-0.10202364477,-0.101928270774,-0.101832895841,-0.101737519973,-0.101642143168,-0.10154676543,-0.101451386758,-0.101356007154,-0.101260626618,-0.101165245151,-0.101069862755,-0.100974479429,-0.100879095176,-0.100783709995,-0.100688323887,-0.100592936854,-0.100497548897,-0.100402160016,-0.100306770211,-0.100211379485,-0.100115987838,-0.100020595271,-0.0999252017837,-0.0998298073783,-0.0997344120553,-0.0996390158156,-0.0995436186601,-0.0994482205895,-0.0993528216049,-0.099257421707,-0.0991620208967,-0.099066619175,-0.0989712165427,-0.0988758130007,-0.0987804085498,-0.098685003191,-0.098589596925,-0.0984941897529,-0.0983987816754,-0.0983033726934,-0.0982079628079,-0.0981125520196,-0.0980171403296,-0.0979217277385,-0.0978263142474,-0.0977308998571,-0.0976354845685,-0.0975400683825,-0.0974446512998,-0.0973492333215,-0.0972538144484,-0.0971583946813,-0.0970629740212,-0.0969675524688,-0.0968721300252,-0.0967767066912,-0.0966812824676,-0.0965858573553,-0.0964904313553,-0.0963950044683,-0.0962995766952,-0.096204148037,-0.0961087184946,-0.0960132880687,-0.0959178567602,-0.0958224245702,-0.0957269914993,-0.0956315575485,-0.0955361227188,-0.0954406870108,-0.0953452504256,-0.095249812964,-0.0951543746269,-0.0950589354152,-0.0949634953296,-0.0948680543712,-0.0947726125408,-0.0946771698393,-0.0945817262675,-0.0944862818264,-0.0943908365167,-0.0942953903394,-0.0941999432954,-0.0941044953855,-0.0940090466106,-0.0939135969716,-0.0938181464694,-0.0937226951048,-0.0936272428788,-0.0935317897921,-0.0934363358457,-0.0933408810405,-0.0932454253773,-0.093149968857,-0.0930545114805,-0.0929590532487,-0.0928635941624,-0.0927681342225,-0.0926726734299,-0.0925772117855,-0.0924817492901,-0.0923862859447,-0.0922908217501,-0.0921953567071,-0.0920998908167,-0.0920044240798,-0.0919089564971,-0.0918134880697,-0.0917180187983,-0.0916225486839,-0.0915270777273,-0.0914316059294,-0.0913361332911,-0.0912406598132,-0.0911451854967,-0.0910497103424,-0.0909542343511,-0.0908587575239,-0.0907632798615,-0.0906678013648,-0.0905723220347,-0.0904768418721,-0.0903813608779,-0.0902858790529,-0.0901903963979,-0.090094912914,-0.089999428602,-0.0899039434627,-0.089808457497,-0.0897129707058,-0.08961748309,-0.0895219946505,-0.0894265053881,-0.0893310153037,-0.0892355243981,-0.0891400326724,-0.0890445401273,-0.0889490467637,-0.0888535525825,-0.0887580575846,-0.0886625617709,-0.0885670651421,-0.0884715676993,-0.0883760694433,-0.088280570375,-0.0881850704952,-0.0880895698048,-0.0879940683047,-0.0878985659958,-0.0878030628789,-0.087707558955,-0.0876120542249,-0.0875165486895,-0.0874210423496,-0.0873255352062,-0.0872300272601,-0.0871345185122,-0.0870390089634,-0.0869434986145,-0.0868479874665,-0.0867524755202,-0.0866569627765,-0.0865614492363,-0.0864659349003,-0.0863704197697,-0.0862749038451,-0.0861793871275,-0.0860838696177,-0.0859883513167,-0.0858928322253,-0.0857973123444,-0.0857017916749,-0.0856062702176,-0.0855107479735,-0.0854152249433,-0.085319701128,-0.0852241765285,-0.0851286511456,-0.0850331249803,-0.0849375980333,-0.0848420703056,-0.0847465417981,-0.0846510125116,-0.0845554824469,-0.0844599516051,-0.0843644199869,-0.0842688875933,-0.0841733544251,-0.0840778204832,-0.0839822857685,-0.0838867502818,-0.083791214024,-0.0836956769961,-0.0836001391988,-0.0835046006332,-0.0834090612999,-0.0833135212,-0.0832179803343,-0.0831224387036,-0.0830268963089,-0.0829313531511,-0.0828358092309,-0.0827402645494,-0.0826447191073,-0.0825491729056,-0.0824536259451,-0.0823580782266,-0.0822625297512,-0.0821669805197,-0.0820714305328,-0.0819758797916,-0.0818803282969,-0.0817847760496,-0.0816892230505,-0.0815936693005,-0.0814981148006,-0.0814025595515,-0.0813070035542,-0.0812114468096,-0.0811158893185,-0.0810203310817,-0.0809247721003,-0.080829212375,-0.0807336519067,-0.0806380906964,-0.0805425287448,-0.080446966053,-0.0803514026216,-0.0802558384517,-0.0801602735441,-0.0800647078997,-0.0799691415193,-0.0798735744039,-0.0797780065543,-0.0796824379714,-0.0795868686561,-0.0794912986092,-0.0793957278317,-0.0793001563244,-0.0792045840882,-0.0791090111239,-0.0790134374325,-0.0789178630148,-0.0788222878717,-0.0787267120041,-0.0786311354129,-0.0785355580988,-0.078439980063,-0.0783444013061,-0.0782488218291,-0.0781532416328,-0.0780576607182,-0.077962079086,-0.0778664967373,-0.0777709136729,-0.0776753298935,-0.0775797454003,-0.0774841601939,-0.0773885742753,-0.0772929876453,-0.0771974003049,-0.0771018122549,-0.0770062234962,-0.0769106340297,-0.0768150438563,-0.0767194529767,-0.076623861392,-0.076528269103,-0.0764326761105,-0.0763370824155,-0.0762414880189,-0.0761458929214,-0.076050297124,-0.0759547006275,-0.075859103433,-0.0757635055411,-0.0756679069528,-0.075572307669,-0.0754767076906,-0.0753811070184,-0.0752855056533,-0.0751899035962,-0.0750943008479,-0.0749986974094,-0.0749030932816,-0.0748074884652,-0.0747118829613,-0.0746162767706,-0.074520669894,-0.0744250623325,-0.0743294540868,-0.074233845158,-0.0741382355468,-0.0740426252541,-0.0739470142809,-0.073851402628,-0.0737557902962,-0.0736601772865,-0.0735645635997,-0.0734689492367,-0.0733733341984,-0.0732777184857,-0.0731821020994,-0.0730864850405,-0.0729908673097,-0.072895248908,-0.0727996298364,-0.0727040100955,-0.0726083896864,-0.0725127686098,-0.0724171468668,-0.0723215244581,-0.0722259013846,-0.0721302776472,-0.0720346532469,-0.0719390281844,-0.0718434024607,-0.0717477760766,-0.071652149033,-0.0715565213308,-0.0714608929708,-0.0713652639541,-0.0712696342813,-0.0711740039534,-0.0710783729714,-0.070982741336,-0.0708871090481,-0.0707914761086,-0.0706958425185,-0.0706002082785,-0.0705045733896,-0.0704089378526,-0.0703133016685,-0.070217664838,-0.0701220273621,-0.0700263892417,-0.0699307504776,-0.0698351110707,-0.0697394710219,-0.0696438303321,-0.0695481890021,-0.0694525470328,-0.0693569044252,-0.06926126118,-0.0691656172982,-0.0690699727807,-0.0689743276283,-0.0688786818418,-0.0687830354223,-0.0686873883705,-0.0685917406874,-0.0684960923738,-0.0684004434305,-0.0683047938586,-0.0682091436588,-0.0681134928321,-0.0680178413792,-0.0679221893012,-0.0678265365988,-0.067730883273,-0.0676352293246,-0.0675395747545,-0.0674439195637,-0.0673482637529,-0.067252607323,-0.067156950275,-0.0670612926096,-0.0669656343279,-0.0668699754306,-0.0667743159187,-0.066678655793,-0.0665829950544,-0.0664873337038,-0.066391671742,-0.06629600917,-0.0662003459886,-0.0661046821988,-0.0660090178013,-0.065913352797,-0.0658176871869,-0.0657220209718,-0.0656263541526,-0.0655306867302,-0.0654350187054,-0.0653393500792,-0.0652436808524,-0.0651480110259,-0.0650523406005,-0.0649566695772,-0.0648609979569,-0.0647653257403,-0.0646696529285,-0.0645739795222,-0.0644783055224,-0.0643826309299,-0.0642869557456,-0.0641912799704,-0.0640956036051,-0.0639999266507,-0.063904249108,-0.063808570978,-0.0637128922614,-0.0636172129592,-0.0635215330722,-0.0634258526014,-0.0633301715475,-0.0632344899116,-0.0631388076944,-0.0630431248968,-0.0629474415198,-0.0628517575642,-0.0627560730308,-0.0626603879206,-0.0625647022345,-0.0624690159732,-0.0623733291378,-0.062277641729,-0.0621819537478,-0.0620862651951,-0.0619905760716,-0.0618948863784,-0.0617991961162,-0.061703505286,-0.0616078138886,-0.0615121219249,-0.0614164293958,-0.0613207363022,-0.061225042645,-0.0611293484249,-0.061033653643,-0.0609379583001,-0.0608422623971,-0.0607465659348,-0.0606508689141,-0.0605551713359,-0.0604594732012,-0.0603637745107,-0.0602680752653,-0.060172375466,-0.0600766751136,-0.059980974209,-0.059885272753,-0.0597895707466,-0.0596938681907,-0.059598165086,-0.0595024614335,-0.0594067572341,-0.0593110524886,-0.059215347198,-0.059119641363,-0.0590239349847,-0.0589282280638,-0.0588325206012,-0.0587368125979,-0.0586411040547,-0.0585453949724,-0.0584496853521,-0.0583539751944,-0.0582582645004,-0.0581625532709,-0.0580668415068,-0.0579711292089,-0.0578754163782,-0.0577797030155,-0.0576839891217,-0.0575882746977,-0.0574925597444,-0.0573968442626,-0.0573011282532,-0.0572054117171,-0.0571096946552,-0.0570139770683,-0.0569182589574,-0.0568225403233,-0.0567268211669,-0.0566311014891,-0.0565353812907,-0.0564396605727,-0.0563439393359,-0.0562482175812,-0.0561524953095,-0.0560567725216,-0.0559610492185,-0.055865325401,-0.05576960107,-0.0556738762264,-0.055578150871,-0.0554824250048,-0.0553866986286,-0.0552909717432,-0.0551952443497,-0.0550995164488,-0.0550037880415,-0.0549080591285,-0.0548123297109,-0.0547165997894,-0.054620869365,-0.0545251384386,-0.0544294070109,-0.054333675083,-0.0542379426556,-0.0541422097297,-0.0540464763061,-0.0539507423857,-0.0538550079695,-0.0537592730582,-0.0536635376527,-0.053567801754,-0.0534720653629,-0.0533763284804,-0.0532805911071,-0.0531848532442,-0.0530891148924,-0.0529933760526,-0.0528976367257,-0.0528018969125,-0.0527061566141,-0.0526104158311,-0.0525146745646,-0.0524189328154,-0.0523231905843,-0.0522274478723,-0.0521317046803,-0.052035961009,-0.0519402168595,-0.0518444722325,-0.051748727129,-0.0516529815499,-0.0515572354959,-0.051461488968,-0.0513657419672,-0.0512699944941,-0.0511742465499,-0.0510784981352,-0.050982749251,-0.0508869998982,-0.0507912500777,-0.0506954997903,-0.0505997490369,-0.0505039978184,-0.0504082461357,-0.0503124939897,-0.0502167413812,-0.0501209883111,-0.0500252347803,-0.0499294807897,-0.0498337263401,-0.0497379714325,-0.0496422160677,-0.0495464602466,-0.0494507039701,-0.049354947239,-0.0492591900543,-0.0491634324168,-0.0490676743274,-0.048971915787,-0.0488761567964,-0.0487803973566,-0.0486846374684,-0.0485888771327,-0.0484931163504,-0.0483973551224,-0.0483015934495,-0.0482058313326,-0.0481100687726,-0.0480143057704,-0.0479185423269,-0.0478227784429,-0.0477270141193,-0.047631249357,-0.047535484157,-0.0474397185199,-0.0473439524469,-0.0472481859386,-0.0471524189961,-0.0470566516201,-0.0469608838116,-0.0468651155715,-0.0467693469005,-0.0466735777997,-0.0465778082699,-0.0464820383119,-0.0463862679267,-0.0462904971151,-0.046194725878,-0.0460989542163,-0.0460031821309,-0.0459074096226,-0.0458116366924,-0.045715863341,-0.0456200895695,-0.0455243153786,-0.0454285407693,-0.0453327657424,-0.0452369902988,-0.0451412144394,-0.0450454381651,-0.0449496614767,-0.0448538843752,-0.0447581068613,-0.0446623289361,-0.0445665506003,-0.0444707718549,-0.0443749927008,-0.0442792131387,-0.0441834331696,-0.0440876527945,-0.043991872014,-0.0438960908292,-0.0438003092409,-0.0437045272501,-0.0436087448575,-0.043512962064,-0.0434171788706,-0.0433213952781,-0.0432256112874,-0.0431298268994,-0.043034042115,-0.0429382569349,-0.0428424713602,-0.0427466853918,-0.0426508990304,-0.0425551122769,-0.0424593251323,-0.0423635375974,-0.0422677496731,-0.0421719613603,-0.0420761726599,-0.0419803835727,-0.0418845940997,-0.0417888042416,-0.0416930139995,-0.0415972233741,-0.0415014323663,-0.0414056409771,-0.0413098492073,-0.0412140570577,-0.0411182645294,-0.0410224716231,-0.0409266783397,-0.0408308846801,-0.0407350906452,-0.0406392962359,-0.0405435014531,-0.0404477062976,-0.0403519107703,-0.040256114872,-0.0401603186038,-0.0400645219664,-0.0399687249608,-0.0398729275877,-0.0397771298482,-0.039681331743,-0.0395855332731,-0.0394897344394,-0.0393939352426,-0.0392981356838,-0.0392023357637,-0.0391065354833,-0.0390107348435,-0.038914933845,-0.0388191324889,-0.0387233307759,-0.038627528707,-0.0385317262831,-0.038435923505,-0.0383401203736,-0.0382443168897,-0.0381485130544,-0.0380527088683,-0.0379569043325,-0.0378610994479,-0.0377652942152,-0.0376694886353,-0.0375736827093,-0.0374778764378,-0.0373820698219,-0.0372862628624,-0.0371904555601,-0.037094647916,-0.0369988399309,-0.0369030316057,-0.0368072229414,-0.0367114139387,-0.0366156045985,-0.0365197949218,-0.0364239849094,-0.0363281745623,-0.0362323638812,-0.036136552867,-0.0360407415207,-0.0359449298431,-0.0358491178351,-0.0357533054976,-0.0356574928315,-0.0355616798376,-0.0354658665169,-0.0353700528701,-0.0352742388982,-0.0351784246021,-0.0350826099826,-0.0349867950407,-0.0348909797772,-0.034795164193,-0.0346993482889,-0.0346035320659,-0.0345077155248,-0.0344118986665,-0.034316081492,-0.034220264002,-0.0341244461974,-0.0340286280792,-0.0339328096482,-0.0338369909053,-0.0337411718514,-0.0336453524873,-0.033549532814,-0.0334537128323,-0.0333578925431,-0.0332620719473,-0.0331662510457,-0.0330704298393,-0.0329746083289,-0.0328787865154,-0.0327829643997,-0.0326871419827,-0.0325913192652,-0.0324954962481,-0.0323996729324,-0.0323038493188,-0.0322080254083,-0.0321122012018,-0.0320163767,-0.031920551904,-0.0318247268146,-0.0317289014327,-0.0316330757591,-0.0315372497948,-0.0314414235406,-0.0313455969973,-0.031249770166,-0.0311539430474,-0.0310581156424,-0.030962287952,-0.030866459977,-0.0307706317182,-0.0306748031766,-0.0305789743531,-0.0304831452485,-0.0303873158637,-0.0302914861995,-0.030195656257,-0.0300998260369,-0.0300039955401,-0.0299081647675,-0.02981233372,-0.0297165023985,-0.0296206708039,-0.0295248389369,-0.0294290067986,-0.0293331743898,-0.0292373417114,-0.0291415087642,-0.0290456755491,-0.0289498420671,-0.028854008319,-0.0287581743056,-0.028662340028,-0.0285665054868,-0.0284706706831,-0.0283748356177,-0.0282790002914,-0.0281831647053,-0.02808732886,-0.0279914927567,-0.027895656396,-0.0277998197789,-0.0277039829062,-0.027608145779,-0.0275123083979,-0.027416470764,-0.0273206328781,-0.027224794741,-0.0271289563537,-0.027033117717,-0.0269372788319,-0.0268414396991,-0.0267456003196,-0.0266497606943,-0.026553920824,-0.0264580807097,-0.0263622403521,-0.0262663997523,-0.026170558911,-0.0260747178291,-0.0259788765076,-0.0258830349473,-0.025787193149,-0.0256913511138,-0.0255955088423,-0.0254996663357,-0.0254038235946,-0.02530798062,-0.0252121374128,-0.0251162939739,-0.0250204503041,-0.0249246064043,-0.0248287622754,-0.0247329179183,-0.0246370733338,-0.0245412285229,-0.0244453834864,-0.0243495382252,-0.0242536927402,-0.0241578470323,-0.0240620011023,-0.0239661549511,-0.0238703085797,-0.0237744619888,-0.0236786151794,-0.0235827681524,-0.0234869209086,-0.0233910734489,-0.0232952257742,-0.0231993778853,-0.0231035297833,-0.0230076814688,-0.0229118329429,-0.0228159842064,-0.0227201352602,-0.0226242861051,-0.0225284367421,-0.0224325871719,-0.0223367373956,-0.022240887414,-0.022145037228,-0.0220491868384,-0.0219533362461,-0.021857485452,-0.021761634457,-0.021665783262,-0.0215699318679,-0.0214740802755,-0.0213782284857,-0.0212823764994,-0.0211865243174,-0.0210906719408,-0.0209948193702,-0.0208989666067,-0.0208031136511,-0.0207072605043,-0.0206114071671,-0.0205155536405,-0.0204196999253,-0.0203238460224,-0.0202279919327,-0.0201321376571,-0.0200362831964,-0.0199404285515,-0.0198445737234,-0.0197487187128,-0.0196528635207,-0.019557008148,-0.0194611525955,-0.0193652968642,-0.0192694409548,-0.0191735848683,-0.0190777286056,-0.0189818721675,-0.0188860155549,-0.0187901587688,-0.0186943018099,-0.0185984446792,-0.0185025873775,-0.0184067299058,-0.0183108722649,-0.0182150144556,-0.018119156479,-0.0180232983358,-0.0179274400269,-0.0178315815532,-0.0177357229157,-0.0176398641151,-0.0175440051524,-0.0174481460284,-0.017352286744,-0.0172564273001,-0.0171605676976,-0.0170647079374,-0.0169688480203,-0.0168729879473,-0.0167771277191,-0.0166812673368,-0.0165854068011,-0.016489546113,-0.0163936852733,-0.0162978242829,-0.0162019631427,-0.0161061018535,-0.0160102404164,-0.015914378832,-0.0158185171014,-0.0157226552254,-0.0156267932049,-0.0155309310407,-0.0154350687338,-0.015339206285,-0.0152433436952,-0.0151474809653,-0.0150516180961,-0.0149557550886,-0.0148598919437,-0.0147640286621,-0.0146681652449,-0.0145723016928,-0.0144764380067,-0.0143805741876,-0.0142847102364,-0.0141888461538,-0.0140929819408,-0.0139971175982,-0.013901253127,-0.0138053885281,-0.0137095238022,-0.0136136589503,-0.0135177939733,-0.013421928872,-0.0133260636473,-0.0132301983002,-0.0131343328315,-0.013038467242,-0.0129426015327,-0.0128467357044,-0.012750869758,-0.0126550036944,-0.0125591375145,-0.0124632712192,-0.0123674048093,-0.0122715382857,-0.0121756716493,-0.0120798049011,-0.0119839380417,-0.0118880710723,-0.0117922039935,-0.0116963368064,-0.0116004695117,-0.0115046021104,-0.0114087346034,-0.0113128669915,-0.0112169992756,-0.0111211314566,-0.0110252635354,-0.0109293955129,-0.0108335273899,-0.0107376591673,-0.010641790846,-0.0105459224269,-0.0104500539108,-0.0103541852987,-0.0102583165915,-0.0101624477899,-0.0100665788949,-0.00997070990742,-0.00987484082827,-0.00977897165835,-0.00968310239854,-0.00958723304973,-0.00949136361279,-0.00939549408862,-0.00929962447808,-0.00920375478206,-0.00910788500144,-0.00901201513711,-0.00891614518993,-0.00882027516081,-0.00872440505061,-0.00862853486021,-0.00853266459051,-0.00843679424237,-0.00834092381668,-0.00824505331433,-0.00814918273619,-0.00805331208315,-0.00795744135608,-0.00786157055586,-0.00776569968339,-0.00766982873953,-0.00757395772518,-0.0074780866412,-0.00738221548849,-0.00728634426793,-0.00719047298039,-0.00709460162675,-0.00699873020791,-0.00690285872473,-0.0068069871781,-0.00671111556891,-0.00661524389803,-0.00651937216634,-0.00642350037473,-0.00632762852407,-0.00623175661525,-0.00613588464915,-0.00604001262666,-0.00594414054864,-0.00584826841598,-0.00575239622957,-0.00565652399029,-0.00556065169901,-0.00546477935662,-0.005368906964,-0.00527303452202,-0.00517716203158,-0.00508128949356,-0.00498541690882,-0.00488954427826,-0.00479367160276,-0.0046977988832,-0.00460192612045,-0.0045060533154,-0.00441018046894,-0.00431430758194,-0.00421843465528,-0.00412256168984,-0.00402668868652,-0.00393081564618,-0.00383494256971,-0.00373906945799,-0.0036431963119,-0.00354732313232,-0.00345144992014,-0.00335557667623,-0.00325970340148,-0.00316383009676,-0.00306795676297,-0.00297208340097,-0.00287621001166,-0.0027803365959,-0.0026844631546,-0.00258858968861,-0.00249271619884,-0.00239684268615,-0.00230096915143,-0.00220509559556,-0.00210922201942,-0.00201334842389,-0.00191747480986,-0.0018216011782,-0.0017257275298,-0.00162985386553,-0.00153398018629,-0.00143810649294,-0.00134223278637,-0.00124635906747,-0.00115048533711,-0.00105461159618,-0.000958737845554,-0.000862864086114,-0.000766990318743,-0.000671116544322,-0.000575242763732,-0.000479368977855,-0.000383495187572,-0.000287621393764,-0.000191747597311,-9.58737990961e-05,0.0,9.5873799096e-05}; + +}; \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.c b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.c new file mode 100644 index 0000000..d98b4a8 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.c @@ -0,0 +1,5042 @@ +// Ogg Vorbis I audio decoder -- version 0.99996 +// +// Written in April 2007 by Sean Barrett, sponsored by RAD Game Tools. +// +// Placed in the public domain April 2007 by the author: no copyright is +// claimed, and you may use it for any purpose you like. +// +// No warranty for any purpose is expressed or implied by the author (nor +// by RAD Game Tools). Report bugs and send enhancements to the author. +// +// Get the latest version and other information at: +// http://nothings.org/stb_vorbis/ + + +// Todo: +// +// - seeking (note you can seek yourself using the pushdata API) +// +// Limitations: +// +// - floor 0 not supported (used in old ogg vorbis files) +// - lossless sample-truncation at beginning ignored +// - cannot concatenate multiple vorbis streams +// - sample positions are 32-bit, limiting seekable 192Khz +// files to around 6 hours (Ogg supports 64-bit) +// +// All of these limitations may be removed in future versions. + +#include "stb_vorbis.h" + +#ifndef STB_VORBIS_HEADER_ONLY + +// global configuration settings (e.g. set these in the project/makefile), +// or just set them in this file at the top (although ideally the first few +// should be visible when the header file is compiled too, although it's not +// crucial) + +// STB_VORBIS_NO_PUSHDATA_API +// does not compile the code for the various stb_vorbis_*_pushdata() +// functions +// #define STB_VORBIS_NO_PUSHDATA_API + +// STB_VORBIS_NO_PULLDATA_API +// does not compile the code for the non-pushdata APIs +// #define STB_VORBIS_NO_PULLDATA_API + +// STB_VORBIS_NO_STDIO +// does not compile the code for the APIs that use FILE *s internally +// or externally (implied by STB_VORBIS_NO_PULLDATA_API) +// #define STB_VORBIS_NO_STDIO + +// STB_VORBIS_NO_INTEGER_CONVERSION +// does not compile the code for converting audio sample data from +// float to integer (implied by STB_VORBIS_NO_PULLDATA_API) +// #define STB_VORBIS_NO_INTEGER_CONVERSION + +// STB_VORBIS_NO_FAST_SCALED_FLOAT +// does not use a fast float-to-int trick to accelerate float-to-int on +// most platforms which requires endianness be defined correctly. +//#define STB_VORBIS_NO_FAST_SCALED_FLOAT + + +// STB_VORBIS_MAX_CHANNELS [number] +// globally define this to the maximum number of channels you need. +// The spec does not put a restriction on channels except that +// the count is stored in a byte, so 255 is the hard limit. +// Reducing this saves about 16 bytes per value, so using 16 saves +// (255-16)*16 or around 4KB. Plus anything other memory usage +// I forgot to account for. Can probably go as low as 8 (7.1 audio), +// 6 (5.1 audio), or 2 (stereo only). +#ifndef STB_VORBIS_MAX_CHANNELS +#define STB_VORBIS_MAX_CHANNELS 16 // enough for anyone? +#endif + +// STB_VORBIS_PUSHDATA_CRC_COUNT [number] +// after a flush_pushdata(), stb_vorbis begins scanning for the +// next valid page, without backtracking. when it finds something +// that looks like a page, it streams through it and verifies its +// CRC32. Should that validation fail, it keeps scanning. But it's +// possible that _while_ streaming through to check the CRC32 of +// one candidate page, it sees another candidate page. This #define +// determines how many "overlapping" candidate pages it can search +// at once. Note that "real" pages are typically ~4KB to ~8KB, whereas +// garbage pages could be as big as 64KB, but probably average ~16KB. +// So don't hose ourselves by scanning an apparent 64KB page and +// missing a ton of real ones in the interim; so minimum of 2 +#ifndef STB_VORBIS_PUSHDATA_CRC_COUNT +#define STB_VORBIS_PUSHDATA_CRC_COUNT 4 +#endif + +// STB_VORBIS_FAST_HUFFMAN_LENGTH [number] +// sets the log size of the huffman-acceleration table. Maximum +// supported value is 24. with larger numbers, more decodings are O(1), +// but the table size is larger so worse cache missing, so you'll have +// to probe (and try multiple ogg vorbis files) to find the sweet spot. +#ifndef STB_VORBIS_FAST_HUFFMAN_LENGTH +#define STB_VORBIS_FAST_HUFFMAN_LENGTH 10 +#endif + +// STB_VORBIS_FAST_BINARY_LENGTH [number] +// sets the log size of the binary-search acceleration table. this +// is used in similar fashion to the fast-huffman size to set initial +// parameters for the binary search + +// STB_VORBIS_FAST_HUFFMAN_INT +// The fast huffman tables are much more efficient if they can be +// stored as 16-bit results instead of 32-bit results. This restricts +// the codebooks to having only 65535 possible outcomes, though. +// (At least, accelerated by the huffman table.) +#ifndef STB_VORBIS_FAST_HUFFMAN_INT +#define STB_VORBIS_FAST_HUFFMAN_SHORT +#endif + +// STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH +// If the 'fast huffman' search doesn't succeed, then stb_vorbis falls +// back on binary searching for the correct one. This requires storing +// extra tables with the huffman codes in sorted order. Defining this +// symbol trades off space for speed by forcing a linear search in the +// non-fast case, except for "sparse" codebooks. +// #define STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH + +// STB_VORBIS_DIVIDES_IN_RESIDUE +// stb_vorbis precomputes the result of the scalar residue decoding +// that would otherwise require a divide per chunk. you can trade off +// space for time by defining this symbol. +// #define STB_VORBIS_DIVIDES_IN_RESIDUE + +// STB_VORBIS_DIVIDES_IN_CODEBOOK +// vorbis VQ codebooks can be encoded two ways: with every case explicitly +// stored, or with all elements being chosen from a small range of values, +// and all values possible in all elements. By default, stb_vorbis expands +// this latter kind out to look like the former kind for ease of decoding, +// because otherwise an integer divide-per-vector-element is required to +// unpack the index. If you define STB_VORBIS_DIVIDES_IN_CODEBOOK, you can +// trade off storage for speed. +//#define STB_VORBIS_DIVIDES_IN_CODEBOOK + +// STB_VORBIS_CODEBOOK_SHORTS +// The vorbis file format encodes VQ codebook floats as ax+b where a and +// b are floating point per-codebook constants, and x is a 16-bit int. +// Normally, stb_vorbis decodes them to floats rather than leaving them +// as 16-bit ints and computing ax+b while decoding. This is a speed/space +// tradeoff; you can save space by defining this flag. +#ifndef STB_VORBIS_CODEBOOK_SHORTS +#define STB_VORBIS_CODEBOOK_FLOATS +#endif + +// STB_VORBIS_DIVIDE_TABLE +// this replaces small integer divides in the floor decode loop with +// table lookups. made less than 1% difference, so disabled by default. + +// STB_VORBIS_NO_INLINE_DECODE +// disables the inlining of the scalar codebook fast-huffman decode. +// might save a little codespace; useful for debugging +// #define STB_VORBIS_NO_INLINE_DECODE + +// STB_VORBIS_NO_DEFER_FLOOR +// Normally we only decode the floor without synthesizing the actual +// full curve. We can instead synthesize the curve immediately. This +// requires more memory and is very likely slower, so I don't think +// you'd ever want to do it except for debugging. +// #define STB_VORBIS_NO_DEFER_FLOOR + + + + +////////////////////////////////////////////////////////////////////////////// + +#ifdef STB_VORBIS_NO_PULLDATA_API + #define STB_VORBIS_NO_INTEGER_CONVERSION + #define STB_VORBIS_NO_STDIO +#endif + +#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) + #define STB_VORBIS_NO_STDIO 1 +#endif + +#ifndef STB_VORBIS_NO_INTEGER_CONVERSION +#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT + + // only need endianness for fast-float-to-int, which we don't + // use for pushdata + + #ifndef STB_VORBIS_BIG_ENDIAN + #define STB_VORBIS_ENDIAN 0 + #else + #define STB_VORBIS_ENDIAN 1 + #endif + +#endif +#endif + + +#ifndef STB_VORBIS_NO_STDIO +#include +#endif + +#ifndef STB_VORBIS_NO_CRT +#include +#include +#include +#include +#if !(defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)) +#include +#endif +#else +#define NULL 0 +#endif + +#ifndef _MSC_VER + #if __GNUC__ + #define __forceinline inline + #else + #define __forceinline + #endif +#endif + +#if STB_VORBIS_MAX_CHANNELS > 256 +#error "Value of STB_VORBIS_MAX_CHANNELS outside of allowed range" +#endif + +#if STB_VORBIS_FAST_HUFFMAN_LENGTH > 24 +#error "Value of STB_VORBIS_FAST_HUFFMAN_LENGTH outside of allowed range" +#endif + + +#define MAX_BLOCKSIZE_LOG 13 // from specification +#define MAX_BLOCKSIZE (1 << MAX_BLOCKSIZE_LOG) + + +typedef unsigned char uint8; +typedef signed char int8; +typedef unsigned short uint16; +typedef signed short int16; +typedef unsigned int uint32; +typedef signed int int32; + +#ifndef TRUE +#define TRUE 1 +#define FALSE 0 +#endif + +#ifdef STB_VORBIS_CODEBOOK_FLOATS +typedef float codetype; +#else +typedef uint16 codetype; +#endif + +// @NOTE +// +// Some arrays below are tagged "//varies", which means it's actually +// a variable-sized piece of data, but rather than malloc I assume it's +// small enough it's better to just allocate it all together with the +// main thing +// +// Most of the variables are specified with the smallest size I could pack +// them into. It might give better performance to make them all full-sized +// integers. It should be safe to freely rearrange the structures or change +// the sizes larger--nothing relies on silently truncating etc., nor the +// order of variables. + +#define FAST_HUFFMAN_TABLE_SIZE (1 << STB_VORBIS_FAST_HUFFMAN_LENGTH) +#define FAST_HUFFMAN_TABLE_MASK (FAST_HUFFMAN_TABLE_SIZE - 1) + +typedef struct +{ + int dimensions, entries; + uint8 *codeword_lengths; + float minimum_value; + float delta_value; + uint8 value_bits; + uint8 lookup_type; + uint8 sequence_p; + uint8 sparse; + uint32 lookup_values; + codetype *multiplicands; + uint32 *codewords; + #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT + int16 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; + #else + int32 fast_huffman[FAST_HUFFMAN_TABLE_SIZE]; + #endif + uint32 *sorted_codewords; + int *sorted_values; + int sorted_entries; +} Codebook; + +typedef struct +{ + uint8 order; + uint16 rate; + uint16 bark_map_size; + uint8 amplitude_bits; + uint8 amplitude_offset; + uint8 number_of_books; + uint8 book_list[16]; // varies +} Floor0; + +typedef struct +{ + uint8 partitions; + uint8 partition_class_list[32]; // varies + uint8 class_dimensions[16]; // varies + uint8 class_subclasses[16]; // varies + uint8 class_masterbooks[16]; // varies + int16 subclass_books[16][8]; // varies + uint16 Xlist[31*8+2]; // varies + uint8 sorted_order[31*8+2]; + uint8 neighbors[31*8+2][2]; + uint8 floor1_multiplier; + uint8 rangebits; + int values; +} Floor1; + +typedef union +{ + Floor0 floor0; + Floor1 floor1; +} Floor; + +typedef struct +{ + uint32 begin, end; + uint32 part_size; + uint8 classifications; + uint8 classbook; + uint8 **classdata; + int16 (*residue_books)[8]; +} Residue; + +typedef struct +{ + uint8 magnitude; + uint8 angle; + uint8 mux; +} MappingChannel; + +typedef struct +{ + uint16 coupling_steps; + MappingChannel *chan; + uint8 submaps; + uint8 submap_floor[15]; // varies + uint8 submap_residue[15]; // varies +} Mapping; + +typedef struct +{ + uint8 blockflag; + uint8 mapping; + uint16 windowtype; + uint16 transformtype; +} Mode; + +typedef struct +{ + uint32 goal_crc; // expected crc if match + int bytes_left; // bytes left in packet + uint32 crc_so_far; // running crc + int bytes_done; // bytes processed in _current_ chunk + uint32 sample_loc; // granule pos encoded in page +} CRCscan; + +typedef struct +{ + uint32 page_start, page_end; + uint32 after_previous_page_start; + uint32 first_decoded_sample; + uint32 last_decoded_sample; +} ProbedPage; + +struct stb_vorbis +{ + // user-accessible info + unsigned int sample_rate; + int channels; + + unsigned int setup_memory_required; + unsigned int temp_memory_required; + unsigned int setup_temp_memory_required; + + // input config +#ifndef STB_VORBIS_NO_STDIO + FILE *f; + uint32 f_start; + int close_on_free; +#endif + + uint8 *stream; + uint8 *stream_start; + uint8 *stream_end; + + uint32 stream_len; + + uint8 push_mode; + + uint32 first_audio_page_offset; + + ProbedPage p_first, p_last; + + // memory management + stb_vorbis_alloc alloc; + int setup_offset; + int temp_offset; + + // run-time results + int eof; + enum STBVorbisError error; + + // user-useful data + + // header info + int blocksize[2]; + int blocksize_0, blocksize_1; + int codebook_count; + Codebook *codebooks; + int floor_count; + uint16 floor_types[64]; // varies + Floor *floor_config; + int residue_count; + uint16 residue_types[64]; // varies + Residue *residue_config; + int mapping_count; + Mapping *mapping; + int mode_count; + Mode mode_config[64]; // varies + + uint32 total_samples; + + // decode buffer + float *channel_buffers[STB_VORBIS_MAX_CHANNELS]; + float *outputs [STB_VORBIS_MAX_CHANNELS]; + + float *previous_window[STB_VORBIS_MAX_CHANNELS]; + int previous_length; + + #ifndef STB_VORBIS_NO_DEFER_FLOOR + int16 *finalY[STB_VORBIS_MAX_CHANNELS]; + #else + float *floor_buffers[STB_VORBIS_MAX_CHANNELS]; + #endif + + uint32 current_loc; // sample location of next frame to decode + int current_loc_valid; + + // per-blocksize precomputed data + + // twiddle factors + float *A[2],*B[2],*C[2]; + float *window[2]; + uint16 *bit_reverse[2]; + + // current page/packet/segment streaming info + uint32 serial; // stream serial number for verification + int last_page; + int segment_count; + uint8 segments[255]; + uint8 page_flag; + uint8 bytes_in_seg; + uint8 first_decode; + int next_seg; + int last_seg; // flag that we're on the last segment + int last_seg_which; // what was the segment number of the last seg? + uint32 acc; + int valid_bits; + int packet_bytes; + int end_seg_with_known_loc; + uint32 known_loc_for_packet; + int discard_samples_deferred; + uint32 samples_output; + + // push mode scanning + int page_crc_tests; // only in push_mode: number of tests active; -1 if not searching +#ifndef STB_VORBIS_NO_PUSHDATA_API + CRCscan scan[STB_VORBIS_PUSHDATA_CRC_COUNT]; +#endif + + // sample-access + int channel_buffer_start; + int channel_buffer_end; +}; + +extern int my_prof(int slot); +//#define stb_prof my_prof + +#ifndef stb_prof +#define stb_prof(x) 0 +#endif + +#if defined(STB_VORBIS_NO_PUSHDATA_API) + #define IS_PUSH_MODE(f) FALSE +#elif defined(STB_VORBIS_NO_PULLDATA_API) + #define IS_PUSH_MODE(f) TRUE +#else + #define IS_PUSH_MODE(f) ((f)->push_mode) +#endif + +typedef struct stb_vorbis vorb; + +static int error(vorb *f, enum STBVorbisError e) +{ + f->error = e; + if (!f->eof && e != VORBIS_need_more_data) { + f->error=e; // breakpoint for debugging + } + return 0; +} + + +// these functions are used for allocating temporary memory +// while decoding. if you can afford the stack space, use +// alloca(); otherwise, provide a temp buffer and it will +// allocate out of those. + +#define array_size_required(count,size) (count*(sizeof(void *)+(size))) + +#define temp_alloc(f,size) (f->alloc.alloc_buffer ? setup_temp_malloc(f,size) : alloca(size)) +#ifdef dealloca +#define temp_free(f,p) (f->alloc.alloc_buffer ? 0 : dealloca(size)) +#else +#define temp_free(f,p) 0 +#endif +#define temp_alloc_save(f) ((f)->temp_offset) +#define temp_alloc_restore(f,p) ((f)->temp_offset = (p)) + +#define temp_block_array(f,count,size) make_block_array(temp_alloc(f,array_size_required(count,size)), count, size) + +// given a sufficiently large block of memory, make an array of pointers to subblocks of it +static void *make_block_array(void *mem, int count, int size) +{ + int i; + void ** p = (void **) mem; + char *q = (char *) (p + count); + for (i=0; i < count; ++i) { + p[i] = q; + q += size; + } + return p; +} + +static void *setup_malloc(vorb *f, int sz) +{ + sz = (sz+3) & ~3; + f->setup_memory_required += sz; + if (f->alloc.alloc_buffer) { + void *p = (char *) f->alloc.alloc_buffer + f->setup_offset; + if (f->setup_offset + sz > f->temp_offset) return NULL; + f->setup_offset += sz; + return p; + } + return sz ? malloc(sz) : NULL; +} + +static void setup_free(vorb *f, void *p) +{ + if (f->alloc.alloc_buffer) return; // do nothing; setup mem is not a stack + free(p); +} + +static void *setup_temp_malloc(vorb *f, int sz) +{ + sz = (sz+3) & ~3; + if (f->alloc.alloc_buffer) { + if (f->temp_offset - sz < f->setup_offset) return NULL; + f->temp_offset -= sz; + return (char *) f->alloc.alloc_buffer + f->temp_offset; + } + return malloc(sz); +} + +static void setup_temp_free(vorb *f, void *p, size_t sz) +{ + if (f->alloc.alloc_buffer) { + f->temp_offset += (sz+3)&~3; + return; + } + free(p); +} + +#define CRC32_POLY 0x04c11db7 // from spec + +static uint32 crc_table[256]; +static void crc32_init(void) +{ + int i,j; + uint32 s; + for(i=0; i < 256; i++) { + for (s=i<<24, j=0; j < 8; ++j) + s = (s << 1) ^ (s >= (1<<31) ? CRC32_POLY : 0); + crc_table[i] = s; + } +} + +static __forceinline uint32 crc32_update(uint32 crc, uint8 byte) +{ + return (crc << 8) ^ crc_table[byte ^ (crc >> 24)]; +} + + +// used in setup, and for huffman that doesn't go fast path +static unsigned int bit_reverse(unsigned int n) +{ + n = ((n & 0xAAAAAAAA) >> 1) | ((n & 0x55555555) << 1); + n = ((n & 0xCCCCCCCC) >> 2) | ((n & 0x33333333) << 2); + n = ((n & 0xF0F0F0F0) >> 4) | ((n & 0x0F0F0F0F) << 4); + n = ((n & 0xFF00FF00) >> 8) | ((n & 0x00FF00FF) << 8); + return (n >> 16) | (n << 16); +} + +static float square(float x) +{ + return x*x; +} + +// this is a weird definition of log2() for which log2(1) = 1, log2(2) = 2, log2(4) = 3 +// as required by the specification. fast(?) implementation from stb.h +// @OPTIMIZE: called multiple times per-packet with "constants"; move to setup +static int ilog(int32 n) +{ + static signed char log2_4[16] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4 }; + + // 2 compares if n < 16, 3 compares otherwise (4 if signed or n > 1<<29) + if (n < (1U << 14)) + if (n < (1U << 4)) return 0 + log2_4[n ]; + else if (n < (1U << 9)) return 5 + log2_4[n >> 5]; + else return 10 + log2_4[n >> 10]; + else if (n < (1U << 24)) + if (n < (1U << 19)) return 15 + log2_4[n >> 15]; + else return 20 + log2_4[n >> 20]; + else if (n < (1U << 29)) return 25 + log2_4[n >> 25]; + else if (n < (1U << 31)) return 30 + log2_4[n >> 30]; + else return 0; // signed n returns 0 +} + +#ifndef M_PI + #define M_PI 3.14159265358979323846264f // from CRC +#endif + +// code length assigned to a value with no huffman encoding +#define NO_CODE 255 + +/////////////////////// LEAF SETUP FUNCTIONS ////////////////////////// +// +// these functions are only called at setup, and only a few times +// per file + +static float float32_unpack(uint32 x) +{ + // from the specification + uint32 mantissa = x & 0x1fffff; + uint32 sign = x & 0x80000000; + uint32 exp = (x & 0x7fe00000) >> 21; + double res = sign ? -(double)mantissa : (double)mantissa; + return (float) ldexp((float)res, exp-788); +} + + +// zlib & jpeg huffman tables assume that the output symbols +// can either be arbitrarily arranged, or have monotonically +// increasing frequencies--they rely on the lengths being sorted; +// this makes for a very simple generation algorithm. +// vorbis allows a huffman table with non-sorted lengths. This +// requires a more sophisticated construction, since symbols in +// order do not map to huffman codes "in order". +static void add_entry(Codebook *c, uint32 huff_code, int symbol, int count, int len, uint32 *values) +{ + if (!c->sparse) { + c->codewords [symbol] = huff_code; + } else { + c->codewords [count] = huff_code; + c->codeword_lengths[count] = len; + values [count] = symbol; + } +} + +static int compute_codewords(Codebook *c, uint8 *len, int n, uint32 *values) +{ + int i,k,m=0; + uint32 available[32]; + + memset(available, 0, sizeof(available)); + // find the first entry + for (k=0; k < n; ++k) if (len[k] < NO_CODE) break; + if (k == n) { assert(c->sorted_entries == 0); return TRUE; } + // add to the list + add_entry(c, 0, k, m++, len[k], values); + // add all available leaves + for (i=1; i <= len[k]; ++i) + available[i] = 1 << (32-i); + // note that the above code treats the first case specially, + // but it's really the same as the following code, so they + // could probably be combined (except the initial code is 0, + // and I use 0 in available[] to mean 'empty') + for (i=k+1; i < n; ++i) { + uint32 res; + int z = len[i], y; + if (z == NO_CODE) continue; + // find lowest available leaf (should always be earliest, + // which is what the specification calls for) + // note that this property, and the fact we can never have + // more than one free leaf at a given level, isn't totally + // trivial to prove, but it seems true and the assert never + // fires, so! + while (z > 0 && !available[z]) --z; + if (z == 0) { assert(0); return FALSE; } + res = available[z]; + available[z] = 0; + add_entry(c, bit_reverse(res), i, m++, len[i], values); + // propogate availability up the tree + if (z != len[i]) { + for (y=len[i]; y > z; --y) { + assert(available[y] == 0); + available[y] = res + (1 << (32-y)); + } + } + } + return TRUE; +} + +// accelerated huffman table allows fast O(1) match of all symbols +// of length <= STB_VORBIS_FAST_HUFFMAN_LENGTH +static void compute_accelerated_huffman(Codebook *c) +{ + int i, len; + for (i=0; i < FAST_HUFFMAN_TABLE_SIZE; ++i) + c->fast_huffman[i] = -1; + + len = c->sparse ? c->sorted_entries : c->entries; + #ifdef STB_VORBIS_FAST_HUFFMAN_SHORT + if (len > 32767) len = 32767; // largest possible value we can encode! + #endif + for (i=0; i < len; ++i) { + if (c->codeword_lengths[i] <= STB_VORBIS_FAST_HUFFMAN_LENGTH) { + uint32 z = c->sparse ? bit_reverse(c->sorted_codewords[i]) : c->codewords[i]; + // set table entries for all bit combinations in the higher bits + while (z < FAST_HUFFMAN_TABLE_SIZE) { + c->fast_huffman[z] = i; + z += 1 << c->codeword_lengths[i]; + } + } + } +} + +static int uint32_compare(const void *p, const void *q) +{ + uint32 x = * (uint32 *) p; + uint32 y = * (uint32 *) q; + return x < y ? -1 : x > y; +} + +static int include_in_sort(Codebook *c, uint8 len) +{ + if (c->sparse) { assert(len != NO_CODE); return TRUE; } + if (len == NO_CODE) return FALSE; + if (len > STB_VORBIS_FAST_HUFFMAN_LENGTH) return TRUE; + return FALSE; +} + +// if the fast table above doesn't work, we want to binary +// search them... need to reverse the bits +static void compute_sorted_huffman(Codebook *c, uint8 *lengths, uint32 *values) +{ + int i, len; + // build a list of all the entries + // OPTIMIZATION: don't include the short ones, since they'll be caught by FAST_HUFFMAN. + // this is kind of a frivolous optimization--I don't see any performance improvement, + // but it's like 4 extra lines of code, so. + if (!c->sparse) { + int k = 0; + for (i=0; i < c->entries; ++i) + if (include_in_sort(c, lengths[i])) + c->sorted_codewords[k++] = bit_reverse(c->codewords[i]); + assert(k == c->sorted_entries); + } else { + for (i=0; i < c->sorted_entries; ++i) + c->sorted_codewords[i] = bit_reverse(c->codewords[i]); + } + + qsort(c->sorted_codewords, c->sorted_entries, sizeof(c->sorted_codewords[0]), uint32_compare); + c->sorted_codewords[c->sorted_entries] = 0xffffffff; + + len = c->sparse ? c->sorted_entries : c->entries; + // now we need to indicate how they correspond; we could either + // #1: sort a different data structure that says who they correspond to + // #2: for each sorted entry, search the original list to find who corresponds + // #3: for each original entry, find the sorted entry + // #1 requires extra storage, #2 is slow, #3 can use binary search! + for (i=0; i < len; ++i) { + int huff_len = c->sparse ? lengths[values[i]] : lengths[i]; + if (include_in_sort(c,huff_len)) { + uint32 code = bit_reverse(c->codewords[i]); + int x=0, n=c->sorted_entries; + while (n > 1) { + // invariant: sc[x] <= code < sc[x+n] + int m = x + (n >> 1); + if (c->sorted_codewords[m] <= code) { + x = m; + n -= (n>>1); + } else { + n >>= 1; + } + } + assert(c->sorted_codewords[x] == code); + if (c->sparse) { + c->sorted_values[x] = values[i]; + c->codeword_lengths[x] = huff_len; + } else { + c->sorted_values[x] = i; + } + } + } +} + +// only run while parsing the header (3 times) +static int vorbis_validate(uint8 *data) +{ + static uint8 vorbis[6] = { 'v', 'o', 'r', 'b', 'i', 's' }; + return memcmp(data, vorbis, 6) == 0; +} + +// called from setup only, once per code book +// (formula implied by specification) +static int lookup1_values(int entries, int dim) +{ + int r = (int) floor(exp((float) log((float) entries) / dim)); + if ((int) floor(pow((float) r+1, dim)) <= entries) // (int) cast for MinGW warning; + ++r; // floor() to avoid _ftol() when non-CRT + assert(pow((float) r+1, dim) > entries); + assert((int) floor(pow((float) r, dim)) <= entries); // (int),floor() as above + return r; +} + +// called twice per file +static void compute_twiddle_factors(int n, float *A, float *B, float *C) +{ + int n4 = n >> 2, n8 = n >> 3; + int k,k2; + + for (k=k2=0; k < n4; ++k,k2+=2) { + A[k2 ] = (float) cos(4*k*M_PI/n); + A[k2+1] = (float) -sin(4*k*M_PI/n); + B[k2 ] = (float) cos((k2+1)*M_PI/n/2) * 0.5f; + B[k2+1] = (float) sin((k2+1)*M_PI/n/2) * 0.5f; + } + for (k=k2=0; k < n8; ++k,k2+=2) { + C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); + C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); + } +} + +static void compute_window(int n, float *window) +{ + int n2 = n >> 1, i; + for (i=0; i < n2; ++i) + window[i] = (float) sin(0.5 * M_PI * square((float) sin((i - 0 + 0.5) / n2 * 0.5 * M_PI))); +} + +static void compute_bitreverse(int n, uint16 *rev) +{ + int ld = ilog(n) - 1; // ilog is off-by-one from normal definitions + int i, n8 = n >> 3; + for (i=0; i < n8; ++i) + rev[i] = (bit_reverse(i) >> (32-ld+3)) << 2; +} + +static int init_blocksize(vorb *f, int b, int n) +{ + int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3; + f->A[b] = (float *) setup_malloc(f, sizeof(float) * n2); + f->B[b] = (float *) setup_malloc(f, sizeof(float) * n2); + f->C[b] = (float *) setup_malloc(f, sizeof(float) * n4); + if (!f->A[b] || !f->B[b] || !f->C[b]) return error(f, VORBIS_outofmem); + compute_twiddle_factors(n, f->A[b], f->B[b], f->C[b]); + f->window[b] = (float *) setup_malloc(f, sizeof(float) * n2); + if (!f->window[b]) return error(f, VORBIS_outofmem); + compute_window(n, f->window[b]); + f->bit_reverse[b] = (uint16 *) setup_malloc(f, sizeof(uint16) * n8); + if (!f->bit_reverse[b]) return error(f, VORBIS_outofmem); + compute_bitreverse(n, f->bit_reverse[b]); + return TRUE; +} + +static void neighbors(uint16 *x, int n, int *plow, int *phigh) +{ + int low = -1; + int high = 65536; + int i; + for (i=0; i < n; ++i) { + if (x[i] > low && x[i] < x[n]) { *plow = i; low = x[i]; } + if (x[i] < high && x[i] > x[n]) { *phigh = i; high = x[i]; } + } +} + +// this has been repurposed so y is now the original index instead of y +typedef struct +{ + uint16 x,y; +} VorbisPoint; + +int point_compare(const void *p, const void *q) +{ + VorbisPoint *a = (VorbisPoint *) p; + VorbisPoint *b = (VorbisPoint *) q; + return a->x < b->x ? -1 : a->x > b->x; +} + +// +/////////////////////// END LEAF SETUP FUNCTIONS ////////////////////////// + + +#if defined(STB_VORBIS_NO_STDIO) + #define USE_MEMORY(z) TRUE +#else + #define USE_MEMORY(z) ((z)->stream) +#endif + +static uint8 get8(vorb *z) +{ + if (USE_MEMORY(z)) { + if (z->stream >= z->stream_end) { z->eof = TRUE; return 0; } + return *z->stream++; + } + + #ifndef STB_VORBIS_NO_STDIO + { + int c = fgetc(z->f); + if (c == EOF) { z->eof = TRUE; return 0; } + return c; + } + #endif +} + +static uint32 get32(vorb *f) +{ + uint32 x; + x = get8(f); + x += get8(f) << 8; + x += get8(f) << 16; + x += get8(f) << 24; + return x; +} + +static int getn(vorb *z, uint8 *data, int n) +{ + if (USE_MEMORY(z)) { + if (z->stream+n > z->stream_end) { z->eof = 1; return 0; } + memcpy(data, z->stream, n); + z->stream += n; + return 1; + } + + #ifndef STB_VORBIS_NO_STDIO + if (fread(data, n, 1, z->f) == 1) + return 1; + else { + z->eof = 1; + return 0; + } + #endif +} + +static void skip(vorb *z, int n) +{ + if (USE_MEMORY(z)) { + z->stream += n; + if (z->stream >= z->stream_end) z->eof = 1; + return; + } + #ifndef STB_VORBIS_NO_STDIO + { + long x = ftell(z->f); + fseek(z->f, x+n, SEEK_SET); + } + #endif +} + +static int set_file_offset(stb_vorbis *f, unsigned int loc) +{ + #ifndef STB_VORBIS_NO_PUSHDATA_API + if (f->push_mode) return 0; + #endif + f->eof = 0; + if (USE_MEMORY(f)) { + if (f->stream_start + loc >= f->stream_end || f->stream_start + loc < f->stream_start) { + f->stream = f->stream_end; + f->eof = 1; + return 0; + } else { + f->stream = f->stream_start + loc; + return 1; + } + } + #ifndef STB_VORBIS_NO_STDIO + if (loc + f->f_start < loc || loc >= 0x80000000) { + loc = 0x7fffffff; + f->eof = 1; + } else { + loc += f->f_start; + } + if (!fseek(f->f, loc, SEEK_SET)) + return 1; + f->eof = 1; + fseek(f->f, f->f_start, SEEK_END); + return 0; + #endif +} + + +static uint8 ogg_page_header[4] = { 0x4f, 0x67, 0x67, 0x53 }; + +static int capture_pattern(vorb *f) +{ + if (0x4f != get8(f)) return FALSE; + if (0x67 != get8(f)) return FALSE; + if (0x67 != get8(f)) return FALSE; + if (0x53 != get8(f)) return FALSE; + return TRUE; +} + +#define PAGEFLAG_continued_packet 1 +#define PAGEFLAG_first_page 2 +#define PAGEFLAG_last_page 4 + +static int start_page_no_capturepattern(vorb *f) +{ + uint32 loc0,loc1,n,i; + // stream structure version + if (0 != get8(f)) return error(f, VORBIS_invalid_stream_structure_version); + // header flag + f->page_flag = get8(f); + // absolute granule position + loc0 = get32(f); + loc1 = get32(f); + // @TODO: validate loc0,loc1 as valid positions? + // stream serial number -- vorbis doesn't interleave, so discard + get32(f); + //if (f->serial != get32(f)) return error(f, VORBIS_incorrect_stream_serial_number); + // page sequence number + n = get32(f); + f->last_page = n; + // CRC32 + get32(f); + // page_segments + f->segment_count = get8(f); + if (!getn(f, f->segments, f->segment_count)) + return error(f, VORBIS_unexpected_eof); + // assume we _don't_ know any the sample position of any segments + f->end_seg_with_known_loc = -2; + if (loc0 != ~0 || loc1 != ~0) { + // determine which packet is the last one that will complete + for (i=f->segment_count-1; i >= 0; --i) + if (f->segments[i] < 255) + break; + // 'i' is now the index of the _last_ segment of a packet that ends + if (i >= 0) { + f->end_seg_with_known_loc = i; + f->known_loc_for_packet = loc0; + } + } + if (f->first_decode) { + int i,len; + ProbedPage p; + len = 0; + for (i=0; i < f->segment_count; ++i) + len += f->segments[i]; + len += 27 + f->segment_count; + p.page_start = f->first_audio_page_offset; + p.page_end = p.page_start + len; + p.after_previous_page_start = p.page_start; + p.first_decoded_sample = 0; + p.last_decoded_sample = loc0; + f->p_first = p; + } + f->next_seg = 0; + return TRUE; +} + +static int start_page(vorb *f) +{ + if (!capture_pattern(f)) return error(f, VORBIS_missing_capture_pattern); + return start_page_no_capturepattern(f); +} + +static int start_packet(vorb *f) +{ + while (f->next_seg == -1) { + if (!start_page(f)) return FALSE; + if (f->page_flag & PAGEFLAG_continued_packet) + return error(f, VORBIS_continued_packet_flag_invalid); + } + f->last_seg = FALSE; + f->valid_bits = 0; + f->packet_bytes = 0; + f->bytes_in_seg = 0; + // f->next_seg is now valid + return TRUE; +} + +static int maybe_start_packet(vorb *f) +{ + if (f->next_seg == -1) { + int x = get8(f); + if (f->eof) return FALSE; // EOF at page boundary is not an error! + if (0x4f != x ) return error(f, VORBIS_missing_capture_pattern); + if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); + if (0x67 != get8(f)) return error(f, VORBIS_missing_capture_pattern); + if (0x53 != get8(f)) return error(f, VORBIS_missing_capture_pattern); + if (!start_page_no_capturepattern(f)) return FALSE; + if (f->page_flag & PAGEFLAG_continued_packet) { + // set up enough state that we can read this packet if we want, + // e.g. during recovery + f->last_seg = FALSE; + f->bytes_in_seg = 0; + return error(f, VORBIS_continued_packet_flag_invalid); + } + } + return start_packet(f); +} + +static int next_segment(vorb *f) +{ + int len; + if (f->last_seg) return 0; + if (f->next_seg == -1) { + f->last_seg_which = f->segment_count-1; // in case start_page fails + if (!start_page(f)) { f->last_seg = 1; return 0; } + if (!(f->page_flag & PAGEFLAG_continued_packet)) return error(f, VORBIS_continued_packet_flag_invalid); + } + len = f->segments[f->next_seg++]; + if (len < 255) { + f->last_seg = TRUE; + f->last_seg_which = f->next_seg-1; + } + if (f->next_seg >= f->segment_count) + f->next_seg = -1; + assert(f->bytes_in_seg == 0); + f->bytes_in_seg = len; + return len; +} + +#define EOP (-1) +#define INVALID_BITS (-1) + +static int get8_packet_raw(vorb *f) +{ + if (!f->bytes_in_seg) + if (f->last_seg) return EOP; + else if (!next_segment(f)) return EOP; + assert(f->bytes_in_seg > 0); + --f->bytes_in_seg; + ++f->packet_bytes; + return get8(f); +} + +static int get8_packet(vorb *f) +{ + int x = get8_packet_raw(f); + f->valid_bits = 0; + return x; +} + +static void flush_packet(vorb *f) +{ + while (get8_packet_raw(f) != EOP); +} + +// @OPTIMIZE: this is the secondary bit decoder, so it's probably not as important +// as the huffman decoder? +static uint32 get_bits(vorb *f, int n) +{ + uint32 z; + + if (f->valid_bits < 0) return 0; + if (f->valid_bits < n) { + if (n > 24) { + // the accumulator technique below would not work correctly in this case + z = get_bits(f, 24); + z += get_bits(f, n-24) << 24; + return z; + } + if (f->valid_bits == 0) f->acc = 0; + while (f->valid_bits < n) { + int z = get8_packet_raw(f); + if (z == EOP) { + f->valid_bits = INVALID_BITS; + return 0; + } + f->acc += z << f->valid_bits; + f->valid_bits += 8; + } + } + if (f->valid_bits < 0) return 0; + z = f->acc & ((1 << n)-1); + f->acc >>= n; + f->valid_bits -= n; + return z; +} + +static int32 get_bits_signed(vorb *f, int n) +{ + uint32 z = get_bits(f, n); + if (z & (1 << (n-1))) + z += ~((1 << n) - 1); + return (int32) z; +} + +// @OPTIMIZE: primary accumulator for huffman +// expand the buffer to as many bits as possible without reading off end of packet +// it might be nice to allow f->valid_bits and f->acc to be stored in registers, +// e.g. cache them locally and decode locally +static __forceinline void prep_huffman(vorb *f) +{ + if (f->valid_bits <= 24) { + if (f->valid_bits == 0) f->acc = 0; + do { + int z; + if (f->last_seg && !f->bytes_in_seg) return; + z = get8_packet_raw(f); + if (z == EOP) return; + f->acc += z << f->valid_bits; + f->valid_bits += 8; + } while (f->valid_bits <= 24); + } +} + +enum +{ + VORBIS_packet_id = 1, + VORBIS_packet_comment = 3, + VORBIS_packet_setup = 5, +}; + +static int codebook_decode_scalar_raw(vorb *f, Codebook *c) +{ + int i; + prep_huffman(f); + + assert(c->sorted_codewords || c->codewords); + // cases to use binary search: sorted_codewords && !c->codewords + // sorted_codewords && c->entries > 8 + if (c->entries > 8 ? c->sorted_codewords!=NULL : !c->codewords) { + // binary search + uint32 code = bit_reverse(f->acc); + int x=0, n=c->sorted_entries, len; + + while (n > 1) { + // invariant: sc[x] <= code < sc[x+n] + int m = x + (n >> 1); + if (c->sorted_codewords[m] <= code) { + x = m; + n -= (n>>1); + } else { + n >>= 1; + } + } + // x is now the sorted index + if (!c->sparse) x = c->sorted_values[x]; + // x is now sorted index if sparse, or symbol otherwise + len = c->codeword_lengths[x]; + if (f->valid_bits >= len) { + f->acc >>= len; + f->valid_bits -= len; + return x; + } + + f->valid_bits = 0; + return -1; + } + + // if small, linear search + assert(!c->sparse); + for (i=0; i < c->entries; ++i) { + if (c->codeword_lengths[i] == NO_CODE) continue; + if (c->codewords[i] == (f->acc & ((1 << c->codeword_lengths[i])-1))) { + if (f->valid_bits >= c->codeword_lengths[i]) { + f->acc >>= c->codeword_lengths[i]; + f->valid_bits -= c->codeword_lengths[i]; + return i; + } + f->valid_bits = 0; + return -1; + } + } + + error(f, VORBIS_invalid_stream); + f->valid_bits = 0; + return -1; +} + +static int codebook_decode_scalar(vorb *f, Codebook *c) +{ + int i; + if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) + prep_huffman(f); + // fast huffman table lookup + i = f->acc & FAST_HUFFMAN_TABLE_MASK; + i = c->fast_huffman[i]; + if (i >= 0) { + f->acc >>= c->codeword_lengths[i]; + f->valid_bits -= c->codeword_lengths[i]; + if (f->valid_bits < 0) { f->valid_bits = 0; return -1; } + return i; + } + return codebook_decode_scalar_raw(f,c); +} + +#ifndef STB_VORBIS_NO_INLINE_DECODE + +#define DECODE_RAW(var, f,c) \ + if (f->valid_bits < STB_VORBIS_FAST_HUFFMAN_LENGTH) \ + prep_huffman(f); \ + var = f->acc & FAST_HUFFMAN_TABLE_MASK; \ + var = c->fast_huffman[var]; \ + if (var >= 0) { \ + int n = c->codeword_lengths[var]; \ + f->acc >>= n; \ + f->valid_bits -= n; \ + if (f->valid_bits < 0) { f->valid_bits = 0; var = -1; } \ + } else { \ + var = codebook_decode_scalar_raw(f,c); \ + } + +#else + +#define DECODE_RAW(var,f,c) var = codebook_decode_scalar(f,c); + +#endif + +#define DECODE(var,f,c) \ + DECODE_RAW(var,f,c) \ + if (c->sparse) var = c->sorted_values[var]; + +#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK + #define DECODE_VQ(var,f,c) DECODE_RAW(var,f,c) +#else + #define DECODE_VQ(var,f,c) DECODE(var,f,c) +#endif + + + + + + +// CODEBOOK_ELEMENT_FAST is an optimization for the CODEBOOK_FLOATS case +// where we avoid one addition +#ifndef STB_VORBIS_CODEBOOK_FLOATS + #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off] * c->delta_value + c->minimum_value) + #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off] * c->delta_value) + #define CODEBOOK_ELEMENT_BASE(c) (c->minimum_value) +#else + #define CODEBOOK_ELEMENT(c,off) (c->multiplicands[off]) + #define CODEBOOK_ELEMENT_FAST(c,off) (c->multiplicands[off]) + #define CODEBOOK_ELEMENT_BASE(c) (0) +#endif + +static int codebook_decode_start(vorb *f, Codebook *c, int len) +{ + int z = -1; + + // type 0 is only legal in a scalar context + if (c->lookup_type == 0) + error(f, VORBIS_invalid_stream); + else { + DECODE_VQ(z,f,c); + if (c->sparse) assert(z < c->sorted_entries); + if (z < 0) { // check for EOP + if (!f->bytes_in_seg) + if (f->last_seg) + return z; + error(f, VORBIS_invalid_stream); + } + } + return z; +} + +static int codebook_decode(vorb *f, Codebook *c, float *output, int len) +{ + int i,z = codebook_decode_start(f,c,len); + if (z < 0) return FALSE; + if (len > c->dimensions) len = c->dimensions; + +#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK + if (c->lookup_type == 1) { + float last = CODEBOOK_ELEMENT_BASE(c); + int div = 1; + for (i=0; i < len; ++i) { + int off = (z / div) % c->lookup_values; + float val = CODEBOOK_ELEMENT_FAST(c,off) + last; + output[i] += val; + if (c->sequence_p) last = val + c->minimum_value; + div *= c->lookup_values; + } + return TRUE; + } +#endif + + z *= c->dimensions; + if (c->sequence_p) { + float last = CODEBOOK_ELEMENT_BASE(c); + for (i=0; i < len; ++i) { + float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; + output[i] += val; + last = val + c->minimum_value; + } + } else { + float last = CODEBOOK_ELEMENT_BASE(c); + for (i=0; i < len; ++i) { + output[i] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; + } + } + + return TRUE; +} + +static int codebook_decode_step(vorb *f, Codebook *c, float *output, int len, int step) +{ + int i,z = codebook_decode_start(f,c,len); + float last = CODEBOOK_ELEMENT_BASE(c); + if (z < 0) return FALSE; + if (len > c->dimensions) len = c->dimensions; + +#ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK + if (c->lookup_type == 1) { + int div = 1; + for (i=0; i < len; ++i) { + int off = (z / div) % c->lookup_values; + float val = CODEBOOK_ELEMENT_FAST(c,off) + last; + output[i*step] += val; + if (c->sequence_p) last = val; + div *= c->lookup_values; + } + return TRUE; + } +#endif + + z *= c->dimensions; + for (i=0; i < len; ++i) { + float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; + output[i*step] += val; + if (c->sequence_p) last = val; + } + + return TRUE; +} + +static int codebook_decode_deinterleave_repeat(vorb *f, Codebook *c, float **outputs, int ch, int *c_inter_p, int *p_inter_p, int len, int total_decode) +{ + int c_inter = *c_inter_p; + int p_inter = *p_inter_p; + int i,z, effective = c->dimensions; + + // type 0 is only legal in a scalar context + if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); + + while (total_decode > 0) { + float last = CODEBOOK_ELEMENT_BASE(c); + DECODE_VQ(z,f,c); + #ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK + assert(!c->sparse || z < c->sorted_entries); + #endif + if (z < 0) { + if (!f->bytes_in_seg) + if (f->last_seg) return FALSE; + return error(f, VORBIS_invalid_stream); + } + + // if this will take us off the end of the buffers, stop short! + // we check by computing the length of the virtual interleaved + // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), + // and the length we'll be using (effective) + if (c_inter + p_inter*ch + effective > len * ch) { + effective = len*ch - (p_inter*ch - c_inter); + } + + #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK + if (c->lookup_type == 1) { + int div = 1; + for (i=0; i < effective; ++i) { + int off = (z / div) % c->lookup_values; + float val = CODEBOOK_ELEMENT_FAST(c,off) + last; + outputs[c_inter][p_inter] += val; + if (++c_inter == ch) { c_inter = 0; ++p_inter; } + if (c->sequence_p) last = val; + div *= c->lookup_values; + } + } else + #endif + { + z *= c->dimensions; + if (c->sequence_p) { + for (i=0; i < effective; ++i) { + float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; + outputs[c_inter][p_inter] += val; + if (++c_inter == ch) { c_inter = 0; ++p_inter; } + last = val; + } + } else { + for (i=0; i < effective; ++i) { + float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; + outputs[c_inter][p_inter] += val; + if (++c_inter == ch) { c_inter = 0; ++p_inter; } + } + } + } + + total_decode -= effective; + } + *c_inter_p = c_inter; + *p_inter_p = p_inter; + return TRUE; +} + +#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK +static int codebook_decode_deinterleave_repeat_2(vorb *f, Codebook *c, float **outputs, int *c_inter_p, int *p_inter_p, int len, int total_decode) +{ + int c_inter = *c_inter_p; + int p_inter = *p_inter_p; + int i,z, effective = c->dimensions; + + // type 0 is only legal in a scalar context + if (c->lookup_type == 0) return error(f, VORBIS_invalid_stream); + + while (total_decode > 0) { + float last = CODEBOOK_ELEMENT_BASE(c); + DECODE_VQ(z,f,c); + + if (z < 0) { + if (!f->bytes_in_seg) + if (f->last_seg) return FALSE; + return error(f, VORBIS_invalid_stream); + } + + // if this will take us off the end of the buffers, stop short! + // we check by computing the length of the virtual interleaved + // buffer (len*ch), our current offset within it (p_inter*ch)+(c_inter), + // and the length we'll be using (effective) + if (c_inter + p_inter*2 + effective > len * 2) { + effective = len*2 - (p_inter*2 - c_inter); + } + + { + z *= c->dimensions; + stb_prof(11); + if (c->sequence_p) { + // haven't optimized this case because I don't have any examples + for (i=0; i < effective; ++i) { + float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; + outputs[c_inter][p_inter] += val; + if (++c_inter == 2) { c_inter = 0; ++p_inter; } + last = val; + } + } else { + i=0; + if (c_inter == 1) { + float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; + outputs[c_inter][p_inter] += val; + c_inter = 0; ++p_inter; + ++i; + } + { + float *z0 = outputs[0]; + float *z1 = outputs[1]; + for (; i+1 < effective;) { + z0[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i) + last; + z1[p_inter] += CODEBOOK_ELEMENT_FAST(c,z+i+1) + last; + ++p_inter; + i += 2; + } + } + if (i < effective) { + float val = CODEBOOK_ELEMENT_FAST(c,z+i) + last; + outputs[c_inter][p_inter] += val; + if (++c_inter == 2) { c_inter = 0; ++p_inter; } + } + } + } + + total_decode -= effective; + } + *c_inter_p = c_inter; + *p_inter_p = p_inter; + return TRUE; +} +#endif + +static int predict_point(int x, int x0, int x1, int y0, int y1) +{ + int dy = y1 - y0; + int adx = x1 - x0; + // @OPTIMIZE: force int division to round in the right direction... is this necessary on x86? + int err = abs(dy) * (x - x0); + int off = err / adx; + return dy < 0 ? y0 - off : y0 + off; +} + +// the following table is block-copied from the specification +static float inverse_db_table[256] = +{ + 1.0649863e-07f, 1.1341951e-07f, 1.2079015e-07f, 1.2863978e-07f, + 1.3699951e-07f, 1.4590251e-07f, 1.5538408e-07f, 1.6548181e-07f, + 1.7623575e-07f, 1.8768855e-07f, 1.9988561e-07f, 2.1287530e-07f, + 2.2670913e-07f, 2.4144197e-07f, 2.5713223e-07f, 2.7384213e-07f, + 2.9163793e-07f, 3.1059021e-07f, 3.3077411e-07f, 3.5226968e-07f, + 3.7516214e-07f, 3.9954229e-07f, 4.2550680e-07f, 4.5315863e-07f, + 4.8260743e-07f, 5.1396998e-07f, 5.4737065e-07f, 5.8294187e-07f, + 6.2082472e-07f, 6.6116941e-07f, 7.0413592e-07f, 7.4989464e-07f, + 7.9862701e-07f, 8.5052630e-07f, 9.0579828e-07f, 9.6466216e-07f, + 1.0273513e-06f, 1.0941144e-06f, 1.1652161e-06f, 1.2409384e-06f, + 1.3215816e-06f, 1.4074654e-06f, 1.4989305e-06f, 1.5963394e-06f, + 1.7000785e-06f, 1.8105592e-06f, 1.9282195e-06f, 2.0535261e-06f, + 2.1869758e-06f, 2.3290978e-06f, 2.4804557e-06f, 2.6416497e-06f, + 2.8133190e-06f, 2.9961443e-06f, 3.1908506e-06f, 3.3982101e-06f, + 3.6190449e-06f, 3.8542308e-06f, 4.1047004e-06f, 4.3714470e-06f, + 4.6555282e-06f, 4.9580707e-06f, 5.2802740e-06f, 5.6234160e-06f, + 5.9888572e-06f, 6.3780469e-06f, 6.7925283e-06f, 7.2339451e-06f, + 7.7040476e-06f, 8.2047000e-06f, 8.7378876e-06f, 9.3057248e-06f, + 9.9104632e-06f, 1.0554501e-05f, 1.1240392e-05f, 1.1970856e-05f, + 1.2748789e-05f, 1.3577278e-05f, 1.4459606e-05f, 1.5399272e-05f, + 1.6400004e-05f, 1.7465768e-05f, 1.8600792e-05f, 1.9809576e-05f, + 2.1096914e-05f, 2.2467911e-05f, 2.3928002e-05f, 2.5482978e-05f, + 2.7139006e-05f, 2.8902651e-05f, 3.0780908e-05f, 3.2781225e-05f, + 3.4911534e-05f, 3.7180282e-05f, 3.9596466e-05f, 4.2169667e-05f, + 4.4910090e-05f, 4.7828601e-05f, 5.0936773e-05f, 5.4246931e-05f, + 5.7772202e-05f, 6.1526565e-05f, 6.5524908e-05f, 6.9783085e-05f, + 7.4317983e-05f, 7.9147585e-05f, 8.4291040e-05f, 8.9768747e-05f, + 9.5602426e-05f, 0.00010181521f, 0.00010843174f, 0.00011547824f, + 0.00012298267f, 0.00013097477f, 0.00013948625f, 0.00014855085f, + 0.00015820453f, 0.00016848555f, 0.00017943469f, 0.00019109536f, + 0.00020351382f, 0.00021673929f, 0.00023082423f, 0.00024582449f, + 0.00026179955f, 0.00027881276f, 0.00029693158f, 0.00031622787f, + 0.00033677814f, 0.00035866388f, 0.00038197188f, 0.00040679456f, + 0.00043323036f, 0.00046138411f, 0.00049136745f, 0.00052329927f, + 0.00055730621f, 0.00059352311f, 0.00063209358f, 0.00067317058f, + 0.00071691700f, 0.00076350630f, 0.00081312324f, 0.00086596457f, + 0.00092223983f, 0.00098217216f, 0.0010459992f, 0.0011139742f, + 0.0011863665f, 0.0012634633f, 0.0013455702f, 0.0014330129f, + 0.0015261382f, 0.0016253153f, 0.0017309374f, 0.0018434235f, + 0.0019632195f, 0.0020908006f, 0.0022266726f, 0.0023713743f, + 0.0025254795f, 0.0026895994f, 0.0028643847f, 0.0030505286f, + 0.0032487691f, 0.0034598925f, 0.0036847358f, 0.0039241906f, + 0.0041792066f, 0.0044507950f, 0.0047400328f, 0.0050480668f, + 0.0053761186f, 0.0057254891f, 0.0060975636f, 0.0064938176f, + 0.0069158225f, 0.0073652516f, 0.0078438871f, 0.0083536271f, + 0.0088964928f, 0.009474637f, 0.010090352f, 0.010746080f, + 0.011444421f, 0.012188144f, 0.012980198f, 0.013823725f, + 0.014722068f, 0.015678791f, 0.016697687f, 0.017782797f, + 0.018938423f, 0.020169149f, 0.021479854f, 0.022875735f, + 0.024362330f, 0.025945531f, 0.027631618f, 0.029427276f, + 0.031339626f, 0.033376252f, 0.035545228f, 0.037855157f, + 0.040315199f, 0.042935108f, 0.045725273f, 0.048696758f, + 0.051861348f, 0.055231591f, 0.058820850f, 0.062643361f, + 0.066714279f, 0.071049749f, 0.075666962f, 0.080584227f, + 0.085821044f, 0.091398179f, 0.097337747f, 0.10366330f, + 0.11039993f, 0.11757434f, 0.12521498f, 0.13335215f, + 0.14201813f, 0.15124727f, 0.16107617f, 0.17154380f, + 0.18269168f, 0.19456402f, 0.20720788f, 0.22067342f, + 0.23501402f, 0.25028656f, 0.26655159f, 0.28387361f, + 0.30232132f, 0.32196786f, 0.34289114f, 0.36517414f, + 0.38890521f, 0.41417847f, 0.44109412f, 0.46975890f, + 0.50028648f, 0.53279791f, 0.56742212f, 0.60429640f, + 0.64356699f, 0.68538959f, 0.72993007f, 0.77736504f, + 0.82788260f, 0.88168307f, 0.9389798f, 1.0f +}; + + +// @OPTIMIZE: if you want to replace this bresenham line-drawing routine, +// note that you must produce bit-identical output to decode correctly; +// this specific sequence of operations is specified in the spec (it's +// drawing integer-quantized frequency-space lines that the encoder +// expects to be exactly the same) +// ... also, isn't the whole point of Bresenham's algorithm to NOT +// have to divide in the setup? sigh. +#ifndef STB_VORBIS_NO_DEFER_FLOOR +#define LINE_OP(a,b) a *= b +#else +#define LINE_OP(a,b) a = b +#endif + +#ifdef STB_VORBIS_DIVIDE_TABLE +#define DIVTAB_NUMER 32 +#define DIVTAB_DENOM 64 +int8 integer_divide_table[DIVTAB_NUMER][DIVTAB_DENOM]; // 2KB +#endif + +static __forceinline void draw_line(float *output, int x0, int y0, int x1, int y1, int n) +{ + int dy = y1 - y0; + int adx = x1 - x0; + int ady = abs(dy); + int base; + int x=x0,y=y0; + int err = 0; + int sy; + +#ifdef STB_VORBIS_DIVIDE_TABLE + if (adx < DIVTAB_DENOM && ady < DIVTAB_NUMER) { + if (dy < 0) { + base = -integer_divide_table[ady][adx]; + sy = base-1; + } else { + base = integer_divide_table[ady][adx]; + sy = base+1; + } + } else { + base = dy / adx; + if (dy < 0) + sy = base - 1; + else + sy = base+1; + } +#else + base = dy / adx; + if (dy < 0) + sy = base - 1; + else + sy = base+1; +#endif + ady -= abs(base) * adx; + if (x1 > n) x1 = n; + LINE_OP(output[x], inverse_db_table[y]); + for (++x; x < x1; ++x) { + err += ady; + if (err >= adx) { + err -= adx; + y += sy; + } else + y += base; + LINE_OP(output[x], inverse_db_table[y]); + } +} + +static int residue_decode(vorb *f, Codebook *book, float *target, int offset, int n, int rtype) +{ + int k; + if (rtype == 0) { + int step = n / book->dimensions; + for (k=0; k < step; ++k) + if (!codebook_decode_step(f, book, target+offset+k, n-offset-k, step)) + return FALSE; + } else { + for (k=0; k < n; ) { + if (!codebook_decode(f, book, target+offset, n-k)) + return FALSE; + k += book->dimensions; + offset += book->dimensions; + } + } + return TRUE; +} + +static void decode_residue(vorb *f, float *residue_buffers[], int ch, int n, int rn, uint8 *do_not_decode) +{ + int i,j,pass; + Residue *r = f->residue_config + rn; + int rtype = f->residue_types[rn]; + int c = r->classbook; + int classwords = f->codebooks[c].dimensions; + int n_read = r->end - r->begin; + int part_read = n_read / r->part_size; + int temp_alloc_point = temp_alloc_save(f); + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + uint8 ***part_classdata = (uint8 ***) temp_block_array(f,f->channels, part_read * sizeof(**part_classdata)); + #else + int **classifications = (int **) temp_block_array(f,f->channels, part_read * sizeof(**classifications)); + #endif + + stb_prof(2); + for (i=0; i < ch; ++i) + if (!do_not_decode[i]) + memset(residue_buffers[i], 0, sizeof(float) * n); + + if (rtype == 2 && ch != 1) { + int len = ch * n; + for (j=0; j < ch; ++j) + if (!do_not_decode[j]) + break; + if (j == ch) + goto done; + + stb_prof(3); + for (pass=0; pass < 8; ++pass) { + int pcount = 0, class_set = 0; + if (ch == 2) { + stb_prof(13); + while (pcount < part_read) { + int z = r->begin + pcount*r->part_size; + int c_inter = (z & 1), p_inter = z>>1; + if (pass == 0) { + Codebook *c = f->codebooks+r->classbook; + int q; + DECODE(q,f,c); + if (q == EOP) goto done; + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + part_classdata[0][class_set] = r->classdata[q]; + #else + for (i=classwords-1; i >= 0; --i) { + classifications[0][i+pcount] = q % r->classifications; + q /= r->classifications; + } + #endif + } + stb_prof(5); + for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { + int z = r->begin + pcount*r->part_size; + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + int c = part_classdata[0][class_set][i]; + #else + int c = classifications[0][pcount]; + #endif + int b = r->residue_books[c][pass]; + if (b >= 0) { + Codebook *book = f->codebooks + b; + stb_prof(20); // accounts for X time + #ifdef STB_VORBIS_DIVIDES_IN_CODEBOOK + if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) + goto done; + #else + // saves 1% + if (!codebook_decode_deinterleave_repeat_2(f, book, residue_buffers, &c_inter, &p_inter, n, r->part_size)) + goto done; + #endif + stb_prof(7); + } else { + z += r->part_size; + c_inter = z & 1; + p_inter = z >> 1; + } + } + stb_prof(8); + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + ++class_set; + #endif + } + } else if (ch == 1) { + while (pcount < part_read) { + int z = r->begin + pcount*r->part_size; + int c_inter = 0, p_inter = z; + if (pass == 0) { + Codebook *c = f->codebooks+r->classbook; + int q; + DECODE(q,f,c); + if (q == EOP) goto done; + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + part_classdata[0][class_set] = r->classdata[q]; + #else + for (i=classwords-1; i >= 0; --i) { + classifications[0][i+pcount] = q % r->classifications; + q /= r->classifications; + } + #endif + } + for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { + int z = r->begin + pcount*r->part_size; + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + int c = part_classdata[0][class_set][i]; + #else + int c = classifications[0][pcount]; + #endif + int b = r->residue_books[c][pass]; + if (b >= 0) { + Codebook *book = f->codebooks + b; + stb_prof(22); + if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) + goto done; + stb_prof(3); + } else { + z += r->part_size; + c_inter = 0; + p_inter = z; + } + } + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + ++class_set; + #endif + } + } else { + while (pcount < part_read) { + int z = r->begin + pcount*r->part_size; + int c_inter = z % ch, p_inter = z/ch; + if (pass == 0) { + Codebook *c = f->codebooks+r->classbook; + int q; + DECODE(q,f,c); + if (q == EOP) goto done; + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + part_classdata[0][class_set] = r->classdata[q]; + #else + for (i=classwords-1; i >= 0; --i) { + classifications[0][i+pcount] = q % r->classifications; + q /= r->classifications; + } + #endif + } + for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { + int z = r->begin + pcount*r->part_size; + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + int c = part_classdata[0][class_set][i]; + #else + int c = classifications[0][pcount]; + #endif + int b = r->residue_books[c][pass]; + if (b >= 0) { + Codebook *book = f->codebooks + b; + stb_prof(22); + if (!codebook_decode_deinterleave_repeat(f, book, residue_buffers, ch, &c_inter, &p_inter, n, r->part_size)) + goto done; + stb_prof(3); + } else { + z += r->part_size; + c_inter = z % ch; + p_inter = z / ch; + } + } + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + ++class_set; + #endif + } + } + } + goto done; + } + stb_prof(9); + + for (pass=0; pass < 8; ++pass) { + int pcount = 0, class_set=0; + while (pcount < part_read) { + if (pass == 0) { + for (j=0; j < ch; ++j) { + if (!do_not_decode[j]) { + Codebook *c = f->codebooks+r->classbook; + int temp; + DECODE(temp,f,c); + if (temp == EOP) goto done; + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + part_classdata[j][class_set] = r->classdata[temp]; + #else + for (i=classwords-1; i >= 0; --i) { + classifications[j][i+pcount] = temp % r->classifications; + temp /= r->classifications; + } + #endif + } + } + } + for (i=0; i < classwords && pcount < part_read; ++i, ++pcount) { + for (j=0; j < ch; ++j) { + if (!do_not_decode[j]) { + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + int c = part_classdata[j][class_set][i]; + #else + int c = classifications[j][pcount]; + #endif + int b = r->residue_books[c][pass]; + if (b >= 0) { + float *target = residue_buffers[j]; + int offset = r->begin + pcount * r->part_size; + int n = r->part_size; + Codebook *book = f->codebooks + b; + if (!residue_decode(f, book, target, offset, n, rtype)) + goto done; + } + } + } + } + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + ++class_set; + #endif + } + } + done: + stb_prof(0); + temp_alloc_restore(f,temp_alloc_point); +} + + +#if 0 +// slow way for debugging +void inverse_mdct_slow(float *buffer, int n) +{ + int i,j; + int n2 = n >> 1; + float *x = (float *) malloc(sizeof(*x) * n2); + memcpy(x, buffer, sizeof(*x) * n2); + for (i=0; i < n; ++i) { + float acc = 0; + for (j=0; j < n2; ++j) + // formula from paper: + //acc += n/4.0f * x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); + // formula from wikipedia + //acc += 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); + // these are equivalent, except the formula from the paper inverts the multiplier! + // however, what actually works is NO MULTIPLIER!?! + //acc += 64 * 2.0f / n2 * x[j] * (float) cos(M_PI/n2 * (i + 0.5 + n2/2)*(j + 0.5)); + acc += x[j] * (float) cos(M_PI / 2 / n * (2 * i + 1 + n/2.0)*(2*j+1)); + buffer[i] = acc; + } + free(x); +} +#elif 0 +// same as above, but just barely able to run in real time on modern machines +void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) +{ + float mcos[16384]; + int i,j; + int n2 = n >> 1, nmask = (n << 2) -1; + float *x = (float *) malloc(sizeof(*x) * n2); + memcpy(x, buffer, sizeof(*x) * n2); + for (i=0; i < 4*n; ++i) + mcos[i] = (float) cos(M_PI / 2 * i / n); + + for (i=0; i < n; ++i) { + float acc = 0; + for (j=0; j < n2; ++j) + acc += x[j] * mcos[(2 * i + 1 + n2)*(2*j+1) & nmask]; + buffer[i] = acc; + } + free(x); +} +#else +// transform to use a slow dct-iv; this is STILL basically trivial, +// but only requires half as many ops +void dct_iv_slow(float *buffer, int n) +{ + float mcos[16384]; + float x[2048]; + int i,j; + int n2 = n >> 1, nmask = (n << 3) - 1; + memcpy(x, buffer, sizeof(*x) * n); + for (i=0; i < 8*n; ++i) + mcos[i] = (float) cos(M_PI / 4 * i / n); + for (i=0; i < n; ++i) { + float acc = 0; + for (j=0; j < n; ++j) + acc += x[j] * mcos[((2 * i + 1)*(2*j+1)) & nmask]; + //acc += x[j] * cos(M_PI / n * (i + 0.5) * (j + 0.5)); + buffer[i] = acc; + } + free(x); +} + +void inverse_mdct_slow(float *buffer, int n, vorb *f, int blocktype) +{ + int i, n4 = n >> 2, n2 = n >> 1, n3_4 = n - n4; + float temp[4096]; + + memcpy(temp, buffer, n2 * sizeof(float)); + dct_iv_slow(temp, n2); // returns -c'-d, a-b' + + for (i=0; i < n4 ; ++i) buffer[i] = temp[i+n4]; // a-b' + for ( ; i < n3_4; ++i) buffer[i] = -temp[n3_4 - i - 1]; // b-a', c+d' + for ( ; i < n ; ++i) buffer[i] = -temp[i - n3_4]; // c'+d +} +#endif + +#ifndef LIBVORBIS_MDCT +#define LIBVORBIS_MDCT 0 +#endif + +#if LIBVORBIS_MDCT +// directly call the vorbis MDCT using an interface documented +// by Jeff Roberts... useful for performance comparison +typedef struct +{ + int n; + int log2n; + + float *trig; + int *bitrev; + + float scale; +} mdct_lookup; + +extern void mdct_init(mdct_lookup *lookup, int n); +extern void mdct_clear(mdct_lookup *l); +extern void mdct_backward(mdct_lookup *init, float *in, float *out); + +mdct_lookup M1,M2; + +void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) +{ + mdct_lookup *M; + if (M1.n == n) M = &M1; + else if (M2.n == n) M = &M2; + else if (M1.n == 0) { mdct_init(&M1, n); M = &M1; } + else { + if (M2.n) __asm int 3; + mdct_init(&M2, n); + M = &M2; + } + + mdct_backward(M, buffer, buffer); +} +#endif + + +// the following were split out into separate functions while optimizing; +// they could be pushed back up but eh. __forceinline showed no change; +// they're probably already being inlined. +static void imdct_step3_iter0_loop(int n, float *e, int i_off, int k_off, float *A) +{ + float *ee0 = e + i_off; + float *ee2 = ee0 + k_off; + int i; + + assert((n & 3) == 0); + for (i=(n>>2); i > 0; --i) { + float k00_20, k01_21; + k00_20 = ee0[ 0] - ee2[ 0]; + k01_21 = ee0[-1] - ee2[-1]; + ee0[ 0] += ee2[ 0];//ee0[ 0] = ee0[ 0] + ee2[ 0]; + ee0[-1] += ee2[-1];//ee0[-1] = ee0[-1] + ee2[-1]; + ee2[ 0] = k00_20 * A[0] - k01_21 * A[1]; + ee2[-1] = k01_21 * A[0] + k00_20 * A[1]; + A += 8; + + k00_20 = ee0[-2] - ee2[-2]; + k01_21 = ee0[-3] - ee2[-3]; + ee0[-2] += ee2[-2];//ee0[-2] = ee0[-2] + ee2[-2]; + ee0[-3] += ee2[-3];//ee0[-3] = ee0[-3] + ee2[-3]; + ee2[-2] = k00_20 * A[0] - k01_21 * A[1]; + ee2[-3] = k01_21 * A[0] + k00_20 * A[1]; + A += 8; + + k00_20 = ee0[-4] - ee2[-4]; + k01_21 = ee0[-5] - ee2[-5]; + ee0[-4] += ee2[-4];//ee0[-4] = ee0[-4] + ee2[-4]; + ee0[-5] += ee2[-5];//ee0[-5] = ee0[-5] + ee2[-5]; + ee2[-4] = k00_20 * A[0] - k01_21 * A[1]; + ee2[-5] = k01_21 * A[0] + k00_20 * A[1]; + A += 8; + + k00_20 = ee0[-6] - ee2[-6]; + k01_21 = ee0[-7] - ee2[-7]; + ee0[-6] += ee2[-6];//ee0[-6] = ee0[-6] + ee2[-6]; + ee0[-7] += ee2[-7];//ee0[-7] = ee0[-7] + ee2[-7]; + ee2[-6] = k00_20 * A[0] - k01_21 * A[1]; + ee2[-7] = k01_21 * A[0] + k00_20 * A[1]; + A += 8; + ee0 -= 8; + ee2 -= 8; + } +} + +static void imdct_step3_inner_r_loop(int lim, float *e, int d0, int k_off, float *A, int k1) +{ + int i; + float k00_20, k01_21; + + float *e0 = e + d0; + float *e2 = e0 + k_off; + + for (i=lim >> 2; i > 0; --i) { + k00_20 = e0[-0] - e2[-0]; + k01_21 = e0[-1] - e2[-1]; + e0[-0] += e2[-0];//e0[-0] = e0[-0] + e2[-0]; + e0[-1] += e2[-1];//e0[-1] = e0[-1] + e2[-1]; + e2[-0] = (k00_20)*A[0] - (k01_21) * A[1]; + e2[-1] = (k01_21)*A[0] + (k00_20) * A[1]; + + A += k1; + + k00_20 = e0[-2] - e2[-2]; + k01_21 = e0[-3] - e2[-3]; + e0[-2] += e2[-2];//e0[-2] = e0[-2] + e2[-2]; + e0[-3] += e2[-3];//e0[-3] = e0[-3] + e2[-3]; + e2[-2] = (k00_20)*A[0] - (k01_21) * A[1]; + e2[-3] = (k01_21)*A[0] + (k00_20) * A[1]; + + A += k1; + + k00_20 = e0[-4] - e2[-4]; + k01_21 = e0[-5] - e2[-5]; + e0[-4] += e2[-4];//e0[-4] = e0[-4] + e2[-4]; + e0[-5] += e2[-5];//e0[-5] = e0[-5] + e2[-5]; + e2[-4] = (k00_20)*A[0] - (k01_21) * A[1]; + e2[-5] = (k01_21)*A[0] + (k00_20) * A[1]; + + A += k1; + + k00_20 = e0[-6] - e2[-6]; + k01_21 = e0[-7] - e2[-7]; + e0[-6] += e2[-6];//e0[-6] = e0[-6] + e2[-6]; + e0[-7] += e2[-7];//e0[-7] = e0[-7] + e2[-7]; + e2[-6] = (k00_20)*A[0] - (k01_21) * A[1]; + e2[-7] = (k01_21)*A[0] + (k00_20) * A[1]; + + e0 -= 8; + e2 -= 8; + + A += k1; + } +} + +static void imdct_step3_inner_s_loop(int n, float *e, int i_off, int k_off, float *A, int a_off, int k0) +{ + int i; + float A0 = A[0]; + float A1 = A[0+1]; + float A2 = A[0+a_off]; + float A3 = A[0+a_off+1]; + float A4 = A[0+a_off*2+0]; + float A5 = A[0+a_off*2+1]; + float A6 = A[0+a_off*3+0]; + float A7 = A[0+a_off*3+1]; + + float k00,k11; + + float *ee0 = e +i_off; + float *ee2 = ee0+k_off; + + for (i=n; i > 0; --i) { + k00 = ee0[ 0] - ee2[ 0]; + k11 = ee0[-1] - ee2[-1]; + ee0[ 0] = ee0[ 0] + ee2[ 0]; + ee0[-1] = ee0[-1] + ee2[-1]; + ee2[ 0] = (k00) * A0 - (k11) * A1; + ee2[-1] = (k11) * A0 + (k00) * A1; + + k00 = ee0[-2] - ee2[-2]; + k11 = ee0[-3] - ee2[-3]; + ee0[-2] = ee0[-2] + ee2[-2]; + ee0[-3] = ee0[-3] + ee2[-3]; + ee2[-2] = (k00) * A2 - (k11) * A3; + ee2[-3] = (k11) * A2 + (k00) * A3; + + k00 = ee0[-4] - ee2[-4]; + k11 = ee0[-5] - ee2[-5]; + ee0[-4] = ee0[-4] + ee2[-4]; + ee0[-5] = ee0[-5] + ee2[-5]; + ee2[-4] = (k00) * A4 - (k11) * A5; + ee2[-5] = (k11) * A4 + (k00) * A5; + + k00 = ee0[-6] - ee2[-6]; + k11 = ee0[-7] - ee2[-7]; + ee0[-6] = ee0[-6] + ee2[-6]; + ee0[-7] = ee0[-7] + ee2[-7]; + ee2[-6] = (k00) * A6 - (k11) * A7; + ee2[-7] = (k11) * A6 + (k00) * A7; + + ee0 -= k0; + ee2 -= k0; + } +} + +static __forceinline void iter_54(float *z) +{ + float k00,k11,k22,k33; + float y0,y1,y2,y3; + + k00 = z[ 0] - z[-4]; + y0 = z[ 0] + z[-4]; + y2 = z[-2] + z[-6]; + k22 = z[-2] - z[-6]; + + z[-0] = y0 + y2; // z0 + z4 + z2 + z6 + z[-2] = y0 - y2; // z0 + z4 - z2 - z6 + + // done with y0,y2 + + k33 = z[-3] - z[-7]; + + z[-4] = k00 + k33; // z0 - z4 + z3 - z7 + z[-6] = k00 - k33; // z0 - z4 - z3 + z7 + + // done with k33 + + k11 = z[-1] - z[-5]; + y1 = z[-1] + z[-5]; + y3 = z[-3] + z[-7]; + + z[-1] = y1 + y3; // z1 + z5 + z3 + z7 + z[-3] = y1 - y3; // z1 + z5 - z3 - z7 + z[-5] = k11 - k22; // z1 - z5 + z2 - z6 + z[-7] = k11 + k22; // z1 - z5 - z2 + z6 +} + +static void imdct_step3_inner_s_loop_ld654(int n, float *e, int i_off, float *A, int base_n) +{ + int k_off = -8; + int a_off = base_n >> 3; + float A2 = A[0+a_off]; + float *z = e + i_off; + float *base = z - 16 * n; + + while (z > base) { + float k00,k11; + + k00 = z[-0] - z[-8]; + k11 = z[-1] - z[-9]; + z[-0] = z[-0] + z[-8]; + z[-1] = z[-1] + z[-9]; + z[-8] = k00; + z[-9] = k11 ; + + k00 = z[ -2] - z[-10]; + k11 = z[ -3] - z[-11]; + z[ -2] = z[ -2] + z[-10]; + z[ -3] = z[ -3] + z[-11]; + z[-10] = (k00+k11) * A2; + z[-11] = (k11-k00) * A2; + + k00 = z[-12] - z[ -4]; // reverse to avoid a unary negation + k11 = z[ -5] - z[-13]; + z[ -4] = z[ -4] + z[-12]; + z[ -5] = z[ -5] + z[-13]; + z[-12] = k11; + z[-13] = k00; + + k00 = z[-14] - z[ -6]; // reverse to avoid a unary negation + k11 = z[ -7] - z[-15]; + z[ -6] = z[ -6] + z[-14]; + z[ -7] = z[ -7] + z[-15]; + z[-14] = (k00+k11) * A2; + z[-15] = (k00-k11) * A2; + + iter_54(z); + iter_54(z-8); + z -= 16; + } +} + +static void inverse_mdct(float *buffer, int n, vorb *f, int blocktype) +{ + int n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; + int n3_4 = n - n4, ld; + // @OPTIMIZE: reduce register pressure by using fewer variables? + int save_point = temp_alloc_save(f); + float *buf2 = (float *) temp_alloc(f, n2 * sizeof(*buf2)); + float *u=NULL,*v=NULL; + // twiddle factors + float *A = f->A[blocktype]; + + // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" + // See notes about bugs in that paper in less-optimal implementation 'inverse_mdct_old' after this function. + + // kernel from paper + + + // merged: + // copy and reflect spectral data + // step 0 + + // note that it turns out that the items added together during + // this step are, in fact, being added to themselves (as reflected + // by step 0). inexplicable inefficiency! this became obvious + // once I combined the passes. + + // so there's a missing 'times 2' here (for adding X to itself). + // this propogates through linearly to the end, where the numbers + // are 1/2 too small, and need to be compensated for. + + { + float *d,*e, *AA, *e_stop; + d = &buf2[n2-2]; + AA = A; + e = &buffer[0]; + e_stop = &buffer[n2]; + while (e != e_stop) { + d[1] = (e[0] * AA[0] - e[2]*AA[1]); + d[0] = (e[0] * AA[1] + e[2]*AA[0]); + d -= 2; + AA += 2; + e += 4; + } + + e = &buffer[n2-3]; + while (d >= buf2) { + d[1] = (-e[2] * AA[0] - -e[0]*AA[1]); + d[0] = (-e[2] * AA[1] + -e[0]*AA[0]); + d -= 2; + AA += 2; + e -= 4; + } + } + + // now we use symbolic names for these, so that we can + // possibly swap their meaning as we change which operations + // are in place + + u = buffer; + v = buf2; + + // step 2 (paper output is w, now u) + // this could be in place, but the data ends up in the wrong + // place... _somebody_'s got to swap it, so this is nominated + { + float *AA = &A[n2-8]; + float *d0,*d1, *e0, *e1; + + e0 = &v[n4]; + e1 = &v[0]; + + d0 = &u[n4]; + d1 = &u[0]; + + while (AA >= A) { + float v40_20, v41_21; + + v41_21 = e0[1] - e1[1]; + v40_20 = e0[0] - e1[0]; + d0[1] = e0[1] + e1[1]; + d0[0] = e0[0] + e1[0]; + d1[1] = v41_21*AA[4] - v40_20*AA[5]; + d1[0] = v40_20*AA[4] + v41_21*AA[5]; + + v41_21 = e0[3] - e1[3]; + v40_20 = e0[2] - e1[2]; + d0[3] = e0[3] + e1[3]; + d0[2] = e0[2] + e1[2]; + d1[3] = v41_21*AA[0] - v40_20*AA[1]; + d1[2] = v40_20*AA[0] + v41_21*AA[1]; + + AA -= 8; + + d0 += 4; + d1 += 4; + e0 += 4; + e1 += 4; + } + } + + // step 3 + ld = ilog(n) - 1; // ilog is off-by-one from normal definitions + + // optimized step 3: + + // the original step3 loop can be nested r inside s or s inside r; + // it's written originally as s inside r, but this is dumb when r + // iterates many times, and s few. So I have two copies of it and + // switch between them halfway. + + // this is iteration 0 of step 3 + imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*0, -(n >> 3), A); + imdct_step3_iter0_loop(n >> 4, u, n2-1-n4*1, -(n >> 3), A); + + // this is iteration 1 of step 3 + imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*0, -(n >> 4), A, 16); + imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*1, -(n >> 4), A, 16); + imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*2, -(n >> 4), A, 16); + imdct_step3_inner_r_loop(n >> 5, u, n2-1 - n8*3, -(n >> 4), A, 16); + + l=2; + for (; l < (ld-3)>>1; ++l) { + int k0 = n >> (l+2), k0_2 = k0>>1; + int lim = 1 << (l+1); + int i; + for (i=0; i < lim; ++i) + imdct_step3_inner_r_loop(n >> (l+4), u, n2-1 - k0*i, -k0_2, A, 1 << (l+3)); + } + + for (; l < ld-6; ++l) { + int k0 = n >> (l+2), k1 = 1 << (l+3), k0_2 = k0>>1; + int rlim = n >> (l+6), r; + int lim = 1 << (l+1); + int i_off; + float *A0 = A; + i_off = n2-1; + for (r=rlim; r > 0; --r) { + imdct_step3_inner_s_loop(lim, u, i_off, -k0_2, A0, k1, k0); + A0 += k1*4; + i_off -= 8; + } + } + + // iterations with count: + // ld-6,-5,-4 all interleaved together + // the big win comes from getting rid of needless flops + // due to the constants on pass 5 & 4 being all 1 and 0; + // combining them to be simultaneous to improve cache made little difference + imdct_step3_inner_s_loop_ld654(n >> 5, u, n2-1, A, n); + + // output is u + + // step 4, 5, and 6 + // cannot be in-place because of step 5 + { + uint16 *bitrev = f->bit_reverse[blocktype]; + // weirdly, I'd have thought reading sequentially and writing + // erratically would have been better than vice-versa, but in + // fact that's not what my testing showed. (That is, with + // j = bitreverse(i), do you read i and write j, or read j and write i.) + + float *d0 = &v[n4-4]; + float *d1 = &v[n2-4]; + while (d0 >= v) { + int k4; + + k4 = bitrev[0]; + d1[3] = u[k4+0]; + d1[2] = u[k4+1]; + d0[3] = u[k4+2]; + d0[2] = u[k4+3]; + + k4 = bitrev[1]; + d1[1] = u[k4+0]; + d1[0] = u[k4+1]; + d0[1] = u[k4+2]; + d0[0] = u[k4+3]; + + d0 -= 4; + d1 -= 4; + bitrev += 2; + } + } + // (paper output is u, now v) + + + // data must be in buf2 + assert(v == buf2); + + // step 7 (paper output is v, now v) + // this is now in place + { + float *C = f->C[blocktype]; + float *d, *e; + + d = v; + e = v + n2 - 4; + + while (d < e) { + float a02,a11,b0,b1,b2,b3; + + a02 = d[0] - e[2]; + a11 = d[1] + e[3]; + + b0 = C[1]*a02 + C[0]*a11; + b1 = C[1]*a11 - C[0]*a02; + + b2 = d[0] + e[ 2]; + b3 = d[1] - e[ 3]; + + d[0] = b2 + b0; + d[1] = b3 + b1; + e[2] = b2 - b0; + e[3] = b1 - b3; + + a02 = d[2] - e[0]; + a11 = d[3] + e[1]; + + b0 = C[3]*a02 + C[2]*a11; + b1 = C[3]*a11 - C[2]*a02; + + b2 = d[2] + e[ 0]; + b3 = d[3] - e[ 1]; + + d[2] = b2 + b0; + d[3] = b3 + b1; + e[0] = b2 - b0; + e[1] = b1 - b3; + + C += 4; + d += 4; + e -= 4; + } + } + + // data must be in buf2 + + + // step 8+decode (paper output is X, now buffer) + // this generates pairs of data a la 8 and pushes them directly through + // the decode kernel (pushing rather than pulling) to avoid having + // to make another pass later + + // this cannot POSSIBLY be in place, so we refer to the buffers directly + + { + float *d0,*d1,*d2,*d3; + + float *B = f->B[blocktype] + n2 - 8; + float *e = buf2 + n2 - 8; + d0 = &buffer[0]; + d1 = &buffer[n2-4]; + d2 = &buffer[n2]; + d3 = &buffer[n-4]; + while (e >= v) { + float p0,p1,p2,p3; + + p3 = e[6]*B[7] - e[7]*B[6]; + p2 = -e[6]*B[6] - e[7]*B[7]; + + d0[0] = p3; + d1[3] = - p3; + d2[0] = p2; + d3[3] = p2; + + p1 = e[4]*B[5] - e[5]*B[4]; + p0 = -e[4]*B[4] - e[5]*B[5]; + + d0[1] = p1; + d1[2] = - p1; + d2[1] = p0; + d3[2] = p0; + + p3 = e[2]*B[3] - e[3]*B[2]; + p2 = -e[2]*B[2] - e[3]*B[3]; + + d0[2] = p3; + d1[1] = - p3; + d2[2] = p2; + d3[1] = p2; + + p1 = e[0]*B[1] - e[1]*B[0]; + p0 = -e[0]*B[0] - e[1]*B[1]; + + d0[3] = p1; + d1[0] = - p1; + d2[3] = p0; + d3[0] = p0; + + B -= 8; + e -= 8; + d0 += 4; + d2 += 4; + d1 -= 4; + d3 -= 4; + } + } + + temp_alloc_restore(f,save_point); +} + +#if 0 +// this is the original version of the above code, if you want to optimize it from scratch +void inverse_mdct_naive(float *buffer, int n) +{ + float s; + float A[1 << 12], B[1 << 12], C[1 << 11]; + int i,k,k2,k4, n2 = n >> 1, n4 = n >> 2, n8 = n >> 3, l; + int n3_4 = n - n4, ld; + // how can they claim this only uses N words?! + // oh, because they're only used sparsely, whoops + float u[1 << 13], X[1 << 13], v[1 << 13], w[1 << 13]; + // set up twiddle factors + + for (k=k2=0; k < n4; ++k,k2+=2) { + A[k2 ] = (float) cos(4*k*M_PI/n); + A[k2+1] = (float) -sin(4*k*M_PI/n); + B[k2 ] = (float) cos((k2+1)*M_PI/n/2); + B[k2+1] = (float) sin((k2+1)*M_PI/n/2); + } + for (k=k2=0; k < n8; ++k,k2+=2) { + C[k2 ] = (float) cos(2*(k2+1)*M_PI/n); + C[k2+1] = (float) -sin(2*(k2+1)*M_PI/n); + } + + // IMDCT algorithm from "The use of multirate filter banks for coding of high quality digital audio" + // Note there are bugs in that pseudocode, presumably due to them attempting + // to rename the arrays nicely rather than representing the way their actual + // implementation bounces buffers back and forth. As a result, even in the + // "some formulars corrected" version, a direct implementation fails. These + // are noted below as "paper bug". + + // copy and reflect spectral data + for (k=0; k < n2; ++k) u[k] = buffer[k]; + for ( ; k < n ; ++k) u[k] = -buffer[n - k - 1]; + // kernel from paper + // step 1 + for (k=k2=k4=0; k < n4; k+=1, k2+=2, k4+=4) { + v[n-k4-1] = (u[k4] - u[n-k4-1]) * A[k2] - (u[k4+2] - u[n-k4-3])*A[k2+1]; + v[n-k4-3] = (u[k4] - u[n-k4-1]) * A[k2+1] + (u[k4+2] - u[n-k4-3])*A[k2]; + } + // step 2 + for (k=k4=0; k < n8; k+=1, k4+=4) { + w[n2+3+k4] = v[n2+3+k4] + v[k4+3]; + w[n2+1+k4] = v[n2+1+k4] + v[k4+1]; + w[k4+3] = (v[n2+3+k4] - v[k4+3])*A[n2-4-k4] - (v[n2+1+k4]-v[k4+1])*A[n2-3-k4]; + w[k4+1] = (v[n2+1+k4] - v[k4+1])*A[n2-4-k4] + (v[n2+3+k4]-v[k4+3])*A[n2-3-k4]; + } + // step 3 + ld = ilog(n) - 1; // ilog is off-by-one from normal definitions + for (l=0; l < ld-3; ++l) { + int k0 = n >> (l+2), k1 = 1 << (l+3); + int rlim = n >> (l+4), r4, r; + int s2lim = 1 << (l+2), s2; + for (r=r4=0; r < rlim; r4+=4,++r) { + for (s2=0; s2 < s2lim; s2+=2) { + u[n-1-k0*s2-r4] = w[n-1-k0*s2-r4] + w[n-1-k0*(s2+1)-r4]; + u[n-3-k0*s2-r4] = w[n-3-k0*s2-r4] + w[n-3-k0*(s2+1)-r4]; + u[n-1-k0*(s2+1)-r4] = (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1] + - (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1+1]; + u[n-3-k0*(s2+1)-r4] = (w[n-3-k0*s2-r4] - w[n-3-k0*(s2+1)-r4]) * A[r*k1] + + (w[n-1-k0*s2-r4] - w[n-1-k0*(s2+1)-r4]) * A[r*k1+1]; + } + } + if (l+1 < ld-3) { + // paper bug: ping-ponging of u&w here is omitted + memcpy(w, u, sizeof(u)); + } + } + + // step 4 + for (i=0; i < n8; ++i) { + int j = bit_reverse(i) >> (32-ld+3); + assert(j < n8); + if (i == j) { + // paper bug: original code probably swapped in place; if copying, + // need to directly copy in this case + int i8 = i << 3; + v[i8+1] = u[i8+1]; + v[i8+3] = u[i8+3]; + v[i8+5] = u[i8+5]; + v[i8+7] = u[i8+7]; + } else if (i < j) { + int i8 = i << 3, j8 = j << 3; + v[j8+1] = u[i8+1], v[i8+1] = u[j8 + 1]; + v[j8+3] = u[i8+3], v[i8+3] = u[j8 + 3]; + v[j8+5] = u[i8+5], v[i8+5] = u[j8 + 5]; + v[j8+7] = u[i8+7], v[i8+7] = u[j8 + 7]; + } + } + // step 5 + for (k=0; k < n2; ++k) { + w[k] = v[k*2+1]; + } + // step 6 + for (k=k2=k4=0; k < n8; ++k, k2 += 2, k4 += 4) { + u[n-1-k2] = w[k4]; + u[n-2-k2] = w[k4+1]; + u[n3_4 - 1 - k2] = w[k4+2]; + u[n3_4 - 2 - k2] = w[k4+3]; + } + // step 7 + for (k=k2=0; k < n8; ++k, k2 += 2) { + v[n2 + k2 ] = ( u[n2 + k2] + u[n-2-k2] + C[k2+1]*(u[n2+k2]-u[n-2-k2]) + C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; + v[n-2 - k2] = ( u[n2 + k2] + u[n-2-k2] - C[k2+1]*(u[n2+k2]-u[n-2-k2]) - C[k2]*(u[n2+k2+1]+u[n-2-k2+1]))/2; + v[n2+1+ k2] = ( u[n2+1+k2] - u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; + v[n-1 - k2] = (-u[n2+1+k2] + u[n-1-k2] + C[k2+1]*(u[n2+1+k2]+u[n-1-k2]) - C[k2]*(u[n2+k2]-u[n-2-k2]))/2; + } + // step 8 + for (k=k2=0; k < n4; ++k,k2 += 2) { + X[k] = v[k2+n2]*B[k2 ] + v[k2+1+n2]*B[k2+1]; + X[n2-1-k] = v[k2+n2]*B[k2+1] - v[k2+1+n2]*B[k2 ]; + } + + // decode kernel to output + // determined the following value experimentally + // (by first figuring out what made inverse_mdct_slow work); then matching that here + // (probably vorbis encoder premultiplies by n or n/2, to save it on the decoder?) + s = 0.5; // theoretically would be n4 + + // [[[ note! the s value of 0.5 is compensated for by the B[] in the current code, + // so it needs to use the "old" B values to behave correctly, or else + // set s to 1.0 ]]] + for (i=0; i < n4 ; ++i) buffer[i] = s * X[i+n4]; + for ( ; i < n3_4; ++i) buffer[i] = -s * X[n3_4 - i - 1]; + for ( ; i < n ; ++i) buffer[i] = -s * X[i - n3_4]; +} +#endif + +static float *get_window(vorb *f, int len) +{ + len <<= 1; + if (len == f->blocksize_0) return f->window[0]; + if (len == f->blocksize_1) return f->window[1]; + assert(0); + return NULL; +} + +#ifndef STB_VORBIS_NO_DEFER_FLOOR +typedef int16 YTYPE; +#else +typedef int YTYPE; +#endif +static int do_floor(vorb *f, Mapping *map, int i, int n, float *target, YTYPE *finalY, uint8 *step2_flag) +{ + int n2 = n >> 1; + int s = map->chan[i].mux, floor; + floor = map->submap_floor[s]; + if (f->floor_types[floor] == 0) { + return error(f, VORBIS_invalid_stream); + } else { + Floor1 *g = &f->floor_config[floor].floor1; + int j,q; + int lx = 0, ly = finalY[0] * g->floor1_multiplier; + for (q=1; q < g->values; ++q) { + j = g->sorted_order[q]; + #ifndef STB_VORBIS_NO_DEFER_FLOOR + if (finalY[j] >= 0) + #else + if (step2_flag[j]) + #endif + { + int hy = finalY[j] * g->floor1_multiplier; + int hx = g->Xlist[j]; + draw_line(target, lx,ly, hx,hy, n2); + lx = hx, ly = hy; + } + } + if (lx < n2) + // optimization of: draw_line(target, lx,ly, n,ly, n2); + for (j=lx; j < n2; ++j) + LINE_OP(target[j], inverse_db_table[ly]); + } + return TRUE; +} + +static int vorbis_decode_initial(vorb *f, int *p_left_start, int *p_left_end, int *p_right_start, int *p_right_end, int *mode) +{ + Mode *m; + int i, n, prev, next, window_center; + f->channel_buffer_start = f->channel_buffer_end = 0; + + retry: + if (f->eof) return FALSE; + if (!maybe_start_packet(f)) + return FALSE; + // check packet type + if (get_bits(f,1) != 0) { + if (IS_PUSH_MODE(f)) + return error(f,VORBIS_bad_packet_type); + while (EOP != get8_packet(f)); + goto retry; + } + + if (f->alloc.alloc_buffer) + assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); + + i = get_bits(f, ilog(f->mode_count-1)); + if (i == EOP) return FALSE; + if (i >= f->mode_count) return FALSE; + *mode = i; + m = f->mode_config + i; + if (m->blockflag) { + n = f->blocksize_1; + prev = get_bits(f,1); + next = get_bits(f,1); + } else { + prev = next = 0; + n = f->blocksize_0; + } + +// WINDOWING + + window_center = n >> 1; + if (m->blockflag && !prev) { + *p_left_start = (n - f->blocksize_0) >> 2; + *p_left_end = (n + f->blocksize_0) >> 2; + } else { + *p_left_start = 0; + *p_left_end = window_center; + } + if (m->blockflag && !next) { + *p_right_start = (n*3 - f->blocksize_0) >> 2; + *p_right_end = (n*3 + f->blocksize_0) >> 2; + } else { + *p_right_start = window_center; + *p_right_end = n; + } + return TRUE; +} + +static int vorbis_decode_packet_rest(vorb *f, int *len, Mode *m, int left_start, int left_end, int right_start, int right_end, int *p_left) +{ + Mapping *map; + int i,j,k,n,n2; + int zero_channel[256]; + int really_zero_channel[256]; + int window_center; + +// WINDOWING + + n = f->blocksize[m->blockflag]; + window_center = n >> 1; + + map = &f->mapping[m->mapping]; + +// FLOORS + n2 = n >> 1; + + stb_prof(1); + for (i=0; i < f->channels; ++i) { + int s = map->chan[i].mux, floor; + zero_channel[i] = FALSE; + floor = map->submap_floor[s]; + if (f->floor_types[floor] == 0) { + return error(f, VORBIS_invalid_stream); + } else { + Floor1 *g = &f->floor_config[floor].floor1; + if (get_bits(f, 1)) { + short *finalY; + uint8 step2_flag[256]; + static int range_list[4] = { 256, 128, 86, 64 }; + int range = range_list[g->floor1_multiplier-1]; + int offset = 2; + finalY = f->finalY[i]; + finalY[0] = get_bits(f, ilog(range)-1); + finalY[1] = get_bits(f, ilog(range)-1); + for (j=0; j < g->partitions; ++j) { + int pclass = g->partition_class_list[j]; + int cdim = g->class_dimensions[pclass]; + int cbits = g->class_subclasses[pclass]; + int csub = (1 << cbits)-1; + int cval = 0; + if (cbits) { + Codebook *c = f->codebooks + g->class_masterbooks[pclass]; + DECODE(cval,f,c); + } + for (k=0; k < cdim; ++k) { + int book = g->subclass_books[pclass][cval & csub]; + cval = cval >> cbits; + if (book >= 0) { + int temp; + Codebook *c = f->codebooks + book; + DECODE(temp,f,c); + finalY[offset++] = temp; + } else + finalY[offset++] = 0; + } + } + if (f->valid_bits == INVALID_BITS) goto error; // behavior according to spec + step2_flag[0] = step2_flag[1] = 1; + for (j=2; j < g->values; ++j) { + int low, high, pred, highroom, lowroom, room, val; + low = g->neighbors[j][0]; + high = g->neighbors[j][1]; + //neighbors(g->Xlist, j, &low, &high); + pred = predict_point(g->Xlist[j], g->Xlist[low], g->Xlist[high], finalY[low], finalY[high]); + val = finalY[j]; + highroom = range - pred; + lowroom = pred; + if (highroom < lowroom) + room = highroom * 2; + else + room = lowroom * 2; + if (val) { + step2_flag[low] = step2_flag[high] = 1; + step2_flag[j] = 1; + if (val >= room) + if (highroom > lowroom) + finalY[j] = val - lowroom + pred; + else + finalY[j] = pred - val + highroom - 1; + else + if (val & 1) + finalY[j] = pred - ((val+1)>>1); + else + finalY[j] = pred + (val>>1); + } else { + step2_flag[j] = 0; + finalY[j] = pred; + } + } + +#ifdef STB_VORBIS_NO_DEFER_FLOOR + do_floor(f, map, i, n, f->floor_buffers[i], finalY, step2_flag); +#else + // defer final floor computation until _after_ residue + for (j=0; j < g->values; ++j) { + if (!step2_flag[j]) + finalY[j] = -1; + } +#endif + } else { + error: + zero_channel[i] = TRUE; + } + // So we just defer everything else to later + + // at this point we've decoded the floor into buffer + } + } + stb_prof(0); + // at this point we've decoded all floors + + if (f->alloc.alloc_buffer) + assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); + + // re-enable coupled channels if necessary + memcpy(really_zero_channel, zero_channel, sizeof(really_zero_channel[0]) * f->channels); + for (i=0; i < map->coupling_steps; ++i) + if (!zero_channel[map->chan[i].magnitude] || !zero_channel[map->chan[i].angle]) { + zero_channel[map->chan[i].magnitude] = zero_channel[map->chan[i].angle] = FALSE; + } + +// RESIDUE DECODE + for (i=0; i < map->submaps; ++i) { + float *residue_buffers[STB_VORBIS_MAX_CHANNELS]; + int r,t; + uint8 do_not_decode[256]; + int ch = 0; + for (j=0; j < f->channels; ++j) { + if (map->chan[j].mux == i) { + if (zero_channel[j]) { + do_not_decode[ch] = TRUE; + residue_buffers[ch] = NULL; + } else { + do_not_decode[ch] = FALSE; + residue_buffers[ch] = f->channel_buffers[j]; + } + ++ch; + } + } + r = map->submap_residue[i]; + t = f->residue_types[r]; + decode_residue(f, residue_buffers, ch, n2, r, do_not_decode); + } + + if (f->alloc.alloc_buffer) + assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); + +// INVERSE COUPLING + stb_prof(14); + for (i = map->coupling_steps-1; i >= 0; --i) { + int n2 = n >> 1; + float *m = f->channel_buffers[map->chan[i].magnitude]; + float *a = f->channel_buffers[map->chan[i].angle ]; + for (j=0; j < n2; ++j) { + float a2,m2; + if (m[j] > 0) + if (a[j] > 0) + m2 = m[j], a2 = m[j] - a[j]; + else + a2 = m[j], m2 = m[j] + a[j]; + else + if (a[j] > 0) + m2 = m[j], a2 = m[j] + a[j]; + else + a2 = m[j], m2 = m[j] - a[j]; + m[j] = m2; + a[j] = a2; + } + } + + // finish decoding the floors +#ifndef STB_VORBIS_NO_DEFER_FLOOR + stb_prof(15); + for (i=0; i < f->channels; ++i) { + if (really_zero_channel[i]) { + memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); + } else { + do_floor(f, map, i, n, f->channel_buffers[i], f->finalY[i], NULL); + } + } +#else + for (i=0; i < f->channels; ++i) { + if (really_zero_channel[i]) { + memset(f->channel_buffers[i], 0, sizeof(*f->channel_buffers[i]) * n2); + } else { + for (j=0; j < n2; ++j) + f->channel_buffers[i][j] *= f->floor_buffers[i][j]; + } + } +#endif + +// INVERSE MDCT + stb_prof(16); + for (i=0; i < f->channels; ++i) + inverse_mdct(f->channel_buffers[i], n, f, m->blockflag); + stb_prof(0); + + // this shouldn't be necessary, unless we exited on an error + // and want to flush to get to the next packet + flush_packet(f); + + if (f->first_decode) { + // assume we start so first non-discarded sample is sample 0 + // this isn't to spec, but spec would require us to read ahead + // and decode the size of all current frames--could be done, + // but presumably it's not a commonly used feature + f->current_loc = -n2; // start of first frame is positioned for discard + // we might have to discard samples "from" the next frame too, + // if we're lapping a large block then a small at the start? + f->discard_samples_deferred = n - right_end; + f->current_loc_valid = TRUE; + f->first_decode = FALSE; + } else if (f->discard_samples_deferred) { + left_start += f->discard_samples_deferred; + *p_left = left_start; + f->discard_samples_deferred = 0; + } else if (f->previous_length == 0 && f->current_loc_valid) { + // we're recovering from a seek... that means we're going to discard + // the samples from this packet even though we know our position from + // the last page header, so we need to update the position based on + // the discarded samples here + // but wait, the code below is going to add this in itself even + // on a discard, so we don't need to do it here... + } + + // check if we have ogg information about the sample # for this packet + if (f->last_seg_which == f->end_seg_with_known_loc) { + // if we have a valid current loc, and this is final: + if (f->current_loc_valid && (f->page_flag & PAGEFLAG_last_page)) { + uint32 current_end = f->known_loc_for_packet - (n-right_end); + // then let's infer the size of the (probably) short final frame + if (current_end < f->current_loc + right_end) { + if (current_end < f->current_loc) { + // negative truncation, that's impossible! + *len = 0; + } else { + *len = current_end - f->current_loc; + } + *len += left_start; + f->current_loc += *len; + return TRUE; + } + } + // otherwise, just set our sample loc + // guess that the ogg granule pos refers to the _middle_ of the + // last frame? + // set f->current_loc to the position of left_start + f->current_loc = f->known_loc_for_packet - (n2-left_start); + f->current_loc_valid = TRUE; + } + if (f->current_loc_valid) + f->current_loc += (right_start - left_start); + + if (f->alloc.alloc_buffer) + assert(f->alloc.alloc_buffer_length_in_bytes == f->temp_offset); + *len = right_end; // ignore samples after the window goes to 0 + return TRUE; +} + +static int vorbis_decode_packet(vorb *f, int *len, int *p_left, int *p_right) +{ + int mode, left_end, right_end; + if (!vorbis_decode_initial(f, p_left, &left_end, p_right, &right_end, &mode)) return 0; + return vorbis_decode_packet_rest(f, len, f->mode_config + mode, *p_left, left_end, *p_right, right_end, p_left); +} + +static int vorbis_finish_frame(stb_vorbis *f, int len, int left, int right) +{ + int prev,i,j; + // we use right&left (the start of the right- and left-window sin()-regions) + // to determine how much to return, rather than inferring from the rules + // (same result, clearer code); 'left' indicates where our sin() window + // starts, therefore where the previous window's right edge starts, and + // therefore where to start mixing from the previous buffer. 'right' + // indicates where our sin() ending-window starts, therefore that's where + // we start saving, and where our returned-data ends. + + // mixin from previous window + if (f->previous_length) { + int i,j, n = f->previous_length; + float *w = get_window(f, n); + for (i=0; i < f->channels; ++i) { + for (j=0; j < n; ++j) + f->channel_buffers[i][left+j] = + f->channel_buffers[i][left+j]*w[ j] + + f->previous_window[i][ j]*w[n-1-j]; + } + } + + prev = f->previous_length; + + // last half of this data becomes previous window + f->previous_length = len - right; + + // @OPTIMIZE: could avoid this copy by double-buffering the + // output (flipping previous_window with channel_buffers), but + // then previous_window would have to be 2x as large, and + // channel_buffers couldn't be temp mem (although they're NOT + // currently temp mem, they could be (unless we want to level + // performance by spreading out the computation)) + for (i=0; i < f->channels; ++i) + for (j=0; right+j < len; ++j) + f->previous_window[i][j] = f->channel_buffers[i][right+j]; + + if (!prev) + // there was no previous packet, so this data isn't valid... + // this isn't entirely true, only the would-have-overlapped data + // isn't valid, but this seems to be what the spec requires + return 0; + + // truncate a short frame + if (len < right) right = len; + + f->samples_output += right-left; + + return right - left; +} + +static void vorbis_pump_first_frame(stb_vorbis *f) +{ + int len, right, left; + if (vorbis_decode_packet(f, &len, &left, &right)) + vorbis_finish_frame(f, len, left, right); +} + +#ifndef STB_VORBIS_NO_PUSHDATA_API +static int is_whole_packet_present(stb_vorbis *f, int end_page) +{ + // make sure that we have the packet available before continuing... + // this requires a full ogg parse, but we know we can fetch from f->stream + + // instead of coding this out explicitly, we could save the current read state, + // read the next packet with get8() until end-of-packet, check f->eof, then + // reset the state? but that would be slower, esp. since we'd have over 256 bytes + // of state to restore (primarily the page segment table) + + int s = f->next_seg, first = TRUE; + uint8 *p = f->stream; + + if (s != -1) { // if we're not starting the packet with a 'continue on next page' flag + for (; s < f->segment_count; ++s) { + p += f->segments[s]; + if (f->segments[s] < 255) // stop at first short segment + break; + } + // either this continues, or it ends it... + if (end_page) + if (s < f->segment_count-1) return error(f, VORBIS_invalid_stream); + if (s == f->segment_count) + s = -1; // set 'crosses page' flag + if (p > f->stream_end) return error(f, VORBIS_need_more_data); + first = FALSE; + } + for (; s == -1;) { + uint8 *q; + int n; + + // check that we have the page header ready + if (p + 26 >= f->stream_end) return error(f, VORBIS_need_more_data); + // validate the page + if (memcmp(p, ogg_page_header, 4)) return error(f, VORBIS_invalid_stream); + if (p[4] != 0) return error(f, VORBIS_invalid_stream); + if (first) { // the first segment must NOT have 'continued_packet', later ones MUST + if (f->previous_length) + if ((p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); + // if no previous length, we're resynching, so we can come in on a continued-packet, + // which we'll just drop + } else { + if (!(p[5] & PAGEFLAG_continued_packet)) return error(f, VORBIS_invalid_stream); + } + n = p[26]; // segment counts + q = p+27; // q points to segment table + p = q + n; // advance past header + // make sure we've read the segment table + if (p > f->stream_end) return error(f, VORBIS_need_more_data); + for (s=0; s < n; ++s) { + p += q[s]; + if (q[s] < 255) + break; + } + if (end_page) + if (s < n-1) return error(f, VORBIS_invalid_stream); + if (s == f->segment_count) + s = -1; // set 'crosses page' flag + if (p > f->stream_end) return error(f, VORBIS_need_more_data); + first = FALSE; + } + return TRUE; +} +#endif // !STB_VORBIS_NO_PUSHDATA_API + +static int start_decoder(vorb *f) +{ + uint8 header[6], x,y; + int len,i,j,k, max_submaps = 0; + int longest_floorlist=0; + + // first page, first packet + + if (!start_page(f)) return FALSE; + // validate page flag + if (!(f->page_flag & PAGEFLAG_first_page)) return error(f, VORBIS_invalid_first_page); + if (f->page_flag & PAGEFLAG_last_page) return error(f, VORBIS_invalid_first_page); + if (f->page_flag & PAGEFLAG_continued_packet) return error(f, VORBIS_invalid_first_page); + // check for expected packet length + if (f->segment_count != 1) return error(f, VORBIS_invalid_first_page); + if (f->segments[0] != 30) return error(f, VORBIS_invalid_first_page); + // read packet + // check packet header + if (get8(f) != VORBIS_packet_id) return error(f, VORBIS_invalid_first_page); + if (!getn(f, header, 6)) return error(f, VORBIS_unexpected_eof); + if (!vorbis_validate(header)) return error(f, VORBIS_invalid_first_page); + // vorbis_version + if (get32(f) != 0) return error(f, VORBIS_invalid_first_page); + f->channels = get8(f); if (!f->channels) return error(f, VORBIS_invalid_first_page); + if (f->channels > STB_VORBIS_MAX_CHANNELS) return error(f, VORBIS_too_many_channels); + f->sample_rate = get32(f); if (!f->sample_rate) return error(f, VORBIS_invalid_first_page); + get32(f); // bitrate_maximum + get32(f); // bitrate_nominal + get32(f); // bitrate_minimum + x = get8(f); + { int log0,log1; + log0 = x & 15; + log1 = x >> 4; + f->blocksize_0 = 1 << log0; + f->blocksize_1 = 1 << log1; + if (log0 < 6 || log0 > 13) return error(f, VORBIS_invalid_setup); + if (log1 < 6 || log1 > 13) return error(f, VORBIS_invalid_setup); + if (log0 > log1) return error(f, VORBIS_invalid_setup); + } + + // framing_flag + x = get8(f); + if (!(x & 1)) return error(f, VORBIS_invalid_first_page); + + // second packet! + if (!start_page(f)) return FALSE; + + if (!start_packet(f)) return FALSE; + do { + len = next_segment(f); + skip(f, len); + f->bytes_in_seg = 0; + } while (len); + + // third packet! + if (!start_packet(f)) return FALSE; + + #ifndef STB_VORBIS_NO_PUSHDATA_API + if (IS_PUSH_MODE(f)) { + if (!is_whole_packet_present(f, TRUE)) { + // convert error in ogg header to write type + if (f->error == VORBIS_invalid_stream) + f->error = VORBIS_invalid_setup; + return FALSE; + } + } + #endif + + crc32_init(); // always init it, to avoid multithread race conditions + + if (get8_packet(f) != VORBIS_packet_setup) return error(f, VORBIS_invalid_setup); + for (i=0; i < 6; ++i) header[i] = get8_packet(f); + if (!vorbis_validate(header)) return error(f, VORBIS_invalid_setup); + + // codebooks + + f->codebook_count = get_bits(f,8) + 1; + f->codebooks = (Codebook *) setup_malloc(f, sizeof(*f->codebooks) * f->codebook_count); + if (f->codebooks == NULL) return error(f, VORBIS_outofmem); + memset(f->codebooks, 0, sizeof(*f->codebooks) * f->codebook_count); + for (i=0; i < f->codebook_count; ++i) { + uint32 *values; + int ordered, sorted_count; + int total=0; + uint8 *lengths; + Codebook *c = f->codebooks+i; + x = get_bits(f, 8); if (x != 0x42) return error(f, VORBIS_invalid_setup); + x = get_bits(f, 8); if (x != 0x43) return error(f, VORBIS_invalid_setup); + x = get_bits(f, 8); if (x != 0x56) return error(f, VORBIS_invalid_setup); + x = get_bits(f, 8); + c->dimensions = (get_bits(f, 8)<<8) + x; + x = get_bits(f, 8); + y = get_bits(f, 8); + c->entries = (get_bits(f, 8)<<16) + (y<<8) + x; + ordered = get_bits(f,1); + c->sparse = ordered ? 0 : get_bits(f,1); + + if (c->sparse) + lengths = (uint8 *) setup_temp_malloc(f, c->entries); + else + lengths = c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); + + if (!lengths) return error(f, VORBIS_outofmem); + + if (ordered) { + int current_entry = 0; + int current_length = get_bits(f,5) + 1; + while (current_entry < c->entries) { + int limit = c->entries - current_entry; + int n = get_bits(f, ilog(limit)); + if (current_entry + n > (int) c->entries) { return error(f, VORBIS_invalid_setup); } + memset(lengths + current_entry, current_length, n); + current_entry += n; + ++current_length; + } + } else { + for (j=0; j < c->entries; ++j) { + int present = c->sparse ? get_bits(f,1) : 1; + if (present) { + lengths[j] = get_bits(f, 5) + 1; + ++total; + } else { + lengths[j] = NO_CODE; + } + } + } + + if (c->sparse && total >= c->entries >> 2) { + // convert sparse items to non-sparse! + if (c->entries > (int) f->setup_temp_memory_required) + f->setup_temp_memory_required = c->entries; + + c->codeword_lengths = (uint8 *) setup_malloc(f, c->entries); + memcpy(c->codeword_lengths, lengths, c->entries); + setup_temp_free(f, lengths, c->entries); // note this is only safe if there have been no intervening temp mallocs! + lengths = c->codeword_lengths; + c->sparse = 0; + } + + // compute the size of the sorted tables + if (c->sparse) { + sorted_count = total; + //assert(total != 0); + } else { + sorted_count = 0; + #ifndef STB_VORBIS_NO_HUFFMAN_BINARY_SEARCH + for (j=0; j < c->entries; ++j) + if (lengths[j] > STB_VORBIS_FAST_HUFFMAN_LENGTH && lengths[j] != NO_CODE) + ++sorted_count; + #endif + } + + c->sorted_entries = sorted_count; + values = NULL; + + if (!c->sparse) { + c->codewords = (uint32 *) setup_malloc(f, sizeof(c->codewords[0]) * c->entries); + if (!c->codewords) return error(f, VORBIS_outofmem); + } else { + unsigned int size; + if (c->sorted_entries) { + c->codeword_lengths = (uint8 *) setup_malloc(f, c->sorted_entries); + if (!c->codeword_lengths) return error(f, VORBIS_outofmem); + c->codewords = (uint32 *) setup_temp_malloc(f, sizeof(*c->codewords) * c->sorted_entries); + if (!c->codewords) return error(f, VORBIS_outofmem); + values = (uint32 *) setup_temp_malloc(f, sizeof(*values) * c->sorted_entries); + if (!values) return error(f, VORBIS_outofmem); + } + size = c->entries + (sizeof(*c->codewords) + sizeof(*values)) * c->sorted_entries; + if (size > f->setup_temp_memory_required) + f->setup_temp_memory_required = size; + } + + if (!compute_codewords(c, lengths, c->entries, values)) { + if (c->sparse) setup_temp_free(f, values, 0); + return error(f, VORBIS_invalid_setup); + } + + if (c->sorted_entries) { + // allocate an extra slot for sentinels + c->sorted_codewords = (uint32 *) setup_malloc(f, sizeof(*c->sorted_codewords) * (c->sorted_entries+1)); + // allocate an extra slot at the front so that c->sorted_values[-1] is defined + // so that we can catch that case without an extra if + c->sorted_values = ( int *) setup_malloc(f, sizeof(*c->sorted_values ) * (c->sorted_entries+1)); + if (c->sorted_values) { ++c->sorted_values; c->sorted_values[-1] = -1; } + compute_sorted_huffman(c, lengths, values); + } + + if (c->sparse) { + setup_temp_free(f, values, sizeof(*values)*c->sorted_entries); + setup_temp_free(f, c->codewords, sizeof(*c->codewords)*c->sorted_entries); + setup_temp_free(f, lengths, c->entries); + c->codewords = NULL; + } + + compute_accelerated_huffman(c); + + c->lookup_type = get_bits(f, 4); + if (c->lookup_type > 2) return error(f, VORBIS_invalid_setup); + if (c->lookup_type > 0) { + uint16 *mults; + c->minimum_value = float32_unpack(get_bits(f, 32)); + c->delta_value = float32_unpack(get_bits(f, 32)); + c->value_bits = get_bits(f, 4)+1; + c->sequence_p = get_bits(f,1); + if (c->lookup_type == 1) { + c->lookup_values = lookup1_values(c->entries, c->dimensions); + } else { + c->lookup_values = c->entries * c->dimensions; + } + mults = (uint16 *) setup_temp_malloc(f, sizeof(mults[0]) * c->lookup_values); + if (mults == NULL) return error(f, VORBIS_outofmem); + for (j=0; j < (int) c->lookup_values; ++j) { + int q = get_bits(f, c->value_bits); + if (q == EOP) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_invalid_setup); } + mults[j] = q; + } + +#ifndef STB_VORBIS_DIVIDES_IN_CODEBOOK + if (c->lookup_type == 1) { + int len, sparse = c->sparse; + // pre-expand the lookup1-style multiplicands, to avoid a divide in the inner loop + if (sparse) { + if (c->sorted_entries == 0) goto skip; + c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->sorted_entries * c->dimensions); + } else + c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->entries * c->dimensions); + if (c->multiplicands == NULL) { setup_temp_free(f,mults,sizeof(mults[0])*c->lookup_values); return error(f, VORBIS_outofmem); } + len = sparse ? c->sorted_entries : c->entries; + for (j=0; j < len; ++j) { + int z = sparse ? c->sorted_values[j] : j, div=1; + for (k=0; k < c->dimensions; ++k) { + int off = (z / div) % c->lookup_values; + c->multiplicands[j*c->dimensions + k] = + #ifndef STB_VORBIS_CODEBOOK_FLOATS + mults[off]; + #else + mults[off]*c->delta_value + c->minimum_value; + // in this case (and this case only) we could pre-expand c->sequence_p, + // and throw away the decode logic for it; have to ALSO do + // it in the case below, but it can only be done if + // STB_VORBIS_CODEBOOK_FLOATS + // !STB_VORBIS_DIVIDES_IN_CODEBOOK + #endif + div *= c->lookup_values; + } + } + setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); + c->lookup_type = 2; + } + else +#endif + { + c->multiplicands = (codetype *) setup_malloc(f, sizeof(c->multiplicands[0]) * c->lookup_values); + #ifndef STB_VORBIS_CODEBOOK_FLOATS + memcpy(c->multiplicands, mults, sizeof(c->multiplicands[0]) * c->lookup_values); + #else + for (j=0; j < (int) c->lookup_values; ++j) + c->multiplicands[j] = mults[j] * c->delta_value + c->minimum_value; + setup_temp_free(f, mults,sizeof(mults[0])*c->lookup_values); + #endif + } + skip:; + + #ifdef STB_VORBIS_CODEBOOK_FLOATS + if (c->lookup_type == 2 && c->sequence_p) { + for (j=1; j < (int) c->lookup_values; ++j) + c->multiplicands[j] = c->multiplicands[j-1]; + c->sequence_p = 0; + } + #endif + } + } + + // time domain transfers (notused) + + x = get_bits(f, 6) + 1; + for (i=0; i < x; ++i) { + uint32 z = get_bits(f, 16); + if (z != 0) return error(f, VORBIS_invalid_setup); + } + + // Floors + f->floor_count = get_bits(f, 6)+1; + f->floor_config = (Floor *) setup_malloc(f, f->floor_count * sizeof(*f->floor_config)); + for (i=0; i < f->floor_count; ++i) { + f->floor_types[i] = get_bits(f, 16); + if (f->floor_types[i] > 1) return error(f, VORBIS_invalid_setup); + if (f->floor_types[i] == 0) { + Floor0 *g = &f->floor_config[i].floor0; + g->order = get_bits(f,8); + g->rate = get_bits(f,16); + g->bark_map_size = get_bits(f,16); + g->amplitude_bits = get_bits(f,6); + g->amplitude_offset = get_bits(f,8); + g->number_of_books = get_bits(f,4) + 1; + for (j=0; j < g->number_of_books; ++j) + g->book_list[j] = get_bits(f,8); + return error(f, VORBIS_feature_not_supported); + } else { + VorbisPoint p[31*8+2]; + Floor1 *g = &f->floor_config[i].floor1; + int max_class = -1; + g->partitions = get_bits(f, 5); + for (j=0; j < g->partitions; ++j) { + g->partition_class_list[j] = get_bits(f, 4); + if (g->partition_class_list[j] > max_class) + max_class = g->partition_class_list[j]; + } + for (j=0; j <= max_class; ++j) { + g->class_dimensions[j] = get_bits(f, 3)+1; + g->class_subclasses[j] = get_bits(f, 2); + if (g->class_subclasses[j]) { + g->class_masterbooks[j] = get_bits(f, 8); + if (g->class_masterbooks[j] >= f->codebook_count) return error(f, VORBIS_invalid_setup); + } + for (k=0; k < 1 << g->class_subclasses[j]; ++k) { + g->subclass_books[j][k] = get_bits(f,8)-1; + if (g->subclass_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); + } + } + g->floor1_multiplier = get_bits(f,2)+1; + g->rangebits = get_bits(f,4); + g->Xlist[0] = 0; + g->Xlist[1] = 1 << g->rangebits; + g->values = 2; + for (j=0; j < g->partitions; ++j) { + int c = g->partition_class_list[j]; + for (k=0; k < g->class_dimensions[c]; ++k) { + g->Xlist[g->values] = get_bits(f, g->rangebits); + ++g->values; + } + } + // precompute the sorting + for (j=0; j < g->values; ++j) { + p[j].x = g->Xlist[j]; + p[j].y = j; + } + qsort(p, g->values, sizeof(p[0]), point_compare); + for (j=0; j < g->values; ++j) + g->sorted_order[j] = (uint8) p[j].y; + // precompute the neighbors + for (j=2; j < g->values; ++j) { + int low,hi; + neighbors(g->Xlist, j, &low,&hi); + g->neighbors[j][0] = low; + g->neighbors[j][1] = hi; + } + + if (g->values > longest_floorlist) + longest_floorlist = g->values; + } + } + + // Residue + f->residue_count = get_bits(f, 6)+1; + f->residue_config = (Residue *) setup_malloc(f, f->residue_count * sizeof(*f->residue_config)); + for (i=0; i < f->residue_count; ++i) { + uint8 residue_cascade[64]; + Residue *r = f->residue_config+i; + f->residue_types[i] = get_bits(f, 16); + if (f->residue_types[i] > 2) return error(f, VORBIS_invalid_setup); + r->begin = get_bits(f, 24); + r->end = get_bits(f, 24); + r->part_size = get_bits(f,24)+1; + r->classifications = get_bits(f,6)+1; + r->classbook = get_bits(f,8); + for (j=0; j < r->classifications; ++j) { + uint8 high_bits=0; + uint8 low_bits=get_bits(f,3); + if (get_bits(f,1)) + high_bits = get_bits(f,5); + residue_cascade[j] = high_bits*8 + low_bits; + } + r->residue_books = (short (*)[8]) setup_malloc(f, sizeof(r->residue_books[0]) * r->classifications); + for (j=0; j < r->classifications; ++j) { + for (k=0; k < 8; ++k) { + if (residue_cascade[j] & (1 << k)) { + r->residue_books[j][k] = get_bits(f, 8); + if (r->residue_books[j][k] >= f->codebook_count) return error(f, VORBIS_invalid_setup); + } else { + r->residue_books[j][k] = -1; + } + } + } + // precompute the classifications[] array to avoid inner-loop mod/divide + // call it 'classdata' since we already have r->classifications + r->classdata = (uint8 **) setup_malloc(f, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); + if (!r->classdata) return error(f, VORBIS_outofmem); + memset(r->classdata, 0, sizeof(*r->classdata) * f->codebooks[r->classbook].entries); + for (j=0; j < f->codebooks[r->classbook].entries; ++j) { + int classwords = f->codebooks[r->classbook].dimensions; + int temp = j; + r->classdata[j] = (uint8 *) setup_malloc(f, sizeof(r->classdata[j][0]) * classwords); + for (k=classwords-1; k >= 0; --k) { + r->classdata[j][k] = temp % r->classifications; + temp /= r->classifications; + } + } + } + + f->mapping_count = get_bits(f,6)+1; + f->mapping = (Mapping *) setup_malloc(f, f->mapping_count * sizeof(*f->mapping)); + for (i=0; i < f->mapping_count; ++i) { + Mapping *m = f->mapping + i; + int mapping_type = get_bits(f,16); + if (mapping_type != 0) return error(f, VORBIS_invalid_setup); + m->chan = (MappingChannel *) setup_malloc(f, f->channels * sizeof(*m->chan)); + if (get_bits(f,1)) + m->submaps = get_bits(f,4); + else + m->submaps = 1; + if (m->submaps > max_submaps) + max_submaps = m->submaps; + if (get_bits(f,1)) { + m->coupling_steps = get_bits(f,8)+1; + for (k=0; k < m->coupling_steps; ++k) { + m->chan[k].magnitude = get_bits(f, ilog(f->channels)-1); + m->chan[k].angle = get_bits(f, ilog(f->channels)-1); + if (m->chan[k].magnitude >= f->channels) return error(f, VORBIS_invalid_setup); + if (m->chan[k].angle >= f->channels) return error(f, VORBIS_invalid_setup); + if (m->chan[k].magnitude == m->chan[k].angle) return error(f, VORBIS_invalid_setup); + } + } else + m->coupling_steps = 0; + + // reserved field + if (get_bits(f,2)) return error(f, VORBIS_invalid_setup); + if (m->submaps > 1) { + for (j=0; j < f->channels; ++j) { + m->chan[j].mux = get_bits(f, 4); + if (m->chan[j].mux >= m->submaps) return error(f, VORBIS_invalid_setup); + } + } else + // @SPECIFICATION: this case is missing from the spec + for (j=0; j < f->channels; ++j) + m->chan[j].mux = 0; + + for (j=0; j < m->submaps; ++j) { + get_bits(f,8); // discard + m->submap_floor[j] = get_bits(f,8); + m->submap_residue[j] = get_bits(f,8); + if (m->submap_floor[j] >= f->floor_count) return error(f, VORBIS_invalid_setup); + if (m->submap_residue[j] >= f->residue_count) return error(f, VORBIS_invalid_setup); + } + } + + // Modes + f->mode_count = get_bits(f, 6)+1; + for (i=0; i < f->mode_count; ++i) { + Mode *m = f->mode_config+i; + m->blockflag = get_bits(f,1); + m->windowtype = get_bits(f,16); + m->transformtype = get_bits(f,16); + m->mapping = get_bits(f,8); + if (m->windowtype != 0) return error(f, VORBIS_invalid_setup); + if (m->transformtype != 0) return error(f, VORBIS_invalid_setup); + if (m->mapping >= f->mapping_count) return error(f, VORBIS_invalid_setup); + } + + flush_packet(f); + + f->previous_length = 0; + + for (i=0; i < f->channels; ++i) { + f->channel_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1); + f->previous_window[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); + f->finalY[i] = (int16 *) setup_malloc(f, sizeof(int16) * longest_floorlist); + #ifdef STB_VORBIS_NO_DEFER_FLOOR + f->floor_buffers[i] = (float *) setup_malloc(f, sizeof(float) * f->blocksize_1/2); + #endif + } + + if (!init_blocksize(f, 0, f->blocksize_0)) return FALSE; + if (!init_blocksize(f, 1, f->blocksize_1)) return FALSE; + f->blocksize[0] = f->blocksize_0; + f->blocksize[1] = f->blocksize_1; + +#ifdef STB_VORBIS_DIVIDE_TABLE + if (integer_divide_table[1][1]==0) + for (i=0; i < DIVTAB_NUMER; ++i) + for (j=1; j < DIVTAB_DENOM; ++j) + integer_divide_table[i][j] = i / j; +#endif + + // compute how much temporary memory is needed + + // 1. + { + uint32 imdct_mem = (f->blocksize_1 * sizeof(float) >> 1); + uint32 classify_mem; + int i,max_part_read=0; + for (i=0; i < f->residue_count; ++i) { + Residue *r = f->residue_config + i; + int n_read = r->end - r->begin; + int part_read = n_read / r->part_size; + if (part_read > max_part_read) + max_part_read = part_read; + } + #ifndef STB_VORBIS_DIVIDES_IN_RESIDUE + classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(uint8 *)); + #else + classify_mem = f->channels * (sizeof(void*) + max_part_read * sizeof(int *)); + #endif + + f->temp_memory_required = classify_mem; + if (imdct_mem > f->temp_memory_required) + f->temp_memory_required = imdct_mem; + } + + f->first_decode = TRUE; + + if (f->alloc.alloc_buffer) { + assert(f->temp_offset == f->alloc.alloc_buffer_length_in_bytes); + // check if there's enough temp memory so we don't error later + if (f->setup_offset + sizeof(*f) + f->temp_memory_required > (unsigned) f->temp_offset) + return error(f, VORBIS_outofmem); + } + + f->first_audio_page_offset = stb_vorbis_get_file_offset(f); + + return TRUE; +} + +static void vorbis_deinit(stb_vorbis *p) +{ + int i,j; + for (i=0; i < p->residue_count; ++i) { + Residue *r = p->residue_config+i; + if (r->classdata) { + for (j=0; j < p->codebooks[r->classbook].entries; ++j) + setup_free(p, r->classdata[j]); + setup_free(p, r->classdata); + } + setup_free(p, r->residue_books); + } + + if (p->codebooks) { + for (i=0; i < p->codebook_count; ++i) { + Codebook *c = p->codebooks + i; + setup_free(p, c->codeword_lengths); + setup_free(p, c->multiplicands); + setup_free(p, c->codewords); + setup_free(p, c->sorted_codewords); + // c->sorted_values[-1] is the first entry in the array + setup_free(p, c->sorted_values ? c->sorted_values-1 : NULL); + } + setup_free(p, p->codebooks); + } + setup_free(p, p->floor_config); + setup_free(p, p->residue_config); + for (i=0; i < p->mapping_count; ++i) + setup_free(p, p->mapping[i].chan); + setup_free(p, p->mapping); + for (i=0; i < p->channels; ++i) { + setup_free(p, p->channel_buffers[i]); + setup_free(p, p->previous_window[i]); + #ifdef STB_VORBIS_NO_DEFER_FLOOR + setup_free(p, p->floor_buffers[i]); + #endif + setup_free(p, p->finalY[i]); + } + for (i=0; i < 2; ++i) { + setup_free(p, p->A[i]); + setup_free(p, p->B[i]); + setup_free(p, p->C[i]); + setup_free(p, p->window[i]); + } + #ifndef STB_VORBIS_NO_STDIO + if (p->close_on_free) fclose(p->f); + #endif +} + +void stb_vorbis_close(stb_vorbis *p) +{ + if (p == NULL) return; + vorbis_deinit(p); + setup_free(p,p); +} + +static void vorbis_init(stb_vorbis *p, stb_vorbis_alloc *z) +{ + memset(p, 0, sizeof(*p)); // NULL out all malloc'd pointers to start + if (z) { + p->alloc = *z; + p->alloc.alloc_buffer_length_in_bytes = (p->alloc.alloc_buffer_length_in_bytes+3) & ~3; + p->temp_offset = p->alloc.alloc_buffer_length_in_bytes; + } + p->eof = 0; + p->error = VORBIS__no_error; + p->stream = NULL; + p->codebooks = NULL; + p->page_crc_tests = -1; + #ifndef STB_VORBIS_NO_STDIO + p->close_on_free = FALSE; + p->f = NULL; + #endif +} + +int stb_vorbis_get_sample_offset(stb_vorbis *f) +{ + if (f->current_loc_valid) + return f->current_loc; + else + return -1; +} + +stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f) +{ + stb_vorbis_info d; + d.channels = f->channels; + d.sample_rate = f->sample_rate; + d.setup_memory_required = f->setup_memory_required; + d.setup_temp_memory_required = f->setup_temp_memory_required; + d.temp_memory_required = f->temp_memory_required; + d.max_frame_size = f->blocksize_1 >> 1; + return d; +} + +int stb_vorbis_get_error(stb_vorbis *f) +{ + int e = f->error; + f->error = VORBIS__no_error; + return e; +} + +static stb_vorbis * vorbis_alloc(stb_vorbis *f) +{ + stb_vorbis *p = (stb_vorbis *) setup_malloc(f, sizeof(*p)); + return p; +} + +#ifndef STB_VORBIS_NO_PUSHDATA_API + +void stb_vorbis_flush_pushdata(stb_vorbis *f) +{ + f->previous_length = 0; + f->page_crc_tests = 0; + f->discard_samples_deferred = 0; + f->current_loc_valid = FALSE; + f->first_decode = FALSE; + f->samples_output = 0; + f->channel_buffer_start = 0; + f->channel_buffer_end = 0; +} + +static int vorbis_search_for_page_pushdata(vorb *f, uint8 *data, int data_len) +{ + int i,n; + for (i=0; i < f->page_crc_tests; ++i) + f->scan[i].bytes_done = 0; + + // if we have room for more scans, search for them first, because + // they may cause us to stop early if their header is incomplete + if (f->page_crc_tests < STB_VORBIS_PUSHDATA_CRC_COUNT) { + if (data_len < 4) return 0; + data_len -= 3; // need to look for 4-byte sequence, so don't miss + // one that straddles a boundary + for (i=0; i < data_len; ++i) { + if (data[i] == 0x4f) { + if (0==memcmp(data+i, ogg_page_header, 4)) { + int j,len; + uint32 crc; + // make sure we have the whole page header + if (i+26 >= data_len || i+27+data[i+26] >= data_len) { + // only read up to this page start, so hopefully we'll + // have the whole page header start next time + data_len = i; + break; + } + // ok, we have it all; compute the length of the page + len = 27 + data[i+26]; + for (j=0; j < data[i+26]; ++j) + len += data[i+27+j]; + // scan everything up to the embedded crc (which we must 0) + crc = 0; + for (j=0; j < 22; ++j) + crc = crc32_update(crc, data[i+j]); + // now process 4 0-bytes + for ( ; j < 26; ++j) + crc = crc32_update(crc, 0); + // len is the total number of bytes we need to scan + n = f->page_crc_tests++; + f->scan[n].bytes_left = len-j; + f->scan[n].crc_so_far = crc; + f->scan[n].goal_crc = data[i+22] + (data[i+23] << 8) + (data[i+24]<<16) + (data[i+25]<<24); + // if the last frame on a page is continued to the next, then + // we can't recover the sample_loc immediately + if (data[i+27+data[i+26]-1] == 255) + f->scan[n].sample_loc = ~0; + else + f->scan[n].sample_loc = data[i+6] + (data[i+7] << 8) + (data[i+ 8]<<16) + (data[i+ 9]<<24); + f->scan[n].bytes_done = i+j; + if (f->page_crc_tests == STB_VORBIS_PUSHDATA_CRC_COUNT) + break; + // keep going if we still have room for more + } + } + } + } + + for (i=0; i < f->page_crc_tests;) { + uint32 crc; + int j; + int n = f->scan[i].bytes_done; + int m = f->scan[i].bytes_left; + if (m > data_len - n) m = data_len - n; + // m is the bytes to scan in the current chunk + crc = f->scan[i].crc_so_far; + for (j=0; j < m; ++j) + crc = crc32_update(crc, data[n+j]); + f->scan[i].bytes_left -= m; + f->scan[i].crc_so_far = crc; + if (f->scan[i].bytes_left == 0) { + // does it match? + if (f->scan[i].crc_so_far == f->scan[i].goal_crc) { + // Houston, we have page + data_len = n+m; // consumption amount is wherever that scan ended + f->page_crc_tests = -1; // drop out of page scan mode + f->previous_length = 0; // decode-but-don't-output one frame + f->next_seg = -1; // start a new page + f->current_loc = f->scan[i].sample_loc; // set the current sample location + // to the amount we'd have decoded had we decoded this page + f->current_loc_valid = f->current_loc != ~0; + return data_len; + } + // delete entry + f->scan[i] = f->scan[--f->page_crc_tests]; + } else { + ++i; + } + } + + return data_len; +} + +// return value: number of bytes we used +int stb_vorbis_decode_frame_pushdata( + stb_vorbis *f, // the file we're decoding + uint8 *data, int data_len, // the memory available for decoding + int *channels, // place to write number of float * buffers + float ***output, // place to write float ** array of float * buffers + int *samples // place to write number of output samples + ) +{ + int i; + int len,right,left; + + if (!IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); + + if (f->page_crc_tests >= 0) { + *samples = 0; + return vorbis_search_for_page_pushdata(f, data, data_len); + } + + f->stream = data; + f->stream_end = data + data_len; + f->error = VORBIS__no_error; + + // check that we have the entire packet in memory + if (!is_whole_packet_present(f, FALSE)) { + *samples = 0; + return 0; + } + + if (!vorbis_decode_packet(f, &len, &left, &right)) { + // save the actual error we encountered + enum STBVorbisError error = f->error; + if (error == VORBIS_bad_packet_type) { + // flush and resynch + f->error = VORBIS__no_error; + while (get8_packet(f) != EOP) + if (f->eof) break; + *samples = 0; + return f->stream - data; + } + if (error == VORBIS_continued_packet_flag_invalid) { + if (f->previous_length == 0) { + // we may be resynching, in which case it's ok to hit one + // of these; just discard the packet + f->error = VORBIS__no_error; + while (get8_packet(f) != EOP) + if (f->eof) break; + *samples = 0; + return f->stream - data; + } + } + // if we get an error while parsing, what to do? + // well, it DEFINITELY won't work to continue from where we are! + stb_vorbis_flush_pushdata(f); + // restore the error that actually made us bail + f->error = error; + *samples = 0; + return 1; + } + + // success! + len = vorbis_finish_frame(f, len, left, right); + for (i=0; i < f->channels; ++i) + f->outputs[i] = f->channel_buffers[i] + left; + + if (channels) *channels = f->channels; + *samples = len; + *output = f->outputs; + return f->stream - data; +} + +stb_vorbis *stb_vorbis_open_pushdata( + unsigned char *data, int data_len, // the memory available for decoding + int *data_used, // only defined if result is not NULL + int *error, stb_vorbis_alloc *alloc) +{ + stb_vorbis *f, p; + vorbis_init(&p, alloc); + p.stream = data; + p.stream_end = data + data_len; + p.push_mode = TRUE; + if (!start_decoder(&p)) { + if (p.eof) + *error = VORBIS_need_more_data; + else + *error = p.error; + return NULL; + } + f = vorbis_alloc(&p); + if (f) { + *f = p; + *data_used = f->stream - data; + *error = 0; + return f; + } else { + vorbis_deinit(&p); + return NULL; + } +} +#endif // STB_VORBIS_NO_PUSHDATA_API + +unsigned int stb_vorbis_get_file_offset(stb_vorbis *f) +{ + #ifndef STB_VORBIS_NO_PUSHDATA_API + if (f->push_mode) return 0; + #endif + if (USE_MEMORY(f)) return f->stream - f->stream_start; + #ifndef STB_VORBIS_NO_STDIO + return ftell(f->f) - f->f_start; + #endif +} + +#ifndef STB_VORBIS_NO_PULLDATA_API +// +// DATA-PULLING API +// + +static uint32 vorbis_find_page(stb_vorbis *f, uint32 *end, uint32 *last) +{ + for(;;) { + int n; + if (f->eof) return 0; + n = get8(f); + if (n == 0x4f) { // page header + unsigned int retry_loc = stb_vorbis_get_file_offset(f); + int i; + // check if we're off the end of a file_section stream + if (retry_loc - 25 > f->stream_len) + return 0; + // check the rest of the header + for (i=1; i < 4; ++i) + if (get8(f) != ogg_page_header[i]) + break; + if (f->eof) return 0; + if (i == 4) { + uint8 header[27]; + uint32 i, crc, goal, len; + for (i=0; i < 4; ++i) + header[i] = ogg_page_header[i]; + for (; i < 27; ++i) + header[i] = get8(f); + if (f->eof) return 0; + if (header[4] != 0) goto invalid; + goal = header[22] + (header[23] << 8) + (header[24]<<16) + (header[25]<<24); + for (i=22; i < 26; ++i) + header[i] = 0; + crc = 0; + for (i=0; i < 27; ++i) + crc = crc32_update(crc, header[i]); + len = 0; + for (i=0; i < header[26]; ++i) { + int s = get8(f); + crc = crc32_update(crc, s); + len += s; + } + if (len && f->eof) return 0; + for (i=0; i < len; ++i) + crc = crc32_update(crc, get8(f)); + // finished parsing probable page + if (crc == goal) { + // we could now check that it's either got the last + // page flag set, OR it's followed by the capture + // pattern, but I guess TECHNICALLY you could have + // a file with garbage between each ogg page and recover + // from it automatically? So even though that paranoia + // might decrease the chance of an invalid decode by + // another 2^32, not worth it since it would hose those + // invalid-but-useful files? + if (end) + *end = stb_vorbis_get_file_offset(f); + if (last) + if (header[5] & 0x04) + *last = 1; + else + *last = 0; + set_file_offset(f, retry_loc-1); + return 1; + } + } + invalid: + // not a valid page, so rewind and look for next one + set_file_offset(f, retry_loc); + } + } +} + +// seek is implemented with 'interpolation search'--this is like +// binary search, but we use the data values to estimate the likely +// location of the data item (plus a bit of a bias so when the +// estimation is wrong we don't waste overly much time) + +#define SAMPLE_unknown 0xffffffff + + +// ogg vorbis, in its insane infinite wisdom, only provides +// information about the sample at the END of the page. +// therefore we COULD have the data we need in the current +// page, and not know it. we could just use the end location +// as our only knowledge for bounds, seek back, and eventually +// the binary search finds it. or we can try to be smart and +// not waste time trying to locate more pages. we try to be +// smart, since this data is already in memory anyway, so +// doing needless I/O would be crazy! +static int vorbis_analyze_page(stb_vorbis *f, ProbedPage *z) +{ + uint8 header[27], lacing[255]; + uint8 packet_type[255]; + int num_packet, packet_start, previous =0; + int i,len; + uint32 samples; + + // record where the page starts + z->page_start = stb_vorbis_get_file_offset(f); + + // parse the header + getn(f, header, 27); + assert(header[0] == 'O' && header[1] == 'g' && header[2] == 'g' && header[3] == 'S'); + getn(f, lacing, header[26]); + + // determine the length of the payload + len = 0; + for (i=0; i < header[26]; ++i) + len += lacing[i]; + + // this implies where the page ends + z->page_end = z->page_start + 27 + header[26] + len; + + // read the last-decoded sample out of the data + z->last_decoded_sample = header[6] + (header[7] << 8) + (header[8] << 16) + (header[9] << 16); + + if (header[5] & 4) { + // if this is the last page, it's not possible to work + // backwards to figure out the first sample! whoops! fuck. + z->first_decoded_sample = SAMPLE_unknown; + set_file_offset(f, z->page_start); + return 1; + } + + // scan through the frames to determine the sample-count of each one... + // our goal is the sample # of the first fully-decoded sample on the + // page, which is the first decoded sample of the 2nd page + + num_packet=0; + + packet_start = ((header[5] & 1) == 0); + + for (i=0; i < header[26]; ++i) { + if (packet_start) { + uint8 n,b,m; + if (lacing[i] == 0) goto bail; // trying to read from zero-length packet + n = get8(f); + // if bottom bit is non-zero, we've got corruption + if (n & 1) goto bail; + n >>= 1; + b = ilog(f->mode_count-1); + m = n >> b; + n &= (1 << b)-1; + if (n >= f->mode_count) goto bail; + if (num_packet == 0 && f->mode_config[n].blockflag) + previous = (m & 1); + packet_type[num_packet++] = f->mode_config[n].blockflag; + skip(f, lacing[i]-1); + } else + skip(f, lacing[i]); + packet_start = (lacing[i] < 255); + } + + // now that we know the sizes of all the pages, we can start determining + // how much sample data there is. + + samples = 0; + + // for the last packet, we step by its whole length, because the definition + // is that we encoded the end sample loc of the 'last packet completed', + // where 'completed' refers to packets being split, and we are left to guess + // what 'end sample loc' means. we assume it means ignoring the fact that + // the last half of the data is useless without windowing against the next + // packet... (so it's not REALLY complete in that sense) + if (num_packet > 1) + samples += f->blocksize[packet_type[num_packet-1]]; + + for (i=num_packet-2; i >= 1; --i) { + // now, for this packet, how many samples do we have that + // do not overlap the following packet? + if (packet_type[i] == 1) + if (packet_type[i+1] == 1) + samples += f->blocksize_1 >> 1; + else + samples += ((f->blocksize_1 - f->blocksize_0) >> 2) + (f->blocksize_0 >> 1); + else + samples += f->blocksize_0 >> 1; + } + // now, at this point, we've rewound to the very beginning of the + // _second_ packet. if we entirely discard the first packet after + // a seek, this will be exactly the right sample number. HOWEVER! + // we can't as easily compute this number for the LAST page. The + // only way to get the sample offset of the LAST page is to use + // the end loc from the previous page. But what that returns us + // is _exactly_ the place where we get our first non-overlapped + // sample. (I think. Stupid spec for being ambiguous.) So for + // consistency it's better to do that here, too. However, that + // will then require us to NOT discard all of the first frame we + // decode, in some cases, which means an even weirder frame size + // and extra code. what a fucking pain. + + // we're going to discard the first packet if we + // start the seek here, so we don't care about it. (we could actually + // do better; if the first packet is long, and the previous packet + // is short, there's actually data in the first half of the first + // packet that doesn't need discarding... but not worth paying the + // effort of tracking that of that here and in the seeking logic) + // except crap, if we infer it from the _previous_ packet's end + // location, we DO need to use that definition... and we HAVE to + // infer the start loc of the LAST packet from the previous packet's + // end location. fuck you, ogg vorbis. + + z->first_decoded_sample = z->last_decoded_sample - samples; + + // restore file state to where we were + set_file_offset(f, z->page_start); + return 1; + + // restore file state to where we were + bail: + set_file_offset(f, z->page_start); + return 0; +} + +static int vorbis_seek_frame_from_page(stb_vorbis *f, uint32 page_start, uint32 first_sample, uint32 target_sample, int fine) +{ + int left_start, left_end, right_start, right_end, mode,i; + int frame=0; + uint32 frame_start; + int frames_to_skip, data_to_skip; + + // first_sample is the sample # of the first sample that doesn't + // overlap the previous page... note that this requires us to + // _partially_ discard the first packet! bleh. + set_file_offset(f, page_start); + + f->next_seg = -1; // force page resync + + frame_start = first_sample; + // frame start is where the previous packet's last decoded sample + // was, which corresponds to left_end... EXCEPT if the previous + // packet was long and this packet is short? Probably a bug here. + + + // now, we can start decoding frames... we'll only FAKE decode them, + // until we find the frame that contains our sample; then we'll rewind, + // and try again + for (;;) { + int start; + + if (!vorbis_decode_initial(f, &left_start, &left_end, &right_start, &right_end, &mode)) + return error(f, VORBIS_seek_failed); + + if (frame == 0) + start = left_end; + else + start = left_start; + + // the window starts at left_start; the last valid sample we generate + // before the next frame's window start is right_start-1 + if (target_sample < frame_start + right_start-start) + break; + + flush_packet(f); + if (f->eof) + return error(f, VORBIS_seek_failed); + + frame_start += right_start - start; + + ++frame; + } + + // ok, at this point, the sample we want is contained in frame #'frame' + + // to decode frame #'frame' normally, we have to decode the + // previous frame first... but if it's the FIRST frame of the page + // we can't. if it's the first frame, it means it falls in the part + // of the first frame that doesn't overlap either of the other frames. + // so, if we have to handle that case for the first frame, we might + // as well handle it for all of them, so: + if (target_sample > frame_start + (left_end - left_start)) { + // so what we want to do is go ahead and just immediately decode + // this frame, but then make it so the next get_frame_float() uses + // this already-decoded data? or do we want to go ahead and rewind, + // and leave a flag saying to skip the first N data? let's do that + frames_to_skip = frame; // if this is frame #1, skip 1 frame (#0) + data_to_skip = left_end - left_start; + } else { + // otherwise, we want to skip frames 0, 1, 2, ... frame-2 + // (which means frame-2+1 total frames) then decode frame-1, + // then leave frame pending + frames_to_skip = frame - 1; + assert(frames_to_skip >= 0); + data_to_skip = -1; + } + + set_file_offset(f, page_start); + f->next_seg = - 1; // force page resync + + for (i=0; i < frames_to_skip; ++i) { + maybe_start_packet(f); + flush_packet(f); + } + + if (data_to_skip >= 0) { + int i,j,n = f->blocksize_0 >> 1; + f->discard_samples_deferred = data_to_skip; + for (i=0; i < f->channels; ++i) + for (j=0; j < n; ++j) + f->previous_window[i][j] = 0; + f->previous_length = n; + frame_start += data_to_skip; + } else { + f->previous_length = 0; + vorbis_pump_first_frame(f); + } + + // at this point, the NEXT decoded frame will generate the desired sample + if (fine) { + // so if we're doing sample accurate streaming, we want to go ahead and decode it! + if (target_sample != frame_start) { + int n; + stb_vorbis_get_frame_float(f, &n, NULL); + assert(target_sample > frame_start); + assert(f->channel_buffer_start + (int) (target_sample-frame_start) < f->channel_buffer_end); + f->channel_buffer_start += (target_sample - frame_start); + } + } + + return 0; +} + +static int vorbis_seek_base(stb_vorbis *f, unsigned int sample_number, int fine) +{ + ProbedPage p[2],q; + if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); + + // do we know the location of the last page? + if (f->p_last.page_start == 0) { + uint32 z = stb_vorbis_stream_length_in_samples(f); + if (z == 0) return error(f, VORBIS_cant_find_last_page); + } + + p[0] = f->p_first; + p[1] = f->p_last; + + if (sample_number >= f->p_last.last_decoded_sample) + sample_number = f->p_last.last_decoded_sample-1; + + if (sample_number < f->p_first.last_decoded_sample) { + vorbis_seek_frame_from_page(f, p[0].page_start, 0, sample_number, fine); + return 0; + } else { + int attempts=0; + while (p[0].page_end < p[1].page_start) { + uint32 probe; + uint32 start_offset, end_offset; + uint32 start_sample, end_sample; + + // copy these into local variables so we can tweak them + // if any are unknown + start_offset = p[0].page_end; + end_offset = p[1].after_previous_page_start; // an address known to seek to page p[1] + start_sample = p[0].last_decoded_sample; + end_sample = p[1].last_decoded_sample; + + // currently there is no such tweaking logic needed/possible? + if (start_sample == SAMPLE_unknown || end_sample == SAMPLE_unknown) + return error(f, VORBIS_seek_failed); + + // now we want to lerp between these for the target samples... + + // step 1: we need to bias towards the page start... + if (start_offset + 4000 < end_offset) + end_offset -= 4000; + + // now compute an interpolated search loc + probe = start_offset + (int) floor((float) (end_offset - start_offset) / (end_sample - start_sample) * (sample_number - start_sample)); + + // next we need to bias towards binary search... + // code is a little wonky to allow for full 32-bit unsigned values + if (attempts >= 4) { + uint32 probe2 = start_offset + ((end_offset - start_offset) >> 1); + if (attempts >= 8) + probe = probe2; + else if (probe < probe2) + probe = probe + ((probe2 - probe) >> 1); + else + probe = probe2 + ((probe - probe2) >> 1); + } + ++attempts; + + set_file_offset(f, probe); + if (!vorbis_find_page(f, NULL, NULL)) return error(f, VORBIS_seek_failed); + if (!vorbis_analyze_page(f, &q)) return error(f, VORBIS_seek_failed); + q.after_previous_page_start = probe; + + // it's possible we've just found the last page again + if (q.page_start == p[1].page_start) { + p[1] = q; + continue; + } + + if (sample_number < q.last_decoded_sample) + p[1] = q; + else + p[0] = q; + } + + if (p[0].last_decoded_sample <= sample_number && sample_number < p[1].last_decoded_sample) { + vorbis_seek_frame_from_page(f, p[1].page_start, p[0].last_decoded_sample, sample_number, fine); + return 0; + } + return error(f, VORBIS_seek_failed); + } +} + +int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number) +{ + return vorbis_seek_base(f, sample_number, FALSE); +} + +int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number) +{ + return vorbis_seek_base(f, sample_number, TRUE); +} + +void stb_vorbis_seek_start(stb_vorbis *f) +{ + if (IS_PUSH_MODE(f)) { error(f, VORBIS_invalid_api_mixing); return; } + set_file_offset(f, f->first_audio_page_offset); + f->previous_length = 0; + f->first_decode = TRUE; + f->next_seg = -1; + vorbis_pump_first_frame(f); +} + +unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f) +{ + unsigned int restore_offset, previous_safe; + unsigned int end, last_page_loc; + + if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); + if (!f->total_samples) { + int last; + uint32 lo,hi; + char header[6]; + + // first, store the current decode position so we can restore it + restore_offset = stb_vorbis_get_file_offset(f); + + // now we want to seek back 64K from the end (the last page must + // be at most a little less than 64K, but let's allow a little slop) + if (f->stream_len >= 65536 && f->stream_len-65536 >= f->first_audio_page_offset) + previous_safe = f->stream_len - 65536; + else + previous_safe = f->first_audio_page_offset; + + set_file_offset(f, previous_safe); + // previous_safe is now our candidate 'earliest known place that seeking + // to will lead to the final page' + + if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { + // if we can't find a page, we're hosed! + f->error = VORBIS_cant_find_last_page; + f->total_samples = 0xffffffff; + goto done; + } + + // check if there are more pages + last_page_loc = stb_vorbis_get_file_offset(f); + + // stop when the last_page flag is set, not when we reach eof; + // this allows us to stop short of a 'file_section' end without + // explicitly checking the length of the section + while (!last) { + set_file_offset(f, end); + if (!vorbis_find_page(f, &end, (int unsigned *)&last)) { + // the last page we found didn't have the 'last page' flag + // set. whoops! + break; + } + previous_safe = last_page_loc+1; + last_page_loc = stb_vorbis_get_file_offset(f); + } + + set_file_offset(f, last_page_loc); + + // parse the header + getn(f, (unsigned char *)header, 6); + // extract the absolute granule position + lo = get32(f); + hi = get32(f); + if (lo == 0xffffffff && hi == 0xffffffff) { + f->error = VORBIS_cant_find_last_page; + f->total_samples = SAMPLE_unknown; + goto done; + } + if (hi) + lo = 0xfffffffe; // saturate + f->total_samples = lo; + + f->p_last.page_start = last_page_loc; + f->p_last.page_end = end; + f->p_last.last_decoded_sample = lo; + f->p_last.first_decoded_sample = SAMPLE_unknown; + f->p_last.after_previous_page_start = previous_safe; + + done: + set_file_offset(f, restore_offset); + } + return f->total_samples == SAMPLE_unknown ? 0 : f->total_samples; +} + +float stb_vorbis_stream_length_in_seconds(stb_vorbis *f) +{ + return stb_vorbis_stream_length_in_samples(f) / (float) f->sample_rate; +} + + + +int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output) +{ + int len, right,left,i; + if (IS_PUSH_MODE(f)) return error(f, VORBIS_invalid_api_mixing); + + if (!vorbis_decode_packet(f, &len, &left, &right)) { + f->channel_buffer_start = f->channel_buffer_end = 0; + return 0; + } + + len = vorbis_finish_frame(f, len, left, right); + for (i=0; i < f->channels; ++i) + f->outputs[i] = f->channel_buffers[i] + left; + + f->channel_buffer_start = left; + f->channel_buffer_end = left+len; + + if (channels) *channels = f->channels; + if (output) *output = f->outputs; + return len; +} + +#ifndef STB_VORBIS_NO_STDIO + +stb_vorbis * stb_vorbis_open_file_section(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc, unsigned int length) +{ + stb_vorbis *f, p; + vorbis_init(&p, alloc); + p.f = file; + p.f_start = ftell(file); + p.stream_len = length; + p.close_on_free = close_on_free; + if (start_decoder(&p)) { + f = vorbis_alloc(&p); + if (f) { + *f = p; + vorbis_pump_first_frame(f); + return f; + } + } + if (error) *error = p.error; + vorbis_deinit(&p); + return NULL; +} + +stb_vorbis * stb_vorbis_open_file(FILE *file, int close_on_free, int *error, stb_vorbis_alloc *alloc) +{ + unsigned int len, start; + start = ftell(file); + fseek(file, 0, SEEK_END); + len = ftell(file) - start; + fseek(file, start, SEEK_SET); + return stb_vorbis_open_file_section(file, close_on_free, error, alloc, len); +} + +stb_vorbis * stb_vorbis_open_filename(char *filename, int *error, stb_vorbis_alloc *alloc) +{ + FILE *f = fopen(filename, "rb"); + if (f) + return stb_vorbis_open_file(f, TRUE, error, alloc); + if (error) *error = VORBIS_file_open_failure; + return NULL; +} +#endif // STB_VORBIS_NO_STDIO + +stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, int *error, stb_vorbis_alloc *alloc) +{ + stb_vorbis *f, p; + if (data == NULL) return NULL; + vorbis_init(&p, alloc); + p.stream = data; + p.stream_end = data + len; + p.stream_start = p.stream; + p.stream_len = len; + p.push_mode = FALSE; + if (start_decoder(&p)) { + f = vorbis_alloc(&p); + if (f) { + *f = p; + vorbis_pump_first_frame(f); + return f; + } + } + if (error) *error = p.error; + vorbis_deinit(&p); + return NULL; +} + +#ifndef STB_VORBIS_NO_INTEGER_CONVERSION +#define PLAYBACK_MONO 1 +#define PLAYBACK_LEFT 2 +#define PLAYBACK_RIGHT 4 + +#define L (PLAYBACK_LEFT | PLAYBACK_MONO) +#define C (PLAYBACK_LEFT | PLAYBACK_RIGHT | PLAYBACK_MONO) +#define R (PLAYBACK_RIGHT | PLAYBACK_MONO) + +static int8 channel_position[7][6] = +{ + { 0 }, + { C }, + { L, R }, + { L, C, R }, + { L, R, L, R }, + { L, C, R, L, R }, + { L, C, R, L, R, C }, +}; + + +#ifndef STB_VORBIS_NO_FAST_SCALED_FLOAT + typedef union { + float f; + int i; + } float_conv; + typedef char stb_vorbis_float_size_test[sizeof(float)==4 && sizeof(int) == 4]; + #define FASTDEF(x) float_conv x + // add (1<<23) to convert to int, then divide by 2^SHIFT, then add 0.5/2^SHIFT to round + #define MAGIC(SHIFT) (1.5f * (1 << (23-SHIFT)) + 0.5f/(1 << SHIFT)) + #define ADDEND(SHIFT) (((150-SHIFT) << 23) + (1 << 22)) + #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) (temp.f = (x) + MAGIC(s), temp.i - ADDEND(s)) + #define check_endianness() +#else + #define FAST_SCALED_FLOAT_TO_INT(temp,x,s) ((int) ((x) * (1 << (s)))) + #define check_endianness() + #define FASTDEF(x) +#endif + +static void copy_samples(short *dest, float *src, int len) +{ + int i; + check_endianness(); + for (i=0; i < len; ++i) { + FASTDEF(temp); + int v = FAST_SCALED_FLOAT_TO_INT(temp, src[i],15); + if ((unsigned int) (v + 32768) > 65535) + v = v < 0 ? -32768 : 32767; + dest[i] = v; + } +} + +static void compute_samples(int mask, short *output, int num_c, float **data, int d_offset, int len) +{ + #define BUFFER_SIZE 32 + float buffer[BUFFER_SIZE]; + int i,j,o,n = BUFFER_SIZE; + check_endianness(); + for (o = 0; o < len; o += BUFFER_SIZE) { + memset(buffer, 0, sizeof(buffer)); + if (o + n > len) n = len - o; + for (j=0; j < num_c; ++j) { + if (channel_position[num_c][j] & mask) { + for (i=0; i < n; ++i) + buffer[i] += data[j][d_offset+o+i]; + } + } + for (i=0; i < n; ++i) { + FASTDEF(temp); + int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); + if ((unsigned int) (v + 32768) > 65535) + v = v < 0 ? -32768 : 32767; + output[o+i] = v; + } + } +} + +static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; +static void compute_stereo_samples(short *output, int num_c, float **data, int d_offset, int len) +{ + #define BUFFER_SIZE 32 + float buffer[BUFFER_SIZE]; + int i,j,o,n = BUFFER_SIZE >> 1; + // o is the offset in the source data + check_endianness(); + for (o = 0; o < len; o += BUFFER_SIZE >> 1) { + // o2 is the offset in the output data + int o2 = o << 1; + memset(buffer, 0, sizeof(buffer)); + if (o + n > len) n = len - o; + for (j=0; j < num_c; ++j) { + int m = channel_position[num_c][j] & (PLAYBACK_LEFT | PLAYBACK_RIGHT); + if (m == (PLAYBACK_LEFT | PLAYBACK_RIGHT)) { + for (i=0; i < n; ++i) { + buffer[i*2+0] += data[j][d_offset+o+i]; + buffer[i*2+1] += data[j][d_offset+o+i]; + } + } else if (m == PLAYBACK_LEFT) { + for (i=0; i < n; ++i) { + buffer[i*2+0] += data[j][d_offset+o+i]; + } + } else if (m == PLAYBACK_RIGHT) { + for (i=0; i < n; ++i) { + buffer[i*2+1] += data[j][d_offset+o+i]; + } + } + } + for (i=0; i < (n<<1); ++i) { + FASTDEF(temp); + int v = FAST_SCALED_FLOAT_TO_INT(temp,buffer[i],15); + if ((unsigned int) (v + 32768) > 65535) + v = v < 0 ? -32768 : 32767; + output[o2+i] = v; + } + } +} + +static void convert_samples_short(int buf_c, short **buffer, int b_offset, int data_c, float **data, int d_offset, int samples) +{ + int i; + if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { + static int channel_selector[3][2] = { {0}, {PLAYBACK_MONO}, {PLAYBACK_LEFT, PLAYBACK_RIGHT} }; + for (i=0; i < buf_c; ++i) + compute_samples(channel_selector[buf_c][i], buffer[i]+b_offset, data_c, data, d_offset, samples); + } else { + int limit = buf_c < data_c ? buf_c : data_c; + for (i=0; i < limit; ++i) + copy_samples(buffer[i]+b_offset, data[i], samples); + for ( ; i < buf_c; ++i) + memset(buffer[i]+b_offset, 0, sizeof(short) * samples); + } +} + +int stb_vorbis_get_frame_short(stb_vorbis *f, int num_c, short **buffer, int num_samples) +{ + float **output; + int len = stb_vorbis_get_frame_float(f, NULL, &output); + if (len > num_samples) len = num_samples; + if (len) + convert_samples_short(num_c, buffer, 0, f->channels, output, 0, len); + return len; +} + +static void convert_channels_short_interleaved(int buf_c, short *buffer, int data_c, float **data, int d_offset, int len) +{ + int i; + check_endianness(); + if (buf_c != data_c && buf_c <= 2 && data_c <= 6) { + assert(buf_c == 2); + for (i=0; i < buf_c; ++i) + compute_stereo_samples(buffer, data_c, data, d_offset, len); + } else { + int limit = buf_c < data_c ? buf_c : data_c; + int j; + for (j=0; j < len; ++j) { + for (i=0; i < limit; ++i) { + FASTDEF(temp); + float f = data[i][d_offset+j]; + int v = FAST_SCALED_FLOAT_TO_INT(temp, f,15);//data[i][d_offset+j],15); + if ((unsigned int) (v + 32768) > 65535) + v = v < 0 ? -32768 : 32767; + *buffer++ = v; + } + for ( ; i < buf_c; ++i) + *buffer++ = 0; + } + } +} + +int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts) +{ + float **output; + int len; + if (num_c == 1) return stb_vorbis_get_frame_short(f,num_c,&buffer, num_shorts); + len = stb_vorbis_get_frame_float(f, NULL, &output); + if (len) { + if (len*num_c > num_shorts) len = num_shorts / num_c; + convert_channels_short_interleaved(num_c, buffer, f->channels, output, 0, len); + } + return len; +} + +int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts) +{ + float **outputs; + int len = num_shorts / channels; + int n=0; + int z = f->channels; + if (z > channels) z = channels; + while (n < len) { + int k = f->channel_buffer_end - f->channel_buffer_start; + if (n+k >= len) k = len - n; + if (k) + convert_channels_short_interleaved(channels, buffer, f->channels, f->channel_buffers, f->channel_buffer_start, k); + buffer += k*channels; + n += k; + f->channel_buffer_start += k; + if (n == len) break; + if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; + } + return n; +} + +int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int len) +{ + float **outputs; + int n=0; + int z = f->channels; + if (z > channels) z = channels; + while (n < len) { + int k = f->channel_buffer_end - f->channel_buffer_start; + if (n+k >= len) k = len - n; + if (k) + convert_samples_short(channels, buffer, n, f->channels, f->channel_buffers, f->channel_buffer_start, k); + n += k; + f->channel_buffer_start += k; + if (n == len) break; + if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; + } + return n; +} + +#ifndef STB_VORBIS_NO_STDIO +int stb_vorbis_decode_filename(char *filename, int *channels, short **output) +{ + int data_len, offset, total, limit, error; + short *data; + stb_vorbis *v = stb_vorbis_open_filename(filename, &error, NULL); + if (v == NULL) return -1; + limit = v->channels * 4096; + *channels = v->channels; + offset = data_len = 0; + total = limit; + data = (short *) malloc(total * sizeof(*data)); + if (data == NULL) { + stb_vorbis_close(v); + return -2; + } + for (;;) { + int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); + if (n == 0) break; + data_len += n; + offset += n * v->channels; + if (offset + limit > total) { + short *data2; + total *= 2; + data2 = (short *) realloc(data, total * sizeof(*data)); + if (data2 == NULL) { + free(data); + stb_vorbis_close(v); + return -2; + } + data = data2; + } + } + *output = data; + return data_len; +} +#endif // NO_STDIO + +int stb_vorbis_decode_memory(uint8 *mem, int len, int *channels, short **output) +{ + int data_len, offset, total, limit, error; + short *data; + stb_vorbis *v = stb_vorbis_open_memory(mem, len, &error, NULL); + if (v == NULL) return -1; + limit = v->channels * 4096; + *channels = v->channels; + offset = data_len = 0; + total = limit; + data = (short *) malloc(total * sizeof(*data)); + if (data == NULL) { + stb_vorbis_close(v); + return -2; + } + for (;;) { + int n = stb_vorbis_get_frame_short_interleaved(v, v->channels, data+offset, total-offset); + if (n == 0) break; + data_len += n; + offset += n * v->channels; + if (offset + limit > total) { + short *data2; + total *= 2; + data2 = (short *) realloc(data, total * sizeof(*data)); + if (data2 == NULL) { + free(data); + stb_vorbis_close(v); + return -2; + } + data = data2; + } + } + *output = data; + return data_len; +} +#endif + +int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats) +{ + float **outputs; + int len = num_floats / channels; + int n=0; + int z = f->channels; + if (z > channels) z = channels; + while (n < len) { + int i,j; + int k = f->channel_buffer_end - f->channel_buffer_start; + if (n+k >= len) k = len - n; + for (j=0; j < k; ++j) { + for (i=0; i < z; ++i) + *buffer++ = f->channel_buffers[i][f->channel_buffer_start+j]; + for ( ; i < channels; ++i) + *buffer++ = 0; + } + n += k; + f->channel_buffer_start += k; + if (n == len) break; + if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; + } + return n; +} + +int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples) +{ + float **outputs; + int n=0; + int z = f->channels; + if (z > channels) z = channels; + while (n < num_samples) { + int i; + int k = f->channel_buffer_end - f->channel_buffer_start; + if (n+k >= num_samples) k = num_samples - n; + if (k) { + for (i=0; i < z; ++i) + memcpy(buffer[i]+n, f->channel_buffers+f->channel_buffer_start, sizeof(float)*k); + for ( ; i < channels; ++i) + memset(buffer[i]+n, 0, sizeof(float) * k); + } + n += k; + f->channel_buffer_start += k; + if (n == num_samples) break; + if (!stb_vorbis_get_frame_float(f, NULL, &outputs)) break; + } + return n; +} +#endif // STB_VORBIS_NO_PULLDATA_API + +#endif // STB_VORBIS_HEADER_ONLY diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.h new file mode 100644 index 0000000..94fd6fe --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/libs/stb_vorbis.h @@ -0,0 +1,338 @@ +// +// stb_vorbis.h +// oggdecode +// +// Created by Michael Grierson on 04/04/2012. +// Copyright (c) 2012 goldsmiths college. All rights reserved. +// + + + +////////////////////////////////////////////////////////////////////////////// +// +// HEADER BEGINS HERE +// + +#ifndef STB_VORBIS_INCLUDE_STB_VORBIS_H +#define STB_VORBIS_INCLUDE_STB_VORBIS_H + +#if defined(STB_VORBIS_NO_CRT) && !defined(STB_VORBIS_NO_STDIO) +#define STB_VORBIS_NO_STDIO 1 +#endif + +#ifndef STB_VORBIS_NO_STDIO +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + /////////// THREAD SAFETY + + // Individual stb_vorbis* handles are not thread-safe; you cannot decode from + // them from multiple threads at the same time. However, you can have multiple + // stb_vorbis* handles and decode from them independently in multiple thrads. + + + /////////// MEMORY ALLOCATION + + // normally stb_vorbis uses malloc() to allocate memory at startup, + // and alloca() to allocate temporary memory during a frame on the + // stack. (Memory consumption will depend on the amount of setup + // data in the file and how you set the compile flags for speed + // vs. size. In my test files the maximal-size usage is ~150KB.) + // + // You can modify the wrapper functions in the source (setup_malloc, + // setup_temp_malloc, temp_malloc) to change this behavior, or you + // can use a simpler allocation model: you pass in a buffer from + // which stb_vorbis will allocate _all_ its memory (including the + // temp memory). "open" may fail with a VORBIS_outofmem if you + // do not pass in enough data; there is no way to determine how + // much you do need except to succeed (at which point you can + // query get_info to find the exact amount required. yes I know + // this is lame). + // + // If you pass in a non-NULL buffer of the type below, allocation + // will occur from it as described above. Otherwise just pass NULL + // to use malloc()/alloca() + + typedef struct + { + char *alloc_buffer; + int alloc_buffer_length_in_bytes; + } stb_vorbis_alloc; + + + /////////// FUNCTIONS USEABLE WITH ALL INPUT MODES + + typedef struct stb_vorbis stb_vorbis; + + typedef struct + { + unsigned int sample_rate; + int channels; + + unsigned int setup_memory_required; + unsigned int setup_temp_memory_required; + unsigned int temp_memory_required; + + int max_frame_size; + } stb_vorbis_info; + + // get general information about the file + extern stb_vorbis_info stb_vorbis_get_info(stb_vorbis *f); + + // get the last error detected (clears it, too) + extern int stb_vorbis_get_error(stb_vorbis *f); + + // close an ogg vorbis file and free all memory in use + extern void stb_vorbis_close(stb_vorbis *f); + + // this function returns the offset (in samples) from the beginning of the + // file that will be returned by the next decode, if it is known, or -1 + // otherwise. after a flush_pushdata() call, this may take a while before + // it becomes valid again. + // NOT WORKING YET after a seek with PULLDATA API + extern int stb_vorbis_get_sample_offset(stb_vorbis *f); + + // returns the current seek point within the file, or offset from the beginning + // of the memory buffer. In pushdata mode it returns 0. + extern unsigned int stb_vorbis_get_file_offset(stb_vorbis *f); + + /////////// PUSHDATA API + +#ifndef STB_VORBIS_NO_PUSHDATA_API + + // this API allows you to get blocks of data from any source and hand + // them to stb_vorbis. you have to buffer them; stb_vorbis will tell + // you how much it used, and you have to give it the rest next time; + // and stb_vorbis may not have enough data to work with and you will + // need to give it the same data again PLUS more. Note that the Vorbis + // specification does not bound the size of an individual frame. + + extern stb_vorbis *stb_vorbis_open_pushdata( + unsigned char *datablock, int datablock_length_in_bytes, + int *datablock_memory_consumed_in_bytes, + int *error, + stb_vorbis_alloc *alloc_buffer); + // create a vorbis decoder by passing in the initial data block containing + // the ogg&vorbis headers (you don't need to do parse them, just provide + // the first N bytes of the file--you're told if it's not enough, see below) + // on success, returns an stb_vorbis *, does not set error, returns the amount of + // data parsed/consumed on this call in *datablock_memory_consumed_in_bytes; + // on failure, returns NULL on error and sets *error, does not change *datablock_memory_consumed + // if returns NULL and *error is VORBIS_need_more_data, then the input block was + // incomplete and you need to pass in a larger block from the start of the file + + extern int stb_vorbis_decode_frame_pushdata( + stb_vorbis *f, unsigned char *datablock, int datablock_length_in_bytes, + int *channels, // place to write number of float * buffers + float ***output, // place to write float ** array of float * buffers + int *samples // place to write number of output samples + ); + // decode a frame of audio sample data if possible from the passed-in data block + // + // return value: number of bytes we used from datablock + // possible cases: + // 0 bytes used, 0 samples output (need more data) + // N bytes used, 0 samples output (resynching the stream, keep going) + // N bytes used, M samples output (one frame of data) + // note that after opening a file, you will ALWAYS get one N-bytes,0-sample + // frame, because Vorbis always "discards" the first frame. + // + // Note that on resynch, stb_vorbis will rarely consume all of the buffer, + // instead only datablock_length_in_bytes-3 or less. This is because it wants + // to avoid missing parts of a page header if they cross a datablock boundary, + // without writing state-machiney code to record a partial detection. + // + // The number of channels returned are stored in *channels (which can be + // NULL--it is always the same as the number of channels reported by + // get_info). *output will contain an array of float* buffers, one per + // channel. In other words, (*output)[0][0] contains the first sample from + // the first channel, and (*output)[1][0] contains the first sample from + // the second channel. + + extern void stb_vorbis_flush_pushdata(stb_vorbis *f); + // inform stb_vorbis that your next datablock will not be contiguous with + // previous ones (e.g. you've seeked in the data); future attempts to decode + // frames will cause stb_vorbis to resynchronize (as noted above), and + // once it sees a valid Ogg page (typically 4-8KB, as large as 64KB), it + // will begin decoding the _next_ frame. + // + // if you want to seek using pushdata, you need to seek in your file, then + // call stb_vorbis_flush_pushdata(), then start calling decoding, then once + // decoding is returning you data, call stb_vorbis_get_sample_offset, and + // if you don't like the result, seek your file again and repeat. +#endif + + + ////////// PULLING INPUT API + +#ifndef STB_VORBIS_NO_PULLDATA_API + // This API assumes stb_vorbis is allowed to pull data from a source-- + // either a block of memory containing the _entire_ vorbis stream, or a + // FILE * that you or it create, or possibly some other reading mechanism + // if you go modify the source to replace the FILE * case with some kind + // of callback to your code. (But if you don't support seeking, you may + // just want to go ahead and use pushdata.) + +#if !defined(STB_VORBIS_NO_STDIO) && !defined(STB_VORBIS_NO_INTEGER_CONVERSION) + extern int stb_vorbis_decode_filename(char *filename, int *channels, short **output); +#endif + extern int stb_vorbis_decode_memory(unsigned char *mem, int len, int *channels, short **output); + // decode an entire file and output the data interleaved into a malloc()ed + // buffer stored in *output. The return value is the number of samples + // decoded, or -1 if the file could not be opened or was not an ogg vorbis file. + // When you're done with it, just free() the pointer returned in *output. + + extern stb_vorbis * stb_vorbis_open_memory(unsigned char *data, int len, + int *error, stb_vorbis_alloc *alloc_buffer); + // create an ogg vorbis decoder from an ogg vorbis stream in memory (note + // this must be the entire stream!). on failure, returns NULL and sets *error + +#ifndef STB_VORBIS_NO_STDIO + extern stb_vorbis * stb_vorbis_open_filename(char *filename, + int *error, stb_vorbis_alloc *alloc_buffer); + // create an ogg vorbis decoder from a filename via fopen(). on failure, + // returns NULL and sets *error (possibly to VORBIS_file_open_failure). + + extern stb_vorbis * stb_vorbis_open_file(FILE *f, int close_handle_on_close, + int *error, stb_vorbis_alloc *alloc_buffer); + // create an ogg vorbis decoder from an open FILE *, looking for a stream at + // the _current_ seek point (ftell). on failure, returns NULL and sets *error. + // note that stb_vorbis must "own" this stream; if you seek it in between + // calls to stb_vorbis, it will become confused. Morever, if you attempt to + // perform stb_vorbis_seek_*() operations on this file, it will assume it + // owns the _entire_ rest of the file after the start point. Use the next + // function, stb_vorbis_open_file_section(), to limit it. + + extern stb_vorbis * stb_vorbis_open_file_section(FILE *f, int close_handle_on_close, + int *error, stb_vorbis_alloc *alloc_buffer, unsigned int len); + // create an ogg vorbis decoder from an open FILE *, looking for a stream at + // the _current_ seek point (ftell); the stream will be of length 'len' bytes. + // on failure, returns NULL and sets *error. note that stb_vorbis must "own" + // this stream; if you seek it in between calls to stb_vorbis, it will become + // confused. +#endif + + extern int stb_vorbis_seek_frame(stb_vorbis *f, unsigned int sample_number); + extern int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number); + // NOT WORKING YET + // these functions seek in the Vorbis file to (approximately) 'sample_number'. + // after calling seek_frame(), the next call to get_frame_*() will include + // the specified sample. after calling stb_vorbis_seek(), the next call to + // stb_vorbis_get_samples_* will start with the specified sample. If you + // do not need to seek to EXACTLY the target sample when using get_samples_*, + // you can also use seek_frame(). + + extern void stb_vorbis_seek_start(stb_vorbis *f); + // this function is equivalent to stb_vorbis_seek(f,0), but it + // actually works + + extern unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f); + extern float stb_vorbis_stream_length_in_seconds(stb_vorbis *f); + // these functions return the total length of the vorbis stream + + extern int stb_vorbis_get_frame_float(stb_vorbis *f, int *channels, float ***output); + // decode the next frame and return the number of samples. the number of + // channels returned are stored in *channels (which can be NULL--it is always + // the same as the number of channels reported by get_info). *output will + // contain an array of float* buffers, one per channel. These outputs will + // be overwritten on the next call to stb_vorbis_get_frame_*. + // + // You generally should not intermix calls to stb_vorbis_get_frame_*() + // and stb_vorbis_get_samples_*(), since the latter calls the former. + +#ifndef STB_VORBIS_NO_INTEGER_CONVERSION + extern int stb_vorbis_get_frame_short_interleaved(stb_vorbis *f, int num_c, short *buffer, int num_shorts); + extern int stb_vorbis_get_frame_short (stb_vorbis *f, int num_c, short **buffer, int num_samples); +#endif + // decode the next frame and return the number of samples per channel. the + // data is coerced to the number of channels you request according to the + // channel coercion rules (see below). You must pass in the size of your + // buffer(s) so that stb_vorbis will not overwrite the end of the buffer. + // The maximum buffer size needed can be gotten from get_info(); however, + // the Vorbis I specification implies an absolute maximum of 4096 samples + // per channel. Note that for interleaved data, you pass in the number of + // shorts (the size of your array), but the return value is the number of + // samples per channel, not the total number of samples. + + // Channel coercion rules: + // Let M be the number of channels requested, and N the number of channels present, + // and Cn be the nth channel; let stereo L be the sum of all L and center channels, + // and stereo R be the sum of all R and center channels (channel assignment from the + // vorbis spec). + // M N output + // 1 k sum(Ck) for all k + // 2 * stereo L, stereo R + // k l k > l, the first l channels, then 0s + // k l k <= l, the first k channels + // Note that this is not _good_ surround etc. mixing at all! It's just so + // you get something useful. + + extern int stb_vorbis_get_samples_float_interleaved(stb_vorbis *f, int channels, float *buffer, int num_floats); + extern int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, int num_samples); + // gets num_samples samples, not necessarily on a frame boundary--this requires + // buffering so you have to supply the buffers. DOES NOT APPLY THE COERCION RULES. + // Returns the number of samples stored per channel; it may be less than requested + // at the end of the file. If there are no more samples in the file, returns 0. + +#ifndef STB_VORBIS_NO_INTEGER_CONVERSION + extern int stb_vorbis_get_samples_short_interleaved(stb_vorbis *f, int channels, short *buffer, int num_shorts); + extern int stb_vorbis_get_samples_short(stb_vorbis *f, int channels, short **buffer, int num_samples); +#endif + // gets num_samples samples, not necessarily on a frame boundary--this requires + // buffering so you have to supply the buffers. Applies the coercion rules above + // to produce 'channels' channels. Returns the number of samples stored per channel; + // it may be less than requested at the end of the file. If there are no more + // samples in the file, returns 0. + +#endif + + //////// ERROR CODES + + enum STBVorbisError + { + VORBIS__no_error, + + VORBIS_need_more_data=1, // not a real error + + VORBIS_invalid_api_mixing, // can't mix API modes + VORBIS_outofmem, // not enough memory + VORBIS_feature_not_supported, // uses floor 0 + VORBIS_too_many_channels, // STB_VORBIS_MAX_CHANNELS is too small + VORBIS_file_open_failure, // fopen() failed + VORBIS_seek_without_length, // can't seek in unknown-length file + + VORBIS_unexpected_eof=10, // file is truncated? + VORBIS_seek_invalid, // seek past EOF + + // decoding errors (corrupt/invalid stream) -- you probably + // don't care about the exact details of these + + // vorbis errors: + VORBIS_invalid_setup=20, + VORBIS_invalid_stream, + + // ogg errors: + VORBIS_missing_capture_pattern=30, + VORBIS_invalid_stream_structure_version, + VORBIS_continued_packet_flag_invalid, + VORBIS_incorrect_stream_serial_number, + VORBIS_invalid_first_page, + VORBIS_bad_packet_type, + VORBIS_cant_find_last_page, + VORBIS_seek_failed, + }; + + +#ifdef __cplusplus +} +#endif + +#endif // STB_VORBIS_INCLUDE_STB_VORBIS_H +// +// HEADER ENDS HERE +// +////////////////////////////////////////////////////////////////////////////// diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/src/ofxMaxim.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/src/ofxMaxim.h new file mode 100644 index 0000000..e902f14 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/ofxMaxim/src/ofxMaxim.h @@ -0,0 +1,119 @@ +/* + * maximilian + * platform independent synthesis library using portaudio or rtaudio + * + * Created by Mick Grierson on 29/12/2009. + * Copyright 2009 Mick Grierson & Strangeloop Limited. All rights reserved. + * Thanks to the Goldsmiths Creative Computing Team. + * Special thanks to Arturo Castro for the PortAudio implementation. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef _OFMAXIM_H +#define _OFMAXIM_H + +#include "maximilian.h" +#include "maxiFFT.h" +#include "maxiGrains.h" +#include "maxiMFCC.h" +#include "maxiBark.h" + + +typedef maxiMix ofxMaxiMix; +typedef maxiOsc ofxMaxiOsc; +typedef maxiEnvelope ofxMaxiEnvelope; +typedef maxiDelayline ofxMaxiDelayline; +typedef maxiFilter ofxMaxiFilter; +typedef maxiSample ofxMaxiSample; +typedef maxiFFT ofxMaxiFFT; +typedef maxiIFFT ofxMaxiIFFT; +typedef maxiFFTOctaveAnalyzer ofxMaxiFFTOctaveAnalyzer; +typedef maxiSettings ofxMaxiSettings; +typedef maxiMFCC ofxMaxiMFCC; + + +//typedef maxiSignal vector; +// +//class maxiBase { +// virtual maxiSignal play() = {}; +//}; +// +//class ofMaxiSine : public maxiBase { +// maxiOsc osc; +// double freq; +// +// void update(double freq) { +// freq = freq; +// } +// void play() { +// osc.sine(freq); +// } +//} +// +// +//class maxiNoise : public maxiBase { +// maxiBase* update() { +// //do something? +// }; +// +// double play() { +// return rand() / (float)RAND_MAX; +// } +//}; +// +//class maxiAnotherUGen : public maxiBase { +// maxiBase* update(double param1, bool param2); +//}; +// +//class maxiYetAnotherUGen : public maxiBase { +// maxiBase* update(int something, float somethingElse); +//}; +// +//void maxiProcess(maxiSignal &signal, maxiBase *ugen) { +// double val = ugen->play(); +// for(int i=0; i < signal.size(); i++) { +// signal[i] = val; +// } +//} +// +//void maxiBlock(maxiSignal &signal, maxiBase *ugen) { +// for (int i=0; i < 64; i++) { +// maxiProcess(signal, ugen); +// } +//} +// +//typedef maxiUGens vector +// +//maxiNoise ugen1; +//maxiAnotherUGen ugen2; +//maxiUGens ugen1 = createUGens(maxiNoise, 2); +// +//maxiSignal sig(2); +//maxiProcess(sig, ugen1.update()); +//maxiProcess(sig, ugen2.update(8.2, false)); +// +//ugen.update(2,3)->play(); + + +#endif diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/openFrameworks-Info.plist b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/openFrameworks-Info.plist new file mode 100644 index 0000000..8d64d2b --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/openFrameworks-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + cc.openFrameworks.ofapp + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + CFBundleIconFile + ${ICON} + + diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/main.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/main.cpp new file mode 100644 index 0000000..8bce185 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/main.cpp @@ -0,0 +1,14 @@ +#include "ofMain.h" +#include "ofApp.h" + +//======================================================================== +int main( ){ + + ofSetupOpenGL(1024,768, OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new ofApp()); + +} diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.cpp b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.cpp new file mode 100644 index 0000000..3e7b517 --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.cpp @@ -0,0 +1,61 @@ +#include "ofApp.h" + +//-------------------------------------------------------------- +void ofApp::setup(){ + +} + +//-------------------------------------------------------------- +void ofApp::update(){ + +} + +//-------------------------------------------------------------- +void ofApp::draw(){ + +} + +//-------------------------------------------------------------- +void ofApp::keyPressed(int key){ + +} + +//-------------------------------------------------------------- +void ofApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseMoved(int x, int y){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseDragged(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mousePressed(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void ofApp::gotMessage(ofMessage msg){ + +} + +//-------------------------------------------------------------- +void ofApp::dragEvent(ofDragInfo dragInfo){ + +} \ No newline at end of file diff --git a/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.h b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.h new file mode 100644 index 0000000..6d640be --- /dev/null +++ b/ofxMaxim/openFrameworksExamples/OSX/emptyExample/src/ofApp.h @@ -0,0 +1,23 @@ +#pragma once + +#include "ofMain.h" +#include "ofxMaxim.h" + +class ofApp : public ofBaseApp{ + public: + void setup(); + void update(); + void draw(); + + void keyPressed(int key); + void keyReleased(int key); + void mouseMoved(int x, int y); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + void dragEvent(ofDragInfo dragInfo); + void gotMessage(ofMessage msg); + + ofxMaxiSample sample; +}; diff --git a/player.cpp b/player.cpp index 51ae4fb..4813dfc 100644 --- a/player.cpp +++ b/player.cpp @@ -27,8 +27,6 @@ void setup();//use this to do any initialisation if you want. void play(double *output);//run dac! Very very often. Too often in fact. er... - - #ifdef MAXIMILIAN_PORTAUDIO int routing(const void *inputBuffer, void *outputBuffer, -- cgit v1.3 From 0c154ee2ccda9dce065c666afaaaeadd449bef4c Mon Sep 17 00:00:00 2001 From: mick grierson Date: Thu, 1 Oct 2015 09:43:23 +0100 Subject: Making this branch current --- main.cpp | 76 ++++++++++++++++++--- .../UserInterfaceState.xcuserstate | Bin 63022 -> 64358 bytes 2 files changed, 68 insertions(+), 8 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index ea51186..fefc261 100755 --- a/main.cpp +++ b/main.cpp @@ -1,21 +1,81 @@ #include "maximilian.h" -maxiSample mySample; +//This shows how to use maximilian to build a polyphonic synth. + +//These are the synthesiser bits +maxiOsc VCO1[6],VCO2[6],LFO1[6],LFO2[6]; +maxiFilter VCF[6]; +maxiEnv ADSR[6]; + +//This is a bunch of control signals so that we can hear something + +maxiOsc timer;//this is the metronome +int currentCount,lastCount,voice=0;//these values are used to check if we have a new beat this sample + +//and these are some variables we can use to pass stuff around + +double VCO1out[6],VCO2out[6],LFO1out[6],LFO2out[6],VCFout[6],ADSRout[6],mix,pitch[6]; void setup() {//some inits - mySample.load("/Users/michaelgrierson/Documents/workspace/coursera2/full-stack-mooc-5/code/week2/music_machine_2015/public/bassline32bit.wav"); - cout << mySample.myBitsPerSample; - + for (int i=0;i<6;i++) { + + ADSR[i].setAttack(0); + ADSR[i].setDecay(200); + ADSR[i].setSustain(0.2); + ADSR[i].setRelease(2000); + + } } void play(double *output) { + mix=0;//we're adding up the samples each update and it makes sense to clear them each time first. - output[0]=mySample.play(2); + //so this first bit is just a basic metronome so we can hear what we're doing. + + currentCount=(int)timer.phasor(8);//this sets up a metronome that ticks 8 times a second + + if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound + + if (voice==6) { + voice=0; + } + + ADSR[voice].trigger=1;//trigger the envelope from the start + pitch[voice]=voice+1; + voice++; + + } + + //and this is where we build the synth + + for (int i=0; i<6; i++) { + + + ADSRout[i]=ADSR[i].adsr(1.,ADSR[i].trigger);//our ADSR env is passed a constant signal of 1 to generate the transient. + + LFO1out[i]=LFO1[i].sinebuf(0.2);//this lfo is a sinewave at 0.2 hz + + VCO1out[i]=VCO1[i].pulse(55*pitch[i],0.6);//here's VCO1. it's a pulse wave at 55 hz, with a pulse width of 0.6 + VCO2out[i]=VCO2[i].pulse((110*pitch[i])+LFO1out[i],0.2);//here's VCO2. it's a pulse wave at 110hz with LFO modulation on the frequency, and width of 0.2 + + + VCFout[i]=VCF[i].lores((VCO1out[i]+VCO2out[i])*0.5, 250+((pitch[i]+LFO1out[i])*1000), 10);//now we stick the VCO's into the VCF, using the ADSR as the filter cutoff + + mix+=VCFout[i]*ADSRout[i]/6;//finally we add the ADSR as an amplitude modulator + + + } + + output[0]=mix*0.5;//left channel + output[1]=mix*0.5;//right channel + + + // This just sends note-off messages. + for (int i=0; i<6; i++) { + ADSR[i].trigger=0; + } - output[1]=output[0]; - } - diff --git a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate index c3b8e23..86d07c4 100644 Binary files a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate and b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate differ -- cgit v1.3